import { createRequire } from "node:module";
var __create = Object.create;
var __getProtoOf = Object.getPrototypeOf;
var __defProp = Object.defineProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __hasOwnProp = Object.prototype.hasOwnProperty;
function __accessProp(key) {
return this[key];
}
var __toESMCache_node;
var __toESMCache_esm;
var __toESM = (mod2, isNodeMode, target) => {
var canCache = mod2 != null && typeof mod2 === "object";
if (canCache) {
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
var cached = cache.get(mod2);
if (cached)
return cached;
}
target = mod2 != null ? __create(__getProtoOf(mod2)) : {};
const to = isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target;
for (let key of __getOwnPropNames(mod2))
if (!__hasOwnProp.call(to, key))
__defProp(to, key, {
get: __accessProp.bind(mod2, key),
enumerable: true
});
if (canCache)
cache.set(mod2, to);
return to;
};
var __toCommonJS = (from) => {
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
if (entry)
return entry;
entry = __defProp({}, "__esModule", { value: true });
if (from && typeof from === "object" || typeof from === "function") {
for (var key of __getOwnPropNames(from))
if (!__hasOwnProp.call(entry, key))
__defProp(entry, key, {
get: __accessProp.bind(from, key),
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
__moduleCache.set(from, entry);
return entry;
};
var __moduleCache;
var __commonJS = (cb, mod2) => () => (mod2 || cb((mod2 = { exports: {} }).exports, mod2), mod2.exports);
var __returnValue = (v) => v;
function __exportSetter(name, newValue) {
this[name] = __returnValue.bind(null, newValue);
}
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, {
get: all[name],
enumerable: true,
configurable: true,
set: __exportSetter.bind(all, name)
});
};
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
var __require = /* @__PURE__ */ createRequire(import.meta.url);
var __dispose = Symbol.dispose || /* @__PURE__ */ Symbol.for("Symbol.dispose");
var __asyncDispose = Symbol.asyncDispose || /* @__PURE__ */ Symbol.for("Symbol.asyncDispose");
var __using = (stack, value, async) => {
if (value != null) {
if (typeof value !== "object" && typeof value !== "function")
throw TypeError('Object expected to be assigned to "using" declaration');
var dispose;
if (async)
dispose = value[__asyncDispose];
if (dispose === undefined)
dispose = value[__dispose];
if (typeof dispose !== "function")
throw TypeError("Object not disposable");
stack.push([async, dispose, value]);
} else if (async) {
stack.push([async]);
}
return value;
};
var __callDispose = (stack, error, hasError) => {
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
}, fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e), next = (it) => {
while (it = stack.pop()) {
try {
var result = it[1] && it[1].call(it[2]);
if (it[0])
return Promise.resolve(result).then(next, (e) => (fail(e), next()));
} catch (e) {
fail(e);
}
}
if (hasError)
throw error;
};
return next();
};
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheClear.js
function listCacheClear() {
this.__data__ = [];
this.size = 0;
}
var _listCacheClear_default;
var init__listCacheClear = __esm(() => {
_listCacheClear_default = listCacheClear;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/eq.js
function eq(value, other) {
return value === other || value !== value && other !== other;
}
var eq_default;
var init_eq = __esm(() => {
eq_default = eq;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_assocIndexOf.js
function assocIndexOf(array, key) {
var length = array.length;
while (length--) {
if (eq_default(array[length][0], key)) {
return length;
}
}
return -1;
}
var _assocIndexOf_default;
var init__assocIndexOf = __esm(() => {
init_eq();
_assocIndexOf_default = assocIndexOf;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheDelete.js
function listCacheDelete(key) {
var data = this.__data__, index = _assocIndexOf_default(data, key);
if (index < 0) {
return false;
}
var lastIndex = data.length - 1;
if (index == lastIndex) {
data.pop();
} else {
splice.call(data, index, 1);
}
--this.size;
return true;
}
var arrayProto, splice, _listCacheDelete_default;
var init__listCacheDelete = __esm(() => {
init__assocIndexOf();
arrayProto = Array.prototype;
splice = arrayProto.splice;
_listCacheDelete_default = listCacheDelete;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheGet.js
function listCacheGet(key) {
var data = this.__data__, index = _assocIndexOf_default(data, key);
return index < 0 ? undefined : data[index][1];
}
var _listCacheGet_default;
var init__listCacheGet = __esm(() => {
init__assocIndexOf();
_listCacheGet_default = listCacheGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheHas.js
function listCacheHas(key) {
return _assocIndexOf_default(this.__data__, key) > -1;
}
var _listCacheHas_default;
var init__listCacheHas = __esm(() => {
init__assocIndexOf();
_listCacheHas_default = listCacheHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheSet.js
function listCacheSet(key, value) {
var data = this.__data__, index = _assocIndexOf_default(data, key);
if (index < 0) {
++this.size;
data.push([key, value]);
} else {
data[index][1] = value;
}
return this;
}
var _listCacheSet_default;
var init__listCacheSet = __esm(() => {
init__assocIndexOf();
_listCacheSet_default = listCacheSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_ListCache.js
function ListCache(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
var _ListCache_default;
var init__ListCache = __esm(() => {
init__listCacheClear();
init__listCacheDelete();
init__listCacheGet();
init__listCacheHas();
init__listCacheSet();
ListCache.prototype.clear = _listCacheClear_default;
ListCache.prototype["delete"] = _listCacheDelete_default;
ListCache.prototype.get = _listCacheGet_default;
ListCache.prototype.has = _listCacheHas_default;
ListCache.prototype.set = _listCacheSet_default;
_ListCache_default = ListCache;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackClear.js
function stackClear() {
this.__data__ = new _ListCache_default;
this.size = 0;
}
var _stackClear_default;
var init__stackClear = __esm(() => {
init__ListCache();
_stackClear_default = stackClear;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackDelete.js
function stackDelete(key) {
var data = this.__data__, result = data["delete"](key);
this.size = data.size;
return result;
}
var _stackDelete_default;
var init__stackDelete = __esm(() => {
_stackDelete_default = stackDelete;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackGet.js
function stackGet(key) {
return this.__data__.get(key);
}
var _stackGet_default;
var init__stackGet = __esm(() => {
_stackGet_default = stackGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackHas.js
function stackHas(key) {
return this.__data__.has(key);
}
var _stackHas_default;
var init__stackHas = __esm(() => {
_stackHas_default = stackHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_freeGlobal.js
var freeGlobal, _freeGlobal_default;
var init__freeGlobal = __esm(() => {
freeGlobal = typeof global == "object" && global && global.Object === Object && global;
_freeGlobal_default = freeGlobal;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_root.js
var freeSelf, root, _root_default;
var init__root = __esm(() => {
init__freeGlobal();
freeSelf = typeof self == "object" && self && self.Object === Object && self;
root = _freeGlobal_default || freeSelf || Function("return this")();
_root_default = root;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Symbol.js
var Symbol2, _Symbol_default;
var init__Symbol = __esm(() => {
init__root();
Symbol2 = _root_default.Symbol;
_Symbol_default = Symbol2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getRawTag.js
function getRawTag(value) {
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
try {
value[symToStringTag] = undefined;
var unmasked = true;
} catch (e) {}
var result = nativeObjectToString.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag] = tag;
} else {
delete value[symToStringTag];
}
}
return result;
}
var objectProto, hasOwnProperty, nativeObjectToString, symToStringTag, _getRawTag_default;
var init__getRawTag = __esm(() => {
init__Symbol();
objectProto = Object.prototype;
hasOwnProperty = objectProto.hasOwnProperty;
nativeObjectToString = objectProto.toString;
symToStringTag = _Symbol_default ? _Symbol_default.toStringTag : undefined;
_getRawTag_default = getRawTag;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_objectToString.js
function objectToString(value) {
return nativeObjectToString2.call(value);
}
var objectProto2, nativeObjectToString2, _objectToString_default;
var init__objectToString = __esm(() => {
objectProto2 = Object.prototype;
nativeObjectToString2 = objectProto2.toString;
_objectToString_default = objectToString;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseGetTag.js
function baseGetTag(value) {
if (value == null) {
return value === undefined ? undefinedTag : nullTag;
}
return symToStringTag2 && symToStringTag2 in Object(value) ? _getRawTag_default(value) : _objectToString_default(value);
}
var nullTag = "[object Null]", undefinedTag = "[object Undefined]", symToStringTag2, _baseGetTag_default;
var init__baseGetTag = __esm(() => {
init__Symbol();
init__getRawTag();
init__objectToString();
symToStringTag2 = _Symbol_default ? _Symbol_default.toStringTag : undefined;
_baseGetTag_default = baseGetTag;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isObject.js
function isObject(value) {
var type = typeof value;
return value != null && (type == "object" || type == "function");
}
var isObject_default;
var init_isObject = __esm(() => {
isObject_default = isObject;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isFunction.js
function isFunction(value) {
if (!isObject_default(value)) {
return false;
}
var tag = _baseGetTag_default(value);
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}
var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]", isFunction_default;
var init_isFunction = __esm(() => {
init__baseGetTag();
init_isObject();
isFunction_default = isFunction;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_coreJsData.js
var coreJsData, _coreJsData_default;
var init__coreJsData = __esm(() => {
init__root();
coreJsData = _root_default["__core-js_shared__"];
_coreJsData_default = coreJsData;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isMasked.js
function isMasked(func) {
return !!maskSrcKey && maskSrcKey in func;
}
var maskSrcKey, _isMasked_default;
var init__isMasked = __esm(() => {
init__coreJsData();
maskSrcKey = function() {
var uid = /[^.]+$/.exec(_coreJsData_default && _coreJsData_default.keys && _coreJsData_default.keys.IE_PROTO || "");
return uid ? "Symbol(src)_1." + uid : "";
}();
_isMasked_default = isMasked;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_toSource.js
function toSource(func) {
if (func != null) {
try {
return funcToString.call(func);
} catch (e) {}
try {
return func + "";
} catch (e) {}
}
return "";
}
var funcProto, funcToString, _toSource_default;
var init__toSource = __esm(() => {
funcProto = Function.prototype;
funcToString = funcProto.toString;
_toSource_default = toSource;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsNative.js
function baseIsNative(value) {
if (!isObject_default(value) || _isMasked_default(value)) {
return false;
}
var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor;
return pattern.test(_toSource_default(value));
}
var reRegExpChar, reIsHostCtor, funcProto2, objectProto3, funcToString2, hasOwnProperty2, reIsNative, _baseIsNative_default;
var init__baseIsNative = __esm(() => {
init_isFunction();
init__isMasked();
init_isObject();
init__toSource();
reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
reIsHostCtor = /^\[object .+?Constructor\]$/;
funcProto2 = Function.prototype;
objectProto3 = Object.prototype;
funcToString2 = funcProto2.toString;
hasOwnProperty2 = objectProto3.hasOwnProperty;
reIsNative = RegExp("^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
_baseIsNative_default = baseIsNative;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getValue.js
function getValue(object, key) {
return object == null ? undefined : object[key];
}
var _getValue_default;
var init__getValue = __esm(() => {
_getValue_default = getValue;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getNative.js
function getNative(object, key) {
var value = _getValue_default(object, key);
return _baseIsNative_default(value) ? value : undefined;
}
var _getNative_default;
var init__getNative = __esm(() => {
init__baseIsNative();
init__getValue();
_getNative_default = getNative;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Map.js
var Map2, _Map_default;
var init__Map = __esm(() => {
init__getNative();
init__root();
Map2 = _getNative_default(_root_default, "Map");
_Map_default = Map2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_nativeCreate.js
var nativeCreate, _nativeCreate_default;
var init__nativeCreate = __esm(() => {
init__getNative();
nativeCreate = _getNative_default(Object, "create");
_nativeCreate_default = nativeCreate;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashClear.js
function hashClear() {
this.__data__ = _nativeCreate_default ? _nativeCreate_default(null) : {};
this.size = 0;
}
var _hashClear_default;
var init__hashClear = __esm(() => {
init__nativeCreate();
_hashClear_default = hashClear;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashDelete.js
function hashDelete(key) {
var result = this.has(key) && delete this.__data__[key];
this.size -= result ? 1 : 0;
return result;
}
var _hashDelete_default;
var init__hashDelete = __esm(() => {
_hashDelete_default = hashDelete;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashGet.js
function hashGet(key) {
var data = this.__data__;
if (_nativeCreate_default) {
var result = data[key];
return result === HASH_UNDEFINED ? undefined : result;
}
return hasOwnProperty3.call(data, key) ? data[key] : undefined;
}
var HASH_UNDEFINED = "__lodash_hash_undefined__", objectProto4, hasOwnProperty3, _hashGet_default;
var init__hashGet = __esm(() => {
init__nativeCreate();
objectProto4 = Object.prototype;
hasOwnProperty3 = objectProto4.hasOwnProperty;
_hashGet_default = hashGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashHas.js
function hashHas(key) {
var data = this.__data__;
return _nativeCreate_default ? data[key] !== undefined : hasOwnProperty4.call(data, key);
}
var objectProto5, hasOwnProperty4, _hashHas_default;
var init__hashHas = __esm(() => {
init__nativeCreate();
objectProto5 = Object.prototype;
hasOwnProperty4 = objectProto5.hasOwnProperty;
_hashHas_default = hashHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashSet.js
function hashSet(key, value) {
var data = this.__data__;
this.size += this.has(key) ? 0 : 1;
data[key] = _nativeCreate_default && value === undefined ? HASH_UNDEFINED2 : value;
return this;
}
var HASH_UNDEFINED2 = "__lodash_hash_undefined__", _hashSet_default;
var init__hashSet = __esm(() => {
init__nativeCreate();
_hashSet_default = hashSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Hash.js
function Hash(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
var _Hash_default;
var init__Hash = __esm(() => {
init__hashClear();
init__hashDelete();
init__hashGet();
init__hashHas();
init__hashSet();
Hash.prototype.clear = _hashClear_default;
Hash.prototype["delete"] = _hashDelete_default;
Hash.prototype.get = _hashGet_default;
Hash.prototype.has = _hashHas_default;
Hash.prototype.set = _hashSet_default;
_Hash_default = Hash;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheClear.js
function mapCacheClear() {
this.size = 0;
this.__data__ = {
hash: new _Hash_default,
map: new (_Map_default || _ListCache_default),
string: new _Hash_default
};
}
var _mapCacheClear_default;
var init__mapCacheClear = __esm(() => {
init__Hash();
init__ListCache();
init__Map();
_mapCacheClear_default = mapCacheClear;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isKeyable.js
function isKeyable(value) {
var type = typeof value;
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
}
var _isKeyable_default;
var init__isKeyable = __esm(() => {
_isKeyable_default = isKeyable;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getMapData.js
function getMapData(map, key) {
var data = map.__data__;
return _isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
}
var _getMapData_default;
var init__getMapData = __esm(() => {
init__isKeyable();
_getMapData_default = getMapData;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheDelete.js
function mapCacheDelete(key) {
var result = _getMapData_default(this, key)["delete"](key);
this.size -= result ? 1 : 0;
return result;
}
var _mapCacheDelete_default;
var init__mapCacheDelete = __esm(() => {
init__getMapData();
_mapCacheDelete_default = mapCacheDelete;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheGet.js
function mapCacheGet(key) {
return _getMapData_default(this, key).get(key);
}
var _mapCacheGet_default;
var init__mapCacheGet = __esm(() => {
init__getMapData();
_mapCacheGet_default = mapCacheGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheHas.js
function mapCacheHas(key) {
return _getMapData_default(this, key).has(key);
}
var _mapCacheHas_default;
var init__mapCacheHas = __esm(() => {
init__getMapData();
_mapCacheHas_default = mapCacheHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheSet.js
function mapCacheSet(key, value) {
var data = _getMapData_default(this, key), size = data.size;
data.set(key, value);
this.size += data.size == size ? 0 : 1;
return this;
}
var _mapCacheSet_default;
var init__mapCacheSet = __esm(() => {
init__getMapData();
_mapCacheSet_default = mapCacheSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_MapCache.js
function MapCache(entries) {
var index = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index < length) {
var entry = entries[index];
this.set(entry[0], entry[1]);
}
}
var _MapCache_default;
var init__MapCache = __esm(() => {
init__mapCacheClear();
init__mapCacheDelete();
init__mapCacheGet();
init__mapCacheHas();
init__mapCacheSet();
MapCache.prototype.clear = _mapCacheClear_default;
MapCache.prototype["delete"] = _mapCacheDelete_default;
MapCache.prototype.get = _mapCacheGet_default;
MapCache.prototype.has = _mapCacheHas_default;
MapCache.prototype.set = _mapCacheSet_default;
_MapCache_default = MapCache;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackSet.js
function stackSet(key, value) {
var data = this.__data__;
if (data instanceof _ListCache_default) {
var pairs = data.__data__;
if (!_Map_default || pairs.length < LARGE_ARRAY_SIZE - 1) {
pairs.push([key, value]);
this.size = ++data.size;
return this;
}
data = this.__data__ = new _MapCache_default(pairs);
}
data.set(key, value);
this.size = data.size;
return this;
}
var LARGE_ARRAY_SIZE = 200, _stackSet_default;
var init__stackSet = __esm(() => {
init__ListCache();
init__Map();
init__MapCache();
_stackSet_default = stackSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Stack.js
function Stack(entries) {
var data = this.__data__ = new _ListCache_default(entries);
this.size = data.size;
}
var _Stack_default;
var init__Stack = __esm(() => {
init__ListCache();
init__stackClear();
init__stackDelete();
init__stackGet();
init__stackHas();
init__stackSet();
Stack.prototype.clear = _stackClear_default;
Stack.prototype["delete"] = _stackDelete_default;
Stack.prototype.get = _stackGet_default;
Stack.prototype.has = _stackHas_default;
Stack.prototype.set = _stackSet_default;
_Stack_default = Stack;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setCacheAdd.js
function setCacheAdd(value) {
this.__data__.set(value, HASH_UNDEFINED3);
return this;
}
var HASH_UNDEFINED3 = "__lodash_hash_undefined__", _setCacheAdd_default;
var init__setCacheAdd = __esm(() => {
_setCacheAdd_default = setCacheAdd;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setCacheHas.js
function setCacheHas(value) {
return this.__data__.has(value);
}
var _setCacheHas_default;
var init__setCacheHas = __esm(() => {
_setCacheHas_default = setCacheHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_SetCache.js
function SetCache(values) {
var index = -1, length = values == null ? 0 : values.length;
this.__data__ = new _MapCache_default;
while (++index < length) {
this.add(values[index]);
}
}
var _SetCache_default;
var init__SetCache = __esm(() => {
init__MapCache();
init__setCacheAdd();
init__setCacheHas();
SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd_default;
SetCache.prototype.has = _setCacheHas_default;
_SetCache_default = SetCache;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arraySome.js
function arraySome(array, predicate) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (predicate(array[index], index, array)) {
return true;
}
}
return false;
}
var _arraySome_default;
var init__arraySome = __esm(() => {
_arraySome_default = arraySome;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cacheHas.js
function cacheHas(cache, key) {
return cache.has(key);
}
var _cacheHas_default;
var init__cacheHas = __esm(() => {
_cacheHas_default = cacheHas;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalArrays.js
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
return false;
}
var arrStacked = stack.get(array);
var othStacked = stack.get(other);
if (arrStacked && othStacked) {
return arrStacked == other && othStacked == array;
}
var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache_default : undefined;
stack.set(array, other);
stack.set(other, array);
while (++index < arrLength) {
var arrValue = array[index], othValue = other[index];
if (customizer) {
var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
}
if (compared !== undefined) {
if (compared) {
continue;
}
result = false;
break;
}
if (seen) {
if (!_arraySome_default(other, function(othValue2, othIndex) {
if (!_cacheHas_default(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
return seen.push(othIndex);
}
})) {
result = false;
break;
}
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
result = false;
break;
}
}
stack["delete"](array);
stack["delete"](other);
return result;
}
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2, _equalArrays_default;
var init__equalArrays = __esm(() => {
init__SetCache();
init__arraySome();
init__cacheHas();
_equalArrays_default = equalArrays;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Uint8Array.js
var Uint8Array2, _Uint8Array_default;
var init__Uint8Array = __esm(() => {
init__root();
Uint8Array2 = _root_default.Uint8Array;
_Uint8Array_default = Uint8Array2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapToArray.js
function mapToArray(map) {
var index = -1, result = Array(map.size);
map.forEach(function(value, key) {
result[++index] = [key, value];
});
return result;
}
var _mapToArray_default;
var init__mapToArray = __esm(() => {
_mapToArray_default = mapToArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setToArray.js
function setToArray(set) {
var index = -1, result = Array(set.size);
set.forEach(function(value) {
result[++index] = value;
});
return result;
}
var _setToArray_default;
var init__setToArray = __esm(() => {
_setToArray_default = setToArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalByTag.js
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
switch (tag) {
case dataViewTag:
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
return false;
}
object = object.buffer;
other = other.buffer;
case arrayBufferTag:
if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array_default(object), new _Uint8Array_default(other))) {
return false;
}
return true;
case boolTag:
case dateTag:
case numberTag:
return eq_default(+object, +other);
case errorTag:
return object.name == other.name && object.message == other.message;
case regexpTag:
case stringTag:
return object == other + "";
case mapTag:
var convert = _mapToArray_default;
case setTag:
var isPartial = bitmask & COMPARE_PARTIAL_FLAG2;
convert || (convert = _setToArray_default);
if (object.size != other.size && !isPartial) {
return false;
}
var stacked = stack.get(object);
if (stacked) {
return stacked == other;
}
bitmask |= COMPARE_UNORDERED_FLAG2;
stack.set(object, other);
var result = _equalArrays_default(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
stack["delete"](object);
return result;
case symbolTag:
if (symbolValueOf) {
return symbolValueOf.call(object) == symbolValueOf.call(other);
}
}
return false;
}
var COMPARE_PARTIAL_FLAG2 = 1, COMPARE_UNORDERED_FLAG2 = 2, boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", symbolProto, symbolValueOf, _equalByTag_default;
var init__equalByTag = __esm(() => {
init__Symbol();
init__Uint8Array();
init_eq();
init__equalArrays();
init__mapToArray();
init__setToArray();
symbolProto = _Symbol_default ? _Symbol_default.prototype : undefined;
symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
_equalByTag_default = equalByTag;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayPush.js
function arrayPush(array, values) {
var index = -1, length = values.length, offset = array.length;
while (++index < length) {
array[offset + index] = values[index];
}
return array;
}
var _arrayPush_default;
var init__arrayPush = __esm(() => {
_arrayPush_default = arrayPush;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isArray.js
var isArray, isArray_default;
var init_isArray = __esm(() => {
isArray = Array.isArray;
isArray_default = isArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseGetAllKeys.js
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
var result = keysFunc(object);
return isArray_default(object) ? result : _arrayPush_default(result, symbolsFunc(object));
}
var _baseGetAllKeys_default;
var init__baseGetAllKeys = __esm(() => {
init__arrayPush();
init_isArray();
_baseGetAllKeys_default = baseGetAllKeys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayFilter.js
function arrayFilter(array, predicate) {
var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
while (++index < length) {
var value = array[index];
if (predicate(value, index, array)) {
result[resIndex++] = value;
}
}
return result;
}
var _arrayFilter_default;
var init__arrayFilter = __esm(() => {
_arrayFilter_default = arrayFilter;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/stubArray.js
function stubArray() {
return [];
}
var stubArray_default;
var init_stubArray = __esm(() => {
stubArray_default = stubArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getSymbols.js
var objectProto6, propertyIsEnumerable, nativeGetSymbols, getSymbols, _getSymbols_default;
var init__getSymbols = __esm(() => {
init__arrayFilter();
init_stubArray();
objectProto6 = Object.prototype;
propertyIsEnumerable = objectProto6.propertyIsEnumerable;
nativeGetSymbols = Object.getOwnPropertySymbols;
getSymbols = !nativeGetSymbols ? stubArray_default : function(object) {
if (object == null) {
return [];
}
object = Object(object);
return _arrayFilter_default(nativeGetSymbols(object), function(symbol) {
return propertyIsEnumerable.call(object, symbol);
});
};
_getSymbols_default = getSymbols;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseTimes.js
function baseTimes(n, iteratee) {
var index = -1, result = Array(n);
while (++index < n) {
result[index] = iteratee(index);
}
return result;
}
var _baseTimes_default;
var init__baseTimes = __esm(() => {
_baseTimes_default = baseTimes;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isObjectLike.js
function isObjectLike(value) {
return value != null && typeof value == "object";
}
var isObjectLike_default;
var init_isObjectLike = __esm(() => {
isObjectLike_default = isObjectLike;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsArguments.js
function baseIsArguments(value) {
return isObjectLike_default(value) && _baseGetTag_default(value) == argsTag;
}
var argsTag = "[object Arguments]", _baseIsArguments_default;
var init__baseIsArguments = __esm(() => {
init__baseGetTag();
init_isObjectLike();
_baseIsArguments_default = baseIsArguments;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isArguments.js
var objectProto7, hasOwnProperty5, propertyIsEnumerable2, isArguments, isArguments_default;
var init_isArguments = __esm(() => {
init__baseIsArguments();
init_isObjectLike();
objectProto7 = Object.prototype;
hasOwnProperty5 = objectProto7.hasOwnProperty;
propertyIsEnumerable2 = objectProto7.propertyIsEnumerable;
isArguments = _baseIsArguments_default(function() {
return arguments;
}()) ? _baseIsArguments_default : function(value) {
return isObjectLike_default(value) && hasOwnProperty5.call(value, "callee") && !propertyIsEnumerable2.call(value, "callee");
};
isArguments_default = isArguments;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/stubFalse.js
function stubFalse() {
return false;
}
var stubFalse_default;
var init_stubFalse = __esm(() => {
stubFalse_default = stubFalse;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isBuffer.js
var exports_isBuffer = {};
__export(exports_isBuffer, {
default: () => isBuffer_default
});
var freeExports, freeModule, moduleExports, Buffer2, nativeIsBuffer, isBuffer, isBuffer_default;
var init_isBuffer = __esm(() => {
init__root();
init_stubFalse();
freeExports = typeof exports_isBuffer == "object" && exports_isBuffer && !exports_isBuffer.nodeType && exports_isBuffer;
freeModule = freeExports && typeof module_isBuffer == "object" && module_isBuffer && !module_isBuffer.nodeType && module_isBuffer;
moduleExports = freeModule && freeModule.exports === freeExports;
Buffer2 = moduleExports ? _root_default.Buffer : undefined;
nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined;
isBuffer = nativeIsBuffer || stubFalse_default;
isBuffer_default = isBuffer;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isIndex.js
function isIndex(value, length) {
var type = typeof value;
length = length == null ? MAX_SAFE_INTEGER : length;
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
}
var MAX_SAFE_INTEGER = 9007199254740991, reIsUint, _isIndex_default;
var init__isIndex = __esm(() => {
reIsUint = /^(?:0|[1-9]\d*)$/;
_isIndex_default = isIndex;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isLength.js
function isLength(value) {
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
}
var MAX_SAFE_INTEGER2 = 9007199254740991, isLength_default;
var init_isLength = __esm(() => {
isLength_default = isLength;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsTypedArray.js
function baseIsTypedArray(value) {
return isObjectLike_default(value) && isLength_default(value.length) && !!typedArrayTags[_baseGetTag_default(value)];
}
var argsTag2 = "[object Arguments]", arrayTag = "[object Array]", boolTag2 = "[object Boolean]", dateTag2 = "[object Date]", errorTag2 = "[object Error]", funcTag2 = "[object Function]", mapTag2 = "[object Map]", numberTag2 = "[object Number]", objectTag = "[object Object]", regexpTag2 = "[object RegExp]", setTag2 = "[object Set]", stringTag2 = "[object String]", weakMapTag = "[object WeakMap]", arrayBufferTag2 = "[object ArrayBuffer]", dataViewTag2 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]", typedArrayTags, _baseIsTypedArray_default;
var init__baseIsTypedArray = __esm(() => {
init__baseGetTag();
init_isLength();
init_isObjectLike();
typedArrayTags = {};
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
typedArrayTags[argsTag2] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag2] = typedArrayTags[boolTag2] = typedArrayTags[dataViewTag2] = typedArrayTags[dateTag2] = typedArrayTags[errorTag2] = typedArrayTags[funcTag2] = typedArrayTags[mapTag2] = typedArrayTags[numberTag2] = typedArrayTags[objectTag] = typedArrayTags[regexpTag2] = typedArrayTags[setTag2] = typedArrayTags[stringTag2] = typedArrayTags[weakMapTag] = false;
_baseIsTypedArray_default = baseIsTypedArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseUnary.js
function baseUnary(func) {
return function(value) {
return func(value);
};
}
var _baseUnary_default;
var init__baseUnary = __esm(() => {
_baseUnary_default = baseUnary;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_nodeUtil.js
var exports__nodeUtil = {};
__export(exports__nodeUtil, {
default: () => _nodeUtil_default
});
var freeExports2, freeModule2, moduleExports2, freeProcess, nodeUtil, _nodeUtil_default;
var init__nodeUtil = __esm(() => {
init__freeGlobal();
freeExports2 = typeof exports__nodeUtil == "object" && exports__nodeUtil && !exports__nodeUtil.nodeType && exports__nodeUtil;
freeModule2 = freeExports2 && typeof module__nodeUtil == "object" && module__nodeUtil && !module__nodeUtil.nodeType && module__nodeUtil;
moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
freeProcess = moduleExports2 && _freeGlobal_default.process;
nodeUtil = function() {
try {
var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
if (types) {
return types;
}
return freeProcess && freeProcess.binding && freeProcess.binding("util");
} catch (e) {}
}();
_nodeUtil_default = nodeUtil;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isTypedArray.js
var nodeIsTypedArray, isTypedArray, isTypedArray_default;
var init_isTypedArray = __esm(() => {
init__baseIsTypedArray();
init__baseUnary();
init__nodeUtil();
nodeIsTypedArray = _nodeUtil_default && _nodeUtil_default.isTypedArray;
isTypedArray = nodeIsTypedArray ? _baseUnary_default(nodeIsTypedArray) : _baseIsTypedArray_default;
isTypedArray_default = isTypedArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayLikeKeys.js
function arrayLikeKeys(value, inherited) {
var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? _baseTimes_default(value.length, String) : [], length = result.length;
for (var key in value) {
if ((inherited || hasOwnProperty6.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || _isIndex_default(key, length)))) {
result.push(key);
}
}
return result;
}
var objectProto8, hasOwnProperty6, _arrayLikeKeys_default;
var init__arrayLikeKeys = __esm(() => {
init__baseTimes();
init_isArguments();
init_isArray();
init_isBuffer();
init__isIndex();
init_isTypedArray();
objectProto8 = Object.prototype;
hasOwnProperty6 = objectProto8.hasOwnProperty;
_arrayLikeKeys_default = arrayLikeKeys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isPrototype.js
function isPrototype(value) {
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto9;
return value === proto;
}
var objectProto9, _isPrototype_default;
var init__isPrototype = __esm(() => {
objectProto9 = Object.prototype;
_isPrototype_default = isPrototype;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_overArg.js
function overArg(func, transform) {
return function(arg) {
return func(transform(arg));
};
}
var _overArg_default;
var init__overArg = __esm(() => {
_overArg_default = overArg;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeys.js
var nativeKeys, _nativeKeys_default;
var init__nativeKeys = __esm(() => {
init__overArg();
nativeKeys = _overArg_default(Object.keys, Object);
_nativeKeys_default = nativeKeys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseKeys.js
function baseKeys(object) {
if (!_isPrototype_default(object)) {
return _nativeKeys_default(object);
}
var result = [];
for (var key in Object(object)) {
if (hasOwnProperty7.call(object, key) && key != "constructor") {
result.push(key);
}
}
return result;
}
var objectProto10, hasOwnProperty7, _baseKeys_default;
var init__baseKeys = __esm(() => {
init__isPrototype();
init__nativeKeys();
objectProto10 = Object.prototype;
hasOwnProperty7 = objectProto10.hasOwnProperty;
_baseKeys_default = baseKeys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isArrayLike.js
function isArrayLike(value) {
return value != null && isLength_default(value.length) && !isFunction_default(value);
}
var isArrayLike_default;
var init_isArrayLike = __esm(() => {
init_isFunction();
init_isLength();
isArrayLike_default = isArrayLike;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/keys.js
function keys(object) {
return isArrayLike_default(object) ? _arrayLikeKeys_default(object) : _baseKeys_default(object);
}
var keys_default;
var init_keys = __esm(() => {
init__arrayLikeKeys();
init__baseKeys();
init_isArrayLike();
keys_default = keys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeys.js
function getAllKeys(object) {
return _baseGetAllKeys_default(object, keys_default, _getSymbols_default);
}
var _getAllKeys_default;
var init__getAllKeys = __esm(() => {
init__baseGetAllKeys();
init__getSymbols();
init_keys();
_getAllKeys_default = getAllKeys;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalObjects.js
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
var isPartial = bitmask & COMPARE_PARTIAL_FLAG3, objProps = _getAllKeys_default(object), objLength = objProps.length, othProps = _getAllKeys_default(other), othLength = othProps.length;
if (objLength != othLength && !isPartial) {
return false;
}
var index = objLength;
while (index--) {
var key = objProps[index];
if (!(isPartial ? key in other : hasOwnProperty8.call(other, key))) {
return false;
}
}
var objStacked = stack.get(object);
var othStacked = stack.get(other);
if (objStacked && othStacked) {
return objStacked == other && othStacked == object;
}
var result = true;
stack.set(object, other);
stack.set(other, object);
var skipCtor = isPartial;
while (++index < objLength) {
key = objProps[index];
var objValue = object[key], othValue = other[key];
if (customizer) {
var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
}
if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
result = false;
break;
}
skipCtor || (skipCtor = key == "constructor");
}
if (result && !skipCtor) {
var objCtor = object.constructor, othCtor = other.constructor;
if (objCtor != othCtor && (("constructor" in object) && ("constructor" in other)) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
result = false;
}
}
stack["delete"](object);
stack["delete"](other);
return result;
}
var COMPARE_PARTIAL_FLAG3 = 1, objectProto11, hasOwnProperty8, _equalObjects_default;
var init__equalObjects = __esm(() => {
init__getAllKeys();
objectProto11 = Object.prototype;
hasOwnProperty8 = objectProto11.hasOwnProperty;
_equalObjects_default = equalObjects;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_DataView.js
var DataView2, _DataView_default;
var init__DataView = __esm(() => {
init__getNative();
init__root();
DataView2 = _getNative_default(_root_default, "DataView");
_DataView_default = DataView2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Promise.js
var Promise2, _Promise_default;
var init__Promise = __esm(() => {
init__getNative();
init__root();
Promise2 = _getNative_default(_root_default, "Promise");
_Promise_default = Promise2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Set.js
var Set2, _Set_default;
var init__Set = __esm(() => {
init__getNative();
init__root();
Set2 = _getNative_default(_root_default, "Set");
_Set_default = Set2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_WeakMap.js
var WeakMap2, _WeakMap_default;
var init__WeakMap = __esm(() => {
init__getNative();
init__root();
WeakMap2 = _getNative_default(_root_default, "WeakMap");
_WeakMap_default = WeakMap2;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getTag.js
var mapTag3 = "[object Map]", objectTag2 = "[object Object]", promiseTag = "[object Promise]", setTag3 = "[object Set]", weakMapTag2 = "[object WeakMap]", dataViewTag3 = "[object DataView]", dataViewCtorString, mapCtorString, promiseCtorString, setCtorString, weakMapCtorString, getTag, _getTag_default;
var init__getTag = __esm(() => {
init__DataView();
init__Map();
init__Promise();
init__Set();
init__WeakMap();
init__baseGetTag();
init__toSource();
dataViewCtorString = _toSource_default(_DataView_default);
mapCtorString = _toSource_default(_Map_default);
promiseCtorString = _toSource_default(_Promise_default);
setCtorString = _toSource_default(_Set_default);
weakMapCtorString = _toSource_default(_WeakMap_default);
getTag = _baseGetTag_default;
if (_DataView_default && getTag(new _DataView_default(new ArrayBuffer(1))) != dataViewTag3 || _Map_default && getTag(new _Map_default) != mapTag3 || _Promise_default && getTag(_Promise_default.resolve()) != promiseTag || _Set_default && getTag(new _Set_default) != setTag3 || _WeakMap_default && getTag(new _WeakMap_default) != weakMapTag2) {
getTag = function(value) {
var result = _baseGetTag_default(value), Ctor = result == objectTag2 ? value.constructor : undefined, ctorString = Ctor ? _toSource_default(Ctor) : "";
if (ctorString) {
switch (ctorString) {
case dataViewCtorString:
return dataViewTag3;
case mapCtorString:
return mapTag3;
case promiseCtorString:
return promiseTag;
case setCtorString:
return setTag3;
case weakMapCtorString:
return weakMapTag2;
}
}
return result;
};
}
_getTag_default = getTag;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqualDeep.js
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
var objIsArr = isArray_default(object), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag2 : _getTag_default(object), othTag = othIsArr ? arrayTag2 : _getTag_default(other);
objTag = objTag == argsTag3 ? objectTag3 : objTag;
othTag = othTag == argsTag3 ? objectTag3 : othTag;
var objIsObj = objTag == objectTag3, othIsObj = othTag == objectTag3, isSameTag = objTag == othTag;
if (isSameTag && isBuffer_default(object)) {
if (!isBuffer_default(other)) {
return false;
}
objIsArr = true;
objIsObj = false;
}
if (isSameTag && !objIsObj) {
stack || (stack = new _Stack_default);
return objIsArr || isTypedArray_default(object) ? _equalArrays_default(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag_default(object, other, objTag, bitmask, customizer, equalFunc, stack);
}
if (!(bitmask & COMPARE_PARTIAL_FLAG4)) {
var objIsWrapped = objIsObj && hasOwnProperty9.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty9.call(other, "__wrapped__");
if (objIsWrapped || othIsWrapped) {
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
stack || (stack = new _Stack_default);
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
}
}
if (!isSameTag) {
return false;
}
stack || (stack = new _Stack_default);
return _equalObjects_default(object, other, bitmask, customizer, equalFunc, stack);
}
var COMPARE_PARTIAL_FLAG4 = 1, argsTag3 = "[object Arguments]", arrayTag2 = "[object Array]", objectTag3 = "[object Object]", objectProto12, hasOwnProperty9, _baseIsEqualDeep_default;
var init__baseIsEqualDeep = __esm(() => {
init__Stack();
init__equalArrays();
init__equalByTag();
init__equalObjects();
init__getTag();
init_isArray();
init_isBuffer();
init_isTypedArray();
objectProto12 = Object.prototype;
hasOwnProperty9 = objectProto12.hasOwnProperty;
_baseIsEqualDeep_default = baseIsEqualDeep;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqual.js
function baseIsEqual(value, other, bitmask, customizer, stack) {
if (value === other) {
return true;
}
if (value == null || other == null || !isObjectLike_default(value) && !isObjectLike_default(other)) {
return value !== value && other !== other;
}
return _baseIsEqualDeep_default(value, other, bitmask, customizer, baseIsEqual, stack);
}
var _baseIsEqual_default;
var init__baseIsEqual = __esm(() => {
init__baseIsEqualDeep();
init_isObjectLike();
_baseIsEqual_default = baseIsEqual;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsMatch.js
function baseIsMatch(object, source, matchData, customizer) {
var index = matchData.length, length = index, noCustomizer = !customizer;
if (object == null) {
return !length;
}
object = Object(object);
while (index--) {
var data = matchData[index];
if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
return false;
}
}
while (++index < length) {
data = matchData[index];
var key = data[0], objValue = object[key], srcValue = data[1];
if (noCustomizer && data[2]) {
if (objValue === undefined && !(key in object)) {
return false;
}
} else {
var stack = new _Stack_default;
if (customizer) {
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === undefined ? _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG5 | COMPARE_UNORDERED_FLAG3, customizer, stack) : result)) {
return false;
}
}
}
return true;
}
var COMPARE_PARTIAL_FLAG5 = 1, COMPARE_UNORDERED_FLAG3 = 2, _baseIsMatch_default;
var init__baseIsMatch = __esm(() => {
init__Stack();
init__baseIsEqual();
_baseIsMatch_default = baseIsMatch;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isStrictComparable.js
function isStrictComparable(value) {
return value === value && !isObject_default(value);
}
var _isStrictComparable_default;
var init__isStrictComparable = __esm(() => {
init_isObject();
_isStrictComparable_default = isStrictComparable;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getMatchData.js
function getMatchData(object) {
var result = keys_default(object), length = result.length;
while (length--) {
var key = result[length], value = object[key];
result[length] = [key, value, _isStrictComparable_default(value)];
}
return result;
}
var _getMatchData_default;
var init__getMatchData = __esm(() => {
init__isStrictComparable();
init_keys();
_getMatchData_default = getMatchData;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_matchesStrictComparable.js
function matchesStrictComparable(key, srcValue) {
return function(object) {
if (object == null) {
return false;
}
return object[key] === srcValue && (srcValue !== undefined || (key in Object(object)));
};
}
var _matchesStrictComparable_default;
var init__matchesStrictComparable = __esm(() => {
_matchesStrictComparable_default = matchesStrictComparable;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMatches.js
function baseMatches(source) {
var matchData = _getMatchData_default(source);
if (matchData.length == 1 && matchData[0][2]) {
return _matchesStrictComparable_default(matchData[0][0], matchData[0][1]);
}
return function(object) {
return object === source || _baseIsMatch_default(object, source, matchData);
};
}
var _baseMatches_default;
var init__baseMatches = __esm(() => {
init__baseIsMatch();
init__getMatchData();
init__matchesStrictComparable();
_baseMatches_default = baseMatches;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isSymbol.js
function isSymbol(value) {
return typeof value == "symbol" || isObjectLike_default(value) && _baseGetTag_default(value) == symbolTag2;
}
var symbolTag2 = "[object Symbol]", isSymbol_default;
var init_isSymbol = __esm(() => {
init__baseGetTag();
init_isObjectLike();
isSymbol_default = isSymbol;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isKey.js
function isKey(value, object) {
if (isArray_default(value)) {
return false;
}
var type = typeof value;
if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) {
return true;
}
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
}
var reIsDeepProp, reIsPlainProp, _isKey_default;
var init__isKey = __esm(() => {
init_isArray();
init_isSymbol();
reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
reIsPlainProp = /^\w*$/;
_isKey_default = isKey;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/memoize.js
function memoize(func, resolver) {
if (typeof func != "function" || resolver != null && typeof resolver != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
var memoized = function() {
var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
if (cache.has(key)) {
return cache.get(key);
}
var result = func.apply(this, args);
memoized.cache = cache.set(key, result) || cache;
return result;
};
memoized.cache = new (memoize.Cache || _MapCache_default);
return memoized;
}
var FUNC_ERROR_TEXT = "Expected a function", memoize_default;
var init_memoize = __esm(() => {
init__MapCache();
memoize.Cache = _MapCache_default;
memoize_default = memoize;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_memoizeCapped.js
function memoizeCapped(func) {
var result = memoize_default(func, function(key) {
if (cache.size === MAX_MEMOIZE_SIZE) {
cache.clear();
}
return key;
});
var cache = result.cache;
return result;
}
var MAX_MEMOIZE_SIZE = 500, _memoizeCapped_default;
var init__memoizeCapped = __esm(() => {
init_memoize();
_memoizeCapped_default = memoizeCapped;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stringToPath.js
var rePropName, reEscapeChar, stringToPath, _stringToPath_default;
var init__stringToPath = __esm(() => {
init__memoizeCapped();
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
reEscapeChar = /\\(\\)?/g;
stringToPath = _memoizeCapped_default(function(string) {
var result = [];
if (string.charCodeAt(0) === 46) {
result.push("");
}
string.replace(rePropName, function(match, number, quote, subString) {
result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
});
return result;
});
_stringToPath_default = stringToPath;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayMap.js
function arrayMap(array, iteratee) {
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
while (++index < length) {
result[index] = iteratee(array[index], index, array);
}
return result;
}
var _arrayMap_default;
var init__arrayMap = __esm(() => {
_arrayMap_default = arrayMap;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseToString.js
function baseToString(value) {
if (typeof value == "string") {
return value;
}
if (isArray_default(value)) {
return _arrayMap_default(value, baseToString) + "";
}
if (isSymbol_default(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY ? "-0" : result;
}
var INFINITY, symbolProto2, symbolToString, _baseToString_default;
var init__baseToString = __esm(() => {
init__Symbol();
init__arrayMap();
init_isArray();
init_isSymbol();
INFINITY = 1 / 0;
symbolProto2 = _Symbol_default ? _Symbol_default.prototype : undefined;
symbolToString = symbolProto2 ? symbolProto2.toString : undefined;
_baseToString_default = baseToString;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toString.js
function toString(value) {
return value == null ? "" : _baseToString_default(value);
}
var toString_default;
var init_toString = __esm(() => {
init__baseToString();
toString_default = toString;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_castPath.js
function castPath(value, object) {
if (isArray_default(value)) {
return value;
}
return _isKey_default(value, object) ? [value] : _stringToPath_default(toString_default(value));
}
var _castPath_default;
var init__castPath = __esm(() => {
init_isArray();
init__isKey();
init__stringToPath();
init_toString();
_castPath_default = castPath;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_toKey.js
function toKey(value) {
if (typeof value == "string" || isSymbol_default(value)) {
return value;
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY2 ? "-0" : result;
}
var INFINITY2, _toKey_default;
var init__toKey = __esm(() => {
init_isSymbol();
INFINITY2 = 1 / 0;
_toKey_default = toKey;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseGet.js
function baseGet(object, path) {
path = _castPath_default(path, object);
var index = 0, length = path.length;
while (object != null && index < length) {
object = object[_toKey_default(path[index++])];
}
return index && index == length ? object : undefined;
}
var _baseGet_default;
var init__baseGet = __esm(() => {
init__castPath();
init__toKey();
_baseGet_default = baseGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/get.js
function get(object, path, defaultValue) {
var result = object == null ? undefined : _baseGet_default(object, path);
return result === undefined ? defaultValue : result;
}
var get_default;
var init_get = __esm(() => {
init__baseGet();
get_default = get;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseHasIn.js
function baseHasIn(object, key) {
return object != null && key in Object(object);
}
var _baseHasIn_default;
var init__baseHasIn = __esm(() => {
_baseHasIn_default = baseHasIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hasPath.js
function hasPath(object, path, hasFunc) {
path = _castPath_default(path, object);
var index = -1, length = path.length, result = false;
while (++index < length) {
var key = _toKey_default(path[index]);
if (!(result = object != null && hasFunc(object, key))) {
break;
}
object = object[key];
}
if (result || ++index != length) {
return result;
}
length = object == null ? 0 : object.length;
return !!length && isLength_default(length) && _isIndex_default(key, length) && (isArray_default(object) || isArguments_default(object));
}
var _hasPath_default;
var init__hasPath = __esm(() => {
init__castPath();
init_isArguments();
init_isArray();
init__isIndex();
init_isLength();
init__toKey();
_hasPath_default = hasPath;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/hasIn.js
function hasIn(object, path) {
return object != null && _hasPath_default(object, path, _baseHasIn_default);
}
var hasIn_default;
var init_hasIn = __esm(() => {
init__baseHasIn();
init__hasPath();
hasIn_default = hasIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMatchesProperty.js
function baseMatchesProperty(path, srcValue) {
if (_isKey_default(path) && _isStrictComparable_default(srcValue)) {
return _matchesStrictComparable_default(_toKey_default(path), srcValue);
}
return function(object) {
var objValue = get_default(object, path);
return objValue === undefined && objValue === srcValue ? hasIn_default(object, path) : _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG6 | COMPARE_UNORDERED_FLAG4);
};
}
var COMPARE_PARTIAL_FLAG6 = 1, COMPARE_UNORDERED_FLAG4 = 2, _baseMatchesProperty_default;
var init__baseMatchesProperty = __esm(() => {
init__baseIsEqual();
init_get();
init_hasIn();
init__isKey();
init__isStrictComparable();
init__matchesStrictComparable();
init__toKey();
_baseMatchesProperty_default = baseMatchesProperty;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/identity.js
function identity(value) {
return value;
}
var identity_default;
var init_identity = __esm(() => {
identity_default = identity;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseProperty.js
function baseProperty(key) {
return function(object) {
return object == null ? undefined : object[key];
};
}
var _baseProperty_default;
var init__baseProperty = __esm(() => {
_baseProperty_default = baseProperty;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_basePropertyDeep.js
function basePropertyDeep(path) {
return function(object) {
return _baseGet_default(object, path);
};
}
var _basePropertyDeep_default;
var init__basePropertyDeep = __esm(() => {
init__baseGet();
_basePropertyDeep_default = basePropertyDeep;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/property.js
function property(path) {
return _isKey_default(path) ? _baseProperty_default(_toKey_default(path)) : _basePropertyDeep_default(path);
}
var property_default;
var init_property = __esm(() => {
init__baseProperty();
init__basePropertyDeep();
init__isKey();
init__toKey();
property_default = property;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIteratee.js
function baseIteratee(value) {
if (typeof value == "function") {
return value;
}
if (value == null) {
return identity_default;
}
if (typeof value == "object") {
return isArray_default(value) ? _baseMatchesProperty_default(value[0], value[1]) : _baseMatches_default(value);
}
return property_default(value);
}
var _baseIteratee_default;
var init__baseIteratee = __esm(() => {
init__baseMatches();
init__baseMatchesProperty();
init_identity();
init_isArray();
init_property();
_baseIteratee_default = baseIteratee;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseSum.js
function baseSum(array, iteratee) {
var result, index = -1, length = array.length;
while (++index < length) {
var current = iteratee(array[index]);
if (current !== undefined) {
result = result === undefined ? current : result + current;
}
}
return result;
}
var _baseSum_default;
var init__baseSum = __esm(() => {
_baseSum_default = baseSum;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/sumBy.js
function sumBy(array, iteratee) {
return array && array.length ? _baseSum_default(array, _baseIteratee_default(iteratee, 2)) : 0;
}
var sumBy_default;
var init_sumBy = __esm(() => {
init__baseIteratee();
init__baseSum();
sumBy_default = sumBy;
});
// src/utils/crypto.ts
import { randomUUID } from "crypto";
var init_crypto = () => {};
// src/utils/settings/settingsCache.ts
function getSessionSettingsCache() {
return sessionSettingsCache;
}
function setSessionSettingsCache(value) {
sessionSettingsCache = value;
}
function getCachedSettingsForSource(source) {
return perSourceCache.has(source) ? perSourceCache.get(source) : undefined;
}
function setCachedSettingsForSource(source, value) {
perSourceCache.set(source, value);
}
function getCachedParsedFile(path) {
return parseFileCache.get(path);
}
function setCachedParsedFile(path, value) {
parseFileCache.set(path, value);
}
function resetSettingsCache() {
sessionSettingsCache = null;
perSourceCache.clear();
parseFileCache.clear();
}
function getPluginSettingsBase() {
return pluginSettingsBase;
}
function setPluginSettingsBase(settings) {
pluginSettingsBase = settings;
}
function clearPluginSettingsBase() {
pluginSettingsBase = undefined;
}
var sessionSettingsCache = null, perSourceCache, parseFileCache, pluginSettingsBase;
var init_settingsCache = __esm(() => {
perSourceCache = new Map;
parseFileCache = new Map;
});
// src/utils/signal.ts
function createSignal() {
const listeners = new Set;
return {
subscribe(listener) {
listeners.add(listener);
return () => {
listeners.delete(listener);
};
},
emit(...args) {
for (const listener of listeners)
listener(...args);
},
clear() {
listeners.clear();
}
};
}
// src/bootstrap/state.ts
var exports_state = {};
__export(exports_state, {
waitForScrollIdle: () => waitForScrollIdle,
updateLastInteractionTime: () => updateLastInteractionTime,
switchSession: () => switchSession,
snapshotOutputTokensForTurn: () => snapshotOutputTokensForTurn,
setUserMsgOptIn: () => setUserMsgOptIn,
setUseCoworkPlugins: () => setUseCoworkPlugins,
setTracerProvider: () => setTracerProvider,
setThinkingClearLatched: () => setThinkingClearLatched,
setTeleportedSessionInfo: () => setTeleportedSessionInfo,
setSystemPromptSectionCacheEntry: () => setSystemPromptSectionCacheEntry,
setStrictToolResultPairing: () => setStrictToolResultPairing,
setStatsStore: () => setStatsStore,
setSessionTrustAccepted: () => setSessionTrustAccepted,
setSessionSource: () => setSessionSource,
setSessionPersistenceDisabled: () => setSessionPersistenceDisabled,
setSessionIngressToken: () => setSessionIngressToken,
setSessionBypassPermissionsMode: () => setSessionBypassPermissionsMode,
setSdkBetas: () => setSdkBetas,
setSdkAgentProgressSummariesEnabled: () => setSdkAgentProgressSummariesEnabled,
setScheduledTasksEnabled: () => setScheduledTasksEnabled,
setQuestionPreviewFormat: () => setQuestionPreviewFormat,
setPromptId: () => setPromptId,
setPromptCache1hEligible: () => setPromptCache1hEligible,
setPromptCache1hAllowlist: () => setPromptCache1hAllowlist,
setProjectRoot: () => setProjectRoot,
setOriginalCwd: () => setOriginalCwd,
setOauthTokenFromFd: () => setOauthTokenFromFd,
setNeedsPlanModeExitAttachment: () => setNeedsPlanModeExitAttachment,
setNeedsAutoModeExitAttachment: () => setNeedsAutoModeExitAttachment,
setModelStrings: () => setModelStrings,
setMeterProvider: () => setMeterProvider,
setMeter: () => setMeter,
setMainThreadAgentType: () => setMainThreadAgentType,
setMainLoopModelOverride: () => setMainLoopModelOverride,
setLspRecommendationShownThisSession: () => setLspRecommendationShownThisSession,
setLoggerProvider: () => setLoggerProvider,
setLastMainRequestId: () => setLastMainRequestId,
setLastEmittedDate: () => setLastEmittedDate,
setLastClassifierRequests: () => setLastClassifierRequests,
setLastApiCompletionTimestamp: () => setLastApiCompletionTimestamp,
setLastAPIRequestMessages: () => setLastAPIRequestMessages,
setLastAPIRequest: () => setLastAPIRequest,
setKairosActive: () => setKairosActive,
setIsRemoteMode: () => setIsRemoteMode,
setIsInteractive: () => setIsInteractive,
setInlinePlugins: () => setInlinePlugins,
setInitialMainLoopModel: () => setInitialMainLoopModel,
setInitJsonSchema: () => setInitJsonSchema,
setHasUnknownModelCost: () => setHasUnknownModelCost,
setHasExitedPlanMode: () => setHasExitedPlanMode,
setHasDevChannels: () => setHasDevChannels,
setFlagSettingsPath: () => setFlagSettingsPath,
setFlagSettingsInline: () => setFlagSettingsInline,
setFastModeHeaderLatched: () => setFastModeHeaderLatched,
setEventLogger: () => setEventLogger,
setDirectConnectServerUrl: () => setDirectConnectServerUrl,
setCwdState: () => setCwdState,
setCostStateForRestore: () => setCostStateForRestore,
setClientType: () => setClientType,
setChromeFlagOverride: () => setChromeFlagOverride,
setCachedClaudeMdContent: () => setCachedClaudeMdContent,
setCacheEditingHeaderLatched: () => setCacheEditingHeaderLatched,
setApiKeyFromFd: () => setApiKeyFromFd,
setAllowedSettingSources: () => setAllowedSettingSources,
setAllowedChannels: () => setAllowedChannels,
setAfkModeHeaderLatched: () => setAfkModeHeaderLatched,
setAdditionalDirectoriesForClaudeMd: () => setAdditionalDirectoriesForClaudeMd,
resetTurnToolDuration: () => resetTurnToolDuration,
resetTurnHookDuration: () => resetTurnHookDuration,
resetTurnClassifierDuration: () => resetTurnClassifierDuration,
resetTotalDurationStateAndCost_FOR_TESTS_ONLY: () => resetTotalDurationStateAndCost_FOR_TESTS_ONLY,
resetStateForTests: () => resetStateForTests,
resetSdkInitState: () => resetSdkInitState,
resetModelStringsForTestingOnly: () => resetModelStringsForTestingOnly,
resetCostState: () => resetCostState,
removeSessionCronTasks: () => removeSessionCronTasks,
registerHookCallbacks: () => registerHookCallbacks,
regenerateSessionId: () => regenerateSessionId,
preferThirdPartyAuthentication: () => preferThirdPartyAuthentication,
onSessionSwitch: () => onSessionSwitch,
needsPlanModeExitAttachment: () => needsPlanModeExitAttachment,
needsAutoModeExitAttachment: () => needsAutoModeExitAttachment,
markScrollActivity: () => markScrollActivity,
markPostCompaction: () => markPostCompaction,
markFirstTeleportMessageLogged: () => markFirstTeleportMessageLogged,
isSessionPersistenceDisabled: () => isSessionPersistenceDisabled,
incrementBudgetContinuationCount: () => incrementBudgetContinuationCount,
hasUnknownModelCost: () => hasUnknownModelCost,
hasShownLspRecommendationThisSession: () => hasShownLspRecommendationThisSession,
hasExitedPlanModeInSession: () => hasExitedPlanModeInSession,
handlePlanModeTransition: () => handlePlanModeTransition,
handleAutoModeTransition: () => handleAutoModeTransition,
getUserMsgOptIn: () => getUserMsgOptIn,
getUseCoworkPlugins: () => getUseCoworkPlugins,
getUsageForModel: () => getUsageForModel,
getTurnToolDurationMs: () => getTurnToolDurationMs,
getTurnToolCount: () => getTurnToolCount,
getTurnOutputTokens: () => getTurnOutputTokens,
getTurnHookDurationMs: () => getTurnHookDurationMs,
getTurnHookCount: () => getTurnHookCount,
getTurnClassifierDurationMs: () => getTurnClassifierDurationMs,
getTurnClassifierCount: () => getTurnClassifierCount,
getTracerProvider: () => getTracerProvider,
getTotalWebSearchRequests: () => getTotalWebSearchRequests,
getTotalToolDuration: () => getTotalToolDuration,
getTotalOutputTokens: () => getTotalOutputTokens,
getTotalLinesRemoved: () => getTotalLinesRemoved,
getTotalLinesAdded: () => getTotalLinesAdded,
getTotalInputTokens: () => getTotalInputTokens,
getTotalDuration: () => getTotalDuration,
getTotalCostUSD: () => getTotalCostUSD,
getTotalCacheReadInputTokens: () => getTotalCacheReadInputTokens,
getTotalCacheCreationInputTokens: () => getTotalCacheCreationInputTokens,
getTotalAPIDurationWithoutRetries: () => getTotalAPIDurationWithoutRetries,
getTotalAPIDuration: () => getTotalAPIDuration,
getTokenCounter: () => getTokenCounter,
getThinkingClearLatched: () => getThinkingClearLatched,
getTeleportedSessionInfo: () => getTeleportedSessionInfo,
getSystemPromptSectionCache: () => getSystemPromptSectionCache,
getStrictToolResultPairing: () => getStrictToolResultPairing,
getStatsStore: () => getStatsStore,
getSlowOperations: () => getSlowOperations,
getSessionTrustAccepted: () => getSessionTrustAccepted,
getSessionSource: () => getSessionSource,
getSessionProjectDir: () => getSessionProjectDir,
getSessionIngressToken: () => getSessionIngressToken,
getSessionId: () => getSessionId,
getSessionCronTasks: () => getSessionCronTasks,
getSessionCreatedTeams: () => getSessionCreatedTeams,
getSessionCounter: () => getSessionCounter,
getSessionBypassPermissionsMode: () => getSessionBypassPermissionsMode,
getSdkBetas: () => getSdkBetas,
getSdkAgentProgressSummariesEnabled: () => getSdkAgentProgressSummariesEnabled,
getScheduledTasksEnabled: () => getScheduledTasksEnabled,
getRegisteredHooks: () => getRegisteredHooks,
getQuestionPreviewFormat: () => getQuestionPreviewFormat,
getPromptId: () => getPromptId,
getPromptCache1hEligible: () => getPromptCache1hEligible,
getPromptCache1hAllowlist: () => getPromptCache1hAllowlist,
getProjectRoot: () => getProjectRoot,
getPrCounter: () => getPrCounter,
getPlanSlugCache: () => getPlanSlugCache,
getParentSessionId: () => getParentSessionId,
getOriginalCwd: () => getOriginalCwd,
getOauthTokenFromFd: () => getOauthTokenFromFd,
getModelUsage: () => getModelUsage,
getModelStrings: () => getModelStrings,
getMeterProvider: () => getMeterProvider,
getMeter: () => getMeter,
getMainThreadAgentType: () => getMainThreadAgentType,
getMainLoopModelOverride: () => getMainLoopModelOverride,
getLoggerProvider: () => getLoggerProvider,
getLocCounter: () => getLocCounter,
getLastMainRequestId: () => getLastMainRequestId,
getLastInteractionTime: () => getLastInteractionTime,
getLastEmittedDate: () => getLastEmittedDate,
getLastClassifierRequests: () => getLastClassifierRequests,
getLastApiCompletionTimestamp: () => getLastApiCompletionTimestamp,
getLastAPIRequestMessages: () => getLastAPIRequestMessages,
getLastAPIRequest: () => getLastAPIRequest,
getKairosActive: () => getKairosActive,
getIsScrollDraining: () => getIsScrollDraining,
getIsRemoteMode: () => getIsRemoteMode,
getIsNonInteractiveSession: () => getIsNonInteractiveSession,
getIsInteractive: () => getIsInteractive,
getInvokedSkillsForAgent: () => getInvokedSkillsForAgent,
getInvokedSkills: () => getInvokedSkills,
getInlinePlugins: () => getInlinePlugins,
getInitialMainLoopModel: () => getInitialMainLoopModel,
getInitJsonSchema: () => getInitJsonSchema,
getHasDevChannels: () => getHasDevChannels,
getFlagSettingsPath: () => getFlagSettingsPath,
getFlagSettingsInline: () => getFlagSettingsInline,
getFastModeHeaderLatched: () => getFastModeHeaderLatched,
getEventLogger: () => getEventLogger,
getDirectConnectServerUrl: () => getDirectConnectServerUrl,
getCwdState: () => getCwdState,
getCurrentTurnTokenBudget: () => getCurrentTurnTokenBudget,
getCostCounter: () => getCostCounter,
getCommitCounter: () => getCommitCounter,
getCodeEditToolDecisionCounter: () => getCodeEditToolDecisionCounter,
getClientType: () => getClientType,
getChromeFlagOverride: () => getChromeFlagOverride,
getCachedClaudeMdContent: () => getCachedClaudeMdContent,
getCacheEditingHeaderLatched: () => getCacheEditingHeaderLatched,
getBudgetContinuationCount: () => getBudgetContinuationCount,
getApiKeyFromFd: () => getApiKeyFromFd,
getAllowedSettingSources: () => getAllowedSettingSources,
getAllowedChannels: () => getAllowedChannels,
getAgentColorMap: () => getAgentColorMap,
getAfkModeHeaderLatched: () => getAfkModeHeaderLatched,
getAdditionalDirectoriesForClaudeMd: () => getAdditionalDirectoriesForClaudeMd,
getActiveTimeCounter: () => getActiveTimeCounter,
flushInteractionTime: () => flushInteractionTime,
consumePostCompaction: () => consumePostCompaction,
clearSystemPromptSectionState: () => clearSystemPromptSectionState,
clearRegisteredPluginHooks: () => clearRegisteredPluginHooks,
clearRegisteredHooks: () => clearRegisteredHooks,
clearInvokedSkillsForAgent: () => clearInvokedSkillsForAgent,
clearInvokedSkills: () => clearInvokedSkills,
clearBetaHeaderLatches: () => clearBetaHeaderLatches,
addToTurnHookDuration: () => addToTurnHookDuration,
addToTurnClassifierDuration: () => addToTurnClassifierDuration,
addToTotalLinesChanged: () => addToTotalLinesChanged,
addToTotalDurationState: () => addToTotalDurationState,
addToTotalCostState: () => addToTotalCostState,
addToToolDuration: () => addToToolDuration,
addToInMemoryErrorLog: () => addToInMemoryErrorLog,
addSlowOperation: () => addSlowOperation,
addSessionCronTask: () => addSessionCronTask,
addInvokedSkill: () => addInvokedSkill
});
import { realpathSync } from "fs";
import { cwd } from "process";
function getInitialState() {
let resolvedCwd = "";
if (typeof process !== "undefined" && typeof process.cwd === "function" && typeof realpathSync === "function") {
const rawCwd = cwd();
try {
resolvedCwd = realpathSync(rawCwd).normalize("NFC");
} catch {
resolvedCwd = rawCwd.normalize("NFC");
}
}
const state = {
originalCwd: resolvedCwd,
projectRoot: resolvedCwd,
totalCostUSD: 0,
totalAPIDuration: 0,
totalAPIDurationWithoutRetries: 0,
totalToolDuration: 0,
turnHookDurationMs: 0,
turnToolDurationMs: 0,
turnClassifierDurationMs: 0,
turnToolCount: 0,
turnHookCount: 0,
turnClassifierCount: 0,
startTime: Date.now(),
lastInteractionTime: Date.now(),
totalLinesAdded: 0,
totalLinesRemoved: 0,
hasUnknownModelCost: false,
cwd: resolvedCwd,
modelUsage: {},
mainLoopModelOverride: undefined,
initialMainLoopModel: null,
modelStrings: null,
isInteractive: false,
kairosActive: false,
strictToolResultPairing: false,
sdkAgentProgressSummariesEnabled: false,
userMsgOptIn: false,
clientType: "cli",
sessionSource: undefined,
questionPreviewFormat: undefined,
sessionIngressToken: undefined,
oauthTokenFromFd: undefined,
apiKeyFromFd: undefined,
flagSettingsPath: undefined,
flagSettingsInline: null,
allowedSettingSources: [
"userSettings",
"projectSettings",
"localSettings",
"flagSettings",
"policySettings"
],
meter: null,
sessionCounter: null,
locCounter: null,
prCounter: null,
commitCounter: null,
costCounter: null,
tokenCounter: null,
codeEditToolDecisionCounter: null,
activeTimeCounter: null,
statsStore: null,
sessionId: randomUUID(),
parentSessionId: undefined,
loggerProvider: null,
eventLogger: null,
meterProvider: null,
tracerProvider: null,
agentColorMap: new Map,
agentColorIndex: 0,
lastAPIRequest: null,
lastAPIRequestMessages: null,
lastClassifierRequests: null,
cachedClaudeMdContent: null,
inMemoryErrorLog: [],
inlinePlugins: [],
chromeFlagOverride: undefined,
useCoworkPlugins: false,
sessionBypassPermissionsMode: false,
scheduledTasksEnabled: false,
sessionCronTasks: [],
sessionCreatedTeams: new Set,
sessionTrustAccepted: false,
sessionPersistenceDisabled: false,
hasExitedPlanMode: false,
needsPlanModeExitAttachment: false,
needsAutoModeExitAttachment: false,
lspRecommendationShownThisSession: false,
initJsonSchema: null,
registeredHooks: null,
planSlugCache: new Map,
teleportedSessionInfo: null,
invokedSkills: new Map,
slowOperations: [],
sdkBetas: undefined,
mainThreadAgentType: undefined,
isRemoteMode: false,
...process.env.USER_TYPE === "ant" ? {
replBridgeActive: false
} : {},
directConnectServerUrl: undefined,
systemPromptSectionCache: new Map,
lastEmittedDate: null,
additionalDirectoriesForClaudeMd: [],
allowedChannels: [],
hasDevChannels: false,
sessionProjectDir: null,
promptCache1hAllowlist: null,
promptCache1hEligible: null,
afkModeHeaderLatched: null,
fastModeHeaderLatched: null,
cacheEditingHeaderLatched: null,
thinkingClearLatched: null,
promptId: null,
lastMainRequestId: undefined,
lastApiCompletionTimestamp: null,
pendingPostCompaction: false
};
return state;
}
function getSessionId() {
return STATE.sessionId;
}
function regenerateSessionId(options = {}) {
if (options.setCurrentAsParent) {
STATE.parentSessionId = STATE.sessionId;
}
STATE.planSlugCache.delete(STATE.sessionId);
STATE.sessionId = randomUUID();
STATE.sessionProjectDir = null;
return STATE.sessionId;
}
function getParentSessionId() {
return STATE.parentSessionId;
}
function switchSession(sessionId, projectDir = null) {
STATE.planSlugCache.delete(STATE.sessionId);
STATE.sessionId = sessionId;
STATE.sessionProjectDir = projectDir;
sessionSwitched.emit(sessionId);
}
function getSessionProjectDir() {
return STATE.sessionProjectDir;
}
function getOriginalCwd() {
return STATE.originalCwd;
}
function getProjectRoot() {
return STATE.projectRoot;
}
function setOriginalCwd(cwd2) {
STATE.originalCwd = cwd2.normalize("NFC");
}
function setProjectRoot(cwd2) {
STATE.projectRoot = cwd2.normalize("NFC");
}
function getCwdState() {
return STATE.cwd;
}
function setCwdState(cwd2) {
STATE.cwd = cwd2.normalize("NFC");
}
function getDirectConnectServerUrl() {
return STATE.directConnectServerUrl;
}
function setDirectConnectServerUrl(url) {
STATE.directConnectServerUrl = url;
}
function addToTotalDurationState(duration, durationWithoutRetries) {
STATE.totalAPIDuration += duration;
STATE.totalAPIDurationWithoutRetries += durationWithoutRetries;
}
function resetTotalDurationStateAndCost_FOR_TESTS_ONLY() {
STATE.totalAPIDuration = 0;
STATE.totalAPIDurationWithoutRetries = 0;
STATE.totalCostUSD = 0;
}
function addToTotalCostState(cost, modelUsage, model) {
STATE.modelUsage[model] = modelUsage;
STATE.totalCostUSD += cost;
}
function getTotalCostUSD() {
return STATE.totalCostUSD;
}
function getTotalAPIDuration() {
return STATE.totalAPIDuration;
}
function getTotalDuration() {
return Date.now() - STATE.startTime;
}
function getTotalAPIDurationWithoutRetries() {
return STATE.totalAPIDurationWithoutRetries;
}
function getTotalToolDuration() {
return STATE.totalToolDuration;
}
function addToToolDuration(duration) {
STATE.totalToolDuration += duration;
STATE.turnToolDurationMs += duration;
STATE.turnToolCount++;
}
function getTurnHookDurationMs() {
return STATE.turnHookDurationMs;
}
function addToTurnHookDuration(duration) {
STATE.turnHookDurationMs += duration;
STATE.turnHookCount++;
}
function resetTurnHookDuration() {
STATE.turnHookDurationMs = 0;
STATE.turnHookCount = 0;
}
function getTurnHookCount() {
return STATE.turnHookCount;
}
function getTurnToolDurationMs() {
return STATE.turnToolDurationMs;
}
function resetTurnToolDuration() {
STATE.turnToolDurationMs = 0;
STATE.turnToolCount = 0;
}
function getTurnToolCount() {
return STATE.turnToolCount;
}
function getTurnClassifierDurationMs() {
return STATE.turnClassifierDurationMs;
}
function addToTurnClassifierDuration(duration) {
STATE.turnClassifierDurationMs += duration;
STATE.turnClassifierCount++;
}
function resetTurnClassifierDuration() {
STATE.turnClassifierDurationMs = 0;
STATE.turnClassifierCount = 0;
}
function getTurnClassifierCount() {
return STATE.turnClassifierCount;
}
function getStatsStore() {
return STATE.statsStore;
}
function setStatsStore(store) {
STATE.statsStore = store;
}
function updateLastInteractionTime(immediate) {
if (immediate) {
flushInteractionTime_inner();
} else {
interactionTimeDirty = true;
}
}
function flushInteractionTime() {
if (interactionTimeDirty) {
flushInteractionTime_inner();
}
}
function flushInteractionTime_inner() {
STATE.lastInteractionTime = Date.now();
interactionTimeDirty = false;
}
function addToTotalLinesChanged(added, removed) {
STATE.totalLinesAdded += added;
STATE.totalLinesRemoved += removed;
}
function getTotalLinesAdded() {
return STATE.totalLinesAdded;
}
function getTotalLinesRemoved() {
return STATE.totalLinesRemoved;
}
function getTotalInputTokens() {
return sumBy_default(Object.values(STATE.modelUsage), "inputTokens");
}
function getTotalOutputTokens() {
return sumBy_default(Object.values(STATE.modelUsage), "outputTokens");
}
function getTotalCacheReadInputTokens() {
return sumBy_default(Object.values(STATE.modelUsage), "cacheReadInputTokens");
}
function getTotalCacheCreationInputTokens() {
return sumBy_default(Object.values(STATE.modelUsage), "cacheCreationInputTokens");
}
function getTotalWebSearchRequests() {
return sumBy_default(Object.values(STATE.modelUsage), "webSearchRequests");
}
function getTurnOutputTokens() {
return getTotalOutputTokens() - outputTokensAtTurnStart;
}
function getCurrentTurnTokenBudget() {
return currentTurnTokenBudget;
}
function snapshotOutputTokensForTurn(budget) {
outputTokensAtTurnStart = getTotalOutputTokens();
currentTurnTokenBudget = budget;
budgetContinuationCount = 0;
}
function getBudgetContinuationCount() {
return budgetContinuationCount;
}
function incrementBudgetContinuationCount() {
budgetContinuationCount++;
}
function setHasUnknownModelCost() {
STATE.hasUnknownModelCost = true;
}
function hasUnknownModelCost() {
return STATE.hasUnknownModelCost;
}
function getLastMainRequestId() {
return STATE.lastMainRequestId;
}
function setLastMainRequestId(requestId) {
STATE.lastMainRequestId = requestId;
}
function getLastApiCompletionTimestamp() {
return STATE.lastApiCompletionTimestamp;
}
function setLastApiCompletionTimestamp(timestamp) {
STATE.lastApiCompletionTimestamp = timestamp;
}
function markPostCompaction() {
STATE.pendingPostCompaction = true;
}
function consumePostCompaction() {
const was = STATE.pendingPostCompaction;
STATE.pendingPostCompaction = false;
return was;
}
function getLastInteractionTime() {
return STATE.lastInteractionTime;
}
function markScrollActivity() {
scrollDraining = true;
if (scrollDrainTimer)
clearTimeout(scrollDrainTimer);
scrollDrainTimer = setTimeout(() => {
scrollDraining = false;
scrollDrainTimer = undefined;
}, SCROLL_DRAIN_IDLE_MS);
scrollDrainTimer.unref?.();
}
function getIsScrollDraining() {
return scrollDraining;
}
async function waitForScrollIdle() {
while (scrollDraining) {
await new Promise((r) => setTimeout(r, SCROLL_DRAIN_IDLE_MS).unref?.());
}
}
function getModelUsage() {
return STATE.modelUsage;
}
function getUsageForModel(model) {
return STATE.modelUsage[model];
}
function getMainLoopModelOverride() {
return STATE.mainLoopModelOverride;
}
function getInitialMainLoopModel() {
return STATE.initialMainLoopModel;
}
function setMainLoopModelOverride(model) {
STATE.mainLoopModelOverride = model;
}
function setInitialMainLoopModel(model) {
STATE.initialMainLoopModel = model;
}
function getSdkBetas() {
return STATE.sdkBetas;
}
function setSdkBetas(betas) {
STATE.sdkBetas = betas;
}
function resetCostState() {
STATE.totalCostUSD = 0;
STATE.totalAPIDuration = 0;
STATE.totalAPIDurationWithoutRetries = 0;
STATE.totalToolDuration = 0;
STATE.startTime = Date.now();
STATE.totalLinesAdded = 0;
STATE.totalLinesRemoved = 0;
STATE.hasUnknownModelCost = false;
STATE.modelUsage = {};
STATE.promptId = null;
}
function setCostStateForRestore({
totalCostUSD,
totalAPIDuration,
totalAPIDurationWithoutRetries,
totalToolDuration,
totalLinesAdded,
totalLinesRemoved,
lastDuration,
modelUsage
}) {
STATE.totalCostUSD = totalCostUSD;
STATE.totalAPIDuration = totalAPIDuration;
STATE.totalAPIDurationWithoutRetries = totalAPIDurationWithoutRetries;
STATE.totalToolDuration = totalToolDuration;
STATE.totalLinesAdded = totalLinesAdded;
STATE.totalLinesRemoved = totalLinesRemoved;
if (modelUsage) {
STATE.modelUsage = modelUsage;
}
if (lastDuration) {
STATE.startTime = Date.now() - lastDuration;
}
}
function resetStateForTests() {
if (true) {
throw new Error("resetStateForTests can only be called in tests");
}
Object.entries(getInitialState()).forEach(([key, value]) => {
STATE[key] = value;
});
outputTokensAtTurnStart = 0;
currentTurnTokenBudget = null;
budgetContinuationCount = 0;
sessionSwitched.clear();
}
function getModelStrings() {
return STATE.modelStrings;
}
function setModelStrings(modelStrings) {
STATE.modelStrings = modelStrings;
}
function resetModelStringsForTestingOnly() {
STATE.modelStrings = null;
}
function setMeter(meter, createCounter) {
STATE.meter = meter;
STATE.sessionCounter = createCounter("claude_code.session.count", {
description: "Count of CLI sessions started"
});
STATE.locCounter = createCounter("claude_code.lines_of_code.count", {
description: "Count of lines of code modified, with the 'type' attribute indicating whether lines were added or removed"
});
STATE.prCounter = createCounter("claude_code.pull_request.count", {
description: "Number of pull requests created"
});
STATE.commitCounter = createCounter("claude_code.commit.count", {
description: "Number of git commits created"
});
STATE.costCounter = createCounter("claude_code.cost.usage", {
description: "Cost of the Claude Code session",
unit: "USD"
});
STATE.tokenCounter = createCounter("claude_code.token.usage", {
description: "Number of tokens used",
unit: "tokens"
});
STATE.codeEditToolDecisionCounter = createCounter("claude_code.code_edit_tool.decision", {
description: "Count of code editing tool permission decisions (accept/reject) for Edit, Write, and NotebookEdit tools"
});
STATE.activeTimeCounter = createCounter("claude_code.active_time.total", {
description: "Total active time in seconds",
unit: "s"
});
}
function getMeter() {
return STATE.meter;
}
function getSessionCounter() {
return STATE.sessionCounter;
}
function getLocCounter() {
return STATE.locCounter;
}
function getPrCounter() {
return STATE.prCounter;
}
function getCommitCounter() {
return STATE.commitCounter;
}
function getCostCounter() {
return STATE.costCounter;
}
function getTokenCounter() {
return STATE.tokenCounter;
}
function getCodeEditToolDecisionCounter() {
return STATE.codeEditToolDecisionCounter;
}
function getActiveTimeCounter() {
return STATE.activeTimeCounter;
}
function getLoggerProvider() {
return STATE.loggerProvider;
}
function setLoggerProvider(provider) {
STATE.loggerProvider = provider;
}
function getEventLogger() {
return STATE.eventLogger;
}
function setEventLogger(logger) {
STATE.eventLogger = logger;
}
function getMeterProvider() {
return STATE.meterProvider;
}
function setMeterProvider(provider) {
STATE.meterProvider = provider;
}
function getTracerProvider() {
return STATE.tracerProvider;
}
function setTracerProvider(provider) {
STATE.tracerProvider = provider;
}
function getIsNonInteractiveSession() {
return !STATE.isInteractive;
}
function getIsInteractive() {
return STATE.isInteractive;
}
function setIsInteractive(value) {
STATE.isInteractive = value;
}
function getClientType() {
return STATE.clientType;
}
function setClientType(type) {
STATE.clientType = type;
}
function getSdkAgentProgressSummariesEnabled() {
return STATE.sdkAgentProgressSummariesEnabled;
}
function setSdkAgentProgressSummariesEnabled(value) {
STATE.sdkAgentProgressSummariesEnabled = value;
}
function getKairosActive() {
return STATE.kairosActive;
}
function setKairosActive(value) {
STATE.kairosActive = value;
}
function getStrictToolResultPairing() {
return STATE.strictToolResultPairing;
}
function setStrictToolResultPairing(value) {
STATE.strictToolResultPairing = value;
}
function getUserMsgOptIn() {
return STATE.userMsgOptIn;
}
function setUserMsgOptIn(value) {
STATE.userMsgOptIn = value;
}
function getSessionSource() {
return STATE.sessionSource;
}
function setSessionSource(source) {
STATE.sessionSource = source;
}
function getQuestionPreviewFormat() {
return STATE.questionPreviewFormat;
}
function setQuestionPreviewFormat(format) {
STATE.questionPreviewFormat = format;
}
function getAgentColorMap() {
return STATE.agentColorMap;
}
function getFlagSettingsPath() {
return STATE.flagSettingsPath;
}
function setFlagSettingsPath(path) {
STATE.flagSettingsPath = path;
}
function getFlagSettingsInline() {
return STATE.flagSettingsInline;
}
function setFlagSettingsInline(settings) {
STATE.flagSettingsInline = settings;
}
function getSessionIngressToken() {
return STATE.sessionIngressToken;
}
function setSessionIngressToken(token) {
STATE.sessionIngressToken = token;
}
function getOauthTokenFromFd() {
return STATE.oauthTokenFromFd;
}
function setOauthTokenFromFd(token) {
STATE.oauthTokenFromFd = token;
}
function getApiKeyFromFd() {
return STATE.apiKeyFromFd;
}
function setApiKeyFromFd(key) {
STATE.apiKeyFromFd = key;
}
function setLastAPIRequest(params) {
STATE.lastAPIRequest = params;
}
function getLastAPIRequest() {
return STATE.lastAPIRequest;
}
function setLastAPIRequestMessages(messages) {
STATE.lastAPIRequestMessages = messages;
}
function getLastAPIRequestMessages() {
return STATE.lastAPIRequestMessages;
}
function setLastClassifierRequests(requests) {
STATE.lastClassifierRequests = requests;
}
function getLastClassifierRequests() {
return STATE.lastClassifierRequests;
}
function setCachedClaudeMdContent(content) {
STATE.cachedClaudeMdContent = content;
}
function getCachedClaudeMdContent() {
return STATE.cachedClaudeMdContent;
}
function addToInMemoryErrorLog(errorInfo) {
const MAX_IN_MEMORY_ERRORS = 100;
if (STATE.inMemoryErrorLog.length >= MAX_IN_MEMORY_ERRORS) {
STATE.inMemoryErrorLog.shift();
}
STATE.inMemoryErrorLog.push(errorInfo);
}
function getAllowedSettingSources() {
return STATE.allowedSettingSources;
}
function setAllowedSettingSources(sources) {
STATE.allowedSettingSources = sources;
}
function preferThirdPartyAuthentication() {
return getIsNonInteractiveSession() && STATE.clientType !== "claude-vscode";
}
function setInlinePlugins(plugins) {
STATE.inlinePlugins = plugins;
}
function getInlinePlugins() {
return STATE.inlinePlugins;
}
function setChromeFlagOverride(value) {
STATE.chromeFlagOverride = value;
}
function getChromeFlagOverride() {
return STATE.chromeFlagOverride;
}
function setUseCoworkPlugins(value) {
STATE.useCoworkPlugins = value;
resetSettingsCache();
}
function getUseCoworkPlugins() {
return STATE.useCoworkPlugins;
}
function setSessionBypassPermissionsMode(enabled) {
STATE.sessionBypassPermissionsMode = enabled;
}
function getSessionBypassPermissionsMode() {
return STATE.sessionBypassPermissionsMode;
}
function setScheduledTasksEnabled(enabled) {
STATE.scheduledTasksEnabled = enabled;
}
function getScheduledTasksEnabled() {
return STATE.scheduledTasksEnabled;
}
function getSessionCronTasks() {
return STATE.sessionCronTasks;
}
function addSessionCronTask(task) {
STATE.sessionCronTasks.push(task);
}
function removeSessionCronTasks(ids) {
if (ids.length === 0)
return 0;
const idSet = new Set(ids);
const remaining = STATE.sessionCronTasks.filter((t) => !idSet.has(t.id));
const removed = STATE.sessionCronTasks.length - remaining.length;
if (removed === 0)
return 0;
STATE.sessionCronTasks = remaining;
return removed;
}
function setSessionTrustAccepted(accepted) {
STATE.sessionTrustAccepted = accepted;
}
function getSessionTrustAccepted() {
return STATE.sessionTrustAccepted;
}
function setSessionPersistenceDisabled(disabled) {
STATE.sessionPersistenceDisabled = disabled;
}
function isSessionPersistenceDisabled() {
return STATE.sessionPersistenceDisabled;
}
function hasExitedPlanModeInSession() {
return STATE.hasExitedPlanMode;
}
function setHasExitedPlanMode(value) {
STATE.hasExitedPlanMode = value;
}
function needsPlanModeExitAttachment() {
return STATE.needsPlanModeExitAttachment;
}
function setNeedsPlanModeExitAttachment(value) {
STATE.needsPlanModeExitAttachment = value;
}
function handlePlanModeTransition(fromMode, toMode) {
if (toMode === "plan" && fromMode !== "plan") {
STATE.needsPlanModeExitAttachment = false;
}
if (fromMode === "plan" && toMode !== "plan") {
STATE.needsPlanModeExitAttachment = true;
}
}
function needsAutoModeExitAttachment() {
return STATE.needsAutoModeExitAttachment;
}
function setNeedsAutoModeExitAttachment(value) {
STATE.needsAutoModeExitAttachment = value;
}
function handleAutoModeTransition(fromMode, toMode) {
if (fromMode === "auto" && toMode === "plan" || fromMode === "plan" && toMode === "auto") {
return;
}
const fromIsAuto = fromMode === "auto";
const toIsAuto = toMode === "auto";
if (toIsAuto && !fromIsAuto) {
STATE.needsAutoModeExitAttachment = false;
}
if (fromIsAuto && !toIsAuto) {
STATE.needsAutoModeExitAttachment = true;
}
}
function hasShownLspRecommendationThisSession() {
return STATE.lspRecommendationShownThisSession;
}
function setLspRecommendationShownThisSession(value) {
STATE.lspRecommendationShownThisSession = value;
}
function setInitJsonSchema(schema) {
STATE.initJsonSchema = schema;
}
function getInitJsonSchema() {
return STATE.initJsonSchema;
}
function registerHookCallbacks(hooks) {
if (!STATE.registeredHooks) {
STATE.registeredHooks = {};
}
for (const [event, matchers] of Object.entries(hooks)) {
const eventKey = event;
if (!STATE.registeredHooks[eventKey]) {
STATE.registeredHooks[eventKey] = [];
}
STATE.registeredHooks[eventKey].push(...matchers);
}
}
function getRegisteredHooks() {
return STATE.registeredHooks;
}
function clearRegisteredHooks() {
STATE.registeredHooks = null;
}
function clearRegisteredPluginHooks() {
if (!STATE.registeredHooks) {
return;
}
const filtered = {};
for (const [event, matchers] of Object.entries(STATE.registeredHooks)) {
const callbackHooks = matchers.filter((m) => !("pluginRoot" in m));
if (callbackHooks.length > 0) {
filtered[event] = callbackHooks;
}
}
STATE.registeredHooks = Object.keys(filtered).length > 0 ? filtered : null;
}
function resetSdkInitState() {
STATE.initJsonSchema = null;
STATE.registeredHooks = null;
}
function getPlanSlugCache() {
return STATE.planSlugCache;
}
function getSessionCreatedTeams() {
return STATE.sessionCreatedTeams;
}
function setTeleportedSessionInfo(info) {
STATE.teleportedSessionInfo = {
isTeleported: true,
hasLoggedFirstMessage: false,
sessionId: info.sessionId
};
}
function getTeleportedSessionInfo() {
return STATE.teleportedSessionInfo;
}
function markFirstTeleportMessageLogged() {
if (STATE.teleportedSessionInfo) {
STATE.teleportedSessionInfo.hasLoggedFirstMessage = true;
}
}
function addInvokedSkill(skillName, skillPath, content, agentId = null) {
const key = `${agentId ?? ""}:${skillName}`;
STATE.invokedSkills.set(key, {
skillName,
skillPath,
content,
invokedAt: Date.now(),
agentId
});
}
function getInvokedSkills() {
return STATE.invokedSkills;
}
function getInvokedSkillsForAgent(agentId) {
const normalizedId = agentId ?? null;
const filtered = new Map;
for (const [key, skill] of STATE.invokedSkills) {
if (skill.agentId === normalizedId) {
filtered.set(key, skill);
}
}
return filtered;
}
function clearInvokedSkills(preservedAgentIds) {
if (!preservedAgentIds || preservedAgentIds.size === 0) {
STATE.invokedSkills.clear();
return;
}
for (const [key, skill] of STATE.invokedSkills) {
if (skill.agentId === null || !preservedAgentIds.has(skill.agentId)) {
STATE.invokedSkills.delete(key);
}
}
}
function clearInvokedSkillsForAgent(agentId) {
for (const [key, skill] of STATE.invokedSkills) {
if (skill.agentId === agentId) {
STATE.invokedSkills.delete(key);
}
}
}
function addSlowOperation(operation, durationMs) {
if (process.env.USER_TYPE !== "ant")
return;
if (operation.includes("exec") && operation.includes("claude-prompt-")) {
return;
}
const now = Date.now();
STATE.slowOperations = STATE.slowOperations.filter((op) => now - op.timestamp < SLOW_OPERATION_TTL_MS);
STATE.slowOperations.push({ operation, durationMs, timestamp: now });
if (STATE.slowOperations.length > MAX_SLOW_OPERATIONS) {
STATE.slowOperations = STATE.slowOperations.slice(-MAX_SLOW_OPERATIONS);
}
}
function getSlowOperations() {
if (STATE.slowOperations.length === 0) {
return EMPTY_SLOW_OPERATIONS;
}
const now = Date.now();
if (STATE.slowOperations.some((op) => now - op.timestamp >= SLOW_OPERATION_TTL_MS)) {
STATE.slowOperations = STATE.slowOperations.filter((op) => now - op.timestamp < SLOW_OPERATION_TTL_MS);
if (STATE.slowOperations.length === 0) {
return EMPTY_SLOW_OPERATIONS;
}
}
return STATE.slowOperations;
}
function getMainThreadAgentType() {
return STATE.mainThreadAgentType;
}
function setMainThreadAgentType(agentType) {
STATE.mainThreadAgentType = agentType;
}
function getIsRemoteMode() {
return STATE.isRemoteMode;
}
function setIsRemoteMode(value) {
STATE.isRemoteMode = value;
}
function getSystemPromptSectionCache() {
return STATE.systemPromptSectionCache;
}
function setSystemPromptSectionCacheEntry(name, value) {
STATE.systemPromptSectionCache.set(name, value);
}
function clearSystemPromptSectionState() {
STATE.systemPromptSectionCache.clear();
}
function getLastEmittedDate() {
return STATE.lastEmittedDate;
}
function setLastEmittedDate(date) {
STATE.lastEmittedDate = date;
}
function getAdditionalDirectoriesForClaudeMd() {
return STATE.additionalDirectoriesForClaudeMd;
}
function setAdditionalDirectoriesForClaudeMd(directories) {
STATE.additionalDirectoriesForClaudeMd = directories;
}
function getAllowedChannels() {
return STATE.allowedChannels;
}
function setAllowedChannels(entries) {
STATE.allowedChannels = entries;
}
function getHasDevChannels() {
return STATE.hasDevChannels;
}
function setHasDevChannels(value) {
STATE.hasDevChannels = value;
}
function getPromptCache1hAllowlist() {
return STATE.promptCache1hAllowlist;
}
function setPromptCache1hAllowlist(allowlist) {
STATE.promptCache1hAllowlist = allowlist;
}
function getPromptCache1hEligible() {
return STATE.promptCache1hEligible;
}
function setPromptCache1hEligible(eligible) {
STATE.promptCache1hEligible = eligible;
}
function getAfkModeHeaderLatched() {
return STATE.afkModeHeaderLatched;
}
function setAfkModeHeaderLatched(v) {
STATE.afkModeHeaderLatched = v;
}
function getFastModeHeaderLatched() {
return STATE.fastModeHeaderLatched;
}
function setFastModeHeaderLatched(v) {
STATE.fastModeHeaderLatched = v;
}
function getCacheEditingHeaderLatched() {
return STATE.cacheEditingHeaderLatched;
}
function setCacheEditingHeaderLatched(v) {
STATE.cacheEditingHeaderLatched = v;
}
function getThinkingClearLatched() {
return STATE.thinkingClearLatched;
}
function setThinkingClearLatched(v) {
STATE.thinkingClearLatched = v;
}
function clearBetaHeaderLatches() {
STATE.afkModeHeaderLatched = null;
STATE.fastModeHeaderLatched = null;
STATE.cacheEditingHeaderLatched = null;
STATE.thinkingClearLatched = null;
}
function getPromptId() {
return STATE.promptId;
}
function setPromptId(id) {
STATE.promptId = id;
}
var STATE, sessionSwitched, onSessionSwitch, interactionTimeDirty = false, outputTokensAtTurnStart = 0, currentTurnTokenBudget = null, budgetContinuationCount = 0, scrollDraining = false, scrollDrainTimer, SCROLL_DRAIN_IDLE_MS = 150, MAX_SLOW_OPERATIONS = 10, SLOW_OPERATION_TTL_MS = 1e4, EMPTY_SLOW_OPERATIONS;
var init_state = __esm(() => {
init_sumBy();
init_crypto();
init_settingsCache();
STATE = getInitialState();
sessionSwitched = createSignal();
onSessionSwitch = sessionSwitched.subscribe;
EMPTY_SLOW_OPERATIONS = [];
});
// src/services/analytics/index.ts
function stripProtoFields(metadata) {
let result;
for (const key in metadata) {
if (key.startsWith("_PROTO_")) {
if (result === undefined) {
result = { ...metadata };
}
delete result[key];
}
}
return result ?? metadata;
}
function attachAnalyticsSink(newSink) {
if (sink !== null) {
return;
}
sink = newSink;
if (eventQueue.length > 0) {
const queuedEvents = [...eventQueue];
eventQueue.length = 0;
if (process.env.USER_TYPE === "ant") {
sink.logEvent("analytics_sink_attached", {
queued_event_count: queuedEvents.length
});
}
queueMicrotask(() => {
for (const event of queuedEvents) {
if (event.async) {
sink.logEventAsync(event.eventName, event.metadata);
} else {
sink.logEvent(event.eventName, event.metadata);
}
}
});
}
}
function logEvent(eventName, metadata) {
if (sink === null) {
eventQueue.push({ eventName, metadata, async: false });
return;
}
sink.logEvent(eventName, metadata);
}
var eventQueue, sink = null;
var init_analytics = __esm(() => {
eventQueue = [];
});
// src/utils/bufferedWriter.ts
function createBufferedWriter({
writeFn,
flushIntervalMs = 1000,
maxBufferSize = 100,
maxBufferBytes = Infinity,
immediateMode = false
}) {
let buffer = [];
let bufferBytes = 0;
let flushTimer = null;
let pendingOverflow = null;
function clearTimer() {
if (flushTimer) {
clearTimeout(flushTimer);
flushTimer = null;
}
}
function flush() {
if (pendingOverflow) {
writeFn(pendingOverflow.join(""));
pendingOverflow = null;
}
if (buffer.length === 0)
return;
writeFn(buffer.join(""));
buffer = [];
bufferBytes = 0;
clearTimer();
}
function scheduleFlush() {
if (!flushTimer) {
flushTimer = setTimeout(flush, flushIntervalMs);
}
}
function flushDeferred() {
if (pendingOverflow) {
pendingOverflow.push(...buffer);
buffer = [];
bufferBytes = 0;
clearTimer();
return;
}
const detached = buffer;
buffer = [];
bufferBytes = 0;
clearTimer();
pendingOverflow = detached;
setImmediate(() => {
const toWrite = pendingOverflow;
pendingOverflow = null;
if (toWrite)
writeFn(toWrite.join(""));
});
}
return {
write(content) {
if (immediateMode) {
writeFn(content);
return;
}
buffer.push(content);
bufferBytes += content.length;
scheduleFlush();
if (buffer.length >= maxBufferSize || bufferBytes >= maxBufferBytes) {
flushDeferred();
}
},
flush,
dispose() {
flush();
}
};
}
// src/utils/cleanupRegistry.ts
function registerCleanup(cleanupFn) {
cleanupFunctions.add(cleanupFn);
return () => cleanupFunctions.delete(cleanupFn);
}
async function runCleanupFunctions() {
await Promise.all(Array.from(cleanupFunctions).map((fn) => fn()));
}
var cleanupFunctions;
var init_cleanupRegistry = __esm(() => {
cleanupFunctions = new Set;
});
// src/utils/debugFilter.ts
function extractDebugCategories(message) {
const categories = [];
const mcpMatch = message.match(/^MCP server ["']([^"']+)["']/);
if (mcpMatch && mcpMatch[1]) {
categories.push("mcp");
categories.push(mcpMatch[1].toLowerCase());
} else {
const prefixMatch = message.match(/^([^:[]+):/);
if (prefixMatch && prefixMatch[1]) {
categories.push(prefixMatch[1].trim().toLowerCase());
}
}
const bracketMatch = message.match(/^\[([^\]]+)]/);
if (bracketMatch && bracketMatch[1]) {
categories.push(bracketMatch[1].trim().toLowerCase());
}
if (message.toLowerCase().includes("1p event:")) {
categories.push("1p");
}
const secondaryMatch = message.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);
if (secondaryMatch && secondaryMatch[1]) {
const secondary = secondaryMatch[1].trim().toLowerCase();
if (secondary.length < 30 && !secondary.includes(" ")) {
categories.push(secondary);
}
}
return Array.from(new Set(categories));
}
function shouldShowDebugCategories(categories, filter) {
if (!filter) {
return true;
}
if (categories.length === 0) {
return false;
}
if (filter.isExclusive) {
return !categories.some((cat) => filter.exclude.includes(cat));
} else {
return categories.some((cat) => filter.include.includes(cat));
}
}
function shouldShowDebugMessage(message, filter) {
if (!filter) {
return true;
}
const categories = extractDebugCategories(message);
return shouldShowDebugCategories(categories, filter);
}
var parseDebugFilter;
var init_debugFilter = __esm(() => {
init_memoize();
parseDebugFilter = memoize_default((filterString) => {
if (!filterString || filterString.trim() === "") {
return null;
}
const filters = filterString.split(",").map((f) => f.trim()).filter(Boolean);
if (filters.length === 0) {
return null;
}
const hasExclusive = filters.some((f) => f.startsWith("!"));
const hasInclusive = filters.some((f) => !f.startsWith("!"));
if (hasExclusive && hasInclusive) {
return null;
}
const cleanFilters = filters.map((f) => f.replace(/^!/, "").toLowerCase());
return {
include: hasExclusive ? [] : cleanFilters,
exclude: hasExclusive ? cleanFilters : [],
isExclusive: hasExclusive
};
});
});
// src/utils/protectedNamespace.ts
var exports_protectedNamespace = {};
__export(exports_protectedNamespace, {
protectedNamespace: () => protectedNamespace,
getProtectedNamespace: () => getProtectedNamespace
});
function getProtectedNamespace() {
return {};
}
var protectedNamespace;
var init_protectedNamespace = __esm(() => {
protectedNamespace = {};
});
// src/utils/envUtils.ts
import { homedir } from "os";
import { join } from "path";
function getTeamsDir() {
return join(getClaudeConfigHomeDir(), "teams");
}
function hasNodeOption(flag) {
const nodeOptions = process.env.NODE_OPTIONS;
if (!nodeOptions) {
return false;
}
return nodeOptions.split(/\s+/).includes(flag);
}
function isEnvTruthy(envVar) {
if (!envVar)
return false;
if (typeof envVar === "boolean")
return envVar;
const normalizedValue = envVar.toLowerCase().trim();
return ["1", "true", "yes", "on"].includes(normalizedValue);
}
function isEnvDefinedFalsy(envVar) {
if (envVar === undefined)
return false;
if (typeof envVar === "boolean")
return !envVar;
if (!envVar)
return false;
const normalizedValue = envVar.toLowerCase().trim();
return ["0", "false", "no", "off"].includes(normalizedValue);
}
function isBareMode() {
return isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE) || process.argv.includes("--bare");
}
function parseEnvVars(rawEnvArgs) {
const parsedEnv = {};
if (rawEnvArgs) {
for (const envStr of rawEnvArgs) {
const [key, ...valueParts] = envStr.split("=");
if (!key || valueParts.length === 0) {
throw new Error(`Invalid environment variable format: ${envStr}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`);
}
parsedEnv[key] = valueParts.join("=");
}
}
return parsedEnv;
}
function getAWSRegion() {
return process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION || "us-east-1";
}
function getDefaultVertexRegion() {
return process.env.CLOUD_ML_REGION || "us-east5";
}
function shouldMaintainProjectWorkingDir() {
return isEnvTruthy(process.env.CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR);
}
function isRunningOnHomespace() {
return process.env.USER_TYPE === "ant" && isEnvTruthy(process.env.COO_RUNNING_ON_HOMESPACE);
}
function isInProtectedNamespace() {
if (process.env.USER_TYPE === "ant") {
return (init_protectedNamespace(), __toCommonJS(exports_protectedNamespace)).checkProtectedNamespace();
}
return false;
}
function getVertexRegionForModel(model) {
if (model) {
const match = VERTEX_REGION_OVERRIDES.find(([prefix]) => model.startsWith(prefix));
if (match) {
return process.env[match[1]] || getDefaultVertexRegion();
}
}
return getDefaultVertexRegion();
}
var getClaudeConfigHomeDir, VERTEX_REGION_OVERRIDES;
var init_envUtils = __esm(() => {
init_memoize();
getClaudeConfigHomeDir = memoize_default(() => {
return (process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude")).normalize("NFC");
}, () => process.env.CLAUDE_CONFIG_DIR);
VERTEX_REGION_OVERRIDES = [
["claude-haiku-4-5", "VERTEX_REGION_CLAUDE_HAIKU_4_5"],
["claude-3-5-haiku", "VERTEX_REGION_CLAUDE_3_5_HAIKU"],
["claude-3-5-sonnet", "VERTEX_REGION_CLAUDE_3_5_SONNET"],
["claude-3-7-sonnet", "VERTEX_REGION_CLAUDE_3_7_SONNET"],
["claude-opus-4-1", "VERTEX_REGION_CLAUDE_4_1_OPUS"],
["claude-opus-4", "VERTEX_REGION_CLAUDE_4_0_OPUS"],
["claude-sonnet-4-6", "VERTEX_REGION_CLAUDE_4_6_SONNET"],
["claude-sonnet-4-5", "VERTEX_REGION_CLAUDE_4_5_SONNET"],
["claude-sonnet-4", "VERTEX_REGION_CLAUDE_4_0_SONNET"]
];
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/tslib.mjs
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m")
throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
}
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
var init_tslib = () => {};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs
var uuid4 = function() {
const { crypto: crypto2 } = globalThis;
if (crypto2?.randomUUID) {
uuid4 = crypto2.randomUUID.bind(crypto2);
return crypto2.randomUUID();
}
const u8 = new Uint8Array(1);
const randomByte = crypto2 ? () => crypto2.getRandomValues(u8)[0] : () => Math.random() * 255 & 255;
return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, (c) => (+c ^ randomByte() & 15 >> +c / 4).toString(16));
};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/errors.mjs
function isAbortError(err) {
return typeof err === "object" && err !== null && (("name" in err) && err.name === "AbortError" || ("message" in err) && String(err.message).includes("FetchRequestCanceledException"));
}
var castToError = (err) => {
if (err instanceof Error)
return err;
if (typeof err === "object" && err !== null) {
try {
if (Object.prototype.toString.call(err) === "[object Error]") {
const error = new Error(err.message, err.cause ? { cause: err.cause } : {});
if (err.stack)
error.stack = err.stack;
if (err.cause && !error.cause)
error.cause = err.cause;
if (err.name)
error.name = err.name;
return error;
}
} catch {}
try {
return new Error(JSON.stringify(err));
} catch {}
}
return new Error(err);
};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/error.mjs
var AnthropicError, APIError, APIUserAbortError, APIConnectionError, APIConnectionTimeoutError, BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError;
var init_error = __esm(() => {
AnthropicError = class AnthropicError extends Error {
};
APIError = class APIError extends AnthropicError {
constructor(status, error, message, headers) {
super(`${APIError.makeMessage(status, error, message)}`);
this.status = status;
this.headers = headers;
this.requestID = headers?.get("request-id");
this.error = error;
}
static makeMessage(status, error, message) {
const msg = error?.message ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) : message;
if (status && msg) {
return `${status} ${msg}`;
}
if (status) {
return `${status} status code (no body)`;
}
if (msg) {
return msg;
}
return "(no status code or body)";
}
static generate(status, errorResponse, message, headers) {
if (!status || !headers) {
return new APIConnectionError({ message, cause: castToError(errorResponse) });
}
const error = errorResponse;
if (status === 400) {
return new BadRequestError(status, error, message, headers);
}
if (status === 401) {
return new AuthenticationError(status, error, message, headers);
}
if (status === 403) {
return new PermissionDeniedError(status, error, message, headers);
}
if (status === 404) {
return new NotFoundError(status, error, message, headers);
}
if (status === 409) {
return new ConflictError(status, error, message, headers);
}
if (status === 422) {
return new UnprocessableEntityError(status, error, message, headers);
}
if (status === 429) {
return new RateLimitError(status, error, message, headers);
}
if (status >= 500) {
return new InternalServerError(status, error, message, headers);
}
return new APIError(status, error, message, headers);
}
};
APIUserAbortError = class APIUserAbortError extends APIError {
constructor({ message } = {}) {
super(undefined, undefined, message || "Request was aborted.", undefined);
}
};
APIConnectionError = class APIConnectionError extends APIError {
constructor({ message, cause }) {
super(undefined, undefined, message || "Connection error.", undefined);
if (cause)
this.cause = cause;
}
};
APIConnectionTimeoutError = class APIConnectionTimeoutError extends APIConnectionError {
constructor({ message } = {}) {
super({ message: message ?? "Request timed out." });
}
};
BadRequestError = class BadRequestError extends APIError {
};
AuthenticationError = class AuthenticationError extends APIError {
};
PermissionDeniedError = class PermissionDeniedError extends APIError {
};
NotFoundError = class NotFoundError extends APIError {
};
ConflictError = class ConflictError extends APIError {
};
UnprocessableEntityError = class UnprocessableEntityError extends APIError {
};
RateLimitError = class RateLimitError extends APIError {
};
InternalServerError = class InternalServerError extends APIError {
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs
function maybeObj(x) {
if (typeof x !== "object") {
return {};
}
return x ?? {};
}
function isEmptyObj(obj) {
if (!obj)
return true;
for (const _k in obj)
return false;
return true;
}
function hasOwn(obj, key) {
return Object.prototype.hasOwnProperty.call(obj, key);
}
var startsWithSchemeRegexp, isAbsoluteURL = (url) => {
return startsWithSchemeRegexp.test(url);
}, isArray2 = (val) => (isArray2 = Array.isArray, isArray2(val)), isReadonlyArray, validatePositiveInteger = (name, n) => {
if (typeof n !== "number" || !Number.isInteger(n)) {
throw new AnthropicError(`${name} must be an integer`);
}
if (n < 0) {
throw new AnthropicError(`${name} must be a positive integer`);
}
return n;
}, safeJSON = (text) => {
try {
return JSON.parse(text);
} catch (err) {
return;
}
};
var init_values = __esm(() => {
init_error();
startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
isReadonlyArray = isArray2;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs
var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/version.mjs
var VERSION = "0.80.0";
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs
function getDetectedPlatform() {
if (typeof Deno !== "undefined" && Deno.build != null) {
return "deno";
}
if (typeof EdgeRuntime !== "undefined") {
return "edge";
}
if (Object.prototype.toString.call(typeof globalThis.process !== "undefined" ? globalThis.process : 0) === "[object process]") {
return "node";
}
return "unknown";
}
function getBrowserInfo() {
if (typeof navigator === "undefined" || !navigator) {
return null;
}
const browserPatterns = [
{ key: "edge", pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
{ key: "ie", pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
{ key: "ie", pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
{ key: "chrome", pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
{ key: "firefox", pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
{ key: "safari", pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ }
];
for (const { key, pattern } of browserPatterns) {
const match = pattern.exec(navigator.userAgent);
if (match) {
const major = match[1] || 0;
const minor = match[2] || 0;
const patch = match[3] || 0;
return { browser: key, version: `${major}.${minor}.${patch}` };
}
}
return null;
}
var isRunningInBrowser = () => {
return typeof window !== "undefined" && typeof window.document !== "undefined" && typeof navigator !== "undefined";
}, getPlatformProperties = () => {
const detectedPlatform = getDetectedPlatform();
if (detectedPlatform === "deno") {
return {
"X-Stainless-Lang": "js",
"X-Stainless-Package-Version": VERSION,
"X-Stainless-OS": normalizePlatform(Deno.build.os),
"X-Stainless-Arch": normalizeArch(Deno.build.arch),
"X-Stainless-Runtime": "deno",
"X-Stainless-Runtime-Version": typeof Deno.version === "string" ? Deno.version : Deno.version?.deno ?? "unknown"
};
}
if (typeof EdgeRuntime !== "undefined") {
return {
"X-Stainless-Lang": "js",
"X-Stainless-Package-Version": VERSION,
"X-Stainless-OS": "Unknown",
"X-Stainless-Arch": `other:${EdgeRuntime}`,
"X-Stainless-Runtime": "edge",
"X-Stainless-Runtime-Version": globalThis.process.version
};
}
if (detectedPlatform === "node") {
return {
"X-Stainless-Lang": "js",
"X-Stainless-Package-Version": VERSION,
"X-Stainless-OS": normalizePlatform(globalThis.process.platform ?? "unknown"),
"X-Stainless-Arch": normalizeArch(globalThis.process.arch ?? "unknown"),
"X-Stainless-Runtime": "node",
"X-Stainless-Runtime-Version": globalThis.process.version ?? "unknown"
};
}
const browserInfo = getBrowserInfo();
if (browserInfo) {
return {
"X-Stainless-Lang": "js",
"X-Stainless-Package-Version": VERSION,
"X-Stainless-OS": "Unknown",
"X-Stainless-Arch": "unknown",
"X-Stainless-Runtime": `browser:${browserInfo.browser}`,
"X-Stainless-Runtime-Version": browserInfo.version
};
}
return {
"X-Stainless-Lang": "js",
"X-Stainless-Package-Version": VERSION,
"X-Stainless-OS": "Unknown",
"X-Stainless-Arch": "unknown",
"X-Stainless-Runtime": "unknown",
"X-Stainless-Runtime-Version": "unknown"
};
}, normalizeArch = (arch) => {
if (arch === "x32")
return "x32";
if (arch === "x86_64" || arch === "x64")
return "x64";
if (arch === "arm")
return "arm";
if (arch === "aarch64" || arch === "arm64")
return "arm64";
if (arch)
return `other:${arch}`;
return "unknown";
}, normalizePlatform = (platform) => {
platform = platform.toLowerCase();
if (platform.includes("ios"))
return "iOS";
if (platform === "android")
return "Android";
if (platform === "darwin")
return "MacOS";
if (platform === "win32")
return "Windows";
if (platform === "freebsd")
return "FreeBSD";
if (platform === "openbsd")
return "OpenBSD";
if (platform === "linux")
return "Linux";
if (platform)
return `Other:${platform}`;
return "Unknown";
}, _platformHeaders, getPlatformHeaders = () => {
return _platformHeaders ?? (_platformHeaders = getPlatformProperties());
};
var init_detect_platform = () => {};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/shims.mjs
function getDefaultFetch() {
if (typeof fetch !== "undefined") {
return fetch;
}
throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`");
}
function makeReadableStream(...args) {
const ReadableStream2 = globalThis.ReadableStream;
if (typeof ReadableStream2 === "undefined") {
throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");
}
return new ReadableStream2(...args);
}
function ReadableStreamFrom(iterable) {
let iter = Symbol.asyncIterator in iterable ? iterable[Symbol.asyncIterator]() : iterable[Symbol.iterator]();
return makeReadableStream({
start() {},
async pull(controller) {
const { done, value } = await iter.next();
if (done) {
controller.close();
} else {
controller.enqueue(value);
}
},
async cancel() {
await iter.return?.();
}
});
}
function ReadableStreamToAsyncIterable(stream) {
if (stream[Symbol.asyncIterator])
return stream;
const reader = stream.getReader();
return {
async next() {
try {
const result = await reader.read();
if (result?.done)
reader.releaseLock();
return result;
} catch (e) {
reader.releaseLock();
throw e;
}
},
async return() {
const cancelPromise = reader.cancel();
reader.releaseLock();
await cancelPromise;
return { done: true, value: undefined };
},
[Symbol.asyncIterator]() {
return this;
}
};
}
async function CancelReadableStream(stream) {
if (stream === null || typeof stream !== "object")
return;
if (stream[Symbol.asyncIterator]) {
await stream[Symbol.asyncIterator]().return?.();
return;
}
const reader = stream.getReader();
const cancelPromise = reader.cancel();
reader.releaseLock();
await cancelPromise;
}
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/request-options.mjs
var FallbackEncoder = ({ headers, body }) => {
return {
bodyHeaders: {
"content-type": "application/json"
},
body: JSON.stringify(body)
};
};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/query.mjs
function stringifyQuery(query) {
return Object.entries(query).filter(([_, value]) => typeof value !== "undefined").map(([key, value]) => {
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
}
if (value === null) {
return `${encodeURIComponent(key)}=`;
}
throw new AnthropicError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`);
}).join("&");
}
var init_query = __esm(() => {
init_error();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs
function concatBytes(buffers) {
let length = 0;
for (const buffer of buffers) {
length += buffer.length;
}
const output = new Uint8Array(length);
let index = 0;
for (const buffer of buffers) {
output.set(buffer, index);
index += buffer.length;
}
return output;
}
function encodeUTF8(str) {
let encoder;
return (encodeUTF8_ ?? (encoder = new globalThis.TextEncoder, encodeUTF8_ = encoder.encode.bind(encoder)))(str);
}
function decodeUTF8(bytes) {
let decoder;
return (decodeUTF8_ ?? (decoder = new globalThis.TextDecoder, decodeUTF8_ = decoder.decode.bind(decoder)))(bytes);
}
var encodeUTF8_, decodeUTF8_;
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs
class LineDecoder {
constructor() {
_LineDecoder_buffer.set(this, undefined);
_LineDecoder_carriageReturnIndex.set(this, undefined);
__classPrivateFieldSet(this, _LineDecoder_buffer, new Uint8Array, "f");
__classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
}
decode(chunk) {
if (chunk == null) {
return [];
}
const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? encodeUTF8(chunk) : chunk;
__classPrivateFieldSet(this, _LineDecoder_buffer, concatBytes([__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), binaryChunk]), "f");
const lines = [];
let patternIndex;
while ((patternIndex = findNewlineIndex(__classPrivateFieldGet(this, _LineDecoder_buffer, "f"), __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f"))) != null) {
if (patternIndex.carriage && __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") == null) {
__classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, patternIndex.index, "f");
continue;
}
if (__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") != null && (patternIndex.index !== __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") + 1 || patternIndex.carriage)) {
lines.push(decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") - 1)));
__classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(__classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f")), "f");
__classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
continue;
}
const endIndex = __classPrivateFieldGet(this, _LineDecoder_carriageReturnIndex, "f") !== null ? patternIndex.preceding - 1 : patternIndex.preceding;
const line = decodeUTF8(__classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(0, endIndex));
lines.push(line);
__classPrivateFieldSet(this, _LineDecoder_buffer, __classPrivateFieldGet(this, _LineDecoder_buffer, "f").subarray(patternIndex.index), "f");
__classPrivateFieldSet(this, _LineDecoder_carriageReturnIndex, null, "f");
}
return lines;
}
flush() {
if (!__classPrivateFieldGet(this, _LineDecoder_buffer, "f").length) {
return [];
}
return this.decode(`
`);
}
}
function findNewlineIndex(buffer, startIndex) {
const newline = 10;
const carriage = 13;
for (let i = startIndex ?? 0;i < buffer.length; i++) {
if (buffer[i] === newline) {
return { preceding: i, index: i + 1, carriage: false };
}
if (buffer[i] === carriage) {
return { preceding: i, index: i + 1, carriage: true };
}
}
return null;
}
function findDoubleNewlineIndex(buffer) {
const newline = 10;
const carriage = 13;
for (let i = 0;i < buffer.length - 1; i++) {
if (buffer[i] === newline && buffer[i + 1] === newline) {
return i + 2;
}
if (buffer[i] === carriage && buffer[i + 1] === carriage) {
return i + 2;
}
if (buffer[i] === carriage && buffer[i + 1] === newline && i + 3 < buffer.length && buffer[i + 2] === carriage && buffer[i + 3] === newline) {
return i + 4;
}
}
return -1;
}
var _LineDecoder_buffer, _LineDecoder_carriageReturnIndex;
var init_line = __esm(() => {
init_tslib();
_LineDecoder_buffer = new WeakMap, _LineDecoder_carriageReturnIndex = new WeakMap;
LineDecoder.NEWLINE_CHARS = new Set([`
`, "\r"]);
LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs
function noop() {}
function makeLogFn(fnLevel, logger, logLevel) {
if (!logger || levelNumbers[fnLevel] > levelNumbers[logLevel]) {
return noop;
} else {
return logger[fnLevel].bind(logger);
}
}
function loggerFor(client) {
const logger = client.logger;
const logLevel = client.logLevel ?? "off";
if (!logger) {
return noopLogger;
}
const cachedLogger = cachedLoggers.get(logger);
if (cachedLogger && cachedLogger[0] === logLevel) {
return cachedLogger[1];
}
const levelLogger = {
error: makeLogFn("error", logger, logLevel),
warn: makeLogFn("warn", logger, logLevel),
info: makeLogFn("info", logger, logLevel),
debug: makeLogFn("debug", logger, logLevel)
};
cachedLoggers.set(logger, [logLevel, levelLogger]);
return levelLogger;
}
var levelNumbers, parseLogLevel = (maybeLevel, sourceName, client) => {
if (!maybeLevel) {
return;
}
if (hasOwn(levelNumbers, maybeLevel)) {
return maybeLevel;
}
loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`);
return;
}, noopLogger, cachedLoggers, formatRequestDetails = (details) => {
if (details.options) {
details.options = { ...details.options };
delete details.options["headers"];
}
if (details.headers) {
details.headers = Object.fromEntries((details.headers instanceof Headers ? [...details.headers] : Object.entries(details.headers)).map(([name, value]) => [
name,
name.toLowerCase() === "x-api-key" || name.toLowerCase() === "authorization" || name.toLowerCase() === "cookie" || name.toLowerCase() === "set-cookie" ? "***" : value
]));
}
if ("retryOfRequestLogID" in details) {
if (details.retryOfRequestLogID) {
details.retryOf = details.retryOfRequestLogID;
}
delete details.retryOfRequestLogID;
}
return details;
};
var init_log = __esm(() => {
init_values();
levelNumbers = {
off: 0,
error: 200,
warn: 300,
info: 400,
debug: 500
};
noopLogger = {
error: noop,
warn: noop,
info: noop,
debug: noop
};
cachedLoggers = /* @__PURE__ */ new WeakMap;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/streaming.mjs
async function* _iterSSEMessages(response, controller) {
if (!response.body) {
controller.abort();
if (typeof globalThis.navigator !== "undefined" && globalThis.navigator.product === "ReactNative") {
throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);
}
throw new AnthropicError(`Attempted to iterate over a response with no body`);
}
const sseDecoder = new SSEDecoder;
const lineDecoder = new LineDecoder;
const iter = ReadableStreamToAsyncIterable(response.body);
for await (const sseChunk of iterSSEChunks(iter)) {
for (const line of lineDecoder.decode(sseChunk)) {
const sse = sseDecoder.decode(line);
if (sse)
yield sse;
}
}
for (const line of lineDecoder.flush()) {
const sse = sseDecoder.decode(line);
if (sse)
yield sse;
}
}
async function* iterSSEChunks(iterator) {
let data = new Uint8Array;
for await (const chunk of iterator) {
if (chunk == null) {
continue;
}
const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk) : typeof chunk === "string" ? encodeUTF8(chunk) : chunk;
let newData = new Uint8Array(data.length + binaryChunk.length);
newData.set(data);
newData.set(binaryChunk, data.length);
data = newData;
let patternIndex;
while ((patternIndex = findDoubleNewlineIndex(data)) !== -1) {
yield data.slice(0, patternIndex);
data = data.slice(patternIndex);
}
}
if (data.length > 0) {
yield data;
}
}
class SSEDecoder {
constructor() {
this.event = null;
this.data = [];
this.chunks = [];
}
decode(line) {
if (line.endsWith("\r")) {
line = line.substring(0, line.length - 1);
}
if (!line) {
if (!this.event && !this.data.length)
return null;
const sse = {
event: this.event,
data: this.data.join(`
`),
raw: this.chunks
};
this.event = null;
this.data = [];
this.chunks = [];
return sse;
}
this.chunks.push(line);
if (line.startsWith(":")) {
return null;
}
let [fieldname, _, value] = partition(line, ":");
if (value.startsWith(" ")) {
value = value.substring(1);
}
if (fieldname === "event") {
this.event = value;
} else if (fieldname === "data") {
this.data.push(value);
}
return null;
}
}
function partition(str, delimiter) {
const index = str.indexOf(delimiter);
if (index !== -1) {
return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];
}
return [str, "", ""];
}
var _Stream_client, Stream;
var init_streaming = __esm(() => {
init_tslib();
init_error();
init_line();
init_values();
init_log();
init_error();
Stream = class Stream {
constructor(iterator, controller, client) {
this.iterator = iterator;
_Stream_client.set(this, undefined);
this.controller = controller;
__classPrivateFieldSet(this, _Stream_client, client, "f");
}
static fromSSEResponse(response, controller, client) {
let consumed = false;
const logger = client ? loggerFor(client) : console;
async function* iterator() {
if (consumed) {
throw new AnthropicError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");
}
consumed = true;
let done = false;
try {
for await (const sse of _iterSSEMessages(response, controller)) {
if (sse.event === "completion") {
try {
yield JSON.parse(sse.data);
} catch (e) {
logger.error(`Could not parse message into JSON:`, sse.data);
logger.error(`From chunk:`, sse.raw);
throw e;
}
}
if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") {
try {
yield JSON.parse(sse.data);
} catch (e) {
logger.error(`Could not parse message into JSON:`, sse.data);
logger.error(`From chunk:`, sse.raw);
throw e;
}
}
if (sse.event === "ping") {
continue;
}
if (sse.event === "error") {
throw new APIError(undefined, safeJSON(sse.data) ?? sse.data, undefined, response.headers);
}
}
done = true;
} catch (e) {
if (isAbortError(e))
return;
throw e;
} finally {
if (!done)
controller.abort();
}
}
return new Stream(iterator, controller, client);
}
static fromReadableStream(readableStream, controller, client) {
let consumed = false;
async function* iterLines() {
const lineDecoder = new LineDecoder;
const iter = ReadableStreamToAsyncIterable(readableStream);
for await (const chunk of iter) {
for (const line of lineDecoder.decode(chunk)) {
yield line;
}
}
for (const line of lineDecoder.flush()) {
yield line;
}
}
async function* iterator() {
if (consumed) {
throw new AnthropicError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");
}
consumed = true;
let done = false;
try {
for await (const line of iterLines()) {
if (done)
continue;
if (line)
yield JSON.parse(line);
}
done = true;
} catch (e) {
if (isAbortError(e))
return;
throw e;
} finally {
if (!done)
controller.abort();
}
}
return new Stream(iterator, controller, client);
}
[(_Stream_client = new WeakMap, Symbol.asyncIterator)]() {
return this.iterator();
}
tee() {
const left = [];
const right = [];
const iterator = this.iterator();
const teeIterator = (queue) => {
return {
next: () => {
if (queue.length === 0) {
const result = iterator.next();
left.push(result);
right.push(result);
}
return queue.shift();
}
};
};
return [
new Stream(() => teeIterator(left), this.controller, __classPrivateFieldGet(this, _Stream_client, "f")),
new Stream(() => teeIterator(right), this.controller, __classPrivateFieldGet(this, _Stream_client, "f"))
];
}
toReadableStream() {
const self2 = this;
let iter;
return makeReadableStream({
async start() {
iter = self2[Symbol.asyncIterator]();
},
async pull(ctrl) {
try {
const { value, done } = await iter.next();
if (done)
return ctrl.close();
const bytes = encodeUTF8(JSON.stringify(value) + `
`);
ctrl.enqueue(bytes);
} catch (err) {
ctrl.error(err);
}
},
async cancel() {
await iter.return?.();
}
});
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/parse.mjs
async function defaultParseResponse(client, props) {
const { response, requestLogID, retryOfRequestLogID, startTime } = props;
const body = await (async () => {
if (props.options.stream) {
loggerFor(client).debug("response", response.status, response.url, response.headers, response.body);
if (props.options.__streamClass) {
return props.options.__streamClass.fromSSEResponse(response, props.controller);
}
return Stream.fromSSEResponse(response, props.controller);
}
if (response.status === 204) {
return null;
}
if (props.options.__binaryResponse) {
return response;
}
const contentType = response.headers.get("content-type");
const mediaType = contentType?.split(";")[0]?.trim();
const isJSON = mediaType?.includes("application/json") || mediaType?.endsWith("+json");
if (isJSON) {
const contentLength = response.headers.get("content-length");
if (contentLength === "0") {
return;
}
const json = await response.json();
return addRequestID(json, response);
}
const text = await response.text();
return text;
})();
loggerFor(client).debug(`[${requestLogID}] response parsed`, formatRequestDetails({
retryOfRequestLogID,
url: response.url,
status: response.status,
body,
durationMs: Date.now() - startTime
}));
return body;
}
function addRequestID(value, response) {
if (!value || typeof value !== "object" || Array.isArray(value)) {
return value;
}
return Object.defineProperty(value, "_request_id", {
value: response.headers.get("request-id"),
enumerable: false
});
}
var init_parse = __esm(() => {
init_streaming();
init_log();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/api-promise.mjs
var _APIPromise_client, APIPromise;
var init_api_promise = __esm(() => {
init_tslib();
init_parse();
APIPromise = class APIPromise extends Promise {
constructor(client, responsePromise, parseResponse = defaultParseResponse) {
super((resolve) => {
resolve(null);
});
this.responsePromise = responsePromise;
this.parseResponse = parseResponse;
_APIPromise_client.set(this, undefined);
__classPrivateFieldSet(this, _APIPromise_client, client, "f");
}
_thenUnwrap(transform) {
return new APIPromise(__classPrivateFieldGet(this, _APIPromise_client, "f"), this.responsePromise, async (client, props) => addRequestID(transform(await this.parseResponse(client, props), props), props.response));
}
asResponse() {
return this.responsePromise.then((p) => p.response);
}
async withResponse() {
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
return { data, response, request_id: response.headers.get("request-id") };
}
parse() {
if (!this.parsedPromise) {
this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(__classPrivateFieldGet(this, _APIPromise_client, "f"), data));
}
return this.parsedPromise;
}
then(onfulfilled, onrejected) {
return this.parse().then(onfulfilled, onrejected);
}
catch(onrejected) {
return this.parse().catch(onrejected);
}
finally(onfinally) {
return this.parse().finally(onfinally);
}
};
_APIPromise_client = new WeakMap;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/pagination.mjs
var _AbstractPage_client, AbstractPage, PagePromise, Page, PageCursor;
var init_pagination = __esm(() => {
init_tslib();
init_error();
init_parse();
init_api_promise();
init_values();
AbstractPage = class AbstractPage {
constructor(client, response, body, options) {
_AbstractPage_client.set(this, undefined);
__classPrivateFieldSet(this, _AbstractPage_client, client, "f");
this.options = options;
this.response = response;
this.body = body;
}
hasNextPage() {
const items = this.getPaginatedItems();
if (!items.length)
return false;
return this.nextPageRequestOptions() != null;
}
async getNextPage() {
const nextOptions = this.nextPageRequestOptions();
if (!nextOptions) {
throw new AnthropicError("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");
}
return await __classPrivateFieldGet(this, _AbstractPage_client, "f").requestAPIList(this.constructor, nextOptions);
}
async* iterPages() {
let page = this;
yield page;
while (page.hasNextPage()) {
page = await page.getNextPage();
yield page;
}
}
async* [(_AbstractPage_client = new WeakMap, Symbol.asyncIterator)]() {
for await (const page of this.iterPages()) {
for (const item of page.getPaginatedItems()) {
yield item;
}
}
}
};
PagePromise = class PagePromise extends APIPromise {
constructor(client, request, Page) {
super(client, request, async (client2, props) => new Page(client2, props.response, await defaultParseResponse(client2, props), props.options));
}
async* [Symbol.asyncIterator]() {
const page = await this;
for await (const item of page) {
yield item;
}
}
};
Page = class Page extends AbstractPage {
constructor(client, response, body, options) {
super(client, response, body, options);
this.data = body.data || [];
this.has_more = body.has_more || false;
this.first_id = body.first_id || null;
this.last_id = body.last_id || null;
}
getPaginatedItems() {
return this.data ?? [];
}
hasNextPage() {
if (this.has_more === false) {
return false;
}
return super.hasNextPage();
}
nextPageRequestOptions() {
if (this.options.query?.["before_id"]) {
const first_id = this.first_id;
if (!first_id) {
return null;
}
return {
...this.options,
query: {
...maybeObj(this.options.query),
before_id: first_id
}
};
}
const cursor = this.last_id;
if (!cursor) {
return null;
}
return {
...this.options,
query: {
...maybeObj(this.options.query),
after_id: cursor
}
};
}
};
PageCursor = class PageCursor extends AbstractPage {
constructor(client, response, body, options) {
super(client, response, body, options);
this.data = body.data || [];
this.has_more = body.has_more || false;
this.next_page = body.next_page || null;
}
getPaginatedItems() {
return this.data ?? [];
}
hasNextPage() {
if (this.has_more === false) {
return false;
}
return super.hasNextPage();
}
nextPageRequestOptions() {
const cursor = this.next_page;
if (!cursor) {
return null;
}
return {
...this.options,
query: {
...maybeObj(this.options.query),
page: cursor
}
};
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/uploads.mjs
function makeFile(fileBits, fileName, options) {
checkFileSupport();
return new File(fileBits, fileName ?? "unknown_file", options);
}
function getName(value, stripPath) {
const val = typeof value === "object" && value !== null && (("name" in value) && value.name && String(value.name) || ("url" in value) && value.url && String(value.url) || ("filename" in value) && value.filename && String(value.filename) || ("path" in value) && value.path && String(value.path)) || "";
return stripPath ? val.split(/[\\/]/).pop() || undefined : val;
}
function supportsFormData(fetchObject) {
const fetch2 = typeof fetchObject === "function" ? fetchObject : fetchObject.fetch;
const cached = supportsFormDataMap.get(fetch2);
if (cached)
return cached;
const promise = (async () => {
try {
const FetchResponse = "Response" in fetch2 ? fetch2.Response : (await fetch2("data:,")).constructor;
const data = new FormData;
if (data.toString() === await new FetchResponse(data).text()) {
return false;
}
return true;
} catch {
return true;
}
})();
supportsFormDataMap.set(fetch2, promise);
return promise;
}
var checkFileSupport = () => {
if (typeof File === "undefined") {
const { process: process2 } = globalThis;
const isOldNode = typeof process2?.versions?.node === "string" && parseInt(process2.versions.node.split(".")) < 20;
throw new Error("`File` is not defined as a global, which is required for file uploads." + (isOldNode ? " Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`." : ""));
}
}, isAsyncIterable = (value) => value != null && typeof value === "object" && typeof value[Symbol.asyncIterator] === "function", multipartFormRequestOptions = async (opts, fetch2, stripFilenames = true) => {
return { ...opts, body: await createForm(opts.body, fetch2, stripFilenames) };
}, supportsFormDataMap, createForm = async (body, fetch2, stripFilenames = true) => {
if (!await supportsFormData(fetch2)) {
throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");
}
const form = new FormData;
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value, stripFilenames)));
return form;
}, isNamedBlob = (value) => value instanceof Blob && ("name" in value), addFormValue = async (form, key, value, stripFilenames) => {
if (value === undefined)
return;
if (value == null) {
throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
}
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
form.append(key, String(value));
} else if (value instanceof Response) {
let options = {};
const contentType = value.headers.get("Content-Type");
if (contentType) {
options = { type: contentType };
}
form.append(key, makeFile([await value.blob()], getName(value, stripFilenames), options));
} else if (isAsyncIterable(value)) {
form.append(key, makeFile([await new Response(ReadableStreamFrom(value)).blob()], getName(value, stripFilenames)));
} else if (isNamedBlob(value)) {
form.append(key, makeFile([value], getName(value, stripFilenames), { type: value.type }));
} else if (Array.isArray(value)) {
await Promise.all(value.map((entry) => addFormValue(form, key + "[]", entry, stripFilenames)));
} else if (typeof value === "object") {
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop, stripFilenames)));
} else {
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
}
};
var init_uploads = __esm(() => {
supportsFormDataMap = /* @__PURE__ */ new WeakMap;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/to-file.mjs
async function toFile(value, name, options) {
checkFileSupport();
value = await value;
name || (name = getName(value, true));
if (isFileLike(value)) {
if (value instanceof File && name == null && options == null) {
return value;
}
return makeFile([await value.arrayBuffer()], name ?? value.name, {
type: value.type,
lastModified: value.lastModified,
...options
});
}
if (isResponseLike(value)) {
const blob = await value.blob();
name || (name = new URL(value.url).pathname.split(/[\\/]/).pop());
return makeFile(await getBytes(blob), name, options);
}
const parts = await getBytes(value);
if (!options?.type) {
const type = parts.find((part) => typeof part === "object" && ("type" in part) && part.type);
if (typeof type === "string") {
options = { ...options, type };
}
}
return makeFile(parts, name, options);
}
async function getBytes(value) {
let parts = [];
if (typeof value === "string" || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) {
parts.push(value);
} else if (isBlobLike(value)) {
parts.push(value instanceof Blob ? value : await value.arrayBuffer());
} else if (isAsyncIterable(value)) {
for await (const chunk of value) {
parts.push(...await getBytes(chunk));
}
} else {
const constructor = value?.constructor?.name;
throw new Error(`Unexpected data type: ${typeof value}${constructor ? `; constructor: ${constructor}` : ""}${propsForError(value)}`);
}
return parts;
}
function propsForError(value) {
if (typeof value !== "object" || value === null)
return "";
const props = Object.getOwnPropertyNames(value);
return `; props: [${props.map((p) => `"${p}"`).join(", ")}]`;
}
var isBlobLike = (value) => value != null && typeof value === "object" && typeof value.size === "number" && typeof value.type === "string" && typeof value.text === "function" && typeof value.slice === "function" && typeof value.arrayBuffer === "function", isFileLike = (value) => value != null && typeof value === "object" && typeof value.name === "string" && typeof value.lastModified === "number" && isBlobLike(value), isResponseLike = (value) => value != null && typeof value === "object" && typeof value.url === "string" && typeof value.blob === "function";
var init_to_file = __esm(() => {
init_uploads();
init_uploads();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/uploads.mjs
var init_uploads2 = __esm(() => {
init_to_file();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/shared.mjs
var init_shared = () => {};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/core/resource.mjs
class APIResource {
constructor(client) {
this._client = client;
}
}
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/headers.mjs
function* iterateHeaders(headers) {
if (!headers)
return;
if (brand_privateNullableHeaders in headers) {
const { values, nulls } = headers;
yield* values.entries();
for (const name of nulls) {
yield [name, null];
}
return;
}
let shouldClear = false;
let iter;
if (headers instanceof Headers) {
iter = headers.entries();
} else if (isReadonlyArray(headers)) {
iter = headers;
} else {
shouldClear = true;
iter = Object.entries(headers ?? {});
}
for (let row of iter) {
const name = row[0];
if (typeof name !== "string")
throw new TypeError("expected header name to be a string");
const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];
let didClear = false;
for (const value of values) {
if (value === undefined)
continue;
if (shouldClear && !didClear) {
didClear = true;
yield [name, null];
}
yield [name, value];
}
}
}
var brand_privateNullableHeaders, buildHeaders = (newHeaders) => {
const targetHeaders = new Headers;
const nullHeaders = new Set;
for (const headers of newHeaders) {
const seenHeaders = new Set;
for (const [name, value] of iterateHeaders(headers)) {
const lowerName = name.toLowerCase();
if (!seenHeaders.has(lowerName)) {
targetHeaders.delete(name);
seenHeaders.add(lowerName);
}
if (value === null) {
targetHeaders.delete(name);
nullHeaders.add(lowerName);
} else {
targetHeaders.append(name, value);
nullHeaders.delete(lowerName);
}
}
}
return { [brand_privateNullableHeaders]: true, values: targetHeaders, nulls: nullHeaders };
};
var init_headers = __esm(() => {
init_values();
brand_privateNullableHeaders = Symbol.for("brand.privateNullableHeaders");
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/stainless-helper-header.mjs
function wasCreatedByStainlessHelper(value) {
return typeof value === "object" && value !== null && SDK_HELPER_SYMBOL in value;
}
function collectStainlessHelpers(tools, messages) {
const helpers = new Set;
if (tools) {
for (const tool of tools) {
if (wasCreatedByStainlessHelper(tool)) {
helpers.add(tool[SDK_HELPER_SYMBOL]);
}
}
}
if (messages) {
for (const message of messages) {
if (wasCreatedByStainlessHelper(message)) {
helpers.add(message[SDK_HELPER_SYMBOL]);
}
if (Array.isArray(message.content)) {
for (const block of message.content) {
if (wasCreatedByStainlessHelper(block)) {
helpers.add(block[SDK_HELPER_SYMBOL]);
}
}
}
}
}
return Array.from(helpers);
}
function stainlessHelperHeader(tools, messages) {
const helpers = collectStainlessHelpers(tools, messages);
if (helpers.length === 0)
return {};
return { "x-stainless-helper": helpers.join(", ") };
}
function stainlessHelperHeaderFromFile(file) {
if (wasCreatedByStainlessHelper(file)) {
return { "x-stainless-helper": file[SDK_HELPER_SYMBOL] };
}
return {};
}
var SDK_HELPER_SYMBOL;
var init_stainless_helper_header = __esm(() => {
SDK_HELPER_SYMBOL = Symbol("anthropic.sdk.stainlessHelper");
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs
function encodeURIPath(str) {
return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
}
var EMPTY, createPathTagFunction = (pathEncoder = encodeURIPath) => function path(statics, ...params) {
if (statics.length === 1)
return statics[0];
let postPath = false;
const invalidSegments = [];
const path2 = statics.reduce((previousValue, currentValue, index) => {
if (/[?#]/.test(currentValue)) {
postPath = true;
}
const value = params[index];
let encoded = (postPath ? encodeURIComponent : pathEncoder)("" + value);
if (index !== params.length && (value == null || typeof value === "object" && value.toString === Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty ?? EMPTY) ?? EMPTY)?.toString)) {
encoded = value + "";
invalidSegments.push({
start: previousValue.length + currentValue.length,
length: encoded.length,
error: `Value of type ${Object.prototype.toString.call(value).slice(8, -1)} is not a valid path parameter`
});
}
return previousValue + currentValue + (index === params.length ? "" : encoded);
}, "");
const pathOnly = path2.split(/[?#]/, 1)[0];
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
let match;
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
invalidSegments.push({
start: match.index,
length: match[0].length,
error: `Value "${match[0]}" can't be safely passed as a path parameter`
});
}
invalidSegments.sort((a, b) => a.start - b.start);
if (invalidSegments.length > 0) {
let lastEnd = 0;
const underline = invalidSegments.reduce((acc, segment) => {
const spaces = " ".repeat(segment.start - lastEnd);
const arrows = "^".repeat(segment.length);
lastEnd = segment.start + segment.length;
return acc + spaces + arrows;
}, "");
throw new AnthropicError(`Path parameters result in path with invalid segments:
${invalidSegments.map((e) => e.error).join(`
`)}
${path2}
${underline}`);
}
return path2;
}, path;
var init_path = __esm(() => {
init_error();
EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs
var Files;
var init_files = __esm(() => {
init_pagination();
init_headers();
init_stainless_helper_header();
init_uploads();
init_path();
Files = class Files extends APIResource {
list(params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList("/v1/files", Page, {
query,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "files-api-2025-04-14"].toString() },
options?.headers
])
});
}
delete(fileID, params = {}, options) {
const { betas } = params ?? {};
return this._client.delete(path`/v1/files/${fileID}`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "files-api-2025-04-14"].toString() },
options?.headers
])
});
}
download(fileID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/files/${fileID}/content`, {
...options,
headers: buildHeaders([
{
"anthropic-beta": [...betas ?? [], "files-api-2025-04-14"].toString(),
Accept: "application/binary"
},
options?.headers
]),
__binaryResponse: true
});
}
retrieveMetadata(fileID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/files/${fileID}`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "files-api-2025-04-14"].toString() },
options?.headers
])
});
}
upload(params, options) {
const { betas, ...body } = params;
return this._client.post("/v1/files", multipartFormRequestOptions({
body,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "files-api-2025-04-14"].toString() },
stainlessHelperHeaderFromFile(body.file),
options?.headers
])
}, this._client));
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs
var Models;
var init_models = __esm(() => {
init_pagination();
init_headers();
init_path();
Models = class Models extends APIResource {
retrieve(modelID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/models/${modelID}?beta=true`, {
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
options?.headers
])
});
}
list(params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList("/v1/models?beta=true", Page, {
query,
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
options?.headers
])
});
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/error.mjs
var init_error2 = __esm(() => {
init_error();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/constants.mjs
var MODEL_NONSTREAMING_TOKENS;
var init_constants = __esm(() => {
MODEL_NONSTREAMING_TOKENS = {
"claude-opus-4-20250514": 8192,
"claude-opus-4-0": 8192,
"claude-4-opus-20250514": 8192,
"anthropic.claude-opus-4-20250514-v1:0": 8192,
"claude-opus-4@20250514": 8192,
"claude-opus-4-1-20250805": 8192,
"anthropic.claude-opus-4-1-20250805-v1:0": 8192,
"claude-opus-4-1@20250805": 8192
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/beta-parser.mjs
function getOutputFormat(params) {
return params?.output_format ?? params?.output_config?.format;
}
function maybeParseBetaMessage(message, params, opts) {
const outputFormat = getOutputFormat(params);
if (!params || !("parse" in (outputFormat ?? {}))) {
return {
...message,
content: message.content.map((block) => {
if (block.type === "text") {
const parsedBlock = Object.defineProperty({ ...block }, "parsed_output", {
value: null,
enumerable: false
});
return Object.defineProperty(parsedBlock, "parsed", {
get() {
opts.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.");
return null;
},
enumerable: false
});
}
return block;
}),
parsed_output: null
};
}
return parseBetaMessage(message, params, opts);
}
function parseBetaMessage(message, params, opts) {
let firstParsedOutput = null;
const content = message.content.map((block) => {
if (block.type === "text") {
const parsedOutput = parseBetaOutputFormat(params, block.text);
if (firstParsedOutput === null) {
firstParsedOutput = parsedOutput;
}
const parsedBlock = Object.defineProperty({ ...block }, "parsed_output", {
value: parsedOutput,
enumerable: false
});
return Object.defineProperty(parsedBlock, "parsed", {
get() {
opts.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead.");
return parsedOutput;
},
enumerable: false
});
}
return block;
});
return {
...message,
content,
parsed_output: firstParsedOutput
};
}
function parseBetaOutputFormat(params, content) {
const outputFormat = getOutputFormat(params);
if (outputFormat?.type !== "json_schema") {
return null;
}
try {
if ("parse" in outputFormat) {
return outputFormat.parse(content);
}
return JSON.parse(content);
} catch (error2) {
throw new AnthropicError(`Failed to parse structured output: ${error2}`);
}
}
var init_beta_parser = __esm(() => {
init_error();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs
var tokenize = (input) => {
let current = 0;
let tokens = [];
while (current < input.length) {
let char = input[current];
if (char === "\\") {
current++;
continue;
}
if (char === "{") {
tokens.push({
type: "brace",
value: "{"
});
current++;
continue;
}
if (char === "}") {
tokens.push({
type: "brace",
value: "}"
});
current++;
continue;
}
if (char === "[") {
tokens.push({
type: "paren",
value: "["
});
current++;
continue;
}
if (char === "]") {
tokens.push({
type: "paren",
value: "]"
});
current++;
continue;
}
if (char === ":") {
tokens.push({
type: "separator",
value: ":"
});
current++;
continue;
}
if (char === ",") {
tokens.push({
type: "delimiter",
value: ","
});
current++;
continue;
}
if (char === '"') {
let value = "";
let danglingQuote = false;
char = input[++current];
while (char !== '"') {
if (current === input.length) {
danglingQuote = true;
break;
}
if (char === "\\") {
current++;
if (current === input.length) {
danglingQuote = true;
break;
}
value += char + input[current];
char = input[++current];
} else {
value += char;
char = input[++current];
}
}
char = input[++current];
if (!danglingQuote) {
tokens.push({
type: "string",
value
});
}
continue;
}
let WHITESPACE = /\s/;
if (char && WHITESPACE.test(char)) {
current++;
continue;
}
let NUMBERS = /[0-9]/;
if (char && NUMBERS.test(char) || char === "-" || char === ".") {
let value = "";
if (char === "-") {
value += char;
char = input[++current];
}
while (char && NUMBERS.test(char) || char === ".") {
value += char;
char = input[++current];
}
tokens.push({
type: "number",
value
});
continue;
}
let LETTERS = /[a-z]/i;
if (char && LETTERS.test(char)) {
let value = "";
while (char && LETTERS.test(char)) {
if (current === input.length) {
break;
}
value += char;
char = input[++current];
}
if (value == "true" || value == "false" || value === "null") {
tokens.push({
type: "name",
value
});
} else {
current++;
continue;
}
continue;
}
current++;
}
return tokens;
}, strip = (tokens) => {
if (tokens.length === 0) {
return tokens;
}
let lastToken = tokens[tokens.length - 1];
switch (lastToken.type) {
case "separator":
tokens = tokens.slice(0, tokens.length - 1);
return strip(tokens);
break;
case "number":
let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];
if (lastCharacterOfLastToken === "." || lastCharacterOfLastToken === "-") {
tokens = tokens.slice(0, tokens.length - 1);
return strip(tokens);
}
case "string":
let tokenBeforeTheLastToken = tokens[tokens.length - 2];
if (tokenBeforeTheLastToken?.type === "delimiter") {
tokens = tokens.slice(0, tokens.length - 1);
return strip(tokens);
} else if (tokenBeforeTheLastToken?.type === "brace" && tokenBeforeTheLastToken.value === "{") {
tokens = tokens.slice(0, tokens.length - 1);
return strip(tokens);
}
break;
case "delimiter":
tokens = tokens.slice(0, tokens.length - 1);
return strip(tokens);
break;
}
return tokens;
}, unstrip = (tokens) => {
let tail = [];
tokens.map((token) => {
if (token.type === "brace") {
if (token.value === "{") {
tail.push("}");
} else {
tail.splice(tail.lastIndexOf("}"), 1);
}
}
if (token.type === "paren") {
if (token.value === "[") {
tail.push("]");
} else {
tail.splice(tail.lastIndexOf("]"), 1);
}
}
});
if (tail.length > 0) {
tail.reverse().map((item) => {
if (item === "}") {
tokens.push({
type: "brace",
value: "}"
});
} else if (item === "]") {
tokens.push({
type: "paren",
value: "]"
});
}
});
}
return tokens;
}, generate = (tokens) => {
let output = "";
tokens.map((token) => {
switch (token.type) {
case "string":
output += '"' + token.value + '"';
break;
default:
output += token.value;
break;
}
});
return output;
}, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));
var init_parser = () => {};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/streaming.mjs
var init_streaming2 = __esm(() => {
init_streaming();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs
function tracksToolInput(content) {
return content.type === "tool_use" || content.type === "server_tool_use" || content.type === "mcp_tool_use";
}
function checkNever(x) {}
var _BetaMessageStream_instances, _BetaMessageStream_currentMessageSnapshot, _BetaMessageStream_params, _BetaMessageStream_connectedPromise, _BetaMessageStream_resolveConnectedPromise, _BetaMessageStream_rejectConnectedPromise, _BetaMessageStream_endPromise, _BetaMessageStream_resolveEndPromise, _BetaMessageStream_rejectEndPromise, _BetaMessageStream_listeners, _BetaMessageStream_ended, _BetaMessageStream_errored, _BetaMessageStream_aborted, _BetaMessageStream_catchingPromiseCreated, _BetaMessageStream_response, _BetaMessageStream_request_id, _BetaMessageStream_logger, _BetaMessageStream_getFinalMessage, _BetaMessageStream_getFinalText, _BetaMessageStream_handleError, _BetaMessageStream_beginRequest, _BetaMessageStream_addStreamEvent, _BetaMessageStream_endRequest, _BetaMessageStream_accumulateMessage, JSON_BUF_PROPERTY = "__json_buf", BetaMessageStream;
var init_BetaMessageStream = __esm(() => {
init_tslib();
init_parser();
init_error2();
init_streaming2();
init_beta_parser();
BetaMessageStream = class BetaMessageStream {
constructor(params, opts) {
_BetaMessageStream_instances.add(this);
this.messages = [];
this.receivedMessages = [];
_BetaMessageStream_currentMessageSnapshot.set(this, undefined);
_BetaMessageStream_params.set(this, null);
this.controller = new AbortController;
_BetaMessageStream_connectedPromise.set(this, undefined);
_BetaMessageStream_resolveConnectedPromise.set(this, () => {});
_BetaMessageStream_rejectConnectedPromise.set(this, () => {});
_BetaMessageStream_endPromise.set(this, undefined);
_BetaMessageStream_resolveEndPromise.set(this, () => {});
_BetaMessageStream_rejectEndPromise.set(this, () => {});
_BetaMessageStream_listeners.set(this, {});
_BetaMessageStream_ended.set(this, false);
_BetaMessageStream_errored.set(this, false);
_BetaMessageStream_aborted.set(this, false);
_BetaMessageStream_catchingPromiseCreated.set(this, false);
_BetaMessageStream_response.set(this, undefined);
_BetaMessageStream_request_id.set(this, undefined);
_BetaMessageStream_logger.set(this, undefined);
_BetaMessageStream_handleError.set(this, (error2) => {
__classPrivateFieldSet(this, _BetaMessageStream_errored, true, "f");
if (isAbortError(error2)) {
error2 = new APIUserAbortError;
}
if (error2 instanceof APIUserAbortError) {
__classPrivateFieldSet(this, _BetaMessageStream_aborted, true, "f");
return this._emit("abort", error2);
}
if (error2 instanceof AnthropicError) {
return this._emit("error", error2);
}
if (error2 instanceof Error) {
const anthropicError = new AnthropicError(error2.message);
anthropicError.cause = error2;
return this._emit("error", anthropicError);
}
return this._emit("error", new AnthropicError(String(error2)));
});
__classPrivateFieldSet(this, _BetaMessageStream_connectedPromise, new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _BetaMessageStream_resolveConnectedPromise, resolve, "f");
__classPrivateFieldSet(this, _BetaMessageStream_rejectConnectedPromise, reject, "f");
}), "f");
__classPrivateFieldSet(this, _BetaMessageStream_endPromise, new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _BetaMessageStream_resolveEndPromise, resolve, "f");
__classPrivateFieldSet(this, _BetaMessageStream_rejectEndPromise, reject, "f");
}), "f");
__classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, "f").catch(() => {});
__classPrivateFieldGet(this, _BetaMessageStream_endPromise, "f").catch(() => {});
__classPrivateFieldSet(this, _BetaMessageStream_params, params, "f");
__classPrivateFieldSet(this, _BetaMessageStream_logger, opts?.logger ?? console, "f");
}
get response() {
return __classPrivateFieldGet(this, _BetaMessageStream_response, "f");
}
get request_id() {
return __classPrivateFieldGet(this, _BetaMessageStream_request_id, "f");
}
async withResponse() {
__classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, "f");
const response = await __classPrivateFieldGet(this, _BetaMessageStream_connectedPromise, "f");
if (!response) {
throw new Error("Could not resolve a `Response` object");
}
return {
data: this,
response,
request_id: response.headers.get("request-id")
};
}
static fromReadableStream(stream) {
const runner = new BetaMessageStream(null);
runner._run(() => runner._fromReadableStream(stream));
return runner;
}
static createMessage(messages, params, options, { logger } = {}) {
const runner = new BetaMessageStream(params, { logger });
for (const message of params.messages) {
runner._addMessageParam(message);
}
__classPrivateFieldSet(runner, _BetaMessageStream_params, { ...params, stream: true }, "f");
runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } }));
return runner;
}
_run(executor) {
executor().then(() => {
this._emitFinal();
this._emit("end");
}, __classPrivateFieldGet(this, _BetaMessageStream_handleError, "f"));
}
_addMessageParam(message) {
this.messages.push(message);
}
_addMessage(message, emit = true) {
this.receivedMessages.push(message);
if (emit) {
this._emit("message", message);
}
}
async _createMessage(messages, params, options) {
const signal = options?.signal;
let abortHandler;
if (signal) {
if (signal.aborted)
this.controller.abort();
abortHandler = this.controller.abort.bind(this.controller);
signal.addEventListener("abort", abortHandler);
}
try {
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_beginRequest).call(this);
const { response, data: stream } = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }).withResponse();
this._connected(response);
for await (const event of stream) {
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_addStreamEvent).call(this, event);
}
if (stream.controller.signal?.aborted) {
throw new APIUserAbortError;
}
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_endRequest).call(this);
} finally {
if (signal && abortHandler) {
signal.removeEventListener("abort", abortHandler);
}
}
}
_connected(response) {
if (this.ended)
return;
__classPrivateFieldSet(this, _BetaMessageStream_response, response, "f");
__classPrivateFieldSet(this, _BetaMessageStream_request_id, response?.headers.get("request-id"), "f");
__classPrivateFieldGet(this, _BetaMessageStream_resolveConnectedPromise, "f").call(this, response);
this._emit("connect");
}
get ended() {
return __classPrivateFieldGet(this, _BetaMessageStream_ended, "f");
}
get errored() {
return __classPrivateFieldGet(this, _BetaMessageStream_errored, "f");
}
get aborted() {
return __classPrivateFieldGet(this, _BetaMessageStream_aborted, "f");
}
abort() {
this.controller.abort();
}
on(event, listener) {
const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event] = []);
listeners.push({ listener });
return this;
}
off(event, listener) {
const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event];
if (!listeners)
return this;
const index = listeners.findIndex((l) => l.listener === listener);
if (index >= 0)
listeners.splice(index, 1);
return this;
}
once(event, listener) {
const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event] = []);
listeners.push({ listener, once: true });
return this;
}
emitted(event) {
return new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, "f");
if (event !== "error")
this.once("error", reject);
this.once(event, resolve);
});
}
async done() {
__classPrivateFieldSet(this, _BetaMessageStream_catchingPromiseCreated, true, "f");
await __classPrivateFieldGet(this, _BetaMessageStream_endPromise, "f");
}
get currentMessage() {
return __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, "f");
}
async finalMessage() {
await this.done();
return __classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_getFinalMessage).call(this);
}
async finalText() {
await this.done();
return __classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_getFinalText).call(this);
}
_emit(event, ...args) {
if (__classPrivateFieldGet(this, _BetaMessageStream_ended, "f"))
return;
if (event === "end") {
__classPrivateFieldSet(this, _BetaMessageStream_ended, true, "f");
__classPrivateFieldGet(this, _BetaMessageStream_resolveEndPromise, "f").call(this);
}
const listeners = __classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event];
if (listeners) {
__classPrivateFieldGet(this, _BetaMessageStream_listeners, "f")[event] = listeners.filter((l) => !l.once);
listeners.forEach(({ listener }) => listener(...args));
}
if (event === "abort") {
const error2 = args[0];
if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
Promise.reject(error2);
}
__classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, "f").call(this, error2);
__classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, "f").call(this, error2);
this._emit("end");
return;
}
if (event === "error") {
const error2 = args[0];
if (!__classPrivateFieldGet(this, _BetaMessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
Promise.reject(error2);
}
__classPrivateFieldGet(this, _BetaMessageStream_rejectConnectedPromise, "f").call(this, error2);
__classPrivateFieldGet(this, _BetaMessageStream_rejectEndPromise, "f").call(this, error2);
this._emit("end");
}
}
_emitFinal() {
const finalMessage = this.receivedMessages.at(-1);
if (finalMessage) {
this._emit("finalMessage", __classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_getFinalMessage).call(this));
}
}
async _fromReadableStream(readableStream, options) {
const signal = options?.signal;
let abortHandler;
if (signal) {
if (signal.aborted)
this.controller.abort();
abortHandler = this.controller.abort.bind(this.controller);
signal.addEventListener("abort", abortHandler);
}
try {
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_beginRequest).call(this);
this._connected(null);
const stream = Stream.fromReadableStream(readableStream, this.controller);
for await (const event of stream) {
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_addStreamEvent).call(this, event);
}
if (stream.controller.signal?.aborted) {
throw new APIUserAbortError;
}
__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_endRequest).call(this);
} finally {
if (signal && abortHandler) {
signal.removeEventListener("abort", abortHandler);
}
}
}
[(_BetaMessageStream_currentMessageSnapshot = new WeakMap, _BetaMessageStream_params = new WeakMap, _BetaMessageStream_connectedPromise = new WeakMap, _BetaMessageStream_resolveConnectedPromise = new WeakMap, _BetaMessageStream_rejectConnectedPromise = new WeakMap, _BetaMessageStream_endPromise = new WeakMap, _BetaMessageStream_resolveEndPromise = new WeakMap, _BetaMessageStream_rejectEndPromise = new WeakMap, _BetaMessageStream_listeners = new WeakMap, _BetaMessageStream_ended = new WeakMap, _BetaMessageStream_errored = new WeakMap, _BetaMessageStream_aborted = new WeakMap, _BetaMessageStream_catchingPromiseCreated = new WeakMap, _BetaMessageStream_response = new WeakMap, _BetaMessageStream_request_id = new WeakMap, _BetaMessageStream_logger = new WeakMap, _BetaMessageStream_handleError = new WeakMap, _BetaMessageStream_instances = new WeakSet, _BetaMessageStream_getFinalMessage = function _BetaMessageStream_getFinalMessage2() {
if (this.receivedMessages.length === 0) {
throw new AnthropicError("stream ended without producing a Message with role=assistant");
}
return this.receivedMessages.at(-1);
}, _BetaMessageStream_getFinalText = function _BetaMessageStream_getFinalText2() {
if (this.receivedMessages.length === 0) {
throw new AnthropicError("stream ended without producing a Message with role=assistant");
}
const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text);
if (textBlocks.length === 0) {
throw new AnthropicError("stream ended without producing a content block with type=text");
}
return textBlocks.join(" ");
}, _BetaMessageStream_beginRequest = function _BetaMessageStream_beginRequest2() {
if (this.ended)
return;
__classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, "f");
}, _BetaMessageStream_addStreamEvent = function _BetaMessageStream_addStreamEvent2(event) {
if (this.ended)
return;
const messageSnapshot = __classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_accumulateMessage).call(this, event);
this._emit("streamEvent", event, messageSnapshot);
switch (event.type) {
case "content_block_delta": {
const content = messageSnapshot.content.at(-1);
switch (event.delta.type) {
case "text_delta": {
if (content.type === "text") {
this._emit("text", event.delta.text, content.text || "");
}
break;
}
case "citations_delta": {
if (content.type === "text") {
this._emit("citation", event.delta.citation, content.citations ?? []);
}
break;
}
case "input_json_delta": {
if (tracksToolInput(content) && content.input) {
this._emit("inputJson", event.delta.partial_json, content.input);
}
break;
}
case "thinking_delta": {
if (content.type === "thinking") {
this._emit("thinking", event.delta.thinking, content.thinking);
}
break;
}
case "signature_delta": {
if (content.type === "thinking") {
this._emit("signature", content.signature);
}
break;
}
case "compaction_delta": {
if (content.type === "compaction" && content.content) {
this._emit("compaction", content.content);
}
break;
}
default:
checkNever(event.delta);
}
break;
}
case "message_stop": {
this._addMessageParam(messageSnapshot);
this._addMessage(maybeParseBetaMessage(messageSnapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, "f"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, "f") }), true);
break;
}
case "content_block_stop": {
this._emit("contentBlock", messageSnapshot.content.at(-1));
break;
}
case "message_start": {
__classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, messageSnapshot, "f");
break;
}
case "content_block_start":
case "message_delta":
break;
}
}, _BetaMessageStream_endRequest = function _BetaMessageStream_endRequest2() {
if (this.ended) {
throw new AnthropicError(`stream has ended, this shouldn't happen`);
}
const snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, "f");
if (!snapshot) {
throw new AnthropicError(`request ended without sending any chunks`);
}
__classPrivateFieldSet(this, _BetaMessageStream_currentMessageSnapshot, undefined, "f");
return maybeParseBetaMessage(snapshot, __classPrivateFieldGet(this, _BetaMessageStream_params, "f"), { logger: __classPrivateFieldGet(this, _BetaMessageStream_logger, "f") });
}, _BetaMessageStream_accumulateMessage = function _BetaMessageStream_accumulateMessage2(event) {
let snapshot = __classPrivateFieldGet(this, _BetaMessageStream_currentMessageSnapshot, "f");
if (event.type === "message_start") {
if (snapshot) {
throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);
}
return event.message;
}
if (!snapshot) {
throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);
}
switch (event.type) {
case "message_stop":
return snapshot;
case "message_delta":
snapshot.container = event.delta.container;
snapshot.stop_reason = event.delta.stop_reason;
snapshot.stop_sequence = event.delta.stop_sequence;
snapshot.usage.output_tokens = event.usage.output_tokens;
snapshot.context_management = event.context_management;
if (event.usage.input_tokens != null) {
snapshot.usage.input_tokens = event.usage.input_tokens;
}
if (event.usage.cache_creation_input_tokens != null) {
snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;
}
if (event.usage.cache_read_input_tokens != null) {
snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;
}
if (event.usage.server_tool_use != null) {
snapshot.usage.server_tool_use = event.usage.server_tool_use;
}
if (event.usage.iterations != null) {
snapshot.usage.iterations = event.usage.iterations;
}
return snapshot;
case "content_block_start":
snapshot.content.push(event.content_block);
return snapshot;
case "content_block_delta": {
const snapshotContent = snapshot.content.at(event.index);
switch (event.delta.type) {
case "text_delta": {
if (snapshotContent?.type === "text") {
snapshot.content[event.index] = {
...snapshotContent,
text: (snapshotContent.text || "") + event.delta.text
};
}
break;
}
case "citations_delta": {
if (snapshotContent?.type === "text") {
snapshot.content[event.index] = {
...snapshotContent,
citations: [...snapshotContent.citations ?? [], event.delta.citation]
};
}
break;
}
case "input_json_delta": {
if (snapshotContent && tracksToolInput(snapshotContent)) {
let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || "";
jsonBuf += event.delta.partial_json;
const newContent = { ...snapshotContent };
Object.defineProperty(newContent, JSON_BUF_PROPERTY, {
value: jsonBuf,
enumerable: false,
writable: true
});
if (jsonBuf) {
try {
newContent.input = partialParse(jsonBuf);
} catch (err) {
const error2 = new AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`);
__classPrivateFieldGet(this, _BetaMessageStream_handleError, "f").call(this, error2);
}
}
snapshot.content[event.index] = newContent;
}
break;
}
case "thinking_delta": {
if (snapshotContent?.type === "thinking") {
snapshot.content[event.index] = {
...snapshotContent,
thinking: snapshotContent.thinking + event.delta.thinking
};
}
break;
}
case "signature_delta": {
if (snapshotContent?.type === "thinking") {
snapshot.content[event.index] = {
...snapshotContent,
signature: event.delta.signature
};
}
break;
}
case "compaction_delta": {
if (snapshotContent?.type === "compaction") {
snapshot.content[event.index] = {
...snapshotContent,
content: (snapshotContent.content || "") + event.delta.content
};
}
break;
}
default:
checkNever(event.delta);
}
return snapshot;
}
case "content_block_stop":
return snapshot;
}
}, Symbol.asyncIterator)]() {
const pushQueue = [];
const readQueue = [];
let done = false;
this.on("streamEvent", (event) => {
const reader = readQueue.shift();
if (reader) {
reader.resolve(event);
} else {
pushQueue.push(event);
}
});
this.on("end", () => {
done = true;
for (const reader of readQueue) {
reader.resolve(undefined);
}
readQueue.length = 0;
});
this.on("abort", (err) => {
done = true;
for (const reader of readQueue) {
reader.reject(err);
}
readQueue.length = 0;
});
this.on("error", (err) => {
done = true;
for (const reader of readQueue) {
reader.reject(err);
}
readQueue.length = 0;
});
return {
next: async () => {
if (!pushQueue.length) {
if (done) {
return { value: undefined, done: true };
}
return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
}
const chunk = pushQueue.shift();
return { value: chunk, done: false };
},
return: async () => {
this.abort();
return { value: undefined, done: true };
}
};
}
toReadableStream() {
const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
return stream.toReadableStream();
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/tools/ToolError.mjs
var ToolError;
var init_ToolError = __esm(() => {
ToolError = class ToolError extends Error {
constructor(content) {
const message = typeof content === "string" ? content : content.map((block) => {
if (block.type === "text")
return block.text;
return `[${block.type}]`;
}).join(" ");
super(message);
this.name = "ToolError";
this.content = content;
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/tools/CompactionControl.mjs
var DEFAULT_TOKEN_THRESHOLD = 1e5, DEFAULT_SUMMARY_PROMPT = `You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
1. Task Overview
The user's core request and success criteria
Any clarifications or constraints they specified
2. Current State
What has been completed so far
Files created, modified, or analyzed (with paths if relevant)
Key outputs or artifacts produced
3. Important Discoveries
Technical constraints or requirements uncovered
Decisions made and their rationale
Errors encountered and how they were resolved
What approaches were tried that didn't work (and why)
4. Next Steps
Specific actions needed to complete the task
Any blockers or open questions to resolve
Priority order if multiple steps remain
5. Context to Preserve
User preferences or style requirements
Domain-specific details that aren't obvious
Any promises made to the user
Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
Wrap your summary in tags.`;
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/tools/BetaToolRunner.mjs
function promiseWithResolvers() {
let resolve;
let reject;
const promise = new Promise((res, rej) => {
resolve = res;
reject = rej;
});
return { promise, resolve, reject };
}
async function generateToolResponse(params, lastMessage = params.messages.at(-1)) {
if (!lastMessage || lastMessage.role !== "assistant" || !lastMessage.content || typeof lastMessage.content === "string") {
return null;
}
const toolUseBlocks = lastMessage.content.filter((content) => content.type === "tool_use");
if (toolUseBlocks.length === 0) {
return null;
}
const toolResults = await Promise.all(toolUseBlocks.map(async (toolUse) => {
const tool = params.tools.find((t) => ("name" in t ? t.name : t.mcp_server_name) === toolUse.name);
if (!tool || !("run" in tool)) {
return {
type: "tool_result",
tool_use_id: toolUse.id,
content: `Error: Tool '${toolUse.name}' not found`,
is_error: true
};
}
try {
let input = toolUse.input;
if ("parse" in tool && tool.parse) {
input = tool.parse(input);
}
const result = await tool.run(input);
return {
type: "tool_result",
tool_use_id: toolUse.id,
content: result
};
} catch (error2) {
return {
type: "tool_result",
tool_use_id: toolUse.id,
content: error2 instanceof ToolError ? error2.content : `Error: ${error2 instanceof Error ? error2.message : String(error2)}`,
is_error: true
};
}
}));
return {
role: "user",
content: toolResults
};
}
var _BetaToolRunner_instances, _BetaToolRunner_consumed, _BetaToolRunner_mutated, _BetaToolRunner_state, _BetaToolRunner_options, _BetaToolRunner_message, _BetaToolRunner_toolResponse, _BetaToolRunner_completion, _BetaToolRunner_iterationCount, _BetaToolRunner_checkAndCompact, _BetaToolRunner_generateToolResponse, BetaToolRunner;
var init_BetaToolRunner = __esm(() => {
init_tslib();
init_ToolError();
init_error();
init_headers();
init_stainless_helper_header();
BetaToolRunner = class BetaToolRunner {
constructor(client, params, options) {
_BetaToolRunner_instances.add(this);
this.client = client;
_BetaToolRunner_consumed.set(this, false);
_BetaToolRunner_mutated.set(this, false);
_BetaToolRunner_state.set(this, undefined);
_BetaToolRunner_options.set(this, undefined);
_BetaToolRunner_message.set(this, undefined);
_BetaToolRunner_toolResponse.set(this, undefined);
_BetaToolRunner_completion.set(this, undefined);
_BetaToolRunner_iterationCount.set(this, 0);
__classPrivateFieldSet(this, _BetaToolRunner_state, {
params: {
...params,
messages: structuredClone(params.messages)
}
}, "f");
const helpers = collectStainlessHelpers(params.tools, params.messages);
const helperValue = ["BetaToolRunner", ...helpers].join(", ");
__classPrivateFieldSet(this, _BetaToolRunner_options, {
...options,
headers: buildHeaders([{ "x-stainless-helper": helperValue }, options?.headers])
}, "f");
__classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), "f");
}
async* [(_BetaToolRunner_consumed = new WeakMap, _BetaToolRunner_mutated = new WeakMap, _BetaToolRunner_state = new WeakMap, _BetaToolRunner_options = new WeakMap, _BetaToolRunner_message = new WeakMap, _BetaToolRunner_toolResponse = new WeakMap, _BetaToolRunner_completion = new WeakMap, _BetaToolRunner_iterationCount = new WeakMap, _BetaToolRunner_instances = new WeakSet, _BetaToolRunner_checkAndCompact = async function _BetaToolRunner_checkAndCompact2() {
const compactionControl = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.compactionControl;
if (!compactionControl || !compactionControl.enabled) {
return false;
}
let tokensUsed = 0;
if (__classPrivateFieldGet(this, _BetaToolRunner_message, "f") !== undefined) {
try {
const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
const totalInputTokens = message.usage.input_tokens + (message.usage.cache_creation_input_tokens ?? 0) + (message.usage.cache_read_input_tokens ?? 0);
tokensUsed = totalInputTokens + message.usage.output_tokens;
} catch {
return false;
}
}
const threshold = compactionControl.contextTokenThreshold ?? DEFAULT_TOKEN_THRESHOLD;
if (tokensUsed < threshold) {
return false;
}
const model = compactionControl.model ?? __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.model;
const summaryPrompt = compactionControl.summaryPrompt ?? DEFAULT_SUMMARY_PROMPT;
const messages = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages;
if (messages[messages.length - 1].role === "assistant") {
const lastMessage = messages[messages.length - 1];
if (Array.isArray(lastMessage.content)) {
const nonToolBlocks = lastMessage.content.filter((block) => block.type !== "tool_use");
if (nonToolBlocks.length === 0) {
messages.pop();
} else {
lastMessage.content = nonToolBlocks;
}
}
}
const response = await this.client.beta.messages.create({
model,
messages: [
...messages,
{
role: "user",
content: [
{
type: "text",
text: summaryPrompt
}
]
}
],
max_tokens: __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_tokens
}, {
headers: { "x-stainless-helper": "compaction" }
});
if (response.content[0]?.type !== "text") {
throw new AnthropicError("Expected text response for compaction");
}
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages = [
{
role: "user",
content: response.content
}
];
return true;
}, Symbol.asyncIterator)]() {
var _a;
if (__classPrivateFieldGet(this, _BetaToolRunner_consumed, "f")) {
throw new AnthropicError("Cannot iterate over a consumed stream");
}
__classPrivateFieldSet(this, _BetaToolRunner_consumed, true, "f");
__classPrivateFieldSet(this, _BetaToolRunner_mutated, true, "f");
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
try {
while (true) {
let stream;
try {
if (__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations && __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f") >= __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.max_iterations) {
break;
}
__classPrivateFieldSet(this, _BetaToolRunner_mutated, false, "f");
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
__classPrivateFieldSet(this, _BetaToolRunner_iterationCount, (_a = __classPrivateFieldGet(this, _BetaToolRunner_iterationCount, "f"), _a++, _a), "f");
__classPrivateFieldSet(this, _BetaToolRunner_message, undefined, "f");
const { max_iterations, compactionControl, ...params } = __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
if (params.stream) {
stream = this.client.beta.messages.stream({ ...params }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f"));
__classPrivateFieldSet(this, _BetaToolRunner_message, stream.finalMessage(), "f");
__classPrivateFieldGet(this, _BetaToolRunner_message, "f").catch(() => {});
yield stream;
} else {
__classPrivateFieldSet(this, _BetaToolRunner_message, this.client.beta.messages.create({ ...params, stream: false }, __classPrivateFieldGet(this, _BetaToolRunner_options, "f")), "f");
yield __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
}
const isCompacted = await __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_checkAndCompact).call(this);
if (!isCompacted) {
if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
const { role, content } = await __classPrivateFieldGet(this, _BetaToolRunner_message, "f");
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push({ role, content });
}
const toolMessage = await __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_generateToolResponse).call(this, __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.at(-1));
if (toolMessage) {
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params.messages.push(toolMessage);
} else if (!__classPrivateFieldGet(this, _BetaToolRunner_mutated, "f")) {
break;
}
}
} finally {
if (stream) {
stream.abort();
}
}
}
if (!__classPrivateFieldGet(this, _BetaToolRunner_message, "f")) {
throw new AnthropicError("ToolRunner concluded without a message from the server");
}
__classPrivateFieldGet(this, _BetaToolRunner_completion, "f").resolve(await __classPrivateFieldGet(this, _BetaToolRunner_message, "f"));
} catch (error2) {
__classPrivateFieldSet(this, _BetaToolRunner_consumed, false, "f");
__classPrivateFieldGet(this, _BetaToolRunner_completion, "f").promise.catch(() => {});
__classPrivateFieldGet(this, _BetaToolRunner_completion, "f").reject(error2);
__classPrivateFieldSet(this, _BetaToolRunner_completion, promiseWithResolvers(), "f");
throw error2;
}
}
setMessagesParams(paramsOrMutator) {
if (typeof paramsOrMutator === "function") {
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params = paramsOrMutator(__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params);
} else {
__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params = paramsOrMutator;
}
__classPrivateFieldSet(this, _BetaToolRunner_mutated, true, "f");
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, undefined, "f");
}
async generateToolResponse() {
const message = await __classPrivateFieldGet(this, _BetaToolRunner_message, "f") ?? this.params.messages.at(-1);
if (!message) {
return null;
}
return __classPrivateFieldGet(this, _BetaToolRunner_instances, "m", _BetaToolRunner_generateToolResponse).call(this, message);
}
done() {
return __classPrivateFieldGet(this, _BetaToolRunner_completion, "f").promise;
}
async runUntilDone() {
if (!__classPrivateFieldGet(this, _BetaToolRunner_consumed, "f")) {
for await (const _ of this) {}
}
return this.done();
}
get params() {
return __classPrivateFieldGet(this, _BetaToolRunner_state, "f").params;
}
pushMessages(...messages) {
this.setMessagesParams((params) => ({
...params,
messages: [...params.messages, ...messages]
}));
}
then(onfulfilled, onrejected) {
return this.runUntilDone().then(onfulfilled, onrejected);
}
};
_BetaToolRunner_generateToolResponse = async function _BetaToolRunner_generateToolResponse2(lastMessage) {
if (__classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f") !== undefined) {
return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f");
}
__classPrivateFieldSet(this, _BetaToolRunner_toolResponse, generateToolResponse(__classPrivateFieldGet(this, _BetaToolRunner_state, "f").params, lastMessage), "f");
return __classPrivateFieldGet(this, _BetaToolRunner_toolResponse, "f");
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs
var JSONLDecoder;
var init_jsonl = __esm(() => {
init_error();
init_line();
JSONLDecoder = class JSONLDecoder {
constructor(iterator, controller) {
this.iterator = iterator;
this.controller = controller;
}
async* decoder() {
const lineDecoder = new LineDecoder;
for await (const chunk of this.iterator) {
for (const line of lineDecoder.decode(chunk)) {
yield JSON.parse(line);
}
}
for (const line of lineDecoder.flush()) {
yield JSON.parse(line);
}
}
[Symbol.asyncIterator]() {
return this.decoder();
}
static fromResponse(response, controller) {
if (!response.body) {
controller.abort();
if (typeof globalThis.navigator !== "undefined" && globalThis.navigator.product === "ReactNative") {
throw new AnthropicError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);
}
throw new AnthropicError(`Attempted to iterate over a response with no body`);
}
return new JSONLDecoder(ReadableStreamToAsyncIterable(response.body), controller);
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs
var Batches;
var init_batches = __esm(() => {
init_pagination();
init_headers();
init_jsonl();
init_error2();
init_path();
Batches = class Batches extends APIResource {
create(params, options) {
const { betas, ...body } = params;
return this._client.post("/v1/messages/batches?beta=true", {
body,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString() },
options?.headers
])
});
}
retrieve(messageBatchID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/messages/batches/${messageBatchID}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString() },
options?.headers
])
});
}
list(params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList("/v1/messages/batches?beta=true", Page, {
query,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString() },
options?.headers
])
});
}
delete(messageBatchID, params = {}, options) {
const { betas } = params ?? {};
return this._client.delete(path`/v1/messages/batches/${messageBatchID}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString() },
options?.headers
])
});
}
cancel(messageBatchID, params = {}, options) {
const { betas } = params ?? {};
return this._client.post(path`/v1/messages/batches/${messageBatchID}/cancel?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString() },
options?.headers
])
});
}
async results(messageBatchID, params = {}, options) {
const batch = await this.retrieve(messageBatchID);
if (!batch.results_url) {
throw new AnthropicError(`No batch \`results_url\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);
}
const { betas } = params ?? {};
return this._client.get(batch.results_url, {
...options,
headers: buildHeaders([
{
"anthropic-beta": [...betas ?? [], "message-batches-2024-09-24"].toString(),
Accept: "application/binary"
},
options?.headers
]),
stream: true,
__binaryResponse: true
})._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs
function transformOutputFormat(params) {
if (!params.output_format) {
return params;
}
if (params.output_config?.format) {
throw new AnthropicError("Both output_format and output_config.format were provided. " + "Please use only output_config.format (output_format is deprecated).");
}
const { output_format, ...rest } = params;
return {
...rest,
output_config: {
...params.output_config,
format: output_format
}
};
}
var DEPRECATED_MODELS, MODELS_TO_WARN_WITH_THINKING_ENABLED, Messages;
var init_messages = __esm(() => {
init_error2();
init_constants();
init_headers();
init_stainless_helper_header();
init_beta_parser();
init_BetaMessageStream();
init_BetaToolRunner();
init_ToolError();
init_batches();
init_batches();
init_BetaToolRunner();
init_ToolError();
DEPRECATED_MODELS = {
"claude-1.3": "November 6th, 2024",
"claude-1.3-100k": "November 6th, 2024",
"claude-instant-1.1": "November 6th, 2024",
"claude-instant-1.1-100k": "November 6th, 2024",
"claude-instant-1.2": "November 6th, 2024",
"claude-3-sonnet-20240229": "July 21st, 2025",
"claude-3-opus-20240229": "January 5th, 2026",
"claude-2.1": "July 21st, 2025",
"claude-2.0": "July 21st, 2025",
"claude-3-7-sonnet-latest": "February 19th, 2026",
"claude-3-7-sonnet-20250219": "February 19th, 2026"
};
MODELS_TO_WARN_WITH_THINKING_ENABLED = ["claude-opus-4-6"];
Messages = class Messages extends APIResource {
constructor() {
super(...arguments);
this.batches = new Batches(this._client);
}
create(params, options) {
const modifiedParams = transformOutputFormat(params);
const { betas, ...body } = modifiedParams;
if (body.model in DEPRECATED_MODELS) {
console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS[body.model]}
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);
}
if (body.model in MODELS_TO_WARN_WITH_THINKING_ENABLED && body.thinking && body.thinking.type === "enabled") {
console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);
}
let timeout = this._client._options.timeout;
if (!body.stream && timeout == null) {
const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;
timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);
}
const helperHeader = stainlessHelperHeader(body.tools, body.messages);
return this._client.post("/v1/messages?beta=true", {
body,
timeout: timeout ?? 600000,
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
helperHeader,
options?.headers
]),
stream: modifiedParams.stream ?? false
});
}
parse(params, options) {
options = {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...params.betas ?? [], "structured-outputs-2025-12-15"].toString() },
options?.headers
])
};
return this.create(params, options).then((message) => parseBetaMessage(message, params, { logger: this._client.logger ?? console }));
}
stream(body, options) {
return BetaMessageStream.createMessage(this, body, options);
}
countTokens(params, options) {
const modifiedParams = transformOutputFormat(params);
const { betas, ...body } = modifiedParams;
return this._client.post("/v1/messages/count_tokens?beta=true", {
body,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "token-counting-2024-11-01"].toString() },
options?.headers
])
});
}
toolRunner(body, options) {
return new BetaToolRunner(this._client, body, options);
}
};
Messages.Batches = Batches;
Messages.BetaToolRunner = BetaToolRunner;
Messages.ToolError = ToolError;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/skills/versions.mjs
var Versions;
var init_versions = __esm(() => {
init_pagination();
init_headers();
init_uploads();
init_path();
Versions = class Versions extends APIResource {
create(skillID, params = {}, options) {
const { betas, ...body } = params ?? {};
return this._client.post(path`/v1/skills/${skillID}/versions?beta=true`, multipartFormRequestOptions({
body,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
}, this._client));
}
retrieve(version, params, options) {
const { skill_id, betas } = params;
return this._client.get(path`/v1/skills/${skill_id}/versions/${version}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
list(skillID, params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList(path`/v1/skills/${skillID}/versions?beta=true`, PageCursor, {
query,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
delete(version, params, options) {
const { skill_id, betas } = params;
return this._client.delete(path`/v1/skills/${skill_id}/versions/${version}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/skills/skills.mjs
var Skills;
var init_skills = __esm(() => {
init_versions();
init_versions();
init_pagination();
init_headers();
init_uploads();
init_path();
Skills = class Skills extends APIResource {
constructor() {
super(...arguments);
this.versions = new Versions(this._client);
}
create(params = {}, options) {
const { betas, ...body } = params ?? {};
return this._client.post("/v1/skills?beta=true", multipartFormRequestOptions({
body,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
}, this._client, false));
}
retrieve(skillID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/skills/${skillID}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
list(params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList("/v1/skills?beta=true", PageCursor, {
query,
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
delete(skillID, params = {}, options) {
const { betas } = params ?? {};
return this._client.delete(path`/v1/skills/${skillID}?beta=true`, {
...options,
headers: buildHeaders([
{ "anthropic-beta": [...betas ?? [], "skills-2025-10-02"].toString() },
options?.headers
])
});
}
};
Skills.Versions = Versions;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs
var Beta;
var init_beta = __esm(() => {
init_files();
init_files();
init_models();
init_models();
init_messages();
init_messages();
init_skills();
init_skills();
Beta = class Beta extends APIResource {
constructor() {
super(...arguments);
this.models = new Models(this._client);
this.messages = new Messages(this._client);
this.files = new Files(this._client);
this.skills = new Skills(this._client);
}
};
Beta.Models = Models;
Beta.Messages = Messages;
Beta.Files = Files;
Beta.Skills = Skills;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/completions.mjs
var Completions;
var init_completions = __esm(() => {
init_headers();
Completions = class Completions extends APIResource {
create(params, options) {
const { betas, ...body } = params;
return this._client.post("/v1/complete", {
body,
timeout: this._client._options.timeout ?? 600000,
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
options?.headers
]),
stream: params.stream ?? false
});
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/parser.mjs
function getOutputFormat2(params) {
return params?.output_config?.format;
}
function maybeParseMessage(message, params, opts) {
const outputFormat = getOutputFormat2(params);
if (!params || !("parse" in (outputFormat ?? {}))) {
return {
...message,
content: message.content.map((block) => {
if (block.type === "text") {
const parsedBlock = Object.defineProperty({ ...block }, "parsed_output", {
value: null,
enumerable: false
});
return parsedBlock;
}
return block;
}),
parsed_output: null
};
}
return parseMessage(message, params, opts);
}
function parseMessage(message, params, opts) {
let firstParsedOutput = null;
const content = message.content.map((block) => {
if (block.type === "text") {
const parsedOutput = parseOutputFormat(params, block.text);
if (firstParsedOutput === null) {
firstParsedOutput = parsedOutput;
}
const parsedBlock = Object.defineProperty({ ...block }, "parsed_output", {
value: parsedOutput,
enumerable: false
});
return parsedBlock;
}
return block;
});
return {
...message,
content,
parsed_output: firstParsedOutput
};
}
function parseOutputFormat(params, content) {
const outputFormat = getOutputFormat2(params);
if (outputFormat?.type !== "json_schema") {
return null;
}
try {
if ("parse" in outputFormat) {
return outputFormat.parse(content);
}
return JSON.parse(content);
} catch (error2) {
throw new AnthropicError(`Failed to parse structured output: ${error2}`);
}
}
var init_parser2 = __esm(() => {
init_error();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs
function tracksToolInput2(content) {
return content.type === "tool_use" || content.type === "server_tool_use";
}
function checkNever2(x) {}
var _MessageStream_instances, _MessageStream_currentMessageSnapshot, _MessageStream_params, _MessageStream_connectedPromise, _MessageStream_resolveConnectedPromise, _MessageStream_rejectConnectedPromise, _MessageStream_endPromise, _MessageStream_resolveEndPromise, _MessageStream_rejectEndPromise, _MessageStream_listeners, _MessageStream_ended, _MessageStream_errored, _MessageStream_aborted, _MessageStream_catchingPromiseCreated, _MessageStream_response, _MessageStream_request_id, _MessageStream_logger, _MessageStream_getFinalMessage, _MessageStream_getFinalText, _MessageStream_handleError, _MessageStream_beginRequest, _MessageStream_addStreamEvent, _MessageStream_endRequest, _MessageStream_accumulateMessage, JSON_BUF_PROPERTY2 = "__json_buf", MessageStream;
var init_MessageStream = __esm(() => {
init_tslib();
init_error2();
init_streaming2();
init_parser();
init_parser2();
MessageStream = class MessageStream {
constructor(params, opts) {
_MessageStream_instances.add(this);
this.messages = [];
this.receivedMessages = [];
_MessageStream_currentMessageSnapshot.set(this, undefined);
_MessageStream_params.set(this, null);
this.controller = new AbortController;
_MessageStream_connectedPromise.set(this, undefined);
_MessageStream_resolveConnectedPromise.set(this, () => {});
_MessageStream_rejectConnectedPromise.set(this, () => {});
_MessageStream_endPromise.set(this, undefined);
_MessageStream_resolveEndPromise.set(this, () => {});
_MessageStream_rejectEndPromise.set(this, () => {});
_MessageStream_listeners.set(this, {});
_MessageStream_ended.set(this, false);
_MessageStream_errored.set(this, false);
_MessageStream_aborted.set(this, false);
_MessageStream_catchingPromiseCreated.set(this, false);
_MessageStream_response.set(this, undefined);
_MessageStream_request_id.set(this, undefined);
_MessageStream_logger.set(this, undefined);
_MessageStream_handleError.set(this, (error2) => {
__classPrivateFieldSet(this, _MessageStream_errored, true, "f");
if (isAbortError(error2)) {
error2 = new APIUserAbortError;
}
if (error2 instanceof APIUserAbortError) {
__classPrivateFieldSet(this, _MessageStream_aborted, true, "f");
return this._emit("abort", error2);
}
if (error2 instanceof AnthropicError) {
return this._emit("error", error2);
}
if (error2 instanceof Error) {
const anthropicError = new AnthropicError(error2.message);
anthropicError.cause = error2;
return this._emit("error", anthropicError);
}
return this._emit("error", new AnthropicError(String(error2)));
});
__classPrivateFieldSet(this, _MessageStream_connectedPromise, new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _MessageStream_resolveConnectedPromise, resolve, "f");
__classPrivateFieldSet(this, _MessageStream_rejectConnectedPromise, reject, "f");
}), "f");
__classPrivateFieldSet(this, _MessageStream_endPromise, new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _MessageStream_resolveEndPromise, resolve, "f");
__classPrivateFieldSet(this, _MessageStream_rejectEndPromise, reject, "f");
}), "f");
__classPrivateFieldGet(this, _MessageStream_connectedPromise, "f").catch(() => {});
__classPrivateFieldGet(this, _MessageStream_endPromise, "f").catch(() => {});
__classPrivateFieldSet(this, _MessageStream_params, params, "f");
__classPrivateFieldSet(this, _MessageStream_logger, opts?.logger ?? console, "f");
}
get response() {
return __classPrivateFieldGet(this, _MessageStream_response, "f");
}
get request_id() {
return __classPrivateFieldGet(this, _MessageStream_request_id, "f");
}
async withResponse() {
__classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, "f");
const response = await __classPrivateFieldGet(this, _MessageStream_connectedPromise, "f");
if (!response) {
throw new Error("Could not resolve a `Response` object");
}
return {
data: this,
response,
request_id: response.headers.get("request-id")
};
}
static fromReadableStream(stream) {
const runner = new MessageStream(null);
runner._run(() => runner._fromReadableStream(stream));
return runner;
}
static createMessage(messages, params, options, { logger } = {}) {
const runner = new MessageStream(params, { logger });
for (const message of params.messages) {
runner._addMessageParam(message);
}
__classPrivateFieldSet(runner, _MessageStream_params, { ...params, stream: true }, "f");
runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, "X-Stainless-Helper-Method": "stream" } }));
return runner;
}
_run(executor) {
executor().then(() => {
this._emitFinal();
this._emit("end");
}, __classPrivateFieldGet(this, _MessageStream_handleError, "f"));
}
_addMessageParam(message) {
this.messages.push(message);
}
_addMessage(message, emit = true) {
this.receivedMessages.push(message);
if (emit) {
this._emit("message", message);
}
}
async _createMessage(messages, params, options) {
const signal = options?.signal;
let abortHandler;
if (signal) {
if (signal.aborted)
this.controller.abort();
abortHandler = this.controller.abort.bind(this.controller);
signal.addEventListener("abort", abortHandler);
}
try {
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this);
const { response, data: stream } = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal }).withResponse();
this._connected(response);
for await (const event of stream) {
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event);
}
if (stream.controller.signal?.aborted) {
throw new APIUserAbortError;
}
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this);
} finally {
if (signal && abortHandler) {
signal.removeEventListener("abort", abortHandler);
}
}
}
_connected(response) {
if (this.ended)
return;
__classPrivateFieldSet(this, _MessageStream_response, response, "f");
__classPrivateFieldSet(this, _MessageStream_request_id, response?.headers.get("request-id"), "f");
__classPrivateFieldGet(this, _MessageStream_resolveConnectedPromise, "f").call(this, response);
this._emit("connect");
}
get ended() {
return __classPrivateFieldGet(this, _MessageStream_ended, "f");
}
get errored() {
return __classPrivateFieldGet(this, _MessageStream_errored, "f");
}
get aborted() {
return __classPrivateFieldGet(this, _MessageStream_aborted, "f");
}
abort() {
this.controller.abort();
}
on(event, listener) {
const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, "f")[event] = []);
listeners.push({ listener });
return this;
}
off(event, listener) {
const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, "f")[event];
if (!listeners)
return this;
const index = listeners.findIndex((l) => l.listener === listener);
if (index >= 0)
listeners.splice(index, 1);
return this;
}
once(event, listener) {
const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _MessageStream_listeners, "f")[event] = []);
listeners.push({ listener, once: true });
return this;
}
emitted(event) {
return new Promise((resolve, reject) => {
__classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, "f");
if (event !== "error")
this.once("error", reject);
this.once(event, resolve);
});
}
async done() {
__classPrivateFieldSet(this, _MessageStream_catchingPromiseCreated, true, "f");
await __classPrivateFieldGet(this, _MessageStream_endPromise, "f");
}
get currentMessage() {
return __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, "f");
}
async finalMessage() {
await this.done();
return __classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this);
}
async finalText() {
await this.done();
return __classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_getFinalText).call(this);
}
_emit(event, ...args) {
if (__classPrivateFieldGet(this, _MessageStream_ended, "f"))
return;
if (event === "end") {
__classPrivateFieldSet(this, _MessageStream_ended, true, "f");
__classPrivateFieldGet(this, _MessageStream_resolveEndPromise, "f").call(this);
}
const listeners = __classPrivateFieldGet(this, _MessageStream_listeners, "f")[event];
if (listeners) {
__classPrivateFieldGet(this, _MessageStream_listeners, "f")[event] = listeners.filter((l) => !l.once);
listeners.forEach(({ listener }) => listener(...args));
}
if (event === "abort") {
const error2 = args[0];
if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
Promise.reject(error2);
}
__classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, "f").call(this, error2);
__classPrivateFieldGet(this, _MessageStream_rejectEndPromise, "f").call(this, error2);
this._emit("end");
return;
}
if (event === "error") {
const error2 = args[0];
if (!__classPrivateFieldGet(this, _MessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
Promise.reject(error2);
}
__classPrivateFieldGet(this, _MessageStream_rejectConnectedPromise, "f").call(this, error2);
__classPrivateFieldGet(this, _MessageStream_rejectEndPromise, "f").call(this, error2);
this._emit("end");
}
}
_emitFinal() {
const finalMessage = this.receivedMessages.at(-1);
if (finalMessage) {
this._emit("finalMessage", __classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_getFinalMessage).call(this));
}
}
async _fromReadableStream(readableStream, options) {
const signal = options?.signal;
let abortHandler;
if (signal) {
if (signal.aborted)
this.controller.abort();
abortHandler = this.controller.abort.bind(this.controller);
signal.addEventListener("abort", abortHandler);
}
try {
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_beginRequest).call(this);
this._connected(null);
const stream = Stream.fromReadableStream(readableStream, this.controller);
for await (const event of stream) {
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_addStreamEvent).call(this, event);
}
if (stream.controller.signal?.aborted) {
throw new APIUserAbortError;
}
__classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_endRequest).call(this);
} finally {
if (signal && abortHandler) {
signal.removeEventListener("abort", abortHandler);
}
}
}
[(_MessageStream_currentMessageSnapshot = new WeakMap, _MessageStream_params = new WeakMap, _MessageStream_connectedPromise = new WeakMap, _MessageStream_resolveConnectedPromise = new WeakMap, _MessageStream_rejectConnectedPromise = new WeakMap, _MessageStream_endPromise = new WeakMap, _MessageStream_resolveEndPromise = new WeakMap, _MessageStream_rejectEndPromise = new WeakMap, _MessageStream_listeners = new WeakMap, _MessageStream_ended = new WeakMap, _MessageStream_errored = new WeakMap, _MessageStream_aborted = new WeakMap, _MessageStream_catchingPromiseCreated = new WeakMap, _MessageStream_response = new WeakMap, _MessageStream_request_id = new WeakMap, _MessageStream_logger = new WeakMap, _MessageStream_handleError = new WeakMap, _MessageStream_instances = new WeakSet, _MessageStream_getFinalMessage = function _MessageStream_getFinalMessage2() {
if (this.receivedMessages.length === 0) {
throw new AnthropicError("stream ended without producing a Message with role=assistant");
}
return this.receivedMessages.at(-1);
}, _MessageStream_getFinalText = function _MessageStream_getFinalText2() {
if (this.receivedMessages.length === 0) {
throw new AnthropicError("stream ended without producing a Message with role=assistant");
}
const textBlocks = this.receivedMessages.at(-1).content.filter((block) => block.type === "text").map((block) => block.text);
if (textBlocks.length === 0) {
throw new AnthropicError("stream ended without producing a content block with type=text");
}
return textBlocks.join(" ");
}, _MessageStream_beginRequest = function _MessageStream_beginRequest2() {
if (this.ended)
return;
__classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, "f");
}, _MessageStream_addStreamEvent = function _MessageStream_addStreamEvent2(event) {
if (this.ended)
return;
const messageSnapshot = __classPrivateFieldGet(this, _MessageStream_instances, "m", _MessageStream_accumulateMessage).call(this, event);
this._emit("streamEvent", event, messageSnapshot);
switch (event.type) {
case "content_block_delta": {
const content = messageSnapshot.content.at(-1);
switch (event.delta.type) {
case "text_delta": {
if (content.type === "text") {
this._emit("text", event.delta.text, content.text || "");
}
break;
}
case "citations_delta": {
if (content.type === "text") {
this._emit("citation", event.delta.citation, content.citations ?? []);
}
break;
}
case "input_json_delta": {
if (tracksToolInput2(content) && content.input) {
this._emit("inputJson", event.delta.partial_json, content.input);
}
break;
}
case "thinking_delta": {
if (content.type === "thinking") {
this._emit("thinking", event.delta.thinking, content.thinking);
}
break;
}
case "signature_delta": {
if (content.type === "thinking") {
this._emit("signature", content.signature);
}
break;
}
default:
checkNever2(event.delta);
}
break;
}
case "message_stop": {
this._addMessageParam(messageSnapshot);
this._addMessage(maybeParseMessage(messageSnapshot, __classPrivateFieldGet(this, _MessageStream_params, "f"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, "f") }), true);
break;
}
case "content_block_stop": {
this._emit("contentBlock", messageSnapshot.content.at(-1));
break;
}
case "message_start": {
__classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, messageSnapshot, "f");
break;
}
case "content_block_start":
case "message_delta":
break;
}
}, _MessageStream_endRequest = function _MessageStream_endRequest2() {
if (this.ended) {
throw new AnthropicError(`stream has ended, this shouldn't happen`);
}
const snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, "f");
if (!snapshot) {
throw new AnthropicError(`request ended without sending any chunks`);
}
__classPrivateFieldSet(this, _MessageStream_currentMessageSnapshot, undefined, "f");
return maybeParseMessage(snapshot, __classPrivateFieldGet(this, _MessageStream_params, "f"), { logger: __classPrivateFieldGet(this, _MessageStream_logger, "f") });
}, _MessageStream_accumulateMessage = function _MessageStream_accumulateMessage2(event) {
let snapshot = __classPrivateFieldGet(this, _MessageStream_currentMessageSnapshot, "f");
if (event.type === "message_start") {
if (snapshot) {
throw new AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);
}
return event.message;
}
if (!snapshot) {
throw new AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);
}
switch (event.type) {
case "message_stop":
return snapshot;
case "message_delta":
snapshot.stop_reason = event.delta.stop_reason;
snapshot.stop_sequence = event.delta.stop_sequence;
snapshot.usage.output_tokens = event.usage.output_tokens;
if (event.usage.input_tokens != null) {
snapshot.usage.input_tokens = event.usage.input_tokens;
}
if (event.usage.cache_creation_input_tokens != null) {
snapshot.usage.cache_creation_input_tokens = event.usage.cache_creation_input_tokens;
}
if (event.usage.cache_read_input_tokens != null) {
snapshot.usage.cache_read_input_tokens = event.usage.cache_read_input_tokens;
}
if (event.usage.server_tool_use != null) {
snapshot.usage.server_tool_use = event.usage.server_tool_use;
}
return snapshot;
case "content_block_start":
snapshot.content.push({ ...event.content_block });
return snapshot;
case "content_block_delta": {
const snapshotContent = snapshot.content.at(event.index);
switch (event.delta.type) {
case "text_delta": {
if (snapshotContent?.type === "text") {
snapshot.content[event.index] = {
...snapshotContent,
text: (snapshotContent.text || "") + event.delta.text
};
}
break;
}
case "citations_delta": {
if (snapshotContent?.type === "text") {
snapshot.content[event.index] = {
...snapshotContent,
citations: [...snapshotContent.citations ?? [], event.delta.citation]
};
}
break;
}
case "input_json_delta": {
if (snapshotContent && tracksToolInput2(snapshotContent)) {
let jsonBuf = snapshotContent[JSON_BUF_PROPERTY2] || "";
jsonBuf += event.delta.partial_json;
const newContent = { ...snapshotContent };
Object.defineProperty(newContent, JSON_BUF_PROPERTY2, {
value: jsonBuf,
enumerable: false,
writable: true
});
if (jsonBuf) {
newContent.input = partialParse(jsonBuf);
}
snapshot.content[event.index] = newContent;
}
break;
}
case "thinking_delta": {
if (snapshotContent?.type === "thinking") {
snapshot.content[event.index] = {
...snapshotContent,
thinking: snapshotContent.thinking + event.delta.thinking
};
}
break;
}
case "signature_delta": {
if (snapshotContent?.type === "thinking") {
snapshot.content[event.index] = {
...snapshotContent,
signature: event.delta.signature
};
}
break;
}
default:
checkNever2(event.delta);
}
return snapshot;
}
case "content_block_stop":
return snapshot;
}
}, Symbol.asyncIterator)]() {
const pushQueue = [];
const readQueue = [];
let done = false;
this.on("streamEvent", (event) => {
const reader = readQueue.shift();
if (reader) {
reader.resolve(event);
} else {
pushQueue.push(event);
}
});
this.on("end", () => {
done = true;
for (const reader of readQueue) {
reader.resolve(undefined);
}
readQueue.length = 0;
});
this.on("abort", (err) => {
done = true;
for (const reader of readQueue) {
reader.reject(err);
}
readQueue.length = 0;
});
this.on("error", (err) => {
done = true;
for (const reader of readQueue) {
reader.reject(err);
}
readQueue.length = 0;
});
return {
next: async () => {
if (!pushQueue.length) {
if (done) {
return { value: undefined, done: true };
}
return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
}
const chunk = pushQueue.shift();
return { value: chunk, done: false };
},
return: async () => {
this.abort();
return { value: undefined, done: true };
}
};
}
toReadableStream() {
const stream = new Stream(this[Symbol.asyncIterator].bind(this), this.controller);
return stream.toReadableStream();
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs
var Batches2;
var init_batches2 = __esm(() => {
init_pagination();
init_headers();
init_jsonl();
init_error2();
init_path();
Batches2 = class Batches2 extends APIResource {
create(body, options) {
return this._client.post("/v1/messages/batches", { body, ...options });
}
retrieve(messageBatchID, options) {
return this._client.get(path`/v1/messages/batches/${messageBatchID}`, options);
}
list(query = {}, options) {
return this._client.getAPIList("/v1/messages/batches", Page, { query, ...options });
}
delete(messageBatchID, options) {
return this._client.delete(path`/v1/messages/batches/${messageBatchID}`, options);
}
cancel(messageBatchID, options) {
return this._client.post(path`/v1/messages/batches/${messageBatchID}/cancel`, options);
}
async results(messageBatchID, options) {
const batch = await this.retrieve(messageBatchID);
if (!batch.results_url) {
throw new AnthropicError(`No batch \`results_url\`; Has it finished processing? ${batch.processing_status} - ${batch.id}`);
}
return this._client.get(batch.results_url, {
...options,
headers: buildHeaders([{ Accept: "application/binary" }, options?.headers]),
stream: true,
__binaryResponse: true
})._thenUnwrap((_, props) => JSONLDecoder.fromResponse(props.response, props.controller));
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs
var Messages2, DEPRECATED_MODELS2, MODELS_TO_WARN_WITH_THINKING_ENABLED2;
var init_messages2 = __esm(() => {
init_headers();
init_stainless_helper_header();
init_MessageStream();
init_parser2();
init_batches2();
init_batches2();
init_constants();
Messages2 = class Messages2 extends APIResource {
constructor() {
super(...arguments);
this.batches = new Batches2(this._client);
}
create(body, options) {
if (body.model in DEPRECATED_MODELS2) {
console.warn(`The model '${body.model}' is deprecated and will reach end-of-life on ${DEPRECATED_MODELS2[body.model]}
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);
}
if (body.model in MODELS_TO_WARN_WITH_THINKING_ENABLED2 && body.thinking && body.thinking.type === "enabled") {
console.warn(`Using Claude with ${body.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);
}
let timeout = this._client._options.timeout;
if (!body.stream && timeout == null) {
const maxNonstreamingTokens = MODEL_NONSTREAMING_TOKENS[body.model] ?? undefined;
timeout = this._client.calculateNonstreamingTimeout(body.max_tokens, maxNonstreamingTokens);
}
const helperHeader = stainlessHelperHeader(body.tools, body.messages);
return this._client.post("/v1/messages", {
body,
timeout: timeout ?? 600000,
...options,
headers: buildHeaders([helperHeader, options?.headers]),
stream: body.stream ?? false
});
}
parse(params, options) {
return this.create(params, options).then((message) => parseMessage(message, params, { logger: this._client.logger ?? console }));
}
stream(body, options) {
return MessageStream.createMessage(this, body, options, { logger: this._client.logger ?? console });
}
countTokens(body, options) {
return this._client.post("/v1/messages/count_tokens", { body, ...options });
}
};
DEPRECATED_MODELS2 = {
"claude-1.3": "November 6th, 2024",
"claude-1.3-100k": "November 6th, 2024",
"claude-instant-1.1": "November 6th, 2024",
"claude-instant-1.1-100k": "November 6th, 2024",
"claude-instant-1.2": "November 6th, 2024",
"claude-3-sonnet-20240229": "July 21st, 2025",
"claude-3-opus-20240229": "January 5th, 2026",
"claude-2.1": "July 21st, 2025",
"claude-2.0": "July 21st, 2025",
"claude-3-7-sonnet-latest": "February 19th, 2026",
"claude-3-7-sonnet-20250219": "February 19th, 2026",
"claude-3-5-haiku-latest": "February 19th, 2026",
"claude-3-5-haiku-20241022": "February 19th, 2026"
};
MODELS_TO_WARN_WITH_THINKING_ENABLED2 = ["claude-opus-4-6"];
Messages2.Batches = Batches2;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/models.mjs
var Models2;
var init_models2 = __esm(() => {
init_pagination();
init_headers();
init_path();
Models2 = class Models2 extends APIResource {
retrieve(modelID, params = {}, options) {
const { betas } = params ?? {};
return this._client.get(path`/v1/models/${modelID}`, {
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
options?.headers
])
});
}
list(params = {}, options) {
const { betas, ...query } = params ?? {};
return this._client.getAPIList("/v1/models", Page, {
query,
...options,
headers: buildHeaders([
{ ...betas?.toString() != null ? { "anthropic-beta": betas?.toString() } : undefined },
options?.headers
])
});
}
};
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/resources/index.mjs
var init_resources = __esm(() => {
init_beta();
init_completions();
init_messages2();
init_models2();
init_shared();
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs
var readEnv = (env) => {
if (typeof globalThis.process !== "undefined") {
return globalThis.process.env?.[env]?.trim() ?? undefined;
}
if (typeof globalThis.Deno !== "undefined") {
return globalThis.Deno.env?.get?.(env)?.trim();
}
return;
};
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/client.mjs
class BaseAnthropic {
constructor({ baseURL = readEnv("ANTHROPIC_BASE_URL"), apiKey = readEnv("ANTHROPIC_API_KEY") ?? null, authToken = readEnv("ANTHROPIC_AUTH_TOKEN") ?? null, ...opts } = {}) {
_BaseAnthropic_instances.add(this);
_BaseAnthropic_encoder.set(this, undefined);
const options = {
apiKey,
authToken,
...opts,
baseURL: baseURL || `https://api.anthropic.com`
};
if (!options.dangerouslyAllowBrowser && isRunningInBrowser()) {
throw new AnthropicError(`It looks like you're running in a browser-like environment.
This is disabled by default, as it risks exposing your secret API credentials to attackers.
If you understand the risks and have appropriate mitigations in place,
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
`);
}
this.baseURL = options.baseURL;
this.timeout = options.timeout ?? _a.DEFAULT_TIMEOUT;
this.logger = options.logger ?? console;
const defaultLogLevel = "warn";
this.logLevel = defaultLogLevel;
this.logLevel = parseLogLevel(options.logLevel, "ClientOptions.logLevel", this) ?? parseLogLevel(readEnv("ANTHROPIC_LOG"), "process.env['ANTHROPIC_LOG']", this) ?? defaultLogLevel;
this.fetchOptions = options.fetchOptions;
this.maxRetries = options.maxRetries ?? 2;
this.fetch = options.fetch ?? getDefaultFetch();
__classPrivateFieldSet(this, _BaseAnthropic_encoder, FallbackEncoder, "f");
this._options = options;
this.apiKey = typeof apiKey === "string" ? apiKey : null;
this.authToken = authToken;
}
withOptions(options) {
const client = new this.constructor({
...this._options,
baseURL: this.baseURL,
maxRetries: this.maxRetries,
timeout: this.timeout,
logger: this.logger,
logLevel: this.logLevel,
fetch: this.fetch,
fetchOptions: this.fetchOptions,
apiKey: this.apiKey,
authToken: this.authToken,
...options
});
return client;
}
defaultQuery() {
return this._options.defaultQuery;
}
validateHeaders({ values, nulls }) {
if (values.get("x-api-key") || values.get("authorization")) {
return;
}
if (this.apiKey && values.get("x-api-key")) {
return;
}
if (nulls.has("x-api-key")) {
return;
}
if (this.authToken && values.get("authorization")) {
return;
}
if (nulls.has("authorization")) {
return;
}
throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted');
}
async authHeaders(opts) {
return buildHeaders([await this.apiKeyAuth(opts), await this.bearerAuth(opts)]);
}
async apiKeyAuth(opts) {
if (this.apiKey == null) {
return;
}
return buildHeaders([{ "X-Api-Key": this.apiKey }]);
}
async bearerAuth(opts) {
if (this.authToken == null) {
return;
}
return buildHeaders([{ Authorization: `Bearer ${this.authToken}` }]);
}
stringifyQuery(query) {
return stringifyQuery(query);
}
getUserAgent() {
return `${this.constructor.name}/JS ${VERSION}`;
}
defaultIdempotencyKey() {
return `stainless-node-retry-${uuid4()}`;
}
makeStatusError(status, error2, message, headers) {
return APIError.generate(status, error2, message, headers);
}
buildURL(path2, query, defaultBaseURL) {
const baseURL = !__classPrivateFieldGet(this, _BaseAnthropic_instances, "m", _BaseAnthropic_baseURLOverridden).call(this) && defaultBaseURL || this.baseURL;
const url = isAbsoluteURL(path2) ? new URL(path2) : new URL(baseURL + (baseURL.endsWith("/") && path2.startsWith("/") ? path2.slice(1) : path2));
const defaultQuery = this.defaultQuery();
const pathQuery = Object.fromEntries(url.searchParams);
if (!isEmptyObj(defaultQuery) || !isEmptyObj(pathQuery)) {
query = { ...pathQuery, ...defaultQuery, ...query };
}
if (typeof query === "object" && query && !Array.isArray(query)) {
url.search = this.stringifyQuery(query);
}
return url.toString();
}
_calculateNonstreamingTimeout(maxTokens) {
const defaultTimeout = 10 * 60;
const expectedTimeout = 60 * 60 * maxTokens / 128000;
if (expectedTimeout > defaultTimeout) {
throw new AnthropicError("Streaming is required for operations that may take longer than 10 minutes. " + "See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");
}
return defaultTimeout * 1000;
}
async prepareOptions(options) {}
async prepareRequest(request, { url, options }) {}
get(path2, opts) {
return this.methodRequest("get", path2, opts);
}
post(path2, opts) {
return this.methodRequest("post", path2, opts);
}
patch(path2, opts) {
return this.methodRequest("patch", path2, opts);
}
put(path2, opts) {
return this.methodRequest("put", path2, opts);
}
delete(path2, opts) {
return this.methodRequest("delete", path2, opts);
}
methodRequest(method, path2, opts) {
return this.request(Promise.resolve(opts).then((opts2) => {
return { method, path: path2, ...opts2 };
}));
}
request(options, remainingRetries = null) {
return new APIPromise(this, this.makeRequest(options, remainingRetries, undefined));
}
async makeRequest(optionsInput, retriesRemaining, retryOfRequestLogID) {
const options = await optionsInput;
const maxRetries = options.maxRetries ?? this.maxRetries;
if (retriesRemaining == null) {
retriesRemaining = maxRetries;
}
await this.prepareOptions(options);
const { req, url, timeout } = await this.buildRequest(options, {
retryCount: maxRetries - retriesRemaining
});
await this.prepareRequest(req, { url, options });
const requestLogID = "log_" + (Math.random() * (1 << 24) | 0).toString(16).padStart(6, "0");
const retryLogStr = retryOfRequestLogID === undefined ? "" : `, retryOf: ${retryOfRequestLogID}`;
const startTime = Date.now();
loggerFor(this).debug(`[${requestLogID}] sending request`, formatRequestDetails({
retryOfRequestLogID,
method: options.method,
url,
options,
headers: req.headers
}));
if (options.signal?.aborted) {
throw new APIUserAbortError;
}
const controller = new AbortController;
const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);
const headersTime = Date.now();
if (response instanceof globalThis.Error) {
const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
if (options.signal?.aborted) {
throw new APIUserAbortError;
}
const isTimeout = isAbortError(response) || /timed? ?out/i.test(String(response) + ("cause" in response ? String(response.cause) : ""));
if (retriesRemaining) {
loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? "timed out" : "failed"} - ${retryMessage}`);
loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? "timed out" : "failed"} (${retryMessage})`, formatRequestDetails({
retryOfRequestLogID,
url,
durationMs: headersTime - startTime,
message: response.message
}));
return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID);
}
loggerFor(this).info(`[${requestLogID}] connection ${isTimeout ? "timed out" : "failed"} - error; no more retries left`);
loggerFor(this).debug(`[${requestLogID}] connection ${isTimeout ? "timed out" : "failed"} (error; no more retries left)`, formatRequestDetails({
retryOfRequestLogID,
url,
durationMs: headersTime - startTime,
message: response.message
}));
if (isTimeout) {
throw new APIConnectionTimeoutError;
}
throw new APIConnectionError({ cause: response });
}
const specialHeaders = [...response.headers.entries()].filter(([name]) => name === "request-id").map(([name, value]) => ", " + name + ": " + JSON.stringify(value)).join("");
const responseInfo = `[${requestLogID}${retryLogStr}${specialHeaders}] ${req.method} ${url} ${response.ok ? "succeeded" : "failed"} with status ${response.status} in ${headersTime - startTime}ms`;
if (!response.ok) {
const shouldRetry = await this.shouldRetry(response);
if (retriesRemaining && shouldRetry) {
const retryMessage2 = `retrying, ${retriesRemaining} attempts remaining`;
await CancelReadableStream(response.body);
loggerFor(this).info(`${responseInfo} - ${retryMessage2}`);
loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage2})`, formatRequestDetails({
retryOfRequestLogID,
url: response.url,
status: response.status,
headers: response.headers,
durationMs: headersTime - startTime
}));
return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID, response.headers);
}
const retryMessage = shouldRetry ? `error; no more retries left` : `error; not retryable`;
loggerFor(this).info(`${responseInfo} - ${retryMessage}`);
const errText = await response.text().catch((err2) => castToError(err2).message);
const errJSON = safeJSON(errText);
const errMessage = errJSON ? undefined : errText;
loggerFor(this).debug(`[${requestLogID}] response error (${retryMessage})`, formatRequestDetails({
retryOfRequestLogID,
url: response.url,
status: response.status,
headers: response.headers,
message: errMessage,
durationMs: Date.now() - startTime
}));
const err = this.makeStatusError(response.status, errJSON, errMessage, response.headers);
throw err;
}
loggerFor(this).info(responseInfo);
loggerFor(this).debug(`[${requestLogID}] response start`, formatRequestDetails({
retryOfRequestLogID,
url: response.url,
status: response.status,
headers: response.headers,
durationMs: headersTime - startTime
}));
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
}
getAPIList(path2, Page2, opts) {
return this.requestAPIList(Page2, opts && "then" in opts ? opts.then((opts2) => ({ method: "get", path: path2, ...opts2 })) : { method: "get", path: path2, ...opts });
}
requestAPIList(Page2, options) {
const request = this.makeRequest(options, null, undefined);
return new PagePromise(this, request, Page2);
}
async fetchWithTimeout(url, init, ms, controller) {
const { signal, method, ...options } = init || {};
const abort = this._makeAbort(controller);
if (signal)
signal.addEventListener("abort", abort, { once: true });
const timeout = setTimeout(abort, ms);
const isReadableBody = globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream || typeof options.body === "object" && options.body !== null && Symbol.asyncIterator in options.body;
const fetchOptions = {
signal: controller.signal,
...isReadableBody ? { duplex: "half" } : {},
method: "GET",
...options
};
if (method) {
fetchOptions.method = method.toUpperCase();
}
try {
return await this.fetch.call(undefined, url, fetchOptions);
} finally {
clearTimeout(timeout);
}
}
async shouldRetry(response) {
const shouldRetryHeader = response.headers.get("x-should-retry");
if (shouldRetryHeader === "true")
return true;
if (shouldRetryHeader === "false")
return false;
if (response.status === 408)
return true;
if (response.status === 409)
return true;
if (response.status === 429)
return true;
if (response.status >= 500)
return true;
return false;
}
async retryRequest(options, retriesRemaining, requestLogID, responseHeaders) {
let timeoutMillis;
const retryAfterMillisHeader = responseHeaders?.get("retry-after-ms");
if (retryAfterMillisHeader) {
const timeoutMs = parseFloat(retryAfterMillisHeader);
if (!Number.isNaN(timeoutMs)) {
timeoutMillis = timeoutMs;
}
}
const retryAfterHeader = responseHeaders?.get("retry-after");
if (retryAfterHeader && !timeoutMillis) {
const timeoutSeconds = parseFloat(retryAfterHeader);
if (!Number.isNaN(timeoutSeconds)) {
timeoutMillis = timeoutSeconds * 1000;
} else {
timeoutMillis = Date.parse(retryAfterHeader) - Date.now();
}
}
if (timeoutMillis === undefined) {
const maxRetries = options.maxRetries ?? this.maxRetries;
timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);
}
await sleep(timeoutMillis);
return this.makeRequest(options, retriesRemaining - 1, requestLogID);
}
calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {
const initialRetryDelay = 0.5;
const maxRetryDelay = 8;
const numRetries = maxRetries - retriesRemaining;
const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);
const jitter = 1 - Math.random() * 0.25;
return sleepSeconds * jitter * 1000;
}
calculateNonstreamingTimeout(maxTokens, maxNonstreamingTokens) {
const maxTime = 60 * 60 * 1000;
const defaultTime = 60 * 10 * 1000;
const expectedTime = maxTime * maxTokens / 128000;
if (expectedTime > defaultTime || maxNonstreamingTokens != null && maxTokens > maxNonstreamingTokens) {
throw new AnthropicError("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");
}
return defaultTime;
}
async buildRequest(inputOptions, { retryCount = 0 } = {}) {
const options = { ...inputOptions };
const { method, path: path2, query, defaultBaseURL } = options;
const url = this.buildURL(path2, query, defaultBaseURL);
if ("timeout" in options)
validatePositiveInteger("timeout", options.timeout);
options.timeout = options.timeout ?? this.timeout;
const { bodyHeaders, body } = this.buildBody({ options });
const reqHeaders = await this.buildHeaders({ options: inputOptions, method, bodyHeaders, retryCount });
const req = {
method,
headers: reqHeaders,
...options.signal && { signal: options.signal },
...globalThis.ReadableStream && body instanceof globalThis.ReadableStream && { duplex: "half" },
...body && { body },
...this.fetchOptions ?? {},
...options.fetchOptions ?? {}
};
return { req, url, timeout: options.timeout };
}
async buildHeaders({ options, method, bodyHeaders, retryCount }) {
let idempotencyHeaders = {};
if (this.idempotencyHeader && method !== "get") {
if (!options.idempotencyKey)
options.idempotencyKey = this.defaultIdempotencyKey();
idempotencyHeaders[this.idempotencyHeader] = options.idempotencyKey;
}
const headers = buildHeaders([
idempotencyHeaders,
{
Accept: "application/json",
"User-Agent": this.getUserAgent(),
"X-Stainless-Retry-Count": String(retryCount),
...options.timeout ? { "X-Stainless-Timeout": String(Math.trunc(options.timeout / 1000)) } : {},
...getPlatformHeaders(),
...this._options.dangerouslyAllowBrowser ? { "anthropic-dangerous-direct-browser-access": "true" } : undefined,
"anthropic-version": "2023-06-01"
},
await this.authHeaders(options),
this._options.defaultHeaders,
bodyHeaders,
options.headers
]);
this.validateHeaders(headers);
return headers.values;
}
_makeAbort(controller) {
return () => controller.abort();
}
buildBody({ options: { body, headers: rawHeaders } }) {
if (!body) {
return { bodyHeaders: undefined, body: undefined };
}
const headers = buildHeaders([rawHeaders]);
if (ArrayBuffer.isView(body) || body instanceof ArrayBuffer || body instanceof DataView || typeof body === "string" && headers.values.has("content-type") || globalThis.Blob && body instanceof globalThis.Blob || body instanceof FormData || body instanceof URLSearchParams || globalThis.ReadableStream && body instanceof globalThis.ReadableStream) {
return { bodyHeaders: undefined, body };
} else if (typeof body === "object" && ((Symbol.asyncIterator in body) || (Symbol.iterator in body) && ("next" in body) && typeof body.next === "function")) {
return { bodyHeaders: undefined, body: ReadableStreamFrom(body) };
} else if (typeof body === "object" && headers.values.get("content-type") === "application/x-www-form-urlencoded") {
return {
bodyHeaders: { "content-type": "application/x-www-form-urlencoded" },
body: this.stringifyQuery(body)
};
} else {
return __classPrivateFieldGet(this, _BaseAnthropic_encoder, "f").call(this, { body, headers });
}
}
}
var _BaseAnthropic_instances, _a, _BaseAnthropic_encoder, _BaseAnthropic_baseURLOverridden, HUMAN_PROMPT = "\\n\\nHuman:", AI_PROMPT = "\\n\\nAssistant:", Anthropic;
var init_client = __esm(() => {
init_tslib();
init_values();
init_detect_platform();
init_query();
init_error();
init_pagination();
init_uploads2();
init_resources();
init_api_promise();
init_completions();
init_models2();
init_beta();
init_messages2();
init_detect_platform();
init_headers();
init_log();
init_values();
_a = BaseAnthropic, _BaseAnthropic_encoder = new WeakMap, _BaseAnthropic_instances = new WeakSet, _BaseAnthropic_baseURLOverridden = function _BaseAnthropic_baseURLOverridden2() {
return this.baseURL !== "https://api.anthropic.com";
};
BaseAnthropic.Anthropic = _a;
BaseAnthropic.HUMAN_PROMPT = HUMAN_PROMPT;
BaseAnthropic.AI_PROMPT = AI_PROMPT;
BaseAnthropic.DEFAULT_TIMEOUT = 600000;
BaseAnthropic.AnthropicError = AnthropicError;
BaseAnthropic.APIError = APIError;
BaseAnthropic.APIConnectionError = APIConnectionError;
BaseAnthropic.APIConnectionTimeoutError = APIConnectionTimeoutError;
BaseAnthropic.APIUserAbortError = APIUserAbortError;
BaseAnthropic.NotFoundError = NotFoundError;
BaseAnthropic.ConflictError = ConflictError;
BaseAnthropic.RateLimitError = RateLimitError;
BaseAnthropic.BadRequestError = BadRequestError;
BaseAnthropic.AuthenticationError = AuthenticationError;
BaseAnthropic.InternalServerError = InternalServerError;
BaseAnthropic.PermissionDeniedError = PermissionDeniedError;
BaseAnthropic.UnprocessableEntityError = UnprocessableEntityError;
BaseAnthropic.toFile = toFile;
Anthropic = class Anthropic extends BaseAnthropic {
constructor() {
super(...arguments);
this.completions = new Completions(this);
this.messages = new Messages2(this);
this.models = new Models2(this);
this.beta = new Beta(this);
}
};
Anthropic.Completions = Completions;
Anthropic.Messages = Messages2;
Anthropic.Models = Models2;
Anthropic.Beta = Beta;
});
// node_modules/.pnpm/@anthropic-ai+sdk@0.80.0_zod@4.3.6/node_modules/@anthropic-ai/sdk/index.mjs
var init_sdk = __esm(() => {
init_client();
init_uploads2();
init_api_promise();
init_client();
init_pagination();
init_error();
});
// src/utils/errors.ts
function isAbortError2(e) {
return e instanceof AbortError || e instanceof APIUserAbortError || e instanceof Error && e.name === "AbortError";
}
function hasExactErrorMessage(error2, message) {
return error2 instanceof Error && error2.message === message;
}
function toError(e) {
return e instanceof Error ? e : new Error(String(e));
}
function errorMessage(e) {
return e instanceof Error ? e.message : String(e);
}
function getErrnoCode(e) {
if (e && typeof e === "object" && "code" in e && typeof e.code === "string") {
return e.code;
}
return;
}
function isENOENT(e) {
return getErrnoCode(e) === "ENOENT";
}
function getErrnoPath(e) {
if (e && typeof e === "object" && "path" in e && typeof e.path === "string") {
return e.path;
}
return;
}
function isFsInaccessible(e) {
const code = getErrnoCode(e);
return code === "ENOENT" || code === "EACCES" || code === "EPERM" || code === "ENOTDIR" || code === "ELOOP";
}
function classifyAxiosError(e) {
const message = errorMessage(e);
if (!e || typeof e !== "object" || !("isAxiosError" in e) || !e.isAxiosError) {
return { kind: "other", message };
}
const err = e;
const status = err.response?.status;
if (status === 401 || status === 403)
return { kind: "auth", status, message };
if (err.code === "ECONNABORTED")
return { kind: "timeout", status, message };
if (err.code === "ECONNREFUSED" || err.code === "ENOTFOUND") {
return { kind: "network", status, message };
}
return { kind: "http", status, message };
}
var ClaudeError, MalformedCommandError, AbortError, ConfigParseError, ShellError, TeleportOperationError, TelemetrySafeError_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS;
var init_errors = __esm(() => {
init_sdk();
ClaudeError = class ClaudeError extends Error {
constructor(message) {
super(message);
this.name = this.constructor.name;
}
};
MalformedCommandError = class MalformedCommandError extends Error {
};
AbortError = class AbortError extends Error {
constructor(message) {
super(message);
this.name = "AbortError";
}
};
ConfigParseError = class ConfigParseError extends Error {
filePath;
defaultConfig;
constructor(message, filePath, defaultConfig) {
super(message);
this.name = "ConfigParseError";
this.filePath = filePath;
this.defaultConfig = defaultConfig;
}
};
ShellError = class ShellError extends Error {
stdout;
stderr;
code;
interrupted;
constructor(stdout, stderr, code, interrupted) {
super("Shell command failed");
this.stdout = stdout;
this.stderr = stderr;
this.code = code;
this.interrupted = interrupted;
this.name = "ShellError";
}
};
TeleportOperationError = class TeleportOperationError extends Error {
formattedMessage;
constructor(message, formattedMessage) {
super(message);
this.formattedMessage = formattedMessage;
this.name = "TeleportOperationError";
}
};
TelemetrySafeError_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS = class TelemetrySafeError_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS extends Error {
telemetryMessage;
constructor(message, telemetryMessage) {
super(message);
this.name = "TelemetrySafeError";
this.telemetryMessage = telemetryMessage ?? message;
}
};
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayEach.js
function arrayEach(array, iteratee) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (iteratee(array[index], index, array) === false) {
break;
}
}
return array;
}
var _arrayEach_default;
var init__arrayEach = __esm(() => {
_arrayEach_default = arrayEach;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_defineProperty.js
var defineProperty, _defineProperty_default;
var init__defineProperty = __esm(() => {
init__getNative();
defineProperty = function() {
try {
var func = _getNative_default(Object, "defineProperty");
func({}, "", {});
return func;
} catch (e) {}
}();
_defineProperty_default = defineProperty;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignValue.js
function baseAssignValue(object, key, value) {
if (key == "__proto__" && _defineProperty_default) {
_defineProperty_default(object, key, {
configurable: true,
enumerable: true,
value,
writable: true
});
} else {
object[key] = value;
}
}
var _baseAssignValue_default;
var init__baseAssignValue = __esm(() => {
init__defineProperty();
_baseAssignValue_default = baseAssignValue;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_assignValue.js
function assignValue(object, key, value) {
var objValue = object[key];
if (!(hasOwnProperty10.call(object, key) && eq_default(objValue, value)) || value === undefined && !(key in object)) {
_baseAssignValue_default(object, key, value);
}
}
var objectProto13, hasOwnProperty10, _assignValue_default;
var init__assignValue = __esm(() => {
init__baseAssignValue();
init_eq();
objectProto13 = Object.prototype;
hasOwnProperty10 = objectProto13.hasOwnProperty;
_assignValue_default = assignValue;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_copyObject.js
function copyObject(source, props, object, customizer) {
var isNew = !object;
object || (object = {});
var index = -1, length = props.length;
while (++index < length) {
var key = props[index];
var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
if (newValue === undefined) {
newValue = source[key];
}
if (isNew) {
_baseAssignValue_default(object, key, newValue);
} else {
_assignValue_default(object, key, newValue);
}
}
return object;
}
var _copyObject_default;
var init__copyObject = __esm(() => {
init__assignValue();
init__baseAssignValue();
_copyObject_default = copyObject;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseAssign.js
function baseAssign(object, source) {
return object && _copyObject_default(source, keys_default(source), object);
}
var _baseAssign_default;
var init__baseAssign = __esm(() => {
init__copyObject();
init_keys();
_baseAssign_default = baseAssign;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeysIn.js
function nativeKeysIn(object) {
var result = [];
if (object != null) {
for (var key in Object(object)) {
result.push(key);
}
}
return result;
}
var _nativeKeysIn_default;
var init__nativeKeysIn = __esm(() => {
_nativeKeysIn_default = nativeKeysIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseKeysIn.js
function baseKeysIn(object) {
if (!isObject_default(object)) {
return _nativeKeysIn_default(object);
}
var isProto = _isPrototype_default(object), result = [];
for (var key in object) {
if (!(key == "constructor" && (isProto || !hasOwnProperty11.call(object, key)))) {
result.push(key);
}
}
return result;
}
var objectProto14, hasOwnProperty11, _baseKeysIn_default;
var init__baseKeysIn = __esm(() => {
init_isObject();
init__isPrototype();
init__nativeKeysIn();
objectProto14 = Object.prototype;
hasOwnProperty11 = objectProto14.hasOwnProperty;
_baseKeysIn_default = baseKeysIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/keysIn.js
function keysIn(object) {
return isArrayLike_default(object) ? _arrayLikeKeys_default(object, true) : _baseKeysIn_default(object);
}
var keysIn_default;
var init_keysIn = __esm(() => {
init__arrayLikeKeys();
init__baseKeysIn();
init_isArrayLike();
keysIn_default = keysIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignIn.js
function baseAssignIn(object, source) {
return object && _copyObject_default(source, keysIn_default(source), object);
}
var _baseAssignIn_default;
var init__baseAssignIn = __esm(() => {
init__copyObject();
init_keysIn();
_baseAssignIn_default = baseAssignIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneBuffer.js
var exports__cloneBuffer = {};
__export(exports__cloneBuffer, {
default: () => _cloneBuffer_default
});
function cloneBuffer(buffer, isDeep) {
if (isDeep) {
return buffer.slice();
}
var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
buffer.copy(result);
return result;
}
var freeExports3, freeModule3, moduleExports3, Buffer3, allocUnsafe, _cloneBuffer_default;
var init__cloneBuffer = __esm(() => {
init__root();
freeExports3 = typeof exports__cloneBuffer == "object" && exports__cloneBuffer && !exports__cloneBuffer.nodeType && exports__cloneBuffer;
freeModule3 = freeExports3 && typeof module__cloneBuffer == "object" && module__cloneBuffer && !module__cloneBuffer.nodeType && module__cloneBuffer;
moduleExports3 = freeModule3 && freeModule3.exports === freeExports3;
Buffer3 = moduleExports3 ? _root_default.Buffer : undefined;
allocUnsafe = Buffer3 ? Buffer3.allocUnsafe : undefined;
_cloneBuffer_default = cloneBuffer;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_copyArray.js
function copyArray(source, array) {
var index = -1, length = source.length;
array || (array = Array(length));
while (++index < length) {
array[index] = source[index];
}
return array;
}
var _copyArray_default;
var init__copyArray = __esm(() => {
_copyArray_default = copyArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_copySymbols.js
function copySymbols(source, object) {
return _copyObject_default(source, _getSymbols_default(source), object);
}
var _copySymbols_default;
var init__copySymbols = __esm(() => {
init__copyObject();
init__getSymbols();
_copySymbols_default = copySymbols;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getPrototype.js
var getPrototype, _getPrototype_default;
var init__getPrototype = __esm(() => {
init__overArg();
getPrototype = _overArg_default(Object.getPrototypeOf, Object);
_getPrototype_default = getPrototype;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getSymbolsIn.js
var nativeGetSymbols2, getSymbolsIn, _getSymbolsIn_default;
var init__getSymbolsIn = __esm(() => {
init__arrayPush();
init__getPrototype();
init__getSymbols();
init_stubArray();
nativeGetSymbols2 = Object.getOwnPropertySymbols;
getSymbolsIn = !nativeGetSymbols2 ? stubArray_default : function(object) {
var result = [];
while (object) {
_arrayPush_default(result, _getSymbols_default(object));
object = _getPrototype_default(object);
}
return result;
};
_getSymbolsIn_default = getSymbolsIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_copySymbolsIn.js
function copySymbolsIn(source, object) {
return _copyObject_default(source, _getSymbolsIn_default(source), object);
}
var _copySymbolsIn_default;
var init__copySymbolsIn = __esm(() => {
init__copyObject();
init__getSymbolsIn();
_copySymbolsIn_default = copySymbolsIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeysIn.js
function getAllKeysIn(object) {
return _baseGetAllKeys_default(object, keysIn_default, _getSymbolsIn_default);
}
var _getAllKeysIn_default;
var init__getAllKeysIn = __esm(() => {
init__baseGetAllKeys();
init__getSymbolsIn();
init_keysIn();
_getAllKeysIn_default = getAllKeysIn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_initCloneArray.js
function initCloneArray(array) {
var length = array.length, result = new array.constructor(length);
if (length && typeof array[0] == "string" && hasOwnProperty12.call(array, "index")) {
result.index = array.index;
result.input = array.input;
}
return result;
}
var objectProto15, hasOwnProperty12, _initCloneArray_default;
var init__initCloneArray = __esm(() => {
objectProto15 = Object.prototype;
hasOwnProperty12 = objectProto15.hasOwnProperty;
_initCloneArray_default = initCloneArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneArrayBuffer.js
function cloneArrayBuffer(arrayBuffer) {
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
new _Uint8Array_default(result).set(new _Uint8Array_default(arrayBuffer));
return result;
}
var _cloneArrayBuffer_default;
var init__cloneArrayBuffer = __esm(() => {
init__Uint8Array();
_cloneArrayBuffer_default = cloneArrayBuffer;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneDataView.js
function cloneDataView(dataView, isDeep) {
var buffer = isDeep ? _cloneArrayBuffer_default(dataView.buffer) : dataView.buffer;
return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
}
var _cloneDataView_default;
var init__cloneDataView = __esm(() => {
init__cloneArrayBuffer();
_cloneDataView_default = cloneDataView;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneRegExp.js
function cloneRegExp(regexp) {
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
result.lastIndex = regexp.lastIndex;
return result;
}
var reFlags, _cloneRegExp_default;
var init__cloneRegExp = __esm(() => {
reFlags = /\w*$/;
_cloneRegExp_default = cloneRegExp;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneSymbol.js
function cloneSymbol(symbol) {
return symbolValueOf2 ? Object(symbolValueOf2.call(symbol)) : {};
}
var symbolProto3, symbolValueOf2, _cloneSymbol_default;
var init__cloneSymbol = __esm(() => {
init__Symbol();
symbolProto3 = _Symbol_default ? _Symbol_default.prototype : undefined;
symbolValueOf2 = symbolProto3 ? symbolProto3.valueOf : undefined;
_cloneSymbol_default = cloneSymbol;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cloneTypedArray.js
function cloneTypedArray(typedArray, isDeep) {
var buffer = isDeep ? _cloneArrayBuffer_default(typedArray.buffer) : typedArray.buffer;
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
}
var _cloneTypedArray_default;
var init__cloneTypedArray = __esm(() => {
init__cloneArrayBuffer();
_cloneTypedArray_default = cloneTypedArray;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_initCloneByTag.js
function initCloneByTag(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag3:
return _cloneArrayBuffer_default(object);
case boolTag3:
case dateTag3:
return new Ctor(+object);
case dataViewTag4:
return _cloneDataView_default(object, isDeep);
case float32Tag2:
case float64Tag2:
case int8Tag2:
case int16Tag2:
case int32Tag2:
case uint8Tag2:
case uint8ClampedTag2:
case uint16Tag2:
case uint32Tag2:
return _cloneTypedArray_default(object, isDeep);
case mapTag4:
return new Ctor;
case numberTag3:
case stringTag3:
return new Ctor(object);
case regexpTag3:
return _cloneRegExp_default(object);
case setTag4:
return new Ctor;
case symbolTag3:
return _cloneSymbol_default(object);
}
}
var boolTag3 = "[object Boolean]", dateTag3 = "[object Date]", mapTag4 = "[object Map]", numberTag3 = "[object Number]", regexpTag3 = "[object RegExp]", setTag4 = "[object Set]", stringTag3 = "[object String]", symbolTag3 = "[object Symbol]", arrayBufferTag3 = "[object ArrayBuffer]", dataViewTag4 = "[object DataView]", float32Tag2 = "[object Float32Array]", float64Tag2 = "[object Float64Array]", int8Tag2 = "[object Int8Array]", int16Tag2 = "[object Int16Array]", int32Tag2 = "[object Int32Array]", uint8Tag2 = "[object Uint8Array]", uint8ClampedTag2 = "[object Uint8ClampedArray]", uint16Tag2 = "[object Uint16Array]", uint32Tag2 = "[object Uint32Array]", _initCloneByTag_default;
var init__initCloneByTag = __esm(() => {
init__cloneArrayBuffer();
init__cloneDataView();
init__cloneRegExp();
init__cloneSymbol();
init__cloneTypedArray();
_initCloneByTag_default = initCloneByTag;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseCreate.js
var objectCreate, baseCreate, _baseCreate_default;
var init__baseCreate = __esm(() => {
init_isObject();
objectCreate = Object.create;
baseCreate = function() {
function object() {}
return function(proto) {
if (!isObject_default(proto)) {
return {};
}
if (objectCreate) {
return objectCreate(proto);
}
object.prototype = proto;
var result = new object;
object.prototype = undefined;
return result;
};
}();
_baseCreate_default = baseCreate;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_initCloneObject.js
function initCloneObject(object) {
return typeof object.constructor == "function" && !_isPrototype_default(object) ? _baseCreate_default(_getPrototype_default(object)) : {};
}
var _initCloneObject_default;
var init__initCloneObject = __esm(() => {
init__baseCreate();
init__getPrototype();
init__isPrototype();
_initCloneObject_default = initCloneObject;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsMap.js
function baseIsMap(value) {
return isObjectLike_default(value) && _getTag_default(value) == mapTag5;
}
var mapTag5 = "[object Map]", _baseIsMap_default;
var init__baseIsMap = __esm(() => {
init__getTag();
init_isObjectLike();
_baseIsMap_default = baseIsMap;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isMap.js
var nodeIsMap, isMap, isMap_default;
var init_isMap = __esm(() => {
init__baseIsMap();
init__baseUnary();
init__nodeUtil();
nodeIsMap = _nodeUtil_default && _nodeUtil_default.isMap;
isMap = nodeIsMap ? _baseUnary_default(nodeIsMap) : _baseIsMap_default;
isMap_default = isMap;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsSet.js
function baseIsSet(value) {
return isObjectLike_default(value) && _getTag_default(value) == setTag5;
}
var setTag5 = "[object Set]", _baseIsSet_default;
var init__baseIsSet = __esm(() => {
init__getTag();
init_isObjectLike();
_baseIsSet_default = baseIsSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isSet.js
var nodeIsSet, isSet, isSet_default;
var init_isSet = __esm(() => {
init__baseIsSet();
init__baseUnary();
init__nodeUtil();
nodeIsSet = _nodeUtil_default && _nodeUtil_default.isSet;
isSet = nodeIsSet ? _baseUnary_default(nodeIsSet) : _baseIsSet_default;
isSet_default = isSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseClone.js
function baseClone(value, bitmask, customizer, key, object, stack) {
var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;
if (customizer) {
result = object ? customizer(value, key, object, stack) : customizer(value);
}
if (result !== undefined) {
return result;
}
if (!isObject_default(value)) {
return value;
}
var isArr = isArray_default(value);
if (isArr) {
result = _initCloneArray_default(value);
if (!isDeep) {
return _copyArray_default(value, result);
}
} else {
var tag = _getTag_default(value), isFunc = tag == funcTag3 || tag == genTag2;
if (isBuffer_default(value)) {
return _cloneBuffer_default(value, isDeep);
}
if (tag == objectTag4 || tag == argsTag4 || isFunc && !object) {
result = isFlat || isFunc ? {} : _initCloneObject_default(value);
if (!isDeep) {
return isFlat ? _copySymbolsIn_default(value, _baseAssignIn_default(result, value)) : _copySymbols_default(value, _baseAssign_default(result, value));
}
} else {
if (!cloneableTags[tag]) {
return object ? value : {};
}
result = _initCloneByTag_default(value, tag, isDeep);
}
}
stack || (stack = new _Stack_default);
var stacked = stack.get(value);
if (stacked) {
return stacked;
}
stack.set(value, result);
if (isSet_default(value)) {
value.forEach(function(subValue) {
result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
});
} else if (isMap_default(value)) {
value.forEach(function(subValue, key2) {
result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
});
}
var keysFunc = isFull ? isFlat ? _getAllKeysIn_default : _getAllKeys_default : isFlat ? keysIn_default : keys_default;
var props = isArr ? undefined : keysFunc(value);
_arrayEach_default(props || value, function(subValue, key2) {
if (props) {
key2 = subValue;
subValue = value[key2];
}
_assignValue_default(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
});
return result;
}
var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4, argsTag4 = "[object Arguments]", arrayTag3 = "[object Array]", boolTag4 = "[object Boolean]", dateTag4 = "[object Date]", errorTag3 = "[object Error]", funcTag3 = "[object Function]", genTag2 = "[object GeneratorFunction]", mapTag6 = "[object Map]", numberTag4 = "[object Number]", objectTag4 = "[object Object]", regexpTag4 = "[object RegExp]", setTag6 = "[object Set]", stringTag4 = "[object String]", symbolTag4 = "[object Symbol]", weakMapTag3 = "[object WeakMap]", arrayBufferTag4 = "[object ArrayBuffer]", dataViewTag5 = "[object DataView]", float32Tag3 = "[object Float32Array]", float64Tag3 = "[object Float64Array]", int8Tag3 = "[object Int8Array]", int16Tag3 = "[object Int16Array]", int32Tag3 = "[object Int32Array]", uint8Tag3 = "[object Uint8Array]", uint8ClampedTag3 = "[object Uint8ClampedArray]", uint16Tag3 = "[object Uint16Array]", uint32Tag3 = "[object Uint32Array]", cloneableTags, _baseClone_default;
var init__baseClone = __esm(() => {
init__Stack();
init__arrayEach();
init__assignValue();
init__baseAssign();
init__baseAssignIn();
init__cloneBuffer();
init__copyArray();
init__copySymbols();
init__copySymbolsIn();
init__getAllKeys();
init__getAllKeysIn();
init__getTag();
init__initCloneArray();
init__initCloneByTag();
init__initCloneObject();
init_isArray();
init_isBuffer();
init_isMap();
init_isObject();
init_isSet();
init_keys();
init_keysIn();
cloneableTags = {};
cloneableTags[argsTag4] = cloneableTags[arrayTag3] = cloneableTags[arrayBufferTag4] = cloneableTags[dataViewTag5] = cloneableTags[boolTag4] = cloneableTags[dateTag4] = cloneableTags[float32Tag3] = cloneableTags[float64Tag3] = cloneableTags[int8Tag3] = cloneableTags[int16Tag3] = cloneableTags[int32Tag3] = cloneableTags[mapTag6] = cloneableTags[numberTag4] = cloneableTags[objectTag4] = cloneableTags[regexpTag4] = cloneableTags[setTag6] = cloneableTags[stringTag4] = cloneableTags[symbolTag4] = cloneableTags[uint8Tag3] = cloneableTags[uint8ClampedTag3] = cloneableTags[uint16Tag3] = cloneableTags[uint32Tag3] = true;
cloneableTags[errorTag3] = cloneableTags[funcTag3] = cloneableTags[weakMapTag3] = false;
_baseClone_default = baseClone;
});
// src/utils/slowOperations.ts
import {
closeSync,
writeFileSync as fsWriteFileSync,
fsyncSync,
openSync
} from "fs";
function slowLoggingExternal() {
return NOOP_LOGGER;
}
function jsonStringify(value, replacer, space) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`JSON.stringify(${value})`, 0);
return JSON.stringify(value, replacer, space);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
}
function clone(value, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`structuredClone(${value})`, 0);
return structuredClone(value, options);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
}
function writeFileSync_DEPRECATED(filePath, data, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.writeFileSync(${filePath}, ${data})`, 0);
const needsFlush = options !== null && typeof options === "object" && "flush" in options && options.flush === true;
if (needsFlush) {
const encoding = typeof options === "object" && "encoding" in options ? options.encoding : undefined;
const mode = typeof options === "object" && "mode" in options ? options.mode : undefined;
let fd;
try {
fd = openSync(filePath, "w", mode);
fsWriteFileSync(fd, data, { encoding: encoding ?? undefined });
fsyncSync(fd);
} finally {
if (fd !== undefined) {
closeSync(fd);
}
}
} else {
fsWriteFileSync(filePath, data, options);
}
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
}
var SLOW_OPERATION_THRESHOLD_MS, NOOP_LOGGER, slowLogging, jsonParse = (text, reviver) => {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`JSON.parse(${text})`, 0);
return typeof reviver === "undefined" ? JSON.parse(text) : JSON.parse(text, reviver);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
};
var init_slowOperations = __esm(() => {
init_state();
init_debug();
SLOW_OPERATION_THRESHOLD_MS = (() => {
const envValue = process.env.CLAUDE_CODE_SLOW_OPERATION_THRESHOLD_MS;
if (envValue !== undefined) {
const parsed = Number(envValue);
if (!Number.isNaN(parsed) && parsed >= 0) {
return parsed;
}
}
if (true) {
return 20;
}
if (process.env.USER_TYPE === "ant") {
return 300;
}
return Infinity;
})();
NOOP_LOGGER = { [Symbol.dispose]() {} };
slowLogging = slowLoggingExternal;
});
// src/utils/fsOperations.ts
import * as fs from "fs";
import {
mkdir as mkdirPromise,
open,
readdir as readdirPromise,
readFile as readFilePromise,
rename as renamePromise,
rmdir as rmdirPromise,
rm as rmPromise,
stat as statPromise,
unlink as unlinkPromise
} from "fs/promises";
import { homedir as homedir2 } from "os";
import * as nodePath from "path";
function safeResolvePath(fs2, filePath) {
if (filePath.startsWith("//") || filePath.startsWith("\\\\")) {
return { resolvedPath: filePath, isSymlink: false, isCanonical: false };
}
try {
const stats = fs2.lstatSync(filePath);
if (stats.isFIFO() || stats.isSocket() || stats.isCharacterDevice() || stats.isBlockDevice()) {
return { resolvedPath: filePath, isSymlink: false, isCanonical: false };
}
const resolvedPath = fs2.realpathSync(filePath);
return {
resolvedPath,
isSymlink: resolvedPath !== filePath,
isCanonical: true
};
} catch (_error) {
return { resolvedPath: filePath, isSymlink: false, isCanonical: false };
}
}
function isDuplicatePath(fs2, filePath, loadedPaths) {
const { resolvedPath } = safeResolvePath(fs2, filePath);
if (loadedPaths.has(resolvedPath)) {
return true;
}
loadedPaths.add(resolvedPath);
return false;
}
function resolveDeepestExistingAncestorSync(fs2, absolutePath) {
let dir = absolutePath;
const segments = [];
while (dir !== nodePath.dirname(dir)) {
let st;
try {
st = fs2.lstatSync(dir);
} catch {
segments.unshift(nodePath.basename(dir));
dir = nodePath.dirname(dir);
continue;
}
if (st.isSymbolicLink()) {
try {
const resolved = fs2.realpathSync(dir);
return segments.length === 0 ? resolved : nodePath.join(resolved, ...segments);
} catch {
const target = fs2.readlinkSync(dir);
const absTarget = nodePath.isAbsolute(target) ? target : nodePath.resolve(nodePath.dirname(dir), target);
return segments.length === 0 ? absTarget : nodePath.join(absTarget, ...segments);
}
}
try {
const resolved = fs2.realpathSync(dir);
if (resolved !== dir) {
return segments.length === 0 ? resolved : nodePath.join(resolved, ...segments);
}
} catch {}
return;
}
return;
}
function getPathsForPermissionCheck(inputPath) {
let path2 = inputPath;
if (path2 === "~") {
path2 = homedir2().normalize("NFC");
} else if (path2.startsWith("~/")) {
path2 = nodePath.join(homedir2().normalize("NFC"), path2.slice(2));
}
const pathSet = new Set;
const fsImpl = getFsImplementation();
pathSet.add(path2);
if (path2.startsWith("//") || path2.startsWith("\\\\")) {
return Array.from(pathSet);
}
try {
let currentPath = path2;
const visited = new Set;
const maxDepth = 40;
for (let depth = 0;depth < maxDepth; depth++) {
if (visited.has(currentPath)) {
break;
}
visited.add(currentPath);
if (!fsImpl.existsSync(currentPath)) {
if (currentPath === path2) {
const resolved = resolveDeepestExistingAncestorSync(fsImpl, path2);
if (resolved !== undefined) {
pathSet.add(resolved);
}
}
break;
}
const stats = fsImpl.lstatSync(currentPath);
if (stats.isFIFO() || stats.isSocket() || stats.isCharacterDevice() || stats.isBlockDevice()) {
break;
}
if (!stats.isSymbolicLink()) {
break;
}
const target = fsImpl.readlinkSync(currentPath);
const absoluteTarget = nodePath.isAbsolute(target) ? target : nodePath.resolve(nodePath.dirname(currentPath), target);
pathSet.add(absoluteTarget);
currentPath = absoluteTarget;
}
} catch {}
const { resolvedPath, isSymlink } = safeResolvePath(fsImpl, path2);
if (isSymlink && resolvedPath !== path2) {
pathSet.add(resolvedPath);
}
return Array.from(pathSet);
}
function getFsImplementation() {
return activeFs;
}
async function readFileRange(path2, offset, maxBytes) {
let __stack = [];
try {
const fh = __using(__stack, await open(path2, "r"), 1);
const size = (await fh.stat()).size;
if (size <= offset) {
return null;
}
const bytesToRead = Math.min(size - offset, maxBytes);
const buffer = Buffer.allocUnsafe(bytesToRead);
let totalRead = 0;
while (totalRead < bytesToRead) {
const { bytesRead } = await fh.read(buffer, totalRead, bytesToRead - totalRead, offset + totalRead);
if (bytesRead === 0) {
break;
}
totalRead += bytesRead;
}
return {
content: buffer.toString("utf8", 0, totalRead),
bytesRead: totalRead,
bytesTotal: size
};
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
var _promise = __callDispose(__stack, _err, _hasErr);
_promise && await _promise;
}
}
async function tailFile(path2, maxBytes) {
let __stack = [];
try {
const fh = __using(__stack, await open(path2, "r"), 1);
const size = (await fh.stat()).size;
if (size === 0) {
return { content: "", bytesRead: 0, bytesTotal: 0 };
}
const offset = Math.max(0, size - maxBytes);
const bytesToRead = size - offset;
const buffer = Buffer.allocUnsafe(bytesToRead);
let totalRead = 0;
while (totalRead < bytesToRead) {
const { bytesRead } = await fh.read(buffer, totalRead, bytesToRead - totalRead, offset + totalRead);
if (bytesRead === 0) {
break;
}
totalRead += bytesRead;
}
return {
content: buffer.toString("utf8", 0, totalRead),
bytesRead: totalRead,
bytesTotal: size
};
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
var _promise = __callDispose(__stack, _err, _hasErr);
_promise && await _promise;
}
}
async function* readLinesReverse(path2) {
const CHUNK_SIZE = 1024 * 4;
const fileHandle = await open(path2, "r");
try {
const stats = await fileHandle.stat();
let position = stats.size;
let remainder = Buffer.alloc(0);
const buffer = Buffer.alloc(CHUNK_SIZE);
while (position > 0) {
const currentChunkSize = Math.min(CHUNK_SIZE, position);
position -= currentChunkSize;
await fileHandle.read(buffer, 0, currentChunkSize, position);
const combined = Buffer.concat([
buffer.subarray(0, currentChunkSize),
remainder
]);
const firstNewline = combined.indexOf(10);
if (firstNewline === -1) {
remainder = combined;
continue;
}
remainder = Buffer.from(combined.subarray(0, firstNewline));
const lines = combined.toString("utf8", firstNewline + 1).split(`
`);
for (let i = lines.length - 1;i >= 0; i--) {
const line = lines[i];
if (line) {
yield line;
}
}
}
if (remainder.length > 0) {
yield remainder.toString("utf8");
}
} finally {
await fileHandle.close();
}
}
var NodeFsOperations, activeFs;
var init_fsOperations = __esm(() => {
init_errors();
init_slowOperations();
NodeFsOperations = {
cwd() {
return process.cwd();
},
existsSync(fsPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.existsSync(${fsPath})`, 0);
return fs.existsSync(fsPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
async stat(fsPath) {
return statPromise(fsPath);
},
async readdir(fsPath) {
return readdirPromise(fsPath, { withFileTypes: true });
},
async unlink(fsPath) {
return unlinkPromise(fsPath);
},
async rmdir(fsPath) {
return rmdirPromise(fsPath);
},
async rm(fsPath, options) {
return rmPromise(fsPath, options);
},
async mkdir(dirPath, options) {
try {
await mkdirPromise(dirPath, { recursive: true, ...options });
} catch (e) {
if (getErrnoCode(e) !== "EEXIST")
throw e;
}
},
async readFile(fsPath, options) {
return readFilePromise(fsPath, { encoding: options.encoding });
},
async rename(oldPath, newPath) {
return renamePromise(oldPath, newPath);
},
statSync(fsPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.statSync(${fsPath})`, 0);
return fs.statSync(fsPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
lstatSync(fsPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.lstatSync(${fsPath})`, 0);
return fs.lstatSync(fsPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readFileSync(fsPath, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readFileSync(${fsPath})`, 0);
return fs.readFileSync(fsPath, { encoding: options.encoding });
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readFileBytesSync(fsPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readFileBytesSync(${fsPath})`, 0);
return fs.readFileSync(fsPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readSync(fsPath, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readSync(${fsPath}, ${options.length} bytes)`, 0);
let fd = undefined;
try {
fd = fs.openSync(fsPath, "r");
const buffer = Buffer.alloc(options.length);
const bytesRead = fs.readSync(fd, buffer, 0, options.length, 0);
return { buffer, bytesRead };
} finally {
if (fd)
fs.closeSync(fd);
}
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
appendFileSync(path2, data, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.appendFileSync(${path2}, ${data.length} chars)`, 0);
if (options?.mode !== undefined) {
try {
const fd = fs.openSync(path2, "ax", options.mode);
try {
fs.appendFileSync(fd, data);
} finally {
fs.closeSync(fd);
}
return;
} catch (e) {
if (getErrnoCode(e) !== "EEXIST")
throw e;
}
}
fs.appendFileSync(path2, data);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
copyFileSync(src, dest) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.copyFileSync(${src} → ${dest})`, 0);
fs.copyFileSync(src, dest);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
unlinkSync(path2) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.unlinkSync(${path2})`, 0);
fs.unlinkSync(path2);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
renameSync(oldPath, newPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.renameSync(${oldPath} → ${newPath})`, 0);
fs.renameSync(oldPath, newPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
linkSync(target, path2) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.linkSync(${target} → ${path2})`, 0);
fs.linkSync(target, path2);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
symlinkSync(target, path2, type) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.symlinkSync(${target} → ${path2})`, 0);
fs.symlinkSync(target, path2, type);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readlinkSync(path2) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readlinkSync(${path2})`, 0);
return fs.readlinkSync(path2);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
realpathSync(path2) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.realpathSync(${path2})`, 0);
return fs.realpathSync(path2).normalize("NFC");
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
mkdirSync(dirPath, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.mkdirSync(${dirPath})`, 0);
const mkdirOptions = {
recursive: true
};
if (options?.mode !== undefined) {
mkdirOptions.mode = options.mode;
}
try {
fs.mkdirSync(dirPath, mkdirOptions);
} catch (e) {
if (getErrnoCode(e) !== "EEXIST")
throw e;
}
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readdirSync(dirPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readdirSync(${dirPath})`, 0);
return fs.readdirSync(dirPath, { withFileTypes: true });
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
readdirStringSync(dirPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.readdirStringSync(${dirPath})`, 0);
return fs.readdirSync(dirPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
isDirEmptySync(dirPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.isDirEmptySync(${dirPath})`, 0);
const files = this.readdirSync(dirPath);
return files.length === 0;
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
rmdirSync(dirPath) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.rmdirSync(${dirPath})`, 0);
fs.rmdirSync(dirPath);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
rmSync(path2, options) {
let __stack = [];
try {
const _ = __using(__stack, slowLogging`fs.rmSync(${path2})`, 0);
fs.rmSync(path2, options);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
},
createWriteStream(path2) {
return fs.createWriteStream(path2);
},
async readFileBytes(fsPath, maxBytes) {
if (maxBytes === undefined) {
return readFilePromise(fsPath);
}
const handle = await open(fsPath, "r");
try {
const { size } = await handle.stat();
const readSize = Math.min(size, maxBytes);
const buffer = Buffer.allocUnsafe(readSize);
let offset = 0;
while (offset < readSize) {
const { bytesRead } = await handle.read(buffer, offset, readSize - offset, offset);
if (bytesRead === 0)
break;
offset += bytesRead;
}
return offset < readSize ? buffer.subarray(0, offset) : buffer;
} finally {
await handle.close();
}
}
};
activeFs = NodeFsOperations;
});
// src/utils/process.ts
function handleEPIPE(stream) {
return (err) => {
if (err.code === "EPIPE") {
stream.destroy();
}
};
}
function registerProcessOutputErrorHandlers() {
process.stdout.on("error", handleEPIPE(process.stdout));
process.stderr.on("error", handleEPIPE(process.stderr));
}
function writeOut(stream, data) {
if (stream.destroyed) {
return;
}
stream.write(data);
}
function writeToStdout(data) {
writeOut(process.stdout, data);
}
function writeToStderr(data) {
writeOut(process.stderr, data);
}
function peekForStdinData(stream, ms) {
return new Promise((resolve2) => {
const done = (timedOut) => {
clearTimeout(peek);
stream.off("end", onEnd);
stream.off("data", onFirstData);
resolve2(timedOut);
};
const onEnd = () => done(false);
const onFirstData = () => clearTimeout(peek);
const peek = setTimeout(done, ms, true);
stream.once("end", onEnd);
stream.once("data", onFirstData);
});
}
// src/utils/debug.ts
import { appendFile, mkdir, symlink, unlink } from "fs/promises";
import { dirname as dirname2, join as join3 } from "path";
function enableDebugLogging() {
const wasActive = isDebugMode() || process.env.USER_TYPE === "ant";
runtimeDebugEnabled = true;
isDebugMode.cache.clear?.();
return wasActive;
}
function shouldLogDebugMessage(message) {
if (false) {}
if (process.env.USER_TYPE !== "ant" && !isDebugMode()) {
return false;
}
if (typeof process === "undefined" || typeof process.versions === "undefined" || typeof process.versions.node === "undefined") {
return false;
}
const filter = getDebugFilter();
return shouldShowDebugMessage(message, filter);
}
function setHasFormattedOutput(value) {
hasFormattedOutput = value;
}
function getHasFormattedOutput() {
return hasFormattedOutput;
}
async function appendAsync(needMkdir, dir, path2, content) {
if (needMkdir) {
await mkdir(dir, { recursive: true }).catch(() => {});
}
await appendFile(path2, content);
updateLatestDebugLogSymlink();
}
function noop2() {}
function getDebugWriter() {
if (!debugWriter) {
let ensuredDir = null;
debugWriter = createBufferedWriter({
writeFn: (content) => {
const path2 = getDebugLogPath();
const dir = dirname2(path2);
const needMkdir = ensuredDir !== dir;
ensuredDir = dir;
if (isDebugMode()) {
if (needMkdir) {
try {
getFsImplementation().mkdirSync(dir);
} catch {}
}
getFsImplementation().appendFileSync(path2, content);
updateLatestDebugLogSymlink();
return;
}
pendingWrite = pendingWrite.then(appendAsync.bind(null, needMkdir, dir, path2, content)).catch(noop2);
},
flushIntervalMs: 1000,
maxBufferSize: 100,
immediateMode: isDebugMode()
});
registerCleanup(async () => {
debugWriter?.dispose();
await pendingWrite;
});
}
return debugWriter;
}
function logForDebugging(message, { level } = {
level: "debug"
}) {
if (LEVEL_ORDER[level] < LEVEL_ORDER[getMinDebugLogLevel()]) {
return;
}
if (!shouldLogDebugMessage(message)) {
return;
}
if (hasFormattedOutput && message.includes(`
`)) {
message = jsonStringify(message);
}
const timestamp = new Date().toISOString();
const output = `${timestamp} [${level.toUpperCase()}] ${message.trim()}
`;
if (isDebugToStdErr()) {
writeToStderr(output);
return;
}
getDebugWriter().write(output);
}
function getDebugLogPath() {
return getDebugFilePath() ?? process.env.CLAUDE_CODE_DEBUG_LOGS_DIR ?? join3(getClaudeConfigHomeDir(), "debug", `${getSessionId()}.txt`);
}
function logAntError(context, error2) {
if (process.env.USER_TYPE !== "ant") {
return;
}
if (error2 instanceof Error && error2.stack) {
logForDebugging(`[ANT-ONLY] ${context} stack trace:
${error2.stack}`, {
level: "error"
});
}
}
var LEVEL_ORDER, getMinDebugLogLevel, runtimeDebugEnabled = false, isDebugMode, getDebugFilter, isDebugToStdErr, getDebugFilePath, hasFormattedOutput = false, debugWriter = null, pendingWrite, updateLatestDebugLogSymlink;
var init_debug = __esm(() => {
init_memoize();
init_state();
init_cleanupRegistry();
init_debugFilter();
init_envUtils();
init_fsOperations();
init_slowOperations();
LEVEL_ORDER = {
verbose: 0,
debug: 1,
info: 2,
warn: 3,
error: 4
};
getMinDebugLogLevel = memoize_default(() => {
const raw = process.env.CLAUDE_CODE_DEBUG_LOG_LEVEL?.toLowerCase().trim();
if (raw && Object.hasOwn(LEVEL_ORDER, raw)) {
return raw;
}
return "debug";
});
isDebugMode = memoize_default(() => {
return runtimeDebugEnabled || isEnvTruthy(process.env.DEBUG) || isEnvTruthy(process.env.DEBUG_SDK) || process.argv.includes("--debug") || process.argv.includes("-d") || isDebugToStdErr() || process.argv.some((arg) => arg.startsWith("--debug=")) || getDebugFilePath() !== null;
});
getDebugFilter = memoize_default(() => {
const debugArg = process.argv.find((arg) => arg.startsWith("--debug="));
if (!debugArg) {
return null;
}
const filterPattern = debugArg.substring("--debug=".length);
return parseDebugFilter(filterPattern);
});
isDebugToStdErr = memoize_default(() => {
return process.argv.includes("--debug-to-stderr") || process.argv.includes("-d2e");
});
getDebugFilePath = memoize_default(() => {
for (let i = 0;i < process.argv.length; i++) {
const arg = process.argv[i];
if (arg.startsWith("--debug-file=")) {
return arg.substring("--debug-file=".length);
}
if (arg === "--debug-file" && i + 1 < process.argv.length) {
return process.argv[i + 1];
}
}
return null;
});
pendingWrite = Promise.resolve();
updateLatestDebugLogSymlink = memoize_default(async () => {
try {
const debugLogPath = getDebugLogPath();
const debugLogsDir = dirname2(debugLogPath);
const latestSymlinkPath = join3(debugLogsDir, "latest");
await unlink(latestSymlinkPath).catch(() => {});
await symlink(debugLogPath, latestSymlinkPath);
} catch {}
});
});
// src/utils/intl.ts
function getGraphemeSegmenter() {
if (!graphemeSegmenter) {
graphemeSegmenter = new Intl.Segmenter(undefined, {
granularity: "grapheme"
});
}
return graphemeSegmenter;
}
function firstGrapheme(text) {
if (!text)
return "";
const segments = getGraphemeSegmenter().segment(text);
const first = segments[Symbol.iterator]().next().value;
return first?.segment ?? "";
}
function lastGrapheme(text) {
if (!text)
return "";
let last = "";
for (const { segment } of getGraphemeSegmenter().segment(text)) {
last = segment;
}
return last;
}
function getWordSegmenter() {
if (!wordSegmenter) {
wordSegmenter = new Intl.Segmenter(undefined, { granularity: "word" });
}
return wordSegmenter;
}
function getRelativeTimeFormat(style, numeric) {
const key = `${style}:${numeric}`;
let rtf = rtfCache.get(key);
if (!rtf) {
rtf = new Intl.RelativeTimeFormat("en", { style, numeric });
rtfCache.set(key, rtf);
}
return rtf;
}
function getTimeZone() {
if (!cachedTimeZone) {
cachedTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
}
return cachedTimeZone;
}
var graphemeSegmenter = null, wordSegmenter = null, rtfCache, cachedTimeZone = null;
var init_intl = __esm(() => {
rtfCache = new Map;
});
// node_modules/.pnpm/emoji-regex@10.6.0/node_modules/emoji-regex/index.js
var require_emoji_regex = __commonJS((exports, module) => {
module.exports = () => {
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
};
});
// node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/lookup-data.js
var ambiguousRanges, fullwidthRanges, halfwidthRanges, narrowRanges, wideRanges;
var init_lookup_data = __esm(() => {
ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
});
// node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/utilities.js
var isInRange = (ranges, codePoint) => {
let low = 0;
let high = Math.floor(ranges.length / 2) - 1;
while (low <= high) {
const mid = Math.floor((low + high) / 2);
const i = mid * 2;
if (codePoint < ranges[i]) {
high = mid - 1;
} else if (codePoint > ranges[i + 1]) {
low = mid + 1;
} else {
return true;
}
}
return false;
};
// node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/lookup.js
function findWideFastPathRange(ranges) {
let fastPathStart = ranges[0];
let fastPathEnd = ranges[1];
for (let index = 0;index < ranges.length; index += 2) {
const start = ranges[index];
const end = ranges[index + 1];
if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
return [start, end];
}
if (end - start > fastPathEnd - fastPathStart) {
fastPathStart = start;
fastPathEnd = end;
}
}
return [fastPathStart, fastPathEnd];
}
var minimumAmbiguousCodePoint, maximumAmbiguousCodePoint, minimumFullWidthCodePoint, maximumFullWidthCodePoint, minimumHalfWidthCodePoint, maximumHalfWidthCodePoint, minimumNarrowCodePoint, maximumNarrowCodePoint, minimumWideCodePoint, maximumWideCodePoint, commonCjkCodePoint = 19968, wideFastPathStart, wideFastPathEnd, isAmbiguous = (codePoint) => {
if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
return false;
}
return isInRange(ambiguousRanges, codePoint);
}, isFullWidth = (codePoint) => {
if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
return false;
}
return isInRange(fullwidthRanges, codePoint);
}, isWide = (codePoint) => {
if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
return true;
}
if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
return false;
}
return isInRange(wideRanges, codePoint);
};
var init_lookup = __esm(() => {
init_lookup_data();
minimumAmbiguousCodePoint = ambiguousRanges[0];
maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
minimumFullWidthCodePoint = fullwidthRanges[0];
maximumFullWidthCodePoint = fullwidthRanges.at(-1);
minimumHalfWidthCodePoint = halfwidthRanges[0];
maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
minimumNarrowCodePoint = narrowRanges[0];
maximumNarrowCodePoint = narrowRanges.at(-1);
minimumWideCodePoint = wideRanges[0];
maximumWideCodePoint = wideRanges.at(-1);
[wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
});
// node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/index.js
function validate(codePoint) {
if (!Number.isSafeInteger(codePoint)) {
throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
}
}
function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
validate(codePoint);
if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
return 2;
}
return 1;
}
var init_get_east_asian_width = __esm(() => {
init_lookup();
init_lookup();
});
// node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
function ansiRegex({ onlyFirst = false } = {}) {
const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
const pattern = `${osc}|${csi}`;
return new RegExp(pattern, onlyFirst ? undefined : "g");
}
// node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js
function stripAnsi(string) {
if (typeof string !== "string") {
throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
}
if (!string.includes("\x1B") && !string.includes("")) {
return string;
}
return string.replace(regex, "");
}
var regex;
var init_strip_ansi = __esm(() => {
regex = ansiRegex();
});
// src/ink/stringWidth.ts
function stringWidthJavaScript(str) {
if (typeof str !== "string" || str.length === 0) {
return 0;
}
let isPureAscii = true;
for (let i = 0;i < str.length; i++) {
const code = str.charCodeAt(i);
if (code >= 127 || code === 27) {
isPureAscii = false;
break;
}
}
if (isPureAscii) {
let width2 = 0;
for (let i = 0;i < str.length; i++) {
const code = str.charCodeAt(i);
if (code > 31) {
width2++;
}
}
return width2;
}
if (str.includes("\x1B")) {
str = stripAnsi(str);
if (str.length === 0) {
return 0;
}
}
if (!needsSegmentation(str)) {
let width2 = 0;
for (const char of str) {
const codePoint = char.codePointAt(0);
if (!isZeroWidth(codePoint)) {
width2 += eastAsianWidth(codePoint, { ambiguousAsWide: false });
}
}
return width2;
}
let width = 0;
for (const { segment: grapheme } of getGraphemeSegmenter().segment(str)) {
EMOJI_REGEX.lastIndex = 0;
if (EMOJI_REGEX.test(grapheme)) {
width += getEmojiWidth(grapheme);
continue;
}
for (const char of grapheme) {
const codePoint = char.codePointAt(0);
if (!isZeroWidth(codePoint)) {
width += eastAsianWidth(codePoint, { ambiguousAsWide: false });
break;
}
}
}
return width;
}
function needsSegmentation(str) {
for (const char of str) {
const cp = char.codePointAt(0);
if (cp >= 127744 && cp <= 129791)
return true;
if (cp >= 9728 && cp <= 10175)
return true;
if (cp >= 127462 && cp <= 127487)
return true;
if (cp >= 65024 && cp <= 65039)
return true;
if (cp === 8205)
return true;
}
return false;
}
function getEmojiWidth(grapheme) {
const first = grapheme.codePointAt(0);
if (first >= 127462 && first <= 127487) {
let count = 0;
for (const _ of grapheme)
count++;
return count === 1 ? 1 : 2;
}
if (grapheme.length === 2) {
const second = grapheme.codePointAt(1);
if (second === 65039 && (first >= 48 && first <= 57 || first === 35 || first === 42)) {
return 1;
}
}
return 2;
}
function isZeroWidth(codePoint) {
if (codePoint >= 32 && codePoint < 127)
return false;
if (codePoint >= 160 && codePoint < 768)
return codePoint === 173;
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159)
return true;
if (codePoint >= 8203 && codePoint <= 8205 || codePoint === 65279 || codePoint >= 8288 && codePoint <= 8292) {
return true;
}
if (codePoint >= 65024 && codePoint <= 65039 || codePoint >= 917760 && codePoint <= 917999) {
return true;
}
if (codePoint >= 768 && codePoint <= 879 || codePoint >= 6832 && codePoint <= 6911 || codePoint >= 7616 && codePoint <= 7679 || codePoint >= 8400 && codePoint <= 8447 || codePoint >= 65056 && codePoint <= 65071) {
return true;
}
if (codePoint >= 2304 && codePoint <= 3407) {
const offset = codePoint & 127;
if (offset <= 3)
return true;
if (offset >= 58 && offset <= 79)
return true;
if (offset >= 81 && offset <= 87)
return true;
if (offset >= 98 && offset <= 99)
return true;
}
if (codePoint === 3633 || codePoint >= 3636 && codePoint <= 3642 || codePoint >= 3655 && codePoint <= 3662 || codePoint === 3761 || codePoint >= 3764 && codePoint <= 3772 || codePoint >= 3784 && codePoint <= 3789) {
return true;
}
if (codePoint >= 1536 && codePoint <= 1541 || codePoint === 1757 || codePoint === 1807 || codePoint === 2274) {
return true;
}
if (codePoint >= 55296 && codePoint <= 57343)
return true;
if (codePoint >= 917504 && codePoint <= 917631)
return true;
return false;
}
var import_emoji_regex, EMOJI_REGEX, bunStringWidth, BUN_STRING_WIDTH_OPTS, stringWidth;
var init_stringWidth = __esm(() => {
init_get_east_asian_width();
init_strip_ansi();
init_intl();
import_emoji_regex = __toESM(require_emoji_regex(), 1);
EMOJI_REGEX = import_emoji_regex.default();
bunStringWidth = typeof Bun !== "undefined" && typeof Bun.stringWidth === "function" ? Bun.stringWidth : null;
BUN_STRING_WIDTH_OPTS = { ambiguousIsNarrow: true };
stringWidth = bunStringWidth ? (str) => bunStringWidth(str, BUN_STRING_WIDTH_OPTS) : stringWidthJavaScript;
});
// src/utils/truncate.ts
function truncatePathMiddle(path2, maxLength) {
if (stringWidth(path2) <= maxLength) {
return path2;
}
if (maxLength <= 0) {
return "…";
}
if (maxLength < 5) {
return truncateToWidth(path2, maxLength);
}
const lastSlash = path2.lastIndexOf("/");
const filename = lastSlash >= 0 ? path2.slice(lastSlash) : path2;
const directory = lastSlash >= 0 ? path2.slice(0, lastSlash) : "";
const filenameWidth = stringWidth(filename);
if (filenameWidth >= maxLength - 1) {
return truncateStartToWidth(path2, maxLength);
}
const availableForDir = maxLength - 1 - filenameWidth;
if (availableForDir <= 0) {
return truncateStartToWidth(filename, maxLength);
}
const truncatedDir = truncateToWidthNoEllipsis(directory, availableForDir);
return truncatedDir + "…" + filename;
}
function truncateToWidth(text, maxWidth) {
if (stringWidth(text) <= maxWidth)
return text;
if (maxWidth <= 1)
return "…";
let width = 0;
let result = "";
for (const { segment } of getGraphemeSegmenter().segment(text)) {
const segWidth = stringWidth(segment);
if (width + segWidth > maxWidth - 1)
break;
result += segment;
width += segWidth;
}
return result + "…";
}
function truncateStartToWidth(text, maxWidth) {
if (stringWidth(text) <= maxWidth)
return text;
if (maxWidth <= 1)
return "…";
const segments = [...getGraphemeSegmenter().segment(text)];
let width = 0;
let startIdx = segments.length;
for (let i = segments.length - 1;i >= 0; i--) {
const segWidth = stringWidth(segments[i].segment);
if (width + segWidth > maxWidth - 1)
break;
width += segWidth;
startIdx = i;
}
return "…" + segments.slice(startIdx).map((s) => s.segment).join("");
}
function truncateToWidthNoEllipsis(text, maxWidth) {
if (stringWidth(text) <= maxWidth)
return text;
if (maxWidth <= 0)
return "";
let width = 0;
let result = "";
for (const { segment } of getGraphemeSegmenter().segment(text)) {
const segWidth = stringWidth(segment);
if (width + segWidth > maxWidth)
break;
result += segment;
width += segWidth;
}
return result;
}
function truncate(str, maxWidth, singleLine = false) {
let result = str;
if (singleLine) {
const firstNewline = str.indexOf(`
`);
if (firstNewline !== -1) {
result = str.substring(0, firstNewline);
if (stringWidth(result) + 1 > maxWidth) {
return truncateToWidth(result, maxWidth);
}
return `${result}…`;
}
}
if (stringWidth(result) <= maxWidth) {
return result;
}
return truncateToWidth(result, maxWidth);
}
var init_truncate = __esm(() => {
init_stringWidth();
init_intl();
});
// src/utils/format.ts
function formatFileSize(sizeInBytes) {
const kb = sizeInBytes / 1024;
if (kb < 1) {
return `${sizeInBytes} bytes`;
}
if (kb < 1024) {
return `${kb.toFixed(1).replace(/\.0$/, "")}KB`;
}
const mb = kb / 1024;
if (mb < 1024) {
return `${mb.toFixed(1).replace(/\.0$/, "")}MB`;
}
const gb = mb / 1024;
return `${gb.toFixed(1).replace(/\.0$/, "")}GB`;
}
function formatSecondsShort(ms) {
return `${(ms / 1000).toFixed(1)}s`;
}
function formatDuration(ms, options) {
if (ms < 60000) {
if (ms === 0) {
return "0s";
}
if (ms < 1) {
const s2 = (ms / 1000).toFixed(1);
return `${s2}s`;
}
const s = Math.floor(ms / 1000).toString();
return `${s}s`;
}
let days = Math.floor(ms / 86400000);
let hours = Math.floor(ms % 86400000 / 3600000);
let minutes = Math.floor(ms % 3600000 / 60000);
let seconds = Math.round(ms % 60000 / 1000);
if (seconds === 60) {
seconds = 0;
minutes++;
}
if (minutes === 60) {
minutes = 0;
hours++;
}
if (hours === 24) {
hours = 0;
days++;
}
const hide = options?.hideTrailingZeros;
if (options?.mostSignificantOnly) {
if (days > 0)
return `${days}d`;
if (hours > 0)
return `${hours}h`;
if (minutes > 0)
return `${minutes}m`;
return `${seconds}s`;
}
if (days > 0) {
if (hide && hours === 0 && minutes === 0)
return `${days}d`;
if (hide && minutes === 0)
return `${days}d ${hours}h`;
return `${days}d ${hours}h ${minutes}m`;
}
if (hours > 0) {
if (hide && minutes === 0 && seconds === 0)
return `${hours}h`;
if (hide && seconds === 0)
return `${hours}h ${minutes}m`;
return `${hours}h ${minutes}m ${seconds}s`;
}
if (minutes > 0) {
if (hide && seconds === 0)
return `${minutes}m`;
return `${minutes}m ${seconds}s`;
}
return `${seconds}s`;
}
function formatNumber(number) {
const shouldUseConsistentDecimals = number >= 1000;
return getNumberFormatter(shouldUseConsistentDecimals).format(number).toLowerCase();
}
function formatTokens(count) {
return formatNumber(count).replace(".0", "");
}
function formatRelativeTime(date, options = {}) {
const { style = "narrow", numeric = "always", now = new Date } = options;
const diffInMs = date.getTime() - now.getTime();
const diffInSeconds = Math.trunc(diffInMs / 1000);
const intervals = [
{ unit: "year", seconds: 31536000, shortUnit: "y" },
{ unit: "month", seconds: 2592000, shortUnit: "mo" },
{ unit: "week", seconds: 604800, shortUnit: "w" },
{ unit: "day", seconds: 86400, shortUnit: "d" },
{ unit: "hour", seconds: 3600, shortUnit: "h" },
{ unit: "minute", seconds: 60, shortUnit: "m" },
{ unit: "second", seconds: 1, shortUnit: "s" }
];
for (const { unit, seconds: intervalSeconds, shortUnit } of intervals) {
if (Math.abs(diffInSeconds) >= intervalSeconds) {
const value = Math.trunc(diffInSeconds / intervalSeconds);
if (style === "narrow") {
return diffInSeconds < 0 ? `${Math.abs(value)}${shortUnit} ago` : `in ${value}${shortUnit}`;
}
return getRelativeTimeFormat("long", numeric).format(value, unit);
}
}
if (style === "narrow") {
return diffInSeconds <= 0 ? "0s ago" : "in 0s";
}
return getRelativeTimeFormat(style, numeric).format(0, "second");
}
function formatRelativeTimeAgo(date, options = {}) {
const { now = new Date, ...restOptions } = options;
if (date > now) {
return formatRelativeTime(date, { ...restOptions, now });
}
return formatRelativeTime(date, { ...restOptions, numeric: "always", now });
}
function formatLogMetadata(log) {
const sizeOrCount = log.fileSize !== undefined ? formatFileSize(log.fileSize) : `${log.messageCount} messages`;
const parts = [
formatRelativeTimeAgo(log.modified, { style: "short" }),
...log.gitBranch ? [log.gitBranch] : [],
sizeOrCount
];
if (log.tag) {
parts.push(`#${log.tag}`);
}
if (log.agentSetting) {
parts.push(`@${log.agentSetting}`);
}
if (log.prNumber) {
parts.push(log.prRepository ? `${log.prRepository}#${log.prNumber}` : `#${log.prNumber}`);
}
return parts.join(" · ");
}
function formatResetTime(timestampInSeconds, showTimezone = false, showTime = true) {
if (!timestampInSeconds)
return;
const date = new Date(timestampInSeconds * 1000);
const now = new Date;
const minutes = date.getMinutes();
const hoursUntilReset = (date.getTime() - now.getTime()) / (1000 * 60 * 60);
if (hoursUntilReset > 24) {
const dateOptions = {
month: "short",
day: "numeric",
hour: showTime ? "numeric" : undefined,
minute: !showTime || minutes === 0 ? undefined : "2-digit",
hour12: showTime ? true : undefined
};
if (date.getFullYear() !== now.getFullYear()) {
dateOptions.year = "numeric";
}
const dateString = date.toLocaleString("en-US", dateOptions);
return dateString.replace(/ ([AP]M)/i, (_match, ampm) => ampm.toLowerCase()) + (showTimezone ? ` (${getTimeZone()})` : "");
}
const timeString = date.toLocaleTimeString("en-US", {
hour: "numeric",
minute: minutes === 0 ? undefined : "2-digit",
hour12: true
});
return timeString.replace(/ ([AP]M)/i, (_match, ampm) => ampm.toLowerCase()) + (showTimezone ? ` (${getTimeZone()})` : "");
}
function formatResetText(resetsAt, showTimezone = false, showTime = true) {
const dt = new Date(resetsAt);
return `${formatResetTime(Math.floor(dt.getTime() / 1000), showTimezone, showTime)}`;
}
var numberFormatterForConsistentDecimals = null, numberFormatterForInconsistentDecimals = null, getNumberFormatter = (useConsistentDecimals) => {
if (useConsistentDecimals) {
if (!numberFormatterForConsistentDecimals) {
numberFormatterForConsistentDecimals = new Intl.NumberFormat("en-US", {
notation: "compact",
maximumFractionDigits: 1,
minimumFractionDigits: 1
});
}
return numberFormatterForConsistentDecimals;
} else {
if (!numberFormatterForInconsistentDecimals) {
numberFormatterForInconsistentDecimals = new Intl.NumberFormat("en-US", {
notation: "compact",
maximumFractionDigits: 1,
minimumFractionDigits: 0
});
}
return numberFormatterForInconsistentDecimals;
}
};
var init_format = __esm(() => {
init_intl();
init_truncate();
});
// src/utils/profilerBase.ts
function getPerformance() {
if (!performance2) {
performance2 = __require("perf_hooks").performance;
}
return performance2;
}
function formatMs(ms) {
return ms.toFixed(3);
}
function formatTimelineLine(totalMs, deltaMs, name, memory, totalPad, deltaPad, extra = "") {
const memInfo = memory ? ` | RSS: ${formatFileSize(memory.rss)}, Heap: ${formatFileSize(memory.heapUsed)}` : "";
return `[+${formatMs(totalMs).padStart(totalPad)}ms] (+${formatMs(deltaMs).padStart(deltaPad)}ms) ${name}${extra}${memInfo}`;
}
var performance2 = null;
var init_profilerBase = __esm(() => {
init_format();
});
// src/utils/startupProfiler.ts
import { dirname as dirname3, join as join4 } from "path";
function profileCheckpoint(name) {
if (!SHOULD_PROFILE)
return;
const perf = getPerformance();
perf.mark(name);
if (DETAILED_PROFILING) {
memorySnapshots.push(process.memoryUsage());
}
}
function getReport() {
if (!DETAILED_PROFILING) {
return "Startup profiling not enabled";
}
const perf = getPerformance();
const marks = perf.getEntriesByType("mark");
if (marks.length === 0) {
return "No profiling checkpoints recorded";
}
const lines = [];
lines.push("=".repeat(80));
lines.push("STARTUP PROFILING REPORT");
lines.push("=".repeat(80));
lines.push("");
let prevTime = 0;
for (const [i, mark] of marks.entries()) {
lines.push(formatTimelineLine(mark.startTime, mark.startTime - prevTime, mark.name, memorySnapshots[i], 8, 7));
prevTime = mark.startTime;
}
const lastMark = marks[marks.length - 1];
lines.push("");
lines.push(`Total startup time: ${formatMs(lastMark?.startTime ?? 0)}ms`);
lines.push("=".repeat(80));
return lines.join(`
`);
}
function profileReport() {
if (reported)
return;
reported = true;
logStartupPerf();
if (DETAILED_PROFILING) {
const path2 = getStartupPerfLogPath();
const dir = dirname3(path2);
const fs2 = getFsImplementation();
fs2.mkdirSync(dir);
writeFileSync_DEPRECATED(path2, getReport(), {
encoding: "utf8",
flush: true
});
logForDebugging("Startup profiling report:");
logForDebugging(getReport());
}
}
function getStartupPerfLogPath() {
return join4(getClaudeConfigHomeDir(), "startup-perf", `${getSessionId()}.txt`);
}
function logStartupPerf() {
if (!STATSIG_LOGGING_SAMPLED)
return;
const perf = getPerformance();
const marks = perf.getEntriesByType("mark");
if (marks.length === 0)
return;
const checkpointTimes = new Map;
for (const mark of marks) {
checkpointTimes.set(mark.name, mark.startTime);
}
const metadata = {};
for (const [phaseName, [startCheckpoint, endCheckpoint]] of Object.entries(PHASE_DEFINITIONS)) {
const startTime = checkpointTimes.get(startCheckpoint);
const endTime = checkpointTimes.get(endCheckpoint);
if (startTime !== undefined && endTime !== undefined) {
metadata[`${phaseName}_ms`] = Math.round(endTime - startTime);
}
}
metadata.checkpoint_count = marks.length;
logEvent("tengu_startup_perf", metadata);
}
var DETAILED_PROFILING, STATSIG_SAMPLE_RATE = 0.005, STATSIG_LOGGING_SAMPLED, SHOULD_PROFILE, memorySnapshots, PHASE_DEFINITIONS, reported = false;
var init_startupProfiler = __esm(() => {
init_state();
init_analytics();
init_debug();
init_envUtils();
init_fsOperations();
init_profilerBase();
init_slowOperations();
DETAILED_PROFILING = isEnvTruthy(process.env.CLAUDE_CODE_PROFILE_STARTUP);
STATSIG_LOGGING_SAMPLED = process.env.USER_TYPE === "ant" || Math.random() < STATSIG_SAMPLE_RATE;
SHOULD_PROFILE = DETAILED_PROFILING || STATSIG_LOGGING_SAMPLED;
memorySnapshots = [];
PHASE_DEFINITIONS = {
import_time: ["cli_entry", "main_tsx_imports_loaded"],
init_time: ["init_function_start", "init_function_end"],
settings_time: ["eagerLoadSettings_start", "eagerLoadSettings_end"],
total_time: ["cli_entry", "main_after_run"]
};
if (SHOULD_PROFILE) {
profileCheckpoint("profiler_initialized");
}
});
// src/utils/settings/mdm/constants.ts
import { homedir as homedir3, userInfo } from "os";
import { join as join5 } from "path";
function getMacOSPlistPaths() {
let username = "";
try {
username = userInfo().username;
} catch {}
const paths = [];
if (username) {
paths.push({
path: `/Library/Managed Preferences/${username}/${MACOS_PREFERENCE_DOMAIN}.plist`,
label: "per-user managed preferences"
});
}
paths.push({
path: `/Library/Managed Preferences/${MACOS_PREFERENCE_DOMAIN}.plist`,
label: "device-level managed preferences"
});
if (process.env.USER_TYPE === "ant") {
paths.push({
path: join5(homedir3(), "Library", "Preferences", `${MACOS_PREFERENCE_DOMAIN}.plist`),
label: "user preferences (ant-only)"
});
}
return paths;
}
var MACOS_PREFERENCE_DOMAIN = "com.anthropic.claudecode", WINDOWS_REGISTRY_KEY_PATH_HKLM = "HKLM\\SOFTWARE\\Policies\\ClaudeCode", WINDOWS_REGISTRY_KEY_PATH_HKCU = "HKCU\\SOFTWARE\\Policies\\ClaudeCode", WINDOWS_REGISTRY_VALUE_NAME = "Settings", PLUTIL_PATH = "/usr/bin/plutil", PLUTIL_ARGS_PREFIX, MDM_SUBPROCESS_TIMEOUT_MS = 5000;
var init_constants2 = __esm(() => {
PLUTIL_ARGS_PREFIX = ["-convert", "json", "-o", "-", "--"];
});
// src/utils/settings/mdm/rawRead.ts
import { execFile } from "child_process";
import { existsSync as existsSync2 } from "fs";
function execFilePromise(cmd, args) {
return new Promise((resolve2) => {
execFile(cmd, args, { encoding: "utf-8", timeout: MDM_SUBPROCESS_TIMEOUT_MS }, (err, stdout) => {
resolve2({ stdout: stdout ?? "", code: err ? 1 : 0 });
});
});
}
function fireRawRead() {
return (async () => {
if (process.platform === "darwin") {
const plistPaths = getMacOSPlistPaths();
const allResults = await Promise.all(plistPaths.map(async ({ path: path2, label }) => {
if (!existsSync2(path2)) {
return { stdout: "", label, ok: false };
}
const { stdout, code } = await execFilePromise(PLUTIL_PATH, [
...PLUTIL_ARGS_PREFIX,
path2
]);
return { stdout, label, ok: code === 0 && !!stdout };
}));
const winner = allResults.find((r) => r.ok);
return {
plistStdouts: winner ? [{ stdout: winner.stdout, label: winner.label }] : [],
hklmStdout: null,
hkcuStdout: null
};
}
if (process.platform === "win32") {
const [hklm, hkcu] = await Promise.all([
execFilePromise("reg", [
"query",
WINDOWS_REGISTRY_KEY_PATH_HKLM,
"/v",
WINDOWS_REGISTRY_VALUE_NAME
]),
execFilePromise("reg", [
"query",
WINDOWS_REGISTRY_KEY_PATH_HKCU,
"/v",
WINDOWS_REGISTRY_VALUE_NAME
])
]);
return {
plistStdouts: null,
hklmStdout: hklm.code === 0 ? hklm.stdout : null,
hkcuStdout: hkcu.code === 0 ? hkcu.stdout : null
};
}
return { plistStdouts: null, hklmStdout: null, hkcuStdout: null };
})();
}
function startMdmRawRead() {
if (rawReadPromise)
return;
rawReadPromise = fireRawRead();
}
function getMdmRawReadPromise() {
return rawReadPromise;
}
var rawReadPromise = null;
var init_rawRead = __esm(() => {
init_constants2();
});
// src/constants/oauth.ts
var exports_oauth = {};
__export(exports_oauth, {
getOauthConfig: () => getOauthConfig,
fileSuffixForOauthConfig: () => fileSuffixForOauthConfig,
OAUTH_BETA_HEADER: () => OAUTH_BETA_HEADER,
MCP_CLIENT_METADATA_URL: () => MCP_CLIENT_METADATA_URL,
CONSOLE_OAUTH_SCOPES: () => CONSOLE_OAUTH_SCOPES,
CLAUDE_AI_PROFILE_SCOPE: () => CLAUDE_AI_PROFILE_SCOPE,
CLAUDE_AI_OAUTH_SCOPES: () => CLAUDE_AI_OAUTH_SCOPES,
CLAUDE_AI_INFERENCE_SCOPE: () => CLAUDE_AI_INFERENCE_SCOPE,
ALL_OAUTH_SCOPES: () => ALL_OAUTH_SCOPES
});
function getOauthConfigType() {
if (process.env.USER_TYPE === "ant") {
if (isEnvTruthy(process.env.USE_LOCAL_OAUTH)) {
return "local";
}
if (isEnvTruthy(process.env.USE_STAGING_OAUTH)) {
return "staging";
}
}
return "prod";
}
function fileSuffixForOauthConfig() {
if (process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL) {
return "-custom-oauth";
}
switch (getOauthConfigType()) {
case "local":
return "-local-oauth";
case "staging":
return "-staging-oauth";
case "prod":
return "";
}
}
function getLocalOauthConfig() {
const api = process.env.CLAUDE_LOCAL_OAUTH_API_BASE?.replace(/\/$/, "") ?? "http://localhost:8000";
const apps = process.env.CLAUDE_LOCAL_OAUTH_APPS_BASE?.replace(/\/$/, "") ?? "http://localhost:4000";
const consoleBase = process.env.CLAUDE_LOCAL_OAUTH_CONSOLE_BASE?.replace(/\/$/, "") ?? "http://localhost:3000";
return {
BASE_API_URL: api,
CONSOLE_AUTHORIZE_URL: `${consoleBase}/oauth/authorize`,
CLAUDE_AI_AUTHORIZE_URL: `${apps}/oauth/authorize`,
CLAUDE_AI_ORIGIN: apps,
TOKEN_URL: `${api}/v1/oauth/token`,
API_KEY_URL: `${api}/api/oauth/claude_cli/create_api_key`,
ROLES_URL: `${api}/api/oauth/claude_cli/roles`,
CONSOLE_SUCCESS_URL: `${consoleBase}/buy_credits?returnUrl=/oauth/code/success%3Fapp%3Dclaude-code`,
CLAUDEAI_SUCCESS_URL: `${consoleBase}/oauth/code/success?app=claude-code`,
MANUAL_REDIRECT_URL: `${consoleBase}/oauth/code/callback`,
CLIENT_ID: "22422756-60c9-4084-8eb7-27705fd5cf9a",
OAUTH_FILE_SUFFIX: "-local-oauth",
MCP_PROXY_URL: "http://localhost:8205",
MCP_PROXY_PATH: "/v1/toolbox/shttp/mcp/{server_id}"
};
}
function getOauthConfig() {
let config = (() => {
switch (getOauthConfigType()) {
case "local":
return getLocalOauthConfig();
case "staging":
return STAGING_OAUTH_CONFIG ?? PROD_OAUTH_CONFIG;
case "prod":
return PROD_OAUTH_CONFIG;
}
})();
const oauthBaseUrl = process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL;
if (oauthBaseUrl) {
const base = oauthBaseUrl.replace(/\/$/, "");
if (!ALLOWED_OAUTH_BASE_URLS.includes(base)) {
throw new Error("CLAUDE_CODE_CUSTOM_OAUTH_URL is not an approved endpoint.");
}
config = {
...config,
BASE_API_URL: base,
CONSOLE_AUTHORIZE_URL: `${base}/oauth/authorize`,
CLAUDE_AI_AUTHORIZE_URL: `${base}/oauth/authorize`,
CLAUDE_AI_ORIGIN: base,
TOKEN_URL: `${base}/v1/oauth/token`,
API_KEY_URL: `${base}/api/oauth/claude_cli/create_api_key`,
ROLES_URL: `${base}/api/oauth/claude_cli/roles`,
CONSOLE_SUCCESS_URL: `${base}/oauth/code/success?app=claude-code`,
CLAUDEAI_SUCCESS_URL: `${base}/oauth/code/success?app=claude-code`,
MANUAL_REDIRECT_URL: `${base}/oauth/code/callback`,
OAUTH_FILE_SUFFIX: "-custom-oauth"
};
}
const clientIdOverride = process.env.CLAUDE_CODE_OAUTH_CLIENT_ID;
if (clientIdOverride) {
config = {
...config,
CLIENT_ID: clientIdOverride
};
}
return config;
}
var CLAUDE_AI_INFERENCE_SCOPE = "user:inference", CLAUDE_AI_PROFILE_SCOPE = "user:profile", CONSOLE_SCOPE = "org:create_api_key", OAUTH_BETA_HEADER = "oauth-2025-04-20", CONSOLE_OAUTH_SCOPES, CLAUDE_AI_OAUTH_SCOPES, ALL_OAUTH_SCOPES, PROD_OAUTH_CONFIG, MCP_CLIENT_METADATA_URL = "https://claude.ai/oauth/claude-code-client-metadata", STAGING_OAUTH_CONFIG, ALLOWED_OAUTH_BASE_URLS;
var init_oauth = __esm(() => {
init_envUtils();
CONSOLE_OAUTH_SCOPES = [
CONSOLE_SCOPE,
CLAUDE_AI_PROFILE_SCOPE
];
CLAUDE_AI_OAUTH_SCOPES = [
CLAUDE_AI_PROFILE_SCOPE,
CLAUDE_AI_INFERENCE_SCOPE,
"user:sessions:claude_code",
"user:mcp_servers",
"user:file_upload"
];
ALL_OAUTH_SCOPES = Array.from(new Set([...CONSOLE_OAUTH_SCOPES, ...CLAUDE_AI_OAUTH_SCOPES]));
PROD_OAUTH_CONFIG = {
BASE_API_URL: "https://api.anthropic.com",
CONSOLE_AUTHORIZE_URL: "https://platform.claude.com/oauth/authorize",
CLAUDE_AI_AUTHORIZE_URL: "https://claude.com/cai/oauth/authorize",
CLAUDE_AI_ORIGIN: "https://claude.ai",
TOKEN_URL: "https://platform.claude.com/v1/oauth/token",
API_KEY_URL: "https://api.anthropic.com/api/oauth/claude_cli/create_api_key",
ROLES_URL: "https://api.anthropic.com/api/oauth/claude_cli/roles",
CONSOLE_SUCCESS_URL: "https://platform.claude.com/buy_credits?returnUrl=/oauth/code/success%3Fapp%3Dclaude-code",
CLAUDEAI_SUCCESS_URL: "https://platform.claude.com/oauth/code/success?app=claude-code",
MANUAL_REDIRECT_URL: "https://platform.claude.com/oauth/code/callback",
CLIENT_ID: "9d1c250a-e61b-44d9-88ed-5944d1962f5e",
OAUTH_FILE_SUFFIX: "",
MCP_PROXY_URL: "https://mcp-proxy.anthropic.com",
MCP_PROXY_PATH: "/v1/mcp/{server_id}"
};
STAGING_OAUTH_CONFIG = process.env.USER_TYPE === "ant" ? {
BASE_API_URL: "https://api-staging.anthropic.com",
CONSOLE_AUTHORIZE_URL: "https://platform.staging.ant.dev/oauth/authorize",
CLAUDE_AI_AUTHORIZE_URL: "https://claude-ai.staging.ant.dev/oauth/authorize",
CLAUDE_AI_ORIGIN: "https://claude-ai.staging.ant.dev",
TOKEN_URL: "https://platform.staging.ant.dev/v1/oauth/token",
API_KEY_URL: "https://api-staging.anthropic.com/api/oauth/claude_cli/create_api_key",
ROLES_URL: "https://api-staging.anthropic.com/api/oauth/claude_cli/roles",
CONSOLE_SUCCESS_URL: "https://platform.staging.ant.dev/buy_credits?returnUrl=/oauth/code/success%3Fapp%3Dclaude-code",
CLAUDEAI_SUCCESS_URL: "https://platform.staging.ant.dev/oauth/code/success?app=claude-code",
MANUAL_REDIRECT_URL: "https://platform.staging.ant.dev/oauth/code/callback",
CLIENT_ID: "22422756-60c9-4084-8eb7-27705fd5cf9a",
OAUTH_FILE_SUFFIX: "-staging-oauth",
MCP_PROXY_URL: "https://mcp-proxy-staging.anthropic.com",
MCP_PROXY_PATH: "/v1/mcp/{server_id}"
} : undefined;
ALLOWED_OAUTH_BASE_URLS = [
"https://beacon.claude-ai.staging.ant.dev",
"https://claude.fedstart.com",
"https://claude-staging.fedstart.com"
];
});
// src/utils/secureStorage/macOsKeychainHelpers.ts
import { createHash } from "crypto";
import { userInfo as userInfo2 } from "os";
function getMacOsKeychainStorageServiceName(serviceSuffix = "") {
const configDir = getClaudeConfigHomeDir();
const isDefaultDir = !process.env.CLAUDE_CONFIG_DIR;
const dirHash = isDefaultDir ? "" : `-${createHash("sha256").update(configDir).digest("hex").substring(0, 8)}`;
return `Claude Code${getOauthConfig().OAUTH_FILE_SUFFIX}${serviceSuffix}${dirHash}`;
}
function getUsername() {
try {
return process.env.USER || userInfo2().username;
} catch {
return "claude-code-user";
}
}
function clearKeychainCache() {
keychainCacheState.cache = { data: null, cachedAt: 0 };
keychainCacheState.generation++;
keychainCacheState.readInFlight = null;
}
function primeKeychainCacheFromPrefetch(stdout) {
if (keychainCacheState.cache.cachedAt !== 0)
return;
let data = null;
if (stdout) {
try {
data = JSON.parse(stdout);
} catch {
return;
}
}
keychainCacheState.cache = { data, cachedAt: Date.now() };
}
var CREDENTIALS_SERVICE_SUFFIX = "-credentials", KEYCHAIN_CACHE_TTL_MS = 30000, keychainCacheState;
var init_macOsKeychainHelpers = __esm(() => {
init_oauth();
init_envUtils();
keychainCacheState = {
cache: { data: null, cachedAt: 0 },
generation: 0,
readInFlight: null
};
});
// src/utils/secureStorage/keychainPrefetch.ts
import { execFile as execFile2 } from "child_process";
function spawnSecurity(serviceName) {
return new Promise((resolve2) => {
execFile2("security", ["find-generic-password", "-a", getUsername(), "-w", "-s", serviceName], { encoding: "utf-8", timeout: KEYCHAIN_PREFETCH_TIMEOUT_MS }, (err, stdout) => {
resolve2({
stdout: err ? null : stdout?.trim() || null,
timedOut: Boolean(err && "killed" in err && err.killed)
});
});
});
}
function startKeychainPrefetch() {
if (process.platform !== "darwin" || prefetchPromise || isBareMode())
return;
const oauthSpawn = spawnSecurity(getMacOsKeychainStorageServiceName(CREDENTIALS_SERVICE_SUFFIX));
const legacySpawn = spawnSecurity(getMacOsKeychainStorageServiceName());
prefetchPromise = Promise.all([oauthSpawn, legacySpawn]).then(([oauth, legacy]) => {
if (!oauth.timedOut)
primeKeychainCacheFromPrefetch(oauth.stdout);
if (!legacy.timedOut)
legacyApiKeyPrefetch = { stdout: legacy.stdout };
});
}
async function ensureKeychainPrefetchCompleted() {
if (prefetchPromise)
await prefetchPromise;
}
function getLegacyApiKeyPrefetchResult() {
return legacyApiKeyPrefetch;
}
function clearLegacyApiKeyPrefetch() {
legacyApiKeyPrefetch = null;
}
var KEYCHAIN_PREFETCH_TIMEOUT_MS = 1e4, legacyApiKeyPrefetch = null, prefetchPromise = null;
var init_keychainPrefetch = __esm(() => {
init_envUtils();
init_macOsKeychainHelpers();
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/error.js
var require_error = __commonJS((exports) => {
class CommanderError extends Error {
constructor(exitCode, code, message) {
super(message);
Error.captureStackTrace(this, this.constructor);
this.name = this.constructor.name;
this.code = code;
this.exitCode = exitCode;
this.nestedError = undefined;
}
}
class InvalidArgumentError extends CommanderError {
constructor(message) {
super(1, "commander.invalidArgument", message);
Error.captureStackTrace(this, this.constructor);
this.name = this.constructor.name;
}
}
exports.CommanderError = CommanderError;
exports.InvalidArgumentError = InvalidArgumentError;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/argument.js
var require_argument = __commonJS((exports) => {
var { InvalidArgumentError } = require_error();
class Argument {
constructor(name, description) {
this.description = description || "";
this.variadic = false;
this.parseArg = undefined;
this.defaultValue = undefined;
this.defaultValueDescription = undefined;
this.argChoices = undefined;
switch (name[0]) {
case "<":
this.required = true;
this._name = name.slice(1, -1);
break;
case "[":
this.required = false;
this._name = name.slice(1, -1);
break;
default:
this.required = true;
this._name = name;
break;
}
if (this._name.endsWith("...")) {
this.variadic = true;
this._name = this._name.slice(0, -3);
}
}
name() {
return this._name;
}
_collectValue(value, previous) {
if (previous === this.defaultValue || !Array.isArray(previous)) {
return [value];
}
previous.push(value);
return previous;
}
default(value, description) {
this.defaultValue = value;
this.defaultValueDescription = description;
return this;
}
argParser(fn) {
this.parseArg = fn;
return this;
}
choices(values) {
this.argChoices = values.slice();
this.parseArg = (arg, previous) => {
if (!this.argChoices.includes(arg)) {
throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
}
if (this.variadic) {
return this._collectValue(arg, previous);
}
return arg;
};
return this;
}
argRequired() {
this.required = true;
return this;
}
argOptional() {
this.required = false;
return this;
}
}
function humanReadableArgName(arg) {
const nameOutput = arg.name() + (arg.variadic === true ? "..." : "");
return arg.required ? "<" + nameOutput + ">" : "[" + nameOutput + "]";
}
exports.Argument = Argument;
exports.humanReadableArgName = humanReadableArgName;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/help.js
var require_help = __commonJS((exports) => {
var { humanReadableArgName } = require_argument();
class Help {
constructor() {
this.helpWidth = undefined;
this.minWidthToWrap = 40;
this.sortSubcommands = false;
this.sortOptions = false;
this.showGlobalOptions = false;
}
prepareContext(contextOptions) {
this.helpWidth = this.helpWidth ?? contextOptions.helpWidth ?? 80;
}
visibleCommands(cmd) {
const visibleCommands = cmd.commands.filter((cmd2) => !cmd2._hidden);
const helpCommand = cmd._getHelpCommand();
if (helpCommand && !helpCommand._hidden) {
visibleCommands.push(helpCommand);
}
if (this.sortSubcommands) {
visibleCommands.sort((a, b) => {
return a.name().localeCompare(b.name());
});
}
return visibleCommands;
}
compareOptions(a, b) {
const getSortKey = (option) => {
return option.short ? option.short.replace(/^-/, "") : option.long.replace(/^--/, "");
};
return getSortKey(a).localeCompare(getSortKey(b));
}
visibleOptions(cmd) {
const visibleOptions = cmd.options.filter((option) => !option.hidden);
const helpOption = cmd._getHelpOption();
if (helpOption && !helpOption.hidden) {
const removeShort = helpOption.short && cmd._findOption(helpOption.short);
const removeLong = helpOption.long && cmd._findOption(helpOption.long);
if (!removeShort && !removeLong) {
visibleOptions.push(helpOption);
} else if (helpOption.long && !removeLong) {
visibleOptions.push(cmd.createOption(helpOption.long, helpOption.description));
} else if (helpOption.short && !removeShort) {
visibleOptions.push(cmd.createOption(helpOption.short, helpOption.description));
}
}
if (this.sortOptions) {
visibleOptions.sort(this.compareOptions);
}
return visibleOptions;
}
visibleGlobalOptions(cmd) {
if (!this.showGlobalOptions)
return [];
const globalOptions = [];
for (let ancestorCmd = cmd.parent;ancestorCmd; ancestorCmd = ancestorCmd.parent) {
const visibleOptions = ancestorCmd.options.filter((option) => !option.hidden);
globalOptions.push(...visibleOptions);
}
if (this.sortOptions) {
globalOptions.sort(this.compareOptions);
}
return globalOptions;
}
visibleArguments(cmd) {
if (cmd._argsDescription) {
cmd.registeredArguments.forEach((argument) => {
argument.description = argument.description || cmd._argsDescription[argument.name()] || "";
});
}
if (cmd.registeredArguments.find((argument) => argument.description)) {
return cmd.registeredArguments;
}
return [];
}
subcommandTerm(cmd) {
const args = cmd.registeredArguments.map((arg) => humanReadableArgName(arg)).join(" ");
return cmd._name + (cmd._aliases[0] ? "|" + cmd._aliases[0] : "") + (cmd.options.length ? " [options]" : "") + (args ? " " + args : "");
}
optionTerm(option) {
return option.flags;
}
argumentTerm(argument) {
return argument.name();
}
longestSubcommandTermLength(cmd, helper) {
return helper.visibleCommands(cmd).reduce((max, command) => {
return Math.max(max, this.displayWidth(helper.styleSubcommandTerm(helper.subcommandTerm(command))));
}, 0);
}
longestOptionTermLength(cmd, helper) {
return helper.visibleOptions(cmd).reduce((max, option) => {
return Math.max(max, this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option))));
}, 0);
}
longestGlobalOptionTermLength(cmd, helper) {
return helper.visibleGlobalOptions(cmd).reduce((max, option) => {
return Math.max(max, this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option))));
}, 0);
}
longestArgumentTermLength(cmd, helper) {
return helper.visibleArguments(cmd).reduce((max, argument) => {
return Math.max(max, this.displayWidth(helper.styleArgumentTerm(helper.argumentTerm(argument))));
}, 0);
}
commandUsage(cmd) {
let cmdName = cmd._name;
if (cmd._aliases[0]) {
cmdName = cmdName + "|" + cmd._aliases[0];
}
let ancestorCmdNames = "";
for (let ancestorCmd = cmd.parent;ancestorCmd; ancestorCmd = ancestorCmd.parent) {
ancestorCmdNames = ancestorCmd.name() + " " + ancestorCmdNames;
}
return ancestorCmdNames + cmdName + " " + cmd.usage();
}
commandDescription(cmd) {
return cmd.description();
}
subcommandDescription(cmd) {
return cmd.summary() || cmd.description();
}
optionDescription(option) {
const extraInfo = [];
if (option.argChoices) {
extraInfo.push(`choices: ${option.argChoices.map((choice) => JSON.stringify(choice)).join(", ")}`);
}
if (option.defaultValue !== undefined) {
const showDefault = option.required || option.optional || option.isBoolean() && typeof option.defaultValue === "boolean";
if (showDefault) {
extraInfo.push(`default: ${option.defaultValueDescription || JSON.stringify(option.defaultValue)}`);
}
}
if (option.presetArg !== undefined && option.optional) {
extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`);
}
if (option.envVar !== undefined) {
extraInfo.push(`env: ${option.envVar}`);
}
if (extraInfo.length > 0) {
const extraDescription = `(${extraInfo.join(", ")})`;
if (option.description) {
return `${option.description} ${extraDescription}`;
}
return extraDescription;
}
return option.description;
}
argumentDescription(argument) {
const extraInfo = [];
if (argument.argChoices) {
extraInfo.push(`choices: ${argument.argChoices.map((choice) => JSON.stringify(choice)).join(", ")}`);
}
if (argument.defaultValue !== undefined) {
extraInfo.push(`default: ${argument.defaultValueDescription || JSON.stringify(argument.defaultValue)}`);
}
if (extraInfo.length > 0) {
const extraDescription = `(${extraInfo.join(", ")})`;
if (argument.description) {
return `${argument.description} ${extraDescription}`;
}
return extraDescription;
}
return argument.description;
}
formatItemList(heading, items, helper) {
if (items.length === 0)
return [];
return [helper.styleTitle(heading), ...items, ""];
}
groupItems(unsortedItems, visibleItems, getGroup) {
const result = new Map;
unsortedItems.forEach((item) => {
const group = getGroup(item);
if (!result.has(group))
result.set(group, []);
});
visibleItems.forEach((item) => {
const group = getGroup(item);
if (!result.has(group)) {
result.set(group, []);
}
result.get(group).push(item);
});
return result;
}
formatHelp(cmd, helper) {
const termWidth = helper.padWidth(cmd, helper);
const helpWidth = helper.helpWidth ?? 80;
function callFormatItem(term, description) {
return helper.formatItem(term, termWidth, description, helper);
}
let output = [
`${helper.styleTitle("Usage:")} ${helper.styleUsage(helper.commandUsage(cmd))}`,
""
];
const commandDescription = helper.commandDescription(cmd);
if (commandDescription.length > 0) {
output = output.concat([
helper.boxWrap(helper.styleCommandDescription(commandDescription), helpWidth),
""
]);
}
const argumentList = helper.visibleArguments(cmd).map((argument) => {
return callFormatItem(helper.styleArgumentTerm(helper.argumentTerm(argument)), helper.styleArgumentDescription(helper.argumentDescription(argument)));
});
output = output.concat(this.formatItemList("Arguments:", argumentList, helper));
const optionGroups = this.groupItems(cmd.options, helper.visibleOptions(cmd), (option) => option.helpGroupHeading ?? "Options:");
optionGroups.forEach((options, group) => {
const optionList = options.map((option) => {
return callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)), helper.styleOptionDescription(helper.optionDescription(option)));
});
output = output.concat(this.formatItemList(group, optionList, helper));
});
if (helper.showGlobalOptions) {
const globalOptionList = helper.visibleGlobalOptions(cmd).map((option) => {
return callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)), helper.styleOptionDescription(helper.optionDescription(option)));
});
output = output.concat(this.formatItemList("Global Options:", globalOptionList, helper));
}
const commandGroups = this.groupItems(cmd.commands, helper.visibleCommands(cmd), (sub) => sub.helpGroup() || "Commands:");
commandGroups.forEach((commands, group) => {
const commandList = commands.map((sub) => {
return callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)), helper.styleSubcommandDescription(helper.subcommandDescription(sub)));
});
output = output.concat(this.formatItemList(group, commandList, helper));
});
return output.join(`
`);
}
displayWidth(str) {
return stripColor(str).length;
}
styleTitle(str) {
return str;
}
styleUsage(str) {
return str.split(" ").map((word) => {
if (word === "[options]")
return this.styleOptionText(word);
if (word === "[command]")
return this.styleSubcommandText(word);
if (word[0] === "[" || word[0] === "<")
return this.styleArgumentText(word);
return this.styleCommandText(word);
}).join(" ");
}
styleCommandDescription(str) {
return this.styleDescriptionText(str);
}
styleOptionDescription(str) {
return this.styleDescriptionText(str);
}
styleSubcommandDescription(str) {
return this.styleDescriptionText(str);
}
styleArgumentDescription(str) {
return this.styleDescriptionText(str);
}
styleDescriptionText(str) {
return str;
}
styleOptionTerm(str) {
return this.styleOptionText(str);
}
styleSubcommandTerm(str) {
return str.split(" ").map((word) => {
if (word === "[options]")
return this.styleOptionText(word);
if (word[0] === "[" || word[0] === "<")
return this.styleArgumentText(word);
return this.styleSubcommandText(word);
}).join(" ");
}
styleArgumentTerm(str) {
return this.styleArgumentText(str);
}
styleOptionText(str) {
return str;
}
styleArgumentText(str) {
return str;
}
styleSubcommandText(str) {
return str;
}
styleCommandText(str) {
return str;
}
padWidth(cmd, helper) {
return Math.max(helper.longestOptionTermLength(cmd, helper), helper.longestGlobalOptionTermLength(cmd, helper), helper.longestSubcommandTermLength(cmd, helper), helper.longestArgumentTermLength(cmd, helper));
}
preformatted(str) {
return /\n[^\S\r\n]/.test(str);
}
formatItem(term, termWidth, description, helper) {
const itemIndent = 2;
const itemIndentStr = " ".repeat(itemIndent);
if (!description)
return itemIndentStr + term;
const paddedTerm = term.padEnd(termWidth + term.length - helper.displayWidth(term));
const spacerWidth = 2;
const helpWidth = this.helpWidth ?? 80;
const remainingWidth = helpWidth - termWidth - spacerWidth - itemIndent;
let formattedDescription;
if (remainingWidth < this.minWidthToWrap || helper.preformatted(description)) {
formattedDescription = description;
} else {
const wrappedDescription = helper.boxWrap(description, remainingWidth);
formattedDescription = wrappedDescription.replace(/\n/g, `
` + " ".repeat(termWidth + spacerWidth));
}
return itemIndentStr + paddedTerm + " ".repeat(spacerWidth) + formattedDescription.replace(/\n/g, `
${itemIndentStr}`);
}
boxWrap(str, width) {
if (width < this.minWidthToWrap)
return str;
const rawLines = str.split(/\r\n|\n/);
const chunkPattern = /[\s]*[^\s]+/g;
const wrappedLines = [];
rawLines.forEach((line) => {
const chunks = line.match(chunkPattern);
if (chunks === null) {
wrappedLines.push("");
return;
}
let sumChunks = [chunks.shift()];
let sumWidth = this.displayWidth(sumChunks[0]);
chunks.forEach((chunk) => {
const visibleWidth = this.displayWidth(chunk);
if (sumWidth + visibleWidth <= width) {
sumChunks.push(chunk);
sumWidth += visibleWidth;
return;
}
wrappedLines.push(sumChunks.join(""));
const nextChunk = chunk.trimStart();
sumChunks = [nextChunk];
sumWidth = this.displayWidth(nextChunk);
});
wrappedLines.push(sumChunks.join(""));
});
return wrappedLines.join(`
`);
}
}
function stripColor(str) {
const sgrPattern = /\x1b\[\d*(;\d*)*m/g;
return str.replace(sgrPattern, "");
}
exports.Help = Help;
exports.stripColor = stripColor;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/option.js
var require_option = __commonJS((exports) => {
var { InvalidArgumentError } = require_error();
class Option {
constructor(flags, description) {
this.flags = flags;
this.description = description || "";
this.required = flags.includes("<");
this.optional = flags.includes("[");
this.variadic = /\w\.\.\.[>\]]$/.test(flags);
this.mandatory = false;
const optionFlags = splitOptionFlags(flags);
this.short = optionFlags.shortFlag;
this.long = optionFlags.longFlag;
this.negate = false;
if (this.long) {
this.negate = this.long.startsWith("--no-");
}
this.defaultValue = undefined;
this.defaultValueDescription = undefined;
this.presetArg = undefined;
this.envVar = undefined;
this.parseArg = undefined;
this.hidden = false;
this.argChoices = undefined;
this.conflictsWith = [];
this.implied = undefined;
this.helpGroupHeading = undefined;
}
default(value, description) {
this.defaultValue = value;
this.defaultValueDescription = description;
return this;
}
preset(arg) {
this.presetArg = arg;
return this;
}
conflicts(names) {
this.conflictsWith = this.conflictsWith.concat(names);
return this;
}
implies(impliedOptionValues) {
let newImplied = impliedOptionValues;
if (typeof impliedOptionValues === "string") {
newImplied = { [impliedOptionValues]: true };
}
this.implied = Object.assign(this.implied || {}, newImplied);
return this;
}
env(name) {
this.envVar = name;
return this;
}
argParser(fn) {
this.parseArg = fn;
return this;
}
makeOptionMandatory(mandatory = true) {
this.mandatory = !!mandatory;
return this;
}
hideHelp(hide = true) {
this.hidden = !!hide;
return this;
}
_collectValue(value, previous) {
if (previous === this.defaultValue || !Array.isArray(previous)) {
return [value];
}
previous.push(value);
return previous;
}
choices(values) {
this.argChoices = values.slice();
this.parseArg = (arg, previous) => {
if (!this.argChoices.includes(arg)) {
throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);
}
if (this.variadic) {
return this._collectValue(arg, previous);
}
return arg;
};
return this;
}
name() {
if (this.long) {
return this.long.replace(/^--/, "");
}
return this.short.replace(/^-/, "");
}
attributeName() {
if (this.negate) {
return camelcase(this.name().replace(/^no-/, ""));
}
return camelcase(this.name());
}
helpGroup(heading) {
this.helpGroupHeading = heading;
return this;
}
is(arg) {
return this.short === arg || this.long === arg;
}
isBoolean() {
return !this.required && !this.optional && !this.negate;
}
}
class DualOptions {
constructor(options) {
this.positiveOptions = new Map;
this.negativeOptions = new Map;
this.dualOptions = new Set;
options.forEach((option) => {
if (option.negate) {
this.negativeOptions.set(option.attributeName(), option);
} else {
this.positiveOptions.set(option.attributeName(), option);
}
});
this.negativeOptions.forEach((value, key) => {
if (this.positiveOptions.has(key)) {
this.dualOptions.add(key);
}
});
}
valueFromOption(value, option) {
const optionKey = option.attributeName();
if (!this.dualOptions.has(optionKey))
return true;
const preset = this.negativeOptions.get(optionKey).presetArg;
const negativeValue = preset !== undefined ? preset : false;
return option.negate === (negativeValue === value);
}
}
function camelcase(str) {
return str.split("-").reduce((str2, word) => {
return str2 + word[0].toUpperCase() + word.slice(1);
});
}
function splitOptionFlags(flags) {
let shortFlag;
let longFlag;
const shortFlagExp = /^-[^-]$/;
const longFlagExp = /^--[^-]/;
const flagParts = flags.split(/[ |,]+/).concat("guard");
if (shortFlagExp.test(flagParts[0]))
shortFlag = flagParts.shift();
if (longFlagExp.test(flagParts[0]))
longFlag = flagParts.shift();
if (!shortFlag && shortFlagExp.test(flagParts[0]))
shortFlag = flagParts.shift();
if (!shortFlag && longFlagExp.test(flagParts[0])) {
shortFlag = longFlag;
longFlag = flagParts.shift();
}
if (flagParts[0].startsWith("-")) {
const unsupportedFlag = flagParts[0];
const baseError = `option creation failed due to '${unsupportedFlag}' in option flags '${flags}'`;
if (/^-[^-][^-]/.test(unsupportedFlag))
throw new Error(`${baseError}
- a short flag is a single dash and a single character
- either use a single dash and a single character (for a short flag)
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);
if (shortFlagExp.test(unsupportedFlag))
throw new Error(`${baseError}
- too many short flags`);
if (longFlagExp.test(unsupportedFlag))
throw new Error(`${baseError}
- too many long flags`);
throw new Error(`${baseError}
- unrecognised flag format`);
}
if (shortFlag === undefined && longFlag === undefined)
throw new Error(`option creation failed due to no flags found in '${flags}'.`);
return { shortFlag, longFlag };
}
exports.Option = Option;
exports.DualOptions = DualOptions;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/suggestSimilar.js
var require_suggestSimilar = __commonJS((exports) => {
var maxDistance = 3;
function editDistance(a, b) {
if (Math.abs(a.length - b.length) > maxDistance)
return Math.max(a.length, b.length);
const d = [];
for (let i = 0;i <= a.length; i++) {
d[i] = [i];
}
for (let j = 0;j <= b.length; j++) {
d[0][j] = j;
}
for (let j = 1;j <= b.length; j++) {
for (let i = 1;i <= a.length; i++) {
let cost = 1;
if (a[i - 1] === b[j - 1]) {
cost = 0;
} else {
cost = 1;
}
d[i][j] = Math.min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + cost);
if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + 1);
}
}
}
return d[a.length][b.length];
}
function suggestSimilar(word, candidates) {
if (!candidates || candidates.length === 0)
return "";
candidates = Array.from(new Set(candidates));
const searchingOptions = word.startsWith("--");
if (searchingOptions) {
word = word.slice(2);
candidates = candidates.map((candidate) => candidate.slice(2));
}
let similar = [];
let bestDistance = maxDistance;
const minSimilarity = 0.4;
candidates.forEach((candidate) => {
if (candidate.length <= 1)
return;
const distance = editDistance(word, candidate);
const length = Math.max(word.length, candidate.length);
const similarity = (length - distance) / length;
if (similarity > minSimilarity) {
if (distance < bestDistance) {
bestDistance = distance;
similar = [candidate];
} else if (distance === bestDistance) {
similar.push(candidate);
}
}
});
similar.sort((a, b) => a.localeCompare(b));
if (searchingOptions) {
similar = similar.map((candidate) => `--${candidate}`);
}
if (similar.length > 1) {
return `
(Did you mean one of ${similar.join(", ")}?)`;
}
if (similar.length === 1) {
return `
(Did you mean ${similar[0]}?)`;
}
return "";
}
exports.suggestSimilar = suggestSimilar;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/command.js
var require_command = __commonJS((exports) => {
var EventEmitter = __require("node:events").EventEmitter;
var childProcess = __require("node:child_process");
var path2 = __require("node:path");
var fs2 = __require("node:fs");
var process2 = __require("node:process");
var { Argument, humanReadableArgName } = require_argument();
var { CommanderError } = require_error();
var { Help, stripColor } = require_help();
var { Option, DualOptions } = require_option();
var { suggestSimilar } = require_suggestSimilar();
class Command extends EventEmitter {
constructor(name) {
super();
this.commands = [];
this.options = [];
this.parent = null;
this._allowUnknownOption = false;
this._allowExcessArguments = false;
this.registeredArguments = [];
this._args = this.registeredArguments;
this.args = [];
this.rawArgs = [];
this.processedArgs = [];
this._scriptPath = null;
this._name = name || "";
this._optionValues = {};
this._optionValueSources = {};
this._storeOptionsAsProperties = false;
this._actionHandler = null;
this._executableHandler = false;
this._executableFile = null;
this._executableDir = null;
this._defaultCommandName = null;
this._exitCallback = null;
this._aliases = [];
this._combineFlagAndOptionalValue = true;
this._description = "";
this._summary = "";
this._argsDescription = undefined;
this._enablePositionalOptions = false;
this._passThroughOptions = false;
this._lifeCycleHooks = {};
this._showHelpAfterError = false;
this._showSuggestionAfterError = true;
this._savedState = null;
this._outputConfiguration = {
writeOut: (str) => process2.stdout.write(str),
writeErr: (str) => process2.stderr.write(str),
outputError: (str, write) => write(str),
getOutHelpWidth: () => process2.stdout.isTTY ? process2.stdout.columns : undefined,
getErrHelpWidth: () => process2.stderr.isTTY ? process2.stderr.columns : undefined,
getOutHasColors: () => useColor() ?? (process2.stdout.isTTY && process2.stdout.hasColors?.()),
getErrHasColors: () => useColor() ?? (process2.stderr.isTTY && process2.stderr.hasColors?.()),
stripColor: (str) => stripColor(str)
};
this._hidden = false;
this._helpOption = undefined;
this._addImplicitHelpCommand = undefined;
this._helpCommand = undefined;
this._helpConfiguration = {};
this._helpGroupHeading = undefined;
this._defaultCommandGroup = undefined;
this._defaultOptionGroup = undefined;
}
copyInheritedSettings(sourceCommand) {
this._outputConfiguration = sourceCommand._outputConfiguration;
this._helpOption = sourceCommand._helpOption;
this._helpCommand = sourceCommand._helpCommand;
this._helpConfiguration = sourceCommand._helpConfiguration;
this._exitCallback = sourceCommand._exitCallback;
this._storeOptionsAsProperties = sourceCommand._storeOptionsAsProperties;
this._combineFlagAndOptionalValue = sourceCommand._combineFlagAndOptionalValue;
this._allowExcessArguments = sourceCommand._allowExcessArguments;
this._enablePositionalOptions = sourceCommand._enablePositionalOptions;
this._showHelpAfterError = sourceCommand._showHelpAfterError;
this._showSuggestionAfterError = sourceCommand._showSuggestionAfterError;
return this;
}
_getCommandAndAncestors() {
const result = [];
for (let command = this;command; command = command.parent) {
result.push(command);
}
return result;
}
command(nameAndArgs, actionOptsOrExecDesc, execOpts) {
let desc = actionOptsOrExecDesc;
let opts = execOpts;
if (typeof desc === "object" && desc !== null) {
opts = desc;
desc = null;
}
opts = opts || {};
const [, name, args] = nameAndArgs.match(/([^ ]+) *(.*)/);
const cmd = this.createCommand(name);
if (desc) {
cmd.description(desc);
cmd._executableHandler = true;
}
if (opts.isDefault)
this._defaultCommandName = cmd._name;
cmd._hidden = !!(opts.noHelp || opts.hidden);
cmd._executableFile = opts.executableFile || null;
if (args)
cmd.arguments(args);
this._registerCommand(cmd);
cmd.parent = this;
cmd.copyInheritedSettings(this);
if (desc)
return this;
return cmd;
}
createCommand(name) {
return new Command(name);
}
createHelp() {
return Object.assign(new Help, this.configureHelp());
}
configureHelp(configuration) {
if (configuration === undefined)
return this._helpConfiguration;
this._helpConfiguration = configuration;
return this;
}
configureOutput(configuration) {
if (configuration === undefined)
return this._outputConfiguration;
this._outputConfiguration = {
...this._outputConfiguration,
...configuration
};
return this;
}
showHelpAfterError(displayHelp = true) {
if (typeof displayHelp !== "string")
displayHelp = !!displayHelp;
this._showHelpAfterError = displayHelp;
return this;
}
showSuggestionAfterError(displaySuggestion = true) {
this._showSuggestionAfterError = !!displaySuggestion;
return this;
}
addCommand(cmd, opts) {
if (!cmd._name) {
throw new Error(`Command passed to .addCommand() must have a name
- specify the name in Command constructor or using .name()`);
}
opts = opts || {};
if (opts.isDefault)
this._defaultCommandName = cmd._name;
if (opts.noHelp || opts.hidden)
cmd._hidden = true;
this._registerCommand(cmd);
cmd.parent = this;
cmd._checkForBrokenPassThrough();
return this;
}
createArgument(name, description) {
return new Argument(name, description);
}
argument(name, description, parseArg, defaultValue) {
const argument = this.createArgument(name, description);
if (typeof parseArg === "function") {
argument.default(defaultValue).argParser(parseArg);
} else {
argument.default(parseArg);
}
this.addArgument(argument);
return this;
}
arguments(names) {
names.trim().split(/ +/).forEach((detail) => {
this.argument(detail);
});
return this;
}
addArgument(argument) {
const previousArgument = this.registeredArguments.slice(-1)[0];
if (previousArgument?.variadic) {
throw new Error(`only the last argument can be variadic '${previousArgument.name()}'`);
}
if (argument.required && argument.defaultValue !== undefined && argument.parseArg === undefined) {
throw new Error(`a default value for a required argument is never used: '${argument.name()}'`);
}
this.registeredArguments.push(argument);
return this;
}
helpCommand(enableOrNameAndArgs, description) {
if (typeof enableOrNameAndArgs === "boolean") {
this._addImplicitHelpCommand = enableOrNameAndArgs;
if (enableOrNameAndArgs && this._defaultCommandGroup) {
this._initCommandGroup(this._getHelpCommand());
}
return this;
}
const nameAndArgs = enableOrNameAndArgs ?? "help [command]";
const [, helpName, helpArgs] = nameAndArgs.match(/([^ ]+) *(.*)/);
const helpDescription = description ?? "display help for command";
const helpCommand = this.createCommand(helpName);
helpCommand.helpOption(false);
if (helpArgs)
helpCommand.arguments(helpArgs);
if (helpDescription)
helpCommand.description(helpDescription);
this._addImplicitHelpCommand = true;
this._helpCommand = helpCommand;
if (enableOrNameAndArgs || description)
this._initCommandGroup(helpCommand);
return this;
}
addHelpCommand(helpCommand, deprecatedDescription) {
if (typeof helpCommand !== "object") {
this.helpCommand(helpCommand, deprecatedDescription);
return this;
}
this._addImplicitHelpCommand = true;
this._helpCommand = helpCommand;
this._initCommandGroup(helpCommand);
return this;
}
_getHelpCommand() {
const hasImplicitHelpCommand = this._addImplicitHelpCommand ?? (this.commands.length && !this._actionHandler && !this._findCommand("help"));
if (hasImplicitHelpCommand) {
if (this._helpCommand === undefined) {
this.helpCommand(undefined, undefined);
}
return this._helpCommand;
}
return null;
}
hook(event, listener) {
const allowedValues = ["preSubcommand", "preAction", "postAction"];
if (!allowedValues.includes(event)) {
throw new Error(`Unexpected value for event passed to hook : '${event}'.
Expecting one of '${allowedValues.join("', '")}'`);
}
if (this._lifeCycleHooks[event]) {
this._lifeCycleHooks[event].push(listener);
} else {
this._lifeCycleHooks[event] = [listener];
}
return this;
}
exitOverride(fn) {
if (fn) {
this._exitCallback = fn;
} else {
this._exitCallback = (err) => {
if (err.code !== "commander.executeSubCommandAsync") {
throw err;
} else {}
};
}
return this;
}
_exit(exitCode, code, message) {
if (this._exitCallback) {
this._exitCallback(new CommanderError(exitCode, code, message));
}
process2.exit(exitCode);
}
action(fn) {
const listener = (args) => {
const expectedArgsCount = this.registeredArguments.length;
const actionArgs = args.slice(0, expectedArgsCount);
if (this._storeOptionsAsProperties) {
actionArgs[expectedArgsCount] = this;
} else {
actionArgs[expectedArgsCount] = this.opts();
}
actionArgs.push(this);
return fn.apply(this, actionArgs);
};
this._actionHandler = listener;
return this;
}
createOption(flags, description) {
return new Option(flags, description);
}
_callParseArg(target, value, previous, invalidArgumentMessage) {
try {
return target.parseArg(value, previous);
} catch (err) {
if (err.code === "commander.invalidArgument") {
const message = `${invalidArgumentMessage} ${err.message}`;
this.error(message, { exitCode: err.exitCode, code: err.code });
}
throw err;
}
}
_registerOption(option) {
const matchingOption = option.short && this._findOption(option.short) || option.long && this._findOption(option.long);
if (matchingOption) {
const matchingFlag = option.long && this._findOption(option.long) ? option.long : option.short;
throw new Error(`Cannot add option '${option.flags}'${this._name && ` to command '${this._name}'`} due to conflicting flag '${matchingFlag}'
- already used by option '${matchingOption.flags}'`);
}
this._initOptionGroup(option);
this.options.push(option);
}
_registerCommand(command) {
const knownBy = (cmd) => {
return [cmd.name()].concat(cmd.aliases());
};
const alreadyUsed = knownBy(command).find((name) => this._findCommand(name));
if (alreadyUsed) {
const existingCmd = knownBy(this._findCommand(alreadyUsed)).join("|");
const newCmd = knownBy(command).join("|");
throw new Error(`cannot add command '${newCmd}' as already have command '${existingCmd}'`);
}
this._initCommandGroup(command);
this.commands.push(command);
}
addOption(option) {
this._registerOption(option);
const oname = option.name();
const name = option.attributeName();
if (option.negate) {
const positiveLongFlag = option.long.replace(/^--no-/, "--");
if (!this._findOption(positiveLongFlag)) {
this.setOptionValueWithSource(name, option.defaultValue === undefined ? true : option.defaultValue, "default");
}
} else if (option.defaultValue !== undefined) {
this.setOptionValueWithSource(name, option.defaultValue, "default");
}
const handleOptionValue = (val, invalidValueMessage, valueSource) => {
if (val == null && option.presetArg !== undefined) {
val = option.presetArg;
}
const oldValue = this.getOptionValue(name);
if (val !== null && option.parseArg) {
val = this._callParseArg(option, val, oldValue, invalidValueMessage);
} else if (val !== null && option.variadic) {
val = option._collectValue(val, oldValue);
}
if (val == null) {
if (option.negate) {
val = false;
} else if (option.isBoolean() || option.optional) {
val = true;
} else {
val = "";
}
}
this.setOptionValueWithSource(name, val, valueSource);
};
this.on("option:" + oname, (val) => {
const invalidValueMessage = `error: option '${option.flags}' argument '${val}' is invalid.`;
handleOptionValue(val, invalidValueMessage, "cli");
});
if (option.envVar) {
this.on("optionEnv:" + oname, (val) => {
const invalidValueMessage = `error: option '${option.flags}' value '${val}' from env '${option.envVar}' is invalid.`;
handleOptionValue(val, invalidValueMessage, "env");
});
}
return this;
}
_optionEx(config, flags, description, fn, defaultValue) {
if (typeof flags === "object" && flags instanceof Option) {
throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");
}
const option = this.createOption(flags, description);
option.makeOptionMandatory(!!config.mandatory);
if (typeof fn === "function") {
option.default(defaultValue).argParser(fn);
} else if (fn instanceof RegExp) {
const regex2 = fn;
fn = (val, def) => {
const m = regex2.exec(val);
return m ? m[0] : def;
};
option.default(defaultValue).argParser(fn);
} else {
option.default(fn);
}
return this.addOption(option);
}
option(flags, description, parseArg, defaultValue) {
return this._optionEx({}, flags, description, parseArg, defaultValue);
}
requiredOption(flags, description, parseArg, defaultValue) {
return this._optionEx({ mandatory: true }, flags, description, parseArg, defaultValue);
}
combineFlagAndOptionalValue(combine = true) {
this._combineFlagAndOptionalValue = !!combine;
return this;
}
allowUnknownOption(allowUnknown = true) {
this._allowUnknownOption = !!allowUnknown;
return this;
}
allowExcessArguments(allowExcess = true) {
this._allowExcessArguments = !!allowExcess;
return this;
}
enablePositionalOptions(positional = true) {
this._enablePositionalOptions = !!positional;
return this;
}
passThroughOptions(passThrough = true) {
this._passThroughOptions = !!passThrough;
this._checkForBrokenPassThrough();
return this;
}
_checkForBrokenPassThrough() {
if (this.parent && this._passThroughOptions && !this.parent._enablePositionalOptions) {
throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`);
}
}
storeOptionsAsProperties(storeAsProperties = true) {
if (this.options.length) {
throw new Error("call .storeOptionsAsProperties() before adding options");
}
if (Object.keys(this._optionValues).length) {
throw new Error("call .storeOptionsAsProperties() before setting option values");
}
this._storeOptionsAsProperties = !!storeAsProperties;
return this;
}
getOptionValue(key) {
if (this._storeOptionsAsProperties) {
return this[key];
}
return this._optionValues[key];
}
setOptionValue(key, value) {
return this.setOptionValueWithSource(key, value, undefined);
}
setOptionValueWithSource(key, value, source) {
if (this._storeOptionsAsProperties) {
this[key] = value;
} else {
this._optionValues[key] = value;
}
this._optionValueSources[key] = source;
return this;
}
getOptionValueSource(key) {
return this._optionValueSources[key];
}
getOptionValueSourceWithGlobals(key) {
let source;
this._getCommandAndAncestors().forEach((cmd) => {
if (cmd.getOptionValueSource(key) !== undefined) {
source = cmd.getOptionValueSource(key);
}
});
return source;
}
_prepareUserArgs(argv, parseOptions) {
if (argv !== undefined && !Array.isArray(argv)) {
throw new Error("first parameter to parse must be array or undefined");
}
parseOptions = parseOptions || {};
if (argv === undefined && parseOptions.from === undefined) {
if (process2.versions?.electron) {
parseOptions.from = "electron";
}
const execArgv = process2.execArgv ?? [];
if (execArgv.includes("-e") || execArgv.includes("--eval") || execArgv.includes("-p") || execArgv.includes("--print")) {
parseOptions.from = "eval";
}
}
if (argv === undefined) {
argv = process2.argv;
}
this.rawArgs = argv.slice();
let userArgs;
switch (parseOptions.from) {
case undefined:
case "node":
this._scriptPath = argv[1];
userArgs = argv.slice(2);
break;
case "electron":
if (process2.defaultApp) {
this._scriptPath = argv[1];
userArgs = argv.slice(2);
} else {
userArgs = argv.slice(1);
}
break;
case "user":
userArgs = argv.slice(0);
break;
case "eval":
userArgs = argv.slice(1);
break;
default:
throw new Error(`unexpected parse option { from: '${parseOptions.from}' }`);
}
if (!this._name && this._scriptPath)
this.nameFromFilename(this._scriptPath);
this._name = this._name || "program";
return userArgs;
}
parse(argv, parseOptions) {
this._prepareForParse();
const userArgs = this._prepareUserArgs(argv, parseOptions);
this._parseCommand([], userArgs);
return this;
}
async parseAsync(argv, parseOptions) {
this._prepareForParse();
const userArgs = this._prepareUserArgs(argv, parseOptions);
await this._parseCommand([], userArgs);
return this;
}
_prepareForParse() {
if (this._savedState === null) {
this.saveStateBeforeParse();
} else {
this.restoreStateBeforeParse();
}
}
saveStateBeforeParse() {
this._savedState = {
_name: this._name,
_optionValues: { ...this._optionValues },
_optionValueSources: { ...this._optionValueSources }
};
}
restoreStateBeforeParse() {
if (this._storeOptionsAsProperties)
throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
- 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(executableFile, executableDir, subcommandName) {
if (fs2.existsSync(executableFile))
return;
const executableDirMessage = executableDir ? `searched for local subcommand relative to directory '${executableDir}'` : "no directory for search for local subcommand, use .executableDir() to supply a custom directory";
const executableMissing = `'${executableFile}' does not exist
- if '${subcommandName}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
- ${executableDirMessage}`;
throw new Error(executableMissing);
}
_executeSubCommand(subcommand, args) {
args = args.slice();
let launchWithNode = false;
const sourceExt = [".js", ".ts", ".tsx", ".mjs", ".cjs"];
function findFile(baseDir, baseName) {
const localBin = path2.resolve(baseDir, baseName);
if (fs2.existsSync(localBin))
return localBin;
if (sourceExt.includes(path2.extname(baseName)))
return;
const foundExt = sourceExt.find((ext) => fs2.existsSync(`${localBin}${ext}`));
if (foundExt)
return `${localBin}${foundExt}`;
return;
}
this._checkForMissingMandatoryOptions();
this._checkForConflictingOptions();
let executableFile = subcommand._executableFile || `${this._name}-${subcommand._name}`;
let executableDir = this._executableDir || "";
if (this._scriptPath) {
let resolvedScriptPath;
try {
resolvedScriptPath = fs2.realpathSync(this._scriptPath);
} catch {
resolvedScriptPath = this._scriptPath;
}
executableDir = path2.resolve(path2.dirname(resolvedScriptPath), executableDir);
}
if (executableDir) {
let localFile = findFile(executableDir, executableFile);
if (!localFile && !subcommand._executableFile && this._scriptPath) {
const legacyName = path2.basename(this._scriptPath, path2.extname(this._scriptPath));
if (legacyName !== this._name) {
localFile = findFile(executableDir, `${legacyName}-${subcommand._name}`);
}
}
executableFile = localFile || executableFile;
}
launchWithNode = sourceExt.includes(path2.extname(executableFile));
let proc;
if (process2.platform !== "win32") {
if (launchWithNode) {
args.unshift(executableFile);
args = incrementNodeInspectorPort(process2.execArgv).concat(args);
proc = childProcess.spawn(process2.argv[0], args, { stdio: "inherit" });
} else {
proc = childProcess.spawn(executableFile, args, { stdio: "inherit" });
}
} else {
this._checkForMissingExecutable(executableFile, executableDir, subcommand._name);
args.unshift(executableFile);
args = incrementNodeInspectorPort(process2.execArgv).concat(args);
proc = childProcess.spawn(process2.execPath, args, { stdio: "inherit" });
}
if (!proc.killed) {
const signals = ["SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP"];
signals.forEach((signal) => {
process2.on(signal, () => {
if (proc.killed === false && proc.exitCode === null) {
proc.kill(signal);
}
});
});
}
const exitCallback = this._exitCallback;
proc.on("close", (code) => {
code = code ?? 1;
if (!exitCallback) {
process2.exit(code);
} else {
exitCallback(new CommanderError(code, "commander.executeSubCommandAsync", "(close)"));
}
});
proc.on("error", (err) => {
if (err.code === "ENOENT") {
this._checkForMissingExecutable(executableFile, executableDir, subcommand._name);
} else if (err.code === "EACCES") {
throw new Error(`'${executableFile}' not executable`);
}
if (!exitCallback) {
process2.exit(1);
} else {
const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
wrappedError.nestedError = err;
exitCallback(wrappedError);
}
});
this.runningCommand = proc;
}
_dispatchSubcommand(commandName, operands, unknown) {
const subCommand = this._findCommand(commandName);
if (!subCommand)
this.help({ error: true });
subCommand._prepareForParse();
let promiseChain;
promiseChain = this._chainOrCallSubCommandHook(promiseChain, subCommand, "preSubcommand");
promiseChain = this._chainOrCall(promiseChain, () => {
if (subCommand._executableHandler) {
this._executeSubCommand(subCommand, operands.concat(unknown));
} else {
return subCommand._parseCommand(operands, unknown);
}
});
return promiseChain;
}
_dispatchHelpCommand(subcommandName) {
if (!subcommandName) {
this.help();
}
const subCommand = this._findCommand(subcommandName);
if (subCommand && !subCommand._executableHandler) {
subCommand.help();
}
return this._dispatchSubcommand(subcommandName, [], [this._getHelpOption()?.long ?? this._getHelpOption()?.short ?? "--help"]);
}
_checkNumberOfArguments() {
this.registeredArguments.forEach((arg, i) => {
if (arg.required && this.args[i] == null) {
this.missingArgument(arg.name());
}
});
if (this.registeredArguments.length > 0 && this.registeredArguments[this.registeredArguments.length - 1].variadic) {
return;
}
if (this.args.length > this.registeredArguments.length) {
this._excessArguments(this.args);
}
}
_processArguments() {
const myParseArg = (argument, value, previous) => {
let parsedValue = value;
if (value !== null && argument.parseArg) {
const invalidValueMessage = `error: command-argument value '${value}' is invalid for argument '${argument.name()}'.`;
parsedValue = this._callParseArg(argument, value, previous, invalidValueMessage);
}
return parsedValue;
};
this._checkNumberOfArguments();
const processedArgs = [];
this.registeredArguments.forEach((declaredArg, index) => {
let value = declaredArg.defaultValue;
if (declaredArg.variadic) {
if (index < this.args.length) {
value = this.args.slice(index);
if (declaredArg.parseArg) {
value = value.reduce((processed, v) => {
return myParseArg(declaredArg, v, processed);
}, declaredArg.defaultValue);
}
} else if (value === undefined) {
value = [];
}
} else if (index < this.args.length) {
value = this.args[index];
if (declaredArg.parseArg) {
value = myParseArg(declaredArg, value, declaredArg.defaultValue);
}
}
processedArgs[index] = value;
});
this.processedArgs = processedArgs;
}
_chainOrCall(promise, fn) {
if (promise?.then && typeof promise.then === "function") {
return promise.then(() => fn());
}
return fn();
}
_chainOrCallHooks(promise, event) {
let result = promise;
const hooks = [];
this._getCommandAndAncestors().reverse().filter((cmd) => cmd._lifeCycleHooks[event] !== undefined).forEach((hookedCommand) => {
hookedCommand._lifeCycleHooks[event].forEach((callback) => {
hooks.push({ hookedCommand, callback });
});
});
if (event === "postAction") {
hooks.reverse();
}
hooks.forEach((hookDetail) => {
result = this._chainOrCall(result, () => {
return hookDetail.callback(hookDetail.hookedCommand, this);
});
});
return result;
}
_chainOrCallSubCommandHook(promise, subCommand, event) {
let result = promise;
if (this._lifeCycleHooks[event] !== undefined) {
this._lifeCycleHooks[event].forEach((hook) => {
result = this._chainOrCall(result, () => {
return hook(this, subCommand);
});
});
}
return result;
}
_parseCommand(operands, unknown) {
const parsed = this.parseOptions(unknown);
this._parseOptionsEnv();
this._parseOptionsImplied();
operands = operands.concat(parsed.operands);
unknown = parsed.unknown;
this.args = operands.concat(unknown);
if (operands && this._findCommand(operands[0])) {
return this._dispatchSubcommand(operands[0], operands.slice(1), unknown);
}
if (this._getHelpCommand() && operands[0] === this._getHelpCommand().name()) {
return this._dispatchHelpCommand(operands[1]);
}
if (this._defaultCommandName) {
this._outputHelpIfRequested(unknown);
return this._dispatchSubcommand(this._defaultCommandName, operands, unknown);
}
if (this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName) {
this.help({ error: true });
}
this._outputHelpIfRequested(parsed.unknown);
this._checkForMissingMandatoryOptions();
this._checkForConflictingOptions();
const checkForUnknownOptions = () => {
if (parsed.unknown.length > 0) {
this.unknownOption(parsed.unknown[0]);
}
};
const commandEvent = `command:${this.name()}`;
if (this._actionHandler) {
checkForUnknownOptions();
this._processArguments();
let promiseChain;
promiseChain = this._chainOrCallHooks(promiseChain, "preAction");
promiseChain = this._chainOrCall(promiseChain, () => this._actionHandler(this.processedArgs));
if (this.parent) {
promiseChain = this._chainOrCall(promiseChain, () => {
this.parent.emit(commandEvent, operands, unknown);
});
}
promiseChain = this._chainOrCallHooks(promiseChain, "postAction");
return promiseChain;
}
if (this.parent?.listenerCount(commandEvent)) {
checkForUnknownOptions();
this._processArguments();
this.parent.emit(commandEvent, operands, unknown);
} else if (operands.length) {
if (this._findCommand("*")) {
return this._dispatchSubcommand("*", operands, unknown);
}
if (this.listenerCount("command:*")) {
this.emit("command:*", operands, unknown);
} else if (this.commands.length) {
this.unknownCommand();
} else {
checkForUnknownOptions();
this._processArguments();
}
} else if (this.commands.length) {
checkForUnknownOptions();
this.help({ error: true });
} else {
checkForUnknownOptions();
this._processArguments();
}
}
_findCommand(name) {
if (!name)
return;
return this.commands.find((cmd) => cmd._name === name || cmd._aliases.includes(name));
}
_findOption(arg) {
return this.options.find((option) => option.is(arg));
}
_checkForMissingMandatoryOptions() {
this._getCommandAndAncestors().forEach((cmd) => {
cmd.options.forEach((anOption) => {
if (anOption.mandatory && cmd.getOptionValue(anOption.attributeName()) === undefined) {
cmd.missingMandatoryOptionValue(anOption);
}
});
});
}
_checkForConflictingLocalOptions() {
const definedNonDefaultOptions = this.options.filter((option) => {
const optionKey = option.attributeName();
if (this.getOptionValue(optionKey) === undefined) {
return false;
}
return this.getOptionValueSource(optionKey) !== "default";
});
const optionsWithConflicting = definedNonDefaultOptions.filter((option) => option.conflictsWith.length > 0);
optionsWithConflicting.forEach((option) => {
const conflictingAndDefined = definedNonDefaultOptions.find((defined) => option.conflictsWith.includes(defined.attributeName()));
if (conflictingAndDefined) {
this._conflictingOption(option, conflictingAndDefined);
}
});
}
_checkForConflictingOptions() {
this._getCommandAndAncestors().forEach((cmd) => {
cmd._checkForConflictingLocalOptions();
});
}
parseOptions(args) {
const operands = [];
const unknown = [];
let dest = operands;
function maybeOption(arg) {
return arg.length > 1 && arg[0] === "-";
}
const negativeNumberArg = (arg) => {
if (!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(arg))
return false;
return !this._getCommandAndAncestors().some((cmd) => cmd.options.map((opt) => opt.short).some((short) => /^-\d$/.test(short)));
};
let activeVariadicOption = null;
let activeGroup = null;
let i = 0;
while (i < args.length || activeGroup) {
const arg = activeGroup ?? args[i++];
activeGroup = null;
if (arg === "--") {
if (dest === unknown)
dest.push(arg);
dest.push(...args.slice(i));
break;
}
if (activeVariadicOption && (!maybeOption(arg) || negativeNumberArg(arg))) {
this.emit(`option:${activeVariadicOption.name()}`, arg);
continue;
}
activeVariadicOption = null;
if (maybeOption(arg)) {
const option = this._findOption(arg);
if (option) {
if (option.required) {
const value = args[i++];
if (value === undefined)
this.optionMissingArgument(option);
this.emit(`option:${option.name()}`, value);
} else if (option.optional) {
let value = null;
if (i < args.length && (!maybeOption(args[i]) || negativeNumberArg(args[i]))) {
value = args[i++];
}
this.emit(`option:${option.name()}`, value);
} else {
this.emit(`option:${option.name()}`);
}
activeVariadicOption = option.variadic ? option : null;
continue;
}
}
if (arg.length > 2 && arg[0] === "-" && arg[1] !== "-") {
const option = this._findOption(`-${arg[1]}`);
if (option) {
if (option.required || option.optional && this._combineFlagAndOptionalValue) {
this.emit(`option:${option.name()}`, arg.slice(2));
} else {
this.emit(`option:${option.name()}`);
activeGroup = `-${arg.slice(2)}`;
}
continue;
}
}
if (/^--[^=]+=/.test(arg)) {
const index = arg.indexOf("=");
const option = this._findOption(arg.slice(0, index));
if (option && (option.required || option.optional)) {
this.emit(`option:${option.name()}`, arg.slice(index + 1));
continue;
}
}
if (dest === operands && maybeOption(arg) && !(this.commands.length === 0 && negativeNumberArg(arg))) {
dest = unknown;
}
if ((this._enablePositionalOptions || this._passThroughOptions) && operands.length === 0 && unknown.length === 0) {
if (this._findCommand(arg)) {
operands.push(arg);
unknown.push(...args.slice(i));
break;
} else if (this._getHelpCommand() && arg === this._getHelpCommand().name()) {
operands.push(arg, ...args.slice(i));
break;
} else if (this._defaultCommandName) {
unknown.push(arg, ...args.slice(i));
break;
}
}
if (this._passThroughOptions) {
dest.push(arg, ...args.slice(i));
break;
}
dest.push(arg);
}
return { operands, unknown };
}
opts() {
if (this._storeOptionsAsProperties) {
const result = {};
const len = this.options.length;
for (let i = 0;i < len; i++) {
const key = this.options[i].attributeName();
result[key] = key === this._versionOptionName ? this._version : this[key];
}
return result;
}
return this._optionValues;
}
optsWithGlobals() {
return this._getCommandAndAncestors().reduce((combinedOptions, cmd) => Object.assign(combinedOptions, cmd.opts()), {});
}
error(message, errorOptions) {
this._outputConfiguration.outputError(`${message}
`, this._outputConfiguration.writeErr);
if (typeof this._showHelpAfterError === "string") {
this._outputConfiguration.writeErr(`${this._showHelpAfterError}
`);
} else if (this._showHelpAfterError) {
this._outputConfiguration.writeErr(`
`);
this.outputHelp({ error: true });
}
const config = errorOptions || {};
const exitCode = config.exitCode || 1;
const code = config.code || "commander.error";
this._exit(exitCode, code, message);
}
_parseOptionsEnv() {
this.options.forEach((option) => {
if (option.envVar && option.envVar in process2.env) {
const optionKey = option.attributeName();
if (this.getOptionValue(optionKey) === undefined || ["default", "config", "env"].includes(this.getOptionValueSource(optionKey))) {
if (option.required || option.optional) {
this.emit(`optionEnv:${option.name()}`, process2.env[option.envVar]);
} else {
this.emit(`optionEnv:${option.name()}`);
}
}
}
});
}
_parseOptionsImplied() {
const dualHelper = new DualOptions(this.options);
const hasCustomOptionValue = (optionKey) => {
return this.getOptionValue(optionKey) !== undefined && !["default", "implied"].includes(this.getOptionValueSource(optionKey));
};
this.options.filter((option) => option.implied !== undefined && hasCustomOptionValue(option.attributeName()) && dualHelper.valueFromOption(this.getOptionValue(option.attributeName()), option)).forEach((option) => {
Object.keys(option.implied).filter((impliedKey) => !hasCustomOptionValue(impliedKey)).forEach((impliedKey) => {
this.setOptionValueWithSource(impliedKey, option.implied[impliedKey], "implied");
});
});
}
missingArgument(name) {
const message = `error: missing required argument '${name}'`;
this.error(message, { code: "commander.missingArgument" });
}
optionMissingArgument(option) {
const message = `error: option '${option.flags}' argument missing`;
this.error(message, { code: "commander.optionMissingArgument" });
}
missingMandatoryOptionValue(option) {
const message = `error: required option '${option.flags}' not specified`;
this.error(message, { code: "commander.missingMandatoryOptionValue" });
}
_conflictingOption(option, conflictingOption) {
const findBestOptionFromValue = (option2) => {
const optionKey = option2.attributeName();
const optionValue = this.getOptionValue(optionKey);
const negativeOption = this.options.find((target) => target.negate && optionKey === target.attributeName());
const positiveOption = this.options.find((target) => !target.negate && optionKey === target.attributeName());
if (negativeOption && (negativeOption.presetArg === undefined && optionValue === false || negativeOption.presetArg !== undefined && optionValue === negativeOption.presetArg)) {
return negativeOption;
}
return positiveOption || option2;
};
const getErrorMessage = (option2) => {
const bestOption = findBestOptionFromValue(option2);
const optionKey = bestOption.attributeName();
const source = this.getOptionValueSource(optionKey);
if (source === "env") {
return `environment variable '${bestOption.envVar}'`;
}
return `option '${bestOption.flags}'`;
};
const message = `error: ${getErrorMessage(option)} cannot be used with ${getErrorMessage(conflictingOption)}`;
this.error(message, { code: "commander.conflictingOption" });
}
unknownOption(flag) {
if (this._allowUnknownOption)
return;
let suggestion = "";
if (flag.startsWith("--") && this._showSuggestionAfterError) {
let candidateFlags = [];
let command = this;
do {
const moreFlags = command.createHelp().visibleOptions(command).filter((option) => option.long).map((option) => option.long);
candidateFlags = candidateFlags.concat(moreFlags);
command = command.parent;
} while (command && !command._enablePositionalOptions);
suggestion = suggestSimilar(flag, candidateFlags);
}
const message = `error: unknown option '${flag}'${suggestion}`;
this.error(message, { code: "commander.unknownOption" });
}
_excessArguments(receivedArgs) {
if (this._allowExcessArguments)
return;
const expected = this.registeredArguments.length;
const s = expected === 1 ? "" : "s";
const forSubcommand = this.parent ? ` for '${this.name()}'` : "";
const message = `error: too many arguments${forSubcommand}. Expected ${expected} argument${s} but got ${receivedArgs.length}.`;
this.error(message, { code: "commander.excessArguments" });
}
unknownCommand() {
const unknownName = this.args[0];
let suggestion = "";
if (this._showSuggestionAfterError) {
const candidateNames = [];
this.createHelp().visibleCommands(this).forEach((command) => {
candidateNames.push(command.name());
if (command.alias())
candidateNames.push(command.alias());
});
suggestion = suggestSimilar(unknownName, candidateNames);
}
const message = `error: unknown command '${unknownName}'${suggestion}`;
this.error(message, { code: "commander.unknownCommand" });
}
version(str, flags, description) {
if (str === undefined)
return this._version;
this._version = str;
flags = flags || "-V, --version";
description = description || "output the version number";
const versionOption = this.createOption(flags, description);
this._versionOptionName = versionOption.attributeName();
this._registerOption(versionOption);
this.on("option:" + versionOption.name(), () => {
this._outputConfiguration.writeOut(`${str}
`);
this._exit(0, "commander.version", str);
});
return this;
}
description(str, argsDescription) {
if (str === undefined && argsDescription === undefined)
return this._description;
this._description = str;
if (argsDescription) {
this._argsDescription = argsDescription;
}
return this;
}
summary(str) {
if (str === undefined)
return this._summary;
this._summary = str;
return this;
}
alias(alias) {
if (alias === undefined)
return this._aliases[0];
let command = this;
if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler) {
command = this.commands[this.commands.length - 1];
}
if (alias === command._name)
throw new Error("Command alias can't be the same as its name");
const matchingCommand = this.parent?._findCommand(alias);
if (matchingCommand) {
const existingCmd = [matchingCommand.name()].concat(matchingCommand.aliases()).join("|");
throw new Error(`cannot add alias '${alias}' to command '${this.name()}' as already have command '${existingCmd}'`);
}
command._aliases.push(alias);
return this;
}
aliases(aliases) {
if (aliases === undefined)
return this._aliases;
aliases.forEach((alias) => this.alias(alias));
return this;
}
usage(str) {
if (str === undefined) {
if (this._usage)
return this._usage;
const args = this.registeredArguments.map((arg) => {
return humanReadableArgName(arg);
});
return [].concat(this.options.length || this._helpOption !== null ? "[options]" : [], this.commands.length ? "[command]" : [], this.registeredArguments.length ? args : []).join(" ");
}
this._usage = str;
return this;
}
name(str) {
if (str === undefined)
return this._name;
this._name = str;
return this;
}
helpGroup(heading) {
if (heading === undefined)
return this._helpGroupHeading ?? "";
this._helpGroupHeading = heading;
return this;
}
commandsGroup(heading) {
if (heading === undefined)
return this._defaultCommandGroup ?? "";
this._defaultCommandGroup = heading;
return this;
}
optionsGroup(heading) {
if (heading === undefined)
return this._defaultOptionGroup ?? "";
this._defaultOptionGroup = heading;
return this;
}
_initOptionGroup(option) {
if (this._defaultOptionGroup && !option.helpGroupHeading)
option.helpGroup(this._defaultOptionGroup);
}
_initCommandGroup(cmd) {
if (this._defaultCommandGroup && !cmd.helpGroup())
cmd.helpGroup(this._defaultCommandGroup);
}
nameFromFilename(filename) {
this._name = path2.basename(filename, path2.extname(filename));
return this;
}
executableDir(path3) {
if (path3 === undefined)
return this._executableDir;
this._executableDir = path3;
return this;
}
helpInformation(contextOptions) {
const helper = this.createHelp();
const context = this._getOutputContext(contextOptions);
helper.prepareContext({
error: context.error,
helpWidth: context.helpWidth,
outputHasColors: context.hasColors
});
const text = helper.formatHelp(this, helper);
if (context.hasColors)
return text;
return this._outputConfiguration.stripColor(text);
}
_getOutputContext(contextOptions) {
contextOptions = contextOptions || {};
const error2 = !!contextOptions.error;
let baseWrite;
let hasColors;
let helpWidth;
if (error2) {
baseWrite = (str) => this._outputConfiguration.writeErr(str);
hasColors = this._outputConfiguration.getErrHasColors();
helpWidth = this._outputConfiguration.getErrHelpWidth();
} else {
baseWrite = (str) => this._outputConfiguration.writeOut(str);
hasColors = this._outputConfiguration.getOutHasColors();
helpWidth = this._outputConfiguration.getOutHelpWidth();
}
const write = (str) => {
if (!hasColors)
str = this._outputConfiguration.stripColor(str);
return baseWrite(str);
};
return { error: error2, write, hasColors, helpWidth };
}
outputHelp(contextOptions) {
let deprecatedCallback;
if (typeof contextOptions === "function") {
deprecatedCallback = contextOptions;
contextOptions = undefined;
}
const outputContext = this._getOutputContext(contextOptions);
const eventContext = {
error: outputContext.error,
write: outputContext.write,
command: this
};
this._getCommandAndAncestors().reverse().forEach((command) => command.emit("beforeAllHelp", eventContext));
this.emit("beforeHelp", eventContext);
let helpInformation = this.helpInformation({ error: outputContext.error });
if (deprecatedCallback) {
helpInformation = deprecatedCallback(helpInformation);
if (typeof helpInformation !== "string" && !Buffer.isBuffer(helpInformation)) {
throw new Error("outputHelp callback must return a string or a Buffer");
}
}
outputContext.write(helpInformation);
if (this._getHelpOption()?.long) {
this.emit(this._getHelpOption().long);
}
this.emit("afterHelp", eventContext);
this._getCommandAndAncestors().forEach((command) => command.emit("afterAllHelp", eventContext));
}
helpOption(flags, description) {
if (typeof flags === "boolean") {
if (flags) {
if (this._helpOption === null)
this._helpOption = undefined;
if (this._defaultOptionGroup) {
this._initOptionGroup(this._getHelpOption());
}
} else {
this._helpOption = null;
}
return this;
}
this._helpOption = this.createOption(flags ?? "-h, --help", description ?? "display help for command");
if (flags || description)
this._initOptionGroup(this._helpOption);
return this;
}
_getHelpOption() {
if (this._helpOption === undefined) {
this.helpOption(undefined, undefined);
}
return this._helpOption;
}
addHelpOption(option) {
this._helpOption = option;
this._initOptionGroup(option);
return this;
}
help(contextOptions) {
this.outputHelp(contextOptions);
let exitCode = Number(process2.exitCode ?? 0);
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) {
exitCode = 1;
}
this._exit(exitCode, "commander.help", "(outputHelp)");
}
addHelpText(position, text) {
const allowedValues = ["beforeAll", "before", "after", "afterAll"];
if (!allowedValues.includes(position)) {
throw new Error(`Unexpected value for position to addHelpText.
Expecting one of '${allowedValues.join("', '")}'`);
}
const helpEvent = `${position}Help`;
this.on(helpEvent, (context) => {
let helpStr;
if (typeof text === "function") {
helpStr = text({ error: context.error, command: context.command });
} else {
helpStr = text;
}
if (helpStr) {
context.write(`${helpStr}
`);
}
});
return this;
}
_outputHelpIfRequested(args) {
const helpOption = this._getHelpOption();
const helpRequested = helpOption && args.find((arg) => helpOption.is(arg));
if (helpRequested) {
this.outputHelp();
this._exit(0, "commander.helpDisplayed", "(outputHelp)");
}
}
}
function incrementNodeInspectorPort(args) {
return args.map((arg) => {
if (!arg.startsWith("--inspect")) {
return arg;
}
let debugOption;
let debugHost = "127.0.0.1";
let debugPort = "9229";
let match;
if ((match = arg.match(/^(--inspect(-brk)?)$/)) !== null) {
debugOption = match[1];
} else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) !== null) {
debugOption = match[1];
if (/^\d+$/.test(match[3])) {
debugPort = match[3];
} else {
debugHost = match[3];
}
} else if ((match = arg.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/)) !== null) {
debugOption = match[1];
debugHost = match[3];
debugPort = match[4];
}
if (debugOption && debugPort !== "0") {
return `${debugOption}=${debugHost}:${parseInt(debugPort) + 1}`;
}
return arg;
});
}
function useColor() {
if (process2.env.NO_COLOR || process2.env.FORCE_COLOR === "0" || process2.env.FORCE_COLOR === "false")
return false;
if (process2.env.FORCE_COLOR || process2.env.CLICOLOR_FORCE !== undefined)
return true;
return;
}
exports.Command = Command;
exports.useColor = useColor;
});
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/index.js
var require_commander = __commonJS((exports) => {
var { Argument } = require_argument();
var { Command } = require_command();
var { CommanderError, InvalidArgumentError } = require_error();
var { Help } = require_help();
var { Option } = require_option();
exports.program = new Command;
exports.createCommand = (name) => new Command(name);
exports.createOption = (flags, description) => new Option(flags, description);
exports.createArgument = (name, description) => new Argument(name, description);
exports.Command = Command;
exports.Option = Option;
exports.Argument = Argument;
exports.Help = Help;
exports.CommanderError = CommanderError;
exports.InvalidArgumentError = InvalidArgumentError;
exports.InvalidOptionArgumentError = InvalidArgumentError;
});
// node_modules/.pnpm/@commander-js+extra-typings@14.0.0_commander@14.0.3/node_modules/@commander-js/extra-typings/index.js
var require_extra_typings = __commonJS((exports, module) => {
var commander = require_commander();
exports = module.exports = {};
exports.program = new commander.Command;
exports.Argument = commander.Argument;
exports.Command = commander.Command;
exports.CommanderError = commander.CommanderError;
exports.Help = commander.Help;
exports.InvalidArgumentError = commander.InvalidArgumentError;
exports.InvalidOptionArgumentError = commander.InvalidArgumentError;
exports.Option = commander.Option;
exports.createCommand = (name) => new commander.Command(name);
exports.createOption = (flags, description) => new commander.Option(flags, description);
exports.createArgument = (name, description) => new commander.Argument(name, description);
});
// node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
function assembleStyles() {
const codes = new Map;
for (const [groupName, group] of Object.entries(styles)) {
for (const [styleName, style] of Object.entries(group)) {
styles[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
};
group[styleName] = styles[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles, "codes", {
value: codes,
enumerable: false
});
styles.color.close = "\x1B[39m";
styles.bgColor.close = "\x1B[49m";
styles.color.ansi = wrapAnsi16();
styles.color.ansi256 = wrapAnsi256();
styles.color.ansi16m = wrapAnsi16m();
styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
Object.defineProperties(styles, {
rgbToAnsi256: {
value(red, green, blue) {
if (red === green && green === blue) {
if (red < 8) {
return 16;
}
if (red > 248) {
return 231;
}
return Math.round((red - 8) / 247 * 24) + 232;
}
return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
},
enumerable: false
},
hexToRgb: {
value(hex) {
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
if (!matches) {
return [0, 0, 0];
}
let [colorString] = matches;
if (colorString.length === 3) {
colorString = [...colorString].map((character) => character + character).join("");
}
const integer = Number.parseInt(colorString, 16);
return [
integer >> 16 & 255,
integer >> 8 & 255,
integer & 255
];
},
enumerable: false
},
hexToAnsi256: {
value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
enumerable: false
},
ansi256ToAnsi: {
value(code) {
if (code < 8) {
return 30 + code;
}
if (code < 16) {
return 90 + (code - 8);
}
let red;
let green;
let blue;
if (code >= 232) {
red = ((code - 232) * 10 + 8) / 255;
green = red;
blue = red;
} else {
code -= 16;
const remainder = code % 36;
red = Math.floor(code / 36) / 5;
green = Math.floor(remainder / 6) / 5;
blue = remainder % 6 / 5;
}
const value = Math.max(red, green, blue) * 2;
if (value === 0) {
return 30;
}
let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
if (value === 2) {
result += 60;
}
return result;
},
enumerable: false
},
rgbToAnsi: {
value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
enumerable: false
},
hexToAnsi: {
value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
enumerable: false
}
});
return styles;
}
var ANSI_BACKGROUND_OFFSET = 10, wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
var init_ansi_styles = __esm(() => {
styles = {
modifier: {
reset: [0, 0],
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
overline: [53, 55],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
blackBright: [90, 39],
gray: [90, 39],
grey: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
bgBlackBright: [100, 49],
bgGray: [100, 49],
bgGrey: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
modifierNames = Object.keys(styles.modifier);
foregroundColorNames = Object.keys(styles.color);
backgroundColorNames = Object.keys(styles.bgColor);
colorNames = [...foregroundColorNames, ...backgroundColorNames];
ansiStyles = assembleStyles();
ansi_styles_default = ansiStyles;
});
// node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
import process2 from "node:process";
import os from "node:os";
import tty from "node:tty";
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process2.argv) {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix + flag);
const terminatorPosition = argv.indexOf("--");
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
function envForceColor() {
if ("FORCE_COLOR" in env) {
if (env.FORCE_COLOR === "true") {
return 1;
}
if (env.FORCE_COLOR === "false") {
return 0;
}
return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
}
}
function translateLevel(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
const noFlagForceColor = envForceColor();
if (noFlagForceColor !== undefined) {
flagForceColor = noFlagForceColor;
}
const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
if (forceColor === 0) {
return 0;
}
if (sniffFlags) {
if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
return 3;
}
if (hasFlag("color=256")) {
return 2;
}
}
if ("TF_BUILD" in env && "AGENT_NAME" in env) {
return 1;
}
if (haveStream && !streamIsTTY && forceColor === undefined) {
return 0;
}
const min = forceColor || 0;
if (env.TERM === "dumb") {
return min;
}
if (process2.platform === "win32") {
const osRelease = os.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env) {
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env))) {
return 3;
}
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env)) || env.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
}
if (env.COLORTERM === "truecolor") {
return 3;
}
if (env.TERM === "xterm-kitty") {
return 3;
}
if (env.TERM === "xterm-ghostty") {
return 3;
}
if (env.TERM === "wezterm") {
return 3;
}
if ("TERM_PROGRAM" in env) {
const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app": {
return version >= 3 ? 3 : 2;
}
case "Apple_Terminal": {
return 2;
}
}
}
if (/-256(color)?$/i.test(env.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
return 1;
}
if ("COLORTERM" in env) {
return 1;
}
return min;
}
function createSupportsColor(stream, options = {}) {
const level = _supportsColor(stream, {
streamIsTTY: stream && stream.isTTY,
...options
});
return translateLevel(level);
}
var env, flagForceColor, supportsColor, supports_color_default;
var init_supports_color = __esm(() => {
({ env } = process2);
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
flagForceColor = 0;
} else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
flagForceColor = 1;
}
supportsColor = {
stdout: createSupportsColor({ isTTY: tty.isatty(1) }),
stderr: createSupportsColor({ isTTY: tty.isatty(2) })
};
supports_color_default = supportsColor;
});
// node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/utilities.js
function stringReplaceAll(string, substring, replacer) {
let index = string.indexOf(substring);
if (index === -1) {
return string;
}
const substringLength = substring.length;
let endIndex = 0;
let returnValue = "";
do {
returnValue += string.slice(endIndex, index) + substring + replacer;
endIndex = index + substringLength;
index = string.indexOf(substring, endIndex);
} while (index !== -1);
returnValue += string.slice(endIndex);
return returnValue;
}
function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
let endIndex = 0;
let returnValue = "";
do {
const gotCR = string[index - 1] === "\r";
returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? `\r
` : `
`) + postfix;
endIndex = index + 1;
index = string.indexOf(`
`, endIndex);
} while (index !== -1);
returnValue += string.slice(endIndex);
return returnValue;
}
// node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/index.js
class Chalk {
constructor(options) {
return chalkFactory(options);
}
}
function createChalk(options) {
return chalkFactory(options);
}
var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions = (object, options = {}) => {
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
throw new Error("The `level` option should be an integer from 0 to 3");
}
const colorLevel = stdoutColor ? stdoutColor.level : 0;
object.level = options.level === undefined ? colorLevel : options.level;
}, chalkFactory = (options) => {
const chalk = (...strings) => strings.join(" ");
applyOptions(chalk, options);
Object.setPrototypeOf(chalk, createChalk.prototype);
return chalk;
}, getModelAnsi = (model, level, type, ...arguments_) => {
if (model === "rgb") {
if (level === "ansi16m") {
return ansi_styles_default[type].ansi16m(...arguments_);
}
if (level === "ansi256") {
return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
}
return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
}
if (model === "hex") {
return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
}
return ansi_styles_default[type][model](...arguments_);
}, usedModels, proto, createStyler = (open2, close, parent) => {
let openAll;
let closeAll;
if (parent === undefined) {
openAll = open2;
closeAll = close;
} else {
openAll = parent.openAll + open2;
closeAll = close + parent.closeAll;
}
return {
open: open2,
close,
openAll,
closeAll,
parent
};
}, createBuilder = (self2, _styler, _isEmpty) => {
const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
Object.setPrototypeOf(builder, proto);
builder[GENERATOR] = self2;
builder[STYLER] = _styler;
builder[IS_EMPTY] = _isEmpty;
return builder;
}, applyStyle = (self2, string) => {
if (self2.level <= 0 || !string) {
return self2[IS_EMPTY] ? "" : string;
}
let styler = self2[STYLER];
if (styler === undefined) {
return string;
}
const { openAll, closeAll } = styler;
if (string.includes("\x1B")) {
while (styler !== undefined) {
string = stringReplaceAll(string, styler.close, styler.open);
styler = styler.parent;
}
}
const lfIndex = string.indexOf(`
`);
if (lfIndex !== -1) {
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
}
return openAll + string + closeAll;
}, chalk, chalkStderr, source_default;
var init_source = __esm(() => {
init_ansi_styles();
init_supports_color();
({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
GENERATOR = Symbol("GENERATOR");
STYLER = Symbol("STYLER");
IS_EMPTY = Symbol("IS_EMPTY");
levelMapping = [
"ansi",
"ansi",
"ansi256",
"ansi16m"
];
styles2 = Object.create(null);
Object.setPrototypeOf(createChalk.prototype, Function.prototype);
for (const [styleName, style] of Object.entries(ansi_styles_default)) {
styles2[styleName] = {
get() {
const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
Object.defineProperty(this, styleName, { value: builder });
return builder;
}
};
}
styles2.visible = {
get() {
const builder = createBuilder(this, this[STYLER], true);
Object.defineProperty(this, "visible", { value: builder });
return builder;
}
};
usedModels = ["rgb", "hex", "ansi256"];
for (const model of usedModels) {
styles2[model] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
return createBuilder(this, styler, this[IS_EMPTY]);
};
}
};
const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
styles2[bgModel] = {
get() {
const { level } = this;
return function(...arguments_) {
const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
return createBuilder(this, styler, this[IS_EMPTY]);
};
}
};
}
proto = Object.defineProperties(() => {}, {
...styles2,
level: {
enumerable: true,
get() {
return this[GENERATOR].level;
},
set(level) {
this[GENERATOR].level = level;
}
}
});
Object.defineProperties(createChalk.prototype, styles2);
chalk = createChalk();
chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
source_default = chalk;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createBaseFor.js
function createBaseFor(fromRight) {
return function(object, iteratee, keysFunc) {
var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
while (length--) {
var key = props[fromRight ? length : ++index];
if (iteratee(iterable[key], key, iterable) === false) {
break;
}
}
return object;
};
}
var _createBaseFor_default;
var init__createBaseFor = __esm(() => {
_createBaseFor_default = createBaseFor;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseFor.js
var baseFor, _baseFor_default;
var init__baseFor = __esm(() => {
init__createBaseFor();
baseFor = _createBaseFor_default();
_baseFor_default = baseFor;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseForOwn.js
function baseForOwn(object, iteratee) {
return object && _baseFor_default(object, iteratee, keys_default);
}
var _baseForOwn_default;
var init__baseForOwn = __esm(() => {
init__baseFor();
init_keys();
_baseForOwn_default = baseForOwn;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/mapValues.js
function mapValues(object, iteratee) {
var result = {};
iteratee = _baseIteratee_default(iteratee, 3);
_baseForOwn_default(object, function(value, key, object2) {
_baseAssignValue_default(result, key, iteratee(value, key, object2));
});
return result;
}
var mapValues_default;
var init_mapValues = __esm(() => {
init__baseAssignValue();
init__baseForOwn();
init__baseIteratee();
mapValues_default = mapValues;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseSet.js
function baseSet(object, path2, value, customizer) {
if (!isObject_default(object)) {
return object;
}
path2 = _castPath_default(path2, object);
var index = -1, length = path2.length, lastIndex = length - 1, nested = object;
while (nested != null && ++index < length) {
var key = _toKey_default(path2[index]), newValue = value;
if (key === "__proto__" || key === "constructor" || key === "prototype") {
return object;
}
if (index != lastIndex) {
var objValue = nested[key];
newValue = customizer ? customizer(objValue, key, nested) : undefined;
if (newValue === undefined) {
newValue = isObject_default(objValue) ? objValue : _isIndex_default(path2[index + 1]) ? [] : {};
}
}
_assignValue_default(nested, key, newValue);
nested = nested[key];
}
return object;
}
var _baseSet_default;
var init__baseSet = __esm(() => {
init__assignValue();
init__castPath();
init__isIndex();
init_isObject();
init__toKey();
_baseSet_default = baseSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_basePickBy.js
function basePickBy(object, paths, predicate) {
var index = -1, length = paths.length, result = {};
while (++index < length) {
var path2 = paths[index], value = _baseGet_default(object, path2);
if (predicate(value, path2)) {
_baseSet_default(result, _castPath_default(path2, object), value);
}
}
return result;
}
var _basePickBy_default;
var init__basePickBy = __esm(() => {
init__baseGet();
init__baseSet();
init__castPath();
_basePickBy_default = basePickBy;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/pickBy.js
function pickBy(object, predicate) {
if (object == null) {
return {};
}
var props = _arrayMap_default(_getAllKeysIn_default(object), function(prop) {
return [prop];
});
predicate = _baseIteratee_default(predicate);
return _basePickBy_default(object, props, function(value, path2) {
return predicate(value, path2[0]);
});
}
var pickBy_default;
var init_pickBy = __esm(() => {
init__arrayMap();
init__baseIteratee();
init__basePickBy();
init__getAllKeysIn();
pickBy_default = pickBy;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseFindIndex.js
function baseFindIndex(array, predicate, fromIndex, fromRight) {
var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
while (fromRight ? index-- : ++index < length) {
if (predicate(array[index], index, array)) {
return index;
}
}
return -1;
}
var _baseFindIndex_default;
var init__baseFindIndex = __esm(() => {
_baseFindIndex_default = baseFindIndex;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsNaN.js
function baseIsNaN(value) {
return value !== value;
}
var _baseIsNaN_default;
var init__baseIsNaN = __esm(() => {
_baseIsNaN_default = baseIsNaN;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_strictIndexOf.js
function strictIndexOf(array, value, fromIndex) {
var index = fromIndex - 1, length = array.length;
while (++index < length) {
if (array[index] === value) {
return index;
}
}
return -1;
}
var _strictIndexOf_default;
var init__strictIndexOf = __esm(() => {
_strictIndexOf_default = strictIndexOf;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIndexOf.js
function baseIndexOf(array, value, fromIndex) {
return value === value ? _strictIndexOf_default(array, value, fromIndex) : _baseFindIndex_default(array, _baseIsNaN_default, fromIndex);
}
var _baseIndexOf_default;
var init__baseIndexOf = __esm(() => {
init__baseFindIndex();
init__baseIsNaN();
init__strictIndexOf();
_baseIndexOf_default = baseIndexOf;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayIncludes.js
function arrayIncludes(array, value) {
var length = array == null ? 0 : array.length;
return !!length && _baseIndexOf_default(array, value, 0) > -1;
}
var _arrayIncludes_default;
var init__arrayIncludes = __esm(() => {
init__baseIndexOf();
_arrayIncludes_default = arrayIncludes;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayIncludesWith.js
function arrayIncludesWith(array, value, comparator) {
var index = -1, length = array == null ? 0 : array.length;
while (++index < length) {
if (comparator(value, array[index])) {
return true;
}
}
return false;
}
var _arrayIncludesWith_default;
var init__arrayIncludesWith = __esm(() => {
_arrayIncludesWith_default = arrayIncludesWith;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/noop.js
function noop3() {}
var noop_default;
var init_noop = __esm(() => {
noop_default = noop3;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createSet.js
var INFINITY3, createSet, _createSet_default;
var init__createSet = __esm(() => {
init__Set();
init_noop();
init__setToArray();
INFINITY3 = 1 / 0;
createSet = !(_Set_default && 1 / _setToArray_default(new _Set_default([, -0]))[1] == INFINITY3) ? noop_default : function(values) {
return new _Set_default(values);
};
_createSet_default = createSet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseUniq.js
function baseUniq(array, iteratee, comparator) {
var index = -1, includes = _arrayIncludes_default, length = array.length, isCommon = true, result = [], seen = result;
if (comparator) {
isCommon = false;
includes = _arrayIncludesWith_default;
} else if (length >= LARGE_ARRAY_SIZE2) {
var set = iteratee ? null : _createSet_default(array);
if (set) {
return _setToArray_default(set);
}
isCommon = false;
includes = _cacheHas_default;
seen = new _SetCache_default;
} else {
seen = iteratee ? [] : result;
}
outer:
while (++index < length) {
var value = array[index], computed = iteratee ? iteratee(value) : value;
value = comparator || value !== 0 ? value : 0;
if (isCommon && computed === computed) {
var seenIndex = seen.length;
while (seenIndex--) {
if (seen[seenIndex] === computed) {
continue outer;
}
}
if (iteratee) {
seen.push(computed);
}
result.push(value);
} else if (!includes(seen, computed, comparator)) {
if (seen !== result) {
seen.push(computed);
}
result.push(value);
}
}
return result;
}
var LARGE_ARRAY_SIZE2 = 200, _baseUniq_default;
var init__baseUniq = __esm(() => {
init__SetCache();
init__arrayIncludes();
init__arrayIncludesWith();
init__cacheHas();
init__createSet();
init__setToArray();
_baseUniq_default = baseUniq;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/uniqBy.js
function uniqBy(array, iteratee) {
return array && array.length ? _baseUniq_default(array, _baseIteratee_default(iteratee, 2)) : [];
}
var uniqBy_default;
var init_uniqBy = __esm(() => {
init__baseIteratee();
init__baseUniq();
uniqBy_default = uniqBy;
});
// src/bridge/sessionIdCompat.ts
var exports_sessionIdCompat = {};
__export(exports_sessionIdCompat, {
toInfraSessionId: () => toInfraSessionId,
toCompatSessionId: () => toCompatSessionId,
setCseShimGate: () => setCseShimGate
});
function setCseShimGate(gate) {
_isCseShimEnabled = gate;
}
function toCompatSessionId(id) {
if (!id.startsWith("cse_"))
return id;
if (_isCseShimEnabled && !_isCseShimEnabled())
return id;
return "session_" + id.slice("cse_".length);
}
function toInfraSessionId(id) {
if (!id.startsWith("session_"))
return id;
return "cse_" + id.slice("session_".length);
}
var _isCseShimEnabled;
// src/constants/product.ts
function isRemoteSessionStaging(sessionId, ingressUrl) {
return sessionId?.includes("_staging_") === true || ingressUrl?.includes("staging") === true;
}
function isRemoteSessionLocal(sessionId, ingressUrl) {
return sessionId?.includes("_local_") === true || ingressUrl?.includes("localhost") === true;
}
function getClaudeAiBaseUrl(sessionId, ingressUrl) {
if (isRemoteSessionLocal(sessionId, ingressUrl)) {
return CLAUDE_AI_LOCAL_BASE_URL;
}
if (isRemoteSessionStaging(sessionId, ingressUrl)) {
return CLAUDE_AI_STAGING_BASE_URL;
}
return CLAUDE_AI_BASE_URL;
}
function getRemoteSessionUrl(sessionId, ingressUrl) {
const { toCompatSessionId: toCompatSessionId2 } = __toCommonJS(exports_sessionIdCompat);
const compatId = toCompatSessionId2(sessionId);
const baseUrl = getClaudeAiBaseUrl(compatId, ingressUrl);
return `${baseUrl}/code/${compatId}`;
}
var PRODUCT_URL = "https://claude.com/claude-code", CLAUDE_AI_BASE_URL = "https://claude.ai", CLAUDE_AI_STAGING_BASE_URL = "https://claude-ai.staging.ant.dev", CLAUDE_AI_LOCAL_BASE_URL = "http://localhost:4000";
// src/constants/common.ts
function getLocalISODate() {
if (process.env.CLAUDE_CODE_OVERRIDE_DATE) {
return process.env.CLAUDE_CODE_OVERRIDE_DATE;
}
const now = new Date;
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, "0");
const day = String(now.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
}
function getLocalMonthYear() {
const date = process.env.CLAUDE_CODE_OVERRIDE_DATE ? new Date(process.env.CLAUDE_CODE_OVERRIDE_DATE) : new Date;
return date.toLocaleString("en-US", { month: "long", year: "numeric" });
}
var getSessionStartDate;
var init_common = __esm(() => {
init_memoize();
getSessionStartDate = memoize_default(getLocalISODate);
});
// node_modules/.pnpm/ignore@7.0.5/node_modules/ignore/index.js
var require_ignore = __commonJS((exports, module) => {
function makeArray(subject) {
return Array.isArray(subject) ? subject : [subject];
}
var UNDEFINED = undefined;
var EMPTY2 = "";
var SPACE = " ";
var ESCAPE = "\\";
var REGEX_TEST_BLANK_LINE = /^\s+$/;
var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
var REGEX_SPLITALL_CRLF = /\r?\n/g;
var REGEX_TEST_INVALID_PATH = /^\.{0,2}\/|^\.{1,2}$/;
var REGEX_TEST_TRAILING_SLASH = /\/$/;
var SLASH = "/";
var TMP_KEY_IGNORE = "node-ignore";
if (typeof Symbol !== "undefined") {
TMP_KEY_IGNORE = Symbol.for("node-ignore");
}
var KEY_IGNORE = TMP_KEY_IGNORE;
var define2 = (object, key, value) => {
Object.defineProperty(object, key, { value });
return value;
};
var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
var RETURN_FALSE = () => false;
var sanitizeRange = (range) => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY2);
var cleanRangeBackSlash = (slashes) => {
const { length } = slashes;
return slashes.slice(0, length - length % 2);
};
var REPLACERS = [
[
/^\uFEFF/,
() => EMPTY2
],
[
/((?:\\\\)*?)(\\?\s+)$/,
(_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY2)
],
[
/(\\+?)\s/g,
(_, m1) => {
const { length } = m1;
return m1.slice(0, length - length % 2) + SPACE;
}
],
[
/[\\$.|*+(){^]/g,
(match) => `\\${match}`
],
[
/(?!\\)\?/g,
() => "[^/]"
],
[
/^\//,
() => "^"
],
[
/\//g,
() => "\\/"
],
[
/^\^*\\\*\\\*\\\//,
() => "^(?:.*\\/)?"
],
[
/^(?=[^^])/,
function startingReplacer() {
return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
}
],
[
/\\\/\\\*\\\*(?=\\\/|$)/g,
(_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
],
[
/(^|[^\\]+)(\\\*)+(?=.+)/g,
(_, p1, p2) => {
const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
return p1 + unescaped;
}
],
[
/\\\\\\(?=[$.|*+(){^])/g,
() => ESCAPE
],
[
/\\\\/g,
() => ESCAPE
],
[
/(\\)?\[([^\]/]*?)(\\*)($|\])/g,
(match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
],
[
/(?:[^*])$/,
(match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
]
];
var REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)?\\\*$/;
var MODE_IGNORE = "regex";
var MODE_CHECK_IGNORE = "checkRegex";
var UNDERSCORE = "_";
var TRAILING_WILD_CARD_REPLACERS = {
[MODE_IGNORE](_, p1) {
const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
return `${prefix}(?=$|\\/$)`;
},
[MODE_CHECK_IGNORE](_, p1) {
const prefix = p1 ? `${p1}[^/]*` : "[^/]*";
return `${prefix}(?=$|\\/$)`;
}
};
var makeRegexPrefix = (pattern) => REPLACERS.reduce((prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)), pattern);
var isString = (subject) => typeof subject === "string";
var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF).filter(Boolean);
class IgnoreRule {
constructor(pattern, mark, body, ignoreCase, negative, prefix) {
this.pattern = pattern;
this.mark = mark;
this.negative = negative;
define2(this, "body", body);
define2(this, "ignoreCase", ignoreCase);
define2(this, "regexPrefix", prefix);
}
get regex() {
const key = UNDERSCORE + MODE_IGNORE;
if (this[key]) {
return this[key];
}
return this._make(MODE_IGNORE, key);
}
get checkRegex() {
const key = UNDERSCORE + MODE_CHECK_IGNORE;
if (this[key]) {
return this[key];
}
return this._make(MODE_CHECK_IGNORE, key);
}
_make(mode, key) {
const str = this.regexPrefix.replace(REGEX_REPLACE_TRAILING_WILDCARD, TRAILING_WILD_CARD_REPLACERS[mode]);
const regex2 = this.ignoreCase ? new RegExp(str, "i") : new RegExp(str);
return define2(this, key, regex2);
}
}
var createRule = ({
pattern,
mark
}, ignoreCase) => {
let negative = false;
let body = pattern;
if (body.indexOf("!") === 0) {
negative = true;
body = body.substr(1);
}
body = body.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
const regexPrefix = makeRegexPrefix(body);
return new IgnoreRule(pattern, mark, body, ignoreCase, negative, regexPrefix);
};
class RuleManager {
constructor(ignoreCase) {
this._ignoreCase = ignoreCase;
this._rules = [];
}
_add(pattern) {
if (pattern && pattern[KEY_IGNORE]) {
this._rules = this._rules.concat(pattern._rules._rules);
this._added = true;
return;
}
if (isString(pattern)) {
pattern = {
pattern
};
}
if (checkPattern(pattern.pattern)) {
const rule = createRule(pattern, this._ignoreCase);
this._added = true;
this._rules.push(rule);
}
}
add(pattern) {
this._added = false;
makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._add, this);
return this._added;
}
test(path2, checkUnignored, mode) {
let ignored = false;
let unignored = false;
let matchedRule;
this._rules.forEach((rule) => {
const { negative } = rule;
if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
return;
}
const matched = rule[mode].test(path2);
if (!matched) {
return;
}
ignored = !negative;
unignored = negative;
matchedRule = negative ? UNDEFINED : rule;
});
const ret = {
ignored,
unignored
};
if (matchedRule) {
ret.rule = matchedRule;
}
return ret;
}
}
var throwError = (message, Ctor) => {
throw new Ctor(message);
};
var checkPath = (path2, originalPath, doThrow) => {
if (!isString(path2)) {
return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
}
if (!path2) {
return doThrow(`path must not be empty`, TypeError);
}
if (checkPath.isNotRelative(path2)) {
const r = "`path.relative()`d";
return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError);
}
return true;
};
var isNotRelative = (path2) => REGEX_TEST_INVALID_PATH.test(path2);
checkPath.isNotRelative = isNotRelative;
checkPath.convert = (p) => p;
class Ignore {
constructor({
ignorecase = true,
ignoreCase = ignorecase,
allowRelativePaths = false
} = {}) {
define2(this, KEY_IGNORE, true);
this._rules = new RuleManager(ignoreCase);
this._strictPathCheck = !allowRelativePaths;
this._initCache();
}
_initCache() {
this._ignoreCache = Object.create(null);
this._testCache = Object.create(null);
}
add(pattern) {
if (this._rules.add(pattern)) {
this._initCache();
}
return this;
}
addPattern(pattern) {
return this.add(pattern);
}
_test(originalPath, cache, checkUnignored, slices) {
const path2 = originalPath && checkPath.convert(originalPath);
checkPath(path2, originalPath, this._strictPathCheck ? throwError : RETURN_FALSE);
return this._t(path2, cache, checkUnignored, slices);
}
checkIgnore(path2) {
if (!REGEX_TEST_TRAILING_SLASH.test(path2)) {
return this.test(path2);
}
const slices = path2.split(SLASH).filter(Boolean);
slices.pop();
if (slices.length) {
const parent = this._t(slices.join(SLASH) + SLASH, this._testCache, true, slices);
if (parent.ignored) {
return parent;
}
}
return this._rules.test(path2, false, MODE_CHECK_IGNORE);
}
_t(path2, cache, checkUnignored, slices) {
if (path2 in cache) {
return cache[path2];
}
if (!slices) {
slices = path2.split(SLASH).filter(Boolean);
}
slices.pop();
if (!slices.length) {
return cache[path2] = this._rules.test(path2, checkUnignored, MODE_IGNORE);
}
const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
return cache[path2] = parent.ignored ? parent : this._rules.test(path2, checkUnignored, MODE_IGNORE);
}
ignores(path2) {
return this._test(path2, this._ignoreCache, false).ignored;
}
createFilter() {
return (path2) => !this.ignores(path2);
}
filter(paths) {
return makeArray(paths).filter(this.createFilter());
}
test(path2) {
return this._test(path2, this._testCache, true);
}
}
var factory = (options) => new Ignore(options);
var isPathValid = (path2) => checkPath(path2 && checkPath.convert(path2), path2, RETURN_FALSE);
var setupWindows = () => {
const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
checkPath.convert = makePosix;
const REGEX_TEST_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
checkPath.isNotRelative = (path2) => REGEX_TEST_WINDOWS_PATH_ABSOLUTE.test(path2) || isNotRelative(path2);
};
if (typeof process !== "undefined" && process.platform === "win32") {
setupWindows();
}
module.exports = factory;
factory.default = factory;
module.exports.isPathValid = isPathValid;
define2(module.exports, Symbol.for("setupWindows"), setupWindows);
});
// node_modules/.pnpm/marked@17.0.5/node_modules/marked/lib/marked.esm.js
function M() {
return { async: false, breaks: false, extensions: null, gfm: true, hooks: null, pedantic: false, renderer: null, silent: false, tokenizer: null, walkTokens: null };
}
function G(u) {
T = u;
}
function k(u, e = "") {
let t = typeof u == "string" ? u : u.source, n = { replace: (r, i) => {
let s = typeof i == "string" ? i : i.source;
return s = s.replace(m.caret, "$1"), t = t.replace(r, s), n;
}, getRegex: () => new RegExp(t, e) };
return n;
}
function O(u, e) {
if (e) {
if (m.escapeTest.test(u))
return u.replace(m.escapeReplace, ke);
} else if (m.escapeTestNoEncode.test(u))
return u.replace(m.escapeReplaceNoEncode, ke);
return u;
}
function J(u) {
try {
u = encodeURI(u).replace(m.percentDecode, "%");
} catch {
return null;
}
return u;
}
function V(u, e) {
let t = u.replace(m.findPipe, (i, s, a) => {
let o = false, l = s;
for (;--l >= 0 && a[l] === "\\"; )
o = !o;
return o ? "|" : " |";
}), n = t.split(m.splitPipe), r = 0;
if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e)
if (n.length > e)
n.splice(e);
else
for (;n.length < e; )
n.push("");
for (;r < n.length; r++)
n[r] = n[r].trim().replace(m.slashPipe, "|");
return n;
}
function I(u, e, t) {
let n = u.length;
if (n === 0)
return "";
let r = 0;
for (;r < n; ) {
let i = u.charAt(n - r - 1);
if (i === e && !t)
r++;
else if (i !== e && t)
r++;
else
break;
}
return u.slice(0, n - r);
}
function de(u, e) {
if (u.indexOf(e[1]) === -1)
return -1;
let t = 0;
for (let n = 0;n < u.length; n++)
if (u[n] === "\\")
n++;
else if (u[n] === e[0])
t++;
else if (u[n] === e[1] && (t--, t < 0))
return n;
return t > 0 ? -2 : -1;
}
function ge(u, e = 0) {
let t = e, n = "";
for (let r of u)
if (r === "\t") {
let i = 4 - t % 4;
n += " ".repeat(i), t += i;
} else
n += r, t++;
return n;
}
function fe(u, e, t, n, r) {
let i = e.href, s = e.title || null, a = u[1].replace(r.other.outputLinkReplace, "$1");
n.state.inLink = true;
let o = { type: u[0].charAt(0) === "!" ? "image" : "link", raw: t, href: i, title: s, text: a, tokens: n.inlineTokens(a) };
return n.state.inLink = false, o;
}
function nt(u, e, t) {
let n = u.match(t.other.indentCodeCompensation);
if (n === null)
return e;
let r = n[1];
return e.split(`
`).map((i) => {
let s = i.match(t.other.beginningSpace);
if (s === null)
return i;
let [a] = s;
return a.length >= r.length ? i.slice(r.length) : i;
}).join(`
`);
}
function g(u3, e) {
return L.parse(u3, e);
}
var T, _, be, m, Re, Te, Oe, C, we, Q, se, ie, ye, j, Pe, F, Se, $e, v = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", U, _e, oe, Le, K, ne, Me, ze, Ee, Ie, ae, Ae, z, H, W, Ce, le, Be, De, qe, ue, ve, He, pe = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Ze, Ge, Ne, Qe, je = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", Fe, Ue, Ke, We, Xe, q, Je, ce, he, Ve, re, X, Ye, N, et, B, E, tt, ke = (u) => tt[u], w = class {
options;
rules;
lexer;
constructor(e) {
this.options = e || T;
}
space(e) {
let t = this.rules.block.newline.exec(e);
if (t && t[0].length > 0)
return { type: "space", raw: t[0] };
}
code(e) {
let t = this.rules.block.code.exec(e);
if (t) {
let n = t[0].replace(this.rules.other.codeRemoveIndent, "");
return { type: "code", raw: t[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : I(n, `
`) };
}
}
fences(e) {
let t = this.rules.block.fences.exec(e);
if (t) {
let n = t[0], r = nt(n, t[3] || "", this.rules);
return { type: "code", raw: n, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: r };
}
}
heading(e) {
let t = this.rules.block.heading.exec(e);
if (t) {
let n = t[2].trim();
if (this.rules.other.endingHash.test(n)) {
let r = I(n, "#");
(this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());
}
return { type: "heading", raw: t[0], depth: t[1].length, text: n, tokens: this.lexer.inline(n) };
}
}
hr(e) {
let t = this.rules.block.hr.exec(e);
if (t)
return { type: "hr", raw: I(t[0], `
`) };
}
blockquote(e) {
let t = this.rules.block.blockquote.exec(e);
if (t) {
let n = I(t[0], `
`).split(`
`), r = "", i = "", s = [];
for (;n.length > 0; ) {
let a = false, o = [], l;
for (l = 0;l < n.length; l++)
if (this.rules.other.blockquoteStart.test(n[l]))
o.push(n[l]), a = true;
else if (!a)
o.push(n[l]);
else
break;
n = n.slice(l);
let p = o.join(`
`), c = p.replace(this.rules.other.blockquoteSetextReplace, `
$1`).replace(this.rules.other.blockquoteSetextReplace2, "");
r = r ? `${r}
${p}` : p, i = i ? `${i}
${c}` : c;
let d = this.lexer.state.top;
if (this.lexer.state.top = true, this.lexer.blockTokens(c, s, true), this.lexer.state.top = d, n.length === 0)
break;
let h = s.at(-1);
if (h?.type === "code")
break;
if (h?.type === "blockquote") {
let R = h, f = R.raw + `
` + n.join(`
`), S = this.blockquote(f);
s[s.length - 1] = S, r = r.substring(0, r.length - R.raw.length) + S.raw, i = i.substring(0, i.length - R.text.length) + S.text;
break;
} else if (h?.type === "list") {
let R = h, f = R.raw + `
` + n.join(`
`), S = this.list(f);
s[s.length - 1] = S, r = r.substring(0, r.length - h.raw.length) + S.raw, i = i.substring(0, i.length - R.raw.length) + S.raw, n = f.substring(s.at(-1).raw.length).split(`
`);
continue;
}
}
return { type: "blockquote", raw: r, tokens: s, text: i };
}
}
list(e) {
let t = this.rules.block.list.exec(e);
if (t) {
let n = t[1].trim(), r = n.length > 1, i = { type: "list", raw: "", ordered: r, start: r ? +n.slice(0, -1) : "", loose: false, items: [] };
n = r ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = r ? n : "[*+-]");
let s = this.rules.other.listItemRegex(n), a = false;
for (;e; ) {
let l = false, p = "", c = "";
if (!(t = s.exec(e)) || this.rules.block.hr.test(e))
break;
p = t[0], e = e.substring(p.length);
let d = ge(t[2].split(`
`, 1)[0], t[1].length), h = e.split(`
`, 1)[0], R = !d.trim(), f = 0;
if (this.options.pedantic ? (f = 2, c = d.trimStart()) : R ? f = t[1].length + 1 : (f = d.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, c = d.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(h) && (p += h + `
`, e = e.substring(h.length + 1), l = true), !l) {
let S = this.rules.other.nextBulletRegex(f), Y = this.rules.other.hrRegex(f), ee = this.rules.other.fencesBeginRegex(f), te = this.rules.other.headingBeginRegex(f), me = this.rules.other.htmlBeginRegex(f), xe = this.rules.other.blockquoteBeginRegex(f);
for (;e; ) {
let Z = e.split(`
`, 1)[0], A;
if (h = Z, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A = h) : A = h.replace(this.rules.other.tabCharGlobal, " "), ee.test(h) || te.test(h) || me.test(h) || xe.test(h) || S.test(h) || Y.test(h))
break;
if (A.search(this.rules.other.nonSpaceChar) >= f || !h.trim())
c += `
` + A.slice(f);
else {
if (R || d.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || ee.test(d) || te.test(d) || Y.test(d))
break;
c += `
` + h;
}
R = !h.trim(), p += Z + `
`, e = e.substring(Z.length + 1), d = A.slice(f);
}
}
i.loose || (a ? i.loose = true : this.rules.other.doubleBlankLine.test(p) && (a = true)), i.items.push({ type: "list_item", raw: p, task: !!this.options.gfm && this.rules.other.listIsTask.test(c), loose: false, text: c, tokens: [] }), i.raw += p;
}
let o = i.items.at(-1);
if (o)
o.raw = o.raw.trimEnd(), o.text = o.text.trimEnd();
else
return;
i.raw = i.raw.trimEnd();
for (let l of i.items) {
if (this.lexer.state.top = false, l.tokens = this.lexer.blockTokens(l.text, []), l.task) {
if (l.text = l.text.replace(this.rules.other.listReplaceTask, ""), l.tokens[0]?.type === "text" || l.tokens[0]?.type === "paragraph") {
l.tokens[0].raw = l.tokens[0].raw.replace(this.rules.other.listReplaceTask, ""), l.tokens[0].text = l.tokens[0].text.replace(this.rules.other.listReplaceTask, "");
for (let c = this.lexer.inlineQueue.length - 1;c >= 0; c--)
if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) {
this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, "");
break;
}
}
let p = this.rules.other.listTaskCheckbox.exec(l.raw);
if (p) {
let c = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" };
l.checked = c.checked, i.loose ? l.tokens[0] && ["paragraph", "text"].includes(l.tokens[0].type) && "tokens" in l.tokens[0] && l.tokens[0].tokens ? (l.tokens[0].raw = c.raw + l.tokens[0].raw, l.tokens[0].text = c.raw + l.tokens[0].text, l.tokens[0].tokens.unshift(c)) : l.tokens.unshift({ type: "paragraph", raw: c.raw, text: c.raw, tokens: [c] }) : l.tokens.unshift(c);
}
}
if (!i.loose) {
let p = l.tokens.filter((d) => d.type === "space"), c = p.length > 0 && p.some((d) => this.rules.other.anyLine.test(d.raw));
i.loose = c;
}
}
if (i.loose)
for (let l of i.items) {
l.loose = true;
for (let p of l.tokens)
p.type === "text" && (p.type = "paragraph");
}
return i;
}
}
html(e) {
let t = this.rules.block.html.exec(e);
if (t)
return { type: "html", block: true, raw: t[0], pre: t[1] === "pre" || t[1] === "script" || t[1] === "style", text: t[0] };
}
def(e) {
let t = this.rules.block.def.exec(e);
if (t) {
let n = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), r = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", i = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3];
return { type: "def", tag: n, raw: t[0], href: r, title: i };
}
}
table(e) {
let t = this.rules.block.table.exec(e);
if (!t || !this.rules.other.tableDelimiter.test(t[2]))
return;
let n = V(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(`
`) : [], s = { type: "table", raw: t[0], header: [], align: [], rows: [] };
if (n.length === r.length) {
for (let a of r)
this.rules.other.tableAlignRight.test(a) ? s.align.push("right") : this.rules.other.tableAlignCenter.test(a) ? s.align.push("center") : this.rules.other.tableAlignLeft.test(a) ? s.align.push("left") : s.align.push(null);
for (let a = 0;a < n.length; a++)
s.header.push({ text: n[a], tokens: this.lexer.inline(n[a]), header: true, align: s.align[a] });
for (let a of i)
s.rows.push(V(a, s.header.length).map((o, l) => ({ text: o, tokens: this.lexer.inline(o), header: false, align: s.align[l] })));
return s;
}
}
lheading(e) {
let t = this.rules.block.lheading.exec(e);
if (t) {
let n = t[1].trim();
return { type: "heading", raw: t[0], depth: t[2].charAt(0) === "=" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };
}
}
paragraph(e) {
let t = this.rules.block.paragraph.exec(e);
if (t) {
let n = t[1].charAt(t[1].length - 1) === `
` ? t[1].slice(0, -1) : t[1];
return { type: "paragraph", raw: t[0], text: n, tokens: this.lexer.inline(n) };
}
}
text(e) {
let t = this.rules.block.text.exec(e);
if (t)
return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) };
}
escape(e) {
let t = this.rules.inline.escape.exec(e);
if (t)
return { type: "escape", raw: t[0], text: t[1] };
}
tag(e) {
let t = this.rules.inline.tag.exec(e);
if (t)
return !this.lexer.state.inLink && this.rules.other.startATag.test(t[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t[0]) && (this.lexer.state.inRawBlock = false), { type: "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: false, text: t[0] };
}
link(e) {
let t = this.rules.inline.link.exec(e);
if (t) {
let n = t[2].trim();
if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {
if (!this.rules.other.endAngleBracket.test(n))
return;
let s = I(n.slice(0, -1), "\\");
if ((n.length - s.length) % 2 === 0)
return;
} else {
let s = de(t[2], "()");
if (s === -2)
return;
if (s > -1) {
let o = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + s;
t[2] = t[2].substring(0, s), t[0] = t[0].substring(0, o).trim(), t[3] = "";
}
}
let r = t[2], i = "";
if (this.options.pedantic) {
let s = this.rules.other.pedanticHrefTitle.exec(r);
s && (r = s[1], i = s[3]);
} else
i = t[3] ? t[3].slice(1, -1) : "";
return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), fe(t, { href: r && r.replace(this.rules.inline.anyPunctuation, "$1"), title: i && i.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer, this.rules);
}
}
reflink(e, t) {
let n;
if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) {
let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), i = t[r.toLowerCase()];
if (!i) {
let s = n[0].charAt(0);
return { type: "text", raw: s, text: s };
}
return fe(n, i, n[0], this.lexer, this.rules);
}
}
emStrong(e, t, n = "") {
let r = this.rules.inline.emStrongLDelim.exec(e);
if (!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric))
return;
if (!(r[1] || r[3] || "") || !n || this.rules.inline.punctuation.exec(n)) {
let s = [...r[0]].length - 1, a, o, l = s, p = 0, c = r[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
for (c.lastIndex = 0, t = t.slice(-1 * e.length + s);(r = c.exec(t)) != null; ) {
if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a)
continue;
if (o = [...a].length, r[3] || r[4]) {
l += o;
continue;
} else if ((r[5] || r[6]) && s % 3 && !((s + o) % 3)) {
p += o;
continue;
}
if (l -= o, l > 0)
continue;
o = Math.min(o, o + l + p);
let d = [...r[0]][0].length, h = e.slice(0, s + r.index + d + o);
if (Math.min(s, o) % 2) {
let f = h.slice(1, -1);
return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };
}
let R = h.slice(2, -2);
return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) };
}
}
}
codespan(e) {
let t = this.rules.inline.code.exec(e);
if (t) {
let n = t[2].replace(this.rules.other.newLineCharGlobal, " "), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);
return r && i && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t[0], text: n };
}
}
br(e) {
let t = this.rules.inline.br.exec(e);
if (t)
return { type: "br", raw: t[0] };
}
del(e, t, n = "") {
let r = this.rules.inline.delLDelim.exec(e);
if (!r)
return;
if (!(r[1] || "") || !n || this.rules.inline.punctuation.exec(n)) {
let s = [...r[0]].length - 1, a, o, l = s, p = this.rules.inline.delRDelim;
for (p.lastIndex = 0, t = t.slice(-1 * e.length + s);(r = p.exec(t)) != null; ) {
if (a = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !a || (o = [...a].length, o !== s))
continue;
if (r[3] || r[4]) {
l += o;
continue;
}
if (l -= o, l > 0)
continue;
o = Math.min(o, o + l);
let c = [...r[0]][0].length, d = e.slice(0, s + r.index + c + o), h = d.slice(s, -s);
return { type: "del", raw: d, text: h, tokens: this.lexer.inlineTokens(h) };
}
}
}
autolink(e) {
let t = this.rules.inline.autolink.exec(e);
if (t) {
let n, r;
return t[2] === "@" ? (n = t[1], r = "mailto:" + n) : (n = t[1], r = n), { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
}
}
url(e) {
let t;
if (t = this.rules.inline.url.exec(e)) {
let n, r;
if (t[2] === "@")
n = t[0], r = "mailto:" + n;
else {
let i;
do
i = t[0], t[0] = this.rules.inline._backpedal.exec(t[0])?.[0] ?? "";
while (i !== t[0]);
n = t[0], t[1] === "www." ? r = "http://" + t[0] : r = t[0];
}
return { type: "link", raw: t[0], text: n, href: r, tokens: [{ type: "text", raw: n, text: n }] };
}
}
inlineText(e) {
let t = this.rules.inline.text.exec(e);
if (t) {
let n = this.lexer.state.inRawBlock;
return { type: "text", raw: t[0], text: t[0], escaped: n };
}
}
}, x = class u {
tokens;
options;
state;
inlineQueue;
tokenizer;
constructor(e) {
this.tokens = [], this.tokens.links = Object.create(null), this.options = e || T, this.options.tokenizer = this.options.tokenizer || new w, this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true };
let t = { other: m, block: B.normal, inline: E.normal };
this.options.pedantic ? (t.block = B.pedantic, t.inline = E.pedantic) : this.options.gfm && (t.block = B.gfm, this.options.breaks ? t.inline = E.breaks : t.inline = E.gfm), this.tokenizer.rules = t;
}
static get rules() {
return { block: B, inline: E };
}
static lex(e, t) {
return new u(t).lex(e);
}
static lexInline(e, t) {
return new u(t).inlineTokens(e);
}
lex(e) {
e = e.replace(m.carriageReturn, `
`), this.blockTokens(e, this.tokens);
for (let t = 0;t < this.inlineQueue.length; t++) {
let n = this.inlineQueue[t];
this.inlineTokens(n.src, n.tokens);
}
return this.inlineQueue = [], this.tokens;
}
blockTokens(e, t = [], n = false) {
for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(m.tabCharGlobal, " ").replace(m.spaceLine, ""));e; ) {
let r;
if (this.options.extensions?.block?.some((s) => (r = s.call({ lexer: this }, e, t)) ? (e = e.substring(r.raw.length), t.push(r), true) : false))
continue;
if (r = this.tokenizer.space(e)) {
e = e.substring(r.raw.length);
let s = t.at(-1);
r.raw.length === 1 && s !== undefined ? s.raw += `
` : t.push(r);
continue;
}
if (r = this.tokenizer.code(e)) {
e = e.substring(r.raw.length);
let s = t.at(-1);
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
`) ? "" : `
`) + r.raw, s.text += `
` + r.text, this.inlineQueue.at(-1).src = s.text) : t.push(r);
continue;
}
if (r = this.tokenizer.fences(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.heading(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.hr(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.blockquote(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.list(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.html(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.def(e)) {
e = e.substring(r.raw.length);
let s = t.at(-1);
s?.type === "paragraph" || s?.type === "text" ? (s.raw += (s.raw.endsWith(`
`) ? "" : `
`) + r.raw, s.text += `
` + r.raw, this.inlineQueue.at(-1).src = s.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t.push(r));
continue;
}
if (r = this.tokenizer.table(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
if (r = this.tokenizer.lheading(e)) {
e = e.substring(r.raw.length), t.push(r);
continue;
}
let i = e;
if (this.options.extensions?.startBlock) {
let s = 1 / 0, a = e.slice(1), o;
this.options.extensions.startBlock.forEach((l) => {
o = l.call({ lexer: this }, a), typeof o == "number" && o >= 0 && (s = Math.min(s, o));
}), s < 1 / 0 && s >= 0 && (i = e.substring(0, s + 1));
}
if (this.state.top && (r = this.tokenizer.paragraph(i))) {
let s = t.at(-1);
n && s?.type === "paragraph" ? (s.raw += (s.raw.endsWith(`
`) ? "" : `
`) + r.raw, s.text += `
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r), n = i.length !== e.length, e = e.substring(r.raw.length);
continue;
}
if (r = this.tokenizer.text(e)) {
e = e.substring(r.raw.length);
let s = t.at(-1);
s?.type === "text" ? (s.raw += (s.raw.endsWith(`
`) ? "" : `
`) + r.raw, s.text += `
` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = s.text) : t.push(r);
continue;
}
if (e) {
let s = "Infinite loop on byte: " + e.charCodeAt(0);
if (this.options.silent) {
console.error(s);
break;
} else
throw new Error(s);
}
}
return this.state.top = true, t;
}
inline(e, t = []) {
return this.inlineQueue.push({ src: e, tokens: t }), t;
}
inlineTokens(e, t = []) {
this.tokenizer.lexer = this;
let n = e, r = null;
if (this.tokens.links) {
let o = Object.keys(this.tokens.links);
if (o.length > 0)
for (;(r = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; )
o.includes(r[0].slice(r[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, r.index) + "[" + "a".repeat(r[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
}
for (;(r = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; )
n = n.slice(0, r.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
let i;
for (;(r = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; )
i = r[2] ? r[2].length : 0, n = n.slice(0, r.index + i) + "[" + "a".repeat(r[0].length - i - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n;
let s = false, a = "";
for (;e; ) {
s || (a = ""), s = false;
let o;
if (this.options.extensions?.inline?.some((p) => (o = p.call({ lexer: this }, e, t)) ? (e = e.substring(o.raw.length), t.push(o), true) : false))
continue;
if (o = this.tokenizer.escape(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.tag(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.link(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.reflink(e, this.tokens.links)) {
e = e.substring(o.raw.length);
let p = t.at(-1);
o.type === "text" && p?.type === "text" ? (p.raw += o.raw, p.text += o.text) : t.push(o);
continue;
}
if (o = this.tokenizer.emStrong(e, n, a)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.codespan(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.br(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.del(e, n, a)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (o = this.tokenizer.autolink(e)) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
if (!this.state.inLink && (o = this.tokenizer.url(e))) {
e = e.substring(o.raw.length), t.push(o);
continue;
}
let l = e;
if (this.options.extensions?.startInline) {
let p = 1 / 0, c = e.slice(1), d;
this.options.extensions.startInline.forEach((h) => {
d = h.call({ lexer: this }, c), typeof d == "number" && d >= 0 && (p = Math.min(p, d));
}), p < 1 / 0 && p >= 0 && (l = e.substring(0, p + 1));
}
if (o = this.tokenizer.inlineText(l)) {
e = e.substring(o.raw.length), o.raw.slice(-1) !== "_" && (a = o.raw.slice(-1)), s = true;
let p = t.at(-1);
p?.type === "text" ? (p.raw += o.raw, p.text += o.text) : t.push(o);
continue;
}
if (e) {
let p = "Infinite loop on byte: " + e.charCodeAt(0);
if (this.options.silent) {
console.error(p);
break;
} else
throw new Error(p);
}
}
return t;
}
}, y = class {
options;
parser;
constructor(e) {
this.options = e || T;
}
space(e) {
return "";
}
code({ text: e, lang: t, escaped: n }) {
let r = (t || "").match(m.notSpaceStart)?.[0], i = e.replace(m.endingNewline, "") + `
`;
return r ? '
' + (n ? i : O(i, true)) + `
` : "" + (n ? i : O(i, true)) + `
`;
}
blockquote({ tokens: e }) {
return `
${this.parser.parse(e)}
`;
}
html({ text: e }) {
return e;
}
def(e) {
return "";
}
heading({ tokens: e, depth: t }) {
return `${this.parser.parseInline(e)}
`;
}
hr(e) {
return `
`;
}
list(e) {
let { ordered: t, start: n } = e, r = "";
for (let a = 0;a < e.items.length; a++) {
let o = e.items[a];
r += this.listitem(o);
}
let i = t ? "ol" : "ul", s = t && n !== 1 ? ' start="' + n + '"' : "";
return "<" + i + s + `>
` + r + "" + i + `>
`;
}
listitem(e) {
return `${this.parser.parse(e.tokens)}
`;
}
checkbox({ checked: e }) {
return " ';
}
paragraph({ tokens: e }) {
return `${this.parser.parseInline(e)}
`;
}
table(e) {
let t = "", n = "";
for (let i = 0;i < e.header.length; i++)
n += this.tablecell(e.header[i]);
t += this.tablerow({ text: n });
let r = "";
for (let i = 0;i < e.rows.length; i++) {
let s = e.rows[i];
n = "";
for (let a = 0;a < s.length; a++)
n += this.tablecell(s[a]);
r += this.tablerow({ text: n });
}
return r && (r = `${r} `), `
`;
}
tablerow({ text: e }) {
return `
${e}
`;
}
tablecell(e) {
let t = this.parser.parseInline(e.tokens), n = e.header ? "th" : "td";
return (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + t + `${n}>
`;
}
strong({ tokens: e }) {
return `${this.parser.parseInline(e)} `;
}
em({ tokens: e }) {
return `${this.parser.parseInline(e)} `;
}
codespan({ text: e }) {
return `${O(e, true)}`;
}
br(e) {
return " ";
}
del({ tokens: e }) {
return `${this.parser.parseInline(e)}`;
}
link({ href: e, title: t, tokens: n }) {
let r = this.parser.parseInline(n), i = J(e);
if (i === null)
return r;
e = i;
let s = '" + r + " ", s;
}
image({ href: e, title: t, text: n, tokens: r }) {
r && (n = this.parser.parseInline(r, this.parser.textRenderer));
let i = J(e);
if (i === null)
return O(n);
e = i;
let s = ` ", s;
}
text(e) {
return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : ("escaped" in e) && e.escaped ? e.text : O(e.text);
}
}, $ = class {
strong({ text: e }) {
return e;
}
em({ text: e }) {
return e;
}
codespan({ text: e }) {
return e;
}
del({ text: e }) {
return e;
}
html({ text: e }) {
return e;
}
text({ text: e }) {
return e;
}
link({ text: e }) {
return "" + e;
}
image({ text: e }) {
return "" + e;
}
br() {
return "";
}
checkbox({ raw: e }) {
return e;
}
}, b = class u2 {
options;
renderer;
textRenderer;
constructor(e) {
this.options = e || T, this.options.renderer = this.options.renderer || new y, this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new $;
}
static parse(e, t) {
return new u2(t).parse(e);
}
static parseInline(e, t) {
return new u2(t).parseInline(e);
}
parse(e) {
this.renderer.parser = this;
let t = "";
for (let n = 0;n < e.length; n++) {
let r = e[n];
if (this.options.extensions?.renderers?.[r.type]) {
let s = r, a = this.options.extensions.renderers[s.type].call({ parser: this }, s);
if (a !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(s.type)) {
t += a || "";
continue;
}
}
let i = r;
switch (i.type) {
case "space": {
t += this.renderer.space(i);
break;
}
case "hr": {
t += this.renderer.hr(i);
break;
}
case "heading": {
t += this.renderer.heading(i);
break;
}
case "code": {
t += this.renderer.code(i);
break;
}
case "table": {
t += this.renderer.table(i);
break;
}
case "blockquote": {
t += this.renderer.blockquote(i);
break;
}
case "list": {
t += this.renderer.list(i);
break;
}
case "checkbox": {
t += this.renderer.checkbox(i);
break;
}
case "html": {
t += this.renderer.html(i);
break;
}
case "def": {
t += this.renderer.def(i);
break;
}
case "paragraph": {
t += this.renderer.paragraph(i);
break;
}
case "text": {
t += this.renderer.text(i);
break;
}
default: {
let s = 'Token with "' + i.type + '" type was not found.';
if (this.options.silent)
return console.error(s), "";
throw new Error(s);
}
}
}
return t;
}
parseInline(e, t = this.renderer) {
this.renderer.parser = this;
let n = "";
for (let r = 0;r < e.length; r++) {
let i = e[r];
if (this.options.extensions?.renderers?.[i.type]) {
let a = this.options.extensions.renderers[i.type].call({ parser: this }, i);
if (a !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(i.type)) {
n += a || "";
continue;
}
}
let s = i;
switch (s.type) {
case "escape": {
n += t.text(s);
break;
}
case "html": {
n += t.html(s);
break;
}
case "link": {
n += t.link(s);
break;
}
case "image": {
n += t.image(s);
break;
}
case "checkbox": {
n += t.checkbox(s);
break;
}
case "strong": {
n += t.strong(s);
break;
}
case "em": {
n += t.em(s);
break;
}
case "codespan": {
n += t.codespan(s);
break;
}
case "br": {
n += t.br(s);
break;
}
case "del": {
n += t.del(s);
break;
}
case "text": {
n += t.text(s);
break;
}
default: {
let a = 'Token with "' + s.type + '" type was not found.';
if (this.options.silent)
return console.error(a), "";
throw new Error(a);
}
}
}
return n;
}
}, P, D = class {
defaults = M();
options = this.setOptions;
parse = this.parseMarkdown(true);
parseInline = this.parseMarkdown(false);
Parser = b;
Renderer = y;
TextRenderer = $;
Lexer = x;
Tokenizer = w;
Hooks = P;
constructor(...e) {
this.use(...e);
}
walkTokens(e, t) {
let n = [];
for (let r of e)
switch (n = n.concat(t.call(this, r)), r.type) {
case "table": {
let i = r;
for (let s of i.header)
n = n.concat(this.walkTokens(s.tokens, t));
for (let s of i.rows)
for (let a of s)
n = n.concat(this.walkTokens(a.tokens, t));
break;
}
case "list": {
let i = r;
n = n.concat(this.walkTokens(i.items, t));
break;
}
default: {
let i = r;
this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((s) => {
let a = i[s].flat(1 / 0);
n = n.concat(this.walkTokens(a, t));
}) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, t)));
}
}
return n;
}
use(...e) {
let t = this.defaults.extensions || { renderers: {}, childTokens: {} };
return e.forEach((n) => {
let r = { ...n };
if (r.async = this.defaults.async || r.async || false, n.extensions && (n.extensions.forEach((i) => {
if (!i.name)
throw new Error("extension name required");
if ("renderer" in i) {
let s = t.renderers[i.name];
s ? t.renderers[i.name] = function(...a) {
let o = i.renderer.apply(this, a);
return o === false && (o = s.apply(this, a)), o;
} : t.renderers[i.name] = i.renderer;
}
if ("tokenizer" in i) {
if (!i.level || i.level !== "block" && i.level !== "inline")
throw new Error("extension level must be 'block' or 'inline'");
let s = t[i.level];
s ? s.unshift(i.tokenizer) : t[i.level] = [i.tokenizer], i.start && (i.level === "block" ? t.startBlock ? t.startBlock.push(i.start) : t.startBlock = [i.start] : i.level === "inline" && (t.startInline ? t.startInline.push(i.start) : t.startInline = [i.start]));
}
"childTokens" in i && i.childTokens && (t.childTokens[i.name] = i.childTokens);
}), r.extensions = t), n.renderer) {
let i = this.defaults.renderer || new y(this.defaults);
for (let s in n.renderer) {
if (!(s in i))
throw new Error(`renderer '${s}' does not exist`);
if (["options", "parser"].includes(s))
continue;
let a = s, o = n.renderer[a], l = i[a];
i[a] = (...p) => {
let c = o.apply(i, p);
return c === false && (c = l.apply(i, p)), c || "";
};
}
r.renderer = i;
}
if (n.tokenizer) {
let i = this.defaults.tokenizer || new w(this.defaults);
for (let s in n.tokenizer) {
if (!(s in i))
throw new Error(`tokenizer '${s}' does not exist`);
if (["options", "rules", "lexer"].includes(s))
continue;
let a = s, o = n.tokenizer[a], l = i[a];
i[a] = (...p) => {
let c = o.apply(i, p);
return c === false && (c = l.apply(i, p)), c;
};
}
r.tokenizer = i;
}
if (n.hooks) {
let i = this.defaults.hooks || new P;
for (let s in n.hooks) {
if (!(s in i))
throw new Error(`hook '${s}' does not exist`);
if (["options", "block"].includes(s))
continue;
let a = s, o = n.hooks[a], l = i[a];
P.passThroughHooks.has(s) ? i[a] = (p) => {
if (this.defaults.async && P.passThroughHooksRespectAsync.has(s))
return (async () => {
let d = await o.call(i, p);
return l.call(i, d);
})();
let c = o.call(i, p);
return l.call(i, c);
} : i[a] = (...p) => {
if (this.defaults.async)
return (async () => {
let d = await o.apply(i, p);
return d === false && (d = await l.apply(i, p)), d;
})();
let c = o.apply(i, p);
return c === false && (c = l.apply(i, p)), c;
};
}
r.hooks = i;
}
if (n.walkTokens) {
let i = this.defaults.walkTokens, s = n.walkTokens;
r.walkTokens = function(a) {
let o = [];
return o.push(s.call(this, a)), i && (o = o.concat(i.call(this, a))), o;
};
}
this.defaults = { ...this.defaults, ...r };
}), this;
}
setOptions(e) {
return this.defaults = { ...this.defaults, ...e }, this;
}
lexer(e, t) {
return x.lex(e, t ?? this.defaults);
}
parser(e, t) {
return b.parse(e, t ?? this.defaults);
}
parseMarkdown(e) {
return (n, r) => {
let i = { ...r }, s = { ...this.defaults, ...i }, a = this.onError(!!s.silent, !!s.async);
if (this.defaults.async === true && i.async === false)
return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
if (typeof n > "u" || n === null)
return a(new Error("marked(): input parameter is undefined or null"));
if (typeof n != "string")
return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected"));
if (s.hooks && (s.hooks.options = s, s.hooks.block = e), s.async)
return (async () => {
let o = s.hooks ? await s.hooks.preprocess(n) : n, p = await (s.hooks ? await s.hooks.provideLexer() : e ? x.lex : x.lexInline)(o, s), c = s.hooks ? await s.hooks.processAllTokens(p) : p;
s.walkTokens && await Promise.all(this.walkTokens(c, s.walkTokens));
let h = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(c, s);
return s.hooks ? await s.hooks.postprocess(h) : h;
})().catch(a);
try {
s.hooks && (n = s.hooks.preprocess(n));
let l = (s.hooks ? s.hooks.provideLexer() : e ? x.lex : x.lexInline)(n, s);
s.hooks && (l = s.hooks.processAllTokens(l)), s.walkTokens && this.walkTokens(l, s.walkTokens);
let c = (s.hooks ? s.hooks.provideParser() : e ? b.parse : b.parseInline)(l, s);
return s.hooks && (c = s.hooks.postprocess(c)), c;
} catch (o) {
return a(o);
}
};
}
onError(e, t) {
return (n) => {
if (n.message += `
Please report this to https://github.com/markedjs/marked.`, e) {
let r = "An error occurred:
" + O(n.message + "", true) + " ";
return t ? Promise.resolve(r) : r;
}
if (t)
return Promise.reject(n);
throw n;
};
}
}, L, Qt, jt, Ft, Ut, Kt, Xt, Jt;
var init_marked_esm = __esm(() => {
T = M();
_ = { exec: () => null };
be = (() => {
try {
return !!new RegExp("(?<=1)(?/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (u) => new RegExp(`^( {0,3}${u})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}#`), htmlBeginRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}<(?:[a-z].*>|!--)`, "i"), blockquoteBeginRegex: (u) => new RegExp(`^ {0,${Math.min(3, u - 1)}}>`) };
Re = /^(?:[ \t]*(?:\n|$))+/;
Te = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
Oe = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
C = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
we = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
Q = / {0,3}(?:[*+-]|\d{1,9}[.)])/;
se = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
ie = k(se).replace(/bull/g, Q).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
ye = k(se).replace(/bull/g, Q).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
j = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
Pe = /^[^\n]+/;
F = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;
Se = k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", F).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
$e = k(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, Q).getRegex();
U = /|$))/;
_e = k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
oe = k(j).replace("hr", C).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
Le = k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", oe).getRegex();
K = { blockquote: Le, code: Te, def: Se, fences: Oe, heading: we, hr: C, html: _e, lheading: ie, list: $e, newline: Re, paragraph: oe, table: _, text: Pe };
ne = k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", C).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3}\t)[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
Me = { ...K, lheading: ye, table: ne, paragraph: k(j).replace("hr", C).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", ne).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
ze = { ...K, html: k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: _, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: k(j).replace("hr", C).replace("heading", ` *#{1,6} *[^
]`).replace("lheading", ie).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
Ee = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
Ie = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
ae = /^( {2,}|\\)\n(?!\s*$)/;
Ae = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k (?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", be ? "(?`+)[^`]+\k(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex();
ue = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/;
ve = k(ue, "u").replace(/punct/g, z).getRegex();
He = k(ue, "u").replace(/punct/g, le).getRegex();
Ze = k(pe, "gu").replace(/notPunctSpace/g, W).replace(/punctSpace/g, H).replace(/punct/g, z).getRegex();
Ge = k(pe, "gu").replace(/notPunctSpace/g, De).replace(/punctSpace/g, Be).replace(/punct/g, le).getRegex();
Ne = k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, W).replace(/punctSpace/g, H).replace(/punct/g, z).getRegex();
Qe = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, z).getRegex();
Fe = k(je, "gu").replace(/notPunctSpace/g, W).replace(/punctSpace/g, H).replace(/punct/g, z).getRegex();
Ue = k(/\\(punct)/, "gu").replace(/punct/g, z).getRegex();
Ke = k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
We = k(U).replace("(?:-->|$)", "-->").getRegex();
Xe = k("^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment", We).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/;
Je = k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
ce = k(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", F).getRegex();
he = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", F).getRegex();
Ve = k("reflink|nolink(?!\\()", "g").replace("reflink", ce).replace("nolink", he).getRegex();
re = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;
X = { _backpedal: _, anyPunctuation: Ue, autolink: Ke, blockSkip: qe, br: ae, code: Ie, del: _, delLDelim: _, delRDelim: _, emStrongLDelim: ve, emStrongRDelimAst: Ze, emStrongRDelimUnd: Ne, escape: Ee, link: Je, nolink: he, punctuation: Ce, reflink: ce, reflinkSearch: Ve, tag: Xe, text: Ae, url: _ };
Ye = { ...X, link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
N = { ...X, emStrongRDelimAst: Ge, emStrongLDelim: He, delLDelim: Qe, delRDelim: Fe, url: k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", re).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\": ">", '"': """, "'": "'" };
P = class {
options;
block;
constructor(e) {
this.options = e || T;
}
static passThroughHooks = new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]);
static passThroughHooksRespectAsync = new Set(["preprocess", "postprocess", "processAllTokens"]);
preprocess(e) {
return e;
}
postprocess(e) {
return e;
}
processAllTokens(e) {
return e;
}
emStrongMask(e) {
return e;
}
provideLexer() {
return this.block ? x.lex : x.lexInline;
}
provideParser() {
return this.block ? b.parse : b.parseInline;
}
};
L = new D;
g.options = g.setOptions = function(u3) {
return L.setOptions(u3), g.defaults = L.defaults, G(g.defaults), g;
};
g.getDefaults = M;
g.defaults = T;
g.use = function(...u3) {
return L.use(...u3), g.defaults = L.defaults, G(g.defaults), g;
};
g.walkTokens = function(u3, e) {
return L.walkTokens(u3, e);
};
g.parseInline = L.parseInline;
g.Parser = b;
g.parser = b.parse;
g.Renderer = y;
g.TextRenderer = $;
g.Lexer = x;
g.lexer = x.lex;
g.Tokenizer = w;
g.Hooks = P;
g.parse = g;
Qt = g.options;
jt = g.setOptions;
Ft = g.use;
Ut = g.walkTokens;
Kt = g.parseInline;
Xt = b.parse;
Jt = x.lex;
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/constants.js
var require_constants = __commonJS((exports, module) => {
var WIN_SLASH = "\\\\/";
var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
var DEFAULT_MAX_EXTGLOB_RECURSION = 0;
var DOT_LITERAL = "\\.";
var PLUS_LITERAL = "\\+";
var QMARK_LITERAL = "\\?";
var SLASH_LITERAL = "\\/";
var ONE_CHAR = "(?=.)";
var QMARK = "[^/]";
var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
var NO_DOT = `(?!${DOT_LITERAL})`;
var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
var STAR = `${QMARK}*?`;
var SEP = "/";
var POSIX_CHARS = {
DOT_LITERAL,
PLUS_LITERAL,
QMARK_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP
};
var WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: `[${WIN_SLASH}]`,
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
NO_DOT: `(?!${DOT_LITERAL})`,
NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
SEP: "\\"
};
var POSIX_REGEX_SOURCE = {
__proto__: null,
alnum: "a-zA-Z0-9",
alpha: "a-zA-Z",
ascii: "\\x00-\\x7F",
blank: " \\t",
cntrl: "\\x00-\\x1F\\x7F",
digit: "0-9",
graph: "\\x21-\\x7E",
lower: "a-z",
print: "\\x20-\\x7E ",
punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
space: " \\t\\r\\n\\v\\f",
upper: "A-Z",
word: "A-Za-z0-9_",
xdigit: "A-Fa-f0-9"
};
module.exports = {
DEFAULT_MAX_EXTGLOB_RECURSION,
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
REPLACEMENTS: {
__proto__: null,
"***": "*",
"**/**": "**",
"**/**/**": "**"
},
CHAR_0: 48,
CHAR_9: 57,
CHAR_UPPERCASE_A: 65,
CHAR_LOWERCASE_A: 97,
CHAR_UPPERCASE_Z: 90,
CHAR_LOWERCASE_Z: 122,
CHAR_LEFT_PARENTHESES: 40,
CHAR_RIGHT_PARENTHESES: 41,
CHAR_ASTERISK: 42,
CHAR_AMPERSAND: 38,
CHAR_AT: 64,
CHAR_BACKWARD_SLASH: 92,
CHAR_CARRIAGE_RETURN: 13,
CHAR_CIRCUMFLEX_ACCENT: 94,
CHAR_COLON: 58,
CHAR_COMMA: 44,
CHAR_DOT: 46,
CHAR_DOUBLE_QUOTE: 34,
CHAR_EQUAL: 61,
CHAR_EXCLAMATION_MARK: 33,
CHAR_FORM_FEED: 12,
CHAR_FORWARD_SLASH: 47,
CHAR_GRAVE_ACCENT: 96,
CHAR_HASH: 35,
CHAR_HYPHEN_MINUS: 45,
CHAR_LEFT_ANGLE_BRACKET: 60,
CHAR_LEFT_CURLY_BRACE: 123,
CHAR_LEFT_SQUARE_BRACKET: 91,
CHAR_LINE_FEED: 10,
CHAR_NO_BREAK_SPACE: 160,
CHAR_PERCENT: 37,
CHAR_PLUS: 43,
CHAR_QUESTION_MARK: 63,
CHAR_RIGHT_ANGLE_BRACKET: 62,
CHAR_RIGHT_CURLY_BRACE: 125,
CHAR_RIGHT_SQUARE_BRACKET: 93,
CHAR_SEMICOLON: 59,
CHAR_SINGLE_QUOTE: 39,
CHAR_SPACE: 32,
CHAR_TAB: 9,
CHAR_UNDERSCORE: 95,
CHAR_VERTICAL_LINE: 124,
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
extglobChars(chars) {
return {
"!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
"?": { type: "qmark", open: "(?:", close: ")?" },
"+": { type: "plus", open: "(?:", close: ")+" },
"*": { type: "star", open: "(?:", close: ")*" },
"@": { type: "at", open: "(?:", close: ")" }
};
},
globChars(win32) {
return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/utils.js
var require_utils = __commonJS((exports) => {
var {
REGEX_BACKSLASH,
REGEX_REMOVE_BACKSLASH,
REGEX_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_GLOBAL
} = require_constants();
exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
exports.isWindows = () => {
if (typeof navigator !== "undefined" && navigator.platform) {
const platform = navigator.platform.toLowerCase();
return platform === "win32" || platform === "windows";
}
if (typeof process !== "undefined" && process.platform) {
return process.platform === "win32";
}
return false;
};
exports.removeBackslashes = (str) => {
return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
return match === "\\" ? "" : match;
});
};
exports.escapeLast = (input, char, lastIdx) => {
const idx = input.lastIndexOf(char, lastIdx);
if (idx === -1)
return input;
if (input[idx - 1] === "\\")
return exports.escapeLast(input, char, idx - 1);
return `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports.removePrefix = (input, state = {}) => {
let output = input;
if (output.startsWith("./")) {
output = output.slice(2);
state.prefix = "./";
}
return output;
};
exports.wrapOutput = (input, state = {}, options = {}) => {
const prepend = options.contains ? "" : "^";
const append = options.contains ? "" : "$";
let output = `${prepend}(?:${input})${append}`;
if (state.negated === true) {
output = `(?:^(?!${output}).*$)`;
}
return output;
};
exports.basename = (path2, { windows } = {}) => {
const segs = path2.split(windows ? /[\\/]/ : "/");
const last = segs[segs.length - 1];
if (last === "") {
return segs[segs.length - 2];
}
return last;
};
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/scan.js
var require_scan = __commonJS((exports, module) => {
var utils = require_utils();
var {
CHAR_ASTERISK,
CHAR_AT,
CHAR_BACKWARD_SLASH,
CHAR_COMMA,
CHAR_DOT,
CHAR_EXCLAMATION_MARK,
CHAR_FORWARD_SLASH,
CHAR_LEFT_CURLY_BRACE,
CHAR_LEFT_PARENTHESES,
CHAR_LEFT_SQUARE_BRACKET,
CHAR_PLUS,
CHAR_QUESTION_MARK,
CHAR_RIGHT_CURLY_BRACE,
CHAR_RIGHT_PARENTHESES,
CHAR_RIGHT_SQUARE_BRACKET
} = require_constants();
var isPathSeparator = (code) => {
return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
};
var depth = (token) => {
if (token.isPrefix !== true) {
token.depth = token.isGlobstar ? Infinity : 1;
}
};
var scan = (input, options) => {
const opts = options || {};
const length = input.length - 1;
const scanToEnd = opts.parts === true || opts.scanToEnd === true;
const slashes = [];
const tokens = [];
const parts = [];
let str = input;
let index = -1;
let start = 0;
let lastIndex = 0;
let isBrace = false;
let isBracket = false;
let isGlob = false;
let isExtglob = false;
let isGlobstar = false;
let braceEscaped = false;
let backslashes = false;
let negated = false;
let negatedExtglob = false;
let finished = false;
let braces = 0;
let prev;
let code;
let token = { value: "", depth: 0, isGlob: false };
const eos = () => index >= length;
const peek = () => str.charCodeAt(index + 1);
const advance = () => {
prev = code;
return str.charCodeAt(++index);
};
while (index < length) {
code = advance();
let next;
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
if (code === CHAR_LEFT_CURLY_BRACE) {
braceEscaped = true;
}
continue;
}
if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
braces++;
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (code === CHAR_LEFT_CURLY_BRACE) {
braces++;
continue;
}
if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (braceEscaped !== true && code === CHAR_COMMA) {
isBrace = token.isBrace = true;
isGlob = token.isGlob = true;
finished = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_RIGHT_CURLY_BRACE) {
braces--;
if (braces === 0) {
braceEscaped = false;
isBrace = token.isBrace = true;
finished = true;
break;
}
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_FORWARD_SLASH) {
slashes.push(index);
tokens.push(token);
token = { value: "", depth: 0, isGlob: false };
if (finished === true)
continue;
if (prev === CHAR_DOT && index === start + 1) {
start += 2;
continue;
}
lastIndex = index + 1;
continue;
}
if (opts.noext !== true) {
const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
isExtglob = token.isExtglob = true;
finished = true;
if (code === CHAR_EXCLAMATION_MARK && index === start) {
negatedExtglob = true;
}
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
isGlob = token.isGlob = true;
finished = true;
break;
}
}
continue;
}
break;
}
}
if (code === CHAR_ASTERISK) {
if (prev === CHAR_ASTERISK)
isGlobstar = token.isGlobstar = true;
isGlob = token.isGlob = true;
finished = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_QUESTION_MARK) {
isGlob = token.isGlob = true;
finished = true;
if (scanToEnd === true) {
continue;
}
break;
}
if (code === CHAR_LEFT_SQUARE_BRACKET) {
while (eos() !== true && (next = advance())) {
if (next === CHAR_BACKWARD_SLASH) {
backslashes = token.backslashes = true;
advance();
continue;
}
if (next === CHAR_RIGHT_SQUARE_BRACKET) {
isBracket = token.isBracket = true;
isGlob = token.isGlob = true;
finished = true;
break;
}
}
if (scanToEnd === true) {
continue;
}
break;
}
if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
negated = token.negated = true;
start++;
continue;
}
if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
isGlob = token.isGlob = true;
if (scanToEnd === true) {
while (eos() !== true && (code = advance())) {
if (code === CHAR_LEFT_PARENTHESES) {
backslashes = token.backslashes = true;
code = advance();
continue;
}
if (code === CHAR_RIGHT_PARENTHESES) {
finished = true;
break;
}
}
continue;
}
break;
}
if (isGlob === true) {
finished = true;
if (scanToEnd === true) {
continue;
}
break;
}
}
if (opts.noext === true) {
isExtglob = false;
isGlob = false;
}
let base = str;
let prefix = "";
let glob = "";
if (start > 0) {
prefix = str.slice(0, start);
str = str.slice(start);
lastIndex -= start;
}
if (base && isGlob === true && lastIndex > 0) {
base = str.slice(0, lastIndex);
glob = str.slice(lastIndex);
} else if (isGlob === true) {
base = "";
glob = str;
} else {
base = str;
}
if (base && base !== "" && base !== "/" && base !== str) {
if (isPathSeparator(base.charCodeAt(base.length - 1))) {
base = base.slice(0, -1);
}
}
if (opts.unescape === true) {
if (glob)
glob = utils.removeBackslashes(glob);
if (base && backslashes === true) {
base = utils.removeBackslashes(base);
}
}
const state = {
prefix,
input,
start,
base,
glob,
isBrace,
isBracket,
isGlob,
isExtglob,
isGlobstar,
negated,
negatedExtglob
};
if (opts.tokens === true) {
state.maxDepth = 0;
if (!isPathSeparator(code)) {
tokens.push(token);
}
state.tokens = tokens;
}
if (opts.parts === true || opts.tokens === true) {
let prevIndex;
for (let idx = 0;idx < slashes.length; idx++) {
const n = prevIndex ? prevIndex + 1 : start;
const i = slashes[idx];
const value = input.slice(n, i);
if (opts.tokens) {
if (idx === 0 && start !== 0) {
tokens[idx].isPrefix = true;
tokens[idx].value = prefix;
} else {
tokens[idx].value = value;
}
depth(tokens[idx]);
state.maxDepth += tokens[idx].depth;
}
if (idx !== 0 || value !== "") {
parts.push(value);
}
prevIndex = i;
}
if (prevIndex && prevIndex + 1 < input.length) {
const value = input.slice(prevIndex + 1);
parts.push(value);
if (opts.tokens) {
tokens[tokens.length - 1].value = value;
depth(tokens[tokens.length - 1]);
state.maxDepth += tokens[tokens.length - 1].depth;
}
}
state.slashes = slashes;
state.parts = parts;
}
return state;
};
module.exports = scan;
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/parse.js
var require_parse = __commonJS((exports, module) => {
var constants = require_constants();
var utils = require_utils();
var {
MAX_LENGTH,
POSIX_REGEX_SOURCE,
REGEX_NON_SPECIAL_CHARS,
REGEX_SPECIAL_CHARS_BACKREF,
REPLACEMENTS
} = constants;
var expandRange = (args, options) => {
if (typeof options.expandRange === "function") {
return options.expandRange(...args, options);
}
args.sort();
const value = `[${args.join("-")}]`;
try {
new RegExp(value);
} catch (ex) {
return args.map((v2) => utils.escapeRegex(v2)).join("..");
}
return value;
};
var syntaxError = (type, char) => {
return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
};
var splitTopLevel = (input) => {
const parts = [];
let bracket = 0;
let paren = 0;
let quote = 0;
let value = "";
let escaped = false;
for (const ch of input) {
if (escaped === true) {
value += ch;
escaped = false;
continue;
}
if (ch === "\\") {
value += ch;
escaped = true;
continue;
}
if (ch === '"') {
quote = quote === 1 ? 0 : 1;
value += ch;
continue;
}
if (quote === 0) {
if (ch === "[") {
bracket++;
} else if (ch === "]" && bracket > 0) {
bracket--;
} else if (bracket === 0) {
if (ch === "(") {
paren++;
} else if (ch === ")" && paren > 0) {
paren--;
} else if (ch === "|" && paren === 0) {
parts.push(value);
value = "";
continue;
}
}
}
value += ch;
}
parts.push(value);
return parts;
};
var isPlainBranch = (branch) => {
let escaped = false;
for (const ch of branch) {
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (/[?*+@!()[\]{}]/.test(ch)) {
return false;
}
}
return true;
};
var normalizeSimpleBranch = (branch) => {
let value = branch.trim();
let changed = true;
while (changed === true) {
changed = false;
if (/^@\([^\\()[\]{}|]+\)$/.test(value)) {
value = value.slice(2, -1);
changed = true;
}
}
if (!isPlainBranch(value)) {
return;
}
return value.replace(/\\(.)/g, "$1");
};
var hasRepeatedCharPrefixOverlap = (branches) => {
const values = branches.map(normalizeSimpleBranch).filter(Boolean);
for (let i = 0;i < values.length; i++) {
for (let j2 = i + 1;j2 < values.length; j2++) {
const a = values[i];
const b2 = values[j2];
const char = a[0];
if (!char || a !== char.repeat(a.length) || b2 !== char.repeat(b2.length)) {
continue;
}
if (a === b2 || a.startsWith(b2) || b2.startsWith(a)) {
return true;
}
}
}
return false;
};
var parseRepeatedExtglob = (pattern, requireEnd = true) => {
if (pattern[0] !== "+" && pattern[0] !== "*" || pattern[1] !== "(") {
return;
}
let bracket = 0;
let paren = 0;
let quote = 0;
let escaped = false;
for (let i = 1;i < pattern.length; i++) {
const ch = pattern[i];
if (escaped === true) {
escaped = false;
continue;
}
if (ch === "\\") {
escaped = true;
continue;
}
if (ch === '"') {
quote = quote === 1 ? 0 : 1;
continue;
}
if (quote === 1) {
continue;
}
if (ch === "[") {
bracket++;
continue;
}
if (ch === "]" && bracket > 0) {
bracket--;
continue;
}
if (bracket > 0) {
continue;
}
if (ch === "(") {
paren++;
continue;
}
if (ch === ")") {
paren--;
if (paren === 0) {
if (requireEnd === true && i !== pattern.length - 1) {
return;
}
return {
type: pattern[0],
body: pattern.slice(2, i),
end: i
};
}
}
}
};
var getStarExtglobSequenceOutput = (pattern) => {
let index = 0;
const chars = [];
while (index < pattern.length) {
const match = parseRepeatedExtglob(pattern.slice(index), false);
if (!match || match.type !== "*") {
return;
}
const branches = splitTopLevel(match.body).map((branch2) => branch2.trim());
if (branches.length !== 1) {
return;
}
const branch = normalizeSimpleBranch(branches[0]);
if (!branch || branch.length !== 1) {
return;
}
chars.push(branch);
index += match.end + 1;
}
if (chars.length < 1) {
return;
}
const source = chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`;
return `${source}*`;
};
var repeatedExtglobRecursion = (pattern) => {
let depth = 0;
let value = pattern.trim();
let match = parseRepeatedExtglob(value);
while (match) {
depth++;
value = match.body.trim();
match = parseRepeatedExtglob(value);
}
return depth;
};
var analyzeRepeatedExtglob = (body, options) => {
if (options.maxExtglobRecursion === false) {
return { risky: false };
}
const max = typeof options.maxExtglobRecursion === "number" ? options.maxExtglobRecursion : constants.DEFAULT_MAX_EXTGLOB_RECURSION;
const branches = splitTopLevel(body).map((branch) => branch.trim());
if (branches.length > 1) {
if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) {
return { risky: true };
}
}
for (const branch of branches) {
const safeOutput = getStarExtglobSequenceOutput(branch);
if (safeOutput) {
return { risky: true, safeOutput };
}
if (repeatedExtglobRecursion(branch) > max) {
return { risky: true };
}
}
return { risky: false };
};
var parse = (input, options) => {
if (typeof input !== "string") {
throw new TypeError("Expected a string");
}
input = REPLACEMENTS[input] || input;
const opts = { ...options };
const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
let len = input.length;
if (len > max) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
}
const bos = { type: "bos", value: "", output: opts.prepend || "" };
const tokens = [bos];
const capture = opts.capture ? "" : "?:";
const PLATFORM_CHARS = constants.globChars(opts.windows);
const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
const {
DOT_LITERAL,
PLUS_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK,
QMARK_NO_DOT,
STAR,
START_ANCHOR
} = PLATFORM_CHARS;
const globstar = (opts2) => {
return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const nodot = opts.dot ? "" : NO_DOT;
const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
let star = opts.bash === true ? globstar(opts) : STAR;
if (opts.capture) {
star = `(${star})`;
}
if (typeof opts.noext === "boolean") {
opts.noextglob = opts.noext;
}
const state = {
input,
index: -1,
start: 0,
dot: opts.dot === true,
consumed: "",
output: "",
prefix: "",
backtrack: false,
negated: false,
brackets: 0,
braces: 0,
parens: 0,
quotes: 0,
globstar: false,
tokens
};
input = utils.removePrefix(input, state);
len = input.length;
const extglobs = [];
const braces = [];
const stack = [];
let prev = bos;
let value;
const eos = () => state.index === len - 1;
const peek = state.peek = (n = 1) => input[state.index + n];
const advance = state.advance = () => input[++state.index] || "";
const remaining = () => input.slice(state.index + 1);
const consume = (value2 = "", num = 0) => {
state.consumed += value2;
state.index += num;
};
const append = (token) => {
state.output += token.output != null ? token.output : token.value;
consume(token.value);
};
const negate = () => {
let count = 1;
while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
advance();
state.start++;
count++;
}
if (count % 2 === 0) {
return false;
}
state.negated = true;
state.start++;
return true;
};
const increment = (type) => {
state[type]++;
stack.push(type);
};
const decrement = (type) => {
state[type]--;
stack.pop();
};
const push = (tok) => {
if (prev.type === "globstar") {
const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
state.output = state.output.slice(0, -prev.output.length);
prev.type = "star";
prev.value = "*";
prev.output = star;
state.output += prev.output;
}
}
if (extglobs.length && tok.type !== "paren") {
extglobs[extglobs.length - 1].inner += tok.value;
}
if (tok.value || tok.output)
append(tok);
if (prev && prev.type === "text" && tok.type === "text") {
prev.output = (prev.output || prev.value) + tok.value;
prev.value += tok.value;
return;
}
tok.prev = prev;
tokens.push(tok);
prev = tok;
};
const extglobOpen = (type, value2) => {
const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
token.prev = prev;
token.parens = state.parens;
token.output = state.output;
token.startIndex = state.index;
token.tokensIndex = tokens.length;
const output = (opts.capture ? "(" : "") + token.open;
increment("parens");
push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
push({ type: "paren", extglob: true, value: advance(), output });
extglobs.push(token);
};
const extglobClose = (token) => {
const literal = input.slice(token.startIndex, state.index + 1);
const body = input.slice(token.startIndex + 2, state.index);
const analysis = analyzeRepeatedExtglob(body, opts);
if ((token.type === "plus" || token.type === "star") && analysis.risky) {
const safeOutput = analysis.safeOutput ? (token.output ? "" : ONE_CHAR) + (opts.capture ? `(${analysis.safeOutput})` : analysis.safeOutput) : undefined;
const open2 = tokens[token.tokensIndex];
open2.type = "text";
open2.value = literal;
open2.output = safeOutput || utils.escapeRegex(literal);
for (let i = token.tokensIndex + 1;i < tokens.length; i++) {
tokens[i].value = "";
tokens[i].output = "";
delete tokens[i].suffix;
}
state.output = token.output + open2.output;
state.backtrack = true;
push({ type: "paren", extglob: true, value, output: "" });
decrement("parens");
return;
}
let output = token.close + (opts.capture ? ")" : "");
let rest;
if (token.type === "negate") {
let extglobStar = star;
if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
extglobStar = globstar(opts);
}
if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
output = token.close = `)$))${extglobStar}`;
}
if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
const expression = parse(rest, { ...options, fastpaths: false }).output;
output = token.close = `)${expression})${extglobStar})`;
}
if (token.prev.type === "bos") {
state.negatedExtglob = true;
}
}
push({ type: "paren", extglob: true, value, output });
decrement("parens");
};
if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
let backslashes = false;
let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m2, esc, chars, first, rest, index) => {
if (first === "\\") {
backslashes = true;
return m2;
}
if (first === "?") {
if (esc) {
return esc + first + (rest ? QMARK.repeat(rest.length) : "");
}
if (index === 0) {
return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
}
return QMARK.repeat(chars.length);
}
if (first === ".") {
return DOT_LITERAL.repeat(chars.length);
}
if (first === "*") {
if (esc) {
return esc + first + (rest ? star : "");
}
return star;
}
return esc ? m2 : `\\${m2}`;
});
if (backslashes === true) {
if (opts.unescape === true) {
output = output.replace(/\\/g, "");
} else {
output = output.replace(/\\+/g, (m2) => {
return m2.length % 2 === 0 ? "\\\\" : m2 ? "\\" : "";
});
}
}
if (output === input && opts.contains === true) {
state.output = input;
return state;
}
state.output = utils.wrapOutput(output, state, options);
return state;
}
while (!eos()) {
value = advance();
if (value === "\x00") {
continue;
}
if (value === "\\") {
const next = peek();
if (next === "/" && opts.bash !== true) {
continue;
}
if (next === "." || next === ";") {
continue;
}
if (!next) {
value += "\\";
push({ type: "text", value });
continue;
}
const match = /^\\+/.exec(remaining());
let slashes = 0;
if (match && match[0].length > 2) {
slashes = match[0].length;
state.index += slashes;
if (slashes % 2 !== 0) {
value += "\\";
}
}
if (opts.unescape === true) {
value = advance();
} else {
value += advance();
}
if (state.brackets === 0) {
push({ type: "text", value });
continue;
}
}
if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
if (opts.posix !== false && value === ":") {
const inner = prev.value.slice(1);
if (inner.includes("[")) {
prev.posix = true;
if (inner.includes(":")) {
const idx = prev.value.lastIndexOf("[");
const pre = prev.value.slice(0, idx);
const rest2 = prev.value.slice(idx + 2);
const posix = POSIX_REGEX_SOURCE[rest2];
if (posix) {
prev.value = pre + posix;
state.backtrack = true;
advance();
if (!bos.output && tokens.indexOf(prev) === 1) {
bos.output = ONE_CHAR;
}
continue;
}
}
}
}
if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
value = `\\${value}`;
}
if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
value = `\\${value}`;
}
if (opts.posix === true && value === "!" && prev.value === "[") {
value = "^";
}
prev.value += value;
append({ value });
continue;
}
if (state.quotes === 1 && value !== '"') {
value = utils.escapeRegex(value);
prev.value += value;
append({ value });
continue;
}
if (value === '"') {
state.quotes = state.quotes === 1 ? 0 : 1;
if (opts.keepQuotes === true) {
push({ type: "text", value });
}
continue;
}
if (value === "(") {
increment("parens");
push({ type: "paren", value });
continue;
}
if (value === ")") {
if (state.parens === 0 && opts.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "("));
}
const extglob = extglobs[extglobs.length - 1];
if (extglob && state.parens === extglob.parens + 1) {
extglobClose(extglobs.pop());
continue;
}
push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
decrement("parens");
continue;
}
if (value === "[") {
if (opts.nobracket === true || !remaining().includes("]")) {
if (opts.nobracket !== true && opts.strictBrackets === true) {
throw new SyntaxError(syntaxError("closing", "]"));
}
value = `\\${value}`;
} else {
increment("brackets");
}
push({ type: "bracket", value });
continue;
}
if (value === "]") {
if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
push({ type: "text", value, output: `\\${value}` });
continue;
}
if (state.brackets === 0) {
if (opts.strictBrackets === true) {
throw new SyntaxError(syntaxError("opening", "["));
}
push({ type: "text", value, output: `\\${value}` });
continue;
}
decrement("brackets");
const prevValue = prev.value.slice(1);
if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
value = `/${value}`;
}
prev.value += value;
append({ value });
if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
continue;
}
const escaped = utils.escapeRegex(prev.value);
state.output = state.output.slice(0, -prev.value.length);
if (opts.literalBrackets === true) {
state.output += escaped;
prev.value = escaped;
continue;
}
prev.value = `(${capture}${escaped}|${prev.value})`;
state.output += prev.value;
continue;
}
if (value === "{" && opts.nobrace !== true) {
increment("braces");
const open2 = {
type: "brace",
value,
output: "(",
outputIndex: state.output.length,
tokensIndex: state.tokens.length
};
braces.push(open2);
push(open2);
continue;
}
if (value === "}") {
const brace = braces[braces.length - 1];
if (opts.nobrace === true || !brace) {
push({ type: "text", value, output: value });
continue;
}
let output = ")";
if (brace.dots === true) {
const arr = tokens.slice();
const range = [];
for (let i = arr.length - 1;i >= 0; i--) {
tokens.pop();
if (arr[i].type === "brace") {
break;
}
if (arr[i].type !== "dots") {
range.unshift(arr[i].value);
}
}
output = expandRange(range, opts);
state.backtrack = true;
}
if (brace.comma !== true && brace.dots !== true) {
const out = state.output.slice(0, brace.outputIndex);
const toks = state.tokens.slice(brace.tokensIndex);
brace.value = brace.output = "\\{";
value = output = "\\}";
state.output = out;
for (const t of toks) {
state.output += t.output || t.value;
}
}
push({ type: "brace", value, output });
decrement("braces");
braces.pop();
continue;
}
if (value === "|") {
if (extglobs.length > 0) {
extglobs[extglobs.length - 1].conditions++;
}
push({ type: "text", value });
continue;
}
if (value === ",") {
let output = value;
const brace = braces[braces.length - 1];
if (brace && stack[stack.length - 1] === "braces") {
brace.comma = true;
output = "|";
}
push({ type: "comma", value, output });
continue;
}
if (value === "/") {
if (prev.type === "dot" && state.index === state.start + 1) {
state.start = state.index + 1;
state.consumed = "";
state.output = "";
tokens.pop();
prev = bos;
continue;
}
push({ type: "slash", value, output: SLASH_LITERAL });
continue;
}
if (value === ".") {
if (state.braces > 0 && prev.type === "dot") {
if (prev.value === ".")
prev.output = DOT_LITERAL;
const brace = braces[braces.length - 1];
prev.type = "dots";
prev.output += value;
prev.value += value;
brace.dots = true;
continue;
}
if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
push({ type: "text", value, output: DOT_LITERAL });
continue;
}
push({ type: "dot", value, output: DOT_LITERAL });
continue;
}
if (value === "?") {
const isGroup = prev && prev.value === "(";
if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("qmark", value);
continue;
}
if (prev && prev.type === "paren") {
const next = peek();
let output = value;
if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
output = `\\${value}`;
}
push({ type: "text", value, output });
continue;
}
if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
push({ type: "qmark", value, output: QMARK_NO_DOT });
continue;
}
push({ type: "qmark", value, output: QMARK });
continue;
}
if (value === "!") {
if (opts.noextglob !== true && peek() === "(") {
if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
extglobOpen("negate", value);
continue;
}
}
if (opts.nonegate !== true && state.index === 0) {
negate();
continue;
}
}
if (value === "+") {
if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
extglobOpen("plus", value);
continue;
}
if (prev && prev.value === "(" || opts.regex === false) {
push({ type: "plus", value, output: PLUS_LITERAL });
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
push({ type: "plus", value });
continue;
}
push({ type: "plus", value: PLUS_LITERAL });
continue;
}
if (value === "@") {
if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
push({ type: "at", extglob: true, value, output: "" });
continue;
}
push({ type: "text", value });
continue;
}
if (value !== "*") {
if (value === "$" || value === "^") {
value = `\\${value}`;
}
const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
if (match) {
value += match[0];
state.index += match[0].length;
}
push({ type: "text", value });
continue;
}
if (prev && (prev.type === "globstar" || prev.star === true)) {
prev.type = "star";
prev.star = true;
prev.value += value;
prev.output = star;
state.backtrack = true;
state.globstar = true;
consume(value);
continue;
}
let rest = remaining();
if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
extglobOpen("star", value);
continue;
}
if (prev.type === "star") {
if (opts.noglobstar === true) {
consume(value);
continue;
}
const prior = prev.prev;
const before = prior.prev;
const isStart = prior.type === "slash" || prior.type === "bos";
const afterStar = before && (before.type === "star" || before.type === "globstar");
if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
push({ type: "star", value, output: "" });
continue;
}
const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
push({ type: "star", value, output: "" });
continue;
}
while (rest.slice(0, 3) === "/**") {
const after = input[state.index + 4];
if (after && after !== "/") {
break;
}
rest = rest.slice(3);
consume("/**", 3);
}
if (prior.type === "bos" && eos()) {
prev.type = "globstar";
prev.value += value;
prev.output = globstar(opts);
state.output = prev.output;
state.globstar = true;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
prev.value += value;
state.globstar = true;
state.output += prior.output + prev.output;
consume(value);
continue;
}
if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
const end = rest[1] !== undefined ? "|$" : "";
state.output = state.output.slice(0, -(prior.output + prev.output).length);
prior.output = `(?:${prior.output}`;
prev.type = "globstar";
prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
prev.value += value;
state.output += prior.output + prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
if (prior.type === "bos" && rest[0] === "/") {
prev.type = "globstar";
prev.value += value;
prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
state.output = prev.output;
state.globstar = true;
consume(value + advance());
push({ type: "slash", value: "/", output: "" });
continue;
}
state.output = state.output.slice(0, -prev.output.length);
prev.type = "globstar";
prev.output = globstar(opts);
prev.value += value;
state.output += prev.output;
state.globstar = true;
consume(value);
continue;
}
const token = { type: "star", value, output: star };
if (opts.bash === true) {
token.output = ".*?";
if (prev.type === "bos" || prev.type === "slash") {
token.output = nodot + token.output;
}
push(token);
continue;
}
if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
token.output = value;
push(token);
continue;
}
if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
if (prev.type === "dot") {
state.output += NO_DOT_SLASH;
prev.output += NO_DOT_SLASH;
} else if (opts.dot === true) {
state.output += NO_DOTS_SLASH;
prev.output += NO_DOTS_SLASH;
} else {
state.output += nodot;
prev.output += nodot;
}
if (peek() !== "*") {
state.output += ONE_CHAR;
prev.output += ONE_CHAR;
}
}
push(token);
}
while (state.brackets > 0) {
if (opts.strictBrackets === true)
throw new SyntaxError(syntaxError("closing", "]"));
state.output = utils.escapeLast(state.output, "[");
decrement("brackets");
}
while (state.parens > 0) {
if (opts.strictBrackets === true)
throw new SyntaxError(syntaxError("closing", ")"));
state.output = utils.escapeLast(state.output, "(");
decrement("parens");
}
while (state.braces > 0) {
if (opts.strictBrackets === true)
throw new SyntaxError(syntaxError("closing", "}"));
state.output = utils.escapeLast(state.output, "{");
decrement("braces");
}
if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
}
if (state.backtrack === true) {
state.output = "";
for (const token of state.tokens) {
state.output += token.output != null ? token.output : token.value;
if (token.suffix) {
state.output += token.suffix;
}
}
}
return state;
};
parse.fastpaths = (input, options) => {
const opts = { ...options };
const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
const len = input.length;
if (len > max) {
throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
}
input = REPLACEMENTS[input] || input;
const {
DOT_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOTS_SLASH,
STAR,
START_ANCHOR
} = constants.globChars(opts.windows);
const nodot = opts.dot ? NO_DOTS : NO_DOT;
const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
const capture = opts.capture ? "" : "?:";
const state = { negated: false, prefix: "" };
let star = opts.bash === true ? ".*?" : STAR;
if (opts.capture) {
star = `(${star})`;
}
const globstar = (opts2) => {
if (opts2.noglobstar === true)
return star;
return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
};
const create = (str) => {
switch (str) {
case "*":
return `${nodot}${ONE_CHAR}${star}`;
case ".*":
return `${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*.*":
return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "*/*":
return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
case "**":
return nodot + globstar(opts);
case "**/*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
case "**/*.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
case "**/.*":
return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
default: {
const match = /^(.*?)\.(\w+)$/.exec(str);
if (!match)
return;
const source2 = create(match[1]);
if (!source2)
return;
return source2 + DOT_LITERAL + match[2];
}
}
};
const output = utils.removePrefix(input, state);
let source = create(output);
if (source && opts.strictSlashes !== true) {
source += `${SLASH_LITERAL}?`;
}
return source;
};
module.exports = parse;
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/lib/picomatch.js
var require_picomatch = __commonJS((exports, module) => {
var scan = require_scan();
var parse = require_parse();
var utils = require_utils();
var constants = require_constants();
var isObject2 = (val) => val && typeof val === "object" && !Array.isArray(val);
var picomatch = (glob, options, returnState = false) => {
if (Array.isArray(glob)) {
const fns = glob.map((input) => picomatch(input, options, returnState));
const arrayMatcher = (str) => {
for (const isMatch of fns) {
const state2 = isMatch(str);
if (state2)
return state2;
}
return false;
};
return arrayMatcher;
}
const isState = isObject2(glob) && glob.tokens && glob.input;
if (glob === "" || typeof glob !== "string" && !isState) {
throw new TypeError("Expected pattern to be a non-empty string");
}
const opts = options || {};
const posix = opts.windows;
const regex2 = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
const state = regex2.state;
delete regex2.state;
let isIgnored = () => false;
if (opts.ignore) {
const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
}
const matcher = (input, returnObject = false) => {
const { isMatch, match, output } = picomatch.test(input, regex2, options, { glob, posix });
const result = { glob, state, regex: regex2, posix, input, output, match, isMatch };
if (typeof opts.onResult === "function") {
opts.onResult(result);
}
if (isMatch === false) {
result.isMatch = false;
return returnObject ? result : false;
}
if (isIgnored(input)) {
if (typeof opts.onIgnore === "function") {
opts.onIgnore(result);
}
result.isMatch = false;
return returnObject ? result : false;
}
if (typeof opts.onMatch === "function") {
opts.onMatch(result);
}
return returnObject ? result : true;
};
if (returnState) {
matcher.state = state;
}
return matcher;
};
picomatch.test = (input, regex2, options, { glob, posix } = {}) => {
if (typeof input !== "string") {
throw new TypeError("Expected input to be a string");
}
if (input === "") {
return { isMatch: false, output: "" };
}
const opts = options || {};
const format = opts.format || (posix ? utils.toPosixSlashes : null);
let match = input === glob;
let output = match && format ? format(input) : input;
if (match === false) {
output = format ? format(input) : input;
match = output === glob;
}
if (match === false || opts.capture === true) {
if (opts.matchBase === true || opts.basename === true) {
match = picomatch.matchBase(input, regex2, options, posix);
} else {
match = regex2.exec(output);
}
}
return { isMatch: Boolean(match), match, output };
};
picomatch.matchBase = (input, glob, options) => {
const regex2 = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
return regex2.test(utils.basename(input));
};
picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
picomatch.parse = (pattern, options) => {
if (Array.isArray(pattern))
return pattern.map((p) => picomatch.parse(p, options));
return parse(pattern, { ...options, fastpaths: false });
};
picomatch.scan = (input, options) => scan(input, options);
picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
if (returnOutput === true) {
return state.output;
}
const opts = options || {};
const prepend = opts.contains ? "" : "^";
const append = opts.contains ? "" : "$";
let source = `${prepend}(?:${state.output})${append}`;
if (state && state.negated === true) {
source = `^(?!${source}).*$`;
}
const regex2 = picomatch.toRegex(source, options);
if (returnState === true) {
regex2.state = state;
}
return regex2;
};
picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
if (!input || typeof input !== "string") {
throw new TypeError("Expected a non-empty string");
}
let parsed = { negated: false, fastpaths: true };
if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
parsed.output = parse.fastpaths(input, options);
}
if (!parsed.output) {
parsed = parse(input, options);
}
return picomatch.compileRe(parsed, options, returnOutput, returnState);
};
picomatch.toRegex = (source, options) => {
try {
const opts = options || {};
return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
} catch (err) {
if (options && options.debug === true)
throw err;
return /$^/;
}
};
picomatch.constants = constants;
module.exports = picomatch;
});
// node_modules/.pnpm/picomatch@4.0.4/node_modules/picomatch/index.js
var require_picomatch2 = __commonJS((exports, module) => {
var pico = require_picomatch();
var utils = require_utils();
function picomatch(glob, options, returnState = false) {
if (options && (options.windows === null || options.windows === undefined)) {
options = { ...options, windows: utils.isWindows() };
}
return pico(glob, options, returnState);
}
Object.assign(picomatch, pico);
module.exports = picomatch;
});
// node_modules/.pnpm/dom-mutator@0.6.0/node_modules/dom-mutator/dist/dom-mutator.cjs.development.js
var require_dom_mutator_cjs_development = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
var validAttributeName = /^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/;
var nullController = {
revert: function revert() {}
};
var elements = /* @__PURE__ */ new Map;
var mutations = /* @__PURE__ */ new Set;
function getObserverInit(attr) {
return attr === "html" ? {
childList: true,
subtree: true,
attributes: true,
characterData: true
} : {
childList: false,
subtree: false,
attributes: true,
attributeFilter: [attr]
};
}
function getElementRecord(element) {
var record = elements.get(element);
if (!record) {
record = {
element,
attributes: {}
};
elements.set(element, record);
}
return record;
}
function createElementPropertyRecord(el, attr, getCurrentValue, setValue2, mutationRunner) {
var currentValue = getCurrentValue(el);
var record = {
isDirty: false,
originalValue: currentValue,
virtualValue: currentValue,
mutations: [],
el,
_positionTimeout: null,
observer: new MutationObserver(function() {
if (attr === "position" && record._positionTimeout)
return;
else if (attr === "position")
record._positionTimeout = setTimeout(function() {
record._positionTimeout = null;
}, 1000);
var currentValue2 = getCurrentValue(el);
if (attr === "position" && currentValue2.parentNode === record.virtualValue.parentNode && currentValue2.insertBeforeNode === record.virtualValue.insertBeforeNode)
return;
if (currentValue2 === record.virtualValue)
return;
record.originalValue = currentValue2;
mutationRunner(record);
}),
mutationRunner,
setValue: setValue2,
getCurrentValue
};
if (attr === "position" && el.parentNode) {
record.observer.observe(el.parentNode, {
childList: true,
subtree: true,
attributes: false,
characterData: false
});
} else {
record.observer.observe(el, getObserverInit(attr));
}
return record;
}
function queueIfNeeded(val, record) {
var currentVal = record.getCurrentValue(record.el);
record.virtualValue = val;
if (val && typeof val !== "string") {
if (!currentVal || val.parentNode !== currentVal.parentNode || val.insertBeforeNode !== currentVal.insertBeforeNode) {
record.isDirty = true;
runDOMUpdates();
}
} else if (val !== currentVal) {
record.isDirty = true;
runDOMUpdates();
}
}
function htmlMutationRunner(record) {
var val = record.originalValue;
record.mutations.forEach(function(m2) {
return val = m2.mutate(val);
});
queueIfNeeded(getTransformedHTML(val), record);
}
function classMutationRunner(record) {
var val = new Set(record.originalValue.split(/\s+/).filter(Boolean));
record.mutations.forEach(function(m2) {
return m2.mutate(val);
});
queueIfNeeded(Array.from(val).filter(Boolean).join(" "), record);
}
function attrMutationRunner(record) {
var val = record.originalValue;
record.mutations.forEach(function(m2) {
return val = m2.mutate(val);
});
queueIfNeeded(val, record);
}
function _loadDOMNodes(_ref) {
var { parentSelector, insertBeforeSelector } = _ref;
var parentNode = document.querySelector(parentSelector);
if (!parentNode)
return null;
var insertBeforeNode = insertBeforeSelector ? document.querySelector(insertBeforeSelector) : null;
if (insertBeforeSelector && !insertBeforeNode)
return null;
return {
parentNode,
insertBeforeNode
};
}
function positionMutationRunner(record) {
var val = record.originalValue;
record.mutations.forEach(function(m2) {
var selectors = m2.mutate();
var newNodes = _loadDOMNodes(selectors);
val = newNodes || val;
});
queueIfNeeded(val, record);
}
var getHTMLValue = function getHTMLValue2(el) {
return el.innerHTML;
};
var setHTMLValue = function setHTMLValue2(el, value) {
return el.innerHTML = value;
};
function getElementHTMLRecord(element) {
var elementRecord = getElementRecord(element);
if (!elementRecord.html) {
elementRecord.html = createElementPropertyRecord(element, "html", getHTMLValue, setHTMLValue, htmlMutationRunner);
}
return elementRecord.html;
}
var getElementPosition = function getElementPosition2(el) {
return {
parentNode: el.parentElement,
insertBeforeNode: el.nextElementSibling
};
};
var setElementPosition = function setElementPosition2(el, value) {
if (value.insertBeforeNode && !value.parentNode.contains(value.insertBeforeNode)) {
return;
}
value.parentNode.insertBefore(el, value.insertBeforeNode);
};
function getElementPositionRecord(element) {
var elementRecord = getElementRecord(element);
if (!elementRecord.position) {
elementRecord.position = createElementPropertyRecord(element, "position", getElementPosition, setElementPosition, positionMutationRunner);
}
return elementRecord.position;
}
var setClassValue = function setClassValue2(el, val) {
return val ? el.className = val : el.removeAttribute("class");
};
var getClassValue = function getClassValue2(el) {
return el.className;
};
function getElementClassRecord(el) {
var elementRecord = getElementRecord(el);
if (!elementRecord.classes) {
elementRecord.classes = createElementPropertyRecord(el, "class", getClassValue, setClassValue, classMutationRunner);
}
return elementRecord.classes;
}
var getAttrValue = function getAttrValue2(attrName) {
return function(el) {
var _el$getAttribute;
return (_el$getAttribute = el.getAttribute(attrName)) != null ? _el$getAttribute : null;
};
};
var setAttrValue = function setAttrValue2(attrName) {
return function(el, val) {
return val !== null ? el.setAttribute(attrName, val) : el.removeAttribute(attrName);
};
};
function getElementAttributeRecord(el, attr) {
var elementRecord = getElementRecord(el);
if (!elementRecord.attributes[attr]) {
elementRecord.attributes[attr] = createElementPropertyRecord(el, attr, getAttrValue(attr), setAttrValue(attr), attrMutationRunner);
}
return elementRecord.attributes[attr];
}
function deleteElementPropertyRecord(el, attr) {
var element = elements.get(el);
if (!element)
return;
if (attr === "html") {
var _element$html, _element$html$observe;
(_element$html = element.html) == null || (_element$html$observe = _element$html.observer) == null || _element$html$observe.disconnect();
delete element.html;
} else if (attr === "class") {
var _element$classes, _element$classes$obse;
(_element$classes = element.classes) == null || (_element$classes$obse = _element$classes.observer) == null || _element$classes$obse.disconnect();
delete element.classes;
} else if (attr === "position") {
var _element$position, _element$position$obs;
(_element$position = element.position) == null || (_element$position$obs = _element$position.observer) == null || _element$position$obs.disconnect();
delete element.position;
} else {
var _element$attributes, _element$attributes$a, _element$attributes$a2;
(_element$attributes = element.attributes) == null || (_element$attributes$a = _element$attributes[attr]) == null || (_element$attributes$a2 = _element$attributes$a.observer) == null || _element$attributes$a2.disconnect();
delete element.attributes[attr];
}
}
var transformContainer;
function getTransformedHTML(html2) {
if (!transformContainer) {
transformContainer = document.createElement("div");
}
transformContainer.innerHTML = html2;
return transformContainer.innerHTML;
}
function setPropertyValue(el, attr, m2) {
if (!m2.isDirty)
return;
m2.isDirty = false;
var val = m2.virtualValue;
if (!m2.mutations.length) {
deleteElementPropertyRecord(el, attr);
}
m2.setValue(el, val);
}
function setValue(m2, el) {
m2.html && setPropertyValue(el, "html", m2.html);
m2.classes && setPropertyValue(el, "class", m2.classes);
m2.position && setPropertyValue(el, "position", m2.position);
Object.keys(m2.attributes).forEach(function(attr) {
setPropertyValue(el, attr, m2.attributes[attr]);
});
}
function runDOMUpdates() {
elements.forEach(setValue);
}
function startMutating(mutation, element) {
var record = null;
if (mutation.kind === "html") {
record = getElementHTMLRecord(element);
} else if (mutation.kind === "class") {
record = getElementClassRecord(element);
} else if (mutation.kind === "attribute") {
record = getElementAttributeRecord(element, mutation.attribute);
} else if (mutation.kind === "position") {
record = getElementPositionRecord(element);
}
if (!record)
return;
record.mutations.push(mutation);
record.mutationRunner(record);
}
function stopMutating(mutation, el) {
var record = null;
if (mutation.kind === "html") {
record = getElementHTMLRecord(el);
} else if (mutation.kind === "class") {
record = getElementClassRecord(el);
} else if (mutation.kind === "attribute") {
record = getElementAttributeRecord(el, mutation.attribute);
} else if (mutation.kind === "position") {
record = getElementPositionRecord(el);
}
if (!record)
return;
var index2 = record.mutations.indexOf(mutation);
if (index2 !== -1)
record.mutations.splice(index2, 1);
record.mutationRunner(record);
}
function refreshElementsSet(mutation) {
if (mutation.kind === "position" && mutation.elements.size === 1)
return;
var existingElements = new Set(mutation.elements);
var matchingElements = document.querySelectorAll(mutation.selector);
matchingElements.forEach(function(el) {
if (!existingElements.has(el)) {
mutation.elements.add(el);
startMutating(mutation, el);
}
});
}
function revertMutation(mutation) {
mutation.elements.forEach(function(el) {
return stopMutating(mutation, el);
});
mutation.elements.clear();
mutations["delete"](mutation);
}
function refreshAllElementSets() {
mutations.forEach(refreshElementsSet);
}
var observer;
function disconnectGlobalObserver() {
observer && observer.disconnect();
}
function connectGlobalObserver() {
if (typeof document === "undefined")
return;
if (!observer) {
observer = new MutationObserver(function() {
refreshAllElementSets();
});
}
refreshAllElementSets();
observer.observe(document.documentElement, {
childList: true,
subtree: true,
attributes: false,
characterData: false
});
}
connectGlobalObserver();
function newMutation(m2) {
if (typeof document === "undefined")
return nullController;
mutations.add(m2);
refreshElementsSet(m2);
return {
revert: function revert() {
revertMutation(m2);
}
};
}
function html(selector, mutate) {
return newMutation({
kind: "html",
elements: new Set,
mutate,
selector
});
}
function position(selector, mutate) {
return newMutation({
kind: "position",
elements: new Set,
mutate,
selector
});
}
function classes(selector, mutate) {
return newMutation({
kind: "class",
elements: new Set,
mutate,
selector
});
}
function attribute(selector, attribute2, mutate) {
if (!validAttributeName.test(attribute2))
return nullController;
if (attribute2 === "class" || attribute2 === "className") {
return classes(selector, function(classnames) {
var mutatedClassnames = mutate(Array.from(classnames).join(" "));
classnames.clear();
if (!mutatedClassnames)
return;
mutatedClassnames.split(/\s+/g).filter(Boolean).forEach(function(c) {
return classnames.add(c);
});
});
}
return newMutation({
kind: "attribute",
attribute: attribute2,
elements: new Set,
mutate,
selector
});
}
function declarative(_ref2) {
var { selector, action, value, attribute: attr, parentSelector, insertBeforeSelector } = _ref2;
if (attr === "html") {
if (action === "append") {
return html(selector, function(val) {
return val + (value != null ? value : "");
});
} else if (action === "set") {
return html(selector, function() {
return value != null ? value : "";
});
}
} else if (attr === "class") {
if (action === "append") {
return classes(selector, function(val) {
if (value)
val.add(value);
});
} else if (action === "remove") {
return classes(selector, function(val) {
if (value)
val["delete"](value);
});
} else if (action === "set") {
return classes(selector, function(val) {
val.clear();
if (value)
val.add(value);
});
}
} else if (attr === "position") {
if (action === "set" && parentSelector) {
return position(selector, function() {
return {
insertBeforeSelector,
parentSelector
};
});
}
} else {
if (action === "append") {
return attribute(selector, attr, function(val) {
return val !== null ? val + (value != null ? value : "") : value != null ? value : "";
});
} else if (action === "set") {
return attribute(selector, attr, function() {
return value != null ? value : "";
});
} else if (action === "remove") {
return attribute(selector, attr, function() {
return null;
});
}
}
return nullController;
}
var index = {
html,
classes,
attribute,
position,
declarative
};
exports.connectGlobalObserver = connectGlobalObserver;
exports.default = index;
exports.disconnectGlobalObserver = disconnectGlobalObserver;
exports.validAttributeName = validAttributeName;
});
// node_modules/.pnpm/dom-mutator@0.6.0/node_modules/dom-mutator/dist/index.js
var require_dist = __commonJS((exports, module) => {
if (false) {} else {
module.exports = require_dom_mutator_cjs_development();
}
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/util.mjs
function getPolyfills() {
return polyfills;
}
function hashFnv32a(str) {
let hval = 2166136261;
const l = str.length;
for (let i = 0;i < l; i++) {
hval ^= str.charCodeAt(i);
hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);
}
return hval >>> 0;
}
function hash(seed, value, version) {
if (version === 2) {
return hashFnv32a(hashFnv32a(seed + value) + "") % 1e4 / 1e4;
}
if (version === 1) {
return hashFnv32a(value + seed) % 1000 / 1000;
}
return null;
}
function getEqualWeights(n) {
if (n <= 0)
return [];
return new Array(n).fill(1 / n);
}
function inRange(n, range) {
return n >= range[0] && n < range[1];
}
function inNamespace(hashValue, namespace) {
const n = hash("__" + namespace[0], hashValue, 1);
if (n === null)
return false;
return n >= namespace[1] && n < namespace[2];
}
function chooseVariation(n, ranges) {
for (let i = 0;i < ranges.length; i++) {
if (inRange(n, ranges[i])) {
return i;
}
}
return -1;
}
function getUrlRegExp(regexString) {
try {
const escaped = regexString.replace(/([^\\])\//g, "$1\\/");
return new RegExp(escaped);
} catch (e) {
console.error(e);
return;
}
}
function isURLTargeted(url, targets) {
if (!targets.length)
return false;
let hasIncludeRules = false;
let isIncluded = false;
for (let i = 0;i < targets.length; i++) {
const match = _evalURLTarget(url, targets[i].type, targets[i].pattern);
if (targets[i].include === false) {
if (match)
return false;
} else {
hasIncludeRules = true;
if (match)
isIncluded = true;
}
}
return isIncluded || !hasIncludeRules;
}
function _evalSimpleUrlPart(actual, pattern, isPath) {
try {
let escaped = pattern.replace(/[*.+?^${}()|[\]\\]/g, "\\$&").replace(/_____/g, ".*");
if (isPath) {
escaped = "\\/?" + escaped.replace(/(^\/|\/$)/g, "") + "\\/?";
}
const regex2 = new RegExp("^" + escaped + "$", "i");
return regex2.test(actual);
} catch (e) {
return false;
}
}
function _evalSimpleUrlTarget(actual, pattern) {
try {
const expected = new URL(pattern.replace(/^([^:/?]*)\./i, "https://$1.").replace(/\*/g, "_____"), "https://_____");
const comps = [[actual.host, expected.host, false], [actual.pathname, expected.pathname, true]];
if (expected.hash) {
comps.push([actual.hash, expected.hash, false]);
}
expected.searchParams.forEach((v2, k2) => {
comps.push([actual.searchParams.get(k2) || "", v2, false]);
});
return !comps.some((data) => !_evalSimpleUrlPart(data[0], data[1], data[2]));
} catch (e) {
return false;
}
}
function _evalURLTarget(url, type, pattern) {
try {
const parsed = new URL(url, "https://_");
if (type === "regex") {
const regex2 = getUrlRegExp(pattern);
if (!regex2)
return false;
return regex2.test(parsed.href) || regex2.test(parsed.href.substring(parsed.origin.length));
} else if (type === "simple") {
return _evalSimpleUrlTarget(parsed, pattern);
}
return false;
} catch (e) {
return false;
}
}
function getBucketRanges(numVariations, coverage, weights) {
coverage = coverage === undefined ? 1 : coverage;
if (coverage < 0) {
if (true) {
console.error("Experiment.coverage must be greater than or equal to 0");
}
coverage = 0;
} else if (coverage > 1) {
if (true) {
console.error("Experiment.coverage must be less than or equal to 1");
}
coverage = 1;
}
const equal = getEqualWeights(numVariations);
weights = weights || equal;
if (weights.length !== numVariations) {
if (true) {
console.error("Experiment.weights array must be the same length as Experiment.variations");
}
weights = equal;
}
const totalWeight = weights.reduce((w2, sum) => sum + w2, 0);
if (totalWeight < 0.99 || totalWeight > 1.01) {
if (true) {
console.error("Experiment.weights must add up to 1");
}
weights = equal;
}
let cumulative = 0;
return weights.map((w2) => {
const start = cumulative;
cumulative += w2;
return [start, start + coverage * w2];
});
}
function getQueryStringOverride(id, url, numVariations) {
if (!url) {
return null;
}
const search = url.split("?")[1];
if (!search) {
return null;
}
const match = search.replace(/#.*/, "").split("&").map((kv) => kv.split("=", 2)).filter(([k2]) => k2 === id).map(([, v2]) => parseInt(v2));
if (match.length > 0 && match[0] >= 0 && match[0] < numVariations)
return match[0];
return null;
}
function isIncluded(include) {
try {
return include();
} catch (e) {
console.error(e);
return false;
}
}
async function decrypt(encryptedString, decryptionKey, subtle) {
decryptionKey = decryptionKey || "";
subtle = subtle || globalThis.crypto && globalThis.crypto.subtle || polyfills.SubtleCrypto;
if (!subtle) {
throw new Error("No SubtleCrypto implementation found");
}
try {
const key = await subtle.importKey("raw", base64ToBuf(decryptionKey), {
name: "AES-CBC",
length: 128
}, true, ["encrypt", "decrypt"]);
const [iv, cipherText] = encryptedString.split(".");
const plainTextBuffer = await subtle.decrypt({
name: "AES-CBC",
iv: base64ToBuf(iv)
}, key, base64ToBuf(cipherText));
return new TextDecoder().decode(plainTextBuffer);
} catch (e) {
throw new Error("Failed to decrypt");
}
}
function toString2(input) {
if (typeof input === "string")
return input;
return JSON.stringify(input);
}
function paddedVersionString(input) {
if (typeof input === "number") {
input = input + "";
}
if (!input || typeof input !== "string") {
input = "0";
}
const parts = input.replace(/(^v|\+.*$)/g, "").split(/[-.]/);
if (parts.length === 3) {
parts.push("~");
}
return parts.map((v2) => v2.match(/^[0-9]+$/) ? v2.padStart(5, " ") : v2).join("-");
}
function loadSDKVersion() {
let version;
try {
version = "1.6.5";
} catch (e) {
version = "";
}
return version;
}
function mergeQueryStrings(oldUrl, newUrl) {
let currUrl;
let redirectUrl;
try {
currUrl = new URL(oldUrl);
redirectUrl = new URL(newUrl);
} catch (e) {
console.error(`Unable to merge query strings: ${e}`);
return newUrl;
}
currUrl.searchParams.forEach((value, key) => {
if (redirectUrl.searchParams.has(key)) {
return;
}
redirectUrl.searchParams.set(key, value);
});
return redirectUrl.toString();
}
function isObj(x2) {
return typeof x2 === "object" && x2 !== null;
}
function getAutoExperimentChangeType(exp) {
if (exp.urlPatterns && exp.variations.some((variation) => isObj(variation) && ("urlRedirect" in variation))) {
return "redirect";
} else if (exp.variations.some((variation) => isObj(variation) && (variation.domMutations || ("js" in variation) || ("css" in variation)))) {
return "visual";
}
return "unknown";
}
async function promiseTimeout(promise, timeout) {
return new Promise((resolve2) => {
let resolved = false;
let timer;
const finish = (data) => {
if (resolved)
return;
resolved = true;
timer && clearTimeout(timer);
resolve2(data || null);
};
if (timeout) {
timer = setTimeout(() => finish(), timeout);
}
promise.then((data) => finish(data)).catch(() => finish());
});
}
var polyfills, base64ToBuf = (b2) => Uint8Array.from(atob(b2), (c) => c.charCodeAt(0));
var init_util = __esm(() => {
polyfills = {
fetch: globalThis.fetch ? globalThis.fetch.bind(globalThis) : undefined,
SubtleCrypto: globalThis.crypto ? globalThis.crypto.subtle : undefined,
EventSource: globalThis.EventSource
};
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/feature-repository.mjs
function configureCache(overrides) {
Object.assign(cacheSettings, overrides);
if (!cacheSettings.backgroundSync) {
clearAutoRefresh();
}
}
async function refreshFeatures({
instance,
timeout,
skipCache,
allowStale,
backgroundSync
}) {
if (!backgroundSync) {
cacheSettings.backgroundSync = false;
}
return fetchFeaturesWithCache({
instance,
allowStale,
timeout,
skipCache
});
}
function subscribe(instance) {
const key = getKey(instance);
const subs = subscribedInstances.get(key) || new Set;
subs.add(instance);
subscribedInstances.set(key, subs);
}
function unsubscribe(instance) {
subscribedInstances.forEach((s) => s.delete(instance));
}
function onHidden() {
streams.forEach((channel) => {
if (!channel)
return;
channel.state = "idle";
disableChannel(channel);
});
}
function onVisible() {
streams.forEach((channel) => {
if (!channel)
return;
if (channel.state !== "idle")
return;
enableChannel(channel);
});
}
async function updatePersistentCache() {
try {
if (!polyfills2.localStorage)
return;
await polyfills2.localStorage.setItem(cacheSettings.cacheKey, JSON.stringify(Array.from(cache.entries())));
} catch (e) {}
}
async function fetchFeaturesWithCache({
instance,
allowStale,
timeout,
skipCache
}) {
const key = getKey(instance);
const cacheKey = getCacheKey(instance);
const now = new Date;
const minStaleAt = new Date(now.getTime() - cacheSettings.maxAge + cacheSettings.staleTTL);
await initializeCache();
const existing = !cacheSettings.disableCache && !skipCache ? cache.get(cacheKey) : undefined;
if (existing && (allowStale || existing.staleAt > now) && existing.staleAt > minStaleAt) {
if (existing.sse)
supportsSSE.add(key);
if (existing.staleAt < now) {
fetchFeatures(instance);
} else {
startAutoRefresh(instance);
}
return {
data: existing.data,
success: true,
source: "cache"
};
} else {
const res = await promiseTimeout(fetchFeatures(instance), timeout);
return res || {
data: null,
success: false,
source: "timeout",
error: new Error("Timeout")
};
}
}
function getKey(instance) {
const [apiHost, clientKey] = instance.getApiInfo();
return `${apiHost}||${clientKey}`;
}
function getCacheKey(instance) {
const baseKey = getKey(instance);
if (!("isRemoteEval" in instance) || !instance.isRemoteEval())
return baseKey;
const attributes = instance.getAttributes();
const cacheKeyAttributes = instance.getCacheKeyAttributes() || Object.keys(instance.getAttributes());
const ca = {};
cacheKeyAttributes.forEach((key) => {
ca[key] = attributes[key];
});
const fv = instance.getForcedVariations();
const url = instance.getUrl();
return `${baseKey}||${JSON.stringify({
ca,
fv,
url
})}`;
}
async function initializeCache() {
if (cacheInitialized)
return;
cacheInitialized = true;
try {
if (polyfills2.localStorage) {
const value = await polyfills2.localStorage.getItem(cacheSettings.cacheKey);
if (!cacheSettings.disableCache && value) {
const parsed = JSON.parse(value);
if (parsed && Array.isArray(parsed)) {
parsed.forEach(([key, data]) => {
cache.set(key, {
...data,
staleAt: new Date(data.staleAt)
});
});
}
cleanupCache();
}
}
} catch (e) {}
if (!cacheSettings.disableIdleStreams) {
const cleanupFn = helpers.startIdleListener();
if (cleanupFn) {
helpers.stopIdleListener = cleanupFn;
}
}
}
function cleanupCache() {
const entriesWithTimestamps = Array.from(cache.entries()).map(([key, value]) => ({
key,
staleAt: value.staleAt.getTime()
})).sort((a, b2) => a.staleAt - b2.staleAt);
const entriesToRemoveCount = Math.min(Math.max(0, cache.size - cacheSettings.maxEntries), cache.size);
for (let i = 0;i < entriesToRemoveCount; i++) {
cache.delete(entriesWithTimestamps[i].key);
}
}
function onNewFeatureData(key, cacheKey, data) {
const version = data.dateUpdated || "";
const staleAt = new Date(Date.now() + cacheSettings.staleTTL);
const existing = !cacheSettings.disableCache ? cache.get(cacheKey) : undefined;
if (existing && version && existing.version === version) {
existing.staleAt = staleAt;
updatePersistentCache();
return;
}
if (!cacheSettings.disableCache) {
cache.set(cacheKey, {
data,
version,
staleAt,
sse: supportsSSE.has(key)
});
cleanupCache();
}
updatePersistentCache();
const instances = subscribedInstances.get(key);
instances && instances.forEach((instance) => refreshInstance(instance, data));
}
async function refreshInstance(instance, data) {
await instance.setPayload(data || instance.getPayload());
}
async function fetchFeatures(instance) {
const {
apiHost,
apiRequestHeaders
} = instance.getApiHosts();
const clientKey = instance.getClientKey();
const remoteEval = "isRemoteEval" in instance && instance.isRemoteEval();
const key = getKey(instance);
const cacheKey = getCacheKey(instance);
let promise = activeFetches.get(cacheKey);
if (!promise) {
const fetcher = remoteEval ? helpers.fetchRemoteEvalCall({
host: apiHost,
clientKey,
payload: {
attributes: instance.getAttributes(),
forcedVariations: instance.getForcedVariations(),
forcedFeatures: Array.from(instance.getForcedFeatures().entries()),
url: instance.getUrl()
},
headers: apiRequestHeaders
}) : helpers.fetchFeaturesCall({
host: apiHost,
clientKey,
headers: apiRequestHeaders
});
promise = fetcher.then((res) => {
if (!res.ok) {
throw new Error(`HTTP error: ${res.status}`);
}
if (res.headers.get("x-sse-support") === "enabled") {
supportsSSE.add(key);
}
return res.json();
}).then((data) => {
onNewFeatureData(key, cacheKey, data);
startAutoRefresh(instance);
activeFetches.delete(cacheKey);
return {
data,
success: true,
source: "network"
};
}).catch((e) => {
instance.log("Error fetching features", {
apiHost,
clientKey,
error: e ? e.message : null
});
activeFetches.delete(cacheKey);
return {
data: null,
source: "error",
success: false,
error: e
};
});
activeFetches.set(cacheKey, promise);
}
return promise;
}
function startAutoRefresh(instance, forceSSE = false) {
const key = getKey(instance);
const cacheKey = getCacheKey(instance);
const {
streamingHost,
streamingHostRequestHeaders
} = instance.getApiHosts();
const clientKey = instance.getClientKey();
if (forceSSE) {
supportsSSE.add(key);
}
if (cacheSettings.backgroundSync && supportsSSE.has(key) && polyfills2.EventSource) {
if (streams.has(key))
return;
const channel = {
src: null,
host: streamingHost,
clientKey,
headers: streamingHostRequestHeaders,
cb: (event) => {
try {
if (event.type === "features-updated") {
const instances = subscribedInstances.get(key);
instances && instances.forEach((instance2) => {
fetchFeatures(instance2);
});
} else if (event.type === "features") {
const json = JSON.parse(event.data);
onNewFeatureData(key, cacheKey, json);
}
channel.errors = 0;
} catch (e) {
instance.log("SSE Error", {
streamingHost,
clientKey,
error: e ? e.message : null
});
onSSEError(channel);
}
},
errors: 0,
state: "active"
};
streams.set(key, channel);
enableChannel(channel);
}
}
function onSSEError(channel) {
if (channel.state === "idle")
return;
channel.errors++;
if (channel.errors > 3 || channel.src && channel.src.readyState === 2) {
const delay = Math.pow(3, channel.errors - 3) * (1000 + Math.random() * 1000);
disableChannel(channel);
setTimeout(() => {
if (["idle", "active"].includes(channel.state))
return;
enableChannel(channel);
}, Math.min(delay, 300000));
}
}
function disableChannel(channel) {
if (!channel.src)
return;
channel.src.onopen = null;
channel.src.onerror = null;
channel.src.close();
channel.src = null;
if (channel.state === "active") {
channel.state = "disabled";
}
}
function enableChannel(channel) {
channel.src = helpers.eventSourceCall({
host: channel.host,
clientKey: channel.clientKey,
headers: channel.headers
});
channel.state = "active";
channel.src.addEventListener("features", channel.cb);
channel.src.addEventListener("features-updated", channel.cb);
channel.src.onerror = () => onSSEError(channel);
channel.src.onopen = () => {
channel.errors = 0;
};
}
function destroyChannel(channel, key) {
disableChannel(channel);
streams.delete(key);
}
function clearAutoRefresh() {
supportsSSE.clear();
streams.forEach(destroyChannel);
subscribedInstances.clear();
helpers.stopIdleListener();
}
function startStreaming(instance, options) {
if (options.streaming) {
if (!instance.getClientKey()) {
throw new Error("Must specify clientKey to enable streaming");
}
if (options.payload) {
startAutoRefresh(instance, true);
}
subscribe(instance);
}
}
var cacheSettings, polyfills2, helpers, subscribedInstances, cacheInitialized = false, cache, activeFetches, streams, supportsSSE;
var init_feature_repository = __esm(() => {
init_util();
cacheSettings = {
staleTTL: 1000 * 60,
maxAge: 1000 * 60 * 60 * 4,
cacheKey: "gbFeaturesCache",
backgroundSync: true,
maxEntries: 10,
disableIdleStreams: false,
idleStreamInterval: 20000,
disableCache: false
};
polyfills2 = getPolyfills();
helpers = {
fetchFeaturesCall: ({
host,
clientKey,
headers
}) => {
return polyfills2.fetch(`${host}/api/features/${clientKey}`, {
headers
});
},
fetchRemoteEvalCall: ({
host,
clientKey,
payload,
headers
}) => {
const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
...headers
},
body: JSON.stringify(payload)
};
return polyfills2.fetch(`${host}/api/eval/${clientKey}`, options);
},
eventSourceCall: ({
host,
clientKey,
headers
}) => {
if (headers) {
return new polyfills2.EventSource(`${host}/sub/${clientKey}`, {
headers
});
}
return new polyfills2.EventSource(`${host}/sub/${clientKey}`);
},
startIdleListener: () => {
let idleTimeout;
const isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
if (!isBrowser)
return;
const onVisibilityChange = () => {
if (document.visibilityState === "visible") {
window.clearTimeout(idleTimeout);
onVisible();
} else if (document.visibilityState === "hidden") {
idleTimeout = window.setTimeout(onHidden, cacheSettings.idleStreamInterval);
}
};
document.addEventListener("visibilitychange", onVisibilityChange);
return () => document.removeEventListener("visibilitychange", onVisibilityChange);
},
stopIdleListener: () => {}
};
try {
if (globalThis.localStorage) {
polyfills2.localStorage = globalThis.localStorage;
}
} catch (e) {}
subscribedInstances = new Map;
cache = new Map;
activeFetches = new Map;
streams = new Map;
supportsSSE = new Set;
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/mongrule.mjs
function evalCondition(obj, condition, savedGroups) {
savedGroups = savedGroups || {};
for (const [k2, v2] of Object.entries(condition)) {
switch (k2) {
case "$or":
if (!evalOr(obj, v2, savedGroups))
return false;
break;
case "$nor":
if (evalOr(obj, v2, savedGroups))
return false;
break;
case "$and":
if (!evalAnd(obj, v2, savedGroups))
return false;
break;
case "$not":
if (evalCondition(obj, v2, savedGroups))
return false;
break;
default:
if (!evalConditionValue(v2, getPath(obj, k2), savedGroups))
return false;
}
}
return true;
}
function getPath(obj, path2) {
const parts = path2.split(".");
let current = obj;
for (let i = 0;i < parts.length; i++) {
if (current && typeof current === "object" && parts[i] in current) {
current = current[parts[i]];
} else {
return null;
}
}
return current;
}
function getRegex(regex2, insensitive = false) {
const cacheKey = `${regex2}${insensitive ? "/i" : ""}`;
if (!_regexCache[cacheKey]) {
_regexCache[cacheKey] = new RegExp(regex2.replace(/([^\\])\//g, "$1\\/"), insensitive ? "i" : undefined);
}
return _regexCache[cacheKey];
}
function evalConditionValue(condition, value, savedGroups, insensitive = false) {
if (typeof condition === "string") {
if (insensitive) {
return String(value).toLowerCase() === condition.toLowerCase();
}
return value + "" === condition;
}
if (typeof condition === "number") {
return value * 1 === condition;
}
if (typeof condition === "boolean") {
return value !== null && !!value === condition;
}
if (condition === null) {
return value === null;
}
if (Array.isArray(condition) || !isOperatorObject(condition)) {
return JSON.stringify(value) === JSON.stringify(condition);
}
for (const op in condition) {
if (!evalOperatorCondition(op, value, condition[op], savedGroups)) {
return false;
}
}
return true;
}
function isOperatorObject(obj) {
const keys2 = Object.keys(obj);
return keys2.length > 0 && keys2.filter((k2) => k2[0] === "$").length === keys2.length;
}
function getType(v2) {
if (v2 === null)
return "null";
if (Array.isArray(v2))
return "array";
const t = typeof v2;
if (["string", "number", "boolean", "object", "undefined"].includes(t)) {
return t;
}
return "unknown";
}
function elemMatch(actual, expected, savedGroups) {
if (!Array.isArray(actual))
return false;
const check = isOperatorObject(expected) ? (v2) => evalConditionValue(expected, v2, savedGroups) : (v2) => evalCondition(v2, expected, savedGroups);
for (let i = 0;i < actual.length; i++) {
if (actual[i] && check(actual[i])) {
return true;
}
}
return false;
}
function isIn(actual, expected, insensitive = false) {
if (insensitive) {
const caseFold = (val) => typeof val === "string" ? val.toLowerCase() : val;
if (Array.isArray(actual)) {
return actual.some((el) => expected.some((exp) => caseFold(el) === caseFold(exp)));
}
return expected.some((exp) => caseFold(actual) === caseFold(exp));
}
if (Array.isArray(actual)) {
return actual.some((el) => expected.includes(el));
}
return expected.includes(actual);
}
function isInAll(actual, expected, savedGroups, insensitive = false) {
if (!Array.isArray(actual))
return false;
for (let i = 0;i < expected.length; i++) {
let passed = false;
for (let j2 = 0;j2 < actual.length; j2++) {
if (evalConditionValue(expected[i], actual[j2], savedGroups, insensitive)) {
passed = true;
break;
}
}
if (!passed)
return false;
}
return true;
}
function evalOperatorCondition(operator, actual, expected, savedGroups) {
switch (operator) {
case "$veq":
return paddedVersionString(actual) === paddedVersionString(expected);
case "$vne":
return paddedVersionString(actual) !== paddedVersionString(expected);
case "$vgt":
return paddedVersionString(actual) > paddedVersionString(expected);
case "$vgte":
return paddedVersionString(actual) >= paddedVersionString(expected);
case "$vlt":
return paddedVersionString(actual) < paddedVersionString(expected);
case "$vlte":
return paddedVersionString(actual) <= paddedVersionString(expected);
case "$eq":
return actual === expected;
case "$ne":
return actual !== expected;
case "$lt":
return actual < expected;
case "$lte":
return actual <= expected;
case "$gt":
return actual > expected;
case "$gte":
return actual >= expected;
case "$exists":
return expected ? actual != null : actual == null;
case "$in":
if (!Array.isArray(expected))
return false;
return isIn(actual, expected);
case "$ini":
if (!Array.isArray(expected))
return false;
return isIn(actual, expected, true);
case "$inGroup":
return isIn(actual, savedGroups[expected] || []);
case "$notInGroup":
return !isIn(actual, savedGroups[expected] || []);
case "$nin":
if (!Array.isArray(expected))
return false;
return !isIn(actual, expected);
case "$nini":
if (!Array.isArray(expected))
return false;
return !isIn(actual, expected, true);
case "$not":
return !evalConditionValue(expected, actual, savedGroups);
case "$size":
if (!Array.isArray(actual))
return false;
return evalConditionValue(expected, actual.length, savedGroups);
case "$elemMatch":
return elemMatch(actual, expected, savedGroups);
case "$all":
if (!Array.isArray(expected))
return false;
return isInAll(actual, expected, savedGroups);
case "$alli":
if (!Array.isArray(expected))
return false;
return isInAll(actual, expected, savedGroups, true);
case "$regex":
try {
return getRegex(expected).test(actual);
} catch (e) {
return false;
}
case "$regexi":
try {
return getRegex(expected, true).test(actual);
} catch (e) {
return false;
}
case "$type":
return getType(actual) === expected;
default:
console.error("Unknown operator: " + operator);
return false;
}
}
function evalOr(obj, conditions, savedGroups) {
if (!conditions.length)
return true;
for (let i = 0;i < conditions.length; i++) {
if (evalCondition(obj, conditions[i], savedGroups)) {
return true;
}
}
return false;
}
function evalAnd(obj, conditions, savedGroups) {
for (let i = 0;i < conditions.length; i++) {
if (!evalCondition(obj, conditions[i], savedGroups)) {
return false;
}
}
return true;
}
var _regexCache;
var init_mongrule = __esm(() => {
init_util();
_regexCache = {};
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/core.mjs
function getForcedFeatureValues(ctx) {
const ret = new Map;
if (ctx.global.forcedFeatureValues) {
ctx.global.forcedFeatureValues.forEach((v2, k2) => ret.set(k2, v2));
}
if (ctx.user.forcedFeatureValues) {
ctx.user.forcedFeatureValues.forEach((v2, k2) => ret.set(k2, v2));
}
return ret;
}
function getForcedVariations(ctx) {
if (ctx.global.forcedVariations && ctx.user.forcedVariations) {
return {
...ctx.global.forcedVariations,
...ctx.user.forcedVariations
};
} else if (ctx.global.forcedVariations) {
return ctx.global.forcedVariations;
} else if (ctx.user.forcedVariations) {
return ctx.user.forcedVariations;
} else {
return {};
}
}
async function safeCall(fn) {
try {
await fn();
} catch (e) {}
}
function onExperimentViewed(ctx, experiment, result) {
if (ctx.user.trackedExperiments) {
const k2 = getExperimentDedupeKey(experiment, result);
if (ctx.user.trackedExperiments.has(k2)) {
return [];
}
ctx.user.trackedExperiments.add(k2);
}
if (ctx.user.enableDevMode && ctx.user.devLogs) {
ctx.user.devLogs.push({
experiment,
result,
timestamp: Date.now().toString(),
logType: "experiment"
});
}
const calls = [];
if (ctx.global.trackingCallback) {
const cb = ctx.global.trackingCallback;
calls.push(safeCall(() => cb(experiment, result, ctx.user)));
}
if (ctx.user.trackingCallback) {
const cb = ctx.user.trackingCallback;
calls.push(safeCall(() => cb(experiment, result)));
}
if (ctx.global.eventLogger) {
const cb = ctx.global.eventLogger;
calls.push(safeCall(() => cb(EVENT_EXPERIMENT_VIEWED, {
experimentId: experiment.key,
variationId: result.key,
hashAttribute: result.hashAttribute,
hashValue: result.hashValue
}, ctx.user)));
}
return calls;
}
function onFeatureUsage(ctx, key, ret) {
if (ctx.user.trackedFeatureUsage) {
const stringifiedValue = JSON.stringify(ret.value);
if (ctx.user.trackedFeatureUsage[key] === stringifiedValue)
return;
ctx.user.trackedFeatureUsage[key] = stringifiedValue;
if (ctx.user.enableDevMode && ctx.user.devLogs) {
ctx.user.devLogs.push({
featureKey: key,
result: ret,
timestamp: Date.now().toString(),
logType: "feature"
});
}
}
if (ctx.global.onFeatureUsage) {
const cb = ctx.global.onFeatureUsage;
safeCall(() => cb(key, ret, ctx.user));
}
if (ctx.user.onFeatureUsage) {
const cb = ctx.user.onFeatureUsage;
safeCall(() => cb(key, ret));
}
if (ctx.global.eventLogger) {
const cb = ctx.global.eventLogger;
safeCall(() => cb(EVENT_FEATURE_EVALUATED, {
feature: key,
source: ret.source,
value: ret.value,
ruleId: ret.source === "defaultValue" ? "$default" : ret.ruleId || "",
variationId: ret.experimentResult ? ret.experimentResult.key : ""
}, ctx.user));
}
}
function evalFeature(id, ctx) {
if (ctx.stack.evaluatedFeatures.has(id)) {
ctx.global.log(`evalFeature: circular dependency detected: ${ctx.stack.id} -> ${id}`, {
from: ctx.stack.id,
to: id
});
return getFeatureResult(ctx, id, null, "cyclicPrerequisite");
}
ctx.stack.evaluatedFeatures.add(id);
ctx.stack.id = id;
const forcedValues = getForcedFeatureValues(ctx);
if (forcedValues.has(id)) {
ctx.global.log("Global override", {
id,
value: forcedValues.get(id)
});
return getFeatureResult(ctx, id, forcedValues.get(id), "override");
}
if (!ctx.global.features || !ctx.global.features[id]) {
ctx.global.log("Unknown feature", {
id
});
return getFeatureResult(ctx, id, null, "unknownFeature");
}
const feature = ctx.global.features[id];
if (feature.rules) {
const evaluatedFeatures = new Set(ctx.stack.evaluatedFeatures);
rules:
for (const rule of feature.rules) {
if (rule.parentConditions) {
for (const parentCondition of rule.parentConditions) {
ctx.stack.evaluatedFeatures = new Set(evaluatedFeatures);
const parentResult = evalFeature(parentCondition.id, ctx);
if (parentResult.source === "cyclicPrerequisite") {
return getFeatureResult(ctx, id, null, "cyclicPrerequisite");
}
const evalObj = {
value: parentResult.value
};
const evaled = evalCondition(evalObj, parentCondition.condition || {});
if (!evaled) {
if (parentCondition.gate) {
ctx.global.log("Feature blocked by prerequisite", {
id,
rule
});
return getFeatureResult(ctx, id, null, "prerequisite");
}
ctx.global.log("Skip rule because prerequisite evaluation fails", {
id,
rule
});
continue rules;
}
}
}
if (rule.filters && isFilteredOut(rule.filters, ctx)) {
ctx.global.log("Skip rule because of filters", {
id,
rule
});
continue;
}
if ("force" in rule) {
if (rule.condition && !conditionPasses(rule.condition, ctx)) {
ctx.global.log("Skip rule because of condition ff", {
id,
rule
});
continue;
}
if (!isIncludedInRollout(ctx, rule.seed || id, rule.hashAttribute, ctx.user.saveStickyBucketAssignmentDoc && !rule.disableStickyBucketing ? rule.fallbackAttribute : undefined, rule.range, rule.coverage, rule.hashVersion)) {
ctx.global.log("Skip rule because user not included in rollout", {
id,
rule
});
continue;
}
ctx.global.log("Force value from rule", {
id,
rule
});
if (rule.tracks) {
rule.tracks.forEach((t) => {
const calls = onExperimentViewed(ctx, t.experiment, t.result);
if (!calls.length && ctx.global.saveDeferredTrack) {
ctx.global.saveDeferredTrack({
experiment: t.experiment,
result: t.result
});
}
});
}
return getFeatureResult(ctx, id, rule.force, "force", rule.id);
}
if (!rule.variations) {
ctx.global.log("Skip invalid rule", {
id,
rule
});
continue;
}
const exp = {
variations: rule.variations,
key: rule.key || id
};
if ("coverage" in rule)
exp.coverage = rule.coverage;
if (rule.weights)
exp.weights = rule.weights;
if (rule.hashAttribute)
exp.hashAttribute = rule.hashAttribute;
if (rule.fallbackAttribute)
exp.fallbackAttribute = rule.fallbackAttribute;
if (rule.disableStickyBucketing)
exp.disableStickyBucketing = rule.disableStickyBucketing;
if (rule.bucketVersion !== undefined)
exp.bucketVersion = rule.bucketVersion;
if (rule.minBucketVersion !== undefined)
exp.minBucketVersion = rule.minBucketVersion;
if (rule.namespace)
exp.namespace = rule.namespace;
if (rule.meta)
exp.meta = rule.meta;
if (rule.ranges)
exp.ranges = rule.ranges;
if (rule.name)
exp.name = rule.name;
if (rule.phase)
exp.phase = rule.phase;
if (rule.seed)
exp.seed = rule.seed;
if (rule.hashVersion)
exp.hashVersion = rule.hashVersion;
if (rule.filters)
exp.filters = rule.filters;
if (rule.condition)
exp.condition = rule.condition;
const {
result
} = runExperiment(exp, id, ctx);
ctx.global.onExperimentEval && ctx.global.onExperimentEval(exp, result);
if (result.inExperiment && !result.passthrough) {
return getFeatureResult(ctx, id, result.value, "experiment", rule.id, exp, result);
}
}
}
ctx.global.log("Use default value", {
id,
value: feature.defaultValue
});
return getFeatureResult(ctx, id, feature.defaultValue === undefined ? null : feature.defaultValue, "defaultValue");
}
function runExperiment(experiment, featureId, ctx) {
const key = experiment.key;
const numVariations = experiment.variations.length;
if (numVariations < 2) {
ctx.global.log("Invalid experiment", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (ctx.global.enabled === false || ctx.user.enabled === false) {
ctx.global.log("Context disabled", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
experiment = mergeOverrides(experiment, ctx);
if (experiment.urlPatterns && !isURLTargeted(ctx.user.url || "", experiment.urlPatterns)) {
ctx.global.log("Skip because of url targeting", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
const qsOverride = getQueryStringOverride(key, ctx.user.url || "", numVariations);
if (qsOverride !== null) {
ctx.global.log("Force via querystring", {
id: key,
variation: qsOverride
});
return {
result: getExperimentResult(ctx, experiment, qsOverride, false, featureId)
};
}
const forcedVariations = getForcedVariations(ctx);
if (key in forcedVariations) {
const variation = forcedVariations[key];
ctx.global.log("Force via dev tools", {
id: key,
variation
});
return {
result: getExperimentResult(ctx, experiment, variation, false, featureId)
};
}
if (experiment.status === "draft" || experiment.active === false) {
ctx.global.log("Skip because inactive", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
const {
hashAttribute,
hashValue
} = getHashAttribute(ctx, experiment.hashAttribute, ctx.user.saveStickyBucketAssignmentDoc && !experiment.disableStickyBucketing ? experiment.fallbackAttribute : undefined);
if (!hashValue) {
ctx.global.log("Skip because missing hashAttribute", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
let assigned = -1;
let foundStickyBucket = false;
let stickyBucketVersionIsBlocked = false;
if (ctx.user.saveStickyBucketAssignmentDoc && !experiment.disableStickyBucketing) {
const {
variation,
versionIsBlocked
} = getStickyBucketVariation({
ctx,
expKey: experiment.key,
expBucketVersion: experiment.bucketVersion,
expHashAttribute: experiment.hashAttribute,
expFallbackAttribute: experiment.fallbackAttribute,
expMinBucketVersion: experiment.minBucketVersion,
expMeta: experiment.meta
});
foundStickyBucket = variation >= 0;
assigned = variation;
stickyBucketVersionIsBlocked = !!versionIsBlocked;
}
if (!foundStickyBucket) {
if (experiment.filters) {
if (isFilteredOut(experiment.filters, ctx)) {
ctx.global.log("Skip because of filters", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
} else if (experiment.namespace && !inNamespace(hashValue, experiment.namespace)) {
ctx.global.log("Skip because of namespace", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (experiment.include && !isIncluded(experiment.include)) {
ctx.global.log("Skip because of include function", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (experiment.condition && !conditionPasses(experiment.condition, ctx)) {
ctx.global.log("Skip because of condition exp", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (experiment.parentConditions) {
const evaluatedFeatures = new Set(ctx.stack.evaluatedFeatures);
for (const parentCondition of experiment.parentConditions) {
ctx.stack.evaluatedFeatures = new Set(evaluatedFeatures);
const parentResult = evalFeature(parentCondition.id, ctx);
if (parentResult.source === "cyclicPrerequisite") {
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
const evalObj = {
value: parentResult.value
};
if (!evalCondition(evalObj, parentCondition.condition || {})) {
ctx.global.log("Skip because prerequisite evaluation fails", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
}
}
if (experiment.groups && !hasGroupOverlap(experiment.groups, ctx)) {
ctx.global.log("Skip because of groups", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
}
if (experiment.url && !urlIsValid(experiment.url, ctx)) {
ctx.global.log("Skip because of url", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
const n = hash(experiment.seed || key, hashValue, experiment.hashVersion || 1);
if (n === null) {
ctx.global.log("Skip because of invalid hash version", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (!foundStickyBucket) {
const ranges = experiment.ranges || getBucketRanges(numVariations, experiment.coverage === undefined ? 1 : experiment.coverage, experiment.weights);
assigned = chooseVariation(n, ranges);
}
if (stickyBucketVersionIsBlocked) {
ctx.global.log("Skip because sticky bucket version is blocked", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId, undefined, true)
};
}
if (assigned < 0) {
ctx.global.log("Skip because of coverage", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if ("force" in experiment) {
ctx.global.log("Force variation", {
id: key,
variation: experiment.force
});
return {
result: getExperimentResult(ctx, experiment, experiment.force === undefined ? -1 : experiment.force, false, featureId)
};
}
if (ctx.global.qaMode || ctx.user.qaMode) {
ctx.global.log("Skip because QA mode", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
if (experiment.status === "stopped") {
ctx.global.log("Skip because stopped", {
id: key
});
return {
result: getExperimentResult(ctx, experiment, -1, false, featureId)
};
}
const result = getExperimentResult(ctx, experiment, assigned, true, featureId, n, foundStickyBucket);
if (ctx.user.saveStickyBucketAssignmentDoc && !experiment.disableStickyBucketing) {
const {
changed,
key: attrKey,
doc
} = generateStickyBucketAssignmentDoc(ctx, hashAttribute, toString2(hashValue), {
[getStickyBucketExperimentKey(experiment.key, experiment.bucketVersion)]: result.key
});
if (changed) {
ctx.user.stickyBucketAssignmentDocs = ctx.user.stickyBucketAssignmentDocs || {};
ctx.user.stickyBucketAssignmentDocs[attrKey] = doc;
ctx.user.saveStickyBucketAssignmentDoc(doc);
}
}
const trackingCalls = onExperimentViewed(ctx, experiment, result);
if (trackingCalls.length === 0 && ctx.global.saveDeferredTrack) {
ctx.global.saveDeferredTrack({
experiment,
result
});
}
const trackingCall = !trackingCalls.length ? undefined : trackingCalls.length === 1 ? trackingCalls[0] : Promise.all(trackingCalls).then(() => {});
"changeId" in experiment && experiment.changeId && ctx.global.recordChangeId && ctx.global.recordChangeId(experiment.changeId);
ctx.global.log("In experiment", {
id: key,
variation: result.variationId
});
return {
result,
trackingCall
};
}
function getFeatureResult(ctx, key, value, source, ruleId, experiment, result) {
const ret = {
value,
on: !!value,
off: !value,
source,
ruleId: ruleId || ""
};
if (experiment)
ret.experiment = experiment;
if (result)
ret.experimentResult = result;
if (source !== "override") {
onFeatureUsage(ctx, key, ret);
}
return ret;
}
function getAttributes(ctx) {
return {
...ctx.user.attributes,
...ctx.user.attributeOverrides
};
}
function conditionPasses(condition, ctx) {
return evalCondition(getAttributes(ctx), condition, ctx.global.savedGroups || {});
}
function isFilteredOut(filters, ctx) {
return filters.some((filter) => {
const {
hashValue
} = getHashAttribute(ctx, filter.attribute);
if (!hashValue)
return true;
const n = hash(filter.seed, hashValue, filter.hashVersion || 2);
if (n === null)
return true;
return !filter.ranges.some((r) => inRange(n, r));
});
}
function isIncludedInRollout(ctx, seed, hashAttribute, fallbackAttribute, range, coverage, hashVersion) {
if (!range && coverage === undefined)
return true;
if (!range && coverage === 0)
return false;
const {
hashValue
} = getHashAttribute(ctx, hashAttribute, fallbackAttribute);
if (!hashValue) {
return false;
}
const n = hash(seed, hashValue, hashVersion || 1);
if (n === null)
return false;
return range ? inRange(n, range) : coverage !== undefined ? n <= coverage : true;
}
function getExperimentResult(ctx, experiment, variationIndex, hashUsed, featureId, bucket, stickyBucketUsed) {
let inExperiment = true;
if (variationIndex < 0 || variationIndex >= experiment.variations.length) {
variationIndex = 0;
inExperiment = false;
}
const {
hashAttribute,
hashValue
} = getHashAttribute(ctx, experiment.hashAttribute, ctx.user.saveStickyBucketAssignmentDoc && !experiment.disableStickyBucketing ? experiment.fallbackAttribute : undefined);
const meta = experiment.meta ? experiment.meta[variationIndex] : {};
const res = {
key: meta.key || "" + variationIndex,
featureId,
inExperiment,
hashUsed,
variationId: variationIndex,
value: experiment.variations[variationIndex],
hashAttribute,
hashValue,
stickyBucketUsed: !!stickyBucketUsed
};
if (meta.name)
res.name = meta.name;
if (bucket !== undefined)
res.bucket = bucket;
if (meta.passthrough)
res.passthrough = meta.passthrough;
return res;
}
function mergeOverrides(experiment, ctx) {
const key = experiment.key;
const o = ctx.global.overrides;
if (o && o[key]) {
experiment = Object.assign({}, experiment, o[key]);
if (typeof experiment.url === "string") {
experiment.url = getUrlRegExp(experiment.url);
}
}
return experiment;
}
function getHashAttribute(ctx, attr, fallback) {
let hashAttribute = attr || "id";
let hashValue = "";
const attributes = getAttributes(ctx);
if (attributes[hashAttribute]) {
hashValue = attributes[hashAttribute];
}
if (!hashValue && fallback) {
if (attributes[fallback]) {
hashValue = attributes[fallback];
}
if (hashValue) {
hashAttribute = fallback;
}
}
return {
hashAttribute,
hashValue
};
}
function urlIsValid(urlRegex, ctx) {
const url = ctx.user.url;
if (!url)
return false;
const pathOnly = url.replace(/^https?:\/\//, "").replace(/^[^/]*\//, "/");
if (urlRegex.test(url))
return true;
if (urlRegex.test(pathOnly))
return true;
return false;
}
function hasGroupOverlap(expGroups, ctx) {
const groups = ctx.global.groups || {};
for (let i = 0;i < expGroups.length; i++) {
if (groups[expGroups[i]])
return true;
}
return false;
}
function getStickyBucketVariation({
ctx,
expKey,
expBucketVersion,
expHashAttribute,
expFallbackAttribute,
expMinBucketVersion,
expMeta
}) {
expBucketVersion = expBucketVersion || 0;
expMinBucketVersion = expMinBucketVersion || 0;
expHashAttribute = expHashAttribute || "id";
expMeta = expMeta || [];
const id = getStickyBucketExperimentKey(expKey, expBucketVersion);
const assignments = getStickyBucketAssignments(ctx, expHashAttribute, expFallbackAttribute);
if (expMinBucketVersion > 0) {
for (let i = 0;i < expMinBucketVersion; i++) {
const blockedKey = getStickyBucketExperimentKey(expKey, i);
if (assignments[blockedKey] !== undefined) {
return {
variation: -1,
versionIsBlocked: true
};
}
}
}
const variationKey = assignments[id];
if (variationKey === undefined)
return {
variation: -1
};
const variation = expMeta.findIndex((m2) => m2.key === variationKey);
if (variation < 0)
return {
variation: -1
};
return {
variation
};
}
function getStickyBucketExperimentKey(experimentKey, experimentBucketVersion) {
experimentBucketVersion = experimentBucketVersion || 0;
return `${experimentKey}__${experimentBucketVersion}`;
}
function getStickyBucketAttributeKey(attributeName, attributeValue) {
return `${attributeName}||${attributeValue}`;
}
function getStickyBucketAssignments(ctx, expHashAttribute, expFallbackAttribute) {
if (!ctx.user.stickyBucketAssignmentDocs)
return {};
const {
hashAttribute,
hashValue
} = getHashAttribute(ctx, expHashAttribute);
const hashKey = getStickyBucketAttributeKey(hashAttribute, toString2(hashValue));
const {
hashAttribute: fallbackAttribute,
hashValue: fallbackValue
} = getHashAttribute(ctx, expFallbackAttribute);
const fallbackKey = fallbackValue ? getStickyBucketAttributeKey(fallbackAttribute, toString2(fallbackValue)) : null;
const assignments = {};
if (fallbackKey && ctx.user.stickyBucketAssignmentDocs[fallbackKey]) {
Object.assign(assignments, ctx.user.stickyBucketAssignmentDocs[fallbackKey].assignments || {});
}
if (ctx.user.stickyBucketAssignmentDocs[hashKey]) {
Object.assign(assignments, ctx.user.stickyBucketAssignmentDocs[hashKey].assignments || {});
}
return assignments;
}
function generateStickyBucketAssignmentDoc(ctx, attributeName, attributeValue, assignments) {
const key = getStickyBucketAttributeKey(attributeName, attributeValue);
const existingAssignments = ctx.user.stickyBucketAssignmentDocs && ctx.user.stickyBucketAssignmentDocs[key] ? ctx.user.stickyBucketAssignmentDocs[key].assignments || {} : {};
const newAssignments = {
...existingAssignments,
...assignments
};
const changed = JSON.stringify(existingAssignments) !== JSON.stringify(newAssignments);
return {
key,
doc: {
attributeName,
attributeValue,
assignments: newAssignments
},
changed
};
}
function deriveStickyBucketIdentifierAttributes(ctx, data) {
const attributes = new Set;
const features = data && data.features ? data.features : ctx.global.features || {};
const experiments = data && data.experiments ? data.experiments : ctx.global.experiments || [];
Object.keys(features).forEach((id) => {
const feature = features[id];
if (feature.rules) {
for (const rule of feature.rules) {
if (rule.variations) {
attributes.add(rule.hashAttribute || "id");
if (rule.fallbackAttribute) {
attributes.add(rule.fallbackAttribute);
}
}
}
}
});
experiments.map((experiment) => {
attributes.add(experiment.hashAttribute || "id");
if (experiment.fallbackAttribute) {
attributes.add(experiment.fallbackAttribute);
}
});
return Array.from(attributes);
}
async function getAllStickyBucketAssignmentDocs(ctx, stickyBucketService, data) {
const attributes = getStickyBucketAttributes(ctx, data);
return stickyBucketService.getAllAssignments(attributes);
}
function getStickyBucketAttributes(ctx, data) {
const attributes = {};
const stickyBucketIdentifierAttributes = deriveStickyBucketIdentifierAttributes(ctx, data);
stickyBucketIdentifierAttributes.forEach((attr) => {
const {
hashValue
} = getHashAttribute(ctx, attr);
attributes[attr] = toString2(hashValue);
});
return attributes;
}
async function decryptPayload(data, decryptionKey, subtle) {
data = {
...data
};
if (data.encryptedFeatures) {
try {
data.features = JSON.parse(await decrypt(data.encryptedFeatures, decryptionKey, subtle));
} catch (e) {
console.error(e);
}
delete data.encryptedFeatures;
}
if (data.encryptedExperiments) {
try {
data.experiments = JSON.parse(await decrypt(data.encryptedExperiments, decryptionKey, subtle));
} catch (e) {
console.error(e);
}
delete data.encryptedExperiments;
}
if (data.encryptedSavedGroups) {
try {
data.savedGroups = JSON.parse(await decrypt(data.encryptedSavedGroups, decryptionKey, subtle));
} catch (e) {
console.error(e);
}
delete data.encryptedSavedGroups;
}
return data;
}
function getApiHosts(options) {
const defaultHost = options.apiHost || "https://cdn.growthbook.io";
return {
apiHost: defaultHost.replace(/\/*$/, ""),
streamingHost: (options.streamingHost || defaultHost).replace(/\/*$/, ""),
apiRequestHeaders: options.apiHostRequestHeaders,
streamingHostRequestHeaders: options.streamingHostRequestHeaders
};
}
function getExperimentDedupeKey(experiment, result) {
return result.hashAttribute + result.hashValue + experiment.key + result.variationId;
}
var EVENT_FEATURE_EVALUATED = "Feature Evaluated", EVENT_EXPERIMENT_VIEWED = "Experiment Viewed";
var init_core = __esm(() => {
init_mongrule();
init_util();
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/GrowthBook.mjs
class GrowthBook {
constructor(options) {
options = options || {};
this.version = SDK_VERSION;
this._options = this.context = options;
this._renderer = options.renderer || null;
this._trackedExperiments = new Set;
this._completedChangeIds = new Set;
this._trackedFeatures = {};
this.debug = !!options.debug;
this._subscriptions = new Set;
this.ready = false;
this._assigned = new Map;
this._activeAutoExperiments = new Map;
this._triggeredExpKeys = new Set;
this._initialized = false;
this._redirectedUrl = "";
this._deferredTrackingCalls = new Map;
this._autoExperimentsAllowed = !options.disableExperimentsOnLoad;
this._destroyCallbacks = [];
this.logs = [];
this.log = this.log.bind(this);
this._saveDeferredTrack = this._saveDeferredTrack.bind(this);
this._onExperimentEval = this._onExperimentEval.bind(this);
this._fireSubscriptions = this._fireSubscriptions.bind(this);
this._recordChangedId = this._recordChangedId.bind(this);
if (options.remoteEval) {
if (options.decryptionKey) {
throw new Error("Encryption is not available for remoteEval");
}
if (!options.clientKey) {
throw new Error("Missing clientKey");
}
let isGbHost = false;
try {
isGbHost = !!new URL(options.apiHost || "").hostname.match(/growthbook\.io$/i);
} catch (e) {}
if (isGbHost) {
throw new Error("Cannot use remoteEval on GrowthBook Cloud");
}
} else {
if (options.cacheKeyAttributes) {
throw new Error("cacheKeyAttributes are only used for remoteEval");
}
}
if (options.stickyBucketService) {
const s = options.stickyBucketService;
this._saveStickyBucketAssignmentDoc = (doc) => {
return s.saveAssignments(doc);
};
}
if (options.plugins) {
for (const plugin of options.plugins) {
plugin(this);
}
}
if (options.features) {
this.ready = true;
}
if (isBrowser && options.enableDevMode) {
window._growthbook = this;
document.dispatchEvent(new Event("gbloaded"));
}
if (options.experiments) {
this.ready = true;
this._updateAllAutoExperiments();
}
if (this._options.stickyBucketService && this._options.stickyBucketAssignmentDocs) {
for (const key in this._options.stickyBucketAssignmentDocs) {
const doc = this._options.stickyBucketAssignmentDocs[key];
if (doc) {
this._options.stickyBucketService.saveAssignments(doc).catch(() => {});
}
}
}
if (this.ready) {
this.refreshStickyBuckets(this.getPayload());
}
}
async setPayload(payload) {
this._payload = payload;
const data = await decryptPayload(payload, this._options.decryptionKey);
this._decryptedPayload = data;
await this.refreshStickyBuckets(data);
if (data.features) {
this._options.features = data.features;
}
if (data.savedGroups) {
this._options.savedGroups = data.savedGroups;
}
if (data.experiments) {
this._options.experiments = data.experiments;
this._updateAllAutoExperiments();
}
this.ready = true;
this._render();
}
initSync(options) {
this._initialized = true;
const payload = options.payload;
if (payload.encryptedExperiments || payload.encryptedFeatures) {
throw new Error("initSync does not support encrypted payloads");
}
if (this._options.stickyBucketService && !this._options.stickyBucketAssignmentDocs) {
this._options.stickyBucketAssignmentDocs = this.generateStickyBucketAssignmentDocsSync(this._options.stickyBucketService, payload);
}
this._payload = payload;
this._decryptedPayload = payload;
if (payload.features) {
this._options.features = payload.features;
}
if (payload.experiments) {
this._options.experiments = payload.experiments;
this._updateAllAutoExperiments();
}
this.ready = true;
startStreaming(this, options);
return this;
}
async init(options) {
this._initialized = true;
options = options || {};
if (options.cacheSettings) {
configureCache(options.cacheSettings);
}
if (options.payload) {
await this.setPayload(options.payload);
startStreaming(this, options);
return {
success: true,
source: "init"
};
} else {
const {
data,
...res
} = await this._refresh({
...options,
allowStale: true
});
startStreaming(this, options);
await this.setPayload(data || {});
return res;
}
}
async loadFeatures(options) {
options = options || {};
await this.init({
skipCache: options.skipCache,
timeout: options.timeout,
streaming: (this._options.backgroundSync ?? true) && (options.autoRefresh || this._options.subscribeToChanges)
});
}
async refreshFeatures(options) {
const res = await this._refresh({
...options || {},
allowStale: false
});
if (res.data) {
await this.setPayload(res.data);
}
}
getApiInfo() {
return [this.getApiHosts().apiHost, this.getClientKey()];
}
getApiHosts() {
return getApiHosts(this._options);
}
getClientKey() {
return this._options.clientKey || "";
}
getPayload() {
return this._payload || {
features: this.getFeatures(),
experiments: this.getExperiments()
};
}
getDecryptedPayload() {
return this._decryptedPayload || this.getPayload();
}
isRemoteEval() {
return this._options.remoteEval || false;
}
getCacheKeyAttributes() {
return this._options.cacheKeyAttributes;
}
async _refresh({
timeout,
skipCache,
allowStale,
streaming: streaming2
}) {
if (!this._options.clientKey) {
throw new Error("Missing clientKey");
}
return refreshFeatures({
instance: this,
timeout,
skipCache: skipCache || this._options.disableCache,
allowStale,
backgroundSync: streaming2 ?? this._options.backgroundSync ?? true
});
}
_render() {
if (this._renderer) {
try {
this._renderer();
} catch (e) {
console.error("Failed to render", e);
}
}
}
setFeatures(features) {
this._options.features = features;
this.ready = true;
this._render();
}
async setEncryptedFeatures(encryptedString, decryptionKey, subtle) {
const featuresJSON = await decrypt(encryptedString, decryptionKey || this._options.decryptionKey, subtle);
this.setFeatures(JSON.parse(featuresJSON));
}
setExperiments(experiments) {
this._options.experiments = experiments;
this.ready = true;
this._updateAllAutoExperiments();
}
async setEncryptedExperiments(encryptedString, decryptionKey, subtle) {
const experimentsJSON = await decrypt(encryptedString, decryptionKey || this._options.decryptionKey, subtle);
this.setExperiments(JSON.parse(experimentsJSON));
}
async setAttributes(attributes) {
this._options.attributes = attributes;
if (this._options.stickyBucketService) {
await this.refreshStickyBuckets();
}
if (this._options.remoteEval) {
await this._refreshForRemoteEval();
return;
}
this._render();
this._updateAllAutoExperiments();
}
async updateAttributes(attributes) {
return this.setAttributes({
...this._options.attributes,
...attributes
});
}
async setAttributeOverrides(overrides) {
this._options.attributeOverrides = overrides;
if (this._options.stickyBucketService) {
await this.refreshStickyBuckets();
}
if (this._options.remoteEval) {
await this._refreshForRemoteEval();
return;
}
this._render();
this._updateAllAutoExperiments();
}
async setForcedVariations(vars) {
this._options.forcedVariations = vars || {};
if (this._options.remoteEval) {
await this._refreshForRemoteEval();
return;
}
this._render();
this._updateAllAutoExperiments();
}
setForcedFeatures(map) {
this._options.forcedFeatureValues = map;
this._render();
}
async setURL(url) {
if (url === this._options.url)
return;
this._options.url = url;
this._redirectedUrl = "";
if (this._options.remoteEval) {
await this._refreshForRemoteEval();
this._updateAllAutoExperiments(true);
return;
}
this._updateAllAutoExperiments(true);
}
getAttributes() {
return {
...this._options.attributes,
...this._options.attributeOverrides
};
}
getForcedVariations() {
return this._options.forcedVariations || {};
}
getForcedFeatures() {
return this._options.forcedFeatureValues || new Map;
}
getStickyBucketAssignmentDocs() {
return this._options.stickyBucketAssignmentDocs || {};
}
getUrl() {
return this._options.url || "";
}
getFeatures() {
return this._options.features || {};
}
getExperiments() {
return this._options.experiments || [];
}
getCompletedChangeIds() {
return Array.from(this._completedChangeIds);
}
subscribe(cb) {
this._subscriptions.add(cb);
return () => {
this._subscriptions.delete(cb);
};
}
async _refreshForRemoteEval() {
if (!this._options.remoteEval)
return;
if (!this._initialized)
return;
const res = await this._refresh({
allowStale: false
});
if (res.data) {
await this.setPayload(res.data);
}
}
getAllResults() {
return new Map(this._assigned);
}
onDestroy(cb) {
this._destroyCallbacks.push(cb);
}
isDestroyed() {
return !!this._destroyed;
}
destroy(options) {
options = options || {};
this._destroyed = true;
this._destroyCallbacks.forEach((cb) => {
try {
cb();
} catch (e) {
console.error(e);
}
});
this._subscriptions.clear();
this._assigned.clear();
this._trackedExperiments.clear();
this._completedChangeIds.clear();
this._deferredTrackingCalls.clear();
this._trackedFeatures = {};
this._destroyCallbacks = [];
this._payload = undefined;
this._saveStickyBucketAssignmentDoc = undefined;
unsubscribe(this);
if (options.destroyAllStreams) {
clearAutoRefresh();
}
this.logs = [];
if (isBrowser && window._growthbook === this) {
delete window._growthbook;
}
this._activeAutoExperiments.forEach((exp) => {
exp.undo();
});
this._activeAutoExperiments.clear();
this._triggeredExpKeys.clear();
}
setRenderer(renderer) {
this._renderer = renderer;
}
forceVariation(key, variation) {
this._options.forcedVariations = this._options.forcedVariations || {};
this._options.forcedVariations[key] = variation;
if (this._options.remoteEval) {
this._refreshForRemoteEval();
return;
}
this._updateAllAutoExperiments();
this._render();
}
run(experiment) {
const {
result
} = runExperiment(experiment, null, this._getEvalContext());
this._onExperimentEval(experiment, result);
return result;
}
triggerExperiment(key) {
this._triggeredExpKeys.add(key);
if (!this._options.experiments)
return null;
const experiments = this._options.experiments.filter((exp) => exp.key === key);
return experiments.map((exp) => {
return this._runAutoExperiment(exp);
}).filter((res) => res !== null);
}
triggerAutoExperiments() {
this._autoExperimentsAllowed = true;
this._updateAllAutoExperiments(true);
}
_getEvalContext() {
return {
user: this._getUserContext(),
global: this._getGlobalContext(),
stack: {
evaluatedFeatures: new Set
}
};
}
_getUserContext() {
return {
attributes: this._options.user ? {
...this._options.user,
...this._options.attributes
} : this._options.attributes,
enableDevMode: this._options.enableDevMode,
blockedChangeIds: this._options.blockedChangeIds,
stickyBucketAssignmentDocs: this._options.stickyBucketAssignmentDocs,
url: this._getContextUrl(),
forcedVariations: this._options.forcedVariations,
forcedFeatureValues: this._options.forcedFeatureValues,
attributeOverrides: this._options.attributeOverrides,
saveStickyBucketAssignmentDoc: this._saveStickyBucketAssignmentDoc,
trackingCallback: this._options.trackingCallback,
onFeatureUsage: this._options.onFeatureUsage,
devLogs: this.logs,
trackedExperiments: this._trackedExperiments,
trackedFeatureUsage: this._trackedFeatures
};
}
_getGlobalContext() {
return {
features: this._options.features,
experiments: this._options.experiments,
log: this.log,
enabled: this._options.enabled,
qaMode: this._options.qaMode,
savedGroups: this._options.savedGroups,
groups: this._options.groups,
overrides: this._options.overrides,
onExperimentEval: this._onExperimentEval,
recordChangeId: this._recordChangedId,
saveDeferredTrack: this._saveDeferredTrack,
eventLogger: this._options.eventLogger
};
}
_runAutoExperiment(experiment, forceRerun) {
const existing = this._activeAutoExperiments.get(experiment);
if (experiment.manual && !this._triggeredExpKeys.has(experiment.key) && !existing)
return null;
const isBlocked = this._isAutoExperimentBlockedByContext(experiment);
if (isBlocked) {
this.log("Auto experiment blocked", {
id: experiment.key
});
}
let result;
let trackingCall;
if (isBlocked) {
result = getExperimentResult(this._getEvalContext(), experiment, -1, false, "");
} else {
({
result,
trackingCall
} = runExperiment(experiment, null, this._getEvalContext()));
this._onExperimentEval(experiment, result);
}
const valueHash = JSON.stringify(result.value);
if (!forceRerun && result.inExperiment && existing && existing.valueHash === valueHash) {
return result;
}
if (existing)
this._undoActiveAutoExperiment(experiment);
if (result.inExperiment) {
const changeType = getAutoExperimentChangeType(experiment);
if (changeType === "redirect" && result.value.urlRedirect && experiment.urlPatterns) {
const url = experiment.persistQueryString ? mergeQueryStrings(this._getContextUrl(), result.value.urlRedirect) : result.value.urlRedirect;
if (isURLTargeted(url, experiment.urlPatterns)) {
this.log("Skipping redirect because original URL matches redirect URL", {
id: experiment.key
});
return result;
}
this._redirectedUrl = url;
const {
navigate,
delay
} = this._getNavigateFunction();
if (navigate) {
if (isBrowser) {
Promise.all([...trackingCall ? [promiseTimeout(trackingCall, this._options.maxNavigateDelay ?? 1000)] : [], new Promise((resolve2) => window.setTimeout(resolve2, this._options.navigateDelay ?? delay))]).then(() => {
try {
navigate(url);
} catch (e) {
console.error(e);
}
});
} else {
try {
navigate(url);
} catch (e) {
console.error(e);
}
}
}
} else if (changeType === "visual") {
const undo = this._options.applyDomChangesCallback ? this._options.applyDomChangesCallback(result.value) : this._applyDOMChanges(result.value);
if (undo) {
this._activeAutoExperiments.set(experiment, {
undo,
valueHash
});
}
}
}
return result;
}
_undoActiveAutoExperiment(exp) {
const data = this._activeAutoExperiments.get(exp);
if (data) {
data.undo();
this._activeAutoExperiments.delete(exp);
}
}
_updateAllAutoExperiments(forceRerun) {
if (!this._autoExperimentsAllowed)
return;
const experiments = this._options.experiments || [];
const keys2 = new Set(experiments);
this._activeAutoExperiments.forEach((v2, k2) => {
if (!keys2.has(k2)) {
v2.undo();
this._activeAutoExperiments.delete(k2);
}
});
for (const exp of experiments) {
const result = this._runAutoExperiment(exp, forceRerun);
if (result && result.inExperiment && getAutoExperimentChangeType(exp) === "redirect") {
break;
}
}
}
_onExperimentEval(experiment, result) {
const prev = this._assigned.get(experiment.key);
this._assigned.set(experiment.key, {
experiment,
result
});
if (this._subscriptions.size > 0) {
this._fireSubscriptions(experiment, result, prev);
}
}
_fireSubscriptions(experiment, result, prev) {
if (!prev || prev.result.inExperiment !== result.inExperiment || prev.result.variationId !== result.variationId) {
this._subscriptions.forEach((cb) => {
try {
cb(experiment, result);
} catch (e) {
console.error(e);
}
});
}
}
_recordChangedId(id) {
this._completedChangeIds.add(id);
}
isOn(key) {
return this.evalFeature(key).on;
}
isOff(key) {
return this.evalFeature(key).off;
}
getFeatureValue(key, defaultValue) {
const value = this.evalFeature(key).value;
return value === null ? defaultValue : value;
}
feature(id) {
return this.evalFeature(id);
}
evalFeature(id) {
return evalFeature(id, this._getEvalContext());
}
log(msg, ctx) {
if (!this.debug)
return;
if (this._options.log)
this._options.log(msg, ctx);
else
console.log(msg, ctx);
}
getDeferredTrackingCalls() {
return Array.from(this._deferredTrackingCalls.values());
}
setDeferredTrackingCalls(calls) {
this._deferredTrackingCalls = new Map(calls.filter((c) => c && c.experiment && c.result).map((c) => {
return [getExperimentDedupeKey(c.experiment, c.result), c];
}));
}
async fireDeferredTrackingCalls() {
if (!this._options.trackingCallback)
return;
const promises = [];
this._deferredTrackingCalls.forEach((call) => {
if (!call || !call.experiment || !call.result) {
console.error("Invalid deferred tracking call", {
call
});
} else {
promises.push(this._options.trackingCallback(call.experiment, call.result));
}
});
this._deferredTrackingCalls.clear();
await Promise.all(promises);
}
setTrackingCallback(callback) {
this._options.trackingCallback = callback;
this.fireDeferredTrackingCalls();
}
setFeatureUsageCallback(callback) {
this._options.onFeatureUsage = callback;
}
setEventLogger(logger) {
this._options.eventLogger = logger;
}
async logEvent(eventName, properties) {
if (this._destroyed) {
console.error("Cannot log event to destroyed GrowthBook instance");
return;
}
if (this._options.enableDevMode) {
this.logs.push({
eventName,
properties,
timestamp: Date.now().toString(),
logType: "event"
});
}
if (this._options.eventLogger) {
try {
await this._options.eventLogger(eventName, properties || {}, this._getUserContext());
} catch (e) {
console.error(e);
}
} else {
console.error("No event logger configured");
}
}
_saveDeferredTrack(data) {
this._deferredTrackingCalls.set(getExperimentDedupeKey(data.experiment, data.result), data);
}
_getContextUrl() {
return this._options.url || (isBrowser ? window.location.href : "");
}
_isAutoExperimentBlockedByContext(experiment) {
const changeType = getAutoExperimentChangeType(experiment);
if (changeType === "visual") {
if (this._options.disableVisualExperiments)
return true;
if (this._options.disableJsInjection) {
if (experiment.variations.some((v2) => v2.js)) {
return true;
}
}
} else if (changeType === "redirect") {
if (this._options.disableUrlRedirectExperiments)
return true;
try {
const current = new URL(this._getContextUrl());
for (const v2 of experiment.variations) {
if (!v2 || !v2.urlRedirect)
continue;
const url = new URL(v2.urlRedirect);
if (this._options.disableCrossOriginUrlRedirectExperiments) {
if (url.protocol !== current.protocol)
return true;
if (url.host !== current.host)
return true;
}
}
} catch (e) {
this.log("Error parsing current or redirect URL", {
id: experiment.key,
error: e
});
return true;
}
} else {
return true;
}
if (experiment.changeId && (this._options.blockedChangeIds || []).includes(experiment.changeId)) {
return true;
}
return false;
}
getRedirectUrl() {
return this._redirectedUrl;
}
_getNavigateFunction() {
if (this._options.navigate) {
return {
navigate: this._options.navigate,
delay: 0
};
} else if (isBrowser) {
return {
navigate: (url) => {
window.location.replace(url);
},
delay: 100
};
}
return {
navigate: null,
delay: 0
};
}
_applyDOMChanges(changes) {
if (!isBrowser)
return;
const undo = [];
if (changes.css) {
const s = document.createElement("style");
s.innerHTML = changes.css;
document.head.appendChild(s);
undo.push(() => s.remove());
}
if (changes.js) {
const script = document.createElement("script");
script.innerHTML = changes.js;
if (this._options.jsInjectionNonce) {
script.nonce = this._options.jsInjectionNonce;
}
document.head.appendChild(script);
undo.push(() => script.remove());
}
if (changes.domMutations) {
changes.domMutations.forEach((mutation) => {
undo.push(import_dom_mutator.default.declarative(mutation).revert);
});
}
return () => {
undo.forEach((fn) => fn());
};
}
async refreshStickyBuckets(data) {
if (this._options.stickyBucketService) {
const ctx = this._getEvalContext();
const docs = await getAllStickyBucketAssignmentDocs(ctx, this._options.stickyBucketService, data);
this._options.stickyBucketAssignmentDocs = docs;
}
}
generateStickyBucketAssignmentDocsSync(stickyBucketService, payload) {
if (!("getAllAssignmentsSync" in stickyBucketService)) {
console.error("generating StickyBucketAssignmentDocs docs requires StickyBucketServiceSync");
return;
}
const ctx = this._getEvalContext();
const attributes = getStickyBucketAttributes(ctx, payload);
return stickyBucketService.getAllAssignmentsSync(attributes);
}
inDevMode() {
return !!this._options.enableDevMode;
}
}
var import_dom_mutator, isBrowser, SDK_VERSION;
var init_GrowthBook = __esm(() => {
init_util();
init_feature_repository();
init_core();
import_dom_mutator = __toESM(require_dist(), 1);
isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
SDK_VERSION = loadSDKVersion();
});
// node_modules/.pnpm/@growthbook+growthbook@1.6.5/node_modules/@growthbook/growthbook/dist/esm/index.mjs
var init_esm = __esm(() => {
init_GrowthBook();
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isEqual.js
function isEqual(value, other) {
return _baseIsEqual_default(value, other);
}
var isEqual_default;
var init_isEqual = __esm(() => {
init__baseIsEqual();
isEqual_default = isEqual;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/lodash.js
var init_lodash = __esm(() => {
init_isEqual();
init_memoize();
});
// src/constants/keys.ts
function getGrowthBookClientKey() {
return process.env.USER_TYPE === "ant" ? isEnvTruthy(process.env.ENABLE_GROWTHBOOK_DEV) ? "sdk-yZQvlplybuXjYh6L" : "sdk-xRVcrliHIlrg4og4" : "sdk-zAZezfDKGoZuXXKe";
}
var init_keys2 = __esm(() => {
init_envUtils();
});
// src/utils/cwd.ts
import { AsyncLocalStorage } from "async_hooks";
function runWithCwdOverride(cwd2, fn) {
return cwdOverrideStorage.run(cwd2, fn);
}
function pwd() {
return cwdOverrideStorage.getStore() ?? getCwdState();
}
function getCwd() {
try {
return pwd();
} catch {
return getOriginalCwd();
}
}
var cwdOverrideStorage;
var init_cwd = __esm(() => {
init_state();
cwdOverrideStorage = new AsyncLocalStorage;
});
// src/utils/diagLogs.ts
import { dirname as dirname4 } from "path";
function logForDiagnosticsNoPII(level, event, data) {
const logFile = getDiagnosticLogFile();
if (!logFile) {
return;
}
const entry = {
timestamp: new Date().toISOString(),
level,
event,
data: data ?? {}
};
const fs2 = getFsImplementation();
const line = jsonStringify(entry) + `
`;
try {
fs2.appendFileSync(logFile, line);
} catch {
try {
fs2.mkdirSync(dirname4(logFile));
fs2.appendFileSync(logFile, line);
} catch {}
}
}
function getDiagnosticLogFile() {
return process.env.CLAUDE_CODE_DIAGNOSTICS_FILE;
}
async function withDiagnosticsTiming(event, fn, getData) {
const startTime = Date.now();
logForDiagnosticsNoPII("info", `${event}_started`);
try {
const result = await fn();
const additionalData = getData ? getData(result) : {};
logForDiagnosticsNoPII("info", `${event}_completed`, {
duration_ms: Date.now() - startTime,
...additionalData
});
return result;
} catch (error2) {
logForDiagnosticsNoPII("error", `${event}_failed`, {
duration_ms: Date.now() - startTime
});
throw error2;
}
}
var init_diagLogs = __esm(() => {
init_fsOperations();
init_slowOperations();
});
// src/utils/bundledMode.ts
function isRunningWithBun() {
return process.versions.bun !== undefined;
}
function isInBundledMode() {
return typeof Bun !== "undefined" && Array.isArray(Bun.embeddedFiles) && Bun.embeddedFiles.length > 0;
}
// node_modules/.pnpm/is-plain-obj@4.1.0/node_modules/is-plain-obj/index.js
function isPlainObject(value) {
if (typeof value !== "object" || value === null) {
return false;
}
const prototype = Object.getPrototypeOf(value);
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
}
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/file-url.js
import { fileURLToPath } from "node:url";
var safeNormalizeFileUrl = (file, name) => {
const fileString = normalizeFileUrl(normalizeDenoExecPath(file));
if (typeof fileString !== "string") {
throw new TypeError(`${name} must be a string or a file URL: ${fileString}.`);
}
return fileString;
}, normalizeDenoExecPath = (file) => isDenoExecPath(file) ? file.toString() : file, isDenoExecPath = (file) => typeof file !== "string" && file && Object.getPrototypeOf(file) === String.prototype, normalizeFileUrl = (file) => file instanceof URL ? fileURLToPath(file) : file;
var init_file_url = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/parameters.js
var normalizeParameters = (rawFile, rawArguments = [], rawOptions = {}) => {
const filePath = safeNormalizeFileUrl(rawFile, "First argument");
const [commandArguments, options] = isPlainObject(rawArguments) ? [[], rawArguments] : [rawArguments, rawOptions];
if (!Array.isArray(commandArguments)) {
throw new TypeError(`Second argument must be either an array of arguments or an options object: ${commandArguments}`);
}
if (commandArguments.some((commandArgument) => typeof commandArgument === "object" && commandArgument !== null)) {
throw new TypeError(`Second argument must be an array of strings: ${commandArguments}`);
}
const normalizedArguments = commandArguments.map(String);
const nullByteArgument = normalizedArguments.find((normalizedArgument) => normalizedArgument.includes("\x00"));
if (nullByteArgument !== undefined) {
throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${nullByteArgument}`);
}
if (!isPlainObject(options)) {
throw new TypeError(`Last argument must be an options object: ${options}`);
}
return [filePath, normalizedArguments, options];
};
var init_parameters = __esm(() => {
init_file_url();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/utils/uint-array.js
import { StringDecoder } from "node:string_decoder";
var objectToString2, isArrayBuffer = (value) => objectToString2.call(value) === "[object ArrayBuffer]", isUint8Array = (value) => objectToString2.call(value) === "[object Uint8Array]", bufferToUint8Array = (buffer) => new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength), textEncoder, stringToUint8Array = (string) => textEncoder.encode(string), textDecoder, uint8ArrayToString = (uint8Array) => textDecoder.decode(uint8Array), joinToString = (uint8ArraysOrStrings, encoding) => {
const strings = uint8ArraysToStrings(uint8ArraysOrStrings, encoding);
return strings.join("");
}, uint8ArraysToStrings = (uint8ArraysOrStrings, encoding) => {
if (encoding === "utf8" && uint8ArraysOrStrings.every((uint8ArrayOrString) => typeof uint8ArrayOrString === "string")) {
return uint8ArraysOrStrings;
}
const decoder = new StringDecoder(encoding);
const strings = uint8ArraysOrStrings.map((uint8ArrayOrString) => typeof uint8ArrayOrString === "string" ? stringToUint8Array(uint8ArrayOrString) : uint8ArrayOrString).map((uint8Array) => decoder.write(uint8Array));
const finalString = decoder.end();
return finalString === "" ? strings : [...strings, finalString];
}, joinToUint8Array = (uint8ArraysOrStrings) => {
if (uint8ArraysOrStrings.length === 1 && isUint8Array(uint8ArraysOrStrings[0])) {
return uint8ArraysOrStrings[0];
}
return concatUint8Arrays(stringsToUint8Arrays(uint8ArraysOrStrings));
}, stringsToUint8Arrays = (uint8ArraysOrStrings) => uint8ArraysOrStrings.map((uint8ArrayOrString) => typeof uint8ArrayOrString === "string" ? stringToUint8Array(uint8ArrayOrString) : uint8ArrayOrString), concatUint8Arrays = (uint8Arrays) => {
const result = new Uint8Array(getJoinLength(uint8Arrays));
let index = 0;
for (const uint8Array of uint8Arrays) {
result.set(uint8Array, index);
index += uint8Array.length;
}
return result;
}, getJoinLength = (uint8Arrays) => {
let joinLength = 0;
for (const uint8Array of uint8Arrays) {
joinLength += uint8Array.length;
}
return joinLength;
};
var init_uint_array = __esm(() => {
({ toString: objectToString2 } = Object.prototype);
textEncoder = new TextEncoder;
textDecoder = new TextDecoder;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/template.js
import { ChildProcess } from "node:child_process";
var isTemplateString = (templates) => Array.isArray(templates) && Array.isArray(templates.raw), parseTemplates = (templates, expressions) => {
let tokens = [];
for (const [index, template] of templates.entries()) {
tokens = parseTemplate({
templates,
expressions,
tokens,
index,
template
});
}
if (tokens.length === 0) {
throw new TypeError("Template script must not be empty");
}
const [file, ...commandArguments] = tokens;
return [file, commandArguments, {}];
}, parseTemplate = ({ templates, expressions, tokens, index, template }) => {
if (template === undefined) {
throw new TypeError(`Invalid backslash sequence: ${templates.raw[index]}`);
}
const { nextTokens, leadingWhitespaces, trailingWhitespaces } = splitByWhitespaces(template, templates.raw[index]);
const newTokens = concatTokens(tokens, nextTokens, leadingWhitespaces);
if (index === expressions.length) {
return newTokens;
}
const expression = expressions[index];
const expressionTokens = Array.isArray(expression) ? expression.map((expression2) => parseExpression(expression2)) : [parseExpression(expression)];
return concatTokens(newTokens, expressionTokens, trailingWhitespaces);
}, splitByWhitespaces = (template, rawTemplate) => {
if (rawTemplate.length === 0) {
return { nextTokens: [], leadingWhitespaces: false, trailingWhitespaces: false };
}
const nextTokens = [];
let templateStart = 0;
const leadingWhitespaces = DELIMITERS.has(rawTemplate[0]);
for (let templateIndex = 0, rawIndex = 0;templateIndex < template.length; templateIndex += 1, rawIndex += 1) {
const rawCharacter = rawTemplate[rawIndex];
if (DELIMITERS.has(rawCharacter)) {
if (templateStart !== templateIndex) {
nextTokens.push(template.slice(templateStart, templateIndex));
}
templateStart = templateIndex + 1;
} else if (rawCharacter === "\\") {
const nextRawCharacter = rawTemplate[rawIndex + 1];
if (nextRawCharacter === `
`) {
templateIndex -= 1;
rawIndex += 1;
} else if (nextRawCharacter === "u" && rawTemplate[rawIndex + 2] === "{") {
rawIndex = rawTemplate.indexOf("}", rawIndex + 3);
} else {
rawIndex += ESCAPE_LENGTH[nextRawCharacter] ?? 1;
}
}
}
const trailingWhitespaces = templateStart === template.length;
if (!trailingWhitespaces) {
nextTokens.push(template.slice(templateStart));
}
return { nextTokens, leadingWhitespaces, trailingWhitespaces };
}, DELIMITERS, ESCAPE_LENGTH, concatTokens = (tokens, nextTokens, isSeparated) => isSeparated || tokens.length === 0 || nextTokens.length === 0 ? [...tokens, ...nextTokens] : [
...tokens.slice(0, -1),
`${tokens.at(-1)}${nextTokens[0]}`,
...nextTokens.slice(1)
], parseExpression = (expression) => {
const typeOfExpression = typeof expression;
if (typeOfExpression === "string") {
return expression;
}
if (typeOfExpression === "number") {
return String(expression);
}
if (isPlainObject(expression) && (("stdout" in expression) || ("isMaxBuffer" in expression))) {
return getSubprocessResult(expression);
}
if (expression instanceof ChildProcess || Object.prototype.toString.call(expression) === "[object Promise]") {
throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");
}
throw new TypeError(`Unexpected "${typeOfExpression}" in template expression`);
}, getSubprocessResult = ({ stdout }) => {
if (typeof stdout === "string") {
return stdout;
}
if (isUint8Array(stdout)) {
return uint8ArrayToString(stdout);
}
if (stdout === undefined) {
throw new TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);
}
throw new TypeError(`Unexpected "${typeof stdout}" stdout in template expression`);
};
var init_template = __esm(() => {
init_uint_array();
DELIMITERS = new Set([" ", "\t", "\r", `
`]);
ESCAPE_LENGTH = { x: 3, u: 5 };
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/utils/standard-stream.js
import process3 from "node:process";
var isStandardStream = (stream) => STANDARD_STREAMS.includes(stream), STANDARD_STREAMS, STANDARD_STREAMS_ALIASES, getStreamName = (fdNumber) => STANDARD_STREAMS_ALIASES[fdNumber] ?? `stdio[${fdNumber}]`;
var init_standard_stream = __esm(() => {
STANDARD_STREAMS = [process3.stdin, process3.stdout, process3.stderr];
STANDARD_STREAMS_ALIASES = ["stdin", "stdout", "stderr"];
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/specific.js
import { debuglog } from "node:util";
var normalizeFdSpecificOptions = (options) => {
const optionsCopy = { ...options };
for (const optionName of FD_SPECIFIC_OPTIONS) {
optionsCopy[optionName] = normalizeFdSpecificOption(options, optionName);
}
return optionsCopy;
}, normalizeFdSpecificOption = (options, optionName) => {
const optionBaseArray = Array.from({ length: getStdioLength(options) + 1 });
const optionArray = normalizeFdSpecificValue(options[optionName], optionBaseArray, optionName);
return addDefaultValue(optionArray, optionName);
}, getStdioLength = ({ stdio }) => Array.isArray(stdio) ? Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length) : STANDARD_STREAMS_ALIASES.length, normalizeFdSpecificValue = (optionValue, optionArray, optionName) => isPlainObject(optionValue) ? normalizeOptionObject(optionValue, optionArray, optionName) : optionArray.fill(optionValue), normalizeOptionObject = (optionValue, optionArray, optionName) => {
for (const fdName of Object.keys(optionValue).sort(compareFdName)) {
for (const fdNumber of parseFdName(fdName, optionName, optionArray)) {
optionArray[fdNumber] = optionValue[fdName];
}
}
return optionArray;
}, compareFdName = (fdNameA, fdNameB) => getFdNameOrder(fdNameA) < getFdNameOrder(fdNameB) ? 1 : -1, getFdNameOrder = (fdName) => {
if (fdName === "stdout" || fdName === "stderr") {
return 0;
}
return fdName === "all" ? 2 : 1;
}, parseFdName = (fdName, optionName, optionArray) => {
if (fdName === "ipc") {
return [optionArray.length - 1];
}
const fdNumber = parseFd(fdName);
if (fdNumber === undefined || fdNumber === 0) {
throw new TypeError(`"${optionName}.${fdName}" is invalid.
It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", "${optionName}.ipc", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);
}
if (fdNumber >= optionArray.length) {
throw new TypeError(`"${optionName}.${fdName}" is invalid: that file descriptor does not exist.
Please set the "stdio" option to ensure that file descriptor exists.`);
}
return fdNumber === "all" ? [1, 2] : [fdNumber];
}, parseFd = (fdName) => {
if (fdName === "all") {
return fdName;
}
if (STANDARD_STREAMS_ALIASES.includes(fdName)) {
return STANDARD_STREAMS_ALIASES.indexOf(fdName);
}
const regexpResult = FD_REGEXP.exec(fdName);
if (regexpResult !== null) {
return Number(regexpResult[1]);
}
}, FD_REGEXP, addDefaultValue = (optionArray, optionName) => optionArray.map((optionValue) => optionValue === undefined ? DEFAULT_OPTIONS[optionName] : optionValue), verboseDefault, DEFAULT_OPTIONS, FD_SPECIFIC_OPTIONS, getFdSpecificValue = (optionArray, fdNumber) => fdNumber === "ipc" ? optionArray.at(-1) : optionArray[fdNumber];
var init_specific = __esm(() => {
init_standard_stream();
FD_REGEXP = /^fd(\d+)$/;
verboseDefault = debuglog("execa").enabled ? "full" : "none";
DEFAULT_OPTIONS = {
lines: false,
buffer: true,
maxBuffer: 1000 * 1000 * 100,
verbose: verboseDefault,
stripFinalNewline: true
};
FD_SPECIFIC_OPTIONS = ["lines", "buffer", "maxBuffer", "verbose", "stripFinalNewline"];
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/values.js
var isVerbose = ({ verbose }, fdNumber) => getFdVerbose(verbose, fdNumber) !== "none", isFullVerbose = ({ verbose }, fdNumber) => !["none", "short"].includes(getFdVerbose(verbose, fdNumber)), getVerboseFunction = ({ verbose }, fdNumber) => {
const fdVerbose = getFdVerbose(verbose, fdNumber);
return isVerboseFunction(fdVerbose) ? fdVerbose : undefined;
}, getFdVerbose = (verbose, fdNumber) => fdNumber === undefined ? getFdGenericVerbose(verbose) : getFdSpecificValue(verbose, fdNumber), getFdGenericVerbose = (verbose) => verbose.find((fdVerbose) => isVerboseFunction(fdVerbose)) ?? VERBOSE_VALUES.findLast((fdVerbose) => verbose.includes(fdVerbose)), isVerboseFunction = (fdVerbose) => typeof fdVerbose === "function", VERBOSE_VALUES;
var init_values2 = __esm(() => {
init_specific();
VERBOSE_VALUES = ["none", "short", "full"];
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/escape.js
import { platform } from "node:process";
import { stripVTControlCharacters } from "node:util";
var joinCommand = (filePath, rawArguments) => {
const fileAndArguments = [filePath, ...rawArguments];
const command = fileAndArguments.join(" ");
const escapedCommand = fileAndArguments.map((fileAndArgument) => quoteString(escapeControlCharacters(fileAndArgument))).join(" ");
return { command, escapedCommand };
}, escapeLines = (lines) => stripVTControlCharacters(lines).split(`
`).map((line) => escapeControlCharacters(line)).join(`
`), escapeControlCharacters = (line) => line.replaceAll(SPECIAL_CHAR_REGEXP, (character) => escapeControlCharacter(character)), escapeControlCharacter = (character) => {
const commonEscape = COMMON_ESCAPES[character];
if (commonEscape !== undefined) {
return commonEscape;
}
const codepoint = character.codePointAt(0);
const codepointHex = codepoint.toString(16);
return codepoint <= ASTRAL_START ? `\\u${codepointHex.padStart(4, "0")}` : `\\U${codepointHex}`;
}, getSpecialCharRegExp = () => {
try {
return new RegExp("\\p{Separator}|\\p{Other}", "gu");
} catch {
return /[\s\u0000-\u001F\u007F-\u009F\u00AD]/g;
}
}, SPECIAL_CHAR_REGEXP, COMMON_ESCAPES, ASTRAL_START = 65535, quoteString = (escapedArgument) => {
if (NO_ESCAPE_REGEXP.test(escapedArgument)) {
return escapedArgument;
}
return platform === "win32" ? `"${escapedArgument.replaceAll('"', '""')}"` : `'${escapedArgument.replaceAll("'", "'\\''")}'`;
}, NO_ESCAPE_REGEXP;
var init_escape = __esm(() => {
SPECIAL_CHAR_REGEXP = getSpecialCharRegExp();
COMMON_ESCAPES = {
" ": " ",
"\b": "\\b",
"\f": "\\f",
"\n": "\\n",
"\r": "\\r",
"\t": "\\t"
};
NO_ESCAPE_REGEXP = /^[\w./-]+$/;
});
// node_modules/.pnpm/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
import process4 from "node:process";
function isUnicodeSupported() {
const { env: env2 } = process4;
const { TERM, TERM_PROGRAM } = env2;
if (process4.platform !== "win32") {
return TERM !== "linux";
}
return Boolean(env2.WT_SESSION) || Boolean(env2.TERMINUS_SUBLIME) || env2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
}
var init_is_unicode_supported = () => {};
// node_modules/.pnpm/figures@6.1.0/node_modules/figures/index.js
var common, specialMainSymbols, specialFallbackSymbols, mainSymbols, fallbackSymbols, shouldUseMain, figures, figures_default, replacements;
var init_figures = __esm(() => {
init_is_unicode_supported();
common = {
circleQuestionMark: "(?)",
questionMarkPrefix: "(?)",
square: "█",
squareDarkShade: "▓",
squareMediumShade: "▒",
squareLightShade: "░",
squareTop: "▀",
squareBottom: "▄",
squareLeft: "▌",
squareRight: "▐",
squareCenter: "■",
bullet: "●",
dot: "․",
ellipsis: "…",
pointerSmall: "›",
triangleUp: "▲",
triangleUpSmall: "▴",
triangleDown: "▼",
triangleDownSmall: "▾",
triangleLeftSmall: "◂",
triangleRightSmall: "▸",
home: "⌂",
heart: "♥",
musicNote: "♪",
musicNoteBeamed: "♫",
arrowUp: "↑",
arrowDown: "↓",
arrowLeft: "←",
arrowRight: "→",
arrowLeftRight: "↔",
arrowUpDown: "↕",
almostEqual: "≈",
notEqual: "≠",
lessOrEqual: "≤",
greaterOrEqual: "≥",
identical: "≡",
infinity: "∞",
subscriptZero: "₀",
subscriptOne: "₁",
subscriptTwo: "₂",
subscriptThree: "₃",
subscriptFour: "₄",
subscriptFive: "₅",
subscriptSix: "₆",
subscriptSeven: "₇",
subscriptEight: "₈",
subscriptNine: "₉",
oneHalf: "½",
oneThird: "⅓",
oneQuarter: "¼",
oneFifth: "⅕",
oneSixth: "⅙",
oneEighth: "⅛",
twoThirds: "⅔",
twoFifths: "⅖",
threeQuarters: "¾",
threeFifths: "⅗",
threeEighths: "⅜",
fourFifths: "⅘",
fiveSixths: "⅚",
fiveEighths: "⅝",
sevenEighths: "⅞",
line: "─",
lineBold: "━",
lineDouble: "═",
lineDashed0: "┄",
lineDashed1: "┅",
lineDashed2: "┈",
lineDashed3: "┉",
lineDashed4: "╌",
lineDashed5: "╍",
lineDashed6: "╴",
lineDashed7: "╶",
lineDashed8: "╸",
lineDashed9: "╺",
lineDashed10: "╼",
lineDashed11: "╾",
lineDashed12: "−",
lineDashed13: "–",
lineDashed14: "‐",
lineDashed15: "⁃",
lineVertical: "│",
lineVerticalBold: "┃",
lineVerticalDouble: "║",
lineVerticalDashed0: "┆",
lineVerticalDashed1: "┇",
lineVerticalDashed2: "┊",
lineVerticalDashed3: "┋",
lineVerticalDashed4: "╎",
lineVerticalDashed5: "╏",
lineVerticalDashed6: "╵",
lineVerticalDashed7: "╷",
lineVerticalDashed8: "╹",
lineVerticalDashed9: "╻",
lineVerticalDashed10: "╽",
lineVerticalDashed11: "╿",
lineDownLeft: "┐",
lineDownLeftArc: "╮",
lineDownBoldLeftBold: "┓",
lineDownBoldLeft: "┒",
lineDownLeftBold: "┑",
lineDownDoubleLeftDouble: "╗",
lineDownDoubleLeft: "╖",
lineDownLeftDouble: "╕",
lineDownRight: "┌",
lineDownRightArc: "╭",
lineDownBoldRightBold: "┏",
lineDownBoldRight: "┎",
lineDownRightBold: "┍",
lineDownDoubleRightDouble: "╔",
lineDownDoubleRight: "╓",
lineDownRightDouble: "╒",
lineUpLeft: "┘",
lineUpLeftArc: "╯",
lineUpBoldLeftBold: "┛",
lineUpBoldLeft: "┚",
lineUpLeftBold: "┙",
lineUpDoubleLeftDouble: "╝",
lineUpDoubleLeft: "╜",
lineUpLeftDouble: "╛",
lineUpRight: "└",
lineUpRightArc: "╰",
lineUpBoldRightBold: "┗",
lineUpBoldRight: "┖",
lineUpRightBold: "┕",
lineUpDoubleRightDouble: "╚",
lineUpDoubleRight: "╙",
lineUpRightDouble: "╘",
lineUpDownLeft: "┤",
lineUpBoldDownBoldLeftBold: "┫",
lineUpBoldDownBoldLeft: "┨",
lineUpDownLeftBold: "┥",
lineUpBoldDownLeftBold: "┩",
lineUpDownBoldLeftBold: "┪",
lineUpDownBoldLeft: "┧",
lineUpBoldDownLeft: "┦",
lineUpDoubleDownDoubleLeftDouble: "╣",
lineUpDoubleDownDoubleLeft: "╢",
lineUpDownLeftDouble: "╡",
lineUpDownRight: "├",
lineUpBoldDownBoldRightBold: "┣",
lineUpBoldDownBoldRight: "┠",
lineUpDownRightBold: "┝",
lineUpBoldDownRightBold: "┡",
lineUpDownBoldRightBold: "┢",
lineUpDownBoldRight: "┟",
lineUpBoldDownRight: "┞",
lineUpDoubleDownDoubleRightDouble: "╠",
lineUpDoubleDownDoubleRight: "╟",
lineUpDownRightDouble: "╞",
lineDownLeftRight: "┬",
lineDownBoldLeftBoldRightBold: "┳",
lineDownLeftBoldRightBold: "┯",
lineDownBoldLeftRight: "┰",
lineDownBoldLeftBoldRight: "┱",
lineDownBoldLeftRightBold: "┲",
lineDownLeftRightBold: "┮",
lineDownLeftBoldRight: "┭",
lineDownDoubleLeftDoubleRightDouble: "╦",
lineDownDoubleLeftRight: "╥",
lineDownLeftDoubleRightDouble: "╤",
lineUpLeftRight: "┴",
lineUpBoldLeftBoldRightBold: "┻",
lineUpLeftBoldRightBold: "┷",
lineUpBoldLeftRight: "┸",
lineUpBoldLeftBoldRight: "┹",
lineUpBoldLeftRightBold: "┺",
lineUpLeftRightBold: "┶",
lineUpLeftBoldRight: "┵",
lineUpDoubleLeftDoubleRightDouble: "╩",
lineUpDoubleLeftRight: "╨",
lineUpLeftDoubleRightDouble: "╧",
lineUpDownLeftRight: "┼",
lineUpBoldDownBoldLeftBoldRightBold: "╋",
lineUpDownBoldLeftBoldRightBold: "╈",
lineUpBoldDownLeftBoldRightBold: "╇",
lineUpBoldDownBoldLeftRightBold: "╊",
lineUpBoldDownBoldLeftBoldRight: "╉",
lineUpBoldDownLeftRight: "╀",
lineUpDownBoldLeftRight: "╁",
lineUpDownLeftBoldRight: "┽",
lineUpDownLeftRightBold: "┾",
lineUpBoldDownBoldLeftRight: "╂",
lineUpDownLeftBoldRightBold: "┿",
lineUpBoldDownLeftBoldRight: "╃",
lineUpBoldDownLeftRightBold: "╄",
lineUpDownBoldLeftBoldRight: "╅",
lineUpDownBoldLeftRightBold: "╆",
lineUpDoubleDownDoubleLeftDoubleRightDouble: "╬",
lineUpDoubleDownDoubleLeftRight: "╫",
lineUpDownLeftDoubleRightDouble: "╪",
lineCross: "╳",
lineBackslash: "╲",
lineSlash: "╱"
};
specialMainSymbols = {
tick: "✔",
info: "ℹ",
warning: "⚠",
cross: "✘",
squareSmall: "◻",
squareSmallFilled: "◼",
circle: "◯",
circleFilled: "◉",
circleDotted: "◌",
circleDouble: "◎",
circleCircle: "ⓞ",
circleCross: "ⓧ",
circlePipe: "Ⓘ",
radioOn: "◉",
radioOff: "◯",
checkboxOn: "☒",
checkboxOff: "☐",
checkboxCircleOn: "ⓧ",
checkboxCircleOff: "Ⓘ",
pointer: "❯",
triangleUpOutline: "△",
triangleLeft: "◀",
triangleRight: "▶",
lozenge: "◆",
lozengeOutline: "◇",
hamburger: "☰",
smiley: "㋡",
mustache: "෴",
star: "★",
play: "▶",
nodejs: "⬢",
oneSeventh: "⅐",
oneNinth: "⅑",
oneTenth: "⅒"
};
specialFallbackSymbols = {
tick: "√",
info: "i",
warning: "‼",
cross: "×",
squareSmall: "□",
squareSmallFilled: "■",
circle: "( )",
circleFilled: "(*)",
circleDotted: "( )",
circleDouble: "( )",
circleCircle: "(○)",
circleCross: "(×)",
circlePipe: "(│)",
radioOn: "(*)",
radioOff: "( )",
checkboxOn: "[×]",
checkboxOff: "[ ]",
checkboxCircleOn: "(×)",
checkboxCircleOff: "( )",
pointer: ">",
triangleUpOutline: "∆",
triangleLeft: "◄",
triangleRight: "►",
lozenge: "♦",
lozengeOutline: "◊",
hamburger: "≡",
smiley: "☺",
mustache: "┌─┐",
star: "✶",
play: "►",
nodejs: "♦",
oneSeventh: "1/7",
oneNinth: "1/9",
oneTenth: "1/10"
};
mainSymbols = { ...common, ...specialMainSymbols };
fallbackSymbols = { ...common, ...specialFallbackSymbols };
shouldUseMain = isUnicodeSupported();
figures = shouldUseMain ? mainSymbols : fallbackSymbols;
figures_default = figures;
replacements = Object.entries(specialMainSymbols);
});
// node_modules/.pnpm/yoctocolors@2.1.2/node_modules/yoctocolors/base.js
import tty2 from "node:tty";
var hasColors, format = (open2, close) => {
if (!hasColors) {
return (input) => input;
}
const openCode = `\x1B[${open2}m`;
const closeCode = `\x1B[${close}m`;
return (input) => {
const string = input + "";
let index = string.indexOf(closeCode);
if (index === -1) {
return openCode + string + closeCode;
}
let result = openCode;
let lastIndex = 0;
const reopenOnNestedClose = close === 22;
const replaceCode = (reopenOnNestedClose ? closeCode : "") + openCode;
while (index !== -1) {
result += string.slice(lastIndex, index) + replaceCode;
lastIndex = index + closeCode.length;
index = string.indexOf(closeCode, lastIndex);
}
result += string.slice(lastIndex) + closeCode;
return result;
};
}, reset, bold, dim, italic, underline, overline, inverse, hidden, strikethrough, black, red, green, yellow, blue, magenta, cyan, white, gray, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bgGray, redBright, greenBright, yellowBright, blueBright, magentaBright, cyanBright, whiteBright, bgRedBright, bgGreenBright, bgYellowBright, bgBlueBright, bgMagentaBright, bgCyanBright, bgWhiteBright;
var init_base = __esm(() => {
hasColors = tty2?.WriteStream?.prototype?.hasColors?.() ?? false;
reset = format(0, 0);
bold = format(1, 22);
dim = format(2, 22);
italic = format(3, 23);
underline = format(4, 24);
overline = format(53, 55);
inverse = format(7, 27);
hidden = format(8, 28);
strikethrough = format(9, 29);
black = format(30, 39);
red = format(31, 39);
green = format(32, 39);
yellow = format(33, 39);
blue = format(34, 39);
magenta = format(35, 39);
cyan = format(36, 39);
white = format(37, 39);
gray = format(90, 39);
bgBlack = format(40, 49);
bgRed = format(41, 49);
bgGreen = format(42, 49);
bgYellow = format(43, 49);
bgBlue = format(44, 49);
bgMagenta = format(45, 49);
bgCyan = format(46, 49);
bgWhite = format(47, 49);
bgGray = format(100, 49);
redBright = format(91, 39);
greenBright = format(92, 39);
yellowBright = format(93, 39);
blueBright = format(94, 39);
magentaBright = format(95, 39);
cyanBright = format(96, 39);
whiteBright = format(97, 39);
bgRedBright = format(101, 49);
bgGreenBright = format(102, 49);
bgYellowBright = format(103, 49);
bgBlueBright = format(104, 49);
bgMagentaBright = format(105, 49);
bgCyanBright = format(106, 49);
bgWhiteBright = format(107, 49);
});
// node_modules/.pnpm/yoctocolors@2.1.2/node_modules/yoctocolors/index.js
var init_yoctocolors = __esm(() => {
init_base();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/default.js
var defaultVerboseFunction = ({
type,
message,
timestamp,
piped,
commandId,
result: { failed = false } = {},
options: { reject = true }
}) => {
const timestampString = serializeTimestamp(timestamp);
const icon = ICONS[type]({ failed, reject, piped });
const color = COLORS[type]({ reject });
return `${gray(`[${timestampString}]`)} ${gray(`[${commandId}]`)} ${color(icon)} ${color(message)}`;
}, serializeTimestamp = (timestamp) => `${padField(timestamp.getHours(), 2)}:${padField(timestamp.getMinutes(), 2)}:${padField(timestamp.getSeconds(), 2)}.${padField(timestamp.getMilliseconds(), 3)}`, padField = (field, padding) => String(field).padStart(padding, "0"), getFinalIcon = ({ failed, reject }) => {
if (!failed) {
return figures_default.tick;
}
return reject ? figures_default.cross : figures_default.warning;
}, ICONS, identity2 = (string) => string, COLORS;
var init_default = __esm(() => {
init_figures();
init_yoctocolors();
ICONS = {
command: ({ piped }) => piped ? "|" : "$",
output: () => " ",
ipc: () => "*",
error: getFinalIcon,
duration: getFinalIcon
};
COLORS = {
command: () => bold,
output: () => identity2,
ipc: () => identity2,
error: ({ reject }) => reject ? redBright : yellowBright,
duration: () => gray
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/custom.js
var applyVerboseOnLines = (printedLines, verboseInfo, fdNumber) => {
const verboseFunction = getVerboseFunction(verboseInfo, fdNumber);
return printedLines.map(({ verboseLine, verboseObject }) => applyVerboseFunction(verboseLine, verboseObject, verboseFunction)).filter((printedLine) => printedLine !== undefined).map((printedLine) => appendNewline(printedLine)).join("");
}, applyVerboseFunction = (verboseLine, verboseObject, verboseFunction) => {
if (verboseFunction === undefined) {
return verboseLine;
}
const printedLine = verboseFunction(verboseLine, verboseObject);
if (typeof printedLine === "string") {
return printedLine;
}
}, appendNewline = (printedLine) => printedLine.endsWith(`
`) ? printedLine : `${printedLine}
`;
var init_custom = __esm(() => {
init_values2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/log.js
import { inspect } from "node:util";
var verboseLog = ({ type, verboseMessage, fdNumber, verboseInfo, result }) => {
const verboseObject = getVerboseObject({ type, result, verboseInfo });
const printedLines = getPrintedLines(verboseMessage, verboseObject);
const finalLines = applyVerboseOnLines(printedLines, verboseInfo, fdNumber);
if (finalLines !== "") {
console.warn(finalLines.slice(0, -1));
}
}, getVerboseObject = ({
type,
result,
verboseInfo: { escapedCommand, commandId, rawOptions: { piped = false, ...options } }
}) => ({
type,
escapedCommand,
commandId: `${commandId}`,
timestamp: new Date,
piped,
result,
options
}), getPrintedLines = (verboseMessage, verboseObject) => verboseMessage.split(`
`).map((message) => getPrintedLine({ ...verboseObject, message })), getPrintedLine = (verboseObject) => {
const verboseLine = defaultVerboseFunction(verboseObject);
return { verboseLine, verboseObject };
}, serializeVerboseMessage = (message) => {
const messageString = typeof message === "string" ? message : inspect(message);
const escapedMessage = escapeLines(messageString);
return escapedMessage.replaceAll("\t", " ".repeat(TAB_SIZE));
}, TAB_SIZE = 2;
var init_log2 = __esm(() => {
init_escape();
init_default();
init_custom();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/start.js
var logCommand = (escapedCommand, verboseInfo) => {
if (!isVerbose(verboseInfo)) {
return;
}
verboseLog({
type: "command",
verboseMessage: escapedCommand,
verboseInfo
});
};
var init_start = __esm(() => {
init_values2();
init_log2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/info.js
var getVerboseInfo = (verbose, escapedCommand, rawOptions) => {
validateVerbose(verbose);
const commandId = getCommandId(verbose);
return {
verbose,
escapedCommand,
commandId,
rawOptions
};
}, getCommandId = (verbose) => isVerbose({ verbose }) ? COMMAND_ID++ : undefined, COMMAND_ID = 0n, validateVerbose = (verbose) => {
for (const fdVerbose of verbose) {
if (fdVerbose === false) {
throw new TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);
}
if (fdVerbose === true) {
throw new TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);
}
if (!VERBOSE_VALUES.includes(fdVerbose) && !isVerboseFunction(fdVerbose)) {
const allowedValues = VERBOSE_VALUES.map((allowedValue) => `'${allowedValue}'`).join(", ");
throw new TypeError(`The "verbose" option must not be ${fdVerbose}. Allowed values are: ${allowedValues} or a function.`);
}
}
};
var init_info = __esm(() => {
init_values2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/duration.js
import { hrtime } from "node:process";
var getStartTime = () => hrtime.bigint(), getDurationMs = (startTime) => Number(hrtime.bigint() - startTime) / 1e6;
var init_duration = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/command.js
var handleCommand = (filePath, rawArguments, rawOptions) => {
const startTime = getStartTime();
const { command, escapedCommand } = joinCommand(filePath, rawArguments);
const verbose = normalizeFdSpecificOption(rawOptions, "verbose");
const verboseInfo = getVerboseInfo(verbose, escapedCommand, { ...rawOptions });
logCommand(escapedCommand, verboseInfo);
return {
command,
escapedCommand,
startTime,
verboseInfo
};
};
var init_command = __esm(() => {
init_start();
init_info();
init_duration();
init_escape();
init_specific();
});
// node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js
var require_windows = __commonJS((exports, module) => {
module.exports = isexe;
isexe.sync = sync;
var fs2 = __require("fs");
function checkPathExt(path2, options) {
var pathext = options.pathExt !== undefined ? options.pathExt : process.env.PATHEXT;
if (!pathext) {
return true;
}
pathext = pathext.split(";");
if (pathext.indexOf("") !== -1) {
return true;
}
for (var i = 0;i < pathext.length; i++) {
var p = pathext[i].toLowerCase();
if (p && path2.substr(-p.length).toLowerCase() === p) {
return true;
}
}
return false;
}
function checkStat(stat, path2, options) {
if (!stat.isSymbolicLink() && !stat.isFile()) {
return false;
}
return checkPathExt(path2, options);
}
function isexe(path2, options, cb) {
fs2.stat(path2, function(er, stat) {
cb(er, er ? false : checkStat(stat, path2, options));
});
}
function sync(path2, options) {
return checkStat(fs2.statSync(path2), path2, options);
}
});
// node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js
var require_mode = __commonJS((exports, module) => {
module.exports = isexe;
isexe.sync = sync;
var fs2 = __require("fs");
function isexe(path2, options, cb) {
fs2.stat(path2, function(er, stat) {
cb(er, er ? false : checkStat(stat, options));
});
}
function sync(path2, options) {
return checkStat(fs2.statSync(path2), options);
}
function checkStat(stat, options) {
return stat.isFile() && checkMode(stat, options);
}
function checkMode(stat, options) {
var mod2 = stat.mode;
var uid = stat.uid;
var gid = stat.gid;
var myUid = options.uid !== undefined ? options.uid : process.getuid && process.getuid();
var myGid = options.gid !== undefined ? options.gid : process.getgid && process.getgid();
var u3 = parseInt("100", 8);
var g2 = parseInt("010", 8);
var o = parseInt("001", 8);
var ug = u3 | g2;
var ret = mod2 & o || mod2 & g2 && gid === myGid || mod2 & u3 && uid === myUid || mod2 & ug && myUid === 0;
return ret;
}
});
// node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js
var require_isexe = __commonJS((exports, module) => {
var fs2 = __require("fs");
var core;
if (process.platform === "win32" || global.TESTING_WINDOWS) {
core = require_windows();
} else {
core = require_mode();
}
module.exports = isexe;
isexe.sync = sync;
function isexe(path2, options, cb) {
if (typeof options === "function") {
cb = options;
options = {};
}
if (!cb) {
if (typeof Promise !== "function") {
throw new TypeError("callback not provided");
}
return new Promise(function(resolve2, reject) {
isexe(path2, options || {}, function(er, is) {
if (er) {
reject(er);
} else {
resolve2(is);
}
});
});
}
core(path2, options || {}, function(er, is) {
if (er) {
if (er.code === "EACCES" || options && options.ignoreErrors) {
er = null;
is = false;
}
}
cb(er, is);
});
}
function sync(path2, options) {
try {
return core.sync(path2, options || {});
} catch (er) {
if (options && options.ignoreErrors || er.code === "EACCES") {
return false;
} else {
throw er;
}
}
}
});
// node_modules/.pnpm/which@2.0.2/node_modules/which/which.js
var require_which = __commonJS((exports, module) => {
var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
var path2 = __require("path");
var COLON = isWindows ? ";" : ":";
var isexe = require_isexe();
var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
var getPathInfo = (cmd, opt) => {
const colon = opt.colon || COLON;
const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [
...isWindows ? [process.cwd()] : [],
...(opt.path || process.env.PATH || "").split(colon)
];
const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
const pathExt = isWindows ? pathExtExe.split(colon) : [""];
if (isWindows) {
if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
pathExt.unshift("");
}
return {
pathEnv,
pathExt,
pathExtExe
};
};
var which = (cmd, opt, cb) => {
if (typeof opt === "function") {
cb = opt;
opt = {};
}
if (!opt)
opt = {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
const step = (i) => new Promise((resolve2, reject) => {
if (i === pathEnv.length)
return opt.all && found.length ? resolve2(found) : reject(getNotFoundError(cmd));
const ppRaw = pathEnv[i];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path2.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
resolve2(subStep(p, i, 0));
});
const subStep = (p, i, ii) => new Promise((resolve2, reject) => {
if (ii === pathExt.length)
return resolve2(step(i + 1));
const ext = pathExt[ii];
isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
if (!er && is) {
if (opt.all)
found.push(p + ext);
else
return resolve2(p + ext);
}
return resolve2(subStep(p, i, ii + 1));
});
});
return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
};
var whichSync = (cmd, opt) => {
opt = opt || {};
const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
const found = [];
for (let i = 0;i < pathEnv.length; i++) {
const ppRaw = pathEnv[i];
const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
const pCmd = path2.join(pathPart, cmd);
const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
for (let j2 = 0;j2 < pathExt.length; j2++) {
const cur = p + pathExt[j2];
try {
const is = isexe.sync(cur, { pathExt: pathExtExe });
if (is) {
if (opt.all)
found.push(cur);
else
return cur;
}
} catch (ex) {}
}
}
if (opt.all && found.length)
return found;
if (opt.nothrow)
return null;
throw getNotFoundError(cmd);
};
module.exports = which;
which.sync = whichSync;
});
// node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js
var require_path_key = __commonJS((exports, module) => {
var pathKey = (options = {}) => {
const environment = options.env || process.env;
const platform2 = options.platform || process.platform;
if (platform2 !== "win32") {
return "PATH";
}
return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
};
module.exports = pathKey;
module.exports.default = pathKey;
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js
var require_resolveCommand = __commonJS((exports, module) => {
var path2 = __require("path");
var which = require_which();
var getPathKey = require_path_key();
function resolveCommandAttempt(parsed, withoutPathExt) {
const env2 = parsed.options.env || process.env;
const cwd2 = process.cwd();
const hasCustomCwd = parsed.options.cwd != null;
const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;
if (shouldSwitchCwd) {
try {
process.chdir(parsed.options.cwd);
} catch (err) {}
}
let resolved;
try {
resolved = which.sync(parsed.command, {
path: env2[getPathKey({ env: env2 })],
pathExt: withoutPathExt ? path2.delimiter : undefined
});
} catch (e) {} finally {
if (shouldSwitchCwd) {
process.chdir(cwd2);
}
}
if (resolved) {
resolved = path2.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
}
return resolved;
}
function resolveCommand(parsed) {
return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
}
module.exports = resolveCommand;
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js
var require_escape = __commonJS((exports, module) => {
var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
function escapeCommand(arg) {
arg = arg.replace(metaCharsRegExp, "^$1");
return arg;
}
function escapeArgument(arg, doubleEscapeMetaChars) {
arg = `${arg}`;
arg = arg.replace(/(?=(\\+?)?)\1"/g, "$1$1\\\"");
arg = arg.replace(/(?=(\\+?)?)\1$/, "$1$1");
arg = `"${arg}"`;
arg = arg.replace(metaCharsRegExp, "^$1");
if (doubleEscapeMetaChars) {
arg = arg.replace(metaCharsRegExp, "^$1");
}
return arg;
}
exports.command = escapeCommand;
exports.argument = escapeArgument;
});
// node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js
var require_shebang_regex = __commonJS((exports, module) => {
module.exports = /^#!(.*)/;
});
// node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js
var require_shebang_command = __commonJS((exports, module) => {
var shebangRegex = require_shebang_regex();
module.exports = (string = "") => {
const match = string.match(shebangRegex);
if (!match) {
return null;
}
const [path2, argument] = match[0].replace(/#! ?/, "").split(" ");
const binary = path2.split("/").pop();
if (binary === "env") {
return argument;
}
return argument ? `${binary} ${argument}` : binary;
};
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js
var require_readShebang = __commonJS((exports, module) => {
var fs2 = __require("fs");
var shebangCommand = require_shebang_command();
function readShebang(command) {
const size = 150;
const buffer = Buffer.alloc(size);
let fd;
try {
fd = fs2.openSync(command, "r");
fs2.readSync(fd, buffer, 0, size, 0);
fs2.closeSync(fd);
} catch (e) {}
return shebangCommand(buffer.toString());
}
module.exports = readShebang;
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js
var require_parse2 = __commonJS((exports, module) => {
var path2 = __require("path");
var resolveCommand = require_resolveCommand();
var escape2 = require_escape();
var readShebang = require_readShebang();
var isWin = process.platform === "win32";
var isExecutableRegExp = /\.(?:com|exe)$/i;
var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
function detectShebang(parsed) {
parsed.file = resolveCommand(parsed);
const shebang = parsed.file && readShebang(parsed.file);
if (shebang) {
parsed.args.unshift(parsed.file);
parsed.command = shebang;
return resolveCommand(parsed);
}
return parsed.file;
}
function parseNonShell(parsed) {
if (!isWin) {
return parsed;
}
const commandFile = detectShebang(parsed);
const needsShell = !isExecutableRegExp.test(commandFile);
if (parsed.options.forceShell || needsShell) {
const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
parsed.command = path2.normalize(parsed.command);
parsed.command = escape2.command(parsed.command);
parsed.args = parsed.args.map((arg) => escape2.argument(arg, needsDoubleEscapeMetaChars));
const shellCommand = [parsed.command].concat(parsed.args).join(" ");
parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
parsed.command = process.env.comspec || "cmd.exe";
parsed.options.windowsVerbatimArguments = true;
}
return parsed;
}
function parse(command, args, options) {
if (args && !Array.isArray(args)) {
options = args;
args = null;
}
args = args ? args.slice(0) : [];
options = Object.assign({}, options);
const parsed = {
command,
args,
options,
file: undefined,
original: {
command,
args
}
};
return options.shell ? parsed : parseNonShell(parsed);
}
module.exports = parse;
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js
var require_enoent = __commonJS((exports, module) => {
var isWin = process.platform === "win32";
function notFoundError(original, syscall) {
return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
code: "ENOENT",
errno: "ENOENT",
syscall: `${syscall} ${original.command}`,
path: original.command,
spawnargs: original.args
});
}
function hookChildProcess(cp, parsed) {
if (!isWin) {
return;
}
const originalEmit = cp.emit;
cp.emit = function(name, arg1) {
if (name === "exit") {
const err = verifyENOENT(arg1, parsed);
if (err) {
return originalEmit.call(cp, "error", err);
}
}
return originalEmit.apply(cp, arguments);
};
}
function verifyENOENT(status, parsed) {
if (isWin && status === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawn");
}
return null;
}
function verifyENOENTSync(status, parsed) {
if (isWin && status === 1 && !parsed.file) {
return notFoundError(parsed.original, "spawnSync");
}
return null;
}
module.exports = {
hookChildProcess,
verifyENOENT,
verifyENOENTSync,
notFoundError
};
});
// node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js
var require_cross_spawn = __commonJS((exports, module) => {
var cp = __require("child_process");
var parse = require_parse2();
var enoent = require_enoent();
function spawn(command, args, options) {
const parsed = parse(command, args, options);
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
enoent.hookChildProcess(spawned, parsed);
return spawned;
}
function spawnSync(command, args, options) {
const parsed = parse(command, args, options);
const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);
result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);
return result;
}
module.exports = spawn;
module.exports.spawn = spawn;
module.exports.sync = spawnSync;
module.exports._parse = parse;
module.exports._enoent = enoent;
});
// node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js
function pathKey(options = {}) {
const {
env: env2 = process.env,
platform: platform2 = process.platform
} = options;
if (platform2 !== "win32") {
return "PATH";
}
return Object.keys(env2).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
}
// node_modules/.pnpm/unicorn-magic@0.3.0/node_modules/unicorn-magic/node.js
import { promisify } from "node:util";
import { execFile as execFileCallback, execFileSync as execFileSyncOriginal } from "node:child_process";
import path2 from "node:path";
import { fileURLToPath as fileURLToPath2 } from "node:url";
function toPath(urlOrPath) {
return urlOrPath instanceof URL ? fileURLToPath2(urlOrPath) : urlOrPath;
}
function traversePathUp(startPath) {
return {
*[Symbol.iterator]() {
let currentPath = path2.resolve(toPath(startPath));
let previousPath;
while (previousPath !== currentPath) {
yield currentPath;
previousPath = currentPath;
currentPath = path2.resolve(currentPath, "..");
}
}
};
}
var execFileOriginal, TEN_MEGABYTES_IN_BYTES;
var init_node = __esm(() => {
execFileOriginal = promisify(execFileCallback);
TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
});
// node_modules/.pnpm/npm-run-path@6.0.0/node_modules/npm-run-path/index.js
import process5 from "node:process";
import path3 from "node:path";
var npmRunPath = ({
cwd: cwd2 = process5.cwd(),
path: pathOption = process5.env[pathKey()],
preferLocal = true,
execPath = process5.execPath,
addExecPath = true
} = {}) => {
const cwdPath = path3.resolve(toPath(cwd2));
const result = [];
const pathParts = pathOption.split(path3.delimiter);
if (preferLocal) {
applyPreferLocal(result, pathParts, cwdPath);
}
if (addExecPath) {
applyExecPath(result, pathParts, execPath, cwdPath);
}
return pathOption === "" || pathOption === path3.delimiter ? `${result.join(path3.delimiter)}${pathOption}` : [...result, pathOption].join(path3.delimiter);
}, applyPreferLocal = (result, pathParts, cwdPath) => {
for (const directory of traversePathUp(cwdPath)) {
const pathPart = path3.join(directory, "node_modules/.bin");
if (!pathParts.includes(pathPart)) {
result.push(pathPart);
}
}
}, applyExecPath = (result, pathParts, execPath, cwdPath) => {
const pathPart = path3.resolve(cwdPath, toPath(execPath), "..");
if (!pathParts.includes(pathPart)) {
result.push(pathPart);
}
}, npmRunPathEnv = ({ env: env2 = process5.env, ...options } = {}) => {
env2 = { ...env2 };
const pathName = pathKey({ env: env2 });
options.path = env2[pathName];
env2[pathName] = npmRunPath(options);
return env2;
};
var init_npm_run_path = __esm(() => {
init_node();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/final-error.js
var getFinalError = (originalError, message, isSync) => {
const ErrorClass = isSync ? ExecaSyncError : ExecaError;
const options = originalError instanceof DiscardedError ? {} : { cause: originalError };
return new ErrorClass(message, options);
}, DiscardedError, setErrorName = (ErrorClass, value) => {
Object.defineProperty(ErrorClass.prototype, "name", {
value,
writable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(ErrorClass.prototype, execaErrorSymbol, {
value: true,
writable: false,
enumerable: false,
configurable: false
});
}, isExecaError = (error2) => isErrorInstance(error2) && (execaErrorSymbol in error2), execaErrorSymbol, isErrorInstance = (value) => Object.prototype.toString.call(value) === "[object Error]", ExecaError, ExecaSyncError;
var init_final_error = __esm(() => {
DiscardedError = class DiscardedError extends Error {
};
execaErrorSymbol = Symbol("isExecaError");
ExecaError = class ExecaError extends Error {
};
setErrorName(ExecaError, ExecaError.name);
ExecaSyncError = class ExecaSyncError extends Error {
};
setErrorName(ExecaSyncError, ExecaSyncError.name);
});
// node_modules/.pnpm/human-signals@8.0.1/node_modules/human-signals/build/src/realtime.js
var getRealtimeSignals = () => {
const length = SIGRTMAX - SIGRTMIN + 1;
return Array.from({ length }, getRealtimeSignal);
}, getRealtimeSignal = (value, index) => ({
name: `SIGRT${index + 1}`,
number: SIGRTMIN + index,
action: "terminate",
description: "Application-specific signal (realtime)",
standard: "posix"
}), SIGRTMIN = 34, SIGRTMAX = 64;
// node_modules/.pnpm/human-signals@8.0.1/node_modules/human-signals/build/src/core.js
var SIGNALS;
var init_core2 = __esm(() => {
SIGNALS = [
{
name: "SIGHUP",
number: 1,
action: "terminate",
description: "Terminal closed",
standard: "posix"
},
{
name: "SIGINT",
number: 2,
action: "terminate",
description: "User interruption with CTRL-C",
standard: "ansi"
},
{
name: "SIGQUIT",
number: 3,
action: "core",
description: "User interruption with CTRL-\\",
standard: "posix"
},
{
name: "SIGILL",
number: 4,
action: "core",
description: "Invalid machine instruction",
standard: "ansi"
},
{
name: "SIGTRAP",
number: 5,
action: "core",
description: "Debugger breakpoint",
standard: "posix"
},
{
name: "SIGABRT",
number: 6,
action: "core",
description: "Aborted",
standard: "ansi"
},
{
name: "SIGIOT",
number: 6,
action: "core",
description: "Aborted",
standard: "bsd"
},
{
name: "SIGBUS",
number: 7,
action: "core",
description: "Bus error due to misaligned, non-existing address or paging error",
standard: "bsd"
},
{
name: "SIGEMT",
number: 7,
action: "terminate",
description: "Command should be emulated but is not implemented",
standard: "other"
},
{
name: "SIGFPE",
number: 8,
action: "core",
description: "Floating point arithmetic error",
standard: "ansi"
},
{
name: "SIGKILL",
number: 9,
action: "terminate",
description: "Forced termination",
standard: "posix",
forced: true
},
{
name: "SIGUSR1",
number: 10,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGSEGV",
number: 11,
action: "core",
description: "Segmentation fault",
standard: "ansi"
},
{
name: "SIGUSR2",
number: 12,
action: "terminate",
description: "Application-specific signal",
standard: "posix"
},
{
name: "SIGPIPE",
number: 13,
action: "terminate",
description: "Broken pipe or socket",
standard: "posix"
},
{
name: "SIGALRM",
number: 14,
action: "terminate",
description: "Timeout or timer",
standard: "posix"
},
{
name: "SIGTERM",
number: 15,
action: "terminate",
description: "Termination",
standard: "ansi"
},
{
name: "SIGSTKFLT",
number: 16,
action: "terminate",
description: "Stack is empty or overflowed",
standard: "other"
},
{
name: "SIGCHLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "posix"
},
{
name: "SIGCLD",
number: 17,
action: "ignore",
description: "Child process terminated, paused or unpaused",
standard: "other"
},
{
name: "SIGCONT",
number: 18,
action: "unpause",
description: "Unpaused",
standard: "posix",
forced: true
},
{
name: "SIGSTOP",
number: 19,
action: "pause",
description: "Paused",
standard: "posix",
forced: true
},
{
name: "SIGTSTP",
number: 20,
action: "pause",
description: 'Paused using CTRL-Z or "suspend"',
standard: "posix"
},
{
name: "SIGTTIN",
number: 21,
action: "pause",
description: "Background process cannot read terminal input",
standard: "posix"
},
{
name: "SIGBREAK",
number: 21,
action: "terminate",
description: "User interruption with CTRL-BREAK",
standard: "other"
},
{
name: "SIGTTOU",
number: 22,
action: "pause",
description: "Background process cannot write to terminal output",
standard: "posix"
},
{
name: "SIGURG",
number: 23,
action: "ignore",
description: "Socket received out-of-band data",
standard: "bsd"
},
{
name: "SIGXCPU",
number: 24,
action: "core",
description: "Process timed out",
standard: "bsd"
},
{
name: "SIGXFSZ",
number: 25,
action: "core",
description: "File too big",
standard: "bsd"
},
{
name: "SIGVTALRM",
number: 26,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGPROF",
number: 27,
action: "terminate",
description: "Timeout or timer",
standard: "bsd"
},
{
name: "SIGWINCH",
number: 28,
action: "ignore",
description: "Terminal window size changed",
standard: "bsd"
},
{
name: "SIGIO",
number: 29,
action: "terminate",
description: "I/O is available",
standard: "other"
},
{
name: "SIGPOLL",
number: 29,
action: "terminate",
description: "Watched event",
standard: "other"
},
{
name: "SIGINFO",
number: 29,
action: "ignore",
description: "Request for process information",
standard: "other"
},
{
name: "SIGPWR",
number: 30,
action: "terminate",
description: "Device running out of power",
standard: "systemv"
},
{
name: "SIGSYS",
number: 31,
action: "core",
description: "Invalid system call",
standard: "other"
},
{
name: "SIGUNUSED",
number: 31,
action: "terminate",
description: "Invalid system call",
standard: "other"
}
];
});
// node_modules/.pnpm/human-signals@8.0.1/node_modules/human-signals/build/src/signals.js
import { constants } from "node:os";
var getSignals = () => {
const realtimeSignals = getRealtimeSignals();
const signals = [...SIGNALS, ...realtimeSignals].map(normalizeSignal);
return signals;
}, normalizeSignal = ({
name,
number: defaultNumber,
description,
action,
forced = false,
standard
}) => {
const {
signals: { [name]: constantSignal }
} = constants;
const supported = constantSignal !== undefined;
const number = supported ? constantSignal : defaultNumber;
return { name, number, description, supported, action, forced, standard };
};
var init_signals = __esm(() => {
init_core2();
});
// node_modules/.pnpm/human-signals@8.0.1/node_modules/human-signals/build/src/main.js
import { constants as constants2 } from "node:os";
var getSignalsByName = () => {
const signals = getSignals();
return Object.fromEntries(signals.map(getSignalByName));
}, getSignalByName = ({
name,
number,
description,
supported,
action,
forced,
standard
}) => [name, { name, number, description, supported, action, forced, standard }], signalsByName, getSignalsByNumber = () => {
const signals = getSignals();
const length = SIGRTMAX + 1;
const signalsA = Array.from({ length }, (value, number) => getSignalByNumber(number, signals));
return Object.assign({}, ...signalsA);
}, getSignalByNumber = (number, signals) => {
const signal = findSignalByNumber(number, signals);
if (signal === undefined) {
return {};
}
const { name, description, supported, action, forced, standard } = signal;
return {
[number]: {
name,
number,
description,
supported,
action,
forced,
standard
}
};
}, findSignalByNumber = (number, signals) => {
const signal = signals.find(({ name }) => constants2.signals[name] === number);
if (signal !== undefined) {
return signal;
}
return signals.find((signalA) => signalA.number === number);
}, signalsByNumber;
var init_main = __esm(() => {
init_signals();
signalsByName = getSignalsByName();
signalsByNumber = getSignalsByNumber();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/signal.js
import { constants as constants3 } from "node:os";
var normalizeKillSignal = (killSignal) => {
const optionName = "option `killSignal`";
if (killSignal === 0) {
throw new TypeError(`Invalid ${optionName}: 0 cannot be used.`);
}
return normalizeSignal2(killSignal, optionName);
}, normalizeSignalArgument = (signal) => signal === 0 ? signal : normalizeSignal2(signal, "`subprocess.kill()`'s argument"), normalizeSignal2 = (signalNameOrInteger, optionName) => {
if (Number.isInteger(signalNameOrInteger)) {
return normalizeSignalInteger(signalNameOrInteger, optionName);
}
if (typeof signalNameOrInteger === "string") {
return normalizeSignalName(signalNameOrInteger, optionName);
}
throw new TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer.
${getAvailableSignals()}`);
}, normalizeSignalInteger = (signalInteger, optionName) => {
if (signalsIntegerToName.has(signalInteger)) {
return signalsIntegerToName.get(signalInteger);
}
throw new TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist.
${getAvailableSignals()}`);
}, getSignalsIntegerToName = () => new Map(Object.entries(constants3.signals).reverse().map(([signalName, signalInteger]) => [signalInteger, signalName])), signalsIntegerToName, normalizeSignalName = (signalName, optionName) => {
if (signalName in constants3.signals) {
return signalName;
}
if (signalName.toUpperCase() in constants3.signals) {
throw new TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`);
}
throw new TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist.
${getAvailableSignals()}`);
}, getAvailableSignals = () => `Available signal names: ${getAvailableSignalNames()}.
Available signal numbers: ${getAvailableSignalIntegers()}.`, getAvailableSignalNames = () => Object.keys(constants3.signals).sort().map((signalName) => `'${signalName}'`).join(", "), getAvailableSignalIntegers = () => [...new Set(Object.values(constants3.signals).sort((signalInteger, signalIntegerTwo) => signalInteger - signalIntegerTwo))].join(", "), getSignalDescription = (signal) => signalsByName[signal].description;
var init_signal = __esm(() => {
init_main();
signalsIntegerToName = getSignalsIntegerToName();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/kill.js
import { setTimeout as setTimeout2 } from "node:timers/promises";
var normalizeForceKillAfterDelay = (forceKillAfterDelay) => {
if (forceKillAfterDelay === false) {
return forceKillAfterDelay;
}
if (forceKillAfterDelay === true) {
return DEFAULT_FORCE_KILL_TIMEOUT;
}
if (!Number.isFinite(forceKillAfterDelay) || forceKillAfterDelay < 0) {
throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);
}
return forceKillAfterDelay;
}, DEFAULT_FORCE_KILL_TIMEOUT, subprocessKill = ({ kill, options: { forceKillAfterDelay, killSignal }, onInternalError, context, controller }, signalOrError, errorArgument) => {
const { signal, error: error2 } = parseKillArguments(signalOrError, errorArgument, killSignal);
emitKillError(error2, onInternalError);
const killResult = kill(signal);
setKillTimeout({
kill,
signal,
forceKillAfterDelay,
killSignal,
killResult,
context,
controller
});
return killResult;
}, parseKillArguments = (signalOrError, errorArgument, killSignal) => {
const [signal = killSignal, error2] = isErrorInstance(signalOrError) ? [undefined, signalOrError] : [signalOrError, errorArgument];
if (typeof signal !== "string" && !Number.isInteger(signal)) {
throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);
}
if (error2 !== undefined && !isErrorInstance(error2)) {
throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${error2}`);
}
return { signal: normalizeSignalArgument(signal), error: error2 };
}, emitKillError = (error2, onInternalError) => {
if (error2 !== undefined) {
onInternalError.reject(error2);
}
}, setKillTimeout = async ({ kill, signal, forceKillAfterDelay, killSignal, killResult, context, controller }) => {
if (signal === killSignal && killResult) {
killOnTimeout({
kill,
forceKillAfterDelay,
context,
controllerSignal: controller.signal
});
}
}, killOnTimeout = async ({ kill, forceKillAfterDelay, context, controllerSignal }) => {
if (forceKillAfterDelay === false) {
return;
}
try {
await setTimeout2(forceKillAfterDelay, undefined, { signal: controllerSignal });
if (kill("SIGKILL")) {
context.isForcefullyTerminated ??= true;
}
} catch {}
};
var init_kill = __esm(() => {
init_final_error();
init_signal();
DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/utils/abort-signal.js
import { once } from "node:events";
var onAbortedSignal = async (mainSignal, stopSignal) => {
if (!mainSignal.aborted) {
await once(mainSignal, "abort", { signal: stopSignal });
}
};
var init_abort_signal = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/cancel.js
var validateCancelSignal = ({ cancelSignal }) => {
if (cancelSignal !== undefined && Object.prototype.toString.call(cancelSignal) !== "[object AbortSignal]") {
throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(cancelSignal)}`);
}
}, throwOnCancel = ({ subprocess, cancelSignal, gracefulCancel, context, controller }) => cancelSignal === undefined || gracefulCancel ? [] : [terminateOnCancel(subprocess, cancelSignal, context, controller)], terminateOnCancel = async (subprocess, cancelSignal, context, { signal }) => {
await onAbortedSignal(cancelSignal, signal);
context.terminationReason ??= "cancel";
subprocess.kill();
throw cancelSignal.reason;
};
var init_cancel = __esm(() => {
init_abort_signal();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/validation.js
var validateIpcMethod = ({ methodName, isSubprocess, ipc, isConnected }) => {
validateIpcOption(methodName, isSubprocess, ipc);
validateConnection(methodName, isSubprocess, isConnected);
}, validateIpcOption = (methodName, isSubprocess, ipc) => {
if (!ipc) {
throw new Error(`${getMethodName(methodName, isSubprocess)} can only be used if the \`ipc\` option is \`true\`.`);
}
}, validateConnection = (methodName, isSubprocess, isConnected) => {
if (!isConnected) {
throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} has already exited or disconnected.`);
}
}, throwOnEarlyDisconnect = (isSubprocess) => {
throw new Error(`${getMethodName("getOneMessage", isSubprocess)} could not complete: the ${getOtherProcessName(isSubprocess)} exited or disconnected.`);
}, throwOnStrictDeadlockError = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is sending a message too, instead of listening to incoming messages.
This can be fixed by both sending a message and listening to incoming messages at the same time:
const [receivedMessage] = await Promise.all([
${getMethodName("getOneMessage", isSubprocess)},
${getMethodName("sendMessage", isSubprocess, "message, {strict: true}")},
]);`);
}, getStrictResponseError = (error2, isSubprocess) => new Error(`${getMethodName("sendMessage", isSubprocess)} failed when sending an acknowledgment response to the ${getOtherProcessName(isSubprocess)}.`, { cause: error2 }), throwOnMissingStrict = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is not listening to incoming messages.`);
}, throwOnStrictDisconnect = (isSubprocess) => {
throw new Error(`${getMethodName("sendMessage", isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} exited without listening to incoming messages.`);
}, getAbortDisconnectError = () => new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`), throwOnMissingParent = () => {
throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.");
}, handleEpipeError = ({ error: error2, methodName, isSubprocess }) => {
if (error2.code === "EPIPE") {
throw new Error(`${getMethodName(methodName, isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} is disconnecting.`, { cause: error2 });
}
}, handleSerializationError = ({ error: error2, methodName, isSubprocess, message }) => {
if (isSerializationError(error2)) {
throw new Error(`${getMethodName(methodName, isSubprocess)}'s argument type is invalid: the message cannot be serialized: ${String(message)}.`, { cause: error2 });
}
}, isSerializationError = ({ code, message }) => SERIALIZATION_ERROR_CODES.has(code) || SERIALIZATION_ERROR_MESSAGES.some((serializationErrorMessage) => message.includes(serializationErrorMessage)), SERIALIZATION_ERROR_CODES, SERIALIZATION_ERROR_MESSAGES, getMethodName = (methodName, isSubprocess, parameters = "") => methodName === "cancelSignal" ? "`cancelSignal`'s `controller.abort()`" : `${getNamespaceName(isSubprocess)}${methodName}(${parameters})`, getNamespaceName = (isSubprocess) => isSubprocess ? "" : "subprocess.", getOtherProcessName = (isSubprocess) => isSubprocess ? "parent process" : "subprocess", disconnect = (anyProcess) => {
if (anyProcess.connected) {
anyProcess.disconnect();
}
};
var init_validation = __esm(() => {
SERIALIZATION_ERROR_CODES = new Set([
"ERR_MISSING_ARGS",
"ERR_INVALID_ARG_TYPE"
]);
SERIALIZATION_ERROR_MESSAGES = [
"could not be cloned",
"circular structure",
"call stack size exceeded"
];
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/utils/deferred.js
var createDeferred = () => {
const methods = {};
const promise = new Promise((resolve2, reject) => {
Object.assign(methods, { resolve: resolve2, reject });
});
return Object.assign(promise, methods);
};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/fd-options.js
var getToStream = (destination, to = "stdin") => {
const isWritable = true;
const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(destination);
const fdNumber = getFdNumber(fileDescriptors, to, isWritable);
const destinationStream = destination.stdio[fdNumber];
if (destinationStream === null) {
throw new TypeError(getInvalidStdioOptionMessage(fdNumber, to, options, isWritable));
}
return destinationStream;
}, getFromStream = (source, from = "stdout") => {
const isWritable = false;
const { options, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
const fdNumber = getFdNumber(fileDescriptors, from, isWritable);
const sourceStream = fdNumber === "all" ? source.all : source.stdio[fdNumber];
if (sourceStream === null || sourceStream === undefined) {
throw new TypeError(getInvalidStdioOptionMessage(fdNumber, from, options, isWritable));
}
return sourceStream;
}, SUBPROCESS_OPTIONS, getFdNumber = (fileDescriptors, fdName, isWritable) => {
const fdNumber = parseFdNumber(fdName, isWritable);
validateFdNumber(fdNumber, fdName, isWritable, fileDescriptors);
return fdNumber;
}, parseFdNumber = (fdName, isWritable) => {
const fdNumber = parseFd(fdName);
if (fdNumber !== undefined) {
return fdNumber;
}
const { validOptions, defaultValue } = isWritable ? { validOptions: '"stdin"', defaultValue: "stdin" } : { validOptions: '"stdout", "stderr", "all"', defaultValue: "stdout" };
throw new TypeError(`"${getOptionName(isWritable)}" must not be "${fdName}".
It must be ${validOptions} or "fd3", "fd4" (and so on).
It is optional and defaults to "${defaultValue}".`);
}, validateFdNumber = (fdNumber, fdName, isWritable, fileDescriptors) => {
const fileDescriptor = fileDescriptors[getUsedDescriptor(fdNumber)];
if (fileDescriptor === undefined) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. That file descriptor does not exist.
Please set the "stdio" option to ensure that file descriptor exists.`);
}
if (fileDescriptor.direction === "input" && !isWritable) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a readable stream, not writable.`);
}
if (fileDescriptor.direction !== "input" && isWritable) {
throw new TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a writable stream, not readable.`);
}
}, getInvalidStdioOptionMessage = (fdNumber, fdName, options, isWritable) => {
if (fdNumber === "all" && !options.all) {
return `The "all" option must be true to use "from: 'all'".`;
}
const { optionName, optionValue } = getInvalidStdioOption(fdNumber, options);
return `The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
Please set this option with "pipe" instead.`;
}, getInvalidStdioOption = (fdNumber, { stdin, stdout, stderr, stdio }) => {
const usedDescriptor = getUsedDescriptor(fdNumber);
if (usedDescriptor === 0 && stdin !== undefined) {
return { optionName: "stdin", optionValue: stdin };
}
if (usedDescriptor === 1 && stdout !== undefined) {
return { optionName: "stdout", optionValue: stdout };
}
if (usedDescriptor === 2 && stderr !== undefined) {
return { optionName: "stderr", optionValue: stderr };
}
return { optionName: `stdio[${usedDescriptor}]`, optionValue: stdio[usedDescriptor] };
}, getUsedDescriptor = (fdNumber) => fdNumber === "all" ? 1 : fdNumber, getOptionName = (isWritable) => isWritable ? "to" : "from", serializeOptionValue = (value) => {
if (typeof value === "string") {
return `'${value}'`;
}
return typeof value === "number" ? `${value}` : "Stream";
};
var init_fd_options = __esm(() => {
init_specific();
SUBPROCESS_OPTIONS = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/utils/max-listeners.js
import { addAbortListener } from "node:events";
var incrementMaxListeners = (eventEmitter, maxListenersIncrement, signal) => {
const maxListeners = eventEmitter.getMaxListeners();
if (maxListeners === 0 || maxListeners === Number.POSITIVE_INFINITY) {
return;
}
eventEmitter.setMaxListeners(maxListeners + maxListenersIncrement);
addAbortListener(signal, () => {
eventEmitter.setMaxListeners(eventEmitter.getMaxListeners() - maxListenersIncrement);
});
};
var init_max_listeners = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/reference.js
var addReference = (channel, reference) => {
if (reference) {
addReferenceCount(channel);
}
}, addReferenceCount = (channel) => {
channel.refCounted();
}, removeReference = (channel, reference) => {
if (reference) {
removeReferenceCount(channel);
}
}, removeReferenceCount = (channel) => {
channel.unrefCounted();
}, undoAddedReferences = (channel, isSubprocess) => {
if (isSubprocess) {
removeReferenceCount(channel);
removeReferenceCount(channel);
}
}, redoAddedReferences = (channel, isSubprocess) => {
if (isSubprocess) {
addReferenceCount(channel);
addReferenceCount(channel);
}
};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/incoming.js
import { once as once2 } from "node:events";
import { scheduler } from "node:timers/promises";
var onMessage = async ({ anyProcess, channel, isSubprocess, ipcEmitter }, wrappedMessage) => {
if (handleStrictResponse(wrappedMessage) || handleAbort(wrappedMessage)) {
return;
}
if (!INCOMING_MESSAGES.has(anyProcess)) {
INCOMING_MESSAGES.set(anyProcess, []);
}
const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
incomingMessages.push(wrappedMessage);
if (incomingMessages.length > 1) {
return;
}
while (incomingMessages.length > 0) {
await waitForOutgoingMessages(anyProcess, ipcEmitter, wrappedMessage);
await scheduler.yield();
const message = await handleStrictRequest({
wrappedMessage: incomingMessages[0],
anyProcess,
channel,
isSubprocess,
ipcEmitter
});
incomingMessages.shift();
ipcEmitter.emit("message", message);
ipcEmitter.emit("message:done");
}
}, onDisconnect = async ({ anyProcess, channel, isSubprocess, ipcEmitter, boundOnMessage }) => {
abortOnDisconnect();
const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
while (incomingMessages?.length > 0) {
await once2(ipcEmitter, "message:done");
}
anyProcess.removeListener("message", boundOnMessage);
redoAddedReferences(channel, isSubprocess);
ipcEmitter.connected = false;
ipcEmitter.emit("disconnect");
}, INCOMING_MESSAGES;
var init_incoming = __esm(() => {
init_outgoing();
init_strict();
init_graceful();
INCOMING_MESSAGES = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/forward.js
import { EventEmitter } from "node:events";
var getIpcEmitter = (anyProcess, channel, isSubprocess) => {
if (IPC_EMITTERS.has(anyProcess)) {
return IPC_EMITTERS.get(anyProcess);
}
const ipcEmitter = new EventEmitter;
ipcEmitter.connected = true;
IPC_EMITTERS.set(anyProcess, ipcEmitter);
forwardEvents({
ipcEmitter,
anyProcess,
channel,
isSubprocess
});
return ipcEmitter;
}, IPC_EMITTERS, forwardEvents = ({ ipcEmitter, anyProcess, channel, isSubprocess }) => {
const boundOnMessage = onMessage.bind(undefined, {
anyProcess,
channel,
isSubprocess,
ipcEmitter
});
anyProcess.on("message", boundOnMessage);
anyProcess.once("disconnect", onDisconnect.bind(undefined, {
anyProcess,
channel,
isSubprocess,
ipcEmitter,
boundOnMessage
}));
undoAddedReferences(channel, isSubprocess);
}, isConnected = (anyProcess) => {
const ipcEmitter = IPC_EMITTERS.get(anyProcess);
return ipcEmitter === undefined ? anyProcess.channel !== null : ipcEmitter.connected;
};
var init_forward = __esm(() => {
init_incoming();
IPC_EMITTERS = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/strict.js
import { once as once3 } from "node:events";
var handleSendStrict = ({ anyProcess, channel, isSubprocess, message, strict }) => {
if (!strict) {
return message;
}
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const hasListeners = hasMessageListeners(anyProcess, ipcEmitter);
return {
id: count++,
type: REQUEST_TYPE,
message,
hasListeners
};
}, count = 0n, validateStrictDeadlock = (outgoingMessages, wrappedMessage) => {
if (wrappedMessage?.type !== REQUEST_TYPE || wrappedMessage.hasListeners) {
return;
}
for (const { id } of outgoingMessages) {
if (id !== undefined) {
STRICT_RESPONSES[id].resolve({ isDeadlock: true, hasListeners: false });
}
}
}, handleStrictRequest = async ({ wrappedMessage, anyProcess, channel, isSubprocess, ipcEmitter }) => {
if (wrappedMessage?.type !== REQUEST_TYPE || !anyProcess.connected) {
return wrappedMessage;
}
const { id, message } = wrappedMessage;
const response = { id, type: RESPONSE_TYPE, message: hasMessageListeners(anyProcess, ipcEmitter) };
try {
await sendMessage({
anyProcess,
channel,
isSubprocess,
ipc: true
}, response);
} catch (error2) {
ipcEmitter.emit("strict:error", error2);
}
return message;
}, handleStrictResponse = (wrappedMessage) => {
if (wrappedMessage?.type !== RESPONSE_TYPE) {
return false;
}
const { id, message: hasListeners } = wrappedMessage;
STRICT_RESPONSES[id]?.resolve({ isDeadlock: false, hasListeners });
return true;
}, waitForStrictResponse = async (wrappedMessage, anyProcess, isSubprocess) => {
if (wrappedMessage?.type !== REQUEST_TYPE) {
return;
}
const deferred = createDeferred();
STRICT_RESPONSES[wrappedMessage.id] = deferred;
const controller = new AbortController;
try {
const { isDeadlock, hasListeners } = await Promise.race([
deferred,
throwOnDisconnect(anyProcess, isSubprocess, controller)
]);
if (isDeadlock) {
throwOnStrictDeadlockError(isSubprocess);
}
if (!hasListeners) {
throwOnMissingStrict(isSubprocess);
}
} finally {
controller.abort();
delete STRICT_RESPONSES[wrappedMessage.id];
}
}, STRICT_RESPONSES, throwOnDisconnect = async (anyProcess, isSubprocess, { signal }) => {
incrementMaxListeners(anyProcess, 1, signal);
await once3(anyProcess, "disconnect", { signal });
throwOnStrictDisconnect(isSubprocess);
}, REQUEST_TYPE = "execa:ipc:request", RESPONSE_TYPE = "execa:ipc:response";
var init_strict = __esm(() => {
init_max_listeners();
init_send();
init_validation();
init_forward();
init_outgoing();
STRICT_RESPONSES = {};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/outgoing.js
var startSendMessage = (anyProcess, wrappedMessage, strict) => {
if (!OUTGOING_MESSAGES.has(anyProcess)) {
OUTGOING_MESSAGES.set(anyProcess, new Set);
}
const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
const onMessageSent = createDeferred();
const id = strict ? wrappedMessage.id : undefined;
const outgoingMessage = { onMessageSent, id };
outgoingMessages.add(outgoingMessage);
return { outgoingMessages, outgoingMessage };
}, endSendMessage = ({ outgoingMessages, outgoingMessage }) => {
outgoingMessages.delete(outgoingMessage);
outgoingMessage.onMessageSent.resolve();
}, waitForOutgoingMessages = async (anyProcess, ipcEmitter, wrappedMessage) => {
while (!hasMessageListeners(anyProcess, ipcEmitter) && OUTGOING_MESSAGES.get(anyProcess)?.size > 0) {
const outgoingMessages = [...OUTGOING_MESSAGES.get(anyProcess)];
validateStrictDeadlock(outgoingMessages, wrappedMessage);
await Promise.all(outgoingMessages.map(({ onMessageSent }) => onMessageSent));
}
}, OUTGOING_MESSAGES, hasMessageListeners = (anyProcess, ipcEmitter) => ipcEmitter.listenerCount("message") > getMinListenerCount(anyProcess), getMinListenerCount = (anyProcess) => SUBPROCESS_OPTIONS.has(anyProcess) && !getFdSpecificValue(SUBPROCESS_OPTIONS.get(anyProcess).options.buffer, "ipc") ? 1 : 0;
var init_outgoing = __esm(() => {
init_specific();
init_fd_options();
init_strict();
OUTGOING_MESSAGES = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/send.js
import { promisify as promisify2 } from "node:util";
var sendMessage = ({ anyProcess, channel, isSubprocess, ipc }, message, { strict = false } = {}) => {
const methodName = "sendMessage";
validateIpcMethod({
methodName,
isSubprocess,
ipc,
isConnected: anyProcess.connected
});
return sendMessageAsync({
anyProcess,
channel,
methodName,
isSubprocess,
message,
strict
});
}, sendMessageAsync = async ({ anyProcess, channel, methodName, isSubprocess, message, strict }) => {
const wrappedMessage = handleSendStrict({
anyProcess,
channel,
isSubprocess,
message,
strict
});
const outgoingMessagesState = startSendMessage(anyProcess, wrappedMessage, strict);
try {
await sendOneMessage({
anyProcess,
methodName,
isSubprocess,
wrappedMessage,
message
});
} catch (error2) {
disconnect(anyProcess);
throw error2;
} finally {
endSendMessage(outgoingMessagesState);
}
}, sendOneMessage = async ({ anyProcess, methodName, isSubprocess, wrappedMessage, message }) => {
const sendMethod = getSendMethod(anyProcess);
try {
await Promise.all([
waitForStrictResponse(wrappedMessage, anyProcess, isSubprocess),
sendMethod(wrappedMessage)
]);
} catch (error2) {
handleEpipeError({ error: error2, methodName, isSubprocess });
handleSerializationError({
error: error2,
methodName,
isSubprocess,
message
});
throw error2;
}
}, getSendMethod = (anyProcess) => {
if (PROCESS_SEND_METHODS.has(anyProcess)) {
return PROCESS_SEND_METHODS.get(anyProcess);
}
const sendMethod = promisify2(anyProcess.send.bind(anyProcess));
PROCESS_SEND_METHODS.set(anyProcess, sendMethod);
return sendMethod;
}, PROCESS_SEND_METHODS;
var init_send = __esm(() => {
init_validation();
init_outgoing();
init_strict();
PROCESS_SEND_METHODS = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/graceful.js
import { scheduler as scheduler2 } from "node:timers/promises";
var sendAbort = (subprocess, message) => {
const methodName = "cancelSignal";
validateConnection(methodName, false, subprocess.connected);
return sendOneMessage({
anyProcess: subprocess,
methodName,
isSubprocess: false,
wrappedMessage: { type: GRACEFUL_CANCEL_TYPE, message },
message
});
}, getCancelSignal = async ({ anyProcess, channel, isSubprocess, ipc }) => {
await startIpc({
anyProcess,
channel,
isSubprocess,
ipc
});
return cancelController.signal;
}, startIpc = async ({ anyProcess, channel, isSubprocess, ipc }) => {
if (cancelListening) {
return;
}
cancelListening = true;
if (!ipc) {
throwOnMissingParent();
return;
}
if (channel === null) {
abortOnDisconnect();
return;
}
getIpcEmitter(anyProcess, channel, isSubprocess);
await scheduler2.yield();
}, cancelListening = false, handleAbort = (wrappedMessage) => {
if (wrappedMessage?.type !== GRACEFUL_CANCEL_TYPE) {
return false;
}
cancelController.abort(wrappedMessage.message);
return true;
}, GRACEFUL_CANCEL_TYPE = "execa:ipc:cancel", abortOnDisconnect = () => {
cancelController.abort(getAbortDisconnectError());
}, cancelController;
var init_graceful = __esm(() => {
init_send();
init_forward();
init_validation();
cancelController = new AbortController;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/graceful.js
var validateGracefulCancel = ({ gracefulCancel, cancelSignal, ipc, serialization }) => {
if (!gracefulCancel) {
return;
}
if (cancelSignal === undefined) {
throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");
}
if (!ipc) {
throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");
}
if (serialization === "json") {
throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.");
}
}, throwOnGracefulCancel = ({
subprocess,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
context,
controller
}) => gracefulCancel ? [sendOnAbort({
subprocess,
cancelSignal,
forceKillAfterDelay,
context,
controller
})] : [], sendOnAbort = async ({ subprocess, cancelSignal, forceKillAfterDelay, context, controller: { signal } }) => {
await onAbortedSignal(cancelSignal, signal);
const reason = getReason(cancelSignal);
await sendAbort(subprocess, reason);
killOnTimeout({
kill: subprocess.kill,
forceKillAfterDelay,
context,
controllerSignal: signal
});
context.terminationReason ??= "gracefulCancel";
throw cancelSignal.reason;
}, getReason = ({ reason }) => {
if (!(reason instanceof DOMException)) {
return reason;
}
const error2 = new Error(reason.message);
Object.defineProperty(error2, "stack", {
value: reason.stack,
enumerable: false,
configurable: true,
writable: true
});
return error2;
};
var init_graceful2 = __esm(() => {
init_abort_signal();
init_graceful();
init_kill();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/timeout.js
import { setTimeout as setTimeout3 } from "node:timers/promises";
var validateTimeout = ({ timeout }) => {
if (timeout !== undefined && (!Number.isFinite(timeout) || timeout < 0)) {
throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`);
}
}, throwOnTimeout = (subprocess, timeout, context, controller) => timeout === 0 || timeout === undefined ? [] : [killAfterTimeout(subprocess, timeout, context, controller)], killAfterTimeout = async (subprocess, timeout, context, { signal }) => {
await setTimeout3(timeout, undefined, { signal });
context.terminationReason ??= "timeout";
subprocess.kill();
throw new DiscardedError;
};
var init_timeout = __esm(() => {
init_final_error();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/node.js
import { execPath, execArgv } from "node:process";
import path4 from "node:path";
var mapNode = ({ options }) => {
if (options.node === false) {
throw new TypeError('The "node" option cannot be false with `execaNode()`.');
}
return { options: { ...options, node: true } };
}, handleNodeOption = (file, commandArguments, {
node: shouldHandleNode = false,
nodePath: nodePath2 = execPath,
nodeOptions = execArgv.filter((nodeOption) => !nodeOption.startsWith("--inspect")),
cwd: cwd2,
execPath: formerNodePath,
...options
}) => {
if (formerNodePath !== undefined) {
throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');
}
const normalizedNodePath = safeNormalizeFileUrl(nodePath2, 'The "nodePath" option');
const resolvedNodePath = path4.resolve(cwd2, normalizedNodePath);
const newOptions = {
...options,
nodePath: resolvedNodePath,
node: shouldHandleNode,
cwd: cwd2
};
if (!shouldHandleNode) {
return [file, commandArguments, newOptions];
}
if (path4.basename(file, ".exe") === "node") {
throw new TypeError('When the "node" option is true, the first argument does not need to be "node".');
}
return [
resolvedNodePath,
[...nodeOptions, file, ...commandArguments],
{ ipc: true, ...newOptions, shell: false }
];
};
var init_node2 = __esm(() => {
init_file_url();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/ipc-input.js
import { serialize } from "node:v8";
var validateIpcInputOption = ({ ipcInput, ipc, serialization }) => {
if (ipcInput === undefined) {
return;
}
if (!ipc) {
throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");
}
validateIpcInput[serialization](ipcInput);
}, validateAdvancedInput = (ipcInput) => {
try {
serialize(ipcInput);
} catch (error2) {
throw new Error("The `ipcInput` option is not serializable with a structured clone.", { cause: error2 });
}
}, validateJsonInput = (ipcInput) => {
try {
JSON.stringify(ipcInput);
} catch (error2) {
throw new Error("The `ipcInput` option is not serializable with JSON.", { cause: error2 });
}
}, validateIpcInput, sendIpcInput = async (subprocess, ipcInput) => {
if (ipcInput === undefined) {
return;
}
await subprocess.sendMessage(ipcInput);
};
var init_ipc_input = __esm(() => {
validateIpcInput = {
advanced: validateAdvancedInput,
json: validateJsonInput
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/encoding-option.js
var validateEncoding = ({ encoding }) => {
if (ENCODINGS.has(encoding)) {
return;
}
const correctEncoding = getCorrectEncoding(encoding);
if (correctEncoding !== undefined) {
throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
Please rename it to ${serializeEncoding(correctEncoding)}.`);
}
const correctEncodings = [...ENCODINGS].map((correctEncoding2) => serializeEncoding(correctEncoding2)).join(", ");
throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
Please rename it to one of: ${correctEncodings}.`);
}, TEXT_ENCODINGS, BINARY_ENCODINGS, ENCODINGS, getCorrectEncoding = (encoding) => {
if (encoding === null) {
return "buffer";
}
if (typeof encoding !== "string") {
return;
}
const lowerEncoding = encoding.toLowerCase();
if (lowerEncoding in ENCODING_ALIASES) {
return ENCODING_ALIASES[lowerEncoding];
}
if (ENCODINGS.has(lowerEncoding)) {
return lowerEncoding;
}
}, ENCODING_ALIASES, serializeEncoding = (encoding) => typeof encoding === "string" ? `"${encoding}"` : String(encoding);
var init_encoding_option = __esm(() => {
TEXT_ENCODINGS = new Set(["utf8", "utf16le"]);
BINARY_ENCODINGS = new Set(["buffer", "hex", "base64", "base64url", "latin1", "ascii"]);
ENCODINGS = new Set([...TEXT_ENCODINGS, ...BINARY_ENCODINGS]);
ENCODING_ALIASES = {
"utf-8": "utf8",
"utf-16le": "utf16le",
"ucs-2": "utf16le",
ucs2: "utf16le",
binary: "latin1"
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/cwd.js
import { statSync as statSync2 } from "node:fs";
import path5 from "node:path";
import process6 from "node:process";
var normalizeCwd = (cwd2 = getDefaultCwd()) => {
const cwdString = safeNormalizeFileUrl(cwd2, 'The "cwd" option');
return path5.resolve(cwdString);
}, getDefaultCwd = () => {
try {
return process6.cwd();
} catch (error2) {
error2.message = `The current directory does not exist.
${error2.message}`;
throw error2;
}
}, fixCwdError = (originalMessage, cwd2) => {
if (cwd2 === getDefaultCwd()) {
return originalMessage;
}
let cwdStat;
try {
cwdStat = statSync2(cwd2);
} catch (error2) {
return `The "cwd" option is invalid: ${cwd2}.
${error2.message}
${originalMessage}`;
}
if (!cwdStat.isDirectory()) {
return `The "cwd" option is not a directory: ${cwd2}.
${originalMessage}`;
}
return originalMessage;
};
var init_cwd2 = __esm(() => {
init_file_url();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/options.js
import path6 from "node:path";
import process7 from "node:process";
var import_cross_spawn, normalizeOptions = (filePath, rawArguments, rawOptions) => {
rawOptions.cwd = normalizeCwd(rawOptions.cwd);
const [processedFile, processedArguments, processedOptions] = handleNodeOption(filePath, rawArguments, rawOptions);
const { command: file, args: commandArguments, options: initialOptions } = import_cross_spawn.default._parse(processedFile, processedArguments, processedOptions);
const fdOptions = normalizeFdSpecificOptions(initialOptions);
const options = addDefaultOptions(fdOptions);
validateTimeout(options);
validateEncoding(options);
validateIpcInputOption(options);
validateCancelSignal(options);
validateGracefulCancel(options);
options.shell = normalizeFileUrl(options.shell);
options.env = getEnv(options);
options.killSignal = normalizeKillSignal(options.killSignal);
options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
if (process7.platform === "win32" && path6.basename(file, ".exe") === "cmd") {
commandArguments.unshift("/q");
}
return { file, commandArguments, options };
}, addDefaultOptions = ({
extendEnv = true,
preferLocal = false,
cwd: cwd2,
localDir: localDirectory = cwd2,
encoding = "utf8",
reject = true,
cleanup = true,
all = false,
windowsHide = true,
killSignal = "SIGTERM",
forceKillAfterDelay = true,
gracefulCancel = false,
ipcInput,
ipc = ipcInput !== undefined || gracefulCancel,
serialization = "advanced",
...options
}) => ({
...options,
extendEnv,
preferLocal,
cwd: cwd2,
localDirectory,
encoding,
reject,
cleanup,
all,
windowsHide,
killSignal,
forceKillAfterDelay,
gracefulCancel,
ipcInput,
ipc,
serialization
}), getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath: nodePath2 }) => {
const env2 = extendEnv ? { ...process7.env, ...envOption } : envOption;
if (preferLocal || node) {
return npmRunPathEnv({
env: env2,
cwd: localDirectory,
execPath: nodePath2,
preferLocal,
addExecPath: node
});
}
return env2;
};
var init_options = __esm(() => {
init_npm_run_path();
init_kill();
init_signal();
init_cancel();
init_graceful2();
init_timeout();
init_node2();
init_ipc_input();
init_encoding_option();
init_cwd2();
init_file_url();
init_specific();
import_cross_spawn = __toESM(require_cross_spawn(), 1);
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/arguments/shell.js
var concatenateShell = (file, commandArguments, options) => options.shell && commandArguments.length > 0 ? [[file, ...commandArguments].join(" "), [], options] : [file, commandArguments, options];
// node_modules/.pnpm/strip-final-newline@4.0.0/node_modules/strip-final-newline/index.js
function stripFinalNewline(input) {
if (typeof input === "string") {
return stripFinalNewlineString(input);
}
if (!(ArrayBuffer.isView(input) && input.BYTES_PER_ELEMENT === 1)) {
throw new Error("Input must be a string or a Uint8Array");
}
return stripFinalNewlineBinary(input);
}
var stripFinalNewlineString = (input) => input.at(-1) === LF ? input.slice(0, input.at(-2) === CR ? -2 : -1) : input, stripFinalNewlineBinary = (input) => input.at(-1) === LF_BINARY ? input.subarray(0, input.at(-2) === CR_BINARY ? -2 : -1) : input, LF = `
`, LF_BINARY, CR = "\r", CR_BINARY;
var init_strip_final_newline = __esm(() => {
LF_BINARY = LF.codePointAt(0);
CR_BINARY = CR.codePointAt(0);
});
// node_modules/.pnpm/is-stream@4.0.1/node_modules/is-stream/index.js
function isStream(stream, { checkOpen = true } = {}) {
return stream !== null && typeof stream === "object" && (stream.writable || stream.readable || !checkOpen || stream.writable === undefined && stream.readable === undefined) && typeof stream.pipe === "function";
}
function isWritableStream(stream, { checkOpen = true } = {}) {
return isStream(stream, { checkOpen }) && (stream.writable || !checkOpen) && typeof stream.write === "function" && typeof stream.end === "function" && typeof stream.writable === "boolean" && typeof stream.writableObjectMode === "boolean" && typeof stream.destroy === "function" && typeof stream.destroyed === "boolean";
}
function isReadableStream(stream, { checkOpen = true } = {}) {
return isStream(stream, { checkOpen }) && (stream.readable || !checkOpen) && typeof stream.read === "function" && typeof stream.readable === "boolean" && typeof stream.readableObjectMode === "boolean" && typeof stream.destroy === "function" && typeof stream.destroyed === "boolean";
}
function isDuplexStream(stream, options) {
return isWritableStream(stream, options) && isReadableStream(stream, options);
}
// node_modules/.pnpm/@sec-ant+readable-stream@0.4.1/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js
class c {
#t;
#n;
#r = false;
#e = undefined;
constructor(e, t) {
this.#t = e, this.#n = t;
}
next() {
const e = () => this.#s();
return this.#e = this.#e ? this.#e.then(e, e) : e(), this.#e;
}
return(e) {
const t = () => this.#i(e);
return this.#e ? this.#e.then(t, t) : t();
}
async#s() {
if (this.#r)
return {
done: true,
value: undefined
};
let e;
try {
e = await this.#t.read();
} catch (t) {
throw this.#e = undefined, this.#r = true, this.#t.releaseLock(), t;
}
return e.done && (this.#e = undefined, this.#r = true, this.#t.releaseLock()), e;
}
async#i(e) {
if (this.#r)
return {
done: true,
value: e
};
if (this.#r = true, !this.#n) {
const t = this.#t.cancel(e);
return this.#t.releaseLock(), await t, {
done: true,
value: e
};
}
return this.#t.releaseLock(), {
done: true,
value: e
};
}
}
function i() {
return this[n].next();
}
function o(r) {
return this[n].return(r);
}
function h({ preventCancel: r = false } = {}) {
const e = this.getReader(), t = new c(e, r), s = Object.create(u3);
return s[n] = t, s;
}
var a, n, u3;
var init_asyncIterator = __esm(() => {
a = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype);
n = Symbol();
Object.defineProperty(i, "name", { value: "next" });
Object.defineProperty(o, "name", { value: "return" });
u3 = Object.create(a, {
next: {
enumerable: true,
configurable: true,
writable: true,
value: i
},
return: {
enumerable: true,
configurable: true,
writable: true,
value: o
}
});
});
// node_modules/.pnpm/@sec-ant+readable-stream@0.4.1/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js
var init_fromAnyIterable = () => {};
// node_modules/.pnpm/@sec-ant+readable-stream@0.4.1/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js
var init_ponyfill = __esm(() => {
init_asyncIterator();
init_fromAnyIterable();
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/stream.js
var getAsyncIterable = (stream) => {
if (isReadableStream(stream, { checkOpen: false }) && nodeImports.on !== undefined) {
return getStreamIterable(stream);
}
if (typeof stream?.[Symbol.asyncIterator] === "function") {
return stream;
}
if (toString3.call(stream) === "[object ReadableStream]") {
return h.call(stream);
}
throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.");
}, toString3, getStreamIterable = async function* (stream) {
const controller = new AbortController;
const state = {};
handleStreamEnd(stream, controller, state);
try {
for await (const [chunk] of nodeImports.on(stream, "data", { signal: controller.signal })) {
yield chunk;
}
} catch (error2) {
if (state.error !== undefined) {
throw state.error;
} else if (!controller.signal.aborted) {
throw error2;
}
} finally {
stream.destroy();
}
}, handleStreamEnd = async (stream, controller, state) => {
try {
await nodeImports.finished(stream, {
cleanup: true,
readable: true,
writable: false,
error: false
});
} catch (error2) {
state.error = error2;
} finally {
controller.abort();
}
}, nodeImports;
var init_stream = __esm(() => {
init_ponyfill();
({ toString: toString3 } = Object.prototype);
nodeImports = {};
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/contents.js
var getStreamContents = async (stream, { init, convertChunk, getSize, truncateChunk, addChunk, getFinalChunk, finalize }, { maxBuffer = Number.POSITIVE_INFINITY } = {}) => {
const asyncIterable = getAsyncIterable(stream);
const state = init();
state.length = 0;
try {
for await (const chunk of asyncIterable) {
const chunkType = getChunkType(chunk);
const convertedChunk = convertChunk[chunkType](chunk, state);
appendChunk({
convertedChunk,
state,
getSize,
truncateChunk,
addChunk,
maxBuffer
});
}
appendFinalChunk({
state,
convertChunk,
getSize,
truncateChunk,
addChunk,
getFinalChunk,
maxBuffer
});
return finalize(state);
} catch (error2) {
const normalizedError = typeof error2 === "object" && error2 !== null ? error2 : new Error(error2);
normalizedError.bufferedData = finalize(state);
throw normalizedError;
}
}, appendFinalChunk = ({ state, getSize, truncateChunk, addChunk, getFinalChunk, maxBuffer }) => {
const convertedChunk = getFinalChunk(state);
if (convertedChunk !== undefined) {
appendChunk({
convertedChunk,
state,
getSize,
truncateChunk,
addChunk,
maxBuffer
});
}
}, appendChunk = ({ convertedChunk, state, getSize, truncateChunk, addChunk, maxBuffer }) => {
const chunkSize = getSize(convertedChunk);
const newLength = state.length + chunkSize;
if (newLength <= maxBuffer) {
addNewChunk(convertedChunk, state, addChunk, newLength);
return;
}
const truncatedChunk = truncateChunk(convertedChunk, maxBuffer - state.length);
if (truncatedChunk !== undefined) {
addNewChunk(truncatedChunk, state, addChunk, maxBuffer);
}
throw new MaxBufferError;
}, addNewChunk = (convertedChunk, state, addChunk, newLength) => {
state.contents = addChunk(convertedChunk, state, newLength);
state.length = newLength;
}, getChunkType = (chunk) => {
const typeOfChunk = typeof chunk;
if (typeOfChunk === "string") {
return "string";
}
if (typeOfChunk !== "object" || chunk === null) {
return "others";
}
if (globalThis.Buffer?.isBuffer(chunk)) {
return "buffer";
}
const prototypeName = objectToString3.call(chunk);
if (prototypeName === "[object ArrayBuffer]") {
return "arrayBuffer";
}
if (prototypeName === "[object DataView]") {
return "dataView";
}
if (Number.isInteger(chunk.byteLength) && Number.isInteger(chunk.byteOffset) && objectToString3.call(chunk.buffer) === "[object ArrayBuffer]") {
return "typedArray";
}
return "others";
}, objectToString3, MaxBufferError;
var init_contents = __esm(() => {
init_stream();
({ toString: objectToString3 } = Object.prototype);
MaxBufferError = class MaxBufferError extends Error {
name = "MaxBufferError";
constructor() {
super("maxBuffer exceeded");
}
};
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/utils.js
var identity3 = (value) => value, noop4 = () => {
return;
}, getContentsProperty = ({ contents }) => contents, throwObjectStream = (chunk) => {
throw new Error(`Streams in object mode are not supported: ${String(chunk)}`);
}, getLengthProperty = (convertedChunk) => convertedChunk.length;
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/array.js
async function getStreamAsArray(stream, options) {
return getStreamContents(stream, arrayMethods, options);
}
var initArray = () => ({ contents: [] }), increment = () => 1, addArrayChunk = (convertedChunk, { contents }) => {
contents.push(convertedChunk);
return contents;
}, arrayMethods;
var init_array = __esm(() => {
init_contents();
arrayMethods = {
init: initArray,
convertChunk: {
string: identity3,
buffer: identity3,
arrayBuffer: identity3,
dataView: identity3,
typedArray: identity3,
others: identity3
},
getSize: increment,
truncateChunk: noop4,
addChunk: addArrayChunk,
getFinalChunk: noop4,
finalize: getContentsProperty
};
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/array-buffer.js
async function getStreamAsArrayBuffer(stream, options) {
return getStreamContents(stream, arrayBufferMethods, options);
}
var initArrayBuffer = () => ({ contents: new ArrayBuffer(0) }), useTextEncoder = (chunk) => textEncoder2.encode(chunk), textEncoder2, useUint8Array = (chunk) => new Uint8Array(chunk), useUint8ArrayWithOffset = (chunk) => new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength), truncateArrayBufferChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize), addArrayBufferChunk = (convertedChunk, { contents, length: previousLength }, length) => {
const newContents = hasArrayBufferResize() ? resizeArrayBuffer(contents, length) : resizeArrayBufferSlow(contents, length);
new Uint8Array(newContents).set(convertedChunk, previousLength);
return newContents;
}, resizeArrayBufferSlow = (contents, length) => {
if (length <= contents.byteLength) {
return contents;
}
const arrayBuffer = new ArrayBuffer(getNewContentsLength(length));
new Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);
return arrayBuffer;
}, resizeArrayBuffer = (contents, length) => {
if (length <= contents.maxByteLength) {
contents.resize(length);
return contents;
}
const arrayBuffer = new ArrayBuffer(length, { maxByteLength: getNewContentsLength(length) });
new Uint8Array(arrayBuffer).set(new Uint8Array(contents), 0);
return arrayBuffer;
}, getNewContentsLength = (length) => SCALE_FACTOR ** Math.ceil(Math.log(length) / Math.log(SCALE_FACTOR)), SCALE_FACTOR = 2, finalizeArrayBuffer = ({ contents, length }) => hasArrayBufferResize() ? contents : contents.slice(0, length), hasArrayBufferResize = () => ("resize" in ArrayBuffer.prototype), arrayBufferMethods;
var init_array_buffer = __esm(() => {
init_contents();
textEncoder2 = new TextEncoder;
arrayBufferMethods = {
init: initArrayBuffer,
convertChunk: {
string: useTextEncoder,
buffer: useUint8Array,
arrayBuffer: useUint8Array,
dataView: useUint8ArrayWithOffset,
typedArray: useUint8ArrayWithOffset,
others: throwObjectStream
},
getSize: getLengthProperty,
truncateChunk: truncateArrayBufferChunk,
addChunk: addArrayBufferChunk,
getFinalChunk: noop4,
finalize: finalizeArrayBuffer
};
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/string.js
async function getStreamAsString(stream, options) {
return getStreamContents(stream, stringMethods, options);
}
var initString = () => ({ contents: "", textDecoder: new TextDecoder }), useTextDecoder = (chunk, { textDecoder: textDecoder2 }) => textDecoder2.decode(chunk, { stream: true }), addStringChunk = (convertedChunk, { contents }) => contents + convertedChunk, truncateStringChunk = (convertedChunk, chunkSize) => convertedChunk.slice(0, chunkSize), getFinalStringChunk = ({ textDecoder: textDecoder2 }) => {
const finalChunk = textDecoder2.decode();
return finalChunk === "" ? undefined : finalChunk;
}, stringMethods;
var init_string = __esm(() => {
init_contents();
stringMethods = {
init: initString,
convertChunk: {
string: identity3,
buffer: useTextDecoder,
arrayBuffer: useTextDecoder,
dataView: useTextDecoder,
typedArray: useTextDecoder,
others: throwObjectStream
},
getSize: getLengthProperty,
truncateChunk: truncateStringChunk,
addChunk: addStringChunk,
getFinalChunk: getFinalStringChunk,
finalize: getContentsProperty
};
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/exports.js
var init_exports = __esm(() => {
init_array();
init_array_buffer();
init_string();
init_contents();
});
// node_modules/.pnpm/get-stream@9.0.1/node_modules/get-stream/source/index.js
import { on } from "node:events";
import { finished } from "node:stream/promises";
var init_source2 = __esm(() => {
init_stream();
init_exports();
Object.assign(nodeImports, { on, finished });
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/max-buffer.js
var handleMaxBuffer = ({ error: error2, stream, readableObjectMode, lines, encoding, fdNumber }) => {
if (!(error2 instanceof MaxBufferError)) {
throw error2;
}
if (fdNumber === "all") {
return error2;
}
const unit = getMaxBufferUnit(readableObjectMode, lines, encoding);
error2.maxBufferInfo = { fdNumber, unit };
stream.destroy();
throw error2;
}, getMaxBufferUnit = (readableObjectMode, lines, encoding) => {
if (readableObjectMode) {
return "objects";
}
if (lines) {
return "lines";
}
if (encoding === "buffer") {
return "bytes";
}
return "characters";
}, checkIpcMaxBuffer = (subprocess, ipcOutput, maxBuffer) => {
if (ipcOutput.length !== maxBuffer) {
return;
}
const error2 = new MaxBufferError;
error2.maxBufferInfo = { fdNumber: "ipc" };
throw error2;
}, getMaxBufferMessage = (error2, maxBuffer) => {
const { streamName, threshold, unit } = getMaxBufferInfo(error2, maxBuffer);
return `Command's ${streamName} was larger than ${threshold} ${unit}`;
}, getMaxBufferInfo = (error2, maxBuffer) => {
if (error2?.maxBufferInfo === undefined) {
return { streamName: "output", threshold: maxBuffer[1], unit: "bytes" };
}
const { maxBufferInfo: { fdNumber, unit } } = error2;
delete error2.maxBufferInfo;
const threshold = getFdSpecificValue(maxBuffer, fdNumber);
if (fdNumber === "ipc") {
return { streamName: "IPC output", threshold, unit: "messages" };
}
return { streamName: getStreamName(fdNumber), threshold, unit };
}, isMaxBufferSync = (resultError, output, maxBuffer) => resultError?.code === "ENOBUFS" && output !== null && output.some((result) => result !== null && result.length > getMaxBufferSync(maxBuffer)), truncateMaxBufferSync = (result, isMaxBuffer, maxBuffer) => {
if (!isMaxBuffer) {
return result;
}
const maxBufferValue = getMaxBufferSync(maxBuffer);
return result.length > maxBufferValue ? result.slice(0, maxBufferValue) : result;
}, getMaxBufferSync = ([, stdoutMaxBuffer]) => stdoutMaxBuffer;
var init_max_buffer = __esm(() => {
init_source2();
init_standard_stream();
init_specific();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/message.js
import { inspect as inspect2 } from "node:util";
var createMessages = ({
stdio,
all,
ipcOutput,
originalError,
signal,
signalDescription,
exitCode,
escapedCommand,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal,
maxBuffer,
timeout,
cwd: cwd2
}) => {
const errorCode = originalError?.code;
const prefix = getErrorPrefix({
originalError,
timedOut,
timeout,
isMaxBuffer,
maxBuffer,
errorCode,
signal,
signalDescription,
exitCode,
isCanceled,
isGracefullyCanceled,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal
});
const originalMessage = getOriginalMessage(originalError, cwd2);
const suffix = originalMessage === undefined ? "" : `
${originalMessage}`;
const shortMessage = `${prefix}: ${escapedCommand}${suffix}`;
const messageStdio = all === undefined ? [stdio[2], stdio[1]] : [all];
const message = [
shortMessage,
...messageStdio,
...stdio.slice(3),
ipcOutput.map((ipcMessage) => serializeIpcMessage(ipcMessage)).join(`
`)
].map((messagePart) => escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join(`
`);
return { originalMessage, shortMessage, message };
}, getErrorPrefix = ({
originalError,
timedOut,
timeout,
isMaxBuffer,
maxBuffer,
errorCode,
signal,
signalDescription,
exitCode,
isCanceled,
isGracefullyCanceled,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal
}) => {
const forcefulSuffix = getForcefulSuffix(isForcefullyTerminated, forceKillAfterDelay);
if (timedOut) {
return `Command timed out after ${timeout} milliseconds${forcefulSuffix}`;
}
if (isGracefullyCanceled) {
if (signal === undefined) {
return `Command was gracefully canceled with exit code ${exitCode}`;
}
return isForcefullyTerminated ? `Command was gracefully canceled${forcefulSuffix}` : `Command was gracefully canceled with ${signal} (${signalDescription})`;
}
if (isCanceled) {
return `Command was canceled${forcefulSuffix}`;
}
if (isMaxBuffer) {
return `${getMaxBufferMessage(originalError, maxBuffer)}${forcefulSuffix}`;
}
if (errorCode !== undefined) {
return `Command failed with ${errorCode}${forcefulSuffix}`;
}
if (isForcefullyTerminated) {
return `Command was killed with ${killSignal} (${getSignalDescription(killSignal)})${forcefulSuffix}`;
}
if (signal !== undefined) {
return `Command was killed with ${signal} (${signalDescription})`;
}
if (exitCode !== undefined) {
return `Command failed with exit code ${exitCode}`;
}
return "Command failed";
}, getForcefulSuffix = (isForcefullyTerminated, forceKillAfterDelay) => isForcefullyTerminated ? ` and was forcefully terminated after ${forceKillAfterDelay} milliseconds` : "", getOriginalMessage = (originalError, cwd2) => {
if (originalError instanceof DiscardedError) {
return;
}
const originalMessage = isExecaError(originalError) ? originalError.originalMessage : String(originalError?.message ?? originalError);
const escapedOriginalMessage = escapeLines(fixCwdError(originalMessage, cwd2));
return escapedOriginalMessage === "" ? undefined : escapedOriginalMessage;
}, serializeIpcMessage = (ipcMessage) => typeof ipcMessage === "string" ? ipcMessage : inspect2(ipcMessage), serializeMessagePart = (messagePart) => Array.isArray(messagePart) ? messagePart.map((messageItem) => stripFinalNewline(serializeMessageItem(messageItem))).filter(Boolean).join(`
`) : serializeMessageItem(messagePart), serializeMessageItem = (messageItem) => {
if (typeof messageItem === "string") {
return messageItem;
}
if (isUint8Array(messageItem)) {
return uint8ArrayToString(messageItem);
}
return "";
};
var init_message = __esm(() => {
init_strip_final_newline();
init_uint_array();
init_cwd2();
init_escape();
init_max_buffer();
init_signal();
init_final_error();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/result.js
var makeSuccessResult = ({
command,
escapedCommand,
stdio,
all,
ipcOutput,
options: { cwd: cwd2 },
startTime
}) => omitUndefinedProperties({
command,
escapedCommand,
cwd: cwd2,
durationMs: getDurationMs(startTime),
failed: false,
timedOut: false,
isCanceled: false,
isGracefullyCanceled: false,
isTerminated: false,
isMaxBuffer: false,
isForcefullyTerminated: false,
exitCode: 0,
stdout: stdio[1],
stderr: stdio[2],
all,
stdio,
ipcOutput,
pipedFrom: []
}), makeEarlyError = ({
error: error2,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync
}) => makeError({
error: error2,
command,
escapedCommand,
startTime,
timedOut: false,
isCanceled: false,
isGracefullyCanceled: false,
isMaxBuffer: false,
isForcefullyTerminated: false,
stdio: Array.from({ length: fileDescriptors.length }),
ipcOutput: [],
options,
isSync
}), makeError = ({
error: originalError,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode: rawExitCode,
signal: rawSignal,
stdio,
all,
ipcOutput,
options: {
timeoutDuration,
timeout = timeoutDuration,
forceKillAfterDelay,
killSignal,
cwd: cwd2,
maxBuffer
},
isSync
}) => {
const { exitCode, signal, signalDescription } = normalizeExitPayload(rawExitCode, rawSignal);
const { originalMessage, shortMessage, message } = createMessages({
stdio,
all,
ipcOutput,
originalError,
signal,
signalDescription,
exitCode,
escapedCommand,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
forceKillAfterDelay,
killSignal,
maxBuffer,
timeout,
cwd: cwd2
});
const error2 = getFinalError(originalError, message, isSync);
Object.assign(error2, getErrorProperties({
error: error2,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
stdio,
all,
ipcOutput,
cwd: cwd2,
originalMessage,
shortMessage
}));
return error2;
}, getErrorProperties = ({
error: error2,
command,
escapedCommand,
startTime,
timedOut,
isCanceled,
isGracefullyCanceled,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
stdio,
all,
ipcOutput,
cwd: cwd2,
originalMessage,
shortMessage
}) => omitUndefinedProperties({
shortMessage,
originalMessage,
command,
escapedCommand,
cwd: cwd2,
durationMs: getDurationMs(startTime),
failed: true,
timedOut,
isCanceled,
isGracefullyCanceled,
isTerminated: signal !== undefined,
isMaxBuffer,
isForcefullyTerminated,
exitCode,
signal,
signalDescription,
code: error2.cause?.code,
stdout: stdio[1],
stderr: stdio[2],
all,
stdio,
ipcOutput,
pipedFrom: []
}), omitUndefinedProperties = (result) => Object.fromEntries(Object.entries(result).filter(([, value]) => value !== undefined)), normalizeExitPayload = (rawExitCode, rawSignal) => {
const exitCode = rawExitCode === null ? undefined : rawExitCode;
const signal = rawSignal === null ? undefined : rawSignal;
const signalDescription = signal === undefined ? undefined : getSignalDescription(rawSignal);
return { exitCode, signal, signalDescription };
};
var init_result = __esm(() => {
init_signal();
init_duration();
init_final_error();
init_message();
});
// node_modules/.pnpm/parse-ms@4.0.0/node_modules/parse-ms/index.js
function parseNumber(milliseconds) {
return {
days: Math.trunc(milliseconds / 86400000),
hours: Math.trunc(milliseconds / 3600000 % 24),
minutes: Math.trunc(milliseconds / 60000 % 60),
seconds: Math.trunc(milliseconds / 1000 % 60),
milliseconds: Math.trunc(milliseconds % 1000),
microseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1000) % 1000),
nanoseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e6) % 1000)
};
}
function parseBigint(milliseconds) {
return {
days: milliseconds / 86400000n,
hours: milliseconds / 3600000n % 24n,
minutes: milliseconds / 60000n % 60n,
seconds: milliseconds / 1000n % 60n,
milliseconds: milliseconds % 1000n,
microseconds: 0n,
nanoseconds: 0n
};
}
function parseMilliseconds(milliseconds) {
switch (typeof milliseconds) {
case "number": {
if (Number.isFinite(milliseconds)) {
return parseNumber(milliseconds);
}
break;
}
case "bigint": {
return parseBigint(milliseconds);
}
}
throw new TypeError("Expected a finite number or bigint");
}
var toZeroIfInfinity = (value) => Number.isFinite(value) ? value : 0;
// node_modules/.pnpm/pretty-ms@9.3.0/node_modules/pretty-ms/index.js
function prettyMilliseconds(milliseconds, options) {
const isBigInt = typeof milliseconds === "bigint";
if (!isBigInt && !Number.isFinite(milliseconds)) {
throw new TypeError("Expected a finite number or bigint");
}
options = { ...options };
const sign = milliseconds < 0 ? "-" : "";
milliseconds = milliseconds < 0 ? -milliseconds : milliseconds;
if (options.colonNotation) {
options.compact = false;
options.formatSubMilliseconds = false;
options.separateMilliseconds = false;
options.verbose = false;
}
if (options.compact) {
options.unitCount = 1;
options.secondsDecimalDigits = 0;
options.millisecondsDecimalDigits = 0;
}
let result = [];
const floorDecimals = (value, decimalDigits) => {
const flooredInterimValue = Math.floor(value * 10 ** decimalDigits + SECOND_ROUNDING_EPSILON);
const flooredValue = Math.round(flooredInterimValue) / 10 ** decimalDigits;
return flooredValue.toFixed(decimalDigits);
};
const add = (value, long, short, valueString) => {
if ((result.length === 0 || !options.colonNotation) && isZero(value) && !(options.colonNotation && short === "m")) {
return;
}
valueString ??= String(value);
if (options.colonNotation) {
const wholeDigits = valueString.includes(".") ? valueString.split(".")[0].length : valueString.length;
const minLength = result.length > 0 ? 2 : 1;
valueString = "0".repeat(Math.max(0, minLength - wholeDigits)) + valueString;
} else {
valueString += options.verbose ? " " + pluralize(long, value) : short;
}
result.push(valueString);
};
const parsed = parseMilliseconds(milliseconds);
const days = BigInt(parsed.days);
if (options.hideYearAndDays) {
add(BigInt(days) * 24n + BigInt(parsed.hours), "hour", "h");
} else {
if (options.hideYear) {
add(days, "day", "d");
} else {
add(days / 365n, "year", "y");
add(days % 365n, "day", "d");
}
add(Number(parsed.hours), "hour", "h");
}
add(Number(parsed.minutes), "minute", "m");
if (!options.hideSeconds) {
if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1000 && !options.subSecondsAsDecimals) {
const seconds = Number(parsed.seconds);
const milliseconds2 = Number(parsed.milliseconds);
const microseconds = Number(parsed.microseconds);
const nanoseconds = Number(parsed.nanoseconds);
add(seconds, "second", "s");
if (options.formatSubMilliseconds) {
add(milliseconds2, "millisecond", "ms");
add(microseconds, "microsecond", "µs");
add(nanoseconds, "nanosecond", "ns");
} else {
const millisecondsAndBelow = milliseconds2 + microseconds / 1000 + nanoseconds / 1e6;
const millisecondsDecimalDigits = typeof options.millisecondsDecimalDigits === "number" ? options.millisecondsDecimalDigits : 0;
const roundedMilliseconds = millisecondsAndBelow >= 1 ? Math.round(millisecondsAndBelow) : Math.ceil(millisecondsAndBelow);
const millisecondsString = millisecondsDecimalDigits ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits) : roundedMilliseconds;
add(Number.parseFloat(millisecondsString), "millisecond", "ms", millisecondsString);
}
} else {
const seconds = (isBigInt ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS) : milliseconds) / 1000 % 60;
const secondsDecimalDigits = typeof options.secondsDecimalDigits === "number" ? options.secondsDecimalDigits : 1;
const secondsFixed = floorDecimals(seconds, secondsDecimalDigits);
const secondsString = options.keepDecimalsOnWholeSeconds ? secondsFixed : secondsFixed.replace(/\.0+$/, "");
add(Number.parseFloat(secondsString), "second", "s", secondsString);
}
}
if (result.length === 0) {
return sign + "0" + (options.verbose ? " milliseconds" : "ms");
}
const separator = options.colonNotation ? ":" : " ";
if (typeof options.unitCount === "number") {
result = result.slice(0, Math.max(options.unitCount, 1));
}
return sign + result.join(separator);
}
var isZero = (value) => value === 0 || value === 0n, pluralize = (word, count2) => count2 === 1 || count2 === 1n ? word : `${word}s`, SECOND_ROUNDING_EPSILON = 0.0000001, ONE_DAY_IN_MILLISECONDS;
var init_pretty_ms = __esm(() => {
ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/error.js
var logError = (result, verboseInfo) => {
if (result.failed) {
verboseLog({
type: "error",
verboseMessage: result.shortMessage,
verboseInfo,
result
});
}
};
var init_error3 = __esm(() => {
init_log2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/complete.js
var logResult = (result, verboseInfo) => {
if (!isVerbose(verboseInfo)) {
return;
}
logError(result, verboseInfo);
logDuration(result, verboseInfo);
}, logDuration = (result, verboseInfo) => {
const verboseMessage = `(done in ${prettyMilliseconds(result.durationMs)})`;
verboseLog({
type: "duration",
verboseMessage,
verboseInfo,
result
});
};
var init_complete = __esm(() => {
init_pretty_ms();
init_values2();
init_log2();
init_error3();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/reject.js
var handleResult = (result, verboseInfo, { reject }) => {
logResult(result, verboseInfo);
if (result.failed && reject) {
throw result;
}
return result;
};
var init_reject = __esm(() => {
init_complete();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/type.js
var getStdioItemType = (value, optionName) => {
if (isAsyncGenerator(value)) {
return "asyncGenerator";
}
if (isSyncGenerator(value)) {
return "generator";
}
if (isUrl(value)) {
return "fileUrl";
}
if (isFilePathObject(value)) {
return "filePath";
}
if (isWebStream(value)) {
return "webStream";
}
if (isStream(value, { checkOpen: false })) {
return "native";
}
if (isUint8Array(value)) {
return "uint8Array";
}
if (isAsyncIterableObject(value)) {
return "asyncIterable";
}
if (isIterableObject(value)) {
return "iterable";
}
if (isTransformStream(value)) {
return getTransformStreamType({ transform: value }, optionName);
}
if (isTransformOptions(value)) {
return getTransformObjectType(value, optionName);
}
return "native";
}, getTransformObjectType = (value, optionName) => {
if (isDuplexStream(value.transform, { checkOpen: false })) {
return getDuplexType(value, optionName);
}
if (isTransformStream(value.transform)) {
return getTransformStreamType(value, optionName);
}
return getGeneratorObjectType(value, optionName);
}, getDuplexType = (value, optionName) => {
validateNonGeneratorType(value, optionName, "Duplex stream");
return "duplex";
}, getTransformStreamType = (value, optionName) => {
validateNonGeneratorType(value, optionName, "web TransformStream");
return "webTransform";
}, validateNonGeneratorType = ({ final, binary, objectMode }, optionName, typeName) => {
checkUndefinedOption(final, `${optionName}.final`, typeName);
checkUndefinedOption(binary, `${optionName}.binary`, typeName);
checkBooleanOption(objectMode, `${optionName}.objectMode`);
}, checkUndefinedOption = (value, optionName, typeName) => {
if (value !== undefined) {
throw new TypeError(`The \`${optionName}\` option can only be defined when using a generator, not a ${typeName}.`);
}
}, getGeneratorObjectType = ({ transform, final, binary, objectMode }, optionName) => {
if (transform !== undefined && !isGenerator(transform)) {
throw new TypeError(`The \`${optionName}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);
}
if (isDuplexStream(final, { checkOpen: false })) {
throw new TypeError(`The \`${optionName}.final\` option must not be a Duplex stream.`);
}
if (isTransformStream(final)) {
throw new TypeError(`The \`${optionName}.final\` option must not be a web TransformStream.`);
}
if (final !== undefined && !isGenerator(final)) {
throw new TypeError(`The \`${optionName}.final\` option must be a generator.`);
}
checkBooleanOption(binary, `${optionName}.binary`);
checkBooleanOption(objectMode, `${optionName}.objectMode`);
return isAsyncGenerator(transform) || isAsyncGenerator(final) ? "asyncGenerator" : "generator";
}, checkBooleanOption = (value, optionName) => {
if (value !== undefined && typeof value !== "boolean") {
throw new TypeError(`The \`${optionName}\` option must use a boolean.`);
}
}, isGenerator = (value) => isAsyncGenerator(value) || isSyncGenerator(value), isAsyncGenerator = (value) => Object.prototype.toString.call(value) === "[object AsyncGeneratorFunction]", isSyncGenerator = (value) => Object.prototype.toString.call(value) === "[object GeneratorFunction]", isTransformOptions = (value) => isPlainObject(value) && (value.transform !== undefined || value.final !== undefined), isUrl = (value) => Object.prototype.toString.call(value) === "[object URL]", isRegularUrl = (value) => isUrl(value) && value.protocol !== "file:", isFilePathObject = (value) => isPlainObject(value) && Object.keys(value).length > 0 && Object.keys(value).every((key) => FILE_PATH_KEYS.has(key)) && isFilePathString(value.file), FILE_PATH_KEYS, isFilePathString = (file) => typeof file === "string", isUnknownStdioString = (type, value) => type === "native" && typeof value === "string" && !KNOWN_STDIO_STRINGS.has(value), KNOWN_STDIO_STRINGS, isReadableStream2 = (value) => Object.prototype.toString.call(value) === "[object ReadableStream]", isWritableStream2 = (value) => Object.prototype.toString.call(value) === "[object WritableStream]", isWebStream = (value) => isReadableStream2(value) || isWritableStream2(value), isTransformStream = (value) => isReadableStream2(value?.readable) && isWritableStream2(value?.writable), isAsyncIterableObject = (value) => isObject2(value) && typeof value[Symbol.asyncIterator] === "function", isIterableObject = (value) => isObject2(value) && typeof value[Symbol.iterator] === "function", isObject2 = (value) => typeof value === "object" && value !== null, TRANSFORM_TYPES, FILE_TYPES, SPECIAL_DUPLICATE_TYPES_SYNC, SPECIAL_DUPLICATE_TYPES, FORBID_DUPLICATE_TYPES, TYPE_TO_MESSAGE;
var init_type = __esm(() => {
init_uint_array();
FILE_PATH_KEYS = new Set(["file", "append"]);
KNOWN_STDIO_STRINGS = new Set(["ipc", "ignore", "inherit", "overlapped", "pipe"]);
TRANSFORM_TYPES = new Set(["generator", "asyncGenerator", "duplex", "webTransform"]);
FILE_TYPES = new Set(["fileUrl", "filePath", "fileNumber"]);
SPECIAL_DUPLICATE_TYPES_SYNC = new Set(["fileUrl", "filePath"]);
SPECIAL_DUPLICATE_TYPES = new Set([...SPECIAL_DUPLICATE_TYPES_SYNC, "webStream", "nodeStream"]);
FORBID_DUPLICATE_TYPES = new Set(["webTransform", "duplex"]);
TYPE_TO_MESSAGE = {
generator: "a generator",
asyncGenerator: "an async generator",
fileUrl: "a file URL",
filePath: "a file path string",
fileNumber: "a file descriptor number",
webStream: "a web stream",
nodeStream: "a Node.js stream",
webTransform: "a web TransformStream",
duplex: "a Duplex stream",
native: "any value",
iterable: "an iterable",
asyncIterable: "an async iterable",
string: "a string",
uint8Array: "a Uint8Array"
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/object-mode.js
var getTransformObjectModes = (objectMode, index, newTransforms, direction) => direction === "output" ? getOutputObjectModes(objectMode, index, newTransforms) : getInputObjectModes(objectMode, index, newTransforms), getOutputObjectModes = (objectMode, index, newTransforms) => {
const writableObjectMode = index !== 0 && newTransforms[index - 1].value.readableObjectMode;
const readableObjectMode = objectMode ?? writableObjectMode;
return { writableObjectMode, readableObjectMode };
}, getInputObjectModes = (objectMode, index, newTransforms) => {
const writableObjectMode = index === 0 ? objectMode === true : newTransforms[index - 1].value.readableObjectMode;
const readableObjectMode = index !== newTransforms.length - 1 && (objectMode ?? writableObjectMode);
return { writableObjectMode, readableObjectMode };
}, getFdObjectMode = (stdioItems, direction) => {
const lastTransform = stdioItems.findLast(({ type }) => TRANSFORM_TYPES.has(type));
if (lastTransform === undefined) {
return false;
}
return direction === "input" ? lastTransform.value.writableObjectMode : lastTransform.value.readableObjectMode;
};
var init_object_mode = __esm(() => {
init_type();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/normalize.js
var normalizeTransforms = (stdioItems, optionName, direction, options) => [
...stdioItems.filter(({ type }) => !TRANSFORM_TYPES.has(type)),
...getTransforms(stdioItems, optionName, direction, options)
], getTransforms = (stdioItems, optionName, direction, { encoding }) => {
const transforms = stdioItems.filter(({ type }) => TRANSFORM_TYPES.has(type));
const newTransforms = Array.from({ length: transforms.length });
for (const [index, stdioItem] of Object.entries(transforms)) {
newTransforms[index] = normalizeTransform({
stdioItem,
index: Number(index),
newTransforms,
optionName,
direction,
encoding
});
}
return sortTransforms(newTransforms, direction);
}, normalizeTransform = ({ stdioItem, stdioItem: { type }, index, newTransforms, optionName, direction, encoding }) => {
if (type === "duplex") {
return normalizeDuplex({ stdioItem, optionName });
}
if (type === "webTransform") {
return normalizeTransformStream({
stdioItem,
index,
newTransforms,
direction
});
}
return normalizeGenerator({
stdioItem,
index,
newTransforms,
direction,
encoding
});
}, normalizeDuplex = ({
stdioItem,
stdioItem: {
value: {
transform,
transform: { writableObjectMode, readableObjectMode },
objectMode = readableObjectMode
}
},
optionName
}) => {
if (objectMode && !readableObjectMode) {
throw new TypeError(`The \`${optionName}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);
}
if (!objectMode && readableObjectMode) {
throw new TypeError(`The \`${optionName}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);
}
return {
...stdioItem,
value: { transform, writableObjectMode, readableObjectMode }
};
}, normalizeTransformStream = ({ stdioItem, stdioItem: { value }, index, newTransforms, direction }) => {
const { transform, objectMode } = isPlainObject(value) ? value : { transform: value };
const { writableObjectMode, readableObjectMode } = getTransformObjectModes(objectMode, index, newTransforms, direction);
return {
...stdioItem,
value: { transform, writableObjectMode, readableObjectMode }
};
}, normalizeGenerator = ({ stdioItem, stdioItem: { value }, index, newTransforms, direction, encoding }) => {
const {
transform,
final,
binary: binaryOption = false,
preserveNewlines = false,
objectMode
} = isPlainObject(value) ? value : { transform: value };
const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
const { writableObjectMode, readableObjectMode } = getTransformObjectModes(objectMode, index, newTransforms, direction);
return {
...stdioItem,
value: {
transform,
final,
binary,
preserveNewlines,
writableObjectMode,
readableObjectMode
}
};
}, sortTransforms = (newTransforms, direction) => direction === "input" ? newTransforms.reverse() : newTransforms;
var init_normalize = __esm(() => {
init_encoding_option();
init_type();
init_object_mode();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/direction.js
import process8 from "node:process";
var getStreamDirection = (stdioItems, fdNumber, optionName) => {
const directions = stdioItems.map((stdioItem) => getStdioItemDirection(stdioItem, fdNumber));
if (directions.includes("input") && directions.includes("output")) {
throw new TypeError(`The \`${optionName}\` option must not be an array of both readable and writable values.`);
}
return directions.find(Boolean) ?? DEFAULT_DIRECTION;
}, getStdioItemDirection = ({ type, value }, fdNumber) => KNOWN_DIRECTIONS[fdNumber] ?? guessStreamDirection[type](value), KNOWN_DIRECTIONS, anyDirection = () => {
return;
}, alwaysInput = () => "input", guessStreamDirection, getStandardStreamDirection = (value) => {
if ([0, process8.stdin].includes(value)) {
return "input";
}
if ([1, 2, process8.stdout, process8.stderr].includes(value)) {
return "output";
}
}, DEFAULT_DIRECTION = "output";
var init_direction = __esm(() => {
init_type();
KNOWN_DIRECTIONS = ["input", "output", "output"];
guessStreamDirection = {
generator: anyDirection,
asyncGenerator: anyDirection,
fileUrl: anyDirection,
filePath: anyDirection,
iterable: alwaysInput,
asyncIterable: alwaysInput,
uint8Array: alwaysInput,
webStream: (value) => isWritableStream2(value) ? "output" : "input",
nodeStream(value) {
if (!isReadableStream(value, { checkOpen: false })) {
return "output";
}
return isWritableStream(value, { checkOpen: false }) ? undefined : "input";
},
webTransform: anyDirection,
duplex: anyDirection,
native(value) {
const standardStreamDirection = getStandardStreamDirection(value);
if (standardStreamDirection !== undefined) {
return standardStreamDirection;
}
if (isStream(value, { checkOpen: false })) {
return guessStreamDirection.nodeStream(value);
}
}
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/array.js
var normalizeIpcStdioArray = (stdioArray, ipc) => ipc && !stdioArray.includes("ipc") ? [...stdioArray, "ipc"] : stdioArray;
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/stdio-option.js
var normalizeStdioOption = ({ stdio, ipc, buffer, ...options }, verboseInfo, isSync) => {
const stdioArray = getStdioArray(stdio, options).map((stdioOption, fdNumber) => addDefaultValue2(stdioOption, fdNumber));
return isSync ? normalizeStdioSync(stdioArray, buffer, verboseInfo) : normalizeIpcStdioArray(stdioArray, ipc);
}, getStdioArray = (stdio, options) => {
if (stdio === undefined) {
return STANDARD_STREAMS_ALIASES.map((alias) => options[alias]);
}
if (hasAlias(options)) {
throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${STANDARD_STREAMS_ALIASES.map((alias) => `\`${alias}\``).join(", ")}`);
}
if (typeof stdio === "string") {
return [stdio, stdio, stdio];
}
if (!Array.isArray(stdio)) {
throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
}
const length = Math.max(stdio.length, STANDARD_STREAMS_ALIASES.length);
return Array.from({ length }, (_2, fdNumber) => stdio[fdNumber]);
}, hasAlias = (options) => STANDARD_STREAMS_ALIASES.some((alias) => options[alias] !== undefined), addDefaultValue2 = (stdioOption, fdNumber) => {
if (Array.isArray(stdioOption)) {
return stdioOption.map((item) => addDefaultValue2(item, fdNumber));
}
if (stdioOption === null || stdioOption === undefined) {
return fdNumber >= STANDARD_STREAMS_ALIASES.length ? "ignore" : "pipe";
}
return stdioOption;
}, normalizeStdioSync = (stdioArray, buffer, verboseInfo) => stdioArray.map((stdioOption, fdNumber) => !buffer[fdNumber] && fdNumber !== 0 && !isFullVerbose(verboseInfo, fdNumber) && isOutputPipeOnly(stdioOption) ? "ignore" : stdioOption), isOutputPipeOnly = (stdioOption) => stdioOption === "pipe" || Array.isArray(stdioOption) && stdioOption.every((item) => item === "pipe");
var init_stdio_option = __esm(() => {
init_standard_stream();
init_values2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/native.js
import { readFileSync as readFileSync2 } from "node:fs";
import tty3 from "node:tty";
var handleNativeStream = ({ stdioItem, stdioItem: { type }, isStdioArray, fdNumber, direction, isSync }) => {
if (!isStdioArray || type !== "native") {
return stdioItem;
}
return isSync ? handleNativeStreamSync({ stdioItem, fdNumber, direction }) : handleNativeStreamAsync({ stdioItem, fdNumber });
}, handleNativeStreamSync = ({ stdioItem, stdioItem: { value, optionName }, fdNumber, direction }) => {
const targetFd = getTargetFd({
value,
optionName,
fdNumber,
direction
});
if (targetFd !== undefined) {
return targetFd;
}
if (isStream(value, { checkOpen: false })) {
throw new TypeError(`The \`${optionName}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);
}
return stdioItem;
}, getTargetFd = ({ value, optionName, fdNumber, direction }) => {
const targetFdNumber = getTargetFdNumber(value, fdNumber);
if (targetFdNumber === undefined) {
return;
}
if (direction === "output") {
return { type: "fileNumber", value: targetFdNumber, optionName };
}
if (tty3.isatty(targetFdNumber)) {
throw new TypeError(`The \`${optionName}: ${serializeOptionValue(value)}\` option is invalid: it cannot be a TTY with synchronous methods.`);
}
return { type: "uint8Array", value: bufferToUint8Array(readFileSync2(targetFdNumber)), optionName };
}, getTargetFdNumber = (value, fdNumber) => {
if (value === "inherit") {
return fdNumber;
}
if (typeof value === "number") {
return value;
}
const standardStreamIndex = STANDARD_STREAMS.indexOf(value);
if (standardStreamIndex !== -1) {
return standardStreamIndex;
}
}, handleNativeStreamAsync = ({ stdioItem, stdioItem: { value, optionName }, fdNumber }) => {
if (value === "inherit") {
return { type: "nodeStream", value: getStandardStream(fdNumber, value, optionName), optionName };
}
if (typeof value === "number") {
return { type: "nodeStream", value: getStandardStream(value, value, optionName), optionName };
}
if (isStream(value, { checkOpen: false })) {
return { type: "nodeStream", value, optionName };
}
return stdioItem;
}, getStandardStream = (fdNumber, value, optionName) => {
const standardStream = STANDARD_STREAMS[fdNumber];
if (standardStream === undefined) {
throw new TypeError(`The \`${optionName}: ${value}\` option is invalid: no such standard stream.`);
}
return standardStream;
};
var init_native = __esm(() => {
init_standard_stream();
init_uint_array();
init_fd_options();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/input-option.js
var handleInputOptions = ({ input, inputFile }, fdNumber) => fdNumber === 0 ? [
...handleInputOption(input),
...handleInputFileOption(inputFile)
] : [], handleInputOption = (input) => input === undefined ? [] : [{
type: getInputType(input),
value: input,
optionName: "input"
}], getInputType = (input) => {
if (isReadableStream(input, { checkOpen: false })) {
return "nodeStream";
}
if (typeof input === "string") {
return "string";
}
if (isUint8Array(input)) {
return "uint8Array";
}
throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.");
}, handleInputFileOption = (inputFile) => inputFile === undefined ? [] : [{
...getInputFileType(inputFile),
optionName: "inputFile"
}], getInputFileType = (inputFile) => {
if (isUrl(inputFile)) {
return { type: "fileUrl", value: inputFile };
}
if (isFilePathString(inputFile)) {
return { type: "filePath", value: { file: inputFile } };
}
throw new Error("The `inputFile` option must be a file path string or a file URL.");
};
var init_input_option = __esm(() => {
init_uint_array();
init_type();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/duplicate.js
var filterDuplicates = (stdioItems) => stdioItems.filter((stdioItemOne, indexOne) => stdioItems.every((stdioItemTwo, indexTwo) => stdioItemOne.value !== stdioItemTwo.value || indexOne >= indexTwo || stdioItemOne.type === "generator" || stdioItemOne.type === "asyncGenerator")), getDuplicateStream = ({ stdioItem: { type, value, optionName }, direction, fileDescriptors, isSync }) => {
const otherStdioItems = getOtherStdioItems(fileDescriptors, type);
if (otherStdioItems.length === 0) {
return;
}
if (isSync) {
validateDuplicateStreamSync({
otherStdioItems,
type,
value,
optionName,
direction
});
return;
}
if (SPECIAL_DUPLICATE_TYPES.has(type)) {
return getDuplicateStreamInstance({
otherStdioItems,
type,
value,
optionName,
direction
});
}
if (FORBID_DUPLICATE_TYPES.has(type)) {
validateDuplicateTransform({
otherStdioItems,
type,
value,
optionName
});
}
}, getOtherStdioItems = (fileDescriptors, type) => fileDescriptors.flatMap(({ direction, stdioItems }) => stdioItems.filter((stdioItem) => stdioItem.type === type).map((stdioItem) => ({ ...stdioItem, direction }))), validateDuplicateStreamSync = ({ otherStdioItems, type, value, optionName, direction }) => {
if (SPECIAL_DUPLICATE_TYPES_SYNC.has(type)) {
getDuplicateStreamInstance({
otherStdioItems,
type,
value,
optionName,
direction
});
}
}, getDuplicateStreamInstance = ({ otherStdioItems, type, value, optionName, direction }) => {
const duplicateStdioItems = otherStdioItems.filter((stdioItem) => hasSameValue(stdioItem, value));
if (duplicateStdioItems.length === 0) {
return;
}
const differentStdioItem = duplicateStdioItems.find((stdioItem) => stdioItem.direction !== direction);
throwOnDuplicateStream(differentStdioItem, optionName, type);
return direction === "output" ? duplicateStdioItems[0].stream : undefined;
}, hasSameValue = ({ type, value }, secondValue) => {
if (type === "filePath") {
return value.file === secondValue.file;
}
if (type === "fileUrl") {
return value.href === secondValue.href;
}
return value === secondValue;
}, validateDuplicateTransform = ({ otherStdioItems, type, value, optionName }) => {
const duplicateStdioItem = otherStdioItems.find(({ value: { transform } }) => transform === value.transform);
throwOnDuplicateStream(duplicateStdioItem, optionName, type);
}, throwOnDuplicateStream = (stdioItem, optionName, type) => {
if (stdioItem !== undefined) {
throw new TypeError(`The \`${stdioItem.optionName}\` and \`${optionName}\` options must not target ${TYPE_TO_MESSAGE[type]} that is the same.`);
}
};
var init_duplicate = __esm(() => {
init_type();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/handle.js
var handleStdio = (addProperties, options, verboseInfo, isSync) => {
const stdio = normalizeStdioOption(options, verboseInfo, isSync);
const initialFileDescriptors = stdio.map((stdioOption, fdNumber) => getFileDescriptor({
stdioOption,
fdNumber,
options,
isSync
}));
const fileDescriptors = getFinalFileDescriptors({
initialFileDescriptors,
addProperties,
options,
isSync
});
options.stdio = fileDescriptors.map(({ stdioItems }) => forwardStdio(stdioItems));
return fileDescriptors;
}, getFileDescriptor = ({ stdioOption, fdNumber, options, isSync }) => {
const optionName = getStreamName(fdNumber);
const { stdioItems: initialStdioItems, isStdioArray } = initializeStdioItems({
stdioOption,
fdNumber,
options,
optionName
});
const direction = getStreamDirection(initialStdioItems, fdNumber, optionName);
const stdioItems = initialStdioItems.map((stdioItem) => handleNativeStream({
stdioItem,
isStdioArray,
fdNumber,
direction,
isSync
}));
const normalizedStdioItems = normalizeTransforms(stdioItems, optionName, direction, options);
const objectMode = getFdObjectMode(normalizedStdioItems, direction);
validateFileObjectMode(normalizedStdioItems, objectMode);
return { direction, objectMode, stdioItems: normalizedStdioItems };
}, initializeStdioItems = ({ stdioOption, fdNumber, options, optionName }) => {
const values = Array.isArray(stdioOption) ? stdioOption : [stdioOption];
const initialStdioItems = [
...values.map((value) => initializeStdioItem(value, optionName)),
...handleInputOptions(options, fdNumber)
];
const stdioItems = filterDuplicates(initialStdioItems);
const isStdioArray = stdioItems.length > 1;
validateStdioArray(stdioItems, isStdioArray, optionName);
validateStreams(stdioItems);
return { stdioItems, isStdioArray };
}, initializeStdioItem = (value, optionName) => ({
type: getStdioItemType(value, optionName),
value,
optionName
}), validateStdioArray = (stdioItems, isStdioArray, optionName) => {
if (stdioItems.length === 0) {
throw new TypeError(`The \`${optionName}\` option must not be an empty array.`);
}
if (!isStdioArray) {
return;
}
for (const { value, optionName: optionName2 } of stdioItems) {
if (INVALID_STDIO_ARRAY_OPTIONS.has(value)) {
throw new Error(`The \`${optionName2}\` option must not include \`${value}\`.`);
}
}
}, INVALID_STDIO_ARRAY_OPTIONS, validateStreams = (stdioItems) => {
for (const stdioItem of stdioItems) {
validateFileStdio(stdioItem);
}
}, validateFileStdio = ({ type, value, optionName }) => {
if (isRegularUrl(value)) {
throw new TypeError(`The \`${optionName}: URL\` option must use the \`file:\` scheme.
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);
}
if (isUnknownStdioString(type, value)) {
throw new TypeError(`The \`${optionName}: { file: '...' }\` option must be used instead of \`${optionName}: '...'\`.`);
}
}, validateFileObjectMode = (stdioItems, objectMode) => {
if (!objectMode) {
return;
}
const fileStdioItem = stdioItems.find(({ type }) => FILE_TYPES.has(type));
if (fileStdioItem !== undefined) {
throw new TypeError(`The \`${fileStdioItem.optionName}\` option cannot use both files and transforms in objectMode.`);
}
}, getFinalFileDescriptors = ({ initialFileDescriptors, addProperties, options, isSync }) => {
const fileDescriptors = [];
try {
for (const fileDescriptor of initialFileDescriptors) {
fileDescriptors.push(getFinalFileDescriptor({
fileDescriptor,
fileDescriptors,
addProperties,
options,
isSync
}));
}
return fileDescriptors;
} catch (error2) {
cleanupCustomStreams(fileDescriptors);
throw error2;
}
}, getFinalFileDescriptor = ({
fileDescriptor: { direction, objectMode, stdioItems },
fileDescriptors,
addProperties,
options,
isSync
}) => {
const finalStdioItems = stdioItems.map((stdioItem) => addStreamProperties({
stdioItem,
addProperties,
direction,
options,
fileDescriptors,
isSync
}));
return { direction, objectMode, stdioItems: finalStdioItems };
}, addStreamProperties = ({ stdioItem, addProperties, direction, options, fileDescriptors, isSync }) => {
const duplicateStream = getDuplicateStream({
stdioItem,
direction,
fileDescriptors,
isSync
});
if (duplicateStream !== undefined) {
return { ...stdioItem, stream: duplicateStream };
}
return {
...stdioItem,
...addProperties[direction][stdioItem.type](stdioItem, options)
};
}, cleanupCustomStreams = (fileDescriptors) => {
for (const { stdioItems } of fileDescriptors) {
for (const { stream } of stdioItems) {
if (stream !== undefined && !isStandardStream(stream)) {
stream.destroy();
}
}
}
}, forwardStdio = (stdioItems) => {
if (stdioItems.length > 1) {
return stdioItems.some(({ value: value2 }) => value2 === "overlapped") ? "overlapped" : "pipe";
}
const [{ type, value }] = stdioItems;
return type === "native" ? value : "pipe";
};
var init_handle = __esm(() => {
init_standard_stream();
init_normalize();
init_object_mode();
init_type();
init_direction();
init_stdio_option();
init_native();
init_input_option();
init_duplicate();
INVALID_STDIO_ARRAY_OPTIONS = new Set(["ignore", "ipc"]);
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/handle-sync.js
import { readFileSync as readFileSync3 } from "node:fs";
var handleStdioSync = (options, verboseInfo) => handleStdio(addPropertiesSync, options, verboseInfo, true), forbiddenIfSync = ({ type, optionName }) => {
throwInvalidSyncValue(optionName, TYPE_TO_MESSAGE[type]);
}, forbiddenNativeIfSync = ({ optionName, value }) => {
if (value === "ipc" || value === "overlapped") {
throwInvalidSyncValue(optionName, `"${value}"`);
}
return {};
}, throwInvalidSyncValue = (optionName, value) => {
throw new TypeError(`The \`${optionName}\` option cannot be ${value} with synchronous methods.`);
}, addProperties, addPropertiesSync;
var init_handle_sync = __esm(() => {
init_uint_array();
init_handle();
init_type();
addProperties = {
generator() {},
asyncGenerator: forbiddenIfSync,
webStream: forbiddenIfSync,
nodeStream: forbiddenIfSync,
webTransform: forbiddenIfSync,
duplex: forbiddenIfSync,
asyncIterable: forbiddenIfSync,
native: forbiddenNativeIfSync
};
addPropertiesSync = {
input: {
...addProperties,
fileUrl: ({ value }) => ({ contents: [bufferToUint8Array(readFileSync3(value))] }),
filePath: ({ value: { file } }) => ({ contents: [bufferToUint8Array(readFileSync3(file))] }),
fileNumber: forbiddenIfSync,
iterable: ({ value }) => ({ contents: [...value] }),
string: ({ value }) => ({ contents: [value] }),
uint8Array: ({ value }) => ({ contents: [value] })
},
output: {
...addProperties,
fileUrl: ({ value }) => ({ path: value }),
filePath: ({ value: { file, append } }) => ({ path: file, append }),
fileNumber: ({ value }) => ({ path: value }),
iterable: forbiddenIfSync,
string: forbiddenIfSync,
uint8Array: forbiddenIfSync
}
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/strip-newline.js
var stripNewline = (value, { stripFinalNewline: stripFinalNewline2 }, fdNumber) => getStripFinalNewline(stripFinalNewline2, fdNumber) && value !== undefined && !Array.isArray(value) ? stripFinalNewline(value) : value, getStripFinalNewline = (stripFinalNewline2, fdNumber) => fdNumber === "all" ? stripFinalNewline2[1] || stripFinalNewline2[2] : stripFinalNewline2[fdNumber];
var init_strip_newline = __esm(() => {
init_strip_final_newline();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/split.js
var getSplitLinesGenerator = (binary, preserveNewlines, skipped, state) => binary || skipped ? undefined : initializeSplitLines(preserveNewlines, state), splitLinesSync = (chunk, preserveNewlines, objectMode) => objectMode ? chunk.flatMap((item) => splitLinesItemSync(item, preserveNewlines)) : splitLinesItemSync(chunk, preserveNewlines), splitLinesItemSync = (chunk, preserveNewlines) => {
const { transform, final } = initializeSplitLines(preserveNewlines, {});
return [...transform(chunk), ...final()];
}, initializeSplitLines = (preserveNewlines, state) => {
state.previousChunks = "";
return {
transform: splitGenerator.bind(undefined, state, preserveNewlines),
final: linesFinal.bind(undefined, state)
};
}, splitGenerator = function* (state, preserveNewlines, chunk) {
if (typeof chunk !== "string") {
yield chunk;
return;
}
let { previousChunks } = state;
let start = -1;
for (let end = 0;end < chunk.length; end += 1) {
if (chunk[end] === `
`) {
const newlineLength = getNewlineLength(chunk, end, preserveNewlines, state);
let line = chunk.slice(start + 1, end + 1 - newlineLength);
if (previousChunks.length > 0) {
line = concatString(previousChunks, line);
previousChunks = "";
}
yield line;
start = end;
}
}
if (start !== chunk.length - 1) {
previousChunks = concatString(previousChunks, chunk.slice(start + 1));
}
state.previousChunks = previousChunks;
}, getNewlineLength = (chunk, end, preserveNewlines, state) => {
if (preserveNewlines) {
return 0;
}
state.isWindowsNewline = end !== 0 && chunk[end - 1] === "\r";
return state.isWindowsNewline ? 2 : 1;
}, linesFinal = function* ({ previousChunks }) {
if (previousChunks.length > 0) {
yield previousChunks;
}
}, getAppendNewlineGenerator = ({ binary, preserveNewlines, readableObjectMode, state }) => binary || preserveNewlines || readableObjectMode ? undefined : { transform: appendNewlineGenerator.bind(undefined, state) }, appendNewlineGenerator = function* ({ isWindowsNewline = false }, chunk) {
const { unixNewline, windowsNewline, LF: LF2, concatBytes: concatBytes2 } = typeof chunk === "string" ? linesStringInfo : linesUint8ArrayInfo;
if (chunk.at(-1) === LF2) {
yield chunk;
return;
}
const newline = isWindowsNewline ? windowsNewline : unixNewline;
yield concatBytes2(chunk, newline);
}, concatString = (firstChunk, secondChunk) => `${firstChunk}${secondChunk}`, linesStringInfo, concatUint8Array = (firstChunk, secondChunk) => {
const chunk = new Uint8Array(firstChunk.length + secondChunk.length);
chunk.set(firstChunk, 0);
chunk.set(secondChunk, firstChunk.length);
return chunk;
}, linesUint8ArrayInfo;
var init_split = __esm(() => {
linesStringInfo = {
windowsNewline: `\r
`,
unixNewline: `
`,
LF: `
`,
concatBytes: concatString
};
linesUint8ArrayInfo = {
windowsNewline: new Uint8Array([13, 10]),
unixNewline: new Uint8Array([10]),
LF: 10,
concatBytes: concatUint8Array
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/validate.js
import { Buffer as Buffer4 } from "node:buffer";
var getValidateTransformInput = (writableObjectMode, optionName) => writableObjectMode ? undefined : validateStringTransformInput.bind(undefined, optionName), validateStringTransformInput = function* (optionName, chunk) {
if (typeof chunk !== "string" && !isUint8Array(chunk) && !Buffer4.isBuffer(chunk)) {
throw new TypeError(`The \`${optionName}\` option's transform must use "objectMode: true" to receive as input: ${typeof chunk}.`);
}
yield chunk;
}, getValidateTransformReturn = (readableObjectMode, optionName) => readableObjectMode ? validateObjectTransformReturn.bind(undefined, optionName) : validateStringTransformReturn.bind(undefined, optionName), validateObjectTransformReturn = function* (optionName, chunk) {
validateEmptyReturn(optionName, chunk);
yield chunk;
}, validateStringTransformReturn = function* (optionName, chunk) {
validateEmptyReturn(optionName, chunk);
if (typeof chunk !== "string" && !isUint8Array(chunk)) {
throw new TypeError(`The \`${optionName}\` option's function must yield a string or an Uint8Array, not ${typeof chunk}.`);
}
yield chunk;
}, validateEmptyReturn = (optionName, chunk) => {
if (chunk === null || chunk === undefined) {
throw new TypeError(`The \`${optionName}\` option's function must not call \`yield ${chunk}\`.
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
if (condition) { yield value; }`);
}
};
var init_validate = __esm(() => {
init_uint_array();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/encoding-transform.js
import { Buffer as Buffer5 } from "node:buffer";
import { StringDecoder as StringDecoder2 } from "node:string_decoder";
var getEncodingTransformGenerator = (binary, encoding, skipped) => {
if (skipped) {
return;
}
if (binary) {
return { transform: encodingUint8ArrayGenerator.bind(undefined, new TextEncoder) };
}
const stringDecoder = new StringDecoder2(encoding);
return {
transform: encodingStringGenerator.bind(undefined, stringDecoder),
final: encodingStringFinal.bind(undefined, stringDecoder)
};
}, encodingUint8ArrayGenerator = function* (textEncoder3, chunk) {
if (Buffer5.isBuffer(chunk)) {
yield bufferToUint8Array(chunk);
} else if (typeof chunk === "string") {
yield textEncoder3.encode(chunk);
} else {
yield chunk;
}
}, encodingStringGenerator = function* (stringDecoder, chunk) {
yield isUint8Array(chunk) ? stringDecoder.write(chunk) : chunk;
}, encodingStringFinal = function* (stringDecoder) {
const lastChunk = stringDecoder.end();
if (lastChunk !== "") {
yield lastChunk;
}
};
var init_encoding_transform = __esm(() => {
init_uint_array();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/run-async.js
import { callbackify } from "node:util";
var pushChunks, transformChunk = async function* (chunk, generators, index) {
if (index === generators.length) {
yield chunk;
return;
}
const { transform = identityGenerator } = generators[index];
for await (const transformedChunk of transform(chunk)) {
yield* transformChunk(transformedChunk, generators, index + 1);
}
}, finalChunks = async function* (generators) {
for (const [index, { final }] of Object.entries(generators)) {
yield* generatorFinalChunks(final, Number(index), generators);
}
}, generatorFinalChunks = async function* (final, index, generators) {
if (final === undefined) {
return;
}
for await (const finalChunk of final()) {
yield* transformChunk(finalChunk, generators, index + 1);
}
}, destroyTransform, identityGenerator = function* (chunk) {
yield chunk;
};
var init_run_async = __esm(() => {
pushChunks = callbackify(async (getChunks, state, getChunksArguments, transformStream) => {
state.currentIterable = getChunks(...getChunksArguments);
try {
for await (const chunk of state.currentIterable) {
transformStream.push(chunk);
}
} finally {
delete state.currentIterable;
}
});
destroyTransform = callbackify(async ({ currentIterable }, error2) => {
if (currentIterable !== undefined) {
await (error2 ? currentIterable.throw(error2) : currentIterable.return());
return;
}
if (error2) {
throw error2;
}
});
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/run-sync.js
var pushChunksSync = (getChunksSync, getChunksArguments, transformStream, done) => {
try {
for (const chunk of getChunksSync(...getChunksArguments)) {
transformStream.push(chunk);
}
done();
} catch (error2) {
done(error2);
}
}, runTransformSync = (generators, chunks) => [
...chunks.flatMap((chunk) => [...transformChunkSync(chunk, generators, 0)]),
...finalChunksSync(generators)
], transformChunkSync = function* (chunk, generators, index) {
if (index === generators.length) {
yield chunk;
return;
}
const { transform = identityGenerator2 } = generators[index];
for (const transformedChunk of transform(chunk)) {
yield* transformChunkSync(transformedChunk, generators, index + 1);
}
}, finalChunksSync = function* (generators) {
for (const [index, { final }] of Object.entries(generators)) {
yield* generatorFinalChunksSync(final, Number(index), generators);
}
}, generatorFinalChunksSync = function* (final, index, generators) {
if (final === undefined) {
return;
}
for (const finalChunk of final()) {
yield* transformChunkSync(finalChunk, generators, index + 1);
}
}, identityGenerator2 = function* (chunk) {
yield chunk;
};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/transform/generator.js
import { Transform, getDefaultHighWaterMark } from "node:stream";
var generatorToStream = ({
value,
value: { transform, final, writableObjectMode, readableObjectMode },
optionName
}, { encoding }) => {
const state = {};
const generators = addInternalGenerators(value, encoding, optionName);
const transformAsync = isAsyncGenerator(transform);
const finalAsync = isAsyncGenerator(final);
const transformMethod = transformAsync ? pushChunks.bind(undefined, transformChunk, state) : pushChunksSync.bind(undefined, transformChunkSync);
const finalMethod = transformAsync || finalAsync ? pushChunks.bind(undefined, finalChunks, state) : pushChunksSync.bind(undefined, finalChunksSync);
const destroyMethod = transformAsync || finalAsync ? destroyTransform.bind(undefined, state) : undefined;
const stream = new Transform({
writableObjectMode,
writableHighWaterMark: getDefaultHighWaterMark(writableObjectMode),
readableObjectMode,
readableHighWaterMark: getDefaultHighWaterMark(readableObjectMode),
transform(chunk, encoding2, done) {
transformMethod([chunk, generators, 0], this, done);
},
flush(done) {
finalMethod([generators], this, done);
},
destroy: destroyMethod
});
return { stream };
}, runGeneratorsSync = (chunks, stdioItems, encoding, isInput) => {
const generators = stdioItems.filter(({ type }) => type === "generator");
const reversedGenerators = isInput ? generators.reverse() : generators;
for (const { value, optionName } of reversedGenerators) {
const generators2 = addInternalGenerators(value, encoding, optionName);
chunks = runTransformSync(generators2, chunks);
}
return chunks;
}, addInternalGenerators = ({ transform, final, binary, writableObjectMode, readableObjectMode, preserveNewlines }, encoding, optionName) => {
const state = {};
return [
{ transform: getValidateTransformInput(writableObjectMode, optionName) },
getEncodingTransformGenerator(binary, encoding, writableObjectMode),
getSplitLinesGenerator(binary, preserveNewlines, writableObjectMode, state),
{ transform, final },
{ transform: getValidateTransformReturn(readableObjectMode, optionName) },
getAppendNewlineGenerator({
binary,
preserveNewlines,
readableObjectMode,
state
})
].filter(Boolean);
};
var init_generator = __esm(() => {
init_type();
init_split();
init_validate();
init_encoding_transform();
init_run_async();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/input-sync.js
var addInputOptionsSync = (fileDescriptors, options) => {
for (const fdNumber of getInputFdNumbers(fileDescriptors)) {
addInputOptionSync(fileDescriptors, fdNumber, options);
}
}, getInputFdNumbers = (fileDescriptors) => new Set(Object.entries(fileDescriptors).filter(([, { direction }]) => direction === "input").map(([fdNumber]) => Number(fdNumber))), addInputOptionSync = (fileDescriptors, fdNumber, options) => {
const { stdioItems } = fileDescriptors[fdNumber];
const allStdioItems = stdioItems.filter(({ contents }) => contents !== undefined);
if (allStdioItems.length === 0) {
return;
}
if (fdNumber !== 0) {
const [{ type, optionName }] = allStdioItems;
throw new TypeError(`Only the \`stdin\` option, not \`${optionName}\`, can be ${TYPE_TO_MESSAGE[type]} with synchronous methods.`);
}
const allContents = allStdioItems.map(({ contents }) => contents);
const transformedContents = allContents.map((contents) => applySingleInputGeneratorsSync(contents, stdioItems));
options.input = joinToUint8Array(transformedContents);
}, applySingleInputGeneratorsSync = (contents, stdioItems) => {
const newContents = runGeneratorsSync(contents, stdioItems, "utf8", true);
validateSerializable(newContents);
return joinToUint8Array(newContents);
}, validateSerializable = (newContents) => {
const invalidItem = newContents.find((item) => typeof item !== "string" && !isUint8Array(item));
if (invalidItem !== undefined) {
throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${invalidItem}.`);
}
};
var init_input_sync = __esm(() => {
init_generator();
init_uint_array();
init_type();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/output.js
var shouldLogOutput = ({ stdioItems, encoding, verboseInfo, fdNumber }) => fdNumber !== "all" && isFullVerbose(verboseInfo, fdNumber) && !BINARY_ENCODINGS.has(encoding) && fdUsesVerbose(fdNumber) && (stdioItems.some(({ type, value }) => type === "native" && PIPED_STDIO_VALUES.has(value)) || stdioItems.every(({ type }) => TRANSFORM_TYPES.has(type))), fdUsesVerbose = (fdNumber) => fdNumber === 1 || fdNumber === 2, PIPED_STDIO_VALUES, logLines = async (linesIterable, stream, fdNumber, verboseInfo) => {
for await (const line of linesIterable) {
if (!isPipingStream(stream)) {
logLine(line, fdNumber, verboseInfo);
}
}
}, logLinesSync = (linesArray, fdNumber, verboseInfo) => {
for (const line of linesArray) {
logLine(line, fdNumber, verboseInfo);
}
}, isPipingStream = (stream) => stream._readableState.pipes.length > 0, logLine = (line, fdNumber, verboseInfo) => {
const verboseMessage = serializeVerboseMessage(line);
verboseLog({
type: "output",
verboseMessage,
fdNumber,
verboseInfo
});
};
var init_output = __esm(() => {
init_encoding_option();
init_type();
init_log2();
init_values2();
PIPED_STDIO_VALUES = new Set(["pipe", "overlapped"]);
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/output-sync.js
import { writeFileSync, appendFileSync as appendFileSync2 } from "node:fs";
var transformOutputSync = ({ fileDescriptors, syncResult: { output }, options, isMaxBuffer, verboseInfo }) => {
if (output === null) {
return { output: Array.from({ length: 3 }) };
}
const state = {};
const outputFiles = new Set([]);
const transformedOutput = output.map((result, fdNumber) => transformOutputResultSync({
result,
fileDescriptors,
fdNumber,
state,
outputFiles,
isMaxBuffer,
verboseInfo
}, options));
return { output: transformedOutput, ...state };
}, transformOutputResultSync = ({ result, fileDescriptors, fdNumber, state, outputFiles, isMaxBuffer, verboseInfo }, { buffer, encoding, lines, stripFinalNewline: stripFinalNewline2, maxBuffer }) => {
if (result === null) {
return;
}
const truncatedResult = truncateMaxBufferSync(result, isMaxBuffer, maxBuffer);
const uint8ArrayResult = bufferToUint8Array(truncatedResult);
const { stdioItems, objectMode } = fileDescriptors[fdNumber];
const chunks = runOutputGeneratorsSync([uint8ArrayResult], stdioItems, encoding, state);
const { serializedResult, finalResult = serializedResult } = serializeChunks({
chunks,
objectMode,
encoding,
lines,
stripFinalNewline: stripFinalNewline2,
fdNumber
});
logOutputSync({
serializedResult,
fdNumber,
state,
verboseInfo,
encoding,
stdioItems,
objectMode
});
const returnedResult = buffer[fdNumber] ? finalResult : undefined;
try {
if (state.error === undefined) {
writeToFiles(serializedResult, stdioItems, outputFiles);
}
return returnedResult;
} catch (error2) {
state.error = error2;
return returnedResult;
}
}, runOutputGeneratorsSync = (chunks, stdioItems, encoding, state) => {
try {
return runGeneratorsSync(chunks, stdioItems, encoding, false);
} catch (error2) {
state.error = error2;
return chunks;
}
}, serializeChunks = ({ chunks, objectMode, encoding, lines, stripFinalNewline: stripFinalNewline2, fdNumber }) => {
if (objectMode) {
return { serializedResult: chunks };
}
if (encoding === "buffer") {
return { serializedResult: joinToUint8Array(chunks) };
}
const serializedResult = joinToString(chunks, encoding);
if (lines[fdNumber]) {
return { serializedResult, finalResult: splitLinesSync(serializedResult, !stripFinalNewline2[fdNumber], objectMode) };
}
return { serializedResult };
}, logOutputSync = ({ serializedResult, fdNumber, state, verboseInfo, encoding, stdioItems, objectMode }) => {
if (!shouldLogOutput({
stdioItems,
encoding,
verboseInfo,
fdNumber
})) {
return;
}
const linesArray = splitLinesSync(serializedResult, false, objectMode);
try {
logLinesSync(linesArray, fdNumber, verboseInfo);
} catch (error2) {
state.error ??= error2;
}
}, writeToFiles = (serializedResult, stdioItems, outputFiles) => {
for (const { path: path7, append } of stdioItems.filter(({ type }) => FILE_TYPES.has(type))) {
const pathString = typeof path7 === "string" ? path7 : path7.toString();
if (append || outputFiles.has(pathString)) {
appendFileSync2(path7, serializedResult);
} else {
outputFiles.add(pathString);
writeFileSync(path7, serializedResult);
}
}
};
var init_output_sync = __esm(() => {
init_output();
init_generator();
init_split();
init_uint_array();
init_type();
init_max_buffer();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/all-sync.js
var getAllSync = ([, stdout, stderr], options) => {
if (!options.all) {
return;
}
if (stdout === undefined) {
return stderr;
}
if (stderr === undefined) {
return stdout;
}
if (Array.isArray(stdout)) {
return Array.isArray(stderr) ? [...stdout, ...stderr] : [...stdout, stripNewline(stderr, options, "all")];
}
if (Array.isArray(stderr)) {
return [stripNewline(stdout, options, "all"), ...stderr];
}
if (isUint8Array(stdout) && isUint8Array(stderr)) {
return concatUint8Arrays([stdout, stderr]);
}
return `${stdout}${stderr}`;
};
var init_all_sync = __esm(() => {
init_uint_array();
init_strip_newline();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/exit-async.js
import { once as once4 } from "node:events";
var waitForExit = async (subprocess, context) => {
const [exitCode, signal] = await waitForExitOrError(subprocess);
context.isForcefullyTerminated ??= false;
return [exitCode, signal];
}, waitForExitOrError = async (subprocess) => {
const [spawnPayload, exitPayload] = await Promise.allSettled([
once4(subprocess, "spawn"),
once4(subprocess, "exit")
]);
if (spawnPayload.status === "rejected") {
return [];
}
return exitPayload.status === "rejected" ? waitForSubprocessExit(subprocess) : exitPayload.value;
}, waitForSubprocessExit = async (subprocess) => {
try {
return await once4(subprocess, "exit");
} catch {
return waitForSubprocessExit(subprocess);
}
}, waitForSuccessfulExit = async (exitPromise) => {
const [exitCode, signal] = await exitPromise;
if (!isSubprocessErrorExit(exitCode, signal) && isFailedExit(exitCode, signal)) {
throw new DiscardedError;
}
return [exitCode, signal];
}, isSubprocessErrorExit = (exitCode, signal) => exitCode === undefined && signal === undefined, isFailedExit = (exitCode, signal) => exitCode !== 0 || signal !== null;
var init_exit_async = __esm(() => {
init_final_error();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/exit-sync.js
var getExitResultSync = ({ error: error2, status: exitCode, signal, output }, { maxBuffer }) => {
const resultError = getResultError(error2, exitCode, signal);
const timedOut = resultError?.code === "ETIMEDOUT";
const isMaxBuffer = isMaxBufferSync(resultError, output, maxBuffer);
return {
resultError,
exitCode,
signal,
timedOut,
isMaxBuffer
};
}, getResultError = (error2, exitCode, signal) => {
if (error2 !== undefined) {
return error2;
}
return isFailedExit(exitCode, signal) ? new DiscardedError : undefined;
};
var init_exit_sync = __esm(() => {
init_final_error();
init_max_buffer();
init_exit_async();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-sync.js
import { spawnSync } from "node:child_process";
var execaCoreSync = (rawFile, rawArguments, rawOptions) => {
const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleSyncArguments(rawFile, rawArguments, rawOptions);
const result = spawnSubprocessSync({
file,
commandArguments,
options,
command,
escapedCommand,
verboseInfo,
fileDescriptors,
startTime
});
return handleResult(result, verboseInfo, options);
}, handleSyncArguments = (rawFile, rawArguments, rawOptions) => {
const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
const syncOptions = normalizeSyncOptions(rawOptions);
const { file, commandArguments, options } = normalizeOptions(rawFile, rawArguments, syncOptions);
validateSyncOptions(options);
const fileDescriptors = handleStdioSync(options, verboseInfo);
return {
file,
commandArguments,
command,
escapedCommand,
startTime,
verboseInfo,
options,
fileDescriptors
};
}, normalizeSyncOptions = (options) => options.node && !options.ipc ? { ...options, ipc: false } : options, validateSyncOptions = ({ ipc, ipcInput, detached, cancelSignal }) => {
if (ipcInput) {
throwInvalidSyncOption("ipcInput");
}
if (ipc) {
throwInvalidSyncOption("ipc: true");
}
if (detached) {
throwInvalidSyncOption("detached: true");
}
if (cancelSignal) {
throwInvalidSyncOption("cancelSignal");
}
}, throwInvalidSyncOption = (value) => {
throw new TypeError(`The "${value}" option cannot be used with synchronous methods.`);
}, spawnSubprocessSync = ({ file, commandArguments, options, command, escapedCommand, verboseInfo, fileDescriptors, startTime }) => {
const syncResult = runSubprocessSync({
file,
commandArguments,
options,
command,
escapedCommand,
fileDescriptors,
startTime
});
if (syncResult.failed) {
return syncResult;
}
const { resultError, exitCode, signal, timedOut, isMaxBuffer } = getExitResultSync(syncResult, options);
const { output, error: error2 = resultError } = transformOutputSync({
fileDescriptors,
syncResult,
options,
isMaxBuffer,
verboseInfo
});
const stdio = output.map((stdioOutput, fdNumber) => stripNewline(stdioOutput, options, fdNumber));
const all = stripNewline(getAllSync(output, options), options, "all");
return getSyncResult({
error: error2,
exitCode,
signal,
timedOut,
isMaxBuffer,
stdio,
all,
options,
command,
escapedCommand,
startTime
});
}, runSubprocessSync = ({ file, commandArguments, options, command, escapedCommand, fileDescriptors, startTime }) => {
try {
addInputOptionsSync(fileDescriptors, options);
const normalizedOptions = normalizeSpawnSyncOptions(options);
return spawnSync(...concatenateShell(file, commandArguments, normalizedOptions));
} catch (error2) {
return makeEarlyError({
error: error2,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync: true
});
}
}, normalizeSpawnSyncOptions = ({ encoding, maxBuffer, ...options }) => ({ ...options, encoding: "buffer", maxBuffer: getMaxBufferSync(maxBuffer) }), getSyncResult = ({ error: error2, exitCode, signal, timedOut, isMaxBuffer, stdio, all, options, command, escapedCommand, startTime }) => error2 === undefined ? makeSuccessResult({
command,
escapedCommand,
stdio,
all,
ipcOutput: [],
options,
startTime
}) : makeError({
error: error2,
command,
escapedCommand,
timedOut,
isCanceled: false,
isGracefullyCanceled: false,
isMaxBuffer,
isForcefullyTerminated: false,
exitCode,
signal,
stdio,
all,
ipcOutput: [],
options,
startTime,
isSync: true
});
var init_main_sync = __esm(() => {
init_command();
init_options();
init_result();
init_reject();
init_handle_sync();
init_strip_newline();
init_input_sync();
init_output_sync();
init_max_buffer();
init_all_sync();
init_exit_sync();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/get-one.js
import { once as once5, on as on2 } from "node:events";
var getOneMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true, filter } = {}) => {
validateIpcMethod({
methodName: "getOneMessage",
isSubprocess,
ipc,
isConnected: isConnected(anyProcess)
});
return getOneMessageAsync({
anyProcess,
channel,
isSubprocess,
filter,
reference
});
}, getOneMessageAsync = async ({ anyProcess, channel, isSubprocess, filter, reference }) => {
addReference(channel, reference);
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const controller = new AbortController;
try {
return await Promise.race([
getMessage(ipcEmitter, filter, controller),
throwOnDisconnect2(ipcEmitter, isSubprocess, controller),
throwOnStrictError(ipcEmitter, isSubprocess, controller)
]);
} catch (error2) {
disconnect(anyProcess);
throw error2;
} finally {
controller.abort();
removeReference(channel, reference);
}
}, getMessage = async (ipcEmitter, filter, { signal }) => {
if (filter === undefined) {
const [message] = await once5(ipcEmitter, "message", { signal });
return message;
}
for await (const [message] of on2(ipcEmitter, "message", { signal })) {
if (filter(message)) {
return message;
}
}
}, throwOnDisconnect2 = async (ipcEmitter, isSubprocess, { signal }) => {
await once5(ipcEmitter, "disconnect", { signal });
throwOnEarlyDisconnect(isSubprocess);
}, throwOnStrictError = async (ipcEmitter, isSubprocess, { signal }) => {
const [error2] = await once5(ipcEmitter, "strict:error", { signal });
throw getStrictResponseError(error2, isSubprocess);
};
var init_get_one = __esm(() => {
init_validation();
init_forward();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/get-each.js
import { once as once6, on as on3 } from "node:events";
var getEachMessage = ({ anyProcess, channel, isSubprocess, ipc }, { reference = true } = {}) => loopOnMessages({
anyProcess,
channel,
isSubprocess,
ipc,
shouldAwait: !isSubprocess,
reference
}), loopOnMessages = ({ anyProcess, channel, isSubprocess, ipc, shouldAwait, reference }) => {
validateIpcMethod({
methodName: "getEachMessage",
isSubprocess,
ipc,
isConnected: isConnected(anyProcess)
});
addReference(channel, reference);
const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
const controller = new AbortController;
const state = {};
stopOnDisconnect(anyProcess, ipcEmitter, controller);
abortOnStrictError({
ipcEmitter,
isSubprocess,
controller,
state
});
return iterateOnMessages({
anyProcess,
channel,
ipcEmitter,
isSubprocess,
shouldAwait,
controller,
state,
reference
});
}, stopOnDisconnect = async (anyProcess, ipcEmitter, controller) => {
try {
await once6(ipcEmitter, "disconnect", { signal: controller.signal });
controller.abort();
} catch {}
}, abortOnStrictError = async ({ ipcEmitter, isSubprocess, controller, state }) => {
try {
const [error2] = await once6(ipcEmitter, "strict:error", { signal: controller.signal });
state.error = getStrictResponseError(error2, isSubprocess);
controller.abort();
} catch {}
}, iterateOnMessages = async function* ({ anyProcess, channel, ipcEmitter, isSubprocess, shouldAwait, controller, state, reference }) {
try {
for await (const [message] of on3(ipcEmitter, "message", { signal: controller.signal })) {
throwIfStrictError(state);
yield message;
}
} catch {
throwIfStrictError(state);
} finally {
controller.abort();
removeReference(channel, reference);
if (!isSubprocess) {
disconnect(anyProcess);
}
if (shouldAwait) {
await anyProcess;
}
}
}, throwIfStrictError = ({ error: error2 }) => {
if (error2) {
throw error2;
}
};
var init_get_each = __esm(() => {
init_validation();
init_forward();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/methods.js
import process9 from "node:process";
var addIpcMethods = (subprocess, { ipc }) => {
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
}, getIpcExport = () => {
const anyProcess = process9;
const isSubprocess = true;
const ipc = process9.channel !== undefined;
return {
...getIpcMethods(anyProcess, isSubprocess, ipc),
getCancelSignal: getCancelSignal.bind(undefined, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
})
};
}, getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
sendMessage: sendMessage.bind(undefined, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
}),
getOneMessage: getOneMessage.bind(undefined, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
}),
getEachMessage: getEachMessage.bind(undefined, {
anyProcess,
channel: anyProcess.channel,
isSubprocess,
ipc
})
});
var init_methods = __esm(() => {
init_send();
init_get_one();
init_get_each();
init_graceful();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/return/early-error.js
import { ChildProcess as ChildProcess2 } from "node:child_process";
import {
PassThrough,
Readable,
Writable,
Duplex
} from "node:stream";
var handleEarlyError = ({ error: error2, command, escapedCommand, fileDescriptors, options, startTime, verboseInfo }) => {
cleanupCustomStreams(fileDescriptors);
const subprocess = new ChildProcess2;
createDummyStreams(subprocess, fileDescriptors);
Object.assign(subprocess, { readable, writable, duplex });
const earlyError = makeEarlyError({
error: error2,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
isSync: false
});
const promise = handleDummyPromise(earlyError, verboseInfo, options);
return { subprocess, promise };
}, createDummyStreams = (subprocess, fileDescriptors) => {
const stdin = createDummyStream();
const stdout = createDummyStream();
const stderr = createDummyStream();
const extraStdio = Array.from({ length: fileDescriptors.length - 3 }, createDummyStream);
const all = createDummyStream();
const stdio = [stdin, stdout, stderr, ...extraStdio];
Object.assign(subprocess, {
stdin,
stdout,
stderr,
all,
stdio
});
}, createDummyStream = () => {
const stream = new PassThrough;
stream.end();
return stream;
}, readable = () => new Readable({ read() {} }), writable = () => new Writable({ write() {} }), duplex = () => new Duplex({ read() {}, write() {} }), handleDummyPromise = async (error2, verboseInfo, options) => handleResult(error2, verboseInfo, options);
var init_early_error = __esm(() => {
init_handle();
init_result();
init_reject();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/stdio/handle-async.js
import { createReadStream, createWriteStream as createWriteStream2 } from "node:fs";
import { Buffer as Buffer6 } from "node:buffer";
import { Readable as Readable2, Writable as Writable2, Duplex as Duplex2 } from "node:stream";
var handleStdioAsync = (options, verboseInfo) => handleStdio(addPropertiesAsync, options, verboseInfo, false), forbiddenIfAsync = ({ type, optionName }) => {
throw new TypeError(`The \`${optionName}\` option cannot be ${TYPE_TO_MESSAGE[type]}.`);
}, addProperties2, addPropertiesAsync;
var init_handle_async = __esm(() => {
init_generator();
init_handle();
init_type();
addProperties2 = {
fileNumber: forbiddenIfAsync,
generator: generatorToStream,
asyncGenerator: generatorToStream,
nodeStream: ({ value }) => ({ stream: value }),
webTransform({ value: { transform, writableObjectMode, readableObjectMode } }) {
const objectMode = writableObjectMode || readableObjectMode;
const stream = Duplex2.fromWeb(transform, { objectMode });
return { stream };
},
duplex: ({ value: { transform } }) => ({ stream: transform }),
native() {}
};
addPropertiesAsync = {
input: {
...addProperties2,
fileUrl: ({ value }) => ({ stream: createReadStream(value) }),
filePath: ({ value: { file } }) => ({ stream: createReadStream(file) }),
webStream: ({ value }) => ({ stream: Readable2.fromWeb(value) }),
iterable: ({ value }) => ({ stream: Readable2.from(value) }),
asyncIterable: ({ value }) => ({ stream: Readable2.from(value) }),
string: ({ value }) => ({ stream: Readable2.from(value) }),
uint8Array: ({ value }) => ({ stream: Readable2.from(Buffer6.from(value)) })
},
output: {
...addProperties2,
fileUrl: ({ value }) => ({ stream: createWriteStream2(value) }),
filePath: ({ value: { file, append } }) => ({ stream: createWriteStream2(file, append ? { flags: "a" } : {}) }),
webStream: ({ value }) => ({ stream: Writable2.fromWeb(value) }),
iterable: forbiddenIfAsync,
asyncIterable: forbiddenIfAsync,
string: forbiddenIfAsync,
uint8Array: forbiddenIfAsync
}
};
});
// node_modules/.pnpm/@sindresorhus+merge-streams@4.0.0/node_modules/@sindresorhus/merge-streams/index.js
import { on as on4, once as once7 } from "node:events";
import { PassThrough as PassThroughStream, getDefaultHighWaterMark as getDefaultHighWaterMark2 } from "node:stream";
import { finished as finished2 } from "node:stream/promises";
function mergeStreams(streams2) {
if (!Array.isArray(streams2)) {
throw new TypeError(`Expected an array, got \`${typeof streams2}\`.`);
}
for (const stream of streams2) {
validateStream(stream);
}
const objectMode = streams2.some(({ readableObjectMode }) => readableObjectMode);
const highWaterMark = getHighWaterMark(streams2, objectMode);
const passThroughStream = new MergedStream({
objectMode,
writableHighWaterMark: highWaterMark,
readableHighWaterMark: highWaterMark
});
for (const stream of streams2) {
passThroughStream.add(stream);
}
return passThroughStream;
}
var getHighWaterMark = (streams2, objectMode) => {
if (streams2.length === 0) {
return getDefaultHighWaterMark2(objectMode);
}
const highWaterMarks = streams2.filter(({ readableObjectMode }) => readableObjectMode === objectMode).map(({ readableHighWaterMark }) => readableHighWaterMark);
return Math.max(...highWaterMarks);
}, MergedStream, onMergedStreamFinished = async (passThroughStream, streams2, unpipeEvent) => {
updateMaxListeners(passThroughStream, PASSTHROUGH_LISTENERS_COUNT);
const controller = new AbortController;
try {
await Promise.race([
onMergedStreamEnd(passThroughStream, controller),
onInputStreamsUnpipe(passThroughStream, streams2, unpipeEvent, controller)
]);
} finally {
controller.abort();
updateMaxListeners(passThroughStream, -PASSTHROUGH_LISTENERS_COUNT);
}
}, onMergedStreamEnd = async (passThroughStream, { signal }) => {
try {
await finished2(passThroughStream, { signal, cleanup: true });
} catch (error2) {
errorOrAbortStream(passThroughStream, error2);
throw error2;
}
}, onInputStreamsUnpipe = async (passThroughStream, streams2, unpipeEvent, { signal }) => {
for await (const [unpipedStream] of on4(passThroughStream, "unpipe", { signal })) {
if (streams2.has(unpipedStream)) {
unpipedStream.emit(unpipeEvent);
}
}
}, validateStream = (stream) => {
if (typeof stream?.pipe !== "function") {
throw new TypeError(`Expected a readable stream, got: \`${typeof stream}\`.`);
}
}, endWhenStreamsDone = async ({ passThroughStream, stream, streams: streams2, ended, aborted, onFinished, unpipeEvent }) => {
updateMaxListeners(passThroughStream, PASSTHROUGH_LISTENERS_PER_STREAM);
const controller = new AbortController;
try {
await Promise.race([
afterMergedStreamFinished(onFinished, stream, controller),
onInputStreamEnd({
passThroughStream,
stream,
streams: streams2,
ended,
aborted,
controller
}),
onInputStreamUnpipe({
stream,
streams: streams2,
ended,
aborted,
unpipeEvent,
controller
})
]);
} finally {
controller.abort();
updateMaxListeners(passThroughStream, -PASSTHROUGH_LISTENERS_PER_STREAM);
}
if (streams2.size > 0 && streams2.size === ended.size + aborted.size) {
if (ended.size === 0 && aborted.size > 0) {
abortStream(passThroughStream);
} else {
endStream(passThroughStream);
}
}
}, afterMergedStreamFinished = async (onFinished, stream, { signal }) => {
try {
await onFinished;
if (!signal.aborted) {
abortStream(stream);
}
} catch (error2) {
if (!signal.aborted) {
errorOrAbortStream(stream, error2);
}
}
}, onInputStreamEnd = async ({ passThroughStream, stream, streams: streams2, ended, aborted, controller: { signal } }) => {
try {
await finished2(stream, {
signal,
cleanup: true,
readable: true,
writable: false
});
if (streams2.has(stream)) {
ended.add(stream);
}
} catch (error2) {
if (signal.aborted || !streams2.has(stream)) {
return;
}
if (isAbortError3(error2)) {
aborted.add(stream);
} else {
errorStream(passThroughStream, error2);
}
}
}, onInputStreamUnpipe = async ({ stream, streams: streams2, ended, aborted, unpipeEvent, controller: { signal } }) => {
await once7(stream, unpipeEvent, { signal });
if (!stream.readable) {
return once7(signal, "abort", { signal });
}
streams2.delete(stream);
ended.delete(stream);
aborted.delete(stream);
}, endStream = (stream) => {
if (stream.writable) {
stream.end();
}
}, errorOrAbortStream = (stream, error2) => {
if (isAbortError3(error2)) {
abortStream(stream);
} else {
errorStream(stream, error2);
}
}, isAbortError3 = (error2) => error2?.code === "ERR_STREAM_PREMATURE_CLOSE", abortStream = (stream) => {
if (stream.readable || stream.writable) {
stream.destroy();
}
}, errorStream = (stream, error2) => {
if (!stream.destroyed) {
stream.once("error", noop5);
stream.destroy(error2);
}
}, noop5 = () => {}, updateMaxListeners = (passThroughStream, increment2) => {
const maxListeners = passThroughStream.getMaxListeners();
if (maxListeners !== 0 && maxListeners !== Number.POSITIVE_INFINITY) {
passThroughStream.setMaxListeners(maxListeners + increment2);
}
}, PASSTHROUGH_LISTENERS_COUNT = 2, PASSTHROUGH_LISTENERS_PER_STREAM = 1;
var init_merge_streams = __esm(() => {
MergedStream = class MergedStream extends PassThroughStream {
#streams = new Set([]);
#ended = new Set([]);
#aborted = new Set([]);
#onFinished;
#unpipeEvent = Symbol("unpipe");
#streamPromises = new WeakMap;
add(stream) {
validateStream(stream);
if (this.#streams.has(stream)) {
return;
}
this.#streams.add(stream);
this.#onFinished ??= onMergedStreamFinished(this, this.#streams, this.#unpipeEvent);
const streamPromise = endWhenStreamsDone({
passThroughStream: this,
stream,
streams: this.#streams,
ended: this.#ended,
aborted: this.#aborted,
onFinished: this.#onFinished,
unpipeEvent: this.#unpipeEvent
});
this.#streamPromises.set(stream, streamPromise);
stream.pipe(this, { end: false });
}
async remove(stream) {
validateStream(stream);
if (!this.#streams.has(stream)) {
return false;
}
const streamPromise = this.#streamPromises.get(stream);
if (streamPromise === undefined) {
return false;
}
this.#streamPromises.delete(stream);
stream.unpipe(this);
await streamPromise;
return true;
}
};
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/pipeline.js
import { finished as finished3 } from "node:stream/promises";
var pipeStreams = (source, destination) => {
source.pipe(destination);
onSourceFinish(source, destination);
onDestinationFinish(source, destination);
}, onSourceFinish = async (source, destination) => {
if (isStandardStream(source) || isStandardStream(destination)) {
return;
}
try {
await finished3(source, { cleanup: true, readable: true, writable: false });
} catch {}
endDestinationStream(destination);
}, endDestinationStream = (destination) => {
if (destination.writable) {
destination.end();
}
}, onDestinationFinish = async (source, destination) => {
if (isStandardStream(source) || isStandardStream(destination)) {
return;
}
try {
await finished3(destination, { cleanup: true, readable: false, writable: true });
} catch {}
abortSourceStream(source);
}, abortSourceStream = (source) => {
if (source.readable) {
source.destroy();
}
};
var init_pipeline = __esm(() => {
init_standard_stream();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/output-async.js
var pipeOutputAsync = (subprocess, fileDescriptors, controller) => {
const pipeGroups = new Map;
for (const [fdNumber, { stdioItems, direction }] of Object.entries(fileDescriptors)) {
for (const { stream } of stdioItems.filter(({ type }) => TRANSFORM_TYPES.has(type))) {
pipeTransform(subprocess, stream, direction, fdNumber);
}
for (const { stream } of stdioItems.filter(({ type }) => !TRANSFORM_TYPES.has(type))) {
pipeStdioItem({
subprocess,
stream,
direction,
fdNumber,
pipeGroups,
controller
});
}
}
for (const [outputStream, inputStreams] of pipeGroups.entries()) {
const inputStream = inputStreams.length === 1 ? inputStreams[0] : mergeStreams(inputStreams);
pipeStreams(inputStream, outputStream);
}
}, pipeTransform = (subprocess, stream, direction, fdNumber) => {
if (direction === "output") {
pipeStreams(subprocess.stdio[fdNumber], stream);
} else {
pipeStreams(stream, subprocess.stdio[fdNumber]);
}
const streamProperty = SUBPROCESS_STREAM_PROPERTIES[fdNumber];
if (streamProperty !== undefined) {
subprocess[streamProperty] = stream;
}
subprocess.stdio[fdNumber] = stream;
}, SUBPROCESS_STREAM_PROPERTIES, pipeStdioItem = ({ subprocess, stream, direction, fdNumber, pipeGroups, controller }) => {
if (stream === undefined) {
return;
}
setStandardStreamMaxListeners(stream, controller);
const [inputStream, outputStream] = direction === "output" ? [stream, subprocess.stdio[fdNumber]] : [subprocess.stdio[fdNumber], stream];
const outputStreams = pipeGroups.get(inputStream) ?? [];
pipeGroups.set(inputStream, [...outputStreams, outputStream]);
}, setStandardStreamMaxListeners = (stream, { signal }) => {
if (isStandardStream(stream)) {
incrementMaxListeners(stream, MAX_LISTENERS_INCREMENT, signal);
}
}, MAX_LISTENERS_INCREMENT = 2;
var init_output_async = __esm(() => {
init_merge_streams();
init_standard_stream();
init_max_listeners();
init_type();
init_pipeline();
SUBPROCESS_STREAM_PROPERTIES = ["stdin", "stdout", "stderr"];
});
// node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js
var signals;
var init_signals2 = __esm(() => {
signals = [];
signals.push("SIGHUP", "SIGINT", "SIGTERM");
if (process.platform !== "win32") {
signals.push("SIGALRM", "SIGABRT", "SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
}
if (process.platform === "linux") {
signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
}
});
// node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
class Emitter {
emitted = {
afterExit: false,
exit: false
};
listeners = {
afterExit: [],
exit: []
};
count = 0;
id = Math.random();
constructor() {
if (global2[kExitEmitter]) {
return global2[kExitEmitter];
}
ObjectDefineProperty(global2, kExitEmitter, {
value: this,
writable: false,
enumerable: false,
configurable: false
});
}
on(ev, fn) {
this.listeners[ev].push(fn);
}
removeListener(ev, fn) {
const list = this.listeners[ev];
const i2 = list.indexOf(fn);
if (i2 === -1) {
return;
}
if (i2 === 0 && list.length === 1) {
list.length = 0;
} else {
list.splice(i2, 1);
}
}
emit(ev, code, signal) {
if (this.emitted[ev]) {
return false;
}
this.emitted[ev] = true;
let ret = false;
for (const fn of this.listeners[ev]) {
ret = fn(code, signal) === true || ret;
}
if (ev === "exit") {
ret = this.emit("afterExit", code, signal) || ret;
}
return ret;
}
}
class SignalExitBase {
}
var processOk = (process10) => !!process10 && typeof process10 === "object" && typeof process10.removeListener === "function" && typeof process10.emit === "function" && typeof process10.reallyExit === "function" && typeof process10.listeners === "function" && typeof process10.kill === "function" && typeof process10.pid === "number" && typeof process10.on === "function", kExitEmitter, global2, ObjectDefineProperty, signalExitWrap = (handler) => {
return {
onExit(cb, opts) {
return handler.onExit(cb, opts);
},
load() {
return handler.load();
},
unload() {
return handler.unload();
}
};
}, SignalExitFallback, SignalExit, process10, onExit, load, unload;
var init_mjs = __esm(() => {
init_signals2();
kExitEmitter = Symbol.for("signal-exit emitter");
global2 = globalThis;
ObjectDefineProperty = Object.defineProperty.bind(Object);
SignalExitFallback = class SignalExitFallback extends SignalExitBase {
onExit() {
return () => {};
}
load() {}
unload() {}
};
SignalExit = class SignalExit extends SignalExitBase {
#hupSig = process10.platform === "win32" ? "SIGINT" : "SIGHUP";
#emitter = new Emitter;
#process;
#originalProcessEmit;
#originalProcessReallyExit;
#sigListeners = {};
#loaded = false;
constructor(process10) {
super();
this.#process = process10;
this.#sigListeners = {};
for (const sig of signals) {
this.#sigListeners[sig] = () => {
const listeners = this.#process.listeners(sig);
let { count: count2 } = this.#emitter;
const p = process10;
if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
count2 += p.__signal_exit_emitter__.count;
}
if (listeners.length === count2) {
this.unload();
const ret = this.#emitter.emit("exit", null, sig);
const s = sig === "SIGHUP" ? this.#hupSig : sig;
if (!ret)
process10.kill(process10.pid, s);
}
};
}
this.#originalProcessReallyExit = process10.reallyExit;
this.#originalProcessEmit = process10.emit;
}
onExit(cb, opts) {
if (!processOk(this.#process)) {
return () => {};
}
if (this.#loaded === false) {
this.load();
}
const ev = opts?.alwaysLast ? "afterExit" : "exit";
this.#emitter.on(ev, cb);
return () => {
this.#emitter.removeListener(ev, cb);
if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
this.unload();
}
};
}
load() {
if (this.#loaded) {
return;
}
this.#loaded = true;
this.#emitter.count += 1;
for (const sig of signals) {
try {
const fn = this.#sigListeners[sig];
if (fn)
this.#process.on(sig, fn);
} catch (_2) {}
}
this.#process.emit = (ev, ...a2) => {
return this.#processEmit(ev, ...a2);
};
this.#process.reallyExit = (code) => {
return this.#processReallyExit(code);
};
}
unload() {
if (!this.#loaded) {
return;
}
this.#loaded = false;
signals.forEach((sig) => {
const listener = this.#sigListeners[sig];
if (!listener) {
throw new Error("Listener not defined for signal: " + sig);
}
try {
this.#process.removeListener(sig, listener);
} catch (_2) {}
});
this.#process.emit = this.#originalProcessEmit;
this.#process.reallyExit = this.#originalProcessReallyExit;
this.#emitter.count -= 1;
}
#processReallyExit(code) {
if (!processOk(this.#process)) {
return 0;
}
this.#process.exitCode = code || 0;
this.#emitter.emit("exit", this.#process.exitCode, null);
return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
}
#processEmit(ev, ...args) {
const og = this.#originalProcessEmit;
if (ev === "exit" && processOk(this.#process)) {
if (typeof args[0] === "number") {
this.#process.exitCode = args[0];
}
const ret = og.call(this.#process, ev, ...args);
this.#emitter.emit("exit", this.#process.exitCode, null);
return ret;
} else {
return og.call(this.#process, ev, ...args);
}
}
};
process10 = globalThis.process;
({
onExit,
load,
unload
} = signalExitWrap(processOk(process10) ? new SignalExit(process10) : new SignalExitFallback));
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/terminate/cleanup.js
import { addAbortListener as addAbortListener2 } from "node:events";
var cleanupOnExit = (subprocess, { cleanup, detached }, { signal }) => {
if (!cleanup || detached) {
return;
}
const removeExitHandler = onExit(() => {
subprocess.kill();
});
addAbortListener2(signal, () => {
removeExitHandler();
});
};
var init_cleanup = __esm(() => {
init_mjs();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/pipe-arguments.js
var normalizePipeArguments = ({ source, sourcePromise, boundOptions, createNested }, ...pipeArguments) => {
const startTime = getStartTime();
const {
destination,
destinationStream,
destinationError,
from,
unpipeSignal
} = getDestinationStream(boundOptions, createNested, pipeArguments);
const { sourceStream, sourceError } = getSourceStream(source, from);
const { options: sourceOptions, fileDescriptors } = SUBPROCESS_OPTIONS.get(source);
return {
sourcePromise,
sourceStream,
sourceOptions,
sourceError,
destination,
destinationStream,
destinationError,
unpipeSignal,
fileDescriptors,
startTime
};
}, getDestinationStream = (boundOptions, createNested, pipeArguments) => {
try {
const {
destination,
pipeOptions: { from, to, unpipeSignal } = {}
} = getDestination(boundOptions, createNested, ...pipeArguments);
const destinationStream = getToStream(destination, to);
return {
destination,
destinationStream,
from,
unpipeSignal
};
} catch (error2) {
return { destinationError: error2 };
}
}, getDestination = (boundOptions, createNested, firstArgument, ...pipeArguments) => {
if (Array.isArray(firstArgument)) {
const destination = createNested(mapDestinationArguments, boundOptions)(firstArgument, ...pipeArguments);
return { destination, pipeOptions: boundOptions };
}
if (typeof firstArgument === "string" || firstArgument instanceof URL || isDenoExecPath(firstArgument)) {
if (Object.keys(boundOptions).length > 0) {
throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');
}
const [rawFile, rawArguments, rawOptions] = normalizeParameters(firstArgument, ...pipeArguments);
const destination = createNested(mapDestinationArguments)(rawFile, rawArguments, rawOptions);
return { destination, pipeOptions: rawOptions };
}
if (SUBPROCESS_OPTIONS.has(firstArgument)) {
if (Object.keys(boundOptions).length > 0) {
throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");
}
return { destination: firstArgument, pipeOptions: pipeArguments[0] };
}
throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${firstArgument}`);
}, mapDestinationArguments = ({ options }) => ({ options: { ...options, stdin: "pipe", piped: true } }), getSourceStream = (source, from) => {
try {
const sourceStream = getFromStream(source, from);
return { sourceStream };
} catch (error2) {
return { sourceError: error2 };
}
};
var init_pipe_arguments = __esm(() => {
init_parameters();
init_duration();
init_fd_options();
init_file_url();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/throw.js
var handlePipeArgumentsError = ({
sourceStream,
sourceError,
destinationStream,
destinationError,
fileDescriptors,
sourceOptions,
startTime
}) => {
const error2 = getPipeArgumentsError({
sourceStream,
sourceError,
destinationStream,
destinationError
});
if (error2 !== undefined) {
throw createNonCommandError({
error: error2,
fileDescriptors,
sourceOptions,
startTime
});
}
}, getPipeArgumentsError = ({ sourceStream, sourceError, destinationStream, destinationError }) => {
if (sourceError !== undefined && destinationError !== undefined) {
return destinationError;
}
if (destinationError !== undefined) {
abortSourceStream(sourceStream);
return destinationError;
}
if (sourceError !== undefined) {
endDestinationStream(destinationStream);
return sourceError;
}
}, createNonCommandError = ({ error: error2, fileDescriptors, sourceOptions, startTime }) => makeEarlyError({
error: error2,
command: PIPE_COMMAND_MESSAGE,
escapedCommand: PIPE_COMMAND_MESSAGE,
fileDescriptors,
options: sourceOptions,
startTime,
isSync: false
}), PIPE_COMMAND_MESSAGE = "source.pipe(destination)";
var init_throw = __esm(() => {
init_result();
init_pipeline();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/sequence.js
var waitForBothSubprocesses = async (subprocessPromises) => {
const [
{ status: sourceStatus, reason: sourceReason, value: sourceResult = sourceReason },
{ status: destinationStatus, reason: destinationReason, value: destinationResult = destinationReason }
] = await subprocessPromises;
if (!destinationResult.pipedFrom.includes(sourceResult)) {
destinationResult.pipedFrom.push(sourceResult);
}
if (destinationStatus === "rejected") {
throw destinationResult;
}
if (sourceStatus === "rejected") {
throw sourceResult;
}
return destinationResult;
};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/streaming.js
import { finished as finished4 } from "node:stream/promises";
var pipeSubprocessStream = (sourceStream, destinationStream, maxListenersController) => {
const mergedStream = MERGED_STREAMS.has(destinationStream) ? pipeMoreSubprocessStream(sourceStream, destinationStream) : pipeFirstSubprocessStream(sourceStream, destinationStream);
incrementMaxListeners(sourceStream, SOURCE_LISTENERS_PER_PIPE, maxListenersController.signal);
incrementMaxListeners(destinationStream, DESTINATION_LISTENERS_PER_PIPE, maxListenersController.signal);
cleanupMergedStreamsMap(destinationStream);
return mergedStream;
}, pipeFirstSubprocessStream = (sourceStream, destinationStream) => {
const mergedStream = mergeStreams([sourceStream]);
pipeStreams(mergedStream, destinationStream);
MERGED_STREAMS.set(destinationStream, mergedStream);
return mergedStream;
}, pipeMoreSubprocessStream = (sourceStream, destinationStream) => {
const mergedStream = MERGED_STREAMS.get(destinationStream);
mergedStream.add(sourceStream);
return mergedStream;
}, cleanupMergedStreamsMap = async (destinationStream) => {
try {
await finished4(destinationStream, { cleanup: true, readable: false, writable: true });
} catch {}
MERGED_STREAMS.delete(destinationStream);
}, MERGED_STREAMS, SOURCE_LISTENERS_PER_PIPE = 2, DESTINATION_LISTENERS_PER_PIPE = 1;
var init_streaming3 = __esm(() => {
init_merge_streams();
init_max_listeners();
init_pipeline();
MERGED_STREAMS = new WeakMap;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/abort.js
import { aborted } from "node:util";
var unpipeOnAbort = (unpipeSignal, unpipeContext) => unpipeSignal === undefined ? [] : [unpipeOnSignalAbort(unpipeSignal, unpipeContext)], unpipeOnSignalAbort = async (unpipeSignal, { sourceStream, mergedStream, fileDescriptors, sourceOptions, startTime }) => {
await aborted(unpipeSignal, sourceStream);
await mergedStream.remove(sourceStream);
const error2 = new Error("Pipe canceled by `unpipeSignal` option.");
throw createNonCommandError({
error: error2,
fileDescriptors,
sourceOptions,
startTime
});
};
var init_abort = __esm(() => {
init_throw();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/pipe/setup.js
var pipeToSubprocess = (sourceInfo, ...pipeArguments) => {
if (isPlainObject(pipeArguments[0])) {
return pipeToSubprocess.bind(undefined, {
...sourceInfo,
boundOptions: { ...sourceInfo.boundOptions, ...pipeArguments[0] }
});
}
const { destination, ...normalizedInfo } = normalizePipeArguments(sourceInfo, ...pipeArguments);
const promise = handlePipePromise({ ...normalizedInfo, destination });
promise.pipe = pipeToSubprocess.bind(undefined, {
...sourceInfo,
source: destination,
sourcePromise: promise,
boundOptions: {}
});
return promise;
}, handlePipePromise = async ({
sourcePromise,
sourceStream,
sourceOptions,
sourceError,
destination,
destinationStream,
destinationError,
unpipeSignal,
fileDescriptors,
startTime
}) => {
const subprocessPromises = getSubprocessPromises(sourcePromise, destination);
handlePipeArgumentsError({
sourceStream,
sourceError,
destinationStream,
destinationError,
fileDescriptors,
sourceOptions,
startTime
});
const maxListenersController = new AbortController;
try {
const mergedStream = pipeSubprocessStream(sourceStream, destinationStream, maxListenersController);
return await Promise.race([
waitForBothSubprocesses(subprocessPromises),
...unpipeOnAbort(unpipeSignal, {
sourceStream,
mergedStream,
sourceOptions,
fileDescriptors,
startTime
})
]);
} finally {
maxListenersController.abort();
}
}, getSubprocessPromises = (sourcePromise, destination) => Promise.allSettled([sourcePromise, destination]);
var init_setup = __esm(() => {
init_pipe_arguments();
init_throw();
init_streaming3();
init_abort();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/iterate.js
import { on as on5 } from "node:events";
import { getDefaultHighWaterMark as getDefaultHighWaterMark3 } from "node:stream";
var iterateOnSubprocessStream = ({ subprocessStdout, subprocess, binary, shouldEncode, encoding, preserveNewlines }) => {
const controller = new AbortController;
stopReadingOnExit(subprocess, controller);
return iterateOnStream({
stream: subprocessStdout,
controller,
binary,
shouldEncode: !subprocessStdout.readableObjectMode && shouldEncode,
encoding,
shouldSplit: !subprocessStdout.readableObjectMode,
preserveNewlines
});
}, stopReadingOnExit = async (subprocess, controller) => {
try {
await subprocess;
} catch {} finally {
controller.abort();
}
}, iterateForResult = ({ stream, onStreamEnd, lines, encoding, stripFinalNewline: stripFinalNewline2, allMixed }) => {
const controller = new AbortController;
stopReadingOnStreamEnd(onStreamEnd, controller, stream);
const objectMode = stream.readableObjectMode && !allMixed;
return iterateOnStream({
stream,
controller,
binary: encoding === "buffer",
shouldEncode: !objectMode,
encoding,
shouldSplit: !objectMode && lines,
preserveNewlines: !stripFinalNewline2
});
}, stopReadingOnStreamEnd = async (onStreamEnd, controller, stream) => {
try {
await onStreamEnd;
} catch {
stream.destroy();
} finally {
controller.abort();
}
}, iterateOnStream = ({ stream, controller, binary, shouldEncode, encoding, shouldSplit, preserveNewlines }) => {
const onStdoutChunk = on5(stream, "data", {
signal: controller.signal,
highWaterMark: HIGH_WATER_MARK,
highWatermark: HIGH_WATER_MARK
});
return iterateOnData({
onStdoutChunk,
controller,
binary,
shouldEncode,
encoding,
shouldSplit,
preserveNewlines
});
}, DEFAULT_OBJECT_HIGH_WATER_MARK, HIGH_WATER_MARK, iterateOnData = async function* ({ onStdoutChunk, controller, binary, shouldEncode, encoding, shouldSplit, preserveNewlines }) {
const generators = getGenerators({
binary,
shouldEncode,
encoding,
shouldSplit,
preserveNewlines
});
try {
for await (const [chunk] of onStdoutChunk) {
yield* transformChunkSync(chunk, generators, 0);
}
} catch (error2) {
if (!controller.signal.aborted) {
throw error2;
}
} finally {
yield* finalChunksSync(generators);
}
}, getGenerators = ({ binary, shouldEncode, encoding, shouldSplit, preserveNewlines }) => [
getEncodingTransformGenerator(binary, encoding, !shouldEncode),
getSplitLinesGenerator(binary, preserveNewlines, !shouldSplit, {})
].filter(Boolean);
var init_iterate = __esm(() => {
init_encoding_transform();
init_split();
DEFAULT_OBJECT_HIGH_WATER_MARK = getDefaultHighWaterMark3(true);
HIGH_WATER_MARK = DEFAULT_OBJECT_HIGH_WATER_MARK;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/io/contents.js
import { setImmediate as setImmediate2 } from "node:timers/promises";
var getStreamOutput = async ({ stream, onStreamEnd, fdNumber, encoding, buffer, maxBuffer, lines, allMixed, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => {
const logPromise = logOutputAsync({
stream,
onStreamEnd,
fdNumber,
encoding,
allMixed,
verboseInfo,
streamInfo
});
if (!buffer) {
await Promise.all([resumeStream(stream), logPromise]);
return;
}
const stripFinalNewlineValue = getStripFinalNewline(stripFinalNewline2, fdNumber);
const iterable = iterateForResult({
stream,
onStreamEnd,
lines,
encoding,
stripFinalNewline: stripFinalNewlineValue,
allMixed
});
const [output] = await Promise.all([
getStreamContents2({
stream,
iterable,
fdNumber,
encoding,
maxBuffer,
lines
}),
logPromise
]);
return output;
}, logOutputAsync = async ({ stream, onStreamEnd, fdNumber, encoding, allMixed, verboseInfo, streamInfo: { fileDescriptors } }) => {
if (!shouldLogOutput({
stdioItems: fileDescriptors[fdNumber]?.stdioItems,
encoding,
verboseInfo,
fdNumber
})) {
return;
}
const linesIterable = iterateForResult({
stream,
onStreamEnd,
lines: true,
encoding,
stripFinalNewline: true,
allMixed
});
await logLines(linesIterable, stream, fdNumber, verboseInfo);
}, resumeStream = async (stream) => {
await setImmediate2();
if (stream.readableFlowing === null) {
stream.resume();
}
}, getStreamContents2 = async ({ stream, stream: { readableObjectMode }, iterable, fdNumber, encoding, maxBuffer, lines }) => {
try {
if (readableObjectMode || lines) {
return await getStreamAsArray(iterable, { maxBuffer });
}
if (encoding === "buffer") {
return new Uint8Array(await getStreamAsArrayBuffer(iterable, { maxBuffer }));
}
return await getStreamAsString(iterable, { maxBuffer });
} catch (error2) {
return handleBufferedData(handleMaxBuffer({
error: error2,
stream,
readableObjectMode,
lines,
encoding,
fdNumber
}));
}
}, getBufferedData = async (streamPromise) => {
try {
return await streamPromise;
} catch (error2) {
return handleBufferedData(error2);
}
}, handleBufferedData = ({ bufferedData }) => isArrayBuffer(bufferedData) ? new Uint8Array(bufferedData) : bufferedData;
var init_contents2 = __esm(() => {
init_source2();
init_uint_array();
init_output();
init_iterate();
init_max_buffer();
init_strip_newline();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/wait-stream.js
import { finished as finished5 } from "node:stream/promises";
var waitForStream = async (stream, fdNumber, streamInfo, { isSameDirection, stopOnExit = false } = {}) => {
const state = handleStdinDestroy(stream, streamInfo);
const abortController = new AbortController;
try {
await Promise.race([
...stopOnExit ? [streamInfo.exitPromise] : [],
finished5(stream, { cleanup: true, signal: abortController.signal })
]);
} catch (error2) {
if (!state.stdinCleanedUp) {
handleStreamError(error2, fdNumber, streamInfo, isSameDirection);
}
} finally {
abortController.abort();
}
}, handleStdinDestroy = (stream, { originalStreams: [originalStdin], subprocess }) => {
const state = { stdinCleanedUp: false };
if (stream === originalStdin) {
spyOnStdinDestroy(stream, subprocess, state);
}
return state;
}, spyOnStdinDestroy = (subprocessStdin, subprocess, state) => {
const { _destroy } = subprocessStdin;
subprocessStdin._destroy = (...destroyArguments) => {
setStdinCleanedUp(subprocess, state);
_destroy.call(subprocessStdin, ...destroyArguments);
};
}, setStdinCleanedUp = ({ exitCode, signalCode }, state) => {
if (exitCode !== null || signalCode !== null) {
state.stdinCleanedUp = true;
}
}, handleStreamError = (error2, fdNumber, streamInfo, isSameDirection) => {
if (!shouldIgnoreStreamError(error2, fdNumber, streamInfo, isSameDirection)) {
throw error2;
}
}, shouldIgnoreStreamError = (error2, fdNumber, streamInfo, isSameDirection = true) => {
if (streamInfo.propagating) {
return isStreamEpipe(error2) || isStreamAbort(error2);
}
streamInfo.propagating = true;
return isInputFileDescriptor(streamInfo, fdNumber) === isSameDirection ? isStreamEpipe(error2) : isStreamAbort(error2);
}, isInputFileDescriptor = ({ fileDescriptors }, fdNumber) => fdNumber !== "all" && fileDescriptors[fdNumber].direction === "input", isStreamAbort = (error2) => error2?.code === "ERR_STREAM_PREMATURE_CLOSE", isStreamEpipe = (error2) => error2?.code === "EPIPE";
var init_wait_stream = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/stdio.js
var waitForStdioStreams = ({ subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => subprocess.stdio.map((stream, fdNumber) => waitForSubprocessStream({
stream,
fdNumber,
encoding,
buffer: buffer[fdNumber],
maxBuffer: maxBuffer[fdNumber],
lines: lines[fdNumber],
allMixed: false,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
})), waitForSubprocessStream = async ({ stream, fdNumber, encoding, buffer, maxBuffer, lines, allMixed, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => {
if (!stream) {
return;
}
const onStreamEnd = waitForStream(stream, fdNumber, streamInfo);
if (isInputFileDescriptor(streamInfo, fdNumber)) {
await onStreamEnd;
return;
}
const [output] = await Promise.all([
getStreamOutput({
stream,
onStreamEnd,
fdNumber,
encoding,
buffer,
maxBuffer,
lines,
allMixed,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
}),
onStreamEnd
]);
return output;
};
var init_stdio = __esm(() => {
init_contents2();
init_wait_stream();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/all-async.js
var makeAllStream = ({ stdout, stderr }, { all }) => all && (stdout || stderr) ? mergeStreams([stdout, stderr].filter(Boolean)) : undefined, waitForAllStream = ({ subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline: stripFinalNewline2, verboseInfo, streamInfo }) => waitForSubprocessStream({
...getAllStream(subprocess, buffer),
fdNumber: "all",
encoding,
maxBuffer: maxBuffer[1] + maxBuffer[2],
lines: lines[1] || lines[2],
allMixed: getAllMixed(subprocess),
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
}), getAllStream = ({ stdout, stderr, all }, [, bufferStdout, bufferStderr]) => {
const buffer = bufferStdout || bufferStderr;
if (!buffer) {
return { stream: all, buffer };
}
if (!bufferStdout) {
return { stream: stderr, buffer };
}
if (!bufferStderr) {
return { stream: stdout, buffer };
}
return { stream: all, buffer };
}, getAllMixed = ({ all, stdout, stderr }) => all && stdout && stderr && stdout.readableObjectMode !== stderr.readableObjectMode;
var init_all_async = __esm(() => {
init_merge_streams();
init_stdio();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/verbose/ipc.js
var shouldLogIpc = (verboseInfo) => isFullVerbose(verboseInfo, "ipc"), logIpcOutput = (message, verboseInfo) => {
const verboseMessage = serializeVerboseMessage(message);
verboseLog({
type: "ipc",
verboseMessage,
fdNumber: "ipc",
verboseInfo
});
};
var init_ipc = __esm(() => {
init_log2();
init_values2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/ipc/buffer-messages.js
var waitForIpcOutput = async ({
subprocess,
buffer: bufferArray,
maxBuffer: maxBufferArray,
ipc,
ipcOutput,
verboseInfo
}) => {
if (!ipc) {
return ipcOutput;
}
const isVerbose2 = shouldLogIpc(verboseInfo);
const buffer = getFdSpecificValue(bufferArray, "ipc");
const maxBuffer = getFdSpecificValue(maxBufferArray, "ipc");
for await (const message of loopOnMessages({
anyProcess: subprocess,
channel: subprocess.channel,
isSubprocess: false,
ipc,
shouldAwait: false,
reference: true
})) {
if (buffer) {
checkIpcMaxBuffer(subprocess, ipcOutput, maxBuffer);
ipcOutput.push(message);
}
if (isVerbose2) {
logIpcOutput(message, verboseInfo);
}
}
return ipcOutput;
}, getBufferedIpcOutput = async (ipcOutputPromise, ipcOutput) => {
await Promise.allSettled([ipcOutputPromise]);
return ipcOutput;
};
var init_buffer_messages = __esm(() => {
init_max_buffer();
init_ipc();
init_specific();
init_get_each();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/resolve/wait-subprocess.js
import { once as once8 } from "node:events";
var waitForSubprocessResult = async ({
subprocess,
options: {
encoding,
buffer,
maxBuffer,
lines,
timeoutDuration: timeout,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
stripFinalNewline: stripFinalNewline2,
ipc,
ipcInput
},
context,
verboseInfo,
fileDescriptors,
originalStreams,
onInternalError,
controller
}) => {
const exitPromise = waitForExit(subprocess, context);
const streamInfo = {
originalStreams,
fileDescriptors,
subprocess,
exitPromise,
propagating: false
};
const stdioPromises = waitForStdioStreams({
subprocess,
encoding,
buffer,
maxBuffer,
lines,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
});
const allPromise = waitForAllStream({
subprocess,
encoding,
buffer,
maxBuffer,
lines,
stripFinalNewline: stripFinalNewline2,
verboseInfo,
streamInfo
});
const ipcOutput = [];
const ipcOutputPromise = waitForIpcOutput({
subprocess,
buffer,
maxBuffer,
ipc,
ipcOutput,
verboseInfo
});
const originalPromises = waitForOriginalStreams(originalStreams, subprocess, streamInfo);
const customStreamsEndPromises = waitForCustomStreamsEnd(fileDescriptors, streamInfo);
try {
return await Promise.race([
Promise.all([
{},
waitForSuccessfulExit(exitPromise),
Promise.all(stdioPromises),
allPromise,
ipcOutputPromise,
sendIpcInput(subprocess, ipcInput),
...originalPromises,
...customStreamsEndPromises
]),
onInternalError,
throwOnSubprocessError(subprocess, controller),
...throwOnTimeout(subprocess, timeout, context, controller),
...throwOnCancel({
subprocess,
cancelSignal,
gracefulCancel,
context,
controller
}),
...throwOnGracefulCancel({
subprocess,
cancelSignal,
gracefulCancel,
forceKillAfterDelay,
context,
controller
})
]);
} catch (error2) {
context.terminationReason ??= "other";
return Promise.all([
{ error: error2 },
exitPromise,
Promise.all(stdioPromises.map((stdioPromise) => getBufferedData(stdioPromise))),
getBufferedData(allPromise),
getBufferedIpcOutput(ipcOutputPromise, ipcOutput),
Promise.allSettled(originalPromises),
Promise.allSettled(customStreamsEndPromises)
]);
}
}, waitForOriginalStreams = (originalStreams, subprocess, streamInfo) => originalStreams.map((stream, fdNumber) => stream === subprocess.stdio[fdNumber] ? undefined : waitForStream(stream, fdNumber, streamInfo)), waitForCustomStreamsEnd = (fileDescriptors, streamInfo) => fileDescriptors.flatMap(({ stdioItems }, fdNumber) => stdioItems.filter(({ value, stream = value }) => isStream(stream, { checkOpen: false }) && !isStandardStream(stream)).map(({ type, value, stream = value }) => waitForStream(stream, fdNumber, streamInfo, {
isSameDirection: TRANSFORM_TYPES.has(type),
stopOnExit: type === "native"
}))), throwOnSubprocessError = async (subprocess, { signal }) => {
const [error2] = await once8(subprocess, "error", { signal });
throw error2;
};
var init_wait_subprocess = __esm(() => {
init_timeout();
init_cancel();
init_graceful2();
init_standard_stream();
init_type();
init_contents2();
init_buffer_messages();
init_ipc_input();
init_all_async();
init_stdio();
init_exit_async();
init_wait_stream();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/concurrent.js
var initializeConcurrentStreams = () => ({
readableDestroy: new WeakMap,
writableFinal: new WeakMap,
writableDestroy: new WeakMap
}), addConcurrentStream = (concurrentStreams, stream, waitName) => {
const weakMap = concurrentStreams[waitName];
if (!weakMap.has(stream)) {
weakMap.set(stream, []);
}
const promises = weakMap.get(stream);
const promise = createDeferred();
promises.push(promise);
const resolve2 = promise.resolve.bind(promise);
return { resolve: resolve2, promises };
}, waitForConcurrentStreams = async ({ resolve: resolve2, promises }, subprocess) => {
resolve2();
const [isSubprocessExit] = await Promise.race([
Promise.allSettled([true, subprocess]),
Promise.all([false, ...promises])
]);
return !isSubprocessExit;
};
var init_concurrent = () => {};
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/shared.js
import { finished as finished6 } from "node:stream/promises";
var safeWaitForSubprocessStdin = async (subprocessStdin) => {
if (subprocessStdin === undefined) {
return;
}
try {
await waitForSubprocessStdin(subprocessStdin);
} catch {}
}, safeWaitForSubprocessStdout = async (subprocessStdout) => {
if (subprocessStdout === undefined) {
return;
}
try {
await waitForSubprocessStdout(subprocessStdout);
} catch {}
}, waitForSubprocessStdin = async (subprocessStdin) => {
await finished6(subprocessStdin, { cleanup: true, readable: false, writable: true });
}, waitForSubprocessStdout = async (subprocessStdout) => {
await finished6(subprocessStdout, { cleanup: true, readable: true, writable: false });
}, waitForSubprocess = async (subprocess, error2) => {
await subprocess;
if (error2) {
throw error2;
}
}, destroyOtherStream = (stream, isOpen, error2) => {
if (error2 && !isStreamAbort(error2)) {
stream.destroy(error2);
} else if (isOpen) {
stream.destroy();
}
};
var init_shared2 = __esm(() => {
init_wait_stream();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/readable.js
import { Readable as Readable3 } from "node:stream";
import { callbackify as callbackify2 } from "node:util";
var createReadable = ({ subprocess, concurrentStreams, encoding }, { from, binary: binaryOption = true, preserveNewlines = true } = {}) => {
const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
const { subprocessStdout, waitReadableDestroy } = getSubprocessStdout(subprocess, from, concurrentStreams);
const { readableEncoding, readableObjectMode, readableHighWaterMark } = getReadableOptions(subprocessStdout, binary);
const { read, onStdoutDataDone } = getReadableMethods({
subprocessStdout,
subprocess,
binary,
encoding,
preserveNewlines
});
const readable2 = new Readable3({
read,
destroy: callbackify2(onReadableDestroy.bind(undefined, { subprocessStdout, subprocess, waitReadableDestroy })),
highWaterMark: readableHighWaterMark,
objectMode: readableObjectMode,
encoding: readableEncoding
});
onStdoutFinished({
subprocessStdout,
onStdoutDataDone,
readable: readable2,
subprocess
});
return readable2;
}, getSubprocessStdout = (subprocess, from, concurrentStreams) => {
const subprocessStdout = getFromStream(subprocess, from);
const waitReadableDestroy = addConcurrentStream(concurrentStreams, subprocessStdout, "readableDestroy");
return { subprocessStdout, waitReadableDestroy };
}, getReadableOptions = ({ readableEncoding, readableObjectMode, readableHighWaterMark }, binary) => binary ? { readableEncoding, readableObjectMode, readableHighWaterMark } : { readableEncoding, readableObjectMode: true, readableHighWaterMark: DEFAULT_OBJECT_HIGH_WATER_MARK }, getReadableMethods = ({ subprocessStdout, subprocess, binary, encoding, preserveNewlines }) => {
const onStdoutDataDone = createDeferred();
const onStdoutData = iterateOnSubprocessStream({
subprocessStdout,
subprocess,
binary,
shouldEncode: !binary,
encoding,
preserveNewlines
});
return {
read() {
onRead(this, onStdoutData, onStdoutDataDone);
},
onStdoutDataDone
};
}, onRead = async (readable2, onStdoutData, onStdoutDataDone) => {
try {
const { value, done } = await onStdoutData.next();
if (done) {
onStdoutDataDone.resolve();
} else {
readable2.push(value);
}
} catch {}
}, onStdoutFinished = async ({ subprocessStdout, onStdoutDataDone, readable: readable2, subprocess, subprocessStdin }) => {
try {
await waitForSubprocessStdout(subprocessStdout);
await subprocess;
await safeWaitForSubprocessStdin(subprocessStdin);
await onStdoutDataDone;
if (readable2.readable) {
readable2.push(null);
}
} catch (error2) {
await safeWaitForSubprocessStdin(subprocessStdin);
destroyOtherReadable(readable2, error2);
}
}, onReadableDestroy = async ({ subprocessStdout, subprocess, waitReadableDestroy }, error2) => {
if (await waitForConcurrentStreams(waitReadableDestroy, subprocess)) {
destroyOtherReadable(subprocessStdout, error2);
await waitForSubprocess(subprocess, error2);
}
}, destroyOtherReadable = (stream, error2) => {
destroyOtherStream(stream, stream.readable, error2);
};
var init_readable = __esm(() => {
init_encoding_option();
init_fd_options();
init_iterate();
init_concurrent();
init_shared2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/writable.js
import { Writable as Writable3 } from "node:stream";
import { callbackify as callbackify3 } from "node:util";
var createWritable = ({ subprocess, concurrentStreams }, { to } = {}) => {
const { subprocessStdin, waitWritableFinal, waitWritableDestroy } = getSubprocessStdin(subprocess, to, concurrentStreams);
const writable2 = new Writable3({
...getWritableMethods(subprocessStdin, subprocess, waitWritableFinal),
destroy: callbackify3(onWritableDestroy.bind(undefined, {
subprocessStdin,
subprocess,
waitWritableFinal,
waitWritableDestroy
})),
highWaterMark: subprocessStdin.writableHighWaterMark,
objectMode: subprocessStdin.writableObjectMode
});
onStdinFinished(subprocessStdin, writable2);
return writable2;
}, getSubprocessStdin = (subprocess, to, concurrentStreams) => {
const subprocessStdin = getToStream(subprocess, to);
const waitWritableFinal = addConcurrentStream(concurrentStreams, subprocessStdin, "writableFinal");
const waitWritableDestroy = addConcurrentStream(concurrentStreams, subprocessStdin, "writableDestroy");
return { subprocessStdin, waitWritableFinal, waitWritableDestroy };
}, getWritableMethods = (subprocessStdin, subprocess, waitWritableFinal) => ({
write: onWrite.bind(undefined, subprocessStdin),
final: callbackify3(onWritableFinal.bind(undefined, subprocessStdin, subprocess, waitWritableFinal))
}), onWrite = (subprocessStdin, chunk, encoding, done) => {
if (subprocessStdin.write(chunk, encoding)) {
done();
} else {
subprocessStdin.once("drain", done);
}
}, onWritableFinal = async (subprocessStdin, subprocess, waitWritableFinal) => {
if (await waitForConcurrentStreams(waitWritableFinal, subprocess)) {
if (subprocessStdin.writable) {
subprocessStdin.end();
}
await subprocess;
}
}, onStdinFinished = async (subprocessStdin, writable2, subprocessStdout) => {
try {
await waitForSubprocessStdin(subprocessStdin);
if (writable2.writable) {
writable2.end();
}
} catch (error2) {
await safeWaitForSubprocessStdout(subprocessStdout);
destroyOtherWritable(writable2, error2);
}
}, onWritableDestroy = async ({ subprocessStdin, subprocess, waitWritableFinal, waitWritableDestroy }, error2) => {
await waitForConcurrentStreams(waitWritableFinal, subprocess);
if (await waitForConcurrentStreams(waitWritableDestroy, subprocess)) {
destroyOtherWritable(subprocessStdin, error2);
await waitForSubprocess(subprocess, error2);
}
}, destroyOtherWritable = (stream, error2) => {
destroyOtherStream(stream, stream.writable, error2);
};
var init_writable = __esm(() => {
init_fd_options();
init_concurrent();
init_shared2();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/duplex.js
import { Duplex as Duplex3 } from "node:stream";
import { callbackify as callbackify4 } from "node:util";
var createDuplex = ({ subprocess, concurrentStreams, encoding }, { from, to, binary: binaryOption = true, preserveNewlines = true } = {}) => {
const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
const { subprocessStdout, waitReadableDestroy } = getSubprocessStdout(subprocess, from, concurrentStreams);
const { subprocessStdin, waitWritableFinal, waitWritableDestroy } = getSubprocessStdin(subprocess, to, concurrentStreams);
const { readableEncoding, readableObjectMode, readableHighWaterMark } = getReadableOptions(subprocessStdout, binary);
const { read, onStdoutDataDone } = getReadableMethods({
subprocessStdout,
subprocess,
binary,
encoding,
preserveNewlines
});
const duplex2 = new Duplex3({
read,
...getWritableMethods(subprocessStdin, subprocess, waitWritableFinal),
destroy: callbackify4(onDuplexDestroy.bind(undefined, {
subprocessStdout,
subprocessStdin,
subprocess,
waitReadableDestroy,
waitWritableFinal,
waitWritableDestroy
})),
readableHighWaterMark,
writableHighWaterMark: subprocessStdin.writableHighWaterMark,
readableObjectMode,
writableObjectMode: subprocessStdin.writableObjectMode,
encoding: readableEncoding
});
onStdoutFinished({
subprocessStdout,
onStdoutDataDone,
readable: duplex2,
subprocess,
subprocessStdin
});
onStdinFinished(subprocessStdin, duplex2, subprocessStdout);
return duplex2;
}, onDuplexDestroy = async ({ subprocessStdout, subprocessStdin, subprocess, waitReadableDestroy, waitWritableFinal, waitWritableDestroy }, error2) => {
await Promise.all([
onReadableDestroy({ subprocessStdout, subprocess, waitReadableDestroy }, error2),
onWritableDestroy({
subprocessStdin,
subprocess,
waitWritableFinal,
waitWritableDestroy
}, error2)
]);
};
var init_duplex = __esm(() => {
init_encoding_option();
init_readable();
init_writable();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/iterable.js
var createIterable = (subprocess, encoding, {
from,
binary: binaryOption = false,
preserveNewlines = false
} = {}) => {
const binary = binaryOption || BINARY_ENCODINGS.has(encoding);
const subprocessStdout = getFromStream(subprocess, from);
const onStdoutData = iterateOnSubprocessStream({
subprocessStdout,
subprocess,
binary,
shouldEncode: true,
encoding,
preserveNewlines
});
return iterateOnStdoutData(onStdoutData, subprocessStdout, subprocess);
}, iterateOnStdoutData = async function* (onStdoutData, subprocessStdout, subprocess) {
try {
yield* onStdoutData;
} finally {
if (subprocessStdout.readable) {
subprocessStdout.destroy();
}
await subprocess;
}
};
var init_iterable = __esm(() => {
init_encoding_option();
init_fd_options();
init_iterate();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/convert/add.js
var addConvertedStreams = (subprocess, { encoding }) => {
const concurrentStreams = initializeConcurrentStreams();
subprocess.readable = createReadable.bind(undefined, { subprocess, concurrentStreams, encoding });
subprocess.writable = createWritable.bind(undefined, { subprocess, concurrentStreams });
subprocess.duplex = createDuplex.bind(undefined, { subprocess, concurrentStreams, encoding });
subprocess.iterable = createIterable.bind(undefined, subprocess, encoding);
subprocess[Symbol.asyncIterator] = createIterable.bind(undefined, subprocess, encoding, {});
};
var init_add = __esm(() => {
init_concurrent();
init_readable();
init_writable();
init_duplex();
init_iterable();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/promise.js
var mergePromise = (subprocess, promise) => {
for (const [property2, descriptor] of descriptors) {
const value = descriptor.value.bind(promise);
Reflect.defineProperty(subprocess, property2, { ...descriptor, value });
}
}, nativePromisePrototype, descriptors;
var init_promise = __esm(() => {
nativePromisePrototype = (async () => {})().constructor.prototype;
descriptors = ["then", "catch", "finally"].map((property2) => [
property2,
Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property2)
]);
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/main-async.js
import { setMaxListeners } from "node:events";
import { spawn } from "node:child_process";
var execaCoreAsync = (rawFile, rawArguments, rawOptions, createNested) => {
const { file, commandArguments, command, escapedCommand, startTime, verboseInfo, options, fileDescriptors } = handleAsyncArguments(rawFile, rawArguments, rawOptions);
const { subprocess, promise } = spawnSubprocessAsync({
file,
commandArguments,
options,
startTime,
verboseInfo,
command,
escapedCommand,
fileDescriptors
});
subprocess.pipe = pipeToSubprocess.bind(undefined, {
source: subprocess,
sourcePromise: promise,
boundOptions: {},
createNested
});
mergePromise(subprocess, promise);
SUBPROCESS_OPTIONS.set(subprocess, { options, fileDescriptors });
return subprocess;
}, handleAsyncArguments = (rawFile, rawArguments, rawOptions) => {
const { command, escapedCommand, startTime, verboseInfo } = handleCommand(rawFile, rawArguments, rawOptions);
const { file, commandArguments, options: normalizedOptions } = normalizeOptions(rawFile, rawArguments, rawOptions);
const options = handleAsyncOptions(normalizedOptions);
const fileDescriptors = handleStdioAsync(options, verboseInfo);
return {
file,
commandArguments,
command,
escapedCommand,
startTime,
verboseInfo,
options,
fileDescriptors
};
}, handleAsyncOptions = ({ timeout, signal, ...options }) => {
if (signal !== undefined) {
throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');
}
return { ...options, timeoutDuration: timeout };
}, spawnSubprocessAsync = ({ file, commandArguments, options, startTime, verboseInfo, command, escapedCommand, fileDescriptors }) => {
let subprocess;
try {
subprocess = spawn(...concatenateShell(file, commandArguments, options));
} catch (error2) {
return handleEarlyError({
error: error2,
command,
escapedCommand,
fileDescriptors,
options,
startTime,
verboseInfo
});
}
const controller = new AbortController;
setMaxListeners(Number.POSITIVE_INFINITY, controller.signal);
const originalStreams = [...subprocess.stdio];
pipeOutputAsync(subprocess, fileDescriptors, controller);
cleanupOnExit(subprocess, options, controller);
const context = {};
const onInternalError = createDeferred();
subprocess.kill = subprocessKill.bind(undefined, {
kill: subprocess.kill.bind(subprocess),
options,
onInternalError,
context,
controller
});
subprocess.all = makeAllStream(subprocess, options);
addConvertedStreams(subprocess, options);
addIpcMethods(subprocess, options);
const promise = handlePromise({
subprocess,
options,
startTime,
verboseInfo,
fileDescriptors,
originalStreams,
command,
escapedCommand,
context,
onInternalError,
controller
});
return { subprocess, promise };
}, handlePromise = async ({ subprocess, options, startTime, verboseInfo, fileDescriptors, originalStreams, command, escapedCommand, context, onInternalError, controller }) => {
const [
errorInfo,
[exitCode, signal],
stdioResults,
allResult,
ipcOutput
] = await waitForSubprocessResult({
subprocess,
options,
context,
verboseInfo,
fileDescriptors,
originalStreams,
onInternalError,
controller
});
controller.abort();
onInternalError.resolve();
const stdio = stdioResults.map((stdioResult, fdNumber) => stripNewline(stdioResult, options, fdNumber));
const all = stripNewline(allResult, options, "all");
const result = getAsyncResult({
errorInfo,
exitCode,
signal,
stdio,
all,
ipcOutput,
context,
options,
command,
escapedCommand,
startTime
});
return handleResult(result, verboseInfo, options);
}, getAsyncResult = ({ errorInfo, exitCode, signal, stdio, all, ipcOutput, context, options, command, escapedCommand, startTime }) => ("error" in errorInfo) ? makeError({
error: errorInfo.error,
command,
escapedCommand,
timedOut: context.terminationReason === "timeout",
isCanceled: context.terminationReason === "cancel" || context.terminationReason === "gracefulCancel",
isGracefullyCanceled: context.terminationReason === "gracefulCancel",
isMaxBuffer: errorInfo.error instanceof MaxBufferError,
isForcefullyTerminated: context.isForcefullyTerminated,
exitCode,
signal,
stdio,
all,
ipcOutput,
options,
startTime,
isSync: false
}) : makeSuccessResult({
command,
escapedCommand,
stdio,
all,
ipcOutput,
options,
startTime
});
var init_main_async = __esm(() => {
init_source2();
init_command();
init_options();
init_fd_options();
init_methods();
init_result();
init_reject();
init_early_error();
init_handle_async();
init_strip_newline();
init_output_async();
init_kill();
init_cleanup();
init_setup();
init_all_async();
init_wait_subprocess();
init_add();
init_promise();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/bind.js
var mergeOptions = (boundOptions, options) => {
const newOptions = Object.fromEntries(Object.entries(options).map(([optionName, optionValue]) => [
optionName,
mergeOption(optionName, boundOptions[optionName], optionValue)
]));
return { ...boundOptions, ...newOptions };
}, mergeOption = (optionName, boundOptionValue, optionValue) => {
if (DEEP_OPTIONS.has(optionName) && isPlainObject(boundOptionValue) && isPlainObject(optionValue)) {
return { ...boundOptionValue, ...optionValue };
}
return optionValue;
}, DEEP_OPTIONS;
var init_bind = __esm(() => {
init_specific();
DEEP_OPTIONS = new Set(["env", ...FD_SPECIFIC_OPTIONS]);
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/create.js
var createExeca = (mapArguments, boundOptions, deepOptions, setBoundExeca) => {
const createNested = (mapArguments2, boundOptions2, setBoundExeca2) => createExeca(mapArguments2, boundOptions2, deepOptions, setBoundExeca2);
const boundExeca = (...execaArguments) => callBoundExeca({
mapArguments,
deepOptions,
boundOptions,
setBoundExeca,
createNested
}, ...execaArguments);
if (setBoundExeca !== undefined) {
setBoundExeca(boundExeca, createNested, boundOptions);
}
return boundExeca;
}, callBoundExeca = ({ mapArguments, deepOptions = {}, boundOptions = {}, setBoundExeca, createNested }, firstArgument, ...nextArguments) => {
if (isPlainObject(firstArgument)) {
return createNested(mapArguments, mergeOptions(boundOptions, firstArgument), setBoundExeca);
}
const { file, commandArguments, options, isSync } = parseArguments({
mapArguments,
firstArgument,
nextArguments,
deepOptions,
boundOptions
});
return isSync ? execaCoreSync(file, commandArguments, options) : execaCoreAsync(file, commandArguments, options, createNested);
}, parseArguments = ({ mapArguments, firstArgument, nextArguments, deepOptions, boundOptions }) => {
const callArguments = isTemplateString(firstArgument) ? parseTemplates(firstArgument, nextArguments) : [firstArgument, ...nextArguments];
const [initialFile, initialArguments, initialOptions] = normalizeParameters(...callArguments);
const mergedOptions = mergeOptions(mergeOptions(deepOptions, boundOptions), initialOptions);
const {
file = initialFile,
commandArguments = initialArguments,
options = mergedOptions,
isSync = false
} = mapArguments({ file: initialFile, commandArguments: initialArguments, options: mergedOptions });
return {
file,
commandArguments,
options,
isSync
};
};
var init_create = __esm(() => {
init_parameters();
init_template();
init_main_sync();
init_main_async();
init_bind();
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/command.js
var mapCommandAsync = ({ file, commandArguments }) => parseCommand(file, commandArguments), mapCommandSync = ({ file, commandArguments }) => ({ ...parseCommand(file, commandArguments), isSync: true }), parseCommand = (command, unusedArguments) => {
if (unusedArguments.length > 0) {
throw new TypeError(`The command and its arguments must be passed as a single string: ${command} ${unusedArguments}.`);
}
const [file, ...commandArguments] = parseCommandString(command);
return { file, commandArguments };
}, parseCommandString = (command) => {
if (typeof command !== "string") {
throw new TypeError(`The command must be a string: ${String(command)}.`);
}
const trimmedCommand = command.trim();
if (trimmedCommand === "") {
return [];
}
const tokens = [];
for (const token of trimmedCommand.split(SPACES_REGEXP)) {
const previousToken = tokens.at(-1);
if (previousToken && previousToken.endsWith("\\")) {
tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;
} else {
tokens.push(token);
}
}
return tokens;
}, SPACES_REGEXP;
var init_command2 = __esm(() => {
SPACES_REGEXP = / +/g;
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/lib/methods/script.js
var setScriptSync = (boundExeca, createNested, boundOptions) => {
boundExeca.sync = createNested(mapScriptSync, boundOptions);
boundExeca.s = boundExeca.sync;
}, mapScriptAsync = ({ options }) => getScriptOptions(options), mapScriptSync = ({ options }) => ({ ...getScriptOptions(options), isSync: true }), getScriptOptions = (options) => ({ options: { ...getScriptStdinOption(options), ...options } }), getScriptStdinOption = ({ input, inputFile, stdio }) => input === undefined && inputFile === undefined && stdio === undefined ? { stdin: "inherit" } : {}, deepScriptOptions;
var init_script = __esm(() => {
deepScriptOptions = { preferLocal: true };
});
// node_modules/.pnpm/execa@9.6.1/node_modules/execa/index.js
var execa, execaSync, execaCommand, execaCommandSync, execaNode, $2, sendMessage2, getOneMessage2, getEachMessage2, getCancelSignal2;
var init_execa = __esm(() => {
init_create();
init_command2();
init_node2();
init_script();
init_methods();
execa = createExeca(() => ({}));
execaSync = createExeca(() => ({ isSync: true }));
execaCommand = createExeca(mapCommandAsync);
execaCommandSync = createExeca(mapCommandSync);
execaNode = createExeca(mapNode);
$2 = createExeca(mapScriptAsync, {}, deepScriptOptions, setScriptSync);
({
sendMessage: sendMessage2,
getOneMessage: getOneMessage2,
getEachMessage: getEachMessage2,
getCancelSignal: getCancelSignal2
} = getIpcExport());
});
// src/utils/execSyncWrapper.ts
import {
execSync as nodeExecSync
} from "child_process";
function execSync_DEPRECATED(command, options) {
let __stack = [];
try {
const _2 = __using(__stack, slowLogging`execSync: ${command.slice(0, 100)}`, 0);
return nodeExecSync(command, options);
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
}
var init_execSyncWrapper = __esm(() => {
init_slowOperations();
});
// src/utils/which.ts
async function whichNodeAsync(command) {
if (process.platform === "win32") {
const result2 = await execa(`where.exe ${command}`, {
shell: true,
stderr: "ignore",
reject: false
});
if (result2.exitCode !== 0 || !result2.stdout) {
return null;
}
return result2.stdout.trim().split(/\r?\n/)[0] || null;
}
const result = await execa(`which ${command}`, {
shell: true,
stderr: "ignore",
reject: false
});
if (result.exitCode !== 0 || !result.stdout) {
return null;
}
return result.stdout.trim();
}
function whichNodeSync(command) {
if (process.platform === "win32") {
try {
const result = execSync_DEPRECATED(`where.exe ${command}`, {
encoding: "utf-8",
stdio: ["ignore", "pipe", "ignore"]
});
const output = result.toString().trim();
return output.split(/\r?\n/)[0] || null;
} catch {
return null;
}
}
try {
const result = execSync_DEPRECATED(`which ${command}`, {
encoding: "utf-8",
stdio: ["ignore", "pipe", "ignore"]
});
return result.toString().trim() || null;
} catch {
return null;
}
}
var bunWhich, which, whichSync;
var init_which = __esm(() => {
init_execa();
init_execSyncWrapper();
bunWhich = typeof Bun !== "undefined" && typeof Bun.which === "function" ? Bun.which : null;
which = bunWhich ? async (command) => bunWhich(command) : whichNodeAsync;
whichSync = bunWhich ?? whichNodeSync;
});
// src/utils/findExecutable.ts
function findExecutable(exe, args) {
const resolved = whichSync(exe);
return { cmd: resolved ?? exe, args };
}
var init_findExecutable = __esm(() => {
init_which();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/bind.js
function bind(fn, thisArg) {
return function wrap() {
return fn.apply(thisArg, arguments);
};
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/utils.js
function isBuffer2(val) {
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction2(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}
function isArrayBufferView(val) {
let result;
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
result = ArrayBuffer.isView(val);
} else {
result = val && val.buffer && isArrayBuffer2(val.buffer);
}
return result;
}
function getGlobal() {
if (typeof globalThis !== "undefined")
return globalThis;
if (typeof self !== "undefined")
return self;
if (typeof window !== "undefined")
return window;
if (typeof global !== "undefined")
return global;
return {};
}
function forEach(obj, fn, { allOwnKeys = false } = {}) {
if (obj === null || typeof obj === "undefined") {
return;
}
let i2;
let l;
if (typeof obj !== "object") {
obj = [obj];
}
if (isArray3(obj)) {
for (i2 = 0, l = obj.length;i2 < l; i2++) {
fn.call(null, obj[i2], i2, obj);
}
} else {
if (isBuffer2(obj)) {
return;
}
const keys2 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
const len = keys2.length;
let key;
for (i2 = 0;i2 < len; i2++) {
key = keys2[i2];
fn.call(null, obj[key], key, obj);
}
}
}
function findKey(obj, key) {
if (isBuffer2(obj)) {
return null;
}
key = key.toLowerCase();
const keys2 = Object.keys(obj);
let i2 = keys2.length;
let _key;
while (i2-- > 0) {
_key = keys2[i2];
if (key === _key.toLowerCase()) {
return _key;
}
}
return null;
}
function merge() {
const { caseless, skipUndefined } = isContextDefined(this) && this || {};
const result = {};
const assignValue2 = (val, key) => {
if (key === "__proto__" || key === "constructor" || key === "prototype") {
return;
}
const targetKey = caseless && findKey(result, key) || key;
if (isPlainObject2(result[targetKey]) && isPlainObject2(val)) {
result[targetKey] = merge(result[targetKey], val);
} else if (isPlainObject2(val)) {
result[targetKey] = merge({}, val);
} else if (isArray3(val)) {
result[targetKey] = val.slice();
} else if (!skipUndefined || !isUndefined(val)) {
result[targetKey] = val;
}
};
for (let i2 = 0, l = arguments.length;i2 < l; i2++) {
arguments[i2] && forEach(arguments[i2], assignValue2);
}
return result;
}
function isSpecCompliantForm(thing) {
return !!(thing && isFunction2(thing.append) && thing[toStringTag] === "FormData" && thing[iterator]);
}
var toString4, getPrototypeOf, iterator, toStringTag, kindOf, kindOfTest = (type) => {
type = type.toLowerCase();
return (thing) => kindOf(thing) === type;
}, typeOfTest = (type) => (thing) => typeof thing === type, isArray3, isUndefined, isArrayBuffer2, isString, isFunction2, isNumber, isObject3 = (thing) => thing !== null && typeof thing === "object", isBoolean = (thing) => thing === true || thing === false, isPlainObject2 = (val) => {
if (kindOf(val) !== "object") {
return false;
}
const prototype = getPrototypeOf(val);
return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
}, isEmptyObject = (val) => {
if (!isObject3(val) || isBuffer2(val)) {
return false;
}
try {
return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
} catch (e) {
return false;
}
}, isDate, isFile, isReactNativeBlob = (value) => {
return !!(value && typeof value.uri !== "undefined");
}, isReactNative = (formData) => formData && typeof formData.getParts !== "undefined", isBlob, isFileList, isStream2 = (val) => isObject3(val) && isFunction2(val.pipe), G2, FormDataCtor, isFormData = (thing) => {
let kind;
return thing && (FormDataCtor && thing instanceof FormDataCtor || isFunction2(thing.append) && ((kind = kindOf(thing)) === "formdata" || kind === "object" && isFunction2(thing.toString) && thing.toString() === "[object FormData]"));
}, isURLSearchParams, isReadableStream3, isRequest, isResponse, isHeaders, trim = (str) => {
return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
}, _global, isContextDefined = (context) => !isUndefined(context) && context !== _global, extend = (a2, b2, thisArg, { allOwnKeys } = {}) => {
forEach(b2, (val, key) => {
if (thisArg && isFunction2(val)) {
Object.defineProperty(a2, key, {
value: bind(val, thisArg),
writable: true,
enumerable: true,
configurable: true
});
} else {
Object.defineProperty(a2, key, {
value: val,
writable: true,
enumerable: true,
configurable: true
});
}
}, { allOwnKeys });
return a2;
}, stripBOM = (content) => {
if (content.charCodeAt(0) === 65279) {
content = content.slice(1);
}
return content;
}, inherits = (constructor, superConstructor, props, descriptors2) => {
constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
Object.defineProperty(constructor.prototype, "constructor", {
value: constructor,
writable: true,
enumerable: false,
configurable: true
});
Object.defineProperty(constructor, "super", {
value: superConstructor.prototype
});
props && Object.assign(constructor.prototype, props);
}, toFlatObject = (sourceObj, destObj, filter, propFilter) => {
let props;
let i2;
let prop;
const merged = {};
destObj = destObj || {};
if (sourceObj == null)
return destObj;
do {
props = Object.getOwnPropertyNames(sourceObj);
i2 = props.length;
while (i2-- > 0) {
prop = props[i2];
if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
destObj[prop] = sourceObj[prop];
merged[prop] = true;
}
}
sourceObj = filter !== false && getPrototypeOf(sourceObj);
} while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
return destObj;
}, endsWith = (str, searchString, position) => {
str = String(str);
if (position === undefined || position > str.length) {
position = str.length;
}
position -= searchString.length;
const lastIndex = str.indexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
}, toArray = (thing) => {
if (!thing)
return null;
if (isArray3(thing))
return thing;
let i2 = thing.length;
if (!isNumber(i2))
return null;
const arr = new Array(i2);
while (i2-- > 0) {
arr[i2] = thing[i2];
}
return arr;
}, isTypedArray2, forEachEntry = (obj, fn) => {
const generator = obj && obj[iterator];
const _iterator = generator.call(obj);
let result;
while ((result = _iterator.next()) && !result.done) {
const pair = result.value;
fn.call(obj, pair[0], pair[1]);
}
}, matchAll = (regExp, str) => {
let matches;
const arr = [];
while ((matches = regExp.exec(str)) !== null) {
arr.push(matches);
}
return arr;
}, isHTMLForm, toCamelCase = (str) => {
return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m2, p1, p2) {
return p1.toUpperCase() + p2;
});
}, hasOwnProperty13, isRegExp, reduceDescriptors = (obj, reducer) => {
const descriptors2 = Object.getOwnPropertyDescriptors(obj);
const reducedDescriptors = {};
forEach(descriptors2, (descriptor, name) => {
let ret;
if ((ret = reducer(descriptor, name, obj)) !== false) {
reducedDescriptors[name] = ret || descriptor;
}
});
Object.defineProperties(obj, reducedDescriptors);
}, freezeMethods = (obj) => {
reduceDescriptors(obj, (descriptor, name) => {
if (isFunction2(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
return false;
}
const value = obj[name];
if (!isFunction2(value))
return;
descriptor.enumerable = false;
if ("writable" in descriptor) {
descriptor.writable = false;
return;
}
if (!descriptor.set) {
descriptor.set = () => {
throw Error("Can not rewrite read-only method '" + name + "'");
};
}
});
}, toObjectSet = (arrayOrString, delimiter) => {
const obj = {};
const define2 = (arr) => {
arr.forEach((value) => {
obj[value] = true;
});
};
isArray3(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter));
return obj;
}, noop6 = () => {}, toFiniteNumber = (value, defaultValue) => {
return value != null && Number.isFinite(value = +value) ? value : defaultValue;
}, toJSONObject = (obj) => {
const stack = new Array(10);
const visit = (source, i2) => {
if (isObject3(source)) {
if (stack.indexOf(source) >= 0) {
return;
}
if (isBuffer2(source)) {
return source;
}
if (!("toJSON" in source)) {
stack[i2] = source;
const target = isArray3(source) ? [] : {};
forEach(source, (value, key) => {
const reducedValue = visit(value, i2 + 1);
!isUndefined(reducedValue) && (target[key] = reducedValue);
});
stack[i2] = undefined;
return target;
}
}
return source;
};
return visit(obj, 0);
}, isAsyncFn, isThenable = (thing) => thing && (isObject3(thing) || isFunction2(thing)) && isFunction2(thing.then) && isFunction2(thing.catch), _setImmediate, asap, isIterable = (thing) => thing != null && isFunction2(thing[iterator]), utils_default;
var init_utils = __esm(() => {
({ toString: toString4 } = Object.prototype);
({ getPrototypeOf } = Object);
({ iterator, toStringTag } = Symbol);
kindOf = ((cache2) => (thing) => {
const str = toString4.call(thing);
return cache2[str] || (cache2[str] = str.slice(8, -1).toLowerCase());
})(Object.create(null));
({ isArray: isArray3 } = Array);
isUndefined = typeOfTest("undefined");
isArrayBuffer2 = kindOfTest("ArrayBuffer");
isString = typeOfTest("string");
isFunction2 = typeOfTest("function");
isNumber = typeOfTest("number");
isDate = kindOfTest("Date");
isFile = kindOfTest("File");
isBlob = kindOfTest("Blob");
isFileList = kindOfTest("FileList");
G2 = getGlobal();
FormDataCtor = typeof G2.FormData !== "undefined" ? G2.FormData : undefined;
isURLSearchParams = kindOfTest("URLSearchParams");
[isReadableStream3, isRequest, isResponse, isHeaders] = [
"ReadableStream",
"Request",
"Response",
"Headers"
].map(kindOfTest);
_global = (() => {
if (typeof globalThis !== "undefined")
return globalThis;
return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
})();
isTypedArray2 = ((TypedArray) => {
return (thing) => {
return TypedArray && thing instanceof TypedArray;
};
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
isHTMLForm = kindOfTest("HTMLFormElement");
hasOwnProperty13 = (({ hasOwnProperty: hasOwnProperty14 }) => (obj, prop) => hasOwnProperty14.call(obj, prop))(Object.prototype);
isRegExp = kindOfTest("RegExp");
isAsyncFn = kindOfTest("AsyncFunction");
_setImmediate = ((setImmediateSupported, postMessageSupported) => {
if (setImmediateSupported) {
return setImmediate;
}
return postMessageSupported ? ((token, callbacks) => {
_global.addEventListener("message", ({ source, data }) => {
if (source === _global && data === token) {
callbacks.length && callbacks.shift()();
}
}, false);
return (cb) => {
callbacks.push(cb);
_global.postMessage(token, "*");
};
})(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
})(typeof setImmediate === "function", isFunction2(_global.postMessage));
asap = typeof queueMicrotask !== "undefined" ? queueMicrotask.bind(_global) : typeof process !== "undefined" && process.nextTick || _setImmediate;
utils_default = {
isArray: isArray3,
isArrayBuffer: isArrayBuffer2,
isBuffer: isBuffer2,
isFormData,
isArrayBufferView,
isString,
isNumber,
isBoolean,
isObject: isObject3,
isPlainObject: isPlainObject2,
isEmptyObject,
isReadableStream: isReadableStream3,
isRequest,
isResponse,
isHeaders,
isUndefined,
isDate,
isFile,
isReactNativeBlob,
isReactNative,
isBlob,
isRegExp,
isFunction: isFunction2,
isStream: isStream2,
isURLSearchParams,
isTypedArray: isTypedArray2,
isFileList,
forEach,
merge,
extend,
trim,
stripBOM,
inherits,
toFlatObject,
kindOf,
kindOfTest,
endsWith,
toArray,
forEachEntry,
matchAll,
isHTMLForm,
hasOwnProperty: hasOwnProperty13,
hasOwnProp: hasOwnProperty13,
reduceDescriptors,
freezeMethods,
toObjectSet,
toCamelCase,
noop: noop6,
toFiniteNumber,
findKey,
global: _global,
isContextDefined,
isSpecCompliantForm,
toJSONObject,
isAsyncFn,
isThenable,
setImmediate: _setImmediate,
asap,
isIterable
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/AxiosError.js
var AxiosError, AxiosError_default;
var init_AxiosError = __esm(() => {
init_utils();
AxiosError = class AxiosError extends Error {
static from(error2, code, config, request, response, customProps) {
const axiosError = new AxiosError(error2.message, code || error2.code, config, request, response);
axiosError.cause = error2;
axiosError.name = error2.name;
if (error2.status != null && axiosError.status == null) {
axiosError.status = error2.status;
}
customProps && Object.assign(axiosError, customProps);
return axiosError;
}
constructor(message, code, config, request, response) {
super(message);
Object.defineProperty(this, "message", {
value: message,
enumerable: true,
writable: true,
configurable: true
});
this.name = "AxiosError";
this.isAxiosError = true;
code && (this.code = code);
config && (this.config = config);
request && (this.request = request);
if (response) {
this.response = response;
this.status = response.status;
}
}
toJSON() {
return {
message: this.message,
name: this.name,
description: this.description,
number: this.number,
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
config: utils_default.toJSONObject(this.config),
code: this.code,
status: this.status
};
}
};
AxiosError.ERR_BAD_OPTION_VALUE = "ERR_BAD_OPTION_VALUE";
AxiosError.ERR_BAD_OPTION = "ERR_BAD_OPTION";
AxiosError.ECONNABORTED = "ECONNABORTED";
AxiosError.ETIMEDOUT = "ETIMEDOUT";
AxiosError.ERR_NETWORK = "ERR_NETWORK";
AxiosError.ERR_FR_TOO_MANY_REDIRECTS = "ERR_FR_TOO_MANY_REDIRECTS";
AxiosError.ERR_DEPRECATED = "ERR_DEPRECATED";
AxiosError.ERR_BAD_RESPONSE = "ERR_BAD_RESPONSE";
AxiosError.ERR_BAD_REQUEST = "ERR_BAD_REQUEST";
AxiosError.ERR_CANCELED = "ERR_CANCELED";
AxiosError.ERR_NOT_SUPPORT = "ERR_NOT_SUPPORT";
AxiosError.ERR_INVALID_URL = "ERR_INVALID_URL";
AxiosError_default = AxiosError;
});
// node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js
var require_delayed_stream = __commonJS((exports, module) => {
var Stream2 = __require("stream").Stream;
var util = __require("util");
module.exports = DelayedStream;
function DelayedStream() {
this.source = null;
this.dataSize = 0;
this.maxDataSize = 1024 * 1024;
this.pauseStream = true;
this._maxDataSizeExceeded = false;
this._released = false;
this._bufferedEvents = [];
}
util.inherits(DelayedStream, Stream2);
DelayedStream.create = function(source, options) {
var delayedStream = new this;
options = options || {};
for (var option in options) {
delayedStream[option] = options[option];
}
delayedStream.source = source;
var realEmit = source.emit;
source.emit = function() {
delayedStream._handleEmit(arguments);
return realEmit.apply(source, arguments);
};
source.on("error", function() {});
if (delayedStream.pauseStream) {
source.pause();
}
return delayedStream;
};
Object.defineProperty(DelayedStream.prototype, "readable", {
configurable: true,
enumerable: true,
get: function() {
return this.source.readable;
}
});
DelayedStream.prototype.setEncoding = function() {
return this.source.setEncoding.apply(this.source, arguments);
};
DelayedStream.prototype.resume = function() {
if (!this._released) {
this.release();
}
this.source.resume();
};
DelayedStream.prototype.pause = function() {
this.source.pause();
};
DelayedStream.prototype.release = function() {
this._released = true;
this._bufferedEvents.forEach(function(args) {
this.emit.apply(this, args);
}.bind(this));
this._bufferedEvents = [];
};
DelayedStream.prototype.pipe = function() {
var r = Stream2.prototype.pipe.apply(this, arguments);
this.resume();
return r;
};
DelayedStream.prototype._handleEmit = function(args) {
if (this._released) {
this.emit.apply(this, args);
return;
}
if (args[0] === "data") {
this.dataSize += args[1].length;
this._checkIfMaxDataSizeExceeded();
}
this._bufferedEvents.push(args);
};
DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {
if (this._maxDataSizeExceeded) {
return;
}
if (this.dataSize <= this.maxDataSize) {
return;
}
this._maxDataSizeExceeded = true;
var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
this.emit("error", new Error(message));
};
});
// node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js
var require_combined_stream = __commonJS((exports, module) => {
var util = __require("util");
var Stream2 = __require("stream").Stream;
var DelayedStream = require_delayed_stream();
module.exports = CombinedStream;
function CombinedStream() {
this.writable = false;
this.readable = true;
this.dataSize = 0;
this.maxDataSize = 2 * 1024 * 1024;
this.pauseStreams = true;
this._released = false;
this._streams = [];
this._currentStream = null;
this._insideLoop = false;
this._pendingNext = false;
}
util.inherits(CombinedStream, Stream2);
CombinedStream.create = function(options) {
var combinedStream = new this;
options = options || {};
for (var option in options) {
combinedStream[option] = options[option];
}
return combinedStream;
};
CombinedStream.isStreamLike = function(stream) {
return typeof stream !== "function" && typeof stream !== "string" && typeof stream !== "boolean" && typeof stream !== "number" && !Buffer.isBuffer(stream);
};
CombinedStream.prototype.append = function(stream) {
var isStreamLike = CombinedStream.isStreamLike(stream);
if (isStreamLike) {
if (!(stream instanceof DelayedStream)) {
var newStream = DelayedStream.create(stream, {
maxDataSize: Infinity,
pauseStream: this.pauseStreams
});
stream.on("data", this._checkDataSize.bind(this));
stream = newStream;
}
this._handleErrors(stream);
if (this.pauseStreams) {
stream.pause();
}
}
this._streams.push(stream);
return this;
};
CombinedStream.prototype.pipe = function(dest, options) {
Stream2.prototype.pipe.call(this, dest, options);
this.resume();
return dest;
};
CombinedStream.prototype._getNext = function() {
this._currentStream = null;
if (this._insideLoop) {
this._pendingNext = true;
return;
}
this._insideLoop = true;
try {
do {
this._pendingNext = false;
this._realGetNext();
} while (this._pendingNext);
} finally {
this._insideLoop = false;
}
};
CombinedStream.prototype._realGetNext = function() {
var stream = this._streams.shift();
if (typeof stream == "undefined") {
this.end();
return;
}
if (typeof stream !== "function") {
this._pipeNext(stream);
return;
}
var getStream = stream;
getStream(function(stream2) {
var isStreamLike = CombinedStream.isStreamLike(stream2);
if (isStreamLike) {
stream2.on("data", this._checkDataSize.bind(this));
this._handleErrors(stream2);
}
this._pipeNext(stream2);
}.bind(this));
};
CombinedStream.prototype._pipeNext = function(stream) {
this._currentStream = stream;
var isStreamLike = CombinedStream.isStreamLike(stream);
if (isStreamLike) {
stream.on("end", this._getNext.bind(this));
stream.pipe(this, { end: false });
return;
}
var value = stream;
this.write(value);
this._getNext();
};
CombinedStream.prototype._handleErrors = function(stream) {
var self2 = this;
stream.on("error", function(err) {
self2._emitError(err);
});
};
CombinedStream.prototype.write = function(data) {
this.emit("data", data);
};
CombinedStream.prototype.pause = function() {
if (!this.pauseStreams) {
return;
}
if (this.pauseStreams && this._currentStream && typeof this._currentStream.pause == "function")
this._currentStream.pause();
this.emit("pause");
};
CombinedStream.prototype.resume = function() {
if (!this._released) {
this._released = true;
this.writable = true;
this._getNext();
}
if (this.pauseStreams && this._currentStream && typeof this._currentStream.resume == "function")
this._currentStream.resume();
this.emit("resume");
};
CombinedStream.prototype.end = function() {
this._reset();
this.emit("end");
};
CombinedStream.prototype.destroy = function() {
this._reset();
this.emit("close");
};
CombinedStream.prototype._reset = function() {
this.writable = false;
this._streams = [];
this._currentStream = null;
};
CombinedStream.prototype._checkDataSize = function() {
this._updateDataSize();
if (this.dataSize <= this.maxDataSize) {
return;
}
var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
this._emitError(new Error(message));
};
CombinedStream.prototype._updateDataSize = function() {
this.dataSize = 0;
var self2 = this;
this._streams.forEach(function(stream) {
if (!stream.dataSize) {
return;
}
self2.dataSize += stream.dataSize;
});
if (this._currentStream && this._currentStream.dataSize) {
this.dataSize += this._currentStream.dataSize;
}
};
CombinedStream.prototype._emitError = function(err) {
this._reset();
this.emit("error", err);
};
});
// node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json
var require_db = __commonJS((exports, module) => {
module.exports = {
"application/1d-interleaved-parityfec": {
source: "iana"
},
"application/3gpdash-qoe-report+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/3gpp-ims+xml": {
source: "iana",
compressible: true
},
"application/3gpphal+json": {
source: "iana",
compressible: true
},
"application/3gpphalforms+json": {
source: "iana",
compressible: true
},
"application/a2l": {
source: "iana"
},
"application/ace+cbor": {
source: "iana"
},
"application/activemessage": {
source: "iana"
},
"application/activity+json": {
source: "iana",
compressible: true
},
"application/alto-costmap+json": {
source: "iana",
compressible: true
},
"application/alto-costmapfilter+json": {
source: "iana",
compressible: true
},
"application/alto-directory+json": {
source: "iana",
compressible: true
},
"application/alto-endpointcost+json": {
source: "iana",
compressible: true
},
"application/alto-endpointcostparams+json": {
source: "iana",
compressible: true
},
"application/alto-endpointprop+json": {
source: "iana",
compressible: true
},
"application/alto-endpointpropparams+json": {
source: "iana",
compressible: true
},
"application/alto-error+json": {
source: "iana",
compressible: true
},
"application/alto-networkmap+json": {
source: "iana",
compressible: true
},
"application/alto-networkmapfilter+json": {
source: "iana",
compressible: true
},
"application/alto-updatestreamcontrol+json": {
source: "iana",
compressible: true
},
"application/alto-updatestreamparams+json": {
source: "iana",
compressible: true
},
"application/aml": {
source: "iana"
},
"application/andrew-inset": {
source: "iana",
extensions: ["ez"]
},
"application/applefile": {
source: "iana"
},
"application/applixware": {
source: "apache",
extensions: ["aw"]
},
"application/at+jwt": {
source: "iana"
},
"application/atf": {
source: "iana"
},
"application/atfx": {
source: "iana"
},
"application/atom+xml": {
source: "iana",
compressible: true,
extensions: ["atom"]
},
"application/atomcat+xml": {
source: "iana",
compressible: true,
extensions: ["atomcat"]
},
"application/atomdeleted+xml": {
source: "iana",
compressible: true,
extensions: ["atomdeleted"]
},
"application/atomicmail": {
source: "iana"
},
"application/atomsvc+xml": {
source: "iana",
compressible: true,
extensions: ["atomsvc"]
},
"application/atsc-dwd+xml": {
source: "iana",
compressible: true,
extensions: ["dwd"]
},
"application/atsc-dynamic-event-message": {
source: "iana"
},
"application/atsc-held+xml": {
source: "iana",
compressible: true,
extensions: ["held"]
},
"application/atsc-rdt+json": {
source: "iana",
compressible: true
},
"application/atsc-rsat+xml": {
source: "iana",
compressible: true,
extensions: ["rsat"]
},
"application/atxml": {
source: "iana"
},
"application/auth-policy+xml": {
source: "iana",
compressible: true
},
"application/bacnet-xdd+zip": {
source: "iana",
compressible: false
},
"application/batch-smtp": {
source: "iana"
},
"application/bdoc": {
compressible: false,
extensions: ["bdoc"]
},
"application/beep+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/calendar+json": {
source: "iana",
compressible: true
},
"application/calendar+xml": {
source: "iana",
compressible: true,
extensions: ["xcs"]
},
"application/call-completion": {
source: "iana"
},
"application/cals-1840": {
source: "iana"
},
"application/captive+json": {
source: "iana",
compressible: true
},
"application/cbor": {
source: "iana"
},
"application/cbor-seq": {
source: "iana"
},
"application/cccex": {
source: "iana"
},
"application/ccmp+xml": {
source: "iana",
compressible: true
},
"application/ccxml+xml": {
source: "iana",
compressible: true,
extensions: ["ccxml"]
},
"application/cdfx+xml": {
source: "iana",
compressible: true,
extensions: ["cdfx"]
},
"application/cdmi-capability": {
source: "iana",
extensions: ["cdmia"]
},
"application/cdmi-container": {
source: "iana",
extensions: ["cdmic"]
},
"application/cdmi-domain": {
source: "iana",
extensions: ["cdmid"]
},
"application/cdmi-object": {
source: "iana",
extensions: ["cdmio"]
},
"application/cdmi-queue": {
source: "iana",
extensions: ["cdmiq"]
},
"application/cdni": {
source: "iana"
},
"application/cea": {
source: "iana"
},
"application/cea-2018+xml": {
source: "iana",
compressible: true
},
"application/cellml+xml": {
source: "iana",
compressible: true
},
"application/cfw": {
source: "iana"
},
"application/city+json": {
source: "iana",
compressible: true
},
"application/clr": {
source: "iana"
},
"application/clue+xml": {
source: "iana",
compressible: true
},
"application/clue_info+xml": {
source: "iana",
compressible: true
},
"application/cms": {
source: "iana"
},
"application/cnrp+xml": {
source: "iana",
compressible: true
},
"application/coap-group+json": {
source: "iana",
compressible: true
},
"application/coap-payload": {
source: "iana"
},
"application/commonground": {
source: "iana"
},
"application/conference-info+xml": {
source: "iana",
compressible: true
},
"application/cose": {
source: "iana"
},
"application/cose-key": {
source: "iana"
},
"application/cose-key-set": {
source: "iana"
},
"application/cpl+xml": {
source: "iana",
compressible: true,
extensions: ["cpl"]
},
"application/csrattrs": {
source: "iana"
},
"application/csta+xml": {
source: "iana",
compressible: true
},
"application/cstadata+xml": {
source: "iana",
compressible: true
},
"application/csvm+json": {
source: "iana",
compressible: true
},
"application/cu-seeme": {
source: "apache",
extensions: ["cu"]
},
"application/cwt": {
source: "iana"
},
"application/cybercash": {
source: "iana"
},
"application/dart": {
compressible: true
},
"application/dash+xml": {
source: "iana",
compressible: true,
extensions: ["mpd"]
},
"application/dash-patch+xml": {
source: "iana",
compressible: true,
extensions: ["mpp"]
},
"application/dashdelta": {
source: "iana"
},
"application/davmount+xml": {
source: "iana",
compressible: true,
extensions: ["davmount"]
},
"application/dca-rft": {
source: "iana"
},
"application/dcd": {
source: "iana"
},
"application/dec-dx": {
source: "iana"
},
"application/dialog-info+xml": {
source: "iana",
compressible: true
},
"application/dicom": {
source: "iana"
},
"application/dicom+json": {
source: "iana",
compressible: true
},
"application/dicom+xml": {
source: "iana",
compressible: true
},
"application/dii": {
source: "iana"
},
"application/dit": {
source: "iana"
},
"application/dns": {
source: "iana"
},
"application/dns+json": {
source: "iana",
compressible: true
},
"application/dns-message": {
source: "iana"
},
"application/docbook+xml": {
source: "apache",
compressible: true,
extensions: ["dbk"]
},
"application/dots+cbor": {
source: "iana"
},
"application/dskpp+xml": {
source: "iana",
compressible: true
},
"application/dssc+der": {
source: "iana",
extensions: ["dssc"]
},
"application/dssc+xml": {
source: "iana",
compressible: true,
extensions: ["xdssc"]
},
"application/dvcs": {
source: "iana"
},
"application/ecmascript": {
source: "iana",
compressible: true,
extensions: ["es", "ecma"]
},
"application/edi-consent": {
source: "iana"
},
"application/edi-x12": {
source: "iana",
compressible: false
},
"application/edifact": {
source: "iana",
compressible: false
},
"application/efi": {
source: "iana"
},
"application/elm+json": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/elm+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.cap+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/emergencycalldata.comment+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.control+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.deviceinfo+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.ecall.msd": {
source: "iana"
},
"application/emergencycalldata.providerinfo+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.serviceinfo+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.subscriberinfo+xml": {
source: "iana",
compressible: true
},
"application/emergencycalldata.veds+xml": {
source: "iana",
compressible: true
},
"application/emma+xml": {
source: "iana",
compressible: true,
extensions: ["emma"]
},
"application/emotionml+xml": {
source: "iana",
compressible: true,
extensions: ["emotionml"]
},
"application/encaprtp": {
source: "iana"
},
"application/epp+xml": {
source: "iana",
compressible: true
},
"application/epub+zip": {
source: "iana",
compressible: false,
extensions: ["epub"]
},
"application/eshop": {
source: "iana"
},
"application/exi": {
source: "iana",
extensions: ["exi"]
},
"application/expect-ct-report+json": {
source: "iana",
compressible: true
},
"application/express": {
source: "iana",
extensions: ["exp"]
},
"application/fastinfoset": {
source: "iana"
},
"application/fastsoap": {
source: "iana"
},
"application/fdt+xml": {
source: "iana",
compressible: true,
extensions: ["fdt"]
},
"application/fhir+json": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/fhir+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/fido.trusted-apps+json": {
compressible: true
},
"application/fits": {
source: "iana"
},
"application/flexfec": {
source: "iana"
},
"application/font-sfnt": {
source: "iana"
},
"application/font-tdpfr": {
source: "iana",
extensions: ["pfr"]
},
"application/font-woff": {
source: "iana",
compressible: false
},
"application/framework-attributes+xml": {
source: "iana",
compressible: true
},
"application/geo+json": {
source: "iana",
compressible: true,
extensions: ["geojson"]
},
"application/geo+json-seq": {
source: "iana"
},
"application/geopackage+sqlite3": {
source: "iana"
},
"application/geoxacml+xml": {
source: "iana",
compressible: true
},
"application/gltf-buffer": {
source: "iana"
},
"application/gml+xml": {
source: "iana",
compressible: true,
extensions: ["gml"]
},
"application/gpx+xml": {
source: "apache",
compressible: true,
extensions: ["gpx"]
},
"application/gxf": {
source: "apache",
extensions: ["gxf"]
},
"application/gzip": {
source: "iana",
compressible: false,
extensions: ["gz"]
},
"application/h224": {
source: "iana"
},
"application/held+xml": {
source: "iana",
compressible: true
},
"application/hjson": {
extensions: ["hjson"]
},
"application/http": {
source: "iana"
},
"application/hyperstudio": {
source: "iana",
extensions: ["stk"]
},
"application/ibe-key-request+xml": {
source: "iana",
compressible: true
},
"application/ibe-pkg-reply+xml": {
source: "iana",
compressible: true
},
"application/ibe-pp-data": {
source: "iana"
},
"application/iges": {
source: "iana"
},
"application/im-iscomposing+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/index": {
source: "iana"
},
"application/index.cmd": {
source: "iana"
},
"application/index.obj": {
source: "iana"
},
"application/index.response": {
source: "iana"
},
"application/index.vnd": {
source: "iana"
},
"application/inkml+xml": {
source: "iana",
compressible: true,
extensions: ["ink", "inkml"]
},
"application/iotp": {
source: "iana"
},
"application/ipfix": {
source: "iana",
extensions: ["ipfix"]
},
"application/ipp": {
source: "iana"
},
"application/isup": {
source: "iana"
},
"application/its+xml": {
source: "iana",
compressible: true,
extensions: ["its"]
},
"application/java-archive": {
source: "apache",
compressible: false,
extensions: ["jar", "war", "ear"]
},
"application/java-serialized-object": {
source: "apache",
compressible: false,
extensions: ["ser"]
},
"application/java-vm": {
source: "apache",
compressible: false,
extensions: ["class"]
},
"application/javascript": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["js", "mjs"]
},
"application/jf2feed+json": {
source: "iana",
compressible: true
},
"application/jose": {
source: "iana"
},
"application/jose+json": {
source: "iana",
compressible: true
},
"application/jrd+json": {
source: "iana",
compressible: true
},
"application/jscalendar+json": {
source: "iana",
compressible: true
},
"application/json": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["json", "map"]
},
"application/json-patch+json": {
source: "iana",
compressible: true
},
"application/json-seq": {
source: "iana"
},
"application/json5": {
extensions: ["json5"]
},
"application/jsonml+json": {
source: "apache",
compressible: true,
extensions: ["jsonml"]
},
"application/jwk+json": {
source: "iana",
compressible: true
},
"application/jwk-set+json": {
source: "iana",
compressible: true
},
"application/jwt": {
source: "iana"
},
"application/kpml-request+xml": {
source: "iana",
compressible: true
},
"application/kpml-response+xml": {
source: "iana",
compressible: true
},
"application/ld+json": {
source: "iana",
compressible: true,
extensions: ["jsonld"]
},
"application/lgr+xml": {
source: "iana",
compressible: true,
extensions: ["lgr"]
},
"application/link-format": {
source: "iana"
},
"application/load-control+xml": {
source: "iana",
compressible: true
},
"application/lost+xml": {
source: "iana",
compressible: true,
extensions: ["lostxml"]
},
"application/lostsync+xml": {
source: "iana",
compressible: true
},
"application/lpf+zip": {
source: "iana",
compressible: false
},
"application/lxf": {
source: "iana"
},
"application/mac-binhex40": {
source: "iana",
extensions: ["hqx"]
},
"application/mac-compactpro": {
source: "apache",
extensions: ["cpt"]
},
"application/macwriteii": {
source: "iana"
},
"application/mads+xml": {
source: "iana",
compressible: true,
extensions: ["mads"]
},
"application/manifest+json": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["webmanifest"]
},
"application/marc": {
source: "iana",
extensions: ["mrc"]
},
"application/marcxml+xml": {
source: "iana",
compressible: true,
extensions: ["mrcx"]
},
"application/mathematica": {
source: "iana",
extensions: ["ma", "nb", "mb"]
},
"application/mathml+xml": {
source: "iana",
compressible: true,
extensions: ["mathml"]
},
"application/mathml-content+xml": {
source: "iana",
compressible: true
},
"application/mathml-presentation+xml": {
source: "iana",
compressible: true
},
"application/mbms-associated-procedure-description+xml": {
source: "iana",
compressible: true
},
"application/mbms-deregister+xml": {
source: "iana",
compressible: true
},
"application/mbms-envelope+xml": {
source: "iana",
compressible: true
},
"application/mbms-msk+xml": {
source: "iana",
compressible: true
},
"application/mbms-msk-response+xml": {
source: "iana",
compressible: true
},
"application/mbms-protection-description+xml": {
source: "iana",
compressible: true
},
"application/mbms-reception-report+xml": {
source: "iana",
compressible: true
},
"application/mbms-register+xml": {
source: "iana",
compressible: true
},
"application/mbms-register-response+xml": {
source: "iana",
compressible: true
},
"application/mbms-schedule+xml": {
source: "iana",
compressible: true
},
"application/mbms-user-service-description+xml": {
source: "iana",
compressible: true
},
"application/mbox": {
source: "iana",
extensions: ["mbox"]
},
"application/media-policy-dataset+xml": {
source: "iana",
compressible: true,
extensions: ["mpf"]
},
"application/media_control+xml": {
source: "iana",
compressible: true
},
"application/mediaservercontrol+xml": {
source: "iana",
compressible: true,
extensions: ["mscml"]
},
"application/merge-patch+json": {
source: "iana",
compressible: true
},
"application/metalink+xml": {
source: "apache",
compressible: true,
extensions: ["metalink"]
},
"application/metalink4+xml": {
source: "iana",
compressible: true,
extensions: ["meta4"]
},
"application/mets+xml": {
source: "iana",
compressible: true,
extensions: ["mets"]
},
"application/mf4": {
source: "iana"
},
"application/mikey": {
source: "iana"
},
"application/mipc": {
source: "iana"
},
"application/missing-blocks+cbor-seq": {
source: "iana"
},
"application/mmt-aei+xml": {
source: "iana",
compressible: true,
extensions: ["maei"]
},
"application/mmt-usd+xml": {
source: "iana",
compressible: true,
extensions: ["musd"]
},
"application/mods+xml": {
source: "iana",
compressible: true,
extensions: ["mods"]
},
"application/moss-keys": {
source: "iana"
},
"application/moss-signature": {
source: "iana"
},
"application/mosskey-data": {
source: "iana"
},
"application/mosskey-request": {
source: "iana"
},
"application/mp21": {
source: "iana",
extensions: ["m21", "mp21"]
},
"application/mp4": {
source: "iana",
extensions: ["mp4s", "m4p"]
},
"application/mpeg4-generic": {
source: "iana"
},
"application/mpeg4-iod": {
source: "iana"
},
"application/mpeg4-iod-xmt": {
source: "iana"
},
"application/mrb-consumer+xml": {
source: "iana",
compressible: true
},
"application/mrb-publish+xml": {
source: "iana",
compressible: true
},
"application/msc-ivr+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/msc-mixer+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/msword": {
source: "iana",
compressible: false,
extensions: ["doc", "dot"]
},
"application/mud+json": {
source: "iana",
compressible: true
},
"application/multipart-core": {
source: "iana"
},
"application/mxf": {
source: "iana",
extensions: ["mxf"]
},
"application/n-quads": {
source: "iana",
extensions: ["nq"]
},
"application/n-triples": {
source: "iana",
extensions: ["nt"]
},
"application/nasdata": {
source: "iana"
},
"application/news-checkgroups": {
source: "iana",
charset: "US-ASCII"
},
"application/news-groupinfo": {
source: "iana",
charset: "US-ASCII"
},
"application/news-transmission": {
source: "iana"
},
"application/nlsml+xml": {
source: "iana",
compressible: true
},
"application/node": {
source: "iana",
extensions: ["cjs"]
},
"application/nss": {
source: "iana"
},
"application/oauth-authz-req+jwt": {
source: "iana"
},
"application/oblivious-dns-message": {
source: "iana"
},
"application/ocsp-request": {
source: "iana"
},
"application/ocsp-response": {
source: "iana"
},
"application/octet-stream": {
source: "iana",
compressible: false,
extensions: ["bin", "dms", "lrf", "mar", "so", "dist", "distz", "pkg", "bpk", "dump", "elc", "deploy", "exe", "dll", "deb", "dmg", "iso", "img", "msi", "msp", "msm", "buffer"]
},
"application/oda": {
source: "iana",
extensions: ["oda"]
},
"application/odm+xml": {
source: "iana",
compressible: true
},
"application/odx": {
source: "iana"
},
"application/oebps-package+xml": {
source: "iana",
compressible: true,
extensions: ["opf"]
},
"application/ogg": {
source: "iana",
compressible: false,
extensions: ["ogx"]
},
"application/omdoc+xml": {
source: "apache",
compressible: true,
extensions: ["omdoc"]
},
"application/onenote": {
source: "apache",
extensions: ["onetoc", "onetoc2", "onetmp", "onepkg"]
},
"application/opc-nodeset+xml": {
source: "iana",
compressible: true
},
"application/oscore": {
source: "iana"
},
"application/oxps": {
source: "iana",
extensions: ["oxps"]
},
"application/p21": {
source: "iana"
},
"application/p21+zip": {
source: "iana",
compressible: false
},
"application/p2p-overlay+xml": {
source: "iana",
compressible: true,
extensions: ["relo"]
},
"application/parityfec": {
source: "iana"
},
"application/passport": {
source: "iana"
},
"application/patch-ops-error+xml": {
source: "iana",
compressible: true,
extensions: ["xer"]
},
"application/pdf": {
source: "iana",
compressible: false,
extensions: ["pdf"]
},
"application/pdx": {
source: "iana"
},
"application/pem-certificate-chain": {
source: "iana"
},
"application/pgp-encrypted": {
source: "iana",
compressible: false,
extensions: ["pgp"]
},
"application/pgp-keys": {
source: "iana",
extensions: ["asc"]
},
"application/pgp-signature": {
source: "iana",
extensions: ["asc", "sig"]
},
"application/pics-rules": {
source: "apache",
extensions: ["prf"]
},
"application/pidf+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/pidf-diff+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/pkcs10": {
source: "iana",
extensions: ["p10"]
},
"application/pkcs12": {
source: "iana"
},
"application/pkcs7-mime": {
source: "iana",
extensions: ["p7m", "p7c"]
},
"application/pkcs7-signature": {
source: "iana",
extensions: ["p7s"]
},
"application/pkcs8": {
source: "iana",
extensions: ["p8"]
},
"application/pkcs8-encrypted": {
source: "iana"
},
"application/pkix-attr-cert": {
source: "iana",
extensions: ["ac"]
},
"application/pkix-cert": {
source: "iana",
extensions: ["cer"]
},
"application/pkix-crl": {
source: "iana",
extensions: ["crl"]
},
"application/pkix-pkipath": {
source: "iana",
extensions: ["pkipath"]
},
"application/pkixcmp": {
source: "iana",
extensions: ["pki"]
},
"application/pls+xml": {
source: "iana",
compressible: true,
extensions: ["pls"]
},
"application/poc-settings+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/postscript": {
source: "iana",
compressible: true,
extensions: ["ai", "eps", "ps"]
},
"application/ppsp-tracker+json": {
source: "iana",
compressible: true
},
"application/problem+json": {
source: "iana",
compressible: true
},
"application/problem+xml": {
source: "iana",
compressible: true
},
"application/provenance+xml": {
source: "iana",
compressible: true,
extensions: ["provx"]
},
"application/prs.alvestrand.titrax-sheet": {
source: "iana"
},
"application/prs.cww": {
source: "iana",
extensions: ["cww"]
},
"application/prs.cyn": {
source: "iana",
charset: "7-BIT"
},
"application/prs.hpub+zip": {
source: "iana",
compressible: false
},
"application/prs.nprend": {
source: "iana"
},
"application/prs.plucker": {
source: "iana"
},
"application/prs.rdf-xml-crypt": {
source: "iana"
},
"application/prs.xsf+xml": {
source: "iana",
compressible: true
},
"application/pskc+xml": {
source: "iana",
compressible: true,
extensions: ["pskcxml"]
},
"application/pvd+json": {
source: "iana",
compressible: true
},
"application/qsig": {
source: "iana"
},
"application/raml+yaml": {
compressible: true,
extensions: ["raml"]
},
"application/raptorfec": {
source: "iana"
},
"application/rdap+json": {
source: "iana",
compressible: true
},
"application/rdf+xml": {
source: "iana",
compressible: true,
extensions: ["rdf", "owl"]
},
"application/reginfo+xml": {
source: "iana",
compressible: true,
extensions: ["rif"]
},
"application/relax-ng-compact-syntax": {
source: "iana",
extensions: ["rnc"]
},
"application/remote-printing": {
source: "iana"
},
"application/reputon+json": {
source: "iana",
compressible: true
},
"application/resource-lists+xml": {
source: "iana",
compressible: true,
extensions: ["rl"]
},
"application/resource-lists-diff+xml": {
source: "iana",
compressible: true,
extensions: ["rld"]
},
"application/rfc+xml": {
source: "iana",
compressible: true
},
"application/riscos": {
source: "iana"
},
"application/rlmi+xml": {
source: "iana",
compressible: true
},
"application/rls-services+xml": {
source: "iana",
compressible: true,
extensions: ["rs"]
},
"application/route-apd+xml": {
source: "iana",
compressible: true,
extensions: ["rapd"]
},
"application/route-s-tsid+xml": {
source: "iana",
compressible: true,
extensions: ["sls"]
},
"application/route-usd+xml": {
source: "iana",
compressible: true,
extensions: ["rusd"]
},
"application/rpki-ghostbusters": {
source: "iana",
extensions: ["gbr"]
},
"application/rpki-manifest": {
source: "iana",
extensions: ["mft"]
},
"application/rpki-publication": {
source: "iana"
},
"application/rpki-roa": {
source: "iana",
extensions: ["roa"]
},
"application/rpki-updown": {
source: "iana"
},
"application/rsd+xml": {
source: "apache",
compressible: true,
extensions: ["rsd"]
},
"application/rss+xml": {
source: "apache",
compressible: true,
extensions: ["rss"]
},
"application/rtf": {
source: "iana",
compressible: true,
extensions: ["rtf"]
},
"application/rtploopback": {
source: "iana"
},
"application/rtx": {
source: "iana"
},
"application/samlassertion+xml": {
source: "iana",
compressible: true
},
"application/samlmetadata+xml": {
source: "iana",
compressible: true
},
"application/sarif+json": {
source: "iana",
compressible: true
},
"application/sarif-external-properties+json": {
source: "iana",
compressible: true
},
"application/sbe": {
source: "iana"
},
"application/sbml+xml": {
source: "iana",
compressible: true,
extensions: ["sbml"]
},
"application/scaip+xml": {
source: "iana",
compressible: true
},
"application/scim+json": {
source: "iana",
compressible: true
},
"application/scvp-cv-request": {
source: "iana",
extensions: ["scq"]
},
"application/scvp-cv-response": {
source: "iana",
extensions: ["scs"]
},
"application/scvp-vp-request": {
source: "iana",
extensions: ["spq"]
},
"application/scvp-vp-response": {
source: "iana",
extensions: ["spp"]
},
"application/sdp": {
source: "iana",
extensions: ["sdp"]
},
"application/secevent+jwt": {
source: "iana"
},
"application/senml+cbor": {
source: "iana"
},
"application/senml+json": {
source: "iana",
compressible: true
},
"application/senml+xml": {
source: "iana",
compressible: true,
extensions: ["senmlx"]
},
"application/senml-etch+cbor": {
source: "iana"
},
"application/senml-etch+json": {
source: "iana",
compressible: true
},
"application/senml-exi": {
source: "iana"
},
"application/sensml+cbor": {
source: "iana"
},
"application/sensml+json": {
source: "iana",
compressible: true
},
"application/sensml+xml": {
source: "iana",
compressible: true,
extensions: ["sensmlx"]
},
"application/sensml-exi": {
source: "iana"
},
"application/sep+xml": {
source: "iana",
compressible: true
},
"application/sep-exi": {
source: "iana"
},
"application/session-info": {
source: "iana"
},
"application/set-payment": {
source: "iana"
},
"application/set-payment-initiation": {
source: "iana",
extensions: ["setpay"]
},
"application/set-registration": {
source: "iana"
},
"application/set-registration-initiation": {
source: "iana",
extensions: ["setreg"]
},
"application/sgml": {
source: "iana"
},
"application/sgml-open-catalog": {
source: "iana"
},
"application/shf+xml": {
source: "iana",
compressible: true,
extensions: ["shf"]
},
"application/sieve": {
source: "iana",
extensions: ["siv", "sieve"]
},
"application/simple-filter+xml": {
source: "iana",
compressible: true
},
"application/simple-message-summary": {
source: "iana"
},
"application/simplesymbolcontainer": {
source: "iana"
},
"application/sipc": {
source: "iana"
},
"application/slate": {
source: "iana"
},
"application/smil": {
source: "iana"
},
"application/smil+xml": {
source: "iana",
compressible: true,
extensions: ["smi", "smil"]
},
"application/smpte336m": {
source: "iana"
},
"application/soap+fastinfoset": {
source: "iana"
},
"application/soap+xml": {
source: "iana",
compressible: true
},
"application/sparql-query": {
source: "iana",
extensions: ["rq"]
},
"application/sparql-results+xml": {
source: "iana",
compressible: true,
extensions: ["srx"]
},
"application/spdx+json": {
source: "iana",
compressible: true
},
"application/spirits-event+xml": {
source: "iana",
compressible: true
},
"application/sql": {
source: "iana"
},
"application/srgs": {
source: "iana",
extensions: ["gram"]
},
"application/srgs+xml": {
source: "iana",
compressible: true,
extensions: ["grxml"]
},
"application/sru+xml": {
source: "iana",
compressible: true,
extensions: ["sru"]
},
"application/ssdl+xml": {
source: "apache",
compressible: true,
extensions: ["ssdl"]
},
"application/ssml+xml": {
source: "iana",
compressible: true,
extensions: ["ssml"]
},
"application/stix+json": {
source: "iana",
compressible: true
},
"application/swid+xml": {
source: "iana",
compressible: true,
extensions: ["swidtag"]
},
"application/tamp-apex-update": {
source: "iana"
},
"application/tamp-apex-update-confirm": {
source: "iana"
},
"application/tamp-community-update": {
source: "iana"
},
"application/tamp-community-update-confirm": {
source: "iana"
},
"application/tamp-error": {
source: "iana"
},
"application/tamp-sequence-adjust": {
source: "iana"
},
"application/tamp-sequence-adjust-confirm": {
source: "iana"
},
"application/tamp-status-query": {
source: "iana"
},
"application/tamp-status-response": {
source: "iana"
},
"application/tamp-update": {
source: "iana"
},
"application/tamp-update-confirm": {
source: "iana"
},
"application/tar": {
compressible: true
},
"application/taxii+json": {
source: "iana",
compressible: true
},
"application/td+json": {
source: "iana",
compressible: true
},
"application/tei+xml": {
source: "iana",
compressible: true,
extensions: ["tei", "teicorpus"]
},
"application/tetra_isi": {
source: "iana"
},
"application/thraud+xml": {
source: "iana",
compressible: true,
extensions: ["tfi"]
},
"application/timestamp-query": {
source: "iana"
},
"application/timestamp-reply": {
source: "iana"
},
"application/timestamped-data": {
source: "iana",
extensions: ["tsd"]
},
"application/tlsrpt+gzip": {
source: "iana"
},
"application/tlsrpt+json": {
source: "iana",
compressible: true
},
"application/tnauthlist": {
source: "iana"
},
"application/token-introspection+jwt": {
source: "iana"
},
"application/toml": {
compressible: true,
extensions: ["toml"]
},
"application/trickle-ice-sdpfrag": {
source: "iana"
},
"application/trig": {
source: "iana",
extensions: ["trig"]
},
"application/ttml+xml": {
source: "iana",
compressible: true,
extensions: ["ttml"]
},
"application/tve-trigger": {
source: "iana"
},
"application/tzif": {
source: "iana"
},
"application/tzif-leap": {
source: "iana"
},
"application/ubjson": {
compressible: false,
extensions: ["ubj"]
},
"application/ulpfec": {
source: "iana"
},
"application/urc-grpsheet+xml": {
source: "iana",
compressible: true
},
"application/urc-ressheet+xml": {
source: "iana",
compressible: true,
extensions: ["rsheet"]
},
"application/urc-targetdesc+xml": {
source: "iana",
compressible: true,
extensions: ["td"]
},
"application/urc-uisocketdesc+xml": {
source: "iana",
compressible: true
},
"application/vcard+json": {
source: "iana",
compressible: true
},
"application/vcard+xml": {
source: "iana",
compressible: true
},
"application/vemmi": {
source: "iana"
},
"application/vividence.scriptfile": {
source: "apache"
},
"application/vnd.1000minds.decision-model+xml": {
source: "iana",
compressible: true,
extensions: ["1km"]
},
"application/vnd.3gpp-prose+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp-prose-pc3ch+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp-v2x-local-service-information": {
source: "iana"
},
"application/vnd.3gpp.5gnas": {
source: "iana"
},
"application/vnd.3gpp.access-transfer-events+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.bsf+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.gmop+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.gtpc": {
source: "iana"
},
"application/vnd.3gpp.interworking-data": {
source: "iana"
},
"application/vnd.3gpp.lpp": {
source: "iana"
},
"application/vnd.3gpp.mc-signalling-ear": {
source: "iana"
},
"application/vnd.3gpp.mcdata-affiliation-command+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcdata-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcdata-payload": {
source: "iana"
},
"application/vnd.3gpp.mcdata-service-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcdata-signalling": {
source: "iana"
},
"application/vnd.3gpp.mcdata-ue-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcdata-user-profile+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-affiliation-command+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-floor-request+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-location-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-service-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-signed+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-ue-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-ue-init-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcptt-user-profile+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-affiliation-command+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-affiliation-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-location-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-service-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-transmission-request+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-ue-config+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mcvideo-user-profile+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.mid-call+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.ngap": {
source: "iana"
},
"application/vnd.3gpp.pfcp": {
source: "iana"
},
"application/vnd.3gpp.pic-bw-large": {
source: "iana",
extensions: ["plb"]
},
"application/vnd.3gpp.pic-bw-small": {
source: "iana",
extensions: ["psb"]
},
"application/vnd.3gpp.pic-bw-var": {
source: "iana",
extensions: ["pvb"]
},
"application/vnd.3gpp.s1ap": {
source: "iana"
},
"application/vnd.3gpp.sms": {
source: "iana"
},
"application/vnd.3gpp.sms+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.srvcc-ext+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.srvcc-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.state-and-event-info+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp.ussd+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp2.bcmcsinfo+xml": {
source: "iana",
compressible: true
},
"application/vnd.3gpp2.sms": {
source: "iana"
},
"application/vnd.3gpp2.tcap": {
source: "iana",
extensions: ["tcap"]
},
"application/vnd.3lightssoftware.imagescal": {
source: "iana"
},
"application/vnd.3m.post-it-notes": {
source: "iana",
extensions: ["pwn"]
},
"application/vnd.accpac.simply.aso": {
source: "iana",
extensions: ["aso"]
},
"application/vnd.accpac.simply.imp": {
source: "iana",
extensions: ["imp"]
},
"application/vnd.acucobol": {
source: "iana",
extensions: ["acu"]
},
"application/vnd.acucorp": {
source: "iana",
extensions: ["atc", "acutc"]
},
"application/vnd.adobe.air-application-installer-package+zip": {
source: "apache",
compressible: false,
extensions: ["air"]
},
"application/vnd.adobe.flash.movie": {
source: "iana"
},
"application/vnd.adobe.formscentral.fcdt": {
source: "iana",
extensions: ["fcdt"]
},
"application/vnd.adobe.fxp": {
source: "iana",
extensions: ["fxp", "fxpl"]
},
"application/vnd.adobe.partial-upload": {
source: "iana"
},
"application/vnd.adobe.xdp+xml": {
source: "iana",
compressible: true,
extensions: ["xdp"]
},
"application/vnd.adobe.xfdf": {
source: "iana",
extensions: ["xfdf"]
},
"application/vnd.aether.imp": {
source: "iana"
},
"application/vnd.afpc.afplinedata": {
source: "iana"
},
"application/vnd.afpc.afplinedata-pagedef": {
source: "iana"
},
"application/vnd.afpc.cmoca-cmresource": {
source: "iana"
},
"application/vnd.afpc.foca-charset": {
source: "iana"
},
"application/vnd.afpc.foca-codedfont": {
source: "iana"
},
"application/vnd.afpc.foca-codepage": {
source: "iana"
},
"application/vnd.afpc.modca": {
source: "iana"
},
"application/vnd.afpc.modca-cmtable": {
source: "iana"
},
"application/vnd.afpc.modca-formdef": {
source: "iana"
},
"application/vnd.afpc.modca-mediummap": {
source: "iana"
},
"application/vnd.afpc.modca-objectcontainer": {
source: "iana"
},
"application/vnd.afpc.modca-overlay": {
source: "iana"
},
"application/vnd.afpc.modca-pagesegment": {
source: "iana"
},
"application/vnd.age": {
source: "iana",
extensions: ["age"]
},
"application/vnd.ah-barcode": {
source: "iana"
},
"application/vnd.ahead.space": {
source: "iana",
extensions: ["ahead"]
},
"application/vnd.airzip.filesecure.azf": {
source: "iana",
extensions: ["azf"]
},
"application/vnd.airzip.filesecure.azs": {
source: "iana",
extensions: ["azs"]
},
"application/vnd.amadeus+json": {
source: "iana",
compressible: true
},
"application/vnd.amazon.ebook": {
source: "apache",
extensions: ["azw"]
},
"application/vnd.amazon.mobi8-ebook": {
source: "iana"
},
"application/vnd.americandynamics.acc": {
source: "iana",
extensions: ["acc"]
},
"application/vnd.amiga.ami": {
source: "iana",
extensions: ["ami"]
},
"application/vnd.amundsen.maze+xml": {
source: "iana",
compressible: true
},
"application/vnd.android.ota": {
source: "iana"
},
"application/vnd.android.package-archive": {
source: "apache",
compressible: false,
extensions: ["apk"]
},
"application/vnd.anki": {
source: "iana"
},
"application/vnd.anser-web-certificate-issue-initiation": {
source: "iana",
extensions: ["cii"]
},
"application/vnd.anser-web-funds-transfer-initiation": {
source: "apache",
extensions: ["fti"]
},
"application/vnd.antix.game-component": {
source: "iana",
extensions: ["atx"]
},
"application/vnd.apache.arrow.file": {
source: "iana"
},
"application/vnd.apache.arrow.stream": {
source: "iana"
},
"application/vnd.apache.thrift.binary": {
source: "iana"
},
"application/vnd.apache.thrift.compact": {
source: "iana"
},
"application/vnd.apache.thrift.json": {
source: "iana"
},
"application/vnd.api+json": {
source: "iana",
compressible: true
},
"application/vnd.aplextor.warrp+json": {
source: "iana",
compressible: true
},
"application/vnd.apothekende.reservation+json": {
source: "iana",
compressible: true
},
"application/vnd.apple.installer+xml": {
source: "iana",
compressible: true,
extensions: ["mpkg"]
},
"application/vnd.apple.keynote": {
source: "iana",
extensions: ["key"]
},
"application/vnd.apple.mpegurl": {
source: "iana",
extensions: ["m3u8"]
},
"application/vnd.apple.numbers": {
source: "iana",
extensions: ["numbers"]
},
"application/vnd.apple.pages": {
source: "iana",
extensions: ["pages"]
},
"application/vnd.apple.pkpass": {
compressible: false,
extensions: ["pkpass"]
},
"application/vnd.arastra.swi": {
source: "iana"
},
"application/vnd.aristanetworks.swi": {
source: "iana",
extensions: ["swi"]
},
"application/vnd.artisan+json": {
source: "iana",
compressible: true
},
"application/vnd.artsquare": {
source: "iana"
},
"application/vnd.astraea-software.iota": {
source: "iana",
extensions: ["iota"]
},
"application/vnd.audiograph": {
source: "iana",
extensions: ["aep"]
},
"application/vnd.autopackage": {
source: "iana"
},
"application/vnd.avalon+json": {
source: "iana",
compressible: true
},
"application/vnd.avistar+xml": {
source: "iana",
compressible: true
},
"application/vnd.balsamiq.bmml+xml": {
source: "iana",
compressible: true,
extensions: ["bmml"]
},
"application/vnd.balsamiq.bmpr": {
source: "iana"
},
"application/vnd.banana-accounting": {
source: "iana"
},
"application/vnd.bbf.usp.error": {
source: "iana"
},
"application/vnd.bbf.usp.msg": {
source: "iana"
},
"application/vnd.bbf.usp.msg+json": {
source: "iana",
compressible: true
},
"application/vnd.bekitzur-stech+json": {
source: "iana",
compressible: true
},
"application/vnd.bint.med-content": {
source: "iana"
},
"application/vnd.biopax.rdf+xml": {
source: "iana",
compressible: true
},
"application/vnd.blink-idb-value-wrapper": {
source: "iana"
},
"application/vnd.blueice.multipass": {
source: "iana",
extensions: ["mpm"]
},
"application/vnd.bluetooth.ep.oob": {
source: "iana"
},
"application/vnd.bluetooth.le.oob": {
source: "iana"
},
"application/vnd.bmi": {
source: "iana",
extensions: ["bmi"]
},
"application/vnd.bpf": {
source: "iana"
},
"application/vnd.bpf3": {
source: "iana"
},
"application/vnd.businessobjects": {
source: "iana",
extensions: ["rep"]
},
"application/vnd.byu.uapi+json": {
source: "iana",
compressible: true
},
"application/vnd.cab-jscript": {
source: "iana"
},
"application/vnd.canon-cpdl": {
source: "iana"
},
"application/vnd.canon-lips": {
source: "iana"
},
"application/vnd.capasystems-pg+json": {
source: "iana",
compressible: true
},
"application/vnd.cendio.thinlinc.clientconf": {
source: "iana"
},
"application/vnd.century-systems.tcp_stream": {
source: "iana"
},
"application/vnd.chemdraw+xml": {
source: "iana",
compressible: true,
extensions: ["cdxml"]
},
"application/vnd.chess-pgn": {
source: "iana"
},
"application/vnd.chipnuts.karaoke-mmd": {
source: "iana",
extensions: ["mmd"]
},
"application/vnd.ciedi": {
source: "iana"
},
"application/vnd.cinderella": {
source: "iana",
extensions: ["cdy"]
},
"application/vnd.cirpack.isdn-ext": {
source: "iana"
},
"application/vnd.citationstyles.style+xml": {
source: "iana",
compressible: true,
extensions: ["csl"]
},
"application/vnd.claymore": {
source: "iana",
extensions: ["cla"]
},
"application/vnd.cloanto.rp9": {
source: "iana",
extensions: ["rp9"]
},
"application/vnd.clonk.c4group": {
source: "iana",
extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"]
},
"application/vnd.cluetrust.cartomobile-config": {
source: "iana",
extensions: ["c11amc"]
},
"application/vnd.cluetrust.cartomobile-config-pkg": {
source: "iana",
extensions: ["c11amz"]
},
"application/vnd.coffeescript": {
source: "iana"
},
"application/vnd.collabio.xodocuments.document": {
source: "iana"
},
"application/vnd.collabio.xodocuments.document-template": {
source: "iana"
},
"application/vnd.collabio.xodocuments.presentation": {
source: "iana"
},
"application/vnd.collabio.xodocuments.presentation-template": {
source: "iana"
},
"application/vnd.collabio.xodocuments.spreadsheet": {
source: "iana"
},
"application/vnd.collabio.xodocuments.spreadsheet-template": {
source: "iana"
},
"application/vnd.collection+json": {
source: "iana",
compressible: true
},
"application/vnd.collection.doc+json": {
source: "iana",
compressible: true
},
"application/vnd.collection.next+json": {
source: "iana",
compressible: true
},
"application/vnd.comicbook+zip": {
source: "iana",
compressible: false
},
"application/vnd.comicbook-rar": {
source: "iana"
},
"application/vnd.commerce-battelle": {
source: "iana"
},
"application/vnd.commonspace": {
source: "iana",
extensions: ["csp"]
},
"application/vnd.contact.cmsg": {
source: "iana",
extensions: ["cdbcmsg"]
},
"application/vnd.coreos.ignition+json": {
source: "iana",
compressible: true
},
"application/vnd.cosmocaller": {
source: "iana",
extensions: ["cmc"]
},
"application/vnd.crick.clicker": {
source: "iana",
extensions: ["clkx"]
},
"application/vnd.crick.clicker.keyboard": {
source: "iana",
extensions: ["clkk"]
},
"application/vnd.crick.clicker.palette": {
source: "iana",
extensions: ["clkp"]
},
"application/vnd.crick.clicker.template": {
source: "iana",
extensions: ["clkt"]
},
"application/vnd.crick.clicker.wordbank": {
source: "iana",
extensions: ["clkw"]
},
"application/vnd.criticaltools.wbs+xml": {
source: "iana",
compressible: true,
extensions: ["wbs"]
},
"application/vnd.cryptii.pipe+json": {
source: "iana",
compressible: true
},
"application/vnd.crypto-shade-file": {
source: "iana"
},
"application/vnd.cryptomator.encrypted": {
source: "iana"
},
"application/vnd.cryptomator.vault": {
source: "iana"
},
"application/vnd.ctc-posml": {
source: "iana",
extensions: ["pml"]
},
"application/vnd.ctct.ws+xml": {
source: "iana",
compressible: true
},
"application/vnd.cups-pdf": {
source: "iana"
},
"application/vnd.cups-postscript": {
source: "iana"
},
"application/vnd.cups-ppd": {
source: "iana",
extensions: ["ppd"]
},
"application/vnd.cups-raster": {
source: "iana"
},
"application/vnd.cups-raw": {
source: "iana"
},
"application/vnd.curl": {
source: "iana"
},
"application/vnd.curl.car": {
source: "apache",
extensions: ["car"]
},
"application/vnd.curl.pcurl": {
source: "apache",
extensions: ["pcurl"]
},
"application/vnd.cyan.dean.root+xml": {
source: "iana",
compressible: true
},
"application/vnd.cybank": {
source: "iana"
},
"application/vnd.cyclonedx+json": {
source: "iana",
compressible: true
},
"application/vnd.cyclonedx+xml": {
source: "iana",
compressible: true
},
"application/vnd.d2l.coursepackage1p0+zip": {
source: "iana",
compressible: false
},
"application/vnd.d3m-dataset": {
source: "iana"
},
"application/vnd.d3m-problem": {
source: "iana"
},
"application/vnd.dart": {
source: "iana",
compressible: true,
extensions: ["dart"]
},
"application/vnd.data-vision.rdz": {
source: "iana",
extensions: ["rdz"]
},
"application/vnd.datapackage+json": {
source: "iana",
compressible: true
},
"application/vnd.dataresource+json": {
source: "iana",
compressible: true
},
"application/vnd.dbf": {
source: "iana",
extensions: ["dbf"]
},
"application/vnd.debian.binary-package": {
source: "iana"
},
"application/vnd.dece.data": {
source: "iana",
extensions: ["uvf", "uvvf", "uvd", "uvvd"]
},
"application/vnd.dece.ttml+xml": {
source: "iana",
compressible: true,
extensions: ["uvt", "uvvt"]
},
"application/vnd.dece.unspecified": {
source: "iana",
extensions: ["uvx", "uvvx"]
},
"application/vnd.dece.zip": {
source: "iana",
extensions: ["uvz", "uvvz"]
},
"application/vnd.denovo.fcselayout-link": {
source: "iana",
extensions: ["fe_launch"]
},
"application/vnd.desmume.movie": {
source: "iana"
},
"application/vnd.dir-bi.plate-dl-nosuffix": {
source: "iana"
},
"application/vnd.dm.delegation+xml": {
source: "iana",
compressible: true
},
"application/vnd.dna": {
source: "iana",
extensions: ["dna"]
},
"application/vnd.document+json": {
source: "iana",
compressible: true
},
"application/vnd.dolby.mlp": {
source: "apache",
extensions: ["mlp"]
},
"application/vnd.dolby.mobile.1": {
source: "iana"
},
"application/vnd.dolby.mobile.2": {
source: "iana"
},
"application/vnd.doremir.scorecloud-binary-document": {
source: "iana"
},
"application/vnd.dpgraph": {
source: "iana",
extensions: ["dpg"]
},
"application/vnd.dreamfactory": {
source: "iana",
extensions: ["dfac"]
},
"application/vnd.drive+json": {
source: "iana",
compressible: true
},
"application/vnd.ds-keypoint": {
source: "apache",
extensions: ["kpxx"]
},
"application/vnd.dtg.local": {
source: "iana"
},
"application/vnd.dtg.local.flash": {
source: "iana"
},
"application/vnd.dtg.local.html": {
source: "iana"
},
"application/vnd.dvb.ait": {
source: "iana",
extensions: ["ait"]
},
"application/vnd.dvb.dvbisl+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.dvbj": {
source: "iana"
},
"application/vnd.dvb.esgcontainer": {
source: "iana"
},
"application/vnd.dvb.ipdcdftnotifaccess": {
source: "iana"
},
"application/vnd.dvb.ipdcesgaccess": {
source: "iana"
},
"application/vnd.dvb.ipdcesgaccess2": {
source: "iana"
},
"application/vnd.dvb.ipdcesgpdd": {
source: "iana"
},
"application/vnd.dvb.ipdcroaming": {
source: "iana"
},
"application/vnd.dvb.iptv.alfec-base": {
source: "iana"
},
"application/vnd.dvb.iptv.alfec-enhancement": {
source: "iana"
},
"application/vnd.dvb.notif-aggregate-root+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-container+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-generic+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-ia-msglist+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-ia-registration-request+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-ia-registration-response+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.notif-init+xml": {
source: "iana",
compressible: true
},
"application/vnd.dvb.pfr": {
source: "iana"
},
"application/vnd.dvb.service": {
source: "iana",
extensions: ["svc"]
},
"application/vnd.dxr": {
source: "iana"
},
"application/vnd.dynageo": {
source: "iana",
extensions: ["geo"]
},
"application/vnd.dzr": {
source: "iana"
},
"application/vnd.easykaraoke.cdgdownload": {
source: "iana"
},
"application/vnd.ecdis-update": {
source: "iana"
},
"application/vnd.ecip.rlp": {
source: "iana"
},
"application/vnd.eclipse.ditto+json": {
source: "iana",
compressible: true
},
"application/vnd.ecowin.chart": {
source: "iana",
extensions: ["mag"]
},
"application/vnd.ecowin.filerequest": {
source: "iana"
},
"application/vnd.ecowin.fileupdate": {
source: "iana"
},
"application/vnd.ecowin.series": {
source: "iana"
},
"application/vnd.ecowin.seriesrequest": {
source: "iana"
},
"application/vnd.ecowin.seriesupdate": {
source: "iana"
},
"application/vnd.efi.img": {
source: "iana"
},
"application/vnd.efi.iso": {
source: "iana"
},
"application/vnd.emclient.accessrequest+xml": {
source: "iana",
compressible: true
},
"application/vnd.enliven": {
source: "iana",
extensions: ["nml"]
},
"application/vnd.enphase.envoy": {
source: "iana"
},
"application/vnd.eprints.data+xml": {
source: "iana",
compressible: true
},
"application/vnd.epson.esf": {
source: "iana",
extensions: ["esf"]
},
"application/vnd.epson.msf": {
source: "iana",
extensions: ["msf"]
},
"application/vnd.epson.quickanime": {
source: "iana",
extensions: ["qam"]
},
"application/vnd.epson.salt": {
source: "iana",
extensions: ["slt"]
},
"application/vnd.epson.ssf": {
source: "iana",
extensions: ["ssf"]
},
"application/vnd.ericsson.quickcall": {
source: "iana"
},
"application/vnd.espass-espass+zip": {
source: "iana",
compressible: false
},
"application/vnd.eszigno3+xml": {
source: "iana",
compressible: true,
extensions: ["es3", "et3"]
},
"application/vnd.etsi.aoc+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.asic-e+zip": {
source: "iana",
compressible: false
},
"application/vnd.etsi.asic-s+zip": {
source: "iana",
compressible: false
},
"application/vnd.etsi.cug+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvcommand+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvdiscovery+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvprofile+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvsad-bc+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvsad-cod+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvsad-npvr+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvservice+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvsync+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.iptvueprofile+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.mcid+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.mheg5": {
source: "iana"
},
"application/vnd.etsi.overload-control-policy-dataset+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.pstn+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.sci+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.simservs+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.timestamp-token": {
source: "iana"
},
"application/vnd.etsi.tsl+xml": {
source: "iana",
compressible: true
},
"application/vnd.etsi.tsl.der": {
source: "iana"
},
"application/vnd.eu.kasparian.car+json": {
source: "iana",
compressible: true
},
"application/vnd.eudora.data": {
source: "iana"
},
"application/vnd.evolv.ecig.profile": {
source: "iana"
},
"application/vnd.evolv.ecig.settings": {
source: "iana"
},
"application/vnd.evolv.ecig.theme": {
source: "iana"
},
"application/vnd.exstream-empower+zip": {
source: "iana",
compressible: false
},
"application/vnd.exstream-package": {
source: "iana"
},
"application/vnd.ezpix-album": {
source: "iana",
extensions: ["ez2"]
},
"application/vnd.ezpix-package": {
source: "iana",
extensions: ["ez3"]
},
"application/vnd.f-secure.mobile": {
source: "iana"
},
"application/vnd.familysearch.gedcom+zip": {
source: "iana",
compressible: false
},
"application/vnd.fastcopy-disk-image": {
source: "iana"
},
"application/vnd.fdf": {
source: "iana",
extensions: ["fdf"]
},
"application/vnd.fdsn.mseed": {
source: "iana",
extensions: ["mseed"]
},
"application/vnd.fdsn.seed": {
source: "iana",
extensions: ["seed", "dataless"]
},
"application/vnd.ffsns": {
source: "iana"
},
"application/vnd.ficlab.flb+zip": {
source: "iana",
compressible: false
},
"application/vnd.filmit.zfc": {
source: "iana"
},
"application/vnd.fints": {
source: "iana"
},
"application/vnd.firemonkeys.cloudcell": {
source: "iana"
},
"application/vnd.flographit": {
source: "iana",
extensions: ["gph"]
},
"application/vnd.fluxtime.clip": {
source: "iana",
extensions: ["ftc"]
},
"application/vnd.font-fontforge-sfd": {
source: "iana"
},
"application/vnd.framemaker": {
source: "iana",
extensions: ["fm", "frame", "maker", "book"]
},
"application/vnd.frogans.fnc": {
source: "iana",
extensions: ["fnc"]
},
"application/vnd.frogans.ltf": {
source: "iana",
extensions: ["ltf"]
},
"application/vnd.fsc.weblaunch": {
source: "iana",
extensions: ["fsc"]
},
"application/vnd.fujifilm.fb.docuworks": {
source: "iana"
},
"application/vnd.fujifilm.fb.docuworks.binder": {
source: "iana"
},
"application/vnd.fujifilm.fb.docuworks.container": {
source: "iana"
},
"application/vnd.fujifilm.fb.jfi+xml": {
source: "iana",
compressible: true
},
"application/vnd.fujitsu.oasys": {
source: "iana",
extensions: ["oas"]
},
"application/vnd.fujitsu.oasys2": {
source: "iana",
extensions: ["oa2"]
},
"application/vnd.fujitsu.oasys3": {
source: "iana",
extensions: ["oa3"]
},
"application/vnd.fujitsu.oasysgp": {
source: "iana",
extensions: ["fg5"]
},
"application/vnd.fujitsu.oasysprs": {
source: "iana",
extensions: ["bh2"]
},
"application/vnd.fujixerox.art-ex": {
source: "iana"
},
"application/vnd.fujixerox.art4": {
source: "iana"
},
"application/vnd.fujixerox.ddd": {
source: "iana",
extensions: ["ddd"]
},
"application/vnd.fujixerox.docuworks": {
source: "iana",
extensions: ["xdw"]
},
"application/vnd.fujixerox.docuworks.binder": {
source: "iana",
extensions: ["xbd"]
},
"application/vnd.fujixerox.docuworks.container": {
source: "iana"
},
"application/vnd.fujixerox.hbpl": {
source: "iana"
},
"application/vnd.fut-misnet": {
source: "iana"
},
"application/vnd.futoin+cbor": {
source: "iana"
},
"application/vnd.futoin+json": {
source: "iana",
compressible: true
},
"application/vnd.fuzzysheet": {
source: "iana",
extensions: ["fzs"]
},
"application/vnd.genomatix.tuxedo": {
source: "iana",
extensions: ["txd"]
},
"application/vnd.gentics.grd+json": {
source: "iana",
compressible: true
},
"application/vnd.geo+json": {
source: "iana",
compressible: true
},
"application/vnd.geocube+xml": {
source: "iana",
compressible: true
},
"application/vnd.geogebra.file": {
source: "iana",
extensions: ["ggb"]
},
"application/vnd.geogebra.slides": {
source: "iana"
},
"application/vnd.geogebra.tool": {
source: "iana",
extensions: ["ggt"]
},
"application/vnd.geometry-explorer": {
source: "iana",
extensions: ["gex", "gre"]
},
"application/vnd.geonext": {
source: "iana",
extensions: ["gxt"]
},
"application/vnd.geoplan": {
source: "iana",
extensions: ["g2w"]
},
"application/vnd.geospace": {
source: "iana",
extensions: ["g3w"]
},
"application/vnd.gerber": {
source: "iana"
},
"application/vnd.globalplatform.card-content-mgt": {
source: "iana"
},
"application/vnd.globalplatform.card-content-mgt-response": {
source: "iana"
},
"application/vnd.gmx": {
source: "iana",
extensions: ["gmx"]
},
"application/vnd.google-apps.document": {
compressible: false,
extensions: ["gdoc"]
},
"application/vnd.google-apps.presentation": {
compressible: false,
extensions: ["gslides"]
},
"application/vnd.google-apps.spreadsheet": {
compressible: false,
extensions: ["gsheet"]
},
"application/vnd.google-earth.kml+xml": {
source: "iana",
compressible: true,
extensions: ["kml"]
},
"application/vnd.google-earth.kmz": {
source: "iana",
compressible: false,
extensions: ["kmz"]
},
"application/vnd.gov.sk.e-form+xml": {
source: "iana",
compressible: true
},
"application/vnd.gov.sk.e-form+zip": {
source: "iana",
compressible: false
},
"application/vnd.gov.sk.xmldatacontainer+xml": {
source: "iana",
compressible: true
},
"application/vnd.grafeq": {
source: "iana",
extensions: ["gqf", "gqs"]
},
"application/vnd.gridmp": {
source: "iana"
},
"application/vnd.groove-account": {
source: "iana",
extensions: ["gac"]
},
"application/vnd.groove-help": {
source: "iana",
extensions: ["ghf"]
},
"application/vnd.groove-identity-message": {
source: "iana",
extensions: ["gim"]
},
"application/vnd.groove-injector": {
source: "iana",
extensions: ["grv"]
},
"application/vnd.groove-tool-message": {
source: "iana",
extensions: ["gtm"]
},
"application/vnd.groove-tool-template": {
source: "iana",
extensions: ["tpl"]
},
"application/vnd.groove-vcard": {
source: "iana",
extensions: ["vcg"]
},
"application/vnd.hal+json": {
source: "iana",
compressible: true
},
"application/vnd.hal+xml": {
source: "iana",
compressible: true,
extensions: ["hal"]
},
"application/vnd.handheld-entertainment+xml": {
source: "iana",
compressible: true,
extensions: ["zmm"]
},
"application/vnd.hbci": {
source: "iana",
extensions: ["hbci"]
},
"application/vnd.hc+json": {
source: "iana",
compressible: true
},
"application/vnd.hcl-bireports": {
source: "iana"
},
"application/vnd.hdt": {
source: "iana"
},
"application/vnd.heroku+json": {
source: "iana",
compressible: true
},
"application/vnd.hhe.lesson-player": {
source: "iana",
extensions: ["les"]
},
"application/vnd.hl7cda+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.hl7v2+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.hp-hpgl": {
source: "iana",
extensions: ["hpgl"]
},
"application/vnd.hp-hpid": {
source: "iana",
extensions: ["hpid"]
},
"application/vnd.hp-hps": {
source: "iana",
extensions: ["hps"]
},
"application/vnd.hp-jlyt": {
source: "iana",
extensions: ["jlt"]
},
"application/vnd.hp-pcl": {
source: "iana",
extensions: ["pcl"]
},
"application/vnd.hp-pclxl": {
source: "iana",
extensions: ["pclxl"]
},
"application/vnd.httphone": {
source: "iana"
},
"application/vnd.hydrostatix.sof-data": {
source: "iana",
extensions: ["sfd-hdstx"]
},
"application/vnd.hyper+json": {
source: "iana",
compressible: true
},
"application/vnd.hyper-item+json": {
source: "iana",
compressible: true
},
"application/vnd.hyperdrive+json": {
source: "iana",
compressible: true
},
"application/vnd.hzn-3d-crossword": {
source: "iana"
},
"application/vnd.ibm.afplinedata": {
source: "iana"
},
"application/vnd.ibm.electronic-media": {
source: "iana"
},
"application/vnd.ibm.minipay": {
source: "iana",
extensions: ["mpy"]
},
"application/vnd.ibm.modcap": {
source: "iana",
extensions: ["afp", "listafp", "list3820"]
},
"application/vnd.ibm.rights-management": {
source: "iana",
extensions: ["irm"]
},
"application/vnd.ibm.secure-container": {
source: "iana",
extensions: ["sc"]
},
"application/vnd.iccprofile": {
source: "iana",
extensions: ["icc", "icm"]
},
"application/vnd.ieee.1905": {
source: "iana"
},
"application/vnd.igloader": {
source: "iana",
extensions: ["igl"]
},
"application/vnd.imagemeter.folder+zip": {
source: "iana",
compressible: false
},
"application/vnd.imagemeter.image+zip": {
source: "iana",
compressible: false
},
"application/vnd.immervision-ivp": {
source: "iana",
extensions: ["ivp"]
},
"application/vnd.immervision-ivu": {
source: "iana",
extensions: ["ivu"]
},
"application/vnd.ims.imsccv1p1": {
source: "iana"
},
"application/vnd.ims.imsccv1p2": {
source: "iana"
},
"application/vnd.ims.imsccv1p3": {
source: "iana"
},
"application/vnd.ims.lis.v2.result+json": {
source: "iana",
compressible: true
},
"application/vnd.ims.lti.v2.toolconsumerprofile+json": {
source: "iana",
compressible: true
},
"application/vnd.ims.lti.v2.toolproxy+json": {
source: "iana",
compressible: true
},
"application/vnd.ims.lti.v2.toolproxy.id+json": {
source: "iana",
compressible: true
},
"application/vnd.ims.lti.v2.toolsettings+json": {
source: "iana",
compressible: true
},
"application/vnd.ims.lti.v2.toolsettings.simple+json": {
source: "iana",
compressible: true
},
"application/vnd.informedcontrol.rms+xml": {
source: "iana",
compressible: true
},
"application/vnd.informix-visionary": {
source: "iana"
},
"application/vnd.infotech.project": {
source: "iana"
},
"application/vnd.infotech.project+xml": {
source: "iana",
compressible: true
},
"application/vnd.innopath.wamp.notification": {
source: "iana"
},
"application/vnd.insors.igm": {
source: "iana",
extensions: ["igm"]
},
"application/vnd.intercon.formnet": {
source: "iana",
extensions: ["xpw", "xpx"]
},
"application/vnd.intergeo": {
source: "iana",
extensions: ["i2g"]
},
"application/vnd.intertrust.digibox": {
source: "iana"
},
"application/vnd.intertrust.nncp": {
source: "iana"
},
"application/vnd.intu.qbo": {
source: "iana",
extensions: ["qbo"]
},
"application/vnd.intu.qfx": {
source: "iana",
extensions: ["qfx"]
},
"application/vnd.iptc.g2.catalogitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.conceptitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.knowledgeitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.newsitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.newsmessage+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.packageitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.iptc.g2.planningitem+xml": {
source: "iana",
compressible: true
},
"application/vnd.ipunplugged.rcprofile": {
source: "iana",
extensions: ["rcprofile"]
},
"application/vnd.irepository.package+xml": {
source: "iana",
compressible: true,
extensions: ["irp"]
},
"application/vnd.is-xpr": {
source: "iana",
extensions: ["xpr"]
},
"application/vnd.isac.fcs": {
source: "iana",
extensions: ["fcs"]
},
"application/vnd.iso11783-10+zip": {
source: "iana",
compressible: false
},
"application/vnd.jam": {
source: "iana",
extensions: ["jam"]
},
"application/vnd.japannet-directory-service": {
source: "iana"
},
"application/vnd.japannet-jpnstore-wakeup": {
source: "iana"
},
"application/vnd.japannet-payment-wakeup": {
source: "iana"
},
"application/vnd.japannet-registration": {
source: "iana"
},
"application/vnd.japannet-registration-wakeup": {
source: "iana"
},
"application/vnd.japannet-setstore-wakeup": {
source: "iana"
},
"application/vnd.japannet-verification": {
source: "iana"
},
"application/vnd.japannet-verification-wakeup": {
source: "iana"
},
"application/vnd.jcp.javame.midlet-rms": {
source: "iana",
extensions: ["rms"]
},
"application/vnd.jisp": {
source: "iana",
extensions: ["jisp"]
},
"application/vnd.joost.joda-archive": {
source: "iana",
extensions: ["joda"]
},
"application/vnd.jsk.isdn-ngn": {
source: "iana"
},
"application/vnd.kahootz": {
source: "iana",
extensions: ["ktz", "ktr"]
},
"application/vnd.kde.karbon": {
source: "iana",
extensions: ["karbon"]
},
"application/vnd.kde.kchart": {
source: "iana",
extensions: ["chrt"]
},
"application/vnd.kde.kformula": {
source: "iana",
extensions: ["kfo"]
},
"application/vnd.kde.kivio": {
source: "iana",
extensions: ["flw"]
},
"application/vnd.kde.kontour": {
source: "iana",
extensions: ["kon"]
},
"application/vnd.kde.kpresenter": {
source: "iana",
extensions: ["kpr", "kpt"]
},
"application/vnd.kde.kspread": {
source: "iana",
extensions: ["ksp"]
},
"application/vnd.kde.kword": {
source: "iana",
extensions: ["kwd", "kwt"]
},
"application/vnd.kenameaapp": {
source: "iana",
extensions: ["htke"]
},
"application/vnd.kidspiration": {
source: "iana",
extensions: ["kia"]
},
"application/vnd.kinar": {
source: "iana",
extensions: ["kne", "knp"]
},
"application/vnd.koan": {
source: "iana",
extensions: ["skp", "skd", "skt", "skm"]
},
"application/vnd.kodak-descriptor": {
source: "iana",
extensions: ["sse"]
},
"application/vnd.las": {
source: "iana"
},
"application/vnd.las.las+json": {
source: "iana",
compressible: true
},
"application/vnd.las.las+xml": {
source: "iana",
compressible: true,
extensions: ["lasxml"]
},
"application/vnd.laszip": {
source: "iana"
},
"application/vnd.leap+json": {
source: "iana",
compressible: true
},
"application/vnd.liberty-request+xml": {
source: "iana",
compressible: true
},
"application/vnd.llamagraphics.life-balance.desktop": {
source: "iana",
extensions: ["lbd"]
},
"application/vnd.llamagraphics.life-balance.exchange+xml": {
source: "iana",
compressible: true,
extensions: ["lbe"]
},
"application/vnd.logipipe.circuit+zip": {
source: "iana",
compressible: false
},
"application/vnd.loom": {
source: "iana"
},
"application/vnd.lotus-1-2-3": {
source: "iana",
extensions: ["123"]
},
"application/vnd.lotus-approach": {
source: "iana",
extensions: ["apr"]
},
"application/vnd.lotus-freelance": {
source: "iana",
extensions: ["pre"]
},
"application/vnd.lotus-notes": {
source: "iana",
extensions: ["nsf"]
},
"application/vnd.lotus-organizer": {
source: "iana",
extensions: ["org"]
},
"application/vnd.lotus-screencam": {
source: "iana",
extensions: ["scm"]
},
"application/vnd.lotus-wordpro": {
source: "iana",
extensions: ["lwp"]
},
"application/vnd.macports.portpkg": {
source: "iana",
extensions: ["portpkg"]
},
"application/vnd.mapbox-vector-tile": {
source: "iana",
extensions: ["mvt"]
},
"application/vnd.marlin.drm.actiontoken+xml": {
source: "iana",
compressible: true
},
"application/vnd.marlin.drm.conftoken+xml": {
source: "iana",
compressible: true
},
"application/vnd.marlin.drm.license+xml": {
source: "iana",
compressible: true
},
"application/vnd.marlin.drm.mdcf": {
source: "iana"
},
"application/vnd.mason+json": {
source: "iana",
compressible: true
},
"application/vnd.maxar.archive.3tz+zip": {
source: "iana",
compressible: false
},
"application/vnd.maxmind.maxmind-db": {
source: "iana"
},
"application/vnd.mcd": {
source: "iana",
extensions: ["mcd"]
},
"application/vnd.medcalcdata": {
source: "iana",
extensions: ["mc1"]
},
"application/vnd.mediastation.cdkey": {
source: "iana",
extensions: ["cdkey"]
},
"application/vnd.meridian-slingshot": {
source: "iana"
},
"application/vnd.mfer": {
source: "iana",
extensions: ["mwf"]
},
"application/vnd.mfmp": {
source: "iana",
extensions: ["mfm"]
},
"application/vnd.micro+json": {
source: "iana",
compressible: true
},
"application/vnd.micrografx.flo": {
source: "iana",
extensions: ["flo"]
},
"application/vnd.micrografx.igx": {
source: "iana",
extensions: ["igx"]
},
"application/vnd.microsoft.portable-executable": {
source: "iana"
},
"application/vnd.microsoft.windows.thumbnail-cache": {
source: "iana"
},
"application/vnd.miele+json": {
source: "iana",
compressible: true
},
"application/vnd.mif": {
source: "iana",
extensions: ["mif"]
},
"application/vnd.minisoft-hp3000-save": {
source: "iana"
},
"application/vnd.mitsubishi.misty-guard.trustweb": {
source: "iana"
},
"application/vnd.mobius.daf": {
source: "iana",
extensions: ["daf"]
},
"application/vnd.mobius.dis": {
source: "iana",
extensions: ["dis"]
},
"application/vnd.mobius.mbk": {
source: "iana",
extensions: ["mbk"]
},
"application/vnd.mobius.mqy": {
source: "iana",
extensions: ["mqy"]
},
"application/vnd.mobius.msl": {
source: "iana",
extensions: ["msl"]
},
"application/vnd.mobius.plc": {
source: "iana",
extensions: ["plc"]
},
"application/vnd.mobius.txf": {
source: "iana",
extensions: ["txf"]
},
"application/vnd.mophun.application": {
source: "iana",
extensions: ["mpn"]
},
"application/vnd.mophun.certificate": {
source: "iana",
extensions: ["mpc"]
},
"application/vnd.motorola.flexsuite": {
source: "iana"
},
"application/vnd.motorola.flexsuite.adsi": {
source: "iana"
},
"application/vnd.motorola.flexsuite.fis": {
source: "iana"
},
"application/vnd.motorola.flexsuite.gotap": {
source: "iana"
},
"application/vnd.motorola.flexsuite.kmr": {
source: "iana"
},
"application/vnd.motorola.flexsuite.ttc": {
source: "iana"
},
"application/vnd.motorola.flexsuite.wem": {
source: "iana"
},
"application/vnd.motorola.iprm": {
source: "iana"
},
"application/vnd.mozilla.xul+xml": {
source: "iana",
compressible: true,
extensions: ["xul"]
},
"application/vnd.ms-3mfdocument": {
source: "iana"
},
"application/vnd.ms-artgalry": {
source: "iana",
extensions: ["cil"]
},
"application/vnd.ms-asf": {
source: "iana"
},
"application/vnd.ms-cab-compressed": {
source: "iana",
extensions: ["cab"]
},
"application/vnd.ms-color.iccprofile": {
source: "apache"
},
"application/vnd.ms-excel": {
source: "iana",
compressible: false,
extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"]
},
"application/vnd.ms-excel.addin.macroenabled.12": {
source: "iana",
extensions: ["xlam"]
},
"application/vnd.ms-excel.sheet.binary.macroenabled.12": {
source: "iana",
extensions: ["xlsb"]
},
"application/vnd.ms-excel.sheet.macroenabled.12": {
source: "iana",
extensions: ["xlsm"]
},
"application/vnd.ms-excel.template.macroenabled.12": {
source: "iana",
extensions: ["xltm"]
},
"application/vnd.ms-fontobject": {
source: "iana",
compressible: true,
extensions: ["eot"]
},
"application/vnd.ms-htmlhelp": {
source: "iana",
extensions: ["chm"]
},
"application/vnd.ms-ims": {
source: "iana",
extensions: ["ims"]
},
"application/vnd.ms-lrm": {
source: "iana",
extensions: ["lrm"]
},
"application/vnd.ms-office.activex+xml": {
source: "iana",
compressible: true
},
"application/vnd.ms-officetheme": {
source: "iana",
extensions: ["thmx"]
},
"application/vnd.ms-opentype": {
source: "apache",
compressible: true
},
"application/vnd.ms-outlook": {
compressible: false,
extensions: ["msg"]
},
"application/vnd.ms-package.obfuscated-opentype": {
source: "apache"
},
"application/vnd.ms-pki.seccat": {
source: "apache",
extensions: ["cat"]
},
"application/vnd.ms-pki.stl": {
source: "apache",
extensions: ["stl"]
},
"application/vnd.ms-playready.initiator+xml": {
source: "iana",
compressible: true
},
"application/vnd.ms-powerpoint": {
source: "iana",
compressible: false,
extensions: ["ppt", "pps", "pot"]
},
"application/vnd.ms-powerpoint.addin.macroenabled.12": {
source: "iana",
extensions: ["ppam"]
},
"application/vnd.ms-powerpoint.presentation.macroenabled.12": {
source: "iana",
extensions: ["pptm"]
},
"application/vnd.ms-powerpoint.slide.macroenabled.12": {
source: "iana",
extensions: ["sldm"]
},
"application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
source: "iana",
extensions: ["ppsm"]
},
"application/vnd.ms-powerpoint.template.macroenabled.12": {
source: "iana",
extensions: ["potm"]
},
"application/vnd.ms-printdevicecapabilities+xml": {
source: "iana",
compressible: true
},
"application/vnd.ms-printing.printticket+xml": {
source: "apache",
compressible: true
},
"application/vnd.ms-printschematicket+xml": {
source: "iana",
compressible: true
},
"application/vnd.ms-project": {
source: "iana",
extensions: ["mpp", "mpt"]
},
"application/vnd.ms-tnef": {
source: "iana"
},
"application/vnd.ms-windows.devicepairing": {
source: "iana"
},
"application/vnd.ms-windows.nwprinting.oob": {
source: "iana"
},
"application/vnd.ms-windows.printerpairing": {
source: "iana"
},
"application/vnd.ms-windows.wsd.oob": {
source: "iana"
},
"application/vnd.ms-wmdrm.lic-chlg-req": {
source: "iana"
},
"application/vnd.ms-wmdrm.lic-resp": {
source: "iana"
},
"application/vnd.ms-wmdrm.meter-chlg-req": {
source: "iana"
},
"application/vnd.ms-wmdrm.meter-resp": {
source: "iana"
},
"application/vnd.ms-word.document.macroenabled.12": {
source: "iana",
extensions: ["docm"]
},
"application/vnd.ms-word.template.macroenabled.12": {
source: "iana",
extensions: ["dotm"]
},
"application/vnd.ms-works": {
source: "iana",
extensions: ["wps", "wks", "wcm", "wdb"]
},
"application/vnd.ms-wpl": {
source: "iana",
extensions: ["wpl"]
},
"application/vnd.ms-xpsdocument": {
source: "iana",
compressible: false,
extensions: ["xps"]
},
"application/vnd.msa-disk-image": {
source: "iana"
},
"application/vnd.mseq": {
source: "iana",
extensions: ["mseq"]
},
"application/vnd.msign": {
source: "iana"
},
"application/vnd.multiad.creator": {
source: "iana"
},
"application/vnd.multiad.creator.cif": {
source: "iana"
},
"application/vnd.music-niff": {
source: "iana"
},
"application/vnd.musician": {
source: "iana",
extensions: ["mus"]
},
"application/vnd.muvee.style": {
source: "iana",
extensions: ["msty"]
},
"application/vnd.mynfc": {
source: "iana",
extensions: ["taglet"]
},
"application/vnd.nacamar.ybrid+json": {
source: "iana",
compressible: true
},
"application/vnd.ncd.control": {
source: "iana"
},
"application/vnd.ncd.reference": {
source: "iana"
},
"application/vnd.nearst.inv+json": {
source: "iana",
compressible: true
},
"application/vnd.nebumind.line": {
source: "iana"
},
"application/vnd.nervana": {
source: "iana"
},
"application/vnd.netfpx": {
source: "iana"
},
"application/vnd.neurolanguage.nlu": {
source: "iana",
extensions: ["nlu"]
},
"application/vnd.nimn": {
source: "iana"
},
"application/vnd.nintendo.nitro.rom": {
source: "iana"
},
"application/vnd.nintendo.snes.rom": {
source: "iana"
},
"application/vnd.nitf": {
source: "iana",
extensions: ["ntf", "nitf"]
},
"application/vnd.noblenet-directory": {
source: "iana",
extensions: ["nnd"]
},
"application/vnd.noblenet-sealer": {
source: "iana",
extensions: ["nns"]
},
"application/vnd.noblenet-web": {
source: "iana",
extensions: ["nnw"]
},
"application/vnd.nokia.catalogs": {
source: "iana"
},
"application/vnd.nokia.conml+wbxml": {
source: "iana"
},
"application/vnd.nokia.conml+xml": {
source: "iana",
compressible: true
},
"application/vnd.nokia.iptv.config+xml": {
source: "iana",
compressible: true
},
"application/vnd.nokia.isds-radio-presets": {
source: "iana"
},
"application/vnd.nokia.landmark+wbxml": {
source: "iana"
},
"application/vnd.nokia.landmark+xml": {
source: "iana",
compressible: true
},
"application/vnd.nokia.landmarkcollection+xml": {
source: "iana",
compressible: true
},
"application/vnd.nokia.n-gage.ac+xml": {
source: "iana",
compressible: true,
extensions: ["ac"]
},
"application/vnd.nokia.n-gage.data": {
source: "iana",
extensions: ["ngdat"]
},
"application/vnd.nokia.n-gage.symbian.install": {
source: "iana",
extensions: ["n-gage"]
},
"application/vnd.nokia.ncd": {
source: "iana"
},
"application/vnd.nokia.pcd+wbxml": {
source: "iana"
},
"application/vnd.nokia.pcd+xml": {
source: "iana",
compressible: true
},
"application/vnd.nokia.radio-preset": {
source: "iana",
extensions: ["rpst"]
},
"application/vnd.nokia.radio-presets": {
source: "iana",
extensions: ["rpss"]
},
"application/vnd.novadigm.edm": {
source: "iana",
extensions: ["edm"]
},
"application/vnd.novadigm.edx": {
source: "iana",
extensions: ["edx"]
},
"application/vnd.novadigm.ext": {
source: "iana",
extensions: ["ext"]
},
"application/vnd.ntt-local.content-share": {
source: "iana"
},
"application/vnd.ntt-local.file-transfer": {
source: "iana"
},
"application/vnd.ntt-local.ogw_remote-access": {
source: "iana"
},
"application/vnd.ntt-local.sip-ta_remote": {
source: "iana"
},
"application/vnd.ntt-local.sip-ta_tcp_stream": {
source: "iana"
},
"application/vnd.oasis.opendocument.chart": {
source: "iana",
extensions: ["odc"]
},
"application/vnd.oasis.opendocument.chart-template": {
source: "iana",
extensions: ["otc"]
},
"application/vnd.oasis.opendocument.database": {
source: "iana",
extensions: ["odb"]
},
"application/vnd.oasis.opendocument.formula": {
source: "iana",
extensions: ["odf"]
},
"application/vnd.oasis.opendocument.formula-template": {
source: "iana",
extensions: ["odft"]
},
"application/vnd.oasis.opendocument.graphics": {
source: "iana",
compressible: false,
extensions: ["odg"]
},
"application/vnd.oasis.opendocument.graphics-template": {
source: "iana",
extensions: ["otg"]
},
"application/vnd.oasis.opendocument.image": {
source: "iana",
extensions: ["odi"]
},
"application/vnd.oasis.opendocument.image-template": {
source: "iana",
extensions: ["oti"]
},
"application/vnd.oasis.opendocument.presentation": {
source: "iana",
compressible: false,
extensions: ["odp"]
},
"application/vnd.oasis.opendocument.presentation-template": {
source: "iana",
extensions: ["otp"]
},
"application/vnd.oasis.opendocument.spreadsheet": {
source: "iana",
compressible: false,
extensions: ["ods"]
},
"application/vnd.oasis.opendocument.spreadsheet-template": {
source: "iana",
extensions: ["ots"]
},
"application/vnd.oasis.opendocument.text": {
source: "iana",
compressible: false,
extensions: ["odt"]
},
"application/vnd.oasis.opendocument.text-master": {
source: "iana",
extensions: ["odm"]
},
"application/vnd.oasis.opendocument.text-template": {
source: "iana",
extensions: ["ott"]
},
"application/vnd.oasis.opendocument.text-web": {
source: "iana",
extensions: ["oth"]
},
"application/vnd.obn": {
source: "iana"
},
"application/vnd.ocf+cbor": {
source: "iana"
},
"application/vnd.oci.image.manifest.v1+json": {
source: "iana",
compressible: true
},
"application/vnd.oftn.l10n+json": {
source: "iana",
compressible: true
},
"application/vnd.oipf.contentaccessdownload+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.contentaccessstreaming+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.cspg-hexbinary": {
source: "iana"
},
"application/vnd.oipf.dae.svg+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.dae.xhtml+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.mippvcontrolmessage+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.pae.gem": {
source: "iana"
},
"application/vnd.oipf.spdiscovery+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.spdlist+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.ueprofile+xml": {
source: "iana",
compressible: true
},
"application/vnd.oipf.userprofile+xml": {
source: "iana",
compressible: true
},
"application/vnd.olpc-sugar": {
source: "iana",
extensions: ["xo"]
},
"application/vnd.oma-scws-config": {
source: "iana"
},
"application/vnd.oma-scws-http-request": {
source: "iana"
},
"application/vnd.oma-scws-http-response": {
source: "iana"
},
"application/vnd.oma.bcast.associated-procedure-parameter+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.drm-trigger+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.imd+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.ltkm": {
source: "iana"
},
"application/vnd.oma.bcast.notification+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.provisioningtrigger": {
source: "iana"
},
"application/vnd.oma.bcast.sgboot": {
source: "iana"
},
"application/vnd.oma.bcast.sgdd+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.sgdu": {
source: "iana"
},
"application/vnd.oma.bcast.simple-symbol-container": {
source: "iana"
},
"application/vnd.oma.bcast.smartcard-trigger+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.sprov+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.bcast.stkm": {
source: "iana"
},
"application/vnd.oma.cab-address-book+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.cab-feature-handler+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.cab-pcc+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.cab-subs-invite+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.cab-user-prefs+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.dcd": {
source: "iana"
},
"application/vnd.oma.dcdc": {
source: "iana"
},
"application/vnd.oma.dd2+xml": {
source: "iana",
compressible: true,
extensions: ["dd2"]
},
"application/vnd.oma.drm.risd+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.group-usage-list+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.lwm2m+cbor": {
source: "iana"
},
"application/vnd.oma.lwm2m+json": {
source: "iana",
compressible: true
},
"application/vnd.oma.lwm2m+tlv": {
source: "iana"
},
"application/vnd.oma.pal+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.poc.detailed-progress-report+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.poc.final-report+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.poc.groups+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.poc.invocation-descriptor+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.poc.optimized-progress-report+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.push": {
source: "iana"
},
"application/vnd.oma.scidm.messages+xml": {
source: "iana",
compressible: true
},
"application/vnd.oma.xcap-directory+xml": {
source: "iana",
compressible: true
},
"application/vnd.omads-email+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.omads-file+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.omads-folder+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.omaloc-supl-init": {
source: "iana"
},
"application/vnd.onepager": {
source: "iana"
},
"application/vnd.onepagertamp": {
source: "iana"
},
"application/vnd.onepagertamx": {
source: "iana"
},
"application/vnd.onepagertat": {
source: "iana"
},
"application/vnd.onepagertatp": {
source: "iana"
},
"application/vnd.onepagertatx": {
source: "iana"
},
"application/vnd.openblox.game+xml": {
source: "iana",
compressible: true,
extensions: ["obgx"]
},
"application/vnd.openblox.game-binary": {
source: "iana"
},
"application/vnd.openeye.oeb": {
source: "iana"
},
"application/vnd.openofficeorg.extension": {
source: "apache",
extensions: ["oxt"]
},
"application/vnd.openstreetmap.data+xml": {
source: "iana",
compressible: true,
extensions: ["osm"]
},
"application/vnd.opentimestamps.ots": {
source: "iana"
},
"application/vnd.openxmlformats-officedocument.custom-properties+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawing+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.extended-properties+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
source: "iana",
compressible: false,
extensions: ["pptx"]
},
"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.slide": {
source: "iana",
extensions: ["sldx"]
},
"application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
source: "iana",
extensions: ["ppsx"]
},
"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.template": {
source: "iana",
extensions: ["potx"]
},
"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
source: "iana",
compressible: false,
extensions: ["xlsx"]
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
source: "iana",
extensions: ["xltx"]
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.theme+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.themeoverride+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.vmldrawing": {
source: "iana"
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
source: "iana",
compressible: false,
extensions: ["docx"]
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
source: "iana",
extensions: ["dotx"]
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-package.core-properties+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
source: "iana",
compressible: true
},
"application/vnd.openxmlformats-package.relationships+xml": {
source: "iana",
compressible: true
},
"application/vnd.oracle.resource+json": {
source: "iana",
compressible: true
},
"application/vnd.orange.indata": {
source: "iana"
},
"application/vnd.osa.netdeploy": {
source: "iana"
},
"application/vnd.osgeo.mapguide.package": {
source: "iana",
extensions: ["mgp"]
},
"application/vnd.osgi.bundle": {
source: "iana"
},
"application/vnd.osgi.dp": {
source: "iana",
extensions: ["dp"]
},
"application/vnd.osgi.subsystem": {
source: "iana",
extensions: ["esa"]
},
"application/vnd.otps.ct-kip+xml": {
source: "iana",
compressible: true
},
"application/vnd.oxli.countgraph": {
source: "iana"
},
"application/vnd.pagerduty+json": {
source: "iana",
compressible: true
},
"application/vnd.palm": {
source: "iana",
extensions: ["pdb", "pqa", "oprc"]
},
"application/vnd.panoply": {
source: "iana"
},
"application/vnd.paos.xml": {
source: "iana"
},
"application/vnd.patentdive": {
source: "iana"
},
"application/vnd.patientecommsdoc": {
source: "iana"
},
"application/vnd.pawaafile": {
source: "iana",
extensions: ["paw"]
},
"application/vnd.pcos": {
source: "iana"
},
"application/vnd.pg.format": {
source: "iana",
extensions: ["str"]
},
"application/vnd.pg.osasli": {
source: "iana",
extensions: ["ei6"]
},
"application/vnd.piaccess.application-licence": {
source: "iana"
},
"application/vnd.picsel": {
source: "iana",
extensions: ["efif"]
},
"application/vnd.pmi.widget": {
source: "iana",
extensions: ["wg"]
},
"application/vnd.poc.group-advertisement+xml": {
source: "iana",
compressible: true
},
"application/vnd.pocketlearn": {
source: "iana",
extensions: ["plf"]
},
"application/vnd.powerbuilder6": {
source: "iana",
extensions: ["pbd"]
},
"application/vnd.powerbuilder6-s": {
source: "iana"
},
"application/vnd.powerbuilder7": {
source: "iana"
},
"application/vnd.powerbuilder7-s": {
source: "iana"
},
"application/vnd.powerbuilder75": {
source: "iana"
},
"application/vnd.powerbuilder75-s": {
source: "iana"
},
"application/vnd.preminet": {
source: "iana"
},
"application/vnd.previewsystems.box": {
source: "iana",
extensions: ["box"]
},
"application/vnd.proteus.magazine": {
source: "iana",
extensions: ["mgz"]
},
"application/vnd.psfs": {
source: "iana"
},
"application/vnd.publishare-delta-tree": {
source: "iana",
extensions: ["qps"]
},
"application/vnd.pvi.ptid1": {
source: "iana",
extensions: ["ptid"]
},
"application/vnd.pwg-multiplexed": {
source: "iana"
},
"application/vnd.pwg-xhtml-print+xml": {
source: "iana",
compressible: true
},
"application/vnd.qualcomm.brew-app-res": {
source: "iana"
},
"application/vnd.quarantainenet": {
source: "iana"
},
"application/vnd.quark.quarkxpress": {
source: "iana",
extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"]
},
"application/vnd.quobject-quoxdocument": {
source: "iana"
},
"application/vnd.radisys.moml+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-audit+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-audit-conf+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-audit-conn+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-audit-dialog+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-audit-stream+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-conf+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-base+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-fax-detect+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-group+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-speech+xml": {
source: "iana",
compressible: true
},
"application/vnd.radisys.msml-dialog-transform+xml": {
source: "iana",
compressible: true
},
"application/vnd.rainstor.data": {
source: "iana"
},
"application/vnd.rapid": {
source: "iana"
},
"application/vnd.rar": {
source: "iana",
extensions: ["rar"]
},
"application/vnd.realvnc.bed": {
source: "iana",
extensions: ["bed"]
},
"application/vnd.recordare.musicxml": {
source: "iana",
extensions: ["mxl"]
},
"application/vnd.recordare.musicxml+xml": {
source: "iana",
compressible: true,
extensions: ["musicxml"]
},
"application/vnd.renlearn.rlprint": {
source: "iana"
},
"application/vnd.resilient.logic": {
source: "iana"
},
"application/vnd.restful+json": {
source: "iana",
compressible: true
},
"application/vnd.rig.cryptonote": {
source: "iana",
extensions: ["cryptonote"]
},
"application/vnd.rim.cod": {
source: "apache",
extensions: ["cod"]
},
"application/vnd.rn-realmedia": {
source: "apache",
extensions: ["rm"]
},
"application/vnd.rn-realmedia-vbr": {
source: "apache",
extensions: ["rmvb"]
},
"application/vnd.route66.link66+xml": {
source: "iana",
compressible: true,
extensions: ["link66"]
},
"application/vnd.rs-274x": {
source: "iana"
},
"application/vnd.ruckus.download": {
source: "iana"
},
"application/vnd.s3sms": {
source: "iana"
},
"application/vnd.sailingtracker.track": {
source: "iana",
extensions: ["st"]
},
"application/vnd.sar": {
source: "iana"
},
"application/vnd.sbm.cid": {
source: "iana"
},
"application/vnd.sbm.mid2": {
source: "iana"
},
"application/vnd.scribus": {
source: "iana"
},
"application/vnd.sealed.3df": {
source: "iana"
},
"application/vnd.sealed.csf": {
source: "iana"
},
"application/vnd.sealed.doc": {
source: "iana"
},
"application/vnd.sealed.eml": {
source: "iana"
},
"application/vnd.sealed.mht": {
source: "iana"
},
"application/vnd.sealed.net": {
source: "iana"
},
"application/vnd.sealed.ppt": {
source: "iana"
},
"application/vnd.sealed.tiff": {
source: "iana"
},
"application/vnd.sealed.xls": {
source: "iana"
},
"application/vnd.sealedmedia.softseal.html": {
source: "iana"
},
"application/vnd.sealedmedia.softseal.pdf": {
source: "iana"
},
"application/vnd.seemail": {
source: "iana",
extensions: ["see"]
},
"application/vnd.seis+json": {
source: "iana",
compressible: true
},
"application/vnd.sema": {
source: "iana",
extensions: ["sema"]
},
"application/vnd.semd": {
source: "iana",
extensions: ["semd"]
},
"application/vnd.semf": {
source: "iana",
extensions: ["semf"]
},
"application/vnd.shade-save-file": {
source: "iana"
},
"application/vnd.shana.informed.formdata": {
source: "iana",
extensions: ["ifm"]
},
"application/vnd.shana.informed.formtemplate": {
source: "iana",
extensions: ["itp"]
},
"application/vnd.shana.informed.interchange": {
source: "iana",
extensions: ["iif"]
},
"application/vnd.shana.informed.package": {
source: "iana",
extensions: ["ipk"]
},
"application/vnd.shootproof+json": {
source: "iana",
compressible: true
},
"application/vnd.shopkick+json": {
source: "iana",
compressible: true
},
"application/vnd.shp": {
source: "iana"
},
"application/vnd.shx": {
source: "iana"
},
"application/vnd.sigrok.session": {
source: "iana"
},
"application/vnd.simtech-mindmapper": {
source: "iana",
extensions: ["twd", "twds"]
},
"application/vnd.siren+json": {
source: "iana",
compressible: true
},
"application/vnd.smaf": {
source: "iana",
extensions: ["mmf"]
},
"application/vnd.smart.notebook": {
source: "iana"
},
"application/vnd.smart.teacher": {
source: "iana",
extensions: ["teacher"]
},
"application/vnd.snesdev-page-table": {
source: "iana"
},
"application/vnd.software602.filler.form+xml": {
source: "iana",
compressible: true,
extensions: ["fo"]
},
"application/vnd.software602.filler.form-xml-zip": {
source: "iana"
},
"application/vnd.solent.sdkm+xml": {
source: "iana",
compressible: true,
extensions: ["sdkm", "sdkd"]
},
"application/vnd.spotfire.dxp": {
source: "iana",
extensions: ["dxp"]
},
"application/vnd.spotfire.sfs": {
source: "iana",
extensions: ["sfs"]
},
"application/vnd.sqlite3": {
source: "iana"
},
"application/vnd.sss-cod": {
source: "iana"
},
"application/vnd.sss-dtf": {
source: "iana"
},
"application/vnd.sss-ntf": {
source: "iana"
},
"application/vnd.stardivision.calc": {
source: "apache",
extensions: ["sdc"]
},
"application/vnd.stardivision.draw": {
source: "apache",
extensions: ["sda"]
},
"application/vnd.stardivision.impress": {
source: "apache",
extensions: ["sdd"]
},
"application/vnd.stardivision.math": {
source: "apache",
extensions: ["smf"]
},
"application/vnd.stardivision.writer": {
source: "apache",
extensions: ["sdw", "vor"]
},
"application/vnd.stardivision.writer-global": {
source: "apache",
extensions: ["sgl"]
},
"application/vnd.stepmania.package": {
source: "iana",
extensions: ["smzip"]
},
"application/vnd.stepmania.stepchart": {
source: "iana",
extensions: ["sm"]
},
"application/vnd.street-stream": {
source: "iana"
},
"application/vnd.sun.wadl+xml": {
source: "iana",
compressible: true,
extensions: ["wadl"]
},
"application/vnd.sun.xml.calc": {
source: "apache",
extensions: ["sxc"]
},
"application/vnd.sun.xml.calc.template": {
source: "apache",
extensions: ["stc"]
},
"application/vnd.sun.xml.draw": {
source: "apache",
extensions: ["sxd"]
},
"application/vnd.sun.xml.draw.template": {
source: "apache",
extensions: ["std"]
},
"application/vnd.sun.xml.impress": {
source: "apache",
extensions: ["sxi"]
},
"application/vnd.sun.xml.impress.template": {
source: "apache",
extensions: ["sti"]
},
"application/vnd.sun.xml.math": {
source: "apache",
extensions: ["sxm"]
},
"application/vnd.sun.xml.writer": {
source: "apache",
extensions: ["sxw"]
},
"application/vnd.sun.xml.writer.global": {
source: "apache",
extensions: ["sxg"]
},
"application/vnd.sun.xml.writer.template": {
source: "apache",
extensions: ["stw"]
},
"application/vnd.sus-calendar": {
source: "iana",
extensions: ["sus", "susp"]
},
"application/vnd.svd": {
source: "iana",
extensions: ["svd"]
},
"application/vnd.swiftview-ics": {
source: "iana"
},
"application/vnd.sycle+xml": {
source: "iana",
compressible: true
},
"application/vnd.syft+json": {
source: "iana",
compressible: true
},
"application/vnd.symbian.install": {
source: "apache",
extensions: ["sis", "sisx"]
},
"application/vnd.syncml+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["xsm"]
},
"application/vnd.syncml.dm+wbxml": {
source: "iana",
charset: "UTF-8",
extensions: ["bdm"]
},
"application/vnd.syncml.dm+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["xdm"]
},
"application/vnd.syncml.dm.notification": {
source: "iana"
},
"application/vnd.syncml.dmddf+wbxml": {
source: "iana"
},
"application/vnd.syncml.dmddf+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["ddf"]
},
"application/vnd.syncml.dmtnds+wbxml": {
source: "iana"
},
"application/vnd.syncml.dmtnds+xml": {
source: "iana",
charset: "UTF-8",
compressible: true
},
"application/vnd.syncml.ds.notification": {
source: "iana"
},
"application/vnd.tableschema+json": {
source: "iana",
compressible: true
},
"application/vnd.tao.intent-module-archive": {
source: "iana",
extensions: ["tao"]
},
"application/vnd.tcpdump.pcap": {
source: "iana",
extensions: ["pcap", "cap", "dmp"]
},
"application/vnd.think-cell.ppttc+json": {
source: "iana",
compressible: true
},
"application/vnd.tmd.mediaflex.api+xml": {
source: "iana",
compressible: true
},
"application/vnd.tml": {
source: "iana"
},
"application/vnd.tmobile-livetv": {
source: "iana",
extensions: ["tmo"]
},
"application/vnd.tri.onesource": {
source: "iana"
},
"application/vnd.trid.tpt": {
source: "iana",
extensions: ["tpt"]
},
"application/vnd.triscape.mxs": {
source: "iana",
extensions: ["mxs"]
},
"application/vnd.trueapp": {
source: "iana",
extensions: ["tra"]
},
"application/vnd.truedoc": {
source: "iana"
},
"application/vnd.ubisoft.webplayer": {
source: "iana"
},
"application/vnd.ufdl": {
source: "iana",
extensions: ["ufd", "ufdl"]
},
"application/vnd.uiq.theme": {
source: "iana",
extensions: ["utz"]
},
"application/vnd.umajin": {
source: "iana",
extensions: ["umj"]
},
"application/vnd.unity": {
source: "iana",
extensions: ["unityweb"]
},
"application/vnd.uoml+xml": {
source: "iana",
compressible: true,
extensions: ["uoml"]
},
"application/vnd.uplanet.alert": {
source: "iana"
},
"application/vnd.uplanet.alert-wbxml": {
source: "iana"
},
"application/vnd.uplanet.bearer-choice": {
source: "iana"
},
"application/vnd.uplanet.bearer-choice-wbxml": {
source: "iana"
},
"application/vnd.uplanet.cacheop": {
source: "iana"
},
"application/vnd.uplanet.cacheop-wbxml": {
source: "iana"
},
"application/vnd.uplanet.channel": {
source: "iana"
},
"application/vnd.uplanet.channel-wbxml": {
source: "iana"
},
"application/vnd.uplanet.list": {
source: "iana"
},
"application/vnd.uplanet.list-wbxml": {
source: "iana"
},
"application/vnd.uplanet.listcmd": {
source: "iana"
},
"application/vnd.uplanet.listcmd-wbxml": {
source: "iana"
},
"application/vnd.uplanet.signal": {
source: "iana"
},
"application/vnd.uri-map": {
source: "iana"
},
"application/vnd.valve.source.material": {
source: "iana"
},
"application/vnd.vcx": {
source: "iana",
extensions: ["vcx"]
},
"application/vnd.vd-study": {
source: "iana"
},
"application/vnd.vectorworks": {
source: "iana"
},
"application/vnd.vel+json": {
source: "iana",
compressible: true
},
"application/vnd.verimatrix.vcas": {
source: "iana"
},
"application/vnd.veritone.aion+json": {
source: "iana",
compressible: true
},
"application/vnd.veryant.thin": {
source: "iana"
},
"application/vnd.ves.encrypted": {
source: "iana"
},
"application/vnd.vidsoft.vidconference": {
source: "iana"
},
"application/vnd.visio": {
source: "iana",
extensions: ["vsd", "vst", "vss", "vsw"]
},
"application/vnd.visionary": {
source: "iana",
extensions: ["vis"]
},
"application/vnd.vividence.scriptfile": {
source: "iana"
},
"application/vnd.vsf": {
source: "iana",
extensions: ["vsf"]
},
"application/vnd.wap.sic": {
source: "iana"
},
"application/vnd.wap.slc": {
source: "iana"
},
"application/vnd.wap.wbxml": {
source: "iana",
charset: "UTF-8",
extensions: ["wbxml"]
},
"application/vnd.wap.wmlc": {
source: "iana",
extensions: ["wmlc"]
},
"application/vnd.wap.wmlscriptc": {
source: "iana",
extensions: ["wmlsc"]
},
"application/vnd.webturbo": {
source: "iana",
extensions: ["wtb"]
},
"application/vnd.wfa.dpp": {
source: "iana"
},
"application/vnd.wfa.p2p": {
source: "iana"
},
"application/vnd.wfa.wsc": {
source: "iana"
},
"application/vnd.windows.devicepairing": {
source: "iana"
},
"application/vnd.wmc": {
source: "iana"
},
"application/vnd.wmf.bootstrap": {
source: "iana"
},
"application/vnd.wolfram.mathematica": {
source: "iana"
},
"application/vnd.wolfram.mathematica.package": {
source: "iana"
},
"application/vnd.wolfram.player": {
source: "iana",
extensions: ["nbp"]
},
"application/vnd.wordperfect": {
source: "iana",
extensions: ["wpd"]
},
"application/vnd.wqd": {
source: "iana",
extensions: ["wqd"]
},
"application/vnd.wrq-hp3000-labelled": {
source: "iana"
},
"application/vnd.wt.stf": {
source: "iana",
extensions: ["stf"]
},
"application/vnd.wv.csp+wbxml": {
source: "iana"
},
"application/vnd.wv.csp+xml": {
source: "iana",
compressible: true
},
"application/vnd.wv.ssp+xml": {
source: "iana",
compressible: true
},
"application/vnd.xacml+json": {
source: "iana",
compressible: true
},
"application/vnd.xara": {
source: "iana",
extensions: ["xar"]
},
"application/vnd.xfdl": {
source: "iana",
extensions: ["xfdl"]
},
"application/vnd.xfdl.webform": {
source: "iana"
},
"application/vnd.xmi+xml": {
source: "iana",
compressible: true
},
"application/vnd.xmpie.cpkg": {
source: "iana"
},
"application/vnd.xmpie.dpkg": {
source: "iana"
},
"application/vnd.xmpie.plan": {
source: "iana"
},
"application/vnd.xmpie.ppkg": {
source: "iana"
},
"application/vnd.xmpie.xlim": {
source: "iana"
},
"application/vnd.yamaha.hv-dic": {
source: "iana",
extensions: ["hvd"]
},
"application/vnd.yamaha.hv-script": {
source: "iana",
extensions: ["hvs"]
},
"application/vnd.yamaha.hv-voice": {
source: "iana",
extensions: ["hvp"]
},
"application/vnd.yamaha.openscoreformat": {
source: "iana",
extensions: ["osf"]
},
"application/vnd.yamaha.openscoreformat.osfpvg+xml": {
source: "iana",
compressible: true,
extensions: ["osfpvg"]
},
"application/vnd.yamaha.remote-setup": {
source: "iana"
},
"application/vnd.yamaha.smaf-audio": {
source: "iana",
extensions: ["saf"]
},
"application/vnd.yamaha.smaf-phrase": {
source: "iana",
extensions: ["spf"]
},
"application/vnd.yamaha.through-ngn": {
source: "iana"
},
"application/vnd.yamaha.tunnel-udpencap": {
source: "iana"
},
"application/vnd.yaoweme": {
source: "iana"
},
"application/vnd.yellowriver-custom-menu": {
source: "iana",
extensions: ["cmp"]
},
"application/vnd.youtube.yt": {
source: "iana"
},
"application/vnd.zul": {
source: "iana",
extensions: ["zir", "zirz"]
},
"application/vnd.zzazz.deck+xml": {
source: "iana",
compressible: true,
extensions: ["zaz"]
},
"application/voicexml+xml": {
source: "iana",
compressible: true,
extensions: ["vxml"]
},
"application/voucher-cms+json": {
source: "iana",
compressible: true
},
"application/vq-rtcpxr": {
source: "iana"
},
"application/wasm": {
source: "iana",
compressible: true,
extensions: ["wasm"]
},
"application/watcherinfo+xml": {
source: "iana",
compressible: true,
extensions: ["wif"]
},
"application/webpush-options+json": {
source: "iana",
compressible: true
},
"application/whoispp-query": {
source: "iana"
},
"application/whoispp-response": {
source: "iana"
},
"application/widget": {
source: "iana",
extensions: ["wgt"]
},
"application/winhlp": {
source: "apache",
extensions: ["hlp"]
},
"application/wita": {
source: "iana"
},
"application/wordperfect5.1": {
source: "iana"
},
"application/wsdl+xml": {
source: "iana",
compressible: true,
extensions: ["wsdl"]
},
"application/wspolicy+xml": {
source: "iana",
compressible: true,
extensions: ["wspolicy"]
},
"application/x-7z-compressed": {
source: "apache",
compressible: false,
extensions: ["7z"]
},
"application/x-abiword": {
source: "apache",
extensions: ["abw"]
},
"application/x-ace-compressed": {
source: "apache",
extensions: ["ace"]
},
"application/x-amf": {
source: "apache"
},
"application/x-apple-diskimage": {
source: "apache",
extensions: ["dmg"]
},
"application/x-arj": {
compressible: false,
extensions: ["arj"]
},
"application/x-authorware-bin": {
source: "apache",
extensions: ["aab", "x32", "u32", "vox"]
},
"application/x-authorware-map": {
source: "apache",
extensions: ["aam"]
},
"application/x-authorware-seg": {
source: "apache",
extensions: ["aas"]
},
"application/x-bcpio": {
source: "apache",
extensions: ["bcpio"]
},
"application/x-bdoc": {
compressible: false,
extensions: ["bdoc"]
},
"application/x-bittorrent": {
source: "apache",
extensions: ["torrent"]
},
"application/x-blorb": {
source: "apache",
extensions: ["blb", "blorb"]
},
"application/x-bzip": {
source: "apache",
compressible: false,
extensions: ["bz"]
},
"application/x-bzip2": {
source: "apache",
compressible: false,
extensions: ["bz2", "boz"]
},
"application/x-cbr": {
source: "apache",
extensions: ["cbr", "cba", "cbt", "cbz", "cb7"]
},
"application/x-cdlink": {
source: "apache",
extensions: ["vcd"]
},
"application/x-cfs-compressed": {
source: "apache",
extensions: ["cfs"]
},
"application/x-chat": {
source: "apache",
extensions: ["chat"]
},
"application/x-chess-pgn": {
source: "apache",
extensions: ["pgn"]
},
"application/x-chrome-extension": {
extensions: ["crx"]
},
"application/x-cocoa": {
source: "nginx",
extensions: ["cco"]
},
"application/x-compress": {
source: "apache"
},
"application/x-conference": {
source: "apache",
extensions: ["nsc"]
},
"application/x-cpio": {
source: "apache",
extensions: ["cpio"]
},
"application/x-csh": {
source: "apache",
extensions: ["csh"]
},
"application/x-deb": {
compressible: false
},
"application/x-debian-package": {
source: "apache",
extensions: ["deb", "udeb"]
},
"application/x-dgc-compressed": {
source: "apache",
extensions: ["dgc"]
},
"application/x-director": {
source: "apache",
extensions: ["dir", "dcr", "dxr", "cst", "cct", "cxt", "w3d", "fgd", "swa"]
},
"application/x-doom": {
source: "apache",
extensions: ["wad"]
},
"application/x-dtbncx+xml": {
source: "apache",
compressible: true,
extensions: ["ncx"]
},
"application/x-dtbook+xml": {
source: "apache",
compressible: true,
extensions: ["dtb"]
},
"application/x-dtbresource+xml": {
source: "apache",
compressible: true,
extensions: ["res"]
},
"application/x-dvi": {
source: "apache",
compressible: false,
extensions: ["dvi"]
},
"application/x-envoy": {
source: "apache",
extensions: ["evy"]
},
"application/x-eva": {
source: "apache",
extensions: ["eva"]
},
"application/x-font-bdf": {
source: "apache",
extensions: ["bdf"]
},
"application/x-font-dos": {
source: "apache"
},
"application/x-font-framemaker": {
source: "apache"
},
"application/x-font-ghostscript": {
source: "apache",
extensions: ["gsf"]
},
"application/x-font-libgrx": {
source: "apache"
},
"application/x-font-linux-psf": {
source: "apache",
extensions: ["psf"]
},
"application/x-font-pcf": {
source: "apache",
extensions: ["pcf"]
},
"application/x-font-snf": {
source: "apache",
extensions: ["snf"]
},
"application/x-font-speedo": {
source: "apache"
},
"application/x-font-sunos-news": {
source: "apache"
},
"application/x-font-type1": {
source: "apache",
extensions: ["pfa", "pfb", "pfm", "afm"]
},
"application/x-font-vfont": {
source: "apache"
},
"application/x-freearc": {
source: "apache",
extensions: ["arc"]
},
"application/x-futuresplash": {
source: "apache",
extensions: ["spl"]
},
"application/x-gca-compressed": {
source: "apache",
extensions: ["gca"]
},
"application/x-glulx": {
source: "apache",
extensions: ["ulx"]
},
"application/x-gnumeric": {
source: "apache",
extensions: ["gnumeric"]
},
"application/x-gramps-xml": {
source: "apache",
extensions: ["gramps"]
},
"application/x-gtar": {
source: "apache",
extensions: ["gtar"]
},
"application/x-gzip": {
source: "apache"
},
"application/x-hdf": {
source: "apache",
extensions: ["hdf"]
},
"application/x-httpd-php": {
compressible: true,
extensions: ["php"]
},
"application/x-install-instructions": {
source: "apache",
extensions: ["install"]
},
"application/x-iso9660-image": {
source: "apache",
extensions: ["iso"]
},
"application/x-iwork-keynote-sffkey": {
extensions: ["key"]
},
"application/x-iwork-numbers-sffnumbers": {
extensions: ["numbers"]
},
"application/x-iwork-pages-sffpages": {
extensions: ["pages"]
},
"application/x-java-archive-diff": {
source: "nginx",
extensions: ["jardiff"]
},
"application/x-java-jnlp-file": {
source: "apache",
compressible: false,
extensions: ["jnlp"]
},
"application/x-javascript": {
compressible: true
},
"application/x-keepass2": {
extensions: ["kdbx"]
},
"application/x-latex": {
source: "apache",
compressible: false,
extensions: ["latex"]
},
"application/x-lua-bytecode": {
extensions: ["luac"]
},
"application/x-lzh-compressed": {
source: "apache",
extensions: ["lzh", "lha"]
},
"application/x-makeself": {
source: "nginx",
extensions: ["run"]
},
"application/x-mie": {
source: "apache",
extensions: ["mie"]
},
"application/x-mobipocket-ebook": {
source: "apache",
extensions: ["prc", "mobi"]
},
"application/x-mpegurl": {
compressible: false
},
"application/x-ms-application": {
source: "apache",
extensions: ["application"]
},
"application/x-ms-shortcut": {
source: "apache",
extensions: ["lnk"]
},
"application/x-ms-wmd": {
source: "apache",
extensions: ["wmd"]
},
"application/x-ms-wmz": {
source: "apache",
extensions: ["wmz"]
},
"application/x-ms-xbap": {
source: "apache",
extensions: ["xbap"]
},
"application/x-msaccess": {
source: "apache",
extensions: ["mdb"]
},
"application/x-msbinder": {
source: "apache",
extensions: ["obd"]
},
"application/x-mscardfile": {
source: "apache",
extensions: ["crd"]
},
"application/x-msclip": {
source: "apache",
extensions: ["clp"]
},
"application/x-msdos-program": {
extensions: ["exe"]
},
"application/x-msdownload": {
source: "apache",
extensions: ["exe", "dll", "com", "bat", "msi"]
},
"application/x-msmediaview": {
source: "apache",
extensions: ["mvb", "m13", "m14"]
},
"application/x-msmetafile": {
source: "apache",
extensions: ["wmf", "wmz", "emf", "emz"]
},
"application/x-msmoney": {
source: "apache",
extensions: ["mny"]
},
"application/x-mspublisher": {
source: "apache",
extensions: ["pub"]
},
"application/x-msschedule": {
source: "apache",
extensions: ["scd"]
},
"application/x-msterminal": {
source: "apache",
extensions: ["trm"]
},
"application/x-mswrite": {
source: "apache",
extensions: ["wri"]
},
"application/x-netcdf": {
source: "apache",
extensions: ["nc", "cdf"]
},
"application/x-ns-proxy-autoconfig": {
compressible: true,
extensions: ["pac"]
},
"application/x-nzb": {
source: "apache",
extensions: ["nzb"]
},
"application/x-perl": {
source: "nginx",
extensions: ["pl", "pm"]
},
"application/x-pilot": {
source: "nginx",
extensions: ["prc", "pdb"]
},
"application/x-pkcs12": {
source: "apache",
compressible: false,
extensions: ["p12", "pfx"]
},
"application/x-pkcs7-certificates": {
source: "apache",
extensions: ["p7b", "spc"]
},
"application/x-pkcs7-certreqresp": {
source: "apache",
extensions: ["p7r"]
},
"application/x-pki-message": {
source: "iana"
},
"application/x-rar-compressed": {
source: "apache",
compressible: false,
extensions: ["rar"]
},
"application/x-redhat-package-manager": {
source: "nginx",
extensions: ["rpm"]
},
"application/x-research-info-systems": {
source: "apache",
extensions: ["ris"]
},
"application/x-sea": {
source: "nginx",
extensions: ["sea"]
},
"application/x-sh": {
source: "apache",
compressible: true,
extensions: ["sh"]
},
"application/x-shar": {
source: "apache",
extensions: ["shar"]
},
"application/x-shockwave-flash": {
source: "apache",
compressible: false,
extensions: ["swf"]
},
"application/x-silverlight-app": {
source: "apache",
extensions: ["xap"]
},
"application/x-sql": {
source: "apache",
extensions: ["sql"]
},
"application/x-stuffit": {
source: "apache",
compressible: false,
extensions: ["sit"]
},
"application/x-stuffitx": {
source: "apache",
extensions: ["sitx"]
},
"application/x-subrip": {
source: "apache",
extensions: ["srt"]
},
"application/x-sv4cpio": {
source: "apache",
extensions: ["sv4cpio"]
},
"application/x-sv4crc": {
source: "apache",
extensions: ["sv4crc"]
},
"application/x-t3vm-image": {
source: "apache",
extensions: ["t3"]
},
"application/x-tads": {
source: "apache",
extensions: ["gam"]
},
"application/x-tar": {
source: "apache",
compressible: true,
extensions: ["tar"]
},
"application/x-tcl": {
source: "apache",
extensions: ["tcl", "tk"]
},
"application/x-tex": {
source: "apache",
extensions: ["tex"]
},
"application/x-tex-tfm": {
source: "apache",
extensions: ["tfm"]
},
"application/x-texinfo": {
source: "apache",
extensions: ["texinfo", "texi"]
},
"application/x-tgif": {
source: "apache",
extensions: ["obj"]
},
"application/x-ustar": {
source: "apache",
extensions: ["ustar"]
},
"application/x-virtualbox-hdd": {
compressible: true,
extensions: ["hdd"]
},
"application/x-virtualbox-ova": {
compressible: true,
extensions: ["ova"]
},
"application/x-virtualbox-ovf": {
compressible: true,
extensions: ["ovf"]
},
"application/x-virtualbox-vbox": {
compressible: true,
extensions: ["vbox"]
},
"application/x-virtualbox-vbox-extpack": {
compressible: false,
extensions: ["vbox-extpack"]
},
"application/x-virtualbox-vdi": {
compressible: true,
extensions: ["vdi"]
},
"application/x-virtualbox-vhd": {
compressible: true,
extensions: ["vhd"]
},
"application/x-virtualbox-vmdk": {
compressible: true,
extensions: ["vmdk"]
},
"application/x-wais-source": {
source: "apache",
extensions: ["src"]
},
"application/x-web-app-manifest+json": {
compressible: true,
extensions: ["webapp"]
},
"application/x-www-form-urlencoded": {
source: "iana",
compressible: true
},
"application/x-x509-ca-cert": {
source: "iana",
extensions: ["der", "crt", "pem"]
},
"application/x-x509-ca-ra-cert": {
source: "iana"
},
"application/x-x509-next-ca-cert": {
source: "iana"
},
"application/x-xfig": {
source: "apache",
extensions: ["fig"]
},
"application/x-xliff+xml": {
source: "apache",
compressible: true,
extensions: ["xlf"]
},
"application/x-xpinstall": {
source: "apache",
compressible: false,
extensions: ["xpi"]
},
"application/x-xz": {
source: "apache",
extensions: ["xz"]
},
"application/x-zmachine": {
source: "apache",
extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"]
},
"application/x400-bp": {
source: "iana"
},
"application/xacml+xml": {
source: "iana",
compressible: true
},
"application/xaml+xml": {
source: "apache",
compressible: true,
extensions: ["xaml"]
},
"application/xcap-att+xml": {
source: "iana",
compressible: true,
extensions: ["xav"]
},
"application/xcap-caps+xml": {
source: "iana",
compressible: true,
extensions: ["xca"]
},
"application/xcap-diff+xml": {
source: "iana",
compressible: true,
extensions: ["xdf"]
},
"application/xcap-el+xml": {
source: "iana",
compressible: true,
extensions: ["xel"]
},
"application/xcap-error+xml": {
source: "iana",
compressible: true
},
"application/xcap-ns+xml": {
source: "iana",
compressible: true,
extensions: ["xns"]
},
"application/xcon-conference-info+xml": {
source: "iana",
compressible: true
},
"application/xcon-conference-info-diff+xml": {
source: "iana",
compressible: true
},
"application/xenc+xml": {
source: "iana",
compressible: true,
extensions: ["xenc"]
},
"application/xhtml+xml": {
source: "iana",
compressible: true,
extensions: ["xhtml", "xht"]
},
"application/xhtml-voice+xml": {
source: "apache",
compressible: true
},
"application/xliff+xml": {
source: "iana",
compressible: true,
extensions: ["xlf"]
},
"application/xml": {
source: "iana",
compressible: true,
extensions: ["xml", "xsl", "xsd", "rng"]
},
"application/xml-dtd": {
source: "iana",
compressible: true,
extensions: ["dtd"]
},
"application/xml-external-parsed-entity": {
source: "iana"
},
"application/xml-patch+xml": {
source: "iana",
compressible: true
},
"application/xmpp+xml": {
source: "iana",
compressible: true
},
"application/xop+xml": {
source: "iana",
compressible: true,
extensions: ["xop"]
},
"application/xproc+xml": {
source: "apache",
compressible: true,
extensions: ["xpl"]
},
"application/xslt+xml": {
source: "iana",
compressible: true,
extensions: ["xsl", "xslt"]
},
"application/xspf+xml": {
source: "apache",
compressible: true,
extensions: ["xspf"]
},
"application/xv+xml": {
source: "iana",
compressible: true,
extensions: ["mxml", "xhvml", "xvml", "xvm"]
},
"application/yang": {
source: "iana",
extensions: ["yang"]
},
"application/yang-data+json": {
source: "iana",
compressible: true
},
"application/yang-data+xml": {
source: "iana",
compressible: true
},
"application/yang-patch+json": {
source: "iana",
compressible: true
},
"application/yang-patch+xml": {
source: "iana",
compressible: true
},
"application/yin+xml": {
source: "iana",
compressible: true,
extensions: ["yin"]
},
"application/zip": {
source: "iana",
compressible: false,
extensions: ["zip"]
},
"application/zlib": {
source: "iana"
},
"application/zstd": {
source: "iana"
},
"audio/1d-interleaved-parityfec": {
source: "iana"
},
"audio/32kadpcm": {
source: "iana"
},
"audio/3gpp": {
source: "iana",
compressible: false,
extensions: ["3gpp"]
},
"audio/3gpp2": {
source: "iana"
},
"audio/aac": {
source: "iana"
},
"audio/ac3": {
source: "iana"
},
"audio/adpcm": {
source: "apache",
extensions: ["adp"]
},
"audio/amr": {
source: "iana",
extensions: ["amr"]
},
"audio/amr-wb": {
source: "iana"
},
"audio/amr-wb+": {
source: "iana"
},
"audio/aptx": {
source: "iana"
},
"audio/asc": {
source: "iana"
},
"audio/atrac-advanced-lossless": {
source: "iana"
},
"audio/atrac-x": {
source: "iana"
},
"audio/atrac3": {
source: "iana"
},
"audio/basic": {
source: "iana",
compressible: false,
extensions: ["au", "snd"]
},
"audio/bv16": {
source: "iana"
},
"audio/bv32": {
source: "iana"
},
"audio/clearmode": {
source: "iana"
},
"audio/cn": {
source: "iana"
},
"audio/dat12": {
source: "iana"
},
"audio/dls": {
source: "iana"
},
"audio/dsr-es201108": {
source: "iana"
},
"audio/dsr-es202050": {
source: "iana"
},
"audio/dsr-es202211": {
source: "iana"
},
"audio/dsr-es202212": {
source: "iana"
},
"audio/dv": {
source: "iana"
},
"audio/dvi4": {
source: "iana"
},
"audio/eac3": {
source: "iana"
},
"audio/encaprtp": {
source: "iana"
},
"audio/evrc": {
source: "iana"
},
"audio/evrc-qcp": {
source: "iana"
},
"audio/evrc0": {
source: "iana"
},
"audio/evrc1": {
source: "iana"
},
"audio/evrcb": {
source: "iana"
},
"audio/evrcb0": {
source: "iana"
},
"audio/evrcb1": {
source: "iana"
},
"audio/evrcnw": {
source: "iana"
},
"audio/evrcnw0": {
source: "iana"
},
"audio/evrcnw1": {
source: "iana"
},
"audio/evrcwb": {
source: "iana"
},
"audio/evrcwb0": {
source: "iana"
},
"audio/evrcwb1": {
source: "iana"
},
"audio/evs": {
source: "iana"
},
"audio/flexfec": {
source: "iana"
},
"audio/fwdred": {
source: "iana"
},
"audio/g711-0": {
source: "iana"
},
"audio/g719": {
source: "iana"
},
"audio/g722": {
source: "iana"
},
"audio/g7221": {
source: "iana"
},
"audio/g723": {
source: "iana"
},
"audio/g726-16": {
source: "iana"
},
"audio/g726-24": {
source: "iana"
},
"audio/g726-32": {
source: "iana"
},
"audio/g726-40": {
source: "iana"
},
"audio/g728": {
source: "iana"
},
"audio/g729": {
source: "iana"
},
"audio/g7291": {
source: "iana"
},
"audio/g729d": {
source: "iana"
},
"audio/g729e": {
source: "iana"
},
"audio/gsm": {
source: "iana"
},
"audio/gsm-efr": {
source: "iana"
},
"audio/gsm-hr-08": {
source: "iana"
},
"audio/ilbc": {
source: "iana"
},
"audio/ip-mr_v2.5": {
source: "iana"
},
"audio/isac": {
source: "apache"
},
"audio/l16": {
source: "iana"
},
"audio/l20": {
source: "iana"
},
"audio/l24": {
source: "iana",
compressible: false
},
"audio/l8": {
source: "iana"
},
"audio/lpc": {
source: "iana"
},
"audio/melp": {
source: "iana"
},
"audio/melp1200": {
source: "iana"
},
"audio/melp2400": {
source: "iana"
},
"audio/melp600": {
source: "iana"
},
"audio/mhas": {
source: "iana"
},
"audio/midi": {
source: "apache",
extensions: ["mid", "midi", "kar", "rmi"]
},
"audio/mobile-xmf": {
source: "iana",
extensions: ["mxmf"]
},
"audio/mp3": {
compressible: false,
extensions: ["mp3"]
},
"audio/mp4": {
source: "iana",
compressible: false,
extensions: ["m4a", "mp4a"]
},
"audio/mp4a-latm": {
source: "iana"
},
"audio/mpa": {
source: "iana"
},
"audio/mpa-robust": {
source: "iana"
},
"audio/mpeg": {
source: "iana",
compressible: false,
extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"]
},
"audio/mpeg4-generic": {
source: "iana"
},
"audio/musepack": {
source: "apache"
},
"audio/ogg": {
source: "iana",
compressible: false,
extensions: ["oga", "ogg", "spx", "opus"]
},
"audio/opus": {
source: "iana"
},
"audio/parityfec": {
source: "iana"
},
"audio/pcma": {
source: "iana"
},
"audio/pcma-wb": {
source: "iana"
},
"audio/pcmu": {
source: "iana"
},
"audio/pcmu-wb": {
source: "iana"
},
"audio/prs.sid": {
source: "iana"
},
"audio/qcelp": {
source: "iana"
},
"audio/raptorfec": {
source: "iana"
},
"audio/red": {
source: "iana"
},
"audio/rtp-enc-aescm128": {
source: "iana"
},
"audio/rtp-midi": {
source: "iana"
},
"audio/rtploopback": {
source: "iana"
},
"audio/rtx": {
source: "iana"
},
"audio/s3m": {
source: "apache",
extensions: ["s3m"]
},
"audio/scip": {
source: "iana"
},
"audio/silk": {
source: "apache",
extensions: ["sil"]
},
"audio/smv": {
source: "iana"
},
"audio/smv-qcp": {
source: "iana"
},
"audio/smv0": {
source: "iana"
},
"audio/sofa": {
source: "iana"
},
"audio/sp-midi": {
source: "iana"
},
"audio/speex": {
source: "iana"
},
"audio/t140c": {
source: "iana"
},
"audio/t38": {
source: "iana"
},
"audio/telephone-event": {
source: "iana"
},
"audio/tetra_acelp": {
source: "iana"
},
"audio/tetra_acelp_bb": {
source: "iana"
},
"audio/tone": {
source: "iana"
},
"audio/tsvcis": {
source: "iana"
},
"audio/uemclip": {
source: "iana"
},
"audio/ulpfec": {
source: "iana"
},
"audio/usac": {
source: "iana"
},
"audio/vdvi": {
source: "iana"
},
"audio/vmr-wb": {
source: "iana"
},
"audio/vnd.3gpp.iufp": {
source: "iana"
},
"audio/vnd.4sb": {
source: "iana"
},
"audio/vnd.audiokoz": {
source: "iana"
},
"audio/vnd.celp": {
source: "iana"
},
"audio/vnd.cisco.nse": {
source: "iana"
},
"audio/vnd.cmles.radio-events": {
source: "iana"
},
"audio/vnd.cns.anp1": {
source: "iana"
},
"audio/vnd.cns.inf1": {
source: "iana"
},
"audio/vnd.dece.audio": {
source: "iana",
extensions: ["uva", "uvva"]
},
"audio/vnd.digital-winds": {
source: "iana",
extensions: ["eol"]
},
"audio/vnd.dlna.adts": {
source: "iana"
},
"audio/vnd.dolby.heaac.1": {
source: "iana"
},
"audio/vnd.dolby.heaac.2": {
source: "iana"
},
"audio/vnd.dolby.mlp": {
source: "iana"
},
"audio/vnd.dolby.mps": {
source: "iana"
},
"audio/vnd.dolby.pl2": {
source: "iana"
},
"audio/vnd.dolby.pl2x": {
source: "iana"
},
"audio/vnd.dolby.pl2z": {
source: "iana"
},
"audio/vnd.dolby.pulse.1": {
source: "iana"
},
"audio/vnd.dra": {
source: "iana",
extensions: ["dra"]
},
"audio/vnd.dts": {
source: "iana",
extensions: ["dts"]
},
"audio/vnd.dts.hd": {
source: "iana",
extensions: ["dtshd"]
},
"audio/vnd.dts.uhd": {
source: "iana"
},
"audio/vnd.dvb.file": {
source: "iana"
},
"audio/vnd.everad.plj": {
source: "iana"
},
"audio/vnd.hns.audio": {
source: "iana"
},
"audio/vnd.lucent.voice": {
source: "iana",
extensions: ["lvp"]
},
"audio/vnd.ms-playready.media.pya": {
source: "iana",
extensions: ["pya"]
},
"audio/vnd.nokia.mobile-xmf": {
source: "iana"
},
"audio/vnd.nortel.vbk": {
source: "iana"
},
"audio/vnd.nuera.ecelp4800": {
source: "iana",
extensions: ["ecelp4800"]
},
"audio/vnd.nuera.ecelp7470": {
source: "iana",
extensions: ["ecelp7470"]
},
"audio/vnd.nuera.ecelp9600": {
source: "iana",
extensions: ["ecelp9600"]
},
"audio/vnd.octel.sbc": {
source: "iana"
},
"audio/vnd.presonus.multitrack": {
source: "iana"
},
"audio/vnd.qcelp": {
source: "iana"
},
"audio/vnd.rhetorex.32kadpcm": {
source: "iana"
},
"audio/vnd.rip": {
source: "iana",
extensions: ["rip"]
},
"audio/vnd.rn-realaudio": {
compressible: false
},
"audio/vnd.sealedmedia.softseal.mpeg": {
source: "iana"
},
"audio/vnd.vmx.cvsd": {
source: "iana"
},
"audio/vnd.wave": {
compressible: false
},
"audio/vorbis": {
source: "iana",
compressible: false
},
"audio/vorbis-config": {
source: "iana"
},
"audio/wav": {
compressible: false,
extensions: ["wav"]
},
"audio/wave": {
compressible: false,
extensions: ["wav"]
},
"audio/webm": {
source: "apache",
compressible: false,
extensions: ["weba"]
},
"audio/x-aac": {
source: "apache",
compressible: false,
extensions: ["aac"]
},
"audio/x-aiff": {
source: "apache",
extensions: ["aif", "aiff", "aifc"]
},
"audio/x-caf": {
source: "apache",
compressible: false,
extensions: ["caf"]
},
"audio/x-flac": {
source: "apache",
extensions: ["flac"]
},
"audio/x-m4a": {
source: "nginx",
extensions: ["m4a"]
},
"audio/x-matroska": {
source: "apache",
extensions: ["mka"]
},
"audio/x-mpegurl": {
source: "apache",
extensions: ["m3u"]
},
"audio/x-ms-wax": {
source: "apache",
extensions: ["wax"]
},
"audio/x-ms-wma": {
source: "apache",
extensions: ["wma"]
},
"audio/x-pn-realaudio": {
source: "apache",
extensions: ["ram", "ra"]
},
"audio/x-pn-realaudio-plugin": {
source: "apache",
extensions: ["rmp"]
},
"audio/x-realaudio": {
source: "nginx",
extensions: ["ra"]
},
"audio/x-tta": {
source: "apache"
},
"audio/x-wav": {
source: "apache",
extensions: ["wav"]
},
"audio/xm": {
source: "apache",
extensions: ["xm"]
},
"chemical/x-cdx": {
source: "apache",
extensions: ["cdx"]
},
"chemical/x-cif": {
source: "apache",
extensions: ["cif"]
},
"chemical/x-cmdf": {
source: "apache",
extensions: ["cmdf"]
},
"chemical/x-cml": {
source: "apache",
extensions: ["cml"]
},
"chemical/x-csml": {
source: "apache",
extensions: ["csml"]
},
"chemical/x-pdb": {
source: "apache"
},
"chemical/x-xyz": {
source: "apache",
extensions: ["xyz"]
},
"font/collection": {
source: "iana",
extensions: ["ttc"]
},
"font/otf": {
source: "iana",
compressible: true,
extensions: ["otf"]
},
"font/sfnt": {
source: "iana"
},
"font/ttf": {
source: "iana",
compressible: true,
extensions: ["ttf"]
},
"font/woff": {
source: "iana",
extensions: ["woff"]
},
"font/woff2": {
source: "iana",
extensions: ["woff2"]
},
"image/aces": {
source: "iana",
extensions: ["exr"]
},
"image/apng": {
compressible: false,
extensions: ["apng"]
},
"image/avci": {
source: "iana",
extensions: ["avci"]
},
"image/avcs": {
source: "iana",
extensions: ["avcs"]
},
"image/avif": {
source: "iana",
compressible: false,
extensions: ["avif"]
},
"image/bmp": {
source: "iana",
compressible: true,
extensions: ["bmp"]
},
"image/cgm": {
source: "iana",
extensions: ["cgm"]
},
"image/dicom-rle": {
source: "iana",
extensions: ["drle"]
},
"image/emf": {
source: "iana",
extensions: ["emf"]
},
"image/fits": {
source: "iana",
extensions: ["fits"]
},
"image/g3fax": {
source: "iana",
extensions: ["g3"]
},
"image/gif": {
source: "iana",
compressible: false,
extensions: ["gif"]
},
"image/heic": {
source: "iana",
extensions: ["heic"]
},
"image/heic-sequence": {
source: "iana",
extensions: ["heics"]
},
"image/heif": {
source: "iana",
extensions: ["heif"]
},
"image/heif-sequence": {
source: "iana",
extensions: ["heifs"]
},
"image/hej2k": {
source: "iana",
extensions: ["hej2"]
},
"image/hsj2": {
source: "iana",
extensions: ["hsj2"]
},
"image/ief": {
source: "iana",
extensions: ["ief"]
},
"image/jls": {
source: "iana",
extensions: ["jls"]
},
"image/jp2": {
source: "iana",
compressible: false,
extensions: ["jp2", "jpg2"]
},
"image/jpeg": {
source: "iana",
compressible: false,
extensions: ["jpeg", "jpg", "jpe"]
},
"image/jph": {
source: "iana",
extensions: ["jph"]
},
"image/jphc": {
source: "iana",
extensions: ["jhc"]
},
"image/jpm": {
source: "iana",
compressible: false,
extensions: ["jpm"]
},
"image/jpx": {
source: "iana",
compressible: false,
extensions: ["jpx", "jpf"]
},
"image/jxr": {
source: "iana",
extensions: ["jxr"]
},
"image/jxra": {
source: "iana",
extensions: ["jxra"]
},
"image/jxrs": {
source: "iana",
extensions: ["jxrs"]
},
"image/jxs": {
source: "iana",
extensions: ["jxs"]
},
"image/jxsc": {
source: "iana",
extensions: ["jxsc"]
},
"image/jxsi": {
source: "iana",
extensions: ["jxsi"]
},
"image/jxss": {
source: "iana",
extensions: ["jxss"]
},
"image/ktx": {
source: "iana",
extensions: ["ktx"]
},
"image/ktx2": {
source: "iana",
extensions: ["ktx2"]
},
"image/naplps": {
source: "iana"
},
"image/pjpeg": {
compressible: false
},
"image/png": {
source: "iana",
compressible: false,
extensions: ["png"]
},
"image/prs.btif": {
source: "iana",
extensions: ["btif"]
},
"image/prs.pti": {
source: "iana",
extensions: ["pti"]
},
"image/pwg-raster": {
source: "iana"
},
"image/sgi": {
source: "apache",
extensions: ["sgi"]
},
"image/svg+xml": {
source: "iana",
compressible: true,
extensions: ["svg", "svgz"]
},
"image/t38": {
source: "iana",
extensions: ["t38"]
},
"image/tiff": {
source: "iana",
compressible: false,
extensions: ["tif", "tiff"]
},
"image/tiff-fx": {
source: "iana",
extensions: ["tfx"]
},
"image/vnd.adobe.photoshop": {
source: "iana",
compressible: true,
extensions: ["psd"]
},
"image/vnd.airzip.accelerator.azv": {
source: "iana",
extensions: ["azv"]
},
"image/vnd.cns.inf2": {
source: "iana"
},
"image/vnd.dece.graphic": {
source: "iana",
extensions: ["uvi", "uvvi", "uvg", "uvvg"]
},
"image/vnd.djvu": {
source: "iana",
extensions: ["djvu", "djv"]
},
"image/vnd.dvb.subtitle": {
source: "iana",
extensions: ["sub"]
},
"image/vnd.dwg": {
source: "iana",
extensions: ["dwg"]
},
"image/vnd.dxf": {
source: "iana",
extensions: ["dxf"]
},
"image/vnd.fastbidsheet": {
source: "iana",
extensions: ["fbs"]
},
"image/vnd.fpx": {
source: "iana",
extensions: ["fpx"]
},
"image/vnd.fst": {
source: "iana",
extensions: ["fst"]
},
"image/vnd.fujixerox.edmics-mmr": {
source: "iana",
extensions: ["mmr"]
},
"image/vnd.fujixerox.edmics-rlc": {
source: "iana",
extensions: ["rlc"]
},
"image/vnd.globalgraphics.pgb": {
source: "iana"
},
"image/vnd.microsoft.icon": {
source: "iana",
compressible: true,
extensions: ["ico"]
},
"image/vnd.mix": {
source: "iana"
},
"image/vnd.mozilla.apng": {
source: "iana"
},
"image/vnd.ms-dds": {
compressible: true,
extensions: ["dds"]
},
"image/vnd.ms-modi": {
source: "iana",
extensions: ["mdi"]
},
"image/vnd.ms-photo": {
source: "apache",
extensions: ["wdp"]
},
"image/vnd.net-fpx": {
source: "iana",
extensions: ["npx"]
},
"image/vnd.pco.b16": {
source: "iana",
extensions: ["b16"]
},
"image/vnd.radiance": {
source: "iana"
},
"image/vnd.sealed.png": {
source: "iana"
},
"image/vnd.sealedmedia.softseal.gif": {
source: "iana"
},
"image/vnd.sealedmedia.softseal.jpg": {
source: "iana"
},
"image/vnd.svf": {
source: "iana"
},
"image/vnd.tencent.tap": {
source: "iana",
extensions: ["tap"]
},
"image/vnd.valve.source.texture": {
source: "iana",
extensions: ["vtf"]
},
"image/vnd.wap.wbmp": {
source: "iana",
extensions: ["wbmp"]
},
"image/vnd.xiff": {
source: "iana",
extensions: ["xif"]
},
"image/vnd.zbrush.pcx": {
source: "iana",
extensions: ["pcx"]
},
"image/webp": {
source: "apache",
extensions: ["webp"]
},
"image/wmf": {
source: "iana",
extensions: ["wmf"]
},
"image/x-3ds": {
source: "apache",
extensions: ["3ds"]
},
"image/x-cmu-raster": {
source: "apache",
extensions: ["ras"]
},
"image/x-cmx": {
source: "apache",
extensions: ["cmx"]
},
"image/x-freehand": {
source: "apache",
extensions: ["fh", "fhc", "fh4", "fh5", "fh7"]
},
"image/x-icon": {
source: "apache",
compressible: true,
extensions: ["ico"]
},
"image/x-jng": {
source: "nginx",
extensions: ["jng"]
},
"image/x-mrsid-image": {
source: "apache",
extensions: ["sid"]
},
"image/x-ms-bmp": {
source: "nginx",
compressible: true,
extensions: ["bmp"]
},
"image/x-pcx": {
source: "apache",
extensions: ["pcx"]
},
"image/x-pict": {
source: "apache",
extensions: ["pic", "pct"]
},
"image/x-portable-anymap": {
source: "apache",
extensions: ["pnm"]
},
"image/x-portable-bitmap": {
source: "apache",
extensions: ["pbm"]
},
"image/x-portable-graymap": {
source: "apache",
extensions: ["pgm"]
},
"image/x-portable-pixmap": {
source: "apache",
extensions: ["ppm"]
},
"image/x-rgb": {
source: "apache",
extensions: ["rgb"]
},
"image/x-tga": {
source: "apache",
extensions: ["tga"]
},
"image/x-xbitmap": {
source: "apache",
extensions: ["xbm"]
},
"image/x-xcf": {
compressible: false
},
"image/x-xpixmap": {
source: "apache",
extensions: ["xpm"]
},
"image/x-xwindowdump": {
source: "apache",
extensions: ["xwd"]
},
"message/cpim": {
source: "iana"
},
"message/delivery-status": {
source: "iana"
},
"message/disposition-notification": {
source: "iana",
extensions: [
"disposition-notification"
]
},
"message/external-body": {
source: "iana"
},
"message/feedback-report": {
source: "iana"
},
"message/global": {
source: "iana",
extensions: ["u8msg"]
},
"message/global-delivery-status": {
source: "iana",
extensions: ["u8dsn"]
},
"message/global-disposition-notification": {
source: "iana",
extensions: ["u8mdn"]
},
"message/global-headers": {
source: "iana",
extensions: ["u8hdr"]
},
"message/http": {
source: "iana",
compressible: false
},
"message/imdn+xml": {
source: "iana",
compressible: true
},
"message/news": {
source: "iana"
},
"message/partial": {
source: "iana",
compressible: false
},
"message/rfc822": {
source: "iana",
compressible: true,
extensions: ["eml", "mime"]
},
"message/s-http": {
source: "iana"
},
"message/sip": {
source: "iana"
},
"message/sipfrag": {
source: "iana"
},
"message/tracking-status": {
source: "iana"
},
"message/vnd.si.simp": {
source: "iana"
},
"message/vnd.wfa.wsc": {
source: "iana",
extensions: ["wsc"]
},
"model/3mf": {
source: "iana",
extensions: ["3mf"]
},
"model/e57": {
source: "iana"
},
"model/gltf+json": {
source: "iana",
compressible: true,
extensions: ["gltf"]
},
"model/gltf-binary": {
source: "iana",
compressible: true,
extensions: ["glb"]
},
"model/iges": {
source: "iana",
compressible: false,
extensions: ["igs", "iges"]
},
"model/mesh": {
source: "iana",
compressible: false,
extensions: ["msh", "mesh", "silo"]
},
"model/mtl": {
source: "iana",
extensions: ["mtl"]
},
"model/obj": {
source: "iana",
extensions: ["obj"]
},
"model/step": {
source: "iana"
},
"model/step+xml": {
source: "iana",
compressible: true,
extensions: ["stpx"]
},
"model/step+zip": {
source: "iana",
compressible: false,
extensions: ["stpz"]
},
"model/step-xml+zip": {
source: "iana",
compressible: false,
extensions: ["stpxz"]
},
"model/stl": {
source: "iana",
extensions: ["stl"]
},
"model/vnd.collada+xml": {
source: "iana",
compressible: true,
extensions: ["dae"]
},
"model/vnd.dwf": {
source: "iana",
extensions: ["dwf"]
},
"model/vnd.flatland.3dml": {
source: "iana"
},
"model/vnd.gdl": {
source: "iana",
extensions: ["gdl"]
},
"model/vnd.gs-gdl": {
source: "apache"
},
"model/vnd.gs.gdl": {
source: "iana"
},
"model/vnd.gtw": {
source: "iana",
extensions: ["gtw"]
},
"model/vnd.moml+xml": {
source: "iana",
compressible: true
},
"model/vnd.mts": {
source: "iana",
extensions: ["mts"]
},
"model/vnd.opengex": {
source: "iana",
extensions: ["ogex"]
},
"model/vnd.parasolid.transmit.binary": {
source: "iana",
extensions: ["x_b"]
},
"model/vnd.parasolid.transmit.text": {
source: "iana",
extensions: ["x_t"]
},
"model/vnd.pytha.pyox": {
source: "iana"
},
"model/vnd.rosette.annotated-data-model": {
source: "iana"
},
"model/vnd.sap.vds": {
source: "iana",
extensions: ["vds"]
},
"model/vnd.usdz+zip": {
source: "iana",
compressible: false,
extensions: ["usdz"]
},
"model/vnd.valve.source.compiled-map": {
source: "iana",
extensions: ["bsp"]
},
"model/vnd.vtu": {
source: "iana",
extensions: ["vtu"]
},
"model/vrml": {
source: "iana",
compressible: false,
extensions: ["wrl", "vrml"]
},
"model/x3d+binary": {
source: "apache",
compressible: false,
extensions: ["x3db", "x3dbz"]
},
"model/x3d+fastinfoset": {
source: "iana",
extensions: ["x3db"]
},
"model/x3d+vrml": {
source: "apache",
compressible: false,
extensions: ["x3dv", "x3dvz"]
},
"model/x3d+xml": {
source: "iana",
compressible: true,
extensions: ["x3d", "x3dz"]
},
"model/x3d-vrml": {
source: "iana",
extensions: ["x3dv"]
},
"multipart/alternative": {
source: "iana",
compressible: false
},
"multipart/appledouble": {
source: "iana"
},
"multipart/byteranges": {
source: "iana"
},
"multipart/digest": {
source: "iana"
},
"multipart/encrypted": {
source: "iana",
compressible: false
},
"multipart/form-data": {
source: "iana",
compressible: false
},
"multipart/header-set": {
source: "iana"
},
"multipart/mixed": {
source: "iana"
},
"multipart/multilingual": {
source: "iana"
},
"multipart/parallel": {
source: "iana"
},
"multipart/related": {
source: "iana",
compressible: false
},
"multipart/report": {
source: "iana"
},
"multipart/signed": {
source: "iana",
compressible: false
},
"multipart/vnd.bint.med-plus": {
source: "iana"
},
"multipart/voice-message": {
source: "iana"
},
"multipart/x-mixed-replace": {
source: "iana"
},
"text/1d-interleaved-parityfec": {
source: "iana"
},
"text/cache-manifest": {
source: "iana",
compressible: true,
extensions: ["appcache", "manifest"]
},
"text/calendar": {
source: "iana",
extensions: ["ics", "ifb"]
},
"text/calender": {
compressible: true
},
"text/cmd": {
compressible: true
},
"text/coffeescript": {
extensions: ["coffee", "litcoffee"]
},
"text/cql": {
source: "iana"
},
"text/cql-expression": {
source: "iana"
},
"text/cql-identifier": {
source: "iana"
},
"text/css": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["css"]
},
"text/csv": {
source: "iana",
compressible: true,
extensions: ["csv"]
},
"text/csv-schema": {
source: "iana"
},
"text/directory": {
source: "iana"
},
"text/dns": {
source: "iana"
},
"text/ecmascript": {
source: "iana"
},
"text/encaprtp": {
source: "iana"
},
"text/enriched": {
source: "iana"
},
"text/fhirpath": {
source: "iana"
},
"text/flexfec": {
source: "iana"
},
"text/fwdred": {
source: "iana"
},
"text/gff3": {
source: "iana"
},
"text/grammar-ref-list": {
source: "iana"
},
"text/html": {
source: "iana",
compressible: true,
extensions: ["html", "htm", "shtml"]
},
"text/jade": {
extensions: ["jade"]
},
"text/javascript": {
source: "iana",
compressible: true
},
"text/jcr-cnd": {
source: "iana"
},
"text/jsx": {
compressible: true,
extensions: ["jsx"]
},
"text/less": {
compressible: true,
extensions: ["less"]
},
"text/markdown": {
source: "iana",
compressible: true,
extensions: ["markdown", "md"]
},
"text/mathml": {
source: "nginx",
extensions: ["mml"]
},
"text/mdx": {
compressible: true,
extensions: ["mdx"]
},
"text/mizar": {
source: "iana"
},
"text/n3": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["n3"]
},
"text/parameters": {
source: "iana",
charset: "UTF-8"
},
"text/parityfec": {
source: "iana"
},
"text/plain": {
source: "iana",
compressible: true,
extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"]
},
"text/provenance-notation": {
source: "iana",
charset: "UTF-8"
},
"text/prs.fallenstein.rst": {
source: "iana"
},
"text/prs.lines.tag": {
source: "iana",
extensions: ["dsc"]
},
"text/prs.prop.logic": {
source: "iana"
},
"text/raptorfec": {
source: "iana"
},
"text/red": {
source: "iana"
},
"text/rfc822-headers": {
source: "iana"
},
"text/richtext": {
source: "iana",
compressible: true,
extensions: ["rtx"]
},
"text/rtf": {
source: "iana",
compressible: true,
extensions: ["rtf"]
},
"text/rtp-enc-aescm128": {
source: "iana"
},
"text/rtploopback": {
source: "iana"
},
"text/rtx": {
source: "iana"
},
"text/sgml": {
source: "iana",
extensions: ["sgml", "sgm"]
},
"text/shaclc": {
source: "iana"
},
"text/shex": {
source: "iana",
extensions: ["shex"]
},
"text/slim": {
extensions: ["slim", "slm"]
},
"text/spdx": {
source: "iana",
extensions: ["spdx"]
},
"text/strings": {
source: "iana"
},
"text/stylus": {
extensions: ["stylus", "styl"]
},
"text/t140": {
source: "iana"
},
"text/tab-separated-values": {
source: "iana",
compressible: true,
extensions: ["tsv"]
},
"text/troff": {
source: "iana",
extensions: ["t", "tr", "roff", "man", "me", "ms"]
},
"text/turtle": {
source: "iana",
charset: "UTF-8",
extensions: ["ttl"]
},
"text/ulpfec": {
source: "iana"
},
"text/uri-list": {
source: "iana",
compressible: true,
extensions: ["uri", "uris", "urls"]
},
"text/vcard": {
source: "iana",
compressible: true,
extensions: ["vcard"]
},
"text/vnd.a": {
source: "iana"
},
"text/vnd.abc": {
source: "iana"
},
"text/vnd.ascii-art": {
source: "iana"
},
"text/vnd.curl": {
source: "iana",
extensions: ["curl"]
},
"text/vnd.curl.dcurl": {
source: "apache",
extensions: ["dcurl"]
},
"text/vnd.curl.mcurl": {
source: "apache",
extensions: ["mcurl"]
},
"text/vnd.curl.scurl": {
source: "apache",
extensions: ["scurl"]
},
"text/vnd.debian.copyright": {
source: "iana",
charset: "UTF-8"
},
"text/vnd.dmclientscript": {
source: "iana"
},
"text/vnd.dvb.subtitle": {
source: "iana",
extensions: ["sub"]
},
"text/vnd.esmertec.theme-descriptor": {
source: "iana",
charset: "UTF-8"
},
"text/vnd.familysearch.gedcom": {
source: "iana",
extensions: ["ged"]
},
"text/vnd.ficlab.flt": {
source: "iana"
},
"text/vnd.fly": {
source: "iana",
extensions: ["fly"]
},
"text/vnd.fmi.flexstor": {
source: "iana",
extensions: ["flx"]
},
"text/vnd.gml": {
source: "iana"
},
"text/vnd.graphviz": {
source: "iana",
extensions: ["gv"]
},
"text/vnd.hans": {
source: "iana"
},
"text/vnd.hgl": {
source: "iana"
},
"text/vnd.in3d.3dml": {
source: "iana",
extensions: ["3dml"]
},
"text/vnd.in3d.spot": {
source: "iana",
extensions: ["spot"]
},
"text/vnd.iptc.newsml": {
source: "iana"
},
"text/vnd.iptc.nitf": {
source: "iana"
},
"text/vnd.latex-z": {
source: "iana"
},
"text/vnd.motorola.reflex": {
source: "iana"
},
"text/vnd.ms-mediapackage": {
source: "iana"
},
"text/vnd.net2phone.commcenter.command": {
source: "iana"
},
"text/vnd.radisys.msml-basic-layout": {
source: "iana"
},
"text/vnd.senx.warpscript": {
source: "iana"
},
"text/vnd.si.uricatalogue": {
source: "iana"
},
"text/vnd.sosi": {
source: "iana"
},
"text/vnd.sun.j2me.app-descriptor": {
source: "iana",
charset: "UTF-8",
extensions: ["jad"]
},
"text/vnd.trolltech.linguist": {
source: "iana",
charset: "UTF-8"
},
"text/vnd.wap.si": {
source: "iana"
},
"text/vnd.wap.sl": {
source: "iana"
},
"text/vnd.wap.wml": {
source: "iana",
extensions: ["wml"]
},
"text/vnd.wap.wmlscript": {
source: "iana",
extensions: ["wmls"]
},
"text/vtt": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["vtt"]
},
"text/x-asm": {
source: "apache",
extensions: ["s", "asm"]
},
"text/x-c": {
source: "apache",
extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"]
},
"text/x-component": {
source: "nginx",
extensions: ["htc"]
},
"text/x-fortran": {
source: "apache",
extensions: ["f", "for", "f77", "f90"]
},
"text/x-gwt-rpc": {
compressible: true
},
"text/x-handlebars-template": {
extensions: ["hbs"]
},
"text/x-java-source": {
source: "apache",
extensions: ["java"]
},
"text/x-jquery-tmpl": {
compressible: true
},
"text/x-lua": {
extensions: ["lua"]
},
"text/x-markdown": {
compressible: true,
extensions: ["mkd"]
},
"text/x-nfo": {
source: "apache",
extensions: ["nfo"]
},
"text/x-opml": {
source: "apache",
extensions: ["opml"]
},
"text/x-org": {
compressible: true,
extensions: ["org"]
},
"text/x-pascal": {
source: "apache",
extensions: ["p", "pas"]
},
"text/x-processing": {
compressible: true,
extensions: ["pde"]
},
"text/x-sass": {
extensions: ["sass"]
},
"text/x-scss": {
extensions: ["scss"]
},
"text/x-setext": {
source: "apache",
extensions: ["etx"]
},
"text/x-sfv": {
source: "apache",
extensions: ["sfv"]
},
"text/x-suse-ymp": {
compressible: true,
extensions: ["ymp"]
},
"text/x-uuencode": {
source: "apache",
extensions: ["uu"]
},
"text/x-vcalendar": {
source: "apache",
extensions: ["vcs"]
},
"text/x-vcard": {
source: "apache",
extensions: ["vcf"]
},
"text/xml": {
source: "iana",
compressible: true,
extensions: ["xml"]
},
"text/xml-external-parsed-entity": {
source: "iana"
},
"text/yaml": {
compressible: true,
extensions: ["yaml", "yml"]
},
"video/1d-interleaved-parityfec": {
source: "iana"
},
"video/3gpp": {
source: "iana",
extensions: ["3gp", "3gpp"]
},
"video/3gpp-tt": {
source: "iana"
},
"video/3gpp2": {
source: "iana",
extensions: ["3g2"]
},
"video/av1": {
source: "iana"
},
"video/bmpeg": {
source: "iana"
},
"video/bt656": {
source: "iana"
},
"video/celb": {
source: "iana"
},
"video/dv": {
source: "iana"
},
"video/encaprtp": {
source: "iana"
},
"video/ffv1": {
source: "iana"
},
"video/flexfec": {
source: "iana"
},
"video/h261": {
source: "iana",
extensions: ["h261"]
},
"video/h263": {
source: "iana",
extensions: ["h263"]
},
"video/h263-1998": {
source: "iana"
},
"video/h263-2000": {
source: "iana"
},
"video/h264": {
source: "iana",
extensions: ["h264"]
},
"video/h264-rcdo": {
source: "iana"
},
"video/h264-svc": {
source: "iana"
},
"video/h265": {
source: "iana"
},
"video/iso.segment": {
source: "iana",
extensions: ["m4s"]
},
"video/jpeg": {
source: "iana",
extensions: ["jpgv"]
},
"video/jpeg2000": {
source: "iana"
},
"video/jpm": {
source: "apache",
extensions: ["jpm", "jpgm"]
},
"video/jxsv": {
source: "iana"
},
"video/mj2": {
source: "iana",
extensions: ["mj2", "mjp2"]
},
"video/mp1s": {
source: "iana"
},
"video/mp2p": {
source: "iana"
},
"video/mp2t": {
source: "iana",
extensions: ["ts"]
},
"video/mp4": {
source: "iana",
compressible: false,
extensions: ["mp4", "mp4v", "mpg4"]
},
"video/mp4v-es": {
source: "iana"
},
"video/mpeg": {
source: "iana",
compressible: false,
extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"]
},
"video/mpeg4-generic": {
source: "iana"
},
"video/mpv": {
source: "iana"
},
"video/nv": {
source: "iana"
},
"video/ogg": {
source: "iana",
compressible: false,
extensions: ["ogv"]
},
"video/parityfec": {
source: "iana"
},
"video/pointer": {
source: "iana"
},
"video/quicktime": {
source: "iana",
compressible: false,
extensions: ["qt", "mov"]
},
"video/raptorfec": {
source: "iana"
},
"video/raw": {
source: "iana"
},
"video/rtp-enc-aescm128": {
source: "iana"
},
"video/rtploopback": {
source: "iana"
},
"video/rtx": {
source: "iana"
},
"video/scip": {
source: "iana"
},
"video/smpte291": {
source: "iana"
},
"video/smpte292m": {
source: "iana"
},
"video/ulpfec": {
source: "iana"
},
"video/vc1": {
source: "iana"
},
"video/vc2": {
source: "iana"
},
"video/vnd.cctv": {
source: "iana"
},
"video/vnd.dece.hd": {
source: "iana",
extensions: ["uvh", "uvvh"]
},
"video/vnd.dece.mobile": {
source: "iana",
extensions: ["uvm", "uvvm"]
},
"video/vnd.dece.mp4": {
source: "iana"
},
"video/vnd.dece.pd": {
source: "iana",
extensions: ["uvp", "uvvp"]
},
"video/vnd.dece.sd": {
source: "iana",
extensions: ["uvs", "uvvs"]
},
"video/vnd.dece.video": {
source: "iana",
extensions: ["uvv", "uvvv"]
},
"video/vnd.directv.mpeg": {
source: "iana"
},
"video/vnd.directv.mpeg-tts": {
source: "iana"
},
"video/vnd.dlna.mpeg-tts": {
source: "iana"
},
"video/vnd.dvb.file": {
source: "iana",
extensions: ["dvb"]
},
"video/vnd.fvt": {
source: "iana",
extensions: ["fvt"]
},
"video/vnd.hns.video": {
source: "iana"
},
"video/vnd.iptvforum.1dparityfec-1010": {
source: "iana"
},
"video/vnd.iptvforum.1dparityfec-2005": {
source: "iana"
},
"video/vnd.iptvforum.2dparityfec-1010": {
source: "iana"
},
"video/vnd.iptvforum.2dparityfec-2005": {
source: "iana"
},
"video/vnd.iptvforum.ttsavc": {
source: "iana"
},
"video/vnd.iptvforum.ttsmpeg2": {
source: "iana"
},
"video/vnd.motorola.video": {
source: "iana"
},
"video/vnd.motorola.videop": {
source: "iana"
},
"video/vnd.mpegurl": {
source: "iana",
extensions: ["mxu", "m4u"]
},
"video/vnd.ms-playready.media.pyv": {
source: "iana",
extensions: ["pyv"]
},
"video/vnd.nokia.interleaved-multimedia": {
source: "iana"
},
"video/vnd.nokia.mp4vr": {
source: "iana"
},
"video/vnd.nokia.videovoip": {
source: "iana"
},
"video/vnd.objectvideo": {
source: "iana"
},
"video/vnd.radgamettools.bink": {
source: "iana"
},
"video/vnd.radgamettools.smacker": {
source: "iana"
},
"video/vnd.sealed.mpeg1": {
source: "iana"
},
"video/vnd.sealed.mpeg4": {
source: "iana"
},
"video/vnd.sealed.swf": {
source: "iana"
},
"video/vnd.sealedmedia.softseal.mov": {
source: "iana"
},
"video/vnd.uvvu.mp4": {
source: "iana",
extensions: ["uvu", "uvvu"]
},
"video/vnd.vivo": {
source: "iana",
extensions: ["viv"]
},
"video/vnd.youtube.yt": {
source: "iana"
},
"video/vp8": {
source: "iana"
},
"video/vp9": {
source: "iana"
},
"video/webm": {
source: "apache",
compressible: false,
extensions: ["webm"]
},
"video/x-f4v": {
source: "apache",
extensions: ["f4v"]
},
"video/x-fli": {
source: "apache",
extensions: ["fli"]
},
"video/x-flv": {
source: "apache",
compressible: false,
extensions: ["flv"]
},
"video/x-m4v": {
source: "apache",
extensions: ["m4v"]
},
"video/x-matroska": {
source: "apache",
compressible: false,
extensions: ["mkv", "mk3d", "mks"]
},
"video/x-mng": {
source: "apache",
extensions: ["mng"]
},
"video/x-ms-asf": {
source: "apache",
extensions: ["asf", "asx"]
},
"video/x-ms-vob": {
source: "apache",
extensions: ["vob"]
},
"video/x-ms-wm": {
source: "apache",
extensions: ["wm"]
},
"video/x-ms-wmv": {
source: "apache",
compressible: false,
extensions: ["wmv"]
},
"video/x-ms-wmx": {
source: "apache",
extensions: ["wmx"]
},
"video/x-ms-wvx": {
source: "apache",
extensions: ["wvx"]
},
"video/x-msvideo": {
source: "apache",
extensions: ["avi"]
},
"video/x-sgi-movie": {
source: "apache",
extensions: ["movie"]
},
"video/x-smv": {
source: "apache",
extensions: ["smv"]
},
"x-conference/x-cooltalk": {
source: "apache",
extensions: ["ice"]
},
"x-shader/x-fragment": {
compressible: true
},
"x-shader/x-vertex": {
compressible: true
}
};
});
// node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js
var require_mime_types = __commonJS((exports) => {
/*!
* mime-types
* Copyright(c) 2014 Jonathan Ong
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*/
var db = require_db();
var extname = __require("path").extname;
var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
var TEXT_TYPE_REGEXP = /^text\//i;
exports.charset = charset;
exports.charsets = { lookup: charset };
exports.contentType = contentType;
exports.extension = extension;
exports.extensions = Object.create(null);
exports.lookup = lookup;
exports.types = Object.create(null);
populateMaps(exports.extensions, exports.types);
function charset(type) {
if (!type || typeof type !== "string") {
return false;
}
var match = EXTRACT_TYPE_REGEXP.exec(type);
var mime = match && db[match[1].toLowerCase()];
if (mime && mime.charset) {
return mime.charset;
}
if (match && TEXT_TYPE_REGEXP.test(match[1])) {
return "UTF-8";
}
return false;
}
function contentType(str) {
if (!str || typeof str !== "string") {
return false;
}
var mime = str.indexOf("/") === -1 ? exports.lookup(str) : str;
if (!mime) {
return false;
}
if (mime.indexOf("charset") === -1) {
var charset2 = exports.charset(mime);
if (charset2)
mime += "; charset=" + charset2.toLowerCase();
}
return mime;
}
function extension(type) {
if (!type || typeof type !== "string") {
return false;
}
var match = EXTRACT_TYPE_REGEXP.exec(type);
var exts = match && exports.extensions[match[1].toLowerCase()];
if (!exts || !exts.length) {
return false;
}
return exts[0];
}
function lookup(path7) {
if (!path7 || typeof path7 !== "string") {
return false;
}
var extension2 = extname("x." + path7).toLowerCase().substr(1);
if (!extension2) {
return false;
}
return exports.types[extension2] || false;
}
function populateMaps(extensions, types) {
var preference = ["nginx", "apache", undefined, "iana"];
Object.keys(db).forEach(function forEachMimeType(type) {
var mime = db[type];
var exts = mime.extensions;
if (!exts || !exts.length) {
return;
}
extensions[type] = exts;
for (var i2 = 0;i2 < exts.length; i2++) {
var extension2 = exts[i2];
if (types[extension2]) {
var from = preference.indexOf(db[types[extension2]].source);
var to = preference.indexOf(mime.source);
if (types[extension2] !== "application/octet-stream" && (from > to || from === to && types[extension2].substr(0, 12) === "application/")) {
continue;
}
}
types[extension2] = type;
}
});
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js
var require_defer = __commonJS((exports, module) => {
module.exports = defer;
function defer(fn) {
var nextTick = typeof setImmediate == "function" ? setImmediate : typeof process == "object" && typeof process.nextTick == "function" ? process.nextTick : null;
if (nextTick) {
nextTick(fn);
} else {
setTimeout(fn, 0);
}
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js
var require_async = __commonJS((exports, module) => {
var defer = require_defer();
module.exports = async;
function async(callback) {
var isAsync = false;
defer(function() {
isAsync = true;
});
return function async_callback(err, result) {
if (isAsync) {
callback(err, result);
} else {
defer(function nextTick_callback() {
callback(err, result);
});
}
};
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js
var require_abort = __commonJS((exports, module) => {
module.exports = abort;
function abort(state) {
Object.keys(state.jobs).forEach(clean.bind(state));
state.jobs = {};
}
function clean(key) {
if (typeof this.jobs[key] == "function") {
this.jobs[key]();
}
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js
var require_iterate = __commonJS((exports, module) => {
var async = require_async();
var abort = require_abort();
module.exports = iterate;
function iterate(list, iterator2, state, callback) {
var key = state["keyedList"] ? state["keyedList"][state.index] : state.index;
state.jobs[key] = runJob(iterator2, key, list[key], function(error2, output) {
if (!(key in state.jobs)) {
return;
}
delete state.jobs[key];
if (error2) {
abort(state);
} else {
state.results[key] = output;
}
callback(error2, state.results);
});
}
function runJob(iterator2, key, item, callback) {
var aborter;
if (iterator2.length == 2) {
aborter = iterator2(item, async(callback));
} else {
aborter = iterator2(item, key, async(callback));
}
return aborter;
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js
var require_state = __commonJS((exports, module) => {
module.exports = state;
function state(list, sortMethod) {
var isNamedList = !Array.isArray(list), initState = {
index: 0,
keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
jobs: {},
results: isNamedList ? {} : [],
size: isNamedList ? Object.keys(list).length : list.length
};
if (sortMethod) {
initState.keyedList.sort(isNamedList ? sortMethod : function(a2, b2) {
return sortMethod(list[a2], list[b2]);
});
}
return initState;
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js
var require_terminator = __commonJS((exports, module) => {
var abort = require_abort();
var async = require_async();
module.exports = terminator;
function terminator(callback) {
if (!Object.keys(this.jobs).length) {
return;
}
this.index = this.size;
abort(this);
async(callback)(null, this.results);
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js
var require_parallel = __commonJS((exports, module) => {
var iterate = require_iterate();
var initState = require_state();
var terminator = require_terminator();
module.exports = parallel;
function parallel(list, iterator2, callback) {
var state = initState(list);
while (state.index < (state["keyedList"] || list).length) {
iterate(list, iterator2, state, function(error2, result) {
if (error2) {
callback(error2, result);
return;
}
if (Object.keys(state.jobs).length === 0) {
callback(null, state.results);
return;
}
});
state.index++;
}
return terminator.bind(state, callback);
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js
var require_serialOrdered = __commonJS((exports, module) => {
var iterate = require_iterate();
var initState = require_state();
var terminator = require_terminator();
module.exports = serialOrdered;
module.exports.ascending = ascending;
module.exports.descending = descending;
function serialOrdered(list, iterator2, sortMethod, callback) {
var state = initState(list, sortMethod);
iterate(list, iterator2, state, function iteratorHandler(error2, result) {
if (error2) {
callback(error2, result);
return;
}
state.index++;
if (state.index < (state["keyedList"] || list).length) {
iterate(list, iterator2, state, iteratorHandler);
return;
}
callback(null, state.results);
});
return terminator.bind(state, callback);
}
function ascending(a2, b2) {
return a2 < b2 ? -1 : a2 > b2 ? 1 : 0;
}
function descending(a2, b2) {
return -1 * ascending(a2, b2);
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js
var require_serial = __commonJS((exports, module) => {
var serialOrdered = require_serialOrdered();
module.exports = serial;
function serial(list, iterator2, callback) {
return serialOrdered(list, iterator2, null, callback);
}
});
// node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js
var require_asynckit = __commonJS((exports, module) => {
module.exports = {
parallel: require_parallel(),
serial: require_serial(),
serialOrdered: require_serialOrdered()
};
});
// node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js
var require_es_object_atoms = __commonJS((exports, module) => {
module.exports = Object;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
var require_es_errors = __commonJS((exports, module) => {
module.exports = Error;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
var require_eval = __commonJS((exports, module) => {
module.exports = EvalError;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
var require_range = __commonJS((exports, module) => {
module.exports = RangeError;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
var require_ref = __commonJS((exports, module) => {
module.exports = ReferenceError;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
var require_syntax = __commonJS((exports, module) => {
module.exports = SyntaxError;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
var require_type = __commonJS((exports, module) => {
module.exports = TypeError;
});
// node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
var require_uri = __commonJS((exports, module) => {
module.exports = URIError;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
var require_abs = __commonJS((exports, module) => {
module.exports = Math.abs;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
var require_floor = __commonJS((exports, module) => {
module.exports = Math.floor;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
var require_max = __commonJS((exports, module) => {
module.exports = Math.max;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
var require_min = __commonJS((exports, module) => {
module.exports = Math.min;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
var require_pow = __commonJS((exports, module) => {
module.exports = Math.pow;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
var require_round = __commonJS((exports, module) => {
module.exports = Math.round;
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
var require_isNaN = __commonJS((exports, module) => {
module.exports = Number.isNaN || function isNaN2(a2) {
return a2 !== a2;
};
});
// node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
var require_sign = __commonJS((exports, module) => {
var $isNaN = require_isNaN();
module.exports = function sign(number) {
if ($isNaN(number) || number === 0) {
return number;
}
return number < 0 ? -1 : 1;
};
});
// node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
var require_gOPD = __commonJS((exports, module) => {
module.exports = Object.getOwnPropertyDescriptor;
});
// node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
var require_gopd = __commonJS((exports, module) => {
var $gOPD = require_gOPD();
if ($gOPD) {
try {
$gOPD([], "length");
} catch (e) {
$gOPD = null;
}
}
module.exports = $gOPD;
});
// node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
var require_es_define_property = __commonJS((exports, module) => {
var $defineProperty = Object.defineProperty || false;
if ($defineProperty) {
try {
$defineProperty({}, "a", { value: 1 });
} catch (e) {
$defineProperty = false;
}
}
module.exports = $defineProperty;
});
// node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
var require_shams = __commonJS((exports, module) => {
module.exports = function hasSymbols() {
if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
return false;
}
if (typeof Symbol.iterator === "symbol") {
return true;
}
var obj = {};
var sym = Symbol("test");
var symObj = Object(sym);
if (typeof sym === "string") {
return false;
}
if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
return false;
}
if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
return false;
}
var symVal = 42;
obj[sym] = symVal;
for (var _2 in obj) {
return false;
}
if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
return false;
}
if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
return false;
}
var syms = Object.getOwnPropertySymbols(obj);
if (syms.length !== 1 || syms[0] !== sym) {
return false;
}
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
return false;
}
if (typeof Object.getOwnPropertyDescriptor === "function") {
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
if (descriptor.value !== symVal || descriptor.enumerable !== true) {
return false;
}
}
return true;
};
});
// node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
var require_has_symbols = __commonJS((exports, module) => {
var origSymbol = typeof Symbol !== "undefined" && Symbol;
var hasSymbolSham = require_shams();
module.exports = function hasNativeSymbols() {
if (typeof origSymbol !== "function") {
return false;
}
if (typeof Symbol !== "function") {
return false;
}
if (typeof origSymbol("foo") !== "symbol") {
return false;
}
if (typeof Symbol("bar") !== "symbol") {
return false;
}
return hasSymbolSham();
};
});
// node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
var require_Reflect_getPrototypeOf = __commonJS((exports, module) => {
module.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
});
// node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
var require_Object_getPrototypeOf = __commonJS((exports, module) => {
var $Object = require_es_object_atoms();
module.exports = $Object.getPrototypeOf || null;
});
// node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
var require_implementation = __commonJS((exports, module) => {
var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
var toStr = Object.prototype.toString;
var max = Math.max;
var funcType = "[object Function]";
var concatty = function concatty2(a2, b2) {
var arr = [];
for (var i2 = 0;i2 < a2.length; i2 += 1) {
arr[i2] = a2[i2];
}
for (var j2 = 0;j2 < b2.length; j2 += 1) {
arr[j2 + a2.length] = b2[j2];
}
return arr;
};
var slicy = function slicy2(arrLike, offset) {
var arr = [];
for (var i2 = offset || 0, j2 = 0;i2 < arrLike.length; i2 += 1, j2 += 1) {
arr[j2] = arrLike[i2];
}
return arr;
};
var joiny = function(arr, joiner) {
var str = "";
for (var i2 = 0;i2 < arr.length; i2 += 1) {
str += arr[i2];
if (i2 + 1 < arr.length) {
str += joiner;
}
}
return str;
};
module.exports = function bind2(that) {
var target = this;
if (typeof target !== "function" || toStr.apply(target) !== funcType) {
throw new TypeError(ERROR_MESSAGE + target);
}
var args = slicy(arguments, 1);
var bound;
var binder = function() {
if (this instanceof bound) {
var result = target.apply(this, concatty(args, arguments));
if (Object(result) === result) {
return result;
}
return this;
}
return target.apply(that, concatty(args, arguments));
};
var boundLength = max(0, target.length - args.length);
var boundArgs = [];
for (var i2 = 0;i2 < boundLength; i2++) {
boundArgs[i2] = "$" + i2;
}
bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
if (target.prototype) {
var Empty = function Empty2() {};
Empty.prototype = target.prototype;
bound.prototype = new Empty;
Empty.prototype = null;
}
return bound;
};
});
// node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
var require_function_bind = __commonJS((exports, module) => {
var implementation = require_implementation();
module.exports = Function.prototype.bind || implementation;
});
// node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
var require_functionCall = __commonJS((exports, module) => {
module.exports = Function.prototype.call;
});
// node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
var require_functionApply = __commonJS((exports, module) => {
module.exports = Function.prototype.apply;
});
// node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
var require_reflectApply = __commonJS((exports, module) => {
module.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
});
// node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
var require_actualApply = __commonJS((exports, module) => {
var bind2 = require_function_bind();
var $apply = require_functionApply();
var $call = require_functionCall();
var $reflectApply = require_reflectApply();
module.exports = $reflectApply || bind2.call($call, $apply);
});
// node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
var require_call_bind_apply_helpers = __commonJS((exports, module) => {
var bind2 = require_function_bind();
var $TypeError = require_type();
var $call = require_functionCall();
var $actualApply = require_actualApply();
module.exports = function callBindBasic(args) {
if (args.length < 1 || typeof args[0] !== "function") {
throw new $TypeError("a function is required");
}
return $actualApply(bind2, $call, args);
};
});
// node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
var require_get = __commonJS((exports, module) => {
var callBind = require_call_bind_apply_helpers();
var gOPD = require_gopd();
var hasProtoAccessor;
try {
hasProtoAccessor = [].__proto__ === Array.prototype;
} catch (e) {
if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") {
throw e;
}
}
var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, "__proto__");
var $Object = Object;
var $getPrototypeOf = $Object.getPrototypeOf;
module.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? function getDunder(value) {
return $getPrototypeOf(value == null ? value : $Object(value));
} : false;
});
// node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
var require_get_proto = __commonJS((exports, module) => {
var reflectGetProto = require_Reflect_getPrototypeOf();
var originalGetProto = require_Object_getPrototypeOf();
var getDunderProto = require_get();
module.exports = reflectGetProto ? function getProto(O2) {
return reflectGetProto(O2);
} : originalGetProto ? function getProto(O2) {
if (!O2 || typeof O2 !== "object" && typeof O2 !== "function") {
throw new TypeError("getProto: not an object");
}
return originalGetProto(O2);
} : getDunderProto ? function getProto(O2) {
return getDunderProto(O2);
} : null;
});
// node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js
var require_hasown = __commonJS((exports, module) => {
var call = Function.prototype.call;
var $hasOwn = Object.prototype.hasOwnProperty;
var bind2 = require_function_bind();
module.exports = bind2.call(call, $hasOwn);
});
// node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
var require_get_intrinsic = __commonJS((exports, module) => {
var undefined2;
var $Object = require_es_object_atoms();
var $Error = require_es_errors();
var $EvalError = require_eval();
var $RangeError = require_range();
var $ReferenceError = require_ref();
var $SyntaxError = require_syntax();
var $TypeError = require_type();
var $URIError = require_uri();
var abs = require_abs();
var floor = require_floor();
var max = require_max();
var min = require_min();
var pow = require_pow();
var round = require_round();
var sign = require_sign();
var $Function = Function;
var getEvalledConstructor = function(expressionSyntax) {
try {
return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
} catch (e) {}
};
var $gOPD = require_gopd();
var $defineProperty = require_es_define_property();
var throwTypeError = function() {
throw new $TypeError;
};
var ThrowTypeError = $gOPD ? function() {
try {
arguments.callee;
return throwTypeError;
} catch (calleeThrows) {
try {
return $gOPD(arguments, "callee").get;
} catch (gOPDthrows) {
return throwTypeError;
}
}
}() : throwTypeError;
var hasSymbols = require_has_symbols()();
var getProto = require_get_proto();
var $ObjectGPO = require_Object_getPrototypeOf();
var $ReflectGPO = require_Reflect_getPrototypeOf();
var $apply = require_functionApply();
var $call = require_functionCall();
var needsEval = {};
var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array);
var INTRINSICS = {
__proto__: null,
"%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError,
"%Array%": Array,
"%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer,
"%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2,
"%AsyncFromSyncIteratorPrototype%": undefined2,
"%AsyncFunction%": needsEval,
"%AsyncGenerator%": needsEval,
"%AsyncGeneratorFunction%": needsEval,
"%AsyncIteratorPrototype%": needsEval,
"%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics,
"%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt,
"%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array,
"%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array,
"%Boolean%": Boolean,
"%DataView%": typeof DataView === "undefined" ? undefined2 : DataView,
"%Date%": Date,
"%decodeURI%": decodeURI,
"%decodeURIComponent%": decodeURIComponent,
"%encodeURI%": encodeURI,
"%encodeURIComponent%": encodeURIComponent,
"%Error%": $Error,
"%eval%": eval,
"%EvalError%": $EvalError,
"%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array,
"%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array,
"%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array,
"%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry,
"%Function%": $Function,
"%GeneratorFunction%": needsEval,
"%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array,
"%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array,
"%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array,
"%isFinite%": isFinite,
"%isNaN%": isNaN,
"%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2,
"%JSON%": typeof JSON === "object" ? JSON : undefined2,
"%Map%": typeof Map === "undefined" ? undefined2 : Map,
"%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto(new Map()[Symbol.iterator]()),
"%Math%": Math,
"%Number%": Number,
"%Object%": $Object,
"%Object.getOwnPropertyDescriptor%": $gOPD,
"%parseFloat%": parseFloat,
"%parseInt%": parseInt,
"%Promise%": typeof Promise === "undefined" ? undefined2 : Promise,
"%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy,
"%RangeError%": $RangeError,
"%ReferenceError%": $ReferenceError,
"%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect,
"%RegExp%": RegExp,
"%Set%": typeof Set === "undefined" ? undefined2 : Set,
"%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto(new Set()[Symbol.iterator]()),
"%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer,
"%String%": String,
"%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2,
"%Symbol%": hasSymbols ? Symbol : undefined2,
"%SyntaxError%": $SyntaxError,
"%ThrowTypeError%": ThrowTypeError,
"%TypedArray%": TypedArray,
"%TypeError%": $TypeError,
"%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array,
"%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray,
"%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array,
"%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array,
"%URIError%": $URIError,
"%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap,
"%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef,
"%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet,
"%Function.prototype.call%": $call,
"%Function.prototype.apply%": $apply,
"%Object.defineProperty%": $defineProperty,
"%Object.getPrototypeOf%": $ObjectGPO,
"%Math.abs%": abs,
"%Math.floor%": floor,
"%Math.max%": max,
"%Math.min%": min,
"%Math.pow%": pow,
"%Math.round%": round,
"%Math.sign%": sign,
"%Reflect.getPrototypeOf%": $ReflectGPO
};
if (getProto) {
try {
null.error;
} catch (e) {
errorProto = getProto(getProto(e));
INTRINSICS["%Error.prototype%"] = errorProto;
}
}
var errorProto;
var doEval = function doEval2(name) {
var value;
if (name === "%AsyncFunction%") {
value = getEvalledConstructor("async function () {}");
} else if (name === "%GeneratorFunction%") {
value = getEvalledConstructor("function* () {}");
} else if (name === "%AsyncGeneratorFunction%") {
value = getEvalledConstructor("async function* () {}");
} else if (name === "%AsyncGenerator%") {
var fn = doEval2("%AsyncGeneratorFunction%");
if (fn) {
value = fn.prototype;
}
} else if (name === "%AsyncIteratorPrototype%") {
var gen = doEval2("%AsyncGenerator%");
if (gen && getProto) {
value = getProto(gen.prototype);
}
}
INTRINSICS[name] = value;
return value;
};
var LEGACY_ALIASES = {
__proto__: null,
"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
"%ArrayPrototype%": ["Array", "prototype"],
"%ArrayProto_entries%": ["Array", "prototype", "entries"],
"%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
"%ArrayProto_keys%": ["Array", "prototype", "keys"],
"%ArrayProto_values%": ["Array", "prototype", "values"],
"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
"%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
"%BooleanPrototype%": ["Boolean", "prototype"],
"%DataViewPrototype%": ["DataView", "prototype"],
"%DatePrototype%": ["Date", "prototype"],
"%ErrorPrototype%": ["Error", "prototype"],
"%EvalErrorPrototype%": ["EvalError", "prototype"],
"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
"%FunctionPrototype%": ["Function", "prototype"],
"%Generator%": ["GeneratorFunction", "prototype"],
"%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
"%JSONParse%": ["JSON", "parse"],
"%JSONStringify%": ["JSON", "stringify"],
"%MapPrototype%": ["Map", "prototype"],
"%NumberPrototype%": ["Number", "prototype"],
"%ObjectPrototype%": ["Object", "prototype"],
"%ObjProto_toString%": ["Object", "prototype", "toString"],
"%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
"%PromisePrototype%": ["Promise", "prototype"],
"%PromiseProto_then%": ["Promise", "prototype", "then"],
"%Promise_all%": ["Promise", "all"],
"%Promise_reject%": ["Promise", "reject"],
"%Promise_resolve%": ["Promise", "resolve"],
"%RangeErrorPrototype%": ["RangeError", "prototype"],
"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
"%RegExpPrototype%": ["RegExp", "prototype"],
"%SetPrototype%": ["Set", "prototype"],
"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
"%StringPrototype%": ["String", "prototype"],
"%SymbolPrototype%": ["Symbol", "prototype"],
"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
"%TypedArrayPrototype%": ["TypedArray", "prototype"],
"%TypeErrorPrototype%": ["TypeError", "prototype"],
"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
"%URIErrorPrototype%": ["URIError", "prototype"],
"%WeakMapPrototype%": ["WeakMap", "prototype"],
"%WeakSetPrototype%": ["WeakSet", "prototype"]
};
var bind2 = require_function_bind();
var hasOwn2 = require_hasown();
var $concat = bind2.call($call, Array.prototype.concat);
var $spliceApply = bind2.call($apply, Array.prototype.splice);
var $replace = bind2.call($call, String.prototype.replace);
var $strSlice = bind2.call($call, String.prototype.slice);
var $exec = bind2.call($call, RegExp.prototype.exec);
var rePropName2 = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
var reEscapeChar2 = /\\(\\)?/g;
var stringToPath2 = function stringToPath3(string) {
var first = $strSlice(string, 0, 1);
var last = $strSlice(string, -1);
if (first === "%" && last !== "%") {
throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
} else if (last === "%" && first !== "%") {
throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
}
var result = [];
$replace(string, rePropName2, function(match, number, quote, subString) {
result[result.length] = quote ? $replace(subString, reEscapeChar2, "$1") : number || match;
});
return result;
};
var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) {
var intrinsicName = name;
var alias;
if (hasOwn2(LEGACY_ALIASES, intrinsicName)) {
alias = LEGACY_ALIASES[intrinsicName];
intrinsicName = "%" + alias[0] + "%";
}
if (hasOwn2(INTRINSICS, intrinsicName)) {
var value = INTRINSICS[intrinsicName];
if (value === needsEval) {
value = doEval(intrinsicName);
}
if (typeof value === "undefined" && !allowMissing) {
throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
}
return {
alias,
name: intrinsicName,
value
};
}
throw new $SyntaxError("intrinsic " + name + " does not exist!");
};
module.exports = function GetIntrinsic(name, allowMissing) {
if (typeof name !== "string" || name.length === 0) {
throw new $TypeError("intrinsic name must be a non-empty string");
}
if (arguments.length > 1 && typeof allowMissing !== "boolean") {
throw new $TypeError('"allowMissing" argument must be a boolean');
}
if ($exec(/^%?[^%]*%?$/, name) === null) {
throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
}
var parts = stringToPath2(name);
var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
var intrinsicRealName = intrinsic.name;
var value = intrinsic.value;
var skipFurtherCaching = false;
var alias = intrinsic.alias;
if (alias) {
intrinsicBaseName = alias[0];
$spliceApply(parts, $concat([0, 1], alias));
}
for (var i2 = 1, isOwn = true;i2 < parts.length; i2 += 1) {
var part = parts[i2];
var first = $strSlice(part, 0, 1);
var last = $strSlice(part, -1);
if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) {
throw new $SyntaxError("property names with quotes must have matching quotes");
}
if (part === "constructor" || !isOwn) {
skipFurtherCaching = true;
}
intrinsicBaseName += "." + part;
intrinsicRealName = "%" + intrinsicBaseName + "%";
if (hasOwn2(INTRINSICS, intrinsicRealName)) {
value = INTRINSICS[intrinsicRealName];
} else if (value != null) {
if (!(part in value)) {
if (!allowMissing) {
throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
}
return;
}
if ($gOPD && i2 + 1 >= parts.length) {
var desc = $gOPD(value, part);
isOwn = !!desc;
if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
value = desc.get;
} else {
value = value[part];
}
} else {
isOwn = hasOwn2(value, part);
value = value[part];
}
if (isOwn && !skipFurtherCaching) {
INTRINSICS[intrinsicRealName] = value;
}
}
}
return value;
};
});
// node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js
var require_shams2 = __commonJS((exports, module) => {
var hasSymbols = require_shams();
module.exports = function hasToStringTagShams() {
return hasSymbols() && !!Symbol.toStringTag;
};
});
// node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js
var require_es_set_tostringtag = __commonJS((exports, module) => {
var GetIntrinsic = require_get_intrinsic();
var $defineProperty = GetIntrinsic("%Object.defineProperty%", true);
var hasToStringTag = require_shams2()();
var hasOwn2 = require_hasown();
var $TypeError = require_type();
var toStringTag2 = hasToStringTag ? Symbol.toStringTag : null;
module.exports = function setToStringTag(object, value) {
var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;
var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;
if (typeof overrideIfSet !== "undefined" && typeof overrideIfSet !== "boolean" || typeof nonConfigurable !== "undefined" && typeof nonConfigurable !== "boolean") {
throw new $TypeError("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");
}
if (toStringTag2 && (overrideIfSet || !hasOwn2(object, toStringTag2))) {
if ($defineProperty) {
$defineProperty(object, toStringTag2, {
configurable: !nonConfigurable,
enumerable: false,
value,
writable: false
});
} else {
object[toStringTag2] = value;
}
}
};
});
// node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/populate.js
var require_populate = __commonJS((exports, module) => {
module.exports = function(dst, src) {
Object.keys(src).forEach(function(prop) {
dst[prop] = dst[prop] || src[prop];
});
return dst;
};
});
// node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/form_data.js
var require_form_data = __commonJS((exports, module) => {
var CombinedStream = require_combined_stream();
var util = __require("util");
var path7 = __require("path");
var http = __require("http");
var https = __require("https");
var parseUrl = __require("url").parse;
var fs2 = __require("fs");
var Stream2 = __require("stream").Stream;
var crypto2 = __require("crypto");
var mime = require_mime_types();
var asynckit = require_asynckit();
var setToStringTag = require_es_set_tostringtag();
var hasOwn2 = require_hasown();
var populate = require_populate();
function FormData2(options) {
if (!(this instanceof FormData2)) {
return new FormData2(options);
}
this._overheadLength = 0;
this._valueLength = 0;
this._valuesToMeasure = [];
CombinedStream.call(this);
options = options || {};
for (var option in options) {
this[option] = options[option];
}
}
util.inherits(FormData2, CombinedStream);
FormData2.LINE_BREAK = `\r
`;
FormData2.DEFAULT_CONTENT_TYPE = "application/octet-stream";
FormData2.prototype.append = function(field, value, options) {
options = options || {};
if (typeof options === "string") {
options = { filename: options };
}
var append = CombinedStream.prototype.append.bind(this);
if (typeof value === "number" || value == null) {
value = String(value);
}
if (Array.isArray(value)) {
this._error(new Error("Arrays are not supported."));
return;
}
var header = this._multiPartHeader(field, value, options);
var footer = this._multiPartFooter();
append(header);
append(value);
append(footer);
this._trackLength(header, value, options);
};
FormData2.prototype._trackLength = function(header, value, options) {
var valueLength = 0;
if (options.knownLength != null) {
valueLength += Number(options.knownLength);
} else if (Buffer.isBuffer(value)) {
valueLength = value.length;
} else if (typeof value === "string") {
valueLength = Buffer.byteLength(value);
}
this._valueLength += valueLength;
this._overheadLength += Buffer.byteLength(header) + FormData2.LINE_BREAK.length;
if (!value || !value.path && !(value.readable && hasOwn2(value, "httpVersion")) && !(value instanceof Stream2)) {
return;
}
if (!options.knownLength) {
this._valuesToMeasure.push(value);
}
};
FormData2.prototype._lengthRetriever = function(value, callback) {
if (hasOwn2(value, "fd")) {
if (value.end != null && value.end != Infinity && value.start != null) {
callback(null, value.end + 1 - (value.start ? value.start : 0));
} else {
fs2.stat(value.path, function(err, stat) {
if (err) {
callback(err);
return;
}
var fileSize = stat.size - (value.start ? value.start : 0);
callback(null, fileSize);
});
}
} else if (hasOwn2(value, "httpVersion")) {
callback(null, Number(value.headers["content-length"]));
} else if (hasOwn2(value, "httpModule")) {
value.on("response", function(response) {
value.pause();
callback(null, Number(response.headers["content-length"]));
});
value.resume();
} else {
callback("Unknown stream");
}
};
FormData2.prototype._multiPartHeader = function(field, value, options) {
if (typeof options.header === "string") {
return options.header;
}
var contentDisposition = this._getContentDisposition(value, options);
var contentType = this._getContentType(value, options);
var contents = "";
var headers = {
"Content-Disposition": ["form-data", 'name="' + field + '"'].concat(contentDisposition || []),
"Content-Type": [].concat(contentType || [])
};
if (typeof options.header === "object") {
populate(headers, options.header);
}
var header;
for (var prop in headers) {
if (hasOwn2(headers, prop)) {
header = headers[prop];
if (header == null) {
continue;
}
if (!Array.isArray(header)) {
header = [header];
}
if (header.length) {
contents += prop + ": " + header.join("; ") + FormData2.LINE_BREAK;
}
}
}
return "--" + this.getBoundary() + FormData2.LINE_BREAK + contents + FormData2.LINE_BREAK;
};
FormData2.prototype._getContentDisposition = function(value, options) {
var filename;
if (typeof options.filepath === "string") {
filename = path7.normalize(options.filepath).replace(/\\/g, "/");
} else if (options.filename || value && (value.name || value.path)) {
filename = path7.basename(options.filename || value && (value.name || value.path));
} else if (value && value.readable && hasOwn2(value, "httpVersion")) {
filename = path7.basename(value.client._httpMessage.path || "");
}
if (filename) {
return 'filename="' + filename + '"';
}
};
FormData2.prototype._getContentType = function(value, options) {
var contentType = options.contentType;
if (!contentType && value && value.name) {
contentType = mime.lookup(value.name);
}
if (!contentType && value && value.path) {
contentType = mime.lookup(value.path);
}
if (!contentType && value && value.readable && hasOwn2(value, "httpVersion")) {
contentType = value.headers["content-type"];
}
if (!contentType && (options.filepath || options.filename)) {
contentType = mime.lookup(options.filepath || options.filename);
}
if (!contentType && value && typeof value === "object") {
contentType = FormData2.DEFAULT_CONTENT_TYPE;
}
return contentType;
};
FormData2.prototype._multiPartFooter = function() {
return function(next) {
var footer = FormData2.LINE_BREAK;
var lastPart = this._streams.length === 0;
if (lastPart) {
footer += this._lastBoundary();
}
next(footer);
}.bind(this);
};
FormData2.prototype._lastBoundary = function() {
return "--" + this.getBoundary() + "--" + FormData2.LINE_BREAK;
};
FormData2.prototype.getHeaders = function(userHeaders) {
var header;
var formHeaders = {
"content-type": "multipart/form-data; boundary=" + this.getBoundary()
};
for (header in userHeaders) {
if (hasOwn2(userHeaders, header)) {
formHeaders[header.toLowerCase()] = userHeaders[header];
}
}
return formHeaders;
};
FormData2.prototype.setBoundary = function(boundary) {
if (typeof boundary !== "string") {
throw new TypeError("FormData boundary must be a string");
}
this._boundary = boundary;
};
FormData2.prototype.getBoundary = function() {
if (!this._boundary) {
this._generateBoundary();
}
return this._boundary;
};
FormData2.prototype.getBuffer = function() {
var dataBuffer = new Buffer.alloc(0);
var boundary = this.getBoundary();
for (var i2 = 0, len = this._streams.length;i2 < len; i2++) {
if (typeof this._streams[i2] !== "function") {
if (Buffer.isBuffer(this._streams[i2])) {
dataBuffer = Buffer.concat([dataBuffer, this._streams[i2]]);
} else {
dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i2])]);
}
if (typeof this._streams[i2] !== "string" || this._streams[i2].substring(2, boundary.length + 2) !== boundary) {
dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData2.LINE_BREAK)]);
}
}
}
return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);
};
FormData2.prototype._generateBoundary = function() {
this._boundary = "--------------------------" + crypto2.randomBytes(12).toString("hex");
};
FormData2.prototype.getLengthSync = function() {
var knownLength = this._overheadLength + this._valueLength;
if (this._streams.length) {
knownLength += this._lastBoundary().length;
}
if (!this.hasKnownLength()) {
this._error(new Error("Cannot calculate proper length in synchronous way."));
}
return knownLength;
};
FormData2.prototype.hasKnownLength = function() {
var hasKnownLength = true;
if (this._valuesToMeasure.length) {
hasKnownLength = false;
}
return hasKnownLength;
};
FormData2.prototype.getLength = function(cb) {
var knownLength = this._overheadLength + this._valueLength;
if (this._streams.length) {
knownLength += this._lastBoundary().length;
}
if (!this._valuesToMeasure.length) {
process.nextTick(cb.bind(this, null, knownLength));
return;
}
asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {
if (err) {
cb(err);
return;
}
values.forEach(function(length) {
knownLength += length;
});
cb(null, knownLength);
});
};
FormData2.prototype.submit = function(params, cb) {
var request;
var options;
var defaults = { method: "post" };
if (typeof params === "string") {
params = parseUrl(params);
options = populate({
port: params.port,
path: params.pathname,
host: params.hostname,
protocol: params.protocol
}, defaults);
} else {
options = populate(params, defaults);
if (!options.port) {
options.port = options.protocol === "https:" ? 443 : 80;
}
}
options.headers = this.getHeaders(params.headers);
if (options.protocol === "https:") {
request = https.request(options);
} else {
request = http.request(options);
}
this.getLength(function(err, length) {
if (err && err !== "Unknown stream") {
this._error(err);
return;
}
if (length) {
request.setHeader("Content-Length", length);
}
this.pipe(request);
if (cb) {
var onResponse;
var callback = function(error2, responce) {
request.removeListener("error", callback);
request.removeListener("response", onResponse);
return cb.call(this, error2, responce);
};
onResponse = callback.bind(this, null);
request.on("error", callback);
request.on("response", onResponse);
}
}.bind(this));
return request;
};
FormData2.prototype._error = function(err) {
if (!this.error) {
this.error = err;
this.pause();
this.emit("error", err);
}
};
FormData2.prototype.toString = function() {
return "[object FormData]";
};
setToStringTag(FormData2.prototype, "FormData");
module.exports = FormData2;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/platform/node/classes/FormData.js
var import_form_data, FormData_default;
var init_FormData = __esm(() => {
import_form_data = __toESM(require_form_data(), 1);
FormData_default = import_form_data.default;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/toFormData.js
function isVisitable(thing) {
return utils_default.isPlainObject(thing) || utils_default.isArray(thing);
}
function removeBrackets(key) {
return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key;
}
function renderKey(path7, key, dots) {
if (!path7)
return key;
return path7.concat(key).map(function each(token, i2) {
token = removeBrackets(token);
return !dots && i2 ? "[" + token + "]" : token;
}).join(dots ? "." : "");
}
function isFlatArray(arr) {
return utils_default.isArray(arr) && !arr.some(isVisitable);
}
function toFormData(obj, formData, options) {
if (!utils_default.isObject(obj)) {
throw new TypeError("target must be an object");
}
formData = formData || new (FormData_default || FormData);
options = utils_default.toFlatObject(options, {
metaTokens: true,
dots: false,
indexes: false
}, false, function defined(option, source) {
return !utils_default.isUndefined(source[option]);
});
const metaTokens = options.metaTokens;
const visitor = options.visitor || defaultVisitor;
const dots = options.dots;
const indexes = options.indexes;
const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
const useBlob = _Blob && utils_default.isSpecCompliantForm(formData);
if (!utils_default.isFunction(visitor)) {
throw new TypeError("visitor must be a function");
}
function convertValue(value) {
if (value === null)
return "";
if (utils_default.isDate(value)) {
return value.toISOString();
}
if (utils_default.isBoolean(value)) {
return value.toString();
}
if (!useBlob && utils_default.isBlob(value)) {
throw new AxiosError_default("Blob is not supported. Use a Buffer instead.");
}
if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) {
return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
}
return value;
}
function defaultVisitor(value, key, path7) {
let arr = value;
if (utils_default.isReactNative(formData) && utils_default.isReactNativeBlob(value)) {
formData.append(renderKey(path7, key, dots), convertValue(value));
return false;
}
if (value && !path7 && typeof value === "object") {
if (utils_default.endsWith(key, "{}")) {
key = metaTokens ? key : key.slice(0, -2);
value = JSON.stringify(value);
} else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) {
key = removeBrackets(key);
arr.forEach(function each(el, index) {
!(utils_default.isUndefined(el) || el === null) && formData.append(indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]", convertValue(el));
});
return false;
}
}
if (isVisitable(value)) {
return true;
}
formData.append(renderKey(path7, key, dots), convertValue(value));
return false;
}
const stack = [];
const exposedHelpers = Object.assign(predicates, {
defaultVisitor,
convertValue,
isVisitable
});
function build(value, path7) {
if (utils_default.isUndefined(value))
return;
if (stack.indexOf(value) !== -1) {
throw Error("Circular reference detected in " + path7.join("."));
}
stack.push(value);
utils_default.forEach(value, function each(el, key) {
const result = !(utils_default.isUndefined(el) || el === null) && visitor.call(formData, el, utils_default.isString(key) ? key.trim() : key, path7, exposedHelpers);
if (result === true) {
build(el, path7 ? path7.concat(key) : [key]);
}
});
stack.pop();
}
if (!utils_default.isObject(obj)) {
throw new TypeError("data must be an object");
}
build(obj);
return formData;
}
var predicates, toFormData_default;
var init_toFormData = __esm(() => {
init_utils();
init_AxiosError();
init_FormData();
predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) {
return /^is[A-Z]/.test(prop);
});
toFormData_default = toFormData;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js
function encode(str) {
const charMap = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+",
"%00": "\x00"
};
return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
return charMap[match];
});
}
function AxiosURLSearchParams(params, options) {
this._pairs = [];
params && toFormData_default(params, this, options);
}
var prototype, AxiosURLSearchParams_default;
var init_AxiosURLSearchParams = __esm(() => {
init_toFormData();
prototype = AxiosURLSearchParams.prototype;
prototype.append = function append(name, value) {
this._pairs.push([name, value]);
};
prototype.toString = function toString5(encoder) {
const _encode = encoder ? function(value) {
return encoder.call(this, value, encode);
} : encode;
return this._pairs.map(function each(pair) {
return _encode(pair[0]) + "=" + _encode(pair[1]);
}, "").join("&");
};
AxiosURLSearchParams_default = AxiosURLSearchParams;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/buildURL.js
function encode2(val) {
return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+");
}
function buildURL(url, params, options) {
if (!params) {
return url;
}
const _encode = options && options.encode || encode2;
const _options = utils_default.isFunction(options) ? {
serialize: options
} : options;
const serializeFn = _options && _options.serialize;
let serializedParams;
if (serializeFn) {
serializedParams = serializeFn(params, _options);
} else {
serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, _options).toString(_encode);
}
if (serializedParams) {
const hashmarkIndex = url.indexOf("#");
if (hashmarkIndex !== -1) {
url = url.slice(0, hashmarkIndex);
}
url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
}
return url;
}
var init_buildURL = __esm(() => {
init_utils();
init_AxiosURLSearchParams();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/InterceptorManager.js
class InterceptorManager {
constructor() {
this.handlers = [];
}
use(fulfilled, rejected, options) {
this.handlers.push({
fulfilled,
rejected,
synchronous: options ? options.synchronous : false,
runWhen: options ? options.runWhen : null
});
return this.handlers.length - 1;
}
eject(id) {
if (this.handlers[id]) {
this.handlers[id] = null;
}
}
clear() {
if (this.handlers) {
this.handlers = [];
}
}
forEach(fn) {
utils_default.forEach(this.handlers, function forEachHandler(h2) {
if (h2 !== null) {
fn(h2);
}
});
}
}
var InterceptorManager_default;
var init_InterceptorManager = __esm(() => {
init_utils();
InterceptorManager_default = InterceptorManager;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/defaults/transitional.js
var transitional_default;
var init_transitional = __esm(() => {
transitional_default = {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false,
legacyInterceptorReqResOrdering: true
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/platform/node/classes/URLSearchParams.js
import url from "url";
var URLSearchParams_default;
var init_URLSearchParams = __esm(() => {
URLSearchParams_default = url.URLSearchParams;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/platform/node/index.js
import crypto2 from "crypto";
var ALPHA = "abcdefghijklmnopqrstuvwxyz", DIGIT = "0123456789", ALPHABET, generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
let str = "";
const { length } = alphabet;
const randomValues = new Uint32Array(size);
crypto2.randomFillSync(randomValues);
for (let i2 = 0;i2 < size; i2++) {
str += alphabet[randomValues[i2] % length];
}
return str;
}, node_default;
var init_node3 = __esm(() => {
init_URLSearchParams();
init_FormData();
ALPHABET = {
DIGIT,
ALPHA,
ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
};
node_default = {
isNode: true,
classes: {
URLSearchParams: URLSearchParams_default,
FormData: FormData_default,
Blob: typeof Blob !== "undefined" && Blob || null
},
ALPHABET,
generateString,
protocols: ["http", "https", "file", "data"]
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/platform/common/utils.js
var exports_utils = {};
__export(exports_utils, {
origin: () => origin,
navigator: () => _navigator,
hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv,
hasStandardBrowserEnv: () => hasStandardBrowserEnv,
hasBrowserEnv: () => hasBrowserEnv
});
var hasBrowserEnv, _navigator, hasStandardBrowserEnv, hasStandardBrowserWebWorkerEnv, origin;
var init_utils2 = __esm(() => {
hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined";
_navigator = typeof navigator === "object" && navigator || undefined;
hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ["ReactNative", "NativeScript", "NS"].indexOf(_navigator.product) < 0);
hasStandardBrowserWebWorkerEnv = (() => {
return typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
})();
origin = hasBrowserEnv && window.location.href || "http://localhost";
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/platform/index.js
var platform_default;
var init_platform = __esm(() => {
init_node3();
init_utils2();
platform_default = {
...exports_utils,
...node_default
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/toURLEncodedForm.js
function toURLEncodedForm(data, options) {
return toFormData_default(data, new platform_default.classes.URLSearchParams, {
visitor: function(value, key, path7, helpers3) {
if (platform_default.isNode && utils_default.isBuffer(value)) {
this.append(key, value.toString("base64"));
return false;
}
return helpers3.defaultVisitor.apply(this, arguments);
},
...options
});
}
var init_toURLEncodedForm = __esm(() => {
init_utils();
init_toFormData();
init_platform();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/formDataToJSON.js
function parsePropPath(name) {
return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
return match[0] === "[]" ? "" : match[1] || match[0];
});
}
function arrayToObject(arr) {
const obj = {};
const keys2 = Object.keys(arr);
let i2;
const len = keys2.length;
let key;
for (i2 = 0;i2 < len; i2++) {
key = keys2[i2];
obj[key] = arr[key];
}
return obj;
}
function formDataToJSON(formData) {
function buildPath(path7, value, target, index) {
let name = path7[index++];
if (name === "__proto__")
return true;
const isNumericKey = Number.isFinite(+name);
const isLast = index >= path7.length;
name = !name && utils_default.isArray(target) ? target.length : name;
if (isLast) {
if (utils_default.hasOwnProp(target, name)) {
target[name] = [target[name], value];
} else {
target[name] = value;
}
return !isNumericKey;
}
if (!target[name] || !utils_default.isObject(target[name])) {
target[name] = [];
}
const result = buildPath(path7, value, target[name], index);
if (result && utils_default.isArray(target[name])) {
target[name] = arrayToObject(target[name]);
}
return !isNumericKey;
}
if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) {
const obj = {};
utils_default.forEachEntry(formData, (name, value) => {
buildPath(parsePropPath(name), value, obj, 0);
});
return obj;
}
return null;
}
var formDataToJSON_default;
var init_formDataToJSON = __esm(() => {
init_utils();
formDataToJSON_default = formDataToJSON;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/defaults/index.js
function stringifySafely(rawValue, parser, encoder) {
if (utils_default.isString(rawValue)) {
try {
(parser || JSON.parse)(rawValue);
return utils_default.trim(rawValue);
} catch (e) {
if (e.name !== "SyntaxError") {
throw e;
}
}
}
return (encoder || JSON.stringify)(rawValue);
}
var defaults, defaults_default;
var init_defaults = __esm(() => {
init_utils();
init_AxiosError();
init_transitional();
init_toFormData();
init_toURLEncodedForm();
init_platform();
init_formDataToJSON();
defaults = {
transitional: transitional_default,
adapter: ["xhr", "http", "fetch"],
transformRequest: [
function transformRequest(data, headers) {
const contentType = headers.getContentType() || "";
const hasJSONContentType = contentType.indexOf("application/json") > -1;
const isObjectPayload = utils_default.isObject(data);
if (isObjectPayload && utils_default.isHTMLForm(data)) {
data = new FormData(data);
}
const isFormData2 = utils_default.isFormData(data);
if (isFormData2) {
return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data;
}
if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data) || utils_default.isReadableStream(data)) {
return data;
}
if (utils_default.isArrayBufferView(data)) {
return data.buffer;
}
if (utils_default.isURLSearchParams(data)) {
headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
return data.toString();
}
let isFileList2;
if (isObjectPayload) {
if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
return toURLEncodedForm(data, this.formSerializer).toString();
}
if ((isFileList2 = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) {
const _FormData = this.env && this.env.FormData;
return toFormData_default(isFileList2 ? { "files[]": data } : data, _FormData && new _FormData, this.formSerializer);
}
}
if (isObjectPayload || hasJSONContentType) {
headers.setContentType("application/json", false);
return stringifySafely(data);
}
return data;
}
],
transformResponse: [
function transformResponse(data) {
const transitional = this.transitional || defaults.transitional;
const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
const JSONRequested = this.responseType === "json";
if (utils_default.isResponse(data) || utils_default.isReadableStream(data)) {
return data;
}
if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
const silentJSONParsing = transitional && transitional.silentJSONParsing;
const strictJSONParsing = !silentJSONParsing && JSONRequested;
try {
return JSON.parse(data, this.parseReviver);
} catch (e) {
if (strictJSONParsing) {
if (e.name === "SyntaxError") {
throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response);
}
throw e;
}
}
}
return data;
}
],
timeout: 0,
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN",
maxContentLength: -1,
maxBodyLength: -1,
env: {
FormData: platform_default.classes.FormData,
Blob: platform_default.classes.Blob
},
validateStatus: function validateStatus(status) {
return status >= 200 && status < 300;
},
headers: {
common: {
Accept: "application/json, text/plain, */*",
"Content-Type": undefined
}
}
};
utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
defaults.headers[method] = {};
});
defaults_default = defaults;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/parseHeaders.js
var ignoreDuplicateOf, parseHeaders_default = (rawHeaders) => {
const parsed = {};
let key;
let val;
let i2;
rawHeaders && rawHeaders.split(`
`).forEach(function parser(line) {
i2 = line.indexOf(":");
key = line.substring(0, i2).trim().toLowerCase();
val = line.substring(i2 + 1).trim();
if (!key || parsed[key] && ignoreDuplicateOf[key]) {
return;
}
if (key === "set-cookie") {
if (parsed[key]) {
parsed[key].push(val);
} else {
parsed[key] = [val];
}
} else {
parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
}
});
return parsed;
};
var init_parseHeaders = __esm(() => {
init_utils();
ignoreDuplicateOf = utils_default.toObjectSet([
"age",
"authorization",
"content-length",
"content-type",
"etag",
"expires",
"from",
"host",
"if-modified-since",
"if-unmodified-since",
"last-modified",
"location",
"max-forwards",
"proxy-authorization",
"referer",
"retry-after",
"user-agent"
]);
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/AxiosHeaders.js
function normalizeHeader(header) {
return header && String(header).trim().toLowerCase();
}
function normalizeValue(value) {
if (value === false || value == null) {
return value;
}
return utils_default.isArray(value) ? value.map(normalizeValue) : String(value).replace(/[\r\n]+$/, "");
}
function parseTokens(str) {
const tokens = Object.create(null);
const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
let match;
while (match = tokensRE.exec(str)) {
tokens[match[1]] = match[2];
}
return tokens;
}
function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) {
if (utils_default.isFunction(filter2)) {
return filter2.call(this, value, header);
}
if (isHeaderNameFilter) {
value = header;
}
if (!utils_default.isString(value))
return;
if (utils_default.isString(filter2)) {
return value.indexOf(filter2) !== -1;
}
if (utils_default.isRegExp(filter2)) {
return filter2.test(value);
}
}
function formatHeader(header) {
return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w2, char, str) => {
return char.toUpperCase() + str;
});
}
function buildAccessors(obj, header) {
const accessorName = utils_default.toCamelCase(" " + header);
["get", "set", "has"].forEach((methodName) => {
Object.defineProperty(obj, methodName + accessorName, {
value: function(arg1, arg2, arg3) {
return this[methodName].call(this, header, arg1, arg2, arg3);
},
configurable: true
});
});
}
var $internals, isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()), AxiosHeaders, AxiosHeaders_default;
var init_AxiosHeaders = __esm(() => {
init_utils();
init_parseHeaders();
$internals = Symbol("internals");
AxiosHeaders = class AxiosHeaders {
constructor(headers) {
headers && this.set(headers);
}
set(header, valueOrRewrite, rewrite) {
const self2 = this;
function setHeader(_value, _header, _rewrite) {
const lHeader = normalizeHeader(_header);
if (!lHeader) {
throw new Error("header name must be a non-empty string");
}
const key = utils_default.findKey(self2, lHeader);
if (!key || self2[key] === undefined || _rewrite === true || _rewrite === undefined && self2[key] !== false) {
self2[key || _header] = normalizeValue(_value);
}
}
const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
if (utils_default.isPlainObject(header) || header instanceof this.constructor) {
setHeaders(header, valueOrRewrite);
} else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
setHeaders(parseHeaders_default(header), valueOrRewrite);
} else if (utils_default.isObject(header) && utils_default.isIterable(header)) {
let obj = {}, dest, key;
for (const entry of header) {
if (!utils_default.isArray(entry)) {
throw TypeError("Object iterator must return a key-value pair");
}
obj[key = entry[0]] = (dest = obj[key]) ? utils_default.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
}
setHeaders(obj, valueOrRewrite);
} else {
header != null && setHeader(valueOrRewrite, header, rewrite);
}
return this;
}
get(header, parser) {
header = normalizeHeader(header);
if (header) {
const key = utils_default.findKey(this, header);
if (key) {
const value = this[key];
if (!parser) {
return value;
}
if (parser === true) {
return parseTokens(value);
}
if (utils_default.isFunction(parser)) {
return parser.call(this, value, key);
}
if (utils_default.isRegExp(parser)) {
return parser.exec(value);
}
throw new TypeError("parser must be boolean|regexp|function");
}
}
}
has(header, matcher) {
header = normalizeHeader(header);
if (header) {
const key = utils_default.findKey(this, header);
return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
}
return false;
}
delete(header, matcher) {
const self2 = this;
let deleted = false;
function deleteHeader(_header) {
_header = normalizeHeader(_header);
if (_header) {
const key = utils_default.findKey(self2, _header);
if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
delete self2[key];
deleted = true;
}
}
}
if (utils_default.isArray(header)) {
header.forEach(deleteHeader);
} else {
deleteHeader(header);
}
return deleted;
}
clear(matcher) {
const keys2 = Object.keys(this);
let i2 = keys2.length;
let deleted = false;
while (i2--) {
const key = keys2[i2];
if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
delete this[key];
deleted = true;
}
}
return deleted;
}
normalize(format2) {
const self2 = this;
const headers = {};
utils_default.forEach(this, (value, header) => {
const key = utils_default.findKey(headers, header);
if (key) {
self2[key] = normalizeValue(value);
delete self2[header];
return;
}
const normalized = format2 ? formatHeader(header) : String(header).trim();
if (normalized !== header) {
delete self2[header];
}
self2[normalized] = normalizeValue(value);
headers[normalized] = true;
});
return this;
}
concat(...targets) {
return this.constructor.concat(this, ...targets);
}
toJSON(asStrings) {
const obj = Object.create(null);
utils_default.forEach(this, (value, header) => {
value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value);
});
return obj;
}
[Symbol.iterator]() {
return Object.entries(this.toJSON())[Symbol.iterator]();
}
toString() {
return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join(`
`);
}
getSetCookie() {
return this.get("set-cookie") || [];
}
get [Symbol.toStringTag]() {
return "AxiosHeaders";
}
static from(thing) {
return thing instanceof this ? thing : new this(thing);
}
static concat(first, ...targets) {
const computed = new this(first);
targets.forEach((target) => computed.set(target));
return computed;
}
static accessor(header) {
const internals = this[$internals] = this[$internals] = {
accessors: {}
};
const accessors = internals.accessors;
const prototype2 = this.prototype;
function defineAccessor(_header) {
const lHeader = normalizeHeader(_header);
if (!accessors[lHeader]) {
buildAccessors(prototype2, _header);
accessors[lHeader] = true;
}
}
utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
return this;
}
};
AxiosHeaders.accessor([
"Content-Type",
"Content-Length",
"Accept",
"Accept-Encoding",
"User-Agent",
"Authorization"
]);
utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {
let mapped = key[0].toUpperCase() + key.slice(1);
return {
get: () => value,
set(headerValue) {
this[mapped] = headerValue;
}
};
});
utils_default.freezeMethods(AxiosHeaders);
AxiosHeaders_default = AxiosHeaders;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/transformData.js
function transformData(fns, response) {
const config = this || defaults_default;
const context = response || config;
const headers = AxiosHeaders_default.from(context.headers);
let data = context.data;
utils_default.forEach(fns, function transform(fn) {
data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
});
headers.normalize();
return data;
}
var init_transformData = __esm(() => {
init_utils();
init_defaults();
init_AxiosHeaders();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/cancel/isCancel.js
function isCancel(value) {
return !!(value && value.__CANCEL__);
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/cancel/CanceledError.js
var CanceledError, CanceledError_default;
var init_CanceledError = __esm(() => {
init_AxiosError();
CanceledError = class CanceledError extends AxiosError_default {
constructor(message, config, request) {
super(message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config, request);
this.name = "CanceledError";
this.__CANCEL__ = true;
}
};
CanceledError_default = CanceledError;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/settle.js
function settle(resolve2, reject, response) {
const validateStatus2 = response.config.validateStatus;
if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
resolve2(response);
} else {
reject(new AxiosError_default("Request failed with status code " + response.status, [AxiosError_default.ERR_BAD_REQUEST, AxiosError_default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response));
}
}
var init_settle = __esm(() => {
init_AxiosError();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/isAbsoluteURL.js
function isAbsoluteURL2(url2) {
if (typeof url2 !== "string") {
return false;
}
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2);
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/combineURLs.js
function combineURLs(baseURL, relativeURL) {
return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/buildFullPath.js
function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
let isRelativeUrl = !isAbsoluteURL2(requestedURL);
if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
return combineURLs(baseURL, requestedURL);
}
return requestedURL;
}
var init_buildFullPath = () => {};
// node_modules/.pnpm/proxy-from-env@2.1.0/node_modules/proxy-from-env/index.js
function parseUrl(urlString) {
try {
return new URL(urlString);
} catch {
return null;
}
}
function getProxyForUrl(url2) {
var parsedUrl = (typeof url2 === "string" ? parseUrl(url2) : url2) || {};
var proto2 = parsedUrl.protocol;
var hostname = parsedUrl.host;
var port = parsedUrl.port;
if (typeof hostname !== "string" || !hostname || typeof proto2 !== "string") {
return "";
}
proto2 = proto2.split(":", 1)[0];
hostname = hostname.replace(/:\d*$/, "");
port = parseInt(port) || DEFAULT_PORTS[proto2] || 0;
if (!shouldProxy(hostname, port)) {
return "";
}
var proxy = getEnv2(proto2 + "_proxy") || getEnv2("all_proxy");
if (proxy && proxy.indexOf("://") === -1) {
proxy = proto2 + "://" + proxy;
}
return proxy;
}
function shouldProxy(hostname, port) {
var NO_PROXY = getEnv2("no_proxy").toLowerCase();
if (!NO_PROXY) {
return true;
}
if (NO_PROXY === "*") {
return false;
}
return NO_PROXY.split(/[,\s]/).every(function(proxy) {
if (!proxy) {
return true;
}
var parsedProxy = proxy.match(/^(.+):(\d+)$/);
var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
if (parsedProxyPort && parsedProxyPort !== port) {
return true;
}
if (!/^[.*]/.test(parsedProxyHostname)) {
return hostname !== parsedProxyHostname;
}
if (parsedProxyHostname.charAt(0) === "*") {
parsedProxyHostname = parsedProxyHostname.slice(1);
}
return !hostname.endsWith(parsedProxyHostname);
});
}
function getEnv2(key) {
return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || "";
}
var DEFAULT_PORTS;
var init_proxy_from_env = __esm(() => {
DEFAULT_PORTS = {
ftp: 21,
gopher: 70,
http: 80,
https: 443,
ws: 80,
wss: 443
};
});
// node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
var require_ms = __commonJS((exports, module) => {
var s = 1000;
var m2 = s * 60;
var h2 = m2 * 60;
var d = h2 * 24;
var w2 = d * 7;
var y2 = d * 365.25;
module.exports = function(val, options) {
options = options || {};
var type = typeof val;
if (type === "string" && val.length > 0) {
return parse(val);
} else if (type === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
};
function parse(str) {
str = String(str);
if (str.length > 100) {
return;
}
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
if (!match) {
return;
}
var n2 = parseFloat(match[1]);
var type = (match[2] || "ms").toLowerCase();
switch (type) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n2 * y2;
case "weeks":
case "week":
case "w":
return n2 * w2;
case "days":
case "day":
case "d":
return n2 * d;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n2 * h2;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n2 * m2;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n2 * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n2;
default:
return;
}
}
function fmtShort(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return Math.round(ms / d) + "d";
}
if (msAbs >= h2) {
return Math.round(ms / h2) + "h";
}
if (msAbs >= m2) {
return Math.round(ms / m2) + "m";
}
if (msAbs >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return plural(ms, msAbs, d, "day");
}
if (msAbs >= h2) {
return plural(ms, msAbs, h2, "hour");
}
if (msAbs >= m2) {
return plural(ms, msAbs, m2, "minute");
}
if (msAbs >= s) {
return plural(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural(ms, msAbs, n2, name) {
var isPlural = msAbs >= n2 * 1.5;
return Math.round(ms / n2) + " " + name + (isPlural ? "s" : "");
}
});
// node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/common.js
var require_common = __commonJS((exports, module) => {
function setup(env2) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
createDebug.coerce = coerce;
createDebug.disable = disable;
createDebug.enable = enable;
createDebug.enabled = enabled;
createDebug.humanize = require_ms();
createDebug.destroy = destroy;
Object.keys(env2).forEach((key) => {
createDebug[key] = env2[key];
});
createDebug.names = [];
createDebug.skips = [];
createDebug.formatters = {};
function selectColor(namespace) {
let hash2 = 0;
for (let i2 = 0;i2 < namespace.length; i2++) {
hash2 = (hash2 << 5) - hash2 + namespace.charCodeAt(i2);
hash2 |= 0;
}
return createDebug.colors[Math.abs(hash2) % createDebug.colors.length];
}
createDebug.selectColor = selectColor;
function createDebug(namespace) {
let prevTime;
let enableOverride = null;
let namespacesCache;
let enabledCache;
function debug(...args) {
if (!debug.enabled) {
return;
}
const self2 = debug;
const curr = Number(new Date);
const ms = curr - (prevTime || curr);
self2.diff = ms;
self2.prev = prevTime;
self2.curr = curr;
prevTime = curr;
args[0] = createDebug.coerce(args[0]);
if (typeof args[0] !== "string") {
args.unshift("%O");
}
let index = 0;
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format2) => {
if (match === "%%") {
return "%";
}
index++;
const formatter = createDebug.formatters[format2];
if (typeof formatter === "function") {
const val = args[index];
match = formatter.call(self2, val);
args.splice(index, 1);
index--;
}
return match;
});
createDebug.formatArgs.call(self2, args);
const logFn = self2.log || createDebug.log;
logFn.apply(self2, args);
}
debug.namespace = namespace;
debug.useColors = createDebug.useColors();
debug.color = createDebug.selectColor(namespace);
debug.extend = extend2;
debug.destroy = createDebug.destroy;
Object.defineProperty(debug, "enabled", {
enumerable: true,
configurable: false,
get: () => {
if (enableOverride !== null) {
return enableOverride;
}
if (namespacesCache !== createDebug.namespaces) {
namespacesCache = createDebug.namespaces;
enabledCache = createDebug.enabled(namespace);
}
return enabledCache;
},
set: (v2) => {
enableOverride = v2;
}
});
if (typeof createDebug.init === "function") {
createDebug.init(debug);
}
return debug;
}
function extend2(namespace, delimiter) {
const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
newDebug.log = this.log;
return newDebug;
}
function enable(namespaces) {
createDebug.save(namespaces);
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
for (const ns of split) {
if (ns[0] === "-") {
createDebug.skips.push(ns.slice(1));
} else {
createDebug.names.push(ns);
}
}
}
function matchesTemplate(search, template) {
let searchIndex = 0;
let templateIndex = 0;
let starIndex = -1;
let matchIndex = 0;
while (searchIndex < search.length) {
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
if (template[templateIndex] === "*") {
starIndex = templateIndex;
matchIndex = searchIndex;
templateIndex++;
} else {
searchIndex++;
templateIndex++;
}
} else if (starIndex !== -1) {
templateIndex = starIndex + 1;
matchIndex++;
searchIndex = matchIndex;
} else {
return false;
}
}
while (templateIndex < template.length && template[templateIndex] === "*") {
templateIndex++;
}
return templateIndex === template.length;
}
function disable() {
const namespaces = [
...createDebug.names,
...createDebug.skips.map((namespace) => "-" + namespace)
].join(",");
createDebug.enable("");
return namespaces;
}
function enabled(name) {
for (const skip of createDebug.skips) {
if (matchesTemplate(name, skip)) {
return false;
}
}
for (const ns of createDebug.names) {
if (matchesTemplate(name, ns)) {
return true;
}
}
return false;
}
function coerce(val) {
if (val instanceof Error) {
return val.stack || val.message;
}
return val;
}
function destroy() {
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
createDebug.enable(createDebug.load());
return createDebug;
}
module.exports = setup;
});
// node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/browser.js
var require_browser = __commonJS((exports, module) => {
exports.formatArgs = formatArgs;
exports.save = save;
exports.load = load2;
exports.useColors = useColors;
exports.storage = localstorage();
exports.destroy = (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
}
};
})();
exports.colors = [
"#0000CC",
"#0000FF",
"#0033CC",
"#0033FF",
"#0066CC",
"#0066FF",
"#0099CC",
"#0099FF",
"#00CC00",
"#00CC33",
"#00CC66",
"#00CC99",
"#00CCCC",
"#00CCFF",
"#3300CC",
"#3300FF",
"#3333CC",
"#3333FF",
"#3366CC",
"#3366FF",
"#3399CC",
"#3399FF",
"#33CC00",
"#33CC33",
"#33CC66",
"#33CC99",
"#33CCCC",
"#33CCFF",
"#6600CC",
"#6600FF",
"#6633CC",
"#6633FF",
"#66CC00",
"#66CC33",
"#9900CC",
"#9900FF",
"#9933CC",
"#9933FF",
"#99CC00",
"#99CC33",
"#CC0000",
"#CC0033",
"#CC0066",
"#CC0099",
"#CC00CC",
"#CC00FF",
"#CC3300",
"#CC3333",
"#CC3366",
"#CC3399",
"#CC33CC",
"#CC33FF",
"#CC6600",
"#CC6633",
"#CC9900",
"#CC9933",
"#CCCC00",
"#CCCC33",
"#FF0000",
"#FF0033",
"#FF0066",
"#FF0099",
"#FF00CC",
"#FF00FF",
"#FF3300",
"#FF3333",
"#FF3366",
"#FF3399",
"#FF33CC",
"#FF33FF",
"#FF6600",
"#FF6633",
"#FF9900",
"#FF9933",
"#FFCC00",
"#FFCC33"
];
function useColors() {
if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
return true;
}
if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
return false;
}
let m2;
return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && (m2 = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m2[1], 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
}
function formatArgs(args) {
args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
if (!this.useColors) {
return;
}
const c3 = "color: " + this.color;
args.splice(1, 0, c3, "color: inherit");
let index = 0;
let lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, (match) => {
if (match === "%%") {
return;
}
index++;
if (match === "%c") {
lastC = index;
}
});
args.splice(lastC, 0, c3);
}
exports.log = console.debug || console.log || (() => {});
function save(namespaces) {
try {
if (namespaces) {
exports.storage.setItem("debug", namespaces);
} else {
exports.storage.removeItem("debug");
}
} catch (error2) {}
}
function load2() {
let r;
try {
r = exports.storage.getItem("debug") || exports.storage.getItem("DEBUG");
} catch (error2) {}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
function localstorage() {
try {
return localStorage;
} catch (error2) {}
}
module.exports = require_common()(exports);
var { formatters } = module.exports;
formatters.j = function(v2) {
try {
return JSON.stringify(v2);
} catch (error2) {
return "[UnexpectedJSONParseError]: " + error2.message;
}
};
});
// node_modules/.pnpm/supports-color@10.2.2/node_modules/supports-color/index.js
var exports_supports_color = {};
__export(exports_supports_color, {
default: () => supports_color_default2,
createSupportsColor: () => createSupportsColor2
});
import process11 from "node:process";
import os2 from "node:os";
import tty4 from "node:tty";
function hasFlag2(flag, argv = globalThis.Deno ? globalThis.Deno.args : process11.argv) {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix + flag);
const terminatorPosition = argv.indexOf("--");
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
function envForceColor2() {
if (!("FORCE_COLOR" in env2)) {
return;
}
if (env2.FORCE_COLOR === "true") {
return 1;
}
if (env2.FORCE_COLOR === "false") {
return 0;
}
if (env2.FORCE_COLOR.length === 0) {
return 1;
}
const level = Math.min(Number.parseInt(env2.FORCE_COLOR, 10), 3);
if (![0, 1, 2, 3].includes(level)) {
return;
}
return level;
}
function translateLevel2(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3
};
}
function _supportsColor2(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
const noFlagForceColor = envForceColor2();
if (noFlagForceColor !== undefined) {
flagForceColor2 = noFlagForceColor;
}
const forceColor = sniffFlags ? flagForceColor2 : noFlagForceColor;
if (forceColor === 0) {
return 0;
}
if (sniffFlags) {
if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) {
return 3;
}
if (hasFlag2("color=256")) {
return 2;
}
}
if ("TF_BUILD" in env2 && "AGENT_NAME" in env2) {
return 1;
}
if (haveStream && !streamIsTTY && forceColor === undefined) {
return 0;
}
const min = forceColor || 0;
if (env2.TERM === "dumb") {
return min;
}
if (process11.platform === "win32") {
const osRelease = os2.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env2) {
if (["GITHUB_ACTIONS", "GITEA_ACTIONS", "CIRCLECI"].some((key) => (key in env2))) {
return 3;
}
if (["TRAVIS", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => (sign in env2)) || env2.CI_NAME === "codeship") {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env2) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0;
}
if (env2.COLORTERM === "truecolor") {
return 3;
}
if (env2.TERM === "xterm-kitty") {
return 3;
}
if (env2.TERM === "xterm-ghostty") {
return 3;
}
if (env2.TERM === "wezterm") {
return 3;
}
if ("TERM_PROGRAM" in env2) {
const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env2.TERM_PROGRAM) {
case "iTerm.app": {
return version >= 3 ? 3 : 2;
}
case "Apple_Terminal": {
return 2;
}
}
}
if (/-256(color)?$/i.test(env2.TERM)) {
return 2;
}
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) {
return 1;
}
if ("COLORTERM" in env2) {
return 1;
}
return min;
}
function createSupportsColor2(stream, options = {}) {
const level = _supportsColor2(stream, {
streamIsTTY: stream && stream.isTTY,
...options
});
return translateLevel2(level);
}
var env2, flagForceColor2, supportsColor2, supports_color_default2;
var init_supports_color2 = __esm(() => {
({ env: env2 } = process11);
if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false") || hasFlag2("color=never")) {
flagForceColor2 = 0;
} else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) {
flagForceColor2 = 1;
}
supportsColor2 = {
stdout: createSupportsColor2({ isTTY: tty4.isatty(1) }),
stderr: createSupportsColor2({ isTTY: tty4.isatty(2) })
};
supports_color_default2 = supportsColor2;
});
// node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/node.js
var require_node = __commonJS((exports, module) => {
var tty5 = __require("tty");
var util = __require("util");
exports.init = init;
exports.log = log;
exports.formatArgs = formatArgs;
exports.save = save;
exports.load = load2;
exports.useColors = useColors;
exports.destroy = util.deprecate(() => {}, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
exports.colors = [6, 2, 3, 4, 5, 1];
try {
const supportsColor3 = (init_supports_color2(), __toCommonJS(exports_supports_color));
if (supportsColor3 && (supportsColor3.stderr || supportsColor3).level >= 2) {
exports.colors = [
20,
21,
26,
27,
32,
33,
38,
39,
40,
41,
42,
43,
44,
45,
56,
57,
62,
63,
68,
69,
74,
75,
76,
77,
78,
79,
80,
81,
92,
93,
98,
99,
112,
113,
128,
129,
134,
135,
148,
149,
160,
161,
162,
163,
164,
165,
166,
167,
168,
169,
170,
171,
172,
173,
178,
179,
184,
185,
196,
197,
198,
199,
200,
201,
202,
203,
204,
205,
206,
207,
208,
209,
214,
215,
220,
221
];
}
} catch (error2) {}
exports.inspectOpts = Object.keys(process.env).filter((key) => {
return /^debug_/i.test(key);
}).reduce((obj, key) => {
const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k2) => {
return k2.toUpperCase();
});
let val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) {
val = true;
} else if (/^(no|off|false|disabled)$/i.test(val)) {
val = false;
} else if (val === "null") {
val = null;
} else {
val = Number(val);
}
obj[prop] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty5.isatty(process.stderr.fd);
}
function formatArgs(args) {
const { namespace: name, useColors: useColors2 } = this;
if (useColors2) {
const c3 = this.color;
const colorCode = "\x1B[3" + (c3 < 8 ? c3 : "8;5;" + c3);
const prefix = ` ${colorCode};1m${name} \x1B[0m`;
args[0] = prefix + args[0].split(`
`).join(`
` + prefix);
args.push(colorCode + "m+" + module.exports.humanize(this.diff) + "\x1B[0m");
} else {
args[0] = getDate() + name + " " + args[0];
}
}
function getDate() {
if (exports.inspectOpts.hideDate) {
return "";
}
return new Date().toISOString() + " ";
}
function log(...args) {
return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + `
`);
}
function save(namespaces) {
if (namespaces) {
process.env.DEBUG = namespaces;
} else {
delete process.env.DEBUG;
}
}
function load2() {
return process.env.DEBUG;
}
function init(debug) {
debug.inspectOpts = {};
const keys2 = Object.keys(exports.inspectOpts);
for (let i2 = 0;i2 < keys2.length; i2++) {
debug.inspectOpts[keys2[i2]] = exports.inspectOpts[keys2[i2]];
}
}
module.exports = require_common()(exports);
var { formatters } = module.exports;
formatters.o = function(v2) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v2, this.inspectOpts).split(`
`).map((str) => str.trim()).join(" ");
};
formatters.O = function(v2) {
this.inspectOpts.colors = this.useColors;
return util.inspect(v2, this.inspectOpts);
};
});
// node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js
var require_src = __commonJS((exports, module) => {
if (typeof process === "undefined" || process.type === "renderer" || false || process.__nwjs) {
module.exports = require_browser();
} else {
module.exports = require_node();
}
});
// node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/debug.js
var require_debug = __commonJS((exports, module) => {
var debug;
module.exports = function() {
if (!debug) {
try {
debug = require_src()("follow-redirects");
} catch (error2) {}
if (typeof debug !== "function") {
debug = function() {};
}
}
debug.apply(null, arguments);
};
});
// node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/index.js
var require_follow_redirects = __commonJS((exports, module) => {
var url2 = __require("url");
var URL2 = url2.URL;
var http = __require("http");
var https = __require("https");
var Writable4 = __require("stream").Writable;
var assert = __require("assert");
var debug = require_debug();
(function detectUnsupportedEnvironment() {
var looksLikeNode = typeof process !== "undefined";
var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
var looksLikeV8 = isFunction3(Error.captureStackTrace);
if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
console.warn("The follow-redirects package should be excluded from browser builds.");
}
})();
var useNativeURL = false;
try {
assert(new URL2(""));
} catch (error2) {
useNativeURL = error2.code === "ERR_INVALID_URL";
}
var preservedUrlFields = [
"auth",
"host",
"hostname",
"href",
"path",
"pathname",
"port",
"protocol",
"query",
"search",
"hash"
];
var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
var eventHandlers = Object.create(null);
events.forEach(function(event) {
eventHandlers[event] = function(arg1, arg2, arg3) {
this._redirectable.emit(event, arg1, arg2, arg3);
};
});
var InvalidUrlError = createErrorType("ERR_INVALID_URL", "Invalid URL", TypeError);
var RedirectionError = createErrorType("ERR_FR_REDIRECTION_FAILURE", "Redirected request failed");
var TooManyRedirectsError = createErrorType("ERR_FR_TOO_MANY_REDIRECTS", "Maximum number of redirects exceeded", RedirectionError);
var MaxBodyLengthExceededError = createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED", "Request body larger than maxBodyLength limit");
var WriteAfterEndError = createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");
var destroy = Writable4.prototype.destroy || noop7;
function RedirectableRequest(options, responseCallback) {
Writable4.call(this);
this._sanitizeOptions(options);
this._options = options;
this._ended = false;
this._ending = false;
this._redirectCount = 0;
this._redirects = [];
this._requestBodyLength = 0;
this._requestBodyBuffers = [];
if (responseCallback) {
this.on("response", responseCallback);
}
var self2 = this;
this._onNativeResponse = function(response) {
try {
self2._processResponse(response);
} catch (cause) {
self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
}
};
this._performRequest();
}
RedirectableRequest.prototype = Object.create(Writable4.prototype);
RedirectableRequest.prototype.abort = function() {
destroyRequest(this._currentRequest);
this._currentRequest.abort();
this.emit("abort");
};
RedirectableRequest.prototype.destroy = function(error2) {
destroyRequest(this._currentRequest, error2);
destroy.call(this, error2);
return this;
};
RedirectableRequest.prototype.write = function(data, encoding, callback) {
if (this._ending) {
throw new WriteAfterEndError;
}
if (!isString2(data) && !isBuffer3(data)) {
throw new TypeError("data should be a string, Buffer or Uint8Array");
}
if (isFunction3(encoding)) {
callback = encoding;
encoding = null;
}
if (data.length === 0) {
if (callback) {
callback();
}
return;
}
if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
this._requestBodyLength += data.length;
this._requestBodyBuffers.push({ data, encoding });
this._currentRequest.write(data, encoding, callback);
} else {
this.emit("error", new MaxBodyLengthExceededError);
this.abort();
}
};
RedirectableRequest.prototype.end = function(data, encoding, callback) {
if (isFunction3(data)) {
callback = data;
data = encoding = null;
} else if (isFunction3(encoding)) {
callback = encoding;
encoding = null;
}
if (!data) {
this._ended = this._ending = true;
this._currentRequest.end(null, null, callback);
} else {
var self2 = this;
var currentRequest = this._currentRequest;
this.write(data, encoding, function() {
self2._ended = true;
currentRequest.end(null, null, callback);
});
this._ending = true;
}
};
RedirectableRequest.prototype.setHeader = function(name, value) {
this._options.headers[name] = value;
this._currentRequest.setHeader(name, value);
};
RedirectableRequest.prototype.removeHeader = function(name) {
delete this._options.headers[name];
this._currentRequest.removeHeader(name);
};
RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
var self2 = this;
function destroyOnTimeout(socket) {
socket.setTimeout(msecs);
socket.removeListener("timeout", socket.destroy);
socket.addListener("timeout", socket.destroy);
}
function startTimer(socket) {
if (self2._timeout) {
clearTimeout(self2._timeout);
}
self2._timeout = setTimeout(function() {
self2.emit("timeout");
clearTimer();
}, msecs);
destroyOnTimeout(socket);
}
function clearTimer() {
if (self2._timeout) {
clearTimeout(self2._timeout);
self2._timeout = null;
}
self2.removeListener("abort", clearTimer);
self2.removeListener("error", clearTimer);
self2.removeListener("response", clearTimer);
self2.removeListener("close", clearTimer);
if (callback) {
self2.removeListener("timeout", callback);
}
if (!self2.socket) {
self2._currentRequest.removeListener("socket", startTimer);
}
}
if (callback) {
this.on("timeout", callback);
}
if (this.socket) {
startTimer(this.socket);
} else {
this._currentRequest.once("socket", startTimer);
}
this.on("socket", destroyOnTimeout);
this.on("abort", clearTimer);
this.on("error", clearTimer);
this.on("response", clearTimer);
this.on("close", clearTimer);
return this;
};
[
"flushHeaders",
"getHeader",
"setNoDelay",
"setSocketKeepAlive"
].forEach(function(method) {
RedirectableRequest.prototype[method] = function(a2, b2) {
return this._currentRequest[method](a2, b2);
};
});
["aborted", "connection", "socket"].forEach(function(property2) {
Object.defineProperty(RedirectableRequest.prototype, property2, {
get: function() {
return this._currentRequest[property2];
}
});
});
RedirectableRequest.prototype._sanitizeOptions = function(options) {
if (!options.headers) {
options.headers = {};
}
if (options.host) {
if (!options.hostname) {
options.hostname = options.host;
}
delete options.host;
}
if (!options.pathname && options.path) {
var searchPos = options.path.indexOf("?");
if (searchPos < 0) {
options.pathname = options.path;
} else {
options.pathname = options.path.substring(0, searchPos);
options.search = options.path.substring(searchPos);
}
}
};
RedirectableRequest.prototype._performRequest = function() {
var protocol = this._options.protocol;
var nativeProtocol = this._options.nativeProtocols[protocol];
if (!nativeProtocol) {
throw new TypeError("Unsupported protocol " + protocol);
}
if (this._options.agents) {
var scheme = protocol.slice(0, -1);
this._options.agent = this._options.agents[scheme];
}
var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
request._redirectable = this;
for (var event of events) {
request.on(event, eventHandlers[event]);
}
this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : this._options.path;
if (this._isRedirect) {
var i2 = 0;
var self2 = this;
var buffers = this._requestBodyBuffers;
(function writeNext(error2) {
if (request === self2._currentRequest) {
if (error2) {
self2.emit("error", error2);
} else if (i2 < buffers.length) {
var buffer = buffers[i2++];
if (!request.finished) {
request.write(buffer.data, buffer.encoding, writeNext);
}
} else if (self2._ended) {
request.end();
}
}
})();
}
};
RedirectableRequest.prototype._processResponse = function(response) {
var statusCode = response.statusCode;
if (this._options.trackRedirects) {
this._redirects.push({
url: this._currentUrl,
headers: response.headers,
statusCode
});
}
var location = response.headers.location;
if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
response.responseUrl = this._currentUrl;
response.redirects = this._redirects;
this.emit("response", response);
this._requestBodyBuffers = [];
return;
}
destroyRequest(this._currentRequest);
response.destroy();
if (++this._redirectCount > this._options.maxRedirects) {
throw new TooManyRedirectsError;
}
var requestHeaders;
var beforeRedirect = this._options.beforeRedirect;
if (beforeRedirect) {
requestHeaders = Object.assign({
Host: response.req.getHeader("host")
}, this._options.headers);
}
var method = this._options.method;
if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
this._options.method = "GET";
this._requestBodyBuffers = [];
removeMatchingHeaders(/^content-/i, this._options.headers);
}
var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
var currentUrlParts = parseUrl2(this._currentUrl);
var currentHost = currentHostHeader || currentUrlParts.host;
var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost }));
var redirectUrl = resolveUrl(location, currentUrl);
debug("redirecting to", redirectUrl.href);
this._isRedirect = true;
spreadUrlObject(redirectUrl, this._options);
if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
}
if (isFunction3(beforeRedirect)) {
var responseDetails = {
headers: response.headers,
statusCode
};
var requestDetails = {
url: currentUrl,
method,
headers: requestHeaders
};
beforeRedirect(this._options, responseDetails, requestDetails);
this._sanitizeOptions(this._options);
}
this._performRequest();
};
function wrap(protocols) {
var exports2 = {
maxRedirects: 21,
maxBodyLength: 10 * 1024 * 1024
};
var nativeProtocols = {};
Object.keys(protocols).forEach(function(scheme) {
var protocol = scheme + ":";
var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol);
function request(input, options, callback) {
if (isURL(input)) {
input = spreadUrlObject(input);
} else if (isString2(input)) {
input = spreadUrlObject(parseUrl2(input));
} else {
callback = options;
options = validateUrl(input);
input = { protocol };
}
if (isFunction3(options)) {
callback = options;
options = null;
}
options = Object.assign({
maxRedirects: exports2.maxRedirects,
maxBodyLength: exports2.maxBodyLength
}, input, options);
options.nativeProtocols = nativeProtocols;
if (!isString2(options.host) && !isString2(options.hostname)) {
options.hostname = "::1";
}
assert.equal(options.protocol, protocol, "protocol mismatch");
debug("options", options);
return new RedirectableRequest(options, callback);
}
function get2(input, options, callback) {
var wrappedRequest = wrappedProtocol.request(input, options, callback);
wrappedRequest.end();
return wrappedRequest;
}
Object.defineProperties(wrappedProtocol, {
request: { value: request, configurable: true, enumerable: true, writable: true },
get: { value: get2, configurable: true, enumerable: true, writable: true }
});
});
return exports2;
}
function noop7() {}
function parseUrl2(input) {
var parsed;
if (useNativeURL) {
parsed = new URL2(input);
} else {
parsed = validateUrl(url2.parse(input));
if (!isString2(parsed.protocol)) {
throw new InvalidUrlError({ input });
}
}
return parsed;
}
function resolveUrl(relative, base2) {
return useNativeURL ? new URL2(relative, base2) : parseUrl2(url2.resolve(base2, relative));
}
function validateUrl(input) {
if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
throw new InvalidUrlError({ input: input.href || input });
}
if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
throw new InvalidUrlError({ input: input.href || input });
}
return input;
}
function spreadUrlObject(urlObject, target) {
var spread = target || {};
for (var key of preservedUrlFields) {
spread[key] = urlObject[key];
}
if (spread.hostname.startsWith("[")) {
spread.hostname = spread.hostname.slice(1, -1);
}
if (spread.port !== "") {
spread.port = Number(spread.port);
}
spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
return spread;
}
function removeMatchingHeaders(regex2, headers) {
var lastValue;
for (var header in headers) {
if (regex2.test(header)) {
lastValue = headers[header];
delete headers[header];
}
}
return lastValue === null || typeof lastValue === "undefined" ? undefined : String(lastValue).trim();
}
function createErrorType(code, message, baseClass) {
function CustomError(properties) {
if (isFunction3(Error.captureStackTrace)) {
Error.captureStackTrace(this, this.constructor);
}
Object.assign(this, properties || {});
this.code = code;
this.message = this.cause ? message + ": " + this.cause.message : message;
}
CustomError.prototype = new (baseClass || Error);
Object.defineProperties(CustomError.prototype, {
constructor: {
value: CustomError,
enumerable: false
},
name: {
value: "Error [" + code + "]",
enumerable: false
}
});
return CustomError;
}
function destroyRequest(request, error2) {
for (var event of events) {
request.removeListener(event, eventHandlers[event]);
}
request.on("error", noop7);
request.destroy(error2);
}
function isSubdomain(subdomain, domain) {
assert(isString2(subdomain) && isString2(domain));
var dot = subdomain.length - domain.length - 1;
return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
}
function isString2(value) {
return typeof value === "string" || value instanceof String;
}
function isFunction3(value) {
return typeof value === "function";
}
function isBuffer3(value) {
return typeof value === "object" && "length" in value;
}
function isURL(value) {
return URL2 && value instanceof URL2;
}
module.exports = wrap({ http, https });
module.exports.wrap = wrap;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/env/data.js
var VERSION2 = "1.14.0";
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/parseProtocol.js
function parseProtocol(url2) {
const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2);
return match && match[1] || "";
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/fromDataURI.js
function fromDataURI(uri, asBlob, options) {
const _Blob = options && options.Blob || platform_default.classes.Blob;
const protocol = parseProtocol(uri);
if (asBlob === undefined && _Blob) {
asBlob = true;
}
if (protocol === "data") {
uri = protocol.length ? uri.slice(protocol.length + 1) : uri;
const match = DATA_URL_PATTERN.exec(uri);
if (!match) {
throw new AxiosError_default("Invalid URL", AxiosError_default.ERR_INVALID_URL);
}
const mime = match[1];
const isBase64 = match[2];
const body = match[3];
const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? "base64" : "utf8");
if (asBlob) {
if (!_Blob) {
throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT);
}
return new _Blob([buffer], { type: mime });
}
return buffer;
}
throw new AxiosError_default("Unsupported protocol " + protocol, AxiosError_default.ERR_NOT_SUPPORT);
}
var DATA_URL_PATTERN;
var init_fromDataURI = __esm(() => {
init_AxiosError();
init_platform();
DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/AxiosTransformStream.js
import stream from "stream";
var kInternals, AxiosTransformStream, AxiosTransformStream_default;
var init_AxiosTransformStream = __esm(() => {
init_utils();
kInternals = Symbol("internals");
AxiosTransformStream = class AxiosTransformStream extends stream.Transform {
constructor(options) {
options = utils_default.toFlatObject(options, {
maxRate: 0,
chunkSize: 64 * 1024,
minChunkSize: 100,
timeWindow: 500,
ticksRate: 2,
samplesCount: 15
}, null, (prop, source) => {
return !utils_default.isUndefined(source[prop]);
});
super({
readableHighWaterMark: options.chunkSize
});
const internals = this[kInternals] = {
timeWindow: options.timeWindow,
chunkSize: options.chunkSize,
maxRate: options.maxRate,
minChunkSize: options.minChunkSize,
bytesSeen: 0,
isCaptured: false,
notifiedBytesLoaded: 0,
ts: Date.now(),
bytes: 0,
onReadCallback: null
};
this.on("newListener", (event) => {
if (event === "progress") {
if (!internals.isCaptured) {
internals.isCaptured = true;
}
}
});
}
_read(size) {
const internals = this[kInternals];
if (internals.onReadCallback) {
internals.onReadCallback();
}
return super._read(size);
}
_transform(chunk, encoding, callback) {
const internals = this[kInternals];
const maxRate = internals.maxRate;
const readableHighWaterMark = this.readableHighWaterMark;
const timeWindow = internals.timeWindow;
const divider = 1000 / timeWindow;
const bytesThreshold = maxRate / divider;
const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;
const pushChunk = (_chunk, _callback) => {
const bytes = Buffer.byteLength(_chunk);
internals.bytesSeen += bytes;
internals.bytes += bytes;
internals.isCaptured && this.emit("progress", internals.bytesSeen);
if (this.push(_chunk)) {
process.nextTick(_callback);
} else {
internals.onReadCallback = () => {
internals.onReadCallback = null;
process.nextTick(_callback);
};
}
};
const transformChunk2 = (_chunk, _callback) => {
const chunkSize = Buffer.byteLength(_chunk);
let chunkRemainder = null;
let maxChunkSize = readableHighWaterMark;
let bytesLeft;
let passed = 0;
if (maxRate) {
const now = Date.now();
if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {
internals.ts = now;
bytesLeft = bytesThreshold - internals.bytes;
internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;
passed = 0;
}
bytesLeft = bytesThreshold - internals.bytes;
}
if (maxRate) {
if (bytesLeft <= 0) {
return setTimeout(() => {
_callback(null, _chunk);
}, timeWindow - passed);
}
if (bytesLeft < maxChunkSize) {
maxChunkSize = bytesLeft;
}
}
if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) {
chunkRemainder = _chunk.subarray(maxChunkSize);
_chunk = _chunk.subarray(0, maxChunkSize);
}
pushChunk(_chunk, chunkRemainder ? () => {
process.nextTick(_callback, null, chunkRemainder);
} : _callback);
};
transformChunk2(chunk, function transformNextChunk(err, _chunk) {
if (err) {
return callback(err);
}
if (_chunk) {
transformChunk2(_chunk, transformNextChunk);
} else {
callback(null);
}
});
}
};
AxiosTransformStream_default = AxiosTransformStream;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/readBlob.js
var asyncIterator, readBlob = async function* (blob) {
if (blob.stream) {
yield* blob.stream();
} else if (blob.arrayBuffer) {
yield await blob.arrayBuffer();
} else if (blob[asyncIterator]) {
yield* blob[asyncIterator]();
} else {
yield blob;
}
}, readBlob_default;
var init_readBlob = __esm(() => {
({ asyncIterator } = Symbol);
readBlob_default = readBlob;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/formDataToStream.js
import util from "util";
import { Readable as Readable4 } from "stream";
class FormDataPart {
constructor(name, value) {
const { escapeName } = this.constructor;
const isStringValue = utils_default.isString(value);
let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`;
if (isStringValue) {
value = textEncoder3.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
} else {
headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`;
}
this.headers = textEncoder3.encode(headers + CRLF);
this.contentLength = isStringValue ? value.byteLength : value.size;
this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
this.name = name;
this.value = value;
}
async* encode() {
yield this.headers;
const { value } = this;
if (utils_default.isTypedArray(value)) {
yield value;
} else {
yield* readBlob_default(value);
}
yield CRLF_BYTES;
}
static escapeName(name) {
return String(name).replace(/[\r\n"]/g, (match) => ({
"\r": "%0D",
"\n": "%0A",
'"': "%22"
})[match]);
}
}
var BOUNDARY_ALPHABET, textEncoder3, CRLF = `\r
`, CRLF_BYTES, CRLF_BYTES_COUNT = 2, formDataToStream = (form, headersHandler, options) => {
const {
tag = "form-data-boundary",
size = 25,
boundary = tag + "-" + platform_default.generateString(size, BOUNDARY_ALPHABET)
} = options || {};
if (!utils_default.isFormData(form)) {
throw TypeError("FormData instance required");
}
if (boundary.length < 1 || boundary.length > 70) {
throw Error("boundary must be 10-70 characters long");
}
const boundaryBytes = textEncoder3.encode("--" + boundary + CRLF);
const footerBytes = textEncoder3.encode("--" + boundary + "--" + CRLF);
let contentLength = footerBytes.byteLength;
const parts = Array.from(form.entries()).map(([name, value]) => {
const part = new FormDataPart(name, value);
contentLength += part.size;
return part;
});
contentLength += boundaryBytes.byteLength * parts.length;
contentLength = utils_default.toFiniteNumber(contentLength);
const computedHeaders = {
"Content-Type": `multipart/form-data; boundary=${boundary}`
};
if (Number.isFinite(contentLength)) {
computedHeaders["Content-Length"] = contentLength;
}
headersHandler && headersHandler(computedHeaders);
return Readable4.from(async function* () {
for (const part of parts) {
yield boundaryBytes;
yield* part.encode();
}
yield footerBytes;
}());
}, formDataToStream_default;
var init_formDataToStream = __esm(() => {
init_utils();
init_readBlob();
init_platform();
BOUNDARY_ALPHABET = platform_default.ALPHABET.ALPHA_DIGIT + "-_";
textEncoder3 = typeof TextEncoder === "function" ? new TextEncoder : new util.TextEncoder;
CRLF_BYTES = textEncoder3.encode(CRLF);
formDataToStream_default = formDataToStream;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
import stream2 from "stream";
var ZlibHeaderTransformStream, ZlibHeaderTransformStream_default;
var init_ZlibHeaderTransformStream = __esm(() => {
ZlibHeaderTransformStream = class ZlibHeaderTransformStream extends stream2.Transform {
__transform(chunk, encoding, callback) {
this.push(chunk);
callback();
}
_transform(chunk, encoding, callback) {
if (chunk.length !== 0) {
this._transform = this.__transform;
if (chunk[0] !== 120) {
const header = Buffer.alloc(2);
header[0] = 120;
header[1] = 156;
this.push(header, encoding);
}
}
this.__transform(chunk, encoding, callback);
}
};
ZlibHeaderTransformStream_default = ZlibHeaderTransformStream;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/callbackify.js
var callbackify5 = (fn, reducer) => {
return utils_default.isAsyncFn(fn) ? function(...args) {
const cb = args.pop();
fn.apply(this, args).then((value) => {
try {
reducer ? cb(null, ...reducer(value)) : cb(null, value);
} catch (err) {
cb(err);
}
}, cb);
} : fn;
}, callbackify_default;
var init_callbackify = __esm(() => {
init_utils();
callbackify_default = callbackify5;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/speedometer.js
function speedometer(samplesCount, min) {
samplesCount = samplesCount || 10;
const bytes = new Array(samplesCount);
const timestamps = new Array(samplesCount);
let head = 0;
let tail = 0;
let firstSampleTS;
min = min !== undefined ? min : 1000;
return function push(chunkLength) {
const now = Date.now();
const startedAt = timestamps[tail];
if (!firstSampleTS) {
firstSampleTS = now;
}
bytes[head] = chunkLength;
timestamps[head] = now;
let i2 = tail;
let bytesCount = 0;
while (i2 !== head) {
bytesCount += bytes[i2++];
i2 = i2 % samplesCount;
}
head = (head + 1) % samplesCount;
if (head === tail) {
tail = (tail + 1) % samplesCount;
}
if (now - firstSampleTS < min) {
return;
}
const passed = startedAt && now - startedAt;
return passed ? Math.round(bytesCount * 1000 / passed) : undefined;
};
}
var speedometer_default;
var init_speedometer = __esm(() => {
speedometer_default = speedometer;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/throttle.js
function throttle(fn, freq) {
let timestamp = 0;
let threshold = 1000 / freq;
let lastArgs;
let timer;
const invoke = (args, now = Date.now()) => {
timestamp = now;
lastArgs = null;
if (timer) {
clearTimeout(timer);
timer = null;
}
fn(...args);
};
const throttled = (...args) => {
const now = Date.now();
const passed = now - timestamp;
if (passed >= threshold) {
invoke(args, now);
} else {
lastArgs = args;
if (!timer) {
timer = setTimeout(() => {
timer = null;
invoke(lastArgs);
}, threshold - passed);
}
}
};
const flush = () => lastArgs && invoke(lastArgs);
return [throttled, flush];
}
var throttle_default;
var init_throttle = __esm(() => {
throttle_default = throttle;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/progressEventReducer.js
var progressEventReducer = (listener, isDownloadStream, freq = 3) => {
let bytesNotified = 0;
const _speedometer = speedometer_default(50, 250);
return throttle_default((e) => {
const loaded = e.loaded;
const total = e.lengthComputable ? e.total : undefined;
const progressBytes = loaded - bytesNotified;
const rate = _speedometer(progressBytes);
const inRange2 = loaded <= total;
bytesNotified = loaded;
const data = {
loaded,
total,
progress: total ? loaded / total : undefined,
bytes: progressBytes,
rate: rate ? rate : undefined,
estimated: rate && total && inRange2 ? (total - loaded) / rate : undefined,
event: e,
lengthComputable: total != null,
[isDownloadStream ? "download" : "upload"]: true
};
listener(data);
}, freq);
}, progressEventDecorator = (total, throttled) => {
const lengthComputable = total != null;
return [
(loaded) => throttled[0]({
lengthComputable,
total,
loaded
}),
throttled[1]
];
}, asyncDecorator = (fn) => (...args) => utils_default.asap(() => fn(...args));
var init_progressEventReducer = __esm(() => {
init_speedometer();
init_throttle();
init_utils();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js
function estimateDataURLDecodedBytes(url2) {
if (!url2 || typeof url2 !== "string")
return 0;
if (!url2.startsWith("data:"))
return 0;
const comma = url2.indexOf(",");
if (comma < 0)
return 0;
const meta = url2.slice(5, comma);
const body = url2.slice(comma + 1);
const isBase64 = /;base64/i.test(meta);
if (isBase64) {
let effectiveLen = body.length;
const len = body.length;
for (let i2 = 0;i2 < len; i2++) {
if (body.charCodeAt(i2) === 37 && i2 + 2 < len) {
const a2 = body.charCodeAt(i2 + 1);
const b2 = body.charCodeAt(i2 + 2);
const isHex = (a2 >= 48 && a2 <= 57 || a2 >= 65 && a2 <= 70 || a2 >= 97 && a2 <= 102) && (b2 >= 48 && b2 <= 57 || b2 >= 65 && b2 <= 70 || b2 >= 97 && b2 <= 102);
if (isHex) {
effectiveLen -= 2;
i2 += 2;
}
}
}
let pad = 0;
let idx = len - 1;
const tailIsPct3D = (j2) => j2 >= 2 && body.charCodeAt(j2 - 2) === 37 && body.charCodeAt(j2 - 1) === 51 && (body.charCodeAt(j2) === 68 || body.charCodeAt(j2) === 100);
if (idx >= 0) {
if (body.charCodeAt(idx) === 61) {
pad++;
idx--;
} else if (tailIsPct3D(idx)) {
pad++;
idx -= 3;
}
}
if (pad === 1 && idx >= 0) {
if (body.charCodeAt(idx) === 61) {
pad++;
} else if (tailIsPct3D(idx)) {
pad++;
}
}
const groups = Math.floor(effectiveLen / 4);
const bytes = groups * 3 - (pad || 0);
return bytes > 0 ? bytes : 0;
}
return Buffer.byteLength(body, "utf8");
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/adapters/http.js
import http from "http";
import https from "https";
import http2 from "http2";
import util2 from "util";
import zlib from "zlib";
import stream3 from "stream";
import { EventEmitter as EventEmitter2 } from "events";
class Http2Sessions {
constructor() {
this.sessions = Object.create(null);
}
getSession(authority, options) {
options = Object.assign({
sessionTimeout: 1000
}, options);
let authoritySessions = this.sessions[authority];
if (authoritySessions) {
let len = authoritySessions.length;
for (let i2 = 0;i2 < len; i2++) {
const [sessionHandle, sessionOptions] = authoritySessions[i2];
if (!sessionHandle.destroyed && !sessionHandle.closed && util2.isDeepStrictEqual(sessionOptions, options)) {
return sessionHandle;
}
}
}
const session = http2.connect(authority, options);
let removed;
const removeSession = () => {
if (removed) {
return;
}
removed = true;
let entries = authoritySessions, len = entries.length, i2 = len;
while (i2--) {
if (entries[i2][0] === session) {
if (len === 1) {
delete this.sessions[authority];
} else {
entries.splice(i2, 1);
}
if (!session.closed) {
session.close();
}
return;
}
}
};
const originalRequestFn = session.request;
const { sessionTimeout } = options;
if (sessionTimeout != null) {
let timer;
let streamsCount = 0;
session.request = function() {
const stream4 = originalRequestFn.apply(this, arguments);
streamsCount++;
if (timer) {
clearTimeout(timer);
timer = null;
}
stream4.once("close", () => {
if (!--streamsCount) {
timer = setTimeout(() => {
timer = null;
removeSession();
}, sessionTimeout);
}
});
return stream4;
};
}
session.once("close", removeSession);
let entry = [session, options];
authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];
return session;
}
}
function dispatchBeforeRedirect(options, responseDetails) {
if (options.beforeRedirects.proxy) {
options.beforeRedirects.proxy(options);
}
if (options.beforeRedirects.config) {
options.beforeRedirects.config(options, responseDetails);
}
}
function setProxy(options, configProxy, location) {
let proxy = configProxy;
if (!proxy && proxy !== false) {
const proxyUrl = getProxyForUrl(location);
if (proxyUrl) {
proxy = new URL(proxyUrl);
}
}
if (proxy) {
if (proxy.username) {
proxy.auth = (proxy.username || "") + ":" + (proxy.password || "");
}
if (proxy.auth) {
const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password);
if (validProxyAuth) {
proxy.auth = (proxy.auth.username || "") + ":" + (proxy.auth.password || "");
} else if (typeof proxy.auth === "object") {
throw new AxiosError_default("Invalid proxy authorization", AxiosError_default.ERR_BAD_OPTION, { proxy });
}
const base64 = Buffer.from(proxy.auth, "utf8").toString("base64");
options.headers["Proxy-Authorization"] = "Basic " + base64;
}
options.headers.host = options.hostname + (options.port ? ":" + options.port : "");
const proxyHost = proxy.hostname || proxy.host;
options.hostname = proxyHost;
options.host = proxyHost;
options.port = proxy.port;
options.path = location;
if (proxy.protocol) {
options.protocol = proxy.protocol.includes(":") ? proxy.protocol : `${proxy.protocol}:`;
}
}
options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
setProxy(redirectOptions, configProxy, redirectOptions.href);
};
}
var import_follow_redirects, zlibOptions, brotliOptions, isBrotliSupported, httpFollow, httpsFollow, isHttps, supportedProtocols, flushOnFinish = (stream4, [throttled, flush]) => {
stream4.on("end", flush).on("error", flush);
return throttled;
}, http2Sessions, isHttpAdapterSupported, wrapAsync = (asyncExecutor) => {
return new Promise((resolve2, reject) => {
let onDone;
let isDone;
const done = (value, isRejected) => {
if (isDone)
return;
isDone = true;
onDone && onDone(value, isRejected);
};
const _resolve = (value) => {
done(value);
resolve2(value);
};
const _reject = (reason) => {
done(reason, true);
reject(reason);
};
asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject);
});
}, resolveFamily = ({ address, family }) => {
if (!utils_default.isString(address)) {
throw TypeError("address must be a string");
}
return {
address,
family: family || (address.indexOf(".") < 0 ? 6 : 4)
};
}, buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }), http2Transport, http_default;
var init_http = __esm(() => {
init_utils();
init_settle();
init_buildFullPath();
init_buildURL();
init_proxy_from_env();
init_transitional();
init_AxiosError();
init_CanceledError();
init_platform();
init_fromDataURI();
init_AxiosHeaders();
init_AxiosTransformStream();
init_formDataToStream();
init_readBlob();
init_ZlibHeaderTransformStream();
init_callbackify();
init_progressEventReducer();
import_follow_redirects = __toESM(require_follow_redirects(), 1);
zlibOptions = {
flush: zlib.constants.Z_SYNC_FLUSH,
finishFlush: zlib.constants.Z_SYNC_FLUSH
};
brotliOptions = {
flush: zlib.constants.BROTLI_OPERATION_FLUSH,
finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
};
isBrotliSupported = utils_default.isFunction(zlib.createBrotliDecompress);
({ http: httpFollow, https: httpsFollow } = import_follow_redirects.default);
isHttps = /https:?/;
supportedProtocols = platform_default.protocols.map((protocol) => {
return protocol + ":";
});
http2Sessions = new Http2Sessions;
isHttpAdapterSupported = typeof process !== "undefined" && utils_default.kindOf(process) === "process";
http2Transport = {
request(options, cb) {
const authority = options.protocol + "//" + options.hostname + ":" + (options.port || (options.protocol === "https:" ? 443 : 80));
const { http2Options, headers } = options;
const session = http2Sessions.getSession(authority, http2Options);
const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } = http2.constants;
const http2Headers = {
[HTTP2_HEADER_SCHEME]: options.protocol.replace(":", ""),
[HTTP2_HEADER_METHOD]: options.method,
[HTTP2_HEADER_PATH]: options.path
};
utils_default.forEach(headers, (header, name) => {
name.charAt(0) !== ":" && (http2Headers[name] = header);
});
const req = session.request(http2Headers);
req.once("response", (responseHeaders) => {
const response = req;
responseHeaders = Object.assign({}, responseHeaders);
const status = responseHeaders[HTTP2_HEADER_STATUS];
delete responseHeaders[HTTP2_HEADER_STATUS];
response.headers = responseHeaders;
response.statusCode = +status;
cb(response);
});
return req;
}
};
http_default = isHttpAdapterSupported && function httpAdapter(config) {
return wrapAsync(async function dispatchHttpRequest(resolve2, reject, onDone) {
let { data, lookup, family, httpVersion = 1, http2Options } = config;
const { responseType, responseEncoding } = config;
const method = config.method.toUpperCase();
let isDone;
let rejected = false;
let req;
httpVersion = +httpVersion;
if (Number.isNaN(httpVersion)) {
throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);
}
if (httpVersion !== 1 && httpVersion !== 2) {
throw TypeError(`Unsupported protocol version '${httpVersion}'`);
}
const isHttp2 = httpVersion === 2;
if (lookup) {
const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]);
lookup = (hostname, opt, cb) => {
_lookup(hostname, opt, (err, arg0, arg1) => {
if (err) {
return cb(err);
}
const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
});
};
}
const abortEmitter = new EventEmitter2;
function abort(reason) {
try {
abortEmitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config, req) : reason);
} catch (err) {
console.warn("emit error", err);
}
}
abortEmitter.once("abort", reject);
const onFinished = () => {
if (config.cancelToken) {
config.cancelToken.unsubscribe(abort);
}
if (config.signal) {
config.signal.removeEventListener("abort", abort);
}
abortEmitter.removeAllListeners();
};
if (config.cancelToken || config.signal) {
config.cancelToken && config.cancelToken.subscribe(abort);
if (config.signal) {
config.signal.aborted ? abort() : config.signal.addEventListener("abort", abort);
}
}
onDone((response, isRejected) => {
isDone = true;
if (isRejected) {
rejected = true;
onFinished();
return;
}
const { data: data2 } = response;
if (data2 instanceof stream3.Readable || data2 instanceof stream3.Duplex) {
const offListeners = stream3.finished(data2, () => {
offListeners();
onFinished();
});
} else {
onFinished();
}
});
const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
const parsed = new URL(fullPath, platform_default.hasBrowserEnv ? platform_default.origin : undefined);
const protocol = parsed.protocol || supportedProtocols[0];
if (protocol === "data:") {
if (config.maxContentLength > -1) {
const dataUrl = String(config.url || fullPath || "");
const estimated = estimateDataURLDecodedBytes(dataUrl);
if (estimated > config.maxContentLength) {
return reject(new AxiosError_default("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, config));
}
}
let convertedData;
if (method !== "GET") {
return settle(resolve2, reject, {
status: 405,
statusText: "method not allowed",
headers: {},
config
});
}
try {
convertedData = fromDataURI(config.url, responseType === "blob", {
Blob: config.env && config.env.Blob
});
} catch (err) {
throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config);
}
if (responseType === "text") {
convertedData = convertedData.toString(responseEncoding);
if (!responseEncoding || responseEncoding === "utf8") {
convertedData = utils_default.stripBOM(convertedData);
}
} else if (responseType === "stream") {
convertedData = stream3.Readable.from(convertedData);
}
return settle(resolve2, reject, {
data: convertedData,
status: 200,
statusText: "OK",
headers: new AxiosHeaders_default,
config
});
}
if (supportedProtocols.indexOf(protocol) === -1) {
return reject(new AxiosError_default("Unsupported protocol " + protocol, AxiosError_default.ERR_BAD_REQUEST, config));
}
const headers = AxiosHeaders_default.from(config.headers).normalize();
headers.set("User-Agent", "axios/" + VERSION2, false);
const { onUploadProgress, onDownloadProgress } = config;
const maxRate = config.maxRate;
let maxUploadRate = undefined;
let maxDownloadRate = undefined;
if (utils_default.isSpecCompliantForm(data)) {
const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i);
data = formDataToStream_default(data, (formHeaders) => {
headers.set(formHeaders);
}, {
tag: `axios-${VERSION2}-boundary`,
boundary: userBoundary && userBoundary[1] || undefined
});
} else if (utils_default.isFormData(data) && utils_default.isFunction(data.getHeaders)) {
headers.set(data.getHeaders());
if (!headers.hasContentLength()) {
try {
const knownLength = await util2.promisify(data.getLength).call(data);
Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);
} catch (e) {}
}
} else if (utils_default.isBlob(data) || utils_default.isFile(data)) {
data.size && headers.setContentType(data.type || "application/octet-stream");
headers.setContentLength(data.size || 0);
data = stream3.Readable.from(readBlob_default(data));
} else if (data && !utils_default.isStream(data)) {
if (Buffer.isBuffer(data)) {} else if (utils_default.isArrayBuffer(data)) {
data = Buffer.from(new Uint8Array(data));
} else if (utils_default.isString(data)) {
data = Buffer.from(data, "utf-8");
} else {
return reject(new AxiosError_default("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", AxiosError_default.ERR_BAD_REQUEST, config));
}
headers.setContentLength(data.length, false);
if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
return reject(new AxiosError_default("Request body larger than maxBodyLength limit", AxiosError_default.ERR_BAD_REQUEST, config));
}
}
const contentLength = utils_default.toFiniteNumber(headers.getContentLength());
if (utils_default.isArray(maxRate)) {
maxUploadRate = maxRate[0];
maxDownloadRate = maxRate[1];
} else {
maxUploadRate = maxDownloadRate = maxRate;
}
if (data && (onUploadProgress || maxUploadRate)) {
if (!utils_default.isStream(data)) {
data = stream3.Readable.from(data, { objectMode: false });
}
data = stream3.pipeline([
data,
new AxiosTransformStream_default({
maxRate: utils_default.toFiniteNumber(maxUploadRate)
})
], utils_default.noop);
onUploadProgress && data.on("progress", flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress), false, 3))));
}
let auth = undefined;
if (config.auth) {
const username = config.auth.username || "";
const password = config.auth.password || "";
auth = username + ":" + password;
}
if (!auth && parsed.username) {
const urlUsername = parsed.username;
const urlPassword = parsed.password;
auth = urlUsername + ":" + urlPassword;
}
auth && headers.delete("authorization");
let path7;
try {
path7 = buildURL(parsed.pathname + parsed.search, config.params, config.paramsSerializer).replace(/^\?/, "");
} catch (err) {
const customErr = new Error(err.message);
customErr.config = config;
customErr.url = config.url;
customErr.exists = true;
return reject(customErr);
}
headers.set("Accept-Encoding", "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""), false);
const options = {
path: path7,
method,
headers: headers.toJSON(),
agents: { http: config.httpAgent, https: config.httpsAgent },
auth,
protocol,
family,
beforeRedirect: dispatchBeforeRedirect,
beforeRedirects: {},
http2Options
};
!utils_default.isUndefined(lookup) && (options.lookup = lookup);
if (config.socketPath) {
options.socketPath = config.socketPath;
} else {
options.hostname = parsed.hostname.startsWith("[") ? parsed.hostname.slice(1, -1) : parsed.hostname;
options.port = parsed.port;
setProxy(options, config.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path);
}
let transport;
const isHttpsRequest = isHttps.test(options.protocol);
options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
if (isHttp2) {
transport = http2Transport;
} else {
if (config.transport) {
transport = config.transport;
} else if (config.maxRedirects === 0) {
transport = isHttpsRequest ? https : http;
} else {
if (config.maxRedirects) {
options.maxRedirects = config.maxRedirects;
}
if (config.beforeRedirect) {
options.beforeRedirects.config = config.beforeRedirect;
}
transport = isHttpsRequest ? httpsFollow : httpFollow;
}
}
if (config.maxBodyLength > -1) {
options.maxBodyLength = config.maxBodyLength;
} else {
options.maxBodyLength = Infinity;
}
if (config.insecureHTTPParser) {
options.insecureHTTPParser = config.insecureHTTPParser;
}
req = transport.request(options, function handleResponse(res) {
if (req.destroyed)
return;
const streams2 = [res];
const responseLength = utils_default.toFiniteNumber(res.headers["content-length"]);
if (onDownloadProgress || maxDownloadRate) {
const transformStream = new AxiosTransformStream_default({
maxRate: utils_default.toFiniteNumber(maxDownloadRate)
});
onDownloadProgress && transformStream.on("progress", flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress), true, 3))));
streams2.push(transformStream);
}
let responseStream = res;
const lastRequest = res.req || req;
if (config.decompress !== false && res.headers["content-encoding"]) {
if (method === "HEAD" || res.statusCode === 204) {
delete res.headers["content-encoding"];
}
switch ((res.headers["content-encoding"] || "").toLowerCase()) {
case "gzip":
case "x-gzip":
case "compress":
case "x-compress":
streams2.push(zlib.createUnzip(zlibOptions));
delete res.headers["content-encoding"];
break;
case "deflate":
streams2.push(new ZlibHeaderTransformStream_default);
streams2.push(zlib.createUnzip(zlibOptions));
delete res.headers["content-encoding"];
break;
case "br":
if (isBrotliSupported) {
streams2.push(zlib.createBrotliDecompress(brotliOptions));
delete res.headers["content-encoding"];
}
}
}
responseStream = streams2.length > 1 ? stream3.pipeline(streams2, utils_default.noop) : streams2[0];
const response = {
status: res.statusCode,
statusText: res.statusMessage,
headers: new AxiosHeaders_default(res.headers),
config,
request: lastRequest
};
if (responseType === "stream") {
response.data = responseStream;
settle(resolve2, reject, response);
} else {
const responseBuffer = [];
let totalResponseBytes = 0;
responseStream.on("data", function handleStreamData(chunk) {
responseBuffer.push(chunk);
totalResponseBytes += chunk.length;
if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
rejected = true;
responseStream.destroy();
abort(new AxiosError_default("maxContentLength size of " + config.maxContentLength + " exceeded", AxiosError_default.ERR_BAD_RESPONSE, config, lastRequest));
}
});
responseStream.on("aborted", function handlerStreamAborted() {
if (rejected) {
return;
}
const err = new AxiosError_default("stream has been aborted", AxiosError_default.ERR_BAD_RESPONSE, config, lastRequest);
responseStream.destroy(err);
reject(err);
});
responseStream.on("error", function handleStreamError2(err) {
if (req.destroyed)
return;
reject(AxiosError_default.from(err, null, config, lastRequest));
});
responseStream.on("end", function handleStreamEnd2() {
try {
let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);
if (responseType !== "arraybuffer") {
responseData = responseData.toString(responseEncoding);
if (!responseEncoding || responseEncoding === "utf8") {
responseData = utils_default.stripBOM(responseData);
}
}
response.data = responseData;
} catch (err) {
return reject(AxiosError_default.from(err, null, config, response.request, response));
}
settle(resolve2, reject, response);
});
}
abortEmitter.once("abort", (err) => {
if (!responseStream.destroyed) {
responseStream.emit("error", err);
responseStream.destroy();
}
});
});
abortEmitter.once("abort", (err) => {
if (req.close) {
req.close();
} else {
req.destroy(err);
}
});
req.on("error", function handleRequestError(err) {
reject(AxiosError_default.from(err, null, config, req));
});
req.on("socket", function handleRequestSocket(socket) {
socket.setKeepAlive(true, 1000 * 60);
});
if (config.timeout) {
const timeout = parseInt(config.timeout, 10);
if (Number.isNaN(timeout)) {
abort(new AxiosError_default("error trying to parse `config.timeout` to int", AxiosError_default.ERR_BAD_OPTION_VALUE, config, req));
return;
}
req.setTimeout(timeout, function handleRequestTimeout() {
if (isDone)
return;
let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
const transitional = config.transitional || transitional_default;
if (config.timeoutErrorMessage) {
timeoutErrorMessage = config.timeoutErrorMessage;
}
abort(new AxiosError_default(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, config, req));
});
} else {
req.setTimeout(0);
}
if (utils_default.isStream(data)) {
let ended = false;
let errored = false;
data.on("end", () => {
ended = true;
});
data.once("error", (err) => {
errored = true;
req.destroy(err);
});
data.on("close", () => {
if (!ended && !errored) {
abort(new CanceledError_default("Request stream has been aborted", config, req));
}
});
data.pipe(req);
} else {
data && req.write(data);
req.end();
}
});
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/isURLSameOrigin.js
var isURLSameOrigin_default;
var init_isURLSameOrigin = __esm(() => {
init_platform();
isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? ((origin2, isMSIE) => (url2) => {
url2 = new URL(url2, platform_default.origin);
return origin2.protocol === url2.protocol && origin2.host === url2.host && (isMSIE || origin2.port === url2.port);
})(new URL(platform_default.origin), platform_default.navigator && /(msie|trident)/i.test(platform_default.navigator.userAgent)) : () => true;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/cookies.js
var cookies_default;
var init_cookies = __esm(() => {
init_utils();
init_platform();
cookies_default = platform_default.hasStandardBrowserEnv ? {
write(name, value, expires, path7, domain, secure, sameSite) {
if (typeof document === "undefined")
return;
const cookie = [`${name}=${encodeURIComponent(value)}`];
if (utils_default.isNumber(expires)) {
cookie.push(`expires=${new Date(expires).toUTCString()}`);
}
if (utils_default.isString(path7)) {
cookie.push(`path=${path7}`);
}
if (utils_default.isString(domain)) {
cookie.push(`domain=${domain}`);
}
if (secure === true) {
cookie.push("secure");
}
if (utils_default.isString(sameSite)) {
cookie.push(`SameSite=${sameSite}`);
}
document.cookie = cookie.join("; ");
},
read(name) {
if (typeof document === "undefined")
return null;
const match = document.cookie.match(new RegExp("(?:^|; )" + name + "=([^;]*)"));
return match ? decodeURIComponent(match[1]) : null;
},
remove(name) {
this.write(name, "", Date.now() - 86400000, "/");
}
} : {
write() {},
read() {
return null;
},
remove() {}
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/mergeConfig.js
function mergeConfig(config1, config2) {
config2 = config2 || {};
const config = {};
function getMergedValue(target, source, prop, caseless) {
if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) {
return utils_default.merge.call({ caseless }, target, source);
} else if (utils_default.isPlainObject(source)) {
return utils_default.merge({}, source);
} else if (utils_default.isArray(source)) {
return source.slice();
}
return source;
}
function mergeDeepProperties(a2, b2, prop, caseless) {
if (!utils_default.isUndefined(b2)) {
return getMergedValue(a2, b2, prop, caseless);
} else if (!utils_default.isUndefined(a2)) {
return getMergedValue(undefined, a2, prop, caseless);
}
}
function valueFromConfig2(a2, b2) {
if (!utils_default.isUndefined(b2)) {
return getMergedValue(undefined, b2);
}
}
function defaultToConfig2(a2, b2) {
if (!utils_default.isUndefined(b2)) {
return getMergedValue(undefined, b2);
} else if (!utils_default.isUndefined(a2)) {
return getMergedValue(undefined, a2);
}
}
function mergeDirectKeys(a2, b2, prop) {
if (prop in config2) {
return getMergedValue(a2, b2);
} else if (prop in config1) {
return getMergedValue(undefined, a2);
}
}
const mergeMap = {
url: valueFromConfig2,
method: valueFromConfig2,
data: valueFromConfig2,
baseURL: defaultToConfig2,
transformRequest: defaultToConfig2,
transformResponse: defaultToConfig2,
paramsSerializer: defaultToConfig2,
timeout: defaultToConfig2,
timeoutMessage: defaultToConfig2,
withCredentials: defaultToConfig2,
withXSRFToken: defaultToConfig2,
adapter: defaultToConfig2,
responseType: defaultToConfig2,
xsrfCookieName: defaultToConfig2,
xsrfHeaderName: defaultToConfig2,
onUploadProgress: defaultToConfig2,
onDownloadProgress: defaultToConfig2,
decompress: defaultToConfig2,
maxContentLength: defaultToConfig2,
maxBodyLength: defaultToConfig2,
beforeRedirect: defaultToConfig2,
transport: defaultToConfig2,
httpAgent: defaultToConfig2,
httpsAgent: defaultToConfig2,
cancelToken: defaultToConfig2,
socketPath: defaultToConfig2,
responseEncoding: defaultToConfig2,
validateStatus: mergeDirectKeys,
headers: (a2, b2, prop) => mergeDeepProperties(headersToObject(a2), headersToObject(b2), prop, true)
};
utils_default.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {
if (prop === "__proto__" || prop === "constructor" || prop === "prototype")
return;
const merge2 = utils_default.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;
const configValue = merge2(config1[prop], config2[prop], prop);
utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
});
return config;
}
var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing;
var init_mergeConfig = __esm(() => {
init_utils();
init_AxiosHeaders();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/resolveConfig.js
var resolveConfig_default = (config) => {
const newConfig = mergeConfig({}, config);
let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
newConfig.headers = headers = AxiosHeaders_default.from(headers);
newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
if (auth) {
headers.set("Authorization", "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : "")));
}
if (utils_default.isFormData(data)) {
if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) {
headers.setContentType(undefined);
} else if (utils_default.isFunction(data.getHeaders)) {
const formHeaders = data.getHeaders();
const allowedHeaders = ["content-type", "content-length"];
Object.entries(formHeaders).forEach(([key, val]) => {
if (allowedHeaders.includes(key.toLowerCase())) {
headers.set(key, val);
}
});
}
}
if (platform_default.hasStandardBrowserEnv) {
withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(newConfig.url)) {
const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies_default.read(xsrfCookieName);
if (xsrfValue) {
headers.set(xsrfHeaderName, xsrfValue);
}
}
}
return newConfig;
};
var init_resolveConfig = __esm(() => {
init_platform();
init_utils();
init_isURLSameOrigin();
init_cookies();
init_buildFullPath();
init_mergeConfig();
init_AxiosHeaders();
init_buildURL();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/adapters/xhr.js
var isXHRAdapterSupported, xhr_default;
var init_xhr = __esm(() => {
init_utils();
init_settle();
init_transitional();
init_AxiosError();
init_CanceledError();
init_platform();
init_AxiosHeaders();
init_progressEventReducer();
init_resolveConfig();
isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
xhr_default = isXHRAdapterSupported && function(config) {
return new Promise(function dispatchXhrRequest(resolve2, reject) {
const _config = resolveConfig_default(config);
let requestData = _config.data;
const requestHeaders = AxiosHeaders_default.from(_config.headers).normalize();
let { responseType, onUploadProgress, onDownloadProgress } = _config;
let onCanceled;
let uploadThrottled, downloadThrottled;
let flushUpload, flushDownload;
function done() {
flushUpload && flushUpload();
flushDownload && flushDownload();
_config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
_config.signal && _config.signal.removeEventListener("abort", onCanceled);
}
let request = new XMLHttpRequest;
request.open(_config.method.toUpperCase(), _config.url, true);
request.timeout = _config.timeout;
function onloadend() {
if (!request) {
return;
}
const responseHeaders = AxiosHeaders_default.from("getAllResponseHeaders" in request && request.getAllResponseHeaders());
const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
const response = {
data: responseData,
status: request.status,
statusText: request.statusText,
headers: responseHeaders,
config,
request
};
settle(function _resolve(value) {
resolve2(value);
done();
}, function _reject(err) {
reject(err);
done();
}, response);
request = null;
}
if ("onloadend" in request) {
request.onloadend = onloadend;
} else {
request.onreadystatechange = function handleLoad() {
if (!request || request.readyState !== 4) {
return;
}
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
return;
}
setTimeout(onloadend);
};
}
request.onabort = function handleAbort2() {
if (!request) {
return;
}
reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config, request));
request = null;
};
request.onerror = function handleError(event) {
const msg = event && event.message ? event.message : "Network Error";
const err = new AxiosError_default(msg, AxiosError_default.ERR_NETWORK, config, request);
err.event = event || null;
reject(err);
request = null;
};
request.ontimeout = function handleTimeout() {
let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded";
const transitional = _config.transitional || transitional_default;
if (_config.timeoutErrorMessage) {
timeoutErrorMessage = _config.timeoutErrorMessage;
}
reject(new AxiosError_default(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, config, request));
request = null;
};
requestData === undefined && requestHeaders.setContentType(null);
if ("setRequestHeader" in request) {
utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
request.setRequestHeader(key, val);
});
}
if (!utils_default.isUndefined(_config.withCredentials)) {
request.withCredentials = !!_config.withCredentials;
}
if (responseType && responseType !== "json") {
request.responseType = _config.responseType;
}
if (onDownloadProgress) {
[downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
request.addEventListener("progress", downloadThrottled);
}
if (onUploadProgress && request.upload) {
[uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
request.upload.addEventListener("progress", uploadThrottled);
request.upload.addEventListener("loadend", flushUpload);
}
if (_config.cancelToken || _config.signal) {
onCanceled = (cancel) => {
if (!request) {
return;
}
reject(!cancel || cancel.type ? new CanceledError_default(null, config, request) : cancel);
request.abort();
request = null;
};
_config.cancelToken && _config.cancelToken.subscribe(onCanceled);
if (_config.signal) {
_config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled);
}
}
const protocol = parseProtocol(_config.url);
if (protocol && platform_default.protocols.indexOf(protocol) === -1) {
reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config));
return;
}
request.send(requestData || null);
});
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/composeSignals.js
var composeSignals = (signals2, timeout) => {
const { length } = signals2 = signals2 ? signals2.filter(Boolean) : [];
if (timeout || length) {
let controller = new AbortController;
let aborted2;
const onabort = function(reason) {
if (!aborted2) {
aborted2 = true;
unsubscribe2();
const err = reason instanceof Error ? reason : this.reason;
controller.abort(err instanceof AxiosError_default ? err : new CanceledError_default(err instanceof Error ? err.message : err));
}
};
let timer = timeout && setTimeout(() => {
timer = null;
onabort(new AxiosError_default(`timeout of ${timeout}ms exceeded`, AxiosError_default.ETIMEDOUT));
}, timeout);
const unsubscribe2 = () => {
if (signals2) {
timer && clearTimeout(timer);
timer = null;
signals2.forEach((signal2) => {
signal2.unsubscribe ? signal2.unsubscribe(onabort) : signal2.removeEventListener("abort", onabort);
});
signals2 = null;
}
};
signals2.forEach((signal2) => signal2.addEventListener("abort", onabort));
const { signal } = controller;
signal.unsubscribe = () => utils_default.asap(unsubscribe2);
return signal;
}
}, composeSignals_default;
var init_composeSignals = __esm(() => {
init_CanceledError();
init_AxiosError();
init_utils();
composeSignals_default = composeSignals;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/trackStream.js
var streamChunk = function* (chunk, chunkSize) {
let len = chunk.byteLength;
if (!chunkSize || len < chunkSize) {
yield chunk;
return;
}
let pos = 0;
let end;
while (pos < len) {
end = pos + chunkSize;
yield chunk.slice(pos, end);
pos = end;
}
}, readBytes = async function* (iterable, chunkSize) {
for await (const chunk of readStream(iterable)) {
yield* streamChunk(chunk, chunkSize);
}
}, readStream = async function* (stream4) {
if (stream4[Symbol.asyncIterator]) {
yield* stream4;
return;
}
const reader = stream4.getReader();
try {
for (;; ) {
const { done, value } = await reader.read();
if (done) {
break;
}
yield value;
}
} finally {
await reader.cancel();
}
}, trackStream = (stream4, chunkSize, onProgress, onFinish) => {
const iterator2 = readBytes(stream4, chunkSize);
let bytes = 0;
let done;
let _onFinish = (e) => {
if (!done) {
done = true;
onFinish && onFinish(e);
}
};
return new ReadableStream({
async pull(controller) {
try {
const { done: done2, value } = await iterator2.next();
if (done2) {
_onFinish();
controller.close();
return;
}
let len = value.byteLength;
if (onProgress) {
let loadedBytes = bytes += len;
onProgress(loadedBytes);
}
controller.enqueue(new Uint8Array(value));
} catch (err) {
_onFinish(err);
throw err;
}
},
cancel(reason) {
_onFinish(reason);
return iterator2.return();
}
}, {
highWaterMark: 2
});
};
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/adapters/fetch.js
var DEFAULT_CHUNK_SIZE, isFunction3, globalFetchAPI, ReadableStream2, TextEncoder2, test = (fn, ...args) => {
try {
return !!fn(...args);
} catch (e) {
return false;
}
}, factory = (env3) => {
env3 = utils_default.merge.call({
skipUndefined: true
}, globalFetchAPI, env3);
const { fetch: envFetch, Request: Request2, Response: Response2 } = env3;
const isFetchSupported = envFetch ? isFunction3(envFetch) : typeof fetch === "function";
const isRequestSupported = isFunction3(Request2);
const isResponseSupported = isFunction3(Response2);
if (!isFetchSupported) {
return false;
}
const isReadableStreamSupported = isFetchSupported && isFunction3(ReadableStream2);
const encodeText = isFetchSupported && (typeof TextEncoder2 === "function" ? ((encoder) => (str) => encoder.encode(str))(new TextEncoder2) : async (str) => new Uint8Array(await new Request2(str).arrayBuffer()));
const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {
let duplexAccessed = false;
const body = new ReadableStream2;
const hasContentType = new Request2(platform_default.origin, {
body,
method: "POST",
get duplex() {
duplexAccessed = true;
return "half";
}
}).headers.has("Content-Type");
body.cancel();
return duplexAccessed && !hasContentType;
});
const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils_default.isReadableStream(new Response2("").body));
const resolvers = {
stream: supportsResponseStream && ((res) => res.body)
};
isFetchSupported && (() => {
["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => {
!resolvers[type] && (resolvers[type] = (res, config) => {
let method = res && res[type];
if (method) {
return method.call(res);
}
throw new AxiosError_default(`Response type '${type}' is not supported`, AxiosError_default.ERR_NOT_SUPPORT, config);
});
});
})();
const getBodyLength = async (body) => {
if (body == null) {
return 0;
}
if (utils_default.isBlob(body)) {
return body.size;
}
if (utils_default.isSpecCompliantForm(body)) {
const _request = new Request2(platform_default.origin, {
method: "POST",
body
});
return (await _request.arrayBuffer()).byteLength;
}
if (utils_default.isArrayBufferView(body) || utils_default.isArrayBuffer(body)) {
return body.byteLength;
}
if (utils_default.isURLSearchParams(body)) {
body = body + "";
}
if (utils_default.isString(body)) {
return (await encodeText(body)).byteLength;
}
};
const resolveBodyLength = async (headers, body) => {
const length = utils_default.toFiniteNumber(headers.getContentLength());
return length == null ? getBodyLength(body) : length;
};
return async (config) => {
let {
url: url2,
method,
data,
signal,
cancelToken,
timeout,
onDownloadProgress,
onUploadProgress,
responseType,
headers,
withCredentials = "same-origin",
fetchOptions
} = resolveConfig_default(config);
let _fetch = envFetch || fetch;
responseType = responseType ? (responseType + "").toLowerCase() : "text";
let composedSignal = composeSignals_default([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
let request = null;
const unsubscribe2 = composedSignal && composedSignal.unsubscribe && (() => {
composedSignal.unsubscribe();
});
let requestContentLength;
try {
if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {
let _request = new Request2(url2, {
method: "POST",
body: data,
duplex: "half"
});
let contentTypeHeader;
if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) {
headers.setContentType(contentTypeHeader);
}
if (_request.body) {
const [onProgress, flush] = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress)));
data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
}
}
if (!utils_default.isString(withCredentials)) {
withCredentials = withCredentials ? "include" : "omit";
}
const isCredentialsSupported = isRequestSupported && "credentials" in Request2.prototype;
const resolvedOptions = {
...fetchOptions,
signal: composedSignal,
method: method.toUpperCase(),
headers: headers.normalize().toJSON(),
body: data,
duplex: "half",
credentials: isCredentialsSupported ? withCredentials : undefined
};
request = isRequestSupported && new Request2(url2, resolvedOptions);
let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url2, resolvedOptions));
const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response");
if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe2)) {
const options = {};
["status", "statusText", "headers"].forEach((prop) => {
options[prop] = response[prop];
});
const responseContentLength = utils_default.toFiniteNumber(response.headers.get("content-length"));
const [onProgress, flush] = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [];
response = new Response2(trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
flush && flush();
unsubscribe2 && unsubscribe2();
}), options);
}
responseType = responseType || "text";
let responseData = await resolvers[utils_default.findKey(resolvers, responseType) || "text"](response, config);
!isStreamResponse && unsubscribe2 && unsubscribe2();
return await new Promise((resolve2, reject) => {
settle(resolve2, reject, {
data: responseData,
headers: AxiosHeaders_default.from(response.headers),
status: response.status,
statusText: response.statusText,
config,
request
});
});
} catch (err) {
unsubscribe2 && unsubscribe2();
if (err && err.name === "TypeError" && /Load failed|fetch/i.test(err.message)) {
throw Object.assign(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config, request, err && err.response), {
cause: err.cause || err
});
}
throw AxiosError_default.from(err, err && err.code, config, request, err && err.response);
}
};
}, seedCache, getFetch = (config) => {
let env3 = config && config.env || {};
const { fetch: fetch2, Request: Request2, Response: Response2 } = env3;
const seeds = [Request2, Response2, fetch2];
let len = seeds.length, i2 = len, seed, target, map = seedCache;
while (i2--) {
seed = seeds[i2];
target = map.get(seed);
target === undefined && map.set(seed, target = i2 ? new Map : factory(env3));
map = target;
}
return target;
}, adapter;
var init_fetch = __esm(() => {
init_platform();
init_utils();
init_AxiosError();
init_composeSignals();
init_AxiosHeaders();
init_progressEventReducer();
init_resolveConfig();
init_settle();
DEFAULT_CHUNK_SIZE = 64 * 1024;
({ isFunction: isFunction3 } = utils_default);
globalFetchAPI = (({ Request: Request2, Response: Response2 }) => ({
Request: Request2,
Response: Response2
}))(utils_default.global);
({ ReadableStream: ReadableStream2, TextEncoder: TextEncoder2 } = utils_default.global);
seedCache = new Map;
adapter = getFetch();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/adapters/adapters.js
function getAdapter(adapters, config) {
adapters = utils_default.isArray(adapters) ? adapters : [adapters];
const { length } = adapters;
let nameOrAdapter;
let adapter2;
const rejectedReasons = {};
for (let i2 = 0;i2 < length; i2++) {
nameOrAdapter = adapters[i2];
let id;
adapter2 = nameOrAdapter;
if (!isResolvedHandle(nameOrAdapter)) {
adapter2 = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
if (adapter2 === undefined) {
throw new AxiosError_default(`Unknown adapter '${id}'`);
}
}
if (adapter2 && (utils_default.isFunction(adapter2) || (adapter2 = adapter2.get(config)))) {
break;
}
rejectedReasons[id || "#" + i2] = adapter2;
}
if (!adapter2) {
const reasons = Object.entries(rejectedReasons).map(([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build"));
let s = length ? reasons.length > 1 ? `since :
` + reasons.map(renderReason).join(`
`) : " " + renderReason(reasons[0]) : "as no adapter specified";
throw new AxiosError_default(`There is no suitable adapter to dispatch the request ` + s, "ERR_NOT_SUPPORT");
}
return adapter2;
}
var knownAdapters, renderReason = (reason) => `- ${reason}`, isResolvedHandle = (adapter2) => utils_default.isFunction(adapter2) || adapter2 === null || adapter2 === false, adapters_default;
var init_adapters = __esm(() => {
init_utils();
init_http();
init_xhr();
init_fetch();
init_AxiosError();
knownAdapters = {
http: http_default,
xhr: xhr_default,
fetch: {
get: getFetch
}
};
utils_default.forEach(knownAdapters, (fn, value) => {
if (fn) {
try {
Object.defineProperty(fn, "name", { value });
} catch (e) {}
Object.defineProperty(fn, "adapterName", { value });
}
});
adapters_default = {
getAdapter,
adapters: knownAdapters
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/dispatchRequest.js
function throwIfCancellationRequested(config) {
if (config.cancelToken) {
config.cancelToken.throwIfRequested();
}
if (config.signal && config.signal.aborted) {
throw new CanceledError_default(null, config);
}
}
function dispatchRequest(config) {
throwIfCancellationRequested(config);
config.headers = AxiosHeaders_default.from(config.headers);
config.data = transformData.call(config, config.transformRequest);
if (["post", "put", "patch"].indexOf(config.method) !== -1) {
config.headers.setContentType("application/x-www-form-urlencoded", false);
}
const adapter2 = adapters_default.getAdapter(config.adapter || defaults_default.adapter, config);
return adapter2(config).then(function onAdapterResolution(response) {
throwIfCancellationRequested(config);
response.data = transformData.call(config, config.transformResponse, response);
response.headers = AxiosHeaders_default.from(response.headers);
return response;
}, function onAdapterRejection(reason) {
if (!isCancel(reason)) {
throwIfCancellationRequested(config);
if (reason && reason.response) {
reason.response.data = transformData.call(config, config.transformResponse, reason.response);
reason.response.headers = AxiosHeaders_default.from(reason.response.headers);
}
}
return Promise.reject(reason);
});
}
var init_dispatchRequest = __esm(() => {
init_transformData();
init_defaults();
init_CanceledError();
init_AxiosHeaders();
init_adapters();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/validator.js
function assertOptions(options, schema, allowUnknown) {
if (typeof options !== "object") {
throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE);
}
const keys2 = Object.keys(options);
let i2 = keys2.length;
while (i2-- > 0) {
const opt = keys2[i2];
const validator = schema[opt];
if (validator) {
const value = options[opt];
const result = value === undefined || validator(value, opt, options);
if (result !== true) {
throw new AxiosError_default("option " + opt + " must be " + result, AxiosError_default.ERR_BAD_OPTION_VALUE);
}
continue;
}
if (allowUnknown !== true) {
throw new AxiosError_default("Unknown option " + opt, AxiosError_default.ERR_BAD_OPTION);
}
}
}
var validators, deprecatedWarnings, validator_default;
var init_validator = __esm(() => {
init_AxiosError();
validators = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i2) => {
validators[type] = function validator(thing) {
return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type;
};
});
deprecatedWarnings = {};
validators.transitional = function transitional(validator, version, message) {
function formatMessage(opt, desc) {
return "[Axios v" + VERSION2 + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
}
return (value, opt, opts) => {
if (validator === false) {
throw new AxiosError_default(formatMessage(opt, " has been removed" + (version ? " in " + version : "")), AxiosError_default.ERR_DEPRECATED);
}
if (version && !deprecatedWarnings[opt]) {
deprecatedWarnings[opt] = true;
console.warn(formatMessage(opt, " has been deprecated since v" + version + " and will be removed in the near future"));
}
return validator ? validator(value, opt, opts) : true;
};
};
validators.spelling = function spelling(correctSpelling) {
return (value, opt) => {
console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
return true;
};
};
validator_default = {
assertOptions,
validators
};
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/core/Axios.js
class Axios {
constructor(instanceConfig) {
this.defaults = instanceConfig || {};
this.interceptors = {
request: new InterceptorManager_default,
response: new InterceptorManager_default
};
}
async request(configOrUrl, config) {
try {
return await this._request(configOrUrl, config);
} catch (err) {
if (err instanceof Error) {
let dummy = {};
Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error;
const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : "";
try {
if (!err.stack) {
err.stack = stack;
} else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) {
err.stack += `
` + stack;
}
} catch (e) {}
}
throw err;
}
}
_request(configOrUrl, config) {
if (typeof configOrUrl === "string") {
config = config || {};
config.url = configOrUrl;
} else {
config = configOrUrl || {};
}
config = mergeConfig(this.defaults, config);
const { transitional: transitional2, paramsSerializer, headers } = config;
if (transitional2 !== undefined) {
validator_default.assertOptions(transitional2, {
silentJSONParsing: validators2.transitional(validators2.boolean),
forcedJSONParsing: validators2.transitional(validators2.boolean),
clarifyTimeoutError: validators2.transitional(validators2.boolean),
legacyInterceptorReqResOrdering: validators2.transitional(validators2.boolean)
}, false);
}
if (paramsSerializer != null) {
if (utils_default.isFunction(paramsSerializer)) {
config.paramsSerializer = {
serialize: paramsSerializer
};
} else {
validator_default.assertOptions(paramsSerializer, {
encode: validators2.function,
serialize: validators2.function
}, true);
}
}
if (config.allowAbsoluteUrls !== undefined) {} else if (this.defaults.allowAbsoluteUrls !== undefined) {
config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
} else {
config.allowAbsoluteUrls = true;
}
validator_default.assertOptions(config, {
baseUrl: validators2.spelling("baseURL"),
withXsrfToken: validators2.spelling("withXSRFToken")
}, true);
config.method = (config.method || this.defaults.method || "get").toLowerCase();
let contextHeaders = headers && utils_default.merge(headers.common, headers[config.method]);
headers && utils_default.forEach(["delete", "get", "head", "post", "put", "patch", "common"], (method) => {
delete headers[method];
});
config.headers = AxiosHeaders_default.concat(contextHeaders, headers);
const requestInterceptorChain = [];
let synchronousRequestInterceptors = true;
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
return;
}
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
const transitional3 = config.transitional || transitional_default;
const legacyInterceptorReqResOrdering = transitional3 && transitional3.legacyInterceptorReqResOrdering;
if (legacyInterceptorReqResOrdering) {
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
} else {
requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
}
});
const responseInterceptorChain = [];
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
});
let promise;
let i2 = 0;
let len;
if (!synchronousRequestInterceptors) {
const chain = [dispatchRequest.bind(this), undefined];
chain.unshift(...requestInterceptorChain);
chain.push(...responseInterceptorChain);
len = chain.length;
promise = Promise.resolve(config);
while (i2 < len) {
promise = promise.then(chain[i2++], chain[i2++]);
}
return promise;
}
len = requestInterceptorChain.length;
let newConfig = config;
while (i2 < len) {
const onFulfilled = requestInterceptorChain[i2++];
const onRejected = requestInterceptorChain[i2++];
try {
newConfig = onFulfilled(newConfig);
} catch (error2) {
onRejected.call(this, error2);
break;
}
}
try {
promise = dispatchRequest.call(this, newConfig);
} catch (error2) {
return Promise.reject(error2);
}
i2 = 0;
len = responseInterceptorChain.length;
while (i2 < len) {
promise = promise.then(responseInterceptorChain[i2++], responseInterceptorChain[i2++]);
}
return promise;
}
getUri(config) {
config = mergeConfig(this.defaults, config);
const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
return buildURL(fullPath, config.params, config.paramsSerializer);
}
}
var validators2, Axios_default;
var init_Axios = __esm(() => {
init_utils();
init_buildURL();
init_InterceptorManager();
init_dispatchRequest();
init_mergeConfig();
init_buildFullPath();
init_validator();
init_AxiosHeaders();
init_transitional();
validators2 = validator_default.validators;
utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
Axios.prototype[method] = function(url2, config) {
return this.request(mergeConfig(config || {}, {
method,
url: url2,
data: (config || {}).data
}));
};
});
utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
function generateHTTPMethod(isForm) {
return function httpMethod(url2, data, config) {
return this.request(mergeConfig(config || {}, {
method,
headers: isForm ? {
"Content-Type": "multipart/form-data"
} : {},
url: url2,
data
}));
};
}
Axios.prototype[method] = generateHTTPMethod();
Axios.prototype[method + "Form"] = generateHTTPMethod(true);
});
Axios_default = Axios;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/cancel/CancelToken.js
class CancelToken {
constructor(executor) {
if (typeof executor !== "function") {
throw new TypeError("executor must be a function.");
}
let resolvePromise;
this.promise = new Promise(function promiseExecutor(resolve2) {
resolvePromise = resolve2;
});
const token = this;
this.promise.then((cancel) => {
if (!token._listeners)
return;
let i2 = token._listeners.length;
while (i2-- > 0) {
token._listeners[i2](cancel);
}
token._listeners = null;
});
this.promise.then = (onfulfilled) => {
let _resolve;
const promise = new Promise((resolve2) => {
token.subscribe(resolve2);
_resolve = resolve2;
}).then(onfulfilled);
promise.cancel = function reject() {
token.unsubscribe(_resolve);
};
return promise;
};
executor(function cancel(message, config, request) {
if (token.reason) {
return;
}
token.reason = new CanceledError_default(message, config, request);
resolvePromise(token.reason);
});
}
throwIfRequested() {
if (this.reason) {
throw this.reason;
}
}
subscribe(listener) {
if (this.reason) {
listener(this.reason);
return;
}
if (this._listeners) {
this._listeners.push(listener);
} else {
this._listeners = [listener];
}
}
unsubscribe(listener) {
if (!this._listeners) {
return;
}
const index = this._listeners.indexOf(listener);
if (index !== -1) {
this._listeners.splice(index, 1);
}
}
toAbortSignal() {
const controller = new AbortController;
const abort = (err) => {
controller.abort(err);
};
this.subscribe(abort);
controller.signal.unsubscribe = () => this.unsubscribe(abort);
return controller.signal;
}
static source() {
let cancel;
const token = new CancelToken(function executor(c3) {
cancel = c3;
});
return {
token,
cancel
};
}
}
var CancelToken_default;
var init_CancelToken = __esm(() => {
init_CanceledError();
CancelToken_default = CancelToken;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/spread.js
function spread(callback) {
return function wrap(arr) {
return callback.apply(null, arr);
};
}
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/isAxiosError.js
function isAxiosError(payload) {
return utils_default.isObject(payload) && payload.isAxiosError === true;
}
var init_isAxiosError = __esm(() => {
init_utils();
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/helpers/HttpStatusCode.js
var HttpStatusCode, HttpStatusCode_default;
var init_HttpStatusCode = __esm(() => {
HttpStatusCode = {
Continue: 100,
SwitchingProtocols: 101,
Processing: 102,
EarlyHints: 103,
Ok: 200,
Created: 201,
Accepted: 202,
NonAuthoritativeInformation: 203,
NoContent: 204,
ResetContent: 205,
PartialContent: 206,
MultiStatus: 207,
AlreadyReported: 208,
ImUsed: 226,
MultipleChoices: 300,
MovedPermanently: 301,
Found: 302,
SeeOther: 303,
NotModified: 304,
UseProxy: 305,
Unused: 306,
TemporaryRedirect: 307,
PermanentRedirect: 308,
BadRequest: 400,
Unauthorized: 401,
PaymentRequired: 402,
Forbidden: 403,
NotFound: 404,
MethodNotAllowed: 405,
NotAcceptable: 406,
ProxyAuthenticationRequired: 407,
RequestTimeout: 408,
Conflict: 409,
Gone: 410,
LengthRequired: 411,
PreconditionFailed: 412,
PayloadTooLarge: 413,
UriTooLong: 414,
UnsupportedMediaType: 415,
RangeNotSatisfiable: 416,
ExpectationFailed: 417,
ImATeapot: 418,
MisdirectedRequest: 421,
UnprocessableEntity: 422,
Locked: 423,
FailedDependency: 424,
TooEarly: 425,
UpgradeRequired: 426,
PreconditionRequired: 428,
TooManyRequests: 429,
RequestHeaderFieldsTooLarge: 431,
UnavailableForLegalReasons: 451,
InternalServerError: 500,
NotImplemented: 501,
BadGateway: 502,
ServiceUnavailable: 503,
GatewayTimeout: 504,
HttpVersionNotSupported: 505,
VariantAlsoNegotiates: 506,
InsufficientStorage: 507,
LoopDetected: 508,
NotExtended: 510,
NetworkAuthenticationRequired: 511,
WebServerIsDown: 521,
ConnectionTimedOut: 522,
OriginIsUnreachable: 523,
TimeoutOccurred: 524,
SslHandshakeFailed: 525,
InvalidSslCertificate: 526
};
Object.entries(HttpStatusCode).forEach(([key, value]) => {
HttpStatusCode[value] = key;
});
HttpStatusCode_default = HttpStatusCode;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/lib/axios.js
function createInstance(defaultConfig) {
const context = new Axios_default(defaultConfig);
const instance = bind(Axios_default.prototype.request, context);
utils_default.extend(instance, Axios_default.prototype, context, { allOwnKeys: true });
utils_default.extend(instance, context, null, { allOwnKeys: true });
instance.create = function create(instanceConfig) {
return createInstance(mergeConfig(defaultConfig, instanceConfig));
};
return instance;
}
var axios, axios_default;
var init_axios = __esm(() => {
init_utils();
init_Axios();
init_mergeConfig();
init_defaults();
init_formDataToJSON();
init_CanceledError();
init_CancelToken();
init_toFormData();
init_AxiosError();
init_isAxiosError();
init_AxiosHeaders();
init_adapters();
init_HttpStatusCode();
axios = createInstance(defaults_default);
axios.Axios = Axios_default;
axios.CanceledError = CanceledError_default;
axios.CancelToken = CancelToken_default;
axios.isCancel = isCancel;
axios.VERSION = VERSION2;
axios.toFormData = toFormData_default;
axios.AxiosError = AxiosError_default;
axios.Cancel = axios.CanceledError;
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = spread;
axios.isAxiosError = isAxiosError;
axios.mergeConfig = mergeConfig;
axios.AxiosHeaders = AxiosHeaders_default;
axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing);
axios.getAdapter = adapters_default.getAdapter;
axios.HttpStatusCode = HttpStatusCode_default;
axios.default = axios;
axios_default = axios;
});
// node_modules/.pnpm/axios@1.14.0/node_modules/axios/index.js
var exports_axios = {};
__export(exports_axios, {
toFormData: () => toFormData2,
spread: () => spread2,
mergeConfig: () => mergeConfig2,
isCancel: () => isCancel2,
isAxiosError: () => isAxiosError2,
getAdapter: () => getAdapter2,
formToJSON: () => formToJSON,
default: () => axios_default,
all: () => all2,
VERSION: () => VERSION3,
HttpStatusCode: () => HttpStatusCode2,
CanceledError: () => CanceledError2,
CancelToken: () => CancelToken2,
Cancel: () => Cancel,
AxiosHeaders: () => AxiosHeaders2,
AxiosError: () => AxiosError2,
Axios: () => Axios2
});
var Axios2, AxiosError2, CanceledError2, isCancel2, CancelToken2, VERSION3, all2, Cancel, isAxiosError2, spread2, toFormData2, AxiosHeaders2, HttpStatusCode2, formToJSON, getAdapter2, mergeConfig2;
var init_axios2 = __esm(() => {
init_axios();
({
Axios: Axios2,
AxiosError: AxiosError2,
CanceledError: CanceledError2,
isCancel: isCancel2,
CancelToken: CancelToken2,
VERSION: VERSION3,
all: all2,
Cancel,
isAxiosError: isAxiosError2,
spread: spread2,
toFormData: toFormData2,
AxiosHeaders: AxiosHeaders2,
HttpStatusCode: HttpStatusCode2,
formToJSON,
getAdapter: getAdapter2,
mergeConfig: mergeConfig2
} = axios_default);
});
// src/utils/env.ts
import { homedir as homedir4 } from "os";
import { join as join6 } from "path";
async function isCommandAvailable(command) {
try {
return !!await which(command);
} catch {
return false;
}
}
function isConductor() {
return process.env.__CFBundleIdentifier === "com.conductor.app";
}
function detectTerminal() {
if (process.env.CURSOR_TRACE_ID)
return "cursor";
if (process.env.VSCODE_GIT_ASKPASS_MAIN?.includes("cursor")) {
return "cursor";
}
if (process.env.VSCODE_GIT_ASKPASS_MAIN?.includes("windsurf")) {
return "windsurf";
}
if (process.env.VSCODE_GIT_ASKPASS_MAIN?.includes("antigravity")) {
return "antigravity";
}
const bundleId = process.env.__CFBundleIdentifier?.toLowerCase();
if (bundleId?.includes("vscodium"))
return "codium";
if (bundleId?.includes("windsurf"))
return "windsurf";
if (bundleId?.includes("com.google.android.studio"))
return "androidstudio";
if (bundleId) {
for (const ide of JETBRAINS_IDES) {
if (bundleId.includes(ide))
return ide;
}
}
if (process.env.VisualStudioVersion) {
return "visualstudio";
}
if (process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm") {
if (process.platform === "darwin")
return "pycharm";
return "pycharm";
}
if (process.env.TERM === "xterm-ghostty") {
return "ghostty";
}
if (process.env.TERM?.includes("kitty")) {
return "kitty";
}
if (process.env.TERM_PROGRAM) {
return process.env.TERM_PROGRAM;
}
if (process.env.TMUX)
return "tmux";
if (process.env.STY)
return "screen";
if (process.env.KONSOLE_VERSION)
return "konsole";
if (process.env.GNOME_TERMINAL_SERVICE)
return "gnome-terminal";
if (process.env.XTERM_VERSION)
return "xterm";
if (process.env.VTE_VERSION)
return "vte-based";
if (process.env.TERMINATOR_UUID)
return "terminator";
if (process.env.KITTY_WINDOW_ID) {
return "kitty";
}
if (process.env.ALACRITTY_LOG)
return "alacritty";
if (process.env.TILIX_ID)
return "tilix";
if (process.env.WT_SESSION)
return "windows-terminal";
if (process.env.SESSIONNAME && process.env.TERM === "cygwin")
return "cygwin";
if (process.env.MSYSTEM)
return process.env.MSYSTEM.toLowerCase();
if (process.env.ConEmuANSI || process.env.ConEmuPID || process.env.ConEmuTask) {
return "conemu";
}
if (process.env.WSL_DISTRO_NAME)
return `wsl-${process.env.WSL_DISTRO_NAME}`;
if (isSSHSession()) {
return "ssh-session";
}
if (process.env.TERM) {
const term = process.env.TERM;
if (term.includes("alacritty"))
return "alacritty";
if (term.includes("rxvt"))
return "rxvt";
if (term.includes("termite"))
return "termite";
return process.env.TERM;
}
if (!process.stdout.isTTY)
return "non-interactive";
return null;
}
function isSSHSession() {
return !!(process.env.SSH_CONNECTION || process.env.SSH_CLIENT || process.env.SSH_TTY);
}
function getHostPlatformForAnalytics() {
const override = process.env.CLAUDE_CODE_HOST_PLATFORM;
if (override === "win32" || override === "darwin" || override === "linux") {
return override;
}
return env3.platform;
}
var getGlobalClaudeFile, hasInternetAccess, detectPackageManagers, detectRuntimes, isWslEnvironment, isNpmFromWindowsPath, JETBRAINS_IDES, detectDeploymentEnvironment, env3;
var init_env = __esm(() => {
init_memoize();
init_oauth();
init_envUtils();
init_findExecutable();
init_fsOperations();
init_which();
getGlobalClaudeFile = memoize_default(() => {
if (getFsImplementation().existsSync(join6(getClaudeConfigHomeDir(), ".config.json"))) {
return join6(getClaudeConfigHomeDir(), ".config.json");
}
const filename = `.claude${fileSuffixForOauthConfig()}.json`;
return join6(process.env.CLAUDE_CONFIG_DIR || homedir4(), filename);
});
hasInternetAccess = memoize_default(async () => {
try {
const { default: axiosClient } = await Promise.resolve().then(() => (init_axios2(), exports_axios));
await axiosClient.head("http://1.1.1.1", {
signal: AbortSignal.timeout(1000)
});
return true;
} catch {
return false;
}
});
detectPackageManagers = memoize_default(async () => {
const packageManagers = [];
if (await isCommandAvailable("npm"))
packageManagers.push("npm");
if (await isCommandAvailable("yarn"))
packageManagers.push("yarn");
if (await isCommandAvailable("pnpm"))
packageManagers.push("pnpm");
return packageManagers;
});
detectRuntimes = memoize_default(async () => {
const runtimes = [];
if (await isCommandAvailable("bun"))
runtimes.push("bun");
if (await isCommandAvailable("deno"))
runtimes.push("deno");
if (await isCommandAvailable("node"))
runtimes.push("node");
return runtimes;
});
isWslEnvironment = memoize_default(() => {
try {
return getFsImplementation().existsSync("/proc/sys/fs/binfmt_misc/WSLInterop");
} catch (_error) {
return false;
}
});
isNpmFromWindowsPath = memoize_default(() => {
try {
if (!isWslEnvironment()) {
return false;
}
const { cmd } = findExecutable("npm", []);
return cmd.startsWith("/mnt/c/");
} catch (_error) {
return false;
}
});
JETBRAINS_IDES = [
"pycharm",
"intellij",
"webstorm",
"phpstorm",
"rubymine",
"clion",
"goland",
"rider",
"datagrip",
"appcode",
"dataspell",
"aqua",
"gateway",
"fleet",
"jetbrains",
"androidstudio"
];
detectDeploymentEnvironment = memoize_default(() => {
if (isEnvTruthy(process.env.CODESPACES))
return "codespaces";
if (process.env.GITPOD_WORKSPACE_ID)
return "gitpod";
if (process.env.REPL_ID || process.env.REPL_SLUG)
return "replit";
if (process.env.PROJECT_DOMAIN)
return "glitch";
if (isEnvTruthy(process.env.VERCEL))
return "vercel";
if (process.env.RAILWAY_ENVIRONMENT_NAME || process.env.RAILWAY_SERVICE_NAME) {
return "railway";
}
if (isEnvTruthy(process.env.RENDER))
return "render";
if (isEnvTruthy(process.env.NETLIFY))
return "netlify";
if (process.env.DYNO)
return "heroku";
if (process.env.FLY_APP_NAME || process.env.FLY_MACHINE_ID)
return "fly.io";
if (isEnvTruthy(process.env.CF_PAGES))
return "cloudflare-pages";
if (process.env.DENO_DEPLOYMENT_ID)
return "deno-deploy";
if (process.env.AWS_LAMBDA_FUNCTION_NAME)
return "aws-lambda";
if (process.env.AWS_EXECUTION_ENV === "AWS_ECS_FARGATE")
return "aws-fargate";
if (process.env.AWS_EXECUTION_ENV === "AWS_ECS_EC2")
return "aws-ecs";
try {
const uuid = getFsImplementation().readFileSync("/sys/hypervisor/uuid", { encoding: "utf8" }).trim().toLowerCase();
if (uuid.startsWith("ec2"))
return "aws-ec2";
} catch {}
if (process.env.K_SERVICE)
return "gcp-cloud-run";
if (process.env.GOOGLE_CLOUD_PROJECT)
return "gcp";
if (process.env.WEBSITE_SITE_NAME || process.env.WEBSITE_SKU)
return "azure-app-service";
if (process.env.AZURE_FUNCTIONS_ENVIRONMENT)
return "azure-functions";
if (process.env.APP_URL?.includes("ondigitalocean.app")) {
return "digitalocean-app-platform";
}
if (process.env.SPACE_CREATOR_USER_ID)
return "huggingface-spaces";
if (isEnvTruthy(process.env.GITHUB_ACTIONS))
return "github-actions";
if (isEnvTruthy(process.env.GITLAB_CI))
return "gitlab-ci";
if (process.env.CIRCLECI)
return "circleci";
if (process.env.BUILDKITE)
return "buildkite";
if (isEnvTruthy(process.env.CI))
return "ci";
if (process.env.KUBERNETES_SERVICE_HOST)
return "kubernetes";
try {
if (getFsImplementation().existsSync("/.dockerenv"))
return "docker";
} catch {}
if (env3.platform === "darwin")
return "unknown-darwin";
if (env3.platform === "linux")
return "unknown-linux";
if (env3.platform === "win32")
return "unknown-win32";
return "unknown";
});
env3 = {
hasInternetAccess,
isCI: isEnvTruthy(process.env.CI),
platform: ["win32", "darwin"].includes(process.platform) ? process.platform : "linux",
arch: process.arch,
nodeVersion: process.version,
terminal: detectTerminal(),
isSSH: isSSHSession,
getPackageManagers: detectPackageManagers,
getRuntimes: detectRuntimes,
isRunningWithBun: memoize_default(isRunningWithBun),
isWslEnvironment,
isNpmFromWindowsPath,
isConductor,
detectDeploymentEnvironment
};
});
// src/utils/fileRead.ts
function detectEncodingForResolvedPath(resolvedPath) {
const { buffer, bytesRead } = getFsImplementation().readSync(resolvedPath, {
length: 4096
});
if (bytesRead === 0) {
return "utf8";
}
if (bytesRead >= 2) {
if (buffer[0] === 255 && buffer[1] === 254)
return "utf16le";
}
if (bytesRead >= 3 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
return "utf8";
}
return "utf8";
}
function detectLineEndingsForString(content) {
let crlfCount = 0;
let lfCount = 0;
for (let i2 = 0;i2 < content.length; i2++) {
if (content[i2] === `
`) {
if (i2 > 0 && content[i2 - 1] === "\r") {
crlfCount++;
} else {
lfCount++;
}
}
}
return crlfCount > lfCount ? "CRLF" : "LF";
}
function readFileSyncWithMetadata(filePath) {
const fs2 = getFsImplementation();
const { resolvedPath, isSymlink } = safeResolvePath(fs2, filePath);
if (isSymlink) {
logForDebugging(`Reading through symlink: ${filePath} -> ${resolvedPath}`);
}
const encoding = detectEncodingForResolvedPath(resolvedPath);
const raw = fs2.readFileSync(resolvedPath, { encoding });
const lineEndings = detectLineEndingsForString(raw.slice(0, 4096));
return {
content: raw.replaceAll(`\r
`, `
`),
encoding,
lineEndings
};
}
function readFileSync4(filePath) {
return readFileSyncWithMetadata(filePath).content;
}
var init_fileRead = __esm(() => {
init_debug();
init_fsOperations();
});
// src/utils/fileReadCache.ts
class FileReadCache {
cache = new Map;
maxCacheSize = 1000;
readFile(filePath) {
const fs2 = getFsImplementation();
let stats;
try {
stats = fs2.statSync(filePath);
} catch (error2) {
this.cache.delete(filePath);
throw error2;
}
const cacheKey = filePath;
const cachedData = this.cache.get(cacheKey);
if (cachedData && cachedData.mtime === stats.mtimeMs) {
return {
content: cachedData.content,
encoding: cachedData.encoding
};
}
const encoding = detectFileEncoding(filePath);
const content = fs2.readFileSync(filePath, { encoding }).replaceAll(`\r
`, `
`);
this.cache.set(cacheKey, {
content,
encoding,
mtime: stats.mtimeMs
});
if (this.cache.size > this.maxCacheSize) {
const firstKey = this.cache.keys().next().value;
if (firstKey) {
this.cache.delete(firstKey);
}
}
return { content, encoding };
}
clear() {
this.cache.clear();
}
invalidate(filePath) {
this.cache.delete(filePath);
}
getStats() {
return {
size: this.cache.size,
entries: Array.from(this.cache.keys())
};
}
}
var fileReadCache;
var init_fileReadCache = __esm(() => {
init_file();
init_fsOperations();
fileReadCache = new FileReadCache;
});
// src/constants/xml.ts
var COMMAND_NAME_TAG = "command-name", COMMAND_MESSAGE_TAG = "command-message", COMMAND_ARGS_TAG = "command-args", BASH_INPUT_TAG = "bash-input", BASH_STDOUT_TAG = "bash-stdout", BASH_STDERR_TAG = "bash-stderr", LOCAL_COMMAND_STDOUT_TAG = "local-command-stdout", LOCAL_COMMAND_STDERR_TAG = "local-command-stderr", LOCAL_COMMAND_CAVEAT_TAG = "local-command-caveat", TERMINAL_OUTPUT_TAGS, TICK_TAG = "tick", TASK_NOTIFICATION_TAG = "task-notification", TASK_ID_TAG = "task-id", TOOL_USE_ID_TAG = "tool-use-id", TASK_TYPE_TAG = "task-type", OUTPUT_FILE_TAG = "output-file", STATUS_TAG = "status", SUMMARY_TAG = "summary", WORKTREE_TAG = "worktree", WORKTREE_PATH_TAG = "worktreePath", WORKTREE_BRANCH_TAG = "worktreeBranch", REMOTE_REVIEW_TAG = "remote-review", REMOTE_REVIEW_PROGRESS_TAG = "remote-review-progress", TEAMMATE_MESSAGE_TAG = "teammate-message", CHANNEL_TAG = "channel", FORK_BOILERPLATE_TAG = "fork-boilerplate", FORK_DIRECTIVE_PREFIX = "Your directive: ", COMMON_HELP_ARGS, COMMON_INFO_ARGS;
var init_xml = __esm(() => {
TERMINAL_OUTPUT_TAGS = [
BASH_INPUT_TAG,
BASH_STDOUT_TAG,
BASH_STDERR_TAG,
LOCAL_COMMAND_STDOUT_TAG,
LOCAL_COMMAND_STDERR_TAG,
LOCAL_COMMAND_CAVEAT_TAG
];
COMMON_HELP_ARGS = ["help", "-h", "--help"];
COMMON_INFO_ARGS = [
"list",
"show",
"display",
"current",
"view",
"get",
"check",
"describe",
"print",
"version",
"about",
"status",
"?"
];
});
// src/types/logs.ts
function sortLogs(logs) {
return logs.sort((a2, b2) => {
const modifiedDiff = b2.modified.getTime() - a2.modified.getTime();
if (modifiedDiff !== 0) {
return modifiedDiff;
}
return b2.created.getTime() - a2.created.getTime();
});
}
// node_modules/.pnpm/is-safe-filename@0.1.1/node_modules/is-safe-filename/index.js
function isSafeFilename(filename) {
if (typeof filename !== "string") {
return false;
}
const trimmed = filename.trim();
return trimmed !== "" && trimmed !== "." && trimmed !== ".." && !filename.includes("/") && !filename.includes("\\") && !filename.includes("\x00");
}
function assertSafeFilename(filename) {
if (typeof filename !== "string") {
throw new TypeError("Expected a string");
}
if (!isSafeFilename(filename)) {
throw new Error(`Unsafe filename: ${JSON.stringify(filename)}`);
}
}
var unsafeFilenameFixtures;
var init_is_safe_filename = __esm(() => {
unsafeFilenameFixtures = Object.freeze([
"",
" ",
".",
"..",
" .",
". ",
" ..",
".. ",
"../",
"../foo",
"foo/../bar",
"foo/bar",
"foo\\bar",
"foo\x00bar"
]);
});
// node_modules/.pnpm/env-paths@4.0.0/node_modules/env-paths/index.js
import path7 from "node:path";
import os3 from "node:os";
import process12 from "node:process";
function envPaths(name, { suffix = "nodejs" } = {}) {
assertSafeFilename(name);
if (suffix) {
name += `-${suffix}`;
}
assertSafeFilename(name);
if (process12.platform === "darwin") {
return macos(name);
}
if (process12.platform === "win32") {
return windows(name);
}
return linux(name);
}
var homedir5, tmpdir, env4, macos = (name) => {
const library = path7.join(homedir5, "Library");
return {
data: path7.join(library, "Application Support", name),
config: path7.join(library, "Preferences", name),
cache: path7.join(library, "Caches", name),
log: path7.join(library, "Logs", name),
temp: path7.join(tmpdir, name)
};
}, windows = (name) => {
const appData = env4.APPDATA || path7.join(homedir5, "AppData", "Roaming");
const localAppData = env4.LOCALAPPDATA || path7.join(homedir5, "AppData", "Local");
return {
data: path7.join(localAppData, name, "Data"),
config: path7.join(appData, name, "Config"),
cache: path7.join(localAppData, name, "Cache"),
log: path7.join(localAppData, name, "Log"),
temp: path7.join(tmpdir, name)
};
}, linux = (name) => {
const username = path7.basename(homedir5);
return {
data: path7.join(env4.XDG_DATA_HOME || path7.join(homedir5, ".local", "share"), name),
config: path7.join(env4.XDG_CONFIG_HOME || path7.join(homedir5, ".config"), name),
cache: path7.join(env4.XDG_CACHE_HOME || path7.join(homedir5, ".cache"), name),
log: path7.join(env4.XDG_STATE_HOME || path7.join(homedir5, ".local", "state"), name),
temp: path7.join(tmpdir, username, name)
};
};
var init_env_paths = __esm(() => {
init_is_safe_filename();
homedir5 = os3.homedir();
tmpdir = os3.tmpdir();
({ env: env4 } = process12);
});
// src/utils/hash.ts
function djb2Hash(str) {
let hash2 = 0;
for (let i2 = 0;i2 < str.length; i2++) {
hash2 = (hash2 << 5) - hash2 + str.charCodeAt(i2) | 0;
}
return hash2;
}
function hashContent(content) {
if (typeof Bun !== "undefined") {
return Bun.hash(content).toString();
}
const crypto3 = __require("crypto");
return crypto3.createHash("sha256").update(content).digest("hex");
}
function hashPair(a2, b2) {
if (typeof Bun !== "undefined") {
return Bun.hash(b2, Bun.hash(a2)).toString();
}
const crypto3 = __require("crypto");
return crypto3.createHash("sha256").update(a2).update("\x00").update(b2).digest("hex");
}
// src/utils/cachePaths.ts
import { join as join7 } from "path";
function sanitizePath(name) {
const sanitized = name.replace(/[^a-zA-Z0-9]/g, "-");
if (sanitized.length <= MAX_SANITIZED_LENGTH) {
return sanitized;
}
return `${sanitized.slice(0, MAX_SANITIZED_LENGTH)}-${Math.abs(djb2Hash(name)).toString(36)}`;
}
function getProjectDir(cwd2) {
return sanitizePath(cwd2);
}
var paths, MAX_SANITIZED_LENGTH = 200, CACHE_PATHS;
var init_cachePaths = __esm(() => {
init_env_paths();
init_fsOperations();
paths = envPaths("claude-cli");
CACHE_PATHS = {
baseLogs: () => join7(paths.cache, getProjectDir(getFsImplementation().cwd())),
errors: () => join7(paths.cache, getProjectDir(getFsImplementation().cwd()), "errors"),
messages: () => join7(paths.cache, getProjectDir(getFsImplementation().cwd()), "messages"),
mcpLogs: (serverName) => join7(paths.cache, getProjectDir(getFsImplementation().cwd()), `mcp-logs-${sanitizePath(serverName)}`)
};
});
// src/utils/displayTags.ts
function stripDisplayTags(text) {
const result = text.replace(XML_TAG_BLOCK_PATTERN, "").trim();
return result || text;
}
function stripDisplayTagsAllowEmpty(text) {
return text.replace(XML_TAG_BLOCK_PATTERN, "").trim();
}
function stripIdeContextTags(text) {
return text.replace(IDE_CONTEXT_TAGS_PATTERN, "").trim();
}
var XML_TAG_BLOCK_PATTERN, IDE_CONTEXT_TAGS_PATTERN;
var init_displayTags = __esm(() => {
XML_TAG_BLOCK_PATTERN = /<([a-z][\w-]*)(?:\s[^>]*)?>[\s\S]*?<\/\1>\n?/g;
IDE_CONTEXT_TAGS_PATTERN = /<(ide_opened_file|ide_selection)(?:\s[^>]*)?>[\s\S]*?<\/\1>\n?/g;
});
// src/utils/privacyLevel.ts
function getPrivacyLevel() {
if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) {
return "essential-traffic";
}
if (process.env.DISABLE_TELEMETRY) {
return "no-telemetry";
}
return "default";
}
function isEssentialTrafficOnly() {
return getPrivacyLevel() === "essential-traffic";
}
function isTelemetryDisabled() {
return getPrivacyLevel() !== "default";
}
function getEssentialTrafficOnlyReason() {
if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) {
return "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC";
}
return null;
}
// src/utils/log.ts
function getLogDisplayTitle(log, defaultTitle) {
const isAutonomousPrompt = log.firstPrompt?.startsWith(`<${TICK_TAG}>`);
const strippedFirstPrompt = log.firstPrompt ? stripDisplayTagsAllowEmpty(log.firstPrompt) : "";
const useFirstPrompt = strippedFirstPrompt && !isAutonomousPrompt;
const title = log.agentName || log.customTitle || log.summary || (useFirstPrompt ? strippedFirstPrompt : undefined) || defaultTitle || (isAutonomousPrompt ? "Autonomous session" : undefined) || (log.sessionId ? log.sessionId.slice(0, 8) : "") || "";
return stripDisplayTags(title).trim();
}
function dateToFilename(date) {
return date.toISOString().replace(/[:.]/g, "-");
}
function addToInMemoryErrorLog2(errorInfo) {
if (inMemoryErrorLog.length >= MAX_IN_MEMORY_ERRORS) {
inMemoryErrorLog.shift();
}
inMemoryErrorLog.push(errorInfo);
}
function attachErrorLogSink(newSink) {
if (errorLogSink !== null) {
return;
}
errorLogSink = newSink;
if (errorQueue.length > 0) {
const queuedEvents = [...errorQueue];
errorQueue.length = 0;
for (const event of queuedEvents) {
switch (event.type) {
case "error":
errorLogSink.logError(event.error);
break;
case "mcpError":
errorLogSink.logMCPError(event.serverName, event.error);
break;
case "mcpDebug":
errorLogSink.logMCPDebug(event.serverName, event.message);
break;
}
}
}
}
function logError2(error2) {
const err = toError(error2);
if (false) {}
try {
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || process.env.DISABLE_ERROR_REPORTING || isEssentialTrafficOnly()) {
return;
}
const errorStr = err.stack || err.message;
const errorInfo = {
error: errorStr,
timestamp: new Date().toISOString()
};
addToInMemoryErrorLog2(errorInfo);
if (errorLogSink === null) {
errorQueue.push({ type: "error", error: err });
return;
}
errorLogSink.logError(err);
} catch {}
}
function getInMemoryErrors() {
return [...inMemoryErrorLog];
}
function logMCPError(serverName, error2) {
try {
if (errorLogSink === null) {
errorQueue.push({ type: "mcpError", serverName, error: error2 });
return;
}
errorLogSink.logMCPError(serverName, error2);
} catch {}
}
function logMCPDebug(serverName, message) {
try {
if (errorLogSink === null) {
errorQueue.push({ type: "mcpDebug", serverName, message });
return;
}
errorLogSink.logMCPDebug(serverName, message);
} catch {}
}
function captureAPIRequest(params, querySource) {
if (!querySource || !querySource.startsWith("repl_main_thread")) {
return;
}
const { messages, ...paramsWithoutMessages } = params;
setLastAPIRequest(paramsWithoutMessages);
setLastAPIRequestMessages(process.env.USER_TYPE === "ant" ? messages : null);
}
var MAX_IN_MEMORY_ERRORS = 100, inMemoryErrorLog, errorQueue, errorLogSink = null, isHardFailMode;
var init_log3 = __esm(() => {
init_memoize();
init_state();
init_xml();
init_cachePaths();
init_displayTags();
init_envUtils();
init_errors();
init_slowOperations();
inMemoryErrorLog = [];
errorQueue = [];
isHardFailMode = memoize_default(() => {
return process.argv.includes("--hard-fail");
});
});
// src/utils/platform.ts
import { readdir, readFile } from "fs/promises";
import { release as osRelease } from "os";
async function detectVcs(dir) {
const detected = new Set;
if (process.env.P4PORT) {
detected.add("perforce");
}
try {
const targetDir = dir ?? getFsImplementation().cwd();
const entries = new Set(await readdir(targetDir));
for (const [marker, vcs] of VCS_MARKERS) {
if (entries.has(marker)) {
detected.add(vcs);
}
}
} catch {}
return [...detected];
}
var SUPPORTED_PLATFORMS, getPlatform, getWslVersion, getLinuxDistroInfo, VCS_MARKERS;
var init_platform2 = __esm(() => {
init_memoize();
init_fsOperations();
init_log3();
SUPPORTED_PLATFORMS = ["macos", "wsl"];
getPlatform = memoize_default(() => {
try {
if (process.platform === "darwin") {
return "macos";
}
if (process.platform === "win32") {
return "windows";
}
if (process.platform === "linux") {
try {
const procVersion = getFsImplementation().readFileSync("/proc/version", { encoding: "utf8" });
if (procVersion.toLowerCase().includes("microsoft") || procVersion.toLowerCase().includes("wsl")) {
return "wsl";
}
} catch (error2) {
logError2(error2);
}
return "linux";
}
return "unknown";
} catch (error2) {
logError2(error2);
return "unknown";
}
});
getWslVersion = memoize_default(() => {
if (process.platform !== "linux") {
return;
}
try {
const procVersion = getFsImplementation().readFileSync("/proc/version", {
encoding: "utf8"
});
const wslVersionMatch = procVersion.match(/WSL(\d+)/i);
if (wslVersionMatch && wslVersionMatch[1]) {
return wslVersionMatch[1];
}
if (procVersion.toLowerCase().includes("microsoft")) {
return "1";
}
return;
} catch (error2) {
logError2(error2);
return;
}
});
getLinuxDistroInfo = memoize_default(async () => {
if (process.platform !== "linux") {
return;
}
const result = {
linuxKernel: osRelease()
};
try {
const content = await readFile("/etc/os-release", "utf8");
for (const line of content.split(`
`)) {
const match = line.match(/^(ID|VERSION_ID)=(.*)$/);
if (match && match[1] && match[2]) {
const value = match[2].replace(/^"|"$/g, "");
if (match[1] === "ID") {
result.linuxDistroId = value;
} else {
result.linuxDistroVersion = value;
}
}
}
} catch {}
return result;
});
VCS_MARKERS = [
[".git", "git"],
[".hg", "mercurial"],
[".svn", "svn"],
[".p4config", "perforce"],
["$tf", "tfs"],
[".tfvc", "tfs"],
[".jj", "jujutsu"],
[".sl", "sapling"]
];
});
// node_modules/.pnpm/lru-cache@11.2.7/node_modules/lru-cache/dist/esm/index.min.js
var x2, I2, R, U2 = (c3, t, e, i2) => {
typeof R.emitWarning == "function" ? R.emitWarning(c3, t, e, i2) : console.error(`[${e}] ${t}: ${c3}`);
}, C2, D2, G3 = (c3) => !I2.has(c3), H2, y2 = (c3) => c3 && c3 === Math.floor(c3) && c3 > 0 && isFinite(c3), M2 = (c3) => y2(c3) ? c3 <= Math.pow(2, 8) ? Uint8Array : c3 <= Math.pow(2, 16) ? Uint16Array : c3 <= Math.pow(2, 32) ? Uint32Array : c3 <= Number.MAX_SAFE_INTEGER ? z2 : null : null, z2, W2 = class c3 {
heap;
length;
static #o = false;
static create(t) {
let e = M2(t);
if (!e)
return [];
c3.#o = true;
let i2 = new c3(t, e);
return c3.#o = false, i2;
}
constructor(t, e) {
if (!c3.#o)
throw new TypeError("instantiate Stack using Stack.create(n)");
this.heap = new e(t), this.length = 0;
}
push(t) {
this.heap[this.length++] = t;
}
pop() {
return this.heap[--this.length];
}
}, L2;
var init_index_min = __esm(() => {
x2 = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date;
I2 = new Set;
R = typeof process == "object" && process ? process : {};
C2 = globalThis.AbortController;
D2 = globalThis.AbortSignal;
if (typeof C2 > "u") {
D2 = class {
onabort;
_onabort = [];
reason;
aborted = false;
addEventListener(i2, s) {
this._onabort.push(s);
}
}, C2 = class {
constructor() {
t();
}
signal = new D2;
abort(i2) {
if (!this.signal.aborted) {
this.signal.reason = i2, this.signal.aborted = true;
for (let s of this.signal._onabort)
s(i2);
this.signal.onabort?.(i2);
}
}
};
let c3 = R.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1", t = () => {
c3 && (c3 = false, U2("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", t));
};
}
H2 = Symbol("type");
z2 = class extends Array {
constructor(t) {
super(t), this.fill(0);
}
};
L2 = class c4 {
#o;
#c;
#w;
#C;
#S;
#L;
#I;
#m;
get perf() {
return this.#m;
}
ttl;
ttlResolution;
ttlAutopurge;
updateAgeOnGet;
updateAgeOnHas;
allowStale;
noDisposeOnSet;
noUpdateTTL;
maxEntrySize;
sizeCalculation;
noDeleteOnFetchRejection;
noDeleteOnStaleGet;
allowStaleOnFetchAbort;
allowStaleOnFetchRejection;
ignoreFetchAbort;
#n;
#_;
#s;
#i;
#t;
#a;
#u;
#l;
#h;
#b;
#r;
#y;
#A;
#d;
#g;
#T;
#v;
#f;
#U;
static unsafeExposeInternals(t) {
return { starts: t.#A, ttls: t.#d, autopurgeTimers: t.#g, sizes: t.#y, keyMap: t.#s, keyList: t.#i, valList: t.#t, next: t.#a, prev: t.#u, get head() {
return t.#l;
}, get tail() {
return t.#h;
}, free: t.#b, isBackgroundFetch: (e) => t.#e(e), backgroundFetch: (e, i2, s, n2) => t.#G(e, i2, s, n2), moveToTail: (e) => t.#D(e), indexes: (e) => t.#F(e), rindexes: (e) => t.#O(e), isStale: (e) => t.#p(e) };
}
get max() {
return this.#o;
}
get maxSize() {
return this.#c;
}
get calculatedSize() {
return this.#_;
}
get size() {
return this.#n;
}
get fetchMethod() {
return this.#L;
}
get memoMethod() {
return this.#I;
}
get dispose() {
return this.#w;
}
get onInsert() {
return this.#C;
}
get disposeAfter() {
return this.#S;
}
constructor(t) {
let { max: e = 0, ttl: i2, ttlResolution: s = 1, ttlAutopurge: n2, updateAgeOnGet: o2, updateAgeOnHas: h2, allowStale: r, dispose: a2, onInsert: w2, disposeAfter: f, noDisposeOnSet: d, noUpdateTTL: g2, maxSize: A = 0, maxEntrySize: p = 0, sizeCalculation: _2, fetchMethod: l, memoMethod: S, noDeleteOnFetchRejection: b2, noDeleteOnStaleGet: m2, allowStaleOnFetchRejection: u4, allowStaleOnFetchAbort: T2, ignoreFetchAbort: F2, perf: v2 } = t;
if (v2 !== undefined && typeof v2?.now != "function")
throw new TypeError("perf option must have a now() method if specified");
if (this.#m = v2 ?? x2, e !== 0 && !y2(e))
throw new TypeError("max option must be a nonnegative integer");
let O2 = e ? M2(e) : Array;
if (!O2)
throw new Error("invalid max value: " + e);
if (this.#o = e, this.#c = A, this.maxEntrySize = p || this.#c, this.sizeCalculation = _2, this.sizeCalculation) {
if (!this.#c && !this.maxEntrySize)
throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
if (typeof this.sizeCalculation != "function")
throw new TypeError("sizeCalculation set to non-function");
}
if (S !== undefined && typeof S != "function")
throw new TypeError("memoMethod must be a function if defined");
if (this.#I = S, l !== undefined && typeof l != "function")
throw new TypeError("fetchMethod must be a function if specified");
if (this.#L = l, this.#v = !!l, this.#s = new Map, this.#i = new Array(e).fill(undefined), this.#t = new Array(e).fill(undefined), this.#a = new O2(e), this.#u = new O2(e), this.#l = 0, this.#h = 0, this.#b = W2.create(e), this.#n = 0, this.#_ = 0, typeof a2 == "function" && (this.#w = a2), typeof w2 == "function" && (this.#C = w2), typeof f == "function" ? (this.#S = f, this.#r = []) : (this.#S = undefined, this.#r = undefined), this.#T = !!this.#w, this.#U = !!this.#C, this.#f = !!this.#S, this.noDisposeOnSet = !!d, this.noUpdateTTL = !!g2, this.noDeleteOnFetchRejection = !!b2, this.allowStaleOnFetchRejection = !!u4, this.allowStaleOnFetchAbort = !!T2, this.ignoreFetchAbort = !!F2, this.maxEntrySize !== 0) {
if (this.#c !== 0 && !y2(this.#c))
throw new TypeError("maxSize must be a positive integer if specified");
if (!y2(this.maxEntrySize))
throw new TypeError("maxEntrySize must be a positive integer if specified");
this.#B();
}
if (this.allowStale = !!r, this.noDeleteOnStaleGet = !!m2, this.updateAgeOnGet = !!o2, this.updateAgeOnHas = !!h2, this.ttlResolution = y2(s) || s === 0 ? s : 1, this.ttlAutopurge = !!n2, this.ttl = i2 || 0, this.ttl) {
if (!y2(this.ttl))
throw new TypeError("ttl must be a positive integer if specified");
this.#j();
}
if (this.#o === 0 && this.ttl === 0 && this.#c === 0)
throw new TypeError("At least one of max, maxSize, or ttl is required");
if (!this.ttlAutopurge && !this.#o && !this.#c) {
let E2 = "LRU_CACHE_UNBOUNDED";
G3(E2) && (I2.add(E2), U2("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", "UnboundedCacheWarning", E2, c4));
}
}
getRemainingTTL(t) {
return this.#s.has(t) ? 1 / 0 : 0;
}
#j() {
let t = new z2(this.#o), e = new z2(this.#o);
this.#d = t, this.#A = e;
let i2 = this.ttlAutopurge ? new Array(this.#o) : undefined;
this.#g = i2, this.#N = (h2, r, a2 = this.#m.now()) => {
e[h2] = r !== 0 ? a2 : 0, t[h2] = r, s(h2, r);
}, this.#R = (h2) => {
e[h2] = t[h2] !== 0 ? this.#m.now() : 0, s(h2, t[h2]);
};
let s = this.ttlAutopurge ? (h2, r) => {
if (i2?.[h2] && (clearTimeout(i2[h2]), i2[h2] = undefined), r && r !== 0 && i2) {
let a2 = setTimeout(() => {
this.#p(h2) && this.#E(this.#i[h2], "expire");
}, r + 1);
a2.unref && a2.unref(), i2[h2] = a2;
}
} : () => {};
this.#z = (h2, r) => {
if (t[r]) {
let a2 = t[r], w2 = e[r];
if (!a2 || !w2)
return;
h2.ttl = a2, h2.start = w2, h2.now = n2 || o2();
let f = h2.now - w2;
h2.remainingTTL = a2 - f;
}
};
let n2 = 0, o2 = () => {
let h2 = this.#m.now();
if (this.ttlResolution > 0) {
n2 = h2;
let r = setTimeout(() => n2 = 0, this.ttlResolution);
r.unref && r.unref();
}
return h2;
};
this.getRemainingTTL = (h2) => {
let r = this.#s.get(h2);
if (r === undefined)
return 0;
let a2 = t[r], w2 = e[r];
if (!a2 || !w2)
return 1 / 0;
let f = (n2 || o2()) - w2;
return a2 - f;
}, this.#p = (h2) => {
let r = e[h2], a2 = t[h2];
return !!a2 && !!r && (n2 || o2()) - r > a2;
};
}
#R = () => {};
#z = () => {};
#N = () => {};
#p = () => false;
#B() {
let t = new z2(this.#o);
this.#_ = 0, this.#y = t, this.#W = (e) => {
this.#_ -= t[e], t[e] = 0;
}, this.#P = (e, i2, s, n2) => {
if (this.#e(i2))
return 0;
if (!y2(s))
if (n2) {
if (typeof n2 != "function")
throw new TypeError("sizeCalculation must be a function");
if (s = n2(i2, e), !y2(s))
throw new TypeError("sizeCalculation return invalid (expect positive integer)");
} else
throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
return s;
}, this.#M = (e, i2, s) => {
if (t[e] = i2, this.#c) {
let n2 = this.#c - t[e];
for (;this.#_ > n2; )
this.#x(true);
}
this.#_ += t[e], s && (s.entrySize = i2, s.totalCalculatedSize = this.#_);
};
}
#W = (t) => {};
#M = (t, e, i2) => {};
#P = (t, e, i2, s) => {
if (i2 || s)
throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
return 0;
};
*#F({ allowStale: t = this.allowStale } = {}) {
if (this.#n)
for (let e = this.#h;!(!this.#H(e) || ((t || !this.#p(e)) && (yield e), e === this.#l)); )
e = this.#u[e];
}
*#O({ allowStale: t = this.allowStale } = {}) {
if (this.#n)
for (let e = this.#l;!(!this.#H(e) || ((t || !this.#p(e)) && (yield e), e === this.#h)); )
e = this.#a[e];
}
#H(t) {
return t !== undefined && this.#s.get(this.#i[t]) === t;
}
*entries() {
for (let t of this.#F())
this.#t[t] !== undefined && this.#i[t] !== undefined && !this.#e(this.#t[t]) && (yield [this.#i[t], this.#t[t]]);
}
*rentries() {
for (let t of this.#O())
this.#t[t] !== undefined && this.#i[t] !== undefined && !this.#e(this.#t[t]) && (yield [this.#i[t], this.#t[t]]);
}
*keys() {
for (let t of this.#F()) {
let e = this.#i[t];
e !== undefined && !this.#e(this.#t[t]) && (yield e);
}
}
*rkeys() {
for (let t of this.#O()) {
let e = this.#i[t];
e !== undefined && !this.#e(this.#t[t]) && (yield e);
}
}
*values() {
for (let t of this.#F())
this.#t[t] !== undefined && !this.#e(this.#t[t]) && (yield this.#t[t]);
}
*rvalues() {
for (let t of this.#O())
this.#t[t] !== undefined && !this.#e(this.#t[t]) && (yield this.#t[t]);
}
[Symbol.iterator]() {
return this.entries();
}
[Symbol.toStringTag] = "LRUCache";
find(t, e = {}) {
for (let i2 of this.#F()) {
let s = this.#t[i2], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 !== undefined && t(n2, this.#i[i2], this))
return this.get(this.#i[i2], e);
}
}
forEach(t, e = this) {
for (let i2 of this.#F()) {
let s = this.#t[i2], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== undefined && t.call(e, n2, this.#i[i2], this);
}
}
rforEach(t, e = this) {
for (let i2 of this.#O()) {
let s = this.#t[i2], n2 = this.#e(s) ? s.__staleWhileFetching : s;
n2 !== undefined && t.call(e, n2, this.#i[i2], this);
}
}
purgeStale() {
let t = false;
for (let e of this.#O({ allowStale: true }))
this.#p(e) && (this.#E(this.#i[e], "expire"), t = true);
return t;
}
info(t) {
let e = this.#s.get(t);
if (e === undefined)
return;
let i2 = this.#t[e], s = this.#e(i2) ? i2.__staleWhileFetching : i2;
if (s === undefined)
return;
let n2 = { value: s };
if (this.#d && this.#A) {
let o2 = this.#d[e], h2 = this.#A[e];
if (o2 && h2) {
let r = o2 - (this.#m.now() - h2);
n2.ttl = r, n2.start = Date.now();
}
}
return this.#y && (n2.size = this.#y[e]), n2;
}
dump() {
let t = [];
for (let e of this.#F({ allowStale: true })) {
let i2 = this.#i[e], s = this.#t[e], n2 = this.#e(s) ? s.__staleWhileFetching : s;
if (n2 === undefined || i2 === undefined)
continue;
let o2 = { value: n2 };
if (this.#d && this.#A) {
o2.ttl = this.#d[e];
let h2 = this.#m.now() - this.#A[e];
o2.start = Math.floor(Date.now() - h2);
}
this.#y && (o2.size = this.#y[e]), t.unshift([i2, o2]);
}
return t;
}
load(t) {
this.clear();
for (let [e, i2] of t) {
if (i2.start) {
let s = Date.now() - i2.start;
i2.start = this.#m.now() - s;
}
this.set(e, i2.value, i2);
}
}
set(t, e, i2 = {}) {
if (e === undefined)
return this.delete(t), this;
let { ttl: s = this.ttl, start: n2, noDisposeOnSet: o2 = this.noDisposeOnSet, sizeCalculation: h2 = this.sizeCalculation, status: r } = i2, { noUpdateTTL: a2 = this.noUpdateTTL } = i2, w2 = this.#P(t, e, i2.size || 0, h2);
if (this.maxEntrySize && w2 > this.maxEntrySize)
return r && (r.set = "miss", r.maxEntrySizeExceeded = true), this.#E(t, "set"), this;
let f = this.#n === 0 ? undefined : this.#s.get(t);
if (f === undefined)
f = this.#n === 0 ? this.#h : this.#b.length !== 0 ? this.#b.pop() : this.#n === this.#o ? this.#x(false) : this.#n, this.#i[f] = t, this.#t[f] = e, this.#s.set(t, f), this.#a[this.#h] = f, this.#u[f] = this.#h, this.#h = f, this.#n++, this.#M(f, w2, r), r && (r.set = "add"), a2 = false, this.#U && this.#C?.(e, t, "add");
else {
this.#D(f);
let d = this.#t[f];
if (e !== d) {
if (this.#v && this.#e(d)) {
d.__abortController.abort(new Error("replaced"));
let { __staleWhileFetching: g2 } = d;
g2 !== undefined && !o2 && (this.#T && this.#w?.(g2, t, "set"), this.#f && this.#r?.push([g2, t, "set"]));
} else
o2 || (this.#T && this.#w?.(d, t, "set"), this.#f && this.#r?.push([d, t, "set"]));
if (this.#W(f), this.#M(f, w2, r), this.#t[f] = e, r) {
r.set = "replace";
let g2 = d && this.#e(d) ? d.__staleWhileFetching : d;
g2 !== undefined && (r.oldValue = g2);
}
} else
r && (r.set = "update");
this.#U && this.onInsert?.(e, t, e === d ? "update" : "replace");
}
if (s !== 0 && !this.#d && this.#j(), this.#d && (a2 || this.#N(f, s, n2), r && this.#z(r, f)), !o2 && this.#f && this.#r) {
let d = this.#r, g2;
for (;g2 = d?.shift(); )
this.#S?.(...g2);
}
return this;
}
pop() {
try {
for (;this.#n; ) {
let t = this.#t[this.#l];
if (this.#x(true), this.#e(t)) {
if (t.__staleWhileFetching)
return t.__staleWhileFetching;
} else if (t !== undefined)
return t;
}
} finally {
if (this.#f && this.#r) {
let t = this.#r, e;
for (;e = t?.shift(); )
this.#S?.(...e);
}
}
}
#x(t) {
let e = this.#l, i2 = this.#i[e], s = this.#t[e];
return this.#v && this.#e(s) ? s.__abortController.abort(new Error("evicted")) : (this.#T || this.#f) && (this.#T && this.#w?.(s, i2, "evict"), this.#f && this.#r?.push([s, i2, "evict"])), this.#W(e), this.#g?.[e] && (clearTimeout(this.#g[e]), this.#g[e] = undefined), t && (this.#i[e] = undefined, this.#t[e] = undefined, this.#b.push(e)), this.#n === 1 ? (this.#l = this.#h = 0, this.#b.length = 0) : this.#l = this.#a[e], this.#s.delete(i2), this.#n--, e;
}
has(t, e = {}) {
let { updateAgeOnHas: i2 = this.updateAgeOnHas, status: s } = e, n2 = this.#s.get(t);
if (n2 !== undefined) {
let o2 = this.#t[n2];
if (this.#e(o2) && o2.__staleWhileFetching === undefined)
return false;
if (this.#p(n2))
s && (s.has = "stale", this.#z(s, n2));
else
return i2 && this.#R(n2), s && (s.has = "hit", this.#z(s, n2)), true;
} else
s && (s.has = "miss");
return false;
}
peek(t, e = {}) {
let { allowStale: i2 = this.allowStale } = e, s = this.#s.get(t);
if (s === undefined || !i2 && this.#p(s))
return;
let n2 = this.#t[s];
return this.#e(n2) ? n2.__staleWhileFetching : n2;
}
#G(t, e, i2, s) {
let n2 = e === undefined ? undefined : this.#t[e];
if (this.#e(n2))
return n2;
let o2 = new C2, { signal: h2 } = i2;
h2?.addEventListener("abort", () => o2.abort(h2.reason), { signal: o2.signal });
let r = { signal: o2.signal, options: i2, context: s }, a2 = (p, _2 = false) => {
let { aborted: l } = o2.signal, S = i2.ignoreFetchAbort && p !== undefined, b2 = i2.ignoreFetchAbort || !!(i2.allowStaleOnFetchAbort && p !== undefined);
if (i2.status && (l && !_2 ? (i2.status.fetchAborted = true, i2.status.fetchError = o2.signal.reason, S && (i2.status.fetchAbortIgnored = true)) : i2.status.fetchResolved = true), l && !S && !_2)
return f(o2.signal.reason, b2);
let m2 = g2, u4 = this.#t[e];
return (u4 === g2 || S && _2 && u4 === undefined) && (p === undefined ? m2.__staleWhileFetching !== undefined ? this.#t[e] = m2.__staleWhileFetching : this.#E(t, "fetch") : (i2.status && (i2.status.fetchUpdated = true), this.set(t, p, r.options))), p;
}, w2 = (p) => (i2.status && (i2.status.fetchRejected = true, i2.status.fetchError = p), f(p, false)), f = (p, _2) => {
let { aborted: l } = o2.signal, S = l && i2.allowStaleOnFetchAbort, b2 = S || i2.allowStaleOnFetchRejection, m2 = b2 || i2.noDeleteOnFetchRejection, u4 = g2;
if (this.#t[e] === g2 && (!m2 || !_2 && u4.__staleWhileFetching === undefined ? this.#E(t, "fetch") : S || (this.#t[e] = u4.__staleWhileFetching)), b2)
return i2.status && u4.__staleWhileFetching !== undefined && (i2.status.returnedStale = true), u4.__staleWhileFetching;
if (u4.__returned === u4)
throw p;
}, d = (p, _2) => {
let l = this.#L?.(t, n2, r);
l && l instanceof Promise && l.then((S) => p(S === undefined ? undefined : S), _2), o2.signal.addEventListener("abort", () => {
(!i2.ignoreFetchAbort || i2.allowStaleOnFetchAbort) && (p(undefined), i2.allowStaleOnFetchAbort && (p = (S) => a2(S, true)));
});
};
i2.status && (i2.status.fetchDispatched = true);
let g2 = new Promise(d).then(a2, w2), A = Object.assign(g2, { __abortController: o2, __staleWhileFetching: n2, __returned: undefined });
return e === undefined ? (this.set(t, A, { ...r.options, status: undefined }), e = this.#s.get(t)) : this.#t[e] = A, A;
}
#e(t) {
if (!this.#v)
return false;
let e = t;
return !!e && e instanceof Promise && e.hasOwnProperty("__staleWhileFetching") && e.__abortController instanceof C2;
}
async fetch(t, e = {}) {
let { allowStale: i2 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, ttl: o2 = this.ttl, noDisposeOnSet: h2 = this.noDisposeOnSet, size: r = 0, sizeCalculation: a2 = this.sizeCalculation, noUpdateTTL: w2 = this.noUpdateTTL, noDeleteOnFetchRejection: f = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection: d = this.allowStaleOnFetchRejection, ignoreFetchAbort: g2 = this.ignoreFetchAbort, allowStaleOnFetchAbort: A = this.allowStaleOnFetchAbort, context: p, forceRefresh: _2 = false, status: l, signal: S } = e;
if (!this.#v)
return l && (l.fetch = "get"), this.get(t, { allowStale: i2, updateAgeOnGet: s, noDeleteOnStaleGet: n2, status: l });
let b2 = { allowStale: i2, updateAgeOnGet: s, noDeleteOnStaleGet: n2, ttl: o2, noDisposeOnSet: h2, size: r, sizeCalculation: a2, noUpdateTTL: w2, noDeleteOnFetchRejection: f, allowStaleOnFetchRejection: d, allowStaleOnFetchAbort: A, ignoreFetchAbort: g2, status: l, signal: S }, m2 = this.#s.get(t);
if (m2 === undefined) {
l && (l.fetch = "miss");
let u4 = this.#G(t, m2, b2, p);
return u4.__returned = u4;
} else {
let u4 = this.#t[m2];
if (this.#e(u4)) {
let E2 = i2 && u4.__staleWhileFetching !== undefined;
return l && (l.fetch = "inflight", E2 && (l.returnedStale = true)), E2 ? u4.__staleWhileFetching : u4.__returned = u4;
}
let T2 = this.#p(m2);
if (!_2 && !T2)
return l && (l.fetch = "hit"), this.#D(m2), s && this.#R(m2), l && this.#z(l, m2), u4;
let F2 = this.#G(t, m2, b2, p), O2 = F2.__staleWhileFetching !== undefined && i2;
return l && (l.fetch = T2 ? "stale" : "refresh", O2 && T2 && (l.returnedStale = true)), O2 ? F2.__staleWhileFetching : F2.__returned = F2;
}
}
async forceFetch(t, e = {}) {
let i2 = await this.fetch(t, e);
if (i2 === undefined)
throw new Error("fetch() returned undefined");
return i2;
}
memo(t, e = {}) {
let i2 = this.#I;
if (!i2)
throw new Error("no memoMethod provided to constructor");
let { context: s, forceRefresh: n2, ...o2 } = e, h2 = this.get(t, o2);
if (!n2 && h2 !== undefined)
return h2;
let r = i2(t, h2, { options: o2, context: s });
return this.set(t, r, o2), r;
}
get(t, e = {}) {
let { allowStale: i2 = this.allowStale, updateAgeOnGet: s = this.updateAgeOnGet, noDeleteOnStaleGet: n2 = this.noDeleteOnStaleGet, status: o2 } = e, h2 = this.#s.get(t);
if (h2 !== undefined) {
let r = this.#t[h2], a2 = this.#e(r);
return o2 && this.#z(o2, h2), this.#p(h2) ? (o2 && (o2.get = "stale"), a2 ? (o2 && i2 && r.__staleWhileFetching !== undefined && (o2.returnedStale = true), i2 ? r.__staleWhileFetching : undefined) : (n2 || this.#E(t, "expire"), o2 && i2 && (o2.returnedStale = true), i2 ? r : undefined)) : (o2 && (o2.get = "hit"), a2 ? r.__staleWhileFetching : (this.#D(h2), s && this.#R(h2), r));
} else
o2 && (o2.get = "miss");
}
#k(t, e) {
this.#u[e] = t, this.#a[t] = e;
}
#D(t) {
t !== this.#h && (t === this.#l ? this.#l = this.#a[t] : this.#k(this.#u[t], this.#a[t]), this.#k(this.#h, t), this.#h = t);
}
delete(t) {
return this.#E(t, "delete");
}
#E(t, e) {
let i2 = false;
if (this.#n !== 0) {
let s = this.#s.get(t);
if (s !== undefined)
if (this.#g?.[s] && (clearTimeout(this.#g?.[s]), this.#g[s] = undefined), i2 = true, this.#n === 1)
this.#V(e);
else {
this.#W(s);
let n2 = this.#t[s];
if (this.#e(n2) ? n2.__abortController.abort(new Error("deleted")) : (this.#T || this.#f) && (this.#T && this.#w?.(n2, t, e), this.#f && this.#r?.push([n2, t, e])), this.#s.delete(t), this.#i[s] = undefined, this.#t[s] = undefined, s === this.#h)
this.#h = this.#u[s];
else if (s === this.#l)
this.#l = this.#a[s];
else {
let o2 = this.#u[s];
this.#a[o2] = this.#a[s];
let h2 = this.#a[s];
this.#u[h2] = this.#u[s];
}
this.#n--, this.#b.push(s);
}
}
if (this.#f && this.#r?.length) {
let s = this.#r, n2;
for (;n2 = s?.shift(); )
this.#S?.(...n2);
}
return i2;
}
clear() {
return this.#V("delete");
}
#V(t) {
for (let e of this.#O({ allowStale: true })) {
let i2 = this.#t[e];
if (this.#e(i2))
i2.__abortController.abort(new Error("deleted"));
else {
let s = this.#i[e];
this.#T && this.#w?.(i2, s, t), this.#f && this.#r?.push([i2, s, t]);
}
}
if (this.#s.clear(), this.#t.fill(undefined), this.#i.fill(undefined), this.#d && this.#A) {
this.#d.fill(0), this.#A.fill(0);
for (let e of this.#g ?? [])
e !== undefined && clearTimeout(e);
this.#g?.fill(undefined);
}
if (this.#y && this.#y.fill(0), this.#l = 0, this.#h = 0, this.#b.length = 0, this.#_ = 0, this.#n = 0, this.#f && this.#r) {
let e = this.#r, i2;
for (;i2 = e?.shift(); )
this.#S?.(...i2);
}
}
};
});
// src/utils/memoize.ts
function memoizeWithTTLAsync(f, cacheLifetimeMs = 5 * 60 * 1000) {
const cache2 = new Map;
const inFlight = new Map;
const memoized = async (...args) => {
const key = jsonStringify(args);
const cached = cache2.get(key);
const now = Date.now();
if (!cached) {
const pending = inFlight.get(key);
if (pending)
return pending;
const promise = f(...args);
inFlight.set(key, promise);
try {
const result = await promise;
if (inFlight.get(key) === promise) {
cache2.set(key, {
value: result,
timestamp: now,
refreshing: false
});
}
return result;
} finally {
if (inFlight.get(key) === promise) {
inFlight.delete(key);
}
}
}
if (cached && now - cached.timestamp > cacheLifetimeMs && !cached.refreshing) {
cached.refreshing = true;
const staleEntry = cached;
f(...args).then((newValue) => {
if (cache2.get(key) === staleEntry) {
cache2.set(key, {
value: newValue,
timestamp: Date.now(),
refreshing: false
});
}
}).catch((e) => {
logError2(e);
if (cache2.get(key) === staleEntry) {
cache2.delete(key);
}
});
return cached.value;
}
return cache2.get(key).value;
};
memoized.cache = {
clear: () => {
cache2.clear();
inFlight.clear();
}
};
return memoized;
}
function memoizeWithLRU(f, cacheFn, maxCacheSize = 100) {
const cache2 = new L2({
max: maxCacheSize
});
const memoized = (...args) => {
const key = cacheFn(...args);
const cached = cache2.get(key);
if (cached !== undefined) {
return cached;
}
const result = f(...args);
cache2.set(key, result);
return result;
};
memoized.cache = {
clear: () => cache2.clear(),
size: () => cache2.size,
delete: (key) => cache2.delete(key),
get: (key) => cache2.peek(key),
has: (key) => cache2.has(key)
};
return memoized;
}
var init_memoize2 = __esm(() => {
init_index_min();
init_log3();
init_slowOperations();
});
// src/utils/windowsPaths.ts
import * as path8 from "path";
import * as pathWin32 from "path/win32";
function checkPathExists(path9) {
try {
execSync_DEPRECATED(`dir "${path9}"`, { stdio: "pipe" });
return true;
} catch {
return false;
}
}
function findExecutable2(executable) {
if (executable === "git") {
const defaultLocations = [
"C:\\Program Files\\Git\\cmd\\git.exe",
"C:\\Program Files (x86)\\Git\\cmd\\git.exe"
];
for (const location of defaultLocations) {
if (checkPathExists(location)) {
return location;
}
}
}
try {
const result = execSync_DEPRECATED(`where.exe ${executable}`, {
stdio: "pipe",
encoding: "utf8"
}).trim();
const paths2 = result.split(`\r
`).filter(Boolean);
const cwd2 = getCwd().toLowerCase();
for (const candidatePath of paths2) {
const normalizedPath = path8.resolve(candidatePath).toLowerCase();
const pathDir = path8.dirname(normalizedPath).toLowerCase();
if (pathDir === cwd2 || normalizedPath.startsWith(cwd2 + path8.sep)) {
logForDebugging(`Skipping potentially malicious executable in current directory: ${candidatePath}`);
continue;
}
return candidatePath;
}
return null;
} catch {
return null;
}
}
function setShellIfWindows() {
if (getPlatform() === "windows") {
const gitBashPath = findGitBashPath();
process.env.SHELL = gitBashPath;
logForDebugging(`Using bash path: "${gitBashPath}"`);
}
}
var findGitBashPath, windowsPathToPosixPath, posixPathToWindowsPath;
var init_windowsPaths = __esm(() => {
init_memoize();
init_cwd();
init_debug();
init_execSyncWrapper();
init_memoize2();
init_platform2();
findGitBashPath = memoize_default(() => {
if (process.env.CLAUDE_CODE_GIT_BASH_PATH) {
if (checkPathExists(process.env.CLAUDE_CODE_GIT_BASH_PATH)) {
return process.env.CLAUDE_CODE_GIT_BASH_PATH;
}
console.error(`Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path "${process.env.CLAUDE_CODE_GIT_BASH_PATH}"`);
process.exit(1);
}
const gitPath = findExecutable2("git");
if (gitPath) {
const bashPath = pathWin32.join(gitPath, "..", "..", "bin", "bash.exe");
if (checkPathExists(bashPath)) {
return bashPath;
}
}
console.error("Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win). If installed but not in PATH, set environment variable pointing to your bash.exe, similar to: CLAUDE_CODE_GIT_BASH_PATH=C:\\Program Files\\Git\\bin\\bash.exe");
process.exit(1);
});
windowsPathToPosixPath = memoizeWithLRU((windowsPath) => {
if (windowsPath.startsWith("\\\\")) {
return windowsPath.replace(/\\/g, "/");
}
const match = windowsPath.match(/^([A-Za-z]):[/\\]/);
if (match) {
const driveLetter = match[1].toLowerCase();
return "/" + driveLetter + windowsPath.slice(2).replace(/\\/g, "/");
}
return windowsPath.replace(/\\/g, "/");
}, (p) => p, 500);
posixPathToWindowsPath = memoizeWithLRU((posixPath) => {
if (posixPath.startsWith("//")) {
return posixPath.replace(/\//g, "\\");
}
const cygdriveMatch = posixPath.match(/^\/cygdrive\/([A-Za-z])(\/|$)/);
if (cygdriveMatch) {
const driveLetter = cygdriveMatch[1].toUpperCase();
const rest = posixPath.slice(("/cygdrive/" + cygdriveMatch[1]).length);
return driveLetter + ":" + (rest || "\\").replace(/\//g, "\\");
}
const driveMatch = posixPath.match(/^\/([A-Za-z])(\/|$)/);
if (driveMatch) {
const driveLetter = driveMatch[1].toUpperCase();
const rest = posixPath.slice(2);
return driveLetter + ":" + (rest || "\\").replace(/\//g, "\\");
}
return posixPath.replace(/\//g, "\\");
}, (p) => p, 500);
});
// src/utils/getWorktreePathsPortable.ts
import { execFile as execFileCb } from "child_process";
import { promisify as promisify3 } from "util";
async function getWorktreePathsPortable(cwd2) {
try {
const { stdout } = await execFileAsync("git", ["worktree", "list", "--porcelain"], { cwd: cwd2, timeout: 5000 });
if (!stdout)
return [];
return stdout.split(`
`).filter((line) => line.startsWith("worktree ")).map((line) => line.slice("worktree ".length).normalize("NFC"));
} catch {
return [];
}
}
var execFileAsync;
var init_getWorktreePathsPortable = __esm(() => {
execFileAsync = promisify3(execFileCb);
});
// src/utils/sessionStoragePortable.ts
import { open as fsOpen, readdir as readdir2, realpath, stat } from "fs/promises";
import { join as join9 } from "path";
function validateUuid(maybeUuid) {
if (typeof maybeUuid !== "string")
return null;
return uuidRegex.test(maybeUuid) ? maybeUuid : null;
}
function unescapeJsonString(raw) {
if (!raw.includes("\\"))
return raw;
try {
return JSON.parse(`"${raw}"`);
} catch {
return raw;
}
}
function extractJsonStringField(text, key) {
const patterns = [`"${key}":"`, `"${key}": "`];
for (const pattern of patterns) {
const idx = text.indexOf(pattern);
if (idx < 0)
continue;
const valueStart = idx + pattern.length;
let i2 = valueStart;
while (i2 < text.length) {
if (text[i2] === "\\") {
i2 += 2;
continue;
}
if (text[i2] === '"') {
return unescapeJsonString(text.slice(valueStart, i2));
}
i2++;
}
}
return;
}
function extractLastJsonStringField(text, key) {
const patterns = [`"${key}":"`, `"${key}": "`];
let lastValue;
for (const pattern of patterns) {
let searchFrom = 0;
while (true) {
const idx = text.indexOf(pattern, searchFrom);
if (idx < 0)
break;
const valueStart = idx + pattern.length;
let i2 = valueStart;
while (i2 < text.length) {
if (text[i2] === "\\") {
i2 += 2;
continue;
}
if (text[i2] === '"') {
lastValue = unescapeJsonString(text.slice(valueStart, i2));
break;
}
i2++;
}
searchFrom = i2 + 1;
}
}
return lastValue;
}
async function readHeadAndTail(filePath, fileSize, buf) {
try {
const fh = await fsOpen(filePath, "r");
try {
const headResult = await fh.read(buf, 0, LITE_READ_BUF_SIZE, 0);
if (headResult.bytesRead === 0)
return { head: "", tail: "" };
const head = buf.toString("utf8", 0, headResult.bytesRead);
const tailOffset = Math.max(0, fileSize - LITE_READ_BUF_SIZE);
let tail = head;
if (tailOffset > 0) {
const tailResult = await fh.read(buf, 0, LITE_READ_BUF_SIZE, tailOffset);
tail = buf.toString("utf8", 0, tailResult.bytesRead);
}
return { head, tail };
} finally {
await fh.close();
}
} catch {
return { head: "", tail: "" };
}
}
function simpleHash(str) {
return Math.abs(djb2Hash(str)).toString(36);
}
function sanitizePath2(name) {
const sanitized = name.replace(/[^a-zA-Z0-9]/g, "-");
if (sanitized.length <= MAX_SANITIZED_LENGTH2) {
return sanitized;
}
const hash2 = typeof Bun !== "undefined" ? Bun.hash(name).toString(36) : simpleHash(name);
return `${sanitized.slice(0, MAX_SANITIZED_LENGTH2)}-${hash2}`;
}
function getProjectsDir() {
return join9(getClaudeConfigHomeDir(), "projects");
}
function compactBoundaryMarker() {
return _compactBoundaryMarker ??= Buffer.from('"compact_boundary"');
}
function parseBoundaryLine(line) {
try {
const parsed = JSON.parse(line);
if (parsed.type !== "system" || parsed.subtype !== "compact_boundary") {
return null;
}
return {
hasPreservedSegment: Boolean(parsed.compactMetadata?.preservedSegment)
};
} catch {
return null;
}
}
function sinkWrite(s, src, start, end) {
const n2 = end - start;
if (n2 <= 0)
return;
if (s.len + n2 > s.buf.length) {
const grown = Buffer.allocUnsafe(Math.min(Math.max(s.buf.length * 2, s.len + n2), s.cap));
s.buf.copy(grown, 0, 0, s.len);
s.buf = grown;
}
src.copy(s.buf, s.len, start, end);
s.len += n2;
}
function hasPrefix(src, prefix, at, end) {
return end - at >= prefix.length && src.compare(prefix, 0, prefix.length, at, at + prefix.length) === 0;
}
function processStraddle(s, chunk, bytesRead) {
s.straddleSnapCarryLen = 0;
s.straddleSnapTailEnd = 0;
if (s.carryLen === 0)
return 0;
const cb = s.carryBuf;
const firstNl = chunk.indexOf(LF2);
if (firstNl === -1 || firstNl >= bytesRead)
return 0;
const tailEnd = firstNl + 1;
if (hasPrefix(cb, ATTR_SNAP_PREFIX, 0, s.carryLen)) {
s.straddleSnapCarryLen = s.carryLen;
s.straddleSnapTailEnd = tailEnd;
s.lastSnapSrc = null;
} else if (s.carryLen < ATTR_SNAP_PREFIX.length) {
return 0;
} else {
if (hasPrefix(cb, SYSTEM_PREFIX, 0, s.carryLen)) {
const hit = parseBoundaryLine(cb.toString("utf-8", 0, s.carryLen) + chunk.toString("utf-8", 0, firstNl));
if (hit?.hasPreservedSegment) {
s.hasPreservedSegment = true;
} else if (hit) {
s.out.len = 0;
s.boundaryStartOffset = s.bufFileOff;
s.hasPreservedSegment = false;
s.lastSnapSrc = null;
}
}
sinkWrite(s.out, cb, 0, s.carryLen);
sinkWrite(s.out, chunk, 0, tailEnd);
}
s.bufFileOff += s.carryLen + tailEnd;
s.carryLen = 0;
return tailEnd;
}
function scanChunkLines(s, buf, boundaryMarker) {
let boundaryAt = buf.indexOf(boundaryMarker);
let runStart = 0;
let lineStart = 0;
let lastSnapStart = -1;
let lastSnapEnd = -1;
let nl = buf.indexOf(LF2);
while (nl !== -1) {
const lineEnd = nl + 1;
if (boundaryAt !== -1 && boundaryAt < lineStart) {
boundaryAt = buf.indexOf(boundaryMarker, lineStart);
}
if (hasPrefix(buf, ATTR_SNAP_PREFIX, lineStart, lineEnd)) {
sinkWrite(s.out, buf, runStart, lineStart);
lastSnapStart = lineStart;
lastSnapEnd = lineEnd;
runStart = lineEnd;
} else if (boundaryAt >= lineStart && boundaryAt < Math.min(lineStart + BOUNDARY_SEARCH_BOUND, lineEnd)) {
const hit = parseBoundaryLine(buf.toString("utf-8", lineStart, nl));
if (hit?.hasPreservedSegment) {
s.hasPreservedSegment = true;
} else if (hit) {
s.out.len = 0;
s.boundaryStartOffset = s.bufFileOff + lineStart;
s.hasPreservedSegment = false;
s.lastSnapSrc = null;
lastSnapStart = -1;
s.straddleSnapCarryLen = 0;
runStart = lineStart;
}
boundaryAt = buf.indexOf(boundaryMarker, boundaryAt + boundaryMarker.length);
}
lineStart = lineEnd;
nl = buf.indexOf(LF2, lineStart);
}
sinkWrite(s.out, buf, runStart, lineStart);
return { lastSnapStart, lastSnapEnd, trailStart: lineStart };
}
function captureSnap(s, buf, chunk, lastSnapStart, lastSnapEnd) {
if (lastSnapStart !== -1) {
s.lastSnapLen = lastSnapEnd - lastSnapStart;
if (s.lastSnapBuf === undefined || s.lastSnapLen > s.lastSnapBuf.length) {
s.lastSnapBuf = Buffer.allocUnsafe(s.lastSnapLen);
}
buf.copy(s.lastSnapBuf, 0, lastSnapStart, lastSnapEnd);
s.lastSnapSrc = s.lastSnapBuf;
} else if (s.straddleSnapCarryLen > 0) {
s.lastSnapLen = s.straddleSnapCarryLen + s.straddleSnapTailEnd;
if (s.lastSnapBuf === undefined || s.lastSnapLen > s.lastSnapBuf.length) {
s.lastSnapBuf = Buffer.allocUnsafe(s.lastSnapLen);
}
s.carryBuf.copy(s.lastSnapBuf, 0, 0, s.straddleSnapCarryLen);
chunk.copy(s.lastSnapBuf, s.straddleSnapCarryLen, 0, s.straddleSnapTailEnd);
s.lastSnapSrc = s.lastSnapBuf;
}
}
function captureCarry(s, buf, trailStart) {
s.carryLen = buf.length - trailStart;
if (s.carryLen > 0) {
if (s.carryBuf === undefined || s.carryLen > s.carryBuf.length) {
s.carryBuf = Buffer.allocUnsafe(s.carryLen);
}
buf.copy(s.carryBuf, 0, trailStart, buf.length);
}
}
function finalizeOutput(s) {
if (s.carryLen > 0) {
const cb = s.carryBuf;
if (hasPrefix(cb, ATTR_SNAP_PREFIX, 0, s.carryLen)) {
s.lastSnapSrc = cb;
s.lastSnapLen = s.carryLen;
} else {
sinkWrite(s.out, cb, 0, s.carryLen);
}
}
if (s.lastSnapSrc) {
if (s.out.len > 0 && s.out.buf[s.out.len - 1] !== LF2) {
sinkWrite(s.out, LF_BYTE, 0, 1);
}
sinkWrite(s.out, s.lastSnapSrc, 0, s.lastSnapLen);
}
}
async function readTranscriptForLoad(filePath, fileSize) {
const boundaryMarker = compactBoundaryMarker();
const CHUNK_SIZE = TRANSCRIPT_READ_CHUNK_SIZE;
const s = {
out: {
buf: Buffer.allocUnsafe(Math.min(fileSize, 8 * 1024 * 1024)),
len: 0,
cap: fileSize + 1
},
boundaryStartOffset: 0,
hasPreservedSegment: false,
lastSnapSrc: null,
lastSnapLen: 0,
lastSnapBuf: undefined,
bufFileOff: 0,
carryLen: 0,
carryBuf: undefined,
straddleSnapCarryLen: 0,
straddleSnapTailEnd: 0
};
const chunk = Buffer.allocUnsafe(CHUNK_SIZE);
const fd = await fsOpen(filePath, "r");
try {
let filePos = 0;
while (filePos < fileSize) {
const { bytesRead } = await fd.read(chunk, 0, Math.min(CHUNK_SIZE, fileSize - filePos), filePos);
if (bytesRead === 0)
break;
filePos += bytesRead;
const chunkOff = processStraddle(s, chunk, bytesRead);
let buf;
if (s.carryLen > 0) {
const bufLen = s.carryLen + (bytesRead - chunkOff);
buf = Buffer.allocUnsafe(bufLen);
s.carryBuf.copy(buf, 0, 0, s.carryLen);
chunk.copy(buf, s.carryLen, chunkOff, bytesRead);
} else {
buf = chunk.subarray(chunkOff, bytesRead);
}
const r = scanChunkLines(s, buf, boundaryMarker);
captureSnap(s, buf, chunk, r.lastSnapStart, r.lastSnapEnd);
captureCarry(s, buf, r.trailStart);
s.bufFileOff += r.trailStart;
}
finalizeOutput(s);
} finally {
await fd.close();
}
return {
boundaryStartOffset: s.boundaryStartOffset,
postBoundaryBuf: s.out.buf.subarray(0, s.out.len),
hasPreservedSegment: s.hasPreservedSegment
};
}
var LITE_READ_BUF_SIZE = 65536, uuidRegex, MAX_SANITIZED_LENGTH2 = 200, TRANSCRIPT_READ_CHUNK_SIZE, SKIP_PRECOMPACT_THRESHOLD, _compactBoundaryMarker, ATTR_SNAP_PREFIX, SYSTEM_PREFIX, LF2 = 10, LF_BYTE, BOUNDARY_SEARCH_BOUND = 256;
var init_sessionStoragePortable = __esm(() => {
init_envUtils();
init_getWorktreePathsPortable();
uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
TRANSCRIPT_READ_CHUNK_SIZE = 1024 * 1024;
SKIP_PRECOMPACT_THRESHOLD = 5 * 1024 * 1024;
ATTR_SNAP_PREFIX = Buffer.from('{"type":"attribution-snapshot"');
SYSTEM_PREFIX = Buffer.from('{"type":"system"');
LF_BYTE = Buffer.from([LF2]);
});
// src/utils/path.ts
import { homedir as homedir6 } from "os";
import { dirname as dirname6, isAbsolute as isAbsolute2, join as join10, normalize, relative, resolve as resolve3 } from "path";
function expandPath(path9, baseDir) {
const actualBaseDir = baseDir ?? getCwd() ?? getFsImplementation().cwd();
if (typeof path9 !== "string") {
throw new TypeError(`Path must be a string, received ${typeof path9}`);
}
if (typeof actualBaseDir !== "string") {
throw new TypeError(`Base directory must be a string, received ${typeof actualBaseDir}`);
}
if (path9.includes("\x00") || actualBaseDir.includes("\x00")) {
throw new Error("Path contains null bytes");
}
const trimmedPath = path9.trim();
if (!trimmedPath) {
return normalize(actualBaseDir).normalize("NFC");
}
if (trimmedPath === "~") {
return homedir6().normalize("NFC");
}
if (trimmedPath.startsWith("~/")) {
return join10(homedir6(), trimmedPath.slice(2)).normalize("NFC");
}
let processedPath = trimmedPath;
if (getPlatform() === "windows" && trimmedPath.match(/^\/[a-z]\//i)) {
try {
processedPath = posixPathToWindowsPath(trimmedPath);
} catch {
processedPath = trimmedPath;
}
}
if (isAbsolute2(processedPath)) {
return normalize(processedPath).normalize("NFC");
}
return resolve3(actualBaseDir, processedPath).normalize("NFC");
}
function toRelativePath(absolutePath) {
const relativePath = relative(getCwd(), absolutePath);
return relativePath.startsWith("..") ? absolutePath : relativePath;
}
function getDirectoryForPath(path9) {
const absolutePath = expandPath(path9);
if (absolutePath.startsWith("\\\\") || absolutePath.startsWith("//")) {
return dirname6(absolutePath);
}
try {
const stats = getFsImplementation().statSync(absolutePath);
if (stats.isDirectory()) {
return absolutePath;
}
} catch {}
return dirname6(absolutePath);
}
function containsPathTraversal(path9) {
return /(?:^|[\\/])\.\.(?:[\\/]|$)/.test(path9);
}
function normalizePathForConfigKey(path9) {
const normalized = normalize(path9);
return normalized.replace(/\\/g, "/");
}
var init_path2 = __esm(() => {
init_cwd();
init_fsOperations();
init_platform2();
init_windowsPaths();
init_sessionStoragePortable();
});
// src/utils/file.ts
import { chmodSync, writeFileSync as fsWriteFileSync2 } from "fs";
import { realpath as realpath2, stat as stat2 } from "fs/promises";
import { homedir as homedir7 } from "os";
import {
basename as basename2,
dirname as dirname7,
extname,
isAbsolute as isAbsolute3,
join as join11,
normalize as normalize2,
relative as relative2,
resolve as resolve4,
sep as sep2
} from "path";
async function pathExists(path9) {
try {
await stat2(path9);
return true;
} catch {
return false;
}
}
function readFileSafe(filepath) {
try {
const fs2 = getFsImplementation();
return fs2.readFileSync(filepath, { encoding: "utf8" });
} catch (error2) {
logError2(error2);
return null;
}
}
function getFileModificationTime(filePath) {
const fs2 = getFsImplementation();
return Math.floor(fs2.statSync(filePath).mtimeMs);
}
async function getFileModificationTimeAsync(filePath) {
const s = await getFsImplementation().stat(filePath);
return Math.floor(s.mtimeMs);
}
function writeTextContent(filePath, content, encoding, endings) {
let toWrite = content;
if (endings === "CRLF") {
toWrite = content.replaceAll(`\r
`, `
`).split(`
`).join(`\r
`);
}
writeFileSyncAndFlush_DEPRECATED(filePath, toWrite, { encoding });
}
function detectFileEncoding(filePath) {
try {
const fs2 = getFsImplementation();
const { resolvedPath } = safeResolvePath(fs2, filePath);
return detectEncodingForResolvedPath(resolvedPath);
} catch (error2) {
if (isFsInaccessible(error2)) {
logForDebugging(`detectFileEncoding failed for expected reason: ${error2.code}`, {
level: "debug"
});
} else {
logError2(error2);
}
return "utf8";
}
}
function detectLineEndings(filePath, encoding = "utf8") {
try {
const fs2 = getFsImplementation();
const { resolvedPath } = safeResolvePath(fs2, filePath);
const { buffer, bytesRead } = fs2.readSync(resolvedPath, { length: 4096 });
const content = buffer.toString(encoding, 0, bytesRead);
return detectLineEndingsForString(content);
} catch (error2) {
logError2(error2);
return "LF";
}
}
function convertLeadingTabsToSpaces(content) {
if (!content.includes("\t"))
return content;
return content.replace(/^\t+/gm, (_2) => " ".repeat(_2.length));
}
function getAbsoluteAndRelativePaths(path9) {
const absolutePath = path9 ? expandPath(path9) : undefined;
const relativePath = absolutePath ? relative2(getCwd(), absolutePath) : undefined;
return { absolutePath, relativePath };
}
function getDisplayPath(filePath) {
const { relativePath } = getAbsoluteAndRelativePaths(filePath);
if (relativePath && !relativePath.startsWith("..")) {
return relativePath;
}
const homeDir = homedir7();
if (filePath.startsWith(homeDir + sep2)) {
return "~" + filePath.slice(homeDir.length);
}
return filePath;
}
function findSimilarFile(filePath) {
const fs2 = getFsImplementation();
try {
const dir = dirname7(filePath);
const fileBaseName = basename2(filePath, extname(filePath));
const files = fs2.readdirSync(dir);
const similarFiles = files.filter((file) => basename2(file.name, extname(file.name)) === fileBaseName && join11(dir, file.name) !== filePath);
const firstMatch = similarFiles[0];
if (firstMatch) {
return firstMatch.name;
}
return;
} catch (error2) {
if (!isENOENT(error2)) {
logError2(error2);
}
return;
}
}
async function suggestPathUnderCwd(requestedPath) {
const cwd2 = getCwd();
const cwdParent = dirname7(cwd2);
let resolvedPath = requestedPath;
try {
const resolvedDir = await realpath2(dirname7(requestedPath));
resolvedPath = join11(resolvedDir, basename2(requestedPath));
} catch {}
const cwdParentPrefix = cwdParent === sep2 ? sep2 : cwdParent + sep2;
if (!resolvedPath.startsWith(cwdParentPrefix) || resolvedPath.startsWith(cwd2 + sep2) || resolvedPath === cwd2) {
return;
}
const relFromParent = relative2(cwdParent, resolvedPath);
const correctedPath = join11(cwd2, relFromParent);
try {
await stat2(correctedPath);
return correctedPath;
} catch {
return;
}
}
function isCompactLinePrefixEnabled() {
return !getFeatureValue_CACHED_MAY_BE_STALE("tengu_compact_line_prefix_killswitch", false);
}
function addLineNumbers({
content,
startLine
}) {
if (!content) {
return "";
}
const lines = content.split(/\r?\n/);
if (isCompactLinePrefixEnabled()) {
return lines.map((line, index) => `${index + startLine} ${line}`).join(`
`);
}
return lines.map((line, index) => {
const numStr = String(index + startLine);
if (numStr.length >= 6) {
return `${numStr}→${line}`;
}
return `${numStr.padStart(6, " ")}→${line}`;
}).join(`
`);
}
function stripLineNumberPrefix(line) {
const match = line.match(/^\s*\d+[\u2192\t](.*)$/);
return match?.[1] ?? line;
}
function isDirEmpty(dirPath) {
try {
return getFsImplementation().isDirEmptySync(dirPath);
} catch (e) {
return isENOENT(e);
}
}
function readFileSyncCached(filePath) {
const { content } = fileReadCache.readFile(filePath);
return content;
}
function writeFileSyncAndFlush_DEPRECATED(filePath, content, options = { encoding: "utf-8" }) {
const fs2 = getFsImplementation();
let targetPath = filePath;
try {
const linkTarget = fs2.readlinkSync(filePath);
targetPath = isAbsolute3(linkTarget) ? linkTarget : resolve4(dirname7(filePath), linkTarget);
logForDebugging(`Writing through symlink: ${filePath} -> ${targetPath}`);
} catch {}
const tempPath = `${targetPath}.tmp.${process.pid}.${Date.now()}`;
let targetMode;
let targetExists = false;
try {
targetMode = fs2.statSync(targetPath).mode;
targetExists = true;
logForDebugging(`Preserving file permissions: ${targetMode.toString(8)}`);
} catch (e) {
if (!isENOENT(e))
throw e;
if (options.mode !== undefined) {
targetMode = options.mode;
logForDebugging(`Setting permissions for new file: ${targetMode.toString(8)}`);
}
}
try {
logForDebugging(`Writing to temp file: ${tempPath}`);
const writeOptions = {
encoding: options.encoding,
flush: true
};
if (!targetExists && options.mode !== undefined) {
writeOptions.mode = options.mode;
}
fsWriteFileSync2(tempPath, content, writeOptions);
logForDebugging(`Temp file written successfully, size: ${content.length} bytes`);
if (targetExists && targetMode !== undefined) {
chmodSync(tempPath, targetMode);
logForDebugging(`Applied original permissions to temp file`);
}
logForDebugging(`Renaming ${tempPath} to ${targetPath}`);
fs2.renameSync(tempPath, targetPath);
logForDebugging(`File ${targetPath} written atomically`);
} catch (atomicError) {
logForDebugging(`Failed to write file atomically: ${atomicError}`, {
level: "error"
});
logEvent("tengu_atomic_write_error", {});
try {
logForDebugging(`Cleaning up temp file: ${tempPath}`);
fs2.unlinkSync(tempPath);
} catch (cleanupError) {
logForDebugging(`Failed to clean up temp file: ${cleanupError}`);
}
logForDebugging(`Falling back to non-atomic write for ${targetPath}`);
try {
const fallbackOptions = {
encoding: options.encoding,
flush: true
};
if (!targetExists && options.mode !== undefined) {
fallbackOptions.mode = options.mode;
}
fsWriteFileSync2(targetPath, content, fallbackOptions);
logForDebugging(`File ${targetPath} written successfully with non-atomic fallback`);
} catch (fallbackError) {
logForDebugging(`Non-atomic write also failed: ${fallbackError}`);
throw fallbackError;
}
}
}
function getDesktopPath() {
const platform2 = getPlatform();
const homeDir = homedir7();
if (platform2 === "macos") {
return join11(homeDir, "Desktop");
}
if (platform2 === "windows") {
const windowsHome = process.env.USERPROFILE ? process.env.USERPROFILE.replace(/\\/g, "/") : null;
if (windowsHome) {
const wslPath = windowsHome.replace(/^[A-Z]:/, "");
const desktopPath2 = `/mnt/c${wslPath}/Desktop`;
if (getFsImplementation().existsSync(desktopPath2)) {
return desktopPath2;
}
}
try {
const usersDir = "/mnt/c/Users";
const userDirs = getFsImplementation().readdirSync(usersDir);
for (const user of userDirs) {
if (user.name === "Public" || user.name === "Default" || user.name === "Default User" || user.name === "All Users") {
continue;
}
const potentialDesktopPath = join11(usersDir, user.name, "Desktop");
if (getFsImplementation().existsSync(potentialDesktopPath)) {
return potentialDesktopPath;
}
}
} catch (error2) {
logError2(error2);
}
}
const desktopPath = join11(homeDir, "Desktop");
if (getFsImplementation().existsSync(desktopPath)) {
return desktopPath;
}
return homeDir;
}
function isFileWithinReadSizeLimit(filePath, maxSizeBytes = MAX_OUTPUT_SIZE) {
try {
const stats = getFsImplementation().statSync(filePath);
return stats.size <= maxSizeBytes;
} catch {
return false;
}
}
function normalizePathForComparison(filePath) {
let normalized = normalize2(filePath);
if (getPlatform() === "windows") {
normalized = normalized.replace(/\//g, "\\").toLowerCase();
}
return normalized;
}
function pathsEqual(path1, path22) {
return normalizePathForComparison(path1) === normalizePathForComparison(path22);
}
var MAX_OUTPUT_SIZE, FILE_NOT_FOUND_CWD_NOTE = "Note: your current working directory is";
var init_file = __esm(() => {
init_analytics();
init_growthbook();
init_cwd();
init_debug();
init_errors();
init_fileRead();
init_fileReadCache();
init_fsOperations();
init_log3();
init_path2();
init_platform2();
MAX_OUTPUT_SIZE = 0.25 * 1024 * 1024;
});
// src/constants/files.ts
function hasBinaryExtension(filePath) {
const ext = filePath.slice(filePath.lastIndexOf(".")).toLowerCase();
return BINARY_EXTENSIONS.has(ext);
}
function isBinaryContent(buffer) {
const checkSize = Math.min(buffer.length, BINARY_CHECK_SIZE);
let nonPrintable = 0;
for (let i2 = 0;i2 < checkSize; i2++) {
const byte = buffer[i2];
if (byte === 0) {
return true;
}
if (byte < 32 && byte !== 9 && byte !== 10 && byte !== 13) {
nonPrintable++;
}
}
return nonPrintable / checkSize > 0.1;
}
var BINARY_EXTENSIONS, BINARY_CHECK_SIZE = 8192;
var init_files2 = __esm(() => {
BINARY_EXTENSIONS = new Set([
".png",
".jpg",
".jpeg",
".gif",
".bmp",
".ico",
".webp",
".tiff",
".tif",
".mp4",
".mov",
".avi",
".mkv",
".webm",
".wmv",
".flv",
".m4v",
".mpeg",
".mpg",
".mp3",
".wav",
".ogg",
".flac",
".aac",
".m4a",
".wma",
".aiff",
".opus",
".zip",
".tar",
".gz",
".bz2",
".7z",
".rar",
".xz",
".z",
".tgz",
".iso",
".exe",
".dll",
".so",
".dylib",
".bin",
".o",
".a",
".obj",
".lib",
".app",
".msi",
".deb",
".rpm",
".pdf",
".doc",
".docx",
".xls",
".xlsx",
".ppt",
".pptx",
".odt",
".ods",
".odp",
".ttf",
".otf",
".woff",
".woff2",
".eot",
".pyc",
".pyo",
".class",
".jar",
".war",
".ear",
".node",
".wasm",
".rlib",
".sqlite",
".sqlite3",
".db",
".mdb",
".idx",
".psd",
".ai",
".eps",
".sketch",
".fig",
".xd",
".blend",
".3ds",
".max",
".swf",
".fla",
".lockb",
".dat",
".data"
]);
});
// src/utils/execFileNoThrowPortable.ts
function execSyncWithDefaults_DEPRECATED(command, optionsOrAbortSignal, timeout = 10 * SECONDS_IN_MINUTE * MS_IN_SECOND) {
let __stack = [];
try {
let options;
if (optionsOrAbortSignal === undefined) {
options = {};
} else if (optionsOrAbortSignal instanceof AbortSignal) {
options = {
abortSignal: optionsOrAbortSignal,
timeout
};
} else {
options = optionsOrAbortSignal;
}
const {
abortSignal,
timeout: finalTimeout = 10 * SECONDS_IN_MINUTE * MS_IN_SECOND,
input,
stdio = ["ignore", "pipe", "pipe"]
} = options;
abortSignal?.throwIfAborted();
const _2 = __using(__stack, slowLogging`exec: ${command.slice(0, 200)}`, 0);
try {
const result = execaSync(command, {
env: process.env,
maxBuffer: 1e6,
timeout: finalTimeout,
cwd: getCwd(),
stdio,
shell: true,
reject: false,
input
});
if (!result.stdout) {
return null;
}
return result.stdout.trim() || null;
} catch {
return null;
}
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
__callDispose(__stack, _err, _hasErr);
}
}
var MS_IN_SECOND = 1000, SECONDS_IN_MINUTE = 60;
var init_execFileNoThrowPortable = __esm(() => {
init_execa();
init_cwd();
init_slowOperations();
});
// src/utils/execFileNoThrow.ts
function execFileNoThrow(file, args, options = {
timeout: 10 * SECONDS_IN_MINUTE2 * MS_IN_SECOND2,
preserveOutputOnError: true,
useCwd: true
}) {
return execFileNoThrowWithCwd(file, args, {
abortSignal: options.abortSignal,
timeout: options.timeout,
preserveOutputOnError: options.preserveOutputOnError,
cwd: options.useCwd ? getCwd() : undefined,
env: options.env,
stdin: options.stdin,
input: options.input
});
}
function getErrorMessage(result, errorCode) {
if (result.shortMessage) {
return result.shortMessage;
}
if (typeof result.signal === "string") {
return result.signal;
}
return String(errorCode);
}
function execFileNoThrowWithCwd(file, args, {
abortSignal,
timeout: finalTimeout = 10 * SECONDS_IN_MINUTE2 * MS_IN_SECOND2,
preserveOutputOnError: finalPreserveOutput = true,
cwd: finalCwd,
env: finalEnv,
maxBuffer,
shell,
stdin: finalStdin,
input: finalInput
} = {
timeout: 10 * SECONDS_IN_MINUTE2 * MS_IN_SECOND2,
preserveOutputOnError: true,
maxBuffer: 1e6
}) {
return new Promise((resolve5) => {
execa(file, args, {
maxBuffer,
signal: abortSignal,
timeout: finalTimeout,
cwd: finalCwd,
env: finalEnv,
shell,
stdin: finalStdin,
input: finalInput,
reject: false
}).then((result) => {
if (result.failed) {
if (finalPreserveOutput) {
const errorCode = result.exitCode ?? 1;
resolve5({
stdout: result.stdout || "",
stderr: result.stderr || "",
code: errorCode,
error: getErrorMessage(result, errorCode)
});
} else {
resolve5({ stdout: "", stderr: "", code: result.exitCode ?? 1 });
}
} else {
resolve5({
stdout: result.stdout,
stderr: result.stderr,
code: 0
});
}
}).catch((error2) => {
logError2(error2);
resolve5({ stdout: "", stderr: "", code: 1 });
});
});
}
var MS_IN_SECOND2 = 1000, SECONDS_IN_MINUTE2 = 60;
var init_execFileNoThrow = __esm(() => {
init_execa();
init_cwd();
init_log3();
init_execFileNoThrowPortable();
});
// src/utils/git/gitConfigParser.ts
import { readFile as readFile2 } from "fs/promises";
import { join as join12 } from "path";
async function parseGitConfigValue(gitDir, section, subsection, key) {
try {
const config = await readFile2(join12(gitDir, "config"), "utf-8");
return parseConfigString(config, section, subsection, key);
} catch {
return null;
}
}
function parseConfigString(config, section, subsection, key) {
const lines = config.split(`
`);
const sectionLower = section.toLowerCase();
const keyLower = key.toLowerCase();
let inSection = false;
for (const line of lines) {
const trimmed = line.trim();
if (trimmed.length === 0 || trimmed[0] === "#" || trimmed[0] === ";") {
continue;
}
if (trimmed[0] === "[") {
inSection = matchesSectionHeader(trimmed, sectionLower, subsection);
continue;
}
if (!inSection) {
continue;
}
const parsed = parseKeyValue(trimmed);
if (parsed && parsed.key.toLowerCase() === keyLower) {
return parsed.value;
}
}
return null;
}
function parseKeyValue(line) {
let i2 = 0;
while (i2 < line.length && isKeyChar(line[i2])) {
i2++;
}
if (i2 === 0) {
return null;
}
const key = line.slice(0, i2);
while (i2 < line.length && (line[i2] === " " || line[i2] === "\t")) {
i2++;
}
if (i2 >= line.length || line[i2] !== "=") {
return null;
}
i2++;
while (i2 < line.length && (line[i2] === " " || line[i2] === "\t")) {
i2++;
}
const value = parseValue(line, i2);
return { key, value };
}
function parseValue(line, start) {
let result = "";
let inQuote = false;
let i2 = start;
while (i2 < line.length) {
const ch = line[i2];
if (!inQuote && (ch === "#" || ch === ";")) {
break;
}
if (ch === '"') {
inQuote = !inQuote;
i2++;
continue;
}
if (ch === "\\" && i2 + 1 < line.length) {
const next = line[i2 + 1];
if (inQuote) {
switch (next) {
case "n":
result += `
`;
break;
case "t":
result += "\t";
break;
case "b":
result += "\b";
break;
case '"':
result += '"';
break;
case "\\":
result += "\\";
break;
default:
result += next;
break;
}
i2 += 2;
continue;
}
if (next === "\\") {
result += "\\";
i2 += 2;
continue;
}
}
result += ch;
i2++;
}
if (!inQuote) {
result = trimTrailingWhitespace(result);
}
return result;
}
function trimTrailingWhitespace(s) {
let end = s.length;
while (end > 0 && (s[end - 1] === " " || s[end - 1] === "\t")) {
end--;
}
return s.slice(0, end);
}
function matchesSectionHeader(line, sectionLower, subsection) {
let i2 = 1;
while (i2 < line.length && line[i2] !== "]" && line[i2] !== " " && line[i2] !== "\t" && line[i2] !== '"') {
i2++;
}
const foundSection = line.slice(1, i2).toLowerCase();
if (foundSection !== sectionLower) {
return false;
}
if (subsection === null) {
return i2 < line.length && line[i2] === "]";
}
while (i2 < line.length && (line[i2] === " " || line[i2] === "\t")) {
i2++;
}
if (i2 >= line.length || line[i2] !== '"') {
return false;
}
i2++;
let foundSubsection = "";
while (i2 < line.length && line[i2] !== '"') {
if (line[i2] === "\\" && i2 + 1 < line.length) {
const next = line[i2 + 1];
if (next === "\\" || next === '"') {
foundSubsection += next;
i2 += 2;
continue;
}
foundSubsection += next;
i2 += 2;
continue;
}
foundSubsection += line[i2];
i2++;
}
if (i2 >= line.length || line[i2] !== '"') {
return false;
}
i2++;
if (i2 >= line.length || line[i2] !== "]") {
return false;
}
return foundSubsection === subsection;
}
function isKeyChar(ch) {
return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch >= "0" && ch <= "9" || ch === "-";
}
var init_gitConfigParser = () => {};
// src/utils/git/gitFilesystem.ts
import { unwatchFile, watchFile } from "fs";
import { readdir as readdir3, readFile as readFile3, stat as stat3 } from "fs/promises";
import { join as join13, resolve as resolve5 } from "path";
function clearResolveGitDirCache() {
resolveGitDirCache.clear();
}
async function resolveGitDir(startPath) {
const cwd2 = resolve5(startPath ?? getCwd());
const cached = resolveGitDirCache.get(cwd2);
if (cached !== undefined) {
return cached;
}
const root2 = findGitRoot(cwd2);
if (!root2) {
resolveGitDirCache.set(cwd2, null);
return null;
}
const gitPath = join13(root2, ".git");
try {
const st = await stat3(gitPath);
if (st.isFile()) {
const content = (await readFile3(gitPath, "utf-8")).trim();
if (content.startsWith("gitdir:")) {
const rawDir = content.slice("gitdir:".length).trim();
const resolved = resolve5(root2, rawDir);
resolveGitDirCache.set(cwd2, resolved);
return resolved;
}
}
resolveGitDirCache.set(cwd2, gitPath);
return gitPath;
} catch {
resolveGitDirCache.set(cwd2, null);
return null;
}
}
function isSafeRefName(name) {
if (!name || name.startsWith("-") || name.startsWith("/")) {
return false;
}
if (name.includes("..")) {
return false;
}
if (name.split("/").some((c5) => c5 === "." || c5 === "")) {
return false;
}
if (!/^[a-zA-Z0-9/._+@-]+$/.test(name)) {
return false;
}
return true;
}
function isValidGitSha(s) {
return /^[0-9a-f]{40}$/.test(s) || /^[0-9a-f]{64}$/.test(s);
}
async function readGitHead(gitDir) {
try {
const content = (await readFile3(join13(gitDir, "HEAD"), "utf-8")).trim();
if (content.startsWith("ref:")) {
const ref = content.slice("ref:".length).trim();
if (ref.startsWith("refs/heads/")) {
const name = ref.slice("refs/heads/".length);
if (!isSafeRefName(name)) {
return null;
}
return { type: "branch", name };
}
if (!isSafeRefName(ref)) {
return null;
}
const sha = await resolveRef(gitDir, ref);
return sha ? { type: "detached", sha } : { type: "detached", sha: "" };
}
if (!isValidGitSha(content)) {
return null;
}
return { type: "detached", sha: content };
} catch {
return null;
}
}
async function resolveRef(gitDir, ref) {
const result = await resolveRefInDir(gitDir, ref);
if (result) {
return result;
}
const commonDir = await getCommonDir(gitDir);
if (commonDir && commonDir !== gitDir) {
return resolveRefInDir(commonDir, ref);
}
return null;
}
async function resolveRefInDir(dir, ref) {
try {
const content = (await readFile3(join13(dir, ref), "utf-8")).trim();
if (content.startsWith("ref:")) {
const target = content.slice("ref:".length).trim();
if (!isSafeRefName(target)) {
return null;
}
return resolveRef(dir, target);
}
if (!isValidGitSha(content)) {
return null;
}
return content;
} catch {}
try {
const packed = await readFile3(join13(dir, "packed-refs"), "utf-8");
for (const line of packed.split(`
`)) {
if (line.startsWith("#") || line.startsWith("^")) {
continue;
}
const spaceIdx = line.indexOf(" ");
if (spaceIdx === -1) {
continue;
}
if (line.slice(spaceIdx + 1) === ref) {
const sha = line.slice(0, spaceIdx);
return isValidGitSha(sha) ? sha : null;
}
}
} catch {}
return null;
}
async function getCommonDir(gitDir) {
try {
const content = (await readFile3(join13(gitDir, "commondir"), "utf-8")).trim();
return resolve5(gitDir, content);
} catch {
return null;
}
}
async function readRawSymref(gitDir, refPath, branchPrefix) {
try {
const content = (await readFile3(join13(gitDir, refPath), "utf-8")).trim();
if (content.startsWith("ref:")) {
const target = content.slice("ref:".length).trim();
if (target.startsWith(branchPrefix)) {
const name = target.slice(branchPrefix.length);
if (!isSafeRefName(name)) {
return null;
}
return name;
}
}
} catch {}
return null;
}
class GitFileWatcher {
gitDir = null;
commonDir = null;
initialized = false;
initPromise = null;
watchedPaths = [];
branchRefPath = null;
cache = new Map;
async ensureStarted() {
if (this.initialized) {
return;
}
if (this.initPromise) {
return this.initPromise;
}
this.initPromise = this.start();
return this.initPromise;
}
async start() {
this.gitDir = await resolveGitDir();
this.initialized = true;
if (!this.gitDir) {
return;
}
this.commonDir = await getCommonDir(this.gitDir);
this.watchPath(join13(this.gitDir, "HEAD"), () => {
this.onHeadChanged();
});
this.watchPath(join13(this.commonDir ?? this.gitDir, "config"), () => {
this.invalidate();
});
await this.watchCurrentBranchRef();
registerCleanup(async () => {
this.stopWatching();
});
}
watchPath(path9, callback) {
this.watchedPaths.push(path9);
watchFile(path9, { interval: WATCH_INTERVAL_MS }, callback);
}
async watchCurrentBranchRef() {
if (!this.gitDir) {
return;
}
const head = await readGitHead(this.gitDir);
const refsDir = this.commonDir ?? this.gitDir;
const refPath = head?.type === "branch" ? join13(refsDir, "refs", "heads", head.name) : null;
if (refPath === this.branchRefPath) {
return;
}
if (this.branchRefPath) {
unwatchFile(this.branchRefPath);
this.watchedPaths = this.watchedPaths.filter((p) => p !== this.branchRefPath);
}
this.branchRefPath = refPath;
if (!refPath) {
return;
}
this.watchPath(refPath, () => {
this.invalidate();
});
}
async onHeadChanged() {
this.invalidate();
await waitForScrollIdle();
await this.watchCurrentBranchRef();
}
invalidate() {
for (const entry of this.cache.values()) {
entry.dirty = true;
}
}
stopWatching() {
for (const path9 of this.watchedPaths) {
unwatchFile(path9);
}
this.watchedPaths = [];
this.branchRefPath = null;
}
async get(key, compute) {
await this.ensureStarted();
const existing = this.cache.get(key);
if (existing && !existing.dirty) {
return existing.value;
}
if (existing) {
existing.dirty = false;
}
const value = await compute();
const entry = this.cache.get(key);
if (entry && !entry.dirty) {
entry.value = value;
}
if (!entry) {
this.cache.set(key, { value, dirty: false, compute });
}
return value;
}
reset() {
this.stopWatching();
this.cache.clear();
this.initialized = false;
this.initPromise = null;
this.gitDir = null;
this.commonDir = null;
}
}
async function computeBranch() {
const gitDir = await resolveGitDir();
if (!gitDir) {
return "HEAD";
}
const head = await readGitHead(gitDir);
if (!head) {
return "HEAD";
}
return head.type === "branch" ? head.name : "HEAD";
}
async function computeHead() {
const gitDir = await resolveGitDir();
if (!gitDir) {
return "";
}
const head = await readGitHead(gitDir);
if (!head) {
return "";
}
if (head.type === "branch") {
return await resolveRef(gitDir, `refs/heads/${head.name}`) ?? "";
}
return head.sha;
}
async function computeRemoteUrl() {
const gitDir = await resolveGitDir();
if (!gitDir) {
return null;
}
const url2 = await parseGitConfigValue(gitDir, "remote", "origin", "url");
if (url2) {
return url2;
}
const commonDir = await getCommonDir(gitDir);
if (commonDir && commonDir !== gitDir) {
return parseGitConfigValue(commonDir, "remote", "origin", "url");
}
return null;
}
async function computeDefaultBranch() {
const gitDir = await resolveGitDir();
if (!gitDir) {
return "main";
}
const commonDir = await getCommonDir(gitDir) ?? gitDir;
const branchFromSymref = await readRawSymref(commonDir, "refs/remotes/origin/HEAD", "refs/remotes/origin/");
if (branchFromSymref) {
return branchFromSymref;
}
for (const candidate of ["main", "master"]) {
const sha = await resolveRef(commonDir, `refs/remotes/origin/${candidate}`);
if (sha) {
return candidate;
}
}
return "main";
}
function getCachedBranch() {
return gitWatcher.get("branch", computeBranch);
}
function getCachedHead() {
return gitWatcher.get("head", computeHead);
}
function getCachedRemoteUrl() {
return gitWatcher.get("remoteUrl", computeRemoteUrl);
}
function getCachedDefaultBranch() {
return gitWatcher.get("defaultBranch", computeDefaultBranch);
}
async function getHeadForDir(cwd2) {
const gitDir = await resolveGitDir(cwd2);
if (!gitDir) {
return null;
}
const head = await readGitHead(gitDir);
if (!head) {
return null;
}
if (head.type === "branch") {
return resolveRef(gitDir, `refs/heads/${head.name}`);
}
return head.sha;
}
async function readWorktreeHeadSha(worktreePath) {
let gitDir;
try {
const ptr = (await readFile3(join13(worktreePath, ".git"), "utf-8")).trim();
if (!ptr.startsWith("gitdir:")) {
return null;
}
gitDir = resolve5(worktreePath, ptr.slice("gitdir:".length).trim());
} catch {
return null;
}
const head = await readGitHead(gitDir);
if (!head) {
return null;
}
if (head.type === "branch") {
return resolveRef(gitDir, `refs/heads/${head.name}`);
}
return head.sha;
}
async function getRemoteUrlForDir(cwd2) {
const gitDir = await resolveGitDir(cwd2);
if (!gitDir) {
return null;
}
const url2 = await parseGitConfigValue(gitDir, "remote", "origin", "url");
if (url2) {
return url2;
}
const commonDir = await getCommonDir(gitDir);
if (commonDir && commonDir !== gitDir) {
return parseGitConfigValue(commonDir, "remote", "origin", "url");
}
return null;
}
async function isShallowClone() {
const gitDir = await resolveGitDir();
if (!gitDir) {
return false;
}
const commonDir = await getCommonDir(gitDir) ?? gitDir;
try {
await stat3(join13(commonDir, "shallow"));
return true;
} catch {
return false;
}
}
async function getWorktreeCountFromFs() {
try {
const gitDir = await resolveGitDir();
if (!gitDir) {
return 0;
}
const commonDir = await getCommonDir(gitDir) ?? gitDir;
const entries = await readdir3(join13(commonDir, "worktrees"));
return entries.length + 1;
} catch {
return 1;
}
}
var resolveGitDirCache, WATCH_INTERVAL_MS = 1000, gitWatcher;
var init_gitFilesystem = __esm(() => {
init_state();
init_cleanupRegistry();
init_cwd();
init_git();
init_gitConfigParser();
resolveGitDirCache = new Map;
gitWatcher = new GitFileWatcher;
});
// src/utils/detectRepository.ts
var exports_detectRepository = {};
__export(exports_detectRepository, {
parseGitRemote: () => parseGitRemote,
parseGitHubRepository: () => parseGitHubRepository,
getCachedRepository: () => getCachedRepository,
detectCurrentRepositoryWithHost: () => detectCurrentRepositoryWithHost,
detectCurrentRepository: () => detectCurrentRepository,
clearRepositoryCaches: () => clearRepositoryCaches
});
function clearRepositoryCaches() {
repositoryWithHostCache.clear();
}
async function detectCurrentRepository() {
const result = await detectCurrentRepositoryWithHost();
if (!result)
return null;
if (result.host !== "github.com")
return null;
return `${result.owner}/${result.name}`;
}
async function detectCurrentRepositoryWithHost() {
const cwd2 = getCwd();
if (repositoryWithHostCache.has(cwd2)) {
return repositoryWithHostCache.get(cwd2) ?? null;
}
try {
const remoteUrl = await getRemoteUrl();
logForDebugging(`Git remote URL: ${remoteUrl}`);
if (!remoteUrl) {
logForDebugging("No git remote URL found");
repositoryWithHostCache.set(cwd2, null);
return null;
}
const parsed = parseGitRemote(remoteUrl);
logForDebugging(`Parsed repository: ${parsed ? `${parsed.host}/${parsed.owner}/${parsed.name}` : null} from URL: ${remoteUrl}`);
repositoryWithHostCache.set(cwd2, parsed);
return parsed;
} catch (error2) {
logForDebugging(`Error detecting repository: ${error2}`);
repositoryWithHostCache.set(cwd2, null);
return null;
}
}
function getCachedRepository() {
const parsed = repositoryWithHostCache.get(getCwd());
if (!parsed || parsed.host !== "github.com")
return null;
return `${parsed.owner}/${parsed.name}`;
}
function parseGitRemote(input) {
const trimmed = input.trim();
const sshMatch = trimmed.match(/^git@([^:]+):([^/]+)\/([^/]+?)(?:\.git)?$/);
if (sshMatch?.[1] && sshMatch[2] && sshMatch[3]) {
if (!looksLikeRealHostname(sshMatch[1]))
return null;
return {
host: sshMatch[1],
owner: sshMatch[2],
name: sshMatch[3]
};
}
const urlMatch = trimmed.match(/^(https?|ssh|git):\/\/(?:[^@]+@)?([^/:]+(?::\d+)?)\/([^/]+)\/([^/]+?)(?:\.git)?$/);
if (urlMatch?.[1] && urlMatch[2] && urlMatch[3] && urlMatch[4]) {
const protocol = urlMatch[1];
const hostWithPort = urlMatch[2];
const hostWithoutPort = hostWithPort.split(":")[0] ?? "";
if (!looksLikeRealHostname(hostWithoutPort))
return null;
const host = protocol === "https" || protocol === "http" ? hostWithPort : hostWithoutPort;
return {
host,
owner: urlMatch[3],
name: urlMatch[4]
};
}
return null;
}
function parseGitHubRepository(input) {
const trimmed = input.trim();
const parsed = parseGitRemote(trimmed);
if (parsed) {
if (parsed.host !== "github.com")
return null;
return `${parsed.owner}/${parsed.name}`;
}
if (!trimmed.includes("://") && !trimmed.includes("@") && trimmed.includes("/")) {
const parts = trimmed.split("/");
if (parts.length === 2 && parts[0] && parts[1]) {
const repo = parts[1].replace(/\.git$/, "");
return `${parts[0]}/${repo}`;
}
}
logForDebugging(`Could not parse repository from: ${trimmed}`);
return null;
}
function looksLikeRealHostname(host) {
if (!host.includes("."))
return false;
const lastSegment = host.split(".").pop();
if (!lastSegment)
return false;
return /^[a-zA-Z]+$/.test(lastSegment);
}
var repositoryWithHostCache;
var init_detectRepository = __esm(() => {
init_cwd();
init_debug();
init_git();
repositoryWithHostCache = new Map;
});
// src/utils/git.ts
var exports_git = {};
__export(exports_git, {
stashToCleanState: () => stashToCleanState,
preserveGitStateForIssue: () => preserveGitStateForIssue,
normalizeGitRemoteUrl: () => normalizeGitRemoteUrl,
isCurrentDirectoryBareGitRepo: () => isCurrentDirectoryBareGitRepo,
isAtGitRoot: () => isAtGitRoot,
hasUnpushedCommits: () => hasUnpushedCommits,
gitExe: () => gitExe,
getWorktreeCount: () => getWorktreeCount,
getRepoRemoteHash: () => getRepoRemoteHash,
getRemoteUrl: () => getRemoteUrl,
getIsHeadOnRemote: () => getIsHeadOnRemote,
getIsGit: () => getIsGit,
getIsClean: () => getIsClean,
getHead: () => getHead,
getGithubRepo: () => getGithubRepo,
getGitState: () => getGitState,
getGitDir: () => getGitDir,
getFileStatus: () => getFileStatus,
getDefaultBranch: () => getDefaultBranch,
getChangedFiles: () => getChangedFiles,
getBranch: () => getBranch,
findRemoteBase: () => findRemoteBase,
findGitRoot: () => findGitRoot,
findCanonicalGitRoot: () => findCanonicalGitRoot,
dirIsInGitRepo: () => dirIsInGitRepo
});
import { createHash as createHash2 } from "crypto";
import { readFileSync as readFileSync5, realpathSync as realpathSync3, statSync as statSync3 } from "fs";
import { open as open2, readFile as readFile4, realpath as realpath3, stat as stat4 } from "fs/promises";
import { basename as basename3, dirname as dirname8, join as join14, resolve as resolve6, sep as sep3 } from "path";
function createFindGitRoot() {
function wrapper(startPath) {
const result = findGitRootImpl(startPath);
return result === GIT_ROOT_NOT_FOUND ? null : result;
}
wrapper.cache = findGitRootImpl.cache;
return wrapper;
}
function createFindCanonicalGitRoot() {
function wrapper(startPath) {
const root2 = findGitRoot(startPath);
if (!root2) {
return null;
}
return resolveCanonicalRoot(root2);
}
wrapper.cache = resolveCanonicalRoot.cache;
return wrapper;
}
function getGitDir(cwd2) {
return resolveGitDir(cwd2);
}
async function isAtGitRoot() {
const cwd2 = getCwd();
const gitRoot = findGitRoot(cwd2);
if (!gitRoot) {
return false;
}
try {
const [resolvedCwd, resolvedGitRoot] = await Promise.all([
realpath3(cwd2),
realpath3(gitRoot)
]);
return resolvedCwd === resolvedGitRoot;
} catch {
return cwd2 === gitRoot;
}
}
function normalizeGitRemoteUrl(url2) {
const trimmed = url2.trim();
if (!trimmed)
return null;
const sshMatch = trimmed.match(/^git@([^:]+):(.+?)(?:\.git)?$/);
if (sshMatch && sshMatch[1] && sshMatch[2]) {
return `${sshMatch[1]}/${sshMatch[2]}`.toLowerCase();
}
const urlMatch = trimmed.match(/^(?:https?|ssh):\/\/(?:[^@]+@)?([^/]+)\/(.+?)(?:\.git)?$/);
if (urlMatch && urlMatch[1] && urlMatch[2]) {
const host = urlMatch[1];
const path9 = urlMatch[2];
if (isLocalHost(host) && path9.startsWith("git/")) {
const proxyPath = path9.slice(4);
const segments = proxyPath.split("/");
if (segments.length >= 3 && segments[0].includes(".")) {
return proxyPath.toLowerCase();
}
return `github.com/${proxyPath}`.toLowerCase();
}
return `${host}/${path9}`.toLowerCase();
}
return null;
}
async function getRepoRemoteHash() {
const remoteUrl = await getRemoteUrl();
if (!remoteUrl)
return null;
const normalized = normalizeGitRemoteUrl(remoteUrl);
if (!normalized)
return null;
const hash2 = createHash2("sha256").update(normalized).digest("hex");
return hash2.substring(0, 16);
}
async function getGitState() {
try {
const [
commitHash,
branchName,
remoteUrl,
isHeadOnRemote,
isClean,
worktreeCount
] = await Promise.all([
getHead(),
getBranch(),
getRemoteUrl(),
getIsHeadOnRemote(),
getIsClean(),
getWorktreeCount()
]);
return {
commitHash,
branchName,
remoteUrl,
isHeadOnRemote,
isClean,
worktreeCount
};
} catch (_2) {
return null;
}
}
async function getGithubRepo() {
const { parseGitRemote: parseGitRemote2 } = await Promise.resolve().then(() => (init_detectRepository(), exports_detectRepository));
const remoteUrl = await getRemoteUrl();
if (!remoteUrl) {
logForDebugging("Local GitHub repo: unknown");
return null;
}
const parsed = parseGitRemote2(remoteUrl);
if (parsed && parsed.host === "github.com") {
const result = `${parsed.owner}/${parsed.name}`;
logForDebugging(`Local GitHub repo: ${result}`);
return result;
}
logForDebugging("Local GitHub repo: unknown");
return null;
}
async function findRemoteBase() {
const { stdout: trackingBranch, code: trackingCode } = await execFileNoThrow(gitExe(), ["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"], { preserveOutputOnError: false });
if (trackingCode === 0 && trackingBranch.trim()) {
return trackingBranch.trim();
}
const { stdout: remoteRefs, code: remoteCode } = await execFileNoThrow(gitExe(), ["remote", "show", "origin", "--", "HEAD"], { preserveOutputOnError: false });
if (remoteCode === 0) {
const match = remoteRefs.match(/HEAD branch: (\S+)/);
if (match && match[1]) {
return `origin/${match[1]}`;
}
}
const candidates = ["origin/main", "origin/staging", "origin/master"];
for (const candidate of candidates) {
const { code } = await execFileNoThrow(gitExe(), ["rev-parse", "--verify", candidate], { preserveOutputOnError: false });
if (code === 0) {
return candidate;
}
}
return null;
}
function isShallowClone2() {
return isShallowClone();
}
async function captureUntrackedFiles() {
const { stdout, code } = await execFileNoThrow(gitExe(), ["ls-files", "--others", "--exclude-standard"], { preserveOutputOnError: false });
const trimmed = stdout.trim();
if (code !== 0 || !trimmed) {
return [];
}
const files = trimmed.split(`
`).filter(Boolean);
const result = [];
let totalSize = 0;
for (const filePath of files) {
if (result.length >= MAX_FILE_COUNT) {
logForDebugging(`Untracked file capture: reached max file count (${MAX_FILE_COUNT})`);
break;
}
if (hasBinaryExtension(filePath)) {
continue;
}
try {
const stats = await stat4(filePath);
const fileSize = stats.size;
if (fileSize > MAX_FILE_SIZE_BYTES) {
logForDebugging(`Untracked file capture: skipping ${filePath} (exceeds ${MAX_FILE_SIZE_BYTES} bytes)`);
continue;
}
if (totalSize + fileSize > MAX_TOTAL_SIZE_BYTES) {
logForDebugging(`Untracked file capture: reached total size limit (${MAX_TOTAL_SIZE_BYTES} bytes)`);
break;
}
if (fileSize === 0) {
result.push({ path: filePath, content: "" });
continue;
}
const sniffSize = Math.min(SNIFF_BUFFER_SIZE, fileSize);
const fd = await open2(filePath, "r");
try {
const sniffBuf = Buffer.alloc(sniffSize);
const { bytesRead } = await fd.read(sniffBuf, 0, sniffSize, 0);
const sniff = sniffBuf.subarray(0, bytesRead);
if (isBinaryContent(sniff)) {
continue;
}
let content;
if (fileSize <= sniffSize) {
content = sniff.toString("utf-8");
} else {
content = await readFile4(filePath, "utf-8");
}
result.push({ path: filePath, content });
totalSize += fileSize;
} finally {
await fd.close();
}
} catch (err) {
logForDebugging(`Failed to read untracked file ${filePath}: ${err}`);
}
}
return result;
}
async function preserveGitStateForIssue() {
try {
const isGit = await getIsGit();
if (!isGit) {
return null;
}
if (await isShallowClone2()) {
logForDebugging("Shallow clone detected, using HEAD-only mode for issue");
const [{ stdout: patch2 }, untrackedFiles2] = await Promise.all([
execFileNoThrow(gitExe(), ["diff", "HEAD"]),
captureUntrackedFiles()
]);
return {
remote_base_sha: null,
remote_base: null,
patch: patch2 || "",
untracked_files: untrackedFiles2,
format_patch: null,
head_sha: null,
branch_name: null
};
}
const remoteBase = await findRemoteBase();
if (!remoteBase) {
logForDebugging("No remote found, using HEAD-only mode for issue");
const [{ stdout: patch2 }, untrackedFiles2] = await Promise.all([
execFileNoThrow(gitExe(), ["diff", "HEAD"]),
captureUntrackedFiles()
]);
return {
remote_base_sha: null,
remote_base: null,
patch: patch2 || "",
untracked_files: untrackedFiles2,
format_patch: null,
head_sha: null,
branch_name: null
};
}
const { stdout: mergeBase, code: mergeBaseCode } = await execFileNoThrow(gitExe(), ["merge-base", "HEAD", remoteBase], { preserveOutputOnError: false });
if (mergeBaseCode !== 0 || !mergeBase.trim()) {
logForDebugging("Merge-base failed, using HEAD-only mode for issue");
const [{ stdout: patch2 }, untrackedFiles2] = await Promise.all([
execFileNoThrow(gitExe(), ["diff", "HEAD"]),
captureUntrackedFiles()
]);
return {
remote_base_sha: null,
remote_base: null,
patch: patch2 || "",
untracked_files: untrackedFiles2,
format_patch: null,
head_sha: null,
branch_name: null
};
}
const remoteBaseSha = mergeBase.trim();
const [
{ stdout: patch },
untrackedFiles,
{ stdout: formatPatchOut, code: formatPatchCode },
{ stdout: headSha },
{ stdout: branchName }
] = await Promise.all([
execFileNoThrow(gitExe(), ["diff", remoteBaseSha]),
captureUntrackedFiles(),
execFileNoThrow(gitExe(), [
"format-patch",
`${remoteBaseSha}..HEAD`,
"--stdout"
]),
execFileNoThrow(gitExe(), ["rev-parse", "HEAD"]),
execFileNoThrow(gitExe(), ["rev-parse", "--abbrev-ref", "HEAD"])
]);
let formatPatch = null;
if (formatPatchCode === 0 && formatPatchOut && formatPatchOut.trim()) {
formatPatch = formatPatchOut;
}
const trimmedBranch = branchName?.trim();
return {
remote_base_sha: remoteBaseSha,
remote_base: remoteBase,
patch: patch || "",
untracked_files: untrackedFiles,
format_patch: formatPatch,
head_sha: headSha?.trim() || null,
branch_name: trimmedBranch && trimmedBranch !== "HEAD" ? trimmedBranch : null
};
} catch (err) {
logError2(err);
return null;
}
}
function isLocalHost(host) {
const hostWithoutPort = host.split(":")[0] ?? "";
return hostWithoutPort === "localhost" || /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostWithoutPort);
}
function isCurrentDirectoryBareGitRepo() {
const fs2 = getFsImplementation();
const cwd2 = getCwd();
const gitPath = join14(cwd2, ".git");
try {
const stats = fs2.statSync(gitPath);
if (stats.isFile()) {
return false;
}
if (stats.isDirectory()) {
const gitHeadPath = join14(gitPath, "HEAD");
try {
if (fs2.statSync(gitHeadPath).isFile()) {
return false;
}
} catch {}
}
} catch {}
try {
if (fs2.statSync(join14(cwd2, "HEAD")).isFile())
return true;
} catch {}
try {
if (fs2.statSync(join14(cwd2, "objects")).isDirectory())
return true;
} catch {}
try {
if (fs2.statSync(join14(cwd2, "refs")).isDirectory())
return true;
} catch {}
return false;
}
var GIT_ROOT_NOT_FOUND, findGitRootImpl, findGitRoot, resolveCanonicalRoot, findCanonicalGitRoot, gitExe, getIsGit, dirIsInGitRepo = async (cwd2) => {
return findGitRoot(cwd2) !== null;
}, getHead = async () => {
return getCachedHead();
}, getBranch = async () => {
return getCachedBranch();
}, getDefaultBranch = async () => {
return getCachedDefaultBranch();
}, getRemoteUrl = async () => {
return getCachedRemoteUrl();
}, getIsHeadOnRemote = async () => {
const { code } = await execFileNoThrow(gitExe(), ["rev-parse", "@{u}"], {
preserveOutputOnError: false
});
return code === 0;
}, hasUnpushedCommits = async () => {
const { stdout, code } = await execFileNoThrow(gitExe(), ["rev-list", "--count", "@{u}..HEAD"], { preserveOutputOnError: false });
return code === 0 && parseInt(stdout.trim(), 10) > 0;
}, getIsClean = async (options) => {
const args = ["--no-optional-locks", "status", "--porcelain"];
if (options?.ignoreUntracked) {
args.push("-uno");
}
const { stdout } = await execFileNoThrow(gitExe(), args, {
preserveOutputOnError: false
});
return stdout.trim().length === 0;
}, getChangedFiles = async () => {
const { stdout } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "status", "--porcelain"], {
preserveOutputOnError: false
});
return stdout.trim().split(`
`).map((line) => line.trim().split(" ", 2)[1]?.trim()).filter((line) => typeof line === "string");
}, getFileStatus = async () => {
const { stdout } = await execFileNoThrow(gitExe(), ["--no-optional-locks", "status", "--porcelain"], {
preserveOutputOnError: false
});
const tracked = [];
const untracked = [];
stdout.trim().split(`
`).filter((line) => line.length > 0).forEach((line) => {
const status = line.substring(0, 2);
const filename = line.substring(2).trim();
if (status === "??") {
untracked.push(filename);
} else if (filename) {
tracked.push(filename);
}
});
return { tracked, untracked };
}, getWorktreeCount = async () => {
return getWorktreeCountFromFs();
}, stashToCleanState = async (message) => {
try {
const stashMessage = message || `Claude Code auto-stash - ${new Date().toISOString()}`;
const { untracked } = await getFileStatus();
if (untracked.length > 0) {
const { code: addCode } = await execFileNoThrow(gitExe(), ["add", ...untracked], { preserveOutputOnError: false });
if (addCode !== 0) {
return false;
}
}
const { code } = await execFileNoThrow(gitExe(), ["stash", "push", "--message", stashMessage], { preserveOutputOnError: false });
return code === 0;
} catch (_2) {
return false;
}
}, MAX_FILE_SIZE_BYTES = 524288000, MAX_TOTAL_SIZE_BYTES = 5368709120, MAX_FILE_COUNT = 20000, SNIFF_BUFFER_SIZE = 65536;
var init_git = __esm(() => {
init_memoize();
init_files2();
init_cwd();
init_debug();
init_diagLogs();
init_execFileNoThrow();
init_fsOperations();
init_gitFilesystem();
init_log3();
init_memoize2();
init_which();
GIT_ROOT_NOT_FOUND = Symbol("git-root-not-found");
findGitRootImpl = memoizeWithLRU((startPath) => {
const startTime = Date.now();
logForDiagnosticsNoPII("info", "find_git_root_started");
let current = resolve6(startPath);
const root2 = current.substring(0, current.indexOf(sep3) + 1) || sep3;
let statCount = 0;
while (current !== root2) {
try {
const gitPath = join14(current, ".git");
statCount++;
const stat5 = statSync3(gitPath);
if (stat5.isDirectory() || stat5.isFile()) {
logForDiagnosticsNoPII("info", "find_git_root_completed", {
duration_ms: Date.now() - startTime,
stat_count: statCount,
found: true
});
return current.normalize("NFC");
}
} catch {}
const parent = dirname8(current);
if (parent === current) {
break;
}
current = parent;
}
try {
const gitPath = join14(root2, ".git");
statCount++;
const stat5 = statSync3(gitPath);
if (stat5.isDirectory() || stat5.isFile()) {
logForDiagnosticsNoPII("info", "find_git_root_completed", {
duration_ms: Date.now() - startTime,
stat_count: statCount,
found: true
});
return root2.normalize("NFC");
}
} catch {}
logForDiagnosticsNoPII("info", "find_git_root_completed", {
duration_ms: Date.now() - startTime,
stat_count: statCount,
found: false
});
return GIT_ROOT_NOT_FOUND;
}, (path9) => path9, 50);
findGitRoot = createFindGitRoot();
resolveCanonicalRoot = memoizeWithLRU((gitRoot) => {
try {
const gitContent = readFileSync5(join14(gitRoot, ".git"), "utf-8").trim();
if (!gitContent.startsWith("gitdir:")) {
return gitRoot;
}
const worktreeGitDir = resolve6(gitRoot, gitContent.slice("gitdir:".length).trim());
const commonDir = resolve6(worktreeGitDir, readFileSync5(join14(worktreeGitDir, "commondir"), "utf-8").trim());
if (resolve6(dirname8(worktreeGitDir)) !== join14(commonDir, "worktrees")) {
return gitRoot;
}
const backlink = realpathSync3(readFileSync5(join14(worktreeGitDir, "gitdir"), "utf-8").trim());
if (backlink !== join14(realpathSync3(gitRoot), ".git")) {
return gitRoot;
}
if (basename3(commonDir) !== ".git") {
return commonDir.normalize("NFC");
}
return dirname8(commonDir).normalize("NFC");
} catch {
return gitRoot;
}
}, (root2) => root2, 50);
findCanonicalGitRoot = createFindCanonicalGitRoot();
gitExe = memoize_default(() => {
return whichSync("git") || "git";
});
getIsGit = memoize_default(async () => {
const startTime = Date.now();
logForDiagnosticsNoPII("info", "is_git_check_started");
const isGit = findGitRoot(getCwd()) !== null;
logForDiagnosticsNoPII("info", "is_git_check_completed", {
duration_ms: Date.now() - startTime,
is_git: isGit
});
return isGit;
});
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/scanner.js
function createScanner(text, ignoreTrivia = false) {
const len = text.length;
let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
function scanHexDigits(count2, exact) {
let digits = 0;
let value2 = 0;
while (digits < count2 || !exact) {
let ch = text.charCodeAt(pos);
if (ch >= 48 && ch <= 57) {
value2 = value2 * 16 + ch - 48;
} else if (ch >= 65 && ch <= 70) {
value2 = value2 * 16 + ch - 65 + 10;
} else if (ch >= 97 && ch <= 102) {
value2 = value2 * 16 + ch - 97 + 10;
} else {
break;
}
pos++;
digits++;
}
if (digits < count2) {
value2 = -1;
}
return value2;
}
function setPosition(newPosition) {
pos = newPosition;
value = "";
tokenOffset = 0;
token = 16;
scanError = 0;
}
function scanNumber() {
let start = pos;
if (text.charCodeAt(pos) === 48) {
pos++;
} else {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
}
if (pos < text.length && text.charCodeAt(pos) === 46) {
pos++;
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
} else {
scanError = 3;
return text.substring(start, pos);
}
}
let end = pos;
if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
pos++;
if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) {
pos++;
}
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
end = pos;
} else {
scanError = 3;
}
}
return text.substring(start, end);
}
function scanString() {
let result = "", start = pos;
while (true) {
if (pos >= len) {
result += text.substring(start, pos);
scanError = 2;
break;
}
const ch = text.charCodeAt(pos);
if (ch === 34) {
result += text.substring(start, pos);
pos++;
break;
}
if (ch === 92) {
result += text.substring(start, pos);
pos++;
if (pos >= len) {
scanError = 2;
break;
}
const ch2 = text.charCodeAt(pos++);
switch (ch2) {
case 34:
result += '"';
break;
case 92:
result += "\\";
break;
case 47:
result += "/";
break;
case 98:
result += "\b";
break;
case 102:
result += "\f";
break;
case 110:
result += `
`;
break;
case 114:
result += "\r";
break;
case 116:
result += "\t";
break;
case 117:
const ch3 = scanHexDigits(4, true);
if (ch3 >= 0) {
result += String.fromCharCode(ch3);
} else {
scanError = 4;
}
break;
default:
scanError = 5;
}
start = pos;
continue;
}
if (ch >= 0 && ch <= 31) {
if (isLineBreak(ch)) {
result += text.substring(start, pos);
scanError = 2;
break;
} else {
scanError = 6;
}
}
pos++;
}
return result;
}
function scanNext() {
value = "";
scanError = 0;
tokenOffset = pos;
lineStartOffset = lineNumber;
prevTokenLineStartOffset = tokenLineStartOffset;
if (pos >= len) {
tokenOffset = len;
return token = 17;
}
let code = text.charCodeAt(pos);
if (isWhiteSpace(code)) {
do {
pos++;
value += String.fromCharCode(code);
code = text.charCodeAt(pos);
} while (isWhiteSpace(code));
return token = 15;
}
if (isLineBreak(code)) {
pos++;
value += String.fromCharCode(code);
if (code === 13 && text.charCodeAt(pos) === 10) {
pos++;
value += `
`;
}
lineNumber++;
tokenLineStartOffset = pos;
return token = 14;
}
switch (code) {
case 123:
pos++;
return token = 1;
case 125:
pos++;
return token = 2;
case 91:
pos++;
return token = 3;
case 93:
pos++;
return token = 4;
case 58:
pos++;
return token = 6;
case 44:
pos++;
return token = 5;
case 34:
pos++;
value = scanString();
return token = 10;
case 47:
const start = pos - 1;
if (text.charCodeAt(pos + 1) === 47) {
pos += 2;
while (pos < len) {
if (isLineBreak(text.charCodeAt(pos))) {
break;
}
pos++;
}
value = text.substring(start, pos);
return token = 12;
}
if (text.charCodeAt(pos + 1) === 42) {
pos += 2;
const safeLength = len - 1;
let commentClosed = false;
while (pos < safeLength) {
const ch = text.charCodeAt(pos);
if (ch === 42 && text.charCodeAt(pos + 1) === 47) {
pos += 2;
commentClosed = true;
break;
}
pos++;
if (isLineBreak(ch)) {
if (ch === 13 && text.charCodeAt(pos) === 10) {
pos++;
}
lineNumber++;
tokenLineStartOffset = pos;
}
}
if (!commentClosed) {
pos++;
scanError = 1;
}
value = text.substring(start, pos);
return token = 13;
}
value += String.fromCharCode(code);
pos++;
return token = 16;
case 45:
value += String.fromCharCode(code);
pos++;
if (pos === len || !isDigit(text.charCodeAt(pos))) {
return token = 16;
}
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
value += scanNumber();
return token = 11;
default:
while (pos < len && isUnknownContentCharacter(code)) {
pos++;
code = text.charCodeAt(pos);
}
if (tokenOffset !== pos) {
value = text.substring(tokenOffset, pos);
switch (value) {
case "true":
return token = 8;
case "false":
return token = 9;
case "null":
return token = 7;
}
return token = 16;
}
value += String.fromCharCode(code);
pos++;
return token = 16;
}
}
function isUnknownContentCharacter(code) {
if (isWhiteSpace(code) || isLineBreak(code)) {
return false;
}
switch (code) {
case 125:
case 93:
case 123:
case 91:
case 34:
case 58:
case 44:
case 47:
return false;
}
return true;
}
function scanNextNonTrivia() {
let result;
do {
result = scanNext();
} while (result >= 12 && result <= 15);
return result;
}
return {
setPosition,
getPosition: () => pos,
scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
getToken: () => token,
getTokenValue: () => value,
getTokenOffset: () => tokenOffset,
getTokenLength: () => pos - tokenOffset,
getTokenStartLine: () => lineStartOffset,
getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,
getTokenError: () => scanError
};
}
function isWhiteSpace(ch) {
return ch === 32 || ch === 9;
}
function isLineBreak(ch) {
return ch === 10 || ch === 13;
}
function isDigit(ch) {
return ch >= 48 && ch <= 57;
}
var CharacterCodes;
var init_scanner = __esm(() => {
(function(CharacterCodes2) {
CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed";
CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn";
CharacterCodes2[CharacterCodes2["space"] = 32] = "space";
CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0";
CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1";
CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2";
CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3";
CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4";
CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5";
CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6";
CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7";
CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8";
CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9";
CharacterCodes2[CharacterCodes2["a"] = 97] = "a";
CharacterCodes2[CharacterCodes2["b"] = 98] = "b";
CharacterCodes2[CharacterCodes2["c"] = 99] = "c";
CharacterCodes2[CharacterCodes2["d"] = 100] = "d";
CharacterCodes2[CharacterCodes2["e"] = 101] = "e";
CharacterCodes2[CharacterCodes2["f"] = 102] = "f";
CharacterCodes2[CharacterCodes2["g"] = 103] = "g";
CharacterCodes2[CharacterCodes2["h"] = 104] = "h";
CharacterCodes2[CharacterCodes2["i"] = 105] = "i";
CharacterCodes2[CharacterCodes2["j"] = 106] = "j";
CharacterCodes2[CharacterCodes2["k"] = 107] = "k";
CharacterCodes2[CharacterCodes2["l"] = 108] = "l";
CharacterCodes2[CharacterCodes2["m"] = 109] = "m";
CharacterCodes2[CharacterCodes2["n"] = 110] = "n";
CharacterCodes2[CharacterCodes2["o"] = 111] = "o";
CharacterCodes2[CharacterCodes2["p"] = 112] = "p";
CharacterCodes2[CharacterCodes2["q"] = 113] = "q";
CharacterCodes2[CharacterCodes2["r"] = 114] = "r";
CharacterCodes2[CharacterCodes2["s"] = 115] = "s";
CharacterCodes2[CharacterCodes2["t"] = 116] = "t";
CharacterCodes2[CharacterCodes2["u"] = 117] = "u";
CharacterCodes2[CharacterCodes2["v"] = 118] = "v";
CharacterCodes2[CharacterCodes2["w"] = 119] = "w";
CharacterCodes2[CharacterCodes2["x"] = 120] = "x";
CharacterCodes2[CharacterCodes2["y"] = 121] = "y";
CharacterCodes2[CharacterCodes2["z"] = 122] = "z";
CharacterCodes2[CharacterCodes2["A"] = 65] = "A";
CharacterCodes2[CharacterCodes2["B"] = 66] = "B";
CharacterCodes2[CharacterCodes2["C"] = 67] = "C";
CharacterCodes2[CharacterCodes2["D"] = 68] = "D";
CharacterCodes2[CharacterCodes2["E"] = 69] = "E";
CharacterCodes2[CharacterCodes2["F"] = 70] = "F";
CharacterCodes2[CharacterCodes2["G"] = 71] = "G";
CharacterCodes2[CharacterCodes2["H"] = 72] = "H";
CharacterCodes2[CharacterCodes2["I"] = 73] = "I";
CharacterCodes2[CharacterCodes2["J"] = 74] = "J";
CharacterCodes2[CharacterCodes2["K"] = 75] = "K";
CharacterCodes2[CharacterCodes2["L"] = 76] = "L";
CharacterCodes2[CharacterCodes2["M"] = 77] = "M";
CharacterCodes2[CharacterCodes2["N"] = 78] = "N";
CharacterCodes2[CharacterCodes2["O"] = 79] = "O";
CharacterCodes2[CharacterCodes2["P"] = 80] = "P";
CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q";
CharacterCodes2[CharacterCodes2["R"] = 82] = "R";
CharacterCodes2[CharacterCodes2["S"] = 83] = "S";
CharacterCodes2[CharacterCodes2["T"] = 84] = "T";
CharacterCodes2[CharacterCodes2["U"] = 85] = "U";
CharacterCodes2[CharacterCodes2["V"] = 86] = "V";
CharacterCodes2[CharacterCodes2["W"] = 87] = "W";
CharacterCodes2[CharacterCodes2["X"] = 88] = "X";
CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y";
CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z";
CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk";
CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash";
CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace";
CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket";
CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon";
CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma";
CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot";
CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote";
CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus";
CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace";
CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket";
CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus";
CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash";
CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed";
CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab";
})(CharacterCodes || (CharacterCodes = {}));
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/string-intern.js
var cachedSpaces, maxCachedValues = 200, cachedBreakLinesWithSpaces, supportedEols;
var init_string_intern = __esm(() => {
cachedSpaces = new Array(20).fill(0).map((_2, index) => {
return " ".repeat(index);
});
cachedBreakLinesWithSpaces = {
" ": {
"\n": new Array(maxCachedValues).fill(0).map((_2, index) => {
return `
` + " ".repeat(index);
}),
"\r": new Array(maxCachedValues).fill(0).map((_2, index) => {
return "\r" + " ".repeat(index);
}),
"\r\n": new Array(maxCachedValues).fill(0).map((_2, index) => {
return `\r
` + " ".repeat(index);
})
},
"\t": {
"\n": new Array(maxCachedValues).fill(0).map((_2, index) => {
return `
` + "\t".repeat(index);
}),
"\r": new Array(maxCachedValues).fill(0).map((_2, index) => {
return "\r" + "\t".repeat(index);
}),
"\r\n": new Array(maxCachedValues).fill(0).map((_2, index) => {
return `\r
` + "\t".repeat(index);
})
}
};
supportedEols = [`
`, "\r", `\r
`];
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/format.js
function format2(documentText, range, options) {
let initialIndentLevel;
let formatText;
let formatTextStart;
let rangeStart;
let rangeEnd;
if (range) {
rangeStart = range.offset;
rangeEnd = rangeStart + range.length;
formatTextStart = rangeStart;
while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) {
formatTextStart--;
}
let endOffset = rangeEnd;
while (endOffset < documentText.length && !isEOL(documentText, endOffset)) {
endOffset++;
}
formatText = documentText.substring(formatTextStart, endOffset);
initialIndentLevel = computeIndentLevel(formatText, options);
} else {
formatText = documentText;
initialIndentLevel = 0;
formatTextStart = 0;
rangeStart = 0;
rangeEnd = documentText.length;
}
const eol = getEOL(options, documentText);
const eolFastPathSupported = supportedEols.includes(eol);
let numberLineBreaks = 0;
let indentLevel = 0;
let indentValue;
if (options.insertSpaces) {
indentValue = cachedSpaces[options.tabSize || 4] ?? repeat(cachedSpaces[1], options.tabSize || 4);
} else {
indentValue = "\t";
}
const indentType = indentValue === "\t" ? "\t" : " ";
let scanner = createScanner(formatText, false);
let hasError = false;
function newLinesAndIndent() {
if (numberLineBreaks > 1) {
return repeat(eol, numberLineBreaks) + repeat(indentValue, initialIndentLevel + indentLevel);
}
const amountOfSpaces = indentValue.length * (initialIndentLevel + indentLevel);
if (!eolFastPathSupported || amountOfSpaces > cachedBreakLinesWithSpaces[indentType][eol].length) {
return eol + repeat(indentValue, initialIndentLevel + indentLevel);
}
if (amountOfSpaces <= 0) {
return eol;
}
return cachedBreakLinesWithSpaces[indentType][eol][amountOfSpaces];
}
function scanNext() {
let token = scanner.scan();
numberLineBreaks = 0;
while (token === 15 || token === 14) {
if (token === 14 && options.keepLines) {
numberLineBreaks += 1;
} else if (token === 14) {
numberLineBreaks = 1;
}
token = scanner.scan();
}
hasError = token === 16 || scanner.getTokenError() !== 0;
return token;
}
const editOperations = [];
function addEdit(text, startOffset, endOffset) {
if (!hasError && (!range || startOffset < rangeEnd && endOffset > rangeStart) && documentText.substring(startOffset, endOffset) !== text) {
editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text });
}
}
let firstToken = scanNext();
if (options.keepLines && numberLineBreaks > 0) {
addEdit(repeat(eol, numberLineBreaks), 0, 0);
}
if (firstToken !== 17) {
let firstTokenStart = scanner.getTokenOffset() + formatTextStart;
let initialIndent = indentValue.length * initialIndentLevel < 20 && options.insertSpaces ? cachedSpaces[indentValue.length * initialIndentLevel] : repeat(indentValue, initialIndentLevel);
addEdit(initialIndent, formatTextStart, firstTokenStart);
}
while (firstToken !== 17) {
let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
let secondToken = scanNext();
let replaceContent = "";
let needsLineBreak = false;
while (numberLineBreaks === 0 && (secondToken === 12 || secondToken === 13)) {
let commentTokenStart = scanner.getTokenOffset() + formatTextStart;
addEdit(cachedSpaces[1], firstTokenEnd, commentTokenStart);
firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
needsLineBreak = secondToken === 12;
replaceContent = needsLineBreak ? newLinesAndIndent() : "";
secondToken = scanNext();
}
if (secondToken === 2) {
if (firstToken !== 1) {
indentLevel--;
}
if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 1) {
replaceContent = newLinesAndIndent();
} else if (options.keepLines) {
replaceContent = cachedSpaces[1];
}
} else if (secondToken === 4) {
if (firstToken !== 3) {
indentLevel--;
}
if (options.keepLines && numberLineBreaks > 0 || !options.keepLines && firstToken !== 3) {
replaceContent = newLinesAndIndent();
} else if (options.keepLines) {
replaceContent = cachedSpaces[1];
}
} else {
switch (firstToken) {
case 3:
case 1:
indentLevel++;
if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {
replaceContent = newLinesAndIndent();
} else {
replaceContent = cachedSpaces[1];
}
break;
case 5:
if (options.keepLines && numberLineBreaks > 0 || !options.keepLines) {
replaceContent = newLinesAndIndent();
} else {
replaceContent = cachedSpaces[1];
}
break;
case 12:
replaceContent = newLinesAndIndent();
break;
case 13:
if (numberLineBreaks > 0) {
replaceContent = newLinesAndIndent();
} else if (!needsLineBreak) {
replaceContent = cachedSpaces[1];
}
break;
case 6:
if (options.keepLines && numberLineBreaks > 0) {
replaceContent = newLinesAndIndent();
} else if (!needsLineBreak) {
replaceContent = cachedSpaces[1];
}
break;
case 10:
if (options.keepLines && numberLineBreaks > 0) {
replaceContent = newLinesAndIndent();
} else if (secondToken === 6 && !needsLineBreak) {
replaceContent = "";
}
break;
case 7:
case 8:
case 9:
case 11:
case 2:
case 4:
if (options.keepLines && numberLineBreaks > 0) {
replaceContent = newLinesAndIndent();
} else {
if ((secondToken === 12 || secondToken === 13) && !needsLineBreak) {
replaceContent = cachedSpaces[1];
} else if (secondToken !== 5 && secondToken !== 17) {
hasError = true;
}
}
break;
case 16:
hasError = true;
break;
}
if (numberLineBreaks > 0 && (secondToken === 12 || secondToken === 13)) {
replaceContent = newLinesAndIndent();
}
}
if (secondToken === 17) {
if (options.keepLines && numberLineBreaks > 0) {
replaceContent = newLinesAndIndent();
} else {
replaceContent = options.insertFinalNewline ? eol : "";
}
}
const secondTokenStart = scanner.getTokenOffset() + formatTextStart;
addEdit(replaceContent, firstTokenEnd, secondTokenStart);
firstToken = secondToken;
}
return editOperations;
}
function repeat(s, count2) {
let result = "";
for (let i2 = 0;i2 < count2; i2++) {
result += s;
}
return result;
}
function computeIndentLevel(content, options) {
let i2 = 0;
let nChars = 0;
const tabSize = options.tabSize || 4;
while (i2 < content.length) {
let ch = content.charAt(i2);
if (ch === cachedSpaces[1]) {
nChars++;
} else if (ch === "\t") {
nChars += tabSize;
} else {
break;
}
i2++;
}
return Math.floor(nChars / tabSize);
}
function getEOL(options, text) {
for (let i2 = 0;i2 < text.length; i2++) {
const ch = text.charAt(i2);
if (ch === "\r") {
if (i2 + 1 < text.length && text.charAt(i2 + 1) === `
`) {
return `\r
`;
}
return "\r";
} else if (ch === `
`) {
return `
`;
}
}
return options && options.eol || `
`;
}
function isEOL(text, offset) {
return `\r
`.indexOf(text.charAt(offset)) !== -1;
}
var init_format2 = __esm(() => {
init_scanner();
init_string_intern();
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/parser.js
function parse(text, errors = [], options = ParseOptions.DEFAULT) {
let currentProperty = null;
let currentParent = [];
const previousParents = [];
function onValue(value) {
if (Array.isArray(currentParent)) {
currentParent.push(value);
} else if (currentProperty !== null) {
currentParent[currentProperty] = value;
}
}
const visitor = {
onObjectBegin: () => {
const object = {};
onValue(object);
previousParents.push(currentParent);
currentParent = object;
currentProperty = null;
},
onObjectProperty: (name) => {
currentProperty = name;
},
onObjectEnd: () => {
currentParent = previousParents.pop();
},
onArrayBegin: () => {
const array = [];
onValue(array);
previousParents.push(currentParent);
currentParent = array;
currentProperty = null;
},
onArrayEnd: () => {
currentParent = previousParents.pop();
},
onLiteralValue: onValue,
onError: (error2, offset, length) => {
errors.push({ error: error2, offset, length });
}
};
visit(text, visitor, options);
return currentParent[0];
}
function parseTree(text, errors = [], options = ParseOptions.DEFAULT) {
let currentParent = { type: "array", offset: -1, length: -1, children: [], parent: undefined };
function ensurePropertyComplete(endOffset) {
if (currentParent.type === "property") {
currentParent.length = endOffset - currentParent.offset;
currentParent = currentParent.parent;
}
}
function onValue(valueNode) {
currentParent.children.push(valueNode);
return valueNode;
}
const visitor = {
onObjectBegin: (offset) => {
currentParent = onValue({ type: "object", offset, length: -1, parent: currentParent, children: [] });
},
onObjectProperty: (name, offset, length) => {
currentParent = onValue({ type: "property", offset, length: -1, parent: currentParent, children: [] });
currentParent.children.push({ type: "string", value: name, offset, length, parent: currentParent });
},
onObjectEnd: (offset, length) => {
ensurePropertyComplete(offset + length);
currentParent.length = offset + length - currentParent.offset;
currentParent = currentParent.parent;
ensurePropertyComplete(offset + length);
},
onArrayBegin: (offset, length) => {
currentParent = onValue({ type: "array", offset, length: -1, parent: currentParent, children: [] });
},
onArrayEnd: (offset, length) => {
currentParent.length = offset + length - currentParent.offset;
currentParent = currentParent.parent;
ensurePropertyComplete(offset + length);
},
onLiteralValue: (value, offset, length) => {
onValue({ type: getNodeType(value), offset, length, parent: currentParent, value });
ensurePropertyComplete(offset + length);
},
onSeparator: (sep4, offset, length) => {
if (currentParent.type === "property") {
if (sep4 === ":") {
currentParent.colonOffset = offset;
} else if (sep4 === ",") {
ensurePropertyComplete(offset);
}
}
},
onError: (error2, offset, length) => {
errors.push({ error: error2, offset, length });
}
};
visit(text, visitor, options);
const result = currentParent.children[0];
if (result) {
delete result.parent;
}
return result;
}
function findNodeAtLocation(root2, path9) {
if (!root2) {
return;
}
let node = root2;
for (let segment of path9) {
if (typeof segment === "string") {
if (node.type !== "object" || !Array.isArray(node.children)) {
return;
}
let found = false;
for (const propertyNode of node.children) {
if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment && propertyNode.children.length === 2) {
node = propertyNode.children[1];
found = true;
break;
}
}
if (!found) {
return;
}
} else {
const index = segment;
if (node.type !== "array" || index < 0 || !Array.isArray(node.children) || index >= node.children.length) {
return;
}
node = node.children[index];
}
}
return node;
}
function visit(text, visitor, options = ParseOptions.DEFAULT) {
const _scanner = createScanner(text, false);
const _jsonPath = [];
let suppressedCallbacks = 0;
function toNoArgVisit(visitFunction) {
return visitFunction ? () => suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
}
function toOneArgVisit(visitFunction) {
return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
}
function toOneArgVisitWithPath(visitFunction) {
return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;
}
function toBeginVisit(visitFunction) {
return visitFunction ? () => {
if (suppressedCallbacks > 0) {
suppressedCallbacks++;
} else {
let cbReturn = visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice());
if (cbReturn === false) {
suppressedCallbacks = 1;
}
}
} : () => true;
}
function toEndVisit(visitFunction) {
return visitFunction ? () => {
if (suppressedCallbacks > 0) {
suppressedCallbacks--;
}
if (suppressedCallbacks === 0) {
visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter());
}
} : () => true;
}
const onObjectBegin = toBeginVisit(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toEndVisit(visitor.onObjectEnd), onArrayBegin = toBeginVisit(visitor.onArrayBegin), onArrayEnd = toEndVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);
const disallowComments = options && options.disallowComments;
const allowTrailingComma = options && options.allowTrailingComma;
function scanNext() {
while (true) {
const token = _scanner.scan();
switch (_scanner.getTokenError()) {
case 4:
handleError(14);
break;
case 5:
handleError(15);
break;
case 3:
handleError(13);
break;
case 1:
if (!disallowComments) {
handleError(11);
}
break;
case 2:
handleError(12);
break;
case 6:
handleError(16);
break;
}
switch (token) {
case 12:
case 13:
if (disallowComments) {
handleError(10);
} else {
onComment();
}
break;
case 16:
handleError(1);
break;
case 15:
case 14:
break;
default:
return token;
}
}
}
function handleError(error2, skipUntilAfter = [], skipUntil = []) {
onError(error2);
if (skipUntilAfter.length + skipUntil.length > 0) {
let token = _scanner.getToken();
while (token !== 17) {
if (skipUntilAfter.indexOf(token) !== -1) {
scanNext();
break;
} else if (skipUntil.indexOf(token) !== -1) {
break;
}
token = scanNext();
}
}
}
function parseString(isValue) {
const value = _scanner.getTokenValue();
if (isValue) {
onLiteralValue(value);
} else {
onObjectProperty(value);
_jsonPath.push(value);
}
scanNext();
return true;
}
function parseLiteral() {
switch (_scanner.getToken()) {
case 11:
const tokenValue = _scanner.getTokenValue();
let value = Number(tokenValue);
if (isNaN(value)) {
handleError(2);
value = 0;
}
onLiteralValue(value);
break;
case 7:
onLiteralValue(null);
break;
case 8:
onLiteralValue(true);
break;
case 9:
onLiteralValue(false);
break;
default:
return false;
}
scanNext();
return true;
}
function parseProperty() {
if (_scanner.getToken() !== 10) {
handleError(3, [], [2, 5]);
return false;
}
parseString(false);
if (_scanner.getToken() === 6) {
onSeparator(":");
scanNext();
if (!parseValue2()) {
handleError(4, [], [2, 5]);
}
} else {
handleError(5, [], [2, 5]);
}
_jsonPath.pop();
return true;
}
function parseObject() {
onObjectBegin();
scanNext();
let needsComma = false;
while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) {
if (_scanner.getToken() === 5) {
if (!needsComma) {
handleError(4, [], []);
}
onSeparator(",");
scanNext();
if (_scanner.getToken() === 2 && allowTrailingComma) {
break;
}
} else if (needsComma) {
handleError(6, [], []);
}
if (!parseProperty()) {
handleError(4, [], [2, 5]);
}
needsComma = true;
}
onObjectEnd();
if (_scanner.getToken() !== 2) {
handleError(7, [2], []);
} else {
scanNext();
}
return true;
}
function parseArray() {
onArrayBegin();
scanNext();
let isFirstElement = true;
let needsComma = false;
while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) {
if (_scanner.getToken() === 5) {
if (!needsComma) {
handleError(4, [], []);
}
onSeparator(",");
scanNext();
if (_scanner.getToken() === 4 && allowTrailingComma) {
break;
}
} else if (needsComma) {
handleError(6, [], []);
}
if (isFirstElement) {
_jsonPath.push(0);
isFirstElement = false;
} else {
_jsonPath[_jsonPath.length - 1]++;
}
if (!parseValue2()) {
handleError(4, [], [4, 5]);
}
needsComma = true;
}
onArrayEnd();
if (!isFirstElement) {
_jsonPath.pop();
}
if (_scanner.getToken() !== 4) {
handleError(8, [4], []);
} else {
scanNext();
}
return true;
}
function parseValue2() {
switch (_scanner.getToken()) {
case 3:
return parseArray();
case 1:
return parseObject();
case 10:
return parseString(true);
default:
return parseLiteral();
}
}
scanNext();
if (_scanner.getToken() === 17) {
if (options.allowEmptyContent) {
return true;
}
handleError(4, [], []);
return false;
}
if (!parseValue2()) {
handleError(4, [], []);
return false;
}
if (_scanner.getToken() !== 17) {
handleError(9, [], []);
}
return true;
}
function getNodeType(value) {
switch (typeof value) {
case "boolean":
return "boolean";
case "number":
return "number";
case "string":
return "string";
case "object": {
if (!value) {
return "null";
} else if (Array.isArray(value)) {
return "array";
}
return "object";
}
default:
return "null";
}
}
var ParseOptions;
var init_parser3 = __esm(() => {
init_scanner();
(function(ParseOptions2) {
ParseOptions2.DEFAULT = {
allowTrailingComma: false
};
})(ParseOptions || (ParseOptions = {}));
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/edit.js
function setProperty(text, originalPath, value, options) {
const path9 = originalPath.slice();
const errors = [];
const root2 = parseTree(text, errors);
let parent = undefined;
let lastSegment = undefined;
while (path9.length > 0) {
lastSegment = path9.pop();
parent = findNodeAtLocation(root2, path9);
if (parent === undefined && value !== undefined) {
if (typeof lastSegment === "string") {
value = { [lastSegment]: value };
} else {
value = [value];
}
} else {
break;
}
}
if (!parent) {
if (value === undefined) {
throw new Error("Can not delete in empty document");
}
return withFormatting(text, { offset: root2 ? root2.offset : 0, length: root2 ? root2.length : 0, content: JSON.stringify(value) }, options);
} else if (parent.type === "object" && typeof lastSegment === "string" && Array.isArray(parent.children)) {
const existing = findNodeAtLocation(parent, [lastSegment]);
if (existing !== undefined) {
if (value === undefined) {
if (!existing.parent) {
throw new Error("Malformed AST");
}
const propertyIndex = parent.children.indexOf(existing.parent);
let removeBegin;
let removeEnd = existing.parent.offset + existing.parent.length;
if (propertyIndex > 0) {
let previous = parent.children[propertyIndex - 1];
removeBegin = previous.offset + previous.length;
} else {
removeBegin = parent.offset + 1;
if (parent.children.length > 1) {
let next = parent.children[1];
removeEnd = next.offset;
}
}
return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: "" }, options);
} else {
return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, options);
}
} else {
if (value === undefined) {
return [];
}
const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`;
const index = options.getInsertionIndex ? options.getInsertionIndex(parent.children.map((p) => p.children[0].value)) : parent.children.length;
let edit;
if (index > 0) {
let previous = parent.children[index - 1];
edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty };
} else if (parent.children.length === 0) {
edit = { offset: parent.offset + 1, length: 0, content: newProperty };
} else {
edit = { offset: parent.offset + 1, length: 0, content: newProperty + "," };
}
return withFormatting(text, edit, options);
}
} else if (parent.type === "array" && typeof lastSegment === "number" && Array.isArray(parent.children)) {
const insertIndex = lastSegment;
if (insertIndex === -1) {
const newProperty = `${JSON.stringify(value)}`;
let edit;
if (parent.children.length === 0) {
edit = { offset: parent.offset + 1, length: 0, content: newProperty };
} else {
const previous = parent.children[parent.children.length - 1];
edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty };
}
return withFormatting(text, edit, options);
} else if (value === undefined && parent.children.length >= 0) {
const removalIndex = lastSegment;
const toRemove = parent.children[removalIndex];
let edit;
if (parent.children.length === 1) {
edit = { offset: parent.offset + 1, length: parent.length - 2, content: "" };
} else if (parent.children.length - 1 === removalIndex) {
let previous = parent.children[removalIndex - 1];
let offset = previous.offset + previous.length;
let parentEndOffset = parent.offset + parent.length;
edit = { offset, length: parentEndOffset - 2 - offset, content: "" };
} else {
edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: "" };
}
return withFormatting(text, edit, options);
} else if (value !== undefined) {
let edit;
const newProperty = `${JSON.stringify(value)}`;
if (!options.isArrayInsertion && parent.children.length > lastSegment) {
const toModify = parent.children[lastSegment];
edit = { offset: toModify.offset, length: toModify.length, content: newProperty };
} else if (parent.children.length === 0 || lastSegment === 0) {
edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + "," };
} else {
const index = lastSegment > parent.children.length ? parent.children.length : lastSegment;
const previous = parent.children[index - 1];
edit = { offset: previous.offset + previous.length, length: 0, content: "," + newProperty };
}
return withFormatting(text, edit, options);
} else {
throw new Error(`Can not ${value === undefined ? "remove" : options.isArrayInsertion ? "insert" : "modify"} Array index ${insertIndex} as length is not sufficient`);
}
} else {
throw new Error(`Can not add ${typeof lastSegment !== "number" ? "index" : "property"} to parent of type ${parent.type}`);
}
}
function withFormatting(text, edit, options) {
if (!options.formattingOptions) {
return [edit];
}
let newText = applyEdit(text, edit);
let begin = edit.offset;
let end = edit.offset + edit.content.length;
if (edit.length === 0 || edit.content.length === 0) {
while (begin > 0 && !isEOL(newText, begin - 1)) {
begin--;
}
while (end < newText.length && !isEOL(newText, end)) {
end++;
}
}
const edits = format2(newText, { offset: begin, length: end - begin }, { ...options.formattingOptions, keepLines: false });
for (let i2 = edits.length - 1;i2 >= 0; i2--) {
const edit2 = edits[i2];
newText = applyEdit(newText, edit2);
begin = Math.min(begin, edit2.offset);
end = Math.max(end, edit2.offset + edit2.length);
end += edit2.content.length - edit2.length;
}
const editLength = text.length - (newText.length - end) - begin;
return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }];
}
function applyEdit(text, edit) {
return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);
}
var init_edit = __esm(() => {
init_format2();
init_parser3();
});
// node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/main.js
function modify(text, path9, value, options) {
return setProperty(text, path9, value, options);
}
function applyEdits(text, edits) {
let sortedEdits = edits.slice(0).sort((a2, b2) => {
const diff = a2.offset - b2.offset;
if (diff === 0) {
return a2.length - b2.length;
}
return diff;
});
let lastModifiedOffset = text.length;
for (let i2 = sortedEdits.length - 1;i2 >= 0; i2--) {
let e = sortedEdits[i2];
if (e.offset + e.length <= lastModifiedOffset) {
text = applyEdit(text, e);
} else {
throw new Error("Overlapping edit");
}
lastModifiedOffset = e.offset;
}
return text;
}
var ScanError, SyntaxKind, parse2, ParseErrorCode;
var init_main2 = __esm(() => {
init_format2();
init_edit();
init_scanner();
init_parser3();
(function(ScanError2) {
ScanError2[ScanError2["None"] = 0] = "None";
ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode";
ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter";
})(ScanError || (ScanError = {}));
(function(SyntaxKind2) {
SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken";
SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken";
SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken";
SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken";
SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken";
SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken";
SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword";
SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword";
SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword";
SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral";
SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral";
SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia";
SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia";
SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia";
SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown";
SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF";
})(SyntaxKind || (SyntaxKind = {}));
parse2 = parse;
(function(ParseErrorCode2) {
ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol";
ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected";
ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected";
ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected";
ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected";
ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected";
ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected";
ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected";
ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode";
ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter";
})(ParseErrorCode || (ParseErrorCode = {}));
});
// src/utils/jsonRead.ts
function stripBOM2(content) {
return content.startsWith(UTF8_BOM) ? content.slice(1) : content;
}
var UTF8_BOM = "\uFEFF";
// src/utils/json.ts
import { open as open3, readFile as readFile5, stat as stat5 } from "fs/promises";
function parseJSONUncached(json, shouldLogError) {
try {
return { ok: true, value: JSON.parse(stripBOM2(json)) };
} catch (e) {
if (shouldLogError) {
logError2(e);
}
return { ok: false };
}
}
function safeParseJSONC(json) {
if (!json) {
return null;
}
try {
return parse2(stripBOM2(json));
} catch (e) {
logError2(e);
return null;
}
}
function parseJSONLBun(data) {
const parse3 = bunJSONLParse;
const len = data.length;
const result = parse3(data);
if (!result.error || result.done || result.read >= len) {
return result.values;
}
let values = result.values;
let offset = result.read;
while (offset < len) {
const newlineIndex = typeof data === "string" ? data.indexOf(`
`, offset) : data.indexOf(10, offset);
if (newlineIndex === -1)
break;
offset = newlineIndex + 1;
const next = parse3(data, offset);
if (next.values.length > 0) {
values = values.concat(next.values);
}
if (!next.error || next.done || next.read >= len)
break;
offset = next.read;
}
return values;
}
function parseJSONLBuffer(buf) {
const bufLen = buf.length;
let start = 0;
if (buf[0] === 239 && buf[1] === 187 && buf[2] === 191) {
start = 3;
}
const results = [];
while (start < bufLen) {
let end = buf.indexOf(10, start);
if (end === -1)
end = bufLen;
const line = buf.toString("utf8", start, end).trim();
start = end + 1;
if (!line)
continue;
try {
results.push(JSON.parse(line));
} catch {}
}
return results;
}
function parseJSONLString(data) {
const stripped = stripBOM2(data);
const len = stripped.length;
let start = 0;
const results = [];
while (start < len) {
let end = stripped.indexOf(`
`, start);
if (end === -1)
end = len;
const line = stripped.substring(start, end).trim();
start = end + 1;
if (!line)
continue;
try {
results.push(JSON.parse(line));
} catch {}
}
return results;
}
function parseJSONL(data) {
if (bunJSONLParse) {
return parseJSONLBun(data);
}
if (typeof data === "string") {
return parseJSONLString(data);
}
return parseJSONLBuffer(data);
}
async function readJSONLFile(filePath) {
let __stack = [];
try {
const { size } = await stat5(filePath);
if (size <= MAX_JSONL_READ_BYTES) {
return parseJSONL(await readFile5(filePath));
}
const fd = __using(__stack, await open3(filePath, "r"), 1);
const buf = Buffer.allocUnsafe(MAX_JSONL_READ_BYTES);
let totalRead = 0;
const fileOffset = size - MAX_JSONL_READ_BYTES;
while (totalRead < MAX_JSONL_READ_BYTES) {
const { bytesRead } = await fd.read(buf, totalRead, MAX_JSONL_READ_BYTES - totalRead, fileOffset + totalRead);
if (bytesRead === 0)
break;
totalRead += bytesRead;
}
const newlineIndex = buf.indexOf(10);
if (newlineIndex !== -1 && newlineIndex < totalRead - 1) {
return parseJSONL(buf.subarray(newlineIndex + 1, totalRead));
}
return parseJSONL(buf.subarray(0, totalRead));
} catch (_catch) {
var _err = _catch, _hasErr = 1;
} finally {
var _promise = __callDispose(__stack, _err, _hasErr);
_promise && await _promise;
}
}
function addItemToJSONCArray(content, newItem) {
try {
if (!content || content.trim() === "") {
return jsonStringify([newItem], null, 4);
}
const cleanContent = stripBOM2(content);
const parsedContent = parse2(cleanContent);
if (Array.isArray(parsedContent)) {
const arrayLength = parsedContent.length;
const isEmpty = arrayLength === 0;
const insertPath = isEmpty ? [0] : [arrayLength];
const edits = modify(cleanContent, insertPath, newItem, {
formattingOptions: { insertSpaces: true, tabSize: 4 },
isArrayInsertion: true
});
if (!edits || edits.length === 0) {
const copy = [...parsedContent, newItem];
return jsonStringify(copy, null, 4);
}
return applyEdits(cleanContent, edits);
} else {
return jsonStringify([newItem], null, 4);
}
} catch (e) {
logError2(e);
return jsonStringify([newItem], null, 4);
}
}
var PARSE_CACHE_MAX_KEY_BYTES, parseJSONCached, safeParseJSON, bunJSONLParse, MAX_JSONL_READ_BYTES;
var init_json = __esm(() => {
init_main2();
init_log3();
init_memoize2();
init_slowOperations();
PARSE_CACHE_MAX_KEY_BYTES = 8 * 1024;
parseJSONCached = memoizeWithLRU(parseJSONUncached, (json) => json, 50);
safeParseJSON = Object.assign(function safeParseJSON2(json, shouldLogError = true) {
if (!json)
return null;
const result = json.length > PARSE_CACHE_MAX_KEY_BYTES ? parseJSONUncached(json, shouldLogError) : parseJSONCached(json, shouldLogError);
return result.ok ? result.value : null;
}, { cache: parseJSONCached.cache });
bunJSONLParse = (() => {
if (typeof Bun === "undefined")
return false;
const b2 = Bun;
const jsonl = b2.JSONL;
if (!jsonl?.parseChunk)
return false;
return jsonl.parseChunk;
})();
MAX_JSONL_READ_BYTES = 100 * 1024 * 1024;
});
// node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/polyfills.js
var require_polyfills = __commonJS((exports, module) => {
var constants4 = __require("constants");
var origCwd = process.cwd;
var cwd2 = null;
var platform2 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
process.cwd = function() {
if (!cwd2)
cwd2 = origCwd.call(process);
return cwd2;
};
try {
process.cwd();
} catch (er) {}
if (typeof process.chdir === "function") {
chdir = process.chdir;
process.chdir = function(d) {
cwd2 = null;
chdir.call(process, d);
};
if (Object.setPrototypeOf)
Object.setPrototypeOf(process.chdir, chdir);
}
var chdir;
module.exports = patch;
function patch(fs2) {
if (constants4.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
patchLchmod(fs2);
}
if (!fs2.lutimes) {
patchLutimes(fs2);
}
fs2.chown = chownFix(fs2.chown);
fs2.fchown = chownFix(fs2.fchown);
fs2.lchown = chownFix(fs2.lchown);
fs2.chmod = chmodFix(fs2.chmod);
fs2.fchmod = chmodFix(fs2.fchmod);
fs2.lchmod = chmodFix(fs2.lchmod);
fs2.chownSync = chownFixSync(fs2.chownSync);
fs2.fchownSync = chownFixSync(fs2.fchownSync);
fs2.lchownSync = chownFixSync(fs2.lchownSync);
fs2.chmodSync = chmodFixSync(fs2.chmodSync);
fs2.fchmodSync = chmodFixSync(fs2.fchmodSync);
fs2.lchmodSync = chmodFixSync(fs2.lchmodSync);
fs2.stat = statFix(fs2.stat);
fs2.fstat = statFix(fs2.fstat);
fs2.lstat = statFix(fs2.lstat);
fs2.statSync = statFixSync(fs2.statSync);
fs2.fstatSync = statFixSync(fs2.fstatSync);
fs2.lstatSync = statFixSync(fs2.lstatSync);
if (fs2.chmod && !fs2.lchmod) {
fs2.lchmod = function(path9, mode, cb) {
if (cb)
process.nextTick(cb);
};
fs2.lchmodSync = function() {};
}
if (fs2.chown && !fs2.lchown) {
fs2.lchown = function(path9, uid, gid, cb) {
if (cb)
process.nextTick(cb);
};
fs2.lchownSync = function() {};
}
if (platform2 === "win32") {
fs2.rename = typeof fs2.rename !== "function" ? fs2.rename : function(fs$rename) {
function rename(from, to, cb) {
var start = Date.now();
var backoff = 0;
fs$rename(from, to, function CB(er) {
if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 60000) {
setTimeout(function() {
fs2.stat(to, function(stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from, to, CB);
else
cb(er);
});
}, backoff);
if (backoff < 100)
backoff += 10;
return;
}
if (cb)
cb(er);
});
}
if (Object.setPrototypeOf)
Object.setPrototypeOf(rename, fs$rename);
return rename;
}(fs2.rename);
}
fs2.read = typeof fs2.read !== "function" ? fs2.read : function(fs$read) {
function read(fd, buffer, offset, length, position, callback_) {
var callback;
if (callback_ && typeof callback_ === "function") {
var eagCounter = 0;
callback = function(er, _2, __) {
if (er && er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
return fs$read.call(fs2, fd, buffer, offset, length, position, callback);
}
callback_.apply(this, arguments);
};
}
return fs$read.call(fs2, fd, buffer, offset, length, position, callback);
}
if (Object.setPrototypeOf)
Object.setPrototypeOf(read, fs$read);
return read;
}(fs2.read);
fs2.readSync = typeof fs2.readSync !== "function" ? fs2.readSync : function(fs$readSync) {
return function(fd, buffer, offset, length, position) {
var eagCounter = 0;
while (true) {
try {
return fs$readSync.call(fs2, fd, buffer, offset, length, position);
} catch (er) {
if (er.code === "EAGAIN" && eagCounter < 10) {
eagCounter++;
continue;
}
throw er;
}
}
};
}(fs2.readSync);
function patchLchmod(fs3) {
fs3.lchmod = function(path9, mode, callback) {
fs3.open(path9, constants4.O_WRONLY | constants4.O_SYMLINK, mode, function(err, fd) {
if (err) {
if (callback)
callback(err);
return;
}
fs3.fchmod(fd, mode, function(err2) {
fs3.close(fd, function(err22) {
if (callback)
callback(err2 || err22);
});
});
});
};
fs3.lchmodSync = function(path9, mode) {
var fd = fs3.openSync(path9, constants4.O_WRONLY | constants4.O_SYMLINK, mode);
var threw = true;
var ret;
try {
ret = fs3.fchmodSync(fd, mode);
threw = false;
} finally {
if (threw) {
try {
fs3.closeSync(fd);
} catch (er) {}
} else {
fs3.closeSync(fd);
}
}
return ret;
};
}
function patchLutimes(fs3) {
if (constants4.hasOwnProperty("O_SYMLINK") && fs3.futimes) {
fs3.lutimes = function(path9, at, mt, cb) {
fs3.open(path9, constants4.O_SYMLINK, function(er, fd) {
if (er) {
if (cb)
cb(er);
return;
}
fs3.futimes(fd, at, mt, function(er2) {
fs3.close(fd, function(er22) {
if (cb)
cb(er2 || er22);
});
});
});
};
fs3.lutimesSync = function(path9, at, mt) {
var fd = fs3.openSync(path9, constants4.O_SYMLINK);
var ret;
var threw = true;
try {
ret = fs3.futimesSync(fd, at, mt);
threw = false;
} finally {
if (threw) {
try {
fs3.closeSync(fd);
} catch (er) {}
} else {
fs3.closeSync(fd);
}
}
return ret;
};
} else if (fs3.futimes) {
fs3.lutimes = function(_a2, _b, _c, cb) {
if (cb)
process.nextTick(cb);
};
fs3.lutimesSync = function() {};
}
}
function chmodFix(orig) {
if (!orig)
return orig;
return function(target, mode, cb) {
return orig.call(fs2, target, mode, function(er) {
if (chownErOk(er))
er = null;
if (cb)
cb.apply(this, arguments);
});
};
}
function chmodFixSync(orig) {
if (!orig)
return orig;
return function(target, mode) {
try {
return orig.call(fs2, target, mode);
} catch (er) {
if (!chownErOk(er))
throw er;
}
};
}
function chownFix(orig) {
if (!orig)
return orig;
return function(target, uid, gid, cb) {
return orig.call(fs2, target, uid, gid, function(er) {
if (chownErOk(er))
er = null;
if (cb)
cb.apply(this, arguments);
});
};
}
function chownFixSync(orig) {
if (!orig)
return orig;
return function(target, uid, gid) {
try {
return orig.call(fs2, target, uid, gid);
} catch (er) {
if (!chownErOk(er))
throw er;
}
};
}
function statFix(orig) {
if (!orig)
return orig;
return function(target, options, cb) {
if (typeof options === "function") {
cb = options;
options = null;
}
function callback(er, stats) {
if (stats) {
if (stats.uid < 0)
stats.uid += 4294967296;
if (stats.gid < 0)
stats.gid += 4294967296;
}
if (cb)
cb.apply(this, arguments);
}
return options ? orig.call(fs2, target, options, callback) : orig.call(fs2, target, callback);
};
}
function statFixSync(orig) {
if (!orig)
return orig;
return function(target, options) {
var stats = options ? orig.call(fs2, target, options) : orig.call(fs2, target);
if (stats) {
if (stats.uid < 0)
stats.uid += 4294967296;
if (stats.gid < 0)
stats.gid += 4294967296;
}
return stats;
};
}
function chownErOk(er) {
if (!er)
return true;
if (er.code === "ENOSYS")
return true;
var nonroot = !process.getuid || process.getuid() !== 0;
if (nonroot) {
if (er.code === "EINVAL" || er.code === "EPERM")
return true;
}
return false;
}
}
});
// node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/legacy-streams.js
var require_legacy_streams = __commonJS((exports, module) => {
var Stream2 = __require("stream").Stream;
module.exports = legacy;
function legacy(fs2) {
return {
ReadStream,
WriteStream
};
function ReadStream(path9, options) {
if (!(this instanceof ReadStream))
return new ReadStream(path9, options);
Stream2.call(this);
var self2 = this;
this.path = path9;
this.fd = null;
this.readable = true;
this.paused = false;
this.flags = "r";
this.mode = 438;
this.bufferSize = 64 * 1024;
options = options || {};
var keys2 = Object.keys(options);
for (var index = 0, length = keys2.length;index < length; index++) {
var key = keys2[index];
this[key] = options[key];
}
if (this.encoding)
this.setEncoding(this.encoding);
if (this.start !== undefined) {
if (typeof this.start !== "number") {
throw TypeError("start must be a Number");
}
if (this.end === undefined) {
this.end = Infinity;
} else if (typeof this.end !== "number") {
throw TypeError("end must be a Number");
}
if (this.start > this.end) {
throw new Error("start must be <= end");
}
this.pos = this.start;
}
if (this.fd !== null) {
process.nextTick(function() {
self2._read();
});
return;
}
fs2.open(this.path, this.flags, this.mode, function(err, fd) {
if (err) {
self2.emit("error", err);
self2.readable = false;
return;
}
self2.fd = fd;
self2.emit("open", fd);
self2._read();
});
}
function WriteStream(path9, options) {
if (!(this instanceof WriteStream))
return new WriteStream(path9, options);
Stream2.call(this);
this.path = path9;
this.fd = null;
this.writable = true;
this.flags = "w";
this.encoding = "binary";
this.mode = 438;
this.bytesWritten = 0;
options = options || {};
var keys2 = Object.keys(options);
for (var index = 0, length = keys2.length;index < length; index++) {
var key = keys2[index];
this[key] = options[key];
}
if (this.start !== undefined) {
if (typeof this.start !== "number") {
throw TypeError("start must be a Number");
}
if (this.start < 0) {
throw new Error("start must be >= zero");
}
this.pos = this.start;
}
this.busy = false;
this._queue = [];
if (this.fd === null) {
this._open = fs2.open;
this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);
this.flush();
}
}
}
});
// node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/clone.js
var require_clone = __commonJS((exports, module) => {
module.exports = clone2;
var getPrototypeOf2 = Object.getPrototypeOf || function(obj) {
return obj.__proto__;
};
function clone2(obj) {
if (obj === null || typeof obj !== "object")
return obj;
if (obj instanceof Object)
var copy = { __proto__: getPrototypeOf2(obj) };
else
var copy = Object.create(null);
Object.getOwnPropertyNames(obj).forEach(function(key) {
Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
});
return copy;
}
});
// node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/graceful-fs.js
var require_graceful_fs = __commonJS((exports, module) => {
var fs2 = __require("fs");
var polyfills3 = require_polyfills();
var legacy = require_legacy_streams();
var clone2 = require_clone();
var util3 = __require("util");
var gracefulQueue;
var previousSymbol;
if (typeof Symbol === "function" && typeof Symbol.for === "function") {
gracefulQueue = Symbol.for("graceful-fs.queue");
previousSymbol = Symbol.for("graceful-fs.previous");
} else {
gracefulQueue = "___graceful-fs.queue";
previousSymbol = "___graceful-fs.previous";
}
function noop7() {}
function publishQueue(context, queue2) {
Object.defineProperty(context, gracefulQueue, {
get: function() {
return queue2;
}
});
}
var debug = noop7;
if (util3.debuglog)
debug = util3.debuglog("gfs4");
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
debug = function() {
var m2 = util3.format.apply(util3, arguments);
m2 = "GFS4: " + m2.split(/\n/).join(`
GFS4: `);
console.error(m2);
};
if (!fs2[gracefulQueue]) {
queue = global[gracefulQueue] || [];
publishQueue(fs2, queue);
fs2.close = function(fs$close) {
function close(fd, cb) {
return fs$close.call(fs2, fd, function(err) {
if (!err) {
resetQueue();
}
if (typeof cb === "function")
cb.apply(this, arguments);
});
}
Object.defineProperty(close, previousSymbol, {
value: fs$close
});
return close;
}(fs2.close);
fs2.closeSync = function(fs$closeSync) {
function closeSync3(fd) {
fs$closeSync.apply(fs2, arguments);
resetQueue();
}
Object.defineProperty(closeSync3, previousSymbol, {
value: fs$closeSync
});
return closeSync3;
}(fs2.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug(fs2[gracefulQueue]);
__require("assert").equal(fs2[gracefulQueue].length, 0);
});
}
}
var queue;
if (!global[gracefulQueue]) {
publishQueue(global, fs2[gracefulQueue]);
}
module.exports = patch(clone2(fs2));
if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs2.__patched) {
module.exports = patch(fs2);
fs2.__patched = true;
}
function patch(fs3) {
polyfills3(fs3);
fs3.gracefulify = patch;
fs3.createReadStream = createReadStream2;
fs3.createWriteStream = createWriteStream3;
var fs$readFile = fs3.readFile;
fs3.readFile = readFile6;
function readFile6(path9, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$readFile(path9, options, cb);
function go$readFile(path10, options2, cb2, startTime) {
return fs$readFile(path10, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$readFile, [path10, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$writeFile = fs3.writeFile;
fs3.writeFile = writeFile;
function writeFile(path9, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$writeFile(path9, data, options, cb);
function go$writeFile(path10, data2, options2, cb2, startTime) {
return fs$writeFile(path10, data2, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$writeFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$appendFile = fs3.appendFile;
if (fs$appendFile)
fs3.appendFile = appendFile2;
function appendFile2(path9, data, options, cb) {
if (typeof options === "function")
cb = options, options = null;
return go$appendFile(path9, data, options, cb);
function go$appendFile(path10, data2, options2, cb2, startTime) {
return fs$appendFile(path10, data2, options2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$appendFile, [path10, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$copyFile = fs3.copyFile;
if (fs$copyFile)
fs3.copyFile = copyFile;
function copyFile(src, dest, flags, cb) {
if (typeof flags === "function") {
cb = flags;
flags = 0;
}
return go$copyFile(src, dest, flags, cb);
function go$copyFile(src2, dest2, flags2, cb2, startTime) {
return fs$copyFile(src2, dest2, flags2, function(err) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
var fs$readdir = fs3.readdir;
fs3.readdir = readdir4;
var noReaddirOptionVersions = /^v[0-5]\./;
function readdir4(path9, options, cb) {
if (typeof options === "function")
cb = options, options = null;
var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path10, options2, cb2, startTime) {
return fs$readdir(path10, fs$readdirCallback(path10, options2, cb2, startTime));
} : function go$readdir2(path10, options2, cb2, startTime) {
return fs$readdir(path10, options2, fs$readdirCallback(path10, options2, cb2, startTime));
};
return go$readdir(path9, options, cb);
function fs$readdirCallback(path10, options2, cb2, startTime) {
return function(err, files) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([
go$readdir,
[path10, options2, cb2],
err,
startTime || Date.now(),
Date.now()
]);
else {
if (files && files.sort)
files.sort();
if (typeof cb2 === "function")
cb2.call(this, err, files);
}
};
}
}
if (process.version.substr(0, 4) === "v0.8") {
var legStreams = legacy(fs3);
ReadStream = legStreams.ReadStream;
WriteStream = legStreams.WriteStream;
}
var fs$ReadStream = fs3.ReadStream;
if (fs$ReadStream) {
ReadStream.prototype = Object.create(fs$ReadStream.prototype);
ReadStream.prototype.open = ReadStream$open;
}
var fs$WriteStream = fs3.WriteStream;
if (fs$WriteStream) {
WriteStream.prototype = Object.create(fs$WriteStream.prototype);
WriteStream.prototype.open = WriteStream$open;
}
Object.defineProperty(fs3, "ReadStream", {
get: function() {
return ReadStream;
},
set: function(val) {
ReadStream = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(fs3, "WriteStream", {
get: function() {
return WriteStream;
},
set: function(val) {
WriteStream = val;
},
enumerable: true,
configurable: true
});
var FileReadStream = ReadStream;
Object.defineProperty(fs3, "FileReadStream", {
get: function() {
return FileReadStream;
},
set: function(val) {
FileReadStream = val;
},
enumerable: true,
configurable: true
});
var FileWriteStream = WriteStream;
Object.defineProperty(fs3, "FileWriteStream", {
get: function() {
return FileWriteStream;
},
set: function(val) {
FileWriteStream = val;
},
enumerable: true,
configurable: true
});
function ReadStream(path9, options) {
if (this instanceof ReadStream)
return fs$ReadStream.apply(this, arguments), this;
else
return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
}
function ReadStream$open() {
var that = this;
open4(that.path, that.flags, that.mode, function(err, fd) {
if (err) {
if (that.autoClose)
that.destroy();
that.emit("error", err);
} else {
that.fd = fd;
that.emit("open", fd);
that.read();
}
});
}
function WriteStream(path9, options) {
if (this instanceof WriteStream)
return fs$WriteStream.apply(this, arguments), this;
else
return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
}
function WriteStream$open() {
var that = this;
open4(that.path, that.flags, that.mode, function(err, fd) {
if (err) {
that.destroy();
that.emit("error", err);
} else {
that.fd = fd;
that.emit("open", fd);
}
});
}
function createReadStream2(path9, options) {
return new fs3.ReadStream(path9, options);
}
function createWriteStream3(path9, options) {
return new fs3.WriteStream(path9, options);
}
var fs$open = fs3.open;
fs3.open = open4;
function open4(path9, flags, mode, cb) {
if (typeof mode === "function")
cb = mode, mode = null;
return go$open(path9, flags, mode, cb);
function go$open(path10, flags2, mode2, cb2, startTime) {
return fs$open(path10, flags2, mode2, function(err, fd) {
if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
enqueue([go$open, [path10, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
else {
if (typeof cb2 === "function")
cb2.apply(this, arguments);
}
});
}
}
return fs3;
}
function enqueue(elem) {
debug("ENQUEUE", elem[0].name, elem[1]);
fs2[gracefulQueue].push(elem);
retry();
}
var retryTimer;
function resetQueue() {
var now = Date.now();
for (var i2 = 0;i2 < fs2[gracefulQueue].length; ++i2) {
if (fs2[gracefulQueue][i2].length > 2) {
fs2[gracefulQueue][i2][3] = now;
fs2[gracefulQueue][i2][4] = now;
}
}
retry();
}
function retry() {
clearTimeout(retryTimer);
retryTimer = undefined;
if (fs2[gracefulQueue].length === 0)
return;
var elem = fs2[gracefulQueue].shift();
var fn = elem[0];
var args = elem[1];
var err = elem[2];
var startTime = elem[3];
var lastTime = elem[4];
if (startTime === undefined) {
debug("RETRY", fn.name, args);
fn.apply(null, args);
} else if (Date.now() - startTime >= 60000) {
debug("TIMEOUT", fn.name, args);
var cb = args.pop();
if (typeof cb === "function")
cb.call(null, err);
} else {
var sinceAttempt = Date.now() - lastTime;
var sinceStart = Math.max(lastTime - startTime, 1);
var desiredDelay = Math.min(sinceStart * 1.2, 100);
if (sinceAttempt >= desiredDelay) {
debug("RETRY", fn.name, args);
fn.apply(null, args.concat([startTime]));
} else {
fs2[gracefulQueue].push(elem);
}
}
if (retryTimer === undefined) {
retryTimer = setTimeout(retry, 0);
}
}
});
// node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry_operation.js
var require_retry_operation = __commonJS((exports, module) => {
function RetryOperation(timeouts, options) {
if (typeof options === "boolean") {
options = { forever: options };
}
this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
this._timeouts = timeouts;
this._options = options || {};
this._maxRetryTime = options && options.maxRetryTime || Infinity;
this._fn = null;
this._errors = [];
this._attempts = 1;
this._operationTimeout = null;
this._operationTimeoutCb = null;
this._timeout = null;
this._operationStart = null;
if (this._options.forever) {
this._cachedTimeouts = this._timeouts.slice(0);
}
}
module.exports = RetryOperation;
RetryOperation.prototype.reset = function() {
this._attempts = 1;
this._timeouts = this._originalTimeouts;
};
RetryOperation.prototype.stop = function() {
if (this._timeout) {
clearTimeout(this._timeout);
}
this._timeouts = [];
this._cachedTimeouts = null;
};
RetryOperation.prototype.retry = function(err) {
if (this._timeout) {
clearTimeout(this._timeout);
}
if (!err) {
return false;
}
var currentTime = new Date().getTime();
if (err && currentTime - this._operationStart >= this._maxRetryTime) {
this._errors.unshift(new Error("RetryOperation timeout occurred"));
return false;
}
this._errors.push(err);
var timeout = this._timeouts.shift();
if (timeout === undefined) {
if (this._cachedTimeouts) {
this._errors.splice(this._errors.length - 1, this._errors.length);
this._timeouts = this._cachedTimeouts.slice(0);
timeout = this._timeouts.shift();
} else {
return false;
}
}
var self2 = this;
var timer = setTimeout(function() {
self2._attempts++;
if (self2._operationTimeoutCb) {
self2._timeout = setTimeout(function() {
self2._operationTimeoutCb(self2._attempts);
}, self2._operationTimeout);
if (self2._options.unref) {
self2._timeout.unref();
}
}
self2._fn(self2._attempts);
}, timeout);
if (this._options.unref) {
timer.unref();
}
return true;
};
RetryOperation.prototype.attempt = function(fn, timeoutOps) {
this._fn = fn;
if (timeoutOps) {
if (timeoutOps.timeout) {
this._operationTimeout = timeoutOps.timeout;
}
if (timeoutOps.cb) {
this._operationTimeoutCb = timeoutOps.cb;
}
}
var self2 = this;
if (this._operationTimeoutCb) {
this._timeout = setTimeout(function() {
self2._operationTimeoutCb();
}, self2._operationTimeout);
}
this._operationStart = new Date().getTime();
this._fn(this._attempts);
};
RetryOperation.prototype.try = function(fn) {
console.log("Using RetryOperation.try() is deprecated");
this.attempt(fn);
};
RetryOperation.prototype.start = function(fn) {
console.log("Using RetryOperation.start() is deprecated");
this.attempt(fn);
};
RetryOperation.prototype.start = RetryOperation.prototype.try;
RetryOperation.prototype.errors = function() {
return this._errors;
};
RetryOperation.prototype.attempts = function() {
return this._attempts;
};
RetryOperation.prototype.mainError = function() {
if (this._errors.length === 0) {
return null;
}
var counts = {};
var mainError = null;
var mainErrorCount = 0;
for (var i2 = 0;i2 < this._errors.length; i2++) {
var error2 = this._errors[i2];
var message = error2.message;
var count2 = (counts[message] || 0) + 1;
counts[message] = count2;
if (count2 >= mainErrorCount) {
mainError = error2;
mainErrorCount = count2;
}
}
return mainError;
};
});
// node_modules/.pnpm/retry@0.12.0/node_modules/retry/lib/retry.js
var require_retry = __commonJS((exports) => {
var RetryOperation = require_retry_operation();
exports.operation = function(options) {
var timeouts = exports.timeouts(options);
return new RetryOperation(timeouts, {
forever: options && options.forever,
unref: options && options.unref,
maxRetryTime: options && options.maxRetryTime
});
};
exports.timeouts = function(options) {
if (options instanceof Array) {
return [].concat(options);
}
var opts = {
retries: 10,
factor: 2,
minTimeout: 1 * 1000,
maxTimeout: Infinity,
randomize: false
};
for (var key in options) {
opts[key] = options[key];
}
if (opts.minTimeout > opts.maxTimeout) {
throw new Error("minTimeout is greater than maxTimeout");
}
var timeouts = [];
for (var i2 = 0;i2 < opts.retries; i2++) {
timeouts.push(this.createTimeout(i2, opts));
}
if (options && options.forever && !timeouts.length) {
timeouts.push(this.createTimeout(i2, opts));
}
timeouts.sort(function(a2, b2) {
return a2 - b2;
});
return timeouts;
};
exports.createTimeout = function(attempt, opts) {
var random = opts.randomize ? Math.random() + 1 : 1;
var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));
timeout = Math.min(timeout, opts.maxTimeout);
return timeout;
};
exports.wrap = function(obj, options, methods) {
if (options instanceof Array) {
methods = options;
options = null;
}
if (!methods) {
methods = [];
for (var key in obj) {
if (typeof obj[key] === "function") {
methods.push(key);
}
}
}
for (var i2 = 0;i2 < methods.length; i2++) {
var method = methods[i2];
var original = obj[method];
obj[method] = function retryWrapper(original2) {
var op = exports.operation(options);
var args = Array.prototype.slice.call(arguments, 1);
var callback = args.pop();
args.push(function(err) {
if (op.retry(err)) {
return;
}
if (err) {
arguments[0] = op.mainError();
}
callback.apply(this, arguments);
});
op.attempt(function() {
original2.apply(obj, args);
});
}.bind(obj, original);
obj[method].options = options;
}
};
});
// node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js
var require_signals = __commonJS((exports, module) => {
module.exports = [
"SIGABRT",
"SIGALRM",
"SIGHUP",
"SIGINT",
"SIGTERM"
];
if (process.platform !== "win32") {
module.exports.push("SIGVTALRM", "SIGXCPU", "SIGXFSZ", "SIGUSR2", "SIGTRAP", "SIGSYS", "SIGQUIT", "SIGIOT");
}
if (process.platform === "linux") {
module.exports.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT", "SIGUNUSED");
}
});
// node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js
var require_signal_exit = __commonJS((exports, module) => {
var process13 = global.process;
var processOk2 = function(process14) {
return process14 && typeof process14 === "object" && typeof process14.removeListener === "function" && typeof process14.emit === "function" && typeof process14.reallyExit === "function" && typeof process14.listeners === "function" && typeof process14.kill === "function" && typeof process14.pid === "number" && typeof process14.on === "function";
};
if (!processOk2(process13)) {
module.exports = function() {
return function() {};
};
} else {
assert = __require("assert");
signals2 = require_signals();
isWin = /^win/i.test(process13.platform);
EE = __require("events");
if (typeof EE !== "function") {
EE = EE.EventEmitter;
}
if (process13.__signal_exit_emitter__) {
emitter = process13.__signal_exit_emitter__;
} else {
emitter = process13.__signal_exit_emitter__ = new EE;
emitter.count = 0;
emitter.emitted = {};
}
if (!emitter.infinite) {
emitter.setMaxListeners(Infinity);
emitter.infinite = true;
}
module.exports = function(cb, opts) {
if (!processOk2(global.process)) {
return function() {};
}
assert.equal(typeof cb, "function", "a callback must be provided for exit handler");
if (loaded === false) {
load2();
}
var ev = "exit";
if (opts && opts.alwaysLast) {
ev = "afterexit";
}
var remove = function() {
emitter.removeListener(ev, cb);
if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) {
unload2();
}
};
emitter.on(ev, cb);
return remove;
};
unload2 = function unload3() {
if (!loaded || !processOk2(global.process)) {
return;
}
loaded = false;
signals2.forEach(function(sig) {
try {
process13.removeListener(sig, sigListeners[sig]);
} catch (er) {}
});
process13.emit = originalProcessEmit;
process13.reallyExit = originalProcessReallyExit;
emitter.count -= 1;
};
module.exports.unload = unload2;
emit = function emit2(event, code, signal) {
if (emitter.emitted[event]) {
return;
}
emitter.emitted[event] = true;
emitter.emit(event, code, signal);
};
sigListeners = {};
signals2.forEach(function(sig) {
sigListeners[sig] = function listener() {
if (!processOk2(global.process)) {
return;
}
var listeners = process13.listeners(sig);
if (listeners.length === emitter.count) {
unload2();
emit("exit", null, sig);
emit("afterexit", null, sig);
if (isWin && sig === "SIGHUP") {
sig = "SIGINT";
}
process13.kill(process13.pid, sig);
}
};
});
module.exports.signals = function() {
return signals2;
};
loaded = false;
load2 = function load3() {
if (loaded || !processOk2(global.process)) {
return;
}
loaded = true;
emitter.count += 1;
signals2 = signals2.filter(function(sig) {
try {
process13.on(sig, sigListeners[sig]);
return true;
} catch (er) {
return false;
}
});
process13.emit = processEmit;
process13.reallyExit = processReallyExit;
};
module.exports.load = load2;
originalProcessReallyExit = process13.reallyExit;
processReallyExit = function processReallyExit2(code) {
if (!processOk2(global.process)) {
return;
}
process13.exitCode = code || 0;
emit("exit", process13.exitCode, null);
emit("afterexit", process13.exitCode, null);
originalProcessReallyExit.call(process13, process13.exitCode);
};
originalProcessEmit = process13.emit;
processEmit = function processEmit2(ev, arg) {
if (ev === "exit" && processOk2(global.process)) {
if (arg !== undefined) {
process13.exitCode = arg;
}
var ret = originalProcessEmit.apply(this, arguments);
emit("exit", process13.exitCode, null);
emit("afterexit", process13.exitCode, null);
return ret;
} else {
return originalProcessEmit.apply(this, arguments);
}
};
}
var assert;
var signals2;
var isWin;
var EE;
var emitter;
var unload2;
var emit;
var sigListeners;
var loaded;
var load2;
var originalProcessReallyExit;
var processReallyExit;
var originalProcessEmit;
var processEmit;
});
// node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/mtime-precision.js
var require_mtime_precision = __commonJS((exports, module) => {
var cacheSymbol = Symbol();
function probe(file, fs2, callback) {
const cachedPrecision = fs2[cacheSymbol];
if (cachedPrecision) {
return fs2.stat(file, (err, stat6) => {
if (err) {
return callback(err);
}
callback(null, stat6.mtime, cachedPrecision);
});
}
const mtime = new Date(Math.ceil(Date.now() / 1000) * 1000 + 5);
fs2.utimes(file, mtime, mtime, (err) => {
if (err) {
return callback(err);
}
fs2.stat(file, (err2, stat6) => {
if (err2) {
return callback(err2);
}
const precision = stat6.mtime.getTime() % 1000 === 0 ? "s" : "ms";
Object.defineProperty(fs2, cacheSymbol, { value: precision });
callback(null, stat6.mtime, precision);
});
});
}
function getMtime(precision) {
let now = Date.now();
if (precision === "s") {
now = Math.ceil(now / 1000) * 1000;
}
return new Date(now);
}
exports.probe = probe;
exports.getMtime = getMtime;
});
// node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/lockfile.js
var require_lockfile = __commonJS((exports, module) => {
var path9 = __require("path");
var fs2 = require_graceful_fs();
var retry = require_retry();
var onExit2 = require_signal_exit();
var mtimePrecision = require_mtime_precision();
var locks = {};
function getLockFile(file, options) {
return options.lockfilePath || `${file}.lock`;
}
function resolveCanonicalPath(file, options, callback) {
if (!options.realpath) {
return callback(null, path9.resolve(file));
}
options.fs.realpath(file, callback);
}
function acquireLock(file, options, callback) {
const lockfilePath = getLockFile(file, options);
options.fs.mkdir(lockfilePath, (err) => {
if (!err) {
return mtimePrecision.probe(lockfilePath, options.fs, (err2, mtime, mtimePrecision2) => {
if (err2) {
options.fs.rmdir(lockfilePath, () => {});
return callback(err2);
}
callback(null, mtime, mtimePrecision2);
});
}
if (err.code !== "EEXIST") {
return callback(err);
}
if (options.stale <= 0) {
return callback(Object.assign(new Error("Lock file is already being held"), { code: "ELOCKED", file }));
}
options.fs.stat(lockfilePath, (err2, stat6) => {
if (err2) {
if (err2.code === "ENOENT") {
return acquireLock(file, { ...options, stale: 0 }, callback);
}
return callback(err2);
}
if (!isLockStale(stat6, options)) {
return callback(Object.assign(new Error("Lock file is already being held"), { code: "ELOCKED", file }));
}
removeLock(file, options, (err3) => {
if (err3) {
return callback(err3);
}
acquireLock(file, { ...options, stale: 0 }, callback);
});
});
});
}
function isLockStale(stat6, options) {
return stat6.mtime.getTime() < Date.now() - options.stale;
}
function removeLock(file, options, callback) {
options.fs.rmdir(getLockFile(file, options), (err) => {
if (err && err.code !== "ENOENT") {
return callback(err);
}
callback();
});
}
function updateLock(file, options) {
const lock2 = locks[file];
if (lock2.updateTimeout) {
return;
}
lock2.updateDelay = lock2.updateDelay || options.update;
lock2.updateTimeout = setTimeout(() => {
lock2.updateTimeout = null;
options.fs.stat(lock2.lockfilePath, (err, stat6) => {
const isOverThreshold = lock2.lastUpdate + options.stale < Date.now();
if (err) {
if (err.code === "ENOENT" || isOverThreshold) {
return setLockAsCompromised(file, lock2, Object.assign(err, { code: "ECOMPROMISED" }));
}
lock2.updateDelay = 1000;
return updateLock(file, options);
}
const isMtimeOurs = lock2.mtime.getTime() === stat6.mtime.getTime();
if (!isMtimeOurs) {
return setLockAsCompromised(file, lock2, Object.assign(new Error("Unable to update lock within the stale threshold"), { code: "ECOMPROMISED" }));
}
const mtime = mtimePrecision.getMtime(lock2.mtimePrecision);
options.fs.utimes(lock2.lockfilePath, mtime, mtime, (err2) => {
const isOverThreshold2 = lock2.lastUpdate + options.stale < Date.now();
if (lock2.released) {
return;
}
if (err2) {
if (err2.code === "ENOENT" || isOverThreshold2) {
return setLockAsCompromised(file, lock2, Object.assign(err2, { code: "ECOMPROMISED" }));
}
lock2.updateDelay = 1000;
return updateLock(file, options);
}
lock2.mtime = mtime;
lock2.lastUpdate = Date.now();
lock2.updateDelay = null;
updateLock(file, options);
});
});
}, lock2.updateDelay);
if (lock2.updateTimeout.unref) {
lock2.updateTimeout.unref();
}
}
function setLockAsCompromised(file, lock2, err) {
lock2.released = true;
if (lock2.updateTimeout) {
clearTimeout(lock2.updateTimeout);
}
if (locks[file] === lock2) {
delete locks[file];
}
lock2.options.onCompromised(err);
}
function lock(file, options, callback) {
options = {
stale: 1e4,
update: null,
realpath: true,
retries: 0,
fs: fs2,
onCompromised: (err) => {
throw err;
},
...options
};
options.retries = options.retries || 0;
options.retries = typeof options.retries === "number" ? { retries: options.retries } : options.retries;
options.stale = Math.max(options.stale || 0, 2000);
options.update = options.update == null ? options.stale / 2 : options.update || 0;
options.update = Math.max(Math.min(options.update, options.stale / 2), 1000);
resolveCanonicalPath(file, options, (err, file2) => {
if (err) {
return callback(err);
}
const operation = retry.operation(options.retries);
operation.attempt(() => {
acquireLock(file2, options, (err2, mtime, mtimePrecision2) => {
if (operation.retry(err2)) {
return;
}
if (err2) {
return callback(operation.mainError());
}
const lock2 = locks[file2] = {
lockfilePath: getLockFile(file2, options),
mtime,
mtimePrecision: mtimePrecision2,
options,
lastUpdate: Date.now()
};
updateLock(file2, options);
callback(null, (releasedCallback) => {
if (lock2.released) {
return releasedCallback && releasedCallback(Object.assign(new Error("Lock is already released"), { code: "ERELEASED" }));
}
unlock(file2, { ...options, realpath: false }, releasedCallback);
});
});
});
});
}
function unlock(file, options, callback) {
options = {
fs: fs2,
realpath: true,
...options
};
resolveCanonicalPath(file, options, (err, file2) => {
if (err) {
return callback(err);
}
const lock2 = locks[file2];
if (!lock2) {
return callback(Object.assign(new Error("Lock is not acquired/owned by you"), { code: "ENOTACQUIRED" }));
}
lock2.updateTimeout && clearTimeout(lock2.updateTimeout);
lock2.released = true;
delete locks[file2];
removeLock(file2, options, callback);
});
}
function check(file, options, callback) {
options = {
stale: 1e4,
realpath: true,
fs: fs2,
...options
};
options.stale = Math.max(options.stale || 0, 2000);
resolveCanonicalPath(file, options, (err, file2) => {
if (err) {
return callback(err);
}
options.fs.stat(getLockFile(file2, options), (err2, stat6) => {
if (err2) {
return err2.code === "ENOENT" ? callback(null, false) : callback(err2);
}
return callback(null, !isLockStale(stat6, options));
});
});
}
function getLocks() {
return locks;
}
onExit2(() => {
for (const file in locks) {
const options = locks[file].options;
try {
options.fs.rmdirSync(getLockFile(file, options));
} catch (e) {}
}
});
exports.lock = lock;
exports.unlock = unlock;
exports.check = check;
exports.getLocks = getLocks;
});
// node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/lib/adapter.js
var require_adapter = __commonJS((exports, module) => {
var fs2 = require_graceful_fs();
function createSyncFs(fs3) {
const methods = ["mkdir", "realpath", "stat", "rmdir", "utimes"];
const newFs = { ...fs3 };
methods.forEach((method) => {
newFs[method] = (...args) => {
const callback = args.pop();
let ret;
try {
ret = fs3[`${method}Sync`](...args);
} catch (err) {
return callback(err);
}
callback(null, ret);
};
});
return newFs;
}
function toPromise(method) {
return (...args) => new Promise((resolve7, reject) => {
args.push((err, result) => {
if (err) {
reject(err);
} else {
resolve7(result);
}
});
method(...args);
});
}
function toSync(method) {
return (...args) => {
let err;
let result;
args.push((_err, _result) => {
err = _err;
result = _result;
});
method(...args);
if (err) {
throw err;
}
return result;
};
}
function toSyncOptions(options) {
options = { ...options };
options.fs = createSyncFs(options.fs || fs2);
if (typeof options.retries === "number" && options.retries > 0 || options.retries && typeof options.retries.retries === "number" && options.retries.retries > 0) {
throw Object.assign(new Error("Cannot use retries with the sync api"), { code: "ESYNC" });
}
return options;
}
module.exports = {
toPromise,
toSync,
toSyncOptions
};
});
// node_modules/.pnpm/proper-lockfile@4.1.2/node_modules/proper-lockfile/index.js
var require_proper_lockfile = __commonJS((exports, module) => {
var lockfile = require_lockfile();
var { toPromise, toSync, toSyncOptions } = require_adapter();
async function lock(file, options) {
const release = await toPromise(lockfile.lock)(file, options);
return toPromise(release);
}
function lockSync(file, options) {
const release = toSync(lockfile.lock)(file, toSyncOptions(options));
return toSync(release);
}
function unlock(file, options) {
return toPromise(lockfile.unlock)(file, options);
}
function unlockSync(file, options) {
return toSync(lockfile.unlock)(file, toSyncOptions(options));
}
function check(file, options) {
return toPromise(lockfile.check)(file, options);
}
function checkSync(file, options) {
return toSync(lockfile.check)(file, toSyncOptions(options));
}
module.exports = lock;
module.exports.lock = lock;
module.exports.unlock = unlock;
module.exports.lockSync = lockSync;
module.exports.unlockSync = unlockSync;
module.exports.check = check;
module.exports.checkSync = checkSync;
});
// src/utils/lockfile.ts
function getLockfile() {
if (!_lockfile) {
_lockfile = require_proper_lockfile();
}
return _lockfile;
}
function lock(file, options) {
return getLockfile().lock(file, options);
}
function lockSync(file, options) {
return getLockfile().lockSync(file, options);
}
function unlock(file, options) {
return getLockfile().unlock(file, options);
}
function check(file, options) {
return getLockfile().check(file, options);
}
var _lockfile;
// src/utils/settings/managedPath.ts
import { join as join15 } from "path";
var getManagedFilePath, getManagedSettingsDropInDir;
var init_managedPath = __esm(() => {
init_memoize();
init_platform2();
getManagedFilePath = memoize_default(function() {
if (process.env.USER_TYPE === "ant" && process.env.CLAUDE_CODE_MANAGED_SETTINGS_PATH) {
return process.env.CLAUDE_CODE_MANAGED_SETTINGS_PATH;
}
switch (getPlatform()) {
case "macos":
return "/Library/Application Support/ClaudeCode";
case "windows":
return "C:\\Program Files\\ClaudeCode";
default:
return "/etc/claude-code";
}
});
getManagedSettingsDropInDir = memoize_default(function() {
return join15(getManagedFilePath(), "managed-settings.d");
});
});
// src/utils/configConstants.ts
var NOTIFICATION_CHANNELS, EDITOR_MODES, TEAMMATE_MODES;
var init_configConstants = __esm(() => {
NOTIFICATION_CHANNELS = [
"auto",
"iterm2",
"iterm2_with_bell",
"terminal_bell",
"kitty",
"ghostty",
"notifications_disabled"
];
EDITOR_MODES = ["normal", "vim"];
TEAMMATE_MODES = ["auto", "tmux", "in-process"];
});
// src/utils/config.ts
import { randomBytes } from "crypto";
import { unwatchFile as unwatchFile2, watchFile as watchFile2 } from "fs";
import { basename as basename4, dirname as dirname9, join as join16, resolve as resolve7 } from "path";
function createDefaultGlobalConfig() {
return {
numStartups: 0,
installMethod: undefined,
autoUpdates: undefined,
theme: "dark",
preferredNotifChannel: "auto",
verbose: false,
editorMode: "normal",
autoCompactEnabled: true,
showTurnDuration: true,
hasSeenTasksHint: false,
hasUsedStash: false,
hasUsedBackgroundTask: false,
queuedCommandUpHintCount: 0,
diffTool: "auto",
customApiKeyResponses: {
approved: [],
rejected: []
},
env: {},
tipsHistory: {},
memoryUsageCount: 0,
promptQueueUseCount: 0,
btwUseCount: 0,
todoFeatureEnabled: true,
showExpandedTodos: false,
messageIdleNotifThresholdMs: 60000,
autoConnectIde: false,
autoInstallIdeExtension: true,
fileCheckpointingEnabled: true,
terminalProgressBarEnabled: true,
cachedStatsigGates: {},
cachedDynamicConfigs: {},
cachedGrowthBookFeatures: {},
respectGitignore: true,
copyFullResponse: false
};
}
function checkHasTrustDialogAccepted() {
return _trustAccepted ||= computeTrustDialogAccepted();
}
function computeTrustDialogAccepted() {
if (getSessionTrustAccepted()) {
return true;
}
const config = getGlobalConfig();
const projectPath = getProjectPathForConfig();
const projectConfig = config.projects?.[projectPath];
if (projectConfig?.hasTrustDialogAccepted) {
return true;
}
let currentPath = normalizePathForConfigKey(getCwd());
while (true) {
const pathConfig = config.projects?.[currentPath];
if (pathConfig?.hasTrustDialogAccepted) {
return true;
}
const parentPath = normalizePathForConfigKey(resolve7(currentPath, ".."));
if (parentPath === currentPath) {
break;
}
currentPath = parentPath;
}
return false;
}
function wouldLoseAuthState(fresh) {
const cached = globalConfigCache.config;
if (!cached)
return false;
const lostOauth = cached.oauthAccount !== undefined && fresh.oauthAccount === undefined;
const lostOnboarding = cached.hasCompletedOnboarding === true && fresh.hasCompletedOnboarding !== true;
return lostOauth || lostOnboarding;
}
function saveGlobalConfig(updater) {
if (false) {}
let written = null;
try {
const didWrite = saveConfigWithLock(getGlobalClaudeFile(), createDefaultGlobalConfig, (current) => {
const config = updater(current);
if (config === current) {
return current;
}
written = {
...config,
projects: removeProjectHistory(current.projects)
};
return written;
});
if (didWrite && written) {
writeThroughGlobalConfigCache(written);
}
} catch (error2) {
logForDebugging(`Failed to save config with lock: ${error2}`, {
level: "error"
});
const currentConfig = getConfig(getGlobalClaudeFile(), createDefaultGlobalConfig);
if (wouldLoseAuthState(currentConfig)) {
logForDebugging("saveGlobalConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.", { level: "error" });
logEvent("tengu_config_auth_loss_prevented", {});
return;
}
const config = updater(currentConfig);
if (config === currentConfig) {
return;
}
written = {
...config,
projects: removeProjectHistory(currentConfig.projects)
};
saveConfig(getGlobalClaudeFile(), written, DEFAULT_GLOBAL_CONFIG);
writeThroughGlobalConfigCache(written);
}
}
function reportConfigCacheStats() {
const total = configCacheHits + configCacheMisses;
if (total > 0) {
logEvent("tengu_config_cache_stats", {
cache_hits: configCacheHits,
cache_misses: configCacheMisses,
hit_rate: configCacheHits / total
});
}
configCacheHits = 0;
configCacheMisses = 0;
}
function migrateConfigFields(config) {
if (config.installMethod !== undefined) {
return config;
}
const legacy = config;
let installMethod = "unknown";
let autoUpdates = config.autoUpdates ?? true;
switch (legacy.autoUpdaterStatus) {
case "migrated":
installMethod = "local";
break;
case "installed":
installMethod = "native";
break;
case "disabled":
autoUpdates = false;
break;
case "enabled":
case "no_permissions":
case "not_configured":
installMethod = "global";
break;
case undefined:
break;
}
return {
...config,
installMethod,
autoUpdates
};
}
function removeProjectHistory(projects) {
if (!projects) {
return projects;
}
const cleanedProjects = {};
let needsCleaning = false;
for (const [path9, projectConfig] of Object.entries(projects)) {
const legacy = projectConfig;
if (legacy.history !== undefined) {
needsCleaning = true;
const { history, ...cleanedConfig } = legacy;
cleanedProjects[path9] = cleanedConfig;
} else {
cleanedProjects[path9] = projectConfig;
}
}
return needsCleaning ? cleanedProjects : projects;
}
function startGlobalConfigFreshnessWatcher() {
if (freshnessWatcherStarted || false)
return;
freshnessWatcherStarted = true;
const file = getGlobalClaudeFile();
watchFile2(file, { interval: CONFIG_FRESHNESS_POLL_MS, persistent: false }, (curr) => {
if (curr.mtimeMs <= globalConfigCache.mtime)
return;
getFsImplementation().readFile(file, { encoding: "utf-8" }).then((content) => {
if (curr.mtimeMs <= globalConfigCache.mtime)
return;
const parsed = safeParseJSON(stripBOM2(content));
if (parsed === null || typeof parsed !== "object")
return;
globalConfigCache = {
config: migrateConfigFields({
...createDefaultGlobalConfig(),
...parsed
}),
mtime: curr.mtimeMs
};
lastReadFileStats = { mtime: curr.mtimeMs, size: curr.size };
}).catch(() => {});
});
registerCleanup(async () => {
unwatchFile2(file);
freshnessWatcherStarted = false;
});
}
function writeThroughGlobalConfigCache(config) {
globalConfigCache = { config, mtime: Date.now() };
lastReadFileStats = null;
}
function getGlobalConfig() {
if (false) {}
if (globalConfigCache.config) {
configCacheHits++;
return globalConfigCache.config;
}
configCacheMisses++;
try {
let stats = null;
try {
stats = getFsImplementation().statSync(getGlobalClaudeFile());
} catch {}
const config = migrateConfigFields(getConfig(getGlobalClaudeFile(), createDefaultGlobalConfig));
globalConfigCache = {
config,
mtime: stats?.mtimeMs ?? Date.now()
};
lastReadFileStats = stats ? { mtime: stats.mtimeMs, size: stats.size } : null;
startGlobalConfigFreshnessWatcher();
return config;
} catch {
return migrateConfigFields(getConfig(getGlobalClaudeFile(), createDefaultGlobalConfig));
}
}
function getRemoteControlAtStartup() {
const explicit = getGlobalConfig().remoteControlAtStartup;
if (explicit !== undefined)
return explicit;
if (false) {}
return false;
}
function getCustomApiKeyStatus(truncatedApiKey) {
const config = getGlobalConfig();
if (config.customApiKeyResponses?.approved?.includes(truncatedApiKey)) {
return "approved";
}
if (config.customApiKeyResponses?.rejected?.includes(truncatedApiKey)) {
return "rejected";
}
return "new";
}
function saveConfig(file, config, defaultConfig) {
const dir = dirname9(file);
const fs2 = getFsImplementation();
fs2.mkdirSync(dir);
const filteredConfig = pickBy_default(config, (value, key) => jsonStringify(value) !== jsonStringify(defaultConfig[key]));
writeFileSyncAndFlush_DEPRECATED(file, jsonStringify(filteredConfig, null, 2), {
encoding: "utf-8",
mode: 384
});
if (file === getGlobalClaudeFile()) {
globalConfigWriteCount++;
}
}
function saveConfigWithLock(file, createDefault, mergeFn) {
const defaultConfig = createDefault();
const dir = dirname9(file);
const fs2 = getFsImplementation();
fs2.mkdirSync(dir);
let release;
try {
const lockFilePath = `${file}.lock`;
const startTime = Date.now();
release = lockSync(file, {
lockfilePath: lockFilePath,
onCompromised: (err) => {
logForDebugging(`Config lock compromised: ${err}`, { level: "error" });
}
});
const lockTime = Date.now() - startTime;
if (lockTime > 100) {
logForDebugging("Lock acquisition took longer than expected - another Claude instance may be running");
logEvent("tengu_config_lock_contention", {
lock_time_ms: lockTime
});
}
if (lastReadFileStats && file === getGlobalClaudeFile()) {
try {
const currentStats = fs2.statSync(file);
if (currentStats.mtimeMs !== lastReadFileStats.mtime || currentStats.size !== lastReadFileStats.size) {
logEvent("tengu_config_stale_write", {
read_mtime: lastReadFileStats.mtime,
write_mtime: currentStats.mtimeMs,
read_size: lastReadFileStats.size,
write_size: currentStats.size
});
}
} catch (e) {
const code = getErrnoCode(e);
if (code !== "ENOENT") {
throw e;
}
}
}
const currentConfig = getConfig(file, createDefault);
if (file === getGlobalClaudeFile() && wouldLoseAuthState(currentConfig)) {
logForDebugging("saveConfigWithLock: re-read config is missing auth that cache has; refusing to write to avoid wiping ~/.claude.json. See GH #3117.", { level: "error" });
logEvent("tengu_config_auth_loss_prevented", {});
return false;
}
const mergedConfig = mergeFn(currentConfig);
if (mergedConfig === currentConfig) {
return false;
}
const filteredConfig = pickBy_default(mergedConfig, (value, key) => jsonStringify(value) !== jsonStringify(defaultConfig[key]));
try {
const fileBase = basename4(file);
const backupDir = getConfigBackupDir();
try {
fs2.mkdirSync(backupDir);
} catch (mkdirErr) {
const mkdirCode = getErrnoCode(mkdirErr);
if (mkdirCode !== "EEXIST") {
throw mkdirErr;
}
}
const MIN_BACKUP_INTERVAL_MS = 60000;
const existingBackups = fs2.readdirStringSync(backupDir).filter((f) => f.startsWith(`${fileBase}.backup.`)).sort().reverse();
const mostRecentBackup = existingBackups[0];
const mostRecentTimestamp = mostRecentBackup ? Number(mostRecentBackup.split(".backup.").pop()) : 0;
const shouldCreateBackup = Number.isNaN(mostRecentTimestamp) || Date.now() - mostRecentTimestamp >= MIN_BACKUP_INTERVAL_MS;
if (shouldCreateBackup) {
const backupPath = join16(backupDir, `${fileBase}.backup.${Date.now()}`);
fs2.copyFileSync(file, backupPath);
}
const MAX_BACKUPS = 5;
const backupsForCleanup = shouldCreateBackup ? fs2.readdirStringSync(backupDir).filter((f) => f.startsWith(`${fileBase}.backup.`)).sort().reverse() : existingBackups;
for (const oldBackup of backupsForCleanup.slice(MAX_BACKUPS)) {
try {
fs2.unlinkSync(join16(backupDir, oldBackup));
} catch {}
}
} catch (e) {
const code = getErrnoCode(e);
if (code !== "ENOENT") {
logForDebugging(`Failed to backup config: ${e}`, {
level: "error"
});
}
}
writeFileSyncAndFlush_DEPRECATED(file, jsonStringify(filteredConfig, null, 2), {
encoding: "utf-8",
mode: 384
});
if (file === getGlobalClaudeFile()) {
globalConfigWriteCount++;
}
return true;
} finally {
if (release) {
release();
}
}
}
function enableConfigs() {
if (configReadingAllowed) {
return;
}
const startTime = Date.now();
logForDiagnosticsNoPII("info", "enable_configs_started");
configReadingAllowed = true;
getConfig(getGlobalClaudeFile(), createDefaultGlobalConfig, true);
logForDiagnosticsNoPII("info", "enable_configs_completed", {
duration_ms: Date.now() - startTime
});
}
function getConfigBackupDir() {
return join16(getClaudeConfigHomeDir(), "backups");
}
function findMostRecentBackup(file) {
const fs2 = getFsImplementation();
const fileBase = basename4(file);
const backupDir = getConfigBackupDir();
try {
const backups = fs2.readdirStringSync(backupDir).filter((f) => f.startsWith(`${fileBase}.backup.`)).sort();
const mostRecent = backups.at(-1);
if (mostRecent) {
return join16(backupDir, mostRecent);
}
} catch {}
const fileDir = dirname9(file);
try {
const backups = fs2.readdirStringSync(fileDir).filter((f) => f.startsWith(`${fileBase}.backup.`)).sort();
const mostRecent = backups.at(-1);
if (mostRecent) {
return join16(fileDir, mostRecent);
}
const legacyBackup = `${file}.backup`;
try {
fs2.statSync(legacyBackup);
return legacyBackup;
} catch {}
} catch {}
return null;
}
function getConfig(file, createDefault, throwOnInvalid) {
if (!configReadingAllowed && true) {
throw new Error("Config accessed before allowed.");
}
const fs2 = getFsImplementation();
try {
const fileContent = fs2.readFileSync(file, {
encoding: "utf-8"
});
try {
const parsedConfig = jsonParse(stripBOM2(fileContent));
return {
...createDefault(),
...parsedConfig
};
} catch (error2) {
const errorMessage2 = error2 instanceof Error ? error2.message : String(error2);
throw new ConfigParseError(errorMessage2, file, createDefault());
}
} catch (error2) {
const errCode = getErrnoCode(error2);
if (errCode === "ENOENT") {
const backupPath = findMostRecentBackup(file);
if (backupPath) {
process.stderr.write(`
Claude configuration file not found at: ${file}
` + `A backup file exists at: ${backupPath}
` + `You can manually restore it by running: cp "${backupPath}" "${file}"
`);
}
return createDefault();
}
if (error2 instanceof ConfigParseError && throwOnInvalid) {
throw error2;
}
if (error2 instanceof ConfigParseError) {
logForDebugging(`Config file corrupted, resetting to defaults: ${error2.message}`, { level: "error" });
if (!insideGetConfig) {
insideGetConfig = true;
try {
logError2(error2);
let hasBackup = false;
try {
fs2.statSync(`${file}.backup`);
hasBackup = true;
} catch {}
logEvent("tengu_config_parse_error", {
has_backup: hasBackup
});
} finally {
insideGetConfig = false;
}
}
process.stderr.write(`
Claude configuration file at ${file} is corrupted: ${error2.message}
`);
const fileBase = basename4(file);
const corruptedBackupDir = getConfigBackupDir();
try {
fs2.mkdirSync(corruptedBackupDir);
} catch (mkdirErr) {
const mkdirCode = getErrnoCode(mkdirErr);
if (mkdirCode !== "EEXIST") {
throw mkdirErr;
}
}
const existingCorruptedBackups = fs2.readdirStringSync(corruptedBackupDir).filter((f) => f.startsWith(`${fileBase}.corrupted.`));
let corruptedBackupPath;
let alreadyBackedUp = false;
const currentContent = fs2.readFileSync(file, { encoding: "utf-8" });
for (const backup of existingCorruptedBackups) {
try {
const backupContent = fs2.readFileSync(join16(corruptedBackupDir, backup), { encoding: "utf-8" });
if (currentContent === backupContent) {
alreadyBackedUp = true;
break;
}
} catch {}
}
if (!alreadyBackedUp) {
corruptedBackupPath = join16(corruptedBackupDir, `${fileBase}.corrupted.${Date.now()}`);
try {
fs2.copyFileSync(file, corruptedBackupPath);
logForDebugging(`Corrupted config backed up to: ${corruptedBackupPath}`, {
level: "error"
});
} catch {}
}
const backupPath = findMostRecentBackup(file);
if (corruptedBackupPath) {
process.stderr.write(`The corrupted file has been backed up to: ${corruptedBackupPath}
`);
} else if (alreadyBackedUp) {
process.stderr.write(`The corrupted file has already been backed up.
`);
}
if (backupPath) {
process.stderr.write(`A backup file exists at: ${backupPath}
` + `You can manually restore it by running: cp "${backupPath}" "${file}"
`);
} else {
process.stderr.write(`
`);
}
}
return createDefault();
}
}
function getCurrentProjectConfig() {
if (false) {}
const absolutePath = getProjectPathForConfig();
const config = getGlobalConfig();
if (!config.projects) {
return DEFAULT_PROJECT_CONFIG;
}
const projectConfig = config.projects[absolutePath] ?? DEFAULT_PROJECT_CONFIG;
if (typeof projectConfig.allowedTools === "string") {
projectConfig.allowedTools = safeParseJSON(projectConfig.allowedTools) ?? [];
}
return projectConfig;
}
function saveCurrentProjectConfig(updater) {
if (false) {}
const absolutePath = getProjectPathForConfig();
let written = null;
try {
const didWrite = saveConfigWithLock(getGlobalClaudeFile(), createDefaultGlobalConfig, (current) => {
const currentProjectConfig = current.projects?.[absolutePath] ?? DEFAULT_PROJECT_CONFIG;
const newProjectConfig = updater(currentProjectConfig);
if (newProjectConfig === currentProjectConfig) {
return current;
}
written = {
...current,
projects: {
...current.projects,
[absolutePath]: newProjectConfig
}
};
return written;
});
if (didWrite && written) {
writeThroughGlobalConfigCache(written);
}
} catch (error2) {
logForDebugging(`Failed to save config with lock: ${error2}`, {
level: "error"
});
const config = getConfig(getGlobalClaudeFile(), createDefaultGlobalConfig);
if (wouldLoseAuthState(config)) {
logForDebugging("saveCurrentProjectConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.", { level: "error" });
logEvent("tengu_config_auth_loss_prevented", {});
return;
}
const currentProjectConfig = config.projects?.[absolutePath] ?? DEFAULT_PROJECT_CONFIG;
const newProjectConfig = updater(currentProjectConfig);
if (newProjectConfig === currentProjectConfig) {
return;
}
written = {
...config,
projects: {
...config.projects,
[absolutePath]: newProjectConfig
}
};
saveConfig(getGlobalClaudeFile(), written, DEFAULT_GLOBAL_CONFIG);
writeThroughGlobalConfigCache(written);
}
}
function isAutoUpdaterDisabled() {
return getAutoUpdaterDisabledReason() !== null;
}
function shouldSkipPluginAutoupdate() {
return isAutoUpdaterDisabled() && !isEnvTruthy(process.env.FORCE_AUTOUPDATE_PLUGINS);
}
function formatAutoUpdaterDisabledReason(reason) {
switch (reason.type) {
case "development":
return "development build";
case "env":
return `${reason.envVar} set`;
case "config":
return "config";
}
}
function getAutoUpdaterDisabledReason() {
if (true) {
return { type: "development" };
}
if (isEnvTruthy(process.env.DISABLE_AUTOUPDATER)) {
return { type: "env", envVar: "DISABLE_AUTOUPDATER" };
}
const essentialTrafficEnvVar = getEssentialTrafficOnlyReason();
if (essentialTrafficEnvVar) {
return { type: "env", envVar: essentialTrafficEnvVar };
}
const config = getGlobalConfig();
if (config.autoUpdates === false && (config.installMethod !== "native" || config.autoUpdatesProtectedForNative !== true)) {
return { type: "config" };
}
return null;
}
function getOrCreateUserID() {
const config = getGlobalConfig();
if (config.userID) {
return config.userID;
}
const userID = randomBytes(32).toString("hex");
saveGlobalConfig((current) => ({ ...current, userID }));
return userID;
}
function recordFirstStartTime() {
const config = getGlobalConfig();
if (!config.firstStartTime) {
const firstStartTime = new Date().toISOString();
saveGlobalConfig((current) => ({
...current,
firstStartTime: current.firstStartTime ?? firstStartTime
}));
}
}
function getMemoryPath(memoryType) {
const cwd2 = getOriginalCwd();
switch (memoryType) {
case "User":
return join16(getClaudeConfigHomeDir(), "CLAUDE.md");
case "Local":
return join16(cwd2, "CLAUDE.local.md");
case "Project":
return join16(cwd2, "CLAUDE.md");
case "Managed":
return join16(getManagedFilePath(), "CLAUDE.md");
case "AutoMem":
return getAutoMemEntrypoint();
}
if (false) {}
return "";
}
function getManagedClaudeRulesDir() {
return join16(getManagedFilePath(), ".claude", "rules");
}
function getUserClaudeRulesDir() {
return join16(getClaudeConfigHomeDir(), "rules");
}
var insideGetConfig = false, DEFAULT_PROJECT_CONFIG, DEFAULT_GLOBAL_CONFIG, _trustAccepted = false, TEST_GLOBAL_CONFIG_FOR_TESTING, TEST_PROJECT_CONFIG_FOR_TESTING, globalConfigCache, lastReadFileStats = null, configCacheHits = 0, configCacheMisses = 0, globalConfigWriteCount = 0, CONFIG_FRESHNESS_POLL_MS = 1000, freshnessWatcherStarted = false, configReadingAllowed = false, getProjectPathForConfig;
var init_config = __esm(() => {
init_memoize();
init_pickBy();
init_state();
init_paths();
init_analytics();
init_cwd();
init_cleanupRegistry();
init_debug();
init_diagLogs();
init_env();
init_envUtils();
init_errors();
init_file();
init_fsOperations();
init_git();
init_json();
init_log3();
init_path2();
init_managedPath();
init_slowOperations();
init_configConstants();
DEFAULT_PROJECT_CONFIG = {
allowedTools: [],
mcpContextUris: [],
mcpServers: {},
enabledMcpjsonServers: [],
disabledMcpjsonServers: [],
hasTrustDialogAccepted: false,
projectOnboardingSeenCount: 0,
hasClaudeMdExternalIncludesApproved: false,
hasClaudeMdExternalIncludesWarningShown: false
};
DEFAULT_GLOBAL_CONFIG = createDefaultGlobalConfig();
TEST_GLOBAL_CONFIG_FOR_TESTING = {
...DEFAULT_GLOBAL_CONFIG,
autoUpdates: false
};
TEST_PROJECT_CONFIG_FOR_TESTING = {
...DEFAULT_PROJECT_CONFIG
};
globalConfigCache = {
config: null,
mtime: 0
};
registerCleanup(async () => {
reportConfigCacheStats();
});
getProjectPathForConfig = memoize_default(() => {
const originalCwd = getOriginalCwd();
const gitRoot = findCanonicalGitRoot(originalCwd);
if (gitRoot) {
return normalizePathForConfigKey(gitRoot);
}
return normalizePathForConfigKey(resolve7(originalCwd));
});
});
// src/utils/sequential.ts
function sequential(fn) {
const queue = [];
let processing = false;
async function processQueue() {
if (processing)
return;
if (queue.length === 0)
return;
processing = true;
while (queue.length > 0) {
const { args, resolve: resolve8, reject, context } = queue.shift();
try {
const result = await fn.apply(context, args);
resolve8(result);
} catch (error2) {
reject(error2);
}
}
processing = false;
if (queue.length > 0) {
processQueue();
}
}
return function(...args) {
return new Promise((resolve8, reject) => {
queue.push({ args, resolve: resolve8, reject, context: this });
processQueue();
});
};
}
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_assignMergeValue.js
function assignMergeValue(object, key, value) {
if (value !== undefined && !eq_default(object[key], value) || value === undefined && !(key in object)) {
_baseAssignValue_default(object, key, value);
}
}
var _assignMergeValue_default;
var init__assignMergeValue = __esm(() => {
init__baseAssignValue();
init_eq();
_assignMergeValue_default = assignMergeValue;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isArrayLikeObject.js
function isArrayLikeObject(value) {
return isObjectLike_default(value) && isArrayLike_default(value);
}
var isArrayLikeObject_default;
var init_isArrayLikeObject = __esm(() => {
init_isArrayLike();
init_isObjectLike();
isArrayLikeObject_default = isArrayLikeObject;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isPlainObject.js
function isPlainObject3(value) {
if (!isObjectLike_default(value) || _baseGetTag_default(value) != objectTag5) {
return false;
}
var proto2 = _getPrototype_default(value);
if (proto2 === null) {
return true;
}
var Ctor = hasOwnProperty14.call(proto2, "constructor") && proto2.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString3.call(Ctor) == objectCtorString;
}
var objectTag5 = "[object Object]", funcProto3, objectProto16, funcToString3, hasOwnProperty14, objectCtorString, isPlainObject_default;
var init_isPlainObject = __esm(() => {
init__baseGetTag();
init__getPrototype();
init_isObjectLike();
funcProto3 = Function.prototype;
objectProto16 = Object.prototype;
funcToString3 = funcProto3.toString;
hasOwnProperty14 = objectProto16.hasOwnProperty;
objectCtorString = funcToString3.call(Object);
isPlainObject_default = isPlainObject3;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_safeGet.js
function safeGet(object, key) {
if (key === "constructor" && typeof object[key] === "function") {
return;
}
if (key == "__proto__") {
return;
}
return object[key];
}
var _safeGet_default;
var init__safeGet = __esm(() => {
_safeGet_default = safeGet;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toPlainObject.js
function toPlainObject(value) {
return _copyObject_default(value, keysIn_default(value));
}
var toPlainObject_default;
var init_toPlainObject = __esm(() => {
init__copyObject();
init_keysIn();
toPlainObject_default = toPlainObject;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMergeDeep.js
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
var objValue = _safeGet_default(object, key), srcValue = _safeGet_default(source, key), stacked = stack.get(srcValue);
if (stacked) {
_assignMergeValue_default(object, key, stacked);
return;
}
var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined;
var isCommon = newValue === undefined;
if (isCommon) {
var isArr = isArray_default(srcValue), isBuff = !isArr && isBuffer_default(srcValue), isTyped = !isArr && !isBuff && isTypedArray_default(srcValue);
newValue = srcValue;
if (isArr || isBuff || isTyped) {
if (isArray_default(objValue)) {
newValue = objValue;
} else if (isArrayLikeObject_default(objValue)) {
newValue = _copyArray_default(objValue);
} else if (isBuff) {
isCommon = false;
newValue = _cloneBuffer_default(srcValue, true);
} else if (isTyped) {
isCommon = false;
newValue = _cloneTypedArray_default(srcValue, true);
} else {
newValue = [];
}
} else if (isPlainObject_default(srcValue) || isArguments_default(srcValue)) {
newValue = objValue;
if (isArguments_default(objValue)) {
newValue = toPlainObject_default(objValue);
} else if (!isObject_default(objValue) || isFunction_default(objValue)) {
newValue = _initCloneObject_default(srcValue);
}
} else {
isCommon = false;
}
}
if (isCommon) {
stack.set(srcValue, newValue);
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
stack["delete"](srcValue);
}
_assignMergeValue_default(object, key, newValue);
}
var _baseMergeDeep_default;
var init__baseMergeDeep = __esm(() => {
init__assignMergeValue();
init__cloneBuffer();
init__cloneTypedArray();
init__copyArray();
init__initCloneObject();
init_isArguments();
init_isArray();
init_isArrayLikeObject();
init_isBuffer();
init_isFunction();
init_isObject();
init_isPlainObject();
init_isTypedArray();
init__safeGet();
init_toPlainObject();
_baseMergeDeep_default = baseMergeDeep;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseMerge.js
function baseMerge(object, source, srcIndex, customizer, stack) {
if (object === source) {
return;
}
_baseFor_default(source, function(srcValue, key) {
stack || (stack = new _Stack_default);
if (isObject_default(srcValue)) {
_baseMergeDeep_default(object, source, key, srcIndex, baseMerge, customizer, stack);
} else {
var newValue = customizer ? customizer(_safeGet_default(object, key), srcValue, key + "", object, source, stack) : undefined;
if (newValue === undefined) {
newValue = srcValue;
}
_assignMergeValue_default(object, key, newValue);
}
}, keysIn_default);
}
var _baseMerge_default;
var init__baseMerge = __esm(() => {
init__Stack();
init__assignMergeValue();
init__baseFor();
init__baseMergeDeep();
init_isObject();
init_keysIn();
init__safeGet();
_baseMerge_default = baseMerge;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_apply.js
function apply(func, thisArg, args) {
switch (args.length) {
case 0:
return func.call(thisArg);
case 1:
return func.call(thisArg, args[0]);
case 2:
return func.call(thisArg, args[0], args[1]);
case 3:
return func.call(thisArg, args[0], args[1], args[2]);
}
return func.apply(thisArg, args);
}
var _apply_default;
var init__apply = __esm(() => {
_apply_default = apply;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_overRest.js
function overRest(func, start, transform) {
start = nativeMax(start === undefined ? func.length - 1 : start, 0);
return function() {
var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
while (++index < length) {
array[index] = args[start + index];
}
index = -1;
var otherArgs = Array(start + 1);
while (++index < start) {
otherArgs[index] = args[index];
}
otherArgs[start] = transform(array);
return _apply_default(func, this, otherArgs);
};
}
var nativeMax, _overRest_default;
var init__overRest = __esm(() => {
init__apply();
nativeMax = Math.max;
_overRest_default = overRest;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/constant.js
function constant(value) {
return function() {
return value;
};
}
var constant_default;
var init_constant = __esm(() => {
constant_default = constant;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseSetToString.js
var baseSetToString, _baseSetToString_default;
var init__baseSetToString = __esm(() => {
init_constant();
init__defineProperty();
init_identity();
baseSetToString = !_defineProperty_default ? identity_default : function(func, string) {
return _defineProperty_default(func, "toString", {
configurable: true,
enumerable: false,
value: constant_default(string),
writable: true
});
};
_baseSetToString_default = baseSetToString;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_shortOut.js
function shortOut(func) {
var count2 = 0, lastCalled = 0;
return function() {
var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
lastCalled = stamp;
if (remaining > 0) {
if (++count2 >= HOT_COUNT) {
return arguments[0];
}
} else {
count2 = 0;
}
return func.apply(undefined, arguments);
};
}
var HOT_COUNT = 800, HOT_SPAN = 16, nativeNow, _shortOut_default;
var init__shortOut = __esm(() => {
nativeNow = Date.now;
_shortOut_default = shortOut;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setToString.js
var setToString, _setToString_default;
var init__setToString = __esm(() => {
init__baseSetToString();
init__shortOut();
setToString = _shortOut_default(_baseSetToString_default);
_setToString_default = setToString;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseRest.js
function baseRest(func, start) {
return _setToString_default(_overRest_default(func, start, identity_default), func + "");
}
var _baseRest_default;
var init__baseRest = __esm(() => {
init_identity();
init__overRest();
init__setToString();
_baseRest_default = baseRest;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isIterateeCall.js
function isIterateeCall(value, index, object) {
if (!isObject_default(object)) {
return false;
}
var type = typeof index;
if (type == "number" ? isArrayLike_default(object) && _isIndex_default(index, object.length) : type == "string" && (index in object)) {
return eq_default(object[index], value);
}
return false;
}
var _isIterateeCall_default;
var init__isIterateeCall = __esm(() => {
init_eq();
init_isArrayLike();
init__isIndex();
init_isObject();
_isIterateeCall_default = isIterateeCall;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createAssigner.js
function createAssigner(assigner) {
return _baseRest_default(function(object, sources) {
var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined;
customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined;
if (guard && _isIterateeCall_default(sources[0], sources[1], guard)) {
customizer = length < 3 ? undefined : customizer;
length = 1;
}
object = Object(object);
while (++index < length) {
var source = sources[index];
if (source) {
assigner(object, source, index, customizer);
}
}
return object;
});
}
var _createAssigner_default;
var init__createAssigner = __esm(() => {
init__baseRest();
init__isIterateeCall();
_createAssigner_default = createAssigner;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/mergeWith.js
var mergeWith, mergeWith_default;
var init_mergeWith = __esm(() => {
init__baseMerge();
init__createAssigner();
mergeWith = _createAssigner_default(function(object, source, srcIndex, customizer) {
_baseMerge_default(object, source, srcIndex, customizer);
});
mergeWith_default = mergeWith;
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js
function $constructor(name, initializer, params) {
function init(inst, def) {
if (!inst._zod) {
Object.defineProperty(inst, "_zod", {
value: {
def,
constr: _2,
traits: new Set
},
enumerable: false
});
}
if (inst._zod.traits.has(name)) {
return;
}
inst._zod.traits.add(name);
initializer(inst, def);
const proto2 = _2.prototype;
const keys2 = Object.keys(proto2);
for (let i2 = 0;i2 < keys2.length; i2++) {
const k2 = keys2[i2];
if (!(k2 in inst)) {
inst[k2] = proto2[k2].bind(inst);
}
}
}
const Parent = params?.Parent ?? Object;
class Definition extends Parent {
}
Object.defineProperty(Definition, "name", { value: name });
function _2(def) {
var _a2;
const inst = params?.Parent ? new Definition : this;
init(inst, def);
(_a2 = inst._zod).deferred ?? (_a2.deferred = []);
for (const fn of inst._zod.deferred) {
fn();
}
return inst;
}
Object.defineProperty(_2, "init", { value: init });
Object.defineProperty(_2, Symbol.hasInstance, {
value: (inst) => {
if (params?.Parent && inst instanceof params.Parent)
return true;
return inst?._zod?.traits?.has(name);
}
});
Object.defineProperty(_2, "name", { value: name });
return _2;
}
function config(newConfig) {
if (newConfig)
Object.assign(globalConfig, newConfig);
return globalConfig;
}
var NEVER, $brand, $ZodAsyncError, $ZodEncodeError, globalConfig;
var init_core3 = __esm(() => {
NEVER = Object.freeze({
status: "aborted"
});
$brand = Symbol("zod_brand");
$ZodAsyncError = class $ZodAsyncError extends Error {
constructor() {
super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
}
};
$ZodEncodeError = class $ZodEncodeError extends Error {
constructor(name) {
super(`Encountered unidirectional transform during encode: ${name}`);
this.name = "ZodEncodeError";
}
};
globalConfig = {};
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.js
var exports_util = {};
__export(exports_util, {
unwrapMessage: () => unwrapMessage,
uint8ArrayToHex: () => uint8ArrayToHex,
uint8ArrayToBase64url: () => uint8ArrayToBase64url,
uint8ArrayToBase64: () => uint8ArrayToBase64,
stringifyPrimitive: () => stringifyPrimitive,
slugify: () => slugify,
shallowClone: () => shallowClone,
safeExtend: () => safeExtend,
required: () => required,
randomString: () => randomString,
propertyKeyTypes: () => propertyKeyTypes,
promiseAllObject: () => promiseAllObject,
primitiveTypes: () => primitiveTypes,
prefixIssues: () => prefixIssues,
pick: () => pick,
partial: () => partial,
parsedType: () => parsedType,
optionalKeys: () => optionalKeys,
omit: () => omit,
objectClone: () => objectClone,
numKeys: () => numKeys,
nullish: () => nullish,
normalizeParams: () => normalizeParams,
mergeDefs: () => mergeDefs,
merge: () => merge2,
jsonStringifyReplacer: () => jsonStringifyReplacer,
joinValues: () => joinValues,
issue: () => issue,
isPlainObject: () => isPlainObject4,
isObject: () => isObject4,
hexToUint8Array: () => hexToUint8Array,
getSizableOrigin: () => getSizableOrigin,
getParsedType: () => getParsedType,
getLengthableOrigin: () => getLengthableOrigin,
getEnumValues: () => getEnumValues,
getElementAtPath: () => getElementAtPath,
floatSafeRemainder: () => floatSafeRemainder,
finalizeIssue: () => finalizeIssue,
extend: () => extend2,
escapeRegex: () => escapeRegex,
esc: () => esc,
defineLazy: () => defineLazy,
createTransparentProxy: () => createTransparentProxy,
cloneDef: () => cloneDef,
clone: () => clone2,
cleanRegex: () => cleanRegex,
cleanEnum: () => cleanEnum,
captureStackTrace: () => captureStackTrace,
cached: () => cached,
base64urlToUint8Array: () => base64urlToUint8Array,
base64ToUint8Array: () => base64ToUint8Array,
assignProp: () => assignProp,
assertNotEqual: () => assertNotEqual,
assertNever: () => assertNever,
assertIs: () => assertIs,
assertEqual: () => assertEqual,
assert: () => assert,
allowsEval: () => allowsEval,
aborted: () => aborted2,
NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
Class: () => Class,
BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES
});
function assertEqual(val) {
return val;
}
function assertNotEqual(val) {
return val;
}
function assertIs(_arg) {}
function assertNever(_x) {
throw new Error("Unexpected value in exhaustive check");
}
function assert(_2) {}
function getEnumValues(entries) {
const numericValues = Object.values(entries).filter((v2) => typeof v2 === "number");
const values = Object.entries(entries).filter(([k2, _2]) => numericValues.indexOf(+k2) === -1).map(([_2, v2]) => v2);
return values;
}
function joinValues(array, separator = "|") {
return array.map((val) => stringifyPrimitive(val)).join(separator);
}
function jsonStringifyReplacer(_2, value) {
if (typeof value === "bigint")
return value.toString();
return value;
}
function cached(getter) {
const set = false;
return {
get value() {
if (!set) {
const value = getter();
Object.defineProperty(this, "value", { value });
return value;
}
throw new Error("cached value already set");
}
};
}
function nullish(input) {
return input === null || input === undefined;
}
function cleanRegex(source) {
const start = source.startsWith("^") ? 1 : 0;
const end = source.endsWith("$") ? source.length - 1 : source.length;
return source.slice(start, end);
}
function floatSafeRemainder(val, step) {
const valDecCount = (val.toString().split(".")[1] || "").length;
const stepString = step.toString();
let stepDecCount = (stepString.split(".")[1] || "").length;
if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
const match = stepString.match(/\d?e-(\d?)/);
if (match?.[1]) {
stepDecCount = Number.parseInt(match[1]);
}
}
const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
return valInt % stepInt / 10 ** decCount;
}
function defineLazy(object, key, getter) {
let value = undefined;
Object.defineProperty(object, key, {
get() {
if (value === EVALUATING) {
return;
}
if (value === undefined) {
value = EVALUATING;
value = getter();
}
return value;
},
set(v2) {
Object.defineProperty(object, key, {
value: v2
});
},
configurable: true
});
}
function objectClone(obj) {
return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
}
function assignProp(target, prop, value) {
Object.defineProperty(target, prop, {
value,
writable: true,
enumerable: true,
configurable: true
});
}
function mergeDefs(...defs) {
const mergedDescriptors = {};
for (const def of defs) {
const descriptors2 = Object.getOwnPropertyDescriptors(def);
Object.assign(mergedDescriptors, descriptors2);
}
return Object.defineProperties({}, mergedDescriptors);
}
function cloneDef(schema) {
return mergeDefs(schema._zod.def);
}
function getElementAtPath(obj, path9) {
if (!path9)
return obj;
return path9.reduce((acc, key) => acc?.[key], obj);
}
function promiseAllObject(promisesObj) {
const keys2 = Object.keys(promisesObj);
const promises = keys2.map((key) => promisesObj[key]);
return Promise.all(promises).then((results) => {
const resolvedObj = {};
for (let i2 = 0;i2 < keys2.length; i2++) {
resolvedObj[keys2[i2]] = results[i2];
}
return resolvedObj;
});
}
function randomString(length = 10) {
const chars = "abcdefghijklmnopqrstuvwxyz";
let str = "";
for (let i2 = 0;i2 < length; i2++) {
str += chars[Math.floor(Math.random() * chars.length)];
}
return str;
}
function esc(str) {
return JSON.stringify(str);
}
function slugify(input) {
return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
}
function isObject4(data) {
return typeof data === "object" && data !== null && !Array.isArray(data);
}
function isPlainObject4(o2) {
if (isObject4(o2) === false)
return false;
const ctor = o2.constructor;
if (ctor === undefined)
return true;
if (typeof ctor !== "function")
return true;
const prot = ctor.prototype;
if (isObject4(prot) === false)
return false;
if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
return false;
}
return true;
}
function shallowClone(o2) {
if (isPlainObject4(o2))
return { ...o2 };
if (Array.isArray(o2))
return [...o2];
return o2;
}
function numKeys(data) {
let keyCount = 0;
for (const key in data) {
if (Object.prototype.hasOwnProperty.call(data, key)) {
keyCount++;
}
}
return keyCount;
}
function escapeRegex(str) {
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
function clone2(inst, def, params) {
const cl = new inst._zod.constr(def ?? inst._zod.def);
if (!def || params?.parent)
cl._zod.parent = inst;
return cl;
}
function normalizeParams(_params) {
const params = _params;
if (!params)
return {};
if (typeof params === "string")
return { error: () => params };
if (params?.message !== undefined) {
if (params?.error !== undefined)
throw new Error("Cannot specify both `message` and `error` params");
params.error = params.message;
}
delete params.message;
if (typeof params.error === "string")
return { ...params, error: () => params.error };
return params;
}
function createTransparentProxy(getter) {
let target;
return new Proxy({}, {
get(_2, prop, receiver) {
target ?? (target = getter());
return Reflect.get(target, prop, receiver);
},
set(_2, prop, value, receiver) {
target ?? (target = getter());
return Reflect.set(target, prop, value, receiver);
},
has(_2, prop) {
target ?? (target = getter());
return Reflect.has(target, prop);
},
deleteProperty(_2, prop) {
target ?? (target = getter());
return Reflect.deleteProperty(target, prop);
},
ownKeys(_2) {
target ?? (target = getter());
return Reflect.ownKeys(target);
},
getOwnPropertyDescriptor(_2, prop) {
target ?? (target = getter());
return Reflect.getOwnPropertyDescriptor(target, prop);
},
defineProperty(_2, prop, descriptor) {
target ?? (target = getter());
return Reflect.defineProperty(target, prop, descriptor);
}
});
}
function stringifyPrimitive(value) {
if (typeof value === "bigint")
return value.toString() + "n";
if (typeof value === "string")
return `"${value}"`;
return `${value}`;
}
function optionalKeys(shape) {
return Object.keys(shape).filter((k2) => {
return shape[k2]._zod.optin === "optional" && shape[k2]._zod.optout === "optional";
});
}
function pick(schema, mask) {
const currDef = schema._zod.def;
const checks = currDef.checks;
const hasChecks = checks && checks.length > 0;
if (hasChecks) {
throw new Error(".pick() cannot be used on object schemas containing refinements");
}
const def = mergeDefs(schema._zod.def, {
get shape() {
const newShape = {};
for (const key in mask) {
if (!(key in currDef.shape)) {
throw new Error(`Unrecognized key: "${key}"`);
}
if (!mask[key])
continue;
newShape[key] = currDef.shape[key];
}
assignProp(this, "shape", newShape);
return newShape;
},
checks: []
});
return clone2(schema, def);
}
function omit(schema, mask) {
const currDef = schema._zod.def;
const checks = currDef.checks;
const hasChecks = checks && checks.length > 0;
if (hasChecks) {
throw new Error(".omit() cannot be used on object schemas containing refinements");
}
const def = mergeDefs(schema._zod.def, {
get shape() {
const newShape = { ...schema._zod.def.shape };
for (const key in mask) {
if (!(key in currDef.shape)) {
throw new Error(`Unrecognized key: "${key}"`);
}
if (!mask[key])
continue;
delete newShape[key];
}
assignProp(this, "shape", newShape);
return newShape;
},
checks: []
});
return clone2(schema, def);
}
function extend2(schema, shape) {
if (!isPlainObject4(shape)) {
throw new Error("Invalid input to extend: expected a plain object");
}
const checks = schema._zod.def.checks;
const hasChecks = checks && checks.length > 0;
if (hasChecks) {
const existingShape = schema._zod.def.shape;
for (const key in shape) {
if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {
throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.");
}
}
}
const def = mergeDefs(schema._zod.def, {
get shape() {
const _shape = { ...schema._zod.def.shape, ...shape };
assignProp(this, "shape", _shape);
return _shape;
}
});
return clone2(schema, def);
}
function safeExtend(schema, shape) {
if (!isPlainObject4(shape)) {
throw new Error("Invalid input to safeExtend: expected a plain object");
}
const def = mergeDefs(schema._zod.def, {
get shape() {
const _shape = { ...schema._zod.def.shape, ...shape };
assignProp(this, "shape", _shape);
return _shape;
}
});
return clone2(schema, def);
}
function merge2(a2, b2) {
const def = mergeDefs(a2._zod.def, {
get shape() {
const _shape = { ...a2._zod.def.shape, ...b2._zod.def.shape };
assignProp(this, "shape", _shape);
return _shape;
},
get catchall() {
return b2._zod.def.catchall;
},
checks: []
});
return clone2(a2, def);
}
function partial(Class, schema, mask) {
const currDef = schema._zod.def;
const checks = currDef.checks;
const hasChecks = checks && checks.length > 0;
if (hasChecks) {
throw new Error(".partial() cannot be used on object schemas containing refinements");
}
const def = mergeDefs(schema._zod.def, {
get shape() {
const oldShape = schema._zod.def.shape;
const shape = { ...oldShape };
if (mask) {
for (const key in mask) {
if (!(key in oldShape)) {
throw new Error(`Unrecognized key: "${key}"`);
}
if (!mask[key])
continue;
shape[key] = Class ? new Class({
type: "optional",
innerType: oldShape[key]
}) : oldShape[key];
}
} else {
for (const key in oldShape) {
shape[key] = Class ? new Class({
type: "optional",
innerType: oldShape[key]
}) : oldShape[key];
}
}
assignProp(this, "shape", shape);
return shape;
},
checks: []
});
return clone2(schema, def);
}
function required(Class, schema, mask) {
const def = mergeDefs(schema._zod.def, {
get shape() {
const oldShape = schema._zod.def.shape;
const shape = { ...oldShape };
if (mask) {
for (const key in mask) {
if (!(key in shape)) {
throw new Error(`Unrecognized key: "${key}"`);
}
if (!mask[key])
continue;
shape[key] = new Class({
type: "nonoptional",
innerType: oldShape[key]
});
}
} else {
for (const key in oldShape) {
shape[key] = new Class({
type: "nonoptional",
innerType: oldShape[key]
});
}
}
assignProp(this, "shape", shape);
return shape;
}
});
return clone2(schema, def);
}
function aborted2(x3, startIndex = 0) {
if (x3.aborted === true)
return true;
for (let i2 = startIndex;i2 < x3.issues.length; i2++) {
if (x3.issues[i2]?.continue !== true) {
return true;
}
}
return false;
}
function prefixIssues(path9, issues) {
return issues.map((iss) => {
var _a2;
(_a2 = iss).path ?? (_a2.path = []);
iss.path.unshift(path9);
return iss;
});
}
function unwrapMessage(message) {
return typeof message === "string" ? message : message?.message;
}
function finalizeIssue(iss, ctx, config2) {
const full = { ...iss, path: iss.path ?? [] };
if (!iss.message) {
const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config2.customError?.(iss)) ?? unwrapMessage(config2.localeError?.(iss)) ?? "Invalid input";
full.message = message;
}
delete full.inst;
delete full.continue;
if (!ctx?.reportInput) {
delete full.input;
}
return full;
}
function getSizableOrigin(input) {
if (input instanceof Set)
return "set";
if (input instanceof Map)
return "map";
if (input instanceof File)
return "file";
return "unknown";
}
function getLengthableOrigin(input) {
if (Array.isArray(input))
return "array";
if (typeof input === "string")
return "string";
return "unknown";
}
function parsedType(data) {
const t = typeof data;
switch (t) {
case "number": {
return Number.isNaN(data) ? "nan" : "number";
}
case "object": {
if (data === null) {
return "null";
}
if (Array.isArray(data)) {
return "array";
}
const obj = data;
if (obj && Object.getPrototypeOf(obj) !== Object.prototype && "constructor" in obj && obj.constructor) {
return obj.constructor.name;
}
}
}
return t;
}
function issue(...args) {
const [iss, input, inst] = args;
if (typeof iss === "string") {
return {
message: iss,
code: "custom",
input,
inst
};
}
return { ...iss };
}
function cleanEnum(obj) {
return Object.entries(obj).filter(([k2, _2]) => {
return Number.isNaN(Number.parseInt(k2, 10));
}).map((el) => el[1]);
}
function base64ToUint8Array(base64) {
const binaryString = atob(base64);
const bytes = new Uint8Array(binaryString.length);
for (let i2 = 0;i2 < binaryString.length; i2++) {
bytes[i2] = binaryString.charCodeAt(i2);
}
return bytes;
}
function uint8ArrayToBase64(bytes) {
let binaryString = "";
for (let i2 = 0;i2 < bytes.length; i2++) {
binaryString += String.fromCharCode(bytes[i2]);
}
return btoa(binaryString);
}
function base64urlToUint8Array(base64url) {
const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
const padding = "=".repeat((4 - base64.length % 4) % 4);
return base64ToUint8Array(base64 + padding);
}
function uint8ArrayToBase64url(bytes) {
return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
}
function hexToUint8Array(hex) {
const cleanHex = hex.replace(/^0x/, "");
if (cleanHex.length % 2 !== 0) {
throw new Error("Invalid hex string length");
}
const bytes = new Uint8Array(cleanHex.length / 2);
for (let i2 = 0;i2 < cleanHex.length; i2 += 2) {
bytes[i2 / 2] = Number.parseInt(cleanHex.slice(i2, i2 + 2), 16);
}
return bytes;
}
function uint8ArrayToHex(bytes) {
return Array.from(bytes).map((b2) => b2.toString(16).padStart(2, "0")).join("");
}
class Class {
constructor(..._args) {}
}
var EVALUATING, captureStackTrace, allowsEval, getParsedType = (data) => {
const t = typeof data;
switch (t) {
case "undefined":
return "undefined";
case "string":
return "string";
case "number":
return Number.isNaN(data) ? "nan" : "number";
case "boolean":
return "boolean";
case "function":
return "function";
case "bigint":
return "bigint";
case "symbol":
return "symbol";
case "object":
if (Array.isArray(data)) {
return "array";
}
if (data === null) {
return "null";
}
if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
return "promise";
}
if (typeof Map !== "undefined" && data instanceof Map) {
return "map";
}
if (typeof Set !== "undefined" && data instanceof Set) {
return "set";
}
if (typeof Date !== "undefined" && data instanceof Date) {
return "date";
}
if (typeof File !== "undefined" && data instanceof File) {
return "file";
}
return "object";
default:
throw new Error(`Unknown data type: ${t}`);
}
}, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES;
var init_util2 = __esm(() => {
EVALUATING = Symbol("evaluating");
captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {};
allowsEval = cached(() => {
if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
return false;
}
try {
const F2 = Function;
new F2("");
return true;
} catch (_2) {
return false;
}
});
propertyKeyTypes = new Set(["string", "number", "symbol"]);
primitiveTypes = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
NUMBER_FORMAT_RANGES = {
safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
int32: [-2147483648, 2147483647],
uint32: [0, 4294967295],
float32: [-340282346638528860000000000000000000000, 340282346638528860000000000000000000000],
float64: [-Number.MAX_VALUE, Number.MAX_VALUE]
};
BIGINT_FORMAT_RANGES = {
int64: [/* @__PURE__ */ BigInt("-9223372036854775808"), /* @__PURE__ */ BigInt("9223372036854775807")],
uint64: [/* @__PURE__ */ BigInt(0), /* @__PURE__ */ BigInt("18446744073709551615")]
};
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.js
function flattenError(error2, mapper = (issue2) => issue2.message) {
const fieldErrors = {};
const formErrors = [];
for (const sub of error2.issues) {
if (sub.path.length > 0) {
fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
fieldErrors[sub.path[0]].push(mapper(sub));
} else {
formErrors.push(mapper(sub));
}
}
return { formErrors, fieldErrors };
}
function formatError(error2, mapper = (issue2) => issue2.message) {
const fieldErrors = { _errors: [] };
const processError = (error3) => {
for (const issue2 of error3.issues) {
if (issue2.code === "invalid_union" && issue2.errors.length) {
issue2.errors.map((issues) => processError({ issues }));
} else if (issue2.code === "invalid_key") {
processError({ issues: issue2.issues });
} else if (issue2.code === "invalid_element") {
processError({ issues: issue2.issues });
} else if (issue2.path.length === 0) {
fieldErrors._errors.push(mapper(issue2));
} else {
let curr = fieldErrors;
let i2 = 0;
while (i2 < issue2.path.length) {
const el = issue2.path[i2];
const terminal = i2 === issue2.path.length - 1;
if (!terminal) {
curr[el] = curr[el] || { _errors: [] };
} else {
curr[el] = curr[el] || { _errors: [] };
curr[el]._errors.push(mapper(issue2));
}
curr = curr[el];
i2++;
}
}
}
};
processError(error2);
return fieldErrors;
}
function treeifyError(error2, mapper = (issue2) => issue2.message) {
const result = { errors: [] };
const processError = (error3, path9 = []) => {
var _a2, _b;
for (const issue2 of error3.issues) {
if (issue2.code === "invalid_union" && issue2.errors.length) {
issue2.errors.map((issues) => processError({ issues }, issue2.path));
} else if (issue2.code === "invalid_key") {
processError({ issues: issue2.issues }, issue2.path);
} else if (issue2.code === "invalid_element") {
processError({ issues: issue2.issues }, issue2.path);
} else {
const fullpath = [...path9, ...issue2.path];
if (fullpath.length === 0) {
result.errors.push(mapper(issue2));
continue;
}
let curr = result;
let i2 = 0;
while (i2 < fullpath.length) {
const el = fullpath[i2];
const terminal = i2 === fullpath.length - 1;
if (typeof el === "string") {
curr.properties ?? (curr.properties = {});
(_a2 = curr.properties)[el] ?? (_a2[el] = { errors: [] });
curr = curr.properties[el];
} else {
curr.items ?? (curr.items = []);
(_b = curr.items)[el] ?? (_b[el] = { errors: [] });
curr = curr.items[el];
}
if (terminal) {
curr.errors.push(mapper(issue2));
}
i2++;
}
}
}
};
processError(error2);
return result;
}
function toDotPath(_path) {
const segs = [];
const path9 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
for (const seg of path9) {
if (typeof seg === "number")
segs.push(`[${seg}]`);
else if (typeof seg === "symbol")
segs.push(`[${JSON.stringify(String(seg))}]`);
else if (/[^\w$]/.test(seg))
segs.push(`[${JSON.stringify(seg)}]`);
else {
if (segs.length)
segs.push(".");
segs.push(seg);
}
}
return segs.join("");
}
function prettifyError(error2) {
const lines = [];
const issues = [...error2.issues].sort((a2, b2) => (a2.path ?? []).length - (b2.path ?? []).length);
for (const issue2 of issues) {
lines.push(`✖ ${issue2.message}`);
if (issue2.path?.length)
lines.push(` → at ${toDotPath(issue2.path)}`);
}
return lines.join(`
`);
}
var initializer = (inst, def) => {
inst.name = "$ZodError";
Object.defineProperty(inst, "_zod", {
value: inst._zod,
enumerable: false
});
Object.defineProperty(inst, "issues", {
value: def,
enumerable: false
});
inst.message = JSON.stringify(def, jsonStringifyReplacer, 2);
Object.defineProperty(inst, "toString", {
value: () => inst.message,
enumerable: false
});
}, $ZodError, $ZodRealError;
var init_errors2 = __esm(() => {
init_core3();
init_util2();
$ZodError = $constructor("$ZodError", initializer);
$ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.js
var _parse = (_Err) => (schema, value, _ctx, _params) => {
const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
const result = schema._zod.run({ value, issues: [] }, ctx);
if (result instanceof Promise) {
throw new $ZodAsyncError;
}
if (result.issues.length) {
const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
captureStackTrace(e, _params?.callee);
throw e;
}
return result.value;
}, parse3, _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
let result = schema._zod.run({ value, issues: [] }, ctx);
if (result instanceof Promise)
result = await result;
if (result.issues.length) {
const e = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
captureStackTrace(e, params?.callee);
throw e;
}
return result.value;
}, parseAsync, _safeParse = (_Err) => (schema, value, _ctx) => {
const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
const result = schema._zod.run({ value, issues: [] }, ctx);
if (result instanceof Promise) {
throw new $ZodAsyncError;
}
return result.issues.length ? {
success: false,
error: new (_Err ?? $ZodError)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
} : { success: true, data: result.value };
}, safeParse, _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
let result = schema._zod.run({ value, issues: [] }, ctx);
if (result instanceof Promise)
result = await result;
return result.issues.length ? {
success: false,
error: new _Err(result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
} : { success: true, data: result.value };
}, safeParseAsync, _encode = (_Err) => (schema, value, _ctx) => {
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
return _parse(_Err)(schema, value, ctx);
}, encode3, _decode = (_Err) => (schema, value, _ctx) => {
return _parse(_Err)(schema, value, _ctx);
}, decode, _encodeAsync = (_Err) => async (schema, value, _ctx) => {
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
return _parseAsync(_Err)(schema, value, ctx);
}, encodeAsync, _decodeAsync = (_Err) => async (schema, value, _ctx) => {
return _parseAsync(_Err)(schema, value, _ctx);
}, decodeAsync, _safeEncode = (_Err) => (schema, value, _ctx) => {
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
return _safeParse(_Err)(schema, value, ctx);
}, safeEncode, _safeDecode = (_Err) => (schema, value, _ctx) => {
return _safeParse(_Err)(schema, value, _ctx);
}, safeDecode, _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
return _safeParseAsync(_Err)(schema, value, ctx);
}, safeEncodeAsync, _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
return _safeParseAsync(_Err)(schema, value, _ctx);
}, safeDecodeAsync;
var init_parse2 = __esm(() => {
init_core3();
init_errors2();
init_util2();
parse3 = /* @__PURE__ */ _parse($ZodRealError);
parseAsync = /* @__PURE__ */ _parseAsync($ZodRealError);
safeParse = /* @__PURE__ */ _safeParse($ZodRealError);
safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
encode3 = /* @__PURE__ */ _encode($ZodRealError);
decode = /* @__PURE__ */ _decode($ZodRealError);
encodeAsync = /* @__PURE__ */ _encodeAsync($ZodRealError);
decodeAsync = /* @__PURE__ */ _decodeAsync($ZodRealError);
safeEncode = /* @__PURE__ */ _safeEncode($ZodRealError);
safeDecode = /* @__PURE__ */ _safeDecode($ZodRealError);
safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync($ZodRealError);
safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.js
var exports_regexes = {};
__export(exports_regexes, {
xid: () => xid,
uuid7: () => uuid7,
uuid6: () => uuid6,
uuid4: () => uuid42,
uuid: () => uuid,
uppercase: () => uppercase,
unicodeEmail: () => unicodeEmail,
undefined: () => _undefined,
ulid: () => ulid,
time: () => time,
string: () => string,
sha512_hex: () => sha512_hex,
sha512_base64url: () => sha512_base64url,
sha512_base64: () => sha512_base64,
sha384_hex: () => sha384_hex,
sha384_base64url: () => sha384_base64url,
sha384_base64: () => sha384_base64,
sha256_hex: () => sha256_hex,
sha256_base64url: () => sha256_base64url,
sha256_base64: () => sha256_base64,
sha1_hex: () => sha1_hex,
sha1_base64url: () => sha1_base64url,
sha1_base64: () => sha1_base64,
rfc5322Email: () => rfc5322Email,
number: () => number,
null: () => _null,
nanoid: () => nanoid,
md5_hex: () => md5_hex,
md5_base64url: () => md5_base64url,
md5_base64: () => md5_base64,
mac: () => mac,
lowercase: () => lowercase,
ksuid: () => ksuid,
ipv6: () => ipv6,
ipv4: () => ipv4,
integer: () => integer,
idnEmail: () => idnEmail,
html5Email: () => html5Email,
hostname: () => hostname,
hex: () => hex,
guid: () => guid,
extendedDuration: () => extendedDuration,
emoji: () => emoji,
email: () => email,
e164: () => e164,
duration: () => duration,
domain: () => domain,
datetime: () => datetime,
date: () => date,
cuid2: () => cuid2,
cuid: () => cuid,
cidrv6: () => cidrv6,
cidrv4: () => cidrv4,
browserEmail: () => browserEmail,
boolean: () => boolean,
bigint: () => bigint,
base64url: () => base64url,
base64: () => base64
});
function emoji() {
return new RegExp(_emoji, "u");
}
function timeSource(args) {
const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
const regex2 = typeof args.precision === "number" ? args.precision === -1 ? `${hhmm}` : args.precision === 0 ? `${hhmm}:[0-5]\\d` : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}` : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
return regex2;
}
function time(args) {
return new RegExp(`^${timeSource(args)}$`);
}
function datetime(args) {
const time2 = timeSource({ precision: args.precision });
const opts = ["Z"];
if (args.local)
opts.push("");
if (args.offset)
opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
const timeRegex = `${time2}(?:${opts.join("|")})`;
return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
}
function fixedBase64(bodyLength, padding) {
return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
}
function fixedBase64url(length) {
return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
}
var cuid, cuid2, ulid, xid, ksuid, nanoid, duration, extendedDuration, guid, uuid = (version) => {
if (!version)
return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
}, uuid42, uuid6, uuid7, email, html5Email, rfc5322Email, unicodeEmail, idnEmail, browserEmail, _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`, ipv4, ipv6, mac = (delimiter) => {
const escapedDelim = escapeRegex(delimiter ?? ":");
return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
}, cidrv4, cidrv6, base64, base64url, hostname, domain, e164, dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`, date, string = (params) => {
const regex2 = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
return new RegExp(`^${regex2}$`);
}, bigint, integer, number, boolean, _null, _undefined, lowercase, uppercase, hex, md5_hex, md5_base64, md5_base64url, sha1_hex, sha1_base64, sha1_base64url, sha256_hex, sha256_base64, sha256_base64url, sha384_hex, sha384_base64, sha384_base64url, sha512_hex, sha512_base64, sha512_base64url;
var init_regexes = __esm(() => {
init_util2();
cuid = /^[cC][^\s-]{8,}$/;
cuid2 = /^[0-9a-z]+$/;
ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
xid = /^[0-9a-vA-V]{20}$/;
ksuid = /^[A-Za-z0-9]{27}$/;
nanoid = /^[a-zA-Z0-9_-]{21}$/;
duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
uuid42 = /* @__PURE__ */ uuid(4);
uuid6 = /* @__PURE__ */ uuid(6);
uuid7 = /* @__PURE__ */ uuid(7);
email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
idnEmail = unicodeEmail;
browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
base64url = /^[A-Za-z0-9_-]*$/;
hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
e164 = /^\+[1-9]\d{6,14}$/;
date = /* @__PURE__ */ new RegExp(`^${dateSource}$`);
bigint = /^-?\d+n?$/;
integer = /^-?\d+$/;
number = /^-?\d+(?:\.\d+)?$/;
boolean = /^(?:true|false)$/i;
_null = /^null$/i;
_undefined = /^undefined$/i;
lowercase = /^[^A-Z]*$/;
uppercase = /^[^a-z]*$/;
hex = /^[0-9a-fA-F]*$/;
md5_hex = /^[0-9a-fA-F]{32}$/;
md5_base64 = /* @__PURE__ */ fixedBase64(22, "==");
md5_base64url = /* @__PURE__ */ fixedBase64url(22);
sha1_hex = /^[0-9a-fA-F]{40}$/;
sha1_base64 = /* @__PURE__ */ fixedBase64(27, "=");
sha1_base64url = /* @__PURE__ */ fixedBase64url(27);
sha256_hex = /^[0-9a-fA-F]{64}$/;
sha256_base64 = /* @__PURE__ */ fixedBase64(43, "=");
sha256_base64url = /* @__PURE__ */ fixedBase64url(43);
sha384_hex = /^[0-9a-fA-F]{96}$/;
sha384_base64 = /* @__PURE__ */ fixedBase64(64, "");
sha384_base64url = /* @__PURE__ */ fixedBase64url(64);
sha512_hex = /^[0-9a-fA-F]{128}$/;
sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.js
function handleCheckPropertyResult(result, payload, property2) {
if (result.issues.length) {
payload.issues.push(...prefixIssues(property2, result.issues));
}
}
var $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckBigIntFormat, $ZodCheckMaxSize, $ZodCheckMinSize, $ZodCheckSizeEquals, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckProperty, $ZodCheckMimeType, $ZodCheckOverwrite;
var init_checks = __esm(() => {
init_core3();
init_regexes();
init_util2();
$ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
var _a2;
inst._zod ?? (inst._zod = {});
inst._zod.def = def;
(_a2 = inst._zod).onattach ?? (_a2.onattach = []);
});
numericOriginMap = {
number: "number",
bigint: "bigint",
object: "date"
};
$ZodCheckLessThan = /* @__PURE__ */ $constructor("$ZodCheckLessThan", (inst, def) => {
$ZodCheck.init(inst, def);
const origin2 = numericOriginMap[typeof def.value];
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
if (def.value < curr) {
if (def.inclusive)
bag.maximum = def.value;
else
bag.exclusiveMaximum = def.value;
}
});
inst._zod.check = (payload) => {
if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
return;
}
payload.issues.push({
origin: origin2,
code: "too_big",
maximum: typeof def.value === "object" ? def.value.getTime() : def.value,
input: payload.value,
inclusive: def.inclusive,
inst,
continue: !def.abort
});
};
});
$ZodCheckGreaterThan = /* @__PURE__ */ $constructor("$ZodCheckGreaterThan", (inst, def) => {
$ZodCheck.init(inst, def);
const origin2 = numericOriginMap[typeof def.value];
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
if (def.value > curr) {
if (def.inclusive)
bag.minimum = def.value;
else
bag.exclusiveMinimum = def.value;
}
});
inst._zod.check = (payload) => {
if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
return;
}
payload.issues.push({
origin: origin2,
code: "too_small",
minimum: typeof def.value === "object" ? def.value.getTime() : def.value,
input: payload.value,
inclusive: def.inclusive,
inst,
continue: !def.abort
});
};
});
$ZodCheckMultipleOf = /* @__PURE__ */ $constructor("$ZodCheckMultipleOf", (inst, def) => {
$ZodCheck.init(inst, def);
inst._zod.onattach.push((inst2) => {
var _a2;
(_a2 = inst2._zod.bag).multipleOf ?? (_a2.multipleOf = def.value);
});
inst._zod.check = (payload) => {
if (typeof payload.value !== typeof def.value)
throw new Error("Cannot mix number and bigint in multiple_of check.");
const isMultiple = typeof payload.value === "bigint" ? payload.value % def.value === BigInt(0) : floatSafeRemainder(payload.value, def.value) === 0;
if (isMultiple)
return;
payload.issues.push({
origin: typeof payload.value,
code: "not_multiple_of",
divisor: def.value,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckNumberFormat = /* @__PURE__ */ $constructor("$ZodCheckNumberFormat", (inst, def) => {
$ZodCheck.init(inst, def);
def.format = def.format || "float64";
const isInt = def.format?.includes("int");
const origin2 = isInt ? "int" : "number";
const [minimum, maximum] = NUMBER_FORMAT_RANGES[def.format];
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.format = def.format;
bag.minimum = minimum;
bag.maximum = maximum;
if (isInt)
bag.pattern = integer;
});
inst._zod.check = (payload) => {
const input = payload.value;
if (isInt) {
if (!Number.isInteger(input)) {
payload.issues.push({
expected: origin2,
format: def.format,
code: "invalid_type",
continue: false,
input,
inst
});
return;
}
if (!Number.isSafeInteger(input)) {
if (input > 0) {
payload.issues.push({
input,
code: "too_big",
maximum: Number.MAX_SAFE_INTEGER,
note: "Integers must be within the safe integer range.",
inst,
origin: origin2,
inclusive: true,
continue: !def.abort
});
} else {
payload.issues.push({
input,
code: "too_small",
minimum: Number.MIN_SAFE_INTEGER,
note: "Integers must be within the safe integer range.",
inst,
origin: origin2,
inclusive: true,
continue: !def.abort
});
}
return;
}
}
if (input < minimum) {
payload.issues.push({
origin: "number",
input,
code: "too_small",
minimum,
inclusive: true,
inst,
continue: !def.abort
});
}
if (input > maximum) {
payload.issues.push({
origin: "number",
input,
code: "too_big",
maximum,
inclusive: true,
inst,
continue: !def.abort
});
}
};
});
$ZodCheckBigIntFormat = /* @__PURE__ */ $constructor("$ZodCheckBigIntFormat", (inst, def) => {
$ZodCheck.init(inst, def);
const [minimum, maximum] = BIGINT_FORMAT_RANGES[def.format];
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.format = def.format;
bag.minimum = minimum;
bag.maximum = maximum;
});
inst._zod.check = (payload) => {
const input = payload.value;
if (input < minimum) {
payload.issues.push({
origin: "bigint",
input,
code: "too_small",
minimum,
inclusive: true,
inst,
continue: !def.abort
});
}
if (input > maximum) {
payload.issues.push({
origin: "bigint",
input,
code: "too_big",
maximum,
inclusive: true,
inst,
continue: !def.abort
});
}
};
});
$ZodCheckMaxSize = /* @__PURE__ */ $constructor("$ZodCheckMaxSize", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.size !== undefined;
});
inst._zod.onattach.push((inst2) => {
const curr = inst2._zod.bag.maximum ?? Number.POSITIVE_INFINITY;
if (def.maximum < curr)
inst2._zod.bag.maximum = def.maximum;
});
inst._zod.check = (payload) => {
const input = payload.value;
const size = input.size;
if (size <= def.maximum)
return;
payload.issues.push({
origin: getSizableOrigin(input),
code: "too_big",
maximum: def.maximum,
inclusive: true,
input,
inst,
continue: !def.abort
});
};
});
$ZodCheckMinSize = /* @__PURE__ */ $constructor("$ZodCheckMinSize", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.size !== undefined;
});
inst._zod.onattach.push((inst2) => {
const curr = inst2._zod.bag.minimum ?? Number.NEGATIVE_INFINITY;
if (def.minimum > curr)
inst2._zod.bag.minimum = def.minimum;
});
inst._zod.check = (payload) => {
const input = payload.value;
const size = input.size;
if (size >= def.minimum)
return;
payload.issues.push({
origin: getSizableOrigin(input),
code: "too_small",
minimum: def.minimum,
inclusive: true,
input,
inst,
continue: !def.abort
});
};
});
$ZodCheckSizeEquals = /* @__PURE__ */ $constructor("$ZodCheckSizeEquals", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.size !== undefined;
});
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.minimum = def.size;
bag.maximum = def.size;
bag.size = def.size;
});
inst._zod.check = (payload) => {
const input = payload.value;
const size = input.size;
if (size === def.size)
return;
const tooBig = size > def.size;
payload.issues.push({
origin: getSizableOrigin(input),
...tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size },
inclusive: true,
exact: true,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckMaxLength = /* @__PURE__ */ $constructor("$ZodCheckMaxLength", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.length !== undefined;
});
inst._zod.onattach.push((inst2) => {
const curr = inst2._zod.bag.maximum ?? Number.POSITIVE_INFINITY;
if (def.maximum < curr)
inst2._zod.bag.maximum = def.maximum;
});
inst._zod.check = (payload) => {
const input = payload.value;
const length = input.length;
if (length <= def.maximum)
return;
const origin2 = getLengthableOrigin(input);
payload.issues.push({
origin: origin2,
code: "too_big",
maximum: def.maximum,
inclusive: true,
input,
inst,
continue: !def.abort
});
};
});
$ZodCheckMinLength = /* @__PURE__ */ $constructor("$ZodCheckMinLength", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.length !== undefined;
});
inst._zod.onattach.push((inst2) => {
const curr = inst2._zod.bag.minimum ?? Number.NEGATIVE_INFINITY;
if (def.minimum > curr)
inst2._zod.bag.minimum = def.minimum;
});
inst._zod.check = (payload) => {
const input = payload.value;
const length = input.length;
if (length >= def.minimum)
return;
const origin2 = getLengthableOrigin(input);
payload.issues.push({
origin: origin2,
code: "too_small",
minimum: def.minimum,
inclusive: true,
input,
inst,
continue: !def.abort
});
};
});
$ZodCheckLengthEquals = /* @__PURE__ */ $constructor("$ZodCheckLengthEquals", (inst, def) => {
var _a2;
$ZodCheck.init(inst, def);
(_a2 = inst._zod.def).when ?? (_a2.when = (payload) => {
const val = payload.value;
return !nullish(val) && val.length !== undefined;
});
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.minimum = def.length;
bag.maximum = def.length;
bag.length = def.length;
});
inst._zod.check = (payload) => {
const input = payload.value;
const length = input.length;
if (length === def.length)
return;
const origin2 = getLengthableOrigin(input);
const tooBig = length > def.length;
payload.issues.push({
origin: origin2,
...tooBig ? { code: "too_big", maximum: def.length } : { code: "too_small", minimum: def.length },
inclusive: true,
exact: true,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckStringFormat = /* @__PURE__ */ $constructor("$ZodCheckStringFormat", (inst, def) => {
var _a2, _b;
$ZodCheck.init(inst, def);
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.format = def.format;
if (def.pattern) {
bag.patterns ?? (bag.patterns = new Set);
bag.patterns.add(def.pattern);
}
});
if (def.pattern)
(_a2 = inst._zod).check ?? (_a2.check = (payload) => {
def.pattern.lastIndex = 0;
if (def.pattern.test(payload.value))
return;
payload.issues.push({
origin: "string",
code: "invalid_format",
format: def.format,
input: payload.value,
...def.pattern ? { pattern: def.pattern.toString() } : {},
inst,
continue: !def.abort
});
});
else
(_b = inst._zod).check ?? (_b.check = () => {});
});
$ZodCheckRegex = /* @__PURE__ */ $constructor("$ZodCheckRegex", (inst, def) => {
$ZodCheckStringFormat.init(inst, def);
inst._zod.check = (payload) => {
def.pattern.lastIndex = 0;
if (def.pattern.test(payload.value))
return;
payload.issues.push({
origin: "string",
code: "invalid_format",
format: "regex",
input: payload.value,
pattern: def.pattern.toString(),
inst,
continue: !def.abort
});
};
});
$ZodCheckLowerCase = /* @__PURE__ */ $constructor("$ZodCheckLowerCase", (inst, def) => {
def.pattern ?? (def.pattern = lowercase);
$ZodCheckStringFormat.init(inst, def);
});
$ZodCheckUpperCase = /* @__PURE__ */ $constructor("$ZodCheckUpperCase", (inst, def) => {
def.pattern ?? (def.pattern = uppercase);
$ZodCheckStringFormat.init(inst, def);
});
$ZodCheckIncludes = /* @__PURE__ */ $constructor("$ZodCheckIncludes", (inst, def) => {
$ZodCheck.init(inst, def);
const escapedRegex = escapeRegex(def.includes);
const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);
def.pattern = pattern;
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.patterns ?? (bag.patterns = new Set);
bag.patterns.add(pattern);
});
inst._zod.check = (payload) => {
if (payload.value.includes(def.includes, def.position))
return;
payload.issues.push({
origin: "string",
code: "invalid_format",
format: "includes",
includes: def.includes,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckStartsWith = /* @__PURE__ */ $constructor("$ZodCheckStartsWith", (inst, def) => {
$ZodCheck.init(inst, def);
const pattern = new RegExp(`^${escapeRegex(def.prefix)}.*`);
def.pattern ?? (def.pattern = pattern);
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.patterns ?? (bag.patterns = new Set);
bag.patterns.add(pattern);
});
inst._zod.check = (payload) => {
if (payload.value.startsWith(def.prefix))
return;
payload.issues.push({
origin: "string",
code: "invalid_format",
format: "starts_with",
prefix: def.prefix,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckEndsWith = /* @__PURE__ */ $constructor("$ZodCheckEndsWith", (inst, def) => {
$ZodCheck.init(inst, def);
const pattern = new RegExp(`.*${escapeRegex(def.suffix)}$`);
def.pattern ?? (def.pattern = pattern);
inst._zod.onattach.push((inst2) => {
const bag = inst2._zod.bag;
bag.patterns ?? (bag.patterns = new Set);
bag.patterns.add(pattern);
});
inst._zod.check = (payload) => {
if (payload.value.endsWith(def.suffix))
return;
payload.issues.push({
origin: "string",
code: "invalid_format",
format: "ends_with",
suffix: def.suffix,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCheckProperty = /* @__PURE__ */ $constructor("$ZodCheckProperty", (inst, def) => {
$ZodCheck.init(inst, def);
inst._zod.check = (payload) => {
const result = def.schema._zod.run({
value: payload.value[def.property],
issues: []
}, {});
if (result instanceof Promise) {
return result.then((result2) => handleCheckPropertyResult(result2, payload, def.property));
}
handleCheckPropertyResult(result, payload, def.property);
return;
};
});
$ZodCheckMimeType = /* @__PURE__ */ $constructor("$ZodCheckMimeType", (inst, def) => {
$ZodCheck.init(inst, def);
const mimeSet = new Set(def.mime);
inst._zod.onattach.push((inst2) => {
inst2._zod.bag.mime = def.mime;
});
inst._zod.check = (payload) => {
if (mimeSet.has(payload.value.type))
return;
payload.issues.push({
code: "invalid_value",
values: def.mime,
input: payload.value.type,
inst,
continue: !def.abort
});
};
});
$ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (inst, def) => {
$ZodCheck.init(inst, def);
inst._zod.check = (payload) => {
payload.value = def.tx(payload.value);
};
});
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.js
class Doc {
constructor(args = []) {
this.content = [];
this.indent = 0;
if (this)
this.args = args;
}
indented(fn) {
this.indent += 1;
fn(this);
this.indent -= 1;
}
write(arg) {
if (typeof arg === "function") {
arg(this, { execution: "sync" });
arg(this, { execution: "async" });
return;
}
const content = arg;
const lines = content.split(`
`).filter((x3) => x3);
const minIndent = Math.min(...lines.map((x3) => x3.length - x3.trimStart().length));
const dedented = lines.map((x3) => x3.slice(minIndent)).map((x3) => " ".repeat(this.indent * 2) + x3);
for (const line of dedented) {
this.content.push(line);
}
}
compile() {
const F2 = Function;
const args = this?.args;
const content = this?.content ?? [``];
const lines = [...content.map((x3) => ` ${x3}`)];
return new F2(...args, lines.join(`
`));
}
}
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.js
var version;
var init_versions2 = __esm(() => {
version = {
major: 4,
minor: 3,
patch: 6
};
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js
function isValidBase64(data) {
if (data === "")
return true;
if (data.length % 4 !== 0)
return false;
try {
atob(data);
return true;
} catch {
return false;
}
}
function isValidBase64URL(data) {
if (!base64url.test(data))
return false;
const base642 = data.replace(/[-_]/g, (c5) => c5 === "-" ? "+" : "/");
const padded = base642.padEnd(Math.ceil(base642.length / 4) * 4, "=");
return isValidBase64(padded);
}
function isValidJWT(token, algorithm = null) {
try {
const tokensParts = token.split(".");
if (tokensParts.length !== 3)
return false;
const [header] = tokensParts;
if (!header)
return false;
const parsedHeader = JSON.parse(atob(header));
if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
return false;
if (!parsedHeader.alg)
return false;
if (algorithm && (!("alg" in parsedHeader) || parsedHeader.alg !== algorithm))
return false;
return true;
} catch {
return false;
}
}
function handleArrayResult(result, final, index) {
if (result.issues.length) {
final.issues.push(...prefixIssues(index, result.issues));
}
final.value[index] = result.value;
}
function handlePropertyResult(result, final, key, input, isOptionalOut) {
if (result.issues.length) {
if (isOptionalOut && !(key in input)) {
return;
}
final.issues.push(...prefixIssues(key, result.issues));
}
if (result.value === undefined) {
if (key in input) {
final.value[key] = undefined;
}
} else {
final.value[key] = result.value;
}
}
function normalizeDef(def) {
const keys2 = Object.keys(def.shape);
for (const k2 of keys2) {
if (!def.shape?.[k2]?._zod?.traits?.has("$ZodType")) {
throw new Error(`Invalid element at key "${k2}": expected a Zod schema`);
}
}
const okeys = optionalKeys(def.shape);
return {
...def,
keys: keys2,
keySet: new Set(keys2),
numKeys: keys2.length,
optionalKeys: new Set(okeys)
};
}
function handleCatchall(proms, input, payload, ctx, def, inst) {
const unrecognized = [];
const keySet = def.keySet;
const _catchall = def.catchall._zod;
const t = _catchall.def.type;
const isOptionalOut = _catchall.optout === "optional";
for (const key in input) {
if (keySet.has(key))
continue;
if (t === "never") {
unrecognized.push(key);
continue;
}
const r = _catchall.run({ value: input[key], issues: [] }, ctx);
if (r instanceof Promise) {
proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalOut)));
} else {
handlePropertyResult(r, payload, key, input, isOptionalOut);
}
}
if (unrecognized.length) {
payload.issues.push({
code: "unrecognized_keys",
keys: unrecognized,
input,
inst
});
}
if (!proms.length)
return payload;
return Promise.all(proms).then(() => {
return payload;
});
}
function handleUnionResults(results, final, inst, ctx) {
for (const result of results) {
if (result.issues.length === 0) {
final.value = result.value;
return final;
}
}
const nonaborted = results.filter((r) => !aborted2(r));
if (nonaborted.length === 1) {
final.value = nonaborted[0].value;
return nonaborted[0];
}
final.issues.push({
code: "invalid_union",
input: final.value,
inst,
errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
});
return final;
}
function handleExclusiveUnionResults(results, final, inst, ctx) {
const successes = results.filter((r) => r.issues.length === 0);
if (successes.length === 1) {
final.value = successes[0].value;
return final;
}
if (successes.length === 0) {
final.issues.push({
code: "invalid_union",
input: final.value,
inst,
errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config())))
});
} else {
final.issues.push({
code: "invalid_union",
input: final.value,
inst,
errors: [],
inclusive: false
});
}
return final;
}
function mergeValues(a2, b2) {
if (a2 === b2) {
return { valid: true, data: a2 };
}
if (a2 instanceof Date && b2 instanceof Date && +a2 === +b2) {
return { valid: true, data: a2 };
}
if (isPlainObject4(a2) && isPlainObject4(b2)) {
const bKeys = Object.keys(b2);
const sharedKeys = Object.keys(a2).filter((key) => bKeys.indexOf(key) !== -1);
const newObj = { ...a2, ...b2 };
for (const key of sharedKeys) {
const sharedValue = mergeValues(a2[key], b2[key]);
if (!sharedValue.valid) {
return {
valid: false,
mergeErrorPath: [key, ...sharedValue.mergeErrorPath]
};
}
newObj[key] = sharedValue.data;
}
return { valid: true, data: newObj };
}
if (Array.isArray(a2) && Array.isArray(b2)) {
if (a2.length !== b2.length) {
return { valid: false, mergeErrorPath: [] };
}
const newArray = [];
for (let index = 0;index < a2.length; index++) {
const itemA = a2[index];
const itemB = b2[index];
const sharedValue = mergeValues(itemA, itemB);
if (!sharedValue.valid) {
return {
valid: false,
mergeErrorPath: [index, ...sharedValue.mergeErrorPath]
};
}
newArray.push(sharedValue.data);
}
return { valid: true, data: newArray };
}
return { valid: false, mergeErrorPath: [] };
}
function handleIntersectionResults(result, left, right) {
const unrecKeys = new Map;
let unrecIssue;
for (const iss of left.issues) {
if (iss.code === "unrecognized_keys") {
unrecIssue ?? (unrecIssue = iss);
for (const k2 of iss.keys) {
if (!unrecKeys.has(k2))
unrecKeys.set(k2, {});
unrecKeys.get(k2).l = true;
}
} else {
result.issues.push(iss);
}
}
for (const iss of right.issues) {
if (iss.code === "unrecognized_keys") {
for (const k2 of iss.keys) {
if (!unrecKeys.has(k2))
unrecKeys.set(k2, {});
unrecKeys.get(k2).r = true;
}
} else {
result.issues.push(iss);
}
}
const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k2]) => k2);
if (bothKeys.length && unrecIssue) {
result.issues.push({ ...unrecIssue, keys: bothKeys });
}
if (aborted2(result))
return result;
const merged = mergeValues(left.value, right.value);
if (!merged.valid) {
throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);
}
result.value = merged.data;
return result;
}
function handleTupleResult(result, final, index) {
if (result.issues.length) {
final.issues.push(...prefixIssues(index, result.issues));
}
final.value[index] = result.value;
}
function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
if (keyResult.issues.length) {
if (propertyKeyTypes.has(typeof key)) {
final.issues.push(...prefixIssues(key, keyResult.issues));
} else {
final.issues.push({
code: "invalid_key",
origin: "map",
input,
inst,
issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config()))
});
}
}
if (valueResult.issues.length) {
if (propertyKeyTypes.has(typeof key)) {
final.issues.push(...prefixIssues(key, valueResult.issues));
} else {
final.issues.push({
origin: "map",
code: "invalid_element",
input,
inst,
key,
issues: valueResult.issues.map((iss) => finalizeIssue(iss, ctx, config()))
});
}
}
final.value.set(keyResult.value, valueResult.value);
}
function handleSetResult(result, final) {
if (result.issues.length) {
final.issues.push(...result.issues);
}
final.value.add(result.value);
}
function handleOptionalResult(result, input) {
if (result.issues.length && input === undefined) {
return { issues: [], value: undefined };
}
return result;
}
function handleDefaultResult(payload, def) {
if (payload.value === undefined) {
payload.value = def.defaultValue;
}
return payload;
}
function handleNonOptionalResult(payload, inst) {
if (!payload.issues.length && payload.value === undefined) {
payload.issues.push({
code: "invalid_type",
expected: "nonoptional",
input: payload.value,
inst
});
}
return payload;
}
function handlePipeResult(left, next, ctx) {
if (left.issues.length) {
left.aborted = true;
return left;
}
return next._zod.run({ value: left.value, issues: left.issues }, ctx);
}
function handleCodecAResult(result, def, ctx) {
if (result.issues.length) {
result.aborted = true;
return result;
}
const direction = ctx.direction || "forward";
if (direction === "forward") {
const transformed = def.transform(result.value, result);
if (transformed instanceof Promise) {
return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
}
return handleCodecTxResult(result, transformed, def.out, ctx);
} else {
const transformed = def.reverseTransform(result.value, result);
if (transformed instanceof Promise) {
return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
}
return handleCodecTxResult(result, transformed, def.in, ctx);
}
}
function handleCodecTxResult(left, value, nextSchema, ctx) {
if (left.issues.length) {
left.aborted = true;
return left;
}
return nextSchema._zod.run({ value, issues: left.issues }, ctx);
}
function handleReadonlyResult(payload) {
payload.value = Object.freeze(payload.value);
return payload;
}
function handleRefineResult(result, payload, input, inst) {
if (!result) {
const _iss = {
code: "custom",
input,
inst,
path: [...inst._zod.def.path ?? []],
continue: !inst._zod.def.abort
};
if (inst._zod.def.params)
_iss.params = inst._zod.def.params;
payload.issues.push(issue(_iss));
}
}
var $ZodType, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, $ZodIPv6, $ZodMAC, $ZodCIDRv4, $ZodCIDRv6, $ZodBase64, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodCustomStringFormat, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodBigInt, $ZodBigIntFormat, $ZodSymbol, $ZodUndefined, $ZodNull, $ZodAny, $ZodUnknown, $ZodNever, $ZodVoid, $ZodDate, $ZodArray, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodXor, $ZodDiscriminatedUnion, $ZodIntersection, $ZodTuple, $ZodRecord, $ZodMap, $ZodSet, $ZodEnum, $ZodLiteral, $ZodFile, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodSuccess, $ZodCatch, $ZodNaN, $ZodPipe, $ZodCodec, $ZodReadonly, $ZodTemplateLiteral, $ZodFunction, $ZodPromise, $ZodLazy, $ZodCustom;
var init_schemas = __esm(() => {
init_checks();
init_core3();
init_parse2();
init_regexes();
init_util2();
init_versions2();
init_util2();
$ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
var _a2;
inst ?? (inst = {});
inst._zod.def = def;
inst._zod.bag = inst._zod.bag || {};
inst._zod.version = version;
const checks = [...inst._zod.def.checks ?? []];
if (inst._zod.traits.has("$ZodCheck")) {
checks.unshift(inst);
}
for (const ch of checks) {
for (const fn of ch._zod.onattach) {
fn(inst);
}
}
if (checks.length === 0) {
(_a2 = inst._zod).deferred ?? (_a2.deferred = []);
inst._zod.deferred?.push(() => {
inst._zod.run = inst._zod.parse;
});
} else {
const runChecks = (payload, checks2, ctx) => {
let isAborted = aborted2(payload);
let asyncResult;
for (const ch of checks2) {
if (ch._zod.def.when) {
const shouldRun = ch._zod.def.when(payload);
if (!shouldRun)
continue;
} else if (isAborted) {
continue;
}
const currLen = payload.issues.length;
const _2 = ch._zod.check(payload);
if (_2 instanceof Promise && ctx?.async === false) {
throw new $ZodAsyncError;
}
if (asyncResult || _2 instanceof Promise) {
asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {
await _2;
const nextLen = payload.issues.length;
if (nextLen === currLen)
return;
if (!isAborted)
isAborted = aborted2(payload, currLen);
});
} else {
const nextLen = payload.issues.length;
if (nextLen === currLen)
continue;
if (!isAborted)
isAborted = aborted2(payload, currLen);
}
}
if (asyncResult) {
return asyncResult.then(() => {
return payload;
});
}
return payload;
};
const handleCanaryResult = (canary, payload, ctx) => {
if (aborted2(canary)) {
canary.aborted = true;
return canary;
}
const checkResult = runChecks(payload, checks, ctx);
if (checkResult instanceof Promise) {
if (ctx.async === false)
throw new $ZodAsyncError;
return checkResult.then((checkResult2) => inst._zod.parse(checkResult2, ctx));
}
return inst._zod.parse(checkResult, ctx);
};
inst._zod.run = (payload, ctx) => {
if (ctx.skipChecks) {
return inst._zod.parse(payload, ctx);
}
if (ctx.direction === "backward") {
const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
if (canary instanceof Promise) {
return canary.then((canary2) => {
return handleCanaryResult(canary2, payload, ctx);
});
}
return handleCanaryResult(canary, payload, ctx);
}
const result = inst._zod.parse(payload, ctx);
if (result instanceof Promise) {
if (ctx.async === false)
throw new $ZodAsyncError;
return result.then((result2) => runChecks(result2, checks, ctx));
}
return runChecks(result, checks, ctx);
};
}
defineLazy(inst, "~standard", () => ({
validate: (value) => {
try {
const r = safeParse(inst, value);
return r.success ? { value: r.data } : { issues: r.error?.issues };
} catch (_2) {
return safeParseAsync(inst, value).then((r) => r.success ? { value: r.data } : { issues: r.error?.issues });
}
},
vendor: "zod",
version: 1
}));
});
$ZodString = /* @__PURE__ */ $constructor("$ZodString", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = [...inst?._zod.bag?.patterns ?? []].pop() ?? string(inst._zod.bag);
inst._zod.parse = (payload, _2) => {
if (def.coerce)
try {
payload.value = String(payload.value);
} catch (_3) {}
if (typeof payload.value === "string")
return payload;
payload.issues.push({
expected: "string",
code: "invalid_type",
input: payload.value,
inst
});
return payload;
};
});
$ZodStringFormat = /* @__PURE__ */ $constructor("$ZodStringFormat", (inst, def) => {
$ZodCheckStringFormat.init(inst, def);
$ZodString.init(inst, def);
});
$ZodGUID = /* @__PURE__ */ $constructor("$ZodGUID", (inst, def) => {
def.pattern ?? (def.pattern = guid);
$ZodStringFormat.init(inst, def);
});
$ZodUUID = /* @__PURE__ */ $constructor("$ZodUUID", (inst, def) => {
if (def.version) {
const versionMap = {
v1: 1,
v2: 2,
v3: 3,
v4: 4,
v5: 5,
v6: 6,
v7: 7,
v8: 8
};
const v2 = versionMap[def.version];
if (v2 === undefined)
throw new Error(`Invalid UUID version: "${def.version}"`);
def.pattern ?? (def.pattern = uuid(v2));
} else
def.pattern ?? (def.pattern = uuid());
$ZodStringFormat.init(inst, def);
});
$ZodEmail = /* @__PURE__ */ $constructor("$ZodEmail", (inst, def) => {
def.pattern ?? (def.pattern = email);
$ZodStringFormat.init(inst, def);
});
$ZodURL = /* @__PURE__ */ $constructor("$ZodURL", (inst, def) => {
$ZodStringFormat.init(inst, def);
inst._zod.check = (payload) => {
try {
const trimmed = payload.value.trim();
const url2 = new URL(trimmed);
if (def.hostname) {
def.hostname.lastIndex = 0;
if (!def.hostname.test(url2.hostname)) {
payload.issues.push({
code: "invalid_format",
format: "url",
note: "Invalid hostname",
pattern: def.hostname.source,
input: payload.value,
inst,
continue: !def.abort
});
}
}
if (def.protocol) {
def.protocol.lastIndex = 0;
if (!def.protocol.test(url2.protocol.endsWith(":") ? url2.protocol.slice(0, -1) : url2.protocol)) {
payload.issues.push({
code: "invalid_format",
format: "url",
note: "Invalid protocol",
pattern: def.protocol.source,
input: payload.value,
inst,
continue: !def.abort
});
}
}
if (def.normalize) {
payload.value = url2.href;
} else {
payload.value = trimmed;
}
return;
} catch (_2) {
payload.issues.push({
code: "invalid_format",
format: "url",
input: payload.value,
inst,
continue: !def.abort
});
}
};
});
$ZodEmoji = /* @__PURE__ */ $constructor("$ZodEmoji", (inst, def) => {
def.pattern ?? (def.pattern = emoji());
$ZodStringFormat.init(inst, def);
});
$ZodNanoID = /* @__PURE__ */ $constructor("$ZodNanoID", (inst, def) => {
def.pattern ?? (def.pattern = nanoid);
$ZodStringFormat.init(inst, def);
});
$ZodCUID = /* @__PURE__ */ $constructor("$ZodCUID", (inst, def) => {
def.pattern ?? (def.pattern = cuid);
$ZodStringFormat.init(inst, def);
});
$ZodCUID2 = /* @__PURE__ */ $constructor("$ZodCUID2", (inst, def) => {
def.pattern ?? (def.pattern = cuid2);
$ZodStringFormat.init(inst, def);
});
$ZodULID = /* @__PURE__ */ $constructor("$ZodULID", (inst, def) => {
def.pattern ?? (def.pattern = ulid);
$ZodStringFormat.init(inst, def);
});
$ZodXID = /* @__PURE__ */ $constructor("$ZodXID", (inst, def) => {
def.pattern ?? (def.pattern = xid);
$ZodStringFormat.init(inst, def);
});
$ZodKSUID = /* @__PURE__ */ $constructor("$ZodKSUID", (inst, def) => {
def.pattern ?? (def.pattern = ksuid);
$ZodStringFormat.init(inst, def);
});
$ZodISODateTime = /* @__PURE__ */ $constructor("$ZodISODateTime", (inst, def) => {
def.pattern ?? (def.pattern = datetime(def));
$ZodStringFormat.init(inst, def);
});
$ZodISODate = /* @__PURE__ */ $constructor("$ZodISODate", (inst, def) => {
def.pattern ?? (def.pattern = date);
$ZodStringFormat.init(inst, def);
});
$ZodISOTime = /* @__PURE__ */ $constructor("$ZodISOTime", (inst, def) => {
def.pattern ?? (def.pattern = time(def));
$ZodStringFormat.init(inst, def);
});
$ZodISODuration = /* @__PURE__ */ $constructor("$ZodISODuration", (inst, def) => {
def.pattern ?? (def.pattern = duration);
$ZodStringFormat.init(inst, def);
});
$ZodIPv4 = /* @__PURE__ */ $constructor("$ZodIPv4", (inst, def) => {
def.pattern ?? (def.pattern = ipv4);
$ZodStringFormat.init(inst, def);
inst._zod.bag.format = `ipv4`;
});
$ZodIPv6 = /* @__PURE__ */ $constructor("$ZodIPv6", (inst, def) => {
def.pattern ?? (def.pattern = ipv6);
$ZodStringFormat.init(inst, def);
inst._zod.bag.format = `ipv6`;
inst._zod.check = (payload) => {
try {
new URL(`http://[${payload.value}]`);
} catch {
payload.issues.push({
code: "invalid_format",
format: "ipv6",
input: payload.value,
inst,
continue: !def.abort
});
}
};
});
$ZodMAC = /* @__PURE__ */ $constructor("$ZodMAC", (inst, def) => {
def.pattern ?? (def.pattern = mac(def.delimiter));
$ZodStringFormat.init(inst, def);
inst._zod.bag.format = `mac`;
});
$ZodCIDRv4 = /* @__PURE__ */ $constructor("$ZodCIDRv4", (inst, def) => {
def.pattern ?? (def.pattern = cidrv4);
$ZodStringFormat.init(inst, def);
});
$ZodCIDRv6 = /* @__PURE__ */ $constructor("$ZodCIDRv6", (inst, def) => {
def.pattern ?? (def.pattern = cidrv6);
$ZodStringFormat.init(inst, def);
inst._zod.check = (payload) => {
const parts = payload.value.split("/");
try {
if (parts.length !== 2)
throw new Error;
const [address, prefix] = parts;
if (!prefix)
throw new Error;
const prefixNum = Number(prefix);
if (`${prefixNum}` !== prefix)
throw new Error;
if (prefixNum < 0 || prefixNum > 128)
throw new Error;
new URL(`http://[${address}]`);
} catch {
payload.issues.push({
code: "invalid_format",
format: "cidrv6",
input: payload.value,
inst,
continue: !def.abort
});
}
};
});
$ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
def.pattern ?? (def.pattern = base64);
$ZodStringFormat.init(inst, def);
inst._zod.bag.contentEncoding = "base64";
inst._zod.check = (payload) => {
if (isValidBase64(payload.value))
return;
payload.issues.push({
code: "invalid_format",
format: "base64",
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodBase64URL = /* @__PURE__ */ $constructor("$ZodBase64URL", (inst, def) => {
def.pattern ?? (def.pattern = base64url);
$ZodStringFormat.init(inst, def);
inst._zod.bag.contentEncoding = "base64url";
inst._zod.check = (payload) => {
if (isValidBase64URL(payload.value))
return;
payload.issues.push({
code: "invalid_format",
format: "base64url",
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodE164 = /* @__PURE__ */ $constructor("$ZodE164", (inst, def) => {
def.pattern ?? (def.pattern = e164);
$ZodStringFormat.init(inst, def);
});
$ZodJWT = /* @__PURE__ */ $constructor("$ZodJWT", (inst, def) => {
$ZodStringFormat.init(inst, def);
inst._zod.check = (payload) => {
if (isValidJWT(payload.value, def.alg))
return;
payload.issues.push({
code: "invalid_format",
format: "jwt",
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodCustomStringFormat = /* @__PURE__ */ $constructor("$ZodCustomStringFormat", (inst, def) => {
$ZodStringFormat.init(inst, def);
inst._zod.check = (payload) => {
if (def.fn(payload.value))
return;
payload.issues.push({
code: "invalid_format",
format: def.format,
input: payload.value,
inst,
continue: !def.abort
});
};
});
$ZodNumber = /* @__PURE__ */ $constructor("$ZodNumber", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = inst._zod.bag.pattern ?? number;
inst._zod.parse = (payload, _ctx) => {
if (def.coerce)
try {
payload.value = Number(payload.value);
} catch (_2) {}
const input = payload.value;
if (typeof input === "number" && !Number.isNaN(input) && Number.isFinite(input)) {
return payload;
}
const received = typeof input === "number" ? Number.isNaN(input) ? "NaN" : !Number.isFinite(input) ? "Infinity" : undefined : undefined;
payload.issues.push({
expected: "number",
code: "invalid_type",
input,
inst,
...received ? { received } : {}
});
return payload;
};
});
$ZodNumberFormat = /* @__PURE__ */ $constructor("$ZodNumberFormat", (inst, def) => {
$ZodCheckNumberFormat.init(inst, def);
$ZodNumber.init(inst, def);
});
$ZodBoolean = /* @__PURE__ */ $constructor("$ZodBoolean", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = boolean;
inst._zod.parse = (payload, _ctx) => {
if (def.coerce)
try {
payload.value = Boolean(payload.value);
} catch (_2) {}
const input = payload.value;
if (typeof input === "boolean")
return payload;
payload.issues.push({
expected: "boolean",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodBigInt = /* @__PURE__ */ $constructor("$ZodBigInt", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = bigint;
inst._zod.parse = (payload, _ctx) => {
if (def.coerce)
try {
payload.value = BigInt(payload.value);
} catch (_2) {}
if (typeof payload.value === "bigint")
return payload;
payload.issues.push({
expected: "bigint",
code: "invalid_type",
input: payload.value,
inst
});
return payload;
};
});
$ZodBigIntFormat = /* @__PURE__ */ $constructor("$ZodBigIntFormat", (inst, def) => {
$ZodCheckBigIntFormat.init(inst, def);
$ZodBigInt.init(inst, def);
});
$ZodSymbol = /* @__PURE__ */ $constructor("$ZodSymbol", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (typeof input === "symbol")
return payload;
payload.issues.push({
expected: "symbol",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodUndefined = /* @__PURE__ */ $constructor("$ZodUndefined", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = _undefined;
inst._zod.values = new Set([undefined]);
inst._zod.optin = "optional";
inst._zod.optout = "optional";
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (typeof input === "undefined")
return payload;
payload.issues.push({
expected: "undefined",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodNull = /* @__PURE__ */ $constructor("$ZodNull", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.pattern = _null;
inst._zod.values = new Set([null]);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (input === null)
return payload;
payload.issues.push({
expected: "null",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodAny = /* @__PURE__ */ $constructor("$ZodAny", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload) => payload;
});
$ZodUnknown = /* @__PURE__ */ $constructor("$ZodUnknown", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload) => payload;
});
$ZodNever = /* @__PURE__ */ $constructor("$ZodNever", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
payload.issues.push({
expected: "never",
code: "invalid_type",
input: payload.value,
inst
});
return payload;
};
});
$ZodVoid = /* @__PURE__ */ $constructor("$ZodVoid", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (typeof input === "undefined")
return payload;
payload.issues.push({
expected: "void",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
if (def.coerce) {
try {
payload.value = new Date(payload.value);
} catch (_err) {}
}
const input = payload.value;
const isDate2 = input instanceof Date;
const isValidDate = isDate2 && !Number.isNaN(input.getTime());
if (isValidDate)
return payload;
payload.issues.push({
expected: "date",
code: "invalid_type",
input,
...isDate2 ? { received: "Invalid Date" } : {},
inst
});
return payload;
};
});
$ZodArray = /* @__PURE__ */ $constructor("$ZodArray", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!Array.isArray(input)) {
payload.issues.push({
expected: "array",
code: "invalid_type",
input,
inst
});
return payload;
}
payload.value = Array(input.length);
const proms = [];
for (let i2 = 0;i2 < input.length; i2++) {
const item = input[i2];
const result = def.element._zod.run({
value: item,
issues: []
}, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => handleArrayResult(result2, payload, i2)));
} else {
handleArrayResult(result, payload, i2);
}
}
if (proms.length) {
return Promise.all(proms).then(() => payload);
}
return payload;
};
});
$ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
$ZodType.init(inst, def);
const desc = Object.getOwnPropertyDescriptor(def, "shape");
if (!desc?.get) {
const sh = def.shape;
Object.defineProperty(def, "shape", {
get: () => {
const newSh = { ...sh };
Object.defineProperty(def, "shape", {
value: newSh
});
return newSh;
}
});
}
const _normalized = cached(() => normalizeDef(def));
defineLazy(inst._zod, "propValues", () => {
const shape = def.shape;
const propValues = {};
for (const key in shape) {
const field = shape[key]._zod;
if (field.values) {
propValues[key] ?? (propValues[key] = new Set);
for (const v2 of field.values)
propValues[key].add(v2);
}
}
return propValues;
});
const isObject5 = isObject4;
const catchall = def.catchall;
let value;
inst._zod.parse = (payload, ctx) => {
value ?? (value = _normalized.value);
const input = payload.value;
if (!isObject5(input)) {
payload.issues.push({
expected: "object",
code: "invalid_type",
input,
inst
});
return payload;
}
payload.value = {};
const proms = [];
const shape = value.shape;
for (const key of value.keys) {
const el = shape[key];
const isOptionalOut = el._zod.optout === "optional";
const r = el._zod.run({ value: input[key], issues: [] }, ctx);
if (r instanceof Promise) {
proms.push(r.then((r2) => handlePropertyResult(r2, payload, key, input, isOptionalOut)));
} else {
handlePropertyResult(r, payload, key, input, isOptionalOut);
}
}
if (!catchall) {
return proms.length ? Promise.all(proms).then(() => payload) : payload;
}
return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
};
});
$ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) => {
$ZodObject.init(inst, def);
const superParse = inst._zod.parse;
const _normalized = cached(() => normalizeDef(def));
const generateFastpass = (shape) => {
const doc = new Doc(["shape", "payload", "ctx"]);
const normalized = _normalized.value;
const parseStr = (key) => {
const k2 = esc(key);
return `shape[${k2}]._zod.run({ value: input[${k2}], issues: [] }, ctx)`;
};
doc.write(`const input = payload.value;`);
const ids = Object.create(null);
let counter = 0;
for (const key of normalized.keys) {
ids[key] = `key_${counter++}`;
}
doc.write(`const newResult = {};`);
for (const key of normalized.keys) {
const id = ids[key];
const k2 = esc(key);
const schema = shape[key];
const isOptionalOut = schema?._zod?.optout === "optional";
doc.write(`const ${id} = ${parseStr(key)};`);
if (isOptionalOut) {
doc.write(`
if (${id}.issues.length) {
if (${k2} in input) {
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
...iss,
path: iss.path ? [${k2}, ...iss.path] : [${k2}]
})));
}
}
if (${id}.value === undefined) {
if (${k2} in input) {
newResult[${k2}] = undefined;
}
} else {
newResult[${k2}] = ${id}.value;
}
`);
} else {
doc.write(`
if (${id}.issues.length) {
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
...iss,
path: iss.path ? [${k2}, ...iss.path] : [${k2}]
})));
}
if (${id}.value === undefined) {
if (${k2} in input) {
newResult[${k2}] = undefined;
}
} else {
newResult[${k2}] = ${id}.value;
}
`);
}
}
doc.write(`payload.value = newResult;`);
doc.write(`return payload;`);
const fn = doc.compile();
return (payload, ctx) => fn(shape, payload, ctx);
};
let fastpass;
const isObject5 = isObject4;
const jit = !globalConfig.jitless;
const allowsEval2 = allowsEval;
const fastEnabled = jit && allowsEval2.value;
const catchall = def.catchall;
let value;
inst._zod.parse = (payload, ctx) => {
value ?? (value = _normalized.value);
const input = payload.value;
if (!isObject5(input)) {
payload.issues.push({
expected: "object",
code: "invalid_type",
input,
inst
});
return payload;
}
if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
if (!fastpass)
fastpass = generateFastpass(def.shape);
payload = fastpass(payload, ctx);
if (!catchall)
return payload;
return handleCatchall([], input, payload, ctx, value, inst);
}
return superParse(payload, ctx);
};
});
$ZodUnion = /* @__PURE__ */ $constructor("$ZodUnion", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "optin", () => def.options.some((o2) => o2._zod.optin === "optional") ? "optional" : undefined);
defineLazy(inst._zod, "optout", () => def.options.some((o2) => o2._zod.optout === "optional") ? "optional" : undefined);
defineLazy(inst._zod, "values", () => {
if (def.options.every((o2) => o2._zod.values)) {
return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));
}
return;
});
defineLazy(inst._zod, "pattern", () => {
if (def.options.every((o2) => o2._zod.pattern)) {
const patterns = def.options.map((o2) => o2._zod.pattern);
return new RegExp(`^(${patterns.map((p) => cleanRegex(p.source)).join("|")})$`);
}
return;
});
const single = def.options.length === 1;
const first = def.options[0]._zod.run;
inst._zod.parse = (payload, ctx) => {
if (single) {
return first(payload, ctx);
}
let async = false;
const results = [];
for (const option of def.options) {
const result = option._zod.run({
value: payload.value,
issues: []
}, ctx);
if (result instanceof Promise) {
results.push(result);
async = true;
} else {
if (result.issues.length === 0)
return result;
results.push(result);
}
}
if (!async)
return handleUnionResults(results, payload, inst, ctx);
return Promise.all(results).then((results2) => {
return handleUnionResults(results2, payload, inst, ctx);
});
};
});
$ZodXor = /* @__PURE__ */ $constructor("$ZodXor", (inst, def) => {
$ZodUnion.init(inst, def);
def.inclusive = false;
const single = def.options.length === 1;
const first = def.options[0]._zod.run;
inst._zod.parse = (payload, ctx) => {
if (single) {
return first(payload, ctx);
}
let async = false;
const results = [];
for (const option of def.options) {
const result = option._zod.run({
value: payload.value,
issues: []
}, ctx);
if (result instanceof Promise) {
results.push(result);
async = true;
} else {
results.push(result);
}
}
if (!async)
return handleExclusiveUnionResults(results, payload, inst, ctx);
return Promise.all(results).then((results2) => {
return handleExclusiveUnionResults(results2, payload, inst, ctx);
});
};
});
$ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnion", (inst, def) => {
def.inclusive = false;
$ZodUnion.init(inst, def);
const _super = inst._zod.parse;
defineLazy(inst._zod, "propValues", () => {
const propValues = {};
for (const option of def.options) {
const pv = option._zod.propValues;
if (!pv || Object.keys(pv).length === 0)
throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);
for (const [k2, v2] of Object.entries(pv)) {
if (!propValues[k2])
propValues[k2] = new Set;
for (const val of v2) {
propValues[k2].add(val);
}
}
}
return propValues;
});
const disc = cached(() => {
const opts = def.options;
const map = new Map;
for (const o2 of opts) {
const values = o2._zod.propValues?.[def.discriminator];
if (!values || values.size === 0)
throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o2)}"`);
for (const v2 of values) {
if (map.has(v2)) {
throw new Error(`Duplicate discriminator value "${String(v2)}"`);
}
map.set(v2, o2);
}
}
return map;
});
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!isObject4(input)) {
payload.issues.push({
code: "invalid_type",
expected: "object",
input,
inst
});
return payload;
}
const opt = disc.value.get(input?.[def.discriminator]);
if (opt) {
return opt._zod.run(payload, ctx);
}
if (def.unionFallback) {
return _super(payload, ctx);
}
payload.issues.push({
code: "invalid_union",
errors: [],
note: "No matching discriminator",
discriminator: def.discriminator,
input,
path: [def.discriminator],
inst
});
return payload;
};
});
$ZodIntersection = /* @__PURE__ */ $constructor("$ZodIntersection", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
const left = def.left._zod.run({ value: input, issues: [] }, ctx);
const right = def.right._zod.run({ value: input, issues: [] }, ctx);
const async = left instanceof Promise || right instanceof Promise;
if (async) {
return Promise.all([left, right]).then(([left2, right2]) => {
return handleIntersectionResults(payload, left2, right2);
});
}
return handleIntersectionResults(payload, left, right);
};
});
$ZodTuple = /* @__PURE__ */ $constructor("$ZodTuple", (inst, def) => {
$ZodType.init(inst, def);
const items = def.items;
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!Array.isArray(input)) {
payload.issues.push({
input,
inst,
expected: "tuple",
code: "invalid_type"
});
return payload;
}
payload.value = [];
const proms = [];
const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
if (!def.rest) {
const tooBig = input.length > items.length;
const tooSmall = input.length < optStart - 1;
if (tooBig || tooSmall) {
payload.issues.push({
...tooBig ? { code: "too_big", maximum: items.length, inclusive: true } : { code: "too_small", minimum: items.length },
input,
inst,
origin: "array"
});
return payload;
}
}
let i2 = -1;
for (const item of items) {
i2++;
if (i2 >= input.length) {
if (i2 >= optStart)
continue;
}
const result = item._zod.run({
value: input[i2],
issues: []
}, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => handleTupleResult(result2, payload, i2)));
} else {
handleTupleResult(result, payload, i2);
}
}
if (def.rest) {
const rest = input.slice(items.length);
for (const el of rest) {
i2++;
const result = def.rest._zod.run({
value: el,
issues: []
}, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => handleTupleResult(result2, payload, i2)));
} else {
handleTupleResult(result, payload, i2);
}
}
}
if (proms.length)
return Promise.all(proms).then(() => payload);
return payload;
};
});
$ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!isPlainObject4(input)) {
payload.issues.push({
expected: "record",
code: "invalid_type",
input,
inst
});
return payload;
}
const proms = [];
const values = def.keyType._zod.values;
if (values) {
payload.value = {};
const recordKeys = new Set;
for (const key of values) {
if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
recordKeys.add(typeof key === "number" ? key.toString() : key);
const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => {
if (result2.issues.length) {
payload.issues.push(...prefixIssues(key, result2.issues));
}
payload.value[key] = result2.value;
}));
} else {
if (result.issues.length) {
payload.issues.push(...prefixIssues(key, result.issues));
}
payload.value[key] = result.value;
}
}
}
let unrecognized;
for (const key in input) {
if (!recordKeys.has(key)) {
unrecognized = unrecognized ?? [];
unrecognized.push(key);
}
}
if (unrecognized && unrecognized.length > 0) {
payload.issues.push({
code: "unrecognized_keys",
input,
inst,
keys: unrecognized
});
}
} else {
payload.value = {};
for (const key of Reflect.ownKeys(input)) {
if (key === "__proto__")
continue;
let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
if (keyResult instanceof Promise) {
throw new Error("Async schemas not supported in object keys currently");
}
const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length;
if (checkNumericKey) {
const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);
if (retryResult instanceof Promise) {
throw new Error("Async schemas not supported in object keys currently");
}
if (retryResult.issues.length === 0) {
keyResult = retryResult;
}
}
if (keyResult.issues.length) {
if (def.mode === "loose") {
payload.value[key] = input[key];
} else {
payload.issues.push({
code: "invalid_key",
origin: "record",
issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
input: key,
path: [key],
inst
});
}
continue;
}
const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => {
if (result2.issues.length) {
payload.issues.push(...prefixIssues(key, result2.issues));
}
payload.value[keyResult.value] = result2.value;
}));
} else {
if (result.issues.length) {
payload.issues.push(...prefixIssues(key, result.issues));
}
payload.value[keyResult.value] = result.value;
}
}
}
if (proms.length) {
return Promise.all(proms).then(() => payload);
}
return payload;
};
});
$ZodMap = /* @__PURE__ */ $constructor("$ZodMap", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!(input instanceof Map)) {
payload.issues.push({
expected: "map",
code: "invalid_type",
input,
inst
});
return payload;
}
const proms = [];
payload.value = new Map;
for (const [key, value] of input) {
const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
const valueResult = def.valueType._zod.run({ value, issues: [] }, ctx);
if (keyResult instanceof Promise || valueResult instanceof Promise) {
proms.push(Promise.all([keyResult, valueResult]).then(([keyResult2, valueResult2]) => {
handleMapResult(keyResult2, valueResult2, payload, key, input, inst, ctx);
}));
} else {
handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);
}
}
if (proms.length)
return Promise.all(proms).then(() => payload);
return payload;
};
});
$ZodSet = /* @__PURE__ */ $constructor("$ZodSet", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
const input = payload.value;
if (!(input instanceof Set)) {
payload.issues.push({
input,
inst,
expected: "set",
code: "invalid_type"
});
return payload;
}
const proms = [];
payload.value = new Set;
for (const item of input) {
const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);
if (result instanceof Promise) {
proms.push(result.then((result2) => handleSetResult(result2, payload)));
} else
handleSetResult(result, payload);
}
if (proms.length)
return Promise.all(proms).then(() => payload);
return payload;
};
});
$ZodEnum = /* @__PURE__ */ $constructor("$ZodEnum", (inst, def) => {
$ZodType.init(inst, def);
const values = getEnumValues(def.entries);
const valuesSet = new Set(values);
inst._zod.values = valuesSet;
inst._zod.pattern = new RegExp(`^(${values.filter((k2) => propertyKeyTypes.has(typeof k2)).map((o2) => typeof o2 === "string" ? escapeRegex(o2) : o2.toString()).join("|")})$`);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (valuesSet.has(input)) {
return payload;
}
payload.issues.push({
code: "invalid_value",
values,
input,
inst
});
return payload;
};
});
$ZodLiteral = /* @__PURE__ */ $constructor("$ZodLiteral", (inst, def) => {
$ZodType.init(inst, def);
if (def.values.length === 0) {
throw new Error("Cannot create literal schema with no valid values");
}
const values = new Set(def.values);
inst._zod.values = values;
inst._zod.pattern = new RegExp(`^(${def.values.map((o2) => typeof o2 === "string" ? escapeRegex(o2) : o2 ? escapeRegex(o2.toString()) : String(o2)).join("|")})$`);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (values.has(input)) {
return payload;
}
payload.issues.push({
code: "invalid_value",
values: def.values,
input,
inst
});
return payload;
};
});
$ZodFile = /* @__PURE__ */ $constructor("$ZodFile", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
const input = payload.value;
if (input instanceof File)
return payload;
payload.issues.push({
expected: "file",
code: "invalid_type",
input,
inst
});
return payload;
};
});
$ZodTransform = /* @__PURE__ */ $constructor("$ZodTransform", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
throw new $ZodEncodeError(inst.constructor.name);
}
const _out = def.transform(payload.value, payload);
if (ctx.async) {
const output = _out instanceof Promise ? _out : Promise.resolve(_out);
return output.then((output2) => {
payload.value = output2;
return payload;
});
}
if (_out instanceof Promise) {
throw new $ZodAsyncError;
}
payload.value = _out;
return payload;
};
});
$ZodOptional = /* @__PURE__ */ $constructor("$ZodOptional", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.optin = "optional";
inst._zod.optout = "optional";
defineLazy(inst._zod, "values", () => {
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;
});
defineLazy(inst._zod, "pattern", () => {
const pattern = def.innerType._zod.pattern;
return pattern ? new RegExp(`^(${cleanRegex(pattern.source)})?$`) : undefined;
});
inst._zod.parse = (payload, ctx) => {
if (def.innerType._zod.optin === "optional") {
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise)
return result.then((r) => handleOptionalResult(r, payload.value));
return handleOptionalResult(result, payload.value);
}
if (payload.value === undefined) {
return payload;
}
return def.innerType._zod.run(payload, ctx);
};
});
$ZodExactOptional = /* @__PURE__ */ $constructor("$ZodExactOptional", (inst, def) => {
$ZodOptional.init(inst, def);
defineLazy(inst._zod, "values", () => def.innerType._zod.values);
defineLazy(inst._zod, "pattern", () => def.innerType._zod.pattern);
inst._zod.parse = (payload, ctx) => {
return def.innerType._zod.run(payload, ctx);
};
});
$ZodNullable = /* @__PURE__ */ $constructor("$ZodNullable", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
defineLazy(inst._zod, "pattern", () => {
const pattern = def.innerType._zod.pattern;
return pattern ? new RegExp(`^(${cleanRegex(pattern.source)}|null)$`) : undefined;
});
defineLazy(inst._zod, "values", () => {
return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
});
inst._zod.parse = (payload, ctx) => {
if (payload.value === null)
return payload;
return def.innerType._zod.run(payload, ctx);
};
});
$ZodDefault = /* @__PURE__ */ $constructor("$ZodDefault", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.optin = "optional";
defineLazy(inst._zod, "values", () => def.innerType._zod.values);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
return def.innerType._zod.run(payload, ctx);
}
if (payload.value === undefined) {
payload.value = def.defaultValue;
return payload;
}
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise) {
return result.then((result2) => handleDefaultResult(result2, def));
}
return handleDefaultResult(result, def);
};
});
$ZodPrefault = /* @__PURE__ */ $constructor("$ZodPrefault", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.optin = "optional";
defineLazy(inst._zod, "values", () => def.innerType._zod.values);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
return def.innerType._zod.run(payload, ctx);
}
if (payload.value === undefined) {
payload.value = def.defaultValue;
}
return def.innerType._zod.run(payload, ctx);
};
});
$ZodNonOptional = /* @__PURE__ */ $constructor("$ZodNonOptional", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "values", () => {
const v2 = def.innerType._zod.values;
return v2 ? new Set([...v2].filter((x3) => x3 !== undefined)) : undefined;
});
inst._zod.parse = (payload, ctx) => {
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise) {
return result.then((result2) => handleNonOptionalResult(result2, inst));
}
return handleNonOptionalResult(result, inst);
};
});
$ZodSuccess = /* @__PURE__ */ $constructor("$ZodSuccess", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
throw new $ZodEncodeError("ZodSuccess");
}
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise) {
return result.then((result2) => {
payload.value = result2.issues.length === 0;
return payload;
});
}
payload.value = result.issues.length === 0;
return payload;
};
});
$ZodCatch = /* @__PURE__ */ $constructor("$ZodCatch", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
defineLazy(inst._zod, "values", () => def.innerType._zod.values);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
return def.innerType._zod.run(payload, ctx);
}
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise) {
return result.then((result2) => {
payload.value = result2.value;
if (result2.issues.length) {
payload.value = def.catchValue({
...payload,
error: {
issues: result2.issues.map((iss) => finalizeIssue(iss, ctx, config()))
},
input: payload.value
});
payload.issues = [];
}
return payload;
});
}
payload.value = result.value;
if (result.issues.length) {
payload.value = def.catchValue({
...payload,
error: {
issues: result.issues.map((iss) => finalizeIssue(iss, ctx, config()))
},
input: payload.value
});
payload.issues = [];
}
return payload;
};
});
$ZodNaN = /* @__PURE__ */ $constructor("$ZodNaN", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, _ctx) => {
if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) {
payload.issues.push({
input: payload.value,
inst,
expected: "nan",
code: "invalid_type"
});
return payload;
}
return payload;
};
});
$ZodPipe = /* @__PURE__ */ $constructor("$ZodPipe", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "values", () => def.in._zod.values);
defineLazy(inst._zod, "optin", () => def.in._zod.optin);
defineLazy(inst._zod, "optout", () => def.out._zod.optout);
defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
const right = def.out._zod.run(payload, ctx);
if (right instanceof Promise) {
return right.then((right2) => handlePipeResult(right2, def.in, ctx));
}
return handlePipeResult(right, def.in, ctx);
}
const left = def.in._zod.run(payload, ctx);
if (left instanceof Promise) {
return left.then((left2) => handlePipeResult(left2, def.out, ctx));
}
return handlePipeResult(left, def.out, ctx);
};
});
$ZodCodec = /* @__PURE__ */ $constructor("$ZodCodec", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "values", () => def.in._zod.values);
defineLazy(inst._zod, "optin", () => def.in._zod.optin);
defineLazy(inst._zod, "optout", () => def.out._zod.optout);
defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
inst._zod.parse = (payload, ctx) => {
const direction = ctx.direction || "forward";
if (direction === "forward") {
const left = def.in._zod.run(payload, ctx);
if (left instanceof Promise) {
return left.then((left2) => handleCodecAResult(left2, def, ctx));
}
return handleCodecAResult(left, def, ctx);
} else {
const right = def.out._zod.run(payload, ctx);
if (right instanceof Promise) {
return right.then((right2) => handleCodecAResult(right2, def, ctx));
}
return handleCodecAResult(right, def, ctx);
}
};
});
$ZodReadonly = /* @__PURE__ */ $constructor("$ZodReadonly", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
defineLazy(inst._zod, "values", () => def.innerType._zod.values);
defineLazy(inst._zod, "optin", () => def.innerType?._zod?.optin);
defineLazy(inst._zod, "optout", () => def.innerType?._zod?.optout);
inst._zod.parse = (payload, ctx) => {
if (ctx.direction === "backward") {
return def.innerType._zod.run(payload, ctx);
}
const result = def.innerType._zod.run(payload, ctx);
if (result instanceof Promise) {
return result.then(handleReadonlyResult);
}
return handleReadonlyResult(result);
};
});
$ZodTemplateLiteral = /* @__PURE__ */ $constructor("$ZodTemplateLiteral", (inst, def) => {
$ZodType.init(inst, def);
const regexParts = [];
for (const part of def.parts) {
if (typeof part === "object" && part !== null) {
if (!part._zod.pattern) {
throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
}
const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;
if (!source)
throw new Error(`Invalid template literal part: ${part._zod.traits}`);
const start = source.startsWith("^") ? 1 : 0;
const end = source.endsWith("$") ? source.length - 1 : source.length;
regexParts.push(source.slice(start, end));
} else if (part === null || primitiveTypes.has(typeof part)) {
regexParts.push(escapeRegex(`${part}`));
} else {
throw new Error(`Invalid template literal part: ${part}`);
}
}
inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`);
inst._zod.parse = (payload, _ctx) => {
if (typeof payload.value !== "string") {
payload.issues.push({
input: payload.value,
inst,
expected: "string",
code: "invalid_type"
});
return payload;
}
inst._zod.pattern.lastIndex = 0;
if (!inst._zod.pattern.test(payload.value)) {
payload.issues.push({
input: payload.value,
inst,
code: "invalid_format",
format: def.format ?? "template_literal",
pattern: inst._zod.pattern.source
});
return payload;
}
return payload;
};
});
$ZodFunction = /* @__PURE__ */ $constructor("$ZodFunction", (inst, def) => {
$ZodType.init(inst, def);
inst._def = def;
inst._zod.def = def;
inst.implement = (func) => {
if (typeof func !== "function") {
throw new Error("implement() must be called with a function");
}
return function(...args) {
const parsedArgs = inst._def.input ? parse3(inst._def.input, args) : args;
const result = Reflect.apply(func, this, parsedArgs);
if (inst._def.output) {
return parse3(inst._def.output, result);
}
return result;
};
};
inst.implementAsync = (func) => {
if (typeof func !== "function") {
throw new Error("implementAsync() must be called with a function");
}
return async function(...args) {
const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;
const result = await Reflect.apply(func, this, parsedArgs);
if (inst._def.output) {
return await parseAsync(inst._def.output, result);
}
return result;
};
};
inst._zod.parse = (payload, _ctx) => {
if (typeof payload.value !== "function") {
payload.issues.push({
code: "invalid_type",
expected: "function",
input: payload.value,
inst
});
return payload;
}
const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
if (hasPromiseOutput) {
payload.value = inst.implementAsync(payload.value);
} else {
payload.value = inst.implement(payload.value);
}
return payload;
};
inst.input = (...args) => {
const F2 = inst.constructor;
if (Array.isArray(args[0])) {
return new F2({
type: "function",
input: new $ZodTuple({
type: "tuple",
items: args[0],
rest: args[1]
}),
output: inst._def.output
});
}
return new F2({
type: "function",
input: args[0],
output: inst._def.output
});
};
inst.output = (output) => {
const F2 = inst.constructor;
return new F2({
type: "function",
input: inst._def.input,
output
});
};
return inst;
});
$ZodPromise = /* @__PURE__ */ $constructor("$ZodPromise", (inst, def) => {
$ZodType.init(inst, def);
inst._zod.parse = (payload, ctx) => {
return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));
};
});
$ZodLazy = /* @__PURE__ */ $constructor("$ZodLazy", (inst, def) => {
$ZodType.init(inst, def);
defineLazy(inst._zod, "innerType", () => def.getter());
defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? undefined);
defineLazy(inst._zod, "optout", () => inst._zod.innerType?._zod?.optout ?? undefined);
inst._zod.parse = (payload, ctx) => {
const inner = inst._zod.innerType;
return inner._zod.run(payload, ctx);
};
});
$ZodCustom = /* @__PURE__ */ $constructor("$ZodCustom", (inst, def) => {
$ZodCheck.init(inst, def);
$ZodType.init(inst, def);
inst._zod.parse = (payload, _2) => {
return payload;
};
inst._zod.check = (payload) => {
const input = payload.value;
const r = def.fn(input);
if (r instanceof Promise) {
return r.then((r2) => handleRefineResult(r2, payload, input, inst));
}
handleRefineResult(r, payload, input, inst);
return;
};
});
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.js
function ar_default() {
return {
localeError: error2()
};
}
var error2 = () => {
const Sizable = {
string: { unit: "حرف", verb: "أن يحوي" },
file: { unit: "بايت", verb: "أن يحوي" },
array: { unit: "عنصر", verb: "أن يحوي" },
set: { unit: "عنصر", verb: "أن يحوي" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "مدخل",
email: "بريد إلكتروني",
url: "رابط",
emoji: "إيموجي",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "تاريخ ووقت بمعيار ISO",
date: "تاريخ بمعيار ISO",
time: "وقت بمعيار ISO",
duration: "مدة بمعيار ISO",
ipv4: "عنوان IPv4",
ipv6: "عنوان IPv6",
cidrv4: "مدى عناوين بصيغة IPv4",
cidrv6: "مدى عناوين بصيغة IPv6",
base64: "نَص بترميز base64-encoded",
base64url: "نَص بترميز base64url-encoded",
json_string: "نَص على هيئة JSON",
e164: "رقم هاتف بمعيار E.164",
jwt: "JWT",
template_literal: "مدخل"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `مدخلات غير مقبولة: يفترض إدخال instanceof ${issue2.expected}، ولكن تم إدخال ${received}`;
}
return `مدخلات غير مقبولة: يفترض إدخال ${expected}، ولكن تم إدخال ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `مدخلات غير مقبولة: يفترض إدخال ${stringifyPrimitive(issue2.values[0])}`;
return `اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return ` أكبر من اللازم: يفترض أن تكون ${issue2.origin ?? "القيمة"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "عنصر"}`;
return `أكبر من اللازم: يفترض أن تكون ${issue2.origin ?? "القيمة"} ${adj} ${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `أصغر من اللازم: يفترض لـ ${issue2.origin} أن يكون ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
}
return `أصغر من اللازم: يفترض لـ ${issue2.origin} أن يكون ${adj} ${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `نَص غير مقبول: يجب أن يبدأ بـ "${issue2.prefix}"`;
if (_issue.format === "ends_with")
return `نَص غير مقبول: يجب أن ينتهي بـ "${_issue.suffix}"`;
if (_issue.format === "includes")
return `نَص غير مقبول: يجب أن يتضمَّن "${_issue.includes}"`;
if (_issue.format === "regex")
return `نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} غير مقبول`;
}
case "not_multiple_of":
return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue2.divisor}`;
case "unrecognized_keys":
return `معرف${issue2.keys.length > 1 ? "ات" : ""} غريب${issue2.keys.length > 1 ? "ة" : ""}: ${joinValues(issue2.keys, "، ")}`;
case "invalid_key":
return `معرف غير مقبول في ${issue2.origin}`;
case "invalid_union":
return "مدخل غير مقبول";
case "invalid_element":
return `مدخل غير مقبول في ${issue2.origin}`;
default:
return "مدخل غير مقبول";
}
};
};
var init_ar = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.js
function az_default() {
return {
localeError: error3()
};
}
var error3 = () => {
const Sizable = {
string: { unit: "simvol", verb: "olmalıdır" },
file: { unit: "bayt", verb: "olmalıdır" },
array: { unit: "element", verb: "olmalıdır" },
set: { unit: "element", verb: "olmalıdır" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "email address",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO datetime",
date: "ISO date",
time: "ISO time",
duration: "ISO duration",
ipv4: "IPv4 address",
ipv6: "IPv6 address",
cidrv4: "IPv4 range",
cidrv6: "IPv6 range",
base64: "base64-encoded string",
base64url: "base64url-encoded string",
json_string: "JSON string",
e164: "E.164 number",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Yanlış dəyər: gözlənilən instanceof ${issue2.expected}, daxil olan ${received}`;
}
return `Yanlış dəyər: gözlənilən ${expected}, daxil olan ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Yanlış dəyər: gözlənilən ${stringifyPrimitive(issue2.values[0])}`;
return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Çox böyük: gözlənilən ${issue2.origin ?? "dəyər"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
return `Çox böyük: gözlənilən ${issue2.origin ?? "dəyər"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Çox kiçik: gözlənilən ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
return `Çox kiçik: gözlənilən ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;
if (_issue.format === "ends_with")
return `Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;
if (_issue.format === "includes")
return `Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;
if (_issue.format === "regex")
return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;
return `Yanlış ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Yanlış ədəd: ${issue2.divisor} ilə bölünə bilən olmalıdır`;
case "unrecognized_keys":
return `Tanınmayan açar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} daxilində yanlış açar`;
case "invalid_union":
return "Yanlış dəyər";
case "invalid_element":
return `${issue2.origin} daxilində yanlış dəyər`;
default:
return `Yanlış dəyər`;
}
};
};
var init_az = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.js
function getBelarusianPlural(count2, one, few, many) {
const absCount = Math.abs(count2);
const lastDigit = absCount % 10;
const lastTwoDigits = absCount % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
return many;
}
if (lastDigit === 1) {
return one;
}
if (lastDigit >= 2 && lastDigit <= 4) {
return few;
}
return many;
}
function be_default() {
return {
localeError: error4()
};
}
var error4 = () => {
const Sizable = {
string: {
unit: {
one: "сімвал",
few: "сімвалы",
many: "сімвалаў"
},
verb: "мець"
},
array: {
unit: {
one: "элемент",
few: "элементы",
many: "элементаў"
},
verb: "мець"
},
set: {
unit: {
one: "элемент",
few: "элементы",
many: "элементаў"
},
verb: "мець"
},
file: {
unit: {
one: "байт",
few: "байты",
many: "байтаў"
},
verb: "мець"
}
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "увод",
email: "email адрас",
url: "URL",
emoji: "эмодзі",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO дата і час",
date: "ISO дата",
time: "ISO час",
duration: "ISO працягласць",
ipv4: "IPv4 адрас",
ipv6: "IPv6 адрас",
cidrv4: "IPv4 дыяпазон",
cidrv6: "IPv6 дыяпазон",
base64: "радок у фармаце base64",
base64url: "радок у фармаце base64url",
json_string: "JSON радок",
e164: "нумар E.164",
jwt: "JWT",
template_literal: "увод"
};
const TypeDictionary = {
nan: "NaN",
number: "лік",
array: "масіў"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Няправільны ўвод: чакаўся instanceof ${issue2.expected}, атрымана ${received}`;
}
return `Няправільны ўвод: чакаўся ${expected}, атрымана ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Няправільны ўвод: чакалася ${stringifyPrimitive(issue2.values[0])}`;
return `Няправільны варыянт: чакаўся адзін з ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
const maxValue = Number(issue2.maximum);
const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
return `Занадта вялікі: чакалася, што ${issue2.origin ?? "значэнне"} павінна ${sizing.verb} ${adj}${issue2.maximum.toString()} ${unit}`;
}
return `Занадта вялікі: чакалася, што ${issue2.origin ?? "значэнне"} павінна быць ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
const minValue = Number(issue2.minimum);
const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
return `Занадта малы: чакалася, што ${issue2.origin} павінна ${sizing.verb} ${adj}${issue2.minimum.toString()} ${unit}`;
}
return `Занадта малы: чакалася, што ${issue2.origin} павінна быць ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Няправільны радок: павінен пачынацца з "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Няправільны радок: павінен заканчвацца на "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Няправільны радок: павінен змяшчаць "${_issue.includes}"`;
if (_issue.format === "regex")
return `Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;
return `Няправільны ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Няправільны лік: павінен быць кратным ${issue2.divisor}`;
case "unrecognized_keys":
return `Нераспазнаны ${issue2.keys.length > 1 ? "ключы" : "ключ"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Няправільны ключ у ${issue2.origin}`;
case "invalid_union":
return "Няправільны ўвод";
case "invalid_element":
return `Няправільнае значэнне ў ${issue2.origin}`;
default:
return `Няправільны ўвод`;
}
};
};
var init_be = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.js
function bg_default() {
return {
localeError: error5()
};
}
var error5 = () => {
const Sizable = {
string: { unit: "символа", verb: "да съдържа" },
file: { unit: "байта", verb: "да съдържа" },
array: { unit: "елемента", verb: "да съдържа" },
set: { unit: "елемента", verb: "да съдържа" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "вход",
email: "имейл адрес",
url: "URL",
emoji: "емоджи",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO време",
date: "ISO дата",
time: "ISO време",
duration: "ISO продължителност",
ipv4: "IPv4 адрес",
ipv6: "IPv6 адрес",
cidrv4: "IPv4 диапазон",
cidrv6: "IPv6 диапазон",
base64: "base64-кодиран низ",
base64url: "base64url-кодиран низ",
json_string: "JSON низ",
e164: "E.164 номер",
jwt: "JWT",
template_literal: "вход"
};
const TypeDictionary = {
nan: "NaN",
number: "число",
array: "масив"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Невалиден вход: очакван instanceof ${issue2.expected}, получен ${received}`;
}
return `Невалиден вход: очакван ${expected}, получен ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Невалиден вход: очакван ${stringifyPrimitive(issue2.values[0])}`;
return `Невалидна опция: очаквано едно от ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Твърде голямо: очаква се ${issue2.origin ?? "стойност"} да съдържа ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "елемента"}`;
return `Твърде голямо: очаква се ${issue2.origin ?? "стойност"} да бъде ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Твърде малко: очаква се ${issue2.origin} да съдържа ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Твърде малко: очаква се ${issue2.origin} да бъде ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Невалиден низ: трябва да започва с "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Невалиден низ: трябва да завършва с "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Невалиден низ: трябва да включва "${_issue.includes}"`;
if (_issue.format === "regex")
return `Невалиден низ: трябва да съвпада с ${_issue.pattern}`;
let invalid_adj = "Невалиден";
if (_issue.format === "emoji")
invalid_adj = "Невалидно";
if (_issue.format === "datetime")
invalid_adj = "Невалидно";
if (_issue.format === "date")
invalid_adj = "Невалидна";
if (_issue.format === "time")
invalid_adj = "Невалидно";
if (_issue.format === "duration")
invalid_adj = "Невалидна";
return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Невалидно число: трябва да бъде кратно на ${issue2.divisor}`;
case "unrecognized_keys":
return `Неразпознат${issue2.keys.length > 1 ? "и" : ""} ключ${issue2.keys.length > 1 ? "ове" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Невалиден ключ в ${issue2.origin}`;
case "invalid_union":
return "Невалиден вход";
case "invalid_element":
return `Невалидна стойност в ${issue2.origin}`;
default:
return `Невалиден вход`;
}
};
};
var init_bg = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.js
function ca_default() {
return {
localeError: error6()
};
}
var error6 = () => {
const Sizable = {
string: { unit: "caràcters", verb: "contenir" },
file: { unit: "bytes", verb: "contenir" },
array: { unit: "elements", verb: "contenir" },
set: { unit: "elements", verb: "contenir" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "entrada",
email: "adreça electrònica",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "data i hora ISO",
date: "data ISO",
time: "hora ISO",
duration: "durada ISO",
ipv4: "adreça IPv4",
ipv6: "adreça IPv6",
cidrv4: "rang IPv4",
cidrv6: "rang IPv6",
base64: "cadena codificada en base64",
base64url: "cadena codificada en base64url",
json_string: "cadena JSON",
e164: "número E.164",
jwt: "JWT",
template_literal: "entrada"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Tipus invàlid: s'esperava instanceof ${issue2.expected}, s'ha rebut ${received}`;
}
return `Tipus invàlid: s'esperava ${expected}, s'ha rebut ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Valor invàlid: s'esperava ${stringifyPrimitive(issue2.values[0])}`;
return `Opció invàlida: s'esperava una de ${joinValues(issue2.values, " o ")}`;
case "too_big": {
const adj = issue2.inclusive ? "com a màxim" : "menys de";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} contingués ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`;
return `Massa gran: s'esperava que ${issue2.origin ?? "el valor"} fos ${adj} ${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? "com a mínim" : "més de";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Massa petit: s'esperava que ${issue2.origin} contingués ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Massa petit: s'esperava que ${issue2.origin} fos ${adj} ${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Format invàlid: ha de començar amb "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Format invàlid: ha d'acabar amb "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Format invàlid: ha d'incloure "${_issue.includes}"`;
if (_issue.format === "regex")
return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;
return `Format invàlid per a ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Número invàlid: ha de ser múltiple de ${issue2.divisor}`;
case "unrecognized_keys":
return `Clau${issue2.keys.length > 1 ? "s" : ""} no reconeguda${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Clau invàlida a ${issue2.origin}`;
case "invalid_union":
return "Entrada invàlida";
case "invalid_element":
return `Element invàlid a ${issue2.origin}`;
default:
return `Entrada invàlida`;
}
};
};
var init_ca = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.js
function cs_default() {
return {
localeError: error7()
};
}
var error7 = () => {
const Sizable = {
string: { unit: "znaků", verb: "mít" },
file: { unit: "bajtů", verb: "mít" },
array: { unit: "prvků", verb: "mít" },
set: { unit: "prvků", verb: "mít" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "regulární výraz",
email: "e-mailová adresa",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "datum a čas ve formátu ISO",
date: "datum ve formátu ISO",
time: "čas ve formátu ISO",
duration: "doba trvání ISO",
ipv4: "IPv4 adresa",
ipv6: "IPv6 adresa",
cidrv4: "rozsah IPv4",
cidrv6: "rozsah IPv6",
base64: "řetězec zakódovaný ve formátu base64",
base64url: "řetězec zakódovaný ve formátu base64url",
json_string: "řetězec ve formátu JSON",
e164: "číslo E.164",
jwt: "JWT",
template_literal: "vstup"
};
const TypeDictionary = {
nan: "NaN",
number: "číslo",
string: "řetězec",
function: "funkce",
array: "pole"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Neplatný vstup: očekáváno instanceof ${issue2.expected}, obdrženo ${received}`;
}
return `Neplatný vstup: očekáváno ${expected}, obdrženo ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Neplatný vstup: očekáváno ${stringifyPrimitive(issue2.values[0])}`;
return `Neplatná možnost: očekávána jedna z hodnot ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Hodnota je příliš velká: ${issue2.origin ?? "hodnota"} musí mít ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "prvků"}`;
}
return `Hodnota je příliš velká: ${issue2.origin ?? "hodnota"} musí být ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Hodnota je příliš malá: ${issue2.origin ?? "hodnota"} musí mít ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "prvků"}`;
}
return `Hodnota je příliš malá: ${issue2.origin ?? "hodnota"} musí být ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Neplatný řetězec: musí začínat na "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Neplatný řetězec: musí končit na "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Neplatný řetězec: musí obsahovat "${_issue.includes}"`;
if (_issue.format === "regex")
return `Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;
return `Neplatný formát ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Neplatné číslo: musí být násobkem ${issue2.divisor}`;
case "unrecognized_keys":
return `Neznámé klíče: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Neplatný klíč v ${issue2.origin}`;
case "invalid_union":
return "Neplatný vstup";
case "invalid_element":
return `Neplatná hodnota v ${issue2.origin}`;
default:
return `Neplatný vstup`;
}
};
};
var init_cs = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.js
function da_default() {
return {
localeError: error8()
};
}
var error8 = () => {
const Sizable = {
string: { unit: "tegn", verb: "havde" },
file: { unit: "bytes", verb: "havde" },
array: { unit: "elementer", verb: "indeholdt" },
set: { unit: "elementer", verb: "indeholdt" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "e-mailadresse",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO dato- og klokkeslæt",
date: "ISO-dato",
time: "ISO-klokkeslæt",
duration: "ISO-varighed",
ipv4: "IPv4-område",
ipv6: "IPv6-område",
cidrv4: "IPv4-spektrum",
cidrv6: "IPv6-spektrum",
base64: "base64-kodet streng",
base64url: "base64url-kodet streng",
json_string: "JSON-streng",
e164: "E.164-nummer",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN",
string: "streng",
number: "tal",
boolean: "boolean",
array: "liste",
object: "objekt",
set: "sæt",
file: "fil"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ugyldigt input: forventede instanceof ${issue2.expected}, fik ${received}`;
}
return `Ugyldigt input: forventede ${expected}, fik ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ugyldig værdi: forventede ${stringifyPrimitive(issue2.values[0])}`;
return `Ugyldigt valg: forventede en af følgende ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
if (sizing)
return `For stor: forventede ${origin2 ?? "value"} ${sizing.verb} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`;
return `For stor: forventede ${origin2 ?? "value"} havde ${adj} ${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
if (sizing) {
return `For lille: forventede ${origin2} ${sizing.verb} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
}
return `For lille: forventede ${origin2} havde ${adj} ${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
if (_issue.format === "regex")
return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Ugyldigt tal: skal være deleligt med ${issue2.divisor}`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Ukendte nøgler" : "Ukendt nøgle"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Ugyldig nøgle i ${issue2.origin}`;
case "invalid_union":
return "Ugyldigt input: matcher ingen af de tilladte typer";
case "invalid_element":
return `Ugyldig værdi i ${issue2.origin}`;
default:
return `Ugyldigt input`;
}
};
};
var init_da = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.js
function de_default() {
return {
localeError: error9()
};
}
var error9 = () => {
const Sizable = {
string: { unit: "Zeichen", verb: "zu haben" },
file: { unit: "Bytes", verb: "zu haben" },
array: { unit: "Elemente", verb: "zu haben" },
set: { unit: "Elemente", verb: "zu haben" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "Eingabe",
email: "E-Mail-Adresse",
url: "URL",
emoji: "Emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO-Datum und -Uhrzeit",
date: "ISO-Datum",
time: "ISO-Uhrzeit",
duration: "ISO-Dauer",
ipv4: "IPv4-Adresse",
ipv6: "IPv6-Adresse",
cidrv4: "IPv4-Bereich",
cidrv6: "IPv6-Bereich",
base64: "Base64-codierter String",
base64url: "Base64-URL-codierter String",
json_string: "JSON-String",
e164: "E.164-Nummer",
jwt: "JWT",
template_literal: "Eingabe"
};
const TypeDictionary = {
nan: "NaN",
number: "Zahl",
array: "Array"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ungültige Eingabe: erwartet instanceof ${issue2.expected}, erhalten ${received}`;
}
return `Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ungültige Eingabe: erwartet ${stringifyPrimitive(issue2.values[0])}`;
return `Ungültige Option: erwartet eine von ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Zu groß: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
return `Zu groß: erwartet, dass ${issue2.origin ?? "Wert"} ${adj}${issue2.maximum.toString()} ist`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} hat`;
}
return `Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ist`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Ungültiger String: muss mit "${_issue.prefix}" beginnen`;
if (_issue.format === "ends_with")
return `Ungültiger String: muss mit "${_issue.suffix}" enden`;
if (_issue.format === "includes")
return `Ungültiger String: muss "${_issue.includes}" enthalten`;
if (_issue.format === "regex")
return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;
return `Ungültig: ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Ungültige Zahl: muss ein Vielfaches von ${issue2.divisor} sein`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Unbekannte Schlüssel" : "Unbekannter Schlüssel"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Ungültiger Schlüssel in ${issue2.origin}`;
case "invalid_union":
return "Ungültige Eingabe";
case "invalid_element":
return `Ungültiger Wert in ${issue2.origin}`;
default:
return `Ungültige Eingabe`;
}
};
};
var init_de = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.js
function en_default() {
return {
localeError: error10()
};
}
var error10 = () => {
const Sizable = {
string: { unit: "characters", verb: "to have" },
file: { unit: "bytes", verb: "to have" },
array: { unit: "items", verb: "to have" },
set: { unit: "items", verb: "to have" },
map: { unit: "entries", verb: "to have" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "email address",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO datetime",
date: "ISO date",
time: "ISO time",
duration: "ISO duration",
ipv4: "IPv4 address",
ipv6: "IPv6 address",
mac: "MAC address",
cidrv4: "IPv4 range",
cidrv6: "IPv6 range",
base64: "base64-encoded string",
base64url: "base64url-encoded string",
json_string: "JSON string",
e164: "E.164 number",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
return `Invalid input: expected ${expected}, received ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;
return `Invalid option: expected one of ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Too big: expected ${issue2.origin ?? "value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"}`;
return `Too big: expected ${issue2.origin ?? "value"} to be ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Invalid string: must start with "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Invalid string: must end with "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Invalid string: must include "${_issue.includes}"`;
if (_issue.format === "regex")
return `Invalid string: must match pattern ${_issue.pattern}`;
return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Invalid number: must be a multiple of ${issue2.divisor}`;
case "unrecognized_keys":
return `Unrecognized key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Invalid key in ${issue2.origin}`;
case "invalid_union":
return "Invalid input";
case "invalid_element":
return `Invalid value in ${issue2.origin}`;
default:
return `Invalid input`;
}
};
};
var init_en = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.js
function eo_default() {
return {
localeError: error11()
};
}
var error11 = () => {
const Sizable = {
string: { unit: "karaktrojn", verb: "havi" },
file: { unit: "bajtojn", verb: "havi" },
array: { unit: "elementojn", verb: "havi" },
set: { unit: "elementojn", verb: "havi" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "enigo",
email: "retadreso",
url: "URL",
emoji: "emoĝio",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO-datotempo",
date: "ISO-dato",
time: "ISO-tempo",
duration: "ISO-daŭro",
ipv4: "IPv4-adreso",
ipv6: "IPv6-adreso",
cidrv4: "IPv4-rango",
cidrv6: "IPv6-rango",
base64: "64-ume kodita karaktraro",
base64url: "URL-64-ume kodita karaktraro",
json_string: "JSON-karaktraro",
e164: "E.164-nombro",
jwt: "JWT",
template_literal: "enigo"
};
const TypeDictionary = {
nan: "NaN",
number: "nombro",
array: "tabelo",
null: "senvalora"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Nevalida enigo: atendiĝis instanceof ${issue2.expected}, riceviĝis ${received}`;
}
return `Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Nevalida enigo: atendiĝis ${stringifyPrimitive(issue2.values[0])}`;
return `Nevalida opcio: atendiĝis unu el ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Tro granda: atendiĝis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
return `Tro granda: atendiĝis ke ${issue2.origin ?? "valoro"} havu ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Tro malgranda: atendiĝis ke ${issue2.origin} havu ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Tro malgranda: atendiĝis ke ${issue2.origin} estu ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
if (_issue.format === "regex")
return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
return `Nevalida ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Nevalida nombro: devas esti oblo de ${issue2.divisor}`;
case "unrecognized_keys":
return `Nekonata${issue2.keys.length > 1 ? "j" : ""} ŝlosilo${issue2.keys.length > 1 ? "j" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Nevalida ŝlosilo en ${issue2.origin}`;
case "invalid_union":
return "Nevalida enigo";
case "invalid_element":
return `Nevalida valoro en ${issue2.origin}`;
default:
return `Nevalida enigo`;
}
};
};
var init_eo = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.js
function es_default() {
return {
localeError: error12()
};
}
var error12 = () => {
const Sizable = {
string: { unit: "caracteres", verb: "tener" },
file: { unit: "bytes", verb: "tener" },
array: { unit: "elementos", verb: "tener" },
set: { unit: "elementos", verb: "tener" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "entrada",
email: "dirección de correo electrónico",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "fecha y hora ISO",
date: "fecha ISO",
time: "hora ISO",
duration: "duración ISO",
ipv4: "dirección IPv4",
ipv6: "dirección IPv6",
cidrv4: "rango IPv4",
cidrv6: "rango IPv6",
base64: "cadena codificada en base64",
base64url: "URL codificada en base64",
json_string: "cadena JSON",
e164: "número E.164",
jwt: "JWT",
template_literal: "entrada"
};
const TypeDictionary = {
nan: "NaN",
string: "texto",
number: "número",
boolean: "booleano",
array: "arreglo",
object: "objeto",
set: "conjunto",
file: "archivo",
date: "fecha",
bigint: "número grande",
symbol: "símbolo",
undefined: "indefinido",
null: "nulo",
function: "función",
map: "mapa",
record: "registro",
tuple: "tupla",
enum: "enumeración",
union: "unión",
literal: "literal",
promise: "promesa",
void: "vacío",
never: "nunca",
unknown: "desconocido",
any: "cualquiera"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Entrada inválida: se esperaba instanceof ${issue2.expected}, recibido ${received}`;
}
return `Entrada inválida: se esperaba ${expected}, recibido ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Entrada inválida: se esperaba ${stringifyPrimitive(issue2.values[0])}`;
return `Opción inválida: se esperaba una de ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
if (sizing)
return `Demasiado grande: se esperaba que ${origin2 ?? "valor"} tuviera ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`;
return `Demasiado grande: se esperaba que ${origin2 ?? "valor"} fuera ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
if (sizing) {
return `Demasiado pequeño: se esperaba que ${origin2} tuviera ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Demasiado pequeño: se esperaba que ${origin2} fuera ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Cadena inválida: debe comenzar con "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Cadena inválida: debe terminar en "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Cadena inválida: debe incluir "${_issue.includes}"`;
if (_issue.format === "regex")
return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;
return `Inválido ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Número inválido: debe ser múltiplo de ${issue2.divisor}`;
case "unrecognized_keys":
return `Llave${issue2.keys.length > 1 ? "s" : ""} desconocida${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Llave inválida en ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
case "invalid_union":
return "Entrada inválida";
case "invalid_element":
return `Valor inválido en ${TypeDictionary[issue2.origin] ?? issue2.origin}`;
default:
return `Entrada inválida`;
}
};
};
var init_es = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.js
function fa_default() {
return {
localeError: error13()
};
}
var error13 = () => {
const Sizable = {
string: { unit: "کاراکتر", verb: "داشته باشد" },
file: { unit: "بایت", verb: "داشته باشد" },
array: { unit: "آیتم", verb: "داشته باشد" },
set: { unit: "آیتم", verb: "داشته باشد" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ورودی",
email: "آدرس ایمیل",
url: "URL",
emoji: "ایموجی",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "تاریخ و زمان ایزو",
date: "تاریخ ایزو",
time: "زمان ایزو",
duration: "مدت زمان ایزو",
ipv4: "IPv4 آدرس",
ipv6: "IPv6 آدرس",
cidrv4: "IPv4 دامنه",
cidrv6: "IPv6 دامنه",
base64: "base64-encoded رشته",
base64url: "base64url-encoded رشته",
json_string: "JSON رشته",
e164: "E.164 عدد",
jwt: "JWT",
template_literal: "ورودی"
};
const TypeDictionary = {
nan: "NaN",
number: "عدد",
array: "آرایه"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `ورودی نامعتبر: میبایست instanceof ${issue2.expected} میبود، ${received} دریافت شد`;
}
return `ورودی نامعتبر: میبایست ${expected} میبود، ${received} دریافت شد`;
}
case "invalid_value":
if (issue2.values.length === 1) {
return `ورودی نامعتبر: میبایست ${stringifyPrimitive(issue2.values[0])} میبود`;
}
return `گزینه نامعتبر: میبایست یکی از ${joinValues(issue2.values, "|")} میبود`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `خیلی بزرگ: ${issue2.origin ?? "مقدار"} باید ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "عنصر"} باشد`;
}
return `خیلی بزرگ: ${issue2.origin ?? "مقدار"} باید ${adj}${issue2.maximum.toString()} باشد`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `خیلی کوچک: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} ${sizing.unit} باشد`;
}
return `خیلی کوچک: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} باشد`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `رشته نامعتبر: باید با "${_issue.prefix}" شروع شود`;
}
if (_issue.format === "ends_with") {
return `رشته نامعتبر: باید با "${_issue.suffix}" تمام شود`;
}
if (_issue.format === "includes") {
return `رشته نامعتبر: باید شامل "${_issue.includes}" باشد`;
}
if (_issue.format === "regex") {
return `رشته نامعتبر: باید با الگوی ${_issue.pattern} مطابقت داشته باشد`;
}
return `${FormatDictionary[_issue.format] ?? issue2.format} نامعتبر`;
}
case "not_multiple_of":
return `عدد نامعتبر: باید مضرب ${issue2.divisor} باشد`;
case "unrecognized_keys":
return `کلید${issue2.keys.length > 1 ? "های" : ""} ناشناس: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `کلید ناشناس در ${issue2.origin}`;
case "invalid_union":
return `ورودی نامعتبر`;
case "invalid_element":
return `مقدار نامعتبر در ${issue2.origin}`;
default:
return `ورودی نامعتبر`;
}
};
};
var init_fa = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.js
function fi_default() {
return {
localeError: error14()
};
}
var error14 = () => {
const Sizable = {
string: { unit: "merkkiä", subject: "merkkijonon" },
file: { unit: "tavua", subject: "tiedoston" },
array: { unit: "alkiota", subject: "listan" },
set: { unit: "alkiota", subject: "joukon" },
number: { unit: "", subject: "luvun" },
bigint: { unit: "", subject: "suuren kokonaisluvun" },
int: { unit: "", subject: "kokonaisluvun" },
date: { unit: "", subject: "päivämäärän" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "säännöllinen lauseke",
email: "sähköpostiosoite",
url: "URL-osoite",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO-aikaleima",
date: "ISO-päivämäärä",
time: "ISO-aika",
duration: "ISO-kesto",
ipv4: "IPv4-osoite",
ipv6: "IPv6-osoite",
cidrv4: "IPv4-alue",
cidrv6: "IPv6-alue",
base64: "base64-koodattu merkkijono",
base64url: "base64url-koodattu merkkijono",
json_string: "JSON-merkkijono",
e164: "E.164-luku",
jwt: "JWT",
template_literal: "templaattimerkkijono"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Virheellinen tyyppi: odotettiin instanceof ${issue2.expected}, oli ${received}`;
}
return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Virheellinen syöte: täytyy olla ${stringifyPrimitive(issue2.values[0])}`;
return `Virheellinen valinta: täytyy olla yksi seuraavista: ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Liian suuri: ${sizing.subject} täytyy olla ${adj}${issue2.maximum.toString()} ${sizing.unit}`.trim();
}
return `Liian suuri: arvon täytyy olla ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Liian pieni: ${sizing.subject} täytyy olla ${adj}${issue2.minimum.toString()} ${sizing.unit}`.trim();
}
return `Liian pieni: arvon täytyy olla ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Virheellinen syöte: täytyy alkaa "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Virheellinen syöte: täytyy loppua "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Virheellinen syöte: täytyy sisältää "${_issue.includes}"`;
if (_issue.format === "regex") {
return `Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${_issue.pattern}`;
}
return `Virheellinen ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Virheellinen luku: täytyy olla luvun ${issue2.divisor} monikerta`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return "Virheellinen avain tietueessa";
case "invalid_union":
return "Virheellinen unioni";
case "invalid_element":
return "Virheellinen arvo joukossa";
default:
return `Virheellinen syöte`;
}
};
};
var init_fi = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.js
function fr_default() {
return {
localeError: error15()
};
}
var error15 = () => {
const Sizable = {
string: { unit: "caractères", verb: "avoir" },
file: { unit: "octets", verb: "avoir" },
array: { unit: "éléments", verb: "avoir" },
set: { unit: "éléments", verb: "avoir" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "entrée",
email: "adresse e-mail",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "date et heure ISO",
date: "date ISO",
time: "heure ISO",
duration: "durée ISO",
ipv4: "adresse IPv4",
ipv6: "adresse IPv6",
cidrv4: "plage IPv4",
cidrv6: "plage IPv6",
base64: "chaîne encodée en base64",
base64url: "chaîne encodée en base64url",
json_string: "chaîne JSON",
e164: "numéro E.164",
jwt: "JWT",
template_literal: "entrée"
};
const TypeDictionary = {
nan: "NaN",
number: "nombre",
array: "tableau"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Entrée invalide : instanceof ${issue2.expected} attendu, ${received} reçu`;
}
return `Entrée invalide : ${expected} attendu, ${received} reçu`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Entrée invalide : ${stringifyPrimitive(issue2.values[0])} attendu`;
return `Option invalide : une valeur parmi ${joinValues(issue2.values, "|")} attendue`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Trop grand : ${issue2.origin ?? "valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "élément(s)"}`;
return `Trop grand : ${issue2.origin ?? "valeur"} doit être ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Trop petit : ${issue2.origin} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Trop petit : ${issue2.origin} doit être ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Chaîne invalide : doit inclure "${_issue.includes}"`;
if (_issue.format === "regex")
return `Chaîne invalide : doit correspondre au modèle ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`;
}
case "not_multiple_of":
return `Nombre invalide : doit être un multiple de ${issue2.divisor}`;
case "unrecognized_keys":
return `Clé${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Clé invalide dans ${issue2.origin}`;
case "invalid_union":
return "Entrée invalide";
case "invalid_element":
return `Valeur invalide dans ${issue2.origin}`;
default:
return `Entrée invalide`;
}
};
};
var init_fr = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js
function fr_CA_default() {
return {
localeError: error16()
};
}
var error16 = () => {
const Sizable = {
string: { unit: "caractères", verb: "avoir" },
file: { unit: "octets", verb: "avoir" },
array: { unit: "éléments", verb: "avoir" },
set: { unit: "éléments", verb: "avoir" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "entrée",
email: "adresse courriel",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "date-heure ISO",
date: "date ISO",
time: "heure ISO",
duration: "durée ISO",
ipv4: "adresse IPv4",
ipv6: "adresse IPv6",
cidrv4: "plage IPv4",
cidrv6: "plage IPv6",
base64: "chaîne encodée en base64",
base64url: "chaîne encodée en base64url",
json_string: "chaîne JSON",
e164: "numéro E.164",
jwt: "JWT",
template_literal: "entrée"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Entrée invalide : attendu instanceof ${issue2.expected}, reçu ${received}`;
}
return `Entrée invalide : attendu ${expected}, reçu ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Entrée invalide : attendu ${stringifyPrimitive(issue2.values[0])}`;
return `Option invalide : attendu l'une des valeurs suivantes ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "≤" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} ait ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
return `Trop grand : attendu que ${issue2.origin ?? "la valeur"} soit ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? "≥" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Trop petit : attendu que ${issue2.origin} ait ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Trop petit : attendu que ${issue2.origin} soit ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Chaîne invalide : doit inclure "${_issue.includes}"`;
if (_issue.format === "regex")
return `Chaîne invalide : doit correspondre au motif ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} invalide`;
}
case "not_multiple_of":
return `Nombre invalide : doit être un multiple de ${issue2.divisor}`;
case "unrecognized_keys":
return `Clé${issue2.keys.length > 1 ? "s" : ""} non reconnue${issue2.keys.length > 1 ? "s" : ""} : ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Clé invalide dans ${issue2.origin}`;
case "invalid_union":
return "Entrée invalide";
case "invalid_element":
return `Valeur invalide dans ${issue2.origin}`;
default:
return `Entrée invalide`;
}
};
};
var init_fr_CA = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.js
function he_default() {
return {
localeError: error17()
};
}
var error17 = () => {
const TypeNames = {
string: { label: "מחרוזת", gender: "f" },
number: { label: "מספר", gender: "m" },
boolean: { label: "ערך בוליאני", gender: "m" },
bigint: { label: "BigInt", gender: "m" },
date: { label: "תאריך", gender: "m" },
array: { label: "מערך", gender: "m" },
object: { label: "אובייקט", gender: "m" },
null: { label: "ערך ריק (null)", gender: "m" },
undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
symbol: { label: "סימבול (Symbol)", gender: "m" },
function: { label: "פונקציה", gender: "f" },
map: { label: "מפה (Map)", gender: "f" },
set: { label: "קבוצה (Set)", gender: "f" },
file: { label: "קובץ", gender: "m" },
promise: { label: "Promise", gender: "m" },
NaN: { label: "NaN", gender: "m" },
unknown: { label: "ערך לא ידוע", gender: "m" },
value: { label: "ערך", gender: "m" }
};
const Sizable = {
string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }
};
const typeEntry = (t) => t ? TypeNames[t] : undefined;
const typeLabel = (t) => {
const e = typeEntry(t);
if (e)
return e.label;
return t ?? TypeNames.unknown.label;
};
const withDefinite = (t) => `ה${typeLabel(t)}`;
const verbFor = (t) => {
const e = typeEntry(t);
const gender = e?.gender ?? "m";
return gender === "f" ? "צריכה להיות" : "צריך להיות";
};
const getSizing = (origin2) => {
if (!origin2)
return null;
return Sizable[origin2] ?? null;
};
const FormatDictionary = {
regex: { label: "קלט", gender: "m" },
email: { label: "כתובת אימייל", gender: "f" },
url: { label: "כתובת רשת", gender: "f" },
emoji: { label: "אימוג'י", gender: "m" },
uuid: { label: "UUID", gender: "m" },
nanoid: { label: "nanoid", gender: "m" },
guid: { label: "GUID", gender: "m" },
cuid: { label: "cuid", gender: "m" },
cuid2: { label: "cuid2", gender: "m" },
ulid: { label: "ULID", gender: "m" },
xid: { label: "XID", gender: "m" },
ksuid: { label: "KSUID", gender: "m" },
datetime: { label: "תאריך וזמן ISO", gender: "m" },
date: { label: "תאריך ISO", gender: "m" },
time: { label: "זמן ISO", gender: "m" },
duration: { label: "משך זמן ISO", gender: "m" },
ipv4: { label: "כתובת IPv4", gender: "f" },
ipv6: { label: "כתובת IPv6", gender: "f" },
cidrv4: { label: "טווח IPv4", gender: "m" },
cidrv6: { label: "טווח IPv6", gender: "m" },
base64: { label: "מחרוזת בבסיס 64", gender: "f" },
base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
json_string: { label: "מחרוזת JSON", gender: "f" },
e164: { label: "מספר E.164", gender: "m" },
jwt: { label: "JWT", gender: "m" },
ends_with: { label: "קלט", gender: "m" },
includes: { label: "קלט", gender: "m" },
lowercase: { label: "קלט", gender: "m" },
starts_with: { label: "קלט", gender: "m" },
uppercase: { label: "קלט", gender: "m" }
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expectedKey = issue2.expected;
const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey);
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `קלט לא תקין: צריך להיות instanceof ${issue2.expected}, התקבל ${received}`;
}
return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
}
case "invalid_value": {
if (issue2.values.length === 1) {
return `ערך לא תקין: הערך חייב להיות ${stringifyPrimitive(issue2.values[0])}`;
}
const stringified = issue2.values.map((v2) => stringifyPrimitive(v2));
if (issue2.values.length === 2) {
return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
}
const lastValue = stringified[stringified.length - 1];
const restValues = stringified.slice(0, -1).join(", ");
return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
}
case "too_big": {
const sizing = getSizing(issue2.origin);
const subject = withDefinite(issue2.origin ?? "value");
if (issue2.origin === "string") {
return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue2.maximum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "או פחות" : "לכל היותר"}`.trim();
}
if (issue2.origin === "number") {
const comparison = issue2.inclusive ? `קטן או שווה ל-${issue2.maximum}` : `קטן מ-${issue2.maximum}`;
return `גדול מדי: ${subject} צריך להיות ${comparison}`;
}
if (issue2.origin === "array" || issue2.origin === "set") {
const verb = issue2.origin === "set" ? "צריכה" : "צריך";
const comparison = issue2.inclusive ? `${issue2.maximum} ${sizing?.unit ?? ""} או פחות` : `פחות מ-${issue2.maximum} ${sizing?.unit ?? ""}`;
return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
}
const adj = issue2.inclusive ? "<=" : "<";
const be2 = verbFor(issue2.origin ?? "value");
if (sizing?.unit) {
return `${sizing.longLabel} מדי: ${subject} ${be2} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
}
return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be2} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const sizing = getSizing(issue2.origin);
const subject = withDefinite(issue2.origin ?? "value");
if (issue2.origin === "string") {
return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue2.minimum.toString()} ${sizing?.unit ?? ""} ${issue2.inclusive ? "או יותר" : "לפחות"}`.trim();
}
if (issue2.origin === "number") {
const comparison = issue2.inclusive ? `גדול או שווה ל-${issue2.minimum}` : `גדול מ-${issue2.minimum}`;
return `קטן מדי: ${subject} צריך להיות ${comparison}`;
}
if (issue2.origin === "array" || issue2.origin === "set") {
const verb = issue2.origin === "set" ? "צריכה" : "צריך";
if (issue2.minimum === 1 && issue2.inclusive) {
const singularPhrase = issue2.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
}
const comparison = issue2.inclusive ? `${issue2.minimum} ${sizing?.unit ?? ""} או יותר` : `יותר מ-${issue2.minimum} ${sizing?.unit ?? ""}`;
return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
}
const adj = issue2.inclusive ? ">=" : ">";
const be2 = verbFor(issue2.origin ?? "value");
if (sizing?.unit) {
return `${sizing.shortLabel} מדי: ${subject} ${be2} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be2} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
if (_issue.format === "includes")
return `המחרוזת חייבת לכלול "${_issue.includes}"`;
if (_issue.format === "regex")
return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
const nounEntry = FormatDictionary[_issue.format];
const noun = nounEntry?.label ?? _issue.format;
const gender = nounEntry?.gender ?? "m";
const adjective = gender === "f" ? "תקינה" : "תקין";
return `${noun} לא ${adjective}`;
}
case "not_multiple_of":
return `מספר לא תקין: חייב להיות מכפלה של ${issue2.divisor}`;
case "unrecognized_keys":
return `מפתח${issue2.keys.length > 1 ? "ות" : ""} לא מזוה${issue2.keys.length > 1 ? "ים" : "ה"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key": {
return `שדה לא תקין באובייקט`;
}
case "invalid_union":
return "קלט לא תקין";
case "invalid_element": {
const place = withDefinite(issue2.origin ?? "array");
return `ערך לא תקין ב${place}`;
}
default:
return `קלט לא תקין`;
}
};
};
var init_he = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.js
function hu_default() {
return {
localeError: error18()
};
}
var error18 = () => {
const Sizable = {
string: { unit: "karakter", verb: "legyen" },
file: { unit: "byte", verb: "legyen" },
array: { unit: "elem", verb: "legyen" },
set: { unit: "elem", verb: "legyen" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "bemenet",
email: "email cím",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO időbélyeg",
date: "ISO dátum",
time: "ISO idő",
duration: "ISO időintervallum",
ipv4: "IPv4 cím",
ipv6: "IPv6 cím",
cidrv4: "IPv4 tartomány",
cidrv6: "IPv6 tartomány",
base64: "base64-kódolt string",
base64url: "base64url-kódolt string",
json_string: "JSON string",
e164: "E.164 szám",
jwt: "JWT",
template_literal: "bemenet"
};
const TypeDictionary = {
nan: "NaN",
number: "szám",
array: "tömb"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Érvénytelen bemenet: a várt érték instanceof ${issue2.expected}, a kapott érték ${received}`;
}
return `Érvénytelen bemenet: a várt érték ${expected}, a kapott érték ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Érvénytelen bemenet: a várt érték ${stringifyPrimitive(issue2.values[0])}`;
return `Érvénytelen opció: valamelyik érték várt ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Túl nagy: ${issue2.origin ?? "érték"} mérete túl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elem"}`;
return `Túl nagy: a bemeneti érték ${issue2.origin ?? "érték"} túl nagy: ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Túl kicsi: a bemeneti érték ${issue2.origin} mérete túl kicsi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Túl kicsi: a bemeneti érték ${issue2.origin} túl kicsi ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Érvénytelen string: "${_issue.prefix}" értékkel kell kezdődnie`;
if (_issue.format === "ends_with")
return `Érvénytelen string: "${_issue.suffix}" értékkel kell végződnie`;
if (_issue.format === "includes")
return `Érvénytelen string: "${_issue.includes}" értéket kell tartalmaznia`;
if (_issue.format === "regex")
return `Érvénytelen string: ${_issue.pattern} mintának kell megfelelnie`;
return `Érvénytelen ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Érvénytelen szám: ${issue2.divisor} többszörösének kell lennie`;
case "unrecognized_keys":
return `Ismeretlen kulcs${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Érvénytelen kulcs ${issue2.origin}`;
case "invalid_union":
return "Érvénytelen bemenet";
case "invalid_element":
return `Érvénytelen érték: ${issue2.origin}`;
default:
return `Érvénytelen bemenet`;
}
};
};
var init_hu = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.js
function getArmenianPlural(count2, one, many) {
return Math.abs(count2) === 1 ? one : many;
}
function withDefiniteArticle(word) {
if (!word)
return "";
const vowels = ["ա", "ե", "ը", "ի", "ո", "ու", "օ"];
const lastChar = word[word.length - 1];
return word + (vowels.includes(lastChar) ? "ն" : "ը");
}
function hy_default() {
return {
localeError: error19()
};
}
var error19 = () => {
const Sizable = {
string: {
unit: {
one: "նշան",
many: "նշաններ"
},
verb: "ունենալ"
},
file: {
unit: {
one: "բայթ",
many: "բայթեր"
},
verb: "ունենալ"
},
array: {
unit: {
one: "տարր",
many: "տարրեր"
},
verb: "ունենալ"
},
set: {
unit: {
one: "տարր",
many: "տարրեր"
},
verb: "ունենալ"
}
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "մուտք",
email: "էլ. հասցե",
url: "URL",
emoji: "էմոջի",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO ամսաթիվ և ժամ",
date: "ISO ամսաթիվ",
time: "ISO ժամ",
duration: "ISO տևողություն",
ipv4: "IPv4 հասցե",
ipv6: "IPv6 հասցե",
cidrv4: "IPv4 միջակայք",
cidrv6: "IPv6 միջակայք",
base64: "base64 ձևաչափով տող",
base64url: "base64url ձևաչափով տող",
json_string: "JSON տող",
e164: "E.164 համար",
jwt: "JWT",
template_literal: "մուտք"
};
const TypeDictionary = {
nan: "NaN",
number: "թիվ",
array: "զանգված"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Սխալ մուտքագրում․ սպասվում էր instanceof ${issue2.expected}, ստացվել է ${received}`;
}
return `Սխալ մուտքագրում․ սպասվում էր ${expected}, ստացվել է ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Սխալ մուտքագրում․ սպասվում էր ${stringifyPrimitive(issue2.values[1])}`;
return `Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
const maxValue = Number(issue2.maximum);
const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);
return `Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin ?? "արժեք")} կունենա ${adj}${issue2.maximum.toString()} ${unit}`;
}
return `Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin ?? "արժեք")} լինի ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
const minValue = Number(issue2.minimum);
const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);
return `Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin)} կունենա ${adj}${issue2.minimum.toString()} ${unit}`;
}
return `Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin)} լինի ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Սխալ տող․ պետք է սկսվի "${_issue.prefix}"-ով`;
if (_issue.format === "ends_with")
return `Սխալ տող․ պետք է ավարտվի "${_issue.suffix}"-ով`;
if (_issue.format === "includes")
return `Սխալ տող․ պետք է պարունակի "${_issue.includes}"`;
if (_issue.format === "regex")
return `Սխալ տող․ պետք է համապատասխանի ${_issue.pattern} ձևաչափին`;
return `Սխալ ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Սխալ թիվ․ պետք է բազմապատիկ լինի ${issue2.divisor}-ի`;
case "unrecognized_keys":
return `Չճանաչված բանալի${issue2.keys.length > 1 ? "ներ" : ""}. ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Սխալ բանալի ${withDefiniteArticle(issue2.origin)}-ում`;
case "invalid_union":
return "Սխալ մուտքագրում";
case "invalid_element":
return `Սխալ արժեք ${withDefiniteArticle(issue2.origin)}-ում`;
default:
return `Սխալ մուտքագրում`;
}
};
};
var init_hy = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.js
function id_default() {
return {
localeError: error20()
};
}
var error20 = () => {
const Sizable = {
string: { unit: "karakter", verb: "memiliki" },
file: { unit: "byte", verb: "memiliki" },
array: { unit: "item", verb: "memiliki" },
set: { unit: "item", verb: "memiliki" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "alamat email",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "tanggal dan waktu format ISO",
date: "tanggal format ISO",
time: "jam format ISO",
duration: "durasi format ISO",
ipv4: "alamat IPv4",
ipv6: "alamat IPv6",
cidrv4: "rentang alamat IPv4",
cidrv6: "rentang alamat IPv6",
base64: "string dengan enkode base64",
base64url: "string dengan enkode base64url",
json_string: "string JSON",
e164: "angka E.164",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Input tidak valid: diharapkan instanceof ${issue2.expected}, diterima ${received}`;
}
return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Input tidak valid: diharapkan ${stringifyPrimitive(issue2.values[0])}`;
return `Pilihan tidak valid: diharapkan salah satu dari ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} memiliki ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`;
return `Terlalu besar: diharapkan ${issue2.origin ?? "value"} menjadi ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Terlalu kecil: diharapkan ${issue2.origin} memiliki ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Terlalu kecil: diharapkan ${issue2.origin} menjadi ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`;
if (_issue.format === "includes")
return `String tidak valid: harus menyertakan "${_issue.includes}"`;
if (_issue.format === "regex")
return `String tidak valid: harus sesuai pola ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} tidak valid`;
}
case "not_multiple_of":
return `Angka tidak valid: harus kelipatan dari ${issue2.divisor}`;
case "unrecognized_keys":
return `Kunci tidak dikenali ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Kunci tidak valid di ${issue2.origin}`;
case "invalid_union":
return "Input tidak valid";
case "invalid_element":
return `Nilai tidak valid di ${issue2.origin}`;
default:
return `Input tidak valid`;
}
};
};
var init_id = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.js
function is_default() {
return {
localeError: error21()
};
}
var error21 = () => {
const Sizable = {
string: { unit: "stafi", verb: "að hafa" },
file: { unit: "bæti", verb: "að hafa" },
array: { unit: "hluti", verb: "að hafa" },
set: { unit: "hluti", verb: "að hafa" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "gildi",
email: "netfang",
url: "vefslóð",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO dagsetning og tími",
date: "ISO dagsetning",
time: "ISO tími",
duration: "ISO tímalengd",
ipv4: "IPv4 address",
ipv6: "IPv6 address",
cidrv4: "IPv4 range",
cidrv6: "IPv6 range",
base64: "base64-encoded strengur",
base64url: "base64url-encoded strengur",
json_string: "JSON strengur",
e164: "E.164 tölugildi",
jwt: "JWT",
template_literal: "gildi"
};
const TypeDictionary = {
nan: "NaN",
number: "númer",
array: "fylki"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera instanceof ${issue2.expected}`;
}
return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera ${expected}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Rangt gildi: gert ráð fyrir ${stringifyPrimitive(issue2.values[0])}`;
return `Ógilt val: má vera eitt af eftirfarandi ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Of stórt: gert er ráð fyrir að ${issue2.origin ?? "gildi"} hafi ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "hluti"}`;
return `Of stórt: gert er ráð fyrir að ${issue2.origin ?? "gildi"} sé ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Of lítið: gert er ráð fyrir að ${issue2.origin} hafi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Of lítið: gert er ráð fyrir að ${issue2.origin} sé ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Ógildur strengur: verður að byrja á "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Ógildur strengur: verður að enda á "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Ógildur strengur: verður að innihalda "${_issue.includes}"`;
if (_issue.format === "regex")
return `Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;
return `Rangt ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Röng tala: verður að vera margfeldi af ${issue2.divisor}`;
case "unrecognized_keys":
return `Óþekkt ${issue2.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Rangur lykill í ${issue2.origin}`;
case "invalid_union":
return "Rangt gildi";
case "invalid_element":
return `Rangt gildi í ${issue2.origin}`;
default:
return `Rangt gildi`;
}
};
};
var init_is = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.js
function it_default() {
return {
localeError: error22()
};
}
var error22 = () => {
const Sizable = {
string: { unit: "caratteri", verb: "avere" },
file: { unit: "byte", verb: "avere" },
array: { unit: "elementi", verb: "avere" },
set: { unit: "elementi", verb: "avere" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "indirizzo email",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "data e ora ISO",
date: "data ISO",
time: "ora ISO",
duration: "durata ISO",
ipv4: "indirizzo IPv4",
ipv6: "indirizzo IPv6",
cidrv4: "intervallo IPv4",
cidrv6: "intervallo IPv6",
base64: "stringa codificata in base64",
base64url: "URL codificata in base64",
json_string: "stringa JSON",
e164: "numero E.164",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN",
number: "numero",
array: "vettore"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Input non valido: atteso instanceof ${issue2.expected}, ricevuto ${received}`;
}
return `Input non valido: atteso ${expected}, ricevuto ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Input non valido: atteso ${stringifyPrimitive(issue2.values[0])}`;
return `Opzione non valida: atteso uno tra ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Troppo grande: ${issue2.origin ?? "valore"} deve avere ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementi"}`;
return `Troppo grande: ${issue2.origin ?? "valore"} deve essere ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Troppo piccolo: ${issue2.origin} deve avere ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Troppo piccolo: ${issue2.origin} deve essere ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Stringa non valida: deve iniziare con "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Stringa non valida: deve terminare con "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Stringa non valida: deve includere "${_issue.includes}"`;
if (_issue.format === "regex")
return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Numero non valido: deve essere un multiplo di ${issue2.divisor}`;
case "unrecognized_keys":
return `Chiav${issue2.keys.length > 1 ? "i" : "e"} non riconosciut${issue2.keys.length > 1 ? "e" : "a"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Chiave non valida in ${issue2.origin}`;
case "invalid_union":
return "Input non valido";
case "invalid_element":
return `Valore non valido in ${issue2.origin}`;
default:
return `Input non valido`;
}
};
};
var init_it = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.js
function ja_default() {
return {
localeError: error23()
};
}
var error23 = () => {
const Sizable = {
string: { unit: "文字", verb: "である" },
file: { unit: "バイト", verb: "である" },
array: { unit: "要素", verb: "である" },
set: { unit: "要素", verb: "である" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "入力値",
email: "メールアドレス",
url: "URL",
emoji: "絵文字",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO日時",
date: "ISO日付",
time: "ISO時刻",
duration: "ISO期間",
ipv4: "IPv4アドレス",
ipv6: "IPv6アドレス",
cidrv4: "IPv4範囲",
cidrv6: "IPv6範囲",
base64: "base64エンコード文字列",
base64url: "base64urlエンコード文字列",
json_string: "JSON文字列",
e164: "E.164番号",
jwt: "JWT",
template_literal: "入力値"
};
const TypeDictionary = {
nan: "NaN",
number: "数値",
array: "配列"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `無効な入力: instanceof ${issue2.expected}が期待されましたが、${received}が入力されました`;
}
return `無効な入力: ${expected}が期待されましたが、${received}が入力されました`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `無効な入力: ${stringifyPrimitive(issue2.values[0])}が期待されました`;
return `無効な選択: ${joinValues(issue2.values, "、")}のいずれかである必要があります`;
case "too_big": {
const adj = issue2.inclusive ? "以下である" : "より小さい";
const sizing = getSizing(issue2.origin);
if (sizing)
return `大きすぎる値: ${issue2.origin ?? "値"}は${issue2.maximum.toString()}${sizing.unit ?? "要素"}${adj}必要があります`;
return `大きすぎる値: ${issue2.origin ?? "値"}は${issue2.maximum.toString()}${adj}必要があります`;
}
case "too_small": {
const adj = issue2.inclusive ? "以上である" : "より大きい";
const sizing = getSizing(issue2.origin);
if (sizing)
return `小さすぎる値: ${issue2.origin}は${issue2.minimum.toString()}${sizing.unit}${adj}必要があります`;
return `小さすぎる値: ${issue2.origin}は${issue2.minimum.toString()}${adj}必要があります`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `無効な文字列: "${_issue.prefix}"で始まる必要があります`;
if (_issue.format === "ends_with")
return `無効な文字列: "${_issue.suffix}"で終わる必要があります`;
if (_issue.format === "includes")
return `無効な文字列: "${_issue.includes}"を含む必要があります`;
if (_issue.format === "regex")
return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;
return `無効な${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `無効な数値: ${issue2.divisor}の倍数である必要があります`;
case "unrecognized_keys":
return `認識されていないキー${issue2.keys.length > 1 ? "群" : ""}: ${joinValues(issue2.keys, "、")}`;
case "invalid_key":
return `${issue2.origin}内の無効なキー`;
case "invalid_union":
return "無効な入力";
case "invalid_element":
return `${issue2.origin}内の無効な値`;
default:
return `無効な入力`;
}
};
};
var init_ja = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.js
function ka_default() {
return {
localeError: error24()
};
}
var error24 = () => {
const Sizable = {
string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "შეყვანა",
email: "ელ-ფოსტის მისამართი",
url: "URL",
emoji: "ემოჯი",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "თარიღი-დრო",
date: "თარიღი",
time: "დრო",
duration: "ხანგრძლივობა",
ipv4: "IPv4 მისამართი",
ipv6: "IPv6 მისამართი",
cidrv4: "IPv4 დიაპაზონი",
cidrv6: "IPv6 დიაპაზონი",
base64: "base64-კოდირებული სტრინგი",
base64url: "base64url-კოდირებული სტრინგი",
json_string: "JSON სტრინგი",
e164: "E.164 ნომერი",
jwt: "JWT",
template_literal: "შეყვანა"
};
const TypeDictionary = {
nan: "NaN",
number: "რიცხვი",
string: "სტრინგი",
boolean: "ბულეანი",
function: "ფუნქცია",
array: "მასივი"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `არასწორი შეყვანა: მოსალოდნელი instanceof ${issue2.expected}, მიღებული ${received}`;
}
return `არასწორი შეყვანა: მოსალოდნელი ${expected}, მიღებული ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `არასწორი შეყვანა: მოსალოდნელი ${stringifyPrimitive(issue2.values[0])}`;
return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${joinValues(issue2.values, "|")}-დან`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `ზედმეტად დიდი: მოსალოდნელი ${issue2.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;
return `ზედმეტად დიდი: მოსალოდნელი ${issue2.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `ზედმეტად პატარა: მოსალოდნელი ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `ზედმეტად პატარა: მოსალოდნელი ${issue2.origin} იყოს ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
}
if (_issue.format === "ends_with")
return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
if (_issue.format === "includes")
return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
if (_issue.format === "regex")
return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
return `არასწორი ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `არასწორი რიცხვი: უნდა იყოს ${issue2.divisor}-ის ჯერადი`;
case "unrecognized_keys":
return `უცნობი გასაღებ${issue2.keys.length > 1 ? "ები" : "ი"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `არასწორი გასაღები ${issue2.origin}-ში`;
case "invalid_union":
return "არასწორი შეყვანა";
case "invalid_element":
return `არასწორი მნიშვნელობა ${issue2.origin}-ში`;
default:
return `არასწორი შეყვანა`;
}
};
};
var init_ka = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.js
function km_default() {
return {
localeError: error25()
};
}
var error25 = () => {
const Sizable = {
string: { unit: "តួអក្សរ", verb: "គួរមាន" },
file: { unit: "បៃ", verb: "គួរមាន" },
array: { unit: "ធាតុ", verb: "គួរមាន" },
set: { unit: "ធាតុ", verb: "គួរមាន" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ទិន្នន័យបញ្ចូល",
email: "អាសយដ្ឋានអ៊ីមែល",
url: "URL",
emoji: "សញ្ញាអារម្មណ៍",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
date: "កាលបរិច្ឆេទ ISO",
time: "ម៉ោង ISO",
duration: "រយៈពេល ISO",
ipv4: "អាសយដ្ឋាន IPv4",
ipv6: "អាសយដ្ឋាន IPv6",
cidrv4: "ដែនអាសយដ្ឋាន IPv4",
cidrv6: "ដែនអាសយដ្ឋាន IPv6",
base64: "ខ្សែអក្សរអ៊ិកូដ base64",
base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
json_string: "ខ្សែអក្សរ JSON",
e164: "លេខ E.164",
jwt: "JWT",
template_literal: "ទិន្នន័យបញ្ចូល"
};
const TypeDictionary = {
nan: "NaN",
number: "លេខ",
array: "អារេ (Array)",
null: "គ្មានតម្លៃ (null)"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${issue2.expected} ប៉ុន្តែទទួលបាន ${received}`;
}
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${expected} ប៉ុន្តែទទួលបាន ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${stringifyPrimitive(issue2.values[0])}`;
return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `ធំពេក៖ ត្រូវការ ${issue2.origin ?? "តម្លៃ"} ${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
return `ធំពេក៖ ត្រូវការ ${issue2.origin ?? "តម្លៃ"} ${adj} ${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `តូចពេក៖ ត្រូវការ ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
}
return `តូចពេក៖ ត្រូវការ ${issue2.origin} ${adj} ${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
if (_issue.format === "includes")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
if (_issue.format === "regex")
return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
return `មិនត្រឹមត្រូវ៖ ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue2.divisor}`;
case "unrecognized_keys":
return `រកឃើញសោមិនស្គាល់៖ ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue2.origin}`;
case "invalid_union":
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
case "invalid_element":
return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue2.origin}`;
default:
return `ទិន្នន័យមិនត្រឹមត្រូវ`;
}
};
};
var init_km = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.js
function kh_default() {
return km_default();
}
var init_kh = __esm(() => {
init_km();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.js
function ko_default() {
return {
localeError: error26()
};
}
var error26 = () => {
const Sizable = {
string: { unit: "문자", verb: "to have" },
file: { unit: "바이트", verb: "to have" },
array: { unit: "개", verb: "to have" },
set: { unit: "개", verb: "to have" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "입력",
email: "이메일 주소",
url: "URL",
emoji: "이모지",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO 날짜시간",
date: "ISO 날짜",
time: "ISO 시간",
duration: "ISO 기간",
ipv4: "IPv4 주소",
ipv6: "IPv6 주소",
cidrv4: "IPv4 범위",
cidrv6: "IPv6 범위",
base64: "base64 인코딩 문자열",
base64url: "base64url 인코딩 문자열",
json_string: "JSON 문자열",
e164: "E.164 번호",
jwt: "JWT",
template_literal: "입력"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `잘못된 입력: 예상 타입은 instanceof ${issue2.expected}, 받은 타입은 ${received}입니다`;
}
return `잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `잘못된 입력: 값은 ${stringifyPrimitive(issue2.values[0])} 이어야 합니다`;
return `잘못된 옵션: ${joinValues(issue2.values, "또는 ")} 중 하나여야 합니다`;
case "too_big": {
const adj = issue2.inclusive ? "이하" : "미만";
const suffix = adj === "미만" ? "이어야 합니다" : "여야 합니다";
const sizing = getSizing(issue2.origin);
const unit = sizing?.unit ?? "요소";
if (sizing)
return `${issue2.origin ?? "값"}이 너무 큽니다: ${issue2.maximum.toString()}${unit} ${adj}${suffix}`;
return `${issue2.origin ?? "값"}이 너무 큽니다: ${issue2.maximum.toString()} ${adj}${suffix}`;
}
case "too_small": {
const adj = issue2.inclusive ? "이상" : "초과";
const suffix = adj === "이상" ? "이어야 합니다" : "여야 합니다";
const sizing = getSizing(issue2.origin);
const unit = sizing?.unit ?? "요소";
if (sizing) {
return `${issue2.origin ?? "값"}이 너무 작습니다: ${issue2.minimum.toString()}${unit} ${adj}${suffix}`;
}
return `${issue2.origin ?? "값"}이 너무 작습니다: ${issue2.minimum.toString()} ${adj}${suffix}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;
}
if (_issue.format === "ends_with")
return `잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;
if (_issue.format === "includes")
return `잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;
if (_issue.format === "regex")
return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;
return `잘못된 ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `잘못된 숫자: ${issue2.divisor}의 배수여야 합니다`;
case "unrecognized_keys":
return `인식할 수 없는 키: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `잘못된 키: ${issue2.origin}`;
case "invalid_union":
return `잘못된 입력`;
case "invalid_element":
return `잘못된 값: ${issue2.origin}`;
default:
return `잘못된 입력`;
}
};
};
var init_ko = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.js
function getUnitTypeFromNumber(number2) {
const abs = Math.abs(number2);
const last = abs % 10;
const last2 = abs % 100;
if (last2 >= 11 && last2 <= 19 || last === 0)
return "many";
if (last === 1)
return "one";
return "few";
}
function lt_default() {
return {
localeError: error27()
};
}
var capitalizeFirstCharacter = (text) => {
return text.charAt(0).toUpperCase() + text.slice(1);
}, error27 = () => {
const Sizable = {
string: {
unit: {
one: "simbolis",
few: "simboliai",
many: "simbolių"
},
verb: {
smaller: {
inclusive: "turi būti ne ilgesnė kaip",
notInclusive: "turi būti trumpesnė kaip"
},
bigger: {
inclusive: "turi būti ne trumpesnė kaip",
notInclusive: "turi būti ilgesnė kaip"
}
}
},
file: {
unit: {
one: "baitas",
few: "baitai",
many: "baitų"
},
verb: {
smaller: {
inclusive: "turi būti ne didesnis kaip",
notInclusive: "turi būti mažesnis kaip"
},
bigger: {
inclusive: "turi būti ne mažesnis kaip",
notInclusive: "turi būti didesnis kaip"
}
}
},
array: {
unit: {
one: "elementą",
few: "elementus",
many: "elementų"
},
verb: {
smaller: {
inclusive: "turi turėti ne daugiau kaip",
notInclusive: "turi turėti mažiau kaip"
},
bigger: {
inclusive: "turi turėti ne mažiau kaip",
notInclusive: "turi turėti daugiau kaip"
}
}
},
set: {
unit: {
one: "elementą",
few: "elementus",
many: "elementų"
},
verb: {
smaller: {
inclusive: "turi turėti ne daugiau kaip",
notInclusive: "turi turėti mažiau kaip"
},
bigger: {
inclusive: "turi turėti ne mažiau kaip",
notInclusive: "turi turėti daugiau kaip"
}
}
}
};
function getSizing(origin2, unitType, inclusive, targetShouldBe) {
const result = Sizable[origin2] ?? null;
if (result === null)
return result;
return {
unit: result.unit[unitType],
verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"]
};
}
const FormatDictionary = {
regex: "įvestis",
email: "el. pašto adresas",
url: "URL",
emoji: "jaustukas",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO data ir laikas",
date: "ISO data",
time: "ISO laikas",
duration: "ISO trukmė",
ipv4: "IPv4 adresas",
ipv6: "IPv6 adresas",
cidrv4: "IPv4 tinklo prefiksas (CIDR)",
cidrv6: "IPv6 tinklo prefiksas (CIDR)",
base64: "base64 užkoduota eilutė",
base64url: "base64url užkoduota eilutė",
json_string: "JSON eilutė",
e164: "E.164 numeris",
jwt: "JWT",
template_literal: "įvestis"
};
const TypeDictionary = {
nan: "NaN",
number: "skaičius",
bigint: "sveikasis skaičius",
string: "eilutė",
boolean: "loginė reikšmė",
undefined: "neapibrėžta reikšmė",
function: "funkcija",
symbol: "simbolis",
array: "masyvas",
object: "objektas",
null: "nulinė reikšmė"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Gautas tipas ${received}, o tikėtasi - instanceof ${issue2.expected}`;
}
return `Gautas tipas ${received}, o tikėtasi - ${expected}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Privalo būti ${stringifyPrimitive(issue2.values[0])}`;
return `Privalo būti vienas iš ${joinValues(issue2.values, "|")} pasirinkimų`;
case "too_big": {
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.maximum)), issue2.inclusive ?? false, "smaller");
if (sizing?.verb)
return `${capitalizeFirstCharacter(origin2 ?? issue2.origin ?? "reikšmė")} ${sizing.verb} ${issue2.maximum.toString()} ${sizing.unit ?? "elementų"}`;
const adj = issue2.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
return `${capitalizeFirstCharacter(origin2 ?? issue2.origin ?? "reikšmė")} turi būti ${adj} ${issue2.maximum.toString()} ${sizing?.unit}`;
}
case "too_small": {
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
const sizing = getSizing(issue2.origin, getUnitTypeFromNumber(Number(issue2.minimum)), issue2.inclusive ?? false, "bigger");
if (sizing?.verb)
return `${capitalizeFirstCharacter(origin2 ?? issue2.origin ?? "reikšmė")} ${sizing.verb} ${issue2.minimum.toString()} ${sizing.unit ?? "elementų"}`;
const adj = issue2.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
return `${capitalizeFirstCharacter(origin2 ?? issue2.origin ?? "reikšmė")} turi būti ${adj} ${issue2.minimum.toString()} ${sizing?.unit}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Eilutė privalo prasidėti "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Eilutė privalo įtraukti "${_issue.includes}"`;
if (_issue.format === "regex")
return `Eilutė privalo atitikti ${_issue.pattern}`;
return `Neteisingas ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Skaičius privalo būti ${issue2.divisor} kartotinis.`;
case "unrecognized_keys":
return `Neatpažint${issue2.keys.length > 1 ? "i" : "as"} rakt${issue2.keys.length > 1 ? "ai" : "as"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return "Rastas klaidingas raktas";
case "invalid_union":
return "Klaidinga įvestis";
case "invalid_element": {
const origin2 = TypeDictionary[issue2.origin] ?? issue2.origin;
return `${capitalizeFirstCharacter(origin2 ?? issue2.origin ?? "reikšmė")} turi klaidingą įvestį`;
}
default:
return "Klaidinga įvestis";
}
};
};
var init_lt = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.js
function mk_default() {
return {
localeError: error28()
};
}
var error28 = () => {
const Sizable = {
string: { unit: "знаци", verb: "да имаат" },
file: { unit: "бајти", verb: "да имаат" },
array: { unit: "ставки", verb: "да имаат" },
set: { unit: "ставки", verb: "да имаат" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "внес",
email: "адреса на е-пошта",
url: "URL",
emoji: "емоџи",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO датум и време",
date: "ISO датум",
time: "ISO време",
duration: "ISO времетраење",
ipv4: "IPv4 адреса",
ipv6: "IPv6 адреса",
cidrv4: "IPv4 опсег",
cidrv6: "IPv6 опсег",
base64: "base64-енкодирана низа",
base64url: "base64url-енкодирана низа",
json_string: "JSON низа",
e164: "E.164 број",
jwt: "JWT",
template_literal: "внес"
};
const TypeDictionary = {
nan: "NaN",
number: "број",
array: "низа"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Грешен внес: се очекува instanceof ${issue2.expected}, примено ${received}`;
}
return `Грешен внес: се очекува ${expected}, примено ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;
return `Грешана опција: се очекува една ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Премногу голем: се очекува ${issue2.origin ?? "вредноста"} да има ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "елементи"}`;
return `Премногу голем: се очекува ${issue2.origin ?? "вредноста"} да биде ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Премногу мал: се очекува ${issue2.origin} да има ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Премногу мал: се очекува ${issue2.origin} да биде ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Неважечка низа: мора да започнува со "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Неважечка низа: мора да завршува со "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Неважечка низа: мора да вклучува "${_issue.includes}"`;
if (_issue.format === "regex")
return `Неважечка низа: мора да одгоара на патернот ${_issue.pattern}`;
return `Invalid ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Грешен број: мора да биде делив со ${issue2.divisor}`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Непрепознаени клучеви" : "Непрепознаен клуч"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Грешен клуч во ${issue2.origin}`;
case "invalid_union":
return "Грешен внес";
case "invalid_element":
return `Грешна вредност во ${issue2.origin}`;
default:
return `Грешен внес`;
}
};
};
var init_mk = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.js
function ms_default() {
return {
localeError: error29()
};
}
var error29 = () => {
const Sizable = {
string: { unit: "aksara", verb: "mempunyai" },
file: { unit: "bait", verb: "mempunyai" },
array: { unit: "elemen", verb: "mempunyai" },
set: { unit: "elemen", verb: "mempunyai" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "alamat e-mel",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "tarikh masa ISO",
date: "tarikh ISO",
time: "masa ISO",
duration: "tempoh ISO",
ipv4: "alamat IPv4",
ipv6: "alamat IPv6",
cidrv4: "julat IPv4",
cidrv6: "julat IPv6",
base64: "string dikodkan base64",
base64url: "string dikodkan base64url",
json_string: "string JSON",
e164: "nombor E.164",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN",
number: "nombor"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Input tidak sah: dijangka instanceof ${issue2.expected}, diterima ${received}`;
}
return `Input tidak sah: dijangka ${expected}, diterima ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Input tidak sah: dijangka ${stringifyPrimitive(issue2.values[0])}`;
return `Pilihan tidak sah: dijangka salah satu daripada ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elemen"}`;
return `Terlalu besar: dijangka ${issue2.origin ?? "nilai"} adalah ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Terlalu kecil: dijangka ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Terlalu kecil: dijangka ${issue2.origin} adalah ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`;
if (_issue.format === "includes")
return `String tidak sah: mesti mengandungi "${_issue.includes}"`;
if (_issue.format === "regex")
return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} tidak sah`;
}
case "not_multiple_of":
return `Nombor tidak sah: perlu gandaan ${issue2.divisor}`;
case "unrecognized_keys":
return `Kunci tidak dikenali: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Kunci tidak sah dalam ${issue2.origin}`;
case "invalid_union":
return "Input tidak sah";
case "invalid_element":
return `Nilai tidak sah dalam ${issue2.origin}`;
default:
return `Input tidak sah`;
}
};
};
var init_ms = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.js
function nl_default() {
return {
localeError: error30()
};
}
var error30 = () => {
const Sizable = {
string: { unit: "tekens", verb: "heeft" },
file: { unit: "bytes", verb: "heeft" },
array: { unit: "elementen", verb: "heeft" },
set: { unit: "elementen", verb: "heeft" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "invoer",
email: "emailadres",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO datum en tijd",
date: "ISO datum",
time: "ISO tijd",
duration: "ISO duur",
ipv4: "IPv4-adres",
ipv6: "IPv6-adres",
cidrv4: "IPv4-bereik",
cidrv6: "IPv6-bereik",
base64: "base64-gecodeerde tekst",
base64url: "base64 URL-gecodeerde tekst",
json_string: "JSON string",
e164: "E.164-nummer",
jwt: "JWT",
template_literal: "invoer"
};
const TypeDictionary = {
nan: "NaN",
number: "getal"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ongeldige invoer: verwacht instanceof ${issue2.expected}, ontving ${received}`;
}
return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ongeldige invoer: verwacht ${stringifyPrimitive(issue2.values[0])}`;
return `Ongeldige optie: verwacht één van ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
const longName = issue2.origin === "date" ? "laat" : issue2.origin === "string" ? "lang" : "groot";
if (sizing)
return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`;
return `Te ${longName}: verwacht dat ${issue2.origin ?? "waarde"} ${adj}${issue2.maximum.toString()} is`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
const shortName = issue2.origin === "date" ? "vroeg" : issue2.origin === "string" ? "kort" : "klein";
if (sizing) {
return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
}
return `Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`;
}
if (_issue.format === "ends_with")
return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`;
if (_issue.format === "includes")
return `Ongeldige tekst: moet "${_issue.includes}" bevatten`;
if (_issue.format === "regex")
return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;
return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Ongeldig getal: moet een veelvoud van ${issue2.divisor} zijn`;
case "unrecognized_keys":
return `Onbekende key${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Ongeldige key in ${issue2.origin}`;
case "invalid_union":
return "Ongeldige invoer";
case "invalid_element":
return `Ongeldige waarde in ${issue2.origin}`;
default:
return `Ongeldige invoer`;
}
};
};
var init_nl = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.js
function no_default() {
return {
localeError: error31()
};
}
var error31 = () => {
const Sizable = {
string: { unit: "tegn", verb: "å ha" },
file: { unit: "bytes", verb: "å ha" },
array: { unit: "elementer", verb: "å inneholde" },
set: { unit: "elementer", verb: "å inneholde" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "input",
email: "e-postadresse",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO dato- og klokkeslett",
date: "ISO-dato",
time: "ISO-klokkeslett",
duration: "ISO-varighet",
ipv4: "IPv4-område",
ipv6: "IPv6-område",
cidrv4: "IPv4-spekter",
cidrv6: "IPv6-spekter",
base64: "base64-enkodet streng",
base64url: "base64url-enkodet streng",
json_string: "JSON-streng",
e164: "E.164-nummer",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN",
number: "tall",
array: "liste"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ugyldig input: forventet instanceof ${issue2.expected}, fikk ${received}`;
}
return `Ugyldig input: forventet ${expected}, fikk ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ugyldig verdi: forventet ${stringifyPrimitive(issue2.values[0])}`;
return `Ugyldig valg: forventet en av ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `For stor(t): forventet ${issue2.origin ?? "value"} til å ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementer"}`;
return `For stor(t): forventet ${issue2.origin ?? "value"} til å ha ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `For lite(n): forventet ${issue2.origin} til å ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `For lite(n): forventet ${issue2.origin} til å ha ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Ugyldig streng: må starte med "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Ugyldig streng: må ende med "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Ugyldig streng: må inneholde "${_issue.includes}"`;
if (_issue.format === "regex")
return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;
return `Ugyldig ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Ugyldig tall: må være et multiplum av ${issue2.divisor}`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Ukjente nøkler" : "Ukjent nøkkel"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Ugyldig nøkkel i ${issue2.origin}`;
case "invalid_union":
return "Ugyldig input";
case "invalid_element":
return `Ugyldig verdi i ${issue2.origin}`;
default:
return `Ugyldig input`;
}
};
};
var init_no = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.js
function ota_default() {
return {
localeError: error32()
};
}
var error32 = () => {
const Sizable = {
string: { unit: "harf", verb: "olmalıdır" },
file: { unit: "bayt", verb: "olmalıdır" },
array: { unit: "unsur", verb: "olmalıdır" },
set: { unit: "unsur", verb: "olmalıdır" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "giren",
email: "epostagâh",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO hengâmı",
date: "ISO tarihi",
time: "ISO zamanı",
duration: "ISO müddeti",
ipv4: "IPv4 nişânı",
ipv6: "IPv6 nişânı",
cidrv4: "IPv4 menzili",
cidrv6: "IPv6 menzili",
base64: "base64-şifreli metin",
base64url: "base64url-şifreli metin",
json_string: "JSON metin",
e164: "E.164 sayısı",
jwt: "JWT",
template_literal: "giren"
};
const TypeDictionary = {
nan: "NaN",
number: "numara",
array: "saf",
null: "gayb"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Fâsit giren: umulan instanceof ${issue2.expected}, alınan ${received}`;
}
return `Fâsit giren: umulan ${expected}, alınan ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Fâsit giren: umulan ${stringifyPrimitive(issue2.values[0])}`;
return `Fâsit tercih: mûteberler ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Fazla büyük: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmalıydı.`;
return `Fazla büyük: ${issue2.origin ?? "value"}, ${adj}${issue2.maximum.toString()} olmalıydı.`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Fazla küçük: ${issue2.origin}, ${adj}${issue2.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;
}
return `Fazla küçük: ${issue2.origin}, ${adj}${issue2.minimum.toString()} olmalıydı.`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Fâsit metin: "${_issue.prefix}" ile başlamalı.`;
if (_issue.format === "ends_with")
return `Fâsit metin: "${_issue.suffix}" ile bitmeli.`;
if (_issue.format === "includes")
return `Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;
if (_issue.format === "regex")
return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;
return `Fâsit ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Fâsit sayı: ${issue2.divisor} katı olmalıydı.`;
case "unrecognized_keys":
return `Tanınmayan anahtar ${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} için tanınmayan anahtar var.`;
case "invalid_union":
return "Giren tanınamadı.";
case "invalid_element":
return `${issue2.origin} için tanınmayan kıymet var.`;
default:
return `Kıymet tanınamadı.`;
}
};
};
var init_ota = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.js
function ps_default() {
return {
localeError: error33()
};
}
var error33 = () => {
const Sizable = {
string: { unit: "توکي", verb: "ولري" },
file: { unit: "بایټس", verb: "ولري" },
array: { unit: "توکي", verb: "ولري" },
set: { unit: "توکي", verb: "ولري" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ورودي",
email: "بریښنالیک",
url: "یو آر ال",
emoji: "ایموجي",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "نیټه او وخت",
date: "نېټه",
time: "وخت",
duration: "موده",
ipv4: "د IPv4 پته",
ipv6: "د IPv6 پته",
cidrv4: "د IPv4 ساحه",
cidrv6: "د IPv6 ساحه",
base64: "base64-encoded متن",
base64url: "base64url-encoded متن",
json_string: "JSON متن",
e164: "د E.164 شمېره",
jwt: "JWT",
template_literal: "ورودي"
};
const TypeDictionary = {
nan: "NaN",
number: "عدد",
array: "ارې"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `ناسم ورودي: باید instanceof ${issue2.expected} وای, مګر ${received} ترلاسه شو`;
}
return `ناسم ورودي: باید ${expected} وای, مګر ${received} ترلاسه شو`;
}
case "invalid_value":
if (issue2.values.length === 1) {
return `ناسم ورودي: باید ${stringifyPrimitive(issue2.values[0])} وای`;
}
return `ناسم انتخاب: باید یو له ${joinValues(issue2.values, "|")} څخه وای`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `ډیر لوی: ${issue2.origin ?? "ارزښت"} باید ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "عنصرونه"} ولري`;
}
return `ډیر لوی: ${issue2.origin ?? "ارزښت"} باید ${adj}${issue2.maximum.toString()} وي`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `ډیر کوچنی: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} ${sizing.unit} ولري`;
}
return `ډیر کوچنی: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} وي`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `ناسم متن: باید د "${_issue.prefix}" سره پیل شي`;
}
if (_issue.format === "ends_with") {
return `ناسم متن: باید د "${_issue.suffix}" سره پای ته ورسيږي`;
}
if (_issue.format === "includes") {
return `ناسم متن: باید "${_issue.includes}" ولري`;
}
if (_issue.format === "regex") {
return `ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;
}
return `${FormatDictionary[_issue.format] ?? issue2.format} ناسم دی`;
}
case "not_multiple_of":
return `ناسم عدد: باید د ${issue2.divisor} مضرب وي`;
case "unrecognized_keys":
return `ناسم ${issue2.keys.length > 1 ? "کلیډونه" : "کلیډ"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `ناسم کلیډ په ${issue2.origin} کې`;
case "invalid_union":
return `ناسمه ورودي`;
case "invalid_element":
return `ناسم عنصر په ${issue2.origin} کې`;
default:
return `ناسمه ورودي`;
}
};
};
var init_ps = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.js
function pl_default() {
return {
localeError: error34()
};
}
var error34 = () => {
const Sizable = {
string: { unit: "znaków", verb: "mieć" },
file: { unit: "bajtów", verb: "mieć" },
array: { unit: "elementów", verb: "mieć" },
set: { unit: "elementów", verb: "mieć" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "wyrażenie",
email: "adres email",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "data i godzina w formacie ISO",
date: "data w formacie ISO",
time: "godzina w formacie ISO",
duration: "czas trwania ISO",
ipv4: "adres IPv4",
ipv6: "adres IPv6",
cidrv4: "zakres IPv4",
cidrv6: "zakres IPv6",
base64: "ciąg znaków zakodowany w formacie base64",
base64url: "ciąg znaków zakodowany w formacie base64url",
json_string: "ciąg znaków w formacie JSON",
e164: "liczba E.164",
jwt: "JWT",
template_literal: "wejście"
};
const TypeDictionary = {
nan: "NaN",
number: "liczba",
array: "tablica"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Nieprawidłowe dane wejściowe: oczekiwano instanceof ${issue2.expected}, otrzymano ${received}`;
}
return `Nieprawidłowe dane wejściowe: oczekiwano ${expected}, otrzymano ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Nieprawidłowe dane wejściowe: oczekiwano ${stringifyPrimitive(issue2.values[0])}`;
return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Za duża wartość: oczekiwano, że ${issue2.origin ?? "wartość"} będzie mieć ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementów"}`;
}
return `Zbyt duż(y/a/e): oczekiwano, że ${issue2.origin ?? "wartość"} będzie wynosić ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Za mała wartość: oczekiwano, że ${issue2.origin ?? "wartość"} będzie mieć ${adj}${issue2.minimum.toString()} ${sizing.unit ?? "elementów"}`;
}
return `Zbyt mał(y/a/e): oczekiwano, że ${issue2.origin ?? "wartość"} będzie wynosić ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;
if (_issue.format === "regex")
return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;
return `Nieprawidłow(y/a/e) ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Nieprawidłowa liczba: musi być wielokrotnością ${issue2.divisor}`;
case "unrecognized_keys":
return `Nierozpoznane klucze${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Nieprawidłowy klucz w ${issue2.origin}`;
case "invalid_union":
return "Nieprawidłowe dane wejściowe";
case "invalid_element":
return `Nieprawidłowa wartość w ${issue2.origin}`;
default:
return `Nieprawidłowe dane wejściowe`;
}
};
};
var init_pl = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.js
function pt_default() {
return {
localeError: error35()
};
}
var error35 = () => {
const Sizable = {
string: { unit: "caracteres", verb: "ter" },
file: { unit: "bytes", verb: "ter" },
array: { unit: "itens", verb: "ter" },
set: { unit: "itens", verb: "ter" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "padrão",
email: "endereço de e-mail",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "data e hora ISO",
date: "data ISO",
time: "hora ISO",
duration: "duração ISO",
ipv4: "endereço IPv4",
ipv6: "endereço IPv6",
cidrv4: "faixa de IPv4",
cidrv6: "faixa de IPv6",
base64: "texto codificado em base64",
base64url: "URL codificada em base64",
json_string: "texto JSON",
e164: "número E.164",
jwt: "JWT",
template_literal: "entrada"
};
const TypeDictionary = {
nan: "NaN",
number: "número",
null: "nulo"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Tipo inválido: esperado instanceof ${issue2.expected}, recebido ${received}`;
}
return `Tipo inválido: esperado ${expected}, recebido ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Entrada inválida: esperado ${stringifyPrimitive(issue2.values[0])}`;
return `Opção inválida: esperada uma das ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Muito grande: esperado que ${issue2.origin ?? "valor"} tivesse ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementos"}`;
return `Muito grande: esperado que ${issue2.origin ?? "valor"} fosse ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Muito pequeno: esperado que ${issue2.origin} tivesse ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Muito pequeno: esperado que ${issue2.origin} fosse ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Texto inválido: deve começar com "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Texto inválido: deve terminar com "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Texto inválido: deve incluir "${_issue.includes}"`;
if (_issue.format === "regex")
return `Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} inválido`;
}
case "not_multiple_of":
return `Número inválido: deve ser múltiplo de ${issue2.divisor}`;
case "unrecognized_keys":
return `Chave${issue2.keys.length > 1 ? "s" : ""} desconhecida${issue2.keys.length > 1 ? "s" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Chave inválida em ${issue2.origin}`;
case "invalid_union":
return "Entrada inválida";
case "invalid_element":
return `Valor inválido em ${issue2.origin}`;
default:
return `Campo inválido`;
}
};
};
var init_pt = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.js
function getRussianPlural(count2, one, few, many) {
const absCount = Math.abs(count2);
const lastDigit = absCount % 10;
const lastTwoDigits = absCount % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
return many;
}
if (lastDigit === 1) {
return one;
}
if (lastDigit >= 2 && lastDigit <= 4) {
return few;
}
return many;
}
function ru_default() {
return {
localeError: error36()
};
}
var error36 = () => {
const Sizable = {
string: {
unit: {
one: "символ",
few: "символа",
many: "символов"
},
verb: "иметь"
},
file: {
unit: {
one: "байт",
few: "байта",
many: "байт"
},
verb: "иметь"
},
array: {
unit: {
one: "элемент",
few: "элемента",
many: "элементов"
},
verb: "иметь"
},
set: {
unit: {
one: "элемент",
few: "элемента",
many: "элементов"
},
verb: "иметь"
}
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ввод",
email: "email адрес",
url: "URL",
emoji: "эмодзи",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO дата и время",
date: "ISO дата",
time: "ISO время",
duration: "ISO длительность",
ipv4: "IPv4 адрес",
ipv6: "IPv6 адрес",
cidrv4: "IPv4 диапазон",
cidrv6: "IPv6 диапазон",
base64: "строка в формате base64",
base64url: "строка в формате base64url",
json_string: "JSON строка",
e164: "номер E.164",
jwt: "JWT",
template_literal: "ввод"
};
const TypeDictionary = {
nan: "NaN",
number: "число",
array: "массив"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Неверный ввод: ожидалось instanceof ${issue2.expected}, получено ${received}`;
}
return `Неверный ввод: ожидалось ${expected}, получено ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Неверный ввод: ожидалось ${stringifyPrimitive(issue2.values[0])}`;
return `Неверный вариант: ожидалось одно из ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
const maxValue = Number(issue2.maximum);
const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
return `Слишком большое значение: ожидалось, что ${issue2.origin ?? "значение"} будет иметь ${adj}${issue2.maximum.toString()} ${unit}`;
}
return `Слишком большое значение: ожидалось, что ${issue2.origin ?? "значение"} будет ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
const minValue = Number(issue2.minimum);
const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
return `Слишком маленькое значение: ожидалось, что ${issue2.origin} будет иметь ${adj}${issue2.minimum.toString()} ${unit}`;
}
return `Слишком маленькое значение: ожидалось, что ${issue2.origin} будет ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Неверная строка: должна начинаться с "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Неверная строка: должна заканчиваться на "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Неверная строка: должна содержать "${_issue.includes}"`;
if (_issue.format === "regex")
return `Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;
return `Неверный ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Неверное число: должно быть кратным ${issue2.divisor}`;
case "unrecognized_keys":
return `Нераспознанн${issue2.keys.length > 1 ? "ые" : "ый"} ключ${issue2.keys.length > 1 ? "и" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Неверный ключ в ${issue2.origin}`;
case "invalid_union":
return "Неверные входные данные";
case "invalid_element":
return `Неверное значение в ${issue2.origin}`;
default:
return `Неверные входные данные`;
}
};
};
var init_ru = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.js
function sl_default() {
return {
localeError: error37()
};
}
var error37 = () => {
const Sizable = {
string: { unit: "znakov", verb: "imeti" },
file: { unit: "bajtov", verb: "imeti" },
array: { unit: "elementov", verb: "imeti" },
set: { unit: "elementov", verb: "imeti" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "vnos",
email: "e-poštni naslov",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO datum in čas",
date: "ISO datum",
time: "ISO čas",
duration: "ISO trajanje",
ipv4: "IPv4 naslov",
ipv6: "IPv6 naslov",
cidrv4: "obseg IPv4",
cidrv6: "obseg IPv6",
base64: "base64 kodiran niz",
base64url: "base64url kodiran niz",
json_string: "JSON niz",
e164: "E.164 številka",
jwt: "JWT",
template_literal: "vnos"
};
const TypeDictionary = {
nan: "NaN",
number: "število",
array: "tabela"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Neveljaven vnos: pričakovano instanceof ${issue2.expected}, prejeto ${received}`;
}
return `Neveljaven vnos: pričakovano ${expected}, prejeto ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Neveljaven vnos: pričakovano ${stringifyPrimitive(issue2.values[0])}`;
return `Neveljavna možnost: pričakovano eno izmed ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Preveliko: pričakovano, da bo ${issue2.origin ?? "vrednost"} imelo ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "elementov"}`;
return `Preveliko: pričakovano, da bo ${issue2.origin ?? "vrednost"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Premajhno: pričakovano, da bo ${issue2.origin} imelo ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Premajhno: pričakovano, da bo ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Neveljaven niz: mora se začeti z "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Neveljaven niz: mora se končati z "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Neveljaven niz: mora vsebovati "${_issue.includes}"`;
if (_issue.format === "regex")
return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;
return `Neveljaven ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Neveljavno število: mora biti večkratnik ${issue2.divisor}`;
case "unrecognized_keys":
return `Neprepoznan${issue2.keys.length > 1 ? "i ključi" : " ključ"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Neveljaven ključ v ${issue2.origin}`;
case "invalid_union":
return "Neveljaven vnos";
case "invalid_element":
return `Neveljavna vrednost v ${issue2.origin}`;
default:
return "Neveljaven vnos";
}
};
};
var init_sl = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.js
function sv_default() {
return {
localeError: error38()
};
}
var error38 = () => {
const Sizable = {
string: { unit: "tecken", verb: "att ha" },
file: { unit: "bytes", verb: "att ha" },
array: { unit: "objekt", verb: "att innehålla" },
set: { unit: "objekt", verb: "att innehålla" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "reguljärt uttryck",
email: "e-postadress",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO-datum och tid",
date: "ISO-datum",
time: "ISO-tid",
duration: "ISO-varaktighet",
ipv4: "IPv4-intervall",
ipv6: "IPv6-intervall",
cidrv4: "IPv4-spektrum",
cidrv6: "IPv6-spektrum",
base64: "base64-kodad sträng",
base64url: "base64url-kodad sträng",
json_string: "JSON-sträng",
e164: "E.164-nummer",
jwt: "JWT",
template_literal: "mall-literal"
};
const TypeDictionary = {
nan: "NaN",
number: "antal",
array: "lista"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ogiltig inmatning: förväntat instanceof ${issue2.expected}, fick ${received}`;
}
return `Ogiltig inmatning: förväntat ${expected}, fick ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ogiltig inmatning: förväntat ${stringifyPrimitive(issue2.values[0])}`;
return `Ogiltigt val: förväntade en av ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `För stor(t): förväntade ${issue2.origin ?? "värdet"} att ha ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "element"}`;
}
return `För stor(t): förväntat ${issue2.origin ?? "värdet"} att ha ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `För lite(t): förväntade ${issue2.origin ?? "värdet"} att ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `För lite(t): förväntade ${issue2.origin ?? "värdet"} att ha ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `Ogiltig sträng: måste börja med "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `Ogiltig sträng: måste sluta med "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Ogiltig sträng: måste innehålla "${_issue.includes}"`;
if (_issue.format === "regex")
return `Ogiltig sträng: måste matcha mönstret "${_issue.pattern}"`;
return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Ogiltigt tal: måste vara en multipel av ${issue2.divisor}`;
case "unrecognized_keys":
return `${issue2.keys.length > 1 ? "Okända nycklar" : "Okänd nyckel"}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Ogiltig nyckel i ${issue2.origin ?? "värdet"}`;
case "invalid_union":
return "Ogiltig input";
case "invalid_element":
return `Ogiltigt värde i ${issue2.origin ?? "värdet"}`;
default:
return `Ogiltig input`;
}
};
};
var init_sv = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.js
function ta_default() {
return {
localeError: error39()
};
}
var error39 = () => {
const Sizable = {
string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
file: { unit: "பைட்டுகள்", verb: "கொண்டிருக்க வேண்டும்" },
array: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" },
set: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "உள்ளீடு",
email: "மின்னஞ்சல் முகவரி",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO தேதி நேரம்",
date: "ISO தேதி",
time: "ISO நேரம்",
duration: "ISO கால அளவு",
ipv4: "IPv4 முகவரி",
ipv6: "IPv6 முகவரி",
cidrv4: "IPv4 வரம்பு",
cidrv6: "IPv6 வரம்பு",
base64: "base64-encoded சரம்",
base64url: "base64url-encoded சரம்",
json_string: "JSON சரம்",
e164: "E.164 எண்",
jwt: "JWT",
template_literal: "input"
};
const TypeDictionary = {
nan: "NaN",
number: "எண்",
array: "அணி",
null: "வெறுமை"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${issue2.expected}, பெறப்பட்டது ${received}`;
}
return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${expected}, பெறப்பட்டது ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${stringifyPrimitive(issue2.values[0])}`;
return `தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${joinValues(issue2.values, "|")} இல் ஒன்று`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue2.origin ?? "மதிப்பு"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "உறுப்புகள்"} ஆக இருக்க வேண்டும்`;
}
return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue2.origin ?? "மதிப்பு"} ${adj}${issue2.maximum.toString()} ஆக இருக்க வேண்டும்`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ஆக இருக்க வேண்டும்`;
}
return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue2.origin} ${adj}${issue2.minimum.toString()} ஆக இருக்க வேண்டும்`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `தவறான சரம்: "${_issue.prefix}" இல் தொடங்க வேண்டும்`;
if (_issue.format === "ends_with")
return `தவறான சரம்: "${_issue.suffix}" இல் முடிவடைய வேண்டும்`;
if (_issue.format === "includes")
return `தவறான சரம்: "${_issue.includes}" ஐ உள்ளடக்க வேண்டும்`;
if (_issue.format === "regex")
return `தவறான சரம்: ${_issue.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;
return `தவறான ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `தவறான எண்: ${issue2.divisor} இன் பலமாக இருக்க வேண்டும்`;
case "unrecognized_keys":
return `அடையாளம் தெரியாத விசை${issue2.keys.length > 1 ? "கள்" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} இல் தவறான விசை`;
case "invalid_union":
return "தவறான உள்ளீடு";
case "invalid_element":
return `${issue2.origin} இல் தவறான மதிப்பு`;
default:
return `தவறான உள்ளீடு`;
}
};
};
var init_ta = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.js
function th_default() {
return {
localeError: error40()
};
}
var error40 = () => {
const Sizable = {
string: { unit: "ตัวอักษร", verb: "ควรมี" },
file: { unit: "ไบต์", verb: "ควรมี" },
array: { unit: "รายการ", verb: "ควรมี" },
set: { unit: "รายการ", verb: "ควรมี" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ข้อมูลที่ป้อน",
email: "ที่อยู่อีเมล",
url: "URL",
emoji: "อิโมจิ",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "วันที่เวลาแบบ ISO",
date: "วันที่แบบ ISO",
time: "เวลาแบบ ISO",
duration: "ช่วงเวลาแบบ ISO",
ipv4: "ที่อยู่ IPv4",
ipv6: "ที่อยู่ IPv6",
cidrv4: "ช่วง IP แบบ IPv4",
cidrv6: "ช่วง IP แบบ IPv6",
base64: "ข้อความแบบ Base64",
base64url: "ข้อความแบบ Base64 สำหรับ URL",
json_string: "ข้อความแบบ JSON",
e164: "เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",
jwt: "โทเคน JWT",
template_literal: "ข้อมูลที่ป้อน"
};
const TypeDictionary = {
nan: "NaN",
number: "ตัวเลข",
array: "อาร์เรย์ (Array)",
null: "ไม่มีค่า (null)"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${issue2.expected} แต่ได้รับ ${received}`;
}
return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${expected} แต่ได้รับ ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `ค่าไม่ถูกต้อง: ควรเป็น ${stringifyPrimitive(issue2.values[0])}`;
return `ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "ไม่เกิน" : "น้อยกว่า";
const sizing = getSizing(issue2.origin);
if (sizing)
return `เกินกำหนด: ${issue2.origin ?? "ค่า"} ควรมี${adj} ${issue2.maximum.toString()} ${sizing.unit ?? "รายการ"}`;
return `เกินกำหนด: ${issue2.origin ?? "ค่า"} ควรมี${adj} ${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? "อย่างน้อย" : "มากกว่า";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `น้อยกว่ากำหนด: ${issue2.origin} ควรมี${adj} ${issue2.minimum.toString()} ${sizing.unit}`;
}
return `น้อยกว่ากำหนด: ${issue2.origin} ควรมี${adj} ${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${_issue.prefix}"`;
}
if (_issue.format === "ends_with")
return `รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${_issue.suffix}"`;
if (_issue.format === "includes")
return `รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${_issue.includes}" อยู่ในข้อความ`;
if (_issue.format === "regex")
return `รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;
return `รูปแบบไม่ถูกต้อง: ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue2.divisor} ได้ลงตัว`;
case "unrecognized_keys":
return `พบคีย์ที่ไม่รู้จัก: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `คีย์ไม่ถูกต้องใน ${issue2.origin}`;
case "invalid_union":
return "ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";
case "invalid_element":
return `ข้อมูลไม่ถูกต้องใน ${issue2.origin}`;
default:
return `ข้อมูลไม่ถูกต้อง`;
}
};
};
var init_th = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.js
function tr_default() {
return {
localeError: error41()
};
}
var error41 = () => {
const Sizable = {
string: { unit: "karakter", verb: "olmalı" },
file: { unit: "bayt", verb: "olmalı" },
array: { unit: "öğe", verb: "olmalı" },
set: { unit: "öğe", verb: "olmalı" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "girdi",
email: "e-posta adresi",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO tarih ve saat",
date: "ISO tarih",
time: "ISO saat",
duration: "ISO süre",
ipv4: "IPv4 adresi",
ipv6: "IPv6 adresi",
cidrv4: "IPv4 aralığı",
cidrv6: "IPv6 aralığı",
base64: "base64 ile şifrelenmiş metin",
base64url: "base64url ile şifrelenmiş metin",
json_string: "JSON dizesi",
e164: "E.164 sayısı",
jwt: "JWT",
template_literal: "Şablon dizesi"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Geçersiz değer: beklenen instanceof ${issue2.expected}, alınan ${received}`;
}
return `Geçersiz değer: beklenen ${expected}, alınan ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Geçersiz değer: beklenen ${stringifyPrimitive(issue2.values[0])}`;
return `Geçersiz seçenek: aşağıdakilerden biri olmalı: ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Çok büyük: beklenen ${issue2.origin ?? "değer"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "öğe"}`;
return `Çok büyük: beklenen ${issue2.origin ?? "değer"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Çok küçük: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
return `Çok küçük: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Geçersiz metin: "${_issue.prefix}" ile başlamalı`;
if (_issue.format === "ends_with")
return `Geçersiz metin: "${_issue.suffix}" ile bitmeli`;
if (_issue.format === "includes")
return `Geçersiz metin: "${_issue.includes}" içermeli`;
if (_issue.format === "regex")
return `Geçersiz metin: ${_issue.pattern} desenine uymalı`;
return `Geçersiz ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Geçersiz sayı: ${issue2.divisor} ile tam bölünebilmeli`;
case "unrecognized_keys":
return `Tanınmayan anahtar${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} içinde geçersiz anahtar`;
case "invalid_union":
return "Geçersiz değer";
case "invalid_element":
return `${issue2.origin} içinde geçersiz değer`;
default:
return `Geçersiz değer`;
}
};
};
var init_tr = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.js
function uk_default() {
return {
localeError: error42()
};
}
var error42 = () => {
const Sizable = {
string: { unit: "символів", verb: "матиме" },
file: { unit: "байтів", verb: "матиме" },
array: { unit: "елементів", verb: "матиме" },
set: { unit: "елементів", verb: "матиме" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "вхідні дані",
email: "адреса електронної пошти",
url: "URL",
emoji: "емодзі",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "дата та час ISO",
date: "дата ISO",
time: "час ISO",
duration: "тривалість ISO",
ipv4: "адреса IPv4",
ipv6: "адреса IPv6",
cidrv4: "діапазон IPv4",
cidrv6: "діапазон IPv6",
base64: "рядок у кодуванні base64",
base64url: "рядок у кодуванні base64url",
json_string: "рядок JSON",
e164: "номер E.164",
jwt: "JWT",
template_literal: "вхідні дані"
};
const TypeDictionary = {
nan: "NaN",
number: "число",
array: "масив"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Неправильні вхідні дані: очікується instanceof ${issue2.expected}, отримано ${received}`;
}
return `Неправильні вхідні дані: очікується ${expected}, отримано ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Неправильні вхідні дані: очікується ${stringifyPrimitive(issue2.values[0])}`;
return `Неправильна опція: очікується одне з ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Занадто велике: очікується, що ${issue2.origin ?? "значення"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "елементів"}`;
return `Занадто велике: очікується, що ${issue2.origin ?? "значення"} буде ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Занадто мале: очікується, що ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Занадто мале: очікується, що ${issue2.origin} буде ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Неправильний рядок: повинен містити "${_issue.includes}"`;
if (_issue.format === "regex")
return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
return `Неправильний ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Неправильне число: повинно бути кратним ${issue2.divisor}`;
case "unrecognized_keys":
return `Нерозпізнаний ключ${issue2.keys.length > 1 ? "і" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Неправильний ключ у ${issue2.origin}`;
case "invalid_union":
return "Неправильні вхідні дані";
case "invalid_element":
return `Неправильне значення у ${issue2.origin}`;
default:
return `Неправильні вхідні дані`;
}
};
};
var init_uk = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.js
function ua_default() {
return uk_default();
}
var init_ua = __esm(() => {
init_uk();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.js
function ur_default() {
return {
localeError: error43()
};
}
var error43 = () => {
const Sizable = {
string: { unit: "حروف", verb: "ہونا" },
file: { unit: "بائٹس", verb: "ہونا" },
array: { unit: "آئٹمز", verb: "ہونا" },
set: { unit: "آئٹمز", verb: "ہونا" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ان پٹ",
email: "ای میل ایڈریس",
url: "یو آر ایل",
emoji: "ایموجی",
uuid: "یو یو آئی ڈی",
uuidv4: "یو یو آئی ڈی وی 4",
uuidv6: "یو یو آئی ڈی وی 6",
nanoid: "نینو آئی ڈی",
guid: "جی یو آئی ڈی",
cuid: "سی یو آئی ڈی",
cuid2: "سی یو آئی ڈی 2",
ulid: "یو ایل آئی ڈی",
xid: "ایکس آئی ڈی",
ksuid: "کے ایس یو آئی ڈی",
datetime: "آئی ایس او ڈیٹ ٹائم",
date: "آئی ایس او تاریخ",
time: "آئی ایس او وقت",
duration: "آئی ایس او مدت",
ipv4: "آئی پی وی 4 ایڈریس",
ipv6: "آئی پی وی 6 ایڈریس",
cidrv4: "آئی پی وی 4 رینج",
cidrv6: "آئی پی وی 6 رینج",
base64: "بیس 64 ان کوڈڈ سٹرنگ",
base64url: "بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",
json_string: "جے ایس او این سٹرنگ",
e164: "ای 164 نمبر",
jwt: "جے ڈبلیو ٹی",
template_literal: "ان پٹ"
};
const TypeDictionary = {
nan: "NaN",
number: "نمبر",
array: "آرے",
null: "نل"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `غلط ان پٹ: instanceof ${issue2.expected} متوقع تھا، ${received} موصول ہوا`;
}
return `غلط ان پٹ: ${expected} متوقع تھا، ${received} موصول ہوا`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `غلط ان پٹ: ${stringifyPrimitive(issue2.values[0])} متوقع تھا`;
return `غلط آپشن: ${joinValues(issue2.values, "|")} میں سے ایک متوقع تھا`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `بہت بڑا: ${issue2.origin ?? "ویلیو"} کے ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "عناصر"} ہونے متوقع تھے`;
return `بہت بڑا: ${issue2.origin ?? "ویلیو"} کا ${adj}${issue2.maximum.toString()} ہونا متوقع تھا`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `بہت چھوٹا: ${issue2.origin} کے ${adj}${issue2.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;
}
return `بہت چھوٹا: ${issue2.origin} کا ${adj}${issue2.minimum.toString()} ہونا متوقع تھا`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `غلط سٹرنگ: "${_issue.prefix}" سے شروع ہونا چاہیے`;
}
if (_issue.format === "ends_with")
return `غلط سٹرنگ: "${_issue.suffix}" پر ختم ہونا چاہیے`;
if (_issue.format === "includes")
return `غلط سٹرنگ: "${_issue.includes}" شامل ہونا چاہیے`;
if (_issue.format === "regex")
return `غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;
return `غلط ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `غلط نمبر: ${issue2.divisor} کا مضاعف ہونا چاہیے`;
case "unrecognized_keys":
return `غیر تسلیم شدہ کی${issue2.keys.length > 1 ? "ز" : ""}: ${joinValues(issue2.keys, "، ")}`;
case "invalid_key":
return `${issue2.origin} میں غلط کی`;
case "invalid_union":
return "غلط ان پٹ";
case "invalid_element":
return `${issue2.origin} میں غلط ویلیو`;
default:
return `غلط ان پٹ`;
}
};
};
var init_ur = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.js
function uz_default() {
return {
localeError: error44()
};
}
var error44 = () => {
const Sizable = {
string: { unit: "belgi", verb: "bo‘lishi kerak" },
file: { unit: "bayt", verb: "bo‘lishi kerak" },
array: { unit: "element", verb: "bo‘lishi kerak" },
set: { unit: "element", verb: "bo‘lishi kerak" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "kirish",
email: "elektron pochta manzili",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO sana va vaqti",
date: "ISO sana",
time: "ISO vaqt",
duration: "ISO davomiylik",
ipv4: "IPv4 manzil",
ipv6: "IPv6 manzil",
mac: "MAC manzil",
cidrv4: "IPv4 diapazon",
cidrv6: "IPv6 diapazon",
base64: "base64 kodlangan satr",
base64url: "base64url kodlangan satr",
json_string: "JSON satr",
e164: "E.164 raqam",
jwt: "JWT",
template_literal: "kirish"
};
const TypeDictionary = {
nan: "NaN",
number: "raqam",
array: "massiv"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Noto‘g‘ri kirish: kutilgan instanceof ${issue2.expected}, qabul qilingan ${received}`;
}
return `Noto‘g‘ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Noto‘g‘ri kirish: kutilgan ${stringifyPrimitive(issue2.values[0])}`;
return `Noto‘g‘ri variant: quyidagilardan biri kutilgan ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
return `Juda katta: kutilgan ${issue2.origin ?? "qiymat"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
}
return `Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Noto‘g‘ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
if (_issue.format === "ends_with")
return `Noto‘g‘ri satr: "${_issue.suffix}" bilan tugashi kerak`;
if (_issue.format === "includes")
return `Noto‘g‘ri satr: "${_issue.includes}" ni o‘z ichiga olishi kerak`;
if (_issue.format === "regex")
return `Noto‘g‘ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;
return `Noto‘g‘ri ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Noto‘g‘ri raqam: ${issue2.divisor} ning karralisi bo‘lishi kerak`;
case "unrecognized_keys":
return `Noma’lum kalit${issue2.keys.length > 1 ? "lar" : ""}: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} dagi kalit noto‘g‘ri`;
case "invalid_union":
return "Noto‘g‘ri kirish";
case "invalid_element":
return `${issue2.origin} da noto‘g‘ri qiymat`;
default:
return `Noto‘g‘ri kirish`;
}
};
};
var init_uz = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.js
function vi_default() {
return {
localeError: error45()
};
}
var error45 = () => {
const Sizable = {
string: { unit: "ký tự", verb: "có" },
file: { unit: "byte", verb: "có" },
array: { unit: "phần tử", verb: "có" },
set: { unit: "phần tử", verb: "có" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "đầu vào",
email: "địa chỉ email",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ngày giờ ISO",
date: "ngày ISO",
time: "giờ ISO",
duration: "khoảng thời gian ISO",
ipv4: "địa chỉ IPv4",
ipv6: "địa chỉ IPv6",
cidrv4: "dải IPv4",
cidrv6: "dải IPv6",
base64: "chuỗi mã hóa base64",
base64url: "chuỗi mã hóa base64url",
json_string: "chuỗi JSON",
e164: "số E.164",
jwt: "JWT",
template_literal: "đầu vào"
};
const TypeDictionary = {
nan: "NaN",
number: "số",
array: "mảng"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Đầu vào không hợp lệ: mong đợi instanceof ${issue2.expected}, nhận được ${received}`;
}
return `Đầu vào không hợp lệ: mong đợi ${expected}, nhận được ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Đầu vào không hợp lệ: mong đợi ${stringifyPrimitive(issue2.values[0])}`;
return `Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Quá lớn: mong đợi ${issue2.origin ?? "giá trị"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "phần tử"}`;
return `Quá lớn: mong đợi ${issue2.origin ?? "giá trị"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `Quá nhỏ: mong đợi ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `Quá nhỏ: mong đợi ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Chuỗi không hợp lệ: phải bắt đầu bằng "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Chuỗi không hợp lệ: phải kết thúc bằng "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Chuỗi không hợp lệ: phải bao gồm "${_issue.includes}"`;
if (_issue.format === "regex")
return `Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;
return `${FormatDictionary[_issue.format] ?? issue2.format} không hợp lệ`;
}
case "not_multiple_of":
return `Số không hợp lệ: phải là bội số của ${issue2.divisor}`;
case "unrecognized_keys":
return `Khóa không được nhận dạng: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Khóa không hợp lệ trong ${issue2.origin}`;
case "invalid_union":
return "Đầu vào không hợp lệ";
case "invalid_element":
return `Giá trị không hợp lệ trong ${issue2.origin}`;
default:
return `Đầu vào không hợp lệ`;
}
};
};
var init_vi = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js
function zh_CN_default() {
return {
localeError: error46()
};
}
var error46 = () => {
const Sizable = {
string: { unit: "字符", verb: "包含" },
file: { unit: "字节", verb: "包含" },
array: { unit: "项", verb: "包含" },
set: { unit: "项", verb: "包含" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "输入",
email: "电子邮件",
url: "URL",
emoji: "表情符号",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO日期时间",
date: "ISO日期",
time: "ISO时间",
duration: "ISO时长",
ipv4: "IPv4地址",
ipv6: "IPv6地址",
cidrv4: "IPv4网段",
cidrv6: "IPv6网段",
base64: "base64编码字符串",
base64url: "base64url编码字符串",
json_string: "JSON字符串",
e164: "E.164号码",
jwt: "JWT",
template_literal: "输入"
};
const TypeDictionary = {
nan: "NaN",
number: "数字",
array: "数组",
null: "空值(null)"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `无效输入:期望 instanceof ${issue2.expected},实际接收 ${received}`;
}
return `无效输入:期望 ${expected},实际接收 ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `无效输入:期望 ${stringifyPrimitive(issue2.values[0])}`;
return `无效选项:期望以下之一 ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `数值过大:期望 ${issue2.origin ?? "值"} ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "个元素"}`;
return `数值过大:期望 ${issue2.origin ?? "值"} ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `数值过小:期望 ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `数值过小:期望 ${issue2.origin} ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `无效字符串:必须以 "${_issue.prefix}" 开头`;
if (_issue.format === "ends_with")
return `无效字符串:必须以 "${_issue.suffix}" 结尾`;
if (_issue.format === "includes")
return `无效字符串:必须包含 "${_issue.includes}"`;
if (_issue.format === "regex")
return `无效字符串:必须满足正则表达式 ${_issue.pattern}`;
return `无效${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `无效数字:必须是 ${issue2.divisor} 的倍数`;
case "unrecognized_keys":
return `出现未知的键(key): ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `${issue2.origin} 中的键(key)无效`;
case "invalid_union":
return "无效输入";
case "invalid_element":
return `${issue2.origin} 中包含无效值(value)`;
default:
return `无效输入`;
}
};
};
var init_zh_CN = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js
function zh_TW_default() {
return {
localeError: error47()
};
}
var error47 = () => {
const Sizable = {
string: { unit: "字元", verb: "擁有" },
file: { unit: "位元組", verb: "擁有" },
array: { unit: "項目", verb: "擁有" },
set: { unit: "項目", verb: "擁有" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "輸入",
email: "郵件地址",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "ISO 日期時間",
date: "ISO 日期",
time: "ISO 時間",
duration: "ISO 期間",
ipv4: "IPv4 位址",
ipv6: "IPv6 位址",
cidrv4: "IPv4 範圍",
cidrv6: "IPv6 範圍",
base64: "base64 編碼字串",
base64url: "base64url 編碼字串",
json_string: "JSON 字串",
e164: "E.164 數值",
jwt: "JWT",
template_literal: "輸入"
};
const TypeDictionary = {
nan: "NaN"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `無效的輸入值:預期為 instanceof ${issue2.expected},但收到 ${received}`;
}
return `無效的輸入值:預期為 ${expected},但收到 ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `無效的輸入值:預期為 ${stringifyPrimitive(issue2.values[0])}`;
return `無效的選項:預期為以下其中之一 ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `數值過大:預期 ${issue2.origin ?? "值"} 應為 ${adj}${issue2.maximum.toString()} ${sizing.unit ?? "個元素"}`;
return `數值過大:預期 ${issue2.origin ?? "值"} 應為 ${adj}${issue2.maximum.toString()}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing) {
return `數值過小:預期 ${issue2.origin} 應為 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;
}
return `數值過小:預期 ${issue2.origin} 應為 ${adj}${issue2.minimum.toString()}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with") {
return `無效的字串:必須以 "${_issue.prefix}" 開頭`;
}
if (_issue.format === "ends_with")
return `無效的字串:必須以 "${_issue.suffix}" 結尾`;
if (_issue.format === "includes")
return `無效的字串:必須包含 "${_issue.includes}"`;
if (_issue.format === "regex")
return `無效的字串:必須符合格式 ${_issue.pattern}`;
return `無效的 ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `無效的數字:必須為 ${issue2.divisor} 的倍數`;
case "unrecognized_keys":
return `無法識別的鍵值${issue2.keys.length > 1 ? "們" : ""}:${joinValues(issue2.keys, "、")}`;
case "invalid_key":
return `${issue2.origin} 中有無效的鍵值`;
case "invalid_union":
return "無效的輸入值";
case "invalid_element":
return `${issue2.origin} 中有無效的值`;
default:
return `無效的輸入值`;
}
};
};
var init_zh_TW = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.js
function yo_default() {
return {
localeError: error48()
};
}
var error48 = () => {
const Sizable = {
string: { unit: "àmi", verb: "ní" },
file: { unit: "bytes", verb: "ní" },
array: { unit: "nkan", verb: "ní" },
set: { unit: "nkan", verb: "ní" }
};
function getSizing(origin2) {
return Sizable[origin2] ?? null;
}
const FormatDictionary = {
regex: "ẹ̀rọ ìbáwọlé",
email: "àdírẹ́sì ìmẹ́lì",
url: "URL",
emoji: "emoji",
uuid: "UUID",
uuidv4: "UUIDv4",
uuidv6: "UUIDv6",
nanoid: "nanoid",
guid: "GUID",
cuid: "cuid",
cuid2: "cuid2",
ulid: "ULID",
xid: "XID",
ksuid: "KSUID",
datetime: "àkókò ISO",
date: "ọjọ́ ISO",
time: "àkókò ISO",
duration: "àkókò tó pé ISO",
ipv4: "àdírẹ́sì IPv4",
ipv6: "àdírẹ́sì IPv6",
cidrv4: "àgbègbè IPv4",
cidrv6: "àgbègbè IPv6",
base64: "ọ̀rọ̀ tí a kọ́ ní base64",
base64url: "ọ̀rọ̀ base64url",
json_string: "ọ̀rọ̀ JSON",
e164: "nọ́mbà E.164",
jwt: "JWT",
template_literal: "ẹ̀rọ ìbáwọlé"
};
const TypeDictionary = {
nan: "NaN",
number: "nọ́mbà",
array: "akopọ"
};
return (issue2) => {
switch (issue2.code) {
case "invalid_type": {
const expected = TypeDictionary[issue2.expected] ?? issue2.expected;
const receivedType = parsedType(issue2.input);
const received = TypeDictionary[receivedType] ?? receivedType;
if (/^[A-Z]/.test(issue2.expected)) {
return `Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${issue2.expected}, àmọ̀ a rí ${received}`;
}
return `Ìbáwọlé aṣìṣe: a ní láti fi ${expected}, àmọ̀ a rí ${received}`;
}
case "invalid_value":
if (issue2.values.length === 1)
return `Ìbáwọlé aṣìṣe: a ní láti fi ${stringifyPrimitive(issue2.values[0])}`;
return `Àṣàyàn aṣìṣe: yan ọ̀kan lára ${joinValues(issue2.values, "|")}`;
case "too_big": {
const adj = issue2.inclusive ? "<=" : "<";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Tó pọ̀ jù: a ní láti jẹ́ pé ${issue2.origin ?? "iye"} ${sizing.verb} ${adj}${issue2.maximum} ${sizing.unit}`;
return `Tó pọ̀ jù: a ní láti jẹ́ ${adj}${issue2.maximum}`;
}
case "too_small": {
const adj = issue2.inclusive ? ">=" : ">";
const sizing = getSizing(issue2.origin);
if (sizing)
return `Kéré ju: a ní láti jẹ́ pé ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum} ${sizing.unit}`;
return `Kéré ju: a ní láti jẹ́ ${adj}${issue2.minimum}`;
}
case "invalid_format": {
const _issue = issue2;
if (_issue.format === "starts_with")
return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${_issue.prefix}"`;
if (_issue.format === "ends_with")
return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${_issue.suffix}"`;
if (_issue.format === "includes")
return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${_issue.includes}"`;
if (_issue.format === "regex")
return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${_issue.pattern}`;
return `Aṣìṣe: ${FormatDictionary[_issue.format] ?? issue2.format}`;
}
case "not_multiple_of":
return `Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${issue2.divisor}`;
case "unrecognized_keys":
return `Bọtìnì àìmọ̀: ${joinValues(issue2.keys, ", ")}`;
case "invalid_key":
return `Bọtìnì aṣìṣe nínú ${issue2.origin}`;
case "invalid_union":
return "Ìbáwọlé aṣìṣe";
case "invalid_element":
return `Iye aṣìṣe nínú ${issue2.origin}`;
default:
return "Ìbáwọlé aṣìṣe";
}
};
};
var init_yo = __esm(() => {
init_util2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.js
var exports_locales = {};
__export(exports_locales, {
zhTW: () => zh_TW_default,
zhCN: () => zh_CN_default,
yo: () => yo_default,
vi: () => vi_default,
uz: () => uz_default,
ur: () => ur_default,
uk: () => uk_default,
ua: () => ua_default,
tr: () => tr_default,
th: () => th_default,
ta: () => ta_default,
sv: () => sv_default,
sl: () => sl_default,
ru: () => ru_default,
pt: () => pt_default,
ps: () => ps_default,
pl: () => pl_default,
ota: () => ota_default,
no: () => no_default,
nl: () => nl_default,
ms: () => ms_default,
mk: () => mk_default,
lt: () => lt_default,
ko: () => ko_default,
km: () => km_default,
kh: () => kh_default,
ka: () => ka_default,
ja: () => ja_default,
it: () => it_default,
is: () => is_default,
id: () => id_default,
hy: () => hy_default,
hu: () => hu_default,
he: () => he_default,
frCA: () => fr_CA_default,
fr: () => fr_default,
fi: () => fi_default,
fa: () => fa_default,
es: () => es_default,
eo: () => eo_default,
en: () => en_default,
de: () => de_default,
da: () => da_default,
cs: () => cs_default,
ca: () => ca_default,
bg: () => bg_default,
be: () => be_default,
az: () => az_default,
ar: () => ar_default
});
var init_locales = __esm(() => {
init_ar();
init_az();
init_be();
init_bg();
init_ca();
init_cs();
init_da();
init_de();
init_en();
init_eo();
init_es();
init_fa();
init_fi();
init_fr();
init_fr_CA();
init_he();
init_hu();
init_hy();
init_id();
init_is();
init_it();
init_ja();
init_ka();
init_kh();
init_km();
init_ko();
init_lt();
init_mk();
init_ms();
init_nl();
init_no();
init_ota();
init_ps();
init_pl();
init_pt();
init_ru();
init_sl();
init_sv();
init_ta();
init_th();
init_tr();
init_ua();
init_uk();
init_ur();
init_uz();
init_vi();
init_zh_CN();
init_zh_TW();
init_yo();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.js
class $ZodRegistry {
constructor() {
this._map = new WeakMap;
this._idmap = new Map;
}
add(schema, ..._meta) {
const meta = _meta[0];
this._map.set(schema, meta);
if (meta && typeof meta === "object" && "id" in meta) {
this._idmap.set(meta.id, schema);
}
return this;
}
clear() {
this._map = new WeakMap;
this._idmap = new Map;
return this;
}
remove(schema) {
const meta = this._map.get(schema);
if (meta && typeof meta === "object" && "id" in meta) {
this._idmap.delete(meta.id);
}
this._map.delete(schema);
return this;
}
get(schema) {
const p = schema._zod.parent;
if (p) {
const pm = { ...this.get(p) ?? {} };
delete pm.id;
const f = { ...pm, ...this._map.get(schema) };
return Object.keys(f).length ? f : undefined;
}
return this._map.get(schema);
}
has(schema) {
return this._map.has(schema);
}
}
function registry() {
return new $ZodRegistry;
}
var _a2, $output, $input, globalRegistry;
var init_registries = __esm(() => {
$output = Symbol("ZodOutput");
$input = Symbol("ZodInput");
(_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry());
globalRegistry = globalThis.__zod_globalRegistry;
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js
function _string(Class2, params) {
return new Class2({
type: "string",
...normalizeParams(params)
});
}
function _coercedString(Class2, params) {
return new Class2({
type: "string",
coerce: true,
...normalizeParams(params)
});
}
function _email(Class2, params) {
return new Class2({
type: "string",
format: "email",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _guid(Class2, params) {
return new Class2({
type: "string",
format: "guid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _uuid(Class2, params) {
return new Class2({
type: "string",
format: "uuid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _uuidv4(Class2, params) {
return new Class2({
type: "string",
format: "uuid",
check: "string_format",
abort: false,
version: "v4",
...normalizeParams(params)
});
}
function _uuidv6(Class2, params) {
return new Class2({
type: "string",
format: "uuid",
check: "string_format",
abort: false,
version: "v6",
...normalizeParams(params)
});
}
function _uuidv7(Class2, params) {
return new Class2({
type: "string",
format: "uuid",
check: "string_format",
abort: false,
version: "v7",
...normalizeParams(params)
});
}
function _url(Class2, params) {
return new Class2({
type: "string",
format: "url",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _emoji2(Class2, params) {
return new Class2({
type: "string",
format: "emoji",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _nanoid(Class2, params) {
return new Class2({
type: "string",
format: "nanoid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _cuid(Class2, params) {
return new Class2({
type: "string",
format: "cuid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _cuid2(Class2, params) {
return new Class2({
type: "string",
format: "cuid2",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _ulid(Class2, params) {
return new Class2({
type: "string",
format: "ulid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _xid(Class2, params) {
return new Class2({
type: "string",
format: "xid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _ksuid(Class2, params) {
return new Class2({
type: "string",
format: "ksuid",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _ipv4(Class2, params) {
return new Class2({
type: "string",
format: "ipv4",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _ipv6(Class2, params) {
return new Class2({
type: "string",
format: "ipv6",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _mac(Class2, params) {
return new Class2({
type: "string",
format: "mac",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _cidrv4(Class2, params) {
return new Class2({
type: "string",
format: "cidrv4",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _cidrv6(Class2, params) {
return new Class2({
type: "string",
format: "cidrv6",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _base64(Class2, params) {
return new Class2({
type: "string",
format: "base64",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _base64url(Class2, params) {
return new Class2({
type: "string",
format: "base64url",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _e164(Class2, params) {
return new Class2({
type: "string",
format: "e164",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _jwt(Class2, params) {
return new Class2({
type: "string",
format: "jwt",
check: "string_format",
abort: false,
...normalizeParams(params)
});
}
function _isoDateTime(Class2, params) {
return new Class2({
type: "string",
format: "datetime",
check: "string_format",
offset: false,
local: false,
precision: null,
...normalizeParams(params)
});
}
function _isoDate(Class2, params) {
return new Class2({
type: "string",
format: "date",
check: "string_format",
...normalizeParams(params)
});
}
function _isoTime(Class2, params) {
return new Class2({
type: "string",
format: "time",
check: "string_format",
precision: null,
...normalizeParams(params)
});
}
function _isoDuration(Class2, params) {
return new Class2({
type: "string",
format: "duration",
check: "string_format",
...normalizeParams(params)
});
}
function _number(Class2, params) {
return new Class2({
type: "number",
checks: [],
...normalizeParams(params)
});
}
function _coercedNumber(Class2, params) {
return new Class2({
type: "number",
coerce: true,
checks: [],
...normalizeParams(params)
});
}
function _int(Class2, params) {
return new Class2({
type: "number",
check: "number_format",
abort: false,
format: "safeint",
...normalizeParams(params)
});
}
function _float32(Class2, params) {
return new Class2({
type: "number",
check: "number_format",
abort: false,
format: "float32",
...normalizeParams(params)
});
}
function _float64(Class2, params) {
return new Class2({
type: "number",
check: "number_format",
abort: false,
format: "float64",
...normalizeParams(params)
});
}
function _int32(Class2, params) {
return new Class2({
type: "number",
check: "number_format",
abort: false,
format: "int32",
...normalizeParams(params)
});
}
function _uint32(Class2, params) {
return new Class2({
type: "number",
check: "number_format",
abort: false,
format: "uint32",
...normalizeParams(params)
});
}
function _boolean(Class2, params) {
return new Class2({
type: "boolean",
...normalizeParams(params)
});
}
function _coercedBoolean(Class2, params) {
return new Class2({
type: "boolean",
coerce: true,
...normalizeParams(params)
});
}
function _bigint(Class2, params) {
return new Class2({
type: "bigint",
...normalizeParams(params)
});
}
function _coercedBigint(Class2, params) {
return new Class2({
type: "bigint",
coerce: true,
...normalizeParams(params)
});
}
function _int64(Class2, params) {
return new Class2({
type: "bigint",
check: "bigint_format",
abort: false,
format: "int64",
...normalizeParams(params)
});
}
function _uint64(Class2, params) {
return new Class2({
type: "bigint",
check: "bigint_format",
abort: false,
format: "uint64",
...normalizeParams(params)
});
}
function _symbol(Class2, params) {
return new Class2({
type: "symbol",
...normalizeParams(params)
});
}
function _undefined2(Class2, params) {
return new Class2({
type: "undefined",
...normalizeParams(params)
});
}
function _null2(Class2, params) {
return new Class2({
type: "null",
...normalizeParams(params)
});
}
function _any(Class2) {
return new Class2({
type: "any"
});
}
function _unknown(Class2) {
return new Class2({
type: "unknown"
});
}
function _never(Class2, params) {
return new Class2({
type: "never",
...normalizeParams(params)
});
}
function _void(Class2, params) {
return new Class2({
type: "void",
...normalizeParams(params)
});
}
function _date(Class2, params) {
return new Class2({
type: "date",
...normalizeParams(params)
});
}
function _coercedDate(Class2, params) {
return new Class2({
type: "date",
coerce: true,
...normalizeParams(params)
});
}
function _nan(Class2, params) {
return new Class2({
type: "nan",
...normalizeParams(params)
});
}
function _lt(value, params) {
return new $ZodCheckLessThan({
check: "less_than",
...normalizeParams(params),
value,
inclusive: false
});
}
function _lte(value, params) {
return new $ZodCheckLessThan({
check: "less_than",
...normalizeParams(params),
value,
inclusive: true
});
}
function _gt(value, params) {
return new $ZodCheckGreaterThan({
check: "greater_than",
...normalizeParams(params),
value,
inclusive: false
});
}
function _gte(value, params) {
return new $ZodCheckGreaterThan({
check: "greater_than",
...normalizeParams(params),
value,
inclusive: true
});
}
function _positive(params) {
return _gt(0, params);
}
function _negative(params) {
return _lt(0, params);
}
function _nonpositive(params) {
return _lte(0, params);
}
function _nonnegative(params) {
return _gte(0, params);
}
function _multipleOf(value, params) {
return new $ZodCheckMultipleOf({
check: "multiple_of",
...normalizeParams(params),
value
});
}
function _maxSize(maximum, params) {
return new $ZodCheckMaxSize({
check: "max_size",
...normalizeParams(params),
maximum
});
}
function _minSize(minimum, params) {
return new $ZodCheckMinSize({
check: "min_size",
...normalizeParams(params),
minimum
});
}
function _size(size, params) {
return new $ZodCheckSizeEquals({
check: "size_equals",
...normalizeParams(params),
size
});
}
function _maxLength(maximum, params) {
const ch = new $ZodCheckMaxLength({
check: "max_length",
...normalizeParams(params),
maximum
});
return ch;
}
function _minLength(minimum, params) {
return new $ZodCheckMinLength({
check: "min_length",
...normalizeParams(params),
minimum
});
}
function _length(length, params) {
return new $ZodCheckLengthEquals({
check: "length_equals",
...normalizeParams(params),
length
});
}
function _regex(pattern, params) {
return new $ZodCheckRegex({
check: "string_format",
format: "regex",
...normalizeParams(params),
pattern
});
}
function _lowercase(params) {
return new $ZodCheckLowerCase({
check: "string_format",
format: "lowercase",
...normalizeParams(params)
});
}
function _uppercase(params) {
return new $ZodCheckUpperCase({
check: "string_format",
format: "uppercase",
...normalizeParams(params)
});
}
function _includes(includes, params) {
return new $ZodCheckIncludes({
check: "string_format",
format: "includes",
...normalizeParams(params),
includes
});
}
function _startsWith(prefix, params) {
return new $ZodCheckStartsWith({
check: "string_format",
format: "starts_with",
...normalizeParams(params),
prefix
});
}
function _endsWith(suffix, params) {
return new $ZodCheckEndsWith({
check: "string_format",
format: "ends_with",
...normalizeParams(params),
suffix
});
}
function _property(property2, schema, params) {
return new $ZodCheckProperty({
check: "property",
property: property2,
schema,
...normalizeParams(params)
});
}
function _mime(types, params) {
return new $ZodCheckMimeType({
check: "mime_type",
mime: types,
...normalizeParams(params)
});
}
function _overwrite(tx) {
return new $ZodCheckOverwrite({
check: "overwrite",
tx
});
}
function _normalize(form) {
return _overwrite((input) => input.normalize(form));
}
function _trim() {
return _overwrite((input) => input.trim());
}
function _toLowerCase() {
return _overwrite((input) => input.toLowerCase());
}
function _toUpperCase() {
return _overwrite((input) => input.toUpperCase());
}
function _slugify() {
return _overwrite((input) => slugify(input));
}
function _array(Class2, element, params) {
return new Class2({
type: "array",
element,
...normalizeParams(params)
});
}
function _union(Class2, options, params) {
return new Class2({
type: "union",
options,
...normalizeParams(params)
});
}
function _xor(Class2, options, params) {
return new Class2({
type: "union",
options,
inclusive: false,
...normalizeParams(params)
});
}
function _discriminatedUnion(Class2, discriminator, options, params) {
return new Class2({
type: "union",
options,
discriminator,
...normalizeParams(params)
});
}
function _intersection(Class2, left, right) {
return new Class2({
type: "intersection",
left,
right
});
}
function _tuple(Class2, items, _paramsOrRest, _params) {
const hasRest = _paramsOrRest instanceof $ZodType;
const params = hasRest ? _params : _paramsOrRest;
const rest = hasRest ? _paramsOrRest : null;
return new Class2({
type: "tuple",
items,
rest,
...normalizeParams(params)
});
}
function _record(Class2, keyType, valueType, params) {
return new Class2({
type: "record",
keyType,
valueType,
...normalizeParams(params)
});
}
function _map(Class2, keyType, valueType, params) {
return new Class2({
type: "map",
keyType,
valueType,
...normalizeParams(params)
});
}
function _set(Class2, valueType, params) {
return new Class2({
type: "set",
valueType,
...normalizeParams(params)
});
}
function _enum(Class2, values, params) {
const entries = Array.isArray(values) ? Object.fromEntries(values.map((v2) => [v2, v2])) : values;
return new Class2({
type: "enum",
entries,
...normalizeParams(params)
});
}
function _nativeEnum(Class2, entries, params) {
return new Class2({
type: "enum",
entries,
...normalizeParams(params)
});
}
function _literal(Class2, value, params) {
return new Class2({
type: "literal",
values: Array.isArray(value) ? value : [value],
...normalizeParams(params)
});
}
function _file(Class2, params) {
return new Class2({
type: "file",
...normalizeParams(params)
});
}
function _transform(Class2, fn) {
return new Class2({
type: "transform",
transform: fn
});
}
function _optional(Class2, innerType) {
return new Class2({
type: "optional",
innerType
});
}
function _nullable(Class2, innerType) {
return new Class2({
type: "nullable",
innerType
});
}
function _default(Class2, innerType, defaultValue) {
return new Class2({
type: "default",
innerType,
get defaultValue() {
return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue);
}
});
}
function _nonoptional(Class2, innerType, params) {
return new Class2({
type: "nonoptional",
innerType,
...normalizeParams(params)
});
}
function _success(Class2, innerType) {
return new Class2({
type: "success",
innerType
});
}
function _catch(Class2, innerType, catchValue) {
return new Class2({
type: "catch",
innerType,
catchValue: typeof catchValue === "function" ? catchValue : () => catchValue
});
}
function _pipe(Class2, in_, out) {
return new Class2({
type: "pipe",
in: in_,
out
});
}
function _readonly(Class2, innerType) {
return new Class2({
type: "readonly",
innerType
});
}
function _templateLiteral(Class2, parts, params) {
return new Class2({
type: "template_literal",
parts,
...normalizeParams(params)
});
}
function _lazy(Class2, getter) {
return new Class2({
type: "lazy",
getter
});
}
function _promise(Class2, innerType) {
return new Class2({
type: "promise",
innerType
});
}
function _custom(Class2, fn, _params) {
const norm = normalizeParams(_params);
norm.abort ?? (norm.abort = true);
const schema = new Class2({
type: "custom",
check: "custom",
fn,
...norm
});
return schema;
}
function _refine(Class2, fn, _params) {
const schema = new Class2({
type: "custom",
check: "custom",
fn,
...normalizeParams(_params)
});
return schema;
}
function _superRefine(fn) {
const ch = _check((payload) => {
payload.addIssue = (issue2) => {
if (typeof issue2 === "string") {
payload.issues.push(issue(issue2, payload.value, ch._zod.def));
} else {
const _issue = issue2;
if (_issue.fatal)
_issue.continue = false;
_issue.code ?? (_issue.code = "custom");
_issue.input ?? (_issue.input = payload.value);
_issue.inst ?? (_issue.inst = ch);
_issue.continue ?? (_issue.continue = !ch._zod.def.abort);
payload.issues.push(issue(_issue));
}
};
return fn(payload.value, payload);
});
return ch;
}
function _check(fn, params) {
const ch = new $ZodCheck({
check: "custom",
...normalizeParams(params)
});
ch._zod.check = fn;
return ch;
}
function describe(description) {
const ch = new $ZodCheck({ check: "describe" });
ch._zod.onattach = [
(inst) => {
const existing = globalRegistry.get(inst) ?? {};
globalRegistry.add(inst, { ...existing, description });
}
];
ch._zod.check = () => {};
return ch;
}
function meta(metadata) {
const ch = new $ZodCheck({ check: "meta" });
ch._zod.onattach = [
(inst) => {
const existing = globalRegistry.get(inst) ?? {};
globalRegistry.add(inst, { ...existing, ...metadata });
}
];
ch._zod.check = () => {};
return ch;
}
function _stringbool(Classes, _params) {
const params = normalizeParams(_params);
let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
if (params.case !== "sensitive") {
truthyArray = truthyArray.map((v2) => typeof v2 === "string" ? v2.toLowerCase() : v2);
falsyArray = falsyArray.map((v2) => typeof v2 === "string" ? v2.toLowerCase() : v2);
}
const truthySet = new Set(truthyArray);
const falsySet = new Set(falsyArray);
const _Codec = Classes.Codec ?? $ZodCodec;
const _Boolean = Classes.Boolean ?? $ZodBoolean;
const _String = Classes.String ?? $ZodString;
const stringSchema = new _String({ type: "string", error: params.error });
const booleanSchema = new _Boolean({ type: "boolean", error: params.error });
const codec = new _Codec({
type: "pipe",
in: stringSchema,
out: booleanSchema,
transform: (input, payload) => {
let data = input;
if (params.case !== "sensitive")
data = data.toLowerCase();
if (truthySet.has(data)) {
return true;
} else if (falsySet.has(data)) {
return false;
} else {
payload.issues.push({
code: "invalid_value",
expected: "stringbool",
values: [...truthySet, ...falsySet],
input: payload.value,
inst: codec,
continue: false
});
return {};
}
},
reverseTransform: (input, _payload) => {
if (input === true) {
return truthyArray[0] || "true";
} else {
return falsyArray[0] || "false";
}
},
error: params.error
});
return codec;
}
function _stringFormat(Class2, format3, fnOrRegex, _params = {}) {
const params = normalizeParams(_params);
const def = {
...normalizeParams(_params),
check: "string_format",
type: "string",
format: format3,
fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
...params
};
if (fnOrRegex instanceof RegExp) {
def.pattern = fnOrRegex;
}
const inst = new Class2(def);
return inst;
}
var TimePrecision;
var init_api = __esm(() => {
init_checks();
init_registries();
init_schemas();
init_util2();
TimePrecision = {
Any: null,
Minute: -1,
Second: 0,
Millisecond: 3,
Microsecond: 6
};
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js
function initializeContext(params) {
let target = params?.target ?? "draft-2020-12";
if (target === "draft-4")
target = "draft-04";
if (target === "draft-7")
target = "draft-07";
return {
processors: params.processors ?? {},
metadataRegistry: params?.metadata ?? globalRegistry,
target,
unrepresentable: params?.unrepresentable ?? "throw",
override: params?.override ?? (() => {}),
io: params?.io ?? "output",
counter: 0,
seen: new Map,
cycles: params?.cycles ?? "ref",
reused: params?.reused ?? "inline",
external: params?.external ?? undefined
};
}
function process13(schema, ctx, _params = { path: [], schemaPath: [] }) {
var _a3;
const def = schema._zod.def;
const seen = ctx.seen.get(schema);
if (seen) {
seen.count++;
const isCycle = _params.schemaPath.includes(schema);
if (isCycle) {
seen.cycle = _params.path;
}
return seen.schema;
}
const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };
ctx.seen.set(schema, result);
const overrideSchema = schema._zod.toJSONSchema?.();
if (overrideSchema) {
result.schema = overrideSchema;
} else {
const params = {
..._params,
schemaPath: [..._params.schemaPath, schema],
path: _params.path
};
if (schema._zod.processJSONSchema) {
schema._zod.processJSONSchema(ctx, result.schema, params);
} else {
const _json = result.schema;
const processor = ctx.processors[def.type];
if (!processor) {
throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);
}
processor(schema, ctx, _json, params);
}
const parent = schema._zod.parent;
if (parent) {
if (!result.ref)
result.ref = parent;
process13(parent, ctx, params);
ctx.seen.get(parent).isParent = true;
}
}
const meta2 = ctx.metadataRegistry.get(schema);
if (meta2)
Object.assign(result.schema, meta2);
if (ctx.io === "input" && isTransforming(schema)) {
delete result.schema.examples;
delete result.schema.default;
}
if (ctx.io === "input" && result.schema._prefault)
(_a3 = result.schema).default ?? (_a3.default = result.schema._prefault);
delete result.schema._prefault;
const _result = ctx.seen.get(schema);
return _result.schema;
}
function extractDefs(ctx, schema) {
const root2 = ctx.seen.get(schema);
if (!root2)
throw new Error("Unprocessed schema. This is a bug in Zod.");
const idToSchema = new Map;
for (const entry of ctx.seen.entries()) {
const id = ctx.metadataRegistry.get(entry[0])?.id;
if (id) {
const existing = idToSchema.get(id);
if (existing && existing !== entry[0]) {
throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);
}
idToSchema.set(id, entry[0]);
}
}
const makeURI = (entry) => {
const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
if (ctx.external) {
const externalId = ctx.external.registry.get(entry[0])?.id;
const uriGenerator = ctx.external.uri ?? ((id2) => id2);
if (externalId) {
return { ref: uriGenerator(externalId) };
}
const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;
entry[1].defId = id;
return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${id}` };
}
if (entry[1] === root2) {
return { ref: "#" };
}
const uriPrefix = `#`;
const defUriPrefix = `${uriPrefix}/${defsSegment}/`;
const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;
return { defId, ref: defUriPrefix + defId };
};
const extractToDef = (entry) => {
if (entry[1].schema.$ref) {
return;
}
const seen = entry[1];
const { ref, defId } = makeURI(entry);
seen.def = { ...seen.schema };
if (defId)
seen.defId = defId;
const schema2 = seen.schema;
for (const key in schema2) {
delete schema2[key];
}
schema2.$ref = ref;
};
if (ctx.cycles === "throw") {
for (const entry of ctx.seen.entries()) {
const seen = entry[1];
if (seen.cycle) {
throw new Error("Cycle detected: " + `#/${seen.cycle?.join("/")}/` + '\n\nSet the `cycles` parameter to `"ref"` to resolve cyclical schemas with defs.');
}
}
}
for (const entry of ctx.seen.entries()) {
const seen = entry[1];
if (schema === entry[0]) {
extractToDef(entry);
continue;
}
if (ctx.external) {
const ext = ctx.external.registry.get(entry[0])?.id;
if (schema !== entry[0] && ext) {
extractToDef(entry);
continue;
}
}
const id = ctx.metadataRegistry.get(entry[0])?.id;
if (id) {
extractToDef(entry);
continue;
}
if (seen.cycle) {
extractToDef(entry);
continue;
}
if (seen.count > 1) {
if (ctx.reused === "ref") {
extractToDef(entry);
continue;
}
}
}
}
function finalize(ctx, schema) {
const root2 = ctx.seen.get(schema);
if (!root2)
throw new Error("Unprocessed schema. This is a bug in Zod.");
const flattenRef = (zodSchema) => {
const seen = ctx.seen.get(zodSchema);
if (seen.ref === null)
return;
const schema2 = seen.def ?? seen.schema;
const _cached = { ...schema2 };
const ref = seen.ref;
seen.ref = null;
if (ref) {
flattenRef(ref);
const refSeen = ctx.seen.get(ref);
const refSchema = refSeen.schema;
if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) {
schema2.allOf = schema2.allOf ?? [];
schema2.allOf.push(refSchema);
} else {
Object.assign(schema2, refSchema);
}
Object.assign(schema2, _cached);
const isParentRef = zodSchema._zod.parent === ref;
if (isParentRef) {
for (const key in schema2) {
if (key === "$ref" || key === "allOf")
continue;
if (!(key in _cached)) {
delete schema2[key];
}
}
}
if (refSchema.$ref && refSeen.def) {
for (const key in schema2) {
if (key === "$ref" || key === "allOf")
continue;
if (key in refSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(refSeen.def[key])) {
delete schema2[key];
}
}
}
}
const parent = zodSchema._zod.parent;
if (parent && parent !== ref) {
flattenRef(parent);
const parentSeen = ctx.seen.get(parent);
if (parentSeen?.schema.$ref) {
schema2.$ref = parentSeen.schema.$ref;
if (parentSeen.def) {
for (const key in schema2) {
if (key === "$ref" || key === "allOf")
continue;
if (key in parentSeen.def && JSON.stringify(schema2[key]) === JSON.stringify(parentSeen.def[key])) {
delete schema2[key];
}
}
}
}
}
ctx.override({
zodSchema,
jsonSchema: schema2,
path: seen.path ?? []
});
};
for (const entry of [...ctx.seen.entries()].reverse()) {
flattenRef(entry[0]);
}
const result = {};
if (ctx.target === "draft-2020-12") {
result.$schema = "https://json-schema.org/draft/2020-12/schema";
} else if (ctx.target === "draft-07") {
result.$schema = "http://json-schema.org/draft-07/schema#";
} else if (ctx.target === "draft-04") {
result.$schema = "http://json-schema.org/draft-04/schema#";
} else if (ctx.target === "openapi-3.0") {} else {}
if (ctx.external?.uri) {
const id = ctx.external.registry.get(schema)?.id;
if (!id)
throw new Error("Schema is missing an `id` property");
result.$id = ctx.external.uri(id);
}
Object.assign(result, root2.def ?? root2.schema);
const defs = ctx.external?.defs ?? {};
for (const entry of ctx.seen.entries()) {
const seen = entry[1];
if (seen.def && seen.defId) {
defs[seen.defId] = seen.def;
}
}
if (ctx.external) {} else {
if (Object.keys(defs).length > 0) {
if (ctx.target === "draft-2020-12") {
result.$defs = defs;
} else {
result.definitions = defs;
}
}
}
try {
const finalized = JSON.parse(JSON.stringify(result));
Object.defineProperty(finalized, "~standard", {
value: {
...schema["~standard"],
jsonSchema: {
input: createStandardJSONSchemaMethod(schema, "input", ctx.processors),
output: createStandardJSONSchemaMethod(schema, "output", ctx.processors)
}
},
enumerable: false,
writable: false
});
return finalized;
} catch (_err) {
throw new Error("Error converting schema to JSON.");
}
}
function isTransforming(_schema, _ctx) {
const ctx = _ctx ?? { seen: new Set };
if (ctx.seen.has(_schema))
return false;
ctx.seen.add(_schema);
const def = _schema._zod.def;
if (def.type === "transform")
return true;
if (def.type === "array")
return isTransforming(def.element, ctx);
if (def.type === "set")
return isTransforming(def.valueType, ctx);
if (def.type === "lazy")
return isTransforming(def.getter(), ctx);
if (def.type === "promise" || def.type === "optional" || def.type === "nonoptional" || def.type === "nullable" || def.type === "readonly" || def.type === "default" || def.type === "prefault") {
return isTransforming(def.innerType, ctx);
}
if (def.type === "intersection") {
return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
}
if (def.type === "record" || def.type === "map") {
return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
}
if (def.type === "pipe") {
return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
}
if (def.type === "object") {
for (const key in def.shape) {
if (isTransforming(def.shape[key], ctx))
return true;
}
return false;
}
if (def.type === "union") {
for (const option of def.options) {
if (isTransforming(option, ctx))
return true;
}
return false;
}
if (def.type === "tuple") {
for (const item of def.items) {
if (isTransforming(item, ctx))
return true;
}
if (def.rest && isTransforming(def.rest, ctx))
return true;
return false;
}
return false;
}
var createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
const ctx = initializeContext({ ...params, processors });
process13(schema, ctx);
extractDefs(ctx, schema);
return finalize(ctx, schema);
}, createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {
const { libraryOptions, target } = params ?? {};
const ctx = initializeContext({ ...libraryOptions ?? {}, target, io, processors });
process13(schema, ctx);
extractDefs(ctx, schema);
return finalize(ctx, schema);
};
var init_to_json_schema = __esm(() => {
init_registries();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js
function toJSONSchema(input, params) {
if ("_idmap" in input) {
const registry2 = input;
const ctx2 = initializeContext({ ...params, processors: allProcessors });
const defs = {};
for (const entry of registry2._idmap.entries()) {
const [_2, schema] = entry;
process13(schema, ctx2);
}
const schemas = {};
const external = {
registry: registry2,
uri: params?.uri,
defs
};
ctx2.external = external;
for (const entry of registry2._idmap.entries()) {
const [key, schema] = entry;
extractDefs(ctx2, schema);
schemas[key] = finalize(ctx2, schema);
}
if (Object.keys(defs).length > 0) {
const defsSegment = ctx2.target === "draft-2020-12" ? "$defs" : "definitions";
schemas.__shared = {
[defsSegment]: defs
};
}
return { schemas };
}
const ctx = initializeContext({ ...params, processors: allProcessors });
process13(input, ctx);
extractDefs(ctx, input);
return finalize(ctx, input);
}
var formatMap, stringProcessor = (schema, ctx, _json, _params) => {
const json = _json;
json.type = "string";
const { minimum, maximum, format: format3, patterns, contentEncoding } = schema._zod.bag;
if (typeof minimum === "number")
json.minLength = minimum;
if (typeof maximum === "number")
json.maxLength = maximum;
if (format3) {
json.format = formatMap[format3] ?? format3;
if (json.format === "")
delete json.format;
if (format3 === "time") {
delete json.format;
}
}
if (contentEncoding)
json.contentEncoding = contentEncoding;
if (patterns && patterns.size > 0) {
const regexes = [...patterns];
if (regexes.length === 1)
json.pattern = regexes[0].source;
else if (regexes.length > 1) {
json.allOf = [
...regexes.map((regex2) => ({
...ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0" ? { type: "string" } : {},
pattern: regex2.source
}))
];
}
}
}, numberProcessor = (schema, ctx, _json, _params) => {
const json = _json;
const { minimum, maximum, format: format3, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
if (typeof format3 === "string" && format3.includes("int"))
json.type = "integer";
else
json.type = "number";
if (typeof exclusiveMinimum === "number") {
if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
json.minimum = exclusiveMinimum;
json.exclusiveMinimum = true;
} else {
json.exclusiveMinimum = exclusiveMinimum;
}
}
if (typeof minimum === "number") {
json.minimum = minimum;
if (typeof exclusiveMinimum === "number" && ctx.target !== "draft-04") {
if (exclusiveMinimum >= minimum)
delete json.minimum;
else
delete json.exclusiveMinimum;
}
}
if (typeof exclusiveMaximum === "number") {
if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
json.maximum = exclusiveMaximum;
json.exclusiveMaximum = true;
} else {
json.exclusiveMaximum = exclusiveMaximum;
}
}
if (typeof maximum === "number") {
json.maximum = maximum;
if (typeof exclusiveMaximum === "number" && ctx.target !== "draft-04") {
if (exclusiveMaximum <= maximum)
delete json.maximum;
else
delete json.exclusiveMaximum;
}
}
if (typeof multipleOf === "number")
json.multipleOf = multipleOf;
}, booleanProcessor = (_schema, _ctx, json, _params) => {
json.type = "boolean";
}, bigintProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("BigInt cannot be represented in JSON Schema");
}
}, symbolProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Symbols cannot be represented in JSON Schema");
}
}, nullProcessor = (_schema, ctx, json, _params) => {
if (ctx.target === "openapi-3.0") {
json.type = "string";
json.nullable = true;
json.enum = [null];
} else {
json.type = "null";
}
}, undefinedProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Undefined cannot be represented in JSON Schema");
}
}, voidProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Void cannot be represented in JSON Schema");
}
}, neverProcessor = (_schema, _ctx, json, _params) => {
json.not = {};
}, anyProcessor = (_schema, _ctx, _json, _params) => {}, unknownProcessor = (_schema, _ctx, _json, _params) => {}, dateProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Date cannot be represented in JSON Schema");
}
}, enumProcessor = (schema, _ctx, json, _params) => {
const def = schema._zod.def;
const values = getEnumValues(def.entries);
if (values.every((v2) => typeof v2 === "number"))
json.type = "number";
if (values.every((v2) => typeof v2 === "string"))
json.type = "string";
json.enum = values;
}, literalProcessor = (schema, ctx, json, _params) => {
const def = schema._zod.def;
const vals = [];
for (const val of def.values) {
if (val === undefined) {
if (ctx.unrepresentable === "throw") {
throw new Error("Literal `undefined` cannot be represented in JSON Schema");
} else {}
} else if (typeof val === "bigint") {
if (ctx.unrepresentable === "throw") {
throw new Error("BigInt literals cannot be represented in JSON Schema");
} else {
vals.push(Number(val));
}
} else {
vals.push(val);
}
}
if (vals.length === 0) {} else if (vals.length === 1) {
const val = vals[0];
json.type = val === null ? "null" : typeof val;
if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
json.enum = [val];
} else {
json.const = val;
}
} else {
if (vals.every((v2) => typeof v2 === "number"))
json.type = "number";
if (vals.every((v2) => typeof v2 === "string"))
json.type = "string";
if (vals.every((v2) => typeof v2 === "boolean"))
json.type = "boolean";
if (vals.every((v2) => v2 === null))
json.type = "null";
json.enum = vals;
}
}, nanProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("NaN cannot be represented in JSON Schema");
}
}, templateLiteralProcessor = (schema, _ctx, json, _params) => {
const _json = json;
const pattern = schema._zod.pattern;
if (!pattern)
throw new Error("Pattern not found in template literal");
_json.type = "string";
_json.pattern = pattern.source;
}, fileProcessor = (schema, _ctx, json, _params) => {
const _json = json;
const file = {
type: "string",
format: "binary",
contentEncoding: "binary"
};
const { minimum, maximum, mime } = schema._zod.bag;
if (minimum !== undefined)
file.minLength = minimum;
if (maximum !== undefined)
file.maxLength = maximum;
if (mime) {
if (mime.length === 1) {
file.contentMediaType = mime[0];
Object.assign(_json, file);
} else {
Object.assign(_json, file);
_json.anyOf = mime.map((m2) => ({ contentMediaType: m2 }));
}
} else {
Object.assign(_json, file);
}
}, successProcessor = (_schema, _ctx, json, _params) => {
json.type = "boolean";
}, customProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Custom types cannot be represented in JSON Schema");
}
}, functionProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Function types cannot be represented in JSON Schema");
}
}, transformProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Transforms cannot be represented in JSON Schema");
}
}, mapProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Map cannot be represented in JSON Schema");
}
}, setProcessor = (_schema, ctx, _json, _params) => {
if (ctx.unrepresentable === "throw") {
throw new Error("Set cannot be represented in JSON Schema");
}
}, arrayProcessor = (schema, ctx, _json, params) => {
const json = _json;
const def = schema._zod.def;
const { minimum, maximum } = schema._zod.bag;
if (typeof minimum === "number")
json.minItems = minimum;
if (typeof maximum === "number")
json.maxItems = maximum;
json.type = "array";
json.items = process13(def.element, ctx, { ...params, path: [...params.path, "items"] });
}, objectProcessor = (schema, ctx, _json, params) => {
const json = _json;
const def = schema._zod.def;
json.type = "object";
json.properties = {};
const shape = def.shape;
for (const key in shape) {
json.properties[key] = process13(shape[key], ctx, {
...params,
path: [...params.path, "properties", key]
});
}
const allKeys = new Set(Object.keys(shape));
const requiredKeys = new Set([...allKeys].filter((key) => {
const v2 = def.shape[key]._zod;
if (ctx.io === "input") {
return v2.optin === undefined;
} else {
return v2.optout === undefined;
}
}));
if (requiredKeys.size > 0) {
json.required = Array.from(requiredKeys);
}
if (def.catchall?._zod.def.type === "never") {
json.additionalProperties = false;
} else if (!def.catchall) {
if (ctx.io === "output")
json.additionalProperties = false;
} else if (def.catchall) {
json.additionalProperties = process13(def.catchall, ctx, {
...params,
path: [...params.path, "additionalProperties"]
});
}
}, unionProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
const isExclusive = def.inclusive === false;
const options = def.options.map((x3, i2) => process13(x3, ctx, {
...params,
path: [...params.path, isExclusive ? "oneOf" : "anyOf", i2]
}));
if (isExclusive) {
json.oneOf = options;
} else {
json.anyOf = options;
}
}, intersectionProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
const a2 = process13(def.left, ctx, {
...params,
path: [...params.path, "allOf", 0]
});
const b2 = process13(def.right, ctx, {
...params,
path: [...params.path, "allOf", 1]
});
const isSimpleIntersection = (val) => ("allOf" in val) && Object.keys(val).length === 1;
const allOf = [
...isSimpleIntersection(a2) ? a2.allOf : [a2],
...isSimpleIntersection(b2) ? b2.allOf : [b2]
];
json.allOf = allOf;
}, tupleProcessor = (schema, ctx, _json, params) => {
const json = _json;
const def = schema._zod.def;
json.type = "array";
const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
const prefixItems = def.items.map((x3, i2) => process13(x3, ctx, {
...params,
path: [...params.path, prefixPath, i2]
}));
const rest = def.rest ? process13(def.rest, ctx, {
...params,
path: [...params.path, restPath, ...ctx.target === "openapi-3.0" ? [def.items.length] : []]
}) : null;
if (ctx.target === "draft-2020-12") {
json.prefixItems = prefixItems;
if (rest) {
json.items = rest;
}
} else if (ctx.target === "openapi-3.0") {
json.items = {
anyOf: prefixItems
};
if (rest) {
json.items.anyOf.push(rest);
}
json.minItems = prefixItems.length;
if (!rest) {
json.maxItems = prefixItems.length;
}
} else {
json.items = prefixItems;
if (rest) {
json.additionalItems = rest;
}
}
const { minimum, maximum } = schema._zod.bag;
if (typeof minimum === "number")
json.minItems = minimum;
if (typeof maximum === "number")
json.maxItems = maximum;
}, recordProcessor = (schema, ctx, _json, params) => {
const json = _json;
const def = schema._zod.def;
json.type = "object";
const keyType = def.keyType;
const keyBag = keyType._zod.bag;
const patterns = keyBag?.patterns;
if (def.mode === "loose" && patterns && patterns.size > 0) {
const valueSchema = process13(def.valueType, ctx, {
...params,
path: [...params.path, "patternProperties", "*"]
});
json.patternProperties = {};
for (const pattern of patterns) {
json.patternProperties[pattern.source] = valueSchema;
}
} else {
if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
json.propertyNames = process13(def.keyType, ctx, {
...params,
path: [...params.path, "propertyNames"]
});
}
json.additionalProperties = process13(def.valueType, ctx, {
...params,
path: [...params.path, "additionalProperties"]
});
}
const keyValues = keyType._zod.values;
if (keyValues) {
const validKeyValues = [...keyValues].filter((v2) => typeof v2 === "string" || typeof v2 === "number");
if (validKeyValues.length > 0) {
json.required = validKeyValues;
}
}
}, nullableProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
const inner = process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
if (ctx.target === "openapi-3.0") {
seen.ref = def.innerType;
json.nullable = true;
} else {
json.anyOf = [inner, { type: "null" }];
}
}, nonoptionalProcessor = (schema, ctx, _json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
}, defaultProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
json.default = JSON.parse(JSON.stringify(def.defaultValue));
}, prefaultProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
if (ctx.io === "input")
json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
}, catchProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
let catchValue;
try {
catchValue = def.catchValue(undefined);
} catch {
throw new Error("Dynamic catch values are not supported in JSON Schema");
}
json.default = catchValue;
}, pipeProcessor = (schema, ctx, _json, params) => {
const def = schema._zod.def;
const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
process13(innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = innerType;
}, readonlyProcessor = (schema, ctx, json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
json.readOnly = true;
}, promiseProcessor = (schema, ctx, _json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
}, optionalProcessor = (schema, ctx, _json, params) => {
const def = schema._zod.def;
process13(def.innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = def.innerType;
}, lazyProcessor = (schema, ctx, _json, params) => {
const innerType = schema._zod.innerType;
process13(innerType, ctx, params);
const seen = ctx.seen.get(schema);
seen.ref = innerType;
}, allProcessors;
var init_json_schema_processors = __esm(() => {
init_to_json_schema();
init_util2();
formatMap = {
guid: "uuid",
url: "uri",
datetime: "date-time",
json_string: "json-string",
regex: ""
};
allProcessors = {
string: stringProcessor,
number: numberProcessor,
boolean: booleanProcessor,
bigint: bigintProcessor,
symbol: symbolProcessor,
null: nullProcessor,
undefined: undefinedProcessor,
void: voidProcessor,
never: neverProcessor,
any: anyProcessor,
unknown: unknownProcessor,
date: dateProcessor,
enum: enumProcessor,
literal: literalProcessor,
nan: nanProcessor,
template_literal: templateLiteralProcessor,
file: fileProcessor,
success: successProcessor,
custom: customProcessor,
function: functionProcessor,
transform: transformProcessor,
map: mapProcessor,
set: setProcessor,
array: arrayProcessor,
object: objectProcessor,
union: unionProcessor,
intersection: intersectionProcessor,
tuple: tupleProcessor,
record: recordProcessor,
nullable: nullableProcessor,
nonoptional: nonoptionalProcessor,
default: defaultProcessor,
prefault: prefaultProcessor,
catch: catchProcessor,
pipe: pipeProcessor,
readonly: readonlyProcessor,
promise: promiseProcessor,
optional: optionalProcessor,
lazy: lazyProcessor
};
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js
class JSONSchemaGenerator {
get metadataRegistry() {
return this.ctx.metadataRegistry;
}
get target() {
return this.ctx.target;
}
get unrepresentable() {
return this.ctx.unrepresentable;
}
get override() {
return this.ctx.override;
}
get io() {
return this.ctx.io;
}
get counter() {
return this.ctx.counter;
}
set counter(value) {
this.ctx.counter = value;
}
get seen() {
return this.ctx.seen;
}
constructor(params) {
let normalizedTarget = params?.target ?? "draft-2020-12";
if (normalizedTarget === "draft-4")
normalizedTarget = "draft-04";
if (normalizedTarget === "draft-7")
normalizedTarget = "draft-07";
this.ctx = initializeContext({
processors: allProcessors,
target: normalizedTarget,
...params?.metadata && { metadata: params.metadata },
...params?.unrepresentable && { unrepresentable: params.unrepresentable },
...params?.override && { override: params.override },
...params?.io && { io: params.io }
});
}
process(schema, _params = { path: [], schemaPath: [] }) {
return process13(schema, this.ctx, _params);
}
emit(schema, _params) {
if (_params) {
if (_params.cycles)
this.ctx.cycles = _params.cycles;
if (_params.reused)
this.ctx.reused = _params.reused;
if (_params.external)
this.ctx.external = _params.external;
}
extractDefs(this.ctx, schema);
const result = finalize(this.ctx, schema);
const { "~standard": _2, ...plainResult } = result;
return plainResult;
}
}
var init_json_schema_generator = __esm(() => {
init_json_schema_processors();
init_to_json_schema();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.js
var exports_json_schema = {};
var init_json_schema = () => {};
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.js
var exports_core2 = {};
__export(exports_core2, {
version: () => version,
util: () => exports_util,
treeifyError: () => treeifyError,
toJSONSchema: () => toJSONSchema,
toDotPath: () => toDotPath,
safeParseAsync: () => safeParseAsync,
safeParse: () => safeParse,
safeEncodeAsync: () => safeEncodeAsync,
safeEncode: () => safeEncode,
safeDecodeAsync: () => safeDecodeAsync,
safeDecode: () => safeDecode,
registry: () => registry,
regexes: () => exports_regexes,
process: () => process13,
prettifyError: () => prettifyError,
parseAsync: () => parseAsync,
parse: () => parse3,
meta: () => meta,
locales: () => exports_locales,
isValidJWT: () => isValidJWT,
isValidBase64URL: () => isValidBase64URL,
isValidBase64: () => isValidBase64,
initializeContext: () => initializeContext,
globalRegistry: () => globalRegistry,
globalConfig: () => globalConfig,
formatError: () => formatError,
flattenError: () => flattenError,
finalize: () => finalize,
extractDefs: () => extractDefs,
encodeAsync: () => encodeAsync,
encode: () => encode3,
describe: () => describe,
decodeAsync: () => decodeAsync,
decode: () => decode,
createToJSONSchemaMethod: () => createToJSONSchemaMethod,
createStandardJSONSchemaMethod: () => createStandardJSONSchemaMethod,
config: () => config,
clone: () => clone2,
_xor: () => _xor,
_xid: () => _xid,
_void: () => _void,
_uuidv7: () => _uuidv7,
_uuidv6: () => _uuidv6,
_uuidv4: () => _uuidv4,
_uuid: () => _uuid,
_url: () => _url,
_uppercase: () => _uppercase,
_unknown: () => _unknown,
_union: () => _union,
_undefined: () => _undefined2,
_ulid: () => _ulid,
_uint64: () => _uint64,
_uint32: () => _uint32,
_tuple: () => _tuple,
_trim: () => _trim,
_transform: () => _transform,
_toUpperCase: () => _toUpperCase,
_toLowerCase: () => _toLowerCase,
_templateLiteral: () => _templateLiteral,
_symbol: () => _symbol,
_superRefine: () => _superRefine,
_success: () => _success,
_stringbool: () => _stringbool,
_stringFormat: () => _stringFormat,
_string: () => _string,
_startsWith: () => _startsWith,
_slugify: () => _slugify,
_size: () => _size,
_set: () => _set,
_safeParseAsync: () => _safeParseAsync,
_safeParse: () => _safeParse,
_safeEncodeAsync: () => _safeEncodeAsync,
_safeEncode: () => _safeEncode,
_safeDecodeAsync: () => _safeDecodeAsync,
_safeDecode: () => _safeDecode,
_regex: () => _regex,
_refine: () => _refine,
_record: () => _record,
_readonly: () => _readonly,
_property: () => _property,
_promise: () => _promise,
_positive: () => _positive,
_pipe: () => _pipe,
_parseAsync: () => _parseAsync,
_parse: () => _parse,
_overwrite: () => _overwrite,
_optional: () => _optional,
_number: () => _number,
_nullable: () => _nullable,
_null: () => _null2,
_normalize: () => _normalize,
_nonpositive: () => _nonpositive,
_nonoptional: () => _nonoptional,
_nonnegative: () => _nonnegative,
_never: () => _never,
_negative: () => _negative,
_nativeEnum: () => _nativeEnum,
_nanoid: () => _nanoid,
_nan: () => _nan,
_multipleOf: () => _multipleOf,
_minSize: () => _minSize,
_minLength: () => _minLength,
_min: () => _gte,
_mime: () => _mime,
_maxSize: () => _maxSize,
_maxLength: () => _maxLength,
_max: () => _lte,
_map: () => _map,
_mac: () => _mac,
_lte: () => _lte,
_lt: () => _lt,
_lowercase: () => _lowercase,
_literal: () => _literal,
_length: () => _length,
_lazy: () => _lazy,
_ksuid: () => _ksuid,
_jwt: () => _jwt,
_isoTime: () => _isoTime,
_isoDuration: () => _isoDuration,
_isoDateTime: () => _isoDateTime,
_isoDate: () => _isoDate,
_ipv6: () => _ipv6,
_ipv4: () => _ipv4,
_intersection: () => _intersection,
_int64: () => _int64,
_int32: () => _int32,
_int: () => _int,
_includes: () => _includes,
_guid: () => _guid,
_gte: () => _gte,
_gt: () => _gt,
_float64: () => _float64,
_float32: () => _float32,
_file: () => _file,
_enum: () => _enum,
_endsWith: () => _endsWith,
_encodeAsync: () => _encodeAsync,
_encode: () => _encode,
_emoji: () => _emoji2,
_email: () => _email,
_e164: () => _e164,
_discriminatedUnion: () => _discriminatedUnion,
_default: () => _default,
_decodeAsync: () => _decodeAsync,
_decode: () => _decode,
_date: () => _date,
_custom: () => _custom,
_cuid2: () => _cuid2,
_cuid: () => _cuid,
_coercedString: () => _coercedString,
_coercedNumber: () => _coercedNumber,
_coercedDate: () => _coercedDate,
_coercedBoolean: () => _coercedBoolean,
_coercedBigint: () => _coercedBigint,
_cidrv6: () => _cidrv6,
_cidrv4: () => _cidrv4,
_check: () => _check,
_catch: () => _catch,
_boolean: () => _boolean,
_bigint: () => _bigint,
_base64url: () => _base64url,
_base64: () => _base64,
_array: () => _array,
_any: () => _any,
TimePrecision: () => TimePrecision,
NEVER: () => NEVER,
JSONSchemaGenerator: () => JSONSchemaGenerator,
JSONSchema: () => exports_json_schema,
Doc: () => Doc,
$output: () => $output,
$input: () => $input,
$constructor: () => $constructor,
$brand: () => $brand,
$ZodXor: () => $ZodXor,
$ZodXID: () => $ZodXID,
$ZodVoid: () => $ZodVoid,
$ZodUnknown: () => $ZodUnknown,
$ZodUnion: () => $ZodUnion,
$ZodUndefined: () => $ZodUndefined,
$ZodUUID: () => $ZodUUID,
$ZodURL: () => $ZodURL,
$ZodULID: () => $ZodULID,
$ZodType: () => $ZodType,
$ZodTuple: () => $ZodTuple,
$ZodTransform: () => $ZodTransform,
$ZodTemplateLiteral: () => $ZodTemplateLiteral,
$ZodSymbol: () => $ZodSymbol,
$ZodSuccess: () => $ZodSuccess,
$ZodStringFormat: () => $ZodStringFormat,
$ZodString: () => $ZodString,
$ZodSet: () => $ZodSet,
$ZodRegistry: () => $ZodRegistry,
$ZodRecord: () => $ZodRecord,
$ZodRealError: () => $ZodRealError,
$ZodReadonly: () => $ZodReadonly,
$ZodPromise: () => $ZodPromise,
$ZodPrefault: () => $ZodPrefault,
$ZodPipe: () => $ZodPipe,
$ZodOptional: () => $ZodOptional,
$ZodObjectJIT: () => $ZodObjectJIT,
$ZodObject: () => $ZodObject,
$ZodNumberFormat: () => $ZodNumberFormat,
$ZodNumber: () => $ZodNumber,
$ZodNullable: () => $ZodNullable,
$ZodNull: () => $ZodNull,
$ZodNonOptional: () => $ZodNonOptional,
$ZodNever: () => $ZodNever,
$ZodNanoID: () => $ZodNanoID,
$ZodNaN: () => $ZodNaN,
$ZodMap: () => $ZodMap,
$ZodMAC: () => $ZodMAC,
$ZodLiteral: () => $ZodLiteral,
$ZodLazy: () => $ZodLazy,
$ZodKSUID: () => $ZodKSUID,
$ZodJWT: () => $ZodJWT,
$ZodIntersection: () => $ZodIntersection,
$ZodISOTime: () => $ZodISOTime,
$ZodISODuration: () => $ZodISODuration,
$ZodISODateTime: () => $ZodISODateTime,
$ZodISODate: () => $ZodISODate,
$ZodIPv6: () => $ZodIPv6,
$ZodIPv4: () => $ZodIPv4,
$ZodGUID: () => $ZodGUID,
$ZodFunction: () => $ZodFunction,
$ZodFile: () => $ZodFile,
$ZodExactOptional: () => $ZodExactOptional,
$ZodError: () => $ZodError,
$ZodEnum: () => $ZodEnum,
$ZodEncodeError: () => $ZodEncodeError,
$ZodEmoji: () => $ZodEmoji,
$ZodEmail: () => $ZodEmail,
$ZodE164: () => $ZodE164,
$ZodDiscriminatedUnion: () => $ZodDiscriminatedUnion,
$ZodDefault: () => $ZodDefault,
$ZodDate: () => $ZodDate,
$ZodCustomStringFormat: () => $ZodCustomStringFormat,
$ZodCustom: () => $ZodCustom,
$ZodCodec: () => $ZodCodec,
$ZodCheckUpperCase: () => $ZodCheckUpperCase,
$ZodCheckStringFormat: () => $ZodCheckStringFormat,
$ZodCheckStartsWith: () => $ZodCheckStartsWith,
$ZodCheckSizeEquals: () => $ZodCheckSizeEquals,
$ZodCheckRegex: () => $ZodCheckRegex,
$ZodCheckProperty: () => $ZodCheckProperty,
$ZodCheckOverwrite: () => $ZodCheckOverwrite,
$ZodCheckNumberFormat: () => $ZodCheckNumberFormat,
$ZodCheckMultipleOf: () => $ZodCheckMultipleOf,
$ZodCheckMinSize: () => $ZodCheckMinSize,
$ZodCheckMinLength: () => $ZodCheckMinLength,
$ZodCheckMimeType: () => $ZodCheckMimeType,
$ZodCheckMaxSize: () => $ZodCheckMaxSize,
$ZodCheckMaxLength: () => $ZodCheckMaxLength,
$ZodCheckLowerCase: () => $ZodCheckLowerCase,
$ZodCheckLessThan: () => $ZodCheckLessThan,
$ZodCheckLengthEquals: () => $ZodCheckLengthEquals,
$ZodCheckIncludes: () => $ZodCheckIncludes,
$ZodCheckGreaterThan: () => $ZodCheckGreaterThan,
$ZodCheckEndsWith: () => $ZodCheckEndsWith,
$ZodCheckBigIntFormat: () => $ZodCheckBigIntFormat,
$ZodCheck: () => $ZodCheck,
$ZodCatch: () => $ZodCatch,
$ZodCUID2: () => $ZodCUID2,
$ZodCUID: () => $ZodCUID,
$ZodCIDRv6: () => $ZodCIDRv6,
$ZodCIDRv4: () => $ZodCIDRv4,
$ZodBoolean: () => $ZodBoolean,
$ZodBigIntFormat: () => $ZodBigIntFormat,
$ZodBigInt: () => $ZodBigInt,
$ZodBase64URL: () => $ZodBase64URL,
$ZodBase64: () => $ZodBase64,
$ZodAsyncError: () => $ZodAsyncError,
$ZodArray: () => $ZodArray,
$ZodAny: () => $ZodAny
});
var init_core4 = __esm(() => {
init_util2();
init_regexes();
init_locales();
init_json_schema_processors();
init_json_schema_generator();
init_json_schema();
init_core3();
init_parse2();
init_errors2();
init_schemas();
init_checks();
init_versions2();
init_registries();
init_api();
init_to_json_schema();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.js
var exports_checks2 = {};
__export(exports_checks2, {
uppercase: () => _uppercase,
trim: () => _trim,
toUpperCase: () => _toUpperCase,
toLowerCase: () => _toLowerCase,
startsWith: () => _startsWith,
slugify: () => _slugify,
size: () => _size,
regex: () => _regex,
property: () => _property,
positive: () => _positive,
overwrite: () => _overwrite,
normalize: () => _normalize,
nonpositive: () => _nonpositive,
nonnegative: () => _nonnegative,
negative: () => _negative,
multipleOf: () => _multipleOf,
minSize: () => _minSize,
minLength: () => _minLength,
mime: () => _mime,
maxSize: () => _maxSize,
maxLength: () => _maxLength,
lte: () => _lte,
lt: () => _lt,
lowercase: () => _lowercase,
length: () => _length,
includes: () => _includes,
gte: () => _gte,
gt: () => _gt,
endsWith: () => _endsWith
});
var init_checks2 = __esm(() => {
init_core4();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.js
var exports_iso = {};
__export(exports_iso, {
time: () => time2,
duration: () => duration2,
datetime: () => datetime2,
date: () => date2,
ZodISOTime: () => ZodISOTime,
ZodISODuration: () => ZodISODuration,
ZodISODateTime: () => ZodISODateTime,
ZodISODate: () => ZodISODate
});
function datetime2(params) {
return _isoDateTime(ZodISODateTime, params);
}
function date2(params) {
return _isoDate(ZodISODate, params);
}
function time2(params) {
return _isoTime(ZodISOTime, params);
}
function duration2(params) {
return _isoDuration(ZodISODuration, params);
}
var ZodISODateTime, ZodISODate, ZodISOTime, ZodISODuration;
var init_iso = __esm(() => {
init_core4();
init_schemas2();
ZodISODateTime = /* @__PURE__ */ $constructor("ZodISODateTime", (inst, def) => {
$ZodISODateTime.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodISODate = /* @__PURE__ */ $constructor("ZodISODate", (inst, def) => {
$ZodISODate.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodISOTime = /* @__PURE__ */ $constructor("ZodISOTime", (inst, def) => {
$ZodISOTime.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodISODuration = /* @__PURE__ */ $constructor("ZodISODuration", (inst, def) => {
$ZodISODuration.init(inst, def);
ZodStringFormat.init(inst, def);
});
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.js
var initializer2 = (inst, issues) => {
$ZodError.init(inst, issues);
inst.name = "ZodError";
Object.defineProperties(inst, {
format: {
value: (mapper) => formatError(inst, mapper)
},
flatten: {
value: (mapper) => flattenError(inst, mapper)
},
addIssue: {
value: (issue2) => {
inst.issues.push(issue2);
inst.message = JSON.stringify(inst.issues, jsonStringifyReplacer, 2);
}
},
addIssues: {
value: (issues2) => {
inst.issues.push(...issues2);
inst.message = JSON.stringify(inst.issues, jsonStringifyReplacer, 2);
}
},
isEmpty: {
get() {
return inst.issues.length === 0;
}
}
});
}, ZodError, ZodRealError;
var init_errors3 = __esm(() => {
init_core4();
init_core4();
init_util2();
ZodError = $constructor("ZodError", initializer2);
ZodRealError = $constructor("ZodError", initializer2, {
Parent: Error
});
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.js
var parse5, parseAsync2, safeParse2, safeParseAsync2, encode4, decode2, encodeAsync2, decodeAsync2, safeEncode2, safeDecode2, safeEncodeAsync2, safeDecodeAsync2;
var init_parse3 = __esm(() => {
init_core4();
init_errors3();
parse5 = /* @__PURE__ */ _parse(ZodRealError);
parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
encode4 = /* @__PURE__ */ _encode(ZodRealError);
decode2 = /* @__PURE__ */ _decode(ZodRealError);
encodeAsync2 = /* @__PURE__ */ _encodeAsync(ZodRealError);
decodeAsync2 = /* @__PURE__ */ _decodeAsync(ZodRealError);
safeEncode2 = /* @__PURE__ */ _safeEncode(ZodRealError);
safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js
var exports_schemas2 = {};
__export(exports_schemas2, {
xor: () => xor,
xid: () => xid2,
void: () => _void2,
uuidv7: () => uuidv7,
uuidv6: () => uuidv6,
uuidv4: () => uuidv4,
uuid: () => uuid2,
url: () => url2,
unknown: () => unknown,
union: () => union,
undefined: () => _undefined3,
ulid: () => ulid2,
uint64: () => uint64,
uint32: () => uint32,
tuple: () => tuple,
transform: () => transform,
templateLiteral: () => templateLiteral,
symbol: () => symbol,
superRefine: () => superRefine,
success: () => success,
stringbool: () => stringbool,
stringFormat: () => stringFormat,
string: () => string2,
strictObject: () => strictObject,
set: () => set,
refine: () => refine,
record: () => record,
readonly: () => readonly,
promise: () => promise,
preprocess: () => preprocess,
prefault: () => prefault,
pipe: () => pipe,
partialRecord: () => partialRecord,
optional: () => optional,
object: () => object,
number: () => number2,
nullish: () => nullish2,
nullable: () => nullable,
null: () => _null3,
nonoptional: () => nonoptional,
never: () => never,
nativeEnum: () => nativeEnum,
nanoid: () => nanoid2,
nan: () => nan,
meta: () => meta2,
map: () => map,
mac: () => mac2,
looseRecord: () => looseRecord,
looseObject: () => looseObject,
literal: () => literal,
lazy: () => lazy,
ksuid: () => ksuid2,
keyof: () => keyof,
jwt: () => jwt,
json: () => json,
ipv6: () => ipv62,
ipv4: () => ipv42,
intersection: () => intersection,
int64: () => int64,
int32: () => int32,
int: () => int,
instanceof: () => _instanceof,
httpUrl: () => httpUrl,
hostname: () => hostname2,
hex: () => hex2,
hash: () => hash2,
guid: () => guid2,
function: () => _function,
float64: () => float64,
float32: () => float32,
file: () => file,
exactOptional: () => exactOptional,
enum: () => _enum2,
emoji: () => emoji2,
email: () => email2,
e164: () => e1642,
discriminatedUnion: () => discriminatedUnion,
describe: () => describe2,
date: () => date3,
custom: () => custom,
cuid2: () => cuid22,
cuid: () => cuid3,
codec: () => codec,
cidrv6: () => cidrv62,
cidrv4: () => cidrv42,
check: () => check2,
catch: () => _catch2,
boolean: () => boolean2,
bigint: () => bigint2,
base64url: () => base64url2,
base64: () => base642,
array: () => array,
any: () => any,
_function: () => _function,
_default: () => _default2,
_ZodString: () => _ZodString,
ZodXor: () => ZodXor,
ZodXID: () => ZodXID,
ZodVoid: () => ZodVoid,
ZodUnknown: () => ZodUnknown,
ZodUnion: () => ZodUnion,
ZodUndefined: () => ZodUndefined,
ZodUUID: () => ZodUUID,
ZodURL: () => ZodURL,
ZodULID: () => ZodULID,
ZodType: () => ZodType,
ZodTuple: () => ZodTuple,
ZodTransform: () => ZodTransform,
ZodTemplateLiteral: () => ZodTemplateLiteral,
ZodSymbol: () => ZodSymbol,
ZodSuccess: () => ZodSuccess,
ZodStringFormat: () => ZodStringFormat,
ZodString: () => ZodString,
ZodSet: () => ZodSet,
ZodRecord: () => ZodRecord,
ZodReadonly: () => ZodReadonly,
ZodPromise: () => ZodPromise,
ZodPrefault: () => ZodPrefault,
ZodPipe: () => ZodPipe,
ZodOptional: () => ZodOptional,
ZodObject: () => ZodObject,
ZodNumberFormat: () => ZodNumberFormat,
ZodNumber: () => ZodNumber,
ZodNullable: () => ZodNullable,
ZodNull: () => ZodNull,
ZodNonOptional: () => ZodNonOptional,
ZodNever: () => ZodNever,
ZodNanoID: () => ZodNanoID,
ZodNaN: () => ZodNaN,
ZodMap: () => ZodMap,
ZodMAC: () => ZodMAC,
ZodLiteral: () => ZodLiteral,
ZodLazy: () => ZodLazy,
ZodKSUID: () => ZodKSUID,
ZodJWT: () => ZodJWT,
ZodIntersection: () => ZodIntersection,
ZodIPv6: () => ZodIPv6,
ZodIPv4: () => ZodIPv4,
ZodGUID: () => ZodGUID,
ZodFunction: () => ZodFunction,
ZodFile: () => ZodFile,
ZodExactOptional: () => ZodExactOptional,
ZodEnum: () => ZodEnum,
ZodEmoji: () => ZodEmoji,
ZodEmail: () => ZodEmail,
ZodE164: () => ZodE164,
ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
ZodDefault: () => ZodDefault,
ZodDate: () => ZodDate,
ZodCustomStringFormat: () => ZodCustomStringFormat,
ZodCustom: () => ZodCustom,
ZodCodec: () => ZodCodec,
ZodCatch: () => ZodCatch,
ZodCUID2: () => ZodCUID2,
ZodCUID: () => ZodCUID,
ZodCIDRv6: () => ZodCIDRv6,
ZodCIDRv4: () => ZodCIDRv4,
ZodBoolean: () => ZodBoolean,
ZodBigIntFormat: () => ZodBigIntFormat,
ZodBigInt: () => ZodBigInt,
ZodBase64URL: () => ZodBase64URL,
ZodBase64: () => ZodBase64,
ZodArray: () => ZodArray,
ZodAny: () => ZodAny
});
function string2(params) {
return _string(ZodString, params);
}
function email2(params) {
return _email(ZodEmail, params);
}
function guid2(params) {
return _guid(ZodGUID, params);
}
function uuid2(params) {
return _uuid(ZodUUID, params);
}
function uuidv4(params) {
return _uuidv4(ZodUUID, params);
}
function uuidv6(params) {
return _uuidv6(ZodUUID, params);
}
function uuidv7(params) {
return _uuidv7(ZodUUID, params);
}
function url2(params) {
return _url(ZodURL, params);
}
function httpUrl(params) {
return _url(ZodURL, {
protocol: /^https?$/,
hostname: exports_regexes.domain,
...exports_util.normalizeParams(params)
});
}
function emoji2(params) {
return _emoji2(ZodEmoji, params);
}
function nanoid2(params) {
return _nanoid(ZodNanoID, params);
}
function cuid3(params) {
return _cuid(ZodCUID, params);
}
function cuid22(params) {
return _cuid2(ZodCUID2, params);
}
function ulid2(params) {
return _ulid(ZodULID, params);
}
function xid2(params) {
return _xid(ZodXID, params);
}
function ksuid2(params) {
return _ksuid(ZodKSUID, params);
}
function ipv42(params) {
return _ipv4(ZodIPv4, params);
}
function mac2(params) {
return _mac(ZodMAC, params);
}
function ipv62(params) {
return _ipv6(ZodIPv6, params);
}
function cidrv42(params) {
return _cidrv4(ZodCIDRv4, params);
}
function cidrv62(params) {
return _cidrv6(ZodCIDRv6, params);
}
function base642(params) {
return _base64(ZodBase64, params);
}
function base64url2(params) {
return _base64url(ZodBase64URL, params);
}
function e1642(params) {
return _e164(ZodE164, params);
}
function jwt(params) {
return _jwt(ZodJWT, params);
}
function stringFormat(format3, fnOrRegex, _params = {}) {
return _stringFormat(ZodCustomStringFormat, format3, fnOrRegex, _params);
}
function hostname2(_params) {
return _stringFormat(ZodCustomStringFormat, "hostname", exports_regexes.hostname, _params);
}
function hex2(_params) {
return _stringFormat(ZodCustomStringFormat, "hex", exports_regexes.hex, _params);
}
function hash2(alg, params) {
const enc = params?.enc ?? "hex";
const format3 = `${alg}_${enc}`;
const regex2 = exports_regexes[format3];
if (!regex2)
throw new Error(`Unrecognized hash format: ${format3}`);
return _stringFormat(ZodCustomStringFormat, format3, regex2, params);
}
function number2(params) {
return _number(ZodNumber, params);
}
function int(params) {
return _int(ZodNumberFormat, params);
}
function float32(params) {
return _float32(ZodNumberFormat, params);
}
function float64(params) {
return _float64(ZodNumberFormat, params);
}
function int32(params) {
return _int32(ZodNumberFormat, params);
}
function uint32(params) {
return _uint32(ZodNumberFormat, params);
}
function boolean2(params) {
return _boolean(ZodBoolean, params);
}
function bigint2(params) {
return _bigint(ZodBigInt, params);
}
function int64(params) {
return _int64(ZodBigIntFormat, params);
}
function uint64(params) {
return _uint64(ZodBigIntFormat, params);
}
function symbol(params) {
return _symbol(ZodSymbol, params);
}
function _undefined3(params) {
return _undefined2(ZodUndefined, params);
}
function _null3(params) {
return _null2(ZodNull, params);
}
function any() {
return _any(ZodAny);
}
function unknown() {
return _unknown(ZodUnknown);
}
function never(params) {
return _never(ZodNever, params);
}
function _void2(params) {
return _void(ZodVoid, params);
}
function date3(params) {
return _date(ZodDate, params);
}
function array(element, params) {
return _array(ZodArray, element, params);
}
function keyof(schema) {
const shape = schema._zod.def.shape;
return _enum2(Object.keys(shape));
}
function object(shape, params) {
const def = {
type: "object",
shape: shape ?? {},
...exports_util.normalizeParams(params)
};
return new ZodObject(def);
}
function strictObject(shape, params) {
return new ZodObject({
type: "object",
shape,
catchall: never(),
...exports_util.normalizeParams(params)
});
}
function looseObject(shape, params) {
return new ZodObject({
type: "object",
shape,
catchall: unknown(),
...exports_util.normalizeParams(params)
});
}
function union(options, params) {
return new ZodUnion({
type: "union",
options,
...exports_util.normalizeParams(params)
});
}
function xor(options, params) {
return new ZodXor({
type: "union",
options,
inclusive: false,
...exports_util.normalizeParams(params)
});
}
function discriminatedUnion(discriminator, options, params) {
return new ZodDiscriminatedUnion({
type: "union",
options,
discriminator,
...exports_util.normalizeParams(params)
});
}
function intersection(left, right) {
return new ZodIntersection({
type: "intersection",
left,
right
});
}
function tuple(items, _paramsOrRest, _params) {
const hasRest = _paramsOrRest instanceof $ZodType;
const params = hasRest ? _params : _paramsOrRest;
const rest = hasRest ? _paramsOrRest : null;
return new ZodTuple({
type: "tuple",
items,
rest,
...exports_util.normalizeParams(params)
});
}
function record(keyType, valueType, params) {
return new ZodRecord({
type: "record",
keyType,
valueType,
...exports_util.normalizeParams(params)
});
}
function partialRecord(keyType, valueType, params) {
const k2 = clone2(keyType);
k2._zod.values = undefined;
return new ZodRecord({
type: "record",
keyType: k2,
valueType,
...exports_util.normalizeParams(params)
});
}
function looseRecord(keyType, valueType, params) {
return new ZodRecord({
type: "record",
keyType,
valueType,
mode: "loose",
...exports_util.normalizeParams(params)
});
}
function map(keyType, valueType, params) {
return new ZodMap({
type: "map",
keyType,
valueType,
...exports_util.normalizeParams(params)
});
}
function set(valueType, params) {
return new ZodSet({
type: "set",
valueType,
...exports_util.normalizeParams(params)
});
}
function _enum2(values, params) {
const entries = Array.isArray(values) ? Object.fromEntries(values.map((v2) => [v2, v2])) : values;
return new ZodEnum({
type: "enum",
entries,
...exports_util.normalizeParams(params)
});
}
function nativeEnum(entries, params) {
return new ZodEnum({
type: "enum",
entries,
...exports_util.normalizeParams(params)
});
}
function literal(value, params) {
return new ZodLiteral({
type: "literal",
values: Array.isArray(value) ? value : [value],
...exports_util.normalizeParams(params)
});
}
function file(params) {
return _file(ZodFile, params);
}
function transform(fn) {
return new ZodTransform({
type: "transform",
transform: fn
});
}
function optional(innerType) {
return new ZodOptional({
type: "optional",
innerType
});
}
function exactOptional(innerType) {
return new ZodExactOptional({
type: "optional",
innerType
});
}
function nullable(innerType) {
return new ZodNullable({
type: "nullable",
innerType
});
}
function nullish2(innerType) {
return optional(nullable(innerType));
}
function _default2(innerType, defaultValue) {
return new ZodDefault({
type: "default",
innerType,
get defaultValue() {
return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
}
});
}
function prefault(innerType, defaultValue) {
return new ZodPrefault({
type: "prefault",
innerType,
get defaultValue() {
return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
}
});
}
function nonoptional(innerType, params) {
return new ZodNonOptional({
type: "nonoptional",
innerType,
...exports_util.normalizeParams(params)
});
}
function success(innerType) {
return new ZodSuccess({
type: "success",
innerType
});
}
function _catch2(innerType, catchValue) {
return new ZodCatch({
type: "catch",
innerType,
catchValue: typeof catchValue === "function" ? catchValue : () => catchValue
});
}
function nan(params) {
return _nan(ZodNaN, params);
}
function pipe(in_, out) {
return new ZodPipe({
type: "pipe",
in: in_,
out
});
}
function codec(in_, out, params) {
return new ZodCodec({
type: "pipe",
in: in_,
out,
transform: params.decode,
reverseTransform: params.encode
});
}
function readonly(innerType) {
return new ZodReadonly({
type: "readonly",
innerType
});
}
function templateLiteral(parts, params) {
return new ZodTemplateLiteral({
type: "template_literal",
parts,
...exports_util.normalizeParams(params)
});
}
function lazy(getter) {
return new ZodLazy({
type: "lazy",
getter
});
}
function promise(innerType) {
return new ZodPromise({
type: "promise",
innerType
});
}
function _function(params) {
return new ZodFunction({
type: "function",
input: Array.isArray(params?.input) ? tuple(params?.input) : params?.input ?? array(unknown()),
output: params?.output ?? unknown()
});
}
function check2(fn) {
const ch = new $ZodCheck({
check: "custom"
});
ch._zod.check = fn;
return ch;
}
function custom(fn, _params) {
return _custom(ZodCustom, fn ?? (() => true), _params);
}
function refine(fn, _params = {}) {
return _refine(ZodCustom, fn, _params);
}
function superRefine(fn) {
return _superRefine(fn);
}
function _instanceof(cls, params = {}) {
const inst = new ZodCustom({
type: "custom",
check: "custom",
fn: (data) => data instanceof cls,
abort: true,
...exports_util.normalizeParams(params)
});
inst._zod.bag.Class = cls;
inst._zod.check = (payload) => {
if (!(payload.value instanceof cls)) {
payload.issues.push({
code: "invalid_type",
expected: cls.name,
input: payload.value,
inst,
path: [...inst._zod.def.path ?? []]
});
}
};
return inst;
}
function json(params) {
const jsonSchema = lazy(() => {
return union([string2(params), number2(), boolean2(), _null3(), array(jsonSchema), record(string2(), jsonSchema)]);
});
return jsonSchema;
}
function preprocess(fn, schema) {
return pipe(transform(fn), schema);
}
var ZodType, _ZodString, ZodString, ZodStringFormat, ZodEmail, ZodGUID, ZodUUID, ZodURL, ZodEmoji, ZodNanoID, ZodCUID, ZodCUID2, ZodULID, ZodXID, ZodKSUID, ZodIPv4, ZodMAC, ZodIPv6, ZodCIDRv4, ZodCIDRv6, ZodBase64, ZodBase64URL, ZodE164, ZodJWT, ZodCustomStringFormat, ZodNumber, ZodNumberFormat, ZodBoolean, ZodBigInt, ZodBigIntFormat, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodDate, ZodArray, ZodObject, ZodUnion, ZodXor, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodEnum, ZodLiteral, ZodFile, ZodTransform, ZodOptional, ZodExactOptional, ZodNullable, ZodDefault, ZodPrefault, ZodNonOptional, ZodSuccess, ZodCatch, ZodNaN, ZodPipe, ZodCodec, ZodReadonly, ZodTemplateLiteral, ZodLazy, ZodPromise, ZodFunction, ZodCustom, describe2, meta2, stringbool = (...args) => _stringbool({
Codec: ZodCodec,
Boolean: ZodBoolean,
String: ZodString
}, ...args);
var init_schemas2 = __esm(() => {
init_core4();
init_core4();
init_json_schema_processors();
init_to_json_schema();
init_checks2();
init_iso();
init_parse3();
ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
$ZodType.init(inst, def);
Object.assign(inst["~standard"], {
jsonSchema: {
input: createStandardJSONSchemaMethod(inst, "input"),
output: createStandardJSONSchemaMethod(inst, "output")
}
});
inst.toJSONSchema = createToJSONSchemaMethod(inst, {});
inst.def = def;
inst.type = def.type;
Object.defineProperty(inst, "_def", { value: def });
inst.check = (...checks2) => {
return inst.clone(exports_util.mergeDefs(def, {
checks: [
...def.checks ?? [],
...checks2.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
]
}), {
parent: true
});
};
inst.with = inst.check;
inst.clone = (def2, params) => clone2(inst, def2, params);
inst.brand = () => inst;
inst.register = (reg, meta2) => {
reg.add(inst, meta2);
return inst;
};
inst.parse = (data, params) => parse5(inst, data, params, { callee: inst.parse });
inst.safeParse = (data, params) => safeParse2(inst, data, params);
inst.parseAsync = async (data, params) => parseAsync2(inst, data, params, { callee: inst.parseAsync });
inst.safeParseAsync = async (data, params) => safeParseAsync2(inst, data, params);
inst.spa = inst.safeParseAsync;
inst.encode = (data, params) => encode4(inst, data, params);
inst.decode = (data, params) => decode2(inst, data, params);
inst.encodeAsync = async (data, params) => encodeAsync2(inst, data, params);
inst.decodeAsync = async (data, params) => decodeAsync2(inst, data, params);
inst.safeEncode = (data, params) => safeEncode2(inst, data, params);
inst.safeDecode = (data, params) => safeDecode2(inst, data, params);
inst.safeEncodeAsync = async (data, params) => safeEncodeAsync2(inst, data, params);
inst.safeDecodeAsync = async (data, params) => safeDecodeAsync2(inst, data, params);
inst.refine = (check2, params) => inst.check(refine(check2, params));
inst.superRefine = (refinement) => inst.check(superRefine(refinement));
inst.overwrite = (fn) => inst.check(_overwrite(fn));
inst.optional = () => optional(inst);
inst.exactOptional = () => exactOptional(inst);
inst.nullable = () => nullable(inst);
inst.nullish = () => optional(nullable(inst));
inst.nonoptional = (params) => nonoptional(inst, params);
inst.array = () => array(inst);
inst.or = (arg) => union([inst, arg]);
inst.and = (arg) => intersection(inst, arg);
inst.transform = (tx) => pipe(inst, transform(tx));
inst.default = (def2) => _default2(inst, def2);
inst.prefault = (def2) => prefault(inst, def2);
inst.catch = (params) => _catch2(inst, params);
inst.pipe = (target) => pipe(inst, target);
inst.readonly = () => readonly(inst);
inst.describe = (description) => {
const cl = inst.clone();
globalRegistry.add(cl, { description });
return cl;
};
Object.defineProperty(inst, "description", {
get() {
return globalRegistry.get(inst)?.description;
},
configurable: true
});
inst.meta = (...args) => {
if (args.length === 0) {
return globalRegistry.get(inst);
}
const cl = inst.clone();
globalRegistry.add(cl, args[0]);
return cl;
};
inst.isOptional = () => inst.safeParse(undefined).success;
inst.isNullable = () => inst.safeParse(null).success;
inst.apply = (fn) => fn(inst);
return inst;
});
_ZodString = /* @__PURE__ */ $constructor("_ZodString", (inst, def) => {
$ZodString.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => stringProcessor(inst, ctx, json, params);
const bag = inst._zod.bag;
inst.format = bag.format ?? null;
inst.minLength = bag.minimum ?? null;
inst.maxLength = bag.maximum ?? null;
inst.regex = (...args) => inst.check(_regex(...args));
inst.includes = (...args) => inst.check(_includes(...args));
inst.startsWith = (...args) => inst.check(_startsWith(...args));
inst.endsWith = (...args) => inst.check(_endsWith(...args));
inst.min = (...args) => inst.check(_minLength(...args));
inst.max = (...args) => inst.check(_maxLength(...args));
inst.length = (...args) => inst.check(_length(...args));
inst.nonempty = (...args) => inst.check(_minLength(1, ...args));
inst.lowercase = (params) => inst.check(_lowercase(params));
inst.uppercase = (params) => inst.check(_uppercase(params));
inst.trim = () => inst.check(_trim());
inst.normalize = (...args) => inst.check(_normalize(...args));
inst.toLowerCase = () => inst.check(_toLowerCase());
inst.toUpperCase = () => inst.check(_toUpperCase());
inst.slugify = () => inst.check(_slugify());
});
ZodString = /* @__PURE__ */ $constructor("ZodString", (inst, def) => {
$ZodString.init(inst, def);
_ZodString.init(inst, def);
inst.email = (params) => inst.check(_email(ZodEmail, params));
inst.url = (params) => inst.check(_url(ZodURL, params));
inst.jwt = (params) => inst.check(_jwt(ZodJWT, params));
inst.emoji = (params) => inst.check(_emoji2(ZodEmoji, params));
inst.guid = (params) => inst.check(_guid(ZodGUID, params));
inst.uuid = (params) => inst.check(_uuid(ZodUUID, params));
inst.uuidv4 = (params) => inst.check(_uuidv4(ZodUUID, params));
inst.uuidv6 = (params) => inst.check(_uuidv6(ZodUUID, params));
inst.uuidv7 = (params) => inst.check(_uuidv7(ZodUUID, params));
inst.nanoid = (params) => inst.check(_nanoid(ZodNanoID, params));
inst.guid = (params) => inst.check(_guid(ZodGUID, params));
inst.cuid = (params) => inst.check(_cuid(ZodCUID, params));
inst.cuid2 = (params) => inst.check(_cuid2(ZodCUID2, params));
inst.ulid = (params) => inst.check(_ulid(ZodULID, params));
inst.base64 = (params) => inst.check(_base64(ZodBase64, params));
inst.base64url = (params) => inst.check(_base64url(ZodBase64URL, params));
inst.xid = (params) => inst.check(_xid(ZodXID, params));
inst.ksuid = (params) => inst.check(_ksuid(ZodKSUID, params));
inst.ipv4 = (params) => inst.check(_ipv4(ZodIPv4, params));
inst.ipv6 = (params) => inst.check(_ipv6(ZodIPv6, params));
inst.cidrv4 = (params) => inst.check(_cidrv4(ZodCIDRv4, params));
inst.cidrv6 = (params) => inst.check(_cidrv6(ZodCIDRv6, params));
inst.e164 = (params) => inst.check(_e164(ZodE164, params));
inst.datetime = (params) => inst.check(datetime2(params));
inst.date = (params) => inst.check(date2(params));
inst.time = (params) => inst.check(time2(params));
inst.duration = (params) => inst.check(duration2(params));
});
ZodStringFormat = /* @__PURE__ */ $constructor("ZodStringFormat", (inst, def) => {
$ZodStringFormat.init(inst, def);
_ZodString.init(inst, def);
});
ZodEmail = /* @__PURE__ */ $constructor("ZodEmail", (inst, def) => {
$ZodEmail.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodGUID = /* @__PURE__ */ $constructor("ZodGUID", (inst, def) => {
$ZodGUID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodUUID = /* @__PURE__ */ $constructor("ZodUUID", (inst, def) => {
$ZodUUID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodURL = /* @__PURE__ */ $constructor("ZodURL", (inst, def) => {
$ZodURL.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => {
$ZodEmoji.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodNanoID = /* @__PURE__ */ $constructor("ZodNanoID", (inst, def) => {
$ZodNanoID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodCUID = /* @__PURE__ */ $constructor("ZodCUID", (inst, def) => {
$ZodCUID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodCUID2 = /* @__PURE__ */ $constructor("ZodCUID2", (inst, def) => {
$ZodCUID2.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodULID = /* @__PURE__ */ $constructor("ZodULID", (inst, def) => {
$ZodULID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodXID = /* @__PURE__ */ $constructor("ZodXID", (inst, def) => {
$ZodXID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodKSUID = /* @__PURE__ */ $constructor("ZodKSUID", (inst, def) => {
$ZodKSUID.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodIPv4 = /* @__PURE__ */ $constructor("ZodIPv4", (inst, def) => {
$ZodIPv4.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodMAC = /* @__PURE__ */ $constructor("ZodMAC", (inst, def) => {
$ZodMAC.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodIPv6 = /* @__PURE__ */ $constructor("ZodIPv6", (inst, def) => {
$ZodIPv6.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodCIDRv4 = /* @__PURE__ */ $constructor("ZodCIDRv4", (inst, def) => {
$ZodCIDRv4.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodCIDRv6 = /* @__PURE__ */ $constructor("ZodCIDRv6", (inst, def) => {
$ZodCIDRv6.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodBase64 = /* @__PURE__ */ $constructor("ZodBase64", (inst, def) => {
$ZodBase64.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodBase64URL = /* @__PURE__ */ $constructor("ZodBase64URL", (inst, def) => {
$ZodBase64URL.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodE164 = /* @__PURE__ */ $constructor("ZodE164", (inst, def) => {
$ZodE164.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodJWT = /* @__PURE__ */ $constructor("ZodJWT", (inst, def) => {
$ZodJWT.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat", (inst, def) => {
$ZodCustomStringFormat.init(inst, def);
ZodStringFormat.init(inst, def);
});
ZodNumber = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => {
$ZodNumber.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => numberProcessor(inst, ctx, json, params);
inst.gt = (value, params) => inst.check(_gt(value, params));
inst.gte = (value, params) => inst.check(_gte(value, params));
inst.min = (value, params) => inst.check(_gte(value, params));
inst.lt = (value, params) => inst.check(_lt(value, params));
inst.lte = (value, params) => inst.check(_lte(value, params));
inst.max = (value, params) => inst.check(_lte(value, params));
inst.int = (params) => inst.check(int(params));
inst.safe = (params) => inst.check(int(params));
inst.positive = (params) => inst.check(_gt(0, params));
inst.nonnegative = (params) => inst.check(_gte(0, params));
inst.negative = (params) => inst.check(_lt(0, params));
inst.nonpositive = (params) => inst.check(_lte(0, params));
inst.multipleOf = (value, params) => inst.check(_multipleOf(value, params));
inst.step = (value, params) => inst.check(_multipleOf(value, params));
inst.finite = () => inst;
const bag = inst._zod.bag;
inst.minValue = Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;
inst.maxValue = Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;
inst.isInt = (bag.format ?? "").includes("int") || Number.isSafeInteger(bag.multipleOf ?? 0.5);
inst.isFinite = true;
inst.format = bag.format ?? null;
});
ZodNumberFormat = /* @__PURE__ */ $constructor("ZodNumberFormat", (inst, def) => {
$ZodNumberFormat.init(inst, def);
ZodNumber.init(inst, def);
});
ZodBoolean = /* @__PURE__ */ $constructor("ZodBoolean", (inst, def) => {
$ZodBoolean.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => booleanProcessor(inst, ctx, json, params);
});
ZodBigInt = /* @__PURE__ */ $constructor("ZodBigInt", (inst, def) => {
$ZodBigInt.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => bigintProcessor(inst, ctx, json, params);
inst.gte = (value, params) => inst.check(_gte(value, params));
inst.min = (value, params) => inst.check(_gte(value, params));
inst.gt = (value, params) => inst.check(_gt(value, params));
inst.gte = (value, params) => inst.check(_gte(value, params));
inst.min = (value, params) => inst.check(_gte(value, params));
inst.lt = (value, params) => inst.check(_lt(value, params));
inst.lte = (value, params) => inst.check(_lte(value, params));
inst.max = (value, params) => inst.check(_lte(value, params));
inst.positive = (params) => inst.check(_gt(BigInt(0), params));
inst.negative = (params) => inst.check(_lt(BigInt(0), params));
inst.nonpositive = (params) => inst.check(_lte(BigInt(0), params));
inst.nonnegative = (params) => inst.check(_gte(BigInt(0), params));
inst.multipleOf = (value, params) => inst.check(_multipleOf(value, params));
const bag = inst._zod.bag;
inst.minValue = bag.minimum ?? null;
inst.maxValue = bag.maximum ?? null;
inst.format = bag.format ?? null;
});
ZodBigIntFormat = /* @__PURE__ */ $constructor("ZodBigIntFormat", (inst, def) => {
$ZodBigIntFormat.init(inst, def);
ZodBigInt.init(inst, def);
});
ZodSymbol = /* @__PURE__ */ $constructor("ZodSymbol", (inst, def) => {
$ZodSymbol.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => symbolProcessor(inst, ctx, json, params);
});
ZodUndefined = /* @__PURE__ */ $constructor("ZodUndefined", (inst, def) => {
$ZodUndefined.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => undefinedProcessor(inst, ctx, json, params);
});
ZodNull = /* @__PURE__ */ $constructor("ZodNull", (inst, def) => {
$ZodNull.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => nullProcessor(inst, ctx, json, params);
});
ZodAny = /* @__PURE__ */ $constructor("ZodAny", (inst, def) => {
$ZodAny.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => anyProcessor(inst, ctx, json, params);
});
ZodUnknown = /* @__PURE__ */ $constructor("ZodUnknown", (inst, def) => {
$ZodUnknown.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => unknownProcessor(inst, ctx, json, params);
});
ZodNever = /* @__PURE__ */ $constructor("ZodNever", (inst, def) => {
$ZodNever.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => neverProcessor(inst, ctx, json, params);
});
ZodVoid = /* @__PURE__ */ $constructor("ZodVoid", (inst, def) => {
$ZodVoid.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => voidProcessor(inst, ctx, json, params);
});
ZodDate = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => {
$ZodDate.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => dateProcessor(inst, ctx, json, params);
inst.min = (value, params) => inst.check(_gte(value, params));
inst.max = (value, params) => inst.check(_lte(value, params));
const c5 = inst._zod.bag;
inst.minDate = c5.minimum ? new Date(c5.minimum) : null;
inst.maxDate = c5.maximum ? new Date(c5.maximum) : null;
});
ZodArray = /* @__PURE__ */ $constructor("ZodArray", (inst, def) => {
$ZodArray.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => arrayProcessor(inst, ctx, json, params);
inst.element = def.element;
inst.min = (minLength, params) => inst.check(_minLength(minLength, params));
inst.nonempty = (params) => inst.check(_minLength(1, params));
inst.max = (maxLength, params) => inst.check(_maxLength(maxLength, params));
inst.length = (len, params) => inst.check(_length(len, params));
inst.unwrap = () => inst.element;
});
ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
$ZodObjectJIT.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => objectProcessor(inst, ctx, json, params);
exports_util.defineLazy(inst, "shape", () => {
return def.shape;
});
inst.keyof = () => _enum2(Object.keys(inst._zod.def.shape));
inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall });
inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
inst.extend = (incoming) => {
return exports_util.extend(inst, incoming);
};
inst.safeExtend = (incoming) => {
return exports_util.safeExtend(inst, incoming);
};
inst.merge = (other) => exports_util.merge(inst, other);
inst.pick = (mask) => exports_util.pick(inst, mask);
inst.omit = (mask) => exports_util.omit(inst, mask);
inst.partial = (...args) => exports_util.partial(ZodOptional, inst, args[0]);
inst.required = (...args) => exports_util.required(ZodNonOptional, inst, args[0]);
});
ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => {
$ZodUnion.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => unionProcessor(inst, ctx, json, params);
inst.options = def.options;
});
ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => {
ZodUnion.init(inst, def);
$ZodXor.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => unionProcessor(inst, ctx, json, params);
inst.options = def.options;
});
ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => {
ZodUnion.init(inst, def);
$ZodDiscriminatedUnion.init(inst, def);
});
ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => {
$ZodIntersection.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => intersectionProcessor(inst, ctx, json, params);
});
ZodTuple = /* @__PURE__ */ $constructor("ZodTuple", (inst, def) => {
$ZodTuple.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => tupleProcessor(inst, ctx, json, params);
inst.rest = (rest) => inst.clone({
...inst._zod.def,
rest
});
});
ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => {
$ZodRecord.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => recordProcessor(inst, ctx, json, params);
inst.keyType = def.keyType;
inst.valueType = def.valueType;
});
ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => {
$ZodMap.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => mapProcessor(inst, ctx, json, params);
inst.keyType = def.keyType;
inst.valueType = def.valueType;
inst.min = (...args) => inst.check(_minSize(...args));
inst.nonempty = (params) => inst.check(_minSize(1, params));
inst.max = (...args) => inst.check(_maxSize(...args));
inst.size = (...args) => inst.check(_size(...args));
});
ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => {
$ZodSet.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => setProcessor(inst, ctx, json, params);
inst.min = (...args) => inst.check(_minSize(...args));
inst.nonempty = (params) => inst.check(_minSize(1, params));
inst.max = (...args) => inst.check(_maxSize(...args));
inst.size = (...args) => inst.check(_size(...args));
});
ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
$ZodEnum.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => enumProcessor(inst, ctx, json, params);
inst.enum = def.entries;
inst.options = Object.values(def.entries);
const keys2 = new Set(Object.keys(def.entries));
inst.extract = (values, params) => {
const newEntries = {};
for (const value of values) {
if (keys2.has(value)) {
newEntries[value] = def.entries[value];
} else
throw new Error(`Key ${value} not found in enum`);
}
return new ZodEnum({
...def,
checks: [],
...exports_util.normalizeParams(params),
entries: newEntries
});
};
inst.exclude = (values, params) => {
const newEntries = { ...def.entries };
for (const value of values) {
if (keys2.has(value)) {
delete newEntries[value];
} else
throw new Error(`Key ${value} not found in enum`);
}
return new ZodEnum({
...def,
checks: [],
...exports_util.normalizeParams(params),
entries: newEntries
});
};
});
ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => {
$ZodLiteral.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => literalProcessor(inst, ctx, json, params);
inst.values = new Set(def.values);
Object.defineProperty(inst, "value", {
get() {
if (def.values.length > 1) {
throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
}
return def.values[0];
}
});
});
ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
$ZodFile.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => fileProcessor(inst, ctx, json, params);
inst.min = (size, params) => inst.check(_minSize(size, params));
inst.max = (size, params) => inst.check(_maxSize(size, params));
inst.mime = (types, params) => inst.check(_mime(Array.isArray(types) ? types : [types], params));
});
ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
$ZodTransform.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => transformProcessor(inst, ctx, json, params);
inst._zod.parse = (payload, _ctx) => {
if (_ctx.direction === "backward") {
throw new $ZodEncodeError(inst.constructor.name);
}
payload.addIssue = (issue2) => {
if (typeof issue2 === "string") {
payload.issues.push(exports_util.issue(issue2, payload.value, def));
} else {
const _issue = issue2;
if (_issue.fatal)
_issue.continue = false;
_issue.code ?? (_issue.code = "custom");
_issue.input ?? (_issue.input = payload.value);
_issue.inst ?? (_issue.inst = inst);
payload.issues.push(exports_util.issue(_issue));
}
};
const output = def.transform(payload.value, payload);
if (output instanceof Promise) {
return output.then((output2) => {
payload.value = output2;
return payload;
});
}
payload.value = output;
return payload;
};
});
ZodOptional = /* @__PURE__ */ $constructor("ZodOptional", (inst, def) => {
$ZodOptional.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodExactOptional = /* @__PURE__ */ $constructor("ZodExactOptional", (inst, def) => {
$ZodExactOptional.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodNullable = /* @__PURE__ */ $constructor("ZodNullable", (inst, def) => {
$ZodNullable.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => nullableProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodDefault = /* @__PURE__ */ $constructor("ZodDefault", (inst, def) => {
$ZodDefault.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => defaultProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
inst.removeDefault = inst.unwrap;
});
ZodPrefault = /* @__PURE__ */ $constructor("ZodPrefault", (inst, def) => {
$ZodPrefault.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => prefaultProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodNonOptional = /* @__PURE__ */ $constructor("ZodNonOptional", (inst, def) => {
$ZodNonOptional.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => nonoptionalProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => {
$ZodSuccess.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => successProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodCatch = /* @__PURE__ */ $constructor("ZodCatch", (inst, def) => {
$ZodCatch.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => catchProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
inst.removeCatch = inst.unwrap;
});
ZodNaN = /* @__PURE__ */ $constructor("ZodNaN", (inst, def) => {
$ZodNaN.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => nanProcessor(inst, ctx, json, params);
});
ZodPipe = /* @__PURE__ */ $constructor("ZodPipe", (inst, def) => {
$ZodPipe.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => pipeProcessor(inst, ctx, json, params);
inst.in = def.in;
inst.out = def.out;
});
ZodCodec = /* @__PURE__ */ $constructor("ZodCodec", (inst, def) => {
ZodPipe.init(inst, def);
$ZodCodec.init(inst, def);
});
ZodReadonly = /* @__PURE__ */ $constructor("ZodReadonly", (inst, def) => {
$ZodReadonly.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => readonlyProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodTemplateLiteral = /* @__PURE__ */ $constructor("ZodTemplateLiteral", (inst, def) => {
$ZodTemplateLiteral.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => templateLiteralProcessor(inst, ctx, json, params);
});
ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => {
$ZodLazy.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => lazyProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.getter();
});
ZodPromise = /* @__PURE__ */ $constructor("ZodPromise", (inst, def) => {
$ZodPromise.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => promiseProcessor(inst, ctx, json, params);
inst.unwrap = () => inst._zod.def.innerType;
});
ZodFunction = /* @__PURE__ */ $constructor("ZodFunction", (inst, def) => {
$ZodFunction.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => functionProcessor(inst, ctx, json, params);
});
ZodCustom = /* @__PURE__ */ $constructor("ZodCustom", (inst, def) => {
$ZodCustom.init(inst, def);
ZodType.init(inst, def);
inst._zod.processJSONSchema = (ctx, json, params) => customProcessor(inst, ctx, json, params);
});
describe2 = describe;
meta2 = meta;
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.js
function setErrorMap(map2) {
config({
customError: map2
});
}
function getErrorMap() {
return config().customError;
}
var ZodIssueCode, ZodFirstPartyTypeKind;
var init_compat = __esm(() => {
init_core4();
ZodIssueCode = {
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"
};
(function(ZodFirstPartyTypeKind2) {})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js
function detectVersion(schema, defaultTarget) {
const $schema = schema.$schema;
if ($schema === "https://json-schema.org/draft/2020-12/schema") {
return "draft-2020-12";
}
if ($schema === "http://json-schema.org/draft-07/schema#") {
return "draft-7";
}
if ($schema === "http://json-schema.org/draft-04/schema#") {
return "draft-4";
}
return defaultTarget ?? "draft-2020-12";
}
function resolveRef2(ref, ctx) {
if (!ref.startsWith("#")) {
throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
}
const path9 = ref.slice(1).split("/").filter(Boolean);
if (path9.length === 0) {
return ctx.rootSchema;
}
const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
if (path9[0] === defsKey) {
const key = path9[1];
if (!key || !ctx.defs[key]) {
throw new Error(`Reference not found: ${ref}`);
}
return ctx.defs[key];
}
throw new Error(`Reference not found: ${ref}`);
}
function convertBaseSchema(schema, ctx) {
if (schema.not !== undefined) {
if (typeof schema.not === "object" && Object.keys(schema.not).length === 0) {
return z3.never();
}
throw new Error("not is not supported in Zod (except { not: {} } for never)");
}
if (schema.unevaluatedItems !== undefined) {
throw new Error("unevaluatedItems is not supported");
}
if (schema.unevaluatedProperties !== undefined) {
throw new Error("unevaluatedProperties is not supported");
}
if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {
throw new Error("Conditional schemas (if/then/else) are not supported");
}
if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {
throw new Error("dependentSchemas and dependentRequired are not supported");
}
if (schema.$ref) {
const refPath = schema.$ref;
if (ctx.refs.has(refPath)) {
return ctx.refs.get(refPath);
}
if (ctx.processing.has(refPath)) {
return z3.lazy(() => {
if (!ctx.refs.has(refPath)) {
throw new Error(`Circular reference not resolved: ${refPath}`);
}
return ctx.refs.get(refPath);
});
}
ctx.processing.add(refPath);
const resolved = resolveRef2(refPath, ctx);
const zodSchema2 = convertSchema(resolved, ctx);
ctx.refs.set(refPath, zodSchema2);
ctx.processing.delete(refPath);
return zodSchema2;
}
if (schema.enum !== undefined) {
const enumValues = schema.enum;
if (ctx.version === "openapi-3.0" && schema.nullable === true && enumValues.length === 1 && enumValues[0] === null) {
return z3.null();
}
if (enumValues.length === 0) {
return z3.never();
}
if (enumValues.length === 1) {
return z3.literal(enumValues[0]);
}
if (enumValues.every((v2) => typeof v2 === "string")) {
return z3.enum(enumValues);
}
const literalSchemas = enumValues.map((v2) => z3.literal(v2));
if (literalSchemas.length < 2) {
return literalSchemas[0];
}
return z3.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);
}
if (schema.const !== undefined) {
return z3.literal(schema.const);
}
const type = schema.type;
if (Array.isArray(type)) {
const typeSchemas = type.map((t) => {
const typeSchema = { ...schema, type: t };
return convertBaseSchema(typeSchema, ctx);
});
if (typeSchemas.length === 0) {
return z3.never();
}
if (typeSchemas.length === 1) {
return typeSchemas[0];
}
return z3.union(typeSchemas);
}
if (!type) {
return z3.any();
}
let zodSchema;
switch (type) {
case "string": {
let stringSchema = z3.string();
if (schema.format) {
const format3 = schema.format;
if (format3 === "email") {
stringSchema = stringSchema.check(z3.email());
} else if (format3 === "uri" || format3 === "uri-reference") {
stringSchema = stringSchema.check(z3.url());
} else if (format3 === "uuid" || format3 === "guid") {
stringSchema = stringSchema.check(z3.uuid());
} else if (format3 === "date-time") {
stringSchema = stringSchema.check(z3.iso.datetime());
} else if (format3 === "date") {
stringSchema = stringSchema.check(z3.iso.date());
} else if (format3 === "time") {
stringSchema = stringSchema.check(z3.iso.time());
} else if (format3 === "duration") {
stringSchema = stringSchema.check(z3.iso.duration());
} else if (format3 === "ipv4") {
stringSchema = stringSchema.check(z3.ipv4());
} else if (format3 === "ipv6") {
stringSchema = stringSchema.check(z3.ipv6());
} else if (format3 === "mac") {
stringSchema = stringSchema.check(z3.mac());
} else if (format3 === "cidr") {
stringSchema = stringSchema.check(z3.cidrv4());
} else if (format3 === "cidr-v6") {
stringSchema = stringSchema.check(z3.cidrv6());
} else if (format3 === "base64") {
stringSchema = stringSchema.check(z3.base64());
} else if (format3 === "base64url") {
stringSchema = stringSchema.check(z3.base64url());
} else if (format3 === "e164") {
stringSchema = stringSchema.check(z3.e164());
} else if (format3 === "jwt") {
stringSchema = stringSchema.check(z3.jwt());
} else if (format3 === "emoji") {
stringSchema = stringSchema.check(z3.emoji());
} else if (format3 === "nanoid") {
stringSchema = stringSchema.check(z3.nanoid());
} else if (format3 === "cuid") {
stringSchema = stringSchema.check(z3.cuid());
} else if (format3 === "cuid2") {
stringSchema = stringSchema.check(z3.cuid2());
} else if (format3 === "ulid") {
stringSchema = stringSchema.check(z3.ulid());
} else if (format3 === "xid") {
stringSchema = stringSchema.check(z3.xid());
} else if (format3 === "ksuid") {
stringSchema = stringSchema.check(z3.ksuid());
}
}
if (typeof schema.minLength === "number") {
stringSchema = stringSchema.min(schema.minLength);
}
if (typeof schema.maxLength === "number") {
stringSchema = stringSchema.max(schema.maxLength);
}
if (schema.pattern) {
stringSchema = stringSchema.regex(new RegExp(schema.pattern));
}
zodSchema = stringSchema;
break;
}
case "number":
case "integer": {
let numberSchema = type === "integer" ? z3.number().int() : z3.number();
if (typeof schema.minimum === "number") {
numberSchema = numberSchema.min(schema.minimum);
}
if (typeof schema.maximum === "number") {
numberSchema = numberSchema.max(schema.maximum);
}
if (typeof schema.exclusiveMinimum === "number") {
numberSchema = numberSchema.gt(schema.exclusiveMinimum);
} else if (schema.exclusiveMinimum === true && typeof schema.minimum === "number") {
numberSchema = numberSchema.gt(schema.minimum);
}
if (typeof schema.exclusiveMaximum === "number") {
numberSchema = numberSchema.lt(schema.exclusiveMaximum);
} else if (schema.exclusiveMaximum === true && typeof schema.maximum === "number") {
numberSchema = numberSchema.lt(schema.maximum);
}
if (typeof schema.multipleOf === "number") {
numberSchema = numberSchema.multipleOf(schema.multipleOf);
}
zodSchema = numberSchema;
break;
}
case "boolean": {
zodSchema = z3.boolean();
break;
}
case "null": {
zodSchema = z3.null();
break;
}
case "object": {
const shape = {};
const properties = schema.properties || {};
const requiredSet = new Set(schema.required || []);
for (const [key, propSchema] of Object.entries(properties)) {
const propZodSchema = convertSchema(propSchema, ctx);
shape[key] = requiredSet.has(key) ? propZodSchema : propZodSchema.optional();
}
if (schema.propertyNames) {
const keySchema = convertSchema(schema.propertyNames, ctx);
const valueSchema = schema.additionalProperties && typeof schema.additionalProperties === "object" ? convertSchema(schema.additionalProperties, ctx) : z3.any();
if (Object.keys(shape).length === 0) {
zodSchema = z3.record(keySchema, valueSchema);
break;
}
const objectSchema2 = z3.object(shape).passthrough();
const recordSchema = z3.looseRecord(keySchema, valueSchema);
zodSchema = z3.intersection(objectSchema2, recordSchema);
break;
}
if (schema.patternProperties) {
const patternProps = schema.patternProperties;
const patternKeys = Object.keys(patternProps);
const looseRecords = [];
for (const pattern of patternKeys) {
const patternValue = convertSchema(patternProps[pattern], ctx);
const keySchema = z3.string().regex(new RegExp(pattern));
looseRecords.push(z3.looseRecord(keySchema, patternValue));
}
const schemasToIntersect = [];
if (Object.keys(shape).length > 0) {
schemasToIntersect.push(z3.object(shape).passthrough());
}
schemasToIntersect.push(...looseRecords);
if (schemasToIntersect.length === 0) {
zodSchema = z3.object({}).passthrough();
} else if (schemasToIntersect.length === 1) {
zodSchema = schemasToIntersect[0];
} else {
let result = z3.intersection(schemasToIntersect[0], schemasToIntersect[1]);
for (let i2 = 2;i2 < schemasToIntersect.length; i2++) {
result = z3.intersection(result, schemasToIntersect[i2]);
}
zodSchema = result;
}
break;
}
const objectSchema = z3.object(shape);
if (schema.additionalProperties === false) {
zodSchema = objectSchema.strict();
} else if (typeof schema.additionalProperties === "object") {
zodSchema = objectSchema.catchall(convertSchema(schema.additionalProperties, ctx));
} else {
zodSchema = objectSchema.passthrough();
}
break;
}
case "array": {
const prefixItems = schema.prefixItems;
const items = schema.items;
if (prefixItems && Array.isArray(prefixItems)) {
const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));
const rest = items && typeof items === "object" && !Array.isArray(items) ? convertSchema(items, ctx) : undefined;
if (rest) {
zodSchema = z3.tuple(tupleItems).rest(rest);
} else {
zodSchema = z3.tuple(tupleItems);
}
if (typeof schema.minItems === "number") {
zodSchema = zodSchema.check(z3.minLength(schema.minItems));
}
if (typeof schema.maxItems === "number") {
zodSchema = zodSchema.check(z3.maxLength(schema.maxItems));
}
} else if (Array.isArray(items)) {
const tupleItems = items.map((item) => convertSchema(item, ctx));
const rest = schema.additionalItems && typeof schema.additionalItems === "object" ? convertSchema(schema.additionalItems, ctx) : undefined;
if (rest) {
zodSchema = z3.tuple(tupleItems).rest(rest);
} else {
zodSchema = z3.tuple(tupleItems);
}
if (typeof schema.minItems === "number") {
zodSchema = zodSchema.check(z3.minLength(schema.minItems));
}
if (typeof schema.maxItems === "number") {
zodSchema = zodSchema.check(z3.maxLength(schema.maxItems));
}
} else if (items !== undefined) {
const element = convertSchema(items, ctx);
let arraySchema = z3.array(element);
if (typeof schema.minItems === "number") {
arraySchema = arraySchema.min(schema.minItems);
}
if (typeof schema.maxItems === "number") {
arraySchema = arraySchema.max(schema.maxItems);
}
zodSchema = arraySchema;
} else {
zodSchema = z3.array(z3.any());
}
break;
}
default:
throw new Error(`Unsupported type: ${type}`);
}
if (schema.description) {
zodSchema = zodSchema.describe(schema.description);
}
if (schema.default !== undefined) {
zodSchema = zodSchema.default(schema.default);
}
return zodSchema;
}
function convertSchema(schema, ctx) {
if (typeof schema === "boolean") {
return schema ? z3.any() : z3.never();
}
let baseSchema = convertBaseSchema(schema, ctx);
const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;
if (schema.anyOf && Array.isArray(schema.anyOf)) {
const options = schema.anyOf.map((s) => convertSchema(s, ctx));
const anyOfUnion = z3.union(options);
baseSchema = hasExplicitType ? z3.intersection(baseSchema, anyOfUnion) : anyOfUnion;
}
if (schema.oneOf && Array.isArray(schema.oneOf)) {
const options = schema.oneOf.map((s) => convertSchema(s, ctx));
const oneOfUnion = z3.xor(options);
baseSchema = hasExplicitType ? z3.intersection(baseSchema, oneOfUnion) : oneOfUnion;
}
if (schema.allOf && Array.isArray(schema.allOf)) {
if (schema.allOf.length === 0) {
baseSchema = hasExplicitType ? baseSchema : z3.any();
} else {
let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);
const startIdx = hasExplicitType ? 0 : 1;
for (let i2 = startIdx;i2 < schema.allOf.length; i2++) {
result = z3.intersection(result, convertSchema(schema.allOf[i2], ctx));
}
baseSchema = result;
}
}
if (schema.nullable === true && ctx.version === "openapi-3.0") {
baseSchema = z3.nullable(baseSchema);
}
if (schema.readOnly === true) {
baseSchema = z3.readonly(baseSchema);
}
const extraMeta = {};
const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
for (const key of coreMetadataKeys) {
if (key in schema) {
extraMeta[key] = schema[key];
}
}
const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"];
for (const key of contentMetadataKeys) {
if (key in schema) {
extraMeta[key] = schema[key];
}
}
for (const key of Object.keys(schema)) {
if (!RECOGNIZED_KEYS.has(key)) {
extraMeta[key] = schema[key];
}
}
if (Object.keys(extraMeta).length > 0) {
ctx.registry.add(baseSchema, extraMeta);
}
return baseSchema;
}
function fromJSONSchema(schema, params) {
if (typeof schema === "boolean") {
return schema ? z3.any() : z3.never();
}
const version2 = detectVersion(schema, params?.defaultTarget);
const defs = schema.$defs || schema.definitions || {};
const ctx = {
version: version2,
defs,
refs: new Map,
processing: new Set,
rootSchema: schema,
registry: params?.registry ?? globalRegistry
};
return convertSchema(schema, ctx);
}
var z3, RECOGNIZED_KEYS;
var init_from_json_schema = __esm(() => {
init_registries();
init_checks2();
init_iso();
init_schemas2();
z3 = {
...exports_schemas2,
...exports_checks2,
iso: exports_iso
};
RECOGNIZED_KEYS = new Set([
"$schema",
"$ref",
"$defs",
"definitions",
"$id",
"id",
"$comment",
"$anchor",
"$vocabulary",
"$dynamicRef",
"$dynamicAnchor",
"type",
"enum",
"const",
"anyOf",
"oneOf",
"allOf",
"not",
"properties",
"required",
"additionalProperties",
"patternProperties",
"propertyNames",
"minProperties",
"maxProperties",
"items",
"prefixItems",
"additionalItems",
"minItems",
"maxItems",
"uniqueItems",
"contains",
"minContains",
"maxContains",
"minLength",
"maxLength",
"pattern",
"format",
"minimum",
"maximum",
"exclusiveMinimum",
"exclusiveMaximum",
"multipleOf",
"description",
"default",
"contentEncoding",
"contentMediaType",
"contentSchema",
"unevaluatedItems",
"unevaluatedProperties",
"if",
"then",
"else",
"dependentSchemas",
"dependentRequired",
"nullable",
"readOnly"
]);
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.js
var exports_coerce = {};
__export(exports_coerce, {
string: () => string3,
number: () => number3,
date: () => date4,
boolean: () => boolean3,
bigint: () => bigint3
});
function string3(params) {
return _coercedString(ZodString, params);
}
function number3(params) {
return _coercedNumber(ZodNumber, params);
}
function boolean3(params) {
return _coercedBoolean(ZodBoolean, params);
}
function bigint3(params) {
return _coercedBigint(ZodBigInt, params);
}
function date4(params) {
return _coercedDate(ZodDate, params);
}
var init_coerce = __esm(() => {
init_core4();
init_schemas2();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js
var exports_external = {};
__export(exports_external, {
xor: () => xor,
xid: () => xid2,
void: () => _void2,
uuidv7: () => uuidv7,
uuidv6: () => uuidv6,
uuidv4: () => uuidv4,
uuid: () => uuid2,
util: () => exports_util,
url: () => url2,
uppercase: () => _uppercase,
unknown: () => unknown,
union: () => union,
undefined: () => _undefined3,
ulid: () => ulid2,
uint64: () => uint64,
uint32: () => uint32,
tuple: () => tuple,
trim: () => _trim,
treeifyError: () => treeifyError,
transform: () => transform,
toUpperCase: () => _toUpperCase,
toLowerCase: () => _toLowerCase,
toJSONSchema: () => toJSONSchema,
templateLiteral: () => templateLiteral,
symbol: () => symbol,
superRefine: () => superRefine,
success: () => success,
stringbool: () => stringbool,
stringFormat: () => stringFormat,
string: () => string2,
strictObject: () => strictObject,
startsWith: () => _startsWith,
slugify: () => _slugify,
size: () => _size,
setErrorMap: () => setErrorMap,
set: () => set,
safeParseAsync: () => safeParseAsync2,
safeParse: () => safeParse2,
safeEncodeAsync: () => safeEncodeAsync2,
safeEncode: () => safeEncode2,
safeDecodeAsync: () => safeDecodeAsync2,
safeDecode: () => safeDecode2,
registry: () => registry,
regexes: () => exports_regexes,
regex: () => _regex,
refine: () => refine,
record: () => record,
readonly: () => readonly,
property: () => _property,
promise: () => promise,
prettifyError: () => prettifyError,
preprocess: () => preprocess,
prefault: () => prefault,
positive: () => _positive,
pipe: () => pipe,
partialRecord: () => partialRecord,
parseAsync: () => parseAsync2,
parse: () => parse5,
overwrite: () => _overwrite,
optional: () => optional,
object: () => object,
number: () => number2,
nullish: () => nullish2,
nullable: () => nullable,
null: () => _null3,
normalize: () => _normalize,
nonpositive: () => _nonpositive,
nonoptional: () => nonoptional,
nonnegative: () => _nonnegative,
never: () => never,
negative: () => _negative,
nativeEnum: () => nativeEnum,
nanoid: () => nanoid2,
nan: () => nan,
multipleOf: () => _multipleOf,
minSize: () => _minSize,
minLength: () => _minLength,
mime: () => _mime,
meta: () => meta2,
maxSize: () => _maxSize,
maxLength: () => _maxLength,
map: () => map,
mac: () => mac2,
lte: () => _lte,
lt: () => _lt,
lowercase: () => _lowercase,
looseRecord: () => looseRecord,
looseObject: () => looseObject,
locales: () => exports_locales,
literal: () => literal,
length: () => _length,
lazy: () => lazy,
ksuid: () => ksuid2,
keyof: () => keyof,
jwt: () => jwt,
json: () => json,
iso: () => exports_iso,
ipv6: () => ipv62,
ipv4: () => ipv42,
intersection: () => intersection,
int64: () => int64,
int32: () => int32,
int: () => int,
instanceof: () => _instanceof,
includes: () => _includes,
httpUrl: () => httpUrl,
hostname: () => hostname2,
hex: () => hex2,
hash: () => hash2,
guid: () => guid2,
gte: () => _gte,
gt: () => _gt,
globalRegistry: () => globalRegistry,
getErrorMap: () => getErrorMap,
function: () => _function,
fromJSONSchema: () => fromJSONSchema,
formatError: () => formatError,
float64: () => float64,
float32: () => float32,
flattenError: () => flattenError,
file: () => file,
exactOptional: () => exactOptional,
enum: () => _enum2,
endsWith: () => _endsWith,
encodeAsync: () => encodeAsync2,
encode: () => encode4,
emoji: () => emoji2,
email: () => email2,
e164: () => e1642,
discriminatedUnion: () => discriminatedUnion,
describe: () => describe2,
decodeAsync: () => decodeAsync2,
decode: () => decode2,
date: () => date3,
custom: () => custom,
cuid2: () => cuid22,
cuid: () => cuid3,
core: () => exports_core2,
config: () => config,
coerce: () => exports_coerce,
codec: () => codec,
clone: () => clone2,
cidrv6: () => cidrv62,
cidrv4: () => cidrv42,
check: () => check2,
catch: () => _catch2,
boolean: () => boolean2,
bigint: () => bigint2,
base64url: () => base64url2,
base64: () => base642,
array: () => array,
any: () => any,
_function: () => _function,
_default: () => _default2,
_ZodString: () => _ZodString,
ZodXor: () => ZodXor,
ZodXID: () => ZodXID,
ZodVoid: () => ZodVoid,
ZodUnknown: () => ZodUnknown,
ZodUnion: () => ZodUnion,
ZodUndefined: () => ZodUndefined,
ZodUUID: () => ZodUUID,
ZodURL: () => ZodURL,
ZodULID: () => ZodULID,
ZodType: () => ZodType,
ZodTuple: () => ZodTuple,
ZodTransform: () => ZodTransform,
ZodTemplateLiteral: () => ZodTemplateLiteral,
ZodSymbol: () => ZodSymbol,
ZodSuccess: () => ZodSuccess,
ZodStringFormat: () => ZodStringFormat,
ZodString: () => ZodString,
ZodSet: () => ZodSet,
ZodRecord: () => ZodRecord,
ZodRealError: () => ZodRealError,
ZodReadonly: () => ZodReadonly,
ZodPromise: () => ZodPromise,
ZodPrefault: () => ZodPrefault,
ZodPipe: () => ZodPipe,
ZodOptional: () => ZodOptional,
ZodObject: () => ZodObject,
ZodNumberFormat: () => ZodNumberFormat,
ZodNumber: () => ZodNumber,
ZodNullable: () => ZodNullable,
ZodNull: () => ZodNull,
ZodNonOptional: () => ZodNonOptional,
ZodNever: () => ZodNever,
ZodNanoID: () => ZodNanoID,
ZodNaN: () => ZodNaN,
ZodMap: () => ZodMap,
ZodMAC: () => ZodMAC,
ZodLiteral: () => ZodLiteral,
ZodLazy: () => ZodLazy,
ZodKSUID: () => ZodKSUID,
ZodJWT: () => ZodJWT,
ZodIssueCode: () => ZodIssueCode,
ZodIntersection: () => ZodIntersection,
ZodISOTime: () => ZodISOTime,
ZodISODuration: () => ZodISODuration,
ZodISODateTime: () => ZodISODateTime,
ZodISODate: () => ZodISODate,
ZodIPv6: () => ZodIPv6,
ZodIPv4: () => ZodIPv4,
ZodGUID: () => ZodGUID,
ZodFunction: () => ZodFunction,
ZodFirstPartyTypeKind: () => ZodFirstPartyTypeKind,
ZodFile: () => ZodFile,
ZodExactOptional: () => ZodExactOptional,
ZodError: () => ZodError,
ZodEnum: () => ZodEnum,
ZodEmoji: () => ZodEmoji,
ZodEmail: () => ZodEmail,
ZodE164: () => ZodE164,
ZodDiscriminatedUnion: () => ZodDiscriminatedUnion,
ZodDefault: () => ZodDefault,
ZodDate: () => ZodDate,
ZodCustomStringFormat: () => ZodCustomStringFormat,
ZodCustom: () => ZodCustom,
ZodCodec: () => ZodCodec,
ZodCatch: () => ZodCatch,
ZodCUID2: () => ZodCUID2,
ZodCUID: () => ZodCUID,
ZodCIDRv6: () => ZodCIDRv6,
ZodCIDRv4: () => ZodCIDRv4,
ZodBoolean: () => ZodBoolean,
ZodBigIntFormat: () => ZodBigIntFormat,
ZodBigInt: () => ZodBigInt,
ZodBase64URL: () => ZodBase64URL,
ZodBase64: () => ZodBase64,
ZodArray: () => ZodArray,
ZodAny: () => ZodAny,
TimePrecision: () => TimePrecision,
NEVER: () => NEVER,
$output: () => $output,
$input: () => $input,
$brand: () => $brand
});
var init_external = __esm(() => {
init_core4();
init_core4();
init_en();
init_core4();
init_json_schema_processors();
init_from_json_schema();
init_locales();
init_iso();
init_iso();
init_coerce();
init_schemas2();
init_checks2();
init_errors3();
init_parse3();
init_compat();
config(en_default());
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/index.js
var classic_default;
var init_classic = __esm(() => {
init_external();
init_external();
classic_default = exports_external;
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/index.js
var v4_default;
var init_v4 = __esm(() => {
init_classic();
init_classic();
v4_default = classic_default;
});
// src/services/remoteManagedSettings/syncCacheState.ts
import { join as join17 } from "path";
function setSessionCache(value) {
sessionCache = value;
}
function resetSyncCache() {
sessionCache = null;
eligible = undefined;
}
function setEligibility(v2) {
eligible = v2;
return v2;
}
function getSettingsPath() {
return join17(getClaudeConfigHomeDir(), SETTINGS_FILENAME);
}
function loadSettings() {
try {
const content = readFileSync4(getSettingsPath());
const data = jsonParse(stripBOM2(content));
if (!data || typeof data !== "object" || Array.isArray(data)) {
return null;
}
return data;
} catch {
return null;
}
}
function getRemoteManagedSettingsSyncFromCache() {
if (eligible !== true)
return null;
if (sessionCache)
return sessionCache;
const cachedSettings = loadSettings();
if (cachedSettings) {
sessionCache = cachedSettings;
resetSettingsCache();
return cachedSettings;
}
return null;
}
var SETTINGS_FILENAME = "remote-settings.json", sessionCache = null, eligible;
var init_syncCacheState = __esm(() => {
init_envUtils();
init_fileRead();
init_settingsCache();
init_slowOperations();
});
// src/utils/array.ts
function intersperse(as, separator) {
return as.flatMap((a2, i2) => i2 ? [separator(i2), a2] : [a2]);
}
function count2(arr, pred) {
let n2 = 0;
for (const x3 of arr)
n2 += +!!pred(x3);
return n2;
}
function uniq(xs) {
return [...new Set(xs)];
}
// src/utils/git/gitignore.ts
import { appendFile as appendFile2, mkdir as mkdir2, readFile as readFile6, writeFile } from "fs/promises";
import { homedir as homedir8 } from "os";
import { dirname as dirname10, join as join18 } from "path";
async function isPathGitignored(filePath, cwd2) {
const { code } = await execFileNoThrowWithCwd("git", ["check-ignore", filePath], {
preserveOutputOnError: false,
cwd: cwd2
});
return code === 0;
}
function getGlobalGitignorePath() {
return join18(homedir8(), ".config", "git", "ignore");
}
async function addFileGlobRuleToGitignore(filename, cwd2 = getCwd()) {
try {
if (!await dirIsInGitRepo(cwd2)) {
return;
}
const gitignoreEntry = `**/${filename}`;
const testPath = filename.endsWith("/") ? `${filename}sample-file.txt` : filename;
if (await isPathGitignored(testPath, cwd2)) {
return;
}
const globalGitignorePath = getGlobalGitignorePath();
const configGitDir = dirname10(globalGitignorePath);
await mkdir2(configGitDir, { recursive: true });
try {
const content = await readFile6(globalGitignorePath, { encoding: "utf-8" });
if (content.includes(gitignoreEntry)) {
return;
}
await appendFile2(globalGitignorePath, `
${gitignoreEntry}
`);
} catch (e) {
const code = getErrnoCode(e);
if (code === "ENOENT") {
await writeFile(globalGitignorePath, `${gitignoreEntry}
`, "utf-8");
} else {
throw e;
}
}
} catch (error49) {
logError2(error49);
}
}
var init_gitignore = __esm(() => {
init_cwd();
init_errors();
init_execFileNoThrow();
init_git();
init_log3();
});
// src/utils/settings/constants.ts
function getSettingSourceName(source) {
switch (source) {
case "userSettings":
return "user";
case "projectSettings":
return "project";
case "localSettings":
return "project, gitignored";
case "flagSettings":
return "cli flag";
case "policySettings":
return "managed";
}
}
function getSourceDisplayName(source) {
switch (source) {
case "userSettings":
return "User";
case "projectSettings":
return "Project";
case "localSettings":
return "Local";
case "flagSettings":
return "Flag";
case "policySettings":
return "Managed";
case "plugin":
return "Plugin";
case "built-in":
return "Built-in";
}
}
function getSettingSourceDisplayNameLowercase(source) {
switch (source) {
case "userSettings":
return "user settings";
case "projectSettings":
return "shared project settings";
case "localSettings":
return "project local settings";
case "flagSettings":
return "command line arguments";
case "policySettings":
return "enterprise managed settings";
case "cliArg":
return "CLI argument";
case "command":
return "command configuration";
case "session":
return "current session";
}
}
function getSettingSourceDisplayNameCapitalized(source) {
switch (source) {
case "userSettings":
return "User settings";
case "projectSettings":
return "Shared project settings";
case "localSettings":
return "Project local settings";
case "flagSettings":
return "Command line arguments";
case "policySettings":
return "Enterprise managed settings";
case "cliArg":
return "CLI argument";
case "command":
return "Command configuration";
case "session":
return "Current session";
}
}
function parseSettingSourcesFlag(flag) {
if (flag === "")
return [];
const names = flag.split(",").map((s) => s.trim());
const result = [];
for (const name of names) {
switch (name) {
case "user":
result.push("userSettings");
break;
case "project":
result.push("projectSettings");
break;
case "local":
result.push("localSettings");
break;
default:
throw new Error(`Invalid setting source: ${name}. Valid options are: user, project, local`);
}
}
return result;
}
function getEnabledSettingSources() {
const allowed = getAllowedSettingSources();
const result = new Set(allowed);
result.add("policySettings");
result.add("flagSettings");
return Array.from(result);
}
function isSettingSourceEnabled(source) {
const enabled = getEnabledSettingSources();
return enabled.includes(source);
}
var SETTING_SOURCES, SOURCES, CLAUDE_CODE_SETTINGS_SCHEMA_URL = "https://json.schemastore.org/claude-code-settings.json";
var init_constants3 = __esm(() => {
init_state();
SETTING_SOURCES = [
"userSettings",
"projectSettings",
"localSettings",
"flagSettings",
"policySettings"
];
SOURCES = [
"localSettings",
"projectSettings",
"userSettings"
];
});
// src/utils/settings/internalWrites.ts
function markInternalWrite(path9) {
timestamps.set(path9, Date.now());
}
function consumeInternalWrite(path9, windowMs) {
const ts = timestamps.get(path9);
if (ts !== undefined && Date.now() - ts < windowMs) {
timestamps.delete(path9);
return true;
}
return false;
}
function clearInternalWrites() {
timestamps.clear();
}
var timestamps;
var init_internalWrites = __esm(() => {
timestamps = new Map;
});
// src/utils/lazySchema.ts
function lazySchema(factory2) {
let cached2;
return () => cached2 ??= factory2();
}
// src/entrypoints/sandboxTypes.ts
var SandboxNetworkConfigSchema, SandboxFilesystemConfigSchema, SandboxSettingsSchema;
var init_sandboxTypes = __esm(() => {
init_v4();
SandboxNetworkConfigSchema = lazySchema(() => exports_external.object({
allowedDomains: exports_external.array(exports_external.string()).optional(),
allowManagedDomainsOnly: exports_external.boolean().optional().describe("When true (and set in managed settings), only allowedDomains and WebFetch(domain:...) allow rules from managed settings are respected. " + "User, project, local, and flag settings domains are ignored. Denied domains are still respected from all sources."),
allowUnixSockets: exports_external.array(exports_external.string()).optional().describe("macOS only: Unix socket paths to allow. Ignored on Linux (seccomp cannot filter by path)."),
allowAllUnixSockets: exports_external.boolean().optional().describe("If true, allow all Unix sockets (disables blocking on both platforms)."),
allowLocalBinding: exports_external.boolean().optional(),
httpProxyPort: exports_external.number().optional(),
socksProxyPort: exports_external.number().optional()
}).optional());
SandboxFilesystemConfigSchema = lazySchema(() => exports_external.object({
allowWrite: exports_external.array(exports_external.string()).optional().describe("Additional paths to allow writing within the sandbox. " + "Merged with paths from Edit(...) allow permission rules."),
denyWrite: exports_external.array(exports_external.string()).optional().describe("Additional paths to deny writing within the sandbox. " + "Merged with paths from Edit(...) deny permission rules."),
denyRead: exports_external.array(exports_external.string()).optional().describe("Additional paths to deny reading within the sandbox. " + "Merged with paths from Read(...) deny permission rules."),
allowRead: exports_external.array(exports_external.string()).optional().describe("Paths to re-allow reading within denyRead regions. " + "Takes precedence over denyRead for matching paths."),
allowManagedReadPathsOnly: exports_external.boolean().optional().describe("When true (set in managed settings), only allowRead paths from policySettings are used.")
}).optional());
SandboxSettingsSchema = lazySchema(() => exports_external.object({
enabled: exports_external.boolean().optional(),
failIfUnavailable: exports_external.boolean().optional().describe("Exit with an error at startup if sandbox.enabled is true but the sandbox cannot start " + "(missing dependencies, unsupported platform, or platform not in enabledPlatforms). " + "When false (default), a warning is shown and commands run unsandboxed. " + "Intended for managed-settings deployments that require sandboxing as a hard gate."),
autoAllowBashIfSandboxed: exports_external.boolean().optional(),
allowUnsandboxedCommands: exports_external.boolean().optional().describe("Allow commands to run outside the sandbox via the dangerouslyDisableSandbox parameter. " + "When false, the dangerouslyDisableSandbox parameter is completely ignored and all commands must run sandboxed. " + "Default: true."),
network: SandboxNetworkConfigSchema(),
filesystem: SandboxFilesystemConfigSchema(),
ignoreViolations: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())).optional(),
enableWeakerNestedSandbox: exports_external.boolean().optional(),
enableWeakerNetworkIsolation: exports_external.boolean().optional().describe("macOS only: Allow access to com.apple.trustd.agent in the sandbox. " + "Needed for Go-based CLI tools (gh, gcloud, terraform, etc.) to verify TLS certificates " + "when using httpProxyPort with a MITM proxy and custom CA. " + "**Reduces security** — opens a potential data exfiltration vector through the trustd service. Default: false"),
excludedCommands: exports_external.array(exports_external.string()).optional(),
ripgrep: exports_external.object({
command: exports_external.string(),
args: exports_external.array(exports_external.string()).optional()
}).optional().describe("Custom ripgrep configuration for bundled ripgrep support")
}).passthrough());
});
// src/constants/figures.ts
var BLACK_CIRCLE, TEARDROP_ASTERISK = "✻", UP_ARROW = "↑", DOWN_ARROW = "↓", LIGHTNING_BOLT = "↯", EFFORT_LOW = "○", EFFORT_MEDIUM = "◐", EFFORT_HIGH = "●", EFFORT_MAX = "◉", PAUSE_ICON = "⏸", REFRESH_ARROW = "↻", DIAMOND_OPEN = "◇", DIAMOND_FILLED = "◆", REFERENCE_MARK = "※", BLOCKQUOTE_BAR = "▎", BRIDGE_READY_INDICATOR = "·✔︎·", BRIDGE_FAILED_INDICATOR = "×";
var init_figures2 = __esm(() => {
init_env();
BLACK_CIRCLE = env3.platform === "darwin" ? "⏺" : "●";
});
// src/types/permissions.ts
var EXTERNAL_PERMISSION_MODES, INTERNAL_PERMISSION_MODES, PERMISSION_MODES;
var init_permissions = __esm(() => {
EXTERNAL_PERMISSION_MODES = [
"acceptEdits",
"bypassPermissions",
"default",
"dontAsk",
"plan"
];
INTERNAL_PERMISSION_MODES = [
...EXTERNAL_PERMISSION_MODES,
...[]
];
PERMISSION_MODES = INTERNAL_PERMISSION_MODES;
});
// src/utils/permissions/PermissionMode.ts
function isExternalPermissionMode(mode) {
if (process.env.USER_TYPE !== "ant") {
return true;
}
return mode !== "auto" && mode !== "bubble";
}
function getModeConfig(mode) {
return PERMISSION_MODE_CONFIG[mode] ?? PERMISSION_MODE_CONFIG.default;
}
function toExternalPermissionMode(mode) {
return getModeConfig(mode).external;
}
function permissionModeFromString(str) {
return PERMISSION_MODES.includes(str) ? str : "default";
}
function permissionModeTitle(mode) {
return getModeConfig(mode).title;
}
function isDefaultMode(mode) {
return mode === "default" || mode === undefined;
}
function permissionModeSymbol(mode) {
return getModeConfig(mode).symbol;
}
function getModeColor(mode) {
return getModeConfig(mode).color;
}
var permissionModeSchema, externalPermissionModeSchema, PERMISSION_MODE_CONFIG;
var init_PermissionMode = __esm(() => {
init_v4();
init_figures2();
init_permissions();
permissionModeSchema = lazySchema(() => v4_default.enum(PERMISSION_MODES));
externalPermissionModeSchema = lazySchema(() => v4_default.enum(EXTERNAL_PERMISSION_MODES));
PERMISSION_MODE_CONFIG = {
default: {
title: "Default",
shortTitle: "Default",
symbol: "",
color: "text",
external: "default"
},
plan: {
title: "Plan Mode",
shortTitle: "Plan",
symbol: PAUSE_ICON,
color: "planMode",
external: "plan"
},
acceptEdits: {
title: "Accept edits",
shortTitle: "Accept",
symbol: "⏵⏵",
color: "autoAccept",
external: "acceptEdits"
},
bypassPermissions: {
title: "Bypass Permissions",
shortTitle: "Bypass",
symbol: "⏵⏵",
color: "error",
external: "bypassPermissions"
},
dontAsk: {
title: "Don't Ask",
shortTitle: "DontAsk",
symbol: "⏵⏵",
color: "error",
external: "dontAsk"
},
...{}
};
});
// src/entrypoints/sdk/coreTypes.generated.ts
var init_coreTypes_generated = () => {};
// src/entrypoints/sdk/coreTypes.ts
var HOOK_EVENTS;
var init_coreTypes = __esm(() => {
init_coreTypes_generated();
HOOK_EVENTS = [
"PreToolUse",
"PostToolUse",
"PostToolUseFailure",
"Notification",
"UserPromptSubmit",
"SessionStart",
"SessionEnd",
"Stop",
"StopFailure",
"SubagentStart",
"SubagentStop",
"PreCompact",
"PostCompact",
"PermissionRequest",
"PermissionDenied",
"Setup",
"TeammateIdle",
"TaskCreated",
"TaskCompleted",
"Elicitation",
"ElicitationResult",
"ConfigChange",
"WorktreeCreate",
"WorktreeRemove",
"InstructionsLoaded",
"CwdChanged",
"FileChanged"
];
});
// src/entrypoints/agentSdkTypes.ts
var init_agentSdkTypes = __esm(() => {
init_coreTypes();
});
// src/utils/shell/shellProvider.ts
var SHELL_TYPES, DEFAULT_HOOK_SHELL = "bash";
var init_shellProvider = __esm(() => {
SHELL_TYPES = ["bash", "powershell"];
});
// src/schemas/hooks.ts
function buildHookSchemas() {
const BashCommandHookSchema = exports_external.object({
type: exports_external.literal("command").describe("Shell command hook type"),
command: exports_external.string().describe("Shell command to execute"),
if: IfConditionSchema(),
shell: exports_external.enum(SHELL_TYPES).optional().describe("Shell interpreter. 'bash' uses your $SHELL (bash/zsh/sh); 'powershell' uses pwsh. Defaults to bash."),
timeout: exports_external.number().positive().optional().describe("Timeout in seconds for this specific command"),
statusMessage: exports_external.string().optional().describe("Custom status message to display in spinner while hook runs"),
once: exports_external.boolean().optional().describe("If true, hook runs once and is removed after execution"),
async: exports_external.boolean().optional().describe("If true, hook runs in background without blocking"),
asyncRewake: exports_external.boolean().optional().describe("If true, hook runs in background and wakes the model on exit code 2 (blocking error). Implies async.")
});
const PromptHookSchema = exports_external.object({
type: exports_external.literal("prompt").describe("LLM prompt hook type"),
prompt: exports_external.string().describe("Prompt to evaluate with LLM. Use $ARGUMENTS placeholder for hook input JSON."),
if: IfConditionSchema(),
timeout: exports_external.number().positive().optional().describe("Timeout in seconds for this specific prompt evaluation"),
model: exports_external.string().optional().describe('Model to use for this prompt hook (e.g., "claude-sonnet-4-6"). If not specified, uses the default small fast model.'),
statusMessage: exports_external.string().optional().describe("Custom status message to display in spinner while hook runs"),
once: exports_external.boolean().optional().describe("If true, hook runs once and is removed after execution")
});
const HttpHookSchema = exports_external.object({
type: exports_external.literal("http").describe("HTTP hook type"),
url: exports_external.string().url().describe("URL to POST the hook input JSON to"),
if: IfConditionSchema(),
timeout: exports_external.number().positive().optional().describe("Timeout in seconds for this specific request"),
headers: exports_external.record(exports_external.string(), exports_external.string()).optional().describe('Additional headers to include in the request. Values may reference environment variables using $VAR_NAME or ${VAR_NAME} syntax (e.g., "Authorization": "Bearer $MY_TOKEN"). Only variables listed in allowedEnvVars will be interpolated.'),
allowedEnvVars: exports_external.array(exports_external.string()).optional().describe("Explicit list of environment variable names that may be interpolated in header values. Only variables listed here will be resolved; all other $VAR references are left as empty strings. Required for env var interpolation to work."),
statusMessage: exports_external.string().optional().describe("Custom status message to display in spinner while hook runs"),
once: exports_external.boolean().optional().describe("If true, hook runs once and is removed after execution")
});
const AgentHookSchema = exports_external.object({
type: exports_external.literal("agent").describe("Agentic verifier hook type"),
prompt: exports_external.string().describe('Prompt describing what to verify (e.g. "Verify that unit tests ran and passed."). Use $ARGUMENTS placeholder for hook input JSON.'),
if: IfConditionSchema(),
timeout: exports_external.number().positive().optional().describe("Timeout in seconds for agent execution (default 60)"),
model: exports_external.string().optional().describe('Model to use for this agent hook (e.g., "claude-sonnet-4-6"). If not specified, uses Haiku.'),
statusMessage: exports_external.string().optional().describe("Custom status message to display in spinner while hook runs"),
once: exports_external.boolean().optional().describe("If true, hook runs once and is removed after execution")
});
return {
BashCommandHookSchema,
PromptHookSchema,
HttpHookSchema,
AgentHookSchema
};
}
var IfConditionSchema, HookCommandSchema, HookMatcherSchema, HooksSchema;
var init_hooks = __esm(() => {
init_agentSdkTypes();
init_v4();
init_shellProvider();
IfConditionSchema = lazySchema(() => exports_external.string().optional().describe('Permission rule syntax to filter when this hook runs (e.g., "Bash(git *)"). ' + "Only runs if the tool call matches the pattern. Avoids spawning hooks for non-matching commands."));
HookCommandSchema = lazySchema(() => {
const {
BashCommandHookSchema,
PromptHookSchema,
AgentHookSchema,
HttpHookSchema
} = buildHookSchemas();
return exports_external.discriminatedUnion("type", [
BashCommandHookSchema,
PromptHookSchema,
AgentHookSchema,
HttpHookSchema
]);
});
HookMatcherSchema = lazySchema(() => exports_external.object({
matcher: exports_external.string().optional().describe('String pattern to match (e.g. tool names like "Write")'),
hooks: exports_external.array(HookCommandSchema()).describe("List of hooks to execute when the matcher matches")
}));
HooksSchema = lazySchema(() => exports_external.partialRecord(exports_external.enum(HOOK_EVENTS), exports_external.array(HookMatcherSchema())));
});
// src/services/mcp/types.ts
var ConfigScopeSchema, TransportSchema, McpStdioServerConfigSchema, McpXaaConfigSchema, McpOAuthConfigSchema, McpSSEServerConfigSchema, McpSSEIDEServerConfigSchema, McpWebSocketIDEServerConfigSchema, McpHTTPServerConfigSchema, McpWebSocketServerConfigSchema, McpSdkServerConfigSchema, McpClaudeAIProxyServerConfigSchema, McpServerConfigSchema, McpJsonConfigSchema;
var init_types = __esm(() => {
init_v4();
ConfigScopeSchema = lazySchema(() => exports_external.enum([
"local",
"user",
"project",
"dynamic",
"enterprise",
"claudeai",
"managed"
]));
TransportSchema = lazySchema(() => exports_external.enum(["stdio", "sse", "sse-ide", "http", "ws", "sdk"]));
McpStdioServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("stdio").optional(),
command: exports_external.string().min(1, "Command cannot be empty"),
args: exports_external.array(exports_external.string()).default([]),
env: exports_external.record(exports_external.string(), exports_external.string()).optional()
}));
McpXaaConfigSchema = lazySchema(() => exports_external.boolean());
McpOAuthConfigSchema = lazySchema(() => exports_external.object({
clientId: exports_external.string().optional(),
callbackPort: exports_external.number().int().positive().optional(),
authServerMetadataUrl: exports_external.string().url().startsWith("https://", {
message: "authServerMetadataUrl must use https://"
}).optional(),
xaa: McpXaaConfigSchema().optional()
}));
McpSSEServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("sse"),
url: exports_external.string(),
headers: exports_external.record(exports_external.string(), exports_external.string()).optional(),
headersHelper: exports_external.string().optional(),
oauth: McpOAuthConfigSchema().optional()
}));
McpSSEIDEServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("sse-ide"),
url: exports_external.string(),
ideName: exports_external.string(),
ideRunningInWindows: exports_external.boolean().optional()
}));
McpWebSocketIDEServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("ws-ide"),
url: exports_external.string(),
ideName: exports_external.string(),
authToken: exports_external.string().optional(),
ideRunningInWindows: exports_external.boolean().optional()
}));
McpHTTPServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("http"),
url: exports_external.string(),
headers: exports_external.record(exports_external.string(), exports_external.string()).optional(),
headersHelper: exports_external.string().optional(),
oauth: McpOAuthConfigSchema().optional()
}));
McpWebSocketServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("ws"),
url: exports_external.string(),
headers: exports_external.record(exports_external.string(), exports_external.string()).optional(),
headersHelper: exports_external.string().optional()
}));
McpSdkServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("sdk"),
name: exports_external.string()
}));
McpClaudeAIProxyServerConfigSchema = lazySchema(() => exports_external.object({
type: exports_external.literal("claudeai-proxy"),
url: exports_external.string(),
id: exports_external.string()
}));
McpServerConfigSchema = lazySchema(() => exports_external.union([
McpStdioServerConfigSchema(),
McpSSEServerConfigSchema(),
McpSSEIDEServerConfigSchema(),
McpWebSocketIDEServerConfigSchema(),
McpHTTPServerConfigSchema(),
McpWebSocketServerConfigSchema(),
McpSdkServerConfigSchema(),
McpClaudeAIProxyServerConfigSchema()
]));
McpJsonConfigSchema = lazySchema(() => exports_external.object({
mcpServers: exports_external.record(exports_external.string(), McpServerConfigSchema())
}));
});
// src/utils/plugins/schemas.ts
function isMarketplaceAutoUpdate(marketplaceName, entry) {
const normalizedName = marketplaceName.toLowerCase();
return entry.autoUpdate ?? (ALLOWED_OFFICIAL_MARKETPLACE_NAMES.has(normalizedName) && !NO_AUTO_UPDATE_OFFICIAL_MARKETPLACES.has(normalizedName));
}
function isBlockedOfficialName(name) {
if (ALLOWED_OFFICIAL_MARKETPLACE_NAMES.has(name.toLowerCase())) {
return false;
}
if (NON_ASCII_PATTERN.test(name)) {
return true;
}
return BLOCKED_OFFICIAL_NAME_PATTERN.test(name);
}
function validateOfficialNameSource(name, source) {
const normalizedName = name.toLowerCase();
if (!ALLOWED_OFFICIAL_MARKETPLACE_NAMES.has(normalizedName)) {
return null;
}
if (source.source === "github") {
const repo = source.repo || "";
if (!repo.toLowerCase().startsWith(`${OFFICIAL_GITHUB_ORG}/`)) {
return `The name '${name}' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
}
return null;
}
if (source.source === "git" && source.url) {
const url3 = source.url.toLowerCase();
const isHttpsAnthropics = url3.includes("github.com/anthropics/");
const isSshAnthropics = url3.includes("git@github.com:anthropics/");
if (isHttpsAnthropics || isSshAnthropics) {
return null;
}
return `The name '${name}' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/${OFFICIAL_GITHUB_ORG}/' can use this name.`;
}
return `The name '${name}' is reserved for official Anthropic marketplaces and can only be used with GitHub sources from the '${OFFICIAL_GITHUB_ORG}' organization.`;
}
function isLocalPluginSource(source) {
return typeof source === "string" && source.startsWith("./");
}
function isLocalMarketplaceSource(source) {
return source.source === "file" || source.source === "directory";
}
var ALLOWED_OFFICIAL_MARKETPLACE_NAMES, NO_AUTO_UPDATE_OFFICIAL_MARKETPLACES, BLOCKED_OFFICIAL_NAME_PATTERN, NON_ASCII_PATTERN, OFFICIAL_GITHUB_ORG = "anthropics", RelativePath, RelativeJSONPath, McpbPath, RelativeMarkdownPath, RelativeCommandPath, MarketplaceNameSchema, PluginAuthorSchema, PluginManifestMetadataSchema, PluginHooksSchema, PluginManifestHooksSchema, CommandMetadataSchema, PluginManifestCommandsSchema, PluginManifestAgentsSchema, PluginManifestSkillsSchema, PluginManifestOutputStylesSchema, nonEmptyString, fileExtension, PluginManifestMcpServerSchema, PluginUserConfigOptionSchema, PluginManifestUserConfigSchema, PluginManifestChannelsSchema, LspServerConfigSchema, PluginManifestLspServerSchema, NpmPackageNameSchema, PluginManifestSettingsSchema, PluginManifestSchema, MarketplaceSourceSchema, gitSha, PluginSourceSchema, SettingsMarketplacePluginSchema, PluginMarketplaceEntrySchema, PluginMarketplaceSchema, PluginIdSchema, DEP_REF_REGEX, DependencyRefSchema, SettingsPluginEntrySchema, InstalledPluginSchema, InstalledPluginsFileSchemaV1, PluginScopeSchema, PluginInstallationEntrySchema, InstalledPluginsFileSchemaV2, InstalledPluginsFileSchema, KnownMarketplaceSchema, KnownMarketplacesFileSchema;
var init_schemas3 = __esm(() => {
init_v4();
init_hooks();
init_types();
ALLOWED_OFFICIAL_MARKETPLACE_NAMES = new Set([
"claude-code-marketplace",
"claude-code-plugins",
"claude-plugins-official",
"anthropic-marketplace",
"anthropic-plugins",
"agent-skills",
"life-sciences",
"knowledge-work-plugins"
]);
NO_AUTO_UPDATE_OFFICIAL_MARKETPLACES = new Set(["knowledge-work-plugins"]);
BLOCKED_OFFICIAL_NAME_PATTERN = /(?:official[^a-z0-9]*(anthropic|claude)|(?:anthropic|claude)[^a-z0-9]*official|^(?:anthropic|claude)[^a-z0-9]*(marketplace|plugins|official))/i;
NON_ASCII_PATTERN = /[^\u0020-\u007E]/;
RelativePath = lazySchema(() => exports_external.string().startsWith("./"));
RelativeJSONPath = lazySchema(() => RelativePath().endsWith(".json"));
McpbPath = lazySchema(() => exports_external.union([
RelativePath().refine((path9) => path9.endsWith(".mcpb") || path9.endsWith(".dxt"), {
message: "MCPB file path must end with .mcpb or .dxt"
}).describe("Path to MCPB file relative to plugin root"),
exports_external.string().url().refine((url3) => url3.endsWith(".mcpb") || url3.endsWith(".dxt"), {
message: "MCPB URL must end with .mcpb or .dxt"
}).describe("URL to MCPB file")
]));
RelativeMarkdownPath = lazySchema(() => RelativePath().endsWith(".md"));
RelativeCommandPath = lazySchema(() => exports_external.union([
RelativeMarkdownPath(),
RelativePath()
]));
MarketplaceNameSchema = lazySchema(() => exports_external.string().min(1, "Marketplace must have a name").refine((name) => !name.includes(" "), {
message: 'Marketplace name cannot contain spaces. Use kebab-case (e.g., "my-marketplace")'
}).refine((name) => !name.includes("/") && !name.includes("\\") && !name.includes("..") && name !== ".", {
message: 'Marketplace name cannot contain path separators (/ or \\), ".." sequences, or be "."'
}).refine((name) => !isBlockedOfficialName(name), {
message: "Marketplace name impersonates an official Anthropic/Claude marketplace"
}).refine((name) => name.toLowerCase() !== "inline", {
message: 'Marketplace name "inline" is reserved for --plugin-dir session plugins'
}).refine((name) => name.toLowerCase() !== "builtin", {
message: 'Marketplace name "builtin" is reserved for built-in plugins'
}));
PluginAuthorSchema = lazySchema(() => exports_external.object({
name: exports_external.string().min(1, "Author name cannot be empty").describe("Display name of the plugin author or organization"),
email: exports_external.string().optional().describe("Contact email for support or feedback"),
url: exports_external.string().optional().describe("Website, GitHub profile, or organization URL")
}));
PluginManifestMetadataSchema = lazySchema(() => exports_external.object({
name: exports_external.string().min(1, "Plugin name cannot be empty").refine((name) => !name.includes(" "), {
message: 'Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")'
}).describe("Unique identifier for the plugin, used for namespacing (prefer kebab-case)"),
version: exports_external.string().optional().describe("Semantic version (e.g., 1.2.3) following semver.org specification"),
description: exports_external.string().optional().describe("Brief, user-facing explanation of what the plugin provides"),
author: PluginAuthorSchema().optional().describe("Information about the plugin creator or maintainer"),
homepage: exports_external.string().url().optional().describe("Plugin homepage or documentation URL"),
repository: exports_external.string().optional().describe("Source code repository URL"),
license: exports_external.string().optional().describe("SPDX license identifier (e.g., MIT, Apache-2.0)"),
keywords: exports_external.array(exports_external.string()).optional().describe("Tags for plugin discovery and categorization"),
dependencies: exports_external.array(DependencyRefSchema()).optional().describe(`Plugins that must be enabled for this plugin to function. Bare names (no "@marketplace") are resolved against the declaring plugin's own marketplace.`)
}));
PluginHooksSchema = lazySchema(() => exports_external.object({
description: exports_external.string().optional().describe("Brief, user-facing explanation of what these hooks provide"),
hooks: exports_external.lazy(() => HooksSchema()).describe("The hooks provided by the plugin, in the same format as the one used for settings")
}));
PluginManifestHooksSchema = lazySchema(() => exports_external.object({
hooks: exports_external.union([
RelativeJSONPath().describe("Path to file with additional hooks (in addition to those in hooks/hooks.json, if it exists), relative to the plugin root"),
exports_external.lazy(() => HooksSchema()).describe("Additional hooks (in addition to those in hooks/hooks.json, if it exists)"),
exports_external.array(exports_external.union([
RelativeJSONPath().describe("Path to file with additional hooks (in addition to those in hooks/hooks.json, if it exists), relative to the plugin root"),
exports_external.lazy(() => HooksSchema()).describe("Additional hooks (in addition to those in hooks/hooks.json, if it exists)")
]))
])
}));
CommandMetadataSchema = lazySchema(() => exports_external.object({
source: RelativeCommandPath().optional().describe("Path to command markdown file, relative to plugin root"),
content: exports_external.string().optional().describe("Inline markdown content for the command"),
description: exports_external.string().optional().describe("Command description override"),
argumentHint: exports_external.string().optional().describe('Hint for command arguments (e.g., "[file]")'),
model: exports_external.string().optional().describe("Default model for this command"),
allowedTools: exports_external.array(exports_external.string()).optional().describe("Tools allowed when command runs")
}).refine((data) => data.source && !data.content || !data.source && data.content, {
message: 'Command must have either "source" (file path) or "content" (inline markdown), but not both'
}));
PluginManifestCommandsSchema = lazySchema(() => exports_external.object({
commands: exports_external.union([
RelativeCommandPath().describe("Path to additional command file or skill directory (in addition to those in the commands/ directory, if it exists), relative to the plugin root"),
exports_external.array(RelativeCommandPath().describe("Path to additional command file or skill directory (in addition to those in the commands/ directory, if it exists), relative to the plugin root")).describe("List of paths to additional command files or skill directories"),
exports_external.record(exports_external.string(), CommandMetadataSchema()).describe('Object mapping of command names to their metadata and source files. Command name becomes the slash command name (e.g., "about" → "/plugin:about")')
])
}));
PluginManifestAgentsSchema = lazySchema(() => exports_external.object({
agents: exports_external.union([
RelativeMarkdownPath().describe("Path to additional agent file (in addition to those in the agents/ directory, if it exists), relative to the plugin root"),
exports_external.array(RelativeMarkdownPath().describe("Path to additional agent file (in addition to those in the agents/ directory, if it exists), relative to the plugin root")).describe("List of paths to additional agent files")
])
}));
PluginManifestSkillsSchema = lazySchema(() => exports_external.object({
skills: exports_external.union([
RelativePath().describe("Path to additional skill directory (in addition to those in the skills/ directory, if it exists), relative to the plugin root"),
exports_external.array(RelativePath().describe("Path to additional skill directory (in addition to those in the skills/ directory, if it exists), relative to the plugin root")).describe("List of paths to additional skill directories")
])
}));
PluginManifestOutputStylesSchema = lazySchema(() => exports_external.object({
outputStyles: exports_external.union([
RelativePath().describe("Path to additional output styles directory or file (in addition to those in the output-styles/ directory, if it exists), relative to the plugin root"),
exports_external.array(RelativePath().describe("Path to additional output styles directory or file (in addition to those in the output-styles/ directory, if it exists), relative to the plugin root")).describe("List of paths to additional output styles directories or files")
])
}));
nonEmptyString = lazySchema(() => exports_external.string().min(1));
fileExtension = lazySchema(() => exports_external.string().min(2).refine((ext) => ext.startsWith("."), {
message: 'File extensions must start with dot (e.g., ".ts", not "ts")'
}));
PluginManifestMcpServerSchema = lazySchema(() => exports_external.object({
mcpServers: exports_external.union([
RelativeJSONPath().describe("MCP servers to include in the plugin (in addition to those in the .mcp.json file, if it exists)"),
McpbPath().describe("Path or URL to MCPB file containing MCP server configuration"),
exports_external.record(exports_external.string(), McpServerConfigSchema()).describe("MCP server configurations keyed by server name"),
exports_external.array(exports_external.union([
RelativeJSONPath().describe("Path to MCP servers configuration file"),
McpbPath().describe("Path or URL to MCPB file"),
exports_external.record(exports_external.string(), McpServerConfigSchema()).describe("Inline MCP server configurations")
])).describe("Array of MCP server configurations (paths, MCPB files, or inline definitions)")
])
}));
PluginUserConfigOptionSchema = lazySchema(() => exports_external.object({
type: exports_external.enum(["string", "number", "boolean", "directory", "file"]).describe("Type of the configuration value"),
title: exports_external.string().describe("Human-readable label shown in the config dialog"),
description: exports_external.string().describe("Help text shown beneath the field in the config dialog"),
required: exports_external.boolean().optional().describe("If true, validation fails when this field is empty"),
default: exports_external.union([exports_external.string(), exports_external.number(), exports_external.boolean(), exports_external.array(exports_external.string())]).optional().describe("Default value used when the user provides nothing"),
multiple: exports_external.boolean().optional().describe("For string type: allow an array of strings"),
sensitive: exports_external.boolean().optional().describe("If true, masks dialog input and stores value in secure storage (keychain/credentials file) instead of settings.json"),
min: exports_external.number().optional().describe("Minimum value (number type only)"),
max: exports_external.number().optional().describe("Maximum value (number type only)")
}).strict());
PluginManifestUserConfigSchema = lazySchema(() => exports_external.object({
userConfig: exports_external.record(exports_external.string().regex(/^[A-Za-z_]\w*$/, "Option keys must be valid identifiers (letters, digits, underscore; no leading digit) — they become CLAUDE_PLUGIN_OPTION_ env vars in hooks"), PluginUserConfigOptionSchema()).optional().describe("User-configurable values this plugin needs. Prompted at enable time. " + "Non-sensitive values saved to settings.json; sensitive values to secure storage " + "(macOS keychain or .credentials.json). Available as ${user_config.KEY} in " + "MCP/LSP server config, hook commands, and (non-sensitive only) skill/agent content. " + "Note: sensitive values share a single keychain entry with OAuth tokens — keep " + "secret counts small to stay under the ~2KB stdin-safe limit (see INC-3028).")
}));
PluginManifestChannelsSchema = lazySchema(() => exports_external.object({
channels: exports_external.array(exports_external.object({
server: exports_external.string().min(1).describe("Name of the MCP server this channel binds to. Must match a key in this plugin's mcpServers."),
displayName: exports_external.string().optional().describe('Human-readable name shown in the config dialog title (e.g., "Telegram"). Defaults to the server name.'),
userConfig: exports_external.record(exports_external.string(), PluginUserConfigOptionSchema()).optional().describe("Fields to prompt the user for when enabling this plugin in assistant mode. " + "Saved values are substituted into ${user_config.KEY} references in the mcpServers env.")
}).strict()).describe("Channels this plugin provides. Each entry declares an MCP server as a message channel " + "and optionally specifies user configuration to prompt for at enable time.")
}));
LspServerConfigSchema = lazySchema(() => exports_external.strictObject({
command: exports_external.string().min(1).refine((cmd) => {
if (cmd.includes(" ") && !cmd.startsWith("/")) {
return false;
}
return true;
}, {
message: "Command should not contain spaces. Use args array for arguments."
}).describe('Command to execute the LSP server (e.g., "typescript-language-server")'),
args: exports_external.array(nonEmptyString()).optional().describe("Command-line arguments to pass to the server"),
extensionToLanguage: exports_external.record(fileExtension(), nonEmptyString()).refine((record2) => Object.keys(record2).length > 0, {
message: "extensionToLanguage must have at least one mapping"
}).describe("Mapping from file extension to LSP language ID. File extensions and languages are derived from this mapping."),
transport: exports_external.enum(["stdio", "socket"]).default("stdio").describe("Communication transport mechanism"),
env: exports_external.record(exports_external.string(), exports_external.string()).optional().describe("Environment variables to set when starting the server"),
initializationOptions: exports_external.unknown().optional().describe("Initialization options passed to the server during initialization"),
settings: exports_external.unknown().optional().describe("Settings passed to the server via workspace/didChangeConfiguration"),
workspaceFolder: exports_external.string().optional().describe("Workspace folder path to use for the server"),
startupTimeout: exports_external.number().int().positive().optional().describe("Maximum time to wait for server startup (milliseconds)"),
shutdownTimeout: exports_external.number().int().positive().optional().describe("Maximum time to wait for graceful shutdown (milliseconds)"),
restartOnCrash: exports_external.boolean().optional().describe("Whether to restart the server if it crashes"),
maxRestarts: exports_external.number().int().nonnegative().optional().describe("Maximum number of restart attempts before giving up")
}));
PluginManifestLspServerSchema = lazySchema(() => exports_external.object({
lspServers: exports_external.union([
RelativeJSONPath().describe("Path to .lsp.json configuration file relative to plugin root"),
exports_external.record(exports_external.string(), LspServerConfigSchema()).describe("LSP server configurations keyed by server name"),
exports_external.array(exports_external.union([
RelativeJSONPath().describe("Path to LSP configuration file"),
exports_external.record(exports_external.string(), LspServerConfigSchema()).describe("Inline LSP server configurations")
])).describe("Array of LSP server configurations (paths or inline definitions)")
])
}));
NpmPackageNameSchema = lazySchema(() => exports_external.string().refine((name) => !name.includes("..") && !name.includes("//"), "Package name cannot contain path traversal patterns").refine((name) => {
const scopedPackageRegex = /^@[a-z0-9][a-z0-9-._]*\/[a-z0-9][a-z0-9-._]*$/;
const regularPackageRegex = /^[a-z0-9][a-z0-9-._]*$/;
return scopedPackageRegex.test(name) || regularPackageRegex.test(name);
}, "Invalid npm package name format"));
PluginManifestSettingsSchema = lazySchema(() => exports_external.object({
settings: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Settings to merge when plugin is enabled. " + "Only allowlisted keys are kept (currently: agent)")
}));
PluginManifestSchema = lazySchema(() => exports_external.object({
...PluginManifestMetadataSchema().shape,
...PluginManifestHooksSchema().partial().shape,
...PluginManifestCommandsSchema().partial().shape,
...PluginManifestAgentsSchema().partial().shape,
...PluginManifestSkillsSchema().partial().shape,
...PluginManifestOutputStylesSchema().partial().shape,
...PluginManifestChannelsSchema().partial().shape,
...PluginManifestMcpServerSchema().partial().shape,
...PluginManifestLspServerSchema().partial().shape,
...PluginManifestSettingsSchema().partial().shape,
...PluginManifestUserConfigSchema().partial().shape
}));
MarketplaceSourceSchema = lazySchema(() => exports_external.discriminatedUnion("source", [
exports_external.object({
source: exports_external.literal("url"),
url: exports_external.string().url().describe("Direct URL to marketplace.json file"),
headers: exports_external.record(exports_external.string(), exports_external.string()).optional().describe("Custom HTTP headers (e.g., for authentication)")
}),
exports_external.object({
source: exports_external.literal("github"),
repo: exports_external.string().describe("GitHub repository in owner/repo format"),
ref: exports_external.string().optional().describe('Git branch or tag to use (e.g., "main", "v1.0.0"). Defaults to repository default branch.'),
path: exports_external.string().optional().describe("Path to marketplace.json within repo (defaults to .claude-plugin/marketplace.json)"),
sparsePaths: exports_external.array(exports_external.string()).optional().describe("Directories to include via git sparse-checkout (cone mode). " + "Use for monorepos where the marketplace lives in a subdirectory. " + 'Example: [".claude-plugin", "plugins"]. ' + "If omitted, the full repository is cloned.")
}),
exports_external.object({
source: exports_external.literal("git"),
url: exports_external.string().describe("Full git repository URL"),
ref: exports_external.string().optional().describe('Git branch or tag to use (e.g., "main", "v1.0.0"). Defaults to repository default branch.'),
path: exports_external.string().optional().describe("Path to marketplace.json within repo (defaults to .claude-plugin/marketplace.json)"),
sparsePaths: exports_external.array(exports_external.string()).optional().describe("Directories to include via git sparse-checkout (cone mode). " + "Use for monorepos where the marketplace lives in a subdirectory. " + 'Example: [".claude-plugin", "plugins"]. ' + "If omitted, the full repository is cloned.")
}),
exports_external.object({
source: exports_external.literal("npm"),
package: NpmPackageNameSchema().describe("NPM package containing marketplace.json")
}),
exports_external.object({
source: exports_external.literal("file"),
path: exports_external.string().describe("Local file path to marketplace.json")
}),
exports_external.object({
source: exports_external.literal("directory"),
path: exports_external.string().describe("Local directory containing .claude-plugin/marketplace.json")
}),
exports_external.object({
source: exports_external.literal("hostPattern"),
hostPattern: exports_external.string().describe("Regex pattern to match the host/domain extracted from any marketplace source type. " + 'For github sources, matches against "github.com". For git sources (SSH or HTTPS), ' + "extracts the hostname from the URL. Use in strictKnownMarketplaces to allow all " + 'marketplaces from a specific host (e.g., "^github\\.mycompany\\.com$").')
}),
exports_external.object({
source: exports_external.literal("pathPattern"),
pathPattern: exports_external.string().describe("Regex pattern matched against the .path field of file and directory sources. " + "Use in strictKnownMarketplaces to allow filesystem-based marketplaces alongside " + 'hostPattern restrictions for network sources. Use ".*" to allow all filesystem ' + 'paths, or a narrower pattern (e.g., "^/opt/approved/") to restrict to specific ' + "directories.")
}),
exports_external.object({
source: exports_external.literal("settings"),
name: MarketplaceNameSchema().refine((name) => !ALLOWED_OFFICIAL_MARKETPLACE_NAMES.has(name.toLowerCase()), {
message: "Reserved official marketplace names cannot be used with settings sources. " + "validateOfficialNameSource only accepts github/git sources from anthropics/* " + "for these names; a settings source would be rejected after " + "loadAndCacheMarketplace has already written to disk with cleanupNeeded=false."
}).describe("Marketplace name. Must match the extraKnownMarketplaces key (enforced); " + "the synthetic manifest is written under this name. Same validation " + "as PluginMarketplaceSchema plus reserved-name rejection — " + "validateOfficialNameSource runs after the disk write, too late to clean up."),
plugins: exports_external.array(SettingsMarketplacePluginSchema()).describe("Plugin entries declared inline in settings.json"),
owner: PluginAuthorSchema().optional()
}).describe("Inline marketplace manifest defined directly in settings.json. " + "The reconciler writes a synthetic marketplace.json to the cache; " + "diffMarketplaces detects edits via isEqual on the stored source " + "(the plugins array is inside this object, so edits surface as sourceChanged).")
]));
gitSha = lazySchema(() => exports_external.string().length(40).regex(/^[a-f0-9]{40}$/, "Must be a full 40-character lowercase git commit SHA"));
PluginSourceSchema = lazySchema(() => exports_external.union([
RelativePath().describe("Path to the plugin root, relative to the marketplace root (the directory containing .claude-plugin/, not .claude-plugin/ itself)"),
exports_external.object({
source: exports_external.literal("npm"),
package: NpmPackageNameSchema().or(exports_external.string()).describe("Package name (or url, or local path, or anything else that can be passed to `npm` as a package)"),
version: exports_external.string().optional().describe("Specific version or version range (e.g., ^1.0.0, ~2.1.0)"),
registry: exports_external.string().url().optional().describe("Custom NPM registry URL (defaults to using system default, likely npmjs.org)")
}).describe("NPM package as plugin source"),
exports_external.object({
source: exports_external.literal("pip"),
package: exports_external.string().describe("Python package name as it appears on PyPI"),
version: exports_external.string().optional().describe("Version specifier (e.g., ==1.0.0, >=2.0.0, <3.0.0)"),
registry: exports_external.string().url().optional().describe("Custom PyPI registry URL (defaults to using system default, likely pypi.org)")
}).describe("Python package as plugin source"),
exports_external.object({
source: exports_external.literal("url"),
url: exports_external.string().describe("Full git repository URL (https:// or git@)"),
ref: exports_external.string().optional().describe('Git branch or tag to use (e.g., "main", "v1.0.0"). Defaults to repository default branch.'),
sha: gitSha().optional().describe("Specific commit SHA to use")
}),
exports_external.object({
source: exports_external.literal("github"),
repo: exports_external.string().describe("GitHub repository in owner/repo format"),
ref: exports_external.string().optional().describe('Git branch or tag to use (e.g., "main", "v1.0.0"). Defaults to repository default branch.'),
sha: gitSha().optional().describe("Specific commit SHA to use")
}),
exports_external.object({
source: exports_external.literal("git-subdir"),
url: exports_external.string().describe("Git repository: GitHub owner/repo shorthand, https://, or git@ URL"),
path: exports_external.string().min(1).describe('Subdirectory within the repo containing the plugin (e.g., "tools/claude-plugin"). ' + "Cloned sparsely using partial clone (--filter=tree:0) to minimize bandwidth for monorepos."),
ref: exports_external.string().optional().describe('Git branch or tag to use (e.g., "main", "v1.0.0"). Defaults to repository default branch.'),
sha: gitSha().optional().describe("Specific commit SHA to use")
}).describe("Plugin located in a subdirectory of a larger repository (monorepo). " + "Only the specified subdirectory is materialized; the rest of the repo is not downloaded.")
]));
SettingsMarketplacePluginSchema = lazySchema(() => exports_external.object({
name: exports_external.string().min(1, "Plugin name cannot be empty").refine((name) => !name.includes(" "), {
message: 'Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")'
}).describe("Plugin name as it appears in the target repository"),
source: PluginSourceSchema().describe("Where to fetch the plugin from. Must be a remote source — relative " + "paths have no marketplace repository to resolve against."),
description: exports_external.string().optional(),
version: exports_external.string().optional(),
strict: exports_external.boolean().optional()
}).refine((p) => typeof p.source !== "string", {
message: "Plugins in a settings-sourced marketplace must use remote sources " + '(github, git-subdir, npm, url, pip). Relative-path sources like "./foo" ' + "have no marketplace repository to resolve against."
}));
PluginMarketplaceEntrySchema = lazySchema(() => PluginManifestSchema().partial().extend({
name: exports_external.string().min(1, "Plugin name cannot be empty").refine((name) => !name.includes(" "), {
message: 'Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")'
}).describe("Unique identifier matching the plugin name"),
source: PluginSourceSchema().describe("Where to fetch the plugin from"),
category: exports_external.string().optional().describe('Category for organizing plugins (e.g., "productivity", "development")'),
tags: exports_external.array(exports_external.string()).optional().describe("Tags for searchability and discovery"),
strict: exports_external.boolean().optional().default(true).describe("Require the plugin manifest to be present in the plugin folder. If false, the marketplace entry provides the manifest.")
}));
PluginMarketplaceSchema = lazySchema(() => exports_external.object({
name: MarketplaceNameSchema(),
owner: PluginAuthorSchema().describe("Marketplace maintainer or curator information"),
plugins: exports_external.array(PluginMarketplaceEntrySchema()).describe("Collection of available plugins in this marketplace"),
forceRemoveDeletedPlugins: exports_external.boolean().optional().describe("When true, plugins removed from this marketplace will be automatically uninstalled and flagged for users"),
metadata: exports_external.object({
pluginRoot: exports_external.string().optional().describe("Base path for relative plugin sources"),
version: exports_external.string().optional().describe("Marketplace version"),
description: exports_external.string().optional().describe("Marketplace description")
}).optional().describe("Optional marketplace metadata"),
allowCrossMarketplaceDependenciesOn: exports_external.array(exports_external.string()).optional().describe("Marketplace names whose plugins may be auto-installed as dependencies. Only the root marketplace's allowlist applies — no transitive trust.")
}));
PluginIdSchema = lazySchema(() => exports_external.string().regex(/^[a-z0-9][-a-z0-9._]*@[a-z0-9][-a-z0-9._]*$/i, "Plugin ID must be in format: plugin@marketplace"));
DEP_REF_REGEX = /^[a-z0-9][-a-z0-9._]*(@[a-z0-9][-a-z0-9._]*)?(@\^[^@]*)?$/i;
DependencyRefSchema = lazySchema(() => exports_external.union([
exports_external.string().regex(DEP_REF_REGEX, "Dependency must be a plugin name, optionally qualified with @marketplace").transform((s) => s.replace(/@\^[^@]*$/, "")),
exports_external.object({
name: exports_external.string().min(1).regex(/^[a-z0-9][-a-z0-9._]*$/i),
marketplace: exports_external.string().min(1).regex(/^[a-z0-9][-a-z0-9._]*$/i).optional()
}).loose().transform((o2) => o2.marketplace ? `${o2.name}@${o2.marketplace}` : o2.name)
]));
SettingsPluginEntrySchema = lazySchema(() => exports_external.union([
PluginIdSchema(),
exports_external.object({
id: PluginIdSchema().describe('Plugin identifier (e.g., "formatter@tools")'),
version: exports_external.string().optional().describe('Version constraint (e.g., "^2.0.0")'),
required: exports_external.boolean().optional().describe("If true, cannot be disabled"),
config: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Plugin-specific configuration")
})
]));
InstalledPluginSchema = lazySchema(() => exports_external.object({
version: exports_external.string().describe("Currently installed version"),
installedAt: exports_external.string().describe("ISO 8601 timestamp of installation"),
lastUpdated: exports_external.string().optional().describe("ISO 8601 timestamp of last update"),
installPath: exports_external.string().describe("Absolute path to the installed plugin directory"),
gitCommitSha: exports_external.string().optional().describe("Git commit SHA for git-based plugins (for version tracking)")
}));
InstalledPluginsFileSchemaV1 = lazySchema(() => exports_external.object({
version: exports_external.literal(1).describe("Schema version 1"),
plugins: exports_external.record(PluginIdSchema(), InstalledPluginSchema()).describe("Map of plugin IDs to their installation metadata")
}));
PluginScopeSchema = lazySchema(() => exports_external.enum(["managed", "user", "project", "local"]));
PluginInstallationEntrySchema = lazySchema(() => exports_external.object({
scope: PluginScopeSchema().describe("Installation scope"),
projectPath: exports_external.string().optional().describe("Project path (required for project/local scopes)"),
installPath: exports_external.string().describe("Absolute path to the versioned plugin directory"),
version: exports_external.string().optional().describe("Currently installed version"),
installedAt: exports_external.string().optional().describe("ISO 8601 timestamp of installation"),
lastUpdated: exports_external.string().optional().describe("ISO 8601 timestamp of last update"),
gitCommitSha: exports_external.string().optional().describe("Git commit SHA for git-based plugins")
}));
InstalledPluginsFileSchemaV2 = lazySchema(() => exports_external.object({
version: exports_external.literal(2).describe("Schema version 2"),
plugins: exports_external.record(PluginIdSchema(), exports_external.array(PluginInstallationEntrySchema())).describe("Map of plugin IDs to arrays of installation entries")
}));
InstalledPluginsFileSchema = lazySchema(() => exports_external.union([InstalledPluginsFileSchemaV1(), InstalledPluginsFileSchemaV2()]));
KnownMarketplaceSchema = lazySchema(() => exports_external.object({
source: MarketplaceSourceSchema().describe("Where to fetch the marketplace from"),
installLocation: exports_external.string().describe("Local cache path where marketplace manifest is stored"),
lastUpdated: exports_external.string().describe("ISO 8601 timestamp of last marketplace refresh"),
autoUpdate: exports_external.boolean().optional().describe("Whether to automatically update this marketplace and its installed plugins on startup")
}));
KnownMarketplacesFileSchema = lazySchema(() => exports_external.record(exports_external.string(), KnownMarketplaceSchema()));
});
// src/services/mcp/normalization.ts
function normalizeNameForMCP(name) {
let normalized = name.replace(/[^a-zA-Z0-9_-]/g, "_");
if (name.startsWith(CLAUDEAI_SERVER_PREFIX)) {
normalized = normalized.replace(/_+/g, "_").replace(/^_|_$/g, "");
}
return normalized;
}
var CLAUDEAI_SERVER_PREFIX = "claude.ai ";
// src/services/mcp/mcpStringUtils.ts
function mcpInfoFromString(toolString) {
const parts = toolString.split("__");
const [mcpPart, serverName, ...toolNameParts] = parts;
if (mcpPart !== "mcp" || !serverName) {
return null;
}
const toolName = toolNameParts.length > 0 ? toolNameParts.join("__") : undefined;
return { serverName, toolName };
}
function getMcpPrefix(serverName) {
return `mcp__${normalizeNameForMCP(serverName)}__`;
}
function buildMcpToolName(serverName, toolName) {
return `${getMcpPrefix(serverName)}${normalizeNameForMCP(toolName)}`;
}
function getToolNameForPermissionCheck(tool) {
return tool.mcpInfo ? buildMcpToolName(tool.mcpInfo.serverName, tool.mcpInfo.toolName) : tool.name;
}
function getMcpDisplayName(fullName, serverName) {
const prefix = `mcp__${normalizeNameForMCP(serverName)}__`;
return fullName.replace(prefix, "");
}
function extractMcpToolDisplayName(userFacingName) {
let withoutSuffix = userFacingName.replace(/\s*\(MCP\)\s*$/, "");
withoutSuffix = withoutSuffix.trim();
const dashIndex = withoutSuffix.indexOf(" - ");
if (dashIndex !== -1) {
const displayName = withoutSuffix.substring(dashIndex + 3).trim();
return displayName;
}
return withoutSuffix;
}
var init_mcpStringUtils = () => {};
// src/tools/AgentTool/constants.ts
var AGENT_TOOL_NAME = "Agent", LEGACY_AGENT_TOOL_NAME = "Task", VERIFICATION_AGENT_TYPE = "verification", ONE_SHOT_BUILTIN_AGENT_TYPES;
var init_constants4 = __esm(() => {
ONE_SHOT_BUILTIN_AGENT_TYPES = new Set([
"Explore",
"Plan"
]);
});
// src/tools/TaskOutputTool/constants.ts
var TASK_OUTPUT_TOOL_NAME = "TaskOutput";
// src/tools/TaskStopTool/prompt.ts
var TASK_STOP_TOOL_NAME = "TaskStop", DESCRIPTION = `
- Stops a running background task by its ID
- Takes a task_id parameter identifying the task to stop
- Returns a success or failure status
- Use this tool when you need to terminate a long-running task
`;
// src/utils/permissions/permissionRuleParser.ts
function normalizeLegacyToolName(name) {
return LEGACY_TOOL_NAME_ALIASES[name] ?? name;
}
function getLegacyToolNames(canonicalName) {
const result = [];
for (const [legacy, canonical] of Object.entries(LEGACY_TOOL_NAME_ALIASES)) {
if (canonical === canonicalName)
result.push(legacy);
}
return result;
}
function escapeRuleContent(content) {
return content.replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)");
}
function unescapeRuleContent(content) {
return content.replace(/\\\(/g, "(").replace(/\\\)/g, ")").replace(/\\\\/g, "\\");
}
function permissionRuleValueFromString(ruleString) {
const openParenIndex = findFirstUnescapedChar(ruleString, "(");
if (openParenIndex === -1) {
return { toolName: normalizeLegacyToolName(ruleString) };
}
const closeParenIndex = findLastUnescapedChar(ruleString, ")");
if (closeParenIndex === -1 || closeParenIndex <= openParenIndex) {
return { toolName: normalizeLegacyToolName(ruleString) };
}
if (closeParenIndex !== ruleString.length - 1) {
return { toolName: normalizeLegacyToolName(ruleString) };
}
const toolName = ruleString.substring(0, openParenIndex);
const rawContent = ruleString.substring(openParenIndex + 1, closeParenIndex);
if (!toolName) {
return { toolName: normalizeLegacyToolName(ruleString) };
}
if (rawContent === "" || rawContent === "*") {
return { toolName: normalizeLegacyToolName(toolName) };
}
const ruleContent = unescapeRuleContent(rawContent);
return { toolName: normalizeLegacyToolName(toolName), ruleContent };
}
function permissionRuleValueToString(ruleValue) {
if (!ruleValue.ruleContent) {
return ruleValue.toolName;
}
const escapedContent = escapeRuleContent(ruleValue.ruleContent);
return `${ruleValue.toolName}(${escapedContent})`;
}
function findFirstUnescapedChar(str, char) {
for (let i2 = 0;i2 < str.length; i2++) {
if (str[i2] === char) {
let backslashCount = 0;
let j2 = i2 - 1;
while (j2 >= 0 && str[j2] === "\\") {
backslashCount++;
j2--;
}
if (backslashCount % 2 === 0) {
return i2;
}
}
}
return -1;
}
function findLastUnescapedChar(str, char) {
for (let i2 = str.length - 1;i2 >= 0; i2--) {
if (str[i2] === char) {
let backslashCount = 0;
let j2 = i2 - 1;
while (j2 >= 0 && str[j2] === "\\") {
backslashCount++;
j2--;
}
if (backslashCount % 2 === 0) {
return i2;
}
}
}
return -1;
}
var LEGACY_TOOL_NAME_ALIASES;
var init_permissionRuleParser = __esm(() => {
init_constants4();
LEGACY_TOOL_NAME_ALIASES = {
Task: AGENT_TOOL_NAME,
KillShell: TASK_STOP_TOOL_NAME,
AgentOutputTool: TASK_OUTPUT_TOOL_NAME,
BashOutputTool: TASK_OUTPUT_TOOL_NAME,
...{}
};
});
// src/utils/stringUtils.ts
function escapeRegExp(str) {
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
function plural(n2, word, pluralWord = word + "s") {
return n2 === 1 ? word : pluralWord;
}
function firstLineOf(s) {
const nl = s.indexOf(`
`);
return nl === -1 ? s : s.slice(0, nl);
}
function countCharInString(str, char, start = 0) {
let count3 = 0;
let i2 = str.indexOf(char, start);
while (i2 !== -1) {
count3++;
i2 = str.indexOf(char, i2 + 1);
}
return count3;
}
function normalizeFullWidthDigits(input) {
return input.replace(/[0-9]/g, (ch) => String.fromCharCode(ch.charCodeAt(0) - 65248));
}
function normalizeFullWidthSpace(input) {
return input.replace(/\u3000/g, " ");
}
function safeJoinLines(lines, delimiter = ",", maxSize = MAX_STRING_LENGTH) {
const truncationMarker = "...[truncated]";
let result = "";
for (const line of lines) {
const delimiterToAdd = result ? delimiter : "";
const fullAddition = delimiterToAdd + line;
if (result.length + fullAddition.length <= maxSize) {
result += fullAddition;
} else {
const remainingSpace = maxSize - result.length - delimiterToAdd.length - truncationMarker.length;
if (remainingSpace > 0) {
result += delimiterToAdd + line.slice(0, remainingSpace) + truncationMarker;
} else {
result += truncationMarker;
}
return result;
}
}
return result;
}
class EndTruncatingAccumulator {
maxSize;
content = "";
isTruncated = false;
totalBytesReceived = 0;
constructor(maxSize = MAX_STRING_LENGTH) {
this.maxSize = maxSize;
}
append(data) {
const str = typeof data === "string" ? data : data.toString();
this.totalBytesReceived += str.length;
if (this.isTruncated && this.content.length >= this.maxSize) {
return;
}
if (this.content.length + str.length > this.maxSize) {
const remainingSpace = this.maxSize - this.content.length;
if (remainingSpace > 0) {
this.content += str.slice(0, remainingSpace);
}
this.isTruncated = true;
} else {
this.content += str;
}
}
toString() {
if (!this.isTruncated) {
return this.content;
}
const truncatedBytes = this.totalBytesReceived - this.maxSize;
const truncatedKB = Math.round(truncatedBytes / 1024);
return this.content + `
... [output truncated - ${truncatedKB}KB removed]`;
}
clear() {
this.content = "";
this.isTruncated = false;
this.totalBytesReceived = 0;
}
get length() {
return this.content.length;
}
get truncated() {
return this.isTruncated;
}
get totalBytes() {
return this.totalBytesReceived;
}
}
function truncateToLines(text, maxLines) {
const lines = text.split(`
`);
if (lines.length <= maxLines) {
return text;
}
return lines.slice(0, maxLines).join(`
`) + "…";
}
var MAX_STRING_LENGTH;
var init_stringUtils = __esm(() => {
MAX_STRING_LENGTH = 2 ** 25;
});
// src/utils/settings/toolValidationConfig.ts
function isFilePatternTool(toolName) {
return TOOL_VALIDATION_CONFIG.filePatternTools.includes(toolName);
}
function isBashPrefixTool(toolName) {
return TOOL_VALIDATION_CONFIG.bashPrefixTools.includes(toolName);
}
function getCustomValidation(toolName) {
return TOOL_VALIDATION_CONFIG.customValidation[toolName];
}
var TOOL_VALIDATION_CONFIG;
var init_toolValidationConfig = __esm(() => {
TOOL_VALIDATION_CONFIG = {
filePatternTools: [
"Read",
"Write",
"Edit",
"Glob",
"NotebookRead",
"NotebookEdit"
],
bashPrefixTools: ["Bash"],
customValidation: {
WebSearch: (content) => {
if (content.includes("*") || content.includes("?")) {
return {
valid: false,
error: "WebSearch does not support wildcards",
suggestion: "Use exact search terms without * or ?",
examples: ["WebSearch(claude ai)", "WebSearch(typescript tutorial)"]
};
}
return { valid: true };
},
WebFetch: (content) => {
if (content.includes("://") || content.startsWith("http")) {
return {
valid: false,
error: "WebFetch permissions use domain format, not URLs",
suggestion: 'Use "domain:hostname" format',
examples: [
"WebFetch(domain:example.com)",
"WebFetch(domain:github.com)"
]
};
}
if (!content.startsWith("domain:")) {
return {
valid: false,
error: 'WebFetch permissions must use "domain:" prefix',
suggestion: 'Use "domain:hostname" format',
examples: [
"WebFetch(domain:example.com)",
"WebFetch(domain:*.google.com)"
]
};
}
return { valid: true };
}
}
};
});
// src/utils/settings/permissionValidation.ts
function isEscaped(str, index) {
let backslashCount = 0;
let j2 = index - 1;
while (j2 >= 0 && str[j2] === "\\") {
backslashCount++;
j2--;
}
return backslashCount % 2 !== 0;
}
function countUnescapedChar(str, char) {
let count3 = 0;
for (let i2 = 0;i2 < str.length; i2++) {
if (str[i2] === char && !isEscaped(str, i2)) {
count3++;
}
}
return count3;
}
function hasUnescapedEmptyParens(str) {
for (let i2 = 0;i2 < str.length - 1; i2++) {
if (str[i2] === "(" && str[i2 + 1] === ")") {
if (!isEscaped(str, i2)) {
return true;
}
}
}
return false;
}
function validatePermissionRule(rule) {
if (!rule || rule.trim() === "") {
return { valid: false, error: "Permission rule cannot be empty" };
}
const openCount = countUnescapedChar(rule, "(");
const closeCount = countUnescapedChar(rule, ")");
if (openCount !== closeCount) {
return {
valid: false,
error: "Mismatched parentheses",
suggestion: "Ensure all opening parentheses have matching closing parentheses"
};
}
if (hasUnescapedEmptyParens(rule)) {
const toolName = rule.substring(0, rule.indexOf("("));
if (!toolName) {
return {
valid: false,
error: "Empty parentheses with no tool name",
suggestion: "Specify a tool name before the parentheses"
};
}
return {
valid: false,
error: "Empty parentheses",
suggestion: `Either specify a pattern or use just "${toolName}" without parentheses`,
examples: [`${toolName}`, `${toolName}(some-pattern)`]
};
}
const parsed = permissionRuleValueFromString(rule);
const mcpInfo = mcpInfoFromString(parsed.toolName);
if (mcpInfo) {
if (parsed.ruleContent !== undefined || countUnescapedChar(rule, "(") > 0) {
return {
valid: false,
error: "MCP rules do not support patterns in parentheses",
suggestion: `Use "${parsed.toolName}" without parentheses, or use "mcp__${mcpInfo.serverName}__*" for all tools`,
examples: [
`mcp__${mcpInfo.serverName}`,
`mcp__${mcpInfo.serverName}__*`,
mcpInfo.toolName && mcpInfo.toolName !== "*" ? `mcp__${mcpInfo.serverName}__${mcpInfo.toolName}` : undefined
].filter(Boolean)
};
}
return { valid: true };
}
if (!parsed.toolName || parsed.toolName.length === 0) {
return { valid: false, error: "Tool name cannot be empty" };
}
if (parsed.toolName[0] !== parsed.toolName[0]?.toUpperCase()) {
return {
valid: false,
error: "Tool names must start with uppercase",
suggestion: `Use "${capitalize(String(parsed.toolName))}"`
};
}
const customValidation = getCustomValidation(parsed.toolName);
if (customValidation && parsed.ruleContent !== undefined) {
const customResult = customValidation(parsed.ruleContent);
if (!customResult.valid) {
return customResult;
}
}
if (isBashPrefixTool(parsed.toolName) && parsed.ruleContent !== undefined) {
const content = parsed.ruleContent;
if (content.includes(":*") && !content.endsWith(":*")) {
return {
valid: false,
error: "The :* pattern must be at the end",
suggestion: "Move :* to the end for prefix matching, or use * for wildcard matching",
examples: [
"Bash(npm run:*) - prefix matching (legacy)",
"Bash(npm run *) - wildcard matching"
]
};
}
if (content === ":*") {
return {
valid: false,
error: "Prefix cannot be empty before :*",
suggestion: "Specify a command prefix before :*",
examples: ["Bash(npm:*)", "Bash(git:*)"]
};
}
}
if (isFilePatternTool(parsed.toolName) && parsed.ruleContent !== undefined) {
const content = parsed.ruleContent;
if (content.includes(":*")) {
return {
valid: false,
error: 'The ":*" syntax is only for Bash prefix rules',
suggestion: 'Use glob patterns like "*" or "**" for file matching',
examples: [
`${parsed.toolName}(*.ts) - matches .ts files`,
`${parsed.toolName}(src/**) - matches all files in src`,
`${parsed.toolName}(**/*.test.ts) - matches test files`
]
};
}
if (content.includes("*") && !content.match(/^\*|\*$|\*\*|\/\*|\*\.|\*\)/) && !content.includes("**")) {
return {
valid: false,
error: "Wildcard placement might be incorrect",
suggestion: "Wildcards are typically used at path boundaries",
examples: [
`${parsed.toolName}(*.js) - all .js files`,
`${parsed.toolName}(src/*) - all files directly in src`,
`${parsed.toolName}(src/**) - all files recursively in src`
]
};
}
}
return { valid: true };
}
var PermissionRuleSchema;
var init_permissionValidation = __esm(() => {
init_v4();
init_mcpStringUtils();
init_permissionRuleParser();
init_stringUtils();
init_toolValidationConfig();
PermissionRuleSchema = lazySchema(() => exports_external.string().superRefine((val, ctx) => {
const result = validatePermissionRule(val);
if (!result.valid) {
let message = result.error;
if (result.suggestion) {
message += `. ${result.suggestion}`;
}
if (result.examples && result.examples.length > 0) {
message += `. Examples: ${result.examples.join(", ")}`;
}
ctx.addIssue({
code: exports_external.ZodIssueCode.custom,
message,
params: { received: val }
});
}
}));
});
// src/utils/settings/types.ts
function isMcpServerNameEntry(entry) {
return "serverName" in entry && entry.serverName !== undefined;
}
function isMcpServerCommandEntry(entry) {
return "serverCommand" in entry && entry.serverCommand !== undefined;
}
function isMcpServerUrlEntry(entry) {
return "serverUrl" in entry && entry.serverUrl !== undefined;
}
var EnvironmentVariablesSchema, PermissionsSchema, ExtraKnownMarketplaceSchema, AllowedMcpServerEntrySchema, DeniedMcpServerEntrySchema, CUSTOMIZATION_SURFACES, SettingsSchema;
var init_types2 = __esm(() => {
init_v4();
init_sandboxTypes();
init_envUtils();
init_PermissionMode();
init_schemas3();
init_constants3();
init_permissionValidation();
init_hooks();
init_hooks();
EnvironmentVariablesSchema = lazySchema(() => exports_external.record(exports_external.string(), exports_external.coerce.string()));
PermissionsSchema = lazySchema(() => exports_external.object({
allow: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules for allowed operations"),
deny: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules for denied operations"),
ask: exports_external.array(PermissionRuleSchema()).optional().describe("List of permission rules that should always prompt for confirmation"),
defaultMode: exports_external.enum(EXTERNAL_PERMISSION_MODES).optional().describe("Default permission mode when Claude Code needs access"),
disableBypassPermissionsMode: exports_external.enum(["disable"]).optional().describe("Disable the ability to bypass permission prompts"),
...{},
additionalDirectories: exports_external.array(exports_external.string()).optional().describe("Additional directories to include in the permission scope")
}).passthrough());
ExtraKnownMarketplaceSchema = lazySchema(() => exports_external.object({
source: MarketplaceSourceSchema().describe("Where to fetch the marketplace from"),
installLocation: exports_external.string().optional().describe("Local cache path where marketplace manifest is stored (auto-generated if not provided)"),
autoUpdate: exports_external.boolean().optional().describe("Whether to automatically update this marketplace and its installed plugins on startup")
}));
AllowedMcpServerEntrySchema = lazySchema(() => exports_external.object({
serverName: exports_external.string().regex(/^[a-zA-Z0-9_-]+$/, "Server name can only contain letters, numbers, hyphens, and underscores").optional().describe("Name of the MCP server that users are allowed to configure"),
serverCommand: exports_external.array(exports_external.string()).min(1, "Server command must have at least one element (the command)").optional().describe("Command array [command, ...args] to match exactly for allowed stdio servers"),
serverUrl: exports_external.string().optional().describe('URL pattern with wildcard support (e.g., "https://*.example.com/*") for allowed remote MCP servers')
}).refine((data) => {
const defined = count2([
data.serverName !== undefined,
data.serverCommand !== undefined,
data.serverUrl !== undefined
], Boolean);
return defined === 1;
}, {
message: 'Entry must have exactly one of "serverName", "serverCommand", or "serverUrl"'
}));
DeniedMcpServerEntrySchema = lazySchema(() => exports_external.object({
serverName: exports_external.string().regex(/^[a-zA-Z0-9_-]+$/, "Server name can only contain letters, numbers, hyphens, and underscores").optional().describe("Name of the MCP server that is explicitly blocked"),
serverCommand: exports_external.array(exports_external.string()).min(1, "Server command must have at least one element (the command)").optional().describe("Command array [command, ...args] to match exactly for blocked stdio servers"),
serverUrl: exports_external.string().optional().describe('URL pattern with wildcard support (e.g., "https://*.example.com/*") for blocked remote MCP servers')
}).refine((data) => {
const defined = count2([
data.serverName !== undefined,
data.serverCommand !== undefined,
data.serverUrl !== undefined
], Boolean);
return defined === 1;
}, {
message: 'Entry must have exactly one of "serverName", "serverCommand", or "serverUrl"'
}));
CUSTOMIZATION_SURFACES = [
"skills",
"agents",
"hooks",
"mcp"
];
SettingsSchema = lazySchema(() => exports_external.object({
$schema: exports_external.literal(CLAUDE_CODE_SETTINGS_SCHEMA_URL).optional().describe("JSON Schema reference for Claude Code settings"),
apiKeyHelper: exports_external.string().optional().describe("Path to a script that outputs authentication values"),
awsCredentialExport: exports_external.string().optional().describe("Path to a script that exports AWS credentials"),
awsAuthRefresh: exports_external.string().optional().describe("Path to a script that refreshes AWS authentication"),
gcpAuthRefresh: exports_external.string().optional().describe("Command to refresh GCP authentication (e.g., gcloud auth application-default login)"),
...isEnvTruthy(process.env.CLAUDE_CODE_ENABLE_XAA) ? {
xaaIdp: exports_external.object({
issuer: exports_external.string().url().describe("IdP issuer URL for OIDC discovery"),
clientId: exports_external.string().describe("Claude Code's client_id registered at the IdP"),
callbackPort: exports_external.number().int().positive().optional().describe("Fixed loopback callback port for the IdP OIDC login. " + "Only needed if the IdP does not honor RFC 8252 port-any matching.")
}).optional().describe("XAA (SEP-990) IdP connection. Configure once; all XAA-enabled MCP servers reuse this.")
} : {},
fileSuggestion: exports_external.object({
type: exports_external.literal("command"),
command: exports_external.string()
}).optional().describe("Custom file suggestion configuration for @ mentions"),
respectGitignore: exports_external.boolean().optional().describe("Whether file picker should respect .gitignore files (default: true). " + "Note: .ignore files are always respected."),
cleanupPeriodDays: exports_external.number().nonnegative().int().optional().describe("Number of days to retain chat transcripts (default: 30). Setting to 0 disables session persistence entirely: no transcripts are written and existing transcripts are deleted at startup."),
env: EnvironmentVariablesSchema().optional().describe("Environment variables to set for Claude Code sessions"),
attribution: exports_external.object({
commit: exports_external.string().optional().describe("Attribution text for git commits, including any trailers. " + "Empty string hides attribution."),
pr: exports_external.string().optional().describe("Attribution text for pull request descriptions. " + "Empty string hides attribution.")
}).optional().describe("Customize attribution text for commits and PRs. " + "Each field defaults to the standard Claude Code attribution if not set."),
includeCoAuthoredBy: exports_external.boolean().optional().describe("Deprecated: Use attribution instead. " + "Whether to include Claude's co-authored by attribution in commits and PRs (defaults to true)"),
includeGitInstructions: exports_external.boolean().optional().describe("Include built-in commit and PR workflow instructions in Claude's system prompt (default: true)"),
permissions: PermissionsSchema().optional().describe("Tool usage permissions configuration"),
model: exports_external.string().optional().describe("Override the default model used by Claude Code"),
availableModels: exports_external.array(exports_external.string()).optional().describe("Allowlist of models that users can select. " + 'Accepts family aliases ("opus" allows any opus version), ' + 'version prefixes ("opus-4-5" allows only that version), ' + "and full model IDs. " + "If undefined, all models are available. If empty array, only the default model is available. " + "Typically set in managed settings by enterprise administrators."),
modelOverrides: exports_external.record(exports_external.string(), exports_external.string()).optional().describe('Override mapping from Anthropic model ID (e.g. "claude-opus-4-6") to provider-specific ' + "model ID (e.g. a Bedrock inference profile ARN). Typically set in managed settings by " + "enterprise administrators."),
enableAllProjectMcpServers: exports_external.boolean().optional().describe("Whether to automatically approve all MCP servers in the project"),
enabledMcpjsonServers: exports_external.array(exports_external.string()).optional().describe("List of approved MCP servers from .mcp.json"),
disabledMcpjsonServers: exports_external.array(exports_external.string()).optional().describe("List of rejected MCP servers from .mcp.json"),
allowedMcpServers: exports_external.array(AllowedMcpServerEntrySchema()).optional().describe("Enterprise allowlist of MCP servers that can be used. " + "Applies to all scopes including enterprise servers from managed-mcp.json. " + "If undefined, all servers are allowed. If empty array, no servers are allowed. " + "Denylist takes precedence - if a server is on both lists, it is denied."),
deniedMcpServers: exports_external.array(DeniedMcpServerEntrySchema()).optional().describe("Enterprise denylist of MCP servers that are explicitly blocked. " + "If a server is on the denylist, it will be blocked across all scopes including enterprise. " + "Denylist takes precedence over allowlist - if a server is on both lists, it is denied."),
hooks: HooksSchema().optional().describe("Custom commands to run before/after tool executions"),
worktree: exports_external.object({
symlinkDirectories: exports_external.array(exports_external.string()).optional().describe("Directories to symlink from main repository to worktrees to avoid disk bloat. " + "Must be explicitly configured - no directories are symlinked by default. " + 'Common examples: "node_modules", ".cache", ".bin"'),
sparsePaths: exports_external.array(exports_external.string()).optional().describe("Directories to include when creating worktrees, via git sparse-checkout (cone mode). " + "Dramatically faster in large monorepos — only the listed paths are written to disk.")
}).optional().describe("Git worktree configuration for --worktree flag."),
disableAllHooks: exports_external.boolean().optional().describe("Disable all hooks and statusLine execution"),
defaultShell: exports_external.enum(["bash", "powershell"]).optional().describe("Default shell for input-box ! commands. " + "Defaults to 'bash' on all platforms (no Windows auto-flip)."),
allowManagedHooksOnly: exports_external.boolean().optional().describe("When true (and set in managed settings), only hooks from managed settings run. " + "User, project, and local hooks are ignored."),
allowedHttpHookUrls: exports_external.array(exports_external.string()).optional().describe("Allowlist of URL patterns that HTTP hooks may target. " + 'Supports * as a wildcard (e.g. "https://hooks.example.com/*"). ' + "When set, HTTP hooks with non-matching URLs are blocked. " + "If undefined, all URLs are allowed. If empty array, no HTTP hooks are allowed. " + "Arrays merge across settings sources (same semantics as allowedMcpServers)."),
httpHookAllowedEnvVars: exports_external.array(exports_external.string()).optional().describe("Allowlist of environment variable names HTTP hooks may interpolate into headers. " + "When set, each hook's effective allowedEnvVars is the intersection with this list. " + "If undefined, no restriction is applied. " + "Arrays merge across settings sources (same semantics as allowedMcpServers)."),
allowManagedPermissionRulesOnly: exports_external.boolean().optional().describe("When true (and set in managed settings), only permission rules (allow/deny/ask) from managed settings are respected. " + "User, project, local, and CLI argument permission rules are ignored."),
allowManagedMcpServersOnly: exports_external.boolean().optional().describe("When true (and set in managed settings), allowedMcpServers is only read from managed settings. " + "deniedMcpServers still merges from all sources, so users can deny servers for themselves. " + "Users can still add their own MCP servers, but only the admin-defined allowlist applies."),
strictPluginOnlyCustomization: exports_external.preprocess((v2) => Array.isArray(v2) ? v2.filter((x3) => CUSTOMIZATION_SURFACES.includes(x3)) : v2, exports_external.union([exports_external.boolean(), exports_external.array(exports_external.enum(CUSTOMIZATION_SURFACES))])).optional().catch(undefined).describe("When set in managed settings, blocks non-plugin customization sources for the listed surfaces. " + 'Array form locks specific surfaces (e.g. ["skills", "hooks"]); `true` locks all four; `false` is an explicit no-op. ' + "Blocked: ~/.claude/{surface}/, .claude/{surface}/ (project), settings.json hooks, .mcp.json. " + "NOT blocked: managed (policySettings) sources, plugin-provided customizations. " + "Composes with strictKnownMarketplaces for end-to-end admin control — plugins gated by " + "marketplace allowlist, everything else blocked here."),
statusLine: exports_external.object({
type: exports_external.literal("command"),
command: exports_external.string(),
padding: exports_external.number().optional()
}).optional().describe("Custom status line display configuration"),
enabledPlugins: exports_external.record(exports_external.string(), exports_external.union([exports_external.array(exports_external.string()), exports_external.boolean(), exports_external.undefined()])).optional().describe('Enabled plugins using plugin-id@marketplace-id format. Example: { "formatter@anthropic-tools": true }. Also supports extended format with version constraints.'),
extraKnownMarketplaces: exports_external.record(exports_external.string(), ExtraKnownMarketplaceSchema()).check((ctx) => {
for (const [key, entry] of Object.entries(ctx.value)) {
if (entry.source.source === "settings" && entry.source.name !== key) {
ctx.issues.push({
code: "custom",
input: entry.source.name,
path: [key, "source", "name"],
message: `Settings-sourced marketplace name must match its extraKnownMarketplaces key ` + `(got key "${key}" but source.name "${entry.source.name}")`
});
}
}
}).optional().describe("Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources."),
strictKnownMarketplaces: exports_external.array(MarketplaceSourceSchema()).optional().describe("Enterprise strict list of allowed marketplace sources. When set in managed settings, " + "ONLY these exact sources can be added as marketplaces. The check happens BEFORE " + "downloading, so blocked sources never touch the filesystem. " + "Note: this is a policy gate only — it does NOT register marketplaces. " + "To pre-register allowed marketplaces for users, also set extraKnownMarketplaces."),
blockedMarketplaces: exports_external.array(MarketplaceSourceSchema()).optional().describe("Enterprise blocklist of marketplace sources. When set in managed settings, " + "these exact sources are blocked from being added as marketplaces. The check happens BEFORE " + "downloading, so blocked sources never touch the filesystem."),
forceLoginMethod: exports_external.enum(["claudeai", "console"]).optional().describe('Force a specific login method: "claudeai" for Claude Pro/Max, "console" for Console billing'),
forceLoginOrgUUID: exports_external.string().optional().describe("Organization UUID to use for OAuth login"),
otelHeadersHelper: exports_external.string().optional().describe("Path to a script that outputs OpenTelemetry headers"),
outputStyle: exports_external.string().optional().describe("Controls the output style for assistant responses"),
language: exports_external.string().optional().describe('Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")'),
skipWebFetchPreflight: exports_external.boolean().optional().describe("Skip the WebFetch blocklist check for enterprise environments with restrictive security policies"),
sandbox: SandboxSettingsSchema().optional(),
feedbackSurveyRate: exports_external.number().min(0).max(1).optional().describe("Probability (0–1) that the session quality survey appears when eligible. 0.05 is a reasonable starting point."),
spinnerTipsEnabled: exports_external.boolean().optional().describe("Whether to show tips in the spinner"),
spinnerVerbs: exports_external.object({
mode: exports_external.enum(["append", "replace"]),
verbs: exports_external.array(exports_external.string())
}).optional().describe('Customize spinner verbs. mode: "append" adds verbs to defaults, "replace" uses only your verbs.'),
spinnerTipsOverride: exports_external.object({
excludeDefault: exports_external.boolean().optional(),
tips: exports_external.array(exports_external.string())
}).optional().describe("Override spinner tips. tips: array of tip strings. excludeDefault: if true, only show custom tips (default: false)."),
syntaxHighlightingDisabled: exports_external.boolean().optional().describe("Whether to disable syntax highlighting in diffs"),
terminalTitleFromRename: exports_external.boolean().optional().describe("Whether /rename updates the terminal tab title (defaults to true). Set to false to keep auto-generated topic titles."),
alwaysThinkingEnabled: exports_external.boolean().optional().describe("When false, thinking is disabled. When absent or true, thinking is " + "enabled automatically for supported models."),
effortLevel: exports_external.enum(process.env.USER_TYPE === "ant" ? ["low", "medium", "high", "max"] : ["low", "medium", "high"]).optional().catch(undefined).describe("Persisted effort level for supported models."),
advisorModel: exports_external.string().optional().describe("Advisor model for the server-side advisor tool."),
fastMode: exports_external.boolean().optional().describe("When true, fast mode is enabled. When absent or false, fast mode is off."),
fastModePerSessionOptIn: exports_external.boolean().optional().describe("When true, fast mode does not persist across sessions. Each session starts with fast mode off."),
promptSuggestionEnabled: exports_external.boolean().optional().describe("When false, prompt suggestions are disabled. When absent or true, " + "prompt suggestions are enabled."),
showClearContextOnPlanAccept: exports_external.boolean().optional().describe('When true, the plan-approval dialog offers a "clear context" option. Defaults to false.'),
agent: exports_external.string().optional().describe("Name of an agent (built-in or custom) to use for the main thread. " + "Applies the agent's system prompt, tool restrictions, and model."),
companyAnnouncements: exports_external.array(exports_external.string()).optional().describe("Company announcements to display at startup (one will be randomly selected if multiple are provided)"),
pluginConfigs: exports_external.record(exports_external.string(), exports_external.object({
mcpServers: exports_external.record(exports_external.string(), exports_external.record(exports_external.string(), exports_external.union([
exports_external.string(),
exports_external.number(),
exports_external.boolean(),
exports_external.array(exports_external.string())
]))).optional().describe("User configuration values for MCP servers keyed by server name"),
options: exports_external.record(exports_external.string(), exports_external.union([
exports_external.string(),
exports_external.number(),
exports_external.boolean(),
exports_external.array(exports_external.string())
])).optional().describe("Non-sensitive option values from plugin manifest userConfig, keyed by option name. Sensitive values go to secure storage instead.")
})).optional().describe("Per-plugin configuration including MCP server user configs, keyed by plugin ID (plugin@marketplace format)"),
remote: exports_external.object({
defaultEnvironmentId: exports_external.string().optional().describe("Default environment ID to use for remote sessions")
}).optional().describe("Remote session configuration"),
autoUpdatesChannel: exports_external.enum(["latest", "stable"]).optional().describe("Release channel for auto-updates (latest or stable)"),
...{},
minimumVersion: exports_external.string().optional().describe("Minimum version to stay on - prevents downgrades when switching to stable channel"),
plansDirectory: exports_external.string().optional().describe("Custom directory for plan files, relative to project root. " + "If not set, defaults to ~/.claude/plans/"),
...process.env.USER_TYPE === "ant" ? {
classifierPermissionsEnabled: exports_external.boolean().optional().describe("Enable AI-based classification for Bash(prompt:...) permission rules")
} : {},
...{},
...{},
...{},
channelsEnabled: exports_external.boolean().optional().describe("Teams/Enterprise opt-in for channel notifications (MCP servers with the " + "claude/channel capability pushing inbound messages). Default off. " + "Set true to allow; users then select servers via --channels."),
allowedChannelPlugins: exports_external.array(exports_external.object({
marketplace: exports_external.string(),
plugin: exports_external.string()
})).optional().describe("Teams/Enterprise allowlist of channel plugins. When set, " + "replaces the default Anthropic allowlist — admins decide which " + "plugins may push inbound messages. Undefined falls back to the default. " + "Requires channelsEnabled: true."),
...{},
prefersReducedMotion: exports_external.boolean().optional().describe("Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)"),
autoMemoryEnabled: exports_external.boolean().optional().describe("Enable auto-memory for this project. When false, Claude will not read from or write to the auto-memory directory."),
autoMemoryDirectory: exports_external.string().optional().describe("Custom directory path for auto-memory storage. Supports ~/ prefix for home directory expansion. Ignored if set in projectSettings (checked-in .claude/settings.json) for security. When unset, defaults to ~/.claude/projects//memory/."),
autoDreamEnabled: exports_external.boolean().optional().describe("Enable background memory consolidation (auto-dream). When set, overrides the server-side default."),
showThinkingSummaries: exports_external.boolean().optional().describe("Show thinking summaries in the transcript view (ctrl+o). Default: false."),
skipDangerousModePermissionPrompt: exports_external.boolean().optional().describe("Whether the user has accepted the bypass permissions mode dialog"),
...{},
disableAutoMode: exports_external.enum(["disable"]).optional().describe("Disable auto mode"),
sshConfigs: exports_external.array(exports_external.object({
id: exports_external.string().describe("Unique identifier for this SSH config. Used to match configs across settings sources."),
name: exports_external.string().describe("Display name for the SSH connection"),
sshHost: exports_external.string().describe('SSH host in format "user@hostname" or "hostname", or a host alias from ~/.ssh/config'),
sshPort: exports_external.number().int().optional().describe("SSH port (default: 22)"),
sshIdentityFile: exports_external.string().optional().describe("Path to SSH identity file (private key)"),
startDirectory: exports_external.string().optional().describe("Default working directory on the remote host. " + "Supports tilde expansion (e.g. ~/projects). " + "If not specified, defaults to the remote user home directory. " + "Can be overridden by the [dir] positional argument in `claude ssh [dir]`.")
})).optional().describe("SSH connection configurations for remote environments. " + "Typically set in managed settings by enterprise administrators " + "to pre-configure SSH connections for team members."),
claudeMdExcludes: exports_external.array(exports_external.string()).optional().describe("Glob patterns or absolute paths of CLAUDE.md files to exclude from loading. " + "Patterns are matched against absolute file paths using picomatch. " + "Only applies to User, Project, and Local memory types (Managed/policy files cannot be excluded). " + 'Examples: "/home/user/monorepo/CLAUDE.md", "**/code/CLAUDE.md", "**/some-dir/.claude/rules/**"'),
pluginTrustMessage: exports_external.string().optional().describe("Custom message to append to the plugin trust warning shown before installation. " + "Only read from policy settings (managed-settings.json / MDM). " + "Useful for enterprise administrators to add organization-specific context " + '(e.g., "All plugins from our internal marketplace are vetted and approved.").')
}).passthrough());
});
// src/utils/settings/schemaOutput.ts
function generateSettingsJSONSchema() {
const jsonSchema = toJSONSchema(SettingsSchema(), { unrepresentable: "any" });
return jsonStringify(jsonSchema, null, 2);
}
var init_schemaOutput = __esm(() => {
init_v4();
init_slowOperations();
init_types2();
});
// src/utils/settings/validationTips.ts
function getValidationTip(context) {
const matcher = TIP_MATCHERS.find((m2) => m2.matches(context));
if (!matcher)
return null;
const tip = { ...matcher.tip };
if (context.code === "invalid_value" && context.enumValues && !tip.suggestion) {
tip.suggestion = `Valid values: ${context.enumValues.map((v2) => `"${v2}"`).join(", ")}`;
}
if (!tip.docLink && context.path) {
const pathPrefix = context.path.split(".")[0];
if (pathPrefix) {
tip.docLink = PATH_DOC_LINKS[pathPrefix];
}
}
return tip;
}
var DOCUMENTATION_BASE = "https://code.claude.com/docs/en", TIP_MATCHERS, PATH_DOC_LINKS;
var init_validationTips = __esm(() => {
TIP_MATCHERS = [
{
matches: (ctx) => ctx.path === "permissions.defaultMode" && ctx.code === "invalid_value",
tip: {
suggestion: 'Valid modes: "acceptEdits" (ask before file changes), "plan" (analysis only), "bypassPermissions" (auto-accept all), or "default" (standard behavior)',
docLink: `${DOCUMENTATION_BASE}/iam#permission-modes`
}
},
{
matches: (ctx) => ctx.path === "apiKeyHelper" && ctx.code === "invalid_type",
tip: {
suggestion: 'Provide a shell command that outputs your API key to stdout. The script should output only the API key. Example: "/bin/generate_temp_api_key.sh"'
}
},
{
matches: (ctx) => ctx.path === "cleanupPeriodDays" && ctx.code === "too_small" && ctx.expected === "0",
tip: {
suggestion: "Must be 0 or greater. Set a positive number for days to retain transcripts (default is 30). Setting 0 disables session persistence entirely: no transcripts are written and existing transcripts are deleted at startup."
}
},
{
matches: (ctx) => ctx.path.startsWith("env.") && ctx.code === "invalid_type",
tip: {
suggestion: 'Environment variables must be strings. Wrap numbers and booleans in quotes. Example: "DEBUG": "true", "PORT": "3000"',
docLink: `${DOCUMENTATION_BASE}/settings#environment-variables`
}
},
{
matches: (ctx) => (ctx.path === "permissions.allow" || ctx.path === "permissions.deny") && ctx.code === "invalid_type" && ctx.expected === "array",
tip: {
suggestion: 'Permission rules must be in an array. Format: ["Tool(specifier)"]. Examples: ["Bash(npm run build)", "Edit(docs/**)", "Read(~/.zshrc)"]. Use * for wildcards.'
}
},
{
matches: (ctx) => ctx.path.includes("hooks") && ctx.code === "invalid_type",
tip: {
suggestion: 'Hooks use a matcher + hooks array. The matcher is a string: a tool name ("Bash"), pipe-separated list ("Edit|Write"), or empty to match all. Example: {"PostToolUse": [{"matcher": "Edit|Write", "hooks": [{"type": "command", "command": "echo Done"}]}]}'
}
},
{
matches: (ctx) => ctx.code === "invalid_type" && ctx.expected === "boolean",
tip: {
suggestion: 'Use true or false without quotes. Example: "includeCoAuthoredBy": true'
}
},
{
matches: (ctx) => ctx.code === "unrecognized_keys",
tip: {
suggestion: "Check for typos or refer to the documentation for valid fields",
docLink: `${DOCUMENTATION_BASE}/settings`
}
},
{
matches: (ctx) => ctx.code === "invalid_value" && ctx.enumValues !== undefined,
tip: {
suggestion: undefined
}
},
{
matches: (ctx) => ctx.code === "invalid_type" && ctx.expected === "object" && ctx.received === null && ctx.path === "",
tip: {
suggestion: "Check for missing commas, unmatched brackets, or trailing commas. Use a JSON validator to identify the exact syntax error."
}
},
{
matches: (ctx) => ctx.path === "permissions.additionalDirectories" && ctx.code === "invalid_type",
tip: {
suggestion: 'Must be an array of directory paths. Example: ["~/projects", "/tmp/workspace"]. You can also use --add-dir flag or /add-dir command',
docLink: `${DOCUMENTATION_BASE}/iam#working-directories`
}
}
];
PATH_DOC_LINKS = {
permissions: `${DOCUMENTATION_BASE}/iam#configuring-permissions`,
env: `${DOCUMENTATION_BASE}/settings#environment-variables`,
hooks: `${DOCUMENTATION_BASE}/hooks`
};
});
// src/utils/settings/validation.ts
function isInvalidTypeIssue(issue2) {
return issue2.code === "invalid_type";
}
function isInvalidValueIssue(issue2) {
return issue2.code === "invalid_value";
}
function isUnrecognizedKeysIssue(issue2) {
return issue2.code === "unrecognized_keys";
}
function isTooSmallIssue(issue2) {
return issue2.code === "too_small";
}
function getReceivedType(value) {
if (value === null)
return "null";
if (value === undefined)
return "undefined";
if (Array.isArray(value))
return "array";
return typeof value;
}
function extractReceivedFromMessage(msg) {
const match = msg.match(/received (\w+)/);
return match ? match[1] : undefined;
}
function formatZodError(error49, filePath) {
return error49.issues.map((issue2) => {
const path9 = issue2.path.map(String).join(".");
let message = issue2.message;
let expected;
let enumValues;
let expectedValue;
let receivedValue;
let invalidValue;
if (isInvalidValueIssue(issue2)) {
enumValues = issue2.values.map((v2) => String(v2));
expectedValue = enumValues.join(" | ");
receivedValue = undefined;
invalidValue = undefined;
} else if (isInvalidTypeIssue(issue2)) {
expectedValue = issue2.expected;
const receivedType = extractReceivedFromMessage(issue2.message);
receivedValue = receivedType ?? getReceivedType(issue2.input);
invalidValue = receivedType ?? getReceivedType(issue2.input);
} else if (isTooSmallIssue(issue2)) {
expectedValue = String(issue2.minimum);
} else if (issue2.code === "custom" && "params" in issue2) {
const params = issue2.params;
receivedValue = params.received;
invalidValue = receivedValue;
}
const tip = getValidationTip({
path: path9,
code: issue2.code,
expected: expectedValue,
received: receivedValue,
enumValues,
message: issue2.message,
value: receivedValue
});
if (isInvalidValueIssue(issue2)) {
expected = enumValues?.map((v2) => `"${v2}"`).join(", ");
message = `Invalid value. Expected one of: ${expected}`;
} else if (isInvalidTypeIssue(issue2)) {
const receivedType = extractReceivedFromMessage(issue2.message) ?? getReceivedType(issue2.input);
if (issue2.expected === "object" && receivedType === "null" && path9 === "") {
message = "Invalid or malformed JSON";
} else {
message = `Expected ${issue2.expected}, but received ${receivedType}`;
}
} else if (isUnrecognizedKeysIssue(issue2)) {
const keys2 = issue2.keys.join(", ");
message = `Unrecognized ${plural(issue2.keys.length, "field")}: ${keys2}`;
} else if (isTooSmallIssue(issue2)) {
message = `Number must be greater than or equal to ${issue2.minimum}`;
expected = String(issue2.minimum);
}
return {
file: filePath,
path: path9,
message,
expected,
invalidValue,
suggestion: tip?.suggestion,
docLink: tip?.docLink
};
});
}
function validateSettingsFileContent(content) {
try {
const jsonData = jsonParse(content);
const result = SettingsSchema().strict().safeParse(jsonData);
if (result.success) {
return { isValid: true };
}
const errors3 = formatZodError(result.error, "settings");
const errorMessage2 = `Settings validation failed:
` + errors3.map((err) => `- ${err.path}: ${err.message}`).join(`
`);
return {
isValid: false,
error: errorMessage2,
fullSchema: generateSettingsJSONSchema()
};
} catch (parseError) {
return {
isValid: false,
error: `Invalid JSON: ${parseError instanceof Error ? parseError.message : "Unknown parsing error"}`,
fullSchema: generateSettingsJSONSchema()
};
}
}
function filterInvalidPermissionRules(data, filePath) {
if (!data || typeof data !== "object")
return [];
const obj = data;
if (!obj.permissions || typeof obj.permissions !== "object")
return [];
const perms = obj.permissions;
const warnings = [];
for (const key of ["allow", "deny", "ask"]) {
const rules = perms[key];
if (!Array.isArray(rules))
continue;
perms[key] = rules.filter((rule) => {
if (typeof rule !== "string") {
warnings.push({
file: filePath,
path: `permissions.${key}`,
message: `Non-string value in ${key} array was removed`,
invalidValue: rule
});
return false;
}
const result = validatePermissionRule(rule);
if (!result.valid) {
let message = `Invalid permission rule "${rule}" was skipped`;
if (result.error)
message += `: ${result.error}`;
if (result.suggestion)
message += `. ${result.suggestion}`;
warnings.push({
file: filePath,
path: `permissions.${key}`,
message,
invalidValue: rule
});
return false;
}
return true;
});
}
return warnings;
}
var init_validation2 = __esm(() => {
init_slowOperations();
init_stringUtils();
init_permissionValidation();
init_schemaOutput();
init_types2();
init_validationTips();
});
// src/utils/settings/mdm/settings.ts
import { join as join19 } from "path";
function startMdmSettingsLoad() {
if (mdmLoadPromise)
return;
mdmLoadPromise = (async () => {
profileCheckpoint("mdm_load_start");
const startTime = Date.now();
const rawPromise = getMdmRawReadPromise() ?? fireRawRead();
const { mdm, hkcu } = consumeRawReadResult(await rawPromise);
mdmCache = mdm;
hkcuCache = hkcu;
profileCheckpoint("mdm_load_end");
const duration3 = Date.now() - startTime;
logForDebugging(`MDM settings load completed in ${duration3}ms`);
if (Object.keys(mdm.settings).length > 0) {
logForDebugging(`MDM settings found: ${Object.keys(mdm.settings).join(", ")}`);
try {
logForDiagnosticsNoPII("info", "mdm_settings_loaded", {
duration_ms: duration3,
key_count: Object.keys(mdm.settings).length,
error_count: mdm.errors.length
});
} catch {}
}
})();
}
async function ensureMdmSettingsLoaded() {
if (!mdmLoadPromise) {
startMdmSettingsLoad();
}
await mdmLoadPromise;
}
function getMdmSettings() {
return mdmCache ?? EMPTY_RESULT;
}
function getHkcuSettings() {
return hkcuCache ?? EMPTY_RESULT;
}
function setMdmSettingsCache(mdm, hkcu) {
mdmCache = mdm;
hkcuCache = hkcu;
}
async function refreshMdmSettings() {
const raw = await fireRawRead();
return consumeRawReadResult(raw);
}
function parseCommandOutputAsSettings(stdout, sourcePath) {
const data = safeParseJSON(stdout, false);
if (!data || typeof data !== "object") {
return { settings: {}, errors: [] };
}
const ruleWarnings = filterInvalidPermissionRules(data, sourcePath);
const parseResult = SettingsSchema().safeParse(data);
if (!parseResult.success) {
const errors3 = formatZodError(parseResult.error, sourcePath);
return { settings: {}, errors: [...ruleWarnings, ...errors3] };
}
return { settings: parseResult.data, errors: ruleWarnings };
}
function parseRegQueryStdout(stdout, valueName = "Settings") {
const lines = stdout.split(/\r?\n/);
const escaped = valueName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
const re2 = new RegExp(`^\\s+${escaped}\\s+REG_(?:EXPAND_)?SZ\\s+(.*)$`, "i");
for (const line of lines) {
const match = line.match(re2);
if (match && match[1]) {
return match[1].trimEnd();
}
}
return null;
}
function consumeRawReadResult(raw) {
if (raw.plistStdouts && raw.plistStdouts.length > 0) {
const { stdout, label } = raw.plistStdouts[0];
const result = parseCommandOutputAsSettings(stdout, label);
if (Object.keys(result.settings).length > 0) {
return { mdm: result, hkcu: EMPTY_RESULT };
}
}
if (raw.hklmStdout) {
const jsonString = parseRegQueryStdout(raw.hklmStdout);
if (jsonString) {
const result = parseCommandOutputAsSettings(jsonString, `Registry: ${WINDOWS_REGISTRY_KEY_PATH_HKLM}\\${WINDOWS_REGISTRY_VALUE_NAME}`);
if (Object.keys(result.settings).length > 0) {
return { mdm: result, hkcu: EMPTY_RESULT };
}
}
}
if (hasManagedSettingsFile()) {
return { mdm: EMPTY_RESULT, hkcu: EMPTY_RESULT };
}
if (raw.hkcuStdout) {
const jsonString = parseRegQueryStdout(raw.hkcuStdout);
if (jsonString) {
const result = parseCommandOutputAsSettings(jsonString, `Registry: ${WINDOWS_REGISTRY_KEY_PATH_HKCU}\\${WINDOWS_REGISTRY_VALUE_NAME}`);
return { mdm: EMPTY_RESULT, hkcu: result };
}
}
return { mdm: EMPTY_RESULT, hkcu: EMPTY_RESULT };
}
function hasManagedSettingsFile() {
try {
const filePath = join19(getManagedFilePath(), "managed-settings.json");
const content = readFileSync4(filePath);
const data = safeParseJSON(content, false);
if (data && typeof data === "object" && Object.keys(data).length > 0) {
return true;
}
} catch {}
try {
const dropInDir = getManagedSettingsDropInDir();
const entries = getFsImplementation().readdirSync(dropInDir);
for (const d of entries) {
if (!(d.isFile() || d.isSymbolicLink()) || !d.name.endsWith(".json") || d.name.startsWith(".")) {
continue;
}
try {
const content = readFileSync4(join19(dropInDir, d.name));
const data = safeParseJSON(content, false);
if (data && typeof data === "object" && Object.keys(data).length > 0) {
return true;
}
} catch {}
}
} catch {}
return false;
}
var EMPTY_RESULT, mdmCache = null, hkcuCache = null, mdmLoadPromise = null;
var init_settings = __esm(() => {
init_debug();
init_diagLogs();
init_fileRead();
init_fsOperations();
init_json();
init_startupProfiler();
init_managedPath();
init_types2();
init_validation2();
init_constants2();
init_rawRead();
EMPTY_RESULT = Object.freeze({ settings: {}, errors: [] });
});
// src/utils/settings/settings.ts
import { dirname as dirname11, join as join20, resolve as resolve8 } from "path";
function getManagedSettingsFilePath() {
return join20(getManagedFilePath(), "managed-settings.json");
}
function loadManagedFileSettings() {
const errors3 = [];
let merged = {};
let found = false;
const { settings, errors: baseErrors } = parseSettingsFile(getManagedSettingsFilePath());
errors3.push(...baseErrors);
if (settings && Object.keys(settings).length > 0) {
merged = mergeWith_default(merged, settings, settingsMergeCustomizer);
found = true;
}
const dropInDir = getManagedSettingsDropInDir();
try {
const entries = getFsImplementation().readdirSync(dropInDir).filter((d) => (d.isFile() || d.isSymbolicLink()) && d.name.endsWith(".json") && !d.name.startsWith(".")).map((d) => d.name).sort();
for (const name of entries) {
const { settings: settings2, errors: fileErrors } = parseSettingsFile(join20(dropInDir, name));
errors3.push(...fileErrors);
if (settings2 && Object.keys(settings2).length > 0) {
merged = mergeWith_default(merged, settings2, settingsMergeCustomizer);
found = true;
}
}
} catch (e) {
const code = getErrnoCode(e);
if (code !== "ENOENT" && code !== "ENOTDIR") {
logError2(e);
}
}
return { settings: found ? merged : null, errors: errors3 };
}
function getManagedFileSettingsPresence() {
const { settings: base2 } = parseSettingsFile(getManagedSettingsFilePath());
const hasBase = !!base2 && Object.keys(base2).length > 0;
let hasDropIns = false;
const dropInDir = getManagedSettingsDropInDir();
try {
hasDropIns = getFsImplementation().readdirSync(dropInDir).some((d) => (d.isFile() || d.isSymbolicLink()) && d.name.endsWith(".json") && !d.name.startsWith("."));
} catch {}
return { hasBase, hasDropIns };
}
function handleFileSystemError(error49, path9) {
if (typeof error49 === "object" && error49 && "code" in error49 && error49.code === "ENOENT") {
logForDebugging(`Broken symlink or missing file encountered for settings.json at path: ${path9}`);
} else {
logError2(error49);
}
}
function parseSettingsFile(path9) {
const cached2 = getCachedParsedFile(path9);
if (cached2) {
return {
settings: cached2.settings ? clone(cached2.settings) : null,
errors: cached2.errors
};
}
const result = parseSettingsFileUncached(path9);
setCachedParsedFile(path9, result);
return {
settings: result.settings ? clone(result.settings) : null,
errors: result.errors
};
}
function parseSettingsFileUncached(path9) {
try {
const { resolvedPath } = safeResolvePath(getFsImplementation(), path9);
const content = readFileSync4(resolvedPath);
if (content.trim() === "") {
return { settings: {}, errors: [] };
}
const data = safeParseJSON(content, false);
const ruleWarnings = filterInvalidPermissionRules(data, path9);
const result = SettingsSchema().safeParse(data);
if (!result.success) {
const errors3 = formatZodError(result.error, path9);
return { settings: null, errors: [...ruleWarnings, ...errors3] };
}
return { settings: result.data, errors: ruleWarnings };
} catch (error49) {
handleFileSystemError(error49, path9);
return { settings: null, errors: [] };
}
}
function getSettingsRootPathForSource(source) {
switch (source) {
case "userSettings":
return resolve8(getClaudeConfigHomeDir());
case "policySettings":
case "projectSettings":
case "localSettings": {
return resolve8(getOriginalCwd());
}
case "flagSettings": {
const path9 = getFlagSettingsPath();
return path9 ? dirname11(resolve8(path9)) : resolve8(getOriginalCwd());
}
}
}
function getUserSettingsFilePath() {
if (getUseCoworkPlugins() || isEnvTruthy(process.env.CLAUDE_CODE_USE_COWORK_PLUGINS)) {
return "cowork_settings.json";
}
return "settings.json";
}
function getSettingsFilePathForSource(source) {
switch (source) {
case "userSettings":
return join20(getSettingsRootPathForSource(source), getUserSettingsFilePath());
case "projectSettings":
case "localSettings": {
return join20(getSettingsRootPathForSource(source), getRelativeSettingsFilePathForSource(source));
}
case "policySettings":
return getManagedSettingsFilePath();
case "flagSettings": {
return getFlagSettingsPath();
}
}
}
function getRelativeSettingsFilePathForSource(source) {
switch (source) {
case "projectSettings":
return join20(".claude", "settings.json");
case "localSettings":
return join20(".claude", "settings.local.json");
}
}
function getSettingsForSource(source) {
const cached2 = getCachedSettingsForSource(source);
if (cached2 !== undefined)
return cached2;
const result = getSettingsForSourceUncached(source);
setCachedSettingsForSource(source, result);
return result;
}
function getSettingsForSourceUncached(source) {
if (source === "policySettings") {
const remoteSettings = getRemoteManagedSettingsSyncFromCache();
if (remoteSettings && Object.keys(remoteSettings).length > 0) {
return remoteSettings;
}
const mdmResult = getMdmSettings();
if (Object.keys(mdmResult.settings).length > 0) {
return mdmResult.settings;
}
const { settings: fileSettings2 } = loadManagedFileSettings();
if (fileSettings2) {
return fileSettings2;
}
const hkcu = getHkcuSettings();
if (Object.keys(hkcu.settings).length > 0) {
return hkcu.settings;
}
return null;
}
const settingsFilePath = getSettingsFilePathForSource(source);
const { settings: fileSettings } = settingsFilePath ? parseSettingsFile(settingsFilePath) : { settings: null };
if (source === "flagSettings") {
const inlineSettings = getFlagSettingsInline();
if (inlineSettings) {
const parsed = SettingsSchema().safeParse(inlineSettings);
if (parsed.success) {
return mergeWith_default(fileSettings || {}, parsed.data, settingsMergeCustomizer);
}
}
}
return fileSettings;
}
function getPolicySettingsOrigin() {
const remoteSettings = getRemoteManagedSettingsSyncFromCache();
if (remoteSettings && Object.keys(remoteSettings).length > 0) {
return "remote";
}
const mdmResult = getMdmSettings();
if (Object.keys(mdmResult.settings).length > 0) {
return getPlatform() === "macos" ? "plist" : "hklm";
}
const { settings: fileSettings } = loadManagedFileSettings();
if (fileSettings) {
return "file";
}
const hkcu = getHkcuSettings();
if (Object.keys(hkcu.settings).length > 0) {
return "hkcu";
}
return null;
}
function updateSettingsForSource(source, settings) {
if (source === "policySettings" || source === "flagSettings") {
return { error: null };
}
const filePath = getSettingsFilePathForSource(source);
if (!filePath) {
return { error: null };
}
try {
getFsImplementation().mkdirSync(dirname11(filePath));
let existingSettings = getSettingsForSourceUncached(source);
if (!existingSettings) {
let content = null;
try {
content = readFileSync4(filePath);
} catch (e) {
if (!isENOENT(e)) {
throw e;
}
}
if (content !== null) {
const rawData = safeParseJSON(content);
if (rawData === null) {
return {
error: new Error(`Invalid JSON syntax in settings file at ${filePath}`)
};
}
if (rawData && typeof rawData === "object") {
existingSettings = rawData;
logForDebugging(`Using raw settings from ${filePath} due to validation failure`);
}
}
}
const updatedSettings = mergeWith_default(existingSettings || {}, settings, (_objValue, srcValue, key, object2) => {
if (srcValue === undefined && object2 && typeof key === "string") {
delete object2[key];
return;
}
if (Array.isArray(srcValue)) {
return srcValue;
}
return;
});
markInternalWrite(filePath);
writeFileSyncAndFlush_DEPRECATED(filePath, jsonStringify(updatedSettings, null, 2) + `
`);
resetSettingsCache();
if (source === "localSettings") {
addFileGlobRuleToGitignore(getRelativeSettingsFilePathForSource("localSettings"), getOriginalCwd());
}
} catch (e) {
const error49 = new Error(`Failed to read raw settings from ${filePath}: ${e}`);
logError2(error49);
return { error: error49 };
}
return { error: null };
}
function mergeArrays(targetArray, sourceArray) {
return uniq([...targetArray, ...sourceArray]);
}
function settingsMergeCustomizer(objValue, srcValue) {
if (Array.isArray(objValue) && Array.isArray(srcValue)) {
return mergeArrays(objValue, srcValue);
}
return;
}
function getManagedSettingsKeysForLogging(settings) {
const validSettings = SettingsSchema().strip().parse(settings);
const keysToExpand = ["permissions", "sandbox", "hooks"];
const allKeys = [];
const validNestedKeys = {
permissions: new Set([
"allow",
"deny",
"ask",
"defaultMode",
"disableBypassPermissionsMode",
...[],
"additionalDirectories"
]),
sandbox: new Set([
"enabled",
"failIfUnavailable",
"allowUnsandboxedCommands",
"network",
"filesystem",
"ignoreViolations",
"excludedCommands",
"autoAllowBashIfSandboxed",
"enableWeakerNestedSandbox",
"enableWeakerNetworkIsolation",
"ripgrep"
]),
hooks: new Set([
"PreToolUse",
"PostToolUse",
"Notification",
"UserPromptSubmit",
"SessionStart",
"SessionEnd",
"Stop",
"SubagentStop",
"PreCompact",
"PostCompact",
"TeammateIdle",
"TaskCreated",
"TaskCompleted"
])
};
for (const key of Object.keys(validSettings)) {
if (keysToExpand.includes(key) && validSettings[key] && typeof validSettings[key] === "object") {
const nestedObj = validSettings[key];
const validKeys = validNestedKeys[key];
if (validKeys) {
for (const nestedKey of Object.keys(nestedObj)) {
if (validKeys.has(nestedKey)) {
allKeys.push(`${key}.${nestedKey}`);
}
}
}
} else {
allKeys.push(key);
}
}
return allKeys.sort();
}
function loadSettingsFromDisk() {
if (isLoadingSettings) {
return { settings: {}, errors: [] };
}
const startTime = Date.now();
profileCheckpoint("loadSettingsFromDisk_start");
logForDiagnosticsNoPII("info", "settings_load_started");
isLoadingSettings = true;
try {
const pluginSettings = getPluginSettingsBase();
let mergedSettings = {};
if (pluginSettings) {
mergedSettings = mergeWith_default(mergedSettings, pluginSettings, settingsMergeCustomizer);
}
const allErrors = [];
const seenErrors = new Set;
const seenFiles = new Set;
for (const source of getEnabledSettingSources()) {
if (source === "policySettings") {
let policySettings = null;
const policyErrors = [];
const remoteSettings = getRemoteManagedSettingsSyncFromCache();
if (remoteSettings && Object.keys(remoteSettings).length > 0) {
const result = SettingsSchema().safeParse(remoteSettings);
if (result.success) {
policySettings = result.data;
} else {
policyErrors.push(...formatZodError(result.error, "remote managed settings"));
}
}
if (!policySettings) {
const mdmResult = getMdmSettings();
if (Object.keys(mdmResult.settings).length > 0) {
policySettings = mdmResult.settings;
}
policyErrors.push(...mdmResult.errors);
}
if (!policySettings) {
const { settings, errors: errors3 } = loadManagedFileSettings();
if (settings) {
policySettings = settings;
}
policyErrors.push(...errors3);
}
if (!policySettings) {
const hkcu = getHkcuSettings();
if (Object.keys(hkcu.settings).length > 0) {
policySettings = hkcu.settings;
}
policyErrors.push(...hkcu.errors);
}
if (policySettings) {
mergedSettings = mergeWith_default(mergedSettings, policySettings, settingsMergeCustomizer);
}
for (const error49 of policyErrors) {
const errorKey = `${error49.file}:${error49.path}:${error49.message}`;
if (!seenErrors.has(errorKey)) {
seenErrors.add(errorKey);
allErrors.push(error49);
}
}
continue;
}
const filePath = getSettingsFilePathForSource(source);
if (filePath) {
const resolvedPath = resolve8(filePath);
if (!seenFiles.has(resolvedPath)) {
seenFiles.add(resolvedPath);
const { settings, errors: errors3 } = parseSettingsFile(filePath);
for (const error49 of errors3) {
const errorKey = `${error49.file}:${error49.path}:${error49.message}`;
if (!seenErrors.has(errorKey)) {
seenErrors.add(errorKey);
allErrors.push(error49);
}
}
if (settings) {
mergedSettings = mergeWith_default(mergedSettings, settings, settingsMergeCustomizer);
}
}
}
if (source === "flagSettings") {
const inlineSettings = getFlagSettingsInline();
if (inlineSettings) {
const parsed = SettingsSchema().safeParse(inlineSettings);
if (parsed.success) {
mergedSettings = mergeWith_default(mergedSettings, parsed.data, settingsMergeCustomizer);
}
}
}
}
logForDiagnosticsNoPII("info", "settings_load_completed", {
duration_ms: Date.now() - startTime,
source_count: seenFiles.size,
error_count: allErrors.length
});
return { settings: mergedSettings, errors: allErrors };
} finally {
isLoadingSettings = false;
}
}
function getInitialSettings() {
const { settings } = getSettingsWithErrors();
return settings || {};
}
function getSettingsWithSources() {
resetSettingsCache();
const sources = [];
for (const source of getEnabledSettingSources()) {
const settings = getSettingsForSource(source);
if (settings && Object.keys(settings).length > 0) {
sources.push({ source, settings });
}
}
return { effective: getInitialSettings(), sources };
}
function getSettingsWithErrors() {
const cached2 = getSessionSettingsCache();
if (cached2 !== null) {
return cached2;
}
const result = loadSettingsFromDisk();
profileCheckpoint("loadSettingsFromDisk_end");
setSessionSettingsCache(result);
return result;
}
function hasSkipDangerousModePermissionPrompt() {
return !!(getSettingsForSource("userSettings")?.skipDangerousModePermissionPrompt || getSettingsForSource("localSettings")?.skipDangerousModePermissionPrompt || getSettingsForSource("flagSettings")?.skipDangerousModePermissionPrompt || getSettingsForSource("policySettings")?.skipDangerousModePermissionPrompt);
}
function hasAutoModeOptIn() {
if (false) {}
return false;
}
function rawSettingsContainsKey(key) {
for (const source of getEnabledSettingSources()) {
if (source === "policySettings") {
continue;
}
const filePath = getSettingsFilePathForSource(source);
if (!filePath) {
continue;
}
try {
const { resolvedPath } = safeResolvePath(getFsImplementation(), filePath);
const content = readFileSync4(resolvedPath);
if (!content.trim()) {
continue;
}
const rawData = safeParseJSON(content, false);
if (rawData && typeof rawData === "object" && key in rawData) {
return true;
}
} catch (error49) {
handleFileSystemError(error49, filePath);
}
}
return false;
}
var isLoadingSettings = false, getSettings_DEPRECATED;
var init_settings2 = __esm(() => {
init_mergeWith();
init_state();
init_syncCacheState();
init_debug();
init_diagLogs();
init_envUtils();
init_errors();
init_file();
init_fileRead();
init_fsOperations();
init_gitignore();
init_json();
init_log3();
init_platform2();
init_slowOperations();
init_startupProfiler();
init_constants3();
init_internalWrites();
init_managedPath();
init_settings();
init_settingsCache();
init_types2();
init_validation2();
getSettings_DEPRECATED = getInitialSettings;
});
// node_modules/.pnpm/agent-base@8.0.0/node_modules/agent-base/dist/helpers.js
var init_helpers = () => {};
// node_modules/.pnpm/agent-base@8.0.0/node_modules/agent-base/dist/index.js
import * as net from "net";
import * as http3 from "http";
import { Agent as HttpsAgent } from "https";
var INTERNAL, Agent2;
var init_dist = __esm(() => {
init_helpers();
INTERNAL = Symbol("AgentBaseInternalState");
Agent2 = class Agent2 extends http3.Agent {
constructor(opts) {
super(opts);
this[INTERNAL] = {};
}
isSecureEndpoint(options) {
if (options) {
if (typeof options.secureEndpoint === "boolean") {
return options.secureEndpoint;
}
if (typeof options.protocol === "string") {
return options.protocol === "https:";
}
}
const { stack } = new Error;
if (typeof stack !== "string")
return false;
return stack.split(`
`).some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
}
incrementSockets(name) {
if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
return null;
}
if (!this.sockets[name]) {
this.sockets[name] = [];
}
const fakeSocket = new net.Socket({ writable: false });
this.sockets[name].push(fakeSocket);
this.totalSocketCount++;
return fakeSocket;
}
decrementSockets(name, socket) {
if (!this.sockets[name] || socket === null) {
return;
}
const sockets = this.sockets[name];
const index = sockets.indexOf(socket);
if (index !== -1) {
sockets.splice(index, 1);
this.totalSocketCount--;
if (sockets.length === 0) {
delete this.sockets[name];
}
}
}
getName(options) {
const secureEndpoint = this.isSecureEndpoint(options);
if (secureEndpoint) {
return HttpsAgent.prototype.getName.call(this, options);
}
return super.getName(options);
}
createSocket(req, options, cb) {
const connectOpts = {
...options,
secureEndpoint: this.isSecureEndpoint(options)
};
const name = this.getName(connectOpts);
const fakeSocket = this.incrementSockets(name);
Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
this.decrementSockets(name, fakeSocket);
if (socket instanceof http3.Agent) {
try {
return socket.addRequest(req, connectOpts);
} catch (err) {
return cb(err);
}
}
this[INTERNAL].currentSocket = socket;
super.createSocket(req, options, cb);
}, (err) => {
this.decrementSockets(name, fakeSocket);
cb(err);
});
}
createConnection() {
const socket = this[INTERNAL].currentSocket;
this[INTERNAL].currentSocket = undefined;
if (!socket) {
throw new Error("No socket was returned in the `connect()` function");
}
return socket;
}
get defaultPort() {
return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
}
set defaultPort(v2) {
if (this[INTERNAL]) {
this[INTERNAL].defaultPort = v2;
}
}
get protocol() {
return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
}
set protocol(v2) {
if (this[INTERNAL]) {
this[INTERNAL].protocol = v2;
}
}
};
});
// node_modules/.pnpm/https-proxy-agent@8.0.0/node_modules/https-proxy-agent/dist/parse-proxy-response.js
function parseProxyResponse(socket) {
return new Promise((resolve9, reject) => {
let buffersLength = 0;
const buffers = [];
function read() {
const b2 = socket.read();
if (b2)
ondata(b2);
else
socket.once("readable", read);
}
function cleanup() {
socket.removeListener("end", onend);
socket.removeListener("error", onerror);
socket.removeListener("readable", read);
}
function onend() {
cleanup();
debug("onend");
reject(new Error("Proxy connection ended before receiving CONNECT response"));
}
function onerror(err) {
cleanup();
debug("onerror %o", err);
reject(err);
}
function ondata(b2) {
buffers.push(b2);
buffersLength += b2.length;
const buffered = Buffer.concat(buffers, buffersLength);
const endOfHeaders = buffered.indexOf(`\r
\r
`);
if (endOfHeaders === -1) {
debug("have not received end of HTTP headers yet...");
read();
return;
}
const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split(`\r
`);
const firstLine = headerParts.shift();
if (!firstLine) {
socket.destroy();
return reject(new Error("No header received from proxy CONNECT response"));
}
const firstLineParts = firstLine.split(" ");
const statusCode = +firstLineParts[1];
const statusText = firstLineParts.slice(2).join(" ");
const headers = {};
for (const header of headerParts) {
if (!header)
continue;
const firstColon = header.indexOf(":");
if (firstColon === -1) {
socket.destroy();
return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
}
const key = header.slice(0, firstColon).toLowerCase();
const value = header.slice(firstColon + 1).trimStart();
const current = headers[key];
if (typeof current === "string") {
headers[key] = [current, value];
} else if (Array.isArray(current)) {
current.push(value);
} else {
headers[key] = value;
}
}
debug("got proxy server response: %o %o", firstLine, headers);
cleanup();
resolve9({
connect: {
statusCode,
statusText,
headers
},
buffered
});
}
socket.on("error", onerror);
socket.on("end", onend);
read();
});
}
var import_debug11, debug;
var init_parse_proxy_response = __esm(() => {
import_debug11 = __toESM(require_src(), 1);
debug = import_debug11.default("https-proxy-agent:parse-proxy-response");
});
// node_modules/.pnpm/https-proxy-agent@8.0.0/node_modules/https-proxy-agent/dist/index.js
import * as net2 from "net";
import * as tls from "tls";
import assert2 from "assert";
import { URL as URL2 } from "url";
function resume(socket) {
socket.resume();
}
function omit2(obj, ...keys2) {
const ret = {};
let key;
for (key in obj) {
if (!keys2.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
var import_debug12, debug2, setServernameFromNonIpHost = (options) => {
if (options.servername === undefined && options.host && !net2.isIP(options.host)) {
return {
...options,
servername: options.host
};
}
return options;
}, HttpsProxyAgent;
var init_dist2 = __esm(() => {
init_dist();
init_parse_proxy_response();
import_debug12 = __toESM(require_src(), 1);
debug2 = import_debug12.default("https-proxy-agent");
HttpsProxyAgent = class HttpsProxyAgent extends Agent2 {
constructor(proxy, opts) {
super(opts);
this.options = { path: undefined };
this.proxy = typeof proxy === "string" ? new URL2(proxy) : proxy;
this.proxyHeaders = opts?.headers ?? {};
debug2("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
this.connectOpts = {
ALPNProtocols: ["http/1.1"],
...opts ? omit2(opts, "headers") : null,
host,
port
};
}
async connect(req, opts) {
const { proxy } = this;
if (!opts.host) {
throw new TypeError('No "host" provided');
}
let socket;
if (proxy.protocol === "https:") {
debug2("Creating `tls.Socket`: %o", this.connectOpts);
socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
} else {
debug2("Creating `net.Socket`: %o", this.connectOpts);
socket = net2.connect(this.connectOpts);
}
const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
const host = net2.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
`;
if (proxy.username || proxy.password) {
const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
}
headers.Host = `${host}:${opts.port}`;
if (!headers["Proxy-Connection"]) {
headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
}
for (const name of Object.keys(headers)) {
payload += `${name}: ${headers[name]}\r
`;
}
const proxyResponsePromise = parseProxyResponse(socket);
socket.write(`${payload}\r
`);
const { connect: connect3, buffered } = await proxyResponsePromise;
req.emit("proxyConnect", connect3);
this.emit("proxyConnect", connect3, req);
if (connect3.statusCode === 200) {
req.once("socket", resume);
if (opts.secureEndpoint) {
debug2("Upgrading socket connection to TLS");
return tls.connect({
...omit2(setServernameFromNonIpHost(opts), "host", "path", "port"),
socket
});
}
return socket;
}
socket.destroy();
const fakeSocket = new net2.Socket({ writable: false });
fakeSocket.readable = true;
req.once("socket", (s) => {
debug2("Replaying proxy buffer for failed request");
assert2(s.listenerCount("data") > 0);
s.push(buffered);
s.push(null);
});
return fakeSocket;
}
};
HttpsProxyAgent.protocols = ["http", "https"];
});
// src/utils/caCerts.ts
function clearCACertsCache() {
getCACertificates.cache.clear?.();
logForDebugging("Cleared CA certificates cache");
}
var getCACertificates;
var init_caCerts = __esm(() => {
init_memoize();
init_debug();
init_envUtils();
init_fsOperations();
getCACertificates = memoize_default(() => {
const useSystemCA = hasNodeOption("--use-system-ca") || hasNodeOption("--use-openssl-ca");
const extraCertsPath = process.env.NODE_EXTRA_CA_CERTS;
logForDebugging(`CA certs: useSystemCA=${useSystemCA}, extraCertsPath=${extraCertsPath}`);
if (!useSystemCA && !extraCertsPath) {
return;
}
const tls2 = __require("tls");
const certs = [];
if (useSystemCA) {
const getCACerts = tls2.getCACertificates;
const systemCAs = getCACerts?.("system");
if (systemCAs && systemCAs.length > 0) {
certs.push(...systemCAs);
logForDebugging(`CA certs: Loaded ${certs.length} system CA certificates (--use-system-ca)`);
} else if (!getCACerts && !extraCertsPath) {
logForDebugging("CA certs: --use-system-ca set but system CA API unavailable, deferring to runtime");
return;
} else {
certs.push(...tls2.rootCertificates);
logForDebugging(`CA certs: Loaded ${certs.length} bundled root certificates as base (--use-system-ca fallback)`);
}
} else {
certs.push(...tls2.rootCertificates);
logForDebugging(`CA certs: Loaded ${certs.length} bundled root certificates as base`);
}
if (extraCertsPath) {
try {
const extraCert = getFsImplementation().readFileSync(extraCertsPath, {
encoding: "utf8"
});
certs.push(extraCert);
logForDebugging(`CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (${extraCertsPath})`);
} catch (error49) {
logForDebugging(`CA certs: Failed to read NODE_EXTRA_CA_CERTS file (${extraCertsPath}): ${error49}`, { level: "error" });
}
}
return certs.length > 0 ? certs : undefined;
});
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/symbols.js
var require_symbols = __commonJS((exports, module) => {
module.exports = {
kClose: Symbol("close"),
kDestroy: Symbol("destroy"),
kDispatch: Symbol("dispatch"),
kUrl: Symbol("url"),
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"),
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"),
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")
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/timers.js
var require_timers = __commonJS((exports, module) => {
var fastNow = 0;
var RESOLUTION_MS = 1000;
var TICK_MS = (RESOLUTION_MS >> 1) - 1;
var fastNowTimeout;
var kFastTimer = Symbol("kFastTimer");
var fastTimers = [];
var NOT_IN_LIST = -2;
var TO_BE_CLEARED = -1;
var PENDING = 0;
var ACTIVE = 1;
function onTick() {
fastNow += TICK_MS;
let idx = 0;
let len = fastTimers.length;
while (idx < len) {
const timer = fastTimers[idx];
if (timer._state === PENDING) {
timer._idleStart = fastNow - TICK_MS;
timer._state = ACTIVE;
} else if (timer._state === ACTIVE && fastNow >= timer._idleStart + timer._idleTimeout) {
timer._state = TO_BE_CLEARED;
timer._idleStart = -1;
timer._onTimeout(timer._timerArg);
}
if (timer._state === TO_BE_CLEARED) {
timer._state = NOT_IN_LIST;
if (--len !== 0) {
fastTimers[idx] = fastTimers[len];
}
} else {
++idx;
}
}
fastTimers.length = len;
if (fastTimers.length !== 0) {
refreshTimeout();
}
}
function refreshTimeout() {
if (fastNowTimeout?.refresh) {
fastNowTimeout.refresh();
} else {
clearTimeout(fastNowTimeout);
fastNowTimeout = setTimeout(onTick, TICK_MS);
fastNowTimeout?.unref();
}
}
class FastTimer {
[kFastTimer] = true;
_state = NOT_IN_LIST;
_idleTimeout = -1;
_idleStart = -1;
_onTimeout;
_timerArg;
constructor(callback, delay, arg) {
this._onTimeout = callback;
this._idleTimeout = delay;
this._timerArg = arg;
this.refresh();
}
refresh() {
if (this._state === NOT_IN_LIST) {
fastTimers.push(this);
}
if (!fastNowTimeout || fastTimers.length === 1) {
refreshTimeout();
}
this._state = PENDING;
}
clear() {
this._state = TO_BE_CLEARED;
this._idleStart = -1;
}
}
module.exports = {
setTimeout(callback, delay, arg) {
return delay <= RESOLUTION_MS ? setTimeout(callback, delay, arg) : new FastTimer(callback, delay, arg);
},
clearTimeout(timeout) {
if (timeout[kFastTimer]) {
timeout.clear();
} else {
clearTimeout(timeout);
}
},
setFastTimeout(callback, delay, arg) {
return new FastTimer(callback, delay, arg);
},
clearFastTimeout(timeout) {
timeout.clear();
},
now() {
return fastNow;
},
tick(delay = 0) {
fastNow += delay - RESOLUTION_MS + 1;
onTick();
onTick();
},
reset() {
fastNow = 0;
fastTimers.length = 0;
clearTimeout(fastNowTimeout);
fastNowTimeout = null;
},
kFastTimer
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/errors.js
var require_errors = __commonJS((exports, module) => {
var kUndiciError = Symbol.for("undici.error.UND_ERR");
class UndiciError extends Error {
constructor(message, options) {
super(message, options);
this.name = "UndiciError";
this.code = "UND_ERR";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kUndiciError] === true;
}
get [kUndiciError]() {
return true;
}
}
var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
class ConnectTimeoutError extends UndiciError {
constructor(message) {
super(message);
this.name = "ConnectTimeoutError";
this.message = message || "Connect Timeout Error";
this.code = "UND_ERR_CONNECT_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kConnectTimeoutError] === true;
}
get [kConnectTimeoutError]() {
return true;
}
}
var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
class HeadersTimeoutError extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersTimeoutError";
this.message = message || "Headers Timeout Error";
this.code = "UND_ERR_HEADERS_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHeadersTimeoutError] === true;
}
get [kHeadersTimeoutError]() {
return true;
}
}
var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
class HeadersOverflowError extends UndiciError {
constructor(message) {
super(message);
this.name = "HeadersOverflowError";
this.message = message || "Headers Overflow Error";
this.code = "UND_ERR_HEADERS_OVERFLOW";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHeadersOverflowError] === true;
}
get [kHeadersOverflowError]() {
return true;
}
}
var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
class BodyTimeoutError extends UndiciError {
constructor(message) {
super(message);
this.name = "BodyTimeoutError";
this.message = message || "Body Timeout Error";
this.code = "UND_ERR_BODY_TIMEOUT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kBodyTimeoutError] === true;
}
get [kBodyTimeoutError]() {
return true;
}
}
var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
class InvalidArgumentError2 extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidArgumentError";
this.message = message || "Invalid Argument Error";
this.code = "UND_ERR_INVALID_ARG";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInvalidArgumentError] === true;
}
get [kInvalidArgumentError]() {
return true;
}
}
var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
class InvalidReturnValueError extends UndiciError {
constructor(message) {
super(message);
this.name = "InvalidReturnValueError";
this.message = message || "Invalid Return Value Error";
this.code = "UND_ERR_INVALID_RETURN_VALUE";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInvalidReturnValueError] === true;
}
get [kInvalidReturnValueError]() {
return true;
}
}
var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT");
class AbortError2 extends UndiciError {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "The operation was aborted";
this.code = "UND_ERR_ABORT";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kAbortError] === true;
}
get [kAbortError]() {
return true;
}
}
var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED");
class RequestAbortedError extends AbortError2 {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "Request aborted";
this.code = "UND_ERR_ABORTED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestAbortedError] === true;
}
get [kRequestAbortedError]() {
return true;
}
}
var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO");
class InformationalError extends UndiciError {
constructor(message) {
super(message);
this.name = "InformationalError";
this.message = message || "Request information";
this.code = "UND_ERR_INFO";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kInformationalError] === true;
}
get [kInformationalError]() {
return true;
}
}
var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
class RequestContentLengthMismatchError extends UndiciError {
constructor(message) {
super(message);
this.name = "RequestContentLengthMismatchError";
this.message = message || "Request body length does not match content-length header";
this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestContentLengthMismatchError] === true;
}
get [kRequestContentLengthMismatchError]() {
return true;
}
}
var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
class ResponseContentLengthMismatchError extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseContentLengthMismatchError";
this.message = message || "Response body length does not match content-length header";
this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseContentLengthMismatchError] === true;
}
get [kResponseContentLengthMismatchError]() {
return true;
}
}
var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED");
class ClientDestroyedError extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientDestroyedError";
this.message = message || "The client is destroyed";
this.code = "UND_ERR_DESTROYED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kClientDestroyedError] === true;
}
get [kClientDestroyedError]() {
return true;
}
}
var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED");
class ClientClosedError extends UndiciError {
constructor(message) {
super(message);
this.name = "ClientClosedError";
this.message = message || "The client is closed";
this.code = "UND_ERR_CLOSED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kClientClosedError] === true;
}
get [kClientClosedError]() {
return true;
}
}
var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET");
class SocketError extends UndiciError {
constructor(message, socket) {
super(message);
this.name = "SocketError";
this.message = message || "Socket error";
this.code = "UND_ERR_SOCKET";
this.socket = socket;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kSocketError] === true;
}
get [kSocketError]() {
return true;
}
}
var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
class NotSupportedError extends UndiciError {
constructor(message) {
super(message);
this.name = "NotSupportedError";
this.message = message || "Not supported error";
this.code = "UND_ERR_NOT_SUPPORTED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kNotSupportedError] === true;
}
get [kNotSupportedError]() {
return true;
}
}
var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
class BalancedPoolMissingUpstreamError extends UndiciError {
constructor(message) {
super(message);
this.name = "MissingUpstreamError";
this.message = message || "No upstream has been added to the BalancedPool";
this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kBalancedPoolMissingUpstreamError] === true;
}
get [kBalancedPoolMissingUpstreamError]() {
return true;
}
}
var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
class HTTPParserError extends Error {
constructor(message, code, data) {
super(message);
this.name = "HTTPParserError";
this.code = code ? `HPE_${code}` : undefined;
this.data = data ? data.toString() : undefined;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kHTTPParserError] === true;
}
get [kHTTPParserError]() {
return true;
}
}
var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
class ResponseExceededMaxSizeError extends UndiciError {
constructor(message) {
super(message);
this.name = "ResponseExceededMaxSizeError";
this.message = message || "Response content exceeded max size";
this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseExceededMaxSizeError] === true;
}
get [kResponseExceededMaxSizeError]() {
return true;
}
}
var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY");
class RequestRetryError extends UndiciError {
constructor(message, code, { headers, data }) {
super(message);
this.name = "RequestRetryError";
this.message = message || "Request retry error";
this.code = "UND_ERR_REQ_RETRY";
this.statusCode = code;
this.data = data;
this.headers = headers;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kRequestRetryError] === true;
}
get [kRequestRetryError]() {
return true;
}
}
var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE");
class ResponseError extends UndiciError {
constructor(message, code, { headers, body }) {
super(message);
this.name = "ResponseError";
this.message = message || "Response error";
this.code = "UND_ERR_RESPONSE";
this.statusCode = code;
this.body = body;
this.headers = headers;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kResponseError] === true;
}
get [kResponseError]() {
return true;
}
}
var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS");
class SecureProxyConnectionError extends UndiciError {
constructor(cause, message, options = {}) {
super(message, { cause, ...options });
this.name = "SecureProxyConnectionError";
this.message = message || "Secure Proxy Connection failed";
this.code = "UND_ERR_PRX_TLS";
this.cause = cause;
}
static [Symbol.hasInstance](instance) {
return instance && instance[kSecureProxyConnectionError] === true;
}
get [kSecureProxyConnectionError]() {
return true;
}
}
var kMaxOriginsReachedError = Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");
class MaxOriginsReachedError extends UndiciError {
constructor(message) {
super(message);
this.name = "MaxOriginsReachedError";
this.message = message || "Maximum allowed origins reached";
this.code = "UND_ERR_MAX_ORIGINS_REACHED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMaxOriginsReachedError] === true;
}
get [kMaxOriginsReachedError]() {
return true;
}
}
class Socks5ProxyError extends UndiciError {
constructor(message, code) {
super(message);
this.name = "Socks5ProxyError";
this.message = message || "SOCKS5 proxy error";
this.code = code || "UND_ERR_SOCKS5";
}
}
var kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
class MessageSizeExceededError extends UndiciError {
constructor(message) {
super(message);
this.name = "MessageSizeExceededError";
this.message = message || "Max decompressed message size exceeded";
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMessageSizeExceededError] === true;
}
get [kMessageSizeExceededError]() {
return true;
}
}
module.exports = {
AbortError: AbortError2,
HTTPParserError,
UndiciError,
HeadersTimeoutError,
HeadersOverflowError,
BodyTimeoutError,
RequestContentLengthMismatchError,
ConnectTimeoutError,
InvalidArgumentError: InvalidArgumentError2,
InvalidReturnValueError,
RequestAbortedError,
ClientDestroyedError,
ClientClosedError,
InformationalError,
SocketError,
NotSupportedError,
ResponseContentLengthMismatchError,
BalancedPoolMissingUpstreamError,
ResponseExceededMaxSizeError,
RequestRetryError,
ResponseError,
SecureProxyConnectionError,
MaxOriginsReachedError,
Socks5ProxyError,
MessageSizeExceededError
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/constants.js
var require_constants2 = __commonJS((exports, module) => {
var wellknownHeaderNames = [
"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"
];
var headerNameLowerCasedRecord = {};
Object.setPrototypeOf(headerNameLowerCasedRecord, null);
var wellknownHeaderNameBuffers = {};
Object.setPrototypeOf(wellknownHeaderNameBuffers, null);
function getHeaderNameAsBuffer(header) {
let buffer = wellknownHeaderNameBuffers[header];
if (buffer === undefined) {
buffer = Buffer.from(header);
}
return buffer;
}
for (let i2 = 0;i2 < wellknownHeaderNames.length; ++i2) {
const key = wellknownHeaderNames[i2];
const lowerCasedKey = key.toLowerCase();
headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
}
module.exports = {
wellknownHeaderNames,
headerNameLowerCasedRecord,
getHeaderNameAsBuffer
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/tree.js
var require_tree = __commonJS((exports, module) => {
var {
wellknownHeaderNames,
headerNameLowerCasedRecord
} = require_constants2();
class TstNode {
value = null;
left = null;
middle = null;
right = null;
code;
constructor(key, value, index) {
if (index === undefined || index >= key.length) {
throw new TypeError("Unreachable");
}
const code = this.code = key.charCodeAt(index);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (key.length !== ++index) {
this.middle = new TstNode(key, value, index);
} else {
this.value = value;
}
}
add(key, value) {
const length = key.length;
if (length === 0) {
throw new TypeError("Unreachable");
}
let index = 0;
let node = this;
while (true) {
const code = key.charCodeAt(index);
if (code > 127) {
throw new TypeError("key must be ascii string");
}
if (node.code === code) {
if (length === ++index) {
node.value = value;
break;
} else if (node.middle !== null) {
node = node.middle;
} else {
node.middle = new TstNode(key, value, index);
break;
}
} else if (node.code < code) {
if (node.left !== null) {
node = node.left;
} else {
node.left = new TstNode(key, value, index);
break;
}
} else if (node.right !== null) {
node = node.right;
} else {
node.right = new TstNode(key, value, index);
break;
}
}
}
search(key) {
const keylength = key.length;
let index = 0;
let node = this;
while (node !== null && index < keylength) {
let code = key[index];
if (code <= 90 && code >= 65) {
code |= 32;
}
while (node !== null) {
if (code === node.code) {
if (keylength === ++index) {
return node;
}
node = node.middle;
break;
}
node = node.code < code ? node.left : node.right;
}
}
return null;
}
}
class TernarySearchTree {
node = null;
insert(key, value) {
if (this.node === null) {
this.node = new TstNode(key, value, 0);
} else {
this.node.add(key, value);
}
}
lookup(key) {
return this.node?.search(key)?.value ?? null;
}
}
var tree = new TernarySearchTree;
for (let i2 = 0;i2 < wellknownHeaderNames.length; ++i2) {
const key = headerNameLowerCasedRecord[wellknownHeaderNames[i2]];
tree.insert(key, key);
}
module.exports = {
TernarySearchTree,
tree
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/util.js
var require_util = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
var { IncomingMessage } = __require("node:http");
var stream4 = __require("node:stream");
var net3 = __require("node:net");
var { stringify } = __require("node:querystring");
var { EventEmitter: EE } = __require("node:events");
var timers = require_timers();
var { InvalidArgumentError: InvalidArgumentError2, ConnectTimeoutError } = require_errors();
var { headerNameLowerCasedRecord } = require_constants2();
var { tree } = require_tree();
var [nodeMajor, nodeMinor] = process.versions.node.split(".", 2).map((v2) => Number(v2));
class BodyAsyncIterable {
constructor(body) {
this[kBody] = body;
this[kBodyUsed] = false;
}
async* [Symbol.asyncIterator]() {
assert3(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
}
function noop7() {}
function wrapRequestBody(body) {
if (isStream3(body)) {
if (bodyLength(body) === 0) {
body.on("data", function() {
assert3(false);
});
}
if (typeof body.readableDidRead !== "boolean") {
body[kBodyUsed] = false;
EE.prototype.on.call(body, "data", function() {
this[kBodyUsed] = true;
});
}
return body;
} else if (body && typeof body.pipeTo === "function") {
return new BodyAsyncIterable(body);
} else if (body && isFormDataLike(body)) {
return body;
} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable2(body)) {
return new BodyAsyncIterable(body);
} else {
return body;
}
}
function isStream3(obj) {
return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
}
function isBlobLike2(object2) {
if (object2 === null) {
return false;
} else if (object2 instanceof Blob) {
return true;
} else if (typeof object2 !== "object") {
return false;
} else {
const sTag = object2[Symbol.toStringTag];
return (sTag === "Blob" || sTag === "File") && (("stream" in object2) && typeof object2.stream === "function" || ("arrayBuffer" in object2) && typeof object2.arrayBuffer === "function");
}
}
function pathHasQueryOrFragment(url3) {
return url3.includes("?") || url3.includes("#");
}
function serializePathWithQuery(url3, queryParams) {
if (pathHasQueryOrFragment(url3)) {
throw new Error('Query params cannot be passed when url already contains "?" or "#".');
}
const stringified = stringify(queryParams);
if (stringified) {
url3 += "?" + stringified;
}
return url3;
}
function isValidPort(port) {
const value = parseInt(port, 10);
return value === Number(port) && value >= 0 && value <= 65535;
}
function isHttpOrHttpsPrefixed(value) {
return value != null && value[0] === "h" && value[1] === "t" && value[2] === "t" && value[3] === "p" && (value[4] === ":" || value[4] === "s" && value[5] === ":");
}
function parseURL(url3) {
if (typeof url3 === "string") {
url3 = new URL(url3);
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url3;
}
if (!url3 || typeof url3 !== "object") {
throw new InvalidArgumentError2("Invalid URL: The URL argument must be a non-null object.");
}
if (!(url3 instanceof URL)) {
if (url3.port != null && url3.port !== "" && isValidPort(url3.port) === false) {
throw new InvalidArgumentError2("Invalid URL: port must be a valid integer or a string representation of an integer.");
}
if (url3.path != null && typeof url3.path !== "string") {
throw new InvalidArgumentError2("Invalid URL path: the path must be a string or null/undefined.");
}
if (url3.pathname != null && typeof url3.pathname !== "string") {
throw new InvalidArgumentError2("Invalid URL pathname: the pathname must be a string or null/undefined.");
}
if (url3.hostname != null && typeof url3.hostname !== "string") {
throw new InvalidArgumentError2("Invalid URL hostname: the hostname must be a string or null/undefined.");
}
if (url3.origin != null && typeof url3.origin !== "string") {
throw new InvalidArgumentError2("Invalid URL origin: the origin must be a string or null/undefined.");
}
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
const port = url3.port != null ? url3.port : url3.protocol === "https:" ? 443 : 80;
let origin2 = url3.origin != null ? url3.origin : `${url3.protocol || ""}//${url3.hostname || ""}:${port}`;
let path9 = url3.path != null ? url3.path : `${url3.pathname || ""}${url3.search || ""}`;
if (origin2[origin2.length - 1] === "/") {
origin2 = origin2.slice(0, origin2.length - 1);
}
if (path9 && path9[0] !== "/") {
path9 = `/${path9}`;
}
return new URL(`${origin2}${path9}`);
}
if (!isHttpOrHttpsPrefixed(url3.origin || url3.protocol)) {
throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");
}
return url3;
}
function parseOrigin(url3) {
url3 = parseURL(url3);
if (url3.pathname !== "/" || url3.search || url3.hash) {
throw new InvalidArgumentError2("invalid url");
}
return url3;
}
function getHostname(host) {
if (host[0] === "[") {
const idx2 = host.indexOf("]");
assert3(idx2 !== -1);
return host.substring(1, idx2);
}
const idx = host.indexOf(":");
if (idx === -1)
return host;
return host.substring(0, idx);
}
function getServerName(host) {
if (!host) {
return null;
}
assert3(typeof host === "string");
const servername = getHostname(host);
if (net3.isIP(servername)) {
return "";
}
return servername;
}
function deepClone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function isAsyncIterable2(obj) {
return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
}
function isIterable2(obj) {
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
}
function hasSafeIterator(obj) {
const prototype2 = Object.getPrototypeOf(obj);
const ownIterator = Object.prototype.hasOwnProperty.call(obj, Symbol.iterator);
return ownIterator || prototype2 != null && prototype2 !== Object.prototype && typeof obj[Symbol.iterator] === "function";
}
function bodyLength(body) {
if (body == null) {
return 0;
} else if (isStream3(body)) {
const state = body._readableState;
return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
} else if (isBlobLike2(body)) {
return body.size != null ? body.size : null;
} else if (isBuffer3(body)) {
return body.byteLength;
}
return null;
}
function isDestroyed(body) {
return body && !!(body.destroyed || body[kDestroyed] || stream4.isDestroyed?.(body));
}
function destroy(stream5, err) {
if (stream5 == null || !isStream3(stream5) || isDestroyed(stream5)) {
return;
}
if (typeof stream5.destroy === "function") {
if (Object.getPrototypeOf(stream5).constructor === IncomingMessage) {
stream5.socket = null;
}
stream5.destroy(err);
} else if (err) {
queueMicrotask(() => {
stream5.emit("error", err);
});
}
if (stream5.destroyed !== true) {
stream5[kDestroyed] = true;
}
}
var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
function parseKeepAliveTimeout(val) {
const m2 = val.match(KEEPALIVE_TIMEOUT_EXPR);
return m2 ? parseInt(m2[1], 10) * 1000 : null;
}
function headerNameToString(value) {
return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function bufferToLowerCasedHeaderName(value) {
return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
}
function parseHeaders(headers, obj) {
if (obj === undefined)
obj = {};
for (let i2 = 0;i2 < headers.length; i2 += 2) {
const key = headerNameToString(headers[i2]);
let val = obj[key];
if (val !== undefined) {
if (!Object.hasOwn(obj, key)) {
const headersValue = typeof headers[i2 + 1] === "string" ? headers[i2 + 1] : Array.isArray(headers[i2 + 1]) ? headers[i2 + 1].map((x3) => x3.toString("latin1")) : headers[i2 + 1].toString("latin1");
if (key === "__proto__") {
Object.defineProperty(obj, key, {
value: headersValue,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = headersValue;
}
} else {
if (typeof val === "string") {
val = [val];
obj[key] = val;
}
val.push(headers[i2 + 1].toString("latin1"));
}
} else {
const headersValue = typeof headers[i2 + 1] === "string" ? headers[i2 + 1] : Array.isArray(headers[i2 + 1]) ? headers[i2 + 1].map((x3) => x3.toString("latin1")) : headers[i2 + 1].toString("latin1");
obj[key] = headersValue;
}
}
return obj;
}
function parseRawHeaders(headers) {
const headersLength = headers.length;
const ret = new Array(headersLength);
let key;
let val;
for (let n2 = 0;n2 < headersLength; n2 += 2) {
key = headers[n2];
val = headers[n2 + 1];
typeof key !== "string" && (key = key.toString());
typeof val !== "string" && (val = val.toString("latin1"));
ret[n2] = key;
ret[n2 + 1] = val;
}
return ret;
}
function encodeRawHeaders(headers) {
if (!Array.isArray(headers)) {
throw new TypeError("expected headers to be an array");
}
return headers.map((x3) => Buffer.from(x3));
}
function isBuffer3(buffer) {
return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
}
function assertRequestHandler(handler, method, upgrade) {
if (!handler || typeof handler !== "object") {
throw new InvalidArgumentError2("handler must be an object");
}
if (typeof handler.onRequestStart === "function") {
return;
}
if (typeof handler.onConnect !== "function") {
throw new InvalidArgumentError2("invalid onConnect method");
}
if (typeof handler.onError !== "function") {
throw new InvalidArgumentError2("invalid onError method");
}
if (typeof handler.onBodySent !== "function" && handler.onBodySent !== undefined) {
throw new InvalidArgumentError2("invalid onBodySent method");
}
if (upgrade || method === "CONNECT") {
if (typeof handler.onUpgrade !== "function") {
throw new InvalidArgumentError2("invalid onUpgrade method");
}
} else {
if (typeof handler.onHeaders !== "function") {
throw new InvalidArgumentError2("invalid onHeaders method");
}
if (typeof handler.onData !== "function") {
throw new InvalidArgumentError2("invalid onData method");
}
if (typeof handler.onComplete !== "function") {
throw new InvalidArgumentError2("invalid onComplete method");
}
}
}
function isDisturbed(body) {
return !!(body && (stream4.isDisturbed(body) || body[kBodyUsed]));
}
function getSocketInfo(socket) {
return {
localAddress: socket.localAddress,
localPort: socket.localPort,
remoteAddress: socket.remoteAddress,
remotePort: socket.remotePort,
remoteFamily: socket.remoteFamily,
timeout: socket.timeout,
bytesWritten: socket.bytesWritten,
bytesRead: socket.bytesRead
};
}
function ReadableStreamFrom2(iterable) {
let iterator2;
return new ReadableStream({
start() {
iterator2 = iterable[Symbol.asyncIterator]();
},
pull(controller) {
return iterator2.next().then(({ done, value }) => {
if (done) {
return queueMicrotask(() => {
controller.close();
controller.byobRequest?.respond(0);
});
} else {
const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
if (buf.byteLength) {
return controller.enqueue(new Uint8Array(buf));
} else {
return this.pull(controller);
}
}
});
},
cancel() {
return iterator2.return();
},
type: "bytes"
});
}
function isFormDataLike(object2) {
return object2 && typeof object2 === "object" && typeof object2.append === "function" && typeof object2.delete === "function" && typeof object2.get === "function" && typeof object2.getAll === "function" && typeof object2.has === "function" && typeof object2.set === "function" && object2[Symbol.toStringTag] === "FormData";
}
function addAbortListener3(signal, listener) {
if ("addEventListener" in signal) {
signal.addEventListener("abort", listener, { once: true });
return () => signal.removeEventListener("abort", listener);
}
signal.once("abort", listener);
return () => signal.removeListener("abort", listener);
}
var validTokenChars = 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 isTokenCharCode(c5) {
return validTokenChars[c5] === 1;
}
var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
function isValidHTTPToken(characters) {
if (characters.length >= 12)
return tokenRegExp.test(characters);
if (characters.length === 0)
return false;
for (let i2 = 0;i2 < characters.length; i2++) {
if (validTokenChars[characters.charCodeAt(i2)] !== 1) {
return false;
}
}
return true;
}
var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
function isValidHeaderValue(characters) {
return !headerCharRegex.test(characters);
}
var rangeHeaderRegex = /^bytes (\d+)-(\d+)\/(\d+)?$/;
function parseRangeHeader(range) {
if (range == null || range === "")
return { start: 0, end: null, size: null };
const m2 = range ? range.match(rangeHeaderRegex) : null;
return m2 ? {
start: parseInt(m2[1]),
end: m2[2] ? parseInt(m2[2]) : null,
size: m2[3] ? parseInt(m2[3]) : null
} : null;
}
function addListener(obj, name, listener) {
const listeners = obj[kListeners] ??= [];
listeners.push([name, listener]);
obj.on(name, listener);
return obj;
}
function removeAllListeners(obj) {
if (obj[kListeners] != null) {
for (const [name, listener] of obj[kListeners]) {
obj.removeListener(name, listener);
}
obj[kListeners] = null;
}
return obj;
}
function errorRequest(client, request, err) {
try {
request.onError(err);
assert3(request.aborted);
} catch (err2) {
client.emit("error", err2);
}
}
var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
if (!opts.timeout) {
return noop7;
}
let s1 = null;
let s2 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts));
});
}, opts.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
clearImmediate(s2);
};
} : (socketWeakRef, opts) => {
if (!opts.timeout) {
return noop7;
}
let s1 = null;
const fastTimer = timers.setFastTimeout(() => {
s1 = setImmediate(() => {
onConnectTimeout(socketWeakRef.deref(), opts);
});
}, opts.timeout);
return () => {
timers.clearFastTimeout(fastTimer);
clearImmediate(s1);
};
};
function onConnectTimeout(socket, opts) {
if (socket == null) {
return;
}
let message = "Connect Timeout Error";
if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")},`;
} else {
message += ` (attempted address: ${opts.hostname}:${opts.port},`;
}
message += ` timeout: ${opts.timeout}ms)`;
destroy(socket, new ConnectTimeoutError(message));
}
function getProtocolFromUrlString(urlString) {
if (urlString[0] === "h" && urlString[1] === "t" && urlString[2] === "t" && urlString[3] === "p") {
switch (urlString[4]) {
case ":":
return "http:";
case "s":
if (urlString[5] === ":") {
return "https:";
}
}
}
return urlString.slice(0, urlString.indexOf(":") + 1);
}
var kEnumerableProperty = Object.create(null);
kEnumerableProperty.enumerable = true;
var normalizedMethodRecordsBase = {
delete: "DELETE",
DELETE: "DELETE",
get: "GET",
GET: "GET",
head: "HEAD",
HEAD: "HEAD",
options: "OPTIONS",
OPTIONS: "OPTIONS",
post: "POST",
POST: "POST",
put: "PUT",
PUT: "PUT"
};
var normalizedMethodRecords = {
...normalizedMethodRecordsBase,
patch: "patch",
PATCH: "PATCH"
};
Object.setPrototypeOf(normalizedMethodRecordsBase, null);
Object.setPrototypeOf(normalizedMethodRecords, null);
module.exports = {
kEnumerableProperty,
isDisturbed,
isBlobLike: isBlobLike2,
parseOrigin,
parseURL,
getServerName,
isStream: isStream3,
isIterable: isIterable2,
hasSafeIterator,
isAsyncIterable: isAsyncIterable2,
isDestroyed,
headerNameToString,
bufferToLowerCasedHeaderName,
addListener,
removeAllListeners,
errorRequest,
parseRawHeaders,
encodeRawHeaders,
parseHeaders,
parseKeepAliveTimeout,
destroy,
bodyLength,
deepClone,
ReadableStreamFrom: ReadableStreamFrom2,
isBuffer: isBuffer3,
assertRequestHandler,
getSocketInfo,
isFormDataLike,
pathHasQueryOrFragment,
serializePathWithQuery,
addAbortListener: addAbortListener3,
isValidHTTPToken,
isValidHeaderValue,
isTokenCharCode,
parseRangeHeader,
normalizedMethodRecordsBase,
normalizedMethodRecords,
isValidPort,
isHttpOrHttpsPrefixed,
nodeMajor,
nodeMinor,
safeHTTPMethods: Object.freeze(["GET", "HEAD", "OPTIONS", "TRACE"]),
wrapRequestBody,
setupConnectTimeout,
getProtocolFromUrlString
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/stats.js
var require_stats = __commonJS((exports, module) => {
var {
kConnected,
kPending,
kRunning,
kSize,
kFree,
kQueued
} = require_symbols();
class ClientStats {
constructor(client) {
this.connected = client[kConnected];
this.pending = client[kPending];
this.running = client[kRunning];
this.size = client[kSize];
}
}
class PoolStats {
constructor(pool) {
this.connected = pool[kConnected];
this.free = pool[kFree];
this.pending = pool[kPending];
this.queued = pool[kQueued];
this.running = pool[kRunning];
this.size = pool[kSize];
}
}
module.exports = { ClientStats, PoolStats };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/diagnostics.js
var require_diagnostics = __commonJS((exports, module) => {
var diagnosticsChannel = __require("node:diagnostics_channel");
var util3 = __require("node:util");
var undiciDebugLog = util3.debuglog("undici");
var fetchDebuglog = util3.debuglog("fetch");
var websocketDebuglog = util3.debuglog("websocket");
var channels = {
beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
connected: diagnosticsChannel.channel("undici:client:connected"),
connectError: diagnosticsChannel.channel("undici:client:connectError"),
sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
create: diagnosticsChannel.channel("undici:request:create"),
bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
bodyChunkSent: diagnosticsChannel.channel("undici:request:bodyChunkSent"),
bodyChunkReceived: diagnosticsChannel.channel("undici:request:bodyChunkReceived"),
headers: diagnosticsChannel.channel("undici:request:headers"),
trailers: diagnosticsChannel.channel("undici:request:trailers"),
error: diagnosticsChannel.channel("undici:request:error"),
open: diagnosticsChannel.channel("undici:websocket:open"),
close: diagnosticsChannel.channel("undici:websocket:close"),
socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
ping: diagnosticsChannel.channel("undici:websocket:ping"),
pong: diagnosticsChannel.channel("undici:websocket:pong"),
proxyConnected: diagnosticsChannel.channel("undici:proxy:connected")
};
var isTrackingClientEvents = false;
function trackClientEvents(debugLog = undiciDebugLog) {
if (isTrackingClientEvents) {
return;
}
if (channels.beforeConnect.hasSubscribers || channels.connected.hasSubscribers || channels.connectError.hasSubscribers || channels.sendHeaders.hasSubscribers) {
isTrackingClientEvents = true;
return;
}
isTrackingClientEvents = true;
diagnosticsChannel.subscribe("undici:client:beforeConnect", (evt) => {
const {
connectParams: { version: version2, protocol, port, host }
} = evt;
debugLog("connecting to %s%s using %s%s", host, port ? `:${port}` : "", protocol, version2);
});
diagnosticsChannel.subscribe("undici:client:connected", (evt) => {
const {
connectParams: { version: version2, protocol, port, host }
} = evt;
debugLog("connected to %s%s using %s%s", host, port ? `:${port}` : "", protocol, version2);
});
diagnosticsChannel.subscribe("undici:client:connectError", (evt) => {
const {
connectParams: { version: version2, protocol, port, host },
error: error49
} = evt;
debugLog("connection to %s%s using %s%s errored - %s", host, port ? `:${port}` : "", protocol, version2, error49.message);
});
diagnosticsChannel.subscribe("undici:client:sendHeaders", (evt) => {
const {
request: { method, path: path9, origin: origin2 }
} = evt;
debugLog("sending request to %s %s%s", method, origin2, path9);
});
}
var isTrackingRequestEvents = false;
function trackRequestEvents(debugLog = undiciDebugLog) {
if (isTrackingRequestEvents) {
return;
}
if (channels.headers.hasSubscribers || channels.trailers.hasSubscribers || channels.error.hasSubscribers) {
isTrackingRequestEvents = true;
return;
}
isTrackingRequestEvents = true;
diagnosticsChannel.subscribe("undici:request:headers", (evt) => {
const {
request: { method, path: path9, origin: origin2 },
response: { statusCode }
} = evt;
debugLog("received response to %s %s%s - HTTP %d", method, origin2, path9, statusCode);
});
diagnosticsChannel.subscribe("undici:request:trailers", (evt) => {
const {
request: { method, path: path9, origin: origin2 }
} = evt;
debugLog("trailers received from %s %s%s", method, origin2, path9);
});
diagnosticsChannel.subscribe("undici:request:error", (evt) => {
const {
request: { method, path: path9, origin: origin2 },
error: error49
} = evt;
debugLog("request to %s %s%s errored - %s", method, origin2, path9, error49.message);
});
}
var isTrackingWebSocketEvents = false;
function trackWebSocketEvents(debugLog = websocketDebuglog) {
if (isTrackingWebSocketEvents) {
return;
}
if (channels.open.hasSubscribers || channels.close.hasSubscribers || channels.socketError.hasSubscribers || channels.ping.hasSubscribers || channels.pong.hasSubscribers) {
isTrackingWebSocketEvents = true;
return;
}
isTrackingWebSocketEvents = true;
diagnosticsChannel.subscribe("undici:websocket:open", (evt) => {
if (evt.address != null) {
const { address, port } = evt.address;
debugLog("connection opened %s%s", address, port ? `:${port}` : "");
} else {
debugLog("connection opened");
}
});
diagnosticsChannel.subscribe("undici:websocket:close", (evt) => {
const { websocket, code, reason } = evt;
debugLog("closed connection to %s - %s %s", websocket.url, code, reason);
});
diagnosticsChannel.subscribe("undici:websocket:socket_error", (err) => {
debugLog("connection errored - %s", err.message);
});
diagnosticsChannel.subscribe("undici:websocket:ping", (evt) => {
debugLog("ping received");
});
diagnosticsChannel.subscribe("undici:websocket:pong", (evt) => {
debugLog("pong received");
});
}
if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
trackClientEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
trackRequestEvents(fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog);
}
if (websocketDebuglog.enabled) {
trackClientEvents(undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog);
trackWebSocketEvents(websocketDebuglog);
}
module.exports = {
channels
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/request.js
var require_request = __commonJS((exports, module) => {
var {
InvalidArgumentError: InvalidArgumentError2,
NotSupportedError
} = require_errors();
var assert3 = __require("node:assert");
var {
isValidHTTPToken,
isValidHeaderValue,
isStream: isStream3,
destroy,
isBuffer: isBuffer3,
isFormDataLike,
isIterable: isIterable2,
hasSafeIterator,
isBlobLike: isBlobLike2,
serializePathWithQuery,
assertRequestHandler,
getServerName,
normalizedMethodRecords,
getProtocolFromUrlString
} = require_util();
var { channels } = require_diagnostics();
var { headerNameLowerCasedRecord } = require_constants2();
var invalidPathRegex = /[^\u0021-\u00ff]/;
var kHandler = Symbol("handler");
class Request2 {
constructor(origin2, {
path: path9,
method,
body,
headers,
query,
idempotent,
blocking,
upgrade,
headersTimeout,
bodyTimeout,
reset: reset2,
expectContinue,
servername,
throwOnError,
maxRedirections,
typeOfService
}, handler) {
if (typeof path9 !== "string") {
throw new InvalidArgumentError2("path must be a string");
} else if (path9[0] !== "/" && !(path9.startsWith("http://") || path9.startsWith("https://")) && method !== "CONNECT") {
throw new InvalidArgumentError2("path must be an absolute URL or start with a slash");
} else if (invalidPathRegex.test(path9)) {
throw new InvalidArgumentError2("invalid request path");
}
if (typeof method !== "string") {
throw new InvalidArgumentError2("method must be a string");
} else if (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) {
throw new InvalidArgumentError2("invalid request method");
}
if (upgrade && typeof upgrade !== "string") {
throw new InvalidArgumentError2("upgrade must be a string");
}
if (upgrade && !isValidHeaderValue(upgrade)) {
throw new InvalidArgumentError2("invalid upgrade header");
}
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError2("invalid headersTimeout");
}
if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError2("invalid bodyTimeout");
}
if (reset2 != null && typeof reset2 !== "boolean") {
throw new InvalidArgumentError2("invalid reset");
}
if (expectContinue != null && typeof expectContinue !== "boolean") {
throw new InvalidArgumentError2("invalid expectContinue");
}
if (throwOnError != null) {
throw new InvalidArgumentError2("invalid throwOnError");
}
if (maxRedirections != null && maxRedirections !== 0) {
throw new InvalidArgumentError2("maxRedirections is not supported, use the redirect interceptor");
}
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) {
throw new InvalidArgumentError2("typeOfService must be an integer between 0 and 255");
}
this.headersTimeout = headersTimeout;
this.bodyTimeout = bodyTimeout;
this.method = method;
this.typeOfService = typeOfService ?? 0;
this.abort = null;
if (body == null) {
this.body = null;
} else if (isStream3(body)) {
this.body = body;
const rState = this.body._readableState;
if (!rState || !rState.autoDestroy) {
this.endHandler = function autoDestroy() {
destroy(this);
};
this.body.on("end", this.endHandler);
}
this.errorHandler = (err) => {
if (this.abort) {
this.abort(err);
} else {
this.error = err;
}
};
this.body.on("error", this.errorHandler);
} else if (isBuffer3(body)) {
this.body = body.byteLength ? body : null;
} else if (ArrayBuffer.isView(body)) {
this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
} else if (body instanceof ArrayBuffer) {
this.body = body.byteLength ? Buffer.from(body) : null;
} else if (typeof body === "string") {
this.body = body.length ? Buffer.from(body) : null;
} else if (isFormDataLike(body) || isIterable2(body) || isBlobLike2(body)) {
this.body = body;
} else {
throw new InvalidArgumentError2("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
}
this.completed = false;
this.aborted = false;
this.upgrade = upgrade || null;
this.path = query ? serializePathWithQuery(path9, query) : path9;
this.origin = origin2;
this.protocol = getProtocolFromUrlString(origin2);
this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
this.blocking = blocking ?? this.method !== "HEAD";
this.reset = reset2 == null ? null : reset2;
this.host = null;
this.contentLength = null;
this.contentType = null;
this.headers = [];
this.expectContinue = expectContinue != null ? expectContinue : false;
if (Array.isArray(headers)) {
if (headers.length % 2 !== 0) {
throw new InvalidArgumentError2("headers array must be even");
}
for (let i2 = 0;i2 < headers.length; i2 += 2) {
processHeader(this, headers[i2], headers[i2 + 1]);
}
} else if (headers && typeof headers === "object") {
if (hasSafeIterator(headers)) {
for (const header of headers) {
if (!Array.isArray(header) || header.length !== 2) {
throw new InvalidArgumentError2("headers must be in key-value pair format");
}
processHeader(this, header[0], header[1]);
}
} else {
const keys2 = Object.keys(headers);
for (let i2 = 0;i2 < keys2.length; ++i2) {
processHeader(this, keys2[i2], headers[keys2[i2]]);
}
}
} else if (headers != null) {
throw new InvalidArgumentError2("headers must be an object or an array");
}
assertRequestHandler(handler, method, upgrade);
this.servername = servername || getServerName(this.host) || null;
this[kHandler] = handler;
if (channels.create.hasSubscribers) {
channels.create.publish({ request: this });
}
}
onBodySent(chunk) {
if (channels.bodyChunkSent.hasSubscribers) {
channels.bodyChunkSent.publish({ request: this, chunk });
}
if (this[kHandler].onBodySent) {
try {
return this[kHandler].onBodySent(chunk);
} catch (err) {
this.abort(err);
}
}
}
onRequestSent() {
if (channels.bodySent.hasSubscribers) {
channels.bodySent.publish({ request: this });
}
if (this[kHandler].onRequestSent) {
try {
return this[kHandler].onRequestSent();
} catch (err) {
this.abort(err);
}
}
}
onConnect(abort) {
assert3(!this.aborted);
assert3(!this.completed);
if (this.error) {
abort(this.error);
} else {
this.abort = abort;
return this[kHandler].onConnect(abort);
}
}
onResponseStarted() {
return this[kHandler].onResponseStarted?.();
}
onHeaders(statusCode, headers, resume2, statusText) {
assert3(!this.aborted);
assert3(!this.completed);
if (channels.headers.hasSubscribers) {
channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
}
try {
return this[kHandler].onHeaders(statusCode, headers, resume2, statusText);
} catch (err) {
this.abort(err);
}
}
onData(chunk) {
assert3(!this.aborted);
assert3(!this.completed);
if (channels.bodyChunkReceived.hasSubscribers) {
channels.bodyChunkReceived.publish({ request: this, chunk });
}
try {
return this[kHandler].onData(chunk);
} catch (err) {
this.abort(err);
return false;
}
}
onUpgrade(statusCode, headers, socket) {
assert3(!this.aborted);
assert3(!this.completed);
return this[kHandler].onUpgrade(statusCode, headers, socket);
}
onComplete(trailers) {
this.onFinally();
assert3(!this.aborted);
assert3(!this.completed);
this.completed = true;
if (channels.trailers.hasSubscribers) {
channels.trailers.publish({ request: this, trailers });
}
try {
return this[kHandler].onComplete(trailers);
} catch (err) {
this.onError(err);
}
}
onError(error49) {
this.onFinally();
if (channels.error.hasSubscribers) {
channels.error.publish({ request: this, error: error49 });
}
if (this.aborted) {
return;
}
this.aborted = true;
return this[kHandler].onError(error49);
}
onFinally() {
if (this.errorHandler) {
this.body.off("error", this.errorHandler);
this.errorHandler = null;
}
if (this.endHandler) {
this.body.off("end", this.endHandler);
this.endHandler = null;
}
}
addHeader(key, value) {
processHeader(this, key, value);
return this;
}
}
function processHeader(request, key, val) {
if (val && (typeof val === "object" && !Array.isArray(val))) {
throw new InvalidArgumentError2(`invalid ${key} header`);
} else if (val === undefined) {
return;
}
let headerName = headerNameLowerCasedRecord[key];
if (headerName === undefined) {
headerName = key.toLowerCase();
if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) {
throw new InvalidArgumentError2("invalid header key");
}
}
if (Array.isArray(val)) {
const arr = [];
for (let i2 = 0;i2 < val.length; i2++) {
if (typeof val[i2] === "string") {
if (!isValidHeaderValue(val[i2])) {
throw new InvalidArgumentError2(`invalid ${key} header`);
}
arr.push(val[i2]);
} else if (val[i2] === null) {
arr.push("");
} else if (typeof val[i2] === "object") {
throw new InvalidArgumentError2(`invalid ${key} header`);
} else {
arr.push(`${val[i2]}`);
}
}
val = arr;
} else if (typeof val === "string") {
if (!isValidHeaderValue(val)) {
throw new InvalidArgumentError2(`invalid ${key} header`);
}
} else if (val === null) {
val = "";
} else {
val = `${val}`;
}
if (headerName === "host") {
if (request.host !== null) {
throw new InvalidArgumentError2("duplicate host header");
}
if (typeof val !== "string") {
throw new InvalidArgumentError2("invalid host header");
}
request.host = val;
} else if (headerName === "content-length") {
if (request.contentLength !== null) {
throw new InvalidArgumentError2("duplicate content-length header");
}
request.contentLength = parseInt(val, 10);
if (!Number.isFinite(request.contentLength)) {
throw new InvalidArgumentError2("invalid content-length header");
}
} else if (request.contentType === null && headerName === "content-type") {
request.contentType = val;
request.headers.push(key, val);
} else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
throw new InvalidArgumentError2(`invalid ${headerName} header`);
} else if (headerName === "connection") {
const value = typeof val === "string" ? val : null;
if (value === null) {
throw new InvalidArgumentError2("invalid connection header");
}
for (const token of value.toLowerCase().split(",")) {
const trimmed = token.trim();
if (!isValidHTTPToken(trimmed)) {
throw new InvalidArgumentError2("invalid connection header");
}
if (trimmed === "close") {
request.reset = true;
}
}
} else if (headerName === "expect") {
throw new NotSupportedError("expect header not supported");
} else {
request.headers.push(key, val);
}
}
module.exports = Request2;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/wrap-handler.js
var require_wrap_handler = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
module.exports = class WrapHandler {
#handler;
constructor(handler) {
this.#handler = handler;
}
static wrap(handler) {
return handler.onRequestStart ? handler : new WrapHandler(handler);
}
onConnect(abort, context) {
return this.#handler.onConnect?.(abort, context);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onHeaders(statusCode, rawHeaders, resume2, statusMessage) {
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume2, statusMessage);
}
onUpgrade(statusCode, rawHeaders, socket) {
return this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onData(data) {
return this.#handler.onData?.(data);
}
onComplete(trailers) {
return this.#handler.onComplete?.(trailers);
}
onError(err) {
if (!this.#handler.onError) {
throw err;
}
return this.#handler.onError?.(err);
}
onRequestStart(controller, context) {
this.#handler.onConnect?.((reason) => controller.abort(reason), context);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const rawHeaders = [];
for (const [key, val] of Object.entries(headers)) {
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
controller.pause();
}
}
onResponseData(controller, data) {
if (this.#handler.onData?.(data) === false) {
controller.pause();
}
}
onResponseEnd(controller, trailers) {
const rawTrailers = [];
for (const [key, val] of Object.entries(trailers)) {
rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
}
this.#handler.onComplete?.(rawTrailers);
}
onResponseError(controller, err) {
if (!this.#handler.onError) {
throw new InvalidArgumentError2("invalid onError method");
}
this.#handler.onError?.(err);
}
};
function toRawHeaderValue(value) {
return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
}
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/dispatcher.js
var require_dispatcher = __commonJS((exports, module) => {
var EventEmitter3 = __require("node:events");
var WrapHandler = require_wrap_handler();
var wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler));
class Dispatcher extends EventEmitter3 {
dispatch() {
throw new Error("not implemented");
}
close() {
throw new Error("not implemented");
}
destroy() {
throw new Error("not implemented");
}
compose(...args) {
const interceptors = Array.isArray(args[0]) ? args[0] : args;
let dispatch = this.dispatch.bind(this);
for (const interceptor of interceptors) {
if (interceptor == null) {
continue;
}
if (typeof interceptor !== "function") {
throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`);
}
dispatch = interceptor(dispatch);
dispatch = wrapInterceptor(dispatch);
if (dispatch == null || typeof dispatch !== "function" || dispatch.length !== 2) {
throw new TypeError("invalid interceptor");
}
}
return new Proxy(this, {
get: (target, key) => key === "dispatch" ? dispatch : target[key]
});
}
}
module.exports = Dispatcher;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/unwrap-handler.js
var require_unwrap_handler = __commonJS((exports, module) => {
var { parseHeaders } = require_util();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var kResume = Symbol("resume");
class UnwrapController {
#paused = false;
#reason = null;
#aborted = false;
#abort;
[kResume] = null;
constructor(abort) {
this.#abort = abort;
}
pause() {
this.#paused = true;
}
resume() {
if (this.#paused) {
this.#paused = false;
this[kResume]?.();
}
}
abort(reason) {
if (!this.#aborted) {
this.#aborted = true;
this.#reason = reason;
this.#abort(reason);
}
}
get aborted() {
return this.#aborted;
}
get reason() {
return this.#reason;
}
get paused() {
return this.#paused;
}
}
module.exports = class UnwrapHandler {
#handler;
#controller;
constructor(handler) {
this.#handler = handler;
}
static unwrap(handler) {
return !handler.onRequestStart ? handler : new UnwrapHandler(handler);
}
onConnect(abort, context) {
this.#controller = new UnwrapController(abort);
this.#handler.onRequestStart?.(this.#controller, context);
}
onResponseStarted() {
return this.#handler.onResponseStarted?.();
}
onUpgrade(statusCode, rawHeaders, socket) {
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
}
onHeaders(statusCode, rawHeaders, resume2, statusMessage) {
this.#controller[kResume] = resume2;
this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage);
return !this.#controller.paused;
}
onData(data) {
this.#handler.onResponseData?.(this.#controller, data);
return !this.#controller.paused;
}
onComplete(rawTrailers) {
this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers));
}
onError(err) {
if (!this.#handler.onResponseError) {
throw new InvalidArgumentError2("invalid onError method");
}
this.#handler.onResponseError?.(this.#controller, err);
}
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/dispatcher-base.js
var require_dispatcher_base = __commonJS((exports, module) => {
var Dispatcher = require_dispatcher();
var UnwrapHandler = require_unwrap_handler();
var {
ClientDestroyedError,
ClientClosedError,
InvalidArgumentError: InvalidArgumentError2
} = require_errors();
var { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols();
var kOnDestroyed = Symbol("onDestroyed");
var kOnClosed = Symbol("onClosed");
class DispatcherBase extends Dispatcher {
[kDestroyed] = false;
[kOnDestroyed] = null;
[kClosed] = false;
[kOnClosed] = null;
get destroyed() {
return this[kDestroyed];
}
get closed() {
return this[kClosed];
}
close(callback) {
if (callback === undefined) {
return new Promise((resolve9, reject) => {
this.close((err, data) => {
return err ? reject(err) : resolve9(data);
});
});
}
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
if (this[kDestroyed]) {
const err = new ClientDestroyedError;
queueMicrotask(() => callback(err, null));
return;
}
if (this[kClosed]) {
if (this[kOnClosed]) {
this[kOnClosed].push(callback);
} else {
queueMicrotask(() => callback(null, null));
}
return;
}
this[kClosed] = true;
this[kOnClosed] ??= [];
this[kOnClosed].push(callback);
const onClosed = () => {
const callbacks = this[kOnClosed];
this[kOnClosed] = null;
for (let i2 = 0;i2 < callbacks.length; i2++) {
callbacks[i2](null, null);
}
};
this[kClose]().then(() => this.destroy()).then(() => queueMicrotask(onClosed));
}
destroy(err, callback) {
if (typeof err === "function") {
callback = err;
err = null;
}
if (callback === undefined) {
return new Promise((resolve9, reject) => {
this.destroy(err, (err2, data) => {
return err2 ? reject(err2) : resolve9(data);
});
});
}
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
if (this[kDestroyed]) {
if (this[kOnDestroyed]) {
this[kOnDestroyed].push(callback);
} else {
queueMicrotask(() => callback(null, null));
}
return;
}
if (!err) {
err = new ClientDestroyedError;
}
this[kDestroyed] = true;
this[kOnDestroyed] ??= [];
this[kOnDestroyed].push(callback);
const onDestroyed = () => {
const callbacks = this[kOnDestroyed];
this[kOnDestroyed] = null;
for (let i2 = 0;i2 < callbacks.length; i2++) {
callbacks[i2](null, null);
}
};
this[kDestroy](err).then(() => queueMicrotask(onDestroyed));
}
dispatch(opts, handler) {
if (!handler || typeof handler !== "object") {
throw new InvalidArgumentError2("handler must be an object");
}
handler = UnwrapHandler.unwrap(handler);
try {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("opts must be an object.");
}
if (this[kDestroyed] || this[kOnDestroyed]) {
throw new ClientDestroyedError;
}
if (this[kClosed]) {
throw new ClientClosedError;
}
return this[kDispatch](opts, handler);
} catch (err) {
if (typeof handler.onError !== "function") {
throw err;
}
handler.onError(err);
return false;
}
}
}
module.exports = DispatcherBase;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/connect.js
var require_connect = __commonJS((exports, module) => {
var net3 = __require("node:net");
var assert3 = __require("node:assert");
var util3 = require_util();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var tls2;
var SessionCache = class WeakSessionCache {
constructor(maxCachedSessions) {
this._maxCachedSessions = maxCachedSessions;
this._sessionCache = new Map;
this._sessionRegistry = new FinalizationRegistry((key) => {
if (this._sessionCache.size < this._maxCachedSessions) {
return;
}
const ref = this._sessionCache.get(key);
if (ref !== undefined && ref.deref() === undefined) {
this._sessionCache.delete(key);
}
});
}
get(sessionKey) {
const ref = this._sessionCache.get(sessionKey);
return ref ? ref.deref() : null;
}
set(sessionKey, session) {
if (this._maxCachedSessions === 0) {
return;
}
this._sessionCache.set(sessionKey, new WeakRef(session));
this._sessionRegistry.register(session, sessionKey);
}
};
function buildConnector({ allowH2, useH2c, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {
if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
throw new InvalidArgumentError2("maxCachedSessions must be a positive integer or zero");
}
const options = { path: socketPath, ...opts };
const sessionCache2 = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
timeout = timeout == null ? 1e4 : timeout;
allowH2 = allowH2 != null ? allowH2 : false;
return function connect3({ hostname: hostname3, host, protocol, port, servername, localAddress, httpSocket }, callback) {
let socket;
if (protocol === "https:") {
if (!tls2) {
tls2 = __require("node:tls");
}
servername = servername || options.servername || util3.getServerName(host) || null;
const sessionKey = servername || hostname3;
assert3(sessionKey);
const session = customSession || sessionCache2.get(sessionKey) || null;
port = port || 443;
socket = tls2.connect({
highWaterMark: 16384,
...options,
servername,
session,
localAddress,
ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
socket: httpSocket,
port,
host: hostname3
});
socket.on("session", function(session2) {
sessionCache2.set(sessionKey, session2);
});
} else {
assert3(!httpSocket, "httpSocket can only be sent on TLS update");
port = port || 80;
socket = net3.connect({
highWaterMark: 64 * 1024,
...options,
localAddress,
port,
host: hostname3
});
if (useH2c === true) {
socket.alpnProtocol = "h2";
}
}
if (options.keepAlive == null || options.keepAlive) {
const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60000 : options.keepAliveInitialDelay;
socket.setKeepAlive(true, keepAliveInitialDelay);
}
const clearConnectTimeout = util3.setupConnectTimeout(new WeakRef(socket), { timeout, hostname: hostname3, port });
socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
queueMicrotask(clearConnectTimeout);
if (callback) {
const cb = callback;
callback = null;
cb(null, this);
}
}).on("error", function(err) {
queueMicrotask(clearConnectTimeout);
if (callback) {
const cb = callback;
callback = null;
cb(err);
}
});
return socket;
};
}
module.exports = buildConnector;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/llhttp/utils.js
var require_utils2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.enumToMap = enumToMap;
function enumToMap(obj, filter2 = [], exceptions = []) {
const emptyFilter = (filter2?.length ?? 0) === 0;
const emptyExceptions = (exceptions?.length ?? 0) === 0;
return Object.fromEntries(Object.entries(obj).filter(([, value]) => {
return typeof value === "number" && (emptyFilter || filter2.includes(value)) && (emptyExceptions || !exceptions.includes(value));
}));
}
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/llhttp/constants.js
var require_constants3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = undefined;
var utils_1 = require_utils2();
exports.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
};
exports.TYPE = {
BOTH: 0,
REQUEST: 1,
RESPONSE: 2
};
exports.FLAGS = {
CONNECTION_KEEP_ALIVE: 1 << 0,
CONNECTION_CLOSE: 1 << 1,
CONNECTION_UPGRADE: 1 << 2,
CHUNKED: 1 << 3,
UPGRADE: 1 << 4,
CONTENT_LENGTH: 1 << 5,
SKIPBODY: 1 << 6,
TRAILING: 1 << 7,
TRANSFER_ENCODING: 1 << 9
};
exports.LENIENT_FLAGS = {
HEADERS: 1 << 0,
CHUNKED_LENGTH: 1 << 1,
KEEP_ALIVE: 1 << 2,
TRANSFER_ENCODING: 1 << 3,
VERSION: 1 << 4,
DATA_AFTER_CLOSE: 1 << 5,
OPTIONAL_LF_AFTER_CR: 1 << 6,
OPTIONAL_CRLF_AFTER_CHUNK: 1 << 7,
OPTIONAL_CR_BEFORE_LF: 1 << 8,
SPACES_AFTER_CHUNK_SIZE: 1 << 9
};
exports.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
};
exports.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
};
exports.FINISH = {
SAFE: 0,
SAFE_WITH_CB: 1,
UNSAFE: 2
};
exports.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
};
exports.METHODS_HTTP = [
exports.METHODS.DELETE,
exports.METHODS.GET,
exports.METHODS.HEAD,
exports.METHODS.POST,
exports.METHODS.PUT,
exports.METHODS.CONNECT,
exports.METHODS.OPTIONS,
exports.METHODS.TRACE,
exports.METHODS.COPY,
exports.METHODS.LOCK,
exports.METHODS.MKCOL,
exports.METHODS.MOVE,
exports.METHODS.PROPFIND,
exports.METHODS.PROPPATCH,
exports.METHODS.SEARCH,
exports.METHODS.UNLOCK,
exports.METHODS.BIND,
exports.METHODS.REBIND,
exports.METHODS.UNBIND,
exports.METHODS.ACL,
exports.METHODS.REPORT,
exports.METHODS.MKACTIVITY,
exports.METHODS.CHECKOUT,
exports.METHODS.MERGE,
exports.METHODS["M-SEARCH"],
exports.METHODS.NOTIFY,
exports.METHODS.SUBSCRIBE,
exports.METHODS.UNSUBSCRIBE,
exports.METHODS.PATCH,
exports.METHODS.PURGE,
exports.METHODS.MKCALENDAR,
exports.METHODS.LINK,
exports.METHODS.UNLINK,
exports.METHODS.PRI,
exports.METHODS.SOURCE,
exports.METHODS.QUERY
];
exports.METHODS_ICE = [
exports.METHODS.SOURCE
];
exports.METHODS_RTSP = [
exports.METHODS.OPTIONS,
exports.METHODS.DESCRIBE,
exports.METHODS.ANNOUNCE,
exports.METHODS.SETUP,
exports.METHODS.PLAY,
exports.METHODS.PAUSE,
exports.METHODS.TEARDOWN,
exports.METHODS.GET_PARAMETER,
exports.METHODS.SET_PARAMETER,
exports.METHODS.REDIRECT,
exports.METHODS.RECORD,
exports.METHODS.FLUSH,
exports.METHODS.GET,
exports.METHODS.POST
];
exports.METHOD_MAP = (0, utils_1.enumToMap)(exports.METHODS);
exports.H_METHOD_MAP = Object.fromEntries(Object.entries(exports.METHODS).filter(([k2]) => k2.startsWith("H")));
exports.STATUSES_HTTP = [
exports.STATUSES.CONTINUE,
exports.STATUSES.SWITCHING_PROTOCOLS,
exports.STATUSES.PROCESSING,
exports.STATUSES.EARLY_HINTS,
exports.STATUSES.RESPONSE_IS_STALE,
exports.STATUSES.REVALIDATION_FAILED,
exports.STATUSES.DISCONNECTED_OPERATION,
exports.STATUSES.HEURISTIC_EXPIRATION,
exports.STATUSES.MISCELLANEOUS_WARNING,
exports.STATUSES.OK,
exports.STATUSES.CREATED,
exports.STATUSES.ACCEPTED,
exports.STATUSES.NON_AUTHORITATIVE_INFORMATION,
exports.STATUSES.NO_CONTENT,
exports.STATUSES.RESET_CONTENT,
exports.STATUSES.PARTIAL_CONTENT,
exports.STATUSES.MULTI_STATUS,
exports.STATUSES.ALREADY_REPORTED,
exports.STATUSES.TRANSFORMATION_APPLIED,
exports.STATUSES.IM_USED,
exports.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,
exports.STATUSES.MULTIPLE_CHOICES,
exports.STATUSES.MOVED_PERMANENTLY,
exports.STATUSES.FOUND,
exports.STATUSES.SEE_OTHER,
exports.STATUSES.NOT_MODIFIED,
exports.STATUSES.USE_PROXY,
exports.STATUSES.SWITCH_PROXY,
exports.STATUSES.TEMPORARY_REDIRECT,
exports.STATUSES.PERMANENT_REDIRECT,
exports.STATUSES.BAD_REQUEST,
exports.STATUSES.UNAUTHORIZED,
exports.STATUSES.PAYMENT_REQUIRED,
exports.STATUSES.FORBIDDEN,
exports.STATUSES.NOT_FOUND,
exports.STATUSES.METHOD_NOT_ALLOWED,
exports.STATUSES.NOT_ACCEPTABLE,
exports.STATUSES.PROXY_AUTHENTICATION_REQUIRED,
exports.STATUSES.REQUEST_TIMEOUT,
exports.STATUSES.CONFLICT,
exports.STATUSES.GONE,
exports.STATUSES.LENGTH_REQUIRED,
exports.STATUSES.PRECONDITION_FAILED,
exports.STATUSES.PAYLOAD_TOO_LARGE,
exports.STATUSES.URI_TOO_LONG,
exports.STATUSES.UNSUPPORTED_MEDIA_TYPE,
exports.STATUSES.RANGE_NOT_SATISFIABLE,
exports.STATUSES.EXPECTATION_FAILED,
exports.STATUSES.IM_A_TEAPOT,
exports.STATUSES.PAGE_EXPIRED,
exports.STATUSES.ENHANCE_YOUR_CALM,
exports.STATUSES.MISDIRECTED_REQUEST,
exports.STATUSES.UNPROCESSABLE_ENTITY,
exports.STATUSES.LOCKED,
exports.STATUSES.FAILED_DEPENDENCY,
exports.STATUSES.TOO_EARLY,
exports.STATUSES.UPGRADE_REQUIRED,
exports.STATUSES.PRECONDITION_REQUIRED,
exports.STATUSES.TOO_MANY_REQUESTS,
exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,
exports.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,
exports.STATUSES.LOGIN_TIMEOUT,
exports.STATUSES.NO_RESPONSE,
exports.STATUSES.RETRY_WITH,
exports.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,
exports.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,
exports.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,
exports.STATUSES.INVALID_X_FORWARDED_FOR,
exports.STATUSES.REQUEST_HEADER_TOO_LARGE,
exports.STATUSES.SSL_CERTIFICATE_ERROR,
exports.STATUSES.SSL_CERTIFICATE_REQUIRED,
exports.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,
exports.STATUSES.INVALID_TOKEN,
exports.STATUSES.CLIENT_CLOSED_REQUEST,
exports.STATUSES.INTERNAL_SERVER_ERROR,
exports.STATUSES.NOT_IMPLEMENTED,
exports.STATUSES.BAD_GATEWAY,
exports.STATUSES.SERVICE_UNAVAILABLE,
exports.STATUSES.GATEWAY_TIMEOUT,
exports.STATUSES.HTTP_VERSION_NOT_SUPPORTED,
exports.STATUSES.VARIANT_ALSO_NEGOTIATES,
exports.STATUSES.INSUFFICIENT_STORAGE,
exports.STATUSES.LOOP_DETECTED,
exports.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,
exports.STATUSES.NOT_EXTENDED,
exports.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,
exports.STATUSES.WEB_SERVER_UNKNOWN_ERROR,
exports.STATUSES.WEB_SERVER_IS_DOWN,
exports.STATUSES.CONNECTION_TIMEOUT,
exports.STATUSES.ORIGIN_IS_UNREACHABLE,
exports.STATUSES.TIMEOUT_OCCURED,
exports.STATUSES.SSL_HANDSHAKE_FAILED,
exports.STATUSES.INVALID_SSL_CERTIFICATE,
exports.STATUSES.RAILGUN_ERROR,
exports.STATUSES.SITE_IS_OVERLOADED,
exports.STATUSES.SITE_IS_FROZEN,
exports.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,
exports.STATUSES.NETWORK_READ_TIMEOUT,
exports.STATUSES.NETWORK_CONNECT_TIMEOUT
];
exports.ALPHA = [];
for (let i2 = 65;i2 <= 90; i2++) {
exports.ALPHA.push(String.fromCharCode(i2));
exports.ALPHA.push(String.fromCharCode(i2 + 32));
}
exports.NUM_MAP = {
0: 0,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6,
7: 7,
8: 8,
9: 9
};
exports.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
};
exports.NUM = [
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9"
];
exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);
exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
exports.URL_CHAR = [
"!",
'"',
"$",
"%",
"&",
"'",
"(",
")",
"*",
"+",
",",
"-",
".",
"/",
":",
";",
"<",
"=",
">",
"@",
"[",
"\\",
"]",
"^",
"_",
"`",
"{",
"|",
"}",
"~"
].concat(exports.ALPHANUM);
exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
exports.TOKEN = [
"!",
"#",
"$",
"%",
"&",
"'",
"*",
"+",
"-",
".",
"^",
"_",
"`",
"|",
"~"
].concat(exports.ALPHANUM);
exports.HEADER_CHARS = ["\t"];
for (let i2 = 32;i2 <= 255; i2++) {
if (i2 !== 127) {
exports.HEADER_CHARS.push(i2);
}
}
exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c5) => c5 !== 44);
exports.QUOTED_STRING = ["\t", " "];
for (let i2 = 33;i2 <= 255; i2++) {
if (i2 !== 34 && i2 !== 92) {
exports.QUOTED_STRING.push(i2);
}
}
exports.HTAB_SP_VCHAR_OBS_TEXT = ["\t", " "];
for (let i2 = 33;i2 <= 126; i2++) {
exports.HTAB_SP_VCHAR_OBS_TEXT.push(i2);
}
for (let i2 = 128;i2 <= 255; i2++) {
exports.HTAB_SP_VCHAR_OBS_TEXT.push(i2);
}
exports.MAJOR = exports.NUM_MAP;
exports.MINOR = exports.MAJOR;
exports.SPECIAL_HEADERS = {
connection: exports.HEADER_STATE.CONNECTION,
"content-length": exports.HEADER_STATE.CONTENT_LENGTH,
"proxy-connection": exports.HEADER_STATE.CONNECTION,
"transfer-encoding": exports.HEADER_STATE.TRANSFER_ENCODING,
upgrade: exports.HEADER_STATE.UPGRADE
};
exports.default = {
ERROR: exports.ERROR,
TYPE: exports.TYPE,
FLAGS: exports.FLAGS,
LENIENT_FLAGS: exports.LENIENT_FLAGS,
METHODS: exports.METHODS,
STATUSES: exports.STATUSES,
FINISH: exports.FINISH,
HEADER_STATE: exports.HEADER_STATE,
ALPHA: exports.ALPHA,
NUM_MAP: exports.NUM_MAP,
HEX_MAP: exports.HEX_MAP,
NUM: exports.NUM,
ALPHANUM: exports.ALPHANUM,
MARK: exports.MARK,
USERINFO_CHARS: exports.USERINFO_CHARS,
URL_CHAR: exports.URL_CHAR,
HEX: exports.HEX,
TOKEN: exports.TOKEN,
HEADER_CHARS: exports.HEADER_CHARS,
CONNECTION_TOKEN_CHARS: exports.CONNECTION_TOKEN_CHARS,
QUOTED_STRING: exports.QUOTED_STRING,
HTAB_SP_VCHAR_OBS_TEXT: exports.HTAB_SP_VCHAR_OBS_TEXT,
MAJOR: exports.MAJOR,
MINOR: exports.MINOR,
SPECIAL_HEADERS: exports.SPECIAL_HEADERS,
METHODS_HTTP: exports.METHODS_HTTP,
METHODS_ICE: exports.METHODS_ICE,
METHODS_RTSP: exports.METHODS_RTSP,
METHOD_MAP: exports.METHOD_MAP,
H_METHOD_MAP: exports.H_METHOD_MAP,
STATUSES_HTTP: exports.STATUSES_HTTP
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/llhttp/llhttp-wasm.js
var require_llhttp_wasm = __commonJS((exports, module) => {
var { Buffer: Buffer7 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCq/ZAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAg7jAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEjJCUnKCmeA5sDmgORA4oDgwOAA/0C+wL4AvIC8QLvAu0C6ALnAuYC5QLkAtwC2wLaAtkC2ALXAtYC1QLPAs4CzALLAsoCyQLIAscCxgLEAsMCvgK8AroCuQK4ArcCtgK1ArQCswKyArECsAKuAq0CqQKoAqcCpgKlAqQCowKiAqECoAKfApgCkAKMAosCigKBAv4B/QH8AfsB+gH5AfgB9wH1AfMB8AHrAekB6AHnAeYB5QHkAeMB4gHhAeAB3wHeAd0B3AHaAdkB2AHXAdYB1QHUAdMB0gHRAdABzwHOAc0BzAHLAcoByQHIAccBxgHFAcQBwwHCAcEBwAG/Ab4BvQG8AbsBugG5AbgBtwG2AbUBtAGzAbIBsQGwAa8BrgGtAawBqwGqAakBqAGnAaYBpQGkAaMBogGfAZ4BmQGYAZcBlgGVAZQBkwGSAZEBkAGPAY0BjAGHAYYBhQGEAYMBggF9fHt6eXZ1dFBRUlNUVQsgASAERw1yQf0BIQIMvgMLIAEgBEcNmAFB2wEhAgy9AwsgASAERw3xAUGOASECDLwDCyABIARHDfwBQYQBIQIMuwMLIAEgBEcNigJB/wAhAgy6AwsgASAERw2RAkH9ACECDLkDCyABIARHDZQCQfsAIQIMuAMLIAEgBEcNHkEeIQIMtwMLIAEgBEcNGUEYIQIMtgMLIAEgBEcNygJBzQAhAgy1AwsgASAERw3VAkHGACECDLQDCyABIARHDdYCQcMAIQIMswMLIAEgBEcN3AJBOCECDLIDCyADLQAwQQFGDa0DDIkDC0EAIQACQAJAAkAgAy0AKkUNACADLQArRQ0AIAMvATIiAkECcUUNAQwCCyADLwEyIgJBAXFFDQELQQEhACADLQAoQQFGDQAgAy8BNCIGQeQAa0HkAEkNACAGQcwBRg0AIAZBsAJGDQAgAkHAAHENAEEAIQAgAkGIBHFBgARGDQAgAkEocUEARyEACyADQQA7ATIgA0EAOgAxAkAgAEUEQCADQQA6ADEgAy0ALkEEcQ0BDLEDCyADQgA3AyALIANBADoAMSADQQE6ADYMSAtBACEAAkAgAygCOCICRQ0AIAIoAjAiAkUNACADIAIRAAAhAAsgAEUNSCAAQRVHDWIgA0EENgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMrwMLIAEgBEYEQEEGIQIMrwMLIAEtAABBCkcNGSABQQFqIQEMGgsgA0IANwMgQRIhAgyUAwsgASAERw2KA0EjIQIMrAMLIAEgBEYEQEEHIQIMrAMLAkACQCABLQAAQQprDgQBGBgAGAsgAUEBaiEBQRAhAgyTAwsgAUEBaiEBIANBL2otAABBAXENF0EAIQIgA0EANgIcIAMgATYCFCADQZkgNgIQIANBGTYCDAyrAwsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFoNGEEIIQIMqgMLIAEgBEcEQCADQQk2AgggAyABNgIEQRQhAgyRAwtBCSECDKkDCyADKQMgUA2uAgxDCyABIARGBEBBCyECDKgDCyABLQAAQQpHDRYgAUEBaiEBDBcLIANBL2otAABBAXFFDRkMJgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0ZDEILQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGgwkC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRsMMgsgA0Evai0AAEEBcUUNHAwiC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADRwMQgtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0dDCALIAEgBEYEQEETIQIMoAMLAkAgAS0AACIAQQprDgQfIyMAIgsgAUEBaiEBDB8LQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIgxCCyABIARGBEBBFiECDJ4DCyABLQAAQcDBAGotAABBAUcNIwyDAwsCQANAIAEtAABBsDtqLQAAIgBBAUcEQAJAIABBAmsOAgMAJwsgAUEBaiEBQSEhAgyGAwsgBCABQQFqIgFHDQALQRghAgydAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAFBAWoiARA0IgANIQxBC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADSMMKgsgASAERgRAQRwhAgybAwsgA0EKNgIIIAMgATYCBEEAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADSVBJCECDIEDCyABIARHBEADQCABLQAAQbA9ai0AACIAQQNHBEAgAEEBaw4FGBomggMlJgsgBCABQQFqIgFHDQALQRshAgyaAwtBGyECDJkDCwNAIAEtAABBsD9qLQAAIgBBA0cEQCAAQQFrDgUPEScTJicLIAQgAUEBaiIBRw0AC0EeIQIMmAMLIAEgBEcEQCADQQs2AgggAyABNgIEQQchAgz/AgtBHyECDJcDCyABIARGBEBBICECDJcDCwJAIAEtAABBDWsOFC4/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8APwtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQMlgMLIANBL2ohAgNAIAEgBEYEQEEhIQIMlwMLAkACQAJAIAEtAAAiAEEJaw4YAgApKQEpKSkpKSkpKSkpKSkpKSkpKSkCJwsgAUEBaiEBIANBL2otAABBAXFFDQoMGAsgAUEBaiEBDBcLIAFBAWohASACLQAAQQJxDQALQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDJUDCyADLQAuQYABcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUN5gIgAEEVRgRAIANBJDYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDJQDC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAyTAwtBACECIANBADYCHCADIAE2AhQgA0G+IDYCECADQQI2AgwMkgMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABIAynaiIBEDIiAEUNKyADQQc2AhwgAyABNgIUIAMgADYCDAyRAwsgAy0ALkHAAHFFDQELQQAhAAJAIAMoAjgiAkUNACACKAJYIgJFDQAgAyACEQAAIQALIABFDSsgAEEVRgRAIANBCjYCHCADIAE2AhQgA0HrGTYCECADQRU2AgxBACECDJADC0EAIQIgA0EANgIcIAMgATYCFCADQZMMNgIQIANBEzYCDAyPAwtBACECIANBADYCHCADIAE2AhQgA0GCFTYCECADQQI2AgwMjgMLQQAhAiADQQA2AhwgAyABNgIUIANB3RQ2AhAgA0EZNgIMDI0DC0EAIQIgA0EANgIcIAMgATYCFCADQeYdNgIQIANBGTYCDAyMAwsgAEEVRg09QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIsDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFDSggA0ENNgIcIAMgATYCFCADIAA2AgwMigMLIABBFUYNOkEAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAyJAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwoCyADQQ42AhwgAyAANgIMIAMgAUEBajYCFAyIAwsgAEEVRg03QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIcDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCcLIANBDzYCHCADIAA2AgwgAyABQQFqNgIUDIYDC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAyFAwsgAEEVRg0zQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIQDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFDSUgA0ERNgIcIAMgATYCFCADIAA2AgwMgwMLIABBFUYNMEEAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAyCAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwlCyADQRI2AhwgAyAANgIMIAMgAUEBajYCFAyBAwsgA0Evai0AAEEBcUUNAQtBFyECDOYCC0EAIQIgA0EANgIcIAMgATYCFCADQeIXNgIQIANBGTYCDAz+AgsgAEE7Rw0AIAFBAWohAQwMC0EAIQIgA0EANgIcIAMgATYCFCADQZIYNgIQIANBAjYCDAz8AgsgAEEVRg0oQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDPsCCyADQRQ2AhwgAyABNgIUIAMgADYCDAz6AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQz1AgsgA0EVNgIcIAMgADYCDCADIAFBAWo2AhQM+QILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM8wILIANBFzYCHCADIAA2AgwgAyABQQFqNgIUDPgCCyAAQRVGDSNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM9wILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEMHQsgA0EZNgIcIAMgADYCDCADIAFBAWo2AhQM9gILIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUEQCABQQFqIQEM7wILIANBGjYCHCADIAA2AgwgAyABQQFqNgIUDPUCCyAAQRVGDR9BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwM9AILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQwbCyADQRw2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8wILIAMoAgQhACADQQA2AgQgAyAAIAEQMyIARQRAIAFBAWohAQzrAgsgA0EdNgIcIAMgADYCDCADIAFBAWo2AhRBACECDPICCyAAQTtHDQEgAUEBaiEBC0EmIQIM1wILQQAhAiADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMDO8CCyABIARHBEADQCABLQAAQSBHDYQCIAQgAUEBaiIBRw0AC0EsIQIM7wILQSwhAgzuAgsgASAERgRAQTQhAgzuAgsCQAJAA0ACQCABLQAAQQprDgQCAAADAAsgBCABQQFqIgFHDQALQTQhAgzvAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDZ8CIANBMjYCHCADIAE2AhQgAyAANgIMQQAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDJ8CCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM7QILIAEgBEcEQAJAA0AgAS0AAEEwayIAQf8BcUEKTwRAQTohAgzXAgsgAykDICILQpmz5syZs+bMGVYNASADIAtCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAMgCiALfDcDICAEIAFBAWoiAUcNAAtBwAAhAgzuAgsgAygCBCEAIANBADYCBCADIAAgAUEBaiIBEDEiAA0XDOICC0HAACECDOwCCyABIARGBEBByQAhAgzsAgsCQANAAkAgAS0AAEEJaw4YAAKiAqICqQKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASECDKACCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjwiAkUNACADIAIRAAAhAAsgAEUNoAEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBtxo2AhAgA0EVNgIMQQAhAgyfAgsgA0EANgIcIAMgATYCFCADQYANNgIQIANBGzYCDEEAIQIMngILIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDJ0CCyABIARHBEAgA0EMNgIIIAMgATYCBEG/ASECDIQCC0HYASECDJwCCyABIARGBEBB1wEhAgycAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB+wAhAgySAgsgAUEBaiEBQfwAIQIMkQILIAFBAWohAUGBASECDJACCyABQQFqIQFBhQEhAgyPAgsgAUEBaiEBQYYBIQIMjgILIAFBAWohAUGJASECDI0CCyABQQFqIQFBigEhAgyMAgsgAUEBaiEBQY0BIQIMiwILIAFBAWohAUGWASECDIoCCyABQQFqIQFBlwEhAgyJAgsgAUEBaiEBQZgBIQIMiAILIAFBAWohAUGlASECDIcCCyABQQFqIQFBpgEhAgyGAgsgAUEBaiEBQawBIQIMhQILIAFBAWohAUG0ASECDIQCCyABQQFqIQFBtwEhAgyDAgsgAUEBaiEBQb4BIQIMggILIAEgBEYEQEHWASECDJsCCyABLQAAQc4ARw1IIAFBAWohAUG9ASECDIECCyABIARGBEBB1QEhAgyaAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUG4ASECDIICCyABQQFqIQFBuwEhAgyBAgsgAUEBaiEBQbwBIQIMgAILQdQBIQIgASAERg2YAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEGo1QBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHTASECDJgCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBuQEhAgz/AQsgAUEBaiEBQboBIQIM/gELQdIBIQIgASAERg2WAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyXAgsgA0EANgIAIAZBAWohAUEPDEMLQdEBIQIgASAERg2VAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyWAgsgA0EANgIAIAZBAWohAUEgDEILQdABIQIgASAERg2UAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyVAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHPASECDJQCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQbUBIQIM+wELIAFBAWohAUG2ASECDPoBC0HOASECIAEgBEYNkgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBntUAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkwILIANBADYCACAGQQFqIQFBBww/C0HNASECIAEgBEYNkQIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBmNUAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkgILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBzAEhAgyRAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQbEBIQIM+QELIAFBAWohAUGyASECDPgBCyABQQFqIQFBswEhAgz3AQtBywEhAiABIARGDY8CIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQZHVAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJACCyADQQA2AgAgBkEBaiEBQRoMPAtBygEhAiABIARGDY4CIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQY3VAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADI8CCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQckBIQIMjgILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbABIQIM9AELIAEgBEYEQEHIASECDI0CCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQa4BIQIM9AELIAFBAWohAUGvASECDPMBC0HHASECIAEgBEYNiwIgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjAILIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBxgEhAgyLAgsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0HFASECIAEgBEYNiQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBgdUAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMigILIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBxAEhAgyJAgsgAS0AAEHFAEcNNiABQQFqIQFBqwEhAgzvAQsgASAERgRAQcMBIQIMiAILAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGnASECDPEBCyABQQFqIQFBqAEhAgzwAQsgAUEBaiEBQakBIQIM7wELIAFBAWohAUGqASECDO4BC0HCASECIAEgBEYNhgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tQAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhwILIANBADYCACAGQQFqIQFBFAwzC0HBASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABB+dQAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBKwwyC0HAASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB9tQAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBLAwxC0G/ASECIAEgBEYNgwIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhAILIANBADYCACAGQQFqIQFBEQwwC0G+ASECIAEgBEYNggIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB8tQAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgwILIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBvQEhAgyCAgsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBmwEhAgzsAQsgAUEBaiEBQZwBIQIM6wELIAFBAWohAUGdASECDOoBCyABQQFqIQFBogEhAgzpAQsgAUEBaiEBQaQBIQIM6AELIAEgBEYEQEG8ASECDIECCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGjASECDOgBCyABQQFqIQFBBAwtC0G7ASECIAEgBEYN/wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8NQAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgAILIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBugEhAgz/AQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQaEBIQIM5gELIAFBAWohAUEiDCsLIAEgBEYEQEG5ASECDP4BCyABLQAAQdAARw0rIAFBAWohAUGgASECDOQBCyABIARGBEBBuAEhAgz9AQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASECDMYBC0GIASECDMUBCyADQQA2AhwgAyABNgIUIANB2yA2AhAgA0EHNgIMQQAhAgzEAQsgASAERgRAQYkBIQIMxAELAkACQAJAIAEtAABBoNIAai0AAEEBaw4DRgIAAQtB8gAhAgysAQsgA0EANgIcIAMgATYCFCADQbQSNgIQIANBBzYCDEEAIQIMxAELQeoAIQIMqgELIAEgBEcEQCABQQFqIQFB7wAhAgyqAQtBhwEhAgzCAQsgBCABIgBGBEBBhgEhAgzCAQsgAC0AACIBQS9GBEAgAEEBaiEBQe4AIQIMqQELIAFBCWsiAkEXSw0BIAAhAUEBIAJ0QZuAgARxDUEMAQsgBCABIgBGBEBBhQEhAgzBAQsgAC0AAEEvRw0AIABBAWohAQwDC0EAIQIgA0EANgIcIAMgADYCFCADQdsgNgIQIANBBzYCDAy/AQsCQAJAAkACQAJAA0AgAS0AAEGgzgBqLQAAIgBBBUcEQAJAAkAgAEEBaw4IRwUGBwgABAEIC0HrACECDK0BCyABQQFqIQFB7QAhAgysAQsgBCABQQFqIgFHDQALQYQBIQIMwwELIAFBAWoMFAsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgzBAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgzAAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDR4gA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy/AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMvgELIAEgBEYEQEGDASECDL4BCwJAIAEtAABBoM4Aai0AAEEBaw4IPgQFBgAIAgMHCyABQQFqIQELQQMhAgyjAQsgAUEBagwNC0EAIQIgA0EANgIcIANB0RI2AhAgA0EHNgIMIAMgAUEBajYCFAy6AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgy5AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgy4AQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDRYgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgy3AQsgA0EANgIcIAMgATYCFCADQfkPNgIQIANBBzYCDEEAIQIMtgELQewAIQIMnAELIAEgBEYEQEGCASECDLUBCyABQQFqDAILIAEgBEYEQEGBASECDLQBCyABQQFqDAELIAEgBEYNASABQQFqCyEBQQQhAgyYAQtBgAEhAgywAQsDQCABLQAAQaDMAGotAAAiAEECRwRAIABBAUcEQEHpACECDJkBCwwxCyAEIAFBAWoiAUcNAAtB/wAhAgyvAQsgASAERgRAQf4AIQIMrwELAkAgAS0AAEEJaw43LwMGLwQGBgYGBgYGBgYGBgYGBgYGBgYFBgYCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAAYLIAFBAWoLIQFBBSECDJQBCyABQQFqDAYLIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0IIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIANBADYCHCADIAE2AhQgA0GNFDYCECADQQc2AgxBACECDKgBCwJAAkACQAJAA0AgAS0AAEGgygBqLQAAIgBBBUcEQAJAIABBAWsOBi4DBAUGAAYLQegAIQIMlAELIAQgAUEBaiIBRw0AC0H9ACECDKsBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQdsANgIcIAMgATYCFCADIAA2AgxBACECDKoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDKkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNByADQfoANgIcIAMgATYCFCADIAA2AgxBACECDKgBCyADQQA2AhwgAyABNgIUIANB5Ag2AhAgA0EHNgIMQQAhAgynAQsgASAERg0BIAFBAWoLIQFBBiECDIwBC0H8ACECDKQBCwJAAkACQAJAA0AgAS0AAEGgyABqLQAAIgBBBUcEQCAAQQFrDgQpAgMEBQsgBCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsgA0EANgIcIAMgATYCFCADQeULNgIQIANBETYCDEEAIQIMfQtBACEAAkAgAygCOCICRQ0AIAIoAlwiAkUNACADIAIRAAAhAAsgAEUNWSAAQRVHDQEgA0EFNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMfAtBywAhAgxiC0EAIQIgA0EANgIcIAMgATYCFCADQZAONgIQIANBFDYCDAx6CyADIAMvATJBgAFyOwEyDDsLIAEgBEcEQCADQRE2AgggAyABNgIEQcoAIQIMYAtB1wAhAgx4CyABIARGBEBB1gAhAgx4CwJAAkACQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQeMAaw4TAEBAQEBAQEBAQEBAQAFAQEACA0ALIAFBAWohAUHGACECDGELIAFBAWohAUHHACECDGALIAFBAWohAUHIACECDF8LIAFBAWohAUHJACECDF4LQdUAIQIgBCABIgBGDXYgBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0IQQQgAUEFRg0KGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx2C0HUACECIAQgASIARg11IAQgAWsgAygCACIBaiEGIAAgAWtBD2ohBwNAIAFBgMgAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNB0EDIAFBD0YNCRogAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdQtB0wAhAiAEIAEiAEYNdCAEIAFrIAMoAgAiAWohBiAAIAFrQQ5qIQcDQCABQeLHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQYgAUEORg0HIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHQLQdIAIQIgBCABIgBGDXMgBCABayADKAIAIgFqIQUgACABa0EBaiEGA0AgAUHgxwBqLQAAIAAtAAAiB0EgciAHIAdBwQBrQf8BcUEaSRtB/wFxRw0FIAFBAUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBTYCAAxzCyABIARGBEBB0QAhAgxzCwJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB7gBrDgcAOTk5OTkBOQsgAUEBaiEBQcMAIQIMWgsgAUEBaiEBQcQAIQIMWQsgA0EANgIAIAZBAWohAUHFACECDFgLQdAAIQIgBCABIgBGDXAgBCABayADKAIAIgFqIQYgACABa0EJaiEHA0AgAUHWxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0CQQIgAUEJRg0EGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxwC0HPACECIAQgASIARg1vIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwNAIAFB0McAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQVGDQIgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMbwsgACEBIANBADYCAAwzC0EBCzoALCADQQA2AgAgB0EBaiEBC0EtIQIMUgsCQANAIAEtAABB0MUAai0AAEEBRw0BIAQgAUEBaiIBRw0AC0HNACECDGsLQcIAIQIMUQsgASAERgRAQcwAIQIMagsgAS0AAEE6RgRAIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0zIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMagsgA0EANgIcIAMgATYCFCADQecRNgIQIANBCjYCDEEAIQIMaQsCQAJAIAMtACxBAmsOAgABJwsgA0Ezai0AAEECcUUNJiADLQAuQQJxDSYgA0EANgIcIAMgATYCFCADQaYUNgIQIANBCzYCDEEAIQIMaQsgAy0AMkEgcUUNJSADLQAuQQJxDSUgA0EANgIcIAMgATYCFCADQb0TNgIQIANBDzYCDEEAIQIMaAtBACEAAkAgAygCOCICRQ0AIAIoAkgiAkUNACADIAIRAAAhAAsgAEUEQEHBACECDE8LIABBFUcEQCADQQA2AhwgAyABNgIUIANBpg82AhAgA0EcNgIMQQAhAgxoCyADQcoANgIcIAMgATYCFCADQYUcNgIQIANBFTYCDEEAIQIMZwsgASAERwRAA0AgAS0AAEHAwQBqLQAAQQFHDRcgBCABQQFqIgFHDQALQcQAIQIMZwtBxAAhAgxmCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUE2IQIMUgsgAUEBaiEBQTchAgxRCyABQQFqIQFBOCECDFALDBULIAQgAUEBaiIBRw0AC0E8IQIMZgtBPCECDGULIAEgBEYEQEHIACECDGULIANBEjYCCCADIAE2AgQCQAJAAkACQAJAIAMtACxBAWsOBBQAAQIJCyADLQAyQSBxDQNB4AEhAgxPCwJAIAMvATIiAEEIcUUNACADLQAoQQFHDQAgAy0ALkEIcUUNAgsgAyAAQff7A3FBgARyOwEyDAsLIAMgAy8BMkEQcjsBMgwECyADQQA2AgQgAyABIAEQMSIABEAgA0HBADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxmCyABQQFqIQEMWAsgA0EANgIcIAMgATYCFCADQfQTNgIQIANBBDYCDEEAIQIMZAtBxwAhAiABIARGDWMgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCAAQcDFAGotAAAgAS0AAEEgckcNASAAQQZGDUogAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMZAsgA0EANgIADAULAkAgASAERwRAA0AgAS0AAEHAwwBqLQAAIgBBAUcEQCAAQQJHDQMgAUEBaiEBDAULIAQgAUEBaiIBRw0AC0HFACECDGQLQcUAIQIMYwsLIANBADoALAwBC0ELIQIMRwtBPyECDEYLAkACQANAIAEtAAAiAEEgRwRAAkAgAEEKaw4EAwUFAwALIABBLEYNAwwECyAEIAFBAWoiAUcNAAtBxgAhAgxgCyADQQg6ACwMDgsgAy0AKEEBRw0CIAMtAC5BCHENAiADKAIEIQAgA0EANgIEIAMgACABEDEiAARAIANBwgA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMXwsgAUEBaiEBDFALQTshAgxECwJAA0AgAS0AACIAQSBHIABBCUdxDQEgBCABQQFqIgFHDQALQcMAIQIMXQsLQTwhAgxCCwJAAkAgASAERwRAA0AgAS0AACIAQSBHBEAgAEEKaw4EAwQEAwQLIAQgAUEBaiIBRw0AC0E/IQIMXQtBPyECDFwLIAMgAy8BMkEgcjsBMgwKCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNTiADQT42AhwgAyABNgIUIAMgADYCDEEAIQIMWgsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkYNAwwMCyAEIAFBAWoiAUcNAAtBNyECDFsLQTchAgxaCyABQQFqIQEMBAtBOyECIAQgASIARg1YIAQgAWsgAygCACIBaiEGIAAgAWtBBWohBwJAA0AgAUGQyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEMPwsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMWQsgA0EANgIAIAAhAQwFC0E6IQIgBCABIgBGDVcgBCABayADKAIAIgFqIQYgACABa0EIaiEHAkADQCABQbTBAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEIRgRAQQUhAQw+CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxYCyADQQA2AgAgACEBDAQLQTkhAiAEIAEiAEYNViAEIAFrIAMoAgAiAWohBiAAIAFrQQNqIQcCQANAIAFBsMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQNGBEBBBiEBDD0LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFcLIANBADYCACAAIQEMAwsCQANAIAEtAAAiAEEgRwRAIABBCmsOBAcEBAcCCyAEIAFBAWoiAUcNAAtBOCECDFYLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCADLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIANBAToALCADIAMvATIgAXI7ATIgACEBDAELIAMgAy8BMkEIcjsBMiAAIQELQT4hAgw7CyADQQA6ACwLQTkhAgw5CyABIARGBEBBNiECDFILAkACQAJAAkACQCABLQAAQQprDgQAAgIBAgsgAygCBCEAIANBADYCBCADIAAgARAxIgBFDQIgA0EzNgIcIAMgATYCFCADIAA2AgxBACECDFULIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQRAIAFBAWohAQwGCyADQTI2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMVAsgAy0ALkEBcQRAQd8BIQIMOwsgAygCBCEAIANBADYCBCADIAAgARAxIgANAQxJC0E0IQIMOQsgA0E1NgIcIAMgATYCFCADIAA2AgxBACECDFELQTUhAgw3CyADQS9qLQAAQQFxDQAgA0EANgIcIAMgATYCFCADQesWNgIQIANBGTYCDEEAIQIMTwtBMyECDDULIAEgBEYEQEEyIQIMTgsCQCABLQAAQQpGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GSFzYCECADQQM2AgxBACECDE4LQTIhAgw0CyABIARGBEBBMSECDE0LAkAgAS0AACIAQQlGDQAgAEEgRg0AQQEhAgJAIAMtACxBBWsOBAYEBQANCyADIAMvATJBCHI7ATIMDAsgAy0ALkEBcUUNASADLQAsQQhHDQAgA0EAOgAsC0E9IQIMMgsgA0EANgIcIAMgATYCFCADQcIWNgIQIANBCjYCDEEAIQIMSgtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgwGCyABIARGBEBBMCECDEcLIAEtAABBCkYEQCABQQFqIQEMAQsgAy0ALkEBcQ0AIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDEYLQTAhAgwsCyABQQFqIQFBMSECDCsLIAEgBEYEQEEvIQIMRAsgAS0AACIAQQlHIABBIEdxRQRAIAFBAWohASADLQAuQQFxDQEgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDEEAIQIMRAtBASECAkACQAJAAkACQAJAIAMtACxBAmsOBwUEBAMBAgAECyADIAMvATJBCHI7ATIMAwtBAiECDAELQQQhAgsgA0EBOgAsIAMgAy8BMiACcjsBMgtBLyECDCsLIANBADYCHCADIAE2AhQgA0GEEzYCECADQQs2AgxBACECDEMLQeEBIQIMKQsgASAERgRAQS4hAgxCCyADQQA2AgQgA0ESNgIIIAMgASABEDEiAA0BC0EuIQIMJwsgA0EtNgIcIAMgATYCFCADIAA2AgxBACECDD8LQQAhAAJAIAMoAjgiAkUNACACKAJMIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2AA2AhwgAyABNgIUIANBsxs2AhAgA0EVNgIMQQAhAgw+C0HMACECDCQLIANBADYCHCADIAE2AhQgA0GzDjYCECADQR02AgxBACECDDwLIAEgBEYEQEHOACECDDwLIAEtAAAiAEEgRg0CIABBOkYNAQsgA0EAOgAsQQkhAgwhCyADKAIEIQAgA0EANgIEIAMgACABEDAiAA0BDAILIAMtAC5BAXEEQEHeASECDCALIAMoAgQhACADQQA2AgQgAyAAIAEQMCIARQ0CIANBKjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgw4CyADQcsANgIcIAMgADYCDCADIAFBAWo2AhRBACECDDcLIAFBAWohAUHAACECDB0LIAFBAWohAQwsCyABIARGBEBBKyECDDULAkAgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQcAAcUUNBgsgAy0AMkGAAXEEQEEAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ0SIABBFUYEQCADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgw2CyADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMQQAhAgw1CyADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyADQQE6ADALIAIgAi8BAEHAAHI7AQALQSshAgwYCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgwwCyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgwvCyADQQA2AhwgAyABNgIUIANBpQs2AhAgA0ECNgIMQQAhAgwuC0EBIQcgAy8BMiIFQQhxRQRAIAMpAyBCAFIhBwsCQCADLQAwBEBBASEAIAMtAClBBUYNASAFQcAAcUUgB3FFDQELAkAgAy0AKCICQQJGBEBBASEAIAMvATQiBkHlAEYNAkEAIQAgBUHAAHENAiAGQeQARg0CIAZB5gBrQQJJDQIgBkHMAUYNAiAGQbACRg0CDAELQQAhACAFQcAAcQ0BC0ECIQAgBUEIcQ0AIAVBgARxBEACQCACQQFHDQAgAy0ALkEKcQ0AQQUhAAwCC0EEIQAMAQsgBUEgcUUEQCADEDZBAEdBAnQhAAwBC0EAQQMgAykDIFAbIQALIABBAWsOBQIABwEDBAtBESECDBMLIANBAToAMQwpC0EAIQICQCADKAI4IgBFDQAgACgCMCIARQ0AIAMgABEAACECCyACRQ0mIAJBFUYEQCADQQM2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwrC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAwqCyADQQA2AhwgAyABNgIUIANB+SA2AhAgA0EPNgIMQQAhAgwpC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAADQELQQ4hAgwOCyAAQRVGBEAgA0ECNgIcIAMgATYCFCADQdIbNgIQIANBFTYCDEEAIQIMJwsgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDEEAIQIMJgtBKiECDAwLIAEgBEcEQCADQQk2AgggAyABNgIEQSkhAgwMC0EmIQIMJAsgAyADKQMgIgwgBCABa60iCn0iC0IAIAsgDFgbNwMgIAogDFQEQEElIQIMJAsgAygCBCEAIANBADYCBCADIAAgASAMp2oiARAyIgBFDQAgA0EFNgIcIAMgATYCFCADIAA2AgxBACECDCMLQQ8hAgwJC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FxYAAQIDBAUGBxQUFBQUFBQICQoLDA0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFA4PEBESExQLQgIhCgwWC0IDIQoMFQtCBCEKDBQLQgUhCgwTC0IGIQoMEgtCByEKDBELQgghCgwQC0IJIQoMDwtCCiEKDA4LQgshCgwNC0IMIQoMDAtCDSEKDAsLQg4hCgwKC0IPIQoMCQtCCiEKDAgLQgshCgwHC0IMIQoMBgtCDSEKDAULQg4hCgwEC0IPIQoMAwsgA0EANgIcIAMgATYCFCADQZ8VNgIQIANBDDYCDEEAIQIMIQsgASAERgRAQSIhAgwhC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsONxUUAAECAwQFBgcWFhYWFhYWCAkKCwwNFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYODxAREhMWC0ICIQoMFAtCAyEKDBMLQgQhCgwSC0IFIQoMEQtCBiEKDBALQgchCgwPC0IIIQoMDgtCCSEKDA0LQgohCgwMC0ILIQoMCwtCDCEKDAoLQg0hCgwJC0IOIQoMCAtCDyEKDAcLQgohCgwGC0ILIQoMBQtCDCEKDAQLQg0hCgwDC0IOIQoMAgtCDyEKDAELQgEhCgsgAUEBaiEBIAMpAyAiC0L//////////w9YBEAgAyALQgSGIAqENwMgDAILIANBADYCHCADIAE2AhQgA0G1CTYCECADQQw2AgxBACECDB4LQSchAgwEC0EoIQIMAwsgAyABOgAsIANBADYCACAHQQFqIQFBDCECDAILIANBADYCACAGQQFqIQFBCiECDAELIAFBAWohAUEIIQIMAAsAC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwXC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwWC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwVC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwUC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwTC0EAIQIgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDAwSC0EAIQIgA0EANgIcIAMgATYCFCADQYMRNgIQIANBCTYCDAwRC0EAIQIgA0EANgIcIAMgATYCFCADQd8KNgIQIANBCTYCDAwQC0EAIQIgA0EANgIcIAMgATYCFCADQe0QNgIQIANBCTYCDAwPC0EAIQIgA0EANgIcIAMgATYCFCADQdIRNgIQIANBCTYCDAwOC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwNC0EAIQIgA0EANgIcIAMgATYCFCADQbkXNgIQIANBDzYCDAwMC0EAIQIgA0EANgIcIAMgATYCFCADQZkTNgIQIANBCzYCDAwLC0EAIQIgA0EANgIcIAMgATYCFCADQZ0JNgIQIANBCzYCDAwKC0EAIQIgA0EANgIcIAMgATYCFCADQZcQNgIQIANBCjYCDAwJC0EAIQIgA0EANgIcIAMgATYCFCADQbEQNgIQIANBCjYCDAwIC0EAIQIgA0EANgIcIAMgATYCFCADQbsdNgIQIANBAjYCDAwHC0EAIQIgA0EANgIcIAMgATYCFCADQZYWNgIQIANBAjYCDAwGC0EAIQIgA0EANgIcIAMgATYCFCADQfkYNgIQIANBAjYCDAwFC0EAIQIgA0EANgIcIAMgATYCFCADQcQYNgIQIANBAjYCDAwECyADQQI2AhwgAyABNgIUIANBqR42AhAgA0EWNgIMQQAhAgwDC0HeACECIAEgBEYNAiAJQQhqIQcgAygCACEFAkACQCABIARHBEAgBUGWyABqIQggBCAFaiABayEGIAVBf3NBCmoiBSABaiEAA0AgAS0AACAILQAARwRAQQIhCAwDCyAFRQRAQQAhCCAAIQEMAwsgBUEBayEFIAhBAWohCCAEIAFBAWoiAUcNAAsgBiEFIAQhAQsgB0EBNgIAIAMgBTYCAAwBCyADQQA2AgAgByAINgIACyAHIAE2AgQgCSgCDCEAAkACQCAJKAIIQQFrDgIEAQALIANBADYCHCADQcIeNgIQIANBFzYCDCADIABBAWo2AhRBACECDAMLIANBADYCHCADIAA2AhQgA0HXHjYCECADQQk2AgxBACECDAILIAEgBEYEQEEoIQIMAgsgA0EJNgIIIAMgATYCBEEnIQIMAQsgASAERgRAQQEhAgwBCwNAAkACQAJAIAEtAABBCmsOBAABAQABCyABQQFqIQEMAQsgAUEBaiEBIAMtAC5BIHENAEEAIQIgA0EANgIcIAMgATYCFCADQaEhNgIQIANBBTYCDAwCC0EBIQIgASAERw0ACwsgCUEQaiQAIAJFBEAgAygCDCEADAELIAMgAjYCHEEAIQAgAygCBCIBRQ0AIAMgASAEIAMoAggRAQAiAUUNACADIAQ2AhQgAyABNgIMIAEhAAsgAAu+AgECfyAAQQA6AAAgAEHkAGoiAUEBa0EAOgAAIABBADoAAiAAQQA6AAEgAUEDa0EAOgAAIAFBAmtBADoAACAAQQA6AAMgAUEEa0EAOgAAQQAgAGtBA3EiASAAaiIAQQA2AgBB5AAgAWtBfHEiAiAAaiIBQQRrQQA2AgACQCACQQlJDQAgAEEANgIIIABBADYCBCABQQhrQQA2AgAgAUEMa0EANgIAIAJBGUkNACAAQQA2AhggAEEANgIUIABBADYCECAAQQA2AgwgAUEQa0EANgIAIAFBFGtBADYCACABQRhrQQA2AgAgAUEca0EANgIAIAIgAEEEcUEYciICayIBQSBJDQAgACACaiEAA0AgAEIANwMYIABCADcDECAAQgA3AwggAEIANwMAIABBIGohACABQSBrIgFBH0sNAAsLC1YBAX8CQCAAKAIMDQACQAJAAkACQCAALQAxDgMBAAMCCyAAKAI4IgFFDQAgASgCMCIBRQ0AIAAgAREAACIBDQMLQQAPCwALIABByhk2AhBBDiEBCyABCxoAIAAoAgxFBEAgAEHeHzYCECAAQRU2AgwLCxQAIAAoAgxBFUYEQCAAQQA2AgwLCxQAIAAoAgxBFkYEQCAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsrAAJAIABBJ08NAEL//////wkgAK2IQgGDUA0AIABBAnRB0DhqKAIADwsACxcAIABBL08EQAALIABBAnRB7DlqKAIAC78JAQF/QfQtIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQeQAaw70A2NiAAFhYWFhYWECAwQFYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQYHCAkKCwwNDg9hYWFhYRBhYWFhYWFhYWFhYRFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWESExQVFhcYGRobYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NmE3ODk6YWFhYWFhYWE7YWFhPGFhYWE9Pj9hYWFhYWFhYUBhYUFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFCQ0RFRkdISUpLTE1OT1BRUlNhYWFhYWFhYVRVVldYWVpbYVxdYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhXmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYV9gYQtB6iwPC0GYJg8LQe0xDwtBoDcPC0HJKQ8LQbQpDwtBli0PC0HrKw8LQaI1DwtB2zQPC0HgKQ8LQeMkDwtB1SQPC0HuJA8LQeYlDwtByjQPC0HQNw8LQao1DwtB9SwPC0H2Jg8LQYIiDwtB8jMPC0G+KA8LQec3DwtBzSEPC0HAIQ8LQbglDwtByyUPC0GWJA8LQY80DwtBzTUPC0HdKg8LQe4zDwtBnDQPC0GeMQ8LQfQ1DwtB5SIPC0GvJQ8LQZkxDwtBsjYPC0H5Ng8LQcQyDwtB3SwPC0GCMQ8LQcExDwtBjTcPC0HJJA8LQew2DwtB5yoPC0HIIw8LQeIhDwtByTcPC0GlIg8LQZQiDwtB2zYPC0HeNQ8LQYYmDwtBvCsPC0GLMg8LQaAjDwtB9jAPC0GALA8LQYkrDwtBpCYPC0HyIw8LQYEoDwtBqzIPC0HrJw8LQcI2DwtBoiQPC0HPKg8LQdwjDwtBhycPC0HkNA8LQbciDwtBrTEPC0HVIg8LQa80DwtB3iYPC0HWMg8LQfQ0DwtBgTgPC0H0Nw8LQZI2DwtBnScPC0GCKQ8LQY0jDwtB1zEPC0G9NQ8LQbQ3DwtB2DAPC0G2Jw8LQZo4DwtBpyoPC0HEJw8LQa4jDwtB9SIPCwALQcomIQELIAELFwAgACAALwEuQf7/A3EgAUEAR3I7AS4LGgAgACAALwEuQf3/A3EgAUEAR0EBdHI7AS4LGgAgACAALwEuQfv/A3EgAUEAR0ECdHI7AS4LGgAgACAALwEuQff/A3EgAUEAR0EDdHI7AS4LGgAgACAALwEuQe//A3EgAUEAR0EEdHI7AS4LGgAgACAALwEuQd//A3EgAUEAR0EFdHI7AS4LGgAgACAALwEuQb//A3EgAUEAR0EGdHI7AS4LGgAgACAALwEuQf/+A3EgAUEAR0EHdHI7AS4LGgAgACAALwEuQf/9A3EgAUEAR0EIdHI7AS4LGgAgACAALwEuQf/7A3EgAUEAR0EJdHI7AS4LPgECfwJAIAAoAjgiA0UNACADKAIEIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHhEjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIIIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH8ETYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIMIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHsCjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIQIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH6HjYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIUIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHLEDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIYIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG3HzYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIcIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEG/FTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIsIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEH+CDYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIgIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEGMHTYCEEEYIQQLIAQLPgECfwJAIAAoAjgiA0UNACADKAIkIgNFDQAgACABIAIgAWsgAxEBACIEQX9HDQAgAEHmFTYCEEEYIQQLIAQLOAAgAAJ/IAAvATJBFHFBFEYEQEEBIAAtAChBAUYNARogAC8BNEHlAEYMAQsgAC0AKUEFRgs6ADALWQECfwJAIAAtAChBAUYNACAALwE0IgFB5ABrQeQASQ0AIAFBzAFGDQAgAUGwAkYNACAALwEyIgBBwABxDQBBASECIABBiARxQYAERg0AIABBKHFFIQILIAILjAEBAn8CQAJAAkAgAC0AKkUNACAALQArRQ0AIAAvATIiAUECcUUNAQwCCyAALwEyIgFBAXFFDQELQQEhAiAALQAoQQFGDQAgAC8BNCIAQeQAa0HkAEkNACAAQcwBRg0AIABBsAJGDQAgAUHAAHENAEEAIQIgAUGIBHFBgARGDQAgAUEocUEARyECCyACC1cAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer7.from(wasmBase64, "base64");
}
});
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
var require_llhttp_simd_wasm = __commonJS((exports, module) => {
var { Buffer: Buffer7 } = __require("node:buffer");
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCuzaAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDuMBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISMkJScoKZ4DmwOaA5EDigODA4AD/QL7AvgC8gLxAu8C7QLoAucC5gLlAuQC3ALbAtoC2QLYAtcC1gLVAs8CzgLMAssCygLJAsgCxwLGAsQCwwK+ArwCugK5ArgCtwK2ArUCtAKzArICsQKwAq4CrQKpAqgCpwKmAqUCpAKjAqICoQKgAp8CmAKQAowCiwKKAoEC/gH9AfwB+wH6AfkB+AH3AfUB8wHwAesB6QHoAecB5gHlAeQB4wHiAeEB4AHfAd4B3QHcAdoB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygHJAcgBxwHGAcUBxAHDAcIBwQHAAb8BvgG9AbwBuwG6AbkBuAG3AbYBtQG0AbMBsgGxAbABrwGuAa0BrAGrAaoBqQGoAacBpgGlAaQBowGiAZ8BngGZAZgBlwGWAZUBlAGTAZIBkQGQAY8BjQGMAYcBhgGFAYQBgwGCAX18e3p5dnV0UFFSU1RVCyABIARHDXJB/QEhAgy+AwsgASAERw2YAUHbASECDL0DCyABIARHDfEBQY4BIQIMvAMLIAEgBEcN/AFBhAEhAgy7AwsgASAERw2KAkH/ACECDLoDCyABIARHDZECQf0AIQIMuQMLIAEgBEcNlAJB+wAhAgy4AwsgASAERw0eQR4hAgy3AwsgASAERw0ZQRghAgy2AwsgASAERw3KAkHNACECDLUDCyABIARHDdUCQcYAIQIMtAMLIAEgBEcN1gJBwwAhAgyzAwsgASAERw3cAkE4IQIMsgMLIAMtADBBAUYNrQMMiQMLQQAhAAJAAkACQCADLQAqRQ0AIAMtACtFDQAgAy8BMiICQQJxRQ0BDAILIAMvATIiAkEBcUUNAQtBASEAIAMtAChBAUYNACADLwE0IgZB5ABrQeQASQ0AIAZBzAFGDQAgBkGwAkYNACACQcAAcQ0AQQAhACACQYgEcUGABEYNACACQShxQQBHIQALIANBADsBMiADQQA6ADECQCAARQRAIANBADoAMSADLQAuQQRxDQEMsQMLIANCADcDIAsgA0EAOgAxIANBAToANgxIC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAARQ1IIABBFUcNYiADQQQ2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgyvAwsgASAERgRAQQYhAgyvAwsgAS0AAEEKRw0ZIAFBAWohAQwaCyADQgA3AyBBEiECDJQDCyABIARHDYoDQSMhAgysAwsgASAERgRAQQchAgysAwsCQAJAIAEtAABBCmsOBAEYGAAYCyABQQFqIQFBECECDJMDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBmSA2AhAgA0EZNgIMDKsDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0YQQghAgyqAwsgASAERwRAIANBCTYCCCADIAE2AgRBFCECDJEDC0EJIQIMqQMLIAMpAyBQDa4CDEMLIAEgBEYEQEELIQIMqAMLIAEtAABBCkcNFiABQQFqIQEMFwsgA0Evai0AAEEBcUUNGQwmC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRkMQgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0aDCQLQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGwwyCyADQS9qLQAAQQFxRQ0cDCILQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANHAxCC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADR0MIAsgASAERgRAQRMhAgygAwsCQCABLQAAIgBBCmsOBB8jIwAiCyABQQFqIQEMHwtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0iDEILIAEgBEYEQEEWIQIMngMLIAEtAABBwMEAai0AAEEBRw0jDIMDCwJAA0AgAS0AAEGwO2otAAAiAEEBRwRAAkAgAEECaw4CAwAnCyABQQFqIQFBISECDIYDCyAEIAFBAWoiAUcNAAtBGCECDJ0DCyADKAIEIQBBACECIANBADYCBCADIAAgAUEBaiIBEDQiAA0hDEELQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIwwqCyABIARGBEBBHCECDJsDCyADQQo2AgggAyABNgIEQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANJUEkIQIMgQMLIAEgBEcEQANAIAEtAABBsD1qLQAAIgBBA0cEQCAAQQFrDgUYGiaCAyUmCyAEIAFBAWoiAUcNAAtBGyECDJoDC0EbIQIMmQMLA0AgAS0AAEGwP2otAAAiAEEDRwRAIABBAWsOBQ8RJxMmJwsgBCABQQFqIgFHDQALQR4hAgyYAwsgASAERwRAIANBCzYCCCADIAE2AgRBByECDP8CC0EfIQIMlwMLIAEgBEYEQEEgIQIMlwMLAkAgAS0AAEENaw4ULj8/Pz8/Pz8/Pz8/Pz8/Pz8/PwA/C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAyWAwsgA0EvaiECA0AgASAERgRAQSEhAgyXAwsCQAJAAkAgAS0AACIAQQlrDhgCACkpASkpKSkpKSkpKSkpKSkpKSkpKQInCyABQQFqIQEgA0Evai0AAEEBcUUNCgwYCyABQQFqIQEMFwsgAUEBaiEBIAItAABBAnENAAtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwMlQMLIAMtAC5BgAFxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ3mAiAAQRVGBEAgA0EkNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMlAMLQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDJMDC0EAIQIgA0EANgIcIAMgATYCFCADQb4gNgIQIANBAjYCDAySAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEgDKdqIgEQMiIARQ0rIANBBzYCHCADIAE2AhQgAyAANgIMDJEDCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlgiAkUNACADIAIRAAAhAAsgAEUNKyAAQRVGBEAgA0EKNgIcIAMgATYCFCADQesZNgIQIANBFTYCDEEAIQIMkAMLQQAhAiADQQA2AhwgAyABNgIUIANBkww2AhAgA0ETNgIMDI8DC0EAIQIgA0EANgIcIAMgATYCFCADQYIVNgIQIANBAjYCDAyOAwtBACECIANBADYCHCADIAE2AhQgA0HdFDYCECADQRk2AgwMjQMLQQAhAiADQQA2AhwgAyABNgIUIANB5h02AhAgA0EZNgIMDIwDCyAAQRVGDT1BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMiwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUNKCADQQ02AhwgAyABNgIUIAMgADYCDAyKAwsgAEEVRg06QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIkDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCgLIANBDjYCHCADIAA2AgwgAyABQQFqNgIUDIgDCyAAQRVGDTdBACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMhwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJwsgA0EPNgIcIAMgADYCDCADIAFBAWo2AhQMhgMLQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDIUDCyAAQRVGDTNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwMhAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUNJSADQRE2AhwgAyABNgIUIAMgADYCDAyDAwsgAEEVRg0wQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIIDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDCULIANBEjYCHCADIAA2AgwgAyABQQFqNgIUDIEDCyADQS9qLQAAQQFxRQ0BC0EXIQIM5gILQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDP4CCyAAQTtHDQAgAUEBaiEBDAwLQQAhAiADQQA2AhwgAyABNgIUIANBkhg2AhAgA0ECNgIMDPwCCyAAQRVGDShBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM+wILIANBFDYCHCADIAE2AhQgAyAANgIMDPoCCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDPUCCyADQRU2AhwgAyAANgIMIAMgAUEBajYCFAz5AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzzAgsgA0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkBIQIMoAILAkACQAJAIAEtAABBCmsOBAECAgACCyABQQFqIQEMAgsgAUEBaiEBDAELIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCPCICRQ0AIAMgAhEAACEACyAARQ2gASAAQRVGBEAgA0HZADYCHCADIAE2AhQgA0G3GjYCECADQRU2AgxBACECDJ8CCyADQQA2AhwgAyABNgIUIANBgA02AhAgA0EbNgIMQQAhAgyeAgsgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMnQILIAEgBEcEQCADQQw2AgggAyABNgIEQb8BIQIMhAILQdgBIQIMnAILIAEgBEYEQEHXASECDJwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEHBAGsOFQABAgNaBAUGWlpaBwgJCgsMDQ4PEFoLIAFBAWohAUH7ACECDJICCyABQQFqIQFB/AAhAgyRAgsgAUEBaiEBQYEBIQIMkAILIAFBAWohAUGFASECDI8CCyABQQFqIQFBhgEhAgyOAgsgAUEBaiEBQYkBIQIMjQILIAFBAWohAUGKASECDIwCCyABQQFqIQFBjQEhAgyLAgsgAUEBaiEBQZYBIQIMigILIAFBAWohAUGXASECDIkCCyABQQFqIQFBmAEhAgyIAgsgAUEBaiEBQaUBIQIMhwILIAFBAWohAUGmASECDIYCCyABQQFqIQFBrAEhAgyFAgsgAUEBaiEBQbQBIQIMhAILIAFBAWohAUG3ASECDIMCCyABQQFqIQFBvgEhAgyCAgsgASAERgRAQdYBIQIMmwILIAEtAABBzgBHDUggAUEBaiEBQb0BIQIMgQILIAEgBEYEQEHVASECDJoCCwJAAkACQCABLQAAQcIAaw4SAEpKSkpKSkpKSgFKSkpKSkoCSgsgAUEBaiEBQbgBIQIMggILIAFBAWohAUG7ASECDIECCyABQQFqIQFBvAEhAgyAAgtB1AEhAiABIARGDZgCIAMoAgAiACAEIAFraiEFIAEgAGtBB2ohBgJAA0AgAS0AACAAQajVAGotAABHDUUgAEEHRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJkCCyADQQA2AgAgBkEBaiEBQRsMRQsgASAERgRAQdMBIQIMmAILAkACQCABLQAAQckAaw4HAEdHR0dHAUcLIAFBAWohAUG5ASECDP8BCyABQQFqIQFBugEhAgz+AQtB0gEhAiABIARGDZYCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQabVAGotAABHDUMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJcCCyADQQA2AgAgBkEBaiEBQQ8MQwtB0QEhAiABIARGDZUCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQaTVAGotAABHDUIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYCCyADQQA2AgAgBkEBaiEBQSAMQgtB0AEhAiABIARGDZQCIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDUEgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJUCCyADQQA2AgAgBkEBaiEBQRIMQQsgASAERgRAQc8BIQIMlAILAkACQCABLQAAQcUAaw4OAENDQ0NDQ0NDQ0NDQwFDCyABQQFqIQFBtQEhAgz7AQsgAUEBaiEBQbYBIQIM+gELQc4BIQIgASAERg2SAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGe1QBqLQAARw0/IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyTAgsgA0EANgIAIAZBAWohAUEHDD8LQc0BIQIgASAERg2RAiADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGY1QBqLQAARw0+IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAySAgsgA0EANgIAIAZBAWohAUEoDD4LIAEgBEYEQEHMASECDJECCwJAAkACQCABLQAAQcUAaw4RAEFBQUFBQUFBQQFBQUFBQQJBCyABQQFqIQFBsQEhAgz5AQsgAUEBaiEBQbIBIQIM+AELIAFBAWohAUGzASECDPcBC0HLASECIAEgBEYNjwIgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBkdUAai0AAEcNPCAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
var wasmBuffer;
Object.defineProperty(module, "exports", {
get: () => {
return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer7.from(wasmBase64, "base64");
}
});
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/constants.js
var require_constants4 = __commonJS((exports, module) => {
var corsSafeListedMethods = ["GET", "HEAD", "POST"];
var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
var nullBodyStatus = [101, 204, 205, 304];
var redirectStatus = [301, 302, 303, 307, 308];
var redirectStatusSet = new Set(redirectStatus);
var badPorts = [
"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"
];
var badPortsSet = new Set(badPorts);
var referrerPolicyTokens = [
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
];
var referrerPolicy = [
"",
...referrerPolicyTokens
];
var referrerPolicyTokensSet = new Set(referrerPolicyTokens);
var requestRedirect = ["follow", "manual", "error"];
var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
var safeMethodsSet = new Set(safeMethods);
var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
var requestCredentials = ["omit", "same-origin", "include"];
var requestCache = [
"default",
"no-store",
"reload",
"no-cache",
"force-cache",
"only-if-cached"
];
var requestBodyHeader = [
"content-encoding",
"content-language",
"content-location",
"content-type",
"content-length"
];
var requestDuplex = [
"half"
];
var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
var forbiddenMethodsSet = new Set(forbiddenMethods);
var subresource = [
"audio",
"audioworklet",
"font",
"image",
"manifest",
"paintworklet",
"script",
"style",
"track",
"video",
"xslt",
""
];
var subresourceSet = new Set(subresource);
module.exports = {
subresource,
forbiddenMethods,
requestBodyHeader,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
redirectStatus,
corsSafeListedMethods,
nullBodyStatus,
safeMethods,
badPorts,
requestDuplex,
subresourceSet,
badPortsSet,
redirectStatusSet,
corsSafeListedMethodsSet,
safeMethodsSet,
forbiddenMethodsSet,
referrerPolicyTokens: referrerPolicyTokensSet
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/global.js
var require_global = __commonJS((exports, module) => {
var globalOrigin = Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
return globalThis[globalOrigin];
}
function setGlobalOrigin(newOrigin) {
if (newOrigin === undefined) {
Object.defineProperty(globalThis, globalOrigin, {
value: undefined,
writable: true,
enumerable: false,
configurable: false
});
return;
}
const parsedURL = new URL(newOrigin);
if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
}
Object.defineProperty(globalThis, globalOrigin, {
value: parsedURL,
writable: true,
enumerable: false,
configurable: false
});
}
module.exports = {
getGlobalOrigin,
setGlobalOrigin
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/encoding/index.js
var require_encoding = __commonJS((exports, module) => {
var textDecoder2 = new TextDecoder;
function utf8DecodeBytes(buffer) {
if (buffer.length === 0) {
return "";
}
if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
buffer = buffer.subarray(3);
}
const output = textDecoder2.decode(buffer);
return output;
}
module.exports = {
utf8DecodeBytes
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/infra/index.js
var require_infra = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { utf8DecodeBytes } = require_encoding();
function collectASequenceOfCodePoints(condition, input, position) {
let result = "";
while (position.position < input.length && condition(input[position.position])) {
result += input[position.position];
position.position++;
}
return result;
}
function collectASequenceOfCodePointsFast(char, input, position) {
const idx = input.indexOf(char, position.position);
const start = position.position;
if (idx === -1) {
position.position = input.length;
return input.slice(start);
}
position.position = idx;
return input.slice(start, position.position);
}
var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
function forgivingBase64(data) {
data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
let dataLength = data.length;
if (dataLength % 4 === 0) {
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
if (data.charCodeAt(dataLength - 1) === 61) {
--dataLength;
}
}
}
if (dataLength % 4 === 1) {
return "failure";
}
if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
return "failure";
}
const buffer = Buffer.from(data, "base64");
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
}
function isASCIIWhitespace(char) {
return char === 9 || char === 10 || char === 12 || char === 13 || char === 32;
}
function isomorphicDecode(input) {
const length = input.length;
if ((2 << 15) - 1 > length) {
return String.fromCharCode.apply(null, input);
}
let result = "";
let i2 = 0;
let addition = (2 << 15) - 1;
while (i2 < length) {
if (i2 + addition > length) {
addition = length - i2;
}
result += String.fromCharCode.apply(null, input.subarray(i2, i2 += addition));
}
return result;
}
var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/;
function isomorphicEncode(input) {
assert3(!invalidIsomorphicEncodeValueRegex.test(input));
return input;
}
function parseJSONFromBytes(bytes) {
return JSON.parse(utf8DecodeBytes(bytes));
}
function removeASCIIWhitespace(str, leading = true, trailing = true) {
return removeChars(str, leading, trailing, isASCIIWhitespace);
}
function removeChars(str, leading, trailing, predicate) {
let lead = 0;
let trail = str.length - 1;
if (leading) {
while (lead < str.length && predicate(str.charCodeAt(lead)))
lead++;
}
if (trailing) {
while (trail > 0 && predicate(str.charCodeAt(trail)))
trail--;
}
return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1);
}
function serializeJavascriptValueToJSONString(value) {
const result = JSON.stringify(value);
if (result === undefined) {
throw new TypeError("Value is not JSON serializable");
}
assert3(typeof result === "string");
return result;
}
module.exports = {
collectASequenceOfCodePoints,
collectASequenceOfCodePointsFast,
forgivingBase64,
isASCIIWhitespace,
isomorphicDecode,
isomorphicEncode,
parseJSONFromBytes,
removeASCIIWhitespace,
removeChars,
serializeJavascriptValueToJSONString
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/data-url.js
var require_data_url = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
var encoder = new TextEncoder;
var HTTP_TOKEN_CODEPOINTS = /^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u;
var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/u;
var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;
function dataURLProcessor(dataURL) {
assert3(dataURL.protocol === "data:");
let input = URLSerializer(dataURL, true);
input = input.slice(5);
const position = { position: 0 };
let mimeType = collectASequenceOfCodePointsFast(",", input, position);
const mimeTypeLength = mimeType.length;
mimeType = removeASCIIWhitespace(mimeType, true, true);
if (position.position >= input.length) {
return "failure";
}
position.position++;
const encodedBody = input.slice(mimeTypeLength + 1);
let body = stringPercentDecode(encodedBody);
if (/;(?:\u0020*)base64$/ui.test(mimeType)) {
const stringBody = isomorphicDecode(body);
body = forgivingBase64(stringBody);
if (body === "failure") {
return "failure";
}
mimeType = mimeType.slice(0, -6);
mimeType = mimeType.replace(/(\u0020+)$/u, "");
mimeType = mimeType.slice(0, -1);
}
if (mimeType.startsWith(";")) {
mimeType = "text/plain" + mimeType;
}
let mimeTypeRecord = parseMIMEType(mimeType);
if (mimeTypeRecord === "failure") {
mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
}
return { mimeType: mimeTypeRecord, body };
}
function URLSerializer(url3, excludeFragment = false) {
if (!excludeFragment) {
return url3.href;
}
const href = url3.href;
const hashLength = url3.hash.length;
const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
if (!hashLength && href.endsWith("#")) {
return serialized.slice(0, -1);
}
return serialized;
}
function stringPercentDecode(input) {
const bytes = encoder.encode(input);
return percentDecode(bytes);
}
function isHexCharByte(byte) {
return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
}
function hexByteToNumber(byte) {
return byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55;
}
function percentDecode(input) {
const length = input.length;
const output = new Uint8Array(length);
let j2 = 0;
let i2 = 0;
while (i2 < length) {
const byte = input[i2];
if (byte !== 37) {
output[j2++] = byte;
} else if (byte === 37 && !(isHexCharByte(input[i2 + 1]) && isHexCharByte(input[i2 + 2]))) {
output[j2++] = 37;
} else {
output[j2++] = hexByteToNumber(input[i2 + 1]) << 4 | hexByteToNumber(input[i2 + 2]);
i2 += 2;
}
++i2;
}
return length === j2 ? output : output.subarray(0, j2);
}
function parseMIMEType(input) {
input = removeHTTPWhitespace(input, true, true);
const position = { position: 0 };
const type = collectASequenceOfCodePointsFast("/", input, position);
if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {
return "failure";
}
if (position.position >= input.length) {
return "failure";
}
position.position++;
let subtype = collectASequenceOfCodePointsFast(";", input, position);
subtype = removeHTTPWhitespace(subtype, false, true);
if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
return "failure";
}
const typeLowercase = type.toLowerCase();
const subtypeLowercase = subtype.toLowerCase();
const mimeType = {
type: typeLowercase,
subtype: subtypeLowercase,
parameters: new Map,
essence: `${typeLowercase}/${subtypeLowercase}`
};
while (position.position < input.length) {
position.position++;
collectASequenceOfCodePoints((char) => HTTP_WHITESPACE_REGEX.test(char), input, position);
let parameterName = collectASequenceOfCodePoints((char) => char !== ";" && char !== "=", input, position);
parameterName = parameterName.toLowerCase();
if (position.position < input.length) {
if (input[position.position] === ";") {
continue;
}
position.position++;
}
if (position.position >= input.length) {
break;
}
let parameterValue = null;
if (input[position.position] === '"') {
parameterValue = collectAnHTTPQuotedString(input, position, true);
collectASequenceOfCodePointsFast(";", input, position);
} else {
parameterValue = collectASequenceOfCodePointsFast(";", input, position);
parameterValue = removeHTTPWhitespace(parameterValue, false, true);
if (parameterValue.length === 0) {
continue;
}
}
if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
mimeType.parameters.set(parameterName, parameterValue);
}
}
return mimeType;
}
function collectAnHTTPQuotedString(input, position, extractValue = false) {
const positionStart = position.position;
let value = "";
assert3(input[position.position] === '"');
position.position++;
while (true) {
value += collectASequenceOfCodePoints((char) => char !== '"' && char !== "\\", input, position);
if (position.position >= input.length) {
break;
}
const quoteOrBackslash = input[position.position];
position.position++;
if (quoteOrBackslash === "\\") {
if (position.position >= input.length) {
value += "\\";
break;
}
value += input[position.position];
position.position++;
} else {
assert3(quoteOrBackslash === '"');
break;
}
}
if (extractValue) {
return value;
}
return input.slice(positionStart, position.position);
}
function serializeAMimeType(mimeType) {
assert3(mimeType !== "failure");
const { parameters, essence } = mimeType;
let serialization = essence;
for (let [name, value] of parameters.entries()) {
serialization += ";";
serialization += name;
serialization += "=";
if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
value = value.replace(/[\\"]/ug, "\\$&");
value = '"' + value;
value += '"';
}
serialization += value;
}
return serialization;
}
function isHTTPWhiteSpace(char) {
return char === 13 || char === 10 || char === 9 || char === 32;
}
function removeHTTPWhitespace(str, leading = true, trailing = true) {
return removeChars(str, leading, trailing, isHTTPWhiteSpace);
}
function minimizeSupportedMimeType(mimeType) {
switch (mimeType.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";
}
if (mimeType.subtype.endsWith("+json")) {
return "application/json";
}
if (mimeType.subtype.endsWith("+xml")) {
return "application/xml";
}
return "";
}
module.exports = {
dataURLProcessor,
URLSerializer,
stringPercentDecode,
parseMIMEType,
collectAnHTTPQuotedString,
serializeAMimeType,
removeHTTPWhitespace,
minimizeSupportedMimeType,
HTTP_TOKEN_CODEPOINTS
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/runtime-features.js
var require_runtime_features = __commonJS((exports, module) => {
var lazyLoaders = {
__proto__: null,
"node:crypto": () => __require("node:crypto"),
"node:sqlite": () => __require("node:sqlite"),
"node:worker_threads": () => __require("node:worker_threads"),
"node:zlib": () => __require("node:zlib")
};
function detectRuntimeFeatureByNodeModule(moduleName2) {
try {
lazyLoaders[moduleName2]();
return true;
} catch (err) {
if (err.code !== "ERR_UNKNOWN_BUILTIN_MODULE" && err.code !== "ERR_NO_CRYPTO") {
throw err;
}
return false;
}
}
function detectRuntimeFeatureByExportedProperty(moduleName2, property2) {
const module2 = lazyLoaders[moduleName2]();
return typeof module2[property2] !== "undefined";
}
var runtimeFeaturesByExportedProperty = ["markAsUncloneable", "zstd"];
var exportedPropertyLookup = {
markAsUncloneable: ["node:worker_threads", "markAsUncloneable"],
zstd: ["node:zlib", "createZstdDecompress"]
};
var runtimeFeaturesAsNodeModule = ["crypto", "sqlite"];
var features = [
...runtimeFeaturesAsNodeModule,
...runtimeFeaturesByExportedProperty
];
function detectRuntimeFeature(feature) {
if (runtimeFeaturesAsNodeModule.includes(feature)) {
return detectRuntimeFeatureByNodeModule(`node:${feature}`);
} else if (runtimeFeaturesByExportedProperty.includes(feature)) {
const [moduleName2, property2] = exportedPropertyLookup[feature];
return detectRuntimeFeatureByExportedProperty(moduleName2, property2);
}
throw new TypeError(`unknown feature: ${feature}`);
}
class RuntimeFeatures {
#map = new Map;
clear() {
this.#map.clear();
}
has(feature) {
return this.#map.get(feature) ?? this.#detectRuntimeFeature(feature);
}
set(feature, value) {
if (features.includes(feature) === false) {
throw new TypeError(`unknown feature: ${feature}`);
}
this.#map.set(feature, value);
}
#detectRuntimeFeature(feature) {
const result = detectRuntimeFeature(feature);
this.#map.set(feature, result);
return result;
}
}
var instance = new RuntimeFeatures;
exports.runtimeFeatures = instance;
exports.default = instance;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/webidl/index.js
var require_webidl = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { types, inspect: inspect3 } = __require("node:util");
var { runtimeFeatures } = require_runtime_features();
var UNDEFINED = 1;
var BOOLEAN = 2;
var STRING = 3;
var SYMBOL = 4;
var NUMBER = 5;
var BIGINT = 6;
var NULL = 7;
var OBJECT = 8;
var FunctionPrototypeSymbolHasInstance = Function.call.bind(Function.prototype[Symbol.hasInstance]);
var webidl = {
converters: {},
util: {},
errors: {},
is: {}
};
webidl.errors.exception = function(message) {
return new TypeError(`${message.header}: ${message.message}`);
};
webidl.errors.conversionFailed = function(opts) {
const plural2 = opts.types.length === 1 ? "" : " one of";
const message = `${opts.argument} could not be converted to` + `${plural2}: ${opts.types.join(", ")}.`;
return webidl.errors.exception({
header: opts.prefix,
message
});
};
webidl.errors.invalidArgument = function(context) {
return webidl.errors.exception({
header: context.prefix,
message: `"${context.value}" is an invalid ${context.type}.`
});
};
webidl.brandCheck = function(V2, I3) {
if (!FunctionPrototypeSymbolHasInstance(I3, V2)) {
const err = new TypeError("Illegal invocation");
err.code = "ERR_INVALID_THIS";
throw err;
}
};
webidl.brandCheckMultiple = function(List) {
const prototypes = List.map((c5) => webidl.util.MakeTypeAssertion(c5));
return (V2) => {
if (prototypes.every((typeCheck) => !typeCheck(V2))) {
const err = new TypeError("Illegal invocation");
err.code = "ERR_INVALID_THIS";
throw err;
}
};
};
webidl.argumentLengthCheck = function({ length }, min, ctx) {
if (length < min) {
throw webidl.errors.exception({
message: `${min} argument${min !== 1 ? "s" : ""} required, ` + `but${length ? " only" : ""} ${length} found.`,
header: ctx
});
}
};
webidl.illegalConstructor = function() {
throw webidl.errors.exception({
header: "TypeError",
message: "Illegal constructor"
});
};
webidl.util.MakeTypeAssertion = function(I3) {
return (O2) => FunctionPrototypeSymbolHasInstance(I3, O2);
};
webidl.util.Type = function(V2) {
switch (typeof V2) {
case "undefined":
return UNDEFINED;
case "boolean":
return BOOLEAN;
case "string":
return STRING;
case "symbol":
return SYMBOL;
case "number":
return NUMBER;
case "bigint":
return BIGINT;
case "function":
case "object": {
if (V2 === null) {
return NULL;
}
return OBJECT;
}
}
};
webidl.util.Types = {
UNDEFINED,
BOOLEAN,
STRING,
SYMBOL,
NUMBER,
BIGINT,
NULL,
OBJECT
};
webidl.util.TypeValueToString = function(o2) {
switch (webidl.util.Type(o2)) {
case UNDEFINED:
return "Undefined";
case BOOLEAN:
return "Boolean";
case STRING:
return "String";
case SYMBOL:
return "Symbol";
case NUMBER:
return "Number";
case BIGINT:
return "BigInt";
case NULL:
return "Null";
case OBJECT:
return "Object";
}
};
webidl.util.markAsUncloneable = runtimeFeatures.has("markAsUncloneable") ? __require("node:worker_threads").markAsUncloneable : () => {};
webidl.util.ConvertToInt = function(V2, bitLength, signedness, flags) {
let upperBound;
let lowerBound;
if (bitLength === 64) {
upperBound = Math.pow(2, 53) - 1;
if (signedness === "unsigned") {
lowerBound = 0;
} else {
lowerBound = Math.pow(-2, 53) + 1;
}
} else if (signedness === "unsigned") {
lowerBound = 0;
upperBound = Math.pow(2, bitLength) - 1;
} else {
lowerBound = Math.pow(-2, bitLength) - 1;
upperBound = Math.pow(2, bitLength - 1) - 1;
}
let x3 = Number(V2);
if (x3 === 0) {
x3 = 0;
}
if (webidl.util.HasFlag(flags, webidl.attributes.EnforceRange)) {
if (Number.isNaN(x3) || x3 === Number.POSITIVE_INFINITY || x3 === Number.NEGATIVE_INFINITY) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Could not convert ${webidl.util.Stringify(V2)} to an integer.`
});
}
x3 = webidl.util.IntegerPart(x3);
if (x3 < lowerBound || x3 > upperBound) {
throw webidl.errors.exception({
header: "Integer conversion",
message: `Value must be between ${lowerBound}-${upperBound}, got ${x3}.`
});
}
return x3;
}
if (!Number.isNaN(x3) && webidl.util.HasFlag(flags, webidl.attributes.Clamp)) {
x3 = Math.min(Math.max(x3, lowerBound), upperBound);
if (Math.floor(x3) % 2 === 0) {
x3 = Math.floor(x3);
} else {
x3 = Math.ceil(x3);
}
return x3;
}
if (Number.isNaN(x3) || x3 === 0 && Object.is(0, x3) || x3 === Number.POSITIVE_INFINITY || x3 === Number.NEGATIVE_INFINITY) {
return 0;
}
x3 = webidl.util.IntegerPart(x3);
x3 = x3 % Math.pow(2, bitLength);
if (signedness === "signed" && x3 >= Math.pow(2, bitLength) - 1) {
return x3 - Math.pow(2, bitLength);
}
return x3;
};
webidl.util.IntegerPart = function(n2) {
const r = Math.floor(Math.abs(n2));
if (n2 < 0) {
return -1 * r;
}
return r;
};
webidl.util.Stringify = function(V2) {
const type = webidl.util.Type(V2);
switch (type) {
case SYMBOL:
return `Symbol(${V2.description})`;
case OBJECT:
return inspect3(V2);
case STRING:
return `"${V2}"`;
case BIGINT:
return `${V2}n`;
default:
return `${V2}`;
}
};
webidl.util.IsResizableArrayBuffer = function(V2) {
if (types.isArrayBuffer(V2)) {
return V2.resizable;
}
if (types.isSharedArrayBuffer(V2)) {
return V2.growable;
}
throw webidl.errors.exception({
header: "IsResizableArrayBuffer",
message: `"${webidl.util.Stringify(V2)}" is not an array buffer.`
});
};
webidl.util.HasFlag = function(flags, attributes) {
return typeof flags === "number" && (flags & attributes) === attributes;
};
webidl.sequenceConverter = function(converter) {
return (V2, prefix, argument, Iterable) => {
if (webidl.util.Type(V2) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} (${webidl.util.Stringify(V2)}) is not iterable.`
});
}
const method = typeof Iterable === "function" ? Iterable() : V2?.[Symbol.iterator]?.();
const seq = [];
let index = 0;
if (method === undefined || typeof method.next !== "function") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is not iterable.`
});
}
while (true) {
const { done, value } = method.next();
if (done) {
break;
}
seq.push(converter(value, prefix, `${argument}[${index++}]`));
}
return seq;
};
};
webidl.recordConverter = function(keyConverter, valueConverter) {
return (O2, prefix, argument) => {
if (webidl.util.Type(O2) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} ("${webidl.util.TypeValueToString(O2)}") is not an Object.`
});
}
const result = {};
if (!types.isProxy(O2)) {
const keys3 = [...Object.getOwnPropertyNames(O2), ...Object.getOwnPropertySymbols(O2)];
for (const key of keys3) {
const keyName = webidl.util.Stringify(key);
const typedKey = keyConverter(key, prefix, `Key ${keyName} in ${argument}`);
const typedValue = valueConverter(O2[key], prefix, `${argument}[${keyName}]`);
result[typedKey] = typedValue;
}
return result;
}
const keys2 = Reflect.ownKeys(O2);
for (const key of keys2) {
const desc = Reflect.getOwnPropertyDescriptor(O2, key);
if (desc?.enumerable) {
const typedKey = keyConverter(key, prefix, argument);
const typedValue = valueConverter(O2[key], prefix, argument);
result[typedKey] = typedValue;
}
}
return result;
};
};
webidl.interfaceConverter = function(TypeCheck, name) {
return (V2, prefix, argument) => {
if (!TypeCheck(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${argument} ("${webidl.util.Stringify(V2)}") to be an instance of ${name}.`
});
}
return V2;
};
};
webidl.dictionaryConverter = function(converters) {
converters.sort((a2, b2) => (a2.key > b2.key) - (a2.key < b2.key));
return (dictionary, prefix, argument) => {
const dict = {};
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
throw webidl.errors.exception({
header: prefix,
message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
});
}
for (const options of converters) {
const { key, defaultValue, required: required2, converter } = options;
if (required2 === true) {
if (dictionary == null || !Object.hasOwn(dictionary, key)) {
throw webidl.errors.exception({
header: prefix,
message: `Missing required key "${key}".`
});
}
}
let value = dictionary?.[key];
const hasDefault = defaultValue !== undefined;
if (hasDefault && value === undefined) {
value = defaultValue();
}
if (required2 || hasDefault || value !== undefined) {
value = converter(value, prefix, `${argument}.${key}`);
if (options.allowedValues && !options.allowedValues.includes(value)) {
throw webidl.errors.exception({
header: prefix,
message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
});
}
dict[key] = value;
}
}
return dict;
};
};
webidl.nullableConverter = function(converter) {
return (V2, prefix, argument) => {
if (V2 === null) {
return V2;
}
return converter(V2, prefix, argument);
};
};
webidl.is.USVString = function(value) {
return typeof value === "string" && value.isWellFormed();
};
webidl.is.ReadableStream = webidl.util.MakeTypeAssertion(ReadableStream);
webidl.is.Blob = webidl.util.MakeTypeAssertion(Blob);
webidl.is.URLSearchParams = webidl.util.MakeTypeAssertion(URLSearchParams);
webidl.is.File = webidl.util.MakeTypeAssertion(File);
webidl.is.URL = webidl.util.MakeTypeAssertion(URL);
webidl.is.AbortSignal = webidl.util.MakeTypeAssertion(AbortSignal);
webidl.is.MessagePort = webidl.util.MakeTypeAssertion(MessagePort);
webidl.is.BufferSource = function(V2) {
return types.isArrayBuffer(V2) || ArrayBuffer.isView(V2) && types.isArrayBuffer(V2.buffer);
};
webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) {
const jsBufferSource = bufferSource;
let jsArrayBuffer = jsBufferSource;
let offset = 0;
let length = 0;
if (types.isTypedArray(jsBufferSource) || types.isDataView(jsBufferSource)) {
jsArrayBuffer = jsBufferSource.buffer;
offset = jsBufferSource.byteOffset;
length = jsBufferSource.byteLength;
} else {
assert3(types.isAnyArrayBuffer(jsBufferSource));
length = jsBufferSource.byteLength;
}
if (jsArrayBuffer.detached) {
return new Uint8Array(0);
}
const bytes = new Uint8Array(length);
const view = new Uint8Array(jsArrayBuffer, offset, length);
bytes.set(view);
return bytes;
};
webidl.converters.DOMString = function(V2, prefix, argument, flags) {
if (V2 === null && webidl.util.HasFlag(flags, webidl.attributes.LegacyNullToEmptyString)) {
return "";
}
if (typeof V2 === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a DOMString.`
});
}
return String(V2);
};
webidl.converters.ByteString = function(V2, prefix, argument) {
if (typeof V2 === "symbol") {
throw webidl.errors.exception({
header: prefix,
message: `${argument} is a symbol, which cannot be converted to a ByteString.`
});
}
const x3 = String(V2);
for (let index = 0;index < x3.length; index++) {
if (x3.charCodeAt(index) > 255) {
throw new TypeError("Cannot convert argument to a ByteString because the character at " + `index ${index} has a value of ${x3.charCodeAt(index)} which is greater than 255.`);
}
}
return x3;
};
webidl.converters.USVString = function(value) {
if (typeof value === "string") {
return value.toWellFormed();
}
return `${value}`.toWellFormed();
};
webidl.converters.boolean = function(V2) {
const x3 = Boolean(V2);
return x3;
};
webidl.converters.any = function(V2) {
return V2;
};
webidl.converters["long long"] = function(V2, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V2, 64, "signed", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned long long"] = function(V2, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V2, 64, "unsigned", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned long"] = function(V2, prefix, argument) {
const x3 = webidl.util.ConvertToInt(V2, 32, "unsigned", 0, prefix, argument);
return x3;
};
webidl.converters["unsigned short"] = function(V2, prefix, argument, flags) {
const x3 = webidl.util.ConvertToInt(V2, 16, "unsigned", flags, prefix, argument);
return x3;
};
webidl.converters.ArrayBuffer = function(V2, prefix, argument, flags) {
if (webidl.util.Type(V2) !== OBJECT || !types.isArrayBuffer(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable ArrayBuffer.`
});
}
return V2;
};
webidl.converters.SharedArrayBuffer = function(V2, prefix, argument, flags) {
if (webidl.util.Type(V2) !== OBJECT || !types.isSharedArrayBuffer(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["SharedArrayBuffer"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a resizable SharedArrayBuffer.`
});
}
return V2;
};
webidl.converters.TypedArray = function(V2, T2, prefix, argument, flags) {
if (webidl.util.Type(V2) !== OBJECT || !types.isTypedArray(V2) || V2.constructor.name !== T2.name) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: [T2.name]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.DataView = function(V2, prefix, argument, flags) {
if (webidl.util.Type(V2) !== OBJECT || !types.isDataView(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["DataView"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.ArrayBufferView = function(V2, prefix, argument, flags) {
if (webidl.util.Type(V2) !== OBJECT || !types.isArrayBufferView(V2)) {
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBufferView"]
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowShared) && types.isSharedArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a shared array buffer.`
});
}
if (!webidl.util.HasFlag(flags, webidl.attributes.AllowResizable) && webidl.util.IsResizableArrayBuffer(V2.buffer)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a view on a resizable array buffer.`
});
}
return V2;
};
webidl.converters.BufferSource = function(V2, prefix, argument, flags) {
if (types.isArrayBuffer(V2)) {
return webidl.converters.ArrayBuffer(V2, prefix, argument, flags);
}
if (types.isArrayBufferView(V2)) {
flags &= ~webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V2, prefix, argument, flags);
}
if (types.isSharedArrayBuffer(V2)) {
throw webidl.errors.exception({
header: prefix,
message: `${argument} cannot be a SharedArrayBuffer.`
});
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters.AllowSharedBufferSource = function(V2, prefix, argument, flags) {
if (types.isArrayBuffer(V2)) {
return webidl.converters.ArrayBuffer(V2, prefix, argument, flags);
}
if (types.isSharedArrayBuffer(V2)) {
return webidl.converters.SharedArrayBuffer(V2, prefix, argument, flags);
}
if (types.isArrayBufferView(V2)) {
flags |= webidl.attributes.AllowShared;
return webidl.converters.ArrayBufferView(V2, prefix, argument, flags);
}
throw webidl.errors.conversionFailed({
prefix,
argument: `${argument} ("${webidl.util.Stringify(V2)}")`,
types: ["ArrayBuffer", "SharedArrayBuffer", "ArrayBufferView"]
});
};
webidl.converters["sequence"] = webidl.sequenceConverter(webidl.converters.ByteString);
webidl.converters["sequence>"] = webidl.sequenceConverter(webidl.converters["sequence"]);
webidl.converters["record"] = webidl.recordConverter(webidl.converters.ByteString, webidl.converters.ByteString);
webidl.converters.Blob = webidl.interfaceConverter(webidl.is.Blob, "Blob");
webidl.converters.AbortSignal = webidl.interfaceConverter(webidl.is.AbortSignal, "AbortSignal");
webidl.converters.EventHandlerNonNull = function(V2) {
if (webidl.util.Type(V2) !== OBJECT) {
return null;
}
if (typeof V2 === "function") {
return V2;
}
return () => {};
};
webidl.attributes = {
Clamp: 1 << 0,
EnforceRange: 1 << 1,
AllowShared: 1 << 2,
AllowResizable: 1 << 3,
LegacyNullToEmptyString: 1 << 4
};
module.exports = {
webidl
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/util.js
var require_util2 = __commonJS((exports, module) => {
var { Transform: Transform2 } = __require("node:stream");
var zlib2 = __require("node:zlib");
var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants4();
var { getGlobalOrigin } = require_global();
var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
var { performance: performance3 } = __require("node:perf_hooks");
var { ReadableStreamFrom: ReadableStreamFrom2, isValidHTTPToken, normalizedMethodRecordsBase } = require_util();
var assert3 = __require("node:assert");
var { isUint8Array: isUint8Array2 } = __require("node:util/types");
var { webidl } = require_webidl();
var { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra();
function responseURL(response) {
const urlList = response.urlList;
const length = urlList.length;
return length === 0 ? null : urlList[length - 1].toString();
}
function responseLocationURL(response, requestFragment) {
if (!redirectStatusSet.has(response.status)) {
return null;
}
let location = response.headersList.get("location", true);
if (location !== null && isValidHeaderValue(location)) {
if (!isValidEncodedURL(location)) {
location = normalizeBinaryStringToUtf8(location);
}
location = new URL(location, responseURL(response));
}
if (location && !location.hash) {
location.hash = requestFragment;
}
return location;
}
function isValidEncodedURL(url3) {
for (let i2 = 0;i2 < url3.length; ++i2) {
const code = url3.charCodeAt(i2);
if (code > 126 || code < 32) {
return false;
}
}
return true;
}
function normalizeBinaryStringToUtf8(value) {
return Buffer.from(value, "binary").toString("utf8");
}
function requestCurrentURL(request) {
return request.urlList[request.urlList.length - 1];
}
function requestBadPort(request) {
const url3 = requestCurrentURL(request);
if (urlIsHttpHttpsScheme(url3) && badPortsSet.has(url3.port)) {
return "blocked";
}
return "allowed";
}
function isErrorLike(object2) {
return object2 instanceof Error || (object2?.constructor?.name === "Error" || object2?.constructor?.name === "DOMException");
}
function isValidReasonPhrase(statusText) {
for (let i2 = 0;i2 < statusText.length; ++i2) {
const c5 = statusText.charCodeAt(i2);
if (!(c5 === 9 || c5 >= 32 && c5 <= 126 || c5 >= 128 && c5 <= 255)) {
return false;
}
}
return true;
}
var isValidHeaderName2 = isValidHTTPToken;
function isValidHeaderValue(potentialValue) {
return (potentialValue[0] === "\t" || potentialValue[0] === " " || potentialValue[potentialValue.length - 1] === "\t" || potentialValue[potentialValue.length - 1] === " " || potentialValue.includes(`
`) || potentialValue.includes("\r") || potentialValue.includes("\x00")) === false;
}
function parseReferrerPolicy(actualResponse) {
const policyHeader = (actualResponse.headersList.get("referrer-policy", true) ?? "").split(",");
let policy = "";
if (policyHeader.length) {
for (let i2 = policyHeader.length;i2 !== 0; i2--) {
const token = policyHeader[i2 - 1].trim();
if (referrerPolicyTokens.has(token)) {
policy = token;
break;
}
}
}
return policy;
}
function setRequestReferrerPolicyOnRedirect(request, actualResponse) {
const policy = parseReferrerPolicy(actualResponse);
if (policy !== "") {
request.referrerPolicy = policy;
}
}
function crossOriginResourcePolicyCheck() {
return "allowed";
}
function corsCheck() {
return "success";
}
function TAOCheck() {
return "success";
}
function appendFetchMetadata(httpRequest) {
let header = null;
header = httpRequest.mode;
httpRequest.headersList.set("sec-fetch-mode", header, true);
}
function appendRequestOriginHeader(request) {
let serializedOrigin = request.origin;
if (serializedOrigin === "client" || serializedOrigin === undefined) {
return;
}
if (request.responseTainting === "cors" || request.mode === "websocket") {
request.headersList.append("origin", serializedOrigin, true);
} else if (request.method !== "GET" && request.method !== "HEAD") {
switch (request.referrerPolicy) {
case "no-referrer":
serializedOrigin = null;
break;
case "no-referrer-when-downgrade":
case "strict-origin":
case "strict-origin-when-cross-origin":
if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
case "same-origin":
if (!sameOrigin(request, requestCurrentURL(request))) {
serializedOrigin = null;
}
break;
default:
}
request.headersList.append("origin", serializedOrigin, true);
}
}
function coarsenTime(timestamp, crossOriginIsolatedCapability) {
return timestamp;
}
function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
return {
domainLookupStartTime: defaultStartTime,
domainLookupEndTime: defaultStartTime,
connectionStartTime: defaultStartTime,
connectionEndTime: defaultStartTime,
secureConnectionStartTime: defaultStartTime,
ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
};
}
return {
domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
};
}
function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
return coarsenTime(performance3.now(), crossOriginIsolatedCapability);
}
function createOpaqueTimingInfo(timingInfo) {
return {
startTime: timingInfo.startTime ?? 0,
redirectStartTime: 0,
redirectEndTime: 0,
postRedirectStartTime: timingInfo.startTime ?? 0,
finalServiceWorkerStartTime: 0,
finalNetworkResponseStartTime: 0,
finalNetworkRequestStartTime: 0,
endTime: 0,
encodedBodySize: 0,
decodedBodySize: 0,
finalConnectionTimingInfo: null
};
}
function makePolicyContainer() {
return {
referrerPolicy: "strict-origin-when-cross-origin"
};
}
function clonePolicyContainer(policyContainer) {
return {
referrerPolicy: policyContainer.referrerPolicy
};
}
function determineRequestsReferrer(request) {
const policy = request.referrerPolicy;
assert3(policy);
let referrerSource = null;
if (request.referrer === "client") {
const globalOrigin = getGlobalOrigin();
if (!globalOrigin || globalOrigin.origin === "null") {
return "no-referrer";
}
referrerSource = new URL(globalOrigin);
} else if (webidl.is.URL(request.referrer)) {
referrerSource = request.referrer;
}
let referrerURL = stripURLForReferrer(referrerSource);
const referrerOrigin = stripURLForReferrer(referrerSource, true);
if (referrerURL.toString().length > 4096) {
referrerURL = referrerOrigin;
}
switch (policy) {
case "no-referrer":
return "no-referrer";
case "origin":
if (referrerOrigin != null) {
return referrerOrigin;
}
return stripURLForReferrer(referrerSource, true);
case "unsafe-url":
return referrerURL;
case "strict-origin": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "strict-origin-when-cross-origin": {
const currentURL = requestCurrentURL(request);
if (sameOrigin(referrerURL, currentURL)) {
return referrerURL;
}
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
}
case "same-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return "no-referrer";
case "origin-when-cross-origin":
if (sameOrigin(request, referrerURL)) {
return referrerURL;
}
return referrerOrigin;
case "no-referrer-when-downgrade": {
const currentURL = requestCurrentURL(request);
if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerURL;
}
}
}
function stripURLForReferrer(url3, originOnly = false) {
assert3(webidl.is.URL(url3));
url3 = new URL(url3);
if (urlIsLocal(url3)) {
return "no-referrer";
}
url3.username = "";
url3.password = "";
url3.hash = "";
if (originOnly === true) {
url3.pathname = "";
url3.search = "";
}
return url3;
}
var isPotentialleTrustworthyIPv4 = 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)$/);
var isPotentiallyTrustworthyIPv6 = RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);
function isOriginIPPotentiallyTrustworthy(origin2) {
if (origin2.includes(":")) {
if (origin2[0] === "[" && origin2[origin2.length - 1] === "]") {
origin2 = origin2.slice(1, -1);
}
return isPotentiallyTrustworthyIPv6(origin2);
}
return isPotentialleTrustworthyIPv4(origin2);
}
function isOriginPotentiallyTrustworthy(origin2) {
if (origin2 == null || origin2 === "null") {
return false;
}
origin2 = new URL(origin2);
if (origin2.protocol === "https:" || origin2.protocol === "wss:") {
return true;
}
if (isOriginIPPotentiallyTrustworthy(origin2.hostname)) {
return true;
}
if (origin2.hostname === "localhost" || origin2.hostname === "localhost.") {
return true;
}
if (origin2.hostname.endsWith(".localhost") || origin2.hostname.endsWith(".localhost.")) {
return true;
}
if (origin2.protocol === "file:") {
return true;
}
return false;
}
function isURLPotentiallyTrustworthy(url3) {
if (!webidl.is.URL(url3)) {
return false;
}
if (url3.href === "about:blank" || url3.href === "about:srcdoc") {
return true;
}
if (url3.protocol === "data:")
return true;
if (url3.protocol === "blob:")
return true;
return isOriginPotentiallyTrustworthy(url3.origin);
}
function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {}
function sameOrigin(A, B2) {
if (A.origin === B2.origin && A.origin === "null") {
return true;
}
if (A.protocol === B2.protocol && A.hostname === B2.hostname && A.port === B2.port) {
return true;
}
return false;
}
function isAborted(fetchParams) {
return fetchParams.controller.state === "aborted";
}
function isCancelled(fetchParams) {
return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
}
function normalizeMethod(method) {
return normalizedMethodRecordsBase[method.toLowerCase()] ?? method;
}
var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) {
class FastIterableIterator {
#target;
#kind;
#index;
constructor(target, kind) {
this.#target = target;
this.#kind = kind;
this.#index = 0;
}
next() {
if (typeof this !== "object" || this === null || !(#target in this)) {
throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`);
}
const index = this.#index;
const values = kInternalIterator(this.#target);
const len = values.length;
if (index >= len) {
return {
value: undefined,
done: true
};
}
const { [keyIndex]: key, [valueIndex]: value } = values[index];
this.#index = index + 1;
let result;
switch (this.#kind) {
case "key":
result = key;
break;
case "value":
result = value;
break;
case "key+value":
result = [key, value];
break;
}
return {
value: result,
done: false
};
}
}
delete FastIterableIterator.prototype.constructor;
Object.setPrototypeOf(FastIterableIterator.prototype, esIteratorPrototype);
Object.defineProperties(FastIterableIterator.prototype, {
[Symbol.toStringTag]: {
writable: false,
enumerable: false,
configurable: true,
value: `${name} Iterator`
},
next: { writable: true, enumerable: true, configurable: true }
});
return function(target, kind) {
return new FastIterableIterator(target, kind);
};
}
function iteratorMixin(name, object2, kInternalIterator, keyIndex = 0, valueIndex = 1) {
const makeIterator = createIterator(name, kInternalIterator, keyIndex, valueIndex);
const properties = {
keys: {
writable: true,
enumerable: true,
configurable: true,
value: function keys2() {
webidl.brandCheck(this, object2);
return makeIterator(this, "key");
}
},
values: {
writable: true,
enumerable: true,
configurable: true,
value: function values() {
webidl.brandCheck(this, object2);
return makeIterator(this, "value");
}
},
entries: {
writable: true,
enumerable: true,
configurable: true,
value: function entries() {
webidl.brandCheck(this, object2);
return makeIterator(this, "key+value");
}
},
forEach: {
writable: true,
enumerable: true,
configurable: true,
value: function forEach2(callbackfn, thisArg = globalThis) {
webidl.brandCheck(this, object2);
webidl.argumentLengthCheck(arguments, 1, `${name}.forEach`);
if (typeof callbackfn !== "function") {
throw new TypeError(`Failed to execute 'forEach' on '${name}': parameter 1 is not of type 'Function'.`);
}
for (const { 0: key, 1: value } of makeIterator(this, "key+value")) {
callbackfn.call(thisArg, value, key, this);
}
}
}
};
return Object.defineProperties(object2.prototype, {
...properties,
[Symbol.iterator]: {
writable: true,
enumerable: false,
configurable: true,
value: properties.entries.value
}
});
}
function fullyReadBody(body, processBody, processBodyError) {
const successSteps = processBody;
const errorSteps = processBodyError;
try {
const reader = body.stream.getReader();
readAllBytes(reader, successSteps, errorSteps);
} catch (e) {
errorSteps(e);
}
}
function readableStreamClose(controller) {
try {
controller.close();
controller.byobRequest?.respond(0);
} catch (err) {
if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
throw err;
}
}
}
async function readAllBytes(reader, successSteps, failureSteps) {
try {
const bytes = [];
let byteLength = 0;
do {
const { done, value: chunk } = await reader.read();
if (done) {
successSteps(Buffer.concat(bytes, byteLength));
return;
}
if (!isUint8Array2(chunk)) {
failureSteps(new TypeError("Received non-Uint8Array chunk"));
return;
}
bytes.push(chunk);
byteLength += chunk.length;
} while (true);
} catch (e) {
failureSteps(e);
}
}
function urlIsLocal(url3) {
assert3("protocol" in url3);
const protocol = url3.protocol;
return protocol === "about:" || protocol === "blob:" || protocol === "data:";
}
function urlHasHttpsScheme(url3) {
return typeof url3 === "string" && url3[5] === ":" && url3[0] === "h" && url3[1] === "t" && url3[2] === "t" && url3[3] === "p" && url3[4] === "s" || url3.protocol === "https:";
}
function urlIsHttpHttpsScheme(url3) {
assert3("protocol" in url3);
const protocol = url3.protocol;
return protocol === "http:" || protocol === "https:";
}
function simpleRangeHeaderValue(value, allowWhitespace) {
const data = value;
if (!data.startsWith("bytes")) {
return "failure";
}
const position = { position: 5 };
if (allowWhitespace) {
collectASequenceOfCodePoints((char) => char === "\t" || char === " ", data, position);
}
if (data.charCodeAt(position.position) !== 61) {
return "failure";
}
position.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints((char) => char === "\t" || char === " ", data, position);
}
const rangeStart = collectASequenceOfCodePoints((char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
}, data, position);
const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
if (allowWhitespace) {
collectASequenceOfCodePoints((char) => char === "\t" || char === " ", data, position);
}
if (data.charCodeAt(position.position) !== 45) {
return "failure";
}
position.position++;
if (allowWhitespace) {
collectASequenceOfCodePoints((char) => char === "\t" || char === " ", data, position);
}
const rangeEnd = collectASequenceOfCodePoints((char) => {
const code = char.charCodeAt(0);
return code >= 48 && code <= 57;
}, data, position);
const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
if (position.position < data.length) {
return "failure";
}
if (rangeEndValue === null && rangeStartValue === null) {
return "failure";
}
if (rangeStartValue > rangeEndValue) {
return "failure";
}
return { rangeStartValue, rangeEndValue };
}
function buildContentRange(rangeStart, rangeEnd, fullLength) {
let contentRange = "bytes ";
contentRange += isomorphicEncode(`${rangeStart}`);
contentRange += "-";
contentRange += isomorphicEncode(`${rangeEnd}`);
contentRange += "/";
contentRange += isomorphicEncode(`${fullLength}`);
return contentRange;
}
class InflateStream extends Transform2 {
#zlibOptions;
constructor(zlibOptions2) {
super();
this.#zlibOptions = zlibOptions2;
}
_transform(chunk, encoding, callback) {
if (!this._inflateStream) {
if (chunk.length === 0) {
callback();
return;
}
this._inflateStream = (chunk[0] & 15) === 8 ? zlib2.createInflate(this.#zlibOptions) : zlib2.createInflateRaw(this.#zlibOptions);
this._inflateStream.on("data", this.push.bind(this));
this._inflateStream.on("end", () => this.push(null));
this._inflateStream.on("error", (err) => this.destroy(err));
}
this._inflateStream.write(chunk, encoding, callback);
}
_final(callback) {
if (this._inflateStream) {
this._inflateStream.end();
this._inflateStream = null;
}
callback();
}
}
function createInflate(zlibOptions2) {
return new InflateStream(zlibOptions2);
}
function extractMimeType(headers) {
let charset = null;
let essence = null;
let mimeType = null;
const values = getDecodeSplit("content-type", headers);
if (values === null) {
return "failure";
}
for (const value of values) {
const temporaryMimeType = parseMIMEType(value);
if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
continue;
}
mimeType = temporaryMimeType;
if (mimeType.essence !== essence) {
charset = null;
if (mimeType.parameters.has("charset")) {
charset = mimeType.parameters.get("charset");
}
essence = mimeType.essence;
} else if (!mimeType.parameters.has("charset") && charset !== null) {
mimeType.parameters.set("charset", charset);
}
}
if (mimeType == null) {
return "failure";
}
return mimeType;
}
function gettingDecodingSplitting(value) {
const input = value;
const position = { position: 0 };
const values = [];
let temporaryValue = "";
while (position.position < input.length) {
temporaryValue += collectASequenceOfCodePoints((char) => char !== '"' && char !== ",", input, position);
if (position.position < input.length) {
if (input.charCodeAt(position.position) === 34) {
temporaryValue += collectAnHTTPQuotedString(input, position);
if (position.position < input.length) {
continue;
}
} else {
assert3(input.charCodeAt(position.position) === 44);
position.position++;
}
}
temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
values.push(temporaryValue);
temporaryValue = "";
}
return values;
}
function getDecodeSplit(name, list) {
const value = list.get(name, true);
if (value === null) {
return null;
}
return gettingDecodingSplitting(value);
}
function hasAuthenticationEntry(request) {
return false;
}
function includesCredentials(url3) {
return !!(url3.username || url3.password);
}
function isTraversableNavigable(navigable) {
return true;
}
class EnvironmentSettingsObjectBase {
get baseUrl() {
return getGlobalOrigin();
}
get origin() {
return this.baseUrl?.origin;
}
policyContainer = makePolicyContainer();
}
class EnvironmentSettingsObject {
settingsObject = new EnvironmentSettingsObjectBase;
}
var environmentSettingsObject = new EnvironmentSettingsObject;
module.exports = {
isAborted,
isCancelled,
isValidEncodedURL,
ReadableStreamFrom: ReadableStreamFrom2,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
clampAndCoarsenConnectionTimingInfo,
coarsenedSharedCurrentTime,
determineRequestsReferrer,
makePolicyContainer,
clonePolicyContainer,
appendFetchMetadata,
appendRequestOriginHeader,
TAOCheck,
corsCheck,
crossOriginResourcePolicyCheck,
createOpaqueTimingInfo,
setRequestReferrerPolicyOnRedirect,
isValidHTTPToken,
requestBadPort,
requestCurrentURL,
responseURL,
responseLocationURL,
isURLPotentiallyTrustworthy,
isValidReasonPhrase,
sameOrigin,
normalizeMethod,
iteratorMixin,
createIterator,
isValidHeaderName: isValidHeaderName2,
isValidHeaderValue,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlHasHttpsScheme,
urlIsHttpHttpsScheme,
readAllBytes,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
getDecodeSplit,
environmentSettingsObject,
isOriginIPPotentiallyTrustworthy,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/formdata.js
var require_formdata = __commonJS((exports, module) => {
var { iteratorMixin } = require_util2();
var { kEnumerableProperty } = require_util();
var { webidl } = require_webidl();
var nodeUtil2 = __require("node:util");
class FormData3 {
#state = [];
constructor(form = undefined) {
webidl.util.markAsUncloneable(this);
if (form !== undefined) {
throw webidl.errors.conversionFailed({
prefix: "FormData constructor",
argument: "Argument 1",
types: ["undefined"]
});
}
}
append(name, value, filename = undefined) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.append";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.USVString(name);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== undefined) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name, value, filename);
this.#state.push(entry);
}
delete(name) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
this.#state = this.#state.filter((entry) => entry.name !== name);
}
get(name) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.get";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
const idx = this.#state.findIndex((entry) => entry.name === name);
if (idx === -1) {
return null;
}
return this.#state[idx].value;
}
getAll(name) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.getAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
return this.#state.filter((entry) => entry.name === name).map((entry) => entry.value);
}
has(name) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
name = webidl.converters.USVString(name);
return this.#state.findIndex((entry) => entry.name === name) !== -1;
}
set(name, value, filename = undefined) {
webidl.brandCheck(this, FormData3);
const prefix = "FormData.set";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.USVString(name);
if (arguments.length === 3 || webidl.is.Blob(value)) {
value = webidl.converters.Blob(value, prefix, "value");
if (filename !== undefined) {
filename = webidl.converters.USVString(filename);
}
} else {
value = webidl.converters.USVString(value);
}
const entry = makeEntry(name, value, filename);
const idx = this.#state.findIndex((entry2) => entry2.name === name);
if (idx !== -1) {
this.#state = [
...this.#state.slice(0, idx),
entry,
...this.#state.slice(idx + 1).filter((entry2) => entry2.name !== name)
];
} else {
this.#state.push(entry);
}
}
[nodeUtil2.inspect.custom](depth, options) {
const state = this.#state.reduce((a2, b2) => {
if (a2[b2.name]) {
if (Array.isArray(a2[b2.name])) {
a2[b2.name].push(b2.value);
} else {
a2[b2.name] = [a2[b2.name], b2.value];
}
} else {
a2[b2.name] = b2.value;
}
return a2;
}, { __proto__: null });
options.depth ??= depth;
options.colors ??= true;
const output = nodeUtil2.formatWithOptions(options, state);
return `FormData ${output.slice(output.indexOf("]") + 2)}`;
}
static getFormDataState(formData) {
return formData.#state;
}
static setFormDataState(formData, newState) {
formData.#state = newState;
}
}
var { getFormDataState, setFormDataState } = FormData3;
Reflect.deleteProperty(FormData3, "getFormDataState");
Reflect.deleteProperty(FormData3, "setFormDataState");
iteratorMixin("FormData", FormData3, getFormDataState, "name", "value");
Object.defineProperties(FormData3.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
getAll: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "FormData",
configurable: true
}
});
function makeEntry(name, value, filename) {
if (typeof value === "string") {} else {
if (!webidl.is.File(value)) {
value = new File([value], "blob", { type: value.type });
}
if (filename !== undefined) {
const options = {
type: value.type,
lastModified: value.lastModified
};
value = new File([value], filename, options);
}
}
return { name, value };
}
webidl.is.FormData = webidl.util.MakeTypeAssertion(FormData3);
module.exports = { FormData: FormData3, makeEntry, setFormDataState };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/formdata-parser.js
var require_formdata_parser = __commonJS((exports, module) => {
var { bufferToLowerCasedHeaderName } = require_util();
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
var { makeEntry } = require_formdata();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var { isomorphicDecode } = require_infra();
var dd = Buffer.from("--");
var decoder = new TextDecoder;
var decoderIgnoreBOM = new TextDecoder("utf-8", { ignoreBOM: true });
function isAsciiString(chars) {
for (let i2 = 0;i2 < chars.length; ++i2) {
if ((chars.charCodeAt(i2) & ~127) !== 0) {
return false;
}
}
return true;
}
function validateBoundary(boundary) {
const length = boundary.length;
if (length < 27 || length > 70) {
return false;
}
for (let i2 = 0;i2 < length; ++i2) {
const cp = boundary.charCodeAt(i2);
if (!(cp >= 48 && cp <= 57 || cp >= 65 && cp <= 90 || cp >= 97 && cp <= 122 || cp === 39 || cp === 45 || cp === 95)) {
return false;
}
}
return true;
}
function multipartFormDataParser(input, mimeType) {
assert3(mimeType !== "failure" && mimeType.essence === "multipart/form-data");
const boundaryString = mimeType.parameters.get("boundary");
if (boundaryString === undefined) {
throw parsingError("missing boundary in content-type header");
}
const boundary = Buffer.from(`--${boundaryString}`, "utf8");
const entryList = [];
const position = { position: 0 };
const firstBoundaryIndex = input.indexOf(boundary);
if (firstBoundaryIndex === -1) {
throw parsingError("no boundary found in multipart body");
}
position.position = firstBoundaryIndex;
while (true) {
if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) {
position.position += boundary.length;
} else {
throw parsingError("expected a value starting with -- and the boundary");
}
if (bufferStartsWith(input, dd, position)) {
return entryList;
}
if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
}
position.position += 2;
const result = parseMultipartFormDataHeaders(input, position);
let { name, filename, contentType, encoding } = result;
position.position += 2;
let body;
{
const boundaryIndex = input.indexOf(boundary.subarray(2), position.position);
if (boundaryIndex === -1) {
throw parsingError("expected boundary after body");
}
body = input.subarray(position.position, boundaryIndex - 4);
position.position += body.length;
if (encoding === "base64") {
body = Buffer.from(body.toString(), "base64");
}
}
if (input[position.position] !== 13 || input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position.position += 2;
}
let value;
if (filename !== null) {
contentType ??= "text/plain";
if (!isAsciiString(contentType)) {
contentType = "";
}
value = new File([body], filename, { type: contentType });
} else {
value = decoderIgnoreBOM.decode(Buffer.from(body));
}
assert3(webidl.is.USVString(name));
assert3(typeof value === "string" && webidl.is.USVString(value) || webidl.is.File(value));
entryList.push(makeEntry(name, value, filename));
}
}
function parseContentDispositionAttribute(input, position) {
if (input[position.position] === 59) {
position.position++;
}
collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
const attributeName = collectASequenceOfBytes((char) => isToken(char) && char !== 61 && char !== 42, input, position);
if (attributeName.length === 0) {
return null;
}
const attrNameStr = attributeName.toString("ascii").toLowerCase();
const isExtended = input[position.position] === 42;
if (isExtended) {
position.position++;
}
if (input[position.position] !== 61) {
return null;
}
position.position++;
collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
let value;
if (isExtended) {
const headerValue = collectASequenceOfBytes((char) => char !== 32 && char !== 13 && char !== 10 && char !== 59, input, position);
if (headerValue[0] !== 117 && headerValue[0] !== 85 || headerValue[1] !== 116 && headerValue[1] !== 84 || headerValue[2] !== 102 && headerValue[2] !== 70 || headerValue[3] !== 45 || headerValue[4] !== 56) {
throw parsingError("unknown encoding, expected utf-8''");
}
value = decodeURIComponent(decoder.decode(headerValue.subarray(7)));
} else if (input[position.position] === 34) {
position.position++;
const quotedValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13 && char !== 34, input, position);
if (input[position.position] !== 34) {
throw parsingError("Closing quote not found");
}
position.position++;
value = decoder.decode(quotedValue).replace(/%0A/ig, `
`).replace(/%0D/ig, "\r").replace(/%22/g, '"');
} else {
const tokenValue = collectASequenceOfBytes((char) => isToken(char) && char !== 59, input, position);
value = decoder.decode(tokenValue);
}
return { name: attrNameStr, value };
}
function parseMultipartFormDataHeaders(input, position) {
let name = null;
let filename = null;
let contentType = null;
let encoding = null;
while (true) {
if (input[position.position] === 13 && input[position.position + 1] === 10) {
if (name === null) {
throw parsingError("header name is null");
}
return { name, filename, contentType, encoding };
}
let headerName = collectASequenceOfBytes((char) => char !== 10 && char !== 13 && char !== 58, input, position);
headerName = removeChars(headerName, true, true, (char) => char === 9 || char === 32);
if (!HTTP_TOKEN_CODEPOINTS.test(headerName.toString())) {
throw parsingError("header name does not match the field-name token production");
}
if (input[position.position] !== 58) {
throw parsingError("expected :");
}
position.position++;
collectASequenceOfBytes((char) => char === 32 || char === 9, input, position);
switch (bufferToLowerCasedHeaderName(headerName)) {
case "content-disposition": {
name = filename = null;
const dispositionType = collectASequenceOfBytes((char) => isToken(char), input, position);
if (dispositionType.toString("ascii").toLowerCase() !== "form-data") {
throw parsingError("expected form-data for content-disposition header");
}
while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) {
const attribute = parseContentDispositionAttribute(input, position);
if (!attribute) {
break;
}
if (attribute.name === "name") {
name = attribute.value;
} else if (attribute.name === "filename") {
filename = attribute.value;
}
}
if (name === null) {
throw parsingError("name attribute is required in content-disposition header");
}
break;
}
case "content-type": {
let headerValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
contentType = isomorphicDecode(headerValue);
break;
}
case "content-transfer-encoding": {
let headerValue = collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
headerValue = removeChars(headerValue, false, true, (char) => char === 9 || char === 32);
encoding = isomorphicDecode(headerValue);
break;
}
default: {
collectASequenceOfBytes((char) => char !== 10 && char !== 13, input, position);
}
}
if (input[position.position] !== 13 && input[position.position + 1] !== 10) {
throw parsingError("expected CRLF");
} else {
position.position += 2;
}
}
}
function collectASequenceOfBytes(condition, input, position) {
let start = position.position;
while (start < input.length && condition(input[start])) {
++start;
}
return input.subarray(position.position, position.position = start);
}
function removeChars(buf, leading, trailing, predicate) {
let lead = 0;
let trail = buf.length - 1;
if (leading) {
while (lead < buf.length && predicate(buf[lead]))
lead++;
}
if (trailing) {
while (trail > 0 && predicate(buf[trail]))
trail--;
}
return lead === 0 && trail === buf.length - 1 ? buf : buf.subarray(lead, trail + 1);
}
function bufferStartsWith(buffer, start, position) {
if (buffer.length < start.length) {
return false;
}
for (let i2 = 0;i2 < start.length; i2++) {
if (start[i2] !== buffer[position.position + i2]) {
return false;
}
}
return true;
}
function parsingError(cause) {
return new TypeError("Failed to parse body as FormData.", { cause: new TypeError(cause) });
}
function isCTL(char) {
return char <= 31 || char === 127;
}
function isTSpecial(char) {
return char === 40 || char === 41 || char === 60 || char === 62 || char === 64 || char === 44 || char === 59 || char === 58 || char === 92 || char === 34 || char === 47 || char === 91 || char === 93 || char === 63 || char === 61;
}
function isToken(char) {
return char <= 127 && char !== 32 && char !== 9 && !isCTL(char) && !isTSpecial(char);
}
module.exports = {
multipartFormDataParser,
validateBoundary
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/promise.js
var require_promise = __commonJS((exports, module) => {
function createDeferredPromise() {
let res;
let rej;
const promise2 = new Promise((resolve9, reject) => {
res = resolve9;
rej = reject;
});
return { promise: promise2, resolve: res, reject: rej };
}
module.exports = {
createDeferredPromise
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/body.js
var require_body = __commonJS((exports, module) => {
var util3 = require_util();
var {
ReadableStreamFrom: ReadableStreamFrom2,
readableStreamClose,
fullyReadBody,
extractMimeType
} = require_util2();
var { FormData: FormData3, setFormDataState } = require_formdata();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var { isErrored, isDisturbed } = __require("node:stream");
var { isUint8Array: isUint8Array2 } = __require("node:util/types");
var { serializeAMimeType } = require_data_url();
var { multipartFormDataParser } = require_formdata_parser();
var { createDeferredPromise } = require_promise();
var { parseJSONFromBytes } = require_infra();
var { utf8DecodeBytes } = require_encoding();
var { runtimeFeatures } = require_runtime_features();
var random = runtimeFeatures.has("crypto") ? __require("node:crypto").randomInt : (max) => Math.floor(Math.random() * max);
var textEncoder4 = new TextEncoder;
function noop7() {}
var streamRegistry = new FinalizationRegistry((weakRef) => {
const stream4 = weakRef.deref();
if (stream4 && !stream4.locked && !isDisturbed(stream4) && !isErrored(stream4)) {
stream4.cancel("Response object has been garbage collected").catch(noop7);
}
});
function extractBody(object2, keepalive = false) {
let stream4 = null;
let controller = null;
if (webidl.is.ReadableStream(object2)) {
stream4 = object2;
} else if (webidl.is.Blob(object2)) {
stream4 = object2.stream();
} else {
stream4 = new ReadableStream({
pull() {},
start(c5) {
controller = c5;
},
cancel() {},
type: "bytes"
});
}
assert3(webidl.is.ReadableStream(stream4));
let action = null;
let source = null;
let length = null;
let type = null;
if (typeof object2 === "string") {
source = object2;
type = "text/plain;charset=UTF-8";
} else if (webidl.is.URLSearchParams(object2)) {
source = object2.toString();
type = "application/x-www-form-urlencoded;charset=UTF-8";
} else if (webidl.is.BufferSource(object2)) {
source = webidl.util.getCopyOfBytesHeldByBufferSource(object2);
} else if (webidl.is.FormData(object2)) {
const boundary = `----formdata-undici-0${`${random(100000000000)}`.padStart(11, "0")}`;
const prefix = `--${boundary}\r
Content-Disposition: form-data`;
/*! formdata-polyfill. MIT License. Jimmy Wärting */
const formdataEscape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, `\r
`);
const blobParts = [];
const rn = new Uint8Array([13, 10]);
length = 0;
let hasUnknownSizeValue = false;
for (const [name, value] of object2) {
if (typeof value === "string") {
const chunk2 = textEncoder4.encode(prefix + `; name="${formdataEscape(normalizeLinefeeds(name))}"` + `\r
\r
${normalizeLinefeeds(value)}\r
`);
blobParts.push(chunk2);
length += chunk2.byteLength;
} else {
const chunk2 = textEncoder4.encode(`${prefix}; name="${formdataEscape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${formdataEscape(value.name)}"` : "") + `\r
` + `Content-Type: ${value.type || "application/octet-stream"}\r
\r
`);
blobParts.push(chunk2, value, rn);
if (typeof value.size === "number") {
length += chunk2.byteLength + value.size + rn.byteLength;
} else {
hasUnknownSizeValue = true;
}
}
}
const chunk = textEncoder4.encode(`--${boundary}--\r
`);
blobParts.push(chunk);
length += chunk.byteLength;
if (hasUnknownSizeValue) {
length = null;
}
source = object2;
action = async function* () {
for (const part of blobParts) {
if (part.stream) {
yield* part.stream();
} else {
yield part;
}
}
};
type = `multipart/form-data; boundary=${boundary}`;
} else if (webidl.is.Blob(object2)) {
source = object2;
length = object2.size;
if (object2.type) {
type = object2.type;
}
} else if (typeof object2[Symbol.asyncIterator] === "function") {
if (keepalive) {
throw new TypeError("keepalive");
}
if (util3.isDisturbed(object2) || object2.locked) {
throw new TypeError("Response body object should not be disturbed or locked");
}
stream4 = webidl.is.ReadableStream(object2) ? object2 : ReadableStreamFrom2(object2);
}
if (typeof source === "string" || isUint8Array2(source)) {
action = () => {
length = typeof source === "string" ? Buffer.byteLength(source) : source.length;
return source;
};
}
if (action != null) {
(async () => {
const result = action();
const iterator2 = result?.[Symbol.asyncIterator]?.();
if (iterator2) {
for await (const bytes of iterator2) {
if (isErrored(stream4))
break;
if (bytes.length) {
controller.enqueue(new Uint8Array(bytes));
}
}
} else if (result?.length && !isErrored(stream4)) {
controller.enqueue(typeof result === "string" ? textEncoder4.encode(result) : new Uint8Array(result));
}
queueMicrotask(() => readableStreamClose(controller));
})();
}
const body = { stream: stream4, source, length };
return [body, type];
}
function safelyExtractBody(object2, keepalive = false) {
if (webidl.is.ReadableStream(object2)) {
assert3(!util3.isDisturbed(object2), "The body has already been consumed.");
assert3(!object2.locked, "The stream is locked.");
}
return extractBody(object2, keepalive);
}
function cloneBody(body) {
const { 0: out1, 1: out2 } = body.stream.tee();
body.stream = out1;
return {
stream: out2,
length: body.length,
source: body.source
};
}
function bodyMixinMethods(instance, getInternalState) {
const methods = {
blob() {
return consumeBody(this, (bytes) => {
let mimeType = bodyMimeType(getInternalState(this));
if (mimeType === null) {
mimeType = "";
} else if (mimeType) {
mimeType = serializeAMimeType(mimeType);
}
return new Blob([bytes], { type: mimeType });
}, instance, getInternalState);
},
arrayBuffer() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes).buffer;
}, instance, getInternalState);
},
text() {
return consumeBody(this, utf8DecodeBytes, instance, getInternalState);
},
json() {
return consumeBody(this, parseJSONFromBytes, instance, getInternalState);
},
formData() {
return consumeBody(this, (value) => {
const mimeType = bodyMimeType(getInternalState(this));
if (mimeType !== null) {
switch (mimeType.essence) {
case "multipart/form-data": {
const parsed = multipartFormDataParser(value, mimeType);
const fd = new FormData3;
setFormDataState(fd, parsed);
return fd;
}
case "application/x-www-form-urlencoded": {
const entries = new URLSearchParams(value.toString());
const fd = new FormData3;
for (const [name, value2] of entries) {
fd.append(name, value2);
}
return fd;
}
}
}
throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".');
}, instance, getInternalState);
},
bytes() {
return consumeBody(this, (bytes) => {
return new Uint8Array(bytes);
}, instance, getInternalState);
}
};
return methods;
}
function mixinBody(prototype2, getInternalState) {
Object.assign(prototype2.prototype, bodyMixinMethods(prototype2, getInternalState));
}
function consumeBody(object2, convertBytesToJSValue, instance, getInternalState) {
try {
webidl.brandCheck(object2, instance);
} catch (e) {
return Promise.reject(e);
}
object2 = getInternalState(object2);
if (bodyUnusable(object2)) {
return Promise.reject(new TypeError("Body is unusable: Body has already been read"));
}
const promise2 = createDeferredPromise();
const errorSteps = promise2.reject;
const successSteps = (data) => {
try {
promise2.resolve(convertBytesToJSValue(data));
} catch (e) {
errorSteps(e);
}
};
if (object2.body == null) {
successSteps(Buffer.allocUnsafe(0));
return promise2.promise;
}
fullyReadBody(object2.body, successSteps, errorSteps);
return promise2.promise;
}
function bodyUnusable(object2) {
const body = object2.body;
return body != null && (body.stream.locked || util3.isDisturbed(body.stream));
}
function bodyMimeType(requestOrResponse) {
const headers = requestOrResponse.headersList;
const mimeType = extractMimeType(headers);
if (mimeType === "failure") {
return null;
}
return mimeType;
}
module.exports = {
extractBody,
safelyExtractBody,
cloneBody,
mixinBody,
streamRegistry,
bodyUnusable
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/client-h1.js
var require_client_h1 = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var util3 = require_util();
var { channels } = require_diagnostics();
var timers = require_timers();
var {
RequestContentLengthMismatchError,
ResponseContentLengthMismatchError,
RequestAbortedError,
HeadersTimeoutError,
HeadersOverflowError,
SocketError,
InformationalError,
BodyTimeoutError,
HTTPParserError,
ResponseExceededMaxSizeError
} = require_errors();
var {
kUrl,
kReset,
kClient,
kParser,
kBlocking,
kRunning,
kPending,
kSize,
kWriting,
kQueue,
kNoRef,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kSocket,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kMaxRequests,
kCounter,
kMaxResponseSize,
kOnError,
kResume,
kHTTPContext,
kClosed
} = require_symbols();
var constants4 = require_constants3();
var EMPTY_BUF = Buffer.alloc(0);
var FastBuffer = Buffer[Symbol.species];
var removeAllListeners = util3.removeAllListeners;
var extractBody;
function lazyllhttp() {
const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : undefined;
let mod2;
let useWasmSIMD = process.arch !== "ppc64";
if (process.env.UNDICI_NO_WASM_SIMD === "1") {
useWasmSIMD = true;
} else if (process.env.UNDICI_NO_WASM_SIMD === "0") {
useWasmSIMD = false;
}
if (useWasmSIMD) {
try {
mod2 = new WebAssembly.Module(require_llhttp_simd_wasm());
} catch {}
}
if (!mod2) {
mod2 = new WebAssembly.Module(llhttpWasmData || require_llhttp_wasm());
}
return new WebAssembly.Instance(mod2, {
env: {
wasm_on_url: (p, at, len) => {
return 0;
},
wasm_on_status: (p, at, len) => {
assert3(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len));
},
wasm_on_message_begin: (p) => {
assert3(currentParser.ptr === p);
return currentParser.onMessageBegin();
},
wasm_on_header_field: (p, at, len) => {
assert3(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len));
},
wasm_on_header_value: (p, at, len) => {
assert3(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len));
},
wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
assert3(currentParser.ptr === p);
return currentParser.onHeadersComplete(statusCode, upgrade === 1, shouldKeepAlive === 1);
},
wasm_on_body: (p, at, len) => {
assert3(currentParser.ptr === p);
const start = at - currentBufferPtr + currentBufferRef.byteOffset;
return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len));
},
wasm_on_message_complete: (p) => {
assert3(currentParser.ptr === p);
return currentParser.onMessageComplete();
}
}
});
}
var llhttpInstance = null;
var currentParser = null;
var currentBufferRef = null;
var currentBufferSize = 0;
var currentBufferPtr = null;
var USE_NATIVE_TIMER = 0;
var USE_FAST_TIMER = 1;
var TIMEOUT_HEADERS = 2 | USE_FAST_TIMER;
var TIMEOUT_BODY = 4 | USE_FAST_TIMER;
var TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER;
class Parser {
constructor(client, socket, { exports: exports2 }) {
this.llhttp = exports2;
this.ptr = this.llhttp.llhttp_alloc(constants4.TYPE.RESPONSE);
this.client = client;
this.socket = socket;
this.timeout = null;
this.timeoutValue = null;
this.timeoutType = null;
this.statusCode = 0;
this.statusText = "";
this.upgrade = false;
this.headers = [];
this.headersSize = 0;
this.headersMaxSize = client[kMaxHeadersSize];
this.shouldKeepAlive = false;
this.paused = false;
this.resume = this.resume.bind(this);
this.bytesRead = 0;
this.keepAlive = "";
this.contentLength = "";
this.connection = "";
this.maxResponseSize = client[kMaxResponseSize];
}
setTimeout(delay, type) {
if (delay !== this.timeoutValue || type & USE_FAST_TIMER ^ this.timeoutType & USE_FAST_TIMER) {
if (this.timeout) {
timers.clearTimeout(this.timeout);
this.timeout = null;
}
if (delay) {
if (type & USE_FAST_TIMER) {
this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this));
} else {
this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this));
this.timeout?.unref();
}
}
this.timeoutValue = delay;
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.timeoutType = type;
}
resume() {
if (this.socket.destroyed || !this.paused) {
return;
}
assert3(this.ptr != null);
assert3(currentParser === null);
this.llhttp.llhttp_resume(this.ptr);
assert3(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
this.paused = false;
this.execute(this.socket.read() || EMPTY_BUF);
this.readMore();
}
readMore() {
while (!this.paused && this.ptr) {
const chunk = this.socket.read();
if (chunk === null) {
break;
}
this.execute(chunk);
}
}
execute(chunk) {
assert3(currentParser === null);
assert3(this.ptr != null);
assert3(!this.paused);
const { socket, llhttp } = this;
if (chunk.length > currentBufferSize) {
if (currentBufferPtr) {
llhttp.free(currentBufferPtr);
}
currentBufferSize = Math.ceil(chunk.length / 4096) * 4096;
currentBufferPtr = llhttp.malloc(currentBufferSize);
}
new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(chunk);
try {
let ret;
try {
currentBufferRef = chunk;
currentParser = this;
ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, chunk.length);
} finally {
currentParser = null;
currentBufferRef = null;
}
if (ret !== constants4.ERROR.OK) {
const data = chunk.subarray(llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr);
if (ret === constants4.ERROR.PAUSED_UPGRADE) {
this.onUpgrade(data);
} else if (ret === constants4.ERROR.PAUSED) {
this.paused = true;
socket.unshift(data);
} else {
const ptr = llhttp.llhttp_get_error_reason(this.ptr);
let message = "";
if (ptr) {
const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
}
throw new HTTPParserError(message, constants4.ERROR[ret], data);
}
}
} catch (err) {
util3.destroy(socket, err);
}
}
destroy() {
assert3(currentParser === null);
assert3(this.ptr != null);
this.llhttp.llhttp_free(this.ptr);
this.ptr = null;
this.timeout && timers.clearTimeout(this.timeout);
this.timeout = null;
this.timeoutValue = null;
this.timeoutType = null;
this.paused = false;
}
onStatus(buf) {
this.statusText = buf.toString();
return 0;
}
onMessageBegin() {
const { socket, client } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
request.onResponseStarted();
return 0;
}
onHeaderField(buf) {
const len = this.headers.length;
if ((len & 1) === 0) {
this.headers.push(buf);
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
this.trackHeader(buf.length);
return 0;
}
onHeaderValue(buf) {
let len = this.headers.length;
if ((len & 1) === 1) {
this.headers.push(buf);
len += 1;
} else {
this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
}
const key = this.headers[len - 2];
if (key.length === 10) {
const headerName = util3.bufferToLowerCasedHeaderName(key);
if (headerName === "keep-alive") {
this.keepAlive += buf.toString();
} else if (headerName === "connection") {
this.connection += buf.toString();
}
} else if (key.length === 14 && util3.bufferToLowerCasedHeaderName(key) === "content-length") {
this.contentLength += buf.toString();
}
this.trackHeader(buf.length);
return 0;
}
trackHeader(len) {
this.headersSize += len;
if (this.headersSize >= this.headersMaxSize) {
util3.destroy(this.socket, new HeadersOverflowError);
}
}
onUpgrade(head) {
const { upgrade, client, socket, headers, statusCode } = this;
assert3(upgrade);
assert3(client[kSocket] === socket);
assert3(!socket.destroyed);
assert3(!this.paused);
assert3((headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
assert3(request.upgrade || request.method === "CONNECT");
this.statusCode = 0;
this.statusText = "";
this.shouldKeepAlive = false;
this.headers = [];
this.headersSize = 0;
socket.unshift(head);
socket[kParser].destroy();
socket[kParser] = null;
socket[kClient] = null;
socket[kError] = null;
removeAllListeners(socket);
client[kSocket] = null;
client[kHTTPContext] = null;
client[kQueue][client[kRunningIdx]++] = null;
client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
try {
request.onUpgrade(statusCode, headers, socket);
} catch (err) {
util3.destroy(socket, err);
}
client[kResume]();
}
onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
const { client, socket, headers, statusText } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
if (!request) {
return -1;
}
assert3(!this.upgrade);
assert3(this.statusCode < 200);
if (statusCode === 100) {
util3.destroy(socket, new SocketError("bad response", util3.getSocketInfo(socket)));
return -1;
}
if (upgrade && !request.upgrade) {
util3.destroy(socket, new SocketError("bad upgrade", util3.getSocketInfo(socket)));
return -1;
}
assert3(this.timeoutType === TIMEOUT_HEADERS);
this.statusCode = statusCode;
this.shouldKeepAlive = shouldKeepAlive || request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
if (this.statusCode >= 200) {
const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];
this.setTimeout(bodyTimeout, TIMEOUT_BODY);
} else if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
if (request.method === "CONNECT") {
assert3(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
if (upgrade) {
assert3(client[kRunning] === 1);
this.upgrade = true;
return 2;
}
assert3((this.headers.length & 1) === 0);
this.headers = [];
this.headersSize = 0;
if (this.shouldKeepAlive && client[kPipelining]) {
const keepAliveTimeout = this.keepAlive ? util3.parseKeepAliveTimeout(this.keepAlive) : null;
if (keepAliveTimeout != null) {
const timeout = Math.min(keepAliveTimeout - client[kKeepAliveTimeoutThreshold], client[kKeepAliveMaxTimeout]);
if (timeout <= 0) {
socket[kReset] = true;
} else {
client[kKeepAliveTimeoutValue] = timeout;
}
} else {
client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
}
} else {
socket[kReset] = true;
}
const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;
if (request.aborted) {
return -1;
}
if (request.method === "HEAD") {
return 1;
}
if (statusCode < 200) {
return 1;
}
if (socket[kBlocking]) {
socket[kBlocking] = false;
client[kResume]();
}
return pause ? constants4.ERROR.PAUSED : 0;
}
onBody(buf) {
const { client, socket, statusCode, maxResponseSize } = this;
if (socket.destroyed) {
return -1;
}
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
assert3(this.timeoutType === TIMEOUT_BODY);
if (this.timeout) {
if (this.timeout.refresh) {
this.timeout.refresh();
}
}
assert3(statusCode >= 200);
if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
util3.destroy(socket, new ResponseExceededMaxSizeError);
return -1;
}
this.bytesRead += buf.length;
if (request.onData(buf) === false) {
return constants4.ERROR.PAUSED;
}
return 0;
}
onMessageComplete() {
const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
return -1;
}
if (upgrade) {
return 0;
}
assert3(statusCode >= 100);
assert3((this.headers.length & 1) === 0);
const request = client[kQueue][client[kRunningIdx]];
assert3(request);
this.statusCode = 0;
this.statusText = "";
this.bytesRead = 0;
this.contentLength = "";
this.keepAlive = "";
this.connection = "";
this.headers = [];
this.headersSize = 0;
if (statusCode < 200) {
return 0;
}
if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
util3.destroy(socket, new ResponseContentLengthMismatchError);
return -1;
}
request.onComplete(headers);
client[kQueue][client[kRunningIdx]++] = null;
if (socket[kWriting]) {
assert3(client[kRunning] === 0);
util3.destroy(socket, new InformationalError("reset"));
return constants4.ERROR.PAUSED;
} else if (!shouldKeepAlive) {
util3.destroy(socket, new InformationalError("reset"));
return constants4.ERROR.PAUSED;
} else if (socket[kReset] && client[kRunning] === 0) {
util3.destroy(socket, new InformationalError("reset"));
return constants4.ERROR.PAUSED;
} else if (client[kPipelining] == null || client[kPipelining] === 1) {
setImmediate(client[kResume]);
} else {
client[kResume]();
}
return 0;
}
}
function onParserTimeout(parserWeakRef) {
const parser = parserWeakRef.deref();
if (!parser) {
return;
}
const { socket, timeoutType, client, paused } = parser;
if (timeoutType === TIMEOUT_HEADERS) {
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
assert3(!paused, "cannot be paused while waiting for headers");
util3.destroy(socket, new HeadersTimeoutError);
}
} else if (timeoutType === TIMEOUT_BODY) {
if (!paused) {
util3.destroy(socket, new BodyTimeoutError);
}
} else if (timeoutType === TIMEOUT_KEEP_ALIVE) {
assert3(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
util3.destroy(socket, new InformationalError("socket idle timeout"));
}
}
function connectH1(client, socket) {
client[kSocket] = socket;
if (!llhttpInstance) {
llhttpInstance = lazyllhttp();
}
if (socket.errored) {
throw socket.errored;
}
if (socket.destroyed) {
throw new SocketError("destroyed");
}
socket[kNoRef] = false;
socket[kWriting] = false;
socket[kReset] = false;
socket[kBlocking] = false;
socket[kParser] = new Parser(client, socket, llhttpInstance);
util3.addListener(socket, "error", onHttpSocketError);
util3.addListener(socket, "readable", onHttpSocketReadable);
util3.addListener(socket, "end", onHttpSocketEnd);
util3.addListener(socket, "close", onHttpSocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h1",
defaultPipelining: 1,
write(request) {
return writeH1(client, request);
},
resume() {
resumeH1(client);
},
destroy(err, callback) {
if (socket[kClosed]) {
queueMicrotask(callback);
} else {
socket.on("close", callback);
socket.destroy(err);
}
},
get destroyed() {
return socket.destroyed;
},
busy(request) {
if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
return true;
}
if (request) {
if (client[kRunning] > 0 && !request.idempotent) {
return true;
}
if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {
return true;
}
if (client[kRunning] > 0 && util3.bodyLength(request.body) !== 0 && (util3.isStream(request.body) || util3.isAsyncIterable(request.body) || util3.isFormDataLike(request.body))) {
return true;
}
}
return false;
}
};
}
function onHttpSocketError(err) {
assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
const parser = this[kParser];
if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
parser.onMessageComplete();
return;
}
this[kError] = err;
this[kClient][kOnError](err);
}
function onHttpSocketReadable() {
this[kParser]?.readMore();
}
function onHttpSocketEnd() {
const parser = this[kParser];
if (parser.statusCode && !parser.shouldKeepAlive) {
parser.onMessageComplete();
return;
}
util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this)));
}
function onHttpSocketClose() {
const parser = this[kParser];
if (parser) {
if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
parser.onMessageComplete();
}
this[kParser].destroy();
this[kParser] = null;
}
const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (client.destroyed) {
assert3(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i2 = 0;i2 < requests.length; i2++) {
const request = requests[i2];
util3.errorRequest(client, request, err);
}
} else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util3.errorRequest(client, request, err);
}
client[kPendingIdx] = client[kRunningIdx];
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err);
client[kResume]();
}
function onSocketClose() {
this[kClosed] = true;
}
function resumeH1(client) {
const socket = client[kSocket];
if (socket && !socket.destroyed) {
if (client[kSize] === 0) {
if (!socket[kNoRef] && socket.unref) {
socket.unref();
socket[kNoRef] = true;
}
} else if (socket[kNoRef] && socket.ref) {
socket.ref();
socket[kNoRef] = false;
}
if (client[kSize] === 0) {
if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
}
} else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
const request = client[kQueue][client[kRunningIdx]];
const headersTimeout = request.headersTimeout != null ? request.headersTimeout : client[kHeadersTimeout];
socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
}
}
}
}
function shouldSendContentLength(method) {
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
}
function writeH1(client, request) {
const { method, path: path9, host, upgrade, blocking, reset: reset2 } = request;
let { body, headers, contentLength } = request;
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
if (util3.isFormDataLike(body)) {
if (!extractBody) {
extractBody = require_body().extractBody;
}
const [bodyStream, contentType] = extractBody(body);
if (request.contentType == null) {
headers.push("content-type", contentType);
}
body = bodyStream.stream;
contentLength = bodyStream.length;
} else if (util3.isBlobLike(body) && request.contentType == null && body.type) {
headers.push("content-type", body.type);
}
if (body && typeof body.read === "function") {
body.read(0);
}
const bodyLength = util3.bodyLength(body);
contentLength = bodyLength ?? contentLength;
if (contentLength === null) {
contentLength = request.contentLength;
}
if (contentLength === 0 && !expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util3.errorRequest(client, request, new RequestContentLengthMismatchError);
return false;
}
process.emitWarning(new RequestContentLengthMismatchError);
}
const socket = client[kSocket];
const abort = (err) => {
if (request.aborted || request.completed) {
return;
}
util3.errorRequest(client, request, err || new RequestAbortedError);
util3.destroy(body);
util3.destroy(socket, new InformationalError("aborted"));
};
try {
request.onConnect(abort);
} catch (err) {
util3.errorRequest(client, request, err);
}
if (request.aborted) {
return false;
}
if (method === "HEAD") {
socket[kReset] = true;
}
if (upgrade || method === "CONNECT") {
socket[kReset] = true;
}
if (reset2 != null) {
socket[kReset] = reset2;
}
if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
socket[kReset] = true;
}
if (blocking) {
socket[kBlocking] = true;
}
if (socket.setTypeOfService) {
socket.setTypeOfService(request.typeOfService);
}
let header = `${method} ${path9} HTTP/1.1\r
`;
if (typeof host === "string") {
header += `host: ${host}\r
`;
} else {
header += client[kHostHeader];
}
if (upgrade) {
header += `connection: upgrade\r
upgrade: ${upgrade}\r
`;
} else if (client[kPipelining] && !socket[kReset]) {
header += `connection: keep-alive\r
`;
} else {
header += `connection: close\r
`;
}
if (Array.isArray(headers)) {
for (let n2 = 0;n2 < headers.length; n2 += 2) {
const key = headers[n2 + 0];
const val = headers[n2 + 1];
if (Array.isArray(val)) {
for (let i2 = 0;i2 < val.length; i2++) {
header += `${key}: ${val[i2]}\r
`;
}
} else {
header += `${key}: ${val}\r
`;
}
}
}
if (channels.sendHeaders.hasSubscribers) {
channels.sendHeaders.publish({ request, headers: header, socket });
}
if (!body || bodyLength === 0) {
writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload);
} else if (util3.isBuffer(body)) {
writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else if (util3.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload);
} else {
writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload);
}
} else if (util3.isStream(body)) {
writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else if (util3.isIterable(body)) {
writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload);
} else {
assert3(false);
}
return true;
}
function writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
let finished7 = false;
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header });
const onData = function(chunk) {
if (finished7) {
return;
}
try {
if (!writer.write(chunk) && this.pause) {
this.pause();
}
} catch (err) {
util3.destroy(this, err);
}
};
const onDrain = function() {
if (finished7) {
return;
}
if (body.resume) {
body.resume();
}
};
const onClose = function() {
queueMicrotask(() => {
body.removeListener("error", onFinished);
});
if (!finished7) {
const err = new RequestAbortedError;
queueMicrotask(() => onFinished(err));
}
};
const onFinished = function(err) {
if (finished7) {
return;
}
finished7 = true;
assert3(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
socket.off("drain", onDrain).off("error", onFinished);
body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
if (!err) {
try {
writer.end();
} catch (er) {
err = er;
}
}
writer.destroy(err);
if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
util3.destroy(body, err);
} else {
util3.destroy(body);
}
};
body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
if (body.resume) {
body.resume();
}
socket.on("drain", onDrain).on("error", onFinished);
if (body.errorEmitted ?? body.errored) {
setImmediate(onFinished, body.errored);
} else if (body.endEmitted ?? body.readableEnded) {
setImmediate(onFinished, null);
}
if (body.closeEmitted ?? body.closed) {
setImmediate(onClose);
}
}
function writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload) {
try {
if (!body) {
if (contentLength === 0) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
assert3(contentLength === null, "no body must not have content length");
socket.write(`${header}\r
`, "latin1");
}
} else if (util3.isBuffer(body)) {
assert3(contentLength === body.byteLength, "buffer body must have content length");
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(body);
socket.uncork();
request.onBodySent(body);
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
}
request.onRequestSent();
client[kResume]();
} catch (err) {
abort(err);
}
}
async function writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
throw new RequestContentLengthMismatchError;
}
const buffer = Buffer.from(await body.arrayBuffer());
socket.cork();
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
socket.write(buffer);
socket.uncork();
request.onBodySent(buffer);
request.onRequestSent();
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
client[kResume]();
} catch (err) {
abort(err);
}
}
async function writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
if (callback) {
const cb = callback;
callback = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve9, reject) => {
assert3(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
callback = resolve9;
}
});
socket.on("close", onDrain).on("drain", onDrain);
const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header });
try {
for await (const chunk of body) {
if (socket[kError]) {
throw socket[kError];
}
if (!writer.write(chunk)) {
await waitForDrain();
}
}
writer.end();
} catch (err) {
writer.destroy(err);
} finally {
socket.off("close", onDrain).off("drain", onDrain);
}
}
class AsyncWriter {
constructor({ abort, socket, request, contentLength, client, expectsPayload, header }) {
this.socket = socket;
this.request = request;
this.contentLength = contentLength;
this.client = client;
this.bytesWritten = 0;
this.expectsPayload = expectsPayload;
this.header = header;
this.abort = abort;
socket[kWriting] = true;
}
write(chunk) {
const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return false;
}
const len = Buffer.byteLength(chunk);
if (!len) {
return true;
}
if (contentLength !== null && bytesWritten + len > contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError;
}
process.emitWarning(new RequestContentLengthMismatchError);
}
socket.cork();
if (bytesWritten === 0) {
if (!expectsPayload && request.reset !== false) {
socket[kReset] = true;
}
if (contentLength === null) {
socket.write(`${header}transfer-encoding: chunked\r
`, "latin1");
} else {
socket.write(`${header}content-length: ${contentLength}\r
\r
`, "latin1");
}
}
if (contentLength === null) {
socket.write(`\r
${len.toString(16)}\r
`, "latin1");
}
this.bytesWritten += len;
const ret = socket.write(chunk);
socket.uncork();
request.onBodySent(chunk);
if (!ret) {
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
}
return ret;
}
end() {
const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;
request.onRequestSent();
socket[kWriting] = false;
if (socket[kError]) {
throw socket[kError];
}
if (socket.destroyed) {
return;
}
if (bytesWritten === 0) {
if (expectsPayload) {
socket.write(`${header}content-length: 0\r
\r
`, "latin1");
} else {
socket.write(`${header}\r
`, "latin1");
}
} else if (contentLength === null) {
socket.write(`\r
0\r
\r
`, "latin1");
}
if (contentLength !== null && bytesWritten !== contentLength) {
if (client[kStrictContentLength]) {
throw new RequestContentLengthMismatchError;
} else {
process.emitWarning(new RequestContentLengthMismatchError);
}
}
if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
if (socket[kParser].timeout.refresh) {
socket[kParser].timeout.refresh();
}
}
client[kResume]();
}
destroy(err) {
const { socket, client, abort } = this;
socket[kWriting] = false;
if (err) {
assert3(client[kRunning] <= 1, "pipeline should only contain this request");
abort(err);
}
}
}
module.exports = connectH1;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/client-h2.js
var require_client_h2 = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { pipeline } = __require("node:stream");
var util3 = require_util();
var {
RequestContentLengthMismatchError,
RequestAbortedError,
SocketError,
InformationalError,
InvalidArgumentError: InvalidArgumentError2
} = require_errors();
var {
kUrl,
kReset,
kClient,
kRunning,
kPending,
kQueue,
kPendingIdx,
kRunningIdx,
kError,
kSocket,
kStrictContentLength,
kOnError,
kMaxConcurrentStreams,
kPingInterval,
kHTTP2Session,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kSize,
kHTTPContext,
kClosed,
kBodyTimeout,
kEnableConnectProtocol,
kRemoteSettings,
kHTTP2Stream,
kHTTP2SessionState
} = require_symbols();
var { channels } = require_diagnostics();
var kOpenStreams = Symbol("open streams");
var extractBody;
var http22;
try {
http22 = __require("node:http2");
} catch {
http22 = { constants: {} };
}
var {
constants: {
HTTP2_HEADER_AUTHORITY,
HTTP2_HEADER_METHOD,
HTTP2_HEADER_PATH,
HTTP2_HEADER_SCHEME,
HTTP2_HEADER_CONTENT_LENGTH,
HTTP2_HEADER_EXPECT,
HTTP2_HEADER_STATUS,
HTTP2_HEADER_PROTOCOL,
NGHTTP2_REFUSED_STREAM,
NGHTTP2_CANCEL
}
} = http22;
function parseH2Headers(headers) {
const result = [];
for (const [name, value] of Object.entries(headers)) {
if (Array.isArray(value)) {
for (const subvalue of value) {
result.push(Buffer.from(name), Buffer.from(subvalue));
}
} else {
result.push(Buffer.from(name), Buffer.from(value));
}
}
return result;
}
function connectH2(client, socket) {
client[kSocket] = socket;
const http2InitialWindowSize = client[kHTTP2InitialWindowSize];
const http2ConnectionWindowSize = client[kHTTP2ConnectionWindowSize];
const session = http22.connect(client[kUrl], {
createConnection: () => socket,
peerMaxConcurrentStreams: client[kMaxConcurrentStreams],
settings: {
enablePush: false,
...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null
}
});
client[kSocket] = socket;
session[kOpenStreams] = 0;
session[kClient] = client;
session[kSocket] = socket;
session[kHTTP2SessionState] = {
ping: {
interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref()
}
};
session[kEnableConnectProtocol] = false;
session[kRemoteSettings] = false;
if (http2ConnectionWindowSize) {
util3.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize));
}
util3.addListener(session, "error", onHttp2SessionError);
util3.addListener(session, "frameError", onHttp2FrameError);
util3.addListener(session, "end", onHttp2SessionEnd);
util3.addListener(session, "goaway", onHttp2SessionGoAway);
util3.addListener(session, "close", onHttp2SessionClose);
util3.addListener(session, "remoteSettings", onHttp2RemoteSettings);
session.unref();
client[kHTTP2Session] = session;
socket[kHTTP2Session] = session;
util3.addListener(socket, "error", onHttp2SocketError);
util3.addListener(socket, "end", onHttp2SocketEnd);
util3.addListener(socket, "close", onHttp2SocketClose);
socket[kClosed] = false;
socket.on("close", onSocketClose);
return {
version: "h2",
defaultPipelining: Infinity,
write(request) {
return writeH2(client, request);
},
resume() {
resumeH2(client);
},
destroy(err, callback) {
if (socket[kClosed]) {
queueMicrotask(callback);
} else {
socket.destroy(err).on("close", callback);
}
},
get destroyed() {
return socket.destroyed;
},
busy(request) {
if (request != null) {
if (client[kRunning] > 0) {
if (request.idempotent === false)
return true;
if ((request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false)
return true;
if (util3.bodyLength(request.body) !== 0 && (util3.isStream(request.body) || util3.isAsyncIterable(request.body) || util3.isFormDataLike(request.body)))
return true;
} else {
return (request.upgrade === "websocket" || request.method === "CONNECT") && session[kRemoteSettings] === false;
}
}
return false;
}
};
}
function resumeH2(client) {
const socket = client[kSocket];
if (socket?.destroyed === false) {
if (client[kSize] === 0 || client[kMaxConcurrentStreams] === 0) {
socket.unref();
client[kHTTP2Session].unref();
} else {
socket.ref();
client[kHTTP2Session].ref();
}
}
}
function applyConnectionWindowSize(connectionWindowSize) {
try {
if (typeof this.setLocalWindowSize === "function") {
this.setLocalWindowSize(connectionWindowSize);
}
} catch {}
}
function onHttp2RemoteSettings(settings) {
this[kClient][kMaxConcurrentStreams] = settings.maxConcurrentStreams ?? this[kClient][kMaxConcurrentStreams];
if (this[kRemoteSettings] === true && this[kEnableConnectProtocol] === true && settings.enableConnectProtocol === false) {
const err = new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");
this[kSocket][kError] = err;
this[kClient][kOnError](err);
return;
}
this[kEnableConnectProtocol] = settings.enableConnectProtocol ?? this[kEnableConnectProtocol];
this[kRemoteSettings] = true;
this[kClient][kResume]();
}
function onHttp2SendPing(session) {
const state = session[kHTTP2SessionState];
if ((session.closed || session.destroyed) && state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
return;
}
session.ping(onPing.bind(session));
function onPing(err, duration3) {
const client = this[kClient];
const socket = this[kClient];
if (err != null) {
const error49 = new InformationalError(`HTTP/2: "PING" errored - type ${err.message}`);
socket[kError] = error49;
client[kOnError](error49);
} else {
client.emit("ping", duration3);
}
}
}
function onHttp2SessionError(err) {
assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kSocket][kError] = err;
this[kClient][kOnError](err);
}
function onHttp2FrameError(type, code, id) {
if (id === 0) {
const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`);
this[kSocket][kError] = err;
this[kClient][kOnError](err);
}
}
function onHttp2SessionEnd() {
const err = new SocketError("other side closed", util3.getSocketInfo(this[kSocket]));
this.destroy(err);
util3.destroy(this[kSocket], err);
}
function onHttp2SessionGoAway(errorCode) {
const err = this[kError] || new SocketError(`HTTP/2: "GOAWAY" frame received with code ${errorCode}`, util3.getSocketInfo(this[kSocket]));
const client = this[kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
this.close();
this[kHTTP2Session] = null;
util3.destroy(this[kSocket], err);
if (client[kRunningIdx] < client[kQueue].length) {
const request = client[kQueue][client[kRunningIdx]];
client[kQueue][client[kRunningIdx]++] = null;
util3.errorRequest(client, request, err);
client[kPendingIdx] = client[kRunningIdx];
}
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err);
client.emit("connectionError", client[kUrl], [client], err);
client[kResume]();
}
function onHttp2SessionClose() {
const { [kClient]: client, [kHTTP2SessionState]: state } = this;
const { [kSocket]: socket } = client;
const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util3.getSocketInfo(socket));
client[kSocket] = null;
client[kHTTPContext] = null;
if (state.ping.interval != null) {
clearInterval(state.ping.interval);
state.ping.interval = null;
}
if (client.destroyed) {
assert3(client[kPending] === 0);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i2 = 0;i2 < requests.length; i2++) {
const request = requests[i2];
util3.errorRequest(client, request, err);
}
}
}
function onHttp2SocketClose() {
const err = this[kError] || new SocketError("closed", util3.getSocketInfo(this));
const client = this[kHTTP2Session][kClient];
client[kSocket] = null;
client[kHTTPContext] = null;
if (this[kHTTP2Session] !== null) {
this[kHTTP2Session].destroy(err);
}
client[kPendingIdx] = client[kRunningIdx];
assert3(client[kRunning] === 0);
client.emit("disconnect", client[kUrl], [client], err);
client[kResume]();
}
function onHttp2SocketError(err) {
assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
this[kError] = err;
this[kClient][kOnError](err);
}
function onHttp2SocketEnd() {
util3.destroy(this, new SocketError("other side closed", util3.getSocketInfo(this)));
}
function onSocketClose() {
this[kClosed] = true;
}
function shouldSendContentLength(method) {
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
}
function writeH2(client, request) {
const requestTimeout = request.bodyTimeout ?? client[kBodyTimeout];
const session = client[kHTTP2Session];
const { method, path: path9, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request;
let { body } = request;
if (upgrade != null && upgrade !== "websocket") {
util3.errorRequest(client, request, new InvalidArgumentError2(`Custom upgrade "${upgrade}" not supported over HTTP/2`));
return false;
}
const headers = {};
for (let n2 = 0;n2 < reqHeaders.length; n2 += 2) {
const key = reqHeaders[n2 + 0];
const val = reqHeaders[n2 + 1];
if (key === "cookie") {
if (headers[key] != null) {
headers[key] = Array.isArray(headers[key]) ? (headers[key].push(val), headers[key]) : [headers[key], val];
} else {
headers[key] = val;
}
continue;
}
if (Array.isArray(val)) {
for (let i2 = 0;i2 < val.length; i2++) {
if (headers[key]) {
headers[key] += `, ${val[i2]}`;
} else {
headers[key] = val[i2];
}
}
} else if (headers[key]) {
headers[key] += `, ${val}`;
} else {
headers[key] = val;
}
}
let stream4 = null;
const { hostname: hostname3, port } = client[kUrl];
headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname3}${port ? `:${port}` : ""}`;
headers[HTTP2_HEADER_METHOD] = method;
const abort = (err) => {
if (request.aborted || request.completed) {
return;
}
err = err || new RequestAbortedError;
util3.errorRequest(client, request, err);
if (stream4 != null) {
stream4.removeAllListeners("data");
stream4.close();
client[kOnError](err);
client[kResume]();
}
util3.destroy(body, err);
};
try {
request.onConnect(abort);
} catch (err) {
util3.errorRequest(client, request, err);
}
if (request.aborted) {
return false;
}
if (upgrade || method === "CONNECT") {
session.ref();
if (upgrade === "websocket") {
if (session[kEnableConnectProtocol] === false) {
util3.errorRequest(client, request, new InformationalError("HTTP/2: Extended CONNECT protocol not supported by server"));
session.unref();
return false;
}
headers[HTTP2_HEADER_METHOD] = "CONNECT";
headers[HTTP2_HEADER_PROTOCOL] = "websocket";
headers[HTTP2_HEADER_PATH] = path9;
if (protocol === "ws:" || protocol === "wss:") {
headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https";
} else {
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
}
stream4 = session.request(headers, { endStream: false, signal });
stream4[kHTTP2Stream] = true;
stream4.once("response", (headers2, _flags) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream4);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream4.on("error", () => {
if (stream4.rstCode === NGHTTP2_REFUSED_STREAM || stream4.rstCode === NGHTTP2_CANCEL) {
abort(new InformationalError(`HTTP/2: "stream error" received - code ${stream4.rstCode}`));
}
});
stream4.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0)
session.unref();
});
stream4.setTimeout(requestTimeout);
return true;
}
stream4 = session.request(headers, { endStream: false, signal });
stream4[kHTTP2Stream] = true;
stream4.on("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onUpgrade(statusCode, parseH2Headers(realHeaders), stream4);
++session[kOpenStreams];
client[kQueue][client[kRunningIdx]++] = null;
});
stream4.once("close", () => {
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0)
session.unref();
});
stream4.setTimeout(requestTimeout);
return true;
}
headers[HTTP2_HEADER_PATH] = path9;
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
if (body && typeof body.read === "function") {
body.read(0);
}
let contentLength = util3.bodyLength(body);
if (util3.isFormDataLike(body)) {
extractBody ??= require_body().extractBody;
const [bodyStream, contentType] = extractBody(body);
headers["content-type"] = contentType;
body = bodyStream.stream;
contentLength = bodyStream.length;
}
if (contentLength == null) {
contentLength = request.contentLength;
}
if (!expectsPayload) {
contentLength = null;
}
if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
if (client[kStrictContentLength]) {
util3.errorRequest(client, request, new RequestContentLengthMismatchError);
return false;
}
process.emitWarning(new RequestContentLengthMismatchError);
}
if (contentLength != null) {
assert3(body || contentLength === 0, "no body must not have content length");
headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
}
session.ref();
if (channels.sendHeaders.hasSubscribers) {
let header = "";
for (const key in headers) {
header += `${key}: ${headers[key]}\r
`;
}
channels.sendHeaders.publish({ request, headers: header, socket: session[kSocket] });
}
const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
if (expectContinue) {
headers[HTTP2_HEADER_EXPECT] = "100-continue";
stream4 = session.request(headers, { endStream: shouldEndStream, signal });
stream4[kHTTP2Stream] = true;
stream4.once("continue", writeBodyH2);
} else {
stream4 = session.request(headers, {
endStream: shouldEndStream,
signal
});
stream4[kHTTP2Stream] = true;
writeBodyH2();
}
++session[kOpenStreams];
stream4.setTimeout(requestTimeout);
let responseReceived = false;
stream4.once("response", (headers2) => {
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
request.onResponseStarted();
responseReceived = true;
if (request.aborted) {
stream4.removeAllListeners("data");
return;
}
if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream4.resume.bind(stream4), "") === false) {
stream4.pause();
}
stream4.on("data", (chunk) => {
if (request.aborted || request.completed) {
return;
}
if (request.onData(chunk) === false) {
stream4.pause();
}
});
});
stream4.once("end", () => {
stream4.removeAllListeners("data");
if (responseReceived) {
if (!request.aborted && !request.completed) {
request.onComplete({});
}
client[kQueue][client[kRunningIdx]++] = null;
client[kResume]();
} else {
abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
client[kQueue][client[kRunningIdx]++] = null;
client[kPendingIdx] = client[kRunningIdx];
client[kResume]();
}
});
stream4.once("close", () => {
stream4.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
});
stream4.once("error", function(err) {
stream4.removeAllListeners("data");
abort(err);
});
stream4.once("frameError", (type, code) => {
stream4.removeAllListeners("data");
abort(new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`));
});
stream4.on("aborted", () => {
stream4.removeAllListeners("data");
});
stream4.on("timeout", () => {
const err = new InformationalError(`HTTP/2: "stream timeout after ${requestTimeout}"`);
stream4.removeAllListeners("data");
session[kOpenStreams] -= 1;
if (session[kOpenStreams] === 0) {
session.unref();
}
abort(err);
});
stream4.once("trailers", (trailers) => {
if (request.aborted || request.completed) {
return;
}
stream4.removeAllListeners("data");
request.onComplete(trailers);
});
return true;
function writeBodyH2() {
if (!body || contentLength === 0) {
writeBuffer(abort, stream4, null, client, request, client[kSocket], contentLength, expectsPayload);
} else if (util3.isBuffer(body)) {
writeBuffer(abort, stream4, body, client, request, client[kSocket], contentLength, expectsPayload);
} else if (util3.isBlobLike(body)) {
if (typeof body.stream === "function") {
writeIterable(abort, stream4, body.stream(), client, request, client[kSocket], contentLength, expectsPayload);
} else {
writeBlob(abort, stream4, body, client, request, client[kSocket], contentLength, expectsPayload);
}
} else if (util3.isStream(body)) {
writeStream(abort, client[kSocket], expectsPayload, stream4, body, client, request, contentLength);
} else if (util3.isIterable(body)) {
writeIterable(abort, stream4, body, client, request, client[kSocket], contentLength, expectsPayload);
} else {
assert3(false);
}
}
}
function writeBuffer(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
try {
if (body != null && util3.isBuffer(body)) {
assert3(contentLength === body.byteLength, "buffer body must have content length");
h2stream.cork();
h2stream.write(body);
h2stream.uncork();
h2stream.end();
request.onBodySent(body);
}
if (!expectsPayload) {
socket[kReset] = true;
}
request.onRequestSent();
client[kResume]();
} catch (error49) {
abort(error49);
}
}
function writeStream(abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {
assert3(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
const pipe2 = pipeline(body, h2stream, (err) => {
if (err) {
util3.destroy(pipe2, err);
abort(err);
} else {
util3.removeAllListeners(pipe2);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
}
});
util3.addListener(pipe2, "data", onPipeData);
function onPipeData(chunk) {
request.onBodySent(chunk);
}
}
async function writeBlob(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
assert3(contentLength === body.size, "blob body must have content length");
try {
if (contentLength != null && contentLength !== body.size) {
throw new RequestContentLengthMismatchError;
}
const buffer = Buffer.from(await body.arrayBuffer());
h2stream.cork();
h2stream.write(buffer);
h2stream.uncork();
h2stream.end();
request.onBodySent(buffer);
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err) {
abort(err);
}
}
async function writeIterable(abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {
assert3(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
let callback = null;
function onDrain() {
if (callback) {
const cb = callback;
callback = null;
cb();
}
}
const waitForDrain = () => new Promise((resolve9, reject) => {
assert3(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
callback = resolve9;
}
});
h2stream.on("close", onDrain).on("drain", onDrain);
try {
for await (const chunk of body) {
if (socket[kError]) {
throw socket[kError];
}
const res = h2stream.write(chunk);
request.onBodySent(chunk);
if (!res) {
await waitForDrain();
}
}
h2stream.end();
request.onRequestSent();
if (!expectsPayload) {
socket[kReset] = true;
}
client[kResume]();
} catch (err) {
abort(err);
} finally {
h2stream.off("close", onDrain).off("drain", onDrain);
}
}
module.exports = connectH2;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/client.js
var require_client = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var net3 = __require("node:net");
var http4 = __require("node:http");
var util3 = require_util();
var { ClientStats } = require_stats();
var { channels } = require_diagnostics();
var Request2 = require_request();
var DispatcherBase = require_dispatcher_base();
var {
InvalidArgumentError: InvalidArgumentError2,
InformationalError,
ClientDestroyedError
} = require_errors();
var buildConnector = require_connect();
var {
kUrl,
kServerName,
kClient,
kBusy,
kConnect,
kResuming,
kRunning,
kPending,
kSize,
kQueue,
kConnected,
kConnecting,
kNeedDrain,
kKeepAliveDefaultTimeout,
kHostHeader,
kPendingIdx,
kRunningIdx,
kError,
kPipelining,
kKeepAliveTimeoutValue,
kMaxHeadersSize,
kKeepAliveMaxTimeout,
kKeepAliveTimeoutThreshold,
kHeadersTimeout,
kBodyTimeout,
kStrictContentLength,
kConnector,
kMaxRequests,
kCounter,
kClose,
kDestroy,
kDispatch,
kLocalAddress,
kMaxResponseSize,
kOnError,
kHTTPContext,
kMaxConcurrentStreams,
kHTTP2InitialWindowSize,
kHTTP2ConnectionWindowSize,
kResume,
kPingInterval
} = require_symbols();
var connectH1 = require_client_h1();
var connectH2 = require_client_h2();
var kClosedResolve = Symbol("kClosedResolve");
var getDefaultNodeMaxHeaderSize = http4 && http4.maxHeaderSize && Number.isInteger(http4.maxHeaderSize) && http4.maxHeaderSize > 0 ? () => http4.maxHeaderSize : () => {
throw new InvalidArgumentError2("http module not available or http.maxHeaderSize invalid");
};
var noop7 = () => {};
function getPipelining(client) {
return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
}
class Client extends DispatcherBase {
constructor(url3, {
maxHeaderSize,
headersTimeout,
socketTimeout,
requestTimeout,
connectTimeout,
bodyTimeout,
idleTimeout,
keepAlive,
keepAliveTimeout,
maxKeepAliveTimeout,
keepAliveMaxTimeout,
keepAliveTimeoutThreshold,
socketPath,
pipelining,
tls: tls2,
strictContentLength,
maxCachedSessions,
connect: connect4,
maxRequestsPerClient,
localAddress,
maxResponseSize,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
maxConcurrentStreams,
allowH2,
useH2c,
initialWindowSize,
connectionWindowSize,
pingInterval
} = {}) {
if (keepAlive !== undefined) {
throw new InvalidArgumentError2("unsupported keepAlive, use pipelining=0 instead");
}
if (socketTimeout !== undefined) {
throw new InvalidArgumentError2("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
}
if (requestTimeout !== undefined) {
throw new InvalidArgumentError2("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
}
if (idleTimeout !== undefined) {
throw new InvalidArgumentError2("unsupported idleTimeout, use keepAliveTimeout instead");
}
if (maxKeepAliveTimeout !== undefined) {
throw new InvalidArgumentError2("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
}
if (maxHeaderSize != null) {
if (!Number.isInteger(maxHeaderSize) || maxHeaderSize < 1) {
throw new InvalidArgumentError2("invalid maxHeaderSize");
}
} else {
maxHeaderSize = getDefaultNodeMaxHeaderSize();
}
if (socketPath != null && typeof socketPath !== "string") {
throw new InvalidArgumentError2("invalid socketPath");
}
if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
throw new InvalidArgumentError2("invalid connectTimeout");
}
if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
throw new InvalidArgumentError2("invalid keepAliveTimeout");
}
if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
throw new InvalidArgumentError2("invalid keepAliveMaxTimeout");
}
if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
throw new InvalidArgumentError2("invalid keepAliveTimeoutThreshold");
}
if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
throw new InvalidArgumentError2("headersTimeout must be a positive integer or zero");
}
if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
throw new InvalidArgumentError2("bodyTimeout must be a positive integer or zero");
}
if (connect4 != null && typeof connect4 !== "function" && typeof connect4 !== "object") {
throw new InvalidArgumentError2("connect must be a function or an object");
}
if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
throw new InvalidArgumentError2("maxRequestsPerClient must be a positive number");
}
if (localAddress != null && (typeof localAddress !== "string" || net3.isIP(localAddress) === 0)) {
throw new InvalidArgumentError2("localAddress must be valid string IP address");
}
if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
throw new InvalidArgumentError2("maxResponseSize must be a positive number");
}
if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
throw new InvalidArgumentError2("autoSelectFamilyAttemptTimeout must be a positive number");
}
if (allowH2 != null && typeof allowH2 !== "boolean") {
throw new InvalidArgumentError2("allowH2 must be a valid boolean value");
}
if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
throw new InvalidArgumentError2("maxConcurrentStreams must be a positive integer, greater than 0");
}
if (useH2c != null && typeof useH2c !== "boolean") {
throw new InvalidArgumentError2("useH2c must be a valid boolean value");
}
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) {
throw new InvalidArgumentError2("initialWindowSize must be a positive integer, greater than 0");
}
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) {
throw new InvalidArgumentError2("connectionWindowSize must be a positive integer, greater than 0");
}
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
throw new InvalidArgumentError2("pingInterval must be a positive integer, greater or equal to 0");
}
super();
if (typeof connect4 !== "function") {
connect4 = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
useH2c,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined,
...connect4
});
} else if (socketPath != null) {
const customConnect = connect4;
connect4 = (opts, callback) => customConnect({ ...opts, socketPath }, callback);
}
this[kUrl] = util3.parseOrigin(url3);
this[kConnector] = connect4;
this[kPipelining] = pipelining != null ? pipelining : 1;
this[kMaxHeadersSize] = maxHeaderSize;
this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4000 : keepAliveTimeout;
this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600000 : keepAliveMaxTimeout;
this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2000 : keepAliveTimeoutThreshold;
this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
this[kServerName] = null;
this[kLocalAddress] = localAddress != null ? localAddress : null;
this[kResuming] = 0;
this[kNeedDrain] = 0;
this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
`;
this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300000;
this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300000;
this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
this[kMaxRequests] = maxRequestsPerClient;
this[kClosedResolve] = null;
this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
this[kHTTPContext] = null;
this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
this[kHTTP2InitialWindowSize] = initialWindowSize != null ? initialWindowSize : 262144;
this[kHTTP2ConnectionWindowSize] = connectionWindowSize != null ? connectionWindowSize : 524288;
this[kPingInterval] = pingInterval != null ? pingInterval : 60000;
this[kQueue] = [];
this[kRunningIdx] = 0;
this[kPendingIdx] = 0;
this[kResume] = (sync) => resume2(this, sync);
this[kOnError] = (err) => onError(this, err);
}
get pipelining() {
return this[kPipelining];
}
set pipelining(value) {
this[kPipelining] = value;
this[kResume](true);
}
get stats() {
return new ClientStats(this);
}
get [kPending]() {
return this[kQueue].length - this[kPendingIdx];
}
get [kRunning]() {
return this[kPendingIdx] - this[kRunningIdx];
}
get [kSize]() {
return this[kQueue].length - this[kRunningIdx];
}
get [kConnected]() {
return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed;
}
get [kBusy]() {
return Boolean(this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0);
}
[kConnect](cb) {
connect3(this);
this.once("connect", cb);
}
[kDispatch](opts, handler) {
const request = new Request2(this[kUrl].origin, opts, handler);
this[kQueue].push(request);
if (this[kResuming]) {} else if (util3.bodyLength(request.body) == null && util3.isIterable(request.body)) {
this[kResuming] = 1;
queueMicrotask(() => resume2(this));
} else {
this[kResume](true);
}
if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
this[kNeedDrain] = 2;
}
return this[kNeedDrain] < 2;
}
[kClose]() {
return new Promise((resolve9) => {
if (this[kSize]) {
this[kClosedResolve] = resolve9;
} else {
resolve9(null);
}
});
}
[kDestroy](err) {
return new Promise((resolve9) => {
const requests = this[kQueue].splice(this[kPendingIdx]);
for (let i2 = 0;i2 < requests.length; i2++) {
const request = requests[i2];
util3.errorRequest(this, request, err);
}
const callback = () => {
if (this[kClosedResolve]) {
this[kClosedResolve]();
this[kClosedResolve] = null;
}
resolve9(null);
};
if (this[kHTTPContext]) {
this[kHTTPContext].destroy(err, callback);
this[kHTTPContext] = null;
} else {
queueMicrotask(callback);
}
this[kResume]();
});
}
}
function onError(client, err) {
if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
assert3(client[kPendingIdx] === client[kRunningIdx]);
const requests = client[kQueue].splice(client[kRunningIdx]);
for (let i2 = 0;i2 < requests.length; i2++) {
const request = requests[i2];
util3.errorRequest(client, request, err);
}
assert3(client[kSize] === 0);
}
}
function connect3(client) {
assert3(!client[kConnecting]);
assert3(!client[kHTTPContext]);
let { host, hostname: hostname3, protocol, port } = client[kUrl];
if (hostname3[0] === "[") {
const idx = hostname3.indexOf("]");
assert3(idx !== -1);
const ip = hostname3.substring(1, idx);
assert3(net3.isIPv6(ip));
hostname3 = ip;
}
client[kConnecting] = true;
if (channels.beforeConnect.hasSubscribers) {
channels.beforeConnect.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector]
});
}
try {
client[kConnector]({
host,
hostname: hostname3,
protocol,
port,
servername: client[kServerName],
localAddress: client[kLocalAddress]
}, (err, socket) => {
if (err) {
handleConnectError(client, err, { host, hostname: hostname3, protocol, port });
client[kResume]();
return;
}
if (client.destroyed) {
util3.destroy(socket.on("error", noop7), new ClientDestroyedError);
client[kResume]();
return;
}
assert3(socket);
try {
client[kHTTPContext] = socket.alpnProtocol === "h2" ? connectH2(client, socket) : connectH1(client, socket);
} catch (err2) {
socket.destroy().on("error", noop7);
handleConnectError(client, err2, { host, hostname: hostname3, protocol, port });
client[kResume]();
return;
}
client[kConnecting] = false;
socket[kCounter] = 0;
socket[kMaxRequests] = client[kMaxRequests];
socket[kClient] = client;
socket[kError] = null;
if (channels.connected.hasSubscribers) {
channels.connected.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
socket
});
}
client.emit("connect", client[kUrl], [client]);
client[kResume]();
});
} catch (err) {
handleConnectError(client, err, { host, hostname: hostname3, protocol, port });
client[kResume]();
}
}
function handleConnectError(client, err, { host, hostname: hostname3, protocol, port }) {
if (client.destroyed) {
return;
}
client[kConnecting] = false;
if (channels.connectError.hasSubscribers) {
channels.connectError.publish({
connectParams: {
host,
hostname: hostname3,
protocol,
port,
version: client[kHTTPContext]?.version,
servername: client[kServerName],
localAddress: client[kLocalAddress]
},
connector: client[kConnector],
error: err
});
}
if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
assert3(client[kRunning] === 0);
while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
const request = client[kQueue][client[kPendingIdx]++];
util3.errorRequest(client, request, err);
}
} else {
onError(client, err);
}
client.emit("connectionError", client[kUrl], [client], err);
}
function emitDrain(client) {
client[kNeedDrain] = 0;
client.emit("drain", client[kUrl], [client]);
}
function resume2(client, sync) {
if (client[kResuming] === 2) {
return;
}
client[kResuming] = 2;
_resume(client, sync);
client[kResuming] = 0;
if (client[kRunningIdx] > 256) {
client[kQueue].splice(0, client[kRunningIdx]);
client[kPendingIdx] -= client[kRunningIdx];
client[kRunningIdx] = 0;
}
}
function _resume(client, sync) {
while (true) {
if (client.destroyed) {
assert3(client[kPending] === 0);
return;
}
if (client[kClosedResolve] && !client[kSize]) {
client[kClosedResolve]();
client[kClosedResolve] = null;
return;
}
if (client[kHTTPContext]) {
client[kHTTPContext].resume();
}
if (client[kBusy]) {
client[kNeedDrain] = 2;
} else if (client[kNeedDrain] === 2) {
if (sync) {
client[kNeedDrain] = 1;
queueMicrotask(() => emitDrain(client));
} else {
emitDrain(client);
}
continue;
}
if (client[kPending] === 0) {
return;
}
if (client[kRunning] >= (getPipelining(client) || 1)) {
return;
}
const request = client[kQueue][client[kPendingIdx]];
if (request === null) {
return;
}
if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
if (client[kRunning] > 0) {
return;
}
client[kServerName] = request.servername;
client[kHTTPContext]?.destroy(new InformationalError("servername changed"), () => {
client[kHTTPContext] = null;
resume2(client);
});
}
if (client[kConnecting]) {
return;
}
if (!client[kHTTPContext]) {
connect3(client);
return;
}
if (client[kHTTPContext].destroyed) {
return;
}
if (client[kHTTPContext].busy(request)) {
return;
}
if (!request.aborted && client[kHTTPContext].write(request)) {
client[kPendingIdx]++;
} else {
client[kQueue].splice(client[kPendingIdx], 1);
}
}
}
module.exports = Client;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = __commonJS((exports, module) => {
var kSize = 2048;
var kMask = kSize - 1;
class FixedCircularBuffer {
bottom = 0;
top = 0;
list = new Array(kSize).fill(undefined);
next = null;
isEmpty() {
return this.top === this.bottom;
}
isFull() {
return (this.top + 1 & kMask) === this.bottom;
}
push(data) {
this.list[this.top] = data;
this.top = this.top + 1 & kMask;
}
shift() {
const nextItem = this.list[this.bottom];
if (nextItem === undefined) {
return null;
}
this.list[this.bottom] = undefined;
this.bottom = this.bottom + 1 & kMask;
return nextItem;
}
}
module.exports = class FixedQueue {
constructor() {
this.head = this.tail = new FixedCircularBuffer;
}
isEmpty() {
return this.head.isEmpty();
}
push(data) {
if (this.head.isFull()) {
this.head = this.head.next = new FixedCircularBuffer;
}
this.head.push(data);
}
shift() {
const tail = this.tail;
const next = tail.shift();
if (tail.isEmpty() && tail.next !== null) {
this.tail = tail.next;
tail.next = null;
}
return next;
}
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/pool-base.js
var require_pool_base = __commonJS((exports, module) => {
var { PoolStats } = require_stats();
var DispatcherBase = require_dispatcher_base();
var FixedQueue = require_fixed_queue();
var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
var kClients = Symbol("clients");
var kNeedDrain = Symbol("needDrain");
var kQueue = Symbol("queue");
var kClosedResolve = Symbol("closed resolve");
var kOnDrain = Symbol("onDrain");
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kGetDispatcher = Symbol("get dispatcher");
var kAddClient = Symbol("add client");
var kRemoveClient = Symbol("remove client");
class PoolBase extends DispatcherBase {
[kQueue] = new FixedQueue;
[kQueued] = 0;
[kClients] = [];
[kNeedDrain] = false;
[kOnDrain](client, origin2, targets) {
const queue = this[kQueue];
let needDrain = false;
while (!needDrain) {
const item = queue.shift();
if (!item) {
break;
}
this[kQueued]--;
needDrain = !client.dispatch(item.opts, item.handler);
}
client[kNeedDrain] = needDrain;
if (!needDrain && this[kNeedDrain]) {
this[kNeedDrain] = false;
this.emit("drain", origin2, [this, ...targets]);
}
if (this[kClosedResolve] && queue.isEmpty()) {
const closeAll = [];
for (let i2 = 0;i2 < this[kClients].length; i2++) {
const client2 = this[kClients][i2];
if (!client2.destroyed) {
closeAll.push(client2.close());
}
}
return Promise.all(closeAll).then(this[kClosedResolve]);
}
}
[kOnConnect] = (origin2, targets) => {
this.emit("connect", origin2, [this, ...targets]);
};
[kOnDisconnect] = (origin2, targets, err) => {
this.emit("disconnect", origin2, [this, ...targets], err);
};
[kOnConnectionError] = (origin2, targets, err) => {
this.emit("connectionError", origin2, [this, ...targets], err);
};
get [kBusy]() {
return this[kNeedDrain];
}
get [kConnected]() {
let ret = 0;
for (const { [kConnected]: connected } of this[kClients]) {
ret += connected;
}
return ret;
}
get [kFree]() {
let ret = 0;
for (const { [kConnected]: connected, [kNeedDrain]: needDrain } of this[kClients]) {
ret += connected && !needDrain;
}
return ret;
}
get [kPending]() {
let ret = this[kQueued];
for (const { [kPending]: pending } of this[kClients]) {
ret += pending;
}
return ret;
}
get [kRunning]() {
let ret = 0;
for (const { [kRunning]: running } of this[kClients]) {
ret += running;
}
return ret;
}
get [kSize]() {
let ret = this[kQueued];
for (const { [kSize]: size } of this[kClients]) {
ret += size;
}
return ret;
}
get stats() {
return new PoolStats(this);
}
[kClose]() {
if (this[kQueue].isEmpty()) {
const closeAll = [];
for (let i2 = 0;i2 < this[kClients].length; i2++) {
const client = this[kClients][i2];
if (!client.destroyed) {
closeAll.push(client.close());
}
}
return Promise.all(closeAll);
} else {
return new Promise((resolve9) => {
this[kClosedResolve] = resolve9;
});
}
}
[kDestroy](err) {
while (true) {
const item = this[kQueue].shift();
if (!item) {
break;
}
item.handler.onError(err);
}
const destroyAll = new Array(this[kClients].length);
for (let i2 = 0;i2 < this[kClients].length; i2++) {
destroyAll[i2] = this[kClients][i2].destroy(err);
}
return Promise.all(destroyAll);
}
[kDispatch](opts, handler) {
const dispatcher = this[kGetDispatcher]();
if (!dispatcher) {
this[kNeedDrain] = true;
this[kQueue].push({ opts, handler });
this[kQueued]++;
} else if (!dispatcher.dispatch(opts, handler)) {
dispatcher[kNeedDrain] = true;
this[kNeedDrain] = !this[kGetDispatcher]();
}
return !this[kNeedDrain];
}
[kAddClient](client) {
client.on("drain", this[kOnDrain].bind(this, client)).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
this[kClients].push(client);
if (this[kNeedDrain]) {
queueMicrotask(() => {
if (this[kNeedDrain]) {
this[kOnDrain](client, client[kUrl], [client, this]);
}
});
}
return this;
}
[kRemoveClient](client) {
client.close(() => {
const idx = this[kClients].indexOf(client);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
});
this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
}
}
module.exports = {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/pool.js
var require_pool = __commonJS((exports, module) => {
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client = require_client();
var {
InvalidArgumentError: InvalidArgumentError2
} = require_errors();
var util3 = require_util();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
function defaultFactory(origin2, opts) {
return new Client(origin2, opts);
}
class Pool extends PoolBase {
constructor(origin2, {
connections,
factory: factory2 = defaultFactory,
connect: connect3,
connectTimeout,
tls: tls2,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError2("invalid connections");
}
if (typeof factory2 !== "function") {
throw new InvalidArgumentError2("factory must be a function.");
}
if (connect3 != null && typeof connect3 !== "function" && typeof connect3 !== "object") {
throw new InvalidArgumentError2("connect must be a function or an object");
}
if (typeof connect3 !== "function") {
connect3 = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined,
...connect3
});
}
super();
this[kConnections] = connections || null;
this[kUrl] = util3.parseOrigin(origin2);
this[kOptions] = { ...util3.deepClone(options), connect: connect3, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : undefined;
this[kFactory] = factory2;
this.on("connect", (origin3, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target of targets) {
Object.assign(target, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin3, targets, error49) => {
for (const target of targets) {
const idx = this[kClients].indexOf(target);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
for (const client of this[kClients]) {
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
} else if (!client[kNeedDrain]) {
return client;
}
}
if (!this[kConnections] || this[kClients].length < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
}
module.exports = Pool;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/balanced-pool.js
var require_balanced_pool = __commonJS((exports, module) => {
var {
BalancedPoolMissingUpstreamError,
InvalidArgumentError: InvalidArgumentError2
} = require_errors();
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kRemoveClient,
kGetDispatcher
} = require_pool_base();
var Pool = require_pool();
var { kUrl } = require_symbols();
var util3 = require_util();
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
var kCurrentWeight = Symbol("kCurrentWeight");
var kIndex = Symbol("kIndex");
var kWeight = Symbol("kWeight");
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a2, b2) {
if (a2 === 0)
return b2;
while (b2 !== 0) {
const t = b2;
b2 = a2 % b2;
a2 = t;
}
return a2;
}
function defaultFactory(origin2, opts) {
return new Pool(origin2, opts);
}
class BalancedPool extends PoolBase {
constructor(upstreams = [], { factory: factory2 = defaultFactory, ...opts } = {}) {
if (typeof factory2 !== "function") {
throw new InvalidArgumentError2("factory must be a function.");
}
super();
this[kOptions] = { ...util3.deepClone(opts) };
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : undefined;
this[kIndex] = -1;
this[kCurrentWeight] = 0;
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
this[kErrorPenalty] = this[kOptions].errorPenalty || 15;
if (!Array.isArray(upstreams)) {
upstreams = [upstreams];
}
this[kFactory] = factory2;
for (const upstream of upstreams) {
this.addUpstream(upstream);
}
this._updateBalancedPoolStats();
}
addUpstream(upstream) {
const upstreamOrigin = util3.parseOrigin(upstream).origin;
if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
return this;
}
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
this[kAddClient](pool);
pool.on("connect", () => {
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
});
pool.on("connectionError", () => {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
});
pool.on("disconnect", (...args) => {
const err = args[2];
if (err && err.code === "UND_ERR_SOCKET") {
pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]);
this._updateBalancedPoolStats();
}
});
for (const client of this[kClients]) {
client[kWeight] = this[kMaxWeightPerServer];
}
this._updateBalancedPoolStats();
return this;
}
_updateBalancedPoolStats() {
let result = 0;
for (let i2 = 0;i2 < this[kClients].length; i2++) {
result = getGreatestCommonDivisor(this[kClients][i2][kWeight], result);
}
this[kGreatestCommonDivisor] = result;
}
removeUpstream(upstream) {
const upstreamOrigin = util3.parseOrigin(upstream).origin;
const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
if (pool) {
this[kRemoveClient](pool);
}
return this;
}
getUpstream(upstream) {
const upstreamOrigin = util3.parseOrigin(upstream).origin;
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
}
get upstreams() {
return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin);
}
[kGetDispatcher]() {
if (this[kClients].length === 0) {
throw new BalancedPoolMissingUpstreamError;
}
const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true);
if (!dispatcher) {
return;
}
const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a2, b2) => a2 && b2, true);
if (allClientsBusy) {
return;
}
let counter = 0;
let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]);
while (counter++ < this[kClients].length) {
this[kIndex] = (this[kIndex] + 1) % this[kClients].length;
const pool = this[kClients][this[kIndex]];
if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {
maxWeightIndex = this[kIndex];
}
if (this[kIndex] === 0) {
this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor];
if (this[kCurrentWeight] <= 0) {
this[kCurrentWeight] = this[kMaxWeightPerServer];
}
}
if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) {
return pool;
}
}
this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight];
this[kIndex] = maxWeightIndex;
return this[kClients][maxWeightIndex];
}
}
module.exports = BalancedPool;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/round-robin-pool.js
var require_round_robin_pool = __commonJS((exports, module) => {
var {
PoolBase,
kClients,
kNeedDrain,
kAddClient,
kGetDispatcher,
kRemoveClient
} = require_pool_base();
var Client = require_client();
var {
InvalidArgumentError: InvalidArgumentError2
} = require_errors();
var util3 = require_util();
var { kUrl } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
var kIndex = Symbol("index");
function defaultFactory(origin2, opts) {
return new Client(origin2, opts);
}
class RoundRobinPool extends PoolBase {
constructor(origin2, {
connections,
factory: factory2 = defaultFactory,
connect: connect3,
connectTimeout,
tls: tls2,
maxCachedSessions,
socketPath,
autoSelectFamily,
autoSelectFamilyAttemptTimeout,
allowH2,
clientTtl,
...options
} = {}) {
if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
throw new InvalidArgumentError2("invalid connections");
}
if (typeof factory2 !== "function") {
throw new InvalidArgumentError2("factory must be a function.");
}
if (connect3 != null && typeof connect3 !== "function" && typeof connect3 !== "object") {
throw new InvalidArgumentError2("connect must be a function or an object");
}
if (typeof connect3 !== "function") {
connect3 = buildConnector({
...tls2,
maxCachedSessions,
allowH2,
socketPath,
timeout: connectTimeout,
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined,
...connect3
});
}
super();
this[kConnections] = connections || null;
this[kUrl] = util3.parseOrigin(origin2);
this[kOptions] = { ...util3.deepClone(options), connect: connect3, allowH2, clientTtl, socketPath };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : undefined;
this[kFactory] = factory2;
this[kIndex] = -1;
this.on("connect", (origin3, targets) => {
if (clientTtl != null && clientTtl > 0) {
for (const target of targets) {
Object.assign(target, { ttl: Date.now() });
}
}
});
this.on("connectionError", (origin3, targets, error49) => {
for (const target of targets) {
const idx = this[kClients].indexOf(target);
if (idx !== -1) {
this[kClients].splice(idx, 1);
}
}
});
}
[kGetDispatcher]() {
const clientTtlOption = this[kOptions].clientTtl;
const clientsLength = this[kClients].length;
if (clientsLength === 0) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
let checked = 0;
while (checked < clientsLength) {
this[kIndex] = (this[kIndex] + 1) % clientsLength;
const client = this[kClients][this[kIndex]];
if (clientTtlOption != null && clientTtlOption > 0 && client.ttl && Date.now() - client.ttl > clientTtlOption) {
this[kRemoveClient](client);
checked++;
continue;
}
if (!client[kNeedDrain]) {
return client;
}
checked++;
}
if (!this[kConnections] || clientsLength < this[kConnections]) {
const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
this[kAddClient](dispatcher);
return dispatcher;
}
}
}
module.exports = RoundRobinPool;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/agent.js
var require_agent = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2, MaxOriginsReachedError } = require_errors();
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
var DispatcherBase = require_dispatcher_base();
var Pool = require_pool();
var Client = require_client();
var util3 = require_util();
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kOnDrain = Symbol("onDrain");
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kOrigins = Symbol("origins");
function defaultFactory(origin2, opts) {
return opts && opts.connections === 1 ? new Client(origin2, opts) : new Pool(origin2, opts);
}
class Agent3 extends DispatcherBase {
constructor({ factory: factory2 = defaultFactory, maxOrigins = Infinity, connect: connect3, ...options } = {}) {
if (typeof factory2 !== "function") {
throw new InvalidArgumentError2("factory must be a function.");
}
if (connect3 != null && typeof connect3 !== "function" && typeof connect3 !== "object") {
throw new InvalidArgumentError2("connect must be a function or an object");
}
if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) {
throw new InvalidArgumentError2("maxOrigins must be a number greater than 0");
}
super();
if (connect3 && typeof connect3 !== "function") {
connect3 = { ...connect3 };
}
this[kOptions] = { ...util3.deepClone(options), maxOrigins, connect: connect3 };
this[kFactory] = factory2;
this[kClients] = new Map;
this[kOrigins] = new Set;
this[kOnDrain] = (origin2, targets) => {
this.emit("drain", origin2, [this, ...targets]);
};
this[kOnConnect] = (origin2, targets) => {
this.emit("connect", origin2, [this, ...targets]);
};
this[kOnDisconnect] = (origin2, targets, err) => {
this.emit("disconnect", origin2, [this, ...targets], err);
};
this[kOnConnectionError] = (origin2, targets, err) => {
this.emit("connectionError", origin2, [this, ...targets], err);
};
}
get [kRunning]() {
let ret = 0;
for (const { dispatcher } of this[kClients].values()) {
ret += dispatcher[kRunning];
}
return ret;
}
[kDispatch](opts, handler) {
let key;
if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
key = String(opts.origin);
} else {
throw new InvalidArgumentError2("opts.origin must be a non-empty string or URL.");
}
if (this[kOrigins].size >= this[kOptions].maxOrigins && !this[kOrigins].has(key)) {
throw new MaxOriginsReachedError;
}
const result = this[kClients].get(key);
let dispatcher = result && result.dispatcher;
if (!dispatcher) {
const closeClientIfUnused = (connected) => {
const result2 = this[kClients].get(key);
if (result2) {
if (connected)
result2.count -= 1;
if (result2.count <= 0) {
this[kClients].delete(key);
if (!result2.dispatcher.destroyed) {
result2.dispatcher.close();
}
}
this[kOrigins].delete(key);
}
};
dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", (origin2, targets) => {
const result2 = this[kClients].get(key);
if (result2) {
result2.count += 1;
}
this[kOnConnect](origin2, targets);
}).on("disconnect", (origin2, targets, err) => {
closeClientIfUnused(true);
this[kOnDisconnect](origin2, targets, err);
}).on("connectionError", (origin2, targets, err) => {
closeClientIfUnused(false);
this[kOnConnectionError](origin2, targets, err);
});
this[kClients].set(key, { count: 0, dispatcher });
this[kOrigins].add(key);
}
return dispatcher.dispatch(opts, handler);
}
[kClose]() {
const closePromises = [];
for (const { dispatcher } of this[kClients].values()) {
closePromises.push(dispatcher.close());
}
this[kClients].clear();
return Promise.all(closePromises);
}
[kDestroy](err) {
const destroyPromises = [];
for (const { dispatcher } of this[kClients].values()) {
destroyPromises.push(dispatcher.destroy(err));
}
this[kClients].clear();
return Promise.all(destroyPromises);
}
get stats() {
const allClientStats = {};
for (const { dispatcher } of this[kClients].values()) {
if (dispatcher.stats) {
allClientStats[dispatcher[kUrl].origin] = dispatcher.stats;
}
}
return allClientStats;
}
}
module.exports = Agent3;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/socks5-utils.js
var require_socks5_utils = __commonJS((exports, module) => {
var { Buffer: Buffer7 } = __require("node:buffer");
var net3 = __require("node:net");
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
function parseAddress(address) {
if (net3.isIPv4(address)) {
const parts = address.split(".").map(Number);
return {
type: 1,
buffer: Buffer7.from(parts)
};
}
if (net3.isIPv6(address)) {
return {
type: 4,
buffer: parseIPv6(address)
};
}
const domainBuffer = Buffer7.from(address, "utf8");
if (domainBuffer.length > 255) {
throw new InvalidArgumentError2("Domain name too long (max 255 bytes)");
}
return {
type: 3,
buffer: Buffer7.concat([Buffer7.from([domainBuffer.length]), domainBuffer])
};
}
function parseIPv6(address) {
const buffer = Buffer7.alloc(16);
const parts = address.split(":");
let partIndex = 0;
let bufferIndex = 0;
const doubleColonIndex = address.indexOf("::");
if (doubleColonIndex !== -1) {
const nonEmptyParts = parts.filter((p) => p.length > 0).length;
const skipParts = 8 - nonEmptyParts;
for (let i2 = 0;i2 < parts.length; i2++) {
if (parts[i2] === "" && i2 === doubleColonIndex / 3) {
bufferIndex += skipParts * 2;
} else if (parts[i2] !== "") {
const value = parseInt(parts[i2], 16);
buffer.writeUInt16BE(value, bufferIndex);
bufferIndex += 2;
}
}
} else {
for (const part of parts) {
if (part === "")
continue;
const value = parseInt(part, 16);
buffer.writeUInt16BE(value, partIndex * 2);
partIndex++;
}
}
return buffer;
}
function buildAddressBuffer(type, addressBuffer, port) {
const portBuffer = Buffer7.allocUnsafe(2);
portBuffer.writeUInt16BE(port, 0);
return Buffer7.concat([
Buffer7.from([type]),
addressBuffer,
portBuffer
]);
}
function parseResponseAddress(buffer, offset = 0) {
if (buffer.length < offset + 1) {
throw new InvalidArgumentError2("Buffer too small to contain address type");
}
const addressType = buffer[offset];
let address;
let currentOffset = offset + 1;
switch (addressType) {
case 1: {
if (buffer.length < currentOffset + 6) {
throw new InvalidArgumentError2("Buffer too small for IPv4 address");
}
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
currentOffset += 4;
break;
}
case 3: {
if (buffer.length < currentOffset + 1) {
throw new InvalidArgumentError2("Buffer too small for domain length");
}
const domainLength = buffer[currentOffset];
currentOffset += 1;
if (buffer.length < currentOffset + domainLength + 2) {
throw new InvalidArgumentError2("Buffer too small for domain address");
}
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
currentOffset += domainLength;
break;
}
case 4: {
if (buffer.length < currentOffset + 18) {
throw new InvalidArgumentError2("Buffer too small for IPv6 address");
}
const parts = [];
for (let i2 = 0;i2 < 8; i2++) {
const value = buffer.readUInt16BE(currentOffset + i2 * 2);
parts.push(value.toString(16));
}
address = parts.join(":");
currentOffset += 16;
break;
}
default:
throw new InvalidArgumentError2(`Invalid address type: ${addressType}`);
}
if (buffer.length < currentOffset + 2) {
throw new InvalidArgumentError2("Buffer too small for port");
}
const port = buffer.readUInt16BE(currentOffset);
currentOffset += 2;
return {
address,
port,
bytesRead: currentOffset - offset
};
}
function createReplyError(replyCode) {
const messages = {
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"
};
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
const error49 = new Error(message);
error49.code = `SOCKS5_${replyCode}`;
return error49;
}
module.exports = {
parseAddress,
parseIPv6,
buildAddressBuffer,
parseResponseAddress,
createReplyError
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/core/socks5-client.js
var require_socks5_client = __commonJS((exports, module) => {
var { EventEmitter: EventEmitter3 } = __require("node:events");
var { Buffer: Buffer7 } = __require("node:buffer");
var { InvalidArgumentError: InvalidArgumentError2, Socks5ProxyError } = require_errors();
var { debuglog: debuglog2 } = __require("node:util");
var { parseAddress } = require_socks5_utils();
var debug3 = debuglog2("undici:socks5");
var SOCKS_VERSION = 5;
var AUTH_METHODS = {
NO_AUTH: 0,
GSSAPI: 1,
USERNAME_PASSWORD: 2,
NO_ACCEPTABLE: 255
};
var COMMANDS = {
CONNECT: 1,
BIND: 2,
UDP_ASSOCIATE: 3
};
var ADDRESS_TYPES = {
IPV4: 1,
DOMAIN: 3,
IPV6: 4
};
var REPLY_CODES = {
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
};
var STATES = {
INITIAL: "initial",
HANDSHAKING: "handshaking",
AUTHENTICATING: "authenticating",
CONNECTING: "connecting",
CONNECTED: "connected",
ERROR: "error",
CLOSED: "closed"
};
class Socks5Client extends EventEmitter3 {
constructor(socket, options = {}) {
super();
if (!socket) {
throw new InvalidArgumentError2("socket is required");
}
this.socket = socket;
this.options = options;
this.state = STATES.INITIAL;
this.buffer = Buffer7.alloc(0);
this.authMethods = [];
if (options.username && options.password) {
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
}
this.authMethods.push(AUTH_METHODS.NO_AUTH);
this.socket.on("data", this.onData.bind(this));
this.socket.on("error", this.onError.bind(this));
this.socket.on("close", this.onClose.bind(this));
}
onData(data) {
debug3("received data", data.length, "bytes in state", this.state);
this.buffer = Buffer7.concat([this.buffer, data]);
try {
switch (this.state) {
case STATES.HANDSHAKING:
this.handleHandshakeResponse();
break;
case STATES.AUTHENTICATING:
this.handleAuthResponse();
break;
case STATES.CONNECTING:
this.handleConnectResponse();
break;
}
} catch (err) {
this.onError(err);
}
}
onError(err) {
debug3("socket error", err);
this.state = STATES.ERROR;
this.emit("error", err);
this.destroy();
}
onClose() {
debug3("socket closed");
this.state = STATES.CLOSED;
this.emit("close");
}
destroy() {
if (this.socket && !this.socket.destroyed) {
this.socket.destroy();
}
}
handshake() {
if (this.state !== STATES.INITIAL) {
throw new InvalidArgumentError2("Handshake already started");
}
debug3("starting handshake with", this.authMethods.length, "auth methods");
this.state = STATES.HANDSHAKING;
const request = Buffer7.alloc(2 + this.authMethods.length);
request[0] = SOCKS_VERSION;
request[1] = this.authMethods.length;
this.authMethods.forEach((method, i2) => {
request[2 + i2] = method;
});
this.socket.write(request);
}
handleHandshakeResponse() {
if (this.buffer.length < 2) {
return;
}
const version2 = this.buffer[0];
const method = this.buffer[1];
if (version2 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version: ${version2}`, "UND_ERR_SOCKS5_VERSION");
}
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
}
this.buffer = this.buffer.subarray(2);
debug3("server selected auth method", method);
if (method === AUTH_METHODS.NO_AUTH) {
this.emit("authenticated");
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
this.state = STATES.AUTHENTICATING;
this.sendAuthRequest();
} else {
throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
}
}
sendAuthRequest() {
const { username, password } = this.options;
if (!username || !password) {
throw new InvalidArgumentError2("Username and password required for authentication");
}
debug3("sending username/password auth");
const usernameBuffer = Buffer7.from(username);
const passwordBuffer = Buffer7.from(password);
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
throw new InvalidArgumentError2("Username or password too long");
}
const request = Buffer7.alloc(3 + usernameBuffer.length + passwordBuffer.length);
request[0] = 1;
request[1] = usernameBuffer.length;
usernameBuffer.copy(request, 2);
request[2 + usernameBuffer.length] = passwordBuffer.length;
passwordBuffer.copy(request, 3 + usernameBuffer.length);
this.socket.write(request);
}
handleAuthResponse() {
if (this.buffer.length < 2) {
return;
}
const version2 = this.buffer[0];
const status = this.buffer[1];
if (version2 !== 1) {
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version2}`, "UND_ERR_SOCKS5_AUTH_VERSION");
}
if (status !== 0) {
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
}
this.buffer = this.buffer.subarray(2);
debug3("authentication successful");
this.emit("authenticated");
}
connect(address, port) {
if (this.state === STATES.CONNECTED) {
throw new InvalidArgumentError2("Already connected");
}
debug3("connecting to", address, port);
this.state = STATES.CONNECTING;
const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
this.socket.write(request);
}
buildConnectRequest(command, address, port) {
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
const request = Buffer7.alloc(4 + addressBuffer.length + 2);
request[0] = SOCKS_VERSION;
request[1] = command;
request[2] = 0;
request[3] = addressType;
addressBuffer.copy(request, 4);
request.writeUInt16BE(port, 4 + addressBuffer.length);
return request;
}
handleConnectResponse() {
if (this.buffer.length < 4) {
return;
}
const version2 = this.buffer[0];
const reply = this.buffer[1];
const addressType = this.buffer[3];
if (version2 !== SOCKS_VERSION) {
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version2}`, "UND_ERR_SOCKS5_REPLY_VERSION");
}
let responseLength = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
responseLength += 4 + 2;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
if (this.buffer.length < 5) {
return;
}
responseLength += 1 + this.buffer[4] + 2;
} else if (addressType === ADDRESS_TYPES.IPV6) {
responseLength += 16 + 2;
} else {
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
}
if (this.buffer.length < responseLength) {
return;
}
if (reply !== REPLY_CODES.SUCCEEDED) {
const errorMessage2 = this.getReplyErrorMessage(reply);
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage2}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
}
let boundAddress;
let offset = 4;
if (addressType === ADDRESS_TYPES.IPV4) {
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
offset += 4;
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
const domainLength = this.buffer[offset];
offset += 1;
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
offset += domainLength;
} else if (addressType === ADDRESS_TYPES.IPV6) {
const parts = [];
for (let i2 = 0;i2 < 8; i2++) {
const value = this.buffer.readUInt16BE(offset + i2 * 2);
parts.push(value.toString(16));
}
boundAddress = parts.join(":");
offset += 16;
}
const boundPort = this.buffer.readUInt16BE(offset);
this.buffer = this.buffer.subarray(responseLength);
this.state = STATES.CONNECTED;
debug3("connected, bound address:", boundAddress, "port:", boundPort);
this.emit("connected", { address: boundAddress, port: boundPort });
}
getReplyErrorMessage(reply) {
switch (reply) {
case REPLY_CODES.GENERAL_FAILURE:
return "General SOCKS server failure";
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
return "Connection not allowed by ruleset";
case REPLY_CODES.NETWORK_UNREACHABLE:
return "Network unreachable";
case REPLY_CODES.HOST_UNREACHABLE:
return "Host unreachable";
case REPLY_CODES.CONNECTION_REFUSED:
return "Connection refused";
case REPLY_CODES.TTL_EXPIRED:
return "TTL expired";
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
return "Command not supported";
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
return "Address type not supported";
default:
return `Unknown error code: ${reply}`;
}
}
}
module.exports = {
Socks5Client,
AUTH_METHODS,
COMMANDS,
ADDRESS_TYPES,
REPLY_CODES,
STATES
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
var require_socks5_proxy_agent = __commonJS((exports, module) => {
var net3 = __require("node:net");
var { URL: URL3 } = __require("node:url");
var tls2;
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var { Socks5Client } = require_socks5_client();
var { kDispatch, kClose, kDestroy } = require_symbols();
var Pool = require_pool();
var buildConnector = require_connect();
var { debuglog: debuglog2 } = __require("node:util");
var debug3 = debuglog2("undici:socks5-proxy");
var kProxyUrl = Symbol("proxy url");
var kProxyHeaders = Symbol("proxy headers");
var kProxyAuth = Symbol("proxy auth");
var kPool = Symbol("pool");
var kConnector = Symbol("connector");
var experimentalWarningEmitted = false;
class Socks5ProxyAgent extends DispatcherBase {
constructor(proxyUrl, options = {}) {
super();
if (!experimentalWarningEmitted) {
process.emitWarning("SOCKS5 proxy support is experimental and subject to change", "ExperimentalWarning");
experimentalWarningEmitted = true;
}
if (!proxyUrl) {
throw new InvalidArgumentError2("Proxy URL is mandatory");
}
const url3 = typeof proxyUrl === "string" ? new URL3(proxyUrl) : proxyUrl;
if (url3.protocol !== "socks5:" && url3.protocol !== "socks:") {
throw new InvalidArgumentError2("Proxy URL must use socks5:// or socks:// protocol");
}
this[kProxyUrl] = url3;
this[kProxyHeaders] = options.headers || {};
this[kProxyAuth] = {
username: options.username || (url3.username ? decodeURIComponent(url3.username) : null),
password: options.password || (url3.password ? decodeURIComponent(url3.password) : null)
};
this[kConnector] = options.connect || buildConnector({
...options.proxyTls,
servername: options.proxyTls?.servername || url3.hostname
});
this[kPool] = null;
}
async createSocks5Connection(targetHost, targetPort) {
const proxyHost = this[kProxyUrl].hostname;
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
debug3("creating SOCKS5 connection to", proxyHost, proxyPort);
const socket = await new Promise((resolve9, reject) => {
const onConnect = () => {
socket2.removeListener("error", onError);
resolve9(socket2);
};
const onError = (err) => {
socket2.removeListener("connect", onConnect);
reject(err);
};
const socket2 = net3.connect({
host: proxyHost,
port: proxyPort
});
socket2.once("connect", onConnect);
socket2.once("error", onError);
});
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
socks5Client.on("error", (err) => {
debug3("SOCKS5 error:", err);
socket.destroy();
});
await socks5Client.handshake();
await new Promise((resolve9, reject) => {
const timeout = setTimeout(() => {
reject(new Error("SOCKS5 authentication timeout"));
}, 5000);
const onAuthenticated = () => {
clearTimeout(timeout);
socks5Client.removeListener("error", onError);
resolve9();
};
const onError = (err) => {
clearTimeout(timeout);
socks5Client.removeListener("authenticated", onAuthenticated);
reject(err);
};
if (socks5Client.state === "authenticated") {
clearTimeout(timeout);
resolve9();
} else {
socks5Client.once("authenticated", onAuthenticated);
socks5Client.once("error", onError);
}
});
await socks5Client.connect(targetHost, targetPort);
await new Promise((resolve9, reject) => {
const timeout = setTimeout(() => {
reject(new Error("SOCKS5 connection timeout"));
}, 5000);
const onConnected = (info) => {
debug3("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
clearTimeout(timeout);
socks5Client.removeListener("error", onError);
resolve9();
};
const onError = (err) => {
clearTimeout(timeout);
socks5Client.removeListener("connected", onConnected);
reject(err);
};
socks5Client.once("connected", onConnected);
socks5Client.once("error", onError);
});
return socket;
}
async[kDispatch](opts, handler) {
const { origin: origin2 } = opts;
debug3("dispatching request to", origin2, "via SOCKS5");
try {
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) {
this[kPool] = new Pool(origin2, {
pipelining: opts.pipelining,
connections: opts.connections,
connect: async (connectOpts, callback) => {
try {
const url3 = new URL3(origin2);
const targetHost = url3.hostname;
const targetPort = parseInt(url3.port) || (url3.protocol === "https:" ? 443 : 80);
debug3("establishing SOCKS5 connection to", targetHost, targetPort);
const socket = await this.createSocks5Connection(targetHost, targetPort);
let finalSocket = socket;
if (url3.protocol === "https:") {
if (!tls2) {
tls2 = __require("node:tls");
}
debug3("upgrading to TLS");
finalSocket = tls2.connect({
socket,
servername: targetHost,
...connectOpts.tls || {}
});
await new Promise((resolve9, reject) => {
finalSocket.once("secureConnect", resolve9);
finalSocket.once("error", reject);
});
}
callback(null, finalSocket);
} catch (err) {
debug3("SOCKS5 connection error:", err);
callback(err);
}
}
});
}
return this[kPool][kDispatch](opts, handler);
} catch (err) {
debug3("dispatch error:", err);
if (typeof handler.onError === "function") {
handler.onError(err);
} else {
throw err;
}
}
}
async[kClose]() {
if (this[kPool]) {
await this[kPool].close();
}
}
async[kDestroy](err) {
if (this[kPool]) {
await this[kPool].destroy(err);
}
}
}
module.exports = Socks5ProxyAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/proxy-agent.js
var require_proxy_agent = __commonJS((exports, module) => {
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
var Agent3 = require_agent();
var Pool = require_pool();
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError: InvalidArgumentError2, RequestAbortedError, SecureProxyConnectionError } = require_errors();
var buildConnector = require_connect();
var Client = require_client();
var { channels } = require_diagnostics();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var kAgent = Symbol("proxy agent");
var kClient = Symbol("proxy client");
var kProxyHeaders = Symbol("proxy headers");
var kRequestTls = Symbol("request tls settings");
var kProxyTls = Symbol("proxy tls settings");
var kConnectEndpoint = Symbol("connect endpoint function");
var kTunnelProxy = Symbol("tunnel proxy");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
function defaultFactory(origin2, opts) {
return new Pool(origin2, opts);
}
var noop7 = () => {};
function defaultAgentFactory(origin2, opts) {
if (opts.connections === 1) {
return new Client(origin2, opts);
}
return new Pool(origin2, opts);
}
class Http1ProxyWrapper extends DispatcherBase {
#client;
constructor(proxyUrl, { headers = {}, connect: connect3, factory: factory2 }) {
if (!proxyUrl) {
throw new InvalidArgumentError2("Proxy URL is mandatory");
}
super();
this[kProxyHeaders] = headers;
if (factory2) {
this.#client = factory2(proxyUrl, { connect: connect3 });
} else {
this.#client = new Client(proxyUrl, { connect: connect3 });
}
}
[kDispatch](opts, handler) {
const onHeaders = handler.onHeaders;
handler.onHeaders = function(statusCode, data, resume2) {
if (statusCode === 407) {
if (typeof handler.onError === "function") {
handler.onError(new InvalidArgumentError2("Proxy Authentication Required (407)"));
}
return;
}
if (onHeaders)
onHeaders.call(this, statusCode, data, resume2);
};
const {
origin: origin2,
path: path9 = "/",
headers = {}
} = opts;
opts.path = origin2 + path9;
if (!("host" in headers) && !("Host" in headers)) {
const { host } = new URL(origin2);
headers.host = host;
}
opts.headers = { ...this[kProxyHeaders], ...headers };
return this.#client[kDispatch](opts, handler);
}
[kClose]() {
return this.#client.close();
}
[kDestroy](err) {
return this.#client.destroy(err);
}
}
class ProxyAgent extends DispatcherBase {
constructor(opts) {
if (!opts || typeof opts === "object" && !(opts instanceof URL) && !opts.uri) {
throw new InvalidArgumentError2("Proxy uri is mandatory");
}
const { clientFactory = defaultFactory } = opts;
if (typeof clientFactory !== "function") {
throw new InvalidArgumentError2("Proxy opts.clientFactory must be a function.");
}
const { proxyTunnel = true } = opts;
super();
const url3 = this.#getUrl(opts);
const { href, origin: origin2, port, protocol, username, password, hostname: proxyHostname } = url3;
this[kProxy] = { uri: href, protocol };
this[kRequestTls] = opts.requestTls;
this[kProxyTls] = opts.proxyTls;
this[kProxyHeaders] = opts.headers || {};
this[kTunnelProxy] = proxyTunnel;
if (opts.auth && opts.token) {
throw new InvalidArgumentError2("opts.auth cannot be used in combination with opts.token");
} else if (opts.auth) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
} else if (opts.token) {
this[kProxyHeaders]["proxy-authorization"] = opts.token;
} else if (username && password) {
this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
}
const connect3 = buildConnector({ ...opts.proxyTls });
this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
const agentFactory = opts.factory || defaultAgentFactory;
const factory2 = (origin3, options) => {
const { protocol: protocol2 } = new URL(origin3);
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") {
return new Socks5ProxyAgent(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect: connect3,
factory: agentFactory,
username: opts.username || username,
password: opts.password || password,
proxyTls: opts.proxyTls
});
}
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
return new Http1ProxyWrapper(this[kProxy].uri, {
headers: this[kProxyHeaders],
connect: connect3,
factory: agentFactory
});
}
return agentFactory(origin3, options);
};
if (protocol === "socks5:" || protocol === "socks:") {
this[kClient] = null;
} else {
this[kClient] = clientFactory(url3, { connect: connect3 });
}
this[kAgent] = new Agent3({
...opts,
factory: factory2,
connect: async (opts2, callback) => {
if (!this[kClient]) {
callback(new InvalidArgumentError2("Cannot establish tunnel connection without a proxy client"));
return;
}
let requestedPath = opts2.host;
if (!opts2.port) {
requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
}
try {
const connectParams = {
origin: origin2,
port,
path: requestedPath,
signal: opts2.signal,
headers: {
...this[kProxyHeaders],
host: opts2.host,
...opts2.connections == null || opts2.connections > 0 ? { "proxy-connection": "keep-alive" } : {}
},
servername: this[kProxyTls]?.servername || proxyHostname
};
const { socket, statusCode } = await this[kClient].connect(connectParams);
if (statusCode !== 200) {
socket.on("error", noop7).destroy();
callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
return;
}
if (channels.proxyConnected.hasSubscribers) {
channels.proxyConnected.publish({
socket,
connectParams
});
}
if (opts2.protocol !== "https:") {
callback(null, socket);
return;
}
let servername;
if (this[kRequestTls]) {
servername = this[kRequestTls].servername;
} else {
servername = opts2.servername;
}
this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
} catch (err) {
if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
callback(new SecureProxyConnectionError(err));
} else {
callback(err);
}
}
}
});
}
dispatch(opts, handler) {
const headers = buildHeaders2(opts.headers);
throwIfProxyAuthIsSent(headers);
if (headers && !("host" in headers) && !("Host" in headers)) {
const { host } = new URL(opts.origin);
headers.host = host;
}
return this[kAgent].dispatch({
...opts,
headers
}, handler);
}
#getUrl(opts) {
if (typeof opts === "string") {
return new URL(opts);
} else if (opts instanceof URL) {
return opts;
} else {
return new URL(opts.uri);
}
}
[kClose]() {
const promises = [this[kAgent].close()];
if (this[kClient]) {
promises.push(this[kClient].close());
}
return Promise.all(promises);
}
[kDestroy]() {
const promises = [this[kAgent].destroy()];
if (this[kClient]) {
promises.push(this[kClient].destroy());
}
return Promise.all(promises);
}
}
function buildHeaders2(headers) {
if (Array.isArray(headers)) {
const headersPair = {};
for (let i2 = 0;i2 < headers.length; i2 += 2) {
headersPair[headers[i2]] = headers[i2 + 1];
}
return headersPair;
}
return headers;
}
function throwIfProxyAuthIsSent(headers) {
const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
if (existProxyAuth) {
throw new InvalidArgumentError2("Proxy-Authorization should be sent in ProxyAgent constructor");
}
}
module.exports = ProxyAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
var require_env_http_proxy_agent = __commonJS((exports, module) => {
var DispatcherBase = require_dispatcher_base();
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
var ProxyAgent = require_proxy_agent();
var Agent3 = require_agent();
var DEFAULT_PORTS2 = {
"http:": 80,
"https:": 443
};
class EnvHttpProxyAgent extends DispatcherBase {
#noProxyValue = null;
#noProxyEntries = null;
#opts = null;
constructor(opts = {}) {
super();
this.#opts = opts;
const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts;
this[kNoProxyAgent] = new Agent3(agentOpts);
const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY;
if (HTTP_PROXY) {
this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY });
} else {
this[kHttpProxyAgent] = this[kNoProxyAgent];
}
const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY;
if (HTTPS_PROXY) {
this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY });
} else {
this[kHttpsProxyAgent] = this[kHttpProxyAgent];
}
this.#parseNoProxy();
}
[kDispatch](opts, handler) {
const url3 = new URL(opts.origin);
const agent = this.#getProxyAgentForUrl(url3);
return agent.dispatch(opts, handler);
}
[kClose]() {
return Promise.all([
this[kNoProxyAgent].close(),
!this[kHttpProxyAgent][kClosed] && this[kHttpProxyAgent].close(),
!this[kHttpsProxyAgent][kClosed] && this[kHttpsProxyAgent].close()
]);
}
[kDestroy](err) {
return Promise.all([
this[kNoProxyAgent].destroy(err),
!this[kHttpProxyAgent][kDestroyed] && this[kHttpProxyAgent].destroy(err),
!this[kHttpsProxyAgent][kDestroyed] && this[kHttpsProxyAgent].destroy(err)
]);
}
#getProxyAgentForUrl(url3) {
let { protocol, host: hostname3, port } = url3;
hostname3 = hostname3.replace(/:\d*$/, "").toLowerCase();
port = Number.parseInt(port, 10) || DEFAULT_PORTS2[protocol] || 0;
if (!this.#shouldProxy(hostname3, port)) {
return this[kNoProxyAgent];
}
if (protocol === "https:") {
return this[kHttpsProxyAgent];
}
return this[kHttpProxyAgent];
}
#shouldProxy(hostname3, port) {
if (this.#noProxyChanged) {
this.#parseNoProxy();
}
if (this.#noProxyEntries.length === 0) {
return true;
}
if (this.#noProxyValue === "*") {
return false;
}
for (let i2 = 0;i2 < this.#noProxyEntries.length; i2++) {
const entry = this.#noProxyEntries[i2];
if (entry.port && entry.port !== port) {
continue;
}
if (hostname3 === entry.hostname) {
return false;
}
if (hostname3.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) {
return false;
}
}
return true;
}
#parseNoProxy() {
const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv;
const noProxySplit = noProxyValue.split(/[,\s]/);
const noProxyEntries = [];
for (let i2 = 0;i2 < noProxySplit.length; i2++) {
const entry = noProxySplit[i2];
if (!entry) {
continue;
}
const parsed = entry.match(/^(.+):(\d+)$/);
noProxyEntries.push({
hostname: (parsed ? parsed[1] : entry).replace(/^\*?\./, "").toLowerCase(),
port: parsed ? Number.parseInt(parsed[2], 10) : 0
});
}
this.#noProxyValue = noProxyValue;
this.#noProxyEntries = noProxyEntries;
}
get #noProxyChanged() {
if (this.#opts.noProxy !== undefined) {
return false;
}
return this.#noProxyValue !== this.#noProxyEnv;
}
get #noProxyEnv() {
return process.env.no_proxy ?? process.env.NO_PROXY ?? "";
}
}
module.exports = EnvHttpProxyAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/retry-handler.js
var require_retry_handler = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { kRetryHandlerDefaultRetry } = require_symbols();
var { RequestRetryError } = require_errors();
var WrapHandler = require_wrap_handler();
var {
isDisturbed,
parseRangeHeader,
wrapRequestBody
} = require_util();
function calculateRetryAfterHeader(retryAfter) {
const retryTime = new Date(retryAfter).getTime();
return isNaN(retryTime) ? 0 : retryTime - Date.now();
}
class RetryHandler {
constructor(opts, { dispatch, handler }) {
const { retryOptions, ...dispatchOpts } = opts;
const {
retry: retryFn,
maxRetries,
maxTimeout,
minTimeout,
timeoutFactor,
methods,
errorCodes,
retryAfter,
statusCodes,
throwOnError
} = retryOptions ?? {};
this.error = null;
this.dispatch = dispatch;
this.handler = WrapHandler.wrap(handler);
this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) };
this.retryOpts = {
throwOnError: throwOnError ?? true,
retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],
retryAfter: retryAfter ?? true,
maxTimeout: maxTimeout ?? 30 * 1000,
minTimeout: minTimeout ?? 500,
timeoutFactor: timeoutFactor ?? 2,
maxRetries: maxRetries ?? 5,
methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"],
statusCodes: statusCodes ?? [500, 502, 503, 504, 429],
errorCodes: errorCodes ?? [
"ECONNRESET",
"ECONNREFUSED",
"ENOTFOUND",
"ENETDOWN",
"ENETUNREACH",
"EHOSTDOWN",
"EHOSTUNREACH",
"EPIPE",
"UND_ERR_SOCKET"
]
};
this.retryCount = 0;
this.retryCountCheckpoint = 0;
this.headersSent = false;
this.start = 0;
this.end = null;
this.etag = null;
}
onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err) {
if (this.retryOpts.throwOnError) {
if (this.retryOpts.statusCodes.includes(statusCode) === false) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
} else {
this.error = err;
}
return;
}
if (isDisturbed(this.opts.body)) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
function shouldRetry(passedErr) {
if (passedErr) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
controller.resume();
return;
}
this.error = err;
controller.resume();
}
controller.pause();
this.retryOpts.retry(err, {
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
}, shouldRetry.bind(this));
}
onRequestStart(controller, context) {
if (!this.headersSent) {
this.handler.onRequestStart?.(controller, context);
}
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) {
const { statusCode, code, headers } = err;
const { method, retryOptions } = opts;
const {
maxRetries,
minTimeout,
maxTimeout,
timeoutFactor,
statusCodes,
errorCodes,
methods
} = retryOptions;
const { counter } = state;
if (code && code !== "UND_ERR_REQ_RETRY" && !errorCodes.includes(code)) {
cb(err);
return;
}
if (Array.isArray(methods) && !methods.includes(method)) {
cb(err);
return;
}
if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) {
cb(err);
return;
}
if (counter > maxRetries) {
cb(err);
return;
}
let retryAfterHeader = headers?.["retry-after"];
if (retryAfterHeader) {
retryAfterHeader = Number(retryAfterHeader);
retryAfterHeader = Number.isNaN(retryAfterHeader) ? calculateRetryAfterHeader(headers["retry-after"]) : retryAfterHeader * 1000;
}
const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout);
setTimeout(() => cb(null), retryTimeout);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.error = null;
this.retryCount += 1;
if (statusCode >= 300) {
const err = new RequestRetryError("Request failed", statusCode, {
headers,
data: {
count: this.retryCount
}
});
this.onResponseStartWithRetry(controller, statusCode, headers, statusMessage, err);
return;
}
if (this.headersSent) {
if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {
throw new RequestRetryError("server does not support the range header and the payload was partially consumed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const contentRange = parseRangeHeader(headers["content-range"]);
if (!contentRange) {
throw new RequestRetryError("Content-Range mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
if (this.etag != null && this.etag !== headers.etag) {
throw new RequestRetryError("ETag mismatch", statusCode, {
headers,
data: { count: this.retryCount }
});
}
const { start, size, end = size ? size - 1 : null } = contentRange;
assert3(this.start === start, "content-range mismatch");
assert3(this.end == null || this.end === end, "content-range mismatch");
return;
}
if (this.end == null) {
if (statusCode === 206) {
const range = parseRangeHeader(headers["content-range"]);
if (range == null) {
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
const { start, size, end = size ? size - 1 : null } = range;
assert3(start != null && Number.isFinite(start), "content-range mismatch");
assert3(end != null && Number.isFinite(end), "invalid content-length");
this.start = start;
this.end = end;
}
if (this.end == null) {
const contentLength = headers["content-length"];
this.end = contentLength != null ? Number(contentLength) - 1 : null;
}
assert3(Number.isFinite(this.start));
assert3(this.end == null || Number.isFinite(this.end), "invalid content-length");
this.resume = true;
this.etag = headers.etag != null ? headers.etag : null;
if (this.etag != null && this.etag[0] === "W" && this.etag[1] === "/") {
this.etag = null;
}
this.headersSent = true;
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
} else {
throw new RequestRetryError("Request failed", statusCode, {
headers,
data: { count: this.retryCount }
});
}
}
onResponseData(controller, chunk) {
if (this.error) {
return;
}
this.start += chunk.length;
this.handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.error && this.retryOpts.throwOnError) {
throw this.error;
}
if (!this.error) {
this.retryCount = 0;
return this.handler.onResponseEnd?.(controller, trailers);
}
this.retry(controller);
}
retry(controller) {
if (this.start !== 0) {
const headers = { range: `bytes=${this.start}-${this.end ?? ""}` };
if (this.etag != null) {
headers["if-match"] = this.etag;
}
this.opts = {
...this.opts,
headers: {
...this.opts.headers,
...headers
}
};
}
try {
this.retryCountCheckpoint = this.retryCount;
this.dispatch(this.opts, this);
} catch (err) {
this.handler.onResponseError?.(controller, err);
}
}
onResponseError(controller, err) {
if (controller?.aborted || isDisturbed(this.opts.body)) {
this.handler.onResponseError?.(controller, err);
return;
}
function shouldRetry(returnedErr) {
if (!returnedErr) {
this.retry(controller);
return;
}
this.handler?.onResponseError?.(controller, returnedErr);
}
if (this.retryCount - this.retryCountCheckpoint > 0) {
this.retryCount = this.retryCountCheckpoint + (this.retryCount - this.retryCountCheckpoint);
} else {
this.retryCount += 1;
}
this.retryOpts.retry(err, {
state: { counter: this.retryCount },
opts: { retryOptions: this.retryOpts, ...this.opts }
}, shouldRetry.bind(this));
}
}
module.exports = RetryHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/retry-agent.js
var require_retry_agent = __commonJS((exports, module) => {
var Dispatcher = require_dispatcher();
var RetryHandler = require_retry_handler();
class RetryAgent extends Dispatcher {
#agent = null;
#options = null;
constructor(agent, options = {}) {
super(options);
this.#agent = agent;
this.#options = options;
}
dispatch(opts, handler) {
const retry = new RetryHandler({
...opts,
retryOptions: this.#options
}, {
dispatch: this.#agent.dispatch.bind(this.#agent),
handler
});
return this.#agent.dispatch(opts, retry);
}
close() {
return this.#agent.close();
}
destroy() {
return this.#agent.destroy();
}
}
module.exports = RetryAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/dispatcher/h2c-client.js
var require_h2c_client = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var Client = require_client();
class H2CClient extends Client {
constructor(origin2, clientOpts) {
if (typeof origin2 === "string") {
origin2 = new URL(origin2);
}
if (origin2.protocol !== "http:") {
throw new InvalidArgumentError2("h2c-client: Only h2c protocol is supported");
}
const { connect: connect3, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {};
let defaultMaxConcurrentStreams = 100;
let defaultPipelining = 100;
if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) {
defaultMaxConcurrentStreams = maxConcurrentStreams;
}
if (pipelining != null && Number.isInteger(pipelining) && pipelining > 0) {
defaultPipelining = pipelining;
}
if (defaultPipelining > defaultMaxConcurrentStreams) {
throw new InvalidArgumentError2("h2c-client: pipelining cannot be greater than maxConcurrentStreams");
}
super(origin2, {
...opts,
maxConcurrentStreams: defaultMaxConcurrentStreams,
pipelining: defaultPipelining,
allowH2: true,
useH2c: true
});
}
}
module.exports = H2CClient;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/readable.js
var require_readable = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { Readable: Readable5 } = __require("node:stream");
var { RequestAbortedError, NotSupportedError, InvalidArgumentError: InvalidArgumentError2, AbortError: AbortError2 } = require_errors();
var util3 = require_util();
var { ReadableStreamFrom: ReadableStreamFrom2 } = require_util();
var kConsume = Symbol("kConsume");
var kReading = Symbol("kReading");
var kBody = Symbol("kBody");
var kAbort = Symbol("kAbort");
var kContentType = Symbol("kContentType");
var kContentLength = Symbol("kContentLength");
var kUsed = Symbol("kUsed");
var kBytesRead = Symbol("kBytesRead");
var noop7 = () => {};
class BodyReadable extends Readable5 {
constructor({
resume: resume2,
abort,
contentType = "",
contentLength,
highWaterMark = 64 * 1024
}) {
super({
autoDestroy: true,
read: resume2,
highWaterMark
});
this._readableState.dataEmitted = false;
this[kAbort] = abort;
this[kConsume] = null;
this[kBytesRead] = 0;
this[kBody] = null;
this[kUsed] = false;
this[kContentType] = contentType;
this[kContentLength] = Number.isFinite(contentLength) ? contentLength : null;
this[kReading] = false;
}
_destroy(err, callback) {
if (!err && !this._readableState.endEmitted) {
err = new RequestAbortedError;
}
if (err) {
this[kAbort]();
}
if (!this[kUsed]) {
setImmediate(callback, err);
} else {
callback(err);
}
}
on(event, listener) {
if (event === "data" || event === "readable") {
this[kReading] = true;
this[kUsed] = true;
}
return super.on(event, listener);
}
addListener(event, listener) {
return this.on(event, listener);
}
off(event, listener) {
const ret = super.off(event, listener);
if (event === "data" || event === "readable") {
this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0;
}
return ret;
}
removeListener(event, listener) {
return this.off(event, listener);
}
push(chunk) {
if (chunk) {
this[kBytesRead] += chunk.length;
if (this[kConsume]) {
consumePush(this[kConsume], chunk);
return this[kReading] ? super.push(chunk) : true;
}
}
return super.push(chunk);
}
text() {
return consume(this, "text");
}
json() {
return consume(this, "json");
}
blob() {
return consume(this, "blob");
}
bytes() {
return consume(this, "bytes");
}
arrayBuffer() {
return consume(this, "arrayBuffer");
}
async formData() {
throw new NotSupportedError;
}
get bodyUsed() {
return util3.isDisturbed(this);
}
get body() {
if (!this[kBody]) {
this[kBody] = ReadableStreamFrom2(this);
if (this[kConsume]) {
this[kBody].getReader();
assert3(this[kBody].locked);
}
}
return this[kBody];
}
dump(opts) {
const signal = opts?.signal;
if (signal != null && (typeof signal !== "object" || !("aborted" in signal))) {
return Promise.reject(new InvalidArgumentError2("signal must be an AbortSignal"));
}
const limit = opts?.limit && Number.isFinite(opts.limit) ? opts.limit : 128 * 1024;
if (signal?.aborted) {
return Promise.reject(signal.reason ?? new AbortError2);
}
if (this._readableState.closeEmitted) {
return Promise.resolve(null);
}
return new Promise((resolve9, reject) => {
if (this[kContentLength] && this[kContentLength] > limit || this[kBytesRead] > limit) {
this.destroy(new AbortError2);
}
if (signal) {
const onAbort = () => {
this.destroy(signal.reason ?? new AbortError2);
};
signal.addEventListener("abort", onAbort);
this.on("close", function() {
signal.removeEventListener("abort", onAbort);
if (signal.aborted) {
reject(signal.reason ?? new AbortError2);
} else {
resolve9(null);
}
});
} else {
this.on("close", resolve9);
}
this.on("error", noop7).on("data", () => {
if (this[kBytesRead] > limit) {
this.destroy();
}
}).resume();
});
}
setEncoding(encoding) {
if (Buffer.isEncoding(encoding)) {
this._readableState.encoding = encoding;
}
return this;
}
}
function isLocked(bodyReadable) {
return bodyReadable[kBody]?.locked === true || bodyReadable[kConsume] !== null;
}
function isUnusable(bodyReadable) {
return util3.isDisturbed(bodyReadable) || isLocked(bodyReadable);
}
function consume(stream4, type) {
assert3(!stream4[kConsume]);
return new Promise((resolve9, reject) => {
if (isUnusable(stream4)) {
const rState = stream4._readableState;
if (rState.destroyed && rState.closeEmitted === false) {
stream4.on("error", reject).on("close", () => {
reject(new TypeError("unusable"));
});
} else {
reject(rState.errored ?? new TypeError("unusable"));
}
} else {
queueMicrotask(() => {
stream4[kConsume] = {
type,
stream: stream4,
resolve: resolve9,
reject,
length: 0,
body: []
};
stream4.on("error", function(err) {
consumeFinish(this[kConsume], err);
}).on("close", function() {
if (this[kConsume].body !== null) {
consumeFinish(this[kConsume], new RequestAbortedError);
}
});
consumeStart(stream4[kConsume]);
});
}
});
}
function consumeStart(consume2) {
if (consume2.body === null) {
return;
}
const { _readableState: state } = consume2.stream;
if (state.bufferIndex) {
const start = state.bufferIndex;
const end = state.buffer.length;
for (let n2 = start;n2 < end; n2++) {
consumePush(consume2, state.buffer[n2]);
}
} else {
for (const chunk of state.buffer) {
consumePush(consume2, chunk);
}
}
if (state.endEmitted) {
consumeEnd(this[kConsume], this._readableState.encoding);
} else {
consume2.stream.on("end", function() {
consumeEnd(this[kConsume], this._readableState.encoding);
});
}
consume2.stream.resume();
while (consume2.stream.read() != null) {}
}
function chunksDecode(chunks, length, encoding) {
if (chunks.length === 0 || length === 0) {
return "";
}
const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length);
const bufferLength = buffer.length;
const start = bufferLength > 2 && buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191 ? 3 : 0;
if (!encoding || encoding === "utf8" || encoding === "utf-8") {
return buffer.utf8Slice(start, bufferLength);
} else {
return buffer.subarray(start, bufferLength).toString(encoding);
}
}
function chunksConcat(chunks, length) {
if (chunks.length === 0 || length === 0) {
return new Uint8Array(0);
}
if (chunks.length === 1) {
return new Uint8Array(chunks[0]);
}
const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer);
let offset = 0;
for (let i2 = 0;i2 < chunks.length; ++i2) {
const chunk = chunks[i2];
buffer.set(chunk, offset);
offset += chunk.length;
}
return buffer;
}
function consumeEnd(consume2, encoding) {
const { type, body, resolve: resolve9, stream: stream4, length } = consume2;
try {
if (type === "text") {
resolve9(chunksDecode(body, length, encoding));
} else if (type === "json") {
resolve9(JSON.parse(chunksDecode(body, length, encoding)));
} else if (type === "arrayBuffer") {
resolve9(chunksConcat(body, length).buffer);
} else if (type === "blob") {
resolve9(new Blob(body, { type: stream4[kContentType] }));
} else if (type === "bytes") {
resolve9(chunksConcat(body, length));
}
consumeFinish(consume2);
} catch (err) {
stream4.destroy(err);
}
}
function consumePush(consume2, chunk) {
consume2.length += chunk.length;
consume2.body.push(chunk);
}
function consumeFinish(consume2, err) {
if (consume2.body === null) {
return;
}
if (err) {
consume2.reject(err);
} else {
consume2.resolve();
}
consume2.type = null;
consume2.stream = null;
consume2.resolve = null;
consume2.reject = null;
consume2.length = 0;
consume2.body = null;
}
module.exports = {
Readable: BodyReadable,
chunksDecode
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/api-request.js
var require_api_request = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var { Readable: Readable5 } = require_readable();
var { InvalidArgumentError: InvalidArgumentError2, RequestAbortedError } = require_errors();
var util3 = require_util();
function noop7() {}
class RequestHandler extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
const { signal, method, opaque, body, onInfo, responseHeaders, highWaterMark } = opts;
try {
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) {
throw new InvalidArgumentError2("invalid highWaterMark");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError2("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError2("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError2("invalid onInfo callback");
}
super("UNDICI_REQUEST");
} catch (err) {
if (util3.isStream(body)) {
util3.destroy(body.on("error", noop7), err);
}
throw err;
}
this.method = method;
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback;
this.res = null;
this.abort = null;
this.body = body;
this.trailers = {};
this.context = null;
this.onInfo = onInfo || null;
this.highWaterMark = highWaterMark;
this.reason = null;
this.removeAbortListener = null;
if (signal?.aborted) {
this.reason = signal.reason ?? new RequestAbortedError;
} else if (signal) {
this.removeAbortListener = util3.addAbortListener(signal, () => {
this.reason = signal.reason ?? new RequestAbortedError;
if (this.res) {
util3.destroy(this.res.on("error", noop7), this.reason);
} else if (this.abort) {
this.abort(this.reason);
}
});
}
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert3(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume2, statusMessage) {
const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this;
const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
const parsedHeaders = responseHeaders === "raw" ? util3.parseHeaders(rawHeaders) : headers;
const contentType = parsedHeaders["content-type"];
const contentLength = parsedHeaders["content-length"];
const res = new Readable5({
resume: resume2,
abort,
contentType,
contentLength: this.method !== "HEAD" && contentLength ? Number(contentLength) : null,
highWaterMark
});
if (this.removeAbortListener) {
res.on("close", this.removeAbortListener);
this.removeAbortListener = null;
}
this.callback = null;
this.res = res;
if (callback !== null) {
try {
this.runInAsyncScope(callback, null, null, {
statusCode,
statusText: statusMessage,
headers,
trailers: this.trailers,
opaque,
body: res,
context
});
} catch (err) {
this.res = null;
util3.destroy(res.on("error", noop7), err);
queueMicrotask(() => {
throw err;
});
}
}
}
onData(chunk) {
return this.res.push(chunk);
}
onComplete(trailers) {
util3.parseHeaders(trailers, this.trailers);
this.res.push(null);
}
onError(err) {
const { res, callback, body, opaque } = this;
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err, { opaque });
});
}
if (res) {
this.res = null;
queueMicrotask(() => {
util3.destroy(res.on("error", noop7), err);
});
}
if (body) {
this.body = null;
if (util3.isStream(body)) {
body.on("error", noop7);
util3.destroy(body, err);
}
}
if (this.removeAbortListener) {
this.removeAbortListener();
this.removeAbortListener = null;
}
}
}
function request(opts, callback) {
if (callback === undefined) {
return new Promise((resolve9, reject) => {
request.call(this, opts, (err, data) => {
return err ? reject(err) : resolve9(data);
});
});
}
try {
const handler = new RequestHandler(opts, callback);
this.dispatch(opts, handler);
} catch (err) {
if (typeof callback !== "function") {
throw err;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err, { opaque }));
}
}
module.exports = request;
module.exports.RequestHandler = RequestHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/abort-signal.js
var require_abort_signal = __commonJS((exports, module) => {
var { addAbortListener: addAbortListener3 } = require_util();
var { RequestAbortedError } = require_errors();
var kListener = Symbol("kListener");
var kSignal = Symbol("kSignal");
function abort(self2) {
if (self2.abort) {
self2.abort(self2[kSignal]?.reason);
} else {
self2.reason = self2[kSignal]?.reason ?? new RequestAbortedError;
}
removeSignal(self2);
}
function addSignal(self2, signal) {
self2.reason = null;
self2[kSignal] = null;
self2[kListener] = null;
if (!signal) {
return;
}
if (signal.aborted) {
abort(self2);
return;
}
self2[kSignal] = signal;
self2[kListener] = () => {
abort(self2);
};
addAbortListener3(self2[kSignal], self2[kListener]);
}
function removeSignal(self2) {
if (!self2[kSignal]) {
return;
}
if ("removeEventListener" in self2[kSignal]) {
self2[kSignal].removeEventListener("abort", self2[kListener]);
} else {
self2[kSignal].removeListener("abort", self2[kListener]);
}
self2[kSignal] = null;
self2[kListener] = null;
}
module.exports = {
addSignal,
removeSignal
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/api-stream.js
var require_api_stream = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { finished: finished7 } = __require("node:stream");
var { AsyncResource } = __require("node:async_hooks");
var { InvalidArgumentError: InvalidArgumentError2, InvalidReturnValueError } = require_errors();
var util3 = require_util();
var { addSignal, removeSignal } = require_abort_signal();
function noop7() {}
class StreamHandler extends AsyncResource {
constructor(opts, factory2, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
const { signal, method, opaque, body, onInfo, responseHeaders } = opts;
try {
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
if (typeof factory2 !== "function") {
throw new InvalidArgumentError2("invalid factory");
}
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError2("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError2("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError2("invalid onInfo callback");
}
super("UNDICI_STREAM");
} catch (err) {
if (util3.isStream(body)) {
util3.destroy(body.on("error", noop7), err);
}
throw err;
}
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.factory = factory2;
this.callback = callback;
this.res = null;
this.abort = null;
this.context = null;
this.trailers = null;
this.body = body;
this.onInfo = onInfo || null;
if (util3.isStream(body)) {
body.on("error", (err) => {
this.onError(err);
});
}
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert3(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume2, statusMessage) {
const { factory: factory2, opaque, context, responseHeaders } = this;
const headers = responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
if (statusCode < 200) {
if (this.onInfo) {
this.onInfo({ statusCode, headers });
}
return;
}
this.factory = null;
if (factory2 === null) {
return;
}
const res = this.runInAsyncScope(factory2, null, {
statusCode,
headers,
opaque,
context
});
if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") {
throw new InvalidReturnValueError("expected Writable");
}
finished7(res, { readable: false }, (err) => {
const { callback, res: res2, opaque: opaque2, trailers, abort } = this;
this.res = null;
if (err || !res2?.readable) {
util3.destroy(res2, err);
}
this.callback = null;
this.runInAsyncScope(callback, null, err || null, { opaque: opaque2, trailers });
if (err) {
abort();
}
});
res.on("drain", resume2);
this.res = res;
const needDrain = res.writableNeedDrain !== undefined ? res.writableNeedDrain : res._writableState?.needDrain;
return needDrain !== true;
}
onData(chunk) {
const { res } = this;
return res ? res.write(chunk) : true;
}
onComplete(trailers) {
const { res } = this;
removeSignal(this);
if (!res) {
return;
}
this.trailers = util3.parseHeaders(trailers);
res.end();
}
onError(err) {
const { res, callback, opaque, body } = this;
removeSignal(this);
this.factory = null;
if (res) {
this.res = null;
util3.destroy(res, err);
} else if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err, { opaque });
});
}
if (body) {
this.body = null;
util3.destroy(body, err);
}
}
}
function stream4(opts, factory2, callback) {
if (callback === undefined) {
return new Promise((resolve9, reject) => {
stream4.call(this, opts, factory2, (err, data) => {
return err ? reject(err) : resolve9(data);
});
});
}
try {
const handler = new StreamHandler(opts, factory2, callback);
this.dispatch(opts, handler);
} catch (err) {
if (typeof callback !== "function") {
throw err;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err, { opaque }));
}
}
module.exports = stream4;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/api-pipeline.js
var require_api_pipeline = __commonJS((exports, module) => {
var {
Readable: Readable5,
Duplex: Duplex4,
PassThrough: PassThrough2
} = __require("node:stream");
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var {
InvalidArgumentError: InvalidArgumentError2,
InvalidReturnValueError,
RequestAbortedError
} = require_errors();
var util3 = require_util();
var { addSignal, removeSignal } = require_abort_signal();
function noop7() {}
var kResume = Symbol("resume");
class PipelineRequest extends Readable5 {
constructor() {
super({ autoDestroy: true });
this[kResume] = null;
}
_read() {
const { [kResume]: resume2 } = this;
if (resume2) {
this[kResume] = null;
resume2();
}
}
_destroy(err, callback) {
this._read();
callback(err);
}
}
class PipelineResponse extends Readable5 {
constructor(resume2) {
super({ autoDestroy: true });
this[kResume] = resume2;
}
_read() {
this[kResume]();
}
_destroy(err, callback) {
if (!err && !this._readableState.endEmitted) {
err = new RequestAbortedError;
}
callback(err);
}
}
class PipelineHandler extends AsyncResource {
constructor(opts, handler) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
if (typeof handler !== "function") {
throw new InvalidArgumentError2("invalid handler");
}
const { signal, method, opaque, onInfo, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError2("signal must be an EventEmitter or EventTarget");
}
if (method === "CONNECT") {
throw new InvalidArgumentError2("invalid method");
}
if (onInfo && typeof onInfo !== "function") {
throw new InvalidArgumentError2("invalid onInfo callback");
}
super("UNDICI_PIPELINE");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.handler = handler;
this.abort = null;
this.context = null;
this.onInfo = onInfo || null;
this.req = new PipelineRequest().on("error", noop7);
this.ret = new Duplex4({
readableObjectMode: opts.objectMode,
autoDestroy: true,
read: () => {
const { body } = this;
if (body?.resume) {
body.resume();
}
},
write: (chunk, encoding, callback) => {
const { req } = this;
if (req.push(chunk, encoding) || req._readableState.destroyed) {
callback();
} else {
req[kResume] = callback;
}
},
destroy: (err, callback) => {
const { body, req, res, ret, abort } = this;
if (!err && !ret._readableState.endEmitted) {
err = new RequestAbortedError;
}
if (abort && err) {
abort();
}
util3.destroy(body, err);
util3.destroy(req, err);
util3.destroy(res, err);
removeSignal(this);
callback(err);
}
}).on("prefinish", () => {
const { req } = this;
req.push(null);
});
this.res = null;
addSignal(this, signal);
}
onConnect(abort, context) {
const { res } = this;
if (this.reason) {
abort(this.reason);
return;
}
assert3(!res, "pipeline cannot be retried");
this.abort = abort;
this.context = context;
}
onHeaders(statusCode, rawHeaders, resume2) {
const { opaque, handler, context } = this;
if (statusCode < 200) {
if (this.onInfo) {
const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
this.onInfo({ statusCode, headers });
}
return;
}
this.res = new PipelineResponse(resume2);
let body;
try {
this.handler = null;
const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
body = this.runInAsyncScope(handler, null, {
statusCode,
headers,
opaque,
body: this.res,
context
});
} catch (err) {
this.res.on("error", noop7);
throw err;
}
if (!body || typeof body.on !== "function") {
throw new InvalidReturnValueError("expected Readable");
}
body.on("data", (chunk) => {
const { ret, body: body2 } = this;
if (!ret.push(chunk) && body2.pause) {
body2.pause();
}
}).on("error", (err) => {
const { ret } = this;
util3.destroy(ret, err);
}).on("end", () => {
const { ret } = this;
ret.push(null);
}).on("close", () => {
const { ret } = this;
if (!ret._readableState.ended) {
util3.destroy(ret, new RequestAbortedError);
}
});
this.body = body;
}
onData(chunk) {
const { res } = this;
return res.push(chunk);
}
onComplete(trailers) {
const { res } = this;
res.push(null);
}
onError(err) {
const { ret } = this;
this.handler = null;
util3.destroy(ret, err);
}
}
function pipeline(opts, handler) {
try {
const pipelineHandler = new PipelineHandler(opts, handler);
this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler);
return pipelineHandler.ret;
} catch (err) {
return new PassThrough2().destroy(err);
}
}
module.exports = pipeline;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/api-upgrade.js
var require_api_upgrade = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2, SocketError } = require_errors();
var { AsyncResource } = __require("node:async_hooks");
var assert3 = __require("node:assert");
var util3 = require_util();
var { kHTTP2Stream } = require_symbols();
var { addSignal, removeSignal } = require_abort_signal();
class UpgradeHandler extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
const { signal, opaque, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError2("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_UPGRADE");
this.responseHeaders = responseHeaders || null;
this.opaque = opaque || null;
this.callback = callback;
this.abort = null;
this.context = null;
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert3(this.callback);
this.abort = abort;
this.context = null;
}
onHeaders() {
throw new SocketError("bad upgrade", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
assert3(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101);
const { callback, opaque, context } = this;
removeSignal(this);
this.callback = null;
const headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
this.runInAsyncScope(callback, null, null, {
headers,
socket,
opaque,
context
});
}
onError(err) {
const { callback, opaque } = this;
removeSignal(this);
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err, { opaque });
});
}
}
}
function upgrade(opts, callback) {
if (callback === undefined) {
return new Promise((resolve9, reject) => {
upgrade.call(this, opts, (err, data) => {
return err ? reject(err) : resolve9(data);
});
});
}
try {
const upgradeHandler = new UpgradeHandler(opts, callback);
const upgradeOpts = {
...opts,
method: opts.method || "GET",
upgrade: opts.protocol || "Websocket"
};
this.dispatch(upgradeOpts, upgradeHandler);
} catch (err) {
if (typeof callback !== "function") {
throw err;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err, { opaque }));
}
}
module.exports = upgrade;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/api-connect.js
var require_api_connect = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { AsyncResource } = __require("node:async_hooks");
var { InvalidArgumentError: InvalidArgumentError2, SocketError } = require_errors();
var util3 = require_util();
var { addSignal, removeSignal } = require_abort_signal();
class ConnectHandler extends AsyncResource {
constructor(opts, callback) {
if (!opts || typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
if (typeof callback !== "function") {
throw new InvalidArgumentError2("invalid callback");
}
const { signal, opaque, responseHeaders } = opts;
if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") {
throw new InvalidArgumentError2("signal must be an EventEmitter or EventTarget");
}
super("UNDICI_CONNECT");
this.opaque = opaque || null;
this.responseHeaders = responseHeaders || null;
this.callback = callback;
this.abort = null;
addSignal(this, signal);
}
onConnect(abort, context) {
if (this.reason) {
abort(this.reason);
return;
}
assert3(this.callback);
this.abort = abort;
this.context = context;
}
onHeaders() {
throw new SocketError("bad connect", null);
}
onUpgrade(statusCode, rawHeaders, socket) {
const { callback, opaque, context } = this;
removeSignal(this);
this.callback = null;
let headers = rawHeaders;
if (headers != null) {
headers = this.responseHeaders === "raw" ? util3.parseRawHeaders(rawHeaders) : util3.parseHeaders(rawHeaders);
}
this.runInAsyncScope(callback, null, null, {
statusCode,
headers,
socket,
opaque,
context
});
}
onError(err) {
const { callback, opaque } = this;
removeSignal(this);
if (callback) {
this.callback = null;
queueMicrotask(() => {
this.runInAsyncScope(callback, null, err, { opaque });
});
}
}
}
function connect3(opts, callback) {
if (callback === undefined) {
return new Promise((resolve9, reject) => {
connect3.call(this, opts, (err, data) => {
return err ? reject(err) : resolve9(data);
});
});
}
try {
const connectHandler = new ConnectHandler(opts, callback);
const connectOptions = { ...opts, method: "CONNECT" };
this.dispatch(connectOptions, connectHandler);
} catch (err) {
if (typeof callback !== "function") {
throw err;
}
const opaque = opts?.opaque;
queueMicrotask(() => callback(err, { opaque }));
}
}
module.exports = connect3;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/api/index.js
var require_api = __commonJS((exports, module) => {
exports.request = require_api_request();
exports.stream = require_api_stream();
exports.pipeline = require_api_pipeline();
exports.upgrade = require_api_upgrade();
exports.connect = require_api_connect();
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-errors.js
var require_mock_errors = __commonJS((exports, module) => {
var { UndiciError } = require_errors();
var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
class MockNotMatchedError extends UndiciError {
constructor(message) {
super(message);
this.name = "MockNotMatchedError";
this.message = message || "The request does not match any registered mock dispatches";
this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED";
}
static [Symbol.hasInstance](instance) {
return instance && instance[kMockNotMatchedError] === true;
}
get [kMockNotMatchedError]() {
return true;
}
}
module.exports = {
MockNotMatchedError
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-symbols.js
var require_mock_symbols = __commonJS((exports, module) => {
module.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")
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-utils.js
var require_mock_utils = __commonJS((exports, module) => {
var { MockNotMatchedError } = require_mock_errors();
var {
kDispatches,
kMockAgent,
kOriginalDispatch,
kOrigin,
kGetNetConnect,
kTotalDispatchCount
} = require_mock_symbols();
var { serializePathWithQuery } = require_util();
var { STATUS_CODES } = __require("node:http");
var {
types: {
isPromise
}
} = __require("node:util");
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
function matchValue(match, value) {
if (typeof match === "string") {
return match === value;
}
if (match instanceof RegExp) {
return match.test(value);
}
if (typeof match === "function") {
return match(value) === true;
}
return false;
}
function lowerCaseEntries(headers) {
return Object.fromEntries(Object.entries(headers).map(([headerName, headerValue]) => {
return [headerName.toLocaleLowerCase(), headerValue];
}));
}
function getHeaderByName(headers, key) {
if (Array.isArray(headers)) {
for (let i2 = 0;i2 < headers.length; i2 += 2) {
if (headers[i2].toLocaleLowerCase() === key.toLocaleLowerCase()) {
return headers[i2 + 1];
}
}
return;
} else if (typeof headers.get === "function") {
return headers.get(key);
} else {
return lowerCaseEntries(headers)[key.toLocaleLowerCase()];
}
}
function buildHeadersFromArray(headers) {
const clone3 = headers.slice();
const entries = [];
for (let index = 0;index < clone3.length; index += 2) {
entries.push([clone3[index], clone3[index + 1]]);
}
return Object.fromEntries(entries);
}
function matchHeaders(mockDispatch2, headers) {
if (typeof mockDispatch2.headers === "function") {
if (Array.isArray(headers)) {
headers = buildHeadersFromArray(headers);
}
return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {});
}
if (typeof mockDispatch2.headers === "undefined") {
return true;
}
if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") {
return false;
}
for (const [matchHeaderName, matchHeaderValue2] of Object.entries(mockDispatch2.headers)) {
const headerValue = getHeaderByName(headers, matchHeaderName);
if (!matchValue(matchHeaderValue2, headerValue)) {
return false;
}
}
return true;
}
function normalizeSearchParams(query) {
if (typeof query !== "string") {
return query;
}
const originalQp = new URLSearchParams(query);
const normalizedQp = new URLSearchParams;
for (let [key, value] of originalQp.entries()) {
key = key.replace("[]", "");
const valueRepresentsString = /^(['"]).*\1$/.test(value);
if (valueRepresentsString) {
normalizedQp.append(key, value);
continue;
}
if (value.includes(",")) {
const values = value.split(",");
for (const v2 of values) {
normalizedQp.append(key, v2);
}
continue;
}
normalizedQp.append(key, value);
}
return normalizedQp;
}
function safeUrl(path9) {
if (typeof path9 !== "string") {
return path9;
}
const pathSegments = path9.split("?", 3);
if (pathSegments.length !== 2) {
return path9;
}
const qp = new URLSearchParams(pathSegments.pop());
qp.sort();
return [...pathSegments, qp.toString()].join("?");
}
function matchKey(mockDispatch2, { path: path9, method, body, headers }) {
const pathMatch = matchValue(mockDispatch2.path, path9);
const methodMatch = matchValue(mockDispatch2.method, method);
const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
const headersMatch = matchHeaders(mockDispatch2, headers);
return pathMatch && methodMatch && bodyMatch && headersMatch;
}
function getResponseData(data) {
if (Buffer.isBuffer(data)) {
return data;
} else if (data instanceof Uint8Array) {
return data;
} else if (data instanceof ArrayBuffer) {
return data;
} else if (typeof data === "object") {
return JSON.stringify(data);
} else if (data) {
return data.toString();
} else {
return "";
}
}
function getMockDispatch(mockDispatches, key) {
const basePath = key.query ? serializePathWithQuery(key.path, key.query) : key.path;
const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath;
const resolvedPathWithoutTrailingSlash = removeTrailingSlash(resolvedPath);
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path9, ignoreTrailingSlash }) => {
return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(path9)), resolvedPathWithoutTrailingSlash) : matchValue(safeUrl(path9), resolvedPath);
});
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method));
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true);
if (matchedMockDispatches.length === 0) {
throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`);
}
matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers));
if (matchedMockDispatches.length === 0) {
const headers = typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers;
throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`);
}
return matchedMockDispatches[0];
}
function addMockDispatch(mockDispatches, key, data, opts) {
const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false, ...opts };
const replyData = typeof data === "function" ? { callback: data } : { ...data };
const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } };
mockDispatches.push(newMockDispatch);
mockDispatches[kTotalDispatchCount] = (mockDispatches[kTotalDispatchCount] || 0) + 1;
return newMockDispatch;
}
function deleteMockDispatch(mockDispatches, key) {
const index = mockDispatches.findIndex((dispatch) => {
if (!dispatch.consumed) {
return false;
}
return matchKey(dispatch, key);
});
if (index !== -1) {
mockDispatches.splice(index, 1);
}
}
function removeTrailingSlash(path9) {
while (path9.endsWith("/")) {
path9 = path9.slice(0, -1);
}
if (path9.length === 0) {
path9 = "/";
}
return path9;
}
function buildKey(opts) {
const { path: path9, method, body, headers, query } = opts;
return {
path: path9,
method,
body,
headers,
query
};
}
function generateKeyValues(data) {
const keys2 = Object.keys(data);
const result = [];
for (let i2 = 0;i2 < keys2.length; ++i2) {
const key = keys2[i2];
const value = data[key];
const name = Buffer.from(`${key}`);
if (Array.isArray(value)) {
for (let j2 = 0;j2 < value.length; ++j2) {
result.push(name, Buffer.from(`${value[j2]}`));
}
} else {
result.push(name, Buffer.from(`${value}`));
}
}
return result;
}
function getStatusText(statusCode) {
return STATUS_CODES[statusCode] || "unknown";
}
async function getResponse(body) {
const buffers = [];
for await (const data of body) {
buffers.push(data);
}
return Buffer.concat(buffers).toString("utf8");
}
function mockDispatch(opts, handler) {
const key = buildKey(opts);
const mockDispatch2 = getMockDispatch(this[kDispatches], key);
mockDispatch2.timesInvoked++;
if (mockDispatch2.data.callback) {
mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) };
}
const { data: { statusCode, data, headers, trailers, error: error49 }, delay, persist } = mockDispatch2;
const { timesInvoked, times } = mockDispatch2;
mockDispatch2.consumed = !persist && timesInvoked >= times;
mockDispatch2.pending = timesInvoked < times;
if (error49 !== null) {
deleteMockDispatch(this[kDispatches], key);
handler.onError(error49);
return true;
}
let aborted3 = false;
let timer = null;
function abort(err) {
if (aborted3) {
return;
}
aborted3 = true;
if (timer !== null) {
clearTimeout(timer);
timer = null;
}
handler.onError(err);
}
handler.onConnect?.(abort, null);
if (typeof delay === "number" && delay > 0) {
timer = setTimeout(() => {
timer = null;
handleReply(this[kDispatches]);
}, delay);
} else {
handleReply(this[kDispatches]);
}
function handleReply(mockDispatches, _data = data) {
if (aborted3) {
return;
}
const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
if (isPromise(body)) {
return body.then((newData) => handleReply(mockDispatches, newData));
}
if (aborted3) {
return;
}
const responseData = getResponseData(body);
const responseHeaders = generateKeyValues(headers);
const responseTrailers = generateKeyValues(trailers);
handler.onHeaders?.(statusCode, responseHeaders, resume2, getStatusText(statusCode));
handler.onData?.(Buffer.from(responseData));
handler.onComplete?.(responseTrailers);
deleteMockDispatch(mockDispatches, key);
}
function resume2() {}
return true;
}
function buildMockDispatch() {
const agent = this[kMockAgent];
const origin2 = this[kOrigin];
const originalDispatch = this[kOriginalDispatch];
return function dispatch(opts, handler) {
if (agent.isMockActive) {
try {
mockDispatch.call(this, opts, handler);
} catch (error49) {
if (error49.code === "UND_MOCK_ERR_MOCK_NOT_MATCHED") {
const netConnect = agent[kGetNetConnect]();
const totalInterceptsCount = this[kDispatches][kTotalDispatchCount] || this[kDispatches].length;
const pendingInterceptsCount = this[kDispatches].filter(({ consumed }) => !consumed).length;
const interceptsMessage = `, ${pendingInterceptsCount} interceptor(s) remaining out of ${totalInterceptsCount} defined`;
if (netConnect === false) {
throw new MockNotMatchedError(`${error49.message}: subsequent request to origin ${origin2} was not allowed (net.connect disabled)${interceptsMessage}`);
}
if (checkNetConnect(netConnect, origin2)) {
originalDispatch.call(this, opts, handler);
} else {
throw new MockNotMatchedError(`${error49.message}: subsequent request to origin ${origin2} was not allowed (net.connect is not enabled for this origin)${interceptsMessage}`);
}
} else {
throw error49;
}
}
} else {
originalDispatch.call(this, opts, handler);
}
};
}
function checkNetConnect(netConnect, origin2) {
const url3 = new URL(origin2);
if (netConnect === true) {
return true;
} else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url3.host))) {
return true;
}
return false;
}
function normalizeOrigin(origin2) {
if (typeof origin2 !== "string" && !(origin2 instanceof URL)) {
return origin2;
}
if (origin2 instanceof URL) {
return origin2.origin;
}
return origin2.toLowerCase();
}
function buildAndValidateMockOptions(opts) {
const { agent, ...mockOptions } = opts;
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") {
throw new InvalidArgumentError2("options.enableCallHistory must to be a boolean");
}
if ("acceptNonStandardSearchParameters" in mockOptions && typeof mockOptions.acceptNonStandardSearchParameters !== "boolean") {
throw new InvalidArgumentError2("options.acceptNonStandardSearchParameters must to be a boolean");
}
if ("ignoreTrailingSlash" in mockOptions && typeof mockOptions.ignoreTrailingSlash !== "boolean") {
throw new InvalidArgumentError2("options.ignoreTrailingSlash must to be a boolean");
}
return mockOptions;
}
module.exports = {
getResponseData,
getMockDispatch,
addMockDispatch,
deleteMockDispatch,
buildKey,
generateKeyValues,
matchValue,
getResponse,
getStatusText,
mockDispatch,
buildMockDispatch,
checkNetConnect,
buildAndValidateMockOptions,
getHeaderByName,
buildHeadersFromArray,
normalizeSearchParams,
normalizeOrigin
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-interceptor.js
var require_mock_interceptor = __commonJS((exports, module) => {
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
var {
kDispatches,
kDispatchKey,
kDefaultHeaders,
kDefaultTrailers,
kContentLength,
kMockDispatch,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var { serializePathWithQuery } = require_util();
class MockScope {
constructor(mockDispatch) {
this[kMockDispatch] = mockDispatch;
}
delay(waitInMs) {
if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) {
throw new InvalidArgumentError2("waitInMs must be a valid integer > 0");
}
this[kMockDispatch].delay = waitInMs;
return this;
}
persist() {
this[kMockDispatch].persist = true;
return this;
}
times(repeatTimes) {
if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {
throw new InvalidArgumentError2("repeatTimes must be a valid integer > 0");
}
this[kMockDispatch].times = repeatTimes;
return this;
}
}
class MockInterceptor {
constructor(opts, mockDispatches) {
if (typeof opts !== "object") {
throw new InvalidArgumentError2("opts must be an object");
}
if (typeof opts.path === "undefined") {
throw new InvalidArgumentError2("opts.path must be defined");
}
if (typeof opts.method === "undefined") {
opts.method = "GET";
}
if (typeof opts.path === "string") {
if (opts.query) {
opts.path = serializePathWithQuery(opts.path, opts.query);
} else {
const parsedURL = new URL(opts.path, "data://");
opts.path = parsedURL.pathname + parsedURL.search;
}
}
if (typeof opts.method === "string") {
opts.method = opts.method.toUpperCase();
}
this[kDispatchKey] = buildKey(opts);
this[kDispatches] = mockDispatches;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDefaultHeaders] = {};
this[kDefaultTrailers] = {};
this[kContentLength] = false;
}
createMockScopeDispatchData({ statusCode, data, responseOptions }) {
const responseData = getResponseData(data);
const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {};
const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers };
const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers };
return { statusCode, data, headers, trailers };
}
validateReplyParameters(replyParameters) {
if (typeof replyParameters.statusCode === "undefined") {
throw new InvalidArgumentError2("statusCode must be defined");
}
if (typeof replyParameters.responseOptions !== "object" || replyParameters.responseOptions === null) {
throw new InvalidArgumentError2("responseOptions must be an object");
}
}
reply(replyOptionsCallbackOrStatusCode) {
if (typeof replyOptionsCallbackOrStatusCode === "function") {
const wrappedDefaultsCallback = (opts) => {
const resolvedData = replyOptionsCallbackOrStatusCode(opts);
if (typeof resolvedData !== "object" || resolvedData === null) {
throw new InvalidArgumentError2("reply options callback must return an object");
}
const replyParameters2 = { data: "", responseOptions: {}, ...resolvedData };
this.validateReplyParameters(replyParameters2);
return {
...this.createMockScopeDispatchData(replyParameters2)
};
};
const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch2);
}
const replyParameters = {
statusCode: replyOptionsCallbackOrStatusCode,
data: arguments[1] === undefined ? "" : arguments[1],
responseOptions: arguments[2] === undefined ? {} : arguments[2]
};
this.validateReplyParameters(replyParameters);
const dispatchData = this.createMockScopeDispatchData(replyParameters);
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
replyWithError(error49) {
if (typeof error49 === "undefined") {
throw new InvalidArgumentError2("error must be defined");
}
const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error: error49 }, { ignoreTrailingSlash: this[kIgnoreTrailingSlash] });
return new MockScope(newMockDispatch);
}
defaultReplyHeaders(headers) {
if (typeof headers === "undefined") {
throw new InvalidArgumentError2("headers must be defined");
}
this[kDefaultHeaders] = headers;
return this;
}
defaultReplyTrailers(trailers) {
if (typeof trailers === "undefined") {
throw new InvalidArgumentError2("trailers must be defined");
}
this[kDefaultTrailers] = trailers;
return this;
}
replyContentLength() {
this[kContentLength] = true;
return this;
}
}
exports.MockInterceptor = MockInterceptor;
exports.MockScope = MockScope;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-client.js
var require_mock_client = __commonJS((exports, module) => {
var { promisify: promisify4 } = __require("node:util");
var Client = require_client();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
class MockClient extends Client {
constructor(origin2, opts) {
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError2("Argument opts.agent must implement Agent");
}
super(origin2, opts);
this[kMockAgent] = opts.agent;
this[kOrigin] = origin2;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
intercept(opts) {
return new MockInterceptor(opts && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts }, this[kDispatches]);
}
cleanMocks() {
this[kDispatches] = [];
}
async[kClose]() {
await promisify4(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
}
module.exports = MockClient;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-call-history.js
var require_mock_call_history = __commonJS((exports, module) => {
var { kMockCallHistoryAddLog } = require_mock_symbols();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
function handleFilterCallsWithOptions(criteria, options, handler, store) {
switch (options.operator) {
case "OR":
store.push(...handler(criteria));
return store;
case "AND":
return handler.call({ logs: store }, criteria);
default:
throw new InvalidArgumentError2("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
}
function buildAndValidateFilterCallsOptions(options = {}) {
const finalOptions = {};
if ("operator" in options) {
if (typeof options.operator !== "string" || options.operator.toUpperCase() !== "OR" && options.operator.toUpperCase() !== "AND") {
throw new InvalidArgumentError2("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");
}
return {
...finalOptions,
operator: options.operator.toUpperCase()
};
}
return finalOptions;
}
function makeFilterCalls(parameterName) {
return (parameterValue) => {
if (typeof parameterValue === "string" || parameterValue == null) {
return this.logs.filter((log) => {
return log[parameterName] === parameterValue;
});
}
if (parameterValue instanceof RegExp) {
return this.logs.filter((log) => {
return parameterValue.test(log[parameterName]);
});
}
throw new InvalidArgumentError2(`${parameterName} parameter should be one of string, regexp, undefined or null`);
};
}
function computeUrlWithMaybeSearchParameters(requestInit) {
try {
const url3 = new URL(requestInit.path, requestInit.origin);
if (url3.search.length !== 0) {
return url3;
}
url3.search = new URLSearchParams(requestInit.query).toString();
return url3;
} catch (error49) {
throw new InvalidArgumentError2("An error occurred when computing MockCallHistoryLog.url", { cause: error49 });
}
}
class MockCallHistoryLog {
constructor(requestInit = {}) {
this.body = requestInit.body;
this.headers = requestInit.headers;
this.method = requestInit.method;
const url3 = computeUrlWithMaybeSearchParameters(requestInit);
this.fullUrl = url3.toString();
this.origin = url3.origin;
this.path = url3.pathname;
this.searchParams = Object.fromEntries(url3.searchParams);
this.protocol = url3.protocol;
this.host = url3.host;
this.port = url3.port;
this.hash = url3.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() {
const options = { betweenKeyValueSeparator: "->", betweenPairSeparator: "|" };
let result = "";
this.toMap().forEach((value, key) => {
if (typeof value === "string" || value === undefined || value === null) {
result = `${result}${key}${options.betweenKeyValueSeparator}${value}${options.betweenPairSeparator}`;
}
if (typeof value === "object" && value !== null || Array.isArray(value)) {
result = `${result}${key}${options.betweenKeyValueSeparator}${JSON.stringify(value)}${options.betweenPairSeparator}`;
}
});
return result.slice(0, -1);
}
}
class MockCallHistory {
logs = [];
calls() {
return this.logs;
}
firstCall() {
return this.logs.at(0);
}
lastCall() {
return this.logs.at(-1);
}
nthCall(number4) {
if (typeof number4 !== "number") {
throw new InvalidArgumentError2("nthCall must be called with a number");
}
if (!Number.isInteger(number4)) {
throw new InvalidArgumentError2("nthCall must be called with an integer");
}
if (Math.sign(number4) !== 1) {
throw new InvalidArgumentError2("nthCall must be called with a positive value. use firstCall or lastCall instead");
}
return this.logs.at(number4 - 1);
}
filterCalls(criteria, options) {
if (this.logs.length === 0) {
return this.logs;
}
if (typeof criteria === "function") {
return this.logs.filter(criteria);
}
if (criteria instanceof RegExp) {
return this.logs.filter((log) => {
return criteria.test(log.toString());
});
}
if (typeof criteria === "object" && criteria !== null) {
if (Object.keys(criteria).length === 0) {
return this.logs;
}
const finalOptions = { operator: "OR", ...buildAndValidateFilterCallsOptions(options) };
let maybeDuplicatedLogsFiltered = [];
if ("protocol" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered);
}
if ("host" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered);
}
if ("port" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered);
}
if ("origin" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered);
}
if ("path" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered);
}
if ("hash" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered);
}
if ("fullUrl" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered);
}
if ("method" in criteria) {
maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered);
}
const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)];
return uniqLogsFiltered;
}
throw new InvalidArgumentError2("criteria parameter should be one of function, regexp, or object");
}
filterCallsByProtocol = makeFilterCalls.call(this, "protocol");
filterCallsByHost = makeFilterCalls.call(this, "host");
filterCallsByPort = makeFilterCalls.call(this, "port");
filterCallsByOrigin = makeFilterCalls.call(this, "origin");
filterCallsByPath = makeFilterCalls.call(this, "path");
filterCallsByHash = makeFilterCalls.call(this, "hash");
filterCallsByFullUrl = makeFilterCalls.call(this, "fullUrl");
filterCallsByMethod = makeFilterCalls.call(this, "method");
clear() {
this.logs = [];
}
[kMockCallHistoryAddLog](requestInit) {
const log = new MockCallHistoryLog(requestInit);
this.logs.push(log);
return log;
}
*[Symbol.iterator]() {
for (const log of this.calls()) {
yield log;
}
}
}
exports.MockCallHistory = MockCallHistory;
exports.MockCallHistoryLog = MockCallHistoryLog;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-pool.js
var require_mock_pool = __commonJS((exports, module) => {
var { promisify: promisify4 } = __require("node:util");
var Pool = require_pool();
var { buildMockDispatch } = require_mock_utils();
var {
kDispatches,
kMockAgent,
kClose,
kOriginalClose,
kOrigin,
kOriginalDispatch,
kConnected,
kIgnoreTrailingSlash
} = require_mock_symbols();
var { MockInterceptor } = require_mock_interceptor();
var Symbols = require_symbols();
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
class MockPool extends Pool {
constructor(origin2, opts) {
if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError2("Argument opts.agent must implement Agent");
}
super(origin2, opts);
this[kMockAgent] = opts.agent;
this[kOrigin] = origin2;
this[kIgnoreTrailingSlash] = opts.ignoreTrailingSlash ?? false;
this[kDispatches] = [];
this[kConnected] = 1;
this[kOriginalDispatch] = this.dispatch;
this[kOriginalClose] = this.close.bind(this);
this.dispatch = buildMockDispatch.call(this);
this.close = this[kClose];
}
get [Symbols.kConnected]() {
return this[kConnected];
}
intercept(opts) {
return new MockInterceptor(opts && { ignoreTrailingSlash: this[kIgnoreTrailingSlash], ...opts }, this[kDispatches]);
}
cleanMocks() {
this[kDispatches] = [];
}
async[kClose]() {
await promisify4(this[kOriginalClose])();
this[kConnected] = 0;
this[kMockAgent][Symbols.kClients].delete(this[kOrigin]);
}
}
module.exports = MockPool;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/pending-interceptors-formatter.js
var require_pending_interceptors_formatter = __commonJS((exports, module) => {
var { Transform: Transform2 } = __require("node:stream");
var { Console } = __require("node:console");
var PERSISTENT = process.versions.icu ? "✅" : "Y ";
var NOT_PERSISTENT = process.versions.icu ? "❌" : "N ";
module.exports = class PendingInterceptorsFormatter {
constructor({ disableColors } = {}) {
this.transform = new Transform2({
transform(chunk, _enc, cb) {
cb(null, chunk);
}
});
this.logger = new Console({
stdout: this.transform,
inspectOptions: {
colors: !disableColors && !process.env.CI
}
});
}
format(pendingInterceptors) {
const withPrettyHeaders = pendingInterceptors.map(({ method, path: path9, data: { statusCode }, persist, times, timesInvoked, origin: origin2 }) => ({
Method: method,
Origin: origin2,
Path: path9,
"Status code": statusCode,
Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
Invocations: timesInvoked,
Remaining: persist ? Infinity : times - timesInvoked
}));
this.logger.table(withPrettyHeaders);
return this.transform.read().toString();
}
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/mock-agent.js
var require_mock_agent = __commonJS((exports, module) => {
var { kClients } = require_symbols();
var Agent3 = require_agent();
var {
kAgent,
kMockAgentSet,
kMockAgentGet,
kDispatches,
kIsMockActive,
kNetConnect,
kGetNetConnect,
kOptions,
kFactory,
kMockAgentRegisterCallHistory,
kMockAgentIsCallHistoryEnabled,
kMockAgentAddCallHistoryLog,
kMockAgentMockCallHistoryInstance,
kMockAgentAcceptsNonStandardSearchParameters,
kMockCallHistoryAddLog,
kIgnoreTrailingSlash
} = require_mock_symbols();
var MockClient = require_mock_client();
var MockPool = require_mock_pool();
var { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
var { InvalidArgumentError: InvalidArgumentError2, UndiciError } = require_errors();
var Dispatcher = require_dispatcher();
var PendingInterceptorsFormatter = require_pending_interceptors_formatter();
var { MockCallHistory } = require_mock_call_history();
class MockAgent extends Dispatcher {
constructor(opts = {}) {
super(opts);
const mockOptions = buildAndValidateMockOptions(opts);
this[kNetConnect] = true;
this[kIsMockActive] = true;
this[kMockAgentIsCallHistoryEnabled] = mockOptions.enableCallHistory ?? false;
this[kMockAgentAcceptsNonStandardSearchParameters] = mockOptions.acceptNonStandardSearchParameters ?? false;
this[kIgnoreTrailingSlash] = mockOptions.ignoreTrailingSlash ?? false;
if (opts?.agent && typeof opts.agent.dispatch !== "function") {
throw new InvalidArgumentError2("Argument opts.agent must implement Agent");
}
const agent = opts?.agent ? opts.agent : new Agent3(opts);
this[kAgent] = agent;
this[kClients] = agent[kClients];
this[kOptions] = mockOptions;
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
}
}
get(origin2) {
const normalizedOrigin = normalizeOrigin(origin2);
const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin;
let dispatcher = this[kMockAgentGet](originKey);
if (!dispatcher) {
dispatcher = this[kFactory](originKey);
this[kMockAgentSet](originKey, dispatcher);
}
return dispatcher;
}
dispatch(opts, handler) {
opts.origin = normalizeOrigin(opts.origin);
this.get(opts.origin);
this[kMockAgentAddCallHistoryLog](opts);
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
const dispatchOpts = { ...opts };
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
const [path9, searchParams] = dispatchOpts.path.split("?");
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters);
dispatchOpts.path = `${path9}?${normalizedSearchParams}`;
}
return this[kAgent].dispatch(dispatchOpts, handler);
}
async close() {
this.clearCallHistory();
await this[kAgent].close();
this[kClients].clear();
}
deactivate() {
this[kIsMockActive] = false;
}
activate() {
this[kIsMockActive] = true;
}
enableNetConnect(matcher) {
if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) {
if (Array.isArray(this[kNetConnect])) {
this[kNetConnect].push(matcher);
} else {
this[kNetConnect] = [matcher];
}
} else if (typeof matcher === "undefined") {
this[kNetConnect] = true;
} else {
throw new InvalidArgumentError2("Unsupported matcher. Must be one of String|Function|RegExp.");
}
}
disableNetConnect() {
this[kNetConnect] = false;
}
enableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = true;
return this;
}
disableCallHistory() {
this[kMockAgentIsCallHistoryEnabled] = false;
return this;
}
getCallHistory() {
return this[kMockAgentMockCallHistoryInstance];
}
clearCallHistory() {
if (this[kMockAgentMockCallHistoryInstance] !== undefined) {
this[kMockAgentMockCallHistoryInstance].clear();
}
}
get isMockActive() {
return this[kIsMockActive];
}
[kMockAgentRegisterCallHistory]() {
if (this[kMockAgentMockCallHistoryInstance] === undefined) {
this[kMockAgentMockCallHistoryInstance] = new MockCallHistory;
}
}
[kMockAgentAddCallHistoryLog](opts) {
if (this[kMockAgentIsCallHistoryEnabled]) {
this[kMockAgentRegisterCallHistory]();
this[kMockAgentMockCallHistoryInstance][kMockCallHistoryAddLog](opts);
}
}
[kMockAgentSet](origin2, dispatcher) {
this[kClients].set(origin2, { count: 0, dispatcher });
}
[kFactory](origin2) {
const mockOptions = Object.assign({ agent: this }, this[kOptions]);
return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin2, mockOptions) : new MockPool(origin2, mockOptions);
}
[kMockAgentGet](origin2) {
const result = this[kClients].get(origin2);
if (result?.dispatcher) {
return result.dispatcher;
}
if (typeof origin2 !== "string") {
const dispatcher = this[kFactory]("http://localhost:9999");
this[kMockAgentSet](origin2, dispatcher);
return dispatcher;
}
for (const [keyMatcher, result2] of Array.from(this[kClients])) {
if (result2 && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin2)) {
const dispatcher = this[kFactory](origin2);
this[kMockAgentSet](origin2, dispatcher);
dispatcher[kDispatches] = result2.dispatcher[kDispatches];
return dispatcher;
}
}
}
[kGetNetConnect]() {
return this[kNetConnect];
}
pendingInterceptors() {
const mockAgentClients = this[kClients];
return Array.from(mockAgentClients.entries()).flatMap(([origin2, result]) => result.dispatcher[kDispatches].map((dispatch) => ({ ...dispatch, origin: origin2 }))).filter(({ pending }) => pending);
}
assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter } = {}) {
const pending = this.pendingInterceptors();
if (pending.length === 0) {
return;
}
throw new UndiciError(pending.length === 1 ? `1 interceptor is pending:
${pendingInterceptorsFormatter.format(pending)}`.trim() : `${pending.length} interceptors are pending:
${pendingInterceptorsFormatter.format(pending)}`.trim());
}
}
module.exports = MockAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/snapshot-utils.js
var require_snapshot_utils = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var { runtimeFeatures } = require_runtime_features();
function createHeaderFilters(matchOptions = {}) {
const { ignoreHeaders = [], excludeHeaders = [], matchHeaders = [], caseSensitive = false } = matchOptions;
return {
ignore: new Set(ignoreHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
exclude: new Set(excludeHeaders.map((header) => caseSensitive ? header : header.toLowerCase())),
match: new Set(matchHeaders.map((header) => caseSensitive ? header : header.toLowerCase()))
};
}
var crypto3 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var hashId = crypto3?.hash ? (value) => crypto3.hash("sha256", value, "base64url") : (value) => Buffer.from(value).toString("base64url");
function isUndiciHeaders(headers) {
return Array.isArray(headers) && (headers.length & 1) === 0;
}
function isUrlExcludedFactory(excludePatterns = []) {
if (excludePatterns.length === 0) {
return () => false;
}
return function isUrlExcluded(url3) {
let urlLowerCased;
for (const pattern of excludePatterns) {
if (typeof pattern === "string") {
if (!urlLowerCased) {
urlLowerCased = url3.toLowerCase();
}
if (urlLowerCased.includes(pattern.toLowerCase())) {
return true;
}
} else if (pattern instanceof RegExp) {
if (pattern.test(url3)) {
return true;
}
}
}
return false;
};
}
function normalizeHeaders(headers) {
const normalizedHeaders = {};
if (!headers)
return normalizedHeaders;
if (isUndiciHeaders(headers)) {
for (let i2 = 0;i2 < headers.length; i2 += 2) {
const key = headers[i2];
const value = headers[i2 + 1];
if (key && value !== undefined) {
const keyStr = Buffer.isBuffer(key) ? key.toString() : key;
const valueStr = Buffer.isBuffer(value) ? value.toString() : value;
normalizedHeaders[keyStr.toLowerCase()] = valueStr;
}
}
return normalizedHeaders;
}
if (headers && typeof headers === "object") {
for (const [key, value] of Object.entries(headers)) {
if (key && typeof key === "string") {
normalizedHeaders[key.toLowerCase()] = Array.isArray(value) ? value.join(", ") : String(value);
}
}
}
return normalizedHeaders;
}
var validSnapshotModes = ["record", "playback", "update"];
function validateSnapshotMode(mode) {
if (!validSnapshotModes.includes(mode)) {
throw new InvalidArgumentError2(`Invalid snapshot mode: ${mode}. Must be one of: ${validSnapshotModes.join(", ")}`);
}
}
module.exports = {
createHeaderFilters,
hashId,
isUndiciHeaders,
normalizeHeaders,
isUrlExcludedFactory,
validateSnapshotMode
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/snapshot-recorder.js
var require_snapshot_recorder = __commonJS((exports, module) => {
var { writeFile: writeFile2, readFile: readFile7, mkdir: mkdir3 } = __require("node:fs/promises");
var { dirname: dirname12, resolve: resolve9 } = __require("node:path");
var { setTimeout: setTimeout4, clearTimeout: clearTimeout2 } = __require("node:timers");
var { InvalidArgumentError: InvalidArgumentError2, UndiciError } = require_errors();
var { hashId, isUrlExcludedFactory, normalizeHeaders, createHeaderFilters } = require_snapshot_utils();
function formatRequestKey(opts, headerFilters, matchOptions = {}) {
const url3 = new URL(opts.path, opts.origin);
const normalized = opts._normalizedHeaders || normalizeHeaders(opts.headers);
if (!opts._normalizedHeaders) {
opts._normalizedHeaders = normalized;
}
return {
method: opts.method || "GET",
url: matchOptions.matchQuery !== false ? url3.toString() : `${url3.origin}${url3.pathname}`,
headers: filterHeadersForMatching(normalized, headerFilters, matchOptions),
body: matchOptions.matchBody !== false && opts.body ? String(opts.body) : ""
};
}
function filterHeadersForMatching(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object")
return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { ignore, exclude, match } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (exclude.has(headerKey))
continue;
if (ignore.has(headerKey))
continue;
if (match.size !== 0) {
if (!match.has(headerKey))
continue;
}
filtered[headerKey] = value;
}
return filtered;
}
function filterHeadersForStorage(headers, headerFilters, matchOptions = {}) {
if (!headers || typeof headers !== "object")
return {};
const {
caseSensitive = false
} = matchOptions;
const filtered = {};
const { exclude: excludeSet } = headerFilters;
for (const [key, value] of Object.entries(headers)) {
const headerKey = caseSensitive ? key : key.toLowerCase();
if (excludeSet.has(headerKey))
continue;
filtered[headerKey] = value;
}
return filtered;
}
function createRequestHash(formattedRequest) {
const parts = [
formattedRequest.method,
formattedRequest.url
];
if (formattedRequest.headers && typeof formattedRequest.headers === "object") {
const headerKeys = Object.keys(formattedRequest.headers).sort();
for (const key of headerKeys) {
const values = Array.isArray(formattedRequest.headers[key]) ? formattedRequest.headers[key] : [formattedRequest.headers[key]];
parts.push(key);
for (const value of values.sort()) {
parts.push(String(value));
}
}
}
parts.push(formattedRequest.body);
const content = parts.join("|");
return hashId(content);
}
class SnapshotRecorder {
#flushTimeout;
#isUrlExcluded;
#snapshots = new Map;
#snapshotPath;
#maxSnapshots = Infinity;
#autoFlush = false;
#headerFilters;
constructor(options = {}) {
this.#snapshotPath = options.snapshotPath;
this.#maxSnapshots = options.maxSnapshots || Infinity;
this.#autoFlush = options.autoFlush || false;
this.flushInterval = options.flushInterval || 30000;
this._flushTimer = null;
this.matchOptions = {
matchHeaders: options.matchHeaders || [],
ignoreHeaders: options.ignoreHeaders || [],
excludeHeaders: options.excludeHeaders || [],
matchBody: options.matchBody !== false,
matchQuery: options.matchQuery !== false,
caseSensitive: options.caseSensitive || false
};
this.#headerFilters = createHeaderFilters(this.matchOptions);
this.shouldRecord = options.shouldRecord || (() => true);
this.shouldPlayback = options.shouldPlayback || (() => true);
this.#isUrlExcluded = isUrlExcludedFactory(options.excludeUrls);
if (this.#autoFlush && this.#snapshotPath) {
this.#startAutoFlush();
}
}
async record(requestOpts, response) {
if (!this.shouldRecord(requestOpts)) {
return;
}
if (this.isUrlExcluded(requestOpts)) {
return;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash3 = createRequestHash(request);
const normalizedHeaders = normalizeHeaders(response.headers);
const responseData = {
statusCode: response.statusCode,
headers: filterHeadersForStorage(normalizedHeaders, this.#headerFilters, this.matchOptions),
body: Buffer.isBuffer(response.body) ? response.body.toString("base64") : Buffer.from(String(response.body || "")).toString("base64"),
trailers: response.trailers
};
if (this.#snapshots.size >= this.#maxSnapshots && !this.#snapshots.has(hash3)) {
const oldestKey = this.#snapshots.keys().next().value;
this.#snapshots.delete(oldestKey);
}
const existingSnapshot = this.#snapshots.get(hash3);
if (existingSnapshot && existingSnapshot.responses) {
existingSnapshot.responses.push(responseData);
existingSnapshot.timestamp = new Date().toISOString();
} else {
this.#snapshots.set(hash3, {
request,
responses: [responseData],
callCount: 0,
timestamp: new Date().toISOString()
});
}
if (this.#autoFlush && this.#snapshotPath) {
this.#scheduleFlush();
}
}
isUrlExcluded(requestOpts) {
const url3 = new URL(requestOpts.path, requestOpts.origin).toString();
return this.#isUrlExcluded(url3);
}
findSnapshot(requestOpts) {
if (!this.shouldPlayback(requestOpts)) {
return;
}
if (this.isUrlExcluded(requestOpts)) {
return;
}
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash3 = createRequestHash(request);
const snapshot = this.#snapshots.get(hash3);
if (!snapshot)
return;
const currentCallCount = snapshot.callCount || 0;
const responseIndex = Math.min(currentCallCount, snapshot.responses.length - 1);
snapshot.callCount = currentCallCount + 1;
return {
...snapshot,
response: snapshot.responses[responseIndex]
};
}
async loadSnapshots(filePath) {
const path9 = filePath || this.#snapshotPath;
if (!path9) {
throw new InvalidArgumentError2("Snapshot path is required");
}
try {
const data = await readFile7(resolve9(path9), "utf8");
const parsed = JSON.parse(data);
if (Array.isArray(parsed)) {
this.#snapshots.clear();
for (const { hash: hash3, snapshot } of parsed) {
this.#snapshots.set(hash3, snapshot);
}
} else {
this.#snapshots = new Map(Object.entries(parsed));
}
} catch (error49) {
if (error49.code === "ENOENT") {
this.#snapshots.clear();
} else {
throw new UndiciError(`Failed to load snapshots from ${path9}`, { cause: error49 });
}
}
}
async saveSnapshots(filePath) {
const path9 = filePath || this.#snapshotPath;
if (!path9) {
throw new InvalidArgumentError2("Snapshot path is required");
}
const resolvedPath = resolve9(path9);
await mkdir3(dirname12(resolvedPath), { recursive: true });
const data = Array.from(this.#snapshots.entries()).map(([hash3, snapshot]) => ({
hash: hash3,
snapshot
}));
await writeFile2(resolvedPath, JSON.stringify(data, null, 2), { flush: true });
}
clear() {
this.#snapshots.clear();
}
getSnapshots() {
return Array.from(this.#snapshots.values());
}
size() {
return this.#snapshots.size;
}
resetCallCounts() {
for (const snapshot of this.#snapshots.values()) {
snapshot.callCount = 0;
}
}
deleteSnapshot(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash3 = createRequestHash(request);
return this.#snapshots.delete(hash3);
}
getSnapshotInfo(requestOpts) {
const request = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions);
const hash3 = createRequestHash(request);
const snapshot = this.#snapshots.get(hash3);
if (!snapshot)
return null;
return {
hash: hash3,
request: snapshot.request,
responseCount: snapshot.responses ? snapshot.responses.length : snapshot.response ? 1 : 0,
callCount: snapshot.callCount || 0,
timestamp: snapshot.timestamp
};
}
replaceSnapshots(snapshotData) {
this.#snapshots.clear();
if (Array.isArray(snapshotData)) {
for (const { hash: hash3, snapshot } of snapshotData) {
this.#snapshots.set(hash3, snapshot);
}
} else if (snapshotData && typeof snapshotData === "object") {
this.#snapshots = new Map(Object.entries(snapshotData));
}
}
#startAutoFlush() {
return this.#scheduleFlush();
}
#stopAutoFlush() {
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.saveSnapshots().catch(() => {});
this.#flushTimeout = null;
}
}
#scheduleFlush() {
this.#flushTimeout = setTimeout4(() => {
this.saveSnapshots().catch(() => {});
if (this.#autoFlush) {
this.#flushTimeout?.refresh();
} else {
this.#flushTimeout = null;
}
}, 1000);
}
destroy() {
this.#stopAutoFlush();
if (this.#flushTimeout) {
clearTimeout2(this.#flushTimeout);
this.#flushTimeout = null;
}
}
async close() {
if (this.#snapshotPath && this.#snapshots.size !== 0) {
await this.saveSnapshots();
}
this.destroy();
}
}
module.exports = { SnapshotRecorder, formatRequestKey, createRequestHash, filterHeadersForMatching, filterHeadersForStorage, createHeaderFilters };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/mock/snapshot-agent.js
var require_snapshot_agent = __commonJS((exports, module) => {
var Agent3 = require_agent();
var MockAgent = require_mock_agent();
var { SnapshotRecorder } = require_snapshot_recorder();
var WrapHandler = require_wrap_handler();
var { InvalidArgumentError: InvalidArgumentError2, UndiciError } = require_errors();
var { validateSnapshotMode } = require_snapshot_utils();
var kSnapshotRecorder = Symbol("kSnapshotRecorder");
var kSnapshotMode = Symbol("kSnapshotMode");
var kSnapshotPath = Symbol("kSnapshotPath");
var kSnapshotLoaded = Symbol("kSnapshotLoaded");
var kRealAgent = Symbol("kRealAgent");
var warningEmitted = false;
class SnapshotAgent extends MockAgent {
constructor(opts = {}) {
if (!warningEmitted) {
process.emitWarning("SnapshotAgent is experimental and subject to change", "ExperimentalWarning");
warningEmitted = true;
}
const {
mode = "record",
snapshotPath = null,
...mockAgentOpts
} = opts;
super(mockAgentOpts);
validateSnapshotMode(mode);
if ((mode === "playback" || mode === "update") && !snapshotPath) {
throw new InvalidArgumentError2(`snapshotPath is required when mode is '${mode}'`);
}
this[kSnapshotMode] = mode;
this[kSnapshotPath] = snapshotPath;
this[kSnapshotRecorder] = new SnapshotRecorder({
snapshotPath: this[kSnapshotPath],
mode: this[kSnapshotMode],
maxSnapshots: opts.maxSnapshots,
autoFlush: opts.autoFlush,
flushInterval: opts.flushInterval,
matchHeaders: opts.matchHeaders,
ignoreHeaders: opts.ignoreHeaders,
excludeHeaders: opts.excludeHeaders,
matchBody: opts.matchBody,
matchQuery: opts.matchQuery,
caseSensitive: opts.caseSensitive,
shouldRecord: opts.shouldRecord,
shouldPlayback: opts.shouldPlayback,
excludeUrls: opts.excludeUrls
});
this[kSnapshotLoaded] = false;
if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update" || this[kSnapshotMode] === "playback" && opts.excludeUrls && opts.excludeUrls.length > 0) {
this[kRealAgent] = new Agent3(opts);
}
if ((this[kSnapshotMode] === "playback" || this[kSnapshotMode] === "update") && this[kSnapshotPath]) {
this.loadSnapshots().catch(() => {});
}
}
dispatch(opts, handler) {
handler = WrapHandler.wrap(handler);
const mode = this[kSnapshotMode];
if (this[kSnapshotRecorder].isUrlExcluded(opts)) {
return this[kRealAgent].dispatch(opts, handler);
}
if (mode === "playback" || mode === "update") {
if (!this[kSnapshotLoaded]) {
return this.#asyncDispatch(opts, handler);
}
const snapshot = this[kSnapshotRecorder].findSnapshot(opts);
if (snapshot) {
return this.#replaySnapshot(snapshot, handler);
} else if (mode === "update") {
return this.#recordAndReplay(opts, handler);
} else {
const error49 = new UndiciError(`No snapshot found for ${opts.method || "GET"} ${opts.path}`);
if (handler.onError) {
handler.onError(error49);
return;
}
throw error49;
}
} else if (mode === "record") {
return this.#recordAndReplay(opts, handler);
}
}
async#asyncDispatch(opts, handler) {
await this.loadSnapshots();
return this.dispatch(opts, handler);
}
#recordAndReplay(opts, handler) {
const responseData = {
statusCode: null,
headers: {},
trailers: {},
body: []
};
const self2 = this;
const recordingHandler = {
onRequestStart(controller, context) {
return handler.onRequestStart(controller, { ...context, history: this.history });
},
onRequestUpgrade(controller, statusCode, headers, socket) {
return handler.onRequestUpgrade(controller, statusCode, headers, socket);
},
onResponseStart(controller, statusCode, headers, statusMessage) {
responseData.statusCode = statusCode;
responseData.headers = headers;
return handler.onResponseStart(controller, statusCode, headers, statusMessage);
},
onResponseData(controller, chunk) {
responseData.body.push(chunk);
return handler.onResponseData(controller, chunk);
},
onResponseEnd(controller, trailers) {
responseData.trailers = trailers;
const responseBody = Buffer.concat(responseData.body);
self2[kSnapshotRecorder].record(opts, {
statusCode: responseData.statusCode,
headers: responseData.headers,
body: responseBody,
trailers: responseData.trailers
}).then(() => handler.onResponseEnd(controller, trailers)).catch((error49) => handler.onResponseError(controller, error49));
}
};
const agent = this[kRealAgent];
return agent.dispatch(opts, recordingHandler);
}
#replaySnapshot(snapshot, handler) {
try {
const { response } = snapshot;
const controller = {
pause() {},
resume() {},
abort(reason) {
this.aborted = true;
this.reason = reason;
},
aborted: false,
paused: false
};
handler.onRequestStart(controller);
handler.onResponseStart(controller, response.statusCode, response.headers);
const body = Buffer.from(response.body, "base64");
handler.onResponseData(controller, body);
handler.onResponseEnd(controller, response.trailers);
} catch (error49) {
handler.onError?.(error49);
}
}
async loadSnapshots(filePath) {
await this[kSnapshotRecorder].loadSnapshots(filePath || this[kSnapshotPath]);
this[kSnapshotLoaded] = true;
if (this[kSnapshotMode] === "playback") {
this.#setupMockInterceptors();
}
}
async saveSnapshots(filePath) {
return this[kSnapshotRecorder].saveSnapshots(filePath || this[kSnapshotPath]);
}
#setupMockInterceptors() {
for (const snapshot of this[kSnapshotRecorder].getSnapshots()) {
const { request, responses, response } = snapshot;
const url3 = new URL(request.url);
const mockPool = this.get(url3.origin);
const responseData = responses ? responses[0] : response;
if (!responseData)
continue;
mockPool.intercept({
path: url3.pathname + url3.search,
method: request.method,
headers: request.headers,
body: request.body
}).reply(responseData.statusCode, responseData.body, {
headers: responseData.headers,
trailers: responseData.trailers
}).persist();
}
}
getRecorder() {
return this[kSnapshotRecorder];
}
getMode() {
return this[kSnapshotMode];
}
clearSnapshots() {
this[kSnapshotRecorder].clear();
}
resetCallCounts() {
this[kSnapshotRecorder].resetCallCounts();
}
deleteSnapshot(requestOpts) {
return this[kSnapshotRecorder].deleteSnapshot(requestOpts);
}
getSnapshotInfo(requestOpts) {
return this[kSnapshotRecorder].getSnapshotInfo(requestOpts);
}
replaceSnapshots(snapshotData) {
this[kSnapshotRecorder].replaceSnapshots(snapshotData);
}
async close() {
await this[kSnapshotRecorder].close();
await this[kRealAgent]?.close();
await super.close();
}
}
module.exports = SnapshotAgent;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/global.js
var require_global2 = __commonJS((exports, module) => {
var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var Agent3 = require_agent();
if (getGlobalDispatcher() === undefined) {
setGlobalDispatcher(new Agent3);
}
function setGlobalDispatcher(agent) {
if (!agent || typeof agent.dispatch !== "function") {
throw new InvalidArgumentError2("Argument agent must implement Agent");
}
Object.defineProperty(globalThis, globalDispatcher, {
value: agent,
writable: true,
enumerable: false,
configurable: false
});
}
function getGlobalDispatcher() {
return globalThis[globalDispatcher];
}
var installedExports = [
"fetch",
"Headers",
"Response",
"Request",
"FormData",
"WebSocket",
"CloseEvent",
"ErrorEvent",
"MessageEvent",
"EventSource"
];
module.exports = {
setGlobalDispatcher,
getGlobalDispatcher,
installedExports
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/decorator-handler.js
var require_decorator_handler = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var WrapHandler = require_wrap_handler();
module.exports = class DecoratorHandler {
#handler;
#onCompleteCalled = false;
#onErrorCalled = false;
#onResponseStartCalled = false;
constructor(handler) {
if (typeof handler !== "object" || handler === null) {
throw new TypeError("handler must be an object");
}
this.#handler = WrapHandler.wrap(handler);
}
onRequestStart(...args) {
this.#handler.onRequestStart?.(...args);
}
onRequestUpgrade(...args) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
return this.#handler.onRequestUpgrade?.(...args);
}
onResponseStart(...args) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
assert3(!this.#onResponseStartCalled);
this.#onResponseStartCalled = true;
return this.#handler.onResponseStart?.(...args);
}
onResponseData(...args) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
return this.#handler.onResponseData?.(...args);
}
onResponseEnd(...args) {
assert3(!this.#onCompleteCalled);
assert3(!this.#onErrorCalled);
this.#onCompleteCalled = true;
return this.#handler.onResponseEnd?.(...args);
}
onResponseError(...args) {
this.#onErrorCalled = true;
return this.#handler.onResponseError?.(...args);
}
onBodySent() {}
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/redirect-handler.js
var require_redirect_handler = __commonJS((exports, module) => {
var util3 = require_util();
var { kBodyUsed } = require_symbols();
var assert3 = __require("node:assert");
var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();
var EE = __require("node:events");
var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
var kBody = Symbol("body");
var noop7 = () => {};
class BodyAsyncIterable {
constructor(body) {
this[kBody] = body;
this[kBodyUsed] = false;
}
async* [Symbol.asyncIterator]() {
assert3(!this[kBodyUsed], "disturbed");
this[kBodyUsed] = true;
yield* this[kBody];
}
}
class RedirectHandler {
static buildDispatch(dispatcher, maxRedirections) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError2("maxRedirections must be a positive number");
}
const dispatch = dispatcher.dispatch.bind(dispatcher);
return (opts, originalHandler) => dispatch(opts, new RedirectHandler(dispatch, maxRedirections, opts, originalHandler));
}
constructor(dispatch, maxRedirections, opts, handler) {
if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
throw new InvalidArgumentError2("maxRedirections must be a positive number");
}
this.dispatch = dispatch;
this.location = null;
const { maxRedirections: _2, ...cleanOpts } = opts;
this.opts = cleanOpts;
this.maxRedirections = maxRedirections;
this.handler = handler;
this.history = [];
if (util3.isStream(this.opts.body)) {
if (util3.bodyLength(this.opts.body) === 0) {
this.opts.body.on("data", function() {
assert3(false);
});
}
if (typeof this.opts.body.readableDidRead !== "boolean") {
this.opts.body[kBodyUsed] = false;
EE.prototype.on.call(this.opts.body, "data", function() {
this[kBodyUsed] = true;
});
}
} else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
this.opts.body = new BodyAsyncIterable(this.opts.body);
} else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util3.isIterable(this.opts.body) && !util3.isFormDataLike(this.opts.body)) {
this.opts.body = new BodyAsyncIterable(this.opts.body);
}
}
onRequestStart(controller, context) {
this.handler.onRequestStart?.(controller, { ...context, history: this.history });
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
throw new Error("max redirects");
}
if ((statusCode === 301 || statusCode === 302) && this.opts.method === "POST") {
this.opts.method = "GET";
if (util3.isStream(this.opts.body)) {
util3.destroy(this.opts.body.on("error", noop7));
}
this.opts.body = null;
}
if (statusCode === 303 && this.opts.method !== "HEAD") {
this.opts.method = "GET";
if (util3.isStream(this.opts.body)) {
util3.destroy(this.opts.body.on("error", noop7));
}
this.opts.body = null;
}
this.location = this.history.length >= this.maxRedirections || util3.isDisturbed(this.opts.body) || redirectableStatusCodes.indexOf(statusCode) === -1 ? null : headers.location;
if (this.opts.origin) {
this.history.push(new URL(this.opts.path, this.opts.origin));
}
if (!this.location) {
this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
return;
}
const { origin: origin2, pathname, search } = util3.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
const path9 = search ? `${pathname}${search}` : pathname;
const redirectUrlString = `${origin2}${path9}`;
for (const historyUrl of this.history) {
if (historyUrl.toString() === redirectUrlString) {
throw new InvalidArgumentError2(`Redirect loop detected. Cannot redirect to ${origin2}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
}
}
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin2);
this.opts.path = path9;
this.opts.origin = origin2;
this.opts.query = null;
}
onResponseData(controller, chunk) {
if (this.location) {} else {
this.handler.onResponseData?.(controller, chunk);
}
}
onResponseEnd(controller, trailers) {
if (this.location) {
this.dispatch(this.opts, this);
} else {
this.handler.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, error49) {
this.handler.onResponseError?.(controller, error49);
}
}
function shouldRemoveHeader(header, removeContent, unknownOrigin) {
if (header.length === 4) {
return util3.headerNameToString(header) === "host";
}
if (removeContent && util3.headerNameToString(header).startsWith("content-")) {
return true;
}
if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {
const name = util3.headerNameToString(header);
return name === "authorization" || name === "cookie" || name === "proxy-authorization";
}
return false;
}
function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
const ret = [];
if (Array.isArray(headers)) {
for (let i2 = 0;i2 < headers.length; i2 += 2) {
if (!shouldRemoveHeader(headers[i2], removeContent, unknownOrigin)) {
ret.push(headers[i2], headers[i2 + 1]);
}
}
} else if (headers && typeof headers === "object") {
const entries = util3.hasSafeIterator(headers) ? headers : Object.entries(headers);
for (const [key, value] of entries) {
if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
ret.push(key, value);
}
}
} else {
assert3(headers == null, "headers must be an object or an array");
}
return ret;
}
module.exports = RedirectHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/redirect.js
var require_redirect = __commonJS((exports, module) => {
var RedirectHandler = require_redirect_handler();
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
return (dispatch) => {
return function Intercept(opts, handler) {
const { maxRedirections = defaultMaxRedirections, ...rest } = opts;
if (maxRedirections == null || maxRedirections === 0) {
return dispatch(opts, handler);
}
const dispatchOpts = { ...rest };
const redirectHandler = new RedirectHandler(dispatch, maxRedirections, dispatchOpts, handler);
return dispatch(dispatchOpts, redirectHandler);
};
};
}
module.exports = createRedirectInterceptor;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/response-error.js
var require_response_error = __commonJS((exports, module) => {
var DecoratorHandler = require_decorator_handler();
var { ResponseError } = require_errors();
class ResponseErrorHandler extends DecoratorHandler {
#statusCode;
#contentType;
#decoder;
#headers;
#body;
constructor(_opts, { handler }) {
super(handler);
}
#checkContentType(contentType) {
return (this.#contentType ?? "").indexOf(contentType) === 0;
}
onRequestStart(controller, context) {
this.#statusCode = 0;
this.#contentType = null;
this.#decoder = null;
this.#headers = null;
this.#body = "";
return super.onRequestStart(controller, context);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#statusCode = statusCode;
this.#headers = headers;
this.#contentType = headers["content-type"];
if (this.#statusCode < 400) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
if (this.#checkContentType("application/json") || this.#checkContentType("text/plain")) {
this.#decoder = new TextDecoder("utf-8");
}
}
onResponseData(controller, chunk) {
if (this.#statusCode < 400) {
return super.onResponseData(controller, chunk);
}
this.#body += this.#decoder?.decode(chunk, { stream: true }) ?? "";
}
onResponseEnd(controller, trailers) {
if (this.#statusCode >= 400) {
this.#body += this.#decoder?.decode(undefined, { stream: false }) ?? "";
if (this.#checkContentType("application/json")) {
try {
this.#body = JSON.parse(this.#body);
} catch {}
}
let err;
const stackTraceLimit = Error.stackTraceLimit;
Error.stackTraceLimit = 0;
try {
err = new ResponseError("Response Error", this.#statusCode, {
body: this.#body,
headers: this.#headers
});
} finally {
Error.stackTraceLimit = stackTraceLimit;
}
super.onResponseError(controller, err);
} else {
super.onResponseEnd(controller, trailers);
}
}
onResponseError(controller, err) {
super.onResponseError(controller, err);
}
}
module.exports = () => {
return (dispatch) => {
return function Intercept(opts, handler) {
return dispatch(opts, new ResponseErrorHandler(opts, { handler }));
};
};
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/retry.js
var require_retry2 = __commonJS((exports, module) => {
var RetryHandler = require_retry_handler();
module.exports = (globalOpts) => {
return (dispatch) => {
return function retryInterceptor(opts, handler) {
return dispatch(opts, new RetryHandler({ ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } }, {
handler,
dispatch
}));
};
};
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/dump.js
var require_dump = __commonJS((exports, module) => {
var { InvalidArgumentError: InvalidArgumentError2, RequestAbortedError } = require_errors();
var DecoratorHandler = require_decorator_handler();
class DumpHandler extends DecoratorHandler {
#maxSize = 1024 * 1024;
#dumped = false;
#size = 0;
#controller = null;
aborted = false;
reason = false;
constructor({ maxSize, signal }, handler) {
if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
throw new InvalidArgumentError2("maxSize must be a number greater than 0");
}
super(handler);
this.#maxSize = maxSize ?? this.#maxSize;
}
#abort(reason) {
this.aborted = true;
this.reason = reason;
}
onRequestStart(controller, context) {
controller.abort = this.#abort.bind(this);
this.#controller = controller;
return super.onRequestStart(controller, context);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentLength = headers["content-length"];
if (contentLength != null && contentLength > this.#maxSize) {
throw new RequestAbortedError(`Response size (${contentLength}) larger than maxSize (${this.#maxSize})`);
}
if (this.aborted === true) {
return true;
}
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
onResponseError(controller, err) {
if (this.#dumped) {
return;
}
err = this.#controller?.reason ?? err;
super.onResponseError(controller, err);
}
onResponseData(controller, chunk) {
this.#size = this.#size + chunk.length;
if (this.#size >= this.#maxSize) {
this.#dumped = true;
if (this.aborted === true) {
super.onResponseError(controller, this.reason);
} else {
super.onResponseEnd(controller, {});
}
}
return true;
}
onResponseEnd(controller, trailers) {
if (this.#dumped) {
return;
}
if (this.#controller.aborted === true) {
super.onResponseError(controller, this.reason);
return;
}
super.onResponseEnd(controller, trailers);
}
}
function createDumpInterceptor({ maxSize: defaultMaxSize } = {
maxSize: 1024 * 1024
}) {
return (dispatch) => {
return function Intercept(opts, handler) {
const { dumpMaxSize = defaultMaxSize } = opts;
const dumpHandler = new DumpHandler({ maxSize: dumpMaxSize, signal: opts.signal }, handler);
return dispatch(opts, dumpHandler);
};
};
}
module.exports = createDumpInterceptor;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/dns.js
var require_dns = __commonJS((exports, module) => {
var { isIP: isIP2 } = __require("node:net");
var { lookup } = __require("node:dns");
var DecoratorHandler = require_decorator_handler();
var { InvalidArgumentError: InvalidArgumentError2, InformationalError } = require_errors();
var maxInt = Math.pow(2, 31) - 1;
function hasSafeIterator(headers) {
const prototype2 = Object.getPrototypeOf(headers);
const ownIterator = Object.prototype.hasOwnProperty.call(headers, Symbol.iterator);
return ownIterator || prototype2 != null && prototype2 !== Object.prototype && typeof headers[Symbol.iterator] === "function";
}
function isHostHeader(key) {
return typeof key === "string" && key.toLowerCase() === "host";
}
function normalizeHeaders(headers) {
if (headers == null) {
return null;
}
if (Array.isArray(headers)) {
if (headers.length === 0 || !Array.isArray(headers[0])) {
return headers;
}
const normalized = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized.push(header[0], header[1]);
} else {
normalized.push(header);
}
}
return normalized;
}
if (typeof headers === "object" && hasSafeIterator(headers)) {
const normalized = [];
for (const header of headers) {
if (Array.isArray(header) && header.length === 2) {
normalized.push(header[0], header[1]);
} else {
normalized.push(header);
}
}
return normalized;
}
return headers;
}
function hasHostHeader(headers) {
if (headers == null) {
return false;
}
if (Array.isArray(headers)) {
if (headers.length === 0) {
return false;
}
for (let i2 = 0;i2 < headers.length; i2 += 2) {
if (isHostHeader(headers[i2])) {
return true;
}
}
return false;
}
if (typeof headers === "object") {
for (const key in headers) {
if (isHostHeader(key)) {
return true;
}
}
}
return false;
}
function withHostHeader(host, headers) {
const normalizedHeaders = normalizeHeaders(headers);
if (hasHostHeader(normalizedHeaders)) {
return normalizedHeaders;
}
if (Array.isArray(normalizedHeaders)) {
return ["host", host, ...normalizedHeaders];
}
if (normalizedHeaders && typeof normalizedHeaders === "object") {
return {
host,
...normalizedHeaders
};
}
return { host };
}
class DNSStorage {
#maxItems = 0;
#records = new Map;
constructor(opts) {
this.#maxItems = opts.maxItems;
}
get size() {
return this.#records.size;
}
get(hostname3) {
return this.#records.get(hostname3) ?? null;
}
set(hostname3, records) {
this.#records.set(hostname3, records);
}
delete(hostname3) {
this.#records.delete(hostname3);
}
full() {
return this.size >= this.#maxItems;
}
}
class DNSInstance {
#maxTTL = 0;
#maxItems = 0;
dualStack = true;
affinity = null;
lookup = null;
pick = null;
storage = null;
constructor(opts) {
this.#maxTTL = opts.maxTTL;
this.#maxItems = opts.maxItems;
this.dualStack = opts.dualStack;
this.affinity = opts.affinity;
this.lookup = opts.lookup ?? this.#defaultLookup;
this.pick = opts.pick ?? this.#defaultPick;
this.storage = opts.storage ?? new DNSStorage(opts);
}
runLookup(origin2, opts, cb) {
const ips = this.storage.get(origin2.hostname);
if (ips == null && this.storage.full()) {
cb(null, origin2);
return;
}
const newOpts = {
affinity: this.affinity,
dualStack: this.dualStack,
lookup: this.lookup,
pick: this.pick,
...opts.dns,
maxTTL: this.#maxTTL,
maxItems: this.#maxItems
};
if (ips == null) {
this.lookup(origin2, newOpts, (err, addresses) => {
if (err || addresses == null || addresses.length === 0) {
cb(err ?? new InformationalError("No DNS entries found"));
return;
}
this.setRecords(origin2, addresses);
const records = this.storage.get(origin2.hostname);
const ip = this.pick(origin2, records, newOpts.affinity);
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin2.port !== "") {
port = `:${origin2.port}`;
} else {
port = "";
}
cb(null, new URL(`${origin2.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`));
});
} else {
const ip = this.pick(origin2, ips, newOpts.affinity);
if (ip == null) {
this.storage.delete(origin2.hostname);
this.runLookup(origin2, opts, cb);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (origin2.port !== "") {
port = `:${origin2.port}`;
} else {
port = "";
}
cb(null, new URL(`${origin2.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`));
}
}
#defaultLookup(origin2, opts, cb) {
lookup(origin2.hostname, {
all: true,
family: this.dualStack === false ? this.affinity : 0,
order: "ipv4first"
}, (err, addresses) => {
if (err) {
return cb(err);
}
const results = new Map;
for (const addr of addresses) {
results.set(`${addr.address}:${addr.family}`, addr);
}
cb(null, results.values());
});
}
#defaultPick(origin2, hostnameRecords, affinity) {
let ip = null;
const { records, offset } = hostnameRecords;
let family;
if (this.dualStack) {
if (affinity == null) {
if (offset == null || offset === maxInt) {
hostnameRecords.offset = 0;
affinity = 4;
} else {
hostnameRecords.offset++;
affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4;
}
}
if (records[affinity] != null && records[affinity].ips.length > 0) {
family = records[affinity];
} else {
family = records[affinity === 4 ? 6 : 4];
}
} else {
family = records[affinity];
}
if (family == null || family.ips.length === 0) {
return ip;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position = family.offset % family.ips.length;
ip = family.ips[position] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position, 1);
return this.pick(origin2, hostnameRecords, affinity);
}
return ip;
}
pickFamily(origin2, ipFamily) {
const records = this.storage.get(origin2.hostname)?.records;
if (!records) {
return null;
}
const family = records[ipFamily];
if (!family) {
return null;
}
if (family.offset == null || family.offset === maxInt) {
family.offset = 0;
} else {
family.offset++;
}
const position = family.offset % family.ips.length;
const ip = family.ips[position] ?? null;
if (ip == null) {
return ip;
}
if (Date.now() - ip.timestamp > ip.ttl) {
family.ips.splice(position, 1);
}
return ip;
}
setRecords(origin2, addresses) {
const timestamp = Date.now();
const records = { records: { 4: null, 6: null } };
let minTTL = this.#maxTTL;
for (const record2 of addresses) {
record2.timestamp = timestamp;
if (typeof record2.ttl === "number") {
record2.ttl = Math.min(record2.ttl, this.#maxTTL);
minTTL = Math.min(minTTL, record2.ttl);
} else {
record2.ttl = this.#maxTTL;
}
const familyRecords = records.records[record2.family] ?? { ips: [] };
familyRecords.ips.push(record2);
records.records[record2.family] = familyRecords;
}
this.storage.set(origin2.hostname, records, { ttl: minTTL });
}
deleteRecords(origin2) {
this.storage.delete(origin2.hostname);
}
getHandler(meta3, opts) {
return new DNSDispatchHandler(this, meta3, opts);
}
}
class DNSDispatchHandler extends DecoratorHandler {
#state = null;
#opts = null;
#dispatch = null;
#origin = null;
#controller = null;
#newOrigin = null;
#firstTry = true;
constructor(state, { origin: origin2, handler, dispatch, newOrigin }, opts) {
super(handler);
this.#origin = origin2;
this.#newOrigin = newOrigin;
this.#opts = { ...opts };
this.#state = state;
this.#dispatch = dispatch;
}
onResponseError(controller, err) {
switch (err.code) {
case "ETIMEDOUT":
case "ECONNREFUSED": {
if (this.#state.dualStack) {
if (!this.#firstTry) {
super.onResponseError(controller, err);
return;
}
this.#firstTry = false;
const otherFamily = this.#newOrigin.hostname[0] === "[" ? 4 : 6;
const ip = this.#state.pickFamily(this.#origin, otherFamily);
if (ip == null) {
super.onResponseError(controller, err);
return;
}
let port;
if (typeof ip.port === "number") {
port = `:${ip.port}`;
} else if (this.#origin.port !== "") {
port = `:${this.#origin.port}`;
} else {
port = "";
}
const dispatchOpts = {
...this.#opts,
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
headers: withHostHeader(this.#origin.host, this.#opts.headers)
};
this.#dispatch(dispatchOpts, this);
return;
}
super.onResponseError(controller, err);
break;
}
case "ENOTFOUND":
this.#state.deleteRecords(this.#origin);
super.onResponseError(controller, err);
break;
default:
super.onResponseError(controller, err);
break;
}
}
}
module.exports = (interceptorOpts) => {
if (interceptorOpts?.maxTTL != null && (typeof interceptorOpts?.maxTTL !== "number" || interceptorOpts?.maxTTL < 0)) {
throw new InvalidArgumentError2("Invalid maxTTL. Must be a positive number");
}
if (interceptorOpts?.maxItems != null && (typeof interceptorOpts?.maxItems !== "number" || interceptorOpts?.maxItems < 1)) {
throw new InvalidArgumentError2("Invalid maxItems. Must be a positive number and greater than zero");
}
if (interceptorOpts?.affinity != null && interceptorOpts?.affinity !== 4 && interceptorOpts?.affinity !== 6) {
throw new InvalidArgumentError2("Invalid affinity. Must be either 4 or 6");
}
if (interceptorOpts?.dualStack != null && typeof interceptorOpts?.dualStack !== "boolean") {
throw new InvalidArgumentError2("Invalid dualStack. Must be a boolean");
}
if (interceptorOpts?.lookup != null && typeof interceptorOpts?.lookup !== "function") {
throw new InvalidArgumentError2("Invalid lookup. Must be a function");
}
if (interceptorOpts?.pick != null && typeof interceptorOpts?.pick !== "function") {
throw new InvalidArgumentError2("Invalid pick. Must be a function");
}
if (interceptorOpts?.storage != null && (typeof interceptorOpts?.storage?.get !== "function" || typeof interceptorOpts?.storage?.set !== "function" || typeof interceptorOpts?.storage?.full !== "function" || typeof interceptorOpts?.storage?.delete !== "function")) {
throw new InvalidArgumentError2("Invalid storage. Must be a object with methods: { get, set, full, delete }");
}
const dualStack = interceptorOpts?.dualStack ?? true;
let affinity;
if (dualStack) {
affinity = interceptorOpts?.affinity ?? null;
} else {
affinity = interceptorOpts?.affinity ?? 4;
}
const opts = {
maxTTL: interceptorOpts?.maxTTL ?? 1e4,
lookup: interceptorOpts?.lookup ?? null,
pick: interceptorOpts?.pick ?? null,
dualStack,
affinity,
maxItems: interceptorOpts?.maxItems ?? Infinity,
storage: interceptorOpts?.storage
};
const instance = new DNSInstance(opts);
return (dispatch) => {
return function dnsInterceptor(origDispatchOpts, handler) {
const origin2 = origDispatchOpts.origin.constructor === URL ? origDispatchOpts.origin : new URL(origDispatchOpts.origin);
if (isIP2(origin2.hostname) !== 0) {
return dispatch(origDispatchOpts, handler);
}
instance.runLookup(origin2, origDispatchOpts, (err, newOrigin) => {
if (err) {
return handler.onResponseError(null, err);
}
const dispatchOpts = {
...origDispatchOpts,
servername: origin2.hostname,
origin: newOrigin.origin,
headers: withHostHeader(origin2.host, origDispatchOpts.headers)
};
dispatch(dispatchOpts, instance.getHandler({ origin: origin2, dispatch, handler, newOrigin }, origDispatchOpts));
});
return true;
};
};
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/cache.js
var require_cache = __commonJS((exports, module) => {
var {
safeHTTPMethods,
pathHasQueryOrFragment,
hasSafeIterator
} = require_util();
var { serializePathWithQuery } = require_util();
function makeCacheKey(opts) {
if (!opts.origin) {
throw new Error("opts.origin is undefined");
}
let fullPath = opts.path || "/";
if (opts.query && !pathHasQueryOrFragment(opts.path)) {
fullPath = serializePathWithQuery(fullPath, opts.query);
}
return {
origin: opts.origin.toString(),
method: opts.method,
path: fullPath,
headers: opts.headers
};
}
function normalizeHeaders(opts) {
let headers;
if (opts.headers == null) {
headers = {};
} else if (typeof opts.headers === "object") {
headers = {};
if (hasSafeIterator(opts.headers)) {
for (const x3 of opts.headers) {
if (!Array.isArray(x3)) {
throw new Error("opts.headers is not a valid header map");
}
const [key, val] = x3;
if (typeof key !== "string" || typeof val !== "string") {
throw new Error("opts.headers is not a valid header map");
}
headers[key.toLowerCase()] = val;
}
} else {
for (const key of Object.keys(opts.headers)) {
headers[key.toLowerCase()] = opts.headers[key];
}
}
} else {
throw new Error("opts.headers is not an object");
}
return headers;
}
function assertCacheKey(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
for (const property2 of ["origin", "method", "path"]) {
if (typeof key[property2] !== "string") {
throw new TypeError(`expected key.${property2} to be string, got ${typeof key[property2]}`);
}
}
if (key.headers !== undefined && typeof key.headers !== "object") {
throw new TypeError(`expected headers to be object, got ${typeof key}`);
}
}
function assertCacheValue(value) {
if (typeof value !== "object") {
throw new TypeError(`expected value to be object, got ${typeof value}`);
}
for (const property2 of ["statusCode", "cachedAt", "staleAt", "deleteAt"]) {
if (typeof value[property2] !== "number") {
throw new TypeError(`expected value.${property2} to be number, got ${typeof value[property2]}`);
}
}
if (typeof value.statusMessage !== "string") {
throw new TypeError(`expected value.statusMessage to be string, got ${typeof value.statusMessage}`);
}
if (value.headers != null && typeof value.headers !== "object") {
throw new TypeError(`expected value.rawHeaders to be object, got ${typeof value.headers}`);
}
if (value.vary !== undefined && typeof value.vary !== "object") {
throw new TypeError(`expected value.vary to be object, got ${typeof value.vary}`);
}
if (value.etag !== undefined && typeof value.etag !== "string") {
throw new TypeError(`expected value.etag to be string, got ${typeof value.etag}`);
}
}
function parseCacheControlHeader(header) {
const output = {};
let directives;
if (Array.isArray(header)) {
directives = [];
for (const directive of header) {
directives.push(...directive.split(","));
}
} else {
directives = header.split(",");
}
for (let i2 = 0;i2 < directives.length; i2++) {
const directive = directives[i2].toLowerCase();
const keyValueDelimiter = directive.indexOf("=");
let key;
let value;
if (keyValueDelimiter !== -1) {
key = directive.substring(0, keyValueDelimiter).trimStart();
value = directive.substring(keyValueDelimiter + 1);
} else {
key = directive.trim();
}
switch (key) {
case "min-fresh":
case "max-stale":
case "max-age":
case "s-maxage":
case "stale-while-revalidate":
case "stale-if-error": {
if (value === undefined || value[0] === " ") {
continue;
}
if (value.length >= 2 && value[0] === '"' && value[value.length - 1] === '"') {
value = value.substring(1, value.length - 1);
}
const parsedValue = parseInt(value, 10);
if (parsedValue !== parsedValue) {
continue;
}
if (key === "max-age" && key in output && output[key] >= parsedValue) {
continue;
}
output[key] = parsedValue;
break;
}
case "private":
case "no-cache": {
if (value) {
if (value[0] === '"') {
const headers = [value.substring(1)];
let foundEndingQuote = value[value.length - 1] === '"';
if (!foundEndingQuote) {
for (let j2 = i2 + 1;j2 < directives.length; j2++) {
const nextPart = directives[j2];
const nextPartLength = nextPart.length;
headers.push(nextPart.trim());
if (nextPartLength !== 0 && nextPart[nextPartLength - 1] === '"') {
foundEndingQuote = true;
break;
}
}
}
if (foundEndingQuote) {
let lastHeader = headers[headers.length - 1];
if (lastHeader[lastHeader.length - 1] === '"') {
lastHeader = lastHeader.substring(0, lastHeader.length - 1);
headers[headers.length - 1] = lastHeader;
}
if (key in output) {
output[key] = output[key].concat(headers);
} else {
output[key] = headers;
}
}
} else {
if (key in output) {
output[key] = output[key].concat(value);
} else {
output[key] = [value];
}
}
break;
}
}
case "public":
case "no-store":
case "must-revalidate":
case "proxy-revalidate":
case "immutable":
case "no-transform":
case "must-understand":
case "only-if-cached":
if (value) {
continue;
}
output[key] = true;
break;
default:
continue;
}
}
return output;
}
function parseVaryHeader(varyHeader, headers) {
if (typeof varyHeader === "string" && varyHeader.includes("*")) {
return headers;
}
const output = {};
const varyingHeaders = typeof varyHeader === "string" ? varyHeader.split(",") : varyHeader;
for (const header of varyingHeaders) {
const trimmedHeader = header.trim().toLowerCase();
output[trimmedHeader] = headers[trimmedHeader] ?? null;
}
return output;
}
function isEtagUsable(etag) {
if (etag.length <= 2) {
return false;
}
if (etag[0] === '"' && etag[etag.length - 1] === '"') {
return !(etag[1] === '"' || etag.startsWith('"W/'));
}
if (etag.startsWith('W/"') && etag[etag.length - 1] === '"') {
return etag.length !== 4;
}
return false;
}
function assertCacheStore(store, name = "CacheStore") {
if (typeof store !== "object" || store === null) {
throw new TypeError(`expected type of ${name} to be a CacheStore, got ${store === null ? "null" : typeof store}`);
}
for (const fn of ["get", "createWriteStream", "delete"]) {
if (typeof store[fn] !== "function") {
throw new TypeError(`${name} needs to have a \`${fn}()\` function`);
}
}
}
function assertCacheMethods(methods, name = "CacheMethods") {
if (!Array.isArray(methods)) {
throw new TypeError(`expected type of ${name} needs to be an array, got ${methods === null ? "null" : typeof methods}`);
}
if (methods.length === 0) {
throw new TypeError(`${name} needs to have at least one method`);
}
for (const method of methods) {
if (!safeHTTPMethods.includes(method)) {
throw new TypeError(`element of ${name}-array needs to be one of following values: ${safeHTTPMethods.join(", ")}, got ${method}`);
}
}
}
function makeDeduplicationKey(cacheKey, excludeHeaders) {
let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}`;
if (cacheKey.headers) {
const sortedHeaders = Object.keys(cacheKey.headers).sort();
for (const header of sortedHeaders) {
if (excludeHeaders?.has(header.toLowerCase())) {
continue;
}
const value = cacheKey.headers[header];
key += `:${header}=${Array.isArray(value) ? value.join(",") : value}`;
}
}
return key;
}
module.exports = {
makeCacheKey,
normalizeHeaders,
assertCacheKey,
assertCacheValue,
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable,
assertCacheMethods,
assertCacheStore,
makeDeduplicationKey
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/util/date.js
var require_date = __commonJS((exports, module) => {
function parseHttpDate(date5) {
switch (date5[3]) {
case ",":
return parseImfDate(date5);
case " ":
return parseAscTimeDate(date5);
default:
return parseRfc850Date(date5);
}
}
function parseImfDate(date5) {
if (date5.length !== 29 || date5[4] !== " " || date5[7] !== " " || date5[11] !== " " || date5[16] !== " " || date5[19] !== ":" || date5[22] !== ":" || date5[25] !== " " || date5[26] !== "G" || date5[27] !== "M" || date5[28] !== "T") {
return;
}
let weekday = -1;
if (date5[0] === "S" && date5[1] === "u" && date5[2] === "n") {
weekday = 0;
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n") {
weekday = 1;
} else if (date5[0] === "T" && date5[1] === "u" && date5[2] === "e") {
weekday = 2;
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d") {
weekday = 3;
} else if (date5[0] === "T" && date5[1] === "h" && date5[2] === "u") {
weekday = 4;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i") {
weekday = 5;
} else if (date5[0] === "S" && date5[1] === "a" && date5[2] === "t") {
weekday = 6;
} else {
return;
}
let day = 0;
if (date5[5] === "0") {
const code = date5.charCodeAt(6);
if (code < 49 || code > 57) {
return;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(5);
if (code1 < 49 || code1 > 51) {
return;
}
const code2 = date5.charCodeAt(6);
if (code2 < 48 || code2 > 57) {
return;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date5[8] === "J" && date5[9] === "a" && date5[10] === "n") {
monthIdx = 0;
} else if (date5[8] === "F" && date5[9] === "e" && date5[10] === "b") {
monthIdx = 1;
} else if (date5[8] === "M" && date5[9] === "a") {
if (date5[10] === "r") {
monthIdx = 2;
} else if (date5[10] === "y") {
monthIdx = 4;
} else {
return;
}
} else if (date5[8] === "J") {
if (date5[9] === "a" && date5[10] === "n") {
monthIdx = 0;
} else if (date5[9] === "u") {
if (date5[10] === "n") {
monthIdx = 5;
} else if (date5[10] === "l") {
monthIdx = 6;
} else {
return;
}
} else {
return;
}
} else if (date5[8] === "A") {
if (date5[9] === "p" && date5[10] === "r") {
monthIdx = 3;
} else if (date5[9] === "u" && date5[10] === "g") {
monthIdx = 7;
} else {
return;
}
} else if (date5[8] === "S" && date5[9] === "e" && date5[10] === "p") {
monthIdx = 8;
} else if (date5[8] === "O" && date5[9] === "c" && date5[10] === "t") {
monthIdx = 9;
} else if (date5[8] === "N" && date5[9] === "o" && date5[10] === "v") {
monthIdx = 10;
} else if (date5[8] === "D" && date5[9] === "e" && date5[10] === "c") {
monthIdx = 11;
} else {
return;
}
const yearDigit1 = date5.charCodeAt(12);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return;
}
const yearDigit2 = date5.charCodeAt(13);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return;
}
const yearDigit3 = date5.charCodeAt(14);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return;
}
const yearDigit4 = date5.charCodeAt(15);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return;
}
const year = (yearDigit1 - 48) * 1000 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
let hour = 0;
if (date5[17] === "0") {
const code = date5.charCodeAt(18);
if (code < 48 || code > 57) {
return;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(17);
if (code1 < 48 || code1 > 50) {
return;
}
const code2 = date5.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return;
}
if (code1 === 50 && code2 > 51) {
return;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[20] === "0") {
const code = date5.charCodeAt(21);
if (code < 48 || code > 57) {
return;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(20);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(21);
if (code2 < 48 || code2 > 57) {
return;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[23] === "0") {
const code = date5.charCodeAt(24);
if (code < 48 || code > 57) {
return;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(23);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(24);
if (code2 < 48 || code2 > 57) {
return;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result.getUTCDay() === weekday ? result : undefined;
}
function parseAscTimeDate(date5) {
if (date5.length !== 24 || date5[7] !== " " || date5[10] !== " " || date5[19] !== " ") {
return;
}
let weekday = -1;
if (date5[0] === "S" && date5[1] === "u" && date5[2] === "n") {
weekday = 0;
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n") {
weekday = 1;
} else if (date5[0] === "T" && date5[1] === "u" && date5[2] === "e") {
weekday = 2;
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d") {
weekday = 3;
} else if (date5[0] === "T" && date5[1] === "h" && date5[2] === "u") {
weekday = 4;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i") {
weekday = 5;
} else if (date5[0] === "S" && date5[1] === "a" && date5[2] === "t") {
weekday = 6;
} else {
return;
}
let monthIdx = -1;
if (date5[4] === "J" && date5[5] === "a" && date5[6] === "n") {
monthIdx = 0;
} else if (date5[4] === "F" && date5[5] === "e" && date5[6] === "b") {
monthIdx = 1;
} else if (date5[4] === "M" && date5[5] === "a") {
if (date5[6] === "r") {
monthIdx = 2;
} else if (date5[6] === "y") {
monthIdx = 4;
} else {
return;
}
} else if (date5[4] === "J") {
if (date5[5] === "a" && date5[6] === "n") {
monthIdx = 0;
} else if (date5[5] === "u") {
if (date5[6] === "n") {
monthIdx = 5;
} else if (date5[6] === "l") {
monthIdx = 6;
} else {
return;
}
} else {
return;
}
} else if (date5[4] === "A") {
if (date5[5] === "p" && date5[6] === "r") {
monthIdx = 3;
} else if (date5[5] === "u" && date5[6] === "g") {
monthIdx = 7;
} else {
return;
}
} else if (date5[4] === "S" && date5[5] === "e" && date5[6] === "p") {
monthIdx = 8;
} else if (date5[4] === "O" && date5[5] === "c" && date5[6] === "t") {
monthIdx = 9;
} else if (date5[4] === "N" && date5[5] === "o" && date5[6] === "v") {
monthIdx = 10;
} else if (date5[4] === "D" && date5[5] === "e" && date5[6] === "c") {
monthIdx = 11;
} else {
return;
}
let day = 0;
if (date5[8] === " ") {
const code = date5.charCodeAt(9);
if (code < 49 || code > 57) {
return;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(8);
if (code1 < 49 || code1 > 51) {
return;
}
const code2 = date5.charCodeAt(9);
if (code2 < 48 || code2 > 57) {
return;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let hour = 0;
if (date5[11] === "0") {
const code = date5.charCodeAt(12);
if (code < 48 || code > 57) {
return;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(11);
if (code1 < 48 || code1 > 50) {
return;
}
const code2 = date5.charCodeAt(12);
if (code2 < 48 || code2 > 57) {
return;
}
if (code1 === 50 && code2 > 51) {
return;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[14] === "0") {
const code = date5.charCodeAt(15);
if (code < 48 || code > 57) {
return;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(14);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(15);
if (code2 < 48 || code2 > 57) {
return;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[17] === "0") {
const code = date5.charCodeAt(18);
if (code < 48 || code > 57) {
return;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(17);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(18);
if (code2 < 48 || code2 > 57) {
return;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const yearDigit1 = date5.charCodeAt(20);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return;
}
const yearDigit2 = date5.charCodeAt(21);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return;
}
const yearDigit3 = date5.charCodeAt(22);
if (yearDigit3 < 48 || yearDigit3 > 57) {
return;
}
const yearDigit4 = date5.charCodeAt(23);
if (yearDigit4 < 48 || yearDigit4 > 57) {
return;
}
const year = (yearDigit1 - 48) * 1000 + (yearDigit2 - 48) * 100 + (yearDigit3 - 48) * 10 + (yearDigit4 - 48);
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result.getUTCDay() === weekday ? result : undefined;
}
function parseRfc850Date(date5) {
let commaIndex = -1;
let weekday = -1;
if (date5[0] === "S") {
if (date5[1] === "u" && date5[2] === "n" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 0;
commaIndex = 6;
} else if (date5[1] === "a" && date5[2] === "t" && date5[3] === "u" && date5[4] === "r" && date5[5] === "d" && date5[6] === "a" && date5[7] === "y") {
weekday = 6;
commaIndex = 8;
}
} else if (date5[0] === "M" && date5[1] === "o" && date5[2] === "n" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 1;
commaIndex = 6;
} else if (date5[0] === "T") {
if (date5[1] === "u" && date5[2] === "e" && date5[3] === "s" && date5[4] === "d" && date5[5] === "a" && date5[6] === "y") {
weekday = 2;
commaIndex = 7;
} else if (date5[1] === "h" && date5[2] === "u" && date5[3] === "r" && date5[4] === "s" && date5[5] === "d" && date5[6] === "a" && date5[7] === "y") {
weekday = 4;
commaIndex = 8;
}
} else if (date5[0] === "W" && date5[1] === "e" && date5[2] === "d" && date5[3] === "n" && date5[4] === "e" && date5[5] === "s" && date5[6] === "d" && date5[7] === "a" && date5[8] === "y") {
weekday = 3;
commaIndex = 9;
} else if (date5[0] === "F" && date5[1] === "r" && date5[2] === "i" && date5[3] === "d" && date5[4] === "a" && date5[5] === "y") {
weekday = 5;
commaIndex = 6;
} else {
return;
}
if (date5[commaIndex] !== "," || date5.length - commaIndex - 1 !== 23 || date5[commaIndex + 1] !== " " || date5[commaIndex + 4] !== "-" || date5[commaIndex + 8] !== "-" || date5[commaIndex + 11] !== " " || date5[commaIndex + 14] !== ":" || date5[commaIndex + 17] !== ":" || date5[commaIndex + 20] !== " " || date5[commaIndex + 21] !== "G" || date5[commaIndex + 22] !== "M" || date5[commaIndex + 23] !== "T") {
return;
}
let day = 0;
if (date5[commaIndex + 2] === "0") {
const code = date5.charCodeAt(commaIndex + 3);
if (code < 49 || code > 57) {
return;
}
day = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 2);
if (code1 < 49 || code1 > 51) {
return;
}
const code2 = date5.charCodeAt(commaIndex + 3);
if (code2 < 48 || code2 > 57) {
return;
}
day = (code1 - 48) * 10 + (code2 - 48);
}
let monthIdx = -1;
if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "n") {
monthIdx = 0;
} else if (date5[commaIndex + 5] === "F" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "b") {
monthIdx = 1;
} else if (date5[commaIndex + 5] === "M" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "r") {
monthIdx = 2;
} else if (date5[commaIndex + 5] === "A" && date5[commaIndex + 6] === "p" && date5[commaIndex + 7] === "r") {
monthIdx = 3;
} else if (date5[commaIndex + 5] === "M" && date5[commaIndex + 6] === "a" && date5[commaIndex + 7] === "y") {
monthIdx = 4;
} else if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "n") {
monthIdx = 5;
} else if (date5[commaIndex + 5] === "J" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "l") {
monthIdx = 6;
} else if (date5[commaIndex + 5] === "A" && date5[commaIndex + 6] === "u" && date5[commaIndex + 7] === "g") {
monthIdx = 7;
} else if (date5[commaIndex + 5] === "S" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "p") {
monthIdx = 8;
} else if (date5[commaIndex + 5] === "O" && date5[commaIndex + 6] === "c" && date5[commaIndex + 7] === "t") {
monthIdx = 9;
} else if (date5[commaIndex + 5] === "N" && date5[commaIndex + 6] === "o" && date5[commaIndex + 7] === "v") {
monthIdx = 10;
} else if (date5[commaIndex + 5] === "D" && date5[commaIndex + 6] === "e" && date5[commaIndex + 7] === "c") {
monthIdx = 11;
} else {
return;
}
const yearDigit1 = date5.charCodeAt(commaIndex + 9);
if (yearDigit1 < 48 || yearDigit1 > 57) {
return;
}
const yearDigit2 = date5.charCodeAt(commaIndex + 10);
if (yearDigit2 < 48 || yearDigit2 > 57) {
return;
}
let year = (yearDigit1 - 48) * 10 + (yearDigit2 - 48);
year += year < 70 ? 2000 : 1900;
let hour = 0;
if (date5[commaIndex + 12] === "0") {
const code = date5.charCodeAt(commaIndex + 13);
if (code < 48 || code > 57) {
return;
}
hour = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 12);
if (code1 < 48 || code1 > 50) {
return;
}
const code2 = date5.charCodeAt(commaIndex + 13);
if (code2 < 48 || code2 > 57) {
return;
}
if (code1 === 50 && code2 > 51) {
return;
}
hour = (code1 - 48) * 10 + (code2 - 48);
}
let minute = 0;
if (date5[commaIndex + 15] === "0") {
const code = date5.charCodeAt(commaIndex + 16);
if (code < 48 || code > 57) {
return;
}
minute = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 15);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(commaIndex + 16);
if (code2 < 48 || code2 > 57) {
return;
}
minute = (code1 - 48) * 10 + (code2 - 48);
}
let second = 0;
if (date5[commaIndex + 18] === "0") {
const code = date5.charCodeAt(commaIndex + 19);
if (code < 48 || code > 57) {
return;
}
second = code - 48;
} else {
const code1 = date5.charCodeAt(commaIndex + 18);
if (code1 < 48 || code1 > 53) {
return;
}
const code2 = date5.charCodeAt(commaIndex + 19);
if (code2 < 48 || code2 > 57) {
return;
}
second = (code1 - 48) * 10 + (code2 - 48);
}
const result = new Date(Date.UTC(year, monthIdx, day, hour, minute, second));
return result.getUTCDay() === weekday ? result : undefined;
}
module.exports = {
parseHttpDate
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/cache-handler.js
var require_cache_handler = __commonJS((exports, module) => {
var util3 = require_util();
var {
parseCacheControlHeader,
parseVaryHeader,
isEtagUsable
} = require_cache();
var { parseHttpDate } = require_date();
function noop7() {}
var HEURISTICALLY_CACHEABLE_STATUS_CODES = [
200,
203,
204,
206,
300,
301,
308,
404,
405,
410,
414,
501
];
var NOT_UNDERSTOOD_STATUS_CODES = [
206
];
var MAX_RESPONSE_AGE = 2147483647000;
class CacheHandler {
#cacheKey;
#cacheType;
#cacheByDefault;
#store;
#handler;
#writeStream;
constructor({ store, type, cacheByDefault }, cacheKey, handler) {
this.#store = store;
this.#cacheType = type;
this.#cacheByDefault = cacheByDefault;
this.#cacheKey = cacheKey;
this.#handler = handler;
}
onRequestStart(controller, context) {
this.#writeStream?.destroy();
this.#writeStream = undefined;
this.#handler.onRequestStart?.(controller, context);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, resHeaders, statusMessage) {
const downstreamOnHeaders = () => this.#handler.onResponseStart?.(controller, statusCode, resHeaders, statusMessage);
const handler = this;
if (!util3.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) {
try {
this.#store.delete(this.#cacheKey)?.catch?.(noop7);
} catch {}
return downstreamOnHeaders();
}
const cacheControlHeader = resHeaders["cache-control"];
const heuristicallyCacheable = resHeaders["last-modified"] && HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode);
if (!cacheControlHeader && !resHeaders["expires"] && !heuristicallyCacheable && !this.#cacheByDefault) {
return downstreamOnHeaders();
}
const cacheControlDirectives = cacheControlHeader ? parseCacheControlHeader(cacheControlHeader) : {};
if (!canCacheResponse(this.#cacheType, statusCode, resHeaders, cacheControlDirectives, this.#cacheKey.headers)) {
return downstreamOnHeaders();
}
const now = Date.now();
const resAge = resHeaders.age ? getAge(resHeaders.age) : undefined;
if (resAge && resAge >= MAX_RESPONSE_AGE) {
return downstreamOnHeaders();
}
const resDate = typeof resHeaders.date === "string" ? parseHttpDate(resHeaders.date) : undefined;
const staleAt = determineStaleAt(this.#cacheType, now, resAge, resHeaders, resDate, cacheControlDirectives) ?? this.#cacheByDefault;
if (staleAt === undefined || resAge && resAge > staleAt) {
return downstreamOnHeaders();
}
const baseTime = resDate ? resDate.getTime() : now;
const absoluteStaleAt = staleAt + baseTime;
if (now >= absoluteStaleAt) {
return downstreamOnHeaders();
}
let varyDirectives;
if (this.#cacheKey.headers && resHeaders.vary) {
varyDirectives = parseVaryHeader(resHeaders.vary, this.#cacheKey.headers);
if (!varyDirectives) {
return downstreamOnHeaders();
}
}
const deleteAt = determineDeleteAt(baseTime, cacheControlDirectives, absoluteStaleAt);
const strippedHeaders = stripNecessaryHeaders(resHeaders, cacheControlDirectives);
const value = {
statusCode,
statusMessage,
headers: strippedHeaders,
vary: varyDirectives,
cacheControlDirectives,
cachedAt: resAge ? now - resAge : now,
staleAt: absoluteStaleAt,
deleteAt
};
if (statusCode === 304) {
const handle304 = (cachedValue) => {
if (!cachedValue) {
return downstreamOnHeaders();
}
value.statusCode = cachedValue.statusCode;
value.statusMessage = cachedValue.statusMessage;
value.etag = cachedValue.etag;
value.headers = { ...cachedValue.headers, ...strippedHeaders };
downstreamOnHeaders();
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream || !cachedValue?.body) {
return;
}
if (typeof cachedValue.body.values === "function") {
const bodyIterator = cachedValue.body.values();
const streamCachedBody = () => {
for (const chunk of bodyIterator) {
const full = this.#writeStream.write(chunk) === false;
this.#handler.onResponseData?.(controller, chunk);
if (full) {
break;
}
}
};
this.#writeStream.on("error", function() {
handler.#writeStream = undefined;
handler.#store.delete(handler.#cacheKey);
}).on("drain", () => {
streamCachedBody();
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = undefined;
}
});
streamCachedBody();
} else if (typeof cachedValue.body.on === "function") {
cachedValue.body.on("data", (chunk) => {
this.#writeStream.write(chunk);
this.#handler.onResponseData?.(controller, chunk);
}).on("end", () => {
this.#writeStream.end();
}).on("error", () => {
this.#writeStream = undefined;
this.#store.delete(this.#cacheKey);
});
this.#writeStream.on("error", function() {
handler.#writeStream = undefined;
handler.#store.delete(handler.#cacheKey);
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = undefined;
}
});
}
};
const result = this.#store.get(this.#cacheKey);
if (result && typeof result.then === "function") {
result.then(handle304);
} else {
handle304(result);
}
} else {
if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) {
value.etag = resHeaders.etag;
}
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
if (!this.#writeStream) {
return downstreamOnHeaders();
}
this.#writeStream.on("drain", () => controller.resume()).on("error", function() {
handler.#writeStream = undefined;
handler.#store.delete(handler.#cacheKey);
}).on("close", function() {
if (handler.#writeStream === this) {
handler.#writeStream = undefined;
}
controller.resume();
});
downstreamOnHeaders();
}
}
onResponseData(controller, chunk) {
if (this.#writeStream?.write(chunk) === false) {
controller.pause();
}
this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
this.#writeStream?.end();
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err) {
this.#writeStream?.destroy(err);
this.#writeStream = undefined;
this.#handler.onResponseError?.(controller, err);
}
}
function canCacheResponse(cacheType, statusCode, resHeaders, cacheControlDirectives, reqHeaders) {
if (statusCode < 200 || NOT_UNDERSTOOD_STATUS_CODES.includes(statusCode)) {
return false;
}
if (!HEURISTICALLY_CACHEABLE_STATUS_CODES.includes(statusCode) && !resHeaders["expires"] && !cacheControlDirectives.public && cacheControlDirectives["max-age"] === undefined && !(cacheControlDirectives.private && cacheType === "private") && !(cacheControlDirectives["s-maxage"] !== undefined && cacheType === "shared")) {
return false;
}
if (cacheControlDirectives["no-store"]) {
return false;
}
if (cacheType === "shared" && cacheControlDirectives.private === true) {
return false;
}
if (resHeaders.vary?.includes("*")) {
return false;
}
if (reqHeaders?.authorization) {
if (!cacheControlDirectives.public && !cacheControlDirectives["s-maxage"] && !cacheControlDirectives["must-revalidate"]) {
return false;
}
if (typeof reqHeaders.authorization !== "string") {
return false;
}
if (Array.isArray(cacheControlDirectives["no-cache"]) && cacheControlDirectives["no-cache"].includes("authorization")) {
return false;
}
if (Array.isArray(cacheControlDirectives["private"]) && cacheControlDirectives["private"].includes("authorization")) {
return false;
}
}
return true;
}
function getAge(ageHeader) {
const age = parseInt(Array.isArray(ageHeader) ? ageHeader[0] : ageHeader);
return isNaN(age) ? undefined : age * 1000;
}
function determineStaleAt(cacheType, now, age, resHeaders, responseDate, cacheControlDirectives) {
if (cacheType === "shared") {
const sMaxAge = cacheControlDirectives["s-maxage"];
if (sMaxAge !== undefined) {
return sMaxAge > 0 ? sMaxAge * 1000 : undefined;
}
}
const maxAge = cacheControlDirectives["max-age"];
if (maxAge !== undefined) {
return maxAge > 0 ? maxAge * 1000 : undefined;
}
if (typeof resHeaders.expires === "string") {
const expiresDate = parseHttpDate(resHeaders.expires);
if (expiresDate) {
if (now >= expiresDate.getTime()) {
return;
}
if (responseDate) {
if (responseDate >= expiresDate) {
return;
}
if (age !== undefined && age > expiresDate - responseDate) {
return;
}
}
return expiresDate.getTime() - now;
}
}
if (typeof resHeaders["last-modified"] === "string") {
const lastModified = new Date(resHeaders["last-modified"]);
if (isValidDate(lastModified)) {
if (lastModified.getTime() >= now) {
return;
}
const responseAge = now - lastModified.getTime();
return responseAge * 0.1;
}
}
if (cacheControlDirectives.immutable) {
return 31536000;
}
return;
}
function determineDeleteAt(now, cacheControlDirectives, staleAt) {
let staleWhileRevalidate = -Infinity;
let staleIfError = -Infinity;
let immutable = -Infinity;
if (cacheControlDirectives["stale-while-revalidate"]) {
staleWhileRevalidate = staleAt + cacheControlDirectives["stale-while-revalidate"] * 1000;
}
if (cacheControlDirectives["stale-if-error"]) {
staleIfError = staleAt + cacheControlDirectives["stale-if-error"] * 1000;
}
if (cacheControlDirectives.immutable && staleWhileRevalidate === -Infinity && staleIfError === -Infinity) {
immutable = now + 31536000000;
}
if (staleWhileRevalidate === -Infinity && staleIfError === -Infinity && immutable === -Infinity) {
const freshnessLifetime = staleAt - now;
return staleAt + freshnessLifetime;
}
return Math.max(staleAt, staleWhileRevalidate, staleIfError, immutable);
}
function stripNecessaryHeaders(resHeaders, cacheControlDirectives) {
const headersToRemove = [
"connection",
"proxy-authenticate",
"proxy-authentication-info",
"proxy-authorization",
"proxy-connection",
"te",
"transfer-encoding",
"upgrade",
"age"
];
if (resHeaders["connection"]) {
if (Array.isArray(resHeaders["connection"])) {
headersToRemove.push(...resHeaders["connection"].map((header) => header.trim()));
} else {
headersToRemove.push(...resHeaders["connection"].split(",").map((header) => header.trim()));
}
}
if (Array.isArray(cacheControlDirectives["no-cache"])) {
headersToRemove.push(...cacheControlDirectives["no-cache"]);
}
if (Array.isArray(cacheControlDirectives["private"])) {
headersToRemove.push(...cacheControlDirectives["private"]);
}
let strippedHeaders;
for (const headerName of headersToRemove) {
if (resHeaders[headerName]) {
strippedHeaders ??= { ...resHeaders };
delete strippedHeaders[headerName];
}
}
return strippedHeaders ?? resHeaders;
}
function isValidDate(date5) {
return date5 instanceof Date && Number.isFinite(date5.valueOf());
}
module.exports = CacheHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/cache/memory-cache-store.js
var require_memory_cache_store = __commonJS((exports, module) => {
var { Writable: Writable4 } = __require("node:stream");
var { EventEmitter: EventEmitter3 } = __require("node:events");
var { assertCacheKey, assertCacheValue } = require_cache();
class MemoryCacheStore extends EventEmitter3 {
#maxCount = 1024;
#maxSize = 104857600;
#maxEntrySize = 5242880;
#size = 0;
#count = 0;
#entries = new Map;
#hasEmittedMaxSizeEvent = false;
constructor(opts) {
super();
if (opts) {
if (typeof opts !== "object") {
throw new TypeError("MemoryCacheStore options must be an object");
}
if (opts.maxCount !== undefined) {
if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts.maxCount;
}
if (opts.maxSize !== undefined) {
if (typeof opts.maxSize !== "number" || !Number.isInteger(opts.maxSize) || opts.maxSize < 0) {
throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");
}
this.#maxSize = opts.maxSize;
}
if (opts.maxEntrySize !== undefined) {
if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");
}
this.#maxEntrySize = opts.maxEntrySize;
}
}
}
get size() {
return this.#size;
}
isFull() {
return this.#size >= this.#maxSize || this.#count >= this.#maxCount;
}
get(key) {
assertCacheKey(key);
const topLevelKey = `${key.origin}:${key.path}`;
const now = Date.now();
const entries = this.#entries.get(topLevelKey);
const entry = entries ? findEntry(key, entries, now) : null;
return entry == null ? undefined : {
statusMessage: entry.statusMessage,
statusCode: entry.statusCode,
headers: entry.headers,
body: entry.body,
vary: entry.vary ? entry.vary : undefined,
etag: entry.etag,
cacheControlDirectives: entry.cacheControlDirectives,
cachedAt: entry.cachedAt,
staleAt: entry.staleAt,
deleteAt: entry.deleteAt
};
}
createWriteStream(key, val) {
assertCacheKey(key);
assertCacheValue(val);
const topLevelKey = `${key.origin}:${key.path}`;
const store = this;
const entry = { ...key, ...val, body: [], size: 0 };
return new Writable4({
write(chunk, encoding, callback) {
if (typeof chunk === "string") {
chunk = Buffer.from(chunk, encoding);
}
entry.size += chunk.byteLength;
if (entry.size >= store.#maxEntrySize) {
this.destroy();
} else {
entry.body.push(chunk);
}
callback(null);
},
final(callback) {
let entries = store.#entries.get(topLevelKey);
if (!entries) {
entries = [];
store.#entries.set(topLevelKey, entries);
}
const previousEntry = findEntry(key, entries, Date.now());
if (previousEntry) {
const index = entries.indexOf(previousEntry);
entries.splice(index, 1, entry);
store.#size -= previousEntry.size;
} else {
entries.push(entry);
store.#count += 1;
}
store.#size += entry.size;
if (store.#size > store.#maxSize || store.#count > store.#maxCount) {
if (!store.#hasEmittedMaxSizeEvent) {
store.emit("maxSizeExceeded", {
size: store.#size,
maxSize: store.#maxSize,
count: store.#count,
maxCount: store.#maxCount
});
store.#hasEmittedMaxSizeEvent = true;
}
for (const [key2, entries2] of store.#entries) {
for (const entry2 of entries2.splice(0, entries2.length / 2)) {
store.#size -= entry2.size;
store.#count -= 1;
}
if (entries2.length === 0) {
store.#entries.delete(key2);
}
}
if (store.#size < store.#maxSize && store.#count < store.#maxCount) {
store.#hasEmittedMaxSizeEvent = false;
}
}
callback(null);
}
});
}
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
const topLevelKey = `${key.origin}:${key.path}`;
for (const entry of this.#entries.get(topLevelKey) ?? []) {
this.#size -= entry.size;
this.#count -= 1;
}
this.#entries.delete(topLevelKey);
}
}
function findEntry(key, entries, now) {
return entries.find((entry) => entry.deleteAt > now && entry.method === key.method && (entry.vary == null || Object.keys(entry.vary).every((headerName) => {
if (entry.vary[headerName] === null) {
return key.headers[headerName] === undefined;
}
return entry.vary[headerName] === key.headers[headerName];
})));
}
module.exports = MemoryCacheStore;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/cache-revalidation-handler.js
var require_cache_revalidation_handler = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
class CacheRevalidationHandler {
#successful = false;
#callback;
#handler;
#context;
#allowErrorStatusCodes;
constructor(callback, handler, allowErrorStatusCodes) {
if (typeof callback !== "function") {
throw new TypeError("callback must be a function");
}
this.#callback = callback;
this.#handler = handler;
this.#allowErrorStatusCodes = allowErrorStatusCodes;
}
onRequestStart(_2, context) {
this.#successful = false;
this.#context = context;
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#handler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
assert3(this.#callback != null);
this.#successful = statusCode === 304 || this.#allowErrorStatusCodes && statusCode >= 500 && statusCode <= 504;
this.#callback(this.#successful, this.#context);
this.#callback = null;
if (this.#successful) {
return true;
}
this.#handler.onRequestStart?.(controller, this.#context);
this.#handler.onResponseStart?.(controller, statusCode, headers, statusMessage);
}
onResponseData(controller, chunk) {
if (this.#successful) {
return;
}
return this.#handler.onResponseData?.(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.#successful) {
return;
}
this.#handler.onResponseEnd?.(controller, trailers);
}
onResponseError(controller, err) {
if (this.#successful) {
return;
}
if (this.#callback) {
this.#callback(false);
this.#callback = null;
}
if (typeof this.#handler.onResponseError === "function") {
this.#handler.onResponseError(controller, err);
} else {
throw err;
}
}
}
module.exports = CacheRevalidationHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/cache.js
var require_cache2 = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { Readable: Readable5 } = __require("node:stream");
var util3 = require_util();
var CacheHandler = require_cache_handler();
var MemoryCacheStore = require_memory_cache_store();
var CacheRevalidationHandler = require_cache_revalidation_handler();
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache();
var { AbortError: AbortError2 } = require_errors();
function assertCacheOrigins(origins, name) {
if (origins === undefined)
return;
if (!Array.isArray(origins)) {
throw new TypeError(`expected ${name} to be an array or undefined, got ${typeof origins}`);
}
for (let i2 = 0;i2 < origins.length; i2++) {
const origin2 = origins[i2];
if (typeof origin2 !== "string" && !(origin2 instanceof RegExp)) {
throw new TypeError(`expected ${name}[${i2}] to be a string or RegExp, got ${typeof origin2}`);
}
}
}
var nop = () => {};
function needsRevalidation(result, cacheControlDirectives, { headers = {} }) {
if (cacheControlDirectives?.["no-cache"]) {
return true;
}
if (result.cacheControlDirectives?.["no-cache"] && !Array.isArray(result.cacheControlDirectives["no-cache"])) {
return true;
}
if (headers["if-modified-since"] || headers["if-none-match"]) {
return true;
}
return false;
}
function isStale(result, cacheControlDirectives) {
const now = Date.now();
if (now > result.staleAt) {
if (cacheControlDirectives?.["max-stale"]) {
const gracePeriod = result.staleAt + cacheControlDirectives["max-stale"] * 1000;
return now > gracePeriod;
}
return true;
}
if (cacheControlDirectives?.["min-fresh"]) {
const timeLeftTillStale = result.staleAt - now;
const threshold = cacheControlDirectives["min-fresh"] * 1000;
return timeLeftTillStale <= threshold;
}
return false;
}
function withinStaleWhileRevalidateWindow(result) {
const staleWhileRevalidate = result.cacheControlDirectives?.["stale-while-revalidate"];
if (!staleWhileRevalidate) {
return false;
}
const now = Date.now();
const staleWhileRevalidateExpiry = result.staleAt + staleWhileRevalidate * 1000;
return now <= staleWhileRevalidateExpiry;
}
function handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl) {
if (reqCacheControl?.["only-if-cached"]) {
let aborted3 = false;
try {
if (typeof handler.onConnect === "function") {
handler.onConnect(() => {
aborted3 = true;
});
if (aborted3) {
return;
}
}
if (typeof handler.onHeaders === "function") {
handler.onHeaders(504, [], nop, "Gateway Timeout");
if (aborted3) {
return;
}
}
if (typeof handler.onComplete === "function") {
handler.onComplete([]);
}
} catch (err) {
if (typeof handler.onError === "function") {
handler.onError(err);
}
}
return true;
}
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
function sendCachedValue(handler, opts, result, age, context, isStale2) {
const stream4 = util3.isStream(result.body) ? result.body : Readable5.from(result.body ?? []);
assert3(!stream4.destroyed, "stream should not be destroyed");
assert3(!stream4.readableDidRead, "stream should not be readableDidRead");
const controller = {
resume() {
stream4.resume();
},
pause() {
stream4.pause();
},
get paused() {
return stream4.isPaused();
},
get aborted() {
return stream4.destroyed;
},
get reason() {
return stream4.errored;
},
abort(reason) {
stream4.destroy(reason ?? new AbortError2);
}
};
stream4.on("error", function(err) {
if (!this.readableEnded) {
if (typeof handler.onResponseError === "function") {
handler.onResponseError(controller, err);
} else {
throw err;
}
}
}).on("close", function() {
if (!this.errored) {
handler.onResponseEnd?.(controller, {});
}
});
handler.onRequestStart?.(controller, context);
if (stream4.destroyed) {
return;
}
const headers = { ...result.headers, age: String(age) };
if (isStale2) {
headers.warning = '110 - "response is stale"';
}
handler.onResponseStart?.(controller, result.statusCode, headers, result.statusMessage);
if (opts.method === "HEAD") {
stream4.destroy();
} else {
stream4.on("data", function(chunk) {
handler.onResponseData?.(controller, chunk);
});
}
}
function handleResult2(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl, result) {
if (!result) {
return handleUncachedResponse(dispatch, globalOpts, cacheKey, handler, opts, reqCacheControl);
}
const now = Date.now();
if (now > result.deleteAt) {
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
const age = Math.round((now - result.cachedAt) / 1000);
if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) {
return dispatch(opts, handler);
}
const stale = isStale(result, reqCacheControl);
const revalidate = needsRevalidation(result, reqCacheControl, opts);
if (stale || revalidate) {
if (util3.isStream(opts.body) && util3.bodyLength(opts.body) !== 0) {
return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler));
}
if (!revalidate && withinStaleWhileRevalidateWindow(result)) {
sendCachedValue(handler, opts, result, age, null, true);
queueMicrotask(() => {
const headers2 = {
...opts.headers,
"if-modified-since": new Date(result.cachedAt).toUTCString()
};
if (result.etag) {
headers2["if-none-match"] = result.etag;
}
if (result.vary) {
for (const key in result.vary) {
if (result.vary[key] != null) {
headers2[key] = result.vary[key];
}
}
}
dispatch({
...opts,
headers: headers2
}, new CacheHandler(globalOpts, cacheKey, {
onRequestStart() {},
onRequestUpgrade() {},
onResponseStart() {},
onResponseData() {},
onResponseEnd() {},
onResponseError() {}
}));
});
return true;
}
let withinStaleIfErrorThreshold = false;
const staleIfErrorExpiry = result.cacheControlDirectives["stale-if-error"] ?? reqCacheControl?.["stale-if-error"];
if (staleIfErrorExpiry) {
withinStaleIfErrorThreshold = now < result.staleAt + staleIfErrorExpiry * 1000;
}
const headers = {
...opts.headers,
"if-modified-since": new Date(result.cachedAt).toUTCString()
};
if (result.etag) {
headers["if-none-match"] = result.etag;
}
if (result.vary) {
for (const key in result.vary) {
if (result.vary[key] != null) {
headers[key] = result.vary[key];
}
}
}
return dispatch({
...opts,
headers
}, new CacheRevalidationHandler((success2, context) => {
if (success2) {
sendCachedValue(handler, opts, result, age, context, stale);
} else if (util3.isStream(result.body)) {
result.body.on("error", nop).destroy();
}
}, new CacheHandler(globalOpts, cacheKey, handler), withinStaleIfErrorThreshold));
}
if (util3.isStream(opts.body)) {
opts.body.on("error", nop).destroy();
}
sendCachedValue(handler, opts, result, age, null, false);
}
module.exports = (opts = {}) => {
const {
store = new MemoryCacheStore,
methods = ["GET"],
cacheByDefault = undefined,
type = "shared",
origins = undefined
} = opts;
if (typeof opts !== "object" || opts === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
}
assertCacheStore(store, "opts.store");
assertCacheMethods(methods, "opts.methods");
assertCacheOrigins(origins, "opts.origins");
if (typeof cacheByDefault !== "undefined" && typeof cacheByDefault !== "number") {
throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);
}
if (typeof type !== "undefined" && type !== "shared" && type !== "private") {
throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof type}`);
}
const globalOpts = {
store,
methods,
cacheByDefault,
type
};
const safeMethodsToNotCache = util3.safeHTTPMethods.filter((method) => methods.includes(method) === false);
return (dispatch) => {
return (opts2, handler) => {
if (!opts2.origin || safeMethodsToNotCache.includes(opts2.method)) {
return dispatch(opts2, handler);
}
if (origins !== undefined) {
const requestOrigin = opts2.origin.toString().toLowerCase();
let isAllowed = false;
for (let i2 = 0;i2 < origins.length; i2++) {
const allowed = origins[i2];
if (typeof allowed === "string") {
if (allowed.toLowerCase() === requestOrigin) {
isAllowed = true;
break;
}
} else if (allowed.test(requestOrigin)) {
isAllowed = true;
break;
}
}
if (!isAllowed) {
return dispatch(opts2, handler);
}
}
opts2 = {
...opts2,
headers: normalizeHeaders(opts2)
};
const reqCacheControl = opts2.headers?.["cache-control"] ? parseCacheControlHeader(opts2.headers["cache-control"]) : undefined;
if (reqCacheControl?.["no-store"]) {
return dispatch(opts2, handler);
}
const cacheKey = makeCacheKey(opts2);
const result = store.get(cacheKey);
if (result && typeof result.then === "function") {
return result.then((result2) => handleResult2(dispatch, globalOpts, cacheKey, handler, opts2, reqCacheControl, result2));
} else {
return handleResult2(dispatch, globalOpts, cacheKey, handler, opts2, reqCacheControl, result);
}
};
};
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/decompress.js
var require_decompress = __commonJS((exports, module) => {
var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
var { pipeline } = __require("node:stream");
var DecoratorHandler = require_decorator_handler();
var { runtimeFeatures } = require_runtime_features();
var supportedEncodings = {
gzip: createGunzip,
"x-gzip": createGunzip,
br: createBrotliDecompress,
deflate: createInflate,
compress: createInflate,
"x-compress": createInflate,
...runtimeFeatures.has("zstd") ? { zstd: createZstdDecompress } : {}
};
var defaultSkipStatusCodes = [204, 304];
var warningEmitted = false;
class DecompressHandler extends DecoratorHandler {
#decompressors = [];
#skipStatusCodes;
#skipErrorResponses;
constructor(handler, { skipStatusCodes = defaultSkipStatusCodes, skipErrorResponses = true } = {}) {
super(handler);
this.#skipStatusCodes = skipStatusCodes;
this.#skipErrorResponses = skipErrorResponses;
}
#shouldSkipDecompression(contentEncoding, statusCode) {
if (!contentEncoding || statusCode < 200)
return true;
if (this.#skipStatusCodes.includes(statusCode))
return true;
if (this.#skipErrorResponses && statusCode >= 400)
return true;
return false;
}
#createDecompressionChain(encodings) {
const parts = encodings.split(",");
const maxContentEncodings = 5;
if (parts.length > maxContentEncodings) {
throw new Error(`too many content-encodings in response: ${parts.length}, maximum allowed is ${maxContentEncodings}`);
}
const decompressors = [];
for (let i2 = parts.length - 1;i2 >= 0; i2--) {
const encoding = parts[i2].trim();
if (!encoding)
continue;
if (!supportedEncodings[encoding]) {
decompressors.length = 0;
return decompressors;
}
decompressors.push(supportedEncodings[encoding]());
}
return decompressors;
}
#setupDecompressorEvents(decompressor, controller) {
decompressor.on("readable", () => {
let chunk;
while ((chunk = decompressor.read()) !== null) {
const result = super.onResponseData(controller, chunk);
if (result === false) {
break;
}
}
});
decompressor.on("error", (error49) => {
super.onResponseError(controller, error49);
});
}
#setupSingleDecompressor(controller) {
const decompressor = this.#decompressors[0];
this.#setupDecompressorEvents(decompressor, controller);
decompressor.on("end", () => {
super.onResponseEnd(controller, {});
});
}
#setupMultipleDecompressors(controller) {
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
this.#setupDecompressorEvents(lastDecompressor, controller);
pipeline(this.#decompressors, (err) => {
if (err) {
super.onResponseError(controller, err);
return;
}
super.onResponseEnd(controller, {});
});
}
#cleanupDecompressors() {
this.#decompressors.length = 0;
}
onResponseStart(controller, statusCode, headers, statusMessage) {
const contentEncoding = headers["content-encoding"];
if (this.#shouldSkipDecompression(contentEncoding, statusCode)) {
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
const decompressors = this.#createDecompressionChain(contentEncoding.toLowerCase());
if (decompressors.length === 0) {
this.#cleanupDecompressors();
return super.onResponseStart(controller, statusCode, headers, statusMessage);
}
this.#decompressors = decompressors;
const { "content-encoding": _2, "content-length": __, ...newHeaders } = headers;
if (this.#decompressors.length === 1) {
this.#setupSingleDecompressor(controller);
} else {
this.#setupMultipleDecompressors(controller);
}
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
}
onResponseData(controller, chunk) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].write(chunk);
return;
}
super.onResponseData(controller, chunk);
}
onResponseEnd(controller, trailers) {
if (this.#decompressors.length > 0) {
this.#decompressors[0].end();
this.#cleanupDecompressors();
return;
}
super.onResponseEnd(controller, trailers);
}
onResponseError(controller, err) {
if (this.#decompressors.length > 0) {
for (const decompressor of this.#decompressors) {
decompressor.destroy(err);
}
this.#cleanupDecompressors();
}
super.onResponseError(controller, err);
}
}
function createDecompressInterceptor(options = {}) {
if (!warningEmitted) {
process.emitWarning("DecompressInterceptor is experimental and subject to change", "ExperimentalWarning");
warningEmitted = true;
}
return (dispatch) => {
return (opts, handler) => {
const decompressHandler = new DecompressHandler(handler, options);
return dispatch(opts, decompressHandler);
};
};
}
module.exports = createDecompressInterceptor;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/handler/deduplication-handler.js
var require_deduplication_handler = __commonJS((exports, module) => {
var { RequestAbortedError } = require_errors();
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
class DeduplicationHandler {
#primaryHandler;
#waitingHandlers = [];
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
#statusCode = 0;
#headers = {};
#statusMessage = "";
#aborted = false;
#responseStarted = false;
#responseDataStarted = false;
#completed = false;
#controller = null;
#onComplete = null;
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
this.#primaryHandler = primaryHandler;
this.#onComplete = onComplete;
this.#maxBufferSize = maxBufferSize;
}
addWaitingHandler(handler) {
if (this.#completed || this.#responseDataStarted) {
return false;
}
const waitingHandler = this.#createWaitingHandler(handler);
const waitingController = waitingHandler.controller;
try {
handler.onRequestStart?.(waitingController, null);
if (waitingController.aborted) {
waitingHandler.done = true;
return true;
}
if (this.#responseStarted) {
handler.onResponseStart?.(waitingController, this.#statusCode, this.#headers, this.#statusMessage);
}
} catch {
waitingHandler.done = true;
return true;
}
if (!waitingController.aborted) {
this.#waitingHandlers.push(waitingHandler);
}
return true;
}
onRequestStart(controller, context) {
this.#controller = controller;
this.#primaryHandler.onRequestStart?.(controller, context);
}
onRequestUpgrade(controller, statusCode, headers, socket) {
this.#primaryHandler.onRequestUpgrade?.(controller, statusCode, headers, socket);
}
onResponseStart(controller, statusCode, headers, statusMessage) {
this.#responseStarted = true;
this.#statusCode = statusCode;
this.#headers = headers;
this.#statusMessage = statusMessage;
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
for (const waitingHandler of this.#waitingHandlers) {
const { handler, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
try {
handler.onResponseStart?.(waitingController, statusCode, headers, statusMessage);
} catch {}
if (waitingController.aborted) {
waitingHandler.done = true;
}
}
this.#pruneDoneWaitingHandlers();
}
onResponseData(controller, chunk) {
if (this.#aborted || this.#completed) {
return;
}
this.#responseDataStarted = true;
this.#primaryHandler.onResponseData?.(controller, chunk);
for (const waitingHandler of this.#waitingHandlers) {
const { handler, controller: waitingController } = waitingHandler;
if (waitingHandler.done || waitingController.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingController.paused) {
this.#bufferWaitingChunk(waitingHandler, chunk);
continue;
}
try {
handler.onResponseData?.(waitingController, chunk);
} catch {}
if (waitingController.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
}
this.#pruneDoneWaitingHandlers();
}
onResponseEnd(controller, trailers) {
if (this.#aborted || this.#completed) {
return;
}
this.#completed = true;
this.#primaryHandler.onResponseEnd?.(controller, trailers);
for (const waitingHandler of this.#waitingHandlers) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
this.#flushWaitingHandler(waitingHandler);
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
continue;
}
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
waitingHandler.pendingTrailers = trailers;
continue;
}
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
} catch {}
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
this.#onComplete?.();
}
onResponseError(controller, err) {
if (this.#completed) {
return;
}
this.#aborted = true;
this.#completed = true;
this.#primaryHandler.onResponseError?.(controller, err);
for (const waitingHandler of this.#waitingHandlers) {
this.#errorWaitingHandler(waitingHandler, err);
}
this.#waitingHandlers = [];
this.#onComplete?.();
}
#createWaitingHandler(handler) {
const waitingHandler = {
handler,
controller: null,
bufferedChunks: [],
bufferedBytes: 0,
pendingTrailers: null,
done: false
};
const state = {
aborted: false,
paused: false,
reason: null
};
waitingHandler.controller = {
resume: () => {
if (state.aborted) {
return;
}
state.paused = false;
this.#flushWaitingHandler(waitingHandler);
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
try {
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
} catch {}
waitingHandler.pendingTrailers = null;
waitingHandler.done = true;
}
this.#pruneDoneWaitingHandlers();
},
pause: () => {
if (!state.aborted) {
state.paused = true;
}
},
get paused() {
return state.paused;
},
get aborted() {
return state.aborted;
},
get reason() {
return state.reason;
},
abort: (reason) => {
state.aborted = true;
state.reason = reason ?? null;
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
}
};
return waitingHandler;
}
#bufferWaitingChunk(waitingHandler, chunk) {
if (waitingHandler.done || waitingHandler.controller.aborted) {
waitingHandler.done = true;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
return;
}
const bufferedChunk = Buffer.from(chunk);
waitingHandler.bufferedChunks.push(bufferedChunk);
waitingHandler.bufferedBytes += bufferedChunk.length;
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
const err = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
this.#errorWaitingHandler(waitingHandler, err);
}
}
#flushWaitingHandler(waitingHandler) {
const { handler, controller } = waitingHandler;
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
const bufferedChunk = waitingHandler.bufferedChunks.shift();
waitingHandler.bufferedBytes -= bufferedChunk.length;
try {
handler.onResponseData?.(controller, bufferedChunk);
} catch {}
if (controller.aborted) {
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
break;
}
}
}
#errorWaitingHandler(waitingHandler, err) {
if (waitingHandler.done) {
return;
}
waitingHandler.done = true;
waitingHandler.pendingTrailers = null;
waitingHandler.bufferedChunks = [];
waitingHandler.bufferedBytes = 0;
try {
waitingHandler.controller.abort(err);
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err);
} catch {}
}
#pruneDoneWaitingHandlers() {
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
}
}
module.exports = DeduplicationHandler;
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/interceptor/deduplicate.js
var require_deduplicate = __commonJS((exports, module) => {
var diagnosticsChannel = __require("node:diagnostics_channel");
var util3 = require_util();
var DeduplicationHandler = require_deduplication_handler();
var { normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require_cache();
var pendingRequestsChannel = diagnosticsChannel.channel("undici:request:pending-requests");
module.exports = (opts = {}) => {
const {
methods = ["GET"],
skipHeaderNames = [],
excludeHeaderNames = [],
maxBufferSize = 5 * 1024 * 1024
} = opts;
if (typeof opts !== "object" || opts === null) {
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
}
if (!Array.isArray(methods)) {
throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
}
for (const method of methods) {
if (!util3.safeHTTPMethods.includes(method)) {
throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);
}
}
if (!Array.isArray(skipHeaderNames)) {
throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
}
if (!Array.isArray(excludeHeaderNames)) {
throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
}
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) {
throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
}
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name) => name.toLowerCase()));
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name) => name.toLowerCase()));
const pendingRequests = new Map;
return (dispatch) => {
return (opts2, handler) => {
if (!opts2.origin || methods.includes(opts2.method) === false) {
return dispatch(opts2, handler);
}
opts2 = {
...opts2,
headers: normalizeHeaders(opts2)
};
if (skipHeaderNamesSet.size > 0) {
for (const headerName of Object.keys(opts2.headers)) {
if (skipHeaderNamesSet.has(headerName.toLowerCase())) {
return dispatch(opts2, handler);
}
}
}
const cacheKey = makeCacheKey(opts2);
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
const pendingHandler = pendingRequests.get(dedupeKey);
if (pendingHandler) {
if (pendingHandler.addWaitingHandler(handler)) {
return true;
}
return dispatch(opts2, handler);
}
const deduplicationHandler = new DeduplicationHandler(handler, () => {
pendingRequests.delete(dedupeKey);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" });
}
}, maxBufferSize);
pendingRequests.set(dedupeKey, deduplicationHandler);
if (pendingRequestsChannel.hasSubscribers) {
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "added" });
}
return dispatch(opts2, deduplicationHandler);
};
};
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/cache/sqlite-cache-store.js
var require_sqlite_cache_store = __commonJS((exports, module) => {
var { Writable: Writable4 } = __require("node:stream");
var { assertCacheKey, assertCacheValue } = require_cache();
var DatabaseSync;
var VERSION4 = 3;
var MAX_ENTRY_SIZE = 2 * 1000 * 1000 * 1000;
module.exports = class SqliteCacheStore {
#maxEntrySize = MAX_ENTRY_SIZE;
#maxCount = Infinity;
#db;
#getValuesQuery;
#updateValueQuery;
#insertValueQuery;
#deleteExpiredValuesQuery;
#deleteByUrlQuery;
#countEntriesQuery;
#deleteOldValuesQuery;
constructor(opts) {
if (opts) {
if (typeof opts !== "object") {
throw new TypeError("SqliteCacheStore options must be an object");
}
if (opts.maxEntrySize !== undefined) {
if (typeof opts.maxEntrySize !== "number" || !Number.isInteger(opts.maxEntrySize) || opts.maxEntrySize < 0) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");
}
if (opts.maxEntrySize > MAX_ENTRY_SIZE) {
throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");
}
this.#maxEntrySize = opts.maxEntrySize;
}
if (opts.maxCount !== undefined) {
if (typeof opts.maxCount !== "number" || !Number.isInteger(opts.maxCount) || opts.maxCount < 0) {
throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");
}
this.#maxCount = opts.maxCount;
}
}
if (!DatabaseSync) {
DatabaseSync = __require("node:sqlite").DatabaseSync;
}
this.#db = new DatabaseSync(opts?.location ?? ":memory:");
this.#db.exec(`
PRAGMA journal_mode = WAL;
PRAGMA synchronous = NORMAL;
PRAGMA temp_store = memory;
PRAGMA optimize;
CREATE TABLE IF NOT EXISTS cacheInterceptorV${VERSION4} (
-- Data specific to us
id INTEGER PRIMARY KEY AUTOINCREMENT,
url TEXT NOT NULL,
method TEXT NOT NULL,
-- Data returned to the interceptor
body BUF NULL,
deleteAt INTEGER NOT NULL,
statusCode INTEGER NOT NULL,
statusMessage TEXT NOT NULL,
headers TEXT NULL,
cacheControlDirectives TEXT NULL,
etag TEXT NULL,
vary TEXT NULL,
cachedAt INTEGER NOT NULL,
staleAt INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION4}_getValuesQuery ON cacheInterceptorV${VERSION4}(url, method, deleteAt);
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${VERSION4}_deleteByUrlQuery ON cacheInterceptorV${VERSION4}(deleteAt);
`);
this.#getValuesQuery = this.#db.prepare(`
SELECT
id,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
FROM cacheInterceptorV${VERSION4}
WHERE
url = ?
AND method = ?
ORDER BY
deleteAt ASC
`);
this.#updateValueQuery = this.#db.prepare(`
UPDATE cacheInterceptorV${VERSION4} SET
body = ?,
deleteAt = ?,
statusCode = ?,
statusMessage = ?,
headers = ?,
etag = ?,
cacheControlDirectives = ?,
cachedAt = ?,
staleAt = ?
WHERE
id = ?
`);
this.#insertValueQuery = this.#db.prepare(`
INSERT INTO cacheInterceptorV${VERSION4} (
url,
method,
body,
deleteAt,
statusCode,
statusMessage,
headers,
etag,
cacheControlDirectives,
vary,
cachedAt,
staleAt
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`);
this.#deleteByUrlQuery = this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION4} WHERE url = ?`);
this.#countEntriesQuery = this.#db.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${VERSION4}`);
this.#deleteExpiredValuesQuery = this.#db.prepare(`DELETE FROM cacheInterceptorV${VERSION4} WHERE deleteAt <= ?`);
this.#deleteOldValuesQuery = this.#maxCount === Infinity ? null : this.#db.prepare(`
DELETE FROM cacheInterceptorV${VERSION4}
WHERE id IN (
SELECT
id
FROM cacheInterceptorV${VERSION4}
ORDER BY cachedAt DESC
LIMIT ?
)
`);
}
close() {
this.#db.close();
}
get(key) {
assertCacheKey(key);
const value = this.#findValue(key);
return value ? {
body: value.body ? Buffer.from(value.body.buffer, value.body.byteOffset, value.body.byteLength) : undefined,
statusCode: value.statusCode,
statusMessage: value.statusMessage,
headers: value.headers ? JSON.parse(value.headers) : undefined,
etag: value.etag ? value.etag : undefined,
vary: value.vary ? JSON.parse(value.vary) : undefined,
cacheControlDirectives: value.cacheControlDirectives ? JSON.parse(value.cacheControlDirectives) : undefined,
cachedAt: value.cachedAt,
staleAt: value.staleAt,
deleteAt: value.deleteAt
} : undefined;
}
set(key, value) {
assertCacheKey(key);
const url3 = this.#makeValueUrl(key);
const body = Array.isArray(value.body) ? Buffer.concat(value.body) : value.body;
const size = body?.byteLength;
if (size && size > this.#maxEntrySize) {
return;
}
const existingValue = this.#findValue(key, true);
if (existingValue) {
this.#updateValueQuery.run(body, value.deleteAt, value.statusCode, value.statusMessage, value.headers ? JSON.stringify(value.headers) : null, value.etag ? value.etag : null, value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null, value.cachedAt, value.staleAt, existingValue.id);
} else {
this.#prune();
this.#insertValueQuery.run(url3, key.method, body, value.deleteAt, value.statusCode, value.statusMessage, value.headers ? JSON.stringify(value.headers) : null, value.etag ? value.etag : null, value.cacheControlDirectives ? JSON.stringify(value.cacheControlDirectives) : null, value.vary ? JSON.stringify(value.vary) : null, value.cachedAt, value.staleAt);
}
}
createWriteStream(key, value) {
assertCacheKey(key);
assertCacheValue(value);
let size = 0;
const body = [];
const store = this;
return new Writable4({
decodeStrings: true,
write(chunk, encoding, callback) {
size += chunk.byteLength;
if (size < store.#maxEntrySize) {
body.push(chunk);
} else {
this.destroy();
}
callback();
},
final(callback) {
store.set(key, { ...value, body });
callback();
}
});
}
delete(key) {
if (typeof key !== "object") {
throw new TypeError(`expected key to be object, got ${typeof key}`);
}
this.#deleteByUrlQuery.run(this.#makeValueUrl(key));
}
#prune() {
if (Number.isFinite(this.#maxCount) && this.size <= this.#maxCount) {
return 0;
}
{
const removed = this.#deleteExpiredValuesQuery.run(Date.now()).changes;
if (removed) {
return removed;
}
}
{
const removed = this.#deleteOldValuesQuery?.run(Math.max(Math.floor(this.#maxCount * 0.1), 1)).changes;
if (removed) {
return removed;
}
}
return 0;
}
get size() {
const { total } = this.#countEntriesQuery.get();
return total;
}
#makeValueUrl(key) {
return `${key.origin}/${key.path}`;
}
#findValue(key, canBeExpired = false) {
const url3 = this.#makeValueUrl(key);
const { headers, method } = key;
const values = this.#getValuesQuery.all(url3, method);
if (values.length === 0) {
return;
}
const now = Date.now();
for (const value of values) {
if (now >= value.deleteAt && !canBeExpired) {
return;
}
let matches = true;
if (value.vary) {
const vary = JSON.parse(value.vary);
for (const header in vary) {
if (!headerValueEquals(headers[header], vary[header])) {
matches = false;
break;
}
}
}
if (matches) {
return value;
}
}
return;
}
};
function headerValueEquals(lhs, rhs) {
if (lhs == null && rhs == null) {
return true;
}
if (lhs == null && rhs != null || lhs != null && rhs == null) {
return false;
}
if (Array.isArray(lhs) && Array.isArray(rhs)) {
if (lhs.length !== rhs.length) {
return false;
}
return lhs.every((x3, i2) => x3 === rhs[i2]);
}
return lhs === rhs;
}
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/headers.js
var require_headers = __commonJS((exports, module) => {
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util();
var {
iteratorMixin,
isValidHeaderName: isValidHeaderName2,
isValidHeaderValue
} = require_util2();
var { webidl } = require_webidl();
var assert3 = __require("node:assert");
var util3 = __require("node:util");
function isHTTPWhiteSpaceCharCode(code) {
return code === 10 || code === 13 || code === 9 || code === 32;
}
function headerValueNormalize(potentialValue) {
let i2 = 0;
let j2 = potentialValue.length;
while (j2 > i2 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j2 - 1)))
--j2;
while (j2 > i2 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i2)))
++i2;
return i2 === 0 && j2 === potentialValue.length ? potentialValue : potentialValue.substring(i2, j2);
}
function fill(headers, object2) {
if (Array.isArray(object2)) {
for (let i2 = 0;i2 < object2.length; ++i2) {
const header = object2[i2];
if (header.length !== 2) {
throw webidl.errors.exception({
header: "Headers constructor",
message: `expected name/value pair to be length 2, found ${header.length}.`
});
}
appendHeader(headers, header[0], header[1]);
}
} else if (typeof object2 === "object" && object2 !== null) {
const keys2 = Object.keys(object2);
for (let i2 = 0;i2 < keys2.length; ++i2) {
appendHeader(headers, keys2[i2], object2[keys2[i2]]);
}
} else {
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence>", "record"]
});
}
}
function appendHeader(headers, name, value) {
value = headerValueNormalize(value);
if (!isValidHeaderName2(name)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value: name,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.append",
value,
type: "header value"
});
}
if (getHeadersGuard(headers) === "immutable") {
throw new TypeError("immutable");
}
return getHeadersList(headers).append(name, value, false);
}
function headersListSortAndCombine(target) {
const headersList = getHeadersList(target);
if (!headersList) {
return [];
}
if (headersList.sortedMap) {
return headersList.sortedMap;
}
const headers = [];
const names = headersList.toSortedArray();
const cookies = headersList.cookies;
if (cookies === null || cookies.length === 1) {
return headersList.sortedMap = names;
}
for (let i2 = 0;i2 < names.length; ++i2) {
const { 0: name, 1: value } = names[i2];
if (name === "set-cookie") {
for (let j2 = 0;j2 < cookies.length; ++j2) {
headers.push([name, cookies[j2]]);
}
} else {
headers.push([name, value]);
}
}
return headersList.sortedMap = headers;
}
function compareHeaderName(a2, b2) {
return a2[0] < b2[0] ? -1 : 1;
}
class HeadersList {
cookies = null;
sortedMap;
headersMap;
constructor(init) {
if (init instanceof HeadersList) {
this.headersMap = new Map(init.headersMap);
this.sortedMap = init.sortedMap;
this.cookies = init.cookies === null ? null : [...init.cookies];
} else {
this.headersMap = new Map(init);
this.sortedMap = null;
}
}
contains(name, isLowerCase) {
return this.headersMap.has(isLowerCase ? name : name.toLowerCase());
}
clear() {
this.headersMap.clear();
this.sortedMap = null;
this.cookies = null;
}
append(name, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name : name.toLowerCase();
const exists = this.headersMap.get(lowercaseName);
if (exists) {
const delimiter = lowercaseName === "cookie" ? "; " : ", ";
this.headersMap.set(lowercaseName, {
name: exists.name,
value: `${exists.value}${delimiter}${value}`
});
} else {
this.headersMap.set(lowercaseName, { name, value });
}
if (lowercaseName === "set-cookie") {
(this.cookies ??= []).push(value);
}
}
set(name, value, isLowerCase) {
this.sortedMap = null;
const lowercaseName = isLowerCase ? name : name.toLowerCase();
if (lowercaseName === "set-cookie") {
this.cookies = [value];
}
this.headersMap.set(lowercaseName, { name, value });
}
delete(name, isLowerCase) {
this.sortedMap = null;
if (!isLowerCase)
name = name.toLowerCase();
if (name === "set-cookie") {
this.cookies = null;
}
this.headersMap.delete(name);
}
get(name, isLowerCase) {
return this.headersMap.get(isLowerCase ? name : name.toLowerCase())?.value ?? null;
}
*[Symbol.iterator]() {
for (const { 0: name, 1: { value } } of this.headersMap) {
yield [name, value];
}
}
get entries() {
const headers = {};
if (this.headersMap.size !== 0) {
for (const { name, value } of this.headersMap.values()) {
headers[name] = value;
}
}
return headers;
}
rawValues() {
return this.headersMap.values();
}
get entriesList() {
const headers = [];
if (this.headersMap.size !== 0) {
for (const { 0: lowerName, 1: { name, value } } of this.headersMap) {
if (lowerName === "set-cookie") {
for (const cookie of this.cookies) {
headers.push([name, cookie]);
}
} else {
headers.push([name, value]);
}
}
}
return headers;
}
toSortedArray() {
const size = this.headersMap.size;
const array2 = new Array(size);
if (size <= 32) {
if (size === 0) {
return array2;
}
const iterator2 = this.headersMap[Symbol.iterator]();
const firstValue = iterator2.next().value;
array2[0] = [firstValue[0], firstValue[1].value];
assert3(firstValue[1].value !== null);
for (let i2 = 1, j2 = 0, right = 0, left = 0, pivot = 0, x3, value;i2 < size; ++i2) {
value = iterator2.next().value;
x3 = array2[i2] = [value[0], value[1].value];
assert3(x3[1] !== null);
left = 0;
right = i2;
while (left < right) {
pivot = left + (right - left >> 1);
if (array2[pivot][0] <= x3[0]) {
left = pivot + 1;
} else {
right = pivot;
}
}
if (i2 !== pivot) {
j2 = i2;
while (j2 > left) {
array2[j2] = array2[--j2];
}
array2[left] = x3;
}
}
if (!iterator2.next().done) {
throw new TypeError("Unreachable");
}
return array2;
} else {
let i2 = 0;
for (const { 0: name, 1: { value } } of this.headersMap) {
array2[i2++] = [name, value];
assert3(value !== null);
}
return array2.sort(compareHeaderName);
}
}
}
class Headers2 {
#guard;
#headersList;
constructor(init = undefined) {
webidl.util.markAsUncloneable(this);
if (init === kConstruct) {
return;
}
this.#headersList = new HeadersList;
this.#guard = "none";
if (init !== undefined) {
init = webidl.converters.HeadersInit(init, "Headers constructor", "init");
fill(this, init);
}
}
append(name, value) {
webidl.brandCheck(this, Headers2);
webidl.argumentLengthCheck(arguments, 2, "Headers.append");
const prefix = "Headers.append";
name = webidl.converters.ByteString(name, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
return appendHeader(this, name, value);
}
delete(name) {
webidl.brandCheck(this, Headers2);
webidl.argumentLengthCheck(arguments, 1, "Headers.delete");
const prefix = "Headers.delete";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName2(name)) {
throw webidl.errors.invalidArgument({
prefix: "Headers.delete",
value: name,
type: "header name"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
if (!this.#headersList.contains(name, false)) {
return;
}
this.#headersList.delete(name, false);
}
get(name) {
webidl.brandCheck(this, Headers2);
webidl.argumentLengthCheck(arguments, 1, "Headers.get");
const prefix = "Headers.get";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName2(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
}
return this.#headersList.get(name, false);
}
has(name) {
webidl.brandCheck(this, Headers2);
webidl.argumentLengthCheck(arguments, 1, "Headers.has");
const prefix = "Headers.has";
name = webidl.converters.ByteString(name, prefix, "name");
if (!isValidHeaderName2(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
}
return this.#headersList.contains(name, false);
}
set(name, value) {
webidl.brandCheck(this, Headers2);
webidl.argumentLengthCheck(arguments, 2, "Headers.set");
const prefix = "Headers.set";
name = webidl.converters.ByteString(name, prefix, "name");
value = webidl.converters.ByteString(value, prefix, "value");
value = headerValueNormalize(value);
if (!isValidHeaderName2(name)) {
throw webidl.errors.invalidArgument({
prefix,
value: name,
type: "header name"
});
} else if (!isValidHeaderValue(value)) {
throw webidl.errors.invalidArgument({
prefix,
value,
type: "header value"
});
}
if (this.#guard === "immutable") {
throw new TypeError("immutable");
}
this.#headersList.set(name, value, false);
}
getSetCookie() {
webidl.brandCheck(this, Headers2);
const list = this.#headersList.cookies;
if (list) {
return [...list];
}
return [];
}
[util3.inspect.custom](depth, options) {
options.depth ??= depth;
return `Headers ${util3.formatWithOptions(options, this.#headersList.entries)}`;
}
static getHeadersGuard(o2) {
return o2.#guard;
}
static setHeadersGuard(o2, guard) {
o2.#guard = guard;
}
static getHeadersList(o2) {
return o2.#headersList;
}
static setHeadersList(target, list) {
target.#headersList = list;
}
}
var { getHeadersGuard, setHeadersGuard, getHeadersList, setHeadersList } = Headers2;
Reflect.deleteProperty(Headers2, "getHeadersGuard");
Reflect.deleteProperty(Headers2, "setHeadersGuard");
Reflect.deleteProperty(Headers2, "getHeadersList");
Reflect.deleteProperty(Headers2, "setHeadersList");
iteratorMixin("Headers", Headers2, headersListSortAndCombine, 0, 1);
Object.defineProperties(Headers2.prototype, {
append: kEnumerableProperty,
delete: kEnumerableProperty,
get: kEnumerableProperty,
has: kEnumerableProperty,
set: kEnumerableProperty,
getSetCookie: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Headers",
configurable: true
},
[util3.inspect.custom]: {
enumerable: false
}
});
webidl.converters.HeadersInit = function(V2, prefix, argument) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT) {
const iterator2 = Reflect.get(V2, Symbol.iterator);
if (!util3.types.isProxy(V2) && iterator2 === Headers2.prototype.entries) {
try {
return getHeadersList(V2).entriesList;
} catch {}
}
if (typeof iterator2 === "function") {
return webidl.converters["sequence>"](V2, prefix, argument, iterator2.bind(V2));
}
return webidl.converters["record"](V2, prefix, argument);
}
throw webidl.errors.conversionFailed({
prefix: "Headers constructor",
argument: "Argument 1",
types: ["sequence>", "record"]
});
};
module.exports = {
fill,
compareHeaderName,
Headers: Headers2,
HeadersList,
getHeadersGuard,
setHeadersGuard,
setHeadersList,
getHeadersList
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/response.js
var require_response = __commonJS((exports, module) => {
var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
var util3 = require_util();
var nodeUtil2 = __require("node:util");
var { kEnumerableProperty } = util3;
var {
isValidReasonPhrase,
isCancelled,
isAborted,
isErrorLike,
environmentSettingsObject: relevantRealm
} = require_util2();
var {
redirectStatusSet,
nullBodyStatus
} = require_constants4();
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert3 = __require("node:assert");
var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra();
var textEncoder4 = new TextEncoder("utf-8");
class Response2 {
#headers;
#state;
static error() {
const responseObject = fromInnerResponse(makeNetworkError(), "immutable");
return responseObject;
}
static json(data, init = undefined) {
webidl.argumentLengthCheck(arguments, 1, "Response.json");
if (init !== null) {
init = webidl.converters.ResponseInit(init);
}
const bytes = textEncoder4.encode(serializeJavascriptValueToJSONString(data));
const body = extractBody(bytes);
const responseObject = fromInnerResponse(makeResponse({}), "response");
initializeResponse(responseObject, init, { body: body[0], type: "application/json" });
return responseObject;
}
static redirect(url3, status = 302) {
webidl.argumentLengthCheck(arguments, 1, "Response.redirect");
url3 = webidl.converters.USVString(url3);
status = webidl.converters["unsigned short"](status);
let parsedURL;
try {
parsedURL = new URL(url3, relevantRealm.settingsObject.baseUrl);
} catch (err) {
throw new TypeError(`Failed to parse URL from ${url3}`, { cause: err });
}
if (!redirectStatusSet.has(status)) {
throw new RangeError(`Invalid status code ${status}`);
}
const responseObject = fromInnerResponse(makeResponse({}), "immutable");
responseObject.#state.status = status;
const value = isomorphicEncode(URLSerializer(parsedURL));
responseObject.#state.headersList.append("location", value, true);
return responseObject;
}
constructor(body = null, init = undefined) {
webidl.util.markAsUncloneable(this);
if (body === kConstruct) {
return;
}
if (body !== null) {
body = webidl.converters.BodyInit(body, "Response", "body");
}
init = webidl.converters.ResponseInit(init);
this.#state = makeResponse({});
this.#headers = new Headers2(kConstruct);
setHeadersGuard(this.#headers, "response");
setHeadersList(this.#headers, this.#state.headersList);
let bodyWithType = null;
if (body != null) {
const [extractedBody, type] = extractBody(body);
bodyWithType = { body: extractedBody, type };
}
initializeResponse(this, init, bodyWithType);
}
get type() {
webidl.brandCheck(this, Response2);
return this.#state.type;
}
get url() {
webidl.brandCheck(this, Response2);
const urlList = this.#state.urlList;
const url3 = urlList[urlList.length - 1] ?? null;
if (url3 === null) {
return "";
}
return URLSerializer(url3, true);
}
get redirected() {
webidl.brandCheck(this, Response2);
return this.#state.urlList.length > 1;
}
get status() {
webidl.brandCheck(this, Response2);
return this.#state.status;
}
get ok() {
webidl.brandCheck(this, Response2);
return this.#state.status >= 200 && this.#state.status <= 299;
}
get statusText() {
webidl.brandCheck(this, Response2);
return this.#state.statusText;
}
get headers() {
webidl.brandCheck(this, Response2);
return this.#headers;
}
get body() {
webidl.brandCheck(this, Response2);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, Response2);
return !!this.#state.body && util3.isDisturbed(this.#state.body.stream);
}
clone() {
webidl.brandCheck(this, Response2);
if (bodyUnusable(this.#state)) {
throw webidl.errors.exception({
header: "Response.clone",
message: "Body has already been consumed."
});
}
const clonedResponse = cloneResponse(this.#state);
if (this.#state.urlList.length !== 0 && this.#state.body?.stream) {
streamRegistry.register(this, new WeakRef(this.#state.body.stream));
}
return fromInnerResponse(clonedResponse, getHeadersGuard(this.#headers));
}
[nodeUtil2.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
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 ${nodeUtil2.formatWithOptions(options, properties)}`;
}
static getResponseHeaders(response) {
return response.#headers;
}
static setResponseHeaders(response, newHeaders) {
response.#headers = newHeaders;
}
static getResponseState(response) {
return response.#state;
}
static setResponseState(response, newState) {
response.#state = newState;
}
}
var { getResponseHeaders, setResponseHeaders, getResponseState, setResponseState } = Response2;
Reflect.deleteProperty(Response2, "getResponseHeaders");
Reflect.deleteProperty(Response2, "setResponseHeaders");
Reflect.deleteProperty(Response2, "getResponseState");
Reflect.deleteProperty(Response2, "setResponseState");
mixinBody(Response2, getResponseState);
Object.defineProperties(Response2.prototype, {
type: kEnumerableProperty,
url: kEnumerableProperty,
status: kEnumerableProperty,
ok: kEnumerableProperty,
redirected: kEnumerableProperty,
statusText: kEnumerableProperty,
headers: kEnumerableProperty,
clone: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Response",
configurable: true
}
});
Object.defineProperties(Response2, {
json: kEnumerableProperty,
redirect: kEnumerableProperty,
error: kEnumerableProperty
});
function cloneResponse(response) {
if (response.internalResponse) {
return filterResponse(cloneResponse(response.internalResponse), response.type);
}
const newResponse = makeResponse({ ...response, body: null });
if (response.body != null) {
newResponse.body = cloneBody(response.body);
}
return newResponse;
}
function makeResponse(init) {
return {
aborted: false,
rangeRequested: false,
timingAllowPassed: false,
requestIncludesCredentials: false,
type: "default",
status: 200,
timingInfo: null,
cacheState: "",
statusText: "",
...init,
headersList: init?.headersList ? new HeadersList(init?.headersList) : new HeadersList,
urlList: init?.urlList ? [...init.urlList] : []
};
}
function makeNetworkError(reason) {
const isError = isErrorLike(reason);
return makeResponse({
type: "error",
status: 0,
error: isError ? reason : new Error(reason ? String(reason) : reason),
aborted: reason && reason.name === "AbortError"
});
}
function isNetworkError(response) {
return response.type === "error" && response.status === 0;
}
function makeFilteredResponse(response, state) {
state = {
internalResponse: response,
...state
};
return new Proxy(response, {
get(target, p) {
return p in state ? state[p] : target[p];
},
set(target, p, value) {
assert3(!(p in state));
target[p] = value;
return true;
}
});
}
function filterResponse(response, type) {
if (type === "basic") {
return makeFilteredResponse(response, {
type: "basic",
headersList: response.headersList
});
} else if (type === "cors") {
return makeFilteredResponse(response, {
type: "cors",
headersList: response.headersList
});
} else if (type === "opaque") {
return makeFilteredResponse(response, {
type: "opaque",
urlList: [],
status: 0,
statusText: "",
body: null
});
} else if (type === "opaqueredirect") {
return makeFilteredResponse(response, {
type: "opaqueredirect",
status: 0,
statusText: "",
headersList: [],
body: null
});
} else {
assert3(false);
}
}
function makeAppropriateNetworkError(fetchParams, err = null) {
assert3(isCancelled(fetchParams));
return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException("Request was cancelled."), { cause: err }));
}
function initializeResponse(response, init, body) {
if (init.status !== null && (init.status < 200 || init.status > 599)) {
throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');
}
if ("statusText" in init && init.statusText != null) {
if (!isValidReasonPhrase(String(init.statusText))) {
throw new TypeError("Invalid statusText");
}
}
if ("status" in init && init.status != null) {
getResponseState(response).status = init.status;
}
if ("statusText" in init && init.statusText != null) {
getResponseState(response).statusText = init.statusText;
}
if ("headers" in init && init.headers != null) {
fill(getResponseHeaders(response), init.headers);
}
if (body) {
if (nullBodyStatus.includes(response.status)) {
throw webidl.errors.exception({
header: "Response constructor",
message: `Invalid response status code ${response.status}`
});
}
getResponseState(response).body = body.body;
if (body.type != null && !getResponseState(response).headersList.contains("content-type", true)) {
getResponseState(response).headersList.append("content-type", body.type, true);
}
}
}
function fromInnerResponse(innerResponse, guard) {
const response = new Response2(kConstruct);
setResponseState(response, innerResponse);
const headers = new Headers2(kConstruct);
setResponseHeaders(response, headers);
setHeadersList(headers, innerResponse.headersList);
setHeadersGuard(headers, guard);
if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) {
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
}
return response;
}
webidl.converters.XMLHttpRequestBodyInit = function(V2, prefix, name) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2, prefix, name);
}
if (webidl.is.Blob(V2)) {
return V2;
}
if (webidl.is.BufferSource(V2)) {
return V2;
}
if (webidl.is.FormData(V2)) {
return V2;
}
if (webidl.is.URLSearchParams(V2)) {
return V2;
}
return webidl.converters.DOMString(V2, prefix, name);
};
webidl.converters.BodyInit = function(V2, prefix, argument) {
if (webidl.is.ReadableStream(V2)) {
return V2;
}
if (V2?.[Symbol.asyncIterator]) {
return V2;
}
return webidl.converters.XMLHttpRequestBodyInit(V2, prefix, argument);
};
webidl.converters.ResponseInit = webidl.dictionaryConverter([
{
key: "status",
converter: webidl.converters["unsigned short"],
defaultValue: () => 200
},
{
key: "statusText",
converter: webidl.converters.ByteString,
defaultValue: () => ""
},
{
key: "headers",
converter: webidl.converters.HeadersInit
}
]);
webidl.is.Response = webidl.util.MakeTypeAssertion(Response2);
module.exports = {
isNetworkError,
makeNetworkError,
makeResponse,
makeAppropriateNetworkError,
filterResponse,
Response: Response2,
cloneResponse,
fromInnerResponse,
getResponseState
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/request.js
var require_request2 = __commonJS((exports, module) => {
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
var util3 = require_util();
var nodeUtil2 = __require("node:util");
var {
isValidHTTPToken,
sameOrigin,
environmentSettingsObject
} = require_util2();
var {
forbiddenMethodsSet,
corsSafeListedMethodsSet,
referrerPolicy,
requestRedirect,
requestMode,
requestCredentials,
requestCache,
requestDuplex
} = require_constants4();
var { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util3;
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { kConstruct } = require_symbols();
var assert3 = __require("node:assert");
var { getMaxListeners, setMaxListeners: setMaxListeners2, defaultMaxListeners } = __require("node:events");
var kAbortController = Symbol("abortController");
var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
signal.removeEventListener("abort", abort);
});
var dependentControllerMap = new WeakMap;
var abortSignalHasEventHandlerLeakWarning;
try {
abortSignalHasEventHandlerLeakWarning = getMaxListeners(new AbortController().signal) > 0;
} catch {
abortSignalHasEventHandlerLeakWarning = false;
}
function buildAbort(acRef) {
return abort;
function abort() {
const ac = acRef.deref();
if (ac !== undefined) {
requestFinalizer.unregister(abort);
this.removeEventListener("abort", abort);
ac.abort(this.reason);
const controllerList = dependentControllerMap.get(ac.signal);
if (controllerList !== undefined) {
if (controllerList.size !== 0) {
for (const ref of controllerList) {
const ctrl = ref.deref();
if (ctrl !== undefined) {
ctrl.abort(this.reason);
}
}
controllerList.clear();
}
dependentControllerMap.delete(ac.signal);
}
}
}
}
var patchMethodWarning = false;
class Request2 {
#signal;
#dispatcher;
#headers;
#state;
constructor(input, init = undefined) {
webidl.util.markAsUncloneable(this);
if (input === kConstruct) {
return;
}
const prefix = "Request constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
input = webidl.converters.RequestInfo(input);
init = webidl.converters.RequestInit(init);
let request = null;
let fallbackMode = null;
const baseUrl = environmentSettingsObject.settingsObject.baseUrl;
let signal = null;
if (typeof input === "string") {
this.#dispatcher = init.dispatcher;
let parsedURL;
try {
parsedURL = new URL(input, baseUrl);
} catch (err) {
throw new TypeError("Failed to parse URL from " + input, { cause: err });
}
if (parsedURL.username || parsedURL.password) {
throw new TypeError("Request cannot be constructed from a URL that includes credentials: " + input);
}
request = makeRequest({ urlList: [parsedURL] });
fallbackMode = "cors";
} else {
assert3(webidl.is.Request(input));
request = input.#state;
signal = input.#signal;
this.#dispatcher = init.dispatcher || input.#dispatcher;
}
const origin2 = environmentSettingsObject.settingsObject.origin;
let window2 = "client";
if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin2)) {
window2 = request.window;
}
if (init.window != null) {
throw new TypeError(`'window' option '${window2}' must be null`);
}
if ("window" in init) {
window2 = "no-window";
}
request = makeRequest({
method: request.method,
headersList: request.headersList,
unsafeRequest: request.unsafeRequest,
client: environmentSettingsObject.settingsObject,
window: window2,
priority: request.priority,
origin: request.origin,
referrer: request.referrer,
referrerPolicy: request.referrerPolicy,
mode: request.mode,
credentials: request.credentials,
cache: request.cache,
redirect: request.redirect,
integrity: request.integrity,
keepalive: request.keepalive,
reloadNavigation: request.reloadNavigation,
historyNavigation: request.historyNavigation,
urlList: [...request.urlList]
});
const initHasKey = Object.keys(init).length !== 0;
if (initHasKey) {
if (request.mode === "navigate") {
request.mode = "same-origin";
}
request.reloadNavigation = false;
request.historyNavigation = false;
request.origin = "client";
request.referrer = "client";
request.referrerPolicy = "";
request.url = request.urlList[request.urlList.length - 1];
request.urlList = [request.url];
}
if (init.referrer !== undefined) {
const referrer = init.referrer;
if (referrer === "") {
request.referrer = "no-referrer";
} else {
let parsedReferrer;
try {
parsedReferrer = new URL(referrer, baseUrl);
} catch (err) {
throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });
}
if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin2 && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl)) {
request.referrer = "client";
} else {
request.referrer = parsedReferrer;
}
}
}
if (init.referrerPolicy !== undefined) {
request.referrerPolicy = init.referrerPolicy;
}
let mode;
if (init.mode !== undefined) {
mode = init.mode;
} else {
mode = fallbackMode;
}
if (mode === "navigate") {
throw webidl.errors.exception({
header: "Request constructor",
message: "invalid request mode navigate."
});
}
if (mode != null) {
request.mode = mode;
}
if (init.credentials !== undefined) {
request.credentials = init.credentials;
}
if (init.cache !== undefined) {
request.cache = init.cache;
}
if (request.cache === "only-if-cached" && request.mode !== "same-origin") {
throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");
}
if (init.redirect !== undefined) {
request.redirect = init.redirect;
}
if (init.integrity != null) {
request.integrity = String(init.integrity);
}
if (init.keepalive !== undefined) {
request.keepalive = Boolean(init.keepalive);
}
if (init.method !== undefined) {
let method = init.method;
const mayBeNormalized = normalizedMethodRecords[method];
if (mayBeNormalized !== undefined) {
request.method = mayBeNormalized;
} else {
if (!isValidHTTPToken(method)) {
throw new TypeError(`'${method}' is not a valid HTTP method.`);
}
const upperCase = method.toUpperCase();
if (forbiddenMethodsSet.has(upperCase)) {
throw new TypeError(`'${method}' HTTP method is unsupported.`);
}
method = normalizedMethodRecordsBase[upperCase] ?? method;
request.method = method;
}
if (!patchMethodWarning && request.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"
});
patchMethodWarning = true;
}
}
if (init.signal !== undefined) {
signal = init.signal;
}
this.#state = request;
const ac = new AbortController;
this.#signal = ac.signal;
if (signal != null) {
if (signal.aborted) {
ac.abort(signal.reason);
} else {
this[kAbortController] = ac;
const acRef = new WeakRef(ac);
const abort = buildAbort(acRef);
if (abortSignalHasEventHandlerLeakWarning && getMaxListeners(signal) === defaultMaxListeners) {
setMaxListeners2(1500, signal);
}
util3.addAbortListener(signal, abort);
requestFinalizer.register(ac, { signal, abort }, abort);
}
}
this.#headers = new Headers2(kConstruct);
setHeadersList(this.#headers, request.headersList);
setHeadersGuard(this.#headers, "request");
if (mode === "no-cors") {
if (!corsSafeListedMethodsSet.has(request.method)) {
throw new TypeError(`'${request.method} is unsupported in no-cors mode.`);
}
setHeadersGuard(this.#headers, "request-no-cors");
}
if (initHasKey) {
const headersList = getHeadersList(this.#headers);
const headers = init.headers !== undefined ? init.headers : new HeadersList(headersList);
headersList.clear();
if (headers instanceof HeadersList) {
for (const { name, value } of headers.rawValues()) {
headersList.append(name, value, false);
}
headersList.cookies = headers.cookies;
} else {
fillHeaders(this.#headers, headers);
}
}
const inputBody = webidl.is.Request(input) ? input.#state.body : null;
if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {
throw new TypeError("Request with GET/HEAD method cannot have body.");
}
let initBody = null;
if (init.body != null) {
const [extractedBody, contentType] = extractBody(init.body, request.keepalive);
initBody = extractedBody;
if (contentType && !getHeadersList(this.#headers).contains("content-type", true)) {
this.#headers.append("content-type", contentType, true);
}
}
const inputOrInitBody = initBody ?? inputBody;
if (inputOrInitBody != null && inputOrInitBody.source == null) {
if (initBody != null && init.duplex == null) {
throw new TypeError("RequestInit: duplex option is required when sending a body.");
}
if (request.mode !== "same-origin" && request.mode !== "cors") {
throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');
}
request.useCORSPreflightFlag = true;
}
let finalBody = inputOrInitBody;
if (initBody == null && inputBody != null) {
if (bodyUnusable(input.#state)) {
throw new TypeError("Cannot construct a Request with a Request object that has already been used.");
}
const identityTransform = new TransformStream;
inputBody.stream.pipeThrough(identityTransform);
finalBody = {
source: inputBody.source,
length: inputBody.length,
stream: identityTransform.readable
};
}
this.#state.body = finalBody;
}
get method() {
webidl.brandCheck(this, Request2);
return this.#state.method;
}
get url() {
webidl.brandCheck(this, Request2);
return URLSerializer(this.#state.url);
}
get headers() {
webidl.brandCheck(this, Request2);
return this.#headers;
}
get destination() {
webidl.brandCheck(this, Request2);
return this.#state.destination;
}
get referrer() {
webidl.brandCheck(this, Request2);
if (this.#state.referrer === "no-referrer") {
return "";
}
if (this.#state.referrer === "client") {
return "about:client";
}
return this.#state.referrer.toString();
}
get referrerPolicy() {
webidl.brandCheck(this, Request2);
return this.#state.referrerPolicy;
}
get mode() {
webidl.brandCheck(this, Request2);
return this.#state.mode;
}
get credentials() {
webidl.brandCheck(this, Request2);
return this.#state.credentials;
}
get cache() {
webidl.brandCheck(this, Request2);
return this.#state.cache;
}
get redirect() {
webidl.brandCheck(this, Request2);
return this.#state.redirect;
}
get integrity() {
webidl.brandCheck(this, Request2);
return this.#state.integrity;
}
get keepalive() {
webidl.brandCheck(this, Request2);
return this.#state.keepalive;
}
get isReloadNavigation() {
webidl.brandCheck(this, Request2);
return this.#state.reloadNavigation;
}
get isHistoryNavigation() {
webidl.brandCheck(this, Request2);
return this.#state.historyNavigation;
}
get signal() {
webidl.brandCheck(this, Request2);
return this.#signal;
}
get body() {
webidl.brandCheck(this, Request2);
return this.#state.body ? this.#state.body.stream : null;
}
get bodyUsed() {
webidl.brandCheck(this, Request2);
return !!this.#state.body && util3.isDisturbed(this.#state.body.stream);
}
get duplex() {
webidl.brandCheck(this, Request2);
return "half";
}
clone() {
webidl.brandCheck(this, Request2);
if (bodyUnusable(this.#state)) {
throw new TypeError("unusable");
}
const clonedRequest = cloneRequest(this.#state);
const ac = new AbortController;
if (this.signal.aborted) {
ac.abort(this.signal.reason);
} else {
let list = dependentControllerMap.get(this.signal);
if (list === undefined) {
list = new Set;
dependentControllerMap.set(this.signal, list);
}
const acRef = new WeakRef(ac);
list.add(acRef);
util3.addAbortListener(ac.signal, buildAbort(acRef));
}
return fromInnerRequest(clonedRequest, this.#dispatcher, ac.signal, getHeadersGuard(this.#headers));
}
[nodeUtil2.inspect.custom](depth, options) {
if (options.depth === null) {
options.depth = 2;
}
options.colors ??= true;
const properties = {
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 ${nodeUtil2.formatWithOptions(options, properties)}`;
}
static setRequestSignal(request, newSignal) {
request.#signal = newSignal;
return request;
}
static getRequestDispatcher(request) {
return request.#dispatcher;
}
static setRequestDispatcher(request, newDispatcher) {
request.#dispatcher = newDispatcher;
}
static setRequestHeaders(request, newHeaders) {
request.#headers = newHeaders;
}
static getRequestState(request) {
return request.#state;
}
static setRequestState(request, newState) {
request.#state = newState;
}
}
var { setRequestSignal, getRequestDispatcher, setRequestDispatcher, setRequestHeaders, getRequestState, setRequestState } = Request2;
Reflect.deleteProperty(Request2, "setRequestSignal");
Reflect.deleteProperty(Request2, "getRequestDispatcher");
Reflect.deleteProperty(Request2, "setRequestDispatcher");
Reflect.deleteProperty(Request2, "setRequestHeaders");
Reflect.deleteProperty(Request2, "getRequestState");
Reflect.deleteProperty(Request2, "setRequestState");
mixinBody(Request2, getRequestState);
function makeRequest(init) {
return {
method: init.method ?? "GET",
localURLsOnly: init.localURLsOnly ?? false,
unsafeRequest: init.unsafeRequest ?? false,
body: init.body ?? null,
client: init.client ?? null,
reservedClient: init.reservedClient ?? null,
replacesClientId: init.replacesClientId ?? "",
window: init.window ?? "client",
keepalive: init.keepalive ?? false,
serviceWorkers: init.serviceWorkers ?? "all",
initiator: init.initiator ?? "",
destination: init.destination ?? "",
priority: init.priority ?? null,
origin: init.origin ?? "client",
policyContainer: init.policyContainer ?? "client",
referrer: init.referrer ?? "client",
referrerPolicy: init.referrerPolicy ?? "",
mode: init.mode ?? "no-cors",
useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
credentials: init.credentials ?? "same-origin",
useCredentials: init.useCredentials ?? false,
cache: init.cache ?? "default",
redirect: init.redirect ?? "follow",
integrity: init.integrity ?? "",
cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? "",
parserMetadata: init.parserMetadata ?? "",
reloadNavigation: init.reloadNavigation ?? false,
historyNavigation: init.historyNavigation ?? false,
userActivation: init.userActivation ?? false,
taintedOrigin: init.taintedOrigin ?? false,
redirectCount: init.redirectCount ?? 0,
responseTainting: init.responseTainting ?? "basic",
preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
done: init.done ?? false,
timingAllowFailed: init.timingAllowFailed ?? false,
useURLCredentials: init.useURLCredentials ?? undefined,
traversableForUserPrompts: init.traversableForUserPrompts ?? "client",
urlList: init.urlList,
url: init.urlList[0],
headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList
};
}
function cloneRequest(request) {
const newRequest = makeRequest({ ...request, body: null });
if (request.body != null) {
newRequest.body = cloneBody(request.body);
}
return newRequest;
}
function fromInnerRequest(innerRequest, dispatcher, signal, guard) {
const request = new Request2(kConstruct);
setRequestState(request, innerRequest);
setRequestDispatcher(request, dispatcher);
setRequestSignal(request, signal);
const headers = new Headers2(kConstruct);
setRequestHeaders(request, headers);
setHeadersList(headers, innerRequest.headersList);
setHeadersGuard(headers, guard);
return request;
}
Object.defineProperties(Request2.prototype, {
method: kEnumerableProperty,
url: kEnumerableProperty,
headers: kEnumerableProperty,
redirect: kEnumerableProperty,
clone: kEnumerableProperty,
signal: kEnumerableProperty,
duplex: kEnumerableProperty,
destination: kEnumerableProperty,
body: kEnumerableProperty,
bodyUsed: kEnumerableProperty,
isHistoryNavigation: kEnumerableProperty,
isReloadNavigation: kEnumerableProperty,
keepalive: kEnumerableProperty,
integrity: kEnumerableProperty,
cache: kEnumerableProperty,
credentials: kEnumerableProperty,
attribute: kEnumerableProperty,
referrerPolicy: kEnumerableProperty,
referrer: kEnumerableProperty,
mode: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "Request",
configurable: true
}
});
webidl.is.Request = webidl.util.MakeTypeAssertion(Request2);
webidl.converters.RequestInfo = function(V2) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2);
}
if (webidl.is.Request(V2)) {
return V2;
}
return webidl.converters.USVString(V2);
};
webidl.converters.RequestInit = webidl.dictionaryConverter([
{
key: "method",
converter: webidl.converters.ByteString
},
{
key: "headers",
converter: webidl.converters.HeadersInit
},
{
key: "body",
converter: webidl.nullableConverter(webidl.converters.BodyInit)
},
{
key: "referrer",
converter: webidl.converters.USVString
},
{
key: "referrerPolicy",
converter: webidl.converters.DOMString,
allowedValues: referrerPolicy
},
{
key: "mode",
converter: webidl.converters.DOMString,
allowedValues: requestMode
},
{
key: "credentials",
converter: webidl.converters.DOMString,
allowedValues: requestCredentials
},
{
key: "cache",
converter: webidl.converters.DOMString,
allowedValues: requestCache
},
{
key: "redirect",
converter: webidl.converters.DOMString,
allowedValues: requestRedirect
},
{
key: "integrity",
converter: webidl.converters.DOMString
},
{
key: "keepalive",
converter: webidl.converters.boolean
},
{
key: "signal",
converter: webidl.nullableConverter((signal) => webidl.converters.AbortSignal(signal, "RequestInit", "signal"))
},
{
key: "window",
converter: webidl.converters.any
},
{
key: "duplex",
converter: webidl.converters.DOMString,
allowedValues: requestDuplex
},
{
key: "dispatcher",
converter: webidl.converters.any
},
{
key: "priority",
converter: webidl.converters.DOMString,
allowedValues: ["high", "low", "auto"],
defaultValue: () => "auto"
}
]);
module.exports = {
Request: Request2,
makeRequest,
fromInnerRequest,
cloneRequest,
getRequestDispatcher,
getRequestState
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
var require_subresource_integrity = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var validSRIHashAlgorithmTokenSet = new Map([["sha256", 0], ["sha384", 1], ["sha512", 2]]);
var crypto3;
if (runtimeFeatures.has("crypto")) {
crypto3 = __require("node:crypto");
const cryptoHashes = crypto3.getHashes();
if (cryptoHashes.length === 0) {
validSRIHashAlgorithmTokenSet.clear();
}
for (const algorithm of validSRIHashAlgorithmTokenSet.keys()) {
if (cryptoHashes.includes(algorithm) === false) {
validSRIHashAlgorithmTokenSet.delete(algorithm);
}
}
} else {
validSRIHashAlgorithmTokenSet.clear();
}
var getSRIHashAlgorithmIndex = Map.prototype.get.bind(validSRIHashAlgorithmTokenSet);
var isValidSRIHashAlgorithm = Map.prototype.has.bind(validSRIHashAlgorithmTokenSet);
var bytesMatch = runtimeFeatures.has("crypto") === false || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => {
const parsedMetadata = parseMetadata(metadataList);
if (parsedMetadata.length === 0) {
return true;
}
const metadata = getStrongestMetadata(parsedMetadata);
for (const item of metadata) {
const algorithm = item.alg;
const expectedValue = item.val;
const actualValue = applyAlgorithmToBytes(algorithm, bytes);
if (caseSensitiveMatch(actualValue, expectedValue)) {
return true;
}
}
return false;
};
function getStrongestMetadata(metadataList) {
const result = [];
let strongest = null;
for (const item of metadataList) {
assert3(isValidSRIHashAlgorithm(item.alg), "Invalid SRI hash algorithm token");
if (result.length === 0) {
result.push(item);
strongest = item;
continue;
}
const currentAlgorithm = strongest.alg;
const currentAlgorithmIndex = getSRIHashAlgorithmIndex(currentAlgorithm);
const newAlgorithm = item.alg;
const newAlgorithmIndex = getSRIHashAlgorithmIndex(newAlgorithm);
if (newAlgorithmIndex < currentAlgorithmIndex) {
continue;
} else if (newAlgorithmIndex > currentAlgorithmIndex) {
strongest = item;
result[0] = item;
result.length = 1;
} else {
result.push(item);
}
}
return result;
}
function parseMetadata(metadata) {
const result = [];
for (const item of metadata.split(" ")) {
const expressionAndOptions = item.split("?", 1);
const algorithmExpression = expressionAndOptions[0];
let base64Value = "";
const algorithmAndValue = [algorithmExpression.slice(0, 6), algorithmExpression.slice(7)];
const algorithm = algorithmAndValue[0];
if (!isValidSRIHashAlgorithm(algorithm)) {
continue;
}
if (algorithmAndValue[1]) {
base64Value = algorithmAndValue[1];
}
const metadata2 = {
alg: algorithm,
val: base64Value
};
result.push(metadata2);
}
return result;
}
var applyAlgorithmToBytes = (algorithm, bytes) => {
return crypto3.hash(algorithm, bytes, "base64");
};
function caseSensitiveMatch(actualValue, expectedValue) {
let actualValueLength = actualValue.length;
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
if (actualValueLength !== 0 && actualValue[actualValueLength - 1] === "=") {
actualValueLength -= 1;
}
let expectedValueLength = expectedValue.length;
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (expectedValueLength !== 0 && expectedValue[expectedValueLength - 1] === "=") {
expectedValueLength -= 1;
}
if (actualValueLength !== expectedValueLength) {
return false;
}
for (let i2 = 0;i2 < actualValueLength; ++i2) {
if (actualValue[i2] === expectedValue[i2] || actualValue[i2] === "+" && expectedValue[i2] === "-" || actualValue[i2] === "/" && expectedValue[i2] === "_") {
continue;
}
return false;
}
return true;
}
module.exports = {
applyAlgorithmToBytes,
bytesMatch,
caseSensitiveMatch,
isValidSRIHashAlgorithm,
getStrongestMetadata,
parseMetadata
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/fetch/index.js
var require_fetch = __commonJS((exports, module) => {
var {
makeNetworkError,
makeAppropriateNetworkError,
filterResponse,
makeResponse,
fromInnerResponse,
getResponseState
} = require_response();
var { HeadersList } = require_headers();
var { Request: Request2, cloneRequest, getRequestDispatcher, getRequestState } = require_request2();
var zlib2 = __require("node:zlib");
var {
makePolicyContainer,
clonePolicyContainer,
requestBadPort,
TAOCheck,
appendRequestOriginHeader,
responseLocationURL,
requestCurrentURL,
setRequestReferrerPolicyOnRedirect,
tryUpgradeRequestToAPotentiallyTrustworthyURL,
createOpaqueTimingInfo,
appendFetchMetadata,
corsCheck,
crossOriginResourcePolicyCheck,
determineRequestsReferrer,
coarsenedSharedCurrentTime,
sameOrigin,
isCancelled,
isAborted,
isErrorLike,
fullyReadBody,
readableStreamClose,
urlIsLocal,
urlIsHttpHttpsScheme,
urlHasHttpsScheme,
clampAndCoarsenConnectionTimingInfo,
simpleRangeHeaderValue,
buildContentRange,
createInflate,
extractMimeType,
hasAuthenticationEntry,
includesCredentials,
isTraversableNavigable
} = require_util2();
var assert3 = __require("node:assert");
var { safelyExtractBody, extractBody } = require_body();
var {
redirectStatusSet,
nullBodyStatus,
safeMethodsSet,
requestBodyHeader,
subresourceSet
} = require_constants4();
var EE = __require("node:events");
var { Readable: Readable5, pipeline, finished: finished7, isErrored, isReadable } = __require("node:stream");
var { addAbortListener: addAbortListener3, bufferToLowerCasedHeaderName } = require_util();
var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url();
var { getGlobalDispatcher } = require_global2();
var { webidl } = require_webidl();
var { STATUS_CODES } = __require("node:http");
var { bytesMatch } = require_subresource_integrity();
var { createDeferredPromise } = require_promise();
var { isomorphicEncode } = require_infra();
var { runtimeFeatures } = require_runtime_features();
var hasZstd = runtimeFeatures.has("zstd");
var GET_OR_HEAD = ["GET", "HEAD"];
var defaultUserAgent = typeof __UNDICI_IS_NODE__ !== "undefined" || typeof esbuildDetection !== "undefined" ? "node" : "undici";
var resolveObjectURL;
class Fetch extends EE {
constructor(dispatcher) {
super();
this.dispatcher = dispatcher;
this.connection = null;
this.dump = false;
this.state = "ongoing";
}
terminate(reason) {
if (this.state !== "ongoing") {
return;
}
this.state = "terminated";
this.connection?.destroy(reason);
this.emit("terminated", reason);
}
abort(error49) {
if (this.state !== "ongoing") {
return;
}
this.state = "aborted";
if (!error49) {
error49 = new DOMException("The operation was aborted.", "AbortError");
}
this.serializedAbortReason = error49;
this.connection?.destroy(error49);
this.emit("terminated", error49);
}
}
function handleFetchDone(response) {
finalizeAndReportTiming(response, "fetch");
}
function fetch2(input, init = undefined) {
webidl.argumentLengthCheck(arguments, 1, "globalThis.fetch");
let p = createDeferredPromise();
let requestObject;
try {
requestObject = new Request2(input, init);
} catch (e) {
p.reject(e);
return p.promise;
}
const request = getRequestState(requestObject);
if (requestObject.signal.aborted) {
abortFetch(p, request, null, requestObject.signal.reason, null);
return p.promise;
}
const globalObject = request.client.globalObject;
if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") {
request.serviceWorkers = "none";
}
let responseObject = null;
let locallyAborted = false;
let controller = null;
addAbortListener3(requestObject.signal, () => {
locallyAborted = true;
assert3(controller != null);
controller.abort(requestObject.signal.reason);
const realResponse = responseObject?.deref();
abortFetch(p, request, realResponse, requestObject.signal.reason, controller.controller);
});
const processResponse = (response) => {
if (locallyAborted) {
return;
}
if (response.aborted) {
abortFetch(p, request, responseObject, controller.serializedAbortReason, controller.controller);
return;
}
if (response.type === "error") {
p.reject(new TypeError("fetch failed", { cause: response.error }));
return;
}
responseObject = new WeakRef(fromInnerResponse(response, "immutable"));
p.resolve(responseObject.deref());
p = null;
};
controller = fetching({
request,
processResponseEndOfBody: handleFetchDone,
processResponse,
dispatcher: getRequestDispatcher(requestObject),
requestObject
});
return p.promise;
}
function finalizeAndReportTiming(response, initiatorType = "other") {
if (response.type === "error" && response.aborted) {
return;
}
if (!response.urlList?.length) {
return;
}
const originalURL = response.urlList[0];
let timingInfo = response.timingInfo;
let cacheState = response.cacheState;
if (!urlIsHttpHttpsScheme(originalURL)) {
return;
}
if (timingInfo === null) {
return;
}
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo({
startTime: timingInfo.startTime
});
cacheState = "";
}
timingInfo.endTime = coarsenedSharedCurrentTime();
response.timingInfo = timingInfo;
markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis, cacheState, "", response.status);
}
var markResourceTiming = performance.markResourceTiming;
function abortFetch(p, request, responseObject, error49, controller) {
if (p) {
p.reject(error49);
}
if (request.body?.stream != null && isReadable(request.body.stream)) {
request.body.stream.cancel(error49).catch((err) => {
if (err.code === "ERR_INVALID_STATE") {
return;
}
throw err;
});
}
if (responseObject == null) {
return;
}
const response = getResponseState(responseObject);
if (response.body?.stream != null && isReadable(response.body.stream)) {
controller.error(error49);
}
}
function fetching({
request,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseEndOfBody,
processResponseConsumeBody,
useParallelQueue = false,
dispatcher = getGlobalDispatcher(),
requestObject = null
}) {
assert3(dispatcher);
let taskDestination = null;
let crossOriginIsolatedCapability = false;
if (request.client != null) {
taskDestination = request.client.globalObject;
crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;
}
const currentTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);
const timingInfo = createOpaqueTimingInfo({
startTime: currentTime
});
const fetchParams = {
controller: new Fetch(dispatcher),
request,
timingInfo,
processRequestBodyChunkLength,
processRequestEndOfBody,
processResponse,
processResponseConsumeBody,
processResponseEndOfBody,
taskDestination,
crossOriginIsolatedCapability,
requestObject
};
assert3(!request.body || request.body.stream);
if (request.window === "client") {
request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
}
if (request.origin === "client") {
request.origin = request.client.origin;
}
if (request.policyContainer === "client") {
if (request.client != null) {
request.policyContainer = clonePolicyContainer(request.client.policyContainer);
} else {
request.policyContainer = makePolicyContainer();
}
}
if (!request.headersList.contains("accept", true)) {
const value = "*/*";
request.headersList.append("accept", value, true);
}
if (!request.headersList.contains("accept-language", true)) {
request.headersList.append("accept-language", "*", true);
}
if (request.priority === null) {}
if (subresourceSet.has(request.destination)) {}
mainFetch(fetchParams, false);
return fetchParams.controller;
}
async function mainFetch(fetchParams, recursive) {
try {
const request = fetchParams.request;
let response = null;
if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {
response = makeNetworkError("local URLs only");
}
tryUpgradeRequestToAPotentiallyTrustworthyURL(request);
if (requestBadPort(request) === "blocked") {
response = makeNetworkError("bad port");
}
if (request.referrerPolicy === "") {
request.referrerPolicy = request.policyContainer.referrerPolicy;
}
if (request.referrer !== "no-referrer") {
request.referrer = determineRequestsReferrer(request);
}
if (response === null) {
const currentURL = requestCurrentURL(request);
if (sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || currentURL.protocol === "data:" || (request.mode === "navigate" || request.mode === "websocket")) {
request.responseTainting = "basic";
response = await schemeFetch(fetchParams);
} else if (request.mode === "same-origin") {
response = makeNetworkError('request mode cannot be "same-origin"');
} else if (request.mode === "no-cors") {
if (request.redirect !== "follow") {
response = makeNetworkError('redirect mode cannot be "follow" for "no-cors" request');
} else {
request.responseTainting = "opaque";
response = await schemeFetch(fetchParams);
}
} else if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {
response = makeNetworkError("URL scheme must be a HTTP(S) scheme");
} else {
request.responseTainting = "cors";
response = await httpFetch(fetchParams);
}
}
if (recursive) {
return response;
}
if (response.status !== 0 && !response.internalResponse) {
if (request.responseTainting === "cors") {}
if (request.responseTainting === "basic") {
response = filterResponse(response, "basic");
} else if (request.responseTainting === "cors") {
response = filterResponse(response, "cors");
} else if (request.responseTainting === "opaque") {
response = filterResponse(response, "opaque");
} else {
assert3(false);
}
}
let internalResponse = response.status === 0 ? response : response.internalResponse;
if (internalResponse.urlList.length === 0) {
internalResponse.urlList.push(...request.urlList);
}
if (!request.timingAllowFailed) {
response.timingAllowPassed = true;
}
if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range", true)) {
response = internalResponse = makeNetworkError();
}
if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {
internalResponse.body = null;
fetchParams.controller.dump = true;
}
if (request.integrity) {
const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason));
if (request.responseTainting === "opaque" || response.body == null) {
processBodyError(response.error);
return;
}
const processBody = (bytes) => {
if (!bytesMatch(bytes, request.integrity)) {
processBodyError("integrity mismatch");
return;
}
response.body = safelyExtractBody(bytes)[0];
fetchFinale(fetchParams, response);
};
fullyReadBody(response.body, processBody, processBodyError);
} else {
fetchFinale(fetchParams, response);
}
} catch (err) {
fetchParams.controller.terminate(err);
}
}
function schemeFetch(fetchParams) {
if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {
return Promise.resolve(makeAppropriateNetworkError(fetchParams));
}
const { request } = fetchParams;
const { protocol: scheme } = requestCurrentURL(request);
switch (scheme) {
case "about:": {
return Promise.resolve(makeNetworkError("about scheme is not supported"));
}
case "blob:": {
if (!resolveObjectURL) {
resolveObjectURL = __require("node:buffer").resolveObjectURL;
}
const blobURLEntry = requestCurrentURL(request);
if (blobURLEntry.search.length !== 0) {
return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource."));
}
const blob = resolveObjectURL(blobURLEntry.toString());
if (request.method !== "GET" || !webidl.is.Blob(blob)) {
return Promise.resolve(makeNetworkError("invalid method"));
}
const response = makeResponse();
const fullLength = blob.size;
const serializedFullLength = isomorphicEncode(`${fullLength}`);
const type = blob.type;
if (!request.headersList.contains("range", true)) {
const bodyWithType = extractBody(blob);
response.statusText = "OK";
response.body = bodyWithType[0];
response.headersList.set("content-length", serializedFullLength, true);
response.headersList.set("content-type", type, true);
} else {
response.rangeRequested = true;
const rangeHeader = request.headersList.get("range", true);
const rangeValue = simpleRangeHeaderValue(rangeHeader, true);
if (rangeValue === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
let { rangeStartValue: rangeStart, rangeEndValue: rangeEnd } = rangeValue;
if (rangeStart === null) {
rangeStart = fullLength - rangeEnd;
rangeEnd = rangeStart + rangeEnd - 1;
} else {
if (rangeStart >= fullLength) {
return Promise.resolve(makeNetworkError("Range start is greater than the blob's size."));
}
if (rangeEnd === null || rangeEnd >= fullLength) {
rangeEnd = fullLength - 1;
}
}
const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type);
const slicedBodyWithType = extractBody(slicedBlob);
response.body = slicedBodyWithType[0];
const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`);
const contentRange = buildContentRange(rangeStart, rangeEnd, fullLength);
response.status = 206;
response.statusText = "Partial Content";
response.headersList.set("content-length", serializedSlicedLength, true);
response.headersList.set("content-type", type, true);
response.headersList.set("content-range", contentRange, true);
}
return Promise.resolve(response);
}
case "data:": {
const currentURL = requestCurrentURL(request);
const dataURLStruct = dataURLProcessor(currentURL);
if (dataURLStruct === "failure") {
return Promise.resolve(makeNetworkError("failed to fetch the data URL"));
}
const mimeType = serializeAMimeType(dataURLStruct.mimeType);
return Promise.resolve(makeResponse({
statusText: "OK",
headersList: [
["content-type", { name: "Content-Type", value: mimeType }]
],
body: safelyExtractBody(dataURLStruct.body)[0]
}));
}
case "file:": {
return Promise.resolve(makeNetworkError("not implemented... yet..."));
}
case "http:":
case "https:": {
return httpFetch(fetchParams).catch((err) => makeNetworkError(err));
}
default: {
return Promise.resolve(makeNetworkError("unknown scheme"));
}
}
}
function finalizeResponse(fetchParams, response) {
fetchParams.request.done = true;
if (fetchParams.processResponseDone != null) {
queueMicrotask(() => fetchParams.processResponseDone(response));
}
}
function fetchFinale(fetchParams, response) {
let timingInfo = fetchParams.timingInfo;
const processResponseEndOfBody = () => {
const unsafeEndTime = Date.now();
if (fetchParams.request.destination === "document") {
fetchParams.controller.fullTimingInfo = timingInfo;
}
fetchParams.controller.reportTimingSteps = () => {
if (!urlIsHttpHttpsScheme(fetchParams.request.url)) {
return;
}
timingInfo.endTime = unsafeEndTime;
let cacheState = response.cacheState;
const bodyInfo = response.bodyInfo;
if (!response.timingAllowPassed) {
timingInfo = createOpaqueTimingInfo(timingInfo);
cacheState = "";
}
let responseStatus = 0;
if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) {
responseStatus = response.status;
const mimeType = extractMimeType(response.headersList);
if (mimeType !== "failure") {
bodyInfo.contentType = minimizeSupportedMimeType(mimeType);
}
}
if (fetchParams.request.initiatorType != null) {
markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus);
}
};
const processResponseEndOfBodyTask = () => {
fetchParams.request.done = true;
if (fetchParams.processResponseEndOfBody != null) {
queueMicrotask(() => fetchParams.processResponseEndOfBody(response));
}
if (fetchParams.request.initiatorType != null) {
fetchParams.controller.reportTimingSteps();
}
};
queueMicrotask(() => processResponseEndOfBodyTask());
};
if (fetchParams.processResponse != null) {
queueMicrotask(() => {
fetchParams.processResponse(response);
fetchParams.processResponse = null;
});
}
const internalResponse = response.type === "error" ? response : response.internalResponse ?? response;
if (internalResponse.body == null) {
processResponseEndOfBody();
} else {
finished7(internalResponse.body.stream, () => {
processResponseEndOfBody();
});
}
}
async function httpFetch(fetchParams) {
const request = fetchParams.request;
let response = null;
let actualResponse = null;
const timingInfo = fetchParams.timingInfo;
if (request.serviceWorkers === "all") {}
if (response === null) {
if (request.redirect === "follow") {
request.serviceWorkers = "none";
}
actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
return makeNetworkError("cors failure");
}
if (TAOCheck(request, response) === "failure") {
request.timingAllowFailed = true;
}
}
if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(request.origin, request.client, request.destination, actualResponse) === "blocked") {
return makeNetworkError("blocked");
}
if (redirectStatusSet.has(actualResponse.status)) {
if (request.redirect !== "manual") {
fetchParams.controller.connection.destroy(undefined, false);
}
if (request.redirect === "error") {
response = makeNetworkError("unexpected redirect");
} else if (request.redirect === "manual") {
response = actualResponse;
} else if (request.redirect === "follow") {
response = await httpRedirectFetch(fetchParams, response);
} else {
assert3(false);
}
}
response.timingInfo = timingInfo;
return response;
}
function httpRedirectFetch(fetchParams, response) {
const request = fetchParams.request;
const actualResponse = response.internalResponse ? response.internalResponse : response;
let locationURL;
try {
locationURL = responseLocationURL(actualResponse, requestCurrentURL(request).hash);
if (locationURL == null) {
return response;
}
} catch (err) {
return Promise.resolve(makeNetworkError(err));
}
if (!urlIsHttpHttpsScheme(locationURL)) {
return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme"));
}
if (request.redirectCount === 20) {
return Promise.resolve(makeNetworkError("redirect count exceeded"));
}
request.redirectCount += 1;
if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {
return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"'));
}
if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {
return Promise.resolve(makeNetworkError('URL cannot contain credentials for request mode "cors"'));
}
if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {
return Promise.resolve(makeNetworkError());
}
if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) {
request.method = "GET";
request.body = null;
for (const headerName of requestBodyHeader) {
request.headersList.delete(headerName);
}
}
if (!sameOrigin(requestCurrentURL(request), locationURL)) {
request.headersList.delete("authorization", true);
request.headersList.delete("proxy-authorization", true);
request.headersList.delete("cookie", true);
request.headersList.delete("host", true);
}
if (request.body != null) {
assert3(request.body.source != null);
request.body = safelyExtractBody(request.body.source)[0];
}
const timingInfo = fetchParams.timingInfo;
timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
if (timingInfo.redirectStartTime === 0) {
timingInfo.redirectStartTime = timingInfo.startTime;
}
request.urlList.push(locationURL);
setRequestReferrerPolicyOnRedirect(request, actualResponse);
return mainFetch(fetchParams, true);
}
async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {
const request = fetchParams.request;
let httpFetchParams = null;
let httpRequest = null;
let response = null;
const httpCache = null;
const revalidatingFlag = false;
if (request.window === "no-window" && request.redirect === "error") {
httpFetchParams = fetchParams;
httpRequest = request;
} else {
httpRequest = cloneRequest(request);
httpFetchParams = { ...fetchParams };
httpFetchParams.request = httpRequest;
}
const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";
const contentLength = httpRequest.body ? httpRequest.body.length : null;
let contentLengthHeaderValue = null;
if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {
contentLengthHeaderValue = "0";
}
if (contentLength != null) {
contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);
}
if (contentLengthHeaderValue != null) {
httpRequest.headersList.append("content-length", contentLengthHeaderValue, true);
}
if (contentLength != null && httpRequest.keepalive) {}
if (webidl.is.URL(httpRequest.referrer)) {
httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href), true);
}
appendRequestOriginHeader(httpRequest);
appendFetchMetadata(httpRequest);
if (!httpRequest.headersList.contains("user-agent", true)) {
httpRequest.headersList.append("user-agent", defaultUserAgent, true);
}
if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since", true) || httpRequest.headersList.contains("if-none-match", true) || httpRequest.headersList.contains("if-unmodified-since", true) || httpRequest.headersList.contains("if-match", true) || httpRequest.headersList.contains("if-range", true))) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "max-age=0", true);
}
if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {
if (!httpRequest.headersList.contains("pragma", true)) {
httpRequest.headersList.append("pragma", "no-cache", true);
}
if (!httpRequest.headersList.contains("cache-control", true)) {
httpRequest.headersList.append("cache-control", "no-cache", true);
}
}
if (httpRequest.headersList.contains("range", true)) {
httpRequest.headersList.append("accept-encoding", "identity", true);
}
if (!httpRequest.headersList.contains("accept-encoding", true)) {
if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {
httpRequest.headersList.append("accept-encoding", "br, gzip, deflate", true);
} else {
httpRequest.headersList.append("accept-encoding", "gzip, deflate", true);
}
}
httpRequest.headersList.delete("host", true);
if (includeCredentials) {
if (!httpRequest.headersList.contains("authorization", true)) {
let authorizationValue = null;
if (hasAuthenticationEntry(httpRequest) && (httpRequest.useURLCredentials === undefined || !includesCredentials(requestCurrentURL(httpRequest)))) {} else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
const { username, password } = requestCurrentURL(httpRequest);
authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
}
if (authorizationValue !== null) {
httpRequest.headersList.append("Authorization", authorizationValue, false);
}
}
}
if (httpCache == null) {
httpRequest.cache = "no-store";
}
if (httpRequest.cache !== "no-store" && httpRequest.cache !== "reload") {}
if (response == null) {
if (httpRequest.cache === "only-if-cached") {
return makeNetworkError("only if cached");
}
const forwardResponse = await httpNetworkFetch(httpFetchParams, includeCredentials, isNewConnectionFetch);
if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {}
if (revalidatingFlag && forwardResponse.status === 304) {}
if (response == null) {
response = forwardResponse;
}
}
response.urlList = [...httpRequest.urlList];
if (httpRequest.headersList.contains("range", true)) {
response.rangeRequested = true;
}
response.requestIncludesCredentials = includeCredentials;
if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && isTraversableNavigable(request.traversableForUserPrompts)) {
if (request.body != null) {
if (request.body.source == null) {
return makeNetworkError("expected non-null body source");
}
request.body = safelyExtractBody(request.body.source)[0];
}
if (request.useURLCredentials === undefined || isAuthenticationFetch) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return response;
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(fetchParams, true);
}
if (response.status === 407) {
if (request.window === "no-window") {
return makeNetworkError();
}
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
return makeNetworkError("proxy authentication required");
}
if (response.status === 421 && !isNewConnectionFetch && (request.body == null || request.body.source != null)) {
if (isCancelled(fetchParams)) {
return makeAppropriateNetworkError(fetchParams);
}
fetchParams.controller.connection.destroy();
response = await httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch, true);
}
if (isAuthenticationFetch) {}
return response;
}
async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {
assert3(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);
fetchParams.controller.connection = {
abort: null,
destroyed: false,
destroy(err, abort = true) {
if (!this.destroyed) {
this.destroyed = true;
if (abort) {
this.abort?.(err ?? new DOMException("The operation was aborted.", "AbortError"));
}
}
}
};
const request = fetchParams.request;
let response = null;
const timingInfo = fetchParams.timingInfo;
const httpCache = null;
if (httpCache == null) {
request.cache = "no-store";
}
const newConnection = forceNewConnection ? "yes" : "no";
if (request.mode === "websocket") {} else {}
let requestBody = null;
if (request.body == null && fetchParams.processRequestEndOfBody) {
queueMicrotask(() => fetchParams.processRequestEndOfBody());
} else if (request.body != null) {
const processBodyChunk = async function* (bytes) {
if (isCancelled(fetchParams)) {
return;
}
yield bytes;
fetchParams.processRequestBodyChunkLength?.(bytes.byteLength);
};
const processEndOfBody = () => {
if (isCancelled(fetchParams)) {
return;
}
if (fetchParams.processRequestEndOfBody) {
fetchParams.processRequestEndOfBody();
}
};
const processBodyError = (e) => {
if (isCancelled(fetchParams)) {
return;
}
if (e.name === "AbortError") {
fetchParams.controller.abort();
} else {
fetchParams.controller.terminate(e);
}
};
requestBody = async function* () {
try {
for await (const bytes of request.body.stream) {
yield* processBodyChunk(bytes);
}
processEndOfBody();
} catch (err) {
processBodyError(err);
}
}();
}
try {
const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });
if (socket) {
response = makeResponse({ status, statusText, headersList, socket });
} else {
const iterator2 = body[Symbol.asyncIterator]();
fetchParams.controller.next = () => iterator2.next();
response = makeResponse({ status, statusText, headersList });
}
} catch (err) {
if (err.name === "AbortError") {
fetchParams.controller.connection.destroy();
return makeAppropriateNetworkError(fetchParams, err);
}
return makeNetworkError(err);
}
const pullAlgorithm = () => {
return fetchParams.controller.resume();
};
const cancelAlgorithm = (reason) => {
if (!isCancelled(fetchParams)) {
fetchParams.controller.abort(reason);
}
};
const stream4 = new ReadableStream({
start(controller) {
fetchParams.controller.controller = controller;
},
pull: pullAlgorithm,
cancel: cancelAlgorithm,
type: "bytes"
});
response.body = { stream: stream4, source: null, length: null };
if (!fetchParams.controller.resume) {
fetchParams.controller.on("terminated", onAborted);
}
fetchParams.controller.resume = async () => {
while (true) {
let bytes;
let isFailure;
try {
const { done, value } = await fetchParams.controller.next();
if (isAborted(fetchParams)) {
break;
}
bytes = done ? undefined : value;
} catch (err) {
if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {
bytes = undefined;
} else {
bytes = err;
isFailure = true;
}
}
if (bytes === undefined) {
readableStreamClose(fetchParams.controller.controller);
finalizeResponse(fetchParams, response);
return;
}
timingInfo.decodedBodySize += bytes?.byteLength ?? 0;
if (isFailure) {
fetchParams.controller.terminate(bytes);
return;
}
const buffer = new Uint8Array(bytes);
if (buffer.byteLength) {
fetchParams.controller.controller.enqueue(buffer);
}
if (isErrored(stream4)) {
fetchParams.controller.terminate();
return;
}
if (fetchParams.controller.controller.desiredSize <= 0) {
return;
}
}
};
function onAborted(reason) {
if (isAborted(fetchParams)) {
response.aborted = true;
if (isReadable(stream4)) {
fetchParams.controller.controller.error(fetchParams.controller.serializedAbortReason);
}
} else {
if (isReadable(stream4)) {
fetchParams.controller.controller.error(new TypeError("terminated", {
cause: isErrorLike(reason) ? reason : undefined
}));
}
}
fetchParams.controller.connection.destroy();
}
return response;
function dispatch({ body }) {
const url3 = requestCurrentURL(request);
const agent = fetchParams.controller.dispatcher;
const path9 = url3.pathname + url3.search;
const hasTrailingQuestionMark = url3.search.length === 0 && url3.href[url3.href.length - url3.hash.length - 1] === "?";
return new Promise((resolve9, reject) => agent.dispatch({
path: hasTrailingQuestionMark ? `${path9}?` : path9,
origin: url3.origin,
method: request.method,
body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
headers: request.headersList.entries,
maxRedirections: 0,
upgrade: request.mode === "websocket" ? "websocket" : undefined
}, {
body: null,
abort: null,
onConnect(abort) {
const { connection } = fetchParams.controller;
timingInfo.finalConnectionTimingInfo = clampAndCoarsenConnectionTimingInfo(undefined, timingInfo.postRedirectStartTime, fetchParams.crossOriginIsolatedCapability);
if (connection.destroyed) {
abort(new DOMException("The operation was aborted.", "AbortError"));
} else {
fetchParams.controller.on("terminated", abort);
this.abort = connection.abort = abort;
}
timingInfo.finalNetworkRequestStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onResponseStarted() {
timingInfo.finalNetworkResponseStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);
},
onHeaders(status, rawHeaders, resume2, statusText) {
if (status < 200) {
return false;
}
const headersList = new HeadersList;
for (let i2 = 0;i2 < rawHeaders.length; i2 += 2) {
headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
}
const location = headersList.get("location", true);
this.body = new Readable5({ read: resume2 });
const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status);
const decoders = [];
if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
const contentEncoding = headersList.get("content-encoding", true);
const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
const maxContentEncodings = 5;
if (codings.length > maxContentEncodings) {
reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
return true;
}
for (let i2 = codings.length - 1;i2 >= 0; --i2) {
const coding = codings[i2].trim();
if (coding === "x-gzip" || coding === "gzip") {
decoders.push(zlib2.createGunzip({
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "deflate") {
decoders.push(createInflate({
flush: zlib2.constants.Z_SYNC_FLUSH,
finishFlush: zlib2.constants.Z_SYNC_FLUSH
}));
} else if (coding === "br") {
decoders.push(zlib2.createBrotliDecompress({
flush: zlib2.constants.BROTLI_OPERATION_FLUSH,
finishFlush: zlib2.constants.BROTLI_OPERATION_FLUSH
}));
} else if (coding === "zstd" && hasZstd) {
decoders.push(zlib2.createZstdDecompress({
flush: zlib2.constants.ZSTD_e_continue,
finishFlush: zlib2.constants.ZSTD_e_end
}));
} else {
decoders.length = 0;
break;
}
}
}
const onError = this.onError.bind(this);
resolve9({
status,
statusText,
headersList,
body: decoders.length ? pipeline(this.body, ...decoders, (err) => {
if (err) {
this.onError(err);
}
}).on("error", onError) : this.body.on("error", onError)
});
return true;
},
onData(chunk) {
if (fetchParams.controller.dump) {
return;
}
const bytes = chunk;
timingInfo.encodedBodySize += bytes.byteLength;
return this.body.push(bytes);
},
onComplete() {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
fetchParams.controller.ended = true;
this.body.push(null);
},
onError(error49) {
if (this.abort) {
fetchParams.controller.off("terminated", this.abort);
}
this.body?.destroy(error49);
fetchParams.controller.terminate(error49);
reject(error49);
},
onRequestUpgrade(_controller, status, headers, socket) {
if (socket.session != null && status !== 200 || socket.session == null && status !== 101) {
return false;
}
const headersList = new HeadersList;
for (const [name, value] of Object.entries(headers)) {
if (value == null) {
continue;
}
const headerName = name.toLowerCase();
if (Array.isArray(value)) {
for (const entry of value) {
headersList.append(headerName, String(entry), true);
}
} else {
headersList.append(headerName, String(value), true);
}
}
resolve9({
status,
statusText: STATUS_CODES[status],
headersList,
socket
});
return true;
},
onUpgrade(status, rawHeaders, socket) {
if (socket.session != null && status !== 200 || socket.session == null && status !== 101) {
return false;
}
const headersList = new HeadersList;
for (let i2 = 0;i2 < rawHeaders.length; i2 += 2) {
headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
}
resolve9({
status,
statusText: STATUS_CODES[status],
headersList,
socket
});
return true;
}
}));
}
}
module.exports = {
fetch: fetch2,
Fetch,
fetching,
finalizeAndReportTiming
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cache/util.js
var require_util3 = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { URLSerializer } = require_data_url();
var { isValidHeaderName: isValidHeaderName2 } = require_util2();
function urlEquals(A, B2, excludeFragment = false) {
const serializedA = URLSerializer(A, excludeFragment);
const serializedB = URLSerializer(B2, excludeFragment);
return serializedA === serializedB;
}
function getFieldValues(header) {
assert3(header !== null);
const values = [];
for (let value of header.split(",")) {
value = value.trim();
if (isValidHeaderName2(value)) {
values.push(value);
}
}
return values;
}
module.exports = {
urlEquals,
getFieldValues
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cache/cache.js
var require_cache3 = __commonJS((exports, module) => {
var assert3 = __require("node:assert");
var { kConstruct } = require_symbols();
var { urlEquals, getFieldValues } = require_util3();
var { kEnumerableProperty, isDisturbed } = require_util();
var { webidl } = require_webidl();
var { cloneResponse, fromInnerResponse, getResponseState } = require_response();
var { Request: Request2, fromInnerRequest, getRequestState } = require_request2();
var { fetching } = require_fetch();
var { urlIsHttpHttpsScheme, readAllBytes } = require_util2();
var { createDeferredPromise } = require_promise();
class Cache {
#relevantRequestResponseList;
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
this.#relevantRequestResponseList = arguments[1];
}
async match(request, options = {}) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.match";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
const p = this.#internalMatchAll(request, options, 1);
if (p.length === 0) {
return;
}
return p[0];
}
async matchAll(request = undefined, options = {}) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.matchAll";
if (request !== undefined)
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
return this.#internalMatchAll(request, options);
}
async add(request) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.add";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
const requests = [request];
const responseArrayPromise = this.addAll(requests);
return await responseArrayPromise;
}
async addAll(requests) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.addAll";
webidl.argumentLengthCheck(arguments, 1, prefix);
const responsePromises = [];
const requestList = [];
for (let request of requests) {
if (request === undefined) {
throw webidl.errors.conversionFailed({
prefix,
argument: "Argument 1",
types: ["undefined is not allowed"]
});
}
request = webidl.converters.RequestInfo(request);
if (typeof request === "string") {
continue;
}
const r = getRequestState(request);
if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme when method is not GET."
});
}
}
const fetchControllers = [];
for (const request of requests) {
const r = getRequestState(new Request2(request));
if (!urlIsHttpHttpsScheme(r.url)) {
throw webidl.errors.exception({
header: prefix,
message: "Expected http/s scheme."
});
}
r.initiator = "fetch";
r.destination = "subresource";
requestList.push(r);
const responsePromise = createDeferredPromise();
fetchControllers.push(fetching({
request: r,
processResponse(response) {
if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "Received an invalid status code or the request failed."
}));
} else if (response.headersList.contains("vary")) {
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
responsePromise.reject(webidl.errors.exception({
header: "Cache.addAll",
message: "invalid vary field value"
}));
for (const controller of fetchControllers) {
controller.abort();
}
return;
}
}
}
},
processResponseEndOfBody(response) {
if (response.aborted) {
responsePromise.reject(new DOMException("aborted", "AbortError"));
return;
}
responsePromise.resolve(response);
}
}));
responsePromises.push(responsePromise.promise);
}
const p = Promise.all(responsePromises);
const responses = await p;
const operations = [];
let index = 0;
for (const response of responses) {
const operation = {
type: "put",
request: requestList[index],
response
};
operations.push(operation);
index++;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(undefined);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async put(request, response) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.put";
webidl.argumentLengthCheck(arguments, 2, prefix);
request = webidl.converters.RequestInfo(request);
response = webidl.converters.Response(response, prefix, "response");
let innerRequest = null;
if (webidl.is.Request(request)) {
innerRequest = getRequestState(request);
} else {
innerRequest = getRequestState(new Request2(request));
}
if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") {
throw webidl.errors.exception({
header: prefix,
message: "Expected an http/s scheme when method is not GET"
});
}
const innerResponse = getResponseState(response);
if (innerResponse.status === 206) {
throw webidl.errors.exception({
header: prefix,
message: "Got 206 status"
});
}
if (innerResponse.headersList.contains("vary")) {
const fieldValues = getFieldValues(innerResponse.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
throw webidl.errors.exception({
header: prefix,
message: "Got * vary field value"
});
}
}
}
if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {
throw webidl.errors.exception({
header: prefix,
message: "Response body is locked or disturbed"
});
}
const clonedResponse = cloneResponse(innerResponse);
const bodyReadPromise = createDeferredPromise();
if (innerResponse.body != null) {
const stream4 = innerResponse.body.stream;
const reader = stream4.getReader();
readAllBytes(reader, bodyReadPromise.resolve, bodyReadPromise.reject);
} else {
bodyReadPromise.resolve(undefined);
}
const operations = [];
const operation = {
type: "put",
request: innerRequest,
response: clonedResponse
};
operations.push(operation);
const bytes = await bodyReadPromise.promise;
if (clonedResponse.body != null) {
clonedResponse.body.source = bytes;
}
const cacheJobPromise = createDeferredPromise();
let errorData = null;
try {
this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve();
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async delete(request, options = {}) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r = null;
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return false;
}
} else {
assert3(typeof request === "string");
r = getRequestState(new Request2(request));
}
const operations = [];
const operation = {
type: "delete",
request: r,
options
};
operations.push(operation);
const cacheJobPromise = createDeferredPromise();
let errorData = null;
let requestResponses;
try {
requestResponses = this.#batchCacheOperations(operations);
} catch (e) {
errorData = e;
}
queueMicrotask(() => {
if (errorData === null) {
cacheJobPromise.resolve(!!requestResponses?.length);
} else {
cacheJobPromise.reject(errorData);
}
});
return cacheJobPromise.promise;
}
async keys(request = undefined, options = {}) {
webidl.brandCheck(this, Cache);
const prefix = "Cache.keys";
if (request !== undefined)
request = webidl.converters.RequestInfo(request);
options = webidl.converters.CacheQueryOptions(options, prefix, "options");
let r = null;
if (request !== undefined) {
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r = getRequestState(new Request2(request));
}
}
const promise2 = createDeferredPromise();
const requests = [];
if (request === undefined) {
for (const requestResponse of this.#relevantRequestResponseList) {
requests.push(requestResponse[0]);
}
} else {
const requestResponses = this.#queryCache(r, options);
for (const requestResponse of requestResponses) {
requests.push(requestResponse[0]);
}
}
queueMicrotask(() => {
const requestList = [];
for (const request2 of requests) {
const requestObject = fromInnerRequest(request2, undefined, new AbortController().signal, "immutable");
requestList.push(requestObject);
}
promise2.resolve(Object.freeze(requestList));
});
return promise2.promise;
}
#batchCacheOperations(operations) {
const cache2 = this.#relevantRequestResponseList;
const backupCache = [...cache2];
const addedItems = [];
const resultList = [];
try {
for (const operation of operations) {
if (operation.type !== "delete" && operation.type !== "put") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: 'operation type does not match "delete" or "put"'
});
}
if (operation.type === "delete" && operation.response != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "delete operation should not have an associated response"
});
}
if (this.#queryCache(operation.request, operation.options, addedItems).length) {
throw new DOMException("???", "InvalidStateError");
}
let requestResponses;
if (operation.type === "delete") {
requestResponses = this.#queryCache(operation.request, operation.options);
if (requestResponses.length === 0) {
return [];
}
for (const requestResponse of requestResponses) {
const idx = cache2.indexOf(requestResponse);
assert3(idx !== -1);
cache2.splice(idx, 1);
}
} else if (operation.type === "put") {
if (operation.response == null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "put operation should have an associated response"
});
}
const r = operation.request;
if (!urlIsHttpHttpsScheme(r.url)) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "expected http or https scheme"
});
}
if (r.method !== "GET") {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "not get method"
});
}
if (operation.options != null) {
throw webidl.errors.exception({
header: "Cache.#batchCacheOperations",
message: "options must not be defined"
});
}
requestResponses = this.#queryCache(operation.request);
for (const requestResponse of requestResponses) {
const idx = cache2.indexOf(requestResponse);
assert3(idx !== -1);
cache2.splice(idx, 1);
}
cache2.push([operation.request, operation.response]);
addedItems.push([operation.request, operation.response]);
}
resultList.push([operation.request, operation.response]);
}
return resultList;
} catch (e) {
this.#relevantRequestResponseList.length = 0;
this.#relevantRequestResponseList = backupCache;
throw e;
}
}
#queryCache(requestQuery, options, targetStorage) {
const resultList = [];
const storage = targetStorage ?? this.#relevantRequestResponseList;
for (const requestResponse of storage) {
const [cachedRequest, cachedResponse] = requestResponse;
if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {
resultList.push(requestResponse);
}
}
return resultList;
}
#requestMatchesCachedItem(requestQuery, request, response = null, options) {
const queryURL = new URL(requestQuery.url);
const cachedURL = new URL(request.url);
if (options?.ignoreSearch) {
cachedURL.search = "";
queryURL.search = "";
}
if (!urlEquals(queryURL, cachedURL, true)) {
return false;
}
if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
return true;
}
const fieldValues = getFieldValues(response.headersList.get("vary"));
for (const fieldValue of fieldValues) {
if (fieldValue === "*") {
return false;
}
const requestValue = request.headersList.get(fieldValue);
const queryValue = requestQuery.headersList.get(fieldValue);
if (requestValue !== queryValue) {
return false;
}
}
return true;
}
#internalMatchAll(request, options, maxResponses = Infinity) {
let r = null;
if (request !== undefined) {
if (webidl.is.Request(request)) {
r = getRequestState(request);
if (r.method !== "GET" && !options.ignoreMethod) {
return [];
}
} else if (typeof request === "string") {
r = getRequestState(new Request2(request));
}
}
const responses = [];
if (request === undefined) {
for (const requestResponse of this.#relevantRequestResponseList) {
responses.push(requestResponse[1]);
}
} else {
const requestResponses = this.#queryCache(r, options);
for (const requestResponse of requestResponses) {
responses.push(requestResponse[1]);
}
}
const responseList = [];
for (const response of responses) {
const responseObject = fromInnerResponse(cloneResponse(response), "immutable");
responseList.push(responseObject);
if (responseList.length >= maxResponses) {
break;
}
}
return Object.freeze(responseList);
}
}
Object.defineProperties(Cache.prototype, {
[Symbol.toStringTag]: {
value: "Cache",
configurable: true
},
match: kEnumerableProperty,
matchAll: kEnumerableProperty,
add: kEnumerableProperty,
addAll: kEnumerableProperty,
put: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
var cacheQueryOptionConverters = [
{
key: "ignoreSearch",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreMethod",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "ignoreVary",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters);
webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([
...cacheQueryOptionConverters,
{
key: "cacheName",
converter: webidl.converters.DOMString
}
]);
webidl.converters.Response = webidl.interfaceConverter(webidl.is.Response, "Response");
webidl.converters["sequence"] = webidl.sequenceConverter(webidl.converters.RequestInfo);
module.exports = {
Cache
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cache/cachestorage.js
var require_cachestorage = __commonJS((exports, module) => {
var { Cache } = require_cache3();
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util();
var { kConstruct } = require_symbols();
class CacheStorage {
#caches = new Map;
constructor() {
if (arguments[0] !== kConstruct) {
webidl.illegalConstructor();
}
webidl.util.markAsUncloneable(this);
}
async match(request, options = {}) {
webidl.brandCheck(this, CacheStorage);
webidl.argumentLengthCheck(arguments, 1, "CacheStorage.match");
request = webidl.converters.RequestInfo(request);
options = webidl.converters.MultiCacheQueryOptions(options);
if (options.cacheName != null) {
if (this.#caches.has(options.cacheName)) {
const cacheList = this.#caches.get(options.cacheName);
const cache2 = new Cache(kConstruct, cacheList);
return await cache2.match(request, options);
}
} else {
for (const cacheList of this.#caches.values()) {
const cache2 = new Cache(kConstruct, cacheList);
const response = await cache2.match(request, options);
if (response !== undefined) {
return response;
}
}
}
}
async has(cacheName) {
webidl.brandCheck(this, CacheStorage);
const prefix = "CacheStorage.has";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.has(cacheName);
}
async open(cacheName) {
webidl.brandCheck(this, CacheStorage);
const prefix = "CacheStorage.open";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
if (this.#caches.has(cacheName)) {
const cache3 = this.#caches.get(cacheName);
return new Cache(kConstruct, cache3);
}
const cache2 = [];
this.#caches.set(cacheName, cache2);
return new Cache(kConstruct, cache2);
}
async delete(cacheName) {
webidl.brandCheck(this, CacheStorage);
const prefix = "CacheStorage.delete";
webidl.argumentLengthCheck(arguments, 1, prefix);
cacheName = webidl.converters.DOMString(cacheName, prefix, "cacheName");
return this.#caches.delete(cacheName);
}
async keys() {
webidl.brandCheck(this, CacheStorage);
const keys2 = this.#caches.keys();
return [...keys2];
}
}
Object.defineProperties(CacheStorage.prototype, {
[Symbol.toStringTag]: {
value: "CacheStorage",
configurable: true
},
match: kEnumerableProperty,
has: kEnumerableProperty,
open: kEnumerableProperty,
delete: kEnumerableProperty,
keys: kEnumerableProperty
});
module.exports = {
CacheStorage
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cookies/constants.js
var require_constants5 = __commonJS((exports, module) => {
var maxAttributeValueSize = 1024;
var maxNameValuePairSize = 4096;
module.exports = {
maxAttributeValueSize,
maxNameValuePairSize
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cookies/util.js
var require_util4 = __commonJS((exports, module) => {
function isCTLExcludingHtab(value) {
for (let i2 = 0;i2 < value.length; ++i2) {
const code = value.charCodeAt(i2);
if (code >= 0 && code <= 8 || code >= 10 && code <= 31 || code === 127) {
return true;
}
}
return false;
}
function validateCookieName(name) {
for (let i2 = 0;i2 < name.length; ++i2) {
const code = name.charCodeAt(i2);
if (code < 33 || code > 126 || code === 34 || code === 40 || code === 41 || code === 60 || code === 62 || code === 64 || code === 44 || code === 59 || code === 58 || code === 92 || code === 47 || code === 91 || code === 93 || code === 63 || code === 61 || code === 123 || code === 125) {
throw new Error("Invalid cookie name");
}
}
}
function validateCookieValue(value) {
let len = value.length;
let i2 = 0;
if (value[0] === '"') {
if (len === 1 || value[len - 1] !== '"') {
throw new Error("Invalid cookie value");
}
--len;
++i2;
}
while (i2 < len) {
const code = value.charCodeAt(i2++);
if (code < 33 || code > 126 || code === 34 || code === 44 || code === 59 || code === 92) {
throw new Error("Invalid cookie value");
}
}
}
function validateCookiePath(path9) {
for (let i2 = 0;i2 < path9.length; ++i2) {
const code = path9.charCodeAt(i2);
if (code < 32 || code === 127 || code === 59) {
throw new Error("Invalid cookie path");
}
}
}
function validateCookieDomain(domain2) {
if (domain2.startsWith("-") || domain2.endsWith(".") || domain2.endsWith("-")) {
throw new Error("Invalid cookie domain");
}
}
var IMFDays = [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
];
var IMFMonths = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
];
var IMFPaddedNumbers = Array(61).fill(0).map((_2, i2) => i2.toString().padStart(2, "0"));
function toIMFDate(date5) {
if (typeof date5 === "number") {
date5 = new Date(date5);
}
return `${IMFDays[date5.getUTCDay()]}, ${IMFPaddedNumbers[date5.getUTCDate()]} ${IMFMonths[date5.getUTCMonth()]} ${date5.getUTCFullYear()} ${IMFPaddedNumbers[date5.getUTCHours()]}:${IMFPaddedNumbers[date5.getUTCMinutes()]}:${IMFPaddedNumbers[date5.getUTCSeconds()]} GMT`;
}
function validateCookieMaxAge(maxAge) {
if (maxAge < 0) {
throw new Error("Invalid cookie max-age");
}
}
function stringify(cookie) {
if (cookie.name.length === 0) {
return null;
}
validateCookieName(cookie.name);
validateCookieValue(cookie.value);
const out = [`${cookie.name}=${cookie.value}`];
if (cookie.name.startsWith("__Secure-")) {
cookie.secure = true;
}
if (cookie.name.startsWith("__Host-")) {
cookie.secure = true;
cookie.domain = null;
cookie.path = "/";
}
if (cookie.secure) {
out.push("Secure");
}
if (cookie.httpOnly) {
out.push("HttpOnly");
}
if (typeof cookie.maxAge === "number") {
validateCookieMaxAge(cookie.maxAge);
out.push(`Max-Age=${cookie.maxAge}`);
}
if (cookie.domain) {
validateCookieDomain(cookie.domain);
out.push(`Domain=${cookie.domain}`);
}
if (cookie.path) {
validateCookiePath(cookie.path);
out.push(`Path=${cookie.path}`);
}
if (cookie.expires && cookie.expires.toString() !== "Invalid Date") {
out.push(`Expires=${toIMFDate(cookie.expires)}`);
}
if (cookie.sameSite) {
out.push(`SameSite=${cookie.sameSite}`);
}
for (const part of cookie.unparsed) {
if (!part.includes("=")) {
throw new Error("Invalid unparsed");
}
const [key, ...value] = part.split("=");
out.push(`${key.trim()}=${value.join("=")}`);
}
return out.join("; ");
}
module.exports = {
isCTLExcludingHtab,
validateCookieName,
validateCookiePath,
validateCookieValue,
toIMFDate,
stringify
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cookies/parse.js
var require_parse3 = __commonJS((exports, module) => {
var { collectASequenceOfCodePointsFast } = require_infra();
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants5();
var { isCTLExcludingHtab } = require_util4();
var assert3 = __require("node:assert");
var { unescape: qsUnescape } = __require("node:querystring");
function parseSetCookie(header) {
if (isCTLExcludingHtab(header)) {
return null;
}
let nameValuePair = "";
let unparsedAttributes = "";
let name = "";
let value = "";
if (header.includes(";")) {
const position = { position: 0 };
nameValuePair = collectASequenceOfCodePointsFast(";", header, position);
unparsedAttributes = header.slice(position.position);
} else {
nameValuePair = header;
}
if (!nameValuePair.includes("=")) {
value = nameValuePair;
} else {
const position = { position: 0 };
name = collectASequenceOfCodePointsFast("=", nameValuePair, position);
value = nameValuePair.slice(position.position + 1);
}
name = name.trim();
value = value.trim();
if (name.length + value.length > maxNameValuePairSize) {
return null;
}
return {
name,
value: qsUnescape(value),
...parseUnparsedAttributes(unparsedAttributes)
};
}
function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) {
if (unparsedAttributes.length === 0) {
return cookieAttributeList;
}
assert3(unparsedAttributes[0] === ";");
unparsedAttributes = unparsedAttributes.slice(1);
let cookieAv = "";
if (unparsedAttributes.includes(";")) {
cookieAv = collectASequenceOfCodePointsFast(";", unparsedAttributes, { position: 0 });
unparsedAttributes = unparsedAttributes.slice(cookieAv.length);
} else {
cookieAv = unparsedAttributes;
unparsedAttributes = "";
}
let attributeName = "";
let attributeValue = "";
if (cookieAv.includes("=")) {
const position = { position: 0 };
attributeName = collectASequenceOfCodePointsFast("=", cookieAv, position);
attributeValue = cookieAv.slice(position.position + 1);
} else {
attributeName = cookieAv;
}
attributeName = attributeName.trim();
attributeValue = attributeValue.trim();
if (attributeValue.length > maxAttributeValueSize) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const attributeNameLowercase = attributeName.toLowerCase();
if (attributeNameLowercase === "expires") {
const expiryTime = new Date(attributeValue);
cookieAttributeList.expires = expiryTime;
} else if (attributeNameLowercase === "max-age") {
const charCode = attributeValue.charCodeAt(0);
if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
if (!/^\d+$/.test(attributeValue)) {
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
const deltaSeconds = Number(attributeValue);
cookieAttributeList.maxAge = deltaSeconds;
} else if (attributeNameLowercase === "domain") {
let cookieDomain = attributeValue;
if (cookieDomain[0] === ".") {
cookieDomain = cookieDomain.slice(1);
}
cookieDomain = cookieDomain.toLowerCase();
cookieAttributeList.domain = cookieDomain;
} else if (attributeNameLowercase === "path") {
let cookiePath = "";
if (attributeValue.length === 0 || attributeValue[0] !== "/") {
cookiePath = "/";
} else {
cookiePath = attributeValue;
}
cookieAttributeList.path = cookiePath;
} else if (attributeNameLowercase === "secure") {
cookieAttributeList.secure = true;
} else if (attributeNameLowercase === "httponly") {
cookieAttributeList.httpOnly = true;
} else if (attributeNameLowercase === "samesite") {
let enforcement = "Default";
const attributeValueLowercase = attributeValue.toLowerCase();
if (attributeValueLowercase.includes("none")) {
enforcement = "None";
}
if (attributeValueLowercase.includes("strict")) {
enforcement = "Strict";
}
if (attributeValueLowercase.includes("lax")) {
enforcement = "Lax";
}
cookieAttributeList.sameSite = enforcement;
} else {
cookieAttributeList.unparsed ??= [];
cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
}
return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList);
}
module.exports = {
parseSetCookie,
parseUnparsedAttributes
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/cookies/index.js
var require_cookies = __commonJS((exports, module) => {
var { parseSetCookie } = require_parse3();
var { stringify } = require_util4();
var { webidl } = require_webidl();
var { Headers: Headers2 } = require_headers();
var brandChecks = webidl.brandCheckMultiple([Headers2, globalThis.Headers].filter(Boolean));
function getCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getCookies");
brandChecks(headers);
const cookie = headers.get("cookie");
const out = {};
if (!cookie) {
return out;
}
for (const piece of cookie.split(";")) {
const [name, ...value] = piece.split("=");
out[name.trim()] = value.join("=");
}
return out;
}
function deleteCookie(headers, name, attributes) {
brandChecks(headers);
const prefix = "deleteCookie";
webidl.argumentLengthCheck(arguments, 2, prefix);
name = webidl.converters.DOMString(name, prefix, "name");
attributes = webidl.converters.DeleteCookieAttributes(attributes);
setCookie(headers, {
name,
value: "",
expires: new Date(0),
...attributes
});
}
function getSetCookies(headers) {
webidl.argumentLengthCheck(arguments, 1, "getSetCookies");
brandChecks(headers);
const cookies = headers.getSetCookie();
if (!cookies) {
return [];
}
return cookies.map((pair) => parseSetCookie(pair));
}
function parseCookie(cookie) {
cookie = webidl.converters.DOMString(cookie);
return parseSetCookie(cookie);
}
function setCookie(headers, cookie) {
webidl.argumentLengthCheck(arguments, 2, "setCookie");
brandChecks(headers);
cookie = webidl.converters.Cookie(cookie);
const str = stringify(cookie);
if (str) {
headers.append("set-cookie", str, true);
}
}
webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
}
]);
webidl.converters.Cookie = webidl.dictionaryConverter([
{
converter: webidl.converters.DOMString,
key: "name"
},
{
converter: webidl.converters.DOMString,
key: "value"
},
{
converter: webidl.nullableConverter((value) => {
if (typeof value === "number") {
return webidl.converters["unsigned long long"](value);
}
return new Date(value);
}),
key: "expires",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters["long long"]),
key: "maxAge",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "domain",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.DOMString),
key: "path",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "secure",
defaultValue: () => null
},
{
converter: webidl.nullableConverter(webidl.converters.boolean),
key: "httpOnly",
defaultValue: () => null
},
{
converter: webidl.converters.USVString,
key: "sameSite",
allowedValues: ["Strict", "Lax", "None"]
},
{
converter: webidl.sequenceConverter(webidl.converters.DOMString),
key: "unparsed",
defaultValue: () => []
}
]);
module.exports = {
getCookies,
deleteCookie,
getSetCookies,
setCookie,
parseCookie
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/events.js
var require_events = __commonJS((exports, module) => {
var { webidl } = require_webidl();
var { kEnumerableProperty } = require_util();
var { kConstruct } = require_symbols();
class MessageEvent2 extends Event {
#eventInit;
constructor(type, eventInitDict = {}) {
if (type === kConstruct) {
super(arguments[1], arguments[2]);
webidl.util.markAsUncloneable(this);
return;
}
const prefix = "MessageEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type = webidl.converters.DOMString(type, prefix, "type");
eventInitDict = webidl.converters.MessageEventInit(eventInitDict, prefix, "eventInitDict");
super(type, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get data() {
webidl.brandCheck(this, MessageEvent2);
return this.#eventInit.data;
}
get origin() {
webidl.brandCheck(this, MessageEvent2);
return this.#eventInit.origin;
}
get lastEventId() {
webidl.brandCheck(this, MessageEvent2);
return this.#eventInit.lastEventId;
}
get source() {
webidl.brandCheck(this, MessageEvent2);
return this.#eventInit.source;
}
get ports() {
webidl.brandCheck(this, MessageEvent2);
if (!Object.isFrozen(this.#eventInit.ports)) {
Object.freeze(this.#eventInit.ports);
}
return this.#eventInit.ports;
}
initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin2 = "", lastEventId = "", source = null, ports = []) {
webidl.brandCheck(this, MessageEvent2);
webidl.argumentLengthCheck(arguments, 1, "MessageEvent.initMessageEvent");
return new MessageEvent2(type, {
bubbles,
cancelable,
data,
origin: origin2,
lastEventId,
source,
ports
});
}
static createFastMessageEvent(type, init) {
const messageEvent = new MessageEvent2(kConstruct, type, init);
messageEvent.#eventInit = init;
messageEvent.#eventInit.data ??= null;
messageEvent.#eventInit.origin ??= "";
messageEvent.#eventInit.lastEventId ??= "";
messageEvent.#eventInit.source ??= null;
messageEvent.#eventInit.ports ??= [];
return messageEvent;
}
}
var { createFastMessageEvent } = MessageEvent2;
delete MessageEvent2.createFastMessageEvent;
class CloseEvent extends Event {
#eventInit;
constructor(type, eventInitDict = {}) {
const prefix = "CloseEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
type = webidl.converters.DOMString(type, prefix, "type");
eventInitDict = webidl.converters.CloseEventInit(eventInitDict);
super(type, eventInitDict);
this.#eventInit = eventInitDict;
webidl.util.markAsUncloneable(this);
}
get wasClean() {
webidl.brandCheck(this, CloseEvent);
return this.#eventInit.wasClean;
}
get code() {
webidl.brandCheck(this, CloseEvent);
return this.#eventInit.code;
}
get reason() {
webidl.brandCheck(this, CloseEvent);
return this.#eventInit.reason;
}
}
class ErrorEvent extends Event {
#eventInit;
constructor(type, eventInitDict) {
const prefix = "ErrorEvent constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
super(type, eventInitDict);
webidl.util.markAsUncloneable(this);
type = webidl.converters.DOMString(type, prefix, "type");
eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});
this.#eventInit = eventInitDict;
}
get message() {
webidl.brandCheck(this, ErrorEvent);
return this.#eventInit.message;
}
get filename() {
webidl.brandCheck(this, ErrorEvent);
return this.#eventInit.filename;
}
get lineno() {
webidl.brandCheck(this, ErrorEvent);
return this.#eventInit.lineno;
}
get colno() {
webidl.brandCheck(this, ErrorEvent);
return this.#eventInit.colno;
}
get error() {
webidl.brandCheck(this, ErrorEvent);
return this.#eventInit.error;
}
}
Object.defineProperties(MessageEvent2.prototype, {
[Symbol.toStringTag]: {
value: "MessageEvent",
configurable: true
},
data: kEnumerableProperty,
origin: kEnumerableProperty,
lastEventId: kEnumerableProperty,
source: kEnumerableProperty,
ports: kEnumerableProperty,
initMessageEvent: kEnumerableProperty
});
Object.defineProperties(CloseEvent.prototype, {
[Symbol.toStringTag]: {
value: "CloseEvent",
configurable: true
},
reason: kEnumerableProperty,
code: kEnumerableProperty,
wasClean: kEnumerableProperty
});
Object.defineProperties(ErrorEvent.prototype, {
[Symbol.toStringTag]: {
value: "ErrorEvent",
configurable: true
},
message: kEnumerableProperty,
filename: kEnumerableProperty,
lineno: kEnumerableProperty,
colno: kEnumerableProperty,
error: kEnumerableProperty
});
webidl.converters.MessagePort = webidl.interfaceConverter(webidl.is.MessagePort, "MessagePort");
webidl.converters["sequence"] = webidl.sequenceConverter(webidl.converters.MessagePort);
var eventInit = [
{
key: "bubbles",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "cancelable",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "composed",
converter: webidl.converters.boolean,
defaultValue: () => false
}
];
webidl.converters.MessageEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "data",
converter: webidl.converters.any,
defaultValue: () => null
},
{
key: "origin",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lastEventId",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "source",
converter: webidl.nullableConverter(webidl.converters.MessagePort),
defaultValue: () => null
},
{
key: "ports",
converter: webidl.converters["sequence"],
defaultValue: () => []
}
]);
webidl.converters.CloseEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "wasClean",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "code",
converter: webidl.converters["unsigned short"],
defaultValue: () => 0
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.ErrorEventInit = webidl.dictionaryConverter([
...eventInit,
{
key: "message",
converter: webidl.converters.DOMString,
defaultValue: () => ""
},
{
key: "filename",
converter: webidl.converters.USVString,
defaultValue: () => ""
},
{
key: "lineno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "colno",
converter: webidl.converters["unsigned long"],
defaultValue: () => 0
},
{
key: "error",
converter: webidl.converters.any
}
]);
module.exports = {
MessageEvent: MessageEvent2,
CloseEvent,
ErrorEvent,
createFastMessageEvent
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/constants.js
var require_constants6 = __commonJS((exports, module) => {
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
var staticPropertyDescriptors = {
enumerable: true,
writable: false,
configurable: false
};
var states = {
CONNECTING: 0,
OPEN: 1,
CLOSING: 2,
CLOSED: 3
};
var sentCloseFrameState = {
SENT: 1,
RECEIVED: 2
};
var opcodes = {
CONTINUATION: 0,
TEXT: 1,
BINARY: 2,
CLOSE: 8,
PING: 9,
PONG: 10
};
var maxUnsigned16Bit = 65535;
var parserStates = {
INFO: 0,
PAYLOADLENGTH_16: 2,
PAYLOADLENGTH_64: 3,
READ_DATA: 4
};
var emptyBuffer = Buffer.allocUnsafe(0);
var sendHints = {
text: 1,
typedArray: 2,
arrayBuffer: 3,
blob: 4
};
module.exports = {
uid,
sentCloseFrameState,
staticPropertyDescriptors,
states,
opcodes,
maxUnsigned16Bit,
parserStates,
emptyBuffer,
sendHints
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/util.js
var require_util5 = __commonJS((exports, module) => {
var { states, opcodes } = require_constants6();
var { isUtf8 } = __require("node:buffer");
var { removeHTTPWhitespace } = require_data_url();
var { collectASequenceOfCodePointsFast } = require_infra();
function isConnecting(readyState) {
return readyState === states.CONNECTING;
}
function isEstablished(readyState) {
return readyState === states.OPEN;
}
function isClosing(readyState) {
return readyState === states.CLOSING;
}
function isClosed(readyState) {
return readyState === states.CLOSED;
}
function fireEvent(e, target, eventFactory = (type, init) => new Event(type, init), eventInitDict = {}) {
const event = eventFactory(e, eventInitDict);
target.dispatchEvent(event);
}
function websocketMessageReceived(handler, type, data) {
handler.onMessage(type, data);
}
function toArrayBuffer(buffer) {
if (buffer.byteLength === buffer.buffer.byteLength) {
return buffer.buffer;
}
return new Uint8Array(buffer).buffer;
}
function isValidSubprotocol(protocol) {
if (protocol.length === 0) {
return false;
}
for (let i2 = 0;i2 < protocol.length; ++i2) {
const code = protocol.charCodeAt(i2);
if (code < 33 || code > 126 || code === 34 || code === 40 || code === 41 || code === 44 || code === 47 || code === 58 || code === 59 || code === 60 || code === 61 || code === 62 || code === 63 || code === 64 || code === 91 || code === 92 || code === 93 || code === 123 || code === 125) {
return false;
}
}
return true;
}
function isValidStatusCode(code) {
if (code >= 1000 && code < 1015) {
return code !== 1004 && code !== 1005 && code !== 1006;
}
return code >= 3000 && code <= 4999;
}
function isControlFrame(opcode) {
return opcode === opcodes.CLOSE || opcode === opcodes.PING || opcode === opcodes.PONG;
}
function isContinuationFrame(opcode) {
return opcode === opcodes.CONTINUATION;
}
function isTextBinaryFrame(opcode) {
return opcode === opcodes.TEXT || opcode === opcodes.BINARY;
}
function isValidOpcode(opcode) {
return isTextBinaryFrame(opcode) || isContinuationFrame(opcode) || isControlFrame(opcode);
}
function parseExtensions(extensions) {
const position = { position: 0 };
const extensionList = new Map;
while (position.position < extensions.length) {
const pair = collectASequenceOfCodePointsFast(";", extensions, position);
const [name, value = ""] = pair.split("=", 2);
extensionList.set(removeHTTPWhitespace(name, true, false), removeHTTPWhitespace(value, false, true));
position.position++;
}
return extensionList;
}
function isValidClientWindowBits(value) {
if (value.length === 0) {
return false;
}
for (let i2 = 0;i2 < value.length; i2++) {
const byte = value.charCodeAt(i2);
if (byte < 48 || byte > 57) {
return false;
}
}
const num = Number.parseInt(value, 10);
return num >= 8 && num <= 15;
}
function getURLRecord(url3, baseURL) {
let urlRecord;
try {
urlRecord = new URL(url3, baseURL);
} catch (e) {
throw new DOMException(e, "SyntaxError");
}
if (urlRecord.protocol === "http:") {
urlRecord.protocol = "ws:";
} else if (urlRecord.protocol === "https:") {
urlRecord.protocol = "wss:";
}
if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {
throw new DOMException("expected a ws: or wss: url", "SyntaxError");
}
if (urlRecord.hash.length || urlRecord.href.endsWith("#")) {
throw new DOMException("hash", "SyntaxError");
}
return urlRecord;
}
function validateCloseCodeAndReason(code, reason) {
if (code !== null) {
if (code !== 1000 && (code < 3000 || code > 4999)) {
throw new DOMException("invalid code", "InvalidAccessError");
}
}
if (reason !== null) {
const reasonBytesLength = Buffer.byteLength(reason);
if (reasonBytesLength > 123) {
throw new DOMException(`Reason must be less than 123 bytes; received ${reasonBytesLength}`, "SyntaxError");
}
}
}
var utf8Decode = (() => {
if (typeof process.versions.icu === "string") {
const fatalDecoder = new TextDecoder("utf-8", { fatal: true });
return fatalDecoder.decode.bind(fatalDecoder);
}
return function(buffer) {
if (isUtf8(buffer)) {
return buffer.toString("utf-8");
}
throw new TypeError("Invalid utf-8 received.");
};
})();
module.exports = {
isConnecting,
isEstablished,
isClosing,
isClosed,
fireEvent,
isValidSubprotocol,
isValidStatusCode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isContinuationFrame,
isTextBinaryFrame,
isValidOpcode,
parseExtensions,
isValidClientWindowBits,
toArrayBuffer,
getURLRecord,
validateCloseCodeAndReason
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/frame.js
var require_frame = __commonJS((exports, module) => {
var { runtimeFeatures } = require_runtime_features();
var { maxUnsigned16Bit, opcodes } = require_constants6();
var BUFFER_SIZE = 8 * 1024;
var buffer = null;
var bufIdx = BUFFER_SIZE;
var randomFillSync = runtimeFeatures.has("crypto") ? __require("node:crypto").randomFillSync : function randomFillSync2(buffer2, _offset, _size2) {
for (let i2 = 0;i2 < buffer2.length; ++i2) {
buffer2[i2] = Math.random() * 255 | 0;
}
return buffer2;
};
function generateMask() {
if (bufIdx === BUFFER_SIZE) {
bufIdx = 0;
randomFillSync(buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE);
}
return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]];
}
class WebsocketFrameSend {
constructor(data) {
this.frameData = data;
}
createFrame(opcode) {
const frameData = this.frameData;
const maskKey = generateMask();
const bodyLength = frameData?.byteLength ?? 0;
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const buffer2 = Buffer.allocUnsafe(bodyLength + offset);
buffer2[0] = buffer2[1] = 0;
buffer2[0] |= 128;
buffer2[0] = (buffer2[0] & 240) + opcode;
/*! ws. MIT License. Einar Otto Stangvik */
buffer2[offset - 4] = maskKey[0];
buffer2[offset - 3] = maskKey[1];
buffer2[offset - 2] = maskKey[2];
buffer2[offset - 1] = maskKey[3];
buffer2[1] = payloadLength;
if (payloadLength === 126) {
buffer2.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
buffer2[2] = buffer2[3] = 0;
buffer2.writeUIntBE(bodyLength, 4, 6);
}
buffer2[1] |= 128;
for (let i2 = 0;i2 < bodyLength; ++i2) {
buffer2[offset + i2] = frameData[i2] ^ maskKey[i2 & 3];
}
return buffer2;
}
static createFastTextFrame(buffer2) {
const maskKey = generateMask();
const bodyLength = buffer2.length;
for (let i2 = 0;i2 < bodyLength; ++i2) {
buffer2[i2] ^= maskKey[i2 & 3];
}
let payloadLength = bodyLength;
let offset = 6;
if (bodyLength > maxUnsigned16Bit) {
offset += 8;
payloadLength = 127;
} else if (bodyLength > 125) {
offset += 2;
payloadLength = 126;
}
const head = Buffer.allocUnsafeSlow(offset);
head[0] = 128 | opcodes.TEXT;
head[1] = payloadLength | 128;
head[offset - 4] = maskKey[0];
head[offset - 3] = maskKey[1];
head[offset - 2] = maskKey[2];
head[offset - 1] = maskKey[3];
if (payloadLength === 126) {
head.writeUInt16BE(bodyLength, 2);
} else if (payloadLength === 127) {
head[2] = head[3] = 0;
head.writeUIntBE(bodyLength, 4, 6);
}
return [head, buffer2];
}
}
module.exports = {
WebsocketFrameSend,
generateMask
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/connection.js
var require_connection = __commonJS((exports, module) => {
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants6();
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util5();
var { makeRequest } = require_request2();
var { fetching } = require_fetch();
var { Headers: Headers2, getHeadersList } = require_headers();
var { getDecodeSplit } = require_util2();
var { WebsocketFrameSend } = require_frame();
var assert3 = __require("node:assert");
var { runtimeFeatures } = require_runtime_features();
var crypto3 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null;
var warningEmitted = false;
function establishWebSocketConnection(url3, protocols, client, handler, options) {
const requestURL = url3;
requestURL.protocol = url3.protocol === "ws:" ? "http:" : "https:";
const request = makeRequest({
urlList: [requestURL],
client,
serviceWorkers: "none",
referrer: "no-referrer",
mode: "websocket",
credentials: "include",
cache: "no-store",
redirect: "error",
useURLCredentials: true
});
if (options.headers) {
const headersList = getHeadersList(new Headers2(options.headers));
request.headersList = headersList;
}
const keyValue = crypto3.randomBytes(16).toString("base64");
request.headersList.append("sec-websocket-key", keyValue, true);
request.headersList.append("sec-websocket-version", "13", true);
for (const protocol of protocols) {
request.headersList.append("sec-websocket-protocol", protocol, true);
}
const permessageDeflate = "permessage-deflate; client_max_window_bits";
request.headersList.append("sec-websocket-extensions", permessageDeflate, true);
const controller = fetching({
request,
useParallelQueue: true,
dispatcher: options.dispatcher,
processResponse(response) {
if (response.type === "error" || response.status !== 101) {
if (response.socket?.session == null) {
failWebsocketConnection(handler, 1002, "Received network error or non-101 status code.", response.error);
return;
}
if (response.status !== 200) {
failWebsocketConnection(handler, 1002, "Received network error or non-200 status code.", response.error);
return;
}
}
if (warningEmitted === false && response.socket?.session != null) {
process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.", "ExperimentalWarning");
warningEmitted = true;
}
if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {
failWebsocketConnection(handler, 1002, "Server did not respond with sent protocols.");
return;
}
if (response.socket.session == null && response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") {
failWebsocketConnection(handler, 1002, 'Server did not set Upgrade header to "websocket".');
return;
}
if (response.socket.session == null && response.headersList.get("Connection")?.toLowerCase() !== "upgrade") {
failWebsocketConnection(handler, 1002, 'Server did not set Connection header to "upgrade".');
return;
}
const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");
const digest = crypto3.hash("sha1", keyValue + uid, "base64");
if (secWSAccept !== digest) {
failWebsocketConnection(handler, 1002, "Incorrect hash received in Sec-WebSocket-Accept header.");
return;
}
const secExtension = response.headersList.get("Sec-WebSocket-Extensions");
let extensions;
if (secExtension !== null) {
extensions = parseExtensions(secExtension);
if (!extensions.has("permessage-deflate")) {
failWebsocketConnection(handler, 1002, "Sec-WebSocket-Extensions header does not match.");
return;
}
}
const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
if (secProtocol !== null) {
const requestProtocols = getDecodeSplit("sec-websocket-protocol", request.headersList);
if (!requestProtocols.includes(secProtocol)) {
failWebsocketConnection(handler, 1002, "Protocol was not set in the opening handshake.");
return;
}
}
response.socket.on("data", handler.onSocketData);
response.socket.on("close", handler.onSocketClose);
response.socket.on("error", handler.onSocketError);
handler.wasEverConnected = true;
handler.onConnectionEstablished(response, extensions);
}
});
return controller;
}
function closeWebSocketConnection(object2, code, reason, validate2 = false) {
code ??= null;
reason ??= "";
if (validate2)
validateCloseCodeAndReason(code, reason);
if (isClosed(object2.readyState) || isClosing(object2.readyState)) {} else if (!isEstablished(object2.readyState)) {
failWebsocketConnection(object2);
object2.readyState = states.CLOSING;
} else if (!object2.closeState.has(sentCloseFrameState.SENT) && !object2.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend;
if (reason.length !== 0 && code === null) {
code = 1000;
}
assert3(code === null || Number.isInteger(code));
if (code === null && reason.length === 0) {
frame.frameData = emptyBuffer;
} else if (code !== null && reason === null) {
frame.frameData = Buffer.allocUnsafe(2);
frame.frameData.writeUInt16BE(code, 0);
} else if (code !== null && reason !== null) {
frame.frameData = Buffer.allocUnsafe(2 + Buffer.byteLength(reason));
frame.frameData.writeUInt16BE(code, 0);
frame.frameData.write(reason, 2, "utf-8");
} else {
frame.frameData = emptyBuffer;
}
object2.socket.write(frame.createFrame(opcodes.CLOSE));
object2.closeState.add(sentCloseFrameState.SENT);
object2.readyState = states.CLOSING;
} else {
object2.readyState = states.CLOSING;
}
}
function failWebsocketConnection(handler, code, reason, cause) {
if (isEstablished(handler.readyState)) {
closeWebSocketConnection(handler, code, reason, false);
}
handler.controller.abort();
if (isConnecting(handler.readyState)) {
handler.onSocketClose();
} else if (handler.socket?.destroyed === false) {
handler.socket.destroy();
}
}
module.exports = {
establishWebSocketConnection,
failWebsocketConnection,
closeWebSocketConnection
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/permessage-deflate.js
var require_permessage_deflate = __commonJS((exports, module) => {
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
var { isValidClientWindowBits } = require_util5();
var { MessageSizeExceededError } = require_errors();
var tail = Buffer.from([0, 0, 255, 255]);
var kBuffer = Symbol("kBuffer");
var kLength = Symbol("kLength");
var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
class PerMessageDeflate {
#inflate;
#options = {};
#aborted = false;
#currentCallback = null;
constructor(extensions) {
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
}
decompress(chunk, fin, callback) {
if (this.#aborted) {
callback(new MessageSizeExceededError);
return;
}
if (!this.#inflate) {
let windowBits = Z_DEFAULT_WINDOWBITS;
if (this.#options.serverMaxWindowBits) {
if (!isValidClientWindowBits(this.#options.serverMaxWindowBits)) {
callback(new Error("Invalid server_max_window_bits"));
return;
}
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
}
try {
this.#inflate = createInflateRaw({ windowBits });
} catch (err) {
callback(err);
return;
}
this.#inflate[kBuffer] = [];
this.#inflate[kLength] = 0;
this.#inflate.on("data", (data) => {
if (this.#aborted) {
return;
}
this.#inflate[kLength] += data.length;
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
this.#aborted = true;
this.#inflate.removeAllListeners();
this.#inflate.destroy();
this.#inflate = null;
if (this.#currentCallback) {
const cb = this.#currentCallback;
this.#currentCallback = null;
cb(new MessageSizeExceededError);
}
return;
}
this.#inflate[kBuffer].push(data);
});
this.#inflate.on("error", (err) => {
this.#inflate = null;
callback(err);
});
}
this.#currentCallback = callback;
this.#inflate.write(chunk);
if (fin) {
this.#inflate.write(tail);
}
this.#inflate.flush(() => {
if (this.#aborted || !this.#inflate) {
return;
}
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
this.#inflate[kBuffer].length = 0;
this.#inflate[kLength] = 0;
this.#currentCallback = null;
callback(null, full);
});
}
}
module.exports = { PerMessageDeflate };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/receiver.js
var require_receiver = __commonJS((exports, module) => {
var { Writable: Writable4 } = __require("node:stream");
var assert3 = __require("node:assert");
var { parserStates, opcodes, states, emptyBuffer, sentCloseFrameState } = require_constants6();
var {
isValidStatusCode,
isValidOpcode,
websocketMessageReceived,
utf8Decode,
isControlFrame,
isTextBinaryFrame,
isContinuationFrame
} = require_util5();
var { failWebsocketConnection } = require_connection();
var { WebsocketFrameSend } = require_frame();
var { PerMessageDeflate } = require_permessage_deflate();
var { MessageSizeExceededError } = require_errors();
class ByteParser extends Writable4 {
#buffers = [];
#fragmentsBytes = 0;
#byteOffset = 0;
#loop = false;
#state = parserStates.INFO;
#info = {};
#fragments = [];
#extensions;
#handler;
constructor(handler, extensions) {
super();
this.#handler = handler;
this.#extensions = extensions == null ? new Map : extensions;
if (this.#extensions.has("permessage-deflate")) {
this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
}
}
_write(chunk, _2, callback) {
this.#buffers.push(chunk);
this.#byteOffset += chunk.length;
this.#loop = true;
this.run(callback);
}
run(callback) {
while (this.#loop) {
if (this.#state === parserStates.INFO) {
if (this.#byteOffset < 2) {
return callback();
}
const buffer = this.consume(2);
const fin = (buffer[0] & 128) !== 0;
const opcode = buffer[0] & 15;
const masked = (buffer[1] & 128) === 128;
const fragmented = !fin && opcode !== opcodes.CONTINUATION;
const payloadLength = buffer[1] & 127;
const rsv1 = buffer[0] & 64;
const rsv2 = buffer[0] & 32;
const rsv3 = buffer[0] & 16;
if (!isValidOpcode(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid opcode received");
return callback();
}
if (masked) {
failWebsocketConnection(this.#handler, 1002, "Frame cannot be masked");
return callback();
}
if (rsv1 !== 0 && !this.#extensions.has("permessage-deflate")) {
failWebsocketConnection(this.#handler, 1002, "Expected RSV1 to be clear.");
return;
}
if (rsv2 !== 0 || rsv3 !== 0) {
failWebsocketConnection(this.#handler, 1002, "RSV1, RSV2, RSV3 must be clear");
return;
}
if (fragmented && !isTextBinaryFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Invalid frame type was fragmented.");
return;
}
if (isTextBinaryFrame(opcode) && this.#fragments.length > 0) {
failWebsocketConnection(this.#handler, 1002, "Expected continuation frame");
return;
}
if (this.#info.fragmented && fragmented) {
failWebsocketConnection(this.#handler, 1002, "Fragmented frame exceeded 125 bytes.");
return;
}
if ((payloadLength > 125 || fragmented) && isControlFrame(opcode)) {
failWebsocketConnection(this.#handler, 1002, "Control frame either too large or fragmented");
return;
}
if (isContinuationFrame(opcode) && this.#fragments.length === 0 && !this.#info.compressed) {
failWebsocketConnection(this.#handler, 1002, "Unexpected continuation frame");
return;
}
if (payloadLength <= 125) {
this.#info.payloadLength = payloadLength;
this.#state = parserStates.READ_DATA;
} else if (payloadLength === 126) {
this.#state = parserStates.PAYLOADLENGTH_16;
} else if (payloadLength === 127) {
this.#state = parserStates.PAYLOADLENGTH_64;
}
if (isTextBinaryFrame(opcode)) {
this.#info.binaryType = opcode;
this.#info.compressed = rsv1 !== 0;
}
this.#info.opcode = opcode;
this.#info.masked = masked;
this.#info.fin = fin;
this.#info.fragmented = fragmented;
} else if (this.#state === parserStates.PAYLOADLENGTH_16) {
if (this.#byteOffset < 2) {
return callback();
}
const buffer = this.consume(2);
this.#info.payloadLength = buffer.readUInt16BE(0);
this.#state = parserStates.READ_DATA;
} else if (this.#state === parserStates.PAYLOADLENGTH_64) {
if (this.#byteOffset < 8) {
return callback();
}
const buffer = this.consume(8);
const upper = buffer.readUInt32BE(0);
const lower = buffer.readUInt32BE(4);
if (upper !== 0 || lower > 2 ** 31 - 1) {
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
return;
}
this.#info.payloadLength = lower;
this.#state = parserStates.READ_DATA;
} else if (this.#state === parserStates.READ_DATA) {
if (this.#byteOffset < this.#info.payloadLength) {
return callback();
}
const body = this.consume(this.#info.payloadLength);
if (isControlFrame(this.#info.opcode)) {
this.#loop = this.parseControlFrame(body);
this.#state = parserStates.INFO;
} else {
if (!this.#info.compressed) {
this.writeFragments(body);
if (!this.#info.fragmented && this.#info.fin) {
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
}
this.#state = parserStates.INFO;
} else {
this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error49, data) => {
if (error49) {
const code = error49 instanceof MessageSizeExceededError ? 1009 : 1007;
failWebsocketConnection(this.#handler, code, error49.message);
return;
}
this.writeFragments(data);
if (!this.#info.fin) {
this.#state = parserStates.INFO;
this.#loop = true;
this.run(callback);
return;
}
websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments());
this.#loop = true;
this.#state = parserStates.INFO;
this.run(callback);
});
this.#loop = false;
break;
}
}
}
}
}
consume(n2) {
if (n2 > this.#byteOffset) {
throw new Error("Called consume() before buffers satiated.");
} else if (n2 === 0) {
return emptyBuffer;
}
this.#byteOffset -= n2;
const first = this.#buffers[0];
if (first.length > n2) {
this.#buffers[0] = first.subarray(n2, first.length);
return first.subarray(0, n2);
} else if (first.length === n2) {
return this.#buffers.shift();
} else {
let offset = 0;
const buffer = Buffer.allocUnsafeSlow(n2);
while (offset !== n2) {
const next = this.#buffers[0];
const length = next.length;
if (length + offset === n2) {
buffer.set(this.#buffers.shift(), offset);
break;
} else if (length + offset > n2) {
buffer.set(next.subarray(0, n2 - offset), offset);
this.#buffers[0] = next.subarray(n2 - offset);
break;
} else {
buffer.set(this.#buffers.shift(), offset);
offset += length;
}
}
return buffer;
}
}
writeFragments(fragment) {
this.#fragmentsBytes += fragment.length;
this.#fragments.push(fragment);
}
consumeFragments() {
const fragments = this.#fragments;
if (fragments.length === 1) {
this.#fragmentsBytes = 0;
return fragments.shift();
}
let offset = 0;
const output = Buffer.allocUnsafeSlow(this.#fragmentsBytes);
for (let i2 = 0;i2 < fragments.length; ++i2) {
const buffer = fragments[i2];
output.set(buffer, offset);
offset += buffer.length;
}
this.#fragments = [];
this.#fragmentsBytes = 0;
return output;
}
parseCloseBody(data) {
assert3(data.length !== 1);
let code;
if (data.length >= 2) {
code = data.readUInt16BE(0);
}
if (code !== undefined && !isValidStatusCode(code)) {
return { code: 1002, reason: "Invalid status code", error: true };
}
let reason = data.subarray(2);
if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {
reason = reason.subarray(3);
}
try {
reason = utf8Decode(reason);
} catch {
return { code: 1007, reason: "Invalid UTF-8", error: true };
}
return { code, reason, error: false };
}
parseControlFrame(body) {
const { opcode, payloadLength } = this.#info;
if (opcode === opcodes.CLOSE) {
if (payloadLength === 1) {
failWebsocketConnection(this.#handler, 1002, "Received close frame with a 1-byte body.");
return false;
}
this.#info.closeInfo = this.parseCloseBody(body);
if (this.#info.closeInfo.error) {
const { code, reason } = this.#info.closeInfo;
failWebsocketConnection(this.#handler, code, reason);
return false;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
let body2 = emptyBuffer;
if (this.#info.closeInfo.code) {
body2 = Buffer.allocUnsafe(2);
body2.writeUInt16BE(this.#info.closeInfo.code, 0);
}
const closeFrame = new WebsocketFrameSend(body2);
this.#handler.socket.write(closeFrame.createFrame(opcodes.CLOSE));
this.#handler.closeState.add(sentCloseFrameState.SENT);
}
this.#handler.readyState = states.CLOSING;
this.#handler.closeState.add(sentCloseFrameState.RECEIVED);
return false;
} else if (opcode === opcodes.PING) {
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(body);
this.#handler.socket.write(frame.createFrame(opcodes.PONG));
this.#handler.onPing(body);
}
} else if (opcode === opcodes.PONG) {
this.#handler.onPong(body);
}
return true;
}
get closingInfo() {
return this.#info.closeInfo;
}
}
module.exports = {
ByteParser
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/sender.js
var require_sender = __commonJS((exports, module) => {
var { WebsocketFrameSend } = require_frame();
var { opcodes, sendHints } = require_constants6();
var FixedQueue = require_fixed_queue();
class SendQueue {
#queue = new FixedQueue;
#running = false;
#socket;
constructor(socket) {
this.#socket = socket;
}
add(item, cb, hint) {
if (hint !== sendHints.blob) {
if (!this.#running) {
if (hint === sendHints.text) {
const { 0: head, 1: body } = WebsocketFrameSend.createFastTextFrame(item);
this.#socket.cork();
this.#socket.write(head);
this.#socket.write(body, cb);
this.#socket.uncork();
} else {
this.#socket.write(createFrame(item, hint), cb);
}
} else {
const node2 = {
promise: null,
callback: cb,
frame: createFrame(item, hint)
};
this.#queue.push(node2);
}
return;
}
const node = {
promise: item.arrayBuffer().then((ab) => {
node.promise = null;
node.frame = createFrame(ab, hint);
}),
callback: cb,
frame: null
};
this.#queue.push(node);
if (!this.#running) {
this.#run();
}
}
async#run() {
this.#running = true;
const queue = this.#queue;
while (!queue.isEmpty()) {
const node = queue.shift();
if (node.promise !== null) {
await node.promise;
}
this.#socket.write(node.frame, node.callback);
node.callback = node.frame = null;
}
this.#running = false;
}
}
function createFrame(data, hint) {
return new WebsocketFrameSend(toBuffer(data, hint)).createFrame(hint === sendHints.text ? opcodes.TEXT : opcodes.BINARY);
}
function toBuffer(data, hint) {
switch (hint) {
case sendHints.text:
case sendHints.typedArray:
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
case sendHints.arrayBuffer:
case sendHints.blob:
return new Uint8Array(data);
}
}
module.exports = { SendQueue };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/websocket.js
var require_websocket = __commonJS((exports, module) => {
var { isArrayBuffer: isArrayBuffer3 } = __require("node:util/types");
var { webidl } = require_webidl();
var { URLSerializer } = require_data_url();
var { environmentSettingsObject } = require_util2();
var { staticPropertyDescriptors, states, sentCloseFrameState, sendHints, opcodes } = require_constants6();
var {
isConnecting,
isEstablished,
isClosing,
isClosed,
isValidSubprotocol,
fireEvent,
utf8Decode,
toArrayBuffer,
getURLRecord
} = require_util5();
var { establishWebSocketConnection, closeWebSocketConnection, failWebsocketConnection } = require_connection();
var { ByteParser } = require_receiver();
var { kEnumerableProperty } = require_util();
var { getGlobalDispatcher } = require_global2();
var { ErrorEvent, CloseEvent, createFastMessageEvent } = require_events();
var { SendQueue } = require_sender();
var { WebsocketFrameSend } = require_frame();
var { channels } = require_diagnostics();
function getSocketAddress(socket) {
if (typeof socket?.address === "function") {
return socket.address();
}
if (typeof socket?.session?.socket?.address === "function") {
return socket.session.socket.address();
}
return null;
}
class WebSocket2 extends EventTarget {
#events = {
open: null,
error: null,
close: null,
message: null
};
#bufferedAmount = 0;
#protocol = "";
#extensions = "";
#sendQueue;
#handler = {
onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err) => failWebsocketConnection(this.#handler, null, err.message),
onParserDrain: () => this.#onParserDrain(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: (body) => {
if (channels.ping.hasSubscribers) {
channels.ping.publish({
payload: body,
websocket: this
});
}
},
onPong: (body) => {
if (channels.pong.hasSubscribers) {
channels.pong.publish({
payload: body,
websocket: this
});
}
},
readyState: states.CONNECTING,
socket: null,
closeState: new Set,
controller: null,
wasEverConnected: false
};
#url;
#binaryType;
#parser;
constructor(url3, protocols = []) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "WebSocket constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols, prefix, "options");
url3 = webidl.converters.USVString(url3);
protocols = options.protocols;
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url3, baseURL);
if (typeof protocols === "string") {
protocols = [protocols];
}
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = new URL(urlRecord.href);
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(urlRecord, protocols, client, this.#handler, options);
this.#handler.readyState = WebSocket2.CONNECTING;
this.#binaryType = "blob";
}
close(code = undefined, reason = undefined) {
webidl.brandCheck(this, WebSocket2);
const prefix = "WebSocket.close";
if (code !== undefined) {
code = webidl.converters["unsigned short"](code, prefix, "code", webidl.attributes.Clamp);
}
if (reason !== undefined) {
reason = webidl.converters.USVString(reason);
}
code ??= null;
reason ??= "";
closeWebSocketConnection(this.#handler, code, reason, true);
}
send(data) {
webidl.brandCheck(this, WebSocket2);
const prefix = "WebSocket.send";
webidl.argumentLengthCheck(arguments, 1, prefix);
data = webidl.converters.WebSocketSendData(data, prefix, "data");
if (isConnecting(this.#handler.readyState)) {
throw new DOMException("Sent before connected.", "InvalidStateError");
}
if (!isEstablished(this.#handler.readyState) || isClosing(this.#handler.readyState)) {
return;
}
if (typeof data === "string") {
const buffer = Buffer.from(data);
this.#bufferedAmount += buffer.byteLength;
this.#sendQueue.add(buffer, () => {
this.#bufferedAmount -= buffer.byteLength;
}, sendHints.text);
} else if (isArrayBuffer3(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.arrayBuffer);
} else if (ArrayBuffer.isView(data)) {
this.#bufferedAmount += data.byteLength;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.byteLength;
}, sendHints.typedArray);
} else if (webidl.is.Blob(data)) {
this.#bufferedAmount += data.size;
this.#sendQueue.add(data, () => {
this.#bufferedAmount -= data.size;
}, sendHints.blob);
}
}
get readyState() {
webidl.brandCheck(this, WebSocket2);
return this.#handler.readyState;
}
get bufferedAmount() {
webidl.brandCheck(this, WebSocket2);
return this.#bufferedAmount;
}
get url() {
webidl.brandCheck(this, WebSocket2);
return URLSerializer(this.#url);
}
get extensions() {
webidl.brandCheck(this, WebSocket2);
return this.#extensions;
}
get protocol() {
webidl.brandCheck(this, WebSocket2);
return this.#protocol;
}
get onopen() {
webidl.brandCheck(this, WebSocket2);
return this.#events.open;
}
set onopen(fn) {
webidl.brandCheck(this, WebSocket2);
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onerror() {
webidl.brandCheck(this, WebSocket2);
return this.#events.error;
}
set onerror(fn) {
webidl.brandCheck(this, WebSocket2);
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
get onclose() {
webidl.brandCheck(this, WebSocket2);
return this.#events.close;
}
set onclose(fn) {
webidl.brandCheck(this, WebSocket2);
if (this.#events.close) {
this.removeEventListener("close", this.#events.close);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("close", listener);
this.#events.close = fn;
} else {
this.#events.close = null;
}
}
get onmessage() {
webidl.brandCheck(this, WebSocket2);
return this.#events.message;
}
set onmessage(fn) {
webidl.brandCheck(this, WebSocket2);
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get binaryType() {
webidl.brandCheck(this, WebSocket2);
return this.#binaryType;
}
set binaryType(type) {
webidl.brandCheck(this, WebSocket2);
if (type !== "blob" && type !== "arraybuffer") {
this.#binaryType = "blob";
} else {
this.#binaryType = type;
}
}
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const parser = new ByteParser(this.#handler, parsedExtensions);
parser.on("drain", () => this.#handler.onParserDrain());
parser.on("error", (err) => this.#handler.onParserError(err));
this.#parser = parser;
this.#sendQueue = new SendQueue(response.socket);
this.#handler.readyState = states.OPEN;
const extensions = response.headersList.get("sec-websocket-extensions");
if (extensions !== null) {
this.#extensions = extensions;
}
const protocol = response.headersList.get("sec-websocket-protocol");
if (protocol !== null) {
this.#protocol = protocol;
}
fireEvent("open", this);
if (channels.open.hasSubscribers) {
const headers = response.headersList.entries;
channels.open.publish({
address: getSocketAddress(response.socket),
protocol: this.#protocol,
extensions: this.#extensions,
websocket: this,
handshakeResponse: {
status: response.status,
statusText: response.statusText,
headers
}
});
}
}
#onMessage(type, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let dataForEvent;
if (type === opcodes.TEXT) {
try {
dataForEvent = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, 1007, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type === opcodes.BINARY) {
if (this.#binaryType === "blob") {
dataForEvent = new Blob([data]);
} else {
dataForEvent = toArrayBuffer(data);
}
}
fireEvent("message", this, createFastMessageEvent, {
origin: this.#url.origin,
data: dataForEvent
});
}
#onParserDrain() {
this.#handler.socket.resume();
}
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
let code = 1005;
let reason = "";
const result = this.#parser?.closingInfo;
if (result && !result.error) {
code = result.code ?? 1005;
reason = result.reason;
}
this.#handler.readyState = states.CLOSED;
if (!this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
fireEvent("error", this, (type, init) => new ErrorEvent(type, init), {
error: new TypeError(reason)
});
}
fireEvent("close", this, (type, init) => new CloseEvent(type, init), {
wasClean,
code,
reason
});
if (channels.close.hasSubscribers) {
channels.close.publish({
websocket: this,
code,
reason
});
}
}
static ping(ws, buffer) {
if (Buffer.isBuffer(buffer)) {
if (buffer.length > 125) {
throw new TypeError("A PING frame cannot have a body larger than 125 bytes.");
}
} else if (buffer !== undefined) {
throw new TypeError("Expected buffer payload");
}
const readyState = ws.#handler.readyState;
if (isEstablished(readyState) && !isClosing(readyState) && !isClosed(readyState)) {
const frame = new WebsocketFrameSend(buffer);
ws.#handler.socket.write(frame.createFrame(opcodes.PING));
}
}
}
var { ping } = WebSocket2;
Reflect.deleteProperty(WebSocket2, "ping");
WebSocket2.CONNECTING = WebSocket2.prototype.CONNECTING = states.CONNECTING;
WebSocket2.OPEN = WebSocket2.prototype.OPEN = states.OPEN;
WebSocket2.CLOSING = WebSocket2.prototype.CLOSING = states.CLOSING;
WebSocket2.CLOSED = WebSocket2.prototype.CLOSED = states.CLOSED;
Object.defineProperties(WebSocket2.prototype, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors,
url: kEnumerableProperty,
readyState: kEnumerableProperty,
bufferedAmount: kEnumerableProperty,
onopen: kEnumerableProperty,
onerror: kEnumerableProperty,
onclose: kEnumerableProperty,
close: kEnumerableProperty,
onmessage: kEnumerableProperty,
binaryType: kEnumerableProperty,
send: kEnumerableProperty,
extensions: kEnumerableProperty,
protocol: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocket",
writable: false,
enumerable: false,
configurable: true
}
});
Object.defineProperties(WebSocket2, {
CONNECTING: staticPropertyDescriptors,
OPEN: staticPropertyDescriptors,
CLOSING: staticPropertyDescriptors,
CLOSED: staticPropertyDescriptors
});
webidl.converters["sequence"] = webidl.sequenceConverter(webidl.converters.DOMString);
webidl.converters["DOMString or sequence"] = function(V2, prefix, argument) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT && Symbol.iterator in V2) {
return webidl.converters["sequence"](V2);
}
return webidl.converters.DOMString(V2, prefix, argument);
};
webidl.converters.WebSocketInit = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.converters["DOMString or sequence"],
defaultValue: () => []
},
{
key: "dispatcher",
converter: webidl.converters.any,
defaultValue: () => getGlobalDispatcher()
},
{
key: "headers",
converter: webidl.nullableConverter(webidl.converters.HeadersInit)
}
]);
webidl.converters["DOMString or sequence or WebSocketInit"] = function(V2) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT && !(Symbol.iterator in V2)) {
return webidl.converters.WebSocketInit(V2);
}
return { protocols: webidl.converters["DOMString or sequence"](V2) };
};
webidl.converters.WebSocketSendData = function(V2) {
if (webidl.util.Type(V2) === webidl.util.Types.OBJECT) {
if (webidl.is.Blob(V2)) {
return V2;
}
if (webidl.is.BufferSource(V2)) {
return V2;
}
}
return webidl.converters.USVString(V2);
};
module.exports = {
WebSocket: WebSocket2,
ping
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/stream/websocketerror.js
var require_websocketerror = __commonJS((exports, module) => {
var { webidl } = require_webidl();
var { validateCloseCodeAndReason } = require_util5();
var { kConstruct } = require_symbols();
var { kEnumerableProperty } = require_util();
function createInheritableDOMException() {
class Test extends DOMException {
get reason() {
return "";
}
}
if (new Test().reason !== undefined) {
return DOMException;
}
return new Proxy(DOMException, {
construct(target, args, newTarget) {
const instance = Reflect.construct(target, args, target);
Object.setPrototypeOf(instance, newTarget.prototype);
return instance;
}
});
}
class WebSocketError extends createInheritableDOMException() {
#closeCode;
#reason;
constructor(message = "", init = undefined) {
message = webidl.converters.DOMString(message, "WebSocketError", "message");
super(message, "WebSocketError");
if (init === kConstruct) {
return;
} else if (init !== null) {
init = webidl.converters.WebSocketCloseInfo(init);
}
let code = init.closeCode ?? null;
const reason = init.reason ?? "";
validateCloseCodeAndReason(code, reason);
if (reason.length !== 0 && code === null) {
code = 1000;
}
this.#closeCode = code;
this.#reason = reason;
}
get closeCode() {
return this.#closeCode;
}
get reason() {
return this.#reason;
}
static createUnvalidatedWebSocketError(message, code, reason) {
const error49 = new WebSocketError(message, kConstruct);
error49.#closeCode = code;
error49.#reason = reason;
return error49;
}
}
var { createUnvalidatedWebSocketError } = WebSocketError;
delete WebSocketError.createUnvalidatedWebSocketError;
Object.defineProperties(WebSocketError.prototype, {
closeCode: kEnumerableProperty,
reason: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketError",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.is.WebSocketError = webidl.util.MakeTypeAssertion(WebSocketError);
module.exports = { WebSocketError, createUnvalidatedWebSocketError };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/websocket/stream/websocketstream.js
var require_websocketstream = __commonJS((exports, module) => {
var { createDeferredPromise } = require_promise();
var { environmentSettingsObject } = require_util2();
var { states, opcodes, sentCloseFrameState } = require_constants6();
var { webidl } = require_webidl();
var { getURLRecord, isValidSubprotocol, isEstablished, utf8Decode } = require_util5();
var { establishWebSocketConnection, failWebsocketConnection, closeWebSocketConnection } = require_connection();
var { channels } = require_diagnostics();
var { WebsocketFrameSend } = require_frame();
var { ByteParser } = require_receiver();
var { WebSocketError, createUnvalidatedWebSocketError } = require_websocketerror();
var { kEnumerableProperty } = require_util();
var { utf8DecodeBytes } = require_encoding();
var emittedExperimentalWarning = false;
class WebSocketStream {
#url;
#openedPromise;
#closedPromise;
#readableStream;
#readableStreamController;
#writableStream;
#handshakeAborted = false;
#handler = {
onConnectionEstablished: (response, extensions) => this.#onConnectionEstablished(response, extensions),
onMessage: (opcode, data) => this.#onMessage(opcode, data),
onParserError: (err) => failWebsocketConnection(this.#handler, null, err.message),
onParserDrain: () => this.#handler.socket.resume(),
onSocketData: (chunk) => {
if (!this.#parser.write(chunk)) {
this.#handler.socket.pause();
}
},
onSocketError: (err) => {
this.#handler.readyState = states.CLOSING;
if (channels.socketError.hasSubscribers) {
channels.socketError.publish(err);
}
this.#handler.socket.destroy();
},
onSocketClose: () => this.#onSocketClose(),
onPing: () => {},
onPong: () => {},
readyState: states.CONNECTING,
socket: null,
closeState: new Set,
controller: null,
wasEverConnected: false
};
#parser;
constructor(url3, options = undefined) {
if (!emittedExperimentalWarning) {
process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.", {
code: "UNDICI-WSS"
});
emittedExperimentalWarning = true;
}
webidl.argumentLengthCheck(arguments, 1, "WebSocket");
url3 = webidl.converters.USVString(url3);
if (options !== null) {
options = webidl.converters.WebSocketStreamOptions(options);
}
const baseURL = environmentSettingsObject.settingsObject.baseUrl;
const urlRecord = getURLRecord(url3, baseURL);
const protocols = options.protocols;
if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {
throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");
}
this.#url = urlRecord.toString();
this.#openedPromise = createDeferredPromise();
this.#closedPromise = createDeferredPromise();
if (options.signal != null) {
const signal = options.signal;
if (signal.aborted) {
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
return;
}
signal.addEventListener("abort", () => {
if (!isEstablished(this.#handler.readyState)) {
failWebsocketConnection(this.#handler);
this.#handler.readyState = states.CLOSING;
this.#openedPromise.reject(signal.reason);
this.#closedPromise.reject(signal.reason);
this.#handshakeAborted = true;
}
}, { once: true });
}
const client = environmentSettingsObject.settingsObject;
this.#handler.controller = establishWebSocketConnection(urlRecord, protocols, client, this.#handler, options);
}
get url() {
return this.#url.toString();
}
get opened() {
return this.#openedPromise.promise;
}
get closed() {
return this.#closedPromise.promise;
}
close(closeInfo = undefined) {
if (closeInfo !== null) {
closeInfo = webidl.converters.WebSocketCloseInfo(closeInfo);
}
const code = closeInfo.closeCode ?? null;
const reason = closeInfo.reason;
closeWebSocketConnection(this.#handler, code, reason, true);
}
#write(chunk) {
chunk = webidl.converters.WebSocketStreamWrite(chunk);
const promise2 = createDeferredPromise();
let data = null;
let opcode = null;
if (webidl.is.BufferSource(chunk)) {
data = new Uint8Array(ArrayBuffer.isView(chunk) ? new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength) : chunk.slice());
opcode = opcodes.BINARY;
} else {
let string4;
try {
string4 = webidl.converters.DOMString(chunk);
} catch (e) {
promise2.reject(e);
return promise2.promise;
}
data = new TextEncoder().encode(string4);
opcode = opcodes.TEXT;
}
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
const frame = new WebsocketFrameSend(data);
this.#handler.socket.write(frame.createFrame(opcode), () => {
promise2.resolve(undefined);
});
}
return promise2.promise;
}
#onConnectionEstablished(response, parsedExtensions) {
this.#handler.socket = response.socket;
const parser = new ByteParser(this.#handler, parsedExtensions);
parser.on("drain", () => this.#handler.onParserDrain());
parser.on("error", (err) => this.#handler.onParserError(err));
this.#parser = parser;
this.#handler.readyState = states.OPEN;
const extensions = parsedExtensions ?? "";
const protocol = response.headersList.get("sec-websocket-protocol") ?? "";
const readable2 = new ReadableStream({
start: (controller) => {
this.#readableStreamController = controller;
},
pull(controller) {
let chunk;
while (controller.desiredSize > 0 && (chunk = response.socket.read()) !== null) {
controller.enqueue(chunk);
}
},
cancel: (reason) => this.#cancel(reason)
});
const writable2 = new WritableStream({
write: (chunk) => this.#write(chunk),
close: () => closeWebSocketConnection(this.#handler, null, null),
abort: (reason) => this.#closeUsingReason(reason)
});
this.#readableStream = readable2;
this.#writableStream = writable2;
this.#openedPromise.resolve({
extensions,
protocol,
readable: readable2,
writable: writable2
});
}
#onMessage(type, data) {
if (this.#handler.readyState !== states.OPEN) {
return;
}
let chunk;
if (type === opcodes.TEXT) {
try {
chunk = utf8Decode(data);
} catch {
failWebsocketConnection(this.#handler, "Received invalid UTF-8 in text frame.");
return;
}
} else if (type === opcodes.BINARY) {
chunk = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
}
this.#readableStreamController.enqueue(chunk);
}
#onSocketClose() {
const wasClean = this.#handler.closeState.has(sentCloseFrameState.SENT) && this.#handler.closeState.has(sentCloseFrameState.RECEIVED);
this.#handler.readyState = states.CLOSED;
if (this.#handshakeAborted) {
return;
}
if (!this.#handler.wasEverConnected) {
this.#openedPromise.reject(new WebSocketError("Socket never opened"));
}
const result = this.#parser?.closingInfo;
let code = result?.code ?? 1005;
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
code = 1006;
}
const reason = result?.reason == null ? "" : utf8DecodeBytes(Buffer.from(result.reason));
if (wasClean) {
this.#readableStreamController.close();
if (!this.#writableStream.locked) {
this.#writableStream.abort(new DOMException("A closed WebSocketStream cannot be written to", "InvalidStateError"));
}
this.#closedPromise.resolve({
closeCode: code,
reason
});
} else {
const error49 = createUnvalidatedWebSocketError("unclean close", code, reason);
this.#readableStreamController?.error(error49);
this.#writableStream?.abort(error49);
this.#closedPromise.reject(error49);
}
}
#closeUsingReason(reason) {
let code = null;
let reasonString = "";
if (webidl.is.WebSocketError(reason)) {
code = reason.closeCode;
reasonString = reason.reason;
}
closeWebSocketConnection(this.#handler, code, reasonString);
}
#cancel(reason) {
this.#closeUsingReason(reason);
}
}
Object.defineProperties(WebSocketStream.prototype, {
url: kEnumerableProperty,
opened: kEnumerableProperty,
closed: kEnumerableProperty,
close: kEnumerableProperty,
[Symbol.toStringTag]: {
value: "WebSocketStream",
writable: false,
enumerable: false,
configurable: true
}
});
webidl.converters.WebSocketStreamOptions = webidl.dictionaryConverter([
{
key: "protocols",
converter: webidl.sequenceConverter(webidl.converters.USVString),
defaultValue: () => []
},
{
key: "signal",
converter: webidl.nullableConverter(webidl.converters.AbortSignal),
defaultValue: () => null
}
]);
webidl.converters.WebSocketCloseInfo = webidl.dictionaryConverter([
{
key: "closeCode",
converter: (V2) => webidl.converters["unsigned short"](V2, webidl.attributes.EnforceRange)
},
{
key: "reason",
converter: webidl.converters.USVString,
defaultValue: () => ""
}
]);
webidl.converters.WebSocketStreamWrite = function(V2) {
if (typeof V2 === "string") {
return webidl.converters.USVString(V2);
}
return webidl.converters.BufferSource(V2);
};
module.exports = { WebSocketStream };
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/eventsource/util.js
var require_util6 = __commonJS((exports, module) => {
function isValidLastEventId(value) {
return value.indexOf("\x00") === -1;
}
function isASCIINumber(value) {
if (value.length === 0)
return false;
for (let i2 = 0;i2 < value.length; i2++) {
if (value.charCodeAt(i2) < 48 || value.charCodeAt(i2) > 57)
return false;
}
return true;
}
module.exports = {
isValidLastEventId,
isASCIINumber
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/eventsource/eventsource-stream.js
var require_eventsource_stream = __commonJS((exports, module) => {
var { Transform: Transform2 } = __require("node:stream");
var { isASCIINumber, isValidLastEventId } = require_util6();
var BOM = [239, 187, 191];
var LF3 = 10;
var CR2 = 13;
var COLON = 58;
var SPACE = 32;
class EventSourceStream extends Transform2 {
state;
checkBOM = true;
crlfCheck = false;
eventEndCheck = false;
buffer = null;
pos = 0;
event = {
data: undefined,
event: undefined,
id: undefined,
retry: undefined
};
constructor(options = {}) {
options.readableObjectMode = true;
super(options);
this.state = options.eventSourceSettings || {};
if (options.push) {
this.push = options.push;
}
}
_transform(chunk, _encoding, callback) {
if (chunk.length === 0) {
callback();
return;
}
if (this.buffer) {
this.buffer = Buffer.concat([this.buffer, chunk]);
} else {
this.buffer = chunk;
}
if (this.checkBOM) {
switch (this.buffer.length) {
case 1:
if (this.buffer[0] === BOM[0]) {
callback();
return;
}
this.checkBOM = false;
callback();
return;
case 2:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
callback();
return;
}
this.checkBOM = false;
break;
case 3:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = Buffer.alloc(0);
this.checkBOM = false;
callback();
return;
}
this.checkBOM = false;
break;
default:
if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
this.buffer = this.buffer.subarray(3);
}
this.checkBOM = false;
break;
}
}
while (this.pos < this.buffer.length) {
if (this.eventEndCheck) {
if (this.crlfCheck) {
if (this.buffer[this.pos] === LF3) {
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.crlfCheck = false;
continue;
}
this.crlfCheck = false;
}
if (this.buffer[this.pos] === LF3 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
if (this.event.data !== undefined || this.event.event || this.event.id !== undefined || this.event.retry) {
this.processEvent(this.event);
}
this.clearEvent();
continue;
}
this.eventEndCheck = false;
continue;
}
if (this.buffer[this.pos] === LF3 || this.buffer[this.pos] === CR2) {
if (this.buffer[this.pos] === CR2) {
this.crlfCheck = true;
}
this.parseLine(this.buffer.subarray(0, this.pos), this.event);
this.buffer = this.buffer.subarray(this.pos + 1);
this.pos = 0;
this.eventEndCheck = true;
continue;
}
this.pos++;
}
callback();
}
parseLine(line, event) {
if (line.length === 0) {
return;
}
const colonPosition = line.indexOf(COLON);
if (colonPosition === 0) {
return;
}
let field = "";
let value = "";
if (colonPosition !== -1) {
field = line.subarray(0, colonPosition).toString("utf8");
let valueStart = colonPosition + 1;
if (line[valueStart] === SPACE) {
++valueStart;
}
value = line.subarray(valueStart).toString("utf8");
} else {
field = line.toString("utf8");
value = "";
}
switch (field) {
case "data":
if (event[field] === undefined) {
event[field] = value;
} else {
event[field] += `
${value}`;
}
break;
case "retry":
if (isASCIINumber(value)) {
event[field] = value;
}
break;
case "id":
if (isValidLastEventId(value)) {
event[field] = value;
}
break;
case "event":
if (value.length > 0) {
event[field] = value;
}
break;
}
}
processEvent(event) {
if (event.retry && isASCIINumber(event.retry)) {
this.state.reconnectionTime = parseInt(event.retry, 10);
}
if (event.id !== undefined && isValidLastEventId(event.id)) {
this.state.lastEventId = event.id;
}
if (event.data !== undefined) {
this.push({
type: event.event || "message",
options: {
data: event.data,
lastEventId: this.state.lastEventId,
origin: this.state.origin
}
});
}
}
clearEvent() {
this.event = {
data: undefined,
event: undefined,
id: undefined,
retry: undefined
};
}
}
module.exports = {
EventSourceStream
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/lib/web/eventsource/eventsource.js
var require_eventsource = __commonJS((exports, module) => {
var { pipeline } = __require("node:stream");
var { fetching } = require_fetch();
var { makeRequest } = require_request2();
var { webidl } = require_webidl();
var { EventSourceStream } = require_eventsource_stream();
var { parseMIMEType } = require_data_url();
var { createFastMessageEvent } = require_events();
var { isNetworkError } = require_response();
var { kEnumerableProperty } = require_util();
var { environmentSettingsObject } = require_util2();
var experimentalWarned = false;
var defaultReconnectionTime = 3000;
var CONNECTING = 0;
var OPEN = 1;
var CLOSED = 2;
var ANONYMOUS = "anonymous";
var USE_CREDENTIALS = "use-credentials";
class EventSource extends EventTarget {
#events = {
open: null,
error: null,
message: null
};
#url;
#withCredentials = false;
#readyState = CONNECTING;
#request = null;
#controller = null;
#dispatcher;
#state;
constructor(url3, eventSourceInitDict = {}) {
super();
webidl.util.markAsUncloneable(this);
const prefix = "EventSource constructor";
webidl.argumentLengthCheck(arguments, 1, prefix);
if (!experimentalWarned) {
experimentalWarned = true;
process.emitWarning("EventSource is experimental, expect them to change at any time.", {
code: "UNDICI-ES"
});
}
url3 = webidl.converters.USVString(url3);
eventSourceInitDict = webidl.converters.EventSourceInitDict(eventSourceInitDict, prefix, "eventSourceInitDict");
this.#dispatcher = eventSourceInitDict.node.dispatcher || eventSourceInitDict.dispatcher;
this.#state = {
lastEventId: "",
reconnectionTime: eventSourceInitDict.node.reconnectionTime
};
const settings = environmentSettingsObject;
let urlRecord;
try {
urlRecord = new URL(url3, settings.settingsObject.baseUrl);
this.#state.origin = urlRecord.origin;
} catch (e) {
throw new DOMException(e, "SyntaxError");
}
this.#url = urlRecord.href;
let corsAttributeState = ANONYMOUS;
if (eventSourceInitDict.withCredentials === true) {
corsAttributeState = USE_CREDENTIALS;
this.#withCredentials = true;
}
const initRequest = {
redirect: "follow",
keepalive: true,
mode: "cors",
credentials: corsAttributeState === "anonymous" ? "same-origin" : "omit",
referrer: "no-referrer"
};
initRequest.client = environmentSettingsObject.settingsObject;
initRequest.headersList = [["accept", { name: "accept", value: "text/event-stream" }]];
initRequest.cache = "no-store";
initRequest.initiator = "other";
initRequest.urlList = [new URL(this.#url)];
this.#request = makeRequest(initRequest);
this.#connect();
}
get readyState() {
return this.#readyState;
}
get url() {
return this.#url;
}
get withCredentials() {
return this.#withCredentials;
}
#connect() {
if (this.#readyState === CLOSED)
return;
this.#readyState = CONNECTING;
const fetchParams = {
request: this.#request,
dispatcher: this.#dispatcher
};
const processEventSourceEndOfBody = (response) => {
if (!isNetworkError(response)) {
return this.#reconnect();
}
};
fetchParams.processResponseEndOfBody = processEventSourceEndOfBody;
fetchParams.processResponse = (response) => {
if (isNetworkError(response)) {
if (response.aborted) {
this.close();
this.dispatchEvent(new Event("error"));
return;
} else {
this.#reconnect();
return;
}
}
const contentType = response.headersList.get("content-type", true);
const mimeType = contentType !== null ? parseMIMEType(contentType) : "failure";
const contentTypeValid = mimeType !== "failure" && mimeType.essence === "text/event-stream";
if (response.status !== 200 || contentTypeValid === false) {
this.close();
this.dispatchEvent(new Event("error"));
return;
}
this.#readyState = OPEN;
this.dispatchEvent(new Event("open"));
this.#state.origin = response.urlList[response.urlList.length - 1].origin;
const eventSourceStream = new EventSourceStream({
eventSourceSettings: this.#state,
push: (event) => {
this.dispatchEvent(createFastMessageEvent(event.type, event.options));
}
});
pipeline(response.body.stream, eventSourceStream, (error49) => {
if (error49?.aborted === false) {
this.close();
this.dispatchEvent(new Event("error"));
}
});
};
this.#controller = fetching(fetchParams);
}
#reconnect() {
if (this.#readyState === CLOSED)
return;
this.#readyState = CONNECTING;
this.dispatchEvent(new Event("error"));
setTimeout(() => {
if (this.#readyState !== CONNECTING)
return;
if (this.#state.lastEventId.length) {
this.#request.headersList.set("last-event-id", this.#state.lastEventId, true);
}
this.#connect();
}, this.#state.reconnectionTime)?.unref();
}
close() {
webidl.brandCheck(this, EventSource);
if (this.#readyState === CLOSED)
return;
this.#readyState = CLOSED;
this.#controller.abort();
this.#request = null;
}
get onopen() {
return this.#events.open;
}
set onopen(fn) {
if (this.#events.open) {
this.removeEventListener("open", this.#events.open);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("open", listener);
this.#events.open = fn;
} else {
this.#events.open = null;
}
}
get onmessage() {
return this.#events.message;
}
set onmessage(fn) {
if (this.#events.message) {
this.removeEventListener("message", this.#events.message);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("message", listener);
this.#events.message = fn;
} else {
this.#events.message = null;
}
}
get onerror() {
return this.#events.error;
}
set onerror(fn) {
if (this.#events.error) {
this.removeEventListener("error", this.#events.error);
}
const listener = webidl.converters.EventHandlerNonNull(fn);
if (listener !== null) {
this.addEventListener("error", listener);
this.#events.error = fn;
} else {
this.#events.error = null;
}
}
}
var constantsPropertyDescriptors = {
CONNECTING: {
__proto__: null,
configurable: false,
enumerable: true,
value: CONNECTING,
writable: false
},
OPEN: {
__proto__: null,
configurable: false,
enumerable: true,
value: OPEN,
writable: false
},
CLOSED: {
__proto__: null,
configurable: false,
enumerable: true,
value: CLOSED,
writable: false
}
};
Object.defineProperties(EventSource, constantsPropertyDescriptors);
Object.defineProperties(EventSource.prototype, constantsPropertyDescriptors);
Object.defineProperties(EventSource.prototype, {
close: kEnumerableProperty,
onerror: kEnumerableProperty,
onmessage: kEnumerableProperty,
onopen: kEnumerableProperty,
readyState: kEnumerableProperty,
url: kEnumerableProperty,
withCredentials: kEnumerableProperty
});
webidl.converters.EventSourceInitDict = webidl.dictionaryConverter([
{
key: "withCredentials",
converter: webidl.converters.boolean,
defaultValue: () => false
},
{
key: "dispatcher",
converter: webidl.converters.any
},
{
key: "node",
converter: webidl.dictionaryConverter([
{
key: "reconnectionTime",
converter: webidl.converters["unsigned long"],
defaultValue: () => defaultReconnectionTime
},
{
key: "dispatcher",
converter: webidl.converters.any
}
]),
defaultValue: () => ({})
}
]);
module.exports = {
EventSource,
defaultReconnectionTime
};
});
// node_modules/.pnpm/undici@7.24.6/node_modules/undici/index.js
var require_undici = __commonJS((exports, module) => {
var __filename = "/Users/bytedance/claude-code/claude-code-source/node_modules/.pnpm/undici@7.24.6/node_modules/undici/index.js";
var Client = require_client();
var Dispatcher = require_dispatcher();
var Pool = require_pool();
var BalancedPool = require_balanced_pool();
var RoundRobinPool = require_round_robin_pool();
var Agent3 = require_agent();
var ProxyAgent = require_proxy_agent();
var Socks5ProxyAgent = require_socks5_proxy_agent();
var EnvHttpProxyAgent = require_env_http_proxy_agent();
var RetryAgent = require_retry_agent();
var H2CClient = require_h2c_client();
var errors3 = require_errors();
var util3 = require_util();
var { InvalidArgumentError: InvalidArgumentError2 } = errors3;
var api2 = require_api();
var buildConnector = require_connect();
var MockClient = require_mock_client();
var { MockCallHistory, MockCallHistoryLog } = require_mock_call_history();
var MockAgent = require_mock_agent();
var MockPool = require_mock_pool();
var SnapshotAgent = require_snapshot_agent();
var mockErrors = require_mock_errors();
var RetryHandler = require_retry_handler();
var { getGlobalDispatcher, setGlobalDispatcher } = require_global2();
var DecoratorHandler = require_decorator_handler();
var RedirectHandler = require_redirect_handler();
Object.assign(Dispatcher.prototype, api2);
exports.Dispatcher = Dispatcher;
exports.Client = Client;
exports.Pool = Pool;
exports.BalancedPool = BalancedPool;
exports.RoundRobinPool = RoundRobinPool;
exports.Agent = Agent3;
exports.ProxyAgent = ProxyAgent;
exports.Socks5ProxyAgent = Socks5ProxyAgent;
exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
exports.RetryAgent = RetryAgent;
exports.H2CClient = H2CClient;
exports.RetryHandler = RetryHandler;
exports.DecoratorHandler = DecoratorHandler;
exports.RedirectHandler = RedirectHandler;
exports.interceptors = {
redirect: require_redirect(),
responseError: require_response_error(),
retry: require_retry2(),
dump: require_dump(),
dns: require_dns(),
cache: require_cache2(),
decompress: require_decompress(),
deduplicate: require_deduplicate()
};
exports.cacheStores = {
MemoryCacheStore: require_memory_cache_store()
};
var SqliteCacheStore = require_sqlite_cache_store();
exports.cacheStores.SqliteCacheStore = SqliteCacheStore;
exports.buildConnector = buildConnector;
exports.errors = errors3;
exports.util = {
parseHeaders: util3.parseHeaders,
headerNameToString: util3.headerNameToString
};
function makeDispatcher(fn) {
return (url3, opts, handler) => {
if (typeof opts === "function") {
handler = opts;
opts = null;
}
if (!url3 || typeof url3 !== "string" && typeof url3 !== "object" && !(url3 instanceof URL)) {
throw new InvalidArgumentError2("invalid url");
}
if (opts != null && typeof opts !== "object") {
throw new InvalidArgumentError2("invalid opts");
}
if (opts && opts.path != null) {
if (typeof opts.path !== "string") {
throw new InvalidArgumentError2("invalid opts.path");
}
let path9 = opts.path;
if (!opts.path.startsWith("/")) {
path9 = `/${path9}`;
}
url3 = new URL(util3.parseOrigin(url3).origin + path9);
} else {
if (!opts) {
opts = typeof url3 === "object" ? url3 : {};
}
url3 = util3.parseURL(url3);
}
const { agent, dispatcher = getGlobalDispatcher() } = opts;
if (agent) {
throw new InvalidArgumentError2("unsupported opts.agent. Did you mean opts.client?");
}
return fn.call(dispatcher, {
...opts,
origin: url3.origin,
path: url3.search ? `${url3.pathname}${url3.search}` : url3.pathname,
method: opts.method || (opts.body ? "PUT" : "GET")
}, handler);
};
}
exports.setGlobalDispatcher = setGlobalDispatcher;
exports.getGlobalDispatcher = getGlobalDispatcher;
var fetchImpl = require_fetch().fetch;
var currentFilename = typeof __filename !== "undefined" ? __filename : undefined;
function appendFetchStackTrace(err, filename) {
if (!err || typeof err !== "object") {
return;
}
const stack = typeof err.stack === "string" ? err.stack : "";
const normalizedFilename = filename.replace(/\\/g, "/");
if (stack && (stack.includes(filename) || stack.includes(normalizedFilename))) {
return;
}
const capture = {};
Error.captureStackTrace(capture, appendFetchStackTrace);
if (!capture.stack) {
return;
}
const captureLines = capture.stack.split(`
`).slice(1).join(`
`);
err.stack = stack ? `${stack}
${captureLines}` : capture.stack;
}
exports.fetch = function fetch2(init, options = undefined) {
return fetchImpl(init, options).catch((err) => {
if (currentFilename) {
appendFetchStackTrace(err, currentFilename);
} else if (err && typeof err === "object") {
Error.captureStackTrace(err, exports.fetch);
}
throw err;
});
};
exports.Headers = require_headers().Headers;
exports.Response = require_response().Response;
exports.Request = require_request2().Request;
exports.FormData = require_formdata().FormData;
var { setGlobalOrigin, getGlobalOrigin } = require_global();
exports.setGlobalOrigin = setGlobalOrigin;
exports.getGlobalOrigin = getGlobalOrigin;
var { CacheStorage } = require_cachestorage();
var { kConstruct } = require_symbols();
exports.caches = new CacheStorage(kConstruct);
var { deleteCookie, getCookies, getSetCookies, setCookie, parseCookie } = require_cookies();
exports.deleteCookie = deleteCookie;
exports.getCookies = getCookies;
exports.getSetCookies = getSetCookies;
exports.setCookie = setCookie;
exports.parseCookie = parseCookie;
var { parseMIMEType, serializeAMimeType } = require_data_url();
exports.parseMIMEType = parseMIMEType;
exports.serializeAMimeType = serializeAMimeType;
var { CloseEvent, ErrorEvent, MessageEvent: MessageEvent2 } = require_events();
var { WebSocket: WebSocket2, ping } = require_websocket();
exports.WebSocket = WebSocket2;
exports.CloseEvent = CloseEvent;
exports.ErrorEvent = ErrorEvent;
exports.MessageEvent = MessageEvent2;
exports.ping = ping;
exports.WebSocketStream = require_websocketstream().WebSocketStream;
exports.WebSocketError = require_websocketerror().WebSocketError;
exports.request = makeDispatcher(api2.request);
exports.stream = makeDispatcher(api2.stream);
exports.pipeline = makeDispatcher(api2.pipeline);
exports.connect = makeDispatcher(api2.connect);
exports.upgrade = makeDispatcher(api2.upgrade);
exports.MockClient = MockClient;
exports.MockCallHistory = MockCallHistory;
exports.MockCallHistoryLog = MockCallHistoryLog;
exports.MockPool = MockPool;
exports.MockAgent = MockAgent;
exports.SnapshotAgent = SnapshotAgent;
exports.mockErrors = mockErrors;
var { EventSource } = require_eventsource();
exports.EventSource = EventSource;
function install() {
globalThis.fetch = exports.fetch;
globalThis.Headers = exports.Headers;
globalThis.Response = exports.Response;
globalThis.Request = exports.Request;
globalThis.FormData = exports.FormData;
globalThis.WebSocket = exports.WebSocket;
globalThis.CloseEvent = exports.CloseEvent;
globalThis.ErrorEvent = exports.ErrorEvent;
globalThis.MessageEvent = exports.MessageEvent;
globalThis.EventSource = exports.EventSource;
}
exports.install = install;
});
// src/utils/mtls.ts
import { Agent as HttpsAgent2 } from "https";
function getWebSocketTLSOptions() {
const mtlsConfig = getMTLSConfig();
const caCerts = getCACertificates();
if (!mtlsConfig && !caCerts) {
return;
}
return {
...mtlsConfig,
...caCerts && { ca: caCerts }
};
}
function getTLSFetchOptions() {
const mtlsConfig = getMTLSConfig();
const caCerts = getCACertificates();
if (!mtlsConfig && !caCerts) {
return {};
}
const tlsConfig = {
...mtlsConfig,
...caCerts && { ca: caCerts }
};
if (typeof Bun !== "undefined") {
return { tls: tlsConfig };
}
logForDebugging("TLS: Created undici agent with custom certificates");
const undiciMod = require_undici();
const agent = new undiciMod.Agent({
connect: {
cert: tlsConfig.cert,
key: tlsConfig.key,
passphrase: tlsConfig.passphrase,
...tlsConfig.ca && { ca: tlsConfig.ca }
},
pipelining: 1
});
return { dispatcher: agent };
}
function clearMTLSCache() {
getMTLSConfig.cache.clear?.();
getMTLSAgent.cache.clear?.();
logForDebugging("Cleared mTLS configuration cache");
}
function configureGlobalMTLS() {
const mtlsConfig = getMTLSConfig();
if (!mtlsConfig) {
return;
}
if (process.env.NODE_EXTRA_CA_CERTS) {
logForDebugging("NODE_EXTRA_CA_CERTS detected - Node.js will automatically append to built-in CAs");
}
}
var getMTLSConfig, getMTLSAgent;
var init_mtls = __esm(() => {
init_memoize();
init_caCerts();
init_debug();
init_fsOperations();
getMTLSConfig = memoize_default(() => {
const config2 = {};
if (process.env.CLAUDE_CODE_CLIENT_CERT) {
try {
config2.cert = getFsImplementation().readFileSync(process.env.CLAUDE_CODE_CLIENT_CERT, { encoding: "utf8" });
logForDebugging("mTLS: Loaded client certificate from CLAUDE_CODE_CLIENT_CERT");
} catch (error49) {
logForDebugging(`mTLS: Failed to load client certificate: ${error49}`, {
level: "error"
});
}
}
if (process.env.CLAUDE_CODE_CLIENT_KEY) {
try {
config2.key = getFsImplementation().readFileSync(process.env.CLAUDE_CODE_CLIENT_KEY, { encoding: "utf8" });
logForDebugging("mTLS: Loaded client key from CLAUDE_CODE_CLIENT_KEY");
} catch (error49) {
logForDebugging(`mTLS: Failed to load client key: ${error49}`, {
level: "error"
});
}
}
if (process.env.CLAUDE_CODE_CLIENT_KEY_PASSPHRASE) {
config2.passphrase = process.env.CLAUDE_CODE_CLIENT_KEY_PASSPHRASE;
logForDebugging("mTLS: Using client key passphrase");
}
if (Object.keys(config2).length === 0) {
return;
}
return config2;
});
getMTLSAgent = memoize_default(() => {
const mtlsConfig = getMTLSConfig();
const caCerts = getCACertificates();
if (!mtlsConfig && !caCerts) {
return;
}
const agentOptions = {
...mtlsConfig,
...caCerts && { ca: caCerts },
keepAlive: true
};
logForDebugging("mTLS: Creating HTTPS agent with custom certificates");
return new HttpsAgent2(agentOptions);
});
});
// node_modules/.pnpm/@smithy+types@4.13.1/node_modules/@smithy/types/dist-cjs/index.js
var require_dist_cjs = __commonJS((exports) => {
exports.HttpAuthLocation = undefined;
(function(HttpAuthLocation) {
HttpAuthLocation["HEADER"] = "header";
HttpAuthLocation["QUERY"] = "query";
})(exports.HttpAuthLocation || (exports.HttpAuthLocation = {}));
exports.HttpApiKeyAuthLocation = undefined;
(function(HttpApiKeyAuthLocation) {
HttpApiKeyAuthLocation["HEADER"] = "header";
HttpApiKeyAuthLocation["QUERY"] = "query";
})(exports.HttpApiKeyAuthLocation || (exports.HttpApiKeyAuthLocation = {}));
exports.EndpointURLScheme = undefined;
(function(EndpointURLScheme) {
EndpointURLScheme["HTTP"] = "http";
EndpointURLScheme["HTTPS"] = "https";
})(exports.EndpointURLScheme || (exports.EndpointURLScheme = {}));
exports.AlgorithmId = undefined;
(function(AlgorithmId) {
AlgorithmId["MD5"] = "md5";
AlgorithmId["CRC32"] = "crc32";
AlgorithmId["CRC32C"] = "crc32c";
AlgorithmId["SHA1"] = "sha1";
AlgorithmId["SHA256"] = "sha256";
})(exports.AlgorithmId || (exports.AlgorithmId = {}));
var getChecksumConfiguration = (runtimeConfig) => {
const checksumAlgorithms = [];
if (runtimeConfig.sha256 !== undefined) {
checksumAlgorithms.push({
algorithmId: () => exports.AlgorithmId.SHA256,
checksumConstructor: () => runtimeConfig.sha256
});
}
if (runtimeConfig.md5 != null) {
checksumAlgorithms.push({
algorithmId: () => exports.AlgorithmId.MD5,
checksumConstructor: () => runtimeConfig.md5
});
}
return {
addChecksumAlgorithm(algo) {
checksumAlgorithms.push(algo);
},
checksumAlgorithms() {
return checksumAlgorithms;
}
};
};
var resolveChecksumRuntimeConfig = (clientConfig) => {
const runtimeConfig = {};
clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {
runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();
});
return runtimeConfig;
};
var getDefaultClientConfiguration = (runtimeConfig) => {
return getChecksumConfiguration(runtimeConfig);
};
var resolveDefaultRuntimeConfig = (config2) => {
return resolveChecksumRuntimeConfig(config2);
};
exports.FieldPosition = undefined;
(function(FieldPosition) {
FieldPosition[FieldPosition["HEADER"] = 0] = "HEADER";
FieldPosition[FieldPosition["TRAILER"] = 1] = "TRAILER";
})(exports.FieldPosition || (exports.FieldPosition = {}));
var SMITHY_CONTEXT_KEY = "__smithy_context";
exports.IniSectionType = undefined;
(function(IniSectionType) {
IniSectionType["PROFILE"] = "profile";
IniSectionType["SSO_SESSION"] = "sso-session";
IniSectionType["SERVICES"] = "services";
})(exports.IniSectionType || (exports.IniSectionType = {}));
exports.RequestHandlerProtocol = undefined;
(function(RequestHandlerProtocol) {
RequestHandlerProtocol["HTTP_0_9"] = "http/0.9";
RequestHandlerProtocol["HTTP_1_0"] = "http/1.0";
RequestHandlerProtocol["TDS_8_0"] = "tds/8.0";
})(exports.RequestHandlerProtocol || (exports.RequestHandlerProtocol = {}));
exports.SMITHY_CONTEXT_KEY = SMITHY_CONTEXT_KEY;
exports.getDefaultClientConfiguration = getDefaultClientConfiguration;
exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;
});
// node_modules/.pnpm/@smithy+protocol-http@5.3.12/node_modules/@smithy/protocol-http/dist-cjs/index.js
var require_dist_cjs2 = __commonJS((exports) => {
var types = require_dist_cjs();
var getHttpHandlerExtensionConfiguration = (runtimeConfig) => {
return {
setHttpHandler(handler) {
runtimeConfig.httpHandler = handler;
},
httpHandler() {
return runtimeConfig.httpHandler;
},
updateHttpClientConfig(key, value) {
runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);
},
httpHandlerConfigs() {
return runtimeConfig.httpHandler.httpHandlerConfigs();
}
};
};
var resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {
return {
httpHandler: httpHandlerExtensionConfiguration.httpHandler()
};
};
class Field {
name;
kind;
values;
constructor({ name, kind = types.FieldPosition.HEADER, values = [] }) {
this.name = name;
this.kind = kind;
this.values = values;
}
add(value) {
this.values.push(value);
}
set(values) {
this.values = values;
}
remove(value) {
this.values = this.values.filter((v2) => v2 !== value);
}
toString() {
return this.values.map((v2) => v2.includes(",") || v2.includes(" ") ? `"${v2}"` : v2).join(", ");
}
get() {
return this.values;
}
}
class Fields {
entries = {};
encoding;
constructor({ fields = [], encoding = "utf-8" }) {
fields.forEach(this.setField.bind(this));
this.encoding = encoding;
}
setField(field) {
this.entries[field.name.toLowerCase()] = field;
}
getField(name) {
return this.entries[name.toLowerCase()];
}
removeField(name) {
delete this.entries[name.toLowerCase()];
}
getByType(kind) {
return Object.values(this.entries).filter((field) => field.kind === kind);
}
}
class HttpRequest {
method;
protocol;
hostname;
port;
path;
query;
headers;
username;
password;
fragment;
body;
constructor(options) {
this.method = options.method || "GET";
this.hostname = options.hostname || "localhost";
this.port = options.port;
this.query = options.query || {};
this.headers = options.headers || {};
this.body = options.body;
this.protocol = options.protocol ? options.protocol.slice(-1) !== ":" ? `${options.protocol}:` : options.protocol : "https:";
this.path = options.path ? options.path.charAt(0) !== "/" ? `/${options.path}` : options.path : "/";
this.username = options.username;
this.password = options.password;
this.fragment = options.fragment;
}
static clone(request) {
const cloned = new HttpRequest({
...request,
headers: { ...request.headers }
});
if (cloned.query) {
cloned.query = cloneQuery(cloned.query);
}
return cloned;
}
static isInstance(request) {
if (!request) {
return false;
}
const req = request;
return "method" in req && "protocol" in req && "hostname" in req && "path" in req && typeof req["query"] === "object" && typeof req["headers"] === "object";
}
clone() {
return HttpRequest.clone(this);
}
}
function cloneQuery(query) {
return Object.keys(query).reduce((carry, paramName) => {
const param = query[paramName];
return {
...carry,
[paramName]: Array.isArray(param) ? [...param] : param
};
}, {});
}
class HttpResponse {
statusCode;
reason;
headers;
body;
constructor(options) {
this.statusCode = options.statusCode;
this.reason = options.reason;
this.headers = options.headers || {};
this.body = options.body;
}
static isInstance(response) {
if (!response)
return false;
const resp = response;
return typeof resp.statusCode === "number" && typeof resp.headers === "object";
}
}
function isValidHostname(hostname3) {
const hostPattern = /^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/;
return hostPattern.test(hostname3);
}
exports.Field = Field;
exports.Fields = Fields;
exports.HttpRequest = HttpRequest;
exports.HttpResponse = HttpResponse;
exports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration;
exports.isValidHostname = isValidHostname;
exports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig;
});
// node_modules/.pnpm/@smithy+util-uri-escape@4.2.2/node_modules/@smithy/util-uri-escape/dist-cjs/index.js
var require_dist_cjs3 = __commonJS((exports) => {
var escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);
var hexEncode = (c5) => `%${c5.charCodeAt(0).toString(16).toUpperCase()}`;
var escapeUriPath = (uri) => uri.split("/").map(escapeUri).join("/");
exports.escapeUri = escapeUri;
exports.escapeUriPath = escapeUriPath;
});
// node_modules/.pnpm/@smithy+querystring-builder@4.2.12/node_modules/@smithy/querystring-builder/dist-cjs/index.js
var require_dist_cjs4 = __commonJS((exports) => {
var utilUriEscape = require_dist_cjs3();
function buildQueryString(query) {
const parts = [];
for (let key of Object.keys(query).sort()) {
const value = query[key];
key = utilUriEscape.escapeUri(key);
if (Array.isArray(value)) {
for (let i2 = 0, iLen = value.length;i2 < iLen; i2++) {
parts.push(`${key}=${utilUriEscape.escapeUri(value[i2])}`);
}
} else {
let qsEntry = key;
if (value || typeof value === "string") {
qsEntry += `=${utilUriEscape.escapeUri(value)}`;
}
parts.push(qsEntry);
}
}
return parts.join("&");
}
exports.buildQueryString = buildQueryString;
});
// node_modules/.pnpm/@smithy+node-http-handler@4.5.1/node_modules/@smithy/node-http-handler/dist-cjs/index.js
var require_dist_cjs5 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var querystringBuilder = require_dist_cjs4();
var node_https = __require("node:https");
var node_stream = __require("node:stream");
var http22 = __require("node:http2");
function buildAbortError(abortSignal) {
const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal ? abortSignal.reason : undefined;
if (reason) {
if (reason instanceof Error) {
const abortError3 = new Error("Request aborted");
abortError3.name = "AbortError";
abortError3.cause = reason;
return abortError3;
}
const abortError2 = new Error(String(reason));
abortError2.name = "AbortError";
return abortError2;
}
const abortError = new Error("Request aborted");
abortError.name = "AbortError";
return abortError;
}
var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "EPIPE", "ETIMEDOUT"];
var getTransformedHeaders = (headers) => {
const transformedHeaders = {};
for (const name of Object.keys(headers)) {
const headerValues = headers[name];
transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(",") : headerValues;
}
return transformedHeaders;
};
var timing = {
setTimeout: (cb, ms) => setTimeout(cb, ms),
clearTimeout: (timeoutId) => clearTimeout(timeoutId)
};
var DEFER_EVENT_LISTENER_TIME$2 = 1000;
var setConnectionTimeout = (request, reject, timeoutInMs = 0) => {
if (!timeoutInMs) {
return -1;
}
const registerTimeout = (offset) => {
const timeoutId = timing.setTimeout(() => {
request.destroy();
reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {
name: "TimeoutError"
}));
}, timeoutInMs - offset);
const doWithSocket = (socket) => {
if (socket?.connecting) {
socket.on("connect", () => {
timing.clearTimeout(timeoutId);
});
} else {
timing.clearTimeout(timeoutId);
}
};
if (request.socket) {
doWithSocket(request.socket);
} else {
request.on("socket", doWithSocket);
}
};
if (timeoutInMs < 2000) {
registerTimeout(0);
return 0;
}
return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);
};
var setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {
if (timeoutInMs) {
return timing.setTimeout(() => {
let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? "ERROR" : "WARN"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;
if (throwOnRequestTimeout) {
const error49 = Object.assign(new Error(msg), {
name: "TimeoutError",
code: "ETIMEDOUT"
});
req.destroy(error49);
reject(error49);
} else {
msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;
logger?.warn?.(msg);
}
}, timeoutInMs);
}
return -1;
};
var DEFER_EVENT_LISTENER_TIME$1 = 3000;
var setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {
if (keepAlive !== true) {
return -1;
}
const registerListener = () => {
if (request.socket) {
request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);
} else {
request.on("socket", (socket) => {
socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);
});
}
};
if (deferTimeMs === 0) {
registerListener();
return 0;
}
return timing.setTimeout(registerListener, deferTimeMs);
};
var DEFER_EVENT_LISTENER_TIME = 3000;
var setSocketTimeout = (request, reject, timeoutInMs = 0) => {
const registerTimeout = (offset) => {
const timeout = timeoutInMs - offset;
const onTimeout = () => {
request.destroy();
reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: "TimeoutError" }));
};
if (request.socket) {
request.socket.setTimeout(timeout, onTimeout);
request.on("close", () => request.socket?.removeListener("timeout", onTimeout));
} else {
request.setTimeout(timeout, onTimeout);
}
};
if (0 < timeoutInMs && timeoutInMs < 6000) {
registerTimeout(0);
return 0;
}
return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);
};
var MIN_WAIT_TIME = 6000;
async function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {
const headers = request.headers ?? {};
const expect = headers.Expect || headers.expect;
let timeoutId = -1;
let sendBody = true;
if (!externalAgent && expect === "100-continue") {
sendBody = await Promise.race([
new Promise((resolve9) => {
timeoutId = Number(timing.setTimeout(() => resolve9(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));
}),
new Promise((resolve9) => {
httpRequest.on("continue", () => {
timing.clearTimeout(timeoutId);
resolve9(true);
});
httpRequest.on("response", () => {
timing.clearTimeout(timeoutId);
resolve9(false);
});
httpRequest.on("error", () => {
timing.clearTimeout(timeoutId);
resolve9(false);
});
})
]);
}
if (sendBody) {
writeBody(httpRequest, request.body);
}
}
function writeBody(httpRequest, body) {
if (body instanceof node_stream.Readable) {
body.pipe(httpRequest);
return;
}
if (body) {
const isBuffer3 = Buffer.isBuffer(body);
const isString2 = typeof body === "string";
if (isBuffer3 || isString2) {
if (isBuffer3 && body.byteLength === 0) {
httpRequest.end();
} else {
httpRequest.end(body);
}
return;
}
const uint8 = body;
if (typeof uint8 === "object" && uint8.buffer && typeof uint8.byteOffset === "number" && typeof uint8.byteLength === "number") {
httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));
return;
}
httpRequest.end(Buffer.from(body));
return;
}
httpRequest.end();
}
var DEFAULT_REQUEST_TIMEOUT = 0;
var hAgent = undefined;
var hRequest = undefined;
class NodeHttpHandler {
config;
configProvider;
socketWarningTimestamp = 0;
externalAgent = false;
metadata = { handlerProtocol: "http/1.1" };
static create(instanceOrOptions) {
if (typeof instanceOrOptions?.handle === "function") {
return instanceOrOptions;
}
return new NodeHttpHandler(instanceOrOptions);
}
static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {
const { sockets, requests, maxSockets } = agent;
if (typeof maxSockets !== "number" || maxSockets === Infinity) {
return socketWarningTimestamp;
}
const interval = 15000;
if (Date.now() - interval < socketWarningTimestamp) {
return socketWarningTimestamp;
}
if (sockets && requests) {
for (const origin2 in sockets) {
const socketsInUse = sockets[origin2]?.length ?? 0;
const requestsEnqueued = requests[origin2]?.length ?? 0;
if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {
logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);
return Date.now();
}
}
}
return socketWarningTimestamp;
}
constructor(options) {
this.configProvider = new Promise((resolve9, reject) => {
if (typeof options === "function") {
options().then((_options) => {
resolve9(this.resolveDefaultConfig(_options));
}).catch(reject);
} else {
resolve9(this.resolveDefaultConfig(options));
}
});
}
destroy() {
this.config?.httpAgent?.destroy();
this.config?.httpsAgent?.destroy();
}
async handle(request, { abortSignal, requestTimeout } = {}) {
if (!this.config) {
this.config = await this.configProvider;
}
const config2 = this.config;
const isSSL = request.protocol === "https:";
if (!isSSL && !this.config.httpAgent) {
this.config.httpAgent = await this.config.httpAgentProvider();
}
return new Promise((_resolve, _reject) => {
let writeRequestBodyPromise = undefined;
const timeouts = [];
const resolve9 = async (arg) => {
await writeRequestBodyPromise;
timeouts.forEach(timing.clearTimeout);
_resolve(arg);
};
const reject = async (arg) => {
await writeRequestBodyPromise;
timeouts.forEach(timing.clearTimeout);
_reject(arg);
};
if (abortSignal?.aborted) {
const abortError = buildAbortError(abortSignal);
reject(abortError);
return;
}
const headers = request.headers ?? {};
const expectContinue = (headers.Expect ?? headers.expect) === "100-continue";
let agent = isSSL ? config2.httpsAgent : config2.httpAgent;
if (expectContinue && !this.externalAgent) {
agent = new (isSSL ? node_https.Agent : hAgent)({
keepAlive: false,
maxSockets: Infinity
});
}
timeouts.push(timing.setTimeout(() => {
this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config2.logger);
}, config2.socketAcquisitionWarningTimeout ?? (config2.requestTimeout ?? 2000) + (config2.connectionTimeout ?? 1000)));
const queryString = querystringBuilder.buildQueryString(request.query || {});
let auth = undefined;
if (request.username != null || request.password != null) {
const username = request.username ?? "";
const password = request.password ?? "";
auth = `${username}:${password}`;
}
let path9 = request.path;
if (queryString) {
path9 += `?${queryString}`;
}
if (request.fragment) {
path9 += `#${request.fragment}`;
}
let hostname3 = request.hostname ?? "";
if (hostname3[0] === "[" && hostname3.endsWith("]")) {
hostname3 = request.hostname.slice(1, -1);
} else {
hostname3 = request.hostname;
}
const nodeHttpsOptions = {
headers: request.headers,
host: hostname3,
method: request.method,
path: path9,
port: request.port,
agent,
auth
};
const requestFunc = isSSL ? node_https.request : hRequest;
const req = requestFunc(nodeHttpsOptions, (res) => {
const httpResponse = new protocolHttp.HttpResponse({
statusCode: res.statusCode || -1,
reason: res.statusMessage,
headers: getTransformedHeaders(res.headers),
body: res
});
resolve9({ response: httpResponse });
});
req.on("error", (err) => {
if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {
reject(Object.assign(err, { name: "TimeoutError" }));
} else {
reject(err);
}
});
if (abortSignal) {
const onAbort = () => {
req.destroy();
const abortError = buildAbortError(abortSignal);
reject(abortError);
};
if (typeof abortSignal.addEventListener === "function") {
const signal = abortSignal;
signal.addEventListener("abort", onAbort, { once: true });
req.once("close", () => signal.removeEventListener("abort", onAbort));
} else {
abortSignal.onabort = onAbort;
}
}
const effectiveRequestTimeout = requestTimeout ?? config2.requestTimeout;
timeouts.push(setConnectionTimeout(req, reject, config2.connectionTimeout));
timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config2.throwOnRequestTimeout, config2.logger ?? console));
timeouts.push(setSocketTimeout(req, reject, config2.socketTimeout));
const httpAgent = nodeHttpsOptions.agent;
if (typeof httpAgent === "object" && "keepAlive" in httpAgent) {
timeouts.push(setSocketKeepAlive(req, {
keepAlive: httpAgent.keepAlive,
keepAliveMsecs: httpAgent.keepAliveMsecs
}));
}
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {
timeouts.forEach(timing.clearTimeout);
return _reject(e);
});
});
}
updateHttpClientConfig(key, value) {
this.config = undefined;
this.configProvider = this.configProvider.then((config2) => {
return {
...config2,
[key]: value
};
});
}
httpHandlerConfigs() {
return this.config ?? {};
}
resolveDefaultConfig(options) {
const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger } = options || {};
const keepAlive = true;
const maxSockets = 50;
return {
connectionTimeout,
requestTimeout,
socketTimeout,
socketAcquisitionWarningTimeout,
throwOnRequestTimeout,
httpAgentProvider: async () => {
const { Agent: Agent3, request } = await import("node:http");
hRequest = request;
hAgent = Agent3;
if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === "function") {
this.externalAgent = true;
return httpAgent;
}
return new hAgent({ keepAlive, maxSockets, ...httpAgent });
},
httpsAgent: (() => {
if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === "function") {
this.externalAgent = true;
return httpsAgent;
}
return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });
})(),
logger
};
}
}
class NodeHttp2ConnectionPool {
sessions = [];
constructor(sessions) {
this.sessions = sessions ?? [];
}
poll() {
if (this.sessions.length > 0) {
return this.sessions.shift();
}
}
offerLast(session) {
this.sessions.push(session);
}
contains(session) {
return this.sessions.includes(session);
}
remove(session) {
this.sessions = this.sessions.filter((s) => s !== session);
}
[Symbol.iterator]() {
return this.sessions[Symbol.iterator]();
}
destroy(connection) {
for (const session of this.sessions) {
if (session === connection) {
if (!session.destroyed) {
session.destroy();
}
}
}
}
}
class NodeHttp2ConnectionManager {
constructor(config2) {
this.config = config2;
if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {
throw new RangeError("maxConcurrency must be greater than zero.");
}
}
config;
sessionCache = new Map;
lease(requestContext, connectionConfiguration) {
const url3 = this.getUrlString(requestContext);
const existingPool = this.sessionCache.get(url3);
if (existingPool) {
const existingSession = existingPool.poll();
if (existingSession && !this.config.disableConcurrency) {
return existingSession;
}
}
const session = http22.connect(url3);
if (this.config.maxConcurrency) {
session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {
if (err) {
throw new Error("Fail to set maxConcurrentStreams to " + this.config.maxConcurrency + "when creating new session for " + requestContext.destination.toString());
}
});
}
session.unref();
const destroySessionCb = () => {
session.destroy();
this.deleteSession(url3, session);
};
session.on("goaway", destroySessionCb);
session.on("error", destroySessionCb);
session.on("frameError", destroySessionCb);
session.on("close", () => this.deleteSession(url3, session));
if (connectionConfiguration.requestTimeout) {
session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);
}
const connectionPool = this.sessionCache.get(url3) || new NodeHttp2ConnectionPool;
connectionPool.offerLast(session);
this.sessionCache.set(url3, connectionPool);
return session;
}
deleteSession(authority, session) {
const existingConnectionPool = this.sessionCache.get(authority);
if (!existingConnectionPool) {
return;
}
if (!existingConnectionPool.contains(session)) {
return;
}
existingConnectionPool.remove(session);
this.sessionCache.set(authority, existingConnectionPool);
}
release(requestContext, session) {
const cacheKey = this.getUrlString(requestContext);
this.sessionCache.get(cacheKey)?.offerLast(session);
}
destroy() {
for (const [key, connectionPool] of this.sessionCache) {
for (const session of connectionPool) {
if (!session.destroyed) {
session.destroy();
}
connectionPool.remove(session);
}
this.sessionCache.delete(key);
}
}
setMaxConcurrentStreams(maxConcurrentStreams) {
if (maxConcurrentStreams && maxConcurrentStreams <= 0) {
throw new RangeError("maxConcurrentStreams must be greater than zero.");
}
this.config.maxConcurrency = maxConcurrentStreams;
}
setDisableConcurrentStreams(disableConcurrentStreams) {
this.config.disableConcurrency = disableConcurrentStreams;
}
getUrlString(request) {
return request.destination.toString();
}
}
class NodeHttp2Handler {
config;
configProvider;
metadata = { handlerProtocol: "h2" };
connectionManager = new NodeHttp2ConnectionManager({});
static create(instanceOrOptions) {
if (typeof instanceOrOptions?.handle === "function") {
return instanceOrOptions;
}
return new NodeHttp2Handler(instanceOrOptions);
}
constructor(options) {
this.configProvider = new Promise((resolve9, reject) => {
if (typeof options === "function") {
options().then((opts) => {
resolve9(opts || {});
}).catch(reject);
} else {
resolve9(options || {});
}
});
}
destroy() {
this.connectionManager.destroy();
}
async handle(request, { abortSignal, requestTimeout } = {}) {
if (!this.config) {
this.config = await this.configProvider;
this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);
if (this.config.maxConcurrentStreams) {
this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);
}
}
const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;
const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;
return new Promise((_resolve, _reject) => {
let fulfilled = false;
let writeRequestBodyPromise = undefined;
const resolve9 = async (arg) => {
await writeRequestBodyPromise;
_resolve(arg);
};
const reject = async (arg) => {
await writeRequestBodyPromise;
_reject(arg);
};
if (abortSignal?.aborted) {
fulfilled = true;
const abortError = buildAbortError(abortSignal);
reject(abortError);
return;
}
const { hostname: hostname3, method, port, protocol, query } = request;
let auth = "";
if (request.username != null || request.password != null) {
const username = request.username ?? "";
const password = request.password ?? "";
auth = `${username}:${password}@`;
}
const authority = `${protocol}//${auth}${hostname3}${port ? `:${port}` : ""}`;
const requestContext = { destination: new URL(authority) };
const session = this.connectionManager.lease(requestContext, {
requestTimeout: this.config?.sessionTimeout,
disableConcurrentStreams: disableConcurrentStreams || false
});
const rejectWithDestroy = (err) => {
if (disableConcurrentStreams) {
this.destroySession(session);
}
fulfilled = true;
reject(err);
};
const queryString = querystringBuilder.buildQueryString(query || {});
let path9 = request.path;
if (queryString) {
path9 += `?${queryString}`;
}
if (request.fragment) {
path9 += `#${request.fragment}`;
}
const req = session.request({
...request.headers,
[http22.constants.HTTP2_HEADER_PATH]: path9,
[http22.constants.HTTP2_HEADER_METHOD]: method
});
session.ref();
req.on("response", (headers) => {
const httpResponse = new protocolHttp.HttpResponse({
statusCode: headers[":status"] || -1,
headers: getTransformedHeaders(headers),
body: req
});
fulfilled = true;
resolve9({ response: httpResponse });
if (disableConcurrentStreams) {
session.close();
this.connectionManager.deleteSession(authority, session);
}
});
if (effectiveRequestTimeout) {
req.setTimeout(effectiveRequestTimeout, () => {
req.close();
const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);
timeoutError.name = "TimeoutError";
rejectWithDestroy(timeoutError);
});
}
if (abortSignal) {
const onAbort = () => {
req.close();
const abortError = buildAbortError(abortSignal);
rejectWithDestroy(abortError);
};
if (typeof abortSignal.addEventListener === "function") {
const signal = abortSignal;
signal.addEventListener("abort", onAbort, { once: true });
req.once("close", () => signal.removeEventListener("abort", onAbort));
} else {
abortSignal.onabort = onAbort;
}
}
req.on("frameError", (type, code, id) => {
rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));
});
req.on("error", rejectWithDestroy);
req.on("aborted", () => {
rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));
});
req.on("close", () => {
session.unref();
if (disableConcurrentStreams) {
session.destroy();
}
if (!fulfilled) {
rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
}
});
writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);
});
}
updateHttpClientConfig(key, value) {
this.config = undefined;
this.configProvider = this.configProvider.then((config2) => {
return {
...config2,
[key]: value
};
});
}
httpHandlerConfigs() {
return this.config ?? {};
}
destroySession(session) {
if (!session.destroyed) {
session.destroy();
}
}
}
class Collector extends node_stream.Writable {
bufferedBytes = [];
_write(chunk, encoding, callback) {
this.bufferedBytes.push(chunk);
callback();
}
}
var streamCollector = (stream4) => {
if (isReadableStreamInstance(stream4)) {
return collectReadableStream(stream4);
}
return new Promise((resolve9, reject) => {
const collector = new Collector;
stream4.pipe(collector);
stream4.on("error", (err) => {
collector.end();
reject(err);
});
collector.on("error", reject);
collector.on("finish", function() {
const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));
resolve9(bytes);
});
});
};
var isReadableStreamInstance = (stream4) => typeof ReadableStream === "function" && stream4 instanceof ReadableStream;
async function collectReadableStream(stream4) {
const chunks = [];
const reader = stream4.getReader();
let isDone = false;
let length = 0;
while (!isDone) {
const { done, value } = await reader.read();
if (value) {
chunks.push(value);
length += value.length;
}
isDone = done;
}
const collected = new Uint8Array(length);
let offset = 0;
for (const chunk of chunks) {
collected.set(chunk, offset);
offset += chunk.length;
}
return collected;
}
exports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;
exports.NodeHttp2Handler = NodeHttp2Handler;
exports.NodeHttpHandler = NodeHttpHandler;
exports.streamCollector = streamCollector;
});
// node_modules/.pnpm/@aws-sdk+core@3.973.26/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js
var require_client2 = __commonJS((exports) => {
var state = {
warningEmitted: false
};
var emitWarningIfUnsupportedVersion = (version2) => {
if (version2 && !state.warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 20) {
state.warningEmitted = true;
process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
no longer support Node.js ${version2} in January 2026.
To continue receiving updates to AWS services, bug fixes, and security
updates please upgrade to a supported Node.js LTS version.
More information can be found at: https://a.co/c895JFp`);
}
};
function setCredentialFeature(credentials, feature, value) {
if (!credentials.$source) {
credentials.$source = {};
}
credentials.$source[feature] = value;
return credentials;
}
function setFeature(context, feature, value) {
if (!context.__aws_sdk_context) {
context.__aws_sdk_context = {
features: {}
};
} else if (!context.__aws_sdk_context.features) {
context.__aws_sdk_context.features = {};
}
context.__aws_sdk_context.features[feature] = value;
}
function setTokenFeature(token, feature, value) {
if (!token.$source) {
token.$source = {};
}
token.$source[feature] = value;
return token;
}
exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;
exports.setCredentialFeature = setCredentialFeature;
exports.setFeature = setFeature;
exports.setTokenFeature = setTokenFeature;
exports.state = state;
});
// node_modules/.pnpm/@smithy+property-provider@4.2.12/node_modules/@smithy/property-provider/dist-cjs/index.js
var require_dist_cjs6 = __commonJS((exports) => {
class ProviderError extends Error {
name = "ProviderError";
tryNextLink;
constructor(message, options = true) {
let logger;
let tryNextLink = true;
if (typeof options === "boolean") {
logger = undefined;
tryNextLink = options;
} else if (options != null && typeof options === "object") {
logger = options.logger;
tryNextLink = options.tryNextLink ?? true;
}
super(message);
this.tryNextLink = tryNextLink;
Object.setPrototypeOf(this, ProviderError.prototype);
logger?.debug?.(`@smithy/property-provider ${tryNextLink ? "->" : "(!)"} ${message}`);
}
static from(error49, options = true) {
return Object.assign(new this(error49.message, options), error49);
}
}
class CredentialsProviderError extends ProviderError {
name = "CredentialsProviderError";
constructor(message, options = true) {
super(message, options);
Object.setPrototypeOf(this, CredentialsProviderError.prototype);
}
}
class TokenProviderError extends ProviderError {
name = "TokenProviderError";
constructor(message, options = true) {
super(message, options);
Object.setPrototypeOf(this, TokenProviderError.prototype);
}
}
var chain = (...providers) => async () => {
if (providers.length === 0) {
throw new ProviderError("No providers in chain");
}
let lastProviderError;
for (const provider of providers) {
try {
const credentials = await provider();
return credentials;
} catch (err) {
lastProviderError = err;
if (err?.tryNextLink) {
continue;
}
throw err;
}
}
throw lastProviderError;
};
var fromStatic = (staticValue) => () => Promise.resolve(staticValue);
var memoize2 = (provider, isExpired, requiresRefresh) => {
let resolved;
let pending;
let hasResult;
let isConstant = false;
const coalesceProvider = async () => {
if (!pending) {
pending = provider();
}
try {
resolved = await pending;
hasResult = true;
isConstant = false;
} finally {
pending = undefined;
}
return resolved;
};
if (isExpired === undefined) {
return async (options) => {
if (!hasResult || options?.forceRefresh) {
resolved = await coalesceProvider();
}
return resolved;
};
}
return async (options) => {
if (!hasResult || options?.forceRefresh) {
resolved = await coalesceProvider();
}
if (isConstant) {
return resolved;
}
if (requiresRefresh && !requiresRefresh(resolved)) {
isConstant = true;
return resolved;
}
if (isExpired(resolved)) {
await coalesceProvider();
return resolved;
}
return resolved;
};
};
exports.CredentialsProviderError = CredentialsProviderError;
exports.ProviderError = ProviderError;
exports.TokenProviderError = TokenProviderError;
exports.chain = chain;
exports.fromStatic = fromStatic;
exports.memoize = memoize2;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-env@3.972.24/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js
var require_dist_cjs7 = __commonJS((exports) => {
var client = require_client2();
var propertyProvider = require_dist_cjs6();
var ENV_KEY = "AWS_ACCESS_KEY_ID";
var ENV_SECRET = "AWS_SECRET_ACCESS_KEY";
var ENV_SESSION = "AWS_SESSION_TOKEN";
var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION";
var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE";
var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID";
var fromEnv = (init) => async () => {
init?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");
const accessKeyId = process.env[ENV_KEY];
const secretAccessKey = process.env[ENV_SECRET];
const sessionToken = process.env[ENV_SESSION];
const expiry = process.env[ENV_EXPIRATION];
const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];
const accountId = process.env[ENV_ACCOUNT_ID];
if (accessKeyId && secretAccessKey) {
const credentials = {
accessKeyId,
secretAccessKey,
...sessionToken && { sessionToken },
...expiry && { expiration: new Date(expiry) },
...credentialScope && { credentialScope },
...accountId && { accountId }
};
client.setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS", "g");
return credentials;
}
throw new propertyProvider.CredentialsProviderError("Unable to find environment variable credentials.", { logger: init?.logger });
};
exports.ENV_ACCOUNT_ID = ENV_ACCOUNT_ID;
exports.ENV_CREDENTIAL_SCOPE = ENV_CREDENTIAL_SCOPE;
exports.ENV_EXPIRATION = ENV_EXPIRATION;
exports.ENV_KEY = ENV_KEY;
exports.ENV_SECRET = ENV_SECRET;
exports.ENV_SESSION = ENV_SESSION;
exports.fromEnv = fromEnv;
});
// node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.7/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js
var require_getHomeDir = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getHomeDir = undefined;
var os_1 = __require("os");
var path_1 = __require("path");
var homeDirCache = {};
var getHomeDirCacheKey = () => {
if (process && process.geteuid) {
return `${process.geteuid()}`;
}
return "DEFAULT";
};
var getHomeDir = () => {
const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;
if (HOME)
return HOME;
if (USERPROFILE)
return USERPROFILE;
if (HOMEPATH)
return `${HOMEDRIVE}${HOMEPATH}`;
const homeDirCacheKey = getHomeDirCacheKey();
if (!homeDirCache[homeDirCacheKey])
homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();
return homeDirCache[homeDirCacheKey];
};
exports.getHomeDir = getHomeDir;
});
// node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.7/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js
var require_getSSOTokenFilepath = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSSOTokenFilepath = undefined;
var crypto_1 = __require("crypto");
var path_1 = __require("path");
var getHomeDir_1 = require_getHomeDir();
var getSSOTokenFilepath = (id) => {
const hasher = (0, crypto_1.createHash)("sha1");
const cacheName = hasher.update(id).digest("hex");
return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), ".aws", "sso", "cache", `${cacheName}.json`);
};
exports.getSSOTokenFilepath = getSSOTokenFilepath;
});
// node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.7/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js
var require_getSSOTokenFromFile = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSSOTokenFromFile = exports.tokenIntercept = undefined;
var promises_1 = __require("fs/promises");
var getSSOTokenFilepath_1 = require_getSSOTokenFilepath();
exports.tokenIntercept = {};
var getSSOTokenFromFile = async (id) => {
if (exports.tokenIntercept[id]) {
return exports.tokenIntercept[id];
}
const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);
const ssoTokenText = await (0, promises_1.readFile)(ssoTokenFilepath, "utf8");
return JSON.parse(ssoTokenText);
};
exports.getSSOTokenFromFile = getSSOTokenFromFile;
});
// node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.7/node_modules/@smithy/shared-ini-file-loader/dist-cjs/readFile.js
var require_readFile = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.readFile = exports.fileIntercept = exports.filePromises = undefined;
var promises_1 = __require("node:fs/promises");
exports.filePromises = {};
exports.fileIntercept = {};
var readFile7 = (path9, options) => {
if (exports.fileIntercept[path9] !== undefined) {
return exports.fileIntercept[path9];
}
if (!exports.filePromises[path9] || options?.ignoreCache) {
exports.filePromises[path9] = (0, promises_1.readFile)(path9, "utf8");
}
return exports.filePromises[path9];
};
exports.readFile = readFile7;
});
// node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.7/node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js
var require_dist_cjs8 = __commonJS((exports) => {
var getHomeDir = require_getHomeDir();
var getSSOTokenFilepath = require_getSSOTokenFilepath();
var getSSOTokenFromFile = require_getSSOTokenFromFile();
var path9 = __require("path");
var types = require_dist_cjs();
var readFile7 = require_readFile();
var ENV_PROFILE = "AWS_PROFILE";
var DEFAULT_PROFILE = "default";
var getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;
var CONFIG_PREFIX_SEPARATOR = ".";
var getConfigData = (data) => Object.entries(data).filter(([key]) => {
const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
if (indexOfSeparator === -1) {
return false;
}
return Object.values(types.IniSectionType).includes(key.substring(0, indexOfSeparator));
}).reduce((acc, [key, value]) => {
const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);
const updatedKey = key.substring(0, indexOfSeparator) === types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;
acc[updatedKey] = value;
return acc;
}, {
...data.default && { default: data.default }
});
var ENV_CONFIG_PATH = "AWS_CONFIG_FILE";
var getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || path9.join(getHomeDir.getHomeDir(), ".aws", "config");
var ENV_CREDENTIALS_PATH = "AWS_SHARED_CREDENTIALS_FILE";
var getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || path9.join(getHomeDir.getHomeDir(), ".aws", "credentials");
var prefixKeyRegex = /^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/;
var profileNameBlockList = ["__proto__", "profile __proto__"];
var parseIni = (iniData) => {
const map2 = {};
let currentSection;
let currentSubSection;
for (const iniLine of iniData.split(/\r?\n/)) {
const trimmedLine = iniLine.split(/(^|\s)[;#]/)[0].trim();
const isSection = trimmedLine[0] === "[" && trimmedLine[trimmedLine.length - 1] === "]";
if (isSection) {
currentSection = undefined;
currentSubSection = undefined;
const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);
const matches = prefixKeyRegex.exec(sectionName);
if (matches) {
const [, prefix, , name] = matches;
if (Object.values(types.IniSectionType).includes(prefix)) {
currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);
}
} else {
currentSection = sectionName;
}
if (profileNameBlockList.includes(sectionName)) {
throw new Error(`Found invalid profile name "${sectionName}"`);
}
} else if (currentSection) {
const indexOfEqualsSign = trimmedLine.indexOf("=");
if (![0, -1].includes(indexOfEqualsSign)) {
const [name, value] = [
trimmedLine.substring(0, indexOfEqualsSign).trim(),
trimmedLine.substring(indexOfEqualsSign + 1).trim()
];
if (value === "") {
currentSubSection = name;
} else {
if (currentSubSection && iniLine.trimStart() === iniLine) {
currentSubSection = undefined;
}
map2[currentSection] = map2[currentSection] || {};
const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;
map2[currentSection][key] = value;
}
}
}
}
return map2;
};
var swallowError$1 = () => ({});
var loadSharedConfigFiles = async (init = {}) => {
const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;
const homeDir = getHomeDir.getHomeDir();
const relativeHomeDirPrefix = "~/";
let resolvedFilepath = filepath;
if (filepath.startsWith(relativeHomeDirPrefix)) {
resolvedFilepath = path9.join(homeDir, filepath.slice(2));
}
let resolvedConfigFilepath = configFilepath;
if (configFilepath.startsWith(relativeHomeDirPrefix)) {
resolvedConfigFilepath = path9.join(homeDir, configFilepath.slice(2));
}
const parsedFiles = await Promise.all([
readFile7.readFile(resolvedConfigFilepath, {
ignoreCache: init.ignoreCache
}).then(parseIni).then(getConfigData).catch(swallowError$1),
readFile7.readFile(resolvedFilepath, {
ignoreCache: init.ignoreCache
}).then(parseIni).catch(swallowError$1)
]);
return {
configFile: parsedFiles[0],
credentialsFile: parsedFiles[1]
};
};
var getSsoSessionData = (data) => Object.entries(data).filter(([key]) => key.startsWith(types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR)).reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});
var swallowError = () => ({});
var loadSsoSessionData = async (init = {}) => readFile7.readFile(init.configFilepath ?? getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError);
var mergeConfigFiles = (...files) => {
const merged = {};
for (const file2 of files) {
for (const [key, values] of Object.entries(file2)) {
if (merged[key] !== undefined) {
Object.assign(merged[key], values);
} else {
merged[key] = values;
}
}
}
return merged;
};
var parseKnownFiles = async (init) => {
const parsedFiles = await loadSharedConfigFiles(init);
return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);
};
var externalDataInterceptor = {
getFileRecord() {
return readFile7.fileIntercept;
},
interceptFile(path10, contents) {
readFile7.fileIntercept[path10] = Promise.resolve(contents);
},
getTokenRecord() {
return getSSOTokenFromFile.tokenIntercept;
},
interceptToken(id, contents) {
getSSOTokenFromFile.tokenIntercept[id] = contents;
}
};
exports.getSSOTokenFromFile = getSSOTokenFromFile.getSSOTokenFromFile;
exports.readFile = readFile7.readFile;
exports.CONFIG_PREFIX_SEPARATOR = CONFIG_PREFIX_SEPARATOR;
exports.DEFAULT_PROFILE = DEFAULT_PROFILE;
exports.ENV_PROFILE = ENV_PROFILE;
exports.externalDataInterceptor = externalDataInterceptor;
exports.getProfileName = getProfileName;
exports.loadSharedConfigFiles = loadSharedConfigFiles;
exports.loadSsoSessionData = loadSsoSessionData;
exports.parseKnownFiles = parseKnownFiles;
Object.prototype.hasOwnProperty.call(getHomeDir, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: getHomeDir["__proto__"]
});
Object.keys(getHomeDir).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = getHomeDir[k2];
});
Object.prototype.hasOwnProperty.call(getSSOTokenFilepath, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: getSSOTokenFilepath["__proto__"]
});
Object.keys(getSSOTokenFilepath).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = getSSOTokenFilepath[k2];
});
});
// node_modules/.pnpm/@smithy+node-config-provider@4.3.12/node_modules/@smithy/node-config-provider/dist-cjs/index.js
var require_dist_cjs9 = __commonJS((exports) => {
var propertyProvider = require_dist_cjs6();
var sharedIniFileLoader = require_dist_cjs8();
function getSelectorName(functionString) {
try {
const constants4 = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));
constants4.delete("CONFIG");
constants4.delete("CONFIG_PREFIX_SEPARATOR");
constants4.delete("ENV");
return [...constants4].join(", ");
} catch (e) {
return functionString;
}
}
var fromEnv = (envVarSelector, options) => async () => {
try {
const config2 = envVarSelector(process.env, options);
if (config2 === undefined) {
throw new Error;
}
return config2;
} catch (e) {
throw new propertyProvider.CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });
}
};
var fromSharedConfigFiles = (configSelector, { preferredFile = "config", ...init } = {}) => async () => {
const profile = sharedIniFileLoader.getProfileName(init);
const { configFile, credentialsFile } = await sharedIniFileLoader.loadSharedConfigFiles(init);
const profileFromCredentials = credentialsFile[profile] || {};
const profileFromConfig = configFile[profile] || {};
const mergedProfile = preferredFile === "config" ? { ...profileFromCredentials, ...profileFromConfig } : { ...profileFromConfig, ...profileFromCredentials };
try {
const cfgFile = preferredFile === "config" ? configFile : credentialsFile;
const configValue = configSelector(mergedProfile, cfgFile);
if (configValue === undefined) {
throw new Error;
}
return configValue;
} catch (e) {
throw new propertyProvider.CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });
}
};
var isFunction4 = (func) => typeof func === "function";
var fromStatic = (defaultValue) => isFunction4(defaultValue) ? async () => await defaultValue() : propertyProvider.fromStatic(defaultValue);
var loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {
const { signingName, logger } = configuration;
const envOptions = { signingName, logger };
return propertyProvider.memoize(propertyProvider.chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));
};
exports.loadConfig = loadConfig;
});
// node_modules/.pnpm/@smithy+querystring-parser@4.2.12/node_modules/@smithy/querystring-parser/dist-cjs/index.js
var require_dist_cjs10 = __commonJS((exports) => {
function parseQueryString(querystring) {
const query = {};
querystring = querystring.replace(/^\?/, "");
if (querystring) {
for (const pair of querystring.split("&")) {
let [key, value = null] = pair.split("=");
key = decodeURIComponent(key);
if (value) {
value = decodeURIComponent(value);
}
if (!(key in query)) {
query[key] = value;
} else if (Array.isArray(query[key])) {
query[key].push(value);
} else {
query[key] = [query[key], value];
}
}
}
return query;
}
exports.parseQueryString = parseQueryString;
});
// node_modules/.pnpm/@smithy+url-parser@4.2.12/node_modules/@smithy/url-parser/dist-cjs/index.js
var require_dist_cjs11 = __commonJS((exports) => {
var querystringParser = require_dist_cjs10();
var parseUrl2 = (url3) => {
if (typeof url3 === "string") {
return parseUrl2(new URL(url3));
}
const { hostname: hostname3, pathname, port, protocol, search } = url3;
let query;
if (search) {
query = querystringParser.parseQueryString(search);
}
return {
hostname: hostname3,
port: port ? parseInt(port) : undefined,
protocol,
path: pathname,
query
};
};
exports.parseUrl = parseUrl2;
});
// node_modules/.pnpm/@smithy+credential-provider-imds@4.2.12/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js
var require_dist_cjs12 = __commonJS((exports) => {
var propertyProvider = require_dist_cjs6();
var url3 = __require("url");
var buffer = __require("buffer");
var http4 = __require("http");
var nodeConfigProvider = require_dist_cjs9();
var urlParser = require_dist_cjs11();
function httpRequest(options) {
return new Promise((resolve9, reject) => {
const req = http4.request({
method: "GET",
...options,
hostname: options.hostname?.replace(/^\[(.+)\]$/, "$1")
});
req.on("error", (err) => {
reject(Object.assign(new propertyProvider.ProviderError("Unable to connect to instance metadata service"), err));
req.destroy();
});
req.on("timeout", () => {
reject(new propertyProvider.ProviderError("TimeoutError from instance metadata service"));
req.destroy();
});
req.on("response", (res) => {
const { statusCode = 400 } = res;
if (statusCode < 200 || 300 <= statusCode) {
reject(Object.assign(new propertyProvider.ProviderError("Error response received from instance metadata service"), { statusCode }));
req.destroy();
}
const chunks = [];
res.on("data", (chunk) => {
chunks.push(chunk);
});
res.on("end", () => {
resolve9(buffer.Buffer.concat(chunks));
req.destroy();
});
});
req.end();
});
}
var isImdsCredentials = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.AccessKeyId === "string" && typeof arg.SecretAccessKey === "string" && typeof arg.Token === "string" && typeof arg.Expiration === "string";
var fromImdsCredentials = (creds) => ({
accessKeyId: creds.AccessKeyId,
secretAccessKey: creds.SecretAccessKey,
sessionToken: creds.Token,
expiration: new Date(creds.Expiration),
...creds.AccountId && { accountId: creds.AccountId }
});
var DEFAULT_TIMEOUT = 1000;
var DEFAULT_MAX_RETRIES = 0;
var providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT }) => ({ maxRetries, timeout });
var retry = (toRetry, maxRetries) => {
let promise2 = toRetry();
for (let i2 = 0;i2 < maxRetries; i2++) {
promise2 = promise2.catch(toRetry);
}
return promise2;
};
var ENV_CMDS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
var ENV_CMDS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
var ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
var fromContainerMetadata = (init = {}) => {
const { timeout, maxRetries } = providerConfigFromInit(init);
return () => retry(async () => {
const requestOptions = await getCmdsUri({ logger: init.logger });
const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));
if (!isImdsCredentials(credsResponse)) {
throw new propertyProvider.CredentialsProviderError("Invalid response received from instance metadata service.", {
logger: init.logger
});
}
return fromImdsCredentials(credsResponse);
}, maxRetries);
};
var requestFromEcsImds = async (timeout, options) => {
if (process.env[ENV_CMDS_AUTH_TOKEN]) {
options.headers = {
...options.headers,
Authorization: process.env[ENV_CMDS_AUTH_TOKEN]
};
}
const buffer2 = await httpRequest({
...options,
timeout
});
return buffer2.toString();
};
var CMDS_IP = "169.254.170.2";
var GREENGRASS_HOSTS = {
localhost: true,
"127.0.0.1": true
};
var GREENGRASS_PROTOCOLS = {
"http:": true,
"https:": true
};
var getCmdsUri = async ({ logger }) => {
if (process.env[ENV_CMDS_RELATIVE_URI]) {
return {
hostname: CMDS_IP,
path: process.env[ENV_CMDS_RELATIVE_URI]
};
}
if (process.env[ENV_CMDS_FULL_URI]) {
const parsed = url3.parse(process.env[ENV_CMDS_FULL_URI]);
if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {
throw new propertyProvider.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {
tryNextLink: false,
logger
});
}
if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {
throw new propertyProvider.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {
tryNextLink: false,
logger
});
}
return {
...parsed,
port: parsed.port ? parseInt(parsed.port, 10) : undefined
};
}
throw new propertyProvider.CredentialsProviderError("The container metadata credential provider cannot be used unless" + ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` + " variable is set", {
tryNextLink: false,
logger
});
};
class InstanceMetadataV1FallbackError extends propertyProvider.CredentialsProviderError {
tryNextLink;
name = "InstanceMetadataV1FallbackError";
constructor(message, tryNextLink = true) {
super(message, tryNextLink);
this.tryNextLink = tryNextLink;
Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);
}
}
exports.Endpoint = undefined;
(function(Endpoint) {
Endpoint["IPv4"] = "http://169.254.169.254";
Endpoint["IPv6"] = "http://[fd00:ec2::254]";
})(exports.Endpoint || (exports.Endpoint = {}));
var ENV_ENDPOINT_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT";
var CONFIG_ENDPOINT_NAME = "ec2_metadata_service_endpoint";
var ENDPOINT_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => env5[ENV_ENDPOINT_NAME],
configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],
default: undefined
};
var EndpointMode;
(function(EndpointMode2) {
EndpointMode2["IPv4"] = "IPv4";
EndpointMode2["IPv6"] = "IPv6";
})(EndpointMode || (EndpointMode = {}));
var ENV_ENDPOINT_MODE_NAME = "AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE";
var CONFIG_ENDPOINT_MODE_NAME = "ec2_metadata_service_endpoint_mode";
var ENDPOINT_MODE_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => env5[ENV_ENDPOINT_MODE_NAME],
configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],
default: EndpointMode.IPv4
};
var getInstanceMetadataEndpoint = async () => urlParser.parseUrl(await getFromEndpointConfig() || await getFromEndpointModeConfig());
var getFromEndpointConfig = async () => nodeConfigProvider.loadConfig(ENDPOINT_CONFIG_OPTIONS)();
var getFromEndpointModeConfig = async () => {
const endpointMode = await nodeConfigProvider.loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();
switch (endpointMode) {
case EndpointMode.IPv4:
return exports.Endpoint.IPv4;
case EndpointMode.IPv6:
return exports.Endpoint.IPv6;
default:
throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);
}
};
var STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;
var STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;
var STATIC_STABILITY_DOC_URL = "https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html";
var getExtendedInstanceMetadataCredentials = (credentials, logger) => {
const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS + Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);
const newExpiration = new Date(Date.now() + refreshInterval * 1000);
logger.warn("Attempting credential expiration extension due to a credential service availability issue. A refresh of these " + `credentials will be attempted after ${new Date(newExpiration)}.
For more information, please visit: ` + STATIC_STABILITY_DOC_URL);
const originalExpiration = credentials.originalExpiration ?? credentials.expiration;
return {
...credentials,
...originalExpiration ? { originalExpiration } : {},
expiration: newExpiration
};
};
var staticStabilityProvider = (provider, options = {}) => {
const logger = options?.logger || console;
let pastCredentials;
return async () => {
let credentials;
try {
credentials = await provider();
if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {
credentials = getExtendedInstanceMetadataCredentials(credentials, logger);
}
} catch (e) {
if (pastCredentials) {
logger.warn("Credential renew failed: ", e);
credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);
} else {
throw e;
}
}
pastCredentials = credentials;
return credentials;
};
};
var IMDS_PATH = "/latest/meta-data/iam/security-credentials/";
var IMDS_TOKEN_PATH = "/latest/api/token";
var AWS_EC2_METADATA_V1_DISABLED = "AWS_EC2_METADATA_V1_DISABLED";
var PROFILE_AWS_EC2_METADATA_V1_DISABLED = "ec2_metadata_v1_disabled";
var X_AWS_EC2_METADATA_TOKEN = "x-aws-ec2-metadata-token";
var fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });
var getInstanceMetadataProvider = (init = {}) => {
let disableFetchToken = false;
const { logger, profile } = init;
const { timeout, maxRetries } = providerConfigFromInit(init);
const getCredentials = async (maxRetries2, options) => {
const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;
if (isImdsV1Fallback) {
let fallbackBlockedFromProfile = false;
let fallbackBlockedFromProcessEnv = false;
const configValue = await nodeConfigProvider.loadConfig({
environmentVariableSelector: (env5) => {
const envValue = env5[AWS_EC2_METADATA_V1_DISABLED];
fallbackBlockedFromProcessEnv = !!envValue && envValue !== "false";
if (envValue === undefined) {
throw new propertyProvider.CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });
}
return fallbackBlockedFromProcessEnv;
},
configFileSelector: (profile2) => {
const profileValue = profile2[PROFILE_AWS_EC2_METADATA_V1_DISABLED];
fallbackBlockedFromProfile = !!profileValue && profileValue !== "false";
return fallbackBlockedFromProfile;
},
default: false
}, {
profile
})();
if (init.ec2MetadataV1Disabled || configValue) {
const causes = [];
if (init.ec2MetadataV1Disabled)
causes.push("credential provider initialization (runtime option ec2MetadataV1Disabled)");
if (fallbackBlockedFromProfile)
causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);
if (fallbackBlockedFromProcessEnv)
causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);
throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(", ")}].`);
}
}
const imdsProfile = (await retry(async () => {
let profile2;
try {
profile2 = await getProfile(options);
} catch (err) {
if (err.statusCode === 401) {
disableFetchToken = false;
}
throw err;
}
return profile2;
}, maxRetries2)).trim();
return retry(async () => {
let creds;
try {
creds = await getCredentialsFromProfile(imdsProfile, options, init);
} catch (err) {
if (err.statusCode === 401) {
disableFetchToken = false;
}
throw err;
}
return creds;
}, maxRetries2);
};
return async () => {
const endpoint = await getInstanceMetadataEndpoint();
if (disableFetchToken) {
logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (no token fetch)");
return getCredentials(maxRetries, { ...endpoint, timeout });
} else {
let token;
try {
token = (await getMetadataToken({ ...endpoint, timeout })).toString();
} catch (error49) {
if (error49?.statusCode === 400) {
throw Object.assign(error49, {
message: "EC2 Metadata token request returned error"
});
} else if (error49.message === "TimeoutError" || [403, 404, 405].includes(error49.statusCode)) {
disableFetchToken = true;
}
logger?.debug("AWS SDK Instance Metadata", "using v1 fallback (initial)");
return getCredentials(maxRetries, { ...endpoint, timeout });
}
return getCredentials(maxRetries, {
...endpoint,
headers: {
[X_AWS_EC2_METADATA_TOKEN]: token
},
timeout
});
}
};
};
var getMetadataToken = async (options) => httpRequest({
...options,
path: IMDS_TOKEN_PATH,
method: "PUT",
headers: {
"x-aws-ec2-metadata-token-ttl-seconds": "21600"
}
});
var getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();
var getCredentialsFromProfile = async (profile, options, init) => {
const credentialsResponse = JSON.parse((await httpRequest({
...options,
path: IMDS_PATH + profile
})).toString());
if (!isImdsCredentials(credentialsResponse)) {
throw new propertyProvider.CredentialsProviderError("Invalid response received from instance metadata service.", {
logger: init.logger
});
}
return fromImdsCredentials(credentialsResponse);
};
exports.DEFAULT_MAX_RETRIES = DEFAULT_MAX_RETRIES;
exports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
exports.ENV_CMDS_AUTH_TOKEN = ENV_CMDS_AUTH_TOKEN;
exports.ENV_CMDS_FULL_URI = ENV_CMDS_FULL_URI;
exports.ENV_CMDS_RELATIVE_URI = ENV_CMDS_RELATIVE_URI;
exports.fromContainerMetadata = fromContainerMetadata;
exports.fromInstanceMetadata = fromInstanceMetadata;
exports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;
exports.httpRequest = httpRequest;
exports.providerConfigFromInit = providerConfigFromInit;
});
// node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.js
var require_tslib = __commonJS((exports, module) => {
var __extends;
var __assign;
var __rest;
var __decorate;
var __param;
var __esDecorate;
var __runInitializers;
var __propKey;
var __setFunctionName;
var __metadata;
var __awaiter;
var __generator;
var __exportStar;
var __values;
var __read;
var __spread;
var __spreadArrays;
var __spreadArray;
var __await;
var __asyncGenerator;
var __asyncDelegator;
var __asyncValues;
var __makeTemplateObject;
var __importStar;
var __importDefault;
var __classPrivateFieldGet2;
var __classPrivateFieldSet2;
var __classPrivateFieldIn;
var __createBinding;
var __addDisposableResource;
var __disposeResources;
var __rewriteRelativeImportExtension;
(function(factory2) {
var root2 = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
if (typeof define === "function" && define.amd) {
define("tslib", ["exports"], function(exports2) {
factory2(createExporter(root2, createExporter(exports2)));
});
} else if (typeof module === "object" && typeof exports === "object") {
factory2(createExporter(root2, createExporter(exports)));
} else {
factory2(createExporter(root2));
}
function createExporter(exports2, previous) {
if (exports2 !== root2) {
if (typeof Object.create === "function") {
Object.defineProperty(exports2, "__esModule", { value: true });
} else {
exports2.__esModule = true;
}
}
return function(id, v2) {
return exports2[id] = previous ? previous(id, v2) : v2;
};
}
})(function(exporter) {
var extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, b2) {
d.__proto__ = b2;
} || function(d, b2) {
for (var p in b2)
if (Object.prototype.hasOwnProperty.call(b2, p))
d[p] = b2[p];
};
__extends = function(d, b2) {
if (typeof b2 !== "function" && b2 !== null)
throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
extendStatics(d, b2);
function __() {
this.constructor = d;
}
d.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __);
};
__assign = Object.assign || function(t) {
for (var s, i2 = 1, n2 = arguments.length;i2 < n2; i2++) {
s = arguments[i2];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
__rest = function(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i2 = 0, p = Object.getOwnPropertySymbols(s);i2 < p.length; i2++) {
if (e.indexOf(p[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i2]))
t[p[i2]] = s[p[i2]];
}
return t;
};
__decorate = function(decorators, target, key, desc) {
var c5 = arguments.length, r = c5 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i2 = decorators.length - 1;i2 >= 0; i2--)
if (d = decorators[i2])
r = (c5 < 3 ? d(r) : c5 > 3 ? d(target, key, r) : d(target, key)) || r;
return c5 > 3 && r && Object.defineProperty(target, key, r), r;
};
__param = function(paramIndex, decorator) {
return function(target, key) {
decorator(target, key, paramIndex);
};
};
__esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
function accept(f) {
if (f !== undefined && typeof f !== "function")
throw new TypeError("Function expected");
return f;
}
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
var _2, done = false;
for (var i2 = decorators.length - 1;i2 >= 0; i2--) {
var context = {};
for (var p in contextIn)
context[p] = p === "access" ? {} : contextIn[p];
for (var p in contextIn.access)
context.access[p] = contextIn.access[p];
context.addInitializer = function(f) {
if (done)
throw new TypeError("Cannot add initializers after decoration has completed");
extraInitializers.push(accept(f || null));
};
var result = (0, decorators[i2])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
if (kind === "accessor") {
if (result === undefined)
continue;
if (result === null || typeof result !== "object")
throw new TypeError("Object expected");
if (_2 = accept(result.get))
descriptor.get = _2;
if (_2 = accept(result.set))
descriptor.set = _2;
if (_2 = accept(result.init))
initializers.unshift(_2);
} else if (_2 = accept(result)) {
if (kind === "field")
initializers.unshift(_2);
else
descriptor[key] = _2;
}
}
if (target)
Object.defineProperty(target, contextIn.name, descriptor);
done = true;
};
__runInitializers = function(thisArg, initializers, value) {
var useValue = arguments.length > 2;
for (var i2 = 0;i2 < initializers.length; i2++) {
value = useValue ? initializers[i2].call(thisArg, value) : initializers[i2].call(thisArg);
}
return useValue ? value : undefined;
};
__propKey = function(x3) {
return typeof x3 === "symbol" ? x3 : "".concat(x3);
};
__setFunctionName = function(f, name, prefix) {
if (typeof name === "symbol")
name = name.description ? "[".concat(name.description, "]") : "";
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
};
__metadata = function(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(metadataKey, metadataValue);
};
__awaiter = function(thisArg, _arguments, P2, generator) {
function adopt(value) {
return value instanceof P2 ? value : new P2(function(resolve9) {
resolve9(value);
});
}
return new (P2 || (P2 = Promise))(function(resolve9, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve9(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
__generator = function(thisArg, body) {
var _2 = { label: 0, sent: function() {
if (t[0] & 1)
throw t[1];
return t[1];
}, trys: [], ops: [] }, f, y3, t, g2 = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g2.next = verb(0), g2["throw"] = verb(1), g2["return"] = verb(2), typeof Symbol === "function" && (g2[Symbol.iterator] = function() {
return this;
}), g2;
function verb(n2) {
return function(v2) {
return step([n2, v2]);
};
}
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
while (g2 && (g2 = 0, op[0] && (_2 = 0)), _2)
try {
if (f = 1, y3 && (t = op[0] & 2 ? y3["return"] : op[0] ? y3["throw"] || ((t = y3["return"]) && t.call(y3), 0) : y3.next) && !(t = t.call(y3, op[1])).done)
return t;
if (y3 = 0, t)
op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_2.label++;
return { value: op[1], done: false };
case 5:
_2.label++;
y3 = op[1];
op = [0];
continue;
case 7:
op = _2.ops.pop();
_2.trys.pop();
continue;
default:
if (!(t = _2.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_2 = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_2.label = op[1];
break;
}
if (op[0] === 6 && _2.label < t[1]) {
_2.label = t[1];
t = op;
break;
}
if (t && _2.label < t[2]) {
_2.label = t[2];
_2.ops.push(op);
break;
}
if (t[2])
_2.ops.pop();
_2.trys.pop();
continue;
}
op = body.call(thisArg, _2);
} catch (e) {
op = [6, e];
y3 = 0;
} finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return { value: op[0] ? op[1] : undefined, done: true };
}
};
__exportStar = function(m2, o2) {
for (var p in m2)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(o2, p))
__createBinding(o2, m2, p);
};
__createBinding = Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
};
__values = function(o2) {
var s = typeof Symbol === "function" && Symbol.iterator, m2 = s && o2[s], i2 = 0;
if (m2)
return m2.call(o2);
if (o2 && typeof o2.length === "number")
return {
next: function() {
if (o2 && i2 >= o2.length)
o2 = undefined;
return { value: o2 && o2[i2++], done: !o2 };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
__read = function(o2, n2) {
var m2 = typeof Symbol === "function" && o2[Symbol.iterator];
if (!m2)
return o2;
var i2 = m2.call(o2), r, ar = [], e;
try {
while ((n2 === undefined || n2-- > 0) && !(r = i2.next()).done)
ar.push(r.value);
} catch (error49) {
e = { error: error49 };
} finally {
try {
if (r && !r.done && (m2 = i2["return"]))
m2.call(i2);
} finally {
if (e)
throw e.error;
}
}
return ar;
};
__spread = function() {
for (var ar = [], i2 = 0;i2 < arguments.length; i2++)
ar = ar.concat(__read(arguments[i2]));
return ar;
};
__spreadArrays = function() {
for (var s = 0, i2 = 0, il = arguments.length;i2 < il; i2++)
s += arguments[i2].length;
for (var r = Array(s), k2 = 0, i2 = 0;i2 < il; i2++)
for (var a2 = arguments[i2], j2 = 0, jl = a2.length;j2 < jl; j2++, k2++)
r[k2] = a2[j2];
return r;
};
__spreadArray = function(to, from, pack) {
if (pack || arguments.length === 2)
for (var i2 = 0, l = from.length, ar;i2 < l; i2++) {
if (ar || !(i2 in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i2);
ar[i2] = from[i2];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
__await = function(v2) {
return this instanceof __await ? (this.v = v2, this) : new __await(v2);
};
__asyncGenerator = function(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var g2 = generator.apply(thisArg, _arguments || []), i2, q2 = [];
return i2 = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i2[Symbol.asyncIterator] = function() {
return this;
}, i2;
function awaitReturn(f) {
return function(v2) {
return Promise.resolve(v2).then(f, reject);
};
}
function verb(n2, f) {
if (g2[n2]) {
i2[n2] = function(v2) {
return new Promise(function(a2, b2) {
q2.push([n2, v2, a2, b2]) > 1 || resume2(n2, v2);
});
};
if (f)
i2[n2] = f(i2[n2]);
}
}
function resume2(n2, v2) {
try {
step(g2[n2](v2));
} catch (e) {
settle2(q2[0][3], e);
}
}
function step(r) {
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle2(q2[0][2], r);
}
function fulfill(value) {
resume2("next", value);
}
function reject(value) {
resume2("throw", value);
}
function settle2(f, v2) {
if (f(v2), q2.shift(), q2.length)
resume2(q2[0][0], q2[0][1]);
}
};
__asyncDelegator = function(o2) {
var i2, p;
return i2 = {}, verb("next"), verb("throw", function(e) {
throw e;
}), verb("return"), i2[Symbol.iterator] = function() {
return this;
}, i2;
function verb(n2, f) {
i2[n2] = o2[n2] ? function(v2) {
return (p = !p) ? { value: __await(o2[n2](v2)), done: false } : f ? f(v2) : v2;
} : f;
}
};
__asyncValues = function(o2) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var m2 = o2[Symbol.asyncIterator], i2;
return m2 ? m2.call(o2) : (o2 = typeof __values === "function" ? __values(o2) : o2[Symbol.iterator](), i2 = {}, verb("next"), verb("throw"), verb("return"), i2[Symbol.asyncIterator] = function() {
return this;
}, i2);
function verb(n2) {
i2[n2] = o2[n2] && function(v2) {
return new Promise(function(resolve9, reject) {
v2 = o2[n2](v2), settle2(resolve9, reject, v2.done, v2.value);
});
};
}
function settle2(resolve9, reject, d, v2) {
Promise.resolve(v2).then(function(v3) {
resolve9({ value: v3, done: d });
}, reject);
}
};
__makeTemplateObject = function(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", { value: raw });
} else {
cooked.raw = raw;
}
return cooked;
};
var __setModuleDefault = Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
};
var ownKeys = function(o2) {
ownKeys = Object.getOwnPropertyNames || function(o3) {
var ar = [];
for (var k2 in o3)
if (Object.prototype.hasOwnProperty.call(o3, k2))
ar[ar.length] = k2;
return ar;
};
return ownKeys(o2);
};
__importStar = function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 = ownKeys(mod2), i2 = 0;i2 < k2.length; i2++)
if (k2[i2] !== "default")
__createBinding(result, mod2, k2[i2]);
}
__setModuleDefault(result, mod2);
return result;
};
__importDefault = function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
__classPrivateFieldGet2 = function(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
__classPrivateFieldSet2 = function(receiver, state, value, kind, f) {
if (kind === "m")
throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot write private member to an object whose class did not declare it");
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
};
__classPrivateFieldIn = function(state, receiver) {
if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function")
throw new TypeError("Cannot use 'in' operator on non-object");
return typeof state === "function" ? receiver === state : state.has(receiver);
};
__addDisposableResource = function(env5, value, async) {
if (value !== null && value !== undefined) {
if (typeof value !== "object" && typeof value !== "function")
throw new TypeError("Object expected.");
var dispose, inner;
if (async) {
if (!Symbol.asyncDispose)
throw new TypeError("Symbol.asyncDispose is not defined.");
dispose = value[Symbol.asyncDispose];
}
if (dispose === undefined) {
if (!Symbol.dispose)
throw new TypeError("Symbol.dispose is not defined.");
dispose = value[Symbol.dispose];
if (async)
inner = dispose;
}
if (typeof dispose !== "function")
throw new TypeError("Object not disposable.");
if (inner)
dispose = function() {
try {
inner.call(this);
} catch (e) {
return Promise.reject(e);
}
};
env5.stack.push({ value, dispose, async });
} else if (async) {
env5.stack.push({ async: true });
}
return value;
};
var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error49, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error49, e.suppressed = suppressed, e;
};
__disposeResources = function(env5) {
function fail(e) {
env5.error = env5.hasError ? new _SuppressedError(e, env5.error, "An error was suppressed during disposal.") : e;
env5.hasError = true;
}
var r, s = 0;
function next() {
while (r = env5.stack.pop()) {
try {
if (!r.async && s === 1)
return s = 0, env5.stack.push(r), Promise.resolve().then(next);
if (r.dispose) {
var result = r.dispose.call(r.value);
if (r.async)
return s |= 2, Promise.resolve(result).then(next, function(e) {
fail(e);
return next();
});
} else
s |= 1;
} catch (e) {
fail(e);
}
}
if (s === 1)
return env5.hasError ? Promise.reject(env5.error) : Promise.resolve();
if (env5.hasError)
throw env5.error;
}
return next();
};
__rewriteRelativeImportExtension = function(path9, preserveJsx) {
if (typeof path9 === "string" && /^\.\.?\//.test(path9)) {
return path9.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m2, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m2 : d + ext + "." + cm.toLowerCase() + "js";
});
}
return path9;
};
exporter("__extends", __extends);
exporter("__assign", __assign);
exporter("__rest", __rest);
exporter("__decorate", __decorate);
exporter("__param", __param);
exporter("__esDecorate", __esDecorate);
exporter("__runInitializers", __runInitializers);
exporter("__propKey", __propKey);
exporter("__setFunctionName", __setFunctionName);
exporter("__metadata", __metadata);
exporter("__awaiter", __awaiter);
exporter("__generator", __generator);
exporter("__exportStar", __exportStar);
exporter("__createBinding", __createBinding);
exporter("__values", __values);
exporter("__read", __read);
exporter("__spread", __spread);
exporter("__spreadArrays", __spreadArrays);
exporter("__spreadArray", __spreadArray);
exporter("__await", __await);
exporter("__asyncGenerator", __asyncGenerator);
exporter("__asyncDelegator", __asyncDelegator);
exporter("__asyncValues", __asyncValues);
exporter("__makeTemplateObject", __makeTemplateObject);
exporter("__importStar", __importStar);
exporter("__importDefault", __importDefault);
exporter("__classPrivateFieldGet", __classPrivateFieldGet2);
exporter("__classPrivateFieldSet", __classPrivateFieldSet2);
exporter("__classPrivateFieldIn", __classPrivateFieldIn);
exporter("__addDisposableResource", __addDisposableResource);
exporter("__disposeResources", __disposeResources);
exporter("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension);
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.26/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js
var require_checkUrl = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkUrl = undefined;
var property_provider_1 = require_dist_cjs6();
var ECS_CONTAINER_HOST = "169.254.170.2";
var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
var checkUrl = (url3, logger) => {
if (url3.protocol === "https:") {
return;
}
if (url3.hostname === ECS_CONTAINER_HOST || url3.hostname === EKS_CONTAINER_HOST_IPv4 || url3.hostname === EKS_CONTAINER_HOST_IPv6) {
return;
}
if (url3.hostname.includes("[")) {
if (url3.hostname === "[::1]" || url3.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
return;
}
} else {
if (url3.hostname === "localhost") {
return;
}
const ipComponents = url3.hostname.split(".");
const inRange2 = (component) => {
const num = parseInt(component, 10);
return 0 <= num && num <= 255;
};
if (ipComponents[0] === "127" && inRange2(ipComponents[1]) && inRange2(ipComponents[2]) && inRange2(ipComponents[3]) && ipComponents.length === 4) {
return;
}
}
throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
- loopback CIDR 127.0.0.0/8 or [::1/128]
- ECS container host 169.254.170.2
- EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });
};
exports.checkUrl = checkUrl;
});
// node_modules/.pnpm/@smithy+middleware-stack@4.2.12/node_modules/@smithy/middleware-stack/dist-cjs/index.js
var require_dist_cjs13 = __commonJS((exports) => {
var getAllAliases = (name, aliases) => {
const _aliases = [];
if (name) {
_aliases.push(name);
}
if (aliases) {
for (const alias of aliases) {
_aliases.push(alias);
}
}
return _aliases;
};
var getMiddlewareNameWithAliases = (name, aliases) => {
return `${name || "anonymous"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(",")})` : ""}`;
};
var constructStack = () => {
let absoluteEntries = [];
let relativeEntries = [];
let identifyOnResolve = false;
const entriesNameSet = new Set;
const sort = (entries) => entries.sort((a2, b2) => stepWeights[b2.step] - stepWeights[a2.step] || priorityWeights[b2.priority || "normal"] - priorityWeights[a2.priority || "normal"]);
const removeByName = (toRemove) => {
let isRemoved = false;
const filterCb = (entry) => {
const aliases = getAllAliases(entry.name, entry.aliases);
if (aliases.includes(toRemove)) {
isRemoved = true;
for (const alias of aliases) {
entriesNameSet.delete(alias);
}
return false;
}
return true;
};
absoluteEntries = absoluteEntries.filter(filterCb);
relativeEntries = relativeEntries.filter(filterCb);
return isRemoved;
};
const removeByReference = (toRemove) => {
let isRemoved = false;
const filterCb = (entry) => {
if (entry.middleware === toRemove) {
isRemoved = true;
for (const alias of getAllAliases(entry.name, entry.aliases)) {
entriesNameSet.delete(alias);
}
return false;
}
return true;
};
absoluteEntries = absoluteEntries.filter(filterCb);
relativeEntries = relativeEntries.filter(filterCb);
return isRemoved;
};
const cloneTo = (toStack) => {
absoluteEntries.forEach((entry) => {
toStack.add(entry.middleware, { ...entry });
});
relativeEntries.forEach((entry) => {
toStack.addRelativeTo(entry.middleware, { ...entry });
});
toStack.identifyOnResolve?.(stack.identifyOnResolve());
return toStack;
};
const expandRelativeMiddlewareList = (from) => {
const expandedMiddlewareList = [];
from.before.forEach((entry) => {
if (entry.before.length === 0 && entry.after.length === 0) {
expandedMiddlewareList.push(entry);
} else {
expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));
}
});
expandedMiddlewareList.push(from);
from.after.reverse().forEach((entry) => {
if (entry.before.length === 0 && entry.after.length === 0) {
expandedMiddlewareList.push(entry);
} else {
expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));
}
});
return expandedMiddlewareList;
};
const getMiddlewareList = (debug3 = false) => {
const normalizedAbsoluteEntries = [];
const normalizedRelativeEntries = [];
const normalizedEntriesNameMap = {};
absoluteEntries.forEach((entry) => {
const normalizedEntry = {
...entry,
before: [],
after: []
};
for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {
normalizedEntriesNameMap[alias] = normalizedEntry;
}
normalizedAbsoluteEntries.push(normalizedEntry);
});
relativeEntries.forEach((entry) => {
const normalizedEntry = {
...entry,
before: [],
after: []
};
for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {
normalizedEntriesNameMap[alias] = normalizedEntry;
}
normalizedRelativeEntries.push(normalizedEntry);
});
normalizedRelativeEntries.forEach((entry) => {
if (entry.toMiddleware) {
const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];
if (toMiddleware === undefined) {
if (debug3) {
return;
}
throw new Error(`${entry.toMiddleware} is not found when adding ` + `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` + `middleware ${entry.relation} ${entry.toMiddleware}`);
}
if (entry.relation === "after") {
toMiddleware.after.push(entry);
}
if (entry.relation === "before") {
toMiddleware.before.push(entry);
}
}
});
const mainChain = sort(normalizedAbsoluteEntries).map(expandRelativeMiddlewareList).reduce((wholeList, expandedMiddlewareList) => {
wholeList.push(...expandedMiddlewareList);
return wholeList;
}, []);
return mainChain;
};
const stack = {
add: (middleware, options = {}) => {
const { name, override, aliases: _aliases } = options;
const entry = {
step: "initialize",
priority: "normal",
middleware,
...options
};
const aliases = getAllAliases(name, _aliases);
if (aliases.length > 0) {
if (aliases.some((alias) => entriesNameSet.has(alias))) {
if (!override)
throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);
for (const alias of aliases) {
const toOverrideIndex = absoluteEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a2) => a2 === alias));
if (toOverrideIndex === -1) {
continue;
}
const toOverride = absoluteEntries[toOverrideIndex];
if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {
throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware with ` + `${toOverride.priority} priority in ${toOverride.step} step cannot ` + `be overridden by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware with ` + `${entry.priority} priority in ${entry.step} step.`);
}
absoluteEntries.splice(toOverrideIndex, 1);
}
}
for (const alias of aliases) {
entriesNameSet.add(alias);
}
}
absoluteEntries.push(entry);
},
addRelativeTo: (middleware, options) => {
const { name, override, aliases: _aliases } = options;
const entry = {
middleware,
...options
};
const aliases = getAllAliases(name, _aliases);
if (aliases.length > 0) {
if (aliases.some((alias) => entriesNameSet.has(alias))) {
if (!override)
throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);
for (const alias of aliases) {
const toOverrideIndex = relativeEntries.findIndex((entry2) => entry2.name === alias || entry2.aliases?.some((a2) => a2 === alias));
if (toOverrideIndex === -1) {
continue;
}
const toOverride = relativeEntries[toOverrideIndex];
if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {
throw new Error(`"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}" middleware ` + `${toOverride.relation} "${toOverride.toMiddleware}" middleware cannot be overridden ` + `by "${getMiddlewareNameWithAliases(name, _aliases)}" middleware ${entry.relation} ` + `"${entry.toMiddleware}" middleware.`);
}
relativeEntries.splice(toOverrideIndex, 1);
}
}
for (const alias of aliases) {
entriesNameSet.add(alias);
}
}
relativeEntries.push(entry);
},
clone: () => cloneTo(constructStack()),
use: (plugin) => {
plugin.applyToStack(stack);
},
remove: (toRemove) => {
if (typeof toRemove === "string")
return removeByName(toRemove);
else
return removeByReference(toRemove);
},
removeByTag: (toRemove) => {
let isRemoved = false;
const filterCb = (entry) => {
const { tags, name, aliases: _aliases } = entry;
if (tags && tags.includes(toRemove)) {
const aliases = getAllAliases(name, _aliases);
for (const alias of aliases) {
entriesNameSet.delete(alias);
}
isRemoved = true;
return false;
}
return true;
};
absoluteEntries = absoluteEntries.filter(filterCb);
relativeEntries = relativeEntries.filter(filterCb);
return isRemoved;
},
concat: (from) => {
const cloned = cloneTo(constructStack());
cloned.use(from);
cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));
return cloned;
},
applyToStack: cloneTo,
identify: () => {
return getMiddlewareList(true).map((mw) => {
const step = mw.step ?? mw.relation + " " + mw.toMiddleware;
return getMiddlewareNameWithAliases(mw.name, mw.aliases) + " - " + step;
});
},
identifyOnResolve(toggle) {
if (typeof toggle === "boolean")
identifyOnResolve = toggle;
return identifyOnResolve;
},
resolve: (handler, context) => {
for (const middleware of getMiddlewareList().map((entry) => entry.middleware).reverse()) {
handler = middleware(handler, context);
}
if (identifyOnResolve) {
console.log(stack.identify());
}
return handler;
}
};
return stack;
};
var stepWeights = {
initialize: 5,
serialize: 4,
build: 3,
finalizeRequest: 2,
deserialize: 1
};
var priorityWeights = {
high: 3,
normal: 2,
low: 1
};
exports.constructStack = constructStack;
});
// node_modules/.pnpm/@smithy+is-array-buffer@4.2.2/node_modules/@smithy/is-array-buffer/dist-cjs/index.js
var require_dist_cjs14 = __commonJS((exports) => {
var isArrayBuffer3 = (arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]";
exports.isArrayBuffer = isArrayBuffer3;
});
// node_modules/.pnpm/@smithy+util-buffer-from@4.2.2/node_modules/@smithy/util-buffer-from/dist-cjs/index.js
var require_dist_cjs15 = __commonJS((exports) => {
var isArrayBuffer3 = require_dist_cjs14();
var buffer = __require("buffer");
var fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {
if (!isArrayBuffer3.isArrayBuffer(input)) {
throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
}
return buffer.Buffer.from(input, offset, length);
};
var fromString = (input, encoding) => {
if (typeof input !== "string") {
throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
}
return encoding ? buffer.Buffer.from(input, encoding) : buffer.Buffer.from(input);
};
exports.fromArrayBuffer = fromArrayBuffer;
exports.fromString = fromString;
});
// node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/fromBase64.js
var require_fromBase64 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromBase64 = undefined;
var util_buffer_from_1 = require_dist_cjs15();
var BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;
var fromBase64 = (input) => {
if (input.length * 3 % 4 !== 0) {
throw new TypeError(`Incorrect padding on base64 string.`);
}
if (!BASE64_REGEX.exec(input)) {
throw new TypeError(`Invalid base64 string.`);
}
const buffer = (0, util_buffer_from_1.fromString)(input, "base64");
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
};
exports.fromBase64 = fromBase64;
});
// node_modules/.pnpm/@smithy+util-utf8@4.2.2/node_modules/@smithy/util-utf8/dist-cjs/index.js
var require_dist_cjs16 = __commonJS((exports) => {
var utilBufferFrom = require_dist_cjs15();
var fromUtf8 = (input) => {
const buf = utilBufferFrom.fromString(input, "utf8");
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
};
var toUint8Array = (data) => {
if (typeof data === "string") {
return fromUtf8(data);
}
if (ArrayBuffer.isView(data)) {
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
}
return new Uint8Array(data);
};
var toUtf8 = (input) => {
if (typeof input === "string") {
return input;
}
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
}
return utilBufferFrom.fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
};
exports.fromUtf8 = fromUtf8;
exports.toUint8Array = toUint8Array;
exports.toUtf8 = toUtf8;
});
// node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/toBase64.js
var require_toBase64 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.toBase64 = undefined;
var util_buffer_from_1 = require_dist_cjs15();
var util_utf8_1 = require_dist_cjs16();
var toBase64 = (_input) => {
let input;
if (typeof _input === "string") {
input = (0, util_utf8_1.fromUtf8)(_input);
} else {
input = _input;
}
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");
}
return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("base64");
};
exports.toBase64 = toBase64;
});
// node_modules/.pnpm/@smithy+util-base64@4.3.2/node_modules/@smithy/util-base64/dist-cjs/index.js
var require_dist_cjs17 = __commonJS((exports) => {
var fromBase64 = require_fromBase64();
var toBase64 = require_toBase64();
Object.prototype.hasOwnProperty.call(fromBase64, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: fromBase64["__proto__"]
});
Object.keys(fromBase64).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = fromBase64[k2];
});
Object.prototype.hasOwnProperty.call(toBase64, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: toBase64["__proto__"]
});
Object.keys(toBase64).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = toBase64[k2];
});
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js
var require_ChecksumStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChecksumStream = undefined;
var util_base64_1 = require_dist_cjs17();
var stream_1 = __require("stream");
class ChecksumStream extends stream_1.Duplex {
expectedChecksum;
checksumSourceLocation;
checksum;
source;
base64Encoder;
pendingCallback = null;
constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) {
super();
if (typeof source.pipe === "function") {
this.source = source;
} else {
throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
}
this.base64Encoder = base64Encoder ?? util_base64_1.toBase64;
this.expectedChecksum = expectedChecksum;
this.checksum = checksum;
this.checksumSourceLocation = checksumSourceLocation;
this.source.pipe(this);
}
_read(size) {
if (this.pendingCallback) {
const callback = this.pendingCallback;
this.pendingCallback = null;
callback();
}
}
_write(chunk, encoding, callback) {
try {
this.checksum.update(chunk);
const canPushMore = this.push(chunk);
if (!canPushMore) {
this.pendingCallback = callback;
return;
}
} catch (e) {
return callback(e);
}
return callback();
}
async _final(callback) {
try {
const digest = await this.checksum.digest();
const received = this.base64Encoder(digest);
if (this.expectedChecksum !== received) {
return callback(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${received}"` + ` in response header "${this.checksumSourceLocation}".`));
}
} catch (e) {
return callback(e);
}
this.push(null);
return callback();
}
}
exports.ChecksumStream = ChecksumStream;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js
var require_stream_type_check = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBlob = exports.isReadableStream = undefined;
var isReadableStream4 = (stream4) => typeof ReadableStream === "function" && (stream4?.constructor?.name === ReadableStream.name || stream4 instanceof ReadableStream);
exports.isReadableStream = isReadableStream4;
var isBlob2 = (blob) => {
return typeof Blob === "function" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);
};
exports.isBlob = isBlob2;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js
var require_ChecksumStream_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChecksumStream = undefined;
var ReadableStreamRef = typeof ReadableStream === "function" ? ReadableStream : function() {};
class ChecksumStream extends ReadableStreamRef {
}
exports.ChecksumStream = ChecksumStream;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js
var require_createChecksumStream_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createChecksumStream = undefined;
var util_base64_1 = require_dist_cjs17();
var stream_type_check_1 = require_stream_type_check();
var ChecksumStream_browser_1 = require_ChecksumStream_browser();
var createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder }) => {
if (!(0, stream_type_check_1.isReadableStream)(source)) {
throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);
}
const encoder = base64Encoder ?? util_base64_1.toBase64;
if (typeof TransformStream !== "function") {
throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.");
}
const transform2 = new TransformStream({
start() {},
async transform(chunk, controller) {
checksum.update(chunk);
controller.enqueue(chunk);
},
async flush(controller) {
const digest = await checksum.digest();
const received = encoder(digest);
if (expectedChecksum !== received) {
const error49 = new Error(`Checksum mismatch: expected "${expectedChecksum}" but received "${received}"` + ` in response header "${checksumSourceLocation}".`);
controller.error(error49);
} else {
controller.terminate();
}
}
});
source.pipeThrough(transform2);
const readable2 = transform2.readable;
Object.setPrototypeOf(readable2, ChecksumStream_browser_1.ChecksumStream.prototype);
return readable2;
};
exports.createChecksumStream = createChecksumStream;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js
var require_createChecksumStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createChecksumStream = createChecksumStream;
var stream_type_check_1 = require_stream_type_check();
var ChecksumStream_1 = require_ChecksumStream();
var createChecksumStream_browser_1 = require_createChecksumStream_browser();
function createChecksumStream(init) {
if (typeof ReadableStream === "function" && (0, stream_type_check_1.isReadableStream)(init.source)) {
return (0, createChecksumStream_browser_1.createChecksumStream)(init);
}
return new ChecksumStream_1.ChecksumStream(init);
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js
var require_ByteArrayCollector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ByteArrayCollector = undefined;
class ByteArrayCollector {
allocByteArray;
byteLength = 0;
byteArrays = [];
constructor(allocByteArray) {
this.allocByteArray = allocByteArray;
}
push(byteArray) {
this.byteArrays.push(byteArray);
this.byteLength += byteArray.byteLength;
}
flush() {
if (this.byteArrays.length === 1) {
const bytes = this.byteArrays[0];
this.reset();
return bytes;
}
const aggregation = this.allocByteArray(this.byteLength);
let cursor = 0;
for (let i2 = 0;i2 < this.byteArrays.length; ++i2) {
const bytes = this.byteArrays[i2];
aggregation.set(bytes, cursor);
cursor += bytes.byteLength;
}
this.reset();
return aggregation;
}
reset() {
this.byteArrays = [];
this.byteLength = 0;
}
}
exports.ByteArrayCollector = ByteArrayCollector;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js
var require_createBufferedReadableStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBufferedReadable = undefined;
exports.createBufferedReadableStream = createBufferedReadableStream;
exports.merge = merge3;
exports.flush = flush;
exports.sizeOf = sizeOf;
exports.modeOf = modeOf;
var ByteArrayCollector_1 = require_ByteArrayCollector();
function createBufferedReadableStream(upstream, size, logger) {
const reader = upstream.getReader();
let streamBufferingLoggedWarning = false;
let bytesSeen = 0;
const buffers = ["", new ByteArrayCollector_1.ByteArrayCollector((size2) => new Uint8Array(size2))];
let mode = -1;
const pull = async (controller) => {
const { value, done } = await reader.read();
const chunk = value;
if (done) {
if (mode !== -1) {
const remainder = flush(buffers, mode);
if (sizeOf(remainder) > 0) {
controller.enqueue(remainder);
}
}
controller.close();
} else {
const chunkMode = modeOf(chunk, false);
if (mode !== chunkMode) {
if (mode >= 0) {
controller.enqueue(flush(buffers, mode));
}
mode = chunkMode;
}
if (mode === -1) {
controller.enqueue(chunk);
return;
}
const chunkSize = sizeOf(chunk);
bytesSeen += chunkSize;
const bufferSize = sizeOf(buffers[mode]);
if (chunkSize >= size && bufferSize === 0) {
controller.enqueue(chunk);
} else {
const newSize = merge3(buffers, mode, chunk);
if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {
streamBufferingLoggedWarning = true;
logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);
}
if (newSize >= size) {
controller.enqueue(flush(buffers, mode));
} else {
await pull(controller);
}
}
}
};
return new ReadableStream({
pull
});
}
exports.createBufferedReadable = createBufferedReadableStream;
function merge3(buffers, mode, chunk) {
switch (mode) {
case 0:
buffers[0] += chunk;
return sizeOf(buffers[0]);
case 1:
case 2:
buffers[mode].push(chunk);
return sizeOf(buffers[mode]);
}
}
function flush(buffers, mode) {
switch (mode) {
case 0:
const s = buffers[0];
buffers[0] = "";
return s;
case 1:
case 2:
return buffers[mode].flush();
}
throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);
}
function sizeOf(chunk) {
return chunk?.byteLength ?? chunk?.length ?? 0;
}
function modeOf(chunk, allowBuffer = true) {
if (allowBuffer && typeof Buffer !== "undefined" && chunk instanceof Buffer) {
return 2;
}
if (chunk instanceof Uint8Array) {
return 1;
}
if (typeof chunk === "string") {
return 0;
}
return -1;
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js
var require_createBufferedReadable = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBufferedReadable = createBufferedReadable;
var node_stream_1 = __require("node:stream");
var ByteArrayCollector_1 = require_ByteArrayCollector();
var createBufferedReadableStream_1 = require_createBufferedReadableStream();
var stream_type_check_1 = require_stream_type_check();
function createBufferedReadable(upstream, size, logger) {
if ((0, stream_type_check_1.isReadableStream)(upstream)) {
return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);
}
const downstream = new node_stream_1.Readable({ read() {} });
let streamBufferingLoggedWarning = false;
let bytesSeen = 0;
const buffers = [
"",
new ByteArrayCollector_1.ByteArrayCollector((size2) => new Uint8Array(size2)),
new ByteArrayCollector_1.ByteArrayCollector((size2) => Buffer.from(new Uint8Array(size2)))
];
let mode = -1;
upstream.on("data", (chunk) => {
const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);
if (mode !== chunkMode) {
if (mode >= 0) {
downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));
}
mode = chunkMode;
}
if (mode === -1) {
downstream.push(chunk);
return;
}
const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);
bytesSeen += chunkSize;
const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);
if (chunkSize >= size && bufferSize === 0) {
downstream.push(chunk);
} else {
const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);
if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {
streamBufferingLoggedWarning = true;
logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);
}
if (newSize >= size) {
downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));
}
}
});
upstream.on("end", () => {
if (mode !== -1) {
const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);
if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {
downstream.push(remainder);
}
}
downstream.push(null);
});
return downstream;
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.browser.js
var require_getAwsChunkedEncodingStream_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAwsChunkedEncodingStream = undefined;
var getAwsChunkedEncodingStream = (readableStream, options) => {
const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;
const checksumRequired = base64Encoder !== undefined && bodyLengthChecker !== undefined && checksumAlgorithmFn !== undefined && checksumLocationName !== undefined && streamHasher !== undefined;
const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;
const reader = readableStream.getReader();
return new ReadableStream({
async pull(controller) {
const { value, done } = await reader.read();
if (done) {
controller.enqueue(`0\r
`);
if (checksumRequired) {
const checksum = base64Encoder(await digest);
controller.enqueue(`${checksumLocationName}:${checksum}\r
`);
controller.enqueue(`\r
`);
}
controller.close();
} else {
controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\r
${value}\r
`);
}
}
});
};
exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js
var require_getAwsChunkedEncodingStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;
var node_stream_1 = __require("node:stream");
var getAwsChunkedEncodingStream_browser_1 = require_getAwsChunkedEncodingStream_browser();
var stream_type_check_1 = require_stream_type_check();
function getAwsChunkedEncodingStream(stream4, options) {
const readable2 = stream4;
const readableStream = stream4;
if ((0, stream_type_check_1.isReadableStream)(readableStream)) {
return (0, getAwsChunkedEncodingStream_browser_1.getAwsChunkedEncodingStream)(readableStream, options);
}
const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;
const checksumRequired = base64Encoder !== undefined && checksumAlgorithmFn !== undefined && checksumLocationName !== undefined && streamHasher !== undefined;
const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readable2) : undefined;
const awsChunkedEncodingStream = new node_stream_1.Readable({
read: () => {}
});
readable2.on("data", (data) => {
const length = bodyLengthChecker(data) || 0;
if (length === 0) {
return;
}
awsChunkedEncodingStream.push(`${length.toString(16)}\r
`);
awsChunkedEncodingStream.push(data);
awsChunkedEncodingStream.push(`\r
`);
});
readable2.on("end", async () => {
awsChunkedEncodingStream.push(`0\r
`);
if (checksumRequired) {
const checksum = base64Encoder(await digest);
awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\r
`);
awsChunkedEncodingStream.push(`\r
`);
}
awsChunkedEncodingStream.push(null);
});
return awsChunkedEncodingStream;
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js
var require_headStream_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.headStream = headStream;
async function headStream(stream4, bytes) {
let byteLengthCounter = 0;
const chunks = [];
const reader = stream4.getReader();
let isDone = false;
while (!isDone) {
const { done, value } = await reader.read();
if (value) {
chunks.push(value);
byteLengthCounter += value?.byteLength ?? 0;
}
if (byteLengthCounter >= bytes) {
break;
}
isDone = done;
}
reader.releaseLock();
const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));
let offset = 0;
for (const chunk of chunks) {
if (chunk.byteLength > collected.byteLength - offset) {
collected.set(chunk.subarray(0, collected.byteLength - offset), offset);
break;
} else {
collected.set(chunk, offset);
}
offset += chunk.length;
}
return collected;
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/headStream.js
var require_headStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.headStream = undefined;
var stream_1 = __require("stream");
var headStream_browser_1 = require_headStream_browser();
var stream_type_check_1 = require_stream_type_check();
var headStream = (stream4, bytes) => {
if ((0, stream_type_check_1.isReadableStream)(stream4)) {
return (0, headStream_browser_1.headStream)(stream4, bytes);
}
return new Promise((resolve9, reject) => {
const collector = new Collector;
collector.limit = bytes;
stream4.pipe(collector);
stream4.on("error", (err) => {
collector.end();
reject(err);
});
collector.on("error", reject);
collector.on("finish", function() {
const bytes2 = new Uint8Array(Buffer.concat(this.buffers));
resolve9(bytes2);
});
});
};
exports.headStream = headStream;
class Collector extends stream_1.Writable {
buffers = [];
limit = Infinity;
bytesBuffered = 0;
_write(chunk, encoding, callback) {
this.buffers.push(chunk);
this.bytesBuffered += chunk.byteLength ?? 0;
if (this.bytesBuffered >= this.limit) {
const excess = this.bytesBuffered - this.limit;
const tailBuffer = this.buffers[this.buffers.length - 1];
this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);
this.emit("finish");
}
callback();
}
}
});
// node_modules/.pnpm/@smithy+fetch-http-handler@5.3.15/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js
var require_dist_cjs18 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var querystringBuilder = require_dist_cjs4();
var utilBase64 = require_dist_cjs17();
function createRequest(url3, requestOptions) {
return new Request(url3, requestOptions);
}
function requestTimeout(timeoutInMs = 0) {
return new Promise((resolve9, reject) => {
if (timeoutInMs) {
setTimeout(() => {
const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);
timeoutError.name = "TimeoutError";
reject(timeoutError);
}, timeoutInMs);
}
});
}
var keepAliveSupport = {
supported: undefined
};
class FetchHttpHandler {
config;
configProvider;
static create(instanceOrOptions) {
if (typeof instanceOrOptions?.handle === "function") {
return instanceOrOptions;
}
return new FetchHttpHandler(instanceOrOptions);
}
constructor(options) {
if (typeof options === "function") {
this.configProvider = options().then((opts) => opts || {});
} else {
this.config = options ?? {};
this.configProvider = Promise.resolve(this.config);
}
if (keepAliveSupport.supported === undefined) {
keepAliveSupport.supported = Boolean(typeof Request !== "undefined" && "keepalive" in createRequest("https://[::1]"));
}
}
destroy() {}
async handle(request, { abortSignal, requestTimeout: requestTimeout$1 } = {}) {
if (!this.config) {
this.config = await this.configProvider;
}
const requestTimeoutInMs = requestTimeout$1 ?? this.config.requestTimeout;
const keepAlive = this.config.keepAlive === true;
const credentials = this.config.credentials;
if (abortSignal?.aborted) {
const abortError = buildAbortError(abortSignal);
return Promise.reject(abortError);
}
let path9 = request.path;
const queryString = querystringBuilder.buildQueryString(request.query || {});
if (queryString) {
path9 += `?${queryString}`;
}
if (request.fragment) {
path9 += `#${request.fragment}`;
}
let auth = "";
if (request.username != null || request.password != null) {
const username = request.username ?? "";
const password = request.password ?? "";
auth = `${username}:${password}@`;
}
const { port, method } = request;
const url3 = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : ""}${path9}`;
const body = method === "GET" || method === "HEAD" ? undefined : request.body;
const requestOptions = {
body,
headers: new Headers(request.headers),
method,
credentials
};
if (this.config?.cache) {
requestOptions.cache = this.config.cache;
}
if (body) {
requestOptions.duplex = "half";
}
if (typeof AbortController !== "undefined") {
requestOptions.signal = abortSignal;
}
if (keepAliveSupport.supported) {
requestOptions.keepalive = keepAlive;
}
if (typeof this.config.requestInit === "function") {
Object.assign(requestOptions, this.config.requestInit(request));
}
let removeSignalEventListener = () => {};
const fetchRequest = createRequest(url3, requestOptions);
const raceOfPromises = [
fetch(fetchRequest).then((response) => {
const fetchHeaders = response.headers;
const transformedHeaders = {};
for (const pair of fetchHeaders.entries()) {
transformedHeaders[pair[0]] = pair[1];
}
const hasReadableStream = response.body != null;
if (!hasReadableStream) {
return response.blob().then((body2) => ({
response: new protocolHttp.HttpResponse({
headers: transformedHeaders,
reason: response.statusText,
statusCode: response.status,
body: body2
})
}));
}
return {
response: new protocolHttp.HttpResponse({
headers: transformedHeaders,
reason: response.statusText,
statusCode: response.status,
body: response.body
})
};
}),
requestTimeout(requestTimeoutInMs)
];
if (abortSignal) {
raceOfPromises.push(new Promise((resolve9, reject) => {
const onAbort = () => {
const abortError = buildAbortError(abortSignal);
reject(abortError);
};
if (typeof abortSignal.addEventListener === "function") {
const signal = abortSignal;
signal.addEventListener("abort", onAbort, { once: true });
removeSignalEventListener = () => signal.removeEventListener("abort", onAbort);
} else {
abortSignal.onabort = onAbort;
}
}));
}
return Promise.race(raceOfPromises).finally(removeSignalEventListener);
}
updateHttpClientConfig(key, value) {
this.config = undefined;
this.configProvider = this.configProvider.then((config2) => {
config2[key] = value;
return config2;
});
}
httpHandlerConfigs() {
return this.config ?? {};
}
}
function buildAbortError(abortSignal) {
const reason = abortSignal && typeof abortSignal === "object" && "reason" in abortSignal ? abortSignal.reason : undefined;
if (reason) {
if (reason instanceof Error) {
const abortError3 = new Error("Request aborted");
abortError3.name = "AbortError";
abortError3.cause = reason;
return abortError3;
}
const abortError2 = new Error(String(reason));
abortError2.name = "AbortError";
return abortError2;
}
const abortError = new Error("Request aborted");
abortError.name = "AbortError";
return abortError;
}
var streamCollector = async (stream4) => {
if (typeof Blob === "function" && stream4 instanceof Blob || stream4.constructor?.name === "Blob") {
if (Blob.prototype.arrayBuffer !== undefined) {
return new Uint8Array(await stream4.arrayBuffer());
}
return collectBlob(stream4);
}
return collectStream(stream4);
};
async function collectBlob(blob) {
const base643 = await readToBase64(blob);
const arrayBuffer = utilBase64.fromBase64(base643);
return new Uint8Array(arrayBuffer);
}
async function collectStream(stream4) {
const chunks = [];
const reader = stream4.getReader();
let isDone = false;
let length = 0;
while (!isDone) {
const { done, value } = await reader.read();
if (value) {
chunks.push(value);
length += value.length;
}
isDone = done;
}
const collected = new Uint8Array(length);
let offset = 0;
for (const chunk of chunks) {
collected.set(chunk, offset);
offset += chunk.length;
}
return collected;
}
function readToBase64(blob) {
return new Promise((resolve9, reject) => {
const reader = new FileReader;
reader.onloadend = () => {
if (reader.readyState !== 2) {
return reject(new Error("Reader aborted too early"));
}
const result = reader.result ?? "";
const commaIndex = result.indexOf(",");
const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;
resolve9(result.substring(dataOffset));
};
reader.onabort = () => reject(new Error("Read aborted"));
reader.onerror = () => reject(reader.error);
reader.readAsDataURL(blob);
});
}
exports.FetchHttpHandler = FetchHttpHandler;
exports.keepAliveSupport = keepAliveSupport;
exports.streamCollector = streamCollector;
});
// node_modules/.pnpm/@smithy+util-hex-encoding@4.2.2/node_modules/@smithy/util-hex-encoding/dist-cjs/index.js
var require_dist_cjs19 = __commonJS((exports) => {
var SHORT_TO_HEX = {};
var HEX_TO_SHORT = {};
for (let i2 = 0;i2 < 256; i2++) {
let encodedByte = i2.toString(16).toLowerCase();
if (encodedByte.length === 1) {
encodedByte = `0${encodedByte}`;
}
SHORT_TO_HEX[i2] = encodedByte;
HEX_TO_SHORT[encodedByte] = i2;
}
function fromHex(encoded) {
if (encoded.length % 2 !== 0) {
throw new Error("Hex encoded strings must have an even number length");
}
const out = new Uint8Array(encoded.length / 2);
for (let i2 = 0;i2 < encoded.length; i2 += 2) {
const encodedByte = encoded.slice(i2, i2 + 2).toLowerCase();
if (encodedByte in HEX_TO_SHORT) {
out[i2 / 2] = HEX_TO_SHORT[encodedByte];
} else {
throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);
}
}
return out;
}
function toHex(bytes) {
let out = "";
for (let i2 = 0;i2 < bytes.byteLength; i2++) {
out += SHORT_TO_HEX[bytes[i2]];
}
return out;
}
exports.fromHex = fromHex;
exports.toHex = toHex;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js
var require_sdk_stream_mixin_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.sdkStreamMixin = undefined;
var fetch_http_handler_1 = require_dist_cjs18();
var util_base64_1 = require_dist_cjs17();
var util_hex_encoding_1 = require_dist_cjs19();
var util_utf8_1 = require_dist_cjs16();
var stream_type_check_1 = require_stream_type_check();
var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed.";
var sdkStreamMixin = (stream4) => {
if (!isBlobInstance(stream4) && !(0, stream_type_check_1.isReadableStream)(stream4)) {
const name = stream4?.__proto__?.constructor?.name || stream4;
throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);
}
let transformed = false;
const transformToByteArray = async () => {
if (transformed) {
throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
}
transformed = true;
return await (0, fetch_http_handler_1.streamCollector)(stream4);
};
const blobToWebStream = (blob) => {
if (typeof blob.stream !== "function") {
throw new Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.
` + "If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body");
}
return blob.stream();
};
return Object.assign(stream4, {
transformToByteArray,
transformToString: async (encoding) => {
const buf = await transformToByteArray();
if (encoding === "base64") {
return (0, util_base64_1.toBase64)(buf);
} else if (encoding === "hex") {
return (0, util_hex_encoding_1.toHex)(buf);
} else if (encoding === undefined || encoding === "utf8" || encoding === "utf-8") {
return (0, util_utf8_1.toUtf8)(buf);
} else if (typeof TextDecoder === "function") {
return new TextDecoder(encoding).decode(buf);
} else {
throw new Error("TextDecoder is not available, please make sure polyfill is provided.");
}
},
transformToWebStream: () => {
if (transformed) {
throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
}
transformed = true;
if (isBlobInstance(stream4)) {
return blobToWebStream(stream4);
} else if ((0, stream_type_check_1.isReadableStream)(stream4)) {
return stream4;
} else {
throw new Error(`Cannot transform payload to web stream, got ${stream4}`);
}
}
});
};
exports.sdkStreamMixin = sdkStreamMixin;
var isBlobInstance = (stream4) => typeof Blob === "function" && stream4 instanceof Blob;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js
var require_sdk_stream_mixin = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.sdkStreamMixin = undefined;
var node_http_handler_1 = require_dist_cjs5();
var util_buffer_from_1 = require_dist_cjs15();
var stream_1 = __require("stream");
var sdk_stream_mixin_browser_1 = require_sdk_stream_mixin_browser();
var ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = "The stream has already been transformed.";
var sdkStreamMixin = (stream4) => {
if (!(stream4 instanceof stream_1.Readable)) {
try {
return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream4);
} catch (e) {
const name = stream4?.__proto__?.constructor?.name || stream4;
throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);
}
}
let transformed = false;
const transformToByteArray = async () => {
if (transformed) {
throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
}
transformed = true;
return await (0, node_http_handler_1.streamCollector)(stream4);
};
return Object.assign(stream4, {
transformToByteArray,
transformToString: async (encoding) => {
const buf = await transformToByteArray();
if (encoding === undefined || Buffer.isEncoding(encoding)) {
return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);
} else {
const decoder = new TextDecoder(encoding);
return decoder.decode(buf);
}
},
transformToWebStream: () => {
if (transformed) {
throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);
}
if (stream4.readableFlowing !== null) {
throw new Error("The stream has been consumed by other callbacks.");
}
if (typeof stream_1.Readable.toWeb !== "function") {
throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");
}
transformed = true;
return stream_1.Readable.toWeb(stream4);
}
});
};
exports.sdkStreamMixin = sdkStreamMixin;
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js
var require_splitStream_browser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.splitStream = splitStream;
async function splitStream(stream4) {
if (typeof stream4.stream === "function") {
stream4 = stream4.stream();
}
const readableStream = stream4;
return readableStream.tee();
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/splitStream.js
var require_splitStream = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.splitStream = splitStream;
var stream_1 = __require("stream");
var splitStream_browser_1 = require_splitStream_browser();
var stream_type_check_1 = require_stream_type_check();
async function splitStream(stream4) {
if ((0, stream_type_check_1.isReadableStream)(stream4) || (0, stream_type_check_1.isBlob)(stream4)) {
return (0, splitStream_browser_1.splitStream)(stream4);
}
const stream1 = new stream_1.PassThrough;
const stream22 = new stream_1.PassThrough;
stream4.pipe(stream1);
stream4.pipe(stream22);
return [stream1, stream22];
}
});
// node_modules/.pnpm/@smithy+util-stream@4.5.21/node_modules/@smithy/util-stream/dist-cjs/index.js
var require_dist_cjs20 = __commonJS((exports) => {
var utilBase64 = require_dist_cjs17();
var utilUtf8 = require_dist_cjs16();
var ChecksumStream = require_ChecksumStream();
var createChecksumStream = require_createChecksumStream();
var createBufferedReadable = require_createBufferedReadable();
var getAwsChunkedEncodingStream = require_getAwsChunkedEncodingStream();
var headStream = require_headStream();
var sdkStreamMixin = require_sdk_stream_mixin();
var splitStream = require_splitStream();
var streamTypeCheck = require_stream_type_check();
class Uint8ArrayBlobAdapter extends Uint8Array {
static fromString(source, encoding = "utf-8") {
if (typeof source === "string") {
if (encoding === "base64") {
return Uint8ArrayBlobAdapter.mutate(utilBase64.fromBase64(source));
}
return Uint8ArrayBlobAdapter.mutate(utilUtf8.fromUtf8(source));
}
throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);
}
static mutate(source) {
Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);
return source;
}
transformToString(encoding = "utf-8") {
if (encoding === "base64") {
return utilBase64.toBase64(this);
}
return utilUtf8.toUtf8(this);
}
}
exports.isBlob = streamTypeCheck.isBlob;
exports.isReadableStream = streamTypeCheck.isReadableStream;
exports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter;
Object.prototype.hasOwnProperty.call(ChecksumStream, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: ChecksumStream["__proto__"]
});
Object.keys(ChecksumStream).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = ChecksumStream[k2];
});
Object.prototype.hasOwnProperty.call(createChecksumStream, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: createChecksumStream["__proto__"]
});
Object.keys(createChecksumStream).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = createChecksumStream[k2];
});
Object.prototype.hasOwnProperty.call(createBufferedReadable, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: createBufferedReadable["__proto__"]
});
Object.keys(createBufferedReadable).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = createBufferedReadable[k2];
});
Object.prototype.hasOwnProperty.call(getAwsChunkedEncodingStream, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: getAwsChunkedEncodingStream["__proto__"]
});
Object.keys(getAwsChunkedEncodingStream).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = getAwsChunkedEncodingStream[k2];
});
Object.prototype.hasOwnProperty.call(headStream, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: headStream["__proto__"]
});
Object.keys(headStream).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = headStream[k2];
});
Object.prototype.hasOwnProperty.call(sdkStreamMixin, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: sdkStreamMixin["__proto__"]
});
Object.keys(sdkStreamMixin).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = sdkStreamMixin[k2];
});
Object.prototype.hasOwnProperty.call(splitStream, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: splitStream["__proto__"]
});
Object.keys(splitStream).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = splitStream[k2];
});
});
// node_modules/.pnpm/@smithy+util-middleware@4.2.12/node_modules/@smithy/util-middleware/dist-cjs/index.js
var require_dist_cjs21 = __commonJS((exports) => {
var types = require_dist_cjs();
var getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
var normalizeProvider = (input) => {
if (typeof input === "function")
return input;
const promisified = Promise.resolve(input);
return () => promisified;
};
exports.getSmithyContext = getSmithyContext;
exports.normalizeProvider = normalizeProvider;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js
var require_endpoints = __commonJS((exports) => {
var urlParser = require_dist_cjs11();
var toEndpointV1 = (endpoint) => {
if (typeof endpoint === "object") {
if ("url" in endpoint) {
const v1Endpoint = urlParser.parseUrl(endpoint.url);
if (endpoint.headers) {
v1Endpoint.headers = {};
for (const [name, values] of Object.entries(endpoint.headers)) {
v1Endpoint.headers[name.toLowerCase()] = values.join(", ");
}
}
return v1Endpoint;
}
return endpoint;
}
return urlParser.parseUrl(endpoint);
};
exports.toEndpointV1 = toEndpointV1;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js
var require_schema = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var utilMiddleware = require_dist_cjs21();
var endpoints = require_endpoints();
var deref = (schemaRef) => {
if (typeof schemaRef === "function") {
return schemaRef();
}
return schemaRef;
};
var operation = (namespace, name, traits, input, output) => ({
name,
namespace,
traits,
input,
output
});
var schemaDeserializationMiddleware = (config2) => (next, context) => async (args) => {
const { response } = await next(args);
const { operationSchema } = utilMiddleware.getSmithyContext(context);
const [, ns, n2, t, i2, o2] = operationSchema ?? [];
try {
const parsed = await config2.protocol.deserializeResponse(operation(ns, n2, t, i2, o2), {
...config2,
...context
}, response);
return {
response,
output: parsed
};
} catch (error50) {
Object.defineProperty(error50, "$response", {
value: response,
enumerable: false,
writable: false,
configurable: false
});
if (!("$metadata" in error50)) {
const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
try {
error50.message += `
` + hint;
} catch (e) {
if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") {
console.warn(hint);
} else {
context.logger?.warn?.(hint);
}
}
if (typeof error50.$responseBodyText !== "undefined") {
if (error50.$response) {
error50.$response.body = error50.$responseBodyText;
}
}
try {
if (protocolHttp.HttpResponse.isInstance(response)) {
const { headers = {} } = response;
const headerEntries = Object.entries(headers);
error50.$metadata = {
httpStatusCode: response.statusCode,
requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries)
};
}
} catch (e) {}
}
throw error50;
}
};
var findHeader = (pattern, headers) => {
return (headers.find(([k2]) => {
return k2.match(pattern);
}) || [undefined, undefined])[1];
};
var schemaSerializationMiddleware = (config2) => (next, context) => async (args) => {
const { operationSchema } = utilMiddleware.getSmithyContext(context);
const [, ns, n2, t, i2, o2] = operationSchema ?? [];
const endpoint = context.endpointV2 ? async () => endpoints.toEndpointV1(context.endpointV2) : config2.endpoint;
const request = await config2.protocol.serializeRequest(operation(ns, n2, t, i2, o2), args.input, {
...config2,
...context,
endpoint
});
return next({
...args,
request
});
};
var deserializerMiddlewareOption = {
name: "deserializerMiddleware",
step: "deserialize",
tags: ["DESERIALIZER"],
override: true
};
var serializerMiddlewareOption = {
name: "serializerMiddleware",
step: "serialize",
tags: ["SERIALIZER"],
override: true
};
function getSchemaSerdePlugin(config2) {
return {
applyToStack: (commandStack) => {
commandStack.add(schemaSerializationMiddleware(config2), serializerMiddlewareOption);
commandStack.add(schemaDeserializationMiddleware(config2), deserializerMiddlewareOption);
config2.protocol.setSerdeContext(config2);
}
};
}
class Schema {
name;
namespace;
traits;
static assign(instance, values) {
const schema = Object.assign(instance, values);
return schema;
}
static [Symbol.hasInstance](lhs) {
const isPrototype2 = this.prototype.isPrototypeOf(lhs);
if (!isPrototype2 && typeof lhs === "object" && lhs !== null) {
const list2 = lhs;
return list2.symbol === this.symbol;
}
return isPrototype2;
}
getName() {
return this.namespace + "#" + this.name;
}
}
class ListSchema extends Schema {
static symbol = Symbol.for("@smithy/lis");
name;
traits;
valueSchema;
symbol = ListSchema.symbol;
}
var list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema, {
name,
namespace,
traits,
valueSchema
});
class MapSchema extends Schema {
static symbol = Symbol.for("@smithy/map");
name;
traits;
keySchema;
valueSchema;
symbol = MapSchema.symbol;
}
var map2 = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema, {
name,
namespace,
traits,
keySchema,
valueSchema
});
class OperationSchema extends Schema {
static symbol = Symbol.for("@smithy/ope");
name;
traits;
input;
output;
symbol = OperationSchema.symbol;
}
var op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema, {
name,
namespace,
traits,
input,
output
});
class StructureSchema extends Schema {
static symbol = Symbol.for("@smithy/str");
name;
traits;
memberNames;
memberList;
symbol = StructureSchema.symbol;
}
var struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema, {
name,
namespace,
traits,
memberNames,
memberList
});
class ErrorSchema extends StructureSchema {
static symbol = Symbol.for("@smithy/err");
ctor;
symbol = ErrorSchema.symbol;
}
var error49 = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema, {
name,
namespace,
traits,
memberNames,
memberList,
ctor: null
});
var traitsCache = [];
function translateTraits(indicator) {
if (typeof indicator === "object") {
return indicator;
}
indicator = indicator | 0;
if (traitsCache[indicator]) {
return traitsCache[indicator];
}
const traits = {};
let i2 = 0;
for (const trait of [
"httpLabel",
"idempotent",
"idempotencyToken",
"sensitive",
"httpPayload",
"httpResponseCode",
"httpQueryParams"
]) {
if ((indicator >> i2++ & 1) === 1) {
traits[trait] = 1;
}
}
return traitsCache[indicator] = traits;
}
var anno = {
it: Symbol.for("@smithy/nor-struct-it"),
ns: Symbol.for("@smithy/ns")
};
var simpleSchemaCacheN = [];
var simpleSchemaCacheS = {};
class NormalizedSchema {
ref;
memberName;
static symbol = Symbol.for("@smithy/nor");
symbol = NormalizedSchema.symbol;
name;
schema;
_isMemberSchema;
traits;
memberTraits;
normalizedTraits;
constructor(ref, memberName) {
this.ref = ref;
this.memberName = memberName;
const traitStack = [];
let _ref = ref;
let schema = ref;
this._isMemberSchema = false;
while (isMemberSchema(_ref)) {
traitStack.push(_ref[1]);
_ref = _ref[0];
schema = deref(_ref);
this._isMemberSchema = true;
}
if (traitStack.length > 0) {
this.memberTraits = {};
for (let i2 = traitStack.length - 1;i2 >= 0; --i2) {
const traitSet = traitStack[i2];
Object.assign(this.memberTraits, translateTraits(traitSet));
}
} else {
this.memberTraits = 0;
}
if (schema instanceof NormalizedSchema) {
const computedMemberTraits = this.memberTraits;
Object.assign(this, schema);
this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());
this.normalizedTraits = undefined;
this.memberName = memberName ?? schema.memberName;
return;
}
this.schema = deref(schema);
if (isStaticSchema(this.schema)) {
this.name = `${this.schema[1]}#${this.schema[2]}`;
this.traits = this.schema[3];
} else {
this.name = this.memberName ?? String(schema);
this.traits = 0;
}
if (this._isMemberSchema && !memberName) {
throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);
}
}
static [Symbol.hasInstance](lhs) {
const isPrototype2 = this.prototype.isPrototypeOf(lhs);
if (!isPrototype2 && typeof lhs === "object" && lhs !== null) {
const ns = lhs;
return ns.symbol === this.symbol;
}
return isPrototype2;
}
static of(ref) {
const keyAble = typeof ref === "function" || typeof ref === "object" && ref !== null;
if (typeof ref === "number") {
if (simpleSchemaCacheN[ref]) {
return simpleSchemaCacheN[ref];
}
} else if (typeof ref === "string") {
if (simpleSchemaCacheS[ref]) {
return simpleSchemaCacheS[ref];
}
} else if (keyAble) {
if (ref[anno.ns]) {
return ref[anno.ns];
}
}
const sc = deref(ref);
if (sc instanceof NormalizedSchema) {
return sc;
}
if (isMemberSchema(sc)) {
const [ns2, traits] = sc;
if (ns2 instanceof NormalizedSchema) {
Object.assign(ns2.getMergedTraits(), translateTraits(traits));
return ns2;
}
throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);
}
const ns = new NormalizedSchema(sc);
if (keyAble) {
return ref[anno.ns] = ns;
}
if (typeof sc === "string") {
return simpleSchemaCacheS[sc] = ns;
}
if (typeof sc === "number") {
return simpleSchemaCacheN[sc] = ns;
}
return ns;
}
getSchema() {
const sc = this.schema;
if (Array.isArray(sc) && sc[0] === 0) {
return sc[4];
}
return sc;
}
getName(withNamespace = false) {
const { name } = this;
const short = !withNamespace && name && name.includes("#");
return short ? name.split("#")[1] : name || undefined;
}
getMemberName() {
return this.memberName;
}
isMemberSchema() {
return this._isMemberSchema;
}
isListSchema() {
const sc = this.getSchema();
return typeof sc === "number" ? sc >= 64 && sc < 128 : sc[0] === 1;
}
isMapSchema() {
const sc = this.getSchema();
return typeof sc === "number" ? sc >= 128 && sc <= 255 : sc[0] === 2;
}
isStructSchema() {
const sc = this.getSchema();
if (typeof sc !== "object") {
return false;
}
const id = sc[0];
return id === 3 || id === -3 || id === 4;
}
isUnionSchema() {
const sc = this.getSchema();
if (typeof sc !== "object") {
return false;
}
return sc[0] === 4;
}
isBlobSchema() {
const sc = this.getSchema();
return sc === 21 || sc === 42;
}
isTimestampSchema() {
const sc = this.getSchema();
return typeof sc === "number" && sc >= 4 && sc <= 7;
}
isUnitSchema() {
return this.getSchema() === "unit";
}
isDocumentSchema() {
return this.getSchema() === 15;
}
isStringSchema() {
return this.getSchema() === 0;
}
isBooleanSchema() {
return this.getSchema() === 2;
}
isNumericSchema() {
return this.getSchema() === 1;
}
isBigIntegerSchema() {
return this.getSchema() === 17;
}
isBigDecimalSchema() {
return this.getSchema() === 19;
}
isStreaming() {
const { streaming: streaming2 } = this.getMergedTraits();
return !!streaming2 || this.getSchema() === 42;
}
isIdempotencyToken() {
return !!this.getMergedTraits().idempotencyToken;
}
getMergedTraits() {
return this.normalizedTraits ?? (this.normalizedTraits = {
...this.getOwnTraits(),
...this.getMemberTraits()
});
}
getMemberTraits() {
return translateTraits(this.memberTraits);
}
getOwnTraits() {
return translateTraits(this.traits);
}
getKeySchema() {
const [isDoc, isMap2] = [this.isDocumentSchema(), this.isMapSchema()];
if (!isDoc && !isMap2) {
throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);
}
const schema = this.getSchema();
const memberSchema = isDoc ? 15 : schema[4] ?? 0;
return member([memberSchema, 0], "key");
}
getValueSchema() {
const sc = this.getSchema();
const [isDoc, isMap2, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];
const memberSchema = typeof sc === "number" ? 63 & sc : sc && typeof sc === "object" && (isMap2 || isList) ? sc[3 + sc[0]] : isDoc ? 15 : undefined;
if (memberSchema != null) {
return member([memberSchema, 0], isMap2 ? "value" : "member");
}
throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);
}
getMemberSchema(memberName) {
const struct2 = this.getSchema();
if (this.isStructSchema() && struct2[4].includes(memberName)) {
const i2 = struct2[4].indexOf(memberName);
const memberSchema = struct2[5][i2];
return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);
}
if (this.isDocumentSchema()) {
return member([15, 0], memberName);
}
throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${memberName}.`);
}
getMemberSchemas() {
const buffer = {};
try {
for (const [k2, v2] of this.structIterator()) {
buffer[k2] = v2;
}
} catch (ignored) {}
return buffer;
}
getEventStreamMember() {
if (this.isStructSchema()) {
for (const [memberName, memberSchema] of this.structIterator()) {
if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {
return memberName;
}
}
}
return "";
}
*structIterator() {
if (this.isUnitSchema()) {
return;
}
if (!this.isStructSchema()) {
throw new Error("@smithy/core/schema - cannot iterate non-struct schema.");
}
const struct2 = this.getSchema();
const z4 = struct2[4].length;
let it = struct2[anno.it];
if (it && z4 === it.length) {
yield* it;
return;
}
it = Array(z4);
for (let i2 = 0;i2 < z4; ++i2) {
const k2 = struct2[4][i2];
const v2 = member([struct2[5][i2], 0], k2);
yield it[i2] = [k2, v2];
}
struct2[anno.it] = it;
}
}
function member(memberSchema, memberName) {
if (memberSchema instanceof NormalizedSchema) {
return Object.assign(memberSchema, {
memberName,
_isMemberSchema: true
});
}
const internalCtorAccess = NormalizedSchema;
return new internalCtorAccess(memberSchema, memberName);
}
var isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;
var isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;
class SimpleSchema extends Schema {
static symbol = Symbol.for("@smithy/sim");
name;
schemaRef;
traits;
symbol = SimpleSchema.symbol;
}
var sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema, {
name,
namespace,
traits,
schemaRef
});
var simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema, {
name,
namespace,
traits,
schemaRef
});
var SCHEMA = {
BLOB: 21,
STREAMING_BLOB: 42,
BOOLEAN: 2,
STRING: 0,
NUMERIC: 1,
BIG_INTEGER: 17,
BIG_DECIMAL: 19,
DOCUMENT: 15,
TIMESTAMP_DEFAULT: 4,
TIMESTAMP_DATE_TIME: 5,
TIMESTAMP_HTTP_DATE: 6,
TIMESTAMP_EPOCH_SECONDS: 7,
LIST_MODIFIER: 64,
MAP_MODIFIER: 128
};
class TypeRegistry {
namespace;
schemas;
exceptions;
static registries = new Map;
constructor(namespace, schemas3 = new Map, exceptions = new Map) {
this.namespace = namespace;
this.schemas = schemas3;
this.exceptions = exceptions;
}
static for(namespace) {
if (!TypeRegistry.registries.has(namespace)) {
TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));
}
return TypeRegistry.registries.get(namespace);
}
copyFrom(other) {
const { schemas: schemas3, exceptions } = this;
for (const [k2, v2] of other.schemas) {
if (!schemas3.has(k2)) {
schemas3.set(k2, v2);
}
}
for (const [k2, v2] of other.exceptions) {
if (!exceptions.has(k2)) {
exceptions.set(k2, v2);
}
}
}
register(shapeId, schema) {
const qualifiedName = this.normalizeShapeId(shapeId);
for (const r of [this, TypeRegistry.for(qualifiedName.split("#")[0])]) {
r.schemas.set(qualifiedName, schema);
}
}
getSchema(shapeId) {
const id = this.normalizeShapeId(shapeId);
if (!this.schemas.has(id)) {
throw new Error(`@smithy/core/schema - schema not found for ${id}`);
}
return this.schemas.get(id);
}
registerError(es, ctor) {
const $error2 = es;
const ns = $error2[1];
for (const r of [this, TypeRegistry.for(ns)]) {
r.schemas.set(ns + "#" + $error2[2], $error2);
r.exceptions.set($error2, ctor);
}
}
getErrorCtor(es) {
const $error2 = es;
if (this.exceptions.has($error2)) {
return this.exceptions.get($error2);
}
const registry2 = TypeRegistry.for($error2[1]);
return registry2.exceptions.get($error2);
}
getBaseException() {
for (const exceptionKey of this.exceptions.keys()) {
if (Array.isArray(exceptionKey)) {
const [, ns, name] = exceptionKey;
const id = ns + "#" + name;
if (id.startsWith("smithy.ts.sdk.synthetic.") && id.endsWith("ServiceException")) {
return exceptionKey;
}
}
}
return;
}
find(predicate) {
return [...this.schemas.values()].find(predicate);
}
clear() {
this.schemas.clear();
this.exceptions.clear();
}
normalizeShapeId(shapeId) {
if (shapeId.includes("#")) {
return shapeId;
}
return this.namespace + "#" + shapeId;
}
}
exports.ErrorSchema = ErrorSchema;
exports.ListSchema = ListSchema;
exports.MapSchema = MapSchema;
exports.NormalizedSchema = NormalizedSchema;
exports.OperationSchema = OperationSchema;
exports.SCHEMA = SCHEMA;
exports.Schema = Schema;
exports.SimpleSchema = SimpleSchema;
exports.StructureSchema = StructureSchema;
exports.TypeRegistry = TypeRegistry;
exports.deref = deref;
exports.deserializerMiddlewareOption = deserializerMiddlewareOption;
exports.error = error49;
exports.getSchemaSerdePlugin = getSchemaSerdePlugin;
exports.isStaticSchema = isStaticSchema;
exports.list = list;
exports.map = map2;
exports.op = op;
exports.operation = operation;
exports.serializerMiddlewareOption = serializerMiddlewareOption;
exports.sim = sim;
exports.simAdapter = simAdapter;
exports.simpleSchemaCacheN = simpleSchemaCacheN;
exports.simpleSchemaCacheS = simpleSchemaCacheS;
exports.struct = struct;
exports.traitsCache = traitsCache;
exports.translateTraits = translateTraits;
});
// node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-cjs/randomUUID.js
var require_randomUUID = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.randomUUID = undefined;
var tslib_1 = require_tslib();
var crypto_1 = tslib_1.__importDefault(__require("crypto"));
exports.randomUUID = crypto_1.default.randomUUID.bind(crypto_1.default);
});
// node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-cjs/index.js
var require_dist_cjs22 = __commonJS((exports) => {
var randomUUID2 = require_randomUUID();
var decimalToHex = Array.from({ length: 256 }, (_2, i2) => i2.toString(16).padStart(2, "0"));
var v4 = () => {
if (randomUUID2.randomUUID) {
return randomUUID2.randomUUID();
}
const rnds = new Uint8Array(16);
crypto.getRandomValues(rnds);
rnds[6] = rnds[6] & 15 | 64;
rnds[8] = rnds[8] & 63 | 128;
return decimalToHex[rnds[0]] + decimalToHex[rnds[1]] + decimalToHex[rnds[2]] + decimalToHex[rnds[3]] + "-" + decimalToHex[rnds[4]] + decimalToHex[rnds[5]] + "-" + decimalToHex[rnds[6]] + decimalToHex[rnds[7]] + "-" + decimalToHex[rnds[8]] + decimalToHex[rnds[9]] + "-" + decimalToHex[rnds[10]] + decimalToHex[rnds[11]] + decimalToHex[rnds[12]] + decimalToHex[rnds[13]] + decimalToHex[rnds[14]] + decimalToHex[rnds[15]];
};
exports.v4 = v4;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js
var require_serde = __commonJS((exports) => {
var uuid3 = require_dist_cjs22();
var copyDocumentWithTransform = (source, schemaRef, transform2 = (_2) => _2) => source;
var parseBoolean = (value) => {
switch (value) {
case "true":
return true;
case "false":
return false;
default:
throw new Error(`Unable to parse boolean value "${value}"`);
}
};
var expectBoolean = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value === "number") {
if (value === 0 || value === 1) {
logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));
}
if (value === 0) {
return false;
}
if (value === 1) {
return true;
}
}
if (typeof value === "string") {
const lower = value.toLowerCase();
if (lower === "false" || lower === "true") {
logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));
}
if (lower === "false") {
return false;
}
if (lower === "true") {
return true;
}
}
if (typeof value === "boolean") {
return value;
}
throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);
};
var expectNumber = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value === "string") {
const parsed = parseFloat(value);
if (!Number.isNaN(parsed)) {
if (String(parsed) !== String(value)) {
logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));
}
return parsed;
}
}
if (typeof value === "number") {
return value;
}
throw new TypeError(`Expected number, got ${typeof value}: ${value}`);
};
var MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));
var expectFloat32 = (value) => {
const expected = expectNumber(value);
if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {
if (Math.abs(expected) > MAX_FLOAT) {
throw new TypeError(`Expected 32-bit float, got ${value}`);
}
}
return expected;
};
var expectLong = (value) => {
if (value === null || value === undefined) {
return;
}
if (Number.isInteger(value) && !Number.isNaN(value)) {
return value;
}
throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);
};
var expectInt = expectLong;
var expectInt32 = (value) => expectSizedInt(value, 32);
var expectShort = (value) => expectSizedInt(value, 16);
var expectByte = (value) => expectSizedInt(value, 8);
var expectSizedInt = (value, size) => {
const expected = expectLong(value);
if (expected !== undefined && castInt(expected, size) !== expected) {
throw new TypeError(`Expected ${size}-bit integer, got ${value}`);
}
return expected;
};
var castInt = (value, size) => {
switch (size) {
case 32:
return Int32Array.of(value)[0];
case 16:
return Int16Array.of(value)[0];
case 8:
return Int8Array.of(value)[0];
}
};
var expectNonNull = (value, location) => {
if (value === null || value === undefined) {
if (location) {
throw new TypeError(`Expected a non-null value for ${location}`);
}
throw new TypeError("Expected a non-null value");
}
return value;
};
var expectObject = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value === "object" && !Array.isArray(value)) {
return value;
}
const receivedType = Array.isArray(value) ? "array" : typeof value;
throw new TypeError(`Expected object, got ${receivedType}: ${value}`);
};
var expectString = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value === "string") {
return value;
}
if (["boolean", "number", "bigint"].includes(typeof value)) {
logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));
return String(value);
}
throw new TypeError(`Expected string, got ${typeof value}: ${value}`);
};
var expectUnion = (value) => {
if (value === null || value === undefined) {
return;
}
const asObject = expectObject(value);
const setKeys = Object.entries(asObject).filter(([, v2]) => v2 != null).map(([k2]) => k2);
if (setKeys.length === 0) {
throw new TypeError(`Unions must have exactly one non-null member. None were found.`);
}
if (setKeys.length > 1) {
throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);
}
return asObject;
};
var strictParseDouble = (value) => {
if (typeof value == "string") {
return expectNumber(parseNumber2(value));
}
return expectNumber(value);
};
var strictParseFloat = strictParseDouble;
var strictParseFloat32 = (value) => {
if (typeof value == "string") {
return expectFloat32(parseNumber2(value));
}
return expectFloat32(value);
};
var NUMBER_REGEX = /(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g;
var parseNumber2 = (value) => {
const matches = value.match(NUMBER_REGEX);
if (matches === null || matches[0].length !== value.length) {
throw new TypeError(`Expected real number, got implicit NaN`);
}
return parseFloat(value);
};
var limitedParseDouble = (value) => {
if (typeof value == "string") {
return parseFloatString(value);
}
return expectNumber(value);
};
var handleFloat = limitedParseDouble;
var limitedParseFloat = limitedParseDouble;
var limitedParseFloat32 = (value) => {
if (typeof value == "string") {
return parseFloatString(value);
}
return expectFloat32(value);
};
var parseFloatString = (value) => {
switch (value) {
case "NaN":
return NaN;
case "Infinity":
return Infinity;
case "-Infinity":
return -Infinity;
default:
throw new Error(`Unable to parse float value: ${value}`);
}
};
var strictParseLong = (value) => {
if (typeof value === "string") {
return expectLong(parseNumber2(value));
}
return expectLong(value);
};
var strictParseInt = strictParseLong;
var strictParseInt32 = (value) => {
if (typeof value === "string") {
return expectInt32(parseNumber2(value));
}
return expectInt32(value);
};
var strictParseShort = (value) => {
if (typeof value === "string") {
return expectShort(parseNumber2(value));
}
return expectShort(value);
};
var strictParseByte = (value) => {
if (typeof value === "string") {
return expectByte(parseNumber2(value));
}
return expectByte(value);
};
var stackTraceWarning = (message) => {
return String(new TypeError(message).stack || message).split(`
`).slice(0, 5).filter((s) => !s.includes("stackTraceWarning")).join(`
`);
};
var logger = {
warn: console.warn
};
var DAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
function dateToUtcString(date6) {
const year2 = date6.getUTCFullYear();
const month = date6.getUTCMonth();
const dayOfWeek = date6.getUTCDay();
const dayOfMonthInt = date6.getUTCDate();
const hoursInt = date6.getUTCHours();
const minutesInt = date6.getUTCMinutes();
const secondsInt = date6.getUTCSeconds();
const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;
const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;
const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;
const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;
return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year2} ${hoursString}:${minutesString}:${secondsString} GMT`;
}
var RFC3339 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);
var parseRfc3339DateTime = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value !== "string") {
throw new TypeError("RFC-3339 date-times must be expressed as strings");
}
const match = RFC3339.exec(value);
if (!match) {
throw new TypeError("Invalid RFC-3339 date-time value");
}
const [_2, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;
const year2 = strictParseShort(stripLeadingZeroes(yearStr));
const month = parseDateValue(monthStr, "month", 1, 12);
const day = parseDateValue(dayStr, "day", 1, 31);
return buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds });
};
var RFC3339_WITH_OFFSET$1 = new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/);
var parseRfc3339DateTimeWithOffset = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value !== "string") {
throw new TypeError("RFC-3339 date-times must be expressed as strings");
}
const match = RFC3339_WITH_OFFSET$1.exec(value);
if (!match) {
throw new TypeError("Invalid RFC-3339 date-time value");
}
const [_2, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;
const year2 = strictParseShort(stripLeadingZeroes(yearStr));
const month = parseDateValue(monthStr, "month", 1, 12);
const day = parseDateValue(dayStr, "day", 1, 31);
const date6 = buildDate(year2, month, day, { hours, minutes, seconds, fractionalMilliseconds });
if (offsetStr.toUpperCase() != "Z") {
date6.setTime(date6.getTime() - parseOffsetToMilliseconds(offsetStr));
}
return date6;
};
var IMF_FIXDATE$1 = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);
var RFC_850_DATE$1 = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? GMT$/);
var ASC_TIME$1 = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\d{2}) (\d{1,2}):(\d{2}):(\d{2})(?:\.(\d+))? (\d{4})$/);
var parseRfc7231DateTime = (value) => {
if (value === null || value === undefined) {
return;
}
if (typeof value !== "string") {
throw new TypeError("RFC-7231 date-times must be expressed as strings");
}
let match = IMF_FIXDATE$1.exec(value);
if (match) {
const [_2, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;
return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });
}
match = RFC_850_DATE$1.exec(value);
if (match) {
const [_2, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;
return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, "day", 1, 31), {
hours,
minutes,
seconds,
fractionalMilliseconds
}));
}
match = ASC_TIME$1.exec(value);
if (match) {
const [_2, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;
return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), "day", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });
}
throw new TypeError("Invalid RFC-7231 date-time value");
};
var parseEpochTimestamp = (value) => {
if (value === null || value === undefined) {
return;
}
let valueAsDouble;
if (typeof value === "number") {
valueAsDouble = value;
} else if (typeof value === "string") {
valueAsDouble = strictParseDouble(value);
} else if (typeof value === "object" && value.tag === 1) {
valueAsDouble = value.value;
} else {
throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");
}
if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {
throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");
}
return new Date(Math.round(valueAsDouble * 1000));
};
var buildDate = (year2, month, day, time4) => {
const adjustedMonth = month - 1;
validateDayOfMonth(year2, adjustedMonth, day);
return new Date(Date.UTC(year2, adjustedMonth, day, parseDateValue(time4.hours, "hour", 0, 23), parseDateValue(time4.minutes, "minute", 0, 59), parseDateValue(time4.seconds, "seconds", 0, 60), parseMilliseconds2(time4.fractionalMilliseconds)));
};
var parseTwoDigitYear = (value) => {
const thisYear = new Date().getUTCFullYear();
const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));
if (valueInThisCentury < thisYear) {
return valueInThisCentury + 100;
}
return valueInThisCentury;
};
var FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;
var adjustRfc850Year = (input) => {
if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {
return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));
}
return input;
};
var parseMonthByShortName = (value) => {
const monthIdx = MONTHS.indexOf(value);
if (monthIdx < 0) {
throw new TypeError(`Invalid month: ${value}`);
}
return monthIdx + 1;
};
var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var validateDayOfMonth = (year2, month, day) => {
let maxDays = DAYS_IN_MONTH[month];
if (month === 1 && isLeapYear(year2)) {
maxDays = 29;
}
if (day > maxDays) {
throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year2}: ${day}`);
}
};
var isLeapYear = (year2) => {
return year2 % 4 === 0 && (year2 % 100 !== 0 || year2 % 400 === 0);
};
var parseDateValue = (value, type, lower, upper) => {
const dateVal = strictParseByte(stripLeadingZeroes(value));
if (dateVal < lower || dateVal > upper) {
throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);
}
return dateVal;
};
var parseMilliseconds2 = (value) => {
if (value === null || value === undefined) {
return 0;
}
return strictParseFloat32("0." + value) * 1000;
};
var parseOffsetToMilliseconds = (value) => {
const directionStr = value[0];
let direction = 1;
if (directionStr == "+") {
direction = 1;
} else if (directionStr == "-") {
direction = -1;
} else {
throw new TypeError(`Offset direction, ${directionStr}, must be "+" or "-"`);
}
const hour = Number(value.substring(1, 3));
const minute = Number(value.substring(4, 6));
return direction * (hour * 60 + minute) * 60 * 1000;
};
var stripLeadingZeroes = (value) => {
let idx = 0;
while (idx < value.length - 1 && value.charAt(idx) === "0") {
idx++;
}
if (idx === 0) {
return value;
}
return value.slice(idx);
};
var LazyJsonString = function LazyJsonString2(val) {
const str = Object.assign(new String(val), {
deserializeJSON() {
return JSON.parse(String(val));
},
toString() {
return String(val);
},
toJSON() {
return String(val);
}
});
return str;
};
LazyJsonString.from = (object2) => {
if (object2 && typeof object2 === "object" && (object2 instanceof LazyJsonString || ("deserializeJSON" in object2))) {
return object2;
} else if (typeof object2 === "string" || Object.getPrototypeOf(object2) === String.prototype) {
return LazyJsonString(String(object2));
}
return LazyJsonString(JSON.stringify(object2));
};
LazyJsonString.fromObject = LazyJsonString.from;
function quoteHeader(part) {
if (part.includes(",") || part.includes('"')) {
part = `"${part.replace(/"/g, "\\\"")}"`;
}
return part;
}
var ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;
var mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;
var time3 = `(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`;
var date5 = `(\\d?\\d)`;
var year = `(\\d{4})`;
var RFC3339_WITH_OFFSET = new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/);
var IMF_FIXDATE = new RegExp(`^${ddd}, ${date5} ${mmm} ${year} ${time3} GMT$`);
var RFC_850_DATE = new RegExp(`^${ddd}, ${date5}-${mmm}-(\\d\\d) ${time3} GMT$`);
var ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\d\\d) ${time3} ${year}$`);
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var _parseEpochTimestamp = (value) => {
if (value == null) {
return;
}
let num = NaN;
if (typeof value === "number") {
num = value;
} else if (typeof value === "string") {
if (!/^-?\d*\.?\d+$/.test(value)) {
throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);
}
num = Number.parseFloat(value);
} else if (typeof value === "object" && value.tag === 1) {
num = value.value;
}
if (isNaN(num) || Math.abs(num) === Infinity) {
throw new TypeError("Epoch timestamps must be valid finite numbers.");
}
return new Date(Math.round(num * 1000));
};
var _parseRfc3339DateTimeWithOffset = (value) => {
if (value == null) {
return;
}
if (typeof value !== "string") {
throw new TypeError("RFC3339 timestamps must be strings");
}
const matches = RFC3339_WITH_OFFSET.exec(value);
if (!matches) {
throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);
}
const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;
range(monthStr, 1, 12);
range(dayStr, 1, 31);
range(hours, 0, 23);
range(minutes, 0, 59);
range(seconds, 0, 60);
const date6 = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));
date6.setUTCFullYear(Number(yearStr));
if (offsetStr.toUpperCase() != "Z") {
const [, sign, offsetH, offsetM] = /([+-])(\d\d):(\d\d)/.exec(offsetStr) || [undefined, "+", 0, 0];
const scalar = sign === "-" ? 1 : -1;
date6.setTime(date6.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));
}
return date6;
};
var _parseRfc7231DateTime = (value) => {
if (value == null) {
return;
}
if (typeof value !== "string") {
throw new TypeError("RFC7231 timestamps must be strings.");
}
let day;
let month;
let year2;
let hour;
let minute;
let second;
let fraction;
let matches;
if (matches = IMF_FIXDATE.exec(value)) {
[, day, month, year2, hour, minute, second, fraction] = matches;
} else if (matches = RFC_850_DATE.exec(value)) {
[, day, month, year2, hour, minute, second, fraction] = matches;
year2 = (Number(year2) + 1900).toString();
} else if (matches = ASC_TIME.exec(value)) {
[, month, day, hour, minute, second, fraction, year2] = matches;
}
if (year2 && second) {
const timestamp = Date.UTC(Number(year2), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);
range(day, 1, 31);
range(hour, 0, 23);
range(minute, 0, 59);
range(second, 0, 60);
const date6 = new Date(timestamp);
date6.setUTCFullYear(Number(year2));
return date6;
}
throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);
};
function range(v2, min, max) {
const _v = Number(v2);
if (_v < min || _v > max) {
throw new Error(`Value ${_v} out of range [${min}, ${max}]`);
}
}
function splitEvery(value, delimiter, numDelimiters) {
if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {
throw new Error("Invalid number of delimiters (" + numDelimiters + ") for splitEvery.");
}
const segments = value.split(delimiter);
if (numDelimiters === 1) {
return segments;
}
const compoundSegments = [];
let currentSegment = "";
for (let i2 = 0;i2 < segments.length; i2++) {
if (currentSegment === "") {
currentSegment = segments[i2];
} else {
currentSegment += delimiter + segments[i2];
}
if ((i2 + 1) % numDelimiters === 0) {
compoundSegments.push(currentSegment);
currentSegment = "";
}
}
if (currentSegment !== "") {
compoundSegments.push(currentSegment);
}
return compoundSegments;
}
var splitHeader = (value) => {
const z4 = value.length;
const values = [];
let withinQuotes = false;
let prevChar = undefined;
let anchor = 0;
for (let i2 = 0;i2 < z4; ++i2) {
const char = value[i2];
switch (char) {
case `"`:
if (prevChar !== "\\") {
withinQuotes = !withinQuotes;
}
break;
case ",":
if (!withinQuotes) {
values.push(value.slice(anchor, i2));
anchor = i2 + 1;
}
break;
}
prevChar = char;
}
values.push(value.slice(anchor));
return values.map((v2) => {
v2 = v2.trim();
const z5 = v2.length;
if (z5 < 2) {
return v2;
}
if (v2[0] === `"` && v2[z5 - 1] === `"`) {
v2 = v2.slice(1, z5 - 1);
}
return v2.replace(/\\"/g, '"');
});
};
var format3 = /^-?\d*(\.\d+)?$/;
class NumericValue {
string;
type;
constructor(string4, type) {
this.string = string4;
this.type = type;
if (!format3.test(string4)) {
throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point ".", and an optional negation prefix "-".`);
}
}
toString() {
return this.string;
}
static [Symbol.hasInstance](object2) {
if (!object2 || typeof object2 !== "object") {
return false;
}
const _nv = object2;
return NumericValue.prototype.isPrototypeOf(object2) || _nv.type === "bigDecimal" && format3.test(_nv.string);
}
}
function nv(input) {
return new NumericValue(String(input), "bigDecimal");
}
exports.generateIdempotencyToken = uuid3.v4;
exports.LazyJsonString = LazyJsonString;
exports.NumericValue = NumericValue;
exports._parseEpochTimestamp = _parseEpochTimestamp;
exports._parseRfc3339DateTimeWithOffset = _parseRfc3339DateTimeWithOffset;
exports._parseRfc7231DateTime = _parseRfc7231DateTime;
exports.copyDocumentWithTransform = copyDocumentWithTransform;
exports.dateToUtcString = dateToUtcString;
exports.expectBoolean = expectBoolean;
exports.expectByte = expectByte;
exports.expectFloat32 = expectFloat32;
exports.expectInt = expectInt;
exports.expectInt32 = expectInt32;
exports.expectLong = expectLong;
exports.expectNonNull = expectNonNull;
exports.expectNumber = expectNumber;
exports.expectObject = expectObject;
exports.expectShort = expectShort;
exports.expectString = expectString;
exports.expectUnion = expectUnion;
exports.handleFloat = handleFloat;
exports.limitedParseDouble = limitedParseDouble;
exports.limitedParseFloat = limitedParseFloat;
exports.limitedParseFloat32 = limitedParseFloat32;
exports.logger = logger;
exports.nv = nv;
exports.parseBoolean = parseBoolean;
exports.parseEpochTimestamp = parseEpochTimestamp;
exports.parseRfc3339DateTime = parseRfc3339DateTime;
exports.parseRfc3339DateTimeWithOffset = parseRfc3339DateTimeWithOffset;
exports.parseRfc7231DateTime = parseRfc7231DateTime;
exports.quoteHeader = quoteHeader;
exports.splitEvery = splitEvery;
exports.splitHeader = splitHeader;
exports.strictParseByte = strictParseByte;
exports.strictParseDouble = strictParseDouble;
exports.strictParseFloat = strictParseFloat;
exports.strictParseFloat32 = strictParseFloat32;
exports.strictParseInt = strictParseInt;
exports.strictParseInt32 = strictParseInt32;
exports.strictParseLong = strictParseLong;
exports.strictParseShort = strictParseShort;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js
var require_event_streams = __commonJS((exports) => {
var utilUtf8 = require_dist_cjs16();
class EventStreamSerde {
marshaller;
serializer;
deserializer;
serdeContext;
defaultContentType;
constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType }) {
this.marshaller = marshaller;
this.serializer = serializer;
this.deserializer = deserializer;
this.serdeContext = serdeContext;
this.defaultContentType = defaultContentType;
}
async serializeEventStream({ eventStream, requestSchema, initialRequest }) {
const marshaller = this.marshaller;
const eventStreamMember = requestSchema.getEventStreamMember();
const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
const serializer = this.serializer;
const defaultContentType = this.defaultContentType;
const initialRequestMarker = Symbol("initialRequestMarker");
const eventStreamIterable = {
async* [Symbol.asyncIterator]() {
if (initialRequest) {
const headers = {
":event-type": { type: "string", value: "initial-request" },
":message-type": { type: "string", value: "event" },
":content-type": { type: "string", value: defaultContentType }
};
serializer.write(requestSchema, initialRequest);
const body = serializer.flush();
yield {
[initialRequestMarker]: true,
headers,
body
};
}
for await (const page of eventStream) {
yield page;
}
}
};
return marshaller.serialize(eventStreamIterable, (event) => {
if (event[initialRequestMarker]) {
return {
headers: event.headers,
body: event.body
};
}
const unionMember = Object.keys(event).find((key) => {
return key !== "__type";
}) ?? "";
const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
const headers = {
":event-type": { type: "string", value: eventType },
":message-type": { type: "string", value: "event" },
":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType },
...additionalHeaders
};
return {
headers,
body
};
});
}
async deserializeEventStream({ response, responseSchema, initialResponseContainer }) {
const marshaller = this.marshaller;
const eventStreamMember = responseSchema.getEventStreamMember();
const unionSchema = responseSchema.getMemberSchema(eventStreamMember);
const memberSchemas = unionSchema.getMemberSchemas();
const initialResponseMarker = Symbol("initialResponseMarker");
const asyncIterable = marshaller.deserialize(response.body, async (event) => {
const unionMember = Object.keys(event).find((key) => {
return key !== "__type";
}) ?? "";
const body = event[unionMember].body;
if (unionMember === "initial-response") {
const dataObject = await this.deserializer.read(responseSchema, body);
delete dataObject[eventStreamMember];
return {
[initialResponseMarker]: true,
...dataObject
};
} else if (unionMember in memberSchemas) {
const eventStreamSchema = memberSchemas[unionMember];
if (eventStreamSchema.isStructSchema()) {
const out = {};
let hasBindings = false;
for (const [name, member] of eventStreamSchema.structIterator()) {
const { eventHeader, eventPayload } = member.getMergedTraits();
hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
if (eventPayload) {
if (member.isBlobSchema()) {
out[name] = body;
} else if (member.isStringSchema()) {
out[name] = (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)(body);
} else if (member.isStructSchema()) {
out[name] = await this.deserializer.read(member, body);
}
} else if (eventHeader) {
const value = event[unionMember].headers[name]?.value;
if (value != null) {
if (member.isNumericSchema()) {
if (value && typeof value === "object" && "bytes" in value) {
out[name] = BigInt(value.toString());
} else {
out[name] = Number(value);
}
} else {
out[name] = value;
}
}
}
}
if (hasBindings) {
return {
[unionMember]: out
};
}
if (body.byteLength === 0) {
return {
[unionMember]: {}
};
}
}
return {
[unionMember]: await this.deserializer.read(eventStreamSchema, body)
};
} else {
return {
$unknown: event
};
}
});
const asyncIterator2 = asyncIterable[Symbol.asyncIterator]();
const firstEvent = await asyncIterator2.next();
if (firstEvent.done) {
return asyncIterable;
}
if (firstEvent.value?.[initialResponseMarker]) {
if (!responseSchema) {
throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
}
for (const [key, value] of Object.entries(firstEvent.value)) {
initialResponseContainer[key] = value;
}
}
return {
async* [Symbol.asyncIterator]() {
if (!firstEvent?.value?.[initialResponseMarker]) {
yield firstEvent.value;
}
while (true) {
const { done, value } = await asyncIterator2.next();
if (done) {
break;
}
yield value;
}
}
};
}
writeEventBody(unionMember, unionSchema, event) {
const serializer = this.serializer;
let eventType = unionMember;
let explicitPayloadMember = null;
let explicitPayloadContentType;
const isKnownSchema = (() => {
const struct = unionSchema.getSchema();
return struct[4].includes(unionMember);
})();
const additionalHeaders = {};
if (!isKnownSchema) {
const [type, value] = event[unionMember];
eventType = type;
serializer.write(15, value);
} else {
const eventSchema = unionSchema.getMemberSchema(unionMember);
if (eventSchema.isStructSchema()) {
for (const [memberName, memberSchema] of eventSchema.structIterator()) {
const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
if (eventPayload) {
explicitPayloadMember = memberName;
} else if (eventHeader) {
const value = event[unionMember][memberName];
let type = "binary";
if (memberSchema.isNumericSchema()) {
if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {
type = "integer";
} else {
type = "long";
}
} else if (memberSchema.isTimestampSchema()) {
type = "timestamp";
} else if (memberSchema.isStringSchema()) {
type = "string";
} else if (memberSchema.isBooleanSchema()) {
type = "boolean";
}
if (value != null) {
additionalHeaders[memberName] = {
type,
value
};
delete event[unionMember][memberName];
}
}
}
if (explicitPayloadMember !== null) {
const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
if (payloadSchema.isBlobSchema()) {
explicitPayloadContentType = "application/octet-stream";
} else if (payloadSchema.isStringSchema()) {
explicitPayloadContentType = "text/plain";
}
serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
} else {
serializer.write(eventSchema, event[unionMember]);
}
} else if (eventSchema.isUnitSchema()) {
serializer.write(eventSchema, {});
} else {
throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
}
}
const messageSerialization = serializer.flush() ?? new Uint8Array;
const body = typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? utilUtf8.fromUtf8)(messageSerialization) : messageSerialization;
return {
body,
eventType,
explicitPayloadContentType,
additionalHeaders
};
}
}
exports.EventStreamSerde = EventStreamSerde;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js
var require_protocols = __commonJS((exports) => {
var utilStream = require_dist_cjs20();
var schema = require_schema();
var serde = require_serde();
var protocolHttp = require_dist_cjs2();
var utilBase64 = require_dist_cjs17();
var utilUtf8 = require_dist_cjs16();
var collectBody = async (streamBody = new Uint8Array, context) => {
if (streamBody instanceof Uint8Array) {
return utilStream.Uint8ArrayBlobAdapter.mutate(streamBody);
}
if (!streamBody) {
return utilStream.Uint8ArrayBlobAdapter.mutate(new Uint8Array);
}
const fromContext = context.streamCollector(streamBody);
return utilStream.Uint8ArrayBlobAdapter.mutate(await fromContext);
};
function extendedEncodeURIComponent(str) {
return encodeURIComponent(str).replace(/[!'()*]/g, function(c5) {
return "%" + c5.charCodeAt(0).toString(16).toUpperCase();
});
}
class SerdeContext {
serdeContext;
setSerdeContext(serdeContext) {
this.serdeContext = serdeContext;
}
}
class HttpProtocol extends SerdeContext {
options;
compositeErrorRegistry;
constructor(options) {
super();
this.options = options;
this.compositeErrorRegistry = schema.TypeRegistry.for(options.defaultNamespace);
for (const etr of options.errorTypeRegistries ?? []) {
this.compositeErrorRegistry.copyFrom(etr);
}
}
getRequestType() {
return protocolHttp.HttpRequest;
}
getResponseType() {
return protocolHttp.HttpResponse;
}
setSerdeContext(serdeContext) {
this.serdeContext = serdeContext;
this.serializer.setSerdeContext(serdeContext);
this.deserializer.setSerdeContext(serdeContext);
if (this.getPayloadCodec()) {
this.getPayloadCodec().setSerdeContext(serdeContext);
}
}
updateServiceEndpoint(request, endpoint) {
if ("url" in endpoint) {
request.protocol = endpoint.url.protocol;
request.hostname = endpoint.url.hostname;
request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;
request.path = endpoint.url.pathname;
request.fragment = endpoint.url.hash || undefined;
request.username = endpoint.url.username || undefined;
request.password = endpoint.url.password || undefined;
if (!request.query) {
request.query = {};
}
for (const [k2, v2] of endpoint.url.searchParams.entries()) {
request.query[k2] = v2;
}
if (endpoint.headers) {
for (const [name, values] of Object.entries(endpoint.headers)) {
request.headers[name] = values.join(", ");
}
}
return request;
} else {
request.protocol = endpoint.protocol;
request.hostname = endpoint.hostname;
request.port = endpoint.port ? Number(endpoint.port) : undefined;
request.path = endpoint.path;
request.query = {
...endpoint.query
};
if (endpoint.headers) {
for (const [name, value] of Object.entries(endpoint.headers)) {
request.headers[name] = value;
}
}
return request;
}
}
setHostPrefix(request, operationSchema, input) {
if (this.serdeContext?.disableHostPrefix) {
return;
}
const inputNs = schema.NormalizedSchema.of(operationSchema.input);
const opTraits = schema.translateTraits(operationSchema.traits ?? {});
if (opTraits.endpoint) {
let hostPrefix = opTraits.endpoint?.[0];
if (typeof hostPrefix === "string") {
const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);
for (const [name] of hostLabelInputs) {
const replacement = input[name];
if (typeof replacement !== "string") {
throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);
}
hostPrefix = hostPrefix.replace(`{${name}}`, replacement);
}
request.hostname = hostPrefix + request.hostname;
}
}
}
deserializeMetadata(output) {
return {
httpStatusCode: output.statusCode,
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
extendedRequestId: output.headers["x-amz-id-2"],
cfId: output.headers["x-amz-cf-id"]
};
}
async serializeEventStream({ eventStream, requestSchema, initialRequest }) {
const eventStreamSerde = await this.loadEventStreamCapability();
return eventStreamSerde.serializeEventStream({
eventStream,
requestSchema,
initialRequest
});
}
async deserializeEventStream({ response, responseSchema, initialResponseContainer }) {
const eventStreamSerde = await this.loadEventStreamCapability();
return eventStreamSerde.deserializeEventStream({
response,
responseSchema,
initialResponseContainer
});
}
async loadEventStreamCapability() {
const { EventStreamSerde } = await Promise.resolve().then(() => __toESM(require_event_streams()));
return new EventStreamSerde({
marshaller: this.getEventStreamMarshaller(),
serializer: this.serializer,
deserializer: this.deserializer,
serdeContext: this.serdeContext,
defaultContentType: this.getDefaultContentType()
});
}
getDefaultContentType() {
throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);
}
async deserializeHttpMessage(schema2, context, response, arg4, arg5) {
return [];
}
getEventStreamMarshaller() {
const context = this.serdeContext;
if (!context.eventStreamMarshaller) {
throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");
}
return context.eventStreamMarshaller;
}
}
class HttpBindingProtocol extends HttpProtocol {
async serializeRequest(operationSchema, _input, context) {
const input = _input && typeof _input === "object" ? _input : {};
const serializer = this.serializer;
const query = {};
const headers = {};
const endpoint = await context.endpoint();
const ns = schema.NormalizedSchema.of(operationSchema?.input);
const payloadMemberNames = [];
const payloadMemberSchemas = [];
let hasNonHttpBindingMember = false;
let payload;
const request = new protocolHttp.HttpRequest({
protocol: "",
hostname: "",
port: undefined,
path: "",
fragment: undefined,
query,
headers,
body: undefined
});
if (endpoint) {
this.updateServiceEndpoint(request, endpoint);
this.setHostPrefix(request, operationSchema, input);
const opTraits = schema.translateTraits(operationSchema.traits);
if (opTraits.http) {
request.method = opTraits.http[0];
const [path9, search] = opTraits.http[1].split("?");
if (request.path == "/") {
request.path = path9;
} else {
request.path += path9;
}
const traitSearchParams = new URLSearchParams(search ?? "");
Object.assign(query, Object.fromEntries(traitSearchParams));
}
}
for (const [memberName, memberNs] of ns.structIterator()) {
const memberTraits = memberNs.getMergedTraits() ?? {};
const inputMemberValue = input[memberName];
if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {
if (memberTraits.httpLabel) {
if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {
throw new Error(`No value provided for input HTTP label: ${memberName}.`);
}
}
continue;
}
if (memberTraits.httpPayload) {
const isStreaming = memberNs.isStreaming();
if (isStreaming) {
const isEventStream = memberNs.isStructSchema();
if (isEventStream) {
if (input[memberName]) {
payload = await this.serializeEventStream({
eventStream: input[memberName],
requestSchema: ns
});
}
} else {
payload = inputMemberValue;
}
} else {
serializer.write(memberNs, inputMemberValue);
payload = serializer.flush();
}
} else if (memberTraits.httpLabel) {
serializer.write(memberNs, inputMemberValue);
const replacement = serializer.flush();
if (request.path.includes(`{${memberName}+}`)) {
request.path = request.path.replace(`{${memberName}+}`, replacement.split("/").map(extendedEncodeURIComponent).join("/"));
} else if (request.path.includes(`{${memberName}}`)) {
request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));
}
} else if (memberTraits.httpHeader) {
serializer.write(memberNs, inputMemberValue);
headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());
} else if (typeof memberTraits.httpPrefixHeaders === "string") {
for (const [key, val] of Object.entries(inputMemberValue)) {
const amalgam = memberTraits.httpPrefixHeaders + key;
serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);
headers[amalgam.toLowerCase()] = serializer.flush();
}
} else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {
this.serializeQuery(memberNs, inputMemberValue, query);
} else {
hasNonHttpBindingMember = true;
payloadMemberNames.push(memberName);
payloadMemberSchemas.push(memberNs);
}
}
if (hasNonHttpBindingMember && input) {
const [namespace, name] = (ns.getName(true) ?? "#Unknown").split("#");
const requiredMembers = ns.getSchema()[6];
const payloadSchema = [
3,
namespace,
name,
ns.getMergedTraits(),
payloadMemberNames,
payloadMemberSchemas,
undefined
];
if (requiredMembers) {
payloadSchema[6] = requiredMembers;
} else {
payloadSchema.pop();
}
serializer.write(payloadSchema, input);
payload = serializer.flush();
}
request.headers = headers;
request.query = query;
request.body = payload;
return request;
}
serializeQuery(ns, data, query) {
const serializer = this.serializer;
const traits = ns.getMergedTraits();
if (traits.httpQueryParams) {
for (const [key, val] of Object.entries(data)) {
if (!(key in query)) {
const valueSchema = ns.getValueSchema();
Object.assign(valueSchema.getMergedTraits(), {
...traits,
httpQuery: key,
httpQueryParams: undefined
});
this.serializeQuery(valueSchema, val, query);
}
}
return;
}
if (ns.isListSchema()) {
const sparse = !!ns.getMergedTraits().sparse;
const buffer = [];
for (const item of data) {
serializer.write([ns.getValueSchema(), traits], item);
const serializable = serializer.flush();
if (sparse || serializable !== undefined) {
buffer.push(serializable);
}
}
query[traits.httpQuery] = buffer;
} else {
serializer.write([ns, traits], data);
query[traits.httpQuery] = serializer.flush();
}
}
async deserializeResponse(operationSchema, context, response) {
const deserializer = this.deserializer;
const ns = schema.NormalizedSchema.of(operationSchema.output);
const dataObject = {};
if (response.statusCode >= 300) {
const bytes = await collectBody(response.body, context);
if (bytes.byteLength > 0) {
Object.assign(dataObject, await deserializer.read(15, bytes));
}
await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.");
}
for (const header in response.headers) {
const value = response.headers[header];
delete response.headers[header];
response.headers[header.toLowerCase()] = value;
}
const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);
if (nonHttpBindingMembers.length) {
const bytes = await collectBody(response.body, context);
if (bytes.byteLength > 0) {
const dataFromBody = await deserializer.read(ns, bytes);
for (const member of nonHttpBindingMembers) {
if (dataFromBody[member] != null) {
dataObject[member] = dataFromBody[member];
}
}
}
} else if (nonHttpBindingMembers.discardResponseBody) {
await collectBody(response.body, context);
}
dataObject.$metadata = this.deserializeMetadata(response);
return dataObject;
}
async deserializeHttpMessage(schema$1, context, response, arg4, arg5) {
let dataObject;
if (arg4 instanceof Set) {
dataObject = arg5;
} else {
dataObject = arg4;
}
let discardResponseBody = true;
const deserializer = this.deserializer;
const ns = schema.NormalizedSchema.of(schema$1);
const nonHttpBindingMembers = [];
for (const [memberName, memberSchema] of ns.structIterator()) {
const memberTraits = memberSchema.getMemberTraits();
if (memberTraits.httpPayload) {
discardResponseBody = false;
const isStreaming = memberSchema.isStreaming();
if (isStreaming) {
const isEventStream = memberSchema.isStructSchema();
if (isEventStream) {
dataObject[memberName] = await this.deserializeEventStream({
response,
responseSchema: ns
});
} else {
dataObject[memberName] = utilStream.sdkStreamMixin(response.body);
}
} else if (response.body) {
const bytes = await collectBody(response.body, context);
if (bytes.byteLength > 0) {
dataObject[memberName] = await deserializer.read(memberSchema, bytes);
}
}
} else if (memberTraits.httpHeader) {
const key = String(memberTraits.httpHeader).toLowerCase();
const value = response.headers[key];
if (value != null) {
if (memberSchema.isListSchema()) {
const headerListValueSchema = memberSchema.getValueSchema();
headerListValueSchema.getMergedTraits().httpHeader = key;
let sections;
if (headerListValueSchema.isTimestampSchema() && headerListValueSchema.getSchema() === 4) {
sections = serde.splitEvery(value, ",", 2);
} else {
sections = serde.splitHeader(value);
}
const list = [];
for (const section of sections) {
list.push(await deserializer.read(headerListValueSchema, section.trim()));
}
dataObject[memberName] = list;
} else {
dataObject[memberName] = await deserializer.read(memberSchema, value);
}
}
} else if (memberTraits.httpPrefixHeaders !== undefined) {
dataObject[memberName] = {};
for (const [header, value] of Object.entries(response.headers)) {
if (header.startsWith(memberTraits.httpPrefixHeaders)) {
const valueSchema = memberSchema.getValueSchema();
valueSchema.getMergedTraits().httpHeader = header;
dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);
}
}
} else if (memberTraits.httpResponseCode) {
dataObject[memberName] = response.statusCode;
} else {
nonHttpBindingMembers.push(memberName);
}
}
nonHttpBindingMembers.discardResponseBody = discardResponseBody;
return nonHttpBindingMembers;
}
}
class RpcProtocol extends HttpProtocol {
async serializeRequest(operationSchema, _input, context) {
const serializer = this.serializer;
const query = {};
const headers = {};
const endpoint = await context.endpoint();
const ns = schema.NormalizedSchema.of(operationSchema?.input);
const schema$1 = ns.getSchema();
let payload;
const input = _input && typeof _input === "object" ? _input : {};
const request = new protocolHttp.HttpRequest({
protocol: "",
hostname: "",
port: undefined,
path: "/",
fragment: undefined,
query,
headers,
body: undefined
});
if (endpoint) {
this.updateServiceEndpoint(request, endpoint);
this.setHostPrefix(request, operationSchema, input);
}
if (input) {
const eventStreamMember = ns.getEventStreamMember();
if (eventStreamMember) {
if (input[eventStreamMember]) {
const initialRequest = {};
for (const [memberName, memberSchema] of ns.structIterator()) {
if (memberName !== eventStreamMember && input[memberName]) {
serializer.write(memberSchema, input[memberName]);
initialRequest[memberName] = serializer.flush();
}
}
payload = await this.serializeEventStream({
eventStream: input[eventStreamMember],
requestSchema: ns,
initialRequest
});
}
} else {
serializer.write(schema$1, input);
payload = serializer.flush();
}
}
request.headers = Object.assign(request.headers, headers);
request.query = query;
request.body = payload;
request.method = "POST";
return request;
}
async deserializeResponse(operationSchema, context, response) {
const deserializer = this.deserializer;
const ns = schema.NormalizedSchema.of(operationSchema.output);
const dataObject = {};
if (response.statusCode >= 300) {
const bytes = await collectBody(response.body, context);
if (bytes.byteLength > 0) {
Object.assign(dataObject, await deserializer.read(15, bytes));
}
await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.");
}
for (const header in response.headers) {
const value = response.headers[header];
delete response.headers[header];
response.headers[header.toLowerCase()] = value;
}
const eventStreamMember = ns.getEventStreamMember();
if (eventStreamMember) {
dataObject[eventStreamMember] = await this.deserializeEventStream({
response,
responseSchema: ns,
initialResponseContainer: dataObject
});
} else {
const bytes = await collectBody(response.body, context);
if (bytes.byteLength > 0) {
Object.assign(dataObject, await deserializer.read(ns, bytes));
}
}
dataObject.$metadata = this.deserializeMetadata(response);
return dataObject;
}
}
var resolvedPath = (resolvedPath2, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {
if (input != null && input[memberName] !== undefined) {
const labelValue = labelValueProvider();
if (labelValue == null || labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: " + memberName + ".");
}
resolvedPath2 = resolvedPath2.replace(uriLabel, isGreedyLabel ? labelValue.split("/").map((segment) => extendedEncodeURIComponent(segment)).join("/") : extendedEncodeURIComponent(labelValue));
} else {
throw new Error("No value provided for input HTTP label: " + memberName + ".");
}
return resolvedPath2;
};
function requestBuilder(input, context) {
return new RequestBuilder(input, context);
}
class RequestBuilder {
input;
context;
query = {};
method = "";
headers = {};
path = "";
body = null;
hostname = "";
resolvePathStack = [];
constructor(input, context) {
this.input = input;
this.context = context;
}
async build() {
const { hostname: hostname3, protocol = "https", port, path: basePath } = await this.context.endpoint();
this.path = basePath;
for (const resolvePath of this.resolvePathStack) {
resolvePath(this.path);
}
return new protocolHttp.HttpRequest({
protocol,
hostname: this.hostname || hostname3,
port,
method: this.method,
path: this.path,
query: this.query,
body: this.body,
headers: this.headers
});
}
hn(hostname3) {
this.hostname = hostname3;
return this;
}
bp(uriLabel) {
this.resolvePathStack.push((basePath) => {
this.path = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + uriLabel;
});
return this;
}
p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {
this.resolvePathStack.push((path9) => {
this.path = resolvedPath(path9, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);
});
return this;
}
h(headers) {
this.headers = headers;
return this;
}
q(query) {
this.query = query;
return this;
}
b(body) {
this.body = body;
return this;
}
m(method) {
this.method = method;
return this;
}
}
function determineTimestampFormat(ns, settings) {
if (settings.timestampFormat.useTrait) {
if (ns.isTimestampSchema() && (ns.getSchema() === 5 || ns.getSchema() === 6 || ns.getSchema() === 7)) {
return ns.getSchema();
}
}
const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();
const bindingFormat = settings.httpBindings ? typeof httpPrefixHeaders === "string" || Boolean(httpHeader) ? 6 : Boolean(httpQuery) || Boolean(httpLabel) ? 5 : undefined : undefined;
return bindingFormat ?? settings.timestampFormat.default;
}
class FromStringShapeDeserializer extends SerdeContext {
settings;
constructor(settings) {
super();
this.settings = settings;
}
read(_schema, data) {
const ns = schema.NormalizedSchema.of(_schema);
if (ns.isListSchema()) {
return serde.splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));
}
if (ns.isBlobSchema()) {
return (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(data);
}
if (ns.isTimestampSchema()) {
const format3 = determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
return serde._parseRfc3339DateTimeWithOffset(data);
case 6:
return serde._parseRfc7231DateTime(data);
case 7:
return serde._parseEpochTimestamp(data);
default:
console.warn("Missing timestamp format, parsing value with Date constructor:", data);
return new Date(data);
}
}
if (ns.isStringSchema()) {
const mediaType = ns.getMergedTraits().mediaType;
let intermediateValue = data;
if (mediaType) {
if (ns.getMergedTraits().httpHeader) {
intermediateValue = this.base64ToUtf8(intermediateValue);
}
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
if (isJson) {
intermediateValue = serde.LazyJsonString.from(intermediateValue);
}
return intermediateValue;
}
}
if (ns.isNumericSchema()) {
return Number(data);
}
if (ns.isBigIntegerSchema()) {
return BigInt(data);
}
if (ns.isBigDecimalSchema()) {
return new serde.NumericValue(data, "bigDecimal");
}
if (ns.isBooleanSchema()) {
return String(data).toLowerCase() === "true";
}
return data;
}
base64ToUtf8(base64String) {
return (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)((this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(base64String));
}
}
class HttpInterceptingShapeDeserializer extends SerdeContext {
codecDeserializer;
stringDeserializer;
constructor(codecDeserializer, codecSettings) {
super();
this.codecDeserializer = codecDeserializer;
this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);
}
setSerdeContext(serdeContext) {
this.stringDeserializer.setSerdeContext(serdeContext);
this.codecDeserializer.setSerdeContext(serdeContext);
this.serdeContext = serdeContext;
}
read(schema$1, data) {
const ns = schema.NormalizedSchema.of(schema$1);
const traits = ns.getMergedTraits();
const toString6 = this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8;
if (traits.httpHeader || traits.httpResponseCode) {
return this.stringDeserializer.read(ns, toString6(data));
}
if (traits.httpPayload) {
if (ns.isBlobSchema()) {
const toBytes = this.serdeContext?.utf8Decoder ?? utilUtf8.fromUtf8;
if (typeof data === "string") {
return toBytes(data);
}
return data;
} else if (ns.isStringSchema()) {
if ("byteLength" in data) {
return toString6(data);
}
return data;
}
}
return this.codecDeserializer.read(ns, data);
}
}
class ToStringShapeSerializer extends SerdeContext {
settings;
stringBuffer = "";
constructor(settings) {
super();
this.settings = settings;
}
write(schema$1, value) {
const ns = schema.NormalizedSchema.of(schema$1);
switch (typeof value) {
case "object":
if (value === null) {
this.stringBuffer = "null";
return;
}
if (ns.isTimestampSchema()) {
if (!(value instanceof Date)) {
throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);
}
const format3 = determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
this.stringBuffer = value.toISOString().replace(".000Z", "Z");
break;
case 6:
this.stringBuffer = serde.dateToUtcString(value);
break;
case 7:
this.stringBuffer = String(value.getTime() / 1000);
break;
default:
console.warn("Missing timestamp format, using epoch seconds", value);
this.stringBuffer = String(value.getTime() / 1000);
}
return;
}
if (ns.isBlobSchema() && "byteLength" in value) {
this.stringBuffer = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);
return;
}
if (ns.isListSchema() && Array.isArray(value)) {
let buffer = "";
for (const item of value) {
this.write([ns.getValueSchema(), ns.getMergedTraits()], item);
const headerItem = this.flush();
const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : serde.quoteHeader(headerItem);
if (buffer !== "") {
buffer += ", ";
}
buffer += serialized;
}
this.stringBuffer = buffer;
return;
}
this.stringBuffer = JSON.stringify(value, null, 2);
break;
case "string":
const mediaType = ns.getMergedTraits().mediaType;
let intermediateValue = value;
if (mediaType) {
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
if (isJson) {
intermediateValue = serde.LazyJsonString.from(intermediateValue);
}
if (ns.getMergedTraits().httpHeader) {
this.stringBuffer = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(intermediateValue.toString());
return;
}
}
this.stringBuffer = value;
break;
default:
if (ns.isIdempotencyToken()) {
this.stringBuffer = serde.generateIdempotencyToken();
} else {
this.stringBuffer = String(value);
}
}
}
flush() {
const buffer = this.stringBuffer;
this.stringBuffer = "";
return buffer;
}
}
class HttpInterceptingShapeSerializer {
codecSerializer;
stringSerializer;
buffer;
constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {
this.codecSerializer = codecSerializer;
this.stringSerializer = stringSerializer;
}
setSerdeContext(serdeContext) {
this.codecSerializer.setSerdeContext(serdeContext);
this.stringSerializer.setSerdeContext(serdeContext);
}
write(schema$1, value) {
const ns = schema.NormalizedSchema.of(schema$1);
const traits = ns.getMergedTraits();
if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {
this.stringSerializer.write(ns, value);
this.buffer = this.stringSerializer.flush();
return;
}
return this.codecSerializer.write(ns, value);
}
flush() {
if (this.buffer !== undefined) {
const buffer = this.buffer;
this.buffer = undefined;
return buffer;
}
return this.codecSerializer.flush();
}
}
exports.FromStringShapeDeserializer = FromStringShapeDeserializer;
exports.HttpBindingProtocol = HttpBindingProtocol;
exports.HttpInterceptingShapeDeserializer = HttpInterceptingShapeDeserializer;
exports.HttpInterceptingShapeSerializer = HttpInterceptingShapeSerializer;
exports.HttpProtocol = HttpProtocol;
exports.RequestBuilder = RequestBuilder;
exports.RpcProtocol = RpcProtocol;
exports.SerdeContext = SerdeContext;
exports.ToStringShapeSerializer = ToStringShapeSerializer;
exports.collectBody = collectBody;
exports.determineTimestampFormat = determineTimestampFormat;
exports.extendedEncodeURIComponent = extendedEncodeURIComponent;
exports.requestBuilder = requestBuilder;
exports.resolvedPath = resolvedPath;
});
// node_modules/.pnpm/@smithy+smithy-client@4.12.8/node_modules/@smithy/smithy-client/dist-cjs/index.js
var require_dist_cjs23 = __commonJS((exports) => {
var middlewareStack = require_dist_cjs13();
var protocols = require_protocols();
var types = require_dist_cjs();
var schema = require_schema();
var serde = require_serde();
class Client {
config;
middlewareStack = middlewareStack.constructStack();
initConfig;
handlers;
constructor(config2) {
this.config = config2;
const { protocol, protocolSettings } = config2;
if (protocolSettings) {
if (typeof protocol === "function") {
config2.protocol = new protocol(protocolSettings);
}
}
}
send(command, optionsOrCb, cb) {
const options = typeof optionsOrCb !== "function" ? optionsOrCb : undefined;
const callback = typeof optionsOrCb === "function" ? optionsOrCb : cb;
const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;
let handler;
if (useHandlerCache) {
if (!this.handlers) {
this.handlers = new WeakMap;
}
const handlers = this.handlers;
if (handlers.has(command.constructor)) {
handler = handlers.get(command.constructor);
} else {
handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
handlers.set(command.constructor, handler);
}
} else {
delete this.handlers;
handler = command.resolveMiddleware(this.middlewareStack, this.config, options);
}
if (callback) {
handler(command).then((result) => callback(null, result.output), (err) => callback(err)).catch(() => {});
} else {
return handler(command).then((result) => result.output);
}
}
destroy() {
this.config?.requestHandler?.destroy?.();
delete this.handlers;
}
}
var SENSITIVE_STRING$1 = "***SensitiveInformation***";
function schemaLogFilter(schema$1, data) {
if (data == null) {
return data;
}
const ns = schema.NormalizedSchema.of(schema$1);
if (ns.getMergedTraits().sensitive) {
return SENSITIVE_STRING$1;
}
if (ns.isListSchema()) {
const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;
if (isSensitive) {
return SENSITIVE_STRING$1;
}
} else if (ns.isMapSchema()) {
const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;
if (isSensitive) {
return SENSITIVE_STRING$1;
}
} else if (ns.isStructSchema() && typeof data === "object") {
const object2 = data;
const newObject = {};
for (const [member, memberNs] of ns.structIterator()) {
if (object2[member] != null) {
newObject[member] = schemaLogFilter(memberNs, object2[member]);
}
}
return newObject;
}
return data;
}
class Command2 {
middlewareStack = middlewareStack.constructStack();
schema;
static classBuilder() {
return new ClassBuilder;
}
resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor }) {
for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {
this.middlewareStack.use(mw);
}
const stack = clientStack.concat(this.middlewareStack);
const { logger } = configuration;
const handlerExecutionContext = {
logger,
clientName,
commandName,
inputFilterSensitiveLog,
outputFilterSensitiveLog,
[types.SMITHY_CONTEXT_KEY]: {
commandInstance: this,
...smithyContext
},
...additionalContext
};
const { requestHandler } = configuration;
return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
}
}
class ClassBuilder {
_init = () => {};
_ep = {};
_middlewareFn = () => [];
_commandName = "";
_clientName = "";
_additionalContext = {};
_smithyContext = {};
_inputFilterSensitiveLog = undefined;
_outputFilterSensitiveLog = undefined;
_serializer = null;
_deserializer = null;
_operationSchema;
init(cb) {
this._init = cb;
}
ep(endpointParameterInstructions) {
this._ep = endpointParameterInstructions;
return this;
}
m(middlewareSupplier) {
this._middlewareFn = middlewareSupplier;
return this;
}
s(service, operation, smithyContext = {}) {
this._smithyContext = {
service,
operation,
...smithyContext
};
return this;
}
c(additionalContext = {}) {
this._additionalContext = additionalContext;
return this;
}
n(clientName, commandName) {
this._clientName = clientName;
this._commandName = commandName;
return this;
}
f(inputFilter = (_2) => _2, outputFilter = (_2) => _2) {
this._inputFilterSensitiveLog = inputFilter;
this._outputFilterSensitiveLog = outputFilter;
return this;
}
ser(serializer) {
this._serializer = serializer;
return this;
}
de(deserializer) {
this._deserializer = deserializer;
return this;
}
sc(operation) {
this._operationSchema = operation;
this._smithyContext.operationSchema = operation;
return this;
}
build() {
const closure = this;
let CommandRef;
return CommandRef = class extends Command2 {
input;
static getEndpointParameterInstructions() {
return closure._ep;
}
constructor(...[input]) {
super();
this.input = input ?? {};
closure._init(this);
this.schema = closure._operationSchema;
}
resolveMiddleware(stack, configuration, options) {
const op = closure._operationSchema;
const input = op?.[4] ?? op?.input;
const output = op?.[5] ?? op?.output;
return this.resolveMiddlewareWithContext(stack, configuration, options, {
CommandCtor: CommandRef,
middlewareFn: closure._middlewareFn,
clientName: closure._clientName,
commandName: closure._commandName,
inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_2) => _2),
outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_2) => _2),
smithyContext: closure._smithyContext,
additionalContext: closure._additionalContext
});
}
serialize = closure._serializer;
deserialize = closure._deserializer;
};
}
}
var SENSITIVE_STRING = "***SensitiveInformation***";
var createAggregatedClient = (commands, Client2, options) => {
for (const [command, CommandCtor] of Object.entries(commands)) {
const methodImpl = async function(args, optionsOrCb, cb) {
const command2 = new CommandCtor(args);
if (typeof optionsOrCb === "function") {
this.send(command2, optionsOrCb);
} else if (typeof cb === "function") {
if (typeof optionsOrCb !== "object")
throw new Error(`Expected http options but got ${typeof optionsOrCb}`);
this.send(command2, optionsOrCb || {}, cb);
} else {
return this.send(command2, optionsOrCb);
}
};
const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
Client2.prototype[methodName] = methodImpl;
}
const { paginators = {}, waiters = {} } = options ?? {};
for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {
if (Client2.prototype[paginatorName] === undefined) {
Client2.prototype[paginatorName] = function(commandInput = {}, paginationConfiguration, ...rest) {
return paginatorFn({
...paginationConfiguration,
client: this
}, commandInput, ...rest);
};
}
}
for (const [waiterName, waiterFn] of Object.entries(waiters)) {
if (Client2.prototype[waiterName] === undefined) {
Client2.prototype[waiterName] = async function(commandInput = {}, waiterConfiguration, ...rest) {
let config2 = waiterConfiguration;
if (typeof waiterConfiguration === "number") {
config2 = {
maxWaitTime: waiterConfiguration
};
}
return waiterFn({
...config2,
client: this
}, commandInput, ...rest);
};
}
}
};
class ServiceException extends Error {
$fault;
$response;
$retryable;
$metadata;
constructor(options) {
super(options.message);
Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);
this.name = options.name;
this.$fault = options.$fault;
this.$metadata = options.$metadata;
}
static isInstance(value) {
if (!value)
return false;
const candidate = value;
return ServiceException.prototype.isPrototypeOf(candidate) || Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server");
}
static [Symbol.hasInstance](instance) {
if (!instance)
return false;
const candidate = instance;
if (this === ServiceException) {
return ServiceException.isInstance(instance);
}
if (ServiceException.isInstance(instance)) {
if (candidate.name && this.name) {
return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;
}
return this.prototype.isPrototypeOf(instance);
}
return false;
}
}
var decorateServiceException = (exception, additions = {}) => {
Object.entries(additions).filter(([, v2]) => v2 !== undefined).forEach(([k2, v2]) => {
if (exception[k2] == undefined || exception[k2] === "") {
exception[k2] = v2;
}
});
const message = exception.message || exception.Message || "UnknownError";
exception.message = message;
delete exception.Message;
return exception;
};
var throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {
const $metadata = deserializeMetadata(output);
const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + "" : undefined;
const response = new exceptionCtor({
name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || "UnknownError",
$fault: "client",
$metadata
});
throw decorateServiceException(response, parsedBody);
};
var withBaseException = (ExceptionCtor) => {
return ({ output, parsedBody, errorCode }) => {
throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });
};
};
var deserializeMetadata = (output) => ({
httpStatusCode: output.statusCode,
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
extendedRequestId: output.headers["x-amz-id-2"],
cfId: output.headers["x-amz-cf-id"]
});
var loadConfigsForDefaultMode = (mode) => {
switch (mode) {
case "standard":
return {
retryMode: "standard",
connectionTimeout: 3100
};
case "in-region":
return {
retryMode: "standard",
connectionTimeout: 1100
};
case "cross-region":
return {
retryMode: "standard",
connectionTimeout: 3100
};
case "mobile":
return {
retryMode: "standard",
connectionTimeout: 30000
};
default:
return {};
}
};
var warningEmitted = false;
var emitWarningIfUnsupportedVersion = (version2) => {
if (version2 && !warningEmitted && parseInt(version2.substring(1, version2.indexOf("."))) < 16) {
warningEmitted = true;
}
};
var knownAlgorithms = Object.values(types.AlgorithmId);
var getChecksumConfiguration = (runtimeConfig) => {
const checksumAlgorithms = [];
for (const id in types.AlgorithmId) {
const algorithmId = types.AlgorithmId[id];
if (runtimeConfig[algorithmId] === undefined) {
continue;
}
checksumAlgorithms.push({
algorithmId: () => algorithmId,
checksumConstructor: () => runtimeConfig[algorithmId]
});
}
for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {
checksumAlgorithms.push({
algorithmId: () => id,
checksumConstructor: () => ChecksumCtor
});
}
return {
addChecksumAlgorithm(algo) {
runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};
const id = algo.algorithmId();
const ctor = algo.checksumConstructor();
if (knownAlgorithms.includes(id)) {
runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;
} else {
runtimeConfig.checksumAlgorithms[id] = ctor;
}
checksumAlgorithms.push(algo);
},
checksumAlgorithms() {
return checksumAlgorithms;
}
};
};
var resolveChecksumRuntimeConfig = (clientConfig) => {
const runtimeConfig = {};
clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {
const id = checksumAlgorithm.algorithmId();
if (knownAlgorithms.includes(id)) {
runtimeConfig[id] = checksumAlgorithm.checksumConstructor();
}
});
return runtimeConfig;
};
var getRetryConfiguration = (runtimeConfig) => {
return {
setRetryStrategy(retryStrategy) {
runtimeConfig.retryStrategy = retryStrategy;
},
retryStrategy() {
return runtimeConfig.retryStrategy;
}
};
};
var resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {
const runtimeConfig = {};
runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();
return runtimeConfig;
};
var getDefaultExtensionConfiguration = (runtimeConfig) => {
return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));
};
var getDefaultClientConfiguration = getDefaultExtensionConfiguration;
var resolveDefaultRuntimeConfig = (config2) => {
return Object.assign(resolveChecksumRuntimeConfig(config2), resolveRetryRuntimeConfig(config2));
};
var getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];
var getValueFromTextNode = (obj) => {
const textNodeName = "#text";
for (const key in obj) {
if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {
obj[key] = obj[key][textNodeName];
} else if (typeof obj[key] === "object" && obj[key] !== null) {
obj[key] = getValueFromTextNode(obj[key]);
}
}
return obj;
};
var isSerializableHeaderValue = (value) => {
return value != null;
};
class NoOpLogger {
trace() {}
debug() {}
info() {}
warn() {}
error() {}
}
function map2(arg0, arg1, arg2) {
let target;
let filter2;
let instructions;
if (typeof arg1 === "undefined" && typeof arg2 === "undefined") {
target = {};
instructions = arg0;
} else {
target = arg0;
if (typeof arg1 === "function") {
filter2 = arg1;
instructions = arg2;
return mapWithFilter(target, filter2, instructions);
} else {
instructions = arg1;
}
}
for (const key of Object.keys(instructions)) {
if (!Array.isArray(instructions[key])) {
target[key] = instructions[key];
continue;
}
applyInstruction(target, null, instructions, key);
}
return target;
}
var convertMap = (target) => {
const output = {};
for (const [k2, v2] of Object.entries(target || {})) {
output[k2] = [, v2];
}
return output;
};
var take = (source, instructions) => {
const out = {};
for (const key in instructions) {
applyInstruction(out, source, instructions, key);
}
return out;
};
var mapWithFilter = (target, filter2, instructions) => {
return map2(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {
if (Array.isArray(value)) {
_instructions[key] = value;
} else {
if (typeof value === "function") {
_instructions[key] = [filter2, value()];
} else {
_instructions[key] = [filter2, value];
}
}
return _instructions;
}, {}));
};
var applyInstruction = (target, source, instructions, targetKey) => {
if (source !== null) {
let instruction = instructions[targetKey];
if (typeof instruction === "function") {
instruction = [, instruction];
}
const [filter3 = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;
if (typeof filter3 === "function" && filter3(source[sourceKey]) || typeof filter3 !== "function" && !!filter3) {
target[targetKey] = valueFn(source[sourceKey]);
}
return;
}
let [filter2, value] = instructions[targetKey];
if (typeof value === "function") {
let _value;
const defaultFilterPassed = filter2 === undefined && (_value = value()) != null;
const customFilterPassed = typeof filter2 === "function" && !!filter2(undefined) || typeof filter2 !== "function" && !!filter2;
if (defaultFilterPassed) {
target[targetKey] = _value;
} else if (customFilterPassed) {
target[targetKey] = value();
}
} else {
const defaultFilterPassed = filter2 === undefined && value != null;
const customFilterPassed = typeof filter2 === "function" && !!filter2(value) || typeof filter2 !== "function" && !!filter2;
if (defaultFilterPassed || customFilterPassed) {
target[targetKey] = value;
}
}
};
var nonNullish = (_2) => _2 != null;
var pass = (_2) => _2;
var serializeFloat = (value) => {
if (value !== value) {
return "NaN";
}
switch (value) {
case Infinity:
return "Infinity";
case -Infinity:
return "-Infinity";
default:
return value;
}
};
var serializeDateTime = (date5) => date5.toISOString().replace(".000Z", "Z");
var _json = (obj) => {
if (obj == null) {
return {};
}
if (Array.isArray(obj)) {
return obj.filter((_2) => _2 != null).map(_json);
}
if (typeof obj === "object") {
const target = {};
for (const key of Object.keys(obj)) {
if (obj[key] == null) {
continue;
}
target[key] = _json(obj[key]);
}
return target;
}
return obj;
};
exports.collectBody = protocols.collectBody;
exports.extendedEncodeURIComponent = protocols.extendedEncodeURIComponent;
exports.resolvedPath = protocols.resolvedPath;
exports.Client = Client;
exports.Command = Command2;
exports.NoOpLogger = NoOpLogger;
exports.SENSITIVE_STRING = SENSITIVE_STRING;
exports.ServiceException = ServiceException;
exports._json = _json;
exports.convertMap = convertMap;
exports.createAggregatedClient = createAggregatedClient;
exports.decorateServiceException = decorateServiceException;
exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;
exports.getArrayIfSingleItem = getArrayIfSingleItem;
exports.getDefaultClientConfiguration = getDefaultClientConfiguration;
exports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;
exports.getValueFromTextNode = getValueFromTextNode;
exports.isSerializableHeaderValue = isSerializableHeaderValue;
exports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;
exports.map = map2;
exports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;
exports.serializeDateTime = serializeDateTime;
exports.serializeFloat = serializeFloat;
exports.take = take;
exports.throwDefaultError = throwDefaultError;
exports.withBaseException = withBaseException;
Object.prototype.hasOwnProperty.call(serde, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: serde["__proto__"]
});
Object.keys(serde).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = serde[k2];
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.26/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js
var require_requestHelpers = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGetRequest = createGetRequest;
exports.getCredentials = getCredentials;
var property_provider_1 = require_dist_cjs6();
var protocol_http_1 = require_dist_cjs2();
var smithy_client_1 = require_dist_cjs23();
var util_stream_1 = require_dist_cjs20();
function createGetRequest(url3) {
return new protocol_http_1.HttpRequest({
protocol: url3.protocol,
hostname: url3.hostname,
port: Number(url3.port),
path: url3.pathname,
query: Array.from(url3.searchParams.entries()).reduce((acc, [k2, v2]) => {
acc[k2] = v2;
return acc;
}, {}),
fragment: url3.hash
});
}
async function getCredentials(response, logger) {
const stream4 = (0, util_stream_1.sdkStreamMixin)(response.body);
const str = await stream4.transformToString();
if (response.statusCode === 200) {
const parsed = JSON.parse(str);
if (typeof parsed.AccessKeyId !== "string" || typeof parsed.SecretAccessKey !== "string" || typeof parsed.Token !== "string" || typeof parsed.Expiration !== "string") {
throw new property_provider_1.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: " + "{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger });
}
return {
accessKeyId: parsed.AccessKeyId,
secretAccessKey: parsed.SecretAccessKey,
sessionToken: parsed.Token,
expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration)
};
}
if (response.statusCode >= 400 && response.statusCode < 500) {
let parsedBody = {};
try {
parsedBody = JSON.parse(str);
} catch (e) {}
throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {
Code: parsedBody.Code,
Message: parsedBody.Message
});
}
throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });
}
});
// node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.26/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js
var require_retry_wrapper = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.retryWrapper = undefined;
var retryWrapper = (toRetry, maxRetries, delayMs) => {
return async () => {
for (let i2 = 0;i2 < maxRetries; ++i2) {
try {
return await toRetry();
} catch (e) {
await new Promise((resolve9) => setTimeout(resolve9, delayMs));
}
}
return await toRetry();
};
};
exports.retryWrapper = retryWrapper;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.26/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js
var require_fromHttp = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromHttp = undefined;
var tslib_1 = require_tslib();
var client_1 = require_client2();
var node_http_handler_1 = require_dist_cjs5();
var property_provider_1 = require_dist_cjs6();
var promises_1 = tslib_1.__importDefault(__require("node:fs/promises"));
var checkUrl_1 = require_checkUrl();
var requestHelpers_1 = require_requestHelpers();
var retry_wrapper_1 = require_retry_wrapper();
var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
var fromHttp = (options = {}) => {
options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");
let host;
const relative3 = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger?.warn ? console.warn : options.logger.warn.bind(options.logger);
if (relative3 && full) {
warn("@aws-sdk/credential-provider-http: " + "you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
warn("awsContainerCredentialsFullUri will take precedence.");
}
if (token && tokenFile) {
warn("@aws-sdk/credential-provider-http: " + "you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
warn("awsContainerAuthorizationToken will take precedence.");
}
if (full) {
host = full;
} else if (relative3) {
host = `${DEFAULT_LINK_LOCAL_HOST}${relative3}`;
} else {
throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided.
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
}
const url3 = new URL(host);
(0, checkUrl_1.checkUrl)(url3, options.logger);
const requestHandler = node_http_handler_1.NodeHttpHandler.create({
requestTimeout: options.timeout ?? 1000,
connectionTimeout: options.timeout ?? 1000
});
return (0, retry_wrapper_1.retryWrapper)(async () => {
const request = (0, requestHelpers_1.createGetRequest)(url3);
if (token) {
request.headers.Authorization = token;
} else if (tokenFile) {
request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();
}
try {
const result = await requestHandler.handle(request);
return (0, requestHelpers_1.getCredentials)(result.response).then((creds) => (0, client_1.setCredentialFeature)(creds, "CREDENTIALS_HTTP", "z"));
} catch (e) {
throw new property_provider_1.CredentialsProviderError(String(e), { logger: options.logger });
}
}, options.maxRetries ?? 3, options.timeout ?? 1000);
};
exports.fromHttp = fromHttp;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-http@3.972.26/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js
var require_dist_cjs24 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromHttp = undefined;
var fromHttp_1 = require_fromHttp();
Object.defineProperty(exports, "fromHttp", { enumerable: true, get: function() {
return fromHttp_1.fromHttp;
} });
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/index.js
var require_dist_cjs25 = __commonJS((exports) => {
var types = require_dist_cjs();
var utilMiddleware = require_dist_cjs21();
var protocolHttp = require_dist_cjs2();
var protocols = require_protocols();
var getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});
var resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {
if (!authSchemePreference || authSchemePreference.length === 0) {
return candidateAuthOptions;
}
const preferredAuthOptions = [];
for (const preferredSchemeName of authSchemePreference) {
for (const candidateAuthOption of candidateAuthOptions) {
const candidateAuthSchemeName = candidateAuthOption.schemeId.split("#")[1];
if (candidateAuthSchemeName === preferredSchemeName) {
preferredAuthOptions.push(candidateAuthOption);
}
}
}
for (const candidateAuthOption of candidateAuthOptions) {
if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {
preferredAuthOptions.push(candidateAuthOption);
}
}
return preferredAuthOptions;
};
function convertHttpAuthSchemesToMap(httpAuthSchemes) {
const map2 = new Map;
for (const scheme of httpAuthSchemes) {
map2.set(scheme.schemeId, scheme);
}
return map2;
}
var httpAuthSchemeMiddleware = (config2, mwOptions) => (next, context) => async (args) => {
const options = config2.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config2, context, args.input));
const authSchemePreference = config2.authSchemePreference ? await config2.authSchemePreference() : [];
const resolvedOptions = resolveAuthOptions(options, authSchemePreference);
const authSchemes = convertHttpAuthSchemesToMap(config2.httpAuthSchemes);
const smithyContext = utilMiddleware.getSmithyContext(context);
const failureReasons = [];
for (const option of resolvedOptions) {
const scheme = authSchemes.get(option.schemeId);
if (!scheme) {
failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` was not enabled for this service.`);
continue;
}
const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config2));
if (!identityProvider) {
failureReasons.push(`HttpAuthScheme \`${option.schemeId}\` did not have an IdentityProvider configured.`);
continue;
}
const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config2, context) || {};
option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);
option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);
smithyContext.selectedHttpAuthScheme = {
httpAuthOption: option,
identity: await identityProvider(option.identityProperties),
signer: scheme.signer
};
break;
}
if (!smithyContext.selectedHttpAuthScheme) {
throw new Error(failureReasons.join(`
`));
}
return next(args);
};
var httpAuthSchemeEndpointRuleSetMiddlewareOptions = {
step: "serialize",
tags: ["HTTP_AUTH_SCHEME"],
name: "httpAuthSchemeMiddleware",
override: true,
relation: "before",
toMiddleware: "endpointV2Middleware"
};
var getHttpAuthSchemeEndpointRuleSetPlugin = (config2, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(httpAuthSchemeMiddleware(config2, {
httpAuthSchemeParametersProvider,
identityProviderConfigProvider
}), httpAuthSchemeEndpointRuleSetMiddlewareOptions);
}
});
var httpAuthSchemeMiddlewareOptions = {
step: "serialize",
tags: ["HTTP_AUTH_SCHEME"],
name: "httpAuthSchemeMiddleware",
override: true,
relation: "before",
toMiddleware: "serializerMiddleware"
};
var getHttpAuthSchemePlugin = (config2, { httpAuthSchemeParametersProvider, identityProviderConfigProvider }) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(httpAuthSchemeMiddleware(config2, {
httpAuthSchemeParametersProvider,
identityProviderConfigProvider
}), httpAuthSchemeMiddlewareOptions);
}
});
var defaultErrorHandler = (signingProperties) => (error49) => {
throw error49;
};
var defaultSuccessHandler = (httpResponse, signingProperties) => {};
var httpSigningMiddleware = (config2) => (next, context) => async (args) => {
if (!protocolHttp.HttpRequest.isInstance(args.request)) {
return next(args);
}
const smithyContext = utilMiddleware.getSmithyContext(context);
const scheme = smithyContext.selectedHttpAuthScheme;
if (!scheme) {
throw new Error(`No HttpAuthScheme was selected: unable to sign request`);
}
const { httpAuthOption: { signingProperties = {} }, identity: identity4, signer } = scheme;
const output = await next({
...args,
request: await signer.sign(args.request, identity4, signingProperties)
}).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));
(signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);
return output;
};
var httpSigningMiddlewareOptions = {
step: "finalizeRequest",
tags: ["HTTP_SIGNING"],
name: "httpSigningMiddleware",
aliases: ["apiKeyMiddleware", "tokenMiddleware", "awsAuthMiddleware"],
override: true,
relation: "after",
toMiddleware: "retryMiddleware"
};
var getHttpSigningPlugin = (config2) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(httpSigningMiddleware(), httpSigningMiddlewareOptions);
}
});
var normalizeProvider = (input) => {
if (typeof input === "function")
return input;
const promisified = Promise.resolve(input);
return () => promisified;
};
var makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_2) => _2, ...args) => {
let command = new CommandCtor(input);
command = withCommand(command) ?? command;
return await client.send(command, ...args);
};
function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {
return async function* paginateOperation(config2, input, ...additionalArguments) {
const _input = input;
let token = config2.startingToken ?? _input[inputTokenName];
let hasNext = true;
let page;
while (hasNext) {
_input[inputTokenName] = token;
if (pageSizeTokenName) {
_input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config2.pageSize;
}
if (config2.client instanceof ClientCtor) {
page = await makePagedClientRequest(CommandCtor, config2.client, input, config2.withCommand, ...additionalArguments);
} else {
throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);
}
yield page;
const prevToken = token;
token = get2(page, outputTokenName);
hasNext = !!(token && (!config2.stopOnSameToken || token !== prevToken));
}
return;
};
}
var get2 = (fromObject, path9) => {
let cursor = fromObject;
const pathComponents = path9.split(".");
for (const step of pathComponents) {
if (!cursor || typeof cursor !== "object") {
return;
}
cursor = cursor[step];
}
return cursor;
};
function setFeature(context, feature, value) {
if (!context.__smithy_context) {
context.__smithy_context = {
features: {}
};
} else if (!context.__smithy_context.features) {
context.__smithy_context.features = {};
}
context.__smithy_context.features[feature] = value;
}
class DefaultIdentityProviderConfig {
authSchemes = new Map;
constructor(config2) {
for (const [key, value] of Object.entries(config2)) {
if (value !== undefined) {
this.authSchemes.set(key, value);
}
}
}
getIdentityProvider(schemeId) {
return this.authSchemes.get(schemeId);
}
}
class HttpApiKeyAuthSigner {
async sign(httpRequest, identity4, signingProperties) {
if (!signingProperties) {
throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing");
}
if (!signingProperties.name) {
throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing");
}
if (!signingProperties.in) {
throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing");
}
if (!identity4.apiKey) {
throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined");
}
const clonedRequest = protocolHttp.HttpRequest.clone(httpRequest);
if (signingProperties.in === types.HttpApiKeyAuthLocation.QUERY) {
clonedRequest.query[signingProperties.name] = identity4.apiKey;
} else if (signingProperties.in === types.HttpApiKeyAuthLocation.HEADER) {
clonedRequest.headers[signingProperties.name] = signingProperties.scheme ? `${signingProperties.scheme} ${identity4.apiKey}` : identity4.apiKey;
} else {
throw new Error("request can only be signed with `apiKey` locations `query` or `header`, " + "but found: `" + signingProperties.in + "`");
}
return clonedRequest;
}
}
class HttpBearerAuthSigner {
async sign(httpRequest, identity4, signingProperties) {
const clonedRequest = protocolHttp.HttpRequest.clone(httpRequest);
if (!identity4.token) {
throw new Error("request could not be signed with `token` since the `token` is not defined");
}
clonedRequest.headers["Authorization"] = `Bearer ${identity4.token}`;
return clonedRequest;
}
}
class NoAuthSigner {
async sign(httpRequest, identity4, signingProperties) {
return httpRequest;
}
}
var createIsIdentityExpiredFunction = (expirationMs) => function isIdentityExpired2(identity4) {
return doesIdentityRequireRefresh(identity4) && identity4.expiration.getTime() - Date.now() < expirationMs;
};
var EXPIRATION_MS = 300000;
var isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);
var doesIdentityRequireRefresh = (identity4) => identity4.expiration !== undefined;
var memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {
if (provider === undefined) {
return;
}
const normalizedProvider = typeof provider !== "function" ? async () => Promise.resolve(provider) : provider;
let resolved;
let pending;
let hasResult;
let isConstant = false;
const coalesceProvider = async (options) => {
if (!pending) {
pending = normalizedProvider(options);
}
try {
resolved = await pending;
hasResult = true;
isConstant = false;
} finally {
pending = undefined;
}
return resolved;
};
if (isExpired === undefined) {
return async (options) => {
if (!hasResult || options?.forceRefresh) {
resolved = await coalesceProvider(options);
}
return resolved;
};
}
return async (options) => {
if (!hasResult || options?.forceRefresh) {
resolved = await coalesceProvider(options);
}
if (isConstant) {
return resolved;
}
if (!requiresRefresh(resolved)) {
isConstant = true;
return resolved;
}
if (isExpired(resolved)) {
await coalesceProvider(options);
return resolved;
}
return resolved;
};
};
exports.requestBuilder = protocols.requestBuilder;
exports.DefaultIdentityProviderConfig = DefaultIdentityProviderConfig;
exports.EXPIRATION_MS = EXPIRATION_MS;
exports.HttpApiKeyAuthSigner = HttpApiKeyAuthSigner;
exports.HttpBearerAuthSigner = HttpBearerAuthSigner;
exports.NoAuthSigner = NoAuthSigner;
exports.createIsIdentityExpiredFunction = createIsIdentityExpiredFunction;
exports.createPaginator = createPaginator;
exports.doesIdentityRequireRefresh = doesIdentityRequireRefresh;
exports.getHttpAuthSchemeEndpointRuleSetPlugin = getHttpAuthSchemeEndpointRuleSetPlugin;
exports.getHttpAuthSchemePlugin = getHttpAuthSchemePlugin;
exports.getHttpSigningPlugin = getHttpSigningPlugin;
exports.getSmithyContext = getSmithyContext;
exports.httpAuthSchemeEndpointRuleSetMiddlewareOptions = httpAuthSchemeEndpointRuleSetMiddlewareOptions;
exports.httpAuthSchemeMiddleware = httpAuthSchemeMiddleware;
exports.httpAuthSchemeMiddlewareOptions = httpAuthSchemeMiddlewareOptions;
exports.httpSigningMiddleware = httpSigningMiddleware;
exports.httpSigningMiddlewareOptions = httpSigningMiddlewareOptions;
exports.isIdentityExpired = isIdentityExpired;
exports.memoizeIdentityProvider = memoizeIdentityProvider;
exports.normalizeProvider = normalizeProvider;
exports.setFeature = setFeature;
});
// node_modules/.pnpm/@smithy+signature-v4@5.3.12/node_modules/@smithy/signature-v4/dist-cjs/index.js
var require_dist_cjs26 = __commonJS((exports) => {
var utilHexEncoding = require_dist_cjs19();
var utilUtf8 = require_dist_cjs16();
var isArrayBuffer3 = require_dist_cjs14();
var protocolHttp = require_dist_cjs2();
var utilMiddleware = require_dist_cjs21();
var utilUriEscape = require_dist_cjs3();
var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
var AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
var EXPIRES_QUERY_PARAM = "X-Amz-Expires";
var SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
var TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
var REGION_SET_PARAM = "X-Amz-Region-Set";
var AUTH_HEADER = "authorization";
var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
var DATE_HEADER = "date";
var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];
var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();
var SHA256_HEADER = "x-amz-content-sha256";
var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
var HOST_HEADER = "host";
var ALWAYS_UNSIGNABLE_HEADERS = {
authorization: true,
"cache-control": true,
connection: true,
expect: true,
from: true,
"keep-alive": true,
"max-forwards": true,
pragma: true,
referer: true,
te: true,
trailer: true,
"transfer-encoding": true,
upgrade: true,
"user-agent": true,
"x-amzn-trace-id": true
};
var PROXY_HEADER_PATTERN = /^proxy-/;
var SEC_HEADER_PATTERN = /^sec-/;
var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];
var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
var ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256";
var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD";
var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
var MAX_CACHE_SIZE = 50;
var KEY_TYPE_IDENTIFIER = "aws4_request";
var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;
var signingKeyCache = {};
var cacheQueue = [];
var createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;
var getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {
const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);
const cacheKey = `${shortDate}:${region}:${service}:${utilHexEncoding.toHex(credsHash)}:${credentials.sessionToken}`;
if (cacheKey in signingKeyCache) {
return signingKeyCache[cacheKey];
}
cacheQueue.push(cacheKey);
while (cacheQueue.length > MAX_CACHE_SIZE) {
delete signingKeyCache[cacheQueue.shift()];
}
let key = `AWS4${credentials.secretAccessKey}`;
for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {
key = await hmac(sha256Constructor, key, signable);
}
return signingKeyCache[cacheKey] = key;
};
var clearCredentialCache = () => {
cacheQueue.length = 0;
Object.keys(signingKeyCache).forEach((cacheKey) => {
delete signingKeyCache[cacheKey];
});
};
var hmac = (ctor, secret, data) => {
const hash3 = new ctor(secret);
hash3.update(utilUtf8.toUint8Array(data));
return hash3.digest();
};
var getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {
const canonical = {};
for (const headerName of Object.keys(headers).sort()) {
if (headers[headerName] == undefined) {
continue;
}
const canonicalHeaderName = headerName.toLowerCase();
if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || unsignableHeaders?.has(canonicalHeaderName) || PROXY_HEADER_PATTERN.test(canonicalHeaderName) || SEC_HEADER_PATTERN.test(canonicalHeaderName)) {
if (!signableHeaders || signableHeaders && !signableHeaders.has(canonicalHeaderName)) {
continue;
}
}
canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\s+/g, " ");
}
return canonical;
};
var getPayloadHash = async ({ headers, body }, hashConstructor) => {
for (const headerName of Object.keys(headers)) {
if (headerName.toLowerCase() === SHA256_HEADER) {
return headers[headerName];
}
}
if (body == undefined) {
return "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
} else if (typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer3.isArrayBuffer(body)) {
const hashCtor = new hashConstructor;
hashCtor.update(utilUtf8.toUint8Array(body));
return utilHexEncoding.toHex(await hashCtor.digest());
}
return UNSIGNED_PAYLOAD;
};
class HeaderFormatter {
format(headers) {
const chunks = [];
for (const headerName of Object.keys(headers)) {
const bytes = utilUtf8.fromUtf8(headerName);
chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
}
const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
let position = 0;
for (const chunk of chunks) {
out.set(chunk, position);
position += chunk.byteLength;
}
return out;
}
formatHeaderValue(header) {
switch (header.type) {
case "boolean":
return Uint8Array.from([header.value ? 0 : 1]);
case "byte":
return Uint8Array.from([2, header.value]);
case "short":
const shortView = new DataView(new ArrayBuffer(3));
shortView.setUint8(0, 3);
shortView.setInt16(1, header.value, false);
return new Uint8Array(shortView.buffer);
case "integer":
const intView = new DataView(new ArrayBuffer(5));
intView.setUint8(0, 4);
intView.setInt32(1, header.value, false);
return new Uint8Array(intView.buffer);
case "long":
const longBytes = new Uint8Array(9);
longBytes[0] = 5;
longBytes.set(header.value.bytes, 1);
return longBytes;
case "binary":
const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
binView.setUint8(0, 6);
binView.setUint16(1, header.value.byteLength, false);
const binBytes = new Uint8Array(binView.buffer);
binBytes.set(header.value, 3);
return binBytes;
case "string":
const utf8Bytes = utilUtf8.fromUtf8(header.value);
const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
strView.setUint8(0, 7);
strView.setUint16(1, utf8Bytes.byteLength, false);
const strBytes = new Uint8Array(strView.buffer);
strBytes.set(utf8Bytes, 3);
return strBytes;
case "timestamp":
const tsBytes = new Uint8Array(9);
tsBytes[0] = 8;
tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
return tsBytes;
case "uuid":
if (!UUID_PATTERN.test(header.value)) {
throw new Error(`Invalid UUID received: ${header.value}`);
}
const uuidBytes = new Uint8Array(17);
uuidBytes[0] = 9;
uuidBytes.set(utilHexEncoding.fromHex(header.value.replace(/\-/g, "")), 1);
return uuidBytes;
}
}
}
var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
class Int64 {
bytes;
constructor(bytes) {
this.bytes = bytes;
if (bytes.byteLength !== 8) {
throw new Error("Int64 buffers must be exactly 8 bytes");
}
}
static fromNumber(number4) {
if (number4 > 9223372036854776000 || number4 < -9223372036854776000) {
throw new Error(`${number4} is too large (or, if negative, too small) to represent as an Int64`);
}
const bytes = new Uint8Array(8);
for (let i2 = 7, remaining = Math.abs(Math.round(number4));i2 > -1 && remaining > 0; i2--, remaining /= 256) {
bytes[i2] = remaining;
}
if (number4 < 0) {
negate(bytes);
}
return new Int64(bytes);
}
valueOf() {
const bytes = this.bytes.slice(0);
const negative = bytes[0] & 128;
if (negative) {
negate(bytes);
}
return parseInt(utilHexEncoding.toHex(bytes), 16) * (negative ? -1 : 1);
}
toString() {
return String(this.valueOf());
}
}
function negate(bytes) {
for (let i2 = 0;i2 < 8; i2++) {
bytes[i2] ^= 255;
}
for (let i2 = 7;i2 > -1; i2--) {
bytes[i2]++;
if (bytes[i2] !== 0)
break;
}
}
var hasHeader = (soughtHeader, headers) => {
soughtHeader = soughtHeader.toLowerCase();
for (const headerName of Object.keys(headers)) {
if (soughtHeader === headerName.toLowerCase()) {
return true;
}
}
return false;
};
var moveHeadersToQuery = (request, options = {}) => {
const { headers, query = {} } = protocolHttp.HttpRequest.clone(request);
for (const name of Object.keys(headers)) {
const lname = name.toLowerCase();
if (lname.slice(0, 6) === "x-amz-" && !options.unhoistableHeaders?.has(lname) || options.hoistableHeaders?.has(lname)) {
query[name] = headers[name];
delete headers[name];
}
}
return {
...request,
headers,
query
};
};
var prepareRequest = (request) => {
request = protocolHttp.HttpRequest.clone(request);
for (const headerName of Object.keys(request.headers)) {
if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {
delete request.headers[headerName];
}
}
return request;
};
var getCanonicalQuery = ({ query = {} }) => {
const keys2 = [];
const serialized = {};
for (const key of Object.keys(query)) {
if (key.toLowerCase() === SIGNATURE_HEADER) {
continue;
}
const encodedKey = utilUriEscape.escapeUri(key);
keys2.push(encodedKey);
const value = query[key];
if (typeof value === "string") {
serialized[encodedKey] = `${encodedKey}=${utilUriEscape.escapeUri(value)}`;
} else if (Array.isArray(value)) {
serialized[encodedKey] = value.slice(0).reduce((encoded, value2) => encoded.concat([`${encodedKey}=${utilUriEscape.escapeUri(value2)}`]), []).sort().join("&");
}
}
return keys2.sort().map((key) => serialized[key]).filter((serialized2) => serialized2).join("&");
};
var iso8601 = (time3) => toDate(time3).toISOString().replace(/\.\d{3}Z$/, "Z");
var toDate = (time3) => {
if (typeof time3 === "number") {
return new Date(time3 * 1000);
}
if (typeof time3 === "string") {
if (Number(time3)) {
return new Date(Number(time3) * 1000);
}
return new Date(time3);
}
return time3;
};
class SignatureV4Base {
service;
regionProvider;
credentialProvider;
sha256;
uriEscapePath;
applyChecksum;
constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) {
this.service = service;
this.sha256 = sha256;
this.uriEscapePath = uriEscapePath;
this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true;
this.regionProvider = utilMiddleware.normalizeProvider(region);
this.credentialProvider = utilMiddleware.normalizeProvider(credentials);
}
createCanonicalRequest(request, canonicalHeaders, payloadHash) {
const sortedHeaders = Object.keys(canonicalHeaders).sort();
return `${request.method}
${this.getCanonicalPath(request)}
${getCanonicalQuery(request)}
${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(`
`)}
${sortedHeaders.join(";")}
${payloadHash}`;
}
async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {
const hash3 = new this.sha256;
hash3.update(utilUtf8.toUint8Array(canonicalRequest));
const hashedRequest = await hash3.digest();
return `${algorithmIdentifier}
${longDate}
${credentialScope}
${utilHexEncoding.toHex(hashedRequest)}`;
}
getCanonicalPath({ path: path9 }) {
if (this.uriEscapePath) {
const normalizedPathSegments = [];
for (const pathSegment of path9.split("/")) {
if (pathSegment?.length === 0)
continue;
if (pathSegment === ".")
continue;
if (pathSegment === "..") {
normalizedPathSegments.pop();
} else {
normalizedPathSegments.push(pathSegment);
}
}
const normalizedPath = `${path9?.startsWith("/") ? "/" : ""}${normalizedPathSegments.join("/")}${normalizedPathSegments.length > 0 && path9?.endsWith("/") ? "/" : ""}`;
const doubleEncoded = utilUriEscape.escapeUri(normalizedPath);
return doubleEncoded.replace(/%2F/g, "/");
}
return path9;
}
validateResolvedCredentials(credentials) {
if (typeof credentials !== "object" || typeof credentials.accessKeyId !== "string" || typeof credentials.secretAccessKey !== "string") {
throw new Error("Resolved credential object is not valid");
}
}
formatDate(now) {
const longDate = iso8601(now).replace(/[\-:]/g, "");
return {
longDate,
shortDate: longDate.slice(0, 8)
};
}
getCanonicalHeaderList(headers) {
return Object.keys(headers).sort().join(";");
}
}
class SignatureV4 extends SignatureV4Base {
headerFormatter = new HeaderFormatter;
constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true }) {
super({
applyChecksum,
credentials,
region,
service,
sha256,
uriEscapePath
});
}
async presign(originalRequest, options = {}) {
const { signingDate = new Date, expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService } = options;
const credentials = await this.credentialProvider();
this.validateResolvedCredentials(credentials);
const region = signingRegion ?? await this.regionProvider();
const { longDate, shortDate } = this.formatDate(signingDate);
if (expiresIn > MAX_PRESIGNED_TTL) {
return Promise.reject("Signature version 4 presigned URLs" + " must have an expiration date less than one week in" + " the future");
}
const scope = createScope(shortDate, region, signingService ?? this.service);
const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });
if (credentials.sessionToken) {
request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;
}
request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;
request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;
request.query[AMZ_DATE_QUERY_PARAM] = longDate;
request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);
const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);
request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));
return request;
}
async sign(toSign, options) {
if (typeof toSign === "string") {
return this.signString(toSign, options);
} else if (toSign.headers && toSign.payload) {
return this.signEvent(toSign, options);
} else if (toSign.message) {
return this.signMessage(toSign, options);
} else {
return this.signRequest(toSign, options);
}
}
async signEvent({ headers, payload }, { signingDate = new Date, priorSignature, signingRegion, signingService }) {
const region = signingRegion ?? await this.regionProvider();
const { shortDate, longDate } = this.formatDate(signingDate);
const scope = createScope(shortDate, region, signingService ?? this.service);
const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);
const hash3 = new this.sha256;
hash3.update(headers);
const hashedHeaders = utilHexEncoding.toHex(await hash3.digest());
const stringToSign = [
EVENT_ALGORITHM_IDENTIFIER,
longDate,
scope,
priorSignature,
hashedHeaders,
hashedPayload
].join(`
`);
return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });
}
async signMessage(signableMessage, { signingDate = new Date, signingRegion, signingService }) {
const promise2 = this.signEvent({
headers: this.headerFormatter.format(signableMessage.message.headers),
payload: signableMessage.message.body
}, {
signingDate,
signingRegion,
signingService,
priorSignature: signableMessage.priorSignature
});
return promise2.then((signature) => {
return { message: signableMessage.message, signature };
});
}
async signString(stringToSign, { signingDate = new Date, signingRegion, signingService } = {}) {
const credentials = await this.credentialProvider();
this.validateResolvedCredentials(credentials);
const region = signingRegion ?? await this.regionProvider();
const { shortDate } = this.formatDate(signingDate);
const hash3 = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));
hash3.update(utilUtf8.toUint8Array(stringToSign));
return utilHexEncoding.toHex(await hash3.digest());
}
async signRequest(requestToSign, { signingDate = new Date, signableHeaders, unsignableHeaders, signingRegion, signingService } = {}) {
const credentials = await this.credentialProvider();
this.validateResolvedCredentials(credentials);
const region = signingRegion ?? await this.regionProvider();
const request = prepareRequest(requestToSign);
const { longDate, shortDate } = this.formatDate(signingDate);
const scope = createScope(shortDate, region, signingService ?? this.service);
request.headers[AMZ_DATE_HEADER] = longDate;
if (credentials.sessionToken) {
request.headers[TOKEN_HEADER] = credentials.sessionToken;
}
const payloadHash = await getPayloadHash(request, this.sha256);
if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {
request.headers[SHA256_HEADER] = payloadHash;
}
const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);
const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));
request.headers[AUTH_HEADER] = `${ALGORITHM_IDENTIFIER} ` + `Credential=${credentials.accessKeyId}/${scope}, ` + `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` + `Signature=${signature}`;
return request;
}
async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {
const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);
const hash3 = new this.sha256(await keyPromise);
hash3.update(utilUtf8.toUint8Array(stringToSign));
return utilHexEncoding.toHex(await hash3.digest());
}
getSigningKey(credentials, region, shortDate, service) {
return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);
}
}
var signatureV4aContainer = {
SignatureV4a: null
};
exports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER;
exports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A;
exports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM;
exports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS;
exports.AMZ_DATE_HEADER = AMZ_DATE_HEADER;
exports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM;
exports.AUTH_HEADER = AUTH_HEADER;
exports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM;
exports.DATE_HEADER = DATE_HEADER;
exports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER;
exports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM;
exports.GENERATED_HEADERS = GENERATED_HEADERS;
exports.HOST_HEADER = HOST_HEADER;
exports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER;
exports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;
exports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL;
exports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN;
exports.REGION_SET_PARAM = REGION_SET_PARAM;
exports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN;
exports.SHA256_HEADER = SHA256_HEADER;
exports.SIGNATURE_HEADER = SIGNATURE_HEADER;
exports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM;
exports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM;
exports.SignatureV4 = SignatureV4;
exports.SignatureV4Base = SignatureV4Base;
exports.TOKEN_HEADER = TOKEN_HEADER;
exports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM;
exports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS;
exports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD;
exports.clearCredentialCache = clearCredentialCache;
exports.createScope = createScope;
exports.getCanonicalHeaders = getCanonicalHeaders;
exports.getCanonicalQuery = getCanonicalQuery;
exports.getPayloadHash = getPayloadHash;
exports.getSigningKey = getSigningKey;
exports.hasHeader = hasHeader;
exports.moveHeadersToQuery = moveHeadersToQuery;
exports.prepareRequest = prepareRequest;
exports.signatureV4aContainer = signatureV4aContainer;
});
// node_modules/.pnpm/@aws-sdk+core@3.973.26/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js
var require_httpAuthSchemes = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var core2 = require_dist_cjs25();
var propertyProvider = require_dist_cjs6();
var client = require_client2();
var signatureV4 = require_dist_cjs26();
var getDateHeader = (response) => protocolHttp.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;
var getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
var isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
var getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
const clockTimeInMs = Date.parse(clockTime);
if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
return clockTimeInMs - Date.now();
}
return currentSystemClockOffset;
};
var throwSigningPropertyError = (name, property2) => {
if (!property2) {
throw new Error(`Property \`${name}\` is not resolved for AWS SDK SigV4Auth`);
}
return property2;
};
var validateSigningProperties = async (signingProperties) => {
const context = throwSigningPropertyError("context", signingProperties.context);
const config2 = throwSigningPropertyError("config", signingProperties.config);
const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
const signerFunction = throwSigningPropertyError("signer", config2.signer);
const signer = await signerFunction(authScheme);
const signingRegion = signingProperties?.signingRegion;
const signingRegionSet = signingProperties?.signingRegionSet;
const signingName = signingProperties?.signingName;
return {
config: config2,
signer,
signingRegion,
signingRegionSet,
signingName
};
};
class AwsSdkSigV4Signer {
async sign(httpRequest, identity4, signingProperties) {
if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
}
const validatedProps = await validateSigningProperties(signingProperties);
const { config: config2, signer } = validatedProps;
let { signingRegion, signingName } = validatedProps;
const handlerExecutionContext = signingProperties.context;
if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {
const [first, second] = handlerExecutionContext.authSchemes;
if (first?.name === "sigv4a" && second?.name === "sigv4") {
signingRegion = second?.signingRegion ?? signingRegion;
signingName = second?.signingName ?? signingName;
}
}
const signedRequest = await signer.sign(httpRequest, {
signingDate: getSkewCorrectedDate(config2.systemClockOffset),
signingRegion,
signingService: signingName
});
return signedRequest;
}
errorHandler(signingProperties) {
return (error49) => {
const serverTime = error49.ServerTime ?? getDateHeader(error49.$response);
if (serverTime) {
const config2 = throwSigningPropertyError("config", signingProperties.config);
const initialSystemClockOffset = config2.systemClockOffset;
config2.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config2.systemClockOffset);
const clockSkewCorrected = config2.systemClockOffset !== initialSystemClockOffset;
if (clockSkewCorrected && error49.$metadata) {
error49.$metadata.clockSkewCorrected = true;
}
}
throw error49;
};
}
successHandler(httpResponse, signingProperties) {
const dateHeader = getDateHeader(httpResponse);
if (dateHeader) {
const config2 = throwSigningPropertyError("config", signingProperties.config);
config2.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config2.systemClockOffset);
}
}
}
var AWSSDKSigV4Signer = AwsSdkSigV4Signer;
class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
async sign(httpRequest, identity4, signingProperties) {
if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
}
const { config: config2, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
const configResolvedSigningRegionSet = await config2.sigv4aSigningRegionSet?.();
const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(",");
const signedRequest = await signer.sign(httpRequest, {
signingDate: getSkewCorrectedDate(config2.systemClockOffset),
signingRegion: multiRegionOverride,
signingService: signingName
});
return signedRequest;
}
}
var getArrayForCommaSeparatedString = (str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [];
var getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`;
var NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE";
var NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference";
var NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {
environmentVariableSelector: (env5, options) => {
if (options?.signingName) {
const bearerTokenKey = getBearerTokenEnvKey(options.signingName);
if (bearerTokenKey in env5)
return ["httpBearerAuth"];
}
if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env5))
return;
return getArrayForCommaSeparatedString(env5[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);
},
configFileSelector: (profile) => {
if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))
return;
return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);
},
default: []
};
var resolveAwsSdkSigV4AConfig = (config2) => {
config2.sigv4aSigningRegionSet = core2.normalizeProvider(config2.sigv4aSigningRegionSet);
return config2;
};
var NODE_SIGV4A_CONFIG_OPTIONS = {
environmentVariableSelector(env5) {
if (env5.AWS_SIGV4A_SIGNING_REGION_SET) {
return env5.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_2) => _2.trim());
}
throw new propertyProvider.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
tryNextLink: true
});
},
configFileSelector(profile) {
if (profile.sigv4a_signing_region_set) {
return (profile.sigv4a_signing_region_set ?? "").split(",").map((_2) => _2.trim());
}
throw new propertyProvider.ProviderError("sigv4a_signing_region_set not set in profile.", {
tryNextLink: true
});
},
default: undefined
};
var resolveAwsSdkSigV4Config = (config2) => {
let inputCredentials = config2.credentials;
let isUserSupplied = !!config2.credentials;
let resolvedCredentials = undefined;
Object.defineProperty(config2, "credentials", {
set(credentials) {
if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {
isUserSupplied = true;
}
inputCredentials = credentials;
const memoizedProvider = normalizeCredentialProvider(config2, {
credentials: inputCredentials,
credentialDefaultProvider: config2.credentialDefaultProvider
});
const boundProvider = bindCallerConfig(config2, memoizedProvider);
if (isUserSupplied && !boundProvider.attributed) {
const isCredentialObject = typeof inputCredentials === "object" && inputCredentials !== null;
resolvedCredentials = async (options) => {
const creds = await boundProvider(options);
const attributedCreds = creds;
if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {
return client.setCredentialFeature(attributedCreds, "CREDENTIALS_CODE", "e");
}
return attributedCreds;
};
resolvedCredentials.memoized = boundProvider.memoized;
resolvedCredentials.configBound = boundProvider.configBound;
resolvedCredentials.attributed = true;
} else {
resolvedCredentials = boundProvider;
}
},
get() {
return resolvedCredentials;
},
enumerable: true,
configurable: true
});
config2.credentials = inputCredentials;
const { signingEscapePath = true, systemClockOffset = config2.systemClockOffset || 0, sha256 } = config2;
let signer;
if (config2.signer) {
signer = core2.normalizeProvider(config2.signer);
} else if (config2.regionInfoProvider) {
signer = () => core2.normalizeProvider(config2.region)().then(async (region) => [
await config2.regionInfoProvider(region, {
useFipsEndpoint: await config2.useFipsEndpoint(),
useDualstackEndpoint: await config2.useDualstackEndpoint()
}) || {},
region
]).then(([regionInfo, region]) => {
const { signingRegion, signingService } = regionInfo;
config2.signingRegion = config2.signingRegion || signingRegion || region;
config2.signingName = config2.signingName || signingService || config2.serviceId;
const params = {
...config2,
credentials: config2.credentials,
region: config2.signingRegion,
service: config2.signingName,
sha256,
uriEscapePath: signingEscapePath
};
const SignerCtor = config2.signerConstructor || signatureV4.SignatureV4;
return new SignerCtor(params);
});
} else {
signer = async (authScheme) => {
authScheme = Object.assign({}, {
name: "sigv4",
signingName: config2.signingName || config2.defaultSigningName,
signingRegion: await core2.normalizeProvider(config2.region)(),
properties: {}
}, authScheme);
const signingRegion = authScheme.signingRegion;
const signingService = authScheme.signingName;
config2.signingRegion = config2.signingRegion || signingRegion;
config2.signingName = config2.signingName || signingService || config2.serviceId;
const params = {
...config2,
credentials: config2.credentials,
region: config2.signingRegion,
service: config2.signingName,
sha256,
uriEscapePath: signingEscapePath
};
const SignerCtor = config2.signerConstructor || signatureV4.SignatureV4;
return new SignerCtor(params);
};
}
const resolvedConfig = Object.assign(config2, {
systemClockOffset,
signingEscapePath,
signer
});
return resolvedConfig;
};
var resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
function normalizeCredentialProvider(config2, { credentials, credentialDefaultProvider }) {
let credentialsProvider;
if (credentials) {
if (!credentials?.memoized) {
credentialsProvider = core2.memoizeIdentityProvider(credentials, core2.isIdentityExpired, core2.doesIdentityRequireRefresh);
} else {
credentialsProvider = credentials;
}
} else {
if (credentialDefaultProvider) {
credentialsProvider = core2.normalizeProvider(credentialDefaultProvider(Object.assign({}, config2, {
parentClientConfig: config2
})));
} else {
credentialsProvider = async () => {
throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.");
};
}
}
credentialsProvider.memoized = true;
return credentialsProvider;
}
function bindCallerConfig(config2, credentialsProvider) {
if (credentialsProvider.configBound) {
return credentialsProvider;
}
const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config2 });
fn.memoized = credentialsProvider.memoized;
fn.configBound = true;
return fn;
}
exports.AWSSDKSigV4Signer = AWSSDKSigV4Signer;
exports.AwsSdkSigV4ASigner = AwsSdkSigV4ASigner;
exports.AwsSdkSigV4Signer = AwsSdkSigV4Signer;
exports.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = NODE_AUTH_SCHEME_PREFERENCE_OPTIONS;
exports.NODE_SIGV4A_CONFIG_OPTIONS = NODE_SIGV4A_CONFIG_OPTIONS;
exports.getBearerTokenEnvKey = getBearerTokenEnvKey;
exports.resolveAWSSDKSigV4Config = resolveAWSSDKSigV4Config;
exports.resolveAwsSdkSigV4AConfig = resolveAwsSdkSigV4AConfig;
exports.resolveAwsSdkSigV4Config = resolveAwsSdkSigV4Config;
exports.validateSigningProperties = validateSigningProperties;
});
// node_modules/.pnpm/@aws-sdk+middleware-host-header@3.972.8/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js
var require_dist_cjs27 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
function resolveHostHeaderConfig(input) {
return input;
}
var hostHeaderMiddleware = (options) => (next) => async (args) => {
if (!protocolHttp.HttpRequest.isInstance(args.request))
return next(args);
const { request } = args;
const { handlerProtocol = "" } = options.requestHandler.metadata || {};
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
delete request.headers["host"];
request.headers[":authority"] = request.hostname + (request.port ? ":" + request.port : "");
} else if (!request.headers["host"]) {
let host = request.hostname;
if (request.port != null)
host += `:${request.port}`;
request.headers["host"] = host;
}
return next(args);
};
var hostHeaderMiddlewareOptions = {
name: "hostHeaderMiddleware",
step: "build",
priority: "low",
tags: ["HOST"],
override: true
};
var getHostHeaderPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);
}
});
exports.getHostHeaderPlugin = getHostHeaderPlugin;
exports.hostHeaderMiddleware = hostHeaderMiddleware;
exports.hostHeaderMiddlewareOptions = hostHeaderMiddlewareOptions;
exports.resolveHostHeaderConfig = resolveHostHeaderConfig;
});
// node_modules/.pnpm/@aws-sdk+middleware-logger@3.972.8/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js
var require_dist_cjs28 = __commonJS((exports) => {
var loggerMiddleware = () => (next, context) => async (args) => {
try {
const response = await next(args);
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;
const { $metadata, ...outputWithoutMetadata } = response.output;
logger?.info?.({
clientName,
commandName,
input: inputFilterSensitiveLog(args.input),
output: outputFilterSensitiveLog(outputWithoutMetadata),
metadata: $metadata
});
return response;
} catch (error49) {
const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;
const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;
const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;
logger?.error?.({
clientName,
commandName,
input: inputFilterSensitiveLog(args.input),
error: error49,
metadata: error49.$metadata
});
throw error49;
}
};
var loggerMiddlewareOptions = {
name: "loggerMiddleware",
tags: ["LOGGER"],
step: "initialize",
override: true
};
var getLoggerPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);
}
});
exports.getLoggerPlugin = getLoggerPlugin;
exports.loggerMiddleware = loggerMiddleware;
exports.loggerMiddlewareOptions = loggerMiddlewareOptions;
});
// node_modules/.pnpm/@aws+lambda-invoke-store@0.2.4/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js
var require_invoke_store = __commonJS((exports) => {
var PROTECTED_KEYS = {
REQUEST_ID: Symbol.for("_AWS_LAMBDA_REQUEST_ID"),
X_RAY_TRACE_ID: Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),
TENANT_ID: Symbol.for("_AWS_LAMBDA_TENANT_ID")
};
var NO_GLOBAL_AWS_LAMBDA = ["true", "1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? "");
if (!NO_GLOBAL_AWS_LAMBDA) {
globalThis.awslambda = globalThis.awslambda || {};
}
class InvokeStoreBase {
static PROTECTED_KEYS = PROTECTED_KEYS;
isProtectedKey(key) {
return Object.values(PROTECTED_KEYS).includes(key);
}
getRequestId() {
return this.get(PROTECTED_KEYS.REQUEST_ID) ?? "-";
}
getXRayTraceId() {
return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);
}
getTenantId() {
return this.get(PROTECTED_KEYS.TENANT_ID);
}
}
class InvokeStoreSingle extends InvokeStoreBase {
currentContext;
getContext() {
return this.currentContext;
}
hasContext() {
return this.currentContext !== undefined;
}
get(key) {
return this.currentContext?.[key];
}
set(key, value) {
if (this.isProtectedKey(key)) {
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
}
this.currentContext = this.currentContext || {};
this.currentContext[key] = value;
}
run(context, fn) {
this.currentContext = context;
return fn();
}
}
class InvokeStoreMulti extends InvokeStoreBase {
als;
static async create() {
const instance = new InvokeStoreMulti;
const asyncHooks = await import("node:async_hooks");
instance.als = new asyncHooks.AsyncLocalStorage;
return instance;
}
getContext() {
return this.als.getStore();
}
hasContext() {
return this.als.getStore() !== undefined;
}
get(key) {
return this.als.getStore()?.[key];
}
set(key, value) {
if (this.isProtectedKey(key)) {
throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);
}
const store = this.als.getStore();
if (!store) {
throw new Error("No context available");
}
store[key] = value;
}
run(context, fn) {
return this.als.run(context, fn);
}
}
exports.InvokeStore = undefined;
(function(InvokeStore) {
let instance = null;
async function getInstanceAsync(forceInvokeStoreMulti) {
if (!instance) {
instance = (async () => {
const isMulti = forceInvokeStoreMulti === true || "AWS_LAMBDA_MAX_CONCURRENCY" in process.env;
const newInstance = isMulti ? await InvokeStoreMulti.create() : new InvokeStoreSingle;
if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {
return globalThis.awslambda.InvokeStore;
} else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {
globalThis.awslambda.InvokeStore = newInstance;
return newInstance;
} else {
return newInstance;
}
})();
}
return instance;
}
InvokeStore.getInstanceAsync = getInstanceAsync;
InvokeStore._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === "1" ? {
reset: () => {
instance = null;
if (globalThis.awslambda?.InvokeStore) {
delete globalThis.awslambda.InvokeStore;
}
globalThis.awslambda = { InvokeStore: undefined };
}
} : undefined;
})(exports.InvokeStore || (exports.InvokeStore = {}));
exports.InvokeStoreBase = InvokeStoreBase;
});
// node_modules/.pnpm/@aws-sdk+middleware-recursion-detection@3.972.9/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js
var require_recursionDetectionMiddleware = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.recursionDetectionMiddleware = undefined;
var lambda_invoke_store_1 = require_invoke_store();
var protocol_http_1 = require_dist_cjs2();
var TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id";
var ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME";
var ENV_TRACE_ID = "_X_AMZN_TRACE_ID";
var recursionDetectionMiddleware = () => (next) => async (args) => {
const { request } = args;
if (!protocol_http_1.HttpRequest.isInstance(request)) {
return next(args);
}
const traceIdHeader = Object.keys(request.headers ?? {}).find((h2) => h2.toLowerCase() === TRACE_ID_HEADER_NAME.toLowerCase()) ?? TRACE_ID_HEADER_NAME;
if (request.headers.hasOwnProperty(traceIdHeader)) {
return next(args);
}
const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];
const traceIdFromEnv = process.env[ENV_TRACE_ID];
const invokeStore = await lambda_invoke_store_1.InvokeStore.getInstanceAsync();
const traceIdFromInvokeStore = invokeStore?.getXRayTraceId();
const traceId = traceIdFromInvokeStore ?? traceIdFromEnv;
const nonEmptyString2 = (str) => typeof str === "string" && str.length > 0;
if (nonEmptyString2(functionName) && nonEmptyString2(traceId)) {
request.headers[TRACE_ID_HEADER_NAME] = traceId;
}
return next({
...args,
request
});
};
exports.recursionDetectionMiddleware = recursionDetectionMiddleware;
});
// node_modules/.pnpm/@aws-sdk+middleware-recursion-detection@3.972.9/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js
var require_dist_cjs29 = __commonJS((exports) => {
var recursionDetectionMiddleware = require_recursionDetectionMiddleware();
var recursionDetectionMiddlewareOptions = {
step: "build",
tags: ["RECURSION_DETECTION"],
name: "recursionDetectionMiddleware",
override: true,
priority: "low"
};
var getRecursionDetectionPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(recursionDetectionMiddleware.recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);
}
});
exports.getRecursionDetectionPlugin = getRecursionDetectionPlugin;
Object.prototype.hasOwnProperty.call(recursionDetectionMiddleware, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: recursionDetectionMiddleware["__proto__"]
});
Object.keys(recursionDetectionMiddleware).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = recursionDetectionMiddleware[k2];
});
});
// node_modules/.pnpm/@smithy+util-endpoints@3.3.3/node_modules/@smithy/util-endpoints/dist-cjs/index.js
var require_dist_cjs30 = __commonJS((exports) => {
var types = require_dist_cjs();
class EndpointCache {
capacity;
data = new Map;
parameters = [];
constructor({ size, params }) {
this.capacity = size ?? 50;
if (params) {
this.parameters = params;
}
}
get(endpointParams, resolver) {
const key = this.hash(endpointParams);
if (key === false) {
return resolver();
}
if (!this.data.has(key)) {
if (this.data.size > this.capacity + 10) {
const keys2 = this.data.keys();
let i2 = 0;
while (true) {
const { value, done } = keys2.next();
this.data.delete(value);
if (done || ++i2 > 10) {
break;
}
}
}
this.data.set(key, resolver());
}
return this.data.get(key);
}
size() {
return this.data.size;
}
hash(endpointParams) {
let buffer = "";
const { parameters } = this;
if (parameters.length === 0) {
return false;
}
for (const param of parameters) {
const val = String(endpointParams[param] ?? "");
if (val.includes("|;")) {
return false;
}
buffer += val + "|;";
}
return buffer;
}
}
var IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$`);
var isIpAddress = (value) => IP_V4_REGEX.test(value) || value.startsWith("[") && value.endsWith("]");
var VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);
var isValidHostLabel = (value, allowSubDomains = false) => {
if (!allowSubDomains) {
return VALID_HOST_LABEL_REGEX.test(value);
}
const labels = value.split(".");
for (const label of labels) {
if (!isValidHostLabel(label)) {
return false;
}
}
return true;
};
var customEndpointFunctions = {};
var debugId = "endpoints";
function toDebugString(input) {
if (typeof input !== "object" || input == null) {
return input;
}
if ("ref" in input) {
return `$${toDebugString(input.ref)}`;
}
if ("fn" in input) {
return `${input.fn}(${(input.argv || []).map(toDebugString).join(", ")})`;
}
return JSON.stringify(input, null, 2);
}
class EndpointError extends Error {
constructor(message) {
super(message);
this.name = "EndpointError";
}
}
var booleanEquals = (value1, value2) => value1 === value2;
var getAttrPathList = (path9) => {
const parts = path9.split(".");
const pathList = [];
for (const part of parts) {
const squareBracketIndex = part.indexOf("[");
if (squareBracketIndex !== -1) {
if (part.indexOf("]") !== part.length - 1) {
throw new EndpointError(`Path: '${path9}' does not end with ']'`);
}
const arrayIndex = part.slice(squareBracketIndex + 1, -1);
if (Number.isNaN(parseInt(arrayIndex))) {
throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path9}'`);
}
if (squareBracketIndex !== 0) {
pathList.push(part.slice(0, squareBracketIndex));
}
pathList.push(arrayIndex);
} else {
pathList.push(part);
}
}
return pathList;
};
var getAttr = (value, path9) => getAttrPathList(path9).reduce((acc, index) => {
if (typeof acc !== "object") {
throw new EndpointError(`Index '${index}' in '${path9}' not found in '${JSON.stringify(value)}'`);
} else if (Array.isArray(acc)) {
return acc[parseInt(index)];
}
return acc[index];
}, value);
var isSet2 = (value) => value != null;
var not = (value) => !value;
var DEFAULT_PORTS2 = {
[types.EndpointURLScheme.HTTP]: 80,
[types.EndpointURLScheme.HTTPS]: 443
};
var parseURL = (value) => {
const whatwgURL = (() => {
try {
if (value instanceof URL) {
return value;
}
if (typeof value === "object" && "hostname" in value) {
const { hostname: hostname4, port, protocol: protocol2 = "", path: path9 = "", query = {} } = value;
const url3 = new URL(`${protocol2}//${hostname4}${port ? `:${port}` : ""}${path9}`);
url3.search = Object.entries(query).map(([k2, v2]) => `${k2}=${v2}`).join("&");
return url3;
}
return new URL(value);
} catch (error49) {
return null;
}
})();
if (!whatwgURL) {
console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);
return null;
}
const urlString = whatwgURL.href;
const { host, hostname: hostname3, pathname, protocol, search } = whatwgURL;
if (search) {
return null;
}
const scheme = protocol.slice(0, -1);
if (!Object.values(types.EndpointURLScheme).includes(scheme)) {
return null;
}
const isIp = isIpAddress(hostname3);
const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS2[scheme]}`) || typeof value === "string" && value.includes(`${host}:${DEFAULT_PORTS2[scheme]}`);
const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS2[scheme]}` : ``}`;
return {
scheme,
authority,
path: pathname,
normalizedPath: pathname.endsWith("/") ? pathname : `${pathname}/`,
isIp
};
};
var stringEquals = (value1, value2) => value1 === value2;
var substring = (input, start, stop, reverse) => {
if (start >= stop || input.length < stop || /[^\u0000-\u007f]/.test(input)) {
return null;
}
if (!reverse) {
return input.substring(start, stop);
}
return input.substring(input.length - stop, input.length - start);
};
var uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c5) => `%${c5.charCodeAt(0).toString(16).toUpperCase()}`);
var endpointFunctions = {
booleanEquals,
getAttr,
isSet: isSet2,
isValidHostLabel,
not,
parseURL,
stringEquals,
substring,
uriEncode
};
var evaluateTemplate = (template, options) => {
const evaluatedTemplateArr = [];
const templateContext = {
...options.endpointParams,
...options.referenceRecord
};
let currentIndex = 0;
while (currentIndex < template.length) {
const openingBraceIndex = template.indexOf("{", currentIndex);
if (openingBraceIndex === -1) {
evaluatedTemplateArr.push(template.slice(currentIndex));
break;
}
evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));
const closingBraceIndex = template.indexOf("}", openingBraceIndex);
if (closingBraceIndex === -1) {
evaluatedTemplateArr.push(template.slice(openingBraceIndex));
break;
}
if (template[openingBraceIndex + 1] === "{" && template[closingBraceIndex + 1] === "}") {
evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));
currentIndex = closingBraceIndex + 2;
}
const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);
if (parameterName.includes("#")) {
const [refName, attrName] = parameterName.split("#");
evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));
} else {
evaluatedTemplateArr.push(templateContext[parameterName]);
}
currentIndex = closingBraceIndex + 1;
}
return evaluatedTemplateArr.join("");
};
var getReferenceValue = ({ ref }, options) => {
const referenceRecord = {
...options.endpointParams,
...options.referenceRecord
};
return referenceRecord[ref];
};
var evaluateExpression = (obj, keyName, options) => {
if (typeof obj === "string") {
return evaluateTemplate(obj, options);
} else if (obj["fn"]) {
return group$2.callFunction(obj, options);
} else if (obj["ref"]) {
return getReferenceValue(obj, options);
}
throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);
};
var callFunction = ({ fn, argv }, options) => {
const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : group$2.evaluateExpression(arg, "arg", options));
const fnSegments = fn.split(".");
if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {
return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);
}
return endpointFunctions[fn](...evaluatedArgs);
};
var group$2 = {
evaluateExpression,
callFunction
};
var evaluateCondition = ({ assign, ...fnArgs }, options) => {
if (assign && assign in options.referenceRecord) {
throw new EndpointError(`'${assign}' is already defined in Reference Record.`);
}
const value = callFunction(fnArgs, options);
options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);
return {
result: value === "" ? true : !!value,
...assign != null && { toAssign: { name: assign, value } }
};
};
var evaluateConditions = (conditions = [], options) => {
const conditionsReferenceRecord = {};
for (const condition of conditions) {
const { result, toAssign } = evaluateCondition(condition, {
...options,
referenceRecord: {
...options.referenceRecord,
...conditionsReferenceRecord
}
});
if (!result) {
return { result };
}
if (toAssign) {
conditionsReferenceRecord[toAssign.name] = toAssign.value;
options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);
}
}
return { result: true, referenceRecord: conditionsReferenceRecord };
};
var getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({
...acc,
[headerKey]: headerVal.map((headerValEntry) => {
const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options);
if (typeof processedExpr !== "string") {
throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);
}
return processedExpr;
})
}), {});
var getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({
...acc,
[propertyKey]: group$1.getEndpointProperty(propertyVal, options)
}), {});
var getEndpointProperty = (property2, options) => {
if (Array.isArray(property2)) {
return property2.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
}
switch (typeof property2) {
case "string":
return evaluateTemplate(property2, options);
case "object":
if (property2 === null) {
throw new EndpointError(`Unexpected endpoint property: ${property2}`);
}
return group$1.getEndpointProperties(property2, options);
case "boolean":
return property2;
default:
throw new EndpointError(`Unexpected endpoint property type: ${typeof property2}`);
}
};
var group$1 = {
getEndpointProperty,
getEndpointProperties
};
var getEndpointUrl = (endpointUrl, options) => {
const expression = evaluateExpression(endpointUrl, "Endpoint URL", options);
if (typeof expression === "string") {
try {
return new URL(expression);
} catch (error49) {
console.error(`Failed to construct URL with ${expression}`, error49);
throw error49;
}
}
throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);
};
var evaluateEndpointRule = (endpointRule, options) => {
const { conditions, endpoint } = endpointRule;
const { result, referenceRecord } = evaluateConditions(conditions, options);
if (!result) {
return;
}
const endpointRuleOptions = {
...options,
referenceRecord: { ...options.referenceRecord, ...referenceRecord }
};
const { url: url3, properties, headers } = endpoint;
options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);
return {
...headers != null && {
headers: getEndpointHeaders(headers, endpointRuleOptions)
},
...properties != null && {
properties: getEndpointProperties(properties, endpointRuleOptions)
},
url: getEndpointUrl(url3, endpointRuleOptions)
};
};
var evaluateErrorRule = (errorRule, options) => {
const { conditions, error: error49 } = errorRule;
const { result, referenceRecord } = evaluateConditions(conditions, options);
if (!result) {
return;
}
throw new EndpointError(evaluateExpression(error49, "Error", {
...options,
referenceRecord: { ...options.referenceRecord, ...referenceRecord }
}));
};
var evaluateRules = (rules, options) => {
for (const rule of rules) {
if (rule.type === "endpoint") {
const endpointOrUndefined = evaluateEndpointRule(rule, options);
if (endpointOrUndefined) {
return endpointOrUndefined;
}
} else if (rule.type === "error") {
evaluateErrorRule(rule, options);
} else if (rule.type === "tree") {
const endpointOrUndefined = group.evaluateTreeRule(rule, options);
if (endpointOrUndefined) {
return endpointOrUndefined;
}
} else {
throw new EndpointError(`Unknown endpoint rule: ${rule}`);
}
}
throw new EndpointError(`Rules evaluation failed`);
};
var evaluateTreeRule = (treeRule, options) => {
const { conditions, rules } = treeRule;
const { result, referenceRecord } = evaluateConditions(conditions, options);
if (!result) {
return;
}
return group.evaluateRules(rules, {
...options,
referenceRecord: { ...options.referenceRecord, ...referenceRecord }
});
};
var group = {
evaluateRules,
evaluateTreeRule
};
var resolveEndpoint = (ruleSetObject, options) => {
const { endpointParams, logger } = options;
const { parameters, rules } = ruleSetObject;
options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);
const paramsWithDefault = Object.entries(parameters).filter(([, v2]) => v2.default != null).map(([k2, v2]) => [k2, v2.default]);
if (paramsWithDefault.length > 0) {
for (const [paramKey, paramDefaultValue] of paramsWithDefault) {
endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;
}
}
const requiredParams = Object.entries(parameters).filter(([, v2]) => v2.required).map(([k2]) => k2);
for (const requiredParam of requiredParams) {
if (endpointParams[requiredParam] == null) {
throw new EndpointError(`Missing required parameter: '${requiredParam}'`);
}
}
const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });
options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);
return endpoint;
};
exports.EndpointCache = EndpointCache;
exports.EndpointError = EndpointError;
exports.customEndpointFunctions = customEndpointFunctions;
exports.isIpAddress = isIpAddress;
exports.isValidHostLabel = isValidHostLabel;
exports.resolveEndpoint = resolveEndpoint;
});
// node_modules/.pnpm/@aws-sdk+util-endpoints@3.996.5/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js
var require_dist_cjs31 = __commonJS((exports) => {
var utilEndpoints = require_dist_cjs30();
var urlParser = require_dist_cjs11();
var isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {
if (allowSubDomains) {
for (const label of value.split(".")) {
if (!isVirtualHostableS3Bucket(label)) {
return false;
}
}
return true;
}
if (!utilEndpoints.isValidHostLabel(value)) {
return false;
}
if (value.length < 3 || value.length > 63) {
return false;
}
if (value !== value.toLowerCase()) {
return false;
}
if (utilEndpoints.isIpAddress(value)) {
return false;
}
return true;
};
var ARN_DELIMITER = ":";
var RESOURCE_DELIMITER = "/";
var parseArn = (value) => {
const segments = value.split(ARN_DELIMITER);
if (segments.length < 6)
return null;
const [arn, partition3, service, region, accountId, ...resourcePath] = segments;
if (arn !== "arn" || partition3 === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "")
return null;
const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();
return {
partition: partition3,
service,
region,
accountId,
resourceId
};
};
var partitions = [
{
id: "aws",
outputs: {
dnsSuffix: "amazonaws.com",
dualStackDnsSuffix: "api.aws",
implicitGlobalRegion: "us-east-1",
name: "aws",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",
regions: {
"af-south-1": {
description: "Africa (Cape Town)"
},
"ap-east-1": {
description: "Asia Pacific (Hong Kong)"
},
"ap-east-2": {
description: "Asia Pacific (Taipei)"
},
"ap-northeast-1": {
description: "Asia Pacific (Tokyo)"
},
"ap-northeast-2": {
description: "Asia Pacific (Seoul)"
},
"ap-northeast-3": {
description: "Asia Pacific (Osaka)"
},
"ap-south-1": {
description: "Asia Pacific (Mumbai)"
},
"ap-south-2": {
description: "Asia Pacific (Hyderabad)"
},
"ap-southeast-1": {
description: "Asia Pacific (Singapore)"
},
"ap-southeast-2": {
description: "Asia Pacific (Sydney)"
},
"ap-southeast-3": {
description: "Asia Pacific (Jakarta)"
},
"ap-southeast-4": {
description: "Asia Pacific (Melbourne)"
},
"ap-southeast-5": {
description: "Asia Pacific (Malaysia)"
},
"ap-southeast-6": {
description: "Asia Pacific (New Zealand)"
},
"ap-southeast-7": {
description: "Asia Pacific (Thailand)"
},
"aws-global": {
description: "aws global region"
},
"ca-central-1": {
description: "Canada (Central)"
},
"ca-west-1": {
description: "Canada West (Calgary)"
},
"eu-central-1": {
description: "Europe (Frankfurt)"
},
"eu-central-2": {
description: "Europe (Zurich)"
},
"eu-north-1": {
description: "Europe (Stockholm)"
},
"eu-south-1": {
description: "Europe (Milan)"
},
"eu-south-2": {
description: "Europe (Spain)"
},
"eu-west-1": {
description: "Europe (Ireland)"
},
"eu-west-2": {
description: "Europe (London)"
},
"eu-west-3": {
description: "Europe (Paris)"
},
"il-central-1": {
description: "Israel (Tel Aviv)"
},
"me-central-1": {
description: "Middle East (UAE)"
},
"me-south-1": {
description: "Middle East (Bahrain)"
},
"mx-central-1": {
description: "Mexico (Central)"
},
"sa-east-1": {
description: "South America (Sao Paulo)"
},
"us-east-1": {
description: "US East (N. Virginia)"
},
"us-east-2": {
description: "US East (Ohio)"
},
"us-west-1": {
description: "US West (N. California)"
},
"us-west-2": {
description: "US West (Oregon)"
}
}
},
{
id: "aws-cn",
outputs: {
dnsSuffix: "amazonaws.com.cn",
dualStackDnsSuffix: "api.amazonwebservices.com.cn",
implicitGlobalRegion: "cn-northwest-1",
name: "aws-cn",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^cn\\-\\w+\\-\\d+$",
regions: {
"aws-cn-global": {
description: "aws-cn global region"
},
"cn-north-1": {
description: "China (Beijing)"
},
"cn-northwest-1": {
description: "China (Ningxia)"
}
}
},
{
id: "aws-eusc",
outputs: {
dnsSuffix: "amazonaws.eu",
dualStackDnsSuffix: "api.amazonwebservices.eu",
implicitGlobalRegion: "eusc-de-east-1",
name: "aws-eusc",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^eusc\\-(de)\\-\\w+\\-\\d+$",
regions: {
"eusc-de-east-1": {
description: "AWS European Sovereign Cloud (Germany)"
}
}
},
{
id: "aws-iso",
outputs: {
dnsSuffix: "c2s.ic.gov",
dualStackDnsSuffix: "api.aws.ic.gov",
implicitGlobalRegion: "us-iso-east-1",
name: "aws-iso",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^us\\-iso\\-\\w+\\-\\d+$",
regions: {
"aws-iso-global": {
description: "aws-iso global region"
},
"us-iso-east-1": {
description: "US ISO East"
},
"us-iso-west-1": {
description: "US ISO WEST"
}
}
},
{
id: "aws-iso-b",
outputs: {
dnsSuffix: "sc2s.sgov.gov",
dualStackDnsSuffix: "api.aws.scloud",
implicitGlobalRegion: "us-isob-east-1",
name: "aws-iso-b",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^us\\-isob\\-\\w+\\-\\d+$",
regions: {
"aws-iso-b-global": {
description: "aws-iso-b global region"
},
"us-isob-east-1": {
description: "US ISOB East (Ohio)"
},
"us-isob-west-1": {
description: "US ISOB West"
}
}
},
{
id: "aws-iso-e",
outputs: {
dnsSuffix: "cloud.adc-e.uk",
dualStackDnsSuffix: "api.cloud-aws.adc-e.uk",
implicitGlobalRegion: "eu-isoe-west-1",
name: "aws-iso-e",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$",
regions: {
"aws-iso-e-global": {
description: "aws-iso-e global region"
},
"eu-isoe-west-1": {
description: "EU ISOE West"
}
}
},
{
id: "aws-iso-f",
outputs: {
dnsSuffix: "csp.hci.ic.gov",
dualStackDnsSuffix: "api.aws.hci.ic.gov",
implicitGlobalRegion: "us-isof-south-1",
name: "aws-iso-f",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^us\\-isof\\-\\w+\\-\\d+$",
regions: {
"aws-iso-f-global": {
description: "aws-iso-f global region"
},
"us-isof-east-1": {
description: "US ISOF EAST"
},
"us-isof-south-1": {
description: "US ISOF SOUTH"
}
}
},
{
id: "aws-us-gov",
outputs: {
dnsSuffix: "amazonaws.com",
dualStackDnsSuffix: "api.aws",
implicitGlobalRegion: "us-gov-west-1",
name: "aws-us-gov",
supportsDualStack: true,
supportsFIPS: true
},
regionRegex: "^us\\-gov\\-\\w+\\-\\d+$",
regions: {
"aws-us-gov-global": {
description: "aws-us-gov global region"
},
"us-gov-east-1": {
description: "AWS GovCloud (US-East)"
},
"us-gov-west-1": {
description: "AWS GovCloud (US-West)"
}
}
}
];
var version2 = "1.1";
var partitionsInfo = {
partitions,
version: version2
};
var selectedPartitionsInfo = partitionsInfo;
var selectedUserAgentPrefix = "";
var partition2 = (value) => {
const { partitions: partitions2 } = selectedPartitionsInfo;
for (const partition3 of partitions2) {
const { regions, outputs } = partition3;
for (const [region, regionData] of Object.entries(regions)) {
if (region === value) {
return {
...outputs,
...regionData
};
}
}
}
for (const partition3 of partitions2) {
const { regionRegex, outputs } = partition3;
if (new RegExp(regionRegex).test(value)) {
return {
...outputs
};
}
}
const DEFAULT_PARTITION = partitions2.find((partition3) => partition3.id === "aws");
if (!DEFAULT_PARTITION) {
throw new Error("Provided region was not found in the partition array or regex," + " and default partition with id 'aws' doesn't exist.");
}
return {
...DEFAULT_PARTITION.outputs
};
};
var setPartitionInfo = (partitionsInfo2, userAgentPrefix = "") => {
selectedPartitionsInfo = partitionsInfo2;
selectedUserAgentPrefix = userAgentPrefix;
};
var useDefaultPartitionInfo = () => {
setPartitionInfo(partitionsInfo, "");
};
var getUserAgentPrefix = () => selectedUserAgentPrefix;
var awsEndpointFunctions = {
isVirtualHostableS3Bucket,
parseArn,
partition: partition2
};
utilEndpoints.customEndpointFunctions.aws = awsEndpointFunctions;
var resolveDefaultAwsRegionalEndpointsConfig = (input) => {
if (typeof input.endpointProvider !== "function") {
throw new Error("@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.");
}
const { endpoint } = input;
if (endpoint === undefined) {
input.endpoint = async () => {
return toEndpointV1(input.endpointProvider({
Region: typeof input.region === "function" ? await input.region() : input.region,
UseDualStack: typeof input.useDualstackEndpoint === "function" ? await input.useDualstackEndpoint() : input.useDualstackEndpoint,
UseFIPS: typeof input.useFipsEndpoint === "function" ? await input.useFipsEndpoint() : input.useFipsEndpoint,
Endpoint: undefined
}, { logger: input.logger }));
};
}
return input;
};
var toEndpointV1 = (endpoint) => urlParser.parseUrl(endpoint.url);
exports.EndpointError = utilEndpoints.EndpointError;
exports.isIpAddress = utilEndpoints.isIpAddress;
exports.resolveEndpoint = utilEndpoints.resolveEndpoint;
exports.awsEndpointFunctions = awsEndpointFunctions;
exports.getUserAgentPrefix = getUserAgentPrefix;
exports.partition = partition2;
exports.resolveDefaultAwsRegionalEndpointsConfig = resolveDefaultAwsRegionalEndpointsConfig;
exports.setPartitionInfo = setPartitionInfo;
exports.toEndpointV1 = toEndpointV1;
exports.useDefaultPartitionInfo = useDefaultPartitionInfo;
});
// node_modules/.pnpm/@smithy+service-error-classification@4.2.12/node_modules/@smithy/service-error-classification/dist-cjs/index.js
var require_dist_cjs32 = __commonJS((exports) => {
var CLOCK_SKEW_ERROR_CODES = [
"AuthFailure",
"InvalidSignatureException",
"RequestExpired",
"RequestInTheFuture",
"RequestTimeTooSkewed",
"SignatureDoesNotMatch"
];
var THROTTLING_ERROR_CODES = [
"BandwidthLimitExceeded",
"EC2ThrottledException",
"LimitExceededException",
"PriorRequestNotComplete",
"ProvisionedThroughputExceededException",
"RequestLimitExceeded",
"RequestThrottled",
"RequestThrottledException",
"SlowDown",
"ThrottledException",
"Throttling",
"ThrottlingException",
"TooManyRequestsException",
"TransactionInProgressException"
];
var TRANSIENT_ERROR_CODES = ["TimeoutError", "RequestTimeout", "RequestTimeoutException"];
var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];
var NODEJS_TIMEOUT_ERROR_CODES = ["ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT"];
var NODEJS_NETWORK_ERROR_CODES = ["EHOSTUNREACH", "ENETUNREACH", "ENOTFOUND"];
var isRetryableByTrait = (error49) => error49?.$retryable !== undefined;
var isClockSkewError = (error49) => CLOCK_SKEW_ERROR_CODES.includes(error49.name);
var isClockSkewCorrectedError = (error49) => error49.$metadata?.clockSkewCorrected;
var isBrowserNetworkError = (error49) => {
const errorMessages = new Set([
"Failed to fetch",
"NetworkError when attempting to fetch resource",
"The Internet connection appears to be offline",
"Load failed",
"Network request failed"
]);
const isValid = error49 && error49 instanceof TypeError;
if (!isValid) {
return false;
}
return errorMessages.has(error49.message);
};
var isThrottlingError = (error49) => error49.$metadata?.httpStatusCode === 429 || THROTTLING_ERROR_CODES.includes(error49.name) || error49.$retryable?.throttling == true;
var isTransientError = (error49, depth = 0) => isRetryableByTrait(error49) || isClockSkewCorrectedError(error49) || TRANSIENT_ERROR_CODES.includes(error49.name) || NODEJS_TIMEOUT_ERROR_CODES.includes(error49?.code || "") || NODEJS_NETWORK_ERROR_CODES.includes(error49?.code || "") || TRANSIENT_ERROR_STATUS_CODES.includes(error49.$metadata?.httpStatusCode || 0) || isBrowserNetworkError(error49) || error49.cause !== undefined && depth <= 10 && isTransientError(error49.cause, depth + 1);
var isServerError = (error49) => {
if (error49.$metadata?.httpStatusCode !== undefined) {
const statusCode = error49.$metadata.httpStatusCode;
if (500 <= statusCode && statusCode <= 599 && !isTransientError(error49)) {
return true;
}
return false;
}
return false;
};
exports.isBrowserNetworkError = isBrowserNetworkError;
exports.isClockSkewCorrectedError = isClockSkewCorrectedError;
exports.isClockSkewError = isClockSkewError;
exports.isRetryableByTrait = isRetryableByTrait;
exports.isServerError = isServerError;
exports.isThrottlingError = isThrottlingError;
exports.isTransientError = isTransientError;
});
// node_modules/.pnpm/@smithy+util-retry@4.2.12/node_modules/@smithy/util-retry/dist-cjs/index.js
var require_dist_cjs33 = __commonJS((exports) => {
var serviceErrorClassification = require_dist_cjs32();
exports.RETRY_MODES = undefined;
(function(RETRY_MODES) {
RETRY_MODES["STANDARD"] = "standard";
RETRY_MODES["ADAPTIVE"] = "adaptive";
})(exports.RETRY_MODES || (exports.RETRY_MODES = {}));
var DEFAULT_MAX_ATTEMPTS = 3;
var DEFAULT_RETRY_MODE = exports.RETRY_MODES.STANDARD;
class DefaultRateLimiter {
static setTimeoutFn = setTimeout;
beta;
minCapacity;
minFillRate;
scaleConstant;
smooth;
currentCapacity = 0;
enabled = false;
lastMaxRate = 0;
measuredTxRate = 0;
requestCount = 0;
fillRate;
lastThrottleTime;
lastTimestamp = 0;
lastTxRateBucket;
maxCapacity;
timeWindow = 0;
constructor(options) {
this.beta = options?.beta ?? 0.7;
this.minCapacity = options?.minCapacity ?? 1;
this.minFillRate = options?.minFillRate ?? 0.5;
this.scaleConstant = options?.scaleConstant ?? 0.4;
this.smooth = options?.smooth ?? 0.8;
const currentTimeInSeconds = this.getCurrentTimeInSeconds();
this.lastThrottleTime = currentTimeInSeconds;
this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());
this.fillRate = this.minFillRate;
this.maxCapacity = this.minCapacity;
}
getCurrentTimeInSeconds() {
return Date.now() / 1000;
}
async getSendToken() {
return this.acquireTokenBucket(1);
}
async acquireTokenBucket(amount) {
if (!this.enabled) {
return;
}
this.refillTokenBucket();
if (amount > this.currentCapacity) {
const delay = (amount - this.currentCapacity) / this.fillRate * 1000;
await new Promise((resolve9) => DefaultRateLimiter.setTimeoutFn(resolve9, delay));
}
this.currentCapacity = this.currentCapacity - amount;
}
refillTokenBucket() {
const timestamp = this.getCurrentTimeInSeconds();
if (!this.lastTimestamp) {
this.lastTimestamp = timestamp;
return;
}
const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;
this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);
this.lastTimestamp = timestamp;
}
updateClientSendingRate(response) {
let calculatedRate;
this.updateMeasuredRate();
if (serviceErrorClassification.isThrottlingError(response)) {
const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);
this.lastMaxRate = rateToUse;
this.calculateTimeWindow();
this.lastThrottleTime = this.getCurrentTimeInSeconds();
calculatedRate = this.cubicThrottle(rateToUse);
this.enableTokenBucket();
} else {
this.calculateTimeWindow();
calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());
}
const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);
this.updateTokenBucketRate(newRate);
}
calculateTimeWindow() {
this.timeWindow = this.getPrecise(Math.pow(this.lastMaxRate * (1 - this.beta) / this.scaleConstant, 1 / 3));
}
cubicThrottle(rateToUse) {
return this.getPrecise(rateToUse * this.beta);
}
cubicSuccess(timestamp) {
return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);
}
enableTokenBucket() {
this.enabled = true;
}
updateTokenBucketRate(newRate) {
this.refillTokenBucket();
this.fillRate = Math.max(newRate, this.minFillRate);
this.maxCapacity = Math.max(newRate, this.minCapacity);
this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);
}
updateMeasuredRate() {
const t = this.getCurrentTimeInSeconds();
const timeBucket = Math.floor(t * 2) / 2;
this.requestCount++;
if (timeBucket > this.lastTxRateBucket) {
const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);
this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));
this.requestCount = 0;
this.lastTxRateBucket = timeBucket;
}
}
getPrecise(num) {
return parseFloat(num.toFixed(8));
}
}
var DEFAULT_RETRY_DELAY_BASE = 100;
var MAXIMUM_RETRY_DELAY = 20 * 1000;
var THROTTLING_RETRY_DELAY_BASE = 500;
var INITIAL_RETRY_TOKENS = 500;
var RETRY_COST = 5;
var TIMEOUT_RETRY_COST = 10;
var NO_RETRY_INCREMENT = 1;
var INVOCATION_ID_HEADER = "amz-sdk-invocation-id";
var REQUEST_HEADER = "amz-sdk-request";
var getDefaultRetryBackoffStrategy = () => {
let delayBase = DEFAULT_RETRY_DELAY_BASE;
const computeNextBackoffDelay = (attempts) => {
return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));
};
const setDelayBase = (delay) => {
delayBase = delay;
};
return {
computeNextBackoffDelay,
setDelayBase
};
};
var createDefaultRetryToken = ({ retryDelay, retryCount, retryCost }) => {
const getRetryCount = () => retryCount;
const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);
const getRetryCost = () => retryCost;
return {
getRetryCount,
getRetryDelay,
getRetryCost
};
};
class StandardRetryStrategy {
maxAttempts;
mode = exports.RETRY_MODES.STANDARD;
capacity = INITIAL_RETRY_TOKENS;
retryBackoffStrategy = getDefaultRetryBackoffStrategy();
maxAttemptsProvider;
constructor(maxAttempts) {
this.maxAttempts = maxAttempts;
this.maxAttemptsProvider = typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts;
}
async acquireInitialRetryToken(retryTokenScope) {
return createDefaultRetryToken({
retryDelay: DEFAULT_RETRY_DELAY_BASE,
retryCount: 0
});
}
async refreshRetryTokenForRetry(token, errorInfo) {
const maxAttempts = await this.getMaxAttempts();
if (this.shouldRetry(token, errorInfo, maxAttempts)) {
const errorType = errorInfo.errorType;
this.retryBackoffStrategy.setDelayBase(errorType === "THROTTLING" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);
const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());
const retryDelay = errorInfo.retryAfterHint ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType) : delayFromErrorType;
const capacityCost = this.getCapacityCost(errorType);
this.capacity -= capacityCost;
return createDefaultRetryToken({
retryDelay,
retryCount: token.getRetryCount() + 1,
retryCost: capacityCost
});
}
throw new Error("No retry token available");
}
recordSuccess(token) {
this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));
}
getCapacity() {
return this.capacity;
}
async getMaxAttempts() {
try {
return await this.maxAttemptsProvider();
} catch (error49) {
console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);
return DEFAULT_MAX_ATTEMPTS;
}
}
shouldRetry(tokenToRenew, errorInfo, maxAttempts) {
const attempts = tokenToRenew.getRetryCount() + 1;
return attempts < maxAttempts && this.capacity >= this.getCapacityCost(errorInfo.errorType) && this.isRetryableError(errorInfo.errorType);
}
getCapacityCost(errorType) {
return errorType === "TRANSIENT" ? TIMEOUT_RETRY_COST : RETRY_COST;
}
isRetryableError(errorType) {
return errorType === "THROTTLING" || errorType === "TRANSIENT";
}
}
class AdaptiveRetryStrategy {
maxAttemptsProvider;
rateLimiter;
standardRetryStrategy;
mode = exports.RETRY_MODES.ADAPTIVE;
constructor(maxAttemptsProvider, options) {
this.maxAttemptsProvider = maxAttemptsProvider;
const { rateLimiter } = options ?? {};
this.rateLimiter = rateLimiter ?? new DefaultRateLimiter;
this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);
}
async acquireInitialRetryToken(retryTokenScope) {
await this.rateLimiter.getSendToken();
return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);
}
async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
this.rateLimiter.updateClientSendingRate(errorInfo);
return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
}
recordSuccess(token) {
this.rateLimiter.updateClientSendingRate({});
this.standardRetryStrategy.recordSuccess(token);
}
}
class ConfiguredRetryStrategy extends StandardRetryStrategy {
computeNextBackoffDelay;
constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {
super(typeof maxAttempts === "function" ? maxAttempts : async () => maxAttempts);
if (typeof computeNextBackoffDelay === "number") {
this.computeNextBackoffDelay = () => computeNextBackoffDelay;
} else {
this.computeNextBackoffDelay = computeNextBackoffDelay;
}
}
async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {
const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);
token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());
return token;
}
}
exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;
exports.ConfiguredRetryStrategy = ConfiguredRetryStrategy;
exports.DEFAULT_MAX_ATTEMPTS = DEFAULT_MAX_ATTEMPTS;
exports.DEFAULT_RETRY_DELAY_BASE = DEFAULT_RETRY_DELAY_BASE;
exports.DEFAULT_RETRY_MODE = DEFAULT_RETRY_MODE;
exports.DefaultRateLimiter = DefaultRateLimiter;
exports.INITIAL_RETRY_TOKENS = INITIAL_RETRY_TOKENS;
exports.INVOCATION_ID_HEADER = INVOCATION_ID_HEADER;
exports.MAXIMUM_RETRY_DELAY = MAXIMUM_RETRY_DELAY;
exports.NO_RETRY_INCREMENT = NO_RETRY_INCREMENT;
exports.REQUEST_HEADER = REQUEST_HEADER;
exports.RETRY_COST = RETRY_COST;
exports.StandardRetryStrategy = StandardRetryStrategy;
exports.THROTTLING_RETRY_DELAY_BASE = THROTTLING_RETRY_DELAY_BASE;
exports.TIMEOUT_RETRY_COST = TIMEOUT_RETRY_COST;
});
// node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.27/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js
var require_dist_cjs34 = __commonJS((exports) => {
var core2 = require_dist_cjs25();
var utilEndpoints = require_dist_cjs31();
var protocolHttp = require_dist_cjs2();
var client = require_client2();
var utilRetry = require_dist_cjs33();
var DEFAULT_UA_APP_ID = undefined;
function isValidUserAgentAppId(appId) {
if (appId === undefined) {
return true;
}
return typeof appId === "string" && appId.length <= 50;
}
function resolveUserAgentConfig(input) {
const normalizedAppIdProvider = core2.normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);
const { customUserAgent } = input;
return Object.assign(input, {
customUserAgent: typeof customUserAgent === "string" ? [[customUserAgent]] : customUserAgent,
userAgentAppId: async () => {
const appId = await normalizedAppIdProvider();
if (!isValidUserAgentAppId(appId)) {
const logger = input.logger?.constructor?.name === "NoOpLogger" || !input.logger ? console : input.logger;
if (typeof appId !== "string") {
logger?.warn("userAgentAppId must be a string or undefined.");
} else if (appId.length > 50) {
logger?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.");
}
}
return appId;
}
});
}
var ACCOUNT_ID_ENDPOINT_REGEX = /\d{12}\.ddb/;
async function checkFeatures(context, config2, args) {
const request = args.request;
if (request?.headers?.["smithy-protocol"] === "rpc-v2-cbor") {
client.setFeature(context, "PROTOCOL_RPC_V2_CBOR", "M");
}
if (typeof config2.retryStrategy === "function") {
const retryStrategy = await config2.retryStrategy();
if (typeof retryStrategy.mode === "string") {
switch (retryStrategy.mode) {
case utilRetry.RETRY_MODES.ADAPTIVE:
client.setFeature(context, "RETRY_MODE_ADAPTIVE", "F");
break;
case utilRetry.RETRY_MODES.STANDARD:
client.setFeature(context, "RETRY_MODE_STANDARD", "E");
break;
}
}
}
if (typeof config2.accountIdEndpointMode === "function") {
const endpointV2 = context.endpointV2;
if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {
client.setFeature(context, "ACCOUNT_ID_ENDPOINT", "O");
}
switch (await config2.accountIdEndpointMode?.()) {
case "disabled":
client.setFeature(context, "ACCOUNT_ID_MODE_DISABLED", "Q");
break;
case "preferred":
client.setFeature(context, "ACCOUNT_ID_MODE_PREFERRED", "P");
break;
case "required":
client.setFeature(context, "ACCOUNT_ID_MODE_REQUIRED", "R");
break;
}
}
const identity4 = context.__smithy_context?.selectedHttpAuthScheme?.identity;
if (identity4?.$source) {
const credentials = identity4;
if (credentials.accountId) {
client.setFeature(context, "RESOLVED_ACCOUNT_ID", "T");
}
for (const [key, value] of Object.entries(credentials.$source ?? {})) {
client.setFeature(context, key, value);
}
}
}
var USER_AGENT = "user-agent";
var X_AMZ_USER_AGENT = "x-amz-user-agent";
var SPACE = " ";
var UA_NAME_SEPARATOR = "/";
var UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w]/g;
var UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\-.^_`|~\w#]/g;
var UA_ESCAPE_CHAR = "-";
var BYTE_LIMIT = 1024;
function encodeFeatures(features) {
let buffer = "";
for (const key in features) {
const val = features[key];
if (buffer.length + val.length + 1 <= BYTE_LIMIT) {
if (buffer.length) {
buffer += "," + val;
} else {
buffer += val;
}
continue;
}
break;
}
return buffer;
}
var userAgentMiddleware = (options) => (next, context) => async (args) => {
const { request } = args;
if (!protocolHttp.HttpRequest.isInstance(request)) {
return next(args);
}
const { headers } = request;
const userAgent = context?.userAgent?.map(escapeUserAgent) || [];
const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
await checkFeatures(context, options, args);
const awsContext = context;
defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);
const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];
const appId = await options.userAgentAppId();
if (appId) {
defaultUserAgent.push(escapeUserAgent([`app`, `${appId}`]));
}
const prefix = utilEndpoints.getUserAgentPrefix();
const sdkUserAgentValue = (prefix ? [prefix] : []).concat([...defaultUserAgent, ...userAgent, ...customUserAgent]).join(SPACE);
const normalUAValue = [
...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")),
...customUserAgent
].join(SPACE);
if (options.runtime !== "browser") {
if (normalUAValue) {
headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT] ? `${headers[USER_AGENT]} ${normalUAValue}` : normalUAValue;
}
headers[USER_AGENT] = sdkUserAgentValue;
} else {
headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;
}
return next({
...args,
request
});
};
var escapeUserAgent = (userAgentPair) => {
const name = userAgentPair[0].split(UA_NAME_SEPARATOR).map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)).join(UA_NAME_SEPARATOR);
const version2 = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);
const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);
const prefix = name.substring(0, prefixSeparatorIndex);
let uaName = name.substring(prefixSeparatorIndex + 1);
if (prefix === "api") {
uaName = uaName.toLowerCase();
}
return [prefix, uaName, version2].filter((item) => item && item.length > 0).reduce((acc, item, index) => {
switch (index) {
case 0:
return item;
case 1:
return `${acc}/${item}`;
default:
return `${acc}#${item}`;
}
}, "");
};
var getUserAgentMiddlewareOptions = {
name: "getUserAgentMiddleware",
step: "build",
priority: "low",
tags: ["SET_USER_AGENT", "USER_AGENT"],
override: true
};
var getUserAgentPlugin = (config2) => ({
applyToStack: (clientStack) => {
clientStack.add(userAgentMiddleware(config2), getUserAgentMiddlewareOptions);
}
});
exports.DEFAULT_UA_APP_ID = DEFAULT_UA_APP_ID;
exports.getUserAgentMiddlewareOptions = getUserAgentMiddlewareOptions;
exports.getUserAgentPlugin = getUserAgentPlugin;
exports.resolveUserAgentConfig = resolveUserAgentConfig;
exports.userAgentMiddleware = userAgentMiddleware;
});
// node_modules/.pnpm/@smithy+util-config-provider@4.2.2/node_modules/@smithy/util-config-provider/dist-cjs/index.js
var require_dist_cjs35 = __commonJS((exports) => {
var booleanSelector = (obj, key, type) => {
if (!(key in obj))
return;
if (obj[key] === "true")
return true;
if (obj[key] === "false")
return false;
throw new Error(`Cannot load ${type} "${key}". Expected "true" or "false", got ${obj[key]}.`);
};
var numberSelector = (obj, key, type) => {
if (!(key in obj))
return;
const numberValue = parseInt(obj[key], 10);
if (Number.isNaN(numberValue)) {
throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);
}
return numberValue;
};
exports.SelectorType = undefined;
(function(SelectorType) {
SelectorType["ENV"] = "env";
SelectorType["CONFIG"] = "shared config entry";
})(exports.SelectorType || (exports.SelectorType = {}));
exports.booleanSelector = booleanSelector;
exports.numberSelector = numberSelector;
});
// node_modules/.pnpm/@smithy+config-resolver@4.4.13/node_modules/@smithy/config-resolver/dist-cjs/index.js
var require_dist_cjs36 = __commonJS((exports) => {
var utilConfigProvider = require_dist_cjs35();
var utilMiddleware = require_dist_cjs21();
var utilEndpoints = require_dist_cjs30();
var ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT";
var CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint";
var DEFAULT_USE_DUALSTACK_ENDPOINT = false;
var NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => utilConfigProvider.booleanSelector(env5, ENV_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.ENV),
configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),
default: false
};
var nodeDualstackConfigSelectors = {
environmentVariableSelector: (env5) => utilConfigProvider.booleanSelector(env5, ENV_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.ENV),
configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),
default: undefined
};
var ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT";
var CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint";
var DEFAULT_USE_FIPS_ENDPOINT = false;
var NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => utilConfigProvider.booleanSelector(env5, ENV_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.ENV),
configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),
default: false
};
var nodeFipsConfigSelectors = {
environmentVariableSelector: (env5) => utilConfigProvider.booleanSelector(env5, ENV_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.ENV),
configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),
default: undefined
};
var resolveCustomEndpointsConfig = (input) => {
const { tls: tls2, endpoint, urlParser, useDualstackEndpoint } = input;
return Object.assign(input, {
tls: tls2 ?? true,
endpoint: utilMiddleware.normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint),
isCustomEndpoint: true,
useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false)
});
};
var getEndpointFromRegion = async (input) => {
const { tls: tls2 = true } = input;
const region = await input.region();
const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);
if (!dnsHostRegex.test(region)) {
throw new Error("Invalid region in client config");
}
const useDualstackEndpoint = await input.useDualstackEndpoint();
const useFipsEndpoint = await input.useFipsEndpoint();
const { hostname: hostname3 } = await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint }) ?? {};
if (!hostname3) {
throw new Error("Cannot resolve hostname from client config");
}
return input.urlParser(`${tls2 ? "https:" : "http:"}//${hostname3}`);
};
var resolveEndpointsConfig = (input) => {
const useDualstackEndpoint = utilMiddleware.normalizeProvider(input.useDualstackEndpoint ?? false);
const { endpoint, useFipsEndpoint, urlParser, tls: tls2 } = input;
return Object.assign(input, {
tls: tls2 ?? true,
endpoint: endpoint ? utilMiddleware.normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint) : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),
isCustomEndpoint: !!endpoint,
useDualstackEndpoint
});
};
var REGION_ENV_NAME = "AWS_REGION";
var REGION_INI_NAME = "region";
var NODE_REGION_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => env5[REGION_ENV_NAME],
configFileSelector: (profile) => profile[REGION_INI_NAME],
default: () => {
throw new Error("Region is missing");
}
};
var NODE_REGION_CONFIG_FILE_OPTIONS = {
preferredFile: "credentials"
};
var validRegions = new Set;
var checkRegion = (region, check3 = utilEndpoints.isValidHostLabel) => {
if (!validRegions.has(region) && !check3(region)) {
if (region === "*") {
console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of "*". See "sigv4a" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);
} else {
throw new Error(`Region not accepted: region="${region}" is not a valid hostname component.`);
}
} else {
validRegions.add(region);
}
};
var isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips"));
var getRealRegion = (region) => isFipsRegion(region) ? ["fips-aws-global", "aws-fips"].includes(region) ? "us-east-1" : region.replace(/fips-(dkr-|prod-)?|-fips/, "") : region;
var resolveRegionConfig = (input) => {
const { region, useFipsEndpoint } = input;
if (!region) {
throw new Error("Region is missing");
}
return Object.assign(input, {
region: async () => {
const providedRegion = typeof region === "function" ? await region() : region;
const realRegion = getRealRegion(providedRegion);
checkRegion(realRegion);
return realRegion;
},
useFipsEndpoint: async () => {
const providedRegion = typeof region === "string" ? region : await region();
if (isFipsRegion(providedRegion)) {
return true;
}
return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();
}
});
};
var getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))?.hostname;
var getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname ? regionHostname : partitionHostname ? partitionHostname.replace("{region}", resolvedRegion) : undefined;
var getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws";
var getResolvedSigningRegion = (hostname3, { signingRegion, regionRegex, useFipsEndpoint }) => {
if (signingRegion) {
return signingRegion;
} else if (useFipsEndpoint) {
const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\.");
const regionRegexmatchArray = hostname3.match(regionRegexJs);
if (regionRegexmatchArray) {
return regionRegexmatchArray[0].slice(1, -1);
}
}
};
var getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash }) => {
const partition2 = getResolvedPartition(region, { partitionHash });
const resolvedRegion = region in regionHash ? region : partitionHash[partition2]?.endpoint ?? region;
const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };
const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);
const partitionHostname = getHostnameFromVariants(partitionHash[partition2]?.variants, hostnameOptions);
const hostname3 = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });
if (hostname3 === undefined) {
throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);
}
const signingRegion = getResolvedSigningRegion(hostname3, {
signingRegion: regionHash[resolvedRegion]?.signingRegion,
regionRegex: partitionHash[partition2].regionRegex,
useFipsEndpoint
});
return {
partition: partition2,
signingService,
hostname: hostname3,
...signingRegion && { signingRegion },
...regionHash[resolvedRegion]?.signingService && {
signingService: regionHash[resolvedRegion].signingService
}
};
};
exports.CONFIG_USE_DUALSTACK_ENDPOINT = CONFIG_USE_DUALSTACK_ENDPOINT;
exports.CONFIG_USE_FIPS_ENDPOINT = CONFIG_USE_FIPS_ENDPOINT;
exports.DEFAULT_USE_DUALSTACK_ENDPOINT = DEFAULT_USE_DUALSTACK_ENDPOINT;
exports.DEFAULT_USE_FIPS_ENDPOINT = DEFAULT_USE_FIPS_ENDPOINT;
exports.ENV_USE_DUALSTACK_ENDPOINT = ENV_USE_DUALSTACK_ENDPOINT;
exports.ENV_USE_FIPS_ENDPOINT = ENV_USE_FIPS_ENDPOINT;
exports.NODE_REGION_CONFIG_FILE_OPTIONS = NODE_REGION_CONFIG_FILE_OPTIONS;
exports.NODE_REGION_CONFIG_OPTIONS = NODE_REGION_CONFIG_OPTIONS;
exports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS;
exports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS;
exports.REGION_ENV_NAME = REGION_ENV_NAME;
exports.REGION_INI_NAME = REGION_INI_NAME;
exports.getRegionInfo = getRegionInfo;
exports.nodeDualstackConfigSelectors = nodeDualstackConfigSelectors;
exports.nodeFipsConfigSelectors = nodeFipsConfigSelectors;
exports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig;
exports.resolveEndpointsConfig = resolveEndpointsConfig;
exports.resolveRegionConfig = resolveRegionConfig;
});
// node_modules/.pnpm/@smithy+middleware-content-length@4.2.12/node_modules/@smithy/middleware-content-length/dist-cjs/index.js
var require_dist_cjs37 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var CONTENT_LENGTH_HEADER = "content-length";
function contentLengthMiddleware(bodyLengthChecker) {
return (next) => async (args) => {
const request = args.request;
if (protocolHttp.HttpRequest.isInstance(request)) {
const { body, headers } = request;
if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) {
try {
const length = bodyLengthChecker(body);
request.headers = {
...request.headers,
[CONTENT_LENGTH_HEADER]: String(length)
};
} catch (error49) {}
}
}
return next({
...args,
request
});
};
}
var contentLengthMiddlewareOptions = {
step: "build",
tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"],
name: "contentLengthMiddleware",
override: true
};
var getContentLengthPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);
}
});
exports.contentLengthMiddleware = contentLengthMiddleware;
exports.contentLengthMiddlewareOptions = contentLengthMiddlewareOptions;
exports.getContentLengthPlugin = getContentLengthPlugin;
});
// node_modules/.pnpm/@smithy+middleware-endpoint@4.4.28/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js
var require_getEndpointUrlConfig = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEndpointUrlConfig = undefined;
var shared_ini_file_loader_1 = require_dist_cjs8();
var ENV_ENDPOINT_URL = "AWS_ENDPOINT_URL";
var CONFIG_ENDPOINT_URL = "endpoint_url";
var getEndpointUrlConfig = (serviceId) => ({
environmentVariableSelector: (env5) => {
const serviceSuffixParts = serviceId.split(" ").map((w2) => w2.toUpperCase());
const serviceEndpointUrl = env5[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join("_")];
if (serviceEndpointUrl)
return serviceEndpointUrl;
const endpointUrl = env5[ENV_ENDPOINT_URL];
if (endpointUrl)
return endpointUrl;
return;
},
configFileSelector: (profile, config2) => {
if (config2 && profile.services) {
const servicesSection = config2[["services", profile.services].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];
if (servicesSection) {
const servicePrefixParts = serviceId.split(" ").map((w2) => w2.toLowerCase());
const endpointUrl2 = servicesSection[[servicePrefixParts.join("_"), CONFIG_ENDPOINT_URL].join(shared_ini_file_loader_1.CONFIG_PREFIX_SEPARATOR)];
if (endpointUrl2)
return endpointUrl2;
}
}
const endpointUrl = profile[CONFIG_ENDPOINT_URL];
if (endpointUrl)
return endpointUrl;
return;
},
default: undefined
});
exports.getEndpointUrlConfig = getEndpointUrlConfig;
});
// node_modules/.pnpm/@smithy+middleware-endpoint@4.4.28/node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js
var require_getEndpointFromConfig = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEndpointFromConfig = undefined;
var node_config_provider_1 = require_dist_cjs9();
var getEndpointUrlConfig_1 = require_getEndpointUrlConfig();
var getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId ?? ""))();
exports.getEndpointFromConfig = getEndpointFromConfig;
});
// node_modules/.pnpm/@smithy+middleware-serde@4.2.16/node_modules/@smithy/middleware-serde/dist-cjs/index.js
var require_dist_cjs38 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
var endpoints = require_endpoints();
var deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {
const { response } = await next(args);
try {
const parsed = await deserializer(response, options);
return {
response,
output: parsed
};
} catch (error49) {
Object.defineProperty(error49, "$response", {
value: response,
enumerable: false,
writable: false,
configurable: false
});
if (!("$metadata" in error49)) {
const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;
try {
error49.message += `
` + hint;
} catch (e) {
if (!context.logger || context.logger?.constructor?.name === "NoOpLogger") {
console.warn(hint);
} else {
context.logger?.warn?.(hint);
}
}
if (typeof error49.$responseBodyText !== "undefined") {
if (error49.$response) {
error49.$response.body = error49.$responseBodyText;
}
}
try {
if (protocolHttp.HttpResponse.isInstance(response)) {
const { headers = {} } = response;
const headerEntries = Object.entries(headers);
error49.$metadata = {
httpStatusCode: response.statusCode,
requestId: findHeader(/^x-[\w-]+-request-?id$/, headerEntries),
extendedRequestId: findHeader(/^x-[\w-]+-id-2$/, headerEntries),
cfId: findHeader(/^x-[\w-]+-cf-id$/, headerEntries)
};
}
} catch (e) {}
}
throw error49;
}
};
var findHeader = (pattern, headers) => {
return (headers.find(([k2]) => {
return k2.match(pattern);
}) || [undefined, undefined])[1];
};
var serializerMiddleware = (options, serializer) => (next, context) => async (args) => {
const endpointConfig = options;
const endpoint = context.endpointV2 ? async () => endpoints.toEndpointV1(context.endpointV2) : endpointConfig.endpoint;
if (!endpoint) {
throw new Error("No valid endpoint provider available.");
}
const request = await serializer(args.input, { ...options, endpoint });
return next({
...args,
request
});
};
var deserializerMiddlewareOption = {
name: "deserializerMiddleware",
step: "deserialize",
tags: ["DESERIALIZER"],
override: true
};
var serializerMiddlewareOption = {
name: "serializerMiddleware",
step: "serialize",
tags: ["SERIALIZER"],
override: true
};
function getSerdePlugin(config2, serializer, deserializer) {
return {
applyToStack: (commandStack) => {
commandStack.add(deserializerMiddleware(config2, deserializer), deserializerMiddlewareOption);
commandStack.add(serializerMiddleware(config2, serializer), serializerMiddlewareOption);
}
};
}
exports.deserializerMiddleware = deserializerMiddleware;
exports.deserializerMiddlewareOption = deserializerMiddlewareOption;
exports.getSerdePlugin = getSerdePlugin;
exports.serializerMiddleware = serializerMiddleware;
exports.serializerMiddlewareOption = serializerMiddlewareOption;
});
// node_modules/.pnpm/@smithy+middleware-endpoint@4.4.28/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js
var require_dist_cjs39 = __commonJS((exports) => {
var getEndpointFromConfig = require_getEndpointFromConfig();
var urlParser = require_dist_cjs11();
var core2 = require_dist_cjs25();
var utilMiddleware = require_dist_cjs21();
var middlewareSerde = require_dist_cjs38();
var resolveParamsForS3 = async (endpointParams) => {
const bucket = endpointParams?.Bucket || "";
if (typeof endpointParams.Bucket === "string") {
endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent("#")).replace(/\?/g, encodeURIComponent("?"));
}
if (isArnBucketName(bucket)) {
if (endpointParams.ForcePathStyle === true) {
throw new Error("Path-style addressing cannot be used with ARN buckets");
}
} else if (!isDnsCompatibleBucketName(bucket) || bucket.indexOf(".") !== -1 && !String(endpointParams.Endpoint).startsWith("http:") || bucket.toLowerCase() !== bucket || bucket.length < 3) {
endpointParams.ForcePathStyle = true;
}
if (endpointParams.DisableMultiRegionAccessPoints) {
endpointParams.disableMultiRegionAccessPoints = true;
endpointParams.DisableMRAP = true;
}
return endpointParams;
};
var DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;
var IP_ADDRESS_PATTERN = /(\d+\.){3}\d+/;
var DOTS_PATTERN = /\.\./;
var isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);
var isArnBucketName = (bucketName) => {
const [arn, partition2, service, , , bucket] = bucketName.split(":");
const isArn = arn === "arn" && bucketName.split(":").length >= 6;
const isValidArn = Boolean(isArn && partition2 && service && bucket);
if (isArn && !isValidArn) {
throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);
}
return isValidArn;
};
var createConfigValueProvider = (configKey, canonicalEndpointParamKey, config2, isClientContextParam = false) => {
const configProvider = async () => {
let configValue;
if (isClientContextParam) {
const clientContextParams = config2.clientContextParams;
const nestedValue = clientContextParams?.[configKey];
configValue = nestedValue ?? config2[configKey] ?? config2[canonicalEndpointParamKey];
} else {
configValue = config2[configKey] ?? config2[canonicalEndpointParamKey];
}
if (typeof configValue === "function") {
return configValue();
}
return configValue;
};
if (configKey === "credentialScope" || canonicalEndpointParamKey === "CredentialScope") {
return async () => {
const credentials = typeof config2.credentials === "function" ? await config2.credentials() : config2.credentials;
const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;
return configValue;
};
}
if (configKey === "accountId" || canonicalEndpointParamKey === "AccountId") {
return async () => {
const credentials = typeof config2.credentials === "function" ? await config2.credentials() : config2.credentials;
const configValue = credentials?.accountId ?? credentials?.AccountId;
return configValue;
};
}
if (configKey === "endpoint" || canonicalEndpointParamKey === "endpoint") {
return async () => {
if (config2.isCustomEndpoint === false) {
return;
}
const endpoint = await configProvider();
if (endpoint && typeof endpoint === "object") {
if ("url" in endpoint) {
return endpoint.url.href;
}
if ("hostname" in endpoint) {
const { protocol, hostname: hostname3, port, path: path9 } = endpoint;
return `${protocol}//${hostname3}${port ? ":" + port : ""}${path9}`;
}
}
return endpoint;
};
}
return configProvider;
};
var toEndpointV1 = (endpoint) => {
if (typeof endpoint === "object") {
if ("url" in endpoint) {
const v1Endpoint = urlParser.parseUrl(endpoint.url);
if (endpoint.headers) {
v1Endpoint.headers = {};
for (const [name, values] of Object.entries(endpoint.headers)) {
v1Endpoint.headers[name.toLowerCase()] = values.join(", ");
}
}
return v1Endpoint;
}
return endpoint;
}
return urlParser.parseUrl(endpoint);
};
var getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {
if (!clientConfig.isCustomEndpoint) {
let endpointFromConfig;
if (clientConfig.serviceConfiguredEndpoint) {
endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();
} else {
endpointFromConfig = await getEndpointFromConfig.getEndpointFromConfig(clientConfig.serviceId);
}
if (endpointFromConfig) {
clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));
clientConfig.isCustomEndpoint = true;
}
}
const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);
if (typeof clientConfig.endpointProvider !== "function") {
throw new Error("config.endpointProvider is not set.");
}
const endpoint = clientConfig.endpointProvider(endpointParams, context);
if (clientConfig.isCustomEndpoint && clientConfig.endpoint) {
const customEndpoint = await clientConfig.endpoint();
if (customEndpoint?.headers) {
endpoint.headers ??= {};
for (const [name, value] of Object.entries(customEndpoint.headers)) {
endpoint.headers[name] = Array.isArray(value) ? value : [value];
}
}
}
return endpoint;
};
var resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {
const endpointParams = {};
const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};
for (const [name, instruction] of Object.entries(instructions)) {
switch (instruction.type) {
case "staticContextParams":
endpointParams[name] = instruction.value;
break;
case "contextParams":
endpointParams[name] = commandInput[instruction.name];
break;
case "clientContextParams":
case "builtInParams":
endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig, instruction.type !== "builtInParams")();
break;
case "operationContextParams":
endpointParams[name] = instruction.get(commandInput);
break;
default:
throw new Error("Unrecognized endpoint parameter instruction: " + JSON.stringify(instruction));
}
}
if (Object.keys(instructions).length === 0) {
Object.assign(endpointParams, clientConfig);
}
if (String(clientConfig.serviceId).toLowerCase() === "s3") {
await resolveParamsForS3(endpointParams);
}
return endpointParams;
};
var endpointMiddleware = ({ config: config2, instructions }) => {
return (next, context) => async (args) => {
if (config2.isCustomEndpoint) {
core2.setFeature(context, "ENDPOINT_OVERRIDE", "N");
}
const endpoint = await getEndpointFromInstructions(args.input, {
getEndpointParameterInstructions() {
return instructions;
}
}, { ...config2 }, context);
context.endpointV2 = endpoint;
context.authSchemes = endpoint.properties?.authSchemes;
const authScheme = context.authSchemes?.[0];
if (authScheme) {
context["signing_region"] = authScheme.signingRegion;
context["signing_service"] = authScheme.signingName;
const smithyContext = utilMiddleware.getSmithyContext(context);
const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;
if (httpAuthOption) {
httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {
signing_region: authScheme.signingRegion,
signingRegion: authScheme.signingRegion,
signing_service: authScheme.signingName,
signingName: authScheme.signingName,
signingRegionSet: authScheme.signingRegionSet
}, authScheme.properties);
}
}
return next({
...args
});
};
};
var endpointMiddlewareOptions = {
step: "serialize",
tags: ["ENDPOINT_PARAMETERS", "ENDPOINT_V2", "ENDPOINT"],
name: "endpointV2Middleware",
override: true,
relation: "before",
toMiddleware: middlewareSerde.serializerMiddlewareOption.name
};
var getEndpointPlugin = (config2, instructions) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(endpointMiddleware({
config: config2,
instructions
}), endpointMiddlewareOptions);
}
});
var resolveEndpointConfig = (input) => {
const tls2 = input.tls ?? true;
const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;
const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await utilMiddleware.normalizeProvider(endpoint)()) : undefined;
const isCustomEndpoint = !!endpoint;
const resolvedConfig = Object.assign(input, {
endpoint: customEndpointProvider,
tls: tls2,
isCustomEndpoint,
useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false),
useFipsEndpoint: utilMiddleware.normalizeProvider(useFipsEndpoint ?? false)
});
let configuredEndpointPromise = undefined;
resolvedConfig.serviceConfiguredEndpoint = async () => {
if (input.serviceId && !configuredEndpointPromise) {
configuredEndpointPromise = getEndpointFromConfig.getEndpointFromConfig(input.serviceId);
}
return configuredEndpointPromise;
};
return resolvedConfig;
};
var resolveEndpointRequiredConfig = (input) => {
const { endpoint } = input;
if (endpoint === undefined) {
input.endpoint = async () => {
throw new Error("@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.");
};
}
return input;
};
exports.endpointMiddleware = endpointMiddleware;
exports.endpointMiddlewareOptions = endpointMiddlewareOptions;
exports.getEndpointFromInstructions = getEndpointFromInstructions;
exports.getEndpointPlugin = getEndpointPlugin;
exports.resolveEndpointConfig = resolveEndpointConfig;
exports.resolveEndpointRequiredConfig = resolveEndpointRequiredConfig;
exports.resolveParams = resolveParams;
exports.toEndpointV1 = toEndpointV1;
});
// node_modules/.pnpm/@smithy+middleware-retry@4.4.45/node_modules/@smithy/middleware-retry/dist-cjs/isStreamingPayload/isStreamingPayload.js
var require_isStreamingPayload = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isStreamingPayload = undefined;
var stream_1 = __require("stream");
var isStreamingPayload = (request) => request?.body instanceof stream_1.Readable || typeof ReadableStream !== "undefined" && request?.body instanceof ReadableStream;
exports.isStreamingPayload = isStreamingPayload;
});
// node_modules/.pnpm/@smithy+middleware-retry@4.4.45/node_modules/@smithy/middleware-retry/dist-cjs/index.js
var require_dist_cjs40 = __commonJS((exports) => {
var utilRetry = require_dist_cjs33();
var protocolHttp = require_dist_cjs2();
var serviceErrorClassification = require_dist_cjs32();
var uuid3 = require_dist_cjs22();
var utilMiddleware = require_dist_cjs21();
var smithyClient = require_dist_cjs23();
var isStreamingPayload = require_isStreamingPayload();
var getDefaultRetryQuota = (initialRetryTokens, options) => {
const MAX_CAPACITY = initialRetryTokens;
const noRetryIncrement = utilRetry.NO_RETRY_INCREMENT;
const retryCost = utilRetry.RETRY_COST;
const timeoutRetryCost = utilRetry.TIMEOUT_RETRY_COST;
let availableCapacity = initialRetryTokens;
const getCapacityAmount = (error49) => error49.name === "TimeoutError" ? timeoutRetryCost : retryCost;
const hasRetryTokens = (error49) => getCapacityAmount(error49) <= availableCapacity;
const retrieveRetryTokens = (error49) => {
if (!hasRetryTokens(error49)) {
throw new Error("No retry token available");
}
const capacityAmount = getCapacityAmount(error49);
availableCapacity -= capacityAmount;
return capacityAmount;
};
const releaseRetryTokens = (capacityReleaseAmount) => {
availableCapacity += capacityReleaseAmount ?? noRetryIncrement;
availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);
};
return Object.freeze({
hasRetryTokens,
retrieveRetryTokens,
releaseRetryTokens
});
};
var defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(utilRetry.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));
var defaultRetryDecider = (error49) => {
if (!error49) {
return false;
}
return serviceErrorClassification.isRetryableByTrait(error49) || serviceErrorClassification.isClockSkewError(error49) || serviceErrorClassification.isThrottlingError(error49) || serviceErrorClassification.isTransientError(error49);
};
var asSdkError = (error49) => {
if (error49 instanceof Error)
return error49;
if (error49 instanceof Object)
return Object.assign(new Error, error49);
if (typeof error49 === "string")
return new Error(error49);
return new Error(`AWS SDK error wrapper for ${error49}`);
};
class StandardRetryStrategy {
maxAttemptsProvider;
retryDecider;
delayDecider;
retryQuota;
mode = utilRetry.RETRY_MODES.STANDARD;
constructor(maxAttemptsProvider, options) {
this.maxAttemptsProvider = maxAttemptsProvider;
this.retryDecider = options?.retryDecider ?? defaultRetryDecider;
this.delayDecider = options?.delayDecider ?? defaultDelayDecider;
this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(utilRetry.INITIAL_RETRY_TOKENS);
}
shouldRetry(error49, attempts, maxAttempts) {
return attempts < maxAttempts && this.retryDecider(error49) && this.retryQuota.hasRetryTokens(error49);
}
async getMaxAttempts() {
let maxAttempts;
try {
maxAttempts = await this.maxAttemptsProvider();
} catch (error49) {
maxAttempts = utilRetry.DEFAULT_MAX_ATTEMPTS;
}
return maxAttempts;
}
async retry(next, args, options) {
let retryTokenAmount;
let attempts = 0;
let totalDelay = 0;
const maxAttempts = await this.getMaxAttempts();
const { request } = args;
if (protocolHttp.HttpRequest.isInstance(request)) {
request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid3.v4();
}
while (true) {
try {
if (protocolHttp.HttpRequest.isInstance(request)) {
request.headers[utilRetry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;
}
if (options?.beforeRequest) {
await options.beforeRequest();
}
const { response, output } = await next(args);
if (options?.afterRequest) {
options.afterRequest(response);
}
this.retryQuota.releaseRetryTokens(retryTokenAmount);
output.$metadata.attempts = attempts + 1;
output.$metadata.totalRetryDelay = totalDelay;
return { response, output };
} catch (e) {
const err = asSdkError(e);
attempts++;
if (this.shouldRetry(err, attempts, maxAttempts)) {
retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);
const delayFromDecider = this.delayDecider(serviceErrorClassification.isThrottlingError(err) ? utilRetry.THROTTLING_RETRY_DELAY_BASE : utilRetry.DEFAULT_RETRY_DELAY_BASE, attempts);
const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);
const delay = Math.max(delayFromResponse || 0, delayFromDecider);
totalDelay += delay;
await new Promise((resolve9) => setTimeout(resolve9, delay));
continue;
}
if (!err.$metadata) {
err.$metadata = {};
}
err.$metadata.attempts = attempts;
err.$metadata.totalRetryDelay = totalDelay;
throw err;
}
}
}
}
var getDelayFromRetryAfterHeader = (response) => {
if (!protocolHttp.HttpResponse.isInstance(response))
return;
const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after");
if (!retryAfterHeaderName)
return;
const retryAfter = response.headers[retryAfterHeaderName];
const retryAfterSeconds = Number(retryAfter);
if (!Number.isNaN(retryAfterSeconds))
return retryAfterSeconds * 1000;
const retryAfterDate = new Date(retryAfter);
return retryAfterDate.getTime() - Date.now();
};
class AdaptiveRetryStrategy extends StandardRetryStrategy {
rateLimiter;
constructor(maxAttemptsProvider, options) {
const { rateLimiter, ...superOptions } = options ?? {};
super(maxAttemptsProvider, superOptions);
this.rateLimiter = rateLimiter ?? new utilRetry.DefaultRateLimiter;
this.mode = utilRetry.RETRY_MODES.ADAPTIVE;
}
async retry(next, args) {
return super.retry(next, args, {
beforeRequest: async () => {
return this.rateLimiter.getSendToken();
},
afterRequest: (response) => {
this.rateLimiter.updateClientSendingRate(response);
}
});
}
}
var ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
var CONFIG_MAX_ATTEMPTS = "max_attempts";
var NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => {
const value = env5[ENV_MAX_ATTEMPTS];
if (!value)
return;
const maxAttempt = parseInt(value);
if (Number.isNaN(maxAttempt)) {
throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got "${value}"`);
}
return maxAttempt;
},
configFileSelector: (profile) => {
const value = profile[CONFIG_MAX_ATTEMPTS];
if (!value)
return;
const maxAttempt = parseInt(value);
if (Number.isNaN(maxAttempt)) {
throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got "${value}"`);
}
return maxAttempt;
},
default: utilRetry.DEFAULT_MAX_ATTEMPTS
};
var resolveRetryConfig = (input) => {
const { retryStrategy, retryMode } = input;
const maxAttempts = utilMiddleware.normalizeProvider(input.maxAttempts ?? utilRetry.DEFAULT_MAX_ATTEMPTS);
let controller = retryStrategy ? Promise.resolve(retryStrategy) : undefined;
const getDefault = async () => await utilMiddleware.normalizeProvider(retryMode)() === utilRetry.RETRY_MODES.ADAPTIVE ? new utilRetry.AdaptiveRetryStrategy(maxAttempts) : new utilRetry.StandardRetryStrategy(maxAttempts);
return Object.assign(input, {
maxAttempts,
retryStrategy: () => controller ??= getDefault()
});
};
var ENV_RETRY_MODE = "AWS_RETRY_MODE";
var CONFIG_RETRY_MODE = "retry_mode";
var NODE_RETRY_MODE_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => env5[ENV_RETRY_MODE],
configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],
default: utilRetry.DEFAULT_RETRY_MODE
};
var omitRetryHeadersMiddleware = () => (next) => async (args) => {
const { request } = args;
if (protocolHttp.HttpRequest.isInstance(request)) {
delete request.headers[utilRetry.INVOCATION_ID_HEADER];
delete request.headers[utilRetry.REQUEST_HEADER];
}
return next(args);
};
var omitRetryHeadersMiddlewareOptions = {
name: "omitRetryHeadersMiddleware",
tags: ["RETRY", "HEADERS", "OMIT_RETRY_HEADERS"],
relation: "before",
toMiddleware: "awsAuthMiddleware",
override: true
};
var getOmitRetryHeadersPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);
}
});
var retryMiddleware = (options) => (next, context) => async (args) => {
let retryStrategy = await options.retryStrategy();
const maxAttempts = await options.maxAttempts();
if (isRetryStrategyV2(retryStrategy)) {
retryStrategy = retryStrategy;
let retryToken = await retryStrategy.acquireInitialRetryToken(context["partition_id"]);
let lastError = new Error;
let attempts = 0;
let totalRetryDelay = 0;
const { request } = args;
const isRequest2 = protocolHttp.HttpRequest.isInstance(request);
if (isRequest2) {
request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid3.v4();
}
while (true) {
try {
if (isRequest2) {
request.headers[utilRetry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;
}
const { response, output } = await next(args);
retryStrategy.recordSuccess(retryToken);
output.$metadata.attempts = attempts + 1;
output.$metadata.totalRetryDelay = totalRetryDelay;
return { response, output };
} catch (e) {
const retryErrorInfo = getRetryErrorInfo(e);
lastError = asSdkError(e);
if (isRequest2 && isStreamingPayload.isStreamingPayload(request)) {
(context.logger instanceof smithyClient.NoOpLogger ? console : context.logger)?.warn("An error was encountered in a non-retryable streaming request.");
throw lastError;
}
try {
retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);
} catch (refreshError) {
if (!lastError.$metadata) {
lastError.$metadata = {};
}
lastError.$metadata.attempts = attempts + 1;
lastError.$metadata.totalRetryDelay = totalRetryDelay;
throw lastError;
}
attempts = retryToken.getRetryCount();
const delay = retryToken.getRetryDelay();
totalRetryDelay += delay;
await new Promise((resolve9) => setTimeout(resolve9, delay));
}
}
} else {
retryStrategy = retryStrategy;
if (retryStrategy?.mode)
context.userAgent = [...context.userAgent || [], ["cfg/retry-mode", retryStrategy.mode]];
return retryStrategy.retry(next, args);
}
};
var isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== "undefined" && typeof retryStrategy.refreshRetryTokenForRetry !== "undefined" && typeof retryStrategy.recordSuccess !== "undefined";
var getRetryErrorInfo = (error49) => {
const errorInfo = {
error: error49,
errorType: getRetryErrorType(error49)
};
const retryAfterHint = getRetryAfterHint(error49.$response);
if (retryAfterHint) {
errorInfo.retryAfterHint = retryAfterHint;
}
return errorInfo;
};
var getRetryErrorType = (error49) => {
if (serviceErrorClassification.isThrottlingError(error49))
return "THROTTLING";
if (serviceErrorClassification.isTransientError(error49))
return "TRANSIENT";
if (serviceErrorClassification.isServerError(error49))
return "SERVER_ERROR";
return "CLIENT_ERROR";
};
var retryMiddlewareOptions = {
name: "retryMiddleware",
tags: ["RETRY"],
step: "finalizeRequest",
priority: "high",
override: true
};
var getRetryPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.add(retryMiddleware(options), retryMiddlewareOptions);
}
});
var getRetryAfterHint = (response) => {
if (!protocolHttp.HttpResponse.isInstance(response))
return;
const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === "retry-after");
if (!retryAfterHeaderName)
return;
const retryAfter = response.headers[retryAfterHeaderName];
const retryAfterSeconds = Number(retryAfter);
if (!Number.isNaN(retryAfterSeconds))
return new Date(retryAfterSeconds * 1000);
const retryAfterDate = new Date(retryAfter);
return retryAfterDate;
};
exports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;
exports.CONFIG_MAX_ATTEMPTS = CONFIG_MAX_ATTEMPTS;
exports.CONFIG_RETRY_MODE = CONFIG_RETRY_MODE;
exports.ENV_MAX_ATTEMPTS = ENV_MAX_ATTEMPTS;
exports.ENV_RETRY_MODE = ENV_RETRY_MODE;
exports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = NODE_MAX_ATTEMPT_CONFIG_OPTIONS;
exports.NODE_RETRY_MODE_CONFIG_OPTIONS = NODE_RETRY_MODE_CONFIG_OPTIONS;
exports.StandardRetryStrategy = StandardRetryStrategy;
exports.defaultDelayDecider = defaultDelayDecider;
exports.defaultRetryDecider = defaultRetryDecider;
exports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin;
exports.getRetryAfterHint = getRetryAfterHint;
exports.getRetryPlugin = getRetryPlugin;
exports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware;
exports.omitRetryHeadersMiddlewareOptions = omitRetryHeadersMiddlewareOptions;
exports.resolveRetryConfig = resolveRetryConfig;
exports.retryMiddleware = retryMiddleware;
exports.retryMiddlewareOptions = retryMiddlewareOptions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.defaultSSOOIDCHttpAuthSchemeProvider = exports.defaultSSOOIDCHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_middleware_1 = require_dist_cjs21();
var defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultSSOOIDCHttpAuthSchemeParametersProvider = defaultSSOOIDCHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "sso-oauth",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#noAuth"
};
}
var defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
case "CreateToken": {
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultSSOOIDCHttpAuthSchemeProvider = defaultSSOOIDCHttpAuthSchemeProvider;
var resolveHttpAuthSchemeConfig = (config2) => {
const config_0 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config2);
return Object.assign(config_0, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? [])
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/package.json
var require_package = __commonJS((exports, module) => {
module.exports = {
name: "@aws-sdk/nested-clients",
version: "3.996.17",
description: "Nested clients for AWS SDK packages.",
main: "./dist-cjs/index.js",
module: "./dist-es/index.js",
types: "./dist-types/index.d.ts",
scripts: {
build: "yarn lint && concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
"build:cjs": "node ../../scripts/compilation/inline nested-clients",
"build:es": "tsc -p tsconfig.es.json",
"build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"',
"build:types": "tsc -p tsconfig.types.json",
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
clean: "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
lint: "node ../../scripts/validation/submodules-linter.js --pkg nested-clients",
test: "yarn g:vitest run",
"test:watch": "yarn g:vitest watch"
},
engines: {
node: ">=20.0.0"
},
sideEffects: false,
author: {
name: "AWS SDK for JavaScript Team",
url: "https://aws.amazon.com/javascript/"
},
license: "Apache-2.0",
dependencies: {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "^3.973.26",
"@aws-sdk/middleware-host-header": "^3.972.8",
"@aws-sdk/middleware-logger": "^3.972.8",
"@aws-sdk/middleware-recursion-detection": "^3.972.9",
"@aws-sdk/middleware-user-agent": "^3.972.27",
"@aws-sdk/region-config-resolver": "^3.972.10",
"@aws-sdk/types": "^3.973.6",
"@aws-sdk/util-endpoints": "^3.996.5",
"@aws-sdk/util-user-agent-browser": "^3.972.8",
"@aws-sdk/util-user-agent-node": "^3.973.13",
"@smithy/config-resolver": "^4.4.13",
"@smithy/core": "^3.23.13",
"@smithy/fetch-http-handler": "^5.3.15",
"@smithy/hash-node": "^4.2.12",
"@smithy/invalid-dependency": "^4.2.12",
"@smithy/middleware-content-length": "^4.2.12",
"@smithy/middleware-endpoint": "^4.4.28",
"@smithy/middleware-retry": "^4.4.45",
"@smithy/middleware-serde": "^4.2.16",
"@smithy/middleware-stack": "^4.2.12",
"@smithy/node-config-provider": "^4.3.12",
"@smithy/node-http-handler": "^4.5.1",
"@smithy/protocol-http": "^5.3.12",
"@smithy/smithy-client": "^4.12.8",
"@smithy/types": "^4.13.1",
"@smithy/url-parser": "^4.2.12",
"@smithy/util-base64": "^4.3.2",
"@smithy/util-body-length-browser": "^4.2.2",
"@smithy/util-body-length-node": "^4.2.3",
"@smithy/util-defaults-mode-browser": "^4.3.44",
"@smithy/util-defaults-mode-node": "^4.2.48",
"@smithy/util-endpoints": "^3.3.3",
"@smithy/util-middleware": "^4.2.12",
"@smithy/util-retry": "^4.2.12",
"@smithy/util-utf8": "^4.2.2",
tslib: "^2.6.2"
},
devDependencies: {
concurrently: "7.0.0",
"downlevel-dts": "0.10.1",
premove: "4.0.0",
typescript: "~5.8.3"
},
typesVersions: {
"<4.5": {
"dist-types/*": [
"dist-types/ts3.4/*"
]
}
},
files: [
"./cognito-identity.d.ts",
"./cognito-identity.js",
"./signin.d.ts",
"./signin.js",
"./sso-oidc.d.ts",
"./sso-oidc.js",
"./sso.d.ts",
"./sso.js",
"./sts.d.ts",
"./sts.js",
"dist-*/**"
],
browser: {
"./dist-es/submodules/cognito-identity/runtimeConfig": "./dist-es/submodules/cognito-identity/runtimeConfig.browser",
"./dist-es/submodules/signin/runtimeConfig": "./dist-es/submodules/signin/runtimeConfig.browser",
"./dist-es/submodules/sso-oidc/runtimeConfig": "./dist-es/submodules/sso-oidc/runtimeConfig.browser",
"./dist-es/submodules/sso/runtimeConfig": "./dist-es/submodules/sso/runtimeConfig.browser",
"./dist-es/submodules/sts/runtimeConfig": "./dist-es/submodules/sts/runtimeConfig.browser"
},
"react-native": {},
homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
repository: {
type: "git",
url: "https://github.com/aws/aws-sdk-js-v3.git",
directory: "packages/nested-clients"
},
exports: {
"./package.json": "./package.json",
"./sso-oidc": {
types: "./dist-types/submodules/sso-oidc/index.d.ts",
module: "./dist-es/submodules/sso-oidc/index.js",
node: "./dist-cjs/submodules/sso-oidc/index.js",
import: "./dist-es/submodules/sso-oidc/index.js",
require: "./dist-cjs/submodules/sso-oidc/index.js"
},
"./sts": {
types: "./dist-types/submodules/sts/index.d.ts",
module: "./dist-es/submodules/sts/index.js",
node: "./dist-cjs/submodules/sts/index.js",
import: "./dist-es/submodules/sts/index.js",
require: "./dist-cjs/submodules/sts/index.js"
},
"./signin": {
types: "./dist-types/submodules/signin/index.d.ts",
module: "./dist-es/submodules/signin/index.js",
node: "./dist-cjs/submodules/signin/index.js",
import: "./dist-es/submodules/signin/index.js",
require: "./dist-cjs/submodules/signin/index.js"
},
"./cognito-identity": {
types: "./dist-types/submodules/cognito-identity/index.d.ts",
module: "./dist-es/submodules/cognito-identity/index.js",
node: "./dist-cjs/submodules/cognito-identity/index.js",
import: "./dist-es/submodules/cognito-identity/index.js",
require: "./dist-cjs/submodules/cognito-identity/index.js"
},
"./sso": {
types: "./dist-types/submodules/sso/index.d.ts",
module: "./dist-es/submodules/sso/index.js",
node: "./dist-cjs/submodules/sso/index.js",
import: "./dist-es/submodules/sso/index.js",
require: "./dist-cjs/submodules/sso/index.js"
}
}
};
});
// node_modules/.pnpm/@aws-sdk+util-user-agent-node@3.973.13/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js
var require_dist_cjs41 = __commonJS((exports) => {
var __dirname = "/Users/bytedance/claude-code/claude-code-source/node_modules/.pnpm/@aws-sdk+util-user-agent-node@3.973.13/node_modules/@aws-sdk/util-user-agent-node/dist-cjs";
var node_os = __require("node:os");
var node_process = __require("node:process");
var utilConfigProvider = require_dist_cjs35();
var promises = __require("node:fs/promises");
var node_path = __require("node:path");
var middlewareUserAgent = require_dist_cjs34();
var getRuntimeUserAgentPair = () => {
const runtimesToCheck = ["deno", "bun", "llrt"];
for (const runtime of runtimesToCheck) {
if (node_process.versions[runtime]) {
return [`md/${runtime}`, node_process.versions[runtime]];
}
}
return ["md/nodejs", node_process.versions.node];
};
var getNodeModulesParentDirs = (dirname12) => {
const cwd2 = process.cwd();
if (!dirname12) {
return [cwd2];
}
const normalizedPath = node_path.normalize(dirname12);
const parts = normalizedPath.split(node_path.sep);
const nodeModulesIndex = parts.indexOf("node_modules");
const parentDir = nodeModulesIndex !== -1 ? parts.slice(0, nodeModulesIndex).join(node_path.sep) : normalizedPath;
if (cwd2 === parentDir) {
return [cwd2];
}
return [parentDir, cwd2];
};
var SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;
var getSanitizedTypeScriptVersion = (version2 = "") => {
const match = version2.match(SEMVER_REGEX);
if (!match) {
return;
}
const [major, minor, patch, prerelease] = [match[1], match[2], match[3], match[4]];
return prerelease ? `${major}.${minor}.${patch}-${prerelease}` : `${major}.${minor}.${patch}`;
};
var ALLOWED_PREFIXES = ["^", "~", ">=", "<=", ">", "<"];
var ALLOWED_DIST_TAGS = ["latest", "beta", "dev", "rc", "insiders", "next"];
var getSanitizedDevTypeScriptVersion = (version2 = "") => {
if (ALLOWED_DIST_TAGS.includes(version2)) {
return version2;
}
const prefix = ALLOWED_PREFIXES.find((p) => version2.startsWith(p)) ?? "";
const sanitizedTypeScriptVersion = getSanitizedTypeScriptVersion(version2.slice(prefix.length));
if (!sanitizedTypeScriptVersion) {
return;
}
return `${prefix}${sanitizedTypeScriptVersion}`;
};
var tscVersion;
var TS_PACKAGE_JSON = node_path.join("node_modules", "typescript", "package.json");
var getTypeScriptUserAgentPair = async () => {
if (tscVersion === null) {
return;
} else if (typeof tscVersion === "string") {
return ["md/tsc", tscVersion];
}
let isTypeScriptDetectionDisabled = false;
try {
isTypeScriptDetectionDisabled = utilConfigProvider.booleanSelector(process.env, "AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED", utilConfigProvider.SelectorType.ENV) || false;
} catch {}
if (isTypeScriptDetectionDisabled) {
tscVersion = null;
return;
}
const dirname12 = typeof __dirname !== "undefined" ? __dirname : undefined;
const nodeModulesParentDirs = getNodeModulesParentDirs(dirname12);
let versionFromApp;
for (const nodeModulesParentDir of nodeModulesParentDirs) {
try {
const appPackageJsonPath = node_path.join(nodeModulesParentDir, "package.json");
const packageJson = await promises.readFile(appPackageJsonPath, "utf-8");
const { dependencies, devDependencies } = JSON.parse(packageJson);
const version2 = devDependencies?.typescript ?? dependencies?.typescript;
if (typeof version2 !== "string") {
continue;
}
versionFromApp = version2;
break;
} catch {}
}
if (!versionFromApp) {
tscVersion = null;
return;
}
let versionFromNodeModules;
for (const nodeModulesParentDir of nodeModulesParentDirs) {
try {
const tsPackageJsonPath = node_path.join(nodeModulesParentDir, TS_PACKAGE_JSON);
const packageJson = await promises.readFile(tsPackageJsonPath, "utf-8");
const { version: version2 } = JSON.parse(packageJson);
const sanitizedVersion2 = getSanitizedTypeScriptVersion(version2);
if (typeof sanitizedVersion2 !== "string") {
continue;
}
versionFromNodeModules = sanitizedVersion2;
break;
} catch {}
}
if (versionFromNodeModules) {
tscVersion = versionFromNodeModules;
return ["md/tsc", tscVersion];
}
const sanitizedVersion = getSanitizedDevTypeScriptVersion(versionFromApp);
if (typeof sanitizedVersion !== "string") {
tscVersion = null;
return;
}
tscVersion = `dev_${sanitizedVersion}`;
return ["md/tsc", tscVersion];
};
var crtAvailability = {
isCrtAvailable: false
};
var isCrtAvailable = () => {
if (crtAvailability.isCrtAvailable) {
return ["md/crt-avail"];
}
return null;
};
var createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => {
const runtimeUserAgentPair = getRuntimeUserAgentPair();
return async (config2) => {
const sections = [
["aws-sdk-js", clientVersion],
["ua", "2.1"],
[`os/${node_os.platform()}`, node_os.release()],
["lang/js"],
runtimeUserAgentPair
];
const typescriptUserAgentPair = await getTypeScriptUserAgentPair();
if (typescriptUserAgentPair) {
sections.push(typescriptUserAgentPair);
}
const crtAvailable = isCrtAvailable();
if (crtAvailable) {
sections.push(crtAvailable);
}
if (serviceId) {
sections.push([`api/${serviceId}`, clientVersion]);
}
if (node_process.env.AWS_EXECUTION_ENV) {
sections.push([`exec-env/${node_process.env.AWS_EXECUTION_ENV}`]);
}
const appId = await config2?.userAgentAppId?.();
const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];
return resolvedUserAgent;
};
};
var defaultUserAgent = createDefaultUserAgentProvider;
var UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID";
var UA_APP_ID_INI_NAME = "sdk_ua_app_id";
var UA_APP_ID_INI_NAME_DEPRECATED = "sdk-ua-app-id";
var NODE_APP_ID_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => env5[UA_APP_ID_ENV_NAME],
configFileSelector: (profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED],
default: middlewareUserAgent.DEFAULT_UA_APP_ID
};
exports.NODE_APP_ID_CONFIG_OPTIONS = NODE_APP_ID_CONFIG_OPTIONS;
exports.UA_APP_ID_ENV_NAME = UA_APP_ID_ENV_NAME;
exports.UA_APP_ID_INI_NAME = UA_APP_ID_INI_NAME;
exports.createDefaultUserAgentProvider = createDefaultUserAgentProvider;
exports.crtAvailability = crtAvailability;
exports.defaultUserAgent = defaultUserAgent;
});
// node_modules/.pnpm/@smithy+hash-node@4.2.12/node_modules/@smithy/hash-node/dist-cjs/index.js
var require_dist_cjs42 = __commonJS((exports) => {
var utilBufferFrom = require_dist_cjs15();
var utilUtf8 = require_dist_cjs16();
var buffer = __require("buffer");
var crypto3 = __require("crypto");
class Hash2 {
algorithmIdentifier;
secret;
hash;
constructor(algorithmIdentifier, secret) {
this.algorithmIdentifier = algorithmIdentifier;
this.secret = secret;
this.reset();
}
update(toHash, encoding) {
this.hash.update(utilUtf8.toUint8Array(castSourceData(toHash, encoding)));
}
digest() {
return Promise.resolve(this.hash.digest());
}
reset() {
this.hash = this.secret ? crypto3.createHmac(this.algorithmIdentifier, castSourceData(this.secret)) : crypto3.createHash(this.algorithmIdentifier);
}
}
function castSourceData(toCast, encoding) {
if (buffer.Buffer.isBuffer(toCast)) {
return toCast;
}
if (typeof toCast === "string") {
return utilBufferFrom.fromString(toCast, encoding);
}
if (ArrayBuffer.isView(toCast)) {
return utilBufferFrom.fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);
}
return utilBufferFrom.fromArrayBuffer(toCast);
}
exports.Hash = Hash2;
});
// node_modules/.pnpm/@smithy+util-body-length-node@4.2.3/node_modules/@smithy/util-body-length-node/dist-cjs/index.js
var require_dist_cjs43 = __commonJS((exports) => {
var node_fs = __require("node:fs");
var calculateBodyLength = (body) => {
if (!body) {
return 0;
}
if (typeof body === "string") {
return Buffer.byteLength(body);
} else if (typeof body.byteLength === "number") {
return body.byteLength;
} else if (typeof body.size === "number") {
return body.size;
} else if (typeof body.start === "number" && typeof body.end === "number") {
return body.end + 1 - body.start;
} else if (body instanceof node_fs.ReadStream) {
if (body.path != null) {
return node_fs.lstatSync(body.path).size;
} else if (typeof body.fd === "number") {
return node_fs.fstatSync(body.fd).size;
}
}
throw new Error(`Body Length computation failed for ${body}`);
};
exports.calculateBodyLength = calculateBodyLength;
});
// node_modules/.pnpm/@smithy+util-defaults-mode-node@4.2.48/node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js
var require_dist_cjs44 = __commonJS((exports) => {
var configResolver = require_dist_cjs36();
var nodeConfigProvider = require_dist_cjs9();
var propertyProvider = require_dist_cjs6();
var AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV";
var AWS_REGION_ENV = "AWS_REGION";
var AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION";
var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
var DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"];
var IMDS_REGION_PATH = "/latest/meta-data/placement/region";
var AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE";
var AWS_DEFAULTS_MODE_CONFIG = "defaults_mode";
var NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {
environmentVariableSelector: (env5) => {
return env5[AWS_DEFAULTS_MODE_ENV];
},
configFileSelector: (profile) => {
return profile[AWS_DEFAULTS_MODE_CONFIG];
},
default: "legacy"
};
var resolveDefaultsModeConfig = ({ region = nodeConfigProvider.loadConfig(configResolver.NODE_REGION_CONFIG_OPTIONS), defaultsMode = nodeConfigProvider.loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS) } = {}) => propertyProvider.memoize(async () => {
const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode;
switch (mode?.toLowerCase()) {
case "auto":
return resolveNodeDefaultsModeAuto(region);
case "in-region":
case "cross-region":
case "mobile":
case "standard":
case "legacy":
return Promise.resolve(mode?.toLocaleLowerCase());
case undefined:
return Promise.resolve("legacy");
default:
throw new Error(`Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`);
}
});
var resolveNodeDefaultsModeAuto = async (clientRegion) => {
if (clientRegion) {
const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion;
const inferredRegion = await inferPhysicalRegion();
if (!inferredRegion) {
return "standard";
}
if (resolvedRegion === inferredRegion) {
return "in-region";
} else {
return "cross-region";
}
}
return "standard";
};
var inferPhysicalRegion = async () => {
if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {
return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];
}
if (!process.env[ENV_IMDS_DISABLED]) {
try {
const { getInstanceMetadataEndpoint, httpRequest } = await Promise.resolve().then(() => __toESM(require_dist_cjs12()));
const endpoint = await getInstanceMetadataEndpoint();
return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();
} catch (e) {}
}
};
exports.resolveDefaultsModeConfig = resolveDefaultsModeConfig;
});
// node_modules/.pnpm/@smithy+util-body-length-browser@4.2.2/node_modules/@smithy/util-body-length-browser/dist-cjs/index.js
var require_dist_cjs45 = __commonJS((exports) => {
var TEXT_ENCODER = typeof TextEncoder == "function" ? new TextEncoder : null;
var calculateBodyLength = (body) => {
if (typeof body === "string") {
if (TEXT_ENCODER) {
return TEXT_ENCODER.encode(body).byteLength;
}
let len = body.length;
for (let i2 = len - 1;i2 >= 0; i2--) {
const code = body.charCodeAt(i2);
if (code > 127 && code <= 2047)
len++;
else if (code > 2047 && code <= 65535)
len += 2;
if (code >= 56320 && code <= 57343)
i2--;
}
return len;
} else if (typeof body.byteLength === "number") {
return body.byteLength;
} else if (typeof body.size === "number") {
return body.size;
}
throw new Error(`Body Length computation failed for ${body}`);
};
exports.calculateBodyLength = calculateBodyLength;
});
// node_modules/.pnpm/@smithy+core@3.23.13/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js
var require_cbor = __commonJS((exports) => {
var serde = require_serde();
var utilUtf8 = require_dist_cjs16();
var protocols = require_protocols();
var protocolHttp = require_dist_cjs2();
var utilBodyLengthBrowser = require_dist_cjs45();
var schema = require_schema();
var utilMiddleware = require_dist_cjs21();
var utilBase64 = require_dist_cjs17();
var majorUint64 = 0;
var majorNegativeInt64 = 1;
var majorUnstructuredByteString = 2;
var majorUtf8String = 3;
var majorList = 4;
var majorMap = 5;
var majorTag = 6;
var majorSpecial = 7;
var specialFalse = 20;
var specialTrue = 21;
var specialNull = 22;
var specialUndefined = 23;
var extendedOneByte = 24;
var extendedFloat16 = 25;
var extendedFloat32 = 26;
var extendedFloat64 = 27;
var minorIndefinite = 31;
function alloc(size) {
return typeof Buffer !== "undefined" ? Buffer.alloc(size) : new Uint8Array(size);
}
var tagSymbol = Symbol("@smithy/core/cbor::tagSymbol");
function tag(data2) {
data2[tagSymbol] = true;
return data2;
}
var USE_TEXT_DECODER = typeof TextDecoder !== "undefined";
var USE_BUFFER$1 = typeof Buffer !== "undefined";
var payload = alloc(0);
var dataView$1 = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);
var textDecoder2 = USE_TEXT_DECODER ? new TextDecoder : null;
var _offset = 0;
function setPayload(bytes) {
payload = bytes;
dataView$1 = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);
}
function decode3(at, to) {
if (at >= to) {
throw new Error("unexpected end of (decode) payload.");
}
const major = (payload[at] & 224) >> 5;
const minor = payload[at] & 31;
switch (major) {
case majorUint64:
case majorNegativeInt64:
case majorTag:
let unsignedInt;
let offset;
if (minor < 24) {
unsignedInt = minor;
offset = 1;
} else {
switch (minor) {
case extendedOneByte:
case extendedFloat16:
case extendedFloat32:
case extendedFloat64:
const countLength = minorValueToArgumentLength[minor];
const countOffset = countLength + 1;
offset = countOffset;
if (to - at < countOffset) {
throw new Error(`countLength ${countLength} greater than remaining buf len.`);
}
const countIndex = at + 1;
if (countLength === 1) {
unsignedInt = payload[countIndex];
} else if (countLength === 2) {
unsignedInt = dataView$1.getUint16(countIndex);
} else if (countLength === 4) {
unsignedInt = dataView$1.getUint32(countIndex);
} else {
unsignedInt = dataView$1.getBigUint64(countIndex);
}
break;
default:
throw new Error(`unexpected minor value ${minor}.`);
}
}
if (major === majorUint64) {
_offset = offset;
return castBigInt(unsignedInt);
} else if (major === majorNegativeInt64) {
let negativeInt;
if (typeof unsignedInt === "bigint") {
negativeInt = BigInt(-1) - unsignedInt;
} else {
negativeInt = -1 - unsignedInt;
}
_offset = offset;
return castBigInt(negativeInt);
} else {
if (minor === 2 || minor === 3) {
const length = decodeCount(at + offset, to);
let b2 = BigInt(0);
const start = at + offset + _offset;
for (let i2 = start;i2 < start + length; ++i2) {
b2 = b2 << BigInt(8) | BigInt(payload[i2]);
}
_offset = offset + _offset + length;
return minor === 3 ? -b2 - BigInt(1) : b2;
} else if (minor === 4) {
const decimalFraction = decode3(at + offset, to);
const [exponent, mantissa] = decimalFraction;
const normalizer = mantissa < 0 ? -1 : 1;
const mantissaStr = "0".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));
let numericString;
const sign = mantissa < 0 ? "-" : "";
numericString = exponent === 0 ? mantissaStr : mantissaStr.slice(0, mantissaStr.length + exponent) + "." + mantissaStr.slice(exponent);
numericString = numericString.replace(/^0+/g, "");
if (numericString === "") {
numericString = "0";
}
if (numericString[0] === ".") {
numericString = "0" + numericString;
}
numericString = sign + numericString;
_offset = offset + _offset;
return serde.nv(numericString);
} else {
const value = decode3(at + offset, to);
const valueOffset = _offset;
_offset = offset + valueOffset;
return tag({ tag: castBigInt(unsignedInt), value });
}
}
case majorUtf8String:
case majorMap:
case majorList:
case majorUnstructuredByteString:
if (minor === minorIndefinite) {
switch (major) {
case majorUtf8String:
return decodeUtf8StringIndefinite(at, to);
case majorMap:
return decodeMapIndefinite(at, to);
case majorList:
return decodeListIndefinite(at, to);
case majorUnstructuredByteString:
return decodeUnstructuredByteStringIndefinite(at, to);
}
} else {
switch (major) {
case majorUtf8String:
return decodeUtf8String(at, to);
case majorMap:
return decodeMap(at, to);
case majorList:
return decodeList(at, to);
case majorUnstructuredByteString:
return decodeUnstructuredByteString(at, to);
}
}
default:
return decodeSpecial(at, to);
}
}
function bytesToUtf8(bytes, at, to) {
if (USE_BUFFER$1 && bytes.constructor?.name === "Buffer") {
return bytes.toString("utf-8", at, to);
}
if (textDecoder2) {
return textDecoder2.decode(bytes.subarray(at, to));
}
return utilUtf8.toUtf8(bytes.subarray(at, to));
}
function demote(bigInteger) {
const num = Number(bigInteger);
if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {
console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));
}
return num;
}
var minorValueToArgumentLength = {
[extendedOneByte]: 1,
[extendedFloat16]: 2,
[extendedFloat32]: 4,
[extendedFloat64]: 8
};
function bytesToFloat16(a2, b2) {
const sign = a2 >> 7;
const exponent = (a2 & 124) >> 2;
const fraction = (a2 & 3) << 8 | b2;
const scalar = sign === 0 ? 1 : -1;
let exponentComponent;
let summation;
if (exponent === 0) {
if (fraction === 0) {
return 0;
} else {
exponentComponent = Math.pow(2, 1 - 15);
summation = 0;
}
} else if (exponent === 31) {
if (fraction === 0) {
return scalar * Infinity;
} else {
return NaN;
}
} else {
exponentComponent = Math.pow(2, exponent - 15);
summation = 1;
}
summation += fraction / 1024;
return scalar * (exponentComponent * summation);
}
function decodeCount(at, to) {
const minor = payload[at] & 31;
if (minor < 24) {
_offset = 1;
return minor;
}
if (minor === extendedOneByte || minor === extendedFloat16 || minor === extendedFloat32 || minor === extendedFloat64) {
const countLength = minorValueToArgumentLength[minor];
_offset = countLength + 1;
if (to - at < _offset) {
throw new Error(`countLength ${countLength} greater than remaining buf len.`);
}
const countIndex = at + 1;
if (countLength === 1) {
return payload[countIndex];
} else if (countLength === 2) {
return dataView$1.getUint16(countIndex);
} else if (countLength === 4) {
return dataView$1.getUint32(countIndex);
}
return demote(dataView$1.getBigUint64(countIndex));
}
throw new Error(`unexpected minor value ${minor}.`);
}
function decodeUtf8String(at, to) {
const length = decodeCount(at, to);
const offset = _offset;
at += offset;
if (to - at < length) {
throw new Error(`string len ${length} greater than remaining buf len.`);
}
const value = bytesToUtf8(payload, at, at + length);
_offset = offset + length;
return value;
}
function decodeUtf8StringIndefinite(at, to) {
at += 1;
const vector = [];
for (const base2 = at;at < to; ) {
if (payload[at] === 255) {
const data2 = alloc(vector.length);
data2.set(vector, 0);
_offset = at - base2 + 2;
return bytesToUtf8(data2, 0, data2.length);
}
const major = (payload[at] & 224) >> 5;
const minor = payload[at] & 31;
if (major !== majorUtf8String) {
throw new Error(`unexpected major type ${major} in indefinite string.`);
}
if (minor === minorIndefinite) {
throw new Error("nested indefinite string.");
}
const bytes = decodeUnstructuredByteString(at, to);
const length = _offset;
at += length;
for (let i2 = 0;i2 < bytes.length; ++i2) {
vector.push(bytes[i2]);
}
}
throw new Error("expected break marker.");
}
function decodeUnstructuredByteString(at, to) {
const length = decodeCount(at, to);
const offset = _offset;
at += offset;
if (to - at < length) {
throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);
}
const value = payload.subarray(at, at + length);
_offset = offset + length;
return value;
}
function decodeUnstructuredByteStringIndefinite(at, to) {
at += 1;
const vector = [];
for (const base2 = at;at < to; ) {
if (payload[at] === 255) {
const data2 = alloc(vector.length);
data2.set(vector, 0);
_offset = at - base2 + 2;
return data2;
}
const major = (payload[at] & 224) >> 5;
const minor = payload[at] & 31;
if (major !== majorUnstructuredByteString) {
throw new Error(`unexpected major type ${major} in indefinite string.`);
}
if (minor === minorIndefinite) {
throw new Error("nested indefinite string.");
}
const bytes = decodeUnstructuredByteString(at, to);
const length = _offset;
at += length;
for (let i2 = 0;i2 < bytes.length; ++i2) {
vector.push(bytes[i2]);
}
}
throw new Error("expected break marker.");
}
function decodeList(at, to) {
const listDataLength = decodeCount(at, to);
const offset = _offset;
at += offset;
const base2 = at;
const list = Array(listDataLength);
for (let i2 = 0;i2 < listDataLength; ++i2) {
const item = decode3(at, to);
const itemOffset = _offset;
list[i2] = item;
at += itemOffset;
}
_offset = offset + (at - base2);
return list;
}
function decodeListIndefinite(at, to) {
at += 1;
const list = [];
for (const base2 = at;at < to; ) {
if (payload[at] === 255) {
_offset = at - base2 + 2;
return list;
}
const item = decode3(at, to);
const n2 = _offset;
at += n2;
list.push(item);
}
throw new Error("expected break marker.");
}
function decodeMap(at, to) {
const mapDataLength = decodeCount(at, to);
const offset = _offset;
at += offset;
const base2 = at;
const map2 = {};
for (let i2 = 0;i2 < mapDataLength; ++i2) {
if (at >= to) {
throw new Error("unexpected end of map payload.");
}
const major = (payload[at] & 224) >> 5;
if (major !== majorUtf8String) {
throw new Error(`unexpected major type ${major} for map key at index ${at}.`);
}
const key = decode3(at, to);
at += _offset;
const value = decode3(at, to);
at += _offset;
map2[key] = value;
}
_offset = offset + (at - base2);
return map2;
}
function decodeMapIndefinite(at, to) {
at += 1;
const base2 = at;
const map2 = {};
for (;at < to; ) {
if (at >= to) {
throw new Error("unexpected end of map payload.");
}
if (payload[at] === 255) {
_offset = at - base2 + 2;
return map2;
}
const major = (payload[at] & 224) >> 5;
if (major !== majorUtf8String) {
throw new Error(`unexpected major type ${major} for map key.`);
}
const key = decode3(at, to);
at += _offset;
const value = decode3(at, to);
at += _offset;
map2[key] = value;
}
throw new Error("expected break marker.");
}
function decodeSpecial(at, to) {
const minor = payload[at] & 31;
switch (minor) {
case specialTrue:
case specialFalse:
_offset = 1;
return minor === specialTrue;
case specialNull:
_offset = 1;
return null;
case specialUndefined:
_offset = 1;
return null;
case extendedFloat16:
if (to - at < 3) {
throw new Error("incomplete float16 at end of buf.");
}
_offset = 3;
return bytesToFloat16(payload[at + 1], payload[at + 2]);
case extendedFloat32:
if (to - at < 5) {
throw new Error("incomplete float32 at end of buf.");
}
_offset = 5;
return dataView$1.getFloat32(at + 1);
case extendedFloat64:
if (to - at < 9) {
throw new Error("incomplete float64 at end of buf.");
}
_offset = 9;
return dataView$1.getFloat64(at + 1);
default:
throw new Error(`unexpected minor value ${minor}.`);
}
}
function castBigInt(bigInt) {
if (typeof bigInt === "number") {
return bigInt;
}
const num = Number(bigInt);
if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {
return num;
}
return bigInt;
}
var USE_BUFFER = typeof Buffer !== "undefined";
var initialSize = 2048;
var data = alloc(initialSize);
var dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);
var cursor = 0;
function ensureSpace(bytes) {
const remaining = data.byteLength - cursor;
if (remaining < bytes) {
if (cursor < 16000000) {
resize(Math.max(data.byteLength * 4, data.byteLength + bytes));
} else {
resize(data.byteLength + bytes + 16000000);
}
}
}
function toUint8Array() {
const out = alloc(cursor);
out.set(data.subarray(0, cursor), 0);
cursor = 0;
return out;
}
function resize(size) {
const old = data;
data = alloc(size);
if (old) {
if (old.copy) {
old.copy(data, 0, 0, old.byteLength);
} else {
data.set(old, 0);
}
}
dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);
}
function encodeHeader(major, value) {
if (value < 24) {
data[cursor++] = major << 5 | value;
} else if (value < 1 << 8) {
data[cursor++] = major << 5 | 24;
data[cursor++] = value;
} else if (value < 1 << 16) {
data[cursor++] = major << 5 | extendedFloat16;
dataView.setUint16(cursor, value);
cursor += 2;
} else if (value < 2 ** 32) {
data[cursor++] = major << 5 | extendedFloat32;
dataView.setUint32(cursor, value);
cursor += 4;
} else {
data[cursor++] = major << 5 | extendedFloat64;
dataView.setBigUint64(cursor, typeof value === "bigint" ? value : BigInt(value));
cursor += 8;
}
}
function encode5(_input) {
const encodeStack = [_input];
while (encodeStack.length) {
const input = encodeStack.pop();
ensureSpace(typeof input === "string" ? input.length * 4 : 64);
if (typeof input === "string") {
if (USE_BUFFER) {
encodeHeader(majorUtf8String, Buffer.byteLength(input));
cursor += data.write(input, cursor);
} else {
const bytes = utilUtf8.fromUtf8(input);
encodeHeader(majorUtf8String, bytes.byteLength);
data.set(bytes, cursor);
cursor += bytes.byteLength;
}
continue;
} else if (typeof input === "number") {
if (Number.isInteger(input)) {
const nonNegative = input >= 0;
const major = nonNegative ? majorUint64 : majorNegativeInt64;
const value = nonNegative ? input : -input - 1;
if (value < 24) {
data[cursor++] = major << 5 | value;
} else if (value < 256) {
data[cursor++] = major << 5 | 24;
data[cursor++] = value;
} else if (value < 65536) {
data[cursor++] = major << 5 | extendedFloat16;
data[cursor++] = value >> 8;
data[cursor++] = value;
} else if (value < 4294967296) {
data[cursor++] = major << 5 | extendedFloat32;
dataView.setUint32(cursor, value);
cursor += 4;
} else {
data[cursor++] = major << 5 | extendedFloat64;
dataView.setBigUint64(cursor, BigInt(value));
cursor += 8;
}
continue;
}
data[cursor++] = majorSpecial << 5 | extendedFloat64;
dataView.setFloat64(cursor, input);
cursor += 8;
continue;
} else if (typeof input === "bigint") {
const nonNegative = input >= 0;
const major = nonNegative ? majorUint64 : majorNegativeInt64;
const value = nonNegative ? input : -input - BigInt(1);
const n2 = Number(value);
if (n2 < 24) {
data[cursor++] = major << 5 | n2;
} else if (n2 < 256) {
data[cursor++] = major << 5 | 24;
data[cursor++] = n2;
} else if (n2 < 65536) {
data[cursor++] = major << 5 | extendedFloat16;
data[cursor++] = n2 >> 8;
data[cursor++] = n2 & 255;
} else if (n2 < 4294967296) {
data[cursor++] = major << 5 | extendedFloat32;
dataView.setUint32(cursor, n2);
cursor += 4;
} else if (value < BigInt("18446744073709551616")) {
data[cursor++] = major << 5 | extendedFloat64;
dataView.setBigUint64(cursor, value);
cursor += 8;
} else {
const binaryBigInt = value.toString(2);
const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));
let b2 = value;
let i2 = 0;
while (bigIntBytes.byteLength - ++i2 >= 0) {
bigIntBytes[bigIntBytes.byteLength - i2] = Number(b2 & BigInt(255));
b2 >>= BigInt(8);
}
ensureSpace(bigIntBytes.byteLength * 2);
data[cursor++] = nonNegative ? 194 : 195;
if (USE_BUFFER) {
encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));
} else {
encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);
}
data.set(bigIntBytes, cursor);
cursor += bigIntBytes.byteLength;
}
continue;
} else if (input === null) {
data[cursor++] = majorSpecial << 5 | specialNull;
continue;
} else if (typeof input === "boolean") {
data[cursor++] = majorSpecial << 5 | (input ? specialTrue : specialFalse);
continue;
} else if (typeof input === "undefined") {
throw new Error("@smithy/core/cbor: client may not serialize undefined value.");
} else if (Array.isArray(input)) {
for (let i2 = input.length - 1;i2 >= 0; --i2) {
encodeStack.push(input[i2]);
}
encodeHeader(majorList, input.length);
continue;
} else if (typeof input.byteLength === "number") {
ensureSpace(input.length * 2);
encodeHeader(majorUnstructuredByteString, input.length);
data.set(input, cursor);
cursor += input.byteLength;
continue;
} else if (typeof input === "object") {
if (input instanceof serde.NumericValue) {
const decimalIndex = input.string.indexOf(".");
const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;
const mantissa = BigInt(input.string.replace(".", ""));
data[cursor++] = 196;
encodeStack.push(mantissa);
encodeStack.push(exponent);
encodeHeader(majorList, 2);
continue;
}
if (input[tagSymbol]) {
if ("tag" in input && "value" in input) {
encodeStack.push(input.value);
encodeHeader(majorTag, input.tag);
continue;
} else {
throw new Error("tag encountered with missing fields, need 'tag' and 'value', found: " + JSON.stringify(input));
}
}
const keys2 = Object.keys(input);
for (let i2 = keys2.length - 1;i2 >= 0; --i2) {
const key = keys2[i2];
encodeStack.push(input[key]);
encodeStack.push(key);
}
encodeHeader(majorMap, keys2.length);
continue;
}
throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);
}
}
var cbor = {
deserialize(payload2) {
setPayload(payload2);
return decode3(0, payload2.length);
},
serialize(input) {
try {
encode5(input);
return toUint8Array();
} catch (e) {
toUint8Array();
throw e;
}
},
resizeEncodingBuffer(size) {
resize(size);
}
};
var parseCborBody = (streamBody, context) => {
return protocols.collectBody(streamBody, context).then(async (bytes) => {
if (bytes.length) {
try {
return cbor.deserialize(bytes);
} catch (e) {
Object.defineProperty(e, "$responseBodyText", {
value: context.utf8Encoder(bytes)
});
throw e;
}
}
return {};
});
};
var dateToTag = (date5) => {
return tag({
tag: 1,
value: date5.getTime() / 1000
});
};
var parseCborErrorBody = async (errorBody, context) => {
const value = await parseCborBody(errorBody, context);
value.message = value.message ?? value.Message;
return value;
};
var loadSmithyRpcV2CborErrorCode = (output, data2) => {
const sanitizeErrorCode = (rawValue) => {
let cleanValue = rawValue;
if (typeof cleanValue === "number") {
cleanValue = cleanValue.toString();
}
if (cleanValue.indexOf(",") >= 0) {
cleanValue = cleanValue.split(",")[0];
}
if (cleanValue.indexOf(":") >= 0) {
cleanValue = cleanValue.split(":")[0];
}
if (cleanValue.indexOf("#") >= 0) {
cleanValue = cleanValue.split("#")[1];
}
return cleanValue;
};
if (data2["__type"] !== undefined) {
return sanitizeErrorCode(data2["__type"]);
}
const codeKey = Object.keys(data2).find((key) => key.toLowerCase() === "code");
if (codeKey && data2[codeKey] !== undefined) {
return sanitizeErrorCode(data2[codeKey]);
}
};
var checkCborResponse = (response) => {
if (String(response.headers["smithy-protocol"]).toLowerCase() !== "rpc-v2-cbor") {
throw new Error("Malformed RPCv2 CBOR response, status: " + response.statusCode);
}
};
var buildHttpRpcRequest = async (context, headers, path9, resolvedHostname, body) => {
const endpoint = await context.endpoint();
const { hostname: hostname3, protocol = "https", port, path: basePath } = endpoint;
const contents = {
protocol,
hostname: hostname3,
port,
method: "POST",
path: basePath.endsWith("/") ? basePath.slice(0, -1) + path9 : basePath + path9,
headers: {
...headers
}
};
if (resolvedHostname !== undefined) {
contents.hostname = resolvedHostname;
}
if (endpoint.headers) {
for (const [name, value] of Object.entries(endpoint.headers)) {
contents.headers[name] = value;
}
}
if (body !== undefined) {
contents.body = body;
try {
contents.headers["content-length"] = String(utilBodyLengthBrowser.calculateBodyLength(body));
} catch (e) {}
}
return new protocolHttp.HttpRequest(contents);
};
class CborCodec extends protocols.SerdeContext {
createSerializer() {
const serializer = new CborShapeSerializer;
serializer.setSerdeContext(this.serdeContext);
return serializer;
}
createDeserializer() {
const deserializer = new CborShapeDeserializer;
deserializer.setSerdeContext(this.serdeContext);
return deserializer;
}
}
class CborShapeSerializer extends protocols.SerdeContext {
value;
write(schema2, value) {
this.value = this.serialize(schema2, value);
}
serialize(schema$1, source) {
const ns = schema.NormalizedSchema.of(schema$1);
if (source == null) {
if (ns.isIdempotencyToken()) {
return serde.generateIdempotencyToken();
}
return source;
}
if (ns.isBlobSchema()) {
if (typeof source === "string") {
return (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(source);
}
return source;
}
if (ns.isTimestampSchema()) {
if (typeof source === "number" || typeof source === "bigint") {
return dateToTag(new Date(Number(source) / 1000 | 0));
}
return dateToTag(source);
}
if (typeof source === "function" || typeof source === "object") {
const sourceObject = source;
if (ns.isListSchema() && Array.isArray(sourceObject)) {
const sparse = !!ns.getMergedTraits().sparse;
const newArray = [];
let i2 = 0;
for (const item of sourceObject) {
const value = this.serialize(ns.getValueSchema(), item);
if (value != null || sparse) {
newArray[i2++] = value;
}
}
return newArray;
}
if (sourceObject instanceof Date) {
return dateToTag(sourceObject);
}
const newObject = {};
if (ns.isMapSchema()) {
const sparse = !!ns.getMergedTraits().sparse;
for (const key of Object.keys(sourceObject)) {
const value = this.serialize(ns.getValueSchema(), sourceObject[key]);
if (value != null || sparse) {
newObject[key] = value;
}
}
} else if (ns.isStructSchema()) {
for (const [key, memberSchema] of ns.structIterator()) {
const value = this.serialize(memberSchema, sourceObject[key]);
if (value != null) {
newObject[key] = value;
}
}
const isUnion = ns.isUnionSchema();
if (isUnion && Array.isArray(sourceObject.$unknown)) {
const [k2, v2] = sourceObject.$unknown;
newObject[k2] = v2;
} else if (typeof sourceObject.__type === "string") {
for (const [k2, v2] of Object.entries(sourceObject)) {
if (!(k2 in newObject)) {
newObject[k2] = this.serialize(15, v2);
}
}
}
} else if (ns.isDocumentSchema()) {
for (const key of Object.keys(sourceObject)) {
newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);
}
} else if (ns.isBigDecimalSchema()) {
return sourceObject;
}
return newObject;
}
return source;
}
flush() {
const buffer = cbor.serialize(this.value);
this.value = undefined;
return buffer;
}
}
class CborShapeDeserializer extends protocols.SerdeContext {
read(schema2, bytes) {
const data2 = cbor.deserialize(bytes);
return this.readValue(schema2, data2);
}
readValue(_schema, value) {
const ns = schema.NormalizedSchema.of(_schema);
if (ns.isTimestampSchema()) {
if (typeof value === "number") {
return serde._parseEpochTimestamp(value);
}
if (typeof value === "object") {
if (value.tag === 1 && "value" in value) {
return serde._parseEpochTimestamp(value.value);
}
}
}
if (ns.isBlobSchema()) {
if (typeof value === "string") {
return (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(value);
}
return value;
}
if (typeof value === "undefined" || typeof value === "boolean" || typeof value === "number" || typeof value === "string" || typeof value === "bigint" || typeof value === "symbol") {
return value;
} else if (typeof value === "object") {
if (value === null) {
return null;
}
if ("byteLength" in value) {
return value;
}
if (value instanceof Date) {
return value;
}
if (ns.isDocumentSchema()) {
return value;
}
if (ns.isListSchema()) {
const newArray = [];
const memberSchema = ns.getValueSchema();
for (const item of value) {
const itemValue = this.readValue(memberSchema, item);
newArray.push(itemValue);
}
return newArray;
}
const newObject = {};
if (ns.isMapSchema()) {
const targetSchema = ns.getValueSchema();
for (const key of Object.keys(value)) {
const itemValue = this.readValue(targetSchema, value[key]);
newObject[key] = itemValue;
}
} else if (ns.isStructSchema()) {
const isUnion = ns.isUnionSchema();
let keys2;
if (isUnion) {
keys2 = new Set(Object.keys(value).filter((k2) => k2 !== "__type"));
}
for (const [key, memberSchema] of ns.structIterator()) {
if (isUnion) {
keys2.delete(key);
}
if (value[key] != null) {
newObject[key] = this.readValue(memberSchema, value[key]);
}
}
if (isUnion && keys2?.size === 1 && Object.keys(newObject).length === 0) {
const k2 = keys2.values().next().value;
newObject.$unknown = [k2, value[k2]];
} else if (typeof value.__type === "string") {
for (const [k2, v2] of Object.entries(value)) {
if (!(k2 in newObject)) {
newObject[k2] = v2;
}
}
}
} else if (value instanceof serde.NumericValue) {
return value;
}
return newObject;
} else {
return value;
}
}
}
class SmithyRpcV2CborProtocol extends protocols.RpcProtocol {
codec = new CborCodec;
serializer = this.codec.createSerializer();
deserializer = this.codec.createDeserializer();
constructor({ defaultNamespace, errorTypeRegistries }) {
super({ defaultNamespace, errorTypeRegistries });
}
getShapeId() {
return "smithy.protocols#rpcv2Cbor";
}
getPayloadCodec() {
return this.codec;
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
Object.assign(request.headers, {
"content-type": this.getDefaultContentType(),
"smithy-protocol": "rpc-v2-cbor",
accept: this.getDefaultContentType()
});
if (schema.deref(operationSchema.input) === "unit") {
delete request.body;
delete request.headers["content-type"];
} else {
if (!request.body) {
this.serializer.write(15, {});
request.body = this.serializer.flush();
}
try {
request.headers["content-length"] = String(request.body.byteLength);
} catch (e) {}
}
const { service, operation } = utilMiddleware.getSmithyContext(context);
const path9 = `/service/${service}/operation/${operation}`;
if (request.path.endsWith("/")) {
request.path += path9.slice(1);
} else {
request.path += path9;
}
return request;
}
async deserializeResponse(operationSchema, context, response) {
return super.deserializeResponse(operationSchema, context, response);
}
async handleError(operationSchema, context, response, dataObject, metadata) {
const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? "Unknown";
const errorMetadata = {
$metadata: metadata,
$fault: response.statusCode <= 500 ? "client" : "server"
};
let namespace = this.options.defaultNamespace;
if (errorName.includes("#")) {
[namespace] = errorName.split("#");
}
const registry2 = this.compositeErrorRegistry;
const nsRegistry = schema.TypeRegistry.for(namespace);
registry2.copyFrom(nsRegistry);
let errorSchema;
try {
errorSchema = registry2.getSchema(errorName);
} catch (e) {
if (dataObject.Message) {
dataObject.message = dataObject.Message;
}
const syntheticRegistry = schema.TypeRegistry.for("smithy.ts.sdk.synthetic." + namespace);
registry2.copyFrom(syntheticRegistry);
const baseExceptionSchema = registry2.getBaseException();
if (baseExceptionSchema) {
const ErrorCtor2 = registry2.getErrorCtor(baseExceptionSchema);
throw Object.assign(new ErrorCtor2({ name: errorName }), errorMetadata, dataObject);
}
throw Object.assign(new Error(errorName), errorMetadata, dataObject);
}
const ns = schema.NormalizedSchema.of(errorSchema);
const ErrorCtor = registry2.getErrorCtor(errorSchema);
const message = dataObject.message ?? dataObject.Message ?? "Unknown";
const exception = new ErrorCtor(message);
const output = {};
for (const [name, member] of ns.structIterator()) {
output[name] = this.deserializer.readValue(member, dataObject[name]);
}
throw Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output);
}
getDefaultContentType() {
return "application/cbor";
}
}
exports.CborCodec = CborCodec;
exports.CborShapeDeserializer = CborShapeDeserializer;
exports.CborShapeSerializer = CborShapeSerializer;
exports.SmithyRpcV2CborProtocol = SmithyRpcV2CborProtocol;
exports.buildHttpRpcRequest = buildHttpRpcRequest;
exports.cbor = cbor;
exports.checkCborResponse = checkCborResponse;
exports.dateToTag = dateToTag;
exports.loadSmithyRpcV2CborErrorCode = loadSmithyRpcV2CborErrorCode;
exports.parseCborBody = parseCborBody;
exports.parseCborErrorBody = parseCborErrorBody;
exports.tag = tag;
exports.tagSymbol = tagSymbol;
});
// node_modules/.pnpm/fast-xml-parser@5.5.8/node_modules/fast-xml-parser/lib/fxp.cjs
var require_fxp = __commonJS((exports, module) => {
(() => {
var t = { d: (e2, i3) => {
for (var n3 in i3)
t.o(i3, n3) && !t.o(e2, n3) && Object.defineProperty(e2, n3, { enumerable: true, get: i3[n3] });
}, o: (t2, e2) => Object.prototype.hasOwnProperty.call(t2, e2), r: (t2) => {
typeof Symbol != "undefined" && Symbol.toStringTag && Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t2, "__esModule", { value: true });
} }, e = {};
t.r(e), t.d(e, { XMLBuilder: () => $t, XMLParser: () => gt, XMLValidator: () => It });
const i2 = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", n2 = new RegExp("^[" + i2 + "][" + i2 + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
function s(t2, e2) {
const i3 = [];
let n3 = e2.exec(t2);
for (;n3; ) {
const s2 = [];
s2.startIndex = e2.lastIndex - n3[0].length;
const r2 = n3.length;
for (let t3 = 0;t3 < r2; t3++)
s2.push(n3[t3]);
i3.push(s2), n3 = e2.exec(t2);
}
return i3;
}
const r = function(t2) {
return !(n2.exec(t2) == null);
}, o2 = ["hasOwnProperty", "toString", "valueOf", "__defineGetter__", "__defineSetter__", "__lookupGetter__", "__lookupSetter__"], a2 = ["__proto__", "constructor", "prototype"], h2 = { allowBooleanAttributes: false, unpairedTags: [] };
function l(t2, e2) {
e2 = Object.assign({}, h2, e2);
const i3 = [];
let n3 = false, s2 = false;
t2[0] === "\uFEFF" && (t2 = t2.substr(1));
for (let r2 = 0;r2 < t2.length; r2++)
if (t2[r2] === "<" && t2[r2 + 1] === "?") {
if (r2 += 2, r2 = u4(t2, r2), r2.err)
return r2;
} else {
if (t2[r2] !== "<") {
if (p(t2[r2]))
continue;
return b2("InvalidChar", "char '" + t2[r2] + "' is not expected.", w2(t2, r2));
}
{
let o3 = r2;
if (r2++, t2[r2] === "!") {
r2 = c5(t2, r2);
continue;
}
{
let a3 = false;
t2[r2] === "/" && (a3 = true, r2++);
let h3 = "";
for (;r2 < t2.length && t2[r2] !== ">" && t2[r2] !== " " && t2[r2] !== "\t" && t2[r2] !== `
` && t2[r2] !== "\r"; r2++)
h3 += t2[r2];
if (h3 = h3.trim(), h3[h3.length - 1] === "/" && (h3 = h3.substring(0, h3.length - 1), r2--), !y3(h3)) {
let e3;
return e3 = h3.trim().length === 0 ? "Invalid space after '<'." : "Tag '" + h3 + "' is an invalid name.", b2("InvalidTag", e3, w2(t2, r2));
}
const l2 = g2(t2, r2);
if (l2 === false)
return b2("InvalidAttr", "Attributes for '" + h3 + "' have open quote.", w2(t2, r2));
let d2 = l2.value;
if (r2 = l2.index, d2[d2.length - 1] === "/") {
const i4 = r2 - d2.length;
d2 = d2.substring(0, d2.length - 1);
const s3 = x3(d2, e2);
if (s3 !== true)
return b2(s3.err.code, s3.err.msg, w2(t2, i4 + s3.err.line));
n3 = true;
} else if (a3) {
if (!l2.tagClosed)
return b2("InvalidTag", "Closing tag '" + h3 + "' doesn't have proper closing.", w2(t2, r2));
if (d2.trim().length > 0)
return b2("InvalidTag", "Closing tag '" + h3 + "' can't have attributes or invalid starting.", w2(t2, o3));
if (i3.length === 0)
return b2("InvalidTag", "Closing tag '" + h3 + "' has not been opened.", w2(t2, o3));
{
const e3 = i3.pop();
if (h3 !== e3.tagName) {
let i4 = w2(t2, e3.tagStartPos);
return b2("InvalidTag", "Expected closing tag '" + e3.tagName + "' (opened in line " + i4.line + ", col " + i4.col + ") instead of closing tag '" + h3 + "'.", w2(t2, o3));
}
i3.length == 0 && (s2 = true);
}
} else {
const a4 = x3(d2, e2);
if (a4 !== true)
return b2(a4.err.code, a4.err.msg, w2(t2, r2 - d2.length + a4.err.line));
if (s2 === true)
return b2("InvalidXml", "Multiple possible root nodes found.", w2(t2, r2));
e2.unpairedTags.indexOf(h3) !== -1 || i3.push({ tagName: h3, tagStartPos: o3 }), n3 = true;
}
for (r2++;r2 < t2.length; r2++)
if (t2[r2] === "<") {
if (t2[r2 + 1] === "!") {
r2++, r2 = c5(t2, r2);
continue;
}
if (t2[r2 + 1] !== "?")
break;
if (r2 = u4(t2, ++r2), r2.err)
return r2;
} else if (t2[r2] === "&") {
const e3 = N2(t2, r2);
if (e3 == -1)
return b2("InvalidChar", "char '&' is not expected.", w2(t2, r2));
r2 = e3;
} else if (s2 === true && !p(t2[r2]))
return b2("InvalidXml", "Extra text at the end", w2(t2, r2));
t2[r2] === "<" && r2--;
}
}
}
return n3 ? i3.length == 1 ? b2("InvalidTag", "Unclosed tag '" + i3[0].tagName + "'.", w2(t2, i3[0].tagStartPos)) : !(i3.length > 0) || b2("InvalidXml", "Invalid '" + JSON.stringify(i3.map((t3) => t3.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", { line: 1, col: 1 }) : b2("InvalidXml", "Start tag expected.", 1);
}
function p(t2) {
return t2 === " " || t2 === "\t" || t2 === `
` || t2 === "\r";
}
function u4(t2, e2) {
const i3 = e2;
for (;e2 < t2.length; e2++)
if (t2[e2] == "?" || t2[e2] == " ") {
const n3 = t2.substr(i3, e2 - i3);
if (e2 > 5 && n3 === "xml")
return b2("InvalidXml", "XML declaration allowed only at the start of the document.", w2(t2, e2));
if (t2[e2] == "?" && t2[e2 + 1] == ">") {
e2++;
break;
}
continue;
}
return e2;
}
function c5(t2, e2) {
if (t2.length > e2 + 5 && t2[e2 + 1] === "-" && t2[e2 + 2] === "-") {
for (e2 += 3;e2 < t2.length; e2++)
if (t2[e2] === "-" && t2[e2 + 1] === "-" && t2[e2 + 2] === ">") {
e2 += 2;
break;
}
} else if (t2.length > e2 + 8 && t2[e2 + 1] === "D" && t2[e2 + 2] === "O" && t2[e2 + 3] === "C" && t2[e2 + 4] === "T" && t2[e2 + 5] === "Y" && t2[e2 + 6] === "P" && t2[e2 + 7] === "E") {
let i3 = 1;
for (e2 += 8;e2 < t2.length; e2++)
if (t2[e2] === "<")
i3++;
else if (t2[e2] === ">" && (i3--, i3 === 0))
break;
} else if (t2.length > e2 + 9 && t2[e2 + 1] === "[" && t2[e2 + 2] === "C" && t2[e2 + 3] === "D" && t2[e2 + 4] === "A" && t2[e2 + 5] === "T" && t2[e2 + 6] === "A" && t2[e2 + 7] === "[") {
for (e2 += 8;e2 < t2.length; e2++)
if (t2[e2] === "]" && t2[e2 + 1] === "]" && t2[e2 + 2] === ">") {
e2 += 2;
break;
}
}
return e2;
}
const d = '"', f = "'";
function g2(t2, e2) {
let i3 = "", n3 = "", s2 = false;
for (;e2 < t2.length; e2++) {
if (t2[e2] === d || t2[e2] === f)
n3 === "" ? n3 = t2[e2] : n3 !== t2[e2] || (n3 = "");
else if (t2[e2] === ">" && n3 === "") {
s2 = true;
break;
}
i3 += t2[e2];
}
return n3 === "" && { value: i3, index: e2, tagClosed: s2 };
}
const m2 = new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`, "g");
function x3(t2, e2) {
const i3 = s(t2, m2), n3 = {};
for (let t3 = 0;t3 < i3.length; t3++) {
if (i3[t3][1].length === 0)
return b2("InvalidAttr", "Attribute '" + i3[t3][2] + "' has no space in starting.", v2(i3[t3]));
if (i3[t3][3] !== undefined && i3[t3][4] === undefined)
return b2("InvalidAttr", "Attribute '" + i3[t3][2] + "' is without value.", v2(i3[t3]));
if (i3[t3][3] === undefined && !e2.allowBooleanAttributes)
return b2("InvalidAttr", "boolean attribute '" + i3[t3][2] + "' is not allowed.", v2(i3[t3]));
const s2 = i3[t3][2];
if (!E2(s2))
return b2("InvalidAttr", "Attribute '" + s2 + "' is an invalid name.", v2(i3[t3]));
if (Object.prototype.hasOwnProperty.call(n3, s2))
return b2("InvalidAttr", "Attribute '" + s2 + "' is repeated.", v2(i3[t3]));
n3[s2] = 1;
}
return true;
}
function N2(t2, e2) {
if (t2[++e2] === ";")
return -1;
if (t2[e2] === "#")
return function(t3, e3) {
let i4 = /\d/;
for (t3[e3] === "x" && (e3++, i4 = /[\da-fA-F]/);e3 < t3.length; e3++) {
if (t3[e3] === ";")
return e3;
if (!t3[e3].match(i4))
break;
}
return -1;
}(t2, ++e2);
let i3 = 0;
for (;e2 < t2.length; e2++, i3++)
if (!(t2[e2].match(/\w/) && i3 < 20)) {
if (t2[e2] === ";")
break;
return -1;
}
return e2;
}
function b2(t2, e2, i3) {
return { err: { code: t2, msg: e2, line: i3.line || i3, col: i3.col } };
}
function E2(t2) {
return r(t2);
}
function y3(t2) {
return r(t2);
}
function w2(t2, e2) {
const i3 = t2.substring(0, e2).split(/\r?\n/);
return { line: i3.length, col: i3[i3.length - 1].length + 1 };
}
function v2(t2) {
return t2.startIndex + t2[1].length;
}
const T2 = (t2) => o2.includes(t2) ? "__" + t2 : t2, P2 = { preserveOrder: false, attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, removeNSPrefix: false, allowBooleanAttributes: false, parseTagValue: true, parseAttributeValue: false, trimValues: true, cdataPropName: false, numberParseOptions: { hex: true, leadingZeros: true, eNotation: true }, tagValueProcessor: function(t2, e2) {
return e2;
}, attributeValueProcessor: function(t2, e2) {
return e2;
}, stopNodes: [], alwaysCreateTextNode: false, isArray: () => false, commentPropName: false, unpairedTags: [], processEntities: true, htmlEntities: false, ignoreDeclaration: false, ignorePiTags: false, transformTagName: false, transformAttributeName: false, updateTag: function(t2, e2, i3) {
return t2;
}, captureMetaData: false, maxNestedTags: 100, strictReservedNames: true, jPath: true, onDangerousProperty: T2 };
function S(t2, e2) {
if (typeof t2 != "string")
return;
const i3 = t2.toLowerCase();
if (o2.some((t3) => i3 === t3.toLowerCase()))
throw new Error(`[SECURITY] Invalid ${e2}: "${t2}" is a reserved JavaScript keyword that could cause prototype pollution`);
if (a2.some((t3) => i3 === t3.toLowerCase()))
throw new Error(`[SECURITY] Invalid ${e2}: "${t2}" is a reserved JavaScript keyword that could cause prototype pollution`);
}
function A(t2) {
return typeof t2 == "boolean" ? { enabled: t2, maxEntitySize: 1e4, maxExpansionDepth: 10, maxTotalExpansions: 1000, maxExpandedLength: 1e5, maxEntityCount: 100, allowedTags: null, tagFilter: null } : typeof t2 == "object" && t2 !== null ? { enabled: t2.enabled !== false, maxEntitySize: Math.max(1, t2.maxEntitySize ?? 1e4), maxExpansionDepth: Math.max(1, t2.maxExpansionDepth ?? 10), maxTotalExpansions: Math.max(1, t2.maxTotalExpansions ?? 1000), maxExpandedLength: Math.max(1, t2.maxExpandedLength ?? 1e5), maxEntityCount: Math.max(1, t2.maxEntityCount ?? 100), allowedTags: t2.allowedTags ?? null, tagFilter: t2.tagFilter ?? null } : A(true);
}
const O2 = function(t2) {
const e2 = Object.assign({}, P2, t2), i3 = [{ value: e2.attributeNamePrefix, name: "attributeNamePrefix" }, { value: e2.attributesGroupName, name: "attributesGroupName" }, { value: e2.textNodeName, name: "textNodeName" }, { value: e2.cdataPropName, name: "cdataPropName" }, { value: e2.commentPropName, name: "commentPropName" }];
for (const { value: t3, name: e3 } of i3)
t3 && S(t3, e3);
return e2.onDangerousProperty === null && (e2.onDangerousProperty = T2), e2.processEntities = A(e2.processEntities), e2.stopNodes && Array.isArray(e2.stopNodes) && (e2.stopNodes = e2.stopNodes.map((t3) => typeof t3 == "string" && t3.startsWith("*.") ? ".." + t3.substring(2) : t3)), e2;
};
let C3;
C3 = typeof Symbol != "function" ? "@@xmlMetadata" : Symbol("XML Node Metadata");
class $3 {
constructor(t2) {
this.tagname = t2, this.child = [], this[":@"] = Object.create(null);
}
add(t2, e2) {
t2 === "__proto__" && (t2 = "#__proto__"), this.child.push({ [t2]: e2 });
}
addChild(t2, e2) {
t2.tagname === "__proto__" && (t2.tagname = "#__proto__"), t2[":@"] && Object.keys(t2[":@"]).length > 0 ? this.child.push({ [t2.tagname]: t2.child, ":@": t2[":@"] }) : this.child.push({ [t2.tagname]: t2.child }), e2 !== undefined && (this.child[this.child.length - 1][C3] = { startIndex: e2 });
}
static getMetaDataSymbol() {
return C3;
}
}
class I3 {
constructor(t2) {
this.suppressValidationErr = !t2, this.options = t2;
}
readDocType(t2, e2) {
const i3 = Object.create(null);
let n3 = 0;
if (t2[e2 + 3] !== "O" || t2[e2 + 4] !== "C" || t2[e2 + 5] !== "T" || t2[e2 + 6] !== "Y" || t2[e2 + 7] !== "P" || t2[e2 + 8] !== "E")
throw new Error("Invalid Tag instead of DOCTYPE");
{
e2 += 9;
let s2 = 1, r2 = false, o3 = false, a3 = "";
for (;e2 < t2.length; e2++)
if (t2[e2] !== "<" || o3)
if (t2[e2] === ">") {
if (o3 ? t2[e2 - 1] === "-" && t2[e2 - 2] === "-" && (o3 = false, s2--) : s2--, s2 === 0)
break;
} else
t2[e2] === "[" ? r2 = true : a3 += t2[e2];
else {
if (r2 && M3(t2, "!ENTITY", e2)) {
let s3, r3;
if (e2 += 7, [s3, r3, e2] = this.readEntityExp(t2, e2 + 1, this.suppressValidationErr), r3.indexOf("&") === -1) {
if (this.options.enabled !== false && this.options.maxEntityCount != null && n3 >= this.options.maxEntityCount)
throw new Error(`Entity count (${n3 + 1}) exceeds maximum allowed (${this.options.maxEntityCount})`);
const t3 = s3.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
i3[s3] = { regx: RegExp(`&${t3};`, "g"), val: r3 }, n3++;
}
} else if (r2 && M3(t2, "!ELEMENT", e2)) {
e2 += 8;
const { index: i4 } = this.readElementExp(t2, e2 + 1);
e2 = i4;
} else if (r2 && M3(t2, "!ATTLIST", e2))
e2 += 8;
else if (r2 && M3(t2, "!NOTATION", e2)) {
e2 += 9;
const { index: i4 } = this.readNotationExp(t2, e2 + 1, this.suppressValidationErr);
e2 = i4;
} else {
if (!M3(t2, "!--", e2))
throw new Error("Invalid DOCTYPE");
o3 = true;
}
s2++, a3 = "";
}
if (s2 !== 0)
throw new Error("Unclosed DOCTYPE");
}
return { entities: i3, i: e2 };
}
readEntityExp(t2, e2) {
const i3 = e2 = j2(t2, e2);
for (;e2 < t2.length && !/\s/.test(t2[e2]) && t2[e2] !== '"' && t2[e2] !== "'"; )
e2++;
let n3 = t2.substring(i3, e2);
if (_2(n3), e2 = j2(t2, e2), !this.suppressValidationErr) {
if (t2.substring(e2, e2 + 6).toUpperCase() === "SYSTEM")
throw new Error("External entities are not supported");
if (t2[e2] === "%")
throw new Error("Parameter entities are not supported");
}
let s2 = "";
if ([e2, s2] = this.readIdentifierVal(t2, e2, "entity"), this.options.enabled !== false && this.options.maxEntitySize != null && s2.length > this.options.maxEntitySize)
throw new Error(`Entity "${n3}" size (${s2.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);
return [n3, s2, --e2];
}
readNotationExp(t2, e2) {
const i3 = e2 = j2(t2, e2);
for (;e2 < t2.length && !/\s/.test(t2[e2]); )
e2++;
let n3 = t2.substring(i3, e2);
!this.suppressValidationErr && _2(n3), e2 = j2(t2, e2);
const s2 = t2.substring(e2, e2 + 6).toUpperCase();
if (!this.suppressValidationErr && s2 !== "SYSTEM" && s2 !== "PUBLIC")
throw new Error(`Expected SYSTEM or PUBLIC, found "${s2}"`);
e2 += s2.length, e2 = j2(t2, e2);
let r2 = null, o3 = null;
if (s2 === "PUBLIC")
[e2, r2] = this.readIdentifierVal(t2, e2, "publicIdentifier"), t2[e2 = j2(t2, e2)] !== '"' && t2[e2] !== "'" || ([e2, o3] = this.readIdentifierVal(t2, e2, "systemIdentifier"));
else if (s2 === "SYSTEM" && ([e2, o3] = this.readIdentifierVal(t2, e2, "systemIdentifier"), !this.suppressValidationErr && !o3))
throw new Error("Missing mandatory system identifier for SYSTEM notation");
return { notationName: n3, publicIdentifier: r2, systemIdentifier: o3, index: --e2 };
}
readIdentifierVal(t2, e2, i3) {
let n3 = "";
const s2 = t2[e2];
if (s2 !== '"' && s2 !== "'")
throw new Error(`Expected quoted string, found "${s2}"`);
const r2 = ++e2;
for (;e2 < t2.length && t2[e2] !== s2; )
e2++;
if (n3 = t2.substring(r2, e2), t2[e2] !== s2)
throw new Error(`Unterminated ${i3} value`);
return [++e2, n3];
}
readElementExp(t2, e2) {
const i3 = e2 = j2(t2, e2);
for (;e2 < t2.length && !/\s/.test(t2[e2]); )
e2++;
let n3 = t2.substring(i3, e2);
if (!this.suppressValidationErr && !r(n3))
throw new Error(`Invalid element name: "${n3}"`);
let s2 = "";
if (t2[e2 = j2(t2, e2)] === "E" && M3(t2, "MPTY", e2))
e2 += 4;
else if (t2[e2] === "A" && M3(t2, "NY", e2))
e2 += 2;
else if (t2[e2] === "(") {
const i4 = ++e2;
for (;e2 < t2.length && t2[e2] !== ")"; )
e2++;
if (s2 = t2.substring(i4, e2), t2[e2] !== ")")
throw new Error("Unterminated content model");
} else if (!this.suppressValidationErr)
throw new Error(`Invalid Element Expression, found "${t2[e2]}"`);
return { elementName: n3, contentModel: s2.trim(), index: e2 };
}
readAttlistExp(t2, e2) {
let i3 = e2 = j2(t2, e2);
for (;e2 < t2.length && !/\s/.test(t2[e2]); )
e2++;
let n3 = t2.substring(i3, e2);
for (_2(n3), i3 = e2 = j2(t2, e2);e2 < t2.length && !/\s/.test(t2[e2]); )
e2++;
let s2 = t2.substring(i3, e2);
if (!_2(s2))
throw new Error(`Invalid attribute name: "${s2}"`);
e2 = j2(t2, e2);
let r2 = "";
if (t2.substring(e2, e2 + 8).toUpperCase() === "NOTATION") {
if (r2 = "NOTATION", t2[e2 = j2(t2, e2 += 8)] !== "(")
throw new Error(`Expected '(', found "${t2[e2]}"`);
e2++;
let i4 = [];
for (;e2 < t2.length && t2[e2] !== ")"; ) {
const n4 = e2;
for (;e2 < t2.length && t2[e2] !== "|" && t2[e2] !== ")"; )
e2++;
let s3 = t2.substring(n4, e2);
if (s3 = s3.trim(), !_2(s3))
throw new Error(`Invalid notation name: "${s3}"`);
i4.push(s3), t2[e2] === "|" && (e2++, e2 = j2(t2, e2));
}
if (t2[e2] !== ")")
throw new Error("Unterminated list of notations");
e2++, r2 += " (" + i4.join("|") + ")";
} else {
const i4 = e2;
for (;e2 < t2.length && !/\s/.test(t2[e2]); )
e2++;
r2 += t2.substring(i4, e2);
const n4 = ["CDATA", "ID", "IDREF", "IDREFS", "ENTITY", "ENTITIES", "NMTOKEN", "NMTOKENS"];
if (!this.suppressValidationErr && !n4.includes(r2.toUpperCase()))
throw new Error(`Invalid attribute type: "${r2}"`);
}
e2 = j2(t2, e2);
let o3 = "";
return t2.substring(e2, e2 + 8).toUpperCase() === "#REQUIRED" ? (o3 = "#REQUIRED", e2 += 8) : t2.substring(e2, e2 + 7).toUpperCase() === "#IMPLIED" ? (o3 = "#IMPLIED", e2 += 7) : [e2, o3] = this.readIdentifierVal(t2, e2, "ATTLIST"), { elementName: n3, attributeName: s2, attributeType: r2, defaultValue: o3, index: e2 };
}
}
const j2 = (t2, e2) => {
for (;e2 < t2.length && /\s/.test(t2[e2]); )
e2++;
return e2;
};
function M3(t2, e2, i3) {
for (let n3 = 0;n3 < e2.length; n3++)
if (e2[n3] !== t2[i3 + n3 + 1])
return false;
return true;
}
function _2(t2) {
if (r(t2))
return t2;
throw new Error(`Invalid entity name ${t2}`);
}
const D3 = /^[-+]?0x[a-fA-F0-9]+$/, V2 = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, k2 = { hex: true, leadingZeros: true, decimalPoint: ".", eNotation: true, infinity: "original" };
const F2 = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/, L3 = new Set(["push", "pop", "reset", "updateCurrent", "restore"]);
class G4 {
constructor(t2 = {}) {
this.separator = t2.separator || ".", this.path = [], this.siblingStacks = [];
}
push(t2, e2 = null, i3 = null) {
this.path.length > 0 && (this.path[this.path.length - 1].values = undefined);
const n3 = this.path.length;
this.siblingStacks[n3] || (this.siblingStacks[n3] = new Map);
const s2 = this.siblingStacks[n3], r2 = i3 ? `${i3}:${t2}` : t2, o3 = s2.get(r2) || 0;
let a3 = 0;
for (const t3 of s2.values())
a3 += t3;
s2.set(r2, o3 + 1);
const h3 = { tag: t2, position: a3, counter: o3 };
i3 != null && (h3.namespace = i3), e2 != null && (h3.values = e2), this.path.push(h3);
}
pop() {
if (this.path.length === 0)
return;
const t2 = this.path.pop();
return this.siblingStacks.length > this.path.length + 1 && (this.siblingStacks.length = this.path.length + 1), t2;
}
updateCurrent(t2) {
if (this.path.length > 0) {
const e2 = this.path[this.path.length - 1];
t2 != null && (e2.values = t2);
}
}
getCurrentTag() {
return this.path.length > 0 ? this.path[this.path.length - 1].tag : undefined;
}
getCurrentNamespace() {
return this.path.length > 0 ? this.path[this.path.length - 1].namespace : undefined;
}
getAttrValue(t2) {
if (this.path.length === 0)
return;
const e2 = this.path[this.path.length - 1];
return e2.values?.[t2];
}
hasAttr(t2) {
if (this.path.length === 0)
return false;
const e2 = this.path[this.path.length - 1];
return e2.values !== undefined && t2 in e2.values;
}
getPosition() {
return this.path.length === 0 ? -1 : this.path[this.path.length - 1].position ?? 0;
}
getCounter() {
return this.path.length === 0 ? -1 : this.path[this.path.length - 1].counter ?? 0;
}
getIndex() {
return this.getPosition();
}
getDepth() {
return this.path.length;
}
toString(t2, e2 = true) {
const i3 = t2 || this.separator;
return this.path.map((t3) => e2 && t3.namespace ? `${t3.namespace}:${t3.tag}` : t3.tag).join(i3);
}
toArray() {
return this.path.map((t2) => t2.tag);
}
reset() {
this.path = [], this.siblingStacks = [];
}
matches(t2) {
const e2 = t2.segments;
return e2.length !== 0 && (t2.hasDeepWildcard() ? this._matchWithDeepWildcard(e2) : this._matchSimple(e2));
}
_matchSimple(t2) {
if (this.path.length !== t2.length)
return false;
for (let e2 = 0;e2 < t2.length; e2++) {
const i3 = t2[e2], n3 = this.path[e2], s2 = e2 === this.path.length - 1;
if (!this._matchSegment(i3, n3, s2))
return false;
}
return true;
}
_matchWithDeepWildcard(t2) {
let e2 = this.path.length - 1, i3 = t2.length - 1;
for (;i3 >= 0 && e2 >= 0; ) {
const n3 = t2[i3];
if (n3.type === "deep-wildcard") {
if (i3--, i3 < 0)
return true;
const n4 = t2[i3];
let s2 = false;
for (let t3 = e2;t3 >= 0; t3--) {
const r2 = t3 === this.path.length - 1;
if (this._matchSegment(n4, this.path[t3], r2)) {
e2 = t3 - 1, i3--, s2 = true;
break;
}
}
if (!s2)
return false;
} else {
const t3 = e2 === this.path.length - 1;
if (!this._matchSegment(n3, this.path[e2], t3))
return false;
e2--, i3--;
}
}
return i3 < 0;
}
_matchSegment(t2, e2, i3) {
if (t2.tag !== "*" && t2.tag !== e2.tag)
return false;
if (t2.namespace !== undefined && t2.namespace !== "*" && t2.namespace !== e2.namespace)
return false;
if (t2.attrName !== undefined) {
if (!i3)
return false;
if (!e2.values || !(t2.attrName in e2.values))
return false;
if (t2.attrValue !== undefined) {
const i4 = e2.values[t2.attrName];
if (String(i4) !== String(t2.attrValue))
return false;
}
}
if (t2.position !== undefined) {
if (!i3)
return false;
const n3 = e2.counter ?? 0;
if (t2.position === "first" && n3 !== 0)
return false;
if (t2.position === "odd" && n3 % 2 != 1)
return false;
if (t2.position === "even" && n3 % 2 != 0)
return false;
if (t2.position === "nth" && n3 !== t2.positionValue)
return false;
}
return true;
}
snapshot() {
return { path: this.path.map((t2) => ({ ...t2 })), siblingStacks: this.siblingStacks.map((t2) => new Map(t2)) };
}
restore(t2) {
this.path = t2.path.map((t3) => ({ ...t3 })), this.siblingStacks = t2.siblingStacks.map((t3) => new Map(t3));
}
readOnly() {
return new Proxy(this, { get(t2, e2, i3) {
if (L3.has(e2))
return () => {
throw new TypeError(`Cannot call '${e2}' on a read-only Matcher. Obtain a writable instance to mutate state.`);
};
const n3 = Reflect.get(t2, e2, i3);
return e2 === "path" || e2 === "siblingStacks" ? Object.freeze(Array.isArray(n3) ? n3.map((t3) => t3 instanceof Map ? Object.freeze(new Map(t3)) : Object.freeze({ ...t3 })) : n3) : typeof n3 == "function" ? n3.bind(t2) : n3;
}, set(t2, e2) {
throw new TypeError(`Cannot set property '${String(e2)}' on a read-only Matcher.`);
}, deleteProperty(t2, e2) {
throw new TypeError(`Cannot delete property '${String(e2)}' from a read-only Matcher.`);
} });
}
}
class R2 {
constructor(t2, e2 = {}) {
this.pattern = t2, this.separator = e2.separator || ".", this.segments = this._parse(t2), this._hasDeepWildcard = this.segments.some((t3) => t3.type === "deep-wildcard"), this._hasAttributeCondition = this.segments.some((t3) => t3.attrName !== undefined), this._hasPositionSelector = this.segments.some((t3) => t3.position !== undefined);
}
_parse(t2) {
const e2 = [];
let i3 = 0, n3 = "";
for (;i3 < t2.length; )
t2[i3] === this.separator ? i3 + 1 < t2.length && t2[i3 + 1] === this.separator ? (n3.trim() && (e2.push(this._parseSegment(n3.trim())), n3 = ""), e2.push({ type: "deep-wildcard" }), i3 += 2) : (n3.trim() && e2.push(this._parseSegment(n3.trim())), n3 = "", i3++) : (n3 += t2[i3], i3++);
return n3.trim() && e2.push(this._parseSegment(n3.trim())), e2;
}
_parseSegment(t2) {
const e2 = { type: "tag" };
let i3 = null, n3 = t2;
const s2 = t2.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);
if (s2 && (n3 = s2[1] + s2[3], s2[2])) {
const t3 = s2[2].slice(1, -1);
t3 && (i3 = t3);
}
let r2, o3, a3 = n3;
if (n3.includes("::")) {
const e3 = n3.indexOf("::");
if (r2 = n3.substring(0, e3).trim(), a3 = n3.substring(e3 + 2).trim(), !r2)
throw new Error(`Invalid namespace in pattern: ${t2}`);
}
let h3 = null;
if (a3.includes(":")) {
const t3 = a3.lastIndexOf(":"), e3 = a3.substring(0, t3).trim(), i4 = a3.substring(t3 + 1).trim();
["first", "last", "odd", "even"].includes(i4) || /^nth\(\d+\)$/.test(i4) ? (o3 = e3, h3 = i4) : o3 = a3;
} else
o3 = a3;
if (!o3)
throw new Error(`Invalid segment pattern: ${t2}`);
if (e2.tag = o3, r2 && (e2.namespace = r2), i3)
if (i3.includes("=")) {
const t3 = i3.indexOf("=");
e2.attrName = i3.substring(0, t3).trim(), e2.attrValue = i3.substring(t3 + 1).trim();
} else
e2.attrName = i3.trim();
if (h3) {
const t3 = h3.match(/^nth\((\d+)\)$/);
t3 ? (e2.position = "nth", e2.positionValue = parseInt(t3[1], 10)) : e2.position = h3;
}
return e2;
}
get length() {
return this.segments.length;
}
hasDeepWildcard() {
return this._hasDeepWildcard;
}
hasAttributeCondition() {
return this._hasAttributeCondition;
}
hasPositionSelector() {
return this._hasPositionSelector;
}
toString() {
return this.pattern;
}
}
function U3(t2, e2) {
if (!t2)
return {};
const i3 = e2.attributesGroupName ? t2[e2.attributesGroupName] : t2;
if (!i3)
return {};
const n3 = {};
for (const t3 in i3)
t3.startsWith(e2.attributeNamePrefix) ? n3[t3.substring(e2.attributeNamePrefix.length)] = i3[t3] : n3[t3] = i3[t3];
return n3;
}
function B2(t2) {
if (!t2 || typeof t2 != "string")
return;
const e2 = t2.indexOf(":");
if (e2 !== -1 && e2 > 0) {
const i3 = t2.substring(0, e2);
if (i3 !== "xmlns")
return i3;
}
}
class W3 {
constructor(t2) {
var e2;
if (this.options = t2, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = { apos: { regex: /&(apos|#39|#x27);/g, val: "'" }, gt: { regex: /&(gt|#62|#x3E);/g, val: ">" }, lt: { regex: /&(lt|#60|#x3C);/g, val: "<" }, quot: { regex: /&(quot|#34|#x22);/g, val: '"' } }, this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" }, this.htmlEntities = { space: { regex: /&(nbsp|#160);/g, val: " " }, cent: { regex: /&(cent|#162);/g, val: "¢" }, pound: { regex: /&(pound|#163);/g, val: "£" }, yen: { regex: /&(yen|#165);/g, val: "¥" }, euro: { regex: /&(euro|#8364);/g, val: "€" }, copyright: { regex: /&(copy|#169);/g, val: "©" }, reg: { regex: /&(reg|#174);/g, val: "®" }, inr: { regex: /&(inr|#8377);/g, val: "₹" }, num_dec: { regex: /([0-9]{1,7});/g, val: (t3, e3) => rt(e3, 10, "") }, num_hex: { regex: /([0-9a-fA-F]{1,6});/g, val: (t3, e3) => rt(e3, 16, "") } }, this.addExternalEntities = Y, this.parseXml = J2, this.parseTextData = z4, this.resolveNameSpace = X2, this.buildAttributesMap = Z, this.isItStopNode = tt2, this.replaceEntitiesValue = Q2, this.readStopNodeData = nt2, this.saveTextToParentTag = H3, this.addChild = K2, this.ignoreAttributesFn = typeof (e2 = this.options.ignoreAttributes) == "function" ? e2 : Array.isArray(e2) ? (t3) => {
for (const i3 of e2) {
if (typeof i3 == "string" && t3 === i3)
return true;
if (i3 instanceof RegExp && i3.test(t3))
return true;
}
} : () => false, this.entityExpansionCount = 0, this.currentExpandedLength = 0, this.matcher = new G4, this.readonlyMatcher = this.matcher.readOnly(), this.isCurrentNodeStopNode = false, this.options.stopNodes && this.options.stopNodes.length > 0) {
this.stopNodeExpressions = [];
for (let t3 = 0;t3 < this.options.stopNodes.length; t3++) {
const e3 = this.options.stopNodes[t3];
typeof e3 == "string" ? this.stopNodeExpressions.push(new R2(e3)) : e3 instanceof R2 && this.stopNodeExpressions.push(e3);
}
}
}
}
function Y(t2) {
const e2 = Object.keys(t2);
for (let i3 = 0;i3 < e2.length; i3++) {
const n3 = e2[i3], s2 = n3.replace(/[.\-+*:]/g, "\\.");
this.lastEntities[n3] = { regex: new RegExp("&" + s2 + ";", "g"), val: t2[n3] };
}
}
function z4(t2, e2, i3, n3, s2, r2, o3) {
if (t2 !== undefined && (this.options.trimValues && !n3 && (t2 = t2.trim()), t2.length > 0)) {
o3 || (t2 = this.replaceEntitiesValue(t2, e2, i3));
const n4 = this.options.jPath ? i3.toString() : i3, a3 = this.options.tagValueProcessor(e2, t2, n4, s2, r2);
return a3 == null ? t2 : typeof a3 != typeof t2 || a3 !== t2 ? a3 : this.options.trimValues || t2.trim() === t2 ? st(t2, this.options.parseTagValue, this.options.numberParseOptions) : t2;
}
}
function X2(t2) {
if (this.options.removeNSPrefix) {
const e2 = t2.split(":"), i3 = t2.charAt(0) === "/" ? "/" : "";
if (e2[0] === "xmlns")
return "";
e2.length === 2 && (t2 = i3 + e2[1]);
}
return t2;
}
const q2 = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
function Z(t2, e2, i3) {
if (this.options.ignoreAttributes !== true && typeof t2 == "string") {
const n3 = s(t2, q2), r2 = n3.length, o3 = {}, a3 = {};
for (let t3 = 0;t3 < r2; t3++) {
const e3 = this.resolveNameSpace(n3[t3][1]), s2 = n3[t3][4];
if (e3.length && s2 !== undefined) {
let t4 = s2;
this.options.trimValues && (t4 = t4.trim()), t4 = this.replaceEntitiesValue(t4, i3, this.readonlyMatcher), a3[e3] = t4;
}
}
Object.keys(a3).length > 0 && typeof e2 == "object" && e2.updateCurrent && e2.updateCurrent(a3);
for (let t3 = 0;t3 < r2; t3++) {
const s2 = this.resolveNameSpace(n3[t3][1]), r3 = this.options.jPath ? e2.toString() : this.readonlyMatcher;
if (this.ignoreAttributesFn(s2, r3))
continue;
let a4 = n3[t3][4], h3 = this.options.attributeNamePrefix + s2;
if (s2.length)
if (this.options.transformAttributeName && (h3 = this.options.transformAttributeName(h3)), h3 = at(h3, this.options), a4 !== undefined) {
this.options.trimValues && (a4 = a4.trim()), a4 = this.replaceEntitiesValue(a4, i3, this.readonlyMatcher);
const t4 = this.options.jPath ? e2.toString() : this.readonlyMatcher, n4 = this.options.attributeValueProcessor(s2, a4, t4);
o3[h3] = n4 == null ? a4 : typeof n4 != typeof a4 || n4 !== a4 ? n4 : st(a4, this.options.parseAttributeValue, this.options.numberParseOptions);
} else
this.options.allowBooleanAttributes && (o3[h3] = true);
}
if (!Object.keys(o3).length)
return;
if (this.options.attributesGroupName) {
const t3 = {};
return t3[this.options.attributesGroupName] = o3, t3;
}
return o3;
}
}
const J2 = function(t2) {
t2 = t2.replace(/\r\n?/g, `
`);
const e2 = new $3("!xml");
let i3 = e2, n3 = "";
this.matcher.reset(), this.entityExpansionCount = 0, this.currentExpandedLength = 0;
const s2 = new I3(this.options.processEntities);
for (let r2 = 0;r2 < t2.length; r2++)
if (t2[r2] === "<")
if (t2[r2 + 1] === "/") {
const e3 = et2(t2, ">", r2, "Closing Tag is not closed.");
let s3 = t2.substring(r2 + 2, e3).trim();
if (this.options.removeNSPrefix) {
const t3 = s3.indexOf(":");
t3 !== -1 && (s3 = s3.substr(t3 + 1));
}
s3 = ot(this.options.transformTagName, s3, "", this.options).tagName, i3 && (n3 = this.saveTextToParentTag(n3, i3, this.readonlyMatcher));
const o3 = this.matcher.getCurrentTag();
if (s3 && this.options.unpairedTags.indexOf(s3) !== -1)
throw new Error(`Unpaired tag can not be used as closing tag: ${s3}>`);
o3 && this.options.unpairedTags.indexOf(o3) !== -1 && (this.matcher.pop(), this.tagsNodeStack.pop()), this.matcher.pop(), this.isCurrentNodeStopNode = false, i3 = this.tagsNodeStack.pop(), n3 = "", r2 = e3;
} else if (t2[r2 + 1] === "?") {
let e3 = it(t2, r2, false, "?>");
if (!e3)
throw new Error("Pi Tag is not closed.");
if (n3 = this.saveTextToParentTag(n3, i3, this.readonlyMatcher), this.options.ignoreDeclaration && e3.tagName === "?xml" || this.options.ignorePiTags)
;
else {
const t3 = new $3(e3.tagName);
t3.add(this.options.textNodeName, ""), e3.tagName !== e3.tagExp && e3.attrExpPresent && (t3[":@"] = this.buildAttributesMap(e3.tagExp, this.matcher, e3.tagName)), this.addChild(i3, t3, this.readonlyMatcher, r2);
}
r2 = e3.closeIndex + 1;
} else if (t2.substr(r2 + 1, 3) === "!--") {
const e3 = et2(t2, "-->", r2 + 4, "Comment is not closed.");
if (this.options.commentPropName) {
const s3 = t2.substring(r2 + 4, e3 - 2);
n3 = this.saveTextToParentTag(n3, i3, this.readonlyMatcher), i3.add(this.options.commentPropName, [{ [this.options.textNodeName]: s3 }]);
}
r2 = e3;
} else if (t2.substr(r2 + 1, 2) === "!D") {
const e3 = s2.readDocType(t2, r2);
this.docTypeEntities = e3.entities, r2 = e3.i;
} else if (t2.substr(r2 + 1, 2) === "![") {
const e3 = et2(t2, "]]>", r2, "CDATA is not closed.") - 2, s3 = t2.substring(r2 + 9, e3);
n3 = this.saveTextToParentTag(n3, i3, this.readonlyMatcher);
let o3 = this.parseTextData(s3, i3.tagname, this.readonlyMatcher, true, false, true, true);
o3 == null && (o3 = ""), this.options.cdataPropName ? i3.add(this.options.cdataPropName, [{ [this.options.textNodeName]: s3 }]) : i3.add(this.options.textNodeName, o3), r2 = e3 + 2;
} else {
let s3 = it(t2, r2, this.options.removeNSPrefix);
if (!s3) {
const e3 = t2.substring(Math.max(0, r2 - 50), Math.min(t2.length, r2 + 50));
throw new Error(`readTagExp returned undefined at position ${r2}. Context: "${e3}"`);
}
let o3 = s3.tagName;
const a3 = s3.rawTagName;
let { tagExp: h3, attrExpPresent: l2, closeIndex: p2 } = s3;
if ({ tagName: o3, tagExp: h3 } = ot(this.options.transformTagName, o3, h3, this.options), this.options.strictReservedNames && (o3 === this.options.commentPropName || o3 === this.options.cdataPropName || o3 === this.options.textNodeName || o3 === this.options.attributesGroupName))
throw new Error(`Invalid tag name: ${o3}`);
i3 && n3 && i3.tagname !== "!xml" && (n3 = this.saveTextToParentTag(n3, i3, this.readonlyMatcher, false));
const u5 = i3;
u5 && this.options.unpairedTags.indexOf(u5.tagname) !== -1 && (i3 = this.tagsNodeStack.pop(), this.matcher.pop());
let c6 = false;
h3.length > 0 && h3.lastIndexOf("/") === h3.length - 1 && (c6 = true, o3[o3.length - 1] === "/" ? (o3 = o3.substr(0, o3.length - 1), h3 = o3) : h3 = h3.substr(0, h3.length - 1), l2 = o3 !== h3);
let d2, f2 = null, g3 = {};
d2 = B2(a3), o3 !== e2.tagname && this.matcher.push(o3, {}, d2), o3 !== h3 && l2 && (f2 = this.buildAttributesMap(h3, this.matcher, o3), f2 && (g3 = U3(f2, this.options))), o3 !== e2.tagname && (this.isCurrentNodeStopNode = this.isItStopNode(this.stopNodeExpressions, this.matcher));
const m3 = r2;
if (this.isCurrentNodeStopNode) {
let e3 = "";
if (c6)
r2 = s3.closeIndex;
else if (this.options.unpairedTags.indexOf(o3) !== -1)
r2 = s3.closeIndex;
else {
const i4 = this.readStopNodeData(t2, a3, p2 + 1);
if (!i4)
throw new Error(`Unexpected end of ${a3}`);
r2 = i4.i, e3 = i4.tagContent;
}
const n4 = new $3(o3);
f2 && (n4[":@"] = f2), n4.add(this.options.textNodeName, e3), this.matcher.pop(), this.isCurrentNodeStopNode = false, this.addChild(i3, n4, this.readonlyMatcher, m3);
} else {
if (c6) {
({ tagName: o3, tagExp: h3 } = ot(this.options.transformTagName, o3, h3, this.options));
const t3 = new $3(o3);
f2 && (t3[":@"] = f2), this.addChild(i3, t3, this.readonlyMatcher, m3), this.matcher.pop(), this.isCurrentNodeStopNode = false;
} else {
if (this.options.unpairedTags.indexOf(o3) !== -1) {
const t3 = new $3(o3);
f2 && (t3[":@"] = f2), this.addChild(i3, t3, this.readonlyMatcher, m3), this.matcher.pop(), this.isCurrentNodeStopNode = false, r2 = s3.closeIndex;
continue;
}
{
const t3 = new $3(o3);
if (this.tagsNodeStack.length > this.options.maxNestedTags)
throw new Error("Maximum nested tags exceeded");
this.tagsNodeStack.push(i3), f2 && (t3[":@"] = f2), this.addChild(i3, t3, this.readonlyMatcher, m3), i3 = t3;
}
}
n3 = "", r2 = p2;
}
}
else
n3 += t2[r2];
return e2.child;
};
function K2(t2, e2, i3, n3) {
this.options.captureMetaData || (n3 = undefined);
const s2 = this.options.jPath ? i3.toString() : i3, r2 = this.options.updateTag(e2.tagname, s2, e2[":@"]);
r2 === false || (typeof r2 == "string" ? (e2.tagname = r2, t2.addChild(e2, n3)) : t2.addChild(e2, n3));
}
function Q2(t2, e2, i3) {
const n3 = this.options.processEntities;
if (!n3 || !n3.enabled)
return t2;
if (n3.allowedTags) {
const s2 = this.options.jPath ? i3.toString() : i3;
if (!(Array.isArray(n3.allowedTags) ? n3.allowedTags.includes(e2) : n3.allowedTags(e2, s2)))
return t2;
}
if (n3.tagFilter) {
const s2 = this.options.jPath ? i3.toString() : i3;
if (!n3.tagFilter(e2, s2))
return t2;
}
for (const e3 of Object.keys(this.docTypeEntities)) {
const i4 = this.docTypeEntities[e3], s2 = t2.match(i4.regx);
if (s2) {
if (this.entityExpansionCount += s2.length, n3.maxTotalExpansions && this.entityExpansionCount > n3.maxTotalExpansions)
throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n3.maxTotalExpansions}`);
const e4 = t2.length;
if (t2 = t2.replace(i4.regx, i4.val), n3.maxExpandedLength && (this.currentExpandedLength += t2.length - e4, this.currentExpandedLength > n3.maxExpandedLength))
throw new Error(`Total expanded content size exceeded: ${this.currentExpandedLength} > ${n3.maxExpandedLength}`);
}
}
for (const e3 of Object.keys(this.lastEntities)) {
const i4 = this.lastEntities[e3], s2 = t2.match(i4.regex);
if (s2 && (this.entityExpansionCount += s2.length, n3.maxTotalExpansions && this.entityExpansionCount > n3.maxTotalExpansions))
throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n3.maxTotalExpansions}`);
t2 = t2.replace(i4.regex, i4.val);
}
if (t2.indexOf("&") === -1)
return t2;
if (this.options.htmlEntities)
for (const e3 of Object.keys(this.htmlEntities)) {
const i4 = this.htmlEntities[e3], s2 = t2.match(i4.regex);
if (s2 && (this.entityExpansionCount += s2.length, n3.maxTotalExpansions && this.entityExpansionCount > n3.maxTotalExpansions))
throw new Error(`Entity expansion limit exceeded: ${this.entityExpansionCount} > ${n3.maxTotalExpansions}`);
t2 = t2.replace(i4.regex, i4.val);
}
return t2.replace(this.ampEntity.regex, this.ampEntity.val);
}
function H3(t2, e2, i3, n3) {
return t2 && (n3 === undefined && (n3 = e2.child.length === 0), (t2 = this.parseTextData(t2, e2.tagname, i3, false, !!e2[":@"] && Object.keys(e2[":@"]).length !== 0, n3)) !== undefined && t2 !== "" && e2.add(this.options.textNodeName, t2), t2 = ""), t2;
}
function tt2(t2, e2) {
if (!t2 || t2.length === 0)
return false;
for (let i3 = 0;i3 < t2.length; i3++)
if (e2.matches(t2[i3]))
return true;
return false;
}
function et2(t2, e2, i3, n3) {
const s2 = t2.indexOf(e2, i3);
if (s2 === -1)
throw new Error(n3);
return s2 + e2.length - 1;
}
function it(t2, e2, i3, n3 = ">") {
const s2 = function(t3, e3, i4 = ">") {
let n4, s3 = "";
for (let r3 = e3;r3 < t3.length; r3++) {
let e4 = t3[r3];
if (n4)
e4 === n4 && (n4 = "");
else if (e4 === '"' || e4 === "'")
n4 = e4;
else if (e4 === i4[0]) {
if (!i4[1])
return { data: s3, index: r3 };
if (t3[r3 + 1] === i4[1])
return { data: s3, index: r3 };
} else
e4 === "\t" && (e4 = " ");
s3 += e4;
}
}(t2, e2 + 1, n3);
if (!s2)
return;
let r2 = s2.data;
const o3 = s2.index, a3 = r2.search(/\s/);
let h3 = r2, l2 = true;
a3 !== -1 && (h3 = r2.substring(0, a3), r2 = r2.substring(a3 + 1).trimStart());
const p2 = h3;
if (i3) {
const t3 = h3.indexOf(":");
t3 !== -1 && (h3 = h3.substr(t3 + 1), l2 = h3 !== s2.data.substr(t3 + 1));
}
return { tagName: h3, tagExp: r2, closeIndex: o3, attrExpPresent: l2, rawTagName: p2 };
}
function nt2(t2, e2, i3) {
const n3 = i3;
let s2 = 1;
for (;i3 < t2.length; i3++)
if (t2[i3] === "<")
if (t2[i3 + 1] === "/") {
const r2 = et2(t2, ">", i3, `${e2} is not closed`);
if (t2.substring(i3 + 2, r2).trim() === e2 && (s2--, s2 === 0))
return { tagContent: t2.substring(n3, i3), i: r2 };
i3 = r2;
} else if (t2[i3 + 1] === "?")
i3 = et2(t2, "?>", i3 + 1, "StopNode is not closed.");
else if (t2.substr(i3 + 1, 3) === "!--")
i3 = et2(t2, "-->", i3 + 3, "StopNode is not closed.");
else if (t2.substr(i3 + 1, 2) === "![")
i3 = et2(t2, "]]>", i3, "StopNode is not closed.") - 2;
else {
const n4 = it(t2, i3, ">");
n4 && ((n4 && n4.tagName) === e2 && n4.tagExp[n4.tagExp.length - 1] !== "/" && s2++, i3 = n4.closeIndex);
}
}
function st(t2, e2, i3) {
if (e2 && typeof t2 == "string") {
const e3 = t2.trim();
return e3 === "true" || e3 !== "false" && function(t3, e4 = {}) {
if (e4 = Object.assign({}, k2, e4), !t3 || typeof t3 != "string")
return t3;
let i4 = t3.trim();
if (e4.skipLike !== undefined && e4.skipLike.test(i4))
return t3;
if (t3 === "0")
return 0;
if (e4.hex && D3.test(i4))
return function(t4) {
if (parseInt)
return parseInt(t4, 16);
if (Number.parseInt)
return Number.parseInt(t4, 16);
if (window && window.parseInt)
return window.parseInt(t4, 16);
throw new Error("parseInt, Number.parseInt, window.parseInt are not supported");
}(i4);
if (isFinite(i4)) {
if (i4.includes("e") || i4.includes("E"))
return function(t4, e5, i5) {
if (!i5.eNotation)
return t4;
const n4 = e5.match(F2);
if (n4) {
let s2 = n4[1] || "";
const r2 = n4[3].indexOf("e") === -1 ? "E" : "e", o3 = n4[2], a3 = s2 ? t4[o3.length + 1] === r2 : t4[o3.length] === r2;
return o3.length > 1 && a3 ? t4 : (o3.length !== 1 || !n4[3].startsWith(`.${r2}`) && n4[3][0] !== r2) && o3.length > 0 ? i5.leadingZeros && !a3 ? (e5 = (n4[1] || "") + n4[3], Number(e5)) : t4 : Number(e5);
}
return t4;
}(t3, i4, e4);
{
const s2 = V2.exec(i4);
if (s2) {
const r2 = s2[1] || "", o3 = s2[2];
let a3 = (n3 = s2[3]) && n3.indexOf(".") !== -1 ? ((n3 = n3.replace(/0+$/, "")) === "." ? n3 = "0" : n3[0] === "." ? n3 = "0" + n3 : n3[n3.length - 1] === "." && (n3 = n3.substring(0, n3.length - 1)), n3) : n3;
const h3 = r2 ? t3[o3.length + 1] === "." : t3[o3.length] === ".";
if (!e4.leadingZeros && (o3.length > 1 || o3.length === 1 && !h3))
return t3;
{
const n4 = Number(i4), s3 = String(n4);
if (n4 === 0)
return n4;
if (s3.search(/[eE]/) !== -1)
return e4.eNotation ? n4 : t3;
if (i4.indexOf(".") !== -1)
return s3 === "0" || s3 === a3 || s3 === `${r2}${a3}` ? n4 : t3;
let h4 = o3 ? a3 : i4;
return o3 ? h4 === s3 || r2 + h4 === s3 ? n4 : t3 : h4 === s3 || h4 === r2 + s3 ? n4 : t3;
}
}
return t3;
}
}
var n3;
return function(t4, e5, i5) {
const n4 = e5 === 1 / 0;
switch (i5.infinity.toLowerCase()) {
case "null":
return null;
case "infinity":
return e5;
case "string":
return n4 ? "Infinity" : "-Infinity";
default:
return t4;
}
}(t3, Number(i4), e4);
}(t2, i3);
}
return t2 !== undefined ? t2 : "";
}
function rt(t2, e2, i3) {
const n3 = Number.parseInt(t2, e2);
return n3 >= 0 && n3 <= 1114111 ? String.fromCodePoint(n3) : i3 + t2 + ";";
}
function ot(t2, e2, i3, n3) {
if (t2) {
const n4 = t2(e2);
i3 === e2 && (i3 = n4), e2 = n4;
}
return { tagName: e2 = at(e2, n3), tagExp: i3 };
}
function at(t2, e2) {
if (a2.includes(t2))
throw new Error(`[SECURITY] Invalid name: "${t2}" is a reserved JavaScript keyword that could cause prototype pollution`);
return o2.includes(t2) ? e2.onDangerousProperty(t2) : t2;
}
const ht = $3.getMetaDataSymbol();
function lt(t2, e2) {
if (!t2 || typeof t2 != "object")
return {};
if (!e2)
return t2;
const i3 = {};
for (const n3 in t2)
n3.startsWith(e2) ? i3[n3.substring(e2.length)] = t2[n3] : i3[n3] = t2[n3];
return i3;
}
function pt(t2, e2, i3, n3) {
return ut(t2, e2, i3, n3);
}
function ut(t2, e2, i3, n3) {
let s2;
const r2 = {};
for (let o3 = 0;o3 < t2.length; o3++) {
const a3 = t2[o3], h3 = ct(a3);
if (h3 !== undefined && h3 !== e2.textNodeName) {
const t3 = lt(a3[":@"] || {}, e2.attributeNamePrefix);
i3.push(h3, t3);
}
if (h3 === e2.textNodeName)
s2 === undefined ? s2 = a3[h3] : s2 += "" + a3[h3];
else {
if (h3 === undefined)
continue;
if (a3[h3]) {
let t3 = ut(a3[h3], e2, i3, n3);
const s3 = ft(t3, e2);
if (a3[":@"] ? dt(t3, a3[":@"], n3, e2) : Object.keys(t3).length !== 1 || t3[e2.textNodeName] === undefined || e2.alwaysCreateTextNode ? Object.keys(t3).length === 0 && (e2.alwaysCreateTextNode ? t3[e2.textNodeName] = "" : t3 = "") : t3 = t3[e2.textNodeName], a3[ht] !== undefined && typeof t3 == "object" && t3 !== null && (t3[ht] = a3[ht]), r2[h3] !== undefined && Object.prototype.hasOwnProperty.call(r2, h3))
Array.isArray(r2[h3]) || (r2[h3] = [r2[h3]]), r2[h3].push(t3);
else {
const i4 = e2.jPath ? n3.toString() : n3;
e2.isArray(h3, i4, s3) ? r2[h3] = [t3] : r2[h3] = t3;
}
h3 !== undefined && h3 !== e2.textNodeName && i3.pop();
}
}
}
return typeof s2 == "string" ? s2.length > 0 && (r2[e2.textNodeName] = s2) : s2 !== undefined && (r2[e2.textNodeName] = s2), r2;
}
function ct(t2) {
const e2 = Object.keys(t2);
for (let t3 = 0;t3 < e2.length; t3++) {
const i3 = e2[t3];
if (i3 !== ":@")
return i3;
}
}
function dt(t2, e2, i3, n3) {
if (e2) {
const s2 = Object.keys(e2), r2 = s2.length;
for (let o3 = 0;o3 < r2; o3++) {
const r3 = s2[o3], a3 = r3.startsWith(n3.attributeNamePrefix) ? r3.substring(n3.attributeNamePrefix.length) : r3, h3 = n3.jPath ? i3.toString() + "." + a3 : i3;
n3.isArray(r3, h3, true, true) ? t2[r3] = [e2[r3]] : t2[r3] = e2[r3];
}
}
}
function ft(t2, e2) {
const { textNodeName: i3 } = e2, n3 = Object.keys(t2).length;
return n3 === 0 || !(n3 !== 1 || !t2[i3] && typeof t2[i3] != "boolean" && t2[i3] !== 0);
}
class gt {
constructor(t2) {
this.externalEntities = {}, this.options = O2(t2);
}
parse(t2, e2) {
if (typeof t2 != "string" && t2.toString)
t2 = t2.toString();
else if (typeof t2 != "string")
throw new Error("XML data is accepted in String or Bytes[] form.");
if (e2) {
e2 === true && (e2 = {});
const i4 = l(t2, e2);
if (i4 !== true)
throw Error(`${i4.err.msg}:${i4.err.line}:${i4.err.col}`);
}
const i3 = new W3(this.options);
i3.addExternalEntities(this.externalEntities);
const n3 = i3.parseXml(t2);
return this.options.preserveOrder || n3 === undefined ? n3 : pt(n3, this.options, i3.matcher, i3.readonlyMatcher);
}
addEntity(t2, e2) {
if (e2.indexOf("&") !== -1)
throw new Error("Entity value can't have '&'");
if (t2.indexOf("&") !== -1 || t2.indexOf(";") !== -1)
throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");
if (e2 === "&")
throw new Error("An entity with value '&' is not permitted");
this.externalEntities[t2] = e2;
}
static getMetaDataSymbol() {
return $3.getMetaDataSymbol();
}
}
function mt(t2, e2) {
let i3 = "";
e2.format && e2.indentBy.length > 0 && (i3 = `
`);
const n3 = [];
if (e2.stopNodes && Array.isArray(e2.stopNodes))
for (let t3 = 0;t3 < e2.stopNodes.length; t3++) {
const i4 = e2.stopNodes[t3];
typeof i4 == "string" ? n3.push(new R2(i4)) : i4 instanceof R2 && n3.push(i4);
}
return xt(t2, e2, i3, new G4, n3);
}
function xt(t2, e2, i3, n3, s2) {
let r2 = "", o3 = false;
if (e2.maxNestedTags && n3.getDepth() > e2.maxNestedTags)
throw new Error("Maximum nested tags exceeded");
if (!Array.isArray(t2)) {
if (t2 != null) {
let i4 = t2.toString();
return i4 = Tt(i4, e2), i4;
}
return "";
}
for (let a3 = 0;a3 < t2.length; a3++) {
const h3 = t2[a3], l2 = yt(h3);
if (l2 === undefined)
continue;
const p2 = Nt(h3[":@"], e2);
n3.push(l2, p2);
const u5 = vt(n3, s2);
if (l2 === e2.textNodeName) {
let t3 = h3[l2];
u5 || (t3 = e2.tagValueProcessor(l2, t3), t3 = Tt(t3, e2)), o3 && (r2 += i3), r2 += t3, o3 = false, n3.pop();
continue;
}
if (l2 === e2.cdataPropName) {
o3 && (r2 += i3), r2 += ``, o3 = false, n3.pop();
continue;
}
if (l2 === e2.commentPropName) {
r2 += i3 + ``, o3 = true, n3.pop();
continue;
}
if (l2[0] === "?") {
const t3 = wt(h3[":@"], e2, u5), s3 = l2 === "?xml" ? "" : i3;
let a4 = h3[l2][0][e2.textNodeName];
a4 = a4.length !== 0 ? " " + a4 : "", r2 += s3 + `<${l2}${a4}${t3}?>`, o3 = true, n3.pop();
continue;
}
let c6 = i3;
c6 !== "" && (c6 += e2.indentBy);
const d2 = i3 + `<${l2}${wt(h3[":@"], e2, u5)}`;
let f2;
f2 = u5 ? bt(h3[l2], e2) : xt(h3[l2], e2, c6, n3, s2), e2.unpairedTags.indexOf(l2) !== -1 ? e2.suppressUnpairedNode ? r2 += d2 + ">" : r2 += d2 + "/>" : f2 && f2.length !== 0 || !e2.suppressEmptyNode ? f2 && f2.endsWith(">") ? r2 += d2 + `>${f2}${i3}${l2}>` : (r2 += d2 + ">", f2 && i3 !== "" && (f2.includes("/>") || f2.includes("")) ? r2 += i3 + e2.indentBy + f2 + i3 : r2 += f2, r2 += `${l2}>`) : r2 += d2 + "/>", o3 = true, n3.pop();
}
return r2;
}
function Nt(t2, e2) {
if (!t2 || e2.ignoreAttributes)
return null;
const i3 = {};
let n3 = false;
for (let s2 in t2)
Object.prototype.hasOwnProperty.call(t2, s2) && (i3[s2.startsWith(e2.attributeNamePrefix) ? s2.substr(e2.attributeNamePrefix.length) : s2] = t2[s2], n3 = true);
return n3 ? i3 : null;
}
function bt(t2, e2) {
if (!Array.isArray(t2))
return t2 != null ? t2.toString() : "";
let i3 = "";
for (let n3 = 0;n3 < t2.length; n3++) {
const s2 = t2[n3], r2 = yt(s2);
if (r2 === e2.textNodeName)
i3 += s2[r2];
else if (r2 === e2.cdataPropName)
i3 += s2[r2][0][e2.textNodeName];
else if (r2 === e2.commentPropName)
i3 += s2[r2][0][e2.textNodeName];
else {
if (r2 && r2[0] === "?")
continue;
if (r2) {
const t3 = Et(s2[":@"], e2), n4 = bt(s2[r2], e2);
n4 && n4.length !== 0 ? i3 += `<${r2}${t3}>${n4}${r2}>` : i3 += `<${r2}${t3}/>`;
}
}
}
return i3;
}
function Et(t2, e2) {
let i3 = "";
if (t2 && !e2.ignoreAttributes)
for (let n3 in t2) {
if (!Object.prototype.hasOwnProperty.call(t2, n3))
continue;
let s2 = t2[n3];
s2 === true && e2.suppressBooleanAttributes ? i3 += ` ${n3.substr(e2.attributeNamePrefix.length)}` : i3 += ` ${n3.substr(e2.attributeNamePrefix.length)}="${s2}"`;
}
return i3;
}
function yt(t2) {
const e2 = Object.keys(t2);
for (let i3 = 0;i3 < e2.length; i3++) {
const n3 = e2[i3];
if (Object.prototype.hasOwnProperty.call(t2, n3) && n3 !== ":@")
return n3;
}
}
function wt(t2, e2, i3) {
let n3 = "";
if (t2 && !e2.ignoreAttributes)
for (let s2 in t2) {
if (!Object.prototype.hasOwnProperty.call(t2, s2))
continue;
let r2;
i3 ? r2 = t2[s2] : (r2 = e2.attributeValueProcessor(s2, t2[s2]), r2 = Tt(r2, e2)), r2 === true && e2.suppressBooleanAttributes ? n3 += ` ${s2.substr(e2.attributeNamePrefix.length)}` : n3 += ` ${s2.substr(e2.attributeNamePrefix.length)}="${r2}"`;
}
return n3;
}
function vt(t2, e2) {
if (!e2 || e2.length === 0)
return false;
for (let i3 = 0;i3 < e2.length; i3++)
if (t2.matches(e2[i3]))
return true;
return false;
}
function Tt(t2, e2) {
if (t2 && t2.length > 0 && e2.processEntities)
for (let i3 = 0;i3 < e2.entities.length; i3++) {
const n3 = e2.entities[i3];
t2 = t2.replace(n3.regex, n3.val);
}
return t2;
}
const Pt = { attributeNamePrefix: "@_", attributesGroupName: false, textNodeName: "#text", ignoreAttributes: true, cdataPropName: false, format: false, indentBy: " ", suppressEmptyNode: false, suppressUnpairedNode: true, suppressBooleanAttributes: true, tagValueProcessor: function(t2, e2) {
return e2;
}, attributeValueProcessor: function(t2, e2) {
return e2;
}, preserveOrder: false, commentPropName: false, unpairedTags: [], entities: [{ regex: new RegExp("&", "g"), val: "&" }, { regex: new RegExp(">", "g"), val: ">" }, { regex: new RegExp("<", "g"), val: "<" }, { regex: new RegExp("'", "g"), val: "'" }, { regex: new RegExp('"', "g"), val: """ }], processEntities: true, stopNodes: [], oneListGroup: false, maxNestedTags: 100, jPath: true };
function St(t2) {
if (this.options = Object.assign({}, Pt, t2), this.options.stopNodes && Array.isArray(this.options.stopNodes) && (this.options.stopNodes = this.options.stopNodes.map((t3) => typeof t3 == "string" && t3.startsWith("*.") ? ".." + t3.substring(2) : t3)), this.stopNodeExpressions = [], this.options.stopNodes && Array.isArray(this.options.stopNodes))
for (let t3 = 0;t3 < this.options.stopNodes.length; t3++) {
const e3 = this.options.stopNodes[t3];
typeof e3 == "string" ? this.stopNodeExpressions.push(new R2(e3)) : e3 instanceof R2 && this.stopNodeExpressions.push(e3);
}
var e2;
this.options.ignoreAttributes === true || this.options.attributesGroupName ? this.isAttribute = function() {
return false;
} : (this.ignoreAttributesFn = typeof (e2 = this.options.ignoreAttributes) == "function" ? e2 : Array.isArray(e2) ? (t3) => {
for (const i3 of e2) {
if (typeof i3 == "string" && t3 === i3)
return true;
if (i3 instanceof RegExp && i3.test(t3))
return true;
}
} : () => false, this.attrPrefixLen = this.options.attributeNamePrefix.length, this.isAttribute = Ct), this.processTextOrObjNode = At, this.options.format ? (this.indentate = Ot, this.tagEndChar = `>
`, this.newLine = `
`) : (this.indentate = function() {
return "";
}, this.tagEndChar = ">", this.newLine = "");
}
function At(t2, e2, i3, n3) {
const s2 = this.extractAttributes(t2);
if (n3.push(e2, s2), this.checkStopNode(n3)) {
const s3 = this.buildRawContent(t2), r3 = this.buildAttributesForStopNode(t2);
return n3.pop(), this.buildObjectNode(s3, e2, r3, i3);
}
const r2 = this.j2x(t2, i3 + 1, n3);
return n3.pop(), t2[this.options.textNodeName] !== undefined && Object.keys(t2).length === 1 ? this.buildTextValNode(t2[this.options.textNodeName], e2, r2.attrStr, i3, n3) : this.buildObjectNode(r2.val, e2, r2.attrStr, i3);
}
function Ot(t2) {
return this.options.indentBy.repeat(t2);
}
function Ct(t2) {
return !(!t2.startsWith(this.options.attributeNamePrefix) || t2 === this.options.textNodeName) && t2.substr(this.attrPrefixLen);
}
St.prototype.build = function(t2) {
if (this.options.preserveOrder)
return mt(t2, this.options);
{
Array.isArray(t2) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1 && (t2 = { [this.options.arrayNodeName]: t2 });
const e2 = new G4;
return this.j2x(t2, 0, e2).val;
}
}, St.prototype.j2x = function(t2, e2, i3) {
let n3 = "", s2 = "";
if (this.options.maxNestedTags && i3.getDepth() >= this.options.maxNestedTags)
throw new Error("Maximum nested tags exceeded");
const r2 = this.options.jPath ? i3.toString() : i3, o3 = this.checkStopNode(i3);
for (let a3 in t2)
if (Object.prototype.hasOwnProperty.call(t2, a3))
if (t2[a3] === undefined)
this.isAttribute(a3) && (s2 += "");
else if (t2[a3] === null)
this.isAttribute(a3) || a3 === this.options.cdataPropName ? s2 += "" : a3[0] === "?" ? s2 += this.indentate(e2) + "<" + a3 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + a3 + "/" + this.tagEndChar;
else if (t2[a3] instanceof Date)
s2 += this.buildTextValNode(t2[a3], a3, "", e2, i3);
else if (typeof t2[a3] != "object") {
const h3 = this.isAttribute(a3);
if (h3 && !this.ignoreAttributesFn(h3, r2))
n3 += this.buildAttrPairStr(h3, "" + t2[a3], o3);
else if (!h3)
if (a3 === this.options.textNodeName) {
let e3 = this.options.tagValueProcessor(a3, "" + t2[a3]);
s2 += this.replaceEntitiesValue(e3);
} else {
i3.push(a3);
const n4 = this.checkStopNode(i3);
if (i3.pop(), n4) {
const i4 = "" + t2[a3];
s2 += i4 === "" ? this.indentate(e2) + "<" + a3 + this.closeTag(a3) + this.tagEndChar : this.indentate(e2) + "<" + a3 + ">" + i4 + "" + a3 + this.tagEndChar;
} else
s2 += this.buildTextValNode(t2[a3], a3, "", e2, i3);
}
} else if (Array.isArray(t2[a3])) {
const n4 = t2[a3].length;
let r3 = "", o4 = "";
for (let h3 = 0;h3 < n4; h3++) {
const n5 = t2[a3][h3];
if (n5 === undefined)
;
else if (n5 === null)
a3[0] === "?" ? s2 += this.indentate(e2) + "<" + a3 + "?" + this.tagEndChar : s2 += this.indentate(e2) + "<" + a3 + "/" + this.tagEndChar;
else if (typeof n5 == "object")
if (this.options.oneListGroup) {
i3.push(a3);
const t3 = this.j2x(n5, e2 + 1, i3);
i3.pop(), r3 += t3.val, this.options.attributesGroupName && n5.hasOwnProperty(this.options.attributesGroupName) && (o4 += t3.attrStr);
} else
r3 += this.processTextOrObjNode(n5, a3, e2, i3);
else if (this.options.oneListGroup) {
let t3 = this.options.tagValueProcessor(a3, n5);
t3 = this.replaceEntitiesValue(t3), r3 += t3;
} else {
i3.push(a3);
const t3 = this.checkStopNode(i3);
if (i3.pop(), t3) {
const t4 = "" + n5;
r3 += t4 === "" ? this.indentate(e2) + "<" + a3 + this.closeTag(a3) + this.tagEndChar : this.indentate(e2) + "<" + a3 + ">" + t4 + "" + a3 + this.tagEndChar;
} else
r3 += this.buildTextValNode(n5, a3, "", e2, i3);
}
}
this.options.oneListGroup && (r3 = this.buildObjectNode(r3, a3, o4, e2)), s2 += r3;
} else if (this.options.attributesGroupName && a3 === this.options.attributesGroupName) {
const e3 = Object.keys(t2[a3]), i4 = e3.length;
for (let s3 = 0;s3 < i4; s3++)
n3 += this.buildAttrPairStr(e3[s3], "" + t2[a3][e3[s3]], o3);
} else
s2 += this.processTextOrObjNode(t2[a3], a3, e2, i3);
return { attrStr: n3, val: s2 };
}, St.prototype.buildAttrPairStr = function(t2, e2, i3) {
return i3 || (e2 = this.options.attributeValueProcessor(t2, "" + e2), e2 = this.replaceEntitiesValue(e2)), this.options.suppressBooleanAttributes && e2 === "true" ? " " + t2 : " " + t2 + '="' + e2 + '"';
}, St.prototype.extractAttributes = function(t2) {
if (!t2 || typeof t2 != "object")
return null;
const e2 = {};
let i3 = false;
if (this.options.attributesGroupName && t2[this.options.attributesGroupName]) {
const n3 = t2[this.options.attributesGroupName];
for (let t3 in n3)
Object.prototype.hasOwnProperty.call(n3, t3) && (e2[t3.startsWith(this.options.attributeNamePrefix) ? t3.substring(this.options.attributeNamePrefix.length) : t3] = n3[t3], i3 = true);
} else
for (let n3 in t2) {
if (!Object.prototype.hasOwnProperty.call(t2, n3))
continue;
const s2 = this.isAttribute(n3);
s2 && (e2[s2] = t2[n3], i3 = true);
}
return i3 ? e2 : null;
}, St.prototype.buildRawContent = function(t2) {
if (typeof t2 == "string")
return t2;
if (typeof t2 != "object" || t2 === null)
return String(t2);
if (t2[this.options.textNodeName] !== undefined)
return t2[this.options.textNodeName];
let e2 = "";
for (let i3 in t2) {
if (!Object.prototype.hasOwnProperty.call(t2, i3))
continue;
if (this.isAttribute(i3))
continue;
if (this.options.attributesGroupName && i3 === this.options.attributesGroupName)
continue;
const n3 = t2[i3];
if (i3 === this.options.textNodeName)
e2 += n3;
else if (Array.isArray(n3)) {
for (let t3 of n3)
if (typeof t3 == "string" || typeof t3 == "number")
e2 += `<${i3}>${t3}${i3}>`;
else if (typeof t3 == "object" && t3 !== null) {
const n4 = this.buildRawContent(t3), s2 = this.buildAttributesForStopNode(t3);
e2 += n4 === "" ? `<${i3}${s2}/>` : `<${i3}${s2}>${n4}${i3}>`;
}
} else if (typeof n3 == "object" && n3 !== null) {
const t3 = this.buildRawContent(n3), s2 = this.buildAttributesForStopNode(n3);
e2 += t3 === "" ? `<${i3}${s2}/>` : `<${i3}${s2}>${t3}${i3}>`;
} else
e2 += `<${i3}>${n3}${i3}>`;
}
return e2;
}, St.prototype.buildAttributesForStopNode = function(t2) {
if (!t2 || typeof t2 != "object")
return "";
let e2 = "";
if (this.options.attributesGroupName && t2[this.options.attributesGroupName]) {
const i3 = t2[this.options.attributesGroupName];
for (let t3 in i3) {
if (!Object.prototype.hasOwnProperty.call(i3, t3))
continue;
const n3 = t3.startsWith(this.options.attributeNamePrefix) ? t3.substring(this.options.attributeNamePrefix.length) : t3, s2 = i3[t3];
s2 === true && this.options.suppressBooleanAttributes ? e2 += " " + n3 : e2 += " " + n3 + '="' + s2 + '"';
}
} else
for (let i3 in t2) {
if (!Object.prototype.hasOwnProperty.call(t2, i3))
continue;
const n3 = this.isAttribute(i3);
if (n3) {
const s2 = t2[i3];
s2 === true && this.options.suppressBooleanAttributes ? e2 += " " + n3 : e2 += " " + n3 + '="' + s2 + '"';
}
}
return e2;
}, St.prototype.buildObjectNode = function(t2, e2, i3, n3) {
if (t2 === "")
return e2[0] === "?" ? this.indentate(n3) + "<" + e2 + i3 + "?" + this.tagEndChar : this.indentate(n3) + "<" + e2 + i3 + this.closeTag(e2) + this.tagEndChar;
{
let s2 = "" + e2 + this.tagEndChar, r2 = "";
return e2[0] === "?" && (r2 = "?", s2 = ""), !i3 && i3 !== "" || t2.indexOf("<") !== -1 ? this.options.commentPropName !== false && e2 === this.options.commentPropName && r2.length === 0 ? this.indentate(n3) + `` + this.newLine : this.indentate(n3) + "<" + e2 + i3 + r2 + this.tagEndChar + t2 + this.indentate(n3) + s2 : this.indentate(n3) + "<" + e2 + i3 + r2 + ">" + t2 + s2;
}
}, St.prototype.closeTag = function(t2) {
let e2 = "";
return this.options.unpairedTags.indexOf(t2) !== -1 ? this.options.suppressUnpairedNode || (e2 = "/") : e2 = this.options.suppressEmptyNode ? "/" : `>${t2}`, e2;
}, St.prototype.checkStopNode = function(t2) {
if (!this.stopNodeExpressions || this.stopNodeExpressions.length === 0)
return false;
for (let e2 = 0;e2 < this.stopNodeExpressions.length; e2++)
if (t2.matches(this.stopNodeExpressions[e2]))
return true;
return false;
}, St.prototype.buildTextValNode = function(t2, e2, i3, n3, s2) {
if (this.options.cdataPropName !== false && e2 === this.options.cdataPropName)
return this.indentate(n3) + `` + this.newLine;
if (this.options.commentPropName !== false && e2 === this.options.commentPropName)
return this.indentate(n3) + `` + this.newLine;
if (e2[0] === "?")
return this.indentate(n3) + "<" + e2 + i3 + "?" + this.tagEndChar;
{
let s3 = this.options.tagValueProcessor(e2, t2);
return s3 = this.replaceEntitiesValue(s3), s3 === "" ? this.indentate(n3) + "<" + e2 + i3 + this.closeTag(e2) + this.tagEndChar : this.indentate(n3) + "<" + e2 + i3 + ">" + s3 + "" + e2 + this.tagEndChar;
}
}, St.prototype.replaceEntitiesValue = function(t2) {
if (t2 && t2.length > 0 && this.options.processEntities)
for (let e2 = 0;e2 < this.options.entities.length; e2++) {
const i3 = this.options.entities[e2];
t2 = t2.replace(i3.regex, i3.val);
}
return t2;
};
const $t = St, It = { validate: l };
module.exports = e;
})();
});
// node_modules/.pnpm/@aws-sdk+xml-builder@3.972.16/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js
var require_xml_parser = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseXML = parseXML;
var fast_xml_parser_1 = require_fxp();
var parser = new fast_xml_parser_1.XMLParser({
attributeNamePrefix: "",
processEntities: {
enabled: true,
maxTotalExpansions: Infinity
},
htmlEntities: true,
ignoreAttributes: false,
ignoreDeclaration: true,
parseTagValue: false,
trimValues: false,
tagValueProcessor: (_2, val) => val.trim() === "" && val.includes(`
`) ? "" : undefined,
maxNestedTags: Infinity
});
parser.addEntity("#xD", "\r");
parser.addEntity("#10", `
`);
function parseXML(xmlString) {
return parser.parse(xmlString, true);
}
});
// node_modules/.pnpm/@aws-sdk+xml-builder@3.972.16/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js
var require_dist_cjs46 = __commonJS((exports) => {
var xmlParser = require_xml_parser();
var ATTR_ESCAPE_RE = /[&<>"]/g;
var ATTR_ESCAPE_MAP = {
"&": "&",
"<": "<",
">": ">",
'"': """
};
function escapeAttribute(value) {
return value.replace(ATTR_ESCAPE_RE, (ch) => ATTR_ESCAPE_MAP[ch]);
}
var ELEMENT_ESCAPE_RE = /[&"'<>\r\n\u0085\u2028]/g;
var ELEMENT_ESCAPE_MAP = {
"&": "&",
'"': """,
"'": "'",
"<": "<",
">": ">",
"\r": "
",
"\n": "
",
"
": "
",
"\u2028": "
"
};
function escapeElement(value) {
return value.replace(ELEMENT_ESCAPE_RE, (ch) => ELEMENT_ESCAPE_MAP[ch]);
}
class XmlText {
value;
constructor(value) {
this.value = value;
}
toString() {
return escapeElement("" + this.value);
}
}
class XmlNode {
name;
children;
attributes = {};
static of(name, childText, withName) {
const node = new XmlNode(name);
if (childText !== undefined) {
node.addChildNode(new XmlText(childText));
}
if (withName !== undefined) {
node.withName(withName);
}
return node;
}
constructor(name, children2 = []) {
this.name = name;
this.children = children2;
}
withName(name) {
this.name = name;
return this;
}
addAttribute(name, value) {
this.attributes[name] = value;
return this;
}
addChildNode(child) {
this.children.push(child);
return this;
}
removeAttribute(name) {
delete this.attributes[name];
return this;
}
n(name) {
this.name = name;
return this;
}
c(child) {
this.children.push(child);
return this;
}
a(name, value) {
if (value != null) {
this.attributes[name] = value;
}
return this;
}
cc(input, field, withName = field) {
if (input[field] != null) {
const node = XmlNode.of(field, input[field]).withName(withName);
this.c(node);
}
}
l(input, listName, memberName, valueProvider) {
if (input[listName] != null) {
const nodes = valueProvider();
nodes.map((node) => {
node.withName(memberName);
this.c(node);
});
}
}
lc(input, listName, memberName, valueProvider) {
if (input[listName] != null) {
const nodes = valueProvider();
const containerNode = new XmlNode(memberName);
nodes.map((node) => {
containerNode.c(node);
});
this.c(containerNode);
}
}
toString() {
const hasChildren = Boolean(this.children.length);
let xmlText = `<${this.name}`;
const attributes = this.attributes;
for (const attributeName of Object.keys(attributes)) {
const attribute = attributes[attributeName];
if (attribute != null) {
xmlText += ` ${attributeName}="${escapeAttribute("" + attribute)}"`;
}
}
return xmlText += !hasChildren ? "/>" : `>${this.children.map((c5) => c5.toString()).join("")}${this.name}>`;
}
}
exports.parseXML = xmlParser.parseXML;
exports.XmlNode = XmlNode;
exports.XmlText = XmlText;
});
// node_modules/.pnpm/@aws-sdk+core@3.973.26/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js
var require_protocols2 = __commonJS((exports) => {
var cbor = require_cbor();
var schema = require_schema();
var smithyClient = require_dist_cjs23();
var protocols = require_protocols();
var serde = require_serde();
var utilBase64 = require_dist_cjs17();
var utilUtf8 = require_dist_cjs16();
var xmlBuilder = require_dist_cjs46();
class ProtocolLib {
queryCompat;
errorRegistry;
constructor(queryCompat = false) {
this.queryCompat = queryCompat;
}
resolveRestContentType(defaultContentType, inputSchema) {
const members = inputSchema.getMemberSchemas();
const httpPayloadMember = Object.values(members).find((m2) => {
return !!m2.getMergedTraits().httpPayload;
});
if (httpPayloadMember) {
const mediaType = httpPayloadMember.getMergedTraits().mediaType;
if (mediaType) {
return mediaType;
} else if (httpPayloadMember.isStringSchema()) {
return "text/plain";
} else if (httpPayloadMember.isBlobSchema()) {
return "application/octet-stream";
} else {
return defaultContentType;
}
} else if (!inputSchema.isUnitSchema()) {
const hasBody = Object.values(members).find((m2) => {
const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m2.getMergedTraits();
const noPrefixHeaders = httpPrefixHeaders === undefined;
return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;
});
if (hasBody) {
return defaultContentType;
}
}
}
async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {
let errorName = errorIdentifier;
if (errorIdentifier.includes("#")) {
[, errorName] = errorIdentifier.split("#");
}
const errorMetadata = {
$metadata: metadata,
$fault: response.statusCode < 500 ? "client" : "server"
};
if (!this.errorRegistry) {
throw new Error("@aws-sdk/core/protocols - error handler not initialized.");
}
try {
const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ?? this.errorRegistry.getSchema(errorIdentifier);
return { errorSchema, errorMetadata };
} catch (e) {
dataObject.message = dataObject.message ?? dataObject.Message ?? "UnknownError";
const synthetic = this.errorRegistry;
const baseExceptionSchema = synthetic.getBaseException();
if (baseExceptionSchema) {
const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;
throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);
}
const d = dataObject;
const message = d?.message ?? d?.Message ?? d?.Error?.Message ?? d?.Error?.message;
throw this.decorateServiceException(Object.assign(new Error(message), {
name: errorName
}, errorMetadata), dataObject);
}
}
compose(composite, errorIdentifier, defaultNamespace) {
let namespace = defaultNamespace;
if (errorIdentifier.includes("#")) {
[namespace] = errorIdentifier.split("#");
}
const staticRegistry = schema.TypeRegistry.for(namespace);
const defaultSyntheticRegistry = schema.TypeRegistry.for("smithy.ts.sdk.synthetic." + defaultNamespace);
composite.copyFrom(staticRegistry);
composite.copyFrom(defaultSyntheticRegistry);
this.errorRegistry = composite;
}
decorateServiceException(exception, additions = {}) {
if (this.queryCompat) {
const msg = exception.Message ?? additions.Message;
const error49 = smithyClient.decorateServiceException(exception, additions);
if (msg) {
error49.message = msg;
}
error49.Error = {
...error49.Error,
Type: error49.Error?.Type,
Code: error49.Error?.Code,
Message: error49.Error?.message ?? error49.Error?.Message ?? msg
};
const reqId = error49.$metadata.requestId;
if (reqId) {
error49.RequestId = reqId;
}
return error49;
}
return smithyClient.decorateServiceException(exception, additions);
}
setQueryCompatError(output, response) {
const queryErrorHeader = response.headers?.["x-amzn-query-error"];
if (output !== undefined && queryErrorHeader != null) {
const [Code, Type] = queryErrorHeader.split(";");
const entries = Object.entries(output);
const Error2 = {
Code,
Type
};
Object.assign(output, Error2);
for (const [k2, v2] of entries) {
Error2[k2 === "message" ? "Message" : k2] = v2;
}
delete Error2.__type;
output.Error = Error2;
}
}
queryCompatOutput(queryCompatErrorData, errorData) {
if (queryCompatErrorData.Error) {
errorData.Error = queryCompatErrorData.Error;
}
if (queryCompatErrorData.Type) {
errorData.Type = queryCompatErrorData.Type;
}
if (queryCompatErrorData.Code) {
errorData.Code = queryCompatErrorData.Code;
}
}
findQueryCompatibleError(registry2, errorName) {
try {
return registry2.getSchema(errorName);
} catch (e) {
return registry2.find((schema$1) => schema.NormalizedSchema.of(schema$1).getMergedTraits().awsQueryError?.[0] === errorName);
}
}
}
class AwsSmithyRpcV2CborProtocol extends cbor.SmithyRpcV2CborProtocol {
awsQueryCompatible;
mixin;
constructor({ defaultNamespace, errorTypeRegistries, awsQueryCompatible }) {
super({ defaultNamespace, errorTypeRegistries });
this.awsQueryCompatible = !!awsQueryCompatible;
this.mixin = new ProtocolLib(this.awsQueryCompatible);
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
if (this.awsQueryCompatible) {
request.headers["x-amzn-query-mode"] = "true";
}
return request;
}
async handleError(operationSchema, context, response, dataObject, metadata) {
if (this.awsQueryCompatible) {
this.mixin.setQueryCompatError(dataObject, response);
}
const errorName = (() => {
const compatHeader = response.headers["x-amzn-query-error"];
if (compatHeader && this.awsQueryCompatible) {
return compatHeader.split(";")[0];
}
return cbor.loadSmithyRpcV2CborErrorCode(response, dataObject) ?? "Unknown";
})();
this.mixin.compose(this.compositeErrorRegistry, errorName, this.options.defaultNamespace);
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
const ns = schema.NormalizedSchema.of(errorSchema);
const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
const exception = new ErrorCtor(message);
const output = {};
for (const [name, member] of ns.structIterator()) {
if (dataObject[name] != null) {
output[name] = this.deserializer.readValue(member, dataObject[name]);
}
}
if (this.awsQueryCompatible) {
this.mixin.queryCompatOutput(dataObject, output);
}
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output), dataObject);
}
}
var _toStr = (val) => {
if (val == null) {
return val;
}
if (typeof val === "number" || typeof val === "bigint") {
const warning = new Error(`Received number ${val} where a string was expected.`);
warning.name = "Warning";
console.warn(warning);
return String(val);
}
if (typeof val === "boolean") {
const warning = new Error(`Received boolean ${val} where a string was expected.`);
warning.name = "Warning";
console.warn(warning);
return String(val);
}
return val;
};
var _toBool = (val) => {
if (val == null) {
return val;
}
if (typeof val === "string") {
const lowercase2 = val.toLowerCase();
if (val !== "" && lowercase2 !== "false" && lowercase2 !== "true") {
const warning = new Error(`Received string "${val}" where a boolean was expected.`);
warning.name = "Warning";
console.warn(warning);
}
return val !== "" && lowercase2 !== "false";
}
return val;
};
var _toNum = (val) => {
if (val == null) {
return val;
}
if (typeof val === "string") {
const num = Number(val);
if (num.toString() !== val) {
const warning = new Error(`Received string "${val}" where a number was expected.`);
warning.name = "Warning";
console.warn(warning);
return val;
}
return num;
}
return val;
};
class SerdeContextConfig {
serdeContext;
setSerdeContext(serdeContext) {
this.serdeContext = serdeContext;
}
}
class UnionSerde {
from;
to;
keys;
constructor(from, to) {
this.from = from;
this.to = to;
this.keys = new Set(Object.keys(this.from).filter((k2) => k2 !== "__type"));
}
mark(key) {
this.keys.delete(key);
}
hasUnknown() {
return this.keys.size === 1 && Object.keys(this.to).length === 0;
}
writeUnknown() {
if (this.hasUnknown()) {
const k2 = this.keys.values().next().value;
const v2 = this.from[k2];
this.to.$unknown = [k2, v2];
}
}
}
function jsonReviver(key, value, context) {
if (context?.source) {
const numericString = context.source;
if (typeof value === "number") {
if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {
const isFractional = numericString.includes(".");
if (isFractional) {
return new serde.NumericValue(numericString, "bigDecimal");
} else {
return BigInt(numericString);
}
}
}
}
return value;
}
var collectBodyString = (streamBody, context) => smithyClient.collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? utilUtf8.toUtf8)(body));
var parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
if (encoded.length) {
try {
return JSON.parse(encoded);
} catch (e) {
if (e?.name === "SyntaxError") {
Object.defineProperty(e, "$responseBodyText", {
value: encoded
});
}
throw e;
}
}
return {};
});
var parseJsonErrorBody = async (errorBody, context) => {
const value = await parseJsonBody(errorBody, context);
value.message = value.message ?? value.Message;
return value;
};
var loadRestJsonErrorCode = (output, data) => {
const findKey2 = (object2, key) => Object.keys(object2).find((k2) => k2.toLowerCase() === key.toLowerCase());
const sanitizeErrorCode = (rawValue) => {
let cleanValue = rawValue;
if (typeof cleanValue === "number") {
cleanValue = cleanValue.toString();
}
if (cleanValue.indexOf(",") >= 0) {
cleanValue = cleanValue.split(",")[0];
}
if (cleanValue.indexOf(":") >= 0) {
cleanValue = cleanValue.split(":")[0];
}
if (cleanValue.indexOf("#") >= 0) {
cleanValue = cleanValue.split("#")[1];
}
return cleanValue;
};
const headerKey = findKey2(output.headers, "x-amzn-errortype");
if (headerKey !== undefined) {
return sanitizeErrorCode(output.headers[headerKey]);
}
if (data && typeof data === "object") {
const codeKey = findKey2(data, "code");
if (codeKey && data[codeKey] !== undefined) {
return sanitizeErrorCode(data[codeKey]);
}
if (data["__type"] !== undefined) {
return sanitizeErrorCode(data["__type"]);
}
}
};
class JsonShapeDeserializer extends SerdeContextConfig {
settings;
constructor(settings) {
super();
this.settings = settings;
}
async read(schema2, data) {
return this._read(schema2, typeof data === "string" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));
}
readObject(schema2, data) {
return this._read(schema2, data);
}
_read(schema$1, value) {
const isObject5 = value !== null && typeof value === "object";
const ns = schema.NormalizedSchema.of(schema$1);
if (isObject5) {
if (ns.isStructSchema()) {
const record2 = value;
const union2 = ns.isUnionSchema();
const out = {};
let nameMap = undefined;
const { jsonName } = this.settings;
if (jsonName) {
nameMap = {};
}
let unionSerde;
if (union2) {
unionSerde = new UnionSerde(record2, out);
}
for (const [memberName, memberSchema] of ns.structIterator()) {
let fromKey = memberName;
if (jsonName) {
fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;
nameMap[fromKey] = memberName;
}
if (union2) {
unionSerde.mark(fromKey);
}
if (record2[fromKey] != null) {
out[memberName] = this._read(memberSchema, record2[fromKey]);
}
}
if (union2) {
unionSerde.writeUnknown();
} else if (typeof record2.__type === "string") {
for (const [k2, v2] of Object.entries(record2)) {
const t = jsonName ? nameMap[k2] ?? k2 : k2;
if (!(t in out)) {
out[t] = v2;
}
}
}
return out;
}
if (Array.isArray(value) && ns.isListSchema()) {
const listMember = ns.getValueSchema();
const out = [];
for (const item of value) {
out.push(this._read(listMember, item));
}
return out;
}
if (ns.isMapSchema()) {
const mapMember = ns.getValueSchema();
const out = {};
for (const [_k, _v] of Object.entries(value)) {
out[_k] = this._read(mapMember, _v);
}
return out;
}
}
if (ns.isBlobSchema() && typeof value === "string") {
return utilBase64.fromBase64(value);
}
const mediaType = ns.getMergedTraits().mediaType;
if (ns.isStringSchema() && typeof value === "string" && mediaType) {
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
if (isJson) {
return serde.LazyJsonString.from(value);
}
return value;
}
if (ns.isTimestampSchema() && value != null) {
const format3 = protocols.determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
return serde.parseRfc3339DateTimeWithOffset(value);
case 6:
return serde.parseRfc7231DateTime(value);
case 7:
return serde.parseEpochTimestamp(value);
default:
console.warn("Missing timestamp format, parsing value with Date constructor:", value);
return new Date(value);
}
}
if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) {
return BigInt(value);
}
if (ns.isBigDecimalSchema() && value != null) {
if (value instanceof serde.NumericValue) {
return value;
}
const untyped = value;
if (untyped.type === "bigDecimal" && "string" in untyped) {
return new serde.NumericValue(untyped.string, untyped.type);
}
return new serde.NumericValue(String(value), "bigDecimal");
}
if (ns.isNumericSchema() && typeof value === "string") {
switch (value) {
case "Infinity":
return Infinity;
case "-Infinity":
return -Infinity;
case "NaN":
return NaN;
}
return value;
}
if (ns.isDocumentSchema()) {
if (isObject5) {
const out = Array.isArray(value) ? [] : {};
for (const [k2, v2] of Object.entries(value)) {
if (v2 instanceof serde.NumericValue) {
out[k2] = v2;
} else {
out[k2] = this._read(ns, v2);
}
}
return out;
} else {
return structuredClone(value);
}
}
return value;
}
}
var NUMERIC_CONTROL_CHAR = String.fromCharCode(925);
class JsonReplacer {
values = new Map;
counter = 0;
stage = 0;
createReplacer() {
if (this.stage === 1) {
throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");
}
if (this.stage === 2) {
throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
}
this.stage = 1;
return (key, value) => {
if (value instanceof serde.NumericValue) {
const v2 = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value.string;
this.values.set(`"${v2}"`, value.string);
return v2;
}
if (typeof value === "bigint") {
const s = value.toString();
const v2 = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s;
this.values.set(`"${v2}"`, s);
return v2;
}
return value;
};
}
replaceInJson(json2) {
if (this.stage === 0) {
throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");
}
if (this.stage === 2) {
throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
}
this.stage = 2;
if (this.counter === 0) {
return json2;
}
for (const [key, value] of this.values) {
json2 = json2.replace(key, value);
}
return json2;
}
}
class JsonShapeSerializer extends SerdeContextConfig {
settings;
buffer;
useReplacer = false;
rootSchema;
constructor(settings) {
super();
this.settings = settings;
}
write(schema$1, value) {
this.rootSchema = schema.NormalizedSchema.of(schema$1);
this.buffer = this._write(this.rootSchema, value);
}
writeDiscriminatedDocument(schema$1, value) {
this.write(schema$1, value);
if (typeof this.buffer === "object") {
this.buffer.__type = schema.NormalizedSchema.of(schema$1).getName(true);
}
}
flush() {
const { rootSchema, useReplacer } = this;
this.rootSchema = undefined;
this.useReplacer = false;
if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {
if (!useReplacer) {
return JSON.stringify(this.buffer);
}
const replacer = new JsonReplacer;
return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));
}
return this.buffer;
}
_write(schema$1, value, container) {
const isObject5 = value !== null && typeof value === "object";
const ns = schema.NormalizedSchema.of(schema$1);
if (isObject5) {
if (ns.isStructSchema()) {
const record2 = value;
const out = {};
const { jsonName } = this.settings;
let nameMap = undefined;
if (jsonName) {
nameMap = {};
}
for (const [memberName, memberSchema] of ns.structIterator()) {
const serializableValue = this._write(memberSchema, record2[memberName], ns);
if (serializableValue !== undefined) {
let targetKey = memberName;
if (jsonName) {
targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;
nameMap[memberName] = targetKey;
}
out[targetKey] = serializableValue;
}
}
if (ns.isUnionSchema() && Object.keys(out).length === 0) {
const { $unknown } = record2;
if (Array.isArray($unknown)) {
const [k2, v2] = $unknown;
out[k2] = this._write(15, v2);
}
} else if (typeof record2.__type === "string") {
for (const [k2, v2] of Object.entries(record2)) {
const targetKey = jsonName ? nameMap[k2] ?? k2 : k2;
if (!(targetKey in out)) {
out[targetKey] = this._write(15, v2);
}
}
}
return out;
}
if (Array.isArray(value) && ns.isListSchema()) {
const listMember = ns.getValueSchema();
const out = [];
const sparse = !!ns.getMergedTraits().sparse;
for (const item of value) {
if (sparse || item != null) {
out.push(this._write(listMember, item));
}
}
return out;
}
if (ns.isMapSchema()) {
const mapMember = ns.getValueSchema();
const out = {};
const sparse = !!ns.getMergedTraits().sparse;
for (const [_k, _v] of Object.entries(value)) {
if (sparse || _v != null) {
out[_k] = this._write(mapMember, _v);
}
}
return out;
}
if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {
if (ns === this.rootSchema) {
return value;
}
return (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);
}
if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {
const format3 = protocols.determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
return value.toISOString().replace(".000Z", "Z");
case 6:
return serde.dateToUtcString(value);
case 7:
return value.getTime() / 1000;
default:
console.warn("Missing timestamp format, using epoch seconds", value);
return value.getTime() / 1000;
}
}
if (value instanceof serde.NumericValue) {
this.useReplacer = true;
}
}
if (value === null && container?.isStructSchema()) {
return;
}
if (ns.isStringSchema()) {
if (typeof value === "undefined" && ns.isIdempotencyToken()) {
return serde.generateIdempotencyToken();
}
const mediaType = ns.getMergedTraits().mediaType;
if (value != null && mediaType) {
const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
if (isJson) {
return serde.LazyJsonString.from(value);
}
}
return value;
}
if (typeof value === "number" && ns.isNumericSchema()) {
if (Math.abs(value) === Infinity || isNaN(value)) {
return String(value);
}
return value;
}
if (typeof value === "string" && ns.isBlobSchema()) {
if (ns === this.rootSchema) {
return value;
}
return (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);
}
if (typeof value === "bigint") {
this.useReplacer = true;
}
if (ns.isDocumentSchema()) {
if (isObject5) {
const out = Array.isArray(value) ? [] : {};
for (const [k2, v2] of Object.entries(value)) {
if (v2 instanceof serde.NumericValue) {
this.useReplacer = true;
out[k2] = v2;
} else {
out[k2] = this._write(ns, v2);
}
}
return out;
} else {
return structuredClone(value);
}
}
return value;
}
}
class JsonCodec extends SerdeContextConfig {
settings;
constructor(settings) {
super();
this.settings = settings;
}
createSerializer() {
const serializer = new JsonShapeSerializer(this.settings);
serializer.setSerdeContext(this.serdeContext);
return serializer;
}
createDeserializer() {
const deserializer = new JsonShapeDeserializer(this.settings);
deserializer.setSerdeContext(this.serdeContext);
return deserializer;
}
}
class AwsJsonRpcProtocol extends protocols.RpcProtocol {
serializer;
deserializer;
serviceTarget;
codec;
mixin;
awsQueryCompatible;
constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec }) {
super({
defaultNamespace,
errorTypeRegistries
});
this.serviceTarget = serviceTarget;
this.codec = jsonCodec ?? new JsonCodec({
timestampFormat: {
useTrait: true,
default: 7
},
jsonName: false
});
this.serializer = this.codec.createSerializer();
this.deserializer = this.codec.createDeserializer();
this.awsQueryCompatible = !!awsQueryCompatible;
this.mixin = new ProtocolLib(this.awsQueryCompatible);
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
if (!request.path.endsWith("/")) {
request.path += "/";
}
Object.assign(request.headers, {
"content-type": `application/x-amz-json-${this.getJsonRpcVersion()}`,
"x-amz-target": `${this.serviceTarget}.${operationSchema.name}`
});
if (this.awsQueryCompatible) {
request.headers["x-amzn-query-mode"] = "true";
}
if (schema.deref(operationSchema.input) === "unit" || !request.body) {
request.body = "{}";
}
return request;
}
getPayloadCodec() {
return this.codec;
}
async handleError(operationSchema, context, response, dataObject, metadata) {
if (this.awsQueryCompatible) {
this.mixin.setQueryCompatError(dataObject, response);
}
const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);
const ns = schema.NormalizedSchema.of(errorSchema);
const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
const exception = new ErrorCtor(message);
const output = {};
for (const [name, member] of ns.structIterator()) {
if (dataObject[name] != null) {
output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);
}
}
if (this.awsQueryCompatible) {
this.mixin.queryCompatOutput(dataObject, output);
}
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output), dataObject);
}
}
class AwsJson1_0Protocol extends AwsJsonRpcProtocol {
constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec }) {
super({
defaultNamespace,
errorTypeRegistries,
serviceTarget,
awsQueryCompatible,
jsonCodec
});
}
getShapeId() {
return "aws.protocols#awsJson1_0";
}
getJsonRpcVersion() {
return "1.0";
}
getDefaultContentType() {
return "application/x-amz-json-1.0";
}
}
class AwsJson1_1Protocol extends AwsJsonRpcProtocol {
constructor({ defaultNamespace, errorTypeRegistries, serviceTarget, awsQueryCompatible, jsonCodec }) {
super({
defaultNamespace,
errorTypeRegistries,
serviceTarget,
awsQueryCompatible,
jsonCodec
});
}
getShapeId() {
return "aws.protocols#awsJson1_1";
}
getJsonRpcVersion() {
return "1.1";
}
getDefaultContentType() {
return "application/x-amz-json-1.1";
}
}
class AwsRestJsonProtocol extends protocols.HttpBindingProtocol {
serializer;
deserializer;
codec;
mixin = new ProtocolLib;
constructor({ defaultNamespace, errorTypeRegistries }) {
super({
defaultNamespace,
errorTypeRegistries
});
const settings = {
timestampFormat: {
useTrait: true,
default: 7
},
httpBindings: true,
jsonName: true
};
this.codec = new JsonCodec(settings);
this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
}
getShapeId() {
return "aws.protocols#restJson1";
}
getPayloadCodec() {
return this.codec;
}
setSerdeContext(serdeContext) {
this.codec.setSerdeContext(serdeContext);
super.setSerdeContext(serdeContext);
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
const inputSchema = schema.NormalizedSchema.of(operationSchema.input);
if (!request.headers["content-type"]) {
const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
if (contentType) {
request.headers["content-type"] = contentType;
}
}
if (request.body == null && request.headers["content-type"] === this.getDefaultContentType()) {
request.body = "{}";
}
return request;
}
async deserializeResponse(operationSchema, context, response) {
const output = await super.deserializeResponse(operationSchema, context, response);
const outputSchema = schema.NormalizedSchema.of(operationSchema.output);
for (const [name, member] of outputSchema.structIterator()) {
if (member.getMemberTraits().httpPayload && !(name in output)) {
output[name] = null;
}
}
return output;
}
async handleError(operationSchema, context, response, dataObject, metadata) {
const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
const ns = schema.NormalizedSchema.of(errorSchema);
const message = dataObject.message ?? dataObject.Message ?? "UnknownError";
const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
const exception = new ErrorCtor(message);
await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
const output = {};
for (const [name, member] of ns.structIterator()) {
const target = member.getMergedTraits().jsonName ?? name;
output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
}
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output), dataObject);
}
getDefaultContentType() {
return "application/json";
}
}
var awsExpectUnion = (value) => {
if (value == null) {
return;
}
if (typeof value === "object" && "__type" in value) {
delete value.__type;
}
return smithyClient.expectUnion(value);
};
class XmlShapeDeserializer extends SerdeContextConfig {
settings;
stringDeserializer;
constructor(settings) {
super();
this.settings = settings;
this.stringDeserializer = new protocols.FromStringShapeDeserializer(settings);
}
setSerdeContext(serdeContext) {
this.serdeContext = serdeContext;
this.stringDeserializer.setSerdeContext(serdeContext);
}
read(schema$1, bytes, key) {
const ns = schema.NormalizedSchema.of(schema$1);
const memberSchemas = ns.getMemberSchemas();
const isEventPayload = ns.isStructSchema() && ns.isMemberSchema() && !!Object.values(memberSchemas).find((memberNs) => {
return !!memberNs.getMemberTraits().eventPayload;
});
if (isEventPayload) {
const output = {};
const memberName = Object.keys(memberSchemas)[0];
const eventMemberSchema = memberSchemas[memberName];
if (eventMemberSchema.isBlobSchema()) {
output[memberName] = bytes;
} else {
output[memberName] = this.read(memberSchemas[memberName], bytes);
}
return output;
}
const xmlString = (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)(bytes);
const parsedObject = this.parseXml(xmlString);
return this.readSchema(schema$1, key ? parsedObject[key] : parsedObject);
}
readSchema(_schema, value) {
const ns = schema.NormalizedSchema.of(_schema);
if (ns.isUnitSchema()) {
return;
}
const traits = ns.getMergedTraits();
if (ns.isListSchema() && !Array.isArray(value)) {
return this.readSchema(ns, [value]);
}
if (value == null) {
return value;
}
if (typeof value === "object") {
const flat = !!traits.xmlFlattened;
if (ns.isListSchema()) {
const listValue = ns.getValueSchema();
const buffer2 = [];
const sourceKey = listValue.getMergedTraits().xmlName ?? "member";
const source = flat ? value : (value[0] ?? value)[sourceKey];
if (source == null) {
return buffer2;
}
const sourceArray = Array.isArray(source) ? source : [source];
for (const v2 of sourceArray) {
buffer2.push(this.readSchema(listValue, v2));
}
return buffer2;
}
const buffer = {};
if (ns.isMapSchema()) {
const keyNs = ns.getKeySchema();
const memberNs = ns.getValueSchema();
let entries;
if (flat) {
entries = Array.isArray(value) ? value : [value];
} else {
entries = Array.isArray(value.entry) ? value.entry : [value.entry];
}
const keyProperty = keyNs.getMergedTraits().xmlName ?? "key";
const valueProperty = memberNs.getMergedTraits().xmlName ?? "value";
for (const entry of entries) {
const key = entry[keyProperty];
const value2 = entry[valueProperty];
buffer[key] = this.readSchema(memberNs, value2);
}
return buffer;
}
if (ns.isStructSchema()) {
const union2 = ns.isUnionSchema();
let unionSerde;
if (union2) {
unionSerde = new UnionSerde(value, buffer);
}
for (const [memberName, memberSchema] of ns.structIterator()) {
const memberTraits = memberSchema.getMergedTraits();
const xmlObjectKey = !memberTraits.httpPayload ? memberSchema.getMemberTraits().xmlName ?? memberName : memberTraits.xmlName ?? memberSchema.getName();
if (union2) {
unionSerde.mark(xmlObjectKey);
}
if (value[xmlObjectKey] != null) {
buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);
}
}
if (union2) {
unionSerde.writeUnknown();
}
return buffer;
}
if (ns.isDocumentSchema()) {
return value;
}
throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);
}
if (ns.isListSchema()) {
return [];
}
if (ns.isMapSchema() || ns.isStructSchema()) {
return {};
}
return this.stringDeserializer.read(ns, value);
}
parseXml(xml) {
if (xml.length) {
let parsedObj;
try {
parsedObj = xmlBuilder.parseXML(xml);
} catch (e) {
if (e && typeof e === "object") {
Object.defineProperty(e, "$responseBodyText", {
value: xml
});
}
throw e;
}
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
const parsedObjToReturn = parsedObj[key];
if (parsedObjToReturn[textNodeName]) {
parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
delete parsedObjToReturn[textNodeName];
}
return smithyClient.getValueFromTextNode(parsedObjToReturn);
}
return {};
}
}
class QueryShapeSerializer extends SerdeContextConfig {
settings;
buffer;
constructor(settings) {
super();
this.settings = settings;
}
write(schema$1, value, prefix = "") {
if (this.buffer === undefined) {
this.buffer = "";
}
const ns = schema.NormalizedSchema.of(schema$1);
if (prefix && !prefix.endsWith(".")) {
prefix += ".";
}
if (ns.isBlobSchema()) {
if (typeof value === "string" || value instanceof Uint8Array) {
this.writeKey(prefix);
this.writeValue((this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value));
}
} else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {
if (value != null) {
this.writeKey(prefix);
this.writeValue(String(value));
} else if (ns.isIdempotencyToken()) {
this.writeKey(prefix);
this.writeValue(serde.generateIdempotencyToken());
}
} else if (ns.isBigIntegerSchema()) {
if (value != null) {
this.writeKey(prefix);
this.writeValue(String(value));
}
} else if (ns.isBigDecimalSchema()) {
if (value != null) {
this.writeKey(prefix);
this.writeValue(value instanceof serde.NumericValue ? value.string : String(value));
}
} else if (ns.isTimestampSchema()) {
if (value instanceof Date) {
this.writeKey(prefix);
const format3 = protocols.determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
this.writeValue(value.toISOString().replace(".000Z", "Z"));
break;
case 6:
this.writeValue(smithyClient.dateToUtcString(value));
break;
case 7:
this.writeValue(String(value.getTime() / 1000));
break;
}
}
} else if (ns.isDocumentSchema()) {
if (Array.isArray(value)) {
this.write(64 | 15, value, prefix);
} else if (value instanceof Date) {
this.write(4, value, prefix);
} else if (value instanceof Uint8Array) {
this.write(21, value, prefix);
} else if (value && typeof value === "object") {
this.write(128 | 15, value, prefix);
} else {
this.writeKey(prefix);
this.writeValue(String(value));
}
} else if (ns.isListSchema()) {
if (Array.isArray(value)) {
if (value.length === 0) {
if (this.settings.serializeEmptyLists) {
this.writeKey(prefix);
this.writeValue("");
}
} else {
const member = ns.getValueSchema();
const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;
let i2 = 1;
for (const item of value) {
if (item == null) {
continue;
}
const traits = member.getMergedTraits();
const suffix = this.getKey("member", traits.xmlName, traits.ec2QueryName);
const key = flat ? `${prefix}${i2}` : `${prefix}${suffix}.${i2}`;
this.write(member, item, key);
++i2;
}
}
}
} else if (ns.isMapSchema()) {
if (value && typeof value === "object") {
const keySchema = ns.getKeySchema();
const memberSchema = ns.getValueSchema();
const flat = ns.getMergedTraits().xmlFlattened;
let i2 = 1;
for (const [k2, v2] of Object.entries(value)) {
if (v2 == null) {
continue;
}
const keyTraits = keySchema.getMergedTraits();
const keySuffix = this.getKey("key", keyTraits.xmlName, keyTraits.ec2QueryName);
const key = flat ? `${prefix}${i2}.${keySuffix}` : `${prefix}entry.${i2}.${keySuffix}`;
const valTraits = memberSchema.getMergedTraits();
const valueSuffix = this.getKey("value", valTraits.xmlName, valTraits.ec2QueryName);
const valueKey = flat ? `${prefix}${i2}.${valueSuffix}` : `${prefix}entry.${i2}.${valueSuffix}`;
this.write(keySchema, k2, key);
this.write(memberSchema, v2, valueKey);
++i2;
}
}
} else if (ns.isStructSchema()) {
if (value && typeof value === "object") {
let didWriteMember = false;
for (const [memberName, member] of ns.structIterator()) {
if (value[memberName] == null && !member.isIdempotencyToken()) {
continue;
}
const traits = member.getMergedTraits();
const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, "struct");
const key = `${prefix}${suffix}`;
this.write(member, value[memberName], key);
didWriteMember = true;
}
if (!didWriteMember && ns.isUnionSchema()) {
const { $unknown } = value;
if (Array.isArray($unknown)) {
const [k2, v2] = $unknown;
const key = `${prefix}${k2}`;
this.write(15, v2, key);
}
}
}
} else if (ns.isUnitSchema())
;
else {
throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);
}
}
flush() {
if (this.buffer === undefined) {
throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.");
}
const str = this.buffer;
delete this.buffer;
return str;
}
getKey(memberName, xmlName, ec2QueryName, keySource) {
const { ec2, capitalizeKeys } = this.settings;
if (ec2 && ec2QueryName) {
return ec2QueryName;
}
const key = xmlName ?? memberName;
if (capitalizeKeys && keySource === "struct") {
return key[0].toUpperCase() + key.slice(1);
}
return key;
}
writeKey(key) {
if (key.endsWith(".")) {
key = key.slice(0, key.length - 1);
}
this.buffer += `&${protocols.extendedEncodeURIComponent(key)}=`;
}
writeValue(value) {
this.buffer += protocols.extendedEncodeURIComponent(value);
}
}
class AwsQueryProtocol extends protocols.RpcProtocol {
options;
serializer;
deserializer;
mixin = new ProtocolLib;
constructor(options) {
super({
defaultNamespace: options.defaultNamespace,
errorTypeRegistries: options.errorTypeRegistries
});
this.options = options;
const settings = {
timestampFormat: {
useTrait: true,
default: 5
},
httpBindings: false,
xmlNamespace: options.xmlNamespace,
serviceNamespace: options.defaultNamespace,
serializeEmptyLists: true
};
this.serializer = new QueryShapeSerializer(settings);
this.deserializer = new XmlShapeDeserializer(settings);
}
getShapeId() {
return "aws.protocols#awsQuery";
}
setSerdeContext(serdeContext) {
this.serializer.setSerdeContext(serdeContext);
this.deserializer.setSerdeContext(serdeContext);
}
getPayloadCodec() {
throw new Error("AWSQuery protocol has no payload codec.");
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
if (!request.path.endsWith("/")) {
request.path += "/";
}
Object.assign(request.headers, {
"content-type": `application/x-www-form-urlencoded`
});
if (schema.deref(operationSchema.input) === "unit" || !request.body) {
request.body = "";
}
const action = operationSchema.name.split("#")[1] ?? operationSchema.name;
request.body = `Action=${action}&Version=${this.options.version}` + request.body;
if (request.body.endsWith("&")) {
request.body = request.body.slice(-1);
}
return request;
}
async deserializeResponse(operationSchema, context, response) {
const deserializer = this.deserializer;
const ns = schema.NormalizedSchema.of(operationSchema.output);
const dataObject = {};
if (response.statusCode >= 300) {
const bytes2 = await protocols.collectBody(response.body, context);
if (bytes2.byteLength > 0) {
Object.assign(dataObject, await deserializer.read(15, bytes2));
}
await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
}
for (const header in response.headers) {
const value = response.headers[header];
delete response.headers[header];
response.headers[header.toLowerCase()] = value;
}
const shortName = operationSchema.name.split("#")[1] ?? operationSchema.name;
const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + "Result" : undefined;
const bytes = await protocols.collectBody(response.body, context);
if (bytes.byteLength > 0) {
Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
}
const output = {
$metadata: this.deserializeMetadata(response),
...dataObject
};
return output;
}
useNestedResult() {
return true;
}
async handleError(operationSchema, context, response, dataObject, metadata) {
const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? "Unknown";
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
const errorData = this.loadQueryError(dataObject) ?? {};
const message = this.loadQueryErrorMessage(dataObject);
errorData.message = message;
errorData.Error = {
Type: errorData.Type,
Code: errorData.Code,
Message: message
};
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);
const ns = schema.NormalizedSchema.of(errorSchema);
const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
const exception = new ErrorCtor(message);
const output = {
Type: errorData.Error.Type,
Code: errorData.Error.Code,
Error: errorData.Error
};
for (const [name, member] of ns.structIterator()) {
const target = member.getMergedTraits().xmlName ?? name;
const value = errorData[target] ?? dataObject[target];
output[name] = this.deserializer.readSchema(member, value);
}
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output), dataObject);
}
loadQueryErrorCode(output, data) {
const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;
if (code !== undefined) {
return code;
}
if (output.statusCode == 404) {
return "NotFound";
}
}
loadQueryError(data) {
return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;
}
loadQueryErrorMessage(data) {
const errorData = this.loadQueryError(data);
return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? "Unknown";
}
getDefaultContentType() {
return "application/x-www-form-urlencoded";
}
}
class AwsEc2QueryProtocol extends AwsQueryProtocol {
options;
constructor(options) {
super(options);
this.options = options;
const ec2Settings = {
capitalizeKeys: true,
flattenLists: true,
serializeEmptyLists: false,
ec2: true
};
Object.assign(this.serializer.settings, ec2Settings);
}
getShapeId() {
return "aws.protocols#ec2Query";
}
useNestedResult() {
return false;
}
}
var parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
if (encoded.length) {
let parsedObj;
try {
parsedObj = xmlBuilder.parseXML(encoded);
} catch (e) {
if (e && typeof e === "object") {
Object.defineProperty(e, "$responseBodyText", {
value: encoded
});
}
throw e;
}
const textNodeName = "#text";
const key = Object.keys(parsedObj)[0];
const parsedObjToReturn = parsedObj[key];
if (parsedObjToReturn[textNodeName]) {
parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
delete parsedObjToReturn[textNodeName];
}
return smithyClient.getValueFromTextNode(parsedObjToReturn);
}
return {};
});
var parseXmlErrorBody = async (errorBody, context) => {
const value = await parseXmlBody(errorBody, context);
if (value.Error) {
value.Error.message = value.Error.message ?? value.Error.Message;
}
return value;
};
var loadRestXmlErrorCode = (output, data) => {
if (data?.Error?.Code !== undefined) {
return data.Error.Code;
}
if (data?.Code !== undefined) {
return data.Code;
}
if (output.statusCode == 404) {
return "NotFound";
}
};
class XmlShapeSerializer extends SerdeContextConfig {
settings;
stringBuffer;
byteBuffer;
buffer;
constructor(settings) {
super();
this.settings = settings;
}
write(schema$1, value) {
const ns = schema.NormalizedSchema.of(schema$1);
if (ns.isStringSchema() && typeof value === "string") {
this.stringBuffer = value;
} else if (ns.isBlobSchema()) {
this.byteBuffer = "byteLength" in value ? value : (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(value);
} else {
this.buffer = this.writeStruct(ns, value, undefined);
const traits = ns.getMergedTraits();
if (traits.httpPayload && !traits.xmlName) {
this.buffer.withName(ns.getName());
}
}
}
flush() {
if (this.byteBuffer !== undefined) {
const bytes = this.byteBuffer;
delete this.byteBuffer;
return bytes;
}
if (this.stringBuffer !== undefined) {
const str = this.stringBuffer;
delete this.stringBuffer;
return str;
}
const buffer = this.buffer;
if (this.settings.xmlNamespace) {
if (!buffer?.attributes?.["xmlns"]) {
buffer.addAttribute("xmlns", this.settings.xmlNamespace);
}
}
delete this.buffer;
return buffer.toString();
}
writeStruct(ns, value, parentXmlns) {
const traits = ns.getMergedTraits();
const name = ns.isMemberSchema() && !traits.httpPayload ? ns.getMemberTraits().xmlName ?? ns.getMemberName() : traits.xmlName ?? ns.getName();
if (!name || !ns.isStructSchema()) {
throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);
}
const structXmlNode = xmlBuilder.XmlNode.of(name);
const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
for (const [memberName, memberSchema] of ns.structIterator()) {
const val = value[memberName];
if (val != null || memberSchema.isIdempotencyToken()) {
if (memberSchema.getMergedTraits().xmlAttribute) {
structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));
continue;
}
if (memberSchema.isListSchema()) {
this.writeList(memberSchema, val, structXmlNode, xmlns);
} else if (memberSchema.isMapSchema()) {
this.writeMap(memberSchema, val, structXmlNode, xmlns);
} else if (memberSchema.isStructSchema()) {
structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));
} else {
const memberNode = xmlBuilder.XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());
this.writeSimpleInto(memberSchema, val, memberNode, xmlns);
structXmlNode.addChildNode(memberNode);
}
}
}
const { $unknown } = value;
if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {
const [k2, v2] = $unknown;
const node = xmlBuilder.XmlNode.of(k2);
if (typeof v2 !== "string") {
if (value instanceof xmlBuilder.XmlNode || value instanceof xmlBuilder.XmlText) {
structXmlNode.addChildNode(value);
} else {
throw new Error(`@aws-sdk - $unknown union member in XML requires ` + `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);
}
}
this.writeSimpleInto(0, v2, node, xmlns);
structXmlNode.addChildNode(node);
}
if (xmlns) {
structXmlNode.addAttribute(xmlnsAttr, xmlns);
}
return structXmlNode;
}
writeList(listMember, array2, container, parentXmlns) {
if (!listMember.isMemberSchema()) {
throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);
}
const listTraits = listMember.getMergedTraits();
const listValueSchema = listMember.getValueSchema();
const listValueTraits = listValueSchema.getMergedTraits();
const sparse = !!listValueTraits.sparse;
const flat = !!listTraits.xmlFlattened;
const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);
const writeItem = (container2, value) => {
if (listValueSchema.isListSchema()) {
this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container2, xmlns);
} else if (listValueSchema.isMapSchema()) {
this.writeMap(listValueSchema, value, container2, xmlns);
} else if (listValueSchema.isStructSchema()) {
const struct = this.writeStruct(listValueSchema, value, xmlns);
container2.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member"));
} else {
const listItemNode = xmlBuilder.XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member");
this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);
container2.addChildNode(listItemNode);
}
};
if (flat) {
for (const value of array2) {
if (sparse || value != null) {
writeItem(container, value);
}
}
} else {
const listNode = xmlBuilder.XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());
if (xmlns) {
listNode.addAttribute(xmlnsAttr, xmlns);
}
for (const value of array2) {
if (sparse || value != null) {
writeItem(listNode, value);
}
}
container.addChildNode(listNode);
}
}
writeMap(mapMember, map2, container, parentXmlns, containerIsMap = false) {
if (!mapMember.isMemberSchema()) {
throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);
}
const mapTraits = mapMember.getMergedTraits();
const mapKeySchema = mapMember.getKeySchema();
const mapKeyTraits = mapKeySchema.getMergedTraits();
const keyTag = mapKeyTraits.xmlName ?? "key";
const mapValueSchema = mapMember.getValueSchema();
const mapValueTraits = mapValueSchema.getMergedTraits();
const valueTag = mapValueTraits.xmlName ?? "value";
const sparse = !!mapValueTraits.sparse;
const flat = !!mapTraits.xmlFlattened;
const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);
const addKeyValue = (entry, key, val) => {
const keyNode = xmlBuilder.XmlNode.of(keyTag, key);
const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);
if (keyXmlns) {
keyNode.addAttribute(keyXmlnsAttr, keyXmlns);
}
entry.addChildNode(keyNode);
let valueNode = xmlBuilder.XmlNode.of(valueTag);
if (mapValueSchema.isListSchema()) {
this.writeList(mapValueSchema, val, valueNode, xmlns);
} else if (mapValueSchema.isMapSchema()) {
this.writeMap(mapValueSchema, val, valueNode, xmlns, true);
} else if (mapValueSchema.isStructSchema()) {
valueNode = this.writeStruct(mapValueSchema, val, xmlns);
} else {
this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);
}
entry.addChildNode(valueNode);
};
if (flat) {
for (const [key, val] of Object.entries(map2)) {
if (sparse || val != null) {
const entry = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
addKeyValue(entry, key, val);
container.addChildNode(entry);
}
}
} else {
let mapNode2;
if (!containerIsMap) {
mapNode2 = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
if (xmlns) {
mapNode2.addAttribute(xmlnsAttr, xmlns);
}
container.addChildNode(mapNode2);
}
for (const [key, val] of Object.entries(map2)) {
if (sparse || val != null) {
const entry = xmlBuilder.XmlNode.of("entry");
addKeyValue(entry, key, val);
(containerIsMap ? container : mapNode2).addChildNode(entry);
}
}
}
}
writeSimple(_schema, value) {
if (value === null) {
throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");
}
const ns = schema.NormalizedSchema.of(_schema);
let nodeContents = null;
if (value && typeof value === "object") {
if (ns.isBlobSchema()) {
nodeContents = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);
} else if (ns.isTimestampSchema() && value instanceof Date) {
const format3 = protocols.determineTimestampFormat(ns, this.settings);
switch (format3) {
case 5:
nodeContents = value.toISOString().replace(".000Z", "Z");
break;
case 6:
nodeContents = smithyClient.dateToUtcString(value);
break;
case 7:
nodeContents = String(value.getTime() / 1000);
break;
default:
console.warn("Missing timestamp format, using http date", value);
nodeContents = smithyClient.dateToUtcString(value);
break;
}
} else if (ns.isBigDecimalSchema() && value) {
if (value instanceof serde.NumericValue) {
return value.string;
}
return String(value);
} else if (ns.isMapSchema() || ns.isListSchema()) {
throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");
} else {
throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);
}
}
if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
nodeContents = String(value);
}
if (ns.isStringSchema()) {
if (value === undefined && ns.isIdempotencyToken()) {
nodeContents = serde.generateIdempotencyToken();
} else {
nodeContents = String(value);
}
}
if (nodeContents === null) {
throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);
}
return nodeContents;
}
writeSimpleInto(_schema, value, into, parentXmlns) {
const nodeContents = this.writeSimple(_schema, value);
const ns = schema.NormalizedSchema.of(_schema);
const content = new xmlBuilder.XmlText(nodeContents);
const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
if (xmlns) {
into.addAttribute(xmlnsAttr, xmlns);
}
into.addChildNode(content);
}
getXmlnsAttribute(ns, parentXmlns) {
const traits = ns.getMergedTraits();
const [prefix, xmlns] = traits.xmlNamespace ?? [];
if (xmlns && xmlns !== parentXmlns) {
return [prefix ? `xmlns:${prefix}` : "xmlns", xmlns];
}
return [undefined, undefined];
}
}
class XmlCodec extends SerdeContextConfig {
settings;
constructor(settings) {
super();
this.settings = settings;
}
createSerializer() {
const serializer = new XmlShapeSerializer(this.settings);
serializer.setSerdeContext(this.serdeContext);
return serializer;
}
createDeserializer() {
const deserializer = new XmlShapeDeserializer(this.settings);
deserializer.setSerdeContext(this.serdeContext);
return deserializer;
}
}
class AwsRestXmlProtocol extends protocols.HttpBindingProtocol {
codec;
serializer;
deserializer;
mixin = new ProtocolLib;
constructor(options) {
super(options);
const settings = {
timestampFormat: {
useTrait: true,
default: 5
},
httpBindings: true,
xmlNamespace: options.xmlNamespace,
serviceNamespace: options.defaultNamespace
};
this.codec = new XmlCodec(settings);
this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
this.compositeErrorRegistry;
}
getPayloadCodec() {
return this.codec;
}
getShapeId() {
return "aws.protocols#restXml";
}
async serializeRequest(operationSchema, input, context) {
const request = await super.serializeRequest(operationSchema, input, context);
const inputSchema = schema.NormalizedSchema.of(operationSchema.input);
if (!request.headers["content-type"]) {
const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
if (contentType) {
request.headers["content-type"] = contentType;
}
}
if (typeof request.body === "string" && request.headers["content-type"] === this.getDefaultContentType() && !request.body.startsWith("' + request.body;
}
return request;
}
async deserializeResponse(operationSchema, context, response) {
return super.deserializeResponse(operationSchema, context, response);
}
async handleError(operationSchema, context, response, dataObject, metadata) {
const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? "Unknown";
this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);
if (dataObject.Error && typeof dataObject.Error === "object") {
for (const key of Object.keys(dataObject.Error)) {
dataObject[key] = dataObject.Error[key];
if (key.toLowerCase() === "message") {
dataObject.message = dataObject.Error[key];
}
}
}
if (dataObject.RequestId && !metadata.requestId) {
metadata.requestId = dataObject.RequestId;
}
const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
const ns = schema.NormalizedSchema.of(errorSchema);
const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? "UnknownError";
const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;
const exception = new ErrorCtor(message);
await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
const output = {};
for (const [name, member] of ns.structIterator()) {
const target = member.getMergedTraits().xmlName ?? name;
const value = dataObject.Error?.[target] ?? dataObject[target];
output[name] = this.codec.createDeserializer().readSchema(member, value);
}
throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {
$fault: ns.getMergedTraits().error,
message
}, output), dataObject);
}
getDefaultContentType() {
return "application/xml";
}
hasUnstructuredPayloadBinding(ns) {
for (const [, member] of ns.structIterator()) {
if (member.getMergedTraits().httpPayload) {
return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());
}
}
return false;
}
}
exports.AwsEc2QueryProtocol = AwsEc2QueryProtocol;
exports.AwsJson1_0Protocol = AwsJson1_0Protocol;
exports.AwsJson1_1Protocol = AwsJson1_1Protocol;
exports.AwsJsonRpcProtocol = AwsJsonRpcProtocol;
exports.AwsQueryProtocol = AwsQueryProtocol;
exports.AwsRestJsonProtocol = AwsRestJsonProtocol;
exports.AwsRestXmlProtocol = AwsRestXmlProtocol;
exports.AwsSmithyRpcV2CborProtocol = AwsSmithyRpcV2CborProtocol;
exports.JsonCodec = JsonCodec;
exports.JsonShapeDeserializer = JsonShapeDeserializer;
exports.JsonShapeSerializer = JsonShapeSerializer;
exports.QueryShapeSerializer = QueryShapeSerializer;
exports.XmlCodec = XmlCodec;
exports.XmlShapeDeserializer = XmlShapeDeserializer;
exports.XmlShapeSerializer = XmlShapeSerializer;
exports._toBool = _toBool;
exports._toNum = _toNum;
exports._toStr = _toStr;
exports.awsExpectUnion = awsExpectUnion;
exports.loadRestJsonErrorCode = loadRestJsonErrorCode;
exports.loadRestXmlErrorCode = loadRestXmlErrorCode;
exports.parseJsonBody = parseJsonBody;
exports.parseJsonErrorBody = parseJsonErrorBody;
exports.parseXmlBody = parseXmlBody;
exports.parseXmlErrorBody = parseXmlErrorBody;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js
var require_ruleset = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var u4 = "required";
var v2 = "fn";
var w2 = "argv";
var x3 = "ref";
var a2 = true;
var b2 = "isSet";
var c5 = "booleanEquals";
var d = "error";
var e = "endpoint";
var f = "tree";
var g2 = "PartitionResult";
var h2 = "getAttr";
var i2 = { [u4]: false, type: "string" };
var j2 = { [u4]: true, default: false, type: "boolean" };
var k2 = { [x3]: "Endpoint" };
var l = { [v2]: c5, [w2]: [{ [x3]: "UseFIPS" }, true] };
var m2 = { [v2]: c5, [w2]: [{ [x3]: "UseDualStack" }, true] };
var n2 = {};
var o2 = { [v2]: h2, [w2]: [{ [x3]: g2 }, "supportsFIPS"] };
var p = { [x3]: g2 };
var q2 = { [v2]: c5, [w2]: [true, { [v2]: h2, [w2]: [p, "supportsDualStack"] }] };
var r = [l];
var s = [m2];
var t = [{ [x3]: "Region" }];
var _data = {
version: "1.0",
parameters: { Region: i2, UseDualStack: j2, UseFIPS: j2, Endpoint: i2 },
rules: [
{
conditions: [{ [v2]: b2, [w2]: [k2] }],
rules: [
{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d },
{ conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d },
{ endpoint: { url: k2, properties: n2, headers: n2 }, type: e }
],
type: f
},
{
conditions: [{ [v2]: b2, [w2]: t }],
rules: [
{
conditions: [{ [v2]: "aws.partition", [w2]: t, assign: g2 }],
rules: [
{
conditions: [l, m2],
rules: [
{
conditions: [{ [v2]: c5, [w2]: [a2, o2] }, q2],
rules: [
{
endpoint: {
url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }
],
type: f
},
{
conditions: r,
rules: [
{
conditions: [{ [v2]: c5, [w2]: [o2, a2] }],
rules: [
{
conditions: [{ [v2]: "stringEquals", [w2]: [{ [v2]: h2, [w2]: [p, "name"] }, "aws-us-gov"] }],
endpoint: { url: "https://oidc.{Region}.amazonaws.com", properties: n2, headers: n2 },
type: e
},
{
endpoint: {
url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "FIPS is enabled but this partition does not support FIPS", type: d }
],
type: f
},
{
conditions: s,
rules: [
{
conditions: [q2],
rules: [
{
endpoint: {
url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "DualStack is enabled but this partition does not support DualStack", type: d }
],
type: f
},
{
endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: n2, headers: n2 },
type: e
}
],
type: f
}
],
type: f
},
{ error: "Invalid Configuration: Missing Region", type: d }
]
};
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/endpointResolver.js
var require_endpointResolver = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/models/SSOOIDCServiceException.js
var require_SSOOIDCServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SSOOIDCServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class SSOOIDCServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);
}
}
exports.SSOOIDCServiceException = SSOOIDCServiceException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/models/errors.js
var require_errors2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnsupportedGrantTypeException = exports.UnauthorizedClientException = exports.SlowDownException = exports.InvalidScopeException = exports.InvalidRequestException = exports.InvalidGrantException = exports.InvalidClientException = exports.InternalServerException = exports.ExpiredTokenException = exports.AuthorizationPendingException = exports.AccessDeniedException = undefined;
var SSOOIDCServiceException_1 = require_SSOOIDCServiceException();
class AccessDeniedException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "AccessDeniedException";
$fault = "client";
error;
reason;
error_description;
constructor(opts) {
super({
name: "AccessDeniedException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, AccessDeniedException.prototype);
this.error = opts.error;
this.reason = opts.reason;
this.error_description = opts.error_description;
}
}
exports.AccessDeniedException = AccessDeniedException;
class AuthorizationPendingException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "AuthorizationPendingException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "AuthorizationPendingException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, AuthorizationPendingException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.AuthorizationPendingException = AuthorizationPendingException;
class ExpiredTokenException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "ExpiredTokenException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "ExpiredTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ExpiredTokenException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.ExpiredTokenException = ExpiredTokenException;
class InternalServerException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "InternalServerException";
$fault = "server";
error;
error_description;
constructor(opts) {
super({
name: "InternalServerException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, InternalServerException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.InternalServerException = InternalServerException;
class InvalidClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "InvalidClientException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "InvalidClientException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidClientException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.InvalidClientException = InvalidClientException;
class InvalidGrantException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "InvalidGrantException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "InvalidGrantException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidGrantException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.InvalidGrantException = InvalidGrantException;
class InvalidRequestException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "InvalidRequestException";
$fault = "client";
error;
reason;
error_description;
constructor(opts) {
super({
name: "InvalidRequestException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidRequestException.prototype);
this.error = opts.error;
this.reason = opts.reason;
this.error_description = opts.error_description;
}
}
exports.InvalidRequestException = InvalidRequestException;
class InvalidScopeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "InvalidScopeException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "InvalidScopeException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidScopeException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.InvalidScopeException = InvalidScopeException;
class SlowDownException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "SlowDownException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "SlowDownException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, SlowDownException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.SlowDownException = SlowDownException;
class UnauthorizedClientException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "UnauthorizedClientException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "UnauthorizedClientException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, UnauthorizedClientException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.UnauthorizedClientException = UnauthorizedClientException;
class UnsupportedGrantTypeException extends SSOOIDCServiceException_1.SSOOIDCServiceException {
name = "UnsupportedGrantTypeException";
$fault = "client";
error;
error_description;
constructor(opts) {
super({
name: "UnsupportedGrantTypeException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);
this.error = opts.error;
this.error_description = opts.error_description;
}
}
exports.UnsupportedGrantTypeException = UnsupportedGrantTypeException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/schemas/schemas_0.js
var require_schemas_0 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateToken$ = exports.CreateTokenResponse$ = exports.CreateTokenRequest$ = exports.errorTypeRegistries = exports.UnsupportedGrantTypeException$ = exports.UnauthorizedClientException$ = exports.SlowDownException$ = exports.InvalidScopeException$ = exports.InvalidRequestException$ = exports.InvalidGrantException$ = exports.InvalidClientException$ = exports.InternalServerException$ = exports.ExpiredTokenException$ = exports.AuthorizationPendingException$ = exports.AccessDeniedException$ = exports.SSOOIDCServiceException$ = undefined;
var _ADE = "AccessDeniedException";
var _APE = "AuthorizationPendingException";
var _AT = "AccessToken";
var _CS = "ClientSecret";
var _CT = "CreateToken";
var _CTR = "CreateTokenRequest";
var _CTRr = "CreateTokenResponse";
var _CV = "CodeVerifier";
var _ETE = "ExpiredTokenException";
var _ICE = "InvalidClientException";
var _IGE = "InvalidGrantException";
var _IRE = "InvalidRequestException";
var _ISE = "InternalServerException";
var _ISEn = "InvalidScopeException";
var _IT = "IdToken";
var _RT = "RefreshToken";
var _SDE = "SlowDownException";
var _UCE = "UnauthorizedClientException";
var _UGTE = "UnsupportedGrantTypeException";
var _aT = "accessToken";
var _c = "client";
var _cI = "clientId";
var _cS = "clientSecret";
var _cV = "codeVerifier";
var _co = "code";
var _dC = "deviceCode";
var _e2 = "error";
var _eI = "expiresIn";
var _ed = "error_description";
var _gT = "grantType";
var _h = "http";
var _hE = "httpError";
var _iT = "idToken";
var _r = "reason";
var _rT = "refreshToken";
var _rU = "redirectUri";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.ssooidc";
var _sc = "scope";
var _se = "server";
var _tT = "tokenType";
var n0 = "com.amazonaws.ssooidc";
var schema_1 = require_schema();
var errors_1 = require_errors2();
var SSOOIDCServiceException_1 = require_SSOOIDCServiceException();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.SSOOIDCServiceException$ = [-3, _s, "SSOOIDCServiceException", 0, [], []];
_s_registry.registerError(exports.SSOOIDCServiceException$, SSOOIDCServiceException_1.SSOOIDCServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.AccessDeniedException$ = [
-3,
n0,
_ADE,
{ [_e2]: _c, [_hE]: 400 },
[_e2, _r, _ed],
[0, 0, 0]
];
n0_registry.registerError(exports.AccessDeniedException$, errors_1.AccessDeniedException);
exports.AuthorizationPendingException$ = [
-3,
n0,
_APE,
{ [_e2]: _c, [_hE]: 400 },
[_e2, _ed],
[0, 0]
];
n0_registry.registerError(exports.AuthorizationPendingException$, errors_1.AuthorizationPendingException);
exports.ExpiredTokenException$ = [-3, n0, _ETE, { [_e2]: _c, [_hE]: 400 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.ExpiredTokenException$, errors_1.ExpiredTokenException);
exports.InternalServerException$ = [-3, n0, _ISE, { [_e2]: _se, [_hE]: 500 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.InternalServerException$, errors_1.InternalServerException);
exports.InvalidClientException$ = [-3, n0, _ICE, { [_e2]: _c, [_hE]: 401 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.InvalidClientException$, errors_1.InvalidClientException);
exports.InvalidGrantException$ = [-3, n0, _IGE, { [_e2]: _c, [_hE]: 400 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.InvalidGrantException$, errors_1.InvalidGrantException);
exports.InvalidRequestException$ = [
-3,
n0,
_IRE,
{ [_e2]: _c, [_hE]: 400 },
[_e2, _r, _ed],
[0, 0, 0]
];
n0_registry.registerError(exports.InvalidRequestException$, errors_1.InvalidRequestException);
exports.InvalidScopeException$ = [-3, n0, _ISEn, { [_e2]: _c, [_hE]: 400 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.InvalidScopeException$, errors_1.InvalidScopeException);
exports.SlowDownException$ = [-3, n0, _SDE, { [_e2]: _c, [_hE]: 400 }, [_e2, _ed], [0, 0]];
n0_registry.registerError(exports.SlowDownException$, errors_1.SlowDownException);
exports.UnauthorizedClientException$ = [
-3,
n0,
_UCE,
{ [_e2]: _c, [_hE]: 400 },
[_e2, _ed],
[0, 0]
];
n0_registry.registerError(exports.UnauthorizedClientException$, errors_1.UnauthorizedClientException);
exports.UnsupportedGrantTypeException$ = [
-3,
n0,
_UGTE,
{ [_e2]: _c, [_hE]: 400 },
[_e2, _ed],
[0, 0]
];
n0_registry.registerError(exports.UnsupportedGrantTypeException$, errors_1.UnsupportedGrantTypeException);
exports.errorTypeRegistries = [_s_registry, n0_registry];
var AccessToken = [0, n0, _AT, 8, 0];
var ClientSecret = [0, n0, _CS, 8, 0];
var CodeVerifier = [0, n0, _CV, 8, 0];
var IdToken = [0, n0, _IT, 8, 0];
var RefreshToken = [0, n0, _RT, 8, 0];
exports.CreateTokenRequest$ = [
3,
n0,
_CTR,
0,
[_cI, _cS, _gT, _dC, _co, _rT, _sc, _rU, _cV],
[0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]],
3
];
exports.CreateTokenResponse$ = [
3,
n0,
_CTRr,
0,
[_aT, _tT, _eI, _rT, _iT],
[[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]]
];
var Scopes = 64 | 0;
exports.CreateToken$ = [
9,
n0,
_CT,
{ [_h]: ["POST", "/token", 200] },
() => exports.CreateTokenRequest$,
() => exports.CreateTokenResponse$
];
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/runtimeConfig.shared.js
var require_runtimeConfig_shared = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider();
var endpointResolver_1 = require_endpointResolver();
var schemas_0_1 = require_schemas_0();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2019-06-10",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOOIDCHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsRestJsonProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.ssooidc",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
version: "2019-06-10",
serviceTarget: "AWSSSOOIDCService"
},
serviceId: config2?.serviceId ?? "SSO OIDC",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/runtimeConfig.js
var require_runtimeConfig = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+region-config-resolver@3.972.10/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js
var require_stsRegionDefaultResolver = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.warning = undefined;
exports.stsRegionDefaultResolver = stsRegionDefaultResolver;
var config_resolver_1 = require_dist_cjs36();
var node_config_provider_1 = require_dist_cjs9();
function stsRegionDefaultResolver(loaderConfig = {}) {
return (0, node_config_provider_1.loadConfig)({
...config_resolver_1.NODE_REGION_CONFIG_OPTIONS,
async default() {
if (!exports.warning.silence) {
console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.");
}
return "us-east-1";
}
}, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig });
}
exports.warning = {
silence: false
};
});
// node_modules/.pnpm/@aws-sdk+region-config-resolver@3.972.10/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js
var require_dist_cjs47 = __commonJS((exports) => {
var stsRegionDefaultResolver = require_stsRegionDefaultResolver();
var configResolver = require_dist_cjs36();
var getAwsRegionExtensionConfiguration = (runtimeConfig) => {
return {
setRegion(region) {
runtimeConfig.region = region;
},
region() {
return runtimeConfig.region;
}
};
};
var resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {
return {
region: awsRegionExtensionConfiguration.region()
};
};
exports.NODE_REGION_CONFIG_FILE_OPTIONS = configResolver.NODE_REGION_CONFIG_FILE_OPTIONS;
exports.NODE_REGION_CONFIG_OPTIONS = configResolver.NODE_REGION_CONFIG_OPTIONS;
exports.REGION_ENV_NAME = configResolver.REGION_ENV_NAME;
exports.REGION_INI_NAME = configResolver.REGION_INI_NAME;
exports.resolveRegionConfig = configResolver.resolveRegionConfig;
exports.getAwsRegionExtensionConfiguration = getAwsRegionExtensionConfiguration;
exports.resolveAwsRegionExtensionConfiguration = resolveAwsRegionExtensionConfiguration;
Object.prototype.hasOwnProperty.call(stsRegionDefaultResolver, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: stsRegionDefaultResolver["__proto__"]
});
Object.keys(stsRegionDefaultResolver).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = stsRegionDefaultResolver[k2];
});
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js
var require_sso_oidc = __commonJS((exports) => {
var middlewareHostHeader = require_dist_cjs27();
var middlewareLogger = require_dist_cjs28();
var middlewareRecursionDetection = require_dist_cjs29();
var middlewareUserAgent = require_dist_cjs34();
var configResolver = require_dist_cjs36();
var core2 = require_dist_cjs25();
var schema = require_schema();
var middlewareContentLength = require_dist_cjs37();
var middlewareEndpoint = require_dist_cjs39();
var middlewareRetry = require_dist_cjs40();
var smithyClient = require_dist_cjs23();
var httpAuthSchemeProvider = require_httpAuthSchemeProvider();
var runtimeConfig = require_runtimeConfig();
var regionConfigResolver = require_dist_cjs47();
var protocolHttp = require_dist_cjs2();
var schemas_0 = require_schemas_0();
var errors3 = require_errors2();
var SSOOIDCServiceException = require_SSOOIDCServiceException();
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
defaultSigningName: "sso-oauth"
});
};
var commonParams = {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
var getHttpAuthExtensionConfiguration = (runtimeConfig2) => {
const _httpAuthSchemes = runtimeConfig2.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig2.httpAuthSchemeProvider;
let _credentials = runtimeConfig2.credentials;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider2) {
_httpAuthSchemeProvider = httpAuthSchemeProvider2;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
}
};
};
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials()
};
};
var resolveRuntimeExtensions = (runtimeConfig2, extensions) => {
const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig2), smithyClient.getDefaultExtensionConfiguration(runtimeConfig2), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig2), getHttpAuthExtensionConfiguration(runtimeConfig2));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig2, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};
class SSOOIDCClient extends smithyClient.Client {
config;
constructor(...[configuration]) {
const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = resolveClientEndpointParameters(_config_0);
const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);
const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);
const _config_4 = configResolver.resolveRegionConfig(_config_3);
const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);
const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);
const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);
const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));
this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));
this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));
this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));
this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));
this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));
this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));
this.middlewareStack.use(core2.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultSSOOIDCHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core2.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials
})
}));
this.middlewareStack.use(core2.getHttpSigningPlugin(this.config));
}
destroy() {
super.destroy();
}
}
class CreateTokenCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSSOOIDCService", "CreateToken", {}).n("SSOOIDCClient", "CreateTokenCommand").sc(schemas_0.CreateToken$).build() {
}
var commands = {
CreateTokenCommand
};
class SSOOIDC extends SSOOIDCClient {
}
smithyClient.createAggregatedClient(commands, SSOOIDC);
var AccessDeniedExceptionReason = {
KMS_ACCESS_DENIED: "KMS_AccessDeniedException"
};
var InvalidRequestExceptionReason = {
KMS_DISABLED_KEY: "KMS_DisabledException",
KMS_INVALID_KEY_USAGE: "KMS_InvalidKeyUsageException",
KMS_INVALID_STATE: "KMS_InvalidStateException",
KMS_KEY_NOT_FOUND: "KMS_NotFoundException"
};
exports.$Command = smithyClient.Command;
exports.__Client = smithyClient.Client;
exports.SSOOIDCServiceException = SSOOIDCServiceException.SSOOIDCServiceException;
exports.AccessDeniedExceptionReason = AccessDeniedExceptionReason;
exports.CreateTokenCommand = CreateTokenCommand;
exports.InvalidRequestExceptionReason = InvalidRequestExceptionReason;
exports.SSOOIDC = SSOOIDC;
exports.SSOOIDCClient = SSOOIDCClient;
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// node_modules/.pnpm/@aws-sdk+token-providers@3.1020.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js
var require_dist_cjs48 = __commonJS((exports) => {
var client = require_client2();
var httpAuthSchemes = require_httpAuthSchemes();
var propertyProvider = require_dist_cjs6();
var sharedIniFileLoader = require_dist_cjs8();
var node_fs = __require("node:fs");
var fromEnvSigningName = ({ logger, signingName } = {}) => async () => {
logger?.debug?.("@aws-sdk/token-providers - fromEnvSigningName");
if (!signingName) {
throw new propertyProvider.TokenProviderError("Please pass 'signingName' to compute environment variable key", { logger });
}
const bearerTokenKey = httpAuthSchemes.getBearerTokenEnvKey(signingName);
if (!(bearerTokenKey in process.env)) {
throw new propertyProvider.TokenProviderError(`Token not present in '${bearerTokenKey}' environment variable`, { logger });
}
const token = { token: process.env[bearerTokenKey] };
client.setTokenFeature(token, "BEARER_SERVICE_ENV_VARS", "3");
return token;
};
var EXPIRE_WINDOW_MS = 5 * 60 * 1000;
var REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;
var getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {
const { SSOOIDCClient } = await Promise.resolve().then(() => __toESM(require_sso_oidc()));
const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop] ?? callerClientConfig?.[prop];
const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {
region: ssoRegion ?? init.clientConfig?.region,
logger: coalesce("logger"),
userAgentAppId: coalesce("userAgentAppId")
}));
return ssoOidcClient;
};
var getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}, callerClientConfig) => {
const { CreateTokenCommand } = await Promise.resolve().then(() => __toESM(require_sso_oidc()));
const ssoOidcClient = await getSsoOidcClient(ssoRegion, init, callerClientConfig);
return ssoOidcClient.send(new CreateTokenCommand({
clientId: ssoToken.clientId,
clientSecret: ssoToken.clientSecret,
refreshToken: ssoToken.refreshToken,
grantType: "refresh_token"
}));
};
var validateTokenExpiry = (token) => {
if (token.expiration && token.expiration.getTime() < Date.now()) {
throw new propertyProvider.TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);
}
};
var validateTokenKey = (key, value, forRefresh = false) => {
if (typeof value === "undefined") {
throw new propertyProvider.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${REFRESH_MESSAGE}`, false);
}
};
var { writeFile: writeFile2 } = node_fs.promises;
var writeSSOTokenToFile = (id, ssoToken) => {
const tokenFilepath = sharedIniFileLoader.getSSOTokenFilepath(id);
const tokenString = JSON.stringify(ssoToken, null, 2);
return writeFile2(tokenFilepath, tokenString);
};
var lastRefreshAttemptTime = new Date(0);
var fromSso = (init = {}) => async ({ callerClientConfig } = {}) => {
init.logger?.debug("@aws-sdk/token-providers - fromSso");
const profiles = await sharedIniFileLoader.parseKnownFiles(init);
const profileName = sharedIniFileLoader.getProfileName({
profile: init.profile ?? callerClientConfig?.profile
});
const profile = profiles[profileName];
if (!profile) {
throw new propertyProvider.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);
} else if (!profile["sso_session"]) {
throw new propertyProvider.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);
}
const ssoSessionName = profile["sso_session"];
const ssoSessions = await sharedIniFileLoader.loadSsoSessionData(init);
const ssoSession = ssoSessions[ssoSessionName];
if (!ssoSession) {
throw new propertyProvider.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);
}
for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) {
if (!ssoSession[ssoSessionRequiredKey]) {
throw new propertyProvider.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);
}
}
ssoSession["sso_start_url"];
const ssoRegion = ssoSession["sso_region"];
let ssoToken;
try {
ssoToken = await sharedIniFileLoader.getSSOTokenFromFile(ssoSessionName);
} catch (e) {
throw new propertyProvider.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);
}
validateTokenKey("accessToken", ssoToken.accessToken);
validateTokenKey("expiresAt", ssoToken.expiresAt);
const { accessToken, expiresAt } = ssoToken;
const existingToken = { token: accessToken, expiration: new Date(expiresAt) };
if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {
return existingToken;
}
if (Date.now() - lastRefreshAttemptTime.getTime() < 30000) {
validateTokenExpiry(existingToken);
return existingToken;
}
validateTokenKey("clientId", ssoToken.clientId, true);
validateTokenKey("clientSecret", ssoToken.clientSecret, true);
validateTokenKey("refreshToken", ssoToken.refreshToken, true);
try {
lastRefreshAttemptTime.setTime(Date.now());
const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init, callerClientConfig);
validateTokenKey("accessToken", newSsoOidcToken.accessToken);
validateTokenKey("expiresIn", newSsoOidcToken.expiresIn);
const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);
try {
await writeSSOTokenToFile(ssoSessionName, {
...ssoToken,
accessToken: newSsoOidcToken.accessToken,
expiresAt: newTokenExpiration.toISOString(),
refreshToken: newSsoOidcToken.refreshToken
});
} catch (error49) {}
return {
token: newSsoOidcToken.accessToken,
expiration: newTokenExpiration
};
} catch (error49) {
validateTokenExpiry(existingToken);
return existingToken;
}
};
var fromStatic = ({ token, logger }) => async () => {
logger?.debug("@aws-sdk/token-providers - fromStatic");
if (!token || !token.token) {
throw new propertyProvider.TokenProviderError(`Please pass a valid token to fromStatic`, false);
}
return token;
};
var nodeProvider = (init = {}) => propertyProvider.memoize(propertyProvider.chain(fromSso(init), async () => {
throw new propertyProvider.TokenProviderError("Could not load token from any providers", false);
}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);
exports.fromEnvSigningName = fromEnvSigningName;
exports.fromSso = fromSso;
exports.fromStatic = fromStatic;
exports.nodeProvider = nodeProvider;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.defaultSSOHttpAuthSchemeProvider = exports.defaultSSOHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_middleware_1 = require_dist_cjs21();
var defaultSSOHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultSSOHttpAuthSchemeParametersProvider = defaultSSOHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "awsssoportal",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#noAuth"
};
}
var defaultSSOHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
case "GetRoleCredentials": {
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultSSOHttpAuthSchemeProvider = defaultSSOHttpAuthSchemeProvider;
var resolveHttpAuthSchemeConfig = (config2) => {
const config_0 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config2);
return Object.assign(config_0, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? [])
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/ruleset.js
var require_ruleset2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var u4 = "required";
var v2 = "fn";
var w2 = "argv";
var x3 = "ref";
var a2 = true;
var b2 = "isSet";
var c5 = "booleanEquals";
var d = "error";
var e = "endpoint";
var f = "tree";
var g2 = "PartitionResult";
var h2 = "getAttr";
var i2 = { [u4]: false, type: "string" };
var j2 = { [u4]: true, default: false, type: "boolean" };
var k2 = { [x3]: "Endpoint" };
var l = { [v2]: c5, [w2]: [{ [x3]: "UseFIPS" }, true] };
var m2 = { [v2]: c5, [w2]: [{ [x3]: "UseDualStack" }, true] };
var n2 = {};
var o2 = { [v2]: h2, [w2]: [{ [x3]: g2 }, "supportsFIPS"] };
var p = { [x3]: g2 };
var q2 = { [v2]: c5, [w2]: [true, { [v2]: h2, [w2]: [p, "supportsDualStack"] }] };
var r = [l];
var s = [m2];
var t = [{ [x3]: "Region" }];
var _data = {
version: "1.0",
parameters: { Region: i2, UseDualStack: j2, UseFIPS: j2, Endpoint: i2 },
rules: [
{
conditions: [{ [v2]: b2, [w2]: [k2] }],
rules: [
{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d },
{ conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d },
{ endpoint: { url: k2, properties: n2, headers: n2 }, type: e }
],
type: f
},
{
conditions: [{ [v2]: b2, [w2]: t }],
rules: [
{
conditions: [{ [v2]: "aws.partition", [w2]: t, assign: g2 }],
rules: [
{
conditions: [l, m2],
rules: [
{
conditions: [{ [v2]: c5, [w2]: [a2, o2] }, q2],
rules: [
{
endpoint: {
url: "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }
],
type: f
},
{
conditions: r,
rules: [
{
conditions: [{ [v2]: c5, [w2]: [o2, a2] }],
rules: [
{
conditions: [{ [v2]: "stringEquals", [w2]: [{ [v2]: h2, [w2]: [p, "name"] }, "aws-us-gov"] }],
endpoint: { url: "https://portal.sso.{Region}.amazonaws.com", properties: n2, headers: n2 },
type: e
},
{
endpoint: {
url: "https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "FIPS is enabled but this partition does not support FIPS", type: d }
],
type: f
},
{
conditions: s,
rules: [
{
conditions: [q2],
rules: [
{
endpoint: {
url: "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "DualStack is enabled but this partition does not support DualStack", type: d }
],
type: f
},
{
endpoint: { url: "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", properties: n2, headers: n2 },
type: e
}
],
type: f
}
],
type: f
},
{ error: "Invalid Configuration: Missing Region", type: d }
]
};
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/endpointResolver.js
var require_endpointResolver2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset2();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/models/SSOServiceException.js
var require_SSOServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SSOServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class SSOServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, SSOServiceException.prototype);
}
}
exports.SSOServiceException = SSOServiceException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/models/errors.js
var require_errors3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnauthorizedException = exports.TooManyRequestsException = exports.ResourceNotFoundException = exports.InvalidRequestException = undefined;
var SSOServiceException_1 = require_SSOServiceException();
class InvalidRequestException extends SSOServiceException_1.SSOServiceException {
name = "InvalidRequestException";
$fault = "client";
constructor(opts) {
super({
name: "InvalidRequestException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidRequestException.prototype);
}
}
exports.InvalidRequestException = InvalidRequestException;
class ResourceNotFoundException extends SSOServiceException_1.SSOServiceException {
name = "ResourceNotFoundException";
$fault = "client";
constructor(opts) {
super({
name: "ResourceNotFoundException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
}
}
exports.ResourceNotFoundException = ResourceNotFoundException;
class TooManyRequestsException extends SSOServiceException_1.SSOServiceException {
name = "TooManyRequestsException";
$fault = "client";
constructor(opts) {
super({
name: "TooManyRequestsException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, TooManyRequestsException.prototype);
}
}
exports.TooManyRequestsException = TooManyRequestsException;
class UnauthorizedException extends SSOServiceException_1.SSOServiceException {
name = "UnauthorizedException";
$fault = "client";
constructor(opts) {
super({
name: "UnauthorizedException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, UnauthorizedException.prototype);
}
}
exports.UnauthorizedException = UnauthorizedException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/schemas/schemas_0.js
var require_schemas_02 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetRoleCredentials$ = exports.RoleCredentials$ = exports.GetRoleCredentialsResponse$ = exports.GetRoleCredentialsRequest$ = exports.errorTypeRegistries = exports.UnauthorizedException$ = exports.TooManyRequestsException$ = exports.ResourceNotFoundException$ = exports.InvalidRequestException$ = exports.SSOServiceException$ = undefined;
var _ATT = "AccessTokenType";
var _GRC = "GetRoleCredentials";
var _GRCR = "GetRoleCredentialsRequest";
var _GRCRe = "GetRoleCredentialsResponse";
var _IRE = "InvalidRequestException";
var _RC = "RoleCredentials";
var _RNFE = "ResourceNotFoundException";
var _SAKT = "SecretAccessKeyType";
var _STT = "SessionTokenType";
var _TMRE = "TooManyRequestsException";
var _UE = "UnauthorizedException";
var _aI = "accountId";
var _aKI = "accessKeyId";
var _aT = "accessToken";
var _ai = "account_id";
var _c = "client";
var _e2 = "error";
var _ex = "expiration";
var _h = "http";
var _hE = "httpError";
var _hH = "httpHeader";
var _hQ = "httpQuery";
var _m = "message";
var _rC = "roleCredentials";
var _rN = "roleName";
var _rn = "role_name";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.sso";
var _sAK = "secretAccessKey";
var _sT = "sessionToken";
var _xasbt = "x-amz-sso_bearer_token";
var n0 = "com.amazonaws.sso";
var schema_1 = require_schema();
var errors_1 = require_errors3();
var SSOServiceException_1 = require_SSOServiceException();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.SSOServiceException$ = [-3, _s, "SSOServiceException", 0, [], []];
_s_registry.registerError(exports.SSOServiceException$, SSOServiceException_1.SSOServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.InvalidRequestException$ = [-3, n0, _IRE, { [_e2]: _c, [_hE]: 400 }, [_m], [0]];
n0_registry.registerError(exports.InvalidRequestException$, errors_1.InvalidRequestException);
exports.ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e2]: _c, [_hE]: 404 }, [_m], [0]];
n0_registry.registerError(exports.ResourceNotFoundException$, errors_1.ResourceNotFoundException);
exports.TooManyRequestsException$ = [-3, n0, _TMRE, { [_e2]: _c, [_hE]: 429 }, [_m], [0]];
n0_registry.registerError(exports.TooManyRequestsException$, errors_1.TooManyRequestsException);
exports.UnauthorizedException$ = [-3, n0, _UE, { [_e2]: _c, [_hE]: 401 }, [_m], [0]];
n0_registry.registerError(exports.UnauthorizedException$, errors_1.UnauthorizedException);
exports.errorTypeRegistries = [_s_registry, n0_registry];
var AccessTokenType = [0, n0, _ATT, 8, 0];
var SecretAccessKeyType = [0, n0, _SAKT, 8, 0];
var SessionTokenType = [0, n0, _STT, 8, 0];
exports.GetRoleCredentialsRequest$ = [
3,
n0,
_GRCR,
0,
[_rN, _aI, _aT],
[
[0, { [_hQ]: _rn }],
[0, { [_hQ]: _ai }],
[() => AccessTokenType, { [_hH]: _xasbt }]
],
3
];
exports.GetRoleCredentialsResponse$ = [
3,
n0,
_GRCRe,
0,
[_rC],
[[() => exports.RoleCredentials$, 0]]
];
exports.RoleCredentials$ = [
3,
n0,
_RC,
0,
[_aKI, _sAK, _sT, _ex],
[0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1]
];
exports.GetRoleCredentials$ = [
9,
n0,
_GRC,
{ [_h]: ["GET", "/federation/credentials", 200] },
() => exports.GetRoleCredentialsRequest$,
() => exports.GetRoleCredentialsResponse$
];
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/runtimeConfig.shared.js
var require_runtimeConfig_shared2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider2();
var endpointResolver_1 = require_endpointResolver2();
var schemas_0_1 = require_schemas_02();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2019-06-10",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsRestJsonProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.sso",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
version: "2019-06-10",
serviceTarget: "SWBPortalService"
},
serviceId: config2?.serviceId ?? "SSO",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/runtimeConfig.js
var require_runtimeConfig2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared2();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js
var require_sso = __commonJS((exports) => {
var middlewareHostHeader = require_dist_cjs27();
var middlewareLogger = require_dist_cjs28();
var middlewareRecursionDetection = require_dist_cjs29();
var middlewareUserAgent = require_dist_cjs34();
var configResolver = require_dist_cjs36();
var core2 = require_dist_cjs25();
var schema = require_schema();
var middlewareContentLength = require_dist_cjs37();
var middlewareEndpoint = require_dist_cjs39();
var middlewareRetry = require_dist_cjs40();
var smithyClient = require_dist_cjs23();
var httpAuthSchemeProvider = require_httpAuthSchemeProvider2();
var runtimeConfig = require_runtimeConfig2();
var regionConfigResolver = require_dist_cjs47();
var protocolHttp = require_dist_cjs2();
var schemas_0 = require_schemas_02();
var errors3 = require_errors3();
var SSOServiceException = require_SSOServiceException();
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
defaultSigningName: "awsssoportal"
});
};
var commonParams = {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
var getHttpAuthExtensionConfiguration = (runtimeConfig2) => {
const _httpAuthSchemes = runtimeConfig2.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig2.httpAuthSchemeProvider;
let _credentials = runtimeConfig2.credentials;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider2) {
_httpAuthSchemeProvider = httpAuthSchemeProvider2;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
}
};
};
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials()
};
};
var resolveRuntimeExtensions = (runtimeConfig2, extensions) => {
const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig2), smithyClient.getDefaultExtensionConfiguration(runtimeConfig2), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig2), getHttpAuthExtensionConfiguration(runtimeConfig2));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig2, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};
class SSOClient extends smithyClient.Client {
config;
constructor(...[configuration]) {
const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = resolveClientEndpointParameters(_config_0);
const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);
const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);
const _config_4 = configResolver.resolveRegionConfig(_config_3);
const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);
const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);
const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);
const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));
this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));
this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));
this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));
this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));
this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));
this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));
this.middlewareStack.use(core2.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultSSOHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core2.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials
})
}));
this.middlewareStack.use(core2.getHttpSigningPlugin(this.config));
}
destroy() {
super.destroy();
}
}
class GetRoleCredentialsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("SWBPortalService", "GetRoleCredentials", {}).n("SSOClient", "GetRoleCredentialsCommand").sc(schemas_0.GetRoleCredentials$).build() {
}
var commands = {
GetRoleCredentialsCommand
};
class SSO extends SSOClient {
}
smithyClient.createAggregatedClient(commands, SSO);
exports.$Command = smithyClient.Command;
exports.__Client = smithyClient.Client;
exports.SSOServiceException = SSOServiceException.SSOServiceException;
exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;
exports.SSO = SSO;
exports.SSOClient = SSOClient;
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.972.27/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-BKDNrsal.js
var require_loadSso_BKDNrsal = __commonJS((exports) => {
var sso = require_sso();
exports.GetRoleCredentialsCommand = sso.GetRoleCredentialsCommand;
exports.SSOClient = sso.SSOClient;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.972.27/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js
var require_dist_cjs49 = __commonJS((exports) => {
var propertyProvider = require_dist_cjs6();
var sharedIniFileLoader = require_dist_cjs8();
var client = require_client2();
var tokenProviders = require_dist_cjs48();
var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string");
var SHOULD_FAIL_CREDENTIAL_CHAIN = false;
var resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger }) => {
let token;
const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
if (ssoSession) {
try {
const _token = await tokenProviders.fromSso({
profile,
filepath,
configFilepath,
ignoreCache
})();
token = {
accessToken: _token.token,
expiresAt: new Date(_token.expiration).toISOString()
};
} catch (e) {
throw new propertyProvider.CredentialsProviderError(e.message, {
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
logger
});
}
} else {
try {
token = await sharedIniFileLoader.getSSOTokenFromFile(ssoStartUrl);
} catch (e) {
throw new propertyProvider.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
logger
});
}
}
if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {
throw new propertyProvider.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
logger
});
}
const { accessToken } = token;
const { SSOClient, GetRoleCredentialsCommand } = await Promise.resolve().then(function() {
return require_loadSso_BKDNrsal();
});
const sso = ssoClient || new SSOClient(Object.assign({}, clientConfig ?? {}, {
logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,
region: clientConfig?.region ?? ssoRegion,
userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId
}));
let ssoResp;
try {
ssoResp = await sso.send(new GetRoleCredentialsCommand({
accountId: ssoAccountId,
roleName: ssoRoleName,
accessToken
}));
} catch (e) {
throw new propertyProvider.CredentialsProviderError(e, {
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
logger
});
}
const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {} } = ssoResp;
if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {
throw new propertyProvider.CredentialsProviderError("SSO returns an invalid temporary credential.", {
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
logger
});
}
const credentials = {
accessKeyId,
secretAccessKey,
sessionToken,
expiration: new Date(expiration),
...credentialScope && { credentialScope },
...accountId && { accountId }
};
if (ssoSession) {
client.setCredentialFeature(credentials, "CREDENTIALS_SSO", "s");
} else {
client.setCredentialFeature(credentials, "CREDENTIALS_SSO_LEGACY", "u");
}
return credentials;
};
var validateSsoProfile = (profile, logger) => {
const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
throw new propertyProvider.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", ` + `"sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")}
Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });
}
return profile;
};
var fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {
init.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
const { ssoClient } = init;
const profileName = sharedIniFileLoader.getProfileName({
profile: init.profile ?? callerClientConfig?.profile
});
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
const profiles = await sharedIniFileLoader.parseKnownFiles(init);
const profile = profiles[profileName];
if (!profile) {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });
}
if (!isSsoProfile(profile)) {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {
logger: init.logger
});
}
if (profile?.sso_session) {
const ssoSessions = await sharedIniFileLoader.loadSsoSessionData(init);
const session = ssoSessions[profile.sso_session];
const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;
if (ssoRegion && ssoRegion !== session.sso_region) {
throw new propertyProvider.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {
tryNextLink: false,
logger: init.logger
});
}
if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {
throw new propertyProvider.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {
tryNextLink: false,
logger: init.logger
});
}
profile.sso_region = session.sso_region;
profile.sso_start_url = session.sso_start_url;
}
const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);
return resolveSSOCredentials({
ssoStartUrl: sso_start_url,
ssoSession: sso_session,
ssoAccountId: sso_account_id,
ssoRegion: sso_region,
ssoRoleName: sso_role_name,
ssoClient,
clientConfig: init.clientConfig,
parentClientConfig: init.parentClientConfig,
callerClientConfig: init.callerClientConfig,
profile: profileName,
filepath: init.filepath,
configFilepath: init.configFilepath,
ignoreCache: init.ignoreCache,
logger: init.logger
});
} else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
throw new propertyProvider.CredentialsProviderError("Incomplete configuration. The fromSSO() argument hash must include " + '"ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init.logger });
} else {
return resolveSSOCredentials({
ssoStartUrl,
ssoSession,
ssoAccountId,
ssoRegion,
ssoRoleName,
ssoClient,
clientConfig: init.clientConfig,
parentClientConfig: init.parentClientConfig,
callerClientConfig: init.callerClientConfig,
profile: profileName,
filepath: init.filepath,
configFilepath: init.configFilepath,
ignoreCache: init.ignoreCache,
logger: init.logger
});
}
};
exports.fromSSO = fromSSO;
exports.isSsoProfile = isSsoProfile;
exports.validateSsoProfile = validateSsoProfile;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.defaultSigninHttpAuthSchemeProvider = exports.defaultSigninHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_middleware_1 = require_dist_cjs21();
var defaultSigninHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultSigninHttpAuthSchemeParametersProvider = defaultSigninHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "signin",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#noAuth"
};
}
var defaultSigninHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
case "CreateOAuth2Token": {
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultSigninHttpAuthSchemeProvider = defaultSigninHttpAuthSchemeProvider;
var resolveHttpAuthSchemeConfig = (config2) => {
const config_0 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config2);
return Object.assign(config_0, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? [])
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/ruleset.js
var require_ruleset3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var u4 = "required";
var v2 = "fn";
var w2 = "argv";
var x3 = "ref";
var a2 = true;
var b2 = "isSet";
var c5 = "booleanEquals";
var d = "error";
var e = "endpoint";
var f = "tree";
var g2 = "PartitionResult";
var h2 = "stringEquals";
var i2 = { [u4]: true, default: false, type: "boolean" };
var j2 = { [u4]: false, type: "string" };
var k2 = { [x3]: "Endpoint" };
var l = { [v2]: c5, [w2]: [{ [x3]: "UseFIPS" }, true] };
var m2 = { [v2]: c5, [w2]: [{ [x3]: "UseDualStack" }, true] };
var n2 = {};
var o2 = { [v2]: "getAttr", [w2]: [{ [x3]: g2 }, "name"] };
var p = { [v2]: c5, [w2]: [{ [x3]: "UseFIPS" }, false] };
var q2 = { [v2]: c5, [w2]: [{ [x3]: "UseDualStack" }, false] };
var r = { [v2]: "getAttr", [w2]: [{ [x3]: g2 }, "supportsFIPS"] };
var s = { [v2]: c5, [w2]: [true, { [v2]: "getAttr", [w2]: [{ [x3]: g2 }, "supportsDualStack"] }] };
var t = [{ [x3]: "Region" }];
var _data = {
version: "1.0",
parameters: { UseDualStack: i2, UseFIPS: i2, Endpoint: j2, Region: j2 },
rules: [
{
conditions: [{ [v2]: b2, [w2]: [k2] }],
rules: [
{ conditions: [l], error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d },
{
rules: [
{
conditions: [m2],
error: "Invalid Configuration: Dualstack and custom endpoint are not supported",
type: d
},
{ endpoint: { url: k2, properties: n2, headers: n2 }, type: e }
],
type: f
}
],
type: f
},
{
rules: [
{
conditions: [{ [v2]: b2, [w2]: t }],
rules: [
{
conditions: [{ [v2]: "aws.partition", [w2]: t, assign: g2 }],
rules: [
{
conditions: [{ [v2]: h2, [w2]: [o2, "aws"] }, p, q2],
endpoint: { url: "https://{Region}.signin.aws.amazon.com", properties: n2, headers: n2 },
type: e
},
{
conditions: [{ [v2]: h2, [w2]: [o2, "aws-cn"] }, p, q2],
endpoint: { url: "https://{Region}.signin.amazonaws.cn", properties: n2, headers: n2 },
type: e
},
{
conditions: [{ [v2]: h2, [w2]: [o2, "aws-us-gov"] }, p, q2],
endpoint: { url: "https://{Region}.signin.amazonaws-us-gov.com", properties: n2, headers: n2 },
type: e
},
{
conditions: [l, m2],
rules: [
{
conditions: [{ [v2]: c5, [w2]: [a2, r] }, s],
rules: [
{
endpoint: {
url: "https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{
error: "FIPS and DualStack are enabled, but this partition does not support one or both",
type: d
}
],
type: f
},
{
conditions: [l, q2],
rules: [
{
conditions: [{ [v2]: c5, [w2]: [r, a2] }],
rules: [
{
endpoint: {
url: "https://signin-fips.{Region}.{PartitionResult#dnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "FIPS is enabled but this partition does not support FIPS", type: d }
],
type: f
},
{
conditions: [p, m2],
rules: [
{
conditions: [s],
rules: [
{
endpoint: {
url: "https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: n2,
headers: n2
},
type: e
}
],
type: f
},
{ error: "DualStack is enabled but this partition does not support DualStack", type: d }
],
type: f
},
{
endpoint: { url: "https://signin.{Region}.{PartitionResult#dnsSuffix}", properties: n2, headers: n2 },
type: e
}
],
type: f
}
],
type: f
},
{ error: "Invalid Configuration: Missing Region", type: d }
],
type: f
}
]
};
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/endpointResolver.js
var require_endpointResolver3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset3();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/models/SigninServiceException.js
var require_SigninServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SigninServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class SigninServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, SigninServiceException.prototype);
}
}
exports.SigninServiceException = SigninServiceException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/models/errors.js
var require_errors4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationException = exports.TooManyRequestsError = exports.InternalServerException = exports.AccessDeniedException = undefined;
var SigninServiceException_1 = require_SigninServiceException();
class AccessDeniedException extends SigninServiceException_1.SigninServiceException {
name = "AccessDeniedException";
$fault = "client";
error;
constructor(opts) {
super({
name: "AccessDeniedException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, AccessDeniedException.prototype);
this.error = opts.error;
}
}
exports.AccessDeniedException = AccessDeniedException;
class InternalServerException extends SigninServiceException_1.SigninServiceException {
name = "InternalServerException";
$fault = "server";
error;
constructor(opts) {
super({
name: "InternalServerException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, InternalServerException.prototype);
this.error = opts.error;
}
}
exports.InternalServerException = InternalServerException;
class TooManyRequestsError extends SigninServiceException_1.SigninServiceException {
name = "TooManyRequestsError";
$fault = "client";
error;
constructor(opts) {
super({
name: "TooManyRequestsError",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, TooManyRequestsError.prototype);
this.error = opts.error;
}
}
exports.TooManyRequestsError = TooManyRequestsError;
class ValidationException extends SigninServiceException_1.SigninServiceException {
name = "ValidationException";
$fault = "client";
error;
constructor(opts) {
super({
name: "ValidationException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ValidationException.prototype);
this.error = opts.error;
}
}
exports.ValidationException = ValidationException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/schemas/schemas_0.js
var require_schemas_03 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateOAuth2Token$ = exports.CreateOAuth2TokenResponseBody$ = exports.CreateOAuth2TokenResponse$ = exports.CreateOAuth2TokenRequestBody$ = exports.CreateOAuth2TokenRequest$ = exports.AccessToken$ = exports.errorTypeRegistries = exports.ValidationException$ = exports.TooManyRequestsError$ = exports.InternalServerException$ = exports.AccessDeniedException$ = exports.SigninServiceException$ = undefined;
var _ADE = "AccessDeniedException";
var _AT = "AccessToken";
var _COAT = "CreateOAuth2Token";
var _COATR = "CreateOAuth2TokenRequest";
var _COATRB = "CreateOAuth2TokenRequestBody";
var _COATRBr = "CreateOAuth2TokenResponseBody";
var _COATRr = "CreateOAuth2TokenResponse";
var _ISE = "InternalServerException";
var _RT = "RefreshToken";
var _TMRE = "TooManyRequestsError";
var _VE = "ValidationException";
var _aKI = "accessKeyId";
var _aT = "accessToken";
var _c = "client";
var _cI = "clientId";
var _cV = "codeVerifier";
var _co = "code";
var _e2 = "error";
var _eI = "expiresIn";
var _gT = "grantType";
var _h = "http";
var _hE = "httpError";
var _iT = "idToken";
var _jN = "jsonName";
var _m = "message";
var _rT = "refreshToken";
var _rU = "redirectUri";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.signin";
var _sAK = "secretAccessKey";
var _sT = "sessionToken";
var _se = "server";
var _tI = "tokenInput";
var _tO = "tokenOutput";
var _tT = "tokenType";
var n0 = "com.amazonaws.signin";
var schema_1 = require_schema();
var errors_1 = require_errors4();
var SigninServiceException_1 = require_SigninServiceException();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.SigninServiceException$ = [-3, _s, "SigninServiceException", 0, [], []];
_s_registry.registerError(exports.SigninServiceException$, SigninServiceException_1.SigninServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.AccessDeniedException$ = [-3, n0, _ADE, { [_e2]: _c }, [_e2, _m], [0, 0], 2];
n0_registry.registerError(exports.AccessDeniedException$, errors_1.AccessDeniedException);
exports.InternalServerException$ = [-3, n0, _ISE, { [_e2]: _se, [_hE]: 500 }, [_e2, _m], [0, 0], 2];
n0_registry.registerError(exports.InternalServerException$, errors_1.InternalServerException);
exports.TooManyRequestsError$ = [-3, n0, _TMRE, { [_e2]: _c, [_hE]: 429 }, [_e2, _m], [0, 0], 2];
n0_registry.registerError(exports.TooManyRequestsError$, errors_1.TooManyRequestsError);
exports.ValidationException$ = [-3, n0, _VE, { [_e2]: _c, [_hE]: 400 }, [_e2, _m], [0, 0], 2];
n0_registry.registerError(exports.ValidationException$, errors_1.ValidationException);
exports.errorTypeRegistries = [_s_registry, n0_registry];
var RefreshToken = [0, n0, _RT, 8, 0];
exports.AccessToken$ = [
3,
n0,
_AT,
8,
[_aKI, _sAK, _sT],
[
[0, { [_jN]: _aKI }],
[0, { [_jN]: _sAK }],
[0, { [_jN]: _sT }]
],
3
];
exports.CreateOAuth2TokenRequest$ = [
3,
n0,
_COATR,
0,
[_tI],
[[() => exports.CreateOAuth2TokenRequestBody$, 16]],
1
];
exports.CreateOAuth2TokenRequestBody$ = [
3,
n0,
_COATRB,
0,
[_cI, _gT, _co, _rU, _cV, _rT],
[
[0, { [_jN]: _cI }],
[0, { [_jN]: _gT }],
0,
[0, { [_jN]: _rU }],
[0, { [_jN]: _cV }],
[() => RefreshToken, { [_jN]: _rT }]
],
2
];
exports.CreateOAuth2TokenResponse$ = [
3,
n0,
_COATRr,
0,
[_tO],
[[() => exports.CreateOAuth2TokenResponseBody$, 16]],
1
];
exports.CreateOAuth2TokenResponseBody$ = [
3,
n0,
_COATRBr,
0,
[_aT, _tT, _eI, _rT, _iT],
[
[() => exports.AccessToken$, { [_jN]: _aT }],
[0, { [_jN]: _tT }],
[1, { [_jN]: _eI }],
[() => RefreshToken, { [_jN]: _rT }],
[0, { [_jN]: _iT }]
],
4
];
exports.CreateOAuth2Token$ = [
9,
n0,
_COAT,
{ [_h]: ["POST", "/v1/token", 200] },
() => exports.CreateOAuth2TokenRequest$,
() => exports.CreateOAuth2TokenResponse$
];
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/runtimeConfig.shared.js
var require_runtimeConfig_shared3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider3();
var endpointResolver_1 = require_endpointResolver3();
var schemas_0_1 = require_schemas_03();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2023-01-01",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSigninHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsRestJsonProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.signin",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
version: "2023-01-01",
serviceTarget: "Signin"
},
serviceId: config2?.serviceId ?? "Signin",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/runtimeConfig.js
var require_runtimeConfig3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared3();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js
var require_signin = __commonJS((exports) => {
var middlewareHostHeader = require_dist_cjs27();
var middlewareLogger = require_dist_cjs28();
var middlewareRecursionDetection = require_dist_cjs29();
var middlewareUserAgent = require_dist_cjs34();
var configResolver = require_dist_cjs36();
var core2 = require_dist_cjs25();
var schema = require_schema();
var middlewareContentLength = require_dist_cjs37();
var middlewareEndpoint = require_dist_cjs39();
var middlewareRetry = require_dist_cjs40();
var smithyClient = require_dist_cjs23();
var httpAuthSchemeProvider = require_httpAuthSchemeProvider3();
var runtimeConfig = require_runtimeConfig3();
var regionConfigResolver = require_dist_cjs47();
var protocolHttp = require_dist_cjs2();
var schemas_0 = require_schemas_03();
var errors3 = require_errors4();
var SigninServiceException = require_SigninServiceException();
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
defaultSigningName: "signin"
});
};
var commonParams = {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
var getHttpAuthExtensionConfiguration = (runtimeConfig2) => {
const _httpAuthSchemes = runtimeConfig2.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig2.httpAuthSchemeProvider;
let _credentials = runtimeConfig2.credentials;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider2) {
_httpAuthSchemeProvider = httpAuthSchemeProvider2;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
}
};
};
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials()
};
};
var resolveRuntimeExtensions = (runtimeConfig2, extensions) => {
const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig2), smithyClient.getDefaultExtensionConfiguration(runtimeConfig2), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig2), getHttpAuthExtensionConfiguration(runtimeConfig2));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig2, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};
class SigninClient extends smithyClient.Client {
config;
constructor(...[configuration]) {
const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = resolveClientEndpointParameters(_config_0);
const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);
const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);
const _config_4 = configResolver.resolveRegionConfig(_config_3);
const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);
const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);
const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);
const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));
this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));
this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));
this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));
this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));
this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));
this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));
this.middlewareStack.use(core2.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultSigninHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core2.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials
})
}));
this.middlewareStack.use(core2.getHttpSigningPlugin(this.config));
}
destroy() {
super.destroy();
}
}
class CreateOAuth2TokenCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("Signin", "CreateOAuth2Token", {}).n("SigninClient", "CreateOAuth2TokenCommand").sc(schemas_0.CreateOAuth2Token$).build() {
}
var commands = {
CreateOAuth2TokenCommand
};
class Signin extends SigninClient {
}
smithyClient.createAggregatedClient(commands, Signin);
var OAuth2ErrorCode = {
AUTHCODE_EXPIRED: "AUTHCODE_EXPIRED",
INSUFFICIENT_PERMISSIONS: "INSUFFICIENT_PERMISSIONS",
INVALID_REQUEST: "INVALID_REQUEST",
SERVER_ERROR: "server_error",
TOKEN_EXPIRED: "TOKEN_EXPIRED",
USER_CREDENTIALS_CHANGED: "USER_CREDENTIALS_CHANGED"
};
exports.$Command = smithyClient.Command;
exports.__Client = smithyClient.Client;
exports.SigninServiceException = SigninServiceException.SigninServiceException;
exports.CreateOAuth2TokenCommand = CreateOAuth2TokenCommand;
exports.OAuth2ErrorCode = OAuth2ErrorCode;
exports.Signin = Signin;
exports.SigninClient = SigninClient;
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-login@3.972.27/node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js
var require_dist_cjs50 = __commonJS((exports) => {
var client = require_client2();
var propertyProvider = require_dist_cjs6();
var sharedIniFileLoader = require_dist_cjs8();
var protocolHttp = require_dist_cjs2();
var node_crypto = __require("node:crypto");
var node_fs = __require("node:fs");
var node_os = __require("node:os");
var node_path = __require("node:path");
class LoginCredentialsFetcher {
profileData;
init;
callerClientConfig;
static REFRESH_THRESHOLD = 5 * 60 * 1000;
constructor(profileData, init, callerClientConfig) {
this.profileData = profileData;
this.init = init;
this.callerClientConfig = callerClientConfig;
}
async loadCredentials() {
const token = await this.loadToken();
if (!token) {
throw new propertyProvider.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger });
}
const accessToken = token.accessToken;
const now = Date.now();
const expiryTime = new Date(accessToken.expiresAt).getTime();
const timeUntilExpiry = expiryTime - now;
if (timeUntilExpiry <= LoginCredentialsFetcher.REFRESH_THRESHOLD) {
return this.refresh(token);
}
return {
accessKeyId: accessToken.accessKeyId,
secretAccessKey: accessToken.secretAccessKey,
sessionToken: accessToken.sessionToken,
accountId: accessToken.accountId,
expiration: new Date(accessToken.expiresAt)
};
}
get logger() {
return this.init?.logger;
}
get loginSession() {
return this.profileData.login_session;
}
async refresh(token) {
const { SigninClient, CreateOAuth2TokenCommand } = await Promise.resolve().then(() => __toESM(require_signin()));
const { logger, userAgentAppId } = this.callerClientConfig ?? {};
const isH2 = (requestHandler2) => {
return requestHandler2?.metadata?.handlerProtocol === "h2";
};
const requestHandler = isH2(this.callerClientConfig?.requestHandler) ? undefined : this.callerClientConfig?.requestHandler;
const region = this.profileData.region ?? await this.callerClientConfig?.region?.() ?? process.env.AWS_REGION;
const client2 = new SigninClient({
credentials: {
accessKeyId: "",
secretAccessKey: ""
},
region,
requestHandler,
logger,
userAgentAppId,
...this.init?.clientConfig
});
this.createDPoPInterceptor(client2.middlewareStack);
const commandInput = {
tokenInput: {
clientId: token.clientId,
refreshToken: token.refreshToken,
grantType: "refresh_token"
}
};
try {
const response = await client2.send(new CreateOAuth2TokenCommand(commandInput));
const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {};
const { refreshToken, expiresIn } = response.tokenOutput ?? {};
if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) {
throw new propertyProvider.CredentialsProviderError("Token refresh response missing required fields", {
logger: this.logger,
tryNextLink: false
});
}
const expiresInMs = (expiresIn ?? 900) * 1000;
const expiration = new Date(Date.now() + expiresInMs);
const updatedToken = {
...token,
accessToken: {
...token.accessToken,
accessKeyId,
secretAccessKey,
sessionToken,
expiresAt: expiration.toISOString()
},
refreshToken
};
await this.saveToken(updatedToken);
const newAccessToken = updatedToken.accessToken;
return {
accessKeyId: newAccessToken.accessKeyId,
secretAccessKey: newAccessToken.secretAccessKey,
sessionToken: newAccessToken.sessionToken,
accountId: newAccessToken.accountId,
expiration
};
} catch (error49) {
if (error49.name === "AccessDeniedException") {
const errorType = error49.error;
let message;
switch (errorType) {
case "TOKEN_EXPIRED":
message = "Your session has expired. Please reauthenticate.";
break;
case "USER_CREDENTIALS_CHANGED":
message = "Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";
break;
case "INSUFFICIENT_PERMISSIONS":
message = "Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";
break;
default:
message = `Failed to refresh token: ${String(error49)}. Please re-authenticate using \`aws login\``;
}
throw new propertyProvider.CredentialsProviderError(message, { logger: this.logger, tryNextLink: false });
}
throw new propertyProvider.CredentialsProviderError(`Failed to refresh token: ${String(error49)}. Please re-authenticate using aws login`, { logger: this.logger });
}
}
async loadToken() {
const tokenFilePath = this.getTokenFilePath();
try {
let tokenData;
try {
tokenData = await sharedIniFileLoader.readFile(tokenFilePath, { ignoreCache: this.init?.ignoreCache });
} catch {
tokenData = await node_fs.promises.readFile(tokenFilePath, "utf8");
}
const token = JSON.parse(tokenData);
const missingFields = ["accessToken", "clientId", "refreshToken", "dpopKey"].filter((k2) => !token[k2]);
if (!token.accessToken?.accountId) {
missingFields.push("accountId");
}
if (missingFields.length > 0) {
throw new propertyProvider.CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(", ")}`, {
logger: this.logger,
tryNextLink: false
});
}
return token;
} catch (error49) {
throw new propertyProvider.CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error49)}`, {
logger: this.logger,
tryNextLink: false
});
}
}
async saveToken(token) {
const tokenFilePath = this.getTokenFilePath();
const directory = node_path.dirname(tokenFilePath);
try {
await node_fs.promises.mkdir(directory, { recursive: true });
} catch (error49) {}
await node_fs.promises.writeFile(tokenFilePath, JSON.stringify(token, null, 2), "utf8");
}
getTokenFilePath() {
const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? node_path.join(node_os.homedir(), ".aws", "login", "cache");
const loginSessionBytes = Buffer.from(this.loginSession, "utf8");
const loginSessionSha256 = node_crypto.createHash("sha256").update(loginSessionBytes).digest("hex");
return node_path.join(directory, `${loginSessionSha256}.json`);
}
derToRawSignature(derSignature) {
let offset = 2;
if (derSignature[offset] !== 2) {
throw new Error("Invalid DER signature");
}
offset++;
const rLength = derSignature[offset++];
let r = derSignature.subarray(offset, offset + rLength);
offset += rLength;
if (derSignature[offset] !== 2) {
throw new Error("Invalid DER signature");
}
offset++;
const sLength = derSignature[offset++];
let s = derSignature.subarray(offset, offset + sLength);
r = r[0] === 0 ? r.subarray(1) : r;
s = s[0] === 0 ? s.subarray(1) : s;
const rPadded = Buffer.concat([Buffer.alloc(32 - r.length), r]);
const sPadded = Buffer.concat([Buffer.alloc(32 - s.length), s]);
return Buffer.concat([rPadded, sPadded]);
}
createDPoPInterceptor(middlewareStack) {
middlewareStack.add((next) => async (args) => {
if (protocolHttp.HttpRequest.isInstance(args.request)) {
const request = args.request;
const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : ""}${request.path}`;
const dpop = await this.generateDpop(request.method, actualEndpoint);
request.headers = {
...request.headers,
DPoP: dpop
};
}
return next(args);
}, {
step: "finalizeRequest",
name: "dpopInterceptor",
override: true
});
}
async generateDpop(method = "POST", endpoint) {
const token = await this.loadToken();
try {
const privateKey = node_crypto.createPrivateKey({
key: token.dpopKey,
format: "pem",
type: "sec1"
});
const publicKey = node_crypto.createPublicKey(privateKey);
const publicDer = publicKey.export({ format: "der", type: "spki" });
let pointStart = -1;
for (let i2 = 0;i2 < publicDer.length; i2++) {
if (publicDer[i2] === 4) {
pointStart = i2;
break;
}
}
const x3 = publicDer.slice(pointStart + 1, pointStart + 33);
const y3 = publicDer.slice(pointStart + 33, pointStart + 65);
const header = {
alg: "ES256",
typ: "dpop+jwt",
jwk: {
kty: "EC",
crv: "P-256",
x: x3.toString("base64url"),
y: y3.toString("base64url")
}
};
const payload = {
jti: crypto.randomUUID(),
htm: method,
htu: endpoint,
iat: Math.floor(Date.now() / 1000)
};
const headerB64 = Buffer.from(JSON.stringify(header)).toString("base64url");
const payloadB64 = Buffer.from(JSON.stringify(payload)).toString("base64url");
const message = `${headerB64}.${payloadB64}`;
const asn1Signature = node_crypto.sign("sha256", Buffer.from(message), privateKey);
const rawSignature = this.derToRawSignature(asn1Signature);
const signatureB64 = rawSignature.toString("base64url");
return `${message}.${signatureB64}`;
} catch (error49) {
throw new propertyProvider.CredentialsProviderError(`Failed to generate Dpop proof: ${error49 instanceof Error ? error49.message : String(error49)}`, { logger: this.logger, tryNextLink: false });
}
}
}
var fromLoginCredentials = (init) => async ({ callerClientConfig } = {}) => {
init?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");
const profiles = await sharedIniFileLoader.parseKnownFiles(init || {});
const profileName = sharedIniFileLoader.getProfileName({
profile: init?.profile ?? callerClientConfig?.profile
});
const profile = profiles[profileName];
if (!profile?.login_session) {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {
tryNextLink: true,
logger: init?.logger
});
}
const fetcher = new LoginCredentialsFetcher(profile, init, callerClientConfig);
const credentials = await fetcher.loadCredentials();
return client.setCredentialFeature(credentials, "CREDENTIALS_LOGIN", "AD");
};
exports.fromLoginCredentials = fromLoginCredentials;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.resolveStsAuthConfig = exports.defaultSTSHttpAuthSchemeProvider = exports.defaultSTSHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_middleware_1 = require_dist_cjs21();
var STSClient_1 = require_STSClient();
var defaultSTSHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultSTSHttpAuthSchemeParametersProvider = defaultSTSHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "sts",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#noAuth"
};
}
var defaultSTSHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
case "AssumeRoleWithWebIdentity": {
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultSTSHttpAuthSchemeProvider = defaultSTSHttpAuthSchemeProvider;
var resolveStsAuthConfig = (input) => Object.assign(input, {
stsClientCtor: STSClient_1.STSClient
});
exports.resolveStsAuthConfig = resolveStsAuthConfig;
var resolveHttpAuthSchemeConfig = (config2) => {
const config_0 = (0, exports.resolveStsAuthConfig)(config2);
const config_1 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config_0);
return Object.assign(config_1, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? [])
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/EndpointParameters.js
var require_EndpointParameters = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.commonParams = exports.resolveClientEndpointParameters = undefined;
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
useGlobalEndpoint: options.useGlobalEndpoint ?? false,
defaultSigningName: "sts"
});
};
exports.resolveClientEndpointParameters = resolveClientEndpointParameters;
exports.commonParams = {
UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" },
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/ruleset.js
var require_ruleset4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var F2 = "required";
var G4 = "type";
var H3 = "fn";
var I3 = "argv";
var J2 = "ref";
var a2 = false;
var b2 = true;
var c5 = "booleanEquals";
var d = "stringEquals";
var e = "sigv4";
var f = "sts";
var g2 = "us-east-1";
var h2 = "endpoint";
var i2 = "https://sts.{Region}.{PartitionResult#dnsSuffix}";
var j2 = "tree";
var k2 = "error";
var l = "getAttr";
var m2 = { [F2]: false, [G4]: "string" };
var n2 = { [F2]: true, default: false, [G4]: "boolean" };
var o2 = { [J2]: "Endpoint" };
var p = { [H3]: "isSet", [I3]: [{ [J2]: "Region" }] };
var q2 = { [J2]: "Region" };
var r = { [H3]: "aws.partition", [I3]: [q2], assign: "PartitionResult" };
var s = { [J2]: "UseFIPS" };
var t = { [J2]: "UseDualStack" };
var u4 = {
url: "https://sts.amazonaws.com",
properties: { authSchemes: [{ name: e, signingName: f, signingRegion: g2 }] },
headers: {}
};
var v2 = {};
var w2 = { conditions: [{ [H3]: d, [I3]: [q2, "aws-global"] }], [h2]: u4, [G4]: h2 };
var x3 = { [H3]: c5, [I3]: [s, true] };
var y3 = { [H3]: c5, [I3]: [t, true] };
var z4 = { [H3]: l, [I3]: [{ [J2]: "PartitionResult" }, "supportsFIPS"] };
var A = { [J2]: "PartitionResult" };
var B2 = { [H3]: c5, [I3]: [true, { [H3]: l, [I3]: [A, "supportsDualStack"] }] };
var C3 = [{ [H3]: "isSet", [I3]: [o2] }];
var D3 = [x3];
var E2 = [y3];
var _data = {
version: "1.0",
parameters: { Region: m2, UseDualStack: n2, UseFIPS: n2, Endpoint: m2, UseGlobalEndpoint: n2 },
rules: [
{
conditions: [
{ [H3]: c5, [I3]: [{ [J2]: "UseGlobalEndpoint" }, b2] },
{ [H3]: "not", [I3]: C3 },
p,
r,
{ [H3]: c5, [I3]: [s, a2] },
{ [H3]: c5, [I3]: [t, a2] }
],
rules: [
{ conditions: [{ [H3]: d, [I3]: [q2, "ap-northeast-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "ap-south-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "ap-southeast-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "ap-southeast-2"] }], endpoint: u4, [G4]: h2 },
w2,
{ conditions: [{ [H3]: d, [I3]: [q2, "ca-central-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "eu-central-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "eu-north-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "eu-west-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "eu-west-2"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "eu-west-3"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "sa-east-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, g2] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "us-east-2"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "us-west-1"] }], endpoint: u4, [G4]: h2 },
{ conditions: [{ [H3]: d, [I3]: [q2, "us-west-2"] }], endpoint: u4, [G4]: h2 },
{
endpoint: {
url: i2,
properties: { authSchemes: [{ name: e, signingName: f, signingRegion: "{Region}" }] },
headers: v2
},
[G4]: h2
}
],
[G4]: j2
},
{
conditions: C3,
rules: [
{ conditions: D3, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G4]: k2 },
{ conditions: E2, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G4]: k2 },
{ endpoint: { url: o2, properties: v2, headers: v2 }, [G4]: h2 }
],
[G4]: j2
},
{
conditions: [p],
rules: [
{
conditions: [r],
rules: [
{
conditions: [x3, y3],
rules: [
{
conditions: [{ [H3]: c5, [I3]: [b2, z4] }, B2],
rules: [
{
endpoint: {
url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: v2,
headers: v2
},
[G4]: h2
}
],
[G4]: j2
},
{ error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G4]: k2 }
],
[G4]: j2
},
{
conditions: D3,
rules: [
{
conditions: [{ [H3]: c5, [I3]: [z4, b2] }],
rules: [
{
conditions: [{ [H3]: d, [I3]: [{ [H3]: l, [I3]: [A, "name"] }, "aws-us-gov"] }],
endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v2, headers: v2 },
[G4]: h2
},
{
endpoint: {
url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}",
properties: v2,
headers: v2
},
[G4]: h2
}
],
[G4]: j2
},
{ error: "FIPS is enabled but this partition does not support FIPS", [G4]: k2 }
],
[G4]: j2
},
{
conditions: E2,
rules: [
{
conditions: [B2],
rules: [
{
endpoint: {
url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}",
properties: v2,
headers: v2
},
[G4]: h2
}
],
[G4]: j2
},
{ error: "DualStack is enabled but this partition does not support DualStack", [G4]: k2 }
],
[G4]: j2
},
w2,
{ endpoint: { url: i2, properties: v2, headers: v2 }, [G4]: h2 }
],
[G4]: j2
}
],
[G4]: j2
},
{ error: "Invalid Configuration: Missing Region", [G4]: k2 }
]
};
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/endpointResolver.js
var require_endpointResolver4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset4();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS", "UseGlobalEndpoint"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/STSServiceException.js
var require_STSServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.STSServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class STSServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, STSServiceException.prototype);
}
}
exports.STSServiceException = STSServiceException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/errors.js
var require_errors5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = undefined;
var STSServiceException_1 = require_STSServiceException();
class ExpiredTokenException extends STSServiceException_1.STSServiceException {
name = "ExpiredTokenException";
$fault = "client";
constructor(opts) {
super({
name: "ExpiredTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ExpiredTokenException.prototype);
}
}
exports.ExpiredTokenException = ExpiredTokenException;
class MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException {
name = "MalformedPolicyDocumentException";
$fault = "client";
constructor(opts) {
super({
name: "MalformedPolicyDocumentException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);
}
}
exports.MalformedPolicyDocumentException = MalformedPolicyDocumentException;
class PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException {
name = "PackedPolicyTooLargeException";
$fault = "client";
constructor(opts) {
super({
name: "PackedPolicyTooLargeException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);
}
}
exports.PackedPolicyTooLargeException = PackedPolicyTooLargeException;
class RegionDisabledException extends STSServiceException_1.STSServiceException {
name = "RegionDisabledException";
$fault = "client";
constructor(opts) {
super({
name: "RegionDisabledException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, RegionDisabledException.prototype);
}
}
exports.RegionDisabledException = RegionDisabledException;
class IDPRejectedClaimException extends STSServiceException_1.STSServiceException {
name = "IDPRejectedClaimException";
$fault = "client";
constructor(opts) {
super({
name: "IDPRejectedClaimException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);
}
}
exports.IDPRejectedClaimException = IDPRejectedClaimException;
class InvalidIdentityTokenException extends STSServiceException_1.STSServiceException {
name = "InvalidIdentityTokenException";
$fault = "client";
constructor(opts) {
super({
name: "InvalidIdentityTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);
}
}
exports.InvalidIdentityTokenException = InvalidIdentityTokenException;
class IDPCommunicationErrorException extends STSServiceException_1.STSServiceException {
name = "IDPCommunicationErrorException";
$fault = "client";
constructor(opts) {
super({
name: "IDPCommunicationErrorException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);
}
}
exports.IDPCommunicationErrorException = IDPCommunicationErrorException;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/schemas/schemas_0.js
var require_schemas_04 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssumeRoleWithWebIdentity$ = exports.AssumeRole$ = exports.Tag$ = exports.ProvidedContext$ = exports.PolicyDescriptorType$ = exports.Credentials$ = exports.AssumeRoleWithWebIdentityResponse$ = exports.AssumeRoleWithWebIdentityRequest$ = exports.AssumeRoleResponse$ = exports.AssumeRoleRequest$ = exports.AssumedRoleUser$ = exports.errorTypeRegistries = exports.RegionDisabledException$ = exports.PackedPolicyTooLargeException$ = exports.MalformedPolicyDocumentException$ = exports.InvalidIdentityTokenException$ = exports.IDPRejectedClaimException$ = exports.IDPCommunicationErrorException$ = exports.ExpiredTokenException$ = exports.STSServiceException$ = undefined;
var _A = "Arn";
var _AKI = "AccessKeyId";
var _AR = "AssumeRole";
var _ARI = "AssumedRoleId";
var _ARR = "AssumeRoleRequest";
var _ARRs = "AssumeRoleResponse";
var _ARU = "AssumedRoleUser";
var _ARWWI = "AssumeRoleWithWebIdentity";
var _ARWWIR = "AssumeRoleWithWebIdentityRequest";
var _ARWWIRs = "AssumeRoleWithWebIdentityResponse";
var _Au = "Audience";
var _C = "Credentials";
var _CA = "ContextAssertion";
var _DS = "DurationSeconds";
var _E = "Expiration";
var _EI = "ExternalId";
var _ETE = "ExpiredTokenException";
var _IDPCEE = "IDPCommunicationErrorException";
var _IDPRCE = "IDPRejectedClaimException";
var _IITE = "InvalidIdentityTokenException";
var _K = "Key";
var _MPDE = "MalformedPolicyDocumentException";
var _P = "Policy";
var _PA = "PolicyArns";
var _PAr = "ProviderArn";
var _PC = "ProvidedContexts";
var _PCLT = "ProvidedContextsListType";
var _PCr = "ProvidedContext";
var _PDT = "PolicyDescriptorType";
var _PI = "ProviderId";
var _PPS = "PackedPolicySize";
var _PPTLE = "PackedPolicyTooLargeException";
var _Pr = "Provider";
var _RA = "RoleArn";
var _RDE = "RegionDisabledException";
var _RSN = "RoleSessionName";
var _SAK = "SecretAccessKey";
var _SFWIT = "SubjectFromWebIdentityToken";
var _SI = "SourceIdentity";
var _SN = "SerialNumber";
var _ST = "SessionToken";
var _T = "Tags";
var _TC = "TokenCode";
var _TTK = "TransitiveTagKeys";
var _Ta = "Tag";
var _V = "Value";
var _WIT = "WebIdentityToken";
var _a3 = "arn";
var _aKST = "accessKeySecretType";
var _aQE = "awsQueryError";
var _c = "client";
var _cTT = "clientTokenType";
var _e2 = "error";
var _hE = "httpError";
var _m = "message";
var _pDLT = "policyDescriptorListType";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.sts";
var _tLT = "tagListType";
var n0 = "com.amazonaws.sts";
var schema_1 = require_schema();
var errors_1 = require_errors5();
var STSServiceException_1 = require_STSServiceException();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.STSServiceException$ = [-3, _s, "STSServiceException", 0, [], []];
_s_registry.registerError(exports.STSServiceException$, STSServiceException_1.STSServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.ExpiredTokenException$ = [
-3,
n0,
_ETE,
{ [_aQE]: [`ExpiredTokenException`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ExpiredTokenException$, errors_1.ExpiredTokenException);
exports.IDPCommunicationErrorException$ = [
-3,
n0,
_IDPCEE,
{ [_aQE]: [`IDPCommunicationError`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.IDPCommunicationErrorException$, errors_1.IDPCommunicationErrorException);
exports.IDPRejectedClaimException$ = [
-3,
n0,
_IDPRCE,
{ [_aQE]: [`IDPRejectedClaim`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.IDPRejectedClaimException$, errors_1.IDPRejectedClaimException);
exports.InvalidIdentityTokenException$ = [
-3,
n0,
_IITE,
{ [_aQE]: [`InvalidIdentityToken`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.InvalidIdentityTokenException$, errors_1.InvalidIdentityTokenException);
exports.MalformedPolicyDocumentException$ = [
-3,
n0,
_MPDE,
{ [_aQE]: [`MalformedPolicyDocument`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.MalformedPolicyDocumentException$, errors_1.MalformedPolicyDocumentException);
exports.PackedPolicyTooLargeException$ = [
-3,
n0,
_PPTLE,
{ [_aQE]: [`PackedPolicyTooLarge`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.PackedPolicyTooLargeException$, errors_1.PackedPolicyTooLargeException);
exports.RegionDisabledException$ = [
-3,
n0,
_RDE,
{ [_aQE]: [`RegionDisabledException`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.RegionDisabledException$, errors_1.RegionDisabledException);
exports.errorTypeRegistries = [_s_registry, n0_registry];
var accessKeySecretType = [0, n0, _aKST, 8, 0];
var clientTokenType = [0, n0, _cTT, 8, 0];
exports.AssumedRoleUser$ = [3, n0, _ARU, 0, [_ARI, _A], [0, 0], 2];
exports.AssumeRoleRequest$ = [
3,
n0,
_ARR,
0,
[_RA, _RSN, _PA, _P, _DS, _T, _TTK, _EI, _SN, _TC, _SI, _PC],
[0, 0, () => policyDescriptorListType, 0, 1, () => tagListType, 64 | 0, 0, 0, 0, 0, () => ProvidedContextsListType],
2
];
exports.AssumeRoleResponse$ = [
3,
n0,
_ARRs,
0,
[_C, _ARU, _PPS, _SI],
[[() => exports.Credentials$, 0], () => exports.AssumedRoleUser$, 1, 0]
];
exports.AssumeRoleWithWebIdentityRequest$ = [
3,
n0,
_ARWWIR,
0,
[_RA, _RSN, _WIT, _PI, _PA, _P, _DS],
[0, 0, [() => clientTokenType, 0], 0, () => policyDescriptorListType, 0, 1],
3
];
exports.AssumeRoleWithWebIdentityResponse$ = [
3,
n0,
_ARWWIRs,
0,
[_C, _SFWIT, _ARU, _PPS, _Pr, _Au, _SI],
[[() => exports.Credentials$, 0], 0, () => exports.AssumedRoleUser$, 1, 0, 0, 0]
];
exports.Credentials$ = [
3,
n0,
_C,
0,
[_AKI, _SAK, _ST, _E],
[0, [() => accessKeySecretType, 0], 0, 4],
4
];
exports.PolicyDescriptorType$ = [3, n0, _PDT, 0, [_a3], [0]];
exports.ProvidedContext$ = [3, n0, _PCr, 0, [_PAr, _CA], [0, 0]];
exports.Tag$ = [3, n0, _Ta, 0, [_K, _V], [0, 0], 2];
var policyDescriptorListType = [1, n0, _pDLT, 0, () => exports.PolicyDescriptorType$];
var ProvidedContextsListType = [1, n0, _PCLT, 0, () => exports.ProvidedContext$];
var tagKeyListType = 64 | 0;
var tagListType = [1, n0, _tLT, 0, () => exports.Tag$];
exports.AssumeRole$ = [9, n0, _AR, 0, () => exports.AssumeRoleRequest$, () => exports.AssumeRoleResponse$];
exports.AssumeRoleWithWebIdentity$ = [
9,
n0,
_ARWWI,
0,
() => exports.AssumeRoleWithWebIdentityRequest$,
() => exports.AssumeRoleWithWebIdentityResponse$
];
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.shared.js
var require_runtimeConfig_shared4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider4();
var endpointResolver_1 = require_endpointResolver4();
var schemas_0_1 = require_schemas_04();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2011-06-15",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsQueryProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.sts",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/",
version: "2011-06-15",
serviceTarget: "AWSSecurityTokenServiceV20110615"
},
serviceId: config2?.serviceId ?? "STS",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.js
var require_runtimeConfig4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared4();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await config2.credentialDefaultProvider(idProps?.__config || {})()),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthExtensionConfiguration.js
var require_httpAuthExtensionConfiguration = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthRuntimeConfig = exports.getHttpAuthExtensionConfiguration = undefined;
var getHttpAuthExtensionConfiguration = (runtimeConfig) => {
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
let _credentials = runtimeConfig.credentials;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
_httpAuthSchemeProvider = httpAuthSchemeProvider;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
}
};
};
exports.getHttpAuthExtensionConfiguration = getHttpAuthExtensionConfiguration;
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials()
};
};
exports.resolveHttpAuthRuntimeConfig = resolveHttpAuthRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeExtensions.js
var require_runtimeExtensions = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveRuntimeExtensions = undefined;
var region_config_resolver_1 = require_dist_cjs47();
var protocol_http_1 = require_dist_cjs2();
var smithy_client_1 = require_dist_cjs23();
var httpAuthExtensionConfiguration_1 = require_httpAuthExtensionConfiguration();
var resolveRuntimeExtensions = (runtimeConfig, extensions) => {
const extensionConfiguration = Object.assign((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig), (0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig), (0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig), (0, httpAuthExtensionConfiguration_1.getHttpAuthExtensionConfiguration)(runtimeConfig));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig, (0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), (0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration), (0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), (0, httpAuthExtensionConfiguration_1.resolveHttpAuthRuntimeConfig)(extensionConfiguration));
};
exports.resolveRuntimeExtensions = resolveRuntimeExtensions;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js
var require_STSClient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.STSClient = exports.__Client = undefined;
var middleware_host_header_1 = require_dist_cjs27();
var middleware_logger_1 = require_dist_cjs28();
var middleware_recursion_detection_1 = require_dist_cjs29();
var middleware_user_agent_1 = require_dist_cjs34();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var schema_1 = require_schema();
var middleware_content_length_1 = require_dist_cjs37();
var middleware_endpoint_1 = require_dist_cjs39();
var middleware_retry_1 = require_dist_cjs40();
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__Client", { enumerable: true, get: function() {
return smithy_client_1.Client;
} });
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider4();
var EndpointParameters_1 = require_EndpointParameters();
var runtimeConfig_1 = require_runtimeConfig4();
var runtimeExtensions_1 = require_runtimeExtensions();
class STSClient extends smithy_client_1.Client {
config;
constructor(...[configuration]) {
const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);
const _config_2 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_1);
const _config_3 = (0, middleware_retry_1.resolveRetryConfig)(_config_2);
const _config_4 = (0, config_resolver_1.resolveRegionConfig)(_config_3);
const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);
const _config_6 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_5);
const _config_7 = (0, httpAuthSchemeProvider_1.resolveHttpAuthSchemeConfig)(_config_6);
const _config_8 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use((0, schema_1.getSchemaSerdePlugin)(this.config));
this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));
this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));
this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));
this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));
this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));
this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));
this.middlewareStack.use((0, core_1.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core_1.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials
})
}));
this.middlewareStack.use((0, core_1.getHttpSigningPlugin)(this.config));
}
destroy() {
super.destroy();
}
}
exports.STSClient = STSClient;
});
// node_modules/.pnpm/@aws-sdk+nested-clients@3.996.17/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js
var require_sts = __commonJS((exports) => {
var STSClient = require_STSClient();
var smithyClient = require_dist_cjs23();
var middlewareEndpoint = require_dist_cjs39();
var EndpointParameters = require_EndpointParameters();
var schemas_0 = require_schemas_04();
var errors3 = require_errors5();
var client = require_client2();
var regionConfigResolver = require_dist_cjs47();
var STSServiceException = require_STSServiceException();
class AssumeRoleCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRole", {}).n("STSClient", "AssumeRoleCommand").sc(schemas_0.AssumeRole$).build() {
}
class AssumeRoleWithWebIdentityCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithWebIdentity", {}).n("STSClient", "AssumeRoleWithWebIdentityCommand").sc(schemas_0.AssumeRoleWithWebIdentity$).build() {
}
var commands = {
AssumeRoleCommand,
AssumeRoleWithWebIdentityCommand
};
class STS extends STSClient.STSClient {
}
smithyClient.createAggregatedClient(commands, STS);
var getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
if (typeof assumedRoleUser?.Arn === "string") {
const arnComponents = assumedRoleUser.Arn.split(":");
if (arnComponents.length > 4 && arnComponents[4] !== "") {
return arnComponents[4];
}
}
return;
};
var resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
const region = typeof _region === "function" ? await _region() : _region;
const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
let stsDefaultRegion = "";
const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await regionConfigResolver.stsRegionDefaultResolver(loaderConfig)());
credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
return resolvedRegion;
};
var getDefaultRoleAssumer$1 = (stsOptions, STSClient2) => {
let stsClient;
let closureSourceCreds;
return async (sourceCreds, params) => {
closureSourceCreds = sourceCreds;
if (!stsClient) {
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
logger,
profile
});
const isCompatibleRequestHandler = !isH2(requestHandler);
stsClient = new STSClient2({
...stsOptions,
userAgentAppId,
profile,
credentialDefaultProvider: () => async () => closureSourceCreds,
region: resolvedRegion,
requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,
logger
});
}
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
}
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
const credentials = {
accessKeyId: Credentials.AccessKeyId,
secretAccessKey: Credentials.SecretAccessKey,
sessionToken: Credentials.SessionToken,
expiration: Credentials.Expiration,
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
...accountId && { accountId }
};
client.setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE", "i");
return credentials;
};
};
var getDefaultRoleAssumerWithWebIdentity$1 = (stsOptions, STSClient2) => {
let stsClient;
return async (params) => {
if (!stsClient) {
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
logger,
profile
});
const isCompatibleRequestHandler = !isH2(requestHandler);
stsClient = new STSClient2({
...stsOptions,
userAgentAppId,
profile,
region: resolvedRegion,
requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,
logger
});
}
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
}
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
const credentials = {
accessKeyId: Credentials.AccessKeyId,
secretAccessKey: Credentials.SecretAccessKey,
sessionToken: Credentials.SessionToken,
expiration: Credentials.Expiration,
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
...accountId && { accountId }
};
if (accountId) {
client.setCredentialFeature(credentials, "RESOLVED_ACCOUNT_ID", "T");
}
client.setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE_WEB_ID", "k");
return credentials;
};
};
var isH2 = (requestHandler) => {
return requestHandler?.metadata?.handlerProtocol === "h2";
};
var getCustomizableStsClientCtor = (baseCtor, customizations) => {
if (!customizations)
return baseCtor;
else
return class CustomizableSTSClient extends baseCtor {
constructor(config2) {
super(config2);
for (const customization of customizations) {
this.middlewareStack.use(customization);
}
}
};
};
var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumer$1(stsOptions, getCustomizableStsClientCtor(STSClient.STSClient, stsPlugins));
var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity$1(stsOptions, getCustomizableStsClientCtor(STSClient.STSClient, stsPlugins));
var decorateDefaultCredentialProvider = (provider) => (input) => provider({
roleAssumer: getDefaultRoleAssumer(input),
roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input),
...input
});
exports.$Command = smithyClient.Command;
exports.STSServiceException = STSServiceException.STSServiceException;
exports.AssumeRoleCommand = AssumeRoleCommand;
exports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand;
exports.STS = STS;
exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;
exports.getDefaultRoleAssumer = getDefaultRoleAssumer;
exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;
Object.prototype.hasOwnProperty.call(STSClient, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: STSClient["__proto__"]
});
Object.keys(STSClient).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = STSClient[k2];
});
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-process@3.972.24/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js
var require_dist_cjs51 = __commonJS((exports) => {
var sharedIniFileLoader = require_dist_cjs8();
var propertyProvider = require_dist_cjs6();
var node_child_process = __require("node:child_process");
var node_util = __require("node:util");
var client = require_client2();
var getValidatedProcessCredentials = (profileName, data, profiles) => {
if (data.Version !== 1) {
throw Error(`Profile ${profileName} credential_process did not return Version 1.`);
}
if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {
throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);
}
if (data.Expiration) {
const currentTime = new Date;
const expireTime = new Date(data.Expiration);
if (expireTime < currentTime) {
throw Error(`Profile ${profileName} credential_process returned expired credentials.`);
}
}
let accountId = data.AccountId;
if (!accountId && profiles?.[profileName]?.aws_account_id) {
accountId = profiles[profileName].aws_account_id;
}
const credentials = {
accessKeyId: data.AccessKeyId,
secretAccessKey: data.SecretAccessKey,
...data.SessionToken && { sessionToken: data.SessionToken },
...data.Expiration && { expiration: new Date(data.Expiration) },
...data.CredentialScope && { credentialScope: data.CredentialScope },
...accountId && { accountId }
};
client.setCredentialFeature(credentials, "CREDENTIALS_PROCESS", "w");
return credentials;
};
var resolveProcessCredentials = async (profileName, profiles, logger) => {
const profile = profiles[profileName];
if (profiles[profileName]) {
const credentialProcess = profile["credential_process"];
if (credentialProcess !== undefined) {
const execPromise = node_util.promisify(sharedIniFileLoader.externalDataInterceptor?.getTokenRecord?.().exec ?? node_child_process.exec);
try {
const { stdout } = await execPromise(credentialProcess);
let data;
try {
data = JSON.parse(stdout.trim());
} catch {
throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);
}
return getValidatedProcessCredentials(profileName, data, profiles);
} catch (error49) {
throw new propertyProvider.CredentialsProviderError(error49.message, { logger });
}
} else {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
}
} else {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
logger
});
}
};
var fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {
init.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");
const profiles = await sharedIniFileLoader.parseKnownFiles(init);
return resolveProcessCredentials(sharedIniFileLoader.getProfileName({
profile: init.profile ?? callerClientConfig?.profile
}), profiles, init.logger);
};
exports.fromProcess = fromProcess;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.27/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js
var require_fromWebToken = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function() {
var ownKeys = function(o2) {
ownKeys = Object.getOwnPropertyNames || function(o3) {
var ar = [];
for (var k2 in o3)
if (Object.prototype.hasOwnProperty.call(o3, k2))
ar[ar.length] = k2;
return ar;
};
return ownKeys(o2);
};
return function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 = ownKeys(mod2), i2 = 0;i2 < k2.length; i2++)
if (k2[i2] !== "default")
__createBinding(result, mod2, k2[i2]);
}
__setModuleDefault(result, mod2);
return result;
};
}();
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromWebToken = undefined;
var fromWebToken = (init) => async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");
const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;
let { roleAssumerWithWebIdentity } = init;
if (!roleAssumerWithWebIdentity) {
const { getDefaultRoleAssumerWithWebIdentity } = await Promise.resolve().then(() => __importStar(require_sts()));
roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({
...init.clientConfig,
credentialProviderLogger: init.logger,
parentClientConfig: {
...awsIdentityProperties?.callerClientConfig,
...init.parentClientConfig
}
}, init.clientPlugins);
}
return roleAssumerWithWebIdentity({
RoleArn: roleArn,
RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,
WebIdentityToken: webIdentityToken,
ProviderId: providerId,
PolicyArns: policyArns,
Policy: policy,
DurationSeconds: durationSeconds
});
};
exports.fromWebToken = fromWebToken;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.27/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js
var require_fromTokenFile = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromTokenFile = undefined;
var client_1 = require_client2();
var property_provider_1 = require_dist_cjs6();
var shared_ini_file_loader_1 = require_dist_cjs8();
var node_fs_1 = __require("node:fs");
var fromWebToken_1 = require_fromWebToken();
var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE";
var ENV_ROLE_ARN = "AWS_ROLE_ARN";
var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME";
var fromTokenFile = (init = {}) => async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");
const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];
const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];
const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];
if (!webIdentityTokenFile || !roleArn) {
throw new property_provider_1.CredentialsProviderError("Web identity configuration not specified", {
logger: init.logger
});
}
const credentials = await (0, fromWebToken_1.fromWebToken)({
...init,
webIdentityToken: shared_ini_file_loader_1.externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ?? (0, node_fs_1.readFileSync)(webIdentityTokenFile, { encoding: "ascii" }),
roleArn,
roleSessionName
})(awsIdentityProperties);
if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {
(0, client_1.setCredentialFeature)(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h");
}
return credentials;
};
exports.fromTokenFile = fromTokenFile;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-web-identity@3.972.27/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js
var require_dist_cjs52 = __commonJS((exports) => {
var fromTokenFile = require_fromTokenFile();
var fromWebToken = require_fromWebToken();
Object.prototype.hasOwnProperty.call(fromTokenFile, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: fromTokenFile["__proto__"]
});
Object.keys(fromTokenFile).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = fromTokenFile[k2];
});
Object.prototype.hasOwnProperty.call(fromWebToken, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: fromWebToken["__proto__"]
});
Object.keys(fromWebToken).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = fromWebToken[k2];
});
});
// node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.972.27/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js
var require_dist_cjs53 = __commonJS((exports) => {
var sharedIniFileLoader = require_dist_cjs8();
var propertyProvider = require_dist_cjs6();
var client = require_client2();
var credentialProviderLogin = require_dist_cjs50();
var resolveCredentialSource = (credentialSource, profileName, logger) => {
const sourceProvidersMap = {
EcsContainer: async (options) => {
const { fromHttp } = await Promise.resolve().then(() => __toESM(require_dist_cjs24()));
const { fromContainerMetadata } = await Promise.resolve().then(() => __toESM(require_dist_cjs12()));
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer");
return async () => propertyProvider.chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);
},
Ec2InstanceMetadata: async (options) => {
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");
const { fromInstanceMetadata } = await Promise.resolve().then(() => __toESM(require_dist_cjs12()));
return async () => fromInstanceMetadata(options)().then(setNamedProvider);
},
Environment: async (options) => {
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");
const { fromEnv } = await Promise.resolve().then(() => __toESM(require_dist_cjs7()));
return async () => fromEnv(options)().then(setNamedProvider);
}
};
if (credentialSource in sourceProvidersMap) {
return sourceProvidersMap[credentialSource];
} else {
throw new propertyProvider.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });
}
};
var setNamedProvider = (creds) => client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_NAMED_PROVIDER", "p");
var isAssumeRoleProfile = (arg, { profile = "default", logger } = {}) => {
return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger }));
};
var isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {
const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined";
if (withSourceProfile) {
logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);
}
return withSourceProfile;
};
var isCredentialSourceProfile = (arg, { profile, logger }) => {
const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined";
if (withProviderProfile) {
logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);
}
return withProviderProfile;
};
var resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData2) => {
options.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");
const profileData = profiles[profileName];
const { source_profile, region } = profileData;
if (!options.roleAssumer) {
const { getDefaultRoleAssumer } = await Promise.resolve().then(() => __toESM(require_sts()));
options.roleAssumer = getDefaultRoleAssumer({
...options.clientConfig,
credentialProviderLogger: options.logger,
parentClientConfig: {
...callerClientConfig,
...options?.parentClientConfig,
region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region
}
}, options.clientPlugins);
}
if (source_profile && source_profile in visitedProfiles) {
throw new propertyProvider.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${sharedIniFileLoader.getProfileName(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), { logger: options.logger });
}
options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);
const sourceCredsProvider = source_profile ? resolveProfileData2(source_profile, profiles, options, callerClientConfig, {
...visitedProfiles,
[source_profile]: true
}, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {})) : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();
if (isCredentialSourceWithoutRoleArn(profileData)) {
return sourceCredsProvider.then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
} else {
const params = {
RoleArn: profileData.role_arn,
RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,
ExternalId: profileData.external_id,
DurationSeconds: parseInt(profileData.duration_seconds || "3600", 10)
};
const { mfa_serial } = profileData;
if (mfa_serial) {
if (!options.mfaCodeProvider) {
throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });
}
params.SerialNumber = mfa_serial;
params.TokenCode = await options.mfaCodeProvider(mfa_serial);
}
const sourceCreds = await sourceCredsProvider;
return options.roleAssumer(sourceCreds, params).then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
}
};
var isCredentialSourceWithoutRoleArn = (section) => {
return !section.role_arn && !!section.credential_source;
};
var isLoginProfile = (data) => {
return Boolean(data && data.login_session);
};
var resolveLoginCredentials = async (profileName, options, callerClientConfig) => {
const credentials = await credentialProviderLogin.fromLoginCredentials({
...options,
profile: profileName
})({ callerClientConfig });
return client.setCredentialFeature(credentials, "CREDENTIALS_PROFILE_LOGIN", "AC");
};
var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string";
var resolveProcessCredentials = async (options, profile) => Promise.resolve().then(() => __toESM(require_dist_cjs51())).then(({ fromProcess }) => fromProcess({
...options,
profile
})().then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_PROCESS", "v")));
var resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {
const { fromSSO } = await Promise.resolve().then(() => __toESM(require_dist_cjs49()));
return fromSSO({
profile,
logger: options.logger,
parentClientConfig: options.parentClientConfig,
clientConfig: options.clientConfig
})({
callerClientConfig
}).then((creds) => {
if (profileData.sso_session) {
return client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO", "r");
} else {
return client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO_LEGACY", "t");
}
});
};
var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string");
var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1;
var resolveStaticCredentials = async (profile, options) => {
options?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");
const credentials = {
accessKeyId: profile.aws_access_key_id,
secretAccessKey: profile.aws_secret_access_key,
sessionToken: profile.aws_session_token,
...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope },
...profile.aws_account_id && { accountId: profile.aws_account_id }
};
return client.setCredentialFeature(credentials, "CREDENTIALS_PROFILE", "n");
};
var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1;
var resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => Promise.resolve().then(() => __toESM(require_dist_cjs52())).then(({ fromTokenFile }) => fromTokenFile({
webIdentityTokenFile: profile.web_identity_token_file,
roleArn: profile.role_arn,
roleSessionName: profile.role_session_name,
roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,
logger: options.logger,
parentClientConfig: options.parentClientConfig
})({
callerClientConfig
}).then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN", "q")));
var resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {
const data = profiles[profileName];
if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {
return resolveStaticCredentials(data, options);
}
if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {
return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);
}
if (isStaticCredsProfile(data)) {
return resolveStaticCredentials(data, options);
}
if (isWebIdentityProfile(data)) {
return resolveWebIdentityCredentials(data, options, callerClientConfig);
}
if (isProcessProfile(data)) {
return resolveProcessCredentials(options, profileName);
}
if (isSsoProfile(data)) {
return await resolveSsoCredentials(profileName, data, options, callerClientConfig);
}
if (isLoginProfile(data)) {
return resolveLoginCredentials(profileName, options, callerClientConfig);
}
throw new propertyProvider.CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });
};
var fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {
init.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");
const profiles = await sharedIniFileLoader.parseKnownFiles(init);
return resolveProfileData(sharedIniFileLoader.getProfileName({
profile: init.profile ?? callerClientConfig?.profile
}), profiles, init, callerClientConfig);
};
exports.fromIni = fromIni;
});
// node_modules/.pnpm/@aws-sdk+credential-provider-node@3.972.28/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js
var require_dist_cjs54 = __commonJS((exports) => {
var credentialProviderEnv = require_dist_cjs7();
var propertyProvider = require_dist_cjs6();
var sharedIniFileLoader = require_dist_cjs8();
var ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
var remoteProvider = async (init) => {
const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await Promise.resolve().then(() => __toESM(require_dist_cjs12()));
if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
init.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");
const { fromHttp } = await Promise.resolve().then(() => __toESM(require_dist_cjs24()));
return propertyProvider.chain(fromHttp(init), fromContainerMetadata(init));
}
if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== "false") {
return async () => {
throw new propertyProvider.CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init.logger });
};
}
init.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");
return fromInstanceMetadata(init);
};
function memoizeChain(providers, treatAsExpired) {
const chain = internalCreateChain(providers);
let activeLock;
let passiveLock;
let credentials;
const provider = async (options) => {
if (options?.forceRefresh) {
return await chain(options);
}
if (credentials?.expiration) {
if (credentials?.expiration?.getTime() < Date.now()) {
credentials = undefined;
}
}
if (activeLock) {
await activeLock;
} else if (!credentials || treatAsExpired?.(credentials)) {
if (credentials) {
if (!passiveLock) {
passiveLock = chain(options).then((c5) => {
credentials = c5;
}).finally(() => {
passiveLock = undefined;
});
}
} else {
activeLock = chain(options).then((c5) => {
credentials = c5;
}).finally(() => {
activeLock = undefined;
});
return provider(options);
}
}
return credentials;
};
return provider;
}
var internalCreateChain = (providers) => async (awsIdentityProperties) => {
let lastProviderError;
for (const provider of providers) {
try {
return await provider(awsIdentityProperties);
} catch (err) {
lastProviderError = err;
if (err?.tryNextLink) {
continue;
}
throw err;
}
}
throw lastProviderError;
};
var multipleCredentialSourceWarningEmitted = false;
var defaultProvider = (init = {}) => memoizeChain([
async () => {
const profile = init.profile ?? process.env[sharedIniFileLoader.ENV_PROFILE];
if (profile) {
const envStaticCredentialsAreSet = process.env[credentialProviderEnv.ENV_KEY] && process.env[credentialProviderEnv.ENV_SECRET];
if (envStaticCredentialsAreSet) {
if (!multipleCredentialSourceWarningEmitted) {
const warnFn = init.logger?.warn && init.logger?.constructor?.name !== "NoOpLogger" ? init.logger.warn.bind(init.logger) : console.warn;
warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
Multiple credential sources detected:
Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
This SDK will proceed with the AWS_PROFILE value.
However, a future version may change this behavior to prefer the ENV static credentials.
Please ensure that your environment only sets either the AWS_PROFILE or the
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
`);
multipleCredentialSourceWarningEmitted = true;
}
}
throw new propertyProvider.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.", {
logger: init.logger,
tryNextLink: true
});
}
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");
return credentialProviderEnv.fromEnv(init)();
},
async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
throw new propertyProvider.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init.logger });
}
const { fromSSO } = await Promise.resolve().then(() => __toESM(require_dist_cjs49()));
return fromSSO(init)(awsIdentityProperties);
},
async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
const { fromIni } = await Promise.resolve().then(() => __toESM(require_dist_cjs53()));
return fromIni(init)(awsIdentityProperties);
},
async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
const { fromProcess } = await Promise.resolve().then(() => __toESM(require_dist_cjs51()));
return fromProcess(init)(awsIdentityProperties);
},
async (awsIdentityProperties) => {
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
const { fromTokenFile } = await Promise.resolve().then(() => __toESM(require_dist_cjs52()));
return fromTokenFile(init)(awsIdentityProperties);
},
async () => {
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
return (await remoteProvider(init))();
},
async () => {
throw new propertyProvider.CredentialsProviderError("Could not load credentials from any providers", {
tryNextLink: false,
logger: init.logger
});
}
], credentialsTreatedAsExpired);
var credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;
var credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;
exports.credentialsTreatedAsExpired = credentialsTreatedAsExpired;
exports.credentialsWillNeedRefresh = credentialsWillNeedRefresh;
exports.defaultProvider = defaultProvider;
});
// src/utils/proxy.ts
function disableKeepAlive() {
keepAliveDisabled = true;
}
function getAddressFamily(options) {
switch (options.family) {
case 0:
case 4:
case 6:
return options.family;
case "IPv6":
return 6;
case "IPv4":
case undefined:
return 4;
default:
throw new Error(`Unsupported address family: ${options.family}`);
}
}
function getProxyUrl(env5 = process.env) {
return env5.https_proxy || env5.HTTPS_PROXY || env5.http_proxy || env5.HTTP_PROXY;
}
function getNoProxy(env5 = process.env) {
return env5.no_proxy || env5.NO_PROXY;
}
function shouldBypassProxy(urlString, noProxy = getNoProxy()) {
if (!noProxy)
return false;
if (noProxy === "*")
return true;
try {
const url3 = new URL(urlString);
const hostname3 = url3.hostname.toLowerCase();
const port = url3.port || (url3.protocol === "https:" ? "443" : "80");
const hostWithPort = `${hostname3}:${port}`;
const noProxyList = noProxy.split(/[,\s]+/).filter(Boolean);
return noProxyList.some((pattern) => {
pattern = pattern.toLowerCase().trim();
if (pattern.includes(":")) {
return hostWithPort === pattern;
}
if (pattern.startsWith(".")) {
const suffix = pattern;
return hostname3 === pattern.substring(1) || hostname3.endsWith(suffix);
}
return hostname3 === pattern;
});
} catch {
return false;
}
}
function createHttpsProxyAgent(proxyUrl, extra = {}) {
const mtlsConfig = getMTLSConfig();
const caCerts = getCACertificates();
const agentOptions = {
...mtlsConfig && {
cert: mtlsConfig.cert,
key: mtlsConfig.key,
passphrase: mtlsConfig.passphrase
},
...caCerts && { ca: caCerts }
};
if (isEnvTruthy(process.env.CLAUDE_CODE_PROXY_RESOLVES_HOSTS)) {
agentOptions.lookup = (hostname3, options, callback) => {
callback(null, hostname3, getAddressFamily(options));
};
}
return new HttpsProxyAgent(proxyUrl, { ...agentOptions, ...extra });
}
function createAxiosInstance(extra = {}) {
const proxyUrl = getProxyUrl();
const mtlsAgent = getMTLSAgent();
const instance = axios_default.create({ proxy: false });
if (!proxyUrl) {
if (mtlsAgent)
instance.defaults.httpsAgent = mtlsAgent;
return instance;
}
const proxyAgent = createHttpsProxyAgent(proxyUrl, extra);
instance.interceptors.request.use((config2) => {
if (config2.url && shouldBypassProxy(config2.url)) {
config2.httpsAgent = mtlsAgent;
config2.httpAgent = mtlsAgent;
} else {
config2.httpsAgent = proxyAgent;
config2.httpAgent = proxyAgent;
}
return config2;
});
return instance;
}
function getWebSocketProxyAgent(url3) {
const proxyUrl = getProxyUrl();
if (!proxyUrl) {
return;
}
if (shouldBypassProxy(url3)) {
return;
}
return createHttpsProxyAgent(proxyUrl);
}
function getWebSocketProxyUrl(url3) {
const proxyUrl = getProxyUrl();
if (!proxyUrl) {
return;
}
if (shouldBypassProxy(url3)) {
return;
}
return proxyUrl;
}
function getProxyFetchOptions(opts) {
const base2 = keepAliveDisabled ? { keepalive: false } : {};
if (opts?.forAnthropicAPI) {
const unixSocket = process.env.ANTHROPIC_UNIX_SOCKET;
if (unixSocket && typeof Bun !== "undefined") {
return { ...base2, unix: unixSocket };
}
}
const proxyUrl = getProxyUrl();
if (proxyUrl) {
if (typeof Bun !== "undefined") {
return { ...base2, proxy: proxyUrl, ...getTLSFetchOptions() };
}
return { ...base2, dispatcher: getProxyAgent(proxyUrl) };
}
return { ...base2, ...getTLSFetchOptions() };
}
function configureGlobalAgents() {
const proxyUrl = getProxyUrl();
const mtlsAgent = getMTLSAgent();
if (proxyInterceptorId !== undefined) {
axios_default.interceptors.request.eject(proxyInterceptorId);
proxyInterceptorId = undefined;
}
axios_default.defaults.proxy = undefined;
axios_default.defaults.httpAgent = undefined;
axios_default.defaults.httpsAgent = undefined;
if (proxyUrl) {
axios_default.defaults.proxy = false;
const proxyAgent = createHttpsProxyAgent(proxyUrl);
proxyInterceptorId = axios_default.interceptors.request.use((config2) => {
if (config2.url && shouldBypassProxy(config2.url)) {
if (mtlsAgent) {
config2.httpsAgent = mtlsAgent;
config2.httpAgent = mtlsAgent;
} else {
delete config2.httpsAgent;
delete config2.httpAgent;
}
} else {
config2.httpsAgent = proxyAgent;
config2.httpAgent = proxyAgent;
}
return config2;
});
require_undici().setGlobalDispatcher(getProxyAgent(proxyUrl));
} else if (mtlsAgent) {
axios_default.defaults.httpsAgent = mtlsAgent;
const mtlsOptions = getTLSFetchOptions();
if (mtlsOptions.dispatcher) {
require_undici().setGlobalDispatcher(mtlsOptions.dispatcher);
}
}
}
async function getAWSClientProxyConfig() {
const proxyUrl = getProxyUrl();
if (!proxyUrl) {
return {};
}
const [{ NodeHttpHandler }, { defaultProvider }] = await Promise.all([
Promise.resolve().then(() => __toESM(require_dist_cjs5(), 1)),
Promise.resolve().then(() => __toESM(require_dist_cjs54(), 1))
]);
const agent = createHttpsProxyAgent(proxyUrl);
const requestHandler = new NodeHttpHandler({
httpAgent: agent,
httpsAgent: agent
});
return {
requestHandler,
credentials: defaultProvider({
clientConfig: { requestHandler }
})
};
}
function clearProxyCache() {
getProxyAgent.cache.clear?.();
logForDebugging("Cleared proxy agent cache");
}
var keepAliveDisabled = false, getProxyAgent, proxyInterceptorId;
var init_proxy = __esm(() => {
init_axios2();
init_dist2();
init_memoize();
init_caCerts();
init_debug();
init_envUtils();
init_mtls();
getProxyAgent = memoize_default((uri) => {
const undiciMod = require_undici();
const mtlsConfig = getMTLSConfig();
const caCerts = getCACertificates();
const proxyOptions = {
httpProxy: uri,
httpsProxy: uri,
noProxy: process.env.NO_PROXY || process.env.no_proxy
};
if (mtlsConfig || caCerts) {
const tlsOpts = {
...mtlsConfig && {
cert: mtlsConfig.cert,
key: mtlsConfig.key,
passphrase: mtlsConfig.passphrase
},
...caCerts && { ca: caCerts }
};
proxyOptions.connect = tlsOpts;
proxyOptions.requestTls = tlsOpts;
}
return new undiciMod.EnvHttpProxyAgent(proxyOptions);
});
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.defaultBedrockHttpAuthSchemeProvider = exports.defaultBedrockHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var core_1 = require_dist_cjs25();
var util_middleware_1 = require_dist_cjs21();
var defaultBedrockHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultBedrockHttpAuthSchemeParametersProvider = defaultBedrockHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "bedrock",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiHttpBearerAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#httpBearerAuth",
propertiesExtractor: ({ profile, filepath, configFilepath, ignoreCache }, context) => ({
identityProperties: {
profile,
filepath,
configFilepath,
ignoreCache
}
})
};
}
var defaultBedrockHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
options.push(createSmithyApiHttpBearerAuthHttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultBedrockHttpAuthSchemeProvider = defaultBedrockHttpAuthSchemeProvider;
var resolveHttpAuthSchemeConfig = (config2) => {
const token = (0, core_1.memoizeIdentityProvider)(config2.token, core_1.isIdentityExpired, core_1.doesIdentityRequireRefresh);
const config_0 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config2);
return Object.assign(config_0, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? []),
token
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/package.json
var require_package2 = __commonJS((exports, module) => {
module.exports = {
name: "@aws-sdk/client-bedrock",
description: "AWS SDK for JavaScript Bedrock Client for Node.js, Browser and React Native",
version: "3.1020.0",
scripts: {
build: "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
"build:cjs": "node ../../scripts/compilation/inline client-bedrock",
"build:es": "tsc -p tsconfig.es.json",
"build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"',
"build:types": "tsc -p tsconfig.types.json",
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
clean: "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
"extract:docs": "api-extractor run --local",
"generate:client": "node ../../scripts/generate-clients/single-service --solo bedrock",
"test:index": "tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs"
},
main: "./dist-cjs/index.js",
types: "./dist-types/index.d.ts",
module: "./dist-es/index.js",
sideEffects: false,
dependencies: {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "^3.973.26",
"@aws-sdk/credential-provider-node": "^3.972.28",
"@aws-sdk/middleware-host-header": "^3.972.8",
"@aws-sdk/middleware-logger": "^3.972.8",
"@aws-sdk/middleware-recursion-detection": "^3.972.9",
"@aws-sdk/middleware-user-agent": "^3.972.27",
"@aws-sdk/region-config-resolver": "^3.972.10",
"@aws-sdk/token-providers": "3.1020.0",
"@aws-sdk/types": "^3.973.6",
"@aws-sdk/util-endpoints": "^3.996.5",
"@aws-sdk/util-user-agent-browser": "^3.972.8",
"@aws-sdk/util-user-agent-node": "^3.973.13",
"@smithy/config-resolver": "^4.4.13",
"@smithy/core": "^3.23.13",
"@smithy/fetch-http-handler": "^5.3.15",
"@smithy/hash-node": "^4.2.12",
"@smithy/invalid-dependency": "^4.2.12",
"@smithy/middleware-content-length": "^4.2.12",
"@smithy/middleware-endpoint": "^4.4.28",
"@smithy/middleware-retry": "^4.4.45",
"@smithy/middleware-serde": "^4.2.16",
"@smithy/middleware-stack": "^4.2.12",
"@smithy/node-config-provider": "^4.3.12",
"@smithy/node-http-handler": "^4.5.1",
"@smithy/protocol-http": "^5.3.12",
"@smithy/smithy-client": "^4.12.8",
"@smithy/types": "^4.13.1",
"@smithy/url-parser": "^4.2.12",
"@smithy/util-base64": "^4.3.2",
"@smithy/util-body-length-browser": "^4.2.2",
"@smithy/util-body-length-node": "^4.2.3",
"@smithy/util-defaults-mode-browser": "^4.3.44",
"@smithy/util-defaults-mode-node": "^4.2.48",
"@smithy/util-endpoints": "^3.3.3",
"@smithy/util-middleware": "^4.2.12",
"@smithy/util-retry": "^4.2.12",
"@smithy/util-utf8": "^4.2.2",
tslib: "^2.6.2"
},
devDependencies: {
"@tsconfig/node20": "20.1.8",
"@types/node": "^20.14.8",
concurrently: "7.0.0",
"downlevel-dts": "0.10.1",
premove: "4.0.0",
typescript: "~5.8.3"
},
engines: {
node: ">=20.0.0"
},
typesVersions: {
"<4.5": {
"dist-types/*": [
"dist-types/ts3.4/*"
]
}
},
files: [
"dist-*/**"
],
author: {
name: "AWS SDK for JavaScript Team",
url: "https://aws.amazon.com/javascript/"
},
license: "Apache-2.0",
browser: {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
},
"react-native": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native"
},
homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-bedrock",
repository: {
type: "git",
url: "https://github.com/aws/aws-sdk-js-v3.git",
directory: "clients/client-bedrock"
}
};
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/endpoint/ruleset.js
var require_ruleset5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var s = "required";
var t = "fn";
var u4 = "argv";
var v2 = "ref";
var a2 = true;
var b2 = "isSet";
var c5 = "booleanEquals";
var d = "error";
var e = "endpoint";
var f = "tree";
var g2 = "PartitionResult";
var h2 = { [s]: false, type: "string" };
var i2 = { [s]: true, default: false, type: "boolean" };
var j2 = { [v2]: "Endpoint" };
var k2 = { [t]: c5, [u4]: [{ [v2]: "UseFIPS" }, true] };
var l = { [t]: c5, [u4]: [{ [v2]: "UseDualStack" }, true] };
var m2 = {};
var n2 = { [t]: "getAttr", [u4]: [{ [v2]: g2 }, "supportsFIPS"] };
var o2 = { [t]: c5, [u4]: [true, { [t]: "getAttr", [u4]: [{ [v2]: g2 }, "supportsDualStack"] }] };
var p = [k2];
var q2 = [l];
var r = [{ [v2]: "Region" }];
var _data = { version: "1.0", parameters: { Region: h2, UseDualStack: i2, UseFIPS: i2, Endpoint: h2 }, rules: [{ conditions: [{ [t]: b2, [u4]: [j2] }], rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { rules: [{ conditions: q2, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: j2, properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [t]: b2, [u4]: r }], rules: [{ conditions: [{ [t]: "aws.partition", [u4]: r, assign: g2 }], rules: [{ conditions: [k2, l], rules: [{ conditions: [{ [t]: c5, [u4]: [a2, n2] }, o2], rules: [{ rules: [{ endpoint: { url: "https://bedrock-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: p, rules: [{ conditions: [{ [t]: c5, [u4]: [n2, a2] }], rules: [{ rules: [{ endpoint: { url: "https://bedrock-fips.{Region}.{PartitionResult#dnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: q2, rules: [{ conditions: [o2], rules: [{ rules: [{ endpoint: { url: "https://bedrock.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { rules: [{ endpoint: { url: "https://bedrock.{Region}.{PartitionResult#dnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }], type: f }] };
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/endpoint/endpointResolver.js
var require_endpointResolver5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset5();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/models/BedrockServiceException.js
var require_BedrockServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BedrockServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class BedrockServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, BedrockServiceException.prototype);
}
}
exports.BedrockServiceException = BedrockServiceException;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/models/errors.js
var require_errors6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceUnavailableException = exports.ResourceInUseException = exports.TooManyTagsException = exports.ServiceQuotaExceededException = exports.ConflictException = exports.ValidationException = exports.ThrottlingException = exports.ResourceNotFoundException = exports.InternalServerException = exports.AccessDeniedException = undefined;
var BedrockServiceException_1 = require_BedrockServiceException();
class AccessDeniedException extends BedrockServiceException_1.BedrockServiceException {
name = "AccessDeniedException";
$fault = "client";
constructor(opts) {
super({
name: "AccessDeniedException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, AccessDeniedException.prototype);
}
}
exports.AccessDeniedException = AccessDeniedException;
class InternalServerException extends BedrockServiceException_1.BedrockServiceException {
name = "InternalServerException";
$fault = "server";
constructor(opts) {
super({
name: "InternalServerException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, InternalServerException.prototype);
}
}
exports.InternalServerException = InternalServerException;
class ResourceNotFoundException extends BedrockServiceException_1.BedrockServiceException {
name = "ResourceNotFoundException";
$fault = "client";
constructor(opts) {
super({
name: "ResourceNotFoundException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
}
}
exports.ResourceNotFoundException = ResourceNotFoundException;
class ThrottlingException extends BedrockServiceException_1.BedrockServiceException {
name = "ThrottlingException";
$fault = "client";
constructor(opts) {
super({
name: "ThrottlingException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ThrottlingException.prototype);
}
}
exports.ThrottlingException = ThrottlingException;
class ValidationException extends BedrockServiceException_1.BedrockServiceException {
name = "ValidationException";
$fault = "client";
constructor(opts) {
super({
name: "ValidationException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ValidationException.prototype);
}
}
exports.ValidationException = ValidationException;
class ConflictException extends BedrockServiceException_1.BedrockServiceException {
name = "ConflictException";
$fault = "client";
constructor(opts) {
super({
name: "ConflictException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ConflictException.prototype);
}
}
exports.ConflictException = ConflictException;
class ServiceQuotaExceededException extends BedrockServiceException_1.BedrockServiceException {
name = "ServiceQuotaExceededException";
$fault = "client";
constructor(opts) {
super({
name: "ServiceQuotaExceededException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);
}
}
exports.ServiceQuotaExceededException = ServiceQuotaExceededException;
class TooManyTagsException extends BedrockServiceException_1.BedrockServiceException {
name = "TooManyTagsException";
$fault = "client";
resourceName;
constructor(opts) {
super({
name: "TooManyTagsException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, TooManyTagsException.prototype);
this.resourceName = opts.resourceName;
}
}
exports.TooManyTagsException = TooManyTagsException;
class ResourceInUseException extends BedrockServiceException_1.BedrockServiceException {
name = "ResourceInUseException";
$fault = "client";
constructor(opts) {
super({
name: "ResourceInUseException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ResourceInUseException.prototype);
}
}
exports.ResourceInUseException = ResourceInUseException;
class ServiceUnavailableException extends BedrockServiceException_1.BedrockServiceException {
name = "ServiceUnavailableException";
$fault = "server";
constructor(opts) {
super({
name: "ServiceUnavailableException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, ServiceUnavailableException.prototype);
}
}
exports.ServiceUnavailableException = ServiceUnavailableException;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/schemas/schemas_0.js
var require_schemas_05 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AutomatedReasoningPolicyBuildWorkflowRepairContent$ = exports.AutomatedReasoningPolicyBuildWorkflowDocument$ = exports.AutomatedReasoningPolicyBuildStepMessage$ = exports.AutomatedReasoningPolicyBuildStep$ = exports.AutomatedReasoningPolicyBuildResultAssetManifestEntry$ = exports.AutomatedReasoningPolicyBuildResultAssetManifest$ = exports.AutomatedReasoningPolicyBuildLogEntry$ = exports.AutomatedReasoningPolicyBuildLog$ = exports.AutomatedReasoningPolicyAtomicStatement$ = exports.AutomatedReasoningPolicyAnnotatedLine$ = exports.AutomatedReasoningPolicyAnnotatedChunk$ = exports.AutomatedReasoningPolicyAddVariableMutation$ = exports.AutomatedReasoningPolicyAddVariableAnnotation$ = exports.AutomatedReasoningPolicyAddTypeValue$ = exports.AutomatedReasoningPolicyAddTypeMutation$ = exports.AutomatedReasoningPolicyAddTypeAnnotation$ = exports.AutomatedReasoningPolicyAddRuleMutation$ = exports.AutomatedReasoningPolicyAddRuleFromNaturalLanguageAnnotation$ = exports.AutomatedReasoningPolicyAddRuleAnnotation$ = exports.AutomatedReasoningLogicStatement$ = exports.AutomatedReasoningCheckValidFinding$ = exports.AutomatedReasoningCheckTranslationOption$ = exports.AutomatedReasoningCheckTranslationAmbiguousFinding$ = exports.AutomatedReasoningCheckTranslation$ = exports.AutomatedReasoningCheckTooComplexFinding$ = exports.AutomatedReasoningCheckScenario$ = exports.AutomatedReasoningCheckSatisfiableFinding$ = exports.AutomatedReasoningCheckRule$ = exports.AutomatedReasoningCheckNoTranslationsFinding$ = exports.AutomatedReasoningCheckLogicWarning$ = exports.AutomatedReasoningCheckInvalidFinding$ = exports.AutomatedReasoningCheckInputTextReference$ = exports.AutomatedReasoningCheckImpossibleFinding$ = exports.AutomatedEvaluationCustomMetricConfig$ = exports.AutomatedEvaluationConfig$ = exports.AgreementAvailability$ = exports.AccountEnforcedGuardrailOutputConfiguration$ = exports.AccountEnforcedGuardrailInferenceInputConfiguration$ = exports.errorTypeRegistries = exports.ValidationException$ = exports.TooManyTagsException$ = exports.ThrottlingException$ = exports.ServiceUnavailableException$ = exports.ServiceQuotaExceededException$ = exports.ResourceNotFoundException$ = exports.ResourceInUseException$ = exports.InternalServerException$ = exports.ConflictException$ = exports.AccessDeniedException$ = exports.BedrockServiceException$ = undefined;
exports.CancelAutomatedReasoningPolicyBuildWorkflowResponse$ = exports.CancelAutomatedReasoningPolicyBuildWorkflowRequest$ = exports.ByteContentDoc$ = exports.BedrockEvaluatorModel$ = exports.BatchDeleteEvaluationJobResponse$ = exports.BatchDeleteEvaluationJobRequest$ = exports.BatchDeleteEvaluationJobItem$ = exports.BatchDeleteEvaluationJobError$ = exports.AutomatedReasoningPolicyVariableReport$ = exports.AutomatedReasoningPolicyUpdateVariableMutation$ = exports.AutomatedReasoningPolicyUpdateVariableAnnotation$ = exports.AutomatedReasoningPolicyUpdateTypeValue$ = exports.AutomatedReasoningPolicyUpdateTypeMutation$ = exports.AutomatedReasoningPolicyUpdateTypeAnnotation$ = exports.AutomatedReasoningPolicyUpdateRuleMutation$ = exports.AutomatedReasoningPolicyUpdateRuleAnnotation$ = exports.AutomatedReasoningPolicyUpdateFromScenarioFeedbackAnnotation$ = exports.AutomatedReasoningPolicyUpdateFromRuleFeedbackAnnotation$ = exports.AutomatedReasoningPolicyTestResult$ = exports.AutomatedReasoningPolicyTestCase$ = exports.AutomatedReasoningPolicySummary$ = exports.AutomatedReasoningPolicyStatementReference$ = exports.AutomatedReasoningPolicyStatementLocation$ = exports.AutomatedReasoningPolicySourceDocument$ = exports.AutomatedReasoningPolicyScenarios$ = exports.AutomatedReasoningPolicyScenario$ = exports.AutomatedReasoningPolicyRuleReport$ = exports.AutomatedReasoningPolicyReportSourceDocument$ = exports.AutomatedReasoningPolicyPlanning$ = exports.AutomatedReasoningPolicyIngestContentAnnotation$ = exports.AutomatedReasoningPolicyGeneratedTestCases$ = exports.AutomatedReasoningPolicyGeneratedTestCase$ = exports.AutomatedReasoningPolicyFidelityReport$ = exports.AutomatedReasoningPolicyDisjointRuleSet$ = exports.AutomatedReasoningPolicyDeleteVariableMutation$ = exports.AutomatedReasoningPolicyDeleteVariableAnnotation$ = exports.AutomatedReasoningPolicyDeleteTypeValue$ = exports.AutomatedReasoningPolicyDeleteTypeMutation$ = exports.AutomatedReasoningPolicyDeleteTypeAnnotation$ = exports.AutomatedReasoningPolicyDeleteRuleMutation$ = exports.AutomatedReasoningPolicyDeleteRuleAnnotation$ = exports.AutomatedReasoningPolicyDefinitionVariable$ = exports.AutomatedReasoningPolicyDefinitionTypeValuePair$ = exports.AutomatedReasoningPolicyDefinitionTypeValue$ = exports.AutomatedReasoningPolicyDefinitionType$ = exports.AutomatedReasoningPolicyDefinitionRule$ = exports.AutomatedReasoningPolicyDefinitionQualityReport$ = exports.AutomatedReasoningPolicyDefinition$ = exports.AutomatedReasoningPolicyBuildWorkflowSummary$ = exports.AutomatedReasoningPolicyBuildWorkflowSource$ = undefined;
exports.DeleteCustomModelDeploymentRequest$ = exports.DeleteAutomatedReasoningPolicyTestCaseResponse$ = exports.DeleteAutomatedReasoningPolicyTestCaseRequest$ = exports.DeleteAutomatedReasoningPolicyResponse$ = exports.DeleteAutomatedReasoningPolicyRequest$ = exports.DeleteAutomatedReasoningPolicyBuildWorkflowResponse$ = exports.DeleteAutomatedReasoningPolicyBuildWorkflowRequest$ = exports.DataProcessingDetails$ = exports.CustomModelUnits$ = exports.CustomModelSummary$ = exports.CustomModelDeploymentUpdateDetails$ = exports.CustomModelDeploymentSummary$ = exports.CustomMetricEvaluatorModelConfig$ = exports.CustomMetricDefinition$ = exports.CustomMetricBedrockEvaluatorModel$ = exports.CreateProvisionedModelThroughputResponse$ = exports.CreateProvisionedModelThroughputRequest$ = exports.CreatePromptRouterResponse$ = exports.CreatePromptRouterRequest$ = exports.CreateModelInvocationJobResponse$ = exports.CreateModelInvocationJobRequest$ = exports.CreateModelImportJobResponse$ = exports.CreateModelImportJobRequest$ = exports.CreateModelCustomizationJobResponse$ = exports.CreateModelCustomizationJobRequest$ = exports.CreateModelCopyJobResponse$ = exports.CreateModelCopyJobRequest$ = exports.CreateMarketplaceModelEndpointResponse$ = exports.CreateMarketplaceModelEndpointRequest$ = exports.CreateInferenceProfileResponse$ = exports.CreateInferenceProfileRequest$ = exports.CreateGuardrailVersionResponse$ = exports.CreateGuardrailVersionRequest$ = exports.CreateGuardrailResponse$ = exports.CreateGuardrailRequest$ = exports.CreateFoundationModelAgreementResponse$ = exports.CreateFoundationModelAgreementRequest$ = exports.CreateEvaluationJobResponse$ = exports.CreateEvaluationJobRequest$ = exports.CreateCustomModelResponse$ = exports.CreateCustomModelRequest$ = exports.CreateCustomModelDeploymentResponse$ = exports.CreateCustomModelDeploymentRequest$ = exports.CreateAutomatedReasoningPolicyVersionResponse$ = exports.CreateAutomatedReasoningPolicyVersionRequest$ = exports.CreateAutomatedReasoningPolicyTestCaseResponse$ = exports.CreateAutomatedReasoningPolicyTestCaseRequest$ = exports.CreateAutomatedReasoningPolicyResponse$ = exports.CreateAutomatedReasoningPolicyRequest$ = exports.CloudWatchConfig$ = undefined;
exports.GetAutomatedReasoningPolicyBuildWorkflowRequest$ = exports.GetAutomatedReasoningPolicyAnnotationsResponse$ = exports.GetAutomatedReasoningPolicyAnnotationsRequest$ = exports.GenerationConfiguration$ = exports.FoundationModelSummary$ = exports.FoundationModelLifecycle$ = exports.FoundationModelDetails$ = exports.FilterAttribute$ = exports.FieldForReranking$ = exports.ExternalSourcesRetrieveAndGenerateConfiguration$ = exports.ExternalSourcesGenerationConfiguration$ = exports.ExternalSource$ = exports.ExportAutomatedReasoningPolicyVersionResponse$ = exports.ExportAutomatedReasoningPolicyVersionRequest$ = exports.EvaluationSummary$ = exports.EvaluationRagConfigSummary$ = exports.EvaluationPrecomputedRetrieveSourceConfig$ = exports.EvaluationPrecomputedRetrieveAndGenerateSourceConfig$ = exports.EvaluationPrecomputedInferenceSource$ = exports.EvaluationOutputDataConfig$ = exports.EvaluationModelConfigSummary$ = exports.EvaluationInferenceConfigSummary$ = exports.EvaluationDatasetMetricConfig$ = exports.EvaluationDataset$ = exports.EvaluationBedrockModel$ = exports.DistillationConfig$ = exports.DimensionalPriceRate$ = exports.DeregisterMarketplaceModelEndpointResponse$ = exports.DeregisterMarketplaceModelEndpointRequest$ = exports.DeleteProvisionedModelThroughputResponse$ = exports.DeleteProvisionedModelThroughputRequest$ = exports.DeletePromptRouterResponse$ = exports.DeletePromptRouterRequest$ = exports.DeleteModelInvocationLoggingConfigurationResponse$ = exports.DeleteModelInvocationLoggingConfigurationRequest$ = exports.DeleteMarketplaceModelEndpointResponse$ = exports.DeleteMarketplaceModelEndpointRequest$ = exports.DeleteInferenceProfileResponse$ = exports.DeleteInferenceProfileRequest$ = exports.DeleteImportedModelResponse$ = exports.DeleteImportedModelRequest$ = exports.DeleteGuardrailResponse$ = exports.DeleteGuardrailRequest$ = exports.DeleteFoundationModelAgreementResponse$ = exports.DeleteFoundationModelAgreementRequest$ = exports.DeleteEnforcedGuardrailConfigurationResponse$ = exports.DeleteEnforcedGuardrailConfigurationRequest$ = exports.DeleteCustomModelResponse$ = exports.DeleteCustomModelRequest$ = exports.DeleteCustomModelDeploymentResponse$ = undefined;
exports.GuardrailContentFilterConfig$ = exports.GuardrailContentFilter$ = exports.GuardrailConfiguration$ = exports.GuardrailAutomatedReasoningPolicyConfig$ = exports.GuardrailAutomatedReasoningPolicy$ = exports.GetUseCaseForModelAccessResponse$ = exports.GetUseCaseForModelAccessRequest$ = exports.GetProvisionedModelThroughputResponse$ = exports.GetProvisionedModelThroughputRequest$ = exports.GetPromptRouterResponse$ = exports.GetPromptRouterRequest$ = exports.GetModelInvocationLoggingConfigurationResponse$ = exports.GetModelInvocationLoggingConfigurationRequest$ = exports.GetModelInvocationJobResponse$ = exports.GetModelInvocationJobRequest$ = exports.GetModelImportJobResponse$ = exports.GetModelImportJobRequest$ = exports.GetModelCustomizationJobResponse$ = exports.GetModelCustomizationJobRequest$ = exports.GetModelCopyJobResponse$ = exports.GetModelCopyJobRequest$ = exports.GetMarketplaceModelEndpointResponse$ = exports.GetMarketplaceModelEndpointRequest$ = exports.GetInferenceProfileResponse$ = exports.GetInferenceProfileRequest$ = exports.GetImportedModelResponse$ = exports.GetImportedModelRequest$ = exports.GetGuardrailResponse$ = exports.GetGuardrailRequest$ = exports.GetFoundationModelResponse$ = exports.GetFoundationModelRequest$ = exports.GetFoundationModelAvailabilityResponse$ = exports.GetFoundationModelAvailabilityRequest$ = exports.GetEvaluationJobResponse$ = exports.GetEvaluationJobRequest$ = exports.GetCustomModelResponse$ = exports.GetCustomModelRequest$ = exports.GetCustomModelDeploymentResponse$ = exports.GetCustomModelDeploymentRequest$ = exports.GetAutomatedReasoningPolicyTestResultResponse$ = exports.GetAutomatedReasoningPolicyTestResultRequest$ = exports.GetAutomatedReasoningPolicyTestCaseResponse$ = exports.GetAutomatedReasoningPolicyTestCaseRequest$ = exports.GetAutomatedReasoningPolicyResponse$ = exports.GetAutomatedReasoningPolicyRequest$ = exports.GetAutomatedReasoningPolicyNextScenarioResponse$ = exports.GetAutomatedReasoningPolicyNextScenarioRequest$ = exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsResponse$ = exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsRequest$ = exports.GetAutomatedReasoningPolicyBuildWorkflowResponse$ = undefined;
exports.ListAutomatedReasoningPolicyTestResultsRequest$ = exports.ListAutomatedReasoningPolicyTestCasesResponse$ = exports.ListAutomatedReasoningPolicyTestCasesRequest$ = exports.ListAutomatedReasoningPolicyBuildWorkflowsResponse$ = exports.ListAutomatedReasoningPolicyBuildWorkflowsRequest$ = exports.ListAutomatedReasoningPoliciesResponse$ = exports.ListAutomatedReasoningPoliciesRequest$ = exports.LegalTerm$ = exports.LambdaGraderConfig$ = exports.KnowledgeBaseVectorSearchConfiguration$ = exports.KnowledgeBaseRetrieveAndGenerateConfiguration$ = exports.KnowledgeBaseRetrievalConfiguration$ = exports.KbInferenceConfig$ = exports.InvocationLogsConfig$ = exports.InferenceProfileSummary$ = exports.InferenceProfileModel$ = exports.ImportedModelSummary$ = exports.ImplicitFilterConfiguration$ = exports.HumanWorkflowConfig$ = exports.HumanEvaluationCustomMetric$ = exports.HumanEvaluationConfig$ = exports.GuardrailWordPolicyConfig$ = exports.GuardrailWordPolicy$ = exports.GuardrailWordConfig$ = exports.GuardrailWord$ = exports.GuardrailTopicsTierConfig$ = exports.GuardrailTopicsTier$ = exports.GuardrailTopicPolicyConfig$ = exports.GuardrailTopicPolicy$ = exports.GuardrailTopicConfig$ = exports.GuardrailTopic$ = exports.GuardrailSummary$ = exports.GuardrailSensitiveInformationPolicyConfig$ = exports.GuardrailSensitiveInformationPolicy$ = exports.GuardrailRegexConfig$ = exports.GuardrailRegex$ = exports.GuardrailPiiEntityConfig$ = exports.GuardrailPiiEntity$ = exports.GuardrailManagedWordsConfig$ = exports.GuardrailManagedWords$ = exports.GuardrailCrossRegionDetails$ = exports.GuardrailCrossRegionConfig$ = exports.GuardrailContextualGroundingPolicyConfig$ = exports.GuardrailContextualGroundingPolicy$ = exports.GuardrailContextualGroundingFilterConfig$ = exports.GuardrailContextualGroundingFilter$ = exports.GuardrailContentPolicyConfig$ = exports.GuardrailContentPolicy$ = exports.GuardrailContentFiltersTierConfig$ = exports.GuardrailContentFiltersTier$ = undefined;
exports.OutputDataConfig$ = exports.OrchestrationConfiguration$ = exports.Offer$ = exports.ModelInvocationJobSummary$ = exports.ModelInvocationJobS3OutputDataConfig$ = exports.ModelInvocationJobS3InputDataConfig$ = exports.ModelImportJobSummary$ = exports.ModelEnforcement$ = exports.ModelCustomizationJobSummary$ = exports.ModelCopyJobSummary$ = exports.MetadataConfigurationForReranking$ = exports.MetadataAttributeSchema$ = exports.MarketplaceModelEndpointSummary$ = exports.MarketplaceModelEndpoint$ = exports.LoggingConfig$ = exports.ListTagsForResourceResponse$ = exports.ListTagsForResourceRequest$ = exports.ListProvisionedModelThroughputsResponse$ = exports.ListProvisionedModelThroughputsRequest$ = exports.ListPromptRoutersResponse$ = exports.ListPromptRoutersRequest$ = exports.ListModelInvocationJobsResponse$ = exports.ListModelInvocationJobsRequest$ = exports.ListModelImportJobsResponse$ = exports.ListModelImportJobsRequest$ = exports.ListModelCustomizationJobsResponse$ = exports.ListModelCustomizationJobsRequest$ = exports.ListModelCopyJobsResponse$ = exports.ListModelCopyJobsRequest$ = exports.ListMarketplaceModelEndpointsResponse$ = exports.ListMarketplaceModelEndpointsRequest$ = exports.ListInferenceProfilesResponse$ = exports.ListInferenceProfilesRequest$ = exports.ListImportedModelsResponse$ = exports.ListImportedModelsRequest$ = exports.ListGuardrailsResponse$ = exports.ListGuardrailsRequest$ = exports.ListFoundationModelsResponse$ = exports.ListFoundationModelsRequest$ = exports.ListFoundationModelAgreementOffersResponse$ = exports.ListFoundationModelAgreementOffersRequest$ = exports.ListEvaluationJobsResponse$ = exports.ListEvaluationJobsRequest$ = exports.ListEnforcedGuardrailsConfigurationResponse$ = exports.ListEnforcedGuardrailsConfigurationRequest$ = exports.ListCustomModelsResponse$ = exports.ListCustomModelsRequest$ = exports.ListCustomModelDeploymentsResponse$ = exports.ListCustomModelDeploymentsRequest$ = exports.ListAutomatedReasoningPolicyTestResultsResponse$ = undefined;
exports.UpdateAutomatedReasoningPolicyAnnotationsRequest$ = exports.UntagResourceResponse$ = exports.UntagResourceRequest$ = exports.TrainingMetrics$ = exports.TrainingDetails$ = exports.TrainingDataConfig$ = exports.TextInferenceConfig$ = exports.TermDetails$ = exports.TeacherModelConfig$ = exports.TagResourceResponse$ = exports.TagResourceRequest$ = exports.Tag$ = exports.SupportTerm$ = exports.StopModelInvocationJobResponse$ = exports.StopModelInvocationJobRequest$ = exports.StopModelCustomizationJobResponse$ = exports.StopModelCustomizationJobRequest$ = exports.StopEvaluationJobResponse$ = exports.StopEvaluationJobRequest$ = exports.StatusDetails$ = exports.StartAutomatedReasoningPolicyTestWorkflowResponse$ = exports.StartAutomatedReasoningPolicyTestWorkflowRequest$ = exports.StartAutomatedReasoningPolicyBuildWorkflowResponse$ = exports.StartAutomatedReasoningPolicyBuildWorkflowRequest$ = exports.SageMakerEndpoint$ = exports.S3ObjectDoc$ = exports.S3DataSource$ = exports.S3Config$ = exports.RoutingCriteria$ = exports.RFTHyperParameters$ = exports.RFTConfig$ = exports.RetrieveConfig$ = exports.RetrieveAndGenerateConfiguration$ = exports.RequestMetadataBaseFilters$ = exports.RegisterMarketplaceModelEndpointResponse$ = exports.RegisterMarketplaceModelEndpointRequest$ = exports.RatingScaleItem$ = exports.QueryTransformationConfiguration$ = exports.PutUseCaseForModelAccessResponse$ = exports.PutUseCaseForModelAccessRequest$ = exports.PutModelInvocationLoggingConfigurationResponse$ = exports.PutModelInvocationLoggingConfigurationRequest$ = exports.PutEnforcedGuardrailConfigurationResponse$ = exports.PutEnforcedGuardrailConfigurationRequest$ = exports.ProvisionedModelSummary$ = exports.PromptTemplate$ = exports.PromptRouterTargetModel$ = exports.PromptRouterSummary$ = exports.PricingTerm$ = exports.PerformanceConfiguration$ = undefined;
exports.RatingScaleItemValue$ = exports.RAGConfig$ = exports.ModelInvocationJobOutputDataConfig$ = exports.ModelInvocationJobInputDataConfig$ = exports.ModelDataSource$ = exports.KnowledgeBaseConfig$ = exports.InvocationLogSource$ = exports.InferenceProfileModelSource$ = exports.GraderConfig$ = exports.EvaluatorModelConfig$ = exports.EvaluationPrecomputedRagSourceConfig$ = exports.EvaluationModelConfig$ = exports.EvaluationInferenceConfig$ = exports.EvaluationDatasetLocation$ = exports.EvaluationConfig$ = exports.EndpointConfig$ = exports.CustomizationConfig$ = exports.AutomatedReasoningPolicyWorkflowTypeContent$ = exports.AutomatedReasoningPolicyTypeValueAnnotation$ = exports.AutomatedReasoningPolicyMutation$ = exports.AutomatedReasoningPolicyGenerateFidelityReportContent$ = exports.AutomatedReasoningPolicyDefinitionElement$ = exports.AutomatedReasoningPolicyBuildStepContext$ = exports.AutomatedReasoningPolicyBuildResultAssets$ = exports.AutomatedReasoningPolicyAnnotation$ = exports.AutomatedReasoningPolicyAnnotatedContent$ = exports.AutomatedReasoningCheckFinding$ = exports.AutomatedEvaluationCustomMetricSource$ = exports.VpcConfig$ = exports.VectorSearchRerankingConfiguration$ = exports.VectorSearchBedrockRerankingModelConfiguration$ = exports.VectorSearchBedrockRerankingConfiguration$ = exports.ValidityTerm$ = exports.ValidatorMetric$ = exports.Validator$ = exports.ValidationDetails$ = exports.ValidationDataConfig$ = exports.UpdateProvisionedModelThroughputResponse$ = exports.UpdateProvisionedModelThroughputRequest$ = exports.UpdateMarketplaceModelEndpointResponse$ = exports.UpdateMarketplaceModelEndpointRequest$ = exports.UpdateGuardrailResponse$ = exports.UpdateGuardrailRequest$ = exports.UpdateCustomModelDeploymentResponse$ = exports.UpdateCustomModelDeploymentRequest$ = exports.UpdateAutomatedReasoningPolicyTestCaseResponse$ = exports.UpdateAutomatedReasoningPolicyTestCaseRequest$ = exports.UpdateAutomatedReasoningPolicyResponse$ = exports.UpdateAutomatedReasoningPolicyRequest$ = exports.UpdateAutomatedReasoningPolicyAnnotationsResponse$ = undefined;
exports.GetFoundationModelAvailability$ = exports.GetFoundationModel$ = exports.GetEvaluationJob$ = exports.GetCustomModelDeployment$ = exports.GetCustomModel$ = exports.GetAutomatedReasoningPolicyTestResult$ = exports.GetAutomatedReasoningPolicyTestCase$ = exports.GetAutomatedReasoningPolicyNextScenario$ = exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssets$ = exports.GetAutomatedReasoningPolicyBuildWorkflow$ = exports.GetAutomatedReasoningPolicyAnnotations$ = exports.GetAutomatedReasoningPolicy$ = exports.ExportAutomatedReasoningPolicyVersion$ = exports.DeregisterMarketplaceModelEndpoint$ = exports.DeleteProvisionedModelThroughput$ = exports.DeletePromptRouter$ = exports.DeleteModelInvocationLoggingConfiguration$ = exports.DeleteMarketplaceModelEndpoint$ = exports.DeleteInferenceProfile$ = exports.DeleteImportedModel$ = exports.DeleteGuardrail$ = exports.DeleteFoundationModelAgreement$ = exports.DeleteEnforcedGuardrailConfiguration$ = exports.DeleteCustomModelDeployment$ = exports.DeleteCustomModel$ = exports.DeleteAutomatedReasoningPolicyTestCase$ = exports.DeleteAutomatedReasoningPolicyBuildWorkflow$ = exports.DeleteAutomatedReasoningPolicy$ = exports.CreateProvisionedModelThroughput$ = exports.CreatePromptRouter$ = exports.CreateModelInvocationJob$ = exports.CreateModelImportJob$ = exports.CreateModelCustomizationJob$ = exports.CreateModelCopyJob$ = exports.CreateMarketplaceModelEndpoint$ = exports.CreateInferenceProfile$ = exports.CreateGuardrailVersion$ = exports.CreateGuardrail$ = exports.CreateFoundationModelAgreement$ = exports.CreateEvaluationJob$ = exports.CreateCustomModelDeployment$ = exports.CreateCustomModel$ = exports.CreateAutomatedReasoningPolicyVersion$ = exports.CreateAutomatedReasoningPolicyTestCase$ = exports.CreateAutomatedReasoningPolicy$ = exports.CancelAutomatedReasoningPolicyBuildWorkflow$ = exports.BatchDeleteEvaluationJob$ = exports.RetrievalFilter$ = exports.RerankingMetadataSelectiveModeConfiguration$ = exports.RequestMetadataFilters$ = undefined;
exports.UpdateMarketplaceModelEndpoint$ = exports.UpdateGuardrail$ = exports.UpdateCustomModelDeployment$ = exports.UpdateAutomatedReasoningPolicyTestCase$ = exports.UpdateAutomatedReasoningPolicyAnnotations$ = exports.UpdateAutomatedReasoningPolicy$ = exports.UntagResource$ = exports.TagResource$ = exports.StopModelInvocationJob$ = exports.StopModelCustomizationJob$ = exports.StopEvaluationJob$ = exports.StartAutomatedReasoningPolicyTestWorkflow$ = exports.StartAutomatedReasoningPolicyBuildWorkflow$ = exports.RegisterMarketplaceModelEndpoint$ = exports.PutUseCaseForModelAccess$ = exports.PutModelInvocationLoggingConfiguration$ = exports.PutEnforcedGuardrailConfiguration$ = exports.ListTagsForResource$ = exports.ListProvisionedModelThroughputs$ = exports.ListPromptRouters$ = exports.ListModelInvocationJobs$ = exports.ListModelImportJobs$ = exports.ListModelCustomizationJobs$ = exports.ListModelCopyJobs$ = exports.ListMarketplaceModelEndpoints$ = exports.ListInferenceProfiles$ = exports.ListImportedModels$ = exports.ListGuardrails$ = exports.ListFoundationModels$ = exports.ListFoundationModelAgreementOffers$ = exports.ListEvaluationJobs$ = exports.ListEnforcedGuardrailsConfiguration$ = exports.ListCustomModels$ = exports.ListCustomModelDeployments$ = exports.ListAutomatedReasoningPolicyTestResults$ = exports.ListAutomatedReasoningPolicyTestCases$ = exports.ListAutomatedReasoningPolicyBuildWorkflows$ = exports.ListAutomatedReasoningPolicies$ = exports.GetUseCaseForModelAccess$ = exports.GetProvisionedModelThroughput$ = exports.GetPromptRouter$ = exports.GetModelInvocationLoggingConfiguration$ = exports.GetModelInvocationJob$ = exports.GetModelImportJob$ = exports.GetModelCustomizationJob$ = exports.GetModelCopyJob$ = exports.GetMarketplaceModelEndpoint$ = exports.GetInferenceProfile$ = exports.GetImportedModel$ = exports.GetGuardrail$ = undefined;
exports.UpdateProvisionedModelThroughput$ = undefined;
var _AA = "AgreementAvailability";
var _ADE = "AccessDeniedException";
var _AEC = "AutomatedEvaluationConfig";
var _AECM = "AutomatedEvaluationCustomMetrics";
var _AECMC = "AutomatedEvaluationCustomMetricConfig";
var _AECMS = "AutomatedEvaluationCustomMetricSource";
var _AEGIIC = "AccountEnforcedGuardrailInferenceInputConfiguration";
var _AEGOC = "AccountEnforcedGuardrailOutputConfiguration";
var _AEGOCc = "AccountEnforcedGuardrailsOutputConfiguration";
var _ARCDSL = "AutomatedReasoningCheckDifferenceScenarioList";
var _ARCF = "AutomatedReasoningCheckFinding";
var _ARCFL = "AutomatedReasoningCheckFindingList";
var _ARCIF = "AutomatedReasoningCheckImpossibleFinding";
var _ARCIFu = "AutomatedReasoningCheckInvalidFinding";
var _ARCITR = "AutomatedReasoningCheckInputTextReference";
var _ARCITRL = "AutomatedReasoningCheckInputTextReferenceList";
var _ARCLW = "AutomatedReasoningCheckLogicWarning";
var _ARCNTF = "AutomatedReasoningCheckNoTranslationsFinding";
var _ARCR = "AutomatedReasoningCheckRule";
var _ARCRL = "AutomatedReasoningCheckRuleList";
var _ARCS = "AutomatedReasoningCheckScenario";
var _ARCSF = "AutomatedReasoningCheckSatisfiableFinding";
var _ARCT = "AutomatedReasoningCheckTranslation";
var _ARCTAF = "AutomatedReasoningCheckTranslationAmbiguousFinding";
var _ARCTCF = "AutomatedReasoningCheckTooComplexFinding";
var _ARCTL = "AutomatedReasoningCheckTranslationList";
var _ARCTO = "AutomatedReasoningCheckTranslationOption";
var _ARCTOL = "AutomatedReasoningCheckTranslationOptionList";
var _ARCVF = "AutomatedReasoningCheckValidFinding";
var _ARLS = "AutomatedReasoningLogicStatement";
var _ARLSC = "AutomatedReasoningLogicStatementContent";
var _ARLSL = "AutomatedReasoningLogicStatementList";
var _ARNLSC = "AutomatedReasoningNaturalLanguageStatementContent";
var _ARPA = "AutomatedReasoningPolicyAnnotation";
var _ARPAC = "AutomatedReasoningPolicyAnnotatedChunk";
var _ARPACL = "AutomatedReasoningPolicyAnnotatedChunkList";
var _ARPACLu = "AutomatedReasoningPolicyAnnotatedContentList";
var _ARPACu = "AutomatedReasoningPolicyAnnotatedContent";
var _ARPAFNL = "AutomatedReasoningPolicyAnnotationFeedbackNaturalLanguage";
var _ARPAIC = "AutomatedReasoningPolicyAnnotationIngestContent";
var _ARPAL = "AutomatedReasoningPolicyAnnotatedLine";
var _ARPALu = "AutomatedReasoningPolicyAnnotationList";
var _ARPARA = "AutomatedReasoningPolicyAddRuleAnnotation";
var _ARPARFNLA = "AutomatedReasoningPolicyAddRuleFromNaturalLanguageAnnotation";
var _ARPARM = "AutomatedReasoningPolicyAddRuleMutation";
var _ARPARNL = "AutomatedReasoningPolicyAnnotationRuleNaturalLanguage";
var _ARPAS = "AutomatedReasoningPolicyAtomicStatement";
var _ARPASL = "AutomatedReasoningPolicyAtomicStatementList";
var _ARPATA = "AutomatedReasoningPolicyAddTypeAnnotation";
var _ARPATM = "AutomatedReasoningPolicyAddTypeMutation";
var _ARPATV = "AutomatedReasoningPolicyAddTypeValue";
var _ARPAVA = "AutomatedReasoningPolicyAddVariableAnnotation";
var _ARPAVM = "AutomatedReasoningPolicyAddVariableMutation";
var _ARPBDB = "AutomatedReasoningPolicyBuildDocumentBlob";
var _ARPBDD = "AutomatedReasoningPolicyBuildDocumentDescription";
var _ARPBDN = "AutomatedReasoningPolicyBuildDocumentName";
var _ARPBL = "AutomatedReasoningPolicyBuildLog";
var _ARPBLE = "AutomatedReasoningPolicyBuildLogEntry";
var _ARPBLEL = "AutomatedReasoningPolicyBuildLogEntryList";
var _ARPBRA = "AutomatedReasoningPolicyBuildResultAssets";
var _ARPBRAM = "AutomatedReasoningPolicyBuildResultAssetManifest";
var _ARPBRAME = "AutomatedReasoningPolicyBuildResultAssetManifestEntry";
var _ARPBRAML = "AutomatedReasoningPolicyBuildResultAssetManifestList";
var _ARPBRAN = "AutomatedReasoningPolicyBuildResultAssetName";
var _ARPBS = "AutomatedReasoningPolicyBuildStep";
var _ARPBSC = "AutomatedReasoningPolicyBuildStepContext";
var _ARPBSL = "AutomatedReasoningPolicyBuildStepList";
var _ARPBSM = "AutomatedReasoningPolicyBuildStepMessage";
var _ARPBSML = "AutomatedReasoningPolicyBuildStepMessageList";
var _ARPBWD = "AutomatedReasoningPolicyBuildWorkflowDocument";
var _ARPBWDL = "AutomatedReasoningPolicyBuildWorkflowDocumentList";
var _ARPBWRC = "AutomatedReasoningPolicyBuildWorkflowRepairContent";
var _ARPBWS = "AutomatedReasoningPolicyBuildWorkflowSource";
var _ARPBWSu = "AutomatedReasoningPolicyBuildWorkflowSummary";
var _ARPBWSut = "AutomatedReasoningPolicyBuildWorkflowSummaries";
var _ARPD = "AutomatedReasoningPolicyDescription";
var _ARPDE = "AutomatedReasoningPolicyDefinitionElement";
var _ARPDQR = "AutomatedReasoningPolicyDefinitionQualityReport";
var _ARPDR = "AutomatedReasoningPolicyDefinitionRule";
var _ARPDRA = "AutomatedReasoningPolicyDeleteRuleAnnotation";
var _ARPDRAE = "AutomatedReasoningPolicyDefinitionRuleAlternateExpression";
var _ARPDRE = "AutomatedReasoningPolicyDefinitionRuleExpression";
var _ARPDRL = "AutomatedReasoningPolicyDefinitionRuleList";
var _ARPDRM = "AutomatedReasoningPolicyDeleteRuleMutation";
var _ARPDRS = "AutomatedReasoningPolicyDisjointRuleSet";
var _ARPDRSL = "AutomatedReasoningPolicyDisjointRuleSetList";
var _ARPDT = "AutomatedReasoningPolicyDefinitionType";
var _ARPDTA = "AutomatedReasoningPolicyDeleteTypeAnnotation";
var _ARPDTD = "AutomatedReasoningPolicyDefinitionTypeDescription";
var _ARPDTL = "AutomatedReasoningPolicyDefinitionTypeList";
var _ARPDTM = "AutomatedReasoningPolicyDeleteTypeMutation";
var _ARPDTN = "AutomatedReasoningPolicyDefinitionTypeName";
var _ARPDTNL = "AutomatedReasoningPolicyDefinitionTypeNameList";
var _ARPDTV = "AutomatedReasoningPolicyDefinitionTypeValue";
var _ARPDTVD = "AutomatedReasoningPolicyDefinitionTypeValueDescription";
var _ARPDTVL = "AutomatedReasoningPolicyDefinitionTypeValueList";
var _ARPDTVP = "AutomatedReasoningPolicyDefinitionTypeValuePair";
var _ARPDTVPL = "AutomatedReasoningPolicyDefinitionTypeValuePairList";
var _ARPDTVu = "AutomatedReasoningPolicyDeleteTypeValue";
var _ARPDV = "AutomatedReasoningPolicyDefinitionVariable";
var _ARPDVA = "AutomatedReasoningPolicyDeleteVariableAnnotation";
var _ARPDVD = "AutomatedReasoningPolicyDefinitionVariableDescription";
var _ARPDVL = "AutomatedReasoningPolicyDefinitionVariableList";
var _ARPDVM = "AutomatedReasoningPolicyDeleteVariableMutation";
var _ARPDVN = "AutomatedReasoningPolicyDefinitionVariableName";
var _ARPDVNL = "AutomatedReasoningPolicyDefinitionVariableNameList";
var _ARPDu = "AutomatedReasoningPolicyDefinition";
var _ARPFR = "AutomatedReasoningPolicyFidelityReport";
var _ARPGFRC = "AutomatedReasoningPolicyGenerateFidelityReportContent";
var _ARPGFRDL = "AutomatedReasoningPolicyGenerateFidelityReportDocumentList";
var _ARPGTC = "AutomatedReasoningPolicyGeneratedTestCase";
var _ARPGTCL = "AutomatedReasoningPolicyGeneratedTestCaseList";
var _ARPGTCu = "AutomatedReasoningPolicyGeneratedTestCases";
var _ARPICA = "AutomatedReasoningPolicyIngestContentAnnotation";
var _ARPJL = "AutomatedReasoningPolicyJustificationList";
var _ARPJT = "AutomatedReasoningPolicyJustificationText";
var _ARPLT = "AutomatedReasoningPolicyLineText";
var _ARPM = "AutomatedReasoningPolicyMutation";
var _ARPN = "AutomatedReasoningPolicyName";
var _ARPP = "AutomatedReasoningPolicyPlanning";
var _ARPRR = "AutomatedReasoningPolicyRuleReport";
var _ARPRRM = "AutomatedReasoningPolicyRuleReportMap";
var _ARPRSD = "AutomatedReasoningPolicyReportSourceDocument";
var _ARPRSDL = "AutomatedReasoningPolicyReportSourceDocumentList";
var _ARPS = "AutomatedReasoningPolicyScenario";
var _ARPSAE = "AutomatedReasoningPolicyScenarioAlternateExpression";
var _ARPSD = "AutomatedReasoningPolicySourceDocument";
var _ARPSE = "AutomatedReasoningPolicyScenarioExpression";
var _ARPSL = "AutomatedReasoningPolicyStatementLocation";
var _ARPSLu = "AutomatedReasoningPolicyScenarioList";
var _ARPSR = "AutomatedReasoningPolicyStatementReference";
var _ARPSRL = "AutomatedReasoningPolicyStatementReferenceList";
var _ARPST = "AutomatedReasoningPolicyStatementText";
var _ARPSu = "AutomatedReasoningPolicyScenarios";
var _ARPSut = "AutomatedReasoningPolicySummary";
var _ARPSuto = "AutomatedReasoningPolicySummaries";
var _ARPTC = "AutomatedReasoningPolicyTestCase";
var _ARPTCL = "AutomatedReasoningPolicyTestCaseList";
var _ARPTGC = "AutomatedReasoningPolicyTestGuardContent";
var _ARPTL = "AutomatedReasoningPolicyTestList";
var _ARPTQC = "AutomatedReasoningPolicyTestQueryContent";
var _ARPTR = "AutomatedReasoningPolicyTestResult";
var _ARPTVA = "AutomatedReasoningPolicyTypeValueAnnotation";
var _ARPTVAL = "AutomatedReasoningPolicyTypeValueAnnotationList";
var _ARPUFRFA = "AutomatedReasoningPolicyUpdateFromRuleFeedbackAnnotation";
var _ARPUFSFA = "AutomatedReasoningPolicyUpdateFromScenarioFeedbackAnnotation";
var _ARPURA = "AutomatedReasoningPolicyUpdateRuleAnnotation";
var _ARPURM = "AutomatedReasoningPolicyUpdateRuleMutation";
var _ARPUTA = "AutomatedReasoningPolicyUpdateTypeAnnotation";
var _ARPUTM = "AutomatedReasoningPolicyUpdateTypeMutation";
var _ARPUTV = "AutomatedReasoningPolicyUpdateTypeValue";
var _ARPUVA = "AutomatedReasoningPolicyUpdateVariableAnnotation";
var _ARPUVM = "AutomatedReasoningPolicyUpdateVariableMutation";
var _ARPVR = "AutomatedReasoningPolicyVariableReport";
var _ARPVRM = "AutomatedReasoningPolicyVariableReportMap";
var _ARPWTC = "AutomatedReasoningPolicyWorkflowTypeContent";
var _BCB = "ByteContentBlob";
var _BCD = "ByteContentDoc";
var _BDEJ = "BatchDeleteEvaluationJob";
var _BDEJE = "BatchDeleteEvaluationJobError";
var _BDEJEa = "BatchDeleteEvaluationJobErrors";
var _BDEJI = "BatchDeleteEvaluationJobItem";
var _BDEJIa = "BatchDeleteEvaluationJobItems";
var _BDEJR = "BatchDeleteEvaluationJobRequest";
var _BDEJRa = "BatchDeleteEvaluationJobResponse";
var _BEM = "BedrockEvaluatorModel";
var _BEMe = "BedrockEvaluatorModels";
var _CARP = "CreateAutomatedReasoningPolicy";
var _CARPBW = "CancelAutomatedReasoningPolicyBuildWorkflow";
var _CARPBWR = "CancelAutomatedReasoningPolicyBuildWorkflowRequest";
var _CARPBWRa = "CancelAutomatedReasoningPolicyBuildWorkflowResponse";
var _CARPR = "CreateAutomatedReasoningPolicyRequest";
var _CARPRr = "CreateAutomatedReasoningPolicyResponse";
var _CARPTC = "CreateAutomatedReasoningPolicyTestCase";
var _CARPTCR = "CreateAutomatedReasoningPolicyTestCaseRequest";
var _CARPTCRr = "CreateAutomatedReasoningPolicyTestCaseResponse";
var _CARPV = "CreateAutomatedReasoningPolicyVersion";
var _CARPVR = "CreateAutomatedReasoningPolicyVersionRequest";
var _CARPVRr = "CreateAutomatedReasoningPolicyVersionResponse";
var _CC = "CustomizationConfig";
var _CCM = "CreateCustomModel";
var _CCMD = "CreateCustomModelDeployment";
var _CCMDR = "CreateCustomModelDeploymentRequest";
var _CCMDRr = "CreateCustomModelDeploymentResponse";
var _CCMR = "CreateCustomModelRequest";
var _CCMRr = "CreateCustomModelResponse";
var _CE = "ConflictException";
var _CEJ = "CreateEvaluationJob";
var _CEJR = "CreateEvaluationJobRequest";
var _CEJRr = "CreateEvaluationJobResponse";
var _CFMA = "CreateFoundationModelAgreement";
var _CFMAR = "CreateFoundationModelAgreementRequest";
var _CFMARr = "CreateFoundationModelAgreementResponse";
var _CG = "CreateGuardrail";
var _CGR = "CreateGuardrailRequest";
var _CGRr = "CreateGuardrailResponse";
var _CGV = "CreateGuardrailVersion";
var _CGVR = "CreateGuardrailVersionRequest";
var _CGVRr = "CreateGuardrailVersionResponse";
var _CIP = "CreateInferenceProfile";
var _CIPR = "CreateInferenceProfileRequest";
var _CIPRr = "CreateInferenceProfileResponse";
var _CMBEM = "CustomMetricBedrockEvaluatorModel";
var _CMBEMu = "CustomMetricBedrockEvaluatorModels";
var _CMCJ = "CreateModelCopyJob";
var _CMCJR = "CreateModelCopyJobRequest";
var _CMCJRr = "CreateModelCopyJobResponse";
var _CMCJRre = "CreateModelCustomizationJobRequest";
var _CMCJRrea = "CreateModelCustomizationJobResponse";
var _CMCJr = "CreateModelCustomizationJob";
var _CMD = "CustomMetricDefinition";
var _CMDS = "CustomModelDeploymentSummary";
var _CMDSL = "CustomModelDeploymentSummaryList";
var _CMDUD = "CustomModelDeploymentUpdateDetails";
var _CMEMC = "CustomMetricEvaluatorModelConfig";
var _CMIJ = "CreateModelImportJob";
var _CMIJR = "CreateModelImportJobRequest";
var _CMIJRr = "CreateModelImportJobResponse";
var _CMIJRre = "CreateModelInvocationJobRequest";
var _CMIJRrea = "CreateModelInvocationJobResponse";
var _CMIJr = "CreateModelInvocationJob";
var _CMME = "CreateMarketplaceModelEndpoint";
var _CMMER = "CreateMarketplaceModelEndpointRequest";
var _CMMERr = "CreateMarketplaceModelEndpointResponse";
var _CMS = "CustomModelSummary";
var _CMSL = "CustomModelSummaryList";
var _CMU = "CustomModelUnits";
var _CPMT = "CreateProvisionedModelThroughput";
var _CPMTR = "CreateProvisionedModelThroughputRequest";
var _CPMTRr = "CreateProvisionedModelThroughputResponse";
var _CPR = "CreatePromptRouter";
var _CPRR = "CreatePromptRouterRequest";
var _CPRRr = "CreatePromptRouterResponse";
var _CWC = "CloudWatchConfig";
var _DARP = "DeleteAutomatedReasoningPolicy";
var _DARPBW = "DeleteAutomatedReasoningPolicyBuildWorkflow";
var _DARPBWR = "DeleteAutomatedReasoningPolicyBuildWorkflowRequest";
var _DARPBWRe = "DeleteAutomatedReasoningPolicyBuildWorkflowResponse";
var _DARPR = "DeleteAutomatedReasoningPolicyRequest";
var _DARPRe = "DeleteAutomatedReasoningPolicyResponse";
var _DARPTC = "DeleteAutomatedReasoningPolicyTestCase";
var _DARPTCR = "DeleteAutomatedReasoningPolicyTestCaseRequest";
var _DARPTCRe = "DeleteAutomatedReasoningPolicyTestCaseResponse";
var _DC = "DistillationConfig";
var _DCM = "DeleteCustomModel";
var _DCMD = "DeleteCustomModelDeployment";
var _DCMDR = "DeleteCustomModelDeploymentRequest";
var _DCMDRe = "DeleteCustomModelDeploymentResponse";
var _DCMR = "DeleteCustomModelRequest";
var _DCMRe = "DeleteCustomModelResponse";
var _DEGC = "DeleteEnforcedGuardrailConfiguration";
var _DEGCR = "DeleteEnforcedGuardrailConfigurationRequest";
var _DEGCRe = "DeleteEnforcedGuardrailConfigurationResponse";
var _DFMA = "DeleteFoundationModelAgreement";
var _DFMAR = "DeleteFoundationModelAgreementRequest";
var _DFMARe = "DeleteFoundationModelAgreementResponse";
var _DG = "DeleteGuardrail";
var _DGR = "DeleteGuardrailRequest";
var _DGRe = "DeleteGuardrailResponse";
var _DIM = "DeleteImportedModel";
var _DIMR = "DeleteImportedModelRequest";
var _DIMRe = "DeleteImportedModelResponse";
var _DIP = "DeleteInferenceProfile";
var _DIPR = "DeleteInferenceProfileRequest";
var _DIPRe = "DeleteInferenceProfileResponse";
var _DMILC = "DeleteModelInvocationLoggingConfiguration";
var _DMILCR = "DeleteModelInvocationLoggingConfigurationRequest";
var _DMILCRe = "DeleteModelInvocationLoggingConfigurationResponse";
var _DMME = "DeleteMarketplaceModelEndpoint";
var _DMMER = "DeleteMarketplaceModelEndpointRequest";
var _DMMERe = "DeleteMarketplaceModelEndpointResponse";
var _DMMERer = "DeregisterMarketplaceModelEndpointRequest";
var _DMMERere = "DeregisterMarketplaceModelEndpointResponse";
var _DMMEe = "DeregisterMarketplaceModelEndpoint";
var _DPD = "DataProcessingDetails";
var _DPMT = "DeleteProvisionedModelThroughput";
var _DPMTR = "DeleteProvisionedModelThroughputRequest";
var _DPMTRe = "DeleteProvisionedModelThroughputResponse";
var _DPR = "DimensionalPriceRate";
var _DPRR = "DeletePromptRouterRequest";
var _DPRRe = "DeletePromptRouterResponse";
var _DPRe = "DeletePromptRouter";
var _EARPV = "ExportAutomatedReasoningPolicyVersion";
var _EARPVR = "ExportAutomatedReasoningPolicyVersionRequest";
var _EARPVRx = "ExportAutomatedReasoningPolicyVersionResponse";
var _EBM = "EvaluationBedrockModel";
var _EC = "EndpointConfig";
var _ECv = "EvaluationConfig";
var _ED = "EvaluationDataset";
var _EDL = "EvaluationDatasetLocation";
var _EDMC = "EvaluationDatasetMetricConfig";
var _EDMCv = "EvaluationDatasetMetricConfigs";
var _EDN = "EvaluationDatasetName";
var _EIC = "EvaluationInferenceConfig";
var _EICS = "EvaluationInferenceConfigSummary";
var _EJD = "EvaluationJobDescription";
var _EJI = "EvaluationJobIdentifier";
var _EJIv = "EvaluationJobIdentifiers";
var _EMC = "EvaluationModelConfigs";
var _EMCS = "EvaluationModelConfigSummary";
var _EMCv = "EvaluationModelConfig";
var _EMCva = "EvaluatorModelConfig";
var _EMD = "EvaluationMetricDescription";
var _EMIP = "EvaluationModelInferenceParams";
var _EMN = "EvaluationMetricName";
var _EMNv = "EvaluationMetricNames";
var _EODC = "EvaluationOutputDataConfig";
var _EPIS = "EvaluationPrecomputedInferenceSource";
var _EPRAGSC = "EvaluationPrecomputedRetrieveAndGenerateSourceConfig";
var _EPRSC = "EvaluationPrecomputedRetrieveSourceConfig";
var _EPRSCv = "EvaluationPrecomputedRagSourceConfig";
var _ERCS = "EvaluationRagConfigSummary";
var _ES = "EvaluationSummary";
var _ESGC = "ExternalSourcesGenerationConfiguration";
var _ESRAGC = "ExternalSourcesRetrieveAndGenerateConfiguration";
var _ESv = "EvaluationSummaries";
var _ESx = "ExternalSource";
var _ESxt = "ExternalSources";
var _FA = "FilterAttribute";
var _FFR = "FieldForReranking";
var _FFRi = "FieldsForReranking";
var _FMD = "FoundationModelDetails";
var _FML = "FoundationModelLifecycle";
var _FMS = "FoundationModelSummary";
var _FMSL = "FoundationModelSummaryList";
var _GARP = "GuardrailAutomatedReasoningPolicy";
var _GARPA = "GetAutomatedReasoningPolicyAnnotations";
var _GARPAR = "GetAutomatedReasoningPolicyAnnotationsRequest";
var _GARPARe = "GetAutomatedReasoningPolicyAnnotationsResponse";
var _GARPBW = "GetAutomatedReasoningPolicyBuildWorkflow";
var _GARPBWR = "GetAutomatedReasoningPolicyBuildWorkflowRequest";
var _GARPBWRA = "GetAutomatedReasoningPolicyBuildWorkflowResultAssets";
var _GARPBWRAR = "GetAutomatedReasoningPolicyBuildWorkflowResultAssetsRequest";
var _GARPBWRARe = "GetAutomatedReasoningPolicyBuildWorkflowResultAssetsResponse";
var _GARPBWRe = "GetAutomatedReasoningPolicyBuildWorkflowResponse";
var _GARPC = "GuardrailAutomatedReasoningPolicyConfig";
var _GARPNS = "GetAutomatedReasoningPolicyNextScenario";
var _GARPNSR = "GetAutomatedReasoningPolicyNextScenarioRequest";
var _GARPNSRe = "GetAutomatedReasoningPolicyNextScenarioResponse";
var _GARPR = "GetAutomatedReasoningPolicyRequest";
var _GARPRe = "GetAutomatedReasoningPolicyResponse";
var _GARPTC = "GetAutomatedReasoningPolicyTestCase";
var _GARPTCR = "GetAutomatedReasoningPolicyTestCaseRequest";
var _GARPTCRe = "GetAutomatedReasoningPolicyTestCaseResponse";
var _GARPTR = "GetAutomatedReasoningPolicyTestResult";
var _GARPTRR = "GetAutomatedReasoningPolicyTestResultRequest";
var _GARPTRRe = "GetAutomatedReasoningPolicyTestResultResponse";
var _GARPe = "GetAutomatedReasoningPolicy";
var _GBM = "GuardrailBlockedMessaging";
var _GC = "GenerationConfiguration";
var _GCF = "GuardrailContentFilter";
var _GCFA = "GuardrailContentFilterAction";
var _GCFC = "GuardrailContentFilterConfig";
var _GCFCu = "GuardrailContentFiltersConfig";
var _GCFT = "GuardrailContentFiltersTier";
var _GCFTC = "GuardrailContentFiltersTierConfig";
var _GCFTN = "GuardrailContentFiltersTierName";
var _GCFu = "GuardrailContentFilters";
var _GCGA = "GuardrailContextualGroundingAction";
var _GCGF = "GuardrailContextualGroundingFilter";
var _GCGFC = "GuardrailContextualGroundingFilterConfig";
var _GCGFCu = "GuardrailContextualGroundingFiltersConfig";
var _GCGFu = "GuardrailContextualGroundingFilters";
var _GCGP = "GuardrailContextualGroundingPolicy";
var _GCGPC = "GuardrailContextualGroundingPolicyConfig";
var _GCM = "GetCustomModel";
var _GCMD = "GetCustomModelDeployment";
var _GCMDR = "GetCustomModelDeploymentRequest";
var _GCMDRe = "GetCustomModelDeploymentResponse";
var _GCMR = "GetCustomModelRequest";
var _GCMRe = "GetCustomModelResponse";
var _GCP = "GuardrailContentPolicy";
var _GCPC = "GuardrailContentPolicyConfig";
var _GCRC = "GuardrailCrossRegionConfig";
var _GCRD = "GuardrailCrossRegionDetails";
var _GCr = "GraderConfig";
var _GCu = "GuardrailConfiguration";
var _GD = "GuardrailDescription";
var _GEJ = "GetEvaluationJob";
var _GEJR = "GetEvaluationJobRequest";
var _GEJRe = "GetEvaluationJobResponse";
var _GFM = "GetFoundationModel";
var _GFMA = "GetFoundationModelAvailability";
var _GFMAR = "GetFoundationModelAvailabilityRequest";
var _GFMARe = "GetFoundationModelAvailabilityResponse";
var _GFMR = "GetFoundationModelRequest";
var _GFMRe = "GetFoundationModelResponse";
var _GFR = "GuardrailFailureRecommendation";
var _GFRu = "GuardrailFailureRecommendations";
var _GG = "GetGuardrail";
var _GGR = "GetGuardrailRequest";
var _GGRe = "GetGuardrailResponse";
var _GIM = "GetImportedModel";
var _GIMR = "GetImportedModelRequest";
var _GIMRe = "GetImportedModelResponse";
var _GIP = "GetInferenceProfile";
var _GIPR = "GetInferenceProfileRequest";
var _GIPRe = "GetInferenceProfileResponse";
var _GM = "GuardrailModality";
var _GMCJ = "GetModelCopyJob";
var _GMCJR = "GetModelCopyJobRequest";
var _GMCJRe = "GetModelCopyJobResponse";
var _GMCJRet = "GetModelCustomizationJobRequest";
var _GMCJReto = "GetModelCustomizationJobResponse";
var _GMCJe = "GetModelCustomizationJob";
var _GMIJ = "GetModelImportJob";
var _GMIJR = "GetModelImportJobRequest";
var _GMIJRe = "GetModelImportJobResponse";
var _GMIJRet = "GetModelInvocationJobRequest";
var _GMIJReto = "GetModelInvocationJobResponse";
var _GMIJe = "GetModelInvocationJob";
var _GMILC = "GetModelInvocationLoggingConfiguration";
var _GMILCR = "GetModelInvocationLoggingConfigurationRequest";
var _GMILCRe = "GetModelInvocationLoggingConfigurationResponse";
var _GMME = "GetMarketplaceModelEndpoint";
var _GMMER = "GetMarketplaceModelEndpointRequest";
var _GMMERe = "GetMarketplaceModelEndpointResponse";
var _GMW = "GuardrailManagedWords";
var _GMWC = "GuardrailManagedWordsConfig";
var _GMWL = "GuardrailManagedWordLists";
var _GMWLC = "GuardrailManagedWordListsConfig";
var _GMu = "GuardrailModalities";
var _GN = "GuardrailName";
var _GPE = "GuardrailPiiEntity";
var _GPEC = "GuardrailPiiEntityConfig";
var _GPECu = "GuardrailPiiEntitiesConfig";
var _GPEu = "GuardrailPiiEntities";
var _GPMT = "GetProvisionedModelThroughput";
var _GPMTR = "GetProvisionedModelThroughputRequest";
var _GPMTRe = "GetProvisionedModelThroughputResponse";
var _GPR = "GetPromptRouter";
var _GPRR = "GetPromptRouterRequest";
var _GPRRe = "GetPromptRouterResponse";
var _GR = "GuardrailRegex";
var _GRC = "GuardrailRegexConfig";
var _GRCu = "GuardrailRegexesConfig";
var _GRu = "GuardrailRegexes";
var _GS = "GuardrailSummary";
var _GSIP = "GuardrailSensitiveInformationPolicy";
var _GSIPC = "GuardrailSensitiveInformationPolicyConfig";
var _GSR = "GuardrailStatusReason";
var _GSRu = "GuardrailStatusReasons";
var _GSu = "GuardrailSummaries";
var _GT = "GuardrailTopic";
var _GTA = "GuardrailTopicAction";
var _GTC = "GuardrailTopicConfig";
var _GTCu = "GuardrailTopicsConfig";
var _GTD = "GuardrailTopicDefinition";
var _GTE = "GuardrailTopicExample";
var _GTEu = "GuardrailTopicExamples";
var _GTN = "GuardrailTopicName";
var _GTP = "GuardrailTopicPolicy";
var _GTPC = "GuardrailTopicPolicyConfig";
var _GTT = "GuardrailTopicsTier";
var _GTTC = "GuardrailTopicsTierConfig";
var _GTTN = "GuardrailTopicsTierName";
var _GTu = "GuardrailTopics";
var _GUCFMA = "GetUseCaseForModelAccess";
var _GUCFMAR = "GetUseCaseForModelAccessRequest";
var _GUCFMARe = "GetUseCaseForModelAccessResponse";
var _GW = "GuardrailWord";
var _GWA = "GuardrailWordAction";
var _GWC = "GuardrailWordConfig";
var _GWCu = "GuardrailWordsConfig";
var _GWP = "GuardrailWordPolicy";
var _GWPC = "GuardrailWordPolicyConfig";
var _GWu = "GuardrailWords";
var _HEC = "HumanEvaluationConfig";
var _HECM = "HumanEvaluationCustomMetric";
var _HECMu = "HumanEvaluationCustomMetrics";
var _HTI = "HumanTaskInstructions";
var _HWC = "HumanWorkflowConfig";
var _I = "Identifier";
var _IFC = "ImplicitFilterConfiguration";
var _ILC = "InvocationLogsConfig";
var _ILS = "InvocationLogSource";
var _IMS = "ImportedModelSummary";
var _IMSL = "ImportedModelSummaryList";
var _IPD = "InferenceProfileDescription";
var _IPM = "InferenceProfileModel";
var _IPMS = "InferenceProfileModelSource";
var _IPMn = "InferenceProfileModels";
var _IPS = "InferenceProfileSummary";
var _IPSn = "InferenceProfileSummaries";
var _ISE = "InternalServerException";
var _KBC = "KnowledgeBaseConfig";
var _KBRAGC = "KnowledgeBaseRetrieveAndGenerateConfiguration";
var _KBRC = "KnowledgeBaseRetrievalConfiguration";
var _KBVSC = "KnowledgeBaseVectorSearchConfiguration";
var _KIC = "KbInferenceConfig";
var _LARP = "ListAutomatedReasoningPolicies";
var _LARPBW = "ListAutomatedReasoningPolicyBuildWorkflows";
var _LARPBWR = "ListAutomatedReasoningPolicyBuildWorkflowsRequest";
var _LARPBWRi = "ListAutomatedReasoningPolicyBuildWorkflowsResponse";
var _LARPR = "ListAutomatedReasoningPoliciesRequest";
var _LARPRi = "ListAutomatedReasoningPoliciesResponse";
var _LARPTC = "ListAutomatedReasoningPolicyTestCases";
var _LARPTCR = "ListAutomatedReasoningPolicyTestCasesRequest";
var _LARPTCRi = "ListAutomatedReasoningPolicyTestCasesResponse";
var _LARPTR = "ListAutomatedReasoningPolicyTestResults";
var _LARPTRR = "ListAutomatedReasoningPolicyTestResultsRequest";
var _LARPTRRi = "ListAutomatedReasoningPolicyTestResultsResponse";
var _LC = "LoggingConfig";
var _LCM = "ListCustomModels";
var _LCMD = "ListCustomModelDeployments";
var _LCMDR = "ListCustomModelDeploymentsRequest";
var _LCMDRi = "ListCustomModelDeploymentsResponse";
var _LCMR = "ListCustomModelsRequest";
var _LCMRi = "ListCustomModelsResponse";
var _LEGC = "ListEnforcedGuardrailsConfiguration";
var _LEGCR = "ListEnforcedGuardrailsConfigurationRequest";
var _LEGCRi = "ListEnforcedGuardrailsConfigurationResponse";
var _LEJ = "ListEvaluationJobs";
var _LEJR = "ListEvaluationJobsRequest";
var _LEJRi = "ListEvaluationJobsResponse";
var _LFM = "ListFoundationModels";
var _LFMAO = "ListFoundationModelAgreementOffers";
var _LFMAOR = "ListFoundationModelAgreementOffersRequest";
var _LFMAORi = "ListFoundationModelAgreementOffersResponse";
var _LFMR = "ListFoundationModelsRequest";
var _LFMRi = "ListFoundationModelsResponse";
var _LG = "ListGuardrails";
var _LGC = "LambdaGraderConfig";
var _LGR = "ListGuardrailsRequest";
var _LGRi = "ListGuardrailsResponse";
var _LIM = "ListImportedModels";
var _LIMR = "ListImportedModelsRequest";
var _LIMRi = "ListImportedModelsResponse";
var _LIP = "ListInferenceProfiles";
var _LIPR = "ListInferenceProfilesRequest";
var _LIPRi = "ListInferenceProfilesResponse";
var _LMCJ = "ListModelCopyJobs";
var _LMCJR = "ListModelCopyJobsRequest";
var _LMCJRi = "ListModelCopyJobsResponse";
var _LMCJRis = "ListModelCustomizationJobsRequest";
var _LMCJRist = "ListModelCustomizationJobsResponse";
var _LMCJi = "ListModelCustomizationJobs";
var _LMIJ = "ListModelImportJobs";
var _LMIJR = "ListModelImportJobsRequest";
var _LMIJRi = "ListModelImportJobsResponse";
var _LMIJRis = "ListModelInvocationJobsRequest";
var _LMIJRist = "ListModelInvocationJobsResponse";
var _LMIJi = "ListModelInvocationJobs";
var _LMME = "ListMarketplaceModelEndpoints";
var _LMMER = "ListMarketplaceModelEndpointsRequest";
var _LMMERi = "ListMarketplaceModelEndpointsResponse";
var _LPMT = "ListProvisionedModelThroughputs";
var _LPMTR = "ListProvisionedModelThroughputsRequest";
var _LPMTRi = "ListProvisionedModelThroughputsResponse";
var _LPR = "ListPromptRouters";
var _LPRR = "ListPromptRoutersRequest";
var _LPRRi = "ListPromptRoutersResponse";
var _LT = "LegalTerm";
var _LTFR = "ListTagsForResource";
var _LTFRR = "ListTagsForResourceRequest";
var _LTFRRi = "ListTagsForResourceResponse";
var _M = "Message";
var _MAS = "MetadataAttributeSchema";
var _MASL = "MetadataAttributeSchemaList";
var _MCFR = "MetadataConfigurationForReranking";
var _MCJS = "ModelCopyJobSummary";
var _MCJSo = "ModelCustomizationJobSummary";
var _MCJSod = "ModelCopyJobSummaries";
var _MCJSode = "ModelCustomizationJobSummaries";
var _MDS = "ModelDataSource";
var _ME = "ModelEnforcement";
var _MIJIDC = "ModelInvocationJobInputDataConfig";
var _MIJODC = "ModelInvocationJobOutputDataConfig";
var _MIJS = "ModelImportJobSummary";
var _MIJSIDC = "ModelInvocationJobS3InputDataConfig";
var _MIJSODC = "ModelInvocationJobS3OutputDataConfig";
var _MIJSo = "ModelInvocationJobSummary";
var _MIJSod = "ModelImportJobSummaries";
var _MIJSode = "ModelInvocationJobSummaries";
var _MME = "MarketplaceModelEndpoint";
var _MMES = "MarketplaceModelEndpointSummary";
var _MMESa = "MarketplaceModelEndpointSummaries";
var _MN = "MetricName";
var _O = "Offer";
var _OC = "OrchestrationConfiguration";
var _ODC = "OutputDataConfig";
var _Of = "Offers";
var _PC = "PerformanceConfiguration";
var _PEGC = "PutEnforcedGuardrailConfiguration";
var _PEGCR = "PutEnforcedGuardrailConfigurationRequest";
var _PEGCRu = "PutEnforcedGuardrailConfigurationResponse";
var _PMILC = "PutModelInvocationLoggingConfiguration";
var _PMILCR = "PutModelInvocationLoggingConfigurationRequest";
var _PMILCRu = "PutModelInvocationLoggingConfigurationResponse";
var _PMS = "ProvisionedModelSummary";
var _PMSr = "ProvisionedModelSummaries";
var _PRD = "PromptRouterDescription";
var _PRS = "PromptRouterSummary";
var _PRSr = "PromptRouterSummaries";
var _PRTM = "PromptRouterTargetModel";
var _PRTMr = "PromptRouterTargetModels";
var _PT = "PricingTerm";
var _PTr = "PromptTemplate";
var _PUCFMA = "PutUseCaseForModelAccess";
var _PUCFMAR = "PutUseCaseForModelAccessRequest";
var _PUCFMARu = "PutUseCaseForModelAccessResponse";
var _QTC = "QueryTransformationConfiguration";
var _RAGC = "RetrieveAndGenerateConfiguration";
var _RAGCo = "RAGConfig";
var _RC = "RetrieveConfig";
var _RCa = "RagConfigs";
var _RCat = "RateCard";
var _RCo = "RoutingCriteria";
var _RF = "RetrievalFilter";
var _RFL = "RetrievalFilterList";
var _RFTC = "RFTConfig";
var _RFTHP = "RFTHyperParameters";
var _RIUE = "ResourceInUseException";
var _RMBF = "RequestMetadataBaseFilters";
var _RMF = "RequestMetadataFilters";
var _RMFL = "RequestMetadataFiltersList";
var _RMM = "RequestMetadataMap";
var _RMME = "RegisterMarketplaceModelEndpoint";
var _RMMER = "RegisterMarketplaceModelEndpointRequest";
var _RMMERe = "RegisterMarketplaceModelEndpointResponse";
var _RMSMC = "RerankingMetadataSelectiveModeConfiguration";
var _RNFE = "ResourceNotFoundException";
var _RS = "RatingScale";
var _RSI = "RatingScaleItem";
var _RSIV = "RatingScaleItemValue";
var _SARPBW = "StartAutomatedReasoningPolicyBuildWorkflow";
var _SARPBWR = "StartAutomatedReasoningPolicyBuildWorkflowRequest";
var _SARPBWRt = "StartAutomatedReasoningPolicyBuildWorkflowResponse";
var _SARPTW = "StartAutomatedReasoningPolicyTestWorkflow";
var _SARPTWR = "StartAutomatedReasoningPolicyTestWorkflowRequest";
var _SARPTWRt = "StartAutomatedReasoningPolicyTestWorkflowResponse";
var _SC = "S3Config";
var _SD = "StatusDetails";
var _SDS = "S3DataSource";
var _SEJ = "StopEvaluationJob";
var _SEJR = "StopEvaluationJobRequest";
var _SEJRt = "StopEvaluationJobResponse";
var _SMCJ = "StopModelCustomizationJob";
var _SMCJR = "StopModelCustomizationJobRequest";
var _SMCJRt = "StopModelCustomizationJobResponse";
var _SME = "SageMakerEndpoint";
var _SMIJ = "StopModelInvocationJob";
var _SMIJR = "StopModelInvocationJobRequest";
var _SMIJRt = "StopModelInvocationJobResponse";
var _SOD = "S3ObjectDoc";
var _SQEE = "ServiceQuotaExceededException";
var _ST = "SupportTerm";
var _SUE = "ServiceUnavailableException";
var _T = "Tag";
var _TD = "TermDetails";
var _TDC = "TrainingDataConfig";
var _TDr = "TrainingDetails";
var _TE = "ThrottlingException";
var _TIC = "TextInferenceConfig";
var _TL = "TagList";
var _TM = "TrainingMetrics";
var _TMC = "TeacherModelConfig";
var _TMTE = "TooManyTagsException";
var _TPT = "TextPromptTemplate";
var _TR = "TagResource";
var _TRR = "TagResourceRequest";
var _TRRa = "TagResourceResponse";
var _UARP = "UpdateAutomatedReasoningPolicy";
var _UARPA = "UpdateAutomatedReasoningPolicyAnnotations";
var _UARPAR = "UpdateAutomatedReasoningPolicyAnnotationsRequest";
var _UARPARp = "UpdateAutomatedReasoningPolicyAnnotationsResponse";
var _UARPR = "UpdateAutomatedReasoningPolicyRequest";
var _UARPRp = "UpdateAutomatedReasoningPolicyResponse";
var _UARPTC = "UpdateAutomatedReasoningPolicyTestCase";
var _UARPTCR = "UpdateAutomatedReasoningPolicyTestCaseRequest";
var _UARPTCRp = "UpdateAutomatedReasoningPolicyTestCaseResponse";
var _UCMD = "UpdateCustomModelDeployment";
var _UCMDR = "UpdateCustomModelDeploymentRequest";
var _UCMDRp = "UpdateCustomModelDeploymentResponse";
var _UG = "UpdateGuardrail";
var _UGR = "UpdateGuardrailRequest";
var _UGRp = "UpdateGuardrailResponse";
var _UMME = "UpdateMarketplaceModelEndpoint";
var _UMMER = "UpdateMarketplaceModelEndpointRequest";
var _UMMERp = "UpdateMarketplaceModelEndpointResponse";
var _UPMT = "UpdateProvisionedModelThroughput";
var _UPMTR = "UpdateProvisionedModelThroughputRequest";
var _UPMTRp = "UpdateProvisionedModelThroughputResponse";
var _UR = "UntagResource";
var _URR = "UntagResourceRequest";
var _URRn = "UntagResourceResponse";
var _V = "Validator";
var _VC = "VpcConfig";
var _VD = "ValidationDetails";
var _VDC = "ValidationDataConfig";
var _VE = "ValidationException";
var _VM = "ValidatorMetric";
var _VMa = "ValidationMetrics";
var _VSBRC = "VectorSearchBedrockRerankingConfiguration";
var _VSBRMC = "VectorSearchBedrockRerankingModelConfiguration";
var _VSRC = "VectorSearchRerankingConfiguration";
var _VT = "ValidityTerm";
var _Va = "Validators";
var _a3 = "annotation";
var _aA = "agreementAvailability";
var _aAn = "andAll";
var _aD = "agreementDuration";
var _aDDE = "audioDataDeliveryEnabled";
var _aE = "alternateExpression";
var _aEc = "acceptEula";
var _aI = "assetId";
var _aJ = "accuracyJustification";
var _aM = "assetManifest";
var _aMRF = "additionalModelRequestFields";
var _aN = "assetName";
var _aR = "addRule";
var _aRFNL = "addRuleFromNaturalLanguage";
var _aRP = "automatedReasoningPolicy";
var _aRPBWS = "automatedReasoningPolicyBuildWorkflowSummaries";
var _aRPC = "automatedReasoningPolicyConfig";
var _aRPS = "automatedReasoningPolicySummaries";
var _aS = "accuracyScore";
var _aSH = "annotationSetHash";
var _aSt = "atomicStatements";
var _aSu = "authorizationStatus";
var _aT = "assetType";
var _aTE = "applicationTypeEquals";
var _aTFR = "aggregatedTestFindingsResult";
var _aTV = "addTypeValue";
var _aTd = "addType";
var _aTp = "applicationType";
var _aV = "addVariable";
var _ac = "action";
var _an = "annotations";
var _ar = "arn";
var _au = "automated";
var _bC = "byteContent";
var _bCT = "byCustomizationType";
var _bEM = "bedrockEvaluatorModels";
var _bIM = "blockedInputMessaging";
var _bIT = "byInferenceType";
var _bKBI = "bedrockKnowledgeBaseIdentifiers";
var _bL = "buildLog";
var _bM = "bedrockModel";
var _bMA = "baseModelArn";
var _bMAE = "baseModelArnEquals";
var _bMI = "baseModelIdentifier";
var _bMIe = "bedrockModelIdentifiers";
var _bMN = "baseModelName";
var _bN = "bucketName";
var _bOM = "blockedOutputsMessaging";
var _bOMy = "byOutputModality";
var _bP = "byProvider";
var _bRC = "bedrockRerankingConfiguration";
var _bS = "buildSteps";
var _bSa = "batchSize";
var _bWA = "buildWorkflowAssets";
var _bWI = "buildWorkflowId";
var _bWT = "buildWorkflowType";
var _c = "client";
var _cA = "createdAt";
var _cAr = "createdAfter";
var _cB = "createdBy";
var _cBr = "createdBefore";
var _cC = "customizationConfig";
var _cD = "commitmentDuration";
var _cEKI = "customerEncryptionKeyId";
var _cET = "commitmentExpirationTime";
var _cF = "copyFrom";
var _cFS = "claimsFalseScenario";
var _cGP = "contextualGroundingPolicy";
var _cGPC = "contextualGroundingPolicyConfig";
var _cI = "configId";
var _cM = "customMetrics";
var _cMA = "customModelArn";
var _cMC = "customMetricConfig";
var _cMD = "customMetricDefinition";
var _cMDA = "customModelDeploymentArn";
var _cMDI = "customModelDeploymentIdentifier";
var _cMDN = "customModelDeploymentName";
var _cMEMI = "customMetricsEvaluatorModelIdentifiers";
var _cMKKI = "customModelKmsKeyId";
var _cMN = "customModelName";
var _cMT = "customModelTags";
var _cMU = "customModelUnits";
var _cMUPMC = "customModelUnitsPerModelCopy";
var _cMUV = "customModelUnitsVersion";
var _cP = "contentPolicy";
var _cPC = "contentPolicyConfig";
var _cR = "contradictingRules";
var _cRC = "crossRegionConfig";
var _cRD = "crossRegionDetails";
var _cRT = "clientRequestToken";
var _cRo = "conflictingRules";
var _cS = "coverageScore";
var _cSu = "customizationsSupported";
var _cT = "confidenceThreshold";
var _cTA = "creationTimeAfter";
var _cTB = "creationTimeBefore";
var _cTS = "claimsTrueScenario";
var _cTo = "contentType";
var _cTr = "creationTime";
var _cTu = "customizationType";
var _cWC = "cloudWatchConfig";
var _cl = "claims";
var _co = "confidence";
var _cod = "code";
var _con = "content";
var _cont = "context";
var _d = "description";
var _dC = "documentContent";
var _dCT = "documentContentType";
var _dCi = "distillationConfig";
var _dD = "documentDescription";
var _dH = "documentHash";
var _dHe = "definitionHash";
var _dI = "documentId";
var _dL = "datasetLocation";
var _dMA = "desiredModelArn";
var _dMC = "datasetMetricConfigs";
var _dMI = "desiredModelId";
var _dMU = "desiredModelUnits";
var _dN = "documentName";
var _dPD = "dataProcessingDetails";
var _dPMN = "desiredProvisionedModelName";
var _dR = "deleteRule";
var _dRS = "disjointRuleSets";
var _dS = "differenceScenarios";
var _dSo = "documentSources";
var _dT = "deleteType";
var _dTV = "deleteTypeValue";
var _dV = "deleteVariable";
var _da = "data";
var _dat = "dataset";
var _de = "definition";
var _di = "dimension";
var _do = "document";
var _doc = "documents";
var _e2 = "error";
var _eA = "endpointArn";
var _eAFR = "expectedAggregatedFindingsResult";
var _eAn = "entitlementAvailability";
var _eC = "evaluationConfig";
var _eCn = "endpointConfig";
var _eCp = "epochCount";
var _eDDE = "embeddingDataDeliveryEnabled";
var _eI = "endpointIdentifier";
var _eIv = "evalInterval";
var _eJ = "evaluationJobs";
var _eM = "errorMessage";
var _eMC = "evaluatorModelConfig";
var _eMI = "evaluatorModelIdentifiers";
var _eMx = "excludedModels";
var _eN = "endpointName";
var _eOLT = "endOfLifeTime";
var _eR = "expectedResult";
var _eRx = "executionRole";
var _eS = "endpointStatus";
var _eSC = "externalSourcesConfiguration";
var _eSM = "endpointStatusMessage";
var _eT = "endTime";
var _eTT = "evaluationTaskTypes";
var _en = "entries";
var _ena = "enabled";
var _eq = "equals";
var _er = "errors";
var _ex = "expression";
var _exa = "examples";
var _f = "feedback";
var _fC = "filtersConfig";
var _fD = "formData";
var _fDA = "flowDefinitionArn";
var _fM = "fallbackModel";
var _fMA = "foundationModelArn";
var _fMAE = "foundationModelArnEquals";
var _fMa = "failureMessage";
var _fMai = "failureMessages";
var _fN = "fieldName";
var _fR = "failureRecommendations";
var _fRi = "fidelityReport";
var _fTE = "fieldsToExclude";
var _fTI = "fieldsToInclude";
var _fV = "floatValue";
var _fi = "filters";
var _fil = "filter";
var _fo = "force";
var _g = "guardrails";
var _gA = "guardrailArn";
var _gC = "guardContent";
var _gCe = "generationConfiguration";
var _gCr = "graderConfig";
var _gCu = "guardrailConfiguration";
var _gCua = "guardrailsConfig";
var _gFRC = "generateFidelityReportContent";
var _gI = "guardrailIdentifier";
var _gIC = "guardrailInferenceConfig";
var _gIu = "guardrailId";
var _gJ = "groundingJustifications";
var _gPA = "guardrailProfileArn";
var _gPI = "guardrailProfileIdentifier";
var _gPIu = "guardrailProfileId";
var _gS = "groundingStatements";
var _gT = "greaterThan";
var _gTC = "generatedTestCases";
var _gTOE = "greaterThanOrEquals";
var _gV = "guardrailVersion";
var _h = "human";
var _hE = "httpError";
var _hH = "httpHeader";
var _hP = "hyperParameters";
var _hQ = "httpQuery";
var _hWC = "humanWorkflowConfig";
var _ht = "http";
var _i = "id";
var _iA = "inputAction";
var _iC = "inferenceConfig";
var _iCS = "inferenceConfigSummary";
var _iCn = "ingestContent";
var _iDC = "inputDataConfig";
var _iDDE = "imageDataDeliveryEnabled";
var _iE = "inputEnabled";
var _iFC = "implicitFilterConfiguration";
var _iIC = "initialInstanceCount";
var _iJS = "invocationJobSummaries";
var _iLC = "invocationLogsConfig";
var _iLS = "invocationLogSource";
var _iM = "inputModalities";
var _iMA = "importedModelArn";
var _iMKKA = "importedModelKmsKeyArn";
var _iMKKI = "importedModelKmsKeyId";
var _iMN = "importedModelName";
var _iMT = "importedModelTags";
var _iMTn = "inferenceMaxTokens";
var _iMn = "includedModels";
var _iO = "isOwned";
var _iP = "inferenceParams";
var _iPA = "inferenceProfileArn";
var _iPI = "inferenceProfileIdentifier";
var _iPIn = "inferenceProfileId";
var _iPN = "inferenceProfileName";
var _iPS = "inferenceProfileSummaries";
var _iS = "instructSupported";
var _iSI = "inferenceSourceIdentifier";
var _iSn = "inputStrength";
var _iT = "inputTags";
var _iTS = "inferenceTypesSupported";
var _iTd = "idempotencyToken";
var _iTn = "instanceType";
var _id = "identifier";
var _im = "impossible";
var _in = "instructions";
var _in_ = "in";
var _inv = "invalid";
var _jA = "jobArn";
var _jD = "jobDescription";
var _jET = "jobExpirationTime";
var _jI = "jobIdentifier";
var _jIo = "jobIdentifiers";
var _jN = "jobName";
var _jS = "jobStatus";
var _jSo = "jobSummaries";
var _jT = "jobTags";
var _jTo = "jobType";
var _k = "key";
var _kBC = "knowledgeBaseConfiguration";
var _kBCn = "knowledgeBaseConfig";
var _kBI = "knowledgeBaseId";
var _kBRC = "knowledgeBaseRetrievalConfiguration";
var _kEK = "kmsEncryptionKey";
var _kIC = "kbInferenceConfig";
var _kKA = "kmsKeyArn";
var _kKI = "kmsKeyId";
var _kP = "keyPrefix";
var _l = "logic";
var _lA = "lambdaArn";
var _lC = "loggingConfig";
var _lCi = "listContains";
var _lDDSC = "largeDataDeliveryS3Config";
var _lG = "lambdaGrader";
var _lGN = "logGroupName";
var _lMT = "lastModifiedTime";
var _lN = "lineNumber";
var _lR = "learningRate";
var _lT = "lineText";
var _lTOE = "lessThanOrEquals";
var _lTe = "legacyTime";
var _lTeg = "legalTerm";
var _lTes = "lessThan";
var _lUA = "lastUpdatedAt";
var _lUASH = "lastUpdatedAnnotationSetHash";
var _lUDH = "lastUpdatedDefinitionHash";
var _lW = "logicWarning";
var _la = "latency";
var _li = "lines";
var _lin = "line";
var _lo = "location";
var _m = "message";
var _mA = "modelArn";
var _mAE = "modelArnEquals";
var _mAe = "metadataAttributes";
var _mAo = "modelArchitecture";
var _mC = "modelConfiguration";
var _mCJS = "modelCopyJobSummaries";
var _mCJSo = "modelCustomizationJobSummaries";
var _mCS = "modelConfigSummary";
var _mCe = "metadataConfiguration";
var _mD = "modelDetails";
var _mDN = "modelDeploymentName";
var _mDS = "modelDataSource";
var _mDSo = "modelDeploymentSummaries";
var _mE = "modelEnforcement";
var _mI = "modelIdentifier";
var _mIJS = "modelImportJobSummaries";
var _mIT = "modelInvocationType";
var _mIo = "modelId";
var _mIod = "modelIdentifiers";
var _mKKA = "modelKmsKeyArn";
var _mKKI = "modelKmsKeyId";
var _mL = "modelLifecycle";
var _mME = "marketplaceModelEndpoint";
var _mMEa = "marketplaceModelEndpoints";
var _mN = "modelName";
var _mNe = "metricNames";
var _mPL = "maxPromptLength";
var _mR = "maxResults";
var _mRLFI = "maxResponseLengthForInference";
var _mS = "modelSource";
var _mSC = "modelSourceConfig";
var _mSE = "modelSourceEquals";
var _mSI = "modelSourceIdentifier";
var _mSo = "modelStatus";
var _mSod = "modelSummaries";
var _mT = "messageType";
var _mTa = "maxTokens";
var _mTo = "modelTags";
var _mU = "modelUnits";
var _mWL = "managedWordLists";
var _mWLC = "managedWordListsConfig";
var _me = "messages";
var _mo = "models";
var _mu = "mutation";
var _n = "name";
var _nC = "nameContains";
var _nE = "notEquals";
var _nI = "notIn";
var _nL = "naturalLanguage";
var _nN = "newName";
var _nOR = "numberOfResults";
var _nORR = "numberOfRerankedResults";
var _nT = "nextToken";
var _nTo = "noTranslations";
var _nV = "newValue";
var _o = "owner";
var _oA = "outputAction";
var _oAI = "ownerAccountId";
var _oAr = "orAll";
var _oC = "orchestrationConfiguration";
var _oDC = "outputDataConfig";
var _oE = "outputEnabled";
var _oI = "offerId";
var _oM = "outputModalities";
var _oMA = "outputModelArn";
var _oMKKA = "outputModelKmsKeyArn";
var _oMN = "outputModelName";
var _oMNC = "outputModelNameContains";
var _oS = "outputStrength";
var _oST = "overrideSearchType";
var _oT = "offerToken";
var _oTf = "offerType";
var _of = "offers";
var _op = "options";
var _p = "premises";
var _pA = "policyArn";
var _pC = "performanceConfig";
var _pD = "policyDefinition";
var _pDR = "policyDefinitionRule";
var _pDT = "policyDefinitionType";
var _pDV = "policyDefinitionVariable";
var _pE = "priorElement";
var _pEAT = "publicExtendedAccessTime";
var _pEC = "piiEntitiesConfig";
var _pEi = "piiEntities";
var _pI = "policyId";
var _pIS = "precomputedInferenceSource";
var _pISI = "precomputedInferenceSourceIdentifiers";
var _pMA = "provisionedModelArn";
var _pMI = "provisionedModelId";
var _pMN = "provisionedModelName";
var _pMS = "provisionedModelSummaries";
var _pN = "pageNumber";
var _pNr = "providerName";
var _pRA = "promptRouterArn";
var _pRAo = "policyRepairAssets";
var _pRN = "promptRouterName";
var _pRS = "promptRouterSummaries";
var _pRSC = "precomputedRagSourceConfig";
var _pRSI = "precomputedRagSourceIdentifiers";
var _pS = "policyScenarios";
var _pT = "promptTemplate";
var _pV = "policyVariable";
var _pVA = "policyVersionArn";
var _pa = "pattern";
var _pl = "planning";
var _po = "policies";
var _pr = "price";
var _qC = "queryContent";
var _qR = "qualityReport";
var _qTC = "queryTransformationConfiguration";
var _r = "rule";
var _rA = "roleArn";
var _rAGC = "retrieveAndGenerateConfig";
var _rAGSC = "retrieveAndGenerateSourceConfig";
var _rARN = "resourceARN";
var _rAe = "regionAvailability";
var _rC = "ruleCount";
var _rCS = "ragConfigSummary";
var _rCa = "rateCard";
var _rCag = "ragConfigs";
var _rCe = "regexesConfig";
var _rCer = "rerankingConfiguration";
var _rCet = "retrievalConfiguration";
var _rCetr = "retrieveConfig";
var _rCf = "rftConfig";
var _rCo = "routingCriteria";
var _rE = "reasoningEffort";
var _rI = "ruleId";
var _rIa = "ragIdentifiers";
var _rIu = "ruleIds";
var _rM = "ratingMethod";
var _rMF = "requestMetadataFilters";
var _rN = "resourceName";
var _rPD = "refundPolicyDescription";
var _rQD = "responseQualityDifference";
var _rR = "ruleReports";
var _rS = "ratingScale";
var _rSC = "retrieveSourceConfig";
var _rSI = "ragSourceIdentifier";
var _rSS = "responseStreamingSupported";
var _re = "regexes";
var _ru = "rules";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.bedrock";
var _sAE = "sourceAccountEquals";
var _sAI = "sourceAccountId";
var _sB = "sortBy";
var _sBO = "s3BucketOwner";
var _sC = "s3Config";
var _sCo = "sourceContent";
var _sCt = "stringContains";
var _sD = "statusDetails";
var _sDS = "s3DataSource";
var _sE = "scenarioExpression";
var _sEKI = "s3EncryptionKeyId";
var _sEt = "statusEquals";
var _sGI = "securityGroupIds";
var _sI = "statementId";
var _sIDC = "s3InputDataConfig";
var _sIF = "s3InputFormat";
var _sIP = "sensitiveInformationPolicy";
var _sIPC = "sensitiveInformationPolicyConfig";
var _sIu = "subnetIds";
var _sL = "s3Location";
var _sM = "statusMessage";
var _sMA = "sourceModelArn";
var _sMAE = "sourceModelArnEquals";
var _sMC = "selectiveModeConfiguration";
var _sMN = "sourceModelName";
var _sMa = "sageMaker";
var _sMe = "selectionMode";
var _sO = "sortOrder";
var _sODC = "s3OutputDataConfig";
var _sOLT = "startOfLifeTime";
var _sR = "supportingRules";
var _sRt = "statusReasons";
var _sS = "stopSequences";
var _sT = "sourceType";
var _sTA = "submitTimeAfter";
var _sTB = "submitTimeBefore";
var _sTu = "submitTime";
var _sTup = "supportTerm";
var _sU = "s3Uri";
var _sV = "stringValue";
var _sW = "startsWith";
var _sa = "satisfiable";
var _sc = "scenario";
var _se = "server";
var _so = "sources";
var _st = "status";
var _sta = "statements";
var _t = "translation";
var _tA = "translationAmbiguous";
var _tC = "typeCount";
var _tCI = "testCaseId";
var _tCIe = "testCaseIds";
var _tCe = "testCase";
var _tCes = "testCases";
var _tCi = "tierConfig";
var _tCo = "topicsConfig";
var _tCoo = "tooComplex";
var _tD = "termDetails";
var _tDC = "trainingDataConfig";
var _tDDE = "textDataDeliveryEnabled";
var _tDIH = "timeoutDurationInHours";
var _tDr = "trainingDetails";
var _tE = "typeEquals";
var _tF = "testFindings";
var _tIC = "textInferenceConfig";
var _tK = "tagKeys";
var _tL = "trainingLoss";
var _tM = "trainingMetrics";
var _tMA = "targetModelArn";
var _tMC = "teacherModelConfig";
var _tMI = "teacherModelIdentifier";
var _tMKKA = "targetModelKmsKeyArn";
var _tMN = "targetModelName";
var _tMNC = "targetModelNameContains";
var _tMT = "targetModelTags";
var _tN = "typeName";
var _tNi = "tierName";
var _tP = "topicPolicy";
var _tPC = "topicPolicyConfig";
var _tPT = "textPromptTemplate";
var _tPo = "topP";
var _tR = "testResult";
var _tRR = "testRunResult";
var _tRS = "testRunStatus";
var _tRe = "testResults";
var _tSPP = "trainingSamplePerPrompt";
var _tT = "taskType";
var _ta = "tags";
var _te = "text";
var _tem = "temperature";
var _th = "threshold";
var _ti = "tier";
var _to = "topics";
var _tr = "translations";
var _ty = "type";
var _typ = "types";
var _u = "unit";
var _uA = "updatedAt";
var _uB = "updatedBy";
var _uBPT = "usageBasedPricingTerm";
var _uC = "untranslatedClaims";
var _uD = "updateDetails";
var _uFRF = "updateFromRulesFeedback";
var _uFSF = "updateFromScenarioFeedback";
var _uP = "untranslatedPremises";
var _uPR = "usePromptResponse";
var _uR = "updateRule";
var _uS = "updateStatus";
var _uT = "unusedTypes";
var _uTV = "unusedTypeValues";
var _uTVp = "updateTypeValue";
var _uTp = "updateType";
var _uV = "unusedVariables";
var _uVp = "updateVariable";
var _ur = "url";
var _uri = "uri";
var _v = "values";
var _vC = "variableCount";
var _vCp = "vpcConfig";
var _vD = "validationDetails";
var _vDC = "validationDataConfig";
var _vDDE = "videoDataDeliveryEnabled";
var _vL = "validationLoss";
var _vM = "validationMetrics";
var _vN = "valueName";
var _vR = "variableReports";
var _vSC = "vectorSearchConfiguration";
var _vT = "validityTerm";
var _va = "value";
var _val = "validators";
var _vali = "valid";
var _var = "variable";
var _vari = "variables";
var _ve = "version";
var _vp = "vpc";
var _w = "words";
var _wC = "workflowContent";
var _wCo = "wordsConfig";
var _wP = "wordPolicy";
var _wPC = "wordPolicyConfig";
var _xact = "x-amz-client-token";
var n0 = "com.amazonaws.bedrock";
var schema_1 = require_schema();
var BedrockServiceException_1 = require_BedrockServiceException();
var errors_1 = require_errors6();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.BedrockServiceException$ = [-3, _s, "BedrockServiceException", 0, [], []];
_s_registry.registerError(exports.BedrockServiceException$, BedrockServiceException_1.BedrockServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.AccessDeniedException$ = [
-3,
n0,
_ADE,
{ [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.AccessDeniedException$, errors_1.AccessDeniedException);
exports.ConflictException$ = [
-3,
n0,
_CE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ConflictException$, errors_1.ConflictException);
exports.InternalServerException$ = [
-3,
n0,
_ISE,
{ [_e2]: _se, [_hE]: 500 },
[_m],
[0]
];
n0_registry.registerError(exports.InternalServerException$, errors_1.InternalServerException);
exports.ResourceInUseException$ = [
-3,
n0,
_RIUE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ResourceInUseException$, errors_1.ResourceInUseException);
exports.ResourceNotFoundException$ = [
-3,
n0,
_RNFE,
{ [_e2]: _c, [_hE]: 404 },
[_m],
[0]
];
n0_registry.registerError(exports.ResourceNotFoundException$, errors_1.ResourceNotFoundException);
exports.ServiceQuotaExceededException$ = [
-3,
n0,
_SQEE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ServiceQuotaExceededException$, errors_1.ServiceQuotaExceededException);
exports.ServiceUnavailableException$ = [
-3,
n0,
_SUE,
{ [_e2]: _se, [_hE]: 503 },
[_m],
[0]
];
n0_registry.registerError(exports.ServiceUnavailableException$, errors_1.ServiceUnavailableException);
exports.ThrottlingException$ = [
-3,
n0,
_TE,
{ [_e2]: _c, [_hE]: 429 },
[_m],
[0]
];
n0_registry.registerError(exports.ThrottlingException$, errors_1.ThrottlingException);
exports.TooManyTagsException$ = [
-3,
n0,
_TMTE,
{ [_e2]: _c, [_hE]: 400 },
[_m, _rN],
[0, 0]
];
n0_registry.registerError(exports.TooManyTagsException$, errors_1.TooManyTagsException);
exports.ValidationException$ = [
-3,
n0,
_VE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ValidationException$, errors_1.ValidationException);
exports.errorTypeRegistries = [
_s_registry,
n0_registry
];
var AutomatedReasoningLogicStatementContent = [0, n0, _ARLSC, 8, 0];
var AutomatedReasoningNaturalLanguageStatementContent = [0, n0, _ARNLSC, 8, 0];
var AutomatedReasoningPolicyAnnotationFeedbackNaturalLanguage = [0, n0, _ARPAFNL, 8, 0];
var AutomatedReasoningPolicyAnnotationIngestContent = [0, n0, _ARPAIC, 8, 0];
var AutomatedReasoningPolicyAnnotationRuleNaturalLanguage = [0, n0, _ARPARNL, 8, 0];
var AutomatedReasoningPolicyBuildDocumentBlob = [0, n0, _ARPBDB, 8, 21];
var AutomatedReasoningPolicyBuildDocumentDescription = [0, n0, _ARPBDD, 8, 0];
var AutomatedReasoningPolicyBuildDocumentName = [0, n0, _ARPBDN, 8, 0];
var AutomatedReasoningPolicyBuildResultAssetName = [0, n0, _ARPBRAN, 8, 0];
var AutomatedReasoningPolicyDefinitionRuleAlternateExpression = [0, n0, _ARPDRAE, 8, 0];
var AutomatedReasoningPolicyDefinitionRuleExpression = [0, n0, _ARPDRE, 8, 0];
var AutomatedReasoningPolicyDefinitionTypeDescription = [0, n0, _ARPDTD, 8, 0];
var AutomatedReasoningPolicyDefinitionTypeName = [0, n0, _ARPDTN, 8, 0];
var AutomatedReasoningPolicyDefinitionTypeValueDescription = [0, n0, _ARPDTVD, 8, 0];
var AutomatedReasoningPolicyDefinitionVariableDescription = [0, n0, _ARPDVD, 8, 0];
var AutomatedReasoningPolicyDefinitionVariableName = [0, n0, _ARPDVN, 8, 0];
var AutomatedReasoningPolicyDescription = [0, n0, _ARPD, 8, 0];
var AutomatedReasoningPolicyJustificationText = [0, n0, _ARPJT, 8, 0];
var AutomatedReasoningPolicyLineText = [0, n0, _ARPLT, 8, 0];
var AutomatedReasoningPolicyName = [0, n0, _ARPN, 8, 0];
var AutomatedReasoningPolicyScenarioAlternateExpression = [0, n0, _ARPSAE, 8, 0];
var AutomatedReasoningPolicyScenarioExpression = [0, n0, _ARPSE, 8, 0];
var AutomatedReasoningPolicyStatementText = [0, n0, _ARPST, 8, 0];
var AutomatedReasoningPolicyTestGuardContent = [0, n0, _ARPTGC, 8, 0];
var AutomatedReasoningPolicyTestQueryContent = [0, n0, _ARPTQC, 8, 0];
var ByteContentBlob = [0, n0, _BCB, 8, 21];
var EvaluationDatasetName = [0, n0, _EDN, 8, 0];
var EvaluationJobDescription = [0, n0, _EJD, 8, 0];
var EvaluationJobIdentifier = [0, n0, _EJI, 8, 0];
var EvaluationMetricDescription = [0, n0, _EMD, 8, 0];
var EvaluationMetricName = [0, n0, _EMN, 8, 0];
var EvaluationModelInferenceParams = [0, n0, _EMIP, 8, 0];
var GuardrailBlockedMessaging = [0, n0, _GBM, 8, 0];
var GuardrailContentFilterAction = [0, n0, _GCFA, 8, 0];
var GuardrailContentFiltersTierName = [0, n0, _GCFTN, 8, 0];
var GuardrailContextualGroundingAction = [0, n0, _GCGA, 8, 0];
var GuardrailDescription = [0, n0, _GD, 8, 0];
var GuardrailFailureRecommendation = [0, n0, _GFR, 8, 0];
var GuardrailModality = [0, n0, _GM, 8, 0];
var GuardrailName = [0, n0, _GN, 8, 0];
var GuardrailStatusReason = [0, n0, _GSR, 8, 0];
var GuardrailTopicAction = [0, n0, _GTA, 8, 0];
var GuardrailTopicDefinition = [0, n0, _GTD, 8, 0];
var GuardrailTopicExample = [0, n0, _GTE, 8, 0];
var GuardrailTopicName = [0, n0, _GTN, 8, 0];
var GuardrailTopicsTierName = [0, n0, _GTTN, 8, 0];
var GuardrailWordAction = [0, n0, _GWA, 8, 0];
var HumanTaskInstructions = [0, n0, _HTI, 8, 0];
var Identifier = [0, n0, _I, 8, 0];
var InferenceProfileDescription = [0, n0, _IPD, 8, 0];
var Message = [0, n0, _M, 8, 0];
var MetricName = [0, n0, _MN, 8, 0];
var PromptRouterDescription = [0, n0, _PRD, 8, 0];
var TextPromptTemplate = [0, n0, _TPT, 8, 0];
exports.AccountEnforcedGuardrailInferenceInputConfiguration$ = [
3,
n0,
_AEGIIC,
0,
[_gI, _gV, _iT, _mE],
[0, 0, 0, () => exports.ModelEnforcement$],
3
];
exports.AccountEnforcedGuardrailOutputConfiguration$ = [
3,
n0,
_AEGOC,
0,
[_cI, _gA, _gIu, _iT, _gV, _cA, _cB, _uA, _uB, _o, _mE],
[0, 0, 0, 0, 0, 5, 0, 5, 0, 0, () => exports.ModelEnforcement$]
];
exports.AgreementAvailability$ = [
3,
n0,
_AA,
0,
[_st, _eM],
[0, 0],
1
];
exports.AutomatedEvaluationConfig$ = [
3,
n0,
_AEC,
0,
[_dMC, _eMC, _cMC],
[[() => EvaluationDatasetMetricConfigs, 0], () => exports.EvaluatorModelConfig$, [() => exports.AutomatedEvaluationCustomMetricConfig$, 0]],
1
];
exports.AutomatedEvaluationCustomMetricConfig$ = [
3,
n0,
_AECMC,
0,
[_cM, _eMC],
[[() => AutomatedEvaluationCustomMetrics, 0], () => exports.CustomMetricEvaluatorModelConfig$],
2
];
exports.AutomatedReasoningCheckImpossibleFinding$ = [
3,
n0,
_ARCIF,
0,
[_t, _cR, _lW],
[[() => exports.AutomatedReasoningCheckTranslation$, 0], () => AutomatedReasoningCheckRuleList, [() => exports.AutomatedReasoningCheckLogicWarning$, 0]]
];
exports.AutomatedReasoningCheckInputTextReference$ = [
3,
n0,
_ARCITR,
0,
[_te],
[[() => AutomatedReasoningNaturalLanguageStatementContent, 0]]
];
exports.AutomatedReasoningCheckInvalidFinding$ = [
3,
n0,
_ARCIFu,
0,
[_t, _cR, _lW],
[[() => exports.AutomatedReasoningCheckTranslation$, 0], () => AutomatedReasoningCheckRuleList, [() => exports.AutomatedReasoningCheckLogicWarning$, 0]]
];
exports.AutomatedReasoningCheckLogicWarning$ = [
3,
n0,
_ARCLW,
0,
[_ty, _p, _cl],
[0, [() => AutomatedReasoningLogicStatementList, 0], [() => AutomatedReasoningLogicStatementList, 0]]
];
exports.AutomatedReasoningCheckNoTranslationsFinding$ = [
3,
n0,
_ARCNTF,
0,
[],
[]
];
exports.AutomatedReasoningCheckRule$ = [
3,
n0,
_ARCR,
0,
[_i, _pVA],
[0, 0]
];
exports.AutomatedReasoningCheckSatisfiableFinding$ = [
3,
n0,
_ARCSF,
0,
[_t, _cTS, _cFS, _lW],
[[() => exports.AutomatedReasoningCheckTranslation$, 0], [() => exports.AutomatedReasoningCheckScenario$, 0], [() => exports.AutomatedReasoningCheckScenario$, 0], [() => exports.AutomatedReasoningCheckLogicWarning$, 0]]
];
exports.AutomatedReasoningCheckScenario$ = [
3,
n0,
_ARCS,
0,
[_sta],
[[() => AutomatedReasoningLogicStatementList, 0]]
];
exports.AutomatedReasoningCheckTooComplexFinding$ = [
3,
n0,
_ARCTCF,
0,
[],
[]
];
exports.AutomatedReasoningCheckTranslation$ = [
3,
n0,
_ARCT,
0,
[_cl, _co, _p, _uP, _uC],
[[() => AutomatedReasoningLogicStatementList, 0], 1, [() => AutomatedReasoningLogicStatementList, 0], [() => AutomatedReasoningCheckInputTextReferenceList, 0], [() => AutomatedReasoningCheckInputTextReferenceList, 0]],
2
];
exports.AutomatedReasoningCheckTranslationAmbiguousFinding$ = [
3,
n0,
_ARCTAF,
0,
[_op, _dS],
[[() => AutomatedReasoningCheckTranslationOptionList, 0], [() => AutomatedReasoningCheckDifferenceScenarioList, 0]]
];
exports.AutomatedReasoningCheckTranslationOption$ = [
3,
n0,
_ARCTO,
0,
[_tr],
[[() => AutomatedReasoningCheckTranslationList, 0]]
];
exports.AutomatedReasoningCheckValidFinding$ = [
3,
n0,
_ARCVF,
0,
[_t, _cTS, _sR, _lW],
[[() => exports.AutomatedReasoningCheckTranslation$, 0], [() => exports.AutomatedReasoningCheckScenario$, 0], () => AutomatedReasoningCheckRuleList, [() => exports.AutomatedReasoningCheckLogicWarning$, 0]]
];
exports.AutomatedReasoningLogicStatement$ = [
3,
n0,
_ARLS,
0,
[_l, _nL],
[[() => AutomatedReasoningLogicStatementContent, 0], [() => AutomatedReasoningNaturalLanguageStatementContent, 0]],
1
];
exports.AutomatedReasoningPolicyAddRuleAnnotation$ = [
3,
n0,
_ARPARA,
0,
[_ex],
[[() => AutomatedReasoningPolicyDefinitionRuleExpression, 0]],
1
];
exports.AutomatedReasoningPolicyAddRuleFromNaturalLanguageAnnotation$ = [
3,
n0,
_ARPARFNLA,
0,
[_nL],
[[() => AutomatedReasoningPolicyAnnotationRuleNaturalLanguage, 0]],
1
];
exports.AutomatedReasoningPolicyAddRuleMutation$ = [
3,
n0,
_ARPARM,
0,
[_r],
[[() => exports.AutomatedReasoningPolicyDefinitionRule$, 0]],
1
];
exports.AutomatedReasoningPolicyAddTypeAnnotation$ = [
3,
n0,
_ARPATA,
0,
[_n, _d, _v],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyDefinitionTypeDescription, 0], [() => AutomatedReasoningPolicyDefinitionTypeValueList, 0]],
3
];
exports.AutomatedReasoningPolicyAddTypeMutation$ = [
3,
n0,
_ARPATM,
0,
[_ty],
[[() => exports.AutomatedReasoningPolicyDefinitionType$, 0]],
1
];
exports.AutomatedReasoningPolicyAddTypeValue$ = [
3,
n0,
_ARPATV,
0,
[_va, _d],
[0, [() => AutomatedReasoningPolicyDefinitionTypeValueDescription, 0]],
1
];
exports.AutomatedReasoningPolicyAddVariableAnnotation$ = [
3,
n0,
_ARPAVA,
0,
[_n, _ty, _d],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0], [() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyDefinitionVariableDescription, 0]],
3
];
exports.AutomatedReasoningPolicyAddVariableMutation$ = [
3,
n0,
_ARPAVM,
0,
[_var],
[[() => exports.AutomatedReasoningPolicyDefinitionVariable$, 0]],
1
];
exports.AutomatedReasoningPolicyAnnotatedChunk$ = [
3,
n0,
_ARPAC,
0,
[_con, _pN],
[[() => AutomatedReasoningPolicyAnnotatedContentList, 0], 1],
1
];
exports.AutomatedReasoningPolicyAnnotatedLine$ = [
3,
n0,
_ARPAL,
0,
[_lN, _lT],
[1, [() => AutomatedReasoningPolicyLineText, 0]]
];
exports.AutomatedReasoningPolicyAtomicStatement$ = [
3,
n0,
_ARPAS,
0,
[_i, _te, _lo],
[0, [() => AutomatedReasoningPolicyStatementText, 0], () => exports.AutomatedReasoningPolicyStatementLocation$],
3
];
exports.AutomatedReasoningPolicyBuildLog$ = [
3,
n0,
_ARPBL,
0,
[_en],
[[() => AutomatedReasoningPolicyBuildLogEntryList, 0]],
1
];
exports.AutomatedReasoningPolicyBuildLogEntry$ = [
3,
n0,
_ARPBLE,
0,
[_a3, _st, _bS],
[[() => exports.AutomatedReasoningPolicyAnnotation$, 0], 0, [() => AutomatedReasoningPolicyBuildStepList, 0]],
3
];
exports.AutomatedReasoningPolicyBuildResultAssetManifest$ = [
3,
n0,
_ARPBRAM,
0,
[_en],
[[() => AutomatedReasoningPolicyBuildResultAssetManifestList, 0]],
1
];
exports.AutomatedReasoningPolicyBuildResultAssetManifestEntry$ = [
3,
n0,
_ARPBRAME,
0,
[_aT, _aN, _aI],
[0, [() => AutomatedReasoningPolicyBuildResultAssetName, 0], 0],
1
];
exports.AutomatedReasoningPolicyBuildStep$ = [
3,
n0,
_ARPBS,
0,
[_cont, _me, _pE],
[[() => exports.AutomatedReasoningPolicyBuildStepContext$, 0], () => AutomatedReasoningPolicyBuildStepMessageList, [() => exports.AutomatedReasoningPolicyDefinitionElement$, 0]],
2
];
exports.AutomatedReasoningPolicyBuildStepMessage$ = [
3,
n0,
_ARPBSM,
0,
[_m, _mT],
[0, 0],
2
];
exports.AutomatedReasoningPolicyBuildWorkflowDocument$ = [
3,
n0,
_ARPBWD,
0,
[_do, _dCT, _dN, _dD],
[[() => AutomatedReasoningPolicyBuildDocumentBlob, 0], 0, [() => AutomatedReasoningPolicyBuildDocumentName, 0], [() => AutomatedReasoningPolicyBuildDocumentDescription, 0]],
3
];
exports.AutomatedReasoningPolicyBuildWorkflowRepairContent$ = [
3,
n0,
_ARPBWRC,
0,
[_an],
[[() => AutomatedReasoningPolicyAnnotationList, 0]],
1
];
exports.AutomatedReasoningPolicyBuildWorkflowSource$ = [
3,
n0,
_ARPBWS,
0,
[_pD, _wC],
[[() => exports.AutomatedReasoningPolicyDefinition$, 0], [() => exports.AutomatedReasoningPolicyWorkflowTypeContent$, 0]]
];
exports.AutomatedReasoningPolicyBuildWorkflowSummary$ = [
3,
n0,
_ARPBWSu,
0,
[_pA, _bWI, _st, _bWT, _cA, _uA],
[0, 0, 0, 0, 5, 5],
6
];
exports.AutomatedReasoningPolicyDefinition$ = [
3,
n0,
_ARPDu,
0,
[_ve, _typ, _ru, _vari],
[0, [() => AutomatedReasoningPolicyDefinitionTypeList, 0], [() => AutomatedReasoningPolicyDefinitionRuleList, 0], [() => AutomatedReasoningPolicyDefinitionVariableList, 0]]
];
exports.AutomatedReasoningPolicyDefinitionQualityReport$ = [
3,
n0,
_ARPDQR,
0,
[_tC, _vC, _rC, _uT, _uTV, _uV, _cRo, _dRS],
[1, 1, 1, [() => AutomatedReasoningPolicyDefinitionTypeNameList, 0], [() => AutomatedReasoningPolicyDefinitionTypeValuePairList, 0], [() => AutomatedReasoningPolicyDefinitionVariableNameList, 0], 64 | 0, [() => AutomatedReasoningPolicyDisjointRuleSetList, 0]],
8
];
exports.AutomatedReasoningPolicyDefinitionRule$ = [
3,
n0,
_ARPDR,
0,
[_i, _ex, _aE],
[0, [() => AutomatedReasoningPolicyDefinitionRuleExpression, 0], [() => AutomatedReasoningPolicyDefinitionRuleAlternateExpression, 0]],
2
];
exports.AutomatedReasoningPolicyDefinitionType$ = [
3,
n0,
_ARPDT,
0,
[_n, _v, _d],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyDefinitionTypeValueList, 0], [() => AutomatedReasoningPolicyDefinitionTypeDescription, 0]],
2
];
exports.AutomatedReasoningPolicyDefinitionTypeValue$ = [
3,
n0,
_ARPDTV,
0,
[_va, _d],
[0, [() => AutomatedReasoningPolicyDefinitionTypeValueDescription, 0]],
1
];
exports.AutomatedReasoningPolicyDefinitionTypeValuePair$ = [
3,
n0,
_ARPDTVP,
0,
[_tN, _vN],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0], 0],
2
];
exports.AutomatedReasoningPolicyDefinitionVariable$ = [
3,
n0,
_ARPDV,
0,
[_n, _ty, _d],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0], [() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyDefinitionVariableDescription, 0]],
3
];
exports.AutomatedReasoningPolicyDeleteRuleAnnotation$ = [
3,
n0,
_ARPDRA,
0,
[_rI],
[0],
1
];
exports.AutomatedReasoningPolicyDeleteRuleMutation$ = [
3,
n0,
_ARPDRM,
0,
[_i],
[0],
1
];
exports.AutomatedReasoningPolicyDeleteTypeAnnotation$ = [
3,
n0,
_ARPDTA,
0,
[_n],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0]],
1
];
exports.AutomatedReasoningPolicyDeleteTypeMutation$ = [
3,
n0,
_ARPDTM,
0,
[_n],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0]],
1
];
exports.AutomatedReasoningPolicyDeleteTypeValue$ = [
3,
n0,
_ARPDTVu,
0,
[_va],
[0],
1
];
exports.AutomatedReasoningPolicyDeleteVariableAnnotation$ = [
3,
n0,
_ARPDVA,
0,
[_n],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0]],
1
];
exports.AutomatedReasoningPolicyDeleteVariableMutation$ = [
3,
n0,
_ARPDVM,
0,
[_n],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0]],
1
];
exports.AutomatedReasoningPolicyDisjointRuleSet$ = [
3,
n0,
_ARPDRS,
0,
[_vari, _ru],
[[() => AutomatedReasoningPolicyDefinitionVariableNameList, 0], 64 | 0],
2
];
exports.AutomatedReasoningPolicyFidelityReport$ = [
3,
n0,
_ARPFR,
0,
[_cS, _aS, _rR, _vR, _dSo],
[1, 1, [() => AutomatedReasoningPolicyRuleReportMap, 0], [() => AutomatedReasoningPolicyVariableReportMap, 0], [() => AutomatedReasoningPolicyReportSourceDocumentList, 0]],
5
];
exports.AutomatedReasoningPolicyGeneratedTestCase$ = [
3,
n0,
_ARPGTC,
0,
[_qC, _gC, _eAFR],
[[() => AutomatedReasoningPolicyTestQueryContent, 0], [() => AutomatedReasoningPolicyTestGuardContent, 0], 0],
3
];
exports.AutomatedReasoningPolicyGeneratedTestCases$ = [
3,
n0,
_ARPGTCu,
0,
[_gTC],
[[() => AutomatedReasoningPolicyGeneratedTestCaseList, 0]],
1
];
exports.AutomatedReasoningPolicyIngestContentAnnotation$ = [
3,
n0,
_ARPICA,
0,
[_con],
[[() => AutomatedReasoningPolicyAnnotationIngestContent, 0]],
1
];
exports.AutomatedReasoningPolicyPlanning$ = [
3,
n0,
_ARPP,
0,
[],
[]
];
exports.AutomatedReasoningPolicyReportSourceDocument$ = [
3,
n0,
_ARPRSD,
0,
[_dN, _dH, _dI, _aSt, _dC],
[[() => AutomatedReasoningPolicyBuildDocumentName, 0], 0, 0, [() => AutomatedReasoningPolicyAtomicStatementList, 0], [() => AutomatedReasoningPolicyAnnotatedChunkList, 0]],
5
];
exports.AutomatedReasoningPolicyRuleReport$ = [
3,
n0,
_ARPRR,
0,
[_r, _gS, _gJ, _aS, _aJ],
[0, () => AutomatedReasoningPolicyStatementReferenceList, [() => AutomatedReasoningPolicyJustificationList, 0], 1, [() => AutomatedReasoningPolicyJustificationText, 0]],
1
];
exports.AutomatedReasoningPolicyScenario$ = [
3,
n0,
_ARPS,
0,
[_ex, _aE, _eR, _rIu],
[[() => AutomatedReasoningPolicyScenarioExpression, 0], [() => AutomatedReasoningPolicyScenarioAlternateExpression, 0], 0, 64 | 0],
4
];
exports.AutomatedReasoningPolicyScenarios$ = [
3,
n0,
_ARPSu,
0,
[_pS],
[[() => AutomatedReasoningPolicyScenarioList, 0]],
1
];
exports.AutomatedReasoningPolicySourceDocument$ = [
3,
n0,
_ARPSD,
0,
[_do, _dCT, _dN, _dH, _dD],
[[() => AutomatedReasoningPolicyBuildDocumentBlob, 0], 0, [() => AutomatedReasoningPolicyBuildDocumentName, 0], 0, [() => AutomatedReasoningPolicyBuildDocumentDescription, 0]],
4
];
exports.AutomatedReasoningPolicyStatementLocation$ = [
3,
n0,
_ARPSL,
0,
[_li],
[64 | 1],
1
];
exports.AutomatedReasoningPolicyStatementReference$ = [
3,
n0,
_ARPSR,
0,
[_dI, _sI],
[0, 0],
2
];
exports.AutomatedReasoningPolicySummary$ = [
3,
n0,
_ARPSut,
0,
[_pA, _n, _ve, _pI, _cA, _uA, _d],
[0, [() => AutomatedReasoningPolicyName, 0], 0, 0, 5, 5, [() => AutomatedReasoningPolicyDescription, 0]],
6
];
exports.AutomatedReasoningPolicyTestCase$ = [
3,
n0,
_ARPTC,
0,
[_tCI, _gC, _cA, _uA, _qC, _eAFR, _cT],
[0, [() => AutomatedReasoningPolicyTestGuardContent, 0], 5, 5, [() => AutomatedReasoningPolicyTestQueryContent, 0], 0, 1],
4
];
exports.AutomatedReasoningPolicyTestResult$ = [
3,
n0,
_ARPTR,
0,
[_tCe, _pA, _tRS, _uA, _tF, _tRR, _aTFR],
[[() => exports.AutomatedReasoningPolicyTestCase$, 0], 0, 0, 5, [() => AutomatedReasoningCheckFindingList, 0], 0, 0],
4
];
exports.AutomatedReasoningPolicyUpdateFromRuleFeedbackAnnotation$ = [
3,
n0,
_ARPUFRFA,
0,
[_f, _rIu],
[[() => AutomatedReasoningPolicyAnnotationFeedbackNaturalLanguage, 0], 64 | 0],
1
];
exports.AutomatedReasoningPolicyUpdateFromScenarioFeedbackAnnotation$ = [
3,
n0,
_ARPUFSFA,
0,
[_sE, _rIu, _f],
[[() => AutomatedReasoningPolicyScenarioExpression, 0], 64 | 0, [() => AutomatedReasoningPolicyAnnotationFeedbackNaturalLanguage, 0]],
1
];
exports.AutomatedReasoningPolicyUpdateRuleAnnotation$ = [
3,
n0,
_ARPURA,
0,
[_rI, _ex],
[0, [() => AutomatedReasoningPolicyDefinitionRuleExpression, 0]],
2
];
exports.AutomatedReasoningPolicyUpdateRuleMutation$ = [
3,
n0,
_ARPURM,
0,
[_r],
[[() => exports.AutomatedReasoningPolicyDefinitionRule$, 0]],
1
];
exports.AutomatedReasoningPolicyUpdateTypeAnnotation$ = [
3,
n0,
_ARPUTA,
0,
[_n, _v, _nN, _d],
[[() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyTypeValueAnnotationList, 0], [() => AutomatedReasoningPolicyDefinitionTypeName, 0], [() => AutomatedReasoningPolicyDefinitionTypeDescription, 0]],
2
];
exports.AutomatedReasoningPolicyUpdateTypeMutation$ = [
3,
n0,
_ARPUTM,
0,
[_ty],
[[() => exports.AutomatedReasoningPolicyDefinitionType$, 0]],
1
];
exports.AutomatedReasoningPolicyUpdateTypeValue$ = [
3,
n0,
_ARPUTV,
0,
[_va, _nV, _d],
[0, 0, [() => AutomatedReasoningPolicyDefinitionTypeValueDescription, 0]],
1
];
exports.AutomatedReasoningPolicyUpdateVariableAnnotation$ = [
3,
n0,
_ARPUVA,
0,
[_n, _nN, _d],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0], [() => AutomatedReasoningPolicyDefinitionVariableName, 0], [() => AutomatedReasoningPolicyDefinitionVariableDescription, 0]],
1
];
exports.AutomatedReasoningPolicyUpdateVariableMutation$ = [
3,
n0,
_ARPUVM,
0,
[_var],
[[() => exports.AutomatedReasoningPolicyDefinitionVariable$, 0]],
1
];
exports.AutomatedReasoningPolicyVariableReport$ = [
3,
n0,
_ARPVR,
0,
[_pV, _gS, _gJ, _aS, _aJ],
[[() => AutomatedReasoningPolicyDefinitionVariableName, 0], () => AutomatedReasoningPolicyStatementReferenceList, [() => AutomatedReasoningPolicyJustificationList, 0], 1, [() => AutomatedReasoningPolicyJustificationText, 0]],
1
];
exports.BatchDeleteEvaluationJobError$ = [
3,
n0,
_BDEJE,
0,
[_jI, _cod, _m],
[[() => EvaluationJobIdentifier, 0], 0, 0],
2
];
exports.BatchDeleteEvaluationJobItem$ = [
3,
n0,
_BDEJI,
0,
[_jI, _jS],
[[() => EvaluationJobIdentifier, 0], 0],
2
];
exports.BatchDeleteEvaluationJobRequest$ = [
3,
n0,
_BDEJR,
0,
[_jIo],
[[() => EvaluationJobIdentifiers, 0]],
1
];
exports.BatchDeleteEvaluationJobResponse$ = [
3,
n0,
_BDEJRa,
0,
[_er, _eJ],
[[() => BatchDeleteEvaluationJobErrors, 0], [() => BatchDeleteEvaluationJobItems, 0]],
2
];
exports.BedrockEvaluatorModel$ = [
3,
n0,
_BEM,
0,
[_mI],
[0],
1
];
exports.ByteContentDoc$ = [
3,
n0,
_BCD,
0,
[_id, _cTo, _da],
[[() => Identifier, 0], 0, [() => ByteContentBlob, 0]],
3
];
exports.CancelAutomatedReasoningPolicyBuildWorkflowRequest$ = [
3,
n0,
_CARPBWR,
0,
[_pA, _bWI],
[[0, 1], [0, 1]],
2
];
exports.CancelAutomatedReasoningPolicyBuildWorkflowResponse$ = [
3,
n0,
_CARPBWRa,
0,
[],
[]
];
exports.CloudWatchConfig$ = [
3,
n0,
_CWC,
0,
[_lGN, _rA, _lDDSC],
[0, 0, () => exports.S3Config$],
2
];
exports.CreateAutomatedReasoningPolicyRequest$ = [
3,
n0,
_CARPR,
0,
[_n, _d, _cRT, _pD, _kKI, _ta],
[[() => AutomatedReasoningPolicyName, 0], [() => AutomatedReasoningPolicyDescription, 0], [0, 4], [() => exports.AutomatedReasoningPolicyDefinition$, 0], 0, () => TagList],
1
];
exports.CreateAutomatedReasoningPolicyResponse$ = [
3,
n0,
_CARPRr,
0,
[_pA, _ve, _n, _cA, _uA, _d, _dHe],
[0, 0, [() => AutomatedReasoningPolicyName, 0], 5, 5, [() => AutomatedReasoningPolicyDescription, 0], 0],
5
];
exports.CreateAutomatedReasoningPolicyTestCaseRequest$ = [
3,
n0,
_CARPTCR,
0,
[_pA, _gC, _eAFR, _qC, _cRT, _cT],
[[0, 1], [() => AutomatedReasoningPolicyTestGuardContent, 0], 0, [() => AutomatedReasoningPolicyTestQueryContent, 0], [0, 4], 1],
3
];
exports.CreateAutomatedReasoningPolicyTestCaseResponse$ = [
3,
n0,
_CARPTCRr,
0,
[_pA, _tCI],
[0, 0],
2
];
exports.CreateAutomatedReasoningPolicyVersionRequest$ = [
3,
n0,
_CARPVR,
0,
[_pA, _lUDH, _cRT, _ta],
[[0, 1], 0, [0, 4], () => TagList],
2
];
exports.CreateAutomatedReasoningPolicyVersionResponse$ = [
3,
n0,
_CARPVRr,
0,
[_pA, _ve, _n, _dHe, _cA, _d],
[0, 0, [() => AutomatedReasoningPolicyName, 0], 0, 5, [() => AutomatedReasoningPolicyDescription, 0]],
5
];
exports.CreateCustomModelDeploymentRequest$ = [
3,
n0,
_CCMDR,
0,
[_mDN, _mA, _d, _ta, _cRT],
[0, 0, 0, () => TagList, [0, 4]],
2
];
exports.CreateCustomModelDeploymentResponse$ = [
3,
n0,
_CCMDRr,
0,
[_cMDA],
[0],
1
];
exports.CreateCustomModelRequest$ = [
3,
n0,
_CCMR,
0,
[_mN, _mSC, _mKKA, _rA, _mTo, _cRT],
[0, () => exports.ModelDataSource$, 0, 0, () => TagList, [0, 4]],
2
];
exports.CreateCustomModelResponse$ = [
3,
n0,
_CCMRr,
0,
[_mA],
[0],
1
];
exports.CreateEvaluationJobRequest$ = [
3,
n0,
_CEJR,
0,
[_jN, _rA, _eC, _iC, _oDC, _jD, _cRT, _cEKI, _jT, _aTp],
[0, 0, [() => exports.EvaluationConfig$, 0], [() => exports.EvaluationInferenceConfig$, 0], () => exports.EvaluationOutputDataConfig$, [() => EvaluationJobDescription, 0], [0, 4], 0, () => TagList, 0],
5
];
exports.CreateEvaluationJobResponse$ = [
3,
n0,
_CEJRr,
0,
[_jA],
[0],
1
];
exports.CreateFoundationModelAgreementRequest$ = [
3,
n0,
_CFMAR,
0,
[_oT, _mIo],
[0, 0],
2
];
exports.CreateFoundationModelAgreementResponse$ = [
3,
n0,
_CFMARr,
0,
[_mIo],
[0],
1
];
exports.CreateGuardrailRequest$ = [
3,
n0,
_CGR,
0,
[_n, _bIM, _bOM, _d, _tPC, _cPC, _wPC, _sIPC, _cGPC, _aRPC, _cRC, _kKI, _ta, _cRT],
[[() => GuardrailName, 0], [() => GuardrailBlockedMessaging, 0], [() => GuardrailBlockedMessaging, 0], [() => GuardrailDescription, 0], [() => exports.GuardrailTopicPolicyConfig$, 0], [() => exports.GuardrailContentPolicyConfig$, 0], [() => exports.GuardrailWordPolicyConfig$, 0], () => exports.GuardrailSensitiveInformationPolicyConfig$, [() => exports.GuardrailContextualGroundingPolicyConfig$, 0], () => exports.GuardrailAutomatedReasoningPolicyConfig$, () => exports.GuardrailCrossRegionConfig$, 0, () => TagList, [0, 4]],
3
];
exports.CreateGuardrailResponse$ = [
3,
n0,
_CGRr,
0,
[_gIu, _gA, _ve, _cA],
[0, 0, 0, 5],
4
];
exports.CreateGuardrailVersionRequest$ = [
3,
n0,
_CGVR,
0,
[_gI, _d, _cRT],
[[0, 1], [() => GuardrailDescription, 0], [0, 4]],
1
];
exports.CreateGuardrailVersionResponse$ = [
3,
n0,
_CGVRr,
0,
[_gIu, _ve],
[0, 0],
2
];
exports.CreateInferenceProfileRequest$ = [
3,
n0,
_CIPR,
0,
[_iPN, _mS, _d, _cRT, _ta],
[0, () => exports.InferenceProfileModelSource$, [() => InferenceProfileDescription, 0], [0, 4], () => TagList],
2
];
exports.CreateInferenceProfileResponse$ = [
3,
n0,
_CIPRr,
0,
[_iPA, _st],
[0, 0],
1
];
exports.CreateMarketplaceModelEndpointRequest$ = [
3,
n0,
_CMMER,
0,
[_mSI, _eCn, _eN, _aEc, _cRT, _ta],
[0, () => exports.EndpointConfig$, 0, 2, [0, 4], () => TagList],
3
];
exports.CreateMarketplaceModelEndpointResponse$ = [
3,
n0,
_CMMERr,
0,
[_mME],
[() => exports.MarketplaceModelEndpoint$],
1
];
exports.CreateModelCopyJobRequest$ = [
3,
n0,
_CMCJR,
0,
[_sMA, _tMN, _mKKI, _tMT, _cRT],
[0, 0, 0, () => TagList, [0, 4]],
2
];
exports.CreateModelCopyJobResponse$ = [
3,
n0,
_CMCJRr,
0,
[_jA],
[0],
1
];
exports.CreateModelCustomizationJobRequest$ = [
3,
n0,
_CMCJRre,
0,
[_jN, _cMN, _rA, _bMI, _tDC, _oDC, _cRT, _cTu, _cMKKI, _jT, _cMT, _vDC, _hP, _vCp, _cC],
[0, 0, 0, 0, [() => exports.TrainingDataConfig$, 0], () => exports.OutputDataConfig$, [0, 4], 0, 0, () => TagList, () => TagList, () => exports.ValidationDataConfig$, 128 | 0, () => exports.VpcConfig$, () => exports.CustomizationConfig$],
6
];
exports.CreateModelCustomizationJobResponse$ = [
3,
n0,
_CMCJRrea,
0,
[_jA],
[0],
1
];
exports.CreateModelImportJobRequest$ = [
3,
n0,
_CMIJR,
0,
[_jN, _iMN, _rA, _mDS, _jT, _iMT, _cRT, _vCp, _iMKKI],
[0, 0, 0, () => exports.ModelDataSource$, () => TagList, () => TagList, 0, () => exports.VpcConfig$, 0],
4
];
exports.CreateModelImportJobResponse$ = [
3,
n0,
_CMIJRr,
0,
[_jA],
[0],
1
];
exports.CreateModelInvocationJobRequest$ = [
3,
n0,
_CMIJRre,
0,
[_jN, _rA, _mIo, _iDC, _oDC, _cRT, _vCp, _tDIH, _ta, _mIT],
[0, 0, 0, () => exports.ModelInvocationJobInputDataConfig$, () => exports.ModelInvocationJobOutputDataConfig$, [0, 4], () => exports.VpcConfig$, 1, () => TagList, 0],
5
];
exports.CreateModelInvocationJobResponse$ = [
3,
n0,
_CMIJRrea,
0,
[_jA],
[0],
1
];
exports.CreatePromptRouterRequest$ = [
3,
n0,
_CPRR,
0,
[_pRN, _mo, _rCo, _fM, _cRT, _d, _ta],
[0, () => PromptRouterTargetModels, () => exports.RoutingCriteria$, () => exports.PromptRouterTargetModel$, [0, 4], [() => PromptRouterDescription, 0], () => TagList],
4
];
exports.CreatePromptRouterResponse$ = [
3,
n0,
_CPRRr,
0,
[_pRA],
[0]
];
exports.CreateProvisionedModelThroughputRequest$ = [
3,
n0,
_CPMTR,
0,
[_mU, _pMN, _mIo, _cRT, _cD, _ta],
[1, 0, 0, [0, 4], 0, () => TagList],
3
];
exports.CreateProvisionedModelThroughputResponse$ = [
3,
n0,
_CPMTRr,
0,
[_pMA],
[0],
1
];
exports.CustomMetricBedrockEvaluatorModel$ = [
3,
n0,
_CMBEM,
0,
[_mI],
[0],
1
];
exports.CustomMetricDefinition$ = [
3,
n0,
_CMD,
8,
[_n, _in, _rS],
[[() => MetricName, 0], 0, () => RatingScale],
2
];
exports.CustomMetricEvaluatorModelConfig$ = [
3,
n0,
_CMEMC,
0,
[_bEM],
[() => CustomMetricBedrockEvaluatorModels],
1
];
exports.CustomModelDeploymentSummary$ = [
3,
n0,
_CMDS,
0,
[_cMDA, _cMDN, _mA, _cA, _st, _lUA, _fMa],
[0, 0, 0, 5, 0, 5, 0],
5
];
exports.CustomModelDeploymentUpdateDetails$ = [
3,
n0,
_CMDUD,
0,
[_mA, _uS],
[0, 0],
2
];
exports.CustomModelSummary$ = [
3,
n0,
_CMS,
0,
[_mA, _mN, _cTr, _bMA, _bMN, _cTu, _oAI, _mSo],
[0, 0, 5, 0, 0, 0, 0, 0],
5
];
exports.CustomModelUnits$ = [
3,
n0,
_CMU,
0,
[_cMUPMC, _cMUV],
[1, 0]
];
exports.DataProcessingDetails$ = [
3,
n0,
_DPD,
0,
[_st, _cTr, _lMT],
[0, 5, 5]
];
exports.DeleteAutomatedReasoningPolicyBuildWorkflowRequest$ = [
3,
n0,
_DARPBWR,
0,
[_pA, _bWI, _lUA],
[[0, 1], [0, 1], [5, { [_hQ]: _uA }]],
3
];
exports.DeleteAutomatedReasoningPolicyBuildWorkflowResponse$ = [
3,
n0,
_DARPBWRe,
0,
[],
[]
];
exports.DeleteAutomatedReasoningPolicyRequest$ = [
3,
n0,
_DARPR,
0,
[_pA, _fo],
[[0, 1], [2, { [_hQ]: _fo }]],
1
];
exports.DeleteAutomatedReasoningPolicyResponse$ = [
3,
n0,
_DARPRe,
0,
[],
[]
];
exports.DeleteAutomatedReasoningPolicyTestCaseRequest$ = [
3,
n0,
_DARPTCR,
0,
[_pA, _tCI, _lUA],
[[0, 1], [0, 1], [5, { [_hQ]: _uA }]],
3
];
exports.DeleteAutomatedReasoningPolicyTestCaseResponse$ = [
3,
n0,
_DARPTCRe,
0,
[],
[]
];
exports.DeleteCustomModelDeploymentRequest$ = [
3,
n0,
_DCMDR,
0,
[_cMDI],
[[0, 1]],
1
];
exports.DeleteCustomModelDeploymentResponse$ = [
3,
n0,
_DCMDRe,
0,
[],
[]
];
exports.DeleteCustomModelRequest$ = [
3,
n0,
_DCMR,
0,
[_mI],
[[0, 1]],
1
];
exports.DeleteCustomModelResponse$ = [
3,
n0,
_DCMRe,
0,
[],
[]
];
exports.DeleteEnforcedGuardrailConfigurationRequest$ = [
3,
n0,
_DEGCR,
0,
[_cI],
[[0, 1]],
1
];
exports.DeleteEnforcedGuardrailConfigurationResponse$ = [
3,
n0,
_DEGCRe,
0,
[],
[]
];
exports.DeleteFoundationModelAgreementRequest$ = [
3,
n0,
_DFMAR,
0,
[_mIo],
[0],
1
];
exports.DeleteFoundationModelAgreementResponse$ = [
3,
n0,
_DFMARe,
0,
[],
[]
];
exports.DeleteGuardrailRequest$ = [
3,
n0,
_DGR,
0,
[_gI, _gV],
[[0, 1], [0, { [_hQ]: _gV }]],
1
];
exports.DeleteGuardrailResponse$ = [
3,
n0,
_DGRe,
0,
[],
[]
];
exports.DeleteImportedModelRequest$ = [
3,
n0,
_DIMR,
0,
[_mI],
[[0, 1]],
1
];
exports.DeleteImportedModelResponse$ = [
3,
n0,
_DIMRe,
0,
[],
[]
];
exports.DeleteInferenceProfileRequest$ = [
3,
n0,
_DIPR,
0,
[_iPI],
[[0, 1]],
1
];
exports.DeleteInferenceProfileResponse$ = [
3,
n0,
_DIPRe,
0,
[],
[]
];
exports.DeleteMarketplaceModelEndpointRequest$ = [
3,
n0,
_DMMER,
0,
[_eA],
[[0, 1]],
1
];
exports.DeleteMarketplaceModelEndpointResponse$ = [
3,
n0,
_DMMERe,
0,
[],
[]
];
exports.DeleteModelInvocationLoggingConfigurationRequest$ = [
3,
n0,
_DMILCR,
0,
[],
[]
];
exports.DeleteModelInvocationLoggingConfigurationResponse$ = [
3,
n0,
_DMILCRe,
0,
[],
[]
];
exports.DeletePromptRouterRequest$ = [
3,
n0,
_DPRR,
0,
[_pRA],
[[0, 1]],
1
];
exports.DeletePromptRouterResponse$ = [
3,
n0,
_DPRRe,
0,
[],
[]
];
exports.DeleteProvisionedModelThroughputRequest$ = [
3,
n0,
_DPMTR,
0,
[_pMI],
[[0, 1]],
1
];
exports.DeleteProvisionedModelThroughputResponse$ = [
3,
n0,
_DPMTRe,
0,
[],
[]
];
exports.DeregisterMarketplaceModelEndpointRequest$ = [
3,
n0,
_DMMERer,
0,
[_eA],
[[0, 1]],
1
];
exports.DeregisterMarketplaceModelEndpointResponse$ = [
3,
n0,
_DMMERere,
0,
[],
[]
];
exports.DimensionalPriceRate$ = [
3,
n0,
_DPR,
0,
[_di, _pr, _d, _u],
[0, 0, 0, 0]
];
exports.DistillationConfig$ = [
3,
n0,
_DC,
0,
[_tMC],
[() => exports.TeacherModelConfig$],
1
];
exports.EvaluationBedrockModel$ = [
3,
n0,
_EBM,
0,
[_mI, _iP, _pC],
[0, [() => EvaluationModelInferenceParams, 0], () => exports.PerformanceConfiguration$],
1
];
exports.EvaluationDataset$ = [
3,
n0,
_ED,
0,
[_n, _dL],
[[() => EvaluationDatasetName, 0], () => exports.EvaluationDatasetLocation$],
1
];
exports.EvaluationDatasetMetricConfig$ = [
3,
n0,
_EDMC,
0,
[_tT, _dat, _mNe],
[0, [() => exports.EvaluationDataset$, 0], [() => EvaluationMetricNames, 0]],
3
];
exports.EvaluationInferenceConfigSummary$ = [
3,
n0,
_EICS,
0,
[_mCS, _rCS],
[() => exports.EvaluationModelConfigSummary$, () => exports.EvaluationRagConfigSummary$]
];
exports.EvaluationModelConfigSummary$ = [
3,
n0,
_EMCS,
0,
[_bMIe, _pISI],
[64 | 0, 64 | 0]
];
exports.EvaluationOutputDataConfig$ = [
3,
n0,
_EODC,
0,
[_sU],
[0],
1
];
exports.EvaluationPrecomputedInferenceSource$ = [
3,
n0,
_EPIS,
0,
[_iSI],
[0],
1
];
exports.EvaluationPrecomputedRetrieveAndGenerateSourceConfig$ = [
3,
n0,
_EPRAGSC,
0,
[_rSI],
[0],
1
];
exports.EvaluationPrecomputedRetrieveSourceConfig$ = [
3,
n0,
_EPRSC,
0,
[_rSI],
[0],
1
];
exports.EvaluationRagConfigSummary$ = [
3,
n0,
_ERCS,
0,
[_bKBI, _pRSI],
[64 | 0, 64 | 0]
];
exports.EvaluationSummary$ = [
3,
n0,
_ES,
0,
[_jA, _jN, _st, _cTr, _jTo, _eTT, _mIod, _rIa, _eMI, _cMEMI, _iCS, _aTp],
[0, 0, 0, 5, 0, 64 | 0, 64 | 0, 64 | 0, 64 | 0, 64 | 0, () => exports.EvaluationInferenceConfigSummary$, 0],
6
];
exports.ExportAutomatedReasoningPolicyVersionRequest$ = [
3,
n0,
_EARPVR,
0,
[_pA],
[[0, 1]],
1
];
exports.ExportAutomatedReasoningPolicyVersionResponse$ = [
3,
n0,
_EARPVRx,
0,
[_pD],
[[() => exports.AutomatedReasoningPolicyDefinition$, 16]],
1
];
exports.ExternalSource$ = [
3,
n0,
_ESx,
0,
[_sT, _sL, _bC],
[0, () => exports.S3ObjectDoc$, [() => exports.ByteContentDoc$, 0]],
1
];
exports.ExternalSourcesGenerationConfiguration$ = [
3,
n0,
_ESGC,
0,
[_pT, _gCu, _kIC, _aMRF],
[[() => exports.PromptTemplate$, 0], () => exports.GuardrailConfiguration$, () => exports.KbInferenceConfig$, 128 | 15]
];
exports.ExternalSourcesRetrieveAndGenerateConfiguration$ = [
3,
n0,
_ESRAGC,
0,
[_mA, _so, _gCe],
[0, [() => ExternalSources, 0], [() => exports.ExternalSourcesGenerationConfiguration$, 0]],
2
];
exports.FieldForReranking$ = [
3,
n0,
_FFR,
0,
[_fN],
[0],
1
];
exports.FilterAttribute$ = [
3,
n0,
_FA,
0,
[_k, _va],
[0, 15],
2
];
exports.FoundationModelDetails$ = [
3,
n0,
_FMD,
0,
[_mA, _mIo, _mN, _pNr, _iM, _oM, _rSS, _cSu, _iTS, _mL],
[0, 0, 0, 0, 64 | 0, 64 | 0, 2, 64 | 0, 64 | 0, () => exports.FoundationModelLifecycle$],
2
];
exports.FoundationModelLifecycle$ = [
3,
n0,
_FML,
0,
[_st, _sOLT, _eOLT, _lTe, _pEAT],
[0, 5, 5, 5, 5],
1
];
exports.FoundationModelSummary$ = [
3,
n0,
_FMS,
0,
[_mA, _mIo, _mN, _pNr, _iM, _oM, _rSS, _cSu, _iTS, _mL],
[0, 0, 0, 0, 64 | 0, 64 | 0, 2, 64 | 0, 64 | 0, () => exports.FoundationModelLifecycle$],
2
];
exports.GenerationConfiguration$ = [
3,
n0,
_GC,
0,
[_pT, _gCu, _kIC, _aMRF],
[[() => exports.PromptTemplate$, 0], () => exports.GuardrailConfiguration$, () => exports.KbInferenceConfig$, 128 | 15]
];
exports.GetAutomatedReasoningPolicyAnnotationsRequest$ = [
3,
n0,
_GARPAR,
0,
[_pA, _bWI],
[[0, 1], [0, 1]],
2
];
exports.GetAutomatedReasoningPolicyAnnotationsResponse$ = [
3,
n0,
_GARPARe,
0,
[_pA, _n, _bWI, _an, _aSH, _uA],
[0, [() => AutomatedReasoningPolicyName, 0], 0, [() => AutomatedReasoningPolicyAnnotationList, 0], 0, 5],
6
];
exports.GetAutomatedReasoningPolicyBuildWorkflowRequest$ = [
3,
n0,
_GARPBWR,
0,
[_pA, _bWI],
[[0, 1], [0, 1]],
2
];
exports.GetAutomatedReasoningPolicyBuildWorkflowResponse$ = [
3,
n0,
_GARPBWRe,
0,
[_pA, _bWI, _st, _bWT, _cA, _uA, _dN, _dCT, _dD],
[0, 0, 0, 0, 5, 5, [() => AutomatedReasoningPolicyBuildDocumentName, 0], 0, [() => AutomatedReasoningPolicyBuildDocumentDescription, 0]],
6
];
exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsRequest$ = [
3,
n0,
_GARPBWRAR,
0,
[_pA, _bWI, _aT, _aI],
[[0, 1], [0, 1], [0, { [_hQ]: _aT }], [0, { [_hQ]: _aI }]],
3
];
exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsResponse$ = [
3,
n0,
_GARPBWRARe,
0,
[_pA, _bWI, _bWA],
[0, 0, [() => exports.AutomatedReasoningPolicyBuildResultAssets$, 0]],
2
];
exports.GetAutomatedReasoningPolicyNextScenarioRequest$ = [
3,
n0,
_GARPNSR,
0,
[_pA, _bWI],
[[0, 1], [0, 1]],
2
];
exports.GetAutomatedReasoningPolicyNextScenarioResponse$ = [
3,
n0,
_GARPNSRe,
0,
[_pA, _sc],
[0, [() => exports.AutomatedReasoningPolicyScenario$, 0]],
1
];
exports.GetAutomatedReasoningPolicyRequest$ = [
3,
n0,
_GARPR,
0,
[_pA],
[[0, 1]],
1
];
exports.GetAutomatedReasoningPolicyResponse$ = [
3,
n0,
_GARPRe,
0,
[_pA, _n, _ve, _pI, _dHe, _uA, _d, _kKA, _cA],
[0, [() => AutomatedReasoningPolicyName, 0], 0, 0, 0, 5, [() => AutomatedReasoningPolicyDescription, 0], 0, 5],
6
];
exports.GetAutomatedReasoningPolicyTestCaseRequest$ = [
3,
n0,
_GARPTCR,
0,
[_pA, _tCI],
[[0, 1], [0, 1]],
2
];
exports.GetAutomatedReasoningPolicyTestCaseResponse$ = [
3,
n0,
_GARPTCRe,
0,
[_pA, _tCe],
[0, [() => exports.AutomatedReasoningPolicyTestCase$, 0]],
2
];
exports.GetAutomatedReasoningPolicyTestResultRequest$ = [
3,
n0,
_GARPTRR,
0,
[_pA, _bWI, _tCI],
[[0, 1], [0, 1], [0, 1]],
3
];
exports.GetAutomatedReasoningPolicyTestResultResponse$ = [
3,
n0,
_GARPTRRe,
0,
[_tR],
[[() => exports.AutomatedReasoningPolicyTestResult$, 0]],
1
];
exports.GetCustomModelDeploymentRequest$ = [
3,
n0,
_GCMDR,
0,
[_cMDI],
[[0, 1]],
1
];
exports.GetCustomModelDeploymentResponse$ = [
3,
n0,
_GCMDRe,
0,
[_cMDA, _mDN, _mA, _cA, _st, _d, _uD, _fMa, _lUA],
[0, 0, 0, 5, 0, 0, () => exports.CustomModelDeploymentUpdateDetails$, 0, 5],
5
];
exports.GetCustomModelRequest$ = [
3,
n0,
_GCMR,
0,
[_mI],
[[0, 1]],
1
];
exports.GetCustomModelResponse$ = [
3,
n0,
_GCMRe,
0,
[_mA, _mN, _cTr, _jN, _jA, _bMA, _cTu, _mKKA, _hP, _tDC, _vDC, _oDC, _tM, _vM, _cC, _mSo, _fMa],
[0, 0, 5, 0, 0, 0, 0, 0, 128 | 0, [() => exports.TrainingDataConfig$, 0], () => exports.ValidationDataConfig$, () => exports.OutputDataConfig$, () => exports.TrainingMetrics$, () => ValidationMetrics, () => exports.CustomizationConfig$, 0, 0],
3
];
exports.GetEvaluationJobRequest$ = [
3,
n0,
_GEJR,
0,
[_jI],
[[() => EvaluationJobIdentifier, 1]],
1
];
exports.GetEvaluationJobResponse$ = [
3,
n0,
_GEJRe,
0,
[_jN, _st, _jA, _rA, _jTo, _eC, _iC, _oDC, _cTr, _jD, _cEKI, _aTp, _lMT, _fMai],
[0, 0, 0, 0, 0, [() => exports.EvaluationConfig$, 0], [() => exports.EvaluationInferenceConfig$, 0], () => exports.EvaluationOutputDataConfig$, 5, [() => EvaluationJobDescription, 0], 0, 0, 5, 64 | 0],
9
];
exports.GetFoundationModelAvailabilityRequest$ = [
3,
n0,
_GFMAR,
0,
[_mIo],
[[0, 1]],
1
];
exports.GetFoundationModelAvailabilityResponse$ = [
3,
n0,
_GFMARe,
0,
[_mIo, _aA, _aSu, _eAn, _rAe],
[0, () => exports.AgreementAvailability$, 0, 0, 0],
5
];
exports.GetFoundationModelRequest$ = [
3,
n0,
_GFMR,
0,
[_mI],
[[0, 1]],
1
];
exports.GetFoundationModelResponse$ = [
3,
n0,
_GFMRe,
0,
[_mD],
[() => exports.FoundationModelDetails$]
];
exports.GetGuardrailRequest$ = [
3,
n0,
_GGR,
0,
[_gI, _gV],
[[0, 1], [0, { [_hQ]: _gV }]],
1
];
exports.GetGuardrailResponse$ = [
3,
n0,
_GGRe,
0,
[_n, _gIu, _gA, _ve, _st, _cA, _uA, _bIM, _bOM, _d, _tP, _cP, _wP, _sIP, _cGP, _aRP, _cRD, _sRt, _fR, _kKA],
[[() => GuardrailName, 0], 0, 0, 0, 0, 5, 5, [() => GuardrailBlockedMessaging, 0], [() => GuardrailBlockedMessaging, 0], [() => GuardrailDescription, 0], [() => exports.GuardrailTopicPolicy$, 0], [() => exports.GuardrailContentPolicy$, 0], [() => exports.GuardrailWordPolicy$, 0], () => exports.GuardrailSensitiveInformationPolicy$, [() => exports.GuardrailContextualGroundingPolicy$, 0], () => exports.GuardrailAutomatedReasoningPolicy$, () => exports.GuardrailCrossRegionDetails$, [() => GuardrailStatusReasons, 0], [() => GuardrailFailureRecommendations, 0], 0],
9
];
exports.GetImportedModelRequest$ = [
3,
n0,
_GIMR,
0,
[_mI],
[[0, 1]],
1
];
exports.GetImportedModelResponse$ = [
3,
n0,
_GIMRe,
0,
[_mA, _mN, _jN, _jA, _mDS, _cTr, _mAo, _mKKA, _iS, _cMU],
[0, 0, 0, 0, () => exports.ModelDataSource$, 5, 0, 0, 2, () => exports.CustomModelUnits$]
];
exports.GetInferenceProfileRequest$ = [
3,
n0,
_GIPR,
0,
[_iPI],
[[0, 1]],
1
];
exports.GetInferenceProfileResponse$ = [
3,
n0,
_GIPRe,
0,
[_iPN, _iPA, _mo, _iPIn, _st, _ty, _d, _cA, _uA],
[0, 0, () => InferenceProfileModels, 0, 0, 0, [() => InferenceProfileDescription, 0], 5, 5],
6
];
exports.GetMarketplaceModelEndpointRequest$ = [
3,
n0,
_GMMER,
0,
[_eA],
[[0, 1]],
1
];
exports.GetMarketplaceModelEndpointResponse$ = [
3,
n0,
_GMMERe,
0,
[_mME],
[() => exports.MarketplaceModelEndpoint$]
];
exports.GetModelCopyJobRequest$ = [
3,
n0,
_GMCJR,
0,
[_jA],
[[0, 1]],
1
];
exports.GetModelCopyJobResponse$ = [
3,
n0,
_GMCJRe,
0,
[_jA, _st, _cTr, _tMA, _sAI, _sMA, _tMN, _tMKKA, _tMT, _fMa, _sMN],
[0, 0, 5, 0, 0, 0, 0, 0, () => TagList, 0, 0],
6
];
exports.GetModelCustomizationJobRequest$ = [
3,
n0,
_GMCJRet,
0,
[_jI],
[[0, 1]],
1
];
exports.GetModelCustomizationJobResponse$ = [
3,
n0,
_GMCJReto,
0,
[_jA, _jN, _oMN, _rA, _cTr, _bMA, _tDC, _vDC, _oDC, _oMA, _cRT, _st, _sD, _fMa, _lMT, _eT, _hP, _cTu, _oMKKA, _tM, _vM, _vCp, _cC],
[0, 0, 0, 0, 5, 0, [() => exports.TrainingDataConfig$, 0], () => exports.ValidationDataConfig$, () => exports.OutputDataConfig$, 0, 0, 0, () => exports.StatusDetails$, 0, 5, 5, 128 | 0, 0, 0, () => exports.TrainingMetrics$, () => ValidationMetrics, () => exports.VpcConfig$, () => exports.CustomizationConfig$],
9
];
exports.GetModelImportJobRequest$ = [
3,
n0,
_GMIJR,
0,
[_jI],
[[0, 1]],
1
];
exports.GetModelImportJobResponse$ = [
3,
n0,
_GMIJRe,
0,
[_jA, _jN, _iMN, _iMA, _rA, _mDS, _st, _fMa, _cTr, _lMT, _eT, _vCp, _iMKKA],
[0, 0, 0, 0, 0, () => exports.ModelDataSource$, 0, 0, 5, 5, 5, () => exports.VpcConfig$, 0]
];
exports.GetModelInvocationJobRequest$ = [
3,
n0,
_GMIJRet,
0,
[_jI],
[[0, 1]],
1
];
exports.GetModelInvocationJobResponse$ = [
3,
n0,
_GMIJReto,
0,
[_jA, _mIo, _rA, _sTu, _iDC, _oDC, _jN, _cRT, _st, _m, _lMT, _eT, _vCp, _tDIH, _jET, _mIT],
[0, 0, 0, 5, () => exports.ModelInvocationJobInputDataConfig$, () => exports.ModelInvocationJobOutputDataConfig$, 0, 0, 0, [() => Message, 0], 5, 5, () => exports.VpcConfig$, 1, 5, 0],
6
];
exports.GetModelInvocationLoggingConfigurationRequest$ = [
3,
n0,
_GMILCR,
0,
[],
[]
];
exports.GetModelInvocationLoggingConfigurationResponse$ = [
3,
n0,
_GMILCRe,
0,
[_lC],
[() => exports.LoggingConfig$]
];
exports.GetPromptRouterRequest$ = [
3,
n0,
_GPRR,
0,
[_pRA],
[[0, 1]],
1
];
exports.GetPromptRouterResponse$ = [
3,
n0,
_GPRRe,
0,
[_pRN, _rCo, _pRA, _mo, _fM, _st, _ty, _d, _cA, _uA],
[0, () => exports.RoutingCriteria$, 0, () => PromptRouterTargetModels, () => exports.PromptRouterTargetModel$, 0, 0, [() => PromptRouterDescription, 0], 5, 5],
7
];
exports.GetProvisionedModelThroughputRequest$ = [
3,
n0,
_GPMTR,
0,
[_pMI],
[[0, 1]],
1
];
exports.GetProvisionedModelThroughputResponse$ = [
3,
n0,
_GPMTRe,
0,
[_mU, _dMU, _pMN, _pMA, _mA, _dMA, _fMA, _st, _cTr, _lMT, _fMa, _cD, _cET],
[1, 1, 0, 0, 0, 0, 0, 0, 5, 5, 0, 0, 5],
10
];
exports.GetUseCaseForModelAccessRequest$ = [
3,
n0,
_GUCFMAR,
0,
[],
[]
];
exports.GetUseCaseForModelAccessResponse$ = [
3,
n0,
_GUCFMARe,
0,
[_fD],
[21],
1
];
exports.GuardrailAutomatedReasoningPolicy$ = [
3,
n0,
_GARP,
0,
[_po, _cT],
[64 | 0, 1],
1
];
exports.GuardrailAutomatedReasoningPolicyConfig$ = [
3,
n0,
_GARPC,
0,
[_po, _cT],
[64 | 0, 1],
1
];
exports.GuardrailConfiguration$ = [
3,
n0,
_GCu,
0,
[_gIu, _gV],
[0, 0],
2
];
exports.GuardrailContentFilter$ = [
3,
n0,
_GCF,
0,
[_ty, _iSn, _oS, _iM, _oM, _iA, _oA, _iE, _oE],
[0, 0, 0, [() => GuardrailModalities, 0], [() => GuardrailModalities, 0], [() => GuardrailContentFilterAction, 0], [() => GuardrailContentFilterAction, 0], 2, 2],
3
];
exports.GuardrailContentFilterConfig$ = [
3,
n0,
_GCFC,
0,
[_ty, _iSn, _oS, _iM, _oM, _iA, _oA, _iE, _oE],
[0, 0, 0, [() => GuardrailModalities, 0], [() => GuardrailModalities, 0], [() => GuardrailContentFilterAction, 0], [() => GuardrailContentFilterAction, 0], 2, 2],
3
];
exports.GuardrailContentFiltersTier$ = [
3,
n0,
_GCFT,
0,
[_tNi],
[[() => GuardrailContentFiltersTierName, 0]],
1
];
exports.GuardrailContentFiltersTierConfig$ = [
3,
n0,
_GCFTC,
0,
[_tNi],
[[() => GuardrailContentFiltersTierName, 0]],
1
];
exports.GuardrailContentPolicy$ = [
3,
n0,
_GCP,
0,
[_fi, _ti],
[[() => GuardrailContentFilters, 0], [() => exports.GuardrailContentFiltersTier$, 0]]
];
exports.GuardrailContentPolicyConfig$ = [
3,
n0,
_GCPC,
0,
[_fC, _tCi],
[[() => GuardrailContentFiltersConfig, 0], [() => exports.GuardrailContentFiltersTierConfig$, 0]],
1
];
exports.GuardrailContextualGroundingFilter$ = [
3,
n0,
_GCGF,
0,
[_ty, _th, _ac, _ena],
[0, 1, [() => GuardrailContextualGroundingAction, 0], 2],
2
];
exports.GuardrailContextualGroundingFilterConfig$ = [
3,
n0,
_GCGFC,
0,
[_ty, _th, _ac, _ena],
[0, 1, [() => GuardrailContextualGroundingAction, 0], 2],
2
];
exports.GuardrailContextualGroundingPolicy$ = [
3,
n0,
_GCGP,
0,
[_fi],
[[() => GuardrailContextualGroundingFilters, 0]],
1
];
exports.GuardrailContextualGroundingPolicyConfig$ = [
3,
n0,
_GCGPC,
0,
[_fC],
[[() => GuardrailContextualGroundingFiltersConfig, 0]],
1
];
exports.GuardrailCrossRegionConfig$ = [
3,
n0,
_GCRC,
0,
[_gPI],
[0],
1
];
exports.GuardrailCrossRegionDetails$ = [
3,
n0,
_GCRD,
0,
[_gPIu, _gPA],
[0, 0]
];
exports.GuardrailManagedWords$ = [
3,
n0,
_GMW,
0,
[_ty, _iA, _oA, _iE, _oE],
[0, [() => GuardrailWordAction, 0], [() => GuardrailWordAction, 0], 2, 2],
1
];
exports.GuardrailManagedWordsConfig$ = [
3,
n0,
_GMWC,
0,
[_ty, _iA, _oA, _iE, _oE],
[0, [() => GuardrailWordAction, 0], [() => GuardrailWordAction, 0], 2, 2],
1
];
exports.GuardrailPiiEntity$ = [
3,
n0,
_GPE,
0,
[_ty, _ac, _iA, _oA, _iE, _oE],
[0, 0, 0, 0, 2, 2],
2
];
exports.GuardrailPiiEntityConfig$ = [
3,
n0,
_GPEC,
0,
[_ty, _ac, _iA, _oA, _iE, _oE],
[0, 0, 0, 0, 2, 2],
2
];
exports.GuardrailRegex$ = [
3,
n0,
_GR,
0,
[_n, _pa, _ac, _d, _iA, _oA, _iE, _oE],
[0, 0, 0, 0, 0, 0, 2, 2],
3
];
exports.GuardrailRegexConfig$ = [
3,
n0,
_GRC,
0,
[_n, _pa, _ac, _d, _iA, _oA, _iE, _oE],
[0, 0, 0, 0, 0, 0, 2, 2],
3
];
exports.GuardrailSensitiveInformationPolicy$ = [
3,
n0,
_GSIP,
0,
[_pEi, _re],
[() => GuardrailPiiEntities, () => GuardrailRegexes]
];
exports.GuardrailSensitiveInformationPolicyConfig$ = [
3,
n0,
_GSIPC,
0,
[_pEC, _rCe],
[() => GuardrailPiiEntitiesConfig, () => GuardrailRegexesConfig]
];
exports.GuardrailSummary$ = [
3,
n0,
_GS,
0,
[_i, _ar, _st, _n, _ve, _cA, _uA, _d, _cRD],
[0, 0, 0, [() => GuardrailName, 0], 0, 5, 5, [() => GuardrailDescription, 0], () => exports.GuardrailCrossRegionDetails$],
7
];
exports.GuardrailTopic$ = [
3,
n0,
_GT,
0,
[_n, _de, _exa, _ty, _iA, _oA, _iE, _oE],
[[() => GuardrailTopicName, 0], [() => GuardrailTopicDefinition, 0], [() => GuardrailTopicExamples, 0], 0, [() => GuardrailTopicAction, 0], [() => GuardrailTopicAction, 0], 2, 2],
2
];
exports.GuardrailTopicConfig$ = [
3,
n0,
_GTC,
0,
[_n, _de, _ty, _exa, _iA, _oA, _iE, _oE],
[[() => GuardrailTopicName, 0], [() => GuardrailTopicDefinition, 0], 0, [() => GuardrailTopicExamples, 0], [() => GuardrailTopicAction, 0], [() => GuardrailTopicAction, 0], 2, 2],
3
];
exports.GuardrailTopicPolicy$ = [
3,
n0,
_GTP,
0,
[_to, _ti],
[[() => GuardrailTopics, 0], [() => exports.GuardrailTopicsTier$, 0]],
1
];
exports.GuardrailTopicPolicyConfig$ = [
3,
n0,
_GTPC,
0,
[_tCo, _tCi],
[[() => GuardrailTopicsConfig, 0], [() => exports.GuardrailTopicsTierConfig$, 0]],
1
];
exports.GuardrailTopicsTier$ = [
3,
n0,
_GTT,
0,
[_tNi],
[[() => GuardrailTopicsTierName, 0]],
1
];
exports.GuardrailTopicsTierConfig$ = [
3,
n0,
_GTTC,
0,
[_tNi],
[[() => GuardrailTopicsTierName, 0]],
1
];
exports.GuardrailWord$ = [
3,
n0,
_GW,
0,
[_te, _iA, _oA, _iE, _oE],
[0, [() => GuardrailWordAction, 0], [() => GuardrailWordAction, 0], 2, 2],
1
];
exports.GuardrailWordConfig$ = [
3,
n0,
_GWC,
0,
[_te, _iA, _oA, _iE, _oE],
[0, [() => GuardrailWordAction, 0], [() => GuardrailWordAction, 0], 2, 2],
1
];
exports.GuardrailWordPolicy$ = [
3,
n0,
_GWP,
0,
[_w, _mWL],
[[() => GuardrailWords, 0], [() => GuardrailManagedWordLists, 0]]
];
exports.GuardrailWordPolicyConfig$ = [
3,
n0,
_GWPC,
0,
[_wCo, _mWLC],
[[() => GuardrailWordsConfig, 0], [() => GuardrailManagedWordListsConfig, 0]]
];
exports.HumanEvaluationConfig$ = [
3,
n0,
_HEC,
0,
[_dMC, _hWC, _cM],
[[() => EvaluationDatasetMetricConfigs, 0], [() => exports.HumanWorkflowConfig$, 0], [() => HumanEvaluationCustomMetrics, 0]],
1
];
exports.HumanEvaluationCustomMetric$ = [
3,
n0,
_HECM,
0,
[_n, _rM, _d],
[[() => EvaluationMetricName, 0], 0, [() => EvaluationMetricDescription, 0]],
2
];
exports.HumanWorkflowConfig$ = [
3,
n0,
_HWC,
0,
[_fDA, _in],
[0, [() => HumanTaskInstructions, 0]],
1
];
exports.ImplicitFilterConfiguration$ = [
3,
n0,
_IFC,
0,
[_mAe, _mA],
[[() => MetadataAttributeSchemaList, 0], 0],
2
];
exports.ImportedModelSummary$ = [
3,
n0,
_IMS,
0,
[_mA, _mN, _cTr, _iS, _mAo],
[0, 0, 5, 2, 0],
3
];
exports.InferenceProfileModel$ = [
3,
n0,
_IPM,
0,
[_mA],
[0]
];
exports.InferenceProfileSummary$ = [
3,
n0,
_IPS,
0,
[_iPN, _iPA, _mo, _iPIn, _st, _ty, _d, _cA, _uA],
[0, 0, () => InferenceProfileModels, 0, 0, 0, [() => InferenceProfileDescription, 0], 5, 5],
6
];
exports.InvocationLogsConfig$ = [
3,
n0,
_ILC,
0,
[_iLS, _uPR, _rMF],
[() => exports.InvocationLogSource$, 2, [() => exports.RequestMetadataFilters$, 0]],
1
];
exports.KbInferenceConfig$ = [
3,
n0,
_KIC,
0,
[_tIC],
[() => exports.TextInferenceConfig$]
];
exports.KnowledgeBaseRetrievalConfiguration$ = [
3,
n0,
_KBRC,
0,
[_vSC],
[[() => exports.KnowledgeBaseVectorSearchConfiguration$, 0]],
1
];
exports.KnowledgeBaseRetrieveAndGenerateConfiguration$ = [
3,
n0,
_KBRAGC,
0,
[_kBI, _mA, _rCet, _gCe, _oC],
[0, 0, [() => exports.KnowledgeBaseRetrievalConfiguration$, 0], [() => exports.GenerationConfiguration$, 0], () => exports.OrchestrationConfiguration$],
2
];
exports.KnowledgeBaseVectorSearchConfiguration$ = [
3,
n0,
_KBVSC,
0,
[_nOR, _oST, _fil, _iFC, _rCer],
[1, 0, [() => exports.RetrievalFilter$, 0], [() => exports.ImplicitFilterConfiguration$, 0], [() => exports.VectorSearchRerankingConfiguration$, 0]]
];
exports.LambdaGraderConfig$ = [
3,
n0,
_LGC,
0,
[_lA],
[0],
1
];
exports.LegalTerm$ = [
3,
n0,
_LT,
0,
[_ur],
[0]
];
exports.ListAutomatedReasoningPoliciesRequest$ = [
3,
n0,
_LARPR,
0,
[_pA, _nT, _mR],
[[0, { [_hQ]: _pA }], [0, { [_hQ]: _nT }], [1, { [_hQ]: _mR }]]
];
exports.ListAutomatedReasoningPoliciesResponse$ = [
3,
n0,
_LARPRi,
0,
[_aRPS, _nT],
[[() => AutomatedReasoningPolicySummaries, 0], 0],
1
];
exports.ListAutomatedReasoningPolicyBuildWorkflowsRequest$ = [
3,
n0,
_LARPBWR,
0,
[_pA, _nT, _mR],
[[0, 1], [0, { [_hQ]: _nT }], [1, { [_hQ]: _mR }]],
1
];
exports.ListAutomatedReasoningPolicyBuildWorkflowsResponse$ = [
3,
n0,
_LARPBWRi,
0,
[_aRPBWS, _nT],
[() => AutomatedReasoningPolicyBuildWorkflowSummaries, 0],
1
];
exports.ListAutomatedReasoningPolicyTestCasesRequest$ = [
3,
n0,
_LARPTCR,
0,
[_pA, _nT, _mR],
[[0, 1], [0, { [_hQ]: _nT }], [1, { [_hQ]: _mR }]],
1
];
exports.ListAutomatedReasoningPolicyTestCasesResponse$ = [
3,
n0,
_LARPTCRi,
0,
[_tCes, _nT],
[[() => AutomatedReasoningPolicyTestCaseList, 0], 0],
1
];
exports.ListAutomatedReasoningPolicyTestResultsRequest$ = [
3,
n0,
_LARPTRR,
0,
[_pA, _bWI, _nT, _mR],
[[0, 1], [0, 1], [0, { [_hQ]: _nT }], [1, { [_hQ]: _mR }]],
2
];
exports.ListAutomatedReasoningPolicyTestResultsResponse$ = [
3,
n0,
_LARPTRRi,
0,
[_tRe, _nT],
[[() => AutomatedReasoningPolicyTestList, 0], 0],
1
];
exports.ListCustomModelDeploymentsRequest$ = [
3,
n0,
_LCMDR,
0,
[_cBr, _cAr, _nC, _mR, _nT, _sB, _sO, _sEt, _mAE],
[[5, { [_hQ]: _cBr }], [5, { [_hQ]: _cAr }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _mAE }]]
];
exports.ListCustomModelDeploymentsResponse$ = [
3,
n0,
_LCMDRi,
0,
[_nT, _mDSo],
[0, () => CustomModelDeploymentSummaryList]
];
exports.ListCustomModelsRequest$ = [
3,
n0,
_LCMR,
0,
[_cTB, _cTA, _nC, _bMAE, _fMAE, _mR, _nT, _sB, _sO, _iO, _mSo],
[[5, { [_hQ]: _cTB }], [5, { [_hQ]: _cTA }], [0, { [_hQ]: _nC }], [0, { [_hQ]: _bMAE }], [0, { [_hQ]: _fMAE }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }], [2, { [_hQ]: _iO }], [0, { [_hQ]: _mSo }]]
];
exports.ListCustomModelsResponse$ = [
3,
n0,
_LCMRi,
0,
[_nT, _mSod],
[0, () => CustomModelSummaryList]
];
exports.ListEnforcedGuardrailsConfigurationRequest$ = [
3,
n0,
_LEGCR,
0,
[_nT],
[[0, { [_hQ]: _nT }]]
];
exports.ListEnforcedGuardrailsConfigurationResponse$ = [
3,
n0,
_LEGCRi,
0,
[_gCua, _nT],
[() => AccountEnforcedGuardrailsOutputConfiguration, 0],
1
];
exports.ListEvaluationJobsRequest$ = [
3,
n0,
_LEJR,
0,
[_cTA, _cTB, _sEt, _aTE, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTA }], [5, { [_hQ]: _cTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _aTE }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListEvaluationJobsResponse$ = [
3,
n0,
_LEJRi,
0,
[_nT, _jSo],
[0, () => EvaluationSummaries]
];
exports.ListFoundationModelAgreementOffersRequest$ = [
3,
n0,
_LFMAOR,
0,
[_mIo, _oTf],
[[0, 1], [0, { [_hQ]: _oTf }]],
1
];
exports.ListFoundationModelAgreementOffersResponse$ = [
3,
n0,
_LFMAORi,
0,
[_mIo, _of],
[0, () => Offers],
2
];
exports.ListFoundationModelsRequest$ = [
3,
n0,
_LFMR,
0,
[_bP, _bCT, _bOMy, _bIT],
[[0, { [_hQ]: _bP }], [0, { [_hQ]: _bCT }], [0, { [_hQ]: _bOMy }], [0, { [_hQ]: _bIT }]]
];
exports.ListFoundationModelsResponse$ = [
3,
n0,
_LFMRi,
0,
[_mSod],
[() => FoundationModelSummaryList]
];
exports.ListGuardrailsRequest$ = [
3,
n0,
_LGR,
0,
[_gI, _mR, _nT],
[[0, { [_hQ]: _gI }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }]]
];
exports.ListGuardrailsResponse$ = [
3,
n0,
_LGRi,
0,
[_g, _nT],
[[() => GuardrailSummaries, 0], 0],
1
];
exports.ListImportedModelsRequest$ = [
3,
n0,
_LIMR,
0,
[_cTB, _cTA, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTB }], [5, { [_hQ]: _cTA }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListImportedModelsResponse$ = [
3,
n0,
_LIMRi,
0,
[_nT, _mSod],
[0, () => ImportedModelSummaryList]
];
exports.ListInferenceProfilesRequest$ = [
3,
n0,
_LIPR,
0,
[_mR, _nT, _tE],
[[1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _ty }]]
];
exports.ListInferenceProfilesResponse$ = [
3,
n0,
_LIPRi,
0,
[_iPS, _nT],
[[() => InferenceProfileSummaries, 0], 0]
];
exports.ListMarketplaceModelEndpointsRequest$ = [
3,
n0,
_LMMER,
0,
[_mR, _nT, _mSE],
[[1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _mSI }]]
];
exports.ListMarketplaceModelEndpointsResponse$ = [
3,
n0,
_LMMERi,
0,
[_mMEa, _nT],
[() => MarketplaceModelEndpointSummaries, 0]
];
exports.ListModelCopyJobsRequest$ = [
3,
n0,
_LMCJR,
0,
[_cTA, _cTB, _sEt, _sAE, _sMAE, _tMNC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTA }], [5, { [_hQ]: _cTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _sAE }], [0, { [_hQ]: _sMAE }], [0, { [_hQ]: _oMNC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListModelCopyJobsResponse$ = [
3,
n0,
_LMCJRi,
0,
[_nT, _mCJS],
[0, () => ModelCopyJobSummaries]
];
exports.ListModelCustomizationJobsRequest$ = [
3,
n0,
_LMCJRis,
0,
[_cTA, _cTB, _sEt, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTA }], [5, { [_hQ]: _cTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListModelCustomizationJobsResponse$ = [
3,
n0,
_LMCJRist,
0,
[_nT, _mCJSo],
[0, () => ModelCustomizationJobSummaries]
];
exports.ListModelImportJobsRequest$ = [
3,
n0,
_LMIJR,
0,
[_cTA, _cTB, _sEt, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTA }], [5, { [_hQ]: _cTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListModelImportJobsResponse$ = [
3,
n0,
_LMIJRi,
0,
[_nT, _mIJS],
[0, () => ModelImportJobSummaries]
];
exports.ListModelInvocationJobsRequest$ = [
3,
n0,
_LMIJRis,
0,
[_sTA, _sTB, _sEt, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _sTA }], [5, { [_hQ]: _sTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListModelInvocationJobsResponse$ = [
3,
n0,
_LMIJRist,
0,
[_nT, _iJS],
[0, [() => ModelInvocationJobSummaries, 0]]
];
exports.ListPromptRoutersRequest$ = [
3,
n0,
_LPRR,
0,
[_mR, _nT, _ty],
[[1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _ty }]]
];
exports.ListPromptRoutersResponse$ = [
3,
n0,
_LPRRi,
0,
[_pRS, _nT],
[[() => PromptRouterSummaries, 0], 0]
];
exports.ListProvisionedModelThroughputsRequest$ = [
3,
n0,
_LPMTR,
0,
[_cTA, _cTB, _sEt, _mAE, _nC, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _cTA }], [5, { [_hQ]: _cTB }], [0, { [_hQ]: _sEt }], [0, { [_hQ]: _mAE }], [0, { [_hQ]: _nC }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListProvisionedModelThroughputsResponse$ = [
3,
n0,
_LPMTRi,
0,
[_nT, _pMS],
[0, () => ProvisionedModelSummaries]
];
exports.ListTagsForResourceRequest$ = [
3,
n0,
_LTFRR,
0,
[_rARN],
[0],
1
];
exports.ListTagsForResourceResponse$ = [
3,
n0,
_LTFRRi,
0,
[_ta],
[() => TagList]
];
exports.LoggingConfig$ = [
3,
n0,
_LC,
0,
[_cWC, _sC, _tDDE, _iDDE, _eDDE, _vDDE, _aDDE],
[() => exports.CloudWatchConfig$, () => exports.S3Config$, 2, 2, 2, 2, 2]
];
exports.MarketplaceModelEndpoint$ = [
3,
n0,
_MME,
0,
[_eA, _mSI, _cA, _uA, _eCn, _eS, _st, _sM, _eSM],
[0, 0, 5, 5, () => exports.EndpointConfig$, 0, 0, 0, 0],
6
];
exports.MarketplaceModelEndpointSummary$ = [
3,
n0,
_MMES,
0,
[_eA, _mSI, _cA, _uA, _st, _sM],
[0, 0, 5, 5, 0, 0],
4
];
exports.MetadataAttributeSchema$ = [
3,
n0,
_MAS,
8,
[_k, _ty, _d],
[0, 0, 0],
3
];
exports.MetadataConfigurationForReranking$ = [
3,
n0,
_MCFR,
0,
[_sMe, _sMC],
[0, [() => exports.RerankingMetadataSelectiveModeConfiguration$, 0]],
1
];
exports.ModelCopyJobSummary$ = [
3,
n0,
_MCJS,
0,
[_jA, _st, _cTr, _tMA, _sAI, _sMA, _tMN, _tMKKA, _tMT, _fMa, _sMN],
[0, 0, 5, 0, 0, 0, 0, 0, () => TagList, 0, 0],
6
];
exports.ModelCustomizationJobSummary$ = [
3,
n0,
_MCJSo,
0,
[_jA, _bMA, _jN, _st, _cTr, _sD, _lMT, _eT, _cMA, _cMN, _cTu],
[0, 0, 0, 0, 5, () => exports.StatusDetails$, 5, 5, 0, 0, 0],
5
];
exports.ModelEnforcement$ = [
3,
n0,
_ME,
0,
[_iMn, _eMx],
[64 | 0, 64 | 0],
2
];
exports.ModelImportJobSummary$ = [
3,
n0,
_MIJS,
0,
[_jA, _jN, _st, _cTr, _lMT, _eT, _iMA, _iMN],
[0, 0, 0, 5, 5, 5, 0, 0],
4
];
exports.ModelInvocationJobS3InputDataConfig$ = [
3,
n0,
_MIJSIDC,
0,
[_sU, _sIF, _sBO],
[0, 0, 0],
1
];
exports.ModelInvocationJobS3OutputDataConfig$ = [
3,
n0,
_MIJSODC,
0,
[_sU, _sEKI, _sBO],
[0, 0, 0],
1
];
exports.ModelInvocationJobSummary$ = [
3,
n0,
_MIJSo,
0,
[_jA, _jN, _mIo, _rA, _sTu, _iDC, _oDC, _cRT, _st, _m, _lMT, _eT, _vCp, _tDIH, _jET, _mIT],
[0, 0, 0, 0, 5, () => exports.ModelInvocationJobInputDataConfig$, () => exports.ModelInvocationJobOutputDataConfig$, 0, 0, [() => Message, 0], 5, 5, () => exports.VpcConfig$, 1, 5, 0],
7
];
exports.Offer$ = [
3,
n0,
_O,
0,
[_oT, _tD, _oI],
[0, () => exports.TermDetails$, 0],
2
];
exports.OrchestrationConfiguration$ = [
3,
n0,
_OC,
0,
[_qTC],
[() => exports.QueryTransformationConfiguration$],
1
];
exports.OutputDataConfig$ = [
3,
n0,
_ODC,
0,
[_sU],
[0],
1
];
exports.PerformanceConfiguration$ = [
3,
n0,
_PC,
0,
[_la],
[0]
];
exports.PricingTerm$ = [
3,
n0,
_PT,
0,
[_rCa],
[() => RateCard],
1
];
exports.PromptRouterSummary$ = [
3,
n0,
_PRS,
0,
[_pRN, _rCo, _pRA, _mo, _fM, _st, _ty, _d, _cA, _uA],
[0, () => exports.RoutingCriteria$, 0, () => PromptRouterTargetModels, () => exports.PromptRouterTargetModel$, 0, 0, [() => PromptRouterDescription, 0], 5, 5],
7
];
exports.PromptRouterTargetModel$ = [
3,
n0,
_PRTM,
0,
[_mA],
[0],
1
];
exports.PromptTemplate$ = [
3,
n0,
_PTr,
0,
[_tPT],
[[() => TextPromptTemplate, 0]]
];
exports.ProvisionedModelSummary$ = [
3,
n0,
_PMS,
0,
[_pMN, _pMA, _mA, _dMA, _fMA, _mU, _dMU, _st, _cTr, _lMT, _cD, _cET],
[0, 0, 0, 0, 0, 1, 1, 0, 5, 5, 0, 5],
10
];
exports.PutEnforcedGuardrailConfigurationRequest$ = [
3,
n0,
_PEGCR,
0,
[_gIC, _cI],
[() => exports.AccountEnforcedGuardrailInferenceInputConfiguration$, 0],
1
];
exports.PutEnforcedGuardrailConfigurationResponse$ = [
3,
n0,
_PEGCRu,
0,
[_cI, _uA, _uB],
[0, 5, 0]
];
exports.PutModelInvocationLoggingConfigurationRequest$ = [
3,
n0,
_PMILCR,
0,
[_lC],
[() => exports.LoggingConfig$],
1
];
exports.PutModelInvocationLoggingConfigurationResponse$ = [
3,
n0,
_PMILCRu,
0,
[],
[]
];
exports.PutUseCaseForModelAccessRequest$ = [
3,
n0,
_PUCFMAR,
0,
[_fD],
[21],
1
];
exports.PutUseCaseForModelAccessResponse$ = [
3,
n0,
_PUCFMARu,
0,
[],
[]
];
exports.QueryTransformationConfiguration$ = [
3,
n0,
_QTC,
0,
[_ty],
[0],
1
];
exports.RatingScaleItem$ = [
3,
n0,
_RSI,
0,
[_de, _va],
[0, () => exports.RatingScaleItemValue$],
2
];
exports.RegisterMarketplaceModelEndpointRequest$ = [
3,
n0,
_RMMER,
0,
[_eI, _mSI],
[[0, 1], 0],
2
];
exports.RegisterMarketplaceModelEndpointResponse$ = [
3,
n0,
_RMMERe,
0,
[_mME],
[() => exports.MarketplaceModelEndpoint$],
1
];
exports.RequestMetadataBaseFilters$ = [
3,
n0,
_RMBF,
0,
[_eq, _nE],
[[() => RequestMetadataMap, 0], [() => RequestMetadataMap, 0]]
];
exports.RetrieveAndGenerateConfiguration$ = [
3,
n0,
_RAGC,
0,
[_ty, _kBC, _eSC],
[0, [() => exports.KnowledgeBaseRetrieveAndGenerateConfiguration$, 0], [() => exports.ExternalSourcesRetrieveAndGenerateConfiguration$, 0]],
1
];
exports.RetrieveConfig$ = [
3,
n0,
_RC,
0,
[_kBI, _kBRC],
[0, [() => exports.KnowledgeBaseRetrievalConfiguration$, 0]],
2
];
exports.RFTConfig$ = [
3,
n0,
_RFTC,
0,
[_gCr, _hP],
[() => exports.GraderConfig$, () => exports.RFTHyperParameters$]
];
exports.RFTHyperParameters$ = [
3,
n0,
_RFTHP,
0,
[_eCp, _bSa, _lR, _mPL, _tSPP, _iMTn, _rE, _eIv],
[1, 1, 1, 1, 1, 1, 0, 1]
];
exports.RoutingCriteria$ = [
3,
n0,
_RCo,
0,
[_rQD],
[1],
1
];
exports.S3Config$ = [
3,
n0,
_SC,
0,
[_bN, _kP],
[0, 0],
1
];
exports.S3DataSource$ = [
3,
n0,
_SDS,
0,
[_sU],
[0],
1
];
exports.S3ObjectDoc$ = [
3,
n0,
_SOD,
0,
[_uri],
[0],
1
];
exports.SageMakerEndpoint$ = [
3,
n0,
_SME,
0,
[_iIC, _iTn, _eRx, _kEK, _vp],
[1, 0, 0, 0, () => exports.VpcConfig$],
3
];
exports.StartAutomatedReasoningPolicyBuildWorkflowRequest$ = [
3,
n0,
_SARPBWR,
0,
[_pA, _bWT, _sCo, _cRT],
[[0, 1], [0, 1], [() => exports.AutomatedReasoningPolicyBuildWorkflowSource$, 16], [0, { [_hH]: _xact, [_iTd]: 1 }]],
3
];
exports.StartAutomatedReasoningPolicyBuildWorkflowResponse$ = [
3,
n0,
_SARPBWRt,
0,
[_pA, _bWI],
[0, 0],
2
];
exports.StartAutomatedReasoningPolicyTestWorkflowRequest$ = [
3,
n0,
_SARPTWR,
0,
[_pA, _bWI, _tCIe, _cRT],
[[0, 1], [0, 1], 64 | 0, [0, 4]],
2
];
exports.StartAutomatedReasoningPolicyTestWorkflowResponse$ = [
3,
n0,
_SARPTWRt,
0,
[_pA],
[0],
1
];
exports.StatusDetails$ = [
3,
n0,
_SD,
0,
[_vD, _dPD, _tDr],
[() => exports.ValidationDetails$, () => exports.DataProcessingDetails$, () => exports.TrainingDetails$]
];
exports.StopEvaluationJobRequest$ = [
3,
n0,
_SEJR,
0,
[_jI],
[[() => EvaluationJobIdentifier, 1]],
1
];
exports.StopEvaluationJobResponse$ = [
3,
n0,
_SEJRt,
0,
[],
[]
];
exports.StopModelCustomizationJobRequest$ = [
3,
n0,
_SMCJR,
0,
[_jI],
[[0, 1]],
1
];
exports.StopModelCustomizationJobResponse$ = [
3,
n0,
_SMCJRt,
0,
[],
[]
];
exports.StopModelInvocationJobRequest$ = [
3,
n0,
_SMIJR,
0,
[_jI],
[[0, 1]],
1
];
exports.StopModelInvocationJobResponse$ = [
3,
n0,
_SMIJRt,
0,
[],
[]
];
exports.SupportTerm$ = [
3,
n0,
_ST,
0,
[_rPD],
[0]
];
exports.Tag$ = [
3,
n0,
_T,
0,
[_k, _va],
[0, 0],
2
];
exports.TagResourceRequest$ = [
3,
n0,
_TRR,
0,
[_rARN, _ta],
[0, () => TagList],
2
];
exports.TagResourceResponse$ = [
3,
n0,
_TRRa,
0,
[],
[]
];
exports.TeacherModelConfig$ = [
3,
n0,
_TMC,
0,
[_tMI, _mRLFI],
[0, 1],
1
];
exports.TermDetails$ = [
3,
n0,
_TD,
0,
[_uBPT, _lTeg, _sTup, _vT],
[() => exports.PricingTerm$, () => exports.LegalTerm$, () => exports.SupportTerm$, () => exports.ValidityTerm$],
3
];
exports.TextInferenceConfig$ = [
3,
n0,
_TIC,
0,
[_tem, _tPo, _mTa, _sS],
[1, 1, 1, 64 | 0]
];
exports.TrainingDataConfig$ = [
3,
n0,
_TDC,
0,
[_sU, _iLC],
[0, [() => exports.InvocationLogsConfig$, 0]]
];
exports.TrainingDetails$ = [
3,
n0,
_TDr,
0,
[_st, _cTr, _lMT],
[0, 5, 5]
];
exports.TrainingMetrics$ = [
3,
n0,
_TM,
0,
[_tL],
[1]
];
exports.UntagResourceRequest$ = [
3,
n0,
_URR,
0,
[_rARN, _tK],
[0, 64 | 0],
2
];
exports.UntagResourceResponse$ = [
3,
n0,
_URRn,
0,
[],
[]
];
exports.UpdateAutomatedReasoningPolicyAnnotationsRequest$ = [
3,
n0,
_UARPAR,
0,
[_pA, _bWI, _an, _lUASH],
[[0, 1], [0, 1], [() => AutomatedReasoningPolicyAnnotationList, 0], 0],
4
];
exports.UpdateAutomatedReasoningPolicyAnnotationsResponse$ = [
3,
n0,
_UARPARp,
0,
[_pA, _bWI, _aSH, _uA],
[0, 0, 0, 5],
4
];
exports.UpdateAutomatedReasoningPolicyRequest$ = [
3,
n0,
_UARPR,
0,
[_pA, _pD, _n, _d],
[[0, 1], [() => exports.AutomatedReasoningPolicyDefinition$, 0], [() => AutomatedReasoningPolicyName, 0], [() => AutomatedReasoningPolicyDescription, 0]],
2
];
exports.UpdateAutomatedReasoningPolicyResponse$ = [
3,
n0,
_UARPRp,
0,
[_pA, _n, _dHe, _uA],
[0, [() => AutomatedReasoningPolicyName, 0], 0, 5],
4
];
exports.UpdateAutomatedReasoningPolicyTestCaseRequest$ = [
3,
n0,
_UARPTCR,
0,
[_pA, _tCI, _gC, _lUA, _eAFR, _qC, _cT, _cRT],
[[0, 1], [0, 1], [() => AutomatedReasoningPolicyTestGuardContent, 0], 5, 0, [() => AutomatedReasoningPolicyTestQueryContent, 0], 1, [0, 4]],
5
];
exports.UpdateAutomatedReasoningPolicyTestCaseResponse$ = [
3,
n0,
_UARPTCRp,
0,
[_pA, _tCI],
[0, 0],
2
];
exports.UpdateCustomModelDeploymentRequest$ = [
3,
n0,
_UCMDR,
0,
[_mA, _cMDI],
[0, [0, 1]],
2
];
exports.UpdateCustomModelDeploymentResponse$ = [
3,
n0,
_UCMDRp,
0,
[_cMDA],
[0],
1
];
exports.UpdateGuardrailRequest$ = [
3,
n0,
_UGR,
0,
[_gI, _n, _bIM, _bOM, _d, _tPC, _cPC, _wPC, _sIPC, _cGPC, _aRPC, _cRC, _kKI],
[[0, 1], [() => GuardrailName, 0], [() => GuardrailBlockedMessaging, 0], [() => GuardrailBlockedMessaging, 0], [() => GuardrailDescription, 0], [() => exports.GuardrailTopicPolicyConfig$, 0], [() => exports.GuardrailContentPolicyConfig$, 0], [() => exports.GuardrailWordPolicyConfig$, 0], () => exports.GuardrailSensitiveInformationPolicyConfig$, [() => exports.GuardrailContextualGroundingPolicyConfig$, 0], () => exports.GuardrailAutomatedReasoningPolicyConfig$, () => exports.GuardrailCrossRegionConfig$, 0],
4
];
exports.UpdateGuardrailResponse$ = [
3,
n0,
_UGRp,
0,
[_gIu, _gA, _ve, _uA],
[0, 0, 0, 5],
4
];
exports.UpdateMarketplaceModelEndpointRequest$ = [
3,
n0,
_UMMER,
0,
[_eA, _eCn, _cRT],
[[0, 1], () => exports.EndpointConfig$, [0, 4]],
2
];
exports.UpdateMarketplaceModelEndpointResponse$ = [
3,
n0,
_UMMERp,
0,
[_mME],
[() => exports.MarketplaceModelEndpoint$],
1
];
exports.UpdateProvisionedModelThroughputRequest$ = [
3,
n0,
_UPMTR,
0,
[_pMI, _dPMN, _dMI],
[[0, 1], 0, 0],
1
];
exports.UpdateProvisionedModelThroughputResponse$ = [
3,
n0,
_UPMTRp,
0,
[],
[]
];
exports.ValidationDataConfig$ = [
3,
n0,
_VDC,
0,
[_val],
[() => Validators],
1
];
exports.ValidationDetails$ = [
3,
n0,
_VD,
0,
[_st, _cTr, _lMT],
[0, 5, 5]
];
exports.Validator$ = [
3,
n0,
_V,
0,
[_sU],
[0],
1
];
exports.ValidatorMetric$ = [
3,
n0,
_VM,
0,
[_vL],
[1]
];
exports.ValidityTerm$ = [
3,
n0,
_VT,
0,
[_aD],
[0]
];
exports.VectorSearchBedrockRerankingConfiguration$ = [
3,
n0,
_VSBRC,
0,
[_mC, _nORR, _mCe],
[() => exports.VectorSearchBedrockRerankingModelConfiguration$, 1, [() => exports.MetadataConfigurationForReranking$, 0]],
1
];
exports.VectorSearchBedrockRerankingModelConfiguration$ = [
3,
n0,
_VSBRMC,
0,
[_mA, _aMRF],
[0, 128 | 15],
1
];
exports.VectorSearchRerankingConfiguration$ = [
3,
n0,
_VSRC,
0,
[_ty, _bRC],
[0, [() => exports.VectorSearchBedrockRerankingConfiguration$, 0]],
1
];
exports.VpcConfig$ = [
3,
n0,
_VC,
0,
[_sIu, _sGI],
[64 | 0, 64 | 0],
2
];
var AccountEnforcedGuardrailsOutputConfiguration = [
1,
n0,
_AEGOCc,
0,
() => exports.AccountEnforcedGuardrailOutputConfiguration$
];
var AutomatedEvaluationCustomMetrics = [
1,
n0,
_AECM,
0,
[
() => exports.AutomatedEvaluationCustomMetricSource$,
0
]
];
var AutomatedReasoningCheckDifferenceScenarioList = [
1,
n0,
_ARCDSL,
0,
[
() => exports.AutomatedReasoningCheckScenario$,
0
]
];
var AutomatedReasoningCheckFindingList = [
1,
n0,
_ARCFL,
0,
[
() => exports.AutomatedReasoningCheckFinding$,
0
]
];
var AutomatedReasoningCheckInputTextReferenceList = [
1,
n0,
_ARCITRL,
0,
[
() => exports.AutomatedReasoningCheckInputTextReference$,
0
]
];
var AutomatedReasoningCheckRuleList = [
1,
n0,
_ARCRL,
0,
() => exports.AutomatedReasoningCheckRule$
];
var AutomatedReasoningCheckTranslationList = [
1,
n0,
_ARCTL,
0,
[
() => exports.AutomatedReasoningCheckTranslation$,
0
]
];
var AutomatedReasoningCheckTranslationOptionList = [
1,
n0,
_ARCTOL,
0,
[
() => exports.AutomatedReasoningCheckTranslationOption$,
0
]
];
var AutomatedReasoningLogicStatementList = [
1,
n0,
_ARLSL,
0,
[
() => exports.AutomatedReasoningLogicStatement$,
0
]
];
var AutomatedReasoningPolicyAnnotatedChunkList = [
1,
n0,
_ARPACL,
0,
[
() => exports.AutomatedReasoningPolicyAnnotatedChunk$,
0
]
];
var AutomatedReasoningPolicyAnnotatedContentList = [
1,
n0,
_ARPACLu,
0,
[
() => exports.AutomatedReasoningPolicyAnnotatedContent$,
0
]
];
var AutomatedReasoningPolicyAnnotationList = [
1,
n0,
_ARPALu,
0,
[
() => exports.AutomatedReasoningPolicyAnnotation$,
0
]
];
var AutomatedReasoningPolicyArnList = 64 | 0;
var AutomatedReasoningPolicyAtomicStatementList = [
1,
n0,
_ARPASL,
0,
[
() => exports.AutomatedReasoningPolicyAtomicStatement$,
0
]
];
var AutomatedReasoningPolicyBuildLogEntryList = [
1,
n0,
_ARPBLEL,
0,
[
() => exports.AutomatedReasoningPolicyBuildLogEntry$,
0
]
];
var AutomatedReasoningPolicyBuildResultAssetManifestList = [
1,
n0,
_ARPBRAML,
0,
[
() => exports.AutomatedReasoningPolicyBuildResultAssetManifestEntry$,
0
]
];
var AutomatedReasoningPolicyBuildStepList = [
1,
n0,
_ARPBSL,
0,
[
() => exports.AutomatedReasoningPolicyBuildStep$,
0
]
];
var AutomatedReasoningPolicyBuildStepMessageList = [
1,
n0,
_ARPBSML,
0,
() => exports.AutomatedReasoningPolicyBuildStepMessage$
];
var AutomatedReasoningPolicyBuildWorkflowDocumentList = [
1,
n0,
_ARPBWDL,
0,
[
() => exports.AutomatedReasoningPolicyBuildWorkflowDocument$,
0
]
];
var AutomatedReasoningPolicyBuildWorkflowSummaries = [
1,
n0,
_ARPBWSut,
0,
() => exports.AutomatedReasoningPolicyBuildWorkflowSummary$
];
var AutomatedReasoningPolicyConflictedRuleIdList = 64 | 0;
var AutomatedReasoningPolicyDefinitionRuleIdList = 64 | 0;
var AutomatedReasoningPolicyDefinitionRuleList = [
1,
n0,
_ARPDRL,
0,
[
() => exports.AutomatedReasoningPolicyDefinitionRule$,
0
]
];
var AutomatedReasoningPolicyDefinitionTypeList = [
1,
n0,
_ARPDTL,
0,
[
() => exports.AutomatedReasoningPolicyDefinitionType$,
0
]
];
var AutomatedReasoningPolicyDefinitionTypeNameList = [
1,
n0,
_ARPDTNL,
0,
[
() => AutomatedReasoningPolicyDefinitionTypeName,
0
]
];
var AutomatedReasoningPolicyDefinitionTypeValueList = [
1,
n0,
_ARPDTVL,
0,
[
() => exports.AutomatedReasoningPolicyDefinitionTypeValue$,
0
]
];
var AutomatedReasoningPolicyDefinitionTypeValuePairList = [
1,
n0,
_ARPDTVPL,
0,
[
() => exports.AutomatedReasoningPolicyDefinitionTypeValuePair$,
0
]
];
var AutomatedReasoningPolicyDefinitionVariableList = [
1,
n0,
_ARPDVL,
0,
[
() => exports.AutomatedReasoningPolicyDefinitionVariable$,
0
]
];
var AutomatedReasoningPolicyDefinitionVariableNameList = [
1,
n0,
_ARPDVNL,
0,
[
() => AutomatedReasoningPolicyDefinitionVariableName,
0
]
];
var AutomatedReasoningPolicyDisjointedRuleIdList = 64 | 0;
var AutomatedReasoningPolicyDisjointRuleSetList = [
1,
n0,
_ARPDRSL,
0,
[
() => exports.AutomatedReasoningPolicyDisjointRuleSet$,
0
]
];
var AutomatedReasoningPolicyGeneratedTestCaseList = [
1,
n0,
_ARPGTCL,
0,
[
() => exports.AutomatedReasoningPolicyGeneratedTestCase$,
0
]
];
var AutomatedReasoningPolicyGenerateFidelityReportDocumentList = [
1,
n0,
_ARPGFRDL,
0,
[
() => exports.AutomatedReasoningPolicyBuildWorkflowDocument$,
0
]
];
var AutomatedReasoningPolicyJustificationList = [
1,
n0,
_ARPJL,
0,
[
() => AutomatedReasoningPolicyJustificationText,
0
]
];
var AutomatedReasoningPolicyLineNumberList = 64 | 1;
var AutomatedReasoningPolicyReportSourceDocumentList = [
1,
n0,
_ARPRSDL,
0,
[
() => exports.AutomatedReasoningPolicyReportSourceDocument$,
0
]
];
var AutomatedReasoningPolicyScenarioList = [
1,
n0,
_ARPSLu,
0,
[
() => exports.AutomatedReasoningPolicyScenario$,
0
]
];
var AutomatedReasoningPolicyStatementReferenceList = [
1,
n0,
_ARPSRL,
0,
() => exports.AutomatedReasoningPolicyStatementReference$
];
var AutomatedReasoningPolicySummaries = [
1,
n0,
_ARPSuto,
0,
[
() => exports.AutomatedReasoningPolicySummary$,
0
]
];
var AutomatedReasoningPolicyTestCaseIdList = 64 | 0;
var AutomatedReasoningPolicyTestCaseList = [
1,
n0,
_ARPTCL,
0,
[
() => exports.AutomatedReasoningPolicyTestCase$,
0
]
];
var AutomatedReasoningPolicyTestList = [
1,
n0,
_ARPTL,
0,
[
() => exports.AutomatedReasoningPolicyTestResult$,
0
]
];
var AutomatedReasoningPolicyTypeValueAnnotationList = [
1,
n0,
_ARPTVAL,
0,
[
() => exports.AutomatedReasoningPolicyTypeValueAnnotation$,
0
]
];
var BatchDeleteEvaluationJobErrors = [
1,
n0,
_BDEJEa,
0,
[
() => exports.BatchDeleteEvaluationJobError$,
0
]
];
var BatchDeleteEvaluationJobItems = [
1,
n0,
_BDEJIa,
0,
[
() => exports.BatchDeleteEvaluationJobItem$,
0
]
];
var BedrockEvaluatorModels = [
1,
n0,
_BEMe,
0,
() => exports.BedrockEvaluatorModel$
];
var CustomMetricBedrockEvaluatorModels = [
1,
n0,
_CMBEMu,
0,
() => exports.CustomMetricBedrockEvaluatorModel$
];
var CustomModelDeploymentSummaryList = [
1,
n0,
_CMDSL,
0,
() => exports.CustomModelDeploymentSummary$
];
var CustomModelSummaryList = [
1,
n0,
_CMSL,
0,
() => exports.CustomModelSummary$
];
var ErrorMessages = 64 | 0;
var EvaluationBedrockKnowledgeBaseIdentifiers = 64 | 0;
var EvaluationBedrockModelIdentifiers = 64 | 0;
var EvaluationDatasetMetricConfigs = [
1,
n0,
_EDMCv,
0,
[
() => exports.EvaluationDatasetMetricConfig$,
0
]
];
var EvaluationJobIdentifiers = [
1,
n0,
_EJIv,
0,
[
() => EvaluationJobIdentifier,
0
]
];
var EvaluationMetricNames = [
1,
n0,
_EMNv,
0,
[
() => EvaluationMetricName,
0
]
];
var EvaluationModelConfigs = [
1,
n0,
_EMC,
0,
[
() => exports.EvaluationModelConfig$,
0
]
];
var EvaluationPrecomputedInferenceSourceIdentifiers = 64 | 0;
var EvaluationPrecomputedRagSourceIdentifiers = 64 | 0;
var EvaluationSummaries = [
1,
n0,
_ESv,
0,
() => exports.EvaluationSummary$
];
var EvaluationTaskTypes = 64 | 0;
var EvaluatorModelIdentifiers = 64 | 0;
var ExcludedModelsList = 64 | 0;
var ExternalSources = [
1,
n0,
_ESxt,
0,
[
() => exports.ExternalSource$,
0
]
];
var FieldsForReranking = [
1,
n0,
_FFRi,
8,
() => exports.FieldForReranking$
];
var FoundationModelSummaryList = [
1,
n0,
_FMSL,
0,
() => exports.FoundationModelSummary$
];
var GuardrailContentFilters = [
1,
n0,
_GCFu,
0,
[
() => exports.GuardrailContentFilter$,
0
]
];
var GuardrailContentFiltersConfig = [
1,
n0,
_GCFCu,
0,
[
() => exports.GuardrailContentFilterConfig$,
0
]
];
var GuardrailContextualGroundingFilters = [
1,
n0,
_GCGFu,
0,
[
() => exports.GuardrailContextualGroundingFilter$,
0
]
];
var GuardrailContextualGroundingFiltersConfig = [
1,
n0,
_GCGFCu,
0,
[
() => exports.GuardrailContextualGroundingFilterConfig$,
0
]
];
var GuardrailFailureRecommendations = [
1,
n0,
_GFRu,
0,
[
() => GuardrailFailureRecommendation,
0
]
];
var GuardrailManagedWordLists = [
1,
n0,
_GMWL,
0,
[
() => exports.GuardrailManagedWords$,
0
]
];
var GuardrailManagedWordListsConfig = [
1,
n0,
_GMWLC,
0,
[
() => exports.GuardrailManagedWordsConfig$,
0
]
];
var GuardrailModalities = [
1,
n0,
_GMu,
0,
[
() => GuardrailModality,
0
]
];
var GuardrailPiiEntities = [
1,
n0,
_GPEu,
0,
() => exports.GuardrailPiiEntity$
];
var GuardrailPiiEntitiesConfig = [
1,
n0,
_GPECu,
0,
() => exports.GuardrailPiiEntityConfig$
];
var GuardrailRegexes = [
1,
n0,
_GRu,
0,
() => exports.GuardrailRegex$
];
var GuardrailRegexesConfig = [
1,
n0,
_GRCu,
0,
() => exports.GuardrailRegexConfig$
];
var GuardrailStatusReasons = [
1,
n0,
_GSRu,
0,
[
() => GuardrailStatusReason,
0
]
];
var GuardrailSummaries = [
1,
n0,
_GSu,
0,
[
() => exports.GuardrailSummary$,
0
]
];
var GuardrailTopicExamples = [
1,
n0,
_GTEu,
0,
[
() => GuardrailTopicExample,
0
]
];
var GuardrailTopics = [
1,
n0,
_GTu,
0,
[
() => exports.GuardrailTopic$,
0
]
];
var GuardrailTopicsConfig = [
1,
n0,
_GTCu,
0,
[
() => exports.GuardrailTopicConfig$,
0
]
];
var GuardrailWords = [
1,
n0,
_GWu,
0,
[
() => exports.GuardrailWord$,
0
]
];
var GuardrailWordsConfig = [
1,
n0,
_GWCu,
0,
[
() => exports.GuardrailWordConfig$,
0
]
];
var HumanEvaluationCustomMetrics = [
1,
n0,
_HECMu,
0,
[
() => exports.HumanEvaluationCustomMetric$,
0
]
];
var ImportedModelSummaryList = [
1,
n0,
_IMSL,
0,
() => exports.ImportedModelSummary$
];
var IncludedModelsList = 64 | 0;
var InferenceProfileModels = [
1,
n0,
_IPMn,
0,
() => exports.InferenceProfileModel$
];
var InferenceProfileSummaries = [
1,
n0,
_IPSn,
0,
[
() => exports.InferenceProfileSummary$,
0
]
];
var InferenceTypeList = 64 | 0;
var MarketplaceModelEndpointSummaries = [
1,
n0,
_MMESa,
0,
() => exports.MarketplaceModelEndpointSummary$
];
var MetadataAttributeSchemaList = [
1,
n0,
_MASL,
0,
[
() => exports.MetadataAttributeSchema$,
0
]
];
var ModelCopyJobSummaries = [
1,
n0,
_MCJSod,
0,
() => exports.ModelCopyJobSummary$
];
var ModelCustomizationJobSummaries = [
1,
n0,
_MCJSode,
0,
() => exports.ModelCustomizationJobSummary$
];
var ModelCustomizationList = 64 | 0;
var ModelImportJobSummaries = [
1,
n0,
_MIJSod,
0,
() => exports.ModelImportJobSummary$
];
var ModelInvocationJobSummaries = [
1,
n0,
_MIJSode,
0,
[
() => exports.ModelInvocationJobSummary$,
0
]
];
var ModelModalityList = 64 | 0;
var Offers = [
1,
n0,
_Of,
0,
() => exports.Offer$
];
var PromptRouterSummaries = [
1,
n0,
_PRSr,
0,
[
() => exports.PromptRouterSummary$,
0
]
];
var PromptRouterTargetModels = [
1,
n0,
_PRTMr,
0,
() => exports.PromptRouterTargetModel$
];
var ProvisionedModelSummaries = [
1,
n0,
_PMSr,
0,
() => exports.ProvisionedModelSummary$
];
var RagConfigs = [
1,
n0,
_RCa,
0,
[
() => exports.RAGConfig$,
0
]
];
var RAGStopSequences = 64 | 0;
var RateCard = [
1,
n0,
_RCat,
0,
() => exports.DimensionalPriceRate$
];
var RatingScale = [
1,
n0,
_RS,
0,
() => exports.RatingScaleItem$
];
var RequestMetadataFiltersList = [
1,
n0,
_RMFL,
0,
[
() => exports.RequestMetadataBaseFilters$,
0
]
];
var RetrievalFilterList = [
1,
n0,
_RFL,
0,
[
() => exports.RetrievalFilter$,
0
]
];
var SecurityGroupIds = 64 | 0;
var SubnetIds = 64 | 0;
var TagKeyList = 64 | 0;
var TagList = [
1,
n0,
_TL,
0,
() => exports.Tag$
];
var ValidationMetrics = [
1,
n0,
_VMa,
0,
() => exports.ValidatorMetric$
];
var Validators = [
1,
n0,
_Va,
0,
() => exports.Validator$
];
var AdditionalModelRequestFields = 128 | 15;
var AutomatedReasoningPolicyRuleReportMap = [
2,
n0,
_ARPRRM,
0,
[
0,
0
],
[
() => exports.AutomatedReasoningPolicyRuleReport$,
0
]
];
var AutomatedReasoningPolicyVariableReportMap = [
2,
n0,
_ARPVRM,
0,
[
() => AutomatedReasoningPolicyDefinitionVariableName,
0
],
[
() => exports.AutomatedReasoningPolicyVariableReport$,
0
]
];
var ModelCustomizationHyperParameters = 128 | 0;
var RequestMetadataMap = [
2,
n0,
_RMM,
8,
0,
0
];
exports.AutomatedEvaluationCustomMetricSource$ = [
4,
n0,
_AECMS,
0,
[_cMD],
[[() => exports.CustomMetricDefinition$, 0]]
];
exports.AutomatedReasoningCheckFinding$ = [
4,
n0,
_ARCF,
0,
[_vali, _inv, _sa, _im, _tA, _tCoo, _nTo],
[[() => exports.AutomatedReasoningCheckValidFinding$, 0], [() => exports.AutomatedReasoningCheckInvalidFinding$, 0], [() => exports.AutomatedReasoningCheckSatisfiableFinding$, 0], [() => exports.AutomatedReasoningCheckImpossibleFinding$, 0], [() => exports.AutomatedReasoningCheckTranslationAmbiguousFinding$, 0], () => exports.AutomatedReasoningCheckTooComplexFinding$, () => exports.AutomatedReasoningCheckNoTranslationsFinding$]
];
exports.AutomatedReasoningPolicyAnnotatedContent$ = [
4,
n0,
_ARPACu,
0,
[_lin],
[[() => exports.AutomatedReasoningPolicyAnnotatedLine$, 0]]
];
exports.AutomatedReasoningPolicyAnnotation$ = [
4,
n0,
_ARPA,
0,
[_aTd, _uTp, _dT, _aV, _uVp, _dV, _aR, _uR, _dR, _aRFNL, _uFRF, _uFSF, _iCn],
[[() => exports.AutomatedReasoningPolicyAddTypeAnnotation$, 0], [() => exports.AutomatedReasoningPolicyUpdateTypeAnnotation$, 0], [() => exports.AutomatedReasoningPolicyDeleteTypeAnnotation$, 0], [() => exports.AutomatedReasoningPolicyAddVariableAnnotation$, 0], [() => exports.AutomatedReasoningPolicyUpdateVariableAnnotation$, 0], [() => exports.AutomatedReasoningPolicyDeleteVariableAnnotation$, 0], [() => exports.AutomatedReasoningPolicyAddRuleAnnotation$, 0], [() => exports.AutomatedReasoningPolicyUpdateRuleAnnotation$, 0], () => exports.AutomatedReasoningPolicyDeleteRuleAnnotation$, [() => exports.AutomatedReasoningPolicyAddRuleFromNaturalLanguageAnnotation$, 0], [() => exports.AutomatedReasoningPolicyUpdateFromRuleFeedbackAnnotation$, 0], [() => exports.AutomatedReasoningPolicyUpdateFromScenarioFeedbackAnnotation$, 0], [() => exports.AutomatedReasoningPolicyIngestContentAnnotation$, 0]]
];
exports.AutomatedReasoningPolicyBuildResultAssets$ = [
4,
n0,
_ARPBRA,
0,
[_pD, _qR, _bL, _gTC, _pS, _aM, _do, _fRi],
[[() => exports.AutomatedReasoningPolicyDefinition$, 0], [() => exports.AutomatedReasoningPolicyDefinitionQualityReport$, 0], [() => exports.AutomatedReasoningPolicyBuildLog$, 0], [() => exports.AutomatedReasoningPolicyGeneratedTestCases$, 0], [() => exports.AutomatedReasoningPolicyScenarios$, 0], [() => exports.AutomatedReasoningPolicyBuildResultAssetManifest$, 0], [() => exports.AutomatedReasoningPolicySourceDocument$, 0], [() => exports.AutomatedReasoningPolicyFidelityReport$, 0]]
];
exports.AutomatedReasoningPolicyBuildStepContext$ = [
4,
n0,
_ARPBSC,
0,
[_pl, _mu],
[() => exports.AutomatedReasoningPolicyPlanning$, [() => exports.AutomatedReasoningPolicyMutation$, 0]]
];
exports.AutomatedReasoningPolicyDefinitionElement$ = [
4,
n0,
_ARPDE,
0,
[_pDV, _pDT, _pDR],
[[() => exports.AutomatedReasoningPolicyDefinitionVariable$, 0], [() => exports.AutomatedReasoningPolicyDefinitionType$, 0], [() => exports.AutomatedReasoningPolicyDefinitionRule$, 0]]
];
exports.AutomatedReasoningPolicyGenerateFidelityReportContent$ = [
4,
n0,
_ARPGFRC,
0,
[_doc],
[[() => AutomatedReasoningPolicyGenerateFidelityReportDocumentList, 0]]
];
exports.AutomatedReasoningPolicyMutation$ = [
4,
n0,
_ARPM,
0,
[_aTd, _uTp, _dT, _aV, _uVp, _dV, _aR, _uR, _dR],
[[() => exports.AutomatedReasoningPolicyAddTypeMutation$, 0], [() => exports.AutomatedReasoningPolicyUpdateTypeMutation$, 0], [() => exports.AutomatedReasoningPolicyDeleteTypeMutation$, 0], [() => exports.AutomatedReasoningPolicyAddVariableMutation$, 0], [() => exports.AutomatedReasoningPolicyUpdateVariableMutation$, 0], [() => exports.AutomatedReasoningPolicyDeleteVariableMutation$, 0], [() => exports.AutomatedReasoningPolicyAddRuleMutation$, 0], [() => exports.AutomatedReasoningPolicyUpdateRuleMutation$, 0], () => exports.AutomatedReasoningPolicyDeleteRuleMutation$]
];
exports.AutomatedReasoningPolicyTypeValueAnnotation$ = [
4,
n0,
_ARPTVA,
0,
[_aTV, _uTVp, _dTV],
[[() => exports.AutomatedReasoningPolicyAddTypeValue$, 0], [() => exports.AutomatedReasoningPolicyUpdateTypeValue$, 0], () => exports.AutomatedReasoningPolicyDeleteTypeValue$]
];
exports.AutomatedReasoningPolicyWorkflowTypeContent$ = [
4,
n0,
_ARPWTC,
0,
[_doc, _pRAo, _gFRC],
[[() => AutomatedReasoningPolicyBuildWorkflowDocumentList, 0], [() => exports.AutomatedReasoningPolicyBuildWorkflowRepairContent$, 0], [() => exports.AutomatedReasoningPolicyGenerateFidelityReportContent$, 0]]
];
exports.CustomizationConfig$ = [
4,
n0,
_CC,
0,
[_dCi, _rCf],
[() => exports.DistillationConfig$, () => exports.RFTConfig$]
];
exports.EndpointConfig$ = [
4,
n0,
_EC,
0,
[_sMa],
[() => exports.SageMakerEndpoint$]
];
exports.EvaluationConfig$ = [
4,
n0,
_ECv,
0,
[_au, _h],
[[() => exports.AutomatedEvaluationConfig$, 0], [() => exports.HumanEvaluationConfig$, 0]]
];
exports.EvaluationDatasetLocation$ = [
4,
n0,
_EDL,
0,
[_sU],
[0]
];
exports.EvaluationInferenceConfig$ = [
4,
n0,
_EIC,
0,
[_mo, _rCag],
[[() => EvaluationModelConfigs, 0], [() => RagConfigs, 0]]
];
exports.EvaluationModelConfig$ = [
4,
n0,
_EMCv,
0,
[_bM, _pIS],
[[() => exports.EvaluationBedrockModel$, 0], () => exports.EvaluationPrecomputedInferenceSource$]
];
exports.EvaluationPrecomputedRagSourceConfig$ = [
4,
n0,
_EPRSCv,
0,
[_rSC, _rAGSC],
[() => exports.EvaluationPrecomputedRetrieveSourceConfig$, () => exports.EvaluationPrecomputedRetrieveAndGenerateSourceConfig$]
];
exports.EvaluatorModelConfig$ = [
4,
n0,
_EMCva,
0,
[_bEM],
[() => BedrockEvaluatorModels]
];
exports.GraderConfig$ = [
4,
n0,
_GCr,
0,
[_lG],
[() => exports.LambdaGraderConfig$]
];
exports.InferenceProfileModelSource$ = [
4,
n0,
_IPMS,
0,
[_cF],
[0]
];
exports.InvocationLogSource$ = [
4,
n0,
_ILS,
0,
[_sU],
[0]
];
exports.KnowledgeBaseConfig$ = [
4,
n0,
_KBC,
0,
[_rCetr, _rAGC],
[[() => exports.RetrieveConfig$, 0], [() => exports.RetrieveAndGenerateConfiguration$, 0]]
];
exports.ModelDataSource$ = [
4,
n0,
_MDS,
0,
[_sDS],
[() => exports.S3DataSource$]
];
exports.ModelInvocationJobInputDataConfig$ = [
4,
n0,
_MIJIDC,
0,
[_sIDC],
[() => exports.ModelInvocationJobS3InputDataConfig$]
];
exports.ModelInvocationJobOutputDataConfig$ = [
4,
n0,
_MIJODC,
0,
[_sODC],
[() => exports.ModelInvocationJobS3OutputDataConfig$]
];
exports.RAGConfig$ = [
4,
n0,
_RAGCo,
0,
[_kBCn, _pRSC],
[[() => exports.KnowledgeBaseConfig$, 0], () => exports.EvaluationPrecomputedRagSourceConfig$]
];
exports.RatingScaleItemValue$ = [
4,
n0,
_RSIV,
0,
[_sV, _fV],
[0, 1]
];
exports.RequestMetadataFilters$ = [
4,
n0,
_RMF,
0,
[_eq, _nE, _aAn, _oAr],
[[() => RequestMetadataMap, 0], [() => RequestMetadataMap, 0], [() => RequestMetadataFiltersList, 0], [() => RequestMetadataFiltersList, 0]]
];
exports.RerankingMetadataSelectiveModeConfiguration$ = [
4,
n0,
_RMSMC,
0,
[_fTI, _fTE],
[[() => FieldsForReranking, 0], [() => FieldsForReranking, 0]]
];
exports.RetrievalFilter$ = [
4,
n0,
_RF,
8,
[_eq, _nE, _gT, _gTOE, _lTes, _lTOE, _in_, _nI, _sW, _lCi, _sCt, _aAn, _oAr],
[() => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, () => exports.FilterAttribute$, [() => RetrievalFilterList, 0], [() => RetrievalFilterList, 0]]
];
exports.BatchDeleteEvaluationJob$ = [
9,
n0,
_BDEJ,
{ [_ht]: ["POST", "/evaluation-jobs/batch-delete", 202] },
() => exports.BatchDeleteEvaluationJobRequest$,
() => exports.BatchDeleteEvaluationJobResponse$
];
exports.CancelAutomatedReasoningPolicyBuildWorkflow$ = [
9,
n0,
_CARPBW,
{ [_ht]: ["POST", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/cancel", 202] },
() => exports.CancelAutomatedReasoningPolicyBuildWorkflowRequest$,
() => exports.CancelAutomatedReasoningPolicyBuildWorkflowResponse$
];
exports.CreateAutomatedReasoningPolicy$ = [
9,
n0,
_CARP,
{ [_ht]: ["POST", "/automated-reasoning-policies", 200] },
() => exports.CreateAutomatedReasoningPolicyRequest$,
() => exports.CreateAutomatedReasoningPolicyResponse$
];
exports.CreateAutomatedReasoningPolicyTestCase$ = [
9,
n0,
_CARPTC,
{ [_ht]: ["POST", "/automated-reasoning-policies/{policyArn}/test-cases", 200] },
() => exports.CreateAutomatedReasoningPolicyTestCaseRequest$,
() => exports.CreateAutomatedReasoningPolicyTestCaseResponse$
];
exports.CreateAutomatedReasoningPolicyVersion$ = [
9,
n0,
_CARPV,
{ [_ht]: ["POST", "/automated-reasoning-policies/{policyArn}/versions", 200] },
() => exports.CreateAutomatedReasoningPolicyVersionRequest$,
() => exports.CreateAutomatedReasoningPolicyVersionResponse$
];
exports.CreateCustomModel$ = [
9,
n0,
_CCM,
{ [_ht]: ["POST", "/custom-models/create-custom-model", 202] },
() => exports.CreateCustomModelRequest$,
() => exports.CreateCustomModelResponse$
];
exports.CreateCustomModelDeployment$ = [
9,
n0,
_CCMD,
{ [_ht]: ["POST", "/model-customization/custom-model-deployments", 202] },
() => exports.CreateCustomModelDeploymentRequest$,
() => exports.CreateCustomModelDeploymentResponse$
];
exports.CreateEvaluationJob$ = [
9,
n0,
_CEJ,
{ [_ht]: ["POST", "/evaluation-jobs", 202] },
() => exports.CreateEvaluationJobRequest$,
() => exports.CreateEvaluationJobResponse$
];
exports.CreateFoundationModelAgreement$ = [
9,
n0,
_CFMA,
{ [_ht]: ["POST", "/create-foundation-model-agreement", 202] },
() => exports.CreateFoundationModelAgreementRequest$,
() => exports.CreateFoundationModelAgreementResponse$
];
exports.CreateGuardrail$ = [
9,
n0,
_CG,
{ [_ht]: ["POST", "/guardrails", 202] },
() => exports.CreateGuardrailRequest$,
() => exports.CreateGuardrailResponse$
];
exports.CreateGuardrailVersion$ = [
9,
n0,
_CGV,
{ [_ht]: ["POST", "/guardrails/{guardrailIdentifier}", 202] },
() => exports.CreateGuardrailVersionRequest$,
() => exports.CreateGuardrailVersionResponse$
];
exports.CreateInferenceProfile$ = [
9,
n0,
_CIP,
{ [_ht]: ["POST", "/inference-profiles", 201] },
() => exports.CreateInferenceProfileRequest$,
() => exports.CreateInferenceProfileResponse$
];
exports.CreateMarketplaceModelEndpoint$ = [
9,
n0,
_CMME,
{ [_ht]: ["POST", "/marketplace-model/endpoints", 200] },
() => exports.CreateMarketplaceModelEndpointRequest$,
() => exports.CreateMarketplaceModelEndpointResponse$
];
exports.CreateModelCopyJob$ = [
9,
n0,
_CMCJ,
{ [_ht]: ["POST", "/model-copy-jobs", 201] },
() => exports.CreateModelCopyJobRequest$,
() => exports.CreateModelCopyJobResponse$
];
exports.CreateModelCustomizationJob$ = [
9,
n0,
_CMCJr,
{ [_ht]: ["POST", "/model-customization-jobs", 201] },
() => exports.CreateModelCustomizationJobRequest$,
() => exports.CreateModelCustomizationJobResponse$
];
exports.CreateModelImportJob$ = [
9,
n0,
_CMIJ,
{ [_ht]: ["POST", "/model-import-jobs", 201] },
() => exports.CreateModelImportJobRequest$,
() => exports.CreateModelImportJobResponse$
];
exports.CreateModelInvocationJob$ = [
9,
n0,
_CMIJr,
{ [_ht]: ["POST", "/model-invocation-job", 200] },
() => exports.CreateModelInvocationJobRequest$,
() => exports.CreateModelInvocationJobResponse$
];
exports.CreatePromptRouter$ = [
9,
n0,
_CPR,
{ [_ht]: ["POST", "/prompt-routers", 200] },
() => exports.CreatePromptRouterRequest$,
() => exports.CreatePromptRouterResponse$
];
exports.CreateProvisionedModelThroughput$ = [
9,
n0,
_CPMT,
{ [_ht]: ["POST", "/provisioned-model-throughput", 201] },
() => exports.CreateProvisionedModelThroughputRequest$,
() => exports.CreateProvisionedModelThroughputResponse$
];
exports.DeleteAutomatedReasoningPolicy$ = [
9,
n0,
_DARP,
{ [_ht]: ["DELETE", "/automated-reasoning-policies/{policyArn}", 202] },
() => exports.DeleteAutomatedReasoningPolicyRequest$,
() => exports.DeleteAutomatedReasoningPolicyResponse$
];
exports.DeleteAutomatedReasoningPolicyBuildWorkflow$ = [
9,
n0,
_DARPBW,
{ [_ht]: ["DELETE", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}", 202] },
() => exports.DeleteAutomatedReasoningPolicyBuildWorkflowRequest$,
() => exports.DeleteAutomatedReasoningPolicyBuildWorkflowResponse$
];
exports.DeleteAutomatedReasoningPolicyTestCase$ = [
9,
n0,
_DARPTC,
{ [_ht]: ["DELETE", "/automated-reasoning-policies/{policyArn}/test-cases/{testCaseId}", 202] },
() => exports.DeleteAutomatedReasoningPolicyTestCaseRequest$,
() => exports.DeleteAutomatedReasoningPolicyTestCaseResponse$
];
exports.DeleteCustomModel$ = [
9,
n0,
_DCM,
{ [_ht]: ["DELETE", "/custom-models/{modelIdentifier}", 200] },
() => exports.DeleteCustomModelRequest$,
() => exports.DeleteCustomModelResponse$
];
exports.DeleteCustomModelDeployment$ = [
9,
n0,
_DCMD,
{ [_ht]: ["DELETE", "/model-customization/custom-model-deployments/{customModelDeploymentIdentifier}", 200] },
() => exports.DeleteCustomModelDeploymentRequest$,
() => exports.DeleteCustomModelDeploymentResponse$
];
exports.DeleteEnforcedGuardrailConfiguration$ = [
9,
n0,
_DEGC,
{ [_ht]: ["DELETE", "/enforcedGuardrailsConfiguration/{configId}", 200] },
() => exports.DeleteEnforcedGuardrailConfigurationRequest$,
() => exports.DeleteEnforcedGuardrailConfigurationResponse$
];
exports.DeleteFoundationModelAgreement$ = [
9,
n0,
_DFMA,
{ [_ht]: ["POST", "/delete-foundation-model-agreement", 202] },
() => exports.DeleteFoundationModelAgreementRequest$,
() => exports.DeleteFoundationModelAgreementResponse$
];
exports.DeleteGuardrail$ = [
9,
n0,
_DG,
{ [_ht]: ["DELETE", "/guardrails/{guardrailIdentifier}", 202] },
() => exports.DeleteGuardrailRequest$,
() => exports.DeleteGuardrailResponse$
];
exports.DeleteImportedModel$ = [
9,
n0,
_DIM,
{ [_ht]: ["DELETE", "/imported-models/{modelIdentifier}", 200] },
() => exports.DeleteImportedModelRequest$,
() => exports.DeleteImportedModelResponse$
];
exports.DeleteInferenceProfile$ = [
9,
n0,
_DIP,
{ [_ht]: ["DELETE", "/inference-profiles/{inferenceProfileIdentifier}", 200] },
() => exports.DeleteInferenceProfileRequest$,
() => exports.DeleteInferenceProfileResponse$
];
exports.DeleteMarketplaceModelEndpoint$ = [
9,
n0,
_DMME,
{ [_ht]: ["DELETE", "/marketplace-model/endpoints/{endpointArn}", 200] },
() => exports.DeleteMarketplaceModelEndpointRequest$,
() => exports.DeleteMarketplaceModelEndpointResponse$
];
exports.DeleteModelInvocationLoggingConfiguration$ = [
9,
n0,
_DMILC,
{ [_ht]: ["DELETE", "/logging/modelinvocations", 200] },
() => exports.DeleteModelInvocationLoggingConfigurationRequest$,
() => exports.DeleteModelInvocationLoggingConfigurationResponse$
];
exports.DeletePromptRouter$ = [
9,
n0,
_DPRe,
{ [_ht]: ["DELETE", "/prompt-routers/{promptRouterArn}", 200] },
() => exports.DeletePromptRouterRequest$,
() => exports.DeletePromptRouterResponse$
];
exports.DeleteProvisionedModelThroughput$ = [
9,
n0,
_DPMT,
{ [_ht]: ["DELETE", "/provisioned-model-throughput/{provisionedModelId}", 200] },
() => exports.DeleteProvisionedModelThroughputRequest$,
() => exports.DeleteProvisionedModelThroughputResponse$
];
exports.DeregisterMarketplaceModelEndpoint$ = [
9,
n0,
_DMMEe,
{ [_ht]: ["DELETE", "/marketplace-model/endpoints/{endpointArn}/registration", 200] },
() => exports.DeregisterMarketplaceModelEndpointRequest$,
() => exports.DeregisterMarketplaceModelEndpointResponse$
];
exports.ExportAutomatedReasoningPolicyVersion$ = [
9,
n0,
_EARPV,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/export", 200] },
() => exports.ExportAutomatedReasoningPolicyVersionRequest$,
() => exports.ExportAutomatedReasoningPolicyVersionResponse$
];
exports.GetAutomatedReasoningPolicy$ = [
9,
n0,
_GARPe,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}", 200] },
() => exports.GetAutomatedReasoningPolicyRequest$,
() => exports.GetAutomatedReasoningPolicyResponse$
];
exports.GetAutomatedReasoningPolicyAnnotations$ = [
9,
n0,
_GARPA,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/annotations", 200] },
() => exports.GetAutomatedReasoningPolicyAnnotationsRequest$,
() => exports.GetAutomatedReasoningPolicyAnnotationsResponse$
];
exports.GetAutomatedReasoningPolicyBuildWorkflow$ = [
9,
n0,
_GARPBW,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}", 200] },
() => exports.GetAutomatedReasoningPolicyBuildWorkflowRequest$,
() => exports.GetAutomatedReasoningPolicyBuildWorkflowResponse$
];
exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssets$ = [
9,
n0,
_GARPBWRA,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/result-assets", 200] },
() => exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsRequest$,
() => exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsResponse$
];
exports.GetAutomatedReasoningPolicyNextScenario$ = [
9,
n0,
_GARPNS,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/scenarios", 200] },
() => exports.GetAutomatedReasoningPolicyNextScenarioRequest$,
() => exports.GetAutomatedReasoningPolicyNextScenarioResponse$
];
exports.GetAutomatedReasoningPolicyTestCase$ = [
9,
n0,
_GARPTC,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/test-cases/{testCaseId}", 200] },
() => exports.GetAutomatedReasoningPolicyTestCaseRequest$,
() => exports.GetAutomatedReasoningPolicyTestCaseResponse$
];
exports.GetAutomatedReasoningPolicyTestResult$ = [
9,
n0,
_GARPTR,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/test-cases/{testCaseId}/test-results", 200] },
() => exports.GetAutomatedReasoningPolicyTestResultRequest$,
() => exports.GetAutomatedReasoningPolicyTestResultResponse$
];
exports.GetCustomModel$ = [
9,
n0,
_GCM,
{ [_ht]: ["GET", "/custom-models/{modelIdentifier}", 200] },
() => exports.GetCustomModelRequest$,
() => exports.GetCustomModelResponse$
];
exports.GetCustomModelDeployment$ = [
9,
n0,
_GCMD,
{ [_ht]: ["GET", "/model-customization/custom-model-deployments/{customModelDeploymentIdentifier}", 200] },
() => exports.GetCustomModelDeploymentRequest$,
() => exports.GetCustomModelDeploymentResponse$
];
exports.GetEvaluationJob$ = [
9,
n0,
_GEJ,
{ [_ht]: ["GET", "/evaluation-jobs/{jobIdentifier}", 200] },
() => exports.GetEvaluationJobRequest$,
() => exports.GetEvaluationJobResponse$
];
exports.GetFoundationModel$ = [
9,
n0,
_GFM,
{ [_ht]: ["GET", "/foundation-models/{modelIdentifier}", 200] },
() => exports.GetFoundationModelRequest$,
() => exports.GetFoundationModelResponse$
];
exports.GetFoundationModelAvailability$ = [
9,
n0,
_GFMA,
{ [_ht]: ["GET", "/foundation-model-availability/{modelId}", 200] },
() => exports.GetFoundationModelAvailabilityRequest$,
() => exports.GetFoundationModelAvailabilityResponse$
];
exports.GetGuardrail$ = [
9,
n0,
_GG,
{ [_ht]: ["GET", "/guardrails/{guardrailIdentifier}", 200] },
() => exports.GetGuardrailRequest$,
() => exports.GetGuardrailResponse$
];
exports.GetImportedModel$ = [
9,
n0,
_GIM,
{ [_ht]: ["GET", "/imported-models/{modelIdentifier}", 200] },
() => exports.GetImportedModelRequest$,
() => exports.GetImportedModelResponse$
];
exports.GetInferenceProfile$ = [
9,
n0,
_GIP,
{ [_ht]: ["GET", "/inference-profiles/{inferenceProfileIdentifier}", 200] },
() => exports.GetInferenceProfileRequest$,
() => exports.GetInferenceProfileResponse$
];
exports.GetMarketplaceModelEndpoint$ = [
9,
n0,
_GMME,
{ [_ht]: ["GET", "/marketplace-model/endpoints/{endpointArn}", 200] },
() => exports.GetMarketplaceModelEndpointRequest$,
() => exports.GetMarketplaceModelEndpointResponse$
];
exports.GetModelCopyJob$ = [
9,
n0,
_GMCJ,
{ [_ht]: ["GET", "/model-copy-jobs/{jobArn}", 200] },
() => exports.GetModelCopyJobRequest$,
() => exports.GetModelCopyJobResponse$
];
exports.GetModelCustomizationJob$ = [
9,
n0,
_GMCJe,
{ [_ht]: ["GET", "/model-customization-jobs/{jobIdentifier}", 200] },
() => exports.GetModelCustomizationJobRequest$,
() => exports.GetModelCustomizationJobResponse$
];
exports.GetModelImportJob$ = [
9,
n0,
_GMIJ,
{ [_ht]: ["GET", "/model-import-jobs/{jobIdentifier}", 200] },
() => exports.GetModelImportJobRequest$,
() => exports.GetModelImportJobResponse$
];
exports.GetModelInvocationJob$ = [
9,
n0,
_GMIJe,
{ [_ht]: ["GET", "/model-invocation-job/{jobIdentifier}", 200] },
() => exports.GetModelInvocationJobRequest$,
() => exports.GetModelInvocationJobResponse$
];
exports.GetModelInvocationLoggingConfiguration$ = [
9,
n0,
_GMILC,
{ [_ht]: ["GET", "/logging/modelinvocations", 200] },
() => exports.GetModelInvocationLoggingConfigurationRequest$,
() => exports.GetModelInvocationLoggingConfigurationResponse$
];
exports.GetPromptRouter$ = [
9,
n0,
_GPR,
{ [_ht]: ["GET", "/prompt-routers/{promptRouterArn}", 200] },
() => exports.GetPromptRouterRequest$,
() => exports.GetPromptRouterResponse$
];
exports.GetProvisionedModelThroughput$ = [
9,
n0,
_GPMT,
{ [_ht]: ["GET", "/provisioned-model-throughput/{provisionedModelId}", 200] },
() => exports.GetProvisionedModelThroughputRequest$,
() => exports.GetProvisionedModelThroughputResponse$
];
exports.GetUseCaseForModelAccess$ = [
9,
n0,
_GUCFMA,
{ [_ht]: ["GET", "/use-case-for-model-access", 200] },
() => exports.GetUseCaseForModelAccessRequest$,
() => exports.GetUseCaseForModelAccessResponse$
];
exports.ListAutomatedReasoningPolicies$ = [
9,
n0,
_LARP,
{ [_ht]: ["GET", "/automated-reasoning-policies", 200] },
() => exports.ListAutomatedReasoningPoliciesRequest$,
() => exports.ListAutomatedReasoningPoliciesResponse$
];
exports.ListAutomatedReasoningPolicyBuildWorkflows$ = [
9,
n0,
_LARPBW,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows", 200] },
() => exports.ListAutomatedReasoningPolicyBuildWorkflowsRequest$,
() => exports.ListAutomatedReasoningPolicyBuildWorkflowsResponse$
];
exports.ListAutomatedReasoningPolicyTestCases$ = [
9,
n0,
_LARPTC,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/test-cases", 200] },
() => exports.ListAutomatedReasoningPolicyTestCasesRequest$,
() => exports.ListAutomatedReasoningPolicyTestCasesResponse$
];
exports.ListAutomatedReasoningPolicyTestResults$ = [
9,
n0,
_LARPTR,
{ [_ht]: ["GET", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/test-results", 200] },
() => exports.ListAutomatedReasoningPolicyTestResultsRequest$,
() => exports.ListAutomatedReasoningPolicyTestResultsResponse$
];
exports.ListCustomModelDeployments$ = [
9,
n0,
_LCMD,
{ [_ht]: ["GET", "/model-customization/custom-model-deployments", 200] },
() => exports.ListCustomModelDeploymentsRequest$,
() => exports.ListCustomModelDeploymentsResponse$
];
exports.ListCustomModels$ = [
9,
n0,
_LCM,
{ [_ht]: ["GET", "/custom-models", 200] },
() => exports.ListCustomModelsRequest$,
() => exports.ListCustomModelsResponse$
];
exports.ListEnforcedGuardrailsConfiguration$ = [
9,
n0,
_LEGC,
{ [_ht]: ["GET", "/enforcedGuardrailsConfiguration", 200] },
() => exports.ListEnforcedGuardrailsConfigurationRequest$,
() => exports.ListEnforcedGuardrailsConfigurationResponse$
];
exports.ListEvaluationJobs$ = [
9,
n0,
_LEJ,
{ [_ht]: ["GET", "/evaluation-jobs", 200] },
() => exports.ListEvaluationJobsRequest$,
() => exports.ListEvaluationJobsResponse$
];
exports.ListFoundationModelAgreementOffers$ = [
9,
n0,
_LFMAO,
{ [_ht]: ["GET", "/list-foundation-model-agreement-offers/{modelId}", 200] },
() => exports.ListFoundationModelAgreementOffersRequest$,
() => exports.ListFoundationModelAgreementOffersResponse$
];
exports.ListFoundationModels$ = [
9,
n0,
_LFM,
{ [_ht]: ["GET", "/foundation-models", 200] },
() => exports.ListFoundationModelsRequest$,
() => exports.ListFoundationModelsResponse$
];
exports.ListGuardrails$ = [
9,
n0,
_LG,
{ [_ht]: ["GET", "/guardrails", 200] },
() => exports.ListGuardrailsRequest$,
() => exports.ListGuardrailsResponse$
];
exports.ListImportedModels$ = [
9,
n0,
_LIM,
{ [_ht]: ["GET", "/imported-models", 200] },
() => exports.ListImportedModelsRequest$,
() => exports.ListImportedModelsResponse$
];
exports.ListInferenceProfiles$ = [
9,
n0,
_LIP,
{ [_ht]: ["GET", "/inference-profiles", 200] },
() => exports.ListInferenceProfilesRequest$,
() => exports.ListInferenceProfilesResponse$
];
exports.ListMarketplaceModelEndpoints$ = [
9,
n0,
_LMME,
{ [_ht]: ["GET", "/marketplace-model/endpoints", 200] },
() => exports.ListMarketplaceModelEndpointsRequest$,
() => exports.ListMarketplaceModelEndpointsResponse$
];
exports.ListModelCopyJobs$ = [
9,
n0,
_LMCJ,
{ [_ht]: ["GET", "/model-copy-jobs", 200] },
() => exports.ListModelCopyJobsRequest$,
() => exports.ListModelCopyJobsResponse$
];
exports.ListModelCustomizationJobs$ = [
9,
n0,
_LMCJi,
{ [_ht]: ["GET", "/model-customization-jobs", 200] },
() => exports.ListModelCustomizationJobsRequest$,
() => exports.ListModelCustomizationJobsResponse$
];
exports.ListModelImportJobs$ = [
9,
n0,
_LMIJ,
{ [_ht]: ["GET", "/model-import-jobs", 200] },
() => exports.ListModelImportJobsRequest$,
() => exports.ListModelImportJobsResponse$
];
exports.ListModelInvocationJobs$ = [
9,
n0,
_LMIJi,
{ [_ht]: ["GET", "/model-invocation-jobs", 200] },
() => exports.ListModelInvocationJobsRequest$,
() => exports.ListModelInvocationJobsResponse$
];
exports.ListPromptRouters$ = [
9,
n0,
_LPR,
{ [_ht]: ["GET", "/prompt-routers", 200] },
() => exports.ListPromptRoutersRequest$,
() => exports.ListPromptRoutersResponse$
];
exports.ListProvisionedModelThroughputs$ = [
9,
n0,
_LPMT,
{ [_ht]: ["GET", "/provisioned-model-throughputs", 200] },
() => exports.ListProvisionedModelThroughputsRequest$,
() => exports.ListProvisionedModelThroughputsResponse$
];
exports.ListTagsForResource$ = [
9,
n0,
_LTFR,
{ [_ht]: ["POST", "/listTagsForResource", 200] },
() => exports.ListTagsForResourceRequest$,
() => exports.ListTagsForResourceResponse$
];
exports.PutEnforcedGuardrailConfiguration$ = [
9,
n0,
_PEGC,
{ [_ht]: ["PUT", "/enforcedGuardrailsConfiguration", 200] },
() => exports.PutEnforcedGuardrailConfigurationRequest$,
() => exports.PutEnforcedGuardrailConfigurationResponse$
];
exports.PutModelInvocationLoggingConfiguration$ = [
9,
n0,
_PMILC,
{ [_ht]: ["PUT", "/logging/modelinvocations", 200] },
() => exports.PutModelInvocationLoggingConfigurationRequest$,
() => exports.PutModelInvocationLoggingConfigurationResponse$
];
exports.PutUseCaseForModelAccess$ = [
9,
n0,
_PUCFMA,
{ [_ht]: ["POST", "/use-case-for-model-access", 201] },
() => exports.PutUseCaseForModelAccessRequest$,
() => exports.PutUseCaseForModelAccessResponse$
];
exports.RegisterMarketplaceModelEndpoint$ = [
9,
n0,
_RMME,
{ [_ht]: ["POST", "/marketplace-model/endpoints/{endpointIdentifier}/registration", 200] },
() => exports.RegisterMarketplaceModelEndpointRequest$,
() => exports.RegisterMarketplaceModelEndpointResponse$
];
exports.StartAutomatedReasoningPolicyBuildWorkflow$ = [
9,
n0,
_SARPBW,
{ [_ht]: ["POST", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowType}/start", 200] },
() => exports.StartAutomatedReasoningPolicyBuildWorkflowRequest$,
() => exports.StartAutomatedReasoningPolicyBuildWorkflowResponse$
];
exports.StartAutomatedReasoningPolicyTestWorkflow$ = [
9,
n0,
_SARPTW,
{ [_ht]: ["POST", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/test-workflows", 200] },
() => exports.StartAutomatedReasoningPolicyTestWorkflowRequest$,
() => exports.StartAutomatedReasoningPolicyTestWorkflowResponse$
];
exports.StopEvaluationJob$ = [
9,
n0,
_SEJ,
{ [_ht]: ["POST", "/evaluation-job/{jobIdentifier}/stop", 200] },
() => exports.StopEvaluationJobRequest$,
() => exports.StopEvaluationJobResponse$
];
exports.StopModelCustomizationJob$ = [
9,
n0,
_SMCJ,
{ [_ht]: ["POST", "/model-customization-jobs/{jobIdentifier}/stop", 200] },
() => exports.StopModelCustomizationJobRequest$,
() => exports.StopModelCustomizationJobResponse$
];
exports.StopModelInvocationJob$ = [
9,
n0,
_SMIJ,
{ [_ht]: ["POST", "/model-invocation-job/{jobIdentifier}/stop", 200] },
() => exports.StopModelInvocationJobRequest$,
() => exports.StopModelInvocationJobResponse$
];
exports.TagResource$ = [
9,
n0,
_TR,
{ [_ht]: ["POST", "/tagResource", 200] },
() => exports.TagResourceRequest$,
() => exports.TagResourceResponse$
];
exports.UntagResource$ = [
9,
n0,
_UR,
{ [_ht]: ["POST", "/untagResource", 200] },
() => exports.UntagResourceRequest$,
() => exports.UntagResourceResponse$
];
exports.UpdateAutomatedReasoningPolicy$ = [
9,
n0,
_UARP,
{ [_ht]: ["PATCH", "/automated-reasoning-policies/{policyArn}", 200] },
() => exports.UpdateAutomatedReasoningPolicyRequest$,
() => exports.UpdateAutomatedReasoningPolicyResponse$
];
exports.UpdateAutomatedReasoningPolicyAnnotations$ = [
9,
n0,
_UARPA,
{ [_ht]: ["PATCH", "/automated-reasoning-policies/{policyArn}/build-workflows/{buildWorkflowId}/annotations", 200] },
() => exports.UpdateAutomatedReasoningPolicyAnnotationsRequest$,
() => exports.UpdateAutomatedReasoningPolicyAnnotationsResponse$
];
exports.UpdateAutomatedReasoningPolicyTestCase$ = [
9,
n0,
_UARPTC,
{ [_ht]: ["PATCH", "/automated-reasoning-policies/{policyArn}/test-cases/{testCaseId}", 200] },
() => exports.UpdateAutomatedReasoningPolicyTestCaseRequest$,
() => exports.UpdateAutomatedReasoningPolicyTestCaseResponse$
];
exports.UpdateCustomModelDeployment$ = [
9,
n0,
_UCMD,
{ [_ht]: ["PATCH", "/model-customization/custom-model-deployments/{customModelDeploymentIdentifier}", 202] },
() => exports.UpdateCustomModelDeploymentRequest$,
() => exports.UpdateCustomModelDeploymentResponse$
];
exports.UpdateGuardrail$ = [
9,
n0,
_UG,
{ [_ht]: ["PUT", "/guardrails/{guardrailIdentifier}", 202] },
() => exports.UpdateGuardrailRequest$,
() => exports.UpdateGuardrailResponse$
];
exports.UpdateMarketplaceModelEndpoint$ = [
9,
n0,
_UMME,
{ [_ht]: ["PATCH", "/marketplace-model/endpoints/{endpointArn}", 200] },
() => exports.UpdateMarketplaceModelEndpointRequest$,
() => exports.UpdateMarketplaceModelEndpointResponse$
];
exports.UpdateProvisionedModelThroughput$ = [
9,
n0,
_UPMT,
{ [_ht]: ["PATCH", "/provisioned-model-throughput/{provisionedModelId}", 200] },
() => exports.UpdateProvisionedModelThroughputRequest$,
() => exports.UpdateProvisionedModelThroughputResponse$
];
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/runtimeConfig.shared.js
var require_runtimeConfig_shared5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider5();
var endpointResolver_1 = require_endpointResolver5();
var schemas_0_1 = require_schemas_05();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2023-04-20",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultBedrockHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#httpBearerAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#httpBearerAuth"),
signer: new core_1.HttpBearerAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsRestJsonProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.bedrock",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
version: "2023-04-20",
serviceTarget: "AmazonBedrockControlPlaneService"
},
serviceId: config2?.serviceId ?? "Bedrock",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/runtimeConfig.js
var require_runtimeConfig5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package2());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var credential_provider_node_1 = require_dist_cjs54();
var token_providers_1 = require_dist_cjs48();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared5();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger,
signingName: "bedrock"
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
credentialDefaultProvider: config2?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#httpBearerAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#httpBearerAuth") || (async (idProps) => {
try {
return await (0, token_providers_1.fromEnvSigningName)({ signingName: "bedrock" })();
} catch (error49) {
return await (0, token_providers_1.nodeProvider)(idProps)(idProps);
}
}),
signer: new core_1.HttpBearerAuthSigner
}
],
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock@3.1020.0/node_modules/@aws-sdk/client-bedrock/dist-cjs/index.js
var require_dist_cjs55 = __commonJS((exports) => {
var middlewareHostHeader = require_dist_cjs27();
var middlewareLogger = require_dist_cjs28();
var middlewareRecursionDetection = require_dist_cjs29();
var middlewareUserAgent = require_dist_cjs34();
var configResolver = require_dist_cjs36();
var core2 = require_dist_cjs25();
var schema = require_schema();
var middlewareContentLength = require_dist_cjs37();
var middlewareEndpoint = require_dist_cjs39();
var middlewareRetry = require_dist_cjs40();
var smithyClient = require_dist_cjs23();
var httpAuthSchemeProvider = require_httpAuthSchemeProvider5();
var runtimeConfig = require_runtimeConfig5();
var regionConfigResolver = require_dist_cjs47();
var protocolHttp = require_dist_cjs2();
var schemas_0 = require_schemas_05();
var errors3 = require_errors6();
var BedrockServiceException = require_BedrockServiceException();
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
defaultSigningName: "bedrock"
});
};
var commonParams = {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
var getHttpAuthExtensionConfiguration = (runtimeConfig2) => {
const _httpAuthSchemes = runtimeConfig2.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig2.httpAuthSchemeProvider;
let _credentials = runtimeConfig2.credentials;
let _token = runtimeConfig2.token;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider2) {
_httpAuthSchemeProvider = httpAuthSchemeProvider2;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
},
setToken(token) {
_token = token;
},
token() {
return _token;
}
};
};
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials(),
token: config2.token()
};
};
var resolveRuntimeExtensions = (runtimeConfig2, extensions) => {
const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig2), smithyClient.getDefaultExtensionConfiguration(runtimeConfig2), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig2), getHttpAuthExtensionConfiguration(runtimeConfig2));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig2, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};
class BedrockClient extends smithyClient.Client {
config;
constructor(...[configuration]) {
const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = resolveClientEndpointParameters(_config_0);
const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);
const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);
const _config_4 = configResolver.resolveRegionConfig(_config_3);
const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);
const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);
const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);
const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));
this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));
this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));
this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));
this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));
this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));
this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));
this.middlewareStack.use(core2.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultBedrockHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core2.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials,
"smithy.api#httpBearerAuth": config2.token
})
}));
this.middlewareStack.use(core2.getHttpSigningPlugin(this.config));
}
destroy() {
super.destroy();
}
}
class BatchDeleteEvaluationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "BatchDeleteEvaluationJob", {}).n("BedrockClient", "BatchDeleteEvaluationJobCommand").sc(schemas_0.BatchDeleteEvaluationJob$).build() {
}
class CancelAutomatedReasoningPolicyBuildWorkflowCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CancelAutomatedReasoningPolicyBuildWorkflow", {}).n("BedrockClient", "CancelAutomatedReasoningPolicyBuildWorkflowCommand").sc(schemas_0.CancelAutomatedReasoningPolicyBuildWorkflow$).build() {
}
class CreateAutomatedReasoningPolicyCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateAutomatedReasoningPolicy", {}).n("BedrockClient", "CreateAutomatedReasoningPolicyCommand").sc(schemas_0.CreateAutomatedReasoningPolicy$).build() {
}
class CreateAutomatedReasoningPolicyTestCaseCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateAutomatedReasoningPolicyTestCase", {}).n("BedrockClient", "CreateAutomatedReasoningPolicyTestCaseCommand").sc(schemas_0.CreateAutomatedReasoningPolicyTestCase$).build() {
}
class CreateAutomatedReasoningPolicyVersionCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateAutomatedReasoningPolicyVersion", {}).n("BedrockClient", "CreateAutomatedReasoningPolicyVersionCommand").sc(schemas_0.CreateAutomatedReasoningPolicyVersion$).build() {
}
class CreateCustomModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateCustomModel", {}).n("BedrockClient", "CreateCustomModelCommand").sc(schemas_0.CreateCustomModel$).build() {
}
class CreateCustomModelDeploymentCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateCustomModelDeployment", {}).n("BedrockClient", "CreateCustomModelDeploymentCommand").sc(schemas_0.CreateCustomModelDeployment$).build() {
}
class CreateEvaluationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateEvaluationJob", {}).n("BedrockClient", "CreateEvaluationJobCommand").sc(schemas_0.CreateEvaluationJob$).build() {
}
class CreateFoundationModelAgreementCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateFoundationModelAgreement", {}).n("BedrockClient", "CreateFoundationModelAgreementCommand").sc(schemas_0.CreateFoundationModelAgreement$).build() {
}
class CreateGuardrailCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateGuardrail", {}).n("BedrockClient", "CreateGuardrailCommand").sc(schemas_0.CreateGuardrail$).build() {
}
class CreateGuardrailVersionCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateGuardrailVersion", {}).n("BedrockClient", "CreateGuardrailVersionCommand").sc(schemas_0.CreateGuardrailVersion$).build() {
}
class CreateInferenceProfileCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateInferenceProfile", {}).n("BedrockClient", "CreateInferenceProfileCommand").sc(schemas_0.CreateInferenceProfile$).build() {
}
class CreateMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateMarketplaceModelEndpoint", {}).n("BedrockClient", "CreateMarketplaceModelEndpointCommand").sc(schemas_0.CreateMarketplaceModelEndpoint$).build() {
}
class CreateModelCopyJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateModelCopyJob", {}).n("BedrockClient", "CreateModelCopyJobCommand").sc(schemas_0.CreateModelCopyJob$).build() {
}
class CreateModelCustomizationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateModelCustomizationJob", {}).n("BedrockClient", "CreateModelCustomizationJobCommand").sc(schemas_0.CreateModelCustomizationJob$).build() {
}
class CreateModelImportJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateModelImportJob", {}).n("BedrockClient", "CreateModelImportJobCommand").sc(schemas_0.CreateModelImportJob$).build() {
}
class CreateModelInvocationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateModelInvocationJob", {}).n("BedrockClient", "CreateModelInvocationJobCommand").sc(schemas_0.CreateModelInvocationJob$).build() {
}
class CreatePromptRouterCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreatePromptRouter", {}).n("BedrockClient", "CreatePromptRouterCommand").sc(schemas_0.CreatePromptRouter$).build() {
}
class CreateProvisionedModelThroughputCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "CreateProvisionedModelThroughput", {}).n("BedrockClient", "CreateProvisionedModelThroughputCommand").sc(schemas_0.CreateProvisionedModelThroughput$).build() {
}
class DeleteAutomatedReasoningPolicyBuildWorkflowCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteAutomatedReasoningPolicyBuildWorkflow", {}).n("BedrockClient", "DeleteAutomatedReasoningPolicyBuildWorkflowCommand").sc(schemas_0.DeleteAutomatedReasoningPolicyBuildWorkflow$).build() {
}
class DeleteAutomatedReasoningPolicyCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteAutomatedReasoningPolicy", {}).n("BedrockClient", "DeleteAutomatedReasoningPolicyCommand").sc(schemas_0.DeleteAutomatedReasoningPolicy$).build() {
}
class DeleteAutomatedReasoningPolicyTestCaseCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteAutomatedReasoningPolicyTestCase", {}).n("BedrockClient", "DeleteAutomatedReasoningPolicyTestCaseCommand").sc(schemas_0.DeleteAutomatedReasoningPolicyTestCase$).build() {
}
class DeleteCustomModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteCustomModel", {}).n("BedrockClient", "DeleteCustomModelCommand").sc(schemas_0.DeleteCustomModel$).build() {
}
class DeleteCustomModelDeploymentCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteCustomModelDeployment", {}).n("BedrockClient", "DeleteCustomModelDeploymentCommand").sc(schemas_0.DeleteCustomModelDeployment$).build() {
}
class DeleteEnforcedGuardrailConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteEnforcedGuardrailConfiguration", {}).n("BedrockClient", "DeleteEnforcedGuardrailConfigurationCommand").sc(schemas_0.DeleteEnforcedGuardrailConfiguration$).build() {
}
class DeleteFoundationModelAgreementCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteFoundationModelAgreement", {}).n("BedrockClient", "DeleteFoundationModelAgreementCommand").sc(schemas_0.DeleteFoundationModelAgreement$).build() {
}
class DeleteGuardrailCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteGuardrail", {}).n("BedrockClient", "DeleteGuardrailCommand").sc(schemas_0.DeleteGuardrail$).build() {
}
class DeleteImportedModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteImportedModel", {}).n("BedrockClient", "DeleteImportedModelCommand").sc(schemas_0.DeleteImportedModel$).build() {
}
class DeleteInferenceProfileCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteInferenceProfile", {}).n("BedrockClient", "DeleteInferenceProfileCommand").sc(schemas_0.DeleteInferenceProfile$).build() {
}
class DeleteMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteMarketplaceModelEndpoint", {}).n("BedrockClient", "DeleteMarketplaceModelEndpointCommand").sc(schemas_0.DeleteMarketplaceModelEndpoint$).build() {
}
class DeleteModelInvocationLoggingConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteModelInvocationLoggingConfiguration", {}).n("BedrockClient", "DeleteModelInvocationLoggingConfigurationCommand").sc(schemas_0.DeleteModelInvocationLoggingConfiguration$).build() {
}
class DeletePromptRouterCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeletePromptRouter", {}).n("BedrockClient", "DeletePromptRouterCommand").sc(schemas_0.DeletePromptRouter$).build() {
}
class DeleteProvisionedModelThroughputCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeleteProvisionedModelThroughput", {}).n("BedrockClient", "DeleteProvisionedModelThroughputCommand").sc(schemas_0.DeleteProvisionedModelThroughput$).build() {
}
class DeregisterMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "DeregisterMarketplaceModelEndpoint", {}).n("BedrockClient", "DeregisterMarketplaceModelEndpointCommand").sc(schemas_0.DeregisterMarketplaceModelEndpoint$).build() {
}
class ExportAutomatedReasoningPolicyVersionCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ExportAutomatedReasoningPolicyVersion", {}).n("BedrockClient", "ExportAutomatedReasoningPolicyVersionCommand").sc(schemas_0.ExportAutomatedReasoningPolicyVersion$).build() {
}
class GetAutomatedReasoningPolicyAnnotationsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyAnnotations", {}).n("BedrockClient", "GetAutomatedReasoningPolicyAnnotationsCommand").sc(schemas_0.GetAutomatedReasoningPolicyAnnotations$).build() {
}
class GetAutomatedReasoningPolicyBuildWorkflowCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyBuildWorkflow", {}).n("BedrockClient", "GetAutomatedReasoningPolicyBuildWorkflowCommand").sc(schemas_0.GetAutomatedReasoningPolicyBuildWorkflow$).build() {
}
class GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyBuildWorkflowResultAssets", {}).n("BedrockClient", "GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand").sc(schemas_0.GetAutomatedReasoningPolicyBuildWorkflowResultAssets$).build() {
}
class GetAutomatedReasoningPolicyCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicy", {}).n("BedrockClient", "GetAutomatedReasoningPolicyCommand").sc(schemas_0.GetAutomatedReasoningPolicy$).build() {
}
class GetAutomatedReasoningPolicyNextScenarioCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyNextScenario", {}).n("BedrockClient", "GetAutomatedReasoningPolicyNextScenarioCommand").sc(schemas_0.GetAutomatedReasoningPolicyNextScenario$).build() {
}
class GetAutomatedReasoningPolicyTestCaseCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyTestCase", {}).n("BedrockClient", "GetAutomatedReasoningPolicyTestCaseCommand").sc(schemas_0.GetAutomatedReasoningPolicyTestCase$).build() {
}
class GetAutomatedReasoningPolicyTestResultCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetAutomatedReasoningPolicyTestResult", {}).n("BedrockClient", "GetAutomatedReasoningPolicyTestResultCommand").sc(schemas_0.GetAutomatedReasoningPolicyTestResult$).build() {
}
class GetCustomModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetCustomModel", {}).n("BedrockClient", "GetCustomModelCommand").sc(schemas_0.GetCustomModel$).build() {
}
class GetCustomModelDeploymentCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetCustomModelDeployment", {}).n("BedrockClient", "GetCustomModelDeploymentCommand").sc(schemas_0.GetCustomModelDeployment$).build() {
}
class GetEvaluationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetEvaluationJob", {}).n("BedrockClient", "GetEvaluationJobCommand").sc(schemas_0.GetEvaluationJob$).build() {
}
class GetFoundationModelAvailabilityCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetFoundationModelAvailability", {}).n("BedrockClient", "GetFoundationModelAvailabilityCommand").sc(schemas_0.GetFoundationModelAvailability$).build() {
}
class GetFoundationModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetFoundationModel", {}).n("BedrockClient", "GetFoundationModelCommand").sc(schemas_0.GetFoundationModel$).build() {
}
class GetGuardrailCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetGuardrail", {}).n("BedrockClient", "GetGuardrailCommand").sc(schemas_0.GetGuardrail$).build() {
}
class GetImportedModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetImportedModel", {}).n("BedrockClient", "GetImportedModelCommand").sc(schemas_0.GetImportedModel$).build() {
}
class GetInferenceProfileCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetInferenceProfile", {}).n("BedrockClient", "GetInferenceProfileCommand").sc(schemas_0.GetInferenceProfile$).build() {
}
class GetMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetMarketplaceModelEndpoint", {}).n("BedrockClient", "GetMarketplaceModelEndpointCommand").sc(schemas_0.GetMarketplaceModelEndpoint$).build() {
}
class GetModelCopyJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetModelCopyJob", {}).n("BedrockClient", "GetModelCopyJobCommand").sc(schemas_0.GetModelCopyJob$).build() {
}
class GetModelCustomizationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetModelCustomizationJob", {}).n("BedrockClient", "GetModelCustomizationJobCommand").sc(schemas_0.GetModelCustomizationJob$).build() {
}
class GetModelImportJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetModelImportJob", {}).n("BedrockClient", "GetModelImportJobCommand").sc(schemas_0.GetModelImportJob$).build() {
}
class GetModelInvocationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetModelInvocationJob", {}).n("BedrockClient", "GetModelInvocationJobCommand").sc(schemas_0.GetModelInvocationJob$).build() {
}
class GetModelInvocationLoggingConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetModelInvocationLoggingConfiguration", {}).n("BedrockClient", "GetModelInvocationLoggingConfigurationCommand").sc(schemas_0.GetModelInvocationLoggingConfiguration$).build() {
}
class GetPromptRouterCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetPromptRouter", {}).n("BedrockClient", "GetPromptRouterCommand").sc(schemas_0.GetPromptRouter$).build() {
}
class GetProvisionedModelThroughputCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetProvisionedModelThroughput", {}).n("BedrockClient", "GetProvisionedModelThroughputCommand").sc(schemas_0.GetProvisionedModelThroughput$).build() {
}
class GetUseCaseForModelAccessCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "GetUseCaseForModelAccess", {}).n("BedrockClient", "GetUseCaseForModelAccessCommand").sc(schemas_0.GetUseCaseForModelAccess$).build() {
}
class ListAutomatedReasoningPoliciesCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListAutomatedReasoningPolicies", {}).n("BedrockClient", "ListAutomatedReasoningPoliciesCommand").sc(schemas_0.ListAutomatedReasoningPolicies$).build() {
}
class ListAutomatedReasoningPolicyBuildWorkflowsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListAutomatedReasoningPolicyBuildWorkflows", {}).n("BedrockClient", "ListAutomatedReasoningPolicyBuildWorkflowsCommand").sc(schemas_0.ListAutomatedReasoningPolicyBuildWorkflows$).build() {
}
class ListAutomatedReasoningPolicyTestCasesCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListAutomatedReasoningPolicyTestCases", {}).n("BedrockClient", "ListAutomatedReasoningPolicyTestCasesCommand").sc(schemas_0.ListAutomatedReasoningPolicyTestCases$).build() {
}
class ListAutomatedReasoningPolicyTestResultsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListAutomatedReasoningPolicyTestResults", {}).n("BedrockClient", "ListAutomatedReasoningPolicyTestResultsCommand").sc(schemas_0.ListAutomatedReasoningPolicyTestResults$).build() {
}
class ListCustomModelDeploymentsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListCustomModelDeployments", {}).n("BedrockClient", "ListCustomModelDeploymentsCommand").sc(schemas_0.ListCustomModelDeployments$).build() {
}
class ListCustomModelsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListCustomModels", {}).n("BedrockClient", "ListCustomModelsCommand").sc(schemas_0.ListCustomModels$).build() {
}
class ListEnforcedGuardrailsConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListEnforcedGuardrailsConfiguration", {}).n("BedrockClient", "ListEnforcedGuardrailsConfigurationCommand").sc(schemas_0.ListEnforcedGuardrailsConfiguration$).build() {
}
class ListEvaluationJobsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListEvaluationJobs", {}).n("BedrockClient", "ListEvaluationJobsCommand").sc(schemas_0.ListEvaluationJobs$).build() {
}
class ListFoundationModelAgreementOffersCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListFoundationModelAgreementOffers", {}).n("BedrockClient", "ListFoundationModelAgreementOffersCommand").sc(schemas_0.ListFoundationModelAgreementOffers$).build() {
}
class ListFoundationModelsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListFoundationModels", {}).n("BedrockClient", "ListFoundationModelsCommand").sc(schemas_0.ListFoundationModels$).build() {
}
class ListGuardrailsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListGuardrails", {}).n("BedrockClient", "ListGuardrailsCommand").sc(schemas_0.ListGuardrails$).build() {
}
class ListImportedModelsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListImportedModels", {}).n("BedrockClient", "ListImportedModelsCommand").sc(schemas_0.ListImportedModels$).build() {
}
class ListInferenceProfilesCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListInferenceProfiles", {}).n("BedrockClient", "ListInferenceProfilesCommand").sc(schemas_0.ListInferenceProfiles$).build() {
}
class ListMarketplaceModelEndpointsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListMarketplaceModelEndpoints", {}).n("BedrockClient", "ListMarketplaceModelEndpointsCommand").sc(schemas_0.ListMarketplaceModelEndpoints$).build() {
}
class ListModelCopyJobsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListModelCopyJobs", {}).n("BedrockClient", "ListModelCopyJobsCommand").sc(schemas_0.ListModelCopyJobs$).build() {
}
class ListModelCustomizationJobsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListModelCustomizationJobs", {}).n("BedrockClient", "ListModelCustomizationJobsCommand").sc(schemas_0.ListModelCustomizationJobs$).build() {
}
class ListModelImportJobsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListModelImportJobs", {}).n("BedrockClient", "ListModelImportJobsCommand").sc(schemas_0.ListModelImportJobs$).build() {
}
class ListModelInvocationJobsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListModelInvocationJobs", {}).n("BedrockClient", "ListModelInvocationJobsCommand").sc(schemas_0.ListModelInvocationJobs$).build() {
}
class ListPromptRoutersCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListPromptRouters", {}).n("BedrockClient", "ListPromptRoutersCommand").sc(schemas_0.ListPromptRouters$).build() {
}
class ListProvisionedModelThroughputsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListProvisionedModelThroughputs", {}).n("BedrockClient", "ListProvisionedModelThroughputsCommand").sc(schemas_0.ListProvisionedModelThroughputs$).build() {
}
class ListTagsForResourceCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "ListTagsForResource", {}).n("BedrockClient", "ListTagsForResourceCommand").sc(schemas_0.ListTagsForResource$).build() {
}
class PutEnforcedGuardrailConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "PutEnforcedGuardrailConfiguration", {}).n("BedrockClient", "PutEnforcedGuardrailConfigurationCommand").sc(schemas_0.PutEnforcedGuardrailConfiguration$).build() {
}
class PutModelInvocationLoggingConfigurationCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "PutModelInvocationLoggingConfiguration", {}).n("BedrockClient", "PutModelInvocationLoggingConfigurationCommand").sc(schemas_0.PutModelInvocationLoggingConfiguration$).build() {
}
class PutUseCaseForModelAccessCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "PutUseCaseForModelAccess", {}).n("BedrockClient", "PutUseCaseForModelAccessCommand").sc(schemas_0.PutUseCaseForModelAccess$).build() {
}
class RegisterMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "RegisterMarketplaceModelEndpoint", {}).n("BedrockClient", "RegisterMarketplaceModelEndpointCommand").sc(schemas_0.RegisterMarketplaceModelEndpoint$).build() {
}
class StartAutomatedReasoningPolicyBuildWorkflowCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "StartAutomatedReasoningPolicyBuildWorkflow", {}).n("BedrockClient", "StartAutomatedReasoningPolicyBuildWorkflowCommand").sc(schemas_0.StartAutomatedReasoningPolicyBuildWorkflow$).build() {
}
class StartAutomatedReasoningPolicyTestWorkflowCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "StartAutomatedReasoningPolicyTestWorkflow", {}).n("BedrockClient", "StartAutomatedReasoningPolicyTestWorkflowCommand").sc(schemas_0.StartAutomatedReasoningPolicyTestWorkflow$).build() {
}
class StopEvaluationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "StopEvaluationJob", {}).n("BedrockClient", "StopEvaluationJobCommand").sc(schemas_0.StopEvaluationJob$).build() {
}
class StopModelCustomizationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "StopModelCustomizationJob", {}).n("BedrockClient", "StopModelCustomizationJobCommand").sc(schemas_0.StopModelCustomizationJob$).build() {
}
class StopModelInvocationJobCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "StopModelInvocationJob", {}).n("BedrockClient", "StopModelInvocationJobCommand").sc(schemas_0.StopModelInvocationJob$).build() {
}
class TagResourceCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "TagResource", {}).n("BedrockClient", "TagResourceCommand").sc(schemas_0.TagResource$).build() {
}
class UntagResourceCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UntagResource", {}).n("BedrockClient", "UntagResourceCommand").sc(schemas_0.UntagResource$).build() {
}
class UpdateAutomatedReasoningPolicyAnnotationsCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateAutomatedReasoningPolicyAnnotations", {}).n("BedrockClient", "UpdateAutomatedReasoningPolicyAnnotationsCommand").sc(schemas_0.UpdateAutomatedReasoningPolicyAnnotations$).build() {
}
class UpdateAutomatedReasoningPolicyCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateAutomatedReasoningPolicy", {}).n("BedrockClient", "UpdateAutomatedReasoningPolicyCommand").sc(schemas_0.UpdateAutomatedReasoningPolicy$).build() {
}
class UpdateAutomatedReasoningPolicyTestCaseCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateAutomatedReasoningPolicyTestCase", {}).n("BedrockClient", "UpdateAutomatedReasoningPolicyTestCaseCommand").sc(schemas_0.UpdateAutomatedReasoningPolicyTestCase$).build() {
}
class UpdateCustomModelDeploymentCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateCustomModelDeployment", {}).n("BedrockClient", "UpdateCustomModelDeploymentCommand").sc(schemas_0.UpdateCustomModelDeployment$).build() {
}
class UpdateGuardrailCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateGuardrail", {}).n("BedrockClient", "UpdateGuardrailCommand").sc(schemas_0.UpdateGuardrail$).build() {
}
class UpdateMarketplaceModelEndpointCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateMarketplaceModelEndpoint", {}).n("BedrockClient", "UpdateMarketplaceModelEndpointCommand").sc(schemas_0.UpdateMarketplaceModelEndpoint$).build() {
}
class UpdateProvisionedModelThroughputCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockControlPlaneService", "UpdateProvisionedModelThroughput", {}).n("BedrockClient", "UpdateProvisionedModelThroughputCommand").sc(schemas_0.UpdateProvisionedModelThroughput$).build() {
}
var paginateListAutomatedReasoningPolicies = core2.createPaginator(BedrockClient, ListAutomatedReasoningPoliciesCommand, "nextToken", "nextToken", "maxResults");
var paginateListAutomatedReasoningPolicyBuildWorkflows = core2.createPaginator(BedrockClient, ListAutomatedReasoningPolicyBuildWorkflowsCommand, "nextToken", "nextToken", "maxResults");
var paginateListAutomatedReasoningPolicyTestCases = core2.createPaginator(BedrockClient, ListAutomatedReasoningPolicyTestCasesCommand, "nextToken", "nextToken", "maxResults");
var paginateListAutomatedReasoningPolicyTestResults = core2.createPaginator(BedrockClient, ListAutomatedReasoningPolicyTestResultsCommand, "nextToken", "nextToken", "maxResults");
var paginateListCustomModelDeployments = core2.createPaginator(BedrockClient, ListCustomModelDeploymentsCommand, "nextToken", "nextToken", "maxResults");
var paginateListCustomModels = core2.createPaginator(BedrockClient, ListCustomModelsCommand, "nextToken", "nextToken", "maxResults");
var paginateListEnforcedGuardrailsConfiguration = core2.createPaginator(BedrockClient, ListEnforcedGuardrailsConfigurationCommand, "nextToken", "nextToken", "");
var paginateListEvaluationJobs = core2.createPaginator(BedrockClient, ListEvaluationJobsCommand, "nextToken", "nextToken", "maxResults");
var paginateListGuardrails = core2.createPaginator(BedrockClient, ListGuardrailsCommand, "nextToken", "nextToken", "maxResults");
var paginateListImportedModels = core2.createPaginator(BedrockClient, ListImportedModelsCommand, "nextToken", "nextToken", "maxResults");
var paginateListInferenceProfiles = core2.createPaginator(BedrockClient, ListInferenceProfilesCommand, "nextToken", "nextToken", "maxResults");
var paginateListMarketplaceModelEndpoints = core2.createPaginator(BedrockClient, ListMarketplaceModelEndpointsCommand, "nextToken", "nextToken", "maxResults");
var paginateListModelCopyJobs = core2.createPaginator(BedrockClient, ListModelCopyJobsCommand, "nextToken", "nextToken", "maxResults");
var paginateListModelCustomizationJobs = core2.createPaginator(BedrockClient, ListModelCustomizationJobsCommand, "nextToken", "nextToken", "maxResults");
var paginateListModelImportJobs = core2.createPaginator(BedrockClient, ListModelImportJobsCommand, "nextToken", "nextToken", "maxResults");
var paginateListModelInvocationJobs = core2.createPaginator(BedrockClient, ListModelInvocationJobsCommand, "nextToken", "nextToken", "maxResults");
var paginateListPromptRouters = core2.createPaginator(BedrockClient, ListPromptRoutersCommand, "nextToken", "nextToken", "maxResults");
var paginateListProvisionedModelThroughputs = core2.createPaginator(BedrockClient, ListProvisionedModelThroughputsCommand, "nextToken", "nextToken", "maxResults");
var commands = {
BatchDeleteEvaluationJobCommand,
CancelAutomatedReasoningPolicyBuildWorkflowCommand,
CreateAutomatedReasoningPolicyCommand,
CreateAutomatedReasoningPolicyTestCaseCommand,
CreateAutomatedReasoningPolicyVersionCommand,
CreateCustomModelCommand,
CreateCustomModelDeploymentCommand,
CreateEvaluationJobCommand,
CreateFoundationModelAgreementCommand,
CreateGuardrailCommand,
CreateGuardrailVersionCommand,
CreateInferenceProfileCommand,
CreateMarketplaceModelEndpointCommand,
CreateModelCopyJobCommand,
CreateModelCustomizationJobCommand,
CreateModelImportJobCommand,
CreateModelInvocationJobCommand,
CreatePromptRouterCommand,
CreateProvisionedModelThroughputCommand,
DeleteAutomatedReasoningPolicyCommand,
DeleteAutomatedReasoningPolicyBuildWorkflowCommand,
DeleteAutomatedReasoningPolicyTestCaseCommand,
DeleteCustomModelCommand,
DeleteCustomModelDeploymentCommand,
DeleteEnforcedGuardrailConfigurationCommand,
DeleteFoundationModelAgreementCommand,
DeleteGuardrailCommand,
DeleteImportedModelCommand,
DeleteInferenceProfileCommand,
DeleteMarketplaceModelEndpointCommand,
DeleteModelInvocationLoggingConfigurationCommand,
DeletePromptRouterCommand,
DeleteProvisionedModelThroughputCommand,
DeregisterMarketplaceModelEndpointCommand,
ExportAutomatedReasoningPolicyVersionCommand,
GetAutomatedReasoningPolicyCommand,
GetAutomatedReasoningPolicyAnnotationsCommand,
GetAutomatedReasoningPolicyBuildWorkflowCommand,
GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand,
GetAutomatedReasoningPolicyNextScenarioCommand,
GetAutomatedReasoningPolicyTestCaseCommand,
GetAutomatedReasoningPolicyTestResultCommand,
GetCustomModelCommand,
GetCustomModelDeploymentCommand,
GetEvaluationJobCommand,
GetFoundationModelCommand,
GetFoundationModelAvailabilityCommand,
GetGuardrailCommand,
GetImportedModelCommand,
GetInferenceProfileCommand,
GetMarketplaceModelEndpointCommand,
GetModelCopyJobCommand,
GetModelCustomizationJobCommand,
GetModelImportJobCommand,
GetModelInvocationJobCommand,
GetModelInvocationLoggingConfigurationCommand,
GetPromptRouterCommand,
GetProvisionedModelThroughputCommand,
GetUseCaseForModelAccessCommand,
ListAutomatedReasoningPoliciesCommand,
ListAutomatedReasoningPolicyBuildWorkflowsCommand,
ListAutomatedReasoningPolicyTestCasesCommand,
ListAutomatedReasoningPolicyTestResultsCommand,
ListCustomModelDeploymentsCommand,
ListCustomModelsCommand,
ListEnforcedGuardrailsConfigurationCommand,
ListEvaluationJobsCommand,
ListFoundationModelAgreementOffersCommand,
ListFoundationModelsCommand,
ListGuardrailsCommand,
ListImportedModelsCommand,
ListInferenceProfilesCommand,
ListMarketplaceModelEndpointsCommand,
ListModelCopyJobsCommand,
ListModelCustomizationJobsCommand,
ListModelImportJobsCommand,
ListModelInvocationJobsCommand,
ListPromptRoutersCommand,
ListProvisionedModelThroughputsCommand,
ListTagsForResourceCommand,
PutEnforcedGuardrailConfigurationCommand,
PutModelInvocationLoggingConfigurationCommand,
PutUseCaseForModelAccessCommand,
RegisterMarketplaceModelEndpointCommand,
StartAutomatedReasoningPolicyBuildWorkflowCommand,
StartAutomatedReasoningPolicyTestWorkflowCommand,
StopEvaluationJobCommand,
StopModelCustomizationJobCommand,
StopModelInvocationJobCommand,
TagResourceCommand,
UntagResourceCommand,
UpdateAutomatedReasoningPolicyCommand,
UpdateAutomatedReasoningPolicyAnnotationsCommand,
UpdateAutomatedReasoningPolicyTestCaseCommand,
UpdateCustomModelDeploymentCommand,
UpdateGuardrailCommand,
UpdateMarketplaceModelEndpointCommand,
UpdateProvisionedModelThroughputCommand
};
var paginators = {
paginateListAutomatedReasoningPolicies,
paginateListAutomatedReasoningPolicyBuildWorkflows,
paginateListAutomatedReasoningPolicyTestCases,
paginateListAutomatedReasoningPolicyTestResults,
paginateListCustomModelDeployments,
paginateListCustomModels,
paginateListEnforcedGuardrailsConfiguration,
paginateListEvaluationJobs,
paginateListGuardrails,
paginateListImportedModels,
paginateListInferenceProfiles,
paginateListMarketplaceModelEndpoints,
paginateListModelCopyJobs,
paginateListModelCustomizationJobs,
paginateListModelImportJobs,
paginateListModelInvocationJobs,
paginateListPromptRouters,
paginateListProvisionedModelThroughputs
};
class Bedrock extends BedrockClient {
}
smithyClient.createAggregatedClient(commands, Bedrock, { paginators });
var InputTags = {
HONOR: "HONOR",
IGNORE: "IGNORE"
};
var ConfigurationOwner = {
ACCOUNT: "ACCOUNT"
};
var AgreementStatus = {
AVAILABLE: "AVAILABLE",
ERROR: "ERROR",
NOT_AVAILABLE: "NOT_AVAILABLE",
PENDING: "PENDING"
};
var AutomatedReasoningCheckResult = {
IMPOSSIBLE: "IMPOSSIBLE",
INVALID: "INVALID",
NO_TRANSLATION: "NO_TRANSLATION",
SATISFIABLE: "SATISFIABLE",
TOO_COMPLEX: "TOO_COMPLEX",
TRANSLATION_AMBIGUOUS: "TRANSLATION_AMBIGUOUS",
VALID: "VALID"
};
var AutomatedReasoningPolicyBuildWorkflowType = {
GENERATE_FIDELITY_REPORT: "GENERATE_FIDELITY_REPORT",
GENERATE_POLICY_SCENARIOS: "GENERATE_POLICY_SCENARIOS",
IMPORT_POLICY: "IMPORT_POLICY",
INGEST_CONTENT: "INGEST_CONTENT",
REFINE_POLICY: "REFINE_POLICY"
};
var AutomatedReasoningPolicyBuildDocumentContentType = {
PDF: "pdf",
TEXT: "txt"
};
var AutomatedReasoningPolicyBuildWorkflowStatus = {
BUILDING: "BUILDING",
CANCELLED: "CANCELLED",
CANCEL_REQUESTED: "CANCEL_REQUESTED",
COMPLETED: "COMPLETED",
FAILED: "FAILED",
PREPROCESSING: "PREPROCESSING",
SCHEDULED: "SCHEDULED",
TESTING: "TESTING"
};
var AutomatedReasoningPolicyBuildResultAssetType = {
ASSET_MANIFEST: "ASSET_MANIFEST",
BUILD_LOG: "BUILD_LOG",
FIDELITY_REPORT: "FIDELITY_REPORT",
GENERATED_TEST_CASES: "GENERATED_TEST_CASES",
POLICY_DEFINITION: "POLICY_DEFINITION",
POLICY_SCENARIOS: "POLICY_SCENARIOS",
QUALITY_REPORT: "QUALITY_REPORT",
SOURCE_DOCUMENT: "SOURCE_DOCUMENT"
};
var AutomatedReasoningPolicyBuildMessageType = {
ERROR: "ERROR",
INFO: "INFO",
WARNING: "WARNING"
};
var AutomatedReasoningPolicyAnnotationStatus = {
APPLIED: "APPLIED",
FAILED: "FAILED"
};
var AutomatedReasoningCheckLogicWarningType = {
ALWAYS_FALSE: "ALWAYS_FALSE",
ALWAYS_TRUE: "ALWAYS_TRUE"
};
var AutomatedReasoningPolicyTestRunResult = {
FAILED: "FAILED",
PASSED: "PASSED"
};
var AutomatedReasoningPolicyTestRunStatus = {
COMPLETED: "COMPLETED",
FAILED: "FAILED",
IN_PROGRESS: "IN_PROGRESS",
NOT_STARTED: "NOT_STARTED",
SCHEDULED: "SCHEDULED"
};
var Status = {
INCOMPATIBLE_ENDPOINT: "INCOMPATIBLE_ENDPOINT",
REGISTERED: "REGISTERED"
};
var CustomModelDeploymentStatus = {
ACTIVE: "Active",
CREATING: "Creating",
FAILED: "Failed"
};
var CustomModelDeploymentUpdateStatus = {
UPDATE_COMPLETED: "UpdateCompleted",
UPDATE_FAILED: "UpdateFailed",
UPDATING: "Updating"
};
var SortModelsBy = {
CREATION_TIME: "CreationTime"
};
var SortOrder = {
ASCENDING: "Ascending",
DESCENDING: "Descending"
};
var ReasoningEffort = {
HIGH: "high",
LOW: "low",
MEDIUM: "medium"
};
var CustomizationType = {
CONTINUED_PRE_TRAINING: "CONTINUED_PRE_TRAINING",
DISTILLATION: "DISTILLATION",
FINE_TUNING: "FINE_TUNING",
IMPORTED: "IMPORTED",
REINFORCEMENT_FINE_TUNING: "REINFORCEMENT_FINE_TUNING"
};
var ModelStatus = {
ACTIVE: "Active",
CREATING: "Creating",
FAILED: "Failed"
};
var EvaluationJobStatus = {
COMPLETED: "Completed",
DELETING: "Deleting",
FAILED: "Failed",
IN_PROGRESS: "InProgress",
STOPPED: "Stopped",
STOPPING: "Stopping"
};
var ApplicationType = {
MODEL_EVALUATION: "ModelEvaluation",
RAG_EVALUATION: "RagEvaluation"
};
var EvaluationTaskType = {
CLASSIFICATION: "Classification",
CUSTOM: "Custom",
GENERATION: "Generation",
QUESTION_AND_ANSWER: "QuestionAndAnswer",
SUMMARIZATION: "Summarization"
};
var PerformanceConfigLatency = {
OPTIMIZED: "optimized",
STANDARD: "standard"
};
var ExternalSourceType = {
BYTE_CONTENT: "BYTE_CONTENT",
S3: "S3"
};
var QueryTransformationType = {
QUERY_DECOMPOSITION: "QUERY_DECOMPOSITION"
};
var AttributeType = {
BOOLEAN: "BOOLEAN",
NUMBER: "NUMBER",
STRING: "STRING",
STRING_LIST: "STRING_LIST"
};
var SearchType = {
HYBRID: "HYBRID",
SEMANTIC: "SEMANTIC"
};
var RerankingMetadataSelectionMode = {
ALL: "ALL",
SELECTIVE: "SELECTIVE"
};
var VectorSearchRerankingConfigurationType = {
BEDROCK_RERANKING_MODEL: "BEDROCK_RERANKING_MODEL"
};
var RetrieveAndGenerateType = {
EXTERNAL_SOURCES: "EXTERNAL_SOURCES",
KNOWLEDGE_BASE: "KNOWLEDGE_BASE"
};
var EvaluationJobType = {
AUTOMATED: "Automated",
HUMAN: "Human"
};
var SortJobsBy = {
CREATION_TIME: "CreationTime"
};
var GuardrailContentFilterAction = {
BLOCK: "BLOCK",
NONE: "NONE"
};
var GuardrailModality = {
IMAGE: "IMAGE",
TEXT: "TEXT"
};
var GuardrailFilterStrength = {
HIGH: "HIGH",
LOW: "LOW",
MEDIUM: "MEDIUM",
NONE: "NONE"
};
var GuardrailContentFilterType = {
HATE: "HATE",
INSULTS: "INSULTS",
MISCONDUCT: "MISCONDUCT",
PROMPT_ATTACK: "PROMPT_ATTACK",
SEXUAL: "SEXUAL",
VIOLENCE: "VIOLENCE"
};
var GuardrailContentFiltersTierName = {
CLASSIC: "CLASSIC",
STANDARD: "STANDARD"
};
var GuardrailContextualGroundingAction = {
BLOCK: "BLOCK",
NONE: "NONE"
};
var GuardrailContextualGroundingFilterType = {
GROUNDING: "GROUNDING",
RELEVANCE: "RELEVANCE"
};
var GuardrailSensitiveInformationAction = {
ANONYMIZE: "ANONYMIZE",
BLOCK: "BLOCK",
NONE: "NONE"
};
var GuardrailPiiEntityType = {
ADDRESS: "ADDRESS",
AGE: "AGE",
AWS_ACCESS_KEY: "AWS_ACCESS_KEY",
AWS_SECRET_KEY: "AWS_SECRET_KEY",
CA_HEALTH_NUMBER: "CA_HEALTH_NUMBER",
CA_SOCIAL_INSURANCE_NUMBER: "CA_SOCIAL_INSURANCE_NUMBER",
CREDIT_DEBIT_CARD_CVV: "CREDIT_DEBIT_CARD_CVV",
CREDIT_DEBIT_CARD_EXPIRY: "CREDIT_DEBIT_CARD_EXPIRY",
CREDIT_DEBIT_CARD_NUMBER: "CREDIT_DEBIT_CARD_NUMBER",
DRIVER_ID: "DRIVER_ID",
EMAIL: "EMAIL",
INTERNATIONAL_BANK_ACCOUNT_NUMBER: "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
IP_ADDRESS: "IP_ADDRESS",
LICENSE_PLATE: "LICENSE_PLATE",
MAC_ADDRESS: "MAC_ADDRESS",
NAME: "NAME",
PASSWORD: "PASSWORD",
PHONE: "PHONE",
PIN: "PIN",
SWIFT_CODE: "SWIFT_CODE",
UK_NATIONAL_HEALTH_SERVICE_NUMBER: "UK_NATIONAL_HEALTH_SERVICE_NUMBER",
UK_NATIONAL_INSURANCE_NUMBER: "UK_NATIONAL_INSURANCE_NUMBER",
UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER",
URL: "URL",
USERNAME: "USERNAME",
US_BANK_ACCOUNT_NUMBER: "US_BANK_ACCOUNT_NUMBER",
US_BANK_ROUTING_NUMBER: "US_BANK_ROUTING_NUMBER",
US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER",
US_PASSPORT_NUMBER: "US_PASSPORT_NUMBER",
US_SOCIAL_SECURITY_NUMBER: "US_SOCIAL_SECURITY_NUMBER",
VEHICLE_IDENTIFICATION_NUMBER: "VEHICLE_IDENTIFICATION_NUMBER"
};
var GuardrailTopicsTierName = {
CLASSIC: "CLASSIC",
STANDARD: "STANDARD"
};
var GuardrailTopicAction = {
BLOCK: "BLOCK",
NONE: "NONE"
};
var GuardrailTopicType = {
DENY: "DENY"
};
var GuardrailWordAction = {
BLOCK: "BLOCK",
NONE: "NONE"
};
var GuardrailManagedWordsType = {
PROFANITY: "PROFANITY"
};
var GuardrailStatus = {
CREATING: "CREATING",
DELETING: "DELETING",
FAILED: "FAILED",
READY: "READY",
UPDATING: "UPDATING",
VERSIONING: "VERSIONING"
};
var InferenceProfileStatus = {
ACTIVE: "ACTIVE"
};
var InferenceProfileType = {
APPLICATION: "APPLICATION",
SYSTEM_DEFINED: "SYSTEM_DEFINED"
};
var ModelCopyJobStatus = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress"
};
var ModelImportJobStatus = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress"
};
var S3InputFormat = {
JSONL: "JSONL"
};
var ModelInvocationType = {
Converse: "Converse",
InvokeModel: "InvokeModel"
};
var ModelInvocationJobStatus = {
COMPLETED: "Completed",
EXPIRED: "Expired",
FAILED: "Failed",
IN_PROGRESS: "InProgress",
PARTIALLY_COMPLETED: "PartiallyCompleted",
SCHEDULED: "Scheduled",
STOPPED: "Stopped",
STOPPING: "Stopping",
SUBMITTED: "Submitted",
VALIDATING: "Validating"
};
var ModelCustomization = {
CONTINUED_PRE_TRAINING: "CONTINUED_PRE_TRAINING",
DISTILLATION: "DISTILLATION",
FINE_TUNING: "FINE_TUNING"
};
var InferenceType = {
ON_DEMAND: "ON_DEMAND",
PROVISIONED: "PROVISIONED"
};
var ModelModality = {
EMBEDDING: "EMBEDDING",
IMAGE: "IMAGE",
TEXT: "TEXT"
};
var FoundationModelLifecycleStatus = {
ACTIVE: "ACTIVE",
LEGACY: "LEGACY"
};
var PromptRouterStatus = {
AVAILABLE: "AVAILABLE"
};
var PromptRouterType = {
CUSTOM: "custom",
DEFAULT: "default"
};
var CommitmentDuration = {
ONE_MONTH: "OneMonth",
SIX_MONTHS: "SixMonths"
};
var ProvisionedModelStatus = {
CREATING: "Creating",
FAILED: "Failed",
IN_SERVICE: "InService",
UPDATING: "Updating"
};
var SortByProvisionedModels = {
CREATION_TIME: "CreationTime"
};
var AuthorizationStatus = {
AUTHORIZED: "AUTHORIZED",
NOT_AUTHORIZED: "NOT_AUTHORIZED"
};
var EntitlementAvailability = {
AVAILABLE: "AVAILABLE",
NOT_AVAILABLE: "NOT_AVAILABLE"
};
var RegionAvailability = {
AVAILABLE: "AVAILABLE",
NOT_AVAILABLE: "NOT_AVAILABLE"
};
var OfferType = {
ALL: "ALL",
PUBLIC: "PUBLIC"
};
var ModelCustomizationJobStatus = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress",
STOPPED: "Stopped",
STOPPING: "Stopping"
};
var JobStatusDetails = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress",
NOT_STARTED: "NotStarted",
STOPPED: "Stopped",
STOPPING: "Stopping"
};
var FineTuningJobStatus = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress",
STOPPED: "Stopped",
STOPPING: "Stopping"
};
exports.$Command = smithyClient.Command;
exports.__Client = smithyClient.Client;
exports.BedrockServiceException = BedrockServiceException.BedrockServiceException;
exports.AgreementStatus = AgreementStatus;
exports.ApplicationType = ApplicationType;
exports.AttributeType = AttributeType;
exports.AuthorizationStatus = AuthorizationStatus;
exports.AutomatedReasoningCheckLogicWarningType = AutomatedReasoningCheckLogicWarningType;
exports.AutomatedReasoningCheckResult = AutomatedReasoningCheckResult;
exports.AutomatedReasoningPolicyAnnotationStatus = AutomatedReasoningPolicyAnnotationStatus;
exports.AutomatedReasoningPolicyBuildDocumentContentType = AutomatedReasoningPolicyBuildDocumentContentType;
exports.AutomatedReasoningPolicyBuildMessageType = AutomatedReasoningPolicyBuildMessageType;
exports.AutomatedReasoningPolicyBuildResultAssetType = AutomatedReasoningPolicyBuildResultAssetType;
exports.AutomatedReasoningPolicyBuildWorkflowStatus = AutomatedReasoningPolicyBuildWorkflowStatus;
exports.AutomatedReasoningPolicyBuildWorkflowType = AutomatedReasoningPolicyBuildWorkflowType;
exports.AutomatedReasoningPolicyTestRunResult = AutomatedReasoningPolicyTestRunResult;
exports.AutomatedReasoningPolicyTestRunStatus = AutomatedReasoningPolicyTestRunStatus;
exports.BatchDeleteEvaluationJobCommand = BatchDeleteEvaluationJobCommand;
exports.Bedrock = Bedrock;
exports.BedrockClient = BedrockClient;
exports.CancelAutomatedReasoningPolicyBuildWorkflowCommand = CancelAutomatedReasoningPolicyBuildWorkflowCommand;
exports.CommitmentDuration = CommitmentDuration;
exports.ConfigurationOwner = ConfigurationOwner;
exports.CreateAutomatedReasoningPolicyCommand = CreateAutomatedReasoningPolicyCommand;
exports.CreateAutomatedReasoningPolicyTestCaseCommand = CreateAutomatedReasoningPolicyTestCaseCommand;
exports.CreateAutomatedReasoningPolicyVersionCommand = CreateAutomatedReasoningPolicyVersionCommand;
exports.CreateCustomModelCommand = CreateCustomModelCommand;
exports.CreateCustomModelDeploymentCommand = CreateCustomModelDeploymentCommand;
exports.CreateEvaluationJobCommand = CreateEvaluationJobCommand;
exports.CreateFoundationModelAgreementCommand = CreateFoundationModelAgreementCommand;
exports.CreateGuardrailCommand = CreateGuardrailCommand;
exports.CreateGuardrailVersionCommand = CreateGuardrailVersionCommand;
exports.CreateInferenceProfileCommand = CreateInferenceProfileCommand;
exports.CreateMarketplaceModelEndpointCommand = CreateMarketplaceModelEndpointCommand;
exports.CreateModelCopyJobCommand = CreateModelCopyJobCommand;
exports.CreateModelCustomizationJobCommand = CreateModelCustomizationJobCommand;
exports.CreateModelImportJobCommand = CreateModelImportJobCommand;
exports.CreateModelInvocationJobCommand = CreateModelInvocationJobCommand;
exports.CreatePromptRouterCommand = CreatePromptRouterCommand;
exports.CreateProvisionedModelThroughputCommand = CreateProvisionedModelThroughputCommand;
exports.CustomModelDeploymentStatus = CustomModelDeploymentStatus;
exports.CustomModelDeploymentUpdateStatus = CustomModelDeploymentUpdateStatus;
exports.CustomizationType = CustomizationType;
exports.DeleteAutomatedReasoningPolicyBuildWorkflowCommand = DeleteAutomatedReasoningPolicyBuildWorkflowCommand;
exports.DeleteAutomatedReasoningPolicyCommand = DeleteAutomatedReasoningPolicyCommand;
exports.DeleteAutomatedReasoningPolicyTestCaseCommand = DeleteAutomatedReasoningPolicyTestCaseCommand;
exports.DeleteCustomModelCommand = DeleteCustomModelCommand;
exports.DeleteCustomModelDeploymentCommand = DeleteCustomModelDeploymentCommand;
exports.DeleteEnforcedGuardrailConfigurationCommand = DeleteEnforcedGuardrailConfigurationCommand;
exports.DeleteFoundationModelAgreementCommand = DeleteFoundationModelAgreementCommand;
exports.DeleteGuardrailCommand = DeleteGuardrailCommand;
exports.DeleteImportedModelCommand = DeleteImportedModelCommand;
exports.DeleteInferenceProfileCommand = DeleteInferenceProfileCommand;
exports.DeleteMarketplaceModelEndpointCommand = DeleteMarketplaceModelEndpointCommand;
exports.DeleteModelInvocationLoggingConfigurationCommand = DeleteModelInvocationLoggingConfigurationCommand;
exports.DeletePromptRouterCommand = DeletePromptRouterCommand;
exports.DeleteProvisionedModelThroughputCommand = DeleteProvisionedModelThroughputCommand;
exports.DeregisterMarketplaceModelEndpointCommand = DeregisterMarketplaceModelEndpointCommand;
exports.EntitlementAvailability = EntitlementAvailability;
exports.EvaluationJobStatus = EvaluationJobStatus;
exports.EvaluationJobType = EvaluationJobType;
exports.EvaluationTaskType = EvaluationTaskType;
exports.ExportAutomatedReasoningPolicyVersionCommand = ExportAutomatedReasoningPolicyVersionCommand;
exports.ExternalSourceType = ExternalSourceType;
exports.FineTuningJobStatus = FineTuningJobStatus;
exports.FoundationModelLifecycleStatus = FoundationModelLifecycleStatus;
exports.GetAutomatedReasoningPolicyAnnotationsCommand = GetAutomatedReasoningPolicyAnnotationsCommand;
exports.GetAutomatedReasoningPolicyBuildWorkflowCommand = GetAutomatedReasoningPolicyBuildWorkflowCommand;
exports.GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand = GetAutomatedReasoningPolicyBuildWorkflowResultAssetsCommand;
exports.GetAutomatedReasoningPolicyCommand = GetAutomatedReasoningPolicyCommand;
exports.GetAutomatedReasoningPolicyNextScenarioCommand = GetAutomatedReasoningPolicyNextScenarioCommand;
exports.GetAutomatedReasoningPolicyTestCaseCommand = GetAutomatedReasoningPolicyTestCaseCommand;
exports.GetAutomatedReasoningPolicyTestResultCommand = GetAutomatedReasoningPolicyTestResultCommand;
exports.GetCustomModelCommand = GetCustomModelCommand;
exports.GetCustomModelDeploymentCommand = GetCustomModelDeploymentCommand;
exports.GetEvaluationJobCommand = GetEvaluationJobCommand;
exports.GetFoundationModelAvailabilityCommand = GetFoundationModelAvailabilityCommand;
exports.GetFoundationModelCommand = GetFoundationModelCommand;
exports.GetGuardrailCommand = GetGuardrailCommand;
exports.GetImportedModelCommand = GetImportedModelCommand;
exports.GetInferenceProfileCommand = GetInferenceProfileCommand;
exports.GetMarketplaceModelEndpointCommand = GetMarketplaceModelEndpointCommand;
exports.GetModelCopyJobCommand = GetModelCopyJobCommand;
exports.GetModelCustomizationJobCommand = GetModelCustomizationJobCommand;
exports.GetModelImportJobCommand = GetModelImportJobCommand;
exports.GetModelInvocationJobCommand = GetModelInvocationJobCommand;
exports.GetModelInvocationLoggingConfigurationCommand = GetModelInvocationLoggingConfigurationCommand;
exports.GetPromptRouterCommand = GetPromptRouterCommand;
exports.GetProvisionedModelThroughputCommand = GetProvisionedModelThroughputCommand;
exports.GetUseCaseForModelAccessCommand = GetUseCaseForModelAccessCommand;
exports.GuardrailContentFilterAction = GuardrailContentFilterAction;
exports.GuardrailContentFilterType = GuardrailContentFilterType;
exports.GuardrailContentFiltersTierName = GuardrailContentFiltersTierName;
exports.GuardrailContextualGroundingAction = GuardrailContextualGroundingAction;
exports.GuardrailContextualGroundingFilterType = GuardrailContextualGroundingFilterType;
exports.GuardrailFilterStrength = GuardrailFilterStrength;
exports.GuardrailManagedWordsType = GuardrailManagedWordsType;
exports.GuardrailModality = GuardrailModality;
exports.GuardrailPiiEntityType = GuardrailPiiEntityType;
exports.GuardrailSensitiveInformationAction = GuardrailSensitiveInformationAction;
exports.GuardrailStatus = GuardrailStatus;
exports.GuardrailTopicAction = GuardrailTopicAction;
exports.GuardrailTopicType = GuardrailTopicType;
exports.GuardrailTopicsTierName = GuardrailTopicsTierName;
exports.GuardrailWordAction = GuardrailWordAction;
exports.InferenceProfileStatus = InferenceProfileStatus;
exports.InferenceProfileType = InferenceProfileType;
exports.InferenceType = InferenceType;
exports.InputTags = InputTags;
exports.JobStatusDetails = JobStatusDetails;
exports.ListAutomatedReasoningPoliciesCommand = ListAutomatedReasoningPoliciesCommand;
exports.ListAutomatedReasoningPolicyBuildWorkflowsCommand = ListAutomatedReasoningPolicyBuildWorkflowsCommand;
exports.ListAutomatedReasoningPolicyTestCasesCommand = ListAutomatedReasoningPolicyTestCasesCommand;
exports.ListAutomatedReasoningPolicyTestResultsCommand = ListAutomatedReasoningPolicyTestResultsCommand;
exports.ListCustomModelDeploymentsCommand = ListCustomModelDeploymentsCommand;
exports.ListCustomModelsCommand = ListCustomModelsCommand;
exports.ListEnforcedGuardrailsConfigurationCommand = ListEnforcedGuardrailsConfigurationCommand;
exports.ListEvaluationJobsCommand = ListEvaluationJobsCommand;
exports.ListFoundationModelAgreementOffersCommand = ListFoundationModelAgreementOffersCommand;
exports.ListFoundationModelsCommand = ListFoundationModelsCommand;
exports.ListGuardrailsCommand = ListGuardrailsCommand;
exports.ListImportedModelsCommand = ListImportedModelsCommand;
exports.ListInferenceProfilesCommand = ListInferenceProfilesCommand;
exports.ListMarketplaceModelEndpointsCommand = ListMarketplaceModelEndpointsCommand;
exports.ListModelCopyJobsCommand = ListModelCopyJobsCommand;
exports.ListModelCustomizationJobsCommand = ListModelCustomizationJobsCommand;
exports.ListModelImportJobsCommand = ListModelImportJobsCommand;
exports.ListModelInvocationJobsCommand = ListModelInvocationJobsCommand;
exports.ListPromptRoutersCommand = ListPromptRoutersCommand;
exports.ListProvisionedModelThroughputsCommand = ListProvisionedModelThroughputsCommand;
exports.ListTagsForResourceCommand = ListTagsForResourceCommand;
exports.ModelCopyJobStatus = ModelCopyJobStatus;
exports.ModelCustomization = ModelCustomization;
exports.ModelCustomizationJobStatus = ModelCustomizationJobStatus;
exports.ModelImportJobStatus = ModelImportJobStatus;
exports.ModelInvocationJobStatus = ModelInvocationJobStatus;
exports.ModelInvocationType = ModelInvocationType;
exports.ModelModality = ModelModality;
exports.ModelStatus = ModelStatus;
exports.OfferType = OfferType;
exports.PerformanceConfigLatency = PerformanceConfigLatency;
exports.PromptRouterStatus = PromptRouterStatus;
exports.PromptRouterType = PromptRouterType;
exports.ProvisionedModelStatus = ProvisionedModelStatus;
exports.PutEnforcedGuardrailConfigurationCommand = PutEnforcedGuardrailConfigurationCommand;
exports.PutModelInvocationLoggingConfigurationCommand = PutModelInvocationLoggingConfigurationCommand;
exports.PutUseCaseForModelAccessCommand = PutUseCaseForModelAccessCommand;
exports.QueryTransformationType = QueryTransformationType;
exports.ReasoningEffort = ReasoningEffort;
exports.RegionAvailability = RegionAvailability;
exports.RegisterMarketplaceModelEndpointCommand = RegisterMarketplaceModelEndpointCommand;
exports.RerankingMetadataSelectionMode = RerankingMetadataSelectionMode;
exports.RetrieveAndGenerateType = RetrieveAndGenerateType;
exports.S3InputFormat = S3InputFormat;
exports.SearchType = SearchType;
exports.SortByProvisionedModels = SortByProvisionedModels;
exports.SortJobsBy = SortJobsBy;
exports.SortModelsBy = SortModelsBy;
exports.SortOrder = SortOrder;
exports.StartAutomatedReasoningPolicyBuildWorkflowCommand = StartAutomatedReasoningPolicyBuildWorkflowCommand;
exports.StartAutomatedReasoningPolicyTestWorkflowCommand = StartAutomatedReasoningPolicyTestWorkflowCommand;
exports.Status = Status;
exports.StopEvaluationJobCommand = StopEvaluationJobCommand;
exports.StopModelCustomizationJobCommand = StopModelCustomizationJobCommand;
exports.StopModelInvocationJobCommand = StopModelInvocationJobCommand;
exports.TagResourceCommand = TagResourceCommand;
exports.UntagResourceCommand = UntagResourceCommand;
exports.UpdateAutomatedReasoningPolicyAnnotationsCommand = UpdateAutomatedReasoningPolicyAnnotationsCommand;
exports.UpdateAutomatedReasoningPolicyCommand = UpdateAutomatedReasoningPolicyCommand;
exports.UpdateAutomatedReasoningPolicyTestCaseCommand = UpdateAutomatedReasoningPolicyTestCaseCommand;
exports.UpdateCustomModelDeploymentCommand = UpdateCustomModelDeploymentCommand;
exports.UpdateGuardrailCommand = UpdateGuardrailCommand;
exports.UpdateMarketplaceModelEndpointCommand = UpdateMarketplaceModelEndpointCommand;
exports.UpdateProvisionedModelThroughputCommand = UpdateProvisionedModelThroughputCommand;
exports.VectorSearchRerankingConfigurationType = VectorSearchRerankingConfigurationType;
exports.paginateListAutomatedReasoningPolicies = paginateListAutomatedReasoningPolicies;
exports.paginateListAutomatedReasoningPolicyBuildWorkflows = paginateListAutomatedReasoningPolicyBuildWorkflows;
exports.paginateListAutomatedReasoningPolicyTestCases = paginateListAutomatedReasoningPolicyTestCases;
exports.paginateListAutomatedReasoningPolicyTestResults = paginateListAutomatedReasoningPolicyTestResults;
exports.paginateListCustomModelDeployments = paginateListCustomModelDeployments;
exports.paginateListCustomModels = paginateListCustomModels;
exports.paginateListEnforcedGuardrailsConfiguration = paginateListEnforcedGuardrailsConfiguration;
exports.paginateListEvaluationJobs = paginateListEvaluationJobs;
exports.paginateListGuardrails = paginateListGuardrails;
exports.paginateListImportedModels = paginateListImportedModels;
exports.paginateListInferenceProfiles = paginateListInferenceProfiles;
exports.paginateListMarketplaceModelEndpoints = paginateListMarketplaceModelEndpoints;
exports.paginateListModelCopyJobs = paginateListModelCopyJobs;
exports.paginateListModelCustomizationJobs = paginateListModelCustomizationJobs;
exports.paginateListModelImportJobs = paginateListModelImportJobs;
exports.paginateListModelInvocationJobs = paginateListModelInvocationJobs;
exports.paginateListPromptRouters = paginateListPromptRouters;
exports.paginateListProvisionedModelThroughputs = paginateListProvisionedModelThroughputs;
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// node_modules/.pnpm/@aws-sdk+middleware-eventstream@3.972.8/node_modules/@aws-sdk/middleware-eventstream/dist-cjs/index.js
var require_dist_cjs56 = __commonJS((exports) => {
var protocolHttp = require_dist_cjs2();
function resolveEventStreamConfig(input) {
const eventSigner = input.signer;
const messageSigner = input.signer;
const newInput = Object.assign(input, {
eventSigner,
messageSigner
});
const eventStreamPayloadHandler = newInput.eventStreamPayloadHandlerProvider(newInput);
return Object.assign(newInput, {
eventStreamPayloadHandler
});
}
var eventStreamHandlingMiddleware = (options) => (next, context) => async (args) => {
const { request } = args;
if (!protocolHttp.HttpRequest.isInstance(request))
return next(args);
return options.eventStreamPayloadHandler.handle(next, args, context);
};
var eventStreamHandlingMiddlewareOptions = {
tags: ["EVENT_STREAM", "SIGNATURE", "HANDLE"],
name: "eventStreamHandlingMiddleware",
relation: "after",
toMiddleware: "awsAuthMiddleware",
override: true
};
var eventStreamHeaderMiddleware = (next) => async (args) => {
const { request } = args;
if (!protocolHttp.HttpRequest.isInstance(request))
return next(args);
request.headers = {
...request.headers,
"content-type": "application/vnd.amazon.eventstream",
"x-amz-content-sha256": "STREAMING-AWS4-HMAC-SHA256-EVENTS"
};
return next({
...args,
request
});
};
var eventStreamHeaderMiddlewareOptions = {
step: "build",
tags: ["EVENT_STREAM", "HEADER", "CONTENT_TYPE", "CONTENT_SHA256"],
name: "eventStreamHeaderMiddleware",
override: true
};
var getEventStreamPlugin = (options) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(eventStreamHandlingMiddleware(options), eventStreamHandlingMiddlewareOptions);
clientStack.add(eventStreamHeaderMiddleware, eventStreamHeaderMiddlewareOptions);
}
});
exports.eventStreamHandlingMiddleware = eventStreamHandlingMiddleware;
exports.eventStreamHandlingMiddlewareOptions = eventStreamHandlingMiddlewareOptions;
exports.eventStreamHeaderMiddleware = eventStreamHeaderMiddleware;
exports.eventStreamHeaderMiddlewareOptions = eventStreamHeaderMiddlewareOptions;
exports.getEventStreamPlugin = getEventStreamPlugin;
exports.resolveEventStreamConfig = resolveEventStreamConfig;
});
// node_modules/.pnpm/@aws-sdk+util-format-url@3.972.8/node_modules/@aws-sdk/util-format-url/dist-cjs/index.js
var require_dist_cjs57 = __commonJS((exports) => {
var querystringBuilder = require_dist_cjs4();
function formatUrl(request) {
const { port, query } = request;
let { protocol, path: path9, hostname: hostname3 } = request;
if (protocol && protocol.slice(-1) !== ":") {
protocol += ":";
}
if (port) {
hostname3 += `:${port}`;
}
if (path9 && path9.charAt(0) !== "/") {
path9 = `/${path9}`;
}
let queryString = query ? querystringBuilder.buildQueryString(query) : "";
if (queryString && queryString[0] !== "?") {
queryString = `?${queryString}`;
}
let auth = "";
if (request.username != null || request.password != null) {
const username = request.username ?? "";
const password = request.password ?? "";
auth = `${username}:${password}@`;
}
let fragment = "";
if (request.fragment) {
fragment = `#${request.fragment}`;
}
return `${protocol}//${auth}${hostname3}${path9}${queryString}${fragment}`;
}
exports.formatUrl = formatUrl;
});
// node_modules/.pnpm/@smithy+is-array-buffer@2.2.0/node_modules/@smithy/is-array-buffer/dist-cjs/index.js
var require_dist_cjs58 = __commonJS((exports, module) => {
var __defProp2 = Object.defineProperty;
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames2 = Object.getOwnPropertyNames;
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
var __export2 = (target, all3) => {
for (var name in all3)
__defProp2(target, name, { get: all3[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames2(from))
if (!__hasOwnProp2.call(to, key) && key !== except)
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS2 = (mod2) => __copyProps(__defProp2({}, "__esModule", { value: true }), mod2);
var src_exports = {};
__export2(src_exports, {
isArrayBuffer: () => isArrayBuffer3
});
module.exports = __toCommonJS2(src_exports);
var isArrayBuffer3 = /* @__PURE__ */ __name((arg) => typeof ArrayBuffer === "function" && arg instanceof ArrayBuffer || Object.prototype.toString.call(arg) === "[object ArrayBuffer]", "isArrayBuffer");
});
// node_modules/.pnpm/@smithy+util-buffer-from@2.2.0/node_modules/@smithy/util-buffer-from/dist-cjs/index.js
var require_dist_cjs59 = __commonJS((exports, module) => {
var __defProp2 = Object.defineProperty;
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames2 = Object.getOwnPropertyNames;
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
var __export2 = (target, all3) => {
for (var name in all3)
__defProp2(target, name, { get: all3[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames2(from))
if (!__hasOwnProp2.call(to, key) && key !== except)
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS2 = (mod2) => __copyProps(__defProp2({}, "__esModule", { value: true }), mod2);
var src_exports = {};
__export2(src_exports, {
fromArrayBuffer: () => fromArrayBuffer,
fromString: () => fromString
});
module.exports = __toCommonJS2(src_exports);
var import_is_array_buffer = require_dist_cjs58();
var import_buffer = __require("buffer");
var fromArrayBuffer = /* @__PURE__ */ __name((input, offset = 0, length = input.byteLength - offset) => {
if (!(0, import_is_array_buffer.isArrayBuffer)(input)) {
throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);
}
return import_buffer.Buffer.from(input, offset, length);
}, "fromArrayBuffer");
var fromString = /* @__PURE__ */ __name((input, encoding) => {
if (typeof input !== "string") {
throw new TypeError(`The "input" argument must be of type string. Received type ${typeof input} (${input})`);
}
return encoding ? import_buffer.Buffer.from(input, encoding) : import_buffer.Buffer.from(input);
}, "fromString");
});
// node_modules/.pnpm/@smithy+util-utf8@2.3.0/node_modules/@smithy/util-utf8/dist-cjs/index.js
var require_dist_cjs60 = __commonJS((exports, module) => {
var __defProp2 = Object.defineProperty;
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames2 = Object.getOwnPropertyNames;
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
var __export2 = (target, all3) => {
for (var name in all3)
__defProp2(target, name, { get: all3[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames2(from))
if (!__hasOwnProp2.call(to, key) && key !== except)
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS2 = (mod2) => __copyProps(__defProp2({}, "__esModule", { value: true }), mod2);
var src_exports = {};
__export2(src_exports, {
fromUtf8: () => fromUtf8,
toUint8Array: () => toUint8Array,
toUtf8: () => toUtf8
});
module.exports = __toCommonJS2(src_exports);
var import_util_buffer_from = require_dist_cjs59();
var fromUtf8 = /* @__PURE__ */ __name((input) => {
const buf = (0, import_util_buffer_from.fromString)(input, "utf8");
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
}, "fromUtf8");
var toUint8Array = /* @__PURE__ */ __name((data) => {
if (typeof data === "string") {
return fromUtf8(data);
}
if (ArrayBuffer.isView(data)) {
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
}
return new Uint8Array(data);
}, "toUint8Array");
var toUtf8 = /* @__PURE__ */ __name((input) => {
if (typeof input === "string") {
return input;
}
if (typeof input !== "object" || typeof input.byteOffset !== "number" || typeof input.byteLength !== "number") {
throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");
}
return (0, import_util_buffer_from.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString("utf8");
}, "toUtf8");
});
// node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/convertToBuffer.js
var require_convertToBuffer = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertToBuffer = undefined;
var util_utf8_1 = require_dist_cjs60();
var fromUtf8 = typeof Buffer !== "undefined" && Buffer.from ? function(input) {
return Buffer.from(input, "utf8");
} : util_utf8_1.fromUtf8;
function convertToBuffer(data) {
if (data instanceof Uint8Array)
return data;
if (typeof data === "string") {
return fromUtf8(data);
}
if (ArrayBuffer.isView(data)) {
return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);
}
return new Uint8Array(data);
}
exports.convertToBuffer = convertToBuffer;
});
// node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/isEmptyData.js
var require_isEmptyData = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEmptyData = undefined;
function isEmptyData(data) {
if (typeof data === "string") {
return data.length === 0;
}
return data.byteLength === 0;
}
exports.isEmptyData = isEmptyData;
});
// node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/numToUint8.js
var require_numToUint8 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.numToUint8 = undefined;
function numToUint8(num) {
return new Uint8Array([
(num & 4278190080) >> 24,
(num & 16711680) >> 16,
(num & 65280) >> 8,
num & 255
]);
}
exports.numToUint8 = numToUint8;
});
// node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/uint32ArrayFrom.js
var require_uint32ArrayFrom = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.uint32ArrayFrom = undefined;
function uint32ArrayFrom(a_lookUpTable) {
if (!Uint32Array.from) {
var return_array = new Uint32Array(a_lookUpTable.length);
var a_index = 0;
while (a_index < a_lookUpTable.length) {
return_array[a_index] = a_lookUpTable[a_index];
a_index += 1;
}
return return_array;
}
return Uint32Array.from(a_lookUpTable);
}
exports.uint32ArrayFrom = uint32ArrayFrom;
});
// node_modules/.pnpm/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/main/index.js
var require_main = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = undefined;
var convertToBuffer_1 = require_convertToBuffer();
Object.defineProperty(exports, "convertToBuffer", { enumerable: true, get: function() {
return convertToBuffer_1.convertToBuffer;
} });
var isEmptyData_1 = require_isEmptyData();
Object.defineProperty(exports, "isEmptyData", { enumerable: true, get: function() {
return isEmptyData_1.isEmptyData;
} });
var numToUint8_1 = require_numToUint8();
Object.defineProperty(exports, "numToUint8", { enumerable: true, get: function() {
return numToUint8_1.numToUint8;
} });
var uint32ArrayFrom_1 = require_uint32ArrayFrom();
Object.defineProperty(exports, "uint32ArrayFrom", { enumerable: true, get: function() {
return uint32ArrayFrom_1.uint32ArrayFrom;
} });
});
// node_modules/.pnpm/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js
var require_aws_crc32 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsCrc32 = undefined;
var tslib_1 = require_tslib();
var util_1 = require_main();
var index_1 = require_main2();
var AwsCrc32 = function() {
function AwsCrc322() {
this.crc32 = new index_1.Crc32;
}
AwsCrc322.prototype.update = function(toHash) {
if ((0, util_1.isEmptyData)(toHash))
return;
this.crc32.update((0, util_1.convertToBuffer)(toHash));
};
AwsCrc322.prototype.digest = function() {
return tslib_1.__awaiter(this, undefined, undefined, function() {
return tslib_1.__generator(this, function(_a3) {
return [2, (0, util_1.numToUint8)(this.crc32.digest())];
});
});
};
AwsCrc322.prototype.reset = function() {
this.crc32 = new index_1.Crc32;
};
return AwsCrc322;
}();
exports.AwsCrc32 = AwsCrc32;
});
// node_modules/.pnpm/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/main/index.js
var require_main2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsCrc32 = exports.Crc32 = exports.crc32 = undefined;
var tslib_1 = require_tslib();
var util_1 = require_main();
function crc32(data) {
return new Crc32().update(data).digest();
}
exports.crc32 = crc32;
var Crc32 = function() {
function Crc322() {
this.checksum = 4294967295;
}
Crc322.prototype.update = function(data) {
var e_1, _a3;
try {
for (var data_1 = tslib_1.__values(data), data_1_1 = data_1.next();!data_1_1.done; data_1_1 = data_1.next()) {
var byte = data_1_1.value;
this.checksum = this.checksum >>> 8 ^ lookupTable[(this.checksum ^ byte) & 255];
}
} catch (e_1_1) {
e_1 = { error: e_1_1 };
} finally {
try {
if (data_1_1 && !data_1_1.done && (_a3 = data_1.return))
_a3.call(data_1);
} finally {
if (e_1)
throw e_1.error;
}
}
return this;
};
Crc322.prototype.digest = function() {
return (this.checksum ^ 4294967295) >>> 0;
};
return Crc322;
}();
exports.Crc32 = Crc32;
var a_lookUpTable = [
0,
1996959894,
3993919788,
2567524794,
124634137,
1886057615,
3915621685,
2657392035,
249268274,
2044508324,
3772115230,
2547177864,
162941995,
2125561021,
3887607047,
2428444049,
498536548,
1789927666,
4089016648,
2227061214,
450548861,
1843258603,
4107580753,
2211677639,
325883990,
1684777152,
4251122042,
2321926636,
335633487,
1661365465,
4195302755,
2366115317,
997073096,
1281953886,
3579855332,
2724688242,
1006888145,
1258607687,
3524101629,
2768942443,
901097722,
1119000684,
3686517206,
2898065728,
853044451,
1172266101,
3705015759,
2882616665,
651767980,
1373503546,
3369554304,
3218104598,
565507253,
1454621731,
3485111705,
3099436303,
671266974,
1594198024,
3322730930,
2970347812,
795835527,
1483230225,
3244367275,
3060149565,
1994146192,
31158534,
2563907772,
4023717930,
1907459465,
112637215,
2680153253,
3904427059,
2013776290,
251722036,
2517215374,
3775830040,
2137656763,
141376813,
2439277719,
3865271297,
1802195444,
476864866,
2238001368,
4066508878,
1812370925,
453092731,
2181625025,
4111451223,
1706088902,
314042704,
2344532202,
4240017532,
1658658271,
366619977,
2362670323,
4224994405,
1303535960,
984961486,
2747007092,
3569037538,
1256170817,
1037604311,
2765210733,
3554079995,
1131014506,
879679996,
2909243462,
3663771856,
1141124467,
855842277,
2852801631,
3708648649,
1342533948,
654459306,
3188396048,
3373015174,
1466479909,
544179635,
3110523913,
3462522015,
1591671054,
702138776,
2966460450,
3352799412,
1504918807,
783551873,
3082640443,
3233442989,
3988292384,
2596254646,
62317068,
1957810842,
3939845945,
2647816111,
81470997,
1943803523,
3814918930,
2489596804,
225274430,
2053790376,
3826175755,
2466906013,
167816743,
2097651377,
4027552580,
2265490386,
503444072,
1762050814,
4150417245,
2154129355,
426522225,
1852507879,
4275313526,
2312317920,
282753626,
1742555852,
4189708143,
2394877945,
397917763,
1622183637,
3604390888,
2714866558,
953729732,
1340076626,
3518719985,
2797360999,
1068828381,
1219638859,
3624741850,
2936675148,
906185462,
1090812512,
3747672003,
2825379669,
829329135,
1181335161,
3412177804,
3160834842,
628085408,
1382605366,
3423369109,
3138078467,
570562233,
1426400815,
3317316542,
2998733608,
733239954,
1555261956,
3268935591,
3050360625,
752459403,
1541320221,
2607071920,
3965973030,
1969922972,
40735498,
2617837225,
3943577151,
1913087877,
83908371,
2512341634,
3803740692,
2075208622,
213261112,
2463272603,
3855990285,
2094854071,
198958881,
2262029012,
4057260610,
1759359992,
534414190,
2176718541,
4139329115,
1873836001,
414664567,
2282248934,
4279200368,
1711684554,
285281116,
2405801727,
4167216745,
1634467795,
376229701,
2685067896,
3608007406,
1308918612,
956543938,
2808555105,
3495958263,
1231636301,
1047427035,
2932959818,
3654703836,
1088359270,
936918000,
2847714899,
3736837829,
1202900863,
817233897,
3183342108,
3401237130,
1404277552,
615818150,
3134207493,
3453421203,
1423857449,
601450431,
3009837614,
3294710456,
1567103746,
711928724,
3020668471,
3272380065,
1510334235,
755167117
];
var lookupTable = (0, util_1.uint32ArrayFrom)(a_lookUpTable);
var aws_crc32_1 = require_aws_crc32();
Object.defineProperty(exports, "AwsCrc32", { enumerable: true, get: function() {
return aws_crc32_1.AwsCrc32;
} });
});
// node_modules/.pnpm/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-cjs/index.js
var require_dist_cjs61 = __commonJS((exports) => {
var crc32 = require_main2();
var utilHexEncoding = require_dist_cjs19();
class Int64 {
bytes;
constructor(bytes) {
this.bytes = bytes;
if (bytes.byteLength !== 8) {
throw new Error("Int64 buffers must be exactly 8 bytes");
}
}
static fromNumber(number4) {
if (number4 > 9223372036854776000 || number4 < -9223372036854776000) {
throw new Error(`${number4} is too large (or, if negative, too small) to represent as an Int64`);
}
const bytes = new Uint8Array(8);
for (let i2 = 7, remaining = Math.abs(Math.round(number4));i2 > -1 && remaining > 0; i2--, remaining /= 256) {
bytes[i2] = remaining;
}
if (number4 < 0) {
negate(bytes);
}
return new Int64(bytes);
}
valueOf() {
const bytes = this.bytes.slice(0);
const negative = bytes[0] & 128;
if (negative) {
negate(bytes);
}
return parseInt(utilHexEncoding.toHex(bytes), 16) * (negative ? -1 : 1);
}
toString() {
return String(this.valueOf());
}
}
function negate(bytes) {
for (let i2 = 0;i2 < 8; i2++) {
bytes[i2] ^= 255;
}
for (let i2 = 7;i2 > -1; i2--) {
bytes[i2]++;
if (bytes[i2] !== 0)
break;
}
}
class HeaderMarshaller {
toUtf8;
fromUtf8;
constructor(toUtf8, fromUtf8) {
this.toUtf8 = toUtf8;
this.fromUtf8 = fromUtf8;
}
format(headers) {
const chunks = [];
for (const headerName of Object.keys(headers)) {
const bytes = this.fromUtf8(headerName);
chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
}
const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
let position = 0;
for (const chunk of chunks) {
out.set(chunk, position);
position += chunk.byteLength;
}
return out;
}
formatHeaderValue(header) {
switch (header.type) {
case "boolean":
return Uint8Array.from([header.value ? 0 : 1]);
case "byte":
return Uint8Array.from([2, header.value]);
case "short":
const shortView = new DataView(new ArrayBuffer(3));
shortView.setUint8(0, 3);
shortView.setInt16(1, header.value, false);
return new Uint8Array(shortView.buffer);
case "integer":
const intView = new DataView(new ArrayBuffer(5));
intView.setUint8(0, 4);
intView.setInt32(1, header.value, false);
return new Uint8Array(intView.buffer);
case "long":
const longBytes = new Uint8Array(9);
longBytes[0] = 5;
longBytes.set(header.value.bytes, 1);
return longBytes;
case "binary":
const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
binView.setUint8(0, 6);
binView.setUint16(1, header.value.byteLength, false);
const binBytes = new Uint8Array(binView.buffer);
binBytes.set(header.value, 3);
return binBytes;
case "string":
const utf8Bytes = this.fromUtf8(header.value);
const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
strView.setUint8(0, 7);
strView.setUint16(1, utf8Bytes.byteLength, false);
const strBytes = new Uint8Array(strView.buffer);
strBytes.set(utf8Bytes, 3);
return strBytes;
case "timestamp":
const tsBytes = new Uint8Array(9);
tsBytes[0] = 8;
tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
return tsBytes;
case "uuid":
if (!UUID_PATTERN.test(header.value)) {
throw new Error(`Invalid UUID received: ${header.value}`);
}
const uuidBytes = new Uint8Array(17);
uuidBytes[0] = 9;
uuidBytes.set(utilHexEncoding.fromHex(header.value.replace(/\-/g, "")), 1);
return uuidBytes;
}
}
parse(headers) {
const out = {};
let position = 0;
while (position < headers.byteLength) {
const nameLength = headers.getUint8(position++);
const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));
position += nameLength;
switch (headers.getUint8(position++)) {
case 0:
out[name] = {
type: BOOLEAN_TAG,
value: true
};
break;
case 1:
out[name] = {
type: BOOLEAN_TAG,
value: false
};
break;
case 2:
out[name] = {
type: BYTE_TAG,
value: headers.getInt8(position++)
};
break;
case 3:
out[name] = {
type: SHORT_TAG,
value: headers.getInt16(position, false)
};
position += 2;
break;
case 4:
out[name] = {
type: INT_TAG,
value: headers.getInt32(position, false)
};
position += 4;
break;
case 5:
out[name] = {
type: LONG_TAG,
value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8))
};
position += 8;
break;
case 6:
const binaryLength = headers.getUint16(position, false);
position += 2;
out[name] = {
type: BINARY_TAG,
value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength)
};
position += binaryLength;
break;
case 7:
const stringLength = headers.getUint16(position, false);
position += 2;
out[name] = {
type: STRING_TAG,
value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength))
};
position += stringLength;
break;
case 8:
out[name] = {
type: TIMESTAMP_TAG,
value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf())
};
position += 8;
break;
case 9:
const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);
position += 16;
out[name] = {
type: UUID_TAG,
value: `${utilHexEncoding.toHex(uuidBytes.subarray(0, 4))}-${utilHexEncoding.toHex(uuidBytes.subarray(4, 6))}-${utilHexEncoding.toHex(uuidBytes.subarray(6, 8))}-${utilHexEncoding.toHex(uuidBytes.subarray(8, 10))}-${utilHexEncoding.toHex(uuidBytes.subarray(10))}`
};
break;
default:
throw new Error(`Unrecognized header type tag`);
}
}
return out;
}
}
var BOOLEAN_TAG = "boolean";
var BYTE_TAG = "byte";
var SHORT_TAG = "short";
var INT_TAG = "integer";
var LONG_TAG = "long";
var BINARY_TAG = "binary";
var STRING_TAG = "string";
var TIMESTAMP_TAG = "timestamp";
var UUID_TAG = "uuid";
var UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
var PRELUDE_MEMBER_LENGTH = 4;
var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
var CHECKSUM_LENGTH = 4;
var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;
function splitMessage({ byteLength, byteOffset, buffer }) {
if (byteLength < MINIMUM_MESSAGE_LENGTH) {
throw new Error("Provided message too short to accommodate event stream message overhead");
}
const view = new DataView(buffer, byteOffset, byteLength);
const messageLength = view.getUint32(0, false);
if (byteLength !== messageLength) {
throw new Error("Reported message length does not match received message length");
}
const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
const checksummer = new crc32.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
if (expectedPreludeChecksum !== checksummer.digest()) {
throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);
}
checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));
if (expectedMessageChecksum !== checksummer.digest()) {
throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);
}
return {
headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),
body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH))
};
}
class EventStreamCodec {
headerMarshaller;
messageBuffer;
isEndOfStream;
constructor(toUtf8, fromUtf8) {
this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);
this.messageBuffer = [];
this.isEndOfStream = false;
}
feed(message) {
this.messageBuffer.push(this.decode(message));
}
endOfStream() {
this.isEndOfStream = true;
}
getMessage() {
const message = this.messageBuffer.pop();
const isEndOfStream = this.isEndOfStream;
return {
getMessage() {
return message;
},
isEndOfStream() {
return isEndOfStream;
}
};
}
getAvailableMessages() {
const messages = this.messageBuffer;
this.messageBuffer = [];
const isEndOfStream = this.isEndOfStream;
return {
getMessages() {
return messages;
},
isEndOfStream() {
return isEndOfStream;
}
};
}
encode({ headers: rawHeaders, body }) {
const headers = this.headerMarshaller.format(rawHeaders);
const length = headers.byteLength + body.byteLength + 16;
const out = new Uint8Array(length);
const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
const checksum = new crc32.Crc32;
view.setUint32(0, length, false);
view.setUint32(4, headers.byteLength, false);
view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);
out.set(headers, 12);
out.set(body, headers.byteLength + 12);
view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);
return out;
}
decode(message) {
const { headers, body } = splitMessage(message);
return { headers: this.headerMarshaller.parse(headers), body };
}
formatHeaders(rawHeaders) {
return this.headerMarshaller.format(rawHeaders);
}
}
class MessageDecoderStream {
options;
constructor(options) {
this.options = options;
}
[Symbol.asyncIterator]() {
return this.asyncIterator();
}
async* asyncIterator() {
for await (const bytes of this.options.inputStream) {
const decoded = this.options.decoder.decode(bytes);
yield decoded;
}
}
}
class MessageEncoderStream {
options;
constructor(options) {
this.options = options;
}
[Symbol.asyncIterator]() {
return this.asyncIterator();
}
async* asyncIterator() {
for await (const msg of this.options.messageStream) {
const encoded = this.options.encoder.encode(msg);
yield encoded;
}
if (this.options.includeEndFrame) {
yield new Uint8Array(0);
}
}
}
class SmithyMessageDecoderStream {
options;
constructor(options) {
this.options = options;
}
[Symbol.asyncIterator]() {
return this.asyncIterator();
}
async* asyncIterator() {
for await (const message of this.options.messageStream) {
const deserialized = await this.options.deserializer(message);
if (deserialized === undefined)
continue;
yield deserialized;
}
}
}
class SmithyMessageEncoderStream {
options;
constructor(options) {
this.options = options;
}
[Symbol.asyncIterator]() {
return this.asyncIterator();
}
async* asyncIterator() {
for await (const chunk of this.options.inputStream) {
const payloadBuf = this.options.serializer(chunk);
yield payloadBuf;
}
}
}
exports.EventStreamCodec = EventStreamCodec;
exports.HeaderMarshaller = HeaderMarshaller;
exports.Int64 = Int64;
exports.MessageDecoderStream = MessageDecoderStream;
exports.MessageEncoderStream = MessageEncoderStream;
exports.SmithyMessageDecoderStream = SmithyMessageDecoderStream;
exports.SmithyMessageEncoderStream = SmithyMessageEncoderStream;
});
// node_modules/.pnpm/@smithy+eventstream-serde-universal@4.2.12/node_modules/@smithy/eventstream-serde-universal/dist-cjs/index.js
var require_dist_cjs62 = __commonJS((exports) => {
var eventstreamCodec = require_dist_cjs61();
function getChunkedStream(source) {
let currentMessageTotalLength = 0;
let currentMessagePendingLength = 0;
let currentMessage = null;
let messageLengthBuffer = null;
const allocateMessage = (size) => {
if (typeof size !== "number") {
throw new Error("Attempted to allocate an event message where size was not a number: " + size);
}
currentMessageTotalLength = size;
currentMessagePendingLength = 4;
currentMessage = new Uint8Array(size);
const currentMessageView = new DataView(currentMessage.buffer);
currentMessageView.setUint32(0, size, false);
};
const iterator2 = async function* () {
const sourceIterator = source[Symbol.asyncIterator]();
while (true) {
const { value, done } = await sourceIterator.next();
if (done) {
if (!currentMessageTotalLength) {
return;
} else if (currentMessageTotalLength === currentMessagePendingLength) {
yield currentMessage;
} else {
throw new Error("Truncated event message received.");
}
return;
}
const chunkLength = value.length;
let currentOffset = 0;
while (currentOffset < chunkLength) {
if (!currentMessage) {
const bytesRemaining = chunkLength - currentOffset;
if (!messageLengthBuffer) {
messageLengthBuffer = new Uint8Array(4);
}
const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);
messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);
currentMessagePendingLength += numBytesForTotal;
currentOffset += numBytesForTotal;
if (currentMessagePendingLength < 4) {
break;
}
allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));
messageLengthBuffer = null;
}
const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);
currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);
currentMessagePendingLength += numBytesToWrite;
currentOffset += numBytesToWrite;
if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {
yield currentMessage;
currentMessage = null;
currentMessageTotalLength = 0;
currentMessagePendingLength = 0;
}
}
}
};
return {
[Symbol.asyncIterator]: iterator2
};
}
function getMessageUnmarshaller(deserializer, toUtf8) {
return async function(message) {
const { value: messageType } = message.headers[":message-type"];
if (messageType === "error") {
const unmodeledError = new Error(message.headers[":error-message"].value || "UnknownError");
unmodeledError.name = message.headers[":error-code"].value;
throw unmodeledError;
} else if (messageType === "exception") {
const code = message.headers[":exception-type"].value;
const exception = { [code]: message };
const deserializedException = await deserializer(exception);
if (deserializedException.$unknown) {
const error49 = new Error(toUtf8(message.body));
error49.name = code;
throw error49;
}
throw deserializedException[code];
} else if (messageType === "event") {
const event = {
[message.headers[":event-type"].value]: message
};
const deserialized = await deserializer(event);
if (deserialized.$unknown)
return;
return deserialized;
} else {
throw Error(`Unrecognizable event type: ${message.headers[":event-type"].value}`);
}
};
}
class EventStreamMarshaller {
eventStreamCodec;
utfEncoder;
constructor({ utf8Encoder, utf8Decoder }) {
this.eventStreamCodec = new eventstreamCodec.EventStreamCodec(utf8Encoder, utf8Decoder);
this.utfEncoder = utf8Encoder;
}
deserialize(body, deserializer) {
const inputStream = getChunkedStream(body);
return new eventstreamCodec.SmithyMessageDecoderStream({
messageStream: new eventstreamCodec.MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),
deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder)
});
}
serialize(inputStream, serializer) {
return new eventstreamCodec.MessageEncoderStream({
messageStream: new eventstreamCodec.SmithyMessageEncoderStream({ inputStream, serializer }),
encoder: this.eventStreamCodec,
includeEndFrame: true
});
}
}
var eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
exports.EventStreamMarshaller = EventStreamMarshaller;
exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
});
// node_modules/.pnpm/@smithy+eventstream-serde-browser@4.2.12/node_modules/@smithy/eventstream-serde-browser/dist-cjs/index.js
var require_dist_cjs63 = __commonJS((exports) => {
var eventstreamSerdeUniversal = require_dist_cjs62();
var readableStreamtoIterable = (readableStream) => ({
[Symbol.asyncIterator]: async function* () {
const reader = readableStream.getReader();
try {
while (true) {
const { done, value } = await reader.read();
if (done)
return;
yield value;
}
} finally {
reader.releaseLock();
}
}
});
var iterableToReadableStream = (asyncIterable) => {
const iterator2 = asyncIterable[Symbol.asyncIterator]();
return new ReadableStream({
async pull(controller) {
const { done, value } = await iterator2.next();
if (done) {
return controller.close();
}
controller.enqueue(value);
}
});
};
class EventStreamMarshaller {
universalMarshaller;
constructor({ utf8Encoder, utf8Decoder }) {
this.universalMarshaller = new eventstreamSerdeUniversal.EventStreamMarshaller({
utf8Decoder,
utf8Encoder
});
}
deserialize(body, deserializer) {
const bodyIterable = isReadableStream4(body) ? readableStreamtoIterable(body) : body;
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
}
serialize(input, serializer) {
const serialziedIterable = this.universalMarshaller.serialize(input, serializer);
return typeof ReadableStream === "function" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;
}
}
var isReadableStream4 = (body) => typeof ReadableStream === "function" && body instanceof ReadableStream;
var eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
exports.EventStreamMarshaller = EventStreamMarshaller;
exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
exports.iterableToReadableStream = iterableToReadableStream;
exports.readableStreamtoIterable = readableStreamtoIterable;
});
// node_modules/.pnpm/@aws-sdk+middleware-websocket@3.972.14/node_modules/@aws-sdk/middleware-websocket/dist-cjs/index.js
var require_dist_cjs64 = __commonJS((exports) => {
var utilFormatUrl = require_dist_cjs57();
var eventstreamSerdeBrowser = require_dist_cjs63();
var fetchHttpHandler = require_dist_cjs18();
var protocolHttp = require_dist_cjs2();
var utilBase64 = require_dist_cjs17();
var eventstreamCodec = require_dist_cjs61();
var utilHexEncoding = require_dist_cjs19();
var isWebSocketRequest = (request) => request.protocol === "ws:" || request.protocol === "wss:";
var DEFAULT_WS_CONNECTION_TIMEOUT_MS = 3000;
class WebSocketFetchHandler {
metadata = {
handlerProtocol: "websocket/h1.1"
};
config = {};
configPromise;
httpHandler;
sockets = {};
static create(instanceOrOptions, httpHandler = new fetchHttpHandler.FetchHttpHandler) {
if (typeof instanceOrOptions?.handle === "function") {
return instanceOrOptions;
}
return new WebSocketFetchHandler(instanceOrOptions, httpHandler);
}
constructor(options, httpHandler = new fetchHttpHandler.FetchHttpHandler) {
this.httpHandler = httpHandler;
const setConfig = (opts) => {
this.config = {
...opts ?? {}
};
return this.config;
};
if (typeof options === "function") {
this.config = {};
this.configPromise = options().then((opts) => {
return setConfig(opts);
});
} else {
this.configPromise = Promise.resolve(setConfig(options));
}
}
destroy() {
for (const [key, sockets] of Object.entries(this.sockets)) {
for (const socket of sockets) {
socket.close(1000, `Socket closed through destroy() call`);
}
delete this.sockets[key];
}
}
async handle(request) {
this.config = await this.configPromise;
const { logger } = this.config;
if (!isWebSocketRequest(request)) {
logger?.debug?.(`@aws-sdk - ws fetching ${request.protocol}${request.hostname}${request.path}`);
return this.httpHandler.handle(request);
}
const url3 = utilFormatUrl.formatUrl(request);
logger?.debug?.(`@aws-sdk - ws connecting ${url3.split("?")[0]}`);
const socket = new WebSocket(url3);
if (!this.sockets[url3]) {
this.sockets[url3] = [];
}
this.sockets[url3].push(socket);
socket.binaryType = "arraybuffer";
const { connectionTimeout = DEFAULT_WS_CONNECTION_TIMEOUT_MS } = this.config;
await this.waitForReady(socket, connectionTimeout);
const { body } = request;
const bodyStream = getIterator(body);
const asyncIterable = this.connect(socket, bodyStream);
const outputPayload = toReadableStream(asyncIterable);
return {
response: new protocolHttp.HttpResponse({
statusCode: 200,
body: outputPayload
})
};
}
updateHttpClientConfig(key, value) {
this.configPromise = this.configPromise.then((config2) => {
config2[key] = value;
return config2;
});
}
httpHandlerConfigs() {
return this.config ?? {};
}
removeNotUsableSockets(url3) {
this.sockets[url3] = (this.sockets[url3] ?? []).filter((socket) => ![WebSocket.CLOSING, WebSocket.CLOSED].includes(socket.readyState));
}
waitForReady(socket, connectionTimeout) {
return new Promise((resolve9, reject) => {
const timeout = setTimeout(() => {
this.removeNotUsableSockets(socket.url);
reject({
$metadata: {
httpStatusCode: 500,
websocketSynthetic500Error: true
}
});
}, connectionTimeout);
socket.onopen = () => {
clearTimeout(timeout);
resolve9();
};
});
}
connect(socket, data) {
const messageQueue = [];
let pendingResolve = null;
let pendingReject = null;
const push = (item) => {
if (pendingResolve) {
if (item.error) {
pendingReject(item.error);
} else {
pendingResolve({ done: item.done, value: item.value });
}
pendingResolve = null;
pendingReject = null;
} else {
messageQueue.push(item);
}
};
socket.onmessage = (event) => {
const { data: data2 } = event;
if (typeof data2 === "string") {
push({
done: false,
value: utilBase64.fromBase64(data2)
});
} else {
push({
done: false,
value: new Uint8Array(data2)
});
}
};
socket.onerror = (event) => {
socket.close();
push({ done: true, error: event });
};
socket.onclose = () => {
this.removeNotUsableSockets(socket.url);
push({ done: true });
};
const outputStream = {
[Symbol.asyncIterator]: () => ({
async next() {
if (messageQueue.length > 0) {
const item = messageQueue.shift();
if (item.error) {
throw item.error;
}
return { done: item.done, value: item.value };
}
return new Promise((resolve9, reject) => {
pendingResolve = resolve9;
pendingReject = reject;
});
}
})
};
const send = async () => {
try {
for await (const chunk of data) {
if (socket.readyState >= WebSocket.CLOSING) {
break;
} else {
socket.send(chunk);
}
}
} catch (err) {
push({
done: true,
error: err
});
} finally {
socket.close(1000);
}
};
send();
return outputStream;
}
}
var getIterator = (stream4) => {
if (stream4[Symbol.asyncIterator]) {
return stream4;
}
if (isReadableStream4(stream4)) {
return eventstreamSerdeBrowser.readableStreamtoIterable(stream4);
}
return {
[Symbol.asyncIterator]: async function* () {
yield stream4;
}
};
};
var toReadableStream = (asyncIterable) => typeof ReadableStream === "function" ? eventstreamSerdeBrowser.iterableToReadableStream(asyncIterable) : asyncIterable;
var isReadableStream4 = (payload) => typeof ReadableStream === "function" && payload instanceof ReadableStream;
var websocketEndpointMiddleware = (config2, options) => (next) => (args) => {
const { request } = args;
if (protocolHttp.HttpRequest.isInstance(request) && config2.requestHandler.metadata?.handlerProtocol?.toLowerCase().includes("websocket")) {
request.protocol = "wss:";
request.method = "GET";
request.path = `${request.path}-websocket`;
const { headers } = request;
delete headers["content-type"];
delete headers["x-amz-content-sha256"];
for (const name of Object.keys(headers)) {
if (name.indexOf(options.headerPrefix) === 0) {
const chunkedName = name.replace(options.headerPrefix, "");
request.query[chunkedName] = headers[name];
}
}
if (headers["x-amz-user-agent"]) {
request.query["user-agent"] = headers["x-amz-user-agent"];
}
request.headers = { host: headers.host ?? request.hostname };
}
return next(args);
};
var websocketEndpointMiddlewareOptions = {
name: "websocketEndpointMiddleware",
tags: ["WEBSOCKET", "EVENT_STREAM"],
relation: "after",
toMiddleware: "eventStreamHeaderMiddleware",
override: true
};
var injectSessionIdMiddleware = () => (next) => async (args) => {
const requestParams = {
...args.input
};
const response = await next(args);
const output = response.output;
if (requestParams.SessionId && output.SessionId == null) {
output.SessionId = requestParams.SessionId;
}
return response;
};
var injectSessionIdMiddlewareOptions = {
step: "initialize",
name: "injectSessionIdMiddleware",
tags: ["WEBSOCKET", "EVENT_STREAM"],
override: true
};
var getWebSocketPlugin = (config2, options) => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(websocketEndpointMiddleware(config2, options), websocketEndpointMiddlewareOptions);
clientStack.add(injectSessionIdMiddleware(), injectSessionIdMiddlewareOptions);
}
});
class WebsocketSignatureV4 {
signer;
constructor(options) {
this.signer = options.signer;
}
presign(originalRequest, options = {}) {
return this.signer.presign(originalRequest, options);
}
async sign(toSign, options) {
if (protocolHttp.HttpRequest.isInstance(toSign) && isWebSocketRequest(toSign)) {
const signedRequest = await this.signer.presign({ ...toSign, body: "" }, {
...options,
expiresIn: 60,
unsignableHeaders: new Set(Object.keys(toSign.headers).filter((header) => header !== "host"))
});
return {
...signedRequest,
body: toSign.body
};
} else {
return this.signer.sign(toSign, options);
}
}
signMessage(message, args) {
return this.signer.signMessage(message, args);
}
}
var resolveWebSocketConfig = (input) => {
const { signer } = input;
return Object.assign(input, {
signer: async (authScheme) => {
const signerObj = await signer(authScheme);
if (validateSigner(signerObj)) {
return new WebsocketSignatureV4({ signer: signerObj });
}
throw new Error("Expected WebsocketSignatureV4 signer, please check the client constructor.");
}
});
};
var validateSigner = (signer) => !!signer;
class EventSigningTransformStream extends TransformStream {
constructor(initialSignature, messageSigner, eventStreamCodec, systemClockOffsetProvider) {
let priorSignature = initialSignature;
super({
start() {},
async transform(chunk, controller) {
try {
const now = new Date(Date.now() + await systemClockOffsetProvider());
const dateHeader = {
":date": { type: "timestamp", value: now }
};
const signedMessage = await messageSigner.sign({
message: {
body: chunk,
headers: dateHeader
},
priorSignature
}, {
signingDate: now
});
priorSignature = signedMessage.signature;
const serializedSigned = eventStreamCodec.encode({
headers: {
...dateHeader,
":chunk-signature": {
type: "binary",
value: utilHexEncoding.fromHex(signedMessage.signature)
}
},
body: chunk
});
controller.enqueue(serializedSigned);
} catch (error49) {
controller.error(error49);
}
}
});
}
}
class EventStreamPayloadHandler {
messageSigner;
eventStreamCodec;
systemClockOffsetProvider;
constructor(options) {
this.messageSigner = options.messageSigner;
this.eventStreamCodec = new eventstreamCodec.EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
this.systemClockOffsetProvider = async () => options.systemClockOffset ?? 0;
}
async handle(next, args, context = {}) {
const request = args.request;
const { body: payload, headers, query } = request;
if (!(payload instanceof ReadableStream)) {
throw new Error("Eventstream payload must be a ReadableStream.");
}
const placeHolderStream = new TransformStream;
request.body = placeHolderStream.readable;
const match = (headers?.authorization ?? "").match(/Signature=(\w+)$/);
let priorSignature = (match ?? [])[1] ?? (query && query["X-Amz-Signature"]) ?? "";
if (context.__staticSignature) {
priorSignature = "";
}
const signingStream = new EventSigningTransformStream(priorSignature, await this.messageSigner(), this.eventStreamCodec, this.systemClockOffsetProvider);
payload.pipeThrough(signingStream).pipeThrough(placeHolderStream);
let result;
try {
result = await next(args);
} catch (e) {
const p = payload.cancel?.();
if (p instanceof Promise) {
p.catch(() => {});
}
throw e;
}
return result;
}
}
var eventStreamPayloadHandlerProvider = (options) => new EventStreamPayloadHandler(options);
exports.WebSocketFetchHandler = WebSocketFetchHandler;
exports.eventStreamPayloadHandlerProvider = eventStreamPayloadHandlerProvider;
exports.getWebSocketPlugin = getWebSocketPlugin;
exports.resolveWebSocketConfig = resolveWebSocketConfig;
});
// node_modules/.pnpm/@smithy+eventstream-serde-config-resolver@4.3.12/node_modules/@smithy/eventstream-serde-config-resolver/dist-cjs/index.js
var require_dist_cjs65 = __commonJS((exports) => {
var resolveEventStreamSerdeConfig = (input) => Object.assign(input, {
eventStreamMarshaller: input.eventStreamSerdeProvider(input)
});
exports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.defaultBedrockRuntimeHttpAuthSchemeProvider = exports.defaultBedrockRuntimeHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var core_1 = require_dist_cjs25();
var util_middleware_1 = require_dist_cjs21();
var defaultBedrockRuntimeHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultBedrockRuntimeHttpAuthSchemeParametersProvider = defaultBedrockRuntimeHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "bedrock",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiHttpBearerAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#httpBearerAuth",
propertiesExtractor: ({ profile, filepath, configFilepath, ignoreCache }, context) => ({
identityProperties: {
profile,
filepath,
configFilepath,
ignoreCache
}
})
};
}
var defaultBedrockRuntimeHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
options.push(createSmithyApiHttpBearerAuthHttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultBedrockRuntimeHttpAuthSchemeProvider = defaultBedrockRuntimeHttpAuthSchemeProvider;
var resolveHttpAuthSchemeConfig = (config2) => {
const token = (0, core_1.memoizeIdentityProvider)(config2.token, core_1.isIdentityExpired, core_1.doesIdentityRequireRefresh);
const config_0 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config2);
return Object.assign(config_0, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? []),
token
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/package.json
var require_package3 = __commonJS((exports, module) => {
module.exports = {
name: "@aws-sdk/client-bedrock-runtime",
description: "AWS SDK for JavaScript Bedrock Runtime Client for Node.js, Browser and React Native",
version: "3.1020.0",
scripts: {
build: "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
"build:cjs": "node ../../scripts/compilation/inline client-bedrock-runtime",
"build:es": "tsc -p tsconfig.es.json",
"build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"',
"build:types": "tsc -p tsconfig.types.json",
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
clean: "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
"extract:docs": "api-extractor run --local",
"generate:client": "node ../../scripts/generate-clients/single-service --solo bedrock-runtime",
test: "yarn g:vitest run --passWithNoTests",
"test:browser": "yarn g:vitest run -c vitest.config.browser.e2e.mts",
"test:browser:watch": "yarn g:vitest watch -c vitest.config.browser.e2e.mts",
"test:e2e": "yarn g:vitest run -c vitest.config.e2e.mts",
"test:e2e:watch": "yarn g:vitest watch -c vitest.config.e2e.mts",
"test:index": "tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs",
"test:integration": "yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts",
"test:integration:watch": "yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts",
"test:watch": "yarn g:vitest watch --passWithNoTests"
},
main: "./dist-cjs/index.js",
types: "./dist-types/index.d.ts",
module: "./dist-es/index.js",
sideEffects: false,
dependencies: {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "^3.973.26",
"@aws-sdk/credential-provider-node": "^3.972.28",
"@aws-sdk/eventstream-handler-node": "^3.972.12",
"@aws-sdk/middleware-eventstream": "^3.972.8",
"@aws-sdk/middleware-host-header": "^3.972.8",
"@aws-sdk/middleware-logger": "^3.972.8",
"@aws-sdk/middleware-recursion-detection": "^3.972.9",
"@aws-sdk/middleware-user-agent": "^3.972.27",
"@aws-sdk/middleware-websocket": "^3.972.14",
"@aws-sdk/region-config-resolver": "^3.972.10",
"@aws-sdk/token-providers": "3.1020.0",
"@aws-sdk/types": "^3.973.6",
"@aws-sdk/util-endpoints": "^3.996.5",
"@aws-sdk/util-user-agent-browser": "^3.972.8",
"@aws-sdk/util-user-agent-node": "^3.973.13",
"@smithy/config-resolver": "^4.4.13",
"@smithy/core": "^3.23.13",
"@smithy/eventstream-serde-browser": "^4.2.12",
"@smithy/eventstream-serde-config-resolver": "^4.3.12",
"@smithy/eventstream-serde-node": "^4.2.12",
"@smithy/fetch-http-handler": "^5.3.15",
"@smithy/hash-node": "^4.2.12",
"@smithy/invalid-dependency": "^4.2.12",
"@smithy/middleware-content-length": "^4.2.12",
"@smithy/middleware-endpoint": "^4.4.28",
"@smithy/middleware-retry": "^4.4.45",
"@smithy/middleware-serde": "^4.2.16",
"@smithy/middleware-stack": "^4.2.12",
"@smithy/node-config-provider": "^4.3.12",
"@smithy/node-http-handler": "^4.5.1",
"@smithy/protocol-http": "^5.3.12",
"@smithy/smithy-client": "^4.12.8",
"@smithy/types": "^4.13.1",
"@smithy/url-parser": "^4.2.12",
"@smithy/util-base64": "^4.3.2",
"@smithy/util-body-length-browser": "^4.2.2",
"@smithy/util-body-length-node": "^4.2.3",
"@smithy/util-defaults-mode-browser": "^4.3.44",
"@smithy/util-defaults-mode-node": "^4.2.48",
"@smithy/util-endpoints": "^3.3.3",
"@smithy/util-middleware": "^4.2.12",
"@smithy/util-retry": "^4.2.12",
"@smithy/util-stream": "^4.5.21",
"@smithy/util-utf8": "^4.2.2",
tslib: "^2.6.2"
},
devDependencies: {
"@smithy/snapshot-testing": "^2.0.4",
"@tsconfig/node20": "20.1.8",
"@types/node": "^20.14.8",
concurrently: "7.0.0",
"downlevel-dts": "0.10.1",
premove: "4.0.0",
typescript: "~5.8.3",
vitest: "^4.0.17"
},
engines: {
node: ">=20.0.0"
},
typesVersions: {
"<4.5": {
"dist-types/*": [
"dist-types/ts3.4/*"
]
}
},
files: [
"dist-*/**"
],
author: {
name: "AWS SDK for JavaScript Team",
url: "https://aws.amazon.com/javascript/"
},
license: "Apache-2.0",
browser: {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
},
"react-native": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native"
},
homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-bedrock-runtime",
repository: {
type: "git",
url: "https://github.com/aws/aws-sdk-js-v3.git",
directory: "clients/client-bedrock-runtime"
}
};
});
// node_modules/.pnpm/@aws-sdk+eventstream-handler-node@3.972.12/node_modules/@aws-sdk/eventstream-handler-node/dist-cjs/index.js
var require_dist_cjs66 = __commonJS((exports) => {
var eventstreamCodec = require_dist_cjs61();
var node_stream = __require("node:stream");
class EventSigningTransformStream extends node_stream.Transform {
priorSignature;
messageSigner;
eventStreamCodec;
systemClockOffsetProvider;
constructor(options) {
super({
autoDestroy: true,
readableObjectMode: true,
writableObjectMode: true,
...options
});
this.priorSignature = options.priorSignature;
this.eventStreamCodec = options.eventStreamCodec;
this.messageSigner = options.messageSigner;
this.systemClockOffsetProvider = options.systemClockOffsetProvider;
}
async _transform(chunk, encoding, callback) {
try {
const now = new Date(Date.now() + await this.systemClockOffsetProvider());
const dateHeader = {
":date": { type: "timestamp", value: now }
};
const signedMessage = await this.messageSigner.sign({
message: {
body: chunk,
headers: dateHeader
},
priorSignature: this.priorSignature
}, {
signingDate: now
});
this.priorSignature = signedMessage.signature;
const serializedSigned = this.eventStreamCodec.encode({
headers: {
...dateHeader,
":chunk-signature": {
type: "binary",
value: getSignatureBinary(signedMessage.signature)
}
},
body: chunk
});
this.push(serializedSigned);
return callback();
} catch (err) {
callback(err);
}
}
}
function getSignatureBinary(signature) {
const buf = Buffer.from(signature, "hex");
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
}
class EventStreamPayloadHandler {
messageSigner;
eventStreamCodec;
systemClockOffsetProvider;
constructor(options) {
this.messageSigner = options.messageSigner;
this.eventStreamCodec = new eventstreamCodec.EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
this.systemClockOffsetProvider = async () => options.systemClockOffset ?? 0;
}
async handle(next, args, context = {}) {
const request = args.request;
const { body: payload, query } = request;
if (!(payload instanceof node_stream.Readable)) {
throw new Error("Eventstream payload must be a Readable stream.");
}
const payloadStream = payload;
request.body = new node_stream.PassThrough({
objectMode: true
});
const match = request.headers?.authorization?.match(/Signature=([\w]+)$/);
let priorSignature = match?.[1] ?? query?.["X-Amz-Signature"] ?? "";
if (context.__staticSignature) {
priorSignature = "";
}
const signingStream = new EventSigningTransformStream({
priorSignature,
eventStreamCodec: this.eventStreamCodec,
messageSigner: await this.messageSigner(),
systemClockOffsetProvider: this.systemClockOffsetProvider
});
let resolvePipeline;
const pipelineError = new Promise((resolve9, reject) => {
resolvePipeline = () => resolve9(undefined);
node_stream.pipeline(payloadStream, signingStream, request.body, (err) => {
if (err) {
reject(new Error(`Pipeline error in @aws-sdk/eventstream-handler-node: ${err.message}`, { cause: err }));
}
});
});
let result;
try {
result = await Promise.race([next(args), pipelineError]);
} catch (e) {
request.body.end();
throw e;
} finally {
resolvePipeline();
}
return result;
}
}
var eventStreamPayloadHandlerProvider = (options) => new EventStreamPayloadHandler(options);
exports.eventStreamPayloadHandlerProvider = eventStreamPayloadHandlerProvider;
});
// node_modules/.pnpm/@smithy+eventstream-serde-node@4.2.12/node_modules/@smithy/eventstream-serde-node/dist-cjs/index.js
var require_dist_cjs67 = __commonJS((exports) => {
var eventstreamSerdeUniversal = require_dist_cjs62();
var stream4 = __require("stream");
async function* readabletoIterable(readStream2) {
let streamEnded = false;
let generationEnded = false;
const records = new Array;
readStream2.on("error", (err) => {
if (!streamEnded) {
streamEnded = true;
}
if (err) {
throw err;
}
});
readStream2.on("data", (data) => {
records.push(data);
});
readStream2.on("end", () => {
streamEnded = true;
});
while (!generationEnded) {
const value = await new Promise((resolve9) => setTimeout(() => resolve9(records.shift()), 0));
if (value) {
yield value;
}
generationEnded = streamEnded && records.length === 0;
}
}
class EventStreamMarshaller {
universalMarshaller;
constructor({ utf8Encoder, utf8Decoder }) {
this.universalMarshaller = new eventstreamSerdeUniversal.EventStreamMarshaller({
utf8Decoder,
utf8Encoder
});
}
deserialize(body, deserializer) {
const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readabletoIterable(body);
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
}
serialize(input, serializer) {
return stream4.Readable.from(this.universalMarshaller.serialize(input, serializer));
}
}
var eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
exports.EventStreamMarshaller = EventStreamMarshaller;
exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/endpoint/ruleset.js
var require_ruleset6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var s = "required";
var t = "fn";
var u4 = "argv";
var v2 = "ref";
var a2 = true;
var b2 = "isSet";
var c5 = "booleanEquals";
var d = "error";
var e = "endpoint";
var f = "tree";
var g2 = "PartitionResult";
var h2 = { [s]: false, type: "string" };
var i2 = { [s]: true, default: false, type: "boolean" };
var j2 = { [v2]: "Endpoint" };
var k2 = { [t]: c5, [u4]: [{ [v2]: "UseFIPS" }, true] };
var l = { [t]: c5, [u4]: [{ [v2]: "UseDualStack" }, true] };
var m2 = {};
var n2 = { [t]: "getAttr", [u4]: [{ [v2]: g2 }, "supportsFIPS"] };
var o2 = { [t]: c5, [u4]: [true, { [t]: "getAttr", [u4]: [{ [v2]: g2 }, "supportsDualStack"] }] };
var p = [k2];
var q2 = [l];
var r = [{ [v2]: "Region" }];
var _data = { version: "1.0", parameters: { Region: h2, UseDualStack: i2, UseFIPS: i2, Endpoint: h2 }, rules: [{ conditions: [{ [t]: b2, [u4]: [j2] }], rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { rules: [{ conditions: q2, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: j2, properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [t]: b2, [u4]: r }], rules: [{ conditions: [{ [t]: "aws.partition", [u4]: r, assign: g2 }], rules: [{ conditions: [k2, l], rules: [{ conditions: [{ [t]: c5, [u4]: [a2, n2] }, o2], rules: [{ rules: [{ endpoint: { url: "https://bedrock-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: p, rules: [{ conditions: [{ [t]: c5, [u4]: [n2, a2] }], rules: [{ rules: [{ endpoint: { url: "https://bedrock-runtime-fips.{Region}.{PartitionResult#dnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: q2, rules: [{ conditions: [o2], rules: [{ rules: [{ endpoint: { url: "https://bedrock-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { rules: [{ endpoint: { url: "https://bedrock-runtime.{Region}.{PartitionResult#dnsSuffix}", properties: m2, headers: m2 }, type: e }], type: f }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }], type: f }] };
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/endpoint/endpointResolver.js
var require_endpointResolver6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset6();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/models/BedrockRuntimeServiceException.js
var require_BedrockRuntimeServiceException = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BedrockRuntimeServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class BedrockRuntimeServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, BedrockRuntimeServiceException.prototype);
}
}
exports.BedrockRuntimeServiceException = BedrockRuntimeServiceException;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/models/errors.js
var require_errors7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModelStreamErrorException = exports.ModelTimeoutException = exports.ModelNotReadyException = exports.ModelErrorException = exports.ServiceUnavailableException = exports.ServiceQuotaExceededException = exports.ResourceNotFoundException = exports.ConflictException = exports.ValidationException = exports.ThrottlingException = exports.InternalServerException = exports.AccessDeniedException = undefined;
var BedrockRuntimeServiceException_1 = require_BedrockRuntimeServiceException();
class AccessDeniedException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "AccessDeniedException";
$fault = "client";
constructor(opts) {
super({
name: "AccessDeniedException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, AccessDeniedException.prototype);
}
}
exports.AccessDeniedException = AccessDeniedException;
class InternalServerException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "InternalServerException";
$fault = "server";
constructor(opts) {
super({
name: "InternalServerException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, InternalServerException.prototype);
}
}
exports.InternalServerException = InternalServerException;
class ThrottlingException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ThrottlingException";
$fault = "client";
constructor(opts) {
super({
name: "ThrottlingException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ThrottlingException.prototype);
}
}
exports.ThrottlingException = ThrottlingException;
class ValidationException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ValidationException";
$fault = "client";
constructor(opts) {
super({
name: "ValidationException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ValidationException.prototype);
}
}
exports.ValidationException = ValidationException;
class ConflictException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ConflictException";
$fault = "client";
constructor(opts) {
super({
name: "ConflictException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ConflictException.prototype);
}
}
exports.ConflictException = ConflictException;
class ResourceNotFoundException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ResourceNotFoundException";
$fault = "client";
constructor(opts) {
super({
name: "ResourceNotFoundException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
}
}
exports.ResourceNotFoundException = ResourceNotFoundException;
class ServiceQuotaExceededException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ServiceQuotaExceededException";
$fault = "client";
constructor(opts) {
super({
name: "ServiceQuotaExceededException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);
}
}
exports.ServiceQuotaExceededException = ServiceQuotaExceededException;
class ServiceUnavailableException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ServiceUnavailableException";
$fault = "server";
constructor(opts) {
super({
name: "ServiceUnavailableException",
$fault: "server",
...opts
});
Object.setPrototypeOf(this, ServiceUnavailableException.prototype);
}
}
exports.ServiceUnavailableException = ServiceUnavailableException;
class ModelErrorException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ModelErrorException";
$fault = "client";
originalStatusCode;
resourceName;
constructor(opts) {
super({
name: "ModelErrorException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ModelErrorException.prototype);
this.originalStatusCode = opts.originalStatusCode;
this.resourceName = opts.resourceName;
}
}
exports.ModelErrorException = ModelErrorException;
class ModelNotReadyException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ModelNotReadyException";
$fault = "client";
$retryable = {};
constructor(opts) {
super({
name: "ModelNotReadyException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ModelNotReadyException.prototype);
}
}
exports.ModelNotReadyException = ModelNotReadyException;
class ModelTimeoutException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ModelTimeoutException";
$fault = "client";
constructor(opts) {
super({
name: "ModelTimeoutException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ModelTimeoutException.prototype);
}
}
exports.ModelTimeoutException = ModelTimeoutException;
class ModelStreamErrorException extends BedrockRuntimeServiceException_1.BedrockRuntimeServiceException {
name = "ModelStreamErrorException";
$fault = "client";
originalStatusCode;
originalMessage;
constructor(opts) {
super({
name: "ModelStreamErrorException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ModelStreamErrorException.prototype);
this.originalStatusCode = opts.originalStatusCode;
this.originalMessage = opts.originalMessage;
}
}
exports.ModelStreamErrorException = ModelStreamErrorException;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/schemas/schemas_0.js
var require_schemas_06 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DocumentPageLocation$ = exports.DocumentChunkLocation$ = exports.DocumentCharLocation$ = exports.DocumentBlock$ = exports.CountTokensResponse$ = exports.CountTokensRequest$ = exports.ConverseTrace$ = exports.ConverseTokensRequest$ = exports.ConverseStreamTrace$ = exports.ConverseStreamResponse$ = exports.ConverseStreamRequest$ = exports.ConverseStreamMetrics$ = exports.ConverseStreamMetadataEvent$ = exports.ConverseResponse$ = exports.ConverseRequest$ = exports.ConverseMetrics$ = exports.ContentBlockStopEvent$ = exports.ContentBlockStartEvent$ = exports.ContentBlockDeltaEvent$ = exports.CitationSourceContentDelta$ = exports.CitationsDelta$ = exports.CitationsContentBlock$ = exports.CitationsConfig$ = exports.Citation$ = exports.CachePointBlock$ = exports.CacheDetail$ = exports.BidirectionalOutputPayloadPart$ = exports.BidirectionalInputPayloadPart$ = exports.AutoToolChoice$ = exports.AudioBlock$ = exports.AsyncInvokeSummary$ = exports.AsyncInvokeS3OutputDataConfig$ = exports.ApplyGuardrailResponse$ = exports.ApplyGuardrailRequest$ = exports.AppliedGuardrailDetails$ = exports.AnyToolChoice$ = exports.errorTypeRegistries = exports.ValidationException$ = exports.ThrottlingException$ = exports.ServiceUnavailableException$ = exports.ServiceQuotaExceededException$ = exports.ResourceNotFoundException$ = exports.ModelTimeoutException$ = exports.ModelStreamErrorException$ = exports.ModelNotReadyException$ = exports.ModelErrorException$ = exports.InternalServerException$ = exports.ConflictException$ = exports.AccessDeniedException$ = exports.BedrockRuntimeServiceException$ = undefined;
exports.InvokeModelResponse$ = exports.InvokeModelRequest$ = exports.InferenceConfiguration$ = exports.ImageBlockStart$ = exports.ImageBlockDelta$ = exports.ImageBlock$ = exports.GuardrailWordPolicyAssessment$ = exports.GuardrailUsage$ = exports.GuardrailTraceAssessment$ = exports.GuardrailTopicPolicyAssessment$ = exports.GuardrailTopic$ = exports.GuardrailTextCharactersCoverage$ = exports.GuardrailTextBlock$ = exports.GuardrailStreamConfiguration$ = exports.GuardrailSensitiveInformationPolicyAssessment$ = exports.GuardrailRegexFilter$ = exports.GuardrailPiiEntityFilter$ = exports.GuardrailOutputContent$ = exports.GuardrailManagedWord$ = exports.GuardrailInvocationMetrics$ = exports.GuardrailImageCoverage$ = exports.GuardrailImageBlock$ = exports.GuardrailCustomWord$ = exports.GuardrailCoverage$ = exports.GuardrailConverseTextBlock$ = exports.GuardrailConverseImageBlock$ = exports.GuardrailContextualGroundingPolicyAssessment$ = exports.GuardrailContextualGroundingFilter$ = exports.GuardrailContentPolicyAssessment$ = exports.GuardrailContentFilter$ = exports.GuardrailConfiguration$ = exports.GuardrailAutomatedReasoningValidFinding$ = exports.GuardrailAutomatedReasoningTranslationOption$ = exports.GuardrailAutomatedReasoningTranslationAmbiguousFinding$ = exports.GuardrailAutomatedReasoningTranslation$ = exports.GuardrailAutomatedReasoningTooComplexFinding$ = exports.GuardrailAutomatedReasoningStatement$ = exports.GuardrailAutomatedReasoningScenario$ = exports.GuardrailAutomatedReasoningSatisfiableFinding$ = exports.GuardrailAutomatedReasoningRule$ = exports.GuardrailAutomatedReasoningPolicyAssessment$ = exports.GuardrailAutomatedReasoningNoTranslationsFinding$ = exports.GuardrailAutomatedReasoningLogicWarning$ = exports.GuardrailAutomatedReasoningInvalidFinding$ = exports.GuardrailAutomatedReasoningInputTextReference$ = exports.GuardrailAutomatedReasoningImpossibleFinding$ = exports.GuardrailAssessment$ = exports.GetAsyncInvokeResponse$ = exports.GetAsyncInvokeRequest$ = exports.ErrorBlock$ = undefined;
exports.DocumentSource$ = exports.DocumentContentBlock$ = exports.CountTokensInput$ = exports.ConverseStreamOutput$ = exports.ConverseOutput$ = exports.ContentBlockStart$ = exports.ContentBlockDelta$ = exports.ContentBlock$ = exports.CitationSourceContent$ = exports.CitationLocation$ = exports.CitationGeneratedContent$ = exports.AudioSource$ = exports.AsyncInvokeOutputDataConfig$ = exports.WebLocation$ = exports.VideoBlock$ = exports.ToolUseBlockStart$ = exports.ToolUseBlockDelta$ = exports.ToolUseBlock$ = exports.ToolSpecification$ = exports.ToolResultBlockStart$ = exports.ToolResultBlock$ = exports.ToolConfiguration$ = exports.TokenUsage$ = exports.Tag$ = exports.SystemTool$ = exports.StartAsyncInvokeResponse$ = exports.StartAsyncInvokeRequest$ = exports.SpecificToolChoice$ = exports.ServiceTier$ = exports.SearchResultLocation$ = exports.SearchResultContentBlock$ = exports.SearchResultBlock$ = exports.S3Location$ = exports.ReasoningTextBlock$ = exports.PromptRouterTrace$ = exports.PerformanceConfiguration$ = exports.PayloadPart$ = exports.OutputFormat$ = exports.OutputConfig$ = exports.MessageStopEvent$ = exports.MessageStartEvent$ = exports.Message$ = exports.ListAsyncInvokesResponse$ = exports.ListAsyncInvokesRequest$ = exports.JsonSchemaDefinition$ = exports.InvokeModelWithResponseStreamResponse$ = exports.InvokeModelWithResponseStreamRequest$ = exports.InvokeModelWithBidirectionalStreamResponse$ = exports.InvokeModelWithBidirectionalStreamRequest$ = exports.InvokeModelTokensRequest$ = undefined;
exports.StartAsyncInvoke$ = exports.ListAsyncInvokes$ = exports.InvokeModelWithResponseStream$ = exports.InvokeModelWithBidirectionalStream$ = exports.InvokeModel$ = exports.GetAsyncInvoke$ = exports.CountTokens$ = exports.ConverseStream$ = exports.Converse$ = exports.ApplyGuardrail$ = exports.VideoSource$ = exports.ToolResultContentBlock$ = exports.ToolResultBlockDelta$ = exports.ToolInputSchema$ = exports.ToolChoice$ = exports.Tool$ = exports.SystemContentBlock$ = exports.ResponseStream$ = exports.ReasoningContentBlockDelta$ = exports.ReasoningContentBlock$ = exports.PromptVariableValues$ = exports.OutputFormatStructure$ = exports.InvokeModelWithBidirectionalStreamOutput$ = exports.InvokeModelWithBidirectionalStreamInput$ = exports.ImageSource$ = exports.GuardrailImageSource$ = exports.GuardrailConverseImageSource$ = exports.GuardrailConverseContentBlock$ = exports.GuardrailContentBlock$ = exports.GuardrailAutomatedReasoningFinding$ = undefined;
var _A = "Accept";
var _AB = "AudioBlock";
var _ADE = "AccessDeniedException";
var _AG = "ApplyGuardrail";
var _AGD = "AppliedGuardrailDetails";
var _AGR = "ApplyGuardrailRequest";
var _AGRp = "ApplyGuardrailResponse";
var _AIM = "AsyncInvokeMessage";
var _AIODC = "AsyncInvokeOutputDataConfig";
var _AIS = "AsyncInvokeSummary";
var _AISODC = "AsyncInvokeS3OutputDataConfig";
var _AISs = "AsyncInvokeSummaries";
var _AS = "AudioSource";
var _ATC = "AnyToolChoice";
var _ATCu = "AutoToolChoice";
var _B = "Body";
var _BIPP = "BidirectionalInputPayloadPart";
var _BOPP = "BidirectionalOutputPayloadPart";
var _C = "Citation";
var _CB = "ContentBlocks";
var _CBD = "ContentBlockDelta";
var _CBDE = "ContentBlockDeltaEvent";
var _CBS = "ContentBlockStart";
var _CBSE = "ContentBlockStartEvent";
var _CBSEo = "ContentBlockStopEvent";
var _CBo = "ContentBlock";
var _CC = "CitationsConfig";
var _CCB = "CitationsContentBlock";
var _CD = "CacheDetail";
var _CDL = "CacheDetailsList";
var _CDi = "CitationsDelta";
var _CE = "ConflictException";
var _CGC = "CitationGeneratedContent";
var _CGCL = "CitationGeneratedContentList";
var _CL = "CitationLocation";
var _CM = "ConverseMetrics";
var _CO = "ConverseOutput";
var _CPB = "CachePointBlock";
var _CR = "ConverseRequest";
var _CRo = "ConverseResponse";
var _CS = "ConverseStream";
var _CSC = "CitationSourceContent";
var _CSCD = "CitationSourceContentDelta";
var _CSCL = "CitationSourceContentList";
var _CSCLD = "CitationSourceContentListDelta";
var _CSM = "ConverseStreamMetrics";
var _CSME = "ConverseStreamMetadataEvent";
var _CSO = "ConverseStreamOutput";
var _CSR = "ConverseStreamRequest";
var _CSRo = "ConverseStreamResponse";
var _CST = "ConverseStreamTrace";
var _CT = "ConverseTrace";
var _CTI = "CountTokensInput";
var _CTR = "ConverseTokensRequest";
var _CTRo = "CountTokensRequest";
var _CTRou = "CountTokensResponse";
var _CT_ = "Content-Type";
var _CTo = "CountTokens";
var _Ci = "Citations";
var _Co = "Converse";
var _DB = "DocumentBlock";
var _DCB = "DocumentContentBlocks";
var _DCBo = "DocumentContentBlock";
var _DCL = "DocumentCharLocation";
var _DCLo = "DocumentChunkLocation";
var _DPL = "DocumentPageLocation";
var _DS = "DocumentSource";
var _EB = "ErrorBlock";
var _GA = "GuardrailAssessment";
var _GAI = "GetAsyncInvoke";
var _GAIR = "GetAsyncInvokeRequest";
var _GAIRe = "GetAsyncInvokeResponse";
var _GAL = "GuardrailAssessmentList";
var _GALM = "GuardrailAssessmentListMap";
var _GAM = "GuardrailAssessmentMap";
var _GARDSL = "GuardrailAutomatedReasoningDifferenceScenarioList";
var _GARF = "GuardrailAutomatedReasoningFinding";
var _GARFL = "GuardrailAutomatedReasoningFindingList";
var _GARIF = "GuardrailAutomatedReasoningImpossibleFinding";
var _GARIFu = "GuardrailAutomatedReasoningInvalidFinding";
var _GARITR = "GuardrailAutomatedReasoningInputTextReference";
var _GARITRL = "GuardrailAutomatedReasoningInputTextReferenceList";
var _GARLW = "GuardrailAutomatedReasoningLogicWarning";
var _GARNTF = "GuardrailAutomatedReasoningNoTranslationsFinding";
var _GARPA = "GuardrailAutomatedReasoningPolicyAssessment";
var _GARR = "GuardrailAutomatedReasoningRule";
var _GARRL = "GuardrailAutomatedReasoningRuleList";
var _GARS = "GuardrailAutomatedReasoningScenario";
var _GARSF = "GuardrailAutomatedReasoningSatisfiableFinding";
var _GARSL = "GuardrailAutomatedReasoningStatementList";
var _GARSLC = "GuardrailAutomatedReasoningStatementLogicContent";
var _GARSNLC = "GuardrailAutomatedReasoningStatementNaturalLanguageContent";
var _GARSu = "GuardrailAutomatedReasoningStatement";
var _GART = "GuardrailAutomatedReasoningTranslation";
var _GARTAF = "GuardrailAutomatedReasoningTranslationAmbiguousFinding";
var _GARTCF = "GuardrailAutomatedReasoningTooComplexFinding";
var _GARTL = "GuardrailAutomatedReasoningTranslationList";
var _GARTO = "GuardrailAutomatedReasoningTranslationOption";
var _GARTOL = "GuardrailAutomatedReasoningTranslationOptionList";
var _GARVF = "GuardrailAutomatedReasoningValidFinding";
var _GC = "GuardrailConfiguration";
var _GCB = "GuardrailContentBlock";
var _GCBL = "GuardrailContentBlockList";
var _GCCB = "GuardrailConverseContentBlock";
var _GCF = "GuardrailContentFilter";
var _GCFL = "GuardrailContentFilterList";
var _GCGF = "GuardrailContextualGroundingFilter";
var _GCGFu = "GuardrailContextualGroundingFilters";
var _GCGPA = "GuardrailContextualGroundingPolicyAssessment";
var _GCIB = "GuardrailConverseImageBlock";
var _GCIS = "GuardrailConverseImageSource";
var _GCPA = "GuardrailContentPolicyAssessment";
var _GCTB = "GuardrailConverseTextBlock";
var _GCW = "GuardrailCustomWord";
var _GCWL = "GuardrailCustomWordList";
var _GCu = "GuardrailCoverage";
var _GIB = "GuardrailImageBlock";
var _GIC = "GuardrailImageCoverage";
var _GIM = "GuardrailInvocationMetrics";
var _GIS = "GuardrailImageSource";
var _GMW = "GuardrailManagedWord";
var _GMWL = "GuardrailManagedWordList";
var _GOC = "GuardrailOutputContent";
var _GOCL = "GuardrailOutputContentList";
var _GPEF = "GuardrailPiiEntityFilter";
var _GPEFL = "GuardrailPiiEntityFilterList";
var _GRF = "GuardrailRegexFilter";
var _GRFL = "GuardrailRegexFilterList";
var _GSC = "GuardrailStreamConfiguration";
var _GSIPA = "GuardrailSensitiveInformationPolicyAssessment";
var _GT = "GuardrailTopic";
var _GTA = "GuardrailTraceAssessment";
var _GTB = "GuardrailTextBlock";
var _GTCC = "GuardrailTextCharactersCoverage";
var _GTL = "GuardrailTopicList";
var _GTPA = "GuardrailTopicPolicyAssessment";
var _GU = "GuardrailUsage";
var _GWPA = "GuardrailWordPolicyAssessment";
var _IB = "ImageBlock";
var _IBD = "ImageBlockDelta";
var _IBS = "ImageBlockStart";
var _IC = "InferenceConfiguration";
var _IM = "InvokeModel";
var _IMR = "InvokeModelRequest";
var _IMRn = "InvokeModelResponse";
var _IMTR = "InvokeModelTokensRequest";
var _IMWBS = "InvokeModelWithBidirectionalStream";
var _IMWBSI = "InvokeModelWithBidirectionalStreamInput";
var _IMWBSO = "InvokeModelWithBidirectionalStreamOutput";
var _IMWBSR = "InvokeModelWithBidirectionalStreamRequest";
var _IMWBSRn = "InvokeModelWithBidirectionalStreamResponse";
var _IMWRS = "InvokeModelWithResponseStream";
var _IMWRSR = "InvokeModelWithResponseStreamRequest";
var _IMWRSRn = "InvokeModelWithResponseStreamResponse";
var _IS = "ImageSource";
var _ISE = "InternalServerException";
var _JSD = "JsonSchemaDefinition";
var _LAI = "ListAsyncInvokes";
var _LAIR = "ListAsyncInvokesRequest";
var _LAIRi = "ListAsyncInvokesResponse";
var _M = "Message";
var _MEE = "ModelErrorException";
var _MIP = "ModelInputPayload";
var _MNRE = "ModelNotReadyException";
var _MSE = "MessageStartEvent";
var _MSEE = "ModelStreamErrorException";
var _MSEe = "MessageStopEvent";
var _MTE = "ModelTimeoutException";
var _Me = "Messages";
var _OC = "OutputConfig";
var _OF = "OutputFormat";
var _OFS = "OutputFormatStructure";
var _PB = "PartBody";
var _PC = "PerformanceConfiguration";
var _PP = "PayloadPart";
var _PRT = "PromptRouterTrace";
var _PVM = "PromptVariableMap";
var _PVV = "PromptVariableValues";
var _RCB = "ReasoningContentBlock";
var _RCBD = "ReasoningContentBlockDelta";
var _RM = "RequestMetadata";
var _RNFE = "ResourceNotFoundException";
var _RS = "ResponseStream";
var _RTB = "ReasoningTextBlock";
var _SAI = "StartAsyncInvoke";
var _SAIR = "StartAsyncInvokeRequest";
var _SAIRt = "StartAsyncInvokeResponse";
var _SCB = "SystemContentBlocks";
var _SCBy = "SystemContentBlock";
var _SL = "S3Location";
var _SQEE = "ServiceQuotaExceededException";
var _SRB = "SearchResultBlock";
var _SRCB = "SearchResultContentBlock";
var _SRCBe = "SearchResultContentBlocks";
var _SRL = "SearchResultLocation";
var _ST = "ServiceTier";
var _STC = "SpecificToolChoice";
var _STy = "SystemTool";
var _SUE = "ServiceUnavailableException";
var _T = "Tag";
var _TC = "ToolConfiguration";
var _TCo = "ToolChoice";
var _TE = "ThrottlingException";
var _TIS = "ToolInputSchema";
var _TL = "TagList";
var _TRB = "ToolResultBlock";
var _TRBD = "ToolResultBlocksDelta";
var _TRBDo = "ToolResultBlockDelta";
var _TRBS = "ToolResultBlockStart";
var _TRCB = "ToolResultContentBlocks";
var _TRCBo = "ToolResultContentBlock";
var _TS = "ToolSpecification";
var _TU = "TokenUsage";
var _TUB = "ToolUseBlock";
var _TUBD = "ToolUseBlockDelta";
var _TUBS = "ToolUseBlockStart";
var _To = "Tools";
var _Too = "Tool";
var _VB = "VideoBlock";
var _VE = "ValidationException";
var _VS = "VideoSource";
var _WL = "WebLocation";
var _XABA = "X-Amzn-Bedrock-Accept";
var _XABCT = "X-Amzn-Bedrock-Content-Type";
var _XABG = "X-Amzn-Bedrock-GuardrailIdentifier";
var _XABG_ = "X-Amzn-Bedrock-GuardrailVersion";
var _XABPL = "X-Amzn-Bedrock-PerformanceConfig-Latency";
var _XABST = "X-Amzn-Bedrock-Service-Tier";
var _XABT = "X-Amzn-Bedrock-Trace";
var _a3 = "action";
var _aGD = "appliedGuardrailDetails";
var _aIS = "asyncInvokeSummaries";
var _aMRF = "additionalModelRequestFields";
var _aMRFP = "additionalModelResponseFieldPaths";
var _aMRFd = "additionalModelResponseFields";
var _aR = "actionReason";
var _aRP = "automatedReasoningPolicy";
var _aRPU = "automatedReasoningPolicyUnits";
var _aRPu = "automatedReasoningPolicies";
var _ac = "accept";
var _an = "any";
var _as = "assessments";
var _au = "audio";
var _aut = "auto";
var _b = "bytes";
var _bO = "bucketOwner";
var _bo = "body";
var _c = "client";
var _cBD = "contentBlockDelta";
var _cBI = "contentBlockIndex";
var _cBS = "contentBlockStart";
var _cBSo = "contentBlockStop";
var _cC = "citationsContent";
var _cD = "cacheDetails";
var _cFS = "claimsFalseScenario";
var _cGP = "contextualGroundingPolicy";
var _cGPU = "contextualGroundingPolicyUnits";
var _cP = "contentPolicy";
var _cPIU = "contentPolicyImageUnits";
var _cPU = "contentPolicyUnits";
var _cPa = "cachePoint";
var _cR = "contradictingRules";
var _cRIT = "cacheReadInputTokens";
var _cRT = "clientRequestToken";
var _cT = "contentType";
var _cTS = "claimsTrueScenario";
var _cW = "customWords";
var _cWIT = "cacheWriteInputTokens";
var _ch = "chunk";
var _ci = "citations";
var _cit = "citation";
var _cl = "claims";
var _co = "content";
var _con = "context";
var _conf = "confidence";
var _conv = "converse";
var _d = "delta";
var _dC = "documentChar";
var _dCo = "documentChunk";
var _dI = "documentIndex";
var _dP = "documentPage";
var _dS = "differenceScenarios";
var _de = "detected";
var _des = "description";
var _do = "domain";
var _doc = "document";
var _e2 = "error";
var _eT = "endTime";
var _en = "enabled";
var _end = "end";
var _f = "format";
var _fM = "failureMessage";
var _fS = "filterStrength";
var _fi = "findings";
var _fil = "filters";
var _g = "guardrail";
var _gA = "guardrailArn";
var _gC = "guardrailCoverage";
var _gCu = "guardrailConfig";
var _gCua = "guardContent";
var _gI = "guardrailId";
var _gIu = "guardrailIdentifier";
var _gO = "guardrailOrigin";
var _gOu = "guardrailOwnership";
var _gPL = "guardrailProcessingLatency";
var _gV = "guardrailVersion";
var _gu = "guarded";
var _h = "http";
var _hE = "httpError";
var _hH = "httpHeader";
var _hQ = "httpQuery";
var _i = "input";
var _iA = "invocationArn";
var _iAn = "inputAssessment";
var _iC = "inferenceConfig";
var _iM = "invocationMetrics";
var _iMI = "invokedModelId";
var _iMn = "invokeModel";
var _iS = "inputSchema";
var _iSE = "internalServerException";
var _iT = "inputTokens";
var _id = "identifier";
var _im = "images";
var _ima = "image";
var _imp = "impossible";
var _in = "invalid";
var _j = "json";
var _jS = "jsonSchema";
var _k = "key";
var _kKI = "kmsKeyId";
var _l = "location";
var _lM = "latencyMs";
var _lMT = "lastModifiedTime";
var _lW = "logicWarning";
var _la = "latency";
var _lo = "logic";
var _m = "message";
var _mA = "modelArn";
var _mI = "modelId";
var _mIo = "modelInput";
var _mO = "modelOutput";
var _mR = "maxResults";
var _mS = "messageStart";
var _mSEE = "modelStreamErrorException";
var _mSe = "messageStop";
var _mT = "maxTokens";
var _mTE = "modelTimeoutException";
var _mWL = "managedWordLists";
var _ma = "match";
var _me = "messages";
var _met = "metrics";
var _meta = "metadata";
var _n = "name";
var _nL = "naturalLanguage";
var _nT = "nextToken";
var _nTo = "noTranslations";
var _o = "outputs";
var _oA = "outputAssessments";
var _oC = "outputConfig";
var _oDC = "outputDataConfig";
var _oM = "originalMessage";
var _oS = "outputScope";
var _oSC = "originalStatusCode";
var _oT = "outputTokens";
var _op = "options";
var _ou = "output";
var _p = "premises";
var _pC = "performanceConfig";
var _pCL = "performanceConfigLatency";
var _pE = "piiEntities";
var _pR = "promptRouter";
var _pV = "promptVariables";
var _pVA = "policyVersionArn";
var _q = "qualifiers";
var _r = "regex";
var _rC = "reasoningContent";
var _rCe = "redactedContent";
var _rM = "requestMetadata";
var _rN = "resourceName";
var _rT = "reasoningText";
var _re = "regexes";
var _ro = "role";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.bedrockruntime";
var _sB = "sortBy";
var _sC = "sourceContent";
var _sE = "statusEquals";
var _sIP = "sensitiveInformationPolicy";
var _sIPFU = "sensitiveInformationPolicyFreeUnits";
var _sIPU = "sensitiveInformationPolicyUnits";
var _sL = "s3Location";
var _sO = "sortOrder";
var _sODC = "s3OutputDataConfig";
var _sPM = "streamProcessingMode";
var _sR = "stopReason";
var _sRI = "searchResultIndex";
var _sRL = "searchResultLocation";
var _sRe = "searchResult";
var _sRu = "supportingRules";
var _sS = "stopSequences";
var _sT = "submitTime";
var _sTA = "submitTimeAfter";
var _sTB = "submitTimeBefore";
var _sTe = "serviceTier";
var _sTy = "systemTool";
var _sU = "s3Uri";
var _sUE = "serviceUnavailableException";
var _sa = "satisfiable";
var _sc = "score";
var _sch = "schema";
var _se = "server";
var _si = "signature";
var _so = "source";
var _st = "status";
var _sta = "start";
var _stat = "statements";
var _str = "stream";
var _stre = "streaming";
var _stri = "strict";
var _stru = "structure";
var _sy = "system";
var _t = "ttl";
var _tA = "translationAmbiguous";
var _tC = "toolConfig";
var _tCe = "textCharacters";
var _tCo = "toolChoice";
var _tCoo = "tooComplex";
var _tE = "throttlingException";
var _tF = "textFormat";
var _tP = "topicPolicy";
var _tPU = "topicPolicyUnits";
var _tPo = "topP";
var _tR = "toolResult";
var _tS = "toolSpec";
var _tT = "totalTokens";
var _tU = "toolUse";
var _tUI = "toolUseId";
var _ta = "tags";
var _te = "text";
var _tem = "temperature";
var _th = "threshold";
var _ti = "title";
var _to = "total";
var _too = "tools";
var _tool = "tool";
var _top = "topics";
var _tr = "trace";
var _tra = "translation";
var _tran = "translations";
var _ty = "type";
var _u = "usage";
var _uC = "untranslatedClaims";
var _uP = "untranslatedPremises";
var _ur = "uri";
var _url2 = "url";
var _v = "value";
var _vE = "validationException";
var _va = "valid";
var _vi = "video";
var _w = "web";
var _wP = "wordPolicy";
var _wPU = "wordPolicyUnits";
var n0 = "com.amazonaws.bedrockruntime";
var schema_1 = require_schema();
var BedrockRuntimeServiceException_1 = require_BedrockRuntimeServiceException();
var errors_1 = require_errors7();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.BedrockRuntimeServiceException$ = [-3, _s, "BedrockRuntimeServiceException", 0, [], []];
_s_registry.registerError(exports.BedrockRuntimeServiceException$, BedrockRuntimeServiceException_1.BedrockRuntimeServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.AccessDeniedException$ = [
-3,
n0,
_ADE,
{ [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.AccessDeniedException$, errors_1.AccessDeniedException);
exports.ConflictException$ = [
-3,
n0,
_CE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ConflictException$, errors_1.ConflictException);
exports.InternalServerException$ = [
-3,
n0,
_ISE,
{ [_e2]: _se, [_hE]: 500 },
[_m],
[0]
];
n0_registry.registerError(exports.InternalServerException$, errors_1.InternalServerException);
exports.ModelErrorException$ = [
-3,
n0,
_MEE,
{ [_e2]: _c, [_hE]: 424 },
[_m, _oSC, _rN],
[0, 1, 0]
];
n0_registry.registerError(exports.ModelErrorException$, errors_1.ModelErrorException);
exports.ModelNotReadyException$ = [
-3,
n0,
_MNRE,
{ [_e2]: _c, [_hE]: 429 },
[_m],
[0]
];
n0_registry.registerError(exports.ModelNotReadyException$, errors_1.ModelNotReadyException);
exports.ModelStreamErrorException$ = [
-3,
n0,
_MSEE,
{ [_e2]: _c, [_hE]: 424 },
[_m, _oSC, _oM],
[0, 1, 0]
];
n0_registry.registerError(exports.ModelStreamErrorException$, errors_1.ModelStreamErrorException);
exports.ModelTimeoutException$ = [
-3,
n0,
_MTE,
{ [_e2]: _c, [_hE]: 408 },
[_m],
[0]
];
n0_registry.registerError(exports.ModelTimeoutException$, errors_1.ModelTimeoutException);
exports.ResourceNotFoundException$ = [
-3,
n0,
_RNFE,
{ [_e2]: _c, [_hE]: 404 },
[_m],
[0]
];
n0_registry.registerError(exports.ResourceNotFoundException$, errors_1.ResourceNotFoundException);
exports.ServiceQuotaExceededException$ = [
-3,
n0,
_SQEE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ServiceQuotaExceededException$, errors_1.ServiceQuotaExceededException);
exports.ServiceUnavailableException$ = [
-3,
n0,
_SUE,
{ [_e2]: _se, [_hE]: 503 },
[_m],
[0]
];
n0_registry.registerError(exports.ServiceUnavailableException$, errors_1.ServiceUnavailableException);
exports.ThrottlingException$ = [
-3,
n0,
_TE,
{ [_e2]: _c, [_hE]: 429 },
[_m],
[0]
];
n0_registry.registerError(exports.ThrottlingException$, errors_1.ThrottlingException);
exports.ValidationException$ = [
-3,
n0,
_VE,
{ [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ValidationException$, errors_1.ValidationException);
exports.errorTypeRegistries = [
_s_registry,
n0_registry
];
var AsyncInvokeMessage = [0, n0, _AIM, 8, 0];
var Body = [0, n0, _B, 8, 21];
var GuardrailAutomatedReasoningStatementLogicContent = [0, n0, _GARSLC, 8, 0];
var GuardrailAutomatedReasoningStatementNaturalLanguageContent = [0, n0, _GARSNLC, 8, 0];
var ModelInputPayload = [0, n0, _MIP, 8, 15];
var PartBody = [0, n0, _PB, 8, 21];
exports.AnyToolChoice$ = [
3,
n0,
_ATC,
0,
[],
[]
];
exports.AppliedGuardrailDetails$ = [
3,
n0,
_AGD,
0,
[_gI, _gV, _gA, _gO, _gOu],
[0, 0, 0, 64 | 0, 0]
];
exports.ApplyGuardrailRequest$ = [
3,
n0,
_AGR,
0,
[_gIu, _gV, _so, _co, _oS],
[[0, 1], [0, 1], 0, [() => GuardrailContentBlockList, 0], 0],
4
];
exports.ApplyGuardrailResponse$ = [
3,
n0,
_AGRp,
0,
[_u, _a3, _o, _as, _aR, _gC],
[() => exports.GuardrailUsage$, 0, () => GuardrailOutputContentList, [() => GuardrailAssessmentList, 0], 0, () => exports.GuardrailCoverage$],
4
];
exports.AsyncInvokeS3OutputDataConfig$ = [
3,
n0,
_AISODC,
0,
[_sU, _kKI, _bO],
[0, 0, 0],
1
];
exports.AsyncInvokeSummary$ = [
3,
n0,
_AIS,
0,
[_iA, _mA, _sT, _oDC, _cRT, _st, _fM, _lMT, _eT],
[0, 0, 5, () => exports.AsyncInvokeOutputDataConfig$, 0, 0, [() => AsyncInvokeMessage, 0], 5, 5],
4
];
exports.AudioBlock$ = [
3,
n0,
_AB,
0,
[_f, _so, _e2],
[0, [() => exports.AudioSource$, 0], [() => exports.ErrorBlock$, 0]],
2
];
exports.AutoToolChoice$ = [
3,
n0,
_ATCu,
0,
[],
[]
];
exports.BidirectionalInputPayloadPart$ = [
3,
n0,
_BIPP,
8,
[_b],
[[() => PartBody, 0]]
];
exports.BidirectionalOutputPayloadPart$ = [
3,
n0,
_BOPP,
8,
[_b],
[[() => PartBody, 0]]
];
exports.CacheDetail$ = [
3,
n0,
_CD,
0,
[_t, _iT],
[0, 1],
2
];
exports.CachePointBlock$ = [
3,
n0,
_CPB,
0,
[_ty, _t],
[0, 0],
1
];
exports.Citation$ = [
3,
n0,
_C,
0,
[_ti, _so, _sC, _l],
[0, 0, () => CitationSourceContentList, () => exports.CitationLocation$]
];
exports.CitationsConfig$ = [
3,
n0,
_CC,
0,
[_en],
[2],
1
];
exports.CitationsContentBlock$ = [
3,
n0,
_CCB,
0,
[_co, _ci],
[() => CitationGeneratedContentList, () => Citations]
];
exports.CitationsDelta$ = [
3,
n0,
_CDi,
0,
[_ti, _so, _sC, _l],
[0, 0, () => CitationSourceContentListDelta, () => exports.CitationLocation$]
];
exports.CitationSourceContentDelta$ = [
3,
n0,
_CSCD,
0,
[_te],
[0]
];
exports.ContentBlockDeltaEvent$ = [
3,
n0,
_CBDE,
0,
[_d, _cBI],
[[() => exports.ContentBlockDelta$, 0], 1],
2
];
exports.ContentBlockStartEvent$ = [
3,
n0,
_CBSE,
0,
[_sta, _cBI],
[() => exports.ContentBlockStart$, 1],
2
];
exports.ContentBlockStopEvent$ = [
3,
n0,
_CBSEo,
0,
[_cBI],
[1],
1
];
exports.ConverseMetrics$ = [
3,
n0,
_CM,
0,
[_lM],
[1],
1
];
exports.ConverseRequest$ = [
3,
n0,
_CR,
0,
[_mI, _me, _sy, _iC, _tC, _gCu, _aMRF, _pV, _aMRFP, _rM, _pC, _sTe, _oC],
[[0, 1], [() => Messages3, 0], [() => SystemContentBlocks, 0], () => exports.InferenceConfiguration$, () => exports.ToolConfiguration$, () => exports.GuardrailConfiguration$, 15, [() => PromptVariableMap, 0], 64 | 0, [() => RequestMetadata, 0], () => exports.PerformanceConfiguration$, () => exports.ServiceTier$, [() => exports.OutputConfig$, 0]],
1
];
exports.ConverseResponse$ = [
3,
n0,
_CRo,
0,
[_ou, _sR, _u, _met, _aMRFd, _tr, _pC, _sTe],
[[() => exports.ConverseOutput$, 0], 0, () => exports.TokenUsage$, () => exports.ConverseMetrics$, 15, [() => exports.ConverseTrace$, 0], () => exports.PerformanceConfiguration$, () => exports.ServiceTier$],
4
];
exports.ConverseStreamMetadataEvent$ = [
3,
n0,
_CSME,
0,
[_u, _met, _tr, _pC, _sTe],
[() => exports.TokenUsage$, () => exports.ConverseStreamMetrics$, [() => exports.ConverseStreamTrace$, 0], () => exports.PerformanceConfiguration$, () => exports.ServiceTier$],
2
];
exports.ConverseStreamMetrics$ = [
3,
n0,
_CSM,
0,
[_lM],
[1],
1
];
exports.ConverseStreamRequest$ = [
3,
n0,
_CSR,
0,
[_mI, _me, _sy, _iC, _tC, _gCu, _aMRF, _pV, _aMRFP, _rM, _pC, _sTe, _oC],
[[0, 1], [() => Messages3, 0], [() => SystemContentBlocks, 0], () => exports.InferenceConfiguration$, () => exports.ToolConfiguration$, () => exports.GuardrailStreamConfiguration$, 15, [() => PromptVariableMap, 0], 64 | 0, [() => RequestMetadata, 0], () => exports.PerformanceConfiguration$, () => exports.ServiceTier$, [() => exports.OutputConfig$, 0]],
1
];
exports.ConverseStreamResponse$ = [
3,
n0,
_CSRo,
0,
[_str],
[[() => exports.ConverseStreamOutput$, 16]]
];
exports.ConverseStreamTrace$ = [
3,
n0,
_CST,
0,
[_g, _pR],
[[() => exports.GuardrailTraceAssessment$, 0], () => exports.PromptRouterTrace$]
];
exports.ConverseTokensRequest$ = [
3,
n0,
_CTR,
0,
[_me, _sy, _tC, _aMRF],
[[() => Messages3, 0], [() => SystemContentBlocks, 0], () => exports.ToolConfiguration$, 15]
];
exports.ConverseTrace$ = [
3,
n0,
_CT,
0,
[_g, _pR],
[[() => exports.GuardrailTraceAssessment$, 0], () => exports.PromptRouterTrace$]
];
exports.CountTokensRequest$ = [
3,
n0,
_CTRo,
0,
[_mI, _i],
[[0, 1], [() => exports.CountTokensInput$, 0]],
2
];
exports.CountTokensResponse$ = [
3,
n0,
_CTRou,
0,
[_iT],
[1],
1
];
exports.DocumentBlock$ = [
3,
n0,
_DB,
0,
[_n, _so, _f, _con, _ci],
[0, () => exports.DocumentSource$, 0, 0, () => exports.CitationsConfig$],
2
];
exports.DocumentCharLocation$ = [
3,
n0,
_DCL,
0,
[_dI, _sta, _end],
[1, 1, 1]
];
exports.DocumentChunkLocation$ = [
3,
n0,
_DCLo,
0,
[_dI, _sta, _end],
[1, 1, 1]
];
exports.DocumentPageLocation$ = [
3,
n0,
_DPL,
0,
[_dI, _sta, _end],
[1, 1, 1]
];
exports.ErrorBlock$ = [
3,
n0,
_EB,
8,
[_m],
[0]
];
exports.GetAsyncInvokeRequest$ = [
3,
n0,
_GAIR,
0,
[_iA],
[[0, 1]],
1
];
exports.GetAsyncInvokeResponse$ = [
3,
n0,
_GAIRe,
0,
[_iA, _mA, _st, _sT, _oDC, _cRT, _fM, _lMT, _eT],
[0, 0, 0, 5, () => exports.AsyncInvokeOutputDataConfig$, 0, [() => AsyncInvokeMessage, 0], 5, 5],
5
];
exports.GuardrailAssessment$ = [
3,
n0,
_GA,
0,
[_tP, _cP, _wP, _sIP, _cGP, _aRP, _iM, _aGD],
[() => exports.GuardrailTopicPolicyAssessment$, () => exports.GuardrailContentPolicyAssessment$, () => exports.GuardrailWordPolicyAssessment$, () => exports.GuardrailSensitiveInformationPolicyAssessment$, () => exports.GuardrailContextualGroundingPolicyAssessment$, [() => exports.GuardrailAutomatedReasoningPolicyAssessment$, 0], () => exports.GuardrailInvocationMetrics$, () => exports.AppliedGuardrailDetails$]
];
exports.GuardrailAutomatedReasoningImpossibleFinding$ = [
3,
n0,
_GARIF,
0,
[_tra, _cR, _lW],
[[() => exports.GuardrailAutomatedReasoningTranslation$, 0], () => GuardrailAutomatedReasoningRuleList, [() => exports.GuardrailAutomatedReasoningLogicWarning$, 0]]
];
exports.GuardrailAutomatedReasoningInputTextReference$ = [
3,
n0,
_GARITR,
0,
[_te],
[[() => GuardrailAutomatedReasoningStatementNaturalLanguageContent, 0]]
];
exports.GuardrailAutomatedReasoningInvalidFinding$ = [
3,
n0,
_GARIFu,
0,
[_tra, _cR, _lW],
[[() => exports.GuardrailAutomatedReasoningTranslation$, 0], () => GuardrailAutomatedReasoningRuleList, [() => exports.GuardrailAutomatedReasoningLogicWarning$, 0]]
];
exports.GuardrailAutomatedReasoningLogicWarning$ = [
3,
n0,
_GARLW,
0,
[_ty, _p, _cl],
[0, [() => GuardrailAutomatedReasoningStatementList, 0], [() => GuardrailAutomatedReasoningStatementList, 0]]
];
exports.GuardrailAutomatedReasoningNoTranslationsFinding$ = [
3,
n0,
_GARNTF,
0,
[],
[]
];
exports.GuardrailAutomatedReasoningPolicyAssessment$ = [
3,
n0,
_GARPA,
0,
[_fi],
[[() => GuardrailAutomatedReasoningFindingList, 0]]
];
exports.GuardrailAutomatedReasoningRule$ = [
3,
n0,
_GARR,
0,
[_id, _pVA],
[0, 0]
];
exports.GuardrailAutomatedReasoningSatisfiableFinding$ = [
3,
n0,
_GARSF,
0,
[_tra, _cTS, _cFS, _lW],
[[() => exports.GuardrailAutomatedReasoningTranslation$, 0], [() => exports.GuardrailAutomatedReasoningScenario$, 0], [() => exports.GuardrailAutomatedReasoningScenario$, 0], [() => exports.GuardrailAutomatedReasoningLogicWarning$, 0]]
];
exports.GuardrailAutomatedReasoningScenario$ = [
3,
n0,
_GARS,
0,
[_stat],
[[() => GuardrailAutomatedReasoningStatementList, 0]]
];
exports.GuardrailAutomatedReasoningStatement$ = [
3,
n0,
_GARSu,
0,
[_lo, _nL],
[[() => GuardrailAutomatedReasoningStatementLogicContent, 0], [() => GuardrailAutomatedReasoningStatementNaturalLanguageContent, 0]]
];
exports.GuardrailAutomatedReasoningTooComplexFinding$ = [
3,
n0,
_GARTCF,
0,
[],
[]
];
exports.GuardrailAutomatedReasoningTranslation$ = [
3,
n0,
_GART,
0,
[_p, _cl, _uP, _uC, _conf],
[[() => GuardrailAutomatedReasoningStatementList, 0], [() => GuardrailAutomatedReasoningStatementList, 0], [() => GuardrailAutomatedReasoningInputTextReferenceList, 0], [() => GuardrailAutomatedReasoningInputTextReferenceList, 0], 1]
];
exports.GuardrailAutomatedReasoningTranslationAmbiguousFinding$ = [
3,
n0,
_GARTAF,
0,
[_op, _dS],
[[() => GuardrailAutomatedReasoningTranslationOptionList, 0], [() => GuardrailAutomatedReasoningDifferenceScenarioList, 0]]
];
exports.GuardrailAutomatedReasoningTranslationOption$ = [
3,
n0,
_GARTO,
0,
[_tran],
[[() => GuardrailAutomatedReasoningTranslationList, 0]]
];
exports.GuardrailAutomatedReasoningValidFinding$ = [
3,
n0,
_GARVF,
0,
[_tra, _cTS, _sRu, _lW],
[[() => exports.GuardrailAutomatedReasoningTranslation$, 0], [() => exports.GuardrailAutomatedReasoningScenario$, 0], () => GuardrailAutomatedReasoningRuleList, [() => exports.GuardrailAutomatedReasoningLogicWarning$, 0]]
];
exports.GuardrailConfiguration$ = [
3,
n0,
_GC,
0,
[_gIu, _gV, _tr],
[0, 0, 0]
];
exports.GuardrailContentFilter$ = [
3,
n0,
_GCF,
0,
[_ty, _conf, _a3, _fS, _de],
[0, 0, 0, 0, 2],
3
];
exports.GuardrailContentPolicyAssessment$ = [
3,
n0,
_GCPA,
0,
[_fil],
[() => GuardrailContentFilterList],
1
];
exports.GuardrailContextualGroundingFilter$ = [
3,
n0,
_GCGF,
0,
[_ty, _th, _sc, _a3, _de],
[0, 1, 1, 0, 2],
4
];
exports.GuardrailContextualGroundingPolicyAssessment$ = [
3,
n0,
_GCGPA,
0,
[_fil],
[() => GuardrailContextualGroundingFilters]
];
exports.GuardrailConverseImageBlock$ = [
3,
n0,
_GCIB,
8,
[_f, _so],
[0, [() => exports.GuardrailConverseImageSource$, 0]],
2
];
exports.GuardrailConverseTextBlock$ = [
3,
n0,
_GCTB,
0,
[_te, _q],
[0, 64 | 0],
1
];
exports.GuardrailCoverage$ = [
3,
n0,
_GCu,
0,
[_tCe, _im],
[() => exports.GuardrailTextCharactersCoverage$, () => exports.GuardrailImageCoverage$]
];
exports.GuardrailCustomWord$ = [
3,
n0,
_GCW,
0,
[_ma, _a3, _de],
[0, 0, 2],
2
];
exports.GuardrailImageBlock$ = [
3,
n0,
_GIB,
8,
[_f, _so],
[0, [() => exports.GuardrailImageSource$, 0]],
2
];
exports.GuardrailImageCoverage$ = [
3,
n0,
_GIC,
0,
[_gu, _to],
[1, 1]
];
exports.GuardrailInvocationMetrics$ = [
3,
n0,
_GIM,
0,
[_gPL, _u, _gC],
[1, () => exports.GuardrailUsage$, () => exports.GuardrailCoverage$]
];
exports.GuardrailManagedWord$ = [
3,
n0,
_GMW,
0,
[_ma, _ty, _a3, _de],
[0, 0, 0, 2],
3
];
exports.GuardrailOutputContent$ = [
3,
n0,
_GOC,
0,
[_te],
[0]
];
exports.GuardrailPiiEntityFilter$ = [
3,
n0,
_GPEF,
0,
[_ma, _ty, _a3, _de],
[0, 0, 0, 2],
3
];
exports.GuardrailRegexFilter$ = [
3,
n0,
_GRF,
0,
[_a3, _n, _ma, _r, _de],
[0, 0, 0, 0, 2],
1
];
exports.GuardrailSensitiveInformationPolicyAssessment$ = [
3,
n0,
_GSIPA,
0,
[_pE, _re],
[() => GuardrailPiiEntityFilterList, () => GuardrailRegexFilterList],
2
];
exports.GuardrailStreamConfiguration$ = [
3,
n0,
_GSC,
0,
[_gIu, _gV, _tr, _sPM],
[0, 0, 0, 0]
];
exports.GuardrailTextBlock$ = [
3,
n0,
_GTB,
0,
[_te, _q],
[0, 64 | 0],
1
];
exports.GuardrailTextCharactersCoverage$ = [
3,
n0,
_GTCC,
0,
[_gu, _to],
[1, 1]
];
exports.GuardrailTopic$ = [
3,
n0,
_GT,
0,
[_n, _ty, _a3, _de],
[0, 0, 0, 2],
3
];
exports.GuardrailTopicPolicyAssessment$ = [
3,
n0,
_GTPA,
0,
[_top],
[() => GuardrailTopicList],
1
];
exports.GuardrailTraceAssessment$ = [
3,
n0,
_GTA,
0,
[_mO, _iAn, _oA, _aR],
[64 | 0, [() => GuardrailAssessmentMap, 0], [() => GuardrailAssessmentListMap, 0], 0]
];
exports.GuardrailUsage$ = [
3,
n0,
_GU,
0,
[_tPU, _cPU, _wPU, _sIPU, _sIPFU, _cGPU, _cPIU, _aRPU, _aRPu],
[1, 1, 1, 1, 1, 1, 1, 1, 1],
6
];
exports.GuardrailWordPolicyAssessment$ = [
3,
n0,
_GWPA,
0,
[_cW, _mWL],
[() => GuardrailCustomWordList, () => GuardrailManagedWordList],
2
];
exports.ImageBlock$ = [
3,
n0,
_IB,
0,
[_f, _so, _e2],
[0, [() => exports.ImageSource$, 0], [() => exports.ErrorBlock$, 0]],
2
];
exports.ImageBlockDelta$ = [
3,
n0,
_IBD,
0,
[_so, _e2],
[[() => exports.ImageSource$, 0], [() => exports.ErrorBlock$, 0]]
];
exports.ImageBlockStart$ = [
3,
n0,
_IBS,
0,
[_f],
[0],
1
];
exports.InferenceConfiguration$ = [
3,
n0,
_IC,
0,
[_mT, _tem, _tPo, _sS],
[1, 1, 1, 64 | 0]
];
exports.InvokeModelRequest$ = [
3,
n0,
_IMR,
0,
[_mI, _bo, _cT, _ac, _tr, _gIu, _gV, _pCL, _sTe],
[[0, 1], [() => Body, 16], [0, { [_hH]: _CT_ }], [0, { [_hH]: _A }], [0, { [_hH]: _XABT }], [0, { [_hH]: _XABG }], [0, { [_hH]: _XABG_ }], [0, { [_hH]: _XABPL }], [0, { [_hH]: _XABST }]],
1
];
exports.InvokeModelResponse$ = [
3,
n0,
_IMRn,
0,
[_bo, _cT, _pCL, _sTe],
[[() => Body, 16], [0, { [_hH]: _CT_ }], [0, { [_hH]: _XABPL }], [0, { [_hH]: _XABST }]],
2
];
exports.InvokeModelTokensRequest$ = [
3,
n0,
_IMTR,
0,
[_bo],
[[() => Body, 0]],
1
];
exports.InvokeModelWithBidirectionalStreamRequest$ = [
3,
n0,
_IMWBSR,
0,
[_mI, _bo],
[[0, 1], [() => exports.InvokeModelWithBidirectionalStreamInput$, 16]],
2
];
exports.InvokeModelWithBidirectionalStreamResponse$ = [
3,
n0,
_IMWBSRn,
0,
[_bo],
[[() => exports.InvokeModelWithBidirectionalStreamOutput$, 16]],
1
];
exports.InvokeModelWithResponseStreamRequest$ = [
3,
n0,
_IMWRSR,
0,
[_mI, _bo, _cT, _ac, _tr, _gIu, _gV, _pCL, _sTe],
[[0, 1], [() => Body, 16], [0, { [_hH]: _CT_ }], [0, { [_hH]: _XABA }], [0, { [_hH]: _XABT }], [0, { [_hH]: _XABG }], [0, { [_hH]: _XABG_ }], [0, { [_hH]: _XABPL }], [0, { [_hH]: _XABST }]],
1
];
exports.InvokeModelWithResponseStreamResponse$ = [
3,
n0,
_IMWRSRn,
0,
[_bo, _cT, _pCL, _sTe],
[[() => exports.ResponseStream$, 16], [0, { [_hH]: _XABCT }], [0, { [_hH]: _XABPL }], [0, { [_hH]: _XABST }]],
2
];
exports.JsonSchemaDefinition$ = [
3,
n0,
_JSD,
0,
[_sch, _n, _des],
[0, 0, 0],
1
];
exports.ListAsyncInvokesRequest$ = [
3,
n0,
_LAIR,
0,
[_sTA, _sTB, _sE, _mR, _nT, _sB, _sO],
[[5, { [_hQ]: _sTA }], [5, { [_hQ]: _sTB }], [0, { [_hQ]: _sE }], [1, { [_hQ]: _mR }], [0, { [_hQ]: _nT }], [0, { [_hQ]: _sB }], [0, { [_hQ]: _sO }]]
];
exports.ListAsyncInvokesResponse$ = [
3,
n0,
_LAIRi,
0,
[_nT, _aIS],
[0, [() => AsyncInvokeSummaries, 0]]
];
exports.Message$ = [
3,
n0,
_M,
0,
[_ro, _co],
[0, [() => ContentBlocks, 0]],
2
];
exports.MessageStartEvent$ = [
3,
n0,
_MSE,
0,
[_ro],
[0],
1
];
exports.MessageStopEvent$ = [
3,
n0,
_MSEe,
0,
[_sR, _aMRFd],
[0, 15],
1
];
exports.OutputConfig$ = [
3,
n0,
_OC,
0,
[_tF],
[[() => exports.OutputFormat$, 0]]
];
exports.OutputFormat$ = [
3,
n0,
_OF,
0,
[_ty, _stru],
[0, [() => exports.OutputFormatStructure$, 0]],
2
];
exports.PayloadPart$ = [
3,
n0,
_PP,
8,
[_b],
[[() => PartBody, 0]]
];
exports.PerformanceConfiguration$ = [
3,
n0,
_PC,
0,
[_la],
[0]
];
exports.PromptRouterTrace$ = [
3,
n0,
_PRT,
0,
[_iMI],
[0]
];
exports.ReasoningTextBlock$ = [
3,
n0,
_RTB,
8,
[_te, _si],
[0, 0],
1
];
exports.S3Location$ = [
3,
n0,
_SL,
0,
[_ur, _bO],
[0, 0],
1
];
exports.SearchResultBlock$ = [
3,
n0,
_SRB,
0,
[_so, _ti, _co, _ci],
[0, 0, () => SearchResultContentBlocks, () => exports.CitationsConfig$],
3
];
exports.SearchResultContentBlock$ = [
3,
n0,
_SRCB,
0,
[_te],
[0],
1
];
exports.SearchResultLocation$ = [
3,
n0,
_SRL,
0,
[_sRI, _sta, _end],
[1, 1, 1]
];
exports.ServiceTier$ = [
3,
n0,
_ST,
0,
[_ty],
[0],
1
];
exports.SpecificToolChoice$ = [
3,
n0,
_STC,
0,
[_n],
[0],
1
];
exports.StartAsyncInvokeRequest$ = [
3,
n0,
_SAIR,
0,
[_mI, _mIo, _oDC, _cRT, _ta],
[0, [() => ModelInputPayload, 0], () => exports.AsyncInvokeOutputDataConfig$, [0, 4], () => TagList],
3
];
exports.StartAsyncInvokeResponse$ = [
3,
n0,
_SAIRt,
0,
[_iA],
[0],
1
];
exports.SystemTool$ = [
3,
n0,
_STy,
0,
[_n],
[0],
1
];
exports.Tag$ = [
3,
n0,
_T,
0,
[_k, _v],
[0, 0],
2
];
exports.TokenUsage$ = [
3,
n0,
_TU,
0,
[_iT, _oT, _tT, _cRIT, _cWIT, _cD],
[1, 1, 1, 1, 1, () => CacheDetailsList],
3
];
exports.ToolConfiguration$ = [
3,
n0,
_TC,
0,
[_too, _tCo],
[() => Tools, () => exports.ToolChoice$],
1
];
exports.ToolResultBlock$ = [
3,
n0,
_TRB,
0,
[_tUI, _co, _st, _ty],
[0, [() => ToolResultContentBlocks, 0], 0, 0],
2
];
exports.ToolResultBlockStart$ = [
3,
n0,
_TRBS,
0,
[_tUI, _ty, _st],
[0, 0, 0],
1
];
exports.ToolSpecification$ = [
3,
n0,
_TS,
0,
[_n, _iS, _des, _stri],
[0, () => exports.ToolInputSchema$, 0, 2],
2
];
exports.ToolUseBlock$ = [
3,
n0,
_TUB,
0,
[_tUI, _n, _i, _ty],
[0, 0, 15, 0],
3
];
exports.ToolUseBlockDelta$ = [
3,
n0,
_TUBD,
0,
[_i],
[0],
1
];
exports.ToolUseBlockStart$ = [
3,
n0,
_TUBS,
0,
[_tUI, _n, _ty],
[0, 0, 0],
2
];
exports.VideoBlock$ = [
3,
n0,
_VB,
0,
[_f, _so],
[0, () => exports.VideoSource$],
2
];
exports.WebLocation$ = [
3,
n0,
_WL,
0,
[_url2, _do],
[0, 0]
];
var AdditionalModelResponseFieldPaths = 64 | 0;
var AsyncInvokeSummaries = [
1,
n0,
_AISs,
0,
[
() => exports.AsyncInvokeSummary$,
0
]
];
var CacheDetailsList = [
1,
n0,
_CDL,
0,
() => exports.CacheDetail$
];
var CitationGeneratedContentList = [
1,
n0,
_CGCL,
0,
() => exports.CitationGeneratedContent$
];
var Citations = [
1,
n0,
_Ci,
0,
() => exports.Citation$
];
var CitationSourceContentList = [
1,
n0,
_CSCL,
0,
() => exports.CitationSourceContent$
];
var CitationSourceContentListDelta = [
1,
n0,
_CSCLD,
0,
() => exports.CitationSourceContentDelta$
];
var ContentBlocks = [
1,
n0,
_CB,
0,
[
() => exports.ContentBlock$,
0
]
];
var DocumentContentBlocks = [
1,
n0,
_DCB,
0,
() => exports.DocumentContentBlock$
];
var GuardrailAssessmentList = [
1,
n0,
_GAL,
0,
[
() => exports.GuardrailAssessment$,
0
]
];
var GuardrailAutomatedReasoningDifferenceScenarioList = [
1,
n0,
_GARDSL,
0,
[
() => exports.GuardrailAutomatedReasoningScenario$,
0
]
];
var GuardrailAutomatedReasoningFindingList = [
1,
n0,
_GARFL,
0,
[
() => exports.GuardrailAutomatedReasoningFinding$,
0
]
];
var GuardrailAutomatedReasoningInputTextReferenceList = [
1,
n0,
_GARITRL,
0,
[
() => exports.GuardrailAutomatedReasoningInputTextReference$,
0
]
];
var GuardrailAutomatedReasoningRuleList = [
1,
n0,
_GARRL,
0,
() => exports.GuardrailAutomatedReasoningRule$
];
var GuardrailAutomatedReasoningStatementList = [
1,
n0,
_GARSL,
0,
[
() => exports.GuardrailAutomatedReasoningStatement$,
0
]
];
var GuardrailAutomatedReasoningTranslationList = [
1,
n0,
_GARTL,
0,
[
() => exports.GuardrailAutomatedReasoningTranslation$,
0
]
];
var GuardrailAutomatedReasoningTranslationOptionList = [
1,
n0,
_GARTOL,
0,
[
() => exports.GuardrailAutomatedReasoningTranslationOption$,
0
]
];
var GuardrailContentBlockList = [
1,
n0,
_GCBL,
0,
[
() => exports.GuardrailContentBlock$,
0
]
];
var GuardrailContentFilterList = [
1,
n0,
_GCFL,
0,
() => exports.GuardrailContentFilter$
];
var GuardrailContentQualifierList = 64 | 0;
var GuardrailContextualGroundingFilters = [
1,
n0,
_GCGFu,
0,
() => exports.GuardrailContextualGroundingFilter$
];
var GuardrailConverseContentQualifierList = 64 | 0;
var GuardrailCustomWordList = [
1,
n0,
_GCWL,
0,
() => exports.GuardrailCustomWord$
];
var GuardrailManagedWordList = [
1,
n0,
_GMWL,
0,
() => exports.GuardrailManagedWord$
];
var GuardrailOriginList = 64 | 0;
var GuardrailOutputContentList = [
1,
n0,
_GOCL,
0,
() => exports.GuardrailOutputContent$
];
var GuardrailPiiEntityFilterList = [
1,
n0,
_GPEFL,
0,
() => exports.GuardrailPiiEntityFilter$
];
var GuardrailRegexFilterList = [
1,
n0,
_GRFL,
0,
() => exports.GuardrailRegexFilter$
];
var GuardrailTopicList = [
1,
n0,
_GTL,
0,
() => exports.GuardrailTopic$
];
var Messages3 = [
1,
n0,
_Me,
0,
[
() => exports.Message$,
0
]
];
var ModelOutputs = 64 | 0;
var NonEmptyStringList = 64 | 0;
var SearchResultContentBlocks = [
1,
n0,
_SRCBe,
0,
() => exports.SearchResultContentBlock$
];
var SystemContentBlocks = [
1,
n0,
_SCB,
0,
[
() => exports.SystemContentBlock$,
0
]
];
var TagList = [
1,
n0,
_TL,
0,
() => exports.Tag$
];
var ToolResultBlocksDelta = [
1,
n0,
_TRBD,
0,
() => exports.ToolResultBlockDelta$
];
var ToolResultContentBlocks = [
1,
n0,
_TRCB,
0,
[
() => exports.ToolResultContentBlock$,
0
]
];
var Tools = [
1,
n0,
_To,
0,
() => exports.Tool$
];
var GuardrailAssessmentListMap = [
2,
n0,
_GALM,
0,
[
0,
0
],
[
() => GuardrailAssessmentList,
0
]
];
var GuardrailAssessmentMap = [
2,
n0,
_GAM,
0,
[
0,
0
],
[
() => exports.GuardrailAssessment$,
0
]
];
var PromptVariableMap = [
2,
n0,
_PVM,
8,
0,
() => exports.PromptVariableValues$
];
var RequestMetadata = [
2,
n0,
_RM,
8,
0,
0
];
exports.AsyncInvokeOutputDataConfig$ = [
4,
n0,
_AIODC,
0,
[_sODC],
[() => exports.AsyncInvokeS3OutputDataConfig$]
];
exports.AudioSource$ = [
4,
n0,
_AS,
8,
[_b, _sL],
[21, () => exports.S3Location$]
];
exports.CitationGeneratedContent$ = [
4,
n0,
_CGC,
0,
[_te],
[0]
];
exports.CitationLocation$ = [
4,
n0,
_CL,
0,
[_w, _dC, _dP, _dCo, _sRL],
[() => exports.WebLocation$, () => exports.DocumentCharLocation$, () => exports.DocumentPageLocation$, () => exports.DocumentChunkLocation$, () => exports.SearchResultLocation$]
];
exports.CitationSourceContent$ = [
4,
n0,
_CSC,
0,
[_te],
[0]
];
exports.ContentBlock$ = [
4,
n0,
_CBo,
0,
[_te, _ima, _doc, _vi, _au, _tU, _tR, _gCua, _cPa, _rC, _cC, _sRe],
[0, [() => exports.ImageBlock$, 0], () => exports.DocumentBlock$, () => exports.VideoBlock$, [() => exports.AudioBlock$, 0], () => exports.ToolUseBlock$, [() => exports.ToolResultBlock$, 0], [() => exports.GuardrailConverseContentBlock$, 0], () => exports.CachePointBlock$, [() => exports.ReasoningContentBlock$, 0], () => exports.CitationsContentBlock$, () => exports.SearchResultBlock$]
];
exports.ContentBlockDelta$ = [
4,
n0,
_CBD,
0,
[_te, _tU, _tR, _rC, _cit, _ima],
[0, () => exports.ToolUseBlockDelta$, () => ToolResultBlocksDelta, [() => exports.ReasoningContentBlockDelta$, 0], () => exports.CitationsDelta$, [() => exports.ImageBlockDelta$, 0]]
];
exports.ContentBlockStart$ = [
4,
n0,
_CBS,
0,
[_tU, _tR, _ima],
[() => exports.ToolUseBlockStart$, () => exports.ToolResultBlockStart$, () => exports.ImageBlockStart$]
];
exports.ConverseOutput$ = [
4,
n0,
_CO,
0,
[_m],
[[() => exports.Message$, 0]]
];
exports.ConverseStreamOutput$ = [
4,
n0,
_CSO,
{ [_stre]: 1 },
[_mS, _cBS, _cBD, _cBSo, _mSe, _meta, _iSE, _mSEE, _vE, _tE, _sUE],
[() => exports.MessageStartEvent$, () => exports.ContentBlockStartEvent$, [() => exports.ContentBlockDeltaEvent$, 0], () => exports.ContentBlockStopEvent$, () => exports.MessageStopEvent$, [() => exports.ConverseStreamMetadataEvent$, 0], [() => exports.InternalServerException$, 0], [() => exports.ModelStreamErrorException$, 0], [() => exports.ValidationException$, 0], [() => exports.ThrottlingException$, 0], [() => exports.ServiceUnavailableException$, 0]]
];
exports.CountTokensInput$ = [
4,
n0,
_CTI,
0,
[_iMn, _conv],
[[() => exports.InvokeModelTokensRequest$, 0], [() => exports.ConverseTokensRequest$, 0]]
];
exports.DocumentContentBlock$ = [
4,
n0,
_DCBo,
0,
[_te],
[0]
];
exports.DocumentSource$ = [
4,
n0,
_DS,
0,
[_b, _sL, _te, _co],
[21, () => exports.S3Location$, 0, () => DocumentContentBlocks]
];
exports.GuardrailAutomatedReasoningFinding$ = [
4,
n0,
_GARF,
0,
[_va, _in, _sa, _imp, _tA, _tCoo, _nTo],
[[() => exports.GuardrailAutomatedReasoningValidFinding$, 0], [() => exports.GuardrailAutomatedReasoningInvalidFinding$, 0], [() => exports.GuardrailAutomatedReasoningSatisfiableFinding$, 0], [() => exports.GuardrailAutomatedReasoningImpossibleFinding$, 0], [() => exports.GuardrailAutomatedReasoningTranslationAmbiguousFinding$, 0], () => exports.GuardrailAutomatedReasoningTooComplexFinding$, () => exports.GuardrailAutomatedReasoningNoTranslationsFinding$]
];
exports.GuardrailContentBlock$ = [
4,
n0,
_GCB,
0,
[_te, _ima],
[() => exports.GuardrailTextBlock$, [() => exports.GuardrailImageBlock$, 0]]
];
exports.GuardrailConverseContentBlock$ = [
4,
n0,
_GCCB,
0,
[_te, _ima],
[() => exports.GuardrailConverseTextBlock$, [() => exports.GuardrailConverseImageBlock$, 0]]
];
exports.GuardrailConverseImageSource$ = [
4,
n0,
_GCIS,
8,
[_b],
[21]
];
exports.GuardrailImageSource$ = [
4,
n0,
_GIS,
8,
[_b],
[21]
];
exports.ImageSource$ = [
4,
n0,
_IS,
8,
[_b, _sL],
[21, () => exports.S3Location$]
];
exports.InvokeModelWithBidirectionalStreamInput$ = [
4,
n0,
_IMWBSI,
{ [_stre]: 1 },
[_ch],
[[() => exports.BidirectionalInputPayloadPart$, 0]]
];
exports.InvokeModelWithBidirectionalStreamOutput$ = [
4,
n0,
_IMWBSO,
{ [_stre]: 1 },
[_ch, _iSE, _mSEE, _vE, _tE, _mTE, _sUE],
[[() => exports.BidirectionalOutputPayloadPart$, 0], [() => exports.InternalServerException$, 0], [() => exports.ModelStreamErrorException$, 0], [() => exports.ValidationException$, 0], [() => exports.ThrottlingException$, 0], [() => exports.ModelTimeoutException$, 0], [() => exports.ServiceUnavailableException$, 0]]
];
exports.OutputFormatStructure$ = [
4,
n0,
_OFS,
8,
[_jS],
[() => exports.JsonSchemaDefinition$]
];
exports.PromptVariableValues$ = [
4,
n0,
_PVV,
0,
[_te],
[0]
];
exports.ReasoningContentBlock$ = [
4,
n0,
_RCB,
8,
[_rT, _rCe],
[[() => exports.ReasoningTextBlock$, 0], 21]
];
exports.ReasoningContentBlockDelta$ = [
4,
n0,
_RCBD,
8,
[_te, _rCe, _si],
[0, 21, 0]
];
exports.ResponseStream$ = [
4,
n0,
_RS,
{ [_stre]: 1 },
[_ch, _iSE, _mSEE, _vE, _tE, _mTE, _sUE],
[[() => exports.PayloadPart$, 0], [() => exports.InternalServerException$, 0], [() => exports.ModelStreamErrorException$, 0], [() => exports.ValidationException$, 0], [() => exports.ThrottlingException$, 0], [() => exports.ModelTimeoutException$, 0], [() => exports.ServiceUnavailableException$, 0]]
];
exports.SystemContentBlock$ = [
4,
n0,
_SCBy,
0,
[_te, _gCua, _cPa],
[0, [() => exports.GuardrailConverseContentBlock$, 0], () => exports.CachePointBlock$]
];
exports.Tool$ = [
4,
n0,
_Too,
0,
[_tS, _sTy, _cPa],
[() => exports.ToolSpecification$, () => exports.SystemTool$, () => exports.CachePointBlock$]
];
exports.ToolChoice$ = [
4,
n0,
_TCo,
0,
[_aut, _an, _tool],
[() => exports.AutoToolChoice$, () => exports.AnyToolChoice$, () => exports.SpecificToolChoice$]
];
exports.ToolInputSchema$ = [
4,
n0,
_TIS,
0,
[_j],
[15]
];
exports.ToolResultBlockDelta$ = [
4,
n0,
_TRBDo,
0,
[_te, _j],
[0, 15]
];
exports.ToolResultContentBlock$ = [
4,
n0,
_TRCBo,
0,
[_j, _te, _ima, _doc, _vi, _sRe],
[15, 0, [() => exports.ImageBlock$, 0], () => exports.DocumentBlock$, () => exports.VideoBlock$, () => exports.SearchResultBlock$]
];
exports.VideoSource$ = [
4,
n0,
_VS,
0,
[_b, _sL],
[21, () => exports.S3Location$]
];
exports.ApplyGuardrail$ = [
9,
n0,
_AG,
{ [_h]: ["POST", "/guardrail/{guardrailIdentifier}/version/{guardrailVersion}/apply", 200] },
() => exports.ApplyGuardrailRequest$,
() => exports.ApplyGuardrailResponse$
];
exports.Converse$ = [
9,
n0,
_Co,
{ [_h]: ["POST", "/model/{modelId}/converse", 200] },
() => exports.ConverseRequest$,
() => exports.ConverseResponse$
];
exports.ConverseStream$ = [
9,
n0,
_CS,
{ [_h]: ["POST", "/model/{modelId}/converse-stream", 200] },
() => exports.ConverseStreamRequest$,
() => exports.ConverseStreamResponse$
];
exports.CountTokens$ = [
9,
n0,
_CTo,
{ [_h]: ["POST", "/model/{modelId}/count-tokens", 200] },
() => exports.CountTokensRequest$,
() => exports.CountTokensResponse$
];
exports.GetAsyncInvoke$ = [
9,
n0,
_GAI,
{ [_h]: ["GET", "/async-invoke/{invocationArn}", 200] },
() => exports.GetAsyncInvokeRequest$,
() => exports.GetAsyncInvokeResponse$
];
exports.InvokeModel$ = [
9,
n0,
_IM,
{ [_h]: ["POST", "/model/{modelId}/invoke", 200] },
() => exports.InvokeModelRequest$,
() => exports.InvokeModelResponse$
];
exports.InvokeModelWithBidirectionalStream$ = [
9,
n0,
_IMWBS,
{ [_h]: ["POST", "/model/{modelId}/invoke-with-bidirectional-stream", 200] },
() => exports.InvokeModelWithBidirectionalStreamRequest$,
() => exports.InvokeModelWithBidirectionalStreamResponse$
];
exports.InvokeModelWithResponseStream$ = [
9,
n0,
_IMWRS,
{ [_h]: ["POST", "/model/{modelId}/invoke-with-response-stream", 200] },
() => exports.InvokeModelWithResponseStreamRequest$,
() => exports.InvokeModelWithResponseStreamResponse$
];
exports.ListAsyncInvokes$ = [
9,
n0,
_LAI,
{ [_h]: ["GET", "/async-invoke", 200] },
() => exports.ListAsyncInvokesRequest$,
() => exports.ListAsyncInvokesResponse$
];
exports.StartAsyncInvoke$ = [
9,
n0,
_SAI,
{ [_h]: ["POST", "/async-invoke", 200] },
() => exports.StartAsyncInvokeRequest$,
() => exports.StartAsyncInvokeResponse$
];
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.shared.js
var require_runtimeConfig_shared6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider6();
var endpointResolver_1 = require_endpointResolver6();
var schemas_0_1 = require_schemas_06();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2023-09-30",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultBedrockRuntimeHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#httpBearerAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#httpBearerAuth"),
signer: new core_1.HttpBearerAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsRestJsonProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.bedrockruntime",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
version: "2023-09-30",
serviceTarget: "AmazonBedrockFrontendService"
},
serviceId: config2?.serviceId ?? "Bedrock Runtime",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.js
var require_runtimeConfig6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package3());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var credential_provider_node_1 = require_dist_cjs54();
var eventstream_handler_node_1 = require_dist_cjs66();
var token_providers_1 = require_dist_cjs48();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var eventstream_serde_node_1 = require_dist_cjs67();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared6();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger,
signingName: "bedrock"
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
credentialDefaultProvider: config2?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
eventStreamPayloadHandlerProvider: config2?.eventStreamPayloadHandlerProvider ?? eventstream_handler_node_1.eventStreamPayloadHandlerProvider,
eventStreamSerdeProvider: config2?.eventStreamSerdeProvider ?? eventstream_serde_node_1.eventStreamSerdeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#httpBearerAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#httpBearerAuth") || (async (idProps) => {
try {
return await (0, token_providers_1.fromEnvSigningName)({ signingName: "bedrock" })();
} catch (error49) {
return await (0, token_providers_1.nodeProvider)(idProps)(idProps);
}
}),
signer: new core_1.HttpBearerAuthSigner
}
],
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttp2Handler.create(config2?.requestHandler ?? (async () => ({
...await defaultConfigProvider(),
disableConcurrentStreams: true
}))),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-bedrock-runtime@3.1020.0/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js
var require_dist_cjs68 = __commonJS((exports) => {
var middlewareEventstream = require_dist_cjs56();
var middlewareHostHeader = require_dist_cjs27();
var middlewareLogger = require_dist_cjs28();
var middlewareRecursionDetection = require_dist_cjs29();
var middlewareUserAgent = require_dist_cjs34();
var middlewareWebsocket = require_dist_cjs64();
var configResolver = require_dist_cjs36();
var core2 = require_dist_cjs25();
var schema = require_schema();
var eventstreamSerdeConfigResolver = require_dist_cjs65();
var middlewareContentLength = require_dist_cjs37();
var middlewareEndpoint = require_dist_cjs39();
var middlewareRetry = require_dist_cjs40();
var smithyClient = require_dist_cjs23();
var httpAuthSchemeProvider = require_httpAuthSchemeProvider6();
var runtimeConfig = require_runtimeConfig6();
var regionConfigResolver = require_dist_cjs47();
var protocolHttp = require_dist_cjs2();
var schemas_0 = require_schemas_06();
var errors3 = require_errors7();
var BedrockRuntimeServiceException = require_BedrockRuntimeServiceException();
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
defaultSigningName: "bedrock"
});
};
var commonParams = {
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
var getHttpAuthExtensionConfiguration = (runtimeConfig2) => {
const _httpAuthSchemes = runtimeConfig2.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig2.httpAuthSchemeProvider;
let _credentials = runtimeConfig2.credentials;
let _token = runtimeConfig2.token;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider2) {
_httpAuthSchemeProvider = httpAuthSchemeProvider2;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
},
setToken(token) {
_token = token;
},
token() {
return _token;
}
};
};
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials(),
token: config2.token()
};
};
var resolveRuntimeExtensions = (runtimeConfig2, extensions) => {
const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig2), smithyClient.getDefaultExtensionConfiguration(runtimeConfig2), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig2), getHttpAuthExtensionConfiguration(runtimeConfig2));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig2, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));
};
class BedrockRuntimeClient extends smithyClient.Client {
config;
constructor(...[configuration]) {
const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = resolveClientEndpointParameters(_config_0);
const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);
const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);
const _config_4 = configResolver.resolveRegionConfig(_config_3);
const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);
const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);
const _config_7 = eventstreamSerdeConfigResolver.resolveEventStreamSerdeConfig(_config_6);
const _config_8 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_7);
const _config_9 = middlewareEventstream.resolveEventStreamConfig(_config_8);
const _config_10 = middlewareWebsocket.resolveWebSocketConfig(_config_9);
const _config_11 = resolveRuntimeExtensions(_config_10, configuration?.extensions || []);
this.config = _config_11;
this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));
this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));
this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));
this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));
this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));
this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));
this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));
this.middlewareStack.use(core2.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultBedrockRuntimeHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core2.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials,
"smithy.api#httpBearerAuth": config2.token
})
}));
this.middlewareStack.use(core2.getHttpSigningPlugin(this.config));
}
destroy() {
super.destroy();
}
}
class ApplyGuardrailCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "ApplyGuardrail", {}).n("BedrockRuntimeClient", "ApplyGuardrailCommand").sc(schemas_0.ApplyGuardrail$).build() {
}
class ConverseCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "Converse", {}).n("BedrockRuntimeClient", "ConverseCommand").sc(schemas_0.Converse$).build() {
}
class ConverseStreamCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "ConverseStream", {
eventStream: {
output: true
}
}).n("BedrockRuntimeClient", "ConverseStreamCommand").sc(schemas_0.ConverseStream$).build() {
}
class CountTokensCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "CountTokens", {}).n("BedrockRuntimeClient", "CountTokensCommand").sc(schemas_0.CountTokens$).build() {
}
class GetAsyncInvokeCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "GetAsyncInvoke", {}).n("BedrockRuntimeClient", "GetAsyncInvokeCommand").sc(schemas_0.GetAsyncInvoke$).build() {
}
class InvokeModelCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "InvokeModel", {}).n("BedrockRuntimeClient", "InvokeModelCommand").sc(schemas_0.InvokeModel$).build() {
}
class InvokeModelWithBidirectionalStreamCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [
middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions()),
middlewareEventstream.getEventStreamPlugin(config2),
middlewareWebsocket.getWebSocketPlugin(config2, {
headerPrefix: "x-amz-bedrock-"
})
];
}).s("AmazonBedrockFrontendService", "InvokeModelWithBidirectionalStream", {
eventStream: {
input: true,
output: true
}
}).n("BedrockRuntimeClient", "InvokeModelWithBidirectionalStreamCommand").sc(schemas_0.InvokeModelWithBidirectionalStream$).build() {
}
class InvokeModelWithResponseStreamCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "InvokeModelWithResponseStream", {
eventStream: {
output: true
}
}).n("BedrockRuntimeClient", "InvokeModelWithResponseStreamCommand").sc(schemas_0.InvokeModelWithResponseStream$).build() {
}
class ListAsyncInvokesCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "ListAsyncInvokes", {}).n("BedrockRuntimeClient", "ListAsyncInvokesCommand").sc(schemas_0.ListAsyncInvokes$).build() {
}
class StartAsyncInvokeCommand extends smithyClient.Command.classBuilder().ep(commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AmazonBedrockFrontendService", "StartAsyncInvoke", {}).n("BedrockRuntimeClient", "StartAsyncInvokeCommand").sc(schemas_0.StartAsyncInvoke$).build() {
}
var paginateListAsyncInvokes = core2.createPaginator(BedrockRuntimeClient, ListAsyncInvokesCommand, "nextToken", "nextToken", "maxResults");
var commands = {
ApplyGuardrailCommand,
ConverseCommand,
ConverseStreamCommand,
CountTokensCommand,
GetAsyncInvokeCommand,
InvokeModelCommand,
InvokeModelWithBidirectionalStreamCommand,
InvokeModelWithResponseStreamCommand,
ListAsyncInvokesCommand,
StartAsyncInvokeCommand
};
var paginators = {
paginateListAsyncInvokes
};
class BedrockRuntime extends BedrockRuntimeClient {
}
smithyClient.createAggregatedClient(commands, BedrockRuntime, { paginators });
var AsyncInvokeStatus = {
COMPLETED: "Completed",
FAILED: "Failed",
IN_PROGRESS: "InProgress"
};
var SortAsyncInvocationBy = {
SUBMISSION_TIME: "SubmissionTime"
};
var SortOrder = {
ASCENDING: "Ascending",
DESCENDING: "Descending"
};
var GuardrailImageFormat = {
JPEG: "jpeg",
PNG: "png"
};
var GuardrailContentQualifier = {
GROUNDING_SOURCE: "grounding_source",
GUARD_CONTENT: "guard_content",
QUERY: "query"
};
var GuardrailOutputScope = {
FULL: "FULL",
INTERVENTIONS: "INTERVENTIONS"
};
var GuardrailContentSource = {
INPUT: "INPUT",
OUTPUT: "OUTPUT"
};
var GuardrailAction = {
GUARDRAIL_INTERVENED: "GUARDRAIL_INTERVENED",
NONE: "NONE"
};
var GuardrailOrigin = {
ACCOUNT_ENFORCED: "ACCOUNT_ENFORCED",
ORGANIZATION_ENFORCED: "ORGANIZATION_ENFORCED",
REQUEST: "REQUEST"
};
var GuardrailOwnership = {
CROSS_ACCOUNT: "CROSS_ACCOUNT",
SELF: "SELF"
};
var GuardrailAutomatedReasoningLogicWarningType = {
ALWAYS_FALSE: "ALWAYS_FALSE",
ALWAYS_TRUE: "ALWAYS_TRUE"
};
var GuardrailContentPolicyAction = {
BLOCKED: "BLOCKED",
NONE: "NONE"
};
var GuardrailContentFilterConfidence = {
HIGH: "HIGH",
LOW: "LOW",
MEDIUM: "MEDIUM",
NONE: "NONE"
};
var GuardrailContentFilterStrength = {
HIGH: "HIGH",
LOW: "LOW",
MEDIUM: "MEDIUM",
NONE: "NONE"
};
var GuardrailContentFilterType = {
HATE: "HATE",
INSULTS: "INSULTS",
MISCONDUCT: "MISCONDUCT",
PROMPT_ATTACK: "PROMPT_ATTACK",
SEXUAL: "SEXUAL",
VIOLENCE: "VIOLENCE"
};
var GuardrailContextualGroundingPolicyAction = {
BLOCKED: "BLOCKED",
NONE: "NONE"
};
var GuardrailContextualGroundingFilterType = {
GROUNDING: "GROUNDING",
RELEVANCE: "RELEVANCE"
};
var GuardrailSensitiveInformationPolicyAction = {
ANONYMIZED: "ANONYMIZED",
BLOCKED: "BLOCKED",
NONE: "NONE"
};
var GuardrailPiiEntityType = {
ADDRESS: "ADDRESS",
AGE: "AGE",
AWS_ACCESS_KEY: "AWS_ACCESS_KEY",
AWS_SECRET_KEY: "AWS_SECRET_KEY",
CA_HEALTH_NUMBER: "CA_HEALTH_NUMBER",
CA_SOCIAL_INSURANCE_NUMBER: "CA_SOCIAL_INSURANCE_NUMBER",
CREDIT_DEBIT_CARD_CVV: "CREDIT_DEBIT_CARD_CVV",
CREDIT_DEBIT_CARD_EXPIRY: "CREDIT_DEBIT_CARD_EXPIRY",
CREDIT_DEBIT_CARD_NUMBER: "CREDIT_DEBIT_CARD_NUMBER",
DRIVER_ID: "DRIVER_ID",
EMAIL: "EMAIL",
INTERNATIONAL_BANK_ACCOUNT_NUMBER: "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
IP_ADDRESS: "IP_ADDRESS",
LICENSE_PLATE: "LICENSE_PLATE",
MAC_ADDRESS: "MAC_ADDRESS",
NAME: "NAME",
PASSWORD: "PASSWORD",
PHONE: "PHONE",
PIN: "PIN",
SWIFT_CODE: "SWIFT_CODE",
UK_NATIONAL_HEALTH_SERVICE_NUMBER: "UK_NATIONAL_HEALTH_SERVICE_NUMBER",
UK_NATIONAL_INSURANCE_NUMBER: "UK_NATIONAL_INSURANCE_NUMBER",
UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER",
URL: "URL",
USERNAME: "USERNAME",
US_BANK_ACCOUNT_NUMBER: "US_BANK_ACCOUNT_NUMBER",
US_BANK_ROUTING_NUMBER: "US_BANK_ROUTING_NUMBER",
US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER",
US_PASSPORT_NUMBER: "US_PASSPORT_NUMBER",
US_SOCIAL_SECURITY_NUMBER: "US_SOCIAL_SECURITY_NUMBER",
VEHICLE_IDENTIFICATION_NUMBER: "VEHICLE_IDENTIFICATION_NUMBER"
};
var GuardrailTopicPolicyAction = {
BLOCKED: "BLOCKED",
NONE: "NONE"
};
var GuardrailTopicType = {
DENY: "DENY"
};
var GuardrailWordPolicyAction = {
BLOCKED: "BLOCKED",
NONE: "NONE"
};
var GuardrailManagedWordType = {
PROFANITY: "PROFANITY"
};
var GuardrailTrace = {
DISABLED: "disabled",
ENABLED: "enabled",
ENABLED_FULL: "enabled_full"
};
var AudioFormat = {
AAC: "aac",
FLAC: "flac",
M4A: "m4a",
MKA: "mka",
MKV: "mkv",
MP3: "mp3",
MP4: "mp4",
MPEG: "mpeg",
MPGA: "mpga",
OGG: "ogg",
OPUS: "opus",
PCM: "pcm",
WAV: "wav",
WEBM: "webm",
X_AAC: "x-aac"
};
var CacheTTL = {
FIVE_MINUTES: "5m",
ONE_HOUR: "1h"
};
var CachePointType = {
DEFAULT: "default"
};
var DocumentFormat = {
CSV: "csv",
DOC: "doc",
DOCX: "docx",
HTML: "html",
MD: "md",
PDF: "pdf",
TXT: "txt",
XLS: "xls",
XLSX: "xlsx"
};
var GuardrailConverseImageFormat = {
JPEG: "jpeg",
PNG: "png"
};
var GuardrailConverseContentQualifier = {
GROUNDING_SOURCE: "grounding_source",
GUARD_CONTENT: "guard_content",
QUERY: "query"
};
var ImageFormat = {
GIF: "gif",
JPEG: "jpeg",
PNG: "png",
WEBP: "webp"
};
var VideoFormat = {
FLV: "flv",
MKV: "mkv",
MOV: "mov",
MP4: "mp4",
MPEG: "mpeg",
MPG: "mpg",
THREE_GP: "three_gp",
WEBM: "webm",
WMV: "wmv"
};
var ToolResultStatus = {
ERROR: "error",
SUCCESS: "success"
};
var ToolUseType = {
SERVER_TOOL_USE: "server_tool_use"
};
var ConversationRole = {
ASSISTANT: "assistant",
USER: "user"
};
var OutputFormatType = {
JSON_SCHEMA: "json_schema"
};
var PerformanceConfigLatency = {
OPTIMIZED: "optimized",
STANDARD: "standard"
};
var ServiceTierType = {
DEFAULT: "default",
FLEX: "flex",
PRIORITY: "priority",
RESERVED: "reserved"
};
var StopReason = {
CONTENT_FILTERED: "content_filtered",
END_TURN: "end_turn",
GUARDRAIL_INTERVENED: "guardrail_intervened",
MALFORMED_MODEL_OUTPUT: "malformed_model_output",
MALFORMED_TOOL_USE: "malformed_tool_use",
MAX_TOKENS: "max_tokens",
MODEL_CONTEXT_WINDOW_EXCEEDED: "model_context_window_exceeded",
STOP_SEQUENCE: "stop_sequence",
TOOL_USE: "tool_use"
};
var GuardrailStreamProcessingMode = {
ASYNC: "async",
SYNC: "sync"
};
var Trace = {
DISABLED: "DISABLED",
ENABLED: "ENABLED",
ENABLED_FULL: "ENABLED_FULL"
};
exports.$Command = smithyClient.Command;
exports.__Client = smithyClient.Client;
exports.BedrockRuntimeServiceException = BedrockRuntimeServiceException.BedrockRuntimeServiceException;
exports.ApplyGuardrailCommand = ApplyGuardrailCommand;
exports.AsyncInvokeStatus = AsyncInvokeStatus;
exports.AudioFormat = AudioFormat;
exports.BedrockRuntime = BedrockRuntime;
exports.BedrockRuntimeClient = BedrockRuntimeClient;
exports.CachePointType = CachePointType;
exports.CacheTTL = CacheTTL;
exports.ConversationRole = ConversationRole;
exports.ConverseCommand = ConverseCommand;
exports.ConverseStreamCommand = ConverseStreamCommand;
exports.CountTokensCommand = CountTokensCommand;
exports.DocumentFormat = DocumentFormat;
exports.GetAsyncInvokeCommand = GetAsyncInvokeCommand;
exports.GuardrailAction = GuardrailAction;
exports.GuardrailAutomatedReasoningLogicWarningType = GuardrailAutomatedReasoningLogicWarningType;
exports.GuardrailContentFilterConfidence = GuardrailContentFilterConfidence;
exports.GuardrailContentFilterStrength = GuardrailContentFilterStrength;
exports.GuardrailContentFilterType = GuardrailContentFilterType;
exports.GuardrailContentPolicyAction = GuardrailContentPolicyAction;
exports.GuardrailContentQualifier = GuardrailContentQualifier;
exports.GuardrailContentSource = GuardrailContentSource;
exports.GuardrailContextualGroundingFilterType = GuardrailContextualGroundingFilterType;
exports.GuardrailContextualGroundingPolicyAction = GuardrailContextualGroundingPolicyAction;
exports.GuardrailConverseContentQualifier = GuardrailConverseContentQualifier;
exports.GuardrailConverseImageFormat = GuardrailConverseImageFormat;
exports.GuardrailImageFormat = GuardrailImageFormat;
exports.GuardrailManagedWordType = GuardrailManagedWordType;
exports.GuardrailOrigin = GuardrailOrigin;
exports.GuardrailOutputScope = GuardrailOutputScope;
exports.GuardrailOwnership = GuardrailOwnership;
exports.GuardrailPiiEntityType = GuardrailPiiEntityType;
exports.GuardrailSensitiveInformationPolicyAction = GuardrailSensitiveInformationPolicyAction;
exports.GuardrailStreamProcessingMode = GuardrailStreamProcessingMode;
exports.GuardrailTopicPolicyAction = GuardrailTopicPolicyAction;
exports.GuardrailTopicType = GuardrailTopicType;
exports.GuardrailTrace = GuardrailTrace;
exports.GuardrailWordPolicyAction = GuardrailWordPolicyAction;
exports.ImageFormat = ImageFormat;
exports.InvokeModelCommand = InvokeModelCommand;
exports.InvokeModelWithBidirectionalStreamCommand = InvokeModelWithBidirectionalStreamCommand;
exports.InvokeModelWithResponseStreamCommand = InvokeModelWithResponseStreamCommand;
exports.ListAsyncInvokesCommand = ListAsyncInvokesCommand;
exports.OutputFormatType = OutputFormatType;
exports.PerformanceConfigLatency = PerformanceConfigLatency;
exports.ServiceTierType = ServiceTierType;
exports.SortAsyncInvocationBy = SortAsyncInvocationBy;
exports.SortOrder = SortOrder;
exports.StartAsyncInvokeCommand = StartAsyncInvokeCommand;
exports.StopReason = StopReason;
exports.ToolResultStatus = ToolResultStatus;
exports.ToolUseType = ToolUseType;
exports.Trace = Trace;
exports.VideoFormat = VideoFormat;
exports.paginateListAsyncInvokes = paginateListAsyncInvokes;
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// src/utils/model/bedrock.ts
function findFirstMatch(profiles, substring) {
return profiles.find((p) => p.includes(substring)) ?? null;
}
async function createBedrockClient() {
const { BedrockClient } = await Promise.resolve().then(() => __toESM(require_dist_cjs55(), 1));
const region = getAWSRegion();
const skipAuth = isEnvTruthy(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH);
const clientConfig = {
region,
...process.env.ANTHROPIC_BEDROCK_BASE_URL && {
endpoint: process.env.ANTHROPIC_BEDROCK_BASE_URL
},
...await getAWSClientProxyConfig(),
...skipAuth && {
requestHandler: new (await Promise.resolve().then(() => __toESM(require_dist_cjs5(), 1))).NodeHttpHandler,
httpAuthSchemes: [
{
schemeId: "smithy.api#noAuth",
identityProvider: () => async () => ({}),
signer: new (await Promise.resolve().then(() => __toESM(require_dist_cjs25(), 1))).NoAuthSigner
}
],
httpAuthSchemeProvider: () => [{ schemeId: "smithy.api#noAuth" }]
}
};
if (!skipAuth && !process.env.AWS_BEARER_TOKEN_BEDROCK) {
const cachedCredentials = await refreshAndGetAwsCredentials();
if (cachedCredentials) {
clientConfig.credentials = {
accessKeyId: cachedCredentials.accessKeyId,
secretAccessKey: cachedCredentials.secretAccessKey,
sessionToken: cachedCredentials.sessionToken
};
}
}
return new BedrockClient(clientConfig);
}
async function createBedrockRuntimeClient() {
const { BedrockRuntimeClient } = await Promise.resolve().then(() => __toESM(require_dist_cjs68(), 1));
const region = getAWSRegion();
const skipAuth = isEnvTruthy(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH);
const clientConfig = {
region,
...process.env.ANTHROPIC_BEDROCK_BASE_URL && {
endpoint: process.env.ANTHROPIC_BEDROCK_BASE_URL
},
...await getAWSClientProxyConfig(),
...skipAuth && {
requestHandler: new (await Promise.resolve().then(() => __toESM(require_dist_cjs5(), 1))).NodeHttpHandler,
httpAuthSchemes: [
{
schemeId: "smithy.api#noAuth",
identityProvider: () => async () => ({}),
signer: new (await Promise.resolve().then(() => __toESM(require_dist_cjs25(), 1))).NoAuthSigner
}
],
httpAuthSchemeProvider: () => [{ schemeId: "smithy.api#noAuth" }]
}
};
if (!skipAuth && !process.env.AWS_BEARER_TOKEN_BEDROCK) {
const cachedCredentials = await refreshAndGetAwsCredentials();
if (cachedCredentials) {
clientConfig.credentials = {
accessKeyId: cachedCredentials.accessKeyId,
secretAccessKey: cachedCredentials.secretAccessKey,
sessionToken: cachedCredentials.sessionToken
};
}
}
return new BedrockRuntimeClient(clientConfig);
}
function isFoundationModel(modelId) {
return modelId.startsWith("anthropic.");
}
function extractModelIdFromArn(modelId) {
if (!modelId.startsWith("arn:")) {
return modelId;
}
const lastSlashIndex = modelId.lastIndexOf("/");
if (lastSlashIndex === -1) {
return modelId;
}
return modelId.substring(lastSlashIndex + 1);
}
function getBedrockRegionPrefix(modelId) {
const effectiveModelId = extractModelIdFromArn(modelId);
for (const prefix of BEDROCK_REGION_PREFIXES) {
if (effectiveModelId.startsWith(`${prefix}.anthropic.`)) {
return prefix;
}
}
return;
}
function applyBedrockRegionPrefix(modelId, prefix) {
const existingPrefix = getBedrockRegionPrefix(modelId);
if (existingPrefix) {
return modelId.replace(`${existingPrefix}.`, `${prefix}.`);
}
if (isFoundationModel(modelId)) {
return `${prefix}.${modelId}`;
}
return modelId;
}
var getBedrockInferenceProfiles, getInferenceProfileBackingModel, BEDROCK_REGION_PREFIXES;
var init_bedrock = __esm(() => {
init_memoize();
init_auth2();
init_envUtils();
init_log3();
init_proxy();
getBedrockInferenceProfiles = memoize_default(async function() {
const [client, { ListInferenceProfilesCommand }] = await Promise.all([
createBedrockClient(),
Promise.resolve().then(() => __toESM(require_dist_cjs55(), 1))
]);
const allProfiles = [];
let nextToken;
try {
do {
const command = new ListInferenceProfilesCommand({
...nextToken && { nextToken },
typeEquals: "SYSTEM_DEFINED"
});
const response = await client.send(command);
if (response.inferenceProfileSummaries) {
allProfiles.push(...response.inferenceProfileSummaries);
}
nextToken = response.nextToken;
} while (nextToken);
return allProfiles.filter((profile) => profile.inferenceProfileId?.includes("anthropic")).map((profile) => profile.inferenceProfileId).filter(Boolean);
} catch (error49) {
logError2(error49);
throw error49;
}
});
getInferenceProfileBackingModel = memoize_default(async function(profileId) {
try {
const [client, { GetInferenceProfileCommand }] = await Promise.all([
createBedrockClient(),
Promise.resolve().then(() => __toESM(require_dist_cjs55(), 1))
]);
const command = new GetInferenceProfileCommand({
inferenceProfileIdentifier: profileId
});
const response = await client.send(command);
if (!response.models || response.models.length === 0) {
return null;
}
const primaryModel = response.models[0];
if (!primaryModel?.modelArn) {
return null;
}
const lastSlashIndex = primaryModel.modelArn.lastIndexOf("/");
return lastSlashIndex >= 0 ? primaryModel.modelArn.substring(lastSlashIndex + 1) : primaryModel.modelArn;
} catch (error49) {
logError2(error49);
return null;
}
});
BEDROCK_REGION_PREFIXES = ["us", "eu", "apac", "global"];
});
// src/utils/model/configs.ts
var CLAUDE_3_7_SONNET_CONFIG, CLAUDE_3_5_V2_SONNET_CONFIG, CLAUDE_3_5_HAIKU_CONFIG, CLAUDE_HAIKU_4_5_CONFIG, CLAUDE_SONNET_4_CONFIG, CLAUDE_SONNET_4_5_CONFIG, CLAUDE_OPUS_4_CONFIG, CLAUDE_OPUS_4_1_CONFIG, CLAUDE_OPUS_4_5_CONFIG, CLAUDE_OPUS_4_6_CONFIG, CLAUDE_SONNET_4_6_CONFIG, ALL_MODEL_CONFIGS, CANONICAL_MODEL_IDS, CANONICAL_ID_TO_KEY;
var init_configs = __esm(() => {
CLAUDE_3_7_SONNET_CONFIG = {
firstParty: "claude-3-7-sonnet-20250219",
bedrock: "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
vertex: "claude-3-7-sonnet@20250219",
foundry: "claude-3-7-sonnet"
};
CLAUDE_3_5_V2_SONNET_CONFIG = {
firstParty: "claude-3-5-sonnet-20241022",
bedrock: "anthropic.claude-3-5-sonnet-20241022-v2:0",
vertex: "claude-3-5-sonnet-v2@20241022",
foundry: "claude-3-5-sonnet"
};
CLAUDE_3_5_HAIKU_CONFIG = {
firstParty: "claude-3-5-haiku-20241022",
bedrock: "us.anthropic.claude-3-5-haiku-20241022-v1:0",
vertex: "claude-3-5-haiku@20241022",
foundry: "claude-3-5-haiku"
};
CLAUDE_HAIKU_4_5_CONFIG = {
firstParty: "claude-haiku-4-5-20251001",
bedrock: "us.anthropic.claude-haiku-4-5-20251001-v1:0",
vertex: "claude-haiku-4-5@20251001",
foundry: "claude-haiku-4-5"
};
CLAUDE_SONNET_4_CONFIG = {
firstParty: "claude-sonnet-4-20250514",
bedrock: "us.anthropic.claude-sonnet-4-20250514-v1:0",
vertex: "claude-sonnet-4@20250514",
foundry: "claude-sonnet-4"
};
CLAUDE_SONNET_4_5_CONFIG = {
firstParty: "claude-sonnet-4-5-20250929",
bedrock: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
vertex: "claude-sonnet-4-5@20250929",
foundry: "claude-sonnet-4-5"
};
CLAUDE_OPUS_4_CONFIG = {
firstParty: "claude-opus-4-20250514",
bedrock: "us.anthropic.claude-opus-4-20250514-v1:0",
vertex: "claude-opus-4@20250514",
foundry: "claude-opus-4"
};
CLAUDE_OPUS_4_1_CONFIG = {
firstParty: "claude-opus-4-1-20250805",
bedrock: "us.anthropic.claude-opus-4-1-20250805-v1:0",
vertex: "claude-opus-4-1@20250805",
foundry: "claude-opus-4-1"
};
CLAUDE_OPUS_4_5_CONFIG = {
firstParty: "claude-opus-4-5-20251101",
bedrock: "us.anthropic.claude-opus-4-5-20251101-v1:0",
vertex: "claude-opus-4-5@20251101",
foundry: "claude-opus-4-5"
};
CLAUDE_OPUS_4_6_CONFIG = {
firstParty: "claude-opus-4-6",
bedrock: "us.anthropic.claude-opus-4-6-v1",
vertex: "claude-opus-4-6",
foundry: "claude-opus-4-6"
};
CLAUDE_SONNET_4_6_CONFIG = {
firstParty: "claude-sonnet-4-6",
bedrock: "us.anthropic.claude-sonnet-4-6",
vertex: "claude-sonnet-4-6",
foundry: "claude-sonnet-4-6"
};
ALL_MODEL_CONFIGS = {
haiku35: CLAUDE_3_5_HAIKU_CONFIG,
haiku45: CLAUDE_HAIKU_4_5_CONFIG,
sonnet35: CLAUDE_3_5_V2_SONNET_CONFIG,
sonnet37: CLAUDE_3_7_SONNET_CONFIG,
sonnet40: CLAUDE_SONNET_4_CONFIG,
sonnet45: CLAUDE_SONNET_4_5_CONFIG,
sonnet46: CLAUDE_SONNET_4_6_CONFIG,
opus40: CLAUDE_OPUS_4_CONFIG,
opus41: CLAUDE_OPUS_4_1_CONFIG,
opus45: CLAUDE_OPUS_4_5_CONFIG,
opus46: CLAUDE_OPUS_4_6_CONFIG
};
CANONICAL_MODEL_IDS = Object.values(ALL_MODEL_CONFIGS).map((c5) => c5.firstParty);
CANONICAL_ID_TO_KEY = Object.fromEntries(Object.entries(ALL_MODEL_CONFIGS).map(([key, cfg]) => [cfg.firstParty, key]));
});
// src/utils/model/providers.ts
function getAPIProvider() {
return isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) ? "bedrock" : isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) ? "vertex" : isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) ? "foundry" : "firstParty";
}
function getAPIProviderForStatsig() {
return getAPIProvider();
}
function isFirstPartyAnthropicBaseUrl() {
const baseUrl = process.env.ANTHROPIC_BASE_URL;
if (!baseUrl) {
return true;
}
try {
const host = new URL(baseUrl).host;
const allowedHosts = ["api.anthropic.com"];
if (process.env.USER_TYPE === "ant") {
allowedHosts.push("api-staging.anthropic.com");
}
return allowedHosts.includes(host);
} catch {
return false;
}
}
var init_providers = __esm(() => {
init_envUtils();
});
// src/utils/model/modelStrings.ts
function getBuiltinModelStrings(provider) {
const out = {};
for (const key of MODEL_KEYS) {
out[key] = ALL_MODEL_CONFIGS[key][provider];
}
return out;
}
async function getBedrockModelStrings() {
const fallback = getBuiltinModelStrings("bedrock");
let profiles;
try {
profiles = await getBedrockInferenceProfiles();
} catch (error49) {
logError2(error49);
return fallback;
}
if (!profiles?.length) {
return fallback;
}
const out = {};
for (const key of MODEL_KEYS) {
const needle = ALL_MODEL_CONFIGS[key].firstParty;
out[key] = findFirstMatch(profiles, needle) || fallback[key];
}
return out;
}
function applyModelOverrides(ms) {
const overrides = getInitialSettings().modelOverrides;
if (!overrides) {
return ms;
}
const out = { ...ms };
for (const [canonicalId, override] of Object.entries(overrides)) {
const key = CANONICAL_ID_TO_KEY[canonicalId];
if (key && override) {
out[key] = override;
}
}
return out;
}
function resolveOverriddenModel(modelId) {
let overrides;
try {
overrides = getInitialSettings().modelOverrides;
} catch {
return modelId;
}
if (!overrides) {
return modelId;
}
for (const [canonicalId, override] of Object.entries(overrides)) {
if (override === modelId) {
return canonicalId;
}
}
return modelId;
}
function initModelStrings() {
const ms = getModelStrings();
if (ms !== null) {
return;
}
if (getAPIProvider() !== "bedrock") {
setModelStrings(getBuiltinModelStrings(getAPIProvider()));
return;
}
updateBedrockModelStrings();
}
function getModelStrings2() {
const ms = getModelStrings();
if (ms === null) {
initModelStrings();
return applyModelOverrides(getBuiltinModelStrings(getAPIProvider()));
}
return applyModelOverrides(ms);
}
async function ensureModelStringsInitialized() {
const ms = getModelStrings();
if (ms !== null) {
return;
}
if (getAPIProvider() !== "bedrock") {
setModelStrings(getBuiltinModelStrings(getAPIProvider()));
return;
}
await updateBedrockModelStrings();
}
var MODEL_KEYS, updateBedrockModelStrings;
var init_modelStrings = __esm(() => {
init_state();
init_log3();
init_settings2();
init_bedrock();
init_configs();
init_providers();
MODEL_KEYS = Object.keys(ALL_MODEL_CONFIGS);
updateBedrockModelStrings = sequential(async () => {
if (getModelStrings() !== null) {
return;
}
try {
const ms = await getBedrockModelStrings();
setModelStrings(ms);
} catch (error49) {
logError2(error49);
}
});
});
// src/utils/billing.ts
function hasConsoleBillingAccess() {
if (isEnvTruthy(process.env.DISABLE_COST_WARNINGS)) {
return false;
}
const isSubscriber = isClaudeAISubscriber();
if (isSubscriber)
return false;
const authSource = getAuthTokenSource();
const hasApiKey = getAnthropicApiKey() !== null;
if (!authSource.hasToken && !hasApiKey) {
return false;
}
const config2 = getGlobalConfig();
const orgRole = config2.oauthAccount?.organizationRole;
const workspaceRole = config2.oauthAccount?.workspaceRole;
if (!orgRole || !workspaceRole) {
return false;
}
return ["admin", "billing"].includes(orgRole) || ["workspace_admin", "workspace_billing"].includes(workspaceRole);
}
function setMockBillingAccessOverride(value) {
mockBillingAccessOverride = value;
}
function hasClaudeAiBillingAccess() {
if (mockBillingAccessOverride !== null) {
return mockBillingAccessOverride;
}
if (!isClaudeAISubscriber()) {
return false;
}
const subscriptionType = getSubscriptionType();
if (subscriptionType === "max" || subscriptionType === "pro") {
return true;
}
const config2 = getGlobalConfig();
const orgRole = config2.oauthAccount?.organizationRole;
return !!orgRole && ["admin", "billing", "owner", "primary_owner"].includes(orgRole);
}
var mockBillingAccessOverride = null;
var init_billing = __esm(() => {
init_auth2();
init_config();
init_envUtils();
});
// src/services/mockRateLimits.ts
function getMockHeaderless429Message() {
if (process.env.USER_TYPE !== "ant") {
return null;
}
if (process.env.CLAUDE_MOCK_HEADERLESS_429) {
return process.env.CLAUDE_MOCK_HEADERLESS_429;
}
if (!mockEnabled) {
return null;
}
return mockHeaderless429Message;
}
function getMockHeaders() {
if (!mockEnabled || process.env.USER_TYPE !== "ant" || Object.keys(mockHeaders).length === 0) {
return null;
}
return mockHeaders;
}
function clearMockHeaders() {
mockHeaders = {};
exceededLimits = [];
mockSubscriptionType = null;
mockFastModeRateLimitDurationMs = null;
mockFastModeRateLimitExpiresAt = null;
mockHeaderless429Message = null;
setMockBillingAccessOverride(null);
mockEnabled = false;
}
function applyMockHeaders(headers) {
const mock = getMockHeaders();
if (!mock) {
return headers;
}
const newHeaders = new globalThis.Headers(headers);
Object.entries(mock).forEach(([key, value]) => {
if (value !== undefined) {
newHeaders.set(key, value);
}
});
return newHeaders;
}
function shouldProcessMockLimits() {
if (process.env.USER_TYPE !== "ant") {
return false;
}
return mockEnabled || Boolean(process.env.CLAUDE_MOCK_HEADERLESS_429);
}
function getMockSubscriptionType() {
if (!mockEnabled || process.env.USER_TYPE !== "ant") {
return null;
}
return mockSubscriptionType || DEFAULT_MOCK_SUBSCRIPTION;
}
function shouldUseMockSubscription() {
return mockEnabled && mockSubscriptionType !== null && process.env.USER_TYPE === "ant";
}
function isMockFastModeRateLimitScenario() {
return mockFastModeRateLimitDurationMs !== null;
}
function checkMockFastModeRateLimit(isFastModeActive) {
if (mockFastModeRateLimitDurationMs === null) {
return null;
}
if (!isFastModeActive) {
return null;
}
if (mockFastModeRateLimitExpiresAt !== null && Date.now() >= mockFastModeRateLimitExpiresAt) {
clearMockHeaders();
return null;
}
if (mockFastModeRateLimitExpiresAt === null) {
mockFastModeRateLimitExpiresAt = Date.now() + mockFastModeRateLimitDurationMs;
}
const remainingMs = mockFastModeRateLimitExpiresAt - Date.now();
const headersToSend = { ...mockHeaders };
headersToSend["retry-after"] = String(Math.max(1, Math.ceil(remainingMs / 1000)));
return headersToSend;
}
var mockHeaders, mockEnabled = false, mockHeaderless429Message = null, mockSubscriptionType = null, mockFastModeRateLimitDurationMs = null, mockFastModeRateLimitExpiresAt = null, DEFAULT_MOCK_SUBSCRIPTION = "max", exceededLimits;
var init_mockRateLimits = __esm(() => {
init_billing();
mockHeaders = {};
exceededLimits = [];
});
// src/services/oauth/getOauthProfile.ts
async function getOauthProfileFromApiKey() {
const config2 = getGlobalConfig();
const accountUuid = config2.oauthAccount?.accountUuid;
const apiKey = getAnthropicApiKey();
if (!accountUuid || !apiKey) {
return;
}
const endpoint = `${getOauthConfig().BASE_API_URL}/api/claude_cli_profile`;
try {
const response = await axios_default.get(endpoint, {
headers: {
"x-api-key": apiKey,
"anthropic-beta": OAUTH_BETA_HEADER
},
params: {
account_uuid: accountUuid
},
timeout: 1e4
});
return response.data;
} catch (error49) {
logError2(error49);
}
}
async function getOauthProfileFromOauthToken(accessToken) {
const endpoint = `${getOauthConfig().BASE_API_URL}/api/oauth/profile`;
try {
const response = await axios_default.get(endpoint, {
headers: {
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json"
},
timeout: 1e4
});
return response.data;
} catch (error49) {
logError2(error49);
}
}
var init_getOauthProfile = __esm(() => {
init_axios2();
init_oauth();
init_auth2();
init_config();
init_log3();
});
// src/services/oauth/client.ts
var exports_client = {};
__export(exports_client, {
storeOAuthAccountInfo: () => storeOAuthAccountInfo,
shouldUseClaudeAIAuth: () => shouldUseClaudeAIAuth,
refreshOAuthToken: () => refreshOAuthToken,
populateOAuthAccountInfoIfNeeded: () => populateOAuthAccountInfoIfNeeded,
parseScopes: () => parseScopes,
isOAuthTokenExpired: () => isOAuthTokenExpired,
getOrganizationUUID: () => getOrganizationUUID,
fetchProfileInfo: () => fetchProfileInfo,
fetchAndStoreUserRoles: () => fetchAndStoreUserRoles,
exchangeCodeForTokens: () => exchangeCodeForTokens,
createAndStoreApiKey: () => createAndStoreApiKey,
buildAuthUrl: () => buildAuthUrl
});
function shouldUseClaudeAIAuth(scopes) {
return Boolean(scopes?.includes(CLAUDE_AI_INFERENCE_SCOPE));
}
function parseScopes(scopeString) {
return scopeString?.split(" ").filter(Boolean) ?? [];
}
function buildAuthUrl({
codeChallenge,
state,
port,
isManual,
loginWithClaudeAi,
inferenceOnly,
orgUUID,
loginHint,
loginMethod
}) {
const authUrlBase = loginWithClaudeAi ? getOauthConfig().CLAUDE_AI_AUTHORIZE_URL : getOauthConfig().CONSOLE_AUTHORIZE_URL;
const authUrl = new URL(authUrlBase);
authUrl.searchParams.append("code", "true");
authUrl.searchParams.append("client_id", getOauthConfig().CLIENT_ID);
authUrl.searchParams.append("response_type", "code");
authUrl.searchParams.append("redirect_uri", isManual ? getOauthConfig().MANUAL_REDIRECT_URL : `http://localhost:${port}/callback`);
const scopesToUse = inferenceOnly ? [CLAUDE_AI_INFERENCE_SCOPE] : ALL_OAUTH_SCOPES;
authUrl.searchParams.append("scope", scopesToUse.join(" "));
authUrl.searchParams.append("code_challenge", codeChallenge);
authUrl.searchParams.append("code_challenge_method", "S256");
authUrl.searchParams.append("state", state);
if (orgUUID) {
authUrl.searchParams.append("orgUUID", orgUUID);
}
if (loginHint) {
authUrl.searchParams.append("login_hint", loginHint);
}
if (loginMethod) {
authUrl.searchParams.append("login_method", loginMethod);
}
return authUrl.toString();
}
async function exchangeCodeForTokens(authorizationCode, state, codeVerifier, port, useManualRedirect = false, expiresIn) {
const requestBody = {
grant_type: "authorization_code",
code: authorizationCode,
redirect_uri: useManualRedirect ? getOauthConfig().MANUAL_REDIRECT_URL : `http://localhost:${port}/callback`,
client_id: getOauthConfig().CLIENT_ID,
code_verifier: codeVerifier,
state
};
if (expiresIn !== undefined) {
requestBody.expires_in = expiresIn;
}
const response = await axios_default.post(getOauthConfig().TOKEN_URL, requestBody, {
headers: { "Content-Type": "application/json" },
timeout: 15000
});
if (response.status !== 200) {
throw new Error(response.status === 401 ? "Authentication failed: Invalid authorization code" : `Token exchange failed (${response.status}): ${response.statusText}`);
}
logEvent("tengu_oauth_token_exchange_success", {});
return response.data;
}
async function refreshOAuthToken(refreshToken, { scopes: requestedScopes } = {}) {
const requestBody = {
grant_type: "refresh_token",
refresh_token: refreshToken,
client_id: getOauthConfig().CLIENT_ID,
scope: ((requestedScopes?.length) ? requestedScopes : CLAUDE_AI_OAUTH_SCOPES).join(" ")
};
try {
const response = await axios_default.post(getOauthConfig().TOKEN_URL, requestBody, {
headers: { "Content-Type": "application/json" },
timeout: 15000
});
if (response.status !== 200) {
throw new Error(`Token refresh failed: ${response.statusText}`);
}
const data = response.data;
const {
access_token: accessToken,
refresh_token: newRefreshToken = refreshToken,
expires_in: expiresIn
} = data;
const expiresAt = Date.now() + expiresIn * 1000;
const scopes = parseScopes(data.scope);
logEvent("tengu_oauth_token_refresh_success", {});
const config2 = getGlobalConfig();
const existing = getClaudeAIOAuthTokens();
const haveProfileAlready = config2.oauthAccount?.billingType !== undefined && config2.oauthAccount?.accountCreatedAt !== undefined && config2.oauthAccount?.subscriptionCreatedAt !== undefined && existing?.subscriptionType != null && existing?.rateLimitTier != null;
const profileInfo = haveProfileAlready ? null : await fetchProfileInfo(accessToken);
if (profileInfo && config2.oauthAccount) {
const updates = {};
if (profileInfo.displayName !== undefined) {
updates.displayName = profileInfo.displayName;
}
if (typeof profileInfo.hasExtraUsageEnabled === "boolean") {
updates.hasExtraUsageEnabled = profileInfo.hasExtraUsageEnabled;
}
if (profileInfo.billingType !== null) {
updates.billingType = profileInfo.billingType;
}
if (profileInfo.accountCreatedAt !== undefined) {
updates.accountCreatedAt = profileInfo.accountCreatedAt;
}
if (profileInfo.subscriptionCreatedAt !== undefined) {
updates.subscriptionCreatedAt = profileInfo.subscriptionCreatedAt;
}
if (Object.keys(updates).length > 0) {
saveGlobalConfig((current) => ({
...current,
oauthAccount: current.oauthAccount ? { ...current.oauthAccount, ...updates } : current.oauthAccount
}));
}
}
return {
accessToken,
refreshToken: newRefreshToken,
expiresAt,
scopes,
subscriptionType: profileInfo?.subscriptionType ?? existing?.subscriptionType ?? null,
rateLimitTier: profileInfo?.rateLimitTier ?? existing?.rateLimitTier ?? null,
profile: profileInfo?.rawProfile,
tokenAccount: data.account ? {
uuid: data.account.uuid,
emailAddress: data.account.email_address,
organizationUuid: data.organization?.uuid
} : undefined
};
} catch (error49) {
const responseBody = axios_default.isAxiosError(error49) && error49.response?.data ? JSON.stringify(error49.response.data) : undefined;
logEvent("tengu_oauth_token_refresh_failure", {
error: error49.message,
...responseBody && {
responseBody
}
});
throw error49;
}
}
async function fetchAndStoreUserRoles(accessToken) {
const response = await axios_default.get(getOauthConfig().ROLES_URL, {
headers: { Authorization: `Bearer ${accessToken}` }
});
if (response.status !== 200) {
throw new Error(`Failed to fetch user roles: ${response.statusText}`);
}
const data = response.data;
const config2 = getGlobalConfig();
if (!config2.oauthAccount) {
throw new Error("OAuth account information not found in config");
}
saveGlobalConfig((current) => ({
...current,
oauthAccount: current.oauthAccount ? {
...current.oauthAccount,
organizationRole: data.organization_role,
workspaceRole: data.workspace_role,
organizationName: data.organization_name
} : current.oauthAccount
}));
logEvent("tengu_oauth_roles_stored", {
org_role: data.organization_role
});
}
async function createAndStoreApiKey(accessToken) {
try {
const response = await axios_default.post(getOauthConfig().API_KEY_URL, null, {
headers: { Authorization: `Bearer ${accessToken}` }
});
const apiKey = response.data?.raw_key;
if (apiKey) {
await saveApiKey(apiKey);
logEvent("tengu_oauth_api_key", {
status: "success",
statusCode: response.status
});
return apiKey;
}
return null;
} catch (error49) {
logEvent("tengu_oauth_api_key", {
status: "failure",
error: error49 instanceof Error ? error49.message : String(error49)
});
throw error49;
}
}
function isOAuthTokenExpired(expiresAt) {
if (expiresAt === null) {
return false;
}
const bufferTime = 5 * 60 * 1000;
const now = Date.now();
const expiresWithBuffer = now + bufferTime;
return expiresWithBuffer >= expiresAt;
}
async function fetchProfileInfo(accessToken) {
const profile = await getOauthProfileFromOauthToken(accessToken);
const orgType = profile?.organization?.organization_type;
let subscriptionType = null;
switch (orgType) {
case "claude_max":
subscriptionType = "max";
break;
case "claude_pro":
subscriptionType = "pro";
break;
case "claude_enterprise":
subscriptionType = "enterprise";
break;
case "claude_team":
subscriptionType = "team";
break;
default:
subscriptionType = null;
break;
}
const result = {
subscriptionType,
rateLimitTier: profile?.organization?.rate_limit_tier ?? null,
hasExtraUsageEnabled: profile?.organization?.has_extra_usage_enabled ?? null,
billingType: profile?.organization?.billing_type ?? null
};
if (profile?.account?.display_name) {
result.displayName = profile.account.display_name;
}
if (profile?.account?.created_at) {
result.accountCreatedAt = profile.account.created_at;
}
if (profile?.organization?.subscription_created_at) {
result.subscriptionCreatedAt = profile.organization.subscription_created_at;
}
logEvent("tengu_oauth_profile_fetch_success", {});
return { ...result, rawProfile: profile };
}
async function getOrganizationUUID() {
const globalConfig2 = getGlobalConfig();
const orgUUID = globalConfig2.oauthAccount?.organizationUuid;
if (orgUUID) {
return orgUUID;
}
const accessToken = getClaudeAIOAuthTokens()?.accessToken;
if (accessToken === undefined || !hasProfileScope()) {
return null;
}
const profile = await getOauthProfileFromOauthToken(accessToken);
const profileOrgUUID = profile?.organization?.uuid;
if (!profileOrgUUID) {
return null;
}
return profileOrgUUID;
}
async function populateOAuthAccountInfoIfNeeded() {
const envAccountUuid = process.env.CLAUDE_CODE_ACCOUNT_UUID;
const envUserEmail = process.env.CLAUDE_CODE_USER_EMAIL;
const envOrganizationUuid = process.env.CLAUDE_CODE_ORGANIZATION_UUID;
const hasEnvVars = Boolean(envAccountUuid && envUserEmail && envOrganizationUuid);
if (envAccountUuid && envUserEmail && envOrganizationUuid) {
if (!getGlobalConfig().oauthAccount) {
storeOAuthAccountInfo({
accountUuid: envAccountUuid,
emailAddress: envUserEmail,
organizationUuid: envOrganizationUuid
});
}
}
await checkAndRefreshOAuthTokenIfNeeded();
const config2 = getGlobalConfig();
if (config2.oauthAccount && config2.oauthAccount.billingType !== undefined && config2.oauthAccount.accountCreatedAt !== undefined && config2.oauthAccount.subscriptionCreatedAt !== undefined || !isClaudeAISubscriber() || !hasProfileScope()) {
return false;
}
const tokens = getClaudeAIOAuthTokens();
if (tokens?.accessToken) {
const profile = await getOauthProfileFromOauthToken(tokens.accessToken);
if (profile) {
if (hasEnvVars) {
logForDebugging("OAuth profile fetch succeeded, overriding env var account info", { level: "info" });
}
storeOAuthAccountInfo({
accountUuid: profile.account.uuid,
emailAddress: profile.account.email,
organizationUuid: profile.organization.uuid,
displayName: profile.account.display_name || undefined,
hasExtraUsageEnabled: profile.organization.has_extra_usage_enabled ?? false,
billingType: profile.organization.billing_type ?? undefined,
accountCreatedAt: profile.account.created_at,
subscriptionCreatedAt: profile.organization.subscription_created_at ?? undefined
});
return true;
}
}
return false;
}
function storeOAuthAccountInfo({
accountUuid,
emailAddress,
organizationUuid,
displayName,
hasExtraUsageEnabled,
billingType,
accountCreatedAt,
subscriptionCreatedAt
}) {
const accountInfo = {
accountUuid,
emailAddress,
organizationUuid,
hasExtraUsageEnabled,
billingType,
accountCreatedAt,
subscriptionCreatedAt
};
if (displayName) {
accountInfo.displayName = displayName;
}
saveGlobalConfig((current) => {
if (current.oauthAccount?.accountUuid === accountInfo.accountUuid && current.oauthAccount?.emailAddress === accountInfo.emailAddress && current.oauthAccount?.organizationUuid === accountInfo.organizationUuid && current.oauthAccount?.displayName === accountInfo.displayName && current.oauthAccount?.hasExtraUsageEnabled === accountInfo.hasExtraUsageEnabled && current.oauthAccount?.billingType === accountInfo.billingType && current.oauthAccount?.accountCreatedAt === accountInfo.accountCreatedAt && current.oauthAccount?.subscriptionCreatedAt === accountInfo.subscriptionCreatedAt) {
return current;
}
return { ...current, oauthAccount: accountInfo };
});
}
var init_client2 = __esm(() => {
init_axios2();
init_analytics();
init_oauth();
init_auth2();
init_config();
init_debug();
init_getOauthProfile();
});
// src/utils/authFileDescriptor.ts
import { mkdirSync as mkdirSync2, writeFileSync as writeFileSync2 } from "fs";
function maybePersistTokenForSubprocesses(path9, token, tokenName) {
if (!isEnvTruthy(process.env.CLAUDE_CODE_REMOTE)) {
return;
}
try {
mkdirSync2(CCR_TOKEN_DIR, { recursive: true, mode: 448 });
writeFileSync2(path9, token, { encoding: "utf8", mode: 384 });
logForDebugging(`Persisted ${tokenName} to ${path9} for subprocess access`);
} catch (error49) {
logForDebugging(`Failed to persist ${tokenName} to disk (non-fatal): ${errorMessage(error49)}`, { level: "error" });
}
}
function readTokenFromWellKnownFile(path9, tokenName) {
try {
const fsOps = getFsImplementation();
const token = fsOps.readFileSync(path9, { encoding: "utf8" }).trim();
if (!token) {
return null;
}
logForDebugging(`Read ${tokenName} from well-known file ${path9}`);
return token;
} catch (error49) {
if (!isENOENT(error49)) {
logForDebugging(`Failed to read ${tokenName} from ${path9}: ${errorMessage(error49)}`, { level: "debug" });
}
return null;
}
}
function getCredentialFromFd({
envVar,
wellKnownPath,
label,
getCached,
setCached
}) {
const cached2 = getCached();
if (cached2 !== undefined) {
return cached2;
}
const fdEnv = process.env[envVar];
if (!fdEnv) {
const fromFile = readTokenFromWellKnownFile(wellKnownPath, label);
setCached(fromFile);
return fromFile;
}
const fd = parseInt(fdEnv, 10);
if (Number.isNaN(fd)) {
logForDebugging(`${envVar} must be a valid file descriptor number, got: ${fdEnv}`, { level: "error" });
setCached(null);
return null;
}
try {
const fsOps = getFsImplementation();
const fdPath = process.platform === "darwin" || process.platform === "freebsd" ? `/dev/fd/${fd}` : `/proc/self/fd/${fd}`;
const token = fsOps.readFileSync(fdPath, { encoding: "utf8" }).trim();
if (!token) {
logForDebugging(`File descriptor contained empty ${label}`, {
level: "error"
});
setCached(null);
return null;
}
logForDebugging(`Successfully read ${label} from file descriptor ${fd}`);
setCached(token);
maybePersistTokenForSubprocesses(wellKnownPath, token, label);
return token;
} catch (error49) {
logForDebugging(`Failed to read ${label} from file descriptor ${fd}: ${errorMessage(error49)}`, { level: "error" });
const fromFile = readTokenFromWellKnownFile(wellKnownPath, label);
setCached(fromFile);
return fromFile;
}
}
function getOAuthTokenFromFileDescriptor() {
return getCredentialFromFd({
envVar: "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR",
wellKnownPath: CCR_OAUTH_TOKEN_PATH,
label: "OAuth token",
getCached: getOauthTokenFromFd,
setCached: setOauthTokenFromFd
});
}
function getApiKeyFromFileDescriptor() {
return getCredentialFromFd({
envVar: "CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR",
wellKnownPath: CCR_API_KEY_PATH,
label: "API key",
getCached: getApiKeyFromFd,
setCached: setApiKeyFromFd
});
}
var CCR_TOKEN_DIR = "/home/claude/.claude/remote", CCR_OAUTH_TOKEN_PATH, CCR_API_KEY_PATH, CCR_SESSION_INGRESS_TOKEN_PATH;
var init_authFileDescriptor = __esm(() => {
init_state();
init_debug();
init_envUtils();
init_errors();
init_fsOperations();
CCR_OAUTH_TOKEN_PATH = `${CCR_TOKEN_DIR}/.oauth_token`;
CCR_API_KEY_PATH = `${CCR_TOKEN_DIR}/.api_key`;
CCR_SESSION_INGRESS_TOKEN_PATH = `${CCR_TOKEN_DIR}/.session_ingress_token`;
});
// src/utils/authPortable.ts
async function maybeRemoveApiKeyFromMacOSKeychainThrows() {
if (process.platform === "darwin") {
const storageServiceName = getMacOsKeychainStorageServiceName();
const result = await execa(`security delete-generic-password -a $USER -s "${storageServiceName}"`, { shell: true, reject: false });
if (result.exitCode !== 0) {
throw new Error("Failed to delete keychain entry");
}
}
}
function normalizeApiKeyForConfig(apiKey) {
return apiKey.slice(-20);
}
var init_authPortable = __esm(() => {
init_execa();
init_macOsKeychainHelpers();
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js
var require_httpAuthSchemeProvider7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthSchemeConfig = exports.resolveStsAuthConfig = exports.defaultSTSHttpAuthSchemeProvider = exports.defaultSTSHttpAuthSchemeParametersProvider = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var util_middleware_1 = require_dist_cjs21();
var STSClient_1 = require_STSClient2();
var defaultSTSHttpAuthSchemeParametersProvider = async (config2, context, input) => {
return {
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
region: await (0, util_middleware_1.normalizeProvider)(config2.region)() || (() => {
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
})()
};
};
exports.defaultSTSHttpAuthSchemeParametersProvider = defaultSTSHttpAuthSchemeParametersProvider;
function createAwsAuthSigv4HttpAuthOption(authParameters) {
return {
schemeId: "aws.auth#sigv4",
signingProperties: {
name: "sts",
region: authParameters.region
},
propertiesExtractor: (config2, context) => ({
signingProperties: {
config: config2,
context
}
})
};
}
function createSmithyApiNoAuthHttpAuthOption(authParameters) {
return {
schemeId: "smithy.api#noAuth"
};
}
var defaultSTSHttpAuthSchemeProvider = (authParameters) => {
const options = [];
switch (authParameters.operation) {
case "AssumeRoleWithSAML":
{
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
;
case "AssumeRoleWithWebIdentity":
{
options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
break;
}
;
default: {
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
}
}
return options;
};
exports.defaultSTSHttpAuthSchemeProvider = defaultSTSHttpAuthSchemeProvider;
var resolveStsAuthConfig = (input) => Object.assign(input, {
stsClientCtor: STSClient_1.STSClient
});
exports.resolveStsAuthConfig = resolveStsAuthConfig;
var resolveHttpAuthSchemeConfig = (config2) => {
const config_0 = (0, exports.resolveStsAuthConfig)(config2);
const config_1 = (0, httpAuthSchemes_1.resolveAwsSdkSigV4Config)(config_0);
return Object.assign(config_1, {
authSchemePreference: (0, util_middleware_1.normalizeProvider)(config2.authSchemePreference ?? [])
});
};
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/EndpointParameters.js
var require_EndpointParameters2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.commonParams = exports.resolveClientEndpointParameters = undefined;
var resolveClientEndpointParameters = (options) => {
return Object.assign(options, {
useDualstackEndpoint: options.useDualstackEndpoint ?? false,
useFipsEndpoint: options.useFipsEndpoint ?? false,
useGlobalEndpoint: options.useGlobalEndpoint ?? false,
defaultSigningName: "sts"
});
};
exports.resolveClientEndpointParameters = resolveClientEndpointParameters;
exports.commonParams = {
UseGlobalEndpoint: { type: "builtInParams", name: "useGlobalEndpoint" },
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
Endpoint: { type: "builtInParams", name: "endpoint" },
Region: { type: "builtInParams", name: "region" },
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }
};
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/package.json
var require_package4 = __commonJS((exports, module) => {
module.exports = {
name: "@aws-sdk/client-sts",
description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native",
version: "3.1020.0",
scripts: {
build: "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
"build:cjs": "node ../../scripts/compilation/inline client-sts",
"build:es": "tsc -p tsconfig.es.json",
"build:include:deps": 'yarn g:turbo run build -F="$npm_package_name"',
"build:types": "premove ./dist-types tsconfig.types.tsbuildinfo && tsc -p tsconfig.types.json",
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
clean: "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
"extract:docs": "api-extractor run --local",
"generate:client": "node ../../scripts/generate-clients/single-service --solo sts",
test: "yarn g:vitest run",
"test:e2e": "yarn g:vitest run -c vitest.config.e2e.mts --mode development",
"test:e2e:watch": "yarn g:vitest watch -c vitest.config.e2e.mts",
"test:index": "tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs",
"test:integration": "yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts",
"test:integration:watch": "yarn g:vitest run --passWithNoTests -c vitest.config.integ.mts",
"test:watch": "yarn g:vitest watch"
},
main: "./dist-cjs/index.js",
types: "./dist-types/index.d.ts",
module: "./dist-es/index.js",
sideEffects: false,
dependencies: {
"@aws-crypto/sha256-browser": "5.2.0",
"@aws-crypto/sha256-js": "5.2.0",
"@aws-sdk/core": "^3.973.26",
"@aws-sdk/credential-provider-node": "^3.972.28",
"@aws-sdk/middleware-host-header": "^3.972.8",
"@aws-sdk/middleware-logger": "^3.972.8",
"@aws-sdk/middleware-recursion-detection": "^3.972.9",
"@aws-sdk/middleware-user-agent": "^3.972.27",
"@aws-sdk/region-config-resolver": "^3.972.10",
"@aws-sdk/types": "^3.973.6",
"@aws-sdk/util-endpoints": "^3.996.5",
"@aws-sdk/util-user-agent-browser": "^3.972.8",
"@aws-sdk/util-user-agent-node": "^3.973.13",
"@smithy/config-resolver": "^4.4.13",
"@smithy/core": "^3.23.13",
"@smithy/fetch-http-handler": "^5.3.15",
"@smithy/hash-node": "^4.2.12",
"@smithy/invalid-dependency": "^4.2.12",
"@smithy/middleware-content-length": "^4.2.12",
"@smithy/middleware-endpoint": "^4.4.28",
"@smithy/middleware-retry": "^4.4.45",
"@smithy/middleware-serde": "^4.2.16",
"@smithy/middleware-stack": "^4.2.12",
"@smithy/node-config-provider": "^4.3.12",
"@smithy/node-http-handler": "^4.5.1",
"@smithy/protocol-http": "^5.3.12",
"@smithy/smithy-client": "^4.12.8",
"@smithy/types": "^4.13.1",
"@smithy/url-parser": "^4.2.12",
"@smithy/util-base64": "^4.3.2",
"@smithy/util-body-length-browser": "^4.2.2",
"@smithy/util-body-length-node": "^4.2.3",
"@smithy/util-defaults-mode-browser": "^4.3.44",
"@smithy/util-defaults-mode-node": "^4.2.48",
"@smithy/util-endpoints": "^3.3.3",
"@smithy/util-middleware": "^4.2.12",
"@smithy/util-retry": "^4.2.12",
"@smithy/util-utf8": "^4.2.2",
tslib: "^2.6.2"
},
devDependencies: {
"@smithy/snapshot-testing": "^2.0.4",
"@tsconfig/node20": "20.1.8",
"@types/node": "^20.14.8",
concurrently: "7.0.0",
"downlevel-dts": "0.10.1",
premove: "4.0.0",
typescript: "~5.8.3",
vitest: "^4.0.17"
},
engines: {
node: ">=20.0.0"
},
typesVersions: {
"<4.5": {
"dist-types/*": [
"dist-types/ts3.4/*"
]
}
},
files: [
"dist-*/**"
],
author: {
name: "AWS SDK for JavaScript Team",
url: "https://aws.amazon.com/javascript/"
},
license: "Apache-2.0",
browser: {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
},
"react-native": {
"./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native"
},
homepage: "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sts",
repository: {
type: "git",
url: "https://github.com/aws/aws-sdk-js-v3.git",
directory: "clients/client-sts"
}
};
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/ruleset.js
var require_ruleset7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ruleSet = undefined;
var F2 = "required";
var G4 = "type";
var H3 = "fn";
var I3 = "argv";
var J2 = "ref";
var a2 = false;
var b2 = true;
var c5 = "booleanEquals";
var d = "stringEquals";
var e = "sigv4";
var f = "sts";
var g2 = "us-east-1";
var h2 = "endpoint";
var i2 = "https://sts.{Region}.{PartitionResult#dnsSuffix}";
var j2 = "tree";
var k2 = "error";
var l = "getAttr";
var m2 = { [F2]: false, [G4]: "string" };
var n2 = { [F2]: true, default: false, [G4]: "boolean" };
var o2 = { [J2]: "Endpoint" };
var p = { [H3]: "isSet", [I3]: [{ [J2]: "Region" }] };
var q2 = { [J2]: "Region" };
var r = { [H3]: "aws.partition", [I3]: [q2], assign: "PartitionResult" };
var s = { [J2]: "UseFIPS" };
var t = { [J2]: "UseDualStack" };
var u4 = { url: "https://sts.amazonaws.com", properties: { authSchemes: [{ name: e, signingName: f, signingRegion: g2 }] }, headers: {} };
var v2 = {};
var w2 = { conditions: [{ [H3]: d, [I3]: [q2, "aws-global"] }], [h2]: u4, [G4]: h2 };
var x3 = { [H3]: c5, [I3]: [s, true] };
var y3 = { [H3]: c5, [I3]: [t, true] };
var z4 = { [H3]: l, [I3]: [{ [J2]: "PartitionResult" }, "supportsFIPS"] };
var A = { [J2]: "PartitionResult" };
var B2 = { [H3]: c5, [I3]: [true, { [H3]: l, [I3]: [A, "supportsDualStack"] }] };
var C3 = [{ [H3]: "isSet", [I3]: [o2] }];
var D3 = [x3];
var E2 = [y3];
var _data = { version: "1.0", parameters: { Region: m2, UseDualStack: n2, UseFIPS: n2, Endpoint: m2, UseGlobalEndpoint: n2 }, rules: [{ conditions: [{ [H3]: c5, [I3]: [{ [J2]: "UseGlobalEndpoint" }, b2] }, { [H3]: "not", [I3]: C3 }, p, r, { [H3]: c5, [I3]: [s, a2] }, { [H3]: c5, [I3]: [t, a2] }], rules: [{ conditions: [{ [H3]: d, [I3]: [q2, "ap-northeast-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "ap-south-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "ap-southeast-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "ap-southeast-2"] }], endpoint: u4, [G4]: h2 }, w2, { conditions: [{ [H3]: d, [I3]: [q2, "ca-central-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "eu-central-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "eu-north-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "eu-west-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "eu-west-2"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "eu-west-3"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "sa-east-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, g2] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "us-east-2"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "us-west-1"] }], endpoint: u4, [G4]: h2 }, { conditions: [{ [H3]: d, [I3]: [q2, "us-west-2"] }], endpoint: u4, [G4]: h2 }, { endpoint: { url: i2, properties: { authSchemes: [{ name: e, signingName: f, signingRegion: "{Region}" }] }, headers: v2 }, [G4]: h2 }], [G4]: j2 }, { conditions: C3, rules: [{ conditions: D3, error: "Invalid Configuration: FIPS and custom endpoint are not supported", [G4]: k2 }, { conditions: E2, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", [G4]: k2 }, { endpoint: { url: o2, properties: v2, headers: v2 }, [G4]: h2 }], [G4]: j2 }, { conditions: [p], rules: [{ conditions: [r], rules: [{ conditions: [x3, y3], rules: [{ conditions: [{ [H3]: c5, [I3]: [b2, z4] }, B2], rules: [{ endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v2, headers: v2 }, [G4]: h2 }], [G4]: j2 }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", [G4]: k2 }], [G4]: j2 }, { conditions: D3, rules: [{ conditions: [{ [H3]: c5, [I3]: [z4, b2] }], rules: [{ conditions: [{ [H3]: d, [I3]: [{ [H3]: l, [I3]: [A, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://sts.{Region}.amazonaws.com", properties: v2, headers: v2 }, [G4]: h2 }, { endpoint: { url: "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", properties: v2, headers: v2 }, [G4]: h2 }], [G4]: j2 }, { error: "FIPS is enabled but this partition does not support FIPS", [G4]: k2 }], [G4]: j2 }, { conditions: E2, rules: [{ conditions: [B2], rules: [{ endpoint: { url: "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: v2, headers: v2 }, [G4]: h2 }], [G4]: j2 }, { error: "DualStack is enabled but this partition does not support DualStack", [G4]: k2 }], [G4]: j2 }, w2, { endpoint: { url: i2, properties: v2, headers: v2 }, [G4]: h2 }], [G4]: j2 }], [G4]: j2 }, { error: "Invalid Configuration: Missing Region", [G4]: k2 }] };
exports.ruleSet = _data;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/endpoint/endpointResolver.js
var require_endpointResolver7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultEndpointResolver = undefined;
var util_endpoints_1 = require_dist_cjs31();
var util_endpoints_2 = require_dist_cjs30();
var ruleset_1 = require_ruleset7();
var cache2 = new util_endpoints_2.EndpointCache({
size: 50,
params: ["Endpoint", "Region", "UseDualStack", "UseFIPS", "UseGlobalEndpoint"]
});
var defaultEndpointResolver = (endpointParams, context = {}) => {
return cache2.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {
endpointParams,
logger: context.logger
}));
};
exports.defaultEndpointResolver = defaultEndpointResolver;
util_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/models/STSServiceException.js
var require_STSServiceException2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.STSServiceException = exports.__ServiceException = undefined;
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__ServiceException", { enumerable: true, get: function() {
return smithy_client_1.ServiceException;
} });
class STSServiceException extends smithy_client_1.ServiceException {
constructor(options) {
super(options);
Object.setPrototypeOf(this, STSServiceException.prototype);
}
}
exports.STSServiceException = STSServiceException;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/models/errors.js
var require_errors8 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SessionDurationEscalationException = exports.OutboundWebIdentityFederationDisabledException = exports.JWTPayloadSizeExceededException = exports.ExpiredTradeInTokenException = exports.InvalidAuthorizationMessageException = exports.IDPCommunicationErrorException = exports.InvalidIdentityTokenException = exports.IDPRejectedClaimException = exports.RegionDisabledException = exports.PackedPolicyTooLargeException = exports.MalformedPolicyDocumentException = exports.ExpiredTokenException = undefined;
var STSServiceException_1 = require_STSServiceException2();
class ExpiredTokenException extends STSServiceException_1.STSServiceException {
name = "ExpiredTokenException";
$fault = "client";
constructor(opts) {
super({
name: "ExpiredTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ExpiredTokenException.prototype);
}
}
exports.ExpiredTokenException = ExpiredTokenException;
class MalformedPolicyDocumentException extends STSServiceException_1.STSServiceException {
name = "MalformedPolicyDocumentException";
$fault = "client";
constructor(opts) {
super({
name: "MalformedPolicyDocumentException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);
}
}
exports.MalformedPolicyDocumentException = MalformedPolicyDocumentException;
class PackedPolicyTooLargeException extends STSServiceException_1.STSServiceException {
name = "PackedPolicyTooLargeException";
$fault = "client";
constructor(opts) {
super({
name: "PackedPolicyTooLargeException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);
}
}
exports.PackedPolicyTooLargeException = PackedPolicyTooLargeException;
class RegionDisabledException extends STSServiceException_1.STSServiceException {
name = "RegionDisabledException";
$fault = "client";
constructor(opts) {
super({
name: "RegionDisabledException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, RegionDisabledException.prototype);
}
}
exports.RegionDisabledException = RegionDisabledException;
class IDPRejectedClaimException extends STSServiceException_1.STSServiceException {
name = "IDPRejectedClaimException";
$fault = "client";
constructor(opts) {
super({
name: "IDPRejectedClaimException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);
}
}
exports.IDPRejectedClaimException = IDPRejectedClaimException;
class InvalidIdentityTokenException extends STSServiceException_1.STSServiceException {
name = "InvalidIdentityTokenException";
$fault = "client";
constructor(opts) {
super({
name: "InvalidIdentityTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);
}
}
exports.InvalidIdentityTokenException = InvalidIdentityTokenException;
class IDPCommunicationErrorException extends STSServiceException_1.STSServiceException {
name = "IDPCommunicationErrorException";
$fault = "client";
constructor(opts) {
super({
name: "IDPCommunicationErrorException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);
}
}
exports.IDPCommunicationErrorException = IDPCommunicationErrorException;
class InvalidAuthorizationMessageException extends STSServiceException_1.STSServiceException {
name = "InvalidAuthorizationMessageException";
$fault = "client";
constructor(opts) {
super({
name: "InvalidAuthorizationMessageException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, InvalidAuthorizationMessageException.prototype);
}
}
exports.InvalidAuthorizationMessageException = InvalidAuthorizationMessageException;
class ExpiredTradeInTokenException extends STSServiceException_1.STSServiceException {
name = "ExpiredTradeInTokenException";
$fault = "client";
constructor(opts) {
super({
name: "ExpiredTradeInTokenException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, ExpiredTradeInTokenException.prototype);
}
}
exports.ExpiredTradeInTokenException = ExpiredTradeInTokenException;
class JWTPayloadSizeExceededException extends STSServiceException_1.STSServiceException {
name = "JWTPayloadSizeExceededException";
$fault = "client";
constructor(opts) {
super({
name: "JWTPayloadSizeExceededException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, JWTPayloadSizeExceededException.prototype);
}
}
exports.JWTPayloadSizeExceededException = JWTPayloadSizeExceededException;
class OutboundWebIdentityFederationDisabledException extends STSServiceException_1.STSServiceException {
name = "OutboundWebIdentityFederationDisabledException";
$fault = "client";
constructor(opts) {
super({
name: "OutboundWebIdentityFederationDisabledException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, OutboundWebIdentityFederationDisabledException.prototype);
}
}
exports.OutboundWebIdentityFederationDisabledException = OutboundWebIdentityFederationDisabledException;
class SessionDurationEscalationException extends STSServiceException_1.STSServiceException {
name = "SessionDurationEscalationException";
$fault = "client";
constructor(opts) {
super({
name: "SessionDurationEscalationException",
$fault: "client",
...opts
});
Object.setPrototypeOf(this, SessionDurationEscalationException.prototype);
}
}
exports.SessionDurationEscalationException = SessionDurationEscalationException;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/schemas/schemas_0.js
var require_schemas_07 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetDelegatedAccessToken$ = exports.GetCallerIdentity$ = exports.GetAccessKeyInfo$ = exports.DecodeAuthorizationMessage$ = exports.AssumeRoot$ = exports.AssumeRoleWithWebIdentity$ = exports.AssumeRoleWithSAML$ = exports.AssumeRole$ = exports.Tag$ = exports.ProvidedContext$ = exports.PolicyDescriptorType$ = exports.GetWebIdentityTokenResponse$ = exports.GetWebIdentityTokenRequest$ = exports.GetSessionTokenResponse$ = exports.GetSessionTokenRequest$ = exports.GetFederationTokenResponse$ = exports.GetFederationTokenRequest$ = exports.GetDelegatedAccessTokenResponse$ = exports.GetDelegatedAccessTokenRequest$ = exports.GetCallerIdentityResponse$ = exports.GetCallerIdentityRequest$ = exports.GetAccessKeyInfoResponse$ = exports.GetAccessKeyInfoRequest$ = exports.FederatedUser$ = exports.DecodeAuthorizationMessageResponse$ = exports.DecodeAuthorizationMessageRequest$ = exports.Credentials$ = exports.AssumeRootResponse$ = exports.AssumeRootRequest$ = exports.AssumeRoleWithWebIdentityResponse$ = exports.AssumeRoleWithWebIdentityRequest$ = exports.AssumeRoleWithSAMLResponse$ = exports.AssumeRoleWithSAMLRequest$ = exports.AssumeRoleResponse$ = exports.AssumeRoleRequest$ = exports.AssumedRoleUser$ = exports.errorTypeRegistries = exports.SessionDurationEscalationException$ = exports.RegionDisabledException$ = exports.PackedPolicyTooLargeException$ = exports.OutboundWebIdentityFederationDisabledException$ = exports.MalformedPolicyDocumentException$ = exports.JWTPayloadSizeExceededException$ = exports.InvalidIdentityTokenException$ = exports.InvalidAuthorizationMessageException$ = exports.IDPRejectedClaimException$ = exports.IDPCommunicationErrorException$ = exports.ExpiredTradeInTokenException$ = exports.ExpiredTokenException$ = exports.STSServiceException$ = undefined;
exports.GetWebIdentityToken$ = exports.GetSessionToken$ = exports.GetFederationToken$ = undefined;
var _A = "Arn";
var _AKI = "AccessKeyId";
var _AP = "AssumedPrincipal";
var _AR = "AssumeRole";
var _ARI = "AssumedRoleId";
var _ARR = "AssumeRoleRequest";
var _ARRs = "AssumeRoleResponse";
var _ARRss = "AssumeRootRequest";
var _ARRssu = "AssumeRootResponse";
var _ARU = "AssumedRoleUser";
var _ARWSAML = "AssumeRoleWithSAML";
var _ARWSAMLR = "AssumeRoleWithSAMLRequest";
var _ARWSAMLRs = "AssumeRoleWithSAMLResponse";
var _ARWWI = "AssumeRoleWithWebIdentity";
var _ARWWIR = "AssumeRoleWithWebIdentityRequest";
var _ARWWIRs = "AssumeRoleWithWebIdentityResponse";
var _ARs = "AssumeRoot";
var _Ac = "Account";
var _Au = "Audience";
var _C = "Credentials";
var _CA = "ContextAssertion";
var _DAM = "DecodeAuthorizationMessage";
var _DAMR = "DecodeAuthorizationMessageRequest";
var _DAMRe = "DecodeAuthorizationMessageResponse";
var _DM = "DecodedMessage";
var _DS = "DurationSeconds";
var _E = "Expiration";
var _EI = "ExternalId";
var _EM = "EncodedMessage";
var _ETE = "ExpiredTokenException";
var _ETITE = "ExpiredTradeInTokenException";
var _FU = "FederatedUser";
var _FUI = "FederatedUserId";
var _GAKI = "GetAccessKeyInfo";
var _GAKIR = "GetAccessKeyInfoRequest";
var _GAKIRe = "GetAccessKeyInfoResponse";
var _GCI = "GetCallerIdentity";
var _GCIR = "GetCallerIdentityRequest";
var _GCIRe = "GetCallerIdentityResponse";
var _GDAT = "GetDelegatedAccessToken";
var _GDATR = "GetDelegatedAccessTokenRequest";
var _GDATRe = "GetDelegatedAccessTokenResponse";
var _GFT = "GetFederationToken";
var _GFTR = "GetFederationTokenRequest";
var _GFTRe = "GetFederationTokenResponse";
var _GST = "GetSessionToken";
var _GSTR = "GetSessionTokenRequest";
var _GSTRe = "GetSessionTokenResponse";
var _GWIT = "GetWebIdentityToken";
var _GWITR = "GetWebIdentityTokenRequest";
var _GWITRe = "GetWebIdentityTokenResponse";
var _I = "Issuer";
var _IAME = "InvalidAuthorizationMessageException";
var _IDPCEE = "IDPCommunicationErrorException";
var _IDPRCE = "IDPRejectedClaimException";
var _IITE = "InvalidIdentityTokenException";
var _JWTPSEE = "JWTPayloadSizeExceededException";
var _K = "Key";
var _MPDE = "MalformedPolicyDocumentException";
var _N = "Name";
var _NQ = "NameQualifier";
var _OWIFDE = "OutboundWebIdentityFederationDisabledException";
var _P = "Policy";
var _PA = "PolicyArns";
var _PAr = "PrincipalArn";
var _PAro = "ProviderArn";
var _PC = "ProvidedContexts";
var _PCLT = "ProvidedContextsListType";
var _PCr = "ProvidedContext";
var _PDT = "PolicyDescriptorType";
var _PI = "ProviderId";
var _PPS = "PackedPolicySize";
var _PPTLE = "PackedPolicyTooLargeException";
var _Pr = "Provider";
var _RA = "RoleArn";
var _RDE = "RegionDisabledException";
var _RSN = "RoleSessionName";
var _S = "Subject";
var _SA = "SigningAlgorithm";
var _SAK = "SecretAccessKey";
var _SAMLA = "SAMLAssertion";
var _SAMLAT = "SAMLAssertionType";
var _SDEE = "SessionDurationEscalationException";
var _SFWIT = "SubjectFromWebIdentityToken";
var _SI = "SourceIdentity";
var _SN = "SerialNumber";
var _ST = "SubjectType";
var _STe = "SessionToken";
var _T = "Tags";
var _TC = "TokenCode";
var _TIT = "TradeInToken";
var _TP = "TargetPrincipal";
var _TPA = "TaskPolicyArn";
var _TTK = "TransitiveTagKeys";
var _Ta = "Tag";
var _UI = "UserId";
var _V = "Value";
var _WIT = "WebIdentityToken";
var _a3 = "arn";
var _aKST = "accessKeySecretType";
var _aQE = "awsQueryError";
var _c = "client";
var _cTT = "clientTokenType";
var _e2 = "error";
var _hE = "httpError";
var _m = "message";
var _pDLT = "policyDescriptorListType";
var _s = "smithy.ts.sdk.synthetic.com.amazonaws.sts";
var _tITT = "tradeInTokenType";
var _tLT = "tagListType";
var _wITT = "webIdentityTokenType";
var n0 = "com.amazonaws.sts";
var schema_1 = require_schema();
var errors_1 = require_errors8();
var STSServiceException_1 = require_STSServiceException2();
var _s_registry = schema_1.TypeRegistry.for(_s);
exports.STSServiceException$ = [-3, _s, "STSServiceException", 0, [], []];
_s_registry.registerError(exports.STSServiceException$, STSServiceException_1.STSServiceException);
var n0_registry = schema_1.TypeRegistry.for(n0);
exports.ExpiredTokenException$ = [
-3,
n0,
_ETE,
{ [_aQE]: [`ExpiredTokenException`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ExpiredTokenException$, errors_1.ExpiredTokenException);
exports.ExpiredTradeInTokenException$ = [
-3,
n0,
_ETITE,
{ [_aQE]: [`ExpiredTradeInTokenException`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.ExpiredTradeInTokenException$, errors_1.ExpiredTradeInTokenException);
exports.IDPCommunicationErrorException$ = [
-3,
n0,
_IDPCEE,
{ [_aQE]: [`IDPCommunicationError`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.IDPCommunicationErrorException$, errors_1.IDPCommunicationErrorException);
exports.IDPRejectedClaimException$ = [
-3,
n0,
_IDPRCE,
{ [_aQE]: [`IDPRejectedClaim`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.IDPRejectedClaimException$, errors_1.IDPRejectedClaimException);
exports.InvalidAuthorizationMessageException$ = [
-3,
n0,
_IAME,
{ [_aQE]: [`InvalidAuthorizationMessageException`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.InvalidAuthorizationMessageException$, errors_1.InvalidAuthorizationMessageException);
exports.InvalidIdentityTokenException$ = [
-3,
n0,
_IITE,
{ [_aQE]: [`InvalidIdentityToken`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.InvalidIdentityTokenException$, errors_1.InvalidIdentityTokenException);
exports.JWTPayloadSizeExceededException$ = [
-3,
n0,
_JWTPSEE,
{ [_aQE]: [`JWTPayloadSizeExceededException`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.JWTPayloadSizeExceededException$, errors_1.JWTPayloadSizeExceededException);
exports.MalformedPolicyDocumentException$ = [
-3,
n0,
_MPDE,
{ [_aQE]: [`MalformedPolicyDocument`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.MalformedPolicyDocumentException$, errors_1.MalformedPolicyDocumentException);
exports.OutboundWebIdentityFederationDisabledException$ = [
-3,
n0,
_OWIFDE,
{ [_aQE]: [`OutboundWebIdentityFederationDisabledException`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.OutboundWebIdentityFederationDisabledException$, errors_1.OutboundWebIdentityFederationDisabledException);
exports.PackedPolicyTooLargeException$ = [
-3,
n0,
_PPTLE,
{ [_aQE]: [`PackedPolicyTooLarge`, 400], [_e2]: _c, [_hE]: 400 },
[_m],
[0]
];
n0_registry.registerError(exports.PackedPolicyTooLargeException$, errors_1.PackedPolicyTooLargeException);
exports.RegionDisabledException$ = [
-3,
n0,
_RDE,
{ [_aQE]: [`RegionDisabledException`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.RegionDisabledException$, errors_1.RegionDisabledException);
exports.SessionDurationEscalationException$ = [
-3,
n0,
_SDEE,
{ [_aQE]: [`SessionDurationEscalationException`, 403], [_e2]: _c, [_hE]: 403 },
[_m],
[0]
];
n0_registry.registerError(exports.SessionDurationEscalationException$, errors_1.SessionDurationEscalationException);
exports.errorTypeRegistries = [
_s_registry,
n0_registry
];
var accessKeySecretType = [0, n0, _aKST, 8, 0];
var clientTokenType = [0, n0, _cTT, 8, 0];
var SAMLAssertionType = [0, n0, _SAMLAT, 8, 0];
var tradeInTokenType = [0, n0, _tITT, 8, 0];
var webIdentityTokenType = [0, n0, _wITT, 8, 0];
exports.AssumedRoleUser$ = [
3,
n0,
_ARU,
0,
[_ARI, _A],
[0, 0],
2
];
exports.AssumeRoleRequest$ = [
3,
n0,
_ARR,
0,
[_RA, _RSN, _PA, _P, _DS, _T, _TTK, _EI, _SN, _TC, _SI, _PC],
[0, 0, () => policyDescriptorListType, 0, 1, () => tagListType, 64 | 0, 0, 0, 0, 0, () => ProvidedContextsListType],
2
];
exports.AssumeRoleResponse$ = [
3,
n0,
_ARRs,
0,
[_C, _ARU, _PPS, _SI],
[[() => exports.Credentials$, 0], () => exports.AssumedRoleUser$, 1, 0]
];
exports.AssumeRoleWithSAMLRequest$ = [
3,
n0,
_ARWSAMLR,
0,
[_RA, _PAr, _SAMLA, _PA, _P, _DS],
[0, 0, [() => SAMLAssertionType, 0], () => policyDescriptorListType, 0, 1],
3
];
exports.AssumeRoleWithSAMLResponse$ = [
3,
n0,
_ARWSAMLRs,
0,
[_C, _ARU, _PPS, _S, _ST, _I, _Au, _NQ, _SI],
[[() => exports.Credentials$, 0], () => exports.AssumedRoleUser$, 1, 0, 0, 0, 0, 0, 0]
];
exports.AssumeRoleWithWebIdentityRequest$ = [
3,
n0,
_ARWWIR,
0,
[_RA, _RSN, _WIT, _PI, _PA, _P, _DS],
[0, 0, [() => clientTokenType, 0], 0, () => policyDescriptorListType, 0, 1],
3
];
exports.AssumeRoleWithWebIdentityResponse$ = [
3,
n0,
_ARWWIRs,
0,
[_C, _SFWIT, _ARU, _PPS, _Pr, _Au, _SI],
[[() => exports.Credentials$, 0], 0, () => exports.AssumedRoleUser$, 1, 0, 0, 0]
];
exports.AssumeRootRequest$ = [
3,
n0,
_ARRss,
0,
[_TP, _TPA, _DS],
[0, () => exports.PolicyDescriptorType$, 1],
2
];
exports.AssumeRootResponse$ = [
3,
n0,
_ARRssu,
0,
[_C, _SI],
[[() => exports.Credentials$, 0], 0]
];
exports.Credentials$ = [
3,
n0,
_C,
0,
[_AKI, _SAK, _STe, _E],
[0, [() => accessKeySecretType, 0], 0, 4],
4
];
exports.DecodeAuthorizationMessageRequest$ = [
3,
n0,
_DAMR,
0,
[_EM],
[0],
1
];
exports.DecodeAuthorizationMessageResponse$ = [
3,
n0,
_DAMRe,
0,
[_DM],
[0]
];
exports.FederatedUser$ = [
3,
n0,
_FU,
0,
[_FUI, _A],
[0, 0],
2
];
exports.GetAccessKeyInfoRequest$ = [
3,
n0,
_GAKIR,
0,
[_AKI],
[0],
1
];
exports.GetAccessKeyInfoResponse$ = [
3,
n0,
_GAKIRe,
0,
[_Ac],
[0]
];
exports.GetCallerIdentityRequest$ = [
3,
n0,
_GCIR,
0,
[],
[]
];
exports.GetCallerIdentityResponse$ = [
3,
n0,
_GCIRe,
0,
[_UI, _Ac, _A],
[0, 0, 0]
];
exports.GetDelegatedAccessTokenRequest$ = [
3,
n0,
_GDATR,
0,
[_TIT],
[[() => tradeInTokenType, 0]],
1
];
exports.GetDelegatedAccessTokenResponse$ = [
3,
n0,
_GDATRe,
0,
[_C, _PPS, _AP],
[[() => exports.Credentials$, 0], 1, 0]
];
exports.GetFederationTokenRequest$ = [
3,
n0,
_GFTR,
0,
[_N, _P, _PA, _DS, _T],
[0, 0, () => policyDescriptorListType, 1, () => tagListType],
1
];
exports.GetFederationTokenResponse$ = [
3,
n0,
_GFTRe,
0,
[_C, _FU, _PPS],
[[() => exports.Credentials$, 0], () => exports.FederatedUser$, 1]
];
exports.GetSessionTokenRequest$ = [
3,
n0,
_GSTR,
0,
[_DS, _SN, _TC],
[1, 0, 0]
];
exports.GetSessionTokenResponse$ = [
3,
n0,
_GSTRe,
0,
[_C],
[[() => exports.Credentials$, 0]]
];
exports.GetWebIdentityTokenRequest$ = [
3,
n0,
_GWITR,
0,
[_Au, _SA, _DS, _T],
[64 | 0, 0, 1, () => tagListType],
2
];
exports.GetWebIdentityTokenResponse$ = [
3,
n0,
_GWITRe,
0,
[_WIT, _E],
[[() => webIdentityTokenType, 0], 4]
];
exports.PolicyDescriptorType$ = [
3,
n0,
_PDT,
0,
[_a3],
[0]
];
exports.ProvidedContext$ = [
3,
n0,
_PCr,
0,
[_PAro, _CA],
[0, 0]
];
exports.Tag$ = [
3,
n0,
_Ta,
0,
[_K, _V],
[0, 0],
2
];
var policyDescriptorListType = [
1,
n0,
_pDLT,
0,
() => exports.PolicyDescriptorType$
];
var ProvidedContextsListType = [
1,
n0,
_PCLT,
0,
() => exports.ProvidedContext$
];
var tagKeyListType = 64 | 0;
var tagListType = [
1,
n0,
_tLT,
0,
() => exports.Tag$
];
var webIdentityTokenAudienceListType = 64 | 0;
exports.AssumeRole$ = [
9,
n0,
_AR,
0,
() => exports.AssumeRoleRequest$,
() => exports.AssumeRoleResponse$
];
exports.AssumeRoleWithSAML$ = [
9,
n0,
_ARWSAML,
0,
() => exports.AssumeRoleWithSAMLRequest$,
() => exports.AssumeRoleWithSAMLResponse$
];
exports.AssumeRoleWithWebIdentity$ = [
9,
n0,
_ARWWI,
0,
() => exports.AssumeRoleWithWebIdentityRequest$,
() => exports.AssumeRoleWithWebIdentityResponse$
];
exports.AssumeRoot$ = [
9,
n0,
_ARs,
0,
() => exports.AssumeRootRequest$,
() => exports.AssumeRootResponse$
];
exports.DecodeAuthorizationMessage$ = [
9,
n0,
_DAM,
0,
() => exports.DecodeAuthorizationMessageRequest$,
() => exports.DecodeAuthorizationMessageResponse$
];
exports.GetAccessKeyInfo$ = [
9,
n0,
_GAKI,
0,
() => exports.GetAccessKeyInfoRequest$,
() => exports.GetAccessKeyInfoResponse$
];
exports.GetCallerIdentity$ = [
9,
n0,
_GCI,
0,
() => exports.GetCallerIdentityRequest$,
() => exports.GetCallerIdentityResponse$
];
exports.GetDelegatedAccessToken$ = [
9,
n0,
_GDAT,
0,
() => exports.GetDelegatedAccessTokenRequest$,
() => exports.GetDelegatedAccessTokenResponse$
];
exports.GetFederationToken$ = [
9,
n0,
_GFT,
0,
() => exports.GetFederationTokenRequest$,
() => exports.GetFederationTokenResponse$
];
exports.GetSessionToken$ = [
9,
n0,
_GST,
0,
() => exports.GetSessionTokenRequest$,
() => exports.GetSessionTokenResponse$
];
exports.GetWebIdentityToken$ = [
9,
n0,
_GWIT,
0,
() => exports.GetWebIdentityTokenRequest$,
() => exports.GetWebIdentityTokenResponse$
];
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js
var require_runtimeConfig_shared7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var httpAuthSchemes_1 = require_httpAuthSchemes();
var protocols_1 = require_protocols2();
var core_1 = require_dist_cjs25();
var smithy_client_1 = require_dist_cjs23();
var url_parser_1 = require_dist_cjs11();
var util_base64_1 = require_dist_cjs17();
var util_utf8_1 = require_dist_cjs16();
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider7();
var endpointResolver_1 = require_endpointResolver7();
var schemas_0_1 = require_schemas_07();
var getRuntimeConfig = (config2) => {
return {
apiVersion: "2011-06-15",
base64Decoder: config2?.base64Decoder ?? util_base64_1.fromBase64,
base64Encoder: config2?.base64Encoder ?? util_base64_1.toBase64,
disableHostPrefix: config2?.disableHostPrefix ?? false,
endpointProvider: config2?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
extensions: config2?.extensions ?? [],
httpAuthSchemeProvider: config2?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeProvider,
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
logger: config2?.logger ?? new smithy_client_1.NoOpLogger,
protocol: config2?.protocol ?? protocols_1.AwsQueryProtocol,
protocolSettings: config2?.protocolSettings ?? {
defaultNamespace: "com.amazonaws.sts",
errorTypeRegistries: schemas_0_1.errorTypeRegistries,
xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/",
version: "2011-06-15",
serviceTarget: "AWSSecurityTokenServiceV20110615"
},
serviceId: config2?.serviceId ?? "STS",
urlParser: config2?.urlParser ?? url_parser_1.parseUrl,
utf8Decoder: config2?.utf8Decoder ?? util_utf8_1.fromUtf8,
utf8Encoder: config2?.utf8Encoder ?? util_utf8_1.toUtf8
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js
var require_runtimeConfig7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRuntimeConfig = undefined;
var tslib_1 = require_tslib();
var package_json_1 = tslib_1.__importDefault(require_package4());
var client_1 = require_client2();
var httpAuthSchemes_1 = require_httpAuthSchemes();
var credential_provider_node_1 = require_dist_cjs54();
var util_user_agent_node_1 = require_dist_cjs41();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var hash_node_1 = require_dist_cjs42();
var middleware_retry_1 = require_dist_cjs40();
var node_config_provider_1 = require_dist_cjs9();
var node_http_handler_1 = require_dist_cjs5();
var smithy_client_1 = require_dist_cjs23();
var util_body_length_node_1 = require_dist_cjs43();
var util_defaults_mode_node_1 = require_dist_cjs44();
var util_retry_1 = require_dist_cjs33();
var runtimeConfig_shared_1 = require_runtimeConfig_shared7();
var getRuntimeConfig = (config2) => {
(0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);
const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config2);
const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);
const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config2);
(0, client_1.emitWarningIfUnsupportedVersion)(process.version);
const loaderConfig = {
profile: config2?.profile,
logger: clientSharedValues.logger
};
return {
...clientSharedValues,
...config2,
runtime: "node",
defaultsMode,
authSchemePreference: config2?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(httpAuthSchemes_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),
bodyLengthChecker: config2?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,
credentialDefaultProvider: config2?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider,
defaultUserAgentProvider: config2?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),
httpAuthSchemes: config2?.httpAuthSchemes ?? [
{
schemeId: "aws.auth#sigv4",
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4") || (async (idProps) => await (0, credential_provider_node_1.defaultProvider)(idProps?.__config || {})()),
signer: new httpAuthSchemes_1.AwsSdkSigV4Signer
},
{
schemeId: "smithy.api#noAuth",
identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
signer: new core_1.NoAuthSigner
}
],
maxAttempts: config2?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config2),
region: config2?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),
requestHandler: node_http_handler_1.NodeHttpHandler.create(config2?.requestHandler ?? defaultConfigProvider),
retryMode: config2?.retryMode ?? (0, node_config_provider_1.loadConfig)({
...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,
default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE
}, config2),
sha256: config2?.sha256 ?? hash_node_1.Hash.bind(null, "sha256"),
streamCollector: config2?.streamCollector ?? node_http_handler_1.streamCollector,
useDualstackEndpoint: config2?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
useFipsEndpoint: config2?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),
userAgentAppId: config2?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig)
};
};
exports.getRuntimeConfig = getRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthExtensionConfiguration.js
var require_httpAuthExtensionConfiguration2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHttpAuthRuntimeConfig = exports.getHttpAuthExtensionConfiguration = undefined;
var getHttpAuthExtensionConfiguration = (runtimeConfig) => {
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
let _credentials = runtimeConfig.credentials;
return {
setHttpAuthScheme(httpAuthScheme) {
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
if (index === -1) {
_httpAuthSchemes.push(httpAuthScheme);
} else {
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
}
},
httpAuthSchemes() {
return _httpAuthSchemes;
},
setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
_httpAuthSchemeProvider = httpAuthSchemeProvider;
},
httpAuthSchemeProvider() {
return _httpAuthSchemeProvider;
},
setCredentials(credentials) {
_credentials = credentials;
},
credentials() {
return _credentials;
}
};
};
exports.getHttpAuthExtensionConfiguration = getHttpAuthExtensionConfiguration;
var resolveHttpAuthRuntimeConfig = (config2) => {
return {
httpAuthSchemes: config2.httpAuthSchemes(),
httpAuthSchemeProvider: config2.httpAuthSchemeProvider(),
credentials: config2.credentials()
};
};
exports.resolveHttpAuthRuntimeConfig = resolveHttpAuthRuntimeConfig;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeExtensions.js
var require_runtimeExtensions2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveRuntimeExtensions = undefined;
var region_config_resolver_1 = require_dist_cjs47();
var protocol_http_1 = require_dist_cjs2();
var smithy_client_1 = require_dist_cjs23();
var httpAuthExtensionConfiguration_1 = require_httpAuthExtensionConfiguration2();
var resolveRuntimeExtensions = (runtimeConfig, extensions) => {
const extensionConfiguration = Object.assign((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig), (0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig), (0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig), (0, httpAuthExtensionConfiguration_1.getHttpAuthExtensionConfiguration)(runtimeConfig));
extensions.forEach((extension) => extension.configure(extensionConfiguration));
return Object.assign(runtimeConfig, (0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration), (0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration), (0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration), (0, httpAuthExtensionConfiguration_1.resolveHttpAuthRuntimeConfig)(extensionConfiguration));
};
exports.resolveRuntimeExtensions = resolveRuntimeExtensions;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js
var require_STSClient2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.STSClient = exports.__Client = undefined;
var middleware_host_header_1 = require_dist_cjs27();
var middleware_logger_1 = require_dist_cjs28();
var middleware_recursion_detection_1 = require_dist_cjs29();
var middleware_user_agent_1 = require_dist_cjs34();
var config_resolver_1 = require_dist_cjs36();
var core_1 = require_dist_cjs25();
var schema_1 = require_schema();
var middleware_content_length_1 = require_dist_cjs37();
var middleware_endpoint_1 = require_dist_cjs39();
var middleware_retry_1 = require_dist_cjs40();
var smithy_client_1 = require_dist_cjs23();
Object.defineProperty(exports, "__Client", { enumerable: true, get: function() {
return smithy_client_1.Client;
} });
var httpAuthSchemeProvider_1 = require_httpAuthSchemeProvider7();
var EndpointParameters_1 = require_EndpointParameters2();
var runtimeConfig_1 = require_runtimeConfig7();
var runtimeExtensions_1 = require_runtimeExtensions2();
class STSClient extends smithy_client_1.Client {
config;
constructor(...[configuration]) {
const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {});
super(_config_0);
this.initConfig = _config_0;
const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);
const _config_2 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_1);
const _config_3 = (0, middleware_retry_1.resolveRetryConfig)(_config_2);
const _config_4 = (0, config_resolver_1.resolveRegionConfig)(_config_3);
const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);
const _config_6 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_5);
const _config_7 = (0, httpAuthSchemeProvider_1.resolveHttpAuthSchemeConfig)(_config_6);
const _config_8 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_7, configuration?.extensions || []);
this.config = _config_8;
this.middlewareStack.use((0, schema_1.getSchemaSerdePlugin)(this.config));
this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));
this.middlewareStack.use((0, middleware_retry_1.getRetryPlugin)(this.config));
this.middlewareStack.use((0, middleware_content_length_1.getContentLengthPlugin)(this.config));
this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));
this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));
this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));
this.middlewareStack.use((0, core_1.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
httpAuthSchemeParametersProvider: httpAuthSchemeProvider_1.defaultSTSHttpAuthSchemeParametersProvider,
identityProviderConfigProvider: async (config2) => new core_1.DefaultIdentityProviderConfig({
"aws.auth#sigv4": config2.credentials
})
}));
this.middlewareStack.use((0, core_1.getHttpSigningPlugin)(this.config));
}
destroy() {
super.destroy();
}
}
exports.STSClient = STSClient;
});
// node_modules/.pnpm/@aws-sdk+client-sts@3.1020.0/node_modules/@aws-sdk/client-sts/dist-cjs/index.js
var require_dist_cjs69 = __commonJS((exports) => {
var STSClient = require_STSClient2();
var smithyClient = require_dist_cjs23();
var middlewareEndpoint = require_dist_cjs39();
var EndpointParameters = require_EndpointParameters2();
var schemas_0 = require_schemas_07();
var errors3 = require_errors8();
var client = require_client2();
var regionConfigResolver = require_dist_cjs47();
var STSServiceException = require_STSServiceException2();
class AssumeRoleCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRole", {}).n("STSClient", "AssumeRoleCommand").sc(schemas_0.AssumeRole$).build() {
}
class AssumeRoleWithSAMLCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithSAML", {}).n("STSClient", "AssumeRoleWithSAMLCommand").sc(schemas_0.AssumeRoleWithSAML$).build() {
}
class AssumeRoleWithWebIdentityCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRoleWithWebIdentity", {}).n("STSClient", "AssumeRoleWithWebIdentityCommand").sc(schemas_0.AssumeRoleWithWebIdentity$).build() {
}
class AssumeRootCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "AssumeRoot", {}).n("STSClient", "AssumeRootCommand").sc(schemas_0.AssumeRoot$).build() {
}
class DecodeAuthorizationMessageCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "DecodeAuthorizationMessage", {}).n("STSClient", "DecodeAuthorizationMessageCommand").sc(schemas_0.DecodeAuthorizationMessage$).build() {
}
class GetAccessKeyInfoCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetAccessKeyInfo", {}).n("STSClient", "GetAccessKeyInfoCommand").sc(schemas_0.GetAccessKeyInfo$).build() {
}
class GetCallerIdentityCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetCallerIdentity", {}).n("STSClient", "GetCallerIdentityCommand").sc(schemas_0.GetCallerIdentity$).build() {
}
class GetDelegatedAccessTokenCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetDelegatedAccessToken", {}).n("STSClient", "GetDelegatedAccessTokenCommand").sc(schemas_0.GetDelegatedAccessToken$).build() {
}
class GetFederationTokenCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetFederationToken", {}).n("STSClient", "GetFederationTokenCommand").sc(schemas_0.GetFederationToken$).build() {
}
class GetSessionTokenCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetSessionToken", {}).n("STSClient", "GetSessionTokenCommand").sc(schemas_0.GetSessionToken$).build() {
}
class GetWebIdentityTokenCommand extends smithyClient.Command.classBuilder().ep(EndpointParameters.commonParams).m(function(Command2, cs, config2, o2) {
return [middlewareEndpoint.getEndpointPlugin(config2, Command2.getEndpointParameterInstructions())];
}).s("AWSSecurityTokenServiceV20110615", "GetWebIdentityToken", {}).n("STSClient", "GetWebIdentityTokenCommand").sc(schemas_0.GetWebIdentityToken$).build() {
}
var commands = {
AssumeRoleCommand,
AssumeRoleWithSAMLCommand,
AssumeRoleWithWebIdentityCommand,
AssumeRootCommand,
DecodeAuthorizationMessageCommand,
GetAccessKeyInfoCommand,
GetCallerIdentityCommand,
GetDelegatedAccessTokenCommand,
GetFederationTokenCommand,
GetSessionTokenCommand,
GetWebIdentityTokenCommand
};
class STS extends STSClient.STSClient {
}
smithyClient.createAggregatedClient(commands, STS);
var getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
if (typeof assumedRoleUser?.Arn === "string") {
const arnComponents = assumedRoleUser.Arn.split(":");
if (arnComponents.length > 4 && arnComponents[4] !== "") {
return arnComponents[4];
}
}
return;
};
var resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
const region = typeof _region === "function" ? await _region() : _region;
const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
let stsDefaultRegion = "";
const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await regionConfigResolver.stsRegionDefaultResolver(loaderConfig)());
credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
return resolvedRegion;
};
var getDefaultRoleAssumer$1 = (stsOptions, STSClient2) => {
let stsClient;
let closureSourceCreds;
return async (sourceCreds, params) => {
closureSourceCreds = sourceCreds;
if (!stsClient) {
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
logger,
profile
});
const isCompatibleRequestHandler = !isH2(requestHandler);
stsClient = new STSClient2({
...stsOptions,
userAgentAppId,
profile,
credentialDefaultProvider: () => async () => closureSourceCreds,
region: resolvedRegion,
requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,
logger
});
}
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);
}
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
const credentials = {
accessKeyId: Credentials.AccessKeyId,
secretAccessKey: Credentials.SecretAccessKey,
sessionToken: Credentials.SessionToken,
expiration: Credentials.Expiration,
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
...accountId && { accountId }
};
client.setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE", "i");
return credentials;
};
};
var getDefaultRoleAssumerWithWebIdentity$1 = (stsOptions, STSClient2) => {
let stsClient;
return async (params) => {
if (!stsClient) {
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId } = stsOptions;
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
logger,
profile
});
const isCompatibleRequestHandler = !isH2(requestHandler);
stsClient = new STSClient2({
...stsOptions,
userAgentAppId,
profile,
region: resolvedRegion,
requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,
logger
});
}
const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));
if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {
throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);
}
const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);
const credentials = {
accessKeyId: Credentials.AccessKeyId,
secretAccessKey: Credentials.SecretAccessKey,
sessionToken: Credentials.SessionToken,
expiration: Credentials.Expiration,
...Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope },
...accountId && { accountId }
};
if (accountId) {
client.setCredentialFeature(credentials, "RESOLVED_ACCOUNT_ID", "T");
}
client.setCredentialFeature(credentials, "CREDENTIALS_STS_ASSUME_ROLE_WEB_ID", "k");
return credentials;
};
};
var isH2 = (requestHandler) => {
return requestHandler?.metadata?.handlerProtocol === "h2";
};
var getCustomizableStsClientCtor = (baseCtor, customizations) => {
if (!customizations)
return baseCtor;
else
return class CustomizableSTSClient extends baseCtor {
constructor(config2) {
super(config2);
for (const customization of customizations) {
this.middlewareStack.use(customization);
}
}
};
};
var getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumer$1(stsOptions, getCustomizableStsClientCtor(STSClient.STSClient, stsPlugins));
var getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => getDefaultRoleAssumerWithWebIdentity$1(stsOptions, getCustomizableStsClientCtor(STSClient.STSClient, stsPlugins));
var decorateDefaultCredentialProvider = (provider) => (input) => provider({
roleAssumer: getDefaultRoleAssumer(input),
roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input),
...input
});
exports.$Command = smithyClient.Command;
exports.STSServiceException = STSServiceException.STSServiceException;
exports.AssumeRoleCommand = AssumeRoleCommand;
exports.AssumeRoleWithSAMLCommand = AssumeRoleWithSAMLCommand;
exports.AssumeRoleWithWebIdentityCommand = AssumeRoleWithWebIdentityCommand;
exports.AssumeRootCommand = AssumeRootCommand;
exports.DecodeAuthorizationMessageCommand = DecodeAuthorizationMessageCommand;
exports.GetAccessKeyInfoCommand = GetAccessKeyInfoCommand;
exports.GetCallerIdentityCommand = GetCallerIdentityCommand;
exports.GetDelegatedAccessTokenCommand = GetDelegatedAccessTokenCommand;
exports.GetFederationTokenCommand = GetFederationTokenCommand;
exports.GetSessionTokenCommand = GetSessionTokenCommand;
exports.GetWebIdentityTokenCommand = GetWebIdentityTokenCommand;
exports.STS = STS;
exports.decorateDefaultCredentialProvider = decorateDefaultCredentialProvider;
exports.getDefaultRoleAssumer = getDefaultRoleAssumer;
exports.getDefaultRoleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity;
Object.prototype.hasOwnProperty.call(STSClient, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: STSClient["__proto__"]
});
Object.keys(STSClient).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = STSClient[k2];
});
Object.prototype.hasOwnProperty.call(schemas_0, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: schemas_0["__proto__"]
});
Object.keys(schemas_0).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = schemas_0[k2];
});
Object.prototype.hasOwnProperty.call(errors3, "__proto__") && !Object.prototype.hasOwnProperty.call(exports, "__proto__") && Object.defineProperty(exports, "__proto__", {
enumerable: true,
value: errors3["__proto__"]
});
Object.keys(errors3).forEach(function(k2) {
if (k2 !== "default" && !Object.prototype.hasOwnProperty.call(exports, k2))
exports[k2] = errors3[k2];
});
});
// src/utils/aws.ts
function isAwsCredentialsProviderError(err) {
return err?.name === "CredentialsProviderError";
}
function isValidAwsStsOutput(obj) {
if (!obj || typeof obj !== "object") {
return false;
}
const output = obj;
if (!output.Credentials || typeof output.Credentials !== "object") {
return false;
}
const credentials = output.Credentials;
return typeof credentials.AccessKeyId === "string" && typeof credentials.SecretAccessKey === "string" && typeof credentials.SessionToken === "string" && credentials.AccessKeyId.length > 0 && credentials.SecretAccessKey.length > 0 && credentials.SessionToken.length > 0;
}
async function checkStsCallerIdentity() {
const { STSClient, GetCallerIdentityCommand } = await Promise.resolve().then(() => __toESM(require_dist_cjs69(), 1));
await new STSClient().send(new GetCallerIdentityCommand({}));
}
async function clearAwsIniCache() {
try {
logForDebugging("Clearing AWS credential provider cache");
const { fromIni } = await import("@aws-sdk/credential-providers");
const iniProvider = fromIni({ ignoreCache: true });
await iniProvider();
logForDebugging("AWS credential provider cache refreshed");
} catch (_error) {
logForDebugging("Failed to clear AWS credential cache (this is expected if no credentials are configured)");
}
}
var init_aws = __esm(() => {
init_debug();
});
// src/utils/awsAuthStatusManager.ts
class AwsAuthStatusManager {
static instance = null;
status = {
isAuthenticating: false,
output: []
};
changed = createSignal();
static getInstance() {
if (!AwsAuthStatusManager.instance) {
AwsAuthStatusManager.instance = new AwsAuthStatusManager;
}
return AwsAuthStatusManager.instance;
}
getStatus() {
return {
...this.status,
output: [...this.status.output]
};
}
startAuthentication() {
this.status = {
isAuthenticating: true,
output: []
};
this.changed.emit(this.getStatus());
}
addOutput(line) {
this.status.output.push(line);
this.changed.emit(this.getStatus());
}
setError(error49) {
this.status.error = error49;
this.changed.emit(this.getStatus());
}
endAuthentication(success2) {
if (success2) {
this.status = {
isAuthenticating: false,
output: []
};
} else {
this.status.isAuthenticating = false;
}
this.changed.emit(this.getStatus());
}
subscribe = this.changed.subscribe;
static reset() {
if (AwsAuthStatusManager.instance) {
AwsAuthStatusManager.instance.changed.clear();
AwsAuthStatusManager.instance = null;
}
}
}
var init_awsAuthStatusManager = () => {};
// src/constants/betas.ts
var CLAUDE_CODE_20250219_BETA_HEADER = "claude-code-20250219", INTERLEAVED_THINKING_BETA_HEADER = "interleaved-thinking-2025-05-14", CONTEXT_1M_BETA_HEADER = "context-1m-2025-08-07", CONTEXT_MANAGEMENT_BETA_HEADER = "context-management-2025-06-27", STRUCTURED_OUTPUTS_BETA_HEADER = "structured-outputs-2025-12-15", WEB_SEARCH_BETA_HEADER = "web-search-2025-03-05", TOOL_SEARCH_BETA_HEADER_1P = "advanced-tool-use-2025-11-20", TOOL_SEARCH_BETA_HEADER_3P = "tool-search-tool-2025-10-19", EFFORT_BETA_HEADER = "effort-2025-11-24", TASK_BUDGETS_BETA_HEADER = "task-budgets-2026-03-13", PROMPT_CACHING_SCOPE_BETA_HEADER = "prompt-caching-scope-2026-01-05", FAST_MODE_BETA_HEADER = "fast-mode-2026-02-01", REDACT_THINKING_BETA_HEADER = "redact-thinking-2026-02-12", TOKEN_EFFICIENT_TOOLS_BETA_HEADER = "token-efficient-tools-2026-03-28", SUMMARIZE_CONNECTOR_TEXT_BETA_HEADER = "", AFK_MODE_BETA_HEADER = "", CLI_INTERNAL_BETA_HEADER, ADVISOR_BETA_HEADER = "advisor-tool-2026-03-01", BEDROCK_EXTRA_PARAMS_HEADERS, VERTEX_COUNT_TOKENS_ALLOWED_BETAS;
var init_betas = __esm(() => {
CLI_INTERNAL_BETA_HEADER = process.env.USER_TYPE === "ant" ? "cli-internal-2026-02-09" : "";
BEDROCK_EXTRA_PARAMS_HEADERS = new Set([
INTERLEAVED_THINKING_BETA_HEADER,
CONTEXT_1M_BETA_HEADER,
TOOL_SEARCH_BETA_HEADER_3P
]);
VERTEX_COUNT_TOKENS_ALLOWED_BETAS = new Set([
CLAUDE_CODE_20250219_BETA_HEADER,
INTERLEAVED_THINKING_BETA_HEADER,
CONTEXT_MANAGEMENT_BETA_HEADER
]);
});
// src/utils/fastMode.ts
function isFastModeEnabled() {
return !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_FAST_MODE);
}
function isFastModeAvailable() {
if (!isFastModeEnabled()) {
return false;
}
return getFastModeUnavailableReason() === null;
}
function getDisabledReasonMessage(disabledReason, authType) {
switch (disabledReason) {
case "free":
return authType === "oauth" ? "Fast mode requires a paid subscription" : "Fast mode unavailable during evaluation. Please purchase credits.";
case "preference":
return "Fast mode has been disabled by your organization";
case "extra_usage_disabled":
return "Fast mode requires extra usage billing · /extra-usage to enable";
case "network_error":
return "Fast mode unavailable due to network connectivity issues";
case "unknown":
return "Fast mode is currently unavailable";
}
}
function getFastModeUnavailableReason() {
if (!isFastModeEnabled()) {
return "Fast mode is not available";
}
const statigReason = getFeatureValue_CACHED_MAY_BE_STALE("tengu_penguins_off", null);
if (statigReason !== null) {
logForDebugging(`Fast mode unavailable: ${statigReason}`);
return statigReason;
}
if (!isInBundledMode() && getFeatureValue_CACHED_MAY_BE_STALE("tengu_marble_sandcastle", false)) {
return "Fast mode requires the native binary · Install from: https://claude.com/product/claude-code";
}
if (getIsNonInteractiveSession() && preferThirdPartyAuthentication() && !getKairosActive()) {
const flagFastMode = getSettingsForSource("flagSettings")?.fastMode;
if (!flagFastMode) {
const reason = "Fast mode is not available in the Agent SDK";
logForDebugging(`Fast mode unavailable: ${reason}`);
return reason;
}
}
if (getAPIProvider() !== "firstParty") {
const reason = "Fast mode is not available on Bedrock, Vertex, or Foundry";
logForDebugging(`Fast mode unavailable: ${reason}`);
return reason;
}
if (orgStatus.status === "disabled") {
if (orgStatus.reason === "network_error" || orgStatus.reason === "unknown") {
if (isEnvTruthy(process.env.CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS)) {
return null;
}
}
const authType = getClaudeAIOAuthTokens() !== null ? "oauth" : "api-key";
const reason = getDisabledReasonMessage(orgStatus.reason, authType);
logForDebugging(`Fast mode unavailable: ${reason}`);
return reason;
}
return null;
}
function getFastModeModel() {
return "opus" + (isOpus1mMergeEnabled() ? "[1m]" : "");
}
function getInitialFastModeSetting(model) {
if (!isFastModeEnabled()) {
return false;
}
if (!isFastModeAvailable()) {
return false;
}
if (!isFastModeSupportedByModel(model)) {
return false;
}
const settings = getInitialSettings();
if (settings.fastModePerSessionOptIn) {
return false;
}
return settings.fastMode === true;
}
function isFastModeSupportedByModel(modelSetting) {
if (!isFastModeEnabled()) {
return false;
}
const model = modelSetting ?? getDefaultMainLoopModelSetting();
const parsedModel = parseUserSpecifiedModel(model);
return parsedModel.toLowerCase().includes("opus-4-6");
}
function getFastModeRuntimeState() {
if (runtimeState.status === "cooldown" && Date.now() >= runtimeState.resetAt) {
if (isFastModeEnabled() && !hasLoggedCooldownExpiry) {
logForDebugging("Fast mode cooldown expired, re-enabling fast mode");
hasLoggedCooldownExpiry = true;
cooldownExpired.emit();
}
runtimeState = { status: "active" };
}
return runtimeState;
}
function triggerFastModeCooldown(resetTimestamp, reason) {
if (!isFastModeEnabled()) {
return;
}
runtimeState = { status: "cooldown", resetAt: resetTimestamp, reason };
hasLoggedCooldownExpiry = false;
const cooldownDurationMs = resetTimestamp - Date.now();
logForDebugging(`Fast mode cooldown triggered (${reason}), duration ${Math.round(cooldownDurationMs / 1000)}s`);
logEvent("tengu_fast_mode_fallback_triggered", {
cooldown_duration_ms: cooldownDurationMs,
cooldown_reason: reason
});
cooldownTriggered.emit(resetTimestamp, reason);
}
function clearFastModeCooldown() {
runtimeState = { status: "active" };
}
function handleFastModeRejectedByAPI() {
if (orgStatus.status === "disabled") {
return;
}
orgStatus = { status: "disabled", reason: "preference" };
updateSettingsForSource("userSettings", { fastMode: undefined });
saveGlobalConfig((current) => ({
...current,
penguinModeOrgEnabled: false
}));
orgFastModeChange.emit(false);
}
function getOverageDisabledMessage(reason) {
switch (reason) {
case "out_of_credits":
return "Fast mode disabled · extra usage credits exhausted";
case "org_level_disabled":
case "org_service_level_disabled":
return "Fast mode disabled · extra usage disabled by your organization";
case "org_level_disabled_until":
return "Fast mode disabled · extra usage spending cap reached";
case "member_level_disabled":
return "Fast mode disabled · extra usage disabled for your account";
case "seat_tier_level_disabled":
case "seat_tier_zero_credit_limit":
case "member_zero_credit_limit":
return "Fast mode disabled · extra usage not available for your plan";
case "overage_not_provisioned":
case "no_limits_configured":
return "Fast mode requires extra usage billing · /extra-usage to enable";
default:
return "Fast mode disabled · extra usage not available";
}
}
function isOutOfCreditsReason(reason) {
return reason === "org_level_disabled_until" || reason === "out_of_credits";
}
function handleFastModeOverageRejection(reason) {
const message = getOverageDisabledMessage(reason);
logForDebugging(`Fast mode overage rejection: ${reason ?? "unknown"} — ${message}`);
logEvent("tengu_fast_mode_overage_rejected", {
overage_disabled_reason: reason ?? "unknown"
});
if (!isOutOfCreditsReason(reason)) {
updateSettingsForSource("userSettings", { fastMode: undefined });
saveGlobalConfig((current) => ({
...current,
penguinModeOrgEnabled: false
}));
}
overageRejection.emit(message);
}
function isFastModeCooldown() {
return getFastModeRuntimeState().status === "cooldown";
}
function getFastModeState(model, fastModeUserEnabled) {
const enabled = isFastModeEnabled() && isFastModeAvailable() && !!fastModeUserEnabled && isFastModeSupportedByModel(model);
if (enabled && isFastModeCooldown()) {
return "cooldown";
}
if (enabled) {
return "on";
}
return "off";
}
async function fetchFastModeStatus(auth) {
const endpoint = `${getOauthConfig().BASE_API_URL}/api/claude_code_penguin_mode`;
const headers = "accessToken" in auth ? {
Authorization: `Bearer ${auth.accessToken}`,
"anthropic-beta": OAUTH_BETA_HEADER
} : { "x-api-key": auth.apiKey };
const response = await axios_default.get(endpoint, { headers });
return response.data;
}
function resolveFastModeStatusFromCache() {
if (!isFastModeEnabled()) {
return;
}
if (orgStatus.status !== "pending") {
return;
}
const isAnt = process.env.USER_TYPE === "ant";
const cachedEnabled = getGlobalConfig().penguinModeOrgEnabled === true;
orgStatus = isAnt || cachedEnabled ? { status: "enabled" } : { status: "disabled", reason: "unknown" };
}
async function prefetchFastModeStatus() {
if (isEssentialTrafficOnly()) {
return;
}
if (!isFastModeEnabled()) {
return;
}
if (inflightPrefetch) {
logForDebugging("Fast mode prefetch in progress, returning in-flight promise");
return inflightPrefetch;
}
const apiKey = getAnthropicApiKey();
const hasUsableOAuth = getClaudeAIOAuthTokens()?.accessToken && hasProfileScope();
if (!hasUsableOAuth && !apiKey) {
const isAnt = process.env.USER_TYPE === "ant";
const cachedEnabled = getGlobalConfig().penguinModeOrgEnabled === true;
orgStatus = isAnt || cachedEnabled ? { status: "enabled" } : { status: "disabled", reason: "preference" };
return;
}
const now = Date.now();
if (now - lastPrefetchAt < PREFETCH_MIN_INTERVAL_MS) {
logForDebugging("Skipping fast mode prefetch, fetched recently");
return;
}
lastPrefetchAt = now;
const fetchWithCurrentAuth = async () => {
const currentTokens = getClaudeAIOAuthTokens();
const auth = currentTokens?.accessToken && hasProfileScope() ? { accessToken: currentTokens.accessToken } : apiKey ? { apiKey } : null;
if (!auth) {
throw new Error("No auth available");
}
return fetchFastModeStatus(auth);
};
async function doFetch() {
try {
let status;
try {
status = await fetchWithCurrentAuth();
} catch (err) {
const isAuthError = axios_default.isAxiosError(err) && (err.response?.status === 401 || err.response?.status === 403 && typeof err.response?.data === "string" && err.response.data.includes("OAuth token has been revoked"));
if (isAuthError) {
const failedAccessToken = getClaudeAIOAuthTokens()?.accessToken;
if (failedAccessToken) {
await handleOAuth401Error(failedAccessToken);
status = await fetchWithCurrentAuth();
} else {
throw err;
}
} else {
throw err;
}
}
const previousEnabled = orgStatus.status !== "pending" ? orgStatus.status === "enabled" : getGlobalConfig().penguinModeOrgEnabled;
orgStatus = status.enabled ? { status: "enabled" } : {
status: "disabled",
reason: status.disabled_reason ?? "preference"
};
if (previousEnabled !== status.enabled) {
if (!status.enabled) {
updateSettingsForSource("userSettings", { fastMode: undefined });
}
saveGlobalConfig((current) => ({
...current,
penguinModeOrgEnabled: status.enabled
}));
orgFastModeChange.emit(status.enabled);
}
logForDebugging(`Org fast mode: ${status.enabled ? "enabled" : `disabled (${status.disabled_reason ?? "preference"})`}`);
} catch (err) {
const isAnt = process.env.USER_TYPE === "ant";
const cachedEnabled = getGlobalConfig().penguinModeOrgEnabled === true;
orgStatus = isAnt || cachedEnabled ? { status: "enabled" } : { status: "disabled", reason: "network_error" };
logForDebugging(`Failed to fetch org fast mode status, defaulting to ${orgStatus.status === "enabled" ? "enabled (cached)" : "disabled (network_error)"}: ${err}`, { level: "error" });
logEvent("tengu_org_penguin_mode_fetch_failed", {});
} finally {
inflightPrefetch = null;
}
}
inflightPrefetch = doFetch();
return inflightPrefetch;
}
var FAST_MODE_MODEL_DISPLAY = "Opus 4.6", runtimeState, hasLoggedCooldownExpiry = false, cooldownTriggered, cooldownExpired, onCooldownTriggered, onCooldownExpired, overageRejection, onFastModeOverageRejection, orgStatus, orgFastModeChange, onOrgFastModeChanged, PREFETCH_MIN_INTERVAL_MS = 30000, lastPrefetchAt = 0, inflightPrefetch = null;
var init_fastMode = __esm(() => {
init_axios2();
init_oauth();
init_growthbook();
init_state();
init_analytics();
init_auth2();
init_config();
init_debug();
init_envUtils();
init_model();
init_providers();
init_settings2();
runtimeState = { status: "active" };
cooldownTriggered = createSignal();
cooldownExpired = createSignal();
onCooldownTriggered = cooldownTriggered.subscribe;
onCooldownExpired = cooldownExpired.subscribe;
overageRejection = createSignal();
onFastModeOverageRejection = overageRejection.subscribe;
orgStatus = { status: "pending" };
orgFastModeChange = createSignal();
onOrgFastModeChanged = orgFastModeChange.subscribe;
});
// src/utils/modelCost.ts
function getOpus46CostTier(fastMode) {
if (isFastModeEnabled() && fastMode) {
return COST_TIER_30_150;
}
return COST_TIER_5_25;
}
function tokensToUSDCost(modelCosts, usage) {
return usage.input_tokens / 1e6 * modelCosts.inputTokens + usage.output_tokens / 1e6 * modelCosts.outputTokens + (usage.cache_read_input_tokens ?? 0) / 1e6 * modelCosts.promptCacheReadTokens + (usage.cache_creation_input_tokens ?? 0) / 1e6 * modelCosts.promptCacheWriteTokens + (usage.server_tool_use?.web_search_requests ?? 0) * modelCosts.webSearchRequests;
}
function getModelCosts(model, usage) {
const shortName = getCanonicalName(model);
if (shortName === firstPartyNameToCanonical(CLAUDE_OPUS_4_6_CONFIG.firstParty)) {
const isFastMode = usage.speed === "fast";
return getOpus46CostTier(isFastMode);
}
const costs = MODEL_COSTS[shortName];
if (!costs) {
trackUnknownModelCost(model, shortName);
return MODEL_COSTS[getCanonicalName(getDefaultMainLoopModelSetting())] ?? DEFAULT_UNKNOWN_MODEL_COST;
}
return costs;
}
function trackUnknownModelCost(model, shortName) {
logEvent("tengu_unknown_model_cost", {
model,
shortName
});
setHasUnknownModelCost();
}
function calculateUSDCost(resolvedModel, usage) {
const modelCosts = getModelCosts(resolvedModel, usage);
return tokensToUSDCost(modelCosts, usage);
}
function formatPrice(price) {
if (Number.isInteger(price)) {
return `$${price}`;
}
return `$${price.toFixed(2)}`;
}
function formatModelPricing(costs) {
return `${formatPrice(costs.inputTokens)}/${formatPrice(costs.outputTokens)} per Mtok`;
}
var COST_TIER_3_15, COST_TIER_15_75, COST_TIER_5_25, COST_TIER_30_150, COST_HAIKU_35, COST_HAIKU_45, DEFAULT_UNKNOWN_MODEL_COST, MODEL_COSTS;
var init_modelCost = __esm(() => {
init_analytics();
init_state();
init_fastMode();
init_configs();
init_model();
COST_TIER_3_15 = {
inputTokens: 3,
outputTokens: 15,
promptCacheWriteTokens: 3.75,
promptCacheReadTokens: 0.3,
webSearchRequests: 0.01
};
COST_TIER_15_75 = {
inputTokens: 15,
outputTokens: 75,
promptCacheWriteTokens: 18.75,
promptCacheReadTokens: 1.5,
webSearchRequests: 0.01
};
COST_TIER_5_25 = {
inputTokens: 5,
outputTokens: 25,
promptCacheWriteTokens: 6.25,
promptCacheReadTokens: 0.5,
webSearchRequests: 0.01
};
COST_TIER_30_150 = {
inputTokens: 30,
outputTokens: 150,
promptCacheWriteTokens: 37.5,
promptCacheReadTokens: 3,
webSearchRequests: 0.01
};
COST_HAIKU_35 = {
inputTokens: 0.8,
outputTokens: 4,
promptCacheWriteTokens: 1,
promptCacheReadTokens: 0.08,
webSearchRequests: 0.01
};
COST_HAIKU_45 = {
inputTokens: 1,
outputTokens: 5,
promptCacheWriteTokens: 1.25,
promptCacheReadTokens: 0.1,
webSearchRequests: 0.01
};
DEFAULT_UNKNOWN_MODEL_COST = COST_TIER_5_25;
MODEL_COSTS = {
[firstPartyNameToCanonical(CLAUDE_3_5_HAIKU_CONFIG.firstParty)]: COST_HAIKU_35,
[firstPartyNameToCanonical(CLAUDE_HAIKU_4_5_CONFIG.firstParty)]: COST_HAIKU_45,
[firstPartyNameToCanonical(CLAUDE_3_5_V2_SONNET_CONFIG.firstParty)]: COST_TIER_3_15,
[firstPartyNameToCanonical(CLAUDE_3_7_SONNET_CONFIG.firstParty)]: COST_TIER_3_15,
[firstPartyNameToCanonical(CLAUDE_SONNET_4_CONFIG.firstParty)]: COST_TIER_3_15,
[firstPartyNameToCanonical(CLAUDE_SONNET_4_5_CONFIG.firstParty)]: COST_TIER_3_15,
[firstPartyNameToCanonical(CLAUDE_SONNET_4_6_CONFIG.firstParty)]: COST_TIER_3_15,
[firstPartyNameToCanonical(CLAUDE_OPUS_4_CONFIG.firstParty)]: COST_TIER_15_75,
[firstPartyNameToCanonical(CLAUDE_OPUS_4_1_CONFIG.firstParty)]: COST_TIER_15_75,
[firstPartyNameToCanonical(CLAUDE_OPUS_4_5_CONFIG.firstParty)]: COST_TIER_5_25,
[firstPartyNameToCanonical(CLAUDE_OPUS_4_6_CONFIG.firstParty)]: COST_TIER_5_25
};
});
// src/utils/model/aliases.ts
function isModelAlias(modelInput) {
return MODEL_ALIASES.includes(modelInput);
}
function isModelFamilyAlias(model) {
return MODEL_FAMILY_ALIASES.includes(model);
}
var MODEL_ALIASES, MODEL_FAMILY_ALIASES;
var init_aliases = __esm(() => {
MODEL_ALIASES = [
"sonnet",
"opus",
"haiku",
"best",
"sonnet[1m]",
"opus[1m]",
"opusplan"
];
MODEL_FAMILY_ALIASES = ["sonnet", "opus", "haiku"];
});
// src/utils/model/modelAllowlist.ts
function modelBelongsToFamily(model, family) {
if (model.includes(family)) {
return true;
}
if (isModelAlias(model)) {
const resolved = parseUserSpecifiedModel(model).toLowerCase();
return resolved.includes(family);
}
return false;
}
function prefixMatchesModel(modelName, prefix) {
if (!modelName.startsWith(prefix)) {
return false;
}
return modelName.length === prefix.length || modelName[prefix.length] === "-";
}
function modelMatchesVersionPrefix(model, entry) {
const resolvedModel = isModelAlias(model) ? parseUserSpecifiedModel(model).toLowerCase() : model;
if (prefixMatchesModel(resolvedModel, entry)) {
return true;
}
if (!entry.startsWith("claude-") && prefixMatchesModel(resolvedModel, `claude-${entry}`)) {
return true;
}
return false;
}
function familyHasSpecificEntries(family, allowlist) {
for (const entry of allowlist) {
if (isModelFamilyAlias(entry)) {
continue;
}
const idx = entry.indexOf(family);
if (idx === -1) {
continue;
}
const afterFamily = idx + family.length;
if (afterFamily === entry.length || entry[afterFamily] === "-") {
return true;
}
}
return false;
}
function isModelAllowed(model) {
const settings = getSettings_DEPRECATED() || {};
const { availableModels } = settings;
if (!availableModels) {
return true;
}
if (availableModels.length === 0) {
return false;
}
const resolvedModel = resolveOverriddenModel(model);
const normalizedModel = resolvedModel.trim().toLowerCase();
const normalizedAllowlist = availableModels.map((m2) => m2.trim().toLowerCase());
if (normalizedAllowlist.includes(normalizedModel)) {
if (!isModelFamilyAlias(normalizedModel) || !familyHasSpecificEntries(normalizedModel, normalizedAllowlist)) {
return true;
}
}
for (const entry of normalizedAllowlist) {
if (isModelFamilyAlias(entry) && !familyHasSpecificEntries(entry, normalizedAllowlist) && modelBelongsToFamily(normalizedModel, entry)) {
return true;
}
}
if (isModelAlias(normalizedModel)) {
const resolved = parseUserSpecifiedModel(normalizedModel).toLowerCase();
if (normalizedAllowlist.includes(resolved)) {
return true;
}
}
for (const entry of normalizedAllowlist) {
if (!isModelFamilyAlias(entry) && isModelAlias(entry)) {
const resolved = parseUserSpecifiedModel(entry).toLowerCase();
if (resolved === normalizedModel) {
return true;
}
}
}
for (const entry of normalizedAllowlist) {
if (!isModelFamilyAlias(entry) && !isModelAlias(entry)) {
if (modelMatchesVersionPrefix(normalizedModel, entry)) {
return true;
}
}
}
return false;
}
var init_modelAllowlist = __esm(() => {
init_settings2();
init_aliases();
init_model();
init_modelStrings();
});
// src/utils/model/model.ts
var exports_model = {};
__export(exports_model, {
resolveSkillModelOverride: () => resolveSkillModelOverride,
renderModelSetting: () => renderModelSetting,
renderModelName: () => renderModelName,
renderDefaultModelSetting: () => renderDefaultModelSetting,
parseUserSpecifiedModel: () => parseUserSpecifiedModel,
normalizeModelStringForAPI: () => normalizeModelStringForAPI,
modelDisplayString: () => modelDisplayString,
isOpus1mMergeEnabled: () => isOpus1mMergeEnabled,
isNonCustomOpusModel: () => isNonCustomOpusModel,
isLegacyModelRemapEnabled: () => isLegacyModelRemapEnabled,
getUserSpecifiedModelSetting: () => getUserSpecifiedModelSetting,
getSmallFastModel: () => getSmallFastModel,
getRuntimeMainLoopModel: () => getRuntimeMainLoopModel,
getPublicModelName: () => getPublicModelName,
getPublicModelDisplayName: () => getPublicModelDisplayName,
getOpus46PricingSuffix: () => getOpus46PricingSuffix,
getMarketingNameForModel: () => getMarketingNameForModel,
getMainLoopModel: () => getMainLoopModel,
getDefaultSonnetModel: () => getDefaultSonnetModel,
getDefaultOpusModel: () => getDefaultOpusModel,
getDefaultMainLoopModelSetting: () => getDefaultMainLoopModelSetting,
getDefaultMainLoopModel: () => getDefaultMainLoopModel,
getDefaultHaikuModel: () => getDefaultHaikuModel,
getClaudeAiUserDefaultModelDescription: () => getClaudeAiUserDefaultModelDescription,
getCanonicalName: () => getCanonicalName,
getBestModel: () => getBestModel,
firstPartyNameToCanonical: () => firstPartyNameToCanonical
});
function getSmallFastModel() {
return process.env.ANTHROPIC_SMALL_FAST_MODEL || getDefaultHaikuModel();
}
function isNonCustomOpusModel(model) {
return model === getModelStrings2().opus40 || model === getModelStrings2().opus41 || model === getModelStrings2().opus45 || model === getModelStrings2().opus46;
}
function getUserSpecifiedModelSetting() {
let specifiedModel;
const modelOverride = getMainLoopModelOverride();
if (modelOverride !== undefined) {
specifiedModel = modelOverride;
} else {
const settings = getSettings_DEPRECATED() || {};
specifiedModel = process.env.ANTHROPIC_MODEL || settings.model || undefined;
}
if (specifiedModel && !isModelAllowed(specifiedModel)) {
return;
}
return specifiedModel;
}
function getMainLoopModel() {
const model = getUserSpecifiedModelSetting();
if (model !== undefined && model !== null) {
return parseUserSpecifiedModel(model);
}
return getDefaultMainLoopModel();
}
function getBestModel() {
return getDefaultOpusModel();
}
function getDefaultOpusModel() {
if (process.env.ANTHROPIC_DEFAULT_OPUS_MODEL) {
return process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
}
if (getAPIProvider() !== "firstParty") {
return getModelStrings2().opus46;
}
return getModelStrings2().opus46;
}
function getDefaultSonnetModel() {
if (process.env.ANTHROPIC_DEFAULT_SONNET_MODEL) {
return process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
}
if (getAPIProvider() !== "firstParty") {
return getModelStrings2().sonnet45;
}
return getModelStrings2().sonnet46;
}
function getDefaultHaikuModel() {
if (process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL) {
return process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
}
return getModelStrings2().haiku45;
}
function getRuntimeMainLoopModel(params) {
const { permissionMode, mainLoopModel, exceeds200kTokens = false } = params;
if (getUserSpecifiedModelSetting() === "opusplan" && permissionMode === "plan" && !exceeds200kTokens) {
return getDefaultOpusModel();
}
if (getUserSpecifiedModelSetting() === "haiku" && permissionMode === "plan") {
return getDefaultSonnetModel();
}
return mainLoopModel;
}
function getDefaultMainLoopModelSetting() {
if (process.env.USER_TYPE === "ant") {
return getAntModelOverrideConfig()?.defaultModel ?? getDefaultOpusModel() + "[1m]";
}
if (isMaxSubscriber()) {
return getDefaultOpusModel() + (isOpus1mMergeEnabled() ? "[1m]" : "");
}
if (isTeamPremiumSubscriber()) {
return getDefaultOpusModel() + (isOpus1mMergeEnabled() ? "[1m]" : "");
}
return getDefaultSonnetModel();
}
function getDefaultMainLoopModel() {
return parseUserSpecifiedModel(getDefaultMainLoopModelSetting());
}
function firstPartyNameToCanonical(name) {
name = name.toLowerCase();
if (name.includes("claude-opus-4-6")) {
return "claude-opus-4-6";
}
if (name.includes("claude-opus-4-5")) {
return "claude-opus-4-5";
}
if (name.includes("claude-opus-4-1")) {
return "claude-opus-4-1";
}
if (name.includes("claude-opus-4")) {
return "claude-opus-4";
}
if (name.includes("claude-sonnet-4-6")) {
return "claude-sonnet-4-6";
}
if (name.includes("claude-sonnet-4-5")) {
return "claude-sonnet-4-5";
}
if (name.includes("claude-sonnet-4")) {
return "claude-sonnet-4";
}
if (name.includes("claude-haiku-4-5")) {
return "claude-haiku-4-5";
}
if (name.includes("claude-3-7-sonnet")) {
return "claude-3-7-sonnet";
}
if (name.includes("claude-3-5-sonnet")) {
return "claude-3-5-sonnet";
}
if (name.includes("claude-3-5-haiku")) {
return "claude-3-5-haiku";
}
if (name.includes("claude-3-opus")) {
return "claude-3-opus";
}
if (name.includes("claude-3-sonnet")) {
return "claude-3-sonnet";
}
if (name.includes("claude-3-haiku")) {
return "claude-3-haiku";
}
const match = name.match(/(claude-(\d+-\d+-)?\w+)/);
if (match && match[1]) {
return match[1];
}
return name;
}
function getCanonicalName(fullModelName) {
return firstPartyNameToCanonical(resolveOverriddenModel(fullModelName));
}
function getClaudeAiUserDefaultModelDescription(fastMode = false) {
if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
if (isOpus1mMergeEnabled()) {
return `Opus 4.6 with 1M context · Most capable for complex work${fastMode ? getOpus46PricingSuffix(true) : ""}`;
}
return `Opus 4.6 · Most capable for complex work${fastMode ? getOpus46PricingSuffix(true) : ""}`;
}
return "Sonnet 4.6 · Best for everyday tasks";
}
function renderDefaultModelSetting(setting) {
if (setting === "opusplan") {
return "Opus 4.6 in plan mode, else Sonnet 4.6";
}
return renderModelName(parseUserSpecifiedModel(setting));
}
function getOpus46PricingSuffix(fastMode) {
if (getAPIProvider() !== "firstParty")
return "";
const pricing = formatModelPricing(getOpus46CostTier(fastMode));
const fastModeIndicator = fastMode ? ` (${LIGHTNING_BOLT})` : "";
return ` ·${fastModeIndicator} ${pricing}`;
}
function isOpus1mMergeEnabled() {
if (is1mContextDisabled() || isProSubscriber() || getAPIProvider() !== "firstParty") {
return false;
}
if (isClaudeAISubscriber() && getSubscriptionType() === null) {
return false;
}
return true;
}
function renderModelSetting(setting) {
if (setting === "opusplan") {
return "Opus Plan";
}
if (isModelAlias(setting)) {
return capitalize(setting);
}
return renderModelName(setting);
}
function getPublicModelDisplayName(model) {
switch (model) {
case getModelStrings2().opus46:
return "Opus 4.6";
case getModelStrings2().opus46 + "[1m]":
return "Opus 4.6 (1M context)";
case getModelStrings2().opus45:
return "Opus 4.5";
case getModelStrings2().opus41:
return "Opus 4.1";
case getModelStrings2().opus40:
return "Opus 4";
case getModelStrings2().sonnet46 + "[1m]":
return "Sonnet 4.6 (1M context)";
case getModelStrings2().sonnet46:
return "Sonnet 4.6";
case getModelStrings2().sonnet45 + "[1m]":
return "Sonnet 4.5 (1M context)";
case getModelStrings2().sonnet45:
return "Sonnet 4.5";
case getModelStrings2().sonnet40:
return "Sonnet 4";
case getModelStrings2().sonnet40 + "[1m]":
return "Sonnet 4 (1M context)";
case getModelStrings2().sonnet37:
return "Sonnet 3.7";
case getModelStrings2().sonnet35:
return "Sonnet 3.5";
case getModelStrings2().haiku45:
return "Haiku 4.5";
case getModelStrings2().haiku35:
return "Haiku 3.5";
default:
return null;
}
}
function maskModelCodename(baseName) {
const [codename = "", ...rest] = baseName.split("-");
const masked = codename.slice(0, 3) + "*".repeat(Math.max(0, codename.length - 3));
return [masked, ...rest].join("-");
}
function renderModelName(model) {
const publicName = getPublicModelDisplayName(model);
if (publicName) {
return publicName;
}
if (process.env.USER_TYPE === "ant") {
const resolved = parseUserSpecifiedModel(model);
const antModel = resolveAntModel(model);
if (antModel) {
const baseName = antModel.model.replace(/\[1m\]$/i, "");
const masked = maskModelCodename(baseName);
const suffix = has1mContext(resolved) ? "[1m]" : "";
return masked + suffix;
}
if (resolved !== model) {
return `${model} (${resolved})`;
}
return resolved;
}
return model;
}
function getPublicModelName(model) {
const publicName = getPublicModelDisplayName(model);
if (publicName) {
return `Claude ${publicName}`;
}
return `Claude (${model})`;
}
function parseUserSpecifiedModel(modelInput) {
const modelInputTrimmed = modelInput.trim();
const normalizedModel = modelInputTrimmed.toLowerCase();
const has1mTag = has1mContext(normalizedModel);
const modelString = has1mTag ? normalizedModel.replace(/\[1m]$/i, "").trim() : normalizedModel;
if (isModelAlias(modelString)) {
switch (modelString) {
case "opusplan":
return getDefaultSonnetModel() + (has1mTag ? "[1m]" : "");
case "sonnet":
return getDefaultSonnetModel() + (has1mTag ? "[1m]" : "");
case "haiku":
return getDefaultHaikuModel() + (has1mTag ? "[1m]" : "");
case "opus":
return getDefaultOpusModel() + (has1mTag ? "[1m]" : "");
case "best":
return getBestModel();
default:
}
}
if (getAPIProvider() === "firstParty" && isLegacyOpusFirstParty(modelString) && isLegacyModelRemapEnabled()) {
return getDefaultOpusModel() + (has1mTag ? "[1m]" : "");
}
if (process.env.USER_TYPE === "ant") {
const has1mAntTag = has1mContext(normalizedModel);
const baseAntModel = normalizedModel.replace(/\[1m]$/i, "").trim();
const antModel = resolveAntModel(baseAntModel);
if (antModel) {
const suffix = has1mAntTag ? "[1m]" : "";
return antModel.model + suffix;
}
}
if (has1mTag) {
return modelInputTrimmed.replace(/\[1m\]$/i, "").trim() + "[1m]";
}
return modelInputTrimmed;
}
function resolveSkillModelOverride(skillModel, currentModel) {
if (has1mContext(skillModel) || !has1mContext(currentModel)) {
return skillModel;
}
if (modelSupports1M(parseUserSpecifiedModel(skillModel))) {
return skillModel + "[1m]";
}
return skillModel;
}
function isLegacyOpusFirstParty(model) {
return LEGACY_OPUS_FIRSTPARTY.includes(model);
}
function isLegacyModelRemapEnabled() {
return !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP);
}
function modelDisplayString(model) {
if (model === null) {
if (process.env.USER_TYPE === "ant") {
return `Default for Ants (${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})`;
} else if (isClaudeAISubscriber()) {
return `Default (${getClaudeAiUserDefaultModelDescription()})`;
}
return `Default (${getDefaultMainLoopModel()})`;
}
const resolvedModel = parseUserSpecifiedModel(model);
return model === resolvedModel ? resolvedModel : `${model} (${resolvedModel})`;
}
function getMarketingNameForModel(modelId) {
if (getAPIProvider() === "foundry") {
return;
}
const has1m = modelId.toLowerCase().includes("[1m]");
const canonical = getCanonicalName(modelId);
if (canonical.includes("claude-opus-4-6")) {
return has1m ? "Opus 4.6 (with 1M context)" : "Opus 4.6";
}
if (canonical.includes("claude-opus-4-5")) {
return "Opus 4.5";
}
if (canonical.includes("claude-opus-4-1")) {
return "Opus 4.1";
}
if (canonical.includes("claude-opus-4")) {
return "Opus 4";
}
if (canonical.includes("claude-sonnet-4-6")) {
return has1m ? "Sonnet 4.6 (with 1M context)" : "Sonnet 4.6";
}
if (canonical.includes("claude-sonnet-4-5")) {
return has1m ? "Sonnet 4.5 (with 1M context)" : "Sonnet 4.5";
}
if (canonical.includes("claude-sonnet-4")) {
return has1m ? "Sonnet 4 (with 1M context)" : "Sonnet 4";
}
if (canonical.includes("claude-3-7-sonnet")) {
return "Claude 3.7 Sonnet";
}
if (canonical.includes("claude-3-5-sonnet")) {
return "Claude 3.5 Sonnet";
}
if (canonical.includes("claude-haiku-4-5")) {
return "Haiku 4.5";
}
if (canonical.includes("claude-3-5-haiku")) {
return "Claude 3.5 Haiku";
}
return;
}
function normalizeModelStringForAPI(model) {
return model.replace(/\[(1|2)m\]/gi, "");
}
var LEGACY_OPUS_FIRSTPARTY;
var init_model = __esm(() => {
init_state();
init_auth2();
init_context();
init_envUtils();
init_modelStrings();
init_modelCost();
init_settings2();
init_providers();
init_figures2();
init_modelAllowlist();
init_aliases();
init_stringUtils();
LEGACY_OPUS_FIRSTPARTY = [
"claude-opus-4-20250514",
"claude-opus-4-1-20250805",
"claude-opus-4-0",
"claude-opus-4-1"
];
});
// node_modules/.pnpm/@aws-crypto+sha256-js@5.2.0/node_modules/@aws-crypto/sha256-js/build/main/constants.js
var require_constants7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.MAX_HASHABLE_LENGTH = exports.INIT = exports.KEY = exports.DIGEST_LENGTH = exports.BLOCK_SIZE = undefined;
exports.BLOCK_SIZE = 64;
exports.DIGEST_LENGTH = 32;
exports.KEY = new Uint32Array([
1116352408,
1899447441,
3049323471,
3921009573,
961987163,
1508970993,
2453635748,
2870763221,
3624381080,
310598401,
607225278,
1426881987,
1925078388,
2162078206,
2614888103,
3248222580,
3835390401,
4022224774,
264347078,
604807628,
770255983,
1249150122,
1555081692,
1996064986,
2554220882,
2821834349,
2952996808,
3210313671,
3336571891,
3584528711,
113926993,
338241895,
666307205,
773529912,
1294757372,
1396182291,
1695183700,
1986661051,
2177026350,
2456956037,
2730485921,
2820302411,
3259730800,
3345764771,
3516065817,
3600352804,
4094571909,
275423344,
430227734,
506948616,
659060556,
883997877,
958139571,
1322822218,
1537002063,
1747873779,
1955562222,
2024104815,
2227730452,
2361852424,
2428436474,
2756734187,
3204031479,
3329325298
]);
exports.INIT = [
1779033703,
3144134277,
1013904242,
2773480762,
1359893119,
2600822924,
528734635,
1541459225
];
exports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;
});
// node_modules/.pnpm/@aws-crypto+sha256-js@5.2.0/node_modules/@aws-crypto/sha256-js/build/main/RawSha256.js
var require_RawSha256 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.RawSha256 = undefined;
var constants_1 = require_constants7();
var RawSha256 = function() {
function RawSha2562() {
this.state = Int32Array.from(constants_1.INIT);
this.temp = new Int32Array(64);
this.buffer = new Uint8Array(64);
this.bufferLength = 0;
this.bytesHashed = 0;
this.finished = false;
}
RawSha2562.prototype.update = function(data) {
if (this.finished) {
throw new Error("Attempted to update an already finished hash.");
}
var position = 0;
var byteLength = data.byteLength;
this.bytesHashed += byteLength;
if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {
throw new Error("Cannot hash more than 2^53 - 1 bits");
}
while (byteLength > 0) {
this.buffer[this.bufferLength++] = data[position++];
byteLength--;
if (this.bufferLength === constants_1.BLOCK_SIZE) {
this.hashBuffer();
this.bufferLength = 0;
}
}
};
RawSha2562.prototype.digest = function() {
if (!this.finished) {
var bitsHashed = this.bytesHashed * 8;
var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);
var undecoratedLength = this.bufferLength;
bufferView.setUint8(this.bufferLength++, 128);
if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {
for (var i2 = this.bufferLength;i2 < constants_1.BLOCK_SIZE; i2++) {
bufferView.setUint8(i2, 0);
}
this.hashBuffer();
this.bufferLength = 0;
}
for (var i2 = this.bufferLength;i2 < constants_1.BLOCK_SIZE - 8; i2++) {
bufferView.setUint8(i2, 0);
}
bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 4294967296), true);
bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);
this.hashBuffer();
this.finished = true;
}
var out = new Uint8Array(constants_1.DIGEST_LENGTH);
for (var i2 = 0;i2 < 8; i2++) {
out[i2 * 4] = this.state[i2] >>> 24 & 255;
out[i2 * 4 + 1] = this.state[i2] >>> 16 & 255;
out[i2 * 4 + 2] = this.state[i2] >>> 8 & 255;
out[i2 * 4 + 3] = this.state[i2] >>> 0 & 255;
}
return out;
};
RawSha2562.prototype.hashBuffer = function() {
var _a3 = this, buffer = _a3.buffer, state = _a3.state;
var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];
for (var i2 = 0;i2 < constants_1.BLOCK_SIZE; i2++) {
if (i2 < 16) {
this.temp[i2] = (buffer[i2 * 4] & 255) << 24 | (buffer[i2 * 4 + 1] & 255) << 16 | (buffer[i2 * 4 + 2] & 255) << 8 | buffer[i2 * 4 + 3] & 255;
} else {
var u4 = this.temp[i2 - 2];
var t1_1 = (u4 >>> 17 | u4 << 15) ^ (u4 >>> 19 | u4 << 13) ^ u4 >>> 10;
u4 = this.temp[i2 - 15];
var t2_1 = (u4 >>> 7 | u4 << 25) ^ (u4 >>> 18 | u4 << 14) ^ u4 >>> 3;
this.temp[i2] = (t1_1 + this.temp[i2 - 7] | 0) + (t2_1 + this.temp[i2 - 16] | 0);
}
var t1 = (((state4 >>> 6 | state4 << 26) ^ (state4 >>> 11 | state4 << 21) ^ (state4 >>> 25 | state4 << 7)) + (state4 & state5 ^ ~state4 & state6) | 0) + (state7 + (constants_1.KEY[i2] + this.temp[i2] | 0) | 0) | 0;
var t2 = ((state0 >>> 2 | state0 << 30) ^ (state0 >>> 13 | state0 << 19) ^ (state0 >>> 22 | state0 << 10)) + (state0 & state1 ^ state0 & state2 ^ state1 & state2) | 0;
state7 = state6;
state6 = state5;
state5 = state4;
state4 = state3 + t1 | 0;
state3 = state2;
state2 = state1;
state1 = state0;
state0 = t1 + t2 | 0;
}
state[0] += state0;
state[1] += state1;
state[2] += state2;
state[3] += state3;
state[4] += state4;
state[5] += state5;
state[6] += state6;
state[7] += state7;
};
return RawSha2562;
}();
exports.RawSha256 = RawSha256;
});
// node_modules/.pnpm/@aws-crypto+sha256-js@5.2.0/node_modules/@aws-crypto/sha256-js/build/main/jsSha256.js
var require_jsSha256 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Sha256 = undefined;
var tslib_1 = require_tslib();
var constants_1 = require_constants7();
var RawSha256_1 = require_RawSha256();
var util_1 = require_main();
var Sha256 = function() {
function Sha2562(secret) {
this.secret = secret;
this.hash = new RawSha256_1.RawSha256;
this.reset();
}
Sha2562.prototype.update = function(toHash) {
if ((0, util_1.isEmptyData)(toHash) || this.error) {
return;
}
try {
this.hash.update((0, util_1.convertToBuffer)(toHash));
} catch (e) {
this.error = e;
}
};
Sha2562.prototype.digestSync = function() {
if (this.error) {
throw this.error;
}
if (this.outer) {
if (!this.outer.finished) {
this.outer.update(this.hash.digest());
}
return this.outer.digest();
}
return this.hash.digest();
};
Sha2562.prototype.digest = function() {
return tslib_1.__awaiter(this, undefined, undefined, function() {
return tslib_1.__generator(this, function(_a3) {
return [2, this.digestSync()];
});
});
};
Sha2562.prototype.reset = function() {
this.hash = new RawSha256_1.RawSha256;
if (this.secret) {
this.outer = new RawSha256_1.RawSha256;
var inner = bufferFromSecret(this.secret);
var outer = new Uint8Array(constants_1.BLOCK_SIZE);
outer.set(inner);
for (var i2 = 0;i2 < constants_1.BLOCK_SIZE; i2++) {
inner[i2] ^= 54;
outer[i2] ^= 92;
}
this.hash.update(inner);
this.outer.update(outer);
for (var i2 = 0;i2 < inner.byteLength; i2++) {
inner[i2] = 0;
}
}
};
return Sha2562;
}();
exports.Sha256 = Sha256;
function bufferFromSecret(secret) {
var input = (0, util_1.convertToBuffer)(secret);
if (input.byteLength > constants_1.BLOCK_SIZE) {
var bufferHash = new RawSha256_1.RawSha256;
bufferHash.update(input);
input = bufferHash.digest();
}
var buffer = new Uint8Array(constants_1.BLOCK_SIZE);
buffer.set(input);
return buffer;
}
});
// node_modules/.pnpm/@aws-crypto+sha256-js@5.2.0/node_modules/@aws-crypto/sha256-js/build/main/index.js
var require_main3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require_tslib();
tslib_1.__exportStar(require_jsSha256(), exports);
});
// node_modules/@anthropic-ai/bedrock-sdk/core/auth.mjs
import assert3 from "assert";
var import_sha256_js, import_fetch_http_handler, import_protocol_http, import_signature_v4, DEFAULT_PROVIDER_CHAIN_RESOLVER = () => import("@aws-sdk/credential-providers").then(({ fromNodeProviderChain }) => fromNodeProviderChain({
clientConfig: {
requestHandler: new import_fetch_http_handler.FetchHttpHandler({
requestInit: (httpRequest) => {
return {
...httpRequest
};
}
})
}
})).catch((error49) => {
throw new Error(`Failed to import '@aws-sdk/credential-providers'.You can provide a custom \`providerChainResolver\` in the client options if your runtime does not have access to '@aws-sdk/credential-providers': \`new AnthropicBedrock({ providerChainResolver })\` Original error: ${error49.message}`);
}), getAuthHeaders = async (req, props) => {
assert3(req.method, "Expected request method property to be set");
const providerChain = await (props.providerChainResolver ? props.providerChainResolver() : DEFAULT_PROVIDER_CHAIN_RESOLVER());
const credentials = await withTempEnv(() => {
if (props.awsAccessKey) {
process.env["AWS_ACCESS_KEY_ID"] = props.awsAccessKey;
}
if (props.awsSecretKey) {
process.env["AWS_SECRET_ACCESS_KEY"] = props.awsSecretKey;
}
if (props.awsSessionToken) {
process.env["AWS_SESSION_TOKEN"] = props.awsSessionToken;
}
}, () => providerChain());
const signer = new import_signature_v4.SignatureV4({
service: "bedrock",
region: props.regionName,
credentials,
sha256: import_sha256_js.Sha256
});
const url3 = new URL(props.url);
const headers = !req.headers ? {} : (Symbol.iterator in req.headers) ? Object.fromEntries(Array.from(req.headers).map((header) => [...header])) : { ...req.headers };
delete headers["connection"];
headers["host"] = url3.hostname;
const request = new import_protocol_http.HttpRequest({
method: req.method.toUpperCase(),
protocol: url3.protocol,
path: url3.pathname,
headers,
body: req.body
});
const signed = await signer.sign(request);
return signed.headers;
}, withTempEnv = async (updateEnv, fn) => {
const previousEnv = { ...process.env };
try {
updateEnv();
return await fn();
} finally {
process.env = previousEnv;
}
};
var init_auth = __esm(() => {
import_sha256_js = __toESM(require_main3(), 1);
import_fetch_http_handler = __toESM(require_dist_cjs18(), 1);
import_protocol_http = __toESM(require_dist_cjs2(), 1);
import_signature_v4 = __toESM(require_dist_cjs26(), 1);
});
// node_modules/@anthropic-ai/bedrock-sdk/AWS_restJson1.mjs
var import_smithy_client, import_client_bedrock_runtime, de_InternalServerExceptionRes = async (parsedOutput, context) => {
const contents = import_smithy_client.map({});
const data = parsedOutput.body;
const doc2 = import_smithy_client.take(data, {
message: import_smithy_client.expectString
});
Object.assign(contents, doc2);
const exception = new import_client_bedrock_runtime.InternalServerException({
$metadata: deserializeMetadata(parsedOutput),
...contents
});
return import_smithy_client.decorateServiceException(exception, parsedOutput.body);
}, de_ModelStreamErrorExceptionRes = async (parsedOutput, context) => {
const contents = import_smithy_client.map({});
const data = parsedOutput.body;
const doc2 = import_smithy_client.take(data, {
message: import_smithy_client.expectString,
originalMessage: import_smithy_client.expectString,
originalStatusCode: import_smithy_client.expectInt32
});
Object.assign(contents, doc2);
const exception = new import_client_bedrock_runtime.ModelStreamErrorException({
$metadata: deserializeMetadata(parsedOutput),
...contents
});
return import_smithy_client.decorateServiceException(exception, parsedOutput.body);
}, de_ThrottlingExceptionRes = async (parsedOutput, context) => {
const contents = import_smithy_client.map({});
const data = parsedOutput.body;
const doc2 = import_smithy_client.take(data, {
message: import_smithy_client.expectString
});
Object.assign(contents, doc2);
const exception = new import_client_bedrock_runtime.ThrottlingException({
$metadata: deserializeMetadata(parsedOutput),
...contents
});
return import_smithy_client.decorateServiceException(exception, parsedOutput.body);
}, de_ValidationExceptionRes = async (parsedOutput, context) => {
const contents = import_smithy_client.map({});
const data = parsedOutput.body;
const doc2 = import_smithy_client.take(data, {
message: import_smithy_client.expectString
});
Object.assign(contents, doc2);
const exception = new import_client_bedrock_runtime.ValidationException({
$metadata: deserializeMetadata(parsedOutput),
...contents
});
return import_smithy_client.decorateServiceException(exception, parsedOutput.body);
}, de_ResponseStream = (output, context) => {
return context.eventStreamMarshaller.deserialize(output, async (event) => {
if (event["chunk"] != null) {
return {
chunk: await de_PayloadPart_event(event["chunk"], context)
};
}
if (event["internalServerException"] != null) {
return {
internalServerException: await de_InternalServerException_event(event["internalServerException"], context)
};
}
if (event["modelStreamErrorException"] != null) {
return {
modelStreamErrorException: await de_ModelStreamErrorException_event(event["modelStreamErrorException"], context)
};
}
if (event["validationException"] != null) {
return {
validationException: await de_ValidationException_event(event["validationException"], context)
};
}
if (event["throttlingException"] != null) {
return {
throttlingException: await de_ThrottlingException_event(event["throttlingException"], context)
};
}
return { $unknown: output };
});
}, de_InternalServerException_event = async (output, context) => {
const parsedOutput = {
...output,
body: await parseBody(output.body, context)
};
return de_InternalServerExceptionRes(parsedOutput, context);
}, de_ModelStreamErrorException_event = async (output, context) => {
const parsedOutput = {
...output,
body: await parseBody(output.body, context)
};
return de_ModelStreamErrorExceptionRes(parsedOutput, context);
}, de_PayloadPart_event = async (output, context) => {
const contents = {};
const data = await parseBody(output.body, context);
Object.assign(contents, de_PayloadPart(data, context));
return contents;
}, de_ThrottlingException_event = async (output, context) => {
const parsedOutput = {
...output,
body: await parseBody(output.body, context)
};
return de_ThrottlingExceptionRes(parsedOutput, context);
}, de_ValidationException_event = async (output, context) => {
const parsedOutput = {
...output,
body: await parseBody(output.body, context)
};
return de_ValidationExceptionRes(parsedOutput, context);
}, de_PayloadPart = (output, context) => {
return import_smithy_client.take(output, {
bytes: context.base64Decoder
});
}, deserializeMetadata = (output) => ({
httpStatusCode: output.statusCode,
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"] ?? "",
extendedRequestId: output.headers["x-amz-id-2"] ?? "",
cfId: output.headers["x-amz-cf-id"] ?? ""
}), collectBodyString = (streamBody, context) => import_smithy_client.collectBody(streamBody, context).then((body) => context.utf8Encoder(body)), parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
if (encoded.length) {
return JSON.parse(encoded);
}
return {};
});
var init_AWS_restJson1 = __esm(() => {
import_smithy_client = __toESM(require_dist_cjs23(), 1);
import_client_bedrock_runtime = __toESM(require_dist_cjs68(), 1);
});
// node_modules/@anthropic-ai/bedrock-sdk/internal/shims.mjs
function ReadableStreamToAsyncIterable2(stream4) {
if (stream4[Symbol.asyncIterator])
return stream4;
const reader = stream4.getReader();
return {
async next() {
try {
const result = await reader.read();
if (result?.done)
reader.releaseLock();
return result;
} catch (e) {
reader.releaseLock();
throw e;
}
},
async return() {
const cancelPromise = reader.cancel();
reader.releaseLock();
await cancelPromise;
return { done: true, value: undefined };
},
[Symbol.asyncIterator]() {
return this;
}
};
}
// node_modules/@anthropic-ai/bedrock-sdk/core/error.mjs
var init_error4 = __esm(() => {
init_error();
});
// node_modules/@anthropic-ai/bedrock-sdk/internal/utils/values.mjs
function isObj2(obj) {
return obj != null && typeof obj === "object" && !Array.isArray(obj);
}
var isArray4 = (val) => (isArray4 = Array.isArray, isArray4(val)), isReadonlyArray2, safeJSON2 = (text) => {
try {
return JSON.parse(text);
} catch (err) {
return;
}
};
var init_values3 = __esm(() => {
init_error4();
isReadonlyArray2 = isArray4;
});
// node_modules/@anthropic-ai/bedrock-sdk/internal/utils/log.mjs
function noop7() {}
function makeLogFn2(fnLevel, logger, logLevel) {
if (!logger || levelNumbers2[fnLevel] > levelNumbers2[logLevel]) {
return noop7;
} else {
return logger[fnLevel].bind(logger);
}
}
function loggerFor2(client) {
const logger = client.logger;
const logLevel = client.logLevel ?? "off";
if (!logger) {
return noopLogger2;
}
const cachedLogger = cachedLoggers2.get(logger);
if (cachedLogger && cachedLogger[0] === logLevel) {
return cachedLogger[1];
}
const levelLogger = {
error: makeLogFn2("error", logger, logLevel),
warn: makeLogFn2("warn", logger, logLevel),
info: makeLogFn2("info", logger, logLevel),
debug: makeLogFn2("debug", logger, logLevel)
};
cachedLoggers2.set(logger, [logLevel, levelLogger]);
return levelLogger;
}
var levelNumbers2, noopLogger2, cachedLoggers2;
var init_log4 = __esm(() => {
init_values3();
levelNumbers2 = {
off: 0,
error: 200,
warn: 300,
info: 400,
debug: 500
};
noopLogger2 = {
error: noop7,
warn: noop7,
info: noop7,
debug: noop7
};
cachedLoggers2 = /* @__PURE__ */ new WeakMap;
});
// node_modules/@anthropic-ai/bedrock-sdk/core/streaming.mjs
function isAbortError4(err) {
return typeof err === "object" && err !== null && (("name" in err) && err.name === "AbortError" || ("message" in err) && String(err.message).includes("FetchRequestCanceledException"));
}
var import_eventstream_serde_node, import_util_base64, import_fetch_http_handler2, toUtf8 = (input) => new TextDecoder("utf-8").decode(input), fromUtf8 = (input) => new TextEncoder().encode(input), getMinimalSerdeContext = () => {
const marshaller = new import_eventstream_serde_node.EventStreamMarshaller({ utf8Encoder: toUtf8, utf8Decoder: fromUtf8 });
return {
base64Decoder: import_util_base64.fromBase64,
base64Encoder: import_util_base64.toBase64,
utf8Decoder: fromUtf8,
utf8Encoder: toUtf8,
eventStreamMarshaller: marshaller,
streamCollector: import_fetch_http_handler2.streamCollector
};
}, Stream2;
var init_streaming4 = __esm(() => {
init_streaming2();
init_error2();
init_sdk();
init_AWS_restJson1();
init_values3();
init_log4();
import_eventstream_serde_node = __toESM(require_dist_cjs67(), 1);
import_util_base64 = __toESM(require_dist_cjs17(), 1);
import_fetch_http_handler2 = __toESM(require_dist_cjs18(), 1);
Stream2 = class Stream2 extends Stream {
static fromSSEResponse(response, controller, client) {
let consumed = false;
const logger = client ? loggerFor2(client) : console;
async function* iterMessages() {
if (!response.body) {
controller.abort();
throw new AnthropicError(`Attempted to iterate over a response with no body`);
}
const responseBodyIter = ReadableStreamToAsyncIterable2(response.body);
const eventStream = de_ResponseStream(responseBodyIter, getMinimalSerdeContext());
for await (const event of eventStream) {
if (event.chunk && event.chunk.bytes) {
const s = toUtf8(event.chunk.bytes);
yield { event: "chunk", data: s, raw: [] };
} else if (event.internalServerException) {
yield { event: "error", data: "InternalServerException", raw: [] };
} else if (event.modelStreamErrorException) {
yield { event: "error", data: "ModelStreamErrorException", raw: [] };
} else if (event.validationException) {
yield { event: "error", data: "ValidationException", raw: [] };
} else if (event.throttlingException) {
yield { event: "error", data: "ThrottlingException", raw: [] };
}
}
}
async function* iterator2() {
if (consumed) {
throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");
}
consumed = true;
let done = false;
try {
for await (const sse of iterMessages()) {
if (sse.event === "chunk") {
try {
yield JSON.parse(sse.data);
} catch (e) {
logger.error(`Could not parse message into JSON:`, sse.data);
logger.error(`From chunk:`, sse.raw);
throw e;
}
}
if (sse.event === "error") {
const errText = sse.data;
const errJSON = safeJSON2(errText);
const errMessage = errJSON ? undefined : errText;
throw APIError.generate(undefined, errJSON, errMessage, response.headers);
}
}
done = true;
} catch (e) {
if (isAbortError4(e))
return;
throw e;
} finally {
if (!done)
controller.abort();
}
}
return new Stream2(iterator2, controller);
}
};
});
// node_modules/@anthropic-ai/bedrock-sdk/internal/utils/env.mjs
var readEnv2 = (env5) => {
if (typeof globalThis.process !== "undefined") {
return globalThis.process.env?.[env5]?.trim() ?? undefined;
}
if (typeof globalThis.Deno !== "undefined") {
return globalThis.Deno.env?.get?.(env5)?.trim();
}
return;
};
// node_modules/@anthropic-ai/bedrock-sdk/internal/headers.mjs
function* iterateHeaders2(headers) {
if (!headers)
return;
if (brand_privateNullableHeaders2 in headers) {
const { values, nulls } = headers;
yield* values.entries();
for (const name of nulls) {
yield [name, null];
}
return;
}
let shouldClear = false;
let iter;
if (headers instanceof Headers) {
iter = headers.entries();
} else if (isReadonlyArray2(headers)) {
iter = headers;
} else {
shouldClear = true;
iter = Object.entries(headers ?? {});
}
for (let row of iter) {
const name = row[0];
if (typeof name !== "string")
throw new TypeError("expected header name to be a string");
const values = isReadonlyArray2(row[1]) ? row[1] : [row[1]];
let didClear = false;
for (const value of values) {
if (value === undefined)
continue;
if (shouldClear && !didClear) {
didClear = true;
yield [name, null];
}
yield [name, value];
}
}
}
var brand_privateNullableHeaders2, buildHeaders2 = (newHeaders) => {
const targetHeaders = new Headers;
const nullHeaders = new Set;
for (const headers of newHeaders) {
const seenHeaders = new Set;
for (const [name, value] of iterateHeaders2(headers)) {
const lowerName = name.toLowerCase();
if (!seenHeaders.has(lowerName)) {
targetHeaders.delete(name);
seenHeaders.add(lowerName);
}
if (value === null) {
targetHeaders.delete(name);
nullHeaders.add(lowerName);
} else {
targetHeaders.append(name, value);
nullHeaders.delete(lowerName);
}
}
}
return { [brand_privateNullableHeaders2]: true, values: targetHeaders, nulls: nullHeaders };
};
var init_headers2 = __esm(() => {
init_values3();
brand_privateNullableHeaders2 = Symbol.for("brand.privateNullableHeaders");
});
// node_modules/@anthropic-ai/bedrock-sdk/internal/utils/path.mjs
function encodeURIPath2(str) {
return str.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g, encodeURIComponent);
}
var EMPTY2, createPathTagFunction2 = (pathEncoder = encodeURIPath2) => function path9(statics, ...params) {
if (statics.length === 1)
return statics[0];
let postPath = false;
const invalidSegments = [];
const path10 = statics.reduce((previousValue, currentValue, index) => {
if (/[?#]/.test(currentValue)) {
postPath = true;
}
const value = params[index];
let encoded = (postPath ? encodeURIComponent : pathEncoder)("" + value);
if (index !== params.length && (value == null || typeof value === "object" && value.toString === Object.getPrototypeOf(Object.getPrototypeOf(value.hasOwnProperty ?? EMPTY2) ?? EMPTY2)?.toString)) {
encoded = value + "";
invalidSegments.push({
start: previousValue.length + currentValue.length,
length: encoded.length,
error: `Value of type ${Object.prototype.toString.call(value).slice(8, -1)} is not a valid path parameter`
});
}
return previousValue + currentValue + (index === params.length ? "" : encoded);
}, "");
const pathOnly = path10.split(/[?#]/, 1)[0];
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
let match;
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
invalidSegments.push({
start: match.index,
length: match[0].length,
error: `Value "${match[0]}" can't be safely passed as a path parameter`
});
}
invalidSegments.sort((a2, b2) => a2.start - b2.start);
if (invalidSegments.length > 0) {
let lastEnd = 0;
const underline2 = invalidSegments.reduce((acc, segment) => {
const spaces = " ".repeat(segment.start - lastEnd);
const arrows = "^".repeat(segment.length);
lastEnd = segment.start + segment.length;
return acc + spaces + arrows;
}, "");
throw new AnthropicError(`Path parameters result in path with invalid segments:
${invalidSegments.map((e) => e.error).join(`
`)}
${path10}
${underline2}`);
}
return path10;
}, path9;
var init_path3 = __esm(() => {
init_error4();
EMPTY2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
path9 = /* @__PURE__ */ createPathTagFunction2(encodeURIPath2);
});
// node_modules/@anthropic-ai/bedrock-sdk/client.mjs
function makeMessagesResource(client) {
const resource = new Messages2(client);
delete resource.batches;
delete resource.countTokens;
return resource;
}
function makeBetaResource(client) {
const resource = new Beta(client);
delete resource.promptCaching;
delete resource.messages.batches;
delete resource.messages.countTokens;
return resource;
}
var DEFAULT_VERSION = "bedrock-2023-05-31", MODEL_ENDPOINTS, AnthropicBedrock;
var init_client3 = __esm(() => {
init_client();
init_resources();
init_auth();
init_streaming4();
init_values3();
init_headers2();
init_path3();
init_client();
MODEL_ENDPOINTS = new Set(["/v1/complete", "/v1/messages", "/v1/messages?beta=true"]);
AnthropicBedrock = class AnthropicBedrock extends BaseAnthropic {
constructor({ awsRegion = readEnv2("AWS_REGION") ?? "us-east-1", baseURL = readEnv2("ANTHROPIC_BEDROCK_BASE_URL") ?? `https://bedrock-runtime.${awsRegion}.amazonaws.com`, awsSecretKey = null, awsAccessKey = null, awsSessionToken = null, providerChainResolver = null, ...opts } = {}) {
super({
baseURL,
...opts
});
this.skipAuth = false;
this.messages = makeMessagesResource(this);
this.completions = new Completions(this);
this.beta = makeBetaResource(this);
this.awsSecretKey = awsSecretKey;
this.awsAccessKey = awsAccessKey;
this.awsRegion = awsRegion;
this.awsSessionToken = awsSessionToken;
this.skipAuth = opts.skipAuth ?? false;
this.providerChainResolver = providerChainResolver;
}
validateHeaders() {}
async prepareRequest(request, { url: url3, options }) {
if (this.skipAuth) {
return;
}
const regionName = this.awsRegion;
if (!regionName) {
throw new Error("Expected `awsRegion` option to be passed to the client or the `AWS_REGION` environment variable to be present");
}
const headers = await getAuthHeaders(request, {
url: url3,
regionName,
awsAccessKey: this.awsAccessKey,
awsSecretKey: this.awsSecretKey,
awsSessionToken: this.awsSessionToken,
fetchOptions: this.fetchOptions,
providerChainResolver: this.providerChainResolver
});
request.headers = buildHeaders2([headers, request.headers]).values;
}
async buildRequest(options) {
options.__streamClass = Stream2;
if (isObj2(options.body)) {
options.body = { ...options.body };
}
if (isObj2(options.body)) {
if (!options.body["anthropic_version"]) {
options.body["anthropic_version"] = DEFAULT_VERSION;
}
if (options.headers && !options.body["anthropic_beta"]) {
const betas = buildHeaders2([options.headers]).values.get("anthropic-beta");
if (betas != null) {
options.body["anthropic_beta"] = betas.split(",");
}
}
}
if (MODEL_ENDPOINTS.has(options.path) && options.method === "post") {
if (!isObj2(options.body)) {
throw new Error("Expected request body to be an object for post /v1/messages");
}
const model = options.body["model"];
options.body["model"] = undefined;
const stream4 = options.body["stream"];
options.body["stream"] = undefined;
if (stream4) {
options.path = path9`/model/${model}/invoke-with-response-stream`;
} else {
options.path = path9`/model/${model}/invoke`;
}
}
return super.buildRequest(options);
}
};
});
// node_modules/@anthropic-ai/bedrock-sdk/index.mjs
var exports_bedrock_sdk = {};
__export(exports_bedrock_sdk, {
default: () => AnthropicBedrock,
BaseAnthropic: () => BaseAnthropic,
AnthropicBedrock: () => AnthropicBedrock
});
var init_bedrock_sdk = __esm(() => {
init_client3();
init_client3();
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/core/error.mjs
var init_error5 = __esm(() => {
init_error();
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/utils/values.mjs
var isArray5 = (val) => (isArray5 = Array.isArray, isArray5(val)), isReadonlyArray3;
var init_values4 = __esm(() => {
init_error5();
isReadonlyArray3 = isArray5;
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/headers.mjs
function* iterateHeaders3(headers) {
if (!headers)
return;
if (brand_privateNullableHeaders3 in headers) {
const { values, nulls } = headers;
yield* values.entries();
for (const name of nulls) {
yield [name, null];
}
return;
}
let shouldClear = false;
let iter;
if (headers instanceof Headers) {
iter = headers.entries();
} else if (isReadonlyArray3(headers)) {
iter = headers;
} else {
shouldClear = true;
iter = Object.entries(headers ?? {});
}
for (let row of iter) {
const name = row[0];
if (typeof name !== "string")
throw new TypeError("expected header name to be a string");
const values = isReadonlyArray3(row[1]) ? row[1] : [row[1]];
let didClear = false;
for (const value of values) {
if (value === undefined)
continue;
if (shouldClear && !didClear) {
didClear = true;
yield [name, null];
}
yield [name, value];
}
}
}
var brand_privateNullableHeaders3, buildHeaders3 = (newHeaders) => {
const targetHeaders = new Headers;
const nullHeaders = new Set;
for (const headers of newHeaders) {
const seenHeaders = new Set;
for (const [name, value] of iterateHeaders3(headers)) {
const lowerName = name.toLowerCase();
if (!seenHeaders.has(lowerName)) {
targetHeaders.delete(name);
seenHeaders.add(lowerName);
}
if (value === null) {
targetHeaders.delete(name);
nullHeaders.add(lowerName);
} else {
targetHeaders.append(name, value);
nullHeaders.delete(lowerName);
}
}
}
return { [brand_privateNullableHeaders3]: true, values: targetHeaders, nulls: nullHeaders };
};
var init_headers3 = __esm(() => {
init_values4();
brand_privateNullableHeaders3 = Symbol.for("brand.privateNullableHeaders");
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/utils/base64.mjs
var init_base64 = __esm(() => {
init_error5();
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/utils/env.mjs
var readEnv3 = (env5) => {
if (typeof globalThis.process !== "undefined") {
return globalThis.process.env?.[env5]?.trim() ?? undefined;
}
if (typeof globalThis.Deno !== "undefined") {
return globalThis.Deno.env?.get?.(env5)?.trim();
}
return;
};
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/utils/log.mjs
var init_log5 = __esm(() => {
init_values4();
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/internal/utils.mjs
var init_utils3 = __esm(() => {
init_values4();
init_base64();
init_log5();
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/client.mjs
function makeMessagesResource2(client2) {
const resource = new Messages2(client2);
delete resource.batches;
return resource;
}
function makeBetaResource2(client2) {
const resource = new Beta(client2);
delete resource.messages.batches;
return resource;
}
var AnthropicFoundry;
var init_client4 = __esm(() => {
init_headers3();
init_error5();
init_utils3();
init_client();
init_client();
init_resources();
AnthropicFoundry = class AnthropicFoundry extends Anthropic {
constructor({ baseURL = readEnv3("ANTHROPIC_FOUNDRY_BASE_URL"), apiKey = readEnv3("ANTHROPIC_FOUNDRY_API_KEY"), resource = readEnv3("ANTHROPIC_FOUNDRY_RESOURCE"), azureADTokenProvider, dangerouslyAllowBrowser, ...opts } = {}) {
if (typeof azureADTokenProvider === "function") {
dangerouslyAllowBrowser = true;
}
if (!azureADTokenProvider && !apiKey) {
throw new AnthropicError("Missing credentials. Please pass one of `apiKey` and `azureTokenProvider`, or set the `ANTHROPIC_FOUNDRY_API_KEY` environment variable.");
}
if (azureADTokenProvider && apiKey) {
throw new AnthropicError("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");
}
if (!baseURL) {
if (!resource) {
throw new AnthropicError("Must provide one of the `baseURL` or `resource` arguments, or the `ANTHROPIC_FOUNDRY_RESOURCE` environment variable");
}
baseURL = `https://${resource}.services.ai.azure.com/anthropic/`;
} else {
if (resource) {
throw new AnthropicError("baseURL and resource are mutually exclusive");
}
}
super({
apiKey: azureADTokenProvider ?? apiKey,
baseURL,
...opts,
...dangerouslyAllowBrowser !== undefined ? { dangerouslyAllowBrowser } : {}
});
this.resource = null;
this.messages = makeMessagesResource2(this);
this.beta = makeBetaResource2(this);
this.models = undefined;
}
async authHeaders() {
if (typeof this._options.apiKey === "function") {
let token;
try {
token = await this._options.apiKey();
} catch (err) {
if (err instanceof AnthropicError)
throw err;
throw new AnthropicError(`Failed to get token from azureADTokenProvider: ${err.message}`, { cause: err });
}
if (typeof token !== "string" || !token) {
throw new AnthropicError(`Expected azureADTokenProvider function argument to return a string but it returned ${token}`);
}
return buildHeaders3([{ Authorization: `Bearer ${token}` }]);
}
if (typeof this._options.apiKey === "string") {
return buildHeaders3([{ "x-api-key": this.apiKey }]);
}
return;
}
validateHeaders() {
return;
}
};
});
// node_modules/.pnpm/@anthropic-ai+foundry-sdk@0.2.3_zod@4.3.6/node_modules/@anthropic-ai/foundry-sdk/index.mjs
var exports_foundry_sdk = {};
__export(exports_foundry_sdk, {
default: () => AnthropicFoundry,
BaseAnthropic: () => BaseAnthropic,
AnthropicFoundry: () => AnthropicFoundry
});
var init_foundry_sdk = __esm(() => {
init_client4();
init_client4();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/constants.js
var SDK_VERSION2 = `4.13.1`, DeveloperSignOnClientId = "04b07795-8ddb-461a-bbee-02f9e1bf7b46", DefaultTenantId = "common", AzureAuthorityHosts, DefaultAuthorityHost, DefaultAuthority = "login.microsoftonline.com", ALL_TENANTS, CACHE_CAE_SUFFIX = "cae", CACHE_NON_CAE_SUFFIX = "nocae", DEFAULT_TOKEN_CACHE_NAME = "msal.cache";
var init_constants5 = __esm(() => {
(function(AzureAuthorityHosts2) {
AzureAuthorityHosts2["AzureChina"] = "https://login.chinacloudapi.cn";
AzureAuthorityHosts2["AzureGermany"] = "https://login.microsoftonline.de";
AzureAuthorityHosts2["AzureGovernment"] = "https://login.microsoftonline.us";
AzureAuthorityHosts2["AzurePublicCloud"] = "https://login.microsoftonline.com";
})(AzureAuthorityHosts || (AzureAuthorityHosts = {}));
DefaultAuthorityHost = AzureAuthorityHosts.AzurePublicCloud;
ALL_TENANTS = ["*"];
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/msal/nodeFlows/msalPlugins.js
function hasVSCodePlugin() {
return vsCodeAuthRecordPath !== undefined && vsCodeBrokerInfo !== undefined;
}
function generatePluginConfiguration(options) {
const config2 = {
cache: {},
broker: {
...options.brokerOptions,
isEnabled: options.brokerOptions?.enabled ?? false,
enableMsaPassthrough: options.brokerOptions?.legacyEnableMsaPassthrough ?? false
}
};
if (options.tokenCachePersistenceOptions?.enabled) {
if (persistenceProvider === undefined) {
throw new Error([
"Persistent token caching was requested, but no persistence provider was configured.",
"You must install the identity-cache-persistence plugin package (`npm install --save @azure/identity-cache-persistence`)",
"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling",
"`useIdentityPlugin(cachePersistencePlugin)` before using `tokenCachePersistenceOptions`."
].join(" "));
}
const cacheBaseName = options.tokenCachePersistenceOptions.name || DEFAULT_TOKEN_CACHE_NAME;
config2.cache.cachePlugin = persistenceProvider({
name: `${cacheBaseName}.${CACHE_NON_CAE_SUFFIX}`,
...options.tokenCachePersistenceOptions
});
config2.cache.cachePluginCae = persistenceProvider({
name: `${cacheBaseName}.${CACHE_CAE_SUFFIX}`,
...options.tokenCachePersistenceOptions
});
}
if (options.brokerOptions?.enabled) {
config2.broker.nativeBrokerPlugin = getBrokerPlugin(options.isVSCodeCredential || false);
}
return config2;
}
function getBrokerPlugin(isVSCodePlugin) {
const { credentialName, packageName, pluginVar, brokerInfo } = brokerConfig[isVSCodePlugin ? "vsCode" : "native"];
if (brokerInfo === undefined) {
throw new Error(brokerErrorTemplates.missing(credentialName, packageName, pluginVar));
}
if (brokerInfo.broker.isBrokerAvailable === false) {
throw new Error(brokerErrorTemplates.unavailable(credentialName, packageName));
}
return brokerInfo.broker;
}
var persistenceProvider = undefined, msalNodeFlowCacheControl, nativeBrokerInfo = undefined, vsCodeAuthRecordPath = undefined, vsCodeBrokerInfo = undefined, msalNodeFlowNativeBrokerControl, msalNodeFlowVSCodeCredentialControl, brokerErrorTemplates, brokerConfig, msalPlugins;
var init_msalPlugins = __esm(() => {
init_constants5();
msalNodeFlowCacheControl = {
setPersistence(pluginProvider) {
persistenceProvider = pluginProvider;
}
};
msalNodeFlowNativeBrokerControl = {
setNativeBroker(broker) {
nativeBrokerInfo = {
broker
};
}
};
msalNodeFlowVSCodeCredentialControl = {
setVSCodeAuthRecordPath(path10) {
vsCodeAuthRecordPath = path10;
},
setVSCodeBroker(broker) {
vsCodeBrokerInfo = {
broker
};
}
};
brokerErrorTemplates = {
missing: (credentialName, packageName, pluginVar) => [
`${credentialName} was requested, but no plugin was configured or no authentication record was found.`,
`You must install the ${packageName} plugin package (npm install --save ${packageName})`,
"and enable it by importing `useIdentityPlugin` from `@azure/identity` and calling",
`useIdentityPlugin(${pluginVar}) before using enableBroker.`
].join(" "),
unavailable: (credentialName, packageName) => [
`${credentialName} was requested, and the plugin is configured, but the broker is unavailable.`,
`Ensure the ${credentialName} plugin is properly installed and configured.`,
"Check for missing native dependencies and ensure the package is properly installed.",
`See the README for prerequisites on installing and using ${packageName}.`
].join(" ")
};
brokerConfig = {
vsCode: {
credentialName: "Visual Studio Code Credential",
packageName: "@azure/identity-vscode",
pluginVar: "vsCodePlugin",
get brokerInfo() {
return vsCodeBrokerInfo;
}
},
native: {
credentialName: "Broker for WAM",
packageName: "@azure/identity-broker",
pluginVar: "nativeBrokerPlugin",
get brokerInfo() {
return nativeBrokerInfo;
}
}
};
msalPlugins = {
generatePluginConfiguration
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/plugins/consumer.js
function useIdentityPlugin(plugin) {
plugin(pluginContext);
}
var pluginContext;
var init_consumer = __esm(() => {
init_msalPlugins();
pluginContext = {
cachePluginControl: msalNodeFlowCacheControl,
nativeBrokerPluginControl: msalNodeFlowNativeBrokerControl,
vsCodeCredentialControl: msalNodeFlowVSCodeCredentialControl
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/errors.js
function isErrorResponse(errorResponse) {
return errorResponse && typeof errorResponse.error === "string" && typeof errorResponse.error_description === "string";
}
function convertOAuthErrorResponseToErrorResponse(errorBody) {
return {
error: errorBody.error,
errorDescription: errorBody.error_description,
correlationId: errorBody.correlation_id,
errorCodes: errorBody.error_codes,
timestamp: errorBody.timestamp,
traceId: errorBody.trace_id
};
}
var CredentialUnavailableErrorName = "CredentialUnavailableError", CredentialUnavailableError, AuthenticationErrorName = "AuthenticationError", AuthenticationError2, AggregateAuthenticationErrorName = "AggregateAuthenticationError", AggregateAuthenticationError, AuthenticationRequiredError;
var init_errors4 = __esm(() => {
CredentialUnavailableError = class CredentialUnavailableError extends Error {
constructor(message, options) {
super(message, options);
this.name = CredentialUnavailableErrorName;
}
};
AuthenticationError2 = class AuthenticationError2 extends Error {
statusCode;
errorResponse;
constructor(statusCode, errorBody, options) {
let errorResponse = {
error: "unknown",
errorDescription: "An unknown error occurred and no additional details are available."
};
if (isErrorResponse(errorBody)) {
errorResponse = convertOAuthErrorResponseToErrorResponse(errorBody);
} else if (typeof errorBody === "string") {
try {
const oauthErrorResponse = JSON.parse(errorBody);
errorResponse = convertOAuthErrorResponseToErrorResponse(oauthErrorResponse);
} catch (e) {
if (statusCode === 400) {
errorResponse = {
error: "invalid_request",
errorDescription: `The service indicated that the request was invalid.
${errorBody}`
};
} else {
errorResponse = {
error: "unknown_error",
errorDescription: `An unknown error has occurred. Response body:
${errorBody}`
};
}
}
} else {
errorResponse = {
error: "unknown_error",
errorDescription: "An unknown error occurred and no additional details are available."
};
}
super(`${errorResponse.error} Status code: ${statusCode}
More details:
${errorResponse.errorDescription},`, options);
this.statusCode = statusCode;
this.errorResponse = errorResponse;
this.name = AuthenticationErrorName;
}
};
AggregateAuthenticationError = class AggregateAuthenticationError extends Error {
errors;
constructor(errors3, errorMessage2) {
const errorDetail = errors3.join(`
`);
super(`${errorMessage2}
${errorDetail}`);
this.errors = errors3;
this.name = AggregateAuthenticationErrorName;
}
};
AuthenticationRequiredError = class AuthenticationRequiredError extends Error {
scopes;
getTokenOptions;
constructor(options) {
super(options.message, options.cause ? { cause: options.cause } : undefined);
this.scopes = options.scopes;
this.getTokenOptions = options.getTokenOptions;
this.name = "AuthenticationRequiredError";
}
};
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/logger/log.js
import { EOL } from "node:os";
import util3 from "node:util";
import process14 from "node:process";
function log2(message, ...args) {
process14.stderr.write(`${util3.format(message, ...args)}${EOL}`);
}
var init_log6 = () => {};
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/logger/debug.js
function enable(namespaces) {
enabledString = namespaces;
enabledNamespaces = [];
skippedNamespaces = [];
const namespaceList = namespaces.split(",").map((ns) => ns.trim());
for (const ns of namespaceList) {
if (ns.startsWith("-")) {
skippedNamespaces.push(ns.substring(1));
} else {
enabledNamespaces.push(ns);
}
}
for (const instance of debuggers) {
instance.enabled = enabled(instance.namespace);
}
}
function enabled(namespace) {
if (namespace.endsWith("*")) {
return true;
}
for (const skipped of skippedNamespaces) {
if (namespaceMatches(namespace, skipped)) {
return false;
}
}
for (const enabledNamespace of enabledNamespaces) {
if (namespaceMatches(namespace, enabledNamespace)) {
return true;
}
}
return false;
}
function namespaceMatches(namespace, patternToMatch) {
if (patternToMatch.indexOf("*") === -1) {
return namespace === patternToMatch;
}
let pattern = patternToMatch;
if (patternToMatch.indexOf("**") !== -1) {
const patternParts = [];
let lastCharacter = "";
for (const character of patternToMatch) {
if (character === "*" && lastCharacter === "*") {
continue;
} else {
lastCharacter = character;
patternParts.push(character);
}
}
pattern = patternParts.join("");
}
let namespaceIndex = 0;
let patternIndex = 0;
const patternLength = pattern.length;
const namespaceLength = namespace.length;
let lastWildcard = -1;
let lastWildcardNamespace = -1;
while (namespaceIndex < namespaceLength && patternIndex < patternLength) {
if (pattern[patternIndex] === "*") {
lastWildcard = patternIndex;
patternIndex++;
if (patternIndex === patternLength) {
return true;
}
while (namespace[namespaceIndex] !== pattern[patternIndex]) {
namespaceIndex++;
if (namespaceIndex === namespaceLength) {
return false;
}
}
lastWildcardNamespace = namespaceIndex;
namespaceIndex++;
patternIndex++;
continue;
} else if (pattern[patternIndex] === namespace[namespaceIndex]) {
patternIndex++;
namespaceIndex++;
} else if (lastWildcard >= 0) {
patternIndex = lastWildcard + 1;
namespaceIndex = lastWildcardNamespace + 1;
if (namespaceIndex === namespaceLength) {
return false;
}
while (namespace[namespaceIndex] !== pattern[patternIndex]) {
namespaceIndex++;
if (namespaceIndex === namespaceLength) {
return false;
}
}
lastWildcardNamespace = namespaceIndex;
namespaceIndex++;
patternIndex++;
continue;
} else {
return false;
}
}
const namespaceDone = namespaceIndex === namespace.length;
const patternDone = patternIndex === pattern.length;
const trailingWildCard = patternIndex === pattern.length - 1 && pattern[patternIndex] === "*";
return namespaceDone && (patternDone || trailingWildCard);
}
function disable() {
const result = enabledString || "";
enable("");
return result;
}
function createDebugger(namespace) {
const newDebugger = Object.assign(debug3, {
enabled: enabled(namespace),
destroy,
log: debugObj.log,
namespace,
extend: extend3
});
function debug3(...args) {
if (!newDebugger.enabled) {
return;
}
if (args.length > 0) {
args[0] = `${namespace} ${args[0]}`;
}
newDebugger.log(...args);
}
debuggers.push(newDebugger);
return newDebugger;
}
function destroy() {
const index = debuggers.indexOf(this);
if (index >= 0) {
debuggers.splice(index, 1);
return true;
}
return false;
}
function extend3(namespace) {
const newDebugger = createDebugger(`${this.namespace}:${namespace}`);
newDebugger.log = this.log;
return newDebugger;
}
var debugEnvVariable, enabledString, enabledNamespaces, skippedNamespaces, debuggers, debugObj, debug_default;
var init_debug2 = __esm(() => {
init_log6();
debugEnvVariable = typeof process !== "undefined" && process.env && process.env.DEBUG || undefined;
enabledNamespaces = [];
skippedNamespaces = [];
debuggers = [];
if (debugEnvVariable) {
enable(debugEnvVariable);
}
debugObj = Object.assign((namespace) => {
return createDebugger(namespace);
}, {
enable,
enabled,
disable,
log: log2
});
debug_default = debugObj;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/logger/logger.js
function patchLogMethod(parent, child) {
child.log = (...args) => {
parent.log(...args);
};
}
function isTypeSpecRuntimeLogLevel(level) {
return TYPESPEC_RUNTIME_LOG_LEVELS.includes(level);
}
function createLoggerContext(options) {
const registeredLoggers = new Set;
const logLevelFromEnv = typeof process !== "undefined" && process.env && process.env[options.logLevelEnvVarName] || undefined;
let logLevel;
const clientLogger = debug_default(options.namespace);
clientLogger.log = (...args) => {
debug_default.log(...args);
};
function contextSetLogLevel(level) {
if (level && !isTypeSpecRuntimeLogLevel(level)) {
throw new Error(`Unknown log level '${level}'. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(",")}`);
}
logLevel = level;
const enabledNamespaces2 = [];
for (const logger of registeredLoggers) {
if (shouldEnable(logger)) {
enabledNamespaces2.push(logger.namespace);
}
}
debug_default.enable(enabledNamespaces2.join(","));
}
if (logLevelFromEnv) {
if (isTypeSpecRuntimeLogLevel(logLevelFromEnv)) {
contextSetLogLevel(logLevelFromEnv);
} else {
console.error(`${options.logLevelEnvVarName} set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${TYPESPEC_RUNTIME_LOG_LEVELS.join(", ")}.`);
}
}
function shouldEnable(logger) {
return Boolean(logLevel && levelMap[logger.level] <= levelMap[logLevel]);
}
function createLogger(parent, level) {
const logger = Object.assign(parent.extend(level), {
level
});
patchLogMethod(parent, logger);
if (shouldEnable(logger)) {
const enabledNamespaces2 = debug_default.disable();
debug_default.enable(enabledNamespaces2 + "," + logger.namespace);
}
registeredLoggers.add(logger);
return logger;
}
function contextGetLogLevel() {
return logLevel;
}
function contextCreateClientLogger(namespace) {
const clientRootLogger = clientLogger.extend(namespace);
patchLogMethod(clientLogger, clientRootLogger);
return {
error: createLogger(clientRootLogger, "error"),
warning: createLogger(clientRootLogger, "warning"),
info: createLogger(clientRootLogger, "info"),
verbose: createLogger(clientRootLogger, "verbose")
};
}
return {
setLogLevel: contextSetLogLevel,
getLogLevel: contextGetLogLevel,
createClientLogger: contextCreateClientLogger,
logger: clientLogger
};
}
function createClientLogger(namespace) {
return context.createClientLogger(namespace);
}
var TYPESPEC_RUNTIME_LOG_LEVELS, levelMap, context, TypeSpecRuntimeLogger;
var init_logger = __esm(() => {
init_debug2();
TYPESPEC_RUNTIME_LOG_LEVELS = ["verbose", "info", "warning", "error"];
levelMap = {
verbose: 400,
info: 300,
warning: 200,
error: 100
};
context = createLoggerContext({
logLevelEnvVarName: "TYPESPEC_RUNTIME_LOG_LEVEL",
namespace: "typeSpecRuntime"
});
TypeSpecRuntimeLogger = context.logger;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/logger/internal.js
var init_internal = __esm(() => {
init_logger();
});
// node_modules/.pnpm/@azure+logger@1.3.0/node_modules/@azure/logger/dist/esm/index.js
function getLogLevel() {
return context2.getLogLevel();
}
function createClientLogger2(namespace) {
return context2.createClientLogger(namespace);
}
var context2, AzureLogger;
var init_esm2 = __esm(() => {
init_internal();
context2 = createLoggerContext({
logLevelEnvVarName: "AZURE_LOG_LEVEL",
namespace: "azure"
});
AzureLogger = context2.logger;
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/logging.js
function processEnvVars(supportedEnvVars) {
return supportedEnvVars.reduce((acc, envVariable) => {
if (process.env[envVariable]) {
acc.assigned.push(envVariable);
} else {
acc.missing.push(envVariable);
}
return acc;
}, { missing: [], assigned: [] });
}
function formatSuccess(scope) {
return `SUCCESS. Scopes: ${Array.isArray(scope) ? scope.join(", ") : scope}.`;
}
function formatError2(scope, error51) {
let message = "ERROR.";
if (scope?.length) {
message += ` Scopes: ${Array.isArray(scope) ? scope.join(", ") : scope}.`;
}
return `${message} Error message: ${typeof error51 === "string" ? error51 : error51.message}.`;
}
function credentialLoggerInstance(title, parent, log3 = logger) {
const fullTitle = parent ? `${parent.fullTitle} ${title}` : title;
function info(message) {
log3.info(`${fullTitle} =>`, message);
}
function warning(message) {
log3.warning(`${fullTitle} =>`, message);
}
function verbose(message) {
log3.verbose(`${fullTitle} =>`, message);
}
function error51(message) {
log3.error(`${fullTitle} =>`, message);
}
return {
title,
fullTitle,
info,
warning,
verbose,
error: error51
};
}
function credentialLogger(title, log3 = logger) {
const credLogger = credentialLoggerInstance(title, undefined, log3);
return {
...credLogger,
parent: log3,
getToken: credentialLoggerInstance("=> getToken()", credLogger, log3)
};
}
var logger;
var init_logging = __esm(() => {
init_esm2();
logger = createClientLogger2("identity");
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/esm/tracingContext.js
function createTracingContext(options = {}) {
let context3 = new TracingContextImpl(options.parentContext);
if (options.span) {
context3 = context3.setValue(knownContextKeys.span, options.span);
}
if (options.namespace) {
context3 = context3.setValue(knownContextKeys.namespace, options.namespace);
}
return context3;
}
class TracingContextImpl {
_contextMap;
constructor(initialContext) {
this._contextMap = initialContext instanceof TracingContextImpl ? new Map(initialContext._contextMap) : new Map;
}
setValue(key, value) {
const newContext = new TracingContextImpl(this);
newContext._contextMap.set(key, value);
return newContext;
}
getValue(key) {
return this._contextMap.get(key);
}
deleteValue(key) {
const newContext = new TracingContextImpl(this);
newContext._contextMap.delete(key);
return newContext;
}
}
var knownContextKeys;
var init_tracingContext = __esm(() => {
knownContextKeys = {
span: Symbol.for("@azure/core-tracing span"),
namespace: Symbol.for("@azure/core-tracing namespace")
};
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/commonjs/state.js
var require_state2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.state = undefined;
exports.state = {
instrumenterImplementation: undefined
};
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/esm/state.js
var import_state15, state;
var init_state2 = __esm(() => {
import_state15 = __toESM(require_state2(), 1);
state = import_state15.state;
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/esm/instrumenter.js
function createDefaultTracingSpan() {
return {
end: () => {},
isRecording: () => false,
recordException: () => {},
setAttribute: () => {},
setStatus: () => {},
addEvent: () => {}
};
}
function createDefaultInstrumenter() {
return {
createRequestHeaders: () => {
return {};
},
parseTraceparentHeader: () => {
return;
},
startSpan: (_name, spanOptions) => {
return {
span: createDefaultTracingSpan(),
tracingContext: createTracingContext({ parentContext: spanOptions.tracingContext })
};
},
withContext(_context, callback, ...callbackArgs) {
return callback(...callbackArgs);
}
};
}
function getInstrumenter() {
if (!state.instrumenterImplementation) {
state.instrumenterImplementation = createDefaultInstrumenter();
}
return state.instrumenterImplementation;
}
var init_instrumenter = __esm(() => {
init_tracingContext();
init_state2();
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/esm/tracingClient.js
function createTracingClient(options) {
const { namespace, packageName, packageVersion } = options;
function startSpan(name, operationOptions, spanOptions) {
const startSpanResult = getInstrumenter().startSpan(name, {
...spanOptions,
packageName,
packageVersion,
tracingContext: operationOptions?.tracingOptions?.tracingContext
});
let tracingContext = startSpanResult.tracingContext;
const span = startSpanResult.span;
if (!tracingContext.getValue(knownContextKeys.namespace)) {
tracingContext = tracingContext.setValue(knownContextKeys.namespace, namespace);
}
span.setAttribute("az.namespace", tracingContext.getValue(knownContextKeys.namespace));
const updatedOptions = Object.assign({}, operationOptions, {
tracingOptions: { ...operationOptions?.tracingOptions, tracingContext }
});
return {
span,
updatedOptions
};
}
async function withSpan(name, operationOptions, callback, spanOptions) {
const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);
try {
const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));
span.setStatus({ status: "success" });
return result;
} catch (err) {
span.setStatus({ status: "error", error: err });
throw err;
} finally {
span.end();
}
}
function withContext(context3, callback, ...callbackArgs) {
return getInstrumenter().withContext(context3, callback, ...callbackArgs);
}
function parseTraceparentHeader(traceparentHeader) {
return getInstrumenter().parseTraceparentHeader(traceparentHeader);
}
function createRequestHeaders(tracingContext) {
return getInstrumenter().createRequestHeaders(tracingContext);
}
return {
startSpan,
withSpan,
withContext,
parseTraceparentHeader,
createRequestHeaders
};
}
var init_tracingClient = __esm(() => {
init_instrumenter();
init_tracingContext();
});
// node_modules/.pnpm/@azure+core-tracing@1.3.1/node_modules/@azure/core-tracing/dist/esm/index.js
var init_esm3 = __esm(() => {
init_tracingClient();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/tracing.js
var tracingClient;
var init_tracing = __esm(() => {
init_constants5();
init_esm3();
tracingClient = createTracingClient({
namespace: "Microsoft.AAD",
packageName: "@azure/identity",
packageVersion: SDK_VERSION2
});
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/chainedTokenCredential.js
class ChainedTokenCredential {
_sources = [];
constructor(...sources) {
this._sources = sources;
}
async getToken(scopes, options = {}) {
const { token } = await this.getTokenInternal(scopes, options);
return token;
}
async getTokenInternal(scopes, options = {}) {
let token = null;
let successfulCredential;
const errors3 = [];
return tracingClient.withSpan("ChainedTokenCredential.getToken", options, async (updatedOptions) => {
for (let i2 = 0;i2 < this._sources.length && token === null; i2++) {
try {
token = await this._sources[i2].getToken(scopes, updatedOptions);
successfulCredential = this._sources[i2];
} catch (err) {
if (err.name === "CredentialUnavailableError" || err.name === "AuthenticationRequiredError") {
errors3.push(err);
} else {
logger2.getToken.info(formatError2(scopes, err));
throw err;
}
}
}
if (!token && errors3.length > 0) {
const err = new AggregateAuthenticationError(errors3, "ChainedTokenCredential authentication failed.");
logger2.getToken.info(formatError2(scopes, err));
throw err;
}
logger2.getToken.info(`Result for ${successfulCredential.constructor.name}: ${formatSuccess(scopes)}`);
if (token === null) {
throw new CredentialUnavailableError("Failed to retrieve a valid token");
}
return { token, successfulCredential };
});
}
}
var logger2;
var init_chainedTokenCredential = __esm(() => {
init_errors4();
init_logging();
init_tracing();
logger2 = credentialLogger("ChainedTokenCredential");
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/serializer/Serializer.mjs
class Serializer {
static serializeJSONBlob(data) {
return JSON.stringify(data);
}
static serializeAccounts(accCache) {
const accounts = {};
Object.keys(accCache).map(function(key) {
const accountEntity = accCache[key];
accounts[key] = {
home_account_id: accountEntity.homeAccountId,
environment: accountEntity.environment,
realm: accountEntity.realm,
local_account_id: accountEntity.localAccountId,
username: accountEntity.username,
authority_type: accountEntity.authorityType,
name: accountEntity.name,
client_info: accountEntity.clientInfo,
last_modification_time: accountEntity.lastModificationTime,
last_modification_app: accountEntity.lastModificationApp,
tenantProfiles: accountEntity.tenantProfiles?.map((tenantProfile) => {
return JSON.stringify(tenantProfile);
})
};
});
return accounts;
}
static serializeIdTokens(idTCache) {
const idTokens = {};
Object.keys(idTCache).map(function(key) {
const idTEntity = idTCache[key];
idTokens[key] = {
home_account_id: idTEntity.homeAccountId,
environment: idTEntity.environment,
credential_type: idTEntity.credentialType,
client_id: idTEntity.clientId,
secret: idTEntity.secret,
realm: idTEntity.realm
};
});
return idTokens;
}
static serializeAccessTokens(atCache) {
const accessTokens = {};
Object.keys(atCache).map(function(key) {
const atEntity = atCache[key];
accessTokens[key] = {
home_account_id: atEntity.homeAccountId,
environment: atEntity.environment,
credential_type: atEntity.credentialType,
client_id: atEntity.clientId,
secret: atEntity.secret,
realm: atEntity.realm,
target: atEntity.target,
cached_at: atEntity.cachedAt,
expires_on: atEntity.expiresOn,
extended_expires_on: atEntity.extendedExpiresOn,
refresh_on: atEntity.refreshOn,
key_id: atEntity.keyId,
token_type: atEntity.tokenType,
userAssertionHash: atEntity.userAssertionHash,
resource: atEntity.resource
};
});
return accessTokens;
}
static serializeRefreshTokens(rtCache) {
const refreshTokens = {};
Object.keys(rtCache).map(function(key) {
const rtEntity = rtCache[key];
refreshTokens[key] = {
home_account_id: rtEntity.homeAccountId,
environment: rtEntity.environment,
credential_type: rtEntity.credentialType,
client_id: rtEntity.clientId,
secret: rtEntity.secret,
family_id: rtEntity.familyId,
target: rtEntity.target,
realm: rtEntity.realm
};
});
return refreshTokens;
}
static serializeAppMetadata(amdtCache) {
const appMetadata = {};
Object.keys(amdtCache).map(function(key) {
const amdtEntity = amdtCache[key];
appMetadata[key] = {
client_id: amdtEntity.clientId,
environment: amdtEntity.environment,
family_id: amdtEntity.familyId
};
});
return appMetadata;
}
static serializeAllCache(inMemCache) {
return {
Account: this.serializeAccounts(inMemCache.accounts),
IdToken: this.serializeIdTokens(inMemCache.idTokens),
AccessToken: this.serializeAccessTokens(inMemCache.accessTokens),
RefreshToken: this.serializeRefreshTokens(inMemCache.refreshTokens),
AppMetadata: this.serializeAppMetadata(inMemCache.appMetadata)
};
}
}
var init_Serializer = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/Constants.mjs
var exports_Constants = {};
__export(exports_Constants, {
X_MS_LIB_CAPABILITY_VALUE: () => X_MS_LIB_CAPABILITY_VALUE,
URL_FORM_CONTENT_TYPE: () => URL_FORM_CONTENT_TYPE,
THROTTLING_PREFIX: () => THROTTLING_PREFIX,
THE_FAMILY_ID: () => THE_FAMILY_ID,
SKU: () => SKU,
SHR_NONCE_VALIDITY: () => SHR_NONCE_VALIDITY,
SERVER_TELEM_VALUE_SEPARATOR: () => SERVER_TELEM_VALUE_SEPARATOR,
SERVER_TELEM_UNKNOWN_ERROR: () => SERVER_TELEM_UNKNOWN_ERROR,
SERVER_TELEM_SCHEMA_VERSION: () => SERVER_TELEM_SCHEMA_VERSION,
SERVER_TELEM_OVERFLOW_TRUE: () => SERVER_TELEM_OVERFLOW_TRUE,
SERVER_TELEM_OVERFLOW_FALSE: () => SERVER_TELEM_OVERFLOW_FALSE,
SERVER_TELEM_MAX_LAST_HEADER_BYTES: () => SERVER_TELEM_MAX_LAST_HEADER_BYTES,
SERVER_TELEM_MAX_CUR_HEADER_BYTES: () => SERVER_TELEM_MAX_CUR_HEADER_BYTES,
SERVER_TELEM_MAX_CACHED_ERRORS: () => SERVER_TELEM_MAX_CACHED_ERRORS,
SERVER_TELEM_CATEGORY_SEPARATOR: () => SERVER_TELEM_CATEGORY_SEPARATOR,
SERVER_TELEM_CACHE_KEY: () => SERVER_TELEM_CACHE_KEY,
S256_CODE_CHALLENGE_METHOD: () => S256_CODE_CHALLENGE_METHOD,
ResponseMode: () => ResponseMode,
RegionDiscoverySources: () => RegionDiscoverySources,
RegionDiscoveryOutcomes: () => RegionDiscoveryOutcomes,
RESOURCE_DELIM: () => RESOURCE_DELIM,
REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: () => REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX,
PromptValue: () => PromptValue,
PersistentCacheKeys: () => PersistentCacheKeys,
PasswordGrantConstants: () => PasswordGrantConstants,
PROFILE_SCOPE: () => PROFILE_SCOPE,
OPENID_SCOPE: () => OPENID_SCOPE,
ONE_DAY_IN_MS: () => ONE_DAY_IN_MS,
OIDC_SCOPES: () => OIDC_SCOPES,
OIDC_DEFAULT_SCOPES: () => OIDC_DEFAULT_SCOPES,
OFFLINE_ACCESS_SCOPE: () => OFFLINE_ACCESS_SCOPE,
OAuthResponseType: () => OAuthResponseType,
NOT_AVAILABLE: () => NOT_AVAILABLE,
NOT_APPLICABLE: () => NOT_APPLICABLE,
KNOWN_PUBLIC_CLOUDS: () => KNOWN_PUBLIC_CLOUDS,
JsonWebTokenTypes: () => JsonWebTokenTypes,
INVALID_INSTANCE: () => INVALID_INSTANCE,
INVALID_GRANT_ERROR: () => INVALID_GRANT_ERROR,
IMDS_VERSION: () => IMDS_VERSION,
IMDS_TIMEOUT: () => IMDS_TIMEOUT,
IMDS_ENDPOINT: () => IMDS_ENDPOINT,
HttpMethod: () => HttpMethod,
HeaderNames: () => HeaderNames,
HTTP_UNAUTHORIZED: () => HTTP_UNAUTHORIZED,
HTTP_TOO_MANY_REQUESTS: () => HTTP_TOO_MANY_REQUESTS,
HTTP_SUCCESS_RANGE_START: () => HTTP_SUCCESS_RANGE_START,
HTTP_SUCCESS_RANGE_END: () => HTTP_SUCCESS_RANGE_END,
HTTP_SUCCESS: () => HTTP_SUCCESS,
HTTP_SERVICE_UNAVAILABLE: () => HTTP_SERVICE_UNAVAILABLE,
HTTP_SERVER_ERROR_RANGE_START: () => HTTP_SERVER_ERROR_RANGE_START,
HTTP_SERVER_ERROR_RANGE_END: () => HTTP_SERVER_ERROR_RANGE_END,
HTTP_SERVER_ERROR: () => HTTP_SERVER_ERROR,
HTTP_REQUEST_TIMEOUT: () => HTTP_REQUEST_TIMEOUT,
HTTP_REDIRECT: () => HTTP_REDIRECT,
HTTP_NOT_FOUND: () => HTTP_NOT_FOUND,
HTTP_MULTI_SIDED_ERROR: () => HTTP_MULTI_SIDED_ERROR,
HTTP_GONE: () => HTTP_GONE,
HTTP_GATEWAY_TIMEOUT: () => HTTP_GATEWAY_TIMEOUT,
HTTP_CLIENT_ERROR_RANGE_START: () => HTTP_CLIENT_ERROR_RANGE_START,
HTTP_CLIENT_ERROR_RANGE_END: () => HTTP_CLIENT_ERROR_RANGE_END,
HTTP_CLIENT_ERROR: () => HTTP_CLIENT_ERROR,
HTTP_BAD_REQUEST: () => HTTP_BAD_REQUEST,
GrantType: () => GrantType,
FORWARD_SLASH: () => FORWARD_SLASH,
EncodingTypes: () => EncodingTypes,
EMAIL_SCOPE: () => EMAIL_SCOPE,
DSTS: () => DSTS,
DEFAULT_TOKEN_RENEWAL_OFFSET_SEC: () => DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,
DEFAULT_THROTTLE_TIME_SECONDS: () => DEFAULT_THROTTLE_TIME_SECONDS,
DEFAULT_MAX_THROTTLE_TIME_SECONDS: () => DEFAULT_MAX_THROTTLE_TIME_SECONDS,
DEFAULT_COMMON_TENANT: () => DEFAULT_COMMON_TENANT,
DEFAULT_AUTHORITY_HOST: () => DEFAULT_AUTHORITY_HOST,
DEFAULT_AUTHORITY: () => DEFAULT_AUTHORITY,
CredentialType: () => CredentialType,
CodeChallengeMethodValues: () => CodeChallengeMethodValues,
ClaimsRequestKeys: () => ClaimsRequestKeys,
CacheType: () => CacheType,
CacheOutcome: () => CacheOutcome,
CONSUMER_UTID: () => CONSUMER_UTID,
CODE_GRANT_TYPE: () => CODE_GRANT_TYPE,
CLIENT_MISMATCH_ERROR: () => CLIENT_MISMATCH_ERROR,
CLIENT_INFO_SEPARATOR: () => CLIENT_INFO_SEPARATOR,
CLIENT_INFO: () => CLIENT_INFO,
CIAM_AUTH_URL: () => CIAM_AUTH_URL,
CACHE_KEY_SEPARATOR: () => CACHE_KEY_SEPARATOR,
CACHE_ACCOUNT_TYPE_MSSTS: () => CACHE_ACCOUNT_TYPE_MSSTS,
CACHE_ACCOUNT_TYPE_MSAV1: () => CACHE_ACCOUNT_TYPE_MSAV1,
CACHE_ACCOUNT_TYPE_GENERIC: () => CACHE_ACCOUNT_TYPE_GENERIC,
CACHE_ACCOUNT_TYPE_ADFS: () => CACHE_ACCOUNT_TYPE_ADFS,
AuthorityMetadataSource: () => AuthorityMetadataSource,
AuthenticationScheme: () => AuthenticationScheme,
AZURE_REGION_AUTO_DISCOVER_FLAG: () => AZURE_REGION_AUTO_DISCOVER_FLAG,
AUTHORIZATION_PENDING: () => AUTHORIZATION_PENDING,
AUTHORITY_METADATA_REFRESH_TIME_SECONDS: () => AUTHORITY_METADATA_REFRESH_TIME_SECONDS,
AUTHORITY_METADATA_CACHE_KEY: () => AUTHORITY_METADATA_CACHE_KEY,
APP_METADATA: () => APP_METADATA,
ADFS: () => ADFS,
AAD_TENANT_DOMAIN_SUFFIX: () => AAD_TENANT_DOMAIN_SUFFIX,
AAD_INSTANCE_DISCOVERY_ENDPT: () => AAD_INSTANCE_DISCOVERY_ENDPT,
AADAuthority: () => AADAuthority
});
var SKU = "msal.js.common", DEFAULT_AUTHORITY = "https://login.microsoftonline.com/common/", DEFAULT_AUTHORITY_HOST = "login.microsoftonline.com", DEFAULT_COMMON_TENANT = "common", ADFS = "adfs", DSTS = "dstsv2", AAD_INSTANCE_DISCOVERY_ENDPT, CIAM_AUTH_URL = ".ciamlogin.com", AAD_TENANT_DOMAIN_SUFFIX = ".onmicrosoft.com", RESOURCE_DELIM = "|", CONSUMER_UTID = "9188040d-6c67-4c5b-b112-36a304b66dad", OPENID_SCOPE = "openid", PROFILE_SCOPE = "profile", OFFLINE_ACCESS_SCOPE = "offline_access", EMAIL_SCOPE = "email", CODE_GRANT_TYPE = "authorization_code", S256_CODE_CHALLENGE_METHOD = "S256", URL_FORM_CONTENT_TYPE = "application/x-www-form-urlencoded;charset=utf-8", AUTHORIZATION_PENDING = "authorization_pending", NOT_APPLICABLE = "N/A", NOT_AVAILABLE = "Not Available", FORWARD_SLASH = "/", IMDS_ENDPOINT = "http://169.254.169.254/metadata/instance/compute/location", IMDS_VERSION = "2020-06-01", IMDS_TIMEOUT = 2000, AZURE_REGION_AUTO_DISCOVER_FLAG = "TryAutoDetect", REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX = "login.microsoft.com", KNOWN_PUBLIC_CLOUDS, SHR_NONCE_VALIDITY = 240, INVALID_INSTANCE = "invalid_instance", HTTP_SUCCESS = 200, HTTP_SUCCESS_RANGE_START = 200, HTTP_SUCCESS_RANGE_END = 299, HTTP_REDIRECT = 302, HTTP_CLIENT_ERROR = 400, HTTP_CLIENT_ERROR_RANGE_START = 400, HTTP_BAD_REQUEST = 400, HTTP_UNAUTHORIZED = 401, HTTP_NOT_FOUND = 404, HTTP_REQUEST_TIMEOUT = 408, HTTP_GONE = 410, HTTP_TOO_MANY_REQUESTS = 429, HTTP_CLIENT_ERROR_RANGE_END = 499, HTTP_SERVER_ERROR = 500, HTTP_SERVER_ERROR_RANGE_START = 500, HTTP_SERVICE_UNAVAILABLE = 503, HTTP_GATEWAY_TIMEOUT = 504, HTTP_SERVER_ERROR_RANGE_END = 599, HTTP_MULTI_SIDED_ERROR = 600, HttpMethod, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, HeaderNames, PersistentCacheKeys, AADAuthority, ClaimsRequestKeys, PromptValue, CodeChallengeMethodValues, OAuthResponseType, ResponseMode, GrantType, CACHE_ACCOUNT_TYPE_MSSTS = "MSSTS", CACHE_ACCOUNT_TYPE_ADFS = "ADFS", CACHE_ACCOUNT_TYPE_MSAV1 = "MSA", CACHE_ACCOUNT_TYPE_GENERIC = "Generic", CACHE_KEY_SEPARATOR = "-", CLIENT_INFO_SEPARATOR = ".", CredentialType, CacheType, APP_METADATA = "appmetadata", CLIENT_INFO = "client_info", THE_FAMILY_ID = "1", AUTHORITY_METADATA_CACHE_KEY = "authority-metadata", AUTHORITY_METADATA_REFRESH_TIME_SECONDS, AuthorityMetadataSource, SERVER_TELEM_SCHEMA_VERSION = 5, SERVER_TELEM_MAX_CUR_HEADER_BYTES = 80, SERVER_TELEM_MAX_LAST_HEADER_BYTES = 330, SERVER_TELEM_MAX_CACHED_ERRORS = 50, SERVER_TELEM_CACHE_KEY = "server-telemetry", SERVER_TELEM_CATEGORY_SEPARATOR = "|", SERVER_TELEM_VALUE_SEPARATOR = ",", SERVER_TELEM_OVERFLOW_TRUE = "1", SERVER_TELEM_OVERFLOW_FALSE = "0", SERVER_TELEM_UNKNOWN_ERROR = "unknown_error", AuthenticationScheme, DEFAULT_THROTTLE_TIME_SECONDS = 60, DEFAULT_MAX_THROTTLE_TIME_SECONDS = 3600, THROTTLING_PREFIX = "throttling", X_MS_LIB_CAPABILITY_VALUE = "retry-after, h429", INVALID_GRANT_ERROR = "invalid_grant", CLIENT_MISMATCH_ERROR = "client_mismatch", PasswordGrantConstants, RegionDiscoverySources, RegionDiscoveryOutcomes, CacheOutcome, JsonWebTokenTypes, ONE_DAY_IN_MS = 86400000, DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300, EncodingTypes;
var init_Constants = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
AAD_INSTANCE_DISCOVERY_ENDPT = `${DEFAULT_AUTHORITY}discovery/instance?api-version=1.1&authorization_endpoint=`;
KNOWN_PUBLIC_CLOUDS = [
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
];
HttpMethod = {
GET: "GET",
POST: "POST"
};
OIDC_DEFAULT_SCOPES = [
OPENID_SCOPE,
PROFILE_SCOPE,
OFFLINE_ACCESS_SCOPE
];
OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, EMAIL_SCOPE];
HeaderNames = {
CONTENT_TYPE: "Content-Type",
CONTENT_LENGTH: "Content-Length",
RETRY_AFTER: "Retry-After",
CCS_HEADER: "X-AnchorMailbox",
WWWAuthenticate: "WWW-Authenticate",
AuthenticationInfo: "Authentication-Info",
X_MS_REQUEST_ID: "x-ms-request-id",
X_MS_HTTP_VERSION: "x-ms-httpver"
};
PersistentCacheKeys = {
ACTIVE_ACCOUNT_FILTERS: "active-account-filters"
};
AADAuthority = {
COMMON: "common",
ORGANIZATIONS: "organizations",
CONSUMERS: "consumers"
};
ClaimsRequestKeys = {
ACCESS_TOKEN: "access_token",
XMS_CC: "xms_cc"
};
PromptValue = {
LOGIN: "login",
SELECT_ACCOUNT: "select_account",
CONSENT: "consent",
NONE: "none",
CREATE: "create",
NO_SESSION: "no_session"
};
CodeChallengeMethodValues = {
PLAIN: "plain",
S256: "S256"
};
OAuthResponseType = {
CODE: "code",
IDTOKEN_TOKEN: "id_token token",
IDTOKEN_TOKEN_REFRESHTOKEN: "id_token token refresh_token"
};
ResponseMode = {
QUERY: "query",
FRAGMENT: "fragment",
FORM_POST: "form_post"
};
GrantType = {
IMPLICIT_GRANT: "implicit",
AUTHORIZATION_CODE_GRANT: "authorization_code",
CLIENT_CREDENTIALS_GRANT: "client_credentials",
RESOURCE_OWNER_PASSWORD_GRANT: "password",
REFRESH_TOKEN_GRANT: "refresh_token",
DEVICE_CODE_GRANT: "device_code",
JWT_BEARER: "urn:ietf:params:oauth:grant-type:jwt-bearer"
};
CredentialType = {
ID_TOKEN: "IdToken",
ACCESS_TOKEN: "AccessToken",
ACCESS_TOKEN_WITH_AUTH_SCHEME: "AccessToken_With_AuthScheme",
REFRESH_TOKEN: "RefreshToken"
};
CacheType = {
ADFS: 1001,
MSA: 1002,
MSSTS: 1003,
GENERIC: 1004,
ACCESS_TOKEN: 2001,
REFRESH_TOKEN: 2002,
ID_TOKEN: 2003,
APP_METADATA: 3001,
UNDEFINED: 9999
};
AUTHORITY_METADATA_REFRESH_TIME_SECONDS = 3600 * 24;
AuthorityMetadataSource = {
CONFIG: "config",
CACHE: "cache",
NETWORK: "network",
HARDCODED_VALUES: "hardcoded_values"
};
AuthenticationScheme = {
BEARER: "Bearer",
POP: "pop",
SSH: "ssh-cert"
};
PasswordGrantConstants = {
username: "username",
password: "password"
};
RegionDiscoverySources = {
FAILED_AUTO_DETECTION: "1",
INTERNAL_CACHE: "2",
ENVIRONMENT_VARIABLE: "3",
IMDS: "4"
};
RegionDiscoveryOutcomes = {
CONFIGURED_MATCHES_DETECTED: "1",
CONFIGURED_NO_AUTO_DETECTION: "2",
CONFIGURED_NOT_DETECTED: "3",
AUTO_DETECTION_REQUESTED_SUCCESSFUL: "4",
AUTO_DETECTION_REQUESTED_FAILED: "5"
};
CacheOutcome = {
NOT_APPLICABLE: "0",
FORCE_REFRESH_OR_CLAIMS: "1",
NO_CACHED_ACCESS_TOKEN: "2",
CACHED_ACCESS_TOKEN_EXPIRED: "3",
PROACTIVELY_REFRESHED: "4"
};
JsonWebTokenTypes = {
Jwt: "JWT",
Jwk: "JWK",
Pop: "pop"
};
EncodingTypes = {
BASE64: "base64",
HEX: "hex",
UTF8: "utf-8"
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/constants/AADServerParamKeys.mjs
var exports_AADServerParamKeys = {};
__export(exports_AADServerParamKeys, {
X_MS_LIB_CAPABILITY: () => X_MS_LIB_CAPABILITY,
X_CLIENT_VER: () => X_CLIENT_VER,
X_CLIENT_SKU: () => X_CLIENT_SKU,
X_CLIENT_OS: () => X_CLIENT_OS,
X_CLIENT_LAST_TELEM: () => X_CLIENT_LAST_TELEM,
X_CLIENT_EXTRA_SKU: () => X_CLIENT_EXTRA_SKU,
X_CLIENT_CURR_TELEM: () => X_CLIENT_CURR_TELEM,
X_CLIENT_CPU: () => X_CLIENT_CPU,
X_APP_VER: () => X_APP_VER,
X_APP_NAME: () => X_APP_NAME,
TOKEN_TYPE: () => TOKEN_TYPE,
STATE: () => STATE2,
SID: () => SID,
SESSION_STATE: () => SESSION_STATE,
SCOPE: () => SCOPE,
RETURN_SPA_CODE: () => RETURN_SPA_CODE,
RESPONSE_TYPE: () => RESPONSE_TYPE2,
RESPONSE_MODE: () => RESPONSE_MODE,
RESOURCE: () => RESOURCE,
REQ_CNF: () => REQ_CNF,
REQUESTED_TOKEN_USE: () => REQUESTED_TOKEN_USE,
REFRESH_TOKEN_EXPIRES_IN: () => REFRESH_TOKEN_EXPIRES_IN,
REFRESH_TOKEN: () => REFRESH_TOKEN,
REDIRECT_URI: () => REDIRECT_URI,
PROMPT: () => PROMPT,
POST_LOGOUT_URI: () => POST_LOGOUT_URI,
ON_BEHALF_OF: () => ON_BEHALF_OF,
OBO_ASSERTION: () => OBO_ASSERTION,
NONCE: () => NONCE,
NATIVE_BROKER: () => NATIVE_BROKER,
LOGOUT_HINT: () => LOGOUT_HINT,
LOGIN_HINT: () => LOGIN_HINT,
INSTANCE_AWARE: () => INSTANCE_AWARE,
ID_TOKEN_HINT: () => ID_TOKEN_HINT,
ID_TOKEN: () => ID_TOKEN,
GRANT_TYPE: () => GRANT_TYPE,
FOCI: () => FOCI,
EXPIRES_IN: () => EXPIRES_IN,
ERROR_DESCRIPTION: () => ERROR_DESCRIPTION,
ERROR: () => ERROR,
EAR_JWK: () => EAR_JWK,
EAR_JWE_CRYPTO: () => EAR_JWE_CRYPTO,
DOMAIN_HINT: () => DOMAIN_HINT,
DEVICE_CODE: () => DEVICE_CODE,
CODE_VERIFIER: () => CODE_VERIFIER,
CODE_CHALLENGE_METHOD: () => CODE_CHALLENGE_METHOD,
CODE_CHALLENGE: () => CODE_CHALLENGE,
CODE: () => CODE,
CLI_DATA: () => CLI_DATA,
CLIENT_SECRET: () => CLIENT_SECRET,
CLIENT_REQUEST_ID: () => CLIENT_REQUEST_ID,
CLIENT_INFO: () => CLIENT_INFO2,
CLIENT_ID: () => CLIENT_ID,
CLIENT_ASSERTION_TYPE: () => CLIENT_ASSERTION_TYPE,
CLIENT_ASSERTION: () => CLIENT_ASSERTION,
CLAIMS: () => CLAIMS,
CCS_HEADER: () => CCS_HEADER,
BROKER_REDIRECT_URI: () => BROKER_REDIRECT_URI,
BROKER_CLIENT_ID: () => BROKER_CLIENT_ID,
ACCESS_TOKEN: () => ACCESS_TOKEN
});
var CLIENT_ID = "client_id", REDIRECT_URI = "redirect_uri", RESPONSE_TYPE2 = "response_type", RESPONSE_MODE = "response_mode", GRANT_TYPE = "grant_type", CLAIMS = "claims", SCOPE = "scope", ERROR = "error", ERROR_DESCRIPTION = "error_description", ACCESS_TOKEN = "access_token", ID_TOKEN = "id_token", REFRESH_TOKEN = "refresh_token", EXPIRES_IN = "expires_in", REFRESH_TOKEN_EXPIRES_IN = "refresh_token_expires_in", STATE2 = "state", NONCE = "nonce", PROMPT = "prompt", SESSION_STATE = "session_state", CLIENT_INFO2 = "client_info", CODE = "code", CODE_CHALLENGE = "code_challenge", CODE_CHALLENGE_METHOD = "code_challenge_method", CODE_VERIFIER = "code_verifier", CLIENT_REQUEST_ID = "client-request-id", X_CLIENT_SKU = "x-client-SKU", X_CLIENT_VER = "x-client-VER", X_CLIENT_OS = "x-client-OS", X_CLIENT_CPU = "x-client-CPU", X_CLIENT_CURR_TELEM = "x-client-current-telemetry", X_CLIENT_LAST_TELEM = "x-client-last-telemetry", X_MS_LIB_CAPABILITY = "x-ms-lib-capability", X_APP_NAME = "x-app-name", X_APP_VER = "x-app-ver", POST_LOGOUT_URI = "post_logout_redirect_uri", ID_TOKEN_HINT = "id_token_hint", DEVICE_CODE = "device_code", CLIENT_SECRET = "client_secret", CLIENT_ASSERTION = "client_assertion", CLIENT_ASSERTION_TYPE = "client_assertion_type", TOKEN_TYPE = "token_type", REQ_CNF = "req_cnf", OBO_ASSERTION = "assertion", REQUESTED_TOKEN_USE = "requested_token_use", ON_BEHALF_OF = "on_behalf_of", FOCI = "foci", CCS_HEADER = "X-AnchorMailbox", RETURN_SPA_CODE = "return_spa_code", NATIVE_BROKER = "nativebroker", LOGOUT_HINT = "logout_hint", SID = "sid", LOGIN_HINT = "login_hint", DOMAIN_HINT = "domain_hint", X_CLIENT_EXTRA_SKU = "x-client-xtra-sku", BROKER_CLIENT_ID = "brk_client_id", BROKER_REDIRECT_URI = "brk_redirect_uri", INSTANCE_AWARE = "instance_aware", EAR_JWK = "ear_jwk", EAR_JWE_CRYPTO = "ear_jwe_crypto", RESOURCE = "resource", CLI_DATA = "clidata";
var init_AADServerParamKeys = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/AuthError.mjs
function getDefaultErrorMessage(code) {
return `See https://aka.ms/msal.js.errors#${code} for details`;
}
function createAuthError(code, additionalMessage) {
return new AuthError(code, additionalMessage || getDefaultErrorMessage(code));
}
var AuthError;
var init_AuthError = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
AuthError = class AuthError extends Error {
constructor(errorCode, errorMessage2, suberror) {
const message = errorMessage2 || (errorCode ? getDefaultErrorMessage(errorCode) : "");
const errorString = message ? `${errorCode}: ${message}` : errorCode;
super(errorString);
Object.setPrototypeOf(this, AuthError.prototype);
this.errorCode = errorCode || "";
this.errorMessage = message || "";
this.subError = suberror || "";
this.name = "AuthError";
}
setCorrelationId(correlationId) {
this.correlationId = correlationId;
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.mjs
function createClientConfigurationError(errorCode) {
return new ClientConfigurationError(errorCode);
}
var ClientConfigurationError;
var init_ClientConfigurationError = __esm(() => {
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
ClientConfigurationError = class ClientConfigurationError extends AuthError {
constructor(errorCode) {
super(errorCode);
this.name = "ClientConfigurationError";
Object.setPrototypeOf(this, ClientConfigurationError.prototype);
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/StringUtils.mjs
class StringUtils {
static isEmptyObj(strObj) {
if (strObj) {
try {
const obj = JSON.parse(strObj);
return Object.keys(obj).length === 0;
} catch (e) {}
}
return true;
}
static startsWith(str, search) {
return str.indexOf(search) === 0;
}
static endsWith(str, search) {
return str.length >= search.length && str.lastIndexOf(search) === str.length - search.length;
}
static queryStringToObject(query) {
const obj = {};
const params = query.split("&");
const decode3 = (s) => decodeURIComponent(s.replace(/\+/g, " "));
params.forEach((pair) => {
if (pair.trim()) {
const [key, value] = pair.split(/=(.+)/g, 2);
if (key && value) {
obj[decode3(key)] = decode3(value);
}
}
});
return obj;
}
static trimArrayEntries(arr) {
return arr.map((entry) => entry.trim());
}
static removeEmptyStringsFromArray(arr) {
return arr.filter((entry) => {
return !!entry;
});
}
static jsonParseHelper(str) {
try {
return JSON.parse(str);
} catch (e) {
return null;
}
}
}
var init_StringUtils = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/ClientAuthError.mjs
function createClientAuthError(errorCode, additionalMessage) {
return new ClientAuthError(errorCode, additionalMessage);
}
var ClientAuthError;
var init_ClientAuthError = __esm(() => {
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
ClientAuthError = class ClientAuthError extends AuthError {
constructor(errorCode, additionalMessage) {
super(errorCode, additionalMessage);
this.name = "ClientAuthError";
Object.setPrototypeOf(this, ClientAuthError.prototype);
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/ClientConfigurationErrorCodes.mjs
var exports_ClientConfigurationErrorCodes = {};
__export(exports_ClientConfigurationErrorCodes, {
urlParseError: () => urlParseError,
urlEmptyError: () => urlEmptyError,
untrustedAuthority: () => untrustedAuthority,
tokenRequestEmpty: () => tokenRequestEmpty,
redirectUriEmpty: () => redirectUriEmpty,
pkceParamsMissing: () => pkceParamsMissing,
missingSshKid: () => missingSshKid,
missingSshJwk: () => missingSshJwk,
missingNonceAuthenticationHeader: () => missingNonceAuthenticationHeader,
logoutRequestEmpty: () => logoutRequestEmpty,
invalidRequestMethodForEAR: () => invalidRequestMethodForEAR,
invalidCodeChallengeMethod: () => invalidCodeChallengeMethod,
invalidCloudDiscoveryMetadata: () => invalidCloudDiscoveryMetadata,
invalidClaims: () => invalidClaims,
invalidAuthorityMetadata: () => invalidAuthorityMetadata,
invalidAuthenticationHeader: () => invalidAuthenticationHeader,
emptyInputScopesError: () => emptyInputScopesError,
claimsRequestParsingError: () => claimsRequestParsingError,
cannotSetOIDCOptions: () => cannotSetOIDCOptions,
cannotAllowPlatformBroker: () => cannotAllowPlatformBroker,
authorityUriInsecure: () => authorityUriInsecure,
authorityMismatch: () => authorityMismatch
});
var redirectUriEmpty = "redirect_uri_empty", claimsRequestParsingError = "claims_request_parsing_error", authorityUriInsecure = "authority_uri_insecure", urlParseError = "url_parse_error", urlEmptyError = "empty_url_error", emptyInputScopesError = "empty_input_scopes_error", invalidClaims = "invalid_claims", tokenRequestEmpty = "token_request_empty", logoutRequestEmpty = "logout_request_empty", invalidCodeChallengeMethod = "invalid_code_challenge_method", pkceParamsMissing = "pkce_params_missing", invalidCloudDiscoveryMetadata = "invalid_cloud_discovery_metadata", invalidAuthorityMetadata = "invalid_authority_metadata", untrustedAuthority = "untrusted_authority", missingSshJwk = "missing_ssh_jwk", missingSshKid = "missing_ssh_kid", missingNonceAuthenticationHeader = "missing_nonce_authentication_header", invalidAuthenticationHeader = "invalid_authentication_header", cannotSetOIDCOptions = "cannot_set_OIDCOptions", cannotAllowPlatformBroker = "cannot_allow_platform_broker", authorityMismatch = "authority_mismatch", invalidRequestMethodForEAR = "invalid_request_method_for_EAR";
var init_ClientConfigurationErrorCodes = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/ClientAuthErrorCodes.mjs
var exports_ClientAuthErrorCodes = {};
__export(exports_ClientAuthErrorCodes, {
userCanceled: () => userCanceled,
unexpectedCredentialType: () => unexpectedCredentialType,
tokenRefreshRequired: () => tokenRefreshRequired,
tokenParsingError: () => tokenParsingError,
tokenClaimsCnfRequiredForSignedJwt: () => tokenClaimsCnfRequiredForSignedJwt,
stateNotFound: () => stateNotFound,
stateMismatch: () => stateMismatch,
resourceParameterRequired: () => resourceParameterRequired,
requestCannotBeMade: () => requestCannotBeMade,
platformBrokerError: () => platformBrokerError,
openIdConfigError: () => openIdConfigError,
nullOrEmptyToken: () => nullOrEmptyToken,
nonceMismatch: () => nonceMismatch,
noNetworkConnectivity: () => noNetworkConnectivity,
noCryptoObject: () => noCryptoObject,
noAccountInSilentRequest: () => noAccountInSilentRequest,
noAccountFound: () => noAccountFound,
networkError: () => networkError,
nestedAppAuthBridgeDisabled: () => nestedAppAuthBridgeDisabled,
multipleMatchingTokens: () => multipleMatchingTokens,
multipleMatchingAppMetadata: () => multipleMatchingAppMetadata,
misplacedResourceParam: () => misplacedResourceParam,
methodNotImplemented: () => methodNotImplemented,
maxAgeTranspired: () => maxAgeTranspired,
keyIdMissing: () => keyIdMissing,
invalidState: () => invalidState,
invalidCacheRecord: () => invalidCacheRecord,
invalidCacheEnvironment: () => invalidCacheEnvironment,
hashNotDeserialized: () => hashNotDeserialized,
endpointResolutionError: () => endpointResolutionError,
endSessionEndpointNotSupported: () => endSessionEndpointNotSupported,
emptyInputScopeSet: () => emptyInputScopeSet,
clientInfoEmptyError: () => clientInfoEmptyError,
clientInfoDecodingError: () => clientInfoDecodingError,
cannotRemoveEmptyScope: () => cannotRemoveEmptyScope,
cannotAppendScopeSet: () => cannotAppendScopeSet,
bindingKeyNotRemoved: () => bindingKeyNotRemoved,
authorizationCodeMissingFromServerResponse: () => authorizationCodeMissingFromServerResponse,
authTimeNotFound: () => authTimeNotFound
});
var clientInfoDecodingError = "client_info_decoding_error", clientInfoEmptyError = "client_info_empty_error", tokenParsingError = "token_parsing_error", nullOrEmptyToken = "null_or_empty_token", endpointResolutionError = "endpoints_resolution_error", networkError = "network_error", openIdConfigError = "openid_config_error", hashNotDeserialized = "hash_not_deserialized", invalidState = "invalid_state", stateMismatch = "state_mismatch", stateNotFound = "state_not_found", nonceMismatch = "nonce_mismatch", authTimeNotFound = "auth_time_not_found", maxAgeTranspired = "max_age_transpired", multipleMatchingTokens = "multiple_matching_tokens", multipleMatchingAppMetadata = "multiple_matching_appMetadata", requestCannotBeMade = "request_cannot_be_made", cannotRemoveEmptyScope = "cannot_remove_empty_scope", cannotAppendScopeSet = "cannot_append_scopeset", emptyInputScopeSet = "empty_input_scopeset", noAccountInSilentRequest = "no_account_in_silent_request", invalidCacheRecord = "invalid_cache_record", invalidCacheEnvironment = "invalid_cache_environment", noAccountFound = "no_account_found", noCryptoObject = "no_crypto_object", unexpectedCredentialType = "unexpected_credential_type", tokenRefreshRequired = "token_refresh_required", tokenClaimsCnfRequiredForSignedJwt = "token_claims_cnf_required_for_signedjwt", authorizationCodeMissingFromServerResponse = "authorization_code_missing_from_server_response", bindingKeyNotRemoved = "binding_key_not_removed", endSessionEndpointNotSupported = "end_session_endpoint_not_supported", keyIdMissing = "key_id_missing", noNetworkConnectivity = "no_network_connectivity", userCanceled = "user_canceled", methodNotImplemented = "method_not_implemented", nestedAppAuthBridgeDisabled = "nested_app_auth_bridge_disabled", platformBrokerError = "platform_broker_error", resourceParameterRequired = "resource_parameter_required", misplacedResourceParam = "misplaced_resource_parameter";
var init_ClientAuthErrorCodes = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/request/ScopeSet.mjs
class ScopeSet {
constructor(inputScopes) {
const scopeArr = inputScopes ? StringUtils.trimArrayEntries([...inputScopes]) : [];
const filteredInput = scopeArr ? StringUtils.removeEmptyStringsFromArray(scopeArr) : [];
if (!filteredInput || !filteredInput.length) {
throw createClientConfigurationError(emptyInputScopesError);
}
this.scopes = new Set;
filteredInput.forEach((scope) => this.scopes.add(scope));
}
static fromString(inputScopeString) {
const scopeString = inputScopeString || "";
const inputScopes = scopeString.split(" ");
return new ScopeSet(inputScopes);
}
static createSearchScopes(inputScopeString) {
const scopesToUse = inputScopeString && inputScopeString.length > 0 ? inputScopeString : [...OIDC_DEFAULT_SCOPES];
const scopeSet = new ScopeSet(scopesToUse);
if (!scopeSet.containsOnlyOIDCScopes()) {
scopeSet.removeOIDCScopes();
} else {
scopeSet.removeScope(OFFLINE_ACCESS_SCOPE);
}
return scopeSet;
}
containsScope(scope) {
const lowerCaseScopes = this.printScopesLowerCase().split(" ");
const lowerCaseScopesSet = new ScopeSet(lowerCaseScopes);
return scope ? lowerCaseScopesSet.scopes.has(scope.toLowerCase()) : false;
}
containsScopeSet(scopeSet) {
if (!scopeSet || scopeSet.scopes.size <= 0) {
return false;
}
return this.scopes.size >= scopeSet.scopes.size && scopeSet.asArray().every((scope) => this.containsScope(scope));
}
containsOnlyOIDCScopes() {
let defaultScopeCount = 0;
OIDC_SCOPES.forEach((defaultScope) => {
if (this.containsScope(defaultScope)) {
defaultScopeCount += 1;
}
});
return this.scopes.size === defaultScopeCount;
}
appendScope(newScope) {
if (newScope) {
this.scopes.add(newScope.trim());
}
}
appendScopes(newScopes) {
try {
newScopes.forEach((newScope) => this.appendScope(newScope));
} catch (e) {
throw createClientAuthError(cannotAppendScopeSet);
}
}
removeScope(scope) {
if (!scope) {
throw createClientAuthError(cannotRemoveEmptyScope);
}
this.scopes.delete(scope.trim());
}
removeOIDCScopes() {
OIDC_SCOPES.forEach((defaultScope) => {
this.scopes.delete(defaultScope);
});
}
unionScopeSets(otherScopes) {
if (!otherScopes) {
throw createClientAuthError(emptyInputScopeSet);
}
const unionScopes = new Set;
otherScopes.scopes.forEach((scope) => unionScopes.add(scope.toLowerCase()));
this.scopes.forEach((scope) => unionScopes.add(scope.toLowerCase()));
return unionScopes;
}
intersectingScopeSets(otherScopes) {
if (!otherScopes) {
throw createClientAuthError(emptyInputScopeSet);
}
if (!otherScopes.containsOnlyOIDCScopes()) {
otherScopes.removeOIDCScopes();
}
const unionScopes = this.unionScopeSets(otherScopes);
const sizeOtherScopes = otherScopes.getScopeCount();
const sizeThisScopes = this.getScopeCount();
const sizeUnionScopes = unionScopes.size;
return sizeUnionScopes < sizeThisScopes + sizeOtherScopes;
}
getScopeCount() {
return this.scopes.size;
}
asArray() {
const array2 = [];
this.scopes.forEach((val) => array2.push(val));
return array2;
}
printScopes() {
if (this.scopes) {
const scopeArr = this.asArray();
return scopeArr.join(" ");
}
return "";
}
printScopesLowerCase() {
return this.printScopes().toLowerCase();
}
}
var init_ScopeSet = __esm(() => {
init_ClientConfigurationError();
init_StringUtils();
init_ClientAuthError();
init_Constants();
init_ClientConfigurationErrorCodes();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.mjs
var exports_RequestParameterBuilder = {};
__export(exports_RequestParameterBuilder, {
instrumentBrokerParams: () => instrumentBrokerParams,
addUsername: () => addUsername,
addThrottling: () => addThrottling,
addState: () => addState,
addSshJwk: () => addSshJwk,
addSid: () => addSid,
addServerTelemetry: () => addServerTelemetry,
addScopes: () => addScopes,
addResponseType: () => addResponseType,
addResponseMode: () => addResponseMode,
addResource: () => addResource,
addRequestTokenUse: () => addRequestTokenUse,
addRefreshToken: () => addRefreshToken,
addRedirectUri: () => addRedirectUri,
addPrompt: () => addPrompt,
addPostLogoutRedirectUri: () => addPostLogoutRedirectUri,
addPopToken: () => addPopToken,
addPassword: () => addPassword,
addOboAssertion: () => addOboAssertion,
addNonce: () => addNonce,
addNativeBroker: () => addNativeBroker,
addLogoutHint: () => addLogoutHint,
addLoginHint: () => addLoginHint,
addLibraryInfo: () => addLibraryInfo,
addInstanceAware: () => addInstanceAware,
addIdTokenHint: () => addIdTokenHint,
addGrantType: () => addGrantType,
addExtraParameters: () => addExtraParameters,
addEARParameters: () => addEARParameters,
addDomainHint: () => addDomainHint,
addDeviceCode: () => addDeviceCode,
addCorrelationId: () => addCorrelationId,
addCodeVerifier: () => addCodeVerifier,
addCodeChallengeParams: () => addCodeChallengeParams,
addClientSecret: () => addClientSecret,
addClientInfo: () => addClientInfo,
addClientId: () => addClientId,
addClientCapabilitiesToClaims: () => addClientCapabilitiesToClaims,
addClientAssertionType: () => addClientAssertionType,
addClientAssertion: () => addClientAssertion,
addCliData: () => addCliData,
addClaims: () => addClaims,
addCcsUpn: () => addCcsUpn,
addCcsOid: () => addCcsOid,
addBrokerParameters: () => addBrokerParameters,
addAuthorizationCode: () => addAuthorizationCode,
addApplicationTelemetry: () => addApplicationTelemetry
});
function instrumentBrokerParams(parameters, correlationId, performanceClient) {
if (!correlationId) {
return;
}
const clientId = parameters.get(CLIENT_ID);
if (clientId && parameters.has(BROKER_CLIENT_ID)) {
performanceClient?.addFields({
embeddedClientId: clientId,
embeddedRedirectUri: parameters.get(REDIRECT_URI)
}, correlationId);
}
}
function addResponseType(parameters, responseType) {
parameters.set(RESPONSE_TYPE2, responseType);
}
function addResponseMode(parameters, responseMode) {
parameters.set(RESPONSE_MODE, responseMode ? responseMode : ResponseMode.QUERY);
}
function addNativeBroker(parameters) {
parameters.set(NATIVE_BROKER, "1");
}
function addScopes(parameters, scopes, addOidcScopes = true, defaultScopes = OIDC_DEFAULT_SCOPES) {
if (addOidcScopes && !defaultScopes.includes("openid") && !scopes.includes("openid")) {
defaultScopes.push("openid");
}
const requestScopes = addOidcScopes ? [...scopes || [], ...defaultScopes] : scopes || [];
const scopeSet = new ScopeSet(requestScopes);
parameters.set(SCOPE, scopeSet.printScopes());
}
function addClientId(parameters, clientId) {
parameters.set(CLIENT_ID, clientId);
}
function addRedirectUri(parameters, redirectUri) {
parameters.set(REDIRECT_URI, redirectUri);
}
function addPostLogoutRedirectUri(parameters, redirectUri) {
parameters.set(POST_LOGOUT_URI, redirectUri);
}
function addIdTokenHint(parameters, idTokenHint) {
parameters.set(ID_TOKEN_HINT, idTokenHint);
}
function addDomainHint(parameters, domainHint) {
parameters.set(DOMAIN_HINT, domainHint);
}
function addLoginHint(parameters, loginHint) {
parameters.set(LOGIN_HINT, loginHint);
}
function addCcsUpn(parameters, loginHint) {
parameters.set(HeaderNames.CCS_HEADER, `UPN:${loginHint}`);
}
function addCcsOid(parameters, clientInfo) {
parameters.set(HeaderNames.CCS_HEADER, `Oid:${clientInfo.uid}@${clientInfo.utid}`);
}
function addSid(parameters, sid) {
parameters.set(SID, sid);
}
function addClaims(parameters, claims, clientCapabilities) {
const mergedClaims = addClientCapabilitiesToClaims(claims, clientCapabilities);
try {
JSON.parse(mergedClaims);
} catch (e) {
throw createClientConfigurationError(invalidClaims);
}
parameters.set(CLAIMS, mergedClaims);
}
function addCorrelationId(parameters, correlationId) {
parameters.set(CLIENT_REQUEST_ID, correlationId);
}
function addLibraryInfo(parameters, libraryInfo) {
parameters.set(X_CLIENT_SKU, libraryInfo.sku);
parameters.set(X_CLIENT_VER, libraryInfo.version);
if (libraryInfo.os) {
parameters.set(X_CLIENT_OS, libraryInfo.os);
}
if (libraryInfo.cpu) {
parameters.set(X_CLIENT_CPU, libraryInfo.cpu);
}
}
function addApplicationTelemetry(parameters, appTelemetry) {
if (appTelemetry?.appName) {
parameters.set(X_APP_NAME, appTelemetry.appName);
}
if (appTelemetry?.appVersion) {
parameters.set(X_APP_VER, appTelemetry.appVersion);
}
}
function addPrompt(parameters, prompt) {
parameters.set(PROMPT, prompt);
}
function addState(parameters, state2) {
if (state2) {
parameters.set(STATE2, state2);
}
}
function addNonce(parameters, nonce) {
parameters.set(NONCE, nonce);
}
function addCodeChallengeParams(parameters, codeChallenge, codeChallengeMethod) {
if (codeChallenge && codeChallengeMethod) {
parameters.set(CODE_CHALLENGE, codeChallenge);
parameters.set(CODE_CHALLENGE_METHOD, codeChallengeMethod);
} else {
throw createClientConfigurationError(pkceParamsMissing);
}
}
function addAuthorizationCode(parameters, code) {
parameters.set(CODE, code);
}
function addDeviceCode(parameters, code) {
parameters.set(DEVICE_CODE, code);
}
function addRefreshToken(parameters, refreshToken) {
parameters.set(REFRESH_TOKEN, refreshToken);
}
function addCodeVerifier(parameters, codeVerifier) {
parameters.set(CODE_VERIFIER, codeVerifier);
}
function addClientSecret(parameters, clientSecret) {
parameters.set(CLIENT_SECRET, clientSecret);
}
function addClientAssertion(parameters, clientAssertion) {
if (clientAssertion) {
parameters.set(CLIENT_ASSERTION, clientAssertion);
}
}
function addClientAssertionType(parameters, clientAssertionType) {
if (clientAssertionType) {
parameters.set(CLIENT_ASSERTION_TYPE, clientAssertionType);
}
}
function addOboAssertion(parameters, oboAssertion) {
parameters.set(OBO_ASSERTION, oboAssertion);
}
function addRequestTokenUse(parameters, tokenUse) {
parameters.set(REQUESTED_TOKEN_USE, tokenUse);
}
function addGrantType(parameters, grantType) {
parameters.set(GRANT_TYPE, grantType);
}
function addClientInfo(parameters) {
parameters.set(CLIENT_INFO, "1");
}
function addCliData(parameters) {
parameters.set(CLI_DATA, "1");
}
function addInstanceAware(parameters) {
if (!parameters.has(INSTANCE_AWARE)) {
parameters.set(INSTANCE_AWARE, "true");
}
}
function addExtraParameters(parameters, extraParams) {
Object.entries(extraParams).forEach(([key, value]) => {
if (!parameters.has(key) && value) {
parameters.set(key, value);
}
});
}
function addClientCapabilitiesToClaims(claims, clientCapabilities) {
let mergedClaims;
if (!claims) {
mergedClaims = {};
} else {
try {
mergedClaims = JSON.parse(claims);
} catch (e) {
throw createClientConfigurationError(invalidClaims);
}
}
if (clientCapabilities && clientCapabilities.length > 0) {
if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)) {
mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};
}
mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {
values: clientCapabilities
};
}
return JSON.stringify(mergedClaims);
}
function addUsername(parameters, username) {
parameters.set(PasswordGrantConstants.username, username);
}
function addPassword(parameters, password) {
parameters.set(PasswordGrantConstants.password, password);
}
function addPopToken(parameters, cnfString) {
if (cnfString) {
parameters.set(TOKEN_TYPE, AuthenticationScheme.POP);
parameters.set(REQ_CNF, cnfString);
}
}
function addSshJwk(parameters, sshJwkString) {
if (sshJwkString) {
parameters.set(TOKEN_TYPE, AuthenticationScheme.SSH);
parameters.set(REQ_CNF, sshJwkString);
}
}
function addServerTelemetry(parameters, serverTelemetryManager) {
parameters.set(X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());
parameters.set(X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());
}
function addThrottling(parameters) {
parameters.set(X_MS_LIB_CAPABILITY, X_MS_LIB_CAPABILITY_VALUE);
}
function addLogoutHint(parameters, logoutHint) {
parameters.set(LOGOUT_HINT, logoutHint);
}
function addBrokerParameters(parameters, brokerClientId, brokerRedirectUri) {
if (!parameters.has(BROKER_CLIENT_ID)) {
parameters.set(BROKER_CLIENT_ID, brokerClientId);
}
if (!parameters.has(BROKER_REDIRECT_URI)) {
parameters.set(BROKER_REDIRECT_URI, brokerRedirectUri);
}
}
function addEARParameters(parameters, jwk) {
parameters.set(EAR_JWK, encodeURIComponent(jwk));
const jweCryptoB64Encoded = "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0";
parameters.set(EAR_JWE_CRYPTO, jweCryptoB64Encoded);
}
function addResource(parameters, resource) {
if (resource) {
parameters.set(RESOURCE, resource);
}
}
var init_RequestParameterBuilder = __esm(() => {
init_Constants();
init_AADServerParamKeys();
init_ScopeSet();
init_ClientConfigurationError();
init_ClientConfigurationErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/UrlUtils.mjs
var exports_UrlUtils = {};
__export(exports_UrlUtils, {
stripLeadingHashOrQuery: () => stripLeadingHashOrQuery,
normalizeUrlForComparison: () => normalizeUrlForComparison,
mapToQueryString: () => mapToQueryString,
getDeserializedResponse: () => getDeserializedResponse
});
function canonicalizeUrl(url3) {
if (!url3) {
return url3;
}
let lowerCaseUrl = url3.toLowerCase();
if (StringUtils.endsWith(lowerCaseUrl, "?")) {
lowerCaseUrl = lowerCaseUrl.slice(0, -1);
} else if (StringUtils.endsWith(lowerCaseUrl, "?/")) {
lowerCaseUrl = lowerCaseUrl.slice(0, -2);
}
if (!StringUtils.endsWith(lowerCaseUrl, "/")) {
lowerCaseUrl += "/";
}
return lowerCaseUrl;
}
function stripLeadingHashOrQuery(responseString) {
if (responseString.startsWith("#/")) {
return responseString.substring(2);
} else if (responseString.startsWith("#") || responseString.startsWith("?")) {
return responseString.substring(1);
}
return responseString;
}
function getDeserializedResponse(responseString) {
if (!responseString || responseString.indexOf("=") < 0) {
return null;
}
try {
const normalizedResponse = stripLeadingHashOrQuery(responseString);
const deserializedHash = Object.fromEntries(new URLSearchParams(normalizedResponse));
if (deserializedHash.code || deserializedHash.ear_jwe || deserializedHash.error || deserializedHash.error_description || deserializedHash.state) {
return deserializedHash;
}
} catch (e) {
throw createClientAuthError(hashNotDeserialized);
}
return null;
}
function mapToQueryString(parameters) {
const queryParameterArray = new Array;
parameters.forEach((value, key) => {
queryParameterArray.push(`${key}=${encodeURIComponent(value)}`);
});
return queryParameterArray.join("&");
}
function normalizeUrlForComparison(url3) {
if (!url3) {
return url3;
}
const urlWithoutHash = url3.split("#")[0];
try {
const urlObj = new URL(urlWithoutHash);
const normalizedUrl = urlObj.origin + urlObj.pathname + urlObj.search;
return canonicalizeUrl(normalizedUrl);
} catch (e) {
return canonicalizeUrl(urlWithoutHash);
}
}
var init_UrlUtils = __esm(() => {
init_ClientAuthError();
init_StringUtils();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/crypto/ICrypto.mjs
var DEFAULT_CRYPTO_IMPLEMENTATION;
var init_ICrypto = __esm(() => {
init_ClientAuthError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
DEFAULT_CRYPTO_IMPLEMENTATION = {
createNewGuid: () => {
throw createClientAuthError(methodNotImplemented);
},
base64Decode: () => {
throw createClientAuthError(methodNotImplemented);
},
base64Encode: () => {
throw createClientAuthError(methodNotImplemented);
},
base64UrlEncode: () => {
throw createClientAuthError(methodNotImplemented);
},
encodeKid: () => {
throw createClientAuthError(methodNotImplemented);
},
async getPublicKeyThumbprint() {
throw createClientAuthError(methodNotImplemented);
},
async removeTokenBindingKey() {
throw createClientAuthError(methodNotImplemented);
},
async clearKeystore() {
throw createClientAuthError(methodNotImplemented);
},
async signJwt() {
throw createClientAuthError(methodNotImplemented);
},
async hashString() {
throw createClientAuthError(methodNotImplemented);
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/logger/Logger.mjs
function markAsRecentlyUsed(correlationId, data) {
correlationCache.delete(correlationId);
correlationCache.set(correlationId, data);
}
function addLogToCache(correlationId, loggedMessage) {
const currentTime = Date.now();
let data = correlationCache.get(correlationId);
if (data) {
markAsRecentlyUsed(correlationId, data);
} else {
data = { logs: [], firstEventTime: currentTime };
correlationCache.set(correlationId, data);
if (correlationCache.size > CACHE_CAPACITY) {
const firstKey = correlationCache.keys().next().value;
if (firstKey) {
correlationCache.delete(firstKey);
}
}
}
data.logs.push({
...loggedMessage,
milliseconds: currentTime - data.firstEventTime
});
if (data.logs.length > MAX_LOGS_PER_CORRELATION) {
data.logs.shift();
}
}
function isHashedString(str) {
if (str.length !== 6) {
return false;
}
for (let i2 = 0;i2 < str.length; i2++) {
const char = str[i2];
const isAlphaNumeric = char >= "a" && char <= "z" || char >= "A" && char <= "Z" || char >= "0" && char <= "9";
if (!isAlphaNumeric) {
return false;
}
}
return true;
}
class Logger {
constructor(loggerOptions, packageName, packageVersion) {
this.level = LogLevel.Info;
const defaultLoggerCallback = () => {
return;
};
const setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();
this.localCallback = setLoggerOptions.loggerCallback || defaultLoggerCallback;
this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;
this.level = typeof setLoggerOptions.logLevel === "number" ? setLoggerOptions.logLevel : LogLevel.Info;
this.packageName = packageName || "";
this.packageVersion = packageVersion || "";
}
static createDefaultLoggerOptions() {
return {
loggerCallback: () => {},
piiLoggingEnabled: false,
logLevel: LogLevel.Info
};
}
clone(packageName, packageVersion) {
return new Logger({
loggerCallback: this.localCallback,
piiLoggingEnabled: this.piiLoggingEnabled,
logLevel: this.level
}, packageName, packageVersion);
}
logMessage(logMessage, options) {
const correlationId = options.correlationId;
const isHashedInput = isHashedString(logMessage);
if (isHashedInput) {
const loggedMessage = {
hash: logMessage,
level: options.logLevel,
containsPii: options.containsPii || false,
milliseconds: 0
};
addLogToCache(correlationId, loggedMessage);
}
if (options.logLevel > this.level || !this.piiLoggingEnabled && options.containsPii) {
return;
}
const timestamp = new Date().toUTCString();
const logHeader = `[${timestamp}] : [${correlationId}]`;
const log3 = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;
this.executeCallback(options.logLevel, log3, options.containsPii || false);
}
executeCallback(level, message, containsPii) {
if (this.localCallback) {
this.localCallback(level, message, containsPii);
}
}
error(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Error,
containsPii: false,
correlationId
});
}
errorPii(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Error,
containsPii: true,
correlationId
});
}
warning(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Warning,
containsPii: false,
correlationId
});
}
warningPii(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Warning,
containsPii: true,
correlationId
});
}
info(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Info,
containsPii: false,
correlationId
});
}
infoPii(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Info,
containsPii: true,
correlationId
});
}
verbose(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Verbose,
containsPii: false,
correlationId
});
}
verbosePii(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Verbose,
containsPii: true,
correlationId
});
}
trace(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Trace,
containsPii: false,
correlationId
});
}
tracePii(message, correlationId) {
this.logMessage(message, {
logLevel: LogLevel.Trace,
containsPii: true,
correlationId
});
}
isPiiLoggingEnabled() {
return this.piiLoggingEnabled || false;
}
}
var LogLevel, CACHE_CAPACITY = 50, MAX_LOGS_PER_CORRELATION = 500, correlationCache;
var init_Logger = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
(function(LogLevel2) {
LogLevel2[LogLevel2["Error"] = 0] = "Error";
LogLevel2[LogLevel2["Warning"] = 1] = "Warning";
LogLevel2[LogLevel2["Info"] = 2] = "Info";
LogLevel2[LogLevel2["Verbose"] = 3] = "Verbose";
LogLevel2[LogLevel2["Trace"] = 4] = "Trace";
})(LogLevel || (LogLevel = {}));
correlationCache = new Map;
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/packageMetadata.mjs
var name = "@azure/msal-common", version2 = "16.4.0";
var init_packageMetadata = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.mjs
var AzureCloudInstance;
var init_AuthorityOptions = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
AzureCloudInstance = {
None: "none",
AzurePublic: "https://login.microsoftonline.com",
AzurePpe: "https://login.windows-ppe.net",
AzureChina: "https://login.chinacloudapi.cn",
AzureGermany: "https://login.microsoftonline.de",
AzureUsGovernment: "https://login.microsoftonline.us"
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/account/AccountInfo.mjs
function tenantIdMatchesHomeTenant(tenantId, homeAccountId) {
return !!tenantId && !!homeAccountId && tenantId === homeAccountId.split(".")[1];
}
function buildTenantProfile(homeAccountId, localAccountId, tenantId, idTokenClaims) {
if (idTokenClaims) {
const { oid, sub, tid, name: name2, tfp, acr, preferred_username, upn, login_hint } = idTokenClaims;
const tenantId2 = tid || tfp || acr || "";
return {
tenantId: tenantId2,
localAccountId: oid || sub || "",
name: name2,
username: preferred_username || upn || "",
loginHint: login_hint,
isHomeTenant: tenantIdMatchesHomeTenant(tenantId2, homeAccountId)
};
} else {
return {
tenantId,
localAccountId,
username: "",
isHomeTenant: tenantIdMatchesHomeTenant(tenantId, homeAccountId)
};
}
}
function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenClaims, idTokenSecret) {
let updatedAccountInfo = baseAccountInfo;
if (tenantProfile) {
const { isHomeTenant, ...tenantProfileOverride } = tenantProfile;
updatedAccountInfo = { ...baseAccountInfo, ...tenantProfileOverride };
}
if (idTokenClaims) {
const { isHomeTenant, ...claimsSourcedTenantProfile } = buildTenantProfile(baseAccountInfo.homeAccountId, baseAccountInfo.localAccountId, baseAccountInfo.tenantId, idTokenClaims);
updatedAccountInfo = {
...updatedAccountInfo,
...claimsSourcedTenantProfile,
idTokenClaims,
idToken: idTokenSecret
};
return updatedAccountInfo;
}
return updatedAccountInfo;
}
var init_AccountInfo = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/account/AuthToken.mjs
var exports_AuthToken = {};
__export(exports_AuthToken, {
isKmsi: () => isKmsi,
getJWSPayload: () => getJWSPayload,
extractTokenClaims: () => extractTokenClaims,
checkMaxAge: () => checkMaxAge
});
function extractTokenClaims(encodedToken, base64Decode) {
const jswPayload = getJWSPayload(encodedToken);
try {
const base64Decoded = base64Decode(jswPayload);
return JSON.parse(base64Decoded);
} catch (err) {
throw createClientAuthError(tokenParsingError);
}
}
function isKmsi(idTokenClaims) {
if (!idTokenClaims.signin_state) {
return false;
}
const kmsiClaims = ["kmsi", "dvc_dmjd"];
return idTokenClaims.signin_state.some((value) => kmsiClaims.includes(value.trim().toLowerCase()));
}
function getJWSPayload(authToken) {
if (!authToken) {
throw createClientAuthError(nullOrEmptyToken);
}
const tokenPartsRegex = /^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/;
const matches = tokenPartsRegex.exec(authToken);
if (!matches || matches.length < 4) {
throw createClientAuthError(tokenParsingError);
}
return matches[2];
}
function checkMaxAge(authTime, maxAge) {
const fiveMinuteSkew = 300000;
if (maxAge === 0 || Date.now() - fiveMinuteSkew > authTime + maxAge) {
throw createClientAuthError(maxAgeTranspired);
}
}
var init_AuthToken = __esm(() => {
init_ClientAuthError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/url/UrlString.mjs
class UrlString {
get urlString() {
return this._urlString;
}
constructor(url3) {
this._urlString = url3;
if (!this._urlString) {
throw createClientConfigurationError(urlEmptyError);
}
if (!url3.includes("#")) {
this._urlString = UrlString.canonicalizeUri(url3);
}
}
static canonicalizeUri(url3) {
if (url3) {
let lowerCaseUrl = url3.toLowerCase();
if (StringUtils.endsWith(lowerCaseUrl, "?")) {
lowerCaseUrl = lowerCaseUrl.slice(0, -1);
} else if (StringUtils.endsWith(lowerCaseUrl, "?/")) {
lowerCaseUrl = lowerCaseUrl.slice(0, -2);
}
if (!StringUtils.endsWith(lowerCaseUrl, "/")) {
lowerCaseUrl += "/";
}
return lowerCaseUrl;
}
return url3;
}
validateAsUri() {
let components;
try {
components = this.getUrlComponents();
} catch (e) {
throw createClientConfigurationError(urlParseError);
}
if (!components.HostNameAndPort || !components.PathSegments) {
throw createClientConfigurationError(urlParseError);
}
if (!components.Protocol || components.Protocol.toLowerCase() !== "https:") {
throw createClientConfigurationError(authorityUriInsecure);
}
}
static appendQueryString(url3, queryString) {
if (!queryString) {
return url3;
}
return url3.indexOf("?") < 0 ? `${url3}?${queryString}` : `${url3}&${queryString}`;
}
static removeHashFromUrl(url3) {
return UrlString.canonicalizeUri(url3.split("#")[0]);
}
replaceTenantPath(tenantId) {
const urlObject = this.getUrlComponents();
const pathArray = urlObject.PathSegments;
if (tenantId && pathArray.length !== 0 && (pathArray[0] === AADAuthority.COMMON || pathArray[0] === AADAuthority.ORGANIZATIONS)) {
pathArray[0] = tenantId;
}
return UrlString.constructAuthorityUriFromObject(urlObject);
}
getUrlComponents() {
const regEx = RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?");
const match = this.urlString.match(regEx);
if (!match) {
throw createClientConfigurationError(urlParseError);
}
const urlComponents = {
Protocol: match[1],
HostNameAndPort: match[4],
AbsolutePath: match[5],
QueryString: match[7]
};
let pathSegments = urlComponents.AbsolutePath.split("/");
pathSegments = pathSegments.filter((val) => val && val.length > 0);
urlComponents.PathSegments = pathSegments;
if (urlComponents.QueryString && urlComponents.QueryString.endsWith("/")) {
urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length - 1);
}
return urlComponents;
}
static getDomainFromUrl(url3) {
const regEx = RegExp("^([^:/?#]+://)?([^/?#]*)");
const match = url3.match(regEx);
if (!match) {
throw createClientConfigurationError(urlParseError);
}
return match[2];
}
static getAbsoluteUrl(relativeUrl, baseUrl) {
if (relativeUrl[0] === FORWARD_SLASH) {
const url3 = new UrlString(baseUrl);
const baseComponents = url3.getUrlComponents();
return baseComponents.Protocol + "//" + baseComponents.HostNameAndPort + relativeUrl;
}
return relativeUrl;
}
static constructAuthorityUriFromObject(urlObject) {
return new UrlString(urlObject.Protocol + "//" + urlObject.HostNameAndPort + "/" + urlObject.PathSegments.join("/"));
}
}
var init_UrlString = __esm(() => {
init_ClientConfigurationError();
init_StringUtils();
init_Constants();
init_ClientConfigurationErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.mjs
function buildOpenIdConfig(host, issuerHost) {
return {
token_endpoint: `https://${host}/{tenantid}/oauth2/v2.0/token`,
jwks_uri: `https://${host}/{tenantid}/discovery/v2.0/keys`,
issuer: `https://${issuerHost}/{tenantid}/v2.0`,
authorization_endpoint: `https://${host}/{tenantid}/oauth2/v2.0/authorize`,
end_session_endpoint: `https://${host}/{tenantid}/oauth2/v2.0/logout`
};
}
function getAliasesFromStaticSources(staticAuthorityOptions, logger3, correlationId) {
let staticAliases;
const canonicalAuthority = staticAuthorityOptions.canonicalAuthority;
if (canonicalAuthority) {
const authorityHost = new UrlString(canonicalAuthority).getUrlComponents().HostNameAndPort;
staticAliases = getAliasesFromMetadata(logger3, correlationId, authorityHost, staticAuthorityOptions.cloudDiscoveryMetadata?.metadata, AuthorityMetadataSource.CONFIG) || getAliasesFromMetadata(logger3, correlationId, authorityHost, InstanceDiscoveryMetadata.metadata, AuthorityMetadataSource.HARDCODED_VALUES) || staticAuthorityOptions.knownAuthorities;
}
return staticAliases || [];
}
function getAliasesFromMetadata(logger3, correlationId, authorityHost, cloudDiscoveryMetadata, source) {
logger3.trace(`getAliasesFromMetadata called with source: '${source}'`, correlationId);
if (authorityHost && cloudDiscoveryMetadata) {
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(cloudDiscoveryMetadata, authorityHost);
if (metadata) {
logger3.trace(`getAliasesFromMetadata: found cloud discovery metadata in '${source}', returning aliases`, correlationId);
return metadata.aliases;
} else {
logger3.trace(`getAliasesFromMetadata: did not find cloud discovery metadata in '${source}'`, correlationId);
}
}
return null;
}
function getCloudDiscoveryMetadataFromHardcodedValues(authorityHost) {
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(InstanceDiscoveryMetadata.metadata, authorityHost);
return metadata;
}
function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
for (let i2 = 0;i2 < response.length; i2++) {
const metadata = response[i2];
if (metadata.aliases.includes(authorityHost)) {
return metadata;
}
}
return null;
}
var endpointHosts, dynamicEndpointMetadata, rawMetdataJSON, EndpointMetadata, InstanceDiscoveryMetadata, InstanceDiscoveryMetadataAliases;
var init_AuthorityMetadata = __esm(() => {
init_UrlString();
init_Constants();
/*! @azure/msal-common v16.4.0 2026-03-18 */
endpointHosts = [
{ host: "login.microsoftonline.com" },
{
host: "login.chinacloudapi.cn",
issuerHost: "login.partner.microsoftonline.cn"
},
{ host: "login.microsoftonline.us" },
{ host: "login.sovcloud-identity.fr" },
{ host: "login.sovcloud-identity.de" },
{ host: "login.sovcloud-identity.sg" }
];
dynamicEndpointMetadata = endpointHosts.reduce((acc, { host, issuerHost }) => {
acc[host] = buildOpenIdConfig(host, issuerHost || host);
return acc;
}, {});
rawMetdataJSON = {
endpointMetadata: dynamicEndpointMetadata,
instanceDiscoveryMetadata: {
metadata: [
{
preferred_network: "login.microsoftonline.com",
preferred_cache: "login.windows.net",
aliases: [
"login.microsoftonline.com",
"login.windows.net",
"login.microsoft.com",
"sts.windows.net"
]
},
{
preferred_network: "login.partner.microsoftonline.cn",
preferred_cache: "login.partner.microsoftonline.cn",
aliases: [
"login.partner.microsoftonline.cn",
"login.chinacloudapi.cn"
]
},
{
preferred_network: "login.microsoftonline.de",
preferred_cache: "login.microsoftonline.de",
aliases: ["login.microsoftonline.de"]
},
{
preferred_network: "login.microsoftonline.us",
preferred_cache: "login.microsoftonline.us",
aliases: [
"login.microsoftonline.us",
"login.usgovcloudapi.net"
]
},
{
preferred_network: "login-us.microsoftonline.com",
preferred_cache: "login-us.microsoftonline.com",
aliases: ["login-us.microsoftonline.com"]
},
{
preferred_network: "login.sovcloud-identity.fr",
preferred_cache: "login.sovcloud-identity.fr",
aliases: ["login.sovcloud-identity.fr"]
},
{
preferred_network: "login.sovcloud-identity.de",
preferred_cache: "login.sovcloud-identity.de",
aliases: ["login.sovcloud-identity.de"]
},
{
preferred_network: "login.sovcloud-identity.sg",
preferred_cache: "login.sovcloud-identity.sg",
aliases: ["login.sovcloud-identity.sg"]
}
]
}
};
EndpointMetadata = rawMetdataJSON.endpointMetadata;
InstanceDiscoveryMetadata = rawMetdataJSON.instanceDiscoveryMetadata;
InstanceDiscoveryMetadataAliases = new Set;
InstanceDiscoveryMetadata.metadata.forEach((metadataEntry) => {
metadataEntry.aliases.forEach((alias) => {
InstanceDiscoveryMetadataAliases.add(alias);
});
});
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/CacheErrorCodes.mjs
var cacheQuotaExceeded = "cache_quota_exceeded", cacheErrorUnknown = "cache_error_unknown";
var init_CacheErrorCodes = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/CacheError.mjs
function createCacheError(e) {
if (!(e instanceof Error)) {
return new CacheError(cacheErrorUnknown);
}
if (e.name === "QuotaExceededError" || e.name === "NS_ERROR_DOM_QUOTA_REACHED" || e.message.includes("exceeded the quota")) {
return new CacheError(cacheQuotaExceeded);
} else {
return new CacheError(e.name, e.message);
}
}
var CacheError;
var init_CacheError = __esm(() => {
init_CacheErrorCodes();
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
CacheError = class CacheError extends Error {
constructor(errorCode, errorMessage2) {
const message = errorMessage2 || getDefaultErrorMessage(errorCode);
super(message);
Object.setPrototypeOf(this, CacheError.prototype);
this.name = "CacheError";
this.errorCode = errorCode;
this.errorMessage = message;
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/account/ClientInfo.mjs
function buildClientInfo(rawClientInfo, base64Decode) {
if (!rawClientInfo) {
throw createClientAuthError(clientInfoEmptyError);
}
try {
const decodedClientInfo = base64Decode(rawClientInfo);
return JSON.parse(decodedClientInfo);
} catch (e) {
throw createClientAuthError(clientInfoDecodingError);
}
}
function buildClientInfoFromHomeAccountId(homeAccountId) {
if (!homeAccountId) {
throw createClientAuthError(clientInfoDecodingError);
}
const clientInfoParts = homeAccountId.split(CLIENT_INFO_SEPARATOR, 2);
return {
uid: clientInfoParts[0],
utid: clientInfoParts.length < 2 ? "" : clientInfoParts[1]
};
}
var init_ClientInfo = __esm(() => {
init_ClientAuthError();
init_Constants();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/AuthorityType.mjs
var AuthorityType;
var init_AuthorityType = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
AuthorityType = {
Default: 0,
Adfs: 1,
Dsts: 2,
Ciam: 3
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/account/TokenClaims.mjs
function getTenantIdFromIdTokenClaims(idTokenClaims) {
if (idTokenClaims) {
const tenantId = idTokenClaims.tid || idTokenClaims.tfp || idTokenClaims.acr;
return tenantId || null;
}
return null;
}
var init_TokenClaims = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/ProtocolMode.mjs
var ProtocolMode;
var init_ProtocolMode = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
ProtocolMode = {
AAD: "AAD",
OIDC: "OIDC",
EAR: "EAR"
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/cache/utils/AccountEntityUtils.mjs
var exports_AccountEntityUtils = {};
__export(exports_AccountEntityUtils, {
isSingleTenant: () => isSingleTenant,
isAccountEntity: () => isAccountEntity,
getAccountInfo: () => getAccountInfo,
generateHomeAccountId: () => generateHomeAccountId,
generateAccountId: () => generateAccountId,
createAccountEntityFromAccountInfo: () => createAccountEntityFromAccountInfo,
createAccountEntity: () => createAccountEntity
});
function generateAccountId(accountEntity) {
const accountId = [
accountEntity.homeAccountId,
accountEntity.environment
];
return accountId.join(CACHE_KEY_SEPARATOR).toLowerCase();
}
function getAccountInfo(accountEntity) {
const tenantProfiles = accountEntity.tenantProfiles || [];
if (tenantProfiles.length === 0 && accountEntity.realm && accountEntity.localAccountId) {
tenantProfiles.push(buildTenantProfile(accountEntity.homeAccountId, accountEntity.localAccountId, accountEntity.realm));
}
return {
homeAccountId: accountEntity.homeAccountId,
environment: accountEntity.environment,
tenantId: accountEntity.realm,
username: accountEntity.username,
localAccountId: accountEntity.localAccountId,
loginHint: accountEntity.loginHint,
name: accountEntity.name,
nativeAccountId: accountEntity.nativeAccountId,
authorityType: accountEntity.authorityType,
tenantProfiles: new Map(tenantProfiles.map((tenantProfile) => {
return [tenantProfile.tenantId, tenantProfile];
})),
dataBoundary: accountEntity.dataBoundary
};
}
function isSingleTenant(accountEntity) {
return !accountEntity.tenantProfiles;
}
function createAccountEntity(accountDetails, authority, base64Decode) {
let authorityType;
if (authority.authorityType === AuthorityType.Adfs) {
authorityType = CACHE_ACCOUNT_TYPE_ADFS;
} else if (authority.protocolMode === ProtocolMode.OIDC) {
authorityType = CACHE_ACCOUNT_TYPE_GENERIC;
} else {
authorityType = CACHE_ACCOUNT_TYPE_MSSTS;
}
let clientInfo;
let dataBoundary;
if (accountDetails.clientInfo && base64Decode) {
clientInfo = buildClientInfo(accountDetails.clientInfo, base64Decode);
if (clientInfo.xms_tdbr) {
dataBoundary = clientInfo.xms_tdbr === "EU" ? "EU" : "None";
}
}
const env6 = accountDetails.environment || authority && authority.getPreferredCache();
if (!env6) {
throw createClientAuthError(invalidCacheEnvironment);
}
const preferredUsername = accountDetails.idTokenClaims?.preferred_username || accountDetails.idTokenClaims?.upn;
const email3 = accountDetails.idTokenClaims?.emails ? accountDetails.idTokenClaims.emails[0] : null;
const username = preferredUsername || email3 || "";
const loginHint = accountDetails.idTokenClaims?.login_hint;
const realm = clientInfo?.utid || getTenantIdFromIdTokenClaims(accountDetails.idTokenClaims) || "";
const localAccountId = clientInfo?.uid || accountDetails.idTokenClaims?.oid || accountDetails.idTokenClaims?.sub || "";
let tenantProfiles;
if (accountDetails.tenantProfiles) {
tenantProfiles = accountDetails.tenantProfiles;
} else {
const tenantProfile = buildTenantProfile(accountDetails.homeAccountId, localAccountId, realm, accountDetails.idTokenClaims);
tenantProfiles = [tenantProfile];
}
return {
homeAccountId: accountDetails.homeAccountId,
environment: env6,
realm,
localAccountId,
username,
authorityType,
loginHint,
clientInfo: accountDetails.clientInfo,
name: accountDetails.idTokenClaims?.name || "",
lastModificationTime: undefined,
lastModificationApp: undefined,
cloudGraphHostName: accountDetails.cloudGraphHostName,
msGraphHost: accountDetails.msGraphHost,
nativeAccountId: accountDetails.nativeAccountId,
tenantProfiles,
dataBoundary
};
}
function createAccountEntityFromAccountInfo(accountInfo, cloudGraphHostName, msGraphHost) {
const tenantProfiles = Array.from(accountInfo.tenantProfiles?.values() || []);
if (tenantProfiles.length === 0 && accountInfo.tenantId && accountInfo.localAccountId) {
tenantProfiles.push(buildTenantProfile(accountInfo.homeAccountId, accountInfo.localAccountId, accountInfo.tenantId, accountInfo.idTokenClaims));
}
return {
authorityType: accountInfo.authorityType || CACHE_ACCOUNT_TYPE_GENERIC,
homeAccountId: accountInfo.homeAccountId,
localAccountId: accountInfo.localAccountId,
nativeAccountId: accountInfo.nativeAccountId,
realm: accountInfo.tenantId,
environment: accountInfo.environment,
username: accountInfo.username,
loginHint: accountInfo.loginHint,
name: accountInfo.name,
cloudGraphHostName,
msGraphHost,
tenantProfiles,
dataBoundary: accountInfo.dataBoundary
};
}
function generateHomeAccountId(serverClientInfo, authType, logger3, cryptoObj, correlationId, idTokenClaims) {
if (!(authType === AuthorityType.Adfs || authType === AuthorityType.Dsts)) {
if (serverClientInfo) {
try {
const clientInfo = buildClientInfo(serverClientInfo, cryptoObj.base64Decode);
if (clientInfo.uid && clientInfo.utid) {
return `${clientInfo.uid}.${clientInfo.utid}`;
}
} catch (e) {}
}
logger3.warning("No client info in response", correlationId);
}
return idTokenClaims?.sub || "";
}
function isAccountEntity(entity) {
if (!entity) {
return false;
}
return entity.hasOwnProperty("homeAccountId") && entity.hasOwnProperty("environment") && entity.hasOwnProperty("realm") && entity.hasOwnProperty("localAccountId") && entity.hasOwnProperty("username") && entity.hasOwnProperty("authorityType");
}
var init_AccountEntityUtils = __esm(() => {
init_Constants();
init_ClientInfo();
init_AccountInfo();
init_ClientAuthError();
init_AuthorityType();
init_TokenClaims();
init_ProtocolMode();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/cache/CacheManager.mjs
class CacheManager {
constructor(clientId, cryptoImpl, logger3, performanceClient, staticAuthorityOptions) {
this.clientId = clientId;
this.cryptoImpl = cryptoImpl;
this.commonLogger = logger3.clone(name, version2);
this.staticAuthorityOptions = staticAuthorityOptions;
this.performanceClient = performanceClient;
}
getAllAccounts(accountFilter = {}, correlationId) {
return this.buildTenantProfiles(this.getAccountsFilteredBy(accountFilter, correlationId), correlationId, accountFilter);
}
getAccountInfoFilteredBy(accountFilter, correlationId) {
if (Object.keys(accountFilter).length === 0 || Object.values(accountFilter).every((value) => value === null || value === undefined || value === "")) {
this.commonLogger.warning("getAccountInfoFilteredBy: Account filter is empty or invalid, returning null", correlationId);
return null;
}
const allAccounts = this.getAllAccounts(accountFilter, correlationId);
if (allAccounts.length > 1) {
const sortedAccounts = allAccounts.sort((account) => {
return account.idTokenClaims ? -1 : 1;
});
return sortedAccounts[0];
} else if (allAccounts.length === 1) {
return allAccounts[0];
} else {
return null;
}
}
getBaseAccountInfo(accountFilter, correlationId) {
const accountEntities = this.getAccountsFilteredBy(accountFilter, correlationId);
if (accountEntities.length > 0) {
return getAccountInfo(accountEntities[0]);
} else {
return null;
}
}
buildTenantProfiles(cachedAccounts, correlationId, accountFilter) {
return cachedAccounts.flatMap((accountEntity) => {
return this.getTenantProfilesFromAccountEntity(accountEntity, correlationId, accountFilter?.tenantId, accountFilter);
});
}
getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, correlationId, tenantProfileFilter) {
let tenantedAccountInfo = null;
let idTokenClaims;
if (tenantProfileFilter) {
if (!this.tenantProfileMatchesFilter(tenantProfile, tenantProfileFilter)) {
return null;
}
}
const idToken = this.getIdToken(accountInfo, correlationId, tokenKeys, tenantProfile.tenantId);
if (idToken) {
idTokenClaims = extractTokenClaims(idToken.secret, this.cryptoImpl.base64Decode);
if (!this.idTokenClaimsMatchTenantProfileFilter(idTokenClaims, tenantProfileFilter)) {
return null;
}
}
tenantedAccountInfo = updateAccountTenantProfileData(accountInfo, tenantProfile, idTokenClaims, idToken?.secret);
return tenantedAccountInfo;
}
getTenantProfilesFromAccountEntity(accountEntity, correlationId, targetTenantId, tenantProfileFilter) {
const accountInfo = getAccountInfo(accountEntity);
let searchTenantProfiles = accountInfo.tenantProfiles || new Map;
const tokenKeys = this.getTokenKeys();
if (targetTenantId) {
const tenantProfile = searchTenantProfiles.get(targetTenantId);
if (tenantProfile) {
searchTenantProfiles = new Map([
[targetTenantId, tenantProfile]
]);
} else {
return [];
}
}
const matchingTenantProfiles = [];
searchTenantProfiles.forEach((tenantProfile) => {
const tenantedAccountInfo = this.getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, correlationId, tenantProfileFilter);
if (tenantedAccountInfo) {
matchingTenantProfiles.push(tenantedAccountInfo);
}
});
return matchingTenantProfiles;
}
tenantProfileMatchesFilter(tenantProfile, tenantProfileFilter) {
if (!!tenantProfileFilter.localAccountId && !this.matchLocalAccountIdFromTenantProfile(tenantProfile, tenantProfileFilter.localAccountId)) {
return false;
}
if (!!tenantProfileFilter.name && !(tenantProfile.name === tenantProfileFilter.name)) {
return false;
}
if (tenantProfileFilter.isHomeTenant !== undefined && !(tenantProfile.isHomeTenant === tenantProfileFilter.isHomeTenant)) {
return false;
}
return true;
}
idTokenClaimsMatchTenantProfileFilter(idTokenClaims, tenantProfileFilter) {
if (tenantProfileFilter) {
if (!!tenantProfileFilter.localAccountId && !this.matchLocalAccountIdFromTokenClaims(idTokenClaims, tenantProfileFilter.localAccountId)) {
return false;
}
if (!!tenantProfileFilter.loginHint && !this.matchLoginHintFromTokenClaims(idTokenClaims, tenantProfileFilter.loginHint)) {
return false;
}
if (!!tenantProfileFilter.username && !this.matchUsername(idTokenClaims.preferred_username, tenantProfileFilter.username)) {
return false;
}
if (!!tenantProfileFilter.name && !this.matchName(idTokenClaims, tenantProfileFilter.name)) {
return false;
}
if (!!tenantProfileFilter.sid && !this.matchSid(idTokenClaims, tenantProfileFilter.sid)) {
return false;
}
}
return true;
}
async saveCacheRecord(cacheRecord, correlationId, kmsi, apiId, storeInCache) {
if (!cacheRecord) {
throw createClientAuthError(invalidCacheRecord);
}
try {
if (!!cacheRecord.account) {
await this.setAccount(cacheRecord.account, correlationId, kmsi, apiId);
}
if (!!cacheRecord.idToken && storeInCache?.idToken !== false) {
await this.setIdTokenCredential(cacheRecord.idToken, correlationId, kmsi);
}
if (!!cacheRecord.accessToken && storeInCache?.accessToken !== false) {
await this.saveAccessToken(cacheRecord.accessToken, correlationId, kmsi);
}
if (!!cacheRecord.refreshToken && storeInCache?.refreshToken !== false) {
await this.setRefreshTokenCredential(cacheRecord.refreshToken, correlationId, kmsi);
}
if (!!cacheRecord.appMetadata) {
this.setAppMetadata(cacheRecord.appMetadata, correlationId);
}
} catch (e) {
this.commonLogger?.error(`CacheManager.saveCacheRecord: failed`, correlationId);
if (e instanceof AuthError) {
throw e;
} else {
throw createCacheError(e);
}
}
}
async saveAccessToken(credential, correlationId, kmsi) {
const accessTokenFilter = {
clientId: credential.clientId,
credentialType: credential.credentialType,
environment: credential.environment,
homeAccountId: credential.homeAccountId,
realm: credential.realm,
tokenType: credential.tokenType
};
const tokenKeys = this.getTokenKeys();
const currentScopes = ScopeSet.fromString(credential.target);
tokenKeys.accessToken.forEach((key) => {
if (!this.accessTokenKeyMatchesFilter(key, accessTokenFilter, false)) {
return;
}
const tokenEntity = this.getAccessTokenCredential(key, correlationId);
if (tokenEntity && this.credentialMatchesFilter(tokenEntity, accessTokenFilter, correlationId)) {
const tokenScopeSet = ScopeSet.fromString(tokenEntity.target);
if (tokenScopeSet.intersectingScopeSets(currentScopes)) {
this.removeAccessToken(key, correlationId);
}
}
});
await this.setAccessTokenCredential(credential, correlationId, kmsi);
}
getAccountsFilteredBy(accountFilter, correlationId) {
const allAccountKeys = this.getAccountKeys();
const matchingAccounts = [];
allAccountKeys.forEach((cacheKey) => {
const entity = this.getAccount(cacheKey, correlationId);
if (!entity) {
return;
}
if (!!accountFilter.homeAccountId && !this.matchHomeAccountId(entity, accountFilter.homeAccountId)) {
return;
}
if (!!accountFilter.username && !this.matchUsername(entity.username, accountFilter.username)) {
return;
}
if (!!accountFilter.environment && !this.matchEnvironment(entity, accountFilter.environment, correlationId)) {
return;
}
if (!!accountFilter.realm && !this.matchRealm(entity, accountFilter.realm)) {
return;
}
if (!!accountFilter.nativeAccountId && !this.matchNativeAccountId(entity, accountFilter.nativeAccountId)) {
return;
}
if (!!accountFilter.authorityType && !this.matchAuthorityType(entity, accountFilter.authorityType)) {
return;
}
const tenantProfileFilter = {
localAccountId: accountFilter?.localAccountId,
name: accountFilter?.name
};
const matchingTenantProfiles = entity.tenantProfiles?.filter((tenantProfile) => {
return this.tenantProfileMatchesFilter(tenantProfile, tenantProfileFilter);
});
if (matchingTenantProfiles && matchingTenantProfiles.length === 0) {
return;
}
matchingAccounts.push(entity);
});
return matchingAccounts;
}
credentialMatchesFilter(entity, filter2, correlationId) {
if (!!filter2.clientId && !this.matchClientId(entity, filter2.clientId)) {
return false;
}
if (!!filter2.userAssertionHash && !this.matchUserAssertionHash(entity, filter2.userAssertionHash)) {
return false;
}
if (typeof filter2.homeAccountId === "string" && !this.matchHomeAccountId(entity, filter2.homeAccountId)) {
return false;
}
if (!!filter2.environment && !this.matchEnvironment(entity, filter2.environment, correlationId)) {
return false;
}
if (!!filter2.realm && !this.matchRealm(entity, filter2.realm)) {
return false;
}
if (!!filter2.credentialType && !this.matchCredentialType(entity, filter2.credentialType)) {
return false;
}
if (!!filter2.familyId && !this.matchFamilyId(entity, filter2.familyId)) {
return false;
}
if (!!filter2.target && !this.matchTarget(entity, filter2.target)) {
return false;
}
if (entity.credentialType === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME) {
if (!!filter2.tokenType && !this.matchTokenType(entity, filter2.tokenType)) {
return false;
}
if (filter2.tokenType === AuthenticationScheme.SSH) {
if (filter2.keyId && !this.matchKeyId(entity, filter2.keyId)) {
return false;
}
}
}
return true;
}
getAppMetadataFilteredBy(filter2, correlationId) {
const allCacheKeys = this.getKeys();
const matchingAppMetadata = {};
allCacheKeys.forEach((cacheKey) => {
if (!this.isAppMetadata(cacheKey)) {
return;
}
const entity = this.getAppMetadata(cacheKey, correlationId);
if (!entity) {
return;
}
if (!!filter2.environment && !this.matchEnvironment(entity, filter2.environment, correlationId)) {
return;
}
if (!!filter2.clientId && !this.matchClientId(entity, filter2.clientId)) {
return;
}
matchingAppMetadata[cacheKey] = entity;
});
return matchingAppMetadata;
}
getAuthorityMetadataByAlias(host, correlationId) {
const allCacheKeys = this.getAuthorityMetadataKeys();
let matchedEntity = null;
allCacheKeys.forEach((cacheKey) => {
if (!this.isAuthorityMetadata(cacheKey) || cacheKey.indexOf(this.clientId) === -1) {
return;
}
const entity = this.getAuthorityMetadata(cacheKey, correlationId);
if (!entity) {
return;
}
if (entity.aliases.indexOf(host) === -1) {
return;
}
matchedEntity = entity;
});
return matchedEntity;
}
removeAllAccounts(correlationId) {
const accounts = this.getAllAccounts({}, correlationId);
accounts.forEach((account) => {
this.removeAccount(account, correlationId);
});
}
removeAccount(account, correlationId) {
this.removeAccountContext(account, correlationId);
const accountKeys = this.getAccountKeys();
const keyFilter = (key) => {
return key.includes(account.homeAccountId) && key.includes(account.environment);
};
accountKeys.filter(keyFilter).forEach((key) => {
this.removeItem(key, correlationId);
this.performanceClient.incrementFields({ accountsRemoved: 1 }, correlationId);
});
}
removeAccountContext(account, correlationId) {
const allTokenKeys = this.getTokenKeys();
const keyFilter = (key) => {
return key.includes(account.homeAccountId) && key.includes(account.environment);
};
allTokenKeys.idToken.filter(keyFilter).forEach((key) => {
this.removeIdToken(key, correlationId);
});
allTokenKeys.accessToken.filter(keyFilter).forEach((key) => {
this.removeAccessToken(key, correlationId);
});
allTokenKeys.refreshToken.filter(keyFilter).forEach((key) => {
this.removeRefreshToken(key, correlationId);
});
}
removeAccessToken(key, correlationId) {
const credential = this.getAccessTokenCredential(key, correlationId);
if (!credential) {
return;
}
this.removeItem(key, correlationId);
this.performanceClient.incrementFields({ accessTokensRemoved: 1 }, correlationId);
if (credential.credentialType.toLowerCase() === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) {
if (credential.tokenType === AuthenticationScheme.POP) {
const accessTokenWithAuthSchemeEntity = credential;
const kid = accessTokenWithAuthSchemeEntity.keyId;
if (kid) {
this.cryptoImpl.removeTokenBindingKey(kid, correlationId).catch(() => {
this.commonLogger.error(`Failed to remove token binding key '${kid}'`, correlationId);
this.performanceClient?.incrementFields({ removeTokenBindingKeyFailure: 1 }, correlationId);
});
}
}
}
}
removeAppMetadata(correlationId) {
const allCacheKeys = this.getKeys();
allCacheKeys.forEach((cacheKey) => {
if (this.isAppMetadata(cacheKey)) {
this.removeItem(cacheKey, correlationId);
}
});
return true;
}
getIdToken(account, correlationId, tokenKeys, targetRealm) {
this.commonLogger.trace("CacheManager - getIdToken called", correlationId);
const idTokenFilter = {
homeAccountId: account.homeAccountId,
environment: account.environment,
credentialType: CredentialType.ID_TOKEN,
clientId: this.clientId,
realm: targetRealm
};
const idTokenMap = this.getIdTokensByFilter(idTokenFilter, correlationId, tokenKeys);
const numIdTokens = idTokenMap.size;
if (numIdTokens < 1) {
this.commonLogger.info("CacheManager:getIdToken - No token found", correlationId);
return null;
} else if (numIdTokens > 1) {
let tokensToBeRemoved = idTokenMap;
if (!targetRealm) {
const homeIdTokenMap = new Map;
idTokenMap.forEach((idToken, key) => {
if (idToken.realm === account.tenantId) {
homeIdTokenMap.set(key, idToken);
}
});
const numHomeIdTokens = homeIdTokenMap.size;
if (numHomeIdTokens < 1) {
this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result", correlationId);
return idTokenMap.values().next().value;
} else if (numHomeIdTokens === 1) {
this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile", correlationId);
return homeIdTokenMap.values().next().value;
} else {
tokensToBeRemoved = homeIdTokenMap;
}
}
this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them", correlationId);
tokensToBeRemoved.forEach((idToken, key) => {
this.removeIdToken(key, correlationId);
});
this.performanceClient.addFields({ multiMatchedID: idTokenMap.size }, correlationId);
return null;
}
this.commonLogger.info("CacheManager:getIdToken - Returning ID token", correlationId);
return idTokenMap.values().next().value;
}
getIdTokensByFilter(filter2, correlationId, tokenKeys) {
const idTokenKeys = tokenKeys && tokenKeys.idToken || this.getTokenKeys().idToken;
const idTokens = new Map;
idTokenKeys.forEach((key) => {
if (!this.idTokenKeyMatchesFilter(key, {
clientId: this.clientId,
...filter2
})) {
return;
}
const idToken = this.getIdTokenCredential(key, correlationId);
if (idToken && this.credentialMatchesFilter(idToken, filter2, correlationId)) {
idTokens.set(key, idToken);
}
});
return idTokens;
}
idTokenKeyMatchesFilter(inputKey, filter2) {
const key = inputKey.toLowerCase();
if (filter2.clientId && key.indexOf(filter2.clientId.toLowerCase()) === -1) {
return false;
}
if (filter2.homeAccountId && key.indexOf(filter2.homeAccountId.toLowerCase()) === -1) {
return false;
}
return true;
}
removeIdToken(key, correlationId) {
this.removeItem(key, correlationId);
}
removeRefreshToken(key, correlationId) {
this.removeItem(key, correlationId);
}
getAccessToken(account, request, tokenKeys, targetRealm) {
const correlationId = request.correlationId;
this.commonLogger.trace("CacheManager - getAccessToken called", correlationId);
const scopes = ScopeSet.createSearchScopes(request.scopes);
const authScheme = request.authenticationScheme || AuthenticationScheme.BEARER;
const credentialType = authScheme && authScheme.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase() ? CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : CredentialType.ACCESS_TOKEN;
const accessTokenFilter = {
homeAccountId: account.homeAccountId,
environment: account.environment,
credentialType,
clientId: this.clientId,
realm: targetRealm || account.tenantId,
target: scopes,
tokenType: authScheme,
keyId: request.sshKid
};
const accessTokenKeys = tokenKeys && tokenKeys.accessToken || this.getTokenKeys().accessToken;
const accessTokens = [];
accessTokenKeys.forEach((key) => {
if (this.accessTokenKeyMatchesFilter(key, accessTokenFilter, true)) {
const accessToken = this.getAccessTokenCredential(key, correlationId);
if (accessToken && this.credentialMatchesFilter(accessToken, accessTokenFilter, correlationId)) {
accessTokens.push(accessToken);
}
}
});
const numAccessTokens = accessTokens.length;
if (numAccessTokens < 1) {
this.commonLogger.info("CacheManager:getAccessToken - No token found", correlationId);
return null;
} else if (numAccessTokens > 1) {
this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them", correlationId);
accessTokens.forEach((accessToken) => {
this.removeAccessToken(this.generateCredentialKey(accessToken), correlationId);
});
this.performanceClient.addFields({ multiMatchedAT: accessTokens.length }, correlationId);
return null;
}
this.commonLogger.info("CacheManager:getAccessToken - Returning access token", correlationId);
return accessTokens[0];
}
accessTokenKeyMatchesFilter(inputKey, filter2, keyMustContainAllScopes) {
const key = inputKey.toLowerCase();
if (filter2.clientId && key.indexOf(filter2.clientId.toLowerCase()) === -1) {
return false;
}
if (filter2.homeAccountId && key.indexOf(filter2.homeAccountId.toLowerCase()) === -1) {
return false;
}
if (filter2.realm && key.indexOf(filter2.realm.toLowerCase()) === -1) {
return false;
}
if (filter2.target) {
const scopes = filter2.target.asArray();
for (let i2 = 0;i2 < scopes.length; i2++) {
if (keyMustContainAllScopes && !key.includes(scopes[i2].toLowerCase())) {
return false;
} else if (!keyMustContainAllScopes && key.includes(scopes[i2].toLowerCase())) {
return true;
}
}
}
return true;
}
getAccessTokensByFilter(filter2, correlationId) {
const tokenKeys = this.getTokenKeys();
const accessTokens = [];
tokenKeys.accessToken.forEach((key) => {
if (!this.accessTokenKeyMatchesFilter(key, filter2, true)) {
return;
}
const accessToken = this.getAccessTokenCredential(key, correlationId);
if (accessToken && this.credentialMatchesFilter(accessToken, filter2, correlationId)) {
accessTokens.push(accessToken);
}
});
return accessTokens;
}
getRefreshToken(account, familyRT, correlationId, tokenKeys) {
this.commonLogger.trace("CacheManager - getRefreshToken called", correlationId);
const id = familyRT ? THE_FAMILY_ID : undefined;
const refreshTokenFilter = {
homeAccountId: account.homeAccountId,
environment: account.environment,
credentialType: CredentialType.REFRESH_TOKEN,
clientId: this.clientId,
familyId: id
};
const refreshTokenKeys = tokenKeys && tokenKeys.refreshToken || this.getTokenKeys().refreshToken;
const refreshTokens = [];
refreshTokenKeys.forEach((key) => {
if (this.refreshTokenKeyMatchesFilter(key, refreshTokenFilter)) {
const refreshToken = this.getRefreshTokenCredential(key, correlationId);
if (refreshToken && this.credentialMatchesFilter(refreshToken, refreshTokenFilter, correlationId)) {
refreshTokens.push(refreshToken);
}
}
});
const numRefreshTokens = refreshTokens.length;
if (numRefreshTokens < 1) {
this.commonLogger.info("CacheManager:getRefreshToken - No refresh token found.", correlationId);
return null;
}
if (numRefreshTokens > 1) {
this.performanceClient.addFields({ multiMatchedRT: numRefreshTokens }, correlationId);
}
this.commonLogger.info("CacheManager:getRefreshToken - returning refresh token", correlationId);
return refreshTokens[0];
}
refreshTokenKeyMatchesFilter(inputKey, filter2) {
const key = inputKey.toLowerCase();
if (filter2.familyId && key.indexOf(filter2.familyId.toLowerCase()) === -1) {
return false;
}
if (!filter2.familyId && filter2.clientId && key.indexOf(filter2.clientId.toLowerCase()) === -1) {
return false;
}
if (filter2.homeAccountId && key.indexOf(filter2.homeAccountId.toLowerCase()) === -1) {
return false;
}
return true;
}
readAppMetadataFromCache(environment, correlationId) {
const appMetadataFilter = {
environment,
clientId: this.clientId
};
const appMetadata = this.getAppMetadataFilteredBy(appMetadataFilter, correlationId);
const appMetadataEntries = Object.keys(appMetadata).map((key) => appMetadata[key]);
const numAppMetadata = appMetadataEntries.length;
if (numAppMetadata < 1) {
return null;
} else if (numAppMetadata > 1) {
throw createClientAuthError(multipleMatchingAppMetadata);
}
return appMetadataEntries[0];
}
isAppMetadataFOCI(environment, correlationId) {
const appMetadata = this.readAppMetadataFromCache(environment, correlationId);
return !!(appMetadata && appMetadata.familyId === THE_FAMILY_ID);
}
matchHomeAccountId(entity, homeAccountId) {
return !!(typeof entity.homeAccountId === "string" && homeAccountId === entity.homeAccountId);
}
matchLocalAccountIdFromTokenClaims(tokenClaims, localAccountId) {
const idTokenLocalAccountId = tokenClaims.oid || tokenClaims.sub;
return localAccountId === idTokenLocalAccountId;
}
matchLocalAccountIdFromTenantProfile(tenantProfile, localAccountId) {
return tenantProfile.localAccountId === localAccountId;
}
matchName(claims, name2) {
return !!(name2.toLowerCase() === claims.name?.toLowerCase());
}
matchUsername(cachedUsername, filterUsername) {
return !!(cachedUsername && typeof cachedUsername === "string" && filterUsername?.toLowerCase() === cachedUsername.toLowerCase());
}
matchUserAssertionHash(entity, userAssertionHash) {
return !!(entity.userAssertionHash && userAssertionHash === entity.userAssertionHash);
}
matchEnvironment(entity, environment, correlationId) {
if (this.staticAuthorityOptions) {
const staticAliases = getAliasesFromStaticSources(this.staticAuthorityOptions, this.commonLogger, correlationId);
if (staticAliases.includes(environment) && staticAliases.includes(entity.environment)) {
return true;
}
}
const cloudMetadata = this.getAuthorityMetadataByAlias(environment, correlationId);
if (cloudMetadata && cloudMetadata.aliases.indexOf(entity.environment) > -1) {
return true;
}
return false;
}
matchCredentialType(entity, credentialType) {
return entity.credentialType && credentialType.toLowerCase() === entity.credentialType.toLowerCase();
}
matchClientId(entity, clientId) {
return !!(entity.clientId && clientId === entity.clientId);
}
matchFamilyId(entity, familyId) {
return !!(entity.familyId && familyId === entity.familyId);
}
matchRealm(entity, realm) {
return !!(entity.realm?.toLowerCase() === realm.toLowerCase());
}
matchNativeAccountId(entity, nativeAccountId) {
return !!(entity.nativeAccountId && nativeAccountId === entity.nativeAccountId);
}
matchLoginHintFromTokenClaims(tokenClaims, loginHint) {
if (tokenClaims.login_hint === loginHint) {
return true;
}
if (tokenClaims.preferred_username === loginHint) {
return true;
}
if (tokenClaims.upn === loginHint) {
return true;
}
return false;
}
matchSid(idTokenClaims, sid) {
return idTokenClaims.sid === sid;
}
matchAuthorityType(entity, authorityType) {
return !!(entity.authorityType && authorityType.toLowerCase() === entity.authorityType.toLowerCase());
}
matchTarget(entity, target) {
const isNotAccessTokenCredential = entity.credentialType !== CredentialType.ACCESS_TOKEN && entity.credentialType !== CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;
if (isNotAccessTokenCredential || !entity.target) {
return false;
}
const entityScopeSet = ScopeSet.fromString(entity.target);
return entityScopeSet.containsScopeSet(target);
}
matchTokenType(entity, tokenType) {
return !!(entity.tokenType && entity.tokenType === tokenType);
}
matchKeyId(entity, keyId) {
return !!(entity.keyId && entity.keyId === keyId);
}
isAppMetadata(key) {
return key.indexOf(APP_METADATA) !== -1;
}
isAuthorityMetadata(key) {
return key.indexOf(AUTHORITY_METADATA_CACHE_KEY) !== -1;
}
generateAuthorityMetadataCacheKey(authority) {
return `${AUTHORITY_METADATA_CACHE_KEY}-${this.clientId}-${authority}`;
}
static toObject(obj, json2) {
for (const propertyName in json2) {
obj[propertyName] = json2[propertyName];
}
return obj;
}
}
var DefaultStorageClass;
var init_CacheManager = __esm(() => {
init_Constants();
init_ScopeSet();
init_ClientAuthError();
init_AccountInfo();
init_AuthToken();
init_packageMetadata();
init_AuthorityMetadata();
init_CacheError();
init_AccountEntityUtils();
init_AuthError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
DefaultStorageClass = class DefaultStorageClass extends CacheManager {
async setAccount() {
throw createClientAuthError(methodNotImplemented);
}
getAccount() {
throw createClientAuthError(methodNotImplemented);
}
async setIdTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
getIdTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
async setAccessTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
getAccessTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
async setRefreshTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
getRefreshTokenCredential() {
throw createClientAuthError(methodNotImplemented);
}
setAppMetadata() {
throw createClientAuthError(methodNotImplemented);
}
getAppMetadata() {
throw createClientAuthError(methodNotImplemented);
}
setServerTelemetry() {
throw createClientAuthError(methodNotImplemented);
}
getServerTelemetry() {
throw createClientAuthError(methodNotImplemented);
}
setAuthorityMetadata() {
throw createClientAuthError(methodNotImplemented);
}
getAuthorityMetadata() {
throw createClientAuthError(methodNotImplemented);
}
getAuthorityMetadataKeys() {
throw createClientAuthError(methodNotImplemented);
}
setThrottlingCache() {
throw createClientAuthError(methodNotImplemented);
}
getThrottlingCache() {
throw createClientAuthError(methodNotImplemented);
}
removeItem() {
throw createClientAuthError(methodNotImplemented);
}
getKeys() {
throw createClientAuthError(methodNotImplemented);
}
getAccountKeys() {
throw createClientAuthError(methodNotImplemented);
}
getTokenKeys() {
throw createClientAuthError(methodNotImplemented);
}
generateCredentialKey() {
throw createClientAuthError(methodNotImplemented);
}
generateAccountKey() {
throw createClientAuthError(methodNotImplemented);
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.mjs
var PerformanceEventStatus, IntFields;
var init_PerformanceEvent = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
PerformanceEventStatus = {
NotStarted: 0,
InProgress: 1,
Completed: 2
};
IntFields = new Set([
"accessTokenSize",
"durationMs",
"idTokenSize",
"matsSilentStatus",
"matsHttpStatus",
"refreshTokenSize",
"startTimeMs",
"status",
"multiMatchedAT",
"multiMatchedID",
"multiMatchedRT",
"unencryptedCacheCount",
"encryptedCacheExpiredCount",
"oldAccountCount",
"oldAccessCount",
"oldIdCount",
"oldRefreshCount",
"currAccountCount",
"currAccessCount",
"currIdCount",
"currRefreshCount",
"expiredCacheRemovedCount",
"upgradedCacheCount",
"networkRtt",
"redirectBridgeTimeoutMs",
"redirectBridgeMessageVersion"
]);
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.mjs
class StubPerformanceClient {
generateId() {
return "callback-id";
}
startMeasurement(measureName, correlationId) {
return {
end: () => null,
discard: () => {},
add: () => {},
increment: () => {},
event: {
eventId: this.generateId(),
status: PerformanceEventStatus.InProgress,
authority: "",
libraryName: "",
libraryVersion: "",
clientId: "",
name: measureName,
startTimeMs: Date.now(),
correlationId: correlationId || ""
}
};
}
endMeasurement() {
return null;
}
discardMeasurements() {
return;
}
removePerformanceCallback() {
return true;
}
addPerformanceCallback() {
return "";
}
emitEvents() {
return;
}
addFields() {
return;
}
incrementFields() {
return;
}
cacheEventByCorrelationId() {
return;
}
}
var init_StubPerformanceClient = __esm(() => {
init_PerformanceEvent();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/config/ClientConfiguration.mjs
function buildClientConfiguration({ authOptions: userAuthOptions, systemOptions: userSystemOptions, loggerOptions: userLoggerOption, storageInterface: storageImplementation, networkInterface: networkImplementation, cryptoInterface: cryptoImplementation, clientCredentials, libraryInfo, telemetry, serverTelemetryManager, persistencePlugin, serializableCache }) {
const loggerOptions = {
...DEFAULT_LOGGER_IMPLEMENTATION,
...userLoggerOption
};
return {
authOptions: buildAuthOptions(userAuthOptions),
systemOptions: { ...DEFAULT_SYSTEM_OPTIONS, ...userSystemOptions },
loggerOptions,
storageInterface: storageImplementation || new DefaultStorageClass(userAuthOptions.clientId, DEFAULT_CRYPTO_IMPLEMENTATION, new Logger(loggerOptions), new StubPerformanceClient),
networkInterface: networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION,
cryptoInterface: cryptoImplementation || DEFAULT_CRYPTO_IMPLEMENTATION,
clientCredentials: clientCredentials || DEFAULT_CLIENT_CREDENTIALS,
libraryInfo: { ...DEFAULT_LIBRARY_INFO, ...libraryInfo },
telemetry: { ...DEFAULT_TELEMETRY_OPTIONS, ...telemetry },
serverTelemetryManager: serverTelemetryManager || null,
persistencePlugin: persistencePlugin || null,
serializableCache: serializableCache || null
};
}
function buildAuthOptions(authOptions) {
return {
clientCapabilities: [],
azureCloudOptions: DEFAULT_AZURE_CLOUD_OPTIONS,
instanceAware: false,
isMcp: false,
...authOptions
};
}
function isOidcProtocolMode(config2) {
return config2.authOptions.authority.options.protocolMode === ProtocolMode.OIDC;
}
var DEFAULT_SYSTEM_OPTIONS, DEFAULT_LOGGER_IMPLEMENTATION, DEFAULT_NETWORK_IMPLEMENTATION, DEFAULT_LIBRARY_INFO, DEFAULT_CLIENT_CREDENTIALS, DEFAULT_AZURE_CLOUD_OPTIONS, DEFAULT_TELEMETRY_OPTIONS;
var init_ClientConfiguration = __esm(() => {
init_ICrypto();
init_Logger();
init_Constants();
init_packageMetadata();
init_AuthorityOptions();
init_CacheManager();
init_ProtocolMode();
init_ClientAuthError();
init_StubPerformanceClient();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
DEFAULT_SYSTEM_OPTIONS = {
tokenRenewalOffsetSeconds: DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,
preventCorsPreflight: false
};
DEFAULT_LOGGER_IMPLEMENTATION = {
loggerCallback: () => {},
piiLoggingEnabled: false,
logLevel: LogLevel.Info,
correlationId: ""
};
DEFAULT_NETWORK_IMPLEMENTATION = {
async sendGetRequestAsync() {
throw createClientAuthError(methodNotImplemented);
},
async sendPostRequestAsync() {
throw createClientAuthError(methodNotImplemented);
}
};
DEFAULT_LIBRARY_INFO = {
sku: SKU,
version: version2,
cpu: "",
os: ""
};
DEFAULT_CLIENT_CREDENTIALS = {
clientSecret: "",
clientAssertion: undefined
};
DEFAULT_AZURE_CLOUD_OPTIONS = {
azureCloudInstance: AzureCloudInstance.None,
tenant: `${DEFAULT_COMMON_TENANT}`
};
DEFAULT_TELEMETRY_OPTIONS = {
application: {
appName: "",
appVersion: ""
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/ServerError.mjs
var ServerError;
var init_ServerError = __esm(() => {
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
ServerError = class ServerError extends AuthError {
constructor(errorCode, errorMessage2, subError, errorNo, status) {
super(errorCode, errorMessage2, subError);
this.name = "ServerError";
this.errorNo = errorNo;
this.status = status;
Object.setPrototypeOf(this, ServerError.prototype);
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthErrorCodes.mjs
var exports_InteractionRequiredAuthErrorCodes = {};
__export(exports_InteractionRequiredAuthErrorCodes, {
uxNotAllowed: () => uxNotAllowed,
refreshTokenExpired: () => refreshTokenExpired,
noTokensFound: () => noTokensFound,
nativeAccountUnavailable: () => nativeAccountUnavailable,
loginRequired: () => loginRequired,
interruptedUser: () => interruptedUser,
interactionRequired: () => interactionRequired,
consentRequired: () => consentRequired,
badToken: () => badToken
});
var noTokensFound = "no_tokens_found", nativeAccountUnavailable = "native_account_unavailable", refreshTokenExpired = "refresh_token_expired", uxNotAllowed = "ux_not_allowed", interactionRequired = "interaction_required", consentRequired = "consent_required", loginRequired = "login_required", badToken = "bad_token", interruptedUser = "interrupted_user";
var init_InteractionRequiredAuthErrorCodes = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.mjs
function isInteractionRequiredError(errorCode, errorString, subError) {
const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;
const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;
const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => {
return errorString.indexOf(irErrorCode) > -1;
});
return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;
}
function createInteractionRequiredAuthError(errorCode, errorMessage2) {
return new InteractionRequiredAuthError(errorCode, errorMessage2);
}
var InteractionRequiredServerErrorMessage, InteractionRequiredAuthSubErrorMessage, InteractionRequiredAuthError;
var init_InteractionRequiredAuthError = __esm(() => {
init_AuthError();
init_InteractionRequiredAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
InteractionRequiredServerErrorMessage = [
interactionRequired,
consentRequired,
loginRequired,
badToken,
uxNotAllowed,
interruptedUser
];
InteractionRequiredAuthSubErrorMessage = [
"message_only",
"additional_action",
"basic_action",
"user_password_expired",
"consent_required",
"bad_token",
"ux_not_allowed",
"interrupted_user"
];
InteractionRequiredAuthError = class InteractionRequiredAuthError extends AuthError {
constructor(errorCode, errorMessage2, subError, timestamp, traceId, correlationId, claims, errorNo) {
super(errorCode, errorMessage2, subError);
Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);
this.timestamp = timestamp || "";
this.traceId = traceId || "";
this.correlationId = correlationId || "";
this.claims = claims || "";
this.name = "InteractionRequiredAuthError";
this.errorNo = errorNo;
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.mjs
function parseRequestState(base64Decode, state2) {
if (!base64Decode) {
throw createClientAuthError(noCryptoObject);
}
if (!state2) {
throw createClientAuthError(invalidState);
}
try {
const splitState = state2.split(RESOURCE_DELIM);
const libraryState = splitState[0];
const userState = splitState.length > 1 ? splitState.slice(1).join(RESOURCE_DELIM) : "";
const libraryStateString = base64Decode(libraryState);
const libraryStateObj = JSON.parse(libraryStateString);
return {
userRequestState: userState || "",
libraryState: libraryStateObj
};
} catch (e) {
throw createClientAuthError(invalidState);
}
}
var init_ProtocolUtils = __esm(() => {
init_Constants();
init_ClientAuthError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/TimeUtils.mjs
var exports_TimeUtils = {};
__export(exports_TimeUtils, {
wasClockTurnedBack: () => wasClockTurnedBack,
toSecondsFromDate: () => toSecondsFromDate,
toDateFromSeconds: () => toDateFromSeconds,
nowSeconds: () => nowSeconds,
isTokenExpired: () => isTokenExpired,
isCacheExpired: () => isCacheExpired,
delay: () => delay
});
function nowSeconds() {
return Math.round(new Date().getTime() / 1000);
}
function toSecondsFromDate(date5) {
return date5.getTime() / 1000;
}
function toDateFromSeconds(seconds) {
if (seconds) {
return new Date(Number(seconds) * 1000);
}
return new Date;
}
function isTokenExpired(expiresOn, offset) {
const expirationSec = Number(expiresOn) || 0;
const offsetCurrentTimeSec = nowSeconds() + offset;
return offsetCurrentTimeSec > expirationSec;
}
function isCacheExpired(lastUpdatedAt, cacheRetentionDays) {
const cacheExpirationTimestamp = Number(lastUpdatedAt) + cacheRetentionDays * 24 * 60 * 60 * 1000;
return Date.now() > cacheExpirationTimestamp;
}
function wasClockTurnedBack(cachedAt) {
const cachedAtSec = Number(cachedAt);
return cachedAtSec > nowSeconds();
}
function delay(t, value) {
return new Promise((resolve9) => setTimeout(() => resolve9(value), t));
}
var init_TimeUtils = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvents.mjs
var NetworkClientSendPostRequestAsync = "networkClientSendPostRequestAsync", RefreshTokenClientExecutePostToTokenEndpoint = "refreshTokenClientExecutePostToTokenEndpoint", AuthorizationCodeClientExecutePostToTokenEndpoint = "authorizationCodeClientExecutePostToTokenEndpoint", RefreshTokenClientExecuteTokenRequest = "refreshTokenClientExecuteTokenRequest", RefreshTokenClientAcquireToken = "refreshTokenClientAcquireToken", RefreshTokenClientAcquireTokenWithCachedRefreshToken = "refreshTokenClientAcquireTokenWithCachedRefreshToken", RefreshTokenClientCreateTokenRequestBody = "refreshTokenClientCreateTokenRequestBody", SilentFlowClientGenerateResultFromCacheRecord = "silentFlowClientGenerateResultFromCacheRecord", AuthClientExecuteTokenRequest = "authClientExecuteTokenRequest", AuthClientCreateTokenRequestBody = "authClientCreateTokenRequestBody", UpdateTokenEndpointAuthority = "updateTokenEndpointAuthority", PopTokenGenerateCnf = "popTokenGenerateCnf", HandleServerTokenResponse = "handleServerTokenResponse", AuthorityResolveEndpointsAsync = "authorityResolveEndpointsAsync", AuthorityGetCloudDiscoveryMetadataFromNetwork = "authorityGetCloudDiscoveryMetadataFromNetwork", AuthorityUpdateCloudDiscoveryMetadata = "authorityUpdateCloudDiscoveryMetadata", AuthorityGetEndpointMetadataFromNetwork = "authorityGetEndpointMetadataFromNetwork", AuthorityUpdateEndpointMetadata = "authorityUpdateEndpointMetadata", AuthorityUpdateMetadataWithRegionalInformation = "authorityUpdateMetadataWithRegionalInformation", RegionDiscoveryDetectRegion = "regionDiscoveryDetectRegion", RegionDiscoveryGetRegionFromIMDS = "regionDiscoveryGetRegionFromIMDS", RegionDiscoveryGetCurrentVersion = "regionDiscoveryGetCurrentVersion", CacheManagerGetRefreshToken = "cacheManagerGetRefreshToken";
var init_PerformanceEvents = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/FunctionWrappers.mjs
var invoke = (callback, eventName, logger3, telemetryClient, correlationId) => {
return (...args) => {
logger3.trace(`Executing function '${eventName}'`, correlationId);
const inProgressEvent = telemetryClient.startMeasurement(eventName, correlationId);
if (correlationId) {
telemetryClient.incrementFields({ [`ext.${eventName}CallCount`]: 1 }, correlationId);
}
try {
const result = callback(...args);
inProgressEvent.end({
success: true
});
logger3.trace(`Returning result from '${eventName}'`, correlationId);
return result;
} catch (e) {
logger3.trace(`Error occurred in '${eventName}'`, correlationId);
try {
logger3.trace(JSON.stringify(e), correlationId);
} catch (e2) {
logger3.trace("Unable to print error message.", correlationId);
}
inProgressEvent.end({
success: false
}, e);
throw e;
}
};
}, invokeAsync = (callback, eventName, logger3, telemetryClient, correlationId) => {
return (...args) => {
logger3.trace(`Executing function '${eventName}'`, correlationId);
const inProgressEvent = telemetryClient.startMeasurement(eventName, correlationId);
if (correlationId) {
telemetryClient.incrementFields({ [`ext.${eventName}CallCount`]: 1 }, correlationId);
}
return callback(...args).then((response) => {
logger3.trace(`Returning result from '${eventName}'`, correlationId);
inProgressEvent.end({
success: true
});
return response;
}).catch((e) => {
logger3.trace(`Error occurred in '${eventName}'`, correlationId);
try {
logger3.trace(JSON.stringify(e), correlationId);
} catch (e2) {
logger3.trace("Unable to print error message.", correlationId);
}
inProgressEvent.end({
success: false
}, e);
throw e;
});
};
};
var init_FunctionWrappers = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.mjs
class PopTokenGenerator {
constructor(cryptoUtils, performanceClient) {
this.cryptoUtils = cryptoUtils;
this.performanceClient = performanceClient;
}
async generateCnf(request, logger3) {
const reqCnf = await invokeAsync(this.generateKid.bind(this), PopTokenGenerateCnf, logger3, this.performanceClient, request.correlationId)(request);
const reqCnfString = this.cryptoUtils.base64UrlEncode(JSON.stringify(reqCnf));
return {
kid: reqCnf.kid,
reqCnfString
};
}
async generateKid(request) {
const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);
return {
kid: kidThumbprint,
xms_ksl: KeyLocation.SW
};
}
async signPopToken(accessToken, keyId, request) {
return this.signPayload(accessToken, keyId, request);
}
async signPayload(payload, keyId, request, claims) {
const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, shrOptions } = request;
const resourceUrlString = resourceRequestUri ? new UrlString(resourceRequestUri) : undefined;
const resourceUrlComponents = resourceUrlString?.getUrlComponents();
return this.cryptoUtils.signJwt({
at: payload,
ts: nowSeconds(),
m: resourceRequestMethod?.toUpperCase(),
u: resourceUrlComponents?.HostNameAndPort,
nonce: shrNonce || this.cryptoUtils.createNewGuid(),
p: resourceUrlComponents?.AbsolutePath,
q: resourceUrlComponents?.QueryString ? [[], resourceUrlComponents.QueryString] : undefined,
client_claims: shrClaims || undefined,
...claims
}, keyId, shrOptions, request.correlationId);
}
}
var KeyLocation;
var init_PopTokenGenerator = __esm(() => {
init_TimeUtils();
init_UrlString();
init_PerformanceEvents();
init_FunctionWrappers();
/*! @azure/msal-common v16.4.0 2026-03-18 */
KeyLocation = {
SW: "sw"
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.mjs
class TokenCacheContext {
constructor(tokenCache, hasChanged) {
this.cache = tokenCache;
this.hasChanged = hasChanged;
}
get cacheHasChanged() {
return this.hasChanged;
}
get tokenCache() {
return this.cache;
}
}
var init_TokenCacheContext = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/cache/utils/CacheHelpers.mjs
var exports_CacheHelpers = {};
__export(exports_CacheHelpers, {
updateCloudDiscoveryMetadata: () => updateCloudDiscoveryMetadata,
updateAuthorityEndpointMetadata: () => updateAuthorityEndpointMetadata,
isThrottlingEntity: () => isThrottlingEntity,
isServerTelemetryEntity: () => isServerTelemetryEntity,
isRefreshTokenEntity: () => isRefreshTokenEntity,
isIdTokenEntity: () => isIdTokenEntity,
isCredentialEntity: () => isCredentialEntity,
isAuthorityMetadataExpired: () => isAuthorityMetadataExpired,
isAuthorityMetadataEntity: () => isAuthorityMetadataEntity,
isAppMetadataEntity: () => isAppMetadataEntity,
isAccessTokenEntity: () => isAccessTokenEntity,
generateAuthorityMetadataExpiresAt: () => generateAuthorityMetadataExpiresAt,
generateAppMetadataKey: () => generateAppMetadataKey,
createRefreshTokenEntity: () => createRefreshTokenEntity,
createIdTokenEntity: () => createIdTokenEntity,
createAccessTokenEntity: () => createAccessTokenEntity
});
function createIdTokenEntity(homeAccountId, environment, idToken, clientId, tenantId) {
const idTokenEntity = {
credentialType: CredentialType.ID_TOKEN,
homeAccountId,
environment,
clientId,
secret: idToken,
realm: tenantId,
lastUpdatedAt: Date.now().toString()
};
return idTokenEntity;
}
function createAccessTokenEntity(homeAccountId, environment, accessToken, clientId, tenantId, scopes, expiresOn, extExpiresOn, base64Decode, refreshOn, tokenType, userAssertionHash, keyId) {
const atEntity = {
homeAccountId,
credentialType: CredentialType.ACCESS_TOKEN,
secret: accessToken,
cachedAt: nowSeconds().toString(),
expiresOn: expiresOn.toString(),
extendedExpiresOn: extExpiresOn.toString(),
environment,
clientId,
realm: tenantId,
target: scopes,
tokenType: tokenType || AuthenticationScheme.BEARER,
lastUpdatedAt: Date.now().toString()
};
if (userAssertionHash) {
atEntity.userAssertionHash = userAssertionHash;
}
if (refreshOn) {
atEntity.refreshOn = refreshOn.toString();
}
if (atEntity.tokenType?.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) {
atEntity.credentialType = CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;
switch (atEntity.tokenType) {
case AuthenticationScheme.POP:
const tokenClaims = extractTokenClaims(accessToken, base64Decode);
if (!tokenClaims?.cnf?.kid) {
throw createClientAuthError(tokenClaimsCnfRequiredForSignedJwt);
}
atEntity.keyId = tokenClaims.cnf.kid;
break;
case AuthenticationScheme.SSH:
atEntity.keyId = keyId;
}
}
return atEntity;
}
function createRefreshTokenEntity(homeAccountId, environment, refreshToken, clientId, familyId, userAssertionHash, expiresOn) {
const rtEntity = {
credentialType: CredentialType.REFRESH_TOKEN,
homeAccountId,
environment,
clientId,
secret: refreshToken,
lastUpdatedAt: Date.now().toString()
};
if (userAssertionHash) {
rtEntity.userAssertionHash = userAssertionHash;
}
if (familyId) {
rtEntity.familyId = familyId;
}
if (expiresOn) {
rtEntity.expiresOn = expiresOn.toString();
}
return rtEntity;
}
function isCredentialEntity(entity) {
return entity.hasOwnProperty("homeAccountId") && entity.hasOwnProperty("environment") && entity.hasOwnProperty("credentialType") && entity.hasOwnProperty("clientId") && entity.hasOwnProperty("secret");
}
function isAccessTokenEntity(entity) {
if (!entity) {
return false;
}
return isCredentialEntity(entity) && entity.hasOwnProperty("realm") && entity.hasOwnProperty("target") && (entity["credentialType"] === CredentialType.ACCESS_TOKEN || entity["credentialType"] === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME);
}
function isIdTokenEntity(entity) {
if (!entity) {
return false;
}
return isCredentialEntity(entity) && entity.hasOwnProperty("realm") && entity["credentialType"] === CredentialType.ID_TOKEN;
}
function isRefreshTokenEntity(entity) {
if (!entity) {
return false;
}
return isCredentialEntity(entity) && entity["credentialType"] === CredentialType.REFRESH_TOKEN;
}
function isServerTelemetryEntity(key, entity) {
const validateKey = key.indexOf(SERVER_TELEM_CACHE_KEY) === 0;
let validateEntity = true;
if (entity) {
validateEntity = entity.hasOwnProperty("failedRequests") && entity.hasOwnProperty("errors") && entity.hasOwnProperty("cacheHits");
}
return validateKey && validateEntity;
}
function isThrottlingEntity(key, entity) {
let validateKey = false;
if (key) {
validateKey = key.indexOf(THROTTLING_PREFIX) === 0;
}
let validateEntity = true;
if (entity) {
validateEntity = entity.hasOwnProperty("throttleTime");
}
return validateKey && validateEntity;
}
function generateAppMetadataKey({ environment, clientId }) {
const appMetaDataKeyArray = [
APP_METADATA,
environment,
clientId
];
return appMetaDataKeyArray.join(CACHE_KEY_SEPARATOR).toLowerCase();
}
function isAppMetadataEntity(key, entity) {
if (!entity) {
return false;
}
return key.indexOf(APP_METADATA) === 0 && entity.hasOwnProperty("clientId") && entity.hasOwnProperty("environment");
}
function isAuthorityMetadataEntity(key, entity) {
if (!entity) {
return false;
}
return key.indexOf(AUTHORITY_METADATA_CACHE_KEY) === 0 && entity.hasOwnProperty("aliases") && entity.hasOwnProperty("preferred_cache") && entity.hasOwnProperty("preferred_network") && entity.hasOwnProperty("canonical_authority") && entity.hasOwnProperty("authorization_endpoint") && entity.hasOwnProperty("token_endpoint") && entity.hasOwnProperty("issuer") && entity.hasOwnProperty("aliasesFromNetwork") && entity.hasOwnProperty("endpointsFromNetwork") && entity.hasOwnProperty("expiresAt") && entity.hasOwnProperty("jwks_uri");
}
function generateAuthorityMetadataExpiresAt() {
return nowSeconds() + AUTHORITY_METADATA_REFRESH_TIME_SECONDS;
}
function updateAuthorityEndpointMetadata(authorityMetadata, updatedValues, fromNetwork) {
authorityMetadata.authorization_endpoint = updatedValues.authorization_endpoint;
authorityMetadata.token_endpoint = updatedValues.token_endpoint;
authorityMetadata.end_session_endpoint = updatedValues.end_session_endpoint;
authorityMetadata.issuer = updatedValues.issuer;
authorityMetadata.endpointsFromNetwork = fromNetwork;
authorityMetadata.jwks_uri = updatedValues.jwks_uri;
}
function updateCloudDiscoveryMetadata(authorityMetadata, updatedValues, fromNetwork) {
authorityMetadata.aliases = updatedValues.aliases;
authorityMetadata.preferred_cache = updatedValues.preferred_cache;
authorityMetadata.preferred_network = updatedValues.preferred_network;
authorityMetadata.aliasesFromNetwork = fromNetwork;
}
function isAuthorityMetadataExpired(metadata) {
return metadata.expiresAt <= nowSeconds();
}
var init_CacheHelpers = __esm(() => {
init_AuthToken();
init_ClientAuthError();
init_Constants();
init_TimeUtils();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/response/ResponseHandler.mjs
class ResponseHandler {
constructor(clientId, cacheStorage, cryptoObj, logger3, performanceClient, serializableCache, persistencePlugin) {
this.clientId = clientId;
this.cacheStorage = cacheStorage;
this.cryptoObj = cryptoObj;
this.logger = logger3;
this.performanceClient = performanceClient;
this.serializableCache = serializableCache;
this.persistencePlugin = persistencePlugin;
}
validateTokenResponse(serverResponse, correlationId, refreshAccessToken) {
if (serverResponse.error || serverResponse.error_description || serverResponse.suberror) {
const errString = `Error(s): ${serverResponse.error_codes || NOT_AVAILABLE} - Timestamp: ${serverResponse.timestamp || NOT_AVAILABLE} - Description: ${serverResponse.error_description || NOT_AVAILABLE} - Correlation ID: ${serverResponse.correlation_id || NOT_AVAILABLE} - Trace ID: ${serverResponse.trace_id || NOT_AVAILABLE}`;
const serverErrorNo = serverResponse.error_codes?.length ? serverResponse.error_codes[0] : undefined;
const serverError = new ServerError(serverResponse.error, errString, serverResponse.suberror, serverErrorNo, serverResponse.status);
if (refreshAccessToken && serverResponse.status && serverResponse.status >= HTTP_SERVER_ERROR_RANGE_START && serverResponse.status <= HTTP_SERVER_ERROR_RANGE_END) {
this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently unavailable and the access token is unable to be refreshed.
${serverError}`, correlationId);
return;
} else if (refreshAccessToken && serverResponse.status && serverResponse.status >= HTTP_CLIENT_ERROR_RANGE_START && serverResponse.status <= HTTP_CLIENT_ERROR_RANGE_END) {
this.logger.warning(`executeTokenRequest:validateTokenResponse - AAD is currently available but is unable to refresh the access token.
${serverError}`, correlationId);
return;
}
if (isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {
throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror, serverResponse.timestamp || "", serverResponse.trace_id || "", serverResponse.correlation_id || "", serverResponse.claims || "", serverErrorNo);
}
throw serverError;
}
}
async handleServerTokenResponse(serverTokenResponse, authority, reqTimestamp, request, apiId, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {
let idTokenClaims;
if (serverTokenResponse.id_token) {
idTokenClaims = extractTokenClaims(serverTokenResponse.id_token || "", this.cryptoObj.base64Decode);
if (authCodePayload && authCodePayload.nonce) {
if (idTokenClaims.nonce !== authCodePayload.nonce) {
throw createClientAuthError(nonceMismatch);
}
}
if (request.maxAge || request.maxAge === 0) {
const authTime = idTokenClaims.auth_time;
if (!authTime) {
throw createClientAuthError(authTimeNotFound);
}
checkMaxAge(authTime, request.maxAge);
}
}
this.homeAccountIdentifier = generateHomeAccountId(serverTokenResponse.client_info || "", authority.authorityType, this.logger, this.cryptoObj, request.correlationId, idTokenClaims);
let requestStateObj;
if (!!authCodePayload && !!authCodePayload.state) {
requestStateObj = parseRequestState(this.cryptoObj.base64Decode, authCodePayload.state);
}
serverTokenResponse.key_id = serverTokenResponse.key_id || request.sshKid || undefined;
const cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload);
let cacheContext;
try {
if (this.persistencePlugin && this.serializableCache) {
this.logger.verbose("Persistence enabled, calling beforeCacheAccess", request.correlationId);
cacheContext = new TokenCacheContext(this.serializableCache, true);
await this.persistencePlugin.beforeCacheAccess(cacheContext);
}
if (handlingRefreshTokenResponse && !forceCacheRefreshTokenResponse && cacheRecord.account) {
const cachedAccounts = this.cacheStorage.getAllAccounts({
homeAccountId: cacheRecord.account.homeAccountId,
environment: cacheRecord.account.environment
}, request.correlationId);
if (cachedAccounts.length < 1) {
this.logger.warning("Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache", request.correlationId);
this.performanceClient?.addFields({
acntLoggedOut: true
}, request.correlationId);
return await ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, this.performanceClient, idTokenClaims, requestStateObj, undefined, serverRequestId);
}
}
await this.cacheStorage.saveCacheRecord(cacheRecord, request.correlationId, isKmsi(idTokenClaims || {}), apiId, request.storeInCache);
} finally {
if (this.persistencePlugin && this.serializableCache && cacheContext) {
this.logger.verbose("Persistence enabled, calling afterCacheAccess", request.correlationId);
await this.persistencePlugin.afterCacheAccess(cacheContext);
}
}
return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, this.performanceClient, idTokenClaims, requestStateObj, serverTokenResponse, serverRequestId);
}
generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenClaims, userAssertionHash, authCodePayload) {
const env6 = authority.getPreferredCache();
if (!env6) {
throw createClientAuthError(invalidCacheEnvironment);
}
const claimsTenantId = getTenantIdFromIdTokenClaims(idTokenClaims);
let cachedIdToken;
let cachedAccount;
if (serverTokenResponse.id_token && !!idTokenClaims) {
cachedIdToken = createIdTokenEntity(this.homeAccountIdentifier, env6, serverTokenResponse.id_token, this.clientId, claimsTenantId || "");
cachedAccount = buildAccountToCache(this.cacheStorage, authority, this.homeAccountIdentifier, this.cryptoObj.base64Decode, request.correlationId, idTokenClaims, serverTokenResponse.client_info, env6, claimsTenantId, authCodePayload, undefined, this.logger);
}
let cachedAccessToken = null;
if (serverTokenResponse.access_token) {
const responseScopes = serverTokenResponse.scope ? ScopeSet.fromString(serverTokenResponse.scope) : new ScopeSet(request.scopes || []);
const expiresIn = (typeof serverTokenResponse.expires_in === "string" ? parseInt(serverTokenResponse.expires_in, 10) : serverTokenResponse.expires_in) || 0;
const extExpiresIn = (typeof serverTokenResponse.ext_expires_in === "string" ? parseInt(serverTokenResponse.ext_expires_in, 10) : serverTokenResponse.ext_expires_in) || 0;
const refreshIn = (typeof serverTokenResponse.refresh_in === "string" ? parseInt(serverTokenResponse.refresh_in, 10) : serverTokenResponse.refresh_in) || undefined;
const tokenExpirationSeconds = reqTimestamp + expiresIn;
const extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;
const refreshOnSeconds = refreshIn && refreshIn > 0 ? reqTimestamp + refreshIn : undefined;
cachedAccessToken = createAccessTokenEntity(this.homeAccountIdentifier, env6, serverTokenResponse.access_token, this.clientId, claimsTenantId || authority.tenant || "", responseScopes.printScopes(), tokenExpirationSeconds, extendedTokenExpirationSeconds, this.cryptoObj.base64Decode, refreshOnSeconds, serverTokenResponse.token_type, userAssertionHash, serverTokenResponse.key_id);
const resource = request.resource || null;
if (resource) {
cachedAccessToken.resource = resource;
}
}
let cachedRefreshToken = null;
if (serverTokenResponse.refresh_token) {
let rtExpiresOn;
if (serverTokenResponse.refresh_token_expires_in) {
const rtExpiresIn = typeof serverTokenResponse.refresh_token_expires_in === "string" ? parseInt(serverTokenResponse.refresh_token_expires_in, 10) : serverTokenResponse.refresh_token_expires_in;
rtExpiresOn = reqTimestamp + rtExpiresIn;
this.performanceClient?.addFields({ ntwkRtExpiresOnSeconds: rtExpiresOn }, request.correlationId);
}
cachedRefreshToken = createRefreshTokenEntity(this.homeAccountIdentifier, env6, serverTokenResponse.refresh_token, this.clientId, serverTokenResponse.foci, userAssertionHash, rtExpiresOn);
}
let cachedAppMetadata = null;
if (serverTokenResponse.foci) {
cachedAppMetadata = {
clientId: this.clientId,
environment: env6,
familyId: serverTokenResponse.foci
};
}
return {
account: cachedAccount,
idToken: cachedIdToken,
accessToken: cachedAccessToken,
refreshToken: cachedRefreshToken,
appMetadata: cachedAppMetadata
};
}
static async generateAuthenticationResult(cryptoObj, authority, cacheRecord, fromTokenCache, request, performanceClient, idTokenClaims, requestState, serverTokenResponse, requestId) {
let accessToken = "";
let responseScopes = [];
let expiresOn = null;
let extExpiresOn;
let refreshOn;
let familyId = "";
if (cacheRecord.accessToken) {
if (cacheRecord.accessToken.tokenType === AuthenticationScheme.POP && !request.popKid) {
const popTokenGenerator = new PopTokenGenerator(cryptoObj, performanceClient);
const { secret, keyId } = cacheRecord.accessToken;
if (!keyId) {
throw createClientAuthError(keyIdMissing);
}
accessToken = await popTokenGenerator.signPopToken(secret, keyId, request);
} else {
accessToken = cacheRecord.accessToken.secret;
}
responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();
expiresOn = toDateFromSeconds(cacheRecord.accessToken.expiresOn);
extExpiresOn = toDateFromSeconds(cacheRecord.accessToken.extendedExpiresOn);
if (cacheRecord.accessToken.refreshOn) {
refreshOn = toDateFromSeconds(cacheRecord.accessToken.refreshOn);
}
}
if (cacheRecord.appMetadata) {
familyId = cacheRecord.appMetadata.familyId === THE_FAMILY_ID ? THE_FAMILY_ID : "";
}
const uid = idTokenClaims?.oid || idTokenClaims?.sub || "";
const tid = idTokenClaims?.tid || "";
if (serverTokenResponse?.spa_accountid && !!cacheRecord.account) {
cacheRecord.account.nativeAccountId = serverTokenResponse?.spa_accountid;
}
const accountInfo = cacheRecord.account ? updateAccountTenantProfileData(getAccountInfo(cacheRecord.account), undefined, idTokenClaims, cacheRecord.idToken?.secret) : null;
return {
authority: authority.canonicalAuthority,
uniqueId: uid,
tenantId: tid,
scopes: responseScopes,
account: accountInfo,
idToken: cacheRecord?.idToken?.secret || "",
idTokenClaims: idTokenClaims || {},
accessToken,
fromCache: fromTokenCache,
expiresOn,
extExpiresOn,
refreshOn,
correlationId: request.correlationId,
requestId: requestId || "",
familyId,
tokenType: cacheRecord.accessToken?.tokenType || "",
state: requestState ? requestState.userRequestState : "",
cloudGraphHostName: cacheRecord.account?.cloudGraphHostName || "",
msGraphHost: cacheRecord.account?.msGraphHost || "",
code: serverTokenResponse?.spa_code,
fromPlatformBroker: false
};
}
}
function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decode, correlationId, idTokenClaims, clientInfo, environment, claimsTenantId, authCodePayload, nativeAccountId, logger3) {
logger3?.verbose("setCachedAccount called", correlationId);
const accountKeys = cacheStorage.getAccountKeys();
const baseAccountKey = accountKeys.find((accountKey) => {
return accountKey.startsWith(homeAccountId);
});
let cachedAccount = null;
if (baseAccountKey) {
cachedAccount = cacheStorage.getAccount(baseAccountKey, correlationId);
}
const baseAccount = cachedAccount || createAccountEntity({
homeAccountId,
idTokenClaims,
clientInfo,
environment,
cloudGraphHostName: authCodePayload?.cloud_graph_host_name,
msGraphHost: authCodePayload?.msgraph_host,
nativeAccountId
}, authority, base64Decode);
const tenantProfiles = baseAccount.tenantProfiles || [];
const tenantId = claimsTenantId || baseAccount.realm;
if (tenantId && !tenantProfiles.find((tenantProfile) => {
return tenantProfile.tenantId === tenantId;
})) {
const newTenantProfile = buildTenantProfile(homeAccountId, baseAccount.localAccountId, tenantId, idTokenClaims);
tenantProfiles.push(newTenantProfile);
}
baseAccount.tenantProfiles = tenantProfiles;
return baseAccount;
}
var init_ResponseHandler = __esm(() => {
init_ClientAuthError();
init_ServerError();
init_ScopeSet();
init_InteractionRequiredAuthError();
init_ProtocolUtils();
init_Constants();
init_PopTokenGenerator();
init_TokenCacheContext();
init_AuthToken();
init_TokenClaims();
init_AccountInfo();
init_CacheHelpers();
init_TimeUtils();
init_AccountEntityUtils();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/account/CcsCredential.mjs
var CcsCredentialType;
var init_CcsCredential = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
CcsCredentialType = {
HOME_ACCOUNT_ID: "home_account_id",
UPN: "UPN"
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/utils/ClientAssertionUtils.mjs
async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
if (typeof clientAssertion === "string") {
return clientAssertion;
} else {
const config2 = {
clientId,
tokenEndpoint
};
return clientAssertion(config2);
}
}
var init_ClientAssertionUtils = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/network/RequestThumbprint.mjs
function getRequestThumbprint(clientId, request, homeAccountId) {
return {
clientId,
authority: request.authority,
scopes: request.scopes,
homeAccountIdentifier: homeAccountId,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid,
embeddedClientId: request.embeddedClientId || request.extraParameters?.clientId
};
}
var init_RequestThumbprint = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.mjs
class ThrottlingUtils {
static generateThrottlingStorageKey(thumbprint) {
return `${THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;
}
static preProcess(cacheManager, thumbprint, correlationId) {
const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);
const value = cacheManager.getThrottlingCache(key, correlationId);
if (value) {
if (value.throttleTime < Date.now()) {
cacheManager.removeItem(key, correlationId);
return;
}
throw new ServerError(value.errorCodes?.join(" ") || "", value.errorMessage, value.subError);
}
}
static postProcess(cacheManager, thumbprint, response, correlationId) {
if (ThrottlingUtils.checkResponseStatus(response) || ThrottlingUtils.checkResponseForRetryAfter(response)) {
const thumbprintValue = {
throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),
error: response.body.error,
errorCodes: response.body.error_codes,
errorMessage: response.body.error_description,
subError: response.body.suberror
};
cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue, correlationId);
}
}
static checkResponseStatus(response) {
return response.status === 429 || response.status >= 500 && response.status < 600;
}
static checkResponseForRetryAfter(response) {
if (response.headers) {
return response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) && (response.status < 200 || response.status >= 300);
}
return false;
}
static calculateThrottleTime(throttleTime) {
const time3 = throttleTime <= 0 ? 0 : throttleTime;
const currentSeconds = Date.now() / 1000;
return Math.floor(Math.min(currentSeconds + (time3 || DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds + DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);
}
static removeThrottle(cacheManager, clientId, request, homeAccountIdentifier) {
const thumbprint = getRequestThumbprint(clientId, request, homeAccountIdentifier);
const key = this.generateThrottlingStorageKey(thumbprint);
cacheManager.removeItem(key, request.correlationId);
}
}
var init_ThrottlingUtils = __esm(() => {
init_Constants();
init_ServerError();
init_RequestThumbprint();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/NetworkError.mjs
function createNetworkError(error51, httpStatus, responseHeaders, additionalError) {
error51.errorMessage = `${error51.errorMessage}, additionalErrorInfo: error.name:${additionalError?.name}, error.message:${additionalError?.message}`;
return new NetworkError(error51, httpStatus, responseHeaders);
}
var NetworkError;
var init_NetworkError = __esm(() => {
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
NetworkError = class NetworkError extends AuthError {
constructor(error51, httpStatus, responseHeaders) {
super(error51.errorCode, error51.errorMessage, error51.subError);
Object.setPrototypeOf(this, NetworkError.prototype);
this.name = "NetworkError";
this.error = error51;
this.httpStatus = httpStatus;
this.responseHeaders = responseHeaders;
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/protocol/Token.mjs
var exports_Token = {};
__export(exports_Token, {
sendPostRequest: () => sendPostRequest,
executePostToTokenEndpoint: () => executePostToTokenEndpoint,
createTokenRequestHeaders: () => createTokenRequestHeaders,
createTokenQueryParameters: () => createTokenQueryParameters
});
function createTokenRequestHeaders(logger3, preventCorsPreflight, ccsCred) {
const headers = {};
headers[HeaderNames.CONTENT_TYPE] = URL_FORM_CONTENT_TYPE;
if (!preventCorsPreflight && ccsCred) {
switch (ccsCred.type) {
case CcsCredentialType.HOME_ACCOUNT_ID:
try {
const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);
headers[HeaderNames.CCS_HEADER] = `Oid:${clientInfo.uid}@${clientInfo.utid}`;
} catch (e) {
logger3.verbose(`Could not parse home account ID for CCS Header: '${e}'`, "");
}
break;
case CcsCredentialType.UPN:
headers[HeaderNames.CCS_HEADER] = `UPN: ${ccsCred.credential}`;
break;
}
}
return headers;
}
function createTokenQueryParameters(request, clientId, redirectUri, performanceClient) {
const parameters = new Map;
if (request.embeddedClientId) {
addBrokerParameters(parameters, clientId, redirectUri);
}
if (request.extraQueryParameters) {
addExtraParameters(parameters, request.extraQueryParameters);
}
addCorrelationId(parameters, request.correlationId);
instrumentBrokerParams(parameters, request.correlationId, performanceClient);
return mapToQueryString(parameters);
}
async function executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId, cacheManager, networkClient, logger3, performanceClient, serverTelemetryManager) {
const response = await sendPostRequest(thumbprint, tokenEndpoint, { body: queryString, headers }, correlationId, cacheManager, networkClient, logger3, performanceClient);
if (serverTelemetryManager && response.status < 500 && response.status !== 429) {
serverTelemetryManager.clearTelemetryCache();
}
return response;
}
async function sendPostRequest(thumbprint, tokenEndpoint, options, correlationId, cacheManager, networkClient, logger3, performanceClient) {
ThrottlingUtils.preProcess(cacheManager, thumbprint, correlationId);
let response;
try {
response = await invokeAsync(networkClient.sendPostRequestAsync.bind(networkClient), NetworkClientSendPostRequestAsync, logger3, performanceClient, correlationId)(tokenEndpoint, options);
const responseHeaders = response.headers || {};
performanceClient?.addFields({
refreshTokenSize: response.body.refresh_token?.length || 0,
httpVerToken: responseHeaders[HeaderNames.X_MS_HTTP_VERSION] || "",
requestId: responseHeaders[HeaderNames.X_MS_REQUEST_ID] || ""
}, correlationId);
} catch (e) {
if (e instanceof NetworkError) {
const responseHeaders = e.responseHeaders;
if (responseHeaders) {
performanceClient?.addFields({
httpVerToken: responseHeaders[HeaderNames.X_MS_HTTP_VERSION] || "",
requestId: responseHeaders[HeaderNames.X_MS_REQUEST_ID] || "",
contentTypeHeader: responseHeaders[HeaderNames.CONTENT_TYPE] || undefined,
contentLengthHeader: responseHeaders[HeaderNames.CONTENT_LENGTH] || undefined,
httpStatus: e.httpStatus
}, correlationId);
}
throw e.error;
}
if (e instanceof AuthError) {
throw e;
} else {
throw createClientAuthError(networkError);
}
}
ThrottlingUtils.postProcess(cacheManager, thumbprint, response, correlationId);
return response;
}
var init_Token = __esm(() => {
init_CcsCredential();
init_ClientInfo();
init_Constants();
init_RequestParameterBuilder();
init_UrlUtils();
init_ThrottlingUtils();
init_NetworkError();
init_AuthError();
init_ClientAuthError();
init_FunctionWrappers();
init_PerformanceEvents();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.mjs
function isOpenIdConfigResponse(response) {
return response.hasOwnProperty("authorization_endpoint") && response.hasOwnProperty("token_endpoint") && response.hasOwnProperty("issuer") && response.hasOwnProperty("jwks_uri");
}
var init_OpenIdConfigResponse = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.mjs
function isCloudInstanceDiscoveryResponse(response) {
return response.hasOwnProperty("tenant_discovery_endpoint") && response.hasOwnProperty("metadata");
}
var init_CloudInstanceDiscoveryResponse = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs
function isCloudInstanceDiscoveryErrorResponse(response) {
return response.hasOwnProperty("error") && response.hasOwnProperty("error_description");
}
var init_CloudInstanceDiscoveryErrorResponse = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.mjs
class RegionDiscovery {
constructor(networkInterface, logger3, performanceClient, correlationId) {
this.networkInterface = networkInterface;
this.logger = logger3;
this.performanceClient = performanceClient;
this.correlationId = correlationId;
}
async detectRegion(environmentRegion, regionDiscoveryMetadata) {
let autodetectedRegionName = environmentRegion;
if (!autodetectedRegionName) {
const options = RegionDiscovery.IMDS_OPTIONS;
try {
const localIMDSVersionResponse = await invokeAsync(this.getRegionFromIMDS.bind(this), RegionDiscoveryGetRegionFromIMDS, this.logger, this.performanceClient, this.correlationId)(IMDS_VERSION, options);
if (localIMDSVersionResponse.status === HTTP_SUCCESS) {
autodetectedRegionName = localIMDSVersionResponse.body;
regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;
}
if (localIMDSVersionResponse.status === HTTP_BAD_REQUEST) {
const currentIMDSVersion = await invokeAsync(this.getCurrentVersion.bind(this), RegionDiscoveryGetCurrentVersion, this.logger, this.performanceClient, this.correlationId)(options);
if (!currentIMDSVersion) {
regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
return null;
}
const currentIMDSVersionResponse = await invokeAsync(this.getRegionFromIMDS.bind(this), RegionDiscoveryGetRegionFromIMDS, this.logger, this.performanceClient, this.correlationId)(currentIMDSVersion, options);
if (currentIMDSVersionResponse.status === HTTP_SUCCESS) {
autodetectedRegionName = currentIMDSVersionResponse.body;
regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;
}
}
} catch (e) {
regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
return null;
}
} else {
regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;
}
if (!autodetectedRegionName) {
regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;
}
return autodetectedRegionName || null;
}
async getRegionFromIMDS(version3, options) {
return this.networkInterface.sendGetRequestAsync(`${IMDS_ENDPOINT}?api-version=${version3}&format=text`, options, IMDS_TIMEOUT);
}
async getCurrentVersion(options) {
try {
const response = await this.networkInterface.sendGetRequestAsync(`${IMDS_ENDPOINT}?format=json`, options);
if (response.status === HTTP_BAD_REQUEST && response.body && response.body["newest-versions"] && response.body["newest-versions"].length > 0) {
return response.body["newest-versions"][0];
}
return null;
} catch (e) {
return null;
}
}
}
var init_RegionDiscovery = __esm(() => {
init_Constants();
init_PerformanceEvents();
init_FunctionWrappers();
/*! @azure/msal-common v16.4.0 2026-03-18 */
RegionDiscovery.IMDS_OPTIONS = {
headers: {
Metadata: "true"
}
};
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/Authority.mjs
class Authority {
constructor(authority, networkInterface, cacheManager, authorityOptions, logger3, correlationId, performanceClient, managedIdentity) {
this.canonicalAuthority = authority;
this._canonicalAuthority.validateAsUri();
this.networkInterface = networkInterface;
this.cacheManager = cacheManager;
this.authorityOptions = authorityOptions;
this.regionDiscoveryMetadata = {
region_used: undefined,
region_source: undefined,
region_outcome: undefined
};
this.logger = logger3;
this.performanceClient = performanceClient;
this.correlationId = correlationId;
this.managedIdentity = managedIdentity || false;
this.regionDiscovery = new RegionDiscovery(networkInterface, this.logger, this.performanceClient, this.correlationId);
}
getAuthorityType(authorityUri) {
if (authorityUri.HostNameAndPort.endsWith(CIAM_AUTH_URL)) {
return AuthorityType.Ciam;
}
const pathSegments = authorityUri.PathSegments;
if (pathSegments.length) {
switch (pathSegments[0].toLowerCase()) {
case ADFS:
return AuthorityType.Adfs;
case DSTS:
return AuthorityType.Dsts;
}
}
return AuthorityType.Default;
}
get authorityType() {
return this.getAuthorityType(this.canonicalAuthorityUrlComponents);
}
get protocolMode() {
return this.authorityOptions.protocolMode;
}
get options() {
return this.authorityOptions;
}
get canonicalAuthority() {
return this._canonicalAuthority.urlString;
}
set canonicalAuthority(url3) {
this._canonicalAuthority = new UrlString(url3);
this._canonicalAuthority.validateAsUri();
this._canonicalAuthorityUrlComponents = null;
}
get canonicalAuthorityUrlComponents() {
if (!this._canonicalAuthorityUrlComponents) {
this._canonicalAuthorityUrlComponents = this._canonicalAuthority.getUrlComponents();
}
return this._canonicalAuthorityUrlComponents;
}
get hostnameAndPort() {
return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase();
}
get tenant() {
return this.canonicalAuthorityUrlComponents.PathSegments[0];
}
get authorizationEndpoint() {
if (this.discoveryComplete()) {
return this.replacePath(this.metadata.authorization_endpoint);
} else {
throw createClientAuthError(endpointResolutionError);
}
}
get tokenEndpoint() {
if (this.discoveryComplete()) {
return this.replacePath(this.metadata.token_endpoint);
} else {
throw createClientAuthError(endpointResolutionError);
}
}
get deviceCodeEndpoint() {
if (this.discoveryComplete()) {
return this.replacePath(this.metadata.token_endpoint.replace("/token", "/devicecode"));
} else {
throw createClientAuthError(endpointResolutionError);
}
}
get endSessionEndpoint() {
if (this.discoveryComplete()) {
if (!this.metadata.end_session_endpoint) {
throw createClientAuthError(endSessionEndpointNotSupported);
}
return this.replacePath(this.metadata.end_session_endpoint);
} else {
throw createClientAuthError(endpointResolutionError);
}
}
get selfSignedJwtAudience() {
if (this.discoveryComplete()) {
return this.replacePath(this.metadata.issuer);
} else {
throw createClientAuthError(endpointResolutionError);
}
}
get jwksUri() {
if (this.discoveryComplete()) {
return this.replacePath(this.metadata.jwks_uri);
} else {
throw createClientAuthError(endpointResolutionError);
}
}
canReplaceTenant(authorityUri) {
return authorityUri.PathSegments.length === 1 && !Authority.reservedTenantDomains.has(authorityUri.PathSegments[0]) && this.getAuthorityType(authorityUri) === AuthorityType.Default && this.protocolMode !== ProtocolMode.OIDC;
}
replaceTenant(urlString) {
return urlString.replace(/{tenant}|{tenantid}/g, this.tenant);
}
replacePath(urlString) {
let endpoint = urlString;
const cachedAuthorityUrl = new UrlString(this.metadata.canonical_authority);
const cachedAuthorityUrlComponents = cachedAuthorityUrl.getUrlComponents();
const cachedAuthorityParts = cachedAuthorityUrlComponents.PathSegments;
const currentAuthorityParts = this.canonicalAuthorityUrlComponents.PathSegments;
currentAuthorityParts.forEach((currentPart, index) => {
let cachedPart = cachedAuthorityParts[index];
if (index === 0 && this.canReplaceTenant(cachedAuthorityUrlComponents)) {
const tenantId = new UrlString(this.metadata.authorization_endpoint).getUrlComponents().PathSegments[0];
if (cachedPart !== tenantId) {
this.logger.verbose(`Replacing tenant domain name '${cachedPart}' with id '${tenantId}'`, this.correlationId);
cachedPart = tenantId;
}
}
if (currentPart !== cachedPart) {
endpoint = endpoint.replace(`/${cachedPart}/`, `/${currentPart}/`);
}
});
return this.replaceTenant(endpoint);
}
get defaultOpenIdConfigurationEndpoint() {
const canonicalAuthorityHost = this.hostnameAndPort;
if (this.canonicalAuthority.endsWith("v2.0/") || this.authorityType === AuthorityType.Adfs || this.protocolMode === ProtocolMode.OIDC && !this.isAliasOfKnownMicrosoftAuthority(canonicalAuthorityHost)) {
return `${this.canonicalAuthority}.well-known/openid-configuration`;
}
return `${this.canonicalAuthority}v2.0/.well-known/openid-configuration`;
}
discoveryComplete() {
return !!this.metadata;
}
async resolveEndpointsAsync() {
const metadataEntity = this.getCurrentMetadataEntity();
const cloudDiscoverySource = await invokeAsync(this.updateCloudDiscoveryMetadata.bind(this), AuthorityUpdateCloudDiscoveryMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);
const endpointSource = await invokeAsync(this.updateEndpointMetadata.bind(this), AuthorityUpdateEndpointMetadata, this.logger, this.performanceClient, this.correlationId)(metadataEntity);
this.updateCachedMetadata(metadataEntity, cloudDiscoverySource, {
source: endpointSource
});
this.performanceClient?.addFields({
cloudDiscoverySource,
authorityEndpointSource: endpointSource
}, this.correlationId);
}
getCurrentMetadataEntity() {
let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort, this.correlationId);
if (!metadataEntity) {
metadataEntity = {
aliases: [],
preferred_cache: this.hostnameAndPort,
preferred_network: this.hostnameAndPort,
canonical_authority: this.canonicalAuthority,
authorization_endpoint: "",
token_endpoint: "",
end_session_endpoint: "",
issuer: "",
aliasesFromNetwork: false,
endpointsFromNetwork: false,
expiresAt: generateAuthorityMetadataExpiresAt(),
jwks_uri: ""
};
}
return metadataEntity;
}
updateCachedMetadata(metadataEntity, cloudDiscoverySource, endpointMetadataResult) {
if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE && endpointMetadataResult?.source !== AuthorityMetadataSource.CACHE) {
metadataEntity.expiresAt = generateAuthorityMetadataExpiresAt();
metadataEntity.canonical_authority = this.canonicalAuthority;
}
const cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(metadataEntity.preferred_cache, this.correlationId);
this.cacheManager.setAuthorityMetadata(cacheKey, metadataEntity, this.correlationId);
this.metadata = metadataEntity;
}
async updateEndpointMetadata(metadataEntity) {
const localMetadata = this.updateEndpointMetadataFromLocalSources(metadataEntity);
if (localMetadata) {
if (localMetadata.source === AuthorityMetadataSource.HARDCODED_VALUES) {
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
if (localMetadata.metadata) {
const hardcodedMetadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(localMetadata.metadata);
updateAuthorityEndpointMetadata(metadataEntity, hardcodedMetadata, false);
metadataEntity.canonical_authority = this.canonicalAuthority;
}
}
}
return localMetadata.source;
}
let metadata = await invokeAsync(this.getEndpointMetadataFromNetwork.bind(this), AuthorityGetEndpointMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
if (metadata) {
if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {
metadata = await invokeAsync(this.updateMetadataWithRegionalInformation.bind(this), AuthorityUpdateMetadataWithRegionalInformation, this.logger, this.performanceClient, this.correlationId)(metadata);
}
updateAuthorityEndpointMetadata(metadataEntity, metadata, true);
return AuthorityMetadataSource.NETWORK;
} else {
throw createClientAuthError(openIdConfigError, this.defaultOpenIdConfigurationEndpoint);
}
}
updateEndpointMetadataFromLocalSources(metadataEntity) {
this.logger.verbose("Attempting to get endpoint metadata from authority configuration", this.correlationId);
const configMetadata = this.getEndpointMetadataFromConfig();
if (configMetadata) {
this.logger.verbose("Found endpoint metadata in authority configuration", this.correlationId);
updateAuthorityEndpointMetadata(metadataEntity, configMetadata, false);
return {
source: AuthorityMetadataSource.CONFIG
};
}
this.logger.verbose("Did not find endpoint metadata in the config... Attempting to get endpoint metadata from the hardcoded values.", this.correlationId);
const hardcodedMetadata = this.getEndpointMetadataFromHardcodedValues();
if (hardcodedMetadata) {
updateAuthorityEndpointMetadata(metadataEntity, hardcodedMetadata, false);
return {
source: AuthorityMetadataSource.HARDCODED_VALUES,
metadata: hardcodedMetadata
};
} else {
this.logger.verbose("Did not find endpoint metadata in hardcoded values... Attempting to get endpoint metadata from the network metadata cache.", this.correlationId);
}
const metadataEntityExpired = isAuthorityMetadataExpired(metadataEntity);
if (this.isAuthoritySameType(metadataEntity) && metadataEntity.endpointsFromNetwork && !metadataEntityExpired) {
this.logger.verbose("Found endpoint metadata in the cache.", "");
return { source: AuthorityMetadataSource.CACHE };
} else if (metadataEntityExpired) {
this.logger.verbose("The metadata entity is expired.", "");
}
return null;
}
isAuthoritySameType(metadataEntity) {
const cachedAuthorityUrl = new UrlString(metadataEntity.canonical_authority);
const cachedParts = cachedAuthorityUrl.getUrlComponents().PathSegments;
return cachedParts.length === this.canonicalAuthorityUrlComponents.PathSegments.length;
}
getEndpointMetadataFromConfig() {
if (this.authorityOptions.authorityMetadata) {
try {
return JSON.parse(this.authorityOptions.authorityMetadata);
} catch (e) {
throw createClientConfigurationError(invalidAuthorityMetadata);
}
}
return null;
}
async getEndpointMetadataFromNetwork() {
const options = {};
const openIdConfigurationEndpoint = this.defaultOpenIdConfigurationEndpoint;
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: attempting to retrieve OAuth endpoints from '${openIdConfigurationEndpoint}'`, this.correlationId);
try {
const response = await this.networkInterface.sendGetRequestAsync(openIdConfigurationEndpoint, options);
const isValidResponse = isOpenIdConfigResponse(response.body);
if (isValidResponse) {
return response.body;
} else {
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: could not parse response as OpenID configuration`, this.correlationId);
return null;
}
} catch (e) {
this.logger.verbose(`Authority.getEndpointMetadataFromNetwork: '${e}'`, this.correlationId);
return null;
}
}
getEndpointMetadataFromHardcodedValues() {
if (this.hostnameAndPort in EndpointMetadata) {
return EndpointMetadata[this.hostnameAndPort];
}
return null;
}
async updateMetadataWithRegionalInformation(metadata) {
const userConfiguredAzureRegion = this.authorityOptions.azureRegionConfiguration?.azureRegion;
if (userConfiguredAzureRegion) {
if (userConfiguredAzureRegion !== AZURE_REGION_AUTO_DISCOVER_FLAG) {
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;
this.regionDiscoveryMetadata.region_used = userConfiguredAzureRegion;
return Authority.replaceWithRegionalInformation(metadata, userConfiguredAzureRegion);
}
const autodetectedRegionName = await invokeAsync(this.regionDiscovery.detectRegion.bind(this.regionDiscovery), RegionDiscoveryDetectRegion, this.logger, this.performanceClient, this.correlationId)(this.authorityOptions.azureRegionConfiguration?.environmentRegion, this.regionDiscoveryMetadata);
if (autodetectedRegionName) {
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL;
this.regionDiscoveryMetadata.region_used = autodetectedRegionName;
return Authority.replaceWithRegionalInformation(metadata, autodetectedRegionName);
}
this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;
}
return metadata;
}
async updateCloudDiscoveryMetadata(metadataEntity) {
const localMetadataSource = this.updateCloudDiscoveryMetadataFromLocalSources(metadataEntity);
if (localMetadataSource) {
return localMetadataSource;
}
const metadata = await invokeAsync(this.getCloudDiscoveryMetadataFromNetwork.bind(this), AuthorityGetCloudDiscoveryMetadataFromNetwork, this.logger, this.performanceClient, this.correlationId)();
if (metadata) {
updateCloudDiscoveryMetadata(metadataEntity, metadata, true);
return AuthorityMetadataSource.NETWORK;
}
throw createClientConfigurationError(untrustedAuthority);
}
updateCloudDiscoveryMetadataFromLocalSources(metadataEntity) {
this.logger.verbose("Attempting to get cloud discovery metadata from authority configuration", this.correlationId);
this.logger.verbosePii(`Known Authorities: '${this.authorityOptions.knownAuthorities || NOT_APPLICABLE}'`, this.correlationId);
this.logger.verbosePii(`Authority Metadata: '${this.authorityOptions.authorityMetadata || NOT_APPLICABLE}'`, this.correlationId);
this.logger.verbosePii(`Canonical Authority: '${metadataEntity.canonical_authority || NOT_APPLICABLE}'`, this.correlationId);
const metadata = this.getCloudDiscoveryMetadataFromConfig();
if (metadata) {
this.logger.verbose("Found cloud discovery metadata in authority configuration", this.correlationId);
updateCloudDiscoveryMetadata(metadataEntity, metadata, false);
return AuthorityMetadataSource.CONFIG;
}
this.logger.verbose("Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the hardcoded values.", this.correlationId);
const hardcodedMetadata = getCloudDiscoveryMetadataFromHardcodedValues(this.hostnameAndPort);
if (hardcodedMetadata) {
this.logger.verbose("Found cloud discovery metadata from hardcoded values.", this.correlationId);
updateCloudDiscoveryMetadata(metadataEntity, hardcodedMetadata, false);
return AuthorityMetadataSource.HARDCODED_VALUES;
}
this.logger.verbose("Did not find cloud discovery metadata in hardcoded values... Attempting to get cloud discovery metadata from the network metadata cache.", this.correlationId);
const metadataEntityExpired = isAuthorityMetadataExpired(metadataEntity);
if (this.isAuthoritySameType(metadataEntity) && metadataEntity.aliasesFromNetwork && !metadataEntityExpired) {
this.logger.verbose("Found cloud discovery metadata in the cache.", "");
return AuthorityMetadataSource.CACHE;
} else if (metadataEntityExpired) {
this.logger.verbose("The metadata entity is expired.", "");
}
return null;
}
getCloudDiscoveryMetadataFromConfig() {
if (this.authorityType === AuthorityType.Ciam) {
this.logger.verbose("CIAM authorities do not support cloud discovery metadata, generate the aliases from authority host.", this.correlationId);
return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
}
if (this.authorityOptions.cloudDiscoveryMetadata) {
this.logger.verbose("The cloud discovery metadata has been provided as a network response, in the config.", this.correlationId);
try {
this.logger.verbose("Attempting to parse the cloud discovery metadata.", this.correlationId);
const parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata);
const metadata = getCloudDiscoveryMetadataFromNetworkResponse(parsedResponse.metadata, this.hostnameAndPort);
this.logger.verbose("Parsed the cloud discovery metadata.", "");
if (metadata) {
this.logger.verbose("There is returnable metadata attached to the parsed cloud discovery metadata.", this.correlationId);
return metadata;
} else {
this.logger.verbose("There is no metadata attached to the parsed cloud discovery metadata.", this.correlationId);
}
} catch (e) {
this.logger.verbose("Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error.", this.correlationId);
throw createClientConfigurationError(invalidCloudDiscoveryMetadata);
}
}
if (this.isInKnownAuthorities()) {
this.logger.verbose("The host is included in knownAuthorities. Creating new cloud discovery metadata from the host.", this.correlationId);
return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
}
return null;
}
async getCloudDiscoveryMetadataFromNetwork() {
const instanceDiscoveryEndpoint = `${AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`;
const options = {};
let match = null;
try {
const response = await this.networkInterface.sendGetRequestAsync(instanceDiscoveryEndpoint, options);
let typedResponseBody;
let metadata;
if (isCloudInstanceDiscoveryResponse(response.body)) {
typedResponseBody = response.body;
metadata = typedResponseBody.metadata;
this.logger.verbosePii(`tenant_discovery_endpoint is: '${typedResponseBody.tenant_discovery_endpoint}'`, this.correlationId);
} else if (isCloudInstanceDiscoveryErrorResponse(response.body)) {
this.logger.warning(`A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: '${response.status}'`, this.correlationId);
typedResponseBody = response.body;
if (typedResponseBody.error === INVALID_INSTANCE) {
this.logger.error("The CloudInstanceDiscoveryErrorResponse error is invalid_instance.", this.correlationId);
return null;
}
this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error is '${typedResponseBody.error}'`, this.correlationId);
this.logger.warning(`The CloudInstanceDiscoveryErrorResponse error description is '${typedResponseBody.error_description}'`, this.correlationId);
this.logger.warning("Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network, correlationId) to []", this.correlationId);
metadata = [];
} else {
this.logger.error("AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse", this.correlationId);
return null;
}
this.logger.verbose("Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request.", this.correlationId);
match = getCloudDiscoveryMetadataFromNetworkResponse(metadata, this.hostnameAndPort);
} catch (error51) {
if (error51 instanceof AuthError) {
this.logger.error(`There was a network error while attempting to get the cloud discovery instance metadata.
Error: '${error51.errorCode}'
Error Description: '${error51.errorMessage}'`, this.correlationId);
} else {
const typedError = error51;
this.logger.error(`A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.
Error: '${typedError.name}'
Error Description: '${typedError.message}'`, this.correlationId);
}
return null;
}
if (!match) {
this.logger.warning("The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request.", this.correlationId);
this.logger.verbose("Creating custom Authority for custom domain scenario.", this.correlationId);
match = Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);
}
return match;
}
isInKnownAuthorities() {
const matches = this.authorityOptions.knownAuthorities.filter((authority) => {
return authority && UrlString.getDomainFromUrl(authority).toLowerCase() === this.hostnameAndPort;
});
return matches.length > 0;
}
static generateAuthority(authorityString, azureCloudOptions) {
let authorityAzureCloudInstance;
if (azureCloudOptions && azureCloudOptions.azureCloudInstance !== AzureCloudInstance.None) {
const tenant = azureCloudOptions.tenant ? azureCloudOptions.tenant : DEFAULT_COMMON_TENANT;
authorityAzureCloudInstance = `${azureCloudOptions.azureCloudInstance}/${tenant}/`;
}
return authorityAzureCloudInstance ? authorityAzureCloudInstance : authorityString;
}
static createCloudDiscoveryMetadataFromHost(host) {
return {
preferred_network: host,
preferred_cache: host,
aliases: [host]
};
}
getPreferredCache() {
if (this.managedIdentity) {
return DEFAULT_AUTHORITY_HOST;
} else if (this.discoveryComplete()) {
return this.metadata.preferred_cache;
} else {
throw createClientAuthError(endpointResolutionError);
}
}
isAlias(host) {
return this.metadata.aliases.indexOf(host) > -1;
}
isAliasOfKnownMicrosoftAuthority(host) {
return InstanceDiscoveryMetadataAliases.has(host);
}
static isPublicCloudAuthority(host) {
return KNOWN_PUBLIC_CLOUDS.indexOf(host) >= 0;
}
static buildRegionalAuthorityString(host, region, queryString) {
const authorityUrlInstance = new UrlString(host);
authorityUrlInstance.validateAsUri();
const authorityUrlParts = authorityUrlInstance.getUrlComponents();
let hostNameAndPort = `${region}.${authorityUrlParts.HostNameAndPort}`;
if (this.isPublicCloudAuthority(authorityUrlParts.HostNameAndPort)) {
hostNameAndPort = `${region}.${REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`;
}
const url3 = UrlString.constructAuthorityUriFromObject({
...authorityUrlInstance.getUrlComponents(),
HostNameAndPort: hostNameAndPort
}).urlString;
if (queryString)
return `${url3}?${queryString}`;
return url3;
}
static replaceWithRegionalInformation(metadata, azureRegion) {
const regionalMetadata = { ...metadata };
regionalMetadata.authorization_endpoint = Authority.buildRegionalAuthorityString(regionalMetadata.authorization_endpoint, azureRegion);
regionalMetadata.token_endpoint = Authority.buildRegionalAuthorityString(regionalMetadata.token_endpoint, azureRegion);
if (regionalMetadata.end_session_endpoint) {
regionalMetadata.end_session_endpoint = Authority.buildRegionalAuthorityString(regionalMetadata.end_session_endpoint, azureRegion);
}
return regionalMetadata;
}
static transformCIAMAuthority(authority) {
let ciamAuthority = authority;
const authorityUrl = new UrlString(authority);
const authorityUrlComponents = authorityUrl.getUrlComponents();
if (authorityUrlComponents.PathSegments.length === 0 && authorityUrlComponents.HostNameAndPort.endsWith(CIAM_AUTH_URL)) {
const tenantIdOrDomain = authorityUrlComponents.HostNameAndPort.split(".")[0];
ciamAuthority = `${ciamAuthority}${tenantIdOrDomain}${AAD_TENANT_DOMAIN_SUFFIX}`;
}
return ciamAuthority;
}
}
function getTenantFromAuthorityString(authority) {
const authorityUrl = new UrlString(authority);
const authorityUrlComponents = authorityUrl.getUrlComponents();
const tenantId = authorityUrlComponents.PathSegments.slice(-1)[0]?.toLowerCase();
switch (tenantId) {
case AADAuthority.COMMON:
case AADAuthority.ORGANIZATIONS:
case AADAuthority.CONSUMERS:
return;
default:
return tenantId;
}
}
function formatAuthorityUri(authorityUri) {
return authorityUri.endsWith(FORWARD_SLASH) ? authorityUri : `${authorityUri}${FORWARD_SLASH}`;
}
function buildStaticAuthorityOptions(authOptions) {
const rawCloudDiscoveryMetadata = authOptions.cloudDiscoveryMetadata;
let cloudDiscoveryMetadata = undefined;
if (rawCloudDiscoveryMetadata) {
try {
cloudDiscoveryMetadata = JSON.parse(rawCloudDiscoveryMetadata);
} catch (e) {
throw createClientConfigurationError(invalidCloudDiscoveryMetadata);
}
}
return {
canonicalAuthority: authOptions.authority ? formatAuthorityUri(authOptions.authority) : undefined,
knownAuthorities: authOptions.knownAuthorities,
cloudDiscoveryMetadata
};
}
var init_Authority = __esm(() => {
init_AuthorityType();
init_OpenIdConfigResponse();
init_UrlString();
init_ClientAuthError();
init_Constants();
init_AuthorityMetadata();
init_ClientConfigurationError();
init_ProtocolMode();
init_AuthorityOptions();
init_CloudInstanceDiscoveryResponse();
init_CloudInstanceDiscoveryErrorResponse();
init_RegionDiscovery();
init_AuthError();
init_PerformanceEvents();
init_FunctionWrappers();
init_CacheHelpers();
init_ClientAuthErrorCodes();
init_ClientConfigurationErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
Authority.reservedTenantDomains = new Set([
"{tenant}",
"{tenantid}",
AADAuthority.COMMON,
AADAuthority.CONSUMERS,
AADAuthority.ORGANIZATIONS
]);
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.mjs
var exports_AuthorityFactory = {};
__export(exports_AuthorityFactory, {
createDiscoveredInstance: () => createDiscoveredInstance
});
async function createDiscoveredInstance(authorityUri, networkClient, cacheManager, authorityOptions, logger3, correlationId, performanceClient) {
const authorityUriFinal = Authority.transformCIAMAuthority(formatAuthorityUri(authorityUri));
const acquireTokenAuthority = new Authority(authorityUriFinal, networkClient, cacheManager, authorityOptions, logger3, correlationId, performanceClient);
try {
await invokeAsync(acquireTokenAuthority.resolveEndpointsAsync.bind(acquireTokenAuthority), AuthorityResolveEndpointsAsync, logger3, performanceClient, correlationId)();
return acquireTokenAuthority;
} catch (e) {
throw createClientAuthError(endpointResolutionError);
}
}
var init_AuthorityFactory = __esm(() => {
init_Authority();
init_ClientAuthError();
init_PerformanceEvents();
init_FunctionWrappers();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.mjs
class AuthorizationCodeClient {
constructor(configuration, performanceClient) {
this.includeRedirectUri = true;
this.config = buildClientConfiguration(configuration);
this.logger = new Logger(this.config.loggerOptions, name, version2);
this.cryptoUtils = this.config.cryptoInterface;
this.cacheManager = this.config.storageInterface;
this.networkClient = this.config.networkInterface;
this.serverTelemetryManager = this.config.serverTelemetryManager;
this.authority = this.config.authOptions.authority;
this.performanceClient = performanceClient;
this.oidcDefaultScopes = this.config.authOptions.authority.options.OIDCOptions?.defaultScopes;
}
async acquireToken(request, apiId, authCodePayload) {
if (!request.code) {
throw createClientAuthError(requestCannotBeMade);
}
if (authCodePayload && authCodePayload.cloud_instance_host_name) {
await invokeAsync(this.updateTokenEndpointAuthority.bind(this), UpdateTokenEndpointAuthority, this.logger, this.performanceClient, request.correlationId)(authCodePayload.cloud_instance_host_name, request.correlationId);
}
const reqTimestamp = nowSeconds();
const response = await invokeAsync(this.executeTokenRequest.bind(this), AuthClientExecuteTokenRequest, this.logger, this.performanceClient, request.correlationId)(this.authority, request, this.serverTelemetryManager);
const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(response.body, request.correlationId);
return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, apiId, authCodePayload, undefined, undefined, undefined, requestId);
}
getLogoutUri(logoutRequest) {
if (!logoutRequest) {
throw createClientConfigurationError(logoutRequestEmpty);
}
const queryString = this.createLogoutUrlQueryString(logoutRequest);
return UrlString.appendQueryString(this.authority.endSessionEndpoint, queryString);
}
async executeTokenRequest(authority, request, serverTelemetryManager) {
const queryParametersString = createTokenQueryParameters(request, this.config.authOptions.clientId, this.config.authOptions.redirectUri, this.performanceClient);
const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
const requestBody = await invokeAsync(this.createTokenRequestBody.bind(this), AuthClientCreateTokenRequestBody, this.logger, this.performanceClient, request.correlationId)(request);
let ccsCredential = undefined;
if (request.clientInfo) {
try {
const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils.base64Decode);
ccsCredential = {
credential: `${clientInfo.uid}${CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,
type: CcsCredentialType.HOME_ACCOUNT_ID
};
} catch (e) {
this.logger.verbose(`Could not parse client info for CCS Header: '${e}'`, request.correlationId);
}
}
const headers = createTokenRequestHeaders(this.logger, this.config.systemOptions.preventCorsPreflight, ccsCredential || request.ccsCredential);
const thumbprint = getRequestThumbprint(this.config.authOptions.clientId, request);
return invokeAsync(executePostToTokenEndpoint, AuthorizationCodeClientExecutePostToTokenEndpoint, this.logger, this.performanceClient, request.correlationId)(endpoint, requestBody, headers, thumbprint, request.correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient, serverTelemetryManager);
}
async createTokenRequestBody(request) {
const parameters = new Map;
addClientId(parameters, request.embeddedClientId || request.extraParameters?.[CLIENT_ID] || this.config.authOptions.clientId);
if (!this.includeRedirectUri) {
if (!request.redirectUri) {
throw createClientConfigurationError(redirectUriEmpty);
}
} else {
addRedirectUri(parameters, request.redirectUri);
}
addScopes(parameters, request.scopes, true, this.oidcDefaultScopes);
addResource(parameters, request.resource);
addAuthorizationCode(parameters, request.code);
addLibraryInfo(parameters, this.config.libraryInfo);
addApplicationTelemetry(parameters, this.config.telemetry.application);
addThrottling(parameters);
if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
addServerTelemetry(parameters, this.serverTelemetryManager);
}
if (request.codeVerifier) {
addCodeVerifier(parameters, request.codeVerifier);
}
if (this.config.clientCredentials.clientSecret) {
addClientSecret(parameters, this.config.clientCredentials.clientSecret);
}
if (this.config.clientCredentials.clientAssertion) {
const clientAssertion = this.config.clientCredentials.clientAssertion;
addClientAssertion(parameters, await getClientAssertion(clientAssertion.assertion, this.config.authOptions.clientId, request.resourceRequestUri));
addClientAssertionType(parameters, clientAssertion.assertionType);
}
addGrantType(parameters, GrantType.AUTHORIZATION_CODE_GRANT);
addClientInfo(parameters);
if (request.authenticationScheme === AuthenticationScheme.POP) {
const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils, this.performanceClient);
let reqCnfData;
if (!request.popKid) {
const generatedReqCnfData = await invokeAsync(popTokenGenerator.generateCnf.bind(popTokenGenerator), PopTokenGenerateCnf, this.logger, this.performanceClient, request.correlationId)(request, this.logger);
reqCnfData = generatedReqCnfData.reqCnfString;
} else {
reqCnfData = this.cryptoUtils.encodeKid(request.popKid);
}
addPopToken(parameters, reqCnfData);
} else if (request.authenticationScheme === AuthenticationScheme.SSH) {
if (request.sshJwk) {
addSshJwk(parameters, request.sshJwk);
} else {
throw createClientConfigurationError(missingSshJwk);
}
}
if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
let ccsCred = undefined;
if (request.clientInfo) {
try {
const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils.base64Decode);
ccsCred = {
credential: `${clientInfo.uid}${CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,
type: CcsCredentialType.HOME_ACCOUNT_ID
};
} catch (e) {
this.logger.verbose(`Could not parse client info for CCS Header: '${e}'`, request.correlationId);
}
} else {
ccsCred = request.ccsCredential;
}
if (this.config.systemOptions.preventCorsPreflight && ccsCred) {
switch (ccsCred.type) {
case CcsCredentialType.HOME_ACCOUNT_ID:
try {
const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);
addCcsOid(parameters, clientInfo);
} catch (e) {
this.logger.verbose(`Could not parse home account ID for CCS Header: '${e}'`, request.correlationId);
}
break;
case CcsCredentialType.UPN:
addCcsUpn(parameters, ccsCred.credential);
break;
}
}
if (request.embeddedClientId) {
addBrokerParameters(parameters, this.config.authOptions.clientId, this.config.authOptions.redirectUri);
}
if (request.extraParameters) {
addExtraParameters(parameters, request.extraParameters);
}
if (request.enableSpaAuthorizationCode && (!request.extraParameters || !request.extraParameters[RETURN_SPA_CODE])) {
addExtraParameters(parameters, {
[RETURN_SPA_CODE]: "1"
});
}
instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
return mapToQueryString(parameters);
}
createLogoutUrlQueryString(request) {
const parameters = new Map;
if (request.postLogoutRedirectUri) {
addPostLogoutRedirectUri(parameters, request.postLogoutRedirectUri);
}
if (request.correlationId) {
addCorrelationId(parameters, request.correlationId);
}
if (request.idTokenHint) {
addIdTokenHint(parameters, request.idTokenHint);
}
if (request.state) {
addState(parameters, request.state);
}
if (request.logoutHint) {
addLogoutHint(parameters, request.logoutHint);
}
if (request.extraQueryParameters) {
addExtraParameters(parameters, request.extraQueryParameters);
}
if (this.config.authOptions.instanceAware) {
addInstanceAware(parameters);
}
return mapToQueryString(parameters);
}
async updateTokenEndpointAuthority(cloudInstanceHostName, correlationId) {
const cloudInstanceAuthorityUri = `https://${cloudInstanceHostName}/${this.authority.tenant}/`;
const cloudInstanceAuthority = await createDiscoveredInstance(cloudInstanceAuthorityUri, this.networkClient, this.cacheManager, this.authority.options, this.logger, correlationId, this.performanceClient);
this.authority = cloudInstanceAuthority;
}
}
var init_AuthorizationCodeClient = __esm(() => {
init_RequestParameterBuilder();
init_UrlUtils();
init_Constants();
init_AADServerParamKeys();
init_ClientConfiguration();
init_ResponseHandler();
init_StringUtils();
init_ClientAuthError();
init_UrlString();
init_PopTokenGenerator();
init_TimeUtils();
init_ClientInfo();
init_CcsCredential();
init_ClientConfigurationError();
init_PerformanceEvents();
init_FunctionWrappers();
init_ClientAssertionUtils();
init_RequestThumbprint();
init_Token();
init_AuthorityFactory();
init_Logger();
init_packageMetadata();
init_ClientAuthErrorCodes();
init_ClientConfigurationErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.mjs
class RefreshTokenClient {
constructor(configuration, performanceClient) {
this.config = buildClientConfiguration(configuration);
this.logger = new Logger(this.config.loggerOptions, name, version2);
this.cryptoUtils = this.config.cryptoInterface;
this.cacheManager = this.config.storageInterface;
this.networkClient = this.config.networkInterface;
this.serverTelemetryManager = this.config.serverTelemetryManager;
this.authority = this.config.authOptions.authority;
this.performanceClient = performanceClient;
}
async acquireToken(request, apiId) {
const reqTimestamp = nowSeconds();
const response = await invokeAsync(this.executeTokenRequest.bind(this), RefreshTokenClientExecuteTokenRequest, this.logger, this.performanceClient, request.correlationId)(request, this.authority);
const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(response.body, request.correlationId);
return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, apiId, undefined, undefined, true, request.forceCache, requestId);
}
async acquireTokenByRefreshToken(request, apiId) {
if (!request) {
throw createClientConfigurationError(tokenRequestEmpty);
}
if (!request.account) {
throw createClientAuthError(noAccountInSilentRequest);
}
const isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment, request.correlationId);
if (isFOCI) {
try {
return await invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, true, apiId);
} catch (e) {
const noFamilyRTInCache = e instanceof InteractionRequiredAuthError && e.errorCode === noTokensFound;
const clientMismatchErrorWithFamilyRT = e instanceof ServerError && e.errorCode === INVALID_GRANT_ERROR && e.subError === CLIENT_MISMATCH_ERROR;
if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {
return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false, apiId);
} else {
throw e;
}
}
}
return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false, apiId);
}
async acquireTokenWithCachedRefreshToken(request, foci, apiId) {
const refreshToken = invoke(this.cacheManager.getRefreshToken.bind(this.cacheManager), CacheManagerGetRefreshToken, this.logger, this.performanceClient, request.correlationId)(request.account, foci, request.correlationId, undefined);
if (!refreshToken) {
throw createInteractionRequiredAuthError(noTokensFound);
}
if (refreshToken.expiresOn) {
const offset = request.refreshTokenExpirationOffsetSeconds || DEFAULT_REFRESH_TOKEN_EXPIRATION_OFFSET_SECONDS;
this.performanceClient?.addFields({
cacheRtExpiresOnSeconds: Number(refreshToken.expiresOn),
rtOffsetSeconds: offset
}, request.correlationId);
if (isTokenExpired(refreshToken.expiresOn, offset)) {
throw createInteractionRequiredAuthError(refreshTokenExpired);
}
}
const refreshTokenRequest = {
...request,
refreshToken: refreshToken.secret,
authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
ccsCredential: {
credential: request.account.homeAccountId,
type: CcsCredentialType.HOME_ACCOUNT_ID
}
};
try {
return await invokeAsync(this.acquireToken.bind(this), RefreshTokenClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(refreshTokenRequest, apiId);
} catch (e) {
if (e instanceof InteractionRequiredAuthError) {
if (e.subError === badToken) {
this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache", request.correlationId);
const badRefreshTokenKey = this.cacheManager.generateCredentialKey(refreshToken);
this.cacheManager.removeRefreshToken(badRefreshTokenKey, request.correlationId);
}
}
throw e;
}
}
async executeTokenRequest(request, authority) {
const queryParametersString = createTokenQueryParameters(request, this.config.authOptions.clientId, this.config.authOptions.redirectUri, this.performanceClient);
const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
const requestBody = await invokeAsync(this.createTokenRequestBody.bind(this), RefreshTokenClientCreateTokenRequestBody, this.logger, this.performanceClient, request.correlationId)(request);
const headers = createTokenRequestHeaders(this.logger, this.config.systemOptions.preventCorsPreflight, request.ccsCredential);
const thumbprint = getRequestThumbprint(this.config.authOptions.clientId, request);
return invokeAsync(executePostToTokenEndpoint, RefreshTokenClientExecutePostToTokenEndpoint, this.logger, this.performanceClient, request.correlationId)(endpoint, requestBody, headers, thumbprint, request.correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient, this.serverTelemetryManager);
}
async createTokenRequestBody(request) {
const parameters = new Map;
addClientId(parameters, request.embeddedClientId || request.extraParameters?.[CLIENT_ID] || this.config.authOptions.clientId);
if (request.redirectUri) {
addRedirectUri(parameters, request.redirectUri);
}
addScopes(parameters, request.scopes, true, this.config.authOptions.authority.options.OIDCOptions?.defaultScopes);
addGrantType(parameters, GrantType.REFRESH_TOKEN_GRANT);
addClientInfo(parameters);
addLibraryInfo(parameters, this.config.libraryInfo);
addApplicationTelemetry(parameters, this.config.telemetry.application);
addThrottling(parameters);
if (this.serverTelemetryManager && !isOidcProtocolMode(this.config)) {
addServerTelemetry(parameters, this.serverTelemetryManager);
}
addRefreshToken(parameters, request.refreshToken);
if (this.config.clientCredentials.clientSecret) {
addClientSecret(parameters, this.config.clientCredentials.clientSecret);
}
if (this.config.clientCredentials.clientAssertion) {
const clientAssertion = this.config.clientCredentials.clientAssertion;
addClientAssertion(parameters, await getClientAssertion(clientAssertion.assertion, this.config.authOptions.clientId, request.resourceRequestUri));
addClientAssertionType(parameters, clientAssertion.assertionType);
}
if (request.authenticationScheme === AuthenticationScheme.POP) {
const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils, this.performanceClient);
let reqCnfData;
if (!request.popKid) {
const generatedReqCnfData = await invokeAsync(popTokenGenerator.generateCnf.bind(popTokenGenerator), PopTokenGenerateCnf, this.logger, this.performanceClient, request.correlationId)(request, this.logger);
reqCnfData = generatedReqCnfData.reqCnfString;
} else {
reqCnfData = this.cryptoUtils.encodeKid(request.popKid);
}
addPopToken(parameters, reqCnfData);
} else if (request.authenticationScheme === AuthenticationScheme.SSH) {
if (request.sshJwk) {
addSshJwk(parameters, request.sshJwk);
} else {
throw createClientConfigurationError(missingSshJwk);
}
}
if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
if (this.config.systemOptions.preventCorsPreflight && request.ccsCredential) {
switch (request.ccsCredential.type) {
case CcsCredentialType.HOME_ACCOUNT_ID:
try {
const clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);
addCcsOid(parameters, clientInfo);
} catch (e) {
this.logger.verbose(`Could not parse home account ID for CCS Header: '${e}'`, request.correlationId);
}
break;
case CcsCredentialType.UPN:
addCcsUpn(parameters, request.ccsCredential.credential);
break;
}
}
if (request.embeddedClientId) {
addBrokerParameters(parameters, this.config.authOptions.clientId, this.config.authOptions.redirectUri);
}
if (request.extraParameters) {
addExtraParameters(parameters, {
...request.extraParameters
});
}
instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
return mapToQueryString(parameters);
}
}
var DEFAULT_REFRESH_TOKEN_EXPIRATION_OFFSET_SECONDS = 300;
var init_RefreshTokenClient = __esm(() => {
init_ClientConfiguration();
init_RequestParameterBuilder();
init_UrlUtils();
init_Constants();
init_AADServerParamKeys();
init_ResponseHandler();
init_PopTokenGenerator();
init_StringUtils();
init_ClientConfigurationError();
init_ClientAuthError();
init_ServerError();
init_TimeUtils();
init_UrlString();
init_CcsCredential();
init_ClientInfo();
init_InteractionRequiredAuthError();
init_PerformanceEvents();
init_FunctionWrappers();
init_ClientAssertionUtils();
init_RequestThumbprint();
init_Token();
init_Logger();
init_packageMetadata();
init_InteractionRequiredAuthErrorCodes();
init_ClientConfigurationErrorCodes();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/client/SilentFlowClient.mjs
class SilentFlowClient {
constructor(configuration, performanceClient) {
this.config = buildClientConfiguration(configuration);
this.logger = new Logger(this.config.loggerOptions, name, version2);
this.cryptoUtils = this.config.cryptoInterface;
this.cacheManager = this.config.storageInterface;
this.networkClient = this.config.networkInterface;
this.serverTelemetryManager = this.config.serverTelemetryManager;
this.authority = this.config.authOptions.authority;
this.performanceClient = performanceClient;
}
async acquireCachedToken(request) {
let lastCacheOutcome = CacheOutcome.NOT_APPLICABLE;
if (request.forceRefresh || !StringUtils.isEmptyObj(request.claims)) {
this.setCacheOutcome(CacheOutcome.FORCE_REFRESH_OR_CLAIMS, request.correlationId);
throw createClientAuthError(tokenRefreshRequired);
}
if (!request.account) {
throw createClientAuthError(noAccountInSilentRequest);
}
const requestTenantId = request.account.tenantId || getTenantFromAuthorityString(request.authority);
const tokenKeys = this.cacheManager.getTokenKeys();
const cachedAccessToken = this.cacheManager.getAccessToken(request.account, request, tokenKeys, requestTenantId);
if (!cachedAccessToken) {
this.setCacheOutcome(CacheOutcome.NO_CACHED_ACCESS_TOKEN, request.correlationId);
throw createClientAuthError(tokenRefreshRequired);
} else if (wasClockTurnedBack(cachedAccessToken.cachedAt) || isTokenExpired(cachedAccessToken.expiresOn, this.config.systemOptions.tokenRenewalOffsetSeconds)) {
this.setCacheOutcome(CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED, request.correlationId);
throw createClientAuthError(tokenRefreshRequired);
} else if (request.resource) {
if (cachedAccessToken.resource !== request.resource) {
this.setCacheOutcome(CacheOutcome.NO_CACHED_ACCESS_TOKEN, request.correlationId);
throw createClientAuthError(tokenRefreshRequired);
}
} else if (cachedAccessToken.refreshOn && isTokenExpired(cachedAccessToken.refreshOn, 0)) {
lastCacheOutcome = CacheOutcome.PROACTIVELY_REFRESHED;
}
const environment = request.authority || this.authority.getPreferredCache();
const cacheRecord = {
account: this.cacheManager.getAccount(this.cacheManager.generateAccountKey(request.account), request.correlationId),
accessToken: cachedAccessToken,
idToken: this.cacheManager.getIdToken(request.account, request.correlationId, tokenKeys, requestTenantId),
refreshToken: null,
appMetadata: this.cacheManager.readAppMetadataFromCache(environment, request.correlationId)
};
this.setCacheOutcome(lastCacheOutcome, request.correlationId);
if (this.config.serverTelemetryManager) {
this.config.serverTelemetryManager.incrementCacheHits();
}
return [
await invokeAsync(this.generateResultFromCacheRecord.bind(this), SilentFlowClientGenerateResultFromCacheRecord, this.logger, this.performanceClient, request.correlationId)(cacheRecord, request),
lastCacheOutcome
];
}
setCacheOutcome(cacheOutcome, correlationId) {
this.serverTelemetryManager?.setCacheOutcome(cacheOutcome);
this.performanceClient?.addFields({
cacheOutcome
}, correlationId);
if (cacheOutcome !== CacheOutcome.NOT_APPLICABLE) {
this.logger.info(`Token refresh is required due to cache outcome: '${cacheOutcome}'`, correlationId);
}
}
async generateResultFromCacheRecord(cacheRecord, request) {
let idTokenClaims;
if (cacheRecord.idToken) {
idTokenClaims = extractTokenClaims(cacheRecord.idToken.secret, this.config.cryptoInterface.base64Decode);
}
if (request.maxAge || request.maxAge === 0) {
const authTime = idTokenClaims?.auth_time;
if (!authTime) {
throw createClientAuthError(authTimeNotFound);
}
checkMaxAge(authTime, request.maxAge);
}
return ResponseHandler.generateAuthenticationResult(this.cryptoUtils, this.authority, cacheRecord, true, request, this.performanceClient, idTokenClaims);
}
}
var init_SilentFlowClient = __esm(() => {
init_ClientConfiguration();
init_TimeUtils();
init_ClientAuthError();
init_ResponseHandler();
init_Constants();
init_StringUtils();
init_AuthToken();
init_PerformanceEvents();
init_FunctionWrappers();
init_Authority();
init_Logger();
init_packageMetadata();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/protocol/Authorize.mjs
var exports_Authorize = {};
__export(exports_Authorize, {
validateAuthorizationResponse: () => validateAuthorizationResponse,
getStandardAuthorizeRequestParameters: () => getStandardAuthorizeRequestParameters,
getAuthorizeUrl: () => getAuthorizeUrl,
getAuthorizationCodePayload: () => getAuthorizationCodePayload
});
function getStandardAuthorizeRequestParameters(authOptions, request, logger3, performanceClient) {
const correlationId = request.correlationId;
const parameters = new Map;
addClientId(parameters, request.embeddedClientId || request.extraQueryParameters?.[CLIENT_ID] || authOptions.clientId);
const requestScopes = [
...request.scopes || [],
...request.extraScopesToConsent || []
];
addScopes(parameters, requestScopes, true, authOptions.authority.options.OIDCOptions?.defaultScopes);
addResource(parameters, request.resource);
addRedirectUri(parameters, request.redirectUri);
addCorrelationId(parameters, correlationId);
addResponseMode(parameters, request.responseMode);
addClientInfo(parameters);
addCliData(parameters);
if (request.prompt) {
addPrompt(parameters, request.prompt);
performanceClient?.addFields({ prompt: request.prompt }, correlationId);
}
if (request.domainHint) {
addDomainHint(parameters, request.domainHint);
performanceClient?.addFields({ domainHintFromRequest: true }, correlationId);
}
if (request.prompt !== PromptValue.SELECT_ACCOUNT) {
if (request.sid && request.prompt === PromptValue.NONE) {
logger3.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from request", request.correlationId);
addSid(parameters, request.sid);
performanceClient?.addFields({ sidFromRequest: true }, correlationId);
} else if (request.account) {
const accountSid = extractAccountSid(request.account);
let accountLoginHintClaim = extractLoginHint(request.account);
if (accountLoginHintClaim && request.domainHint) {
logger3.warning(`AuthorizationCodeClient.createAuthCodeUrlQueryString: "domainHint" param is set, skipping opaque "login_hint" claim. Please consider not passing domainHint`, request.correlationId);
accountLoginHintClaim = null;
}
if (accountLoginHintClaim) {
logger3.verbose("createAuthCodeUrlQueryString: login_hint claim present on account", request.correlationId);
addLoginHint(parameters, accountLoginHintClaim);
performanceClient?.addFields({ loginHintFromClaim: true }, correlationId);
try {
const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);
addCcsOid(parameters, clientInfo);
} catch (e) {
logger3.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header", request.correlationId);
}
} else if (accountSid && request.prompt === PromptValue.NONE) {
logger3.verbose("createAuthCodeUrlQueryString: Prompt is none, adding sid from account", request.correlationId);
addSid(parameters, accountSid);
performanceClient?.addFields({ sidFromClaim: true }, correlationId);
try {
const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);
addCcsOid(parameters, clientInfo);
} catch (e) {
logger3.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header", request.correlationId);
}
} else if (request.loginHint) {
logger3.verbose("createAuthCodeUrlQueryString: Adding login_hint from request", request.correlationId);
addLoginHint(parameters, request.loginHint);
addCcsUpn(parameters, request.loginHint);
performanceClient?.addFields({ loginHintFromRequest: true }, correlationId);
} else if (request.account.username) {
logger3.verbose("createAuthCodeUrlQueryString: Adding login_hint from account", request.correlationId);
addLoginHint(parameters, request.account.username);
performanceClient?.addFields({ loginHintFromUpn: true }, correlationId);
try {
const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);
addCcsOid(parameters, clientInfo);
} catch (e) {
logger3.verbose("createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header", request.correlationId);
}
}
} else if (request.loginHint) {
logger3.verbose("createAuthCodeUrlQueryString: No account, adding login_hint from request", request.correlationId);
addLoginHint(parameters, request.loginHint);
addCcsUpn(parameters, request.loginHint);
performanceClient?.addFields({ loginHintFromRequest: true }, correlationId);
}
} else {
logger3.verbose("createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints", request.correlationId);
}
if (request.nonce) {
addNonce(parameters, request.nonce);
}
if (request.state) {
addState(parameters, request.state);
}
if (request.claims || authOptions.clientCapabilities && authOptions.clientCapabilities.length > 0) {
addClaims(parameters, request.claims, authOptions.clientCapabilities);
}
if (request.embeddedClientId) {
addBrokerParameters(parameters, authOptions.clientId, authOptions.redirectUri);
}
if (authOptions.instanceAware && (!request.extraQueryParameters || !Object.keys(request.extraQueryParameters).includes(INSTANCE_AWARE))) {
addInstanceAware(parameters);
}
return parameters;
}
function getAuthorizeUrl(authority, requestParameters) {
const queryString = mapToQueryString(requestParameters);
return UrlString.appendQueryString(authority.authorizationEndpoint, queryString);
}
function getAuthorizationCodePayload(serverParams, cachedState) {
validateAuthorizationResponse(serverParams, cachedState);
if (!serverParams.code) {
throw createClientAuthError(authorizationCodeMissingFromServerResponse);
}
return serverParams;
}
function validateAuthorizationResponse(serverResponse, requestState) {
if (!serverResponse.state || !requestState) {
throw serverResponse.state ? createClientAuthError(stateNotFound, "Cached State") : createClientAuthError(stateNotFound, "Server State");
}
let decodedServerResponseState;
let decodedRequestState;
try {
decodedServerResponseState = decodeURIComponent(serverResponse.state);
} catch (e) {
throw createClientAuthError(invalidState, serverResponse.state);
}
try {
decodedRequestState = decodeURIComponent(requestState);
} catch (e) {
throw createClientAuthError(invalidState, serverResponse.state);
}
if (decodedServerResponseState !== decodedRequestState) {
throw createClientAuthError(stateMismatch);
}
if (serverResponse.error || serverResponse.error_description || serverResponse.suberror) {
const serverErrorNo = parseServerErrorNo(serverResponse);
if (isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {
throw new InteractionRequiredAuthError(serverResponse.error || "", serverResponse.error_description, serverResponse.suberror, serverResponse.timestamp || "", serverResponse.trace_id || "", serverResponse.correlation_id || "", serverResponse.claims || "", serverErrorNo);
}
throw new ServerError(serverResponse.error || "", serverResponse.error_description, serverResponse.suberror, serverErrorNo);
}
}
function parseServerErrorNo(serverResponse) {
const errorCodePrefix = "code=";
const errorCodePrefixIndex = serverResponse.error_uri?.lastIndexOf(errorCodePrefix);
return errorCodePrefixIndex && errorCodePrefixIndex >= 0 ? serverResponse.error_uri?.substring(errorCodePrefixIndex + errorCodePrefix.length) : undefined;
}
function extractAccountSid(account) {
return account.idTokenClaims?.sid || null;
}
function extractLoginHint(account) {
return account.loginHint || account.idTokenClaims?.login_hint || null;
}
var init_Authorize = __esm(() => {
init_RequestParameterBuilder();
init_AADServerParamKeys();
init_Constants();
init_ClientInfo();
init_UrlUtils();
init_UrlString();
init_ClientAuthError();
init_InteractionRequiredAuthError();
init_ServerError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/request/BaseAuthRequest.mjs
function enforceResourceParameter(isMcp, request) {
if (!isMcp) {
return;
}
if (request.resource && (containsResourceParam(request.extraParameters) || containsResourceParam(request.extraQueryParameters))) {
throw createClientAuthError(misplacedResourceParam);
}
if (!request.resource) {
throw createClientAuthError(resourceParameterRequired);
}
}
function containsResourceParam(params) {
if (!params) {
return false;
}
return Object.prototype.hasOwnProperty.call(params, "resource");
}
var init_BaseAuthRequest = __esm(() => {
init_ClientAuthError();
init_ClientAuthErrorCodes();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/error/AuthErrorCodes.mjs
var exports_AuthErrorCodes = {};
__export(exports_AuthErrorCodes, {
unexpectedError: () => unexpectedError,
postRequestFailed: () => postRequestFailed
});
var unexpectedError = "unexpected_error", postRequestFailed = "post_request_failed";
var init_AuthErrorCodes = __esm(() => {
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs
function makeExtraSkuString(params) {
const { skus, libraryName, libraryVersion, extensionName, extensionVersion } = params;
const skuMap = new Map([
[0, [libraryName, libraryVersion]],
[2, [extensionName, extensionVersion]]
]);
let skuArr = [];
if (skus?.length) {
skuArr = skus.split(skuGroupSeparator);
if (skuArr.length < 4) {
return skus;
}
} else {
skuArr = Array.from({ length: 4 }, () => skuValueSeparator);
}
skuMap.forEach((value, key) => {
if (value.length === 2 && value[0]?.length && value[1]?.length) {
setSku({
skuArr,
index: key,
skuName: value[0],
skuVersion: value[1]
});
}
});
return skuArr.join(skuGroupSeparator);
}
function setSku(params) {
const { skuArr, index, skuName, skuVersion } = params;
if (index >= skuArr.length) {
return;
}
skuArr[index] = [skuName, skuVersion].join(skuValueSeparator);
}
class ServerTelemetryManager {
constructor(telemetryRequest, cacheManager) {
this.cacheOutcome = CacheOutcome.NOT_APPLICABLE;
this.cacheManager = cacheManager;
this.apiId = telemetryRequest.apiId;
this.correlationId = telemetryRequest.correlationId;
this.wrapperSKU = telemetryRequest.wrapperSKU || "";
this.wrapperVer = telemetryRequest.wrapperVer || "";
this.telemetryCacheKey = SERVER_TELEM_CACHE_KEY + CACHE_KEY_SEPARATOR + telemetryRequest.clientId;
}
generateCurrentRequestHeaderValue() {
const request = `${this.apiId}${SERVER_TELEM_VALUE_SEPARATOR}${this.cacheOutcome}`;
const platformFieldsArr = [this.wrapperSKU, this.wrapperVer];
const nativeBrokerErrorCode = this.getNativeBrokerErrorCode();
if (nativeBrokerErrorCode?.length) {
platformFieldsArr.push(`broker_error=${nativeBrokerErrorCode}`);
}
const platformFields = platformFieldsArr.join(SERVER_TELEM_VALUE_SEPARATOR);
const regionDiscoveryFields = this.getRegionDiscoveryFields();
const requestWithRegionDiscoveryFields = [
request,
regionDiscoveryFields
].join(SERVER_TELEM_VALUE_SEPARATOR);
return [
SERVER_TELEM_SCHEMA_VERSION,
requestWithRegionDiscoveryFields,
platformFields
].join(SERVER_TELEM_CATEGORY_SEPARATOR);
}
generateLastRequestHeaderValue() {
const lastRequests = this.getLastRequests();
const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);
const failedRequests = lastRequests.failedRequests.slice(0, 2 * maxErrors).join(SERVER_TELEM_VALUE_SEPARATOR);
const errors3 = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_VALUE_SEPARATOR);
const errorCount = lastRequests.errors.length;
const overflow = maxErrors < errorCount ? SERVER_TELEM_OVERFLOW_TRUE : SERVER_TELEM_OVERFLOW_FALSE;
const platformFields = [errorCount, overflow].join(SERVER_TELEM_VALUE_SEPARATOR);
return [
SERVER_TELEM_SCHEMA_VERSION,
lastRequests.cacheHits,
failedRequests,
errors3,
platformFields
].join(SERVER_TELEM_CATEGORY_SEPARATOR);
}
cacheFailedRequest(error51) {
const lastRequests = this.getLastRequests();
if (lastRequests.errors.length >= SERVER_TELEM_MAX_CACHED_ERRORS) {
lastRequests.failedRequests.shift();
lastRequests.failedRequests.shift();
lastRequests.errors.shift();
}
lastRequests.failedRequests.push(this.apiId, this.correlationId);
if (error51 instanceof Error && !!error51 && error51.toString()) {
if (error51 instanceof AuthError) {
if (error51.subError) {
lastRequests.errors.push(error51.subError);
} else if (error51.errorCode) {
lastRequests.errors.push(error51.errorCode);
} else {
lastRequests.errors.push(error51.toString());
}
} else {
lastRequests.errors.push(error51.toString());
}
} else {
lastRequests.errors.push(SERVER_TELEM_UNKNOWN_ERROR);
}
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);
return;
}
incrementCacheHits() {
const lastRequests = this.getLastRequests();
lastRequests.cacheHits += 1;
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);
return lastRequests.cacheHits;
}
getLastRequests() {
const initialValue = {
failedRequests: [],
errors: [],
cacheHits: 0
};
const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey, this.correlationId);
return lastRequests || initialValue;
}
clearTelemetryCache() {
const lastRequests = this.getLastRequests();
const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);
const errorCount = lastRequests.errors.length;
if (numErrorsFlushed === errorCount) {
this.cacheManager.removeItem(this.telemetryCacheKey, this.correlationId);
} else {
const serverTelemEntity = {
failedRequests: lastRequests.failedRequests.slice(numErrorsFlushed * 2),
errors: lastRequests.errors.slice(numErrorsFlushed),
cacheHits: 0
};
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity, this.correlationId);
}
}
static maxErrorsToSend(serverTelemetryEntity) {
let i2;
let maxErrors = 0;
let dataSize = 0;
const errorCount = serverTelemetryEntity.errors.length;
for (i2 = 0;i2 < errorCount; i2++) {
const apiId = serverTelemetryEntity.failedRequests[2 * i2] || "";
const correlationId = serverTelemetryEntity.failedRequests[2 * i2 + 1] || "";
const errorCode = serverTelemetryEntity.errors[i2] || "";
dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;
if (dataSize < SERVER_TELEM_MAX_LAST_HEADER_BYTES) {
maxErrors += 1;
} else {
break;
}
}
return maxErrors;
}
getRegionDiscoveryFields() {
const regionDiscoveryFields = [];
regionDiscoveryFields.push(this.regionUsed || "");
regionDiscoveryFields.push(this.regionSource || "");
regionDiscoveryFields.push(this.regionOutcome || "");
return regionDiscoveryFields.join(",");
}
updateRegionDiscoveryMetadata(regionDiscoveryMetadata) {
this.regionUsed = regionDiscoveryMetadata.region_used;
this.regionSource = regionDiscoveryMetadata.region_source;
this.regionOutcome = regionDiscoveryMetadata.region_outcome;
}
setCacheOutcome(cacheOutcome) {
this.cacheOutcome = cacheOutcome;
}
setNativeBrokerErrorCode(errorCode) {
const lastRequests = this.getLastRequests();
lastRequests.nativeBrokerErrorCode = errorCode;
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);
}
getNativeBrokerErrorCode() {
return this.getLastRequests().nativeBrokerErrorCode;
}
clearNativeBrokerErrorCode() {
const lastRequests = this.getLastRequests();
delete lastRequests.nativeBrokerErrorCode;
this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests, this.correlationId);
}
static makeExtraSkuString(params) {
return makeExtraSkuString(params);
}
}
var skuGroupSeparator = ",", skuValueSeparator = "|";
var init_ServerTelemetryManager = __esm(() => {
init_Constants();
init_AuthError();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-common@16.4.0/node_modules/@azure/msal-common/dist/index-node.mjs
var init_index_node = __esm(() => {
init_AuthorizationCodeClient();
init_RefreshTokenClient();
init_SilentFlowClient();
init_ClientConfiguration();
init_CcsCredential();
init_Authority();
init_AuthorityOptions();
init_ProtocolMode();
init_CacheManager();
init_UrlString();
init_ICrypto();
init_Authorize();
init_Token();
init_BaseAuthRequest();
init_RequestParameterBuilder();
init_ResponseHandler();
init_ScopeSet();
init_Logger();
init_InteractionRequiredAuthError();
init_InteractionRequiredAuthErrorCodes();
init_AuthError();
init_AuthErrorCodes();
init_ServerError();
init_NetworkError();
init_ClientAuthError();
init_ClientAuthErrorCodes();
init_ClientConfigurationError();
init_ClientConfigurationErrorCodes();
init_Constants();
init_StringUtils();
init_ServerTelemetryManager();
init_AuthToken();
init_AuthorityFactory();
init_CacheHelpers();
init_TimeUtils();
init_UrlUtils();
init_AADServerParamKeys();
init_AccountEntityUtils();
init_TokenCacheContext();
init_ClientAssertionUtils();
init_StubPerformanceClient();
/*! @azure/msal-common v16.4.0 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/serializer/Deserializer.mjs
class Deserializer {
static deserializeJSONBlob(jsonFile) {
const deserializedCache = !jsonFile ? {} : JSON.parse(jsonFile);
return deserializedCache;
}
static deserializeAccounts(accounts) {
const accountObjects = {};
if (accounts) {
Object.keys(accounts).map(function(key) {
const serializedAcc = accounts[key];
const mappedAcc = {
homeAccountId: serializedAcc.home_account_id,
environment: serializedAcc.environment,
realm: serializedAcc.realm,
localAccountId: serializedAcc.local_account_id,
username: serializedAcc.username,
authorityType: serializedAcc.authority_type,
name: serializedAcc.name,
clientInfo: serializedAcc.client_info,
lastModificationTime: serializedAcc.last_modification_time,
lastModificationApp: serializedAcc.last_modification_app,
tenantProfiles: serializedAcc.tenantProfiles?.map((serializedTenantProfile) => {
return JSON.parse(serializedTenantProfile);
}),
lastUpdatedAt: Date.now().toString()
};
const account = {};
CacheManager.toObject(account, mappedAcc);
accountObjects[key] = account;
});
}
return accountObjects;
}
static deserializeIdTokens(idTokens) {
const idObjects = {};
if (idTokens) {
Object.keys(idTokens).map(function(key) {
const serializedIdT = idTokens[key];
const idToken = {
homeAccountId: serializedIdT.home_account_id,
environment: serializedIdT.environment,
credentialType: serializedIdT.credential_type,
clientId: serializedIdT.client_id,
secret: serializedIdT.secret,
realm: serializedIdT.realm,
lastUpdatedAt: Date.now().toString()
};
idObjects[key] = idToken;
});
}
return idObjects;
}
static deserializeAccessTokens(accessTokens) {
const atObjects = {};
if (accessTokens) {
Object.keys(accessTokens).map(function(key) {
const serializedAT = accessTokens[key];
const accessToken = {
homeAccountId: serializedAT.home_account_id,
environment: serializedAT.environment,
credentialType: serializedAT.credential_type,
clientId: serializedAT.client_id,
secret: serializedAT.secret,
realm: serializedAT.realm,
target: serializedAT.target,
cachedAt: serializedAT.cached_at,
expiresOn: serializedAT.expires_on,
extendedExpiresOn: serializedAT.extended_expires_on,
refreshOn: serializedAT.refresh_on,
keyId: serializedAT.key_id,
tokenType: serializedAT.token_type,
userAssertionHash: serializedAT.userAssertionHash,
resource: serializedAT.resource,
lastUpdatedAt: Date.now().toString()
};
atObjects[key] = accessToken;
});
}
return atObjects;
}
static deserializeRefreshTokens(refreshTokens) {
const rtObjects = {};
if (refreshTokens) {
Object.keys(refreshTokens).map(function(key) {
const serializedRT = refreshTokens[key];
const refreshToken = {
homeAccountId: serializedRT.home_account_id,
environment: serializedRT.environment,
credentialType: serializedRT.credential_type,
clientId: serializedRT.client_id,
secret: serializedRT.secret,
familyId: serializedRT.family_id,
target: serializedRT.target,
realm: serializedRT.realm,
lastUpdatedAt: Date.now().toString()
};
rtObjects[key] = refreshToken;
});
}
return rtObjects;
}
static deserializeAppMetadata(appMetadata) {
const appMetadataObjects = {};
if (appMetadata) {
Object.keys(appMetadata).map(function(key) {
const serializedAmdt = appMetadata[key];
appMetadataObjects[key] = {
clientId: serializedAmdt.client_id,
environment: serializedAmdt.environment,
familyId: serializedAmdt.family_id
};
});
}
return appMetadataObjects;
}
static deserializeAllCache(jsonCache) {
return {
accounts: jsonCache.Account ? this.deserializeAccounts(jsonCache.Account) : {},
idTokens: jsonCache.IdToken ? this.deserializeIdTokens(jsonCache.IdToken) : {},
accessTokens: jsonCache.AccessToken ? this.deserializeAccessTokens(jsonCache.AccessToken) : {},
refreshTokens: jsonCache.RefreshToken ? this.deserializeRefreshTokens(jsonCache.RefreshToken) : {},
appMetadata: jsonCache.AppMetadata ? this.deserializeAppMetadata(jsonCache.AppMetadata) : {}
};
}
}
var init_Deserializer = __esm(() => {
init_index_node();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/internals.mjs
var exports_internals = {};
__export(exports_internals, {
Serializer: () => Serializer,
Deserializer: () => Deserializer
});
var init_internals = __esm(() => {
init_Serializer();
init_Deserializer();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/utils/Constants.mjs
var DEFAULT_MANAGED_IDENTITY_ID = "system_assigned_managed_identity", MANAGED_IDENTITY_DEFAULT_TENANT = "managed_identity", DEFAULT_AUTHORITY_FOR_MANAGED_IDENTITY, ManagedIdentityHeaders, ManagedIdentityQueryParameters, ManagedIdentityEnvironmentVariableNames, ManagedIdentitySourceNames, ManagedIdentityIdType, HttpMethod2, REGION_ENVIRONMENT_VARIABLE = "REGION_NAME", MSAL_FORCE_REGION = "MSAL_FORCE_REGION", RANDOM_OCTET_SIZE = 32, Hash2, CharSet, CACHE, Constants, ApiId, JwtConstants, LOOPBACK_SERVER_CONSTANTS, AZURE_ARC_SECRET_FILE_MAX_SIZE_BYTES = 4096;
var init_Constants2 = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
DEFAULT_AUTHORITY_FOR_MANAGED_IDENTITY = `https://login.microsoftonline.com/${MANAGED_IDENTITY_DEFAULT_TENANT}/`;
ManagedIdentityHeaders = {
AUTHORIZATION_HEADER_NAME: "Authorization",
METADATA_HEADER_NAME: "Metadata",
APP_SERVICE_SECRET_HEADER_NAME: "X-IDENTITY-HEADER",
ML_AND_SF_SECRET_HEADER_NAME: "secret"
};
ManagedIdentityQueryParameters = {
API_VERSION: "api-version",
RESOURCE: "resource",
SHA256_TOKEN_TO_REFRESH: "token_sha256_to_refresh",
XMS_CC: "xms_cc"
};
ManagedIdentityEnvironmentVariableNames = {
AZURE_POD_IDENTITY_AUTHORITY_HOST: "AZURE_POD_IDENTITY_AUTHORITY_HOST",
DEFAULT_IDENTITY_CLIENT_ID: "DEFAULT_IDENTITY_CLIENT_ID",
IDENTITY_ENDPOINT: "IDENTITY_ENDPOINT",
IDENTITY_HEADER: "IDENTITY_HEADER",
IDENTITY_SERVER_THUMBPRINT: "IDENTITY_SERVER_THUMBPRINT",
IMDS_ENDPOINT: "IMDS_ENDPOINT",
MSI_ENDPOINT: "MSI_ENDPOINT",
MSI_SECRET: "MSI_SECRET"
};
ManagedIdentitySourceNames = {
APP_SERVICE: "AppService",
AZURE_ARC: "AzureArc",
CLOUD_SHELL: "CloudShell",
DEFAULT_TO_IMDS: "DefaultToImds",
IMDS: "Imds",
MACHINE_LEARNING: "MachineLearning",
SERVICE_FABRIC: "ServiceFabric"
};
ManagedIdentityIdType = {
SYSTEM_ASSIGNED: "system-assigned",
USER_ASSIGNED_CLIENT_ID: "user-assigned-client-id",
USER_ASSIGNED_RESOURCE_ID: "user-assigned-resource-id",
USER_ASSIGNED_OBJECT_ID: "user-assigned-object-id"
};
HttpMethod2 = {
GET: "GET",
POST: "POST"
};
Hash2 = {
SHA256: "sha256"
};
CharSet = {
CV_CHARSET: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"
};
CACHE = {
KEY_SEPARATOR: "-"
};
Constants = {
MSAL_SKU: "msal.js.node",
JWT_BEARER_ASSERTION_TYPE: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
HTTP_PROTOCOL: "http://",
LOCALHOST: "localhost"
};
ApiId = {
acquireTokenSilent: 62,
acquireTokenByUsernamePassword: 371,
acquireTokenByDeviceCode: 671,
acquireTokenByClientCredential: 771,
acquireTokenByOBO: 772,
acquireTokenWithManagedIdentity: 773,
acquireTokenByCode: 871,
acquireTokenByRefreshToken: 872
};
JwtConstants = {
RSA_256: "RS256",
PSS_256: "PS256",
X5T_256: "x5t#S256",
X5T: "x5t",
X5C: "x5c",
AUDIENCE: "aud",
EXPIRATION_TIME: "exp",
ISSUER: "iss",
SUBJECT: "sub",
NOT_BEFORE: "nbf",
JWT_ID: "jti"
};
LOOPBACK_SERVER_CONSTANTS = {
INTERVAL_MS: 100,
TIMEOUT_MS: 5000
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/network/HttpClient.mjs
class HttpClient {
async sendGetRequestAsync(url3, options, timeout) {
return this.sendRequest(url3, HttpMethod2.GET, options, timeout);
}
async sendPostRequestAsync(url3, options) {
return this.sendRequest(url3, HttpMethod2.POST, options);
}
async sendRequest(url3, method, options, timeout) {
const controller = new AbortController;
let timeoutId;
if (timeout) {
timeoutId = setTimeout(() => {
controller.abort();
}, timeout);
}
const fetchOptions = {
method,
headers: getFetchHeaders(options),
signal: controller.signal
};
if (method === HttpMethod2.POST) {
fetchOptions.body = options?.body || "";
}
let response;
try {
response = await fetch(url3, fetchOptions);
} catch (error51) {
if (timeoutId) {
clearTimeout(timeoutId);
}
if (error51 instanceof Error && error51.name === "AbortError") {
throw createAuthError(exports_ClientAuthErrorCodes.networkError, "Request timeout");
}
const baseAuthError = createAuthError(exports_ClientAuthErrorCodes.networkError, `Network request failed: ${error51 instanceof Error ? error51.message : "unknown"}`);
throw createNetworkError(baseAuthError, undefined, undefined, error51 instanceof Error ? error51 : undefined);
}
if (timeoutId) {
clearTimeout(timeoutId);
}
try {
return {
headers: getHeaderDict(response.headers),
body: await response.json(),
status: response.status
};
} catch (error51) {
throw createAuthError(exports_ClientAuthErrorCodes.tokenParsingError, `Failed to parse response: ${error51 instanceof Error ? error51.message : "unknown"}`);
}
}
}
function getHeaderDict(headers) {
const headerDict = {};
headers.forEach((value, key) => {
headerDict[key] = value;
});
return headerDict;
}
function getFetchHeaders(options) {
const headers = new Headers;
if (!(options && options.headers)) {
return headers;
}
Object.entries(options.headers).forEach(([key, value]) => {
headers.append(key, value);
});
return headers;
}
var init_HttpClient = __esm(() => {
init_index_node();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/error/ManagedIdentityErrorCodes.mjs
var invalidFileExtension = "invalid_file_extension", invalidFilePath = "invalid_file_path", invalidManagedIdentityIdType = "invalid_managed_identity_id_type", invalidSecret = "invalid_secret", missingId = "missing_client_id", networkUnavailable = "network_unavailable", platformNotSupported = "platform_not_supported", unableToCreateAzureArc = "unable_to_create_azure_arc", unableToCreateCloudShell = "unable_to_create_cloud_shell", unableToCreateSource = "unable_to_create_source", unableToReadSecretFile = "unable_to_read_secret_file", userAssignedNotAvailableAtRuntime = "user_assigned_not_available_at_runtime", wwwAuthenticateHeaderMissing = "www_authenticate_header_missing", wwwAuthenticateHeaderUnsupportedFormat = "www_authenticate_header_unsupported_format", MsiEnvironmentVariableUrlMalformedErrorCodes;
var init_ManagedIdentityErrorCodes = __esm(() => {
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
MsiEnvironmentVariableUrlMalformedErrorCodes = {
[ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST]: "azure_pod_identity_authority_host_url_malformed",
[ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT]: "identity_endpoint_url_malformed",
[ManagedIdentityEnvironmentVariableNames.IMDS_ENDPOINT]: "imds_endpoint_url_malformed",
[ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT]: "msi_endpoint_url_malformed"
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/error/ManagedIdentityError.mjs
function createManagedIdentityError(errorCode) {
return new ManagedIdentityError(errorCode);
}
var ManagedIdentityErrorMessages, ManagedIdentityError;
var init_ManagedIdentityError = __esm(() => {
init_index_node();
init_ManagedIdentityErrorCodes();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
ManagedIdentityErrorMessages = {
[invalidFileExtension]: "The file path in the WWW-Authenticate header does not contain a .key file.",
[invalidFilePath]: "The file path in the WWW-Authenticate header is not in a valid Windows or Linux Format.",
[invalidManagedIdentityIdType]: "More than one ManagedIdentityIdType was provided.",
[invalidSecret]: "The secret in the file on the file path in the WWW-Authenticate header is greater than 4096 bytes.",
[platformNotSupported]: "The platform is not supported by Azure Arc. Azure Arc only supports Windows and Linux.",
[missingId]: "A ManagedIdentityId id was not provided.",
[MsiEnvironmentVariableUrlMalformedErrorCodes.AZURE_POD_IDENTITY_AUTHORITY_HOST]: `The Managed Identity's '${ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST}' environment variable is malformed.`,
[MsiEnvironmentVariableUrlMalformedErrorCodes.IDENTITY_ENDPOINT]: `The Managed Identity's '${ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT}' environment variable is malformed.`,
[MsiEnvironmentVariableUrlMalformedErrorCodes.IMDS_ENDPOINT]: `The Managed Identity's '${ManagedIdentityEnvironmentVariableNames.IMDS_ENDPOINT}' environment variable is malformed.`,
[MsiEnvironmentVariableUrlMalformedErrorCodes.MSI_ENDPOINT]: `The Managed Identity's '${ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT}' environment variable is malformed.`,
[networkUnavailable]: "Authentication unavailable. The request to the managed identity endpoint timed out.",
[unableToCreateAzureArc]: "Azure Arc Managed Identities can only be system assigned.",
[unableToCreateCloudShell]: "Cloud Shell Managed Identities can only be system assigned.",
[unableToCreateSource]: "Unable to create a Managed Identity source based on environment variables.",
[unableToReadSecretFile]: "Unable to read the secret file.",
[userAssignedNotAvailableAtRuntime]: "Service Fabric user assigned managed identity ClientId or ResourceId is not configurable at runtime.",
[wwwAuthenticateHeaderMissing]: "A 401 response was received form the Azure Arc Managed Identity, but the www-authenticate header is missing.",
[wwwAuthenticateHeaderUnsupportedFormat]: "A 401 response was received form the Azure Arc Managed Identity, but the www-authenticate header is in an unsupported format."
};
ManagedIdentityError = class ManagedIdentityError extends AuthError {
constructor(errorCode) {
super(errorCode, ManagedIdentityErrorMessages[errorCode]);
this.name = "ManagedIdentityError";
Object.setPrototypeOf(this, ManagedIdentityError.prototype);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/config/ManagedIdentityId.mjs
class ManagedIdentityId {
get id() {
return this._id;
}
set id(value) {
this._id = value;
}
get idType() {
return this._idType;
}
set idType(value) {
this._idType = value;
}
constructor(managedIdentityIdParams) {
const userAssignedClientId = managedIdentityIdParams?.userAssignedClientId;
const userAssignedResourceId = managedIdentityIdParams?.userAssignedResourceId;
const userAssignedObjectId = managedIdentityIdParams?.userAssignedObjectId;
if (userAssignedClientId) {
if (userAssignedResourceId || userAssignedObjectId) {
throw createManagedIdentityError(invalidManagedIdentityIdType);
}
this.id = userAssignedClientId;
this.idType = ManagedIdentityIdType.USER_ASSIGNED_CLIENT_ID;
} else if (userAssignedResourceId) {
if (userAssignedClientId || userAssignedObjectId) {
throw createManagedIdentityError(invalidManagedIdentityIdType);
}
this.id = userAssignedResourceId;
this.idType = ManagedIdentityIdType.USER_ASSIGNED_RESOURCE_ID;
} else if (userAssignedObjectId) {
if (userAssignedClientId || userAssignedResourceId) {
throw createManagedIdentityError(invalidManagedIdentityIdType);
}
this.id = userAssignedObjectId;
this.idType = ManagedIdentityIdType.USER_ASSIGNED_OBJECT_ID;
} else {
this.id = DEFAULT_MANAGED_IDENTITY_ID;
this.idType = ManagedIdentityIdType.SYSTEM_ASSIGNED;
}
}
}
var init_ManagedIdentityId = __esm(() => {
init_ManagedIdentityError();
init_Constants2();
init_ManagedIdentityErrorCodes();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/error/NodeAuthError.mjs
var NodeAuthErrorMessage, NodeAuthError;
var init_NodeAuthError = __esm(() => {
init_index_node();
/*! @azure/msal-node v5.1.1 2026-03-18 */
NodeAuthErrorMessage = {
invalidLoopbackAddressType: {
code: "invalid_loopback_server_address_type",
desc: "Loopback server address is not type string. This is unexpected."
},
unableToLoadRedirectUri: {
code: "unable_to_load_redirectUrl",
desc: "Loopback server callback was invoked without a url. This is unexpected."
},
noAuthCodeInResponse: {
code: "no_auth_code_in_response",
desc: "No auth code found in the server response. Please check your network trace to determine what happened."
},
noLoopbackServerExists: {
code: "no_loopback_server_exists",
desc: "No loopback server exists yet."
},
loopbackServerAlreadyExists: {
code: "loopback_server_already_exists",
desc: "Loopback server already exists. Cannot create another."
},
loopbackServerTimeout: {
code: "loopback_server_timeout",
desc: "Timed out waiting for auth code listener to be registered."
},
stateNotFoundError: {
code: "state_not_found",
desc: "State not found. Please verify that the request originated from msal."
},
thumbprintMissing: {
code: "thumbprint_missing_from_client_certificate",
desc: "Client certificate does not contain a SHA-1 or SHA-256 thumbprint."
},
redirectUriNotSupported: {
code: "redirect_uri_not_supported",
desc: "RedirectUri is not supported in this scenario. Please remove redirectUri from the request."
}
};
NodeAuthError = class NodeAuthError extends AuthError {
constructor(errorCode, errorMessage2) {
super(errorCode, errorMessage2);
this.name = "NodeAuthError";
}
static createInvalidLoopbackAddressTypeError() {
return new NodeAuthError(NodeAuthErrorMessage.invalidLoopbackAddressType.code, `${NodeAuthErrorMessage.invalidLoopbackAddressType.desc}`);
}
static createUnableToLoadRedirectUrlError() {
return new NodeAuthError(NodeAuthErrorMessage.unableToLoadRedirectUri.code, `${NodeAuthErrorMessage.unableToLoadRedirectUri.desc}`);
}
static createNoAuthCodeInResponseError() {
return new NodeAuthError(NodeAuthErrorMessage.noAuthCodeInResponse.code, `${NodeAuthErrorMessage.noAuthCodeInResponse.desc}`);
}
static createNoLoopbackServerExistsError() {
return new NodeAuthError(NodeAuthErrorMessage.noLoopbackServerExists.code, `${NodeAuthErrorMessage.noLoopbackServerExists.desc}`);
}
static createLoopbackServerAlreadyExistsError() {
return new NodeAuthError(NodeAuthErrorMessage.loopbackServerAlreadyExists.code, `${NodeAuthErrorMessage.loopbackServerAlreadyExists.desc}`);
}
static createLoopbackServerTimeoutError() {
return new NodeAuthError(NodeAuthErrorMessage.loopbackServerTimeout.code, `${NodeAuthErrorMessage.loopbackServerTimeout.desc}`);
}
static createStateNotFoundError() {
return new NodeAuthError(NodeAuthErrorMessage.stateNotFoundError.code, NodeAuthErrorMessage.stateNotFoundError.desc);
}
static createThumbprintMissingError() {
return new NodeAuthError(NodeAuthErrorMessage.thumbprintMissing.code, NodeAuthErrorMessage.thumbprintMissing.desc);
}
static createRedirectUriNotSupportedError() {
return new NodeAuthError(NodeAuthErrorMessage.redirectUriNotSupported.code, NodeAuthErrorMessage.redirectUriNotSupported.desc);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/config/Configuration.mjs
function buildAppConfiguration({ auth, broker, cache: cache2, system, telemetry }) {
const systemOptions = {
...DEFAULT_SYSTEM_OPTIONS2,
networkClient: new HttpClient,
loggerOptions: system?.loggerOptions || DEFAULT_LOGGER_OPTIONS,
disableInternalRetries: system?.disableInternalRetries || false
};
if (!!auth.clientCertificate && !!!auth.clientCertificate.thumbprint && !!!auth.clientCertificate.thumbprintSha256) {
throw NodeAuthError.createStateNotFoundError();
}
return {
auth: { ...DEFAULT_AUTH_OPTIONS, ...auth },
broker: { ...broker },
cache: { ...cache2 },
system: { ...systemOptions, ...system },
telemetry: { ...DEFAULT_TELEMETRY_OPTIONS2, ...telemetry }
};
}
function buildManagedIdentityConfiguration({ clientCapabilities, managedIdentityIdParams, system }) {
const managedIdentityId = new ManagedIdentityId(managedIdentityIdParams);
const loggerOptions = system?.loggerOptions || DEFAULT_LOGGER_OPTIONS;
let networkClient;
if (system?.networkClient) {
networkClient = system.networkClient;
} else {
networkClient = new HttpClient;
}
return {
clientCapabilities: clientCapabilities || [],
managedIdentityId,
system: {
loggerOptions,
networkClient
},
disableInternalRetries: system?.disableInternalRetries || false
};
}
var DEFAULT_AUTH_OPTIONS, DEFAULT_LOGGER_OPTIONS, DEFAULT_SYSTEM_OPTIONS2, DEFAULT_TELEMETRY_OPTIONS2;
var init_Configuration = __esm(() => {
init_index_node();
init_HttpClient();
init_ManagedIdentityId();
init_NodeAuthError();
/*! @azure/msal-node v5.1.1 2026-03-18 */
DEFAULT_AUTH_OPTIONS = {
clientId: "",
authority: exports_Constants.DEFAULT_AUTHORITY,
clientSecret: "",
clientAssertion: "",
clientCertificate: {
thumbprint: "",
thumbprintSha256: "",
privateKey: "",
x5c: ""
},
knownAuthorities: [],
cloudDiscoveryMetadata: "",
authorityMetadata: "",
clientCapabilities: [],
azureCloudOptions: {
azureCloudInstance: AzureCloudInstance.None,
tenant: ""
},
isMcp: false
};
DEFAULT_LOGGER_OPTIONS = {
loggerCallback: () => {},
piiLoggingEnabled: false,
logLevel: LogLevel.Info
};
DEFAULT_SYSTEM_OPTIONS2 = {
loggerOptions: DEFAULT_LOGGER_OPTIONS,
networkClient: new HttpClient,
disableInternalRetries: false,
protocolMode: ProtocolMode.AAD
};
DEFAULT_TELEMETRY_OPTIONS2 = {
application: {
appName: "",
appVersion: ""
}
};
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/rng.js
var require_rng = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = rng;
var _crypto = _interopRequireDefault(__require("crypto"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var rnds8Pool = new Uint8Array(256);
var poolPtr = rnds8Pool.length;
function rng() {
if (poolPtr > rnds8Pool.length - 16) {
_crypto.default.randomFillSync(rnds8Pool);
poolPtr = 0;
}
return rnds8Pool.slice(poolPtr, poolPtr += 16);
}
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/regex.js
var require_regex = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _default3 = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/validate.js
var require_validate = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _regex2 = _interopRequireDefault(require_regex());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function validate2(uuid5) {
return typeof uuid5 === "string" && _regex2.default.test(uuid5);
}
var _default3 = validate2;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/stringify.js
var require_stringify = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _validate = _interopRequireDefault(require_validate());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var byteToHex = [];
for (let i2 = 0;i2 < 256; ++i2) {
byteToHex.push((i2 + 256).toString(16).substr(1));
}
function stringify(arr, offset = 0) {
const uuid5 = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
if (!(0, _validate.default)(uuid5)) {
throw TypeError("Stringified UUID is invalid");
}
return uuid5;
}
var _default3 = stringify;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/v1.js
var require_v1 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _rng = _interopRequireDefault(require_rng());
var _stringify = _interopRequireDefault(require_stringify());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var _nodeId;
var _clockseq;
var _lastMSecs = 0;
var _lastNSecs = 0;
function v1(options, buf, offset) {
let i2 = buf && offset || 0;
const b2 = buf || new Array(16);
options = options || {};
let node = options.node || _nodeId;
let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
if (node == null || clockseq == null) {
const seedBytes = options.random || (options.rng || _rng.default)();
if (node == null) {
node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
}
if (clockseq == null) {
clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
}
}
let msecs = options.msecs !== undefined ? options.msecs : Date.now();
let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
if (dt < 0 && options.clockseq === undefined) {
clockseq = clockseq + 1 & 16383;
}
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
nsecs = 0;
}
if (nsecs >= 1e4) {
throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
}
_lastMSecs = msecs;
_lastNSecs = nsecs;
_clockseq = clockseq;
msecs += 12219292800000;
const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
b2[i2++] = tl >>> 24 & 255;
b2[i2++] = tl >>> 16 & 255;
b2[i2++] = tl >>> 8 & 255;
b2[i2++] = tl & 255;
const tmh = msecs / 4294967296 * 1e4 & 268435455;
b2[i2++] = tmh >>> 8 & 255;
b2[i2++] = tmh & 255;
b2[i2++] = tmh >>> 24 & 15 | 16;
b2[i2++] = tmh >>> 16 & 255;
b2[i2++] = clockseq >>> 8 | 128;
b2[i2++] = clockseq & 255;
for (let n2 = 0;n2 < 6; ++n2) {
b2[i2 + n2] = node[n2];
}
return buf || (0, _stringify.default)(b2);
}
var _default3 = v1;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/parse.js
var require_parse4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _validate = _interopRequireDefault(require_validate());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function parse7(uuid5) {
if (!(0, _validate.default)(uuid5)) {
throw TypeError("Invalid UUID");
}
let v2;
const arr = new Uint8Array(16);
arr[0] = (v2 = parseInt(uuid5.slice(0, 8), 16)) >>> 24;
arr[1] = v2 >>> 16 & 255;
arr[2] = v2 >>> 8 & 255;
arr[3] = v2 & 255;
arr[4] = (v2 = parseInt(uuid5.slice(9, 13), 16)) >>> 8;
arr[5] = v2 & 255;
arr[6] = (v2 = parseInt(uuid5.slice(14, 18), 16)) >>> 8;
arr[7] = v2 & 255;
arr[8] = (v2 = parseInt(uuid5.slice(19, 23), 16)) >>> 8;
arr[9] = v2 & 255;
arr[10] = (v2 = parseInt(uuid5.slice(24, 36), 16)) / 1099511627776 & 255;
arr[11] = v2 / 4294967296 & 255;
arr[12] = v2 >>> 24 & 255;
arr[13] = v2 >>> 16 & 255;
arr[14] = v2 >>> 8 & 255;
arr[15] = v2 & 255;
return arr;
}
var _default3 = parse7;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/v35.js
var require_v35 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _default3;
exports.URL = exports.DNS = undefined;
var _stringify = _interopRequireDefault(require_stringify());
var _parse2 = _interopRequireDefault(require_parse4());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function stringToBytes(str) {
str = unescape(encodeURIComponent(str));
const bytes = [];
for (let i2 = 0;i2 < str.length; ++i2) {
bytes.push(str.charCodeAt(i2));
}
return bytes;
}
var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
exports.DNS = DNS;
var URL3 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
exports.URL = URL3;
function _default3(name2, version4, hashfunc) {
function generateUUID(value, namespace, buf, offset) {
if (typeof value === "string") {
value = stringToBytes(value);
}
if (typeof namespace === "string") {
namespace = (0, _parse2.default)(namespace);
}
if (namespace.length !== 16) {
throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
}
let bytes = new Uint8Array(16 + value.length);
bytes.set(namespace);
bytes.set(value, namespace.length);
bytes = hashfunc(bytes);
bytes[6] = bytes[6] & 15 | version4;
bytes[8] = bytes[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i2 = 0;i2 < 16; ++i2) {
buf[offset + i2] = bytes[i2];
}
return buf;
}
return (0, _stringify.default)(bytes);
}
try {
generateUUID.name = name2;
} catch (err) {}
generateUUID.DNS = DNS;
generateUUID.URL = URL3;
return generateUUID;
}
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/md5.js
var require_md5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _crypto = _interopRequireDefault(__require("crypto"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function md5(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return _crypto.default.createHash("md5").update(bytes).digest();
}
var _default3 = md5;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/v3.js
var require_v3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _v = _interopRequireDefault(require_v35());
var _md = _interopRequireDefault(require_md5());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var v3 = (0, _v.default)("v3", 48, _md.default);
var _default3 = v3;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/v4.js
var require_v4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _rng = _interopRequireDefault(require_rng());
var _stringify = _interopRequireDefault(require_stringify());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function v4(options, buf, offset) {
options = options || {};
const rnds = options.random || (options.rng || _rng.default)();
rnds[6] = rnds[6] & 15 | 64;
rnds[8] = rnds[8] & 63 | 128;
if (buf) {
offset = offset || 0;
for (let i2 = 0;i2 < 16; ++i2) {
buf[offset + i2] = rnds[i2];
}
return buf;
}
return (0, _stringify.default)(rnds);
}
var _default3 = v4;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/sha1.js
var require_sha1 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _crypto = _interopRequireDefault(__require("crypto"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function sha1(bytes) {
if (Array.isArray(bytes)) {
bytes = Buffer.from(bytes);
} else if (typeof bytes === "string") {
bytes = Buffer.from(bytes, "utf8");
}
return _crypto.default.createHash("sha1").update(bytes).digest();
}
var _default3 = sha1;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/v5.js
var require_v5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _v = _interopRequireDefault(require_v35());
var _sha = _interopRequireDefault(require_sha1());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
var v5 = (0, _v.default)("v5", 80, _sha.default);
var _default3 = v5;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/nil.js
var require_nil = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _default3 = "00000000-0000-0000-0000-000000000000";
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/version.js
var require_version = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _validate = _interopRequireDefault(require_validate());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function version4(uuid5) {
if (!(0, _validate.default)(uuid5)) {
throw TypeError("Invalid UUID");
}
return parseInt(uuid5.substr(14, 1), 16);
}
var _default3 = version4;
exports.default = _default3;
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/dist/index.js
var require_dist2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "v1", {
enumerable: true,
get: function() {
return _v.default;
}
});
Object.defineProperty(exports, "v3", {
enumerable: true,
get: function() {
return _v2.default;
}
});
Object.defineProperty(exports, "v4", {
enumerable: true,
get: function() {
return _v3.default;
}
});
Object.defineProperty(exports, "v5", {
enumerable: true,
get: function() {
return _v4.default;
}
});
Object.defineProperty(exports, "NIL", {
enumerable: true,
get: function() {
return _nil.default;
}
});
Object.defineProperty(exports, "version", {
enumerable: true,
get: function() {
return _version.default;
}
});
Object.defineProperty(exports, "validate", {
enumerable: true,
get: function() {
return _validate.default;
}
});
Object.defineProperty(exports, "stringify", {
enumerable: true,
get: function() {
return _stringify.default;
}
});
Object.defineProperty(exports, "parse", {
enumerable: true,
get: function() {
return _parse2.default;
}
});
var _v = _interopRequireDefault(require_v1());
var _v2 = _interopRequireDefault(require_v3());
var _v3 = _interopRequireDefault(require_v4());
var _v4 = _interopRequireDefault(require_v5());
var _nil = _interopRequireDefault(require_nil());
var _version = _interopRequireDefault(require_version());
var _validate = _interopRequireDefault(require_validate());
var _stringify = _interopRequireDefault(require_stringify());
var _parse2 = _interopRequireDefault(require_parse4());
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
});
// node_modules/.pnpm/uuid@8.3.2/node_modules/uuid/wrapper.mjs
var import_dist, v1, v3, v4, v5, NIL, version4, validate2, stringify, parse7;
var init_wrapper = __esm(() => {
import_dist = __toESM(require_dist2(), 1);
v1 = import_dist.default.v1;
v3 = import_dist.default.v3;
v4 = import_dist.default.v4;
v5 = import_dist.default.v5;
NIL = import_dist.default.NIL;
version4 = import_dist.default.version;
validate2 = import_dist.default.validate;
stringify = import_dist.default.stringify;
parse7 = import_dist.default.parse;
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs
class GuidGenerator {
generateGuid() {
return v4();
}
isGuid(guid3) {
const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
return regexGuid.test(guid3);
}
}
var init_GuidGenerator = __esm(() => {
init_wrapper();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/utils/EncodingUtils.mjs
class EncodingUtils {
static base64Encode(str, encoding) {
return Buffer.from(str, encoding).toString(exports_Constants.EncodingTypes.BASE64);
}
static base64EncodeUrl(str, encoding) {
return EncodingUtils.base64Encode(str, encoding).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
}
static base64Decode(base64Str) {
return Buffer.from(base64Str, exports_Constants.EncodingTypes.BASE64).toString("utf8");
}
static base64DecodeUrl(base64Str) {
let str = base64Str.replace(/-/g, "+").replace(/_/g, "/");
while (str.length % 4) {
str += "=";
}
return EncodingUtils.base64Decode(str);
}
}
var init_EncodingUtils = __esm(() => {
init_index_node();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs
import crypto3 from "crypto";
class HashUtils {
sha256(buffer) {
return crypto3.createHash(Hash2.SHA256).update(buffer).digest();
}
}
var init_HashUtils = __esm(() => {
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs
import crypto4 from "crypto";
class PkceGenerator {
constructor() {
this.hashUtils = new HashUtils;
}
async generatePkceCodes() {
const verifier = this.generateCodeVerifier();
const challenge = this.generateCodeChallengeFromVerifier(verifier);
return { verifier, challenge };
}
generateCodeVerifier() {
const charArr = [];
const maxNumber = 256 - 256 % CharSet.CV_CHARSET.length;
while (charArr.length <= RANDOM_OCTET_SIZE) {
const byte = crypto4.randomBytes(1)[0];
if (byte >= maxNumber) {
continue;
}
const index = byte % CharSet.CV_CHARSET.length;
charArr.push(CharSet.CV_CHARSET[index]);
}
const verifier = charArr.join("");
return EncodingUtils.base64EncodeUrl(verifier);
}
generateCodeChallengeFromVerifier(codeVerifier) {
return EncodingUtils.base64EncodeUrl(this.hashUtils.sha256(codeVerifier).toString(exports_Constants.EncodingTypes.BASE64), exports_Constants.EncodingTypes.BASE64);
}
}
var init_PkceGenerator = __esm(() => {
init_index_node();
init_Constants2();
init_EncodingUtils();
init_HashUtils();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs
class CryptoProvider {
constructor() {
this.pkceGenerator = new PkceGenerator;
this.guidGenerator = new GuidGenerator;
this.hashUtils = new HashUtils;
}
base64UrlEncode() {
throw new Error("Method not implemented.");
}
encodeKid() {
throw new Error("Method not implemented.");
}
createNewGuid() {
return this.guidGenerator.generateGuid();
}
base64Encode(input) {
return EncodingUtils.base64Encode(input);
}
base64Decode(input) {
return EncodingUtils.base64Decode(input);
}
generatePkceCodes() {
return this.pkceGenerator.generatePkceCodes();
}
getPublicKeyThumbprint() {
throw new Error("Method not implemented.");
}
removeTokenBindingKey() {
throw new Error("Method not implemented.");
}
clearKeystore() {
throw new Error("Method not implemented.");
}
signJwt() {
throw new Error("Method not implemented.");
}
async hashString(plainText) {
return EncodingUtils.base64EncodeUrl(this.hashUtils.sha256(plainText).toString(exports_Constants.EncodingTypes.BASE64), exports_Constants.EncodingTypes.BASE64);
}
}
var init_CryptoProvider = __esm(() => {
init_index_node();
init_GuidGenerator();
init_EncodingUtils();
init_PkceGenerator();
init_HashUtils();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/CacheHelpers.mjs
function generateCredentialKey(credential) {
const familyId = credential.credentialType === exports_Constants.CredentialType.REFRESH_TOKEN && credential.familyId || credential.clientId;
const scheme = credential.tokenType && credential.tokenType.toLowerCase() !== exports_Constants.AuthenticationScheme.BEARER.toLowerCase() ? credential.tokenType.toLowerCase() : "";
const credentialKey = [
credential.homeAccountId,
credential.environment,
credential.credentialType,
familyId,
credential.realm || "",
credential.target || "",
scheme
];
return credentialKey.join(CACHE.KEY_SEPARATOR).toLowerCase();
}
function generateAccountKey(account) {
const homeTenantId = account.homeAccountId.split(".")[1];
const accountKey = [
account.homeAccountId,
account.environment,
homeTenantId || account.tenantId || ""
];
return accountKey.join(CACHE.KEY_SEPARATOR).toLowerCase();
}
var init_CacheHelpers2 = __esm(() => {
init_index_node();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/NodeStorage.mjs
var NodeStorage;
var init_NodeStorage = __esm(() => {
init_index_node();
init_Deserializer();
init_Serializer();
init_CacheHelpers2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
NodeStorage = class NodeStorage extends CacheManager {
constructor(logger3, clientId, cryptoImpl, staticAuthorityOptions) {
super(clientId, cryptoImpl, logger3, new StubPerformanceClient, staticAuthorityOptions);
this.cache = {};
this.changeEmitters = [];
this.logger = logger3;
}
registerChangeEmitter(func) {
this.changeEmitters.push(func);
}
emitChange() {
this.changeEmitters.forEach((func) => func.call(null));
}
cacheToInMemoryCache(cache2) {
const inMemoryCache = {
accounts: {},
idTokens: {},
accessTokens: {},
refreshTokens: {},
appMetadata: {}
};
for (const key in cache2) {
const value = cache2[key];
if (typeof value !== "object") {
continue;
}
if (exports_AccountEntityUtils.isAccountEntity(value)) {
inMemoryCache.accounts[key] = value;
} else if (exports_CacheHelpers.isIdTokenEntity(value)) {
inMemoryCache.idTokens[key] = value;
} else if (exports_CacheHelpers.isAccessTokenEntity(value)) {
inMemoryCache.accessTokens[key] = value;
} else if (exports_CacheHelpers.isRefreshTokenEntity(value)) {
inMemoryCache.refreshTokens[key] = value;
} else if (exports_CacheHelpers.isAppMetadataEntity(key, value)) {
inMemoryCache.appMetadata[key] = value;
} else {
continue;
}
}
return inMemoryCache;
}
inMemoryCacheToCache(inMemoryCache) {
let cache2 = this.getCache();
cache2 = {
...cache2,
...inMemoryCache.accounts,
...inMemoryCache.idTokens,
...inMemoryCache.accessTokens,
...inMemoryCache.refreshTokens,
...inMemoryCache.appMetadata
};
return cache2;
}
getInMemoryCache() {
this.logger.trace("Getting in-memory cache", "");
const inMemoryCache = this.cacheToInMemoryCache(this.getCache());
return inMemoryCache;
}
setInMemoryCache(inMemoryCache) {
this.logger.trace("Setting in-memory cache", "");
const cache2 = this.inMemoryCacheToCache(inMemoryCache);
this.setCache(cache2);
this.emitChange();
}
getCache() {
this.logger.trace("Getting cache key-value store", "");
return this.cache;
}
setCache(cache2) {
this.logger.trace("Setting cache key value store", "");
this.cache = cache2;
this.emitChange();
}
getItem(key) {
this.logger.tracePii(`Item key: ${key}`, "");
const cache2 = this.getCache();
return cache2[key];
}
setItem(key, value) {
this.logger.tracePii(`Item key: ${key}`, "");
const cache2 = this.getCache();
cache2[key] = value;
this.setCache(cache2);
}
generateCredentialKey(credential) {
return generateCredentialKey(credential);
}
generateAccountKey(account) {
return generateAccountKey(account);
}
getAccountKeys() {
const inMemoryCache = this.getInMemoryCache();
const accountKeys = Object.keys(inMemoryCache.accounts);
return accountKeys;
}
getTokenKeys() {
const inMemoryCache = this.getInMemoryCache();
const tokenKeys = {
idToken: Object.keys(inMemoryCache.idTokens),
accessToken: Object.keys(inMemoryCache.accessTokens),
refreshToken: Object.keys(inMemoryCache.refreshTokens)
};
return tokenKeys;
}
getAccount(accountKey) {
const cachedAccount = this.getItem(accountKey);
return cachedAccount && typeof cachedAccount === "object" ? { ...cachedAccount } : null;
}
async setAccount(account) {
const accountKey = this.generateAccountKey(exports_AccountEntityUtils.getAccountInfo(account));
this.setItem(accountKey, account);
}
getIdTokenCredential(idTokenKey) {
const idToken = this.getItem(idTokenKey);
if (exports_CacheHelpers.isIdTokenEntity(idToken)) {
return idToken;
}
return null;
}
async setIdTokenCredential(idToken) {
const idTokenKey = this.generateCredentialKey(idToken);
this.setItem(idTokenKey, idToken);
}
getAccessTokenCredential(accessTokenKey) {
const accessToken = this.getItem(accessTokenKey);
if (exports_CacheHelpers.isAccessTokenEntity(accessToken)) {
return accessToken;
}
return null;
}
async setAccessTokenCredential(accessToken) {
const accessTokenKey = this.generateCredentialKey(accessToken);
this.setItem(accessTokenKey, accessToken);
}
getRefreshTokenCredential(refreshTokenKey) {
const refreshToken = this.getItem(refreshTokenKey);
if (exports_CacheHelpers.isRefreshTokenEntity(refreshToken)) {
return refreshToken;
}
return null;
}
async setRefreshTokenCredential(refreshToken) {
const refreshTokenKey = this.generateCredentialKey(refreshToken);
this.setItem(refreshTokenKey, refreshToken);
}
getAppMetadata(appMetadataKey) {
const appMetadata = this.getItem(appMetadataKey);
if (exports_CacheHelpers.isAppMetadataEntity(appMetadataKey, appMetadata)) {
return appMetadata;
}
return null;
}
setAppMetadata(appMetadata) {
const appMetadataKey = exports_CacheHelpers.generateAppMetadataKey(appMetadata);
this.setItem(appMetadataKey, appMetadata);
}
getServerTelemetry(serverTelemetrykey) {
const serverTelemetryEntity = this.getItem(serverTelemetrykey);
if (serverTelemetryEntity && exports_CacheHelpers.isServerTelemetryEntity(serverTelemetrykey, serverTelemetryEntity)) {
return serverTelemetryEntity;
}
return null;
}
setServerTelemetry(serverTelemetryKey, serverTelemetry) {
this.setItem(serverTelemetryKey, serverTelemetry);
}
getAuthorityMetadata(key) {
const authorityMetadataEntity = this.getItem(key);
if (authorityMetadataEntity && exports_CacheHelpers.isAuthorityMetadataEntity(key, authorityMetadataEntity)) {
return authorityMetadataEntity;
}
return null;
}
getAuthorityMetadataKeys() {
return this.getKeys().filter((key) => {
return this.isAuthorityMetadata(key);
});
}
setAuthorityMetadata(key, metadata) {
this.setItem(key, metadata);
}
getThrottlingCache(throttlingCacheKey) {
const throttlingCache = this.getItem(throttlingCacheKey);
if (throttlingCache && exports_CacheHelpers.isThrottlingEntity(throttlingCacheKey, throttlingCache)) {
return throttlingCache;
}
return null;
}
setThrottlingCache(throttlingCacheKey, throttlingCache) {
this.setItem(throttlingCacheKey, throttlingCache);
}
removeItem(key) {
this.logger.tracePii(`Item key: ${key}`, "");
let result = false;
const cache2 = this.getCache();
if (!!cache2[key]) {
delete cache2[key];
result = true;
}
if (result) {
this.setCache(cache2);
this.emitChange();
}
return result;
}
removeOutdatedAccount(accountKey) {
this.removeItem(accountKey);
}
containsKey(key) {
return this.getKeys().includes(key);
}
getKeys() {
this.logger.trace("Retrieving all cache keys", "");
const cache2 = this.getCache();
return [...Object.keys(cache2)];
}
clear() {
this.logger.trace("Clearing cache entries created by MSAL", "");
const cacheKeys = this.getKeys();
cacheKeys.forEach((key) => {
this.removeItem(key);
});
this.emitChange();
}
static generateInMemoryCache(cache2) {
return Deserializer.deserializeAllCache(Deserializer.deserializeJSONBlob(cache2));
}
static generateJsonCache(inMemoryCache) {
return Serializer.serializeAllCache(inMemoryCache);
}
updateCredentialCacheKey(currentCacheKey, credential) {
const updatedCacheKey = this.generateCredentialKey(credential);
if (currentCacheKey !== updatedCacheKey) {
const cacheItem = this.getItem(currentCacheKey);
if (cacheItem) {
this.removeItem(currentCacheKey);
this.setItem(updatedCacheKey, cacheItem);
this.logger.verbose(`Updated an outdated ${credential.credentialType} cache key`, "");
return updatedCacheKey;
} else {
this.logger.error(`Attempted to update an outdated ${credential.credentialType} cache key but no item matching the outdated key was found in storage`, "");
}
}
return currentCacheKey;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/TokenCache.mjs
class TokenCache {
constructor(storage, logger3, cachePlugin) {
this.cacheHasChanged = false;
this.storage = storage;
this.storage.registerChangeEmitter(this.handleChangeEvent.bind(this));
if (cachePlugin) {
this.persistence = cachePlugin;
}
this.logger = logger3;
}
hasChanged() {
return this.cacheHasChanged;
}
serialize() {
this.logger.trace("Serializing in-memory cache", "");
let finalState = Serializer.serializeAllCache(this.storage.getInMemoryCache());
if (this.cacheSnapshot) {
this.logger.trace("Reading cache snapshot from disk", "");
finalState = this.mergeState(JSON.parse(this.cacheSnapshot), finalState);
} else {
this.logger.trace("No cache snapshot to merge", "");
}
this.cacheHasChanged = false;
return JSON.stringify(finalState);
}
deserialize(cache2) {
this.logger.trace("Deserializing JSON to in-memory cache", "");
this.cacheSnapshot = cache2;
if (this.cacheSnapshot) {
this.logger.trace("Reading cache snapshot from disk", "");
const deserializedCache = Deserializer.deserializeAllCache(this.overlayDefaults(JSON.parse(this.cacheSnapshot)));
this.storage.setInMemoryCache(deserializedCache);
} else {
this.logger.trace("No cache snapshot to deserialize", "");
}
}
getKVStore() {
return this.storage.getCache();
}
getCacheSnapshot() {
const deserializedPersistentStorage = NodeStorage.generateInMemoryCache(this.cacheSnapshot);
return this.storage.inMemoryCacheToCache(deserializedPersistentStorage);
}
async getAllAccounts(correlationId = new CryptoProvider().createNewGuid()) {
this.logger.trace("getAllAccounts called", correlationId);
let cacheContext;
try {
if (this.persistence) {
cacheContext = new TokenCacheContext(this, false);
await this.persistence.beforeCacheAccess(cacheContext);
}
return this.storage.getAllAccounts({}, correlationId);
} finally {
if (this.persistence && cacheContext) {
await this.persistence.afterCacheAccess(cacheContext);
}
}
}
async getAccountByHomeId(homeAccountId) {
const allAccounts = await this.getAllAccounts();
if (homeAccountId && allAccounts && allAccounts.length) {
return allAccounts.filter((accountObj) => accountObj.homeAccountId === homeAccountId)[0] || null;
} else {
return null;
}
}
async getAccountByLocalId(localAccountId) {
const allAccounts = await this.getAllAccounts();
if (localAccountId && allAccounts && allAccounts.length) {
return allAccounts.filter((accountObj) => accountObj.localAccountId === localAccountId)[0] || null;
} else {
return null;
}
}
async removeAccount(account, correlationId) {
this.logger.trace("removeAccount called", correlationId || "");
let cacheContext;
try {
if (this.persistence) {
cacheContext = new TokenCacheContext(this, true);
await this.persistence.beforeCacheAccess(cacheContext);
}
this.storage.removeAccount(account, correlationId || new GuidGenerator().generateGuid());
} finally {
if (this.persistence && cacheContext) {
await this.persistence.afterCacheAccess(cacheContext);
}
}
}
async overwriteCache() {
if (!this.persistence) {
this.logger.info("No persistence layer specified, cache cannot be overwritten", "");
return;
}
this.logger.info("Overwriting in-memory cache with persistent cache", "");
this.storage.clear();
const cacheContext = new TokenCacheContext(this, false);
await this.persistence.beforeCacheAccess(cacheContext);
const cacheSnapshot = this.getCacheSnapshot();
this.storage.setCache(cacheSnapshot);
await this.persistence.afterCacheAccess(cacheContext);
}
handleChangeEvent() {
this.cacheHasChanged = true;
}
mergeState(oldState, currentState) {
this.logger.trace("Merging in-memory cache with cache snapshot", "");
const stateAfterRemoval = this.mergeRemovals(oldState, currentState);
return this.mergeUpdates(stateAfterRemoval, currentState);
}
mergeUpdates(oldState, newState) {
Object.keys(newState).forEach((newKey) => {
const newValue = newState[newKey];
if (!oldState.hasOwnProperty(newKey)) {
if (newValue !== null) {
oldState[newKey] = newValue;
}
} else {
const newValueNotNull = newValue !== null;
const newValueIsObject = typeof newValue === "object";
const newValueIsNotArray = !Array.isArray(newValue);
const oldStateNotUndefinedOrNull = typeof oldState[newKey] !== "undefined" && oldState[newKey] !== null;
if (newValueNotNull && newValueIsObject && newValueIsNotArray && oldStateNotUndefinedOrNull) {
this.mergeUpdates(oldState[newKey], newValue);
} else {
oldState[newKey] = newValue;
}
}
});
return oldState;
}
mergeRemovals(oldState, newState) {
this.logger.trace("Remove updated entries in cache", "");
const accounts = oldState.Account ? this.mergeRemovalsDict(oldState.Account, newState.Account) : oldState.Account;
const accessTokens = oldState.AccessToken ? this.mergeRemovalsDict(oldState.AccessToken, newState.AccessToken) : oldState.AccessToken;
const refreshTokens = oldState.RefreshToken ? this.mergeRemovalsDict(oldState.RefreshToken, newState.RefreshToken) : oldState.RefreshToken;
const idTokens = oldState.IdToken ? this.mergeRemovalsDict(oldState.IdToken, newState.IdToken) : oldState.IdToken;
const appMetadata = oldState.AppMetadata ? this.mergeRemovalsDict(oldState.AppMetadata, newState.AppMetadata) : oldState.AppMetadata;
return {
...oldState,
Account: accounts,
AccessToken: accessTokens,
RefreshToken: refreshTokens,
IdToken: idTokens,
AppMetadata: appMetadata
};
}
mergeRemovalsDict(oldState, newState) {
const finalState = { ...oldState };
Object.keys(oldState).forEach((oldKey) => {
if (!newState || !newState.hasOwnProperty(oldKey)) {
delete finalState[oldKey];
}
});
return finalState;
}
overlayDefaults(passedInCache) {
this.logger.trace("Overlaying input cache with the default cache", "");
return {
Account: {
...defaultSerializedCache.Account,
...passedInCache.Account
},
IdToken: {
...defaultSerializedCache.IdToken,
...passedInCache.IdToken
},
AccessToken: {
...defaultSerializedCache.AccessToken,
...passedInCache.AccessToken
},
RefreshToken: {
...defaultSerializedCache.RefreshToken,
...passedInCache.RefreshToken
},
AppMetadata: {
...defaultSerializedCache.AppMetadata,
...passedInCache.AppMetadata
}
};
}
}
var defaultSerializedCache;
var init_TokenCache = __esm(() => {
init_NodeStorage();
init_index_node();
init_Deserializer();
init_Serializer();
init_GuidGenerator();
init_CryptoProvider();
/*! @azure/msal-node v5.1.1 2026-03-18 */
defaultSerializedCache = {
Account: {},
IdToken: {},
AccessToken: {},
RefreshToken: {},
AppMetadata: {}
};
});
// node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js
var require_safe_buffer = __commonJS((exports, module) => {
/*! safe-buffer. MIT License. Feross Aboukhadijeh */
var buffer = __require("buffer");
var Buffer7 = buffer.Buffer;
function copyProps(src, dst) {
for (var key in src) {
dst[key] = src[key];
}
}
if (Buffer7.from && Buffer7.alloc && Buffer7.allocUnsafe && Buffer7.allocUnsafeSlow) {
module.exports = buffer;
} else {
copyProps(buffer, exports);
exports.Buffer = SafeBuffer;
}
function SafeBuffer(arg, encodingOrOffset, length) {
return Buffer7(arg, encodingOrOffset, length);
}
SafeBuffer.prototype = Object.create(Buffer7.prototype);
copyProps(Buffer7, SafeBuffer);
SafeBuffer.from = function(arg, encodingOrOffset, length) {
if (typeof arg === "number") {
throw new TypeError("Argument must not be a number");
}
return Buffer7(arg, encodingOrOffset, length);
};
SafeBuffer.alloc = function(size, fill, encoding) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
var buf = Buffer7(size);
if (fill !== undefined) {
if (typeof encoding === "string") {
buf.fill(fill, encoding);
} else {
buf.fill(fill);
}
} else {
buf.fill(0);
}
return buf;
};
SafeBuffer.allocUnsafe = function(size) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
return Buffer7(size);
};
SafeBuffer.allocUnsafeSlow = function(size) {
if (typeof size !== "number") {
throw new TypeError("Argument must be a number");
}
return buffer.SlowBuffer(size);
};
});
// node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js
var require_data_stream = __commonJS((exports, module) => {
var Buffer7 = require_safe_buffer().Buffer;
var Stream3 = __require("stream");
var util4 = __require("util");
function DataStream(data) {
this.buffer = null;
this.writable = true;
this.readable = true;
if (!data) {
this.buffer = Buffer7.alloc(0);
return this;
}
if (typeof data.pipe === "function") {
this.buffer = Buffer7.alloc(0);
data.pipe(this);
return this;
}
if (data.length || typeof data === "object") {
this.buffer = data;
this.writable = false;
process.nextTick(function() {
this.emit("end", data);
this.readable = false;
this.emit("close");
}.bind(this));
return this;
}
throw new TypeError("Unexpected data type (" + typeof data + ")");
}
util4.inherits(DataStream, Stream3);
DataStream.prototype.write = function write(data) {
this.buffer = Buffer7.concat([this.buffer, Buffer7.from(data)]);
this.emit("data", data);
};
DataStream.prototype.end = function end(data) {
if (data)
this.write(data);
this.emit("end", data);
this.emit("close");
this.writable = false;
this.readable = false;
};
module.exports = DataStream;
});
// node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
var require_param_bytes_for_alg = __commonJS((exports, module) => {
function getParamSize(keySize) {
var result = (keySize / 8 | 0) + (keySize % 8 === 0 ? 0 : 1);
return result;
}
var paramBytesForAlg = {
ES256: getParamSize(256),
ES384: getParamSize(384),
ES512: getParamSize(521)
};
function getParamBytesForAlg(alg) {
var paramBytes = paramBytesForAlg[alg];
if (paramBytes) {
return paramBytes;
}
throw new Error('Unknown algorithm "' + alg + '"');
}
module.exports = getParamBytesForAlg;
});
// node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js
var require_ecdsa_sig_formatter = __commonJS((exports, module) => {
var Buffer7 = require_safe_buffer().Buffer;
var getParamBytesForAlg = require_param_bytes_for_alg();
var MAX_OCTET = 128;
var CLASS_UNIVERSAL = 0;
var PRIMITIVE_BIT = 32;
var TAG_SEQ = 16;
var TAG_INT = 2;
var ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | CLASS_UNIVERSAL << 6;
var ENCODED_TAG_INT = TAG_INT | CLASS_UNIVERSAL << 6;
function base64Url(base644) {
return base644.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
}
function signatureAsBuffer(signature) {
if (Buffer7.isBuffer(signature)) {
return signature;
} else if (typeof signature === "string") {
return Buffer7.from(signature, "base64");
}
throw new TypeError("ECDSA signature must be a Base64 string or a Buffer");
}
function derToJose(signature, alg) {
signature = signatureAsBuffer(signature);
var paramBytes = getParamBytesForAlg(alg);
var maxEncodedParamLength = paramBytes + 1;
var inputLength = signature.length;
var offset = 0;
if (signature[offset++] !== ENCODED_TAG_SEQ) {
throw new Error('Could not find expected "seq"');
}
var seqLength = signature[offset++];
if (seqLength === (MAX_OCTET | 1)) {
seqLength = signature[offset++];
}
if (inputLength - offset < seqLength) {
throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining');
}
if (signature[offset++] !== ENCODED_TAG_INT) {
throw new Error('Could not find expected "int" for "r"');
}
var rLength = signature[offset++];
if (inputLength - offset - 2 < rLength) {
throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available');
}
if (maxEncodedParamLength < rLength) {
throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
}
var rOffset = offset;
offset += rLength;
if (signature[offset++] !== ENCODED_TAG_INT) {
throw new Error('Could not find expected "int" for "s"');
}
var sLength = signature[offset++];
if (inputLength - offset !== sLength) {
throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"');
}
if (maxEncodedParamLength < sLength) {
throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
}
var sOffset = offset;
offset += sLength;
if (offset !== inputLength) {
throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain');
}
var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength;
var dst = Buffer7.allocUnsafe(rPadding + rLength + sPadding + sLength);
for (offset = 0;offset < rPadding; ++offset) {
dst[offset] = 0;
}
signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength);
offset = paramBytes;
for (var o2 = offset;offset < o2 + sPadding; ++offset) {
dst[offset] = 0;
}
signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength);
dst = dst.toString("base64");
dst = base64Url(dst);
return dst;
}
function countPadding(buf, start, stop) {
var padding = 0;
while (start + padding < stop && buf[start + padding] === 0) {
++padding;
}
var needsSign = buf[start + padding] >= MAX_OCTET;
if (needsSign) {
--padding;
}
return padding;
}
function joseToDer(signature, alg) {
signature = signatureAsBuffer(signature);
var paramBytes = getParamBytesForAlg(alg);
var signatureBytes = signature.length;
if (signatureBytes !== paramBytes * 2) {
throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"');
}
var rPadding = countPadding(signature, 0, paramBytes);
var sPadding = countPadding(signature, paramBytes, signature.length);
var rLength = paramBytes - rPadding;
var sLength = paramBytes - sPadding;
var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;
var shortLength = rsBytes < MAX_OCTET;
var dst = Buffer7.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
var offset = 0;
dst[offset++] = ENCODED_TAG_SEQ;
if (shortLength) {
dst[offset++] = rsBytes;
} else {
dst[offset++] = MAX_OCTET | 1;
dst[offset++] = rsBytes & 255;
}
dst[offset++] = ENCODED_TAG_INT;
dst[offset++] = rLength;
if (rPadding < 0) {
dst[offset++] = 0;
offset += signature.copy(dst, offset, 0, paramBytes);
} else {
offset += signature.copy(dst, offset, rPadding, paramBytes);
}
dst[offset++] = ENCODED_TAG_INT;
dst[offset++] = sLength;
if (sPadding < 0) {
dst[offset++] = 0;
signature.copy(dst, offset, paramBytes);
} else {
signature.copy(dst, offset, paramBytes + sPadding);
}
return dst;
}
module.exports = {
derToJose,
joseToDer
};
});
// node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js
var require_buffer_equal_constant_time = __commonJS((exports, module) => {
var Buffer7 = __require("buffer").Buffer;
var SlowBuffer = __require("buffer").SlowBuffer;
module.exports = bufferEq;
function bufferEq(a2, b2) {
if (!Buffer7.isBuffer(a2) || !Buffer7.isBuffer(b2)) {
return false;
}
if (a2.length !== b2.length) {
return false;
}
var c5 = 0;
for (var i2 = 0;i2 < a2.length; i2++) {
c5 |= a2[i2] ^ b2[i2];
}
return c5 === 0;
}
bufferEq.install = function() {
Buffer7.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
return bufferEq(this, that);
};
};
var origBufEqual = Buffer7.prototype.equal;
var origSlowBufEqual = SlowBuffer.prototype.equal;
bufferEq.restore = function() {
Buffer7.prototype.equal = origBufEqual;
SlowBuffer.prototype.equal = origSlowBufEqual;
};
});
// node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js
var require_jwa = __commonJS((exports, module) => {
var Buffer7 = require_safe_buffer().Buffer;
var crypto5 = __require("crypto");
var formatEcdsa = require_ecdsa_sig_formatter();
var util4 = __require("util");
var MSG_INVALID_ALGORITHM = `"%s" is not a valid algorithm.
Supported algorithms are:
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`;
var MSG_INVALID_SECRET = "secret must be a string or buffer";
var MSG_INVALID_VERIFIER_KEY = "key must be a string or a buffer";
var MSG_INVALID_SIGNER_KEY = "key must be a string, a buffer or an object";
var supportsKeyObjects = typeof crypto5.createPublicKey === "function";
if (supportsKeyObjects) {
MSG_INVALID_VERIFIER_KEY += " or a KeyObject";
MSG_INVALID_SECRET += "or a KeyObject";
}
function checkIsPublicKey(key) {
if (Buffer7.isBuffer(key)) {
return;
}
if (typeof key === "string") {
return;
}
if (!supportsKeyObjects) {
throw typeError(MSG_INVALID_VERIFIER_KEY);
}
if (typeof key !== "object") {
throw typeError(MSG_INVALID_VERIFIER_KEY);
}
if (typeof key.type !== "string") {
throw typeError(MSG_INVALID_VERIFIER_KEY);
}
if (typeof key.asymmetricKeyType !== "string") {
throw typeError(MSG_INVALID_VERIFIER_KEY);
}
if (typeof key.export !== "function") {
throw typeError(MSG_INVALID_VERIFIER_KEY);
}
}
function checkIsPrivateKey(key) {
if (Buffer7.isBuffer(key)) {
return;
}
if (typeof key === "string") {
return;
}
if (typeof key === "object") {
return;
}
throw typeError(MSG_INVALID_SIGNER_KEY);
}
function checkIsSecretKey(key) {
if (Buffer7.isBuffer(key)) {
return;
}
if (typeof key === "string") {
return key;
}
if (!supportsKeyObjects) {
throw typeError(MSG_INVALID_SECRET);
}
if (typeof key !== "object") {
throw typeError(MSG_INVALID_SECRET);
}
if (key.type !== "secret") {
throw typeError(MSG_INVALID_SECRET);
}
if (typeof key.export !== "function") {
throw typeError(MSG_INVALID_SECRET);
}
}
function fromBase642(base644) {
return base644.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
}
function toBase642(base64url3) {
base64url3 = base64url3.toString();
var padding = 4 - base64url3.length % 4;
if (padding !== 4) {
for (var i2 = 0;i2 < padding; ++i2) {
base64url3 += "=";
}
}
return base64url3.replace(/\-/g, "+").replace(/_/g, "/");
}
function typeError(template) {
var args = [].slice.call(arguments, 1);
var errMsg = util4.format.bind(util4, template).apply(null, args);
return new TypeError(errMsg);
}
function bufferOrString(obj) {
return Buffer7.isBuffer(obj) || typeof obj === "string";
}
function normalizeInput(thing) {
if (!bufferOrString(thing))
thing = JSON.stringify(thing);
return thing;
}
function createHmacSigner(bits) {
return function sign(thing, secret) {
checkIsSecretKey(secret);
thing = normalizeInput(thing);
var hmac = crypto5.createHmac("sha" + bits, secret);
var sig = (hmac.update(thing), hmac.digest("base64"));
return fromBase642(sig);
};
}
var bufferEqual;
var timingSafeEqual = "timingSafeEqual" in crypto5 ? function timingSafeEqual2(a2, b2) {
if (a2.byteLength !== b2.byteLength) {
return false;
}
return crypto5.timingSafeEqual(a2, b2);
} : function timingSafeEqual2(a2, b2) {
if (!bufferEqual) {
bufferEqual = require_buffer_equal_constant_time();
}
return bufferEqual(a2, b2);
};
function createHmacVerifier(bits) {
return function verify(thing, signature, secret) {
var computedSig = createHmacSigner(bits)(thing, secret);
return timingSafeEqual(Buffer7.from(signature), Buffer7.from(computedSig));
};
}
function createKeySigner(bits) {
return function sign(thing, privateKey) {
checkIsPrivateKey(privateKey);
thing = normalizeInput(thing);
var signer = crypto5.createSign("RSA-SHA" + bits);
var sig = (signer.update(thing), signer.sign(privateKey, "base64"));
return fromBase642(sig);
};
}
function createKeyVerifier(bits) {
return function verify(thing, signature, publicKey) {
checkIsPublicKey(publicKey);
thing = normalizeInput(thing);
signature = toBase642(signature);
var verifier = crypto5.createVerify("RSA-SHA" + bits);
verifier.update(thing);
return verifier.verify(publicKey, signature, "base64");
};
}
function createPSSKeySigner(bits) {
return function sign(thing, privateKey) {
checkIsPrivateKey(privateKey);
thing = normalizeInput(thing);
var signer = crypto5.createSign("RSA-SHA" + bits);
var sig = (signer.update(thing), signer.sign({
key: privateKey,
padding: crypto5.constants.RSA_PKCS1_PSS_PADDING,
saltLength: crypto5.constants.RSA_PSS_SALTLEN_DIGEST
}, "base64"));
return fromBase642(sig);
};
}
function createPSSKeyVerifier(bits) {
return function verify(thing, signature, publicKey) {
checkIsPublicKey(publicKey);
thing = normalizeInput(thing);
signature = toBase642(signature);
var verifier = crypto5.createVerify("RSA-SHA" + bits);
verifier.update(thing);
return verifier.verify({
key: publicKey,
padding: crypto5.constants.RSA_PKCS1_PSS_PADDING,
saltLength: crypto5.constants.RSA_PSS_SALTLEN_DIGEST
}, signature, "base64");
};
}
function createECDSASigner(bits) {
var inner = createKeySigner(bits);
return function sign() {
var signature = inner.apply(null, arguments);
signature = formatEcdsa.derToJose(signature, "ES" + bits);
return signature;
};
}
function createECDSAVerifer(bits) {
var inner = createKeyVerifier(bits);
return function verify(thing, signature, publicKey) {
signature = formatEcdsa.joseToDer(signature, "ES" + bits).toString("base64");
var result = inner(thing, signature, publicKey);
return result;
};
}
function createNoneSigner() {
return function sign() {
return "";
};
}
function createNoneVerifier() {
return function verify(thing, signature) {
return signature === "";
};
}
module.exports = function jwa(algorithm) {
var signerFactories = {
hs: createHmacSigner,
rs: createKeySigner,
ps: createPSSKeySigner,
es: createECDSASigner,
none: createNoneSigner
};
var verifierFactories = {
hs: createHmacVerifier,
rs: createKeyVerifier,
ps: createPSSKeyVerifier,
es: createECDSAVerifer,
none: createNoneVerifier
};
var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);
if (!match)
throw typeError(MSG_INVALID_ALGORITHM, algorithm);
var algo = (match[1] || match[3]).toLowerCase();
var bits = match[2];
return {
sign: signerFactories[algo](bits),
verify: verifierFactories[algo](bits)
};
};
});
// node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js
var require_tostring = __commonJS((exports, module) => {
var Buffer7 = __require("buffer").Buffer;
module.exports = function toString6(obj) {
if (typeof obj === "string")
return obj;
if (typeof obj === "number" || Buffer7.isBuffer(obj))
return obj.toString();
return JSON.stringify(obj);
};
});
// node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js
var require_sign_stream = __commonJS((exports, module) => {
var Buffer7 = require_safe_buffer().Buffer;
var DataStream = require_data_stream();
var jwa = require_jwa();
var Stream3 = __require("stream");
var toString6 = require_tostring();
var util4 = __require("util");
function base64url3(string4, encoding) {
return Buffer7.from(string4, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
}
function jwsSecuredInput(header, payload, encoding) {
encoding = encoding || "utf8";
var encodedHeader = base64url3(toString6(header), "binary");
var encodedPayload = base64url3(toString6(payload), encoding);
return util4.format("%s.%s", encodedHeader, encodedPayload);
}
function jwsSign(opts) {
var header = opts.header;
var payload = opts.payload;
var secretOrKey = opts.secret || opts.privateKey;
var encoding = opts.encoding;
var algo = jwa(header.alg);
var securedInput = jwsSecuredInput(header, payload, encoding);
var signature = algo.sign(securedInput, secretOrKey);
return util4.format("%s.%s", securedInput, signature);
}
function SignStream(opts) {
var secret = opts.secret;
secret = secret == null ? opts.privateKey : secret;
secret = secret == null ? opts.key : secret;
if (/^hs/i.test(opts.header.alg) === true && secret == null) {
throw new TypeError("secret must be a string or buffer or a KeyObject");
}
var secretStream = new DataStream(secret);
this.readable = true;
this.header = opts.header;
this.encoding = opts.encoding;
this.secret = this.privateKey = this.key = secretStream;
this.payload = new DataStream(opts.payload);
this.secret.once("close", function() {
if (!this.payload.writable && this.readable)
this.sign();
}.bind(this));
this.payload.once("close", function() {
if (!this.secret.writable && this.readable)
this.sign();
}.bind(this));
}
util4.inherits(SignStream, Stream3);
SignStream.prototype.sign = function sign() {
try {
var signature = jwsSign({
header: this.header,
payload: this.payload.buffer,
secret: this.secret.buffer,
encoding: this.encoding
});
this.emit("done", signature);
this.emit("data", signature);
this.emit("end");
this.readable = false;
return signature;
} catch (e) {
this.readable = false;
this.emit("error", e);
this.emit("close");
}
};
SignStream.sign = jwsSign;
module.exports = SignStream;
});
// node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js
var require_verify_stream = __commonJS((exports, module) => {
var Buffer7 = require_safe_buffer().Buffer;
var DataStream = require_data_stream();
var jwa = require_jwa();
var Stream3 = __require("stream");
var toString6 = require_tostring();
var util4 = __require("util");
var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;
function isObject5(thing) {
return Object.prototype.toString.call(thing) === "[object Object]";
}
function safeJsonParse(thing) {
if (isObject5(thing))
return thing;
try {
return JSON.parse(thing);
} catch (e) {
return;
}
}
function headerFromJWS(jwsSig) {
var encodedHeader = jwsSig.split(".", 1)[0];
return safeJsonParse(Buffer7.from(encodedHeader, "base64").toString("binary"));
}
function securedInputFromJWS(jwsSig) {
return jwsSig.split(".", 2).join(".");
}
function signatureFromJWS(jwsSig) {
return jwsSig.split(".")[2];
}
function payloadFromJWS(jwsSig, encoding) {
encoding = encoding || "utf8";
var payload = jwsSig.split(".")[1];
return Buffer7.from(payload, "base64").toString(encoding);
}
function isValidJws(string4) {
return JWS_REGEX.test(string4) && !!headerFromJWS(string4);
}
function jwsVerify(jwsSig, algorithm, secretOrKey) {
if (!algorithm) {
var err = new Error("Missing algorithm parameter for jws.verify");
err.code = "MISSING_ALGORITHM";
throw err;
}
jwsSig = toString6(jwsSig);
var signature = signatureFromJWS(jwsSig);
var securedInput = securedInputFromJWS(jwsSig);
var algo = jwa(algorithm);
return algo.verify(securedInput, signature, secretOrKey);
}
function jwsDecode(jwsSig, opts) {
opts = opts || {};
jwsSig = toString6(jwsSig);
if (!isValidJws(jwsSig))
return null;
var header = headerFromJWS(jwsSig);
if (!header)
return null;
var payload = payloadFromJWS(jwsSig);
if (header.typ === "JWT" || opts.json)
payload = JSON.parse(payload, opts.encoding);
return {
header,
payload,
signature: signatureFromJWS(jwsSig)
};
}
function VerifyStream(opts) {
opts = opts || {};
var secretOrKey = opts.secret;
secretOrKey = secretOrKey == null ? opts.publicKey : secretOrKey;
secretOrKey = secretOrKey == null ? opts.key : secretOrKey;
if (/^hs/i.test(opts.algorithm) === true && secretOrKey == null) {
throw new TypeError("secret must be a string or buffer or a KeyObject");
}
var secretStream = new DataStream(secretOrKey);
this.readable = true;
this.algorithm = opts.algorithm;
this.encoding = opts.encoding;
this.secret = this.publicKey = this.key = secretStream;
this.signature = new DataStream(opts.signature);
this.secret.once("close", function() {
if (!this.signature.writable && this.readable)
this.verify();
}.bind(this));
this.signature.once("close", function() {
if (!this.secret.writable && this.readable)
this.verify();
}.bind(this));
}
util4.inherits(VerifyStream, Stream3);
VerifyStream.prototype.verify = function verify() {
try {
var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer);
var obj = jwsDecode(this.signature.buffer, this.encoding);
this.emit("done", valid, obj);
this.emit("data", valid);
this.emit("end");
this.readable = false;
return valid;
} catch (e) {
this.readable = false;
this.emit("error", e);
this.emit("close");
}
};
VerifyStream.decode = jwsDecode;
VerifyStream.isValid = isValidJws;
VerifyStream.verify = jwsVerify;
module.exports = VerifyStream;
});
// node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js
var require_jws = __commonJS((exports) => {
var SignStream = require_sign_stream();
var VerifyStream = require_verify_stream();
var ALGORITHMS = [
"HS256",
"HS384",
"HS512",
"RS256",
"RS384",
"RS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512"
];
exports.ALGORITHMS = ALGORITHMS;
exports.sign = SignStream.sign;
exports.verify = VerifyStream.verify;
exports.decode = VerifyStream.decode;
exports.isValid = VerifyStream.isValid;
exports.createSign = function createSign(opts) {
return new SignStream(opts);
};
exports.createVerify = function createVerify(opts) {
return new VerifyStream(opts);
};
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/decode.js
var require_decode = __commonJS((exports, module) => {
var jws = require_jws();
module.exports = function(jwt2, options) {
options = options || {};
var decoded = jws.decode(jwt2, options);
if (!decoded) {
return null;
}
var payload = decoded.payload;
if (typeof payload === "string") {
try {
var obj = JSON.parse(payload);
if (obj !== null && typeof obj === "object") {
payload = obj;
}
} catch (e) {}
}
if (options.complete === true) {
return {
header: decoded.header,
payload,
signature: decoded.signature
};
}
return payload;
};
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/JsonWebTokenError.js
var require_JsonWebTokenError = __commonJS((exports, module) => {
var JsonWebTokenError = function(message, error51) {
Error.call(this, message);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
this.name = "JsonWebTokenError";
this.message = message;
if (error51)
this.inner = error51;
};
JsonWebTokenError.prototype = Object.create(Error.prototype);
JsonWebTokenError.prototype.constructor = JsonWebTokenError;
module.exports = JsonWebTokenError;
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/NotBeforeError.js
var require_NotBeforeError = __commonJS((exports, module) => {
var JsonWebTokenError = require_JsonWebTokenError();
var NotBeforeError = function(message, date5) {
JsonWebTokenError.call(this, message);
this.name = "NotBeforeError";
this.date = date5;
};
NotBeforeError.prototype = Object.create(JsonWebTokenError.prototype);
NotBeforeError.prototype.constructor = NotBeforeError;
module.exports = NotBeforeError;
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/TokenExpiredError.js
var require_TokenExpiredError = __commonJS((exports, module) => {
var JsonWebTokenError = require_JsonWebTokenError();
var TokenExpiredError = function(message, expiredAt) {
JsonWebTokenError.call(this, message);
this.name = "TokenExpiredError";
this.expiredAt = expiredAt;
};
TokenExpiredError.prototype = Object.create(JsonWebTokenError.prototype);
TokenExpiredError.prototype.constructor = TokenExpiredError;
module.exports = TokenExpiredError;
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/timespan.js
var require_timespan = __commonJS((exports, module) => {
var ms = require_ms();
module.exports = function(time3, iat) {
var timestamp = iat || Math.floor(Date.now() / 1000);
if (typeof time3 === "string") {
var milliseconds = ms(time3);
if (typeof milliseconds === "undefined") {
return;
}
return Math.floor(timestamp + milliseconds / 1000);
} else if (typeof time3 === "number") {
return timestamp + time3;
} else {
return;
}
};
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/constants.js
var require_constants8 = __commonJS((exports, module) => {
var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER3 = Number.MAX_SAFE_INTEGER || 9007199254740991;
var MAX_SAFE_COMPONENT_LENGTH = 16;
var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
var RELEASE_TYPES = [
"major",
"premajor",
"minor",
"preminor",
"patch",
"prepatch",
"prerelease"
];
module.exports = {
MAX_LENGTH,
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_SAFE_INTEGER: MAX_SAFE_INTEGER3,
RELEASE_TYPES,
SEMVER_SPEC_VERSION,
FLAG_INCLUDE_PRERELEASE: 1,
FLAG_LOOSE: 2
};
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/debug.js
var require_debug2 = __commonJS((exports, module) => {
var debug3 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {};
module.exports = debug3;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/re.js
var require_re = __commonJS((exports, module) => {
var {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
MAX_LENGTH
} = require_constants8();
var debug3 = require_debug2();
exports = module.exports = {};
var re2 = exports.re = [];
var safeRe = exports.safeRe = [];
var src = exports.src = [];
var safeSrc = exports.safeSrc = [];
var t = exports.t = {};
var R2 = 0;
var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
var safeRegexReplacements = [
["\\s", 1],
["\\d", MAX_LENGTH],
[LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
];
var makeSafeRegex = (value) => {
for (const [token, max] of safeRegexReplacements) {
value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
}
return value;
};
var createToken = (name2, value, isGlobal) => {
const safe = makeSafeRegex(value);
const index = R2++;
debug3(name2, index, value);
t[name2] = index;
src[index] = value;
safeSrc[index] = safe;
re2[index] = new RegExp(value, isGlobal ? "g" : undefined);
safeRe[index] = new RegExp(safe, isGlobal ? "g" : undefined);
};
createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})\\.` + `(${src[t.NUMERICIDENTIFIER]})`);
createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
createToken("FULL", `^${src[t.FULLPLAIN]}$`);
createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
createToken("GTLT", "((?:<|>)?=?)");
createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);
createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);
createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
createToken("COERCEPLAIN", `${"(^|[^\\d])" + "(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?` + `(?:${src[t.BUILD]})?` + `(?:$|[^\\d])`);
createToken("COERCERTL", src[t.COERCE], true);
createToken("COERCERTLFULL", src[t.COERCEFULL], true);
createToken("LONETILDE", "(?:~>?)");
createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
exports.tildeTrimReplace = "$1~";
createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
createToken("LONECARET", "(?:\\^)");
createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
exports.caretTrimReplace = "$1^";
createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
exports.comparatorTrimReplace = "$1$2$3";
createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\s*$`);
createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\s+-\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\s*$`);
createToken("STAR", "(<|>)?=?\\s*\\*");
createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS((exports, module) => {
var looseOption = Object.freeze({ loose: true });
var emptyOpts = Object.freeze({});
var parseOptions = (options) => {
if (!options) {
return emptyOpts;
}
if (typeof options !== "object") {
return looseOption;
}
return options;
};
module.exports = parseOptions;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS((exports, module) => {
var numeric = /^[0-9]+$/;
var compareIdentifiers = (a2, b2) => {
if (typeof a2 === "number" && typeof b2 === "number") {
return a2 === b2 ? 0 : a2 < b2 ? -1 : 1;
}
const anum = numeric.test(a2);
const bnum = numeric.test(b2);
if (anum && bnum) {
a2 = +a2;
b2 = +b2;
}
return a2 === b2 ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a2 < b2 ? -1 : 1;
};
var rcompareIdentifiers = (a2, b2) => compareIdentifiers(b2, a2);
module.exports = {
compareIdentifiers,
rcompareIdentifiers
};
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/semver.js
var require_semver = __commonJS((exports, module) => {
var debug3 = require_debug2();
var { MAX_LENGTH, MAX_SAFE_INTEGER: MAX_SAFE_INTEGER3 } = require_constants8();
var { safeRe: re2, t } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
class SemVer {
constructor(version5, options) {
options = parseOptions(options);
if (version5 instanceof SemVer) {
if (version5.loose === !!options.loose && version5.includePrerelease === !!options.includePrerelease) {
return version5;
} else {
version5 = version5.version;
}
} else if (typeof version5 !== "string") {
throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version5}".`);
}
if (version5.length > MAX_LENGTH) {
throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);
}
debug3("SemVer", version5, options);
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
const m2 = version5.trim().match(options.loose ? re2[t.LOOSE] : re2[t.FULL]);
if (!m2) {
throw new TypeError(`Invalid Version: ${version5}`);
}
this.raw = version5;
this.major = +m2[1];
this.minor = +m2[2];
this.patch = +m2[3];
if (this.major > MAX_SAFE_INTEGER3 || this.major < 0) {
throw new TypeError("Invalid major version");
}
if (this.minor > MAX_SAFE_INTEGER3 || this.minor < 0) {
throw new TypeError("Invalid minor version");
}
if (this.patch > MAX_SAFE_INTEGER3 || this.patch < 0) {
throw new TypeError("Invalid patch version");
}
if (!m2[4]) {
this.prerelease = [];
} else {
this.prerelease = m2[4].split(".").map((id) => {
if (/^[0-9]+$/.test(id)) {
const num = +id;
if (num >= 0 && num < MAX_SAFE_INTEGER3) {
return num;
}
}
return id;
});
}
this.build = m2[5] ? m2[5].split(".") : [];
this.format();
}
format() {
this.version = `${this.major}.${this.minor}.${this.patch}`;
if (this.prerelease.length) {
this.version += `-${this.prerelease.join(".")}`;
}
return this.version;
}
toString() {
return this.version;
}
compare(other) {
debug3("SemVer.compare", this.version, this.options, other);
if (!(other instanceof SemVer)) {
if (typeof other === "string" && other === this.version) {
return 0;
}
other = new SemVer(other, this.options);
}
if (other.version === this.version) {
return 0;
}
return this.compareMain(other) || this.comparePre(other);
}
compareMain(other) {
if (!(other instanceof SemVer)) {
other = new SemVer(other, this.options);
}
if (this.major < other.major) {
return -1;
}
if (this.major > other.major) {
return 1;
}
if (this.minor < other.minor) {
return -1;
}
if (this.minor > other.minor) {
return 1;
}
if (this.patch < other.patch) {
return -1;
}
if (this.patch > other.patch) {
return 1;
}
return 0;
}
comparePre(other) {
if (!(other instanceof SemVer)) {
other = new SemVer(other, this.options);
}
if (this.prerelease.length && !other.prerelease.length) {
return -1;
} else if (!this.prerelease.length && other.prerelease.length) {
return 1;
} else if (!this.prerelease.length && !other.prerelease.length) {
return 0;
}
let i2 = 0;
do {
const a2 = this.prerelease[i2];
const b2 = other.prerelease[i2];
debug3("prerelease compare", i2, a2, b2);
if (a2 === undefined && b2 === undefined) {
return 0;
} else if (b2 === undefined) {
return 1;
} else if (a2 === undefined) {
return -1;
} else if (a2 === b2) {
continue;
} else {
return compareIdentifiers(a2, b2);
}
} while (++i2);
}
compareBuild(other) {
if (!(other instanceof SemVer)) {
other = new SemVer(other, this.options);
}
let i2 = 0;
do {
const a2 = this.build[i2];
const b2 = other.build[i2];
debug3("build compare", i2, a2, b2);
if (a2 === undefined && b2 === undefined) {
return 0;
} else if (b2 === undefined) {
return 1;
} else if (a2 === undefined) {
return -1;
} else if (a2 === b2) {
continue;
} else {
return compareIdentifiers(a2, b2);
}
} while (++i2);
}
inc(release, identifier, identifierBase) {
if (release.startsWith("pre")) {
if (!identifier && identifierBase === false) {
throw new Error("invalid increment argument: identifier is empty");
}
if (identifier) {
const match = `-${identifier}`.match(this.options.loose ? re2[t.PRERELEASELOOSE] : re2[t.PRERELEASE]);
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`);
}
}
}
switch (release) {
case "premajor":
this.prerelease.length = 0;
this.patch = 0;
this.minor = 0;
this.major++;
this.inc("pre", identifier, identifierBase);
break;
case "preminor":
this.prerelease.length = 0;
this.patch = 0;
this.minor++;
this.inc("pre", identifier, identifierBase);
break;
case "prepatch":
this.prerelease.length = 0;
this.inc("patch", identifier, identifierBase);
this.inc("pre", identifier, identifierBase);
break;
case "prerelease":
if (this.prerelease.length === 0) {
this.inc("patch", identifier, identifierBase);
}
this.inc("pre", identifier, identifierBase);
break;
case "release":
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`);
}
this.prerelease.length = 0;
break;
case "major":
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
this.major++;
}
this.minor = 0;
this.patch = 0;
this.prerelease = [];
break;
case "minor":
if (this.patch !== 0 || this.prerelease.length === 0) {
this.minor++;
}
this.patch = 0;
this.prerelease = [];
break;
case "patch":
if (this.prerelease.length === 0) {
this.patch++;
}
this.prerelease = [];
break;
case "pre": {
const base2 = Number(identifierBase) ? 1 : 0;
if (this.prerelease.length === 0) {
this.prerelease = [base2];
} else {
let i2 = this.prerelease.length;
while (--i2 >= 0) {
if (typeof this.prerelease[i2] === "number") {
this.prerelease[i2]++;
i2 = -2;
}
}
if (i2 === -1) {
if (identifier === this.prerelease.join(".") && identifierBase === false) {
throw new Error("invalid increment argument: identifier already exists");
}
this.prerelease.push(base2);
}
}
if (identifier) {
let prerelease = [identifier, base2];
if (identifierBase === false) {
prerelease = [identifier];
}
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
if (isNaN(this.prerelease[1])) {
this.prerelease = prerelease;
}
} else {
this.prerelease = prerelease;
}
}
break;
}
default:
throw new Error(`invalid increment argument: ${release}`);
}
this.raw = this.format();
if (this.build.length) {
this.raw += `+${this.build.join(".")}`;
}
return this;
}
}
module.exports = SemVer;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/parse.js
var require_parse5 = __commonJS((exports, module) => {
var SemVer = require_semver();
var parse8 = (version5, options, throwErrors = false) => {
if (version5 instanceof SemVer) {
return version5;
}
try {
return new SemVer(version5, options);
} catch (er) {
if (!throwErrors) {
return null;
}
throw er;
}
};
module.exports = parse8;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/valid.js
var require_valid = __commonJS((exports, module) => {
var parse8 = require_parse5();
var valid = (version5, options) => {
const v2 = parse8(version5, options);
return v2 ? v2.version : null;
};
module.exports = valid;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/clean.js
var require_clean = __commonJS((exports, module) => {
var parse8 = require_parse5();
var clean = (version5, options) => {
const s = parse8(version5.trim().replace(/^[=v]+/, ""), options);
return s ? s.version : null;
};
module.exports = clean;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/inc.js
var require_inc = __commonJS((exports, module) => {
var SemVer = require_semver();
var inc = (version5, release, options, identifier, identifierBase) => {
if (typeof options === "string") {
identifierBase = identifier;
identifier = options;
options = undefined;
}
try {
return new SemVer(version5 instanceof SemVer ? version5.version : version5, options).inc(release, identifier, identifierBase).version;
} catch (er) {
return null;
}
};
module.exports = inc;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/diff.js
var require_diff = __commonJS((exports, module) => {
var parse8 = require_parse5();
var diff = (version1, version22) => {
const v12 = parse8(version1, null, true);
const v2 = parse8(version22, null, true);
const comparison = v12.compare(v2);
if (comparison === 0) {
return null;
}
const v1Higher = comparison > 0;
const highVersion = v1Higher ? v12 : v2;
const lowVersion = v1Higher ? v2 : v12;
const highHasPre = !!highVersion.prerelease.length;
const lowHasPre = !!lowVersion.prerelease.length;
if (lowHasPre && !highHasPre) {
if (!lowVersion.patch && !lowVersion.minor) {
return "major";
}
if (lowVersion.compareMain(highVersion) === 0) {
if (lowVersion.minor && !lowVersion.patch) {
return "minor";
}
return "patch";
}
}
const prefix = highHasPre ? "pre" : "";
if (v12.major !== v2.major) {
return prefix + "major";
}
if (v12.minor !== v2.minor) {
return prefix + "minor";
}
if (v12.patch !== v2.patch) {
return prefix + "patch";
}
return "prerelease";
};
module.exports = diff;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/major.js
var require_major = __commonJS((exports, module) => {
var SemVer = require_semver();
var major = (a2, loose) => new SemVer(a2, loose).major;
module.exports = major;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/minor.js
var require_minor = __commonJS((exports, module) => {
var SemVer = require_semver();
var minor = (a2, loose) => new SemVer(a2, loose).minor;
module.exports = minor;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/patch.js
var require_patch = __commonJS((exports, module) => {
var SemVer = require_semver();
var patch = (a2, loose) => new SemVer(a2, loose).patch;
module.exports = patch;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/prerelease.js
var require_prerelease = __commonJS((exports, module) => {
var parse8 = require_parse5();
var prerelease = (version5, options) => {
const parsed = parse8(version5, options);
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
};
module.exports = prerelease;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/compare.js
var require_compare = __commonJS((exports, module) => {
var SemVer = require_semver();
var compare = (a2, b2, loose) => new SemVer(a2, loose).compare(new SemVer(b2, loose));
module.exports = compare;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/rcompare.js
var require_rcompare = __commonJS((exports, module) => {
var compare = require_compare();
var rcompare = (a2, b2, loose) => compare(b2, a2, loose);
module.exports = rcompare;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/compare-loose.js
var require_compare_loose = __commonJS((exports, module) => {
var compare = require_compare();
var compareLoose = (a2, b2) => compare(a2, b2, true);
module.exports = compareLoose;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/compare-build.js
var require_compare_build = __commonJS((exports, module) => {
var SemVer = require_semver();
var compareBuild = (a2, b2, loose) => {
const versionA = new SemVer(a2, loose);
const versionB = new SemVer(b2, loose);
return versionA.compare(versionB) || versionA.compareBuild(versionB);
};
module.exports = compareBuild;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/sort.js
var require_sort = __commonJS((exports, module) => {
var compareBuild = require_compare_build();
var sort = (list, loose) => list.sort((a2, b2) => compareBuild(a2, b2, loose));
module.exports = sort;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/rsort.js
var require_rsort = __commonJS((exports, module) => {
var compareBuild = require_compare_build();
var rsort = (list, loose) => list.sort((a2, b2) => compareBuild(b2, a2, loose));
module.exports = rsort;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/gt.js
var require_gt = __commonJS((exports, module) => {
var compare = require_compare();
var gt = (a2, b2, loose) => compare(a2, b2, loose) > 0;
module.exports = gt;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/lt.js
var require_lt = __commonJS((exports, module) => {
var compare = require_compare();
var lt = (a2, b2, loose) => compare(a2, b2, loose) < 0;
module.exports = lt;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/eq.js
var require_eq = __commonJS((exports, module) => {
var compare = require_compare();
var eq2 = (a2, b2, loose) => compare(a2, b2, loose) === 0;
module.exports = eq2;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/neq.js
var require_neq = __commonJS((exports, module) => {
var compare = require_compare();
var neq = (a2, b2, loose) => compare(a2, b2, loose) !== 0;
module.exports = neq;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/gte.js
var require_gte = __commonJS((exports, module) => {
var compare = require_compare();
var gte = (a2, b2, loose) => compare(a2, b2, loose) >= 0;
module.exports = gte;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/lte.js
var require_lte = __commonJS((exports, module) => {
var compare = require_compare();
var lte = (a2, b2, loose) => compare(a2, b2, loose) <= 0;
module.exports = lte;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/cmp.js
var require_cmp = __commonJS((exports, module) => {
var eq2 = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a2, op, b2, loose) => {
switch (op) {
case "===":
if (typeof a2 === "object") {
a2 = a2.version;
}
if (typeof b2 === "object") {
b2 = b2.version;
}
return a2 === b2;
case "!==":
if (typeof a2 === "object") {
a2 = a2.version;
}
if (typeof b2 === "object") {
b2 = b2.version;
}
return a2 !== b2;
case "":
case "=":
case "==":
return eq2(a2, b2, loose);
case "!=":
return neq(a2, b2, loose);
case ">":
return gt(a2, b2, loose);
case ">=":
return gte(a2, b2, loose);
case "<":
return lt(a2, b2, loose);
case "<=":
return lte(a2, b2, loose);
default:
throw new TypeError(`Invalid operator: ${op}`);
}
};
module.exports = cmp;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/coerce.js
var require_coerce = __commonJS((exports, module) => {
var SemVer = require_semver();
var parse8 = require_parse5();
var { safeRe: re2, t } = require_re();
var coerce = (version5, options) => {
if (version5 instanceof SemVer) {
return version5;
}
if (typeof version5 === "number") {
version5 = String(version5);
}
if (typeof version5 !== "string") {
return null;
}
options = options || {};
let match = null;
if (!options.rtl) {
match = version5.match(options.includePrerelease ? re2[t.COERCEFULL] : re2[t.COERCE]);
} else {
const coerceRtlRegex = options.includePrerelease ? re2[t.COERCERTLFULL] : re2[t.COERCERTL];
let next;
while ((next = coerceRtlRegex.exec(version5)) && (!match || match.index + match[0].length !== version5.length)) {
if (!match || next.index + next[0].length !== match.index + match[0].length) {
match = next;
}
coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
}
coerceRtlRegex.lastIndex = -1;
}
if (match === null) {
return null;
}
const major = match[2];
const minor = match[3] || "0";
const patch = match[4] || "0";
const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
return parse8(`${major}.${minor}.${patch}${prerelease}${build}`, options);
};
module.exports = coerce;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/lrucache.js
var require_lrucache = __commonJS((exports, module) => {
class LRUCache {
constructor() {
this.max = 1000;
this.map = new Map;
}
get(key) {
const value = this.map.get(key);
if (value === undefined) {
return;
} else {
this.map.delete(key);
this.map.set(key, value);
return value;
}
}
delete(key) {
return this.map.delete(key);
}
set(key, value) {
const deleted = this.delete(key);
if (!deleted && value !== undefined) {
if (this.map.size >= this.max) {
const firstKey = this.map.keys().next().value;
this.delete(firstKey);
}
this.map.set(key, value);
}
return this;
}
}
module.exports = LRUCache;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/range.js
var require_range2 = __commonJS((exports, module) => {
var SPACE_CHARACTERS = /\s+/g;
class Range {
constructor(range, options) {
options = parseOptions(options);
if (range instanceof Range) {
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
return range;
} else {
return new Range(range.raw, options);
}
}
if (range instanceof Comparator) {
this.raw = range.value;
this.set = [[range]];
this.formatted = undefined;
return this;
}
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c5) => c5.length);
if (!this.set.length) {
throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
}
if (this.set.length > 1) {
const first = this.set[0];
this.set = this.set.filter((c5) => !isNullSet(c5[0]));
if (this.set.length === 0) {
this.set = [first];
} else if (this.set.length > 1) {
for (const c5 of this.set) {
if (c5.length === 1 && isAny(c5[0])) {
this.set = [c5];
break;
}
}
}
}
this.formatted = undefined;
}
get range() {
if (this.formatted === undefined) {
this.formatted = "";
for (let i2 = 0;i2 < this.set.length; i2++) {
if (i2 > 0) {
this.formatted += "||";
}
const comps = this.set[i2];
for (let k2 = 0;k2 < comps.length; k2++) {
if (k2 > 0) {
this.formatted += " ";
}
this.formatted += comps[k2].toString().trim();
}
}
}
return this.formatted;
}
format() {
return this.range;
}
toString() {
return this.range;
}
parseRange(range) {
const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
const memoKey = memoOpts + ":" + range;
const cached2 = cache2.get(memoKey);
if (cached2) {
return cached2;
}
const loose = this.options.loose;
const hr = loose ? re2[t.HYPHENRANGELOOSE] : re2[t.HYPHENRANGE];
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
debug3("hyphen replace", range);
range = range.replace(re2[t.COMPARATORTRIM], comparatorTrimReplace);
debug3("comparator trim", range);
range = range.replace(re2[t.TILDETRIM], tildeTrimReplace);
debug3("tilde trim", range);
range = range.replace(re2[t.CARETTRIM], caretTrimReplace);
debug3("caret trim", range);
let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
if (loose) {
rangeList = rangeList.filter((comp) => {
debug3("loose invalid filter", comp, this.options);
return !!comp.match(re2[t.COMPARATORLOOSE]);
});
}
debug3("range list", rangeList);
const rangeMap = new Map;
const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
for (const comp of comparators) {
if (isNullSet(comp)) {
return [comp];
}
rangeMap.set(comp.value, comp);
}
if (rangeMap.size > 1 && rangeMap.has("")) {
rangeMap.delete("");
}
const result = [...rangeMap.values()];
cache2.set(memoKey, result);
return result;
}
intersects(range, options) {
if (!(range instanceof Range)) {
throw new TypeError("a Range is required");
}
return this.set.some((thisComparators) => {
return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
return rangeComparators.every((rangeComparator) => {
return thisComparator.intersects(rangeComparator, options);
});
});
});
});
}
test(version5) {
if (!version5) {
return false;
}
if (typeof version5 === "string") {
try {
version5 = new SemVer(version5, this.options);
} catch (er) {
return false;
}
}
for (let i2 = 0;i2 < this.set.length; i2++) {
if (testSet(this.set[i2], version5, this.options)) {
return true;
}
}
return false;
}
}
module.exports = Range;
var LRU = require_lrucache();
var cache2 = new LRU;
var parseOptions = require_parse_options();
var Comparator = require_comparator();
var debug3 = require_debug2();
var SemVer = require_semver();
var {
safeRe: re2,
t,
comparatorTrimReplace,
tildeTrimReplace,
caretTrimReplace
} = require_re();
var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants8();
var isNullSet = (c5) => c5.value === "<0.0.0-0";
var isAny = (c5) => c5.value === "";
var isSatisfiable = (comparators, options) => {
let result = true;
const remainingComparators = comparators.slice();
let testComparator = remainingComparators.pop();
while (result && remainingComparators.length) {
result = remainingComparators.every((otherComparator) => {
return testComparator.intersects(otherComparator, options);
});
testComparator = remainingComparators.pop();
}
return result;
};
var parseComparator = (comp, options) => {
comp = comp.replace(re2[t.BUILD], "");
debug3("comp", comp, options);
comp = replaceCarets(comp, options);
debug3("caret", comp);
comp = replaceTildes(comp, options);
debug3("tildes", comp);
comp = replaceXRanges(comp, options);
debug3("xrange", comp);
comp = replaceStars(comp, options);
debug3("stars", comp);
return comp;
};
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
var replaceTildes = (comp, options) => {
return comp.trim().split(/\s+/).map((c5) => replaceTilde(c5, options)).join(" ");
};
var replaceTilde = (comp, options) => {
const r = options.loose ? re2[t.TILDELOOSE] : re2[t.TILDE];
return comp.replace(r, (_2, M3, m2, p, pr) => {
debug3("tilde", comp, _2, M3, m2, p, pr);
let ret;
if (isX(M3)) {
ret = "";
} else if (isX(m2)) {
ret = `>=${M3}.0.0 <${+M3 + 1}.0.0-0`;
} else if (isX(p)) {
ret = `>=${M3}.${m2}.0 <${M3}.${+m2 + 1}.0-0`;
} else if (pr) {
debug3("replaceTilde pr", pr);
ret = `>=${M3}.${m2}.${p}-${pr} <${M3}.${+m2 + 1}.0-0`;
} else {
ret = `>=${M3}.${m2}.${p} <${M3}.${+m2 + 1}.0-0`;
}
debug3("tilde return", ret);
return ret;
});
};
var replaceCarets = (comp, options) => {
return comp.trim().split(/\s+/).map((c5) => replaceCaret(c5, options)).join(" ");
};
var replaceCaret = (comp, options) => {
debug3("caret", comp, options);
const r = options.loose ? re2[t.CARETLOOSE] : re2[t.CARET];
const z4 = options.includePrerelease ? "-0" : "";
return comp.replace(r, (_2, M3, m2, p, pr) => {
debug3("caret", comp, _2, M3, m2, p, pr);
let ret;
if (isX(M3)) {
ret = "";
} else if (isX(m2)) {
ret = `>=${M3}.0.0${z4} <${+M3 + 1}.0.0-0`;
} else if (isX(p)) {
if (M3 === "0") {
ret = `>=${M3}.${m2}.0${z4} <${M3}.${+m2 + 1}.0-0`;
} else {
ret = `>=${M3}.${m2}.0${z4} <${+M3 + 1}.0.0-0`;
}
} else if (pr) {
debug3("replaceCaret pr", pr);
if (M3 === "0") {
if (m2 === "0") {
ret = `>=${M3}.${m2}.${p}-${pr} <${M3}.${m2}.${+p + 1}-0`;
} else {
ret = `>=${M3}.${m2}.${p}-${pr} <${M3}.${+m2 + 1}.0-0`;
}
} else {
ret = `>=${M3}.${m2}.${p}-${pr} <${+M3 + 1}.0.0-0`;
}
} else {
debug3("no pr");
if (M3 === "0") {
if (m2 === "0") {
ret = `>=${M3}.${m2}.${p}${z4} <${M3}.${m2}.${+p + 1}-0`;
} else {
ret = `>=${M3}.${m2}.${p}${z4} <${M3}.${+m2 + 1}.0-0`;
}
} else {
ret = `>=${M3}.${m2}.${p} <${+M3 + 1}.0.0-0`;
}
}
debug3("caret return", ret);
return ret;
});
};
var replaceXRanges = (comp, options) => {
debug3("replaceXRanges", comp, options);
return comp.split(/\s+/).map((c5) => replaceXRange(c5, options)).join(" ");
};
var replaceXRange = (comp, options) => {
comp = comp.trim();
const r = options.loose ? re2[t.XRANGELOOSE] : re2[t.XRANGE];
return comp.replace(r, (ret, gtlt, M3, m2, p, pr) => {
debug3("xRange", comp, ret, gtlt, M3, m2, p, pr);
const xM = isX(M3);
const xm = xM || isX(m2);
const xp = xm || isX(p);
const anyX = xp;
if (gtlt === "=" && anyX) {
gtlt = "";
}
pr = options.includePrerelease ? "-0" : "";
if (xM) {
if (gtlt === ">" || gtlt === "<") {
ret = "<0.0.0-0";
} else {
ret = "*";
}
} else if (gtlt && anyX) {
if (xm) {
m2 = 0;
}
p = 0;
if (gtlt === ">") {
gtlt = ">=";
if (xm) {
M3 = +M3 + 1;
m2 = 0;
p = 0;
} else {
m2 = +m2 + 1;
p = 0;
}
} else if (gtlt === "<=") {
gtlt = "<";
if (xm) {
M3 = +M3 + 1;
} else {
m2 = +m2 + 1;
}
}
if (gtlt === "<") {
pr = "-0";
}
ret = `${gtlt + M3}.${m2}.${p}${pr}`;
} else if (xm) {
ret = `>=${M3}.0.0${pr} <${+M3 + 1}.0.0-0`;
} else if (xp) {
ret = `>=${M3}.${m2}.0${pr} <${M3}.${+m2 + 1}.0-0`;
}
debug3("xRange return", ret);
return ret;
});
};
var replaceStars = (comp, options) => {
debug3("replaceStars", comp, options);
return comp.trim().replace(re2[t.STAR], "");
};
var replaceGTE0 = (comp, options) => {
debug3("replaceGTE0", comp, options);
return comp.trim().replace(re2[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
};
var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
if (isX(fM)) {
from = "";
} else if (isX(fm)) {
from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
} else if (isX(fp)) {
from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
} else if (fpr) {
from = `>=${from}`;
} else {
from = `>=${from}${incPr ? "-0" : ""}`;
}
if (isX(tM)) {
to = "";
} else if (isX(tm)) {
to = `<${+tM + 1}.0.0-0`;
} else if (isX(tp)) {
to = `<${tM}.${+tm + 1}.0-0`;
} else if (tpr) {
to = `<=${tM}.${tm}.${tp}-${tpr}`;
} else if (incPr) {
to = `<${tM}.${tm}.${+tp + 1}-0`;
} else {
to = `<=${to}`;
}
return `${from} ${to}`.trim();
};
var testSet = (set2, version5, options) => {
for (let i2 = 0;i2 < set2.length; i2++) {
if (!set2[i2].test(version5)) {
return false;
}
}
if (version5.prerelease.length && !options.includePrerelease) {
for (let i2 = 0;i2 < set2.length; i2++) {
debug3(set2[i2].semver);
if (set2[i2].semver === Comparator.ANY) {
continue;
}
if (set2[i2].semver.prerelease.length > 0) {
const allowed = set2[i2].semver;
if (allowed.major === version5.major && allowed.minor === version5.minor && allowed.patch === version5.patch) {
return true;
}
}
}
return false;
}
return true;
};
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/comparator.js
var require_comparator = __commonJS((exports, module) => {
var ANY = Symbol("SemVer ANY");
class Comparator {
static get ANY() {
return ANY;
}
constructor(comp, options) {
options = parseOptions(options);
if (comp instanceof Comparator) {
if (comp.loose === !!options.loose) {
return comp;
} else {
comp = comp.value;
}
}
comp = comp.trim().split(/\s+/).join(" ");
debug3("comparator", comp, options);
this.options = options;
this.loose = !!options.loose;
this.parse(comp);
if (this.semver === ANY) {
this.value = "";
} else {
this.value = this.operator + this.semver.version;
}
debug3("comp", this);
}
parse(comp) {
const r = this.options.loose ? re2[t.COMPARATORLOOSE] : re2[t.COMPARATOR];
const m2 = comp.match(r);
if (!m2) {
throw new TypeError(`Invalid comparator: ${comp}`);
}
this.operator = m2[1] !== undefined ? m2[1] : "";
if (this.operator === "=") {
this.operator = "";
}
if (!m2[2]) {
this.semver = ANY;
} else {
this.semver = new SemVer(m2[2], this.options.loose);
}
}
toString() {
return this.value;
}
test(version5) {
debug3("Comparator.test", version5, this.options.loose);
if (this.semver === ANY || version5 === ANY) {
return true;
}
if (typeof version5 === "string") {
try {
version5 = new SemVer(version5, this.options);
} catch (er) {
return false;
}
}
return cmp(version5, this.operator, this.semver, this.options);
}
intersects(comp, options) {
if (!(comp instanceof Comparator)) {
throw new TypeError("a Comparator is required");
}
if (this.operator === "") {
if (this.value === "") {
return true;
}
return new Range(comp.value, options).test(this.value);
} else if (comp.operator === "") {
if (comp.value === "") {
return true;
}
return new Range(this.value, options).test(comp.semver);
}
options = parseOptions(options);
if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
return false;
}
if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
return false;
}
if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
return true;
}
if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
return true;
}
if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
return true;
}
if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
return true;
}
if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
return true;
}
return false;
}
}
module.exports = Comparator;
var parseOptions = require_parse_options();
var { safeRe: re2, t } = require_re();
var cmp = require_cmp();
var debug3 = require_debug2();
var SemVer = require_semver();
var Range = require_range2();
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/satisfies.js
var require_satisfies = __commonJS((exports, module) => {
var Range = require_range2();
var satisfies = (version5, range, options) => {
try {
range = new Range(range, options);
} catch (er) {
return false;
}
return range.test(version5);
};
module.exports = satisfies;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/to-comparators.js
var require_to_comparators = __commonJS((exports, module) => {
var Range = require_range2();
var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c5) => c5.value).join(" ").trim().split(" "));
module.exports = toComparators;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/max-satisfying.js
var require_max_satisfying = __commonJS((exports, module) => {
var SemVer = require_semver();
var Range = require_range2();
var maxSatisfying = (versions2, range, options) => {
let max = null;
let maxSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions2.forEach((v2) => {
if (rangeObj.test(v2)) {
if (!max || maxSV.compare(v2) === -1) {
max = v2;
maxSV = new SemVer(max, options);
}
}
});
return max;
};
module.exports = maxSatisfying;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/min-satisfying.js
var require_min_satisfying = __commonJS((exports, module) => {
var SemVer = require_semver();
var Range = require_range2();
var minSatisfying = (versions2, range, options) => {
let min = null;
let minSV = null;
let rangeObj = null;
try {
rangeObj = new Range(range, options);
} catch (er) {
return null;
}
versions2.forEach((v2) => {
if (rangeObj.test(v2)) {
if (!min || minSV.compare(v2) === 1) {
min = v2;
minSV = new SemVer(min, options);
}
}
});
return min;
};
module.exports = minSatisfying;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/min-version.js
var require_min_version = __commonJS((exports, module) => {
var SemVer = require_semver();
var Range = require_range2();
var gt = require_gt();
var minVersion = (range, loose) => {
range = new Range(range, loose);
let minver = new SemVer("0.0.0");
if (range.test(minver)) {
return minver;
}
minver = new SemVer("0.0.0-0");
if (range.test(minver)) {
return minver;
}
minver = null;
for (let i2 = 0;i2 < range.set.length; ++i2) {
const comparators = range.set[i2];
let setMin = null;
comparators.forEach((comparator) => {
const compver = new SemVer(comparator.semver.version);
switch (comparator.operator) {
case ">":
if (compver.prerelease.length === 0) {
compver.patch++;
} else {
compver.prerelease.push(0);
}
compver.raw = compver.format();
case "":
case ">=":
if (!setMin || gt(compver, setMin)) {
setMin = compver;
}
break;
case "<":
case "<=":
break;
default:
throw new Error(`Unexpected operation: ${comparator.operator}`);
}
});
if (setMin && (!minver || gt(minver, setMin))) {
minver = setMin;
}
}
if (minver && range.test(minver)) {
return minver;
}
return null;
};
module.exports = minVersion;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/valid.js
var require_valid2 = __commonJS((exports, module) => {
var Range = require_range2();
var validRange = (range, options) => {
try {
return new Range(range, options).range || "*";
} catch (er) {
return null;
}
};
module.exports = validRange;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/outside.js
var require_outside = __commonJS((exports, module) => {
var SemVer = require_semver();
var Comparator = require_comparator();
var { ANY } = Comparator;
var Range = require_range2();
var satisfies = require_satisfies();
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte = require_gte();
var outside = (version5, range, hilo, options) => {
version5 = new SemVer(version5, options);
range = new Range(range, options);
let gtfn, ltefn, ltfn, comp, ecomp;
switch (hilo) {
case ">":
gtfn = gt;
ltefn = lte;
ltfn = lt;
comp = ">";
ecomp = ">=";
break;
case "<":
gtfn = lt;
ltefn = gte;
ltfn = gt;
comp = "<";
ecomp = "<=";
break;
default:
throw new TypeError('Must provide a hilo val of "<" or ">"');
}
if (satisfies(version5, range, options)) {
return false;
}
for (let i2 = 0;i2 < range.set.length; ++i2) {
const comparators = range.set[i2];
let high = null;
let low = null;
comparators.forEach((comparator) => {
if (comparator.semver === ANY) {
comparator = new Comparator(">=0.0.0");
}
high = high || comparator;
low = low || comparator;
if (gtfn(comparator.semver, high.semver, options)) {
high = comparator;
} else if (ltfn(comparator.semver, low.semver, options)) {
low = comparator;
}
});
if (high.operator === comp || high.operator === ecomp) {
return false;
}
if ((!low.operator || low.operator === comp) && ltefn(version5, low.semver)) {
return false;
} else if (low.operator === ecomp && ltfn(version5, low.semver)) {
return false;
}
}
return true;
};
module.exports = outside;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/gtr.js
var require_gtr = __commonJS((exports, module) => {
var outside = require_outside();
var gtr = (version5, range, options) => outside(version5, range, ">", options);
module.exports = gtr;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/ltr.js
var require_ltr = __commonJS((exports, module) => {
var outside = require_outside();
var ltr = (version5, range, options) => outside(version5, range, "<", options);
module.exports = ltr;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/intersects.js
var require_intersects = __commonJS((exports, module) => {
var Range = require_range2();
var intersects = (r1, r2, options) => {
r1 = new Range(r1, options);
r2 = new Range(r2, options);
return r1.intersects(r2, options);
};
module.exports = intersects;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/simplify.js
var require_simplify = __commonJS((exports, module) => {
var satisfies = require_satisfies();
var compare = require_compare();
module.exports = (versions2, range, options) => {
const set2 = [];
let first = null;
let prev = null;
const v2 = versions2.sort((a2, b2) => compare(a2, b2, options));
for (const version5 of v2) {
const included = satisfies(version5, range, options);
if (included) {
prev = version5;
if (!first) {
first = version5;
}
} else {
if (prev) {
set2.push([first, prev]);
}
prev = null;
first = null;
}
}
if (first) {
set2.push([first, null]);
}
const ranges = [];
for (const [min, max] of set2) {
if (min === max) {
ranges.push(min);
} else if (!max && min === v2[0]) {
ranges.push("*");
} else if (!max) {
ranges.push(`>=${min}`);
} else if (min === v2[0]) {
ranges.push(`<=${max}`);
} else {
ranges.push(`${min} - ${max}`);
}
}
const simplified = ranges.join(" || ");
const original = typeof range.raw === "string" ? range.raw : String(range);
return simplified.length < original.length ? simplified : range;
};
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/ranges/subset.js
var require_subset = __commonJS((exports, module) => {
var Range = require_range2();
var Comparator = require_comparator();
var { ANY } = Comparator;
var satisfies = require_satisfies();
var compare = require_compare();
var subset = (sub, dom, options = {}) => {
if (sub === dom) {
return true;
}
sub = new Range(sub, options);
dom = new Range(dom, options);
let sawNonNull = false;
OUTER:
for (const simpleSub of sub.set) {
for (const simpleDom of dom.set) {
const isSub = simpleSubset(simpleSub, simpleDom, options);
sawNonNull = sawNonNull || isSub !== null;
if (isSub) {
continue OUTER;
}
}
if (sawNonNull) {
return false;
}
}
return true;
};
var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
var minimumVersion = [new Comparator(">=0.0.0")];
var simpleSubset = (sub, dom, options) => {
if (sub === dom) {
return true;
}
if (sub.length === 1 && sub[0].semver === ANY) {
if (dom.length === 1 && dom[0].semver === ANY) {
return true;
} else if (options.includePrerelease) {
sub = minimumVersionWithPreRelease;
} else {
sub = minimumVersion;
}
}
if (dom.length === 1 && dom[0].semver === ANY) {
if (options.includePrerelease) {
return true;
} else {
dom = minimumVersion;
}
}
const eqSet = new Set;
let gt, lt;
for (const c5 of sub) {
if (c5.operator === ">" || c5.operator === ">=") {
gt = higherGT(gt, c5, options);
} else if (c5.operator === "<" || c5.operator === "<=") {
lt = lowerLT(lt, c5, options);
} else {
eqSet.add(c5.semver);
}
}
if (eqSet.size > 1) {
return null;
}
let gtltComp;
if (gt && lt) {
gtltComp = compare(gt.semver, lt.semver, options);
if (gtltComp > 0) {
return null;
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
return null;
}
}
for (const eq2 of eqSet) {
if (gt && !satisfies(eq2, String(gt), options)) {
return null;
}
if (lt && !satisfies(eq2, String(lt), options)) {
return null;
}
for (const c5 of dom) {
if (!satisfies(eq2, String(c5), options)) {
return false;
}
}
return true;
}
let higher, lower;
let hasDomLT, hasDomGT;
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
needDomLTPre = false;
}
for (const c5 of dom) {
hasDomGT = hasDomGT || c5.operator === ">" || c5.operator === ">=";
hasDomLT = hasDomLT || c5.operator === "<" || c5.operator === "<=";
if (gt) {
if (needDomGTPre) {
if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomGTPre.major && c5.semver.minor === needDomGTPre.minor && c5.semver.patch === needDomGTPre.patch) {
needDomGTPre = false;
}
}
if (c5.operator === ">" || c5.operator === ">=") {
higher = higherGT(gt, c5, options);
if (higher === c5 && higher !== gt) {
return false;
}
} else if (gt.operator === ">=" && !satisfies(gt.semver, String(c5), options)) {
return false;
}
}
if (lt) {
if (needDomLTPre) {
if (c5.semver.prerelease && c5.semver.prerelease.length && c5.semver.major === needDomLTPre.major && c5.semver.minor === needDomLTPre.minor && c5.semver.patch === needDomLTPre.patch) {
needDomLTPre = false;
}
}
if (c5.operator === "<" || c5.operator === "<=") {
lower = lowerLT(lt, c5, options);
if (lower === c5 && lower !== lt) {
return false;
}
} else if (lt.operator === "<=" && !satisfies(lt.semver, String(c5), options)) {
return false;
}
}
if (!c5.operator && (lt || gt) && gtltComp !== 0) {
return false;
}
}
if (gt && hasDomLT && !lt && gtltComp !== 0) {
return false;
}
if (lt && hasDomGT && !gt && gtltComp !== 0) {
return false;
}
if (needDomGTPre || needDomLTPre) {
return false;
}
return true;
};
var higherGT = (a2, b2, options) => {
if (!a2) {
return b2;
}
const comp = compare(a2.semver, b2.semver, options);
return comp > 0 ? a2 : comp < 0 ? b2 : b2.operator === ">" && a2.operator === ">=" ? b2 : a2;
};
var lowerLT = (a2, b2, options) => {
if (!a2) {
return b2;
}
const comp = compare(a2.semver, b2.semver, options);
return comp < 0 ? a2 : comp > 0 ? b2 : b2.operator === "<" && a2.operator === "<=" ? b2 : a2;
};
module.exports = subset;
});
// node_modules/.pnpm/semver@7.7.4/node_modules/semver/index.js
var require_semver2 = __commonJS((exports, module) => {
var internalRe = require_re();
var constants4 = require_constants8();
var SemVer = require_semver();
var identifiers = require_identifiers();
var parse8 = require_parse5();
var valid = require_valid();
var clean = require_clean();
var inc = require_inc();
var diff = require_diff();
var major = require_major();
var minor = require_minor();
var patch = require_patch();
var prerelease = require_prerelease();
var compare = require_compare();
var rcompare = require_rcompare();
var compareLoose = require_compare_loose();
var compareBuild = require_compare_build();
var sort = require_sort();
var rsort = require_rsort();
var gt = require_gt();
var lt = require_lt();
var eq2 = require_eq();
var neq = require_neq();
var gte = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce = require_coerce();
var Comparator = require_comparator();
var Range = require_range2();
var satisfies = require_satisfies();
var toComparators = require_to_comparators();
var maxSatisfying = require_max_satisfying();
var minSatisfying = require_min_satisfying();
var minVersion = require_min_version();
var validRange = require_valid2();
var outside = require_outside();
var gtr = require_gtr();
var ltr = require_ltr();
var intersects = require_intersects();
var simplifyRange = require_simplify();
var subset = require_subset();
module.exports = {
parse: parse8,
valid,
clean,
inc,
diff,
major,
minor,
patch,
prerelease,
compare,
rcompare,
compareLoose,
compareBuild,
sort,
rsort,
gt,
lt,
eq: eq2,
neq,
gte,
lte,
cmp,
coerce,
Comparator,
Range,
satisfies,
toComparators,
maxSatisfying,
minSatisfying,
minVersion,
validRange,
outside,
gtr,
ltr,
intersects,
simplifyRange,
subset,
SemVer,
re: internalRe.re,
src: internalRe.src,
tokens: internalRe.t,
SEMVER_SPEC_VERSION: constants4.SEMVER_SPEC_VERSION,
RELEASE_TYPES: constants4.RELEASE_TYPES,
compareIdentifiers: identifiers.compareIdentifiers,
rcompareIdentifiers: identifiers.rcompareIdentifiers
};
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/asymmetricKeyDetailsSupported.js
var require_asymmetricKeyDetailsSupported = __commonJS((exports, module) => {
var semver = require_semver2();
module.exports = semver.satisfies(process.version, ">=15.7.0");
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/rsaPssKeyDetailsSupported.js
var require_rsaPssKeyDetailsSupported = __commonJS((exports, module) => {
var semver = require_semver2();
module.exports = semver.satisfies(process.version, ">=16.9.0");
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/validateAsymmetricKey.js
var require_validateAsymmetricKey = __commonJS((exports, module) => {
var ASYMMETRIC_KEY_DETAILS_SUPPORTED = require_asymmetricKeyDetailsSupported();
var RSA_PSS_KEY_DETAILS_SUPPORTED = require_rsaPssKeyDetailsSupported();
var allowedAlgorithmsForKeys = {
ec: ["ES256", "ES384", "ES512"],
rsa: ["RS256", "PS256", "RS384", "PS384", "RS512", "PS512"],
"rsa-pss": ["PS256", "PS384", "PS512"]
};
var allowedCurves = {
ES256: "prime256v1",
ES384: "secp384r1",
ES512: "secp521r1"
};
module.exports = function(algorithm, key) {
if (!algorithm || !key)
return;
const keyType = key.asymmetricKeyType;
if (!keyType)
return;
const allowedAlgorithms = allowedAlgorithmsForKeys[keyType];
if (!allowedAlgorithms) {
throw new Error(`Unknown key type "${keyType}".`);
}
if (!allowedAlgorithms.includes(algorithm)) {
throw new Error(`"alg" parameter for "${keyType}" key type must be one of: ${allowedAlgorithms.join(", ")}.`);
}
if (ASYMMETRIC_KEY_DETAILS_SUPPORTED) {
switch (keyType) {
case "ec":
const keyCurve = key.asymmetricKeyDetails.namedCurve;
const allowedCurve = allowedCurves[algorithm];
if (keyCurve !== allowedCurve) {
throw new Error(`"alg" parameter "${algorithm}" requires curve "${allowedCurve}".`);
}
break;
case "rsa-pss":
if (RSA_PSS_KEY_DETAILS_SUPPORTED) {
const length = parseInt(algorithm.slice(-3), 10);
const { hashAlgorithm, mgf1HashAlgorithm, saltLength } = key.asymmetricKeyDetails;
if (hashAlgorithm !== `sha${length}` || mgf1HashAlgorithm !== hashAlgorithm) {
throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${algorithm}.`);
}
if (saltLength !== undefined && saltLength > length >> 3) {
throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${algorithm}.`);
}
}
break;
}
}
};
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/lib/psSupported.js
var require_psSupported = __commonJS((exports, module) => {
var semver = require_semver2();
module.exports = semver.satisfies(process.version, "^6.12.0 || >=8.0.0");
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/verify.js
var require_verify = __commonJS((exports, module) => {
var JsonWebTokenError = require_JsonWebTokenError();
var NotBeforeError = require_NotBeforeError();
var TokenExpiredError = require_TokenExpiredError();
var decode3 = require_decode();
var timespan = require_timespan();
var validateAsymmetricKey = require_validateAsymmetricKey();
var PS_SUPPORTED = require_psSupported();
var jws = require_jws();
var { KeyObject, createSecretKey, createPublicKey } = __require("crypto");
var PUB_KEY_ALGS = ["RS256", "RS384", "RS512"];
var EC_KEY_ALGS = ["ES256", "ES384", "ES512"];
var RSA_KEY_ALGS = ["RS256", "RS384", "RS512"];
var HS_ALGS = ["HS256", "HS384", "HS512"];
if (PS_SUPPORTED) {
PUB_KEY_ALGS.splice(PUB_KEY_ALGS.length, 0, "PS256", "PS384", "PS512");
RSA_KEY_ALGS.splice(RSA_KEY_ALGS.length, 0, "PS256", "PS384", "PS512");
}
module.exports = function(jwtString, secretOrPublicKey, options, callback) {
if (typeof options === "function" && !callback) {
callback = options;
options = {};
}
if (!options) {
options = {};
}
options = Object.assign({}, options);
let done;
if (callback) {
done = callback;
} else {
done = function(err, data) {
if (err)
throw err;
return data;
};
}
if (options.clockTimestamp && typeof options.clockTimestamp !== "number") {
return done(new JsonWebTokenError("clockTimestamp must be a number"));
}
if (options.nonce !== undefined && (typeof options.nonce !== "string" || options.nonce.trim() === "")) {
return done(new JsonWebTokenError("nonce must be a non-empty string"));
}
if (options.allowInvalidAsymmetricKeyTypes !== undefined && typeof options.allowInvalidAsymmetricKeyTypes !== "boolean") {
return done(new JsonWebTokenError("allowInvalidAsymmetricKeyTypes must be a boolean"));
}
const clockTimestamp = options.clockTimestamp || Math.floor(Date.now() / 1000);
if (!jwtString) {
return done(new JsonWebTokenError("jwt must be provided"));
}
if (typeof jwtString !== "string") {
return done(new JsonWebTokenError("jwt must be a string"));
}
const parts = jwtString.split(".");
if (parts.length !== 3) {
return done(new JsonWebTokenError("jwt malformed"));
}
let decodedToken;
try {
decodedToken = decode3(jwtString, { complete: true });
} catch (err) {
return done(err);
}
if (!decodedToken) {
return done(new JsonWebTokenError("invalid token"));
}
const header = decodedToken.header;
let getSecret;
if (typeof secretOrPublicKey === "function") {
if (!callback) {
return done(new JsonWebTokenError("verify must be called asynchronous if secret or public key is provided as a callback"));
}
getSecret = secretOrPublicKey;
} else {
getSecret = function(header2, secretCallback) {
return secretCallback(null, secretOrPublicKey);
};
}
return getSecret(header, function(err, secretOrPublicKey2) {
if (err) {
return done(new JsonWebTokenError("error in secret or public key callback: " + err.message));
}
const hasSignature = parts[2].trim() !== "";
if (!hasSignature && secretOrPublicKey2) {
return done(new JsonWebTokenError("jwt signature is required"));
}
if (hasSignature && !secretOrPublicKey2) {
return done(new JsonWebTokenError("secret or public key must be provided"));
}
if (!hasSignature && !options.algorithms) {
return done(new JsonWebTokenError('please specify "none" in "algorithms" to verify unsigned tokens'));
}
if (secretOrPublicKey2 != null && !(secretOrPublicKey2 instanceof KeyObject)) {
try {
secretOrPublicKey2 = createPublicKey(secretOrPublicKey2);
} catch (_2) {
try {
secretOrPublicKey2 = createSecretKey(typeof secretOrPublicKey2 === "string" ? Buffer.from(secretOrPublicKey2) : secretOrPublicKey2);
} catch (_3) {
return done(new JsonWebTokenError("secretOrPublicKey is not valid key material"));
}
}
}
if (!options.algorithms) {
if (secretOrPublicKey2.type === "secret") {
options.algorithms = HS_ALGS;
} else if (["rsa", "rsa-pss"].includes(secretOrPublicKey2.asymmetricKeyType)) {
options.algorithms = RSA_KEY_ALGS;
} else if (secretOrPublicKey2.asymmetricKeyType === "ec") {
options.algorithms = EC_KEY_ALGS;
} else {
options.algorithms = PUB_KEY_ALGS;
}
}
if (options.algorithms.indexOf(decodedToken.header.alg) === -1) {
return done(new JsonWebTokenError("invalid algorithm"));
}
if (header.alg.startsWith("HS") && secretOrPublicKey2.type !== "secret") {
return done(new JsonWebTokenError(`secretOrPublicKey must be a symmetric key when using ${header.alg}`));
} else if (/^(?:RS|PS|ES)/.test(header.alg) && secretOrPublicKey2.type !== "public") {
return done(new JsonWebTokenError(`secretOrPublicKey must be an asymmetric key when using ${header.alg}`));
}
if (!options.allowInvalidAsymmetricKeyTypes) {
try {
validateAsymmetricKey(header.alg, secretOrPublicKey2);
} catch (e) {
return done(e);
}
}
let valid;
try {
valid = jws.verify(jwtString, decodedToken.header.alg, secretOrPublicKey2);
} catch (e) {
return done(e);
}
if (!valid) {
return done(new JsonWebTokenError("invalid signature"));
}
const payload = decodedToken.payload;
if (typeof payload.nbf !== "undefined" && !options.ignoreNotBefore) {
if (typeof payload.nbf !== "number") {
return done(new JsonWebTokenError("invalid nbf value"));
}
if (payload.nbf > clockTimestamp + (options.clockTolerance || 0)) {
return done(new NotBeforeError("jwt not active", new Date(payload.nbf * 1000)));
}
}
if (typeof payload.exp !== "undefined" && !options.ignoreExpiration) {
if (typeof payload.exp !== "number") {
return done(new JsonWebTokenError("invalid exp value"));
}
if (clockTimestamp >= payload.exp + (options.clockTolerance || 0)) {
return done(new TokenExpiredError("jwt expired", new Date(payload.exp * 1000)));
}
}
if (options.audience) {
const audiences = Array.isArray(options.audience) ? options.audience : [options.audience];
const target = Array.isArray(payload.aud) ? payload.aud : [payload.aud];
const match = target.some(function(targetAudience) {
return audiences.some(function(audience) {
return audience instanceof RegExp ? audience.test(targetAudience) : audience === targetAudience;
});
});
if (!match) {
return done(new JsonWebTokenError("jwt audience invalid. expected: " + audiences.join(" or ")));
}
}
if (options.issuer) {
const invalid_issuer = typeof options.issuer === "string" && payload.iss !== options.issuer || Array.isArray(options.issuer) && options.issuer.indexOf(payload.iss) === -1;
if (invalid_issuer) {
return done(new JsonWebTokenError("jwt issuer invalid. expected: " + options.issuer));
}
}
if (options.subject) {
if (payload.sub !== options.subject) {
return done(new JsonWebTokenError("jwt subject invalid. expected: " + options.subject));
}
}
if (options.jwtid) {
if (payload.jti !== options.jwtid) {
return done(new JsonWebTokenError("jwt jwtid invalid. expected: " + options.jwtid));
}
}
if (options.nonce) {
if (payload.nonce !== options.nonce) {
return done(new JsonWebTokenError("jwt nonce invalid. expected: " + options.nonce));
}
}
if (options.maxAge) {
if (typeof payload.iat !== "number") {
return done(new JsonWebTokenError("iat required when maxAge is specified"));
}
const maxAgeTimestamp = timespan(options.maxAge, payload.iat);
if (typeof maxAgeTimestamp === "undefined") {
return done(new JsonWebTokenError('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
}
if (clockTimestamp >= maxAgeTimestamp + (options.clockTolerance || 0)) {
return done(new TokenExpiredError("maxAge exceeded", new Date(maxAgeTimestamp * 1000)));
}
}
if (options.complete === true) {
const signature = decodedToken.signature;
return done(null, {
header,
payload,
signature
});
}
return done(null, payload);
});
};
});
// node_modules/.pnpm/lodash.includes@4.3.0/node_modules/lodash.includes/index.js
var require_lodash = __commonJS((exports, module) => {
var INFINITY4 = 1 / 0;
var MAX_SAFE_INTEGER3 = 9007199254740991;
var MAX_INTEGER = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
var NAN = 0 / 0;
var argsTag5 = "[object Arguments]";
var funcTag4 = "[object Function]";
var genTag3 = "[object GeneratorFunction]";
var stringTag5 = "[object String]";
var symbolTag5 = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var reIsUint2 = /^(?:0|[1-9]\d*)$/;
var freeParseInt = parseInt;
function arrayMap2(array2, iteratee) {
var index = -1, length = array2 ? array2.length : 0, result = Array(length);
while (++index < length) {
result[index] = iteratee(array2[index], index, array2);
}
return result;
}
function baseFindIndex2(array2, predicate, fromIndex, fromRight) {
var length = array2.length, index = fromIndex + (fromRight ? 1 : -1);
while (fromRight ? index-- : ++index < length) {
if (predicate(array2[index], index, array2)) {
return index;
}
}
return -1;
}
function baseIndexOf2(array2, value, fromIndex) {
if (value !== value) {
return baseFindIndex2(array2, baseIsNaN2, fromIndex);
}
var index = fromIndex - 1, length = array2.length;
while (++index < length) {
if (array2[index] === value) {
return index;
}
}
return -1;
}
function baseIsNaN2(value) {
return value !== value;
}
function baseTimes2(n2, iteratee) {
var index = -1, result = Array(n2);
while (++index < n2) {
result[index] = iteratee(index);
}
return result;
}
function baseValues(object2, props) {
return arrayMap2(props, function(key) {
return object2[key];
});
}
function overArg2(func, transform2) {
return function(arg) {
return func(transform2(arg));
};
}
var objectProto17 = Object.prototype;
var hasOwnProperty15 = objectProto17.hasOwnProperty;
var objectToString4 = objectProto17.toString;
var propertyIsEnumerable3 = objectProto17.propertyIsEnumerable;
var nativeKeys2 = overArg2(Object.keys, Object);
var nativeMax2 = Math.max;
function arrayLikeKeys2(value, inherited) {
var result = isArray6(value) || isArguments2(value) ? baseTimes2(value.length, String) : [];
var length = result.length, skipIndexes = !!length;
for (var key in value) {
if ((inherited || hasOwnProperty15.call(value, key)) && !(skipIndexes && (key == "length" || isIndex2(key, length)))) {
result.push(key);
}
}
return result;
}
function baseKeys2(object2) {
if (!isPrototype2(object2)) {
return nativeKeys2(object2);
}
var result = [];
for (var key in Object(object2)) {
if (hasOwnProperty15.call(object2, key) && key != "constructor") {
result.push(key);
}
}
return result;
}
function isIndex2(value, length) {
length = length == null ? MAX_SAFE_INTEGER3 : length;
return !!length && (typeof value == "number" || reIsUint2.test(value)) && (value > -1 && value % 1 == 0 && value < length);
}
function isPrototype2(value) {
var Ctor = value && value.constructor, proto2 = typeof Ctor == "function" && Ctor.prototype || objectProto17;
return value === proto2;
}
function includes(collection, value, fromIndex, guard) {
collection = isArrayLike2(collection) ? collection : values2(collection);
fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
var length = collection.length;
if (fromIndex < 0) {
fromIndex = nativeMax2(length + fromIndex, 0);
}
return isString2(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf2(collection, value, fromIndex) > -1;
}
function isArguments2(value) {
return isArrayLikeObject2(value) && hasOwnProperty15.call(value, "callee") && (!propertyIsEnumerable3.call(value, "callee") || objectToString4.call(value) == argsTag5);
}
var isArray6 = Array.isArray;
function isArrayLike2(value) {
return value != null && isLength2(value.length) && !isFunction4(value);
}
function isArrayLikeObject2(value) {
return isObjectLike2(value) && isArrayLike2(value);
}
function isFunction4(value) {
var tag = isObject5(value) ? objectToString4.call(value) : "";
return tag == funcTag4 || tag == genTag3;
}
function isLength2(value) {
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER3;
}
function isObject5(value) {
var type = typeof value;
return !!value && (type == "object" || type == "function");
}
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isString2(value) {
return typeof value == "string" || !isArray6(value) && isObjectLike2(value) && objectToString4.call(value) == stringTag5;
}
function isSymbol2(value) {
return typeof value == "symbol" || isObjectLike2(value) && objectToString4.call(value) == symbolTag5;
}
function toFinite(value) {
if (!value) {
return value === 0 ? value : 0;
}
value = toNumber(value);
if (value === INFINITY4 || value === -INFINITY4) {
var sign = value < 0 ? -1 : 1;
return sign * MAX_INTEGER;
}
return value === value ? value : 0;
}
function toInteger(value) {
var result = toFinite(value), remainder = result % 1;
return result === result ? remainder ? result - remainder : result : 0;
}
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol2(value)) {
return NAN;
}
if (isObject5(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject5(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
function keys2(object2) {
return isArrayLike2(object2) ? arrayLikeKeys2(object2) : baseKeys2(object2);
}
function values2(object2) {
return object2 ? baseValues(object2, keys2(object2)) : [];
}
module.exports = includes;
});
// node_modules/.pnpm/lodash.isboolean@3.0.3/node_modules/lodash.isboolean/index.js
var require_lodash2 = __commonJS((exports, module) => {
var boolTag5 = "[object Boolean]";
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
function isBoolean2(value) {
return value === true || value === false || isObjectLike2(value) && objectToString4.call(value) == boolTag5;
}
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
module.exports = isBoolean2;
});
// node_modules/.pnpm/lodash.isinteger@4.0.4/node_modules/lodash.isinteger/index.js
var require_lodash3 = __commonJS((exports, module) => {
var INFINITY4 = 1 / 0;
var MAX_INTEGER = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
var NAN = 0 / 0;
var symbolTag5 = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
function isInteger(value) {
return typeof value == "number" && value == toInteger(value);
}
function isObject5(value) {
var type = typeof value;
return !!value && (type == "object" || type == "function");
}
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isSymbol2(value) {
return typeof value == "symbol" || isObjectLike2(value) && objectToString4.call(value) == symbolTag5;
}
function toFinite(value) {
if (!value) {
return value === 0 ? value : 0;
}
value = toNumber(value);
if (value === INFINITY4 || value === -INFINITY4) {
var sign = value < 0 ? -1 : 1;
return sign * MAX_INTEGER;
}
return value === value ? value : 0;
}
function toInteger(value) {
var result = toFinite(value), remainder = result % 1;
return result === result ? remainder ? result - remainder : result : 0;
}
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol2(value)) {
return NAN;
}
if (isObject5(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject5(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
module.exports = isInteger;
});
// node_modules/.pnpm/lodash.isnumber@3.0.3/node_modules/lodash.isnumber/index.js
var require_lodash4 = __commonJS((exports, module) => {
var numberTag5 = "[object Number]";
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isNumber2(value) {
return typeof value == "number" || isObjectLike2(value) && objectToString4.call(value) == numberTag5;
}
module.exports = isNumber2;
});
// node_modules/.pnpm/lodash.isplainobject@4.0.6/node_modules/lodash.isplainobject/index.js
var require_lodash5 = __commonJS((exports, module) => {
var objectTag6 = "[object Object]";
function isHostObject(value) {
var result = false;
if (value != null && typeof value.toString != "function") {
try {
result = !!(value + "");
} catch (e) {}
}
return result;
}
function overArg2(func, transform2) {
return function(arg) {
return func(transform2(arg));
};
}
var funcProto4 = Function.prototype;
var objectProto17 = Object.prototype;
var funcToString4 = funcProto4.toString;
var hasOwnProperty15 = objectProto17.hasOwnProperty;
var objectCtorString2 = funcToString4.call(Object);
var objectToString4 = objectProto17.toString;
var getPrototype2 = overArg2(Object.getPrototypeOf, Object);
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isPlainObject5(value) {
if (!isObjectLike2(value) || objectToString4.call(value) != objectTag6 || isHostObject(value)) {
return false;
}
var proto2 = getPrototype2(value);
if (proto2 === null) {
return true;
}
var Ctor = hasOwnProperty15.call(proto2, "constructor") && proto2.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString4.call(Ctor) == objectCtorString2;
}
module.exports = isPlainObject5;
});
// node_modules/.pnpm/lodash.isstring@4.0.1/node_modules/lodash.isstring/index.js
var require_lodash6 = __commonJS((exports, module) => {
var stringTag5 = "[object String]";
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
var isArray6 = Array.isArray;
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isString2(value) {
return typeof value == "string" || !isArray6(value) && isObjectLike2(value) && objectToString4.call(value) == stringTag5;
}
module.exports = isString2;
});
// node_modules/.pnpm/lodash.once@4.1.1/node_modules/lodash.once/index.js
var require_lodash7 = __commonJS((exports, module) => {
var FUNC_ERROR_TEXT2 = "Expected a function";
var INFINITY4 = 1 / 0;
var MAX_INTEGER = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
var NAN = 0 / 0;
var symbolTag5 = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
function before(n2, func) {
var result;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT2);
}
n2 = toInteger(n2);
return function() {
if (--n2 > 0) {
result = func.apply(this, arguments);
}
if (n2 <= 1) {
func = undefined;
}
return result;
};
}
function once9(func) {
return before(2, func);
}
function isObject5(value) {
var type = typeof value;
return !!value && (type == "object" || type == "function");
}
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isSymbol2(value) {
return typeof value == "symbol" || isObjectLike2(value) && objectToString4.call(value) == symbolTag5;
}
function toFinite(value) {
if (!value) {
return value === 0 ? value : 0;
}
value = toNumber(value);
if (value === INFINITY4 || value === -INFINITY4) {
var sign = value < 0 ? -1 : 1;
return sign * MAX_INTEGER;
}
return value === value ? value : 0;
}
function toInteger(value) {
var result = toFinite(value), remainder = result % 1;
return result === result ? remainder ? result - remainder : result : 0;
}
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol2(value)) {
return NAN;
}
if (isObject5(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject5(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
module.exports = once9;
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/sign.js
var require_sign2 = __commonJS((exports, module) => {
var timespan = require_timespan();
var PS_SUPPORTED = require_psSupported();
var validateAsymmetricKey = require_validateAsymmetricKey();
var jws = require_jws();
var includes = require_lodash();
var isBoolean2 = require_lodash2();
var isInteger = require_lodash3();
var isNumber2 = require_lodash4();
var isPlainObject5 = require_lodash5();
var isString2 = require_lodash6();
var once9 = require_lodash7();
var { KeyObject, createSecretKey, createPrivateKey } = __require("crypto");
var SUPPORTED_ALGS = ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "none"];
if (PS_SUPPORTED) {
SUPPORTED_ALGS.splice(3, 0, "PS256", "PS384", "PS512");
}
var sign_options_schema = {
expiresIn: { isValid: function(value) {
return isInteger(value) || isString2(value) && value;
}, message: '"expiresIn" should be a number of seconds or string representing a timespan' },
notBefore: { isValid: function(value) {
return isInteger(value) || isString2(value) && value;
}, message: '"notBefore" should be a number of seconds or string representing a timespan' },
audience: { isValid: function(value) {
return isString2(value) || Array.isArray(value);
}, message: '"audience" must be a string or array' },
algorithm: { isValid: includes.bind(null, SUPPORTED_ALGS), message: '"algorithm" must be a valid string enum value' },
header: { isValid: isPlainObject5, message: '"header" must be an object' },
encoding: { isValid: isString2, message: '"encoding" must be a string' },
issuer: { isValid: isString2, message: '"issuer" must be a string' },
subject: { isValid: isString2, message: '"subject" must be a string' },
jwtid: { isValid: isString2, message: '"jwtid" must be a string' },
noTimestamp: { isValid: isBoolean2, message: '"noTimestamp" must be a boolean' },
keyid: { isValid: isString2, message: '"keyid" must be a string' },
mutatePayload: { isValid: isBoolean2, message: '"mutatePayload" must be a boolean' },
allowInsecureKeySizes: { isValid: isBoolean2, message: '"allowInsecureKeySizes" must be a boolean' },
allowInvalidAsymmetricKeyTypes: { isValid: isBoolean2, message: '"allowInvalidAsymmetricKeyTypes" must be a boolean' }
};
var registered_claims_schema = {
iat: { isValid: isNumber2, message: '"iat" should be a number of seconds' },
exp: { isValid: isNumber2, message: '"exp" should be a number of seconds' },
nbf: { isValid: isNumber2, message: '"nbf" should be a number of seconds' }
};
function validate3(schema, allowUnknown, object2, parameterName) {
if (!isPlainObject5(object2)) {
throw new Error('Expected "' + parameterName + '" to be a plain object.');
}
Object.keys(object2).forEach(function(key) {
const validator = schema[key];
if (!validator) {
if (!allowUnknown) {
throw new Error('"' + key + '" is not allowed in "' + parameterName + '"');
}
return;
}
if (!validator.isValid(object2[key])) {
throw new Error(validator.message);
}
});
}
function validateOptions(options) {
return validate3(sign_options_schema, false, options, "options");
}
function validatePayload(payload) {
return validate3(registered_claims_schema, true, payload, "payload");
}
var options_to_payload = {
audience: "aud",
issuer: "iss",
subject: "sub",
jwtid: "jti"
};
var options_for_objects = [
"expiresIn",
"notBefore",
"noTimestamp",
"audience",
"issuer",
"subject",
"jwtid"
];
module.exports = function(payload, secretOrPrivateKey, options, callback) {
if (typeof options === "function") {
callback = options;
options = {};
} else {
options = options || {};
}
const isObjectPayload = typeof payload === "object" && !Buffer.isBuffer(payload);
const header = Object.assign({
alg: options.algorithm || "HS256",
typ: isObjectPayload ? "JWT" : undefined,
kid: options.keyid
}, options.header);
function failure(err) {
if (callback) {
return callback(err);
}
throw err;
}
if (!secretOrPrivateKey && options.algorithm !== "none") {
return failure(new Error("secretOrPrivateKey must have a value"));
}
if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) {
try {
secretOrPrivateKey = createPrivateKey(secretOrPrivateKey);
} catch (_2) {
try {
secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === "string" ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey);
} catch (_3) {
return failure(new Error("secretOrPrivateKey is not valid key material"));
}
}
}
if (header.alg.startsWith("HS") && secretOrPrivateKey.type !== "secret") {
return failure(new Error(`secretOrPrivateKey must be a symmetric key when using ${header.alg}`));
} else if (/^(?:RS|PS|ES)/.test(header.alg)) {
if (secretOrPrivateKey.type !== "private") {
return failure(new Error(`secretOrPrivateKey must be an asymmetric key when using ${header.alg}`));
}
if (!options.allowInsecureKeySizes && !header.alg.startsWith("ES") && secretOrPrivateKey.asymmetricKeyDetails !== undefined && secretOrPrivateKey.asymmetricKeyDetails.modulusLength < 2048) {
return failure(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`));
}
}
if (typeof payload === "undefined") {
return failure(new Error("payload is required"));
} else if (isObjectPayload) {
try {
validatePayload(payload);
} catch (error51) {
return failure(error51);
}
if (!options.mutatePayload) {
payload = Object.assign({}, payload);
}
} else {
const invalid_options = options_for_objects.filter(function(opt) {
return typeof options[opt] !== "undefined";
});
if (invalid_options.length > 0) {
return failure(new Error("invalid " + invalid_options.join(",") + " option for " + typeof payload + " payload"));
}
}
if (typeof payload.exp !== "undefined" && typeof options.expiresIn !== "undefined") {
return failure(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));
}
if (typeof payload.nbf !== "undefined" && typeof options.notBefore !== "undefined") {
return failure(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));
}
try {
validateOptions(options);
} catch (error51) {
return failure(error51);
}
if (!options.allowInvalidAsymmetricKeyTypes) {
try {
validateAsymmetricKey(header.alg, secretOrPrivateKey);
} catch (error51) {
return failure(error51);
}
}
const timestamp = payload.iat || Math.floor(Date.now() / 1000);
if (options.noTimestamp) {
delete payload.iat;
} else if (isObjectPayload) {
payload.iat = timestamp;
}
if (typeof options.notBefore !== "undefined") {
try {
payload.nbf = timespan(options.notBefore, timestamp);
} catch (err) {
return failure(err);
}
if (typeof payload.nbf === "undefined") {
return failure(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
}
}
if (typeof options.expiresIn !== "undefined" && typeof payload === "object") {
try {
payload.exp = timespan(options.expiresIn, timestamp);
} catch (err) {
return failure(err);
}
if (typeof payload.exp === "undefined") {
return failure(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));
}
}
Object.keys(options_to_payload).forEach(function(key) {
const claim = options_to_payload[key];
if (typeof options[key] !== "undefined") {
if (typeof payload[claim] !== "undefined") {
return failure(new Error('Bad "options.' + key + '" option. The payload already has an "' + claim + '" property.'));
}
payload[claim] = options[key];
}
});
const encoding = options.encoding || "utf8";
if (typeof callback === "function") {
callback = callback && once9(callback);
jws.createSign({
header,
privateKey: secretOrPrivateKey,
payload,
encoding
}).once("error", callback).once("done", function(signature) {
if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) {
return callback(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`));
}
callback(null, signature);
});
} else {
let signature = jws.sign({ header, payload, secret: secretOrPrivateKey, encoding });
if (!options.allowInsecureKeySizes && /^(?:RS|PS)/.test(header.alg) && signature.length < 256) {
throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${header.alg}`);
}
return signature;
}
};
});
// node_modules/.pnpm/jsonwebtoken@9.0.3/node_modules/jsonwebtoken/index.js
var require_jsonwebtoken = __commonJS((exports, module) => {
module.exports = {
decode: require_decode(),
verify: require_verify(),
sign: require_sign2(),
JsonWebTokenError: require_JsonWebTokenError(),
NotBeforeError: require_NotBeforeError(),
TokenExpiredError: require_TokenExpiredError()
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/error/ClientAuthErrorCodes.mjs
var missingTenantIdError = "missing_tenant_id_error", userTimeoutReached = "user_timeout_reached", invalidAssertion = "invalid_assertion", invalidClientCredential = "invalid_client_credential", deviceCodePollingCancelled = "device_code_polling_cancelled", deviceCodeExpired = "device_code_expired", deviceCodeUnknownError = "device_code_unknown_error";
var init_ClientAuthErrorCodes2 = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ClientAssertion.mjs
class ClientAssertion {
static fromAssertion(assertion) {
const clientAssertion = new ClientAssertion;
clientAssertion.jwt = assertion;
return clientAssertion;
}
static fromCertificate(thumbprint, privateKey, publicCertificate) {
const clientAssertion = new ClientAssertion;
clientAssertion.privateKey = privateKey;
clientAssertion.thumbprint = thumbprint;
clientAssertion.useSha256 = false;
if (publicCertificate) {
clientAssertion.publicCertificate = this.parseCertificate(publicCertificate);
}
return clientAssertion;
}
static fromCertificateWithSha256Thumbprint(thumbprint, privateKey, publicCertificate) {
const clientAssertion = new ClientAssertion;
clientAssertion.privateKey = privateKey;
clientAssertion.thumbprint = thumbprint;
clientAssertion.useSha256 = true;
if (publicCertificate) {
clientAssertion.publicCertificate = this.parseCertificate(publicCertificate);
}
return clientAssertion;
}
getJwt(cryptoProvider, issuer, jwtAudience) {
if (this.privateKey && this.thumbprint) {
if (this.jwt && !this.isExpired() && issuer === this.issuer && jwtAudience === this.jwtAudience) {
return this.jwt;
}
return this.createJwt(cryptoProvider, issuer, jwtAudience);
}
if (this.jwt) {
return this.jwt;
}
throw createClientAuthError(invalidAssertion);
}
createJwt(cryptoProvider, issuer, jwtAudience) {
this.issuer = issuer;
this.jwtAudience = jwtAudience;
const issuedAt = exports_TimeUtils.nowSeconds();
this.expirationTime = issuedAt + 600;
const algorithm = this.useSha256 ? JwtConstants.PSS_256 : JwtConstants.RSA_256;
const header = {
alg: algorithm
};
const thumbprintHeader = this.useSha256 ? JwtConstants.X5T_256 : JwtConstants.X5T;
Object.assign(header, {
[thumbprintHeader]: EncodingUtils.base64EncodeUrl(this.thumbprint, exports_Constants.EncodingTypes.HEX)
});
if (this.publicCertificate) {
Object.assign(header, {
[JwtConstants.X5C]: this.publicCertificate
});
}
const payload = {
[JwtConstants.AUDIENCE]: this.jwtAudience,
[JwtConstants.EXPIRATION_TIME]: this.expirationTime,
[JwtConstants.ISSUER]: this.issuer,
[JwtConstants.SUBJECT]: this.issuer,
[JwtConstants.NOT_BEFORE]: issuedAt,
[JwtConstants.JWT_ID]: cryptoProvider.createNewGuid()
};
this.jwt = import_jsonwebtoken.default.sign(payload, this.privateKey, { header });
return this.jwt;
}
isExpired() {
return this.expirationTime < exports_TimeUtils.nowSeconds();
}
static parseCertificate(publicCertificate) {
const regexToFindCerts = /-----BEGIN CERTIFICATE-----\r*\n(.+?)\r*\n-----END CERTIFICATE-----/gs;
const certs = [];
let matches;
while ((matches = regexToFindCerts.exec(publicCertificate)) !== null) {
certs.push(matches[1].replace(/\r*\n/g, ""));
}
return certs;
}
}
var import_jsonwebtoken;
var init_ClientAssertion = __esm(() => {
init_index_node();
init_EncodingUtils();
init_Constants2();
init_ClientAuthErrorCodes2();
import_jsonwebtoken = __toESM(require_jsonwebtoken(), 1);
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/packageMetadata.mjs
var name2 = "@azure/msal-node", version5 = "5.1.1";
var init_packageMetadata2 = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/BaseClient.mjs
class BaseClient {
constructor(configuration) {
this.config = buildClientConfiguration(configuration);
this.logger = new Logger(this.config.loggerOptions, name2, version5);
this.cryptoUtils = this.config.cryptoInterface;
this.cacheManager = this.config.storageInterface;
this.networkClient = this.config.networkInterface;
this.serverTelemetryManager = this.config.serverTelemetryManager;
this.authority = this.config.authOptions.authority;
this.performanceClient = new StubPerformanceClient;
}
createTokenRequestHeaders(ccsCred) {
return exports_Token.createTokenRequestHeaders(this.logger, false, ccsCred);
}
async executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId) {
return exports_Token.executePostToTokenEndpoint(tokenEndpoint, queryString, headers, thumbprint, correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient, this.serverTelemetryManager);
}
async sendPostRequest(thumbprint, tokenEndpoint, options, correlationId) {
return exports_Token.sendPostRequest(thumbprint, tokenEndpoint, options, correlationId, this.cacheManager, this.networkClient, this.logger, this.performanceClient);
}
createTokenQueryParameters(request) {
return exports_Token.createTokenQueryParameters(request, this.config.authOptions.clientId, this.config.authOptions.redirectUri, this.performanceClient);
}
}
var init_BaseClient = __esm(() => {
init_index_node();
init_packageMetadata2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/UsernamePasswordClient.mjs
var UsernamePasswordClient;
var init_UsernamePasswordClient = __esm(() => {
init_index_node();
init_Constants2();
init_BaseClient();
/*! @azure/msal-node v5.1.1 2026-03-18 */
UsernamePasswordClient = class UsernamePasswordClient extends BaseClient {
constructor(configuration) {
super(configuration);
}
async acquireToken(request) {
this.logger.info("in acquireToken call in username-password client", request.correlationId);
const reqTimestamp = exports_TimeUtils.nowSeconds();
const response = await this.executeTokenRequest(this.authority, request);
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(response.body, request.correlationId);
const tokenResponse = responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, ApiId.acquireTokenByUsernamePassword);
return tokenResponse;
}
async executeTokenRequest(authority, request) {
const queryParametersString = this.createTokenQueryParameters(request);
const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
const requestBody = await this.createTokenRequestBody(request);
const headers = this.createTokenRequestHeaders({
credential: request.username,
type: CcsCredentialType.UPN
});
const thumbprint = {
clientId: this.config.authOptions.clientId,
authority: authority.canonicalAuthority,
scopes: request.scopes,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid
};
return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint, request.correlationId);
}
async createTokenRequestBody(request) {
const parameters = new Map;
exports_RequestParameterBuilder.addClientId(parameters, this.config.authOptions.clientId);
exports_RequestParameterBuilder.addUsername(parameters, request.username);
exports_RequestParameterBuilder.addPassword(parameters, request.password);
exports_RequestParameterBuilder.addScopes(parameters, request.scopes);
exports_RequestParameterBuilder.addResponseType(parameters, exports_Constants.OAuthResponseType.IDTOKEN_TOKEN);
exports_RequestParameterBuilder.addGrantType(parameters, exports_Constants.GrantType.RESOURCE_OWNER_PASSWORD_GRANT);
exports_RequestParameterBuilder.addClientInfo(parameters);
exports_RequestParameterBuilder.addLibraryInfo(parameters, this.config.libraryInfo);
exports_RequestParameterBuilder.addApplicationTelemetry(parameters, this.config.telemetry.application);
exports_RequestParameterBuilder.addThrottling(parameters);
if (this.serverTelemetryManager) {
exports_RequestParameterBuilder.addServerTelemetry(parameters, this.serverTelemetryManager);
}
const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();
exports_RequestParameterBuilder.addCorrelationId(parameters, correlationId);
if (this.config.clientCredentials.clientSecret) {
exports_RequestParameterBuilder.addClientSecret(parameters, this.config.clientCredentials.clientSecret);
}
const clientAssertion = this.config.clientCredentials.clientAssertion;
if (clientAssertion) {
exports_RequestParameterBuilder.addClientAssertion(parameters, await getClientAssertion(clientAssertion.assertion, this.config.authOptions.clientId, request.resourceRequestUri));
exports_RequestParameterBuilder.addClientAssertionType(parameters, clientAssertion.assertionType);
}
if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
exports_RequestParameterBuilder.addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
if (this.config.systemOptions.preventCorsPreflight && request.username) {
exports_RequestParameterBuilder.addCcsUpn(parameters, request.username);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/protocol/Authorize.mjs
function getAuthCodeRequestUrl(config2, authority, request, logger3) {
const parameters = exports_Authorize.getStandardAuthorizeRequestParameters({
...config2.auth,
authority,
redirectUri: request.redirectUri || ""
}, request, logger3);
exports_RequestParameterBuilder.addLibraryInfo(parameters, {
sku: Constants.MSAL_SKU,
version: version5,
cpu: process.arch || "",
os: process.platform || ""
});
if (config2.system.protocolMode !== ProtocolMode.OIDC) {
exports_RequestParameterBuilder.addApplicationTelemetry(parameters, config2.telemetry.application);
}
exports_RequestParameterBuilder.addResponseType(parameters, exports_Constants.OAuthResponseType.CODE);
if (request.codeChallenge && request.codeChallengeMethod) {
exports_RequestParameterBuilder.addCodeChallengeParams(parameters, request.codeChallenge, request.codeChallengeMethod);
}
exports_RequestParameterBuilder.addExtraParameters(parameters, request.extraQueryParameters || {});
return exports_Authorize.getAuthorizeUrl(authority, parameters);
}
var init_Authorize2 = __esm(() => {
init_index_node();
init_Constants2();
init_packageMetadata2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ClientApplication.mjs
class ClientApplication {
constructor(configuration) {
this.config = buildAppConfiguration(configuration);
this.cryptoProvider = new CryptoProvider;
this.logger = new Logger(this.config.system.loggerOptions, name2, version5);
this.storage = new NodeStorage(this.logger, this.config.auth.clientId, this.cryptoProvider, buildStaticAuthorityOptions(this.config.auth));
this.tokenCache = new TokenCache(this.storage, this.logger, this.config.cache.cachePlugin);
}
async getAuthCodeUrl(request) {
this.logger.info("getAuthCodeUrl called", request.correlationId || "");
const validRequest = {
...request,
...await this.initializeBaseRequest(request),
responseMode: request.responseMode || exports_Constants.ResponseMode.QUERY,
authenticationScheme: exports_Constants.AuthenticationScheme.BEARER,
state: request.state || "",
nonce: request.nonce || ""
};
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
return getAuthCodeRequestUrl(this.config, discoveredAuthority, validRequest, this.logger);
}
async acquireTokenByCode(request, authCodePayLoad) {
this.logger.info("acquireTokenByCode called", request.correlationId || "");
if (request.state && authCodePayLoad) {
this.logger.info("acquireTokenByCode - validating state", request.correlationId || "");
this.validateState(request.state, authCodePayLoad.state || "");
authCodePayLoad = { ...authCodePayLoad, state: "" };
}
const validRequest = {
...request,
...await this.initializeBaseRequest(request),
authenticationScheme: exports_Constants.AuthenticationScheme.BEARER
};
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenByCode, validRequest.correlationId);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const authClientConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, validRequest.redirectUri, serverTelemetryManager);
const authorizationCodeClient = new AuthorizationCodeClient(authClientConfig, new StubPerformanceClient);
this.logger.verbose("Auth code client created", validRequest.correlationId);
return await authorizationCodeClient.acquireToken(validRequest, ApiId.acquireTokenByCode, authCodePayLoad);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(e);
throw e;
}
}
async acquireTokenByRefreshToken(request) {
this.logger.info("acquireTokenByRefreshToken called", request.correlationId || "");
const validRequest = {
...request,
...await this.initializeBaseRequest(request),
authenticationScheme: exports_Constants.AuthenticationScheme.BEARER
};
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenByRefreshToken, validRequest.correlationId);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const refreshTokenClientConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, validRequest.redirectUri || "", serverTelemetryManager);
const refreshTokenClient = new RefreshTokenClient(refreshTokenClientConfig, new StubPerformanceClient);
this.logger.verbose("Refresh token client created", validRequest.correlationId);
return await refreshTokenClient.acquireToken(validRequest, ApiId.acquireTokenByRefreshToken);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(e);
throw e;
}
}
async acquireTokenSilent(request) {
const validRequest = {
...request,
...await this.initializeBaseRequest(request),
forceRefresh: request.forceRefresh || false
};
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent, validRequest.correlationId, validRequest.forceRefresh);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const clientConfiguration = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, validRequest.redirectUri || "", serverTelemetryManager);
const silentFlowClient = new SilentFlowClient(clientConfiguration, new StubPerformanceClient);
this.logger.verbose("Silent flow client created", validRequest.correlationId);
try {
await this.tokenCache.overwriteCache();
return await this.acquireCachedTokenSilent(validRequest, silentFlowClient, clientConfiguration);
} catch (error51) {
if (error51 instanceof ClientAuthError && error51.errorCode === exports_ClientAuthErrorCodes.tokenRefreshRequired) {
const refreshTokenClient = new RefreshTokenClient(clientConfiguration, new StubPerformanceClient);
return refreshTokenClient.acquireTokenByRefreshToken(validRequest, ApiId.acquireTokenSilent);
}
throw error51;
}
} catch (error51) {
if (error51 instanceof AuthError) {
error51.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(error51);
throw error51;
}
}
async acquireCachedTokenSilent(validRequest, silentFlowClient, clientConfiguration) {
const [authResponse, cacheOutcome] = await silentFlowClient.acquireCachedToken({
...validRequest,
scopes: validRequest.scopes?.length ? validRequest.scopes : [...exports_Constants.OIDC_DEFAULT_SCOPES]
});
if (cacheOutcome === exports_Constants.CacheOutcome.PROACTIVELY_REFRESHED) {
this.logger.info("ClientApplication:acquireCachedTokenSilent - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed.", validRequest.correlationId);
const refreshTokenClient = new RefreshTokenClient(clientConfiguration, new StubPerformanceClient);
try {
await refreshTokenClient.acquireTokenByRefreshToken(validRequest, ApiId.acquireTokenSilent);
} catch {}
}
return authResponse;
}
async acquireTokenByUsernamePassword(request) {
this.logger.info("acquireTokenByUsernamePassword called", request.correlationId || "");
const validRequest = {
...request,
...await this.initializeBaseRequest(request)
};
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenByUsernamePassword, validRequest.correlationId);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const usernamePasswordClientConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, "", serverTelemetryManager);
const usernamePasswordClient = new UsernamePasswordClient(usernamePasswordClientConfig);
this.logger.verbose("Username password client created", validRequest.correlationId);
return await usernamePasswordClient.acquireToken(validRequest);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(e);
throw e;
}
}
getTokenCache() {
this.logger.info("getTokenCache called", "");
return this.tokenCache;
}
validateState(state2, cachedState) {
if (!state2) {
throw NodeAuthError.createStateNotFoundError();
}
if (state2 !== cachedState) {
throw createClientAuthError(exports_ClientAuthErrorCodes.stateMismatch);
}
}
getLogger() {
return this.logger;
}
setLogger(logger3) {
this.logger = logger3;
}
async buildOauthClientConfiguration(discoveredAuthority, requestCorrelationId, redirectUri, serverTelemetryManager) {
this.logger.verbose("buildOauthClientConfiguration called", requestCorrelationId);
this.logger.info(`Building oauth client configuration with the following authority: ${discoveredAuthority.tokenEndpoint}.`, requestCorrelationId);
serverTelemetryManager?.updateRegionDiscoveryMetadata(discoveredAuthority.regionDiscoveryMetadata);
const clientConfiguration = {
authOptions: {
clientId: this.config.auth.clientId,
authority: discoveredAuthority,
clientCapabilities: this.config.auth.clientCapabilities,
redirectUri,
isMcp: this.config.auth.isMcp
},
loggerOptions: {
logLevel: this.config.system.loggerOptions.logLevel,
loggerCallback: this.config.system.loggerOptions.loggerCallback,
piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,
correlationId: requestCorrelationId
},
cryptoInterface: this.cryptoProvider,
networkInterface: this.config.system.networkClient,
storageInterface: this.storage,
serverTelemetryManager,
clientCredentials: {
clientSecret: this.clientSecret,
clientAssertion: await this.getClientAssertion(discoveredAuthority)
},
libraryInfo: {
sku: Constants.MSAL_SKU,
version: version5,
cpu: process.arch || "",
os: process.platform || ""
},
telemetry: this.config.telemetry,
persistencePlugin: this.config.cache.cachePlugin,
serializableCache: this.tokenCache
};
return clientConfiguration;
}
async getClientAssertion(authority) {
if (this.developerProvidedClientAssertion) {
this.clientAssertion = ClientAssertion.fromAssertion(await getClientAssertion(this.developerProvidedClientAssertion, this.config.auth.clientId, authority.tokenEndpoint));
}
return this.clientAssertion && {
assertion: this.clientAssertion.getJwt(this.cryptoProvider, this.config.auth.clientId, authority.tokenEndpoint),
assertionType: Constants.JWT_BEARER_ASSERTION_TYPE
};
}
async initializeBaseRequest(authRequest) {
const correlationId = authRequest.correlationId || this.cryptoProvider.createNewGuid();
this.logger.verbose("initializeRequestScopes called", correlationId);
if (authRequest.authenticationScheme && authRequest.authenticationScheme === exports_Constants.AuthenticationScheme.POP) {
this.logger.verbose("Authentication Scheme 'pop' is not supported yet, setting Authentication Scheme to 'Bearer' for request", correlationId);
}
authRequest.authenticationScheme = exports_Constants.AuthenticationScheme.BEARER;
return {
...authRequest,
scopes: [
...authRequest && authRequest.scopes || [],
...exports_Constants.OIDC_DEFAULT_SCOPES
],
correlationId,
authority: authRequest.authority || this.config.auth.authority
};
}
initializeServerTelemetryManager(apiId, correlationId, forceRefresh) {
const telemetryPayload = {
clientId: this.config.auth.clientId,
correlationId,
apiId,
forceRefresh: forceRefresh || false
};
return new ServerTelemetryManager(telemetryPayload, this.storage);
}
async createAuthority(authorityString, requestCorrelationId, azureRegionConfiguration, azureCloudOptions) {
this.logger.verbose("createAuthority called", requestCorrelationId);
const authorityUrl = Authority.generateAuthority(authorityString, azureCloudOptions || this.config.auth.azureCloudOptions);
const authorityOptions = {
protocolMode: this.config.system.protocolMode,
knownAuthorities: this.config.auth.knownAuthorities,
cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
authorityMetadata: this.config.auth.authorityMetadata,
azureRegionConfiguration
};
return exports_AuthorityFactory.createDiscoveredInstance(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions, this.logger, requestCorrelationId, new StubPerformanceClient);
}
clearCache() {
this.storage.clear();
}
}
var init_ClientApplication = __esm(() => {
init_index_node();
init_Configuration();
init_CryptoProvider();
init_NodeStorage();
init_Constants2();
init_TokenCache();
init_ClientAssertion();
init_packageMetadata2();
init_NodeAuthError();
init_UsernamePasswordClient();
init_Authorize2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/network/LoopbackClient.mjs
import http5 from "http";
class LoopbackClient {
async listenForAuthCode(successTemplate, errorTemplate) {
if (this.server) {
throw NodeAuthError.createLoopbackServerAlreadyExistsError();
}
return new Promise((resolve9, reject) => {
this.server = http5.createServer((req, res) => {
const url3 = req.url;
if (!url3) {
res.end(errorTemplate || "Error occurred loading redirectUrl");
reject(NodeAuthError.createUnableToLoadRedirectUrlError());
return;
} else if (url3 === exports_Constants.FORWARD_SLASH) {
res.end(successTemplate || "Auth code was successfully acquired. You can close this window now.");
return;
}
const redirectUri = this.getRedirectUri();
const parsedUrl = new URL(url3, redirectUri);
const authCodeResponse = exports_UrlUtils.getDeserializedResponse(parsedUrl.search) || {};
if (authCodeResponse.code) {
res.writeHead(exports_Constants.HTTP_REDIRECT, {
location: redirectUri
});
res.end();
}
if (authCodeResponse.error) {
res.end(errorTemplate || `Error occurred: ${authCodeResponse.error}`);
}
resolve9(authCodeResponse);
});
this.server.listen(0, "127.0.0.1");
});
}
getRedirectUri() {
if (!this.server || !this.server.listening) {
throw NodeAuthError.createNoLoopbackServerExistsError();
}
const address = this.server.address();
if (!address || typeof address === "string" || !address.port) {
this.closeServer();
throw NodeAuthError.createInvalidLoopbackAddressTypeError();
}
const port = address && address.port;
return `${Constants.HTTP_PROTOCOL}${Constants.LOCALHOST}:${port}`;
}
closeServer() {
if (this.server) {
this.server.close();
if (typeof this.server.closeAllConnections === "function") {
this.server.closeAllConnections();
}
this.server.unref();
this.server = undefined;
}
}
}
var init_LoopbackClient = __esm(() => {
init_index_node();
init_NodeAuthError();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/DeviceCodeClient.mjs
var DeviceCodeClient;
var init_DeviceCodeClient = __esm(() => {
init_index_node();
init_Constants2();
init_ClientAuthErrorCodes2();
init_BaseClient();
/*! @azure/msal-node v5.1.1 2026-03-18 */
DeviceCodeClient = class DeviceCodeClient extends BaseClient {
constructor(configuration) {
super(configuration);
}
async acquireToken(request) {
const deviceCodeResponse = await this.getDeviceCode(request);
request.deviceCodeCallback(deviceCodeResponse);
const reqTimestamp = exports_TimeUtils.nowSeconds();
const response = await this.acquireTokenWithDeviceCode(request, deviceCodeResponse);
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(response, request.correlationId);
return responseHandler.handleServerTokenResponse(response, this.authority, reqTimestamp, request, ApiId.acquireTokenByDeviceCode);
}
async getDeviceCode(request) {
const queryParametersString = this.createExtraQueryParameters(request);
const endpoint = UrlString.appendQueryString(this.authority.deviceCodeEndpoint, queryParametersString);
const queryString = this.createQueryString(request);
const headers = this.createTokenRequestHeaders();
const thumbprint = {
clientId: this.config.authOptions.clientId,
authority: request.authority,
scopes: request.scopes,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid
};
return this.executePostRequestToDeviceCodeEndpoint(endpoint, queryString, headers, thumbprint, request.correlationId);
}
createExtraQueryParameters(request) {
const parameters = new Map;
if (request.extraQueryParameters) {
exports_RequestParameterBuilder.addExtraParameters(parameters, request.extraQueryParameters);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
async executePostRequestToDeviceCodeEndpoint(deviceCodeEndpoint, queryString, headers, thumbprint, correlationId) {
const { body: { user_code: userCode, device_code: deviceCode, verification_uri: verificationUri, expires_in: expiresIn, interval, message } } = await this.sendPostRequest(thumbprint, deviceCodeEndpoint, {
body: queryString,
headers
}, correlationId);
return {
userCode,
deviceCode,
verificationUri,
expiresIn,
interval,
message
};
}
createQueryString(request) {
const parameters = new Map;
exports_RequestParameterBuilder.addScopes(parameters, request.scopes);
exports_RequestParameterBuilder.addClientId(parameters, this.config.authOptions.clientId);
if (request.extraQueryParameters) {
exports_RequestParameterBuilder.addExtraParameters(parameters, request.extraQueryParameters);
}
if (request.claims || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
exports_RequestParameterBuilder.addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
continuePolling(deviceCodeExpirationTime, userSpecifiedTimeout, userSpecifiedCancelFlag) {
if (userSpecifiedCancelFlag) {
this.logger.error("Token request cancelled by setting DeviceCodeRequest.cancel = true", "");
throw createClientAuthError(deviceCodePollingCancelled);
} else if (userSpecifiedTimeout && userSpecifiedTimeout < deviceCodeExpirationTime && exports_TimeUtils.nowSeconds() > userSpecifiedTimeout) {
this.logger.error(`User defined timeout for device code polling reached. The timeout was set for ${userSpecifiedTimeout}`, "");
throw createClientAuthError(userTimeoutReached);
} else if (exports_TimeUtils.nowSeconds() > deviceCodeExpirationTime) {
if (userSpecifiedTimeout) {
this.logger.verbose(`User specified timeout ignored as the device code has expired before the timeout elapsed. The user specified timeout was set for ${userSpecifiedTimeout}`, "");
}
this.logger.error(`Device code expired. Expiration time of device code was ${deviceCodeExpirationTime}`, "");
throw createClientAuthError(deviceCodeExpired);
}
return true;
}
async acquireTokenWithDeviceCode(request, deviceCodeResponse) {
const queryParametersString = this.createTokenQueryParameters(request);
const endpoint = UrlString.appendQueryString(this.authority.tokenEndpoint, queryParametersString);
const requestBody = this.createTokenRequestBody(request, deviceCodeResponse);
const headers = this.createTokenRequestHeaders();
const userSpecifiedTimeout = request.timeout ? exports_TimeUtils.nowSeconds() + request.timeout : undefined;
const deviceCodeExpirationTime = exports_TimeUtils.nowSeconds() + deviceCodeResponse.expiresIn;
const pollingIntervalMilli = deviceCodeResponse.interval * 1000;
while (this.continuePolling(deviceCodeExpirationTime, userSpecifiedTimeout, request.cancel)) {
const thumbprint = {
clientId: this.config.authOptions.clientId,
authority: request.authority,
scopes: request.scopes,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid
};
const response = await this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint, request.correlationId);
if (response.body && response.body.error) {
if (response.body.error === exports_Constants.AUTHORIZATION_PENDING) {
this.logger.info("Authorization pending. Continue polling.", request.correlationId);
await exports_TimeUtils.delay(pollingIntervalMilli);
} else {
this.logger.info("Unexpected error in polling from the server", request.correlationId);
throw createAuthError(exports_AuthErrorCodes.postRequestFailed, response.body.error);
}
} else {
this.logger.verbose("Authorization completed successfully. Polling stopped.", request.correlationId);
return response.body;
}
}
this.logger.error("Polling stopped for unknown reasons.", request.correlationId);
throw createClientAuthError(deviceCodeUnknownError);
}
createTokenRequestBody(request, deviceCodeResponse) {
const parameters = new Map;
exports_RequestParameterBuilder.addScopes(parameters, request.scopes);
exports_RequestParameterBuilder.addClientId(parameters, this.config.authOptions.clientId);
exports_RequestParameterBuilder.addGrantType(parameters, exports_Constants.GrantType.DEVICE_CODE_GRANT);
exports_RequestParameterBuilder.addDeviceCode(parameters, deviceCodeResponse.deviceCode);
const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();
exports_RequestParameterBuilder.addCorrelationId(parameters, correlationId);
exports_RequestParameterBuilder.addClientInfo(parameters);
exports_RequestParameterBuilder.addLibraryInfo(parameters, this.config.libraryInfo);
exports_RequestParameterBuilder.addApplicationTelemetry(parameters, this.config.telemetry.application);
exports_RequestParameterBuilder.addThrottling(parameters);
if (this.serverTelemetryManager) {
exports_RequestParameterBuilder.addServerTelemetry(parameters, this.serverTelemetryManager);
}
if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
exports_RequestParameterBuilder.addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/PublicClientApplication.mjs
var PublicClientApplication;
var init_PublicClientApplication = __esm(() => {
init_Constants2();
init_index_node();
init_ClientApplication();
init_NodeAuthError();
init_LoopbackClient();
init_DeviceCodeClient();
init_packageMetadata2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
PublicClientApplication = class PublicClientApplication extends ClientApplication {
constructor(configuration) {
super(configuration);
if (this.config.broker.nativeBrokerPlugin) {
if (this.config.broker.nativeBrokerPlugin.isBrokerAvailable) {
this.nativeBrokerPlugin = this.config.broker.nativeBrokerPlugin;
this.nativeBrokerPlugin.setLogger(this.config.system.loggerOptions);
} else {
this.logger.warning("NativeBroker implementation was provided but the broker is unavailable.", "");
}
}
this.skus = ServerTelemetryManager.makeExtraSkuString({
libraryName: Constants.MSAL_SKU,
libraryVersion: version5
});
}
async acquireTokenByDeviceCode(request) {
this.logger.info("acquireTokenByDeviceCode called", request.correlationId || "");
enforceResourceParameter(this.config.auth.isMcp, request);
const validRequest = Object.assign(request, await this.initializeBaseRequest(request));
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenByDeviceCode, validRequest.correlationId);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const deviceCodeConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, "", serverTelemetryManager);
const deviceCodeClient = new DeviceCodeClient(deviceCodeConfig);
this.logger.verbose("Device code client created", validRequest.correlationId);
return await deviceCodeClient.acquireToken(validRequest);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(e);
throw e;
}
}
async acquireTokenInteractive(request) {
const correlationId = request.correlationId || this.cryptoProvider.createNewGuid();
this.logger.trace("acquireTokenInteractive called", correlationId);
enforceResourceParameter(this.config.auth.isMcp, request);
const { openBrowser, successTemplate, errorTemplate, windowHandle, loopbackClient: customLoopbackClient, ...remainingProperties } = request;
if (this.nativeBrokerPlugin) {
const brokerRequest = {
...remainingProperties,
clientId: this.config.auth.clientId,
scopes: request.scopes || exports_Constants.OIDC_DEFAULT_SCOPES,
redirectUri: request.redirectUri || "",
authority: request.authority || this.config.auth.authority,
correlationId,
extraParameters: {
...remainingProperties.extraQueryParameters,
...remainingProperties.extraParameters,
[exports_AADServerParamKeys.X_CLIENT_EXTRA_SKU]: this.skus
},
accountId: remainingProperties.account?.nativeAccountId
};
return this.nativeBrokerPlugin.acquireTokenInteractive(brokerRequest, windowHandle);
}
if (request.redirectUri) {
if (!this.config.broker.nativeBrokerPlugin) {
throw NodeAuthError.createRedirectUriNotSupportedError();
}
request.redirectUri = "";
}
const { verifier, challenge } = await this.cryptoProvider.generatePkceCodes();
const loopbackClient = customLoopbackClient || new LoopbackClient;
let authCodeResponse = {};
let authCodeListenerError = null;
try {
const authCodeListener = loopbackClient.listenForAuthCode(successTemplate, errorTemplate).then((response) => {
authCodeResponse = response;
}).catch((e) => {
authCodeListenerError = e;
});
const redirectUri = await this.waitForRedirectUri(loopbackClient);
const validRequest = {
...remainingProperties,
correlationId,
scopes: request.scopes || exports_Constants.OIDC_DEFAULT_SCOPES,
redirectUri,
responseMode: exports_Constants.ResponseMode.QUERY,
codeChallenge: challenge,
codeChallengeMethod: exports_Constants.CodeChallengeMethodValues.S256
};
const authCodeUrl = await this.getAuthCodeUrl(validRequest);
await openBrowser(authCodeUrl);
await authCodeListener;
if (authCodeListenerError) {
throw authCodeListenerError;
}
if (authCodeResponse.error) {
throw new ServerError(authCodeResponse.error, authCodeResponse.error_description, authCodeResponse.suberror);
} else if (!authCodeResponse.code) {
throw NodeAuthError.createNoAuthCodeInResponseError();
}
const clientInfo = authCodeResponse.client_info;
const tokenRequest = {
code: authCodeResponse.code,
codeVerifier: verifier,
clientInfo: clientInfo || "",
...validRequest
};
return await this.acquireTokenByCode(tokenRequest);
} finally {
loopbackClient.closeServer();
}
}
async acquireTokenSilent(request) {
const correlationId = request.correlationId || this.cryptoProvider.createNewGuid();
this.logger.trace("acquireTokenSilent called", correlationId);
enforceResourceParameter(this.config.auth.isMcp, request);
if (this.nativeBrokerPlugin) {
const brokerRequest = {
...request,
clientId: this.config.auth.clientId,
scopes: request.scopes || exports_Constants.OIDC_DEFAULT_SCOPES,
redirectUri: request.redirectUri || "",
authority: request.authority || this.config.auth.authority,
correlationId,
extraParameters: {
...request.extraQueryParameters,
...request.extraParameters,
[exports_AADServerParamKeys.X_CLIENT_EXTRA_SKU]: this.skus
},
accountId: request.account.nativeAccountId,
forceRefresh: request.forceRefresh || false
};
return this.nativeBrokerPlugin.acquireTokenSilent(brokerRequest);
}
if (request.redirectUri) {
if (!this.config.broker.nativeBrokerPlugin) {
throw NodeAuthError.createRedirectUriNotSupportedError();
}
request.redirectUri = "";
}
return super.acquireTokenSilent(request);
}
async acquireTokenByCode(request, authCodePayLoad) {
enforceResourceParameter(this.config.auth.isMcp, request);
return super.acquireTokenByCode(request, authCodePayLoad);
}
async acquireTokenByRefreshToken(request) {
enforceResourceParameter(this.config.auth.isMcp, request);
return super.acquireTokenByRefreshToken(request);
}
async signOut(request) {
if (this.nativeBrokerPlugin && request.account.nativeAccountId) {
const signoutRequest = {
clientId: this.config.auth.clientId,
accountId: request.account.nativeAccountId,
correlationId: request.correlationId || this.cryptoProvider.createNewGuid()
};
await this.nativeBrokerPlugin.signOut(signoutRequest);
}
await this.getTokenCache().removeAccount(request.account, request.correlationId);
}
async getAllAccounts() {
if (this.nativeBrokerPlugin) {
const correlationId = this.cryptoProvider.createNewGuid();
return this.nativeBrokerPlugin.getAllAccounts(this.config.auth.clientId, correlationId);
}
return this.getTokenCache().getAllAccounts();
}
async waitForRedirectUri(loopbackClient) {
return new Promise((resolve9, reject) => {
let ticks = 0;
const id = setInterval(() => {
if (LOOPBACK_SERVER_CONSTANTS.TIMEOUT_MS / LOOPBACK_SERVER_CONSTANTS.INTERVAL_MS < ticks) {
clearInterval(id);
reject(NodeAuthError.createLoopbackServerTimeoutError());
return;
}
try {
const r = loopbackClient.getRedirectUri();
clearInterval(id);
resolve9(r);
return;
} catch (e) {
if (e instanceof AuthError && e.errorCode === NodeAuthErrorMessage.noLoopbackServerExists.code) {
ticks++;
return;
}
clearInterval(id);
reject(e);
return;
}
}, LOOPBACK_SERVER_CONSTANTS.INTERVAL_MS);
});
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ClientCredentialClient.mjs
var ClientCredentialClient;
var init_ClientCredentialClient = __esm(() => {
init_index_node();
init_Constants2();
init_BaseClient();
/*! @azure/msal-node v5.1.1 2026-03-18 */
ClientCredentialClient = class ClientCredentialClient extends BaseClient {
constructor(configuration, appTokenProvider) {
super(configuration);
this.appTokenProvider = appTokenProvider;
}
async acquireToken(request) {
if (request.skipCache || request.claims) {
return this.executeTokenRequest(request, this.authority);
}
const [cachedAuthenticationResult, lastCacheOutcome] = await this.getCachedAuthenticationResult(request, this.config, this.cryptoUtils, this.authority, this.cacheManager, this.serverTelemetryManager);
if (cachedAuthenticationResult) {
if (lastCacheOutcome === exports_Constants.CacheOutcome.PROACTIVELY_REFRESHED) {
this.logger.info("ClientCredentialClient:getCachedAuthenticationResult - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed.", request.correlationId);
const refreshAccessToken = true;
await this.executeTokenRequest(request, this.authority, refreshAccessToken);
}
return cachedAuthenticationResult;
} else {
return this.executeTokenRequest(request, this.authority);
}
}
async getCachedAuthenticationResult(request, config2, cryptoUtils, authority, cacheManager, serverTelemetryManager) {
const clientConfiguration = config2;
const managedIdentityConfiguration = config2;
let lastCacheOutcome = exports_Constants.CacheOutcome.NOT_APPLICABLE;
let cacheContext;
if (clientConfiguration.serializableCache && clientConfiguration.persistencePlugin) {
cacheContext = new TokenCacheContext(clientConfiguration.serializableCache, false);
await clientConfiguration.persistencePlugin.beforeCacheAccess(cacheContext);
}
const cachedAccessToken = this.readAccessTokenFromCache(authority, managedIdentityConfiguration.managedIdentityId?.id || clientConfiguration.authOptions.clientId, new ScopeSet(request.scopes || []), cacheManager, request.correlationId);
if (clientConfiguration.serializableCache && clientConfiguration.persistencePlugin && cacheContext) {
await clientConfiguration.persistencePlugin.afterCacheAccess(cacheContext);
}
if (!cachedAccessToken) {
serverTelemetryManager?.setCacheOutcome(exports_Constants.CacheOutcome.NO_CACHED_ACCESS_TOKEN);
return [null, exports_Constants.CacheOutcome.NO_CACHED_ACCESS_TOKEN];
}
if (exports_TimeUtils.isTokenExpired(cachedAccessToken.expiresOn, clientConfiguration.systemOptions?.tokenRenewalOffsetSeconds || exports_Constants.DEFAULT_TOKEN_RENEWAL_OFFSET_SEC)) {
serverTelemetryManager?.setCacheOutcome(exports_Constants.CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED);
return [null, exports_Constants.CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED];
}
if (cachedAccessToken.refreshOn && exports_TimeUtils.isTokenExpired(cachedAccessToken.refreshOn.toString(), 0)) {
lastCacheOutcome = exports_Constants.CacheOutcome.PROACTIVELY_REFRESHED;
serverTelemetryManager?.setCacheOutcome(exports_Constants.CacheOutcome.PROACTIVELY_REFRESHED);
}
return [
await ResponseHandler.generateAuthenticationResult(cryptoUtils, authority, {
account: null,
idToken: null,
accessToken: cachedAccessToken,
refreshToken: null,
appMetadata: null
}, true, request, this.performanceClient),
lastCacheOutcome
];
}
readAccessTokenFromCache(authority, id, scopeSet, cacheManager, correlationId) {
const accessTokenFilter = {
homeAccountId: "",
environment: authority.canonicalAuthorityUrlComponents.HostNameAndPort,
credentialType: exports_Constants.CredentialType.ACCESS_TOKEN,
clientId: id,
realm: authority.tenant,
target: ScopeSet.createSearchScopes(scopeSet.asArray())
};
const accessTokens = cacheManager.getAccessTokensByFilter(accessTokenFilter, correlationId);
if (accessTokens.length < 1) {
return null;
} else if (accessTokens.length > 1) {
throw createClientAuthError(exports_ClientAuthErrorCodes.multipleMatchingTokens);
}
return accessTokens[0];
}
async executeTokenRequest(request, authority, refreshAccessToken) {
let serverTokenResponse;
let reqTimestamp;
if (this.appTokenProvider) {
this.logger.info("Using appTokenProvider extensibility.", request.correlationId);
const appTokenPropviderParameters = {
correlationId: request.correlationId,
tenantId: this.config.authOptions.authority.tenant,
scopes: request.scopes,
claims: request.claims
};
reqTimestamp = exports_TimeUtils.nowSeconds();
const appTokenProviderResult = await this.appTokenProvider(appTokenPropviderParameters);
serverTokenResponse = {
access_token: appTokenProviderResult.accessToken,
expires_in: appTokenProviderResult.expiresInSeconds,
refresh_in: appTokenProviderResult.refreshInSeconds,
token_type: exports_Constants.AuthenticationScheme.BEARER
};
} else {
const queryParametersString = this.createTokenQueryParameters(request);
const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
const requestBody = await this.createTokenRequestBody(request);
const headers = this.createTokenRequestHeaders();
const thumbprint = {
clientId: this.config.authOptions.clientId,
authority: request.authority,
scopes: request.scopes,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid
};
this.logger.info("Sending token request to endpoint: " + authority.tokenEndpoint, request.correlationId);
reqTimestamp = exports_TimeUtils.nowSeconds();
const response = await this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint, request.correlationId);
serverTokenResponse = response.body;
serverTokenResponse.status = response.status;
}
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(serverTokenResponse, request.correlationId, refreshAccessToken);
const tokenResponse = await responseHandler.handleServerTokenResponse(serverTokenResponse, this.authority, reqTimestamp, request, ApiId.acquireTokenByClientCredential);
return tokenResponse;
}
async createTokenRequestBody(request) {
const parameters = new Map;
exports_RequestParameterBuilder.addClientId(parameters, this.config.authOptions.clientId);
exports_RequestParameterBuilder.addScopes(parameters, request.scopes, false);
exports_RequestParameterBuilder.addGrantType(parameters, exports_Constants.GrantType.CLIENT_CREDENTIALS_GRANT);
exports_RequestParameterBuilder.addLibraryInfo(parameters, this.config.libraryInfo);
exports_RequestParameterBuilder.addApplicationTelemetry(parameters, this.config.telemetry.application);
exports_RequestParameterBuilder.addThrottling(parameters);
if (this.serverTelemetryManager) {
exports_RequestParameterBuilder.addServerTelemetry(parameters, this.serverTelemetryManager);
}
const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();
exports_RequestParameterBuilder.addCorrelationId(parameters, correlationId);
if (this.config.clientCredentials.clientSecret) {
exports_RequestParameterBuilder.addClientSecret(parameters, this.config.clientCredentials.clientSecret);
}
const clientAssertion = request.clientAssertion || this.config.clientCredentials.clientAssertion;
if (clientAssertion) {
exports_RequestParameterBuilder.addClientAssertion(parameters, await getClientAssertion(clientAssertion.assertion, this.config.authOptions.clientId, request.resourceRequestUri));
exports_RequestParameterBuilder.addClientAssertionType(parameters, clientAssertion.assertionType);
}
if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
exports_RequestParameterBuilder.addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/OnBehalfOfClient.mjs
var OnBehalfOfClient;
var init_OnBehalfOfClient = __esm(() => {
init_index_node();
init_Constants2();
init_EncodingUtils();
init_BaseClient();
/*! @azure/msal-node v5.1.1 2026-03-18 */
OnBehalfOfClient = class OnBehalfOfClient extends BaseClient {
constructor(configuration) {
super(configuration);
}
async acquireToken(request) {
this.scopeSet = new ScopeSet(request.scopes || []);
this.userAssertionHash = await this.cryptoUtils.hashString(request.oboAssertion);
if (request.skipCache || request.claims) {
return this.executeTokenRequest(request, this.authority, this.userAssertionHash);
}
try {
return await this.getCachedAuthenticationResult(request);
} catch (e) {
return await this.executeTokenRequest(request, this.authority, this.userAssertionHash);
}
}
async getCachedAuthenticationResult(request) {
const cachedAccessToken = this.readAccessTokenFromCacheForOBO(this.config.authOptions.clientId, request);
if (!cachedAccessToken) {
this.serverTelemetryManager?.setCacheOutcome(exports_Constants.CacheOutcome.NO_CACHED_ACCESS_TOKEN);
this.logger.info("SilentFlowClient:acquireCachedToken - No access token found in cache for the given properties.", request.correlationId);
throw createClientAuthError(exports_ClientAuthErrorCodes.tokenRefreshRequired);
} else if (exports_TimeUtils.isTokenExpired(cachedAccessToken.expiresOn, this.config.systemOptions.tokenRenewalOffsetSeconds)) {
this.serverTelemetryManager?.setCacheOutcome(exports_Constants.CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED);
this.logger.info(`OnbehalfofFlow:getCachedAuthenticationResult - Cached access token is expired or will expire within ${this.config.systemOptions.tokenRenewalOffsetSeconds} seconds.`, request.correlationId);
throw createClientAuthError(exports_ClientAuthErrorCodes.tokenRefreshRequired);
}
const cachedIdToken = this.readIdTokenFromCacheForOBO(cachedAccessToken.homeAccountId, request.correlationId);
let idTokenClaims;
let cachedAccount = null;
if (cachedIdToken) {
idTokenClaims = exports_AuthToken.extractTokenClaims(cachedIdToken.secret, EncodingUtils.base64Decode);
const localAccountId = idTokenClaims.oid || idTokenClaims.sub;
const accountInfo = {
homeAccountId: cachedIdToken.homeAccountId,
environment: cachedIdToken.environment,
tenantId: cachedIdToken.realm,
username: "",
localAccountId: localAccountId || ""
};
cachedAccount = this.cacheManager.getAccount(this.cacheManager.generateAccountKey(accountInfo), request.correlationId);
}
if (this.config.serverTelemetryManager) {
this.config.serverTelemetryManager.incrementCacheHits();
}
return ResponseHandler.generateAuthenticationResult(this.cryptoUtils, this.authority, {
account: cachedAccount,
accessToken: cachedAccessToken,
idToken: cachedIdToken,
refreshToken: null,
appMetadata: null
}, true, request, this.performanceClient, idTokenClaims);
}
readIdTokenFromCacheForOBO(atHomeAccountId, correlationId) {
const idTokenFilter = {
homeAccountId: atHomeAccountId,
environment: this.authority.canonicalAuthorityUrlComponents.HostNameAndPort,
credentialType: exports_Constants.CredentialType.ID_TOKEN,
clientId: this.config.authOptions.clientId,
realm: this.authority.tenant
};
const idTokenMap = this.cacheManager.getIdTokensByFilter(idTokenFilter, correlationId);
if (Object.values(idTokenMap).length < 1) {
return null;
}
return Object.values(idTokenMap)[0];
}
readAccessTokenFromCacheForOBO(clientId, request) {
const authScheme = request.authenticationScheme || exports_Constants.AuthenticationScheme.BEARER;
const credentialType = authScheme && authScheme.toLowerCase() !== exports_Constants.AuthenticationScheme.BEARER.toLowerCase() ? exports_Constants.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : exports_Constants.CredentialType.ACCESS_TOKEN;
const accessTokenFilter = {
credentialType,
clientId,
target: ScopeSet.createSearchScopes(this.scopeSet.asArray()),
tokenType: authScheme,
keyId: request.sshKid,
userAssertionHash: this.userAssertionHash
};
const accessTokens = this.cacheManager.getAccessTokensByFilter(accessTokenFilter, request.correlationId);
const numAccessTokens = accessTokens.length;
if (numAccessTokens < 1) {
return null;
} else if (numAccessTokens > 1) {
throw createClientAuthError(exports_ClientAuthErrorCodes.multipleMatchingTokens);
}
return accessTokens[0];
}
async executeTokenRequest(request, authority, userAssertionHash) {
const queryParametersString = this.createTokenQueryParameters(request);
const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParametersString);
const requestBody = await this.createTokenRequestBody(request);
const headers = this.createTokenRequestHeaders();
const thumbprint = {
clientId: this.config.authOptions.clientId,
authority: request.authority,
scopes: request.scopes,
claims: request.claims,
authenticationScheme: request.authenticationScheme,
resourceRequestMethod: request.resourceRequestMethod,
resourceRequestUri: request.resourceRequestUri,
shrClaims: request.shrClaims,
sshKid: request.sshKid
};
const reqTimestamp = exports_TimeUtils.nowSeconds();
const response = await this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint, request.correlationId);
const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.performanceClient, this.config.serializableCache, this.config.persistencePlugin);
responseHandler.validateTokenResponse(response.body, request.correlationId);
const tokenResponse = await responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, ApiId.acquireTokenByOBO, undefined, userAssertionHash);
return tokenResponse;
}
async createTokenRequestBody(request) {
const parameters = new Map;
exports_RequestParameterBuilder.addClientId(parameters, this.config.authOptions.clientId);
exports_RequestParameterBuilder.addScopes(parameters, request.scopes);
exports_RequestParameterBuilder.addGrantType(parameters, exports_Constants.GrantType.JWT_BEARER);
exports_RequestParameterBuilder.addClientInfo(parameters);
exports_RequestParameterBuilder.addLibraryInfo(parameters, this.config.libraryInfo);
exports_RequestParameterBuilder.addApplicationTelemetry(parameters, this.config.telemetry.application);
exports_RequestParameterBuilder.addThrottling(parameters);
if (this.serverTelemetryManager) {
exports_RequestParameterBuilder.addServerTelemetry(parameters, this.serverTelemetryManager);
}
const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();
exports_RequestParameterBuilder.addCorrelationId(parameters, correlationId);
exports_RequestParameterBuilder.addRequestTokenUse(parameters, exports_AADServerParamKeys.ON_BEHALF_OF);
exports_RequestParameterBuilder.addOboAssertion(parameters, request.oboAssertion);
if (this.config.clientCredentials.clientSecret) {
exports_RequestParameterBuilder.addClientSecret(parameters, this.config.clientCredentials.clientSecret);
}
const clientAssertion = this.config.clientCredentials.clientAssertion;
if (clientAssertion) {
exports_RequestParameterBuilder.addClientAssertion(parameters, await getClientAssertion(clientAssertion.assertion, this.config.authOptions.clientId, request.resourceRequestUri));
exports_RequestParameterBuilder.addClientAssertionType(parameters, clientAssertion.assertionType);
}
if (request.claims || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {
exports_RequestParameterBuilder.addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ConfidentialClientApplication.mjs
var ConfidentialClientApplication;
var init_ConfidentialClientApplication = __esm(() => {
init_ClientApplication();
init_ClientAssertion();
init_Constants2();
init_index_node();
init_ClientCredentialClient();
init_OnBehalfOfClient();
init_ClientAuthErrorCodes2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
ConfidentialClientApplication = class ConfidentialClientApplication extends ClientApplication {
constructor(configuration) {
super(configuration);
const clientSecretNotEmpty = !!this.config.auth.clientSecret;
const clientAssertionNotEmpty = !!this.config.auth.clientAssertion;
const certificateNotEmpty = (!!this.config.auth.clientCertificate?.thumbprint || !!this.config.auth.clientCertificate?.thumbprintSha256) && !!this.config.auth.clientCertificate?.privateKey;
if (this.appTokenProvider) {
return;
}
if (clientSecretNotEmpty && clientAssertionNotEmpty || clientAssertionNotEmpty && certificateNotEmpty || clientSecretNotEmpty && certificateNotEmpty) {
throw createClientAuthError(invalidClientCredential);
}
if (this.config.auth.clientSecret) {
this.clientSecret = this.config.auth.clientSecret;
return;
}
if (this.config.auth.clientAssertion) {
this.developerProvidedClientAssertion = this.config.auth.clientAssertion;
return;
}
if (!certificateNotEmpty) {
throw createClientAuthError(invalidClientCredential);
} else {
this.clientAssertion = this.config.auth.clientCertificate.thumbprintSha256 ? ClientAssertion.fromCertificateWithSha256Thumbprint(this.config.auth.clientCertificate.thumbprintSha256, this.config.auth.clientCertificate.privateKey, this.config.auth.clientCertificate.x5c) : ClientAssertion.fromCertificate(this.config.auth.clientCertificate.thumbprint, this.config.auth.clientCertificate.privateKey, this.config.auth.clientCertificate.x5c);
}
this.appTokenProvider = undefined;
}
SetAppTokenProvider(provider) {
this.appTokenProvider = provider;
}
async acquireTokenByClientCredential(request) {
this.logger.info("acquireTokenByClientCredential called", request.correlationId || "");
let clientAssertion;
if (request.clientAssertion) {
clientAssertion = {
assertion: await getClientAssertion(request.clientAssertion, this.config.auth.clientId),
assertionType: Constants.JWT_BEARER_ASSERTION_TYPE
};
}
const baseRequest = await this.initializeBaseRequest(request);
const validBaseRequest = {
...baseRequest,
scopes: baseRequest.scopes.filter((scope) => !exports_Constants.OIDC_DEFAULT_SCOPES.includes(scope))
};
const validRequest = {
...request,
...validBaseRequest,
clientAssertion
};
const authority = new UrlString(validRequest.authority);
const tenantId = authority.getUrlComponents().PathSegments[0];
if (Object.values(exports_Constants.AADAuthority).includes(tenantId)) {
throw createClientAuthError(missingTenantIdError);
}
const ENV_MSAL_FORCE_REGION = process.env[MSAL_FORCE_REGION];
let region;
if (validRequest.azureRegion !== "DisableMsalForceRegion") {
if (!validRequest.azureRegion && ENV_MSAL_FORCE_REGION) {
region = ENV_MSAL_FORCE_REGION;
} else {
region = validRequest.azureRegion;
}
}
const azureRegionConfiguration = {
azureRegion: region,
environmentRegion: process.env[REGION_ENVIRONMENT_VARIABLE]
};
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenByClientCredential, validRequest.correlationId, validRequest.skipCache);
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, azureRegionConfiguration, request.azureCloudOptions);
const clientCredentialConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, "", serverTelemetryManager);
const clientCredentialClient = new ClientCredentialClient(clientCredentialConfig, this.appTokenProvider);
this.logger.verbose("Client credential client created", validRequest.correlationId);
return await clientCredentialClient.acquireToken(validRequest);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
serverTelemetryManager.cacheFailedRequest(e);
throw e;
}
}
async acquireTokenOnBehalfOf(request) {
this.logger.info("acquireTokenOnBehalfOf called", request.correlationId || "");
const validRequest = {
...request,
...await this.initializeBaseRequest(request)
};
try {
const discoveredAuthority = await this.createAuthority(validRequest.authority, validRequest.correlationId, undefined, request.azureCloudOptions);
const onBehalfOfConfig = await this.buildOauthClientConfiguration(discoveredAuthority, validRequest.correlationId, "", undefined);
const oboClient = new OnBehalfOfClient(onBehalfOfConfig);
this.logger.verbose("On behalf of client created", validRequest.correlationId);
return await oboClient.acquireToken(validRequest);
} catch (e) {
if (e instanceof AuthError) {
e.setCorrelationId(validRequest.correlationId);
}
throw e;
}
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/utils/TimeUtils.mjs
function isIso8601(dateString) {
if (typeof dateString !== "string") {
return false;
}
const date5 = new Date(dateString);
return !isNaN(date5.getTime()) && date5.toISOString() === dateString;
}
var init_TimeUtils2 = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/network/HttpClientWithRetries.mjs
class HttpClientWithRetries {
constructor(httpClientNoRetries, retryPolicy, logger3) {
this.httpClientNoRetries = httpClientNoRetries;
this.retryPolicy = retryPolicy;
this.logger = logger3;
}
async sendNetworkRequestAsyncHelper(httpMethod, url3, options) {
if (httpMethod === HttpMethod2.GET) {
return this.httpClientNoRetries.sendGetRequestAsync(url3, options);
} else {
return this.httpClientNoRetries.sendPostRequestAsync(url3, options);
}
}
async sendNetworkRequestAsync(httpMethod, url3, options) {
let response = await this.sendNetworkRequestAsyncHelper(httpMethod, url3, options);
if ("isNewRequest" in this.retryPolicy) {
this.retryPolicy.isNewRequest = true;
}
let currentRetry = 0;
while (await this.retryPolicy.pauseForRetry(response.status, currentRetry, this.logger, response.headers[exports_Constants.HeaderNames.RETRY_AFTER])) {
response = await this.sendNetworkRequestAsyncHelper(httpMethod, url3, options);
currentRetry++;
}
return response;
}
async sendGetRequestAsync(url3, options) {
return this.sendNetworkRequestAsync(HttpMethod2.GET, url3, options);
}
async sendPostRequestAsync(url3, options) {
return this.sendNetworkRequestAsync(HttpMethod2.POST, url3, options);
}
}
var init_HttpClientWithRetries = __esm(() => {
init_index_node();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/BaseManagedIdentitySource.mjs
class BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) {
this.logger = logger3;
this.nodeStorage = nodeStorage;
this.networkClient = networkClient;
this.cryptoProvider = cryptoProvider;
this.disableInternalRetries = disableInternalRetries;
}
async getServerTokenResponseAsync(response, _networkClient, _networkRequest, _networkRequestOptions) {
return this.getServerTokenResponse(response);
}
getServerTokenResponse(response) {
let refreshIn, expiresIn;
if (response.body.expires_on) {
if (isIso8601(response.body.expires_on)) {
response.body.expires_on = new Date(response.body.expires_on).getTime() / 1000;
}
expiresIn = response.body.expires_on - exports_TimeUtils.nowSeconds();
if (expiresIn > 2 * 3600) {
refreshIn = expiresIn / 2;
}
}
const serverTokenResponse = {
status: response.status,
access_token: response.body.access_token,
expires_in: expiresIn,
scope: response.body.resource,
token_type: response.body.token_type,
refresh_in: refreshIn,
correlation_id: response.body.correlation_id || response.body.correlationId,
error: typeof response.body.error === "string" ? response.body.error : response.body.error?.code,
error_description: response.body.message || (typeof response.body.error === "string" ? response.body.error_description : response.body.error?.message),
error_codes: response.body.error_codes,
timestamp: response.body.timestamp,
trace_id: response.body.trace_id
};
return serverTokenResponse;
}
async acquireTokenWithManagedIdentity(managedIdentityRequest, managedIdentityId, fakeAuthority, refreshAccessToken) {
const networkRequest = this.createRequest(managedIdentityRequest.resource, managedIdentityId);
if (managedIdentityRequest.revokedTokenSha256Hash) {
this.logger.info(`[Managed Identity] The following claims are present in the request: ${managedIdentityRequest.claims}`, "");
networkRequest.queryParameters[ManagedIdentityQueryParameters.SHA256_TOKEN_TO_REFRESH] = managedIdentityRequest.revokedTokenSha256Hash;
}
if (managedIdentityRequest.clientCapabilities?.length) {
const clientCapabilities = managedIdentityRequest.clientCapabilities.toString();
this.logger.info(`[Managed Identity] The following client capabilities are present in the request: ${clientCapabilities}`, "");
networkRequest.queryParameters[ManagedIdentityQueryParameters.XMS_CC] = clientCapabilities;
}
const headers = networkRequest.headers;
headers[exports_Constants.HeaderNames.CONTENT_TYPE] = exports_Constants.URL_FORM_CONTENT_TYPE;
const networkRequestOptions = { headers };
if (Object.keys(networkRequest.bodyParameters).length) {
networkRequestOptions.body = networkRequest.computeParametersBodyString();
}
const networkClientHelper = this.disableInternalRetries ? this.networkClient : new HttpClientWithRetries(this.networkClient, networkRequest.retryPolicy, this.logger);
const reqTimestamp = exports_TimeUtils.nowSeconds();
let response;
try {
if (networkRequest.httpMethod === HttpMethod2.POST) {
response = await networkClientHelper.sendPostRequestAsync(networkRequest.computeUri(), networkRequestOptions);
} else {
response = await networkClientHelper.sendGetRequestAsync(networkRequest.computeUri(), networkRequestOptions);
}
} catch (error51) {
if (error51 instanceof AuthError) {
throw error51;
} else {
throw createClientAuthError(exports_ClientAuthErrorCodes.networkError);
}
}
const responseHandler = new ResponseHandler(managedIdentityId.id, this.nodeStorage, this.cryptoProvider, this.logger, new StubPerformanceClient, null, null);
const serverTokenResponse = await this.getServerTokenResponseAsync(response, networkClientHelper, networkRequest, networkRequestOptions);
responseHandler.validateTokenResponse(serverTokenResponse, serverTokenResponse.correlation_id || "", refreshAccessToken);
return responseHandler.handleServerTokenResponse(serverTokenResponse, fakeAuthority, reqTimestamp, managedIdentityRequest, ApiId.acquireTokenWithManagedIdentity);
}
getManagedIdentityUserAssignedIdQueryParameterKey(managedIdentityIdType, isImds, usesApi2017) {
switch (managedIdentityIdType) {
case ManagedIdentityIdType.USER_ASSIGNED_CLIENT_ID:
this.logger.info(`[Managed Identity] [API version ${usesApi2017 ? "2017+" : "2019+"}] Adding user assigned client id to the request.`, "");
return usesApi2017 ? ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_CLIENT_ID_2017 : ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_CLIENT_ID;
case ManagedIdentityIdType.USER_ASSIGNED_RESOURCE_ID:
this.logger.info("[Managed Identity] Adding user assigned resource id to the request.", "");
return isImds ? ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_RESOURCE_ID_IMDS : ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_RESOURCE_ID_NON_IMDS;
case ManagedIdentityIdType.USER_ASSIGNED_OBJECT_ID:
this.logger.info("[Managed Identity] Adding user assigned object id to the request.", "");
return ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_OBJECT_ID;
default:
throw createManagedIdentityError(invalidManagedIdentityIdType);
}
}
}
var ManagedIdentityUserAssignedIdQueryParameterNames;
var init_BaseManagedIdentitySource = __esm(() => {
init_index_node();
init_Constants2();
init_ManagedIdentityError();
init_TimeUtils2();
init_HttpClientWithRetries();
init_ManagedIdentityErrorCodes();
/*! @azure/msal-node v5.1.1 2026-03-18 */
ManagedIdentityUserAssignedIdQueryParameterNames = {
MANAGED_IDENTITY_CLIENT_ID_2017: "clientid",
MANAGED_IDENTITY_CLIENT_ID: "client_id",
MANAGED_IDENTITY_OBJECT_ID: "object_id",
MANAGED_IDENTITY_RESOURCE_ID_IMDS: "msi_res_id",
MANAGED_IDENTITY_RESOURCE_ID_NON_IMDS: "mi_res_id"
};
BaseManagedIdentitySource.getValidatedEnvVariableUrlString = (envVariableStringName, envVariable, sourceName, logger3) => {
try {
return new UrlString(envVariable).urlString;
} catch (error51) {
logger3.info(`[Managed Identity] ${sourceName} managed identity is unavailable because the '${envVariableStringName}' environment variable is malformed.`, "");
throw createManagedIdentityError(MsiEnvironmentVariableUrlMalformedErrorCodes[envVariableStringName]);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/retry/LinearRetryStrategy.mjs
class LinearRetryStrategy {
calculateDelay(retryHeader, minimumDelay) {
if (!retryHeader) {
return minimumDelay;
}
let millisToSleep = Math.round(parseFloat(retryHeader) * 1000);
if (isNaN(millisToSleep)) {
millisToSleep = new Date(retryHeader).valueOf() - new Date().valueOf();
}
return Math.max(minimumDelay, millisToSleep);
}
}
var init_LinearRetryStrategy = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/retry/DefaultManagedIdentityRetryPolicy.mjs
class DefaultManagedIdentityRetryPolicy {
constructor() {
this.linearRetryStrategy = new LinearRetryStrategy;
}
static get DEFAULT_MANAGED_IDENTITY_RETRY_DELAY_MS() {
return DEFAULT_MANAGED_IDENTITY_RETRY_DELAY_MS;
}
async pauseForRetry(httpStatusCode, currentRetry, logger3, retryAfterHeader) {
if (DEFAULT_MANAGED_IDENTITY_HTTP_STATUS_CODES_TO_RETRY_ON.includes(httpStatusCode) && currentRetry < DEFAULT_MANAGED_IDENTITY_MAX_RETRIES) {
const retryAfterDelay = this.linearRetryStrategy.calculateDelay(retryAfterHeader, DefaultManagedIdentityRetryPolicy.DEFAULT_MANAGED_IDENTITY_RETRY_DELAY_MS);
logger3.verbose(`Retrying request in ${retryAfterDelay}ms (retry attempt: ${currentRetry + 1})`, "");
await new Promise((resolve9) => {
return setTimeout(resolve9, retryAfterDelay);
});
return true;
}
return false;
}
}
var DEFAULT_MANAGED_IDENTITY_MAX_RETRIES = 3, DEFAULT_MANAGED_IDENTITY_RETRY_DELAY_MS = 1000, DEFAULT_MANAGED_IDENTITY_HTTP_STATUS_CODES_TO_RETRY_ON;
var init_DefaultManagedIdentityRetryPolicy = __esm(() => {
init_index_node();
init_LinearRetryStrategy();
/*! @azure/msal-node v5.1.1 2026-03-18 */
DEFAULT_MANAGED_IDENTITY_HTTP_STATUS_CODES_TO_RETRY_ON = [
exports_Constants.HTTP_NOT_FOUND,
exports_Constants.HTTP_REQUEST_TIMEOUT,
exports_Constants.HTTP_TOO_MANY_REQUESTS,
exports_Constants.HTTP_SERVER_ERROR,
exports_Constants.HTTP_SERVICE_UNAVAILABLE,
exports_Constants.HTTP_GATEWAY_TIMEOUT
];
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/config/ManagedIdentityRequestParameters.mjs
class ManagedIdentityRequestParameters {
constructor(httpMethod, endpoint, retryPolicy) {
this.httpMethod = httpMethod;
this._baseEndpoint = endpoint;
this.headers = {};
this.bodyParameters = {};
this.queryParameters = {};
this.retryPolicy = retryPolicy || new DefaultManagedIdentityRetryPolicy;
}
computeUri() {
const parameters = new Map;
if (this.queryParameters) {
exports_RequestParameterBuilder.addExtraParameters(parameters, this.queryParameters);
}
const queryParametersString = exports_UrlUtils.mapToQueryString(parameters);
return UrlString.appendQueryString(this._baseEndpoint, queryParametersString);
}
computeParametersBodyString() {
const parameters = new Map;
if (this.bodyParameters) {
exports_RequestParameterBuilder.addExtraParameters(parameters, this.bodyParameters);
}
return exports_UrlUtils.mapToQueryString(parameters);
}
}
var init_ManagedIdentityRequestParameters = __esm(() => {
init_index_node();
init_DefaultManagedIdentityRetryPolicy();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/AppService.mjs
var APP_SERVICE_MSI_API_VERSION = "2019-08-01", AppService;
var init_AppService = __esm(() => {
init_BaseManagedIdentitySource();
init_Constants2();
init_ManagedIdentityRequestParameters();
/*! @azure/msal-node v5.1.1 2026-03-18 */
AppService = class AppService extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint, identityHeader) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.identityEndpoint = identityEndpoint;
this.identityHeader = identityHeader;
}
static getEnvironmentVariables() {
const identityEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT];
const identityHeader = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_HEADER];
return [identityEndpoint, identityHeader];
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) {
const [identityEndpoint, identityHeader] = AppService.getEnvironmentVariables();
if (!identityEndpoint || !identityHeader) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.APP_SERVICE} managed identity is unavailable because one or both of the '${ManagedIdentityEnvironmentVariableNames.IDENTITY_HEADER}' and '${ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT}' environment variables are not defined.`, "");
return null;
}
const validatedIdentityEndpoint = AppService.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT, identityEndpoint, ManagedIdentitySourceNames.APP_SERVICE, logger3);
logger3.info(`[Managed Identity] Environment variables validation passed for ${ManagedIdentitySourceNames.APP_SERVICE} managed identity. Endpoint URI: ${validatedIdentityEndpoint}. Creating ${ManagedIdentitySourceNames.APP_SERVICE} managed identity.`, "");
return new AppService(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint, identityHeader);
}
createRequest(resource, managedIdentityId) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.GET, this.identityEndpoint);
request.headers[ManagedIdentityHeaders.APP_SERVICE_SECRET_HEADER_NAME] = this.identityHeader;
request.queryParameters[ManagedIdentityQueryParameters.API_VERSION] = APP_SERVICE_MSI_API_VERSION;
request.queryParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
request.queryParameters[this.getManagedIdentityUserAssignedIdQueryParameterKey(managedIdentityId.idType)] = managedIdentityId.id;
}
return request;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/AzureArc.mjs
import { accessSync, constants as constants4, statSync as statSync4, readFileSync as readFileSync6 } from "fs";
import path10 from "path";
var ARC_API_VERSION = "2019-11-01", DEFAULT_AZURE_ARC_IDENTITY_ENDPOINT = "http://127.0.0.1:40342/metadata/identity/oauth2/token", HIMDS_EXECUTABLE_HELPER_STRING = "N/A: himds executable exists", SUPPORTED_AZURE_ARC_PLATFORMS, AZURE_ARC_FILE_DETECTION, AzureArc;
var init_AzureArc = __esm(() => {
init_index_node();
init_ManagedIdentityRequestParameters();
init_BaseManagedIdentitySource();
init_ManagedIdentityError();
init_Constants2();
init_ManagedIdentityErrorCodes();
/*! @azure/msal-node v5.1.1 2026-03-18 */
SUPPORTED_AZURE_ARC_PLATFORMS = {
win32: `${process.env["ProgramData"]}\\AzureConnectedMachineAgent\\Tokens\\`,
linux: "/var/opt/azcmagent/tokens/"
};
AZURE_ARC_FILE_DETECTION = {
win32: `${process.env["ProgramFiles"]}\\AzureConnectedMachineAgent\\himds.exe`,
linux: "/opt/azcmagent/bin/himds"
};
AzureArc = class AzureArc extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.identityEndpoint = identityEndpoint;
}
static getEnvironmentVariables() {
let identityEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT];
let imdsEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.IMDS_ENDPOINT];
if (!identityEndpoint || !imdsEndpoint) {
const fileDetectionPath = AZURE_ARC_FILE_DETECTION[process.platform];
try {
accessSync(fileDetectionPath, constants4.F_OK | constants4.R_OK);
identityEndpoint = DEFAULT_AZURE_ARC_IDENTITY_ENDPOINT;
imdsEndpoint = HIMDS_EXECUTABLE_HELPER_STRING;
} catch (err) {}
}
return [identityEndpoint, imdsEndpoint];
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) {
const [identityEndpoint, imdsEndpoint] = AzureArc.getEnvironmentVariables();
if (!identityEndpoint || !imdsEndpoint) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.AZURE_ARC} managed identity is unavailable through environment variables because one or both of '${ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT}' and '${ManagedIdentityEnvironmentVariableNames.IMDS_ENDPOINT}' are not defined. ${ManagedIdentitySourceNames.AZURE_ARC} managed identity is also unavailable through file detection.`, "");
return null;
}
if (imdsEndpoint === HIMDS_EXECUTABLE_HELPER_STRING) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.AZURE_ARC} managed identity is available through file detection. Defaulting to known ${ManagedIdentitySourceNames.AZURE_ARC} endpoint: ${DEFAULT_AZURE_ARC_IDENTITY_ENDPOINT}. Creating ${ManagedIdentitySourceNames.AZURE_ARC} managed identity.`, "");
} else {
const validatedIdentityEndpoint = AzureArc.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT, identityEndpoint, ManagedIdentitySourceNames.AZURE_ARC, logger3);
validatedIdentityEndpoint.endsWith("/") && validatedIdentityEndpoint.slice(0, -1);
AzureArc.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.IMDS_ENDPOINT, imdsEndpoint, ManagedIdentitySourceNames.AZURE_ARC, logger3);
logger3.info(`[Managed Identity] Environment variables validation passed for ${ManagedIdentitySourceNames.AZURE_ARC} managed identity. Endpoint URI: ${validatedIdentityEndpoint}. Creating ${ManagedIdentitySourceNames.AZURE_ARC} managed identity.`, "");
}
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
throw createManagedIdentityError(unableToCreateAzureArc);
}
return new AzureArc(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint);
}
createRequest(resource) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.GET, this.identityEndpoint.replace("localhost", "127.0.0.1"));
request.headers[ManagedIdentityHeaders.METADATA_HEADER_NAME] = "true";
request.queryParameters[ManagedIdentityQueryParameters.API_VERSION] = ARC_API_VERSION;
request.queryParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
return request;
}
async getServerTokenResponseAsync(originalResponse, networkClient, networkRequest, networkRequestOptions) {
let retryResponse;
if (originalResponse.status === exports_Constants.HTTP_UNAUTHORIZED) {
const wwwAuthHeader = originalResponse.headers["www-authenticate"];
if (!wwwAuthHeader) {
throw createManagedIdentityError(wwwAuthenticateHeaderMissing);
}
if (!wwwAuthHeader.includes("Basic realm=")) {
throw createManagedIdentityError(wwwAuthenticateHeaderUnsupportedFormat);
}
const secretFilePath = wwwAuthHeader.split("Basic realm=")[1];
if (!SUPPORTED_AZURE_ARC_PLATFORMS.hasOwnProperty(process.platform)) {
throw createManagedIdentityError(platformNotSupported);
}
const expectedSecretFilePath = SUPPORTED_AZURE_ARC_PLATFORMS[process.platform];
const fileName = path10.basename(secretFilePath);
if (!fileName.endsWith(".key")) {
throw createManagedIdentityError(invalidFileExtension);
}
if (expectedSecretFilePath + fileName !== secretFilePath) {
throw createManagedIdentityError(invalidFilePath);
}
let secretFileSize;
try {
secretFileSize = await statSync4(secretFilePath).size;
} catch (e) {
throw createManagedIdentityError(unableToReadSecretFile);
}
if (secretFileSize > AZURE_ARC_SECRET_FILE_MAX_SIZE_BYTES) {
throw createManagedIdentityError(invalidSecret);
}
let secret;
try {
secret = readFileSync6(secretFilePath, exports_Constants.EncodingTypes.UTF8);
} catch (e) {
throw createManagedIdentityError(unableToReadSecretFile);
}
const authHeaderValue = `Basic ${secret}`;
this.logger.info(`[Managed Identity] Adding authorization header to the request.`, "");
networkRequest.headers[ManagedIdentityHeaders.AUTHORIZATION_HEADER_NAME] = authHeaderValue;
try {
retryResponse = await networkClient.sendGetRequestAsync(networkRequest.computeUri(), networkRequestOptions);
} catch (error51) {
if (error51 instanceof AuthError) {
throw error51;
} else {
throw createClientAuthError(exports_ClientAuthErrorCodes.networkError);
}
}
}
return this.getServerTokenResponse(retryResponse || originalResponse);
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/CloudShell.mjs
var CloudShell;
var init_CloudShell = __esm(() => {
init_ManagedIdentityRequestParameters();
init_BaseManagedIdentitySource();
init_Constants2();
init_ManagedIdentityError();
init_ManagedIdentityErrorCodes();
/*! @azure/msal-node v5.1.1 2026-03-18 */
CloudShell = class CloudShell extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, msiEndpoint) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.msiEndpoint = msiEndpoint;
}
static getEnvironmentVariables() {
const msiEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT];
return [msiEndpoint];
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) {
const [msiEndpoint] = CloudShell.getEnvironmentVariables();
if (!msiEndpoint) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.CLOUD_SHELL} managed identity is unavailable because the '${ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT} environment variable is not defined.`, "");
return null;
}
const validatedMsiEndpoint = CloudShell.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT, msiEndpoint, ManagedIdentitySourceNames.CLOUD_SHELL, logger3);
logger3.info(`[Managed Identity] Environment variable validation passed for ${ManagedIdentitySourceNames.CLOUD_SHELL} managed identity. Endpoint URI: ${validatedMsiEndpoint}. Creating ${ManagedIdentitySourceNames.CLOUD_SHELL} managed identity.`, "");
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
throw createManagedIdentityError(unableToCreateCloudShell);
}
return new CloudShell(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, msiEndpoint);
}
createRequest(resource) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.POST, this.msiEndpoint);
request.headers[ManagedIdentityHeaders.METADATA_HEADER_NAME] = "true";
request.bodyParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
return request;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/retry/ExponentialRetryStrategy.mjs
class ExponentialRetryStrategy {
constructor(minExponentialBackoff, maxExponentialBackoff, exponentialDeltaBackoff) {
this.minExponentialBackoff = minExponentialBackoff;
this.maxExponentialBackoff = maxExponentialBackoff;
this.exponentialDeltaBackoff = exponentialDeltaBackoff;
}
calculateDelay(currentRetry) {
if (currentRetry === 0) {
return this.minExponentialBackoff;
}
const exponentialDelay = Math.min(Math.pow(2, currentRetry - 1) * this.exponentialDeltaBackoff, this.maxExponentialBackoff);
return exponentialDelay;
}
}
var init_ExponentialRetryStrategy = __esm(() => {
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/retry/ImdsRetryPolicy.mjs
class ImdsRetryPolicy {
constructor() {
this.exponentialRetryStrategy = new ExponentialRetryStrategy(ImdsRetryPolicy.MIN_EXPONENTIAL_BACKOFF_MS, ImdsRetryPolicy.MAX_EXPONENTIAL_BACKOFF_MS, ImdsRetryPolicy.EXPONENTIAL_DELTA_BACKOFF_MS);
}
static get MIN_EXPONENTIAL_BACKOFF_MS() {
return MIN_EXPONENTIAL_BACKOFF_MS;
}
static get MAX_EXPONENTIAL_BACKOFF_MS() {
return MAX_EXPONENTIAL_BACKOFF_MS;
}
static get EXPONENTIAL_DELTA_BACKOFF_MS() {
return EXPONENTIAL_DELTA_BACKOFF_MS;
}
static get HTTP_STATUS_GONE_RETRY_AFTER_MS() {
return HTTP_STATUS_GONE_RETRY_AFTER_MS;
}
set isNewRequest(value) {
this._isNewRequest = value;
}
async pauseForRetry(httpStatusCode, currentRetry, logger3) {
if (this._isNewRequest) {
this._isNewRequest = false;
this.maxRetries = httpStatusCode === exports_Constants.HTTP_GONE ? LINEAR_STRATEGY_NUM_RETRIES : EXPONENTIAL_STRATEGY_NUM_RETRIES;
}
if ((HTTP_STATUS_400_CODES_FOR_EXPONENTIAL_STRATEGY.includes(httpStatusCode) || httpStatusCode >= exports_Constants.HTTP_SERVER_ERROR_RANGE_START && httpStatusCode <= exports_Constants.HTTP_SERVER_ERROR_RANGE_END && currentRetry < this.maxRetries) && currentRetry < this.maxRetries) {
const retryAfterDelay = httpStatusCode === exports_Constants.HTTP_GONE ? ImdsRetryPolicy.HTTP_STATUS_GONE_RETRY_AFTER_MS : this.exponentialRetryStrategy.calculateDelay(currentRetry);
logger3.verbose(`Retrying request in ${retryAfterDelay}ms (retry attempt: ${currentRetry + 1})`, "");
await new Promise((resolve9) => {
return setTimeout(resolve9, retryAfterDelay);
});
return true;
}
return false;
}
}
var HTTP_STATUS_400_CODES_FOR_EXPONENTIAL_STRATEGY, EXPONENTIAL_STRATEGY_NUM_RETRIES = 3, LINEAR_STRATEGY_NUM_RETRIES = 7, MIN_EXPONENTIAL_BACKOFF_MS = 1000, MAX_EXPONENTIAL_BACKOFF_MS = 4000, EXPONENTIAL_DELTA_BACKOFF_MS = 2000, HTTP_STATUS_GONE_RETRY_AFTER_MS;
var init_ImdsRetryPolicy = __esm(() => {
init_index_node();
init_ExponentialRetryStrategy();
/*! @azure/msal-node v5.1.1 2026-03-18 */
HTTP_STATUS_400_CODES_FOR_EXPONENTIAL_STRATEGY = [
exports_Constants.HTTP_NOT_FOUND,
exports_Constants.HTTP_REQUEST_TIMEOUT,
exports_Constants.HTTP_GONE,
exports_Constants.HTTP_TOO_MANY_REQUESTS
];
HTTP_STATUS_GONE_RETRY_AFTER_MS = 10 * 1000;
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/Imds.mjs
var IMDS_TOKEN_PATH = "/metadata/identity/oauth2/token", DEFAULT_IMDS_ENDPOINT, IMDS_API_VERSION = "2018-02-01", Imds;
var init_Imds = __esm(() => {
init_ManagedIdentityRequestParameters();
init_BaseManagedIdentitySource();
init_Constants2();
init_ImdsRetryPolicy();
/*! @azure/msal-node v5.1.1 2026-03-18 */
DEFAULT_IMDS_ENDPOINT = `http://169.254.169.254${IMDS_TOKEN_PATH}`;
Imds = class Imds extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.identityEndpoint = identityEndpoint;
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) {
let validatedIdentityEndpoint;
if (process.env[ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST]) {
logger3.info(`[Managed Identity] Environment variable ${ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST} for ${ManagedIdentitySourceNames.IMDS} returned endpoint: ${process.env[ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST]}`, "");
validatedIdentityEndpoint = Imds.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST, `${process.env[ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST]}${IMDS_TOKEN_PATH}`, ManagedIdentitySourceNames.IMDS, logger3);
} else {
logger3.info(`[Managed Identity] Unable to find ${ManagedIdentityEnvironmentVariableNames.AZURE_POD_IDENTITY_AUTHORITY_HOST} environment variable for ${ManagedIdentitySourceNames.IMDS}, using the default endpoint.`, "");
validatedIdentityEndpoint = DEFAULT_IMDS_ENDPOINT;
}
return new Imds(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, validatedIdentityEndpoint);
}
createRequest(resource, managedIdentityId) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.GET, this.identityEndpoint);
request.headers[ManagedIdentityHeaders.METADATA_HEADER_NAME] = "true";
request.queryParameters[ManagedIdentityQueryParameters.API_VERSION] = IMDS_API_VERSION;
request.queryParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
request.queryParameters[this.getManagedIdentityUserAssignedIdQueryParameterKey(managedIdentityId.idType, true)] = managedIdentityId.id;
}
request.retryPolicy = new ImdsRetryPolicy;
return request;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/ServiceFabric.mjs
var SERVICE_FABRIC_MSI_API_VERSION = "2019-07-01-preview", ServiceFabric;
var init_ServiceFabric = __esm(() => {
init_ManagedIdentityRequestParameters();
init_BaseManagedIdentitySource();
init_Constants2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
ServiceFabric = class ServiceFabric extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint, identityHeader) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.identityEndpoint = identityEndpoint;
this.identityHeader = identityHeader;
}
static getEnvironmentVariables() {
const identityEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT];
const identityHeader = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_HEADER];
const identityServerThumbprint = process.env[ManagedIdentityEnvironmentVariableNames.IDENTITY_SERVER_THUMBPRINT];
return [identityEndpoint, identityHeader, identityServerThumbprint];
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) {
const [identityEndpoint, identityHeader, identityServerThumbprint] = ServiceFabric.getEnvironmentVariables();
if (!identityEndpoint || !identityHeader || !identityServerThumbprint) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.SERVICE_FABRIC} managed identity is unavailable because one or all of the '${ManagedIdentityEnvironmentVariableNames.IDENTITY_HEADER}', '${ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT}' or '${ManagedIdentityEnvironmentVariableNames.IDENTITY_SERVER_THUMBPRINT}' environment variables are not defined.`, "");
return null;
}
const validatedIdentityEndpoint = ServiceFabric.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.IDENTITY_ENDPOINT, identityEndpoint, ManagedIdentitySourceNames.SERVICE_FABRIC, logger3);
logger3.info(`[Managed Identity] Environment variables validation passed for ${ManagedIdentitySourceNames.SERVICE_FABRIC} managed identity. Endpoint URI: ${validatedIdentityEndpoint}. Creating ${ManagedIdentitySourceNames.SERVICE_FABRIC} managed identity.`, "");
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
logger3.warning(`[Managed Identity] ${ManagedIdentitySourceNames.SERVICE_FABRIC} user assigned managed identity is configured in the cluster, not during runtime. See also: https://learn.microsoft.com/en-us/azure/service-fabric/configure-existing-cluster-enable-managed-identity-token-service.`, "");
}
return new ServiceFabric(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, identityEndpoint, identityHeader);
}
createRequest(resource, managedIdentityId) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.GET, this.identityEndpoint);
request.headers[ManagedIdentityHeaders.ML_AND_SF_SECRET_HEADER_NAME] = this.identityHeader;
request.queryParameters[ManagedIdentityQueryParameters.API_VERSION] = SERVICE_FABRIC_MSI_API_VERSION;
request.queryParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
if (managedIdentityId.idType !== ManagedIdentityIdType.SYSTEM_ASSIGNED) {
request.queryParameters[this.getManagedIdentityUserAssignedIdQueryParameterKey(managedIdentityId.idType)] = managedIdentityId.id;
}
return request;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentitySources/MachineLearning.mjs
var MACHINE_LEARNING_MSI_API_VERSION = "2017-09-01", MANAGED_IDENTITY_MACHINE_LEARNING_UNSUPPORTED_ID_TYPE_ERROR, MachineLearning;
var init_MachineLearning = __esm(() => {
init_BaseManagedIdentitySource();
init_Constants2();
init_ManagedIdentityRequestParameters();
/*! @azure/msal-node v5.1.1 2026-03-18 */
MANAGED_IDENTITY_MACHINE_LEARNING_UNSUPPORTED_ID_TYPE_ERROR = `Only client id is supported for user-assigned managed identity in ${ManagedIdentitySourceNames.MACHINE_LEARNING}.`;
MachineLearning = class MachineLearning extends BaseManagedIdentitySource {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, msiEndpoint, secret) {
super(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
this.msiEndpoint = msiEndpoint;
this.secret = secret;
}
static getEnvironmentVariables() {
const msiEndpoint = process.env[ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT];
const secret = process.env[ManagedIdentityEnvironmentVariableNames.MSI_SECRET];
return [msiEndpoint, secret];
}
static tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) {
const [msiEndpoint, secret] = MachineLearning.getEnvironmentVariables();
if (!msiEndpoint || !secret) {
logger3.info(`[Managed Identity] ${ManagedIdentitySourceNames.MACHINE_LEARNING} managed identity is unavailable because one or both of the '${ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT}' and '${ManagedIdentityEnvironmentVariableNames.MSI_SECRET}' environment variables are not defined.`, "");
return null;
}
const validatedMsiEndpoint = MachineLearning.getValidatedEnvVariableUrlString(ManagedIdentityEnvironmentVariableNames.MSI_ENDPOINT, msiEndpoint, ManagedIdentitySourceNames.MACHINE_LEARNING, logger3);
logger3.info(`[Managed Identity] Environment variables validation passed for ${ManagedIdentitySourceNames.MACHINE_LEARNING} managed identity. Endpoint URI: ${validatedMsiEndpoint}. Creating ${ManagedIdentitySourceNames.MACHINE_LEARNING} managed identity.`, "");
return new MachineLearning(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, msiEndpoint, secret);
}
createRequest(resource, managedIdentityId) {
const request = new ManagedIdentityRequestParameters(HttpMethod2.GET, this.msiEndpoint);
request.headers[ManagedIdentityHeaders.METADATA_HEADER_NAME] = "true";
request.headers[ManagedIdentityHeaders.ML_AND_SF_SECRET_HEADER_NAME] = this.secret;
request.queryParameters[ManagedIdentityQueryParameters.API_VERSION] = MACHINE_LEARNING_MSI_API_VERSION;
request.queryParameters[ManagedIdentityQueryParameters.RESOURCE] = resource;
if (managedIdentityId.idType === ManagedIdentityIdType.SYSTEM_ASSIGNED) {
request.queryParameters[ManagedIdentityUserAssignedIdQueryParameterNames.MANAGED_IDENTITY_CLIENT_ID_2017] = process.env[ManagedIdentityEnvironmentVariableNames.DEFAULT_IDENTITY_CLIENT_ID];
} else if (managedIdentityId.idType === ManagedIdentityIdType.USER_ASSIGNED_CLIENT_ID) {
request.queryParameters[this.getManagedIdentityUserAssignedIdQueryParameterKey(managedIdentityId.idType, false, true)] = managedIdentityId.id;
} else {
throw new Error(MANAGED_IDENTITY_MACHINE_LEARNING_UNSUPPORTED_ID_TYPE_ERROR);
}
return request;
}
};
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentityClient.mjs
class ManagedIdentityClient {
constructor(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) {
this.logger = logger3;
this.nodeStorage = nodeStorage;
this.networkClient = networkClient;
this.cryptoProvider = cryptoProvider;
this.disableInternalRetries = disableInternalRetries;
}
async sendManagedIdentityTokenRequest(managedIdentityRequest, managedIdentityId, fakeAuthority, refreshAccessToken) {
if (!ManagedIdentityClient.identitySource) {
ManagedIdentityClient.identitySource = this.selectManagedIdentitySource(this.logger, this.nodeStorage, this.networkClient, this.cryptoProvider, this.disableInternalRetries, managedIdentityId);
}
return ManagedIdentityClient.identitySource.acquireTokenWithManagedIdentity(managedIdentityRequest, managedIdentityId, fakeAuthority, refreshAccessToken);
}
allEnvironmentVariablesAreDefined(environmentVariables) {
return Object.values(environmentVariables).every((environmentVariable) => {
return environmentVariable !== undefined;
});
}
getManagedIdentitySource() {
ManagedIdentityClient.sourceName = this.allEnvironmentVariablesAreDefined(ServiceFabric.getEnvironmentVariables()) ? ManagedIdentitySourceNames.SERVICE_FABRIC : this.allEnvironmentVariablesAreDefined(AppService.getEnvironmentVariables()) ? ManagedIdentitySourceNames.APP_SERVICE : this.allEnvironmentVariablesAreDefined(MachineLearning.getEnvironmentVariables()) ? ManagedIdentitySourceNames.MACHINE_LEARNING : this.allEnvironmentVariablesAreDefined(CloudShell.getEnvironmentVariables()) ? ManagedIdentitySourceNames.CLOUD_SHELL : this.allEnvironmentVariablesAreDefined(AzureArc.getEnvironmentVariables()) ? ManagedIdentitySourceNames.AZURE_ARC : ManagedIdentitySourceNames.DEFAULT_TO_IMDS;
return ManagedIdentityClient.sourceName;
}
selectManagedIdentitySource(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) {
const source = ServiceFabric.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) || AppService.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) || MachineLearning.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries) || CloudShell.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) || AzureArc.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries, managedIdentityId) || Imds.tryCreate(logger3, nodeStorage, networkClient, cryptoProvider, disableInternalRetries);
if (!source) {
throw createManagedIdentityError(unableToCreateSource);
}
return source;
}
}
var init_ManagedIdentityClient = __esm(() => {
init_AppService();
init_AzureArc();
init_CloudShell();
init_Imds();
init_ServiceFabric();
init_ManagedIdentityError();
init_Constants2();
init_MachineLearning();
init_ManagedIdentityErrorCodes();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/client/ManagedIdentityApplication.mjs
class ManagedIdentityApplication {
constructor(configuration) {
this.config = buildManagedIdentityConfiguration(configuration || {});
this.logger = new Logger(this.config.system.loggerOptions, name2, version5);
const fakeStatusAuthorityOptions = {
canonicalAuthority: exports_Constants.DEFAULT_AUTHORITY
};
if (!ManagedIdentityApplication.nodeStorage) {
ManagedIdentityApplication.nodeStorage = new NodeStorage(this.logger, this.config.managedIdentityId.id, DEFAULT_CRYPTO_IMPLEMENTATION, fakeStatusAuthorityOptions);
}
this.networkClient = this.config.system.networkClient;
this.cryptoProvider = new CryptoProvider;
const fakeAuthorityOptions = {
protocolMode: ProtocolMode.AAD,
knownAuthorities: [DEFAULT_AUTHORITY_FOR_MANAGED_IDENTITY],
cloudDiscoveryMetadata: "",
authorityMetadata: ""
};
this.fakeAuthority = new Authority(DEFAULT_AUTHORITY_FOR_MANAGED_IDENTITY, this.networkClient, ManagedIdentityApplication.nodeStorage, fakeAuthorityOptions, this.logger, this.cryptoProvider.createNewGuid(), new StubPerformanceClient, true);
this.fakeClientCredentialClient = new ClientCredentialClient({
authOptions: {
clientId: this.config.managedIdentityId.id,
authority: this.fakeAuthority
}
});
this.managedIdentityClient = new ManagedIdentityClient(this.logger, ManagedIdentityApplication.nodeStorage, this.networkClient, this.cryptoProvider, this.config.disableInternalRetries);
this.hashUtils = new HashUtils;
}
async acquireToken(managedIdentityRequestParams) {
if (!managedIdentityRequestParams.resource) {
throw createClientConfigurationError(exports_ClientConfigurationErrorCodes.urlEmptyError);
}
const managedIdentityRequest = {
forceRefresh: managedIdentityRequestParams.forceRefresh,
resource: managedIdentityRequestParams.resource.replace("/.default", ""),
scopes: [
managedIdentityRequestParams.resource.replace("/.default", "")
],
authority: this.fakeAuthority.canonicalAuthority,
correlationId: this.cryptoProvider.createNewGuid(),
claims: managedIdentityRequestParams.claims,
clientCapabilities: this.config.clientCapabilities
};
if (managedIdentityRequest.forceRefresh) {
return this.acquireTokenFromManagedIdentity(managedIdentityRequest, this.config.managedIdentityId, this.fakeAuthority);
}
const [cachedAuthenticationResult, lastCacheOutcome] = await this.fakeClientCredentialClient.getCachedAuthenticationResult(managedIdentityRequest, this.config, this.cryptoProvider, this.fakeAuthority, ManagedIdentityApplication.nodeStorage);
if (managedIdentityRequest.claims) {
const sourceName = this.managedIdentityClient.getManagedIdentitySource();
if (cachedAuthenticationResult && SOURCES_THAT_SUPPORT_TOKEN_REVOCATION.includes(sourceName)) {
const revokedTokenSha256Hash = this.hashUtils.sha256(cachedAuthenticationResult.accessToken).toString(exports_Constants.EncodingTypes.HEX);
managedIdentityRequest.revokedTokenSha256Hash = revokedTokenSha256Hash;
}
return this.acquireTokenFromManagedIdentity(managedIdentityRequest, this.config.managedIdentityId, this.fakeAuthority);
}
if (cachedAuthenticationResult) {
if (lastCacheOutcome === exports_Constants.CacheOutcome.PROACTIVELY_REFRESHED) {
this.logger.info("ClientCredentialClient:getCachedAuthenticationResult - Cached access token's refreshOn property has been exceeded'. It's not expired, but must be refreshed.", managedIdentityRequest.correlationId);
const refreshAccessToken = true;
await this.acquireTokenFromManagedIdentity(managedIdentityRequest, this.config.managedIdentityId, this.fakeAuthority, refreshAccessToken);
}
return cachedAuthenticationResult;
} else {
return this.acquireTokenFromManagedIdentity(managedIdentityRequest, this.config.managedIdentityId, this.fakeAuthority);
}
}
async acquireTokenFromManagedIdentity(managedIdentityRequest, managedIdentityId, fakeAuthority, refreshAccessToken) {
return this.managedIdentityClient.sendManagedIdentityTokenRequest(managedIdentityRequest, managedIdentityId, fakeAuthority, refreshAccessToken);
}
getManagedIdentitySource() {
return ManagedIdentityClient.sourceName || this.managedIdentityClient.getManagedIdentitySource();
}
}
var SOURCES_THAT_SUPPORT_TOKEN_REVOCATION;
var init_ManagedIdentityApplication = __esm(() => {
init_index_node();
init_Configuration();
init_packageMetadata2();
init_CryptoProvider();
init_ClientCredentialClient();
init_ManagedIdentityClient();
init_NodeStorage();
init_Constants2();
init_HashUtils();
/*! @azure/msal-node v5.1.1 2026-03-18 */
SOURCES_THAT_SUPPORT_TOKEN_REVOCATION = [ManagedIdentitySourceNames.SERVICE_FABRIC];
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/cache/distributed/DistributedCachePlugin.mjs
class DistributedCachePlugin {
constructor(client3, partitionManager) {
this.client = client3;
this.partitionManager = partitionManager;
}
async beforeCacheAccess(cacheContext) {
const partitionKey = await this.partitionManager.getKey();
const cacheData = await this.client.get(partitionKey);
cacheContext.tokenCache.deserialize(cacheData);
}
async afterCacheAccess(cacheContext) {
if (cacheContext.cacheHasChanged) {
const kvStore = cacheContext.tokenCache.getKVStore();
const accountEntities = Object.values(kvStore).filter((value) => exports_AccountEntityUtils.isAccountEntity(value));
let partitionKey;
if (accountEntities.length > 0) {
const accountEntity = accountEntities[0];
partitionKey = await this.partitionManager.extractKey(accountEntity);
} else {
partitionKey = await this.partitionManager.getKey();
}
await this.client.set(partitionKey, cacheContext.tokenCache.serialize());
}
}
}
var init_DistributedCachePlugin = __esm(() => {
init_index_node();
/*! @azure/msal-node v5.1.1 2026-03-18 */
});
// node_modules/.pnpm/@azure+msal-node@5.1.1/node_modules/@azure/msal-node/dist/index.mjs
var exports_dist = {};
__export(exports_dist, {
version: () => version5,
internals: () => exports_internals,
TokenCacheContext: () => TokenCacheContext,
TokenCache: () => TokenCache,
ServerError: () => ServerError,
ResponseMode: () => ResponseMode2,
PublicClientApplication: () => PublicClientApplication,
ProtocolMode: () => ProtocolMode,
PromptValue: () => PromptValue2,
ManagedIdentitySourceNames: () => ManagedIdentitySourceNames,
ManagedIdentityApplication: () => ManagedIdentityApplication,
Logger: () => Logger,
LogLevel: () => LogLevel,
InteractionRequiredAuthErrorCodes: () => exports_InteractionRequiredAuthErrorCodes,
InteractionRequiredAuthError: () => InteractionRequiredAuthError,
DistributedCachePlugin: () => DistributedCachePlugin,
CryptoProvider: () => CryptoProvider,
ConfidentialClientApplication: () => ConfidentialClientApplication,
ClientConfigurationErrorCodes: () => exports_ClientConfigurationErrorCodes,
ClientConfigurationError: () => ClientConfigurationError,
ClientAuthErrorCodes: () => exports_ClientAuthErrorCodes,
ClientAuthError: () => ClientAuthError,
ClientAssertion: () => ClientAssertion,
AzureCloudInstance: () => AzureCloudInstance,
AuthErrorCodes: () => exports_AuthErrorCodes,
AuthError: () => AuthError
});
var PromptValue2, ResponseMode2;
var init_dist3 = __esm(() => {
init_internals();
init_index_node();
init_index_node();
init_PublicClientApplication();
init_ConfidentialClientApplication();
init_ManagedIdentityApplication();
init_ClientAssertion();
init_TokenCache();
init_DistributedCachePlugin();
init_Constants2();
init_CryptoProvider();
init_packageMetadata2();
/*! @azure/msal-node v5.1.1 2026-03-18 */
PromptValue2 = exports_Constants.PromptValue;
ResponseMode2 = exports_Constants.ResponseMode;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/random.js
function getRandomIntegerInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
const offset = Math.floor(Math.random() * (max - min + 1));
return offset + min;
}
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/delay.js
function calculateRetryDelay(retryAttempt, config2) {
const exponentialDelay = config2.retryDelayInMs * Math.pow(2, retryAttempt);
const clampedDelay = Math.min(config2.maxRetryDelayInMs, exponentialDelay);
const retryAfterInMs = clampedDelay / 2 + getRandomIntegerInclusive(0, clampedDelay / 2);
return { retryAfterInMs };
}
var init_delay = () => {};
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/object.js
function isObject5(input) {
return typeof input === "object" && input !== null && !Array.isArray(input) && !(input instanceof RegExp) && !(input instanceof Date);
}
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/error.js
function isError(e) {
if (isObject5(e)) {
const hasName = typeof e.name === "string";
const hasMessage = typeof e.message === "string";
return hasName && hasMessage;
}
return false;
}
var init_error6 = () => {};
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/uuidUtils.js
function randomUUID2() {
return crypto.randomUUID();
}
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/checkEnvironment.js
var isBrowser2, isWebWorker, isDeno, isBun, isNodeLike, isReactNative2;
var init_checkEnvironment = __esm(() => {
isBrowser2 = typeof window !== "undefined" && typeof window.document !== "undefined";
isWebWorker = typeof self === "object" && typeof self?.importScripts === "function" && (self.constructor?.name === "DedicatedWorkerGlobalScope" || self.constructor?.name === "ServiceWorkerGlobalScope" || self.constructor?.name === "SharedWorkerGlobalScope");
isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
isNodeLike = typeof globalThis.process !== "undefined" && Boolean(globalThis.process.version) && Boolean(globalThis.process.versions?.node);
isReactNative2 = typeof navigator !== "undefined" && navigator?.product === "ReactNative";
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/bytesEncoding.js
function stringToUint8Array2(value, format3) {
return Buffer.from(value, format3);
}
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/sanitizer.js
class Sanitizer {
allowedHeaderNames;
allowedQueryParameters;
constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [] } = {}) {
allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);
allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);
this.allowedHeaderNames = new Set(allowedHeaderNames.map((n2) => n2.toLowerCase()));
this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));
}
sanitize(obj) {
const seen = new Set;
return JSON.stringify(obj, (key, value) => {
if (value instanceof Error) {
return {
...value,
name: value.name,
message: value.message
};
}
if (key === "headers") {
return this.sanitizeHeaders(value);
} else if (key === "url") {
return this.sanitizeUrl(value);
} else if (key === "query") {
return this.sanitizeQuery(value);
} else if (key === "body") {
return;
} else if (key === "response") {
return;
} else if (key === "operationSpec") {
return;
} else if (Array.isArray(value) || isObject5(value)) {
if (seen.has(value)) {
return "[Circular]";
}
seen.add(value);
}
return value;
}, 2);
}
sanitizeUrl(value) {
if (typeof value !== "string" || value === null || value === "") {
return value;
}
const url3 = new URL(value);
if (!url3.search) {
return value;
}
for (const [key] of url3.searchParams) {
if (!this.allowedQueryParameters.has(key.toLowerCase())) {
url3.searchParams.set(key, RedactedString);
}
}
return url3.toString();
}
sanitizeHeaders(obj) {
const sanitized = {};
for (const key of Object.keys(obj)) {
if (this.allowedHeaderNames.has(key.toLowerCase())) {
sanitized[key] = obj[key];
} else {
sanitized[key] = RedactedString;
}
}
return sanitized;
}
sanitizeQuery(value) {
if (typeof value !== "object" || value === null) {
return value;
}
const sanitized = {};
for (const k2 of Object.keys(value)) {
if (this.allowedQueryParameters.has(k2.toLowerCase())) {
sanitized[k2] = value[k2];
} else {
sanitized[k2] = RedactedString;
}
}
return sanitized;
}
}
var RedactedString = "REDACTED", defaultAllowedHeaderNames, defaultAllowedQueryParameters;
var init_sanitizer = __esm(() => {
defaultAllowedHeaderNames = [
"x-ms-client-request-id",
"x-ms-return-client-request-id",
"x-ms-useragent",
"x-ms-correlation-request-id",
"x-ms-request-id",
"client-request-id",
"ms-cv",
"return-client-request-id",
"traceparent",
"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",
"Origin",
"Accept",
"Accept-Encoding",
"Cache-Control",
"Connection",
"Content-Length",
"Content-Type",
"Date",
"ETag",
"Expires",
"If-Match",
"If-Modified-Since",
"If-None-Match",
"If-Unmodified-Since",
"Last-Modified",
"Pragma",
"Request-Id",
"Retry-After",
"Server",
"Transfer-Encoding",
"User-Agent",
"WWW-Authenticate"
];
defaultAllowedQueryParameters = ["api-version"];
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/internal.js
var init_internal2 = __esm(() => {
init_delay();
init_error6();
init_checkEnvironment();
init_sanitizer();
});
// node_modules/.pnpm/@azure+abort-controller@2.1.2/node_modules/@azure/abort-controller/dist/esm/AbortError.js
var AbortError2;
var init_AbortError = __esm(() => {
AbortError2 = class AbortError2 extends Error {
constructor(message) {
super(message);
this.name = "AbortError";
}
};
});
// node_modules/.pnpm/@azure+abort-controller@2.1.2/node_modules/@azure/abort-controller/dist/esm/index.js
var init_esm4 = __esm(() => {
init_AbortError();
});
// node_modules/.pnpm/@azure+core-util@1.13.1/node_modules/@azure/core-util/dist/esm/createAbortablePromise.js
function createAbortablePromise(buildPromise, options) {
const { cleanupBeforeAbort, abortSignal, abortErrorMsg } = options ?? {};
return new Promise((resolve9, reject) => {
function rejectOnAbort() {
reject(new AbortError2(abortErrorMsg ?? "The operation was aborted."));
}
function removeListeners() {
abortSignal?.removeEventListener("abort", onAbort);
}
function onAbort() {
cleanupBeforeAbort?.();
removeListeners();
rejectOnAbort();
}
if (abortSignal?.aborted) {
return rejectOnAbort();
}
try {
buildPromise((x3) => {
removeListeners();
resolve9(x3);
}, (x3) => {
removeListeners();
reject(x3);
});
} catch (err) {
reject(err);
}
abortSignal?.addEventListener("abort", onAbort);
});
}
var init_createAbortablePromise = __esm(() => {
init_esm4();
});
// node_modules/.pnpm/@azure+core-util@1.13.1/node_modules/@azure/core-util/dist/esm/delay.js
function delay2(timeInMs, options) {
let token;
const { abortSignal, abortErrorMsg } = options ?? {};
return createAbortablePromise((resolve9) => {
token = setTimeout(resolve9, timeInMs);
}, {
cleanupBeforeAbort: () => clearTimeout(token),
abortSignal,
abortErrorMsg: abortErrorMsg ?? StandardAbortMessage
});
}
var StandardAbortMessage = "The delay was aborted.";
var init_delay2 = __esm(() => {
init_createAbortablePromise();
});
// node_modules/.pnpm/@azure+core-util@1.13.1/node_modules/@azure/core-util/dist/esm/error.js
function getErrorMessage2(e) {
if (isError(e)) {
return e.message;
} else {
let stringified;
try {
if (typeof e === "object" && e) {
stringified = JSON.stringify(e);
} else {
stringified = String(e);
}
} catch (err) {
stringified = "[unable to stringify input]";
}
return `Unknown error ${stringified}`;
}
}
var init_error7 = __esm(() => {
init_internal2();
});
// node_modules/.pnpm/@azure+core-util@1.13.1/node_modules/@azure/core-util/dist/esm/index.js
function calculateRetryDelay2(retryAttempt, config2) {
return calculateRetryDelay(retryAttempt, config2);
}
function isError2(e) {
return isError(e);
}
var isNode, isNodeLike2;
var init_esm5 = __esm(() => {
init_internal2();
init_delay2();
init_error7();
isNode = isNodeLike;
isNodeLike2 = isNodeLike;
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/msal/msal.js
var init_msal = __esm(() => {
init_dist3();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/msal/utils.js
function ensureValidMsalToken(scopes, msalToken, getTokenOptions) {
const error51 = (message) => {
logger3.getToken.info(message);
return new AuthenticationRequiredError({
scopes: Array.isArray(scopes) ? scopes : [scopes],
getTokenOptions,
message
});
};
if (!msalToken) {
throw error51("No response");
}
if (!msalToken.expiresOn) {
throw error51(`Response had no "expiresOn" property.`);
}
if (!msalToken.accessToken) {
throw error51(`Response had no "accessToken" property.`);
}
}
function getAuthorityHost(options) {
let authorityHost = options?.authorityHost;
if (!authorityHost && isNodeLike2) {
authorityHost = process.env.AZURE_AUTHORITY_HOST;
}
return authorityHost ?? DefaultAuthorityHost;
}
function getAuthority(tenantId, host) {
if (!host) {
host = DefaultAuthorityHost;
}
if (new RegExp(`${tenantId}/?$`).test(host)) {
return host;
}
if (host.endsWith("/")) {
return host + tenantId;
} else {
return `${host}/${tenantId}`;
}
}
function getKnownAuthorities(tenantId, authorityHost, disableInstanceDiscovery) {
if (tenantId === "adfs" && authorityHost || disableInstanceDiscovery) {
return [authorityHost];
}
return [];
}
function getMSALLogLevel(logLevel) {
switch (logLevel) {
case "error":
return exports_dist.LogLevel.Error;
case "info":
return exports_dist.LogLevel.Info;
case "verbose":
return exports_dist.LogLevel.Verbose;
case "warning":
return exports_dist.LogLevel.Warning;
default:
return exports_dist.LogLevel.Info;
}
}
function handleMsalError(scopes, error51, getTokenOptions) {
if (error51.name === "AuthError" || error51.name === "ClientAuthError" || error51.name === "BrowserAuthError") {
const msalError = error51;
switch (msalError.errorCode) {
case "endpoints_resolution_error":
logger3.info(formatError2(scopes, error51.message));
return new CredentialUnavailableError(error51.message);
case "device_code_polling_cancelled":
return new AbortError2("The authentication has been aborted by the caller.");
case "consent_required":
case "interaction_required":
case "login_required":
logger3.info(formatError2(scopes, `Authentication returned errorCode ${msalError.errorCode}`));
break;
default:
logger3.info(formatError2(scopes, `Failed to acquire token: ${error51.message}`));
break;
}
}
if (error51.name === "ClientConfigurationError" || error51.name === "BrowserConfigurationAuthError" || error51.name === "AbortError" || error51.name === "AuthenticationError") {
return error51;
}
if (error51.name === "NativeAuthError") {
logger3.info(formatError2(scopes, `Error from the native broker: ${error51.message} with status code: ${error51.statusCode}`));
return error51;
}
return new AuthenticationRequiredError({ scopes, getTokenOptions, message: error51.message });
}
function publicToMsal(account) {
return {
localAccountId: account.homeAccountId,
environment: account.authority,
username: account.username,
homeAccountId: account.homeAccountId,
tenantId: account.tenantId
};
}
function msalToPublic(clientId, account) {
const record2 = {
authority: account.environment ?? DefaultAuthority,
homeAccountId: account.homeAccountId,
tenantId: account.tenantId || DefaultTenantId,
username: account.username,
clientId,
version: LatestAuthenticationRecordVersion
};
return record2;
}
function serializeAuthenticationRecord(record2) {
return JSON.stringify(record2);
}
function deserializeAuthenticationRecord(serializedRecord) {
const parsed = JSON.parse(serializedRecord);
if (parsed.version && parsed.version !== LatestAuthenticationRecordVersion) {
throw Error("Unsupported AuthenticationRecord version");
}
return parsed;
}
var logger3, LatestAuthenticationRecordVersion = "1.0", defaultLoggerCallback = (credLogger, platform2 = isNode ? "Node" : "Browser") => (level, message, containsPii) => {
if (containsPii) {
return;
}
switch (level) {
case exports_dist.LogLevel.Error:
credLogger.info(`MSAL ${platform2} V2 error: ${message}`);
return;
case exports_dist.LogLevel.Info:
credLogger.info(`MSAL ${platform2} V2 info message: ${message}`);
return;
case exports_dist.LogLevel.Verbose:
credLogger.info(`MSAL ${platform2} V2 verbose message: ${message}`);
return;
case exports_dist.LogLevel.Warning:
credLogger.info(`MSAL ${platform2} V2 warning: ${message}`);
return;
}
};
var init_utils4 = __esm(() => {
init_errors4();
init_logging();
init_constants5();
init_esm5();
init_esm4();
init_msal();
logger3 = credentialLogger("IdentityUtils");
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/httpHeaders.js
function normalizeName(name3) {
return name3.toLowerCase();
}
function* headerIterator(map3) {
for (const entry of map3.values()) {
yield [entry.name, entry.value];
}
}
function createHttpHeaders(rawHeaders) {
return new HttpHeadersImpl(rawHeaders);
}
var HttpHeadersImpl;
var init_httpHeaders = __esm(() => {
HttpHeadersImpl = class HttpHeadersImpl {
_headersMap;
constructor(rawHeaders) {
this._headersMap = new Map;
if (rawHeaders) {
for (const headerName of Object.keys(rawHeaders)) {
this.set(headerName, rawHeaders[headerName]);
}
}
}
set(name3, value) {
this._headersMap.set(normalizeName(name3), { name: name3, value: String(value).trim() });
}
get(name3) {
return this._headersMap.get(normalizeName(name3))?.value;
}
has(name3) {
return this._headersMap.has(normalizeName(name3));
}
delete(name3) {
this._headersMap.delete(normalizeName(name3));
}
toJSON(options = {}) {
const result = {};
if (options.preserveCase) {
for (const entry of this._headersMap.values()) {
result[entry.name] = entry.value;
}
} else {
for (const [normalizedName, entry] of this._headersMap) {
result[normalizedName] = entry.value;
}
}
return result;
}
toString() {
return JSON.stringify(this.toJSON({ preserveCase: true }));
}
[Symbol.iterator]() {
return headerIterator(this._headersMap);
}
};
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/pipelineRequest.js
class PipelineRequestImpl {
url;
method;
headers;
timeout;
withCredentials;
body;
multipartBody;
formData;
streamResponseStatusCodes;
enableBrowserStreams;
proxySettings;
disableKeepAlive;
abortSignal;
requestId;
allowInsecureConnection;
onUploadProgress;
onDownloadProgress;
requestOverrides;
authSchemes;
constructor(options) {
this.url = options.url;
this.body = options.body;
this.headers = options.headers ?? createHttpHeaders();
this.method = options.method ?? "GET";
this.timeout = options.timeout ?? 0;
this.multipartBody = options.multipartBody;
this.formData = options.formData;
this.disableKeepAlive = options.disableKeepAlive ?? false;
this.proxySettings = options.proxySettings;
this.streamResponseStatusCodes = options.streamResponseStatusCodes;
this.withCredentials = options.withCredentials ?? false;
this.abortSignal = options.abortSignal;
this.onUploadProgress = options.onUploadProgress;
this.onDownloadProgress = options.onDownloadProgress;
this.requestId = options.requestId || randomUUID2();
this.allowInsecureConnection = options.allowInsecureConnection ?? false;
this.enableBrowserStreams = options.enableBrowserStreams ?? false;
this.requestOverrides = options.requestOverrides;
this.authSchemes = options.authSchemes;
}
}
function createPipelineRequest(options) {
return new PipelineRequestImpl(options);
}
var init_pipelineRequest = __esm(() => {
init_httpHeaders();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/pipeline.js
class HttpPipeline {
_policies = [];
_orderedPolicies;
constructor(policies) {
this._policies = policies?.slice(0) ?? [];
this._orderedPolicies = undefined;
}
addPolicy(policy, options = {}) {
if (options.phase && options.afterPhase) {
throw new Error("Policies inside a phase cannot specify afterPhase.");
}
if (options.phase && !ValidPhaseNames.has(options.phase)) {
throw new Error(`Invalid phase name: ${options.phase}`);
}
if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {
throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);
}
this._policies.push({
policy,
options
});
this._orderedPolicies = undefined;
}
removePolicy(options) {
const removedPolicies = [];
this._policies = this._policies.filter((policyDescriptor) => {
if (options.name && policyDescriptor.policy.name === options.name || options.phase && policyDescriptor.options.phase === options.phase) {
removedPolicies.push(policyDescriptor.policy);
return false;
} else {
return true;
}
});
this._orderedPolicies = undefined;
return removedPolicies;
}
sendRequest(httpClient, request) {
const policies = this.getOrderedPolicies();
const pipeline = policies.reduceRight((next, policy) => {
return (req) => {
return policy.sendRequest(req, next);
};
}, (req) => httpClient.sendRequest(req));
return pipeline(request);
}
getOrderedPolicies() {
if (!this._orderedPolicies) {
this._orderedPolicies = this.orderPolicies();
}
return this._orderedPolicies;
}
clone() {
return new HttpPipeline(this._policies);
}
static create() {
return new HttpPipeline;
}
orderPolicies() {
const result = [];
const policyMap = new Map;
function createPhase(name3) {
return {
name: name3,
policies: new Set,
hasRun: false,
hasAfterPolicies: false
};
}
const serializePhase = createPhase("Serialize");
const noPhase = createPhase("None");
const deserializePhase = createPhase("Deserialize");
const retryPhase = createPhase("Retry");
const signPhase = createPhase("Sign");
const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];
function getPhase(phase) {
if (phase === "Retry") {
return retryPhase;
} else if (phase === "Serialize") {
return serializePhase;
} else if (phase === "Deserialize") {
return deserializePhase;
} else if (phase === "Sign") {
return signPhase;
} else {
return noPhase;
}
}
for (const descriptor of this._policies) {
const policy = descriptor.policy;
const options = descriptor.options;
const policyName = policy.name;
if (policyMap.has(policyName)) {
throw new Error("Duplicate policy names not allowed in pipeline");
}
const node = {
policy,
dependsOn: new Set,
dependants: new Set
};
if (options.afterPhase) {
node.afterPhase = getPhase(options.afterPhase);
node.afterPhase.hasAfterPolicies = true;
}
policyMap.set(policyName, node);
const phase = getPhase(options.phase);
phase.policies.add(node);
}
for (const descriptor of this._policies) {
const { policy, options } = descriptor;
const policyName = policy.name;
const node = policyMap.get(policyName);
if (!node) {
throw new Error(`Missing node for policy ${policyName}`);
}
if (options.afterPolicies) {
for (const afterPolicyName of options.afterPolicies) {
const afterNode = policyMap.get(afterPolicyName);
if (afterNode) {
node.dependsOn.add(afterNode);
afterNode.dependants.add(node);
}
}
}
if (options.beforePolicies) {
for (const beforePolicyName of options.beforePolicies) {
const beforeNode = policyMap.get(beforePolicyName);
if (beforeNode) {
beforeNode.dependsOn.add(node);
node.dependants.add(beforeNode);
}
}
}
}
function walkPhase(phase) {
phase.hasRun = true;
for (const node of phase.policies) {
if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {
continue;
}
if (node.dependsOn.size === 0) {
result.push(node.policy);
for (const dependant of node.dependants) {
dependant.dependsOn.delete(node);
}
policyMap.delete(node.policy.name);
phase.policies.delete(node);
}
}
}
function walkPhases() {
for (const phase of orderedPhases) {
walkPhase(phase);
if (phase.policies.size > 0 && phase !== noPhase) {
if (!noPhase.hasRun) {
walkPhase(noPhase);
}
return;
}
if (phase.hasAfterPolicies) {
walkPhase(noPhase);
}
}
}
let iteration = 0;
while (policyMap.size > 0) {
iteration++;
const initialResultLength = result.length;
walkPhases();
if (result.length <= initialResultLength && iteration > 1) {
throw new Error("Cannot satisfy policy dependencies due to requirements cycle.");
}
}
return result;
}
}
function createEmptyPipeline() {
return HttpPipeline.create();
}
var ValidPhaseNames;
var init_pipeline2 = __esm(() => {
ValidPhaseNames = new Set(["Deserialize", "Serialize", "Retry", "Sign"]);
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/inspect.js
import { inspect as inspect3 } from "node:util";
var custom2;
var init_inspect = __esm(() => {
custom2 = inspect3.custom;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/restError.js
function isRestError(e) {
if (e instanceof RestError) {
return true;
}
return isError(e) && e.name === "RestError";
}
var errorSanitizer, RestError;
var init_restError = __esm(() => {
init_error6();
init_inspect();
init_sanitizer();
errorSanitizer = new Sanitizer;
RestError = class RestError extends Error {
static REQUEST_SEND_ERROR = "REQUEST_SEND_ERROR";
static PARSE_ERROR = "PARSE_ERROR";
code;
statusCode;
request;
response;
details;
constructor(message, options = {}) {
super(message);
this.name = "RestError";
this.code = options.code;
this.statusCode = options.statusCode;
Object.defineProperty(this, "request", { value: options.request, enumerable: false });
Object.defineProperty(this, "response", { value: options.response, enumerable: false });
const agent = this.request?.agent ? {
maxFreeSockets: this.request.agent.maxFreeSockets,
maxSockets: this.request.agent.maxSockets
} : undefined;
Object.defineProperty(this, custom2, {
value: () => {
return `RestError: ${this.message}
${errorSanitizer.sanitize({
...this,
request: { ...this.request, agent },
response: this.response
})}`;
},
enumerable: false
});
Object.setPrototypeOf(this, RestError.prototype);
}
};
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/abort-controller/AbortError.js
var AbortError3;
var init_AbortError2 = __esm(() => {
AbortError3 = class AbortError3 extends Error {
constructor(message) {
super(message);
this.name = "AbortError";
}
};
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/log.js
var logger4;
var init_log7 = __esm(() => {
init_logger();
logger4 = createClientLogger("ts-http-runtime");
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/nodeHttpClient.js
import http6 from "node:http";
import https2 from "node:https";
import zlib2 from "node:zlib";
import { Transform as Transform2 } from "node:stream";
function isReadableStream4(body) {
return body && typeof body.pipe === "function";
}
function isStreamComplete(stream4) {
if (stream4.readable === false) {
return Promise.resolve();
}
return new Promise((resolve9) => {
const handler = () => {
resolve9();
stream4.removeListener("close", handler);
stream4.removeListener("end", handler);
stream4.removeListener("error", handler);
};
stream4.on("close", handler);
stream4.on("end", handler);
stream4.on("error", handler);
});
}
function isArrayBuffer3(body) {
return body && typeof body.byteLength === "number";
}
class NodeHttpClient {
cachedHttpAgent;
cachedHttpsAgents = new WeakMap;
async sendRequest(request) {
const abortController = new AbortController;
let abortListener;
if (request.abortSignal) {
if (request.abortSignal.aborted) {
throw new AbortError3("The operation was aborted. Request has already been canceled.");
}
abortListener = (event) => {
if (event.type === "abort") {
abortController.abort();
}
};
request.abortSignal.addEventListener("abort", abortListener);
}
let timeoutId;
if (request.timeout > 0) {
timeoutId = setTimeout(() => {
const sanitizer = new Sanitizer;
logger4.info(`request to '${sanitizer.sanitizeUrl(request.url)}' timed out. canceling...`);
abortController.abort();
}, request.timeout);
}
const acceptEncoding = request.headers.get("Accept-Encoding");
const shouldDecompress = acceptEncoding?.includes("gzip") || acceptEncoding?.includes("deflate");
let body = typeof request.body === "function" ? request.body() : request.body;
if (body && !request.headers.has("Content-Length")) {
const bodyLength = getBodyLength(body);
if (bodyLength !== null) {
request.headers.set("Content-Length", bodyLength);
}
}
let responseStream;
try {
if (body && request.onUploadProgress) {
const onUploadProgress = request.onUploadProgress;
const uploadReportStream = new ReportTransform(onUploadProgress);
uploadReportStream.on("error", (e) => {
logger4.error("Error in upload progress", e);
});
if (isReadableStream4(body)) {
body.pipe(uploadReportStream);
} else {
uploadReportStream.end(body);
}
body = uploadReportStream;
}
const res = await this.makeRequest(request, abortController, body);
if (timeoutId !== undefined) {
clearTimeout(timeoutId);
}
const headers = getResponseHeaders(res);
const status = res.statusCode ?? 0;
const response = {
status,
headers,
request
};
if (request.method === "HEAD") {
res.resume();
return response;
}
responseStream = shouldDecompress ? getDecodedResponseStream(res, headers) : res;
const onDownloadProgress = request.onDownloadProgress;
if (onDownloadProgress) {
const downloadReportStream = new ReportTransform(onDownloadProgress);
downloadReportStream.on("error", (e) => {
logger4.error("Error in download progress", e);
});
responseStream.pipe(downloadReportStream);
responseStream = downloadReportStream;
}
if (request.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY) || request.streamResponseStatusCodes?.has(response.status)) {
response.readableStreamBody = responseStream;
} else {
response.bodyAsText = await streamToText(responseStream);
}
return response;
} finally {
if (request.abortSignal && abortListener) {
let uploadStreamDone = Promise.resolve();
if (isReadableStream4(body)) {
uploadStreamDone = isStreamComplete(body);
}
let downloadStreamDone = Promise.resolve();
if (isReadableStream4(responseStream)) {
downloadStreamDone = isStreamComplete(responseStream);
}
Promise.all([uploadStreamDone, downloadStreamDone]).then(() => {
if (abortListener) {
request.abortSignal?.removeEventListener("abort", abortListener);
}
}).catch((e) => {
logger4.warning("Error when cleaning up abortListener on httpRequest", e);
});
}
}
}
makeRequest(request, abortController, body) {
const url3 = new URL(request.url);
const isInsecure = url3.protocol !== "https:";
if (isInsecure && !request.allowInsecureConnection) {
throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);
}
const agent = request.agent ?? this.getOrCreateAgent(request, isInsecure);
const options = {
agent,
hostname: url3.hostname,
path: `${url3.pathname}${url3.search}`,
port: url3.port,
method: request.method,
headers: request.headers.toJSON({ preserveCase: true }),
...request.requestOverrides
};
return new Promise((resolve9, reject) => {
const req = isInsecure ? http6.request(options, resolve9) : https2.request(options, resolve9);
req.once("error", (err) => {
reject(new RestError(err.message, { code: err.code ?? RestError.REQUEST_SEND_ERROR, request }));
});
abortController.signal.addEventListener("abort", () => {
const abortError = new AbortError3("The operation was aborted. Rejecting from abort signal callback while making request.");
req.destroy(abortError);
reject(abortError);
});
if (body && isReadableStream4(body)) {
body.pipe(req);
} else if (body) {
if (typeof body === "string" || Buffer.isBuffer(body)) {
req.end(body);
} else if (isArrayBuffer3(body)) {
req.end(ArrayBuffer.isView(body) ? Buffer.from(body.buffer) : Buffer.from(body));
} else {
logger4.error("Unrecognized body type", body);
reject(new RestError("Unrecognized body type"));
}
} else {
req.end();
}
});
}
getOrCreateAgent(request, isInsecure) {
const disableKeepAlive2 = request.disableKeepAlive;
if (isInsecure) {
if (disableKeepAlive2) {
return http6.globalAgent;
}
if (!this.cachedHttpAgent) {
this.cachedHttpAgent = new http6.Agent({ keepAlive: true });
}
return this.cachedHttpAgent;
} else {
if (disableKeepAlive2 && !request.tlsSettings) {
return https2.globalAgent;
}
const tlsSettings = request.tlsSettings ?? DEFAULT_TLS_SETTINGS;
let agent = this.cachedHttpsAgents.get(tlsSettings);
if (agent && agent.options.keepAlive === !disableKeepAlive2) {
return agent;
}
logger4.info("No cached TLS Agent exist, creating a new Agent");
agent = new https2.Agent({
keepAlive: !disableKeepAlive2,
...tlsSettings
});
this.cachedHttpsAgents.set(tlsSettings, agent);
return agent;
}
}
}
function getResponseHeaders(res) {
const headers = createHttpHeaders();
for (const header of Object.keys(res.headers)) {
const value = res.headers[header];
if (Array.isArray(value)) {
if (value.length > 0) {
headers.set(header, value[0]);
}
} else if (value) {
headers.set(header, value);
}
}
return headers;
}
function getDecodedResponseStream(stream4, headers) {
const contentEncoding = headers.get("Content-Encoding");
if (contentEncoding === "gzip") {
const unzip = zlib2.createGunzip();
stream4.pipe(unzip);
return unzip;
} else if (contentEncoding === "deflate") {
const inflate = zlib2.createInflate();
stream4.pipe(inflate);
return inflate;
}
return stream4;
}
function streamToText(stream4) {
return new Promise((resolve9, reject) => {
const buffer = [];
stream4.on("data", (chunk) => {
if (Buffer.isBuffer(chunk)) {
buffer.push(chunk);
} else {
buffer.push(Buffer.from(chunk));
}
});
stream4.on("end", () => {
resolve9(Buffer.concat(buffer).toString("utf8"));
});
stream4.on("error", (e) => {
if (e && e?.name === "AbortError") {
reject(e);
} else {
reject(new RestError(`Error reading response as text: ${e.message}`, {
code: RestError.PARSE_ERROR
}));
}
});
});
}
function getBodyLength(body) {
if (!body) {
return 0;
} else if (Buffer.isBuffer(body)) {
return body.length;
} else if (isReadableStream4(body)) {
return null;
} else if (isArrayBuffer3(body)) {
return body.byteLength;
} else if (typeof body === "string") {
return Buffer.from(body).length;
} else {
return null;
}
}
function createNodeHttpClient() {
return new NodeHttpClient;
}
var DEFAULT_TLS_SETTINGS, ReportTransform;
var init_nodeHttpClient = __esm(() => {
init_AbortError2();
init_httpHeaders();
init_restError();
init_log7();
init_sanitizer();
DEFAULT_TLS_SETTINGS = {};
ReportTransform = class ReportTransform extends Transform2 {
loadedBytes = 0;
progressCallback;
_transform(chunk, _encoding, callback) {
this.push(chunk);
this.loadedBytes += chunk.length;
try {
this.progressCallback({ loadedBytes: this.loadedBytes });
callback();
} catch (e) {
callback(e);
}
}
constructor(progressCallback) {
super();
this.progressCallback = progressCallback;
}
};
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/defaultHttpClient.js
function createDefaultHttpClient() {
return createNodeHttpClient();
}
var init_defaultHttpClient = __esm(() => {
init_nodeHttpClient();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/index.js
var init_esm6 = __esm(() => {
init_httpHeaders();
init_pipelineRequest();
init_pipeline2();
init_restError();
init_defaultHttpClient();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/pipeline.js
function createEmptyPipeline2() {
return createEmptyPipeline();
}
var init_pipeline3 = __esm(() => {
init_esm6();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/log.js
var logger5;
var init_log8 = __esm(() => {
init_esm2();
logger5 = createClientLogger2("core-rest-pipeline");
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/agentPolicy.js
function agentPolicy(agent) {
return {
name: agentPolicyName,
sendRequest: async (req, next) => {
if (!req.agent) {
req.agent = agent;
}
return next(req);
}
};
}
var agentPolicyName = "agentPolicy";
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/decompressResponsePolicy.js
function decompressResponsePolicy() {
return {
name: decompressResponsePolicyName,
async sendRequest(request, next) {
if (request.method !== "HEAD") {
request.headers.set("Accept-Encoding", "gzip,deflate");
}
return next(request);
}
};
}
var decompressResponsePolicyName = "decompressResponsePolicy";
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/helpers.js
function delay3(delayInMs, value, options) {
return new Promise((resolve9, reject) => {
let timer = undefined;
let onAborted = undefined;
const rejectOnAbort = () => {
return reject(new AbortError3(options?.abortErrorMsg ? options?.abortErrorMsg : StandardAbortMessage2));
};
const removeListeners = () => {
if (options?.abortSignal && onAborted) {
options.abortSignal.removeEventListener("abort", onAborted);
}
};
onAborted = () => {
if (timer) {
clearTimeout(timer);
}
removeListeners();
return rejectOnAbort();
};
if (options?.abortSignal && options.abortSignal.aborted) {
return rejectOnAbort();
}
timer = setTimeout(() => {
removeListeners();
resolve9(value);
}, delayInMs);
if (options?.abortSignal) {
options.abortSignal.addEventListener("abort", onAborted);
}
});
}
function parseHeaderValueAsNumber(response, headerName) {
const value = response.headers.get(headerName);
if (!value)
return;
const valueAsNum = Number(value);
if (Number.isNaN(valueAsNum))
return;
return valueAsNum;
}
var StandardAbortMessage2 = "The operation was aborted.";
var init_helpers2 = __esm(() => {
init_AbortError2();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/retryStrategies/throttlingRetryStrategy.js
function getRetryAfterInMs(response) {
if (!(response && [429, 503].includes(response.status)))
return;
try {
for (const header of AllRetryAfterHeaders) {
const retryAfterValue = parseHeaderValueAsNumber(response, header);
if (retryAfterValue === 0 || retryAfterValue) {
const multiplyingFactor = header === RetryAfterHeader ? 1000 : 1;
return retryAfterValue * multiplyingFactor;
}
}
const retryAfterHeader = response.headers.get(RetryAfterHeader);
if (!retryAfterHeader)
return;
const date5 = Date.parse(retryAfterHeader);
const diff = date5 - Date.now();
return Number.isFinite(diff) ? Math.max(0, diff) : undefined;
} catch {
return;
}
}
function isThrottlingRetryResponse(response) {
return Number.isFinite(getRetryAfterInMs(response));
}
function throttlingRetryStrategy() {
return {
name: "throttlingRetryStrategy",
retry({ response }) {
const retryAfterInMs = getRetryAfterInMs(response);
if (!Number.isFinite(retryAfterInMs)) {
return { skipStrategy: true };
}
return {
retryAfterInMs
};
}
};
}
var RetryAfterHeader = "Retry-After", AllRetryAfterHeaders;
var init_throttlingRetryStrategy = __esm(() => {
init_helpers2();
AllRetryAfterHeaders = ["retry-after-ms", "x-ms-retry-after-ms", RetryAfterHeader];
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/retryStrategies/exponentialRetryStrategy.js
function exponentialRetryStrategy(options = {}) {
const retryInterval = options.retryDelayInMs ?? DEFAULT_CLIENT_RETRY_INTERVAL;
const maxRetryInterval = options.maxRetryDelayInMs ?? DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
return {
name: "exponentialRetryStrategy",
retry({ retryCount, response, responseError }) {
const matchedSystemError = isSystemError(responseError);
const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;
const isExponential = isExponentialRetryResponse(response);
const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;
const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential);
if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {
return { skipStrategy: true };
}
if (responseError && !matchedSystemError && !isExponential) {
return { errorToThrow: responseError };
}
return calculateRetryDelay(retryCount, {
retryDelayInMs: retryInterval,
maxRetryDelayInMs: maxRetryInterval
});
}
};
}
function isExponentialRetryResponse(response) {
return Boolean(response && response.status !== undefined && (response.status >= 500 || response.status === 408) && response.status !== 501 && response.status !== 505);
}
function isSystemError(err) {
if (!err) {
return false;
}
return err.code === "ETIMEDOUT" || err.code === "ESOCKETTIMEDOUT" || err.code === "ECONNREFUSED" || err.code === "ECONNRESET" || err.code === "ENOENT" || err.code === "ENOTFOUND";
}
var DEFAULT_CLIENT_RETRY_INTERVAL = 1000, DEFAULT_CLIENT_MAX_RETRY_INTERVAL;
var init_exponentialRetryStrategy = __esm(() => {
init_delay();
init_throttlingRetryStrategy();
DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/constants.js
var DEFAULT_RETRY_POLICY_COUNT = 3;
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/retryPolicy.js
function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT }) {
const logger6 = options.logger || retryPolicyLogger;
return {
name: retryPolicyName,
async sendRequest(request, next) {
let response;
let responseError;
let retryCount = -1;
retryRequest:
while (true) {
retryCount += 1;
response = undefined;
responseError = undefined;
try {
logger6.info(`Retry ${retryCount}: Attempting to send request`, request.requestId);
response = await next(request);
logger6.info(`Retry ${retryCount}: Received a response from request`, request.requestId);
} catch (e) {
logger6.error(`Retry ${retryCount}: Received an error from request`, request.requestId);
responseError = e;
if (!e || responseError.name !== "RestError") {
throw e;
}
response = responseError.response;
}
if (request.abortSignal?.aborted) {
logger6.error(`Retry ${retryCount}: Request aborted.`);
const abortError = new AbortError3;
throw abortError;
}
if (retryCount >= (options.maxRetries ?? DEFAULT_RETRY_POLICY_COUNT)) {
logger6.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);
if (responseError) {
throw responseError;
} else if (response) {
return response;
} else {
throw new Error("Maximum retries reached with no response or error to throw");
}
}
logger6.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);
strategiesLoop:
for (const strategy of strategies) {
const strategyLogger = strategy.logger || logger6;
strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);
const modifiers = strategy.retry({
retryCount,
response,
responseError
});
if (modifiers.skipStrategy) {
strategyLogger.info(`Retry ${retryCount}: Skipped.`);
continue strategiesLoop;
}
const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;
if (errorToThrow) {
strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);
throw errorToThrow;
}
if (retryAfterInMs || retryAfterInMs === 0) {
strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);
await delay3(retryAfterInMs, undefined, { abortSignal: request.abortSignal });
continue retryRequest;
}
if (redirectTo) {
strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);
request.url = redirectTo;
continue retryRequest;
}
}
if (responseError) {
logger6.info(`None of the retry strategies could work with the received error. Throwing it.`);
throw responseError;
}
if (response) {
logger6.info(`None of the retry strategies could work with the received response. Returning it.`);
return response;
}
}
}
};
}
var retryPolicyLogger, retryPolicyName = "retryPolicy";
var init_retryPolicy = __esm(() => {
init_helpers2();
init_AbortError2();
init_logger();
retryPolicyLogger = createClientLogger("ts-http-runtime retryPolicy");
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/defaultRetryPolicy.js
function defaultRetryPolicy(options = {}) {
return {
name: defaultRetryPolicyName,
sendRequest: retryPolicy([throttlingRetryStrategy(), exponentialRetryStrategy(options)], {
maxRetries: options.maxRetries ?? DEFAULT_RETRY_POLICY_COUNT
}).sendRequest
};
}
var defaultRetryPolicyName = "defaultRetryPolicy";
var init_defaultRetryPolicy = __esm(() => {
init_exponentialRetryStrategy();
init_throttlingRetryStrategy();
init_retryPolicy();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/formDataPolicy.js
function formDataToFormDataMap(formData) {
const formDataMap = {};
for (const [key, value] of formData.entries()) {
formDataMap[key] ??= [];
formDataMap[key].push(value);
}
return formDataMap;
}
function formDataPolicy() {
return {
name: formDataPolicyName,
async sendRequest(request, next) {
if (isNodeLike && typeof FormData !== "undefined" && request.body instanceof FormData) {
request.formData = formDataToFormDataMap(request.body);
request.body = undefined;
}
if (request.formData) {
const contentType = request.headers.get("Content-Type");
if (contentType && contentType.indexOf("application/x-www-form-urlencoded") !== -1) {
request.body = wwwFormUrlEncode(request.formData);
} else {
await prepareFormData(request.formData, request);
}
request.formData = undefined;
}
return next(request);
}
};
}
function wwwFormUrlEncode(formData) {
const urlSearchParams = new URLSearchParams;
for (const [key, value] of Object.entries(formData)) {
if (Array.isArray(value)) {
for (const subValue of value) {
urlSearchParams.append(key, subValue.toString());
}
} else {
urlSearchParams.append(key, value.toString());
}
}
return urlSearchParams.toString();
}
async function prepareFormData(formData, request) {
const contentType = request.headers.get("Content-Type");
if (contentType && !contentType.startsWith("multipart/form-data")) {
return;
}
request.headers.set("Content-Type", contentType ?? "multipart/form-data");
const parts = [];
for (const [fieldName, values2] of Object.entries(formData)) {
for (const value of Array.isArray(values2) ? values2 : [values2]) {
if (typeof value === "string") {
parts.push({
headers: createHttpHeaders({
"Content-Disposition": `form-data; name="${fieldName}"`
}),
body: stringToUint8Array2(value, "utf-8")
});
} else if (value === undefined || value === null || typeof value !== "object") {
throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);
} else {
const fileName = value.name || "blob";
const headers = createHttpHeaders();
headers.set("Content-Disposition", `form-data; name="${fieldName}"; filename="${fileName}"`);
headers.set("Content-Type", value.type || "application/octet-stream");
parts.push({
headers,
body: value
});
}
}
}
request.multipartBody = { parts };
}
var formDataPolicyName = "formDataPolicy";
var init_formDataPolicy = __esm(() => {
init_checkEnvironment();
init_httpHeaders();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/logPolicy.js
function logPolicy(options = {}) {
const logger6 = options.logger ?? logger4.info;
const sanitizer = new Sanitizer({
additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,
additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
});
return {
name: logPolicyName,
async sendRequest(request, next) {
if (!logger6.enabled) {
return next(request);
}
logger6(`Request: ${sanitizer.sanitize(request)}`);
const response = await next(request);
logger6(`Response status code: ${response.status}`);
logger6(`Headers: ${sanitizer.sanitize(response.headers)}`);
return response;
}
};
}
var logPolicyName = "logPolicy";
var init_logPolicy = __esm(() => {
init_log7();
init_sanitizer();
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/typeGuards.js
function isBlob2(x3) {
return typeof x3.stream === "function";
}
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/util/concat.js
import { Readable as Readable5 } from "stream";
async function* streamAsyncIterator() {
const reader = this.getReader();
try {
while (true) {
const { done, value } = await reader.read();
if (done) {
return;
}
yield value;
}
} finally {
reader.releaseLock();
}
}
function makeAsyncIterable(webStream) {
if (!webStream[Symbol.asyncIterator]) {
webStream[Symbol.asyncIterator] = streamAsyncIterator.bind(webStream);
}
if (!webStream.values) {
webStream.values = streamAsyncIterator.bind(webStream);
}
}
function ensureNodeStream(stream4) {
if (stream4 instanceof ReadableStream) {
makeAsyncIterable(stream4);
return Readable5.fromWeb(stream4);
} else {
return stream4;
}
}
function toStream(source) {
if (source instanceof Uint8Array) {
return Readable5.from(Buffer.from(source));
} else if (isBlob2(source)) {
return ensureNodeStream(source.stream());
} else {
return ensureNodeStream(source);
}
}
async function concat(sources) {
return function() {
const streams2 = sources.map((x3) => typeof x3 === "function" ? x3() : x3).map(toStream);
return Readable5.from(async function* () {
for (const stream4 of streams2) {
for await (const chunk of stream4) {
yield chunk;
}
}
}());
};
}
var init_concat = () => {};
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/multipartPolicy.js
function generateBoundary() {
return `----AzSDKFormBoundary${randomUUID2()}`;
}
function encodeHeaders(headers) {
let result = "";
for (const [key, value] of headers) {
result += `${key}: ${value}\r
`;
}
return result;
}
function getLength(source) {
if (source instanceof Uint8Array) {
return source.byteLength;
} else if (isBlob2(source)) {
return source.size === -1 ? undefined : source.size;
} else {
return;
}
}
function getTotalLength(sources) {
let total = 0;
for (const source of sources) {
const partLength = getLength(source);
if (partLength === undefined) {
return;
} else {
total += partLength;
}
}
return total;
}
async function buildRequestBody(request, parts, boundary) {
const sources = [
stringToUint8Array2(`--${boundary}`, "utf-8"),
...parts.flatMap((part) => [
stringToUint8Array2(`\r
`, "utf-8"),
stringToUint8Array2(encodeHeaders(part.headers), "utf-8"),
stringToUint8Array2(`\r
`, "utf-8"),
part.body,
stringToUint8Array2(`\r
--${boundary}`, "utf-8")
]),
stringToUint8Array2(`--\r
\r
`, "utf-8")
];
const contentLength = getTotalLength(sources);
if (contentLength) {
request.headers.set("Content-Length", contentLength);
}
request.body = await concat(sources);
}
function assertValidBoundary(boundary) {
if (boundary.length > maxBoundaryLength) {
throw new Error(`Multipart boundary "${boundary}" exceeds maximum length of 70 characters`);
}
if (Array.from(boundary).some((x3) => !validBoundaryCharacters.has(x3))) {
throw new Error(`Multipart boundary "${boundary}" contains invalid characters`);
}
}
function multipartPolicy() {
return {
name: multipartPolicyName,
async sendRequest(request, next) {
if (!request.multipartBody) {
return next(request);
}
if (request.body) {
throw new Error("multipartBody and regular body cannot be set at the same time");
}
let boundary = request.multipartBody.boundary;
const contentTypeHeader = request.headers.get("Content-Type") ?? "multipart/mixed";
const parsedHeader = contentTypeHeader.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);
if (!parsedHeader) {
throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);
}
const [, contentType, parsedBoundary] = parsedHeader;
if (parsedBoundary && boundary && parsedBoundary !== boundary) {
throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);
}
boundary ??= parsedBoundary;
if (boundary) {
assertValidBoundary(boundary);
} else {
boundary = generateBoundary();
}
request.headers.set("Content-Type", `${contentType}; boundary=${boundary}`);
await buildRequestBody(request, request.multipartBody.parts, boundary);
request.multipartBody = undefined;
return next(request);
}
};
}
var multipartPolicyName = "multipartPolicy", maxBoundaryLength = 70, validBoundaryCharacters;
var init_multipartPolicy = __esm(() => {
init_concat();
validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);
});
// node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/helpers.js
var require_helpers = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 in mod2)
if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2))
__createBinding(result, mod2, k2);
}
__setModuleDefault(result, mod2);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.req = exports.json = exports.toBuffer = undefined;
var http4 = __importStar(__require("http"));
var https3 = __importStar(__require("https"));
async function toBuffer(stream4) {
let length = 0;
const chunks = [];
for await (const chunk of stream4) {
length += chunk.length;
chunks.push(chunk);
}
return Buffer.concat(chunks, length);
}
exports.toBuffer = toBuffer;
async function json2(stream4) {
const buf = await toBuffer(stream4);
const str = buf.toString("utf8");
try {
return JSON.parse(str);
} catch (_err) {
const err = _err;
err.message += ` (input: ${str})`;
throw err;
}
}
exports.json = json2;
function req(url3, opts = {}) {
const href = typeof url3 === "string" ? url3 : url3.href;
const req2 = (href.startsWith("https:") ? https3 : http4).request(url3, opts);
const promise2 = new Promise((resolve9, reject) => {
req2.once("response", resolve9).once("error", reject).end();
});
req2.then = promise2.then.bind(promise2);
return req2;
}
exports.req = req;
});
// node_modules/.pnpm/agent-base@7.1.4/node_modules/agent-base/dist/index.js
var require_dist3 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 in mod2)
if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2))
__createBinding(result, mod2, k2);
}
__setModuleDefault(result, mod2);
return result;
};
var __exportStar = exports && exports.__exportStar || function(m2, exports2) {
for (var p in m2)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m2, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Agent = undefined;
var net3 = __importStar(__require("net"));
var http4 = __importStar(__require("http"));
var https_1 = __require("https");
__exportStar(require_helpers(), exports);
var INTERNAL2 = Symbol("AgentBaseInternalState");
class Agent3 extends http4.Agent {
constructor(opts) {
super(opts);
this[INTERNAL2] = {};
}
isSecureEndpoint(options) {
if (options) {
if (typeof options.secureEndpoint === "boolean") {
return options.secureEndpoint;
}
if (typeof options.protocol === "string") {
return options.protocol === "https:";
}
}
const { stack } = new Error;
if (typeof stack !== "string")
return false;
return stack.split(`
`).some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
}
incrementSockets(name3) {
if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
return null;
}
if (!this.sockets[name3]) {
this.sockets[name3] = [];
}
const fakeSocket = new net3.Socket({ writable: false });
this.sockets[name3].push(fakeSocket);
this.totalSocketCount++;
return fakeSocket;
}
decrementSockets(name3, socket) {
if (!this.sockets[name3] || socket === null) {
return;
}
const sockets = this.sockets[name3];
const index = sockets.indexOf(socket);
if (index !== -1) {
sockets.splice(index, 1);
this.totalSocketCount--;
if (sockets.length === 0) {
delete this.sockets[name3];
}
}
}
getName(options) {
const secureEndpoint = this.isSecureEndpoint(options);
if (secureEndpoint) {
return https_1.Agent.prototype.getName.call(this, options);
}
return super.getName(options);
}
createSocket(req, options, cb) {
const connectOpts = {
...options,
secureEndpoint: this.isSecureEndpoint(options)
};
const name3 = this.getName(connectOpts);
const fakeSocket = this.incrementSockets(name3);
Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
this.decrementSockets(name3, fakeSocket);
if (socket instanceof http4.Agent) {
try {
return socket.addRequest(req, connectOpts);
} catch (err) {
return cb(err);
}
}
this[INTERNAL2].currentSocket = socket;
super.createSocket(req, options, cb);
}, (err) => {
this.decrementSockets(name3, fakeSocket);
cb(err);
});
}
createConnection() {
const socket = this[INTERNAL2].currentSocket;
this[INTERNAL2].currentSocket = undefined;
if (!socket) {
throw new Error("No socket was returned in the `connect()` function");
}
return socket;
}
get defaultPort() {
return this[INTERNAL2].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
}
set defaultPort(v2) {
if (this[INTERNAL2]) {
this[INTERNAL2].defaultPort = v2;
}
}
get protocol() {
return this[INTERNAL2].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
}
set protocol(v2) {
if (this[INTERNAL2]) {
this[INTERNAL2].protocol = v2;
}
}
}
exports.Agent = Agent3;
});
// node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js
var require_parse_proxy_response = __commonJS((exports) => {
var __importDefault = exports && exports.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseProxyResponse = undefined;
var debug_1 = __importDefault(require_src());
var debug3 = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
function parseProxyResponse2(socket) {
return new Promise((resolve9, reject) => {
let buffersLength = 0;
const buffers = [];
function read() {
const b2 = socket.read();
if (b2)
ondata(b2);
else
socket.once("readable", read);
}
function cleanup() {
socket.removeListener("end", onend);
socket.removeListener("error", onerror);
socket.removeListener("readable", read);
}
function onend() {
cleanup();
debug3("onend");
reject(new Error("Proxy connection ended before receiving CONNECT response"));
}
function onerror(err) {
cleanup();
debug3("onerror %o", err);
reject(err);
}
function ondata(b2) {
buffers.push(b2);
buffersLength += b2.length;
const buffered = Buffer.concat(buffers, buffersLength);
const endOfHeaders = buffered.indexOf(`\r
\r
`);
if (endOfHeaders === -1) {
debug3("have not received end of HTTP headers yet...");
read();
return;
}
const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split(`\r
`);
const firstLine = headerParts.shift();
if (!firstLine) {
socket.destroy();
return reject(new Error("No header received from proxy CONNECT response"));
}
const firstLineParts = firstLine.split(" ");
const statusCode = +firstLineParts[1];
const statusText = firstLineParts.slice(2).join(" ");
const headers = {};
for (const header of headerParts) {
if (!header)
continue;
const firstColon = header.indexOf(":");
if (firstColon === -1) {
socket.destroy();
return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
}
const key = header.slice(0, firstColon).toLowerCase();
const value = header.slice(firstColon + 1).trimStart();
const current = headers[key];
if (typeof current === "string") {
headers[key] = [current, value];
} else if (Array.isArray(current)) {
current.push(value);
} else {
headers[key] = value;
}
}
debug3("got proxy server response: %o %o", firstLine, headers);
cleanup();
resolve9({
connect: {
statusCode,
statusText,
headers
},
buffered
});
}
socket.on("error", onerror);
socket.on("end", onend);
read();
});
}
exports.parseProxyResponse = parseProxyResponse2;
});
// node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js
var require_dist4 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 in mod2)
if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2))
__createBinding(result, mod2, k2);
}
__setModuleDefault(result, mod2);
return result;
};
var __importDefault = exports && exports.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpsProxyAgent = undefined;
var net3 = __importStar(__require("net"));
var tls2 = __importStar(__require("tls"));
var assert_1 = __importDefault(__require("assert"));
var debug_1 = __importDefault(require_src());
var agent_base_1 = require_dist3();
var url_1 = __require("url");
var parse_proxy_response_1 = require_parse_proxy_response();
var debug3 = (0, debug_1.default)("https-proxy-agent");
var setServernameFromNonIpHost2 = (options) => {
if (options.servername === undefined && options.host && !net3.isIP(options.host)) {
return {
...options,
servername: options.host
};
}
return options;
};
class HttpsProxyAgent2 extends agent_base_1.Agent {
constructor(proxy, opts) {
super(opts);
this.options = { path: undefined };
this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
this.proxyHeaders = opts?.headers ?? {};
debug3("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
this.connectOpts = {
ALPNProtocols: ["http/1.1"],
...opts ? omit3(opts, "headers") : null,
host,
port
};
}
async connect(req, opts) {
const { proxy } = this;
if (!opts.host) {
throw new TypeError('No "host" provided');
}
let socket;
if (proxy.protocol === "https:") {
debug3("Creating `tls.Socket`: %o", this.connectOpts);
socket = tls2.connect(setServernameFromNonIpHost2(this.connectOpts));
} else {
debug3("Creating `net.Socket`: %o", this.connectOpts);
socket = net3.connect(this.connectOpts);
}
const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
const host = net3.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
`;
if (proxy.username || proxy.password) {
const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
}
headers.Host = `${host}:${opts.port}`;
if (!headers["Proxy-Connection"]) {
headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
}
for (const name3 of Object.keys(headers)) {
payload += `${name3}: ${headers[name3]}\r
`;
}
const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
socket.write(`${payload}\r
`);
const { connect: connect3, buffered } = await proxyResponsePromise;
req.emit("proxyConnect", connect3);
this.emit("proxyConnect", connect3, req);
if (connect3.statusCode === 200) {
req.once("socket", resume2);
if (opts.secureEndpoint) {
debug3("Upgrading socket connection to TLS");
return tls2.connect({
...omit3(setServernameFromNonIpHost2(opts), "host", "path", "port"),
socket
});
}
return socket;
}
socket.destroy();
const fakeSocket = new net3.Socket({ writable: false });
fakeSocket.readable = true;
req.once("socket", (s) => {
debug3("Replaying proxy buffer for failed request");
(0, assert_1.default)(s.listenerCount("data") > 0);
s.push(buffered);
s.push(null);
});
return fakeSocket;
}
}
HttpsProxyAgent2.protocols = ["http", "https"];
exports.HttpsProxyAgent = HttpsProxyAgent2;
function resume2(socket) {
socket.resume();
}
function omit3(obj, ...keys2) {
const ret = {};
let key;
for (key in obj) {
if (!keys2.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
});
// node_modules/.pnpm/http-proxy-agent@7.0.2/node_modules/http-proxy-agent/dist/index.js
var require_dist5 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m2, k2);
if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m2[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m2, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m2[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 in mod2)
if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod2, k2))
__createBinding(result, mod2, k2);
}
__setModuleDefault(result, mod2);
return result;
};
var __importDefault = exports && exports.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpProxyAgent = undefined;
var net3 = __importStar(__require("net"));
var tls2 = __importStar(__require("tls"));
var debug_1 = __importDefault(require_src());
var events_1 = __require("events");
var agent_base_1 = require_dist3();
var url_1 = __require("url");
var debug3 = (0, debug_1.default)("http-proxy-agent");
class HttpProxyAgent extends agent_base_1.Agent {
constructor(proxy, opts) {
super(opts);
this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
this.proxyHeaders = opts?.headers ?? {};
debug3("Creating new HttpProxyAgent instance: %o", this.proxy.href);
const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
this.connectOpts = {
...opts ? omit3(opts, "headers") : null,
host,
port
};
}
addRequest(req, opts) {
req._header = null;
this.setRequestProps(req, opts);
super.addRequest(req, opts);
}
setRequestProps(req, opts) {
const { proxy } = this;
const protocol = opts.secureEndpoint ? "https:" : "http:";
const hostname3 = req.getHeader("host") || "localhost";
const base2 = `${protocol}//${hostname3}`;
const url3 = new url_1.URL(req.path, base2);
if (opts.port !== 80) {
url3.port = String(opts.port);
}
req.path = String(url3);
const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
if (proxy.username || proxy.password) {
const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
}
if (!headers["Proxy-Connection"]) {
headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
}
for (const name3 of Object.keys(headers)) {
const value = headers[name3];
if (value) {
req.setHeader(name3, value);
}
}
}
async connect(req, opts) {
req._header = null;
if (!req.path.includes("://")) {
this.setRequestProps(req, opts);
}
let first;
let endOfHeaders;
debug3("Regenerating stored HTTP header string for request");
req._implicitHeader();
if (req.outputData && req.outputData.length > 0) {
debug3("Patching connection write() output buffer with updated header");
first = req.outputData[0].data;
endOfHeaders = first.indexOf(`\r
\r
`) + 4;
req.outputData[0].data = req._header + first.substring(endOfHeaders);
debug3("Output buffer: %o", req.outputData[0].data);
}
let socket;
if (this.proxy.protocol === "https:") {
debug3("Creating `tls.Socket`: %o", this.connectOpts);
socket = tls2.connect(this.connectOpts);
} else {
debug3("Creating `net.Socket`: %o", this.connectOpts);
socket = net3.connect(this.connectOpts);
}
await (0, events_1.once)(socket, "connect");
return socket;
}
}
HttpProxyAgent.protocols = ["http", "https"];
exports.HttpProxyAgent = HttpProxyAgent;
function omit3(obj, ...keys2) {
const ret = {};
let key;
for (key in obj) {
if (!keys2.includes(key)) {
ret[key] = obj[key];
}
}
return ret;
}
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/proxyPolicy.js
function getEnvironmentValue(name3) {
if (process.env[name3]) {
return process.env[name3];
} else if (process.env[name3.toLowerCase()]) {
return process.env[name3.toLowerCase()];
}
return;
}
function loadEnvironmentProxyValue() {
if (!process) {
return;
}
const httpsProxy = getEnvironmentValue(HTTPS_PROXY);
const allProxy = getEnvironmentValue(ALL_PROXY);
const httpProxy = getEnvironmentValue(HTTP_PROXY);
return httpsProxy || allProxy || httpProxy;
}
function isBypassed(uri, noProxyList, bypassedMap) {
if (noProxyList.length === 0) {
return false;
}
const host = new URL(uri).hostname;
if (bypassedMap?.has(host)) {
return bypassedMap.get(host);
}
let isBypassedFlag = false;
for (const pattern of noProxyList) {
if (pattern[0] === ".") {
if (host.endsWith(pattern)) {
isBypassedFlag = true;
} else {
if (host.length === pattern.length - 1 && host === pattern.slice(1)) {
isBypassedFlag = true;
}
}
} else {
if (host === pattern) {
isBypassedFlag = true;
}
}
}
bypassedMap?.set(host, isBypassedFlag);
return isBypassedFlag;
}
function loadNoProxy() {
const noProxy = getEnvironmentValue(NO_PROXY);
noProxyListLoaded = true;
if (noProxy) {
return noProxy.split(",").map((item) => item.trim()).filter((item) => item.length);
}
return [];
}
function getDefaultProxySettingsInternal() {
const envProxy = loadEnvironmentProxyValue();
return envProxy ? new URL(envProxy) : undefined;
}
function getUrlFromProxySettings(settings) {
let parsedProxyUrl;
try {
parsedProxyUrl = new URL(settings.host);
} catch {
throw new Error(`Expecting a valid host string in proxy settings, but found "${settings.host}".`);
}
parsedProxyUrl.port = String(settings.port);
if (settings.username) {
parsedProxyUrl.username = settings.username;
}
if (settings.password) {
parsedProxyUrl.password = settings.password;
}
return parsedProxyUrl;
}
function setProxyAgentOnRequest(request, cachedAgents, proxyUrl) {
if (request.agent) {
return;
}
const url3 = new URL(request.url);
const isInsecure = url3.protocol !== "https:";
if (request.tlsSettings) {
logger4.warning("TLS settings are not supported in combination with custom Proxy, certificates provided to the client will be ignored.");
}
const headers = request.headers.toJSON();
if (isInsecure) {
if (!cachedAgents.httpProxyAgent) {
cachedAgents.httpProxyAgent = new import_http_proxy_agent.HttpProxyAgent(proxyUrl, { headers });
}
request.agent = cachedAgents.httpProxyAgent;
} else {
if (!cachedAgents.httpsProxyAgent) {
cachedAgents.httpsProxyAgent = new import_https_proxy_agent2.HttpsProxyAgent(proxyUrl, { headers });
}
request.agent = cachedAgents.httpsProxyAgent;
}
}
function proxyPolicy(proxySettings, options) {
if (!noProxyListLoaded) {
globalNoProxyList.push(...loadNoProxy());
}
const defaultProxy = proxySettings ? getUrlFromProxySettings(proxySettings) : getDefaultProxySettingsInternal();
const cachedAgents = {};
return {
name: proxyPolicyName,
async sendRequest(request, next) {
if (!request.proxySettings && defaultProxy && !isBypassed(request.url, options?.customNoProxyList ?? globalNoProxyList, options?.customNoProxyList ? undefined : globalBypassedMap)) {
setProxyAgentOnRequest(request, cachedAgents, defaultProxy);
} else if (request.proxySettings) {
setProxyAgentOnRequest(request, cachedAgents, getUrlFromProxySettings(request.proxySettings));
}
return next(request);
}
};
}
var import_https_proxy_agent2, import_http_proxy_agent, HTTPS_PROXY = "HTTPS_PROXY", HTTP_PROXY = "HTTP_PROXY", ALL_PROXY = "ALL_PROXY", NO_PROXY = "NO_PROXY", proxyPolicyName = "proxyPolicy", globalNoProxyList, noProxyListLoaded = false, globalBypassedMap;
var init_proxyPolicy = __esm(() => {
init_log7();
import_https_proxy_agent2 = __toESM(require_dist4(), 1);
import_http_proxy_agent = __toESM(require_dist5(), 1);
globalNoProxyList = [];
globalBypassedMap = new Map;
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/redirectPolicy.js
function redirectPolicy(options = {}) {
const { maxRetries = 20, allowCrossOriginRedirects = false } = options;
return {
name: redirectPolicyName,
async sendRequest(request, next) {
const response = await next(request);
return handleRedirect(next, response, maxRetries, allowCrossOriginRedirects);
}
};
}
async function handleRedirect(next, response, maxRetries, allowCrossOriginRedirects, currentRetries = 0) {
const { request, status, headers } = response;
const locationHeader = headers.get("location");
if (locationHeader && (status === 300 || status === 301 && allowedRedirect.includes(request.method) || status === 302 && allowedRedirect.includes(request.method) || status === 303 && request.method === "POST" || status === 307) && currentRetries < maxRetries) {
const url3 = new URL(locationHeader, request.url);
if (!allowCrossOriginRedirects) {
const originalUrl = new URL(request.url);
if (url3.origin !== originalUrl.origin) {
logger4.verbose(`Skipping cross-origin redirect from ${originalUrl.origin} to ${url3.origin}.`);
return response;
}
}
request.url = url3.toString();
if (status === 303) {
request.method = "GET";
request.headers.delete("Content-Length");
delete request.body;
}
request.headers.delete("Authorization");
const res = await next(request);
return handleRedirect(next, res, maxRetries, allowCrossOriginRedirects, currentRetries + 1);
}
return response;
}
var redirectPolicyName = "redirectPolicy", allowedRedirect;
var init_redirectPolicy = __esm(() => {
init_log7();
allowedRedirect = ["GET", "HEAD"];
});
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/tlsPolicy.js
function tlsPolicy(tlsSettings) {
return {
name: tlsPolicyName,
sendRequest: async (req, next) => {
if (!req.tlsSettings) {
req.tlsSettings = tlsSettings;
}
return next(req);
}
};
}
var tlsPolicyName = "tlsPolicy";
// node_modules/.pnpm/@typespec+ts-http-runtime@0.3.4/node_modules/@typespec/ts-http-runtime/dist/esm/policies/internal.js
var init_internal3 = __esm(() => {
init_defaultRetryPolicy();
init_retryPolicy();
init_formDataPolicy();
init_logPolicy();
init_multipartPolicy();
init_proxyPolicy();
init_redirectPolicy();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/logPolicy.js
function logPolicy2(options = {}) {
return logPolicy({
logger: logger5.info,
...options
});
}
var init_logPolicy2 = __esm(() => {
init_log8();
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/redirectPolicy.js
function redirectPolicy2(options = {}) {
return redirectPolicy(options);
}
var init_redirectPolicy2 = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgentPlatform.js
import os4 from "node:os";
import process15 from "node:process";
function getHeaderName() {
return "User-Agent";
}
async function setPlatformSpecificData(map3) {
if (process15 && process15.versions) {
const osInfo = `${os4.type()} ${os4.release()}; ${os4.arch()}`;
const versions2 = process15.versions;
if (versions2.bun) {
map3.set("Bun", `${versions2.bun} (${osInfo})`);
} else if (versions2.deno) {
map3.set("Deno", `${versions2.deno} (${osInfo})`);
} else if (versions2.node) {
map3.set("Node", `${versions2.node} (${osInfo})`);
}
}
}
var init_userAgentPlatform = () => {};
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/constants.js
var SDK_VERSION3 = "1.22.3", DEFAULT_RETRY_POLICY_COUNT2 = 3;
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/util/userAgent.js
function getUserAgentString(telemetryInfo) {
const parts = [];
for (const [key, value] of telemetryInfo) {
const token = value ? `${key}/${value}` : key;
parts.push(token);
}
return parts.join(" ");
}
function getUserAgentHeaderName() {
return getHeaderName();
}
async function getUserAgentValue(prefix) {
const runtimeInfo = new Map;
runtimeInfo.set("core-rest-pipeline", SDK_VERSION3);
await setPlatformSpecificData(runtimeInfo);
const defaultAgent = getUserAgentString(runtimeInfo);
const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;
return userAgentValue;
}
var init_userAgent = __esm(() => {
init_userAgentPlatform();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/userAgentPolicy.js
function userAgentPolicy2(options = {}) {
const userAgentValue = getUserAgentValue(options.userAgentPrefix);
return {
name: userAgentPolicyName2,
async sendRequest(request, next) {
if (!request.headers.has(UserAgentHeaderName)) {
request.headers.set(UserAgentHeaderName, await userAgentValue);
}
return next(request);
}
};
}
var UserAgentHeaderName, userAgentPolicyName2 = "userAgentPolicy";
var init_userAgentPolicy = __esm(() => {
init_userAgent();
UserAgentHeaderName = getUserAgentHeaderName();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/util/file.js
function hasRawContent(x3) {
return typeof x3[rawContent] === "function";
}
function getRawContent(blob) {
if (hasRawContent(blob)) {
return blob[rawContent]();
} else {
return blob;
}
}
var rawContent;
var init_file2 = __esm(() => {
rawContent = Symbol("rawContent");
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/multipartPolicy.js
function multipartPolicy2() {
const tspPolicy = multipartPolicy();
return {
name: multipartPolicyName2,
sendRequest: async (request, next) => {
if (request.multipartBody) {
for (const part of request.multipartBody.parts) {
if (hasRawContent(part.body)) {
part.body = getRawContent(part.body);
}
}
}
return tspPolicy.sendRequest(request, next);
}
};
}
var multipartPolicyName2;
var init_multipartPolicy2 = __esm(() => {
init_internal3();
init_file2();
multipartPolicyName2 = multipartPolicyName;
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/decompressResponsePolicy.js
function decompressResponsePolicy2() {
return decompressResponsePolicy();
}
var init_decompressResponsePolicy = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/defaultRetryPolicy.js
function defaultRetryPolicy2(options = {}) {
return defaultRetryPolicy(options);
}
var init_defaultRetryPolicy2 = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/formDataPolicy.js
function formDataPolicy2() {
return formDataPolicy();
}
var init_formDataPolicy2 = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/proxyPolicy.js
function proxyPolicy2(proxySettings, options) {
return proxyPolicy(proxySettings, options);
}
var init_proxyPolicy2 = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/setClientRequestIdPolicy.js
function setClientRequestIdPolicy(requestIdHeaderName = "x-ms-client-request-id") {
return {
name: setClientRequestIdPolicyName,
async sendRequest(request, next) {
if (!request.headers.has(requestIdHeaderName)) {
request.headers.set(requestIdHeaderName, request.requestId);
}
return next(request);
}
};
}
var setClientRequestIdPolicyName = "setClientRequestIdPolicy";
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/agentPolicy.js
function agentPolicy2(agent) {
return agentPolicy(agent);
}
var init_agentPolicy = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/tlsPolicy.js
function tlsPolicy2(tlsSettings) {
return tlsPolicy(tlsSettings);
}
var init_tlsPolicy = __esm(() => {
init_internal3();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/restError.js
function isRestError2(e) {
return isRestError(e);
}
var RestError2;
var init_restError2 = __esm(() => {
init_esm6();
RestError2 = RestError;
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/tracingPolicy.js
function tracingPolicy(options = {}) {
const userAgentPromise = getUserAgentValue(options.userAgentPrefix);
const sanitizer = new Sanitizer({
additionalAllowedQueryParameters: options.additionalAllowedQueryParameters
});
const tracingClient2 = tryCreateTracingClient();
return {
name: tracingPolicyName,
async sendRequest(request, next) {
if (!tracingClient2) {
return next(request);
}
const userAgent = await userAgentPromise;
const spanAttributes = {
"http.url": sanitizer.sanitizeUrl(request.url),
"http.method": request.method,
"http.user_agent": userAgent,
requestId: request.requestId
};
if (userAgent) {
spanAttributes["http.user_agent"] = userAgent;
}
const { span, tracingContext } = tryCreateSpan(tracingClient2, request, spanAttributes) ?? {};
if (!span || !tracingContext) {
return next(request);
}
try {
const response = await tracingClient2.withContext(tracingContext, next, request);
tryProcessResponse(span, response);
return response;
} catch (err) {
tryProcessError(span, err);
throw err;
}
}
};
}
function tryCreateTracingClient() {
try {
return createTracingClient({
namespace: "",
packageName: "@azure/core-rest-pipeline",
packageVersion: SDK_VERSION3
});
} catch (e) {
logger5.warning(`Error when creating the TracingClient: ${getErrorMessage2(e)}`);
return;
}
}
function tryCreateSpan(tracingClient2, request, spanAttributes) {
try {
const { span, updatedOptions } = tracingClient2.startSpan(`HTTP ${request.method}`, { tracingOptions: request.tracingOptions }, {
spanKind: "client",
spanAttributes
});
if (!span.isRecording()) {
span.end();
return;
}
const headers = tracingClient2.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);
for (const [key, value] of Object.entries(headers)) {
request.headers.set(key, value);
}
return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };
} catch (e) {
logger5.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage2(e)}`);
return;
}
}
function tryProcessError(span, error51) {
try {
span.setStatus({
status: "error",
error: isError2(error51) ? error51 : undefined
});
if (isRestError2(error51) && error51.statusCode) {
span.setAttribute("http.status_code", error51.statusCode);
}
span.end();
} catch (e) {
logger5.warning(`Skipping tracing span processing due to an error: ${getErrorMessage2(e)}`);
}
}
function tryProcessResponse(span, response) {
try {
span.setAttribute("http.status_code", response.status);
const serviceRequestId = response.headers.get("x-ms-request-id");
if (serviceRequestId) {
span.setAttribute("serviceRequestId", serviceRequestId);
}
if (response.status >= 400) {
span.setStatus({
status: "error"
});
}
span.end();
} catch (e) {
logger5.warning(`Skipping tracing span processing due to an error: ${getErrorMessage2(e)}`);
}
}
var tracingPolicyName = "tracingPolicy";
var init_tracingPolicy = __esm(() => {
init_esm3();
init_userAgent();
init_log8();
init_esm5();
init_restError2();
init_internal2();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/util/wrapAbortSignal.js
function wrapAbortSignalLike(abortSignalLike) {
if (abortSignalLike instanceof AbortSignal) {
return { abortSignal: abortSignalLike };
}
if (abortSignalLike.aborted) {
return { abortSignal: AbortSignal.abort(abortSignalLike.reason) };
}
const controller = new AbortController;
let needsCleanup = true;
function cleanup() {
if (needsCleanup) {
abortSignalLike.removeEventListener("abort", listener);
needsCleanup = false;
}
}
function listener() {
controller.abort(abortSignalLike.reason);
cleanup();
}
abortSignalLike.addEventListener("abort", listener);
return { abortSignal: controller.signal, cleanup };
}
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/wrapAbortSignalLikePolicy.js
function wrapAbortSignalLikePolicy() {
return {
name: wrapAbortSignalLikePolicyName,
sendRequest: async (request, next) => {
if (!request.abortSignal) {
return next(request);
}
const { abortSignal, cleanup } = wrapAbortSignalLike(request.abortSignal);
request.abortSignal = abortSignal;
try {
return await next(request);
} finally {
cleanup?.();
}
}
};
}
var wrapAbortSignalLikePolicyName = "wrapAbortSignalLikePolicy";
var init_wrapAbortSignalLikePolicy = () => {};
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/createPipelineFromOptions.js
function createPipelineFromOptions(options) {
const pipeline = createEmptyPipeline2();
if (isNodeLike2) {
if (options.agent) {
pipeline.addPolicy(agentPolicy2(options.agent));
}
if (options.tlsOptions) {
pipeline.addPolicy(tlsPolicy2(options.tlsOptions));
}
pipeline.addPolicy(proxyPolicy2(options.proxyOptions));
pipeline.addPolicy(decompressResponsePolicy2());
}
pipeline.addPolicy(wrapAbortSignalLikePolicy());
pipeline.addPolicy(formDataPolicy2(), { beforePolicies: [multipartPolicyName2] });
pipeline.addPolicy(userAgentPolicy2(options.userAgentOptions));
pipeline.addPolicy(setClientRequestIdPolicy(options.telemetryOptions?.clientRequestIdHeaderName));
pipeline.addPolicy(multipartPolicy2(), { afterPhase: "Deserialize" });
pipeline.addPolicy(defaultRetryPolicy2(options.retryOptions), { phase: "Retry" });
pipeline.addPolicy(tracingPolicy({ ...options.userAgentOptions, ...options.loggingOptions }), {
afterPhase: "Retry"
});
if (isNodeLike2) {
pipeline.addPolicy(redirectPolicy2(options.redirectOptions), { afterPhase: "Retry" });
}
pipeline.addPolicy(logPolicy2(options.loggingOptions), { afterPhase: "Sign" });
return pipeline;
}
var init_createPipelineFromOptions = __esm(() => {
init_logPolicy2();
init_pipeline3();
init_redirectPolicy2();
init_userAgentPolicy();
init_multipartPolicy2();
init_decompressResponsePolicy();
init_defaultRetryPolicy2();
init_formDataPolicy2();
init_esm5();
init_proxyPolicy2();
init_agentPolicy();
init_tlsPolicy();
init_tracingPolicy();
init_wrapAbortSignalLikePolicy();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/defaultHttpClient.js
function createDefaultHttpClient2() {
const client3 = createDefaultHttpClient();
return {
async sendRequest(request) {
const { abortSignal, cleanup } = request.abortSignal ? wrapAbortSignalLike(request.abortSignal) : {};
try {
request.abortSignal = abortSignal;
return await client3.sendRequest(request);
} finally {
cleanup?.();
}
}
};
}
var init_defaultHttpClient2 = __esm(() => {
init_esm6();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/httpHeaders.js
function createHttpHeaders2(rawHeaders) {
return createHttpHeaders(rawHeaders);
}
var init_httpHeaders2 = __esm(() => {
init_esm6();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/pipelineRequest.js
function createPipelineRequest2(options) {
return createPipelineRequest(options);
}
var init_pipelineRequest2 = __esm(() => {
init_esm6();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/retryPolicy.js
function retryPolicy2(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT2 }) {
return retryPolicy(strategies, {
logger: retryPolicyLogger2,
...options
});
}
var retryPolicyLogger2;
var init_retryPolicy2 = __esm(() => {
init_esm2();
init_internal3();
retryPolicyLogger2 = createClientLogger2("core-rest-pipeline retryPolicy");
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/util/tokenCycler.js
async function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {
async function tryGetAccessToken() {
if (Date.now() < refreshTimeout) {
try {
return await getAccessToken();
} catch {
return null;
}
} else {
const finalToken = await getAccessToken();
if (finalToken === null) {
throw new Error("Failed to refresh access token.");
}
return finalToken;
}
}
let token = await tryGetAccessToken();
while (token === null) {
await delay2(retryIntervalInMs);
token = await tryGetAccessToken();
}
return token;
}
function createTokenCycler(credential, tokenCyclerOptions) {
let refreshWorker = null;
let token = null;
let tenantId;
const options = {
...DEFAULT_CYCLER_OPTIONS,
...tokenCyclerOptions
};
const cycler = {
get isRefreshing() {
return refreshWorker !== null;
},
get shouldRefresh() {
if (cycler.isRefreshing) {
return false;
}
if (token?.refreshAfterTimestamp && token.refreshAfterTimestamp < Date.now()) {
return true;
}
return (token?.expiresOnTimestamp ?? 0) - options.refreshWindowInMs < Date.now();
},
get mustRefresh() {
return token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now();
}
};
function refresh(scopes, getTokenOptions) {
if (!cycler.isRefreshing) {
const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);
refreshWorker = beginRefresh(tryGetAccessToken, options.retryIntervalInMs, token?.expiresOnTimestamp ?? Date.now()).then((_token) => {
refreshWorker = null;
token = _token;
tenantId = getTokenOptions.tenantId;
return token;
}).catch((reason) => {
refreshWorker = null;
token = null;
tenantId = undefined;
throw reason;
});
}
return refreshWorker;
}
return async (scopes, tokenOptions) => {
const hasClaimChallenge = Boolean(tokenOptions.claims);
const tenantIdChanged = tenantId !== tokenOptions.tenantId;
if (hasClaimChallenge) {
token = null;
}
const mustRefresh = tenantIdChanged || hasClaimChallenge || cycler.mustRefresh;
if (mustRefresh) {
return refresh(scopes, tokenOptions);
}
if (cycler.shouldRefresh) {
refresh(scopes, tokenOptions);
}
return token;
};
}
var DEFAULT_CYCLER_OPTIONS;
var init_tokenCycler = __esm(() => {
init_esm5();
DEFAULT_CYCLER_OPTIONS = {
forcedRefreshWindowInMs: 1000,
retryIntervalInMs: 3000,
refreshWindowInMs: 1000 * 60 * 2
};
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/policies/bearerTokenAuthenticationPolicy.js
async function trySendRequest(request, next) {
try {
return [await next(request), undefined];
} catch (e) {
if (isRestError2(e) && e.response) {
return [e.response, e];
} else {
throw e;
}
}
}
async function defaultAuthorizeRequest(options) {
const { scopes, getAccessToken, request } = options;
const getTokenOptions = {
abortSignal: request.abortSignal,
tracingOptions: request.tracingOptions,
enableCae: true
};
const accessToken = await getAccessToken(scopes, getTokenOptions);
if (accessToken) {
options.request.headers.set("Authorization", `Bearer ${accessToken.token}`);
}
}
function isChallengeResponse(response) {
return response.status === 401 && response.headers.has("WWW-Authenticate");
}
async function authorizeRequestOnCaeChallenge(onChallengeOptions, caeClaims) {
const { scopes } = onChallengeOptions;
const accessToken = await onChallengeOptions.getAccessToken(scopes, {
enableCae: true,
claims: caeClaims
});
if (!accessToken) {
return false;
}
onChallengeOptions.request.headers.set("Authorization", `${accessToken.tokenType ?? "Bearer"} ${accessToken.token}`);
return true;
}
function bearerTokenAuthenticationPolicy(options) {
const { credential, scopes, challengeCallbacks } = options;
const logger6 = options.logger || logger5;
const callbacks = {
authorizeRequest: challengeCallbacks?.authorizeRequest?.bind(challengeCallbacks) ?? defaultAuthorizeRequest,
authorizeRequestOnChallenge: challengeCallbacks?.authorizeRequestOnChallenge?.bind(challengeCallbacks)
};
const getAccessToken = credential ? createTokenCycler(credential) : () => Promise.resolve(null);
return {
name: bearerTokenAuthenticationPolicyName,
async sendRequest(request, next) {
if (!request.url.toLowerCase().startsWith("https://")) {
throw new Error("Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.");
}
await callbacks.authorizeRequest({
scopes: Array.isArray(scopes) ? scopes : [scopes],
request,
getAccessToken,
logger: logger6
});
let response;
let error51;
let shouldSendRequest;
[response, error51] = await trySendRequest(request, next);
if (isChallengeResponse(response)) {
let claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
if (claims) {
let parsedClaim;
try {
parsedClaim = atob(claims);
} catch (e) {
logger6.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
return response;
}
shouldSendRequest = await authorizeRequestOnCaeChallenge({
scopes: Array.isArray(scopes) ? scopes : [scopes],
response,
request,
getAccessToken,
logger: logger6
}, parsedClaim);
if (shouldSendRequest) {
[response, error51] = await trySendRequest(request, next);
}
} else if (callbacks.authorizeRequestOnChallenge) {
shouldSendRequest = await callbacks.authorizeRequestOnChallenge({
scopes: Array.isArray(scopes) ? scopes : [scopes],
request,
response,
getAccessToken,
logger: logger6
});
if (shouldSendRequest) {
[response, error51] = await trySendRequest(request, next);
}
if (isChallengeResponse(response)) {
claims = getCaeChallengeClaims(response.headers.get("WWW-Authenticate"));
if (claims) {
let parsedClaim;
try {
parsedClaim = atob(claims);
} catch (e) {
logger6.warning(`The WWW-Authenticate header contains "claims" that cannot be parsed. Unable to perform the Continuous Access Evaluation authentication flow. Unparsable claims: ${claims}`);
return response;
}
shouldSendRequest = await authorizeRequestOnCaeChallenge({
scopes: Array.isArray(scopes) ? scopes : [scopes],
response,
request,
getAccessToken,
logger: logger6
}, parsedClaim);
if (shouldSendRequest) {
[response, error51] = await trySendRequest(request, next);
}
}
}
}
}
if (error51) {
throw error51;
} else {
return response;
}
}
};
}
function parseChallenges(challenges) {
const challengeRegex = /(\w+)\s+((?:\w+=(?:"[^"]*"|[^,]*),?\s*)+)/g;
const paramRegex = /(\w+)="([^"]*)"/g;
const parsedChallenges = [];
let match;
while ((match = challengeRegex.exec(challenges)) !== null) {
const scheme = match[1];
const paramsString = match[2];
const params = {};
let paramMatch;
while ((paramMatch = paramRegex.exec(paramsString)) !== null) {
params[paramMatch[1]] = paramMatch[2];
}
parsedChallenges.push({ scheme, params });
}
return parsedChallenges;
}
function getCaeChallengeClaims(challenges) {
if (!challenges) {
return;
}
const parsedChallenges = parseChallenges(challenges);
return parsedChallenges.find((x3) => x3.scheme === "Bearer" && x3.params.claims && x3.params.error === "insufficient_claims")?.params.claims;
}
var bearerTokenAuthenticationPolicyName = "bearerTokenAuthenticationPolicy";
var init_bearerTokenAuthenticationPolicy = __esm(() => {
init_tokenCycler();
init_log8();
init_restError2();
});
// node_modules/.pnpm/@azure+core-rest-pipeline@1.23.0/node_modules/@azure/core-rest-pipeline/dist/esm/index.js
var init_esm7 = __esm(() => {
init_pipeline3();
init_createPipelineFromOptions();
init_defaultHttpClient2();
init_httpHeaders2();
init_pipelineRequest2();
init_restError2();
init_retryPolicy2();
init_bearerTokenAuthenticationPolicy();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/interfaces.js
var XML_ATTRKEY = "$", XML_CHARKEY = "_";
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/utils.js
function isPrimitiveBody(value, mapperTypeName) {
return mapperTypeName !== "Composite" && mapperTypeName !== "Dictionary" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean" || mapperTypeName?.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i) !== null || value === undefined || value === null);
}
function handleNullableResponseAndWrappableBody(responseObject) {
const combinedHeadersAndBody = {
...responseObject.headers,
...responseObject.body
};
if (responseObject.hasNullableType && Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {
return responseObject.shouldWrapBody ? { body: null } : null;
} else {
return responseObject.shouldWrapBody ? {
...responseObject.headers,
body: responseObject.body
} : combinedHeadersAndBody;
}
}
function flattenResponse(fullResponse, responseSpec) {
const parsedHeaders = fullResponse.parsedHeaders;
if (fullResponse.request.method === "HEAD") {
return {
...parsedHeaders,
body: fullResponse.parsedBody
};
}
const bodyMapper = responseSpec && responseSpec.bodyMapper;
const isNullable = Boolean(bodyMapper?.nullable);
const expectedBodyTypeName = bodyMapper?.type.name;
if (expectedBodyTypeName === "Stream") {
return {
...parsedHeaders,
blobBody: fullResponse.blobBody,
readableStreamBody: fullResponse.readableStreamBody
};
}
const modelProperties = expectedBodyTypeName === "Composite" && bodyMapper.type.modelProperties || {};
const isPageableResponse = Object.keys(modelProperties).some((k2) => modelProperties[k2].serializedName === "");
if (expectedBodyTypeName === "Sequence" || isPageableResponse) {
const arrayResponse = fullResponse.parsedBody ?? [];
for (const key of Object.keys(modelProperties)) {
if (modelProperties[key].serializedName) {
arrayResponse[key] = fullResponse.parsedBody?.[key];
}
}
if (parsedHeaders) {
for (const key of Object.keys(parsedHeaders)) {
arrayResponse[key] = parsedHeaders[key];
}
}
return isNullable && !fullResponse.parsedBody && !parsedHeaders && Object.getOwnPropertyNames(modelProperties).length === 0 ? null : arrayResponse;
}
return handleNullableResponseAndWrappableBody({
body: fullResponse.parsedBody,
headers: parsedHeaders,
hasNullableType: isNullable,
shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName)
});
}
var init_utils5 = () => {};
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/serializer.js
var MapperTypeNames;
var init_serializer = __esm(() => {
MapperTypeNames = {
Base64Url: "Base64Url",
Boolean: "Boolean",
ByteArray: "ByteArray",
Composite: "Composite",
Date: "Date",
DateTime: "DateTime",
DateTimeRfc1123: "DateTimeRfc1123",
Dictionary: "Dictionary",
Enum: "Enum",
Number: "Number",
Object: "Object",
Sequence: "Sequence",
String: "String",
Stream: "Stream",
TimeSpan: "TimeSpan",
UnixTime: "UnixTime"
};
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/commonjs/state.js
var require_state3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.state = undefined;
exports.state = {
operationRequestMap: new WeakMap
};
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/state.js
var import_state17, state2;
var init_state3 = __esm(() => {
import_state17 = __toESM(require_state3(), 1);
state2 = import_state17.state;
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/operationHelpers.js
function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {
let parameterPath = parameter.parameterPath;
const parameterMapper = parameter.mapper;
let value;
if (typeof parameterPath === "string") {
parameterPath = [parameterPath];
}
if (Array.isArray(parameterPath)) {
if (parameterPath.length > 0) {
if (parameterMapper.isConstant) {
value = parameterMapper.defaultValue;
} else {
let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);
if (!propertySearchResult.propertyFound && fallbackObject) {
propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);
}
let useDefaultValue = false;
if (!propertySearchResult.propertyFound) {
useDefaultValue = parameterMapper.required || parameterPath[0] === "options" && parameterPath.length === 2;
}
value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;
}
}
} else {
if (parameterMapper.required) {
value = {};
}
for (const propertyName in parameterPath) {
const propertyMapper = parameterMapper.type.modelProperties[propertyName];
const propertyPath = parameterPath[propertyName];
const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {
parameterPath: propertyPath,
mapper: propertyMapper
}, fallbackObject);
if (propertyValue !== undefined) {
if (!value) {
value = {};
}
value[propertyName] = propertyValue;
}
}
}
return value;
}
function getPropertyFromParameterPath(parent, parameterPath) {
const result = { propertyFound: false };
let i2 = 0;
for (;i2 < parameterPath.length; ++i2) {
const parameterPathPart = parameterPath[i2];
if (parent && parameterPathPart in parent) {
parent = parent[parameterPathPart];
} else {
break;
}
}
if (i2 === parameterPath.length) {
result.propertyValue = parent;
result.propertyFound = true;
}
return result;
}
function hasOriginalRequest(request) {
return originalRequestSymbol in request;
}
function getOperationRequestInfo(request) {
if (hasOriginalRequest(request)) {
return getOperationRequestInfo(request[originalRequestSymbol]);
}
let info = state2.operationRequestMap.get(request);
if (!info) {
info = {};
state2.operationRequestMap.set(request, info);
}
return info;
}
var originalRequestSymbol;
var init_operationHelpers = __esm(() => {
init_state3();
originalRequestSymbol = Symbol.for("@azure/core-client original request");
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/deserializationPolicy.js
function deserializationPolicy(options = {}) {
const jsonContentTypes = options.expectedContentTypes?.json ?? defaultJsonContentTypes;
const xmlContentTypes = options.expectedContentTypes?.xml ?? defaultXmlContentTypes;
const parseXML = options.parseXML;
const serializerOptions = options.serializerOptions;
const updatedOptions = {
xml: {
rootName: serializerOptions?.xml.rootName ?? "",
includeRoot: serializerOptions?.xml.includeRoot ?? false,
xmlCharKey: serializerOptions?.xml.xmlCharKey ?? XML_CHARKEY
}
};
return {
name: deserializationPolicyName,
async sendRequest(request, next) {
const response = await next(request);
return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);
}
};
}
function getOperationResponseMap(parsedResponse) {
let result;
const request = parsedResponse.request;
const operationInfo = getOperationRequestInfo(request);
const operationSpec = operationInfo?.operationSpec;
if (operationSpec) {
if (!operationInfo?.operationResponseGetter) {
result = operationSpec.responses[parsedResponse.status];
} else {
result = operationInfo?.operationResponseGetter(operationSpec, parsedResponse);
}
}
return result;
}
function shouldDeserializeResponse(parsedResponse) {
const request = parsedResponse.request;
const operationInfo = getOperationRequestInfo(request);
const shouldDeserialize = operationInfo?.shouldDeserialize;
let result;
if (shouldDeserialize === undefined) {
result = true;
} else if (typeof shouldDeserialize === "boolean") {
result = shouldDeserialize;
} else {
result = shouldDeserialize(parsedResponse);
}
return result;
}
async function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {
const parsedResponse = await parse8(jsonContentTypes, xmlContentTypes, response, options, parseXML);
if (!shouldDeserializeResponse(parsedResponse)) {
return parsedResponse;
}
const operationInfo = getOperationRequestInfo(parsedResponse.request);
const operationSpec = operationInfo?.operationSpec;
if (!operationSpec || !operationSpec.responses) {
return parsedResponse;
}
const responseSpec = getOperationResponseMap(parsedResponse);
const { error: error51, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);
if (error51) {
throw error51;
} else if (shouldReturnResponse) {
return parsedResponse;
}
if (responseSpec) {
if (responseSpec.bodyMapper) {
let valueToDeserialize = parsedResponse.parsedBody;
if (operationSpec.isXML && responseSpec.bodyMapper.type.name === MapperTypeNames.Sequence) {
valueToDeserialize = typeof valueToDeserialize === "object" ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName] : [];
}
try {
parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, "operationRes.parsedBody", options);
} catch (deserializeError) {
const restError = new RestError2(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {
statusCode: parsedResponse.status,
request: parsedResponse.request,
response: parsedResponse
});
throw restError;
}
} else if (operationSpec.httpMethod === "HEAD") {
parsedResponse.parsedBody = response.status >= 200 && response.status < 300;
}
if (responseSpec.headersMapper) {
parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders", { xml: {}, ignoreUnknownProperties: true });
}
}
return parsedResponse;
}
function isOperationSpecEmpty(operationSpec) {
const expectedStatusCodes = Object.keys(operationSpec.responses);
return expectedStatusCodes.length === 0 || expectedStatusCodes.length === 1 && expectedStatusCodes[0] === "default";
}
function handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {
const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;
const isExpectedStatusCode = isOperationSpecEmpty(operationSpec) ? isSuccessByStatus : !!responseSpec;
if (isExpectedStatusCode) {
if (responseSpec) {
if (!responseSpec.isError) {
return { error: null, shouldReturnResponse: false };
}
} else {
return { error: null, shouldReturnResponse: false };
}
}
const errorResponseSpec = responseSpec ?? operationSpec.responses.default;
const initialErrorMessage = parsedResponse.request.streamResponseStatusCodes?.has(parsedResponse.status) ? `Unexpected status code: ${parsedResponse.status}` : parsedResponse.bodyAsText;
const error51 = new RestError2(initialErrorMessage, {
statusCode: parsedResponse.status,
request: parsedResponse.request,
response: parsedResponse
});
if (!errorResponseSpec && !(parsedResponse.parsedBody?.error?.code && parsedResponse.parsedBody?.error?.message)) {
throw error51;
}
const defaultBodyMapper = errorResponseSpec?.bodyMapper;
const defaultHeadersMapper = errorResponseSpec?.headersMapper;
try {
if (parsedResponse.parsedBody) {
const parsedBody = parsedResponse.parsedBody;
let deserializedError;
if (defaultBodyMapper) {
let valueToDeserialize = parsedBody;
if (operationSpec.isXML && defaultBodyMapper.type.name === MapperTypeNames.Sequence) {
valueToDeserialize = [];
const elementName = defaultBodyMapper.xmlElementName;
if (typeof parsedBody === "object" && elementName) {
valueToDeserialize = parsedBody[elementName];
}
}
deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, "error.response.parsedBody", options);
}
const internalError = parsedBody.error || deserializedError || parsedBody;
error51.code = internalError.code;
if (internalError.message) {
error51.message = internalError.message;
}
if (defaultBodyMapper) {
error51.response.parsedBody = deserializedError;
}
}
if (parsedResponse.headers && defaultHeadersMapper) {
error51.response.parsedHeaders = operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), "operationRes.parsedHeaders");
}
} catch (defaultError) {
error51.message = `Error "${defaultError.message}" occurred in deserializing the responseBody - "${parsedResponse.bodyAsText}" for the default response.`;
}
return { error: error51, shouldReturnResponse: false };
}
async function parse8(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {
if (!operationResponse.request.streamResponseStatusCodes?.has(operationResponse.status) && operationResponse.bodyAsText) {
const text = operationResponse.bodyAsText;
const contentType = operationResponse.headers.get("Content-Type") || "";
const contentComponents = !contentType ? [] : contentType.split(";").map((component) => component.toLowerCase());
try {
if (contentComponents.length === 0 || contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {
operationResponse.parsedBody = JSON.parse(text);
return operationResponse;
} else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {
if (!parseXML) {
throw new Error("Parsing XML not supported.");
}
const body = await parseXML(text, opts.xml);
operationResponse.parsedBody = body;
return operationResponse;
}
} catch (err) {
const msg = `Error "${err}" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;
const errCode = err.code || RestError2.PARSE_ERROR;
const e = new RestError2(msg, {
code: errCode,
statusCode: operationResponse.status,
request: operationResponse.request,
response: operationResponse
});
throw e;
}
}
return operationResponse;
}
var defaultJsonContentTypes, defaultXmlContentTypes, deserializationPolicyName = "deserializationPolicy";
var init_deserializationPolicy = __esm(() => {
init_esm7();
init_serializer();
init_operationHelpers();
defaultJsonContentTypes = ["application/json", "text/json"];
defaultXmlContentTypes = ["application/xml", "application/atom+xml"];
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/interfaceHelpers.js
function getStreamingResponseStatusCodes(operationSpec) {
const result = new Set;
for (const statusCode in operationSpec.responses) {
const operationResponse = operationSpec.responses[statusCode];
if (operationResponse.bodyMapper && operationResponse.bodyMapper.type.name === MapperTypeNames.Stream) {
result.add(Number(statusCode));
}
}
return result;
}
function getPathStringFromParameter(parameter) {
const { parameterPath, mapper } = parameter;
let result;
if (typeof parameterPath === "string") {
result = parameterPath;
} else if (Array.isArray(parameterPath)) {
result = parameterPath.join(".");
} else {
result = mapper.serializedName;
}
return result;
}
var init_interfaceHelpers = __esm(() => {
init_serializer();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/serializationPolicy.js
function serializationPolicy(options = {}) {
const stringifyXML = options.stringifyXML;
return {
name: serializationPolicyName,
async sendRequest(request, next) {
const operationInfo = getOperationRequestInfo(request);
const operationSpec = operationInfo?.operationSpec;
const operationArguments = operationInfo?.operationArguments;
if (operationSpec && operationArguments) {
serializeHeaders(request, operationArguments, operationSpec);
serializeRequestBody(request, operationArguments, operationSpec, stringifyXML);
}
return next(request);
}
};
}
function serializeHeaders(request, operationArguments, operationSpec) {
if (operationSpec.headerParameters) {
for (const headerParameter of operationSpec.headerParameters) {
let headerValue = getOperationArgumentValueFromParameter(operationArguments, headerParameter);
if (headerValue !== null && headerValue !== undefined || headerParameter.mapper.required) {
headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, getPathStringFromParameter(headerParameter));
const headerCollectionPrefix = headerParameter.mapper.headerCollectionPrefix;
if (headerCollectionPrefix) {
for (const key of Object.keys(headerValue)) {
request.headers.set(headerCollectionPrefix + key, headerValue[key]);
}
} else {
request.headers.set(headerParameter.mapper.serializedName || getPathStringFromParameter(headerParameter), headerValue);
}
}
}
}
const customHeaders = operationArguments.options?.requestOptions?.customHeaders;
if (customHeaders) {
for (const customHeaderName of Object.keys(customHeaders)) {
request.headers.set(customHeaderName, customHeaders[customHeaderName]);
}
}
}
function serializeRequestBody(request, operationArguments, operationSpec, stringifyXML = function() {
throw new Error("XML serialization unsupported!");
}) {
const serializerOptions = operationArguments.options?.serializerOptions;
const updatedOptions = {
xml: {
rootName: serializerOptions?.xml.rootName ?? "",
includeRoot: serializerOptions?.xml.includeRoot ?? false,
xmlCharKey: serializerOptions?.xml.xmlCharKey ?? XML_CHARKEY
}
};
const xmlCharKey = updatedOptions.xml.xmlCharKey;
if (operationSpec.requestBody && operationSpec.requestBody.mapper) {
request.body = getOperationArgumentValueFromParameter(operationArguments, operationSpec.requestBody);
const bodyMapper = operationSpec.requestBody.mapper;
const { required: required2, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable: nullable2 } = bodyMapper;
const typeName = bodyMapper.type.name;
try {
if (request.body !== undefined && request.body !== null || nullable2 && request.body === null || required2) {
const requestBodyParameterPathString = getPathStringFromParameter(operationSpec.requestBody);
request.body = operationSpec.serializer.serialize(bodyMapper, request.body, requestBodyParameterPathString, updatedOptions);
const isStream3 = typeName === MapperTypeNames.Stream;
if (operationSpec.isXML) {
const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : "xmlns";
const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request.body, updatedOptions);
if (typeName === MapperTypeNames.Sequence) {
request.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });
} else if (!isStream3) {
request.body = stringifyXML(value, {
rootName: xmlName || serializedName,
xmlCharKey
});
}
} else if (typeName === MapperTypeNames.String && (operationSpec.contentType?.match("text/plain") || operationSpec.mediaType === "text")) {
return;
} else if (!isStream3) {
request.body = JSON.stringify(request.body);
}
}
} catch (error51) {
throw new Error(`Error "${error51.message}" occurred in serializing the payload - ${JSON.stringify(serializedName, undefined, " ")}.`);
}
} else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {
request.formData = {};
for (const formDataParameter of operationSpec.formDataParameters) {
const formDataParameterValue = getOperationArgumentValueFromParameter(operationArguments, formDataParameter);
if (formDataParameterValue !== undefined && formDataParameterValue !== null) {
const formDataParameterPropertyName = formDataParameter.mapper.serializedName || getPathStringFromParameter(formDataParameter);
request.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, getPathStringFromParameter(formDataParameter), updatedOptions);
}
}
}
}
function getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {
if (xmlNamespace && !["Composite", "Sequence", "Dictionary"].includes(typeName)) {
const result = {};
result[options.xml.xmlCharKey] = serializedValue;
result[XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };
return result;
}
return serializedValue;
}
function prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {
if (!Array.isArray(obj)) {
obj = [obj];
}
if (!xmlNamespaceKey || !xmlNamespace) {
return { [elementName]: obj };
}
const result = { [elementName]: obj };
result[XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };
return result;
}
var serializationPolicyName = "serializationPolicy";
var init_serializationPolicy = __esm(() => {
init_operationHelpers();
init_serializer();
init_interfaceHelpers();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/pipeline.js
function createClientPipeline(options = {}) {
const pipeline = createPipelineFromOptions(options ?? {});
if (options.credentialOptions) {
pipeline.addPolicy(bearerTokenAuthenticationPolicy({
credential: options.credentialOptions.credential,
scopes: options.credentialOptions.credentialScopes
}));
}
pipeline.addPolicy(serializationPolicy(options.serializationOptions), { phase: "Serialize" });
pipeline.addPolicy(deserializationPolicy(options.deserializationOptions), {
phase: "Deserialize"
});
return pipeline;
}
var init_pipeline4 = __esm(() => {
init_deserializationPolicy();
init_esm7();
init_serializationPolicy();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/httpClientCache.js
function getCachedDefaultHttpClient() {
if (!cachedHttpClient) {
cachedHttpClient = createDefaultHttpClient2();
}
return cachedHttpClient;
}
var cachedHttpClient;
var init_httpClientCache = __esm(() => {
init_esm7();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/urlHelpers.js
function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {
const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);
let isAbsolutePath = false;
let requestUrl = replaceAll(baseUri, urlReplacements);
if (operationSpec.path) {
let path11 = replaceAll(operationSpec.path, urlReplacements);
if (operationSpec.path === "/{nextLink}" && path11.startsWith("/")) {
path11 = path11.substring(1);
}
if (isAbsoluteUrl(path11)) {
requestUrl = path11;
isAbsolutePath = true;
} else {
requestUrl = appendPath(requestUrl, path11);
}
}
const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);
requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);
return requestUrl;
}
function replaceAll(input, replacements2) {
let result = input;
for (const [searchValue, replaceValue] of replacements2) {
result = result.split(searchValue).join(replaceValue);
}
return result;
}
function calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {
const result = new Map;
if (operationSpec.urlParameters?.length) {
for (const urlParameter of operationSpec.urlParameters) {
let urlParameterValue = getOperationArgumentValueFromParameter(operationArguments, urlParameter, fallbackObject);
const parameterPathString = getPathStringFromParameter(urlParameter);
urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);
if (!urlParameter.skipEncoding) {
urlParameterValue = encodeURIComponent(urlParameterValue);
}
result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);
}
}
return result;
}
function isAbsoluteUrl(url3) {
return url3.includes("://");
}
function appendPath(url3, pathToAppend) {
if (!pathToAppend) {
return url3;
}
const parsedUrl = new URL(url3);
let newPath = parsedUrl.pathname;
if (!newPath.endsWith("/")) {
newPath = `${newPath}/`;
}
if (pathToAppend.startsWith("/")) {
pathToAppend = pathToAppend.substring(1);
}
const searchStart = pathToAppend.indexOf("?");
if (searchStart !== -1) {
const path11 = pathToAppend.substring(0, searchStart);
const search = pathToAppend.substring(searchStart + 1);
newPath = newPath + path11;
if (search) {
parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;
}
} else {
newPath = newPath + pathToAppend;
}
parsedUrl.pathname = newPath;
return parsedUrl.toString();
}
function calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {
const result = new Map;
const sequenceParams = new Set;
if (operationSpec.queryParameters?.length) {
for (const queryParameter of operationSpec.queryParameters) {
if (queryParameter.mapper.type.name === "Sequence" && queryParameter.mapper.serializedName) {
sequenceParams.add(queryParameter.mapper.serializedName);
}
let queryParameterValue = getOperationArgumentValueFromParameter(operationArguments, queryParameter, fallbackObject);
if (queryParameterValue !== undefined && queryParameterValue !== null || queryParameter.mapper.required) {
queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, getPathStringFromParameter(queryParameter));
const delimiter = queryParameter.collectionFormat ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat] : "";
if (Array.isArray(queryParameterValue)) {
queryParameterValue = queryParameterValue.map((item) => {
if (item === null || item === undefined) {
return "";
}
return item;
});
}
if (queryParameter.collectionFormat === "Multi" && queryParameterValue.length === 0) {
continue;
} else if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "SSV" || queryParameter.collectionFormat === "TSV")) {
queryParameterValue = queryParameterValue.join(delimiter);
}
if (!queryParameter.skipEncoding) {
if (Array.isArray(queryParameterValue)) {
queryParameterValue = queryParameterValue.map((item) => {
return encodeURIComponent(item);
});
} else {
queryParameterValue = encodeURIComponent(queryParameterValue);
}
}
if (Array.isArray(queryParameterValue) && (queryParameter.collectionFormat === "CSV" || queryParameter.collectionFormat === "Pipes")) {
queryParameterValue = queryParameterValue.join(delimiter);
}
result.set(queryParameter.mapper.serializedName || getPathStringFromParameter(queryParameter), queryParameterValue);
}
}
}
return {
queryParams: result,
sequenceParams
};
}
function simpleParseQueryParams(queryString) {
const result = new Map;
if (!queryString || queryString[0] !== "?") {
return result;
}
queryString = queryString.slice(1);
const pairs = queryString.split("&");
for (const pair of pairs) {
const [name3, value] = pair.split("=", 2);
const existingValue = result.get(name3);
if (existingValue) {
if (Array.isArray(existingValue)) {
existingValue.push(value);
} else {
result.set(name3, [existingValue, value]);
}
} else {
result.set(name3, value);
}
}
return result;
}
function appendQueryParams(url3, queryParams, sequenceParams, noOverwrite = false) {
if (queryParams.size === 0) {
return url3;
}
const parsedUrl = new URL(url3);
const combinedParams = simpleParseQueryParams(parsedUrl.search);
for (const [name3, value] of queryParams) {
const existingValue = combinedParams.get(name3);
if (Array.isArray(existingValue)) {
if (Array.isArray(value)) {
existingValue.push(...value);
const valueSet = new Set(existingValue);
combinedParams.set(name3, Array.from(valueSet));
} else {
existingValue.push(value);
}
} else if (existingValue) {
if (Array.isArray(value)) {
value.unshift(existingValue);
} else if (sequenceParams.has(name3)) {
combinedParams.set(name3, [existingValue, value]);
}
if (!noOverwrite) {
combinedParams.set(name3, value);
}
} else {
combinedParams.set(name3, value);
}
}
const searchPieces = [];
for (const [name3, value] of combinedParams) {
if (typeof value === "string") {
searchPieces.push(`${name3}=${value}`);
} else if (Array.isArray(value)) {
for (const subValue of value) {
searchPieces.push(`${name3}=${subValue}`);
}
} else {
searchPieces.push(`${name3}=${value}`);
}
}
parsedUrl.search = searchPieces.length ? `?${searchPieces.join("&")}` : "";
return parsedUrl.toString();
}
var CollectionFormatToDelimiterMap;
var init_urlHelpers = __esm(() => {
init_operationHelpers();
init_interfaceHelpers();
CollectionFormatToDelimiterMap = {
CSV: ",",
SSV: " ",
Multi: "Multi",
TSV: "\t",
Pipes: "|"
};
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/log.js
var logger6;
var init_log9 = __esm(() => {
init_esm2();
logger6 = createClientLogger2("core-client");
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/serviceClient.js
class ServiceClient {
_endpoint;
_requestContentType;
_allowInsecureConnection;
_httpClient;
pipeline;
constructor(options = {}) {
this._requestContentType = options.requestContentType;
this._endpoint = options.endpoint ?? options.baseUri;
if (options.baseUri) {
logger6.warning("The baseUri option for SDK Clients has been deprecated, please use endpoint instead.");
}
this._allowInsecureConnection = options.allowInsecureConnection;
this._httpClient = options.httpClient || getCachedDefaultHttpClient();
this.pipeline = options.pipeline || createDefaultPipeline(options);
if (options.additionalPolicies?.length) {
for (const { policy, position } of options.additionalPolicies) {
const afterPhase = position === "perRetry" ? "Sign" : undefined;
this.pipeline.addPolicy(policy, {
afterPhase
});
}
}
}
async sendRequest(request) {
return this.pipeline.sendRequest(this._httpClient, request);
}
async sendOperationRequest(operationArguments, operationSpec) {
const endpoint = operationSpec.baseUrl || this._endpoint;
if (!endpoint) {
throw new Error("If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.");
}
const url3 = getRequestUrl(endpoint, operationSpec, operationArguments, this);
const request = createPipelineRequest2({
url: url3
});
request.method = operationSpec.httpMethod;
const operationInfo = getOperationRequestInfo(request);
operationInfo.operationSpec = operationSpec;
operationInfo.operationArguments = operationArguments;
const contentType = operationSpec.contentType || this._requestContentType;
if (contentType && operationSpec.requestBody) {
request.headers.set("Content-Type", contentType);
}
const options = operationArguments.options;
if (options) {
const requestOptions = options.requestOptions;
if (requestOptions) {
if (requestOptions.timeout) {
request.timeout = requestOptions.timeout;
}
if (requestOptions.onUploadProgress) {
request.onUploadProgress = requestOptions.onUploadProgress;
}
if (requestOptions.onDownloadProgress) {
request.onDownloadProgress = requestOptions.onDownloadProgress;
}
if (requestOptions.shouldDeserialize !== undefined) {
operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;
}
if (requestOptions.allowInsecureConnection) {
request.allowInsecureConnection = true;
}
}
if (options.abortSignal) {
request.abortSignal = options.abortSignal;
}
if (options.tracingOptions) {
request.tracingOptions = options.tracingOptions;
}
}
if (this._allowInsecureConnection) {
request.allowInsecureConnection = true;
}
if (request.streamResponseStatusCodes === undefined) {
request.streamResponseStatusCodes = getStreamingResponseStatusCodes(operationSpec);
}
try {
const rawResponse = await this.sendRequest(request);
const flatResponse = flattenResponse(rawResponse, operationSpec.responses[rawResponse.status]);
if (options?.onResponse) {
options.onResponse(rawResponse, flatResponse);
}
return flatResponse;
} catch (error51) {
if (typeof error51 === "object" && error51?.response) {
const rawResponse = error51.response;
const flatResponse = flattenResponse(rawResponse, operationSpec.responses[error51.statusCode] || operationSpec.responses["default"]);
error51.details = flatResponse;
if (options?.onResponse) {
options.onResponse(rawResponse, flatResponse, error51);
}
}
throw error51;
}
}
}
function createDefaultPipeline(options) {
const credentialScopes = getCredentialScopes(options);
const credentialOptions = options.credential && credentialScopes ? { credentialScopes, credential: options.credential } : undefined;
return createClientPipeline({
...options,
credentialOptions
});
}
function getCredentialScopes(options) {
if (options.credentialScopes) {
return options.credentialScopes;
}
if (options.endpoint) {
return `${options.endpoint}/.default`;
}
if (options.baseUri) {
return `${options.baseUri}/.default`;
}
if (options.credential && !options.credentialScopes) {
throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);
}
return;
}
var init_serviceClient = __esm(() => {
init_esm7();
init_pipeline4();
init_utils5();
init_httpClientCache();
init_operationHelpers();
init_urlHelpers();
init_interfaceHelpers();
init_log9();
});
// node_modules/.pnpm/@azure+core-client@1.10.1/node_modules/@azure/core-client/dist/esm/index.js
var init_esm8 = __esm(() => {
init_serviceClient();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/identityTokenEndpoint.js
function getIdentityTokenEndpointSuffix(tenantId) {
if (tenantId === "adfs") {
return "oauth2/token";
} else {
return "oauth2/v2.0/token";
}
}
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/managedIdentityCredential/utils.js
function mapScopesToResource(scopes) {
let scope = "";
if (Array.isArray(scopes)) {
if (scopes.length !== 1) {
return;
}
scope = scopes[0];
} else if (typeof scopes === "string") {
scope = scopes;
}
if (!scope.endsWith(DefaultScopeSuffix)) {
return scope;
}
return scope.substr(0, scope.lastIndexOf(DefaultScopeSuffix));
}
function parseExpirationTimestamp(body) {
if (typeof body.expires_on === "number") {
return body.expires_on * 1000;
}
if (typeof body.expires_on === "string") {
const asNumber = +body.expires_on;
if (!isNaN(asNumber)) {
return asNumber * 1000;
}
const asDate = Date.parse(body.expires_on);
if (!isNaN(asDate)) {
return asDate;
}
}
if (typeof body.expires_in === "number") {
return Date.now() + body.expires_in * 1000;
}
throw new Error(`Failed to parse token expiration from body. expires_in="${body.expires_in}", expires_on="${body.expires_on}"`);
}
function parseRefreshTimestamp(body) {
if (body.refresh_on) {
if (typeof body.refresh_on === "number") {
return body.refresh_on * 1000;
}
if (typeof body.refresh_on === "string") {
const asNumber = +body.refresh_on;
if (!isNaN(asNumber)) {
return asNumber * 1000;
}
const asDate = Date.parse(body.refresh_on);
if (!isNaN(asDate)) {
return asDate;
}
}
throw new Error(`Failed to parse refresh_on from body. refresh_on="${body.refresh_on}"`);
} else {
return;
}
}
var DefaultScopeSuffix = "/.default", serviceFabricErrorMessage = "Specifying a `clientId` or `resourceId` is not supported by the Service Fabric managed identity environment. The managed identity configuration is determined by the Service Fabric cluster resource configuration. See https://aka.ms/servicefabricmi for more information";
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/client/identityClient.js
function getIdentityClientAuthorityHost(options) {
let authorityHost = options?.authorityHost;
if (isNode) {
authorityHost = authorityHost ?? process.env.AZURE_AUTHORITY_HOST;
}
return authorityHost ?? DefaultAuthorityHost;
}
var noCorrelationId = "noCorrelationId", IdentityClient;
var init_identityClient = __esm(() => {
init_esm8();
init_esm5();
init_esm7();
init_errors4();
init_constants5();
init_tracing();
init_logging();
IdentityClient = class IdentityClient extends ServiceClient {
authorityHost;
allowLoggingAccountIdentifiers;
abortControllers;
allowInsecureConnection = false;
tokenCredentialOptions;
constructor(options) {
const packageDetails = `azsdk-js-identity/${SDK_VERSION2}`;
const userAgentPrefix = options?.userAgentOptions?.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`;
const baseUri = getIdentityClientAuthorityHost(options);
if (!baseUri.startsWith("https:")) {
throw new Error("The authorityHost address must use the 'https' protocol.");
}
super({
requestContentType: "application/json; charset=utf-8",
retryOptions: {
maxRetries: 3
},
...options,
userAgentOptions: {
userAgentPrefix
},
baseUri
});
this.authorityHost = baseUri;
this.abortControllers = new Map;
this.allowLoggingAccountIdentifiers = options?.loggingOptions?.allowLoggingAccountIdentifiers;
this.tokenCredentialOptions = { ...options };
if (options?.allowInsecureConnection) {
this.allowInsecureConnection = options.allowInsecureConnection;
}
}
async sendTokenRequest(request) {
logger.info(`IdentityClient: sending token request to [${request.url}]`);
const response = await this.sendRequest(request);
if (response.bodyAsText && (response.status === 200 || response.status === 201)) {
const parsedBody = JSON.parse(response.bodyAsText);
if (!parsedBody.access_token) {
return null;
}
this.logIdentifiers(response);
const token = {
accessToken: {
token: parsedBody.access_token,
expiresOnTimestamp: parseExpirationTimestamp(parsedBody),
refreshAfterTimestamp: parseRefreshTimestamp(parsedBody),
tokenType: "Bearer"
},
refreshToken: parsedBody.refresh_token
};
logger.info(`IdentityClient: [${request.url}] token acquired, expires on ${token.accessToken.expiresOnTimestamp}`);
return token;
} else {
const error51 = new AuthenticationError2(response.status, response.bodyAsText);
logger.warning(`IdentityClient: authentication error. HTTP status: ${response.status}, ${error51.errorResponse.errorDescription}`);
throw error51;
}
}
async refreshAccessToken(tenantId, clientId, scopes, refreshToken, clientSecret, options = {}) {
if (refreshToken === undefined) {
return null;
}
logger.info(`IdentityClient: refreshing access token with client ID: ${clientId}, scopes: ${scopes} started`);
const refreshParams = {
grant_type: "refresh_token",
client_id: clientId,
refresh_token: refreshToken,
scope: scopes
};
if (clientSecret !== undefined) {
refreshParams.client_secret = clientSecret;
}
const query = new URLSearchParams(refreshParams);
return tracingClient.withSpan("IdentityClient.refreshAccessToken", options, async (updatedOptions) => {
try {
const urlSuffix = getIdentityTokenEndpointSuffix(tenantId);
const request = createPipelineRequest2({
url: `${this.authorityHost}/${tenantId}/${urlSuffix}`,
method: "POST",
body: query.toString(),
abortSignal: options.abortSignal,
headers: createHttpHeaders2({
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded"
}),
tracingOptions: updatedOptions.tracingOptions
});
const response = await this.sendTokenRequest(request);
logger.info(`IdentityClient: refreshed token for client ID: ${clientId}`);
return response;
} catch (err) {
if (err.name === AuthenticationErrorName && err.errorResponse.error === "interaction_required") {
logger.info(`IdentityClient: interaction required for client ID: ${clientId}`);
return null;
} else {
logger.warning(`IdentityClient: failed refreshing token for client ID: ${clientId}: ${err}`);
throw err;
}
}
});
}
generateAbortSignal(correlationId) {
const controller = new AbortController;
const controllers = this.abortControllers.get(correlationId) || [];
controllers.push(controller);
this.abortControllers.set(correlationId, controllers);
const existingOnAbort = controller.signal.onabort;
controller.signal.onabort = (...params) => {
this.abortControllers.set(correlationId, undefined);
if (existingOnAbort) {
existingOnAbort.apply(controller.signal, params);
}
};
return controller.signal;
}
abortRequests(correlationId) {
const key = correlationId || noCorrelationId;
const controllers = [
...this.abortControllers.get(key) || [],
...this.abortControllers.get(noCorrelationId) || []
];
if (!controllers.length) {
return;
}
for (const controller of controllers) {
controller.abort();
}
this.abortControllers.set(key, undefined);
}
getCorrelationId(options) {
const parameter = options?.body?.split("&").map((part) => part.split("=")).find(([key]) => key === "client-request-id");
return parameter && parameter.length ? parameter[1] || noCorrelationId : noCorrelationId;
}
async sendGetRequestAsync(url3, options) {
const request = createPipelineRequest2({
url: url3,
method: "GET",
body: options?.body,
allowInsecureConnection: this.allowInsecureConnection,
headers: createHttpHeaders2(options?.headers),
abortSignal: this.generateAbortSignal(noCorrelationId)
});
const response = await this.sendRequest(request);
this.logIdentifiers(response);
return {
body: response.bodyAsText ? JSON.parse(response.bodyAsText) : undefined,
headers: response.headers.toJSON(),
status: response.status
};
}
async sendPostRequestAsync(url3, options) {
const request = createPipelineRequest2({
url: url3,
method: "POST",
body: options?.body,
headers: createHttpHeaders2(options?.headers),
allowInsecureConnection: this.allowInsecureConnection,
abortSignal: this.generateAbortSignal(this.getCorrelationId(options))
});
const response = await this.sendRequest(request);
this.logIdentifiers(response);
return {
body: response.bodyAsText ? JSON.parse(response.bodyAsText) : undefined,
headers: response.headers.toJSON(),
status: response.status
};
}
getTokenCredentialOptions() {
return this.tokenCredentialOptions;
}
logIdentifiers(response) {
if (!this.allowLoggingAccountIdentifiers || !response.bodyAsText) {
return;
}
const unavailableUpn = "No User Principal Name available";
try {
const parsed = response.parsedBody || JSON.parse(response.bodyAsText);
const accessToken = parsed.access_token;
if (!accessToken) {
return;
}
const base64Metadata = accessToken.split(".")[1];
const { appid, upn, tid, oid } = JSON.parse(Buffer.from(base64Metadata, "base64").toString("utf8"));
logger.info(`[Authenticated account] Client ID: ${appid}. Tenant ID: ${tid}. User Principal Name: ${upn || unavailableUpn}. Object ID (user): ${oid}`);
} catch (e) {
logger.warning("allowLoggingAccountIdentifiers was set, but we couldn't log the account information. Error:", e.message);
}
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/regionalAuthority.js
function calculateRegionalAuthority(regionalAuthority) {
let azureRegion = regionalAuthority;
if (azureRegion === undefined && globalThis.process?.env?.AZURE_REGIONAL_AUTHORITY_NAME !== undefined) {
azureRegion = process.env.AZURE_REGIONAL_AUTHORITY_NAME;
}
if (azureRegion === RegionalAuthority.AutoDiscoverRegion) {
return "AUTO_DISCOVER";
}
return azureRegion;
}
var RegionalAuthority;
var init_regionalAuthority = __esm(() => {
(function(RegionalAuthority2) {
RegionalAuthority2["AutoDiscoverRegion"] = "AutoDiscoverRegion";
RegionalAuthority2["USWest"] = "westus";
RegionalAuthority2["USWest2"] = "westus2";
RegionalAuthority2["USCentral"] = "centralus";
RegionalAuthority2["USEast"] = "eastus";
RegionalAuthority2["USEast2"] = "eastus2";
RegionalAuthority2["USNorthCentral"] = "northcentralus";
RegionalAuthority2["USSouthCentral"] = "southcentralus";
RegionalAuthority2["USWestCentral"] = "westcentralus";
RegionalAuthority2["CanadaCentral"] = "canadacentral";
RegionalAuthority2["CanadaEast"] = "canadaeast";
RegionalAuthority2["BrazilSouth"] = "brazilsouth";
RegionalAuthority2["EuropeNorth"] = "northeurope";
RegionalAuthority2["EuropeWest"] = "westeurope";
RegionalAuthority2["UKSouth"] = "uksouth";
RegionalAuthority2["UKWest"] = "ukwest";
RegionalAuthority2["FranceCentral"] = "francecentral";
RegionalAuthority2["FranceSouth"] = "francesouth";
RegionalAuthority2["SwitzerlandNorth"] = "switzerlandnorth";
RegionalAuthority2["SwitzerlandWest"] = "switzerlandwest";
RegionalAuthority2["GermanyNorth"] = "germanynorth";
RegionalAuthority2["GermanyWestCentral"] = "germanywestcentral";
RegionalAuthority2["NorwayWest"] = "norwaywest";
RegionalAuthority2["NorwayEast"] = "norwayeast";
RegionalAuthority2["AsiaEast"] = "eastasia";
RegionalAuthority2["AsiaSouthEast"] = "southeastasia";
RegionalAuthority2["JapanEast"] = "japaneast";
RegionalAuthority2["JapanWest"] = "japanwest";
RegionalAuthority2["AustraliaEast"] = "australiaeast";
RegionalAuthority2["AustraliaSouthEast"] = "australiasoutheast";
RegionalAuthority2["AustraliaCentral"] = "australiacentral";
RegionalAuthority2["AustraliaCentral2"] = "australiacentral2";
RegionalAuthority2["IndiaCentral"] = "centralindia";
RegionalAuthority2["IndiaSouth"] = "southindia";
RegionalAuthority2["IndiaWest"] = "westindia";
RegionalAuthority2["KoreaSouth"] = "koreasouth";
RegionalAuthority2["KoreaCentral"] = "koreacentral";
RegionalAuthority2["UAECentral"] = "uaecentral";
RegionalAuthority2["UAENorth"] = "uaenorth";
RegionalAuthority2["SouthAfricaNorth"] = "southafricanorth";
RegionalAuthority2["SouthAfricaWest"] = "southafricawest";
RegionalAuthority2["ChinaNorth"] = "chinanorth";
RegionalAuthority2["ChinaEast"] = "chinaeast";
RegionalAuthority2["ChinaNorth2"] = "chinanorth2";
RegionalAuthority2["ChinaEast2"] = "chinaeast2";
RegionalAuthority2["GermanyCentral"] = "germanycentral";
RegionalAuthority2["GermanyNorthEast"] = "germanynortheast";
RegionalAuthority2["GovernmentUSVirginia"] = "usgovvirginia";
RegionalAuthority2["GovernmentUSIowa"] = "usgoviowa";
RegionalAuthority2["GovernmentUSArizona"] = "usgovarizona";
RegionalAuthority2["GovernmentUSTexas"] = "usgovtexas";
RegionalAuthority2["GovernmentUSDodEast"] = "usdodeast";
RegionalAuthority2["GovernmentUSDodCentral"] = "usdodcentral";
})(RegionalAuthority || (RegionalAuthority = {}));
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/processMultiTenantRequest.js
function createConfigurationErrorMessage(tenantId) {
return `The current credential is not configured to acquire tokens for tenant ${tenantId}. To enable acquiring tokens for this tenant add it to the AdditionallyAllowedTenants on the credential options, or add "*" to AdditionallyAllowedTenants to allow acquiring tokens for any tenant.`;
}
function processMultiTenantRequest(tenantId, getTokenOptions, additionallyAllowedTenantIds = [], logger7) {
let resolvedTenantId;
if (process.env.AZURE_IDENTITY_DISABLE_MULTITENANTAUTH) {
resolvedTenantId = tenantId;
} else if (tenantId === "adfs") {
resolvedTenantId = tenantId;
} else {
resolvedTenantId = getTokenOptions?.tenantId ?? tenantId;
}
if (tenantId && resolvedTenantId !== tenantId && !additionallyAllowedTenantIds.includes("*") && !additionallyAllowedTenantIds.some((t) => t.localeCompare(resolvedTenantId) === 0)) {
const message = createConfigurationErrorMessage(resolvedTenantId);
logger7?.info(message);
throw new CredentialUnavailableError(message);
}
return resolvedTenantId;
}
var init_processMultiTenantRequest = __esm(() => {
init_errors4();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/tenantIdUtils.js
function checkTenantId(logger7, tenantId) {
if (!tenantId.match(/^[0-9a-zA-Z-.]+$/)) {
const error51 = new Error("Invalid tenant id provided. You can locate your tenant id by following the instructions listed here: https://learn.microsoft.com/partner-center/find-ids-and-domain-names.");
logger7.info(formatError2("", error51));
throw error51;
}
}
function resolveTenantId(logger7, tenantId, clientId) {
if (tenantId) {
checkTenantId(logger7, tenantId);
return tenantId;
}
if (!clientId) {
clientId = DeveloperSignOnClientId;
}
if (clientId !== DeveloperSignOnClientId) {
return "common";
}
return "organizations";
}
function resolveAdditionallyAllowedTenantIds(additionallyAllowedTenants) {
if (!additionallyAllowedTenants || additionallyAllowedTenants.length === 0) {
return [];
}
if (additionallyAllowedTenants.includes("*")) {
return ALL_TENANTS;
}
return additionallyAllowedTenants;
}
var init_tenantIdUtils = __esm(() => {
init_constants5();
init_logging();
init_processMultiTenantRequest();
});
// node_modules/.pnpm/is-docker@3.0.0/node_modules/is-docker/index.js
import fs2 from "node:fs";
function hasDockerEnv() {
try {
fs2.statSync("/.dockerenv");
return true;
} catch {
return false;
}
}
function hasDockerCGroup() {
try {
return fs2.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
} catch {
return false;
}
}
function isDocker() {
if (isDockerCached === undefined) {
isDockerCached = hasDockerEnv() || hasDockerCGroup();
}
return isDockerCached;
}
var isDockerCached;
var init_is_docker = () => {};
// node_modules/.pnpm/is-inside-container@1.0.0/node_modules/is-inside-container/index.js
import fs3 from "node:fs";
function isInsideContainer() {
if (cachedResult === undefined) {
cachedResult = hasContainerEnv() || isDocker();
}
return cachedResult;
}
var cachedResult, hasContainerEnv = () => {
try {
fs3.statSync("/run/.containerenv");
return true;
} catch {
return false;
}
};
var init_is_inside_container = __esm(() => {
init_is_docker();
});
// node_modules/.pnpm/is-wsl@3.1.1/node_modules/is-wsl/index.js
import process16 from "node:process";
import os5 from "node:os";
import fs4 from "node:fs";
var isWsl = () => {
if (process16.platform !== "linux") {
return false;
}
if (os5.release().toLowerCase().includes("microsoft")) {
if (isInsideContainer()) {
return false;
}
return true;
}
try {
if (fs4.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft")) {
return !isInsideContainer();
}
} catch {}
if (fs4.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop") || fs4.existsSync("/run/WSL")) {
return !isInsideContainer();
}
return false;
}, is_wsl_default;
var init_is_wsl = __esm(() => {
init_is_inside_container();
is_wsl_default = process16.env.__IS_WSL_TEST__ ? isWsl : isWsl();
});
// node_modules/.pnpm/wsl-utils@0.1.0/node_modules/wsl-utils/index.js
import process17 from "node:process";
import fs5, { constants as fsConstants } from "node:fs/promises";
var wslDrivesMountPoint, powerShellPathFromWsl = async () => {
const mountPoint = await wslDrivesMountPoint();
return `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`;
}, powerShellPath = async () => {
if (is_wsl_default) {
return powerShellPathFromWsl();
}
return `${process17.env.SYSTEMROOT || process17.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
};
var init_wsl_utils = __esm(() => {
init_is_wsl();
init_is_wsl();
wslDrivesMountPoint = (() => {
const defaultMountPoint = "/mnt/";
let mountPoint;
return async function() {
if (mountPoint) {
return mountPoint;
}
const configFilePath = "/etc/wsl.conf";
let isConfigFileExists = false;
try {
await fs5.access(configFilePath, fsConstants.F_OK);
isConfigFileExists = true;
} catch {}
if (!isConfigFileExists) {
return defaultMountPoint;
}
const configContent = await fs5.readFile(configFilePath, { encoding: "utf8" });
const configMountPoint = /(?.*)/g.exec(configContent);
if (!configMountPoint) {
return defaultMountPoint;
}
mountPoint = configMountPoint.groups.mountPoint.trim();
mountPoint = mountPoint.endsWith("/") ? mountPoint : `${mountPoint}/`;
return mountPoint;
};
})();
});
// node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js
function defineLazyProperty(object2, propertyName, valueGetter) {
const define2 = (value) => Object.defineProperty(object2, propertyName, { value, enumerable: true, writable: true });
Object.defineProperty(object2, propertyName, {
configurable: true,
enumerable: true,
get() {
const result = valueGetter();
define2(result);
return result;
},
set(value) {
define2(value);
}
});
return object2;
}
// node_modules/.pnpm/default-browser-id@5.0.1/node_modules/default-browser-id/index.js
import { promisify as promisify4 } from "node:util";
import process18 from "node:process";
import { execFile as execFile3 } from "node:child_process";
async function defaultBrowserId() {
if (process18.platform !== "darwin") {
throw new Error("macOS only");
}
const { stdout } = await execFileAsync2("defaults", ["read", "com.apple.LaunchServices/com.apple.launchservices.secure", "LSHandlers"]);
const match = /LSHandlerRoleAll = "(?!-)(?[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout);
const browserId = match?.groups.id ?? "com.apple.Safari";
if (browserId === "com.apple.safari") {
return "com.apple.Safari";
}
return browserId;
}
var execFileAsync2;
var init_default_browser_id = __esm(() => {
execFileAsync2 = promisify4(execFile3);
});
// node_modules/.pnpm/run-applescript@7.1.0/node_modules/run-applescript/index.js
import process19 from "node:process";
import { promisify as promisify5 } from "node:util";
import { execFile as execFile4, execFileSync } from "node:child_process";
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
if (process19.platform !== "darwin") {
throw new Error("macOS only");
}
const outputArguments = humanReadableOutput ? [] : ["-ss"];
const execOptions = {};
if (signal) {
execOptions.signal = signal;
}
const { stdout } = await execFileAsync3("osascript", ["-e", script, outputArguments], execOptions);
return stdout.trim();
}
var execFileAsync3;
var init_run_applescript = __esm(() => {
execFileAsync3 = promisify5(execFile4);
});
// node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js
async function bundleName(bundleId) {
return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`);
}
var init_bundle_name = __esm(() => {
init_run_applescript();
});
// node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/windows.js
import { promisify as promisify6 } from "node:util";
import { execFile as execFile5 } from "node:child_process";
async function defaultBrowser(_execFileAsync = execFileAsync4) {
const { stdout } = await _execFileAsync("reg", [
"QUERY",
" HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice",
"/v",
"ProgId"
]);
const match = /ProgId\s*REG_SZ\s*(?\S+)/.exec(stdout);
if (!match) {
throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
}
const { id } = match.groups;
const dotIndex = id.lastIndexOf(".");
const hyphenIndex = id.lastIndexOf("-");
const baseIdByDot = dotIndex === -1 ? undefined : id.slice(0, dotIndex);
const baseIdByHyphen = hyphenIndex === -1 ? undefined : id.slice(0, hyphenIndex);
return windowsBrowserProgIds[id] ?? windowsBrowserProgIds[baseIdByDot] ?? windowsBrowserProgIds[baseIdByHyphen] ?? { name: id, id };
}
var execFileAsync4, windowsBrowserProgIds, _windowsBrowserProgIdMap, UnknownBrowserError;
var init_windows = __esm(() => {
execFileAsync4 = promisify6(execFile5);
windowsBrowserProgIds = {
MSEdgeHTM: { name: "Edge", id: "com.microsoft.edge" },
MSEdgeBHTML: { name: "Edge Beta", id: "com.microsoft.edge.beta" },
MSEdgeDHTML: { name: "Edge Dev", id: "com.microsoft.edge.dev" },
AppXq0fevzme2pys62n3e0fbqa7peapykr8v: { name: "Edge", id: "com.microsoft.edge.old" },
ChromeHTML: { name: "Chrome", id: "com.google.chrome" },
ChromeBHTML: { name: "Chrome Beta", id: "com.google.chrome.beta" },
ChromeDHTML: { name: "Chrome Dev", id: "com.google.chrome.dev" },
ChromiumHTM: { name: "Chromium", id: "org.chromium.Chromium" },
BraveHTML: { name: "Brave", id: "com.brave.Browser" },
BraveBHTML: { name: "Brave Beta", id: "com.brave.Browser.beta" },
BraveDHTML: { name: "Brave Dev", id: "com.brave.Browser.dev" },
BraveSSHTM: { name: "Brave Nightly", id: "com.brave.Browser.nightly" },
FirefoxURL: { name: "Firefox", id: "org.mozilla.firefox" },
OperaStable: { name: "Opera", id: "com.operasoftware.Opera" },
VivaldiHTM: { name: "Vivaldi", id: "com.vivaldi.Vivaldi" },
"IE.HTTP": { name: "Internet Explorer", id: "com.microsoft.ie" }
};
_windowsBrowserProgIdMap = new Map(Object.entries(windowsBrowserProgIds));
UnknownBrowserError = class UnknownBrowserError extends Error {
};
});
// node_modules/.pnpm/default-browser@5.5.0/node_modules/default-browser/index.js
import { promisify as promisify7 } from "node:util";
import process20 from "node:process";
import { execFile as execFile6 } from "node:child_process";
async function defaultBrowser2() {
if (process20.platform === "darwin") {
const id = await defaultBrowserId();
const name3 = await bundleName(id);
return { name: name3, id };
}
if (process20.platform === "linux") {
const { stdout } = await execFileAsync5("xdg-mime", ["query", "default", "x-scheme-handler/http"]);
const id = stdout.trim();
const name3 = titleize(id.replace(/.desktop$/, "").replace("-", " "));
return { name: name3, id };
}
if (process20.platform === "win32") {
return defaultBrowser();
}
throw new Error("Only macOS, Linux, and Windows are supported");
}
var execFileAsync5, titleize = (string4) => string4.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x3) => x3.toUpperCase());
var init_default_browser = __esm(() => {
init_default_browser_id();
init_bundle_name();
init_windows();
execFileAsync5 = promisify7(execFile6);
});
// node_modules/.pnpm/open@10.2.0/node_modules/open/index.js
var exports_open = {};
__export(exports_open, {
openApp: () => openApp,
default: () => open_default,
apps: () => apps
});
import process21 from "node:process";
import { Buffer as Buffer7 } from "node:buffer";
import path11 from "node:path";
import { fileURLToPath as fileURLToPath3 } from "node:url";
import { promisify as promisify8 } from "node:util";
import childProcess from "node:child_process";
import fs6, { constants as fsConstants2 } from "node:fs/promises";
async function getWindowsDefaultBrowserFromWsl() {
const powershellPath = await powerShellPath();
const rawCommand = String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`;
const encodedCommand = Buffer7.from(rawCommand, "utf16le").toString("base64");
const { stdout } = await execFile7(powershellPath, [
"-NoProfile",
"-NonInteractive",
"-ExecutionPolicy",
"Bypass",
"-EncodedCommand",
encodedCommand
], { encoding: "utf8" });
const progId = stdout.trim();
const browserMap = {
ChromeHTML: "com.google.chrome",
BraveHTML: "com.brave.Browser",
MSEdgeHTM: "com.microsoft.edge",
FirefoxURL: "org.mozilla.firefox"
};
return browserMap[progId] ? { id: browserMap[progId] } : {};
}
function detectArchBinary(binary) {
if (typeof binary === "string" || Array.isArray(binary)) {
return binary;
}
const { [arch]: archBinary } = binary;
if (!archBinary) {
throw new Error(`${arch} is not supported`);
}
return archBinary;
}
function detectPlatformBinary({ [platform2]: platformBinary }, { wsl }) {
if (wsl && is_wsl_default) {
return detectArchBinary(wsl);
}
if (!platformBinary) {
throw new Error(`${platform2} is not supported`);
}
return detectArchBinary(platformBinary);
}
var execFile7, __dirname2, localXdgOpenPath, platform2, arch, pTryEach = async (array2, mapper) => {
let latestError;
for (const item of array2) {
try {
return await mapper(item);
} catch (error51) {
latestError = error51;
}
}
throw latestError;
}, baseOpen = async (options) => {
options = {
wait: false,
background: false,
newInstance: false,
allowNonzeroExitCode: false,
...options
};
if (Array.isArray(options.app)) {
return pTryEach(options.app, (singleApp) => baseOpen({
...options,
app: singleApp
}));
}
let { name: app, arguments: appArguments = [] } = options.app ?? {};
appArguments = [...appArguments];
if (Array.isArray(app)) {
return pTryEach(app, (appName) => baseOpen({
...options,
app: {
name: appName,
arguments: appArguments
}
}));
}
if (app === "browser" || app === "browserPrivate") {
const ids = {
"com.google.chrome": "chrome",
"google-chrome.desktop": "chrome",
"com.brave.Browser": "brave",
"org.mozilla.firefox": "firefox",
"firefox.desktop": "firefox",
"com.microsoft.msedge": "edge",
"com.microsoft.edge": "edge",
"com.microsoft.edgemac": "edge",
"microsoft-edge.desktop": "edge"
};
const flags = {
chrome: "--incognito",
brave: "--incognito",
firefox: "--private-window",
edge: "--inPrivate"
};
const browser = is_wsl_default ? await getWindowsDefaultBrowserFromWsl() : await defaultBrowser2();
if (browser.id in ids) {
const browserName = ids[browser.id];
if (app === "browserPrivate") {
appArguments.push(flags[browserName]);
}
return baseOpen({
...options,
app: {
name: apps[browserName],
arguments: appArguments
}
});
}
throw new Error(`${browser.name} is not supported as a default browser`);
}
let command;
const cliArguments = [];
const childProcessOptions = {};
if (platform2 === "darwin") {
command = "open";
if (options.wait) {
cliArguments.push("--wait-apps");
}
if (options.background) {
cliArguments.push("--background");
}
if (options.newInstance) {
cliArguments.push("--new");
}
if (app) {
cliArguments.push("-a", app);
}
} else if (platform2 === "win32" || is_wsl_default && !isInsideContainer() && !app) {
command = await powerShellPath();
cliArguments.push("-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-EncodedCommand");
if (!is_wsl_default) {
childProcessOptions.windowsVerbatimArguments = true;
}
const encodedArguments = ["Start"];
if (options.wait) {
encodedArguments.push("-Wait");
}
if (app) {
encodedArguments.push(`"\`"${app}\`""`);
if (options.target) {
appArguments.push(options.target);
}
} else if (options.target) {
encodedArguments.push(`"${options.target}"`);
}
if (appArguments.length > 0) {
appArguments = appArguments.map((argument) => `"\`"${argument}\`""`);
encodedArguments.push("-ArgumentList", appArguments.join(","));
}
options.target = Buffer7.from(encodedArguments.join(" "), "utf16le").toString("base64");
} else {
if (app) {
command = app;
} else {
const isBundled = !__dirname2 || __dirname2 === "/";
let exeLocalXdgOpen = false;
try {
await fs6.access(localXdgOpenPath, fsConstants2.X_OK);
exeLocalXdgOpen = true;
} catch {}
const useSystemXdgOpen = process21.versions.electron ?? (platform2 === "android" || isBundled || !exeLocalXdgOpen);
command = useSystemXdgOpen ? "xdg-open" : localXdgOpenPath;
}
if (appArguments.length > 0) {
cliArguments.push(...appArguments);
}
if (!options.wait) {
childProcessOptions.stdio = "ignore";
childProcessOptions.detached = true;
}
}
if (platform2 === "darwin" && appArguments.length > 0) {
cliArguments.push("--args", ...appArguments);
}
if (options.target) {
cliArguments.push(options.target);
}
const subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);
if (options.wait) {
return new Promise((resolve9, reject) => {
subprocess.once("error", reject);
subprocess.once("close", (exitCode) => {
if (!options.allowNonzeroExitCode && exitCode > 0) {
reject(new Error(`Exited with code ${exitCode}`));
return;
}
resolve9(subprocess);
});
});
}
subprocess.unref();
return subprocess;
}, open4 = (target, options) => {
if (typeof target !== "string") {
throw new TypeError("Expected a `target`");
}
return baseOpen({
...options,
target
});
}, openApp = (name3, options) => {
if (typeof name3 !== "string" && !Array.isArray(name3)) {
throw new TypeError("Expected a valid `name`");
}
const { arguments: appArguments = [] } = options ?? {};
if (appArguments !== undefined && appArguments !== null && !Array.isArray(appArguments)) {
throw new TypeError("Expected `appArguments` as Array type");
}
return baseOpen({
...options,
app: {
name: name3,
arguments: appArguments
}
});
}, apps, open_default;
var init_open = __esm(() => {
init_wsl_utils();
init_default_browser();
init_is_inside_container();
execFile7 = promisify8(childProcess.execFile);
__dirname2 = path11.dirname(fileURLToPath3(import.meta.url));
localXdgOpenPath = path11.join(__dirname2, "xdg-open");
({ platform: platform2, arch } = process21);
apps = {};
defineLazyProperty(apps, "chrome", () => detectPlatformBinary({
darwin: "google chrome",
win32: "chrome",
linux: ["google-chrome", "google-chrome-stable", "chromium"]
}, {
wsl: {
ia32: "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
x64: ["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]
}
}));
defineLazyProperty(apps, "brave", () => detectPlatformBinary({
darwin: "brave browser",
win32: "brave",
linux: ["brave-browser", "brave"]
}, {
wsl: {
ia32: "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",
x64: ["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe", "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]
}
}));
defineLazyProperty(apps, "firefox", () => detectPlatformBinary({
darwin: "firefox",
win32: String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
linux: "firefox"
}, {
wsl: "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"
}));
defineLazyProperty(apps, "edge", () => detectPlatformBinary({
darwin: "microsoft edge",
win32: "msedge",
linux: ["microsoft-edge", "microsoft-edge-dev"]
}, {
wsl: "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
}));
defineLazyProperty(apps, "browser", () => "browser");
defineLazyProperty(apps, "browserPrivate", () => "browserPrivate");
open_default = open4;
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/msal/nodeFlows/msalClient.js
function generateMsalConfiguration(clientId, tenantId, msalClientOptions = {}) {
const resolvedTenant = resolveTenantId(msalClientOptions.logger ?? msalLogger, tenantId, clientId);
const authority = getAuthority(resolvedTenant, getAuthorityHost(msalClientOptions));
const httpClient = new IdentityClient({
...msalClientOptions.tokenCredentialOptions,
authorityHost: authority,
loggingOptions: msalClientOptions.loggingOptions
});
const msalConfig = {
auth: {
clientId,
authority,
knownAuthorities: getKnownAuthorities(resolvedTenant, authority, msalClientOptions.disableInstanceDiscovery)
},
system: {
networkClient: httpClient,
loggerOptions: {
loggerCallback: defaultLoggerCallback(msalClientOptions.logger ?? msalLogger),
logLevel: getMSALLogLevel(getLogLevel()),
piiLoggingEnabled: msalClientOptions.loggingOptions?.enableUnsafeSupportLogging
}
}
};
return msalConfig;
}
function createMsalClient(clientId, tenantId, createMsalClientOptions = {}) {
const state3 = {
msalConfig: generateMsalConfiguration(clientId, tenantId, createMsalClientOptions),
cachedAccount: createMsalClientOptions.authenticationRecord ? publicToMsal(createMsalClientOptions.authenticationRecord) : null,
pluginConfiguration: msalPlugins.generatePluginConfiguration(createMsalClientOptions),
logger: createMsalClientOptions.logger ?? msalLogger
};
const publicApps = new Map;
async function getPublicApp(options = {}) {
const appKey = options.enableCae ? "CAE" : "default";
let publicClientApp = publicApps.get(appKey);
if (publicClientApp) {
state3.logger.getToken.info("Existing PublicClientApplication found in cache, returning it.");
return publicClientApp;
}
state3.logger.getToken.info(`Creating new PublicClientApplication with CAE ${options.enableCae ? "enabled" : "disabled"}.`);
const cachePlugin = options.enableCae ? state3.pluginConfiguration.cache.cachePluginCae : state3.pluginConfiguration.cache.cachePlugin;
state3.msalConfig.auth.clientCapabilities = options.enableCae ? ["cp1"] : undefined;
publicClientApp = new PublicClientApplication({
...state3.msalConfig,
broker: { nativeBrokerPlugin: state3.pluginConfiguration.broker.nativeBrokerPlugin },
cache: { cachePlugin: await cachePlugin }
});
publicApps.set(appKey, publicClientApp);
return publicClientApp;
}
const confidentialApps = new Map;
async function getConfidentialApp(options = {}) {
const appKey = options.enableCae ? "CAE" : "default";
let confidentialClientApp = confidentialApps.get(appKey);
if (confidentialClientApp) {
state3.logger.getToken.info("Existing ConfidentialClientApplication found in cache, returning it.");
return confidentialClientApp;
}
state3.logger.getToken.info(`Creating new ConfidentialClientApplication with CAE ${options.enableCae ? "enabled" : "disabled"}.`);
const cachePlugin = options.enableCae ? state3.pluginConfiguration.cache.cachePluginCae : state3.pluginConfiguration.cache.cachePlugin;
state3.msalConfig.auth.clientCapabilities = options.enableCae ? ["cp1"] : undefined;
confidentialClientApp = new ConfidentialClientApplication({
...state3.msalConfig,
broker: { nativeBrokerPlugin: state3.pluginConfiguration.broker.nativeBrokerPlugin },
cache: { cachePlugin: await cachePlugin }
});
confidentialApps.set(appKey, confidentialClientApp);
return confidentialClientApp;
}
async function getTokenSilent(app, scopes, options = {}) {
if (state3.cachedAccount === null) {
state3.logger.getToken.info("No cached account found in local state.");
throw new AuthenticationRequiredError({ scopes });
}
if (options.claims) {
state3.cachedClaims = options.claims;
}
const silentRequest = {
account: state3.cachedAccount,
scopes,
claims: state3.cachedClaims
};
if (state3.pluginConfiguration.broker.isEnabled) {
silentRequest.extraQueryParameters ||= {};
if (state3.pluginConfiguration.broker.enableMsaPassthrough) {
silentRequest.extraQueryParameters["msal_request_type"] = "consumer_passthrough";
}
}
if (options.proofOfPossessionOptions) {
silentRequest.shrNonce = options.proofOfPossessionOptions.nonce;
silentRequest.authenticationScheme = "pop";
silentRequest.resourceRequestMethod = options.proofOfPossessionOptions.resourceRequestMethod;
silentRequest.resourceRequestUri = options.proofOfPossessionOptions.resourceRequestUrl;
}
state3.logger.getToken.info("Attempting to acquire token silently");
try {
return await app.acquireTokenSilent(silentRequest);
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
function calculateRequestAuthority(options) {
if (options?.tenantId) {
return getAuthority(options.tenantId, getAuthorityHost(createMsalClientOptions));
}
return state3.msalConfig.auth.authority;
}
async function withSilentAuthentication(msalApp, scopes, options, onAuthenticationRequired) {
let response = null;
try {
response = await getTokenSilent(msalApp, scopes, options);
} catch (e) {
if (e.name !== "AuthenticationRequiredError") {
throw e;
}
if (options.disableAutomaticAuthentication) {
throw new AuthenticationRequiredError({
scopes,
getTokenOptions: options,
message: "Automatic authentication has been disabled. You may call the authentication() method."
});
}
}
if (response === null) {
try {
response = await onAuthenticationRequired();
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
ensureValidMsalToken(scopes, response, options);
state3.cachedAccount = response?.account ?? null;
state3.logger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
}
async function getTokenByClientSecret(scopes, clientSecret, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using client secret`);
state3.msalConfig.auth.clientSecret = clientSecret;
const msalApp = await getConfidentialApp(options);
try {
const response = await msalApp.acquireTokenByClientCredential({
scopes,
authority: calculateRequestAuthority(options),
azureRegion: calculateRegionalAuthority(),
claims: options?.claims
});
ensureValidMsalToken(scopes, response, options);
state3.logger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
async function getTokenByClientAssertion(scopes, clientAssertion, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using client assertion`);
state3.msalConfig.auth.clientAssertion = clientAssertion;
const msalApp = await getConfidentialApp(options);
try {
const response = await msalApp.acquireTokenByClientCredential({
scopes,
authority: calculateRequestAuthority(options),
azureRegion: calculateRegionalAuthority(),
claims: options?.claims,
clientAssertion
});
ensureValidMsalToken(scopes, response, options);
state3.logger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
async function getTokenByClientCertificate(scopes, certificate, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using client certificate`);
state3.msalConfig.auth.clientCertificate = certificate;
const msalApp = await getConfidentialApp(options);
try {
const response = await msalApp.acquireTokenByClientCredential({
scopes,
authority: calculateRequestAuthority(options),
azureRegion: calculateRegionalAuthority(),
claims: options?.claims
});
ensureValidMsalToken(scopes, response, options);
state3.logger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
async function getTokenByDeviceCode(scopes, deviceCodeCallback, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using device code`);
const msalApp = await getPublicApp(options);
return withSilentAuthentication(msalApp, scopes, options, () => {
const requestOptions = {
scopes,
cancel: options?.abortSignal?.aborted ?? false,
deviceCodeCallback,
authority: calculateRequestAuthority(options),
claims: options?.claims
};
const deviceCodeRequest = msalApp.acquireTokenByDeviceCode(requestOptions);
if (options.abortSignal) {
options.abortSignal.addEventListener("abort", () => {
requestOptions.cancel = true;
});
}
return deviceCodeRequest;
});
}
async function getTokenByUsernamePassword(scopes, username, password, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using username and password`);
const msalApp = await getPublicApp(options);
return withSilentAuthentication(msalApp, scopes, options, () => {
const requestOptions = {
scopes,
username,
password,
authority: calculateRequestAuthority(options),
claims: options?.claims
};
return msalApp.acquireTokenByUsernamePassword(requestOptions);
});
}
function getActiveAccount() {
if (!state3.cachedAccount) {
return;
}
return msalToPublic(clientId, state3.cachedAccount);
}
async function getTokenByAuthorizationCode(scopes, redirectUri, authorizationCode, clientSecret, options = {}) {
state3.logger.getToken.info(`Attempting to acquire token using authorization code`);
let msalApp;
if (clientSecret) {
state3.msalConfig.auth.clientSecret = clientSecret;
msalApp = await getConfidentialApp(options);
} else {
msalApp = await getPublicApp(options);
}
return withSilentAuthentication(msalApp, scopes, options, () => {
return msalApp.acquireTokenByCode({
scopes,
redirectUri,
code: authorizationCode,
authority: calculateRequestAuthority(options),
claims: options?.claims
});
});
}
async function getTokenOnBehalfOf(scopes, userAssertionToken, clientCredentials, options = {}) {
msalLogger.getToken.info(`Attempting to acquire token on behalf of another user`);
if (typeof clientCredentials === "string") {
msalLogger.getToken.info(`Using client secret for on behalf of flow`);
state3.msalConfig.auth.clientSecret = clientCredentials;
} else if (typeof clientCredentials === "function") {
msalLogger.getToken.info(`Using client assertion callback for on behalf of flow`);
state3.msalConfig.auth.clientAssertion = clientCredentials;
} else {
msalLogger.getToken.info(`Using client certificate for on behalf of flow`);
state3.msalConfig.auth.clientCertificate = clientCredentials;
}
const msalApp = await getConfidentialApp(options);
try {
const response = await msalApp.acquireTokenOnBehalfOf({
scopes,
authority: calculateRequestAuthority(options),
claims: options.claims,
oboAssertion: userAssertionToken
});
ensureValidMsalToken(scopes, response, options);
msalLogger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
} catch (err) {
throw handleMsalError(scopes, err, options);
}
}
function createBaseInteractiveRequest(scopes, options) {
return {
openBrowser: async (url3) => {
const open5 = await Promise.resolve().then(() => (init_open(), exports_open));
await open5.default(url3, { newInstance: true });
},
scopes,
authority: calculateRequestAuthority(options),
claims: options?.claims,
loginHint: options?.loginHint,
errorTemplate: options?.browserCustomizationOptions?.errorMessage,
successTemplate: options?.browserCustomizationOptions?.successMessage,
prompt: options?.loginHint ? "login" : "select_account"
};
}
async function getBrokeredTokenInternal(scopes, useDefaultBrokerAccount, options = {}) {
msalLogger.verbose("Authentication will resume through the broker");
const app = await getPublicApp(options);
const interactiveRequest = createBaseInteractiveRequest(scopes, options);
if (state3.pluginConfiguration.broker.parentWindowHandle) {
interactiveRequest.windowHandle = Buffer.from(state3.pluginConfiguration.broker.parentWindowHandle);
} else {
msalLogger.warning("Parent window handle is not specified for the broker. This may cause unexpected behavior. Please provide the parentWindowHandle.");
}
if (state3.pluginConfiguration.broker.enableMsaPassthrough) {
(interactiveRequest.extraQueryParameters ??= {})["msal_request_type"] = "consumer_passthrough";
}
if (useDefaultBrokerAccount) {
interactiveRequest.prompt = "none";
msalLogger.verbose("Attempting broker authentication using the default broker account");
} else {
msalLogger.verbose("Attempting broker authentication without the default broker account");
}
if (options.proofOfPossessionOptions) {
interactiveRequest.shrNonce = options.proofOfPossessionOptions.nonce;
interactiveRequest.authenticationScheme = "pop";
interactiveRequest.resourceRequestMethod = options.proofOfPossessionOptions.resourceRequestMethod;
interactiveRequest.resourceRequestUri = options.proofOfPossessionOptions.resourceRequestUrl;
}
try {
return await app.acquireTokenInteractive(interactiveRequest);
} catch (e) {
msalLogger.verbose(`Failed to authenticate through the broker: ${e.message}`);
if (options.disableAutomaticAuthentication) {
throw new AuthenticationRequiredError({
scopes,
getTokenOptions: options,
message: "Cannot silently authenticate with default broker account."
});
}
if (useDefaultBrokerAccount) {
return getBrokeredTokenInternal(scopes, false, options);
} else {
throw e;
}
}
}
async function getBrokeredToken(scopes, useDefaultBrokerAccount, options = {}) {
msalLogger.getToken.info(`Attempting to acquire token using brokered authentication with useDefaultBrokerAccount: ${useDefaultBrokerAccount}`);
const response = await getBrokeredTokenInternal(scopes, useDefaultBrokerAccount, options);
ensureValidMsalToken(scopes, response, options);
state3.cachedAccount = response?.account ?? null;
state3.logger.getToken.info(formatSuccess(scopes));
return {
token: response.accessToken,
expiresOnTimestamp: response.expiresOn.getTime(),
refreshAfterTimestamp: response.refreshOn?.getTime(),
tokenType: response.tokenType
};
}
async function getTokenByInteractiveRequest(scopes, options = {}) {
msalLogger.getToken.info(`Attempting to acquire token interactively`);
const app = await getPublicApp(options);
return withSilentAuthentication(app, scopes, options, async () => {
const interactiveRequest = createBaseInteractiveRequest(scopes, options);
if (state3.pluginConfiguration.broker.isEnabled) {
return getBrokeredTokenInternal(scopes, state3.pluginConfiguration.broker.useDefaultBrokerAccount ?? false, options);
}
if (options.proofOfPossessionOptions) {
interactiveRequest.shrNonce = options.proofOfPossessionOptions.nonce;
interactiveRequest.authenticationScheme = "pop";
interactiveRequest.resourceRequestMethod = options.proofOfPossessionOptions.resourceRequestMethod;
interactiveRequest.resourceRequestUri = options.proofOfPossessionOptions.resourceRequestUrl;
}
return app.acquireTokenInteractive(interactiveRequest);
});
}
return {
getActiveAccount,
getBrokeredToken,
getTokenByClientSecret,
getTokenByClientAssertion,
getTokenByClientCertificate,
getTokenByDeviceCode,
getTokenByUsernamePassword,
getTokenByAuthorizationCode,
getTokenOnBehalfOf,
getTokenByInteractiveRequest
};
}
var msalLogger;
var init_msalClient = __esm(() => {
init_dist3();
init_logging();
init_msalPlugins();
init_utils4();
init_errors4();
init_identityClient();
init_regionalAuthority();
init_esm2();
init_tenantIdUtils();
msalLogger = credentialLogger("MsalClient");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/clientCertificateCredential.js
import { createHash as createHash3, createPrivateKey } from "node:crypto";
import { readFile as readFile7 } from "node:fs/promises";
class ClientCertificateCredential {
tenantId;
additionallyAllowedTenantIds;
certificateConfiguration;
sendCertificateChain;
msalClient;
constructor(tenantId, clientId, certificatePathOrConfiguration, options = {}) {
if (!tenantId || !clientId) {
throw new Error(`${credentialName}: tenantId and clientId are required parameters.`);
}
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.sendCertificateChain = options.sendCertificateChain;
this.certificateConfiguration = {
...typeof certificatePathOrConfiguration === "string" ? {
certificatePath: certificatePathOrConfiguration
} : certificatePathOrConfiguration
};
const certificate = this.certificateConfiguration.certificate;
const certificatePath = this.certificateConfiguration.certificatePath;
if (!this.certificateConfiguration || !(certificate || certificatePath)) {
throw new Error(`${credentialName}: Provide either a PEM certificate in string form, or the path to that certificate in the filesystem. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
if (certificate && certificatePath) {
throw new Error(`${credentialName}: To avoid unexpected behaviors, providing both the contents of a PEM certificate and the path to a PEM certificate is forbidden. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
this.msalClient = createMsalClient(clientId, tenantId, {
...options,
logger: logger7,
tokenCredentialOptions: options
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${credentialName}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger7);
const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];
const certificate = await this.buildClientCertificate();
return this.msalClient.getTokenByClientCertificate(arrayScopes, certificate, newOptions);
});
}
async buildClientCertificate() {
const parts = await parseCertificate(this.certificateConfiguration, this.sendCertificateChain ?? false);
let privateKey;
if (this.certificateConfiguration.certificatePassword !== undefined) {
privateKey = createPrivateKey({
key: parts.certificateContents,
passphrase: this.certificateConfiguration.certificatePassword,
format: "pem"
}).export({
format: "pem",
type: "pkcs8"
}).toString();
} else {
privateKey = parts.certificateContents;
}
return {
thumbprint: parts.thumbprint,
thumbprintSha256: parts.thumbprintSha256,
privateKey,
x5c: parts.x5c
};
}
}
async function parseCertificate(certificateConfiguration, sendCertificateChain) {
const certificate = certificateConfiguration.certificate;
const certificatePath = certificateConfiguration.certificatePath;
const certificateContents = certificate || await readFile7(certificatePath, "utf8");
const x5c = sendCertificateChain ? certificateContents : undefined;
const certificatePattern = /(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/g;
const publicKeys = [];
let match;
do {
match = certificatePattern.exec(certificateContents);
if (match) {
publicKeys.push(match[3]);
}
} while (match);
if (publicKeys.length === 0) {
throw new Error("The file at the specified path does not contain a PEM-encoded certificate.");
}
const thumbprint = createHash3("sha1").update(Buffer.from(publicKeys[0], "base64")).digest("hex").toUpperCase();
const thumbprintSha256 = createHash3("sha256").update(Buffer.from(publicKeys[0], "base64")).digest("hex").toUpperCase();
return {
certificateContents,
thumbprintSha256,
thumbprint,
x5c
};
}
var credentialName = "ClientCertificateCredential", logger7;
var init_clientCertificateCredential = __esm(() => {
init_msalClient();
init_tenantIdUtils();
init_logging();
init_tracing();
logger7 = credentialLogger(credentialName);
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/scopeUtils.js
function ensureScopes(scopes) {
return Array.isArray(scopes) ? scopes : [scopes];
}
function ensureValidScopeForDevTimeCreds(scope, logger8) {
if (!scope.match(/^[0-9a-zA-Z-_.:/]+$/)) {
const error51 = new Error("Invalid scope was specified by the user or calling client");
logger8.getToken.info(formatError2(scope, error51));
throw error51;
}
}
function getScopeResource(scope) {
return scope.replace(/\/.default$/, "");
}
var init_scopeUtils = __esm(() => {
init_logging();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/clientSecretCredential.js
class ClientSecretCredential {
tenantId;
additionallyAllowedTenantIds;
msalClient;
clientSecret;
constructor(tenantId, clientId, clientSecret, options = {}) {
if (!tenantId) {
throw new CredentialUnavailableError("ClientSecretCredential: tenantId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.");
}
if (!clientId) {
throw new CredentialUnavailableError("ClientSecretCredential: clientId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.");
}
if (!clientSecret) {
throw new CredentialUnavailableError("ClientSecretCredential: clientSecret is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.");
}
this.clientSecret = clientSecret;
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.msalClient = createMsalClient(clientId, tenantId, {
...options,
logger: logger8,
tokenCredentialOptions: options
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger8);
const arrayScopes = ensureScopes(scopes);
return this.msalClient.getTokenByClientSecret(arrayScopes, this.clientSecret, newOptions);
});
}
}
var logger8;
var init_clientSecretCredential = __esm(() => {
init_msalClient();
init_tenantIdUtils();
init_errors4();
init_logging();
init_scopeUtils();
init_tracing();
logger8 = credentialLogger("ClientSecretCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/usernamePasswordCredential.js
class UsernamePasswordCredential {
tenantId;
additionallyAllowedTenantIds;
msalClient;
username;
password;
constructor(tenantId, clientId, username, password, options = {}) {
if (!tenantId) {
throw new CredentialUnavailableError("UsernamePasswordCredential: tenantId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/usernamepasswordcredential/troubleshoot.");
}
if (!clientId) {
throw new CredentialUnavailableError("UsernamePasswordCredential: clientId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/usernamepasswordcredential/troubleshoot.");
}
if (!username) {
throw new CredentialUnavailableError("UsernamePasswordCredential: username is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/usernamepasswordcredential/troubleshoot.");
}
if (!password) {
throw new CredentialUnavailableError("UsernamePasswordCredential: password is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/usernamepasswordcredential/troubleshoot.");
}
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.username = username;
this.password = password;
this.msalClient = createMsalClient(clientId, this.tenantId, {
...options,
tokenCredentialOptions: options ?? {}
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger9);
const arrayScopes = ensureScopes(scopes);
return this.msalClient.getTokenByUsernamePassword(arrayScopes, this.username, this.password, newOptions);
});
}
}
var logger9;
var init_usernamePasswordCredential = __esm(() => {
init_msalClient();
init_tenantIdUtils();
init_errors4();
init_logging();
init_scopeUtils();
init_tracing();
logger9 = credentialLogger("UsernamePasswordCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/environmentCredential.js
function getAdditionallyAllowedTenants() {
const additionallyAllowedValues = process.env.AZURE_ADDITIONALLY_ALLOWED_TENANTS ?? "";
return additionallyAllowedValues.split(";");
}
function getSendCertificateChain() {
const sendCertificateChain = (process.env.AZURE_CLIENT_SEND_CERTIFICATE_CHAIN ?? "").toLowerCase();
const result = sendCertificateChain === "true" || sendCertificateChain === "1";
logger10.verbose(`AZURE_CLIENT_SEND_CERTIFICATE_CHAIN: ${process.env.AZURE_CLIENT_SEND_CERTIFICATE_CHAIN}; sendCertificateChain: ${result}`);
return result;
}
class EnvironmentCredential {
_credential = undefined;
constructor(options) {
const assigned = processEnvVars(AllSupportedEnvironmentVariables).assigned.join(", ");
logger10.info(`Found the following environment variables: ${assigned}`);
const tenantId = process.env.AZURE_TENANT_ID, clientId = process.env.AZURE_CLIENT_ID, clientSecret = process.env.AZURE_CLIENT_SECRET;
const additionallyAllowedTenantIds = getAdditionallyAllowedTenants();
const sendCertificateChain = getSendCertificateChain();
const newOptions = { ...options, additionallyAllowedTenantIds, sendCertificateChain };
if (tenantId) {
checkTenantId(logger10, tenantId);
}
if (tenantId && clientId && clientSecret) {
logger10.info(`Invoking ClientSecretCredential with tenant ID: ${tenantId}, clientId: ${clientId} and clientSecret: [REDACTED]`);
this._credential = new ClientSecretCredential(tenantId, clientId, clientSecret, newOptions);
return;
}
const certificatePath = process.env.AZURE_CLIENT_CERTIFICATE_PATH;
const certificatePassword = process.env.AZURE_CLIENT_CERTIFICATE_PASSWORD;
if (tenantId && clientId && certificatePath) {
logger10.info(`Invoking ClientCertificateCredential with tenant ID: ${tenantId}, clientId: ${clientId} and certificatePath: ${certificatePath}`);
this._credential = new ClientCertificateCredential(tenantId, clientId, { certificatePath, certificatePassword }, newOptions);
return;
}
const username = process.env.AZURE_USERNAME;
const password = process.env.AZURE_PASSWORD;
if (tenantId && clientId && username && password) {
logger10.info(`Invoking UsernamePasswordCredential with tenant ID: ${tenantId}, clientId: ${clientId} and username: ${username}`);
logger10.warning("Environment is configured to use username and password authentication. This authentication method is deprecated, as it doesn't support multifactor authentication (MFA). Use a more secure credential. For more details, see https://aka.ms/azsdk/identity/mfa.");
this._credential = new UsernamePasswordCredential(tenantId, clientId, username, password, newOptions);
}
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${credentialName2}.getToken`, options, async (newOptions) => {
if (this._credential) {
try {
const result = await this._credential.getToken(scopes, newOptions);
logger10.getToken.info(formatSuccess(scopes));
return result;
} catch (err) {
const authenticationError = new AuthenticationError2(400, {
error: `${credentialName2} authentication failed. To troubleshoot, visit https://aka.ms/azsdk/js/identity/environmentcredential/troubleshoot.`,
error_description: err.message.toString().split("More details:").join("")
});
logger10.getToken.info(formatError2(scopes, authenticationError));
throw authenticationError;
}
}
throw new CredentialUnavailableError(`${credentialName2} is unavailable. No underlying credential could be used. To troubleshoot, visit https://aka.ms/azsdk/js/identity/environmentcredential/troubleshoot.`);
});
}
}
var AllSupportedEnvironmentVariables, credentialName2 = "EnvironmentCredential", logger10;
var init_environmentCredential = __esm(() => {
init_errors4();
init_logging();
init_clientCertificateCredential();
init_clientSecretCredential();
init_usernamePasswordCredential();
init_tenantIdUtils();
init_tracing();
AllSupportedEnvironmentVariables = [
"AZURE_TENANT_ID",
"AZURE_CLIENT_ID",
"AZURE_CLIENT_SECRET",
"AZURE_CLIENT_CERTIFICATE_PATH",
"AZURE_CLIENT_CERTIFICATE_PASSWORD",
"AZURE_USERNAME",
"AZURE_PASSWORD",
"AZURE_ADDITIONALLY_ALLOWED_TENANTS",
"AZURE_CLIENT_SEND_CERTIFICATE_CHAIN"
];
logger10 = credentialLogger(credentialName2);
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/managedIdentityCredential/imdsRetryPolicy.js
function imdsRetryPolicy(msiRetryConfig) {
return retryPolicy2([
{
name: "imdsRetryPolicy",
retry: ({ retryCount, response }) => {
if (response?.status !== 404 && response?.status !== 410) {
return { skipStrategy: true };
}
const initialDelayMs = response?.status === 410 ? Math.max(MIN_DELAY_FOR_410_MS, msiRetryConfig.startDelayInMs) : msiRetryConfig.startDelayInMs;
return calculateRetryDelay2(retryCount, {
retryDelayInMs: initialDelayMs,
maxRetryDelayInMs: DEFAULT_CLIENT_MAX_RETRY_INTERVAL2
});
}
}
], {
maxRetries: msiRetryConfig.maxRetries
});
}
var DEFAULT_CLIENT_MAX_RETRY_INTERVAL2, MIN_DELAY_FOR_410_MS = 3000;
var init_imdsRetryPolicy = __esm(() => {
init_esm7();
init_esm5();
DEFAULT_CLIENT_MAX_RETRY_INTERVAL2 = 1000 * 64;
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/managedIdentityCredential/imdsMsi.js
function prepareInvalidRequestOptions(scopes) {
const resource = mapScopesToResource(scopes);
if (!resource) {
throw new Error(`${msiName}: Multiple scopes are not supported.`);
}
const url3 = new URL(imdsEndpointPath, process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST ?? imdsHost);
const rawHeaders = {
Accept: "application/json"
};
return {
url: `${url3}`,
method: "GET",
headers: createHttpHeaders2(rawHeaders)
};
}
var msiName = "ManagedIdentityCredential - IMDS", logger11, imdsHost = "http://169.254.169.254", imdsEndpointPath = "/metadata/identity/oauth2/token", imdsMsi;
var init_imdsMsi = __esm(() => {
init_esm7();
init_esm5();
init_logging();
init_tracing();
logger11 = credentialLogger(msiName);
imdsMsi = {
name: "imdsMsi",
async isAvailable(options) {
const { scopes, identityClient, getTokenOptions } = options;
const resource = mapScopesToResource(scopes);
if (!resource) {
logger11.info(`${msiName}: Unavailable. Multiple scopes are not supported.`);
return false;
}
if (process.env.AZURE_POD_IDENTITY_AUTHORITY_HOST) {
return true;
}
if (!identityClient) {
throw new Error("Missing IdentityClient");
}
const requestOptions = prepareInvalidRequestOptions(resource);
return tracingClient.withSpan("ManagedIdentityCredential-pingImdsEndpoint", getTokenOptions ?? {}, async (updatedOptions) => {
requestOptions.tracingOptions = updatedOptions.tracingOptions;
const request = createPipelineRequest2(requestOptions);
request.timeout = updatedOptions.requestOptions?.timeout || 1000;
request.allowInsecureConnection = true;
let response;
try {
logger11.info(`${msiName}: Pinging the Azure IMDS endpoint`);
response = await identityClient.sendRequest(request);
} catch (err) {
if (isError2(err)) {
logger11.verbose(`${msiName}: Caught error ${err.name}: ${err.message}`);
}
logger11.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
return false;
}
if (response.status === 403) {
if (response.bodyAsText?.includes("unreachable")) {
logger11.info(`${msiName}: The Azure IMDS endpoint is unavailable`);
logger11.info(`${msiName}: ${response.bodyAsText}`);
return false;
}
}
logger11.info(`${msiName}: The Azure IMDS endpoint is available`);
return true;
});
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/clientAssertionCredential.js
class ClientAssertionCredential {
msalClient;
tenantId;
additionallyAllowedTenantIds;
getAssertion;
options;
constructor(tenantId, clientId, getAssertion, options = {}) {
if (!tenantId) {
throw new CredentialUnavailableError("ClientAssertionCredential: tenantId is a required parameter.");
}
if (!clientId) {
throw new CredentialUnavailableError("ClientAssertionCredential: clientId is a required parameter.");
}
if (!getAssertion) {
throw new CredentialUnavailableError("ClientAssertionCredential: clientAssertion is a required parameter.");
}
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.options = options;
this.getAssertion = getAssertion;
this.msalClient = createMsalClient(clientId, tenantId, {
...options,
logger: logger12,
tokenCredentialOptions: this.options
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger12);
const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];
return this.msalClient.getTokenByClientAssertion(arrayScopes, this.getAssertion, newOptions);
});
}
}
var logger12;
var init_clientAssertionCredential = __esm(() => {
init_msalClient();
init_tenantIdUtils();
init_errors4();
init_logging();
init_tracing();
logger12 = credentialLogger("ClientAssertionCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/workloadIdentityCredential.js
import { readFile as readFile8 } from "node:fs/promises";
class WorkloadIdentityCredential {
client;
azureFederatedTokenFileContent = undefined;
cacheDate = undefined;
federatedTokenFilePath;
constructor(options) {
const assignedEnv = processEnvVars(SupportedWorkloadEnvironmentVariables).assigned.join(", ");
logger13.info(`Found the following environment variables: ${assignedEnv}`);
const workloadIdentityCredentialOptions = options ?? {};
const tenantId = workloadIdentityCredentialOptions.tenantId || process.env.AZURE_TENANT_ID;
const clientId = workloadIdentityCredentialOptions.clientId || process.env.AZURE_CLIENT_ID;
this.federatedTokenFilePath = workloadIdentityCredentialOptions.tokenFilePath || process.env.AZURE_FEDERATED_TOKEN_FILE;
if (tenantId) {
checkTenantId(logger13, tenantId);
}
if (!clientId) {
throw new CredentialUnavailableError(`${credentialName3}: is unavailable. clientId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_CLIENT_ID".
See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`);
}
if (!tenantId) {
throw new CredentialUnavailableError(`${credentialName3}: is unavailable. tenantId is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_TENANT_ID".
See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`);
}
if (!this.federatedTokenFilePath) {
throw new CredentialUnavailableError(`${credentialName3}: is unavailable. federatedTokenFilePath is a required parameter. In DefaultAzureCredential and ManagedIdentityCredential, this can be provided as an environment variable - "AZURE_FEDERATED_TOKEN_FILE".
See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`);
}
logger13.info(`Invoking ClientAssertionCredential with tenant ID: ${tenantId}, clientId: ${workloadIdentityCredentialOptions.clientId} and federated token path: [REDACTED]`);
this.client = new ClientAssertionCredential(tenantId, clientId, this.readFileContents.bind(this), options);
}
async getToken(scopes, options) {
if (!this.client) {
const errorMessage2 = `${credentialName3}: is unavailable. tenantId, clientId, and federatedTokenFilePath are required parameters.
In DefaultAzureCredential and ManagedIdentityCredential, these can be provided as environment variables -
"AZURE_TENANT_ID",
"AZURE_CLIENT_ID",
"AZURE_FEDERATED_TOKEN_FILE". See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/workloadidentitycredential/troubleshoot`;
logger13.info(errorMessage2);
throw new CredentialUnavailableError(errorMessage2);
}
logger13.info("Invoking getToken() of Client Assertion Credential");
return this.client.getToken(scopes, options);
}
async readFileContents() {
if (this.cacheDate !== undefined && Date.now() - this.cacheDate >= 1000 * 60 * 5) {
this.azureFederatedTokenFileContent = undefined;
}
if (!this.federatedTokenFilePath) {
throw new CredentialUnavailableError(`${credentialName3}: is unavailable. Invalid file path provided ${this.federatedTokenFilePath}.`);
}
if (!this.azureFederatedTokenFileContent) {
const file2 = await readFile8(this.federatedTokenFilePath, "utf8");
const value = file2.trim();
if (!value) {
throw new CredentialUnavailableError(`${credentialName3}: is unavailable. No content on the file ${this.federatedTokenFilePath}.`);
} else {
this.azureFederatedTokenFileContent = value;
this.cacheDate = Date.now();
}
}
return this.azureFederatedTokenFileContent;
}
}
var credentialName3 = "WorkloadIdentityCredential", SupportedWorkloadEnvironmentVariables, logger13;
var init_workloadIdentityCredential = __esm(() => {
init_logging();
init_clientAssertionCredential();
init_errors4();
init_tenantIdUtils();
SupportedWorkloadEnvironmentVariables = [
"AZURE_TENANT_ID",
"AZURE_CLIENT_ID",
"AZURE_FEDERATED_TOKEN_FILE"
];
logger13 = credentialLogger(credentialName3);
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/managedIdentityCredential/tokenExchangeMsi.js
var msiName2 = "ManagedIdentityCredential - Token Exchange", logger14, tokenExchangeMsi;
var init_tokenExchangeMsi = __esm(() => {
init_workloadIdentityCredential();
init_logging();
logger14 = credentialLogger(msiName2);
tokenExchangeMsi = {
name: "tokenExchangeMsi",
async isAvailable(clientId) {
const env6 = process.env;
const result = Boolean((clientId || env6.AZURE_CLIENT_ID) && env6.AZURE_TENANT_ID && process.env.AZURE_FEDERATED_TOKEN_FILE);
if (!result) {
logger14.info(`${msiName2}: Unavailable. The environment variables needed are: AZURE_CLIENT_ID (or the client ID sent through the parameters), AZURE_TENANT_ID and AZURE_FEDERATED_TOKEN_FILE`);
}
return result;
},
async getToken(configuration, getTokenOptions = {}) {
const { scopes, clientId } = configuration;
const identityClientTokenCredentialOptions = {};
const workloadIdentityCredential = new WorkloadIdentityCredential({
clientId,
tenantId: process.env.AZURE_TENANT_ID,
tokenFilePath: process.env.AZURE_FEDERATED_TOKEN_FILE,
...identityClientTokenCredentialOptions,
disableInstanceDiscovery: true
});
return workloadIdentityCredential.getToken(scopes, getTokenOptions);
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/managedIdentityCredential/index.js
class ManagedIdentityCredential {
managedIdentityApp;
identityClient;
clientId;
resourceId;
objectId;
msiRetryConfig = {
maxRetries: 5,
startDelayInMs: 800,
intervalIncrement: 2
};
isAvailableIdentityClient;
sendProbeRequest;
constructor(clientIdOrOptions, options) {
let _options;
if (typeof clientIdOrOptions === "string") {
this.clientId = clientIdOrOptions;
_options = options ?? {};
} else {
this.clientId = clientIdOrOptions?.clientId;
_options = clientIdOrOptions ?? {};
}
this.resourceId = _options?.resourceId;
this.objectId = _options?.objectId;
this.sendProbeRequest = _options?.sendProbeRequest ?? false;
const providedIds = [
{ key: "clientId", value: this.clientId },
{ key: "resourceId", value: this.resourceId },
{ key: "objectId", value: this.objectId }
].filter((id) => id.value);
if (providedIds.length > 1) {
throw new Error(`ManagedIdentityCredential: only one of 'clientId', 'resourceId', or 'objectId' can be provided. Received values: ${JSON.stringify({ clientId: this.clientId, resourceId: this.resourceId, objectId: this.objectId })}`);
}
_options.allowInsecureConnection = true;
if (_options.retryOptions?.maxRetries !== undefined) {
this.msiRetryConfig.maxRetries = _options.retryOptions.maxRetries;
}
this.identityClient = new IdentityClient({
..._options,
additionalPolicies: [{ policy: imdsRetryPolicy(this.msiRetryConfig), position: "perCall" }]
});
this.managedIdentityApp = new ManagedIdentityApplication({
managedIdentityIdParams: {
userAssignedClientId: this.clientId,
userAssignedResourceId: this.resourceId,
userAssignedObjectId: this.objectId
},
system: {
disableInternalRetries: true,
networkClient: this.identityClient,
loggerOptions: {
logLevel: getMSALLogLevel(getLogLevel()),
piiLoggingEnabled: _options.loggingOptions?.enableUnsafeSupportLogging,
loggerCallback: defaultLoggerCallback(logger15)
}
}
});
this.isAvailableIdentityClient = new IdentityClient({
..._options,
retryOptions: {
maxRetries: 0
}
});
const managedIdentitySource = this.managedIdentityApp.getManagedIdentitySource();
if (managedIdentitySource === "CloudShell") {
if (this.clientId || this.resourceId || this.objectId) {
logger15.warning(`CloudShell MSI detected with user-provided IDs - throwing. Received values: ${JSON.stringify({
clientId: this.clientId,
resourceId: this.resourceId,
objectId: this.objectId
})}.`);
throw new CredentialUnavailableError("ManagedIdentityCredential: Specifying a user-assigned managed identity is not supported for CloudShell at runtime. When using Managed Identity in CloudShell, omit the clientId, resourceId, and objectId parameters.");
}
}
if (managedIdentitySource === "ServiceFabric") {
if (this.clientId || this.resourceId || this.objectId) {
logger15.warning(`Service Fabric detected with user-provided IDs - throwing. Received values: ${JSON.stringify({
clientId: this.clientId,
resourceId: this.resourceId,
objectId: this.objectId
})}.`);
throw new CredentialUnavailableError(`ManagedIdentityCredential: ${serviceFabricErrorMessage}`);
}
}
logger15.info(`Using ${managedIdentitySource} managed identity.`);
if (providedIds.length === 1) {
const { key, value } = providedIds[0];
logger15.info(`${managedIdentitySource} with ${key}: ${value}`);
}
}
async getToken(scopes, options = {}) {
logger15.getToken.info("Using the MSAL provider for Managed Identity.");
const resource = mapScopesToResource(scopes);
if (!resource) {
throw new CredentialUnavailableError(`ManagedIdentityCredential: Multiple scopes are not supported. Scopes: ${JSON.stringify(scopes)}`);
}
return tracingClient.withSpan("ManagedIdentityCredential.getToken", options, async () => {
try {
const isTokenExchangeMsi = await tokenExchangeMsi.isAvailable(this.clientId);
const identitySource = this.managedIdentityApp.getManagedIdentitySource();
const isImdsMsi = identitySource === "DefaultToImds" || identitySource === "Imds";
logger15.getToken.info(`MSAL Identity source: ${identitySource}`);
if (isTokenExchangeMsi) {
logger15.getToken.info("Using the token exchange managed identity.");
const result = await tokenExchangeMsi.getToken({
scopes,
clientId: this.clientId,
identityClient: this.identityClient,
retryConfig: this.msiRetryConfig,
resourceId: this.resourceId
});
if (result === null) {
throw new CredentialUnavailableError("Attempted to use the token exchange managed identity, but received a null response.");
}
return result;
} else if (isImdsMsi && this.sendProbeRequest) {
logger15.getToken.info("Using the IMDS endpoint to probe for availability.");
const isAvailable = await imdsMsi.isAvailable({
scopes,
clientId: this.clientId,
getTokenOptions: options,
identityClient: this.isAvailableIdentityClient,
resourceId: this.resourceId
});
if (!isAvailable) {
throw new CredentialUnavailableError(`Attempted to use the IMDS endpoint, but it is not available.`);
}
}
logger15.getToken.info("Calling into MSAL for managed identity token.");
const token = await this.managedIdentityApp.acquireToken({
resource
});
this.ensureValidMsalToken(scopes, token, options);
logger15.getToken.info(formatSuccess(scopes));
return {
expiresOnTimestamp: token.expiresOn.getTime(),
token: token.accessToken,
refreshAfterTimestamp: token.refreshOn?.getTime(),
tokenType: "Bearer"
};
} catch (err) {
logger15.getToken.error(formatError2(scopes, err));
if (err.name === "AuthenticationRequiredError") {
throw err;
}
if (isNetworkError(err)) {
throw new CredentialUnavailableError(`ManagedIdentityCredential: Network unreachable. Message: ${err.message}`, { cause: err });
}
throw new CredentialUnavailableError(`ManagedIdentityCredential: Authentication failed. Message ${err.message}`, { cause: err });
}
});
}
ensureValidMsalToken(scopes, msalToken, getTokenOptions) {
const createError = (message) => {
logger15.getToken.info(message);
return new AuthenticationRequiredError({
scopes: Array.isArray(scopes) ? scopes : [scopes],
getTokenOptions,
message
});
};
if (!msalToken) {
throw createError("No response.");
}
if (!msalToken.expiresOn) {
throw createError(`Response had no "expiresOn" property.`);
}
if (!msalToken.accessToken) {
throw createError(`Response had no "accessToken" property.`);
}
}
}
function isNetworkError(err) {
if (err.errorCode === "network_error") {
return true;
}
if (err.code === "ENETUNREACH" || err.code === "EHOSTUNREACH") {
return true;
}
if (err.statusCode === 403 || err.code === 403) {
if (err.message.includes("unreachable")) {
return true;
}
}
return false;
}
var logger15;
var init_managedIdentityCredential = __esm(() => {
init_esm2();
init_dist3();
init_identityClient();
init_errors4();
init_utils4();
init_imdsRetryPolicy();
init_logging();
init_tracing();
init_imdsMsi();
init_tokenExchangeMsi();
logger15 = credentialLogger("ManagedIdentityCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/azureDeveloperCliCredential.js
import child_process from "child_process";
class AzureDeveloperCliCredential {
tenantId;
additionallyAllowedTenantIds;
timeout;
constructor(options) {
if (options?.tenantId) {
checkTenantId(logger16, options?.tenantId);
this.tenantId = options?.tenantId;
}
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.timeout = options?.processTimeoutInMs;
}
async getToken(scopes, options = {}) {
const tenantId = processMultiTenantRequest(this.tenantId, options, this.additionallyAllowedTenantIds);
if (tenantId) {
checkTenantId(logger16, tenantId);
}
let scopeList;
if (typeof scopes === "string") {
scopeList = [scopes];
} else {
scopeList = scopes;
}
logger16.getToken.info(`Using the scopes ${scopes}`);
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async () => {
try {
scopeList.forEach((scope) => {
ensureValidScopeForDevTimeCreds(scope, logger16);
});
const obj = await developerCliCredentialInternals.getAzdAccessToken(scopeList, tenantId, this.timeout, options.claims);
const isMFARequiredError = obj.stderr?.match("must use multi-factor authentication") || obj.stderr?.match("reauthentication required");
const isNotLoggedInError = obj.stderr?.match("not logged in, run `azd login` to login") || obj.stderr?.match("not logged in, run `azd auth login` to login");
const isNotInstallError = obj.stderr?.match("azd:(.*)not found") || obj.stderr?.startsWith("'azd' is not recognized");
if (isNotInstallError || obj.error && obj.error.code === "ENOENT") {
const error51 = new CredentialUnavailableError(azureDeveloperCliPublicErrorMessages.notInstalled);
logger16.getToken.info(formatError2(scopes, error51));
throw error51;
}
if (isNotLoggedInError) {
const error51 = new CredentialUnavailableError(azureDeveloperCliPublicErrorMessages.login);
logger16.getToken.info(formatError2(scopes, error51));
throw error51;
}
if (isMFARequiredError) {
const scope = scopeList.reduce((previous, current) => previous.concat("--scope", current), []).join(" ");
const loginCmd = `azd auth login ${scope}`;
const error51 = new CredentialUnavailableError(`${azureDeveloperCliPublicErrorMessages.claim} ${loginCmd}`);
logger16.getToken.info(formatError2(scopes, error51));
throw error51;
}
try {
const resp = JSON.parse(obj.stdout);
logger16.getToken.info(formatSuccess(scopes));
return {
token: resp.token,
expiresOnTimestamp: new Date(resp.expiresOn).getTime(),
tokenType: "Bearer"
};
} catch (e) {
if (obj.stderr) {
throw new CredentialUnavailableError(obj.stderr);
}
throw e;
}
} catch (err) {
const error51 = err.name === "CredentialUnavailableError" ? err : new CredentialUnavailableError(err.message || azureDeveloperCliPublicErrorMessages.unknown);
logger16.getToken.info(formatError2(scopes, error51));
throw error51;
}
});
}
}
var logger16, azureDeveloperCliPublicErrorMessages, developerCliCredentialInternals;
var init_azureDeveloperCliCredential = __esm(() => {
init_logging();
init_errors4();
init_tenantIdUtils();
init_tracing();
init_scopeUtils();
logger16 = credentialLogger("AzureDeveloperCliCredential");
azureDeveloperCliPublicErrorMessages = {
notInstalled: "Azure Developer CLI couldn't be found. To mitigate this issue, see the troubleshooting guidelines at https://aka.ms/azsdk/js/identity/azdevclicredential/troubleshoot.",
login: "Please run 'azd auth login' from a command prompt to authenticate before using this credential. For more information, see the troubleshooting guidelines at https://aka.ms/azsdk/js/identity/azdevclicredential/troubleshoot.",
unknown: "Unknown error while trying to retrieve the access token",
claim: "This credential doesn't support claims challenges. To authenticate with the required claims, please run the following command:"
};
developerCliCredentialInternals = {
getSafeWorkingDir() {
if (process.platform === "win32") {
let systemRoot = process.env.SystemRoot || process.env["SYSTEMROOT"];
if (!systemRoot) {
logger16.getToken.warning("The SystemRoot environment variable is not set. This may cause issues when using the Azure Developer CLI credential.");
systemRoot = "C:\\Windows";
}
return systemRoot;
} else {
return "/bin";
}
},
async getAzdAccessToken(scopes, tenantId, timeout, claims) {
let tenantSection = [];
if (tenantId) {
tenantSection = ["--tenant-id", tenantId];
}
let claimsSections = [];
if (claims) {
const encodedClaims = btoa(claims);
claimsSections = ["--claims", encodedClaims];
}
return new Promise((resolve9, reject) => {
try {
const args = [
"auth",
"token",
"--output",
"json",
"--no-prompt",
...scopes.reduce((previous, current) => previous.concat("--scope", current), []),
...tenantSection,
...claimsSections
];
const command = ["azd", ...args].join(" ");
child_process.exec(command, {
cwd: developerCliCredentialInternals.getSafeWorkingDir(),
timeout
}, (error51, stdout, stderr) => {
resolve9({ stdout, stderr, error: error51 });
});
} catch (err) {
reject(err);
}
});
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/subscriptionUtils.js
function checkSubscription(logger17, subscription) {
if (!subscription.match(/^[0-9a-zA-Z-._ ]+$/)) {
const error51 = new Error(`Subscription '${subscription}' contains invalid characters. If this is the name of a subscription, use ` + `its ID instead. You can locate your subscription by following the instructions listed here: ` + `https://learn.microsoft.com/azure/azure-portal/get-subscription-tenant-id`);
logger17.info(formatError2("", error51));
throw error51;
}
}
var init_subscriptionUtils = __esm(() => {
init_logging();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/azureCliCredential.js
import child_process2 from "child_process";
class AzureCliCredential {
tenantId;
additionallyAllowedTenantIds;
timeout;
subscription;
constructor(options) {
if (options?.tenantId) {
checkTenantId(logger17, options?.tenantId);
this.tenantId = options?.tenantId;
}
if (options?.subscription) {
checkSubscription(logger17, options?.subscription);
this.subscription = options?.subscription;
}
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.timeout = options?.processTimeoutInMs;
}
async getToken(scopes, options = {}) {
const scope = typeof scopes === "string" ? scopes : scopes[0];
const claimsValue = options.claims;
if (claimsValue && claimsValue.trim()) {
const encodedClaims = btoa(claimsValue);
let loginCmd = `az login --claims-challenge ${encodedClaims} --scope ${scope}`;
const tenantIdFromOptions = options.tenantId;
if (tenantIdFromOptions) {
loginCmd += ` --tenant ${tenantIdFromOptions}`;
}
const error51 = new CredentialUnavailableError(`${azureCliPublicErrorMessages.claim} ${loginCmd}`);
logger17.getToken.info(formatError2(scope, error51));
throw error51;
}
const tenantId = processMultiTenantRequest(this.tenantId, options, this.additionallyAllowedTenantIds);
if (tenantId) {
checkTenantId(logger17, tenantId);
}
if (this.subscription) {
checkSubscription(logger17, this.subscription);
}
logger17.getToken.info(`Using the scope ${scope}`);
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async () => {
try {
ensureValidScopeForDevTimeCreds(scope, logger17);
const resource = getScopeResource(scope);
const obj = await cliCredentialInternals.getAzureCliAccessToken(resource, tenantId, this.subscription, this.timeout);
const specificScope = obj.stderr?.match("(.*)az login --scope(.*)");
const isLoginError = obj.stderr?.match("(.*)az login(.*)") && !specificScope;
const isNotInstallError = obj.stderr?.match("az:(.*)not found") || obj.stderr?.startsWith("'az' is not recognized");
if (isNotInstallError) {
const error51 = new CredentialUnavailableError(azureCliPublicErrorMessages.notInstalled);
logger17.getToken.info(formatError2(scopes, error51));
throw error51;
}
if (isLoginError) {
const error51 = new CredentialUnavailableError(azureCliPublicErrorMessages.login);
logger17.getToken.info(formatError2(scopes, error51));
throw error51;
}
try {
const responseData = obj.stdout;
const response = this.parseRawResponse(responseData);
logger17.getToken.info(formatSuccess(scopes));
return response;
} catch (e) {
if (obj.stderr) {
throw new CredentialUnavailableError(obj.stderr);
}
throw e;
}
} catch (err) {
const error51 = err.name === "CredentialUnavailableError" ? err : new CredentialUnavailableError(err.message || azureCliPublicErrorMessages.unknown);
logger17.getToken.info(formatError2(scopes, error51));
throw error51;
}
});
}
parseRawResponse(rawResponse) {
const response = JSON.parse(rawResponse);
const token = response.accessToken;
let expiresOnTimestamp = Number.parseInt(response.expires_on, 10) * 1000;
if (!isNaN(expiresOnTimestamp)) {
logger17.getToken.info("expires_on is available and is valid, using it");
return {
token,
expiresOnTimestamp,
tokenType: "Bearer"
};
}
expiresOnTimestamp = new Date(response.expiresOn).getTime();
if (isNaN(expiresOnTimestamp)) {
throw new CredentialUnavailableError(`${azureCliPublicErrorMessages.unexpectedResponse} "${response.expiresOn}"`);
}
return {
token,
expiresOnTimestamp,
tokenType: "Bearer"
};
}
}
var logger17, azureCliPublicErrorMessages, cliCredentialInternals;
var init_azureCliCredential = __esm(() => {
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_errors4();
init_tracing();
init_subscriptionUtils();
logger17 = credentialLogger("AzureCliCredential");
azureCliPublicErrorMessages = {
claim: "This credential doesn't support claims challenges. To authenticate with the required claims, please run the following command:",
notInstalled: "Azure CLI could not be found. Please visit https://aka.ms/azure-cli for installation instructions and then, once installed, authenticate to your Azure account using 'az login'.",
login: "Please run 'az login' from a command prompt to authenticate before using this credential.",
unknown: "Unknown error while trying to retrieve the access token",
unexpectedResponse: 'Unexpected response from Azure CLI when getting token. Expected "expiresOn" to be a RFC3339 date string. Got:'
};
cliCredentialInternals = {
getSafeWorkingDir() {
if (process.platform === "win32") {
let systemRoot = process.env.SystemRoot || process.env["SYSTEMROOT"];
if (!systemRoot) {
logger17.getToken.warning("The SystemRoot environment variable is not set. This may cause issues when using the Azure CLI credential.");
systemRoot = "C:\\Windows";
}
return systemRoot;
} else {
return "/bin";
}
},
async getAzureCliAccessToken(resource, tenantId, subscription, timeout) {
let tenantSection = [];
let subscriptionSection = [];
if (tenantId) {
tenantSection = ["--tenant", tenantId];
}
if (subscription) {
subscriptionSection = ["--subscription", `"${subscription}"`];
}
return new Promise((resolve9, reject) => {
try {
const args = [
"account",
"get-access-token",
"--output",
"json",
"--resource",
resource,
...tenantSection,
...subscriptionSection
];
const command = ["az", ...args].join(" ");
child_process2.exec(command, { cwd: cliCredentialInternals.getSafeWorkingDir(), timeout }, (error51, stdout, stderr) => {
resolve9({ stdout, stderr, error: error51 });
});
} catch (err) {
reject(err);
}
});
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/util/processUtils.js
import childProcess2 from "node:child_process";
var processUtils;
var init_processUtils = __esm(() => {
processUtils = {
execFile(file2, params, options) {
return new Promise((resolve9, reject) => {
childProcess2.execFile(file2, params, options, (error51, stdout, stderr) => {
if (Buffer.isBuffer(stdout)) {
stdout = stdout.toString("utf8");
}
if (Buffer.isBuffer(stderr)) {
stderr = stderr.toString("utf8");
}
if (stderr || error51) {
reject(stderr ? new Error(stderr) : error51);
} else {
resolve9(stdout);
}
});
});
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/azurePowerShellCredential.js
function formatCommand(commandName) {
if (isWindows) {
return `${commandName}.exe`;
} else {
return commandName;
}
}
async function runCommands(commands, timeout) {
const results = [];
for (const command of commands) {
const [file2, ...parameters] = command;
const result = await processUtils.execFile(file2, parameters, {
encoding: "utf8",
timeout
});
results.push(result);
}
return results;
}
class AzurePowerShellCredential {
tenantId;
additionallyAllowedTenantIds;
timeout;
constructor(options) {
if (options?.tenantId) {
checkTenantId(logger18, options?.tenantId);
this.tenantId = options?.tenantId;
}
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.timeout = options?.processTimeoutInMs;
}
async getAzurePowerShellAccessToken(resource, tenantId, timeout) {
for (const powerShellCommand of [...commandStack]) {
try {
await runCommands([[powerShellCommand, "/?"]], timeout);
} catch (e) {
commandStack.shift();
continue;
}
const results = await runCommands([
[
powerShellCommand,
"-NoProfile",
"-NonInteractive",
"-Command",
`
$tenantId = "${tenantId ?? ""}"
$m = Import-Module Az.Accounts -MinimumVersion 2.2.0 -PassThru
$useSecureString = $m.Version -ge [version]'2.17.0' -and $m.Version -lt [version]'5.0.0'
$params = @{
ResourceUrl = "${resource}"
}
if ($tenantId.Length -gt 0) {
$params["TenantId"] = $tenantId
}
if ($useSecureString) {
$params["AsSecureString"] = $true
}
$token = Get-AzAccessToken @params
$result = New-Object -TypeName PSObject
$result | Add-Member -MemberType NoteProperty -Name ExpiresOn -Value $token.ExpiresOn
if ($token.Token -is [System.Security.SecureString]) {
if ($PSVersionTable.PSVersion.Major -lt 7) {
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($token.Token)
try {
$result | Add-Member -MemberType NoteProperty -Name Token -Value ([System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr))
}
finally {
[System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}
}
else {
$result | Add-Member -MemberType NoteProperty -Name Token -Value ($token.Token | ConvertFrom-SecureString -AsPlainText)
}
}
else {
$result | Add-Member -MemberType NoteProperty -Name Token -Value $token.Token
}
Write-Output (ConvertTo-Json $result)
`
]
]);
const result = results[0];
return parseJsonToken(result);
}
throw new Error(`Unable to execute PowerShell. Ensure that it is installed in your system`);
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async () => {
const scope = typeof scopes === "string" ? scopes : scopes[0];
const claimsValue = options.claims;
if (claimsValue && claimsValue.trim()) {
const encodedClaims = btoa(claimsValue);
let loginCmd = `Connect-AzAccount -ClaimsChallenge ${encodedClaims}`;
const tenantIdFromOptions = options.tenantId;
if (tenantIdFromOptions) {
loginCmd += ` -Tenant ${tenantIdFromOptions}`;
}
const error51 = new CredentialUnavailableError(`${powerShellPublicErrorMessages.claim} ${loginCmd}`);
logger18.getToken.info(formatError2(scope, error51));
throw error51;
}
const tenantId = processMultiTenantRequest(this.tenantId, options, this.additionallyAllowedTenantIds);
if (tenantId) {
checkTenantId(logger18, tenantId);
}
try {
ensureValidScopeForDevTimeCreds(scope, logger18);
logger18.getToken.info(`Using the scope ${scope}`);
const resource = getScopeResource(scope);
const response = await this.getAzurePowerShellAccessToken(resource, tenantId, this.timeout);
logger18.getToken.info(formatSuccess(scopes));
return {
token: response.Token,
expiresOnTimestamp: new Date(response.ExpiresOn).getTime(),
tokenType: "Bearer"
};
} catch (err) {
if (isNotInstalledError(err)) {
const error52 = new CredentialUnavailableError(powerShellPublicErrorMessages.installed);
logger18.getToken.info(formatError2(scope, error52));
throw error52;
} else if (isLoginError(err)) {
const error52 = new CredentialUnavailableError(powerShellPublicErrorMessages.login);
logger18.getToken.info(formatError2(scope, error52));
throw error52;
}
const error51 = new CredentialUnavailableError(`${err}. ${powerShellPublicErrorMessages.troubleshoot}`);
logger18.getToken.info(formatError2(scope, error51));
throw error51;
}
});
}
}
async function parseJsonToken(result) {
const jsonRegex = /{[^{}]*}/g;
const matches = result.match(jsonRegex);
let resultWithoutToken = result;
if (matches) {
try {
for (const item of matches) {
try {
const jsonContent = JSON.parse(item);
if (jsonContent?.Token) {
resultWithoutToken = resultWithoutToken.replace(item, "");
if (resultWithoutToken) {
logger18.getToken.warning(resultWithoutToken);
}
return jsonContent;
}
} catch (e) {
continue;
}
}
} catch (e) {
throw new Error(`Unable to parse the output of PowerShell. Received output: ${result}`);
}
}
throw new Error(`No access token found in the output. Received output: ${result}`);
}
var logger18, isWindows, powerShellErrors, powerShellPublicErrorMessages, isLoginError = (err) => err.message.match(`(.*)${powerShellErrors.login}(.*)`), isNotInstalledError = (err) => err.message.match(powerShellErrors.installed), commandStack;
var init_azurePowerShellCredential = __esm(() => {
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_errors4();
init_processUtils();
init_tracing();
logger18 = credentialLogger("AzurePowerShellCredential");
isWindows = process.platform === "win32";
powerShellErrors = {
login: "Run Connect-AzAccount to login",
installed: "The specified module 'Az.Accounts' with version '2.2.0' was not loaded because no valid module file was found in any module directory"
};
powerShellPublicErrorMessages = {
login: "Please run 'Connect-AzAccount' from PowerShell to authenticate before using this credential.",
installed: `The 'Az.Account' module >= 2.2.0 is not installed. Install the Azure Az PowerShell module with: "Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force".`,
claim: "This credential doesn't support claims challenges. To authenticate with the required claims, please run the following command:",
troubleshoot: `To troubleshoot, visit https://aka.ms/azsdk/js/identity/powershellcredential/troubleshoot.`
};
commandStack = [formatCommand("pwsh")];
if (isWindows) {
commandStack.push(formatCommand("powershell"));
}
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/visualStudioCodeCredential.js
import { readFile as readFile9 } from "node:fs/promises";
function checkUnsupportedTenant(tenantId) {
const unsupportedTenantError = unsupportedTenantIds[tenantId];
if (unsupportedTenantError) {
throw new CredentialUnavailableError(unsupportedTenantError);
}
}
class VisualStudioCodeCredential {
tenantId;
additionallyAllowedTenantIds;
msalClient;
options;
constructor(options) {
this.options = options || {};
if (options && options.tenantId) {
checkTenantId(logger19, options.tenantId);
this.tenantId = options.tenantId;
} else {
this.tenantId = CommonTenantId;
}
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
checkUnsupportedTenant(this.tenantId);
}
async prepare(scopes) {
const tenantId = processMultiTenantRequest(this.tenantId, this.options, this.additionallyAllowedTenantIds, logger19) || this.tenantId;
if (!hasVSCodePlugin() || !vsCodeAuthRecordPath) {
throw new CredentialUnavailableError("Visual Studio Code Authentication is not available." + " Ensure you have have Azure Resources Extension installed in VS Code," + " signed into Azure via VS Code, installed the @azure/identity-vscode package," + " and properly configured the extension.");
}
const authenticationRecord = await this.loadAuthRecord(vsCodeAuthRecordPath, scopes);
this.msalClient = createMsalClient(VSCodeClientId, tenantId, {
...this.options,
isVSCodeCredential: true,
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0),
useDefaultBrokerAccount: true
},
authenticationRecord
});
}
preparePromise;
prepareOnce(scopes) {
if (!this.preparePromise) {
this.preparePromise = this.prepare(scopes);
}
return this.preparePromise;
}
async getToken(scopes, options) {
const scopeArray = ensureScopes(scopes);
await this.prepareOnce(scopeArray);
if (!this.msalClient) {
throw new CredentialUnavailableError("Visual Studio Code Authentication failed to initialize." + " Ensure you have have Azure Resources Extension installed in VS Code," + " signed into Azure via VS Code, installed the @azure/identity-vscode package," + " and properly configured the extension.");
}
return this.msalClient.getTokenByInteractiveRequest(scopeArray, {
...options,
disableAutomaticAuthentication: true
});
}
async loadAuthRecord(authRecordPath, scopes) {
try {
const authRecordContent = await readFile9(authRecordPath, { encoding: "utf8" });
return deserializeAuthenticationRecord(authRecordContent);
} catch (error51) {
logger19.getToken.info(formatError2(scopes, error51));
throw new CredentialUnavailableError("Cannot load authentication record in Visual Studio Code." + " Ensure you have have Azure Resources Extension installed in VS Code," + " signed into Azure via VS Code, installed the @azure/identity-vscode package," + " and properly configured the extension.");
}
}
}
var CommonTenantId = "common", VSCodeClientId = "aebc6443-996d-45c2-90f0-388ff96faa56", logger19, unsupportedTenantIds;
var init_visualStudioCodeCredential = __esm(() => {
init_logging();
init_tenantIdUtils();
init_errors4();
init_tenantIdUtils();
init_msalClient();
init_scopeUtils();
init_msalPlugins();
init_utils4();
logger19 = credentialLogger("VisualStudioCodeCredential");
unsupportedTenantIds = {
adfs: "The VisualStudioCodeCredential does not support authentication with ADFS tenants."
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/brokerCredential.js
class BrokerCredential {
brokerMsalClient;
brokerTenantId;
brokerAdditionallyAllowedTenantIds;
constructor(options) {
this.brokerTenantId = resolveTenantId(logger20, options.tenantId);
this.brokerAdditionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
const msalClientOptions = {
...options,
tokenCredentialOptions: options,
logger: logger20,
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0),
useDefaultBrokerAccount: true
}
};
this.brokerMsalClient = createMsalClient(DeveloperSignOnClientId, this.brokerTenantId, msalClientOptions);
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.brokerTenantId, newOptions, this.brokerAdditionallyAllowedTenantIds, logger20);
const arrayScopes = ensureScopes(scopes);
try {
return this.brokerMsalClient.getBrokeredToken(arrayScopes, true, {
...newOptions,
disableAutomaticAuthentication: true
});
} catch (e) {
logger20.getToken.info(formatError2(arrayScopes, e));
throw new CredentialUnavailableError("Failed to acquire token using broker authentication", { cause: e });
}
});
}
}
var logger20;
var init_brokerCredential = __esm(() => {
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_tracing();
init_msalClient();
init_constants5();
init_errors4();
logger20 = credentialLogger("BrokerCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/defaultAzureCredentialFunctions.js
function createDefaultBrokerCredential(options = {}) {
return new BrokerCredential(options);
}
function createDefaultVisualStudioCodeCredential(options = {}) {
return new VisualStudioCodeCredential(options);
}
function createDefaultManagedIdentityCredential(options = {}) {
options.retryOptions ??= {
maxRetries: 5,
retryDelayInMs: 800
};
options.sendProbeRequest ??= true;
const managedIdentityClientId = options?.managedIdentityClientId ?? process.env.AZURE_CLIENT_ID;
const workloadIdentityClientId = options?.workloadIdentityClientId ?? managedIdentityClientId;
const managedResourceId = options?.managedIdentityResourceId;
const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;
const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;
if (managedResourceId) {
const managedIdentityResourceIdOptions = {
...options,
resourceId: managedResourceId
};
return new ManagedIdentityCredential(managedIdentityResourceIdOptions);
}
if (workloadFile && workloadIdentityClientId) {
const workloadIdentityCredentialOptions = {
...options,
tenantId
};
return new ManagedIdentityCredential(workloadIdentityClientId, workloadIdentityCredentialOptions);
}
if (managedIdentityClientId) {
const managedIdentityClientOptions = {
...options,
clientId: managedIdentityClientId
};
return new ManagedIdentityCredential(managedIdentityClientOptions);
}
return new ManagedIdentityCredential(options);
}
function createDefaultWorkloadIdentityCredential(options) {
const managedIdentityClientId = options?.managedIdentityClientId ?? process.env.AZURE_CLIENT_ID;
const workloadIdentityClientId = options?.workloadIdentityClientId ?? managedIdentityClientId;
const workloadFile = process.env.AZURE_FEDERATED_TOKEN_FILE;
const tenantId = options?.tenantId ?? process.env.AZURE_TENANT_ID;
if (workloadFile && workloadIdentityClientId) {
const workloadIdentityCredentialOptions = {
...options,
tenantId,
clientId: workloadIdentityClientId,
tokenFilePath: workloadFile
};
return new WorkloadIdentityCredential(workloadIdentityCredentialOptions);
}
if (tenantId) {
const workloadIdentityClientTenantOptions = {
...options,
tenantId
};
return new WorkloadIdentityCredential(workloadIdentityClientTenantOptions);
}
return new WorkloadIdentityCredential(options);
}
function createDefaultAzureDeveloperCliCredential(options = {}) {
return new AzureDeveloperCliCredential(options);
}
function createDefaultAzureCliCredential(options = {}) {
return new AzureCliCredential(options);
}
function createDefaultAzurePowershellCredential(options = {}) {
return new AzurePowerShellCredential(options);
}
function createDefaultEnvironmentCredential(options = {}) {
return new EnvironmentCredential(options);
}
var init_defaultAzureCredentialFunctions = __esm(() => {
init_environmentCredential();
init_managedIdentityCredential();
init_workloadIdentityCredential();
init_azureDeveloperCliCredential();
init_azureCliCredential();
init_azurePowerShellCredential();
init_visualStudioCodeCredential();
init_brokerCredential();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/defaultAzureCredential.js
class UnavailableDefaultCredential {
credentialUnavailableErrorMessage;
credentialName;
constructor(credentialName4, message) {
this.credentialName = credentialName4;
this.credentialUnavailableErrorMessage = message;
}
getToken() {
logger21.getToken.info(`Skipping ${this.credentialName}, reason: ${this.credentialUnavailableErrorMessage}`);
return Promise.resolve(null);
}
}
function validateRequiredEnvVars(options) {
if (options?.requiredEnvVars) {
const requiredVars = Array.isArray(options.requiredEnvVars) ? options.requiredEnvVars : [options.requiredEnvVars];
const missing = requiredVars.filter((envVar) => !process.env[envVar]);
if (missing.length > 0) {
const errorMessage2 = `Required environment ${missing.length === 1 ? "variable" : "variables"} '${missing.join(", ")}' for DefaultAzureCredential ${missing.length === 1 ? "is" : "are"} not set or empty.`;
logger21.warning(errorMessage2);
throw new Error(errorMessage2);
}
}
}
var logger21, DefaultAzureCredential;
var init_defaultAzureCredential = __esm(() => {
init_chainedTokenCredential();
init_logging();
init_defaultAzureCredentialFunctions();
logger21 = credentialLogger("DefaultAzureCredential");
DefaultAzureCredential = class DefaultAzureCredential extends ChainedTokenCredential {
constructor(options) {
validateRequiredEnvVars(options);
const azureTokenCredentials = process.env.AZURE_TOKEN_CREDENTIALS ? process.env.AZURE_TOKEN_CREDENTIALS.trim().toLowerCase() : undefined;
const devCredentialFunctions = [
createDefaultVisualStudioCodeCredential,
createDefaultAzureCliCredential,
createDefaultAzurePowershellCredential,
createDefaultAzureDeveloperCliCredential,
createDefaultBrokerCredential
];
const prodCredentialFunctions = [
createDefaultEnvironmentCredential,
createDefaultWorkloadIdentityCredential,
createDefaultManagedIdentityCredential
];
let credentialFunctions = [];
const validCredentialNames = "EnvironmentCredential, WorkloadIdentityCredential, ManagedIdentityCredential, VisualStudioCodeCredential, AzureCliCredential, AzurePowerShellCredential, AzureDeveloperCliCredential";
if (azureTokenCredentials) {
switch (azureTokenCredentials) {
case "dev":
credentialFunctions = devCredentialFunctions;
break;
case "prod":
credentialFunctions = prodCredentialFunctions;
break;
case "environmentcredential":
credentialFunctions = [createDefaultEnvironmentCredential];
break;
case "workloadidentitycredential":
credentialFunctions = [createDefaultWorkloadIdentityCredential];
break;
case "managedidentitycredential":
credentialFunctions = [
() => createDefaultManagedIdentityCredential({ sendProbeRequest: false })
];
break;
case "visualstudiocodecredential":
credentialFunctions = [createDefaultVisualStudioCodeCredential];
break;
case "azureclicredential":
credentialFunctions = [createDefaultAzureCliCredential];
break;
case "azurepowershellcredential":
credentialFunctions = [createDefaultAzurePowershellCredential];
break;
case "azuredeveloperclicredential":
credentialFunctions = [createDefaultAzureDeveloperCliCredential];
break;
default: {
const errorMessage2 = `Invalid value for AZURE_TOKEN_CREDENTIALS = ${process.env.AZURE_TOKEN_CREDENTIALS}. Valid values are 'prod' or 'dev' or any of these credentials - ${validCredentialNames}.`;
logger21.warning(errorMessage2);
throw new Error(errorMessage2);
}
}
} else {
credentialFunctions = [...prodCredentialFunctions, ...devCredentialFunctions];
}
const credentials = credentialFunctions.map((createCredentialFn) => {
try {
return createCredentialFn(options ?? {});
} catch (err) {
logger21.warning(`Skipped ${createCredentialFn.name} because of an error creating the credential: ${err}`);
return new UnavailableDefaultCredential(createCredentialFn.name, err.message);
}
});
super(...credentials);
}
};
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/interactiveBrowserCredential.js
class InteractiveBrowserCredential {
tenantId;
additionallyAllowedTenantIds;
msalClient;
disableAutomaticAuthentication;
browserCustomizationOptions;
loginHint;
constructor(options) {
this.tenantId = resolveTenantId(logger22, options.tenantId, options.clientId);
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
const msalClientOptions = {
...options,
tokenCredentialOptions: options,
logger: logger22
};
const ibcNodeOptions = options;
this.browserCustomizationOptions = ibcNodeOptions.browserCustomizationOptions;
this.loginHint = ibcNodeOptions.loginHint;
if (ibcNodeOptions?.brokerOptions?.enabled) {
if (!ibcNodeOptions?.brokerOptions?.parentWindowHandle) {
throw new Error("In order to do WAM authentication, `parentWindowHandle` under `brokerOptions` is a required parameter");
} else {
msalClientOptions.brokerOptions = {
enabled: true,
parentWindowHandle: ibcNodeOptions.brokerOptions.parentWindowHandle,
legacyEnableMsaPassthrough: ibcNodeOptions.brokerOptions?.legacyEnableMsaPassthrough,
useDefaultBrokerAccount: ibcNodeOptions.brokerOptions?.useDefaultBrokerAccount
};
}
}
this.msalClient = createMsalClient(options.clientId ?? DeveloperSignOnClientId, this.tenantId, msalClientOptions);
this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger22);
const arrayScopes = ensureScopes(scopes);
return this.msalClient.getTokenByInteractiveRequest(arrayScopes, {
...newOptions,
disableAutomaticAuthentication: this.disableAutomaticAuthentication,
browserCustomizationOptions: this.browserCustomizationOptions,
loginHint: this.loginHint
});
});
}
async authenticate(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.authenticate`, options, async (newOptions) => {
const arrayScopes = ensureScopes(scopes);
await this.msalClient.getTokenByInteractiveRequest(arrayScopes, {
...newOptions,
disableAutomaticAuthentication: false,
browserCustomizationOptions: this.browserCustomizationOptions,
loginHint: this.loginHint
});
return this.msalClient.getActiveAccount();
});
}
}
var logger22;
var init_interactiveBrowserCredential = __esm(() => {
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_tracing();
init_msalClient();
init_constants5();
logger22 = credentialLogger("InteractiveBrowserCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/deviceCodeCredential.js
function defaultDeviceCodePromptCallback(deviceCodeInfo) {
console.log(deviceCodeInfo.message);
}
class DeviceCodeCredential {
tenantId;
additionallyAllowedTenantIds;
disableAutomaticAuthentication;
msalClient;
userPromptCallback;
constructor(options) {
this.tenantId = options?.tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
const clientId = options?.clientId ?? DeveloperSignOnClientId;
const tenantId = resolveTenantId(logger23, options?.tenantId, clientId);
this.userPromptCallback = options?.userPromptCallback ?? defaultDeviceCodePromptCallback;
this.msalClient = createMsalClient(clientId, tenantId, {
...options,
logger: logger23,
tokenCredentialOptions: options || {}
});
this.disableAutomaticAuthentication = options?.disableAutomaticAuthentication;
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger23);
const arrayScopes = ensureScopes(scopes);
return this.msalClient.getTokenByDeviceCode(arrayScopes, this.userPromptCallback, {
...newOptions,
disableAutomaticAuthentication: this.disableAutomaticAuthentication
});
});
}
async authenticate(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.authenticate`, options, async (newOptions) => {
const arrayScopes = Array.isArray(scopes) ? scopes : [scopes];
await this.msalClient.getTokenByDeviceCode(arrayScopes, this.userPromptCallback, {
...newOptions,
disableAutomaticAuthentication: false
});
return this.msalClient.getActiveAccount();
});
}
}
var logger23;
var init_deviceCodeCredential = __esm(() => {
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_tracing();
init_msalClient();
init_constants5();
logger23 = credentialLogger("DeviceCodeCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/azurePipelinesCredential.js
class AzurePipelinesCredential {
clientAssertionCredential;
identityClient;
constructor(tenantId, clientId, serviceConnectionId, systemAccessToken, options = {}) {
if (!clientId) {
throw new CredentialUnavailableError(`${credentialName4}: is unavailable. clientId is a required parameter.`);
}
if (!tenantId) {
throw new CredentialUnavailableError(`${credentialName4}: is unavailable. tenantId is a required parameter.`);
}
if (!serviceConnectionId) {
throw new CredentialUnavailableError(`${credentialName4}: is unavailable. serviceConnectionId is a required parameter.`);
}
if (!systemAccessToken) {
throw new CredentialUnavailableError(`${credentialName4}: is unavailable. systemAccessToken is a required parameter.`);
}
options.loggingOptions = {
...options?.loggingOptions,
additionalAllowedHeaderNames: [
...options.loggingOptions?.additionalAllowedHeaderNames ?? [],
"x-vss-e2eid",
"x-msedge-ref"
]
};
this.identityClient = new IdentityClient(options);
checkTenantId(logger24, tenantId);
logger24.info(`Invoking AzurePipelinesCredential with tenant ID: ${tenantId}, client ID: ${clientId}, and service connection ID: ${serviceConnectionId}`);
if (!process.env.SYSTEM_OIDCREQUESTURI) {
throw new CredentialUnavailableError(`${credentialName4}: is unavailable. Ensure that you're running this task in an Azure Pipeline, so that following missing system variable(s) can be defined- "SYSTEM_OIDCREQUESTURI"`);
}
const oidcRequestUrl = `${process.env.SYSTEM_OIDCREQUESTURI}?api-version=${OIDC_API_VERSION}&serviceConnectionId=${serviceConnectionId}`;
logger24.info(`Invoking ClientAssertionCredential with tenant ID: ${tenantId}, client ID: ${clientId} and service connection ID: ${serviceConnectionId}`);
this.clientAssertionCredential = new ClientAssertionCredential(tenantId, clientId, this.requestOidcToken.bind(this, oidcRequestUrl, systemAccessToken), options);
}
async getToken(scopes, options) {
if (!this.clientAssertionCredential) {
const errorMessage2 = `${credentialName4}: is unavailable. To use Federation Identity in Azure Pipelines, the following parameters are required -
tenantId,
clientId,
serviceConnectionId,
systemAccessToken,
"SYSTEM_OIDCREQUESTURI".
See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`;
logger24.error(errorMessage2);
throw new CredentialUnavailableError(errorMessage2);
}
logger24.info("Invoking getToken() of Client Assertion Credential");
return this.clientAssertionCredential.getToken(scopes, options);
}
async requestOidcToken(oidcRequestUrl, systemAccessToken) {
logger24.info("Requesting OIDC token from Azure Pipelines...");
logger24.info(oidcRequestUrl);
const request = createPipelineRequest2({
url: oidcRequestUrl,
method: "POST",
headers: createHttpHeaders2({
"Content-Type": "application/json",
Authorization: `Bearer ${systemAccessToken}`,
"X-TFS-FedAuthRedirect": "Suppress"
})
});
const response = await this.identityClient.sendRequest(request);
return handleOidcResponse(response);
}
}
function handleOidcResponse(response) {
const text = response.bodyAsText;
if (!text) {
logger24.error(`${credentialName4}: Authentication Failed. Received null token from OIDC request. Response status- ${response.status}. Complete response - ${JSON.stringify(response)}`);
throw new AuthenticationError2(response.status, {
error: `${credentialName4}: Authentication Failed. Received null token from OIDC request.`,
error_description: `${JSON.stringify(response)}. See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`
});
}
try {
const result = JSON.parse(text);
if (result?.oidcToken) {
return result.oidcToken;
} else {
const errorMessage2 = `${credentialName4}: Authentication Failed. oidcToken field not detected in the response.`;
let errorDescription = ``;
if (response.status !== 200) {
errorDescription = `Response body = ${text}. Response Headers ["x-vss-e2eid"] = ${response.headers.get("x-vss-e2eid")} and ["x-msedge-ref"] = ${response.headers.get("x-msedge-ref")}. See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`;
}
logger24.error(errorMessage2);
logger24.error(errorDescription);
throw new AuthenticationError2(response.status, {
error: errorMessage2,
error_description: errorDescription
});
}
} catch (e) {
const errorDetails = `${credentialName4}: Authentication Failed. oidcToken field not detected in the response.`;
logger24.error(`Response from service = ${text}, Response Headers ["x-vss-e2eid"] = ${response.headers.get("x-vss-e2eid")}
and ["x-msedge-ref"] = ${response.headers.get("x-msedge-ref")}, error message = ${e.message}`);
logger24.error(errorDetails);
throw new AuthenticationError2(response.status, {
error: errorDetails,
error_description: `Response = ${text}. Response headers ["x-vss-e2eid"] = ${response.headers.get("x-vss-e2eid")} and ["x-msedge-ref"] = ${response.headers.get("x-msedge-ref")}. See the troubleshooting guide for more information: https://aka.ms/azsdk/js/identity/azurepipelinescredential/troubleshoot`
});
}
}
var credentialName4 = "AzurePipelinesCredential", logger24, OIDC_API_VERSION = "7.1";
var init_azurePipelinesCredential = __esm(() => {
init_errors4();
init_esm7();
init_clientAssertionCredential();
init_identityClient();
init_tenantIdUtils();
init_logging();
logger24 = credentialLogger(credentialName4);
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/authorizationCodeCredential.js
class AuthorizationCodeCredential {
msalClient;
disableAutomaticAuthentication;
authorizationCode;
redirectUri;
tenantId;
additionallyAllowedTenantIds;
clientSecret;
constructor(tenantId, clientId, clientSecretOrAuthorizationCode, authorizationCodeOrRedirectUri, redirectUriOrOptions, options) {
checkTenantId(logger25, tenantId);
this.clientSecret = clientSecretOrAuthorizationCode;
if (typeof redirectUriOrOptions === "string") {
this.authorizationCode = authorizationCodeOrRedirectUri;
this.redirectUri = redirectUriOrOptions;
} else {
this.authorizationCode = clientSecretOrAuthorizationCode;
this.redirectUri = authorizationCodeOrRedirectUri;
this.clientSecret = undefined;
options = redirectUriOrOptions;
}
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(options?.additionallyAllowedTenants);
this.msalClient = createMsalClient(clientId, tenantId, {
...options,
logger: logger25,
tokenCredentialOptions: options ?? {}
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${this.constructor.name}.getToken`, options, async (newOptions) => {
const tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds);
newOptions.tenantId = tenantId;
const arrayScopes = ensureScopes(scopes);
return this.msalClient.getTokenByAuthorizationCode(arrayScopes, this.redirectUri, this.authorizationCode, this.clientSecret, {
...newOptions,
disableAutomaticAuthentication: this.disableAutomaticAuthentication
});
});
}
}
var logger25;
var init_authorizationCodeCredential = __esm(() => {
init_tenantIdUtils();
init_tenantIdUtils();
init_logging();
init_scopeUtils();
init_tracing();
init_msalClient();
logger25 = credentialLogger("AuthorizationCodeCredential");
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/credentials/onBehalfOfCredential.js
import { createHash as createHash4 } from "node:crypto";
import { readFile as readFile10 } from "node:fs/promises";
class OnBehalfOfCredential {
tenantId;
additionallyAllowedTenantIds;
msalClient;
sendCertificateChain;
certificatePath;
clientSecret;
userAssertionToken;
clientAssertion;
constructor(options) {
const { clientSecret } = options;
const { certificatePath, sendCertificateChain } = options;
const { getAssertion } = options;
const { tenantId, clientId, userAssertionToken, additionallyAllowedTenants: additionallyAllowedTenantIds } = options;
if (!tenantId) {
throw new CredentialUnavailableError(`${credentialName5}: tenantId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
if (!clientId) {
throw new CredentialUnavailableError(`${credentialName5}: clientId is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
if (!clientSecret && !certificatePath && !getAssertion) {
throw new CredentialUnavailableError(`${credentialName5}: You must provide one of clientSecret, certificatePath, or a getAssertion callback but none were provided. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
if (!userAssertionToken) {
throw new CredentialUnavailableError(`${credentialName5}: userAssertionToken is a required parameter. To troubleshoot, visit https://aka.ms/azsdk/js/identity/serviceprincipalauthentication/troubleshoot.`);
}
this.certificatePath = certificatePath;
this.clientSecret = clientSecret;
this.userAssertionToken = userAssertionToken;
this.sendCertificateChain = sendCertificateChain;
this.clientAssertion = getAssertion;
this.tenantId = tenantId;
this.additionallyAllowedTenantIds = resolveAdditionallyAllowedTenantIds(additionallyAllowedTenantIds);
this.msalClient = createMsalClient(clientId, this.tenantId, {
...options,
logger: logger26,
tokenCredentialOptions: options
});
}
async getToken(scopes, options = {}) {
return tracingClient.withSpan(`${credentialName5}.getToken`, options, async (newOptions) => {
newOptions.tenantId = processMultiTenantRequest(this.tenantId, newOptions, this.additionallyAllowedTenantIds, logger26);
const arrayScopes = ensureScopes(scopes);
if (this.certificatePath) {
const clientCertificate = await this.buildClientCertificate(this.certificatePath);
return this.msalClient.getTokenOnBehalfOf(arrayScopes, this.userAssertionToken, clientCertificate, newOptions);
} else if (this.clientSecret) {
return this.msalClient.getTokenOnBehalfOf(arrayScopes, this.userAssertionToken, this.clientSecret, options);
} else if (this.clientAssertion) {
return this.msalClient.getTokenOnBehalfOf(arrayScopes, this.userAssertionToken, this.clientAssertion, options);
} else {
throw new Error("Expected either clientSecret or certificatePath or clientAssertion to be defined.");
}
});
}
async buildClientCertificate(certificatePath) {
try {
const parts = await this.parseCertificate({ certificatePath }, this.sendCertificateChain);
return {
thumbprint: parts.thumbprint,
thumbprintSha256: parts.thumbprintSha256,
privateKey: parts.certificateContents,
x5c: parts.x5c
};
} catch (error51) {
logger26.info(formatError2("", error51));
throw error51;
}
}
async parseCertificate(configuration, sendCertificateChain) {
const certificatePath = configuration.certificatePath;
const certificateContents = await readFile10(certificatePath, "utf8");
const x5c = sendCertificateChain ? certificateContents : undefined;
const certificatePattern = /(-+BEGIN CERTIFICATE-+)(\n\r?|\r\n?)([A-Za-z0-9+/\n\r]+=*)(\n\r?|\r\n?)(-+END CERTIFICATE-+)/g;
const publicKeys = [];
let match;
do {
match = certificatePattern.exec(certificateContents);
if (match) {
publicKeys.push(match[3]);
}
} while (match);
if (publicKeys.length === 0) {
throw new Error("The file at the specified path does not contain a PEM-encoded certificate.");
}
const thumbprint = createHash4("sha1").update(Buffer.from(publicKeys[0], "base64")).digest("hex").toUpperCase();
const thumbprintSha256 = createHash4("sha256").update(Buffer.from(publicKeys[0], "base64")).digest("hex").toUpperCase();
return {
certificateContents,
thumbprintSha256,
thumbprint,
x5c
};
}
}
var credentialName5 = "OnBehalfOfCredential", logger26;
var init_onBehalfOfCredential = __esm(() => {
init_msalClient();
init_logging();
init_tenantIdUtils();
init_errors4();
init_scopeUtils();
init_tracing();
logger26 = credentialLogger(credentialName5);
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/tokenProvider.js
function getBearerTokenProvider(credential, scopes, options) {
const { abortSignal, tracingOptions } = options || {};
const pipeline = createEmptyPipeline2();
pipeline.addPolicy(bearerTokenAuthenticationPolicy({ credential, scopes }));
async function getRefreshedToken() {
const res = await pipeline.sendRequest({
sendRequest: (request) => Promise.resolve({
request,
status: 200,
headers: request.headers
})
}, createPipelineRequest2({
url: "https://example.com",
abortSignal,
tracingOptions
}));
const accessToken = res.headers.get("authorization")?.split(" ")[1];
if (!accessToken) {
throw new Error("Failed to get access token");
}
return accessToken;
}
return getRefreshedToken;
}
var init_tokenProvider = __esm(() => {
init_esm7();
});
// node_modules/.pnpm/@azure+identity@4.13.1/node_modules/@azure/identity/dist/esm/index.js
var exports_esm = {};
__export(exports_esm, {
useIdentityPlugin: () => useIdentityPlugin,
serializeAuthenticationRecord: () => serializeAuthenticationRecord,
logger: () => logger,
getDefaultAzureCredential: () => getDefaultAzureCredential,
getBearerTokenProvider: () => getBearerTokenProvider,
deserializeAuthenticationRecord: () => deserializeAuthenticationRecord,
WorkloadIdentityCredential: () => WorkloadIdentityCredential,
VisualStudioCodeCredential: () => VisualStudioCodeCredential,
UsernamePasswordCredential: () => UsernamePasswordCredential,
OnBehalfOfCredential: () => OnBehalfOfCredential,
ManagedIdentityCredential: () => ManagedIdentityCredential,
InteractiveBrowserCredential: () => InteractiveBrowserCredential,
EnvironmentCredential: () => EnvironmentCredential,
DeviceCodeCredential: () => DeviceCodeCredential,
DefaultAzureCredential: () => DefaultAzureCredential,
CredentialUnavailableErrorName: () => CredentialUnavailableErrorName,
CredentialUnavailableError: () => CredentialUnavailableError,
ClientSecretCredential: () => ClientSecretCredential,
ClientCertificateCredential: () => ClientCertificateCredential,
ClientAssertionCredential: () => ClientAssertionCredential,
ChainedTokenCredential: () => ChainedTokenCredential,
AzurePowerShellCredential: () => AzurePowerShellCredential,
AzurePipelinesCredential: () => AzurePipelinesCredential,
AzureDeveloperCliCredential: () => AzureDeveloperCliCredential,
AzureCliCredential: () => AzureCliCredential,
AzureAuthorityHosts: () => AzureAuthorityHosts,
AuthorizationCodeCredential: () => AuthorizationCodeCredential,
AuthenticationRequiredError: () => AuthenticationRequiredError,
AuthenticationErrorName: () => AuthenticationErrorName,
AuthenticationError: () => AuthenticationError2,
AggregateAuthenticationErrorName: () => AggregateAuthenticationErrorName,
AggregateAuthenticationError: () => AggregateAuthenticationError
});
function getDefaultAzureCredential() {
return new DefaultAzureCredential;
}
var init_esm9 = __esm(() => {
init_defaultAzureCredential();
init_errors4();
init_utils4();
init_chainedTokenCredential();
init_clientSecretCredential();
init_defaultAzureCredential();
init_environmentCredential();
init_clientCertificateCredential();
init_clientAssertionCredential();
init_azureCliCredential();
init_azureDeveloperCliCredential();
init_interactiveBrowserCredential();
init_managedIdentityCredential();
init_deviceCodeCredential();
init_azurePipelinesCredential();
init_authorizationCodeCredential();
init_azurePowerShellCredential();
init_usernamePasswordCredential();
init_visualStudioCodeCredential();
init_onBehalfOfCredential();
init_workloadIdentityCredential();
init_logging();
init_constants5();
init_tokenProvider();
init_consumer();
});
// node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.js
var require_extend = __commonJS((exports, module) => {
var hasOwn4 = Object.prototype.hasOwnProperty;
var toStr = Object.prototype.toString;
var defineProperty2 = Object.defineProperty;
var gOPD = Object.getOwnPropertyDescriptor;
var isArray6 = function isArray7(arr) {
if (typeof Array.isArray === "function") {
return Array.isArray(arr);
}
return toStr.call(arr) === "[object Array]";
};
var isPlainObject5 = function isPlainObject6(obj) {
if (!obj || toStr.call(obj) !== "[object Object]") {
return false;
}
var hasOwnConstructor = hasOwn4.call(obj, "constructor");
var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn4.call(obj.constructor.prototype, "isPrototypeOf");
if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
return false;
}
var key;
for (key in obj) {}
return typeof key === "undefined" || hasOwn4.call(obj, key);
};
var setProperty2 = function setProperty3(target, options) {
if (defineProperty2 && options.name === "__proto__") {
defineProperty2(target, options.name, {
enumerable: true,
configurable: true,
value: options.newValue,
writable: true
});
} else {
target[options.name] = options.newValue;
}
};
var getProperty = function getProperty2(obj, name3) {
if (name3 === "__proto__") {
if (!hasOwn4.call(obj, name3)) {
return;
} else if (gOPD) {
return gOPD(obj, name3).value;
}
}
return obj[name3];
};
module.exports = function extend4() {
var options, name3, src, copy, copyIsArray, clone3;
var target = arguments[0];
var i2 = 1;
var length = arguments.length;
var deep = false;
if (typeof target === "boolean") {
deep = target;
target = arguments[1] || {};
i2 = 2;
}
if (target == null || typeof target !== "object" && typeof target !== "function") {
target = {};
}
for (;i2 < length; ++i2) {
options = arguments[i2];
if (options != null) {
for (name3 in options) {
src = getProperty(target, name3);
copy = getProperty(options, name3);
if (target !== copy) {
if (deep && copy && (isPlainObject5(copy) || (copyIsArray = isArray6(copy)))) {
if (copyIsArray) {
copyIsArray = false;
clone3 = src && isArray6(src) ? src : [];
} else {
clone3 = src && isPlainObject5(src) ? src : {};
}
setProperty2(target, { name: name3, newValue: extend4(deep, clone3, copy) });
} else if (typeof copy !== "undefined") {
setProperty2(target, { name: name3, newValue: copy });
}
}
}
}
}
return target;
};
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/package.json
var require_package5 = __commonJS((exports, module) => {
module.exports = {
name: "gaxios",
version: "7.1.4",
description: "A simple common HTTP client specifically for Google APIs and services.",
main: "build/cjs/src/index.js",
types: "build/cjs/src/index.d.ts",
files: [
"build/"
],
exports: {
".": {
import: {
types: "./build/esm/src/index.d.ts",
default: "./build/esm/src/index.js"
},
require: {
types: "./build/cjs/src/index.d.ts",
default: "./build/cjs/src/index.js"
}
}
},
scripts: {
lint: "gts check --no-inline-config",
test: "c8 mocha build/esm/test",
"presystem-test": "npm run compile",
"system-test": "mocha build/esm/system-test --timeout 80000",
compile: "tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",
fix: "gts fix",
prepare: "npm run compile",
pretest: "npm run compile",
webpack: "webpack",
"prebrowser-test": "npm run compile",
"browser-test": "node build/browser-test/browser-test-runner.js",
docs: "jsdoc -c .jsdoc.js",
"docs-test": "linkinator docs",
"predocs-test": "npm run docs",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
prelint: "cd samples; npm link ../; npm install",
clean: "gts clean"
},
repository: {
type: "git",
directory: "packages/gaxios",
url: "https://github.com/googleapis/google-cloud-node-core.git"
},
keywords: [
"google"
],
engines: {
node: ">=18"
},
author: "Google, LLC",
license: "Apache-2.0",
devDependencies: {
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@types/cors": "^2.8.6",
"@types/express": "^5.0.0",
"@types/extend": "^3.0.1",
"@types/mocha": "^10.0.10",
"@types/multiparty": "4.2.1",
"@types/mv": "^2.1.0",
"@types/ncp": "^2.0.8",
"@types/node": "^22.13.1",
"@types/sinon": "^17.0.3",
"@types/tmp": "^0.2.6",
assert: "^2.0.0",
browserify: "^17.0.0",
c8: "^10.1.3",
cors: "^2.8.5",
express: "^5.0.0",
gts: "^6.0.2",
"is-docker": "^3.0.0",
jsdoc: "^4.0.4",
"jsdoc-fresh": "^5.0.0",
"jsdoc-region-tag": "^4.0.0",
karma: "^6.0.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
"karma-firefox-launcher": "^2.0.0",
"karma-mocha": "^2.0.0",
"karma-remap-coverage": "^0.1.5",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "^5.0.1",
linkinator: "^6.1.2",
mocha: "^11.1.0",
multiparty: "^4.2.1",
mv: "^2.1.1",
ncp: "^2.0.0",
nock: "^14.0.5",
"null-loader": "^4.0.1",
"pack-n-play": "^4.0.0",
puppeteer: "^24.0.0",
sinon: "^21.0.0",
"stream-browserify": "^3.0.0",
tmp: "0.2.5",
"ts-loader": "^9.5.2",
typescript: "5.8.3",
webpack: "^5.97.1",
"webpack-cli": "^6.0.1"
},
dependencies: {
extend: "^3.0.2",
"https-proxy-agent": "^7.0.1",
"node-fetch": "^3.3.2"
},
homepage: "https://github.com/googleapis/google-cloud-node-core/tree/main/packages/gaxios"
};
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/util.cjs
var require_util7 = __commonJS((exports, module) => {
var pkg = require_package5();
module.exports = { pkg };
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/common.js
var require_common2 = __commonJS((exports) => {
var __importDefault = exports && exports.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GaxiosError = exports.GAXIOS_ERROR_SYMBOL = undefined;
exports.defaultErrorRedactor = defaultErrorRedactor;
var extend_1 = __importDefault(require_extend());
var util_cjs_1 = __importDefault(require_util7());
var pkg = util_cjs_1.default.pkg;
exports.GAXIOS_ERROR_SYMBOL = Symbol.for(`${pkg.name}-gaxios-error`);
class GaxiosError extends Error {
config;
response;
code;
status;
error;
[exports.GAXIOS_ERROR_SYMBOL] = pkg.version;
static [Symbol.hasInstance](instance) {
if (instance && typeof instance === "object" && exports.GAXIOS_ERROR_SYMBOL in instance && instance[exports.GAXIOS_ERROR_SYMBOL] === pkg.version) {
return true;
}
return Function.prototype[Symbol.hasInstance].call(GaxiosError, instance);
}
constructor(message, config2, response, cause) {
super(message, { cause });
this.config = config2;
this.response = response;
this.error = cause instanceof Error ? cause : undefined;
this.config = (0, extend_1.default)(true, {}, config2);
if (this.response) {
this.response.config = (0, extend_1.default)(true, {}, this.response.config);
}
if (this.response) {
try {
this.response.data = translateData(this.config.responseType, this.response?.bodyUsed ? this.response?.data : undefined);
} catch {}
this.status = this.response.status;
}
if (cause instanceof DOMException) {
this.code = cause.name;
} else if (cause && typeof cause === "object" && "code" in cause && (typeof cause.code === "string" || typeof cause.code === "number")) {
this.code = cause.code;
}
}
static extractAPIErrorFromResponse(res, defaultErrorMessage = "The request failed") {
let message = defaultErrorMessage;
if (typeof res.data === "string") {
message = res.data;
}
if (res.data && typeof res.data === "object" && "error" in res.data && res.data.error && !res.ok) {
if (typeof res.data.error === "string") {
return {
message: res.data.error,
code: res.status,
status: res.statusText
};
}
if (typeof res.data.error === "object") {
message = "message" in res.data.error && typeof res.data.error.message === "string" ? res.data.error.message : message;
const status = "status" in res.data.error && typeof res.data.error.status === "string" ? res.data.error.status : res.statusText;
const code = "code" in res.data.error && typeof res.data.error.code === "number" ? res.data.error.code : res.status;
if ("errors" in res.data.error && Array.isArray(res.data.error.errors)) {
const errorMessages = [];
for (const e of res.data.error.errors) {
if (typeof e === "object" && "message" in e && typeof e.message === "string") {
errorMessages.push(e.message);
}
}
return Object.assign({
message: errorMessages.join(`
`) || message,
code,
status
}, res.data.error);
}
return Object.assign({
message,
code,
status
}, res.data.error);
}
}
return {
message,
code: res.status,
status: res.statusText
};
}
}
exports.GaxiosError = GaxiosError;
function translateData(responseType, data) {
switch (responseType) {
case "stream":
return data;
case "json":
return JSON.parse(JSON.stringify(data));
case "arraybuffer":
return JSON.parse(Buffer.from(data).toString("utf8"));
case "blob":
return JSON.parse(data.text());
default:
return data;
}
}
function defaultErrorRedactor(data) {
const REDACT = "< - See `errorRedactor` option in `gaxios` for configuration>.";
function redactHeaders(headers) {
if (!headers)
return;
headers.forEach((_2, key) => {
if (/^authentication$/i.test(key) || /^authorization$/i.test(key) || /secret/i.test(key))
headers.set(key, REDACT);
});
}
function redactString(obj, key) {
if (typeof obj === "object" && obj !== null && typeof obj[key] === "string") {
const text = obj[key];
if (/grant_type=/i.test(text) || /assertion=/i.test(text) || /secret/i.test(text)) {
obj[key] = REDACT;
}
}
}
function redactObject(obj) {
if (!obj || typeof obj !== "object") {
return;
} else if (obj instanceof FormData || obj instanceof URLSearchParams || "forEach" in obj && "set" in obj) {
obj.forEach((_2, key) => {
if (["grant_type", "assertion"].includes(key) || /secret/.test(key)) {
obj.set(key, REDACT);
}
});
} else {
if ("grant_type" in obj) {
obj["grant_type"] = REDACT;
}
if ("assertion" in obj) {
obj["assertion"] = REDACT;
}
if ("client_secret" in obj) {
obj["client_secret"] = REDACT;
}
}
}
if (data.config) {
redactHeaders(data.config.headers);
redactString(data.config, "data");
redactObject(data.config.data);
redactString(data.config, "body");
redactObject(data.config.body);
if (data.config.url.searchParams.has("token")) {
data.config.url.searchParams.set("token", REDACT);
}
if (data.config.url.searchParams.has("client_secret")) {
data.config.url.searchParams.set("client_secret", REDACT);
}
}
if (data.response) {
defaultErrorRedactor({ config: data.response.config });
redactHeaders(data.response.headers);
if (data.response.bodyUsed) {
redactString(data.response, "data");
redactObject(data.response.data);
}
}
return data;
}
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/retry.js
var require_retry3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRetryConfig = getRetryConfig;
async function getRetryConfig(err) {
let config2 = getConfig2(err);
if (!err || !err.config || !config2 && !err.config.retry) {
return { shouldRetry: false };
}
config2 = config2 || {};
config2.currentRetryAttempt = config2.currentRetryAttempt || 0;
config2.retry = config2.retry === undefined || config2.retry === null ? 3 : config2.retry;
config2.httpMethodsToRetry = config2.httpMethodsToRetry || [
"GET",
"HEAD",
"PUT",
"OPTIONS",
"DELETE"
];
config2.noResponseRetries = config2.noResponseRetries === undefined || config2.noResponseRetries === null ? 2 : config2.noResponseRetries;
config2.retryDelayMultiplier = config2.retryDelayMultiplier ? config2.retryDelayMultiplier : 2;
config2.timeOfFirstRequest = config2.timeOfFirstRequest ? config2.timeOfFirstRequest : Date.now();
config2.totalTimeout = config2.totalTimeout ? config2.totalTimeout : Number.MAX_SAFE_INTEGER;
config2.maxRetryDelay = config2.maxRetryDelay ? config2.maxRetryDelay : Number.MAX_SAFE_INTEGER;
const retryRanges = [
[100, 199],
[408, 408],
[429, 429],
[500, 599]
];
config2.statusCodesToRetry = config2.statusCodesToRetry || retryRanges;
err.config.retryConfig = config2;
const shouldRetryFn = config2.shouldRetry || shouldRetryRequest;
if (!await shouldRetryFn(err)) {
return { shouldRetry: false, config: err.config };
}
const delay4 = getNextRetryDelay(config2);
err.config.retryConfig.currentRetryAttempt += 1;
const backoff = config2.retryBackoff ? config2.retryBackoff(err, delay4) : new Promise((resolve9) => {
setTimeout(resolve9, delay4);
});
if (config2.onRetryAttempt) {
await config2.onRetryAttempt(err);
}
await backoff;
return { shouldRetry: true, config: err.config };
}
function shouldRetryRequest(err) {
const config2 = getConfig2(err);
if (err.config.signal?.aborted && err.code !== "TimeoutError" || err.code === "AbortError") {
return false;
}
if (!config2 || config2.retry === 0) {
return false;
}
if (!err.response && (config2.currentRetryAttempt || 0) >= config2.noResponseRetries) {
return false;
}
if (!config2.httpMethodsToRetry || !config2.httpMethodsToRetry.includes(err.config.method?.toUpperCase() || "GET")) {
return false;
}
if (err.response && err.response.status) {
let isInRange2 = false;
for (const [min, max] of config2.statusCodesToRetry) {
const status = err.response.status;
if (status >= min && status <= max) {
isInRange2 = true;
break;
}
}
if (!isInRange2) {
return false;
}
}
config2.currentRetryAttempt = config2.currentRetryAttempt || 0;
if (config2.currentRetryAttempt >= config2.retry) {
return false;
}
return true;
}
function getConfig2(err) {
if (err && err.config && err.config.retryConfig) {
return err.config.retryConfig;
}
return;
}
function getNextRetryDelay(config2) {
const retryDelay = config2.currentRetryAttempt ? 0 : config2.retryDelay ?? 100;
const calculatedDelay = retryDelay + (Math.pow(config2.retryDelayMultiplier, config2.currentRetryAttempt) - 1) / 2 * 1000;
const maxAllowableDelay = config2.totalTimeout - (Date.now() - config2.timeOfFirstRequest);
return Math.min(calculatedDelay, maxAllowableDelay, config2.maxRetryDelay);
}
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/interceptor.js
var require_interceptor = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GaxiosInterceptorManager = undefined;
class GaxiosInterceptorManager extends Set {
}
exports.GaxiosInterceptorManager = GaxiosInterceptorManager;
});
// node_modules/.pnpm/data-uri-to-buffer@4.0.1/node_modules/data-uri-to-buffer/dist/index.js
function dataUriToBuffer(uri) {
if (!/^data:/i.test(uri)) {
throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
}
uri = uri.replace(/\r?\n/g, "");
const firstComma = uri.indexOf(",");
if (firstComma === -1 || firstComma <= 4) {
throw new TypeError("malformed data: URI");
}
const meta3 = uri.substring(5, firstComma).split(";");
let charset = "";
let base644 = false;
const type = meta3[0] || "text/plain";
let typeFull = type;
for (let i2 = 1;i2 < meta3.length; i2++) {
if (meta3[i2] === "base64") {
base644 = true;
} else if (meta3[i2]) {
typeFull += `;${meta3[i2]}`;
if (meta3[i2].indexOf("charset=") === 0) {
charset = meta3[i2].substring(8);
}
}
}
if (!meta3[0] && !charset.length) {
typeFull += ";charset=US-ASCII";
charset = "US-ASCII";
}
const encoding = base644 ? "base64" : "ascii";
const data = unescape(uri.substring(firstComma + 1));
const buffer = Buffer.from(data, encoding);
buffer.type = type;
buffer.typeFull = typeFull;
buffer.charset = charset;
return buffer;
}
var dist_default;
var init_dist4 = __esm(() => {
dist_default = dataUriToBuffer;
});
// node_modules/.pnpm/web-streams-polyfill@3.3.3/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js
var require_ponyfill_es2018 = __commonJS((exports, module) => {
(function(global3, factory2) {
typeof exports === "object" && typeof module !== "undefined" ? factory2(exports) : typeof define === "function" && define.amd ? define(["exports"], factory2) : (global3 = typeof globalThis !== "undefined" ? globalThis : global3 || self, factory2(global3.WebStreamsPolyfill = {}));
})(exports, function(exports2) {
function noop8() {
return;
}
function typeIsObject(x3) {
return typeof x3 === "object" && x3 !== null || typeof x3 === "function";
}
const rethrowAssertionErrorRejection = noop8;
function setFunctionName(fn, name3) {
try {
Object.defineProperty(fn, "name", {
value: name3,
configurable: true
});
} catch (_a4) {}
}
const originalPromise = Promise;
const originalPromiseThen = Promise.prototype.then;
const originalPromiseReject = Promise.reject.bind(originalPromise);
function newPromise(executor) {
return new originalPromise(executor);
}
function promiseResolvedWith(value) {
return newPromise((resolve9) => resolve9(value));
}
function promiseRejectedWith(reason) {
return originalPromiseReject(reason);
}
function PerformPromiseThen(promise2, onFulfilled, onRejected) {
return originalPromiseThen.call(promise2, onFulfilled, onRejected);
}
function uponPromise(promise2, onFulfilled, onRejected) {
PerformPromiseThen(PerformPromiseThen(promise2, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
}
function uponFulfillment(promise2, onFulfilled) {
uponPromise(promise2, onFulfilled);
}
function uponRejection(promise2, onRejected) {
uponPromise(promise2, undefined, onRejected);
}
function transformPromiseWith(promise2, fulfillmentHandler, rejectionHandler) {
return PerformPromiseThen(promise2, fulfillmentHandler, rejectionHandler);
}
function setPromiseIsHandledToTrue(promise2) {
PerformPromiseThen(promise2, undefined, rethrowAssertionErrorRejection);
}
let _queueMicrotask = (callback) => {
if (typeof queueMicrotask === "function") {
_queueMicrotask = queueMicrotask;
} else {
const resolvedPromise = promiseResolvedWith(undefined);
_queueMicrotask = (cb) => PerformPromiseThen(resolvedPromise, cb);
}
return _queueMicrotask(callback);
};
function reflectCall(F2, V2, args) {
if (typeof F2 !== "function") {
throw new TypeError("Argument is not a function");
}
return Function.prototype.apply.call(F2, V2, args);
}
function promiseCall(F2, V2, args) {
try {
return promiseResolvedWith(reflectCall(F2, V2, args));
} catch (value) {
return promiseRejectedWith(value);
}
}
const QUEUE_MAX_ARRAY_SIZE = 16384;
class SimpleQueue {
constructor() {
this._cursor = 0;
this._size = 0;
this._front = {
_elements: [],
_next: undefined
};
this._back = this._front;
this._cursor = 0;
this._size = 0;
}
get length() {
return this._size;
}
push(element) {
const oldBack = this._back;
let newBack = oldBack;
if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
newBack = {
_elements: [],
_next: undefined
};
}
oldBack._elements.push(element);
if (newBack !== oldBack) {
this._back = newBack;
oldBack._next = newBack;
}
++this._size;
}
shift() {
const oldFront = this._front;
let newFront = oldFront;
const oldCursor = this._cursor;
let newCursor = oldCursor + 1;
const elements = oldFront._elements;
const element = elements[oldCursor];
if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
newFront = oldFront._next;
newCursor = 0;
}
--this._size;
this._cursor = newCursor;
if (oldFront !== newFront) {
this._front = newFront;
}
elements[oldCursor] = undefined;
return element;
}
forEach(callback) {
let i2 = this._cursor;
let node = this._front;
let elements = node._elements;
while (i2 !== elements.length || node._next !== undefined) {
if (i2 === elements.length) {
node = node._next;
elements = node._elements;
i2 = 0;
if (elements.length === 0) {
break;
}
}
callback(elements[i2]);
++i2;
}
}
peek() {
const front = this._front;
const cursor = this._cursor;
return front._elements[cursor];
}
}
const AbortSteps = Symbol("[[AbortSteps]]");
const ErrorSteps = Symbol("[[ErrorSteps]]");
const CancelSteps = Symbol("[[CancelSteps]]");
const PullSteps = Symbol("[[PullSteps]]");
const ReleaseSteps = Symbol("[[ReleaseSteps]]");
function ReadableStreamReaderGenericInitialize(reader, stream4) {
reader._ownerReadableStream = stream4;
stream4._reader = reader;
if (stream4._state === "readable") {
defaultReaderClosedPromiseInitialize(reader);
} else if (stream4._state === "closed") {
defaultReaderClosedPromiseInitializeAsResolved(reader);
} else {
defaultReaderClosedPromiseInitializeAsRejected(reader, stream4._storedError);
}
}
function ReadableStreamReaderGenericCancel(reader, reason) {
const stream4 = reader._ownerReadableStream;
return ReadableStreamCancel(stream4, reason);
}
function ReadableStreamReaderGenericRelease(reader) {
const stream4 = reader._ownerReadableStream;
if (stream4._state === "readable") {
defaultReaderClosedPromiseReject(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));
} else {
defaultReaderClosedPromiseResetToRejected(reader, new TypeError(`Reader was released and can no longer be used to monitor the stream's closedness`));
}
stream4._readableStreamController[ReleaseSteps]();
stream4._reader = undefined;
reader._ownerReadableStream = undefined;
}
function readerLockException(name3) {
return new TypeError("Cannot " + name3 + " a stream using a released reader");
}
function defaultReaderClosedPromiseInitialize(reader) {
reader._closedPromise = newPromise((resolve9, reject) => {
reader._closedPromise_resolve = resolve9;
reader._closedPromise_reject = reject;
});
}
function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
defaultReaderClosedPromiseInitialize(reader);
defaultReaderClosedPromiseReject(reader, reason);
}
function defaultReaderClosedPromiseInitializeAsResolved(reader) {
defaultReaderClosedPromiseInitialize(reader);
defaultReaderClosedPromiseResolve(reader);
}
function defaultReaderClosedPromiseReject(reader, reason) {
if (reader._closedPromise_reject === undefined) {
return;
}
setPromiseIsHandledToTrue(reader._closedPromise);
reader._closedPromise_reject(reason);
reader._closedPromise_resolve = undefined;
reader._closedPromise_reject = undefined;
}
function defaultReaderClosedPromiseResetToRejected(reader, reason) {
defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
}
function defaultReaderClosedPromiseResolve(reader) {
if (reader._closedPromise_resolve === undefined) {
return;
}
reader._closedPromise_resolve(undefined);
reader._closedPromise_resolve = undefined;
reader._closedPromise_reject = undefined;
}
const NumberIsFinite = Number.isFinite || function(x3) {
return typeof x3 === "number" && isFinite(x3);
};
const MathTrunc = Math.trunc || function(v2) {
return v2 < 0 ? Math.ceil(v2) : Math.floor(v2);
};
function isDictionary(x3) {
return typeof x3 === "object" || typeof x3 === "function";
}
function assertDictionary(obj, context3) {
if (obj !== undefined && !isDictionary(obj)) {
throw new TypeError(`${context3} is not an object.`);
}
}
function assertFunction(x3, context3) {
if (typeof x3 !== "function") {
throw new TypeError(`${context3} is not a function.`);
}
}
function isObject6(x3) {
return typeof x3 === "object" && x3 !== null || typeof x3 === "function";
}
function assertObject(x3, context3) {
if (!isObject6(x3)) {
throw new TypeError(`${context3} is not an object.`);
}
}
function assertRequiredArgument(x3, position, context3) {
if (x3 === undefined) {
throw new TypeError(`Parameter ${position} is required in '${context3}'.`);
}
}
function assertRequiredField(x3, field, context3) {
if (x3 === undefined) {
throw new TypeError(`${field} is required in '${context3}'.`);
}
}
function convertUnrestrictedDouble(value) {
return Number(value);
}
function censorNegativeZero(x3) {
return x3 === 0 ? 0 : x3;
}
function integerPart(x3) {
return censorNegativeZero(MathTrunc(x3));
}
function convertUnsignedLongLongWithEnforceRange(value, context3) {
const lowerBound = 0;
const upperBound = Number.MAX_SAFE_INTEGER;
let x3 = Number(value);
x3 = censorNegativeZero(x3);
if (!NumberIsFinite(x3)) {
throw new TypeError(`${context3} is not a finite number`);
}
x3 = integerPart(x3);
if (x3 < lowerBound || x3 > upperBound) {
throw new TypeError(`${context3} is outside the accepted range of ${lowerBound} to ${upperBound}, inclusive`);
}
if (!NumberIsFinite(x3) || x3 === 0) {
return 0;
}
return x3;
}
function assertReadableStream(x3, context3) {
if (!IsReadableStream(x3)) {
throw new TypeError(`${context3} is not a ReadableStream.`);
}
}
function AcquireReadableStreamDefaultReader(stream4) {
return new ReadableStreamDefaultReader(stream4);
}
function ReadableStreamAddReadRequest(stream4, readRequest) {
stream4._reader._readRequests.push(readRequest);
}
function ReadableStreamFulfillReadRequest(stream4, chunk, done) {
const reader = stream4._reader;
const readRequest = reader._readRequests.shift();
if (done) {
readRequest._closeSteps();
} else {
readRequest._chunkSteps(chunk);
}
}
function ReadableStreamGetNumReadRequests(stream4) {
return stream4._reader._readRequests.length;
}
function ReadableStreamHasDefaultReader(stream4) {
const reader = stream4._reader;
if (reader === undefined) {
return false;
}
if (!IsReadableStreamDefaultReader(reader)) {
return false;
}
return true;
}
class ReadableStreamDefaultReader {
constructor(stream4) {
assertRequiredArgument(stream4, 1, "ReadableStreamDefaultReader");
assertReadableStream(stream4, "First parameter");
if (IsReadableStreamLocked(stream4)) {
throw new TypeError("This stream has already been locked for exclusive reading by another reader");
}
ReadableStreamReaderGenericInitialize(this, stream4);
this._readRequests = new SimpleQueue;
}
get closed() {
if (!IsReadableStreamDefaultReader(this)) {
return promiseRejectedWith(defaultReaderBrandCheckException("closed"));
}
return this._closedPromise;
}
cancel(reason = undefined) {
if (!IsReadableStreamDefaultReader(this)) {
return promiseRejectedWith(defaultReaderBrandCheckException("cancel"));
}
if (this._ownerReadableStream === undefined) {
return promiseRejectedWith(readerLockException("cancel"));
}
return ReadableStreamReaderGenericCancel(this, reason);
}
read() {
if (!IsReadableStreamDefaultReader(this)) {
return promiseRejectedWith(defaultReaderBrandCheckException("read"));
}
if (this._ownerReadableStream === undefined) {
return promiseRejectedWith(readerLockException("read from"));
}
let resolvePromise;
let rejectPromise;
const promise2 = newPromise((resolve9, reject) => {
resolvePromise = resolve9;
rejectPromise = reject;
});
const readRequest = {
_chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }),
_closeSteps: () => resolvePromise({ value: undefined, done: true }),
_errorSteps: (e) => rejectPromise(e)
};
ReadableStreamDefaultReaderRead(this, readRequest);
return promise2;
}
releaseLock() {
if (!IsReadableStreamDefaultReader(this)) {
throw defaultReaderBrandCheckException("releaseLock");
}
if (this._ownerReadableStream === undefined) {
return;
}
ReadableStreamDefaultReaderRelease(this);
}
}
Object.defineProperties(ReadableStreamDefaultReader.prototype, {
cancel: { enumerable: true },
read: { enumerable: true },
releaseLock: { enumerable: true },
closed: { enumerable: true }
});
setFunctionName(ReadableStreamDefaultReader.prototype.cancel, "cancel");
setFunctionName(ReadableStreamDefaultReader.prototype.read, "read");
setFunctionName(ReadableStreamDefaultReader.prototype.releaseLock, "releaseLock");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableStreamDefaultReader.prototype, Symbol.toStringTag, {
value: "ReadableStreamDefaultReader",
configurable: true
});
}
function IsReadableStreamDefaultReader(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_readRequests")) {
return false;
}
return x3 instanceof ReadableStreamDefaultReader;
}
function ReadableStreamDefaultReaderRead(reader, readRequest) {
const stream4 = reader._ownerReadableStream;
stream4._disturbed = true;
if (stream4._state === "closed") {
readRequest._closeSteps();
} else if (stream4._state === "errored") {
readRequest._errorSteps(stream4._storedError);
} else {
stream4._readableStreamController[PullSteps](readRequest);
}
}
function ReadableStreamDefaultReaderRelease(reader) {
ReadableStreamReaderGenericRelease(reader);
const e = new TypeError("Reader was released");
ReadableStreamDefaultReaderErrorReadRequests(reader, e);
}
function ReadableStreamDefaultReaderErrorReadRequests(reader, e) {
const readRequests = reader._readRequests;
reader._readRequests = new SimpleQueue;
readRequests.forEach((readRequest) => {
readRequest._errorSteps(e);
});
}
function defaultReaderBrandCheckException(name3) {
return new TypeError(`ReadableStreamDefaultReader.prototype.${name3} can only be used on a ReadableStreamDefaultReader`);
}
const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype);
class ReadableStreamAsyncIteratorImpl {
constructor(reader, preventCancel) {
this._ongoingPromise = undefined;
this._isFinished = false;
this._reader = reader;
this._preventCancel = preventCancel;
}
next() {
const nextSteps = () => this._nextSteps();
this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();
return this._ongoingPromise;
}
return(value) {
const returnSteps = () => this._returnSteps(value);
return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();
}
_nextSteps() {
if (this._isFinished) {
return Promise.resolve({ value: undefined, done: true });
}
const reader = this._reader;
let resolvePromise;
let rejectPromise;
const promise2 = newPromise((resolve9, reject) => {
resolvePromise = resolve9;
rejectPromise = reject;
});
const readRequest = {
_chunkSteps: (chunk) => {
this._ongoingPromise = undefined;
_queueMicrotask(() => resolvePromise({ value: chunk, done: false }));
},
_closeSteps: () => {
this._ongoingPromise = undefined;
this._isFinished = true;
ReadableStreamReaderGenericRelease(reader);
resolvePromise({ value: undefined, done: true });
},
_errorSteps: (reason) => {
this._ongoingPromise = undefined;
this._isFinished = true;
ReadableStreamReaderGenericRelease(reader);
rejectPromise(reason);
}
};
ReadableStreamDefaultReaderRead(reader, readRequest);
return promise2;
}
_returnSteps(value) {
if (this._isFinished) {
return Promise.resolve({ value, done: true });
}
this._isFinished = true;
const reader = this._reader;
if (!this._preventCancel) {
const result = ReadableStreamReaderGenericCancel(reader, value);
ReadableStreamReaderGenericRelease(reader);
return transformPromiseWith(result, () => ({ value, done: true }));
}
ReadableStreamReaderGenericRelease(reader);
return promiseResolvedWith({ value, done: true });
}
}
const ReadableStreamAsyncIteratorPrototype = {
next() {
if (!IsReadableStreamAsyncIterator(this)) {
return promiseRejectedWith(streamAsyncIteratorBrandCheckException("next"));
}
return this._asyncIteratorImpl.next();
},
return(value) {
if (!IsReadableStreamAsyncIterator(this)) {
return promiseRejectedWith(streamAsyncIteratorBrandCheckException("return"));
}
return this._asyncIteratorImpl.return(value);
}
};
Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
function AcquireReadableStreamAsyncIterator(stream4, preventCancel) {
const reader = AcquireReadableStreamDefaultReader(stream4);
const impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);
const iterator2 = Object.create(ReadableStreamAsyncIteratorPrototype);
iterator2._asyncIteratorImpl = impl;
return iterator2;
}
function IsReadableStreamAsyncIterator(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_asyncIteratorImpl")) {
return false;
}
try {
return x3._asyncIteratorImpl instanceof ReadableStreamAsyncIteratorImpl;
} catch (_a4) {
return false;
}
}
function streamAsyncIteratorBrandCheckException(name3) {
return new TypeError(`ReadableStreamAsyncIterator.${name3} can only be used on a ReadableSteamAsyncIterator`);
}
const NumberIsNaN = Number.isNaN || function(x3) {
return x3 !== x3;
};
var _a3, _b, _c;
function CreateArrayFromList(elements) {
return elements.slice();
}
function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n2) {
new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n2), destOffset);
}
let TransferArrayBuffer = (O2) => {
if (typeof O2.transfer === "function") {
TransferArrayBuffer = (buffer) => buffer.transfer();
} else if (typeof structuredClone === "function") {
TransferArrayBuffer = (buffer) => structuredClone(buffer, { transfer: [buffer] });
} else {
TransferArrayBuffer = (buffer) => buffer;
}
return TransferArrayBuffer(O2);
};
let IsDetachedBuffer = (O2) => {
if (typeof O2.detached === "boolean") {
IsDetachedBuffer = (buffer) => buffer.detached;
} else {
IsDetachedBuffer = (buffer) => buffer.byteLength === 0;
}
return IsDetachedBuffer(O2);
};
function ArrayBufferSlice(buffer, begin, end) {
if (buffer.slice) {
return buffer.slice(begin, end);
}
const length = end - begin;
const slice = new ArrayBuffer(length);
CopyDataBlockBytes(slice, 0, buffer, begin, length);
return slice;
}
function GetMethod(receiver, prop) {
const func = receiver[prop];
if (func === undefined || func === null) {
return;
}
if (typeof func !== "function") {
throw new TypeError(`${String(prop)} is not a function`);
}
return func;
}
function CreateAsyncFromSyncIterator(syncIteratorRecord) {
const syncIterable = {
[Symbol.iterator]: () => syncIteratorRecord.iterator
};
const asyncIterator2 = async function* () {
return yield* syncIterable;
}();
const nextMethod = asyncIterator2.next;
return { iterator: asyncIterator2, nextMethod, done: false };
}
const SymbolAsyncIterator = (_c = (_a3 = Symbol.asyncIterator) !== null && _a3 !== undefined ? _a3 : (_b = Symbol.for) === null || _b === undefined ? undefined : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c !== undefined ? _c : "@@asyncIterator";
function GetIterator(obj, hint = "sync", method) {
if (method === undefined) {
if (hint === "async") {
method = GetMethod(obj, SymbolAsyncIterator);
if (method === undefined) {
const syncMethod = GetMethod(obj, Symbol.iterator);
const syncIteratorRecord = GetIterator(obj, "sync", syncMethod);
return CreateAsyncFromSyncIterator(syncIteratorRecord);
}
} else {
method = GetMethod(obj, Symbol.iterator);
}
}
if (method === undefined) {
throw new TypeError("The object is not iterable");
}
const iterator2 = reflectCall(method, obj, []);
if (!typeIsObject(iterator2)) {
throw new TypeError("The iterator method must return an object");
}
const nextMethod = iterator2.next;
return { iterator: iterator2, nextMethod, done: false };
}
function IteratorNext(iteratorRecord) {
const result = reflectCall(iteratorRecord.nextMethod, iteratorRecord.iterator, []);
if (!typeIsObject(result)) {
throw new TypeError("The iterator.next() method must return an object");
}
return result;
}
function IteratorComplete(iterResult) {
return Boolean(iterResult.done);
}
function IteratorValue(iterResult) {
return iterResult.value;
}
function IsNonNegativeNumber(v2) {
if (typeof v2 !== "number") {
return false;
}
if (NumberIsNaN(v2)) {
return false;
}
if (v2 < 0) {
return false;
}
return true;
}
function CloneAsUint8Array(O2) {
const buffer = ArrayBufferSlice(O2.buffer, O2.byteOffset, O2.byteOffset + O2.byteLength);
return new Uint8Array(buffer);
}
function DequeueValue(container) {
const pair = container._queue.shift();
container._queueTotalSize -= pair.size;
if (container._queueTotalSize < 0) {
container._queueTotalSize = 0;
}
return pair.value;
}
function EnqueueValueWithSize(container, value, size) {
if (!IsNonNegativeNumber(size) || size === Infinity) {
throw new RangeError("Size must be a finite, non-NaN, non-negative number.");
}
container._queue.push({ value, size });
container._queueTotalSize += size;
}
function PeekQueueValue(container) {
const pair = container._queue.peek();
return pair.value;
}
function ResetQueue(container) {
container._queue = new SimpleQueue;
container._queueTotalSize = 0;
}
function isDataViewConstructor(ctor) {
return ctor === DataView;
}
function isDataView(view) {
return isDataViewConstructor(view.constructor);
}
function arrayBufferViewElementSize(ctor) {
if (isDataViewConstructor(ctor)) {
return 1;
}
return ctor.BYTES_PER_ELEMENT;
}
class ReadableStreamBYOBRequest {
constructor() {
throw new TypeError("Illegal constructor");
}
get view() {
if (!IsReadableStreamBYOBRequest(this)) {
throw byobRequestBrandCheckException("view");
}
return this._view;
}
respond(bytesWritten) {
if (!IsReadableStreamBYOBRequest(this)) {
throw byobRequestBrandCheckException("respond");
}
assertRequiredArgument(bytesWritten, 1, "respond");
bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, "First parameter");
if (this._associatedReadableByteStreamController === undefined) {
throw new TypeError("This BYOB request has been invalidated");
}
if (IsDetachedBuffer(this._view.buffer)) {
throw new TypeError(`The BYOB request's buffer has been detached and so cannot be used as a response`);
}
ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
}
respondWithNewView(view) {
if (!IsReadableStreamBYOBRequest(this)) {
throw byobRequestBrandCheckException("respondWithNewView");
}
assertRequiredArgument(view, 1, "respondWithNewView");
if (!ArrayBuffer.isView(view)) {
throw new TypeError("You can only respond with array buffer views");
}
if (this._associatedReadableByteStreamController === undefined) {
throw new TypeError("This BYOB request has been invalidated");
}
if (IsDetachedBuffer(view.buffer)) {
throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");
}
ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
}
}
Object.defineProperties(ReadableStreamBYOBRequest.prototype, {
respond: { enumerable: true },
respondWithNewView: { enumerable: true },
view: { enumerable: true }
});
setFunctionName(ReadableStreamBYOBRequest.prototype.respond, "respond");
setFunctionName(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableStreamBYOBRequest.prototype, Symbol.toStringTag, {
value: "ReadableStreamBYOBRequest",
configurable: true
});
}
class ReadableByteStreamController {
constructor() {
throw new TypeError("Illegal constructor");
}
get byobRequest() {
if (!IsReadableByteStreamController(this)) {
throw byteStreamControllerBrandCheckException("byobRequest");
}
return ReadableByteStreamControllerGetBYOBRequest(this);
}
get desiredSize() {
if (!IsReadableByteStreamController(this)) {
throw byteStreamControllerBrandCheckException("desiredSize");
}
return ReadableByteStreamControllerGetDesiredSize(this);
}
close() {
if (!IsReadableByteStreamController(this)) {
throw byteStreamControllerBrandCheckException("close");
}
if (this._closeRequested) {
throw new TypeError("The stream has already been closed; do not close it again!");
}
const state3 = this._controlledReadableByteStream._state;
if (state3 !== "readable") {
throw new TypeError(`The stream (in ${state3} state) is not in the readable state and cannot be closed`);
}
ReadableByteStreamControllerClose(this);
}
enqueue(chunk) {
if (!IsReadableByteStreamController(this)) {
throw byteStreamControllerBrandCheckException("enqueue");
}
assertRequiredArgument(chunk, 1, "enqueue");
if (!ArrayBuffer.isView(chunk)) {
throw new TypeError("chunk must be an array buffer view");
}
if (chunk.byteLength === 0) {
throw new TypeError("chunk must have non-zero byteLength");
}
if (chunk.buffer.byteLength === 0) {
throw new TypeError(`chunk's buffer must have non-zero byteLength`);
}
if (this._closeRequested) {
throw new TypeError("stream is closed or draining");
}
const state3 = this._controlledReadableByteStream._state;
if (state3 !== "readable") {
throw new TypeError(`The stream (in ${state3} state) is not in the readable state and cannot be enqueued to`);
}
ReadableByteStreamControllerEnqueue(this, chunk);
}
error(e = undefined) {
if (!IsReadableByteStreamController(this)) {
throw byteStreamControllerBrandCheckException("error");
}
ReadableByteStreamControllerError(this, e);
}
[CancelSteps](reason) {
ReadableByteStreamControllerClearPendingPullIntos(this);
ResetQueue(this);
const result = this._cancelAlgorithm(reason);
ReadableByteStreamControllerClearAlgorithms(this);
return result;
}
[PullSteps](readRequest) {
const stream4 = this._controlledReadableByteStream;
if (this._queueTotalSize > 0) {
ReadableByteStreamControllerFillReadRequestFromQueue(this, readRequest);
return;
}
const autoAllocateChunkSize = this._autoAllocateChunkSize;
if (autoAllocateChunkSize !== undefined) {
let buffer;
try {
buffer = new ArrayBuffer(autoAllocateChunkSize);
} catch (bufferE) {
readRequest._errorSteps(bufferE);
return;
}
const pullIntoDescriptor = {
buffer,
bufferByteLength: autoAllocateChunkSize,
byteOffset: 0,
byteLength: autoAllocateChunkSize,
bytesFilled: 0,
minimumFill: 1,
elementSize: 1,
viewConstructor: Uint8Array,
readerType: "default"
};
this._pendingPullIntos.push(pullIntoDescriptor);
}
ReadableStreamAddReadRequest(stream4, readRequest);
ReadableByteStreamControllerCallPullIfNeeded(this);
}
[ReleaseSteps]() {
if (this._pendingPullIntos.length > 0) {
const firstPullInto = this._pendingPullIntos.peek();
firstPullInto.readerType = "none";
this._pendingPullIntos = new SimpleQueue;
this._pendingPullIntos.push(firstPullInto);
}
}
}
Object.defineProperties(ReadableByteStreamController.prototype, {
close: { enumerable: true },
enqueue: { enumerable: true },
error: { enumerable: true },
byobRequest: { enumerable: true },
desiredSize: { enumerable: true }
});
setFunctionName(ReadableByteStreamController.prototype.close, "close");
setFunctionName(ReadableByteStreamController.prototype.enqueue, "enqueue");
setFunctionName(ReadableByteStreamController.prototype.error, "error");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableByteStreamController.prototype, Symbol.toStringTag, {
value: "ReadableByteStreamController",
configurable: true
});
}
function IsReadableByteStreamController(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_controlledReadableByteStream")) {
return false;
}
return x3 instanceof ReadableByteStreamController;
}
function IsReadableStreamBYOBRequest(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_associatedReadableByteStreamController")) {
return false;
}
return x3 instanceof ReadableStreamBYOBRequest;
}
function ReadableByteStreamControllerCallPullIfNeeded(controller) {
const shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
if (!shouldPull) {
return;
}
if (controller._pulling) {
controller._pullAgain = true;
return;
}
controller._pulling = true;
const pullPromise = controller._pullAlgorithm();
uponPromise(pullPromise, () => {
controller._pulling = false;
if (controller._pullAgain) {
controller._pullAgain = false;
ReadableByteStreamControllerCallPullIfNeeded(controller);
}
return null;
}, (e) => {
ReadableByteStreamControllerError(controller, e);
return null;
});
}
function ReadableByteStreamControllerClearPendingPullIntos(controller) {
ReadableByteStreamControllerInvalidateBYOBRequest(controller);
controller._pendingPullIntos = new SimpleQueue;
}
function ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor) {
let done = false;
if (stream4._state === "closed") {
done = true;
}
const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
if (pullIntoDescriptor.readerType === "default") {
ReadableStreamFulfillReadRequest(stream4, filledView, done);
} else {
ReadableStreamFulfillReadIntoRequest(stream4, filledView, done);
}
}
function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
const bytesFilled = pullIntoDescriptor.bytesFilled;
const elementSize = pullIntoDescriptor.elementSize;
return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
}
function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
controller._queue.push({ buffer, byteOffset, byteLength });
controller._queueTotalSize += byteLength;
}
function ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, buffer, byteOffset, byteLength) {
let clonedChunk;
try {
clonedChunk = ArrayBufferSlice(buffer, byteOffset, byteOffset + byteLength);
} catch (cloneE) {
ReadableByteStreamControllerError(controller, cloneE);
throw cloneE;
}
ReadableByteStreamControllerEnqueueChunkToQueue(controller, clonedChunk, 0, byteLength);
}
function ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstDescriptor) {
if (firstDescriptor.bytesFilled > 0) {
ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, firstDescriptor.buffer, firstDescriptor.byteOffset, firstDescriptor.bytesFilled);
}
ReadableByteStreamControllerShiftPendingPullInto(controller);
}
function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
const maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
let totalBytesToCopyRemaining = maxBytesToCopy;
let ready = false;
const remainderBytes = maxBytesFilled % pullIntoDescriptor.elementSize;
const maxAlignedBytes = maxBytesFilled - remainderBytes;
if (maxAlignedBytes >= pullIntoDescriptor.minimumFill) {
totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
ready = true;
}
const queue = controller._queue;
while (totalBytesToCopyRemaining > 0) {
const headOfQueue = queue.peek();
const bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
if (headOfQueue.byteLength === bytesToCopy) {
queue.shift();
} else {
headOfQueue.byteOffset += bytesToCopy;
headOfQueue.byteLength -= bytesToCopy;
}
controller._queueTotalSize -= bytesToCopy;
ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
totalBytesToCopyRemaining -= bytesToCopy;
}
return ready;
}
function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
pullIntoDescriptor.bytesFilled += size;
}
function ReadableByteStreamControllerHandleQueueDrain(controller) {
if (controller._queueTotalSize === 0 && controller._closeRequested) {
ReadableByteStreamControllerClearAlgorithms(controller);
ReadableStreamClose(controller._controlledReadableByteStream);
} else {
ReadableByteStreamControllerCallPullIfNeeded(controller);
}
}
function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
if (controller._byobRequest === null) {
return;
}
controller._byobRequest._associatedReadableByteStreamController = undefined;
controller._byobRequest._view = null;
controller._byobRequest = null;
}
function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
while (controller._pendingPullIntos.length > 0) {
if (controller._queueTotalSize === 0) {
return;
}
const pullIntoDescriptor = controller._pendingPullIntos.peek();
if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
ReadableByteStreamControllerShiftPendingPullInto(controller);
ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
}
}
}
function ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller) {
const reader = controller._controlledReadableByteStream._reader;
while (reader._readRequests.length > 0) {
if (controller._queueTotalSize === 0) {
return;
}
const readRequest = reader._readRequests.shift();
ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest);
}
}
function ReadableByteStreamControllerPullInto(controller, view, min, readIntoRequest) {
const stream4 = controller._controlledReadableByteStream;
const ctor = view.constructor;
const elementSize = arrayBufferViewElementSize(ctor);
const { byteOffset, byteLength } = view;
const minimumFill = min * elementSize;
let buffer;
try {
buffer = TransferArrayBuffer(view.buffer);
} catch (e) {
readIntoRequest._errorSteps(e);
return;
}
const pullIntoDescriptor = {
buffer,
bufferByteLength: buffer.byteLength,
byteOffset,
byteLength,
bytesFilled: 0,
minimumFill,
elementSize,
viewConstructor: ctor,
readerType: "byob"
};
if (controller._pendingPullIntos.length > 0) {
controller._pendingPullIntos.push(pullIntoDescriptor);
ReadableStreamAddReadIntoRequest(stream4, readIntoRequest);
return;
}
if (stream4._state === "closed") {
const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
readIntoRequest._closeSteps(emptyView);
return;
}
if (controller._queueTotalSize > 0) {
if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
const filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
ReadableByteStreamControllerHandleQueueDrain(controller);
readIntoRequest._chunkSteps(filledView);
return;
}
if (controller._closeRequested) {
const e = new TypeError("Insufficient bytes to fill elements in the given buffer");
ReadableByteStreamControllerError(controller, e);
readIntoRequest._errorSteps(e);
return;
}
}
controller._pendingPullIntos.push(pullIntoDescriptor);
ReadableStreamAddReadIntoRequest(stream4, readIntoRequest);
ReadableByteStreamControllerCallPullIfNeeded(controller);
}
function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
if (firstDescriptor.readerType === "none") {
ReadableByteStreamControllerShiftPendingPullInto(controller);
}
const stream4 = controller._controlledReadableByteStream;
if (ReadableStreamHasBYOBReader(stream4)) {
while (ReadableStreamGetNumReadIntoRequests(stream4) > 0) {
const pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
ReadableByteStreamControllerCommitPullIntoDescriptor(stream4, pullIntoDescriptor);
}
}
}
function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
if (pullIntoDescriptor.readerType === "none") {
ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, pullIntoDescriptor);
ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
return;
}
if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.minimumFill) {
return;
}
ReadableByteStreamControllerShiftPendingPullInto(controller);
const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
if (remainderSize > 0) {
const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
ReadableByteStreamControllerEnqueueClonedChunkToQueue(controller, pullIntoDescriptor.buffer, end - remainderSize, remainderSize);
}
pullIntoDescriptor.bytesFilled -= remainderSize;
ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
}
function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
const firstDescriptor = controller._pendingPullIntos.peek();
ReadableByteStreamControllerInvalidateBYOBRequest(controller);
const state3 = controller._controlledReadableByteStream._state;
if (state3 === "closed") {
ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
} else {
ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
}
ReadableByteStreamControllerCallPullIfNeeded(controller);
}
function ReadableByteStreamControllerShiftPendingPullInto(controller) {
const descriptor = controller._pendingPullIntos.shift();
return descriptor;
}
function ReadableByteStreamControllerShouldCallPull(controller) {
const stream4 = controller._controlledReadableByteStream;
if (stream4._state !== "readable") {
return false;
}
if (controller._closeRequested) {
return false;
}
if (!controller._started) {
return false;
}
if (ReadableStreamHasDefaultReader(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) {
return true;
}
if (ReadableStreamHasBYOBReader(stream4) && ReadableStreamGetNumReadIntoRequests(stream4) > 0) {
return true;
}
const desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
if (desiredSize > 0) {
return true;
}
return false;
}
function ReadableByteStreamControllerClearAlgorithms(controller) {
controller._pullAlgorithm = undefined;
controller._cancelAlgorithm = undefined;
}
function ReadableByteStreamControllerClose(controller) {
const stream4 = controller._controlledReadableByteStream;
if (controller._closeRequested || stream4._state !== "readable") {
return;
}
if (controller._queueTotalSize > 0) {
controller._closeRequested = true;
return;
}
if (controller._pendingPullIntos.length > 0) {
const firstPendingPullInto = controller._pendingPullIntos.peek();
if (firstPendingPullInto.bytesFilled % firstPendingPullInto.elementSize !== 0) {
const e = new TypeError("Insufficient bytes to fill elements in the given buffer");
ReadableByteStreamControllerError(controller, e);
throw e;
}
}
ReadableByteStreamControllerClearAlgorithms(controller);
ReadableStreamClose(stream4);
}
function ReadableByteStreamControllerEnqueue(controller, chunk) {
const stream4 = controller._controlledReadableByteStream;
if (controller._closeRequested || stream4._state !== "readable") {
return;
}
const { buffer, byteOffset, byteLength } = chunk;
if (IsDetachedBuffer(buffer)) {
throw new TypeError("chunk's buffer is detached and so cannot be enqueued");
}
const transferredBuffer = TransferArrayBuffer(buffer);
if (controller._pendingPullIntos.length > 0) {
const firstPendingPullInto = controller._pendingPullIntos.peek();
if (IsDetachedBuffer(firstPendingPullInto.buffer)) {
throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");
}
ReadableByteStreamControllerInvalidateBYOBRequest(controller);
firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);
if (firstPendingPullInto.readerType === "none") {
ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue(controller, firstPendingPullInto);
}
}
if (ReadableStreamHasDefaultReader(stream4)) {
ReadableByteStreamControllerProcessReadRequestsUsingQueue(controller);
if (ReadableStreamGetNumReadRequests(stream4) === 0) {
ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
} else {
if (controller._pendingPullIntos.length > 0) {
ReadableByteStreamControllerShiftPendingPullInto(controller);
}
const transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
ReadableStreamFulfillReadRequest(stream4, transferredView, false);
}
} else if (ReadableStreamHasBYOBReader(stream4)) {
ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
} else {
ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
}
ReadableByteStreamControllerCallPullIfNeeded(controller);
}
function ReadableByteStreamControllerError(controller, e) {
const stream4 = controller._controlledReadableByteStream;
if (stream4._state !== "readable") {
return;
}
ReadableByteStreamControllerClearPendingPullIntos(controller);
ResetQueue(controller);
ReadableByteStreamControllerClearAlgorithms(controller);
ReadableStreamError(stream4, e);
}
function ReadableByteStreamControllerFillReadRequestFromQueue(controller, readRequest) {
const entry = controller._queue.shift();
controller._queueTotalSize -= entry.byteLength;
ReadableByteStreamControllerHandleQueueDrain(controller);
const view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
readRequest._chunkSteps(view);
}
function ReadableByteStreamControllerGetBYOBRequest(controller) {
if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {
const firstDescriptor = controller._pendingPullIntos.peek();
const view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
const byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
SetUpReadableStreamBYOBRequest(byobRequest, controller, view);
controller._byobRequest = byobRequest;
}
return controller._byobRequest;
}
function ReadableByteStreamControllerGetDesiredSize(controller) {
const state3 = controller._controlledReadableByteStream._state;
if (state3 === "errored") {
return null;
}
if (state3 === "closed") {
return 0;
}
return controller._strategyHWM - controller._queueTotalSize;
}
function ReadableByteStreamControllerRespond(controller, bytesWritten) {
const firstDescriptor = controller._pendingPullIntos.peek();
const state3 = controller._controlledReadableByteStream._state;
if (state3 === "closed") {
if (bytesWritten !== 0) {
throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");
}
} else {
if (bytesWritten === 0) {
throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");
}
if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {
throw new RangeError("bytesWritten out of range");
}
}
firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
}
function ReadableByteStreamControllerRespondWithNewView(controller, view) {
const firstDescriptor = controller._pendingPullIntos.peek();
const state3 = controller._controlledReadableByteStream._state;
if (state3 === "closed") {
if (view.byteLength !== 0) {
throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream");
}
} else {
if (view.byteLength === 0) {
throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");
}
}
if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
throw new RangeError("The region specified by view does not match byobRequest");
}
if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {
throw new RangeError("The buffer of view has different capacity than byobRequest");
}
if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {
throw new RangeError("The region specified by view is larger than byobRequest");
}
const viewByteLength = view.byteLength;
firstDescriptor.buffer = TransferArrayBuffer(view.buffer);
ReadableByteStreamControllerRespondInternal(controller, viewByteLength);
}
function SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
controller._controlledReadableByteStream = stream4;
controller._pullAgain = false;
controller._pulling = false;
controller._byobRequest = null;
controller._queue = controller._queueTotalSize = undefined;
ResetQueue(controller);
controller._closeRequested = false;
controller._started = false;
controller._strategyHWM = highWaterMark;
controller._pullAlgorithm = pullAlgorithm;
controller._cancelAlgorithm = cancelAlgorithm;
controller._autoAllocateChunkSize = autoAllocateChunkSize;
controller._pendingPullIntos = new SimpleQueue;
stream4._readableStreamController = controller;
const startResult = startAlgorithm();
uponPromise(promiseResolvedWith(startResult), () => {
controller._started = true;
ReadableByteStreamControllerCallPullIfNeeded(controller);
return null;
}, (r) => {
ReadableByteStreamControllerError(controller, r);
return null;
});
}
function SetUpReadableByteStreamControllerFromUnderlyingSource(stream4, underlyingByteSource, highWaterMark) {
const controller = Object.create(ReadableByteStreamController.prototype);
let startAlgorithm;
let pullAlgorithm;
let cancelAlgorithm;
if (underlyingByteSource.start !== undefined) {
startAlgorithm = () => underlyingByteSource.start(controller);
} else {
startAlgorithm = () => {
return;
};
}
if (underlyingByteSource.pull !== undefined) {
pullAlgorithm = () => underlyingByteSource.pull(controller);
} else {
pullAlgorithm = () => promiseResolvedWith(undefined);
}
if (underlyingByteSource.cancel !== undefined) {
cancelAlgorithm = (reason) => underlyingByteSource.cancel(reason);
} else {
cancelAlgorithm = () => promiseResolvedWith(undefined);
}
const autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
if (autoAllocateChunkSize === 0) {
throw new TypeError("autoAllocateChunkSize must be greater than 0");
}
SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
}
function SetUpReadableStreamBYOBRequest(request, controller, view) {
request._associatedReadableByteStreamController = controller;
request._view = view;
}
function byobRequestBrandCheckException(name3) {
return new TypeError(`ReadableStreamBYOBRequest.prototype.${name3} can only be used on a ReadableStreamBYOBRequest`);
}
function byteStreamControllerBrandCheckException(name3) {
return new TypeError(`ReadableByteStreamController.prototype.${name3} can only be used on a ReadableByteStreamController`);
}
function convertReaderOptions(options, context3) {
assertDictionary(options, context3);
const mode = options === null || options === undefined ? undefined : options.mode;
return {
mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, `${context3} has member 'mode' that`)
};
}
function convertReadableStreamReaderMode(mode, context3) {
mode = `${mode}`;
if (mode !== "byob") {
throw new TypeError(`${context3} '${mode}' is not a valid enumeration value for ReadableStreamReaderMode`);
}
return mode;
}
function convertByobReadOptions(options, context3) {
var _a4;
assertDictionary(options, context3);
const min = (_a4 = options === null || options === undefined ? undefined : options.min) !== null && _a4 !== undefined ? _a4 : 1;
return {
min: convertUnsignedLongLongWithEnforceRange(min, `${context3} has member 'min' that`)
};
}
function AcquireReadableStreamBYOBReader(stream4) {
return new ReadableStreamBYOBReader(stream4);
}
function ReadableStreamAddReadIntoRequest(stream4, readIntoRequest) {
stream4._reader._readIntoRequests.push(readIntoRequest);
}
function ReadableStreamFulfillReadIntoRequest(stream4, chunk, done) {
const reader = stream4._reader;
const readIntoRequest = reader._readIntoRequests.shift();
if (done) {
readIntoRequest._closeSteps(chunk);
} else {
readIntoRequest._chunkSteps(chunk);
}
}
function ReadableStreamGetNumReadIntoRequests(stream4) {
return stream4._reader._readIntoRequests.length;
}
function ReadableStreamHasBYOBReader(stream4) {
const reader = stream4._reader;
if (reader === undefined) {
return false;
}
if (!IsReadableStreamBYOBReader(reader)) {
return false;
}
return true;
}
class ReadableStreamBYOBReader {
constructor(stream4) {
assertRequiredArgument(stream4, 1, "ReadableStreamBYOBReader");
assertReadableStream(stream4, "First parameter");
if (IsReadableStreamLocked(stream4)) {
throw new TypeError("This stream has already been locked for exclusive reading by another reader");
}
if (!IsReadableByteStreamController(stream4._readableStreamController)) {
throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte " + "source");
}
ReadableStreamReaderGenericInitialize(this, stream4);
this._readIntoRequests = new SimpleQueue;
}
get closed() {
if (!IsReadableStreamBYOBReader(this)) {
return promiseRejectedWith(byobReaderBrandCheckException("closed"));
}
return this._closedPromise;
}
cancel(reason = undefined) {
if (!IsReadableStreamBYOBReader(this)) {
return promiseRejectedWith(byobReaderBrandCheckException("cancel"));
}
if (this._ownerReadableStream === undefined) {
return promiseRejectedWith(readerLockException("cancel"));
}
return ReadableStreamReaderGenericCancel(this, reason);
}
read(view, rawOptions = {}) {
if (!IsReadableStreamBYOBReader(this)) {
return promiseRejectedWith(byobReaderBrandCheckException("read"));
}
if (!ArrayBuffer.isView(view)) {
return promiseRejectedWith(new TypeError("view must be an array buffer view"));
}
if (view.byteLength === 0) {
return promiseRejectedWith(new TypeError("view must have non-zero byteLength"));
}
if (view.buffer.byteLength === 0) {
return promiseRejectedWith(new TypeError(`view's buffer must have non-zero byteLength`));
}
if (IsDetachedBuffer(view.buffer)) {
return promiseRejectedWith(new TypeError("view's buffer has been detached"));
}
let options;
try {
options = convertByobReadOptions(rawOptions, "options");
} catch (e) {
return promiseRejectedWith(e);
}
const min = options.min;
if (min === 0) {
return promiseRejectedWith(new TypeError("options.min must be greater than 0"));
}
if (!isDataView(view)) {
if (min > view.length) {
return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's length"));
}
} else if (min > view.byteLength) {
return promiseRejectedWith(new RangeError("options.min must be less than or equal to view's byteLength"));
}
if (this._ownerReadableStream === undefined) {
return promiseRejectedWith(readerLockException("read from"));
}
let resolvePromise;
let rejectPromise;
const promise2 = newPromise((resolve9, reject) => {
resolvePromise = resolve9;
rejectPromise = reject;
});
const readIntoRequest = {
_chunkSteps: (chunk) => resolvePromise({ value: chunk, done: false }),
_closeSteps: (chunk) => resolvePromise({ value: chunk, done: true }),
_errorSteps: (e) => rejectPromise(e)
};
ReadableStreamBYOBReaderRead(this, view, min, readIntoRequest);
return promise2;
}
releaseLock() {
if (!IsReadableStreamBYOBReader(this)) {
throw byobReaderBrandCheckException("releaseLock");
}
if (this._ownerReadableStream === undefined) {
return;
}
ReadableStreamBYOBReaderRelease(this);
}
}
Object.defineProperties(ReadableStreamBYOBReader.prototype, {
cancel: { enumerable: true },
read: { enumerable: true },
releaseLock: { enumerable: true },
closed: { enumerable: true }
});
setFunctionName(ReadableStreamBYOBReader.prototype.cancel, "cancel");
setFunctionName(ReadableStreamBYOBReader.prototype.read, "read");
setFunctionName(ReadableStreamBYOBReader.prototype.releaseLock, "releaseLock");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableStreamBYOBReader.prototype, Symbol.toStringTag, {
value: "ReadableStreamBYOBReader",
configurable: true
});
}
function IsReadableStreamBYOBReader(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_readIntoRequests")) {
return false;
}
return x3 instanceof ReadableStreamBYOBReader;
}
function ReadableStreamBYOBReaderRead(reader, view, min, readIntoRequest) {
const stream4 = reader._ownerReadableStream;
stream4._disturbed = true;
if (stream4._state === "errored") {
readIntoRequest._errorSteps(stream4._storedError);
} else {
ReadableByteStreamControllerPullInto(stream4._readableStreamController, view, min, readIntoRequest);
}
}
function ReadableStreamBYOBReaderRelease(reader) {
ReadableStreamReaderGenericRelease(reader);
const e = new TypeError("Reader was released");
ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e);
}
function ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e) {
const readIntoRequests = reader._readIntoRequests;
reader._readIntoRequests = new SimpleQueue;
readIntoRequests.forEach((readIntoRequest) => {
readIntoRequest._errorSteps(e);
});
}
function byobReaderBrandCheckException(name3) {
return new TypeError(`ReadableStreamBYOBReader.prototype.${name3} can only be used on a ReadableStreamBYOBReader`);
}
function ExtractHighWaterMark(strategy, defaultHWM) {
const { highWaterMark } = strategy;
if (highWaterMark === undefined) {
return defaultHWM;
}
if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
throw new RangeError("Invalid highWaterMark");
}
return highWaterMark;
}
function ExtractSizeAlgorithm(strategy) {
const { size } = strategy;
if (!size) {
return () => 1;
}
return size;
}
function convertQueuingStrategy(init, context3) {
assertDictionary(init, context3);
const highWaterMark = init === null || init === undefined ? undefined : init.highWaterMark;
const size = init === null || init === undefined ? undefined : init.size;
return {
highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),
size: size === undefined ? undefined : convertQueuingStrategySize(size, `${context3} has member 'size' that`)
};
}
function convertQueuingStrategySize(fn, context3) {
assertFunction(fn, context3);
return (chunk) => convertUnrestrictedDouble(fn(chunk));
}
function convertUnderlyingSink(original, context3) {
assertDictionary(original, context3);
const abort = original === null || original === undefined ? undefined : original.abort;
const close = original === null || original === undefined ? undefined : original.close;
const start = original === null || original === undefined ? undefined : original.start;
const type = original === null || original === undefined ? undefined : original.type;
const write = original === null || original === undefined ? undefined : original.write;
return {
abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, `${context3} has member 'abort' that`),
close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, `${context3} has member 'close' that`),
start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, `${context3} has member 'start' that`),
write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, `${context3} has member 'write' that`),
type
};
}
function convertUnderlyingSinkAbortCallback(fn, original, context3) {
assertFunction(fn, context3);
return (reason) => promiseCall(fn, original, [reason]);
}
function convertUnderlyingSinkCloseCallback(fn, original, context3) {
assertFunction(fn, context3);
return () => promiseCall(fn, original, []);
}
function convertUnderlyingSinkStartCallback(fn, original, context3) {
assertFunction(fn, context3);
return (controller) => reflectCall(fn, original, [controller]);
}
function convertUnderlyingSinkWriteCallback(fn, original, context3) {
assertFunction(fn, context3);
return (chunk, controller) => promiseCall(fn, original, [chunk, controller]);
}
function assertWritableStream(x3, context3) {
if (!IsWritableStream(x3)) {
throw new TypeError(`${context3} is not a WritableStream.`);
}
}
function isAbortSignal(value) {
if (typeof value !== "object" || value === null) {
return false;
}
try {
return typeof value.aborted === "boolean";
} catch (_a4) {
return false;
}
}
const supportsAbortController = typeof AbortController === "function";
function createAbortController() {
if (supportsAbortController) {
return new AbortController;
}
return;
}
class WritableStream2 {
constructor(rawUnderlyingSink = {}, rawStrategy = {}) {
if (rawUnderlyingSink === undefined) {
rawUnderlyingSink = null;
} else {
assertObject(rawUnderlyingSink, "First parameter");
}
const strategy = convertQueuingStrategy(rawStrategy, "Second parameter");
const underlyingSink = convertUnderlyingSink(rawUnderlyingSink, "First parameter");
InitializeWritableStream(this);
const type = underlyingSink.type;
if (type !== undefined) {
throw new RangeError("Invalid type is specified");
}
const sizeAlgorithm = ExtractSizeAlgorithm(strategy);
const highWaterMark = ExtractHighWaterMark(strategy, 1);
SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
}
get locked() {
if (!IsWritableStream(this)) {
throw streamBrandCheckException$2("locked");
}
return IsWritableStreamLocked(this);
}
abort(reason = undefined) {
if (!IsWritableStream(this)) {
return promiseRejectedWith(streamBrandCheckException$2("abort"));
}
if (IsWritableStreamLocked(this)) {
return promiseRejectedWith(new TypeError("Cannot abort a stream that already has a writer"));
}
return WritableStreamAbort(this, reason);
}
close() {
if (!IsWritableStream(this)) {
return promiseRejectedWith(streamBrandCheckException$2("close"));
}
if (IsWritableStreamLocked(this)) {
return promiseRejectedWith(new TypeError("Cannot close a stream that already has a writer"));
}
if (WritableStreamCloseQueuedOrInFlight(this)) {
return promiseRejectedWith(new TypeError("Cannot close an already-closing stream"));
}
return WritableStreamClose(this);
}
getWriter() {
if (!IsWritableStream(this)) {
throw streamBrandCheckException$2("getWriter");
}
return AcquireWritableStreamDefaultWriter(this);
}
}
Object.defineProperties(WritableStream2.prototype, {
abort: { enumerable: true },
close: { enumerable: true },
getWriter: { enumerable: true },
locked: { enumerable: true }
});
setFunctionName(WritableStream2.prototype.abort, "abort");
setFunctionName(WritableStream2.prototype.close, "close");
setFunctionName(WritableStream2.prototype.getWriter, "getWriter");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(WritableStream2.prototype, Symbol.toStringTag, {
value: "WritableStream",
configurable: true
});
}
function AcquireWritableStreamDefaultWriter(stream4) {
return new WritableStreamDefaultWriter(stream4);
}
function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) {
const stream4 = Object.create(WritableStream2.prototype);
InitializeWritableStream(stream4);
const controller = Object.create(WritableStreamDefaultController.prototype);
SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
return stream4;
}
function InitializeWritableStream(stream4) {
stream4._state = "writable";
stream4._storedError = undefined;
stream4._writer = undefined;
stream4._writableStreamController = undefined;
stream4._writeRequests = new SimpleQueue;
stream4._inFlightWriteRequest = undefined;
stream4._closeRequest = undefined;
stream4._inFlightCloseRequest = undefined;
stream4._pendingAbortRequest = undefined;
stream4._backpressure = false;
}
function IsWritableStream(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_writableStreamController")) {
return false;
}
return x3 instanceof WritableStream2;
}
function IsWritableStreamLocked(stream4) {
if (stream4._writer === undefined) {
return false;
}
return true;
}
function WritableStreamAbort(stream4, reason) {
var _a4;
if (stream4._state === "closed" || stream4._state === "errored") {
return promiseResolvedWith(undefined);
}
stream4._writableStreamController._abortReason = reason;
(_a4 = stream4._writableStreamController._abortController) === null || _a4 === undefined || _a4.abort(reason);
const state3 = stream4._state;
if (state3 === "closed" || state3 === "errored") {
return promiseResolvedWith(undefined);
}
if (stream4._pendingAbortRequest !== undefined) {
return stream4._pendingAbortRequest._promise;
}
let wasAlreadyErroring = false;
if (state3 === "erroring") {
wasAlreadyErroring = true;
reason = undefined;
}
const promise2 = newPromise((resolve9, reject) => {
stream4._pendingAbortRequest = {
_promise: undefined,
_resolve: resolve9,
_reject: reject,
_reason: reason,
_wasAlreadyErroring: wasAlreadyErroring
};
});
stream4._pendingAbortRequest._promise = promise2;
if (!wasAlreadyErroring) {
WritableStreamStartErroring(stream4, reason);
}
return promise2;
}
function WritableStreamClose(stream4) {
const state3 = stream4._state;
if (state3 === "closed" || state3 === "errored") {
return promiseRejectedWith(new TypeError(`The stream (in ${state3} state) is not in the writable state and cannot be closed`));
}
const promise2 = newPromise((resolve9, reject) => {
const closeRequest = {
_resolve: resolve9,
_reject: reject
};
stream4._closeRequest = closeRequest;
});
const writer = stream4._writer;
if (writer !== undefined && stream4._backpressure && state3 === "writable") {
defaultWriterReadyPromiseResolve(writer);
}
WritableStreamDefaultControllerClose(stream4._writableStreamController);
return promise2;
}
function WritableStreamAddWriteRequest(stream4) {
const promise2 = newPromise((resolve9, reject) => {
const writeRequest = {
_resolve: resolve9,
_reject: reject
};
stream4._writeRequests.push(writeRequest);
});
return promise2;
}
function WritableStreamDealWithRejection(stream4, error51) {
const state3 = stream4._state;
if (state3 === "writable") {
WritableStreamStartErroring(stream4, error51);
return;
}
WritableStreamFinishErroring(stream4);
}
function WritableStreamStartErroring(stream4, reason) {
const controller = stream4._writableStreamController;
stream4._state = "erroring";
stream4._storedError = reason;
const writer = stream4._writer;
if (writer !== undefined) {
WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
}
if (!WritableStreamHasOperationMarkedInFlight(stream4) && controller._started) {
WritableStreamFinishErroring(stream4);
}
}
function WritableStreamFinishErroring(stream4) {
stream4._state = "errored";
stream4._writableStreamController[ErrorSteps]();
const storedError = stream4._storedError;
stream4._writeRequests.forEach((writeRequest) => {
writeRequest._reject(storedError);
});
stream4._writeRequests = new SimpleQueue;
if (stream4._pendingAbortRequest === undefined) {
WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4);
return;
}
const abortRequest = stream4._pendingAbortRequest;
stream4._pendingAbortRequest = undefined;
if (abortRequest._wasAlreadyErroring) {
abortRequest._reject(storedError);
WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4);
return;
}
const promise2 = stream4._writableStreamController[AbortSteps](abortRequest._reason);
uponPromise(promise2, () => {
abortRequest._resolve();
WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4);
return null;
}, (reason) => {
abortRequest._reject(reason);
WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4);
return null;
});
}
function WritableStreamFinishInFlightWrite(stream4) {
stream4._inFlightWriteRequest._resolve(undefined);
stream4._inFlightWriteRequest = undefined;
}
function WritableStreamFinishInFlightWriteWithError(stream4, error51) {
stream4._inFlightWriteRequest._reject(error51);
stream4._inFlightWriteRequest = undefined;
WritableStreamDealWithRejection(stream4, error51);
}
function WritableStreamFinishInFlightClose(stream4) {
stream4._inFlightCloseRequest._resolve(undefined);
stream4._inFlightCloseRequest = undefined;
const state3 = stream4._state;
if (state3 === "erroring") {
stream4._storedError = undefined;
if (stream4._pendingAbortRequest !== undefined) {
stream4._pendingAbortRequest._resolve();
stream4._pendingAbortRequest = undefined;
}
}
stream4._state = "closed";
const writer = stream4._writer;
if (writer !== undefined) {
defaultWriterClosedPromiseResolve(writer);
}
}
function WritableStreamFinishInFlightCloseWithError(stream4, error51) {
stream4._inFlightCloseRequest._reject(error51);
stream4._inFlightCloseRequest = undefined;
if (stream4._pendingAbortRequest !== undefined) {
stream4._pendingAbortRequest._reject(error51);
stream4._pendingAbortRequest = undefined;
}
WritableStreamDealWithRejection(stream4, error51);
}
function WritableStreamCloseQueuedOrInFlight(stream4) {
if (stream4._closeRequest === undefined && stream4._inFlightCloseRequest === undefined) {
return false;
}
return true;
}
function WritableStreamHasOperationMarkedInFlight(stream4) {
if (stream4._inFlightWriteRequest === undefined && stream4._inFlightCloseRequest === undefined) {
return false;
}
return true;
}
function WritableStreamMarkCloseRequestInFlight(stream4) {
stream4._inFlightCloseRequest = stream4._closeRequest;
stream4._closeRequest = undefined;
}
function WritableStreamMarkFirstWriteRequestInFlight(stream4) {
stream4._inFlightWriteRequest = stream4._writeRequests.shift();
}
function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream4) {
if (stream4._closeRequest !== undefined) {
stream4._closeRequest._reject(stream4._storedError);
stream4._closeRequest = undefined;
}
const writer = stream4._writer;
if (writer !== undefined) {
defaultWriterClosedPromiseReject(writer, stream4._storedError);
}
}
function WritableStreamUpdateBackpressure(stream4, backpressure) {
const writer = stream4._writer;
if (writer !== undefined && backpressure !== stream4._backpressure) {
if (backpressure) {
defaultWriterReadyPromiseReset(writer);
} else {
defaultWriterReadyPromiseResolve(writer);
}
}
stream4._backpressure = backpressure;
}
class WritableStreamDefaultWriter {
constructor(stream4) {
assertRequiredArgument(stream4, 1, "WritableStreamDefaultWriter");
assertWritableStream(stream4, "First parameter");
if (IsWritableStreamLocked(stream4)) {
throw new TypeError("This stream has already been locked for exclusive writing by another writer");
}
this._ownerWritableStream = stream4;
stream4._writer = this;
const state3 = stream4._state;
if (state3 === "writable") {
if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._backpressure) {
defaultWriterReadyPromiseInitialize(this);
} else {
defaultWriterReadyPromiseInitializeAsResolved(this);
}
defaultWriterClosedPromiseInitialize(this);
} else if (state3 === "erroring") {
defaultWriterReadyPromiseInitializeAsRejected(this, stream4._storedError);
defaultWriterClosedPromiseInitialize(this);
} else if (state3 === "closed") {
defaultWriterReadyPromiseInitializeAsResolved(this);
defaultWriterClosedPromiseInitializeAsResolved(this);
} else {
const storedError = stream4._storedError;
defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
}
}
get closed() {
if (!IsWritableStreamDefaultWriter(this)) {
return promiseRejectedWith(defaultWriterBrandCheckException("closed"));
}
return this._closedPromise;
}
get desiredSize() {
if (!IsWritableStreamDefaultWriter(this)) {
throw defaultWriterBrandCheckException("desiredSize");
}
if (this._ownerWritableStream === undefined) {
throw defaultWriterLockException("desiredSize");
}
return WritableStreamDefaultWriterGetDesiredSize(this);
}
get ready() {
if (!IsWritableStreamDefaultWriter(this)) {
return promiseRejectedWith(defaultWriterBrandCheckException("ready"));
}
return this._readyPromise;
}
abort(reason = undefined) {
if (!IsWritableStreamDefaultWriter(this)) {
return promiseRejectedWith(defaultWriterBrandCheckException("abort"));
}
if (this._ownerWritableStream === undefined) {
return promiseRejectedWith(defaultWriterLockException("abort"));
}
return WritableStreamDefaultWriterAbort(this, reason);
}
close() {
if (!IsWritableStreamDefaultWriter(this)) {
return promiseRejectedWith(defaultWriterBrandCheckException("close"));
}
const stream4 = this._ownerWritableStream;
if (stream4 === undefined) {
return promiseRejectedWith(defaultWriterLockException("close"));
}
if (WritableStreamCloseQueuedOrInFlight(stream4)) {
return promiseRejectedWith(new TypeError("Cannot close an already-closing stream"));
}
return WritableStreamDefaultWriterClose(this);
}
releaseLock() {
if (!IsWritableStreamDefaultWriter(this)) {
throw defaultWriterBrandCheckException("releaseLock");
}
const stream4 = this._ownerWritableStream;
if (stream4 === undefined) {
return;
}
WritableStreamDefaultWriterRelease(this);
}
write(chunk = undefined) {
if (!IsWritableStreamDefaultWriter(this)) {
return promiseRejectedWith(defaultWriterBrandCheckException("write"));
}
if (this._ownerWritableStream === undefined) {
return promiseRejectedWith(defaultWriterLockException("write to"));
}
return WritableStreamDefaultWriterWrite(this, chunk);
}
}
Object.defineProperties(WritableStreamDefaultWriter.prototype, {
abort: { enumerable: true },
close: { enumerable: true },
releaseLock: { enumerable: true },
write: { enumerable: true },
closed: { enumerable: true },
desiredSize: { enumerable: true },
ready: { enumerable: true }
});
setFunctionName(WritableStreamDefaultWriter.prototype.abort, "abort");
setFunctionName(WritableStreamDefaultWriter.prototype.close, "close");
setFunctionName(WritableStreamDefaultWriter.prototype.releaseLock, "releaseLock");
setFunctionName(WritableStreamDefaultWriter.prototype.write, "write");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(WritableStreamDefaultWriter.prototype, Symbol.toStringTag, {
value: "WritableStreamDefaultWriter",
configurable: true
});
}
function IsWritableStreamDefaultWriter(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_ownerWritableStream")) {
return false;
}
return x3 instanceof WritableStreamDefaultWriter;
}
function WritableStreamDefaultWriterAbort(writer, reason) {
const stream4 = writer._ownerWritableStream;
return WritableStreamAbort(stream4, reason);
}
function WritableStreamDefaultWriterClose(writer) {
const stream4 = writer._ownerWritableStream;
return WritableStreamClose(stream4);
}
function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
const stream4 = writer._ownerWritableStream;
const state3 = stream4._state;
if (WritableStreamCloseQueuedOrInFlight(stream4) || state3 === "closed") {
return promiseResolvedWith(undefined);
}
if (state3 === "errored") {
return promiseRejectedWith(stream4._storedError);
}
return WritableStreamDefaultWriterClose(writer);
}
function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error51) {
if (writer._closedPromiseState === "pending") {
defaultWriterClosedPromiseReject(writer, error51);
} else {
defaultWriterClosedPromiseResetToRejected(writer, error51);
}
}
function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error51) {
if (writer._readyPromiseState === "pending") {
defaultWriterReadyPromiseReject(writer, error51);
} else {
defaultWriterReadyPromiseResetToRejected(writer, error51);
}
}
function WritableStreamDefaultWriterGetDesiredSize(writer) {
const stream4 = writer._ownerWritableStream;
const state3 = stream4._state;
if (state3 === "errored" || state3 === "erroring") {
return null;
}
if (state3 === "closed") {
return 0;
}
return WritableStreamDefaultControllerGetDesiredSize(stream4._writableStreamController);
}
function WritableStreamDefaultWriterRelease(writer) {
const stream4 = writer._ownerWritableStream;
const releasedError = new TypeError(`Writer was released and can no longer be used to monitor the stream's closedness`);
WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
stream4._writer = undefined;
writer._ownerWritableStream = undefined;
}
function WritableStreamDefaultWriterWrite(writer, chunk) {
const stream4 = writer._ownerWritableStream;
const controller = stream4._writableStreamController;
const chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
if (stream4 !== writer._ownerWritableStream) {
return promiseRejectedWith(defaultWriterLockException("write to"));
}
const state3 = stream4._state;
if (state3 === "errored") {
return promiseRejectedWith(stream4._storedError);
}
if (WritableStreamCloseQueuedOrInFlight(stream4) || state3 === "closed") {
return promiseRejectedWith(new TypeError("The stream is closing or closed and cannot be written to"));
}
if (state3 === "erroring") {
return promiseRejectedWith(stream4._storedError);
}
const promise2 = WritableStreamAddWriteRequest(stream4);
WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
return promise2;
}
const closeSentinel = {};
class WritableStreamDefaultController {
constructor() {
throw new TypeError("Illegal constructor");
}
get abortReason() {
if (!IsWritableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$2("abortReason");
}
return this._abortReason;
}
get signal() {
if (!IsWritableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$2("signal");
}
if (this._abortController === undefined) {
throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");
}
return this._abortController.signal;
}
error(e = undefined) {
if (!IsWritableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$2("error");
}
const state3 = this._controlledWritableStream._state;
if (state3 !== "writable") {
return;
}
WritableStreamDefaultControllerError(this, e);
}
[AbortSteps](reason) {
const result = this._abortAlgorithm(reason);
WritableStreamDefaultControllerClearAlgorithms(this);
return result;
}
[ErrorSteps]() {
ResetQueue(this);
}
}
Object.defineProperties(WritableStreamDefaultController.prototype, {
abortReason: { enumerable: true },
signal: { enumerable: true },
error: { enumerable: true }
});
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(WritableStreamDefaultController.prototype, Symbol.toStringTag, {
value: "WritableStreamDefaultController",
configurable: true
});
}
function IsWritableStreamDefaultController(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_controlledWritableStream")) {
return false;
}
return x3 instanceof WritableStreamDefaultController;
}
function SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
controller._controlledWritableStream = stream4;
stream4._writableStreamController = controller;
controller._queue = undefined;
controller._queueTotalSize = undefined;
ResetQueue(controller);
controller._abortReason = undefined;
controller._abortController = createAbortController();
controller._started = false;
controller._strategySizeAlgorithm = sizeAlgorithm;
controller._strategyHWM = highWaterMark;
controller._writeAlgorithm = writeAlgorithm;
controller._closeAlgorithm = closeAlgorithm;
controller._abortAlgorithm = abortAlgorithm;
const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
WritableStreamUpdateBackpressure(stream4, backpressure);
const startResult = startAlgorithm();
const startPromise = promiseResolvedWith(startResult);
uponPromise(startPromise, () => {
controller._started = true;
WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
return null;
}, (r) => {
controller._started = true;
WritableStreamDealWithRejection(stream4, r);
return null;
});
}
function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream4, underlyingSink, highWaterMark, sizeAlgorithm) {
const controller = Object.create(WritableStreamDefaultController.prototype);
let startAlgorithm;
let writeAlgorithm;
let closeAlgorithm;
let abortAlgorithm;
if (underlyingSink.start !== undefined) {
startAlgorithm = () => underlyingSink.start(controller);
} else {
startAlgorithm = () => {
return;
};
}
if (underlyingSink.write !== undefined) {
writeAlgorithm = (chunk) => underlyingSink.write(chunk, controller);
} else {
writeAlgorithm = () => promiseResolvedWith(undefined);
}
if (underlyingSink.close !== undefined) {
closeAlgorithm = () => underlyingSink.close();
} else {
closeAlgorithm = () => promiseResolvedWith(undefined);
}
if (underlyingSink.abort !== undefined) {
abortAlgorithm = (reason) => underlyingSink.abort(reason);
} else {
abortAlgorithm = () => promiseResolvedWith(undefined);
}
SetUpWritableStreamDefaultController(stream4, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
}
function WritableStreamDefaultControllerClearAlgorithms(controller) {
controller._writeAlgorithm = undefined;
controller._closeAlgorithm = undefined;
controller._abortAlgorithm = undefined;
controller._strategySizeAlgorithm = undefined;
}
function WritableStreamDefaultControllerClose(controller) {
EnqueueValueWithSize(controller, closeSentinel, 0);
WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
}
function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
try {
return controller._strategySizeAlgorithm(chunk);
} catch (chunkSizeE) {
WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
return 1;
}
}
function WritableStreamDefaultControllerGetDesiredSize(controller) {
return controller._strategyHWM - controller._queueTotalSize;
}
function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
try {
EnqueueValueWithSize(controller, chunk, chunkSize);
} catch (enqueueE) {
WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
return;
}
const stream4 = controller._controlledWritableStream;
if (!WritableStreamCloseQueuedOrInFlight(stream4) && stream4._state === "writable") {
const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
WritableStreamUpdateBackpressure(stream4, backpressure);
}
WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
}
function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
const stream4 = controller._controlledWritableStream;
if (!controller._started) {
return;
}
if (stream4._inFlightWriteRequest !== undefined) {
return;
}
const state3 = stream4._state;
if (state3 === "erroring") {
WritableStreamFinishErroring(stream4);
return;
}
if (controller._queue.length === 0) {
return;
}
const value = PeekQueueValue(controller);
if (value === closeSentinel) {
WritableStreamDefaultControllerProcessClose(controller);
} else {
WritableStreamDefaultControllerProcessWrite(controller, value);
}
}
function WritableStreamDefaultControllerErrorIfNeeded(controller, error51) {
if (controller._controlledWritableStream._state === "writable") {
WritableStreamDefaultControllerError(controller, error51);
}
}
function WritableStreamDefaultControllerProcessClose(controller) {
const stream4 = controller._controlledWritableStream;
WritableStreamMarkCloseRequestInFlight(stream4);
DequeueValue(controller);
const sinkClosePromise = controller._closeAlgorithm();
WritableStreamDefaultControllerClearAlgorithms(controller);
uponPromise(sinkClosePromise, () => {
WritableStreamFinishInFlightClose(stream4);
return null;
}, (reason) => {
WritableStreamFinishInFlightCloseWithError(stream4, reason);
return null;
});
}
function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
const stream4 = controller._controlledWritableStream;
WritableStreamMarkFirstWriteRequestInFlight(stream4);
const sinkWritePromise = controller._writeAlgorithm(chunk);
uponPromise(sinkWritePromise, () => {
WritableStreamFinishInFlightWrite(stream4);
const state3 = stream4._state;
DequeueValue(controller);
if (!WritableStreamCloseQueuedOrInFlight(stream4) && state3 === "writable") {
const backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
WritableStreamUpdateBackpressure(stream4, backpressure);
}
WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
return null;
}, (reason) => {
if (stream4._state === "writable") {
WritableStreamDefaultControllerClearAlgorithms(controller);
}
WritableStreamFinishInFlightWriteWithError(stream4, reason);
return null;
});
}
function WritableStreamDefaultControllerGetBackpressure(controller) {
const desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
return desiredSize <= 0;
}
function WritableStreamDefaultControllerError(controller, error51) {
const stream4 = controller._controlledWritableStream;
WritableStreamDefaultControllerClearAlgorithms(controller);
WritableStreamStartErroring(stream4, error51);
}
function streamBrandCheckException$2(name3) {
return new TypeError(`WritableStream.prototype.${name3} can only be used on a WritableStream`);
}
function defaultControllerBrandCheckException$2(name3) {
return new TypeError(`WritableStreamDefaultController.prototype.${name3} can only be used on a WritableStreamDefaultController`);
}
function defaultWriterBrandCheckException(name3) {
return new TypeError(`WritableStreamDefaultWriter.prototype.${name3} can only be used on a WritableStreamDefaultWriter`);
}
function defaultWriterLockException(name3) {
return new TypeError("Cannot " + name3 + " a stream using a released writer");
}
function defaultWriterClosedPromiseInitialize(writer) {
writer._closedPromise = newPromise((resolve9, reject) => {
writer._closedPromise_resolve = resolve9;
writer._closedPromise_reject = reject;
writer._closedPromiseState = "pending";
});
}
function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
defaultWriterClosedPromiseInitialize(writer);
defaultWriterClosedPromiseReject(writer, reason);
}
function defaultWriterClosedPromiseInitializeAsResolved(writer) {
defaultWriterClosedPromiseInitialize(writer);
defaultWriterClosedPromiseResolve(writer);
}
function defaultWriterClosedPromiseReject(writer, reason) {
if (writer._closedPromise_reject === undefined) {
return;
}
setPromiseIsHandledToTrue(writer._closedPromise);
writer._closedPromise_reject(reason);
writer._closedPromise_resolve = undefined;
writer._closedPromise_reject = undefined;
writer._closedPromiseState = "rejected";
}
function defaultWriterClosedPromiseResetToRejected(writer, reason) {
defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
}
function defaultWriterClosedPromiseResolve(writer) {
if (writer._closedPromise_resolve === undefined) {
return;
}
writer._closedPromise_resolve(undefined);
writer._closedPromise_resolve = undefined;
writer._closedPromise_reject = undefined;
writer._closedPromiseState = "resolved";
}
function defaultWriterReadyPromiseInitialize(writer) {
writer._readyPromise = newPromise((resolve9, reject) => {
writer._readyPromise_resolve = resolve9;
writer._readyPromise_reject = reject;
});
writer._readyPromiseState = "pending";
}
function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
defaultWriterReadyPromiseInitialize(writer);
defaultWriterReadyPromiseReject(writer, reason);
}
function defaultWriterReadyPromiseInitializeAsResolved(writer) {
defaultWriterReadyPromiseInitialize(writer);
defaultWriterReadyPromiseResolve(writer);
}
function defaultWriterReadyPromiseReject(writer, reason) {
if (writer._readyPromise_reject === undefined) {
return;
}
setPromiseIsHandledToTrue(writer._readyPromise);
writer._readyPromise_reject(reason);
writer._readyPromise_resolve = undefined;
writer._readyPromise_reject = undefined;
writer._readyPromiseState = "rejected";
}
function defaultWriterReadyPromiseReset(writer) {
defaultWriterReadyPromiseInitialize(writer);
}
function defaultWriterReadyPromiseResetToRejected(writer, reason) {
defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
}
function defaultWriterReadyPromiseResolve(writer) {
if (writer._readyPromise_resolve === undefined) {
return;
}
writer._readyPromise_resolve(undefined);
writer._readyPromise_resolve = undefined;
writer._readyPromise_reject = undefined;
writer._readyPromiseState = "fulfilled";
}
function getGlobals() {
if (typeof globalThis !== "undefined") {
return globalThis;
} else if (typeof self !== "undefined") {
return self;
} else if (typeof global !== "undefined") {
return global;
}
return;
}
const globals = getGlobals();
function isDOMExceptionConstructor(ctor) {
if (!(typeof ctor === "function" || typeof ctor === "object")) {
return false;
}
if (ctor.name !== "DOMException") {
return false;
}
try {
new ctor;
return true;
} catch (_a4) {
return false;
}
}
function getFromGlobal() {
const ctor = globals === null || globals === undefined ? undefined : globals.DOMException;
return isDOMExceptionConstructor(ctor) ? ctor : undefined;
}
function createPolyfill() {
const ctor = function DOMException3(message, name3) {
this.message = message || "";
this.name = name3 || "Error";
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
};
setFunctionName(ctor, "DOMException");
ctor.prototype = Object.create(Error.prototype);
Object.defineProperty(ctor.prototype, "constructor", { value: ctor, writable: true, configurable: true });
return ctor;
}
const DOMException2 = getFromGlobal() || createPolyfill();
function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
const reader = AcquireReadableStreamDefaultReader(source);
const writer = AcquireWritableStreamDefaultWriter(dest);
source._disturbed = true;
let shuttingDown = false;
let currentWrite = promiseResolvedWith(undefined);
return newPromise((resolve9, reject) => {
let abortAlgorithm;
if (signal !== undefined) {
abortAlgorithm = () => {
const error51 = signal.reason !== undefined ? signal.reason : new DOMException2("Aborted", "AbortError");
const actions = [];
if (!preventAbort) {
actions.push(() => {
if (dest._state === "writable") {
return WritableStreamAbort(dest, error51);
}
return promiseResolvedWith(undefined);
});
}
if (!preventCancel) {
actions.push(() => {
if (source._state === "readable") {
return ReadableStreamCancel(source, error51);
}
return promiseResolvedWith(undefined);
});
}
shutdownWithAction(() => Promise.all(actions.map((action) => action())), true, error51);
};
if (signal.aborted) {
abortAlgorithm();
return;
}
signal.addEventListener("abort", abortAlgorithm);
}
function pipeLoop() {
return newPromise((resolveLoop, rejectLoop) => {
function next(done) {
if (done) {
resolveLoop();
} else {
PerformPromiseThen(pipeStep(), next, rejectLoop);
}
}
next(false);
});
}
function pipeStep() {
if (shuttingDown) {
return promiseResolvedWith(true);
}
return PerformPromiseThen(writer._readyPromise, () => {
return newPromise((resolveRead, rejectRead) => {
ReadableStreamDefaultReaderRead(reader, {
_chunkSteps: (chunk) => {
currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop8);
resolveRead(false);
},
_closeSteps: () => resolveRead(true),
_errorSteps: rejectRead
});
});
});
}
isOrBecomesErrored(source, reader._closedPromise, (storedError) => {
if (!preventAbort) {
shutdownWithAction(() => WritableStreamAbort(dest, storedError), true, storedError);
} else {
shutdown(true, storedError);
}
return null;
});
isOrBecomesErrored(dest, writer._closedPromise, (storedError) => {
if (!preventCancel) {
shutdownWithAction(() => ReadableStreamCancel(source, storedError), true, storedError);
} else {
shutdown(true, storedError);
}
return null;
});
isOrBecomesClosed(source, reader._closedPromise, () => {
if (!preventClose) {
shutdownWithAction(() => WritableStreamDefaultWriterCloseWithErrorPropagation(writer));
} else {
shutdown();
}
return null;
});
if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === "closed") {
const destClosed = new TypeError("the destination writable stream closed before all data could be piped to it");
if (!preventCancel) {
shutdownWithAction(() => ReadableStreamCancel(source, destClosed), true, destClosed);
} else {
shutdown(true, destClosed);
}
}
setPromiseIsHandledToTrue(pipeLoop());
function waitForWritesToFinish() {
const oldCurrentWrite = currentWrite;
return PerformPromiseThen(currentWrite, () => oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined);
}
function isOrBecomesErrored(stream4, promise2, action) {
if (stream4._state === "errored") {
action(stream4._storedError);
} else {
uponRejection(promise2, action);
}
}
function isOrBecomesClosed(stream4, promise2, action) {
if (stream4._state === "closed") {
action();
} else {
uponFulfillment(promise2, action);
}
}
function shutdownWithAction(action, originalIsError, originalError) {
if (shuttingDown) {
return;
}
shuttingDown = true;
if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) {
uponFulfillment(waitForWritesToFinish(), doTheRest);
} else {
doTheRest();
}
function doTheRest() {
uponPromise(action(), () => finalize2(originalIsError, originalError), (newError) => finalize2(true, newError));
return null;
}
}
function shutdown(isError3, error51) {
if (shuttingDown) {
return;
}
shuttingDown = true;
if (dest._state === "writable" && !WritableStreamCloseQueuedOrInFlight(dest)) {
uponFulfillment(waitForWritesToFinish(), () => finalize2(isError3, error51));
} else {
finalize2(isError3, error51);
}
}
function finalize2(isError3, error51) {
WritableStreamDefaultWriterRelease(writer);
ReadableStreamReaderGenericRelease(reader);
if (signal !== undefined) {
signal.removeEventListener("abort", abortAlgorithm);
}
if (isError3) {
reject(error51);
} else {
resolve9(undefined);
}
return null;
}
});
}
class ReadableStreamDefaultController {
constructor() {
throw new TypeError("Illegal constructor");
}
get desiredSize() {
if (!IsReadableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$1("desiredSize");
}
return ReadableStreamDefaultControllerGetDesiredSize(this);
}
close() {
if (!IsReadableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$1("close");
}
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
throw new TypeError("The stream is not in a state that permits close");
}
ReadableStreamDefaultControllerClose(this);
}
enqueue(chunk = undefined) {
if (!IsReadableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$1("enqueue");
}
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
throw new TypeError("The stream is not in a state that permits enqueue");
}
return ReadableStreamDefaultControllerEnqueue(this, chunk);
}
error(e = undefined) {
if (!IsReadableStreamDefaultController(this)) {
throw defaultControllerBrandCheckException$1("error");
}
ReadableStreamDefaultControllerError(this, e);
}
[CancelSteps](reason) {
ResetQueue(this);
const result = this._cancelAlgorithm(reason);
ReadableStreamDefaultControllerClearAlgorithms(this);
return result;
}
[PullSteps](readRequest) {
const stream4 = this._controlledReadableStream;
if (this._queue.length > 0) {
const chunk = DequeueValue(this);
if (this._closeRequested && this._queue.length === 0) {
ReadableStreamDefaultControllerClearAlgorithms(this);
ReadableStreamClose(stream4);
} else {
ReadableStreamDefaultControllerCallPullIfNeeded(this);
}
readRequest._chunkSteps(chunk);
} else {
ReadableStreamAddReadRequest(stream4, readRequest);
ReadableStreamDefaultControllerCallPullIfNeeded(this);
}
}
[ReleaseSteps]() {}
}
Object.defineProperties(ReadableStreamDefaultController.prototype, {
close: { enumerable: true },
enqueue: { enumerable: true },
error: { enumerable: true },
desiredSize: { enumerable: true }
});
setFunctionName(ReadableStreamDefaultController.prototype.close, "close");
setFunctionName(ReadableStreamDefaultController.prototype.enqueue, "enqueue");
setFunctionName(ReadableStreamDefaultController.prototype.error, "error");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableStreamDefaultController.prototype, Symbol.toStringTag, {
value: "ReadableStreamDefaultController",
configurable: true
});
}
function IsReadableStreamDefaultController(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_controlledReadableStream")) {
return false;
}
return x3 instanceof ReadableStreamDefaultController;
}
function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
const shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
if (!shouldPull) {
return;
}
if (controller._pulling) {
controller._pullAgain = true;
return;
}
controller._pulling = true;
const pullPromise = controller._pullAlgorithm();
uponPromise(pullPromise, () => {
controller._pulling = false;
if (controller._pullAgain) {
controller._pullAgain = false;
ReadableStreamDefaultControllerCallPullIfNeeded(controller);
}
return null;
}, (e) => {
ReadableStreamDefaultControllerError(controller, e);
return null;
});
}
function ReadableStreamDefaultControllerShouldCallPull(controller) {
const stream4 = controller._controlledReadableStream;
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
return false;
}
if (!controller._started) {
return false;
}
if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) {
return true;
}
const desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
if (desiredSize > 0) {
return true;
}
return false;
}
function ReadableStreamDefaultControllerClearAlgorithms(controller) {
controller._pullAlgorithm = undefined;
controller._cancelAlgorithm = undefined;
controller._strategySizeAlgorithm = undefined;
}
function ReadableStreamDefaultControllerClose(controller) {
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
return;
}
const stream4 = controller._controlledReadableStream;
controller._closeRequested = true;
if (controller._queue.length === 0) {
ReadableStreamDefaultControllerClearAlgorithms(controller);
ReadableStreamClose(stream4);
}
}
function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
return;
}
const stream4 = controller._controlledReadableStream;
if (IsReadableStreamLocked(stream4) && ReadableStreamGetNumReadRequests(stream4) > 0) {
ReadableStreamFulfillReadRequest(stream4, chunk, false);
} else {
let chunkSize;
try {
chunkSize = controller._strategySizeAlgorithm(chunk);
} catch (chunkSizeE) {
ReadableStreamDefaultControllerError(controller, chunkSizeE);
throw chunkSizeE;
}
try {
EnqueueValueWithSize(controller, chunk, chunkSize);
} catch (enqueueE) {
ReadableStreamDefaultControllerError(controller, enqueueE);
throw enqueueE;
}
}
ReadableStreamDefaultControllerCallPullIfNeeded(controller);
}
function ReadableStreamDefaultControllerError(controller, e) {
const stream4 = controller._controlledReadableStream;
if (stream4._state !== "readable") {
return;
}
ResetQueue(controller);
ReadableStreamDefaultControllerClearAlgorithms(controller);
ReadableStreamError(stream4, e);
}
function ReadableStreamDefaultControllerGetDesiredSize(controller) {
const state3 = controller._controlledReadableStream._state;
if (state3 === "errored") {
return null;
}
if (state3 === "closed") {
return 0;
}
return controller._strategyHWM - controller._queueTotalSize;
}
function ReadableStreamDefaultControllerHasBackpressure(controller) {
if (ReadableStreamDefaultControllerShouldCallPull(controller)) {
return false;
}
return true;
}
function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
const state3 = controller._controlledReadableStream._state;
if (!controller._closeRequested && state3 === "readable") {
return true;
}
return false;
}
function SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
controller._controlledReadableStream = stream4;
controller._queue = undefined;
controller._queueTotalSize = undefined;
ResetQueue(controller);
controller._started = false;
controller._closeRequested = false;
controller._pullAgain = false;
controller._pulling = false;
controller._strategySizeAlgorithm = sizeAlgorithm;
controller._strategyHWM = highWaterMark;
controller._pullAlgorithm = pullAlgorithm;
controller._cancelAlgorithm = cancelAlgorithm;
stream4._readableStreamController = controller;
const startResult = startAlgorithm();
uponPromise(promiseResolvedWith(startResult), () => {
controller._started = true;
ReadableStreamDefaultControllerCallPullIfNeeded(controller);
return null;
}, (r) => {
ReadableStreamDefaultControllerError(controller, r);
return null;
});
}
function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream4, underlyingSource, highWaterMark, sizeAlgorithm) {
const controller = Object.create(ReadableStreamDefaultController.prototype);
let startAlgorithm;
let pullAlgorithm;
let cancelAlgorithm;
if (underlyingSource.start !== undefined) {
startAlgorithm = () => underlyingSource.start(controller);
} else {
startAlgorithm = () => {
return;
};
}
if (underlyingSource.pull !== undefined) {
pullAlgorithm = () => underlyingSource.pull(controller);
} else {
pullAlgorithm = () => promiseResolvedWith(undefined);
}
if (underlyingSource.cancel !== undefined) {
cancelAlgorithm = (reason) => underlyingSource.cancel(reason);
} else {
cancelAlgorithm = () => promiseResolvedWith(undefined);
}
SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
}
function defaultControllerBrandCheckException$1(name3) {
return new TypeError(`ReadableStreamDefaultController.prototype.${name3} can only be used on a ReadableStreamDefaultController`);
}
function ReadableStreamTee(stream4, cloneForBranch2) {
if (IsReadableByteStreamController(stream4._readableStreamController)) {
return ReadableByteStreamTee(stream4);
}
return ReadableStreamDefaultTee(stream4);
}
function ReadableStreamDefaultTee(stream4, cloneForBranch2) {
const reader = AcquireReadableStreamDefaultReader(stream4);
let reading = false;
let readAgain = false;
let canceled1 = false;
let canceled2 = false;
let reason1;
let reason2;
let branch1;
let branch2;
let resolveCancelPromise;
const cancelPromise = newPromise((resolve9) => {
resolveCancelPromise = resolve9;
});
function pullAlgorithm() {
if (reading) {
readAgain = true;
return promiseResolvedWith(undefined);
}
reading = true;
const readRequest = {
_chunkSteps: (chunk) => {
_queueMicrotask(() => {
readAgain = false;
const chunk1 = chunk;
const chunk2 = chunk;
if (!canceled1) {
ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1);
}
if (!canceled2) {
ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2);
}
reading = false;
if (readAgain) {
pullAlgorithm();
}
});
},
_closeSteps: () => {
reading = false;
if (!canceled1) {
ReadableStreamDefaultControllerClose(branch1._readableStreamController);
}
if (!canceled2) {
ReadableStreamDefaultControllerClose(branch2._readableStreamController);
}
if (!canceled1 || !canceled2) {
resolveCancelPromise(undefined);
}
},
_errorSteps: () => {
reading = false;
}
};
ReadableStreamDefaultReaderRead(reader, readRequest);
return promiseResolvedWith(undefined);
}
function cancel1Algorithm(reason) {
canceled1 = true;
reason1 = reason;
if (canceled2) {
const compositeReason = CreateArrayFromList([reason1, reason2]);
const cancelResult = ReadableStreamCancel(stream4, compositeReason);
resolveCancelPromise(cancelResult);
}
return cancelPromise;
}
function cancel2Algorithm(reason) {
canceled2 = true;
reason2 = reason;
if (canceled1) {
const compositeReason = CreateArrayFromList([reason1, reason2]);
const cancelResult = ReadableStreamCancel(stream4, compositeReason);
resolveCancelPromise(cancelResult);
}
return cancelPromise;
}
function startAlgorithm() {}
branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
uponRejection(reader._closedPromise, (r) => {
ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
if (!canceled1 || !canceled2) {
resolveCancelPromise(undefined);
}
return null;
});
return [branch1, branch2];
}
function ReadableByteStreamTee(stream4) {
let reader = AcquireReadableStreamDefaultReader(stream4);
let reading = false;
let readAgainForBranch1 = false;
let readAgainForBranch2 = false;
let canceled1 = false;
let canceled2 = false;
let reason1;
let reason2;
let branch1;
let branch2;
let resolveCancelPromise;
const cancelPromise = newPromise((resolve9) => {
resolveCancelPromise = resolve9;
});
function forwardReaderError(thisReader) {
uponRejection(thisReader._closedPromise, (r) => {
if (thisReader !== reader) {
return null;
}
ReadableByteStreamControllerError(branch1._readableStreamController, r);
ReadableByteStreamControllerError(branch2._readableStreamController, r);
if (!canceled1 || !canceled2) {
resolveCancelPromise(undefined);
}
return null;
});
}
function pullWithDefaultReader() {
if (IsReadableStreamBYOBReader(reader)) {
ReadableStreamReaderGenericRelease(reader);
reader = AcquireReadableStreamDefaultReader(stream4);
forwardReaderError(reader);
}
const readRequest = {
_chunkSteps: (chunk) => {
_queueMicrotask(() => {
readAgainForBranch1 = false;
readAgainForBranch2 = false;
const chunk1 = chunk;
let chunk2 = chunk;
if (!canceled1 && !canceled2) {
try {
chunk2 = CloneAsUint8Array(chunk);
} catch (cloneE) {
ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);
ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);
resolveCancelPromise(ReadableStreamCancel(stream4, cloneE));
return;
}
}
if (!canceled1) {
ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);
}
if (!canceled2) {
ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);
}
reading = false;
if (readAgainForBranch1) {
pull1Algorithm();
} else if (readAgainForBranch2) {
pull2Algorithm();
}
});
},
_closeSteps: () => {
reading = false;
if (!canceled1) {
ReadableByteStreamControllerClose(branch1._readableStreamController);
}
if (!canceled2) {
ReadableByteStreamControllerClose(branch2._readableStreamController);
}
if (branch1._readableStreamController._pendingPullIntos.length > 0) {
ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);
}
if (branch2._readableStreamController._pendingPullIntos.length > 0) {
ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);
}
if (!canceled1 || !canceled2) {
resolveCancelPromise(undefined);
}
},
_errorSteps: () => {
reading = false;
}
};
ReadableStreamDefaultReaderRead(reader, readRequest);
}
function pullWithBYOBReader(view, forBranch2) {
if (IsReadableStreamDefaultReader(reader)) {
ReadableStreamReaderGenericRelease(reader);
reader = AcquireReadableStreamBYOBReader(stream4);
forwardReaderError(reader);
}
const byobBranch = forBranch2 ? branch2 : branch1;
const otherBranch = forBranch2 ? branch1 : branch2;
const readIntoRequest = {
_chunkSteps: (chunk) => {
_queueMicrotask(() => {
readAgainForBranch1 = false;
readAgainForBranch2 = false;
const byobCanceled = forBranch2 ? canceled2 : canceled1;
const otherCanceled = forBranch2 ? canceled1 : canceled2;
if (!otherCanceled) {
let clonedChunk;
try {
clonedChunk = CloneAsUint8Array(chunk);
} catch (cloneE) {
ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);
ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);
resolveCancelPromise(ReadableStreamCancel(stream4, cloneE));
return;
}
if (!byobCanceled) {
ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
}
ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);
} else if (!byobCanceled) {
ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
}
reading = false;
if (readAgainForBranch1) {
pull1Algorithm();
} else if (readAgainForBranch2) {
pull2Algorithm();
}
});
},
_closeSteps: (chunk) => {
reading = false;
const byobCanceled = forBranch2 ? canceled2 : canceled1;
const otherCanceled = forBranch2 ? canceled1 : canceled2;
if (!byobCanceled) {
ReadableByteStreamControllerClose(byobBranch._readableStreamController);
}
if (!otherCanceled) {
ReadableByteStreamControllerClose(otherBranch._readableStreamController);
}
if (chunk !== undefined) {
if (!byobCanceled) {
ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);
}
if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {
ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);
}
}
if (!byobCanceled || !otherCanceled) {
resolveCancelPromise(undefined);
}
},
_errorSteps: () => {
reading = false;
}
};
ReadableStreamBYOBReaderRead(reader, view, 1, readIntoRequest);
}
function pull1Algorithm() {
if (reading) {
readAgainForBranch1 = true;
return promiseResolvedWith(undefined);
}
reading = true;
const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);
if (byobRequest === null) {
pullWithDefaultReader();
} else {
pullWithBYOBReader(byobRequest._view, false);
}
return promiseResolvedWith(undefined);
}
function pull2Algorithm() {
if (reading) {
readAgainForBranch2 = true;
return promiseResolvedWith(undefined);
}
reading = true;
const byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);
if (byobRequest === null) {
pullWithDefaultReader();
} else {
pullWithBYOBReader(byobRequest._view, true);
}
return promiseResolvedWith(undefined);
}
function cancel1Algorithm(reason) {
canceled1 = true;
reason1 = reason;
if (canceled2) {
const compositeReason = CreateArrayFromList([reason1, reason2]);
const cancelResult = ReadableStreamCancel(stream4, compositeReason);
resolveCancelPromise(cancelResult);
}
return cancelPromise;
}
function cancel2Algorithm(reason) {
canceled2 = true;
reason2 = reason;
if (canceled1) {
const compositeReason = CreateArrayFromList([reason1, reason2]);
const cancelResult = ReadableStreamCancel(stream4, compositeReason);
resolveCancelPromise(cancelResult);
}
return cancelPromise;
}
function startAlgorithm() {
return;
}
branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);
branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);
forwardReaderError(reader);
return [branch1, branch2];
}
function isReadableStreamLike(stream4) {
return typeIsObject(stream4) && typeof stream4.getReader !== "undefined";
}
function ReadableStreamFrom2(source) {
if (isReadableStreamLike(source)) {
return ReadableStreamFromDefaultReader(source.getReader());
}
return ReadableStreamFromIterable(source);
}
function ReadableStreamFromIterable(asyncIterable) {
let stream4;
const iteratorRecord = GetIterator(asyncIterable, "async");
const startAlgorithm = noop8;
function pullAlgorithm() {
let nextResult;
try {
nextResult = IteratorNext(iteratorRecord);
} catch (e) {
return promiseRejectedWith(e);
}
const nextPromise = promiseResolvedWith(nextResult);
return transformPromiseWith(nextPromise, (iterResult) => {
if (!typeIsObject(iterResult)) {
throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");
}
const done = IteratorComplete(iterResult);
if (done) {
ReadableStreamDefaultControllerClose(stream4._readableStreamController);
} else {
const value = IteratorValue(iterResult);
ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value);
}
});
}
function cancelAlgorithm(reason) {
const iterator2 = iteratorRecord.iterator;
let returnMethod;
try {
returnMethod = GetMethod(iterator2, "return");
} catch (e) {
return promiseRejectedWith(e);
}
if (returnMethod === undefined) {
return promiseResolvedWith(undefined);
}
let returnResult;
try {
returnResult = reflectCall(returnMethod, iterator2, [reason]);
} catch (e) {
return promiseRejectedWith(e);
}
const returnPromise = promiseResolvedWith(returnResult);
return transformPromiseWith(returnPromise, (iterResult) => {
if (!typeIsObject(iterResult)) {
throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object");
}
return;
});
}
stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0);
return stream4;
}
function ReadableStreamFromDefaultReader(reader) {
let stream4;
const startAlgorithm = noop8;
function pullAlgorithm() {
let readPromise;
try {
readPromise = reader.read();
} catch (e) {
return promiseRejectedWith(e);
}
return transformPromiseWith(readPromise, (readResult) => {
if (!typeIsObject(readResult)) {
throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");
}
if (readResult.done) {
ReadableStreamDefaultControllerClose(stream4._readableStreamController);
} else {
const value = readResult.value;
ReadableStreamDefaultControllerEnqueue(stream4._readableStreamController, value);
}
});
}
function cancelAlgorithm(reason) {
try {
return promiseResolvedWith(reader.cancel(reason));
} catch (e) {
return promiseRejectedWith(e);
}
}
stream4 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, 0);
return stream4;
}
function convertUnderlyingDefaultOrByteSource(source, context3) {
assertDictionary(source, context3);
const original = source;
const autoAllocateChunkSize = original === null || original === undefined ? undefined : original.autoAllocateChunkSize;
const cancel = original === null || original === undefined ? undefined : original.cancel;
const pull = original === null || original === undefined ? undefined : original.pull;
const start = original === null || original === undefined ? undefined : original.start;
const type = original === null || original === undefined ? undefined : original.type;
return {
autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, `${context3} has member 'autoAllocateChunkSize' that`),
cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, `${context3} has member 'cancel' that`),
pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, `${context3} has member 'pull' that`),
start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, `${context3} has member 'start' that`),
type: type === undefined ? undefined : convertReadableStreamType(type, `${context3} has member 'type' that`)
};
}
function convertUnderlyingSourceCancelCallback(fn, original, context3) {
assertFunction(fn, context3);
return (reason) => promiseCall(fn, original, [reason]);
}
function convertUnderlyingSourcePullCallback(fn, original, context3) {
assertFunction(fn, context3);
return (controller) => promiseCall(fn, original, [controller]);
}
function convertUnderlyingSourceStartCallback(fn, original, context3) {
assertFunction(fn, context3);
return (controller) => reflectCall(fn, original, [controller]);
}
function convertReadableStreamType(type, context3) {
type = `${type}`;
if (type !== "bytes") {
throw new TypeError(`${context3} '${type}' is not a valid enumeration value for ReadableStreamType`);
}
return type;
}
function convertIteratorOptions(options, context3) {
assertDictionary(options, context3);
const preventCancel = options === null || options === undefined ? undefined : options.preventCancel;
return { preventCancel: Boolean(preventCancel) };
}
function convertPipeOptions(options, context3) {
assertDictionary(options, context3);
const preventAbort = options === null || options === undefined ? undefined : options.preventAbort;
const preventCancel = options === null || options === undefined ? undefined : options.preventCancel;
const preventClose = options === null || options === undefined ? undefined : options.preventClose;
const signal = options === null || options === undefined ? undefined : options.signal;
if (signal !== undefined) {
assertAbortSignal(signal, `${context3} has member 'signal' that`);
}
return {
preventAbort: Boolean(preventAbort),
preventCancel: Boolean(preventCancel),
preventClose: Boolean(preventClose),
signal
};
}
function assertAbortSignal(signal, context3) {
if (!isAbortSignal(signal)) {
throw new TypeError(`${context3} is not an AbortSignal.`);
}
}
function convertReadableWritablePair(pair, context3) {
assertDictionary(pair, context3);
const readable2 = pair === null || pair === undefined ? undefined : pair.readable;
assertRequiredField(readable2, "readable", "ReadableWritablePair");
assertReadableStream(readable2, `${context3} has member 'readable' that`);
const writable2 = pair === null || pair === undefined ? undefined : pair.writable;
assertRequiredField(writable2, "writable", "ReadableWritablePair");
assertWritableStream(writable2, `${context3} has member 'writable' that`);
return { readable: readable2, writable: writable2 };
}
class ReadableStream3 {
constructor(rawUnderlyingSource = {}, rawStrategy = {}) {
if (rawUnderlyingSource === undefined) {
rawUnderlyingSource = null;
} else {
assertObject(rawUnderlyingSource, "First parameter");
}
const strategy = convertQueuingStrategy(rawStrategy, "Second parameter");
const underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, "First parameter");
InitializeReadableStream(this);
if (underlyingSource.type === "bytes") {
if (strategy.size !== undefined) {
throw new RangeError("The strategy for a byte stream cannot have a size function");
}
const highWaterMark = ExtractHighWaterMark(strategy, 0);
SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
} else {
const sizeAlgorithm = ExtractSizeAlgorithm(strategy);
const highWaterMark = ExtractHighWaterMark(strategy, 1);
SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
}
}
get locked() {
if (!IsReadableStream(this)) {
throw streamBrandCheckException$1("locked");
}
return IsReadableStreamLocked(this);
}
cancel(reason = undefined) {
if (!IsReadableStream(this)) {
return promiseRejectedWith(streamBrandCheckException$1("cancel"));
}
if (IsReadableStreamLocked(this)) {
return promiseRejectedWith(new TypeError("Cannot cancel a stream that already has a reader"));
}
return ReadableStreamCancel(this, reason);
}
getReader(rawOptions = undefined) {
if (!IsReadableStream(this)) {
throw streamBrandCheckException$1("getReader");
}
const options = convertReaderOptions(rawOptions, "First parameter");
if (options.mode === undefined) {
return AcquireReadableStreamDefaultReader(this);
}
return AcquireReadableStreamBYOBReader(this);
}
pipeThrough(rawTransform, rawOptions = {}) {
if (!IsReadableStream(this)) {
throw streamBrandCheckException$1("pipeThrough");
}
assertRequiredArgument(rawTransform, 1, "pipeThrough");
const transform2 = convertReadableWritablePair(rawTransform, "First parameter");
const options = convertPipeOptions(rawOptions, "Second parameter");
if (IsReadableStreamLocked(this)) {
throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");
}
if (IsWritableStreamLocked(transform2.writable)) {
throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");
}
const promise2 = ReadableStreamPipeTo(this, transform2.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
setPromiseIsHandledToTrue(promise2);
return transform2.readable;
}
pipeTo(destination, rawOptions = {}) {
if (!IsReadableStream(this)) {
return promiseRejectedWith(streamBrandCheckException$1("pipeTo"));
}
if (destination === undefined) {
return promiseRejectedWith(`Parameter 1 is required in 'pipeTo'.`);
}
if (!IsWritableStream(destination)) {
return promiseRejectedWith(new TypeError(`ReadableStream.prototype.pipeTo's first argument must be a WritableStream`));
}
let options;
try {
options = convertPipeOptions(rawOptions, "Second parameter");
} catch (e) {
return promiseRejectedWith(e);
}
if (IsReadableStreamLocked(this)) {
return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream"));
}
if (IsWritableStreamLocked(destination)) {
return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream"));
}
return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
}
tee() {
if (!IsReadableStream(this)) {
throw streamBrandCheckException$1("tee");
}
const branches = ReadableStreamTee(this);
return CreateArrayFromList(branches);
}
values(rawOptions = undefined) {
if (!IsReadableStream(this)) {
throw streamBrandCheckException$1("values");
}
const options = convertIteratorOptions(rawOptions, "First parameter");
return AcquireReadableStreamAsyncIterator(this, options.preventCancel);
}
[SymbolAsyncIterator](options) {
return this.values(options);
}
static from(asyncIterable) {
return ReadableStreamFrom2(asyncIterable);
}
}
Object.defineProperties(ReadableStream3, {
from: { enumerable: true }
});
Object.defineProperties(ReadableStream3.prototype, {
cancel: { enumerable: true },
getReader: { enumerable: true },
pipeThrough: { enumerable: true },
pipeTo: { enumerable: true },
tee: { enumerable: true },
values: { enumerable: true },
locked: { enumerable: true }
});
setFunctionName(ReadableStream3.from, "from");
setFunctionName(ReadableStream3.prototype.cancel, "cancel");
setFunctionName(ReadableStream3.prototype.getReader, "getReader");
setFunctionName(ReadableStream3.prototype.pipeThrough, "pipeThrough");
setFunctionName(ReadableStream3.prototype.pipeTo, "pipeTo");
setFunctionName(ReadableStream3.prototype.tee, "tee");
setFunctionName(ReadableStream3.prototype.values, "values");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ReadableStream3.prototype, Symbol.toStringTag, {
value: "ReadableStream",
configurable: true
});
}
Object.defineProperty(ReadableStream3.prototype, SymbolAsyncIterator, {
value: ReadableStream3.prototype.values,
writable: true,
configurable: true
});
function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark = 1, sizeAlgorithm = () => 1) {
const stream4 = Object.create(ReadableStream3.prototype);
InitializeReadableStream(stream4);
const controller = Object.create(ReadableStreamDefaultController.prototype);
SetUpReadableStreamDefaultController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
return stream4;
}
function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) {
const stream4 = Object.create(ReadableStream3.prototype);
InitializeReadableStream(stream4);
const controller = Object.create(ReadableByteStreamController.prototype);
SetUpReadableByteStreamController(stream4, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);
return stream4;
}
function InitializeReadableStream(stream4) {
stream4._state = "readable";
stream4._reader = undefined;
stream4._storedError = undefined;
stream4._disturbed = false;
}
function IsReadableStream(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_readableStreamController")) {
return false;
}
return x3 instanceof ReadableStream3;
}
function IsReadableStreamLocked(stream4) {
if (stream4._reader === undefined) {
return false;
}
return true;
}
function ReadableStreamCancel(stream4, reason) {
stream4._disturbed = true;
if (stream4._state === "closed") {
return promiseResolvedWith(undefined);
}
if (stream4._state === "errored") {
return promiseRejectedWith(stream4._storedError);
}
ReadableStreamClose(stream4);
const reader = stream4._reader;
if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {
const readIntoRequests = reader._readIntoRequests;
reader._readIntoRequests = new SimpleQueue;
readIntoRequests.forEach((readIntoRequest) => {
readIntoRequest._closeSteps(undefined);
});
}
const sourceCancelPromise = stream4._readableStreamController[CancelSteps](reason);
return transformPromiseWith(sourceCancelPromise, noop8);
}
function ReadableStreamClose(stream4) {
stream4._state = "closed";
const reader = stream4._reader;
if (reader === undefined) {
return;
}
defaultReaderClosedPromiseResolve(reader);
if (IsReadableStreamDefaultReader(reader)) {
const readRequests = reader._readRequests;
reader._readRequests = new SimpleQueue;
readRequests.forEach((readRequest) => {
readRequest._closeSteps();
});
}
}
function ReadableStreamError(stream4, e) {
stream4._state = "errored";
stream4._storedError = e;
const reader = stream4._reader;
if (reader === undefined) {
return;
}
defaultReaderClosedPromiseReject(reader, e);
if (IsReadableStreamDefaultReader(reader)) {
ReadableStreamDefaultReaderErrorReadRequests(reader, e);
} else {
ReadableStreamBYOBReaderErrorReadIntoRequests(reader, e);
}
}
function streamBrandCheckException$1(name3) {
return new TypeError(`ReadableStream.prototype.${name3} can only be used on a ReadableStream`);
}
function convertQueuingStrategyInit(init, context3) {
assertDictionary(init, context3);
const highWaterMark = init === null || init === undefined ? undefined : init.highWaterMark;
assertRequiredField(highWaterMark, "highWaterMark", "QueuingStrategyInit");
return {
highWaterMark: convertUnrestrictedDouble(highWaterMark)
};
}
const byteLengthSizeFunction = (chunk) => {
return chunk.byteLength;
};
setFunctionName(byteLengthSizeFunction, "size");
class ByteLengthQueuingStrategy {
constructor(options) {
assertRequiredArgument(options, 1, "ByteLengthQueuingStrategy");
options = convertQueuingStrategyInit(options, "First parameter");
this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;
}
get highWaterMark() {
if (!IsByteLengthQueuingStrategy(this)) {
throw byteLengthBrandCheckException("highWaterMark");
}
return this._byteLengthQueuingStrategyHighWaterMark;
}
get size() {
if (!IsByteLengthQueuingStrategy(this)) {
throw byteLengthBrandCheckException("size");
}
return byteLengthSizeFunction;
}
}
Object.defineProperties(ByteLengthQueuingStrategy.prototype, {
highWaterMark: { enumerable: true },
size: { enumerable: true }
});
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(ByteLengthQueuingStrategy.prototype, Symbol.toStringTag, {
value: "ByteLengthQueuingStrategy",
configurable: true
});
}
function byteLengthBrandCheckException(name3) {
return new TypeError(`ByteLengthQueuingStrategy.prototype.${name3} can only be used on a ByteLengthQueuingStrategy`);
}
function IsByteLengthQueuingStrategy(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_byteLengthQueuingStrategyHighWaterMark")) {
return false;
}
return x3 instanceof ByteLengthQueuingStrategy;
}
const countSizeFunction = () => {
return 1;
};
setFunctionName(countSizeFunction, "size");
class CountQueuingStrategy2 {
constructor(options) {
assertRequiredArgument(options, 1, "CountQueuingStrategy");
options = convertQueuingStrategyInit(options, "First parameter");
this._countQueuingStrategyHighWaterMark = options.highWaterMark;
}
get highWaterMark() {
if (!IsCountQueuingStrategy(this)) {
throw countBrandCheckException("highWaterMark");
}
return this._countQueuingStrategyHighWaterMark;
}
get size() {
if (!IsCountQueuingStrategy(this)) {
throw countBrandCheckException("size");
}
return countSizeFunction;
}
}
Object.defineProperties(CountQueuingStrategy2.prototype, {
highWaterMark: { enumerable: true },
size: { enumerable: true }
});
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(CountQueuingStrategy2.prototype, Symbol.toStringTag, {
value: "CountQueuingStrategy",
configurable: true
});
}
function countBrandCheckException(name3) {
return new TypeError(`CountQueuingStrategy.prototype.${name3} can only be used on a CountQueuingStrategy`);
}
function IsCountQueuingStrategy(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_countQueuingStrategyHighWaterMark")) {
return false;
}
return x3 instanceof CountQueuingStrategy2;
}
function convertTransformer(original, context3) {
assertDictionary(original, context3);
const cancel = original === null || original === undefined ? undefined : original.cancel;
const flush = original === null || original === undefined ? undefined : original.flush;
const readableType = original === null || original === undefined ? undefined : original.readableType;
const start = original === null || original === undefined ? undefined : original.start;
const transform2 = original === null || original === undefined ? undefined : original.transform;
const writableType = original === null || original === undefined ? undefined : original.writableType;
return {
cancel: cancel === undefined ? undefined : convertTransformerCancelCallback(cancel, original, `${context3} has member 'cancel' that`),
flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, `${context3} has member 'flush' that`),
readableType,
start: start === undefined ? undefined : convertTransformerStartCallback(start, original, `${context3} has member 'start' that`),
transform: transform2 === undefined ? undefined : convertTransformerTransformCallback(transform2, original, `${context3} has member 'transform' that`),
writableType
};
}
function convertTransformerFlushCallback(fn, original, context3) {
assertFunction(fn, context3);
return (controller) => promiseCall(fn, original, [controller]);
}
function convertTransformerStartCallback(fn, original, context3) {
assertFunction(fn, context3);
return (controller) => reflectCall(fn, original, [controller]);
}
function convertTransformerTransformCallback(fn, original, context3) {
assertFunction(fn, context3);
return (chunk, controller) => promiseCall(fn, original, [chunk, controller]);
}
function convertTransformerCancelCallback(fn, original, context3) {
assertFunction(fn, context3);
return (reason) => promiseCall(fn, original, [reason]);
}
class TransformStream2 {
constructor(rawTransformer = {}, rawWritableStrategy = {}, rawReadableStrategy = {}) {
if (rawTransformer === undefined) {
rawTransformer = null;
}
const writableStrategy = convertQueuingStrategy(rawWritableStrategy, "Second parameter");
const readableStrategy = convertQueuingStrategy(rawReadableStrategy, "Third parameter");
const transformer = convertTransformer(rawTransformer, "First parameter");
if (transformer.readableType !== undefined) {
throw new RangeError("Invalid readableType specified");
}
if (transformer.writableType !== undefined) {
throw new RangeError("Invalid writableType specified");
}
const readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);
const readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);
const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
let startPromise_resolve;
const startPromise = newPromise((resolve9) => {
startPromise_resolve = resolve9;
});
InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
if (transformer.start !== undefined) {
startPromise_resolve(transformer.start(this._transformStreamController));
} else {
startPromise_resolve(undefined);
}
}
get readable() {
if (!IsTransformStream(this)) {
throw streamBrandCheckException("readable");
}
return this._readable;
}
get writable() {
if (!IsTransformStream(this)) {
throw streamBrandCheckException("writable");
}
return this._writable;
}
}
Object.defineProperties(TransformStream2.prototype, {
readable: { enumerable: true },
writable: { enumerable: true }
});
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(TransformStream2.prototype, Symbol.toStringTag, {
value: "TransformStream",
configurable: true
});
}
function InitializeTransformStream(stream4, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
function startAlgorithm() {
return startPromise;
}
function writeAlgorithm(chunk) {
return TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk);
}
function abortAlgorithm(reason) {
return TransformStreamDefaultSinkAbortAlgorithm(stream4, reason);
}
function closeAlgorithm() {
return TransformStreamDefaultSinkCloseAlgorithm(stream4);
}
stream4._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
function pullAlgorithm() {
return TransformStreamDefaultSourcePullAlgorithm(stream4);
}
function cancelAlgorithm(reason) {
return TransformStreamDefaultSourceCancelAlgorithm(stream4, reason);
}
stream4._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
stream4._backpressure = undefined;
stream4._backpressureChangePromise = undefined;
stream4._backpressureChangePromise_resolve = undefined;
TransformStreamSetBackpressure(stream4, true);
stream4._transformStreamController = undefined;
}
function IsTransformStream(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_transformStreamController")) {
return false;
}
return x3 instanceof TransformStream2;
}
function TransformStreamError(stream4, e) {
ReadableStreamDefaultControllerError(stream4._readable._readableStreamController, e);
TransformStreamErrorWritableAndUnblockWrite(stream4, e);
}
function TransformStreamErrorWritableAndUnblockWrite(stream4, e) {
TransformStreamDefaultControllerClearAlgorithms(stream4._transformStreamController);
WritableStreamDefaultControllerErrorIfNeeded(stream4._writable._writableStreamController, e);
TransformStreamUnblockWrite(stream4);
}
function TransformStreamUnblockWrite(stream4) {
if (stream4._backpressure) {
TransformStreamSetBackpressure(stream4, false);
}
}
function TransformStreamSetBackpressure(stream4, backpressure) {
if (stream4._backpressureChangePromise !== undefined) {
stream4._backpressureChangePromise_resolve();
}
stream4._backpressureChangePromise = newPromise((resolve9) => {
stream4._backpressureChangePromise_resolve = resolve9;
});
stream4._backpressure = backpressure;
}
class TransformStreamDefaultController {
constructor() {
throw new TypeError("Illegal constructor");
}
get desiredSize() {
if (!IsTransformStreamDefaultController(this)) {
throw defaultControllerBrandCheckException("desiredSize");
}
const readableController = this._controlledTransformStream._readable._readableStreamController;
return ReadableStreamDefaultControllerGetDesiredSize(readableController);
}
enqueue(chunk = undefined) {
if (!IsTransformStreamDefaultController(this)) {
throw defaultControllerBrandCheckException("enqueue");
}
TransformStreamDefaultControllerEnqueue(this, chunk);
}
error(reason = undefined) {
if (!IsTransformStreamDefaultController(this)) {
throw defaultControllerBrandCheckException("error");
}
TransformStreamDefaultControllerError(this, reason);
}
terminate() {
if (!IsTransformStreamDefaultController(this)) {
throw defaultControllerBrandCheckException("terminate");
}
TransformStreamDefaultControllerTerminate(this);
}
}
Object.defineProperties(TransformStreamDefaultController.prototype, {
enqueue: { enumerable: true },
error: { enumerable: true },
terminate: { enumerable: true },
desiredSize: { enumerable: true }
});
setFunctionName(TransformStreamDefaultController.prototype.enqueue, "enqueue");
setFunctionName(TransformStreamDefaultController.prototype.error, "error");
setFunctionName(TransformStreamDefaultController.prototype.terminate, "terminate");
if (typeof Symbol.toStringTag === "symbol") {
Object.defineProperty(TransformStreamDefaultController.prototype, Symbol.toStringTag, {
value: "TransformStreamDefaultController",
configurable: true
});
}
function IsTransformStreamDefaultController(x3) {
if (!typeIsObject(x3)) {
return false;
}
if (!Object.prototype.hasOwnProperty.call(x3, "_controlledTransformStream")) {
return false;
}
return x3 instanceof TransformStreamDefaultController;
}
function SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm) {
controller._controlledTransformStream = stream4;
stream4._transformStreamController = controller;
controller._transformAlgorithm = transformAlgorithm;
controller._flushAlgorithm = flushAlgorithm;
controller._cancelAlgorithm = cancelAlgorithm;
controller._finishPromise = undefined;
controller._finishPromise_resolve = undefined;
controller._finishPromise_reject = undefined;
}
function SetUpTransformStreamDefaultControllerFromTransformer(stream4, transformer) {
const controller = Object.create(TransformStreamDefaultController.prototype);
let transformAlgorithm;
let flushAlgorithm;
let cancelAlgorithm;
if (transformer.transform !== undefined) {
transformAlgorithm = (chunk) => transformer.transform(chunk, controller);
} else {
transformAlgorithm = (chunk) => {
try {
TransformStreamDefaultControllerEnqueue(controller, chunk);
return promiseResolvedWith(undefined);
} catch (transformResultE) {
return promiseRejectedWith(transformResultE);
}
};
}
if (transformer.flush !== undefined) {
flushAlgorithm = () => transformer.flush(controller);
} else {
flushAlgorithm = () => promiseResolvedWith(undefined);
}
if (transformer.cancel !== undefined) {
cancelAlgorithm = (reason) => transformer.cancel(reason);
} else {
cancelAlgorithm = () => promiseResolvedWith(undefined);
}
SetUpTransformStreamDefaultController(stream4, controller, transformAlgorithm, flushAlgorithm, cancelAlgorithm);
}
function TransformStreamDefaultControllerClearAlgorithms(controller) {
controller._transformAlgorithm = undefined;
controller._flushAlgorithm = undefined;
controller._cancelAlgorithm = undefined;
}
function TransformStreamDefaultControllerEnqueue(controller, chunk) {
const stream4 = controller._controlledTransformStream;
const readableController = stream4._readable._readableStreamController;
if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {
throw new TypeError("Readable side is not in a state that permits enqueue");
}
try {
ReadableStreamDefaultControllerEnqueue(readableController, chunk);
} catch (e) {
TransformStreamErrorWritableAndUnblockWrite(stream4, e);
throw stream4._readable._storedError;
}
const backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
if (backpressure !== stream4._backpressure) {
TransformStreamSetBackpressure(stream4, true);
}
}
function TransformStreamDefaultControllerError(controller, e) {
TransformStreamError(controller._controlledTransformStream, e);
}
function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
const transformPromise = controller._transformAlgorithm(chunk);
return transformPromiseWith(transformPromise, undefined, (r) => {
TransformStreamError(controller._controlledTransformStream, r);
throw r;
});
}
function TransformStreamDefaultControllerTerminate(controller) {
const stream4 = controller._controlledTransformStream;
const readableController = stream4._readable._readableStreamController;
ReadableStreamDefaultControllerClose(readableController);
const error51 = new TypeError("TransformStream terminated");
TransformStreamErrorWritableAndUnblockWrite(stream4, error51);
}
function TransformStreamDefaultSinkWriteAlgorithm(stream4, chunk) {
const controller = stream4._transformStreamController;
if (stream4._backpressure) {
const backpressureChangePromise = stream4._backpressureChangePromise;
return transformPromiseWith(backpressureChangePromise, () => {
const writable2 = stream4._writable;
const state3 = writable2._state;
if (state3 === "erroring") {
throw writable2._storedError;
}
return TransformStreamDefaultControllerPerformTransform(controller, chunk);
});
}
return TransformStreamDefaultControllerPerformTransform(controller, chunk);
}
function TransformStreamDefaultSinkAbortAlgorithm(stream4, reason) {
const controller = stream4._transformStreamController;
if (controller._finishPromise !== undefined) {
return controller._finishPromise;
}
const readable2 = stream4._readable;
controller._finishPromise = newPromise((resolve9, reject) => {
controller._finishPromise_resolve = resolve9;
controller._finishPromise_reject = reject;
});
const cancelPromise = controller._cancelAlgorithm(reason);
TransformStreamDefaultControllerClearAlgorithms(controller);
uponPromise(cancelPromise, () => {
if (readable2._state === "errored") {
defaultControllerFinishPromiseReject(controller, readable2._storedError);
} else {
ReadableStreamDefaultControllerError(readable2._readableStreamController, reason);
defaultControllerFinishPromiseResolve(controller);
}
return null;
}, (r) => {
ReadableStreamDefaultControllerError(readable2._readableStreamController, r);
defaultControllerFinishPromiseReject(controller, r);
return null;
});
return controller._finishPromise;
}
function TransformStreamDefaultSinkCloseAlgorithm(stream4) {
const controller = stream4._transformStreamController;
if (controller._finishPromise !== undefined) {
return controller._finishPromise;
}
const readable2 = stream4._readable;
controller._finishPromise = newPromise((resolve9, reject) => {
controller._finishPromise_resolve = resolve9;
controller._finishPromise_reject = reject;
});
const flushPromise = controller._flushAlgorithm();
TransformStreamDefaultControllerClearAlgorithms(controller);
uponPromise(flushPromise, () => {
if (readable2._state === "errored") {
defaultControllerFinishPromiseReject(controller, readable2._storedError);
} else {
ReadableStreamDefaultControllerClose(readable2._readableStreamController);
defaultControllerFinishPromiseResolve(controller);
}
return null;
}, (r) => {
ReadableStreamDefaultControllerError(readable2._readableStreamController, r);
defaultControllerFinishPromiseReject(controller, r);
return null;
});
return controller._finishPromise;
}
function TransformStreamDefaultSourcePullAlgorithm(stream4) {
TransformStreamSetBackpressure(stream4, false);
return stream4._backpressureChangePromise;
}
function TransformStreamDefaultSourceCancelAlgorithm(stream4, reason) {
const controller = stream4._transformStreamController;
if (controller._finishPromise !== undefined) {
return controller._finishPromise;
}
const writable2 = stream4._writable;
controller._finishPromise = newPromise((resolve9, reject) => {
controller._finishPromise_resolve = resolve9;
controller._finishPromise_reject = reject;
});
const cancelPromise = controller._cancelAlgorithm(reason);
TransformStreamDefaultControllerClearAlgorithms(controller);
uponPromise(cancelPromise, () => {
if (writable2._state === "errored") {
defaultControllerFinishPromiseReject(controller, writable2._storedError);
} else {
WritableStreamDefaultControllerErrorIfNeeded(writable2._writableStreamController, reason);
TransformStreamUnblockWrite(stream4);
defaultControllerFinishPromiseResolve(controller);
}
return null;
}, (r) => {
WritableStreamDefaultControllerErrorIfNeeded(writable2._writableStreamController, r);
TransformStreamUnblockWrite(stream4);
defaultControllerFinishPromiseReject(controller, r);
return null;
});
return controller._finishPromise;
}
function defaultControllerBrandCheckException(name3) {
return new TypeError(`TransformStreamDefaultController.prototype.${name3} can only be used on a TransformStreamDefaultController`);
}
function defaultControllerFinishPromiseResolve(controller) {
if (controller._finishPromise_resolve === undefined) {
return;
}
controller._finishPromise_resolve();
controller._finishPromise_resolve = undefined;
controller._finishPromise_reject = undefined;
}
function defaultControllerFinishPromiseReject(controller, reason) {
if (controller._finishPromise_reject === undefined) {
return;
}
setPromiseIsHandledToTrue(controller._finishPromise);
controller._finishPromise_reject(reason);
controller._finishPromise_resolve = undefined;
controller._finishPromise_reject = undefined;
}
function streamBrandCheckException(name3) {
return new TypeError(`TransformStream.prototype.${name3} can only be used on a TransformStream`);
}
exports2.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
exports2.CountQueuingStrategy = CountQueuingStrategy2;
exports2.ReadableByteStreamController = ReadableByteStreamController;
exports2.ReadableStream = ReadableStream3;
exports2.ReadableStreamBYOBReader = ReadableStreamBYOBReader;
exports2.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;
exports2.ReadableStreamDefaultController = ReadableStreamDefaultController;
exports2.ReadableStreamDefaultReader = ReadableStreamDefaultReader;
exports2.TransformStream = TransformStream2;
exports2.TransformStreamDefaultController = TransformStreamDefaultController;
exports2.WritableStream = WritableStream2;
exports2.WritableStreamDefaultController = WritableStreamDefaultController;
exports2.WritableStreamDefaultWriter = WritableStreamDefaultWriter;
});
});
// node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/streams.cjs
var require_streams = __commonJS(() => {
var POOL_SIZE = 65536;
if (!globalThis.ReadableStream) {
try {
const process22 = __require("node:process");
const { emitWarning } = process22;
try {
process22.emitWarning = () => {};
Object.assign(globalThis, __require("node:stream/web"));
process22.emitWarning = emitWarning;
} catch (error51) {
process22.emitWarning = emitWarning;
throw error51;
}
} catch (error51) {
Object.assign(globalThis, require_ponyfill_es2018());
}
}
try {
const { Blob: Blob2 } = __require("buffer");
if (Blob2 && !Blob2.prototype.stream) {
Blob2.prototype.stream = function name3(params) {
let position = 0;
const blob = this;
return new ReadableStream({
type: "bytes",
async pull(ctrl) {
const chunk = blob.slice(position, Math.min(blob.size, position + POOL_SIZE));
const buffer = await chunk.arrayBuffer();
position += buffer.byteLength;
ctrl.enqueue(new Uint8Array(buffer));
if (position === blob.size) {
ctrl.close();
}
}
});
};
}
} catch (error51) {}
});
// node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/index.js
async function* toIterator(parts, clone3 = true) {
for (const part of parts) {
if ("stream" in part) {
yield* part.stream();
} else if (ArrayBuffer.isView(part)) {
if (clone3) {
let position = part.byteOffset;
const end = part.byteOffset + part.byteLength;
while (position !== end) {
const size = Math.min(end - position, POOL_SIZE);
const chunk = part.buffer.slice(position, position + size);
position += chunk.byteLength;
yield new Uint8Array(chunk);
}
} else {
yield part;
}
} else {
let position = 0, b2 = part;
while (position !== b2.size) {
const chunk = b2.slice(position, Math.min(b2.size, position + POOL_SIZE));
const buffer = await chunk.arrayBuffer();
position += buffer.byteLength;
yield new Uint8Array(buffer);
}
}
}
}
var import_streams, POOL_SIZE = 65536, _Blob, Blob3, fetch_blob_default;
var init_fetch_blob = __esm(() => {
import_streams = __toESM(require_streams(), 1);
/*! fetch-blob. MIT License. Jimmy Wärting */
_Blob = class Blob2 {
#parts = [];
#type = "";
#size = 0;
#endings = "transparent";
constructor(blobParts = [], options = {}) {
if (typeof blobParts !== "object" || blobParts === null) {
throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");
}
if (typeof blobParts[Symbol.iterator] !== "function") {
throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");
}
if (typeof options !== "object" && typeof options !== "function") {
throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");
}
if (options === null)
options = {};
const encoder = new TextEncoder;
for (const element of blobParts) {
let part;
if (ArrayBuffer.isView(element)) {
part = new Uint8Array(element.buffer.slice(element.byteOffset, element.byteOffset + element.byteLength));
} else if (element instanceof ArrayBuffer) {
part = new Uint8Array(element.slice(0));
} else if (element instanceof Blob2) {
part = element;
} else {
part = encoder.encode(`${element}`);
}
this.#size += ArrayBuffer.isView(part) ? part.byteLength : part.size;
this.#parts.push(part);
}
this.#endings = `${options.endings === undefined ? "transparent" : options.endings}`;
const type = options.type === undefined ? "" : String(options.type);
this.#type = /^[\x20-\x7E]*$/.test(type) ? type : "";
}
get size() {
return this.#size;
}
get type() {
return this.#type;
}
async text() {
const decoder = new TextDecoder;
let str = "";
for await (const part of toIterator(this.#parts, false)) {
str += decoder.decode(part, { stream: true });
}
str += decoder.decode();
return str;
}
async arrayBuffer() {
const data = new Uint8Array(this.size);
let offset = 0;
for await (const chunk of toIterator(this.#parts, false)) {
data.set(chunk, offset);
offset += chunk.length;
}
return data.buffer;
}
stream() {
const it = toIterator(this.#parts, true);
return new globalThis.ReadableStream({
type: "bytes",
async pull(ctrl) {
const chunk = await it.next();
chunk.done ? ctrl.close() : ctrl.enqueue(chunk.value);
},
async cancel() {
await it.return();
}
});
}
slice(start = 0, end = this.size, type = "") {
const { size } = this;
let relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
let relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
const span = Math.max(relativeEnd - relativeStart, 0);
const parts = this.#parts;
const blobParts = [];
let added = 0;
for (const part of parts) {
if (added >= span) {
break;
}
const size2 = ArrayBuffer.isView(part) ? part.byteLength : part.size;
if (relativeStart && size2 <= relativeStart) {
relativeStart -= size2;
relativeEnd -= size2;
} else {
let chunk;
if (ArrayBuffer.isView(part)) {
chunk = part.subarray(relativeStart, Math.min(size2, relativeEnd));
added += chunk.byteLength;
} else {
chunk = part.slice(relativeStart, Math.min(size2, relativeEnd));
added += chunk.size;
}
relativeEnd -= size2;
blobParts.push(chunk);
relativeStart = 0;
}
}
const blob = new Blob2([], { type: String(type).toLowerCase() });
blob.#size = span;
blob.#parts = blobParts;
return blob;
}
get [Symbol.toStringTag]() {
return "Blob";
}
static [Symbol.hasInstance](object2) {
return object2 && typeof object2 === "object" && typeof object2.constructor === "function" && (typeof object2.stream === "function" || typeof object2.arrayBuffer === "function") && /^(Blob|File)$/.test(object2[Symbol.toStringTag]);
}
};
Object.defineProperties(_Blob.prototype, {
size: { enumerable: true },
type: { enumerable: true },
slice: { enumerable: true }
});
Blob3 = _Blob;
fetch_blob_default = Blob3;
});
// node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/file.js
var _File, File3, file_default;
var init_file3 = __esm(() => {
init_fetch_blob();
_File = class File2 extends fetch_blob_default {
#lastModified = 0;
#name = "";
constructor(fileBits, fileName, options = {}) {
if (arguments.length < 2) {
throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);
}
super(fileBits, options);
if (options === null)
options = {};
const lastModified = options.lastModified === undefined ? Date.now() : Number(options.lastModified);
if (!Number.isNaN(lastModified)) {
this.#lastModified = lastModified;
}
this.#name = String(fileName);
}
get name() {
return this.#name;
}
get lastModified() {
return this.#lastModified;
}
get [Symbol.toStringTag]() {
return "File";
}
static [Symbol.hasInstance](object2) {
return !!object2 && object2 instanceof fetch_blob_default && /^(File)$/.test(object2[Symbol.toStringTag]);
}
};
File3 = _File;
file_default = File3;
});
// node_modules/.pnpm/formdata-polyfill@4.0.10/node_modules/formdata-polyfill/esm.min.js
function formDataToBlob(F2, B2 = fetch_blob_default) {
var b2 = `${r()}${r()}`.replace(/\./g, "").slice(-28).padStart(32, "-"), c5 = [], p = `--${b2}\r
Content-Disposition: form-data; name="`;
F2.forEach((v2, n2) => typeof v2 == "string" ? c5.push(p + e(n2) + `"\r
\r
${v2.replace(/\r(?!\n)|(? (a2 += "", /^(Blob|File)$/.test(b2 && b2[t]) ? [(c5 = c5 !== undefined ? c5 + "" : b2[t] == "File" ? b2.name : "blob", a2), b2.name !== c5 || b2[t] == "blob" ? new file_default([b2], c5, b2) : b2] : [a2, b2 + ""]), e = (c5, f2) => (f2 ? c5 : c5.replace(/\r?\n|\r/g, `\r
`)).replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"), x3 = (n2, a2, e2) => {
if (a2.length < e2) {
throw new TypeError(`Failed to execute '${n2}' on 'FormData': ${e2} arguments required, but only ${a2.length} present.`);
}
}, FormData3;
var init_esm_min = __esm(() => {
init_fetch_blob();
init_file3();
/*! formdata-polyfill. MIT License. Jimmy Wärting */
({ toStringTag: t, iterator: i2, hasInstance: h2 } = Symbol);
r = Math.random;
m2 = "append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(",");
FormData3 = class FormData4 {
#d = [];
constructor(...a2) {
if (a2.length)
throw new TypeError(`Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.`);
}
get [t]() {
return "FormData";
}
[i2]() {
return this.entries();
}
static [h2](o2) {
return o2 && typeof o2 === "object" && o2[t] === "FormData" && !m2.some((m3) => typeof o2[m3] != "function");
}
append(...a2) {
x3("append", arguments, 2);
this.#d.push(f(...a2));
}
delete(a2) {
x3("delete", arguments, 1);
a2 += "";
this.#d = this.#d.filter(([b2]) => b2 !== a2);
}
get(a2) {
x3("get", arguments, 1);
a2 += "";
for (var b2 = this.#d, l = b2.length, c5 = 0;c5 < l; c5++)
if (b2[c5][0] === a2)
return b2[c5][1];
return null;
}
getAll(a2, b2) {
x3("getAll", arguments, 1);
b2 = [];
a2 += "";
this.#d.forEach((c5) => c5[0] === a2 && b2.push(c5[1]));
return b2;
}
has(a2) {
x3("has", arguments, 1);
a2 += "";
return this.#d.some((b2) => b2[0] === a2);
}
forEach(a2, b2) {
x3("forEach", arguments, 1);
for (var [c5, d] of this)
a2.call(b2, d, c5, this);
}
set(...a2) {
x3("set", arguments, 2);
var b2 = [], c5 = true;
a2 = f(...a2);
this.#d.forEach((d) => {
d[0] === a2[0] ? c5 && (c5 = !b2.push(a2)) : b2.push(d);
});
c5 && b2.push(a2);
this.#d = b2;
}
*entries() {
yield* this.#d;
}
*keys() {
for (var [a2] of this)
yield a2;
}
*values() {
for (var [, a2] of this)
yield a2;
}
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/base.js
var FetchBaseError;
var init_base2 = __esm(() => {
FetchBaseError = class FetchBaseError extends Error {
constructor(message, type) {
super(message);
Error.captureStackTrace(this, this.constructor);
this.type = type;
}
get name() {
return this.constructor.name;
}
get [Symbol.toStringTag]() {
return this.constructor.name;
}
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/fetch-error.js
var FetchError;
var init_fetch_error = __esm(() => {
init_base2();
FetchError = class FetchError extends FetchBaseError {
constructor(message, type, systemError) {
super(message, type);
if (systemError) {
this.code = this.errno = systemError.code;
this.erroredSysCall = systemError.syscall;
}
}
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is.js
var NAME, isURLSearchParameters = (object2) => {
return typeof object2 === "object" && typeof object2.append === "function" && typeof object2.delete === "function" && typeof object2.get === "function" && typeof object2.getAll === "function" && typeof object2.has === "function" && typeof object2.set === "function" && typeof object2.sort === "function" && object2[NAME] === "URLSearchParams";
}, isBlob3 = (object2) => {
return object2 && typeof object2 === "object" && typeof object2.arrayBuffer === "function" && typeof object2.type === "string" && typeof object2.stream === "function" && typeof object2.constructor === "function" && /^(Blob|File)$/.test(object2[NAME]);
}, isAbortSignal = (object2) => {
return typeof object2 === "object" && (object2[NAME] === "AbortSignal" || object2[NAME] === "EventTarget");
}, isDomainOrSubdomain = (destination, original) => {
const orig = new URL(original).hostname;
const dest = new URL(destination).hostname;
return orig === dest || orig.endsWith(`.${dest}`);
}, isSameProtocol = (destination, original) => {
const orig = new URL(original).protocol;
const dest = new URL(destination).protocol;
return orig === dest;
};
var init_is2 = __esm(() => {
NAME = Symbol.toStringTag;
});
// node_modules/.pnpm/node-domexception@1.0.0/node_modules/node-domexception/index.js
var require_node_domexception = __commonJS((exports, module) => {
/*! node-domexception. MIT License. Jimmy Wärting */
if (!globalThis.DOMException) {
try {
const { MessageChannel: MessageChannel2 } = __require("worker_threads"), port = new MessageChannel2().port1, ab = new ArrayBuffer;
port.postMessage(ab, [ab, ab]);
} catch (err) {
err.constructor.name === "DOMException" && (globalThis.DOMException = err.constructor);
}
}
module.exports = globalThis.DOMException;
});
// node_modules/.pnpm/fetch-blob@3.2.0/node_modules/fetch-blob/from.js
import { statSync as statSync5, createReadStream as createReadStream2, promises as fs7 } from "node:fs";
import { basename as basename5 } from "node:path";
var import_node_domexception, stat6, blobFromSync = (path12, type) => fromBlob(statSync5(path12), path12, type), blobFrom = (path12, type) => stat6(path12).then((stat7) => fromBlob(stat7, path12, type)), fileFrom = (path12, type) => stat6(path12).then((stat7) => fromFile(stat7, path12, type)), fileFromSync = (path12, type) => fromFile(statSync5(path12), path12, type), fromBlob = (stat7, path12, type = "") => new fetch_blob_default([new BlobDataItem({
path: path12,
size: stat7.size,
lastModified: stat7.mtimeMs,
start: 0
})], { type }), fromFile = (stat7, path12, type = "") => new file_default([new BlobDataItem({
path: path12,
size: stat7.size,
lastModified: stat7.mtimeMs,
start: 0
})], basename5(path12), { type, lastModified: stat7.mtimeMs }), BlobDataItem;
var init_from = __esm(() => {
init_file3();
init_fetch_blob();
import_node_domexception = __toESM(require_node_domexception(), 1);
({ stat: stat6 } = fs7);
BlobDataItem = class BlobDataItem {
#path;
#start;
constructor(options) {
this.#path = options.path;
this.#start = options.start;
this.size = options.size;
this.lastModified = options.lastModified;
}
slice(start, end) {
return new BlobDataItem({
path: this.#path,
lastModified: this.lastModified,
size: end - start,
start: this.#start + start
});
}
async* stream() {
const { mtimeMs } = await stat6(this.#path);
if (mtimeMs > this.lastModified) {
throw new import_node_domexception.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.", "NotReadableError");
}
yield* createReadStream2(this.#path, {
start: this.#start,
end: this.#start + this.size - 1
});
}
get [Symbol.toStringTag]() {
return "Blob";
}
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/multipart-parser.js
var exports_multipart_parser = {};
__export(exports_multipart_parser, {
toFormData: () => toFormData3
});
class MultipartParser {
constructor(boundary) {
this.index = 0;
this.flags = 0;
this.onHeaderEnd = noop8;
this.onHeaderField = noop8;
this.onHeadersEnd = noop8;
this.onHeaderValue = noop8;
this.onPartBegin = noop8;
this.onPartData = noop8;
this.onPartEnd = noop8;
this.boundaryChars = {};
boundary = `\r
--` + boundary;
const ui8a = new Uint8Array(boundary.length);
for (let i3 = 0;i3 < boundary.length; i3++) {
ui8a[i3] = boundary.charCodeAt(i3);
this.boundaryChars[ui8a[i3]] = true;
}
this.boundary = ui8a;
this.lookbehind = new Uint8Array(this.boundary.length + 8);
this.state = S.START_BOUNDARY;
}
write(data) {
let i3 = 0;
const length_ = data.length;
let previousIndex = this.index;
let { lookbehind, boundary, boundaryChars, index, state: state3, flags } = this;
const boundaryLength = this.boundary.length;
const boundaryEnd = boundaryLength - 1;
const bufferLength = data.length;
let c5;
let cl;
const mark = (name3) => {
this[name3 + "Mark"] = i3;
};
const clear = (name3) => {
delete this[name3 + "Mark"];
};
const callback = (callbackSymbol, start, end, ui8a) => {
if (start === undefined || start !== end) {
this[callbackSymbol](ui8a && ui8a.subarray(start, end));
}
};
const dataCallback = (name3, clear2) => {
const markSymbol = name3 + "Mark";
if (!(markSymbol in this)) {
return;
}
if (clear2) {
callback(name3, this[markSymbol], i3, data);
delete this[markSymbol];
} else {
callback(name3, this[markSymbol], data.length, data);
this[markSymbol] = 0;
}
};
for (i3 = 0;i3 < length_; i3++) {
c5 = data[i3];
switch (state3) {
case S.START_BOUNDARY:
if (index === boundary.length - 2) {
if (c5 === HYPHEN) {
flags |= F2.LAST_BOUNDARY;
} else if (c5 !== CR2) {
return;
}
index++;
break;
} else if (index - 1 === boundary.length - 2) {
if (flags & F2.LAST_BOUNDARY && c5 === HYPHEN) {
state3 = S.END;
flags = 0;
} else if (!(flags & F2.LAST_BOUNDARY) && c5 === LF3) {
index = 0;
callback("onPartBegin");
state3 = S.HEADER_FIELD_START;
} else {
return;
}
break;
}
if (c5 !== boundary[index + 2]) {
index = -2;
}
if (c5 === boundary[index + 2]) {
index++;
}
break;
case S.HEADER_FIELD_START:
state3 = S.HEADER_FIELD;
mark("onHeaderField");
index = 0;
case S.HEADER_FIELD:
if (c5 === CR2) {
clear("onHeaderField");
state3 = S.HEADERS_ALMOST_DONE;
break;
}
index++;
if (c5 === HYPHEN) {
break;
}
if (c5 === COLON) {
if (index === 1) {
return;
}
dataCallback("onHeaderField", true);
state3 = S.HEADER_VALUE_START;
break;
}
cl = lower(c5);
if (cl < A || cl > Z) {
return;
}
break;
case S.HEADER_VALUE_START:
if (c5 === SPACE) {
break;
}
mark("onHeaderValue");
state3 = S.HEADER_VALUE;
case S.HEADER_VALUE:
if (c5 === CR2) {
dataCallback("onHeaderValue", true);
callback("onHeaderEnd");
state3 = S.HEADER_VALUE_ALMOST_DONE;
}
break;
case S.HEADER_VALUE_ALMOST_DONE:
if (c5 !== LF3) {
return;
}
state3 = S.HEADER_FIELD_START;
break;
case S.HEADERS_ALMOST_DONE:
if (c5 !== LF3) {
return;
}
callback("onHeadersEnd");
state3 = S.PART_DATA_START;
break;
case S.PART_DATA_START:
state3 = S.PART_DATA;
mark("onPartData");
case S.PART_DATA:
previousIndex = index;
if (index === 0) {
i3 += boundaryEnd;
while (i3 < bufferLength && !(data[i3] in boundaryChars)) {
i3 += boundaryLength;
}
i3 -= boundaryEnd;
c5 = data[i3];
}
if (index < boundary.length) {
if (boundary[index] === c5) {
if (index === 0) {
dataCallback("onPartData", true);
}
index++;
} else {
index = 0;
}
} else if (index === boundary.length) {
index++;
if (c5 === CR2) {
flags |= F2.PART_BOUNDARY;
} else if (c5 === HYPHEN) {
flags |= F2.LAST_BOUNDARY;
} else {
index = 0;
}
} else if (index - 1 === boundary.length) {
if (flags & F2.PART_BOUNDARY) {
index = 0;
if (c5 === LF3) {
flags &= ~F2.PART_BOUNDARY;
callback("onPartEnd");
callback("onPartBegin");
state3 = S.HEADER_FIELD_START;
break;
}
} else if (flags & F2.LAST_BOUNDARY) {
if (c5 === HYPHEN) {
callback("onPartEnd");
state3 = S.END;
flags = 0;
} else {
index = 0;
}
} else {
index = 0;
}
}
if (index > 0) {
lookbehind[index - 1] = c5;
} else if (previousIndex > 0) {
const _lookbehind = new Uint8Array(lookbehind.buffer, lookbehind.byteOffset, lookbehind.byteLength);
callback("onPartData", 0, previousIndex, _lookbehind);
previousIndex = 0;
mark("onPartData");
i3--;
}
break;
case S.END:
break;
default:
throw new Error(`Unexpected state entered: ${state3}`);
}
}
dataCallback("onHeaderField");
dataCallback("onHeaderValue");
dataCallback("onPartData");
this.index = index;
this.state = state3;
this.flags = flags;
}
end() {
if (this.state === S.HEADER_FIELD_START && this.index === 0 || this.state === S.PART_DATA && this.index === this.boundary.length) {
this.onPartEnd();
} else if (this.state !== S.END) {
throw new Error("MultipartParser.end(): stream ended unexpectedly");
}
}
}
function _fileName(headerValue) {
const m3 = headerValue.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);
if (!m3) {
return;
}
const match = m3[2] || m3[3] || "";
let filename = match.slice(match.lastIndexOf("\\") + 1);
filename = filename.replace(/%22/g, '"');
filename = filename.replace(/(\d{4});/g, (m4, code) => {
return String.fromCharCode(code);
});
return filename;
}
async function toFormData3(Body, ct) {
if (!/multipart/i.test(ct)) {
throw new TypeError("Failed to fetch");
}
const m3 = ct.match(/boundary=(?:"([^"]+)"|([^;]+))/i);
if (!m3) {
throw new TypeError("no or bad content-type header, no multipart boundary");
}
const parser = new MultipartParser(m3[1] || m3[2]);
let headerField;
let headerValue;
let entryValue;
let entryName;
let contentType;
let filename;
const entryChunks = [];
const formData = new FormData3;
const onPartData = (ui8a) => {
entryValue += decoder.decode(ui8a, { stream: true });
};
const appendToFile = (ui8a) => {
entryChunks.push(ui8a);
};
const appendFileToFormData = () => {
const file2 = new file_default(entryChunks, filename, { type: contentType });
formData.append(entryName, file2);
};
const appendEntryToFormData = () => {
formData.append(entryName, entryValue);
};
const decoder = new TextDecoder("utf-8");
decoder.decode();
parser.onPartBegin = function() {
parser.onPartData = onPartData;
parser.onPartEnd = appendEntryToFormData;
headerField = "";
headerValue = "";
entryValue = "";
entryName = "";
contentType = "";
filename = null;
entryChunks.length = 0;
};
parser.onHeaderField = function(ui8a) {
headerField += decoder.decode(ui8a, { stream: true });
};
parser.onHeaderValue = function(ui8a) {
headerValue += decoder.decode(ui8a, { stream: true });
};
parser.onHeaderEnd = function() {
headerValue += decoder.decode();
headerField = headerField.toLowerCase();
if (headerField === "content-disposition") {
const m4 = headerValue.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);
if (m4) {
entryName = m4[2] || m4[3] || "";
}
filename = _fileName(headerValue);
if (filename) {
parser.onPartData = appendToFile;
parser.onPartEnd = appendFileToFormData;
}
} else if (headerField === "content-type") {
contentType = headerValue;
}
headerValue = "";
headerField = "";
};
for await (const chunk of Body) {
parser.write(chunk);
}
parser.end();
return formData;
}
var s = 0, S, f2 = 1, F2, LF3 = 10, CR2 = 13, SPACE = 32, HYPHEN = 45, COLON = 58, A = 97, Z = 122, lower = (c5) => c5 | 32, noop8 = () => {};
var init_multipart_parser = __esm(() => {
init_from();
init_esm_min();
S = {
START_BOUNDARY: s++,
HEADER_FIELD_START: s++,
HEADER_FIELD: s++,
HEADER_VALUE_START: s++,
HEADER_VALUE: s++,
HEADER_VALUE_ALMOST_DONE: s++,
HEADERS_ALMOST_DONE: s++,
PART_DATA_START: s++,
PART_DATA: s++,
END: s++
};
F2 = {
PART_BOUNDARY: f2,
LAST_BOUNDARY: f2 *= 2
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/body.js
import Stream3, { PassThrough as PassThrough2 } from "node:stream";
import { types, deprecate, promisify as promisify9 } from "node:util";
import { Buffer as Buffer8 } from "node:buffer";
class Body {
constructor(body, {
size = 0
} = {}) {
let boundary = null;
if (body === null) {
body = null;
} else if (isURLSearchParameters(body)) {
body = Buffer8.from(body.toString());
} else if (isBlob3(body)) {} else if (Buffer8.isBuffer(body)) {} else if (types.isAnyArrayBuffer(body)) {
body = Buffer8.from(body);
} else if (ArrayBuffer.isView(body)) {
body = Buffer8.from(body.buffer, body.byteOffset, body.byteLength);
} else if (body instanceof Stream3) {} else if (body instanceof FormData3) {
body = formDataToBlob(body);
boundary = body.type.split("=")[1];
} else {
body = Buffer8.from(String(body));
}
let stream4 = body;
if (Buffer8.isBuffer(body)) {
stream4 = Stream3.Readable.from(body);
} else if (isBlob3(body)) {
stream4 = Stream3.Readable.from(body.stream());
}
this[INTERNALS] = {
body,
stream: stream4,
boundary,
disturbed: false,
error: null
};
this.size = size;
if (body instanceof Stream3) {
body.on("error", (error_) => {
const error51 = error_ instanceof FetchBaseError ? error_ : new FetchError(`Invalid response body while trying to fetch ${this.url}: ${error_.message}`, "system", error_);
this[INTERNALS].error = error51;
});
}
}
get body() {
return this[INTERNALS].stream;
}
get bodyUsed() {
return this[INTERNALS].disturbed;
}
async arrayBuffer() {
const { buffer, byteOffset, byteLength } = await consumeBody(this);
return buffer.slice(byteOffset, byteOffset + byteLength);
}
async formData() {
const ct = this.headers.get("content-type");
if (ct.startsWith("application/x-www-form-urlencoded")) {
const formData = new FormData3;
const parameters = new URLSearchParams(await this.text());
for (const [name3, value] of parameters) {
formData.append(name3, value);
}
return formData;
}
const { toFormData: toFormData4 } = await Promise.resolve().then(() => (init_multipart_parser(), exports_multipart_parser));
return toFormData4(this.body, ct);
}
async blob() {
const ct = this.headers && this.headers.get("content-type") || this[INTERNALS].body && this[INTERNALS].body.type || "";
const buf = await this.arrayBuffer();
return new fetch_blob_default([buf], {
type: ct
});
}
async json() {
const text = await this.text();
return JSON.parse(text);
}
async text() {
const buffer = await consumeBody(this);
return new TextDecoder().decode(buffer);
}
buffer() {
return consumeBody(this);
}
}
async function consumeBody(data) {
if (data[INTERNALS].disturbed) {
throw new TypeError(`body used already for: ${data.url}`);
}
data[INTERNALS].disturbed = true;
if (data[INTERNALS].error) {
throw data[INTERNALS].error;
}
const { body } = data;
if (body === null) {
return Buffer8.alloc(0);
}
if (!(body instanceof Stream3)) {
return Buffer8.alloc(0);
}
const accum = [];
let accumBytes = 0;
try {
for await (const chunk of body) {
if (data.size > 0 && accumBytes + chunk.length > data.size) {
const error51 = new FetchError(`content size at ${data.url} over limit: ${data.size}`, "max-size");
body.destroy(error51);
throw error51;
}
accumBytes += chunk.length;
accum.push(chunk);
}
} catch (error51) {
const error_ = error51 instanceof FetchBaseError ? error51 : new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error51.message}`, "system", error51);
throw error_;
}
if (body.readableEnded === true || body._readableState.ended === true) {
try {
if (accum.every((c5) => typeof c5 === "string")) {
return Buffer8.from(accum.join(""));
}
return Buffer8.concat(accum, accumBytes);
} catch (error51) {
throw new FetchError(`Could not create Buffer from response body for ${data.url}: ${error51.message}`, "system", error51);
}
} else {
throw new FetchError(`Premature close of server response while trying to fetch ${data.url}`);
}
}
var pipeline, INTERNALS, clone3 = (instance, highWaterMark) => {
let p1;
let p2;
let { body } = instance[INTERNALS];
if (instance.bodyUsed) {
throw new Error("cannot clone body after it is used");
}
if (body instanceof Stream3 && typeof body.getBoundary !== "function") {
p1 = new PassThrough2({ highWaterMark });
p2 = new PassThrough2({ highWaterMark });
body.pipe(p1);
body.pipe(p2);
instance[INTERNALS].stream = p1;
body = p2;
}
return body;
}, getNonSpecFormDataBoundary, extractContentType = (body, request) => {
if (body === null) {
return null;
}
if (typeof body === "string") {
return "text/plain;charset=UTF-8";
}
if (isURLSearchParameters(body)) {
return "application/x-www-form-urlencoded;charset=UTF-8";
}
if (isBlob3(body)) {
return body.type || null;
}
if (Buffer8.isBuffer(body) || types.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) {
return null;
}
if (body instanceof FormData3) {
return `multipart/form-data; boundary=${request[INTERNALS].boundary}`;
}
if (body && typeof body.getBoundary === "function") {
return `multipart/form-data;boundary=${getNonSpecFormDataBoundary(body)}`;
}
if (body instanceof Stream3) {
return null;
}
return "text/plain;charset=UTF-8";
}, getTotalBytes = (request) => {
const { body } = request[INTERNALS];
if (body === null) {
return 0;
}
if (isBlob3(body)) {
return body.size;
}
if (Buffer8.isBuffer(body)) {
return body.length;
}
if (body && typeof body.getLengthSync === "function") {
return body.hasKnownLength && body.hasKnownLength() ? body.getLengthSync() : null;
}
return null;
}, writeToStream = async (dest, { body }) => {
if (body === null) {
dest.end();
} else {
await pipeline(body, dest);
}
};
var init_body = __esm(() => {
init_fetch_blob();
init_esm_min();
init_fetch_error();
init_base2();
init_is2();
pipeline = promisify9(Stream3.pipeline);
INTERNALS = Symbol("Body internals");
Body.prototype.buffer = deprecate(Body.prototype.buffer, "Please use 'response.arrayBuffer()' instead of 'response.buffer()'", "node-fetch#buffer");
Object.defineProperties(Body.prototype, {
body: { enumerable: true },
bodyUsed: { enumerable: true },
arrayBuffer: { enumerable: true },
blob: { enumerable: true },
json: { enumerable: true },
text: { enumerable: true },
data: { get: deprecate(() => {}, "data doesn't exist, use json(), text(), arrayBuffer(), or body instead", "https://github.com/node-fetch/node-fetch/issues/1000 (response)") }
});
getNonSpecFormDataBoundary = deprecate((body) => body.getBoundary(), "form-data doesn't follow the spec and requires special treatment. Use alternative package", "https://github.com/node-fetch/node-fetch/issues/1167");
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/headers.js
import { types as types2 } from "node:util";
import http7 from "node:http";
function fromRawHeaders(headers = []) {
return new Headers2(headers.reduce((result, value, index, array2) => {
if (index % 2 === 0) {
result.push(array2.slice(index, index + 2));
}
return result;
}, []).filter(([name3, value]) => {
try {
validateHeaderName(name3);
validateHeaderValue(name3, String(value));
return true;
} catch {
return false;
}
}));
}
var validateHeaderName, validateHeaderValue, Headers2;
var init_headers4 = __esm(() => {
validateHeaderName = typeof http7.validateHeaderName === "function" ? http7.validateHeaderName : (name3) => {
if (!/^[\^`\-\w!#$%&'*+.|~]+$/.test(name3)) {
const error51 = new TypeError(`Header name must be a valid HTTP token [${name3}]`);
Object.defineProperty(error51, "code", { value: "ERR_INVALID_HTTP_TOKEN" });
throw error51;
}
};
validateHeaderValue = typeof http7.validateHeaderValue === "function" ? http7.validateHeaderValue : (name3, value) => {
if (/[^\t\u0020-\u007E\u0080-\u00FF]/.test(value)) {
const error51 = new TypeError(`Invalid character in header content ["${name3}"]`);
Object.defineProperty(error51, "code", { value: "ERR_INVALID_CHAR" });
throw error51;
}
};
Headers2 = class Headers2 extends URLSearchParams {
constructor(init) {
let result = [];
if (init instanceof Headers2) {
const raw = init.raw();
for (const [name3, values2] of Object.entries(raw)) {
result.push(...values2.map((value) => [name3, value]));
}
} else if (init == null) {} else if (typeof init === "object" && !types2.isBoxedPrimitive(init)) {
const method = init[Symbol.iterator];
if (method == null) {
result.push(...Object.entries(init));
} else {
if (typeof method !== "function") {
throw new TypeError("Header pairs must be iterable");
}
result = [...init].map((pair) => {
if (typeof pair !== "object" || types2.isBoxedPrimitive(pair)) {
throw new TypeError("Each header pair must be an iterable object");
}
return [...pair];
}).map((pair) => {
if (pair.length !== 2) {
throw new TypeError("Each header pair must be a name/value tuple");
}
return [...pair];
});
}
} else {
throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence> or record)");
}
result = result.length > 0 ? result.map(([name3, value]) => {
validateHeaderName(name3);
validateHeaderValue(name3, String(value));
return [String(name3).toLowerCase(), String(value)];
}) : undefined;
super(result);
return new Proxy(this, {
get(target, p, receiver) {
switch (p) {
case "append":
case "set":
return (name3, value) => {
validateHeaderName(name3);
validateHeaderValue(name3, String(value));
return URLSearchParams.prototype[p].call(target, String(name3).toLowerCase(), String(value));
};
case "delete":
case "has":
case "getAll":
return (name3) => {
validateHeaderName(name3);
return URLSearchParams.prototype[p].call(target, String(name3).toLowerCase());
};
case "keys":
return () => {
target.sort();
return new Set(URLSearchParams.prototype.keys.call(target)).keys();
};
default:
return Reflect.get(target, p, receiver);
}
}
});
}
get [Symbol.toStringTag]() {
return this.constructor.name;
}
toString() {
return Object.prototype.toString.call(this);
}
get(name3) {
const values2 = this.getAll(name3);
if (values2.length === 0) {
return null;
}
let value = values2.join(", ");
if (/^content-encoding$/i.test(name3)) {
value = value.toLowerCase();
}
return value;
}
forEach(callback, thisArg = undefined) {
for (const name3 of this.keys()) {
Reflect.apply(callback, thisArg, [this.get(name3), name3, this]);
}
}
*values() {
for (const name3 of this.keys()) {
yield this.get(name3);
}
}
*entries() {
for (const name3 of this.keys()) {
yield [name3, this.get(name3)];
}
}
[Symbol.iterator]() {
return this.entries();
}
raw() {
return [...this.keys()].reduce((result, key) => {
result[key] = this.getAll(key);
return result;
}, {});
}
[Symbol.for("nodejs.util.inspect.custom")]() {
return [...this.keys()].reduce((result, key) => {
const values2 = this.getAll(key);
if (key === "host") {
result[key] = values2[0];
} else {
result[key] = values2.length > 1 ? values2 : values2[0];
}
return result;
}, {});
}
};
Object.defineProperties(Headers2.prototype, ["get", "entries", "forEach", "values"].reduce((result, property2) => {
result[property2] = { enumerable: true };
return result;
}, {}));
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/is-redirect.js
var redirectStatus, isRedirect = (code) => {
return redirectStatus.has(code);
};
var init_is_redirect = __esm(() => {
redirectStatus = new Set([301, 302, 303, 307, 308]);
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/response.js
var INTERNALS2, Response2;
var init_response = __esm(() => {
init_headers4();
init_body();
init_is_redirect();
INTERNALS2 = Symbol("Response internals");
Response2 = class Response2 extends Body {
constructor(body = null, options = {}) {
super(body, options);
const status = options.status != null ? options.status : 200;
const headers = new Headers2(options.headers);
if (body !== null && !headers.has("Content-Type")) {
const contentType = extractContentType(body, this);
if (contentType) {
headers.append("Content-Type", contentType);
}
}
this[INTERNALS2] = {
type: "default",
url: options.url,
status,
statusText: options.statusText || "",
headers,
counter: options.counter,
highWaterMark: options.highWaterMark
};
}
get type() {
return this[INTERNALS2].type;
}
get url() {
return this[INTERNALS2].url || "";
}
get status() {
return this[INTERNALS2].status;
}
get ok() {
return this[INTERNALS2].status >= 200 && this[INTERNALS2].status < 300;
}
get redirected() {
return this[INTERNALS2].counter > 0;
}
get statusText() {
return this[INTERNALS2].statusText;
}
get headers() {
return this[INTERNALS2].headers;
}
get highWaterMark() {
return this[INTERNALS2].highWaterMark;
}
clone() {
return new Response2(clone3(this, this.highWaterMark), {
type: this.type,
url: this.url,
status: this.status,
statusText: this.statusText,
headers: this.headers,
ok: this.ok,
redirected: this.redirected,
size: this.size,
highWaterMark: this.highWaterMark
});
}
static redirect(url3, status = 302) {
if (!isRedirect(status)) {
throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');
}
return new Response2(null, {
headers: {
location: new URL(url3).toString()
},
status
});
}
static error() {
const response = new Response2(null, { status: 0, statusText: "" });
response[INTERNALS2].type = "error";
return response;
}
static json(data = undefined, init = {}) {
const body = JSON.stringify(data);
if (body === undefined) {
throw new TypeError("data is not JSON serializable");
}
const headers = new Headers2(init && init.headers);
if (!headers.has("content-type")) {
headers.set("content-type", "application/json");
}
return new Response2(body, {
...init,
headers
});
}
get [Symbol.toStringTag]() {
return "Response";
}
};
Object.defineProperties(Response2.prototype, {
type: { enumerable: true },
url: { enumerable: true },
status: { enumerable: true },
ok: { enumerable: true },
redirected: { enumerable: true },
statusText: { enumerable: true },
headers: { enumerable: true },
clone: { enumerable: true }
});
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/get-search.js
var getSearch = (parsedURL) => {
if (parsedURL.search) {
return parsedURL.search;
}
const lastOffset = parsedURL.href.length - 1;
const hash3 = parsedURL.hash || (parsedURL.href[lastOffset] === "#" ? "#" : "");
return parsedURL.href[lastOffset - hash3.length] === "?" ? "?" : "";
};
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/utils/referrer.js
import { isIP as isIP2 } from "node:net";
function stripURLForUseAsAReferrer(url3, originOnly = false) {
if (url3 == null) {
return "no-referrer";
}
url3 = new URL(url3);
if (/^(about|blob|data):$/.test(url3.protocol)) {
return "no-referrer";
}
url3.username = "";
url3.password = "";
url3.hash = "";
if (originOnly) {
url3.pathname = "";
url3.search = "";
}
return url3;
}
function validateReferrerPolicy(referrerPolicy) {
if (!ReferrerPolicy.has(referrerPolicy)) {
throw new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);
}
return referrerPolicy;
}
function isOriginPotentiallyTrustworthy(url3) {
if (/^(http|ws)s:$/.test(url3.protocol)) {
return true;
}
const hostIp = url3.host.replace(/(^\[)|(]$)/g, "");
const hostIPVersion = isIP2(hostIp);
if (hostIPVersion === 4 && /^127\./.test(hostIp)) {
return true;
}
if (hostIPVersion === 6 && /^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)) {
return true;
}
if (url3.host === "localhost" || url3.host.endsWith(".localhost")) {
return false;
}
if (url3.protocol === "file:") {
return true;
}
return false;
}
function isUrlPotentiallyTrustworthy(url3) {
if (/^about:(blank|srcdoc)$/.test(url3)) {
return true;
}
if (url3.protocol === "data:") {
return true;
}
if (/^(blob|filesystem):$/.test(url3.protocol)) {
return true;
}
return isOriginPotentiallyTrustworthy(url3);
}
function determineRequestsReferrer(request, { referrerURLCallback, referrerOriginCallback } = {}) {
if (request.referrer === "no-referrer" || request.referrerPolicy === "") {
return null;
}
const policy = request.referrerPolicy;
if (request.referrer === "about:client") {
return "no-referrer";
}
const referrerSource = request.referrer;
let referrerURL = stripURLForUseAsAReferrer(referrerSource);
let referrerOrigin = stripURLForUseAsAReferrer(referrerSource, true);
if (referrerURL.toString().length > 4096) {
referrerURL = referrerOrigin;
}
if (referrerURLCallback) {
referrerURL = referrerURLCallback(referrerURL);
}
if (referrerOriginCallback) {
referrerOrigin = referrerOriginCallback(referrerOrigin);
}
const currentURL = new URL(request.url);
switch (policy) {
case "no-referrer":
return "no-referrer";
case "origin":
return referrerOrigin;
case "unsafe-url":
return referrerURL;
case "strict-origin":
if (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin.toString();
case "strict-origin-when-cross-origin":
if (referrerURL.origin === currentURL.origin) {
return referrerURL;
}
if (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerOrigin;
case "same-origin":
if (referrerURL.origin === currentURL.origin) {
return referrerURL;
}
return "no-referrer";
case "origin-when-cross-origin":
if (referrerURL.origin === currentURL.origin) {
return referrerURL;
}
return referrerOrigin;
case "no-referrer-when-downgrade":
if (isUrlPotentiallyTrustworthy(referrerURL) && !isUrlPotentiallyTrustworthy(currentURL)) {
return "no-referrer";
}
return referrerURL;
default:
throw new TypeError(`Invalid referrerPolicy: ${policy}`);
}
}
function parseReferrerPolicyFromHeader(headers) {
const policyTokens = (headers.get("referrer-policy") || "").split(/[,\s]+/);
let policy = "";
for (const token of policyTokens) {
if (token && ReferrerPolicy.has(token)) {
policy = token;
}
}
return policy;
}
var ReferrerPolicy, DEFAULT_REFERRER_POLICY = "strict-origin-when-cross-origin";
var init_referrer = __esm(() => {
ReferrerPolicy = new Set([
"",
"no-referrer",
"no-referrer-when-downgrade",
"same-origin",
"origin",
"strict-origin",
"origin-when-cross-origin",
"strict-origin-when-cross-origin",
"unsafe-url"
]);
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/request.js
import { format as formatUrl } from "node:url";
import { deprecate as deprecate2 } from "node:util";
var INTERNALS3, isRequest2 = (object2) => {
return typeof object2 === "object" && typeof object2[INTERNALS3] === "object";
}, doBadDataWarn, Request2, getNodeRequestOptions = (request) => {
const { parsedURL } = request[INTERNALS3];
const headers = new Headers2(request[INTERNALS3].headers);
if (!headers.has("Accept")) {
headers.set("Accept", "*/*");
}
let contentLengthValue = null;
if (request.body === null && /^(post|put)$/i.test(request.method)) {
contentLengthValue = "0";
}
if (request.body !== null) {
const totalBytes = getTotalBytes(request);
if (typeof totalBytes === "number" && !Number.isNaN(totalBytes)) {
contentLengthValue = String(totalBytes);
}
}
if (contentLengthValue) {
headers.set("Content-Length", contentLengthValue);
}
if (request.referrerPolicy === "") {
request.referrerPolicy = DEFAULT_REFERRER_POLICY;
}
if (request.referrer && request.referrer !== "no-referrer") {
request[INTERNALS3].referrer = determineRequestsReferrer(request);
} else {
request[INTERNALS3].referrer = "no-referrer";
}
if (request[INTERNALS3].referrer instanceof URL) {
headers.set("Referer", request.referrer);
}
if (!headers.has("User-Agent")) {
headers.set("User-Agent", "node-fetch");
}
if (request.compress && !headers.has("Accept-Encoding")) {
headers.set("Accept-Encoding", "gzip, deflate, br");
}
let { agent } = request;
if (typeof agent === "function") {
agent = agent(parsedURL);
}
const search = getSearch(parsedURL);
const options = {
path: parsedURL.pathname + search,
method: request.method,
headers: headers[Symbol.for("nodejs.util.inspect.custom")](),
insecureHTTPParser: request.insecureHTTPParser,
agent
};
return {
parsedURL,
options
};
};
var init_request = __esm(() => {
init_headers4();
init_body();
init_is2();
init_referrer();
INTERNALS3 = Symbol("Request internals");
doBadDataWarn = deprecate2(() => {}, ".data is not a valid RequestInit property, use .body instead", "https://github.com/node-fetch/node-fetch/issues/1000 (request)");
Request2 = class Request2 extends Body {
constructor(input, init = {}) {
let parsedURL;
if (isRequest2(input)) {
parsedURL = new URL(input.url);
} else {
parsedURL = new URL(input);
input = {};
}
if (parsedURL.username !== "" || parsedURL.password !== "") {
throw new TypeError(`${parsedURL} is an url with embedded credentials.`);
}
let method = init.method || input.method || "GET";
if (/^(delete|get|head|options|post|put)$/i.test(method)) {
method = method.toUpperCase();
}
if (!isRequest2(init) && "data" in init) {
doBadDataWarn();
}
if ((init.body != null || isRequest2(input) && input.body !== null) && (method === "GET" || method === "HEAD")) {
throw new TypeError("Request with GET/HEAD method cannot have body");
}
const inputBody = init.body ? init.body : isRequest2(input) && input.body !== null ? clone3(input) : null;
super(inputBody, {
size: init.size || input.size || 0
});
const headers = new Headers2(init.headers || input.headers || {});
if (inputBody !== null && !headers.has("Content-Type")) {
const contentType = extractContentType(inputBody, this);
if (contentType) {
headers.set("Content-Type", contentType);
}
}
let signal = isRequest2(input) ? input.signal : null;
if ("signal" in init) {
signal = init.signal;
}
if (signal != null && !isAbortSignal(signal)) {
throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");
}
let referrer = init.referrer == null ? input.referrer : init.referrer;
if (referrer === "") {
referrer = "no-referrer";
} else if (referrer) {
const parsedReferrer = new URL(referrer);
referrer = /^about:(\/\/)?client$/.test(parsedReferrer) ? "client" : parsedReferrer;
} else {
referrer = undefined;
}
this[INTERNALS3] = {
method,
redirect: init.redirect || input.redirect || "follow",
headers,
parsedURL,
signal,
referrer
};
this.follow = init.follow === undefined ? input.follow === undefined ? 20 : input.follow : init.follow;
this.compress = init.compress === undefined ? input.compress === undefined ? true : input.compress : init.compress;
this.counter = init.counter || input.counter || 0;
this.agent = init.agent || input.agent;
this.highWaterMark = init.highWaterMark || input.highWaterMark || 16384;
this.insecureHTTPParser = init.insecureHTTPParser || input.insecureHTTPParser || false;
this.referrerPolicy = init.referrerPolicy || input.referrerPolicy || "";
}
get method() {
return this[INTERNALS3].method;
}
get url() {
return formatUrl(this[INTERNALS3].parsedURL);
}
get headers() {
return this[INTERNALS3].headers;
}
get redirect() {
return this[INTERNALS3].redirect;
}
get signal() {
return this[INTERNALS3].signal;
}
get referrer() {
if (this[INTERNALS3].referrer === "no-referrer") {
return "";
}
if (this[INTERNALS3].referrer === "client") {
return "about:client";
}
if (this[INTERNALS3].referrer) {
return this[INTERNALS3].referrer.toString();
}
return;
}
get referrerPolicy() {
return this[INTERNALS3].referrerPolicy;
}
set referrerPolicy(referrerPolicy) {
this[INTERNALS3].referrerPolicy = validateReferrerPolicy(referrerPolicy);
}
clone() {
return new Request2(this);
}
get [Symbol.toStringTag]() {
return "Request";
}
};
Object.defineProperties(Request2.prototype, {
method: { enumerable: true },
url: { enumerable: true },
headers: { enumerable: true },
redirect: { enumerable: true },
clone: { enumerable: true },
signal: { enumerable: true },
referrer: { enumerable: true },
referrerPolicy: { enumerable: true }
});
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/errors/abort-error.js
var AbortError5;
var init_abort_error = __esm(() => {
init_base2();
AbortError5 = class AbortError5 extends FetchBaseError {
constructor(message, type = "aborted") {
super(message, type);
}
};
});
// node_modules/.pnpm/node-fetch@3.3.2/node_modules/node-fetch/src/index.js
var exports_src = {};
__export(exports_src, {
isRedirect: () => isRedirect,
fileFromSync: () => fileFromSync,
fileFrom: () => fileFrom,
default: () => fetch2,
blobFromSync: () => blobFromSync,
blobFrom: () => blobFrom,
Response: () => Response2,
Request: () => Request2,
Headers: () => Headers2,
FormData: () => FormData3,
File: () => file_default,
FetchError: () => FetchError,
Blob: () => fetch_blob_default,
AbortError: () => AbortError5
});
import http8 from "node:http";
import https3 from "node:https";
import zlib3 from "node:zlib";
import Stream4, { PassThrough as PassThrough3, pipeline as pump } from "node:stream";
import { Buffer as Buffer9 } from "node:buffer";
async function fetch2(url3, options_) {
return new Promise((resolve9, reject) => {
const request = new Request2(url3, options_);
const { parsedURL, options } = getNodeRequestOptions(request);
if (!supportedSchemas.has(parsedURL.protocol)) {
throw new TypeError(`node-fetch cannot load ${url3}. URL scheme "${parsedURL.protocol.replace(/:$/, "")}" is not supported.`);
}
if (parsedURL.protocol === "data:") {
const data = dist_default(request.url);
const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
resolve9(response2);
return;
}
const send = (parsedURL.protocol === "https:" ? https3 : http8).request;
const { signal } = request;
let response = null;
const abort = () => {
const error51 = new AbortError5("The operation was aborted.");
reject(error51);
if (request.body && request.body instanceof Stream4.Readable) {
request.body.destroy(error51);
}
if (!response || !response.body) {
return;
}
response.body.emit("error", error51);
};
if (signal && signal.aborted) {
abort();
return;
}
const abortAndFinalize = () => {
abort();
finalize2();
};
const request_ = send(parsedURL.toString(), options);
if (signal) {
signal.addEventListener("abort", abortAndFinalize);
}
const finalize2 = () => {
request_.abort();
if (signal) {
signal.removeEventListener("abort", abortAndFinalize);
}
};
request_.on("error", (error51) => {
reject(new FetchError(`request to ${request.url} failed, reason: ${error51.message}`, "system", error51));
finalize2();
});
fixResponseChunkedTransferBadEnding(request_, (error51) => {
if (response && response.body) {
response.body.destroy(error51);
}
});
if (process.version < "v14") {
request_.on("socket", (s2) => {
let endedWithEventsCount;
s2.prependListener("end", () => {
endedWithEventsCount = s2._eventsCount;
});
s2.prependListener("close", (hadError) => {
if (response && endedWithEventsCount < s2._eventsCount && !hadError) {
const error51 = new Error("Premature close");
error51.code = "ERR_STREAM_PREMATURE_CLOSE";
response.body.emit("error", error51);
}
});
});
}
request_.on("response", (response_) => {
request_.setTimeout(0);
const headers = fromRawHeaders(response_.rawHeaders);
if (isRedirect(response_.statusCode)) {
const location = headers.get("Location");
let locationURL = null;
try {
locationURL = location === null ? null : new URL(location, request.url);
} catch {
if (request.redirect !== "manual") {
reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, "invalid-redirect"));
finalize2();
return;
}
}
switch (request.redirect) {
case "error":
reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect"));
finalize2();
return;
case "manual":
break;
case "follow": {
if (locationURL === null) {
break;
}
if (request.counter >= request.follow) {
reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect"));
finalize2();
return;
}
const requestOptions = {
headers: new Headers2(request.headers),
follow: request.follow,
counter: request.counter + 1,
agent: request.agent,
compress: request.compress,
method: request.method,
body: clone3(request),
signal: request.signal,
size: request.size,
referrer: request.referrer,
referrerPolicy: request.referrerPolicy
};
if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {
for (const name3 of ["authorization", "www-authenticate", "cookie", "cookie2"]) {
requestOptions.headers.delete(name3);
}
}
if (response_.statusCode !== 303 && request.body && options_.body instanceof Stream4.Readable) {
reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect"));
finalize2();
return;
}
if (response_.statusCode === 303 || (response_.statusCode === 301 || response_.statusCode === 302) && request.method === "POST") {
requestOptions.method = "GET";
requestOptions.body = undefined;
requestOptions.headers.delete("content-length");
}
const responseReferrerPolicy = parseReferrerPolicyFromHeader(headers);
if (responseReferrerPolicy) {
requestOptions.referrerPolicy = responseReferrerPolicy;
}
resolve9(fetch2(new Request2(locationURL, requestOptions)));
finalize2();
return;
}
default:
return reject(new TypeError(`Redirect option '${request.redirect}' is not a valid value of RequestRedirect`));
}
}
if (signal) {
response_.once("end", () => {
signal.removeEventListener("abort", abortAndFinalize);
});
}
let body = pump(response_, new PassThrough3, (error51) => {
if (error51) {
reject(error51);
}
});
if (process.version < "v12.10") {
response_.on("aborted", abortAndFinalize);
}
const responseOptions = {
url: request.url,
status: response_.statusCode,
statusText: response_.statusMessage,
headers,
size: request.size,
counter: request.counter,
highWaterMark: request.highWaterMark
};
const codings = headers.get("Content-Encoding");
if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
response = new Response2(body, responseOptions);
resolve9(response);
return;
}
const zlibOptions2 = {
flush: zlib3.Z_SYNC_FLUSH,
finishFlush: zlib3.Z_SYNC_FLUSH
};
if (codings === "gzip" || codings === "x-gzip") {
body = pump(body, zlib3.createGunzip(zlibOptions2), (error51) => {
if (error51) {
reject(error51);
}
});
response = new Response2(body, responseOptions);
resolve9(response);
return;
}
if (codings === "deflate" || codings === "x-deflate") {
const raw = pump(response_, new PassThrough3, (error51) => {
if (error51) {
reject(error51);
}
});
raw.once("data", (chunk) => {
if ((chunk[0] & 15) === 8) {
body = pump(body, zlib3.createInflate(), (error51) => {
if (error51) {
reject(error51);
}
});
} else {
body = pump(body, zlib3.createInflateRaw(), (error51) => {
if (error51) {
reject(error51);
}
});
}
response = new Response2(body, responseOptions);
resolve9(response);
});
raw.once("end", () => {
if (!response) {
response = new Response2(body, responseOptions);
resolve9(response);
}
});
return;
}
if (codings === "br") {
body = pump(body, zlib3.createBrotliDecompress(), (error51) => {
if (error51) {
reject(error51);
}
});
response = new Response2(body, responseOptions);
resolve9(response);
return;
}
response = new Response2(body, responseOptions);
resolve9(response);
});
writeToStream(request_, request).catch(reject);
});
}
function fixResponseChunkedTransferBadEnding(request, errorCallback) {
const LAST_CHUNK = Buffer9.from(`0\r
\r
`);
let isChunkedTransfer = false;
let properLastChunkReceived = false;
let previousChunk;
request.on("response", (response) => {
const { headers } = response;
isChunkedTransfer = headers["transfer-encoding"] === "chunked" && !headers["content-length"];
});
request.on("socket", (socket) => {
const onSocketClose = () => {
if (isChunkedTransfer && !properLastChunkReceived) {
const error51 = new Error("Premature close");
error51.code = "ERR_STREAM_PREMATURE_CLOSE";
errorCallback(error51);
}
};
const onData = (buf) => {
properLastChunkReceived = Buffer9.compare(buf.slice(-5), LAST_CHUNK) === 0;
if (!properLastChunkReceived && previousChunk) {
properLastChunkReceived = Buffer9.compare(previousChunk.slice(-3), LAST_CHUNK.slice(0, 3)) === 0 && Buffer9.compare(buf.slice(-2), LAST_CHUNK.slice(3)) === 0;
}
previousChunk = buf;
};
socket.prependListener("close", onSocketClose);
socket.on("data", onData);
request.on("close", () => {
socket.removeListener("close", onSocketClose);
socket.removeListener("data", onData);
});
});
}
var supportedSchemas;
var init_src = __esm(() => {
init_dist4();
init_body();
init_response();
init_headers4();
init_request();
init_fetch_error();
init_abort_error();
init_is_redirect();
init_esm_min();
init_is2();
init_referrer();
init_from();
supportedSchemas = new Set(["data:", "http:", "https:"]);
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/gaxios.js
var require_gaxios = __commonJS((exports) => {
var __importDefault = exports && exports.__importDefault || function(mod2) {
return mod2 && mod2.__esModule ? mod2 : { default: mod2 };
};
var _a3;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Gaxios = undefined;
var extend_1 = __importDefault(require_extend());
var https_1 = __require("https");
var common_js_1 = require_common2();
var retry_js_1 = require_retry3();
var stream_1 = __require("stream");
var interceptor_js_1 = require_interceptor();
var randomUUID4 = async () => globalThis.crypto?.randomUUID() || (await import("crypto")).randomUUID();
var HTTP_STATUS_NO_CONTENT = 204;
class Gaxios {
agentCache = new Map;
defaults;
interceptors;
constructor(defaults2) {
this.defaults = defaults2 || {};
this.interceptors = {
request: new interceptor_js_1.GaxiosInterceptorManager,
response: new interceptor_js_1.GaxiosInterceptorManager
};
}
fetch(...args) {
const input = args[0];
const init = args[1];
let url3 = undefined;
const headers = new Headers;
if (typeof input === "string") {
url3 = new URL(input);
} else if (input instanceof URL) {
url3 = input;
} else if (input && input.url) {
url3 = new URL(input.url);
}
if (input && typeof input === "object" && "headers" in input) {
_a3.mergeHeaders(headers, input.headers);
}
if (init) {
_a3.mergeHeaders(headers, new Headers(init.headers));
}
if (typeof input === "object" && !(input instanceof URL)) {
return this.request({ ...init, ...input, headers, url: url3 });
} else {
return this.request({ ...init, headers, url: url3 });
}
}
async request(opts = {}) {
let prepared = await this.#prepareRequest(opts);
prepared = await this.#applyRequestInterceptors(prepared);
return this.#applyResponseInterceptors(this._request(prepared));
}
async _defaultAdapter(config2) {
const fetchImpl = config2.fetchImplementation || this.defaults.fetchImplementation || await _a3.#getFetch();
const preparedOpts = { ...config2 };
delete preparedOpts.data;
const res = await fetchImpl(config2.url, preparedOpts);
const data = await this.getResponseData(config2, res);
if (!Object.getOwnPropertyDescriptor(res, "data")?.configurable) {
Object.defineProperties(res, {
data: {
configurable: true,
writable: true,
enumerable: true,
value: data
}
});
}
return Object.assign(res, { config: config2, data });
}
async _request(opts) {
try {
let translatedResponse;
if (opts.adapter) {
translatedResponse = await opts.adapter(opts, this._defaultAdapter.bind(this));
} else {
translatedResponse = await this._defaultAdapter(opts);
}
if (!opts.validateStatus(translatedResponse.status)) {
if (opts.responseType === "stream") {
const response = [];
for await (const chunk of translatedResponse.data) {
response.push(chunk);
}
translatedResponse.data = response.toString();
}
const errorInfo = common_js_1.GaxiosError.extractAPIErrorFromResponse(translatedResponse, `Request failed with status code ${translatedResponse.status}`);
throw new common_js_1.GaxiosError(errorInfo?.message, opts, translatedResponse, errorInfo);
}
return translatedResponse;
} catch (e2) {
let err;
if (e2 instanceof common_js_1.GaxiosError) {
err = e2;
} else if (e2 instanceof Error) {
err = new common_js_1.GaxiosError(e2.message, opts, undefined, e2);
} else {
err = new common_js_1.GaxiosError("Unexpected Gaxios Error", opts, undefined, e2);
}
const { shouldRetry, config: config2 } = await (0, retry_js_1.getRetryConfig)(err);
if (shouldRetry && config2) {
err.config.retryConfig.currentRetryAttempt = config2.retryConfig.currentRetryAttempt;
opts.retryConfig = err.config?.retryConfig;
this.#appendTimeoutToSignal(opts);
return this._request(opts);
}
if (opts.errorRedactor) {
opts.errorRedactor(err);
}
throw err;
}
}
async getResponseData(opts, res) {
if (res.status === HTTP_STATUS_NO_CONTENT) {
return "";
}
if (opts.maxContentLength && res.headers.has("content-length") && opts.maxContentLength < Number.parseInt(res.headers?.get("content-length") || "")) {
throw new common_js_1.GaxiosError("Response's `Content-Length` is over the limit.", opts, Object.assign(res, { config: opts }));
}
switch (opts.responseType) {
case "stream":
return res.body;
case "json": {
const data = await res.text();
try {
return JSON.parse(data);
} catch {
return data;
}
}
case "arraybuffer":
return res.arrayBuffer();
case "blob":
return res.blob();
case "text":
return res.text();
default:
return this.getResponseDataFromContentType(res);
}
}
#urlMayUseProxy(url3, noProxy = []) {
const candidate = new URL(url3);
const noProxyList = [...noProxy];
const noProxyEnvList = (process.env.NO_PROXY ?? process.env.no_proxy)?.split(",") || [];
for (const rule of noProxyEnvList) {
noProxyList.push(rule.trim());
}
for (const rule of noProxyList) {
if (rule instanceof RegExp) {
if (rule.test(candidate.toString())) {
return false;
}
} else if (rule instanceof URL) {
if (rule.origin === candidate.origin) {
return false;
}
} else if (rule.startsWith("*.") || rule.startsWith(".")) {
const cleanedRule = rule.replace(/^\*\./, ".");
if (candidate.hostname.endsWith(cleanedRule)) {
return false;
}
} else if (rule === candidate.origin || rule === candidate.hostname || rule === candidate.href) {
return false;
}
}
return true;
}
async#applyRequestInterceptors(options) {
let promiseChain = Promise.resolve(options);
for (const interceptor of this.interceptors.request.values()) {
if (interceptor) {
promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
}
}
return promiseChain;
}
async#applyResponseInterceptors(response) {
let promiseChain = Promise.resolve(response);
for (const interceptor of this.interceptors.response.values()) {
if (interceptor) {
promiseChain = promiseChain.then(interceptor.resolved, interceptor.rejected);
}
}
return promiseChain;
}
async#prepareRequest(options) {
const preparedHeaders = new Headers(this.defaults.headers);
_a3.mergeHeaders(preparedHeaders, options.headers);
const opts = (0, extend_1.default)(true, {}, this.defaults, options);
if (!opts.url) {
throw new Error("URL is required.");
}
if (opts.baseURL) {
opts.url = new URL(opts.url, opts.baseURL);
}
opts.url = new URL(opts.url);
if (opts.params) {
if (opts.paramsSerializer) {
let additionalQueryParams = opts.paramsSerializer(opts.params);
if (additionalQueryParams.startsWith("?")) {
additionalQueryParams = additionalQueryParams.slice(1);
}
const prefix = opts.url.toString().includes("?") ? "&" : "?";
opts.url = opts.url + prefix + additionalQueryParams;
} else {
const url3 = opts.url instanceof URL ? opts.url : new URL(opts.url);
for (const [key, value] of new URLSearchParams(opts.params)) {
url3.searchParams.append(key, value);
}
opts.url = url3;
}
}
if (typeof options.maxContentLength === "number") {
opts.size = options.maxContentLength;
}
if (typeof options.maxRedirects === "number") {
opts.follow = options.maxRedirects;
}
const shouldDirectlyPassData = typeof opts.data === "string" || opts.data instanceof ArrayBuffer || opts.data instanceof Blob || globalThis.File && opts.data instanceof File || opts.data instanceof FormData || opts.data instanceof stream_1.Readable || opts.data instanceof ReadableStream || opts.data instanceof String || opts.data instanceof URLSearchParams || ArrayBuffer.isView(opts.data) || ["Blob", "File", "FormData"].includes(opts.data?.constructor?.name || "");
if (opts.multipart?.length) {
const boundary = await randomUUID4();
preparedHeaders.set("content-type", `multipart/related; boundary=${boundary}`);
opts.body = stream_1.Readable.from(this.getMultipartRequest(opts.multipart, boundary));
} else if (shouldDirectlyPassData) {
opts.body = opts.data;
} else if (typeof opts.data === "object") {
if (preparedHeaders.get("Content-Type") === "application/x-www-form-urlencoded") {
opts.body = opts.paramsSerializer ? opts.paramsSerializer(opts.data) : new URLSearchParams(opts.data);
} else {
if (!preparedHeaders.has("content-type")) {
preparedHeaders.set("content-type", "application/json");
}
opts.body = JSON.stringify(opts.data);
}
} else if (opts.data) {
opts.body = opts.data;
}
opts.validateStatus = opts.validateStatus || this.validateStatus;
opts.responseType = opts.responseType || "unknown";
if (!preparedHeaders.has("accept") && opts.responseType === "json") {
preparedHeaders.set("accept", "application/json");
}
const proxy = opts.proxy || process?.env?.HTTPS_PROXY || process?.env?.https_proxy || process?.env?.HTTP_PROXY || process?.env?.http_proxy;
if (opts.agent) {} else if (proxy && this.#urlMayUseProxy(opts.url, opts.noProxy)) {
const HttpsProxyAgent3 = await _a3.#getProxyAgent();
if (this.agentCache.has(proxy)) {
opts.agent = this.agentCache.get(proxy);
} else {
opts.agent = new HttpsProxyAgent3(proxy, {
cert: opts.cert,
key: opts.key
});
this.agentCache.set(proxy, opts.agent);
}
} else if (opts.cert && opts.key) {
if (this.agentCache.has(opts.key)) {
opts.agent = this.agentCache.get(opts.key);
} else {
opts.agent = new https_1.Agent({
cert: opts.cert,
key: opts.key
});
this.agentCache.set(opts.key, opts.agent);
}
}
if (typeof opts.errorRedactor !== "function" && opts.errorRedactor !== false) {
opts.errorRedactor = common_js_1.defaultErrorRedactor;
}
if (opts.body && !("duplex" in opts)) {
opts.duplex = "half";
}
this.#appendTimeoutToSignal(opts);
return Object.assign(opts, {
headers: preparedHeaders,
url: opts.url instanceof URL ? opts.url : new URL(opts.url)
});
}
#appendTimeoutToSignal(opts) {
if (opts.timeout) {
const timeoutSignal = AbortSignal.timeout(opts.timeout);
if (opts.signal && !opts.signal.aborted) {
opts.signal = AbortSignal.any([opts.signal, timeoutSignal]);
} else {
opts.signal = timeoutSignal;
}
}
}
validateStatus(status) {
return status >= 200 && status < 300;
}
async getResponseDataFromContentType(response) {
let contentType = response.headers.get("Content-Type");
if (contentType === null) {
return response.text();
}
contentType = contentType.toLowerCase();
if (contentType.includes("application/json")) {
let data = await response.text();
try {
data = JSON.parse(data);
} catch {}
return data;
} else if (contentType.match(/^text\//)) {
return response.text();
} else {
return response.blob();
}
}
async* getMultipartRequest(multipartOptions, boundary) {
const finale = `--${boundary}--`;
for (const currentPart of multipartOptions) {
const partContentType = currentPart.headers.get("Content-Type") || "application/octet-stream";
const preamble = `--${boundary}\r
Content-Type: ${partContentType}\r
\r
`;
yield preamble;
if (typeof currentPart.content === "string") {
yield currentPart.content;
} else {
yield* currentPart.content;
}
yield `\r
`;
}
yield finale;
}
static #proxyAgent;
static #fetch;
static async#getProxyAgent() {
this.#proxyAgent ||= (await Promise.resolve().then(() => __toESM(require_dist4()))).HttpsProxyAgent;
return this.#proxyAgent;
}
static async#getFetch() {
const hasWindow = typeof window !== "undefined" && !!window;
this.#fetch ||= hasWindow ? window.fetch : (await Promise.resolve().then(() => (init_src(), exports_src))).default;
return this.#fetch;
}
static mergeHeaders(base2, ...append2) {
base2 = base2 instanceof Headers ? base2 : new Headers(base2);
for (const headers of append2) {
const add = headers instanceof Headers ? headers : new Headers(headers);
add.forEach((value, key) => {
key === "set-cookie" ? base2.append(key, value) : base2.set(key, value);
});
}
return base2;
}
}
exports.Gaxios = Gaxios;
_a3 = Gaxios;
});
// node_modules/.pnpm/gaxios@7.1.4/node_modules/gaxios/build/cjs/src/index.js
var require_src2 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.instance = exports.Gaxios = exports.GaxiosError = undefined;
exports.request = request;
var gaxios_js_1 = require_gaxios();
Object.defineProperty(exports, "Gaxios", { enumerable: true, get: function() {
return gaxios_js_1.Gaxios;
} });
var common_js_1 = require_common2();
Object.defineProperty(exports, "GaxiosError", { enumerable: true, get: function() {
return common_js_1.GaxiosError;
} });
__exportStar(require_interceptor(), exports);
exports.instance = new gaxios_js_1.Gaxios;
async function request(opts) {
return exports.instance.request(opts);
}
});
// node_modules/.pnpm/bignumber.js@9.3.1/node_modules/bignumber.js/bignumber.js
var require_bignumber = __commonJS((exports, module) => {
(function(globalObject) {
var BigNumber, isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, mathceil = Math.ceil, mathfloor = Math.floor, bignumberError = "[BigNumber Error] ", tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ", BASE = 100000000000000, LOG_BASE = 14, MAX_SAFE_INTEGER3 = 9007199254740991, POWS_TEN = [1, 10, 100, 1000, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 10000000000, 100000000000, 1000000000000, 10000000000000], SQRT_BASE = 1e7, MAX = 1e9;
function clone4(configObject) {
var div, convertBase, parseNumeric, P2 = BigNumber2.prototype = { constructor: BigNumber2, toString: null, valueOf: null }, ONE = new BigNumber2(1), DECIMAL_PLACES = 20, ROUNDING_MODE = 4, TO_EXP_NEG = -7, TO_EXP_POS = 21, MIN_EXP = -1e7, MAX_EXP = 1e7, CRYPTO = false, MODULO_MODE = 1, POW_PRECISION = 0, FORMAT = {
prefix: "",
groupSize: 3,
secondaryGroupSize: 0,
groupSeparator: ",",
decimalSeparator: ".",
fractionGroupSize: 0,
fractionGroupSeparator: " ",
suffix: ""
}, ALPHABET2 = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
function BigNumber2(v2, b2) {
var alphabet, c5, caseChanged, e2, i3, isNum, len, str, x4 = this;
if (!(x4 instanceof BigNumber2))
return new BigNumber2(v2, b2);
if (b2 == null) {
if (v2 && v2._isBigNumber === true) {
x4.s = v2.s;
if (!v2.c || v2.e > MAX_EXP) {
x4.c = x4.e = null;
} else if (v2.e < MIN_EXP) {
x4.c = [x4.e = 0];
} else {
x4.e = v2.e;
x4.c = v2.c.slice();
}
return;
}
if ((isNum = typeof v2 == "number") && v2 * 0 == 0) {
x4.s = 1 / v2 < 0 ? (v2 = -v2, -1) : 1;
if (v2 === ~~v2) {
for (e2 = 0, i3 = v2;i3 >= 10; i3 /= 10, e2++)
;
if (e2 > MAX_EXP) {
x4.c = x4.e = null;
} else {
x4.e = e2;
x4.c = [v2];
}
return;
}
str = String(v2);
} else {
if (!isNumeric.test(str = String(v2)))
return parseNumeric(x4, str, isNum);
x4.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;
}
if ((e2 = str.indexOf(".")) > -1)
str = str.replace(".", "");
if ((i3 = str.search(/e/i)) > 0) {
if (e2 < 0)
e2 = i3;
e2 += +str.slice(i3 + 1);
str = str.substring(0, i3);
} else if (e2 < 0) {
e2 = str.length;
}
} else {
intCheck(b2, 2, ALPHABET2.length, "Base");
if (b2 == 10 && alphabetHasNormalDecimalDigits) {
x4 = new BigNumber2(v2);
return round(x4, DECIMAL_PLACES + x4.e + 1, ROUNDING_MODE);
}
str = String(v2);
if (isNum = typeof v2 == "number") {
if (v2 * 0 != 0)
return parseNumeric(x4, str, isNum, b2);
x4.s = 1 / v2 < 0 ? (str = str.slice(1), -1) : 1;
if (BigNumber2.DEBUG && str.replace(/^0\.0*|\./, "").length > 15) {
throw Error(tooManyDigits + v2);
}
} else {
x4.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;
}
alphabet = ALPHABET2.slice(0, b2);
e2 = i3 = 0;
for (len = str.length;i3 < len; i3++) {
if (alphabet.indexOf(c5 = str.charAt(i3)) < 0) {
if (c5 == ".") {
if (i3 > e2) {
e2 = len;
continue;
}
} else if (!caseChanged) {
if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {
caseChanged = true;
i3 = -1;
e2 = 0;
continue;
}
}
return parseNumeric(x4, String(v2), isNum, b2);
}
}
isNum = false;
str = convertBase(str, b2, 10, x4.s);
if ((e2 = str.indexOf(".")) > -1)
str = str.replace(".", "");
else
e2 = str.length;
}
for (i3 = 0;str.charCodeAt(i3) === 48; i3++)
;
for (len = str.length;str.charCodeAt(--len) === 48; )
;
if (str = str.slice(i3, ++len)) {
len -= i3;
if (isNum && BigNumber2.DEBUG && len > 15 && (v2 > MAX_SAFE_INTEGER3 || v2 !== mathfloor(v2))) {
throw Error(tooManyDigits + x4.s * v2);
}
if ((e2 = e2 - i3 - 1) > MAX_EXP) {
x4.c = x4.e = null;
} else if (e2 < MIN_EXP) {
x4.c = [x4.e = 0];
} else {
x4.e = e2;
x4.c = [];
i3 = (e2 + 1) % LOG_BASE;
if (e2 < 0)
i3 += LOG_BASE;
if (i3 < len) {
if (i3)
x4.c.push(+str.slice(0, i3));
for (len -= LOG_BASE;i3 < len; ) {
x4.c.push(+str.slice(i3, i3 += LOG_BASE));
}
i3 = LOG_BASE - (str = str.slice(i3)).length;
} else {
i3 -= len;
}
for (;i3--; str += "0")
;
x4.c.push(+str);
}
} else {
x4.c = [x4.e = 0];
}
}
BigNumber2.clone = clone4;
BigNumber2.ROUND_UP = 0;
BigNumber2.ROUND_DOWN = 1;
BigNumber2.ROUND_CEIL = 2;
BigNumber2.ROUND_FLOOR = 3;
BigNumber2.ROUND_HALF_UP = 4;
BigNumber2.ROUND_HALF_DOWN = 5;
BigNumber2.ROUND_HALF_EVEN = 6;
BigNumber2.ROUND_HALF_CEIL = 7;
BigNumber2.ROUND_HALF_FLOOR = 8;
BigNumber2.EUCLID = 9;
BigNumber2.config = BigNumber2.set = function(obj) {
var p, v2;
if (obj != null) {
if (typeof obj == "object") {
if (obj.hasOwnProperty(p = "DECIMAL_PLACES")) {
v2 = obj[p];
intCheck(v2, 0, MAX, p);
DECIMAL_PLACES = v2;
}
if (obj.hasOwnProperty(p = "ROUNDING_MODE")) {
v2 = obj[p];
intCheck(v2, 0, 8, p);
ROUNDING_MODE = v2;
}
if (obj.hasOwnProperty(p = "EXPONENTIAL_AT")) {
v2 = obj[p];
if (v2 && v2.pop) {
intCheck(v2[0], -MAX, 0, p);
intCheck(v2[1], 0, MAX, p);
TO_EXP_NEG = v2[0];
TO_EXP_POS = v2[1];
} else {
intCheck(v2, -MAX, MAX, p);
TO_EXP_NEG = -(TO_EXP_POS = v2 < 0 ? -v2 : v2);
}
}
if (obj.hasOwnProperty(p = "RANGE")) {
v2 = obj[p];
if (v2 && v2.pop) {
intCheck(v2[0], -MAX, -1, p);
intCheck(v2[1], 1, MAX, p);
MIN_EXP = v2[0];
MAX_EXP = v2[1];
} else {
intCheck(v2, -MAX, MAX, p);
if (v2) {
MIN_EXP = -(MAX_EXP = v2 < 0 ? -v2 : v2);
} else {
throw Error(bignumberError + p + " cannot be zero: " + v2);
}
}
}
if (obj.hasOwnProperty(p = "CRYPTO")) {
v2 = obj[p];
if (v2 === !!v2) {
if (v2) {
if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) {
CRYPTO = v2;
} else {
CRYPTO = !v2;
throw Error(bignumberError + "crypto unavailable");
}
} else {
CRYPTO = v2;
}
} else {
throw Error(bignumberError + p + " not true or false: " + v2);
}
}
if (obj.hasOwnProperty(p = "MODULO_MODE")) {
v2 = obj[p];
intCheck(v2, 0, 9, p);
MODULO_MODE = v2;
}
if (obj.hasOwnProperty(p = "POW_PRECISION")) {
v2 = obj[p];
intCheck(v2, 0, MAX, p);
POW_PRECISION = v2;
}
if (obj.hasOwnProperty(p = "FORMAT")) {
v2 = obj[p];
if (typeof v2 == "object")
FORMAT = v2;
else
throw Error(bignumberError + p + " not an object: " + v2);
}
if (obj.hasOwnProperty(p = "ALPHABET")) {
v2 = obj[p];
if (typeof v2 == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(v2)) {
alphabetHasNormalDecimalDigits = v2.slice(0, 10) == "0123456789";
ALPHABET2 = v2;
} else {
throw Error(bignumberError + p + " invalid: " + v2);
}
}
} else {
throw Error(bignumberError + "Object expected: " + obj);
}
}
return {
DECIMAL_PLACES,
ROUNDING_MODE,
EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],
RANGE: [MIN_EXP, MAX_EXP],
CRYPTO,
MODULO_MODE,
POW_PRECISION,
FORMAT,
ALPHABET: ALPHABET2
};
};
BigNumber2.isBigNumber = function(v2) {
if (!v2 || v2._isBigNumber !== true)
return false;
if (!BigNumber2.DEBUG)
return true;
var i3, n2, c5 = v2.c, e2 = v2.e, s2 = v2.s;
out:
if ({}.toString.call(c5) == "[object Array]") {
if ((s2 === 1 || s2 === -1) && e2 >= -MAX && e2 <= MAX && e2 === mathfloor(e2)) {
if (c5[0] === 0) {
if (e2 === 0 && c5.length === 1)
return true;
break out;
}
i3 = (e2 + 1) % LOG_BASE;
if (i3 < 1)
i3 += LOG_BASE;
if (String(c5[0]).length == i3) {
for (i3 = 0;i3 < c5.length; i3++) {
n2 = c5[i3];
if (n2 < 0 || n2 >= BASE || n2 !== mathfloor(n2))
break out;
}
if (n2 !== 0)
return true;
}
}
} else if (c5 === null && e2 === null && (s2 === null || s2 === 1 || s2 === -1)) {
return true;
}
throw Error(bignumberError + "Invalid BigNumber: " + v2);
};
BigNumber2.maximum = BigNumber2.max = function() {
return maxOrMin(arguments, -1);
};
BigNumber2.minimum = BigNumber2.min = function() {
return maxOrMin(arguments, 1);
};
BigNumber2.random = function() {
var pow2_53 = 9007199254740992;
var random53bitInt = Math.random() * pow2_53 & 2097151 ? function() {
return mathfloor(Math.random() * pow2_53);
} : function() {
return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
};
return function(dp) {
var a2, b2, e2, k2, v2, i3 = 0, c5 = [], rand = new BigNumber2(ONE);
if (dp == null)
dp = DECIMAL_PLACES;
else
intCheck(dp, 0, MAX);
k2 = mathceil(dp / LOG_BASE);
if (CRYPTO) {
if (crypto.getRandomValues) {
a2 = crypto.getRandomValues(new Uint32Array(k2 *= 2));
for (;i3 < k2; ) {
v2 = a2[i3] * 131072 + (a2[i3 + 1] >>> 11);
if (v2 >= 9000000000000000) {
b2 = crypto.getRandomValues(new Uint32Array(2));
a2[i3] = b2[0];
a2[i3 + 1] = b2[1];
} else {
c5.push(v2 % 100000000000000);
i3 += 2;
}
}
i3 = k2 / 2;
} else if (crypto.randomBytes) {
a2 = crypto.randomBytes(k2 *= 7);
for (;i3 < k2; ) {
v2 = (a2[i3] & 31) * 281474976710656 + a2[i3 + 1] * 1099511627776 + a2[i3 + 2] * 4294967296 + a2[i3 + 3] * 16777216 + (a2[i3 + 4] << 16) + (a2[i3 + 5] << 8) + a2[i3 + 6];
if (v2 >= 9000000000000000) {
crypto.randomBytes(7).copy(a2, i3);
} else {
c5.push(v2 % 100000000000000);
i3 += 7;
}
}
i3 = k2 / 7;
} else {
CRYPTO = false;
throw Error(bignumberError + "crypto unavailable");
}
}
if (!CRYPTO) {
for (;i3 < k2; ) {
v2 = random53bitInt();
if (v2 < 9000000000000000)
c5[i3++] = v2 % 100000000000000;
}
}
k2 = c5[--i3];
dp %= LOG_BASE;
if (k2 && dp) {
v2 = POWS_TEN[LOG_BASE - dp];
c5[i3] = mathfloor(k2 / v2) * v2;
}
for (;c5[i3] === 0; c5.pop(), i3--)
;
if (i3 < 0) {
c5 = [e2 = 0];
} else {
for (e2 = -1;c5[0] === 0; c5.splice(0, 1), e2 -= LOG_BASE)
;
for (i3 = 1, v2 = c5[0];v2 >= 10; v2 /= 10, i3++)
;
if (i3 < LOG_BASE)
e2 -= LOG_BASE - i3;
}
rand.e = e2;
rand.c = c5;
return rand;
};
}();
BigNumber2.sum = function() {
var i3 = 1, args = arguments, sum = new BigNumber2(args[0]);
for (;i3 < args.length; )
sum = sum.plus(args[i3++]);
return sum;
};
convertBase = function() {
var decimal = "0123456789";
function toBaseOut(str, baseIn, baseOut, alphabet) {
var j2, arr = [0], arrL, i3 = 0, len = str.length;
for (;i3 < len; ) {
for (arrL = arr.length;arrL--; arr[arrL] *= baseIn)
;
arr[0] += alphabet.indexOf(str.charAt(i3++));
for (j2 = 0;j2 < arr.length; j2++) {
if (arr[j2] > baseOut - 1) {
if (arr[j2 + 1] == null)
arr[j2 + 1] = 0;
arr[j2 + 1] += arr[j2] / baseOut | 0;
arr[j2] %= baseOut;
}
}
}
return arr.reverse();
}
return function(str, baseIn, baseOut, sign, callerIsToString) {
var alphabet, d, e2, k2, r2, x4, xc, y3, i3 = str.indexOf("."), dp = DECIMAL_PLACES, rm = ROUNDING_MODE;
if (i3 >= 0) {
k2 = POW_PRECISION;
POW_PRECISION = 0;
str = str.replace(".", "");
y3 = new BigNumber2(baseIn);
x4 = y3.pow(str.length - i3);
POW_PRECISION = k2;
y3.c = toBaseOut(toFixedPoint(coeffToString(x4.c), x4.e, "0"), 10, baseOut, decimal);
y3.e = y3.c.length;
}
xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET2, decimal) : (alphabet = decimal, ALPHABET2));
e2 = k2 = xc.length;
for (;xc[--k2] == 0; xc.pop())
;
if (!xc[0])
return alphabet.charAt(0);
if (i3 < 0) {
--e2;
} else {
x4.c = xc;
x4.e = e2;
x4.s = sign;
x4 = div(x4, y3, dp, rm, baseOut);
xc = x4.c;
r2 = x4.r;
e2 = x4.e;
}
d = e2 + dp + 1;
i3 = xc[d];
k2 = baseOut / 2;
r2 = r2 || d < 0 || xc[d + 1] != null;
r2 = rm < 4 ? (i3 != null || r2) && (rm == 0 || rm == (x4.s < 0 ? 3 : 2)) : i3 > k2 || i3 == k2 && (rm == 4 || r2 || rm == 6 && xc[d - 1] & 1 || rm == (x4.s < 0 ? 8 : 7));
if (d < 1 || !xc[0]) {
str = r2 ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);
} else {
xc.length = d;
if (r2) {
for (--baseOut;++xc[--d] > baseOut; ) {
xc[d] = 0;
if (!d) {
++e2;
xc = [1].concat(xc);
}
}
}
for (k2 = xc.length;!xc[--k2]; )
;
for (i3 = 0, str = "";i3 <= k2; str += alphabet.charAt(xc[i3++]))
;
str = toFixedPoint(str, e2, alphabet.charAt(0));
}
return str;
};
}();
div = function() {
function multiply(x4, k2, base2) {
var m3, temp, xlo, xhi, carry = 0, i3 = x4.length, klo = k2 % SQRT_BASE, khi = k2 / SQRT_BASE | 0;
for (x4 = x4.slice();i3--; ) {
xlo = x4[i3] % SQRT_BASE;
xhi = x4[i3] / SQRT_BASE | 0;
m3 = khi * xlo + xhi * klo;
temp = klo * xlo + m3 % SQRT_BASE * SQRT_BASE + carry;
carry = (temp / base2 | 0) + (m3 / SQRT_BASE | 0) + khi * xhi;
x4[i3] = temp % base2;
}
if (carry)
x4 = [carry].concat(x4);
return x4;
}
function compare2(a2, b2, aL, bL) {
var i3, cmp;
if (aL != bL) {
cmp = aL > bL ? 1 : -1;
} else {
for (i3 = cmp = 0;i3 < aL; i3++) {
if (a2[i3] != b2[i3]) {
cmp = a2[i3] > b2[i3] ? 1 : -1;
break;
}
}
}
return cmp;
}
function subtract(a2, b2, aL, base2) {
var i3 = 0;
for (;aL--; ) {
a2[aL] -= i3;
i3 = a2[aL] < b2[aL] ? 1 : 0;
a2[aL] = i3 * base2 + a2[aL] - b2[aL];
}
for (;!a2[0] && a2.length > 1; a2.splice(0, 1))
;
}
return function(x4, y3, dp, rm, base2) {
var cmp, e2, i3, more, n2, prod, prodL, q2, qc, rem, remL, rem0, xi, xL, yc0, yL, yz, s2 = x4.s == y3.s ? 1 : -1, xc = x4.c, yc = y3.c;
if (!xc || !xc[0] || !yc || !yc[0]) {
return new BigNumber2(!x4.s || !y3.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : xc && xc[0] == 0 || !yc ? s2 * 0 : s2 / 0);
}
q2 = new BigNumber2(s2);
qc = q2.c = [];
e2 = x4.e - y3.e;
s2 = dp + e2 + 1;
if (!base2) {
base2 = BASE;
e2 = bitFloor(x4.e / LOG_BASE) - bitFloor(y3.e / LOG_BASE);
s2 = s2 / LOG_BASE | 0;
}
for (i3 = 0;yc[i3] == (xc[i3] || 0); i3++)
;
if (yc[i3] > (xc[i3] || 0))
e2--;
if (s2 < 0) {
qc.push(1);
more = true;
} else {
xL = xc.length;
yL = yc.length;
i3 = 0;
s2 += 2;
n2 = mathfloor(base2 / (yc[0] + 1));
if (n2 > 1) {
yc = multiply(yc, n2, base2);
xc = multiply(xc, n2, base2);
yL = yc.length;
xL = xc.length;
}
xi = yL;
rem = xc.slice(0, yL);
remL = rem.length;
for (;remL < yL; rem[remL++] = 0)
;
yz = yc.slice();
yz = [0].concat(yz);
yc0 = yc[0];
if (yc[1] >= base2 / 2)
yc0++;
do {
n2 = 0;
cmp = compare2(yc, rem, yL, remL);
if (cmp < 0) {
rem0 = rem[0];
if (yL != remL)
rem0 = rem0 * base2 + (rem[1] || 0);
n2 = mathfloor(rem0 / yc0);
if (n2 > 1) {
if (n2 >= base2)
n2 = base2 - 1;
prod = multiply(yc, n2, base2);
prodL = prod.length;
remL = rem.length;
while (compare2(prod, rem, prodL, remL) == 1) {
n2--;
subtract(prod, yL < prodL ? yz : yc, prodL, base2);
prodL = prod.length;
cmp = 1;
}
} else {
if (n2 == 0) {
cmp = n2 = 1;
}
prod = yc.slice();
prodL = prod.length;
}
if (prodL < remL)
prod = [0].concat(prod);
subtract(rem, prod, remL, base2);
remL = rem.length;
if (cmp == -1) {
while (compare2(yc, rem, yL, remL) < 1) {
n2++;
subtract(rem, yL < remL ? yz : yc, remL, base2);
remL = rem.length;
}
}
} else if (cmp === 0) {
n2++;
rem = [0];
}
qc[i3++] = n2;
if (rem[0]) {
rem[remL++] = xc[xi] || 0;
} else {
rem = [xc[xi]];
remL = 1;
}
} while ((xi++ < xL || rem[0] != null) && s2--);
more = rem[0] != null;
if (!qc[0])
qc.splice(0, 1);
}
if (base2 == BASE) {
for (i3 = 1, s2 = qc[0];s2 >= 10; s2 /= 10, i3++)
;
round(q2, dp + (q2.e = i3 + e2 * LOG_BASE - 1) + 1, rm, more);
} else {
q2.e = e2;
q2.r = +more;
}
return q2;
};
}();
function format3(n2, i3, rm, id) {
var c0, e2, ne2, len, str;
if (rm == null)
rm = ROUNDING_MODE;
else
intCheck(rm, 0, 8);
if (!n2.c)
return n2.toString();
c0 = n2.c[0];
ne2 = n2.e;
if (i3 == null) {
str = coeffToString(n2.c);
str = id == 1 || id == 2 && (ne2 <= TO_EXP_NEG || ne2 >= TO_EXP_POS) ? toExponential(str, ne2) : toFixedPoint(str, ne2, "0");
} else {
n2 = round(new BigNumber2(n2), i3, rm);
e2 = n2.e;
str = coeffToString(n2.c);
len = str.length;
if (id == 1 || id == 2 && (i3 <= e2 || e2 <= TO_EXP_NEG)) {
for (;len < i3; str += "0", len++)
;
str = toExponential(str, e2);
} else {
i3 -= ne2 + (id === 2 && e2 > ne2);
str = toFixedPoint(str, e2, "0");
if (e2 + 1 > len) {
if (--i3 > 0)
for (str += ".";i3--; str += "0")
;
} else {
i3 += e2 - len;
if (i3 > 0) {
if (e2 + 1 == len)
str += ".";
for (;i3--; str += "0")
;
}
}
}
}
return n2.s < 0 && c0 ? "-" + str : str;
}
function maxOrMin(args, n2) {
var k2, y3, i3 = 1, x4 = new BigNumber2(args[0]);
for (;i3 < args.length; i3++) {
y3 = new BigNumber2(args[i3]);
if (!y3.s || (k2 = compare(x4, y3)) === n2 || k2 === 0 && x4.s === n2) {
x4 = y3;
}
}
return x4;
}
function normalise(n2, c5, e2) {
var i3 = 1, j2 = c5.length;
for (;!c5[--j2]; c5.pop())
;
for (j2 = c5[0];j2 >= 10; j2 /= 10, i3++)
;
if ((e2 = i3 + e2 * LOG_BASE - 1) > MAX_EXP) {
n2.c = n2.e = null;
} else if (e2 < MIN_EXP) {
n2.c = [n2.e = 0];
} else {
n2.e = e2;
n2.c = c5;
}
return n2;
}
parseNumeric = function() {
var basePrefix = /^(-?)0([xbo])(?=\w[\w.]*$)/i, dotAfter = /^([^.]+)\.$/, dotBefore = /^\.([^.]+)$/, isInfinityOrNaN = /^-?(Infinity|NaN)$/, whitespaceOrPlus = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
return function(x4, str, isNum, b2) {
var base2, s2 = isNum ? str : str.replace(whitespaceOrPlus, "");
if (isInfinityOrNaN.test(s2)) {
x4.s = isNaN(s2) ? null : s2 < 0 ? -1 : 1;
} else {
if (!isNum) {
s2 = s2.replace(basePrefix, function(m3, p1, p2) {
base2 = (p2 = p2.toLowerCase()) == "x" ? 16 : p2 == "b" ? 2 : 8;
return !b2 || b2 == base2 ? p1 : m3;
});
if (b2) {
base2 = b2;
s2 = s2.replace(dotAfter, "$1").replace(dotBefore, "0.$1");
}
if (str != s2)
return new BigNumber2(s2, base2);
}
if (BigNumber2.DEBUG) {
throw Error(bignumberError + "Not a" + (b2 ? " base " + b2 : "") + " number: " + str);
}
x4.s = null;
}
x4.c = x4.e = null;
};
}();
function round(x4, sd, rm, r2) {
var d, i3, j2, k2, n2, ni, rd, xc = x4.c, pows10 = POWS_TEN;
if (xc) {
out: {
for (d = 1, k2 = xc[0];k2 >= 10; k2 /= 10, d++)
;
i3 = sd - d;
if (i3 < 0) {
i3 += LOG_BASE;
j2 = sd;
n2 = xc[ni = 0];
rd = mathfloor(n2 / pows10[d - j2 - 1] % 10);
} else {
ni = mathceil((i3 + 1) / LOG_BASE);
if (ni >= xc.length) {
if (r2) {
for (;xc.length <= ni; xc.push(0))
;
n2 = rd = 0;
d = 1;
i3 %= LOG_BASE;
j2 = i3 - LOG_BASE + 1;
} else {
break out;
}
} else {
n2 = k2 = xc[ni];
for (d = 1;k2 >= 10; k2 /= 10, d++)
;
i3 %= LOG_BASE;
j2 = i3 - LOG_BASE + d;
rd = j2 < 0 ? 0 : mathfloor(n2 / pows10[d - j2 - 1] % 10);
}
}
r2 = r2 || sd < 0 || xc[ni + 1] != null || (j2 < 0 ? n2 : n2 % pows10[d - j2 - 1]);
r2 = rm < 4 ? (rd || r2) && (rm == 0 || rm == (x4.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r2 || rm == 6 && (i3 > 0 ? j2 > 0 ? n2 / pows10[d - j2] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x4.s < 0 ? 8 : 7));
if (sd < 1 || !xc[0]) {
xc.length = 0;
if (r2) {
sd -= x4.e + 1;
xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];
x4.e = -sd || 0;
} else {
xc[0] = x4.e = 0;
}
return x4;
}
if (i3 == 0) {
xc.length = ni;
k2 = 1;
ni--;
} else {
xc.length = ni + 1;
k2 = pows10[LOG_BASE - i3];
xc[ni] = j2 > 0 ? mathfloor(n2 / pows10[d - j2] % pows10[j2]) * k2 : 0;
}
if (r2) {
for (;; ) {
if (ni == 0) {
for (i3 = 1, j2 = xc[0];j2 >= 10; j2 /= 10, i3++)
;
j2 = xc[0] += k2;
for (k2 = 1;j2 >= 10; j2 /= 10, k2++)
;
if (i3 != k2) {
x4.e++;
if (xc[0] == BASE)
xc[0] = 1;
}
break;
} else {
xc[ni] += k2;
if (xc[ni] != BASE)
break;
xc[ni--] = 0;
k2 = 1;
}
}
}
for (i3 = xc.length;xc[--i3] === 0; xc.pop())
;
}
if (x4.e > MAX_EXP) {
x4.c = x4.e = null;
} else if (x4.e < MIN_EXP) {
x4.c = [x4.e = 0];
}
}
return x4;
}
function valueOf(n2) {
var str, e2 = n2.e;
if (e2 === null)
return n2.toString();
str = coeffToString(n2.c);
str = e2 <= TO_EXP_NEG || e2 >= TO_EXP_POS ? toExponential(str, e2) : toFixedPoint(str, e2, "0");
return n2.s < 0 ? "-" + str : str;
}
P2.absoluteValue = P2.abs = function() {
var x4 = new BigNumber2(this);
if (x4.s < 0)
x4.s = 1;
return x4;
};
P2.comparedTo = function(y3, b2) {
return compare(this, new BigNumber2(y3, b2));
};
P2.decimalPlaces = P2.dp = function(dp, rm) {
var c5, n2, v2, x4 = this;
if (dp != null) {
intCheck(dp, 0, MAX);
if (rm == null)
rm = ROUNDING_MODE;
else
intCheck(rm, 0, 8);
return round(new BigNumber2(x4), dp + x4.e + 1, rm);
}
if (!(c5 = x4.c))
return null;
n2 = ((v2 = c5.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;
if (v2 = c5[v2])
for (;v2 % 10 == 0; v2 /= 10, n2--)
;
if (n2 < 0)
n2 = 0;
return n2;
};
P2.dividedBy = P2.div = function(y3, b2) {
return div(this, new BigNumber2(y3, b2), DECIMAL_PLACES, ROUNDING_MODE);
};
P2.dividedToIntegerBy = P2.idiv = function(y3, b2) {
return div(this, new BigNumber2(y3, b2), 0, 1);
};
P2.exponentiatedBy = P2.pow = function(n2, m3) {
var half, isModExp, i3, k2, more, nIsBig, nIsNeg, nIsOdd, y3, x4 = this;
n2 = new BigNumber2(n2);
if (n2.c && !n2.isInteger()) {
throw Error(bignumberError + "Exponent not an integer: " + valueOf(n2));
}
if (m3 != null)
m3 = new BigNumber2(m3);
nIsBig = n2.e > 14;
if (!x4.c || !x4.c[0] || x4.c[0] == 1 && !x4.e && x4.c.length == 1 || !n2.c || !n2.c[0]) {
y3 = new BigNumber2(Math.pow(+valueOf(x4), nIsBig ? n2.s * (2 - isOdd(n2)) : +valueOf(n2)));
return m3 ? y3.mod(m3) : y3;
}
nIsNeg = n2.s < 0;
if (m3) {
if (m3.c ? !m3.c[0] : !m3.s)
return new BigNumber2(NaN);
isModExp = !nIsNeg && x4.isInteger() && m3.isInteger();
if (isModExp)
x4 = x4.mod(m3);
} else if (n2.e > 9 && (x4.e > 0 || x4.e < -1 || (x4.e == 0 ? x4.c[0] > 1 || nIsBig && x4.c[1] >= 240000000 : x4.c[0] < 80000000000000 || nIsBig && x4.c[0] <= 99999750000000))) {
k2 = x4.s < 0 && isOdd(n2) ? -0 : 0;
if (x4.e > -1)
k2 = 1 / k2;
return new BigNumber2(nIsNeg ? 1 / k2 : k2);
} else if (POW_PRECISION) {
k2 = mathceil(POW_PRECISION / LOG_BASE + 2);
}
if (nIsBig) {
half = new BigNumber2(0.5);
if (nIsNeg)
n2.s = 1;
nIsOdd = isOdd(n2);
} else {
i3 = Math.abs(+valueOf(n2));
nIsOdd = i3 % 2;
}
y3 = new BigNumber2(ONE);
for (;; ) {
if (nIsOdd) {
y3 = y3.times(x4);
if (!y3.c)
break;
if (k2) {
if (y3.c.length > k2)
y3.c.length = k2;
} else if (isModExp) {
y3 = y3.mod(m3);
}
}
if (i3) {
i3 = mathfloor(i3 / 2);
if (i3 === 0)
break;
nIsOdd = i3 % 2;
} else {
n2 = n2.times(half);
round(n2, n2.e + 1, 1);
if (n2.e > 14) {
nIsOdd = isOdd(n2);
} else {
i3 = +valueOf(n2);
if (i3 === 0)
break;
nIsOdd = i3 % 2;
}
}
x4 = x4.times(x4);
if (k2) {
if (x4.c && x4.c.length > k2)
x4.c.length = k2;
} else if (isModExp) {
x4 = x4.mod(m3);
}
}
if (isModExp)
return y3;
if (nIsNeg)
y3 = ONE.div(y3);
return m3 ? y3.mod(m3) : k2 ? round(y3, POW_PRECISION, ROUNDING_MODE, more) : y3;
};
P2.integerValue = function(rm) {
var n2 = new BigNumber2(this);
if (rm == null)
rm = ROUNDING_MODE;
else
intCheck(rm, 0, 8);
return round(n2, n2.e + 1, rm);
};
P2.isEqualTo = P2.eq = function(y3, b2) {
return compare(this, new BigNumber2(y3, b2)) === 0;
};
P2.isFinite = function() {
return !!this.c;
};
P2.isGreaterThan = P2.gt = function(y3, b2) {
return compare(this, new BigNumber2(y3, b2)) > 0;
};
P2.isGreaterThanOrEqualTo = P2.gte = function(y3, b2) {
return (b2 = compare(this, new BigNumber2(y3, b2))) === 1 || b2 === 0;
};
P2.isInteger = function() {
return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;
};
P2.isLessThan = P2.lt = function(y3, b2) {
return compare(this, new BigNumber2(y3, b2)) < 0;
};
P2.isLessThanOrEqualTo = P2.lte = function(y3, b2) {
return (b2 = compare(this, new BigNumber2(y3, b2))) === -1 || b2 === 0;
};
P2.isNaN = function() {
return !this.s;
};
P2.isNegative = function() {
return this.s < 0;
};
P2.isPositive = function() {
return this.s > 0;
};
P2.isZero = function() {
return !!this.c && this.c[0] == 0;
};
P2.minus = function(y3, b2) {
var i3, j2, t2, xLTy, x4 = this, a2 = x4.s;
y3 = new BigNumber2(y3, b2);
b2 = y3.s;
if (!a2 || !b2)
return new BigNumber2(NaN);
if (a2 != b2) {
y3.s = -b2;
return x4.plus(y3);
}
var xe = x4.e / LOG_BASE, ye2 = y3.e / LOG_BASE, xc = x4.c, yc = y3.c;
if (!xe || !ye2) {
if (!xc || !yc)
return xc ? (y3.s = -b2, y3) : new BigNumber2(yc ? x4 : NaN);
if (!xc[0] || !yc[0]) {
return yc[0] ? (y3.s = -b2, y3) : new BigNumber2(xc[0] ? x4 : ROUNDING_MODE == 3 ? -0 : 0);
}
}
xe = bitFloor(xe);
ye2 = bitFloor(ye2);
xc = xc.slice();
if (a2 = xe - ye2) {
if (xLTy = a2 < 0) {
a2 = -a2;
t2 = xc;
} else {
ye2 = xe;
t2 = yc;
}
t2.reverse();
for (b2 = a2;b2--; t2.push(0))
;
t2.reverse();
} else {
j2 = (xLTy = (a2 = xc.length) < (b2 = yc.length)) ? a2 : b2;
for (a2 = b2 = 0;b2 < j2; b2++) {
if (xc[b2] != yc[b2]) {
xLTy = xc[b2] < yc[b2];
break;
}
}
}
if (xLTy) {
t2 = xc;
xc = yc;
yc = t2;
y3.s = -y3.s;
}
b2 = (j2 = yc.length) - (i3 = xc.length);
if (b2 > 0)
for (;b2--; xc[i3++] = 0)
;
b2 = BASE - 1;
for (;j2 > a2; ) {
if (xc[--j2] < yc[j2]) {
for (i3 = j2;i3 && !xc[--i3]; xc[i3] = b2)
;
--xc[i3];
xc[j2] += BASE;
}
xc[j2] -= yc[j2];
}
for (;xc[0] == 0; xc.splice(0, 1), --ye2)
;
if (!xc[0]) {
y3.s = ROUNDING_MODE == 3 ? -1 : 1;
y3.c = [y3.e = 0];
return y3;
}
return normalise(y3, xc, ye2);
};
P2.modulo = P2.mod = function(y3, b2) {
var q2, s2, x4 = this;
y3 = new BigNumber2(y3, b2);
if (!x4.c || !y3.s || y3.c && !y3.c[0]) {
return new BigNumber2(NaN);
} else if (!y3.c || x4.c && !x4.c[0]) {
return new BigNumber2(x4);
}
if (MODULO_MODE == 9) {
s2 = y3.s;
y3.s = 1;
q2 = div(x4, y3, 0, 3);
y3.s = s2;
q2.s *= s2;
} else {
q2 = div(x4, y3, 0, MODULO_MODE);
}
y3 = x4.minus(q2.times(y3));
if (!y3.c[0] && MODULO_MODE == 1)
y3.s = x4.s;
return y3;
};
P2.multipliedBy = P2.times = function(y3, b2) {
var c5, e2, i3, j2, k2, m3, xcL, xlo, xhi, ycL, ylo, yhi, zc, base2, sqrtBase, x4 = this, xc = x4.c, yc = (y3 = new BigNumber2(y3, b2)).c;
if (!xc || !yc || !xc[0] || !yc[0]) {
if (!x4.s || !y3.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {
y3.c = y3.e = y3.s = null;
} else {
y3.s *= x4.s;
if (!xc || !yc) {
y3.c = y3.e = null;
} else {
y3.c = [0];
y3.e = 0;
}
}
return y3;
}
e2 = bitFloor(x4.e / LOG_BASE) + bitFloor(y3.e / LOG_BASE);
y3.s *= x4.s;
xcL = xc.length;
ycL = yc.length;
if (xcL < ycL) {
zc = xc;
xc = yc;
yc = zc;
i3 = xcL;
xcL = ycL;
ycL = i3;
}
for (i3 = xcL + ycL, zc = [];i3--; zc.push(0))
;
base2 = BASE;
sqrtBase = SQRT_BASE;
for (i3 = ycL;--i3 >= 0; ) {
c5 = 0;
ylo = yc[i3] % sqrtBase;
yhi = yc[i3] / sqrtBase | 0;
for (k2 = xcL, j2 = i3 + k2;j2 > i3; ) {
xlo = xc[--k2] % sqrtBase;
xhi = xc[k2] / sqrtBase | 0;
m3 = yhi * xlo + xhi * ylo;
xlo = ylo * xlo + m3 % sqrtBase * sqrtBase + zc[j2] + c5;
c5 = (xlo / base2 | 0) + (m3 / sqrtBase | 0) + yhi * xhi;
zc[j2--] = xlo % base2;
}
zc[j2] = c5;
}
if (c5) {
++e2;
} else {
zc.splice(0, 1);
}
return normalise(y3, zc, e2);
};
P2.negated = function() {
var x4 = new BigNumber2(this);
x4.s = -x4.s || null;
return x4;
};
P2.plus = function(y3, b2) {
var t2, x4 = this, a2 = x4.s;
y3 = new BigNumber2(y3, b2);
b2 = y3.s;
if (!a2 || !b2)
return new BigNumber2(NaN);
if (a2 != b2) {
y3.s = -b2;
return x4.minus(y3);
}
var xe = x4.e / LOG_BASE, ye2 = y3.e / LOG_BASE, xc = x4.c, yc = y3.c;
if (!xe || !ye2) {
if (!xc || !yc)
return new BigNumber2(a2 / 0);
if (!xc[0] || !yc[0])
return yc[0] ? y3 : new BigNumber2(xc[0] ? x4 : a2 * 0);
}
xe = bitFloor(xe);
ye2 = bitFloor(ye2);
xc = xc.slice();
if (a2 = xe - ye2) {
if (a2 > 0) {
ye2 = xe;
t2 = yc;
} else {
a2 = -a2;
t2 = xc;
}
t2.reverse();
for (;a2--; t2.push(0))
;
t2.reverse();
}
a2 = xc.length;
b2 = yc.length;
if (a2 - b2 < 0) {
t2 = yc;
yc = xc;
xc = t2;
b2 = a2;
}
for (a2 = 0;b2; ) {
a2 = (xc[--b2] = xc[b2] + yc[b2] + a2) / BASE | 0;
xc[b2] = BASE === xc[b2] ? 0 : xc[b2] % BASE;
}
if (a2) {
xc = [a2].concat(xc);
++ye2;
}
return normalise(y3, xc, ye2);
};
P2.precision = P2.sd = function(sd, rm) {
var c5, n2, v2, x4 = this;
if (sd != null && sd !== !!sd) {
intCheck(sd, 1, MAX);
if (rm == null)
rm = ROUNDING_MODE;
else
intCheck(rm, 0, 8);
return round(new BigNumber2(x4), sd, rm);
}
if (!(c5 = x4.c))
return null;
v2 = c5.length - 1;
n2 = v2 * LOG_BASE + 1;
if (v2 = c5[v2]) {
for (;v2 % 10 == 0; v2 /= 10, n2--)
;
for (v2 = c5[0];v2 >= 10; v2 /= 10, n2++)
;
}
if (sd && x4.e + 1 > n2)
n2 = x4.e + 1;
return n2;
};
P2.shiftedBy = function(k2) {
intCheck(k2, -MAX_SAFE_INTEGER3, MAX_SAFE_INTEGER3);
return this.times("1e" + k2);
};
P2.squareRoot = P2.sqrt = function() {
var m3, n2, r2, rep, t2, x4 = this, c5 = x4.c, s2 = x4.s, e2 = x4.e, dp = DECIMAL_PLACES + 4, half = new BigNumber2("0.5");
if (s2 !== 1 || !c5 || !c5[0]) {
return new BigNumber2(!s2 || s2 < 0 && (!c5 || c5[0]) ? NaN : c5 ? x4 : 1 / 0);
}
s2 = Math.sqrt(+valueOf(x4));
if (s2 == 0 || s2 == 1 / 0) {
n2 = coeffToString(c5);
if ((n2.length + e2) % 2 == 0)
n2 += "0";
s2 = Math.sqrt(+n2);
e2 = bitFloor((e2 + 1) / 2) - (e2 < 0 || e2 % 2);
if (s2 == 1 / 0) {
n2 = "5e" + e2;
} else {
n2 = s2.toExponential();
n2 = n2.slice(0, n2.indexOf("e") + 1) + e2;
}
r2 = new BigNumber2(n2);
} else {
r2 = new BigNumber2(s2 + "");
}
if (r2.c[0]) {
e2 = r2.e;
s2 = e2 + dp;
if (s2 < 3)
s2 = 0;
for (;; ) {
t2 = r2;
r2 = half.times(t2.plus(div(x4, t2, dp, 1)));
if (coeffToString(t2.c).slice(0, s2) === (n2 = coeffToString(r2.c)).slice(0, s2)) {
if (r2.e < e2)
--s2;
n2 = n2.slice(s2 - 3, s2 + 1);
if (n2 == "9999" || !rep && n2 == "4999") {
if (!rep) {
round(t2, t2.e + DECIMAL_PLACES + 2, 0);
if (t2.times(t2).eq(x4)) {
r2 = t2;
break;
}
}
dp += 4;
s2 += 4;
rep = 1;
} else {
if (!+n2 || !+n2.slice(1) && n2.charAt(0) == "5") {
round(r2, r2.e + DECIMAL_PLACES + 2, 1);
m3 = !r2.times(r2).eq(x4);
}
break;
}
}
}
}
return round(r2, r2.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m3);
};
P2.toExponential = function(dp, rm) {
if (dp != null) {
intCheck(dp, 0, MAX);
dp++;
}
return format3(this, dp, rm, 1);
};
P2.toFixed = function(dp, rm) {
if (dp != null) {
intCheck(dp, 0, MAX);
dp = dp + this.e + 1;
}
return format3(this, dp, rm);
};
P2.toFormat = function(dp, rm, format4) {
var str, x4 = this;
if (format4 == null) {
if (dp != null && rm && typeof rm == "object") {
format4 = rm;
rm = null;
} else if (dp && typeof dp == "object") {
format4 = dp;
dp = rm = null;
} else {
format4 = FORMAT;
}
} else if (typeof format4 != "object") {
throw Error(bignumberError + "Argument not an object: " + format4);
}
str = x4.toFixed(dp, rm);
if (x4.c) {
var i3, arr = str.split("."), g1 = +format4.groupSize, g2 = +format4.secondaryGroupSize, groupSeparator = format4.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x4.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
if (g2) {
i3 = g1;
g1 = g2;
g2 = i3;
len -= i3;
}
if (g1 > 0 && len > 0) {
i3 = len % g1 || g1;
intPart = intDigits.substr(0, i3);
for (;i3 < len; i3 += g1)
intPart += groupSeparator + intDigits.substr(i3, g1);
if (g2 > 0)
intPart += groupSeparator + intDigits.slice(i3);
if (isNeg)
intPart = "-" + intPart;
}
str = fractionPart ? intPart + (format4.decimalSeparator || "") + ((g2 = +format4.fractionGroupSize) ? fractionPart.replace(new RegExp("\\d{" + g2 + "}\\B", "g"), "$&" + (format4.fractionGroupSeparator || "")) : fractionPart) : intPart;
}
return (format4.prefix || "") + str + (format4.suffix || "");
};
P2.toFraction = function(md) {
var d, d0, d1, d2, e2, exp, n2, n0, n1, q2, r2, s2, x4 = this, xc = x4.c;
if (md != null) {
n2 = new BigNumber2(md);
if (!n2.isInteger() && (n2.c || n2.s !== 1) || n2.lt(ONE)) {
throw Error(bignumberError + "Argument " + (n2.isInteger() ? "out of range: " : "not an integer: ") + valueOf(n2));
}
}
if (!xc)
return new BigNumber2(x4);
d = new BigNumber2(ONE);
n1 = d0 = new BigNumber2(ONE);
d1 = n0 = new BigNumber2(ONE);
s2 = coeffToString(xc);
e2 = d.e = s2.length - x4.e - 1;
d.c[0] = POWS_TEN[(exp = e2 % LOG_BASE) < 0 ? LOG_BASE + exp : exp];
md = !md || n2.comparedTo(d) > 0 ? e2 > 0 ? d : n1 : n2;
exp = MAX_EXP;
MAX_EXP = 1 / 0;
n2 = new BigNumber2(s2);
n0.c[0] = 0;
for (;; ) {
q2 = div(n2, d, 0, 1);
d2 = d0.plus(q2.times(d1));
if (d2.comparedTo(md) == 1)
break;
d0 = d1;
d1 = d2;
n1 = n0.plus(q2.times(d2 = n1));
n0 = d2;
d = n2.minus(q2.times(d2 = d));
n2 = d2;
}
d2 = div(md.minus(d0), d1, 0, 1);
n0 = n0.plus(d2.times(n1));
d0 = d0.plus(d2.times(d1));
n0.s = n1.s = x4.s;
e2 = e2 * 2;
r2 = div(n1, d1, e2, ROUNDING_MODE).minus(x4).abs().comparedTo(div(n0, d0, e2, ROUNDING_MODE).minus(x4).abs()) < 1 ? [n1, d1] : [n0, d0];
MAX_EXP = exp;
return r2;
};
P2.toNumber = function() {
return +valueOf(this);
};
P2.toPrecision = function(sd, rm) {
if (sd != null)
intCheck(sd, 1, MAX);
return format3(this, sd, rm, 2);
};
P2.toString = function(b2) {
var str, n2 = this, s2 = n2.s, e2 = n2.e;
if (e2 === null) {
if (s2) {
str = "Infinity";
if (s2 < 0)
str = "-" + str;
} else {
str = "NaN";
}
} else {
if (b2 == null) {
str = e2 <= TO_EXP_NEG || e2 >= TO_EXP_POS ? toExponential(coeffToString(n2.c), e2) : toFixedPoint(coeffToString(n2.c), e2, "0");
} else if (b2 === 10 && alphabetHasNormalDecimalDigits) {
n2 = round(new BigNumber2(n2), DECIMAL_PLACES + e2 + 1, ROUNDING_MODE);
str = toFixedPoint(coeffToString(n2.c), n2.e, "0");
} else {
intCheck(b2, 2, ALPHABET2.length, "Base");
str = convertBase(toFixedPoint(coeffToString(n2.c), e2, "0"), 10, b2, s2, true);
}
if (s2 < 0 && n2.c[0])
str = "-" + str;
}
return str;
};
P2.valueOf = P2.toJSON = function() {
return valueOf(this);
};
P2._isBigNumber = true;
if (configObject != null)
BigNumber2.set(configObject);
return BigNumber2;
}
function bitFloor(n2) {
var i3 = n2 | 0;
return n2 > 0 || n2 === i3 ? i3 : i3 - 1;
}
function coeffToString(a2) {
var s2, z4, i3 = 1, j2 = a2.length, r2 = a2[0] + "";
for (;i3 < j2; ) {
s2 = a2[i3++] + "";
z4 = LOG_BASE - s2.length;
for (;z4--; s2 = "0" + s2)
;
r2 += s2;
}
for (j2 = r2.length;r2.charCodeAt(--j2) === 48; )
;
return r2.slice(0, j2 + 1 || 1);
}
function compare(x4, y3) {
var a2, b2, xc = x4.c, yc = y3.c, i3 = x4.s, j2 = y3.s, k2 = x4.e, l = y3.e;
if (!i3 || !j2)
return null;
a2 = xc && !xc[0];
b2 = yc && !yc[0];
if (a2 || b2)
return a2 ? b2 ? 0 : -j2 : i3;
if (i3 != j2)
return i3;
a2 = i3 < 0;
b2 = k2 == l;
if (!xc || !yc)
return b2 ? 0 : !xc ^ a2 ? 1 : -1;
if (!b2)
return k2 > l ^ a2 ? 1 : -1;
j2 = (k2 = xc.length) < (l = yc.length) ? k2 : l;
for (i3 = 0;i3 < j2; i3++)
if (xc[i3] != yc[i3])
return xc[i3] > yc[i3] ^ a2 ? 1 : -1;
return k2 == l ? 0 : k2 > l ^ a2 ? 1 : -1;
}
function intCheck(n2, min, max, name3) {
if (n2 < min || n2 > max || n2 !== mathfloor(n2)) {
throw Error(bignumberError + (name3 || "Argument") + (typeof n2 == "number" ? n2 < min || n2 > max ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(n2));
}
}
function isOdd(n2) {
var k2 = n2.c.length - 1;
return bitFloor(n2.e / LOG_BASE) == k2 && n2.c[k2] % 2 != 0;
}
function toExponential(str, e2) {
return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e2 < 0 ? "e" : "e+") + e2;
}
function toFixedPoint(str, e2, z4) {
var len, zs;
if (e2 < 0) {
for (zs = z4 + ".";++e2; zs += z4)
;
str = zs + str;
} else {
len = str.length;
if (++e2 > len) {
for (zs = z4, e2 -= len;--e2; zs += z4)
;
str += zs;
} else if (e2 < len) {
str = str.slice(0, e2) + "." + str.slice(e2);
}
}
return str;
}
BigNumber = clone4();
BigNumber["default"] = BigNumber.BigNumber = BigNumber;
if (typeof define == "function" && define.amd) {
define(function() {
return BigNumber;
});
} else if (typeof module != "undefined" && module.exports) {
module.exports = BigNumber;
} else {
if (!globalObject) {
globalObject = typeof self != "undefined" && self ? self : window;
}
globalObject.BigNumber = BigNumber;
}
})(exports);
});
// node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/lib/stringify.js
var require_stringify2 = __commonJS((exports, module) => {
var BigNumber = require_bignumber();
var JSON2 = exports;
(function() {
function f3(n2) {
return n2 < 10 ? "0" + n2 : n2;
}
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta3 = {
"\b": "\\b",
"\t": "\\t",
"\n": "\\n",
"\f": "\\f",
"\r": "\\r",
'"': "\\\"",
"\\": "\\\\"
}, rep;
function quote(string4) {
escapable.lastIndex = 0;
return escapable.test(string4) ? '"' + string4.replace(escapable, function(a2) {
var c5 = meta3[a2];
return typeof c5 === "string" ? c5 : "\\u" + ("0000" + a2.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + string4 + '"';
}
function str(key, holder) {
var i3, k2, v2, length, mind = gap, partial2, value = holder[key], isBigNumber = value != null && (value instanceof BigNumber || BigNumber.isBigNumber(value));
if (value && typeof value === "object" && typeof value.toJSON === "function") {
value = value.toJSON(key);
}
if (typeof rep === "function") {
value = rep.call(holder, key, value);
}
switch (typeof value) {
case "string":
if (isBigNumber) {
return value;
} else {
return quote(value);
}
case "number":
return isFinite(value) ? String(value) : "null";
case "boolean":
case "null":
case "bigint":
return String(value);
case "object":
if (!value) {
return "null";
}
gap += indent;
partial2 = [];
if (Object.prototype.toString.apply(value) === "[object Array]") {
length = value.length;
for (i3 = 0;i3 < length; i3 += 1) {
partial2[i3] = str(i3, value) || "null";
}
v2 = partial2.length === 0 ? "[]" : gap ? `[
` + gap + partial2.join(`,
` + gap) + `
` + mind + "]" : "[" + partial2.join(",") + "]";
gap = mind;
return v2;
}
if (rep && typeof rep === "object") {
length = rep.length;
for (i3 = 0;i3 < length; i3 += 1) {
if (typeof rep[i3] === "string") {
k2 = rep[i3];
v2 = str(k2, value);
if (v2) {
partial2.push(quote(k2) + (gap ? ": " : ":") + v2);
}
}
}
} else {
Object.keys(value).forEach(function(k3) {
var v6 = str(k3, value);
if (v6) {
partial2.push(quote(k3) + (gap ? ": " : ":") + v6);
}
});
}
v2 = partial2.length === 0 ? "{}" : gap ? `{
` + gap + partial2.join(`,
` + gap) + `
` + mind + "}" : "{" + partial2.join(",") + "}";
gap = mind;
return v2;
}
}
if (typeof JSON2.stringify !== "function") {
JSON2.stringify = function(value, replacer, space) {
var i3;
gap = "";
indent = "";
if (typeof space === "number") {
for (i3 = 0;i3 < space; i3 += 1) {
indent += " ";
}
} else if (typeof space === "string") {
indent = space;
}
rep = replacer;
if (replacer && typeof replacer !== "function" && (typeof replacer !== "object" || typeof replacer.length !== "number")) {
throw new Error("JSON.stringify");
}
return str("", { "": value });
};
}
})();
});
// node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/lib/parse.js
var require_parse6 = __commonJS((exports, module) => {
var BigNumber = null;
var suspectProtoRx = /(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/;
var suspectConstructorRx = /(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;
var json_parse = function(options) {
var _options = {
strict: false,
storeAsString: false,
alwaysParseAsBig: false,
useNativeBigInt: false,
protoAction: "error",
constructorAction: "error"
};
if (options !== undefined && options !== null) {
if (options.strict === true) {
_options.strict = true;
}
if (options.storeAsString === true) {
_options.storeAsString = true;
}
_options.alwaysParseAsBig = options.alwaysParseAsBig === true ? options.alwaysParseAsBig : false;
_options.useNativeBigInt = options.useNativeBigInt === true ? options.useNativeBigInt : false;
if (typeof options.constructorAction !== "undefined") {
if (options.constructorAction === "error" || options.constructorAction === "ignore" || options.constructorAction === "preserve") {
_options.constructorAction = options.constructorAction;
} else {
throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${options.constructorAction}`);
}
}
if (typeof options.protoAction !== "undefined") {
if (options.protoAction === "error" || options.protoAction === "ignore" || options.protoAction === "preserve") {
_options.protoAction = options.protoAction;
} else {
throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${options.protoAction}`);
}
}
}
var at, ch, escapee = {
'"': '"',
"\\": "\\",
"/": "/",
b: "\b",
f: "\f",
n: `
`,
r: "\r",
t: "\t"
}, text, error51 = function(m3) {
throw {
name: "SyntaxError",
message: m3,
at,
text
};
}, next = function(c5) {
if (c5 && c5 !== ch) {
error51("Expected '" + c5 + "' instead of '" + ch + "'");
}
ch = text.charAt(at);
at += 1;
return ch;
}, number4 = function() {
var number5, string5 = "";
if (ch === "-") {
string5 = "-";
next("-");
}
while (ch >= "0" && ch <= "9") {
string5 += ch;
next();
}
if (ch === ".") {
string5 += ".";
while (next() && ch >= "0" && ch <= "9") {
string5 += ch;
}
}
if (ch === "e" || ch === "E") {
string5 += ch;
next();
if (ch === "-" || ch === "+") {
string5 += ch;
next();
}
while (ch >= "0" && ch <= "9") {
string5 += ch;
next();
}
}
number5 = +string5;
if (!isFinite(number5)) {
error51("Bad number");
} else {
if (BigNumber == null)
BigNumber = require_bignumber();
if (string5.length > 15)
return _options.storeAsString ? string5 : _options.useNativeBigInt ? BigInt(string5) : new BigNumber(string5);
else
return !_options.alwaysParseAsBig ? number5 : _options.useNativeBigInt ? BigInt(number5) : new BigNumber(number5);
}
}, string4 = function() {
var hex3, i3, string5 = "", uffff;
if (ch === '"') {
var startAt = at;
while (next()) {
if (ch === '"') {
if (at - 1 > startAt)
string5 += text.substring(startAt, at - 1);
next();
return string5;
}
if (ch === "\\") {
if (at - 1 > startAt)
string5 += text.substring(startAt, at - 1);
next();
if (ch === "u") {
uffff = 0;
for (i3 = 0;i3 < 4; i3 += 1) {
hex3 = parseInt(next(), 16);
if (!isFinite(hex3)) {
break;
}
uffff = uffff * 16 + hex3;
}
string5 += String.fromCharCode(uffff);
} else if (typeof escapee[ch] === "string") {
string5 += escapee[ch];
} else {
break;
}
startAt = at;
}
}
}
error51("Bad string");
}, white2 = function() {
while (ch && ch <= " ") {
next();
}
}, word = function() {
switch (ch) {
case "t":
next("t");
next("r");
next("u");
next("e");
return true;
case "f":
next("f");
next("a");
next("l");
next("s");
next("e");
return false;
case "n":
next("n");
next("u");
next("l");
next("l");
return null;
}
error51("Unexpected '" + ch + "'");
}, value, array2 = function() {
var array3 = [];
if (ch === "[") {
next("[");
white2();
if (ch === "]") {
next("]");
return array3;
}
while (ch) {
array3.push(value());
white2();
if (ch === "]") {
next("]");
return array3;
}
next(",");
white2();
}
}
error51("Bad array");
}, object2 = function() {
var key, object3 = Object.create(null);
if (ch === "{") {
next("{");
white2();
if (ch === "}") {
next("}");
return object3;
}
while (ch) {
key = string4();
white2();
next(":");
if (_options.strict === true && Object.hasOwnProperty.call(object3, key)) {
error51('Duplicate key "' + key + '"');
}
if (suspectProtoRx.test(key) === true) {
if (_options.protoAction === "error") {
error51("Object contains forbidden prototype property");
} else if (_options.protoAction === "ignore") {
value();
} else {
object3[key] = value();
}
} else if (suspectConstructorRx.test(key) === true) {
if (_options.constructorAction === "error") {
error51("Object contains forbidden constructor property");
} else if (_options.constructorAction === "ignore") {
value();
} else {
object3[key] = value();
}
} else {
object3[key] = value();
}
white2();
if (ch === "}") {
next("}");
return object3;
}
next(",");
white2();
}
}
error51("Bad object");
};
value = function() {
white2();
switch (ch) {
case "{":
return object2();
case "[":
return array2();
case '"':
return string4();
case "-":
return number4();
default:
return ch >= "0" && ch <= "9" ? number4() : word();
}
};
return function(source, reviver) {
var result;
text = source + "";
at = 0;
ch = " ";
result = value();
white2();
if (ch) {
error51("Syntax error");
}
return typeof reviver === "function" ? function walk(holder, key) {
var k2, v2, value2 = holder[key];
if (value2 && typeof value2 === "object") {
Object.keys(value2).forEach(function(k3) {
v2 = walk(value2, k3);
if (v2 !== undefined) {
value2[k3] = v2;
} else {
delete value2[k3];
}
});
}
return reviver.call(holder, key, value2);
}({ "": result }, "") : result;
};
};
module.exports = json_parse;
});
// node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/index.js
var require_json_bigint = __commonJS((exports, module) => {
var json_stringify = require_stringify2().stringify;
var json_parse = require_parse6();
module.exports = function(options) {
return {
parse: json_parse(options),
stringify: json_stringify
};
};
module.exports.parse = json_parse();
module.exports.stringify = json_stringify;
});
// node_modules/.pnpm/gcp-metadata@8.1.2/node_modules/gcp-metadata/build/src/gcp-residency.js
var require_gcp_residency = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GCE_LINUX_BIOS_PATHS = undefined;
exports.isGoogleCloudServerless = isGoogleCloudServerless;
exports.isGoogleComputeEngineLinux = isGoogleComputeEngineLinux;
exports.isGoogleComputeEngineMACAddress = isGoogleComputeEngineMACAddress;
exports.isGoogleComputeEngine = isGoogleComputeEngine;
exports.detectGCPResidency = detectGCPResidency;
var fs_1 = __require("fs");
var os_1 = __require("os");
exports.GCE_LINUX_BIOS_PATHS = {
BIOS_DATE: "/sys/class/dmi/id/bios_date",
BIOS_VENDOR: "/sys/class/dmi/id/bios_vendor"
};
var GCE_MAC_ADDRESS_REGEX = /^42:01/;
function isGoogleCloudServerless() {
const isGFEnvironment = process.env.CLOUD_RUN_JOB || process.env.FUNCTION_NAME || process.env.K_SERVICE;
return !!isGFEnvironment;
}
function isGoogleComputeEngineLinux() {
if ((0, os_1.platform)() !== "linux")
return false;
try {
(0, fs_1.statSync)(exports.GCE_LINUX_BIOS_PATHS.BIOS_DATE);
const biosVendor = (0, fs_1.readFileSync)(exports.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR, "utf8");
return /Google/.test(biosVendor);
} catch {
return false;
}
}
function isGoogleComputeEngineMACAddress() {
const interfaces = (0, os_1.networkInterfaces)();
for (const item of Object.values(interfaces)) {
if (!item)
continue;
for (const { mac: mac3 } of item) {
if (GCE_MAC_ADDRESS_REGEX.test(mac3)) {
return true;
}
}
}
return false;
}
function isGoogleComputeEngine() {
return isGoogleComputeEngineLinux() || isGoogleComputeEngineMACAddress();
}
function detectGCPResidency() {
return isGoogleCloudServerless() || isGoogleComputeEngine();
}
});
// node_modules/.pnpm/google-logging-utils@1.1.3/node_modules/google-logging-utils/build/src/colours.js
var require_colours = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Colours = undefined;
class Colours {
static isEnabled(stream4) {
return stream4 && stream4.isTTY && (typeof stream4.getColorDepth === "function" ? stream4.getColorDepth() > 2 : true);
}
static refresh() {
Colours.enabled = Colours.isEnabled(process === null || process === undefined ? undefined : process.stderr);
if (!this.enabled) {
Colours.reset = "";
Colours.bright = "";
Colours.dim = "";
Colours.red = "";
Colours.green = "";
Colours.yellow = "";
Colours.blue = "";
Colours.magenta = "";
Colours.cyan = "";
Colours.white = "";
Colours.grey = "";
} else {
Colours.reset = "\x1B[0m";
Colours.bright = "\x1B[1m";
Colours.dim = "\x1B[2m";
Colours.red = "\x1B[31m";
Colours.green = "\x1B[32m";
Colours.yellow = "\x1B[33m";
Colours.blue = "\x1B[34m";
Colours.magenta = "\x1B[35m";
Colours.cyan = "\x1B[36m";
Colours.white = "\x1B[37m";
Colours.grey = "\x1B[90m";
}
}
}
exports.Colours = Colours;
Colours.enabled = false;
Colours.reset = "";
Colours.bright = "";
Colours.dim = "";
Colours.red = "";
Colours.green = "";
Colours.yellow = "";
Colours.blue = "";
Colours.magenta = "";
Colours.cyan = "";
Colours.white = "";
Colours.grey = "";
Colours.refresh();
});
// node_modules/.pnpm/google-logging-utils@1.1.3/node_modules/google-logging-utils/build/src/logging-utils.js
var require_logging_utils = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function() {
var ownKeys = function(o2) {
ownKeys = Object.getOwnPropertyNames || function(o3) {
var ar = [];
for (var k2 in o3)
if (Object.prototype.hasOwnProperty.call(o3, k2))
ar[ar.length] = k2;
return ar;
};
return ownKeys(o2);
};
return function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 = ownKeys(mod2), i3 = 0;i3 < k2.length; i3++)
if (k2[i3] !== "default")
__createBinding(result, mod2, k2[i3]);
}
__setModuleDefault(result, mod2);
return result;
};
}();
Object.defineProperty(exports, "__esModule", { value: true });
exports.env = exports.DebugLogBackendBase = exports.placeholder = exports.AdhocDebugLogger = exports.LogSeverity = undefined;
exports.getNodeBackend = getNodeBackend;
exports.getDebugBackend = getDebugBackend;
exports.getStructuredBackend = getStructuredBackend;
exports.setBackend = setBackend;
exports.log = log3;
var events_1 = __require("events");
var process22 = __importStar(__require("process"));
var util4 = __importStar(__require("util"));
var colours_1 = require_colours();
var LogSeverity;
(function(LogSeverity2) {
LogSeverity2["DEFAULT"] = "DEFAULT";
LogSeverity2["DEBUG"] = "DEBUG";
LogSeverity2["INFO"] = "INFO";
LogSeverity2["WARNING"] = "WARNING";
LogSeverity2["ERROR"] = "ERROR";
})(LogSeverity || (exports.LogSeverity = LogSeverity = {}));
class AdhocDebugLogger extends events_1.EventEmitter {
constructor(namespace, upstream) {
super();
this.namespace = namespace;
this.upstream = upstream;
this.func = Object.assign(this.invoke.bind(this), {
instance: this,
on: (event, listener) => this.on(event, listener)
});
this.func.debug = (...args) => this.invokeSeverity(LogSeverity.DEBUG, ...args);
this.func.info = (...args) => this.invokeSeverity(LogSeverity.INFO, ...args);
this.func.warn = (...args) => this.invokeSeverity(LogSeverity.WARNING, ...args);
this.func.error = (...args) => this.invokeSeverity(LogSeverity.ERROR, ...args);
this.func.sublog = (namespace2) => log3(namespace2, this.func);
}
invoke(fields, ...args) {
if (this.upstream) {
try {
this.upstream(fields, ...args);
} catch (e2) {}
}
try {
this.emit("log", fields, args);
} catch (e2) {}
}
invokeSeverity(severity, ...args) {
this.invoke({ severity }, ...args);
}
}
exports.AdhocDebugLogger = AdhocDebugLogger;
exports.placeholder = new AdhocDebugLogger("", () => {}).func;
class DebugLogBackendBase {
constructor() {
var _a3;
this.cached = new Map;
this.filters = [];
this.filtersSet = false;
let nodeFlag = (_a3 = process22.env[exports.env.nodeEnables]) !== null && _a3 !== undefined ? _a3 : "*";
if (nodeFlag === "all") {
nodeFlag = "*";
}
this.filters = nodeFlag.split(",");
}
log(namespace, fields, ...args) {
try {
if (!this.filtersSet) {
this.setFilters();
this.filtersSet = true;
}
let logger27 = this.cached.get(namespace);
if (!logger27) {
logger27 = this.makeLogger(namespace);
this.cached.set(namespace, logger27);
}
logger27(fields, ...args);
} catch (e2) {
console.error(e2);
}
}
}
exports.DebugLogBackendBase = DebugLogBackendBase;
class NodeBackend extends DebugLogBackendBase {
constructor() {
super(...arguments);
this.enabledRegexp = /.*/g;
}
isEnabled(namespace) {
return this.enabledRegexp.test(namespace);
}
makeLogger(namespace) {
if (!this.enabledRegexp.test(namespace)) {
return () => {};
}
return (fields, ...args) => {
var _a3;
const nscolour = `${colours_1.Colours.green}${namespace}${colours_1.Colours.reset}`;
const pid = `${colours_1.Colours.yellow}${process22.pid}${colours_1.Colours.reset}`;
let level;
switch (fields.severity) {
case LogSeverity.ERROR:
level = `${colours_1.Colours.red}${fields.severity}${colours_1.Colours.reset}`;
break;
case LogSeverity.INFO:
level = `${colours_1.Colours.magenta}${fields.severity}${colours_1.Colours.reset}`;
break;
case LogSeverity.WARNING:
level = `${colours_1.Colours.yellow}${fields.severity}${colours_1.Colours.reset}`;
break;
default:
level = (_a3 = fields.severity) !== null && _a3 !== undefined ? _a3 : LogSeverity.DEFAULT;
break;
}
const msg = util4.formatWithOptions({ colors: colours_1.Colours.enabled }, ...args);
const filteredFields = Object.assign({}, fields);
delete filteredFields.severity;
const fieldsJson = Object.getOwnPropertyNames(filteredFields).length ? JSON.stringify(filteredFields) : "";
const fieldsColour = fieldsJson ? `${colours_1.Colours.grey}${fieldsJson}${colours_1.Colours.reset}` : "";
console.error("%s [%s|%s] %s%s", pid, nscolour, level, msg, fieldsJson ? ` ${fieldsColour}` : "");
};
}
setFilters() {
const totalFilters = this.filters.join(",");
const regexp = totalFilters.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".*").replace(/,/g, "$|^");
this.enabledRegexp = new RegExp(`^${regexp}$`, "i");
}
}
function getNodeBackend() {
return new NodeBackend;
}
class DebugBackend extends DebugLogBackendBase {
constructor(pkg) {
super();
this.debugPkg = pkg;
}
makeLogger(namespace) {
const debugLogger = this.debugPkg(namespace);
return (fields, ...args) => {
debugLogger(args[0], ...args.slice(1));
};
}
setFilters() {
var _a3;
const existingFilters = (_a3 = process22.env["NODE_DEBUG"]) !== null && _a3 !== undefined ? _a3 : "";
process22.env["NODE_DEBUG"] = `${existingFilters}${existingFilters ? "," : ""}${this.filters.join(",")}`;
}
}
function getDebugBackend(debugPkg) {
return new DebugBackend(debugPkg);
}
class StructuredBackend extends DebugLogBackendBase {
constructor(upstream) {
var _a3;
super();
this.upstream = (_a3 = upstream) !== null && _a3 !== undefined ? _a3 : undefined;
}
makeLogger(namespace) {
var _a3;
const debugLogger = (_a3 = this.upstream) === null || _a3 === undefined ? undefined : _a3.makeLogger(namespace);
return (fields, ...args) => {
var _a4;
const severity = (_a4 = fields.severity) !== null && _a4 !== undefined ? _a4 : LogSeverity.INFO;
const json2 = Object.assign({
severity,
message: util4.format(...args)
}, fields);
const jsonString = JSON.stringify(json2);
if (debugLogger) {
debugLogger(fields, jsonString);
} else {
console.log("%s", jsonString);
}
};
}
setFilters() {
var _a3;
(_a3 = this.upstream) === null || _a3 === undefined || _a3.setFilters();
}
}
function getStructuredBackend(upstream) {
return new StructuredBackend(upstream);
}
exports.env = {
nodeEnables: "GOOGLE_SDK_NODE_LOGGING"
};
var loggerCache = new Map;
var cachedBackend = undefined;
function setBackend(backend) {
cachedBackend = backend;
loggerCache.clear();
}
function log3(namespace, parent) {
if (!cachedBackend) {
const enablesFlag = process22.env[exports.env.nodeEnables];
if (!enablesFlag) {
return exports.placeholder;
}
}
if (!namespace) {
return exports.placeholder;
}
if (parent) {
namespace = `${parent.instance.namespace}:${namespace}`;
}
const existing = loggerCache.get(namespace);
if (existing) {
return existing.func;
}
if (cachedBackend === null) {
return exports.placeholder;
} else if (cachedBackend === undefined) {
cachedBackend = getNodeBackend();
}
const logger27 = (() => {
let previousBackend = undefined;
const newLogger = new AdhocDebugLogger(namespace, (fields, ...args) => {
if (previousBackend !== cachedBackend) {
if (cachedBackend === null) {
return;
} else if (cachedBackend === undefined) {
cachedBackend = getNodeBackend();
}
previousBackend = cachedBackend;
}
cachedBackend === null || cachedBackend === undefined || cachedBackend.log(namespace, fields, ...args);
});
return newLogger;
})();
loggerCache.set(namespace, logger27);
return logger27.func;
}
});
// node_modules/.pnpm/google-logging-utils@1.1.3/node_modules/google-logging-utils/build/src/index.js
var require_src3 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require_logging_utils(), exports);
});
// node_modules/.pnpm/gcp-metadata@8.1.2/node_modules/gcp-metadata/build/src/index.js
var require_src4 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o2, v2) {
Object.defineProperty(o2, "default", { enumerable: true, value: v2 });
} : function(o2, v2) {
o2["default"] = v2;
});
var __importStar = exports && exports.__importStar || function() {
var ownKeys = function(o2) {
ownKeys = Object.getOwnPropertyNames || function(o3) {
var ar = [];
for (var k2 in o3)
if (Object.prototype.hasOwnProperty.call(o3, k2))
ar[ar.length] = k2;
return ar;
};
return ownKeys(o2);
};
return function(mod2) {
if (mod2 && mod2.__esModule)
return mod2;
var result = {};
if (mod2 != null) {
for (var k2 = ownKeys(mod2), i3 = 0;i3 < k2.length; i3++)
if (k2[i3] !== "default")
__createBinding(result, mod2, k2[i3]);
}
__setModuleDefault(result, mod2);
return result;
};
}();
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.gcpResidencyCache = exports.METADATA_SERVER_DETECTION = exports.HEADERS = exports.HEADER_VALUE = exports.HEADER_NAME = exports.SECONDARY_HOST_ADDRESS = exports.HOST_ADDRESS = exports.BASE_PATH = undefined;
exports.instance = instance;
exports.project = project;
exports.universe = universe;
exports.bulk = bulk;
exports.isAvailable = isAvailable;
exports.resetIsAvailableCache = resetIsAvailableCache;
exports.getGCPResidency = getGCPResidency;
exports.setGCPResidency = setGCPResidency;
exports.requestTimeout = requestTimeout;
var gaxios_1 = require_src2();
var jsonBigint = require_json_bigint();
var gcp_residency_1 = require_gcp_residency();
var logger27 = __importStar(require_src3());
exports.BASE_PATH = "/computeMetadata/v1";
exports.HOST_ADDRESS = "http://169.254.169.254";
exports.SECONDARY_HOST_ADDRESS = "http://metadata.google.internal.";
exports.HEADER_NAME = "Metadata-Flavor";
exports.HEADER_VALUE = "Google";
exports.HEADERS = Object.freeze({ [exports.HEADER_NAME]: exports.HEADER_VALUE });
var log3 = logger27.log("gcp-metadata");
exports.METADATA_SERVER_DETECTION = Object.freeze({
"assume-present": "don't try to ping the metadata server, but assume it's present",
none: "don't try to ping the metadata server, but don't try to use it either",
"bios-only": "treat the result of a BIOS probe as canonical (don't fall back to pinging)",
"ping-only": "skip the BIOS probe, and go straight to pinging"
});
function getBaseUrl(baseUrl) {
if (!baseUrl) {
baseUrl = process.env.GCE_METADATA_IP || process.env.GCE_METADATA_HOST || exports.HOST_ADDRESS;
}
if (!/^https?:\/\//.test(baseUrl)) {
baseUrl = `http://${baseUrl}`;
}
return new URL(exports.BASE_PATH, baseUrl).href;
}
function validate3(options) {
Object.keys(options).forEach((key) => {
switch (key) {
case "params":
case "property":
case "headers":
break;
case "qs":
throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");
default:
throw new Error(`'${key}' is not a valid configuration option.`);
}
});
}
async function metadataAccessor(type, options = {}, noResponseRetries = 3, fastFail = false) {
const headers = new Headers(exports.HEADERS);
let metadataKey = "";
let params = {};
if (typeof type === "object") {
const metadataAccessor2 = type;
new Headers(metadataAccessor2.headers).forEach((value, key) => headers.set(key, value));
metadataKey = metadataAccessor2.metadataKey;
params = metadataAccessor2.params || params;
noResponseRetries = metadataAccessor2.noResponseRetries || noResponseRetries;
fastFail = metadataAccessor2.fastFail || fastFail;
} else {
metadataKey = type;
}
if (typeof options === "string") {
metadataKey += `/${options}`;
} else {
validate3(options);
if (options.property) {
metadataKey += `/${options.property}`;
}
new Headers(options.headers).forEach((value, key) => headers.set(key, value));
params = options.params || params;
}
const requestMethod = fastFail ? fastFailMetadataRequest : gaxios_1.request;
const req = {
url: `${getBaseUrl()}/${metadataKey}`,
headers,
retryConfig: { noResponseRetries },
params,
responseType: "text",
timeout: requestTimeout()
};
log3.info("instance request %j", req);
const res = await requestMethod(req);
log3.info("instance metadata is %s", res.data);
const metadataFlavor = res.headers.get(exports.HEADER_NAME);
if (metadataFlavor !== exports.HEADER_VALUE) {
throw new RangeError(`Invalid response from metadata service: incorrect ${exports.HEADER_NAME} header. Expected '${exports.HEADER_VALUE}', got ${metadataFlavor ? `'${metadataFlavor}'` : "no header"}`);
}
if (typeof res.data === "string") {
try {
return jsonBigint.parse(res.data);
} catch {}
}
return res.data;
}
async function fastFailMetadataRequest(options) {
const secondaryOptions = {
...options,
url: options.url?.toString().replace(getBaseUrl(), getBaseUrl(exports.SECONDARY_HOST_ADDRESS))
};
const r1 = (0, gaxios_1.request)(options);
const r2 = (0, gaxios_1.request)(secondaryOptions);
return Promise.any([r1, r2]);
}
function instance(options) {
return metadataAccessor("instance", options);
}
function project(options) {
return metadataAccessor("project", options);
}
function universe(options) {
return metadataAccessor("universe", options);
}
async function bulk(properties) {
const r2 = {};
await Promise.all(properties.map((item) => {
return (async () => {
const res = await metadataAccessor(item);
const key = item.metadataKey;
r2[key] = res;
})();
}));
return r2;
}
function detectGCPAvailableRetries() {
return process.env.DETECT_GCP_RETRIES ? Number(process.env.DETECT_GCP_RETRIES) : 0;
}
var cachedIsAvailableResponse;
async function isAvailable() {
if (process.env.METADATA_SERVER_DETECTION) {
const value = process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();
if (!(value in exports.METADATA_SERVER_DETECTION)) {
throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${value}\`, but it should be \`${Object.keys(exports.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);
}
switch (value) {
case "assume-present":
return true;
case "none":
return false;
case "bios-only":
return getGCPResidency();
case "ping-only":
}
}
try {
if (cachedIsAvailableResponse === undefined) {
cachedIsAvailableResponse = metadataAccessor("instance", undefined, detectGCPAvailableRetries(), !(process.env.GCE_METADATA_IP || process.env.GCE_METADATA_HOST));
}
await cachedIsAvailableResponse;
return true;
} catch (e2) {
const err = e2;
if (process.env.DEBUG_AUTH) {
console.info(err);
}
if (err.type === "request-timeout") {
return false;
}
if (err.response && err.response.status === 404) {
return false;
} else {
if (!(err.response && err.response.status === 404) && (!err.code || ![
"EHOSTDOWN",
"EHOSTUNREACH",
"ENETUNREACH",
"ENOENT",
"ENOTFOUND",
"ECONNREFUSED"
].includes(err.code.toString()))) {
let code = "UNKNOWN";
if (err.code)
code = err.code.toString();
process.emitWarning(`received unexpected error = ${err.message} code = ${code}`, "MetadataLookupWarning");
}
return false;
}
}
}
function resetIsAvailableCache() {
cachedIsAvailableResponse = undefined;
}
exports.gcpResidencyCache = null;
function getGCPResidency() {
if (exports.gcpResidencyCache === null) {
setGCPResidency();
}
return exports.gcpResidencyCache;
}
function setGCPResidency(value = null) {
exports.gcpResidencyCache = value !== null ? value : (0, gcp_residency_1.detectGCPResidency)();
}
function requestTimeout() {
return getGCPResidency() ? 0 : 3000;
}
__exportStar(require_gcp_residency(), exports);
});
// node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
var require_base64_js = __commonJS((exports) => {
exports.byteLength = byteLength;
exports.toByteArray = toByteArray;
exports.fromByteArray = fromByteArray;
var lookup = [];
var revLookup = [];
var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
for (i3 = 0, len = code.length;i3 < len; ++i3) {
lookup[i3] = code[i3];
revLookup[code.charCodeAt(i3)] = i3;
}
var i3;
var len;
revLookup[45] = 62;
revLookup[95] = 63;
function getLens(b64) {
var len2 = b64.length;
if (len2 % 4 > 0) {
throw new Error("Invalid string. Length must be a multiple of 4");
}
var validLen = b64.indexOf("=");
if (validLen === -1)
validLen = len2;
var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
return [validLen, placeHoldersLen];
}
function byteLength(b64) {
var lens = getLens(b64);
var validLen = lens[0];
var placeHoldersLen = lens[1];
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
}
function _byteLength(b64, validLen, placeHoldersLen) {
return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
}
function toByteArray(b64) {
var tmp;
var lens = getLens(b64);
var validLen = lens[0];
var placeHoldersLen = lens[1];
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
var curByte = 0;
var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
var i4;
for (i4 = 0;i4 < len2; i4 += 4) {
tmp = revLookup[b64.charCodeAt(i4)] << 18 | revLookup[b64.charCodeAt(i4 + 1)] << 12 | revLookup[b64.charCodeAt(i4 + 2)] << 6 | revLookup[b64.charCodeAt(i4 + 3)];
arr[curByte++] = tmp >> 16 & 255;
arr[curByte++] = tmp >> 8 & 255;
arr[curByte++] = tmp & 255;
}
if (placeHoldersLen === 2) {
tmp = revLookup[b64.charCodeAt(i4)] << 2 | revLookup[b64.charCodeAt(i4 + 1)] >> 4;
arr[curByte++] = tmp & 255;
}
if (placeHoldersLen === 1) {
tmp = revLookup[b64.charCodeAt(i4)] << 10 | revLookup[b64.charCodeAt(i4 + 1)] << 4 | revLookup[b64.charCodeAt(i4 + 2)] >> 2;
arr[curByte++] = tmp >> 8 & 255;
arr[curByte++] = tmp & 255;
}
return arr;
}
function tripletToBase64(num) {
return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
}
function encodeChunk(uint8, start, end) {
var tmp;
var output = [];
for (var i4 = start;i4 < end; i4 += 3) {
tmp = (uint8[i4] << 16 & 16711680) + (uint8[i4 + 1] << 8 & 65280) + (uint8[i4 + 2] & 255);
output.push(tripletToBase64(tmp));
}
return output.join("");
}
function fromByteArray(uint8) {
var tmp;
var len2 = uint8.length;
var extraBytes = len2 % 3;
var parts = [];
var maxChunkLength = 16383;
for (var i4 = 0, len22 = len2 - extraBytes;i4 < len22; i4 += maxChunkLength) {
parts.push(encodeChunk(uint8, i4, i4 + maxChunkLength > len22 ? len22 : i4 + maxChunkLength));
}
if (extraBytes === 1) {
tmp = uint8[len2 - 1];
parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");
} else if (extraBytes === 2) {
tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");
}
return parts.join("");
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/crypto/shared.js
var require_shared = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromArrayBufferToHex = fromArrayBufferToHex;
function fromArrayBufferToHex(arrayBuffer) {
const byteArray = Array.from(new Uint8Array(arrayBuffer));
return byteArray.map((byte) => {
return byte.toString(16).padStart(2, "0");
}).join("");
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/crypto/browser/crypto.js
var require_crypto = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BrowserCrypto = undefined;
var base64js = require_base64_js();
var shared_1 = require_shared();
class BrowserCrypto {
constructor() {
if (typeof window === "undefined" || window.crypto === undefined || window.crypto.subtle === undefined) {
throw new Error("SubtleCrypto not found. Make sure it's an https:// website.");
}
}
async sha256DigestBase64(str) {
const inputBuffer = new TextEncoder().encode(str);
const outputBuffer = await window.crypto.subtle.digest("SHA-256", inputBuffer);
return base64js.fromByteArray(new Uint8Array(outputBuffer));
}
randomBytesBase64(count3) {
const array2 = new Uint8Array(count3);
window.crypto.getRandomValues(array2);
return base64js.fromByteArray(array2);
}
static padBase64(base644) {
while (base644.length % 4 !== 0) {
base644 += "=";
}
return base644;
}
async verify(pubkey, data, signature) {
const algo = {
name: "RSASSA-PKCS1-v1_5",
hash: { name: "SHA-256" }
};
const dataArray = new TextEncoder().encode(data);
const signatureArray = base64js.toByteArray(BrowserCrypto.padBase64(signature));
const cryptoKey = await window.crypto.subtle.importKey("jwk", pubkey, algo, true, ["verify"]);
const result = await window.crypto.subtle.verify(algo, cryptoKey, Buffer.from(signatureArray), dataArray);
return result;
}
async sign(privateKey, data) {
const algo = {
name: "RSASSA-PKCS1-v1_5",
hash: { name: "SHA-256" }
};
const dataArray = new TextEncoder().encode(data);
const cryptoKey = await window.crypto.subtle.importKey("jwk", privateKey, algo, true, ["sign"]);
const result = await window.crypto.subtle.sign(algo, cryptoKey, dataArray);
return base64js.fromByteArray(new Uint8Array(result));
}
decodeBase64StringUtf8(base644) {
const uint8array = base64js.toByteArray(BrowserCrypto.padBase64(base644));
const result = new TextDecoder().decode(uint8array);
return result;
}
encodeBase64StringUtf8(text) {
const uint8array = new TextEncoder().encode(text);
const result = base64js.fromByteArray(uint8array);
return result;
}
async sha256DigestHex(str) {
const inputBuffer = new TextEncoder().encode(str);
const outputBuffer = await window.crypto.subtle.digest("SHA-256", inputBuffer);
return (0, shared_1.fromArrayBufferToHex)(outputBuffer);
}
async signWithHmacSha256(key, msg) {
const rawKey = typeof key === "string" ? key : String.fromCharCode(...new Uint16Array(key));
const enc = new TextEncoder;
const cryptoKey = await window.crypto.subtle.importKey("raw", enc.encode(rawKey), {
name: "HMAC",
hash: {
name: "SHA-256"
}
}, false, ["sign"]);
return window.crypto.subtle.sign("HMAC", cryptoKey, enc.encode(msg));
}
}
exports.BrowserCrypto = BrowserCrypto;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/crypto/node/crypto.js
var require_crypto2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeCrypto = undefined;
var crypto5 = __require("crypto");
class NodeCrypto {
async sha256DigestBase64(str) {
return crypto5.createHash("sha256").update(str).digest("base64");
}
randomBytesBase64(count3) {
return crypto5.randomBytes(count3).toString("base64");
}
async verify(pubkey, data, signature) {
const verifier = crypto5.createVerify("RSA-SHA256");
verifier.update(data);
verifier.end();
return verifier.verify(pubkey, signature, "base64");
}
async sign(privateKey, data) {
const signer = crypto5.createSign("RSA-SHA256");
signer.update(data);
signer.end();
return signer.sign(privateKey, "base64");
}
decodeBase64StringUtf8(base644) {
return Buffer.from(base644, "base64").toString("utf-8");
}
encodeBase64StringUtf8(text) {
return Buffer.from(text, "utf-8").toString("base64");
}
async sha256DigestHex(str) {
return crypto5.createHash("sha256").update(str).digest("hex");
}
async signWithHmacSha256(key, msg) {
const cryptoKey = typeof key === "string" ? key : toBuffer(key);
return toArrayBuffer(crypto5.createHmac("sha256", cryptoKey).update(msg).digest());
}
}
exports.NodeCrypto = NodeCrypto;
function toArrayBuffer(buffer) {
const ab = new ArrayBuffer(buffer.length);
const view = new Uint8Array(ab);
for (let i3 = 0;i3 < buffer.length; ++i3) {
view[i3] = buffer[i3];
}
return ab;
}
function toBuffer(arrayBuffer) {
return Buffer.from(arrayBuffer);
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/crypto/crypto.js
var require_crypto3 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCrypto = createCrypto;
exports.hasBrowserCrypto = hasBrowserCrypto;
var crypto_1 = require_crypto();
var crypto_2 = require_crypto2();
__exportStar(require_shared(), exports);
function createCrypto() {
if (hasBrowserCrypto()) {
return new crypto_1.BrowserCrypto;
}
return new crypto_2.NodeCrypto;
}
function hasBrowserCrypto() {
return typeof window !== "undefined" && typeof window.crypto !== "undefined" && typeof window.crypto.subtle !== "undefined";
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/util.js
var require_util8 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LRUCache = undefined;
exports.snakeToCamel = snakeToCamel;
exports.originalOrCamelOptions = originalOrCamelOptions;
exports.removeUndefinedValuesInObject = removeUndefinedValuesInObject;
exports.isValidFile = isValidFile;
exports.getWellKnownCertificateConfigFileLocation = getWellKnownCertificateConfigFileLocation;
var fs8 = __require("fs");
var os6 = __require("os");
var path12 = __require("path");
var WELL_KNOWN_CERTIFICATE_CONFIG_FILE = "certificate_config.json";
var CLOUDSDK_CONFIG_DIRECTORY = "gcloud";
function snakeToCamel(str) {
return str.replace(/([_][^_])/g, (match) => match.slice(1).toUpperCase());
}
function originalOrCamelOptions(obj) {
function get2(key) {
const o2 = obj || {};
return o2[key] ?? o2[snakeToCamel(key)];
}
return { get: get2 };
}
class LRUCache {
capacity;
#cache = new Map;
maxAge;
constructor(options) {
this.capacity = options.capacity;
this.maxAge = options.maxAge;
}
#moveToEnd(key, value) {
this.#cache.delete(key);
this.#cache.set(key, {
value,
lastAccessed: Date.now()
});
}
set(key, value) {
this.#moveToEnd(key, value);
this.#evict();
}
get(key) {
const item = this.#cache.get(key);
if (!item)
return;
this.#moveToEnd(key, item.value);
this.#evict();
return item.value;
}
#evict() {
const cutoffDate = this.maxAge ? Date.now() - this.maxAge : 0;
let oldestItem = this.#cache.entries().next();
while (!oldestItem.done && (this.#cache.size > this.capacity || oldestItem.value[1].lastAccessed < cutoffDate)) {
this.#cache.delete(oldestItem.value[0]);
oldestItem = this.#cache.entries().next();
}
}
}
exports.LRUCache = LRUCache;
function removeUndefinedValuesInObject(object2) {
Object.entries(object2).forEach(([key, value]) => {
if (value === undefined || value === "undefined") {
delete object2[key];
}
});
return object2;
}
async function isValidFile(filePath) {
try {
const stats = await fs8.promises.lstat(filePath);
return stats.isFile();
} catch (e2) {
return false;
}
}
function getWellKnownCertificateConfigFileLocation() {
const configDir = process.env.CLOUDSDK_CONFIG || (_isWindows() ? path12.join(process.env.APPDATA || "", CLOUDSDK_CONFIG_DIRECTORY) : path12.join(process.env.HOME || "", ".config", CLOUDSDK_CONFIG_DIRECTORY));
return path12.join(configDir, WELL_KNOWN_CERTIFICATE_CONFIG_FILE);
}
function _isWindows() {
return os6.platform().startsWith("win");
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/package.json
var require_package6 = __commonJS((exports, module) => {
module.exports = {
name: "google-auth-library",
version: "10.6.2",
author: "Google Inc.",
description: "Google APIs Authentication Client Library for Node.js",
engines: {
node: ">=18"
},
main: "./build/src/index.js",
types: "./build/src/index.d.ts",
repository: {
type: "git",
directory: "packages/google-auth-library-nodejs",
url: "https://github.com/googleapis/google-cloud-node-core.git"
},
keywords: [
"google",
"api",
"google apis",
"client",
"client library"
],
dependencies: {
"base64-js": "^1.3.0",
"ecdsa-sig-formatter": "^1.0.11",
gaxios: "^7.1.4",
"gcp-metadata": "8.1.2",
"google-logging-utils": "1.1.3",
jws: "^4.0.0"
},
devDependencies: {
"@types/base64-js": "^1.2.5",
"@types/jws": "^3.1.0",
"@types/mocha": "^10.0.10",
"@types/mv": "^2.1.0",
"@types/ncp": "^2.0.8",
"@types/node": "^24.0.0",
"@types/sinon": "^21.0.0",
"assert-rejects": "^1.0.0",
c8: "^10.1.3",
codecov: "^3.8.3",
gts: "^6.0.2",
"is-docker": "^3.0.0",
jsdoc: "^4.0.4",
"jsdoc-fresh": "^5.0.0",
"jsdoc-region-tag": "^4.0.0",
karma: "^6.0.0",
"karma-chrome-launcher": "^3.0.0",
"karma-coverage": "^2.0.0",
"karma-firefox-launcher": "^2.0.0",
"karma-mocha": "^2.0.0",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "^5.0.1",
keypair: "^1.0.4",
mocha: "^11.1.0",
mv: "^2.1.1",
ncp: "^2.0.0",
nock: "^14.0.5",
"null-loader": "^4.0.1",
puppeteer: "^24.0.0",
sinon: "^21.0.0",
"ts-loader": "^9.5.2",
typescript: "5.8.3",
webpack: "^5.97.1",
"webpack-cli": "^6.0.1"
},
files: [
"build/src",
"!build/src/**/*.map"
],
scripts: {
test: "c8 mocha build/test",
clean: "gts clean",
prepare: "npm run compile",
lint: "gts check --no-inline-config",
compile: "tsc -p .",
fix: "gts fix",
pretest: "npm run compile -- --sourceMap",
docs: "jsdoc -c .jsdoc.js",
"samples-setup": "cd samples/ && npm link ../ && npm run setup && cd ../",
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
"system-test": "mocha build/system-test --timeout 60000",
"presystem-test": "npm run compile -- --sourceMap",
webpack: "webpack",
"browser-test": "karma start",
"docs-test": "echo 'disabled until linkinator is fixed'",
"predocs-test": "npm run docs",
prelint: "cd samples; npm link ../; npm install"
},
license: "Apache-2.0",
homepage: "https://github.com/googleapis/google-cloud-node-core/tree/main/packages/google-auth-library-nodejs"
};
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/shared.cjs
var require_shared2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.USER_AGENT = exports.PRODUCT_NAME = exports.pkg = undefined;
var pkg = require_package6();
exports.pkg = pkg;
var PRODUCT_NAME = "google-api-nodejs-client";
exports.PRODUCT_NAME = PRODUCT_NAME;
var USER_AGENT = `${PRODUCT_NAME}/${pkg.version}`;
exports.USER_AGENT = USER_AGENT;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/authclient.js
var require_authclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthClient = exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS = exports.DEFAULT_UNIVERSE = undefined;
var events_1 = __require("events");
var gaxios_1 = require_src2();
var util_1 = require_util8();
var google_logging_utils_1 = require_src3();
var shared_cjs_1 = require_shared2();
exports.DEFAULT_UNIVERSE = "googleapis.com";
exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS = 5 * 60 * 1000;
class AuthClient extends events_1.EventEmitter {
apiKey;
projectId;
quotaProjectId;
transporter;
credentials = {};
eagerRefreshThresholdMillis = exports.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;
forceRefreshOnFailure = false;
universeDomain = exports.DEFAULT_UNIVERSE;
static RequestMethodNameSymbol = Symbol("request method name");
static RequestLogIdSymbol = Symbol("request log id");
constructor(opts = {}) {
super();
const options = (0, util_1.originalOrCamelOptions)(opts);
this.apiKey = opts.apiKey;
this.projectId = options.get("project_id") ?? null;
this.quotaProjectId = options.get("quota_project_id");
this.credentials = options.get("credentials") ?? {};
this.universeDomain = options.get("universe_domain") ?? exports.DEFAULT_UNIVERSE;
this.transporter = opts.transporter ?? new gaxios_1.Gaxios(opts.transporterOptions);
if (options.get("useAuthRequestParameters") !== false) {
this.transporter.interceptors.request.add(AuthClient.DEFAULT_REQUEST_INTERCEPTOR);
this.transporter.interceptors.response.add(AuthClient.DEFAULT_RESPONSE_INTERCEPTOR);
}
if (opts.eagerRefreshThresholdMillis) {
this.eagerRefreshThresholdMillis = opts.eagerRefreshThresholdMillis;
}
this.forceRefreshOnFailure = opts.forceRefreshOnFailure ?? false;
}
fetch(...args) {
const input = args[0];
const init = args[1];
let url3 = undefined;
const headers = new Headers;
if (typeof input === "string") {
url3 = new URL(input);
} else if (input instanceof URL) {
url3 = input;
} else if (input && input.url) {
url3 = new URL(input.url);
}
if (input && typeof input === "object" && "headers" in input) {
gaxios_1.Gaxios.mergeHeaders(headers, input.headers);
}
if (init) {
gaxios_1.Gaxios.mergeHeaders(headers, new Headers(init.headers));
}
if (typeof input === "object" && !(input instanceof URL)) {
return this.request({ ...init, ...input, headers, url: url3 });
} else {
return this.request({ ...init, headers, url: url3 });
}
}
setCredentials(credentials) {
this.credentials = credentials;
}
addSharedMetadataHeaders(headers) {
if (!headers.has("x-goog-user-project") && this.quotaProjectId) {
headers.set("x-goog-user-project", this.quotaProjectId);
}
return headers;
}
addUserProjectAndAuthHeaders(target, source) {
const xGoogUserProject = source.get("x-goog-user-project");
const authorizationHeader = source.get("authorization");
if (xGoogUserProject) {
target.set("x-goog-user-project", xGoogUserProject);
}
if (authorizationHeader) {
target.set("authorization", authorizationHeader);
}
return target;
}
static log = (0, google_logging_utils_1.log)("auth");
static DEFAULT_REQUEST_INTERCEPTOR = {
resolved: async (config2) => {
if (!config2.headers.has("x-goog-api-client")) {
const nodeVersion = process.version.replace(/^v/, "");
config2.headers.set("x-goog-api-client", `gl-node/${nodeVersion}`);
}
const userAgent = config2.headers.get("User-Agent");
if (!userAgent) {
config2.headers.set("User-Agent", shared_cjs_1.USER_AGENT);
} else if (!userAgent.includes(`${shared_cjs_1.PRODUCT_NAME}/`)) {
config2.headers.set("User-Agent", `${userAgent} ${shared_cjs_1.USER_AGENT}`);
}
try {
const symbols = config2;
const methodName = symbols[AuthClient.RequestMethodNameSymbol];
const logId = `${Math.floor(Math.random() * 1000)}`;
symbols[AuthClient.RequestLogIdSymbol] = logId;
const logObject = {
url: config2.url,
headers: config2.headers
};
if (methodName) {
AuthClient.log.info("%s [%s] request %j", methodName, logId, logObject);
} else {
AuthClient.log.info("[%s] request %j", logId, logObject);
}
} catch (e2) {}
return config2;
}
};
static DEFAULT_RESPONSE_INTERCEPTOR = {
resolved: async (response) => {
try {
const symbols = response.config;
const methodName = symbols[AuthClient.RequestMethodNameSymbol];
const logId = symbols[AuthClient.RequestLogIdSymbol];
if (methodName) {
AuthClient.log.info("%s [%s] response %j", methodName, logId, response.data);
} else {
AuthClient.log.info("[%s] response %j", logId, response.data);
}
} catch (e2) {}
return response;
},
rejected: async (error51) => {
try {
const symbols = error51.config;
const methodName = symbols[AuthClient.RequestMethodNameSymbol];
const logId = symbols[AuthClient.RequestLogIdSymbol];
if (methodName) {
AuthClient.log.info("%s [%s] error %j", methodName, logId, error51.response?.data);
} else {
AuthClient.log.error("[%s] error %j", logId, error51.response?.data);
}
} catch (e2) {}
throw error51;
}
};
static setMethodName(config2, methodName) {
try {
const symbols = config2;
symbols[AuthClient.RequestMethodNameSymbol] = methodName;
} catch (e2) {}
}
static get RETRY_CONFIG() {
return {
retry: true,
retryConfig: {
httpMethodsToRetry: ["GET", "PUT", "POST", "HEAD", "OPTIONS", "DELETE"]
}
};
}
}
exports.AuthClient = AuthClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/loginticket.js
var require_loginticket = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoginTicket = undefined;
class LoginTicket {
envelope;
payload;
constructor(env6, pay) {
this.envelope = env6;
this.payload = pay;
}
getEnvelope() {
return this.envelope;
}
getPayload() {
return this.payload;
}
getUserId() {
const payload = this.getPayload();
if (payload && payload.sub) {
return payload.sub;
}
return null;
}
getAttributes() {
return { envelope: this.getEnvelope(), payload: this.getPayload() };
}
}
exports.LoginTicket = LoginTicket;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/oauth2client.js
var require_oauth2client = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.OAuth2Client = exports.ClientAuthentication = exports.CertificateFormat = exports.CodeChallengeMethod = undefined;
var gaxios_1 = require_src2();
var querystring = __require("querystring");
var stream4 = __require("stream");
var formatEcdsa = require_ecdsa_sig_formatter();
var util_1 = require_util8();
var crypto_1 = require_crypto3();
var authclient_1 = require_authclient();
var loginticket_1 = require_loginticket();
var CodeChallengeMethod;
(function(CodeChallengeMethod2) {
CodeChallengeMethod2["Plain"] = "plain";
CodeChallengeMethod2["S256"] = "S256";
})(CodeChallengeMethod || (exports.CodeChallengeMethod = CodeChallengeMethod = {}));
var CertificateFormat;
(function(CertificateFormat2) {
CertificateFormat2["PEM"] = "PEM";
CertificateFormat2["JWK"] = "JWK";
})(CertificateFormat || (exports.CertificateFormat = CertificateFormat = {}));
var ClientAuthentication;
(function(ClientAuthentication2) {
ClientAuthentication2["ClientSecretPost"] = "ClientSecretPost";
ClientAuthentication2["ClientSecretBasic"] = "ClientSecretBasic";
ClientAuthentication2["None"] = "None";
})(ClientAuthentication || (exports.ClientAuthentication = ClientAuthentication = {}));
class OAuth2Client extends authclient_1.AuthClient {
redirectUri;
certificateCache = {};
certificateExpiry = null;
certificateCacheFormat = CertificateFormat.PEM;
refreshTokenPromises = new Map;
endpoints;
issuers;
clientAuthentication;
_clientId;
_clientSecret;
refreshHandler;
constructor(options = {}, clientSecret, redirectUri) {
super(typeof options === "object" ? options : {});
if (typeof options !== "object") {
options = {
clientId: options,
clientSecret,
redirectUri
};
}
this._clientId = options.clientId || options.client_id;
this._clientSecret = options.clientSecret || options.client_secret;
this.redirectUri = options.redirectUri || options.redirect_uris?.[0];
this.endpoints = {
tokenInfoUrl: "https://oauth2.googleapis.com/tokeninfo",
oauth2AuthBaseUrl: "https://accounts.google.com/o/oauth2/v2/auth",
oauth2TokenUrl: "https://oauth2.googleapis.com/token",
oauth2RevokeUrl: "https://oauth2.googleapis.com/revoke",
oauth2FederatedSignonPemCertsUrl: "https://www.googleapis.com/oauth2/v1/certs",
oauth2FederatedSignonJwkCertsUrl: "https://www.googleapis.com/oauth2/v3/certs",
oauth2IapPublicKeyUrl: "https://www.gstatic.com/iap/verify/public_key",
...options.endpoints
};
this.clientAuthentication = options.clientAuthentication || ClientAuthentication.ClientSecretPost;
this.issuers = options.issuers || [
"accounts.google.com",
"https://accounts.google.com",
this.universeDomain
];
}
static GOOGLE_TOKEN_INFO_URL = "https://oauth2.googleapis.com/tokeninfo";
static CLOCK_SKEW_SECS_ = 300;
static DEFAULT_MAX_TOKEN_LIFETIME_SECS_ = 86400;
generateAuthUrl(opts = {}) {
if (opts.code_challenge_method && !opts.code_challenge) {
throw new Error("If a code_challenge_method is provided, code_challenge must be included.");
}
opts.response_type = opts.response_type || "code";
opts.client_id = opts.client_id || this._clientId;
opts.redirect_uri = opts.redirect_uri || this.redirectUri;
if (Array.isArray(opts.scope)) {
opts.scope = opts.scope.join(" ");
}
const rootUrl = this.endpoints.oauth2AuthBaseUrl.toString();
return rootUrl + "?" + querystring.stringify(opts);
}
generateCodeVerifier() {
throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.");
}
async generateCodeVerifierAsync() {
const crypto5 = (0, crypto_1.createCrypto)();
const randomString2 = crypto5.randomBytesBase64(96);
const codeVerifier = randomString2.replace(/\+/g, "~").replace(/=/g, "_").replace(/\//g, "-");
const unencodedCodeChallenge = await crypto5.sha256DigestBase64(codeVerifier);
const codeChallenge = unencodedCodeChallenge.split("=")[0].replace(/\+/g, "-").replace(/\//g, "_");
return { codeVerifier, codeChallenge };
}
getToken(codeOrOptions, callback) {
const options = typeof codeOrOptions === "string" ? { code: codeOrOptions } : codeOrOptions;
if (callback) {
this.getTokenAsync(options).then((r2) => callback(null, r2.tokens, r2.res), (e2) => callback(e2, null, e2.response));
} else {
return this.getTokenAsync(options);
}
}
async getTokenAsync(options) {
const url3 = this.endpoints.oauth2TokenUrl.toString();
const headers = new Headers;
const values2 = {
client_id: options.client_id || this._clientId,
code_verifier: options.codeVerifier,
code: options.code,
grant_type: "authorization_code",
redirect_uri: options.redirect_uri || this.redirectUri
};
if (this.clientAuthentication === ClientAuthentication.ClientSecretBasic) {
const basic = Buffer.from(`${this._clientId}:${this._clientSecret}`);
headers.set("authorization", `Basic ${basic.toString("base64")}`);
}
if (this.clientAuthentication === ClientAuthentication.ClientSecretPost) {
values2.client_secret = this._clientSecret;
}
const opts = {
...OAuth2Client.RETRY_CONFIG,
method: "POST",
url: url3,
data: new URLSearchParams((0, util_1.removeUndefinedValuesInObject)(values2)),
headers
};
authclient_1.AuthClient.setMethodName(opts, "getTokenAsync");
const res = await this.transporter.request(opts);
const tokens = res.data;
if (res.data && res.data.expires_in) {
tokens.expiry_date = new Date().getTime() + res.data.expires_in * 1000;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res };
}
async refreshToken(refreshToken) {
if (!refreshToken) {
return this.refreshTokenNoCache(refreshToken);
}
if (this.refreshTokenPromises.has(refreshToken)) {
return this.refreshTokenPromises.get(refreshToken);
}
const p = this.refreshTokenNoCache(refreshToken).then((r2) => {
this.refreshTokenPromises.delete(refreshToken);
return r2;
}, (e2) => {
this.refreshTokenPromises.delete(refreshToken);
throw e2;
});
this.refreshTokenPromises.set(refreshToken, p);
return p;
}
async refreshTokenNoCache(refreshToken) {
if (!refreshToken) {
throw new Error("No refresh token is set.");
}
const url3 = this.endpoints.oauth2TokenUrl.toString();
const data = {
refresh_token: refreshToken,
client_id: this._clientId,
client_secret: this._clientSecret,
grant_type: "refresh_token"
};
let res;
try {
const opts = {
...OAuth2Client.RETRY_CONFIG,
method: "POST",
url: url3,
data: new URLSearchParams((0, util_1.removeUndefinedValuesInObject)(data))
};
authclient_1.AuthClient.setMethodName(opts, "refreshTokenNoCache");
res = await this.transporter.request(opts);
} catch (e2) {
if (e2 instanceof gaxios_1.GaxiosError && e2.message === "invalid_grant" && e2.response?.data && /ReAuth/i.test(e2.response.data.error_description)) {
e2.message = JSON.stringify(e2.response.data);
}
throw e2;
}
const tokens = res.data;
if (res.data && res.data.expires_in) {
tokens.expiry_date = new Date().getTime() + res.data.expires_in * 1000;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res };
}
refreshAccessToken(callback) {
if (callback) {
this.refreshAccessTokenAsync().then((r2) => callback(null, r2.credentials, r2.res), callback);
} else {
return this.refreshAccessTokenAsync();
}
}
async refreshAccessTokenAsync() {
const r2 = await this.refreshToken(this.credentials.refresh_token);
const tokens = r2.tokens;
tokens.refresh_token = this.credentials.refresh_token;
this.credentials = tokens;
return { credentials: this.credentials, res: r2.res };
}
getAccessToken(callback) {
if (callback) {
this.getAccessTokenAsync().then((r2) => callback(null, r2.token, r2.res), callback);
} else {
return this.getAccessTokenAsync();
}
}
async getAccessTokenAsync() {
const shouldRefresh = !this.credentials.access_token || this.isTokenExpiring();
if (shouldRefresh) {
if (!this.credentials.refresh_token) {
if (this.refreshHandler) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken?.access_token) {
this.setCredentials(refreshedAccessToken);
return { token: this.credentials.access_token };
}
} else {
throw new Error("No refresh token or refresh handler callback is set.");
}
}
const r2 = await this.refreshAccessTokenAsync();
if (!r2.credentials || r2.credentials && !r2.credentials.access_token) {
throw new Error("Could not refresh access token.");
}
return { token: r2.credentials.access_token, res: r2.res };
} else {
return { token: this.credentials.access_token };
}
}
async getRequestHeaders(url3) {
const headers = (await this.getRequestMetadataAsync(url3)).headers;
return headers;
}
async getRequestMetadataAsync(url3) {
const thisCreds = this.credentials;
if (!thisCreds.access_token && !thisCreds.refresh_token && !this.apiKey && !this.refreshHandler) {
throw new Error("No access, refresh token, API key or refresh handler callback is set.");
}
if (thisCreds.access_token && !this.isTokenExpiring()) {
thisCreds.token_type = thisCreds.token_type || "Bearer";
const headers2 = new Headers({
authorization: thisCreds.token_type + " " + thisCreds.access_token
});
return { headers: this.addSharedMetadataHeaders(headers2) };
}
if (this.refreshHandler) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken?.access_token) {
this.setCredentials(refreshedAccessToken);
const headers2 = new Headers({
authorization: "Bearer " + this.credentials.access_token
});
return { headers: this.addSharedMetadataHeaders(headers2) };
}
}
if (this.apiKey) {
return { headers: new Headers({ "X-Goog-Api-Key": this.apiKey }) };
}
let r2 = null;
let tokens = null;
try {
r2 = await this.refreshToken(thisCreds.refresh_token);
tokens = r2.tokens;
} catch (err) {
const e2 = err;
if (e2.response && (e2.response.status === 403 || e2.response.status === 404)) {
e2.message = `Could not refresh access token: ${e2.message}`;
}
throw e2;
}
const credentials = this.credentials;
credentials.token_type = credentials.token_type || "Bearer";
tokens.refresh_token = credentials.refresh_token;
this.credentials = tokens;
const headers = new Headers({
authorization: credentials.token_type + " " + tokens.access_token
});
return { headers: this.addSharedMetadataHeaders(headers), res: r2.res };
}
static getRevokeTokenUrl(token) {
return new OAuth2Client().getRevokeTokenURL(token).toString();
}
getRevokeTokenURL(token) {
const url3 = new URL(this.endpoints.oauth2RevokeUrl);
url3.searchParams.append("token", token);
return url3;
}
revokeToken(token, callback) {
const opts = {
...OAuth2Client.RETRY_CONFIG,
url: this.getRevokeTokenURL(token).toString(),
method: "POST"
};
authclient_1.AuthClient.setMethodName(opts, "revokeToken");
if (callback) {
this.transporter.request(opts).then((r2) => callback(null, r2), callback);
} else {
return this.transporter.request(opts);
}
}
revokeCredentials(callback) {
if (callback) {
this.revokeCredentialsAsync().then((res) => callback(null, res), callback);
} else {
return this.revokeCredentialsAsync();
}
}
async revokeCredentialsAsync() {
const token = this.credentials.access_token;
this.credentials = {};
if (token) {
return this.revokeToken(token);
} else {
throw new Error("No access token to revoke.");
}
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
async requestAsync(opts, reAuthRetried = false) {
try {
const r2 = await this.getRequestMetadataAsync();
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
this.addUserProjectAndAuthHeaders(opts.headers, r2.headers);
if (this.apiKey) {
opts.headers.set("X-Goog-Api-Key", this.apiKey);
}
return await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const mayRequireRefresh = this.credentials && this.credentials.access_token && this.credentials.refresh_token && (!this.credentials.expiry_date || this.forceRefreshOnFailure);
const mayRequireRefreshWithNoRefreshToken = this.credentials && this.credentials.access_token && !this.credentials.refresh_token && (!this.credentials.expiry_date || this.forceRefreshOnFailure) && this.refreshHandler;
const isReadableStream5 = res.config.data instanceof stream4.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream5 && mayRequireRefresh) {
await this.refreshAccessTokenAsync();
return this.requestAsync(opts, true);
} else if (!reAuthRetried && isAuthErr && !isReadableStream5 && mayRequireRefreshWithNoRefreshToken) {
const refreshedAccessToken = await this.processAndValidateRefreshHandler();
if (refreshedAccessToken?.access_token) {
this.setCredentials(refreshedAccessToken);
}
return this.requestAsync(opts, true);
}
}
throw e2;
}
}
verifyIdToken(options, callback) {
if (callback && typeof callback !== "function") {
throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");
}
if (callback) {
this.verifyIdTokenAsync(options).then((r2) => callback(null, r2), callback);
} else {
return this.verifyIdTokenAsync(options);
}
}
async verifyIdTokenAsync(options) {
if (!options.idToken) {
throw new Error("The verifyIdToken method requires an ID Token");
}
const response = await this.getFederatedSignonCertsAsync();
const login = await this.verifySignedJwtWithCertsAsync(options.idToken, response.certs, options.audience, this.issuers, options.maxExpiry);
return login;
}
async getTokenInfo(accessToken) {
const { data } = await this.transporter.request({
...OAuth2Client.RETRY_CONFIG,
method: "POST",
headers: {
"content-type": "application/x-www-form-urlencoded;charset=UTF-8",
authorization: `Bearer ${accessToken}`
},
url: this.endpoints.tokenInfoUrl.toString()
});
const info = Object.assign({
expiry_date: new Date().getTime() + data.expires_in * 1000,
scopes: data.scope.split(" ")
}, data);
delete info.expires_in;
delete info.scope;
return info;
}
getFederatedSignonCerts(callback) {
if (callback) {
this.getFederatedSignonCertsAsync().then((r2) => callback(null, r2.certs, r2.res), callback);
} else {
return this.getFederatedSignonCertsAsync();
}
}
async getFederatedSignonCertsAsync() {
const nowTime = new Date().getTime();
const format3 = (0, crypto_1.hasBrowserCrypto)() ? CertificateFormat.JWK : CertificateFormat.PEM;
if (this.certificateExpiry && nowTime < this.certificateExpiry.getTime() && this.certificateCacheFormat === format3) {
return { certs: this.certificateCache, format: format3 };
}
let res;
let url3;
switch (format3) {
case CertificateFormat.PEM:
url3 = this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();
break;
case CertificateFormat.JWK:
url3 = this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();
break;
default:
throw new Error(`Unsupported certificate format ${format3}`);
}
try {
const opts = {
...OAuth2Client.RETRY_CONFIG,
url: url3
};
authclient_1.AuthClient.setMethodName(opts, "getFederatedSignonCertsAsync");
res = await this.transporter.request(opts);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Failed to retrieve verification certificates: ${e2.message}`;
}
throw e2;
}
const cacheControl = res?.headers.get("cache-control");
let cacheAge = -1;
if (cacheControl) {
const maxAge = /max-age=(?[0-9]+)/.exec(cacheControl)?.groups?.maxAge;
if (maxAge) {
cacheAge = Number(maxAge) * 1000;
}
}
let certificates = {};
switch (format3) {
case CertificateFormat.PEM:
certificates = res.data;
break;
case CertificateFormat.JWK:
for (const key of res.data.keys) {
certificates[key.kid] = key;
}
break;
default:
throw new Error(`Unsupported certificate format ${format3}`);
}
const now = new Date;
this.certificateExpiry = cacheAge === -1 ? null : new Date(now.getTime() + cacheAge);
this.certificateCache = certificates;
this.certificateCacheFormat = format3;
return { certs: certificates, format: format3, res };
}
getIapPublicKeys(callback) {
if (callback) {
this.getIapPublicKeysAsync().then((r2) => callback(null, r2.pubkeys, r2.res), callback);
} else {
return this.getIapPublicKeysAsync();
}
}
async getIapPublicKeysAsync() {
let res;
const url3 = this.endpoints.oauth2IapPublicKeyUrl.toString();
try {
const opts = {
...OAuth2Client.RETRY_CONFIG,
url: url3
};
authclient_1.AuthClient.setMethodName(opts, "getIapPublicKeysAsync");
res = await this.transporter.request(opts);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Failed to retrieve verification certificates: ${e2.message}`;
}
throw e2;
}
return { pubkeys: res.data, res };
}
verifySignedJwtWithCerts() {
throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.");
}
async verifySignedJwtWithCertsAsync(jwt3, certs, requiredAudience, issuers, maxExpiry) {
const crypto5 = (0, crypto_1.createCrypto)();
if (!maxExpiry) {
maxExpiry = OAuth2Client.DEFAULT_MAX_TOKEN_LIFETIME_SECS_;
}
const segments = jwt3.split(".");
if (segments.length !== 3) {
throw new Error("Wrong number of segments in token: " + jwt3);
}
const signed = segments[0] + "." + segments[1];
let signature = segments[2];
let envelope;
let payload;
try {
envelope = JSON.parse(crypto5.decodeBase64StringUtf8(segments[0]));
} catch (err) {
if (err instanceof Error) {
err.message = `Can't parse token envelope: ${segments[0]}': ${err.message}`;
}
throw err;
}
if (!envelope) {
throw new Error("Can't parse token envelope: " + segments[0]);
}
try {
payload = JSON.parse(crypto5.decodeBase64StringUtf8(segments[1]));
} catch (err) {
if (err instanceof Error) {
err.message = `Can't parse token payload '${segments[0]}`;
}
throw err;
}
if (!payload) {
throw new Error("Can't parse token payload: " + segments[1]);
}
if (!Object.prototype.hasOwnProperty.call(certs, envelope.kid)) {
throw new Error("No pem found for envelope: " + JSON.stringify(envelope));
}
const cert = certs[envelope.kid];
if (envelope.alg === "ES256") {
signature = formatEcdsa.joseToDer(signature, "ES256").toString("base64");
}
const verified = await crypto5.verify(cert, signed, signature);
if (!verified) {
throw new Error("Invalid token signature: " + jwt3);
}
if (!payload.iat) {
throw new Error("No issue time in token: " + JSON.stringify(payload));
}
if (!payload.exp) {
throw new Error("No expiration time in token: " + JSON.stringify(payload));
}
const iat = Number(payload.iat);
if (isNaN(iat))
throw new Error("iat field using invalid format");
const exp = Number(payload.exp);
if (isNaN(exp))
throw new Error("exp field using invalid format");
const now = new Date().getTime() / 1000;
if (exp >= now + maxExpiry) {
throw new Error("Expiration time too far in future: " + JSON.stringify(payload));
}
const earliest = iat - OAuth2Client.CLOCK_SKEW_SECS_;
const latest = exp + OAuth2Client.CLOCK_SKEW_SECS_;
if (now < earliest) {
throw new Error("Token used too early, " + now + " < " + earliest + ": " + JSON.stringify(payload));
}
if (now > latest) {
throw new Error("Token used too late, " + now + " > " + latest + ": " + JSON.stringify(payload));
}
if (issuers && issuers.indexOf(payload.iss) < 0) {
throw new Error("Invalid issuer, expected one of [" + issuers + "], but got " + payload.iss);
}
if (typeof requiredAudience !== "undefined" && requiredAudience !== null) {
const aud = payload.aud;
let audVerified = false;
if (requiredAudience.constructor === Array) {
audVerified = requiredAudience.indexOf(aud) > -1;
} else {
audVerified = aud === requiredAudience;
}
if (!audVerified) {
throw new Error("Wrong recipient, payload audience != requiredAudience");
}
}
return new loginticket_1.LoginTicket(envelope, payload);
}
async processAndValidateRefreshHandler() {
if (this.refreshHandler) {
const accessTokenResponse = await this.refreshHandler();
if (!accessTokenResponse.access_token) {
throw new Error("No access token is returned by the refreshHandler callback.");
}
return accessTokenResponse;
}
return;
}
isTokenExpiring() {
const expiryDate = this.credentials.expiry_date;
return expiryDate ? expiryDate <= new Date().getTime() + this.eagerRefreshThresholdMillis : false;
}
}
exports.OAuth2Client = OAuth2Client;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/computeclient.js
var require_computeclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Compute = undefined;
var gaxios_1 = require_src2();
var gcpMetadata = require_src4();
var oauth2client_1 = require_oauth2client();
class Compute extends oauth2client_1.OAuth2Client {
serviceAccountEmail;
scopes;
constructor(options = {}) {
super(options);
this.credentials = { expiry_date: 1, refresh_token: "compute-placeholder" };
this.serviceAccountEmail = options.serviceAccountEmail || "default";
this.scopes = Array.isArray(options.scopes) ? options.scopes : options.scopes ? [options.scopes] : [];
}
async refreshTokenNoCache() {
const tokenPath = `service-accounts/${this.serviceAccountEmail}/token`;
let data;
try {
const instanceOptions = {
property: tokenPath
};
if (this.scopes.length > 0) {
instanceOptions.params = {
scopes: this.scopes.join(",")
};
}
data = await gcpMetadata.instance(instanceOptions);
} catch (e2) {
if (e2 instanceof gaxios_1.GaxiosError) {
e2.message = `Could not refresh access token: ${e2.message}`;
this.wrapError(e2);
}
throw e2;
}
const tokens = data;
if (data && data.expires_in) {
tokens.expiry_date = new Date().getTime() + data.expires_in * 1000;
delete tokens.expires_in;
}
this.emit("tokens", tokens);
return { tokens, res: null };
}
async fetchIdToken(targetAudience) {
const idTokenPath = `service-accounts/${this.serviceAccountEmail}/identity` + `?format=full&audience=${targetAudience}`;
let idToken;
try {
const instanceOptions = {
property: idTokenPath
};
idToken = await gcpMetadata.instance(instanceOptions);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Could not fetch ID token: ${e2.message}`;
}
throw e2;
}
return idToken;
}
wrapError(e2) {
const res = e2.response;
if (res && res.status) {
e2.status = res.status;
if (res.status === 403) {
e2.message = "A Forbidden error was returned while attempting to retrieve an access " + "token for the Compute Engine built-in service account. This may be because the Compute " + "Engine instance does not have the correct permission scopes specified: " + e2.message;
} else if (res.status === 404) {
e2.message = "A Not Found error was returned while attempting to retrieve an access" + "token for the Compute Engine built-in service account. This may be because the Compute " + "Engine instance does not have any permission scopes specified: " + e2.message;
}
}
}
}
exports.Compute = Compute;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/idtokenclient.js
var require_idtokenclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.IdTokenClient = undefined;
var oauth2client_1 = require_oauth2client();
class IdTokenClient extends oauth2client_1.OAuth2Client {
targetAudience;
idTokenProvider;
constructor(options) {
super(options);
this.targetAudience = options.targetAudience;
this.idTokenProvider = options.idTokenProvider;
}
async getRequestMetadataAsync() {
if (!this.credentials.id_token || !this.credentials.expiry_date || this.isTokenExpiring()) {
const idToken = await this.idTokenProvider.fetchIdToken(this.targetAudience);
this.credentials = {
id_token: idToken,
expiry_date: this.getIdTokenExpiryDate(idToken)
};
}
const headers = new Headers({
authorization: "Bearer " + this.credentials.id_token
});
return { headers };
}
getIdTokenExpiryDate(idToken) {
const payloadB64 = idToken.split(".")[1];
if (payloadB64) {
const payload = JSON.parse(Buffer.from(payloadB64, "base64").toString("ascii"));
return payload.exp * 1000;
}
}
}
exports.IdTokenClient = IdTokenClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/envDetect.js
var require_envDetect = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GCPEnv = undefined;
exports.clear = clear;
exports.getEnv = getEnv3;
var gcpMetadata = require_src4();
var GCPEnv;
(function(GCPEnv2) {
GCPEnv2["APP_ENGINE"] = "APP_ENGINE";
GCPEnv2["KUBERNETES_ENGINE"] = "KUBERNETES_ENGINE";
GCPEnv2["CLOUD_FUNCTIONS"] = "CLOUD_FUNCTIONS";
GCPEnv2["COMPUTE_ENGINE"] = "COMPUTE_ENGINE";
GCPEnv2["CLOUD_RUN"] = "CLOUD_RUN";
GCPEnv2["CLOUD_RUN_JOBS"] = "CLOUD_RUN_JOBS";
GCPEnv2["NONE"] = "NONE";
})(GCPEnv || (exports.GCPEnv = GCPEnv = {}));
var envPromise;
function clear() {
envPromise = undefined;
}
async function getEnv3() {
if (envPromise) {
return envPromise;
}
envPromise = getEnvMemoized();
return envPromise;
}
async function getEnvMemoized() {
let env6 = GCPEnv.NONE;
if (isAppEngine()) {
env6 = GCPEnv.APP_ENGINE;
} else if (isCloudFunction()) {
env6 = GCPEnv.CLOUD_FUNCTIONS;
} else if (await isComputeEngine()) {
if (await isKubernetesEngine()) {
env6 = GCPEnv.KUBERNETES_ENGINE;
} else if (isCloudRun()) {
env6 = GCPEnv.CLOUD_RUN;
} else if (isCloudRunJob()) {
env6 = GCPEnv.CLOUD_RUN_JOBS;
} else {
env6 = GCPEnv.COMPUTE_ENGINE;
}
} else {
env6 = GCPEnv.NONE;
}
return env6;
}
function isAppEngine() {
return !!(process.env.GAE_SERVICE || process.env.GAE_MODULE_NAME);
}
function isCloudFunction() {
return !!(process.env.FUNCTION_NAME || process.env.FUNCTION_TARGET);
}
function isCloudRun() {
return !!process.env.K_CONFIGURATION;
}
function isCloudRunJob() {
return !!process.env.CLOUD_RUN_JOB;
}
async function isKubernetesEngine() {
try {
await gcpMetadata.instance("attributes/cluster-name");
return true;
} catch (e2) {
return false;
}
}
async function isComputeEngine() {
return gcpMetadata.isAvailable();
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/jwsSign.js
var require_jwsSign = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildPayloadForJwsSign = buildPayloadForJwsSign;
exports.getJwsSign = getJwsSign;
var jws_1 = require_jws();
var ALG_RS256 = "RS256";
var GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token";
function buildPayloadForJwsSign(tokenOptions) {
const iat = Math.floor(new Date().getTime() / 1000);
const payload = {
iss: tokenOptions.iss,
scope: tokenOptions.scope,
aud: GOOGLE_TOKEN_URL,
exp: iat + 3600,
iat,
sub: tokenOptions.sub,
...tokenOptions.additionalClaims
};
return payload;
}
function getJwsSign(tokenOptions) {
const payload = buildPayloadForJwsSign(tokenOptions);
return (0, jws_1.sign)({
header: { alg: ALG_RS256 },
payload,
secret: tokenOptions.key
});
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/getToken.js
var require_getToken = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getToken = getToken;
var jwsSign_1 = require_jwsSign();
var GOOGLE_TOKEN_URL = "https://oauth2.googleapis.com/token";
var GOOGLE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer";
var generateRequestOptions = (tokenOptions) => {
return {
method: "POST",
url: GOOGLE_TOKEN_URL,
data: new URLSearchParams({
grant_type: GOOGLE_GRANT_TYPE,
assertion: (0, jwsSign_1.getJwsSign)(tokenOptions)
}),
responseType: "json",
retryConfig: {
httpMethodsToRetry: ["POST"]
}
};
};
async function getToken(tokenOptions) {
if (!tokenOptions.transporter) {
throw new Error("No transporter set.");
}
try {
const gaxiosOptions = generateRequestOptions(tokenOptions);
const response = await tokenOptions.transporter.request(gaxiosOptions);
return response.data;
} catch (e2) {
const err = e2;
const errorData = err.response?.data;
if (errorData?.error) {
err.message = `${errorData.error}: ${errorData.error_description}`;
}
throw err;
}
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/errorWithCode.js
var require_errorWithCode = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorWithCode = undefined;
class ErrorWithCode extends Error {
code;
constructor(message, code) {
super(message);
this.code = code;
}
}
exports.ErrorWithCode = ErrorWithCode;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/getCredentials.js
var require_getCredentials = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCredentials = getCredentials;
var path12 = __require("path");
var fs8 = __require("fs");
var util_1 = __require("util");
var errorWithCode_1 = require_errorWithCode();
var readFile11 = fs8.readFile ? (0, util_1.promisify)(fs8.readFile) : async () => {
throw new errorWithCode_1.ErrorWithCode("use key rather than keyFile.", "MISSING_CREDENTIALS");
};
var ExtensionFiles;
(function(ExtensionFiles2) {
ExtensionFiles2["JSON"] = ".json";
ExtensionFiles2["DER"] = ".der";
ExtensionFiles2["CRT"] = ".crt";
ExtensionFiles2["PEM"] = ".pem";
ExtensionFiles2["P12"] = ".p12";
ExtensionFiles2["PFX"] = ".pfx";
})(ExtensionFiles || (ExtensionFiles = {}));
class JsonCredentialsProvider {
keyFilePath;
constructor(keyFilePath) {
this.keyFilePath = keyFilePath;
}
async getCredentials() {
const key = await readFile11(this.keyFilePath, "utf8");
let body;
try {
body = JSON.parse(key);
} catch (error51) {
const err = error51;
throw new Error(`Invalid JSON key file: ${err.message}`);
}
const privateKey = body.private_key;
const clientEmail = body.client_email;
if (!privateKey || !clientEmail) {
throw new errorWithCode_1.ErrorWithCode("private_key and client_email are required.", "MISSING_CREDENTIALS");
}
return { privateKey, clientEmail };
}
}
class PemCredentialsProvider {
keyFilePath;
constructor(keyFilePath) {
this.keyFilePath = keyFilePath;
}
async getCredentials() {
const privateKey = await readFile11(this.keyFilePath, "utf8");
return { privateKey };
}
}
class P12CredentialsProvider {
async getCredentials() {
throw new errorWithCode_1.ErrorWithCode("*.p12 certificates are not supported after v6.1.2. " + "Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.", "UNKNOWN_CERTIFICATE_TYPE");
}
}
class CredentialsProviderFactory {
static create(keyFilePath) {
const keyFileExtension = path12.extname(keyFilePath);
switch (keyFileExtension) {
case ExtensionFiles.JSON:
return new JsonCredentialsProvider(keyFilePath);
case ExtensionFiles.DER:
case ExtensionFiles.CRT:
case ExtensionFiles.PEM:
return new PemCredentialsProvider(keyFilePath);
case ExtensionFiles.P12:
case ExtensionFiles.PFX:
return new P12CredentialsProvider;
default:
throw new errorWithCode_1.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. " + "Current supported extensions are *.json, and *.pem.", "UNKNOWN_CERTIFICATE_TYPE");
}
}
}
async function getCredentials(keyFilePath) {
const provider = CredentialsProviderFactory.create(keyFilePath);
return provider.getCredentials();
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/tokenHandler.js
var require_tokenHandler = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.TokenHandler = undefined;
var getToken_1 = require_getToken();
var getCredentials_1 = require_getCredentials();
class TokenHandler {
token;
tokenExpiresAt;
inFlightRequest;
tokenOptions;
constructor(tokenOptions) {
this.tokenOptions = tokenOptions;
}
async processCredentials() {
if (!this.tokenOptions.key && !this.tokenOptions.keyFile) {
throw new Error("No key or keyFile set.");
}
if (!this.tokenOptions.key && this.tokenOptions.keyFile) {
const credentials = await (0, getCredentials_1.getCredentials)(this.tokenOptions.keyFile);
this.tokenOptions.key = credentials.privateKey;
this.tokenOptions.email = credentials.clientEmail;
}
}
isTokenExpiring() {
if (!this.token || !this.tokenExpiresAt) {
return true;
}
const now = new Date().getTime();
const eagerRefreshThresholdMillis = this.tokenOptions.eagerRefreshThresholdMillis ?? 0;
return this.tokenExpiresAt <= now + eagerRefreshThresholdMillis;
}
hasExpired() {
const now = new Date().getTime();
if (this.token && this.tokenExpiresAt) {
const now2 = new Date().getTime();
return now2 >= this.tokenExpiresAt;
}
return true;
}
async getToken(forceRefresh) {
await this.processCredentials();
if (this.inFlightRequest && !forceRefresh) {
return this.inFlightRequest;
}
if (this.token && !this.isTokenExpiring() && !forceRefresh) {
return this.token;
}
try {
this.inFlightRequest = (0, getToken_1.getToken)(this.tokenOptions);
const token = await this.inFlightRequest;
this.token = token;
this.tokenExpiresAt = new Date().getTime() + (token.expires_in ?? 0) * 1000;
return token;
} finally {
this.inFlightRequest = undefined;
}
}
}
exports.TokenHandler = TokenHandler;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/revokeToken.js
var require_revokeToken = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.revokeToken = revokeToken;
var GOOGLE_REVOKE_TOKEN_URL = "https://oauth2.googleapis.com/revoke?token=";
var DEFAULT_RETRY_VALUE = true;
async function revokeToken(accessToken, transporter) {
const url3 = GOOGLE_REVOKE_TOKEN_URL + accessToken;
return await transporter.request({
url: url3,
retry: DEFAULT_RETRY_VALUE
});
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/gtoken/googleToken.js
var require_googleToken = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GoogleToken = undefined;
var gaxios_1 = require_src2();
var tokenHandler_1 = require_tokenHandler();
var revokeToken_1 = require_revokeToken();
class GoogleToken {
tokenOptions;
tokenHandler;
constructor(options) {
this.tokenOptions = options || {};
this.tokenOptions.transporter = this.tokenOptions.transporter || {
request: (opts) => (0, gaxios_1.request)(opts)
};
if (!this.tokenOptions.iss) {
this.tokenOptions.iss = this.tokenOptions.email;
}
if (typeof this.tokenOptions.scope === "object") {
this.tokenOptions.scope = this.tokenOptions.scope.join(" ");
}
this.tokenHandler = new tokenHandler_1.TokenHandler(this.tokenOptions);
}
get expiresAt() {
return this.tokenHandler.tokenExpiresAt;
}
get accessToken() {
return this.tokenHandler.token?.access_token;
}
get idToken() {
return this.tokenHandler.token?.id_token;
}
get tokenType() {
return this.tokenHandler.token?.token_type;
}
get refreshToken() {
return this.tokenHandler.token?.refresh_token;
}
hasExpired() {
return this.tokenHandler.hasExpired();
}
isTokenExpiring() {
return this.tokenHandler.isTokenExpiring();
}
getToken(callbackOrOptions, opts = { forceRefresh: false }) {
let callback;
if (typeof callbackOrOptions === "function") {
callback = callbackOrOptions;
} else if (typeof callbackOrOptions === "object") {
opts = callbackOrOptions;
}
const promise2 = this.tokenHandler.getToken(opts.forceRefresh ?? false);
if (callback) {
promise2.then((token) => callback(null, token), callback);
}
return promise2;
}
revokeToken(callback) {
if (!this.accessToken) {
return Promise.reject(new Error("No token to revoke."));
}
const promise2 = (0, revokeToken_1.revokeToken)(this.accessToken, this.tokenOptions.transporter);
if (callback) {
promise2.then(() => callback(), callback);
}
this.tokenHandler = new tokenHandler_1.TokenHandler(this.tokenOptions);
}
get googleTokenOptions() {
return this.tokenOptions;
}
}
exports.GoogleToken = GoogleToken;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/jwtaccess.js
var require_jwtaccess = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.JWTAccess = undefined;
var jws = require_jws();
var util_1 = require_util8();
var DEFAULT_HEADER = {
alg: "RS256",
typ: "JWT"
};
class JWTAccess {
email;
key;
keyId;
projectId;
eagerRefreshThresholdMillis;
cache = new util_1.LRUCache({
capacity: 500,
maxAge: 60 * 60 * 1000
});
constructor(email3, key, keyId, eagerRefreshThresholdMillis) {
this.email = email3;
this.key = key;
this.keyId = keyId;
this.eagerRefreshThresholdMillis = eagerRefreshThresholdMillis ?? 5 * 60 * 1000;
}
getCachedKey(url3, scopes) {
let cacheKey = url3;
if (scopes && Array.isArray(scopes) && scopes.length) {
cacheKey = url3 ? `${url3}_${scopes.join("_")}` : `${scopes.join("_")}`;
} else if (typeof scopes === "string") {
cacheKey = url3 ? `${url3}_${scopes}` : scopes;
}
if (!cacheKey) {
throw Error("Scopes or url must be provided");
}
return cacheKey;
}
getRequestHeaders(url3, additionalClaims, scopes) {
const key = this.getCachedKey(url3, scopes);
const cachedToken = this.cache.get(key);
const now = Date.now();
if (cachedToken && cachedToken.expiration - now > this.eagerRefreshThresholdMillis) {
return new Headers(cachedToken.headers);
}
const iat = Math.floor(Date.now() / 1000);
const exp = JWTAccess.getExpirationTime(iat);
let defaultClaims;
if (Array.isArray(scopes)) {
scopes = scopes.join(" ");
}
if (scopes) {
defaultClaims = {
iss: this.email,
sub: this.email,
scope: scopes,
exp,
iat
};
} else {
defaultClaims = {
iss: this.email,
sub: this.email,
aud: url3,
exp,
iat
};
}
if (additionalClaims) {
for (const claim in defaultClaims) {
if (additionalClaims[claim]) {
throw new Error(`The '${claim}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`);
}
}
}
const header = this.keyId ? { ...DEFAULT_HEADER, kid: this.keyId } : DEFAULT_HEADER;
const payload = Object.assign(defaultClaims, additionalClaims);
const signedJWT = jws.sign({ header, payload, secret: this.key });
const headers = new Headers({ authorization: `Bearer ${signedJWT}` });
this.cache.set(key, {
expiration: exp * 1000,
headers
});
return headers;
}
static getExpirationTime(iat) {
const exp = iat + 3600;
return exp;
}
fromJSON(json2) {
if (!json2) {
throw new Error("Must pass in a JSON object containing the service account auth settings.");
}
if (!json2.client_email) {
throw new Error("The incoming JSON object does not contain a client_email field");
}
if (!json2.private_key) {
throw new Error("The incoming JSON object does not contain a private_key field");
}
this.email = json2.client_email;
this.key = json2.private_key;
this.keyId = json2.private_key_id;
this.projectId = json2.project_id;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
fromStreamAsync(inputStream) {
return new Promise((resolve9, reject) => {
if (!inputStream) {
reject(new Error("Must pass in a stream containing the service account auth settings."));
}
let s2 = "";
inputStream.setEncoding("utf8").on("data", (chunk) => s2 += chunk).on("error", reject).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
resolve9();
} catch (err) {
reject(err);
}
});
});
}
}
exports.JWTAccess = JWTAccess;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/jwtclient.js
var require_jwtclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.JWT = undefined;
var googleToken_1 = require_googleToken();
var getCredentials_1 = require_getCredentials();
var jwtaccess_1 = require_jwtaccess();
var oauth2client_1 = require_oauth2client();
var authclient_1 = require_authclient();
class JWT extends oauth2client_1.OAuth2Client {
email;
keyFile;
key;
keyId;
defaultScopes;
scopes;
scope;
subject;
gtoken;
additionalClaims;
useJWTAccessWithScope;
defaultServicePath;
access;
constructor(options = {}) {
super(options);
this.email = options.email;
this.keyFile = options.keyFile;
this.key = options.key;
this.keyId = options.keyId;
this.scopes = options.scopes;
this.subject = options.subject;
this.additionalClaims = options.additionalClaims;
this.credentials = { refresh_token: "jwt-placeholder", expiry_date: 1 };
}
createScoped(scopes) {
const jwt3 = new JWT(this);
jwt3.scopes = scopes;
return jwt3;
}
async getRequestMetadataAsync(url3) {
url3 = this.defaultServicePath ? `https://${this.defaultServicePath}/` : url3;
const useSelfSignedJWT = !this.hasUserScopes() && url3 || this.useJWTAccessWithScope && this.hasAnyScopes() || this.universeDomain !== authclient_1.DEFAULT_UNIVERSE;
if (this.subject && this.universeDomain !== authclient_1.DEFAULT_UNIVERSE) {
throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${authclient_1.DEFAULT_UNIVERSE}`);
}
if (!this.apiKey && useSelfSignedJWT) {
if (this.additionalClaims && this.additionalClaims.target_audience) {
const { tokens } = await this.refreshToken();
return {
headers: this.addSharedMetadataHeaders(new Headers({
authorization: `Bearer ${tokens.id_token}`
}))
};
} else {
if (!this.access) {
this.access = new jwtaccess_1.JWTAccess(this.email, this.key, this.keyId, this.eagerRefreshThresholdMillis);
}
let scopes;
if (this.hasUserScopes()) {
scopes = this.scopes;
} else if (!url3) {
scopes = this.defaultScopes;
}
const useScopes = this.useJWTAccessWithScope || this.universeDomain !== authclient_1.DEFAULT_UNIVERSE;
const headers = await this.access.getRequestHeaders(url3 ?? undefined, this.additionalClaims, useScopes ? scopes : undefined);
return { headers: this.addSharedMetadataHeaders(headers) };
}
} else if (this.hasAnyScopes() || this.apiKey) {
return super.getRequestMetadataAsync(url3);
} else {
return { headers: new Headers };
}
}
async fetchIdToken(targetAudience) {
const gtoken = new googleToken_1.GoogleToken({
iss: this.email,
sub: this.subject,
scope: this.scopes || this.defaultScopes,
keyFile: this.keyFile,
key: this.key,
additionalClaims: { target_audience: targetAudience },
transporter: this.transporter
});
await gtoken.getToken({
forceRefresh: true
});
if (!gtoken.idToken) {
throw new Error("Unknown error: Failed to fetch ID token");
}
return gtoken.idToken;
}
hasUserScopes() {
if (!this.scopes) {
return false;
}
return this.scopes.length > 0;
}
hasAnyScopes() {
if (this.scopes && this.scopes.length > 0)
return true;
if (this.defaultScopes && this.defaultScopes.length > 0)
return true;
return false;
}
authorize(callback) {
if (callback) {
this.authorizeAsync().then((r2) => callback(null, r2), callback);
} else {
return this.authorizeAsync();
}
}
async authorizeAsync() {
const result = await this.refreshToken();
if (!result) {
throw new Error("No result returned");
}
this.credentials = result.tokens;
this.credentials.refresh_token = "jwt-placeholder";
this.key = this.gtoken.googleTokenOptions?.key;
this.email = this.gtoken.googleTokenOptions?.iss;
return result.tokens;
}
async refreshTokenNoCache() {
const gtoken = this.createGToken();
const token = await gtoken.getToken({
forceRefresh: this.isTokenExpiring()
});
const tokens = {
access_token: token.access_token,
token_type: "Bearer",
expiry_date: gtoken.expiresAt,
id_token: gtoken.idToken
};
this.emit("tokens", tokens);
return { res: null, tokens };
}
createGToken() {
if (!this.gtoken) {
this.gtoken = new googleToken_1.GoogleToken({
iss: this.email,
sub: this.subject,
scope: this.scopes || this.defaultScopes,
keyFile: this.keyFile,
key: this.key,
additionalClaims: this.additionalClaims,
transporter: this.transporter
});
}
return this.gtoken;
}
fromJSON(json2) {
if (!json2) {
throw new Error("Must pass in a JSON object containing the service account auth settings.");
}
if (!json2.client_email) {
throw new Error("The incoming JSON object does not contain a client_email field");
}
if (!json2.private_key) {
throw new Error("The incoming JSON object does not contain a private_key field");
}
this.email = json2.client_email;
this.key = json2.private_key;
this.keyId = json2.private_key_id;
this.projectId = json2.project_id;
this.quotaProjectId = json2.quota_project_id;
this.universeDomain = json2.universe_domain || this.universeDomain;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
fromStreamAsync(inputStream) {
return new Promise((resolve9, reject) => {
if (!inputStream) {
throw new Error("Must pass in a stream containing the service account auth settings.");
}
let s2 = "";
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => s2 += chunk).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
resolve9();
} catch (e2) {
reject(e2);
}
});
});
}
fromAPIKey(apiKey) {
if (typeof apiKey !== "string") {
throw new Error("Must provide an API Key string.");
}
this.apiKey = apiKey;
}
async getCredentials() {
if (this.key) {
return { private_key: this.key, client_email: this.email };
} else if (this.keyFile) {
const gtoken = this.createGToken();
const creds = await (0, getCredentials_1.getCredentials)(this.keyFile);
return { private_key: creds.privateKey, client_email: creds.clientEmail };
}
throw new Error("A key or a keyFile must be provided to getCredentials.");
}
}
exports.JWT = JWT;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/refreshclient.js
var require_refreshclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserRefreshClient = exports.USER_REFRESH_ACCOUNT_TYPE = undefined;
var oauth2client_1 = require_oauth2client();
var authclient_1 = require_authclient();
exports.USER_REFRESH_ACCOUNT_TYPE = "authorized_user";
class UserRefreshClient extends oauth2client_1.OAuth2Client {
_refreshToken;
constructor(optionsOrClientId, clientSecret, refreshToken, eagerRefreshThresholdMillis, forceRefreshOnFailure) {
const opts = optionsOrClientId && typeof optionsOrClientId === "object" ? optionsOrClientId : {
clientId: optionsOrClientId,
clientSecret,
refreshToken,
eagerRefreshThresholdMillis,
forceRefreshOnFailure
};
super(opts);
this._refreshToken = opts.refreshToken;
this.credentials.refresh_token = opts.refreshToken;
}
async refreshTokenNoCache() {
return super.refreshTokenNoCache(this._refreshToken);
}
async fetchIdToken(targetAudience) {
const opts = {
...UserRefreshClient.RETRY_CONFIG,
url: this.endpoints.oauth2TokenUrl,
method: "POST",
data: new URLSearchParams({
client_id: this._clientId,
client_secret: this._clientSecret,
grant_type: "refresh_token",
refresh_token: this._refreshToken,
target_audience: targetAudience
}),
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "fetchIdToken");
const res = await this.transporter.request(opts);
return res.data.id_token;
}
fromJSON(json2) {
if (!json2) {
throw new Error("Must pass in a JSON object containing the user refresh token");
}
if (json2.type !== "authorized_user") {
throw new Error('The incoming JSON object does not have the "authorized_user" type');
}
if (!json2.client_id) {
throw new Error("The incoming JSON object does not contain a client_id field");
}
if (!json2.client_secret) {
throw new Error("The incoming JSON object does not contain a client_secret field");
}
if (!json2.refresh_token) {
throw new Error("The incoming JSON object does not contain a refresh_token field");
}
this._clientId = json2.client_id;
this._clientSecret = json2.client_secret;
this._refreshToken = json2.refresh_token;
this.credentials.refresh_token = json2.refresh_token;
this.quotaProjectId = json2.quota_project_id;
this.universeDomain = json2.universe_domain || this.universeDomain;
}
fromStream(inputStream, callback) {
if (callback) {
this.fromStreamAsync(inputStream).then(() => callback(), callback);
} else {
return this.fromStreamAsync(inputStream);
}
}
async fromStreamAsync(inputStream) {
return new Promise((resolve9, reject) => {
if (!inputStream) {
return reject(new Error("Must pass in a stream containing the user refresh token."));
}
let s2 = "";
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => s2 += chunk).on("end", () => {
try {
const data = JSON.parse(s2);
this.fromJSON(data);
return resolve9();
} catch (err) {
return reject(err);
}
});
});
}
static fromJSON(json2) {
const client3 = new UserRefreshClient;
client3.fromJSON(json2);
return client3;
}
}
exports.UserRefreshClient = UserRefreshClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/impersonated.js
var require_impersonated = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Impersonated = exports.IMPERSONATED_ACCOUNT_TYPE = undefined;
var oauth2client_1 = require_oauth2client();
var gaxios_1 = require_src2();
var util_1 = require_util8();
exports.IMPERSONATED_ACCOUNT_TYPE = "impersonated_service_account";
class Impersonated extends oauth2client_1.OAuth2Client {
sourceClient;
targetPrincipal;
targetScopes;
delegates;
lifetime;
endpoint;
constructor(options = {}) {
super(options);
this.credentials = {
expiry_date: 1,
refresh_token: "impersonated-placeholder"
};
this.sourceClient = options.sourceClient ?? new oauth2client_1.OAuth2Client;
this.targetPrincipal = options.targetPrincipal ?? "";
this.delegates = options.delegates ?? [];
this.targetScopes = options.targetScopes ?? [];
this.lifetime = options.lifetime ?? 3600;
const usingExplicitUniverseDomain = !!(0, util_1.originalOrCamelOptions)(options).get("universe_domain");
if (!usingExplicitUniverseDomain) {
this.universeDomain = this.sourceClient.universeDomain;
} else if (this.sourceClient.universeDomain !== this.universeDomain) {
throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);
}
this.endpoint = options.endpoint ?? `https://iamcredentials.${this.universeDomain}`;
}
async sign(blobToSign) {
await this.sourceClient.getAccessToken();
const name3 = `projects/-/serviceAccounts/${this.targetPrincipal}`;
const u4 = `${this.endpoint}/v1/${name3}:signBlob`;
const body = {
delegates: this.delegates,
payload: Buffer.from(blobToSign).toString("base64")
};
const res = await this.sourceClient.request({
...Impersonated.RETRY_CONFIG,
url: u4,
data: body,
method: "POST"
});
return res.data;
}
getTargetPrincipal() {
return this.targetPrincipal;
}
async refreshToken() {
try {
await this.sourceClient.getAccessToken();
const name3 = "projects/-/serviceAccounts/" + this.targetPrincipal;
const u4 = `${this.endpoint}/v1/${name3}:generateAccessToken`;
const body = {
delegates: this.delegates,
scope: this.targetScopes,
lifetime: this.lifetime + "s"
};
const res = await this.sourceClient.request({
...Impersonated.RETRY_CONFIG,
url: u4,
data: body,
method: "POST"
});
const tokenResponse = res.data;
this.credentials.access_token = tokenResponse.accessToken;
this.credentials.expiry_date = Date.parse(tokenResponse.expireTime);
return {
tokens: this.credentials,
res
};
} catch (error51) {
if (!(error51 instanceof Error))
throw error51;
let status = 0;
let message = "";
if (error51 instanceof gaxios_1.GaxiosError) {
status = error51?.response?.data?.error?.status;
message = error51?.response?.data?.error?.message;
}
if (status && message) {
error51.message = `${status}: unable to impersonate: ${message}`;
throw error51;
} else {
error51.message = `unable to impersonate: ${error51}`;
throw error51;
}
}
}
async fetchIdToken(targetAudience, options) {
await this.sourceClient.getAccessToken();
const name3 = `projects/-/serviceAccounts/${this.targetPrincipal}`;
const u4 = `${this.endpoint}/v1/${name3}:generateIdToken`;
const body = {
delegates: this.delegates,
audience: targetAudience,
includeEmail: options?.includeEmail ?? true,
useEmailAzp: options?.includeEmail ?? true
};
const res = await this.sourceClient.request({
...Impersonated.RETRY_CONFIG,
url: u4,
data: body,
method: "POST"
});
return res.data.token;
}
}
exports.Impersonated = Impersonated;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/oauth2common.js
var require_oauth2common = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.OAuthClientAuthHandler = undefined;
exports.getErrorFromOAuthErrorResponse = getErrorFromOAuthErrorResponse;
var gaxios_1 = require_src2();
var crypto_1 = require_crypto3();
var METHODS_SUPPORTING_REQUEST_BODY = ["PUT", "POST", "PATCH"];
class OAuthClientAuthHandler {
#crypto = (0, crypto_1.createCrypto)();
#clientAuthentication;
transporter;
constructor(options) {
if (options && "clientId" in options) {
this.#clientAuthentication = options;
this.transporter = new gaxios_1.Gaxios;
} else {
this.#clientAuthentication = options?.clientAuthentication;
this.transporter = options?.transporter || new gaxios_1.Gaxios;
}
}
applyClientAuthenticationOptions(opts, bearerToken) {
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
this.injectAuthenticatedHeaders(opts, bearerToken);
if (!bearerToken) {
this.injectAuthenticatedRequestBody(opts);
}
}
injectAuthenticatedHeaders(opts, bearerToken) {
if (bearerToken) {
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers, {
authorization: `Bearer ${bearerToken}`
});
} else if (this.#clientAuthentication?.confidentialClientType === "basic") {
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
const clientId = this.#clientAuthentication.clientId;
const clientSecret = this.#clientAuthentication.clientSecret || "";
const base64EncodedCreds = this.#crypto.encodeBase64StringUtf8(`${clientId}:${clientSecret}`);
gaxios_1.Gaxios.mergeHeaders(opts.headers, {
authorization: `Basic ${base64EncodedCreds}`
});
}
}
injectAuthenticatedRequestBody(opts) {
if (this.#clientAuthentication?.confidentialClientType === "request-body") {
const method = (opts.method || "GET").toUpperCase();
if (!METHODS_SUPPORTING_REQUEST_BODY.includes(method)) {
throw new Error(`${method} HTTP method does not support ` + `${this.#clientAuthentication.confidentialClientType} ` + "client authentication");
}
const headers = new Headers(opts.headers);
const contentType = headers.get("content-type");
if (contentType?.startsWith("application/x-www-form-urlencoded") || opts.data instanceof URLSearchParams) {
const data = new URLSearchParams(opts.data ?? "");
data.append("client_id", this.#clientAuthentication.clientId);
data.append("client_secret", this.#clientAuthentication.clientSecret || "");
opts.data = data;
} else if (contentType?.startsWith("application/json")) {
opts.data = opts.data || {};
Object.assign(opts.data, {
client_id: this.#clientAuthentication.clientId,
client_secret: this.#clientAuthentication.clientSecret || ""
});
} else {
throw new Error(`${contentType} content-types are not supported with ` + `${this.#clientAuthentication.confidentialClientType} ` + "client authentication");
}
}
}
static get RETRY_CONFIG() {
return {
retry: true,
retryConfig: {
httpMethodsToRetry: ["GET", "PUT", "POST", "HEAD", "OPTIONS", "DELETE"]
}
};
}
}
exports.OAuthClientAuthHandler = OAuthClientAuthHandler;
function getErrorFromOAuthErrorResponse(resp, err) {
const errorCode = resp.error;
const errorDescription = resp.error_description;
const errorUri = resp.error_uri;
let message = `Error code ${errorCode}`;
if (typeof errorDescription !== "undefined") {
message += `: ${errorDescription}`;
}
if (typeof errorUri !== "undefined") {
message += ` - ${errorUri}`;
}
const newError = new Error(message);
if (err) {
const keys2 = Object.keys(err);
if (err.stack) {
keys2.push("stack");
}
keys2.forEach((key) => {
if (key !== "message") {
Object.defineProperty(newError, key, {
value: err[key],
writable: false,
enumerable: true
});
}
});
}
return newError;
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/stscredentials.js
var require_stscredentials = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.StsCredentials = undefined;
var gaxios_1 = require_src2();
var authclient_1 = require_authclient();
var oauth2common_1 = require_oauth2common();
var util_1 = require_util8();
class StsCredentials extends oauth2common_1.OAuthClientAuthHandler {
#tokenExchangeEndpoint;
constructor(options = {
tokenExchangeEndpoint: ""
}, clientAuthentication) {
if (typeof options !== "object" || options instanceof URL) {
options = {
tokenExchangeEndpoint: options,
clientAuthentication
};
}
super(options);
this.#tokenExchangeEndpoint = options.tokenExchangeEndpoint;
}
async exchangeToken(stsCredentialsOptions, headers, options) {
const values2 = {
grant_type: stsCredentialsOptions.grantType,
resource: stsCredentialsOptions.resource,
audience: stsCredentialsOptions.audience,
scope: stsCredentialsOptions.scope?.join(" "),
requested_token_type: stsCredentialsOptions.requestedTokenType,
subject_token: stsCredentialsOptions.subjectToken,
subject_token_type: stsCredentialsOptions.subjectTokenType,
actor_token: stsCredentialsOptions.actingParty?.actorToken,
actor_token_type: stsCredentialsOptions.actingParty?.actorTokenType,
options: options && JSON.stringify(options)
};
const opts = {
...StsCredentials.RETRY_CONFIG,
url: this.#tokenExchangeEndpoint.toString(),
method: "POST",
headers,
data: new URLSearchParams((0, util_1.removeUndefinedValuesInObject)(values2)),
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "exchangeToken");
this.applyClientAuthenticationOptions(opts);
try {
const response = await this.transporter.request(opts);
const stsSuccessfulResponse = response.data;
stsSuccessfulResponse.res = response;
return stsSuccessfulResponse;
} catch (error51) {
if (error51 instanceof gaxios_1.GaxiosError && error51.response) {
throw (0, oauth2common_1.getErrorFromOAuthErrorResponse)(error51.response.data, error51);
}
throw error51;
}
}
}
exports.StsCredentials = StsCredentials;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/baseexternalclient.js
var require_baseexternalclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseExternalAccountClient = exports.CLOUD_RESOURCE_MANAGER = exports.EXTERNAL_ACCOUNT_TYPE = exports.EXPIRATION_TIME_OFFSET = undefined;
var gaxios_1 = require_src2();
var stream4 = __require("stream");
var authclient_1 = require_authclient();
var sts = require_stscredentials();
var util_1 = require_util8();
var shared_cjs_1 = require_shared2();
var STS_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange";
var STS_REQUEST_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
var DEFAULT_OAUTH_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
var DEFAULT_TOKEN_LIFESPAN = 3600;
exports.EXPIRATION_TIME_OFFSET = 5 * 60 * 1000;
exports.EXTERNAL_ACCOUNT_TYPE = "external_account";
exports.CLOUD_RESOURCE_MANAGER = "https://cloudresourcemanager.googleapis.com/v1/projects/";
var WORKFORCE_AUDIENCE_PATTERN = "//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+";
var DEFAULT_TOKEN_URL = "https://sts.{universeDomain}/v1/token";
class BaseExternalAccountClient extends authclient_1.AuthClient {
scopes;
projectNumber;
audience;
subjectTokenType;
stsCredential;
clientAuth;
credentialSourceType;
cachedAccessToken;
serviceAccountImpersonationUrl;
serviceAccountImpersonationLifetime;
workforcePoolUserProject;
configLifetimeRequested;
tokenUrl;
cloudResourceManagerURL;
supplierContext;
#pendingAccessToken = null;
constructor(options) {
super(options);
const opts = (0, util_1.originalOrCamelOptions)(options);
const type = opts.get("type");
if (type && type !== exports.EXTERNAL_ACCOUNT_TYPE) {
throw new Error(`Expected "${exports.EXTERNAL_ACCOUNT_TYPE}" type but ` + `received "${options.type}"`);
}
const clientId = opts.get("client_id");
const clientSecret = opts.get("client_secret");
this.tokenUrl = opts.get("token_url") ?? DEFAULT_TOKEN_URL.replace("{universeDomain}", this.universeDomain);
const subjectTokenType = opts.get("subject_token_type");
const workforcePoolUserProject = opts.get("workforce_pool_user_project");
const serviceAccountImpersonationUrl = opts.get("service_account_impersonation_url");
const serviceAccountImpersonation = opts.get("service_account_impersonation");
const serviceAccountImpersonationLifetime = (0, util_1.originalOrCamelOptions)(serviceAccountImpersonation).get("token_lifetime_seconds");
this.cloudResourceManagerURL = new URL(opts.get("cloud_resource_manager_url") || `https://cloudresourcemanager.${this.universeDomain}/v1/projects/`);
if (clientId) {
this.clientAuth = {
confidentialClientType: "basic",
clientId,
clientSecret
};
}
this.stsCredential = new sts.StsCredentials({
tokenExchangeEndpoint: this.tokenUrl,
clientAuthentication: this.clientAuth
});
this.scopes = opts.get("scopes") || [DEFAULT_OAUTH_SCOPE];
this.cachedAccessToken = null;
this.audience = opts.get("audience");
this.subjectTokenType = subjectTokenType;
this.workforcePoolUserProject = workforcePoolUserProject;
const workforceAudiencePattern = new RegExp(WORKFORCE_AUDIENCE_PATTERN);
if (this.workforcePoolUserProject && !this.audience.match(workforceAudiencePattern)) {
throw new Error("workforcePoolUserProject should not be set for non-workforce pool " + "credentials.");
}
this.serviceAccountImpersonationUrl = serviceAccountImpersonationUrl;
this.serviceAccountImpersonationLifetime = serviceAccountImpersonationLifetime;
if (this.serviceAccountImpersonationLifetime) {
this.configLifetimeRequested = true;
} else {
this.configLifetimeRequested = false;
this.serviceAccountImpersonationLifetime = DEFAULT_TOKEN_LIFESPAN;
}
this.projectNumber = this.getProjectNumber(this.audience);
this.supplierContext = {
audience: this.audience,
subjectTokenType: this.subjectTokenType,
transporter: this.transporter
};
}
getServiceAccountEmail() {
if (this.serviceAccountImpersonationUrl) {
if (this.serviceAccountImpersonationUrl.length > 256) {
throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);
}
const re2 = /serviceAccounts\/(?[^:]+):generateAccessToken$/;
const result = re2.exec(this.serviceAccountImpersonationUrl);
return result?.groups?.email || null;
}
return null;
}
setCredentials(credentials) {
super.setCredentials(credentials);
this.cachedAccessToken = credentials;
}
async getAccessToken() {
if (!this.cachedAccessToken || this.isExpired(this.cachedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedAccessToken.access_token,
res: this.cachedAccessToken.res
};
}
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = new Headers({
authorization: `Bearer ${accessTokenResponse.token}`
});
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
async getProjectId() {
const projectNumber = this.projectNumber || this.workforcePoolUserProject;
if (this.projectId) {
return this.projectId;
} else if (projectNumber) {
const headers = await this.getRequestHeaders();
const opts = {
...BaseExternalAccountClient.RETRY_CONFIG,
headers,
url: `${this.cloudResourceManagerURL.toString()}${projectNumber}`,
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "getProjectId");
const response = await this.transporter.request(opts);
this.projectId = response.data.projectId;
return this.projectId;
}
return null;
}
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
this.addUserProjectAndAuthHeaders(opts.headers, requestHeaders);
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream5 = res.config.data instanceof stream4.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream5 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
async refreshAccessTokenAsync() {
this.#pendingAccessToken = this.#pendingAccessToken || this.#internalRefreshAccessTokenAsync();
try {
return await this.#pendingAccessToken;
} finally {
this.#pendingAccessToken = null;
}
}
async#internalRefreshAccessTokenAsync() {
const subjectToken = await this.retrieveSubjectToken();
const stsCredentialsOptions = {
grantType: STS_GRANT_TYPE,
audience: this.audience,
requestedTokenType: STS_REQUEST_TOKEN_TYPE,
subjectToken,
subjectTokenType: this.subjectTokenType,
scope: this.serviceAccountImpersonationUrl ? [DEFAULT_OAUTH_SCOPE] : this.getScopesArray()
};
const additionalOptions = !this.clientAuth && this.workforcePoolUserProject ? { userProject: this.workforcePoolUserProject } : undefined;
const additionalHeaders = new Headers({
"x-goog-api-client": this.getMetricsHeaderValue()
});
const stsResponse = await this.stsCredential.exchangeToken(stsCredentialsOptions, additionalHeaders, additionalOptions);
if (this.serviceAccountImpersonationUrl) {
this.cachedAccessToken = await this.getImpersonatedAccessToken(stsResponse.access_token);
} else if (stsResponse.expires_in) {
this.cachedAccessToken = {
access_token: stsResponse.access_token,
expiry_date: new Date().getTime() + stsResponse.expires_in * 1000,
res: stsResponse.res
};
} else {
this.cachedAccessToken = {
access_token: stsResponse.access_token,
res: stsResponse.res
};
}
this.credentials = {};
Object.assign(this.credentials, this.cachedAccessToken);
delete this.credentials.res;
this.emit("tokens", {
refresh_token: null,
expiry_date: this.cachedAccessToken.expiry_date,
access_token: this.cachedAccessToken.access_token,
token_type: "Bearer",
id_token: null
});
return this.cachedAccessToken;
}
getProjectNumber(audience) {
const match = audience.match(/\/projects\/([^/]+)/);
if (!match) {
return null;
}
return match[1];
}
async getImpersonatedAccessToken(token) {
const opts = {
...BaseExternalAccountClient.RETRY_CONFIG,
url: this.serviceAccountImpersonationUrl,
method: "POST",
headers: {
"content-type": "application/json",
authorization: `Bearer ${token}`
},
data: {
scope: this.getScopesArray(),
lifetime: this.serviceAccountImpersonationLifetime + "s"
},
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "getImpersonatedAccessToken");
const response = await this.transporter.request(opts);
const successResponse = response.data;
return {
access_token: successResponse.accessToken,
expiry_date: new Date(successResponse.expireTime).getTime(),
res: response
};
}
isExpired(accessToken) {
const now = new Date().getTime();
return accessToken.expiry_date ? now >= accessToken.expiry_date - this.eagerRefreshThresholdMillis : false;
}
getScopesArray() {
if (typeof this.scopes === "string") {
return [this.scopes];
}
return this.scopes || [DEFAULT_OAUTH_SCOPE];
}
getMetricsHeaderValue() {
const nodeVersion = process.version.replace(/^v/, "");
const saImpersonation = this.serviceAccountImpersonationUrl !== undefined;
const credentialSourceType = this.credentialSourceType ? this.credentialSourceType : "unknown";
return `gl-node/${nodeVersion} auth/${shared_cjs_1.pkg.version} google-byoid-sdk source/${credentialSourceType} sa-impersonation/${saImpersonation} config-lifetime/${this.configLifetimeRequested}`;
}
getTokenUrl() {
return this.tokenUrl;
}
}
exports.BaseExternalAccountClient = BaseExternalAccountClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.js
var require_filesubjecttokensupplier = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileSubjectTokenSupplier = undefined;
var util_1 = __require("util");
var fs8 = __require("fs");
var readFile11 = (0, util_1.promisify)(fs8.readFile ?? (() => {}));
var realpath4 = (0, util_1.promisify)(fs8.realpath ?? (() => {}));
var lstat = (0, util_1.promisify)(fs8.lstat ?? (() => {}));
class FileSubjectTokenSupplier {
filePath;
formatType;
subjectTokenFieldName;
constructor(opts) {
this.filePath = opts.filePath;
this.formatType = opts.formatType;
this.subjectTokenFieldName = opts.subjectTokenFieldName;
}
async getSubjectToken() {
let parsedFilePath = this.filePath;
try {
parsedFilePath = await realpath4(parsedFilePath);
if (!(await lstat(parsedFilePath)).isFile()) {
throw new Error;
}
} catch (err) {
if (err instanceof Error) {
err.message = `The file at ${parsedFilePath} does not exist, or it is not a file. ${err.message}`;
}
throw err;
}
let subjectToken;
const rawText = await readFile11(parsedFilePath, { encoding: "utf8" });
if (this.formatType === "text") {
subjectToken = rawText;
} else if (this.formatType === "json" && this.subjectTokenFieldName) {
const json2 = JSON.parse(rawText);
subjectToken = json2[this.subjectTokenFieldName];
}
if (!subjectToken) {
throw new Error("Unable to parse the subject_token from the credential_source file");
}
return subjectToken;
}
}
exports.FileSubjectTokenSupplier = FileSubjectTokenSupplier;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.js
var require_urlsubjecttokensupplier = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.UrlSubjectTokenSupplier = undefined;
var authclient_1 = require_authclient();
class UrlSubjectTokenSupplier {
url;
headers;
formatType;
subjectTokenFieldName;
additionalGaxiosOptions;
constructor(opts) {
this.url = opts.url;
this.formatType = opts.formatType;
this.subjectTokenFieldName = opts.subjectTokenFieldName;
this.headers = opts.headers;
this.additionalGaxiosOptions = opts.additionalGaxiosOptions;
}
async getSubjectToken(context3) {
const opts = {
...this.additionalGaxiosOptions,
url: this.url,
method: "GET",
headers: this.headers,
responseType: this.formatType
};
authclient_1.AuthClient.setMethodName(opts, "getSubjectToken");
let subjectToken;
if (this.formatType === "text") {
const response = await context3.transporter.request(opts);
subjectToken = response.data;
} else if (this.formatType === "json" && this.subjectTokenFieldName) {
const response = await context3.transporter.request(opts);
subjectToken = response.data[this.subjectTokenFieldName];
}
if (!subjectToken) {
throw new Error("Unable to parse the subject_token from the credential_source URL");
}
return subjectToken;
}
}
exports.UrlSubjectTokenSupplier = UrlSubjectTokenSupplier;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/certificatesubjecttokensupplier.js
var require_certificatesubjecttokensupplier = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.CertificateSubjectTokenSupplier = exports.InvalidConfigurationError = exports.CertificateSourceUnavailableError = exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE = undefined;
var util_1 = require_util8();
var fs8 = __require("fs");
var crypto_1 = __require("crypto");
var https4 = __require("https");
exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE = "GOOGLE_API_CERTIFICATE_CONFIG";
class CertificateSourceUnavailableError extends Error {
constructor(message) {
super(message);
this.name = "CertificateSourceUnavailableError";
}
}
exports.CertificateSourceUnavailableError = CertificateSourceUnavailableError;
class InvalidConfigurationError extends Error {
constructor(message) {
super(message);
this.name = "InvalidConfigurationError";
}
}
exports.InvalidConfigurationError = InvalidConfigurationError;
class CertificateSubjectTokenSupplier {
certificateConfigPath;
trustChainPath;
cert;
key;
constructor(opts) {
if (!opts.useDefaultCertificateConfig && !opts.certificateConfigLocation) {
throw new InvalidConfigurationError("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");
}
if (opts.useDefaultCertificateConfig && opts.certificateConfigLocation) {
throw new InvalidConfigurationError("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");
}
this.trustChainPath = opts.trustChainPath;
this.certificateConfigPath = opts.certificateConfigLocation ?? "";
}
async createMtlsHttpsAgent() {
if (!this.key || !this.cert) {
throw new InvalidConfigurationError("Cannot create mTLS Agent with missing certificate or key");
}
return new https4.Agent({ key: this.key, cert: this.cert });
}
async getSubjectToken() {
this.certificateConfigPath = await this.#resolveCertificateConfigFilePath();
const { certPath, keyPath } = await this.#getCertAndKeyPaths();
({ cert: this.cert, key: this.key } = await this.#getKeyAndCert(certPath, keyPath));
return await this.#processChainFromPaths(this.cert);
}
async#resolveCertificateConfigFilePath() {
const overridePath = this.certificateConfigPath;
if (overridePath) {
if (await (0, util_1.isValidFile)(overridePath)) {
return overridePath;
}
throw new CertificateSourceUnavailableError(`Provided certificate config path is invalid: ${overridePath}`);
}
const envPath = process.env[exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];
if (envPath) {
if (await (0, util_1.isValidFile)(envPath)) {
return envPath;
}
throw new CertificateSourceUnavailableError(`Path from environment variable "${exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${envPath}`);
}
const wellKnownPath = (0, util_1.getWellKnownCertificateConfigFileLocation)();
if (await (0, util_1.isValidFile)(wellKnownPath)) {
return wellKnownPath;
}
throw new CertificateSourceUnavailableError("Could not find certificate configuration file. Searched override path, " + `the "${exports.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${wellKnownPath}).`);
}
async#getCertAndKeyPaths() {
const configPath = this.certificateConfigPath;
let fileContents;
try {
fileContents = await fs8.promises.readFile(configPath, "utf8");
} catch (err) {
throw new CertificateSourceUnavailableError(`Failed to read certificate config file at: ${configPath}`);
}
try {
const config2 = JSON.parse(fileContents);
const certPath = config2?.cert_configs?.workload?.cert_path;
const keyPath = config2?.cert_configs?.workload?.key_path;
if (!certPath || !keyPath) {
throw new InvalidConfigurationError(`Certificate config file (${configPath}) is missing required "cert_path" or "key_path" in the workload config.`);
}
return { certPath, keyPath };
} catch (e2) {
if (e2 instanceof InvalidConfigurationError)
throw e2;
throw new InvalidConfigurationError(`Failed to parse certificate config from ${configPath}: ${e2.message}`);
}
}
async#getKeyAndCert(certPath, keyPath) {
let cert, key;
try {
cert = await fs8.promises.readFile(certPath);
new crypto_1.X509Certificate(cert);
} catch (err) {
const message = err instanceof Error ? err.message : String(err);
throw new CertificateSourceUnavailableError(`Failed to read certificate file at ${certPath}: ${message}`);
}
try {
key = await fs8.promises.readFile(keyPath);
(0, crypto_1.createPrivateKey)(key);
} catch (err) {
const message = err instanceof Error ? err.message : String(err);
throw new CertificateSourceUnavailableError(`Failed to read private key file at ${keyPath}: ${message}`);
}
return { cert, key };
}
async#processChainFromPaths(leafCertBuffer) {
const leafCert = new crypto_1.X509Certificate(leafCertBuffer);
if (!this.trustChainPath) {
return JSON.stringify([leafCert.raw.toString("base64")]);
}
try {
const chainPems = await fs8.promises.readFile(this.trustChainPath, "utf8");
const pemBlocks = chainPems.match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g) ?? [];
const chainCerts = pemBlocks.map((pem, index) => {
try {
return new crypto_1.X509Certificate(pem);
} catch (err) {
const message = err instanceof Error ? err.message : String(err);
throw new InvalidConfigurationError(`Failed to parse certificate at index ${index} in trust chain file ${this.trustChainPath}: ${message}`);
}
});
const leafIndex = chainCerts.findIndex((chainCert) => leafCert.raw.equals(chainCert.raw));
let finalChain;
if (leafIndex === -1) {
finalChain = [leafCert, ...chainCerts];
} else if (leafIndex === 0) {
finalChain = chainCerts;
} else {
throw new InvalidConfigurationError(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${leafIndex}).`);
}
return JSON.stringify(finalChain.map((cert) => cert.raw.toString("base64")));
} catch (err) {
if (err instanceof InvalidConfigurationError)
throw err;
const message = err instanceof Error ? err.message : String(err);
throw new CertificateSourceUnavailableError(`Failed to process certificate chain from ${this.trustChainPath}: ${message}`);
}
}
}
exports.CertificateSubjectTokenSupplier = CertificateSubjectTokenSupplier;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/identitypoolclient.js
var require_identitypoolclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.IdentityPoolClient = undefined;
var baseexternalclient_1 = require_baseexternalclient();
var util_1 = require_util8();
var filesubjecttokensupplier_1 = require_filesubjecttokensupplier();
var urlsubjecttokensupplier_1 = require_urlsubjecttokensupplier();
var certificatesubjecttokensupplier_1 = require_certificatesubjecttokensupplier();
var stscredentials_1 = require_stscredentials();
var gaxios_1 = require_src2();
class IdentityPoolClient extends baseexternalclient_1.BaseExternalAccountClient {
subjectTokenSupplier;
constructor(options) {
super(options);
const opts = (0, util_1.originalOrCamelOptions)(options);
const credentialSource = opts.get("credential_source");
const subjectTokenSupplier = opts.get("subject_token_supplier");
if (!credentialSource && !subjectTokenSupplier) {
throw new Error("A credential source or subject token supplier must be specified.");
}
if (credentialSource && subjectTokenSupplier) {
throw new Error("Only one of credential source or subject token supplier can be specified.");
}
if (subjectTokenSupplier) {
this.subjectTokenSupplier = subjectTokenSupplier;
this.credentialSourceType = "programmatic";
} else {
const credentialSourceOpts = (0, util_1.originalOrCamelOptions)(credentialSource);
const formatOpts = (0, util_1.originalOrCamelOptions)(credentialSourceOpts.get("format"));
const formatType = formatOpts.get("type") || "text";
const formatSubjectTokenFieldName = formatOpts.get("subject_token_field_name");
if (formatType !== "json" && formatType !== "text") {
throw new Error(`Invalid credential_source format "${formatType}"`);
}
if (formatType === "json" && !formatSubjectTokenFieldName) {
throw new Error("Missing subject_token_field_name for JSON credential_source format");
}
const file2 = credentialSourceOpts.get("file");
const url3 = credentialSourceOpts.get("url");
const certificate = credentialSourceOpts.get("certificate");
const headers = credentialSourceOpts.get("headers");
if (file2 && url3 || url3 && certificate || file2 && certificate) {
throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');
} else if (file2) {
this.credentialSourceType = "file";
this.subjectTokenSupplier = new filesubjecttokensupplier_1.FileSubjectTokenSupplier({
filePath: file2,
formatType,
subjectTokenFieldName: formatSubjectTokenFieldName
});
} else if (url3) {
this.credentialSourceType = "url";
this.subjectTokenSupplier = new urlsubjecttokensupplier_1.UrlSubjectTokenSupplier({
url: url3,
formatType,
subjectTokenFieldName: formatSubjectTokenFieldName,
headers,
additionalGaxiosOptions: IdentityPoolClient.RETRY_CONFIG
});
} else if (certificate) {
this.credentialSourceType = "certificate";
const certificateSubjecttokensupplier = new certificatesubjecttokensupplier_1.CertificateSubjectTokenSupplier({
useDefaultCertificateConfig: certificate.use_default_certificate_config,
certificateConfigLocation: certificate.certificate_config_location,
trustChainPath: certificate.trust_chain_path
});
this.subjectTokenSupplier = certificateSubjecttokensupplier;
} else {
throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');
}
}
}
async retrieveSubjectToken() {
const subjectToken = await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);
if (this.subjectTokenSupplier instanceof certificatesubjecttokensupplier_1.CertificateSubjectTokenSupplier) {
const mtlsAgent = await this.subjectTokenSupplier.createMtlsHttpsAgent();
this.stsCredential = new stscredentials_1.StsCredentials({
tokenExchangeEndpoint: this.getTokenUrl(),
clientAuthentication: this.clientAuth,
transporter: new gaxios_1.Gaxios({ agent: mtlsAgent })
});
this.transporter = new gaxios_1.Gaxios({
...this.transporter.defaults || {},
agent: mtlsAgent
});
}
return subjectToken;
}
}
exports.IdentityPoolClient = IdentityPoolClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/awsrequestsigner.js
var require_awsrequestsigner = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsRequestSigner = undefined;
var gaxios_1 = require_src2();
var crypto_1 = require_crypto3();
var AWS_ALGORITHM = "AWS4-HMAC-SHA256";
var AWS_REQUEST_TYPE = "aws4_request";
class AwsRequestSigner {
getCredentials;
region;
crypto;
constructor(getCredentials, region) {
this.getCredentials = getCredentials;
this.region = region;
this.crypto = (0, crypto_1.createCrypto)();
}
async getRequestOptions(amzOptions) {
if (!amzOptions.url) {
throw new RangeError('"url" is required in "amzOptions"');
}
const requestPayloadData = typeof amzOptions.data === "object" ? JSON.stringify(amzOptions.data) : amzOptions.data;
const url3 = amzOptions.url;
const method = amzOptions.method || "GET";
const requestPayload = amzOptions.body || requestPayloadData;
const additionalAmzHeaders = amzOptions.headers;
const awsSecurityCredentials = await this.getCredentials();
const uri = new URL(url3);
if (typeof requestPayload !== "string" && requestPayload !== undefined) {
throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${requestPayload}`);
}
const headerMap = await generateAuthenticationHeaderMap({
crypto: this.crypto,
host: uri.host,
canonicalUri: uri.pathname,
canonicalQuerystring: uri.search.slice(1),
method,
region: this.region,
securityCredentials: awsSecurityCredentials,
requestPayload,
additionalAmzHeaders
});
const headers = gaxios_1.Gaxios.mergeHeaders(headerMap.amzDate ? { "x-amz-date": headerMap.amzDate } : {}, {
authorization: headerMap.authorizationHeader,
host: uri.host
}, additionalAmzHeaders || {});
if (awsSecurityCredentials.token) {
gaxios_1.Gaxios.mergeHeaders(headers, {
"x-amz-security-token": awsSecurityCredentials.token
});
}
const awsSignedReq = {
url: url3,
method,
headers
};
if (requestPayload !== undefined) {
awsSignedReq.body = requestPayload;
}
return awsSignedReq;
}
}
exports.AwsRequestSigner = AwsRequestSigner;
async function sign(crypto5, key, msg) {
return await crypto5.signWithHmacSha256(key, msg);
}
async function getSigningKey(crypto5, key, dateStamp, region, serviceName) {
const kDate = await sign(crypto5, `AWS4${key}`, dateStamp);
const kRegion = await sign(crypto5, kDate, region);
const kService = await sign(crypto5, kRegion, serviceName);
const kSigning = await sign(crypto5, kService, "aws4_request");
return kSigning;
}
async function generateAuthenticationHeaderMap(options) {
const additionalAmzHeaders = gaxios_1.Gaxios.mergeHeaders(options.additionalAmzHeaders);
const requestPayload = options.requestPayload || "";
const serviceName = options.host.split(".")[0];
const now = new Date;
const amzDate = now.toISOString().replace(/[-:]/g, "").replace(/\.[0-9]+/, "");
const dateStamp = now.toISOString().replace(/[-]/g, "").replace(/T.*/, "");
if (options.securityCredentials.token) {
additionalAmzHeaders.set("x-amz-security-token", options.securityCredentials.token);
}
const amzHeaders = gaxios_1.Gaxios.mergeHeaders({
host: options.host
}, additionalAmzHeaders.has("date") ? {} : { "x-amz-date": amzDate }, additionalAmzHeaders);
let canonicalHeaders = "";
const signedHeadersList = [
...amzHeaders.keys()
].sort();
signedHeadersList.forEach((key) => {
canonicalHeaders += `${key}:${amzHeaders.get(key)}
`;
});
const signedHeaders = signedHeadersList.join(";");
const payloadHash = await options.crypto.sha256DigestHex(requestPayload);
const canonicalRequest = `${options.method.toUpperCase()}
` + `${options.canonicalUri}
` + `${options.canonicalQuerystring}
` + `${canonicalHeaders}
` + `${signedHeaders}
` + `${payloadHash}`;
const credentialScope = `${dateStamp}/${options.region}/${serviceName}/${AWS_REQUEST_TYPE}`;
const stringToSign = `${AWS_ALGORITHM}
` + `${amzDate}
` + `${credentialScope}
` + await options.crypto.sha256DigestHex(canonicalRequest);
const signingKey = await getSigningKey(options.crypto, options.securityCredentials.secretAccessKey, dateStamp, options.region, serviceName);
const signature = await sign(options.crypto, signingKey, stringToSign);
const authorizationHeader = `${AWS_ALGORITHM} Credential=${options.securityCredentials.accessKeyId}/` + `${credentialScope}, SignedHeaders=${signedHeaders}, ` + `Signature=${(0, crypto_1.fromArrayBufferToHex)(signature)}`;
return {
amzDate: additionalAmzHeaders.has("date") ? undefined : amzDate,
authorizationHeader,
canonicalQuerystring: options.canonicalQuerystring
};
}
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.js
var require_defaultawssecuritycredentialssupplier = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultAwsSecurityCredentialsSupplier = undefined;
var authclient_1 = require_authclient();
class DefaultAwsSecurityCredentialsSupplier {
regionUrl;
securityCredentialsUrl;
imdsV2SessionTokenUrl;
additionalGaxiosOptions;
constructor(opts) {
this.regionUrl = opts.regionUrl;
this.securityCredentialsUrl = opts.securityCredentialsUrl;
this.imdsV2SessionTokenUrl = opts.imdsV2SessionTokenUrl;
this.additionalGaxiosOptions = opts.additionalGaxiosOptions;
}
async getAwsRegion(context3) {
if (this.#regionFromEnv) {
return this.#regionFromEnv;
}
const metadataHeaders = new Headers;
if (!this.#regionFromEnv && this.imdsV2SessionTokenUrl) {
metadataHeaders.set("x-aws-ec2-metadata-token", await this.#getImdsV2SessionToken(context3.transporter));
}
if (!this.regionUrl) {
throw new RangeError("Unable to determine AWS region due to missing " + '"options.credential_source.region_url"');
}
const opts = {
...this.additionalGaxiosOptions,
url: this.regionUrl,
method: "GET",
responseType: "text",
headers: metadataHeaders
};
authclient_1.AuthClient.setMethodName(opts, "getAwsRegion");
const response = await context3.transporter.request(opts);
return response.data.substr(0, response.data.length - 1);
}
async getAwsSecurityCredentials(context3) {
if (this.#securityCredentialsFromEnv) {
return this.#securityCredentialsFromEnv;
}
const metadataHeaders = new Headers;
if (this.imdsV2SessionTokenUrl) {
metadataHeaders.set("x-aws-ec2-metadata-token", await this.#getImdsV2SessionToken(context3.transporter));
}
const roleName = await this.#getAwsRoleName(metadataHeaders, context3.transporter);
const awsCreds = await this.#retrieveAwsSecurityCredentials(roleName, metadataHeaders, context3.transporter);
return {
accessKeyId: awsCreds.AccessKeyId,
secretAccessKey: awsCreds.SecretAccessKey,
token: awsCreds.Token
};
}
async#getImdsV2SessionToken(transporter) {
const opts = {
...this.additionalGaxiosOptions,
url: this.imdsV2SessionTokenUrl,
method: "PUT",
responseType: "text",
headers: { "x-aws-ec2-metadata-token-ttl-seconds": "300" }
};
authclient_1.AuthClient.setMethodName(opts, "#getImdsV2SessionToken");
const response = await transporter.request(opts);
return response.data;
}
async#getAwsRoleName(headers, transporter) {
if (!this.securityCredentialsUrl) {
throw new Error("Unable to determine AWS role name due to missing " + '"options.credential_source.url"');
}
const opts = {
...this.additionalGaxiosOptions,
url: this.securityCredentialsUrl,
method: "GET",
responseType: "text",
headers
};
authclient_1.AuthClient.setMethodName(opts, "#getAwsRoleName");
const response = await transporter.request(opts);
return response.data;
}
async#retrieveAwsSecurityCredentials(roleName, headers, transporter) {
const opts = {
...this.additionalGaxiosOptions,
url: `${this.securityCredentialsUrl}/${roleName}`,
headers,
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "#retrieveAwsSecurityCredentials");
const response = await transporter.request(opts);
return response.data;
}
get #regionFromEnv() {
return process.env["AWS_REGION"] || process.env["AWS_DEFAULT_REGION"] || null;
}
get #securityCredentialsFromEnv() {
if (process.env["AWS_ACCESS_KEY_ID"] && process.env["AWS_SECRET_ACCESS_KEY"]) {
return {
accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
token: process.env["AWS_SESSION_TOKEN"]
};
}
return null;
}
}
exports.DefaultAwsSecurityCredentialsSupplier = DefaultAwsSecurityCredentialsSupplier;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/awsclient.js
var require_awsclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsClient = undefined;
var awsrequestsigner_1 = require_awsrequestsigner();
var baseexternalclient_1 = require_baseexternalclient();
var defaultawssecuritycredentialssupplier_1 = require_defaultawssecuritycredentialssupplier();
var util_1 = require_util8();
var gaxios_1 = require_src2();
class AwsClient extends baseexternalclient_1.BaseExternalAccountClient {
environmentId;
awsSecurityCredentialsSupplier;
regionalCredVerificationUrl;
awsRequestSigner;
region;
static #DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL = "https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";
static AWS_EC2_METADATA_IPV4_ADDRESS = "169.254.169.254";
static AWS_EC2_METADATA_IPV6_ADDRESS = "fd00:ec2::254";
constructor(options) {
super(options);
const opts = (0, util_1.originalOrCamelOptions)(options);
const credentialSource = opts.get("credential_source");
const awsSecurityCredentialsSupplier = opts.get("aws_security_credentials_supplier");
if (!credentialSource && !awsSecurityCredentialsSupplier) {
throw new Error("A credential source or AWS security credentials supplier must be specified.");
}
if (credentialSource && awsSecurityCredentialsSupplier) {
throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");
}
if (awsSecurityCredentialsSupplier) {
this.awsSecurityCredentialsSupplier = awsSecurityCredentialsSupplier;
this.regionalCredVerificationUrl = AwsClient.#DEFAULT_AWS_REGIONAL_CREDENTIAL_VERIFICATION_URL;
this.credentialSourceType = "programmatic";
} else {
const credentialSourceOpts = (0, util_1.originalOrCamelOptions)(credentialSource);
this.environmentId = credentialSourceOpts.get("environment_id");
const regionUrl = credentialSourceOpts.get("region_url");
const securityCredentialsUrl = credentialSourceOpts.get("url");
const imdsV2SessionTokenUrl = credentialSourceOpts.get("imdsv2_session_token_url");
this.awsSecurityCredentialsSupplier = new defaultawssecuritycredentialssupplier_1.DefaultAwsSecurityCredentialsSupplier({
regionUrl,
securityCredentialsUrl,
imdsV2SessionTokenUrl
});
this.regionalCredVerificationUrl = credentialSourceOpts.get("regional_cred_verification_url");
this.credentialSourceType = "aws";
this.validateEnvironmentId();
}
this.awsRequestSigner = null;
this.region = "";
}
validateEnvironmentId() {
const match = this.environmentId?.match(/^(aws)(\d+)$/);
if (!match || !this.regionalCredVerificationUrl) {
throw new Error('No valid AWS "credential_source" provided');
} else if (parseInt(match[2], 10) !== 1) {
throw new Error(`aws version "${match[2]}" is not supported in the current build.`);
}
}
async retrieveSubjectToken() {
if (!this.awsRequestSigner) {
this.region = await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext);
this.awsRequestSigner = new awsrequestsigner_1.AwsRequestSigner(async () => {
return this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext);
}, this.region);
}
const options = await this.awsRequestSigner.getRequestOptions({
...AwsClient.RETRY_CONFIG,
url: this.regionalCredVerificationUrl.replace("{region}", this.region),
method: "POST"
});
const reformattedHeader = [];
const extendedHeaders = gaxios_1.Gaxios.mergeHeaders({
"x-goog-cloud-target-resource": this.audience
}, options.headers);
extendedHeaders.forEach((value, key) => reformattedHeader.push({ key, value }));
return encodeURIComponent(JSON.stringify({
url: options.url,
method: options.method,
headers: reformattedHeader
}));
}
}
exports.AwsClient = AwsClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/executable-response.js
var require_executable_response = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.InvalidSubjectTokenError = exports.InvalidMessageFieldError = exports.InvalidCodeFieldError = exports.InvalidTokenTypeFieldError = exports.InvalidExpirationTimeFieldError = exports.InvalidSuccessFieldError = exports.InvalidVersionFieldError = exports.ExecutableResponseError = exports.ExecutableResponse = undefined;
var SAML_SUBJECT_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:saml2";
var OIDC_SUBJECT_TOKEN_TYPE1 = "urn:ietf:params:oauth:token-type:id_token";
var OIDC_SUBJECT_TOKEN_TYPE2 = "urn:ietf:params:oauth:token-type:jwt";
class ExecutableResponse {
version;
success;
expirationTime;
tokenType;
errorCode;
errorMessage;
subjectToken;
constructor(responseJson) {
if (!responseJson.version) {
throw new InvalidVersionFieldError("Executable response must contain a 'version' field.");
}
if (responseJson.success === undefined) {
throw new InvalidSuccessFieldError("Executable response must contain a 'success' field.");
}
this.version = responseJson.version;
this.success = responseJson.success;
if (this.success) {
this.expirationTime = responseJson.expiration_time;
this.tokenType = responseJson.token_type;
if (this.tokenType !== SAML_SUBJECT_TOKEN_TYPE && this.tokenType !== OIDC_SUBJECT_TOKEN_TYPE1 && this.tokenType !== OIDC_SUBJECT_TOKEN_TYPE2) {
throw new InvalidTokenTypeFieldError("Executable response must contain a 'token_type' field when successful " + `and it must be one of ${OIDC_SUBJECT_TOKEN_TYPE1}, ${OIDC_SUBJECT_TOKEN_TYPE2}, or ${SAML_SUBJECT_TOKEN_TYPE}.`);
}
if (this.tokenType === SAML_SUBJECT_TOKEN_TYPE) {
if (!responseJson.saml_response) {
throw new InvalidSubjectTokenError(`Executable response must contain a 'saml_response' field when token_type=${SAML_SUBJECT_TOKEN_TYPE}.`);
}
this.subjectToken = responseJson.saml_response;
} else {
if (!responseJson.id_token) {
throw new InvalidSubjectTokenError("Executable response must contain a 'id_token' field when " + `token_type=${OIDC_SUBJECT_TOKEN_TYPE1} or ${OIDC_SUBJECT_TOKEN_TYPE2}.`);
}
this.subjectToken = responseJson.id_token;
}
} else {
if (!responseJson.code) {
throw new InvalidCodeFieldError("Executable response must contain a 'code' field when unsuccessful.");
}
if (!responseJson.message) {
throw new InvalidMessageFieldError("Executable response must contain a 'message' field when unsuccessful.");
}
this.errorCode = responseJson.code;
this.errorMessage = responseJson.message;
}
}
isValid() {
return !this.isExpired() && this.success;
}
isExpired() {
return this.expirationTime !== undefined && this.expirationTime < Math.round(Date.now() / 1000);
}
}
exports.ExecutableResponse = ExecutableResponse;
class ExecutableResponseError extends Error {
constructor(message) {
super(message);
Object.setPrototypeOf(this, new.target.prototype);
}
}
exports.ExecutableResponseError = ExecutableResponseError;
class InvalidVersionFieldError extends ExecutableResponseError {
}
exports.InvalidVersionFieldError = InvalidVersionFieldError;
class InvalidSuccessFieldError extends ExecutableResponseError {
}
exports.InvalidSuccessFieldError = InvalidSuccessFieldError;
class InvalidExpirationTimeFieldError extends ExecutableResponseError {
}
exports.InvalidExpirationTimeFieldError = InvalidExpirationTimeFieldError;
class InvalidTokenTypeFieldError extends ExecutableResponseError {
}
exports.InvalidTokenTypeFieldError = InvalidTokenTypeFieldError;
class InvalidCodeFieldError extends ExecutableResponseError {
}
exports.InvalidCodeFieldError = InvalidCodeFieldError;
class InvalidMessageFieldError extends ExecutableResponseError {
}
exports.InvalidMessageFieldError = InvalidMessageFieldError;
class InvalidSubjectTokenError extends ExecutableResponseError {
}
exports.InvalidSubjectTokenError = InvalidSubjectTokenError;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.js
var require_pluggable_auth_handler = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.PluggableAuthHandler = exports.ExecutableError = undefined;
var executable_response_1 = require_executable_response();
var childProcess3 = __require("child_process");
var fs8 = __require("fs");
class ExecutableError extends Error {
code;
constructor(message, code) {
super(`The executable failed with exit code: ${code} and error message: ${message}.`);
this.code = code;
Object.setPrototypeOf(this, new.target.prototype);
}
}
exports.ExecutableError = ExecutableError;
class PluggableAuthHandler {
commandComponents;
timeoutMillis;
outputFile;
constructor(options) {
if (!options.command) {
throw new Error("No command provided.");
}
this.commandComponents = PluggableAuthHandler.parseCommand(options.command);
this.timeoutMillis = options.timeoutMillis;
if (!this.timeoutMillis) {
throw new Error("No timeoutMillis provided.");
}
this.outputFile = options.outputFile;
}
retrieveResponseFromExecutable(envMap) {
return new Promise((resolve9, reject) => {
const child = childProcess3.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
env: { ...process.env, ...Object.fromEntries(envMap) }
});
let output = "";
child.stdout.on("data", (data) => {
output += data;
});
child.stderr.on("data", (err) => {
output += err;
});
const timeout = setTimeout(() => {
child.removeAllListeners();
child.kill();
return reject(new Error("The executable failed to finish within the timeout specified."));
}, this.timeoutMillis);
child.on("close", (code) => {
clearTimeout(timeout);
if (code === 0) {
try {
const responseJson = JSON.parse(output);
const response = new executable_response_1.ExecutableResponse(responseJson);
return resolve9(response);
} catch (error51) {
if (error51 instanceof executable_response_1.ExecutableResponseError) {
return reject(error51);
}
return reject(new executable_response_1.ExecutableResponseError(`The executable returned an invalid response: ${output}`));
}
} else {
return reject(new ExecutableError(output, code.toString()));
}
});
});
}
async retrieveCachedResponse() {
if (!this.outputFile || this.outputFile.length === 0) {
return;
}
let filePath;
try {
filePath = await fs8.promises.realpath(this.outputFile);
} catch {
return;
}
if (!(await fs8.promises.lstat(filePath)).isFile()) {
return;
}
const responseString = await fs8.promises.readFile(filePath, {
encoding: "utf8"
});
if (responseString === "") {
return;
}
try {
const responseJson = JSON.parse(responseString);
const response = new executable_response_1.ExecutableResponse(responseJson);
if (response.isValid()) {
return new executable_response_1.ExecutableResponse(responseJson);
}
return;
} catch (error51) {
if (error51 instanceof executable_response_1.ExecutableResponseError) {
throw error51;
}
throw new executable_response_1.ExecutableResponseError(`The output file contained an invalid response: ${responseString}`);
}
}
static parseCommand(command) {
const components = command.match(/(?:[^\s"]+|"[^"]*")+/g);
if (!components) {
throw new Error(`Provided command: "${command}" could not be parsed.`);
}
for (let i3 = 0;i3 < components.length; i3++) {
if (components[i3][0] === '"' && components[i3].slice(-1) === '"') {
components[i3] = components[i3].slice(1, -1);
}
}
return components;
}
}
exports.PluggableAuthHandler = PluggableAuthHandler;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.js
var require_pluggable_auth_client = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.PluggableAuthClient = exports.ExecutableError = undefined;
var baseexternalclient_1 = require_baseexternalclient();
var executable_response_1 = require_executable_response();
var pluggable_auth_handler_1 = require_pluggable_auth_handler();
var pluggable_auth_handler_2 = require_pluggable_auth_handler();
Object.defineProperty(exports, "ExecutableError", { enumerable: true, get: function() {
return pluggable_auth_handler_2.ExecutableError;
} });
var DEFAULT_EXECUTABLE_TIMEOUT_MILLIS = 30 * 1000;
var MINIMUM_EXECUTABLE_TIMEOUT_MILLIS = 5 * 1000;
var MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS = 120 * 1000;
var GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES = "GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES";
var MAXIMUM_EXECUTABLE_VERSION = 1;
class PluggableAuthClient extends baseexternalclient_1.BaseExternalAccountClient {
command;
timeoutMillis;
outputFile;
handler;
constructor(options) {
super(options);
if (!options.credential_source.executable) {
throw new Error('No valid Pluggable Auth "credential_source" provided.');
}
this.command = options.credential_source.executable.command;
if (!this.command) {
throw new Error('No valid Pluggable Auth "credential_source" provided.');
}
if (options.credential_source.executable.timeout_millis === undefined) {
this.timeoutMillis = DEFAULT_EXECUTABLE_TIMEOUT_MILLIS;
} else {
this.timeoutMillis = options.credential_source.executable.timeout_millis;
if (this.timeoutMillis < MINIMUM_EXECUTABLE_TIMEOUT_MILLIS || this.timeoutMillis > MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS) {
throw new Error(`Timeout must be between ${MINIMUM_EXECUTABLE_TIMEOUT_MILLIS} and ` + `${MAXIMUM_EXECUTABLE_TIMEOUT_MILLIS} milliseconds.`);
}
}
this.outputFile = options.credential_source.executable.output_file;
this.handler = new pluggable_auth_handler_1.PluggableAuthHandler({
command: this.command,
timeoutMillis: this.timeoutMillis,
outputFile: this.outputFile
});
this.credentialSourceType = "executable";
}
async retrieveSubjectToken() {
if (process.env[GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES] !== "1") {
throw new Error("Pluggable Auth executables need to be explicitly allowed to run by " + "setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment " + "Variable to 1.");
}
let executableResponse = undefined;
if (this.outputFile) {
executableResponse = await this.handler.retrieveCachedResponse();
}
if (!executableResponse) {
const envMap = new Map;
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE", this.audience);
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE", this.subjectTokenType);
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE", "0");
if (this.outputFile) {
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE", this.outputFile);
}
const serviceAccountEmail = this.getServiceAccountEmail();
if (serviceAccountEmail) {
envMap.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL", serviceAccountEmail);
}
executableResponse = await this.handler.retrieveResponseFromExecutable(envMap);
}
if (executableResponse.version > MAXIMUM_EXECUTABLE_VERSION) {
throw new Error(`Version of executable is not currently supported, maximum supported version is ${MAXIMUM_EXECUTABLE_VERSION}.`);
}
if (!executableResponse.success) {
throw new pluggable_auth_handler_1.ExecutableError(executableResponse.errorMessage, executableResponse.errorCode);
}
if (this.outputFile) {
if (!executableResponse.expirationTime) {
throw new executable_response_1.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");
}
}
if (executableResponse.isExpired()) {
throw new Error("Executable response is expired.");
}
return executableResponse.subjectToken;
}
}
exports.PluggableAuthClient = PluggableAuthClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/externalclient.js
var require_externalclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExternalAccountClient = undefined;
var baseexternalclient_1 = require_baseexternalclient();
var identitypoolclient_1 = require_identitypoolclient();
var awsclient_1 = require_awsclient();
var pluggable_auth_client_1 = require_pluggable_auth_client();
class ExternalAccountClient {
constructor() {
throw new Error("ExternalAccountClients should be initialized via: " + "ExternalAccountClient.fromJSON(), " + "directly via explicit constructors, eg. " + "new AwsClient(options), new IdentityPoolClient(options), new" + "PluggableAuthClientOptions, or via " + "new GoogleAuth(options).getClient()");
}
static fromJSON(options) {
if (options && options.type === baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
if (options.credential_source?.environment_id) {
return new awsclient_1.AwsClient(options);
} else if (options.credential_source?.executable) {
return new pluggable_auth_client_1.PluggableAuthClient(options);
} else {
return new identitypoolclient_1.IdentityPoolClient(options);
}
} else {
return null;
}
}
}
exports.ExternalAccountClient = ExternalAccountClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js
var require_externalAccountAuthorizedUserClient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExternalAccountAuthorizedUserClient = exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE = undefined;
var authclient_1 = require_authclient();
var oauth2common_1 = require_oauth2common();
var gaxios_1 = require_src2();
var stream4 = __require("stream");
var baseexternalclient_1 = require_baseexternalclient();
exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE = "external_account_authorized_user";
var DEFAULT_TOKEN_URL = "https://sts.{universeDomain}/v1/oauthtoken";
class ExternalAccountAuthorizedUserHandler extends oauth2common_1.OAuthClientAuthHandler {
#tokenRefreshEndpoint;
constructor(options) {
super(options);
this.#tokenRefreshEndpoint = options.tokenRefreshEndpoint;
}
async refreshToken(refreshToken, headers) {
const opts = {
...ExternalAccountAuthorizedUserHandler.RETRY_CONFIG,
url: this.#tokenRefreshEndpoint,
method: "POST",
headers,
data: new URLSearchParams({
grant_type: "refresh_token",
refresh_token: refreshToken
}),
responseType: "json"
};
authclient_1.AuthClient.setMethodName(opts, "refreshToken");
this.applyClientAuthenticationOptions(opts);
try {
const response = await this.transporter.request(opts);
const tokenRefreshResponse = response.data;
tokenRefreshResponse.res = response;
return tokenRefreshResponse;
} catch (error51) {
if (error51 instanceof gaxios_1.GaxiosError && error51.response) {
throw (0, oauth2common_1.getErrorFromOAuthErrorResponse)(error51.response.data, error51);
}
throw error51;
}
}
}
class ExternalAccountAuthorizedUserClient extends authclient_1.AuthClient {
cachedAccessToken;
externalAccountAuthorizedUserHandler;
refreshToken;
constructor(options) {
super(options);
if (options.universe_domain) {
this.universeDomain = options.universe_domain;
}
this.refreshToken = options.refresh_token;
const clientAuthentication = {
confidentialClientType: "basic",
clientId: options.client_id,
clientSecret: options.client_secret
};
this.externalAccountAuthorizedUserHandler = new ExternalAccountAuthorizedUserHandler({
tokenRefreshEndpoint: options.token_url ?? DEFAULT_TOKEN_URL.replace("{universeDomain}", this.universeDomain),
transporter: this.transporter,
clientAuthentication
});
this.cachedAccessToken = null;
this.quotaProjectId = options.quota_project_id;
if (typeof options?.eagerRefreshThresholdMillis !== "number") {
this.eagerRefreshThresholdMillis = baseexternalclient_1.EXPIRATION_TIME_OFFSET;
} else {
this.eagerRefreshThresholdMillis = options.eagerRefreshThresholdMillis;
}
this.forceRefreshOnFailure = !!options?.forceRefreshOnFailure;
}
async getAccessToken() {
if (!this.cachedAccessToken || this.isExpired(this.cachedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedAccessToken.access_token,
res: this.cachedAccessToken.res
};
}
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = new Headers({
authorization: `Bearer ${accessTokenResponse.token}`
});
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
this.addUserProjectAndAuthHeaders(opts.headers, requestHeaders);
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream5 = res.config.data instanceof stream4.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream5 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
async refreshAccessTokenAsync() {
const refreshResponse = await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);
this.cachedAccessToken = {
access_token: refreshResponse.access_token,
expiry_date: new Date().getTime() + refreshResponse.expires_in * 1000,
res: refreshResponse.res
};
if (refreshResponse.refresh_token !== undefined) {
this.refreshToken = refreshResponse.refresh_token;
}
return this.cachedAccessToken;
}
isExpired(credentials) {
const now = new Date().getTime();
return credentials.expiry_date ? now >= credentials.expiry_date - this.eagerRefreshThresholdMillis : false;
}
}
exports.ExternalAccountAuthorizedUserClient = ExternalAccountAuthorizedUserClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/googleauth.js
var require_googleauth = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.GoogleAuth = exports.GoogleAuthExceptionMessages = undefined;
var child_process_1 = __require("child_process");
var fs8 = __require("fs");
var gaxios_1 = require_src2();
var gcpMetadata = require_src4();
var os6 = __require("os");
var path12 = __require("path");
var crypto_1 = require_crypto3();
var computeclient_1 = require_computeclient();
var idtokenclient_1 = require_idtokenclient();
var envDetect_1 = require_envDetect();
var jwtclient_1 = require_jwtclient();
var refreshclient_1 = require_refreshclient();
var impersonated_1 = require_impersonated();
var externalclient_1 = require_externalclient();
var baseexternalclient_1 = require_baseexternalclient();
var authclient_1 = require_authclient();
var externalAccountAuthorizedUserClient_1 = require_externalAccountAuthorizedUserClient();
var util_1 = require_util8();
exports.GoogleAuthExceptionMessages = {
API_KEY_WITH_CREDENTIALS: "API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",
NO_PROJECT_ID_FOUND: `Unable to detect a Project Id in the current environment.
` + `To learn more about authentication and Google APIs, visit:
` + "https://cloud.google.com/docs/authentication/getting-started",
NO_CREDENTIALS_FOUND: `Unable to find credentials in current environment.
` + `To learn more about authentication and Google APIs, visit:
` + "https://cloud.google.com/docs/authentication/getting-started",
NO_ADC_FOUND: "Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",
NO_UNIVERSE_DOMAIN_FOUND: `Unable to detect a Universe Domain in the current environment.
` + `To learn more about Universe Domain retrieval, visit:
` + "https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys"
};
class GoogleAuth {
checkIsGCE = undefined;
useJWTAccessWithScope;
defaultServicePath;
get isGCE() {
return this.checkIsGCE;
}
_findProjectIdPromise;
_cachedProjectId;
jsonContent = null;
apiKey;
cachedCredential = null;
#pendingAuthClient = null;
defaultScopes;
keyFilename;
scopes;
clientOptions = {};
constructor(opts = {}) {
this._cachedProjectId = opts.projectId || null;
this.cachedCredential = opts.authClient || null;
this.keyFilename = opts.keyFilename || opts.keyFile;
this.scopes = opts.scopes;
this.clientOptions = opts.clientOptions || {};
this.jsonContent = opts.credentials || null;
this.apiKey = opts.apiKey || this.clientOptions.apiKey || null;
if (this.apiKey && (this.jsonContent || this.clientOptions.credentials)) {
throw new RangeError(exports.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);
}
if (opts.universeDomain) {
this.clientOptions.universeDomain = opts.universeDomain;
}
}
setGapicJWTValues(client3) {
client3.defaultServicePath = this.defaultServicePath;
client3.useJWTAccessWithScope = this.useJWTAccessWithScope;
client3.defaultScopes = this.defaultScopes;
}
getProjectId(callback) {
if (callback) {
this.getProjectIdAsync().then((r2) => callback(null, r2), callback);
} else {
return this.getProjectIdAsync();
}
}
async getProjectIdOptional() {
try {
return await this.getProjectId();
} catch (e2) {
if (e2 instanceof Error && e2.message === exports.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND) {
return null;
} else {
throw e2;
}
}
}
async findAndCacheProjectId() {
let projectId = null;
projectId ||= await this.getProductionProjectId();
projectId ||= await this.getFileProjectId();
projectId ||= await this.getDefaultServiceProjectId();
projectId ||= await this.getGCEProjectId();
projectId ||= await this.getExternalAccountClientProjectId();
if (projectId) {
this._cachedProjectId = projectId;
return projectId;
} else {
throw new Error(exports.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND);
}
}
async getProjectIdAsync() {
if (this._cachedProjectId) {
return this._cachedProjectId;
}
if (!this._findProjectIdPromise) {
this._findProjectIdPromise = this.findAndCacheProjectId();
}
return this._findProjectIdPromise;
}
async getUniverseDomainFromMetadataServer() {
let universeDomain;
try {
universeDomain = await gcpMetadata.universe("universe-domain");
universeDomain ||= authclient_1.DEFAULT_UNIVERSE;
} catch (e2) {
if (e2 && e2?.response?.status === 404) {
universeDomain = authclient_1.DEFAULT_UNIVERSE;
} else {
throw e2;
}
}
return universeDomain;
}
async getUniverseDomain() {
let universeDomain = (0, util_1.originalOrCamelOptions)(this.clientOptions).get("universe_domain");
try {
universeDomain ??= (await this.getClient()).universeDomain;
} catch {
universeDomain ??= authclient_1.DEFAULT_UNIVERSE;
}
return universeDomain;
}
getAnyScopes() {
return this.scopes || this.defaultScopes;
}
getApplicationDefault(optionsOrCallback = {}, callback) {
let options;
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
} else {
options = optionsOrCallback;
}
if (callback) {
this.getApplicationDefaultAsync(options).then((r2) => callback(null, r2.credential, r2.projectId), callback);
} else {
return this.getApplicationDefaultAsync(options);
}
}
async getApplicationDefaultAsync(options = {}) {
if (this.cachedCredential) {
return await this.#prepareAndCacheClient(this.cachedCredential, null);
}
let credential;
credential = await this._tryGetApplicationCredentialsFromEnvironmentVariable(options);
if (credential) {
if (credential instanceof jwtclient_1.JWT) {
credential.scopes = this.scopes;
} else if (credential instanceof baseexternalclient_1.BaseExternalAccountClient) {
credential.scopes = this.getAnyScopes();
}
return await this.#prepareAndCacheClient(credential);
}
credential = await this._tryGetApplicationCredentialsFromWellKnownFile(options);
if (credential) {
if (credential instanceof jwtclient_1.JWT) {
credential.scopes = this.scopes;
} else if (credential instanceof baseexternalclient_1.BaseExternalAccountClient) {
credential.scopes = this.getAnyScopes();
}
return await this.#prepareAndCacheClient(credential);
}
if (await this._checkIsGCE()) {
options.scopes = this.getAnyScopes();
return await this.#prepareAndCacheClient(new computeclient_1.Compute(options));
}
throw new Error(exports.GoogleAuthExceptionMessages.NO_ADC_FOUND);
}
async#prepareAndCacheClient(credential, quotaProjectIdOverride = process.env["GOOGLE_CLOUD_QUOTA_PROJECT"] || null) {
const projectId = await this.getProjectIdOptional();
if (quotaProjectIdOverride) {
credential.quotaProjectId = quotaProjectIdOverride;
}
this.cachedCredential = credential;
return { credential, projectId };
}
async _checkIsGCE() {
if (this.checkIsGCE === undefined) {
this.checkIsGCE = gcpMetadata.getGCPResidency() || await gcpMetadata.isAvailable();
}
return this.checkIsGCE;
}
async _tryGetApplicationCredentialsFromEnvironmentVariable(options) {
const credentialsPath = process.env["GOOGLE_APPLICATION_CREDENTIALS"] || process.env["google_application_credentials"];
if (!credentialsPath || credentialsPath.length === 0) {
return null;
}
try {
return this._getApplicationCredentialsFromFilePath(credentialsPath, options);
} catch (e2) {
if (e2 instanceof Error) {
e2.message = `Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${e2.message}`;
}
throw e2;
}
}
async _tryGetApplicationCredentialsFromWellKnownFile(options) {
let location = null;
if (this._isWindows()) {
location = process.env["APPDATA"];
} else {
const home = process.env["HOME"];
if (home) {
location = path12.join(home, ".config");
}
}
if (location) {
location = path12.join(location, "gcloud", "application_default_credentials.json");
if (!fs8.existsSync(location)) {
location = null;
}
}
if (!location) {
return null;
}
const client3 = await this._getApplicationCredentialsFromFilePath(location, options);
return client3;
}
async _getApplicationCredentialsFromFilePath(filePath, options = {}) {
if (!filePath || filePath.length === 0) {
throw new Error("The file path is invalid.");
}
try {
filePath = fs8.realpathSync(filePath);
if (!fs8.lstatSync(filePath).isFile()) {
throw new Error;
}
} catch (err) {
if (err instanceof Error) {
err.message = `The file at ${filePath} does not exist, or it is not a file. ${err.message}`;
}
throw err;
}
const readStream2 = fs8.createReadStream(filePath);
return this.fromStream(readStream2, options);
}
fromImpersonatedJSON(json2) {
if (!json2) {
throw new Error("Must pass in a JSON object containing an impersonated refresh token");
}
if (json2.type !== impersonated_1.IMPERSONATED_ACCOUNT_TYPE) {
throw new Error(`The incoming JSON object does not have the "${impersonated_1.IMPERSONATED_ACCOUNT_TYPE}" type`);
}
if (!json2.source_credentials) {
throw new Error("The incoming JSON object does not contain a source_credentials field");
}
if (!json2.service_account_impersonation_url) {
throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");
}
const sourceClient = this.fromJSON(json2.source_credentials);
if (json2.service_account_impersonation_url?.length > 256) {
throw new RangeError(`Target principal is too long: ${json2.service_account_impersonation_url}`);
}
const targetPrincipal = /(?[^/]+):(generateAccessToken|generateIdToken)$/.exec(json2.service_account_impersonation_url)?.groups?.target;
if (!targetPrincipal) {
throw new RangeError(`Cannot extract target principal from ${json2.service_account_impersonation_url}`);
}
const targetScopes = (this.scopes || json2.scopes || this.defaultScopes) ?? [];
return new impersonated_1.Impersonated({
...json2,
sourceClient,
targetPrincipal,
targetScopes: Array.isArray(targetScopes) ? targetScopes : [targetScopes]
});
}
fromJSON(json2, options = {}) {
let client3;
const preferredUniverseDomain = (0, util_1.originalOrCamelOptions)(options).get("universe_domain");
if (json2.type === refreshclient_1.USER_REFRESH_ACCOUNT_TYPE) {
client3 = new refreshclient_1.UserRefreshClient(options);
client3.fromJSON(json2);
} else if (json2.type === impersonated_1.IMPERSONATED_ACCOUNT_TYPE) {
client3 = this.fromImpersonatedJSON(json2);
} else if (json2.type === baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
client3 = externalclient_1.ExternalAccountClient.fromJSON({
...json2,
...options
});
client3.scopes = this.getAnyScopes();
} else if (json2.type === externalAccountAuthorizedUserClient_1.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE) {
client3 = new externalAccountAuthorizedUserClient_1.ExternalAccountAuthorizedUserClient({
...json2,
...options
});
} else {
options.scopes = this.scopes;
client3 = new jwtclient_1.JWT(options);
this.setGapicJWTValues(client3);
client3.fromJSON(json2);
}
if (preferredUniverseDomain) {
client3.universeDomain = preferredUniverseDomain;
}
return client3;
}
_cacheClientFromJSON(json2, options) {
const client3 = this.fromJSON(json2, options);
this.jsonContent = json2;
this.cachedCredential = client3;
return client3;
}
fromStream(inputStream, optionsOrCallback = {}, callback) {
let options = {};
if (typeof optionsOrCallback === "function") {
callback = optionsOrCallback;
} else {
options = optionsOrCallback;
}
if (callback) {
this.fromStreamAsync(inputStream, options).then((r2) => callback(null, r2), callback);
} else {
return this.fromStreamAsync(inputStream, options);
}
}
fromStreamAsync(inputStream, options) {
return new Promise((resolve9, reject) => {
if (!inputStream) {
throw new Error("Must pass in a stream containing the Google auth settings.");
}
const chunks = [];
inputStream.setEncoding("utf8").on("error", reject).on("data", (chunk) => chunks.push(chunk)).on("end", () => {
try {
try {
const data = JSON.parse(chunks.join(""));
const r2 = this._cacheClientFromJSON(data, options);
return resolve9(r2);
} catch (err) {
if (!this.keyFilename)
throw err;
const client3 = new jwtclient_1.JWT({
...this.clientOptions,
keyFile: this.keyFilename
});
this.cachedCredential = client3;
this.setGapicJWTValues(client3);
return resolve9(client3);
}
} catch (err) {
return reject(err);
}
});
});
}
fromAPIKey(apiKey, options = {}) {
return new jwtclient_1.JWT({ ...options, apiKey });
}
_isWindows() {
const sys = os6.platform();
if (sys && sys.length >= 3) {
if (sys.substring(0, 3).toLowerCase() === "win") {
return true;
}
}
return false;
}
async getDefaultServiceProjectId() {
return new Promise((resolve9) => {
(0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout) => {
if (!err && stdout) {
try {
const projectId = JSON.parse(stdout).configuration.properties.core.project;
resolve9(projectId);
return;
} catch (e2) {}
}
resolve9(null);
});
});
}
getProductionProjectId() {
return process.env["GCLOUD_PROJECT"] || process.env["GOOGLE_CLOUD_PROJECT"] || process.env["gcloud_project"] || process.env["google_cloud_project"];
}
async getFileProjectId() {
if (this.cachedCredential) {
return this.cachedCredential.projectId;
}
if (this.keyFilename) {
const creds = await this.getClient();
if (creds && creds.projectId) {
return creds.projectId;
}
}
const r2 = await this._tryGetApplicationCredentialsFromEnvironmentVariable();
if (r2) {
return r2.projectId;
} else {
return null;
}
}
async getExternalAccountClientProjectId() {
if (!this.jsonContent || this.jsonContent.type !== baseexternalclient_1.EXTERNAL_ACCOUNT_TYPE) {
return null;
}
const creds = await this.getClient();
return await creds.getProjectId();
}
async getGCEProjectId() {
try {
const r2 = await gcpMetadata.project("project-id");
return r2;
} catch (e2) {
return null;
}
}
getCredentials(callback) {
if (callback) {
this.getCredentialsAsync().then((r2) => callback(null, r2), callback);
} else {
return this.getCredentialsAsync();
}
}
async getCredentialsAsync() {
const client3 = await this.getClient();
if (client3 instanceof impersonated_1.Impersonated) {
return { client_email: client3.getTargetPrincipal() };
}
if (client3 instanceof baseexternalclient_1.BaseExternalAccountClient) {
const serviceAccountEmail = client3.getServiceAccountEmail();
if (serviceAccountEmail) {
return {
client_email: serviceAccountEmail,
universe_domain: client3.universeDomain
};
}
}
if (this.jsonContent) {
return {
client_email: this.jsonContent.client_email,
private_key: this.jsonContent.private_key,
universe_domain: this.jsonContent.universe_domain
};
}
if (await this._checkIsGCE()) {
const [client_email, universe_domain] = await Promise.all([
gcpMetadata.instance("service-accounts/default/email"),
this.getUniverseDomain()
]);
return { client_email, universe_domain };
}
throw new Error(exports.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND);
}
async getClient() {
if (this.cachedCredential) {
return this.cachedCredential;
}
this.#pendingAuthClient = this.#pendingAuthClient || this.#determineClient();
try {
return await this.#pendingAuthClient;
} finally {
this.#pendingAuthClient = null;
}
}
async#determineClient() {
if (this.jsonContent) {
return this._cacheClientFromJSON(this.jsonContent, this.clientOptions);
} else if (this.keyFilename) {
const filePath = path12.resolve(this.keyFilename);
const stream4 = fs8.createReadStream(filePath);
return await this.fromStreamAsync(stream4, this.clientOptions);
} else if (this.apiKey) {
const client3 = await this.fromAPIKey(this.apiKey, this.clientOptions);
client3.scopes = this.scopes;
const { credential } = await this.#prepareAndCacheClient(client3);
return credential;
} else {
const { credential } = await this.getApplicationDefaultAsync(this.clientOptions);
return credential;
}
}
async getIdTokenClient(targetAudience) {
const client3 = await this.getClient();
if (!("fetchIdToken" in client3)) {
throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");
}
return new idtokenclient_1.IdTokenClient({ targetAudience, idTokenProvider: client3 });
}
async getAccessToken() {
const client3 = await this.getClient();
return (await client3.getAccessToken()).token;
}
async getRequestHeaders(url3) {
const client3 = await this.getClient();
return client3.getRequestHeaders(url3);
}
async authorizeRequest(opts = {}) {
const url3 = opts.url;
const client3 = await this.getClient();
const headers = await client3.getRequestHeaders(url3);
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers, headers);
return opts;
}
async fetch(...args) {
const client3 = await this.getClient();
return client3.fetch(...args);
}
async request(opts) {
const client3 = await this.getClient();
return client3.request(opts);
}
getEnv() {
return (0, envDetect_1.getEnv)();
}
async sign(data, endpoint) {
const client3 = await this.getClient();
const universe = await this.getUniverseDomain();
endpoint = endpoint || `https://iamcredentials.${universe}/v1/projects/-/serviceAccounts/`;
if (client3 instanceof impersonated_1.Impersonated) {
const signed = await client3.sign(data);
return signed.signedBlob;
}
const crypto5 = (0, crypto_1.createCrypto)();
if (client3 instanceof jwtclient_1.JWT && client3.key) {
const sign = await crypto5.sign(client3.key, data);
return sign;
}
const creds = await this.getCredentials();
if (!creds.client_email) {
throw new Error("Cannot sign data without `client_email`.");
}
return this.signBlob(crypto5, creds.client_email, data, endpoint);
}
async signBlob(crypto5, emailOrUniqueId, data, endpoint) {
const url3 = new URL(endpoint + `${emailOrUniqueId}:signBlob`);
const res = await this.request({
method: "POST",
url: url3.href,
data: {
payload: crypto5.encodeBase64StringUtf8(data)
},
retry: true,
retryConfig: {
httpMethodsToRetry: ["POST"]
}
});
return res.data.signedBlob;
}
}
exports.GoogleAuth = GoogleAuth;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/iam.js
var require_iam = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.IAMAuth = undefined;
class IAMAuth {
selector;
token;
constructor(selector, token) {
this.selector = selector;
this.token = token;
this.selector = selector;
this.token = token;
}
getRequestHeaders() {
return {
"x-goog-iam-authority-selector": this.selector,
"x-goog-iam-authorization-token": this.token
};
}
}
exports.IAMAuth = IAMAuth;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/downscopedclient.js
var require_downscopedclient = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DownscopedClient = exports.EXPIRATION_TIME_OFFSET = exports.MAX_ACCESS_BOUNDARY_RULES_COUNT = undefined;
var gaxios_1 = require_src2();
var stream4 = __require("stream");
var authclient_1 = require_authclient();
var sts = require_stscredentials();
var STS_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:token-exchange";
var STS_REQUEST_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
var STS_SUBJECT_TOKEN_TYPE = "urn:ietf:params:oauth:token-type:access_token";
exports.MAX_ACCESS_BOUNDARY_RULES_COUNT = 10;
exports.EXPIRATION_TIME_OFFSET = 5 * 60 * 1000;
class DownscopedClient extends authclient_1.AuthClient {
authClient;
credentialAccessBoundary;
cachedDownscopedAccessToken;
stsCredential;
constructor(options, credentialAccessBoundary = {
accessBoundary: {
accessBoundaryRules: []
}
}) {
super(options instanceof authclient_1.AuthClient ? {} : options);
if (options instanceof authclient_1.AuthClient) {
this.authClient = options;
this.credentialAccessBoundary = credentialAccessBoundary;
} else {
this.authClient = options.authClient;
this.credentialAccessBoundary = options.credentialAccessBoundary;
}
if (this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length === 0) {
throw new Error("At least one access boundary rule needs to be defined.");
} else if (this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length > exports.MAX_ACCESS_BOUNDARY_RULES_COUNT) {
throw new Error("The provided access boundary has more than " + `${exports.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);
}
for (const rule of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules) {
if (rule.availablePermissions.length === 0) {
throw new Error("At least one permission should be defined in access boundary rules.");
}
}
this.stsCredential = new sts.StsCredentials({
tokenExchangeEndpoint: `https://sts.${this.universeDomain}/v1/token`
});
this.cachedDownscopedAccessToken = null;
}
setCredentials(credentials) {
if (!credentials.expiry_date) {
throw new Error("The access token expiry_date field is missing in the provided " + "credentials.");
}
super.setCredentials(credentials);
this.cachedDownscopedAccessToken = credentials;
}
async getAccessToken() {
if (!this.cachedDownscopedAccessToken || this.isExpired(this.cachedDownscopedAccessToken)) {
await this.refreshAccessTokenAsync();
}
return {
token: this.cachedDownscopedAccessToken.access_token,
expirationTime: this.cachedDownscopedAccessToken.expiry_date,
res: this.cachedDownscopedAccessToken.res
};
}
async getRequestHeaders() {
const accessTokenResponse = await this.getAccessToken();
const headers = new Headers({
authorization: `Bearer ${accessTokenResponse.token}`
});
return this.addSharedMetadataHeaders(headers);
}
request(opts, callback) {
if (callback) {
this.requestAsync(opts).then((r2) => callback(null, r2), (e2) => {
return callback(e2, e2.response);
});
} else {
return this.requestAsync(opts);
}
}
async requestAsync(opts, reAuthRetried = false) {
let response;
try {
const requestHeaders = await this.getRequestHeaders();
opts.headers = gaxios_1.Gaxios.mergeHeaders(opts.headers);
this.addUserProjectAndAuthHeaders(opts.headers, requestHeaders);
response = await this.transporter.request(opts);
} catch (e2) {
const res = e2.response;
if (res) {
const statusCode = res.status;
const isReadableStream5 = res.config.data instanceof stream4.Readable;
const isAuthErr = statusCode === 401 || statusCode === 403;
if (!reAuthRetried && isAuthErr && !isReadableStream5 && this.forceRefreshOnFailure) {
await this.refreshAccessTokenAsync();
return await this.requestAsync(opts, true);
}
}
throw e2;
}
return response;
}
async refreshAccessTokenAsync() {
const subjectToken = (await this.authClient.getAccessToken()).token;
const stsCredentialsOptions = {
grantType: STS_GRANT_TYPE,
requestedTokenType: STS_REQUEST_TOKEN_TYPE,
subjectToken,
subjectTokenType: STS_SUBJECT_TOKEN_TYPE
};
const stsResponse = await this.stsCredential.exchangeToken(stsCredentialsOptions, undefined, this.credentialAccessBoundary);
const sourceCredExpireDate = this.authClient.credentials?.expiry_date || null;
const expiryDate = stsResponse.expires_in ? new Date().getTime() + stsResponse.expires_in * 1000 : sourceCredExpireDate;
this.cachedDownscopedAccessToken = {
access_token: stsResponse.access_token,
expiry_date: expiryDate,
res: stsResponse.res
};
this.credentials = {};
Object.assign(this.credentials, this.cachedDownscopedAccessToken);
delete this.credentials.res;
this.emit("tokens", {
refresh_token: null,
expiry_date: this.cachedDownscopedAccessToken.expiry_date,
access_token: this.cachedDownscopedAccessToken.access_token,
token_type: "Bearer",
id_token: null
});
return this.cachedDownscopedAccessToken;
}
isExpired(downscopedAccessToken) {
const now = new Date().getTime();
return downscopedAccessToken.expiry_date ? now >= downscopedAccessToken.expiry_date - this.eagerRefreshThresholdMillis : false;
}
}
exports.DownscopedClient = DownscopedClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/auth/passthrough.js
var require_passthrough = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.PassThroughClient = undefined;
var authclient_1 = require_authclient();
class PassThroughClient extends authclient_1.AuthClient {
async request(opts) {
return this.transporter.request(opts);
}
async getAccessToken() {
return {};
}
async getRequestHeaders() {
return new Headers;
}
}
exports.PassThroughClient = PassThroughClient;
});
// node_modules/.pnpm/google-auth-library@10.6.2/node_modules/google-auth-library/build/src/index.js
var require_src5 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GoogleAuth = exports.auth = exports.PassThroughClient = exports.ExternalAccountAuthorizedUserClient = exports.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE = exports.ExecutableError = exports.PluggableAuthClient = exports.DownscopedClient = exports.BaseExternalAccountClient = exports.ExternalAccountClient = exports.IdentityPoolClient = exports.AwsRequestSigner = exports.AwsClient = exports.UserRefreshClient = exports.LoginTicket = exports.ClientAuthentication = exports.OAuth2Client = exports.CodeChallengeMethod = exports.Impersonated = exports.JWT = exports.JWTAccess = exports.IdTokenClient = exports.IAMAuth = exports.GCPEnv = exports.Compute = exports.DEFAULT_UNIVERSE = exports.AuthClient = exports.gaxios = exports.gcpMetadata = undefined;
var googleauth_1 = require_googleauth();
Object.defineProperty(exports, "GoogleAuth", { enumerable: true, get: function() {
return googleauth_1.GoogleAuth;
} });
exports.gcpMetadata = require_src4();
exports.gaxios = require_src2();
var authclient_1 = require_authclient();
Object.defineProperty(exports, "AuthClient", { enumerable: true, get: function() {
return authclient_1.AuthClient;
} });
Object.defineProperty(exports, "DEFAULT_UNIVERSE", { enumerable: true, get: function() {
return authclient_1.DEFAULT_UNIVERSE;
} });
var computeclient_1 = require_computeclient();
Object.defineProperty(exports, "Compute", { enumerable: true, get: function() {
return computeclient_1.Compute;
} });
var envDetect_1 = require_envDetect();
Object.defineProperty(exports, "GCPEnv", { enumerable: true, get: function() {
return envDetect_1.GCPEnv;
} });
var iam_1 = require_iam();
Object.defineProperty(exports, "IAMAuth", { enumerable: true, get: function() {
return iam_1.IAMAuth;
} });
var idtokenclient_1 = require_idtokenclient();
Object.defineProperty(exports, "IdTokenClient", { enumerable: true, get: function() {
return idtokenclient_1.IdTokenClient;
} });
var jwtaccess_1 = require_jwtaccess();
Object.defineProperty(exports, "JWTAccess", { enumerable: true, get: function() {
return jwtaccess_1.JWTAccess;
} });
var jwtclient_1 = require_jwtclient();
Object.defineProperty(exports, "JWT", { enumerable: true, get: function() {
return jwtclient_1.JWT;
} });
var impersonated_1 = require_impersonated();
Object.defineProperty(exports, "Impersonated", { enumerable: true, get: function() {
return impersonated_1.Impersonated;
} });
var oauth2client_1 = require_oauth2client();
Object.defineProperty(exports, "CodeChallengeMethod", { enumerable: true, get: function() {
return oauth2client_1.CodeChallengeMethod;
} });
Object.defineProperty(exports, "OAuth2Client", { enumerable: true, get: function() {
return oauth2client_1.OAuth2Client;
} });
Object.defineProperty(exports, "ClientAuthentication", { enumerable: true, get: function() {
return oauth2client_1.ClientAuthentication;
} });
var loginticket_1 = require_loginticket();
Object.defineProperty(exports, "LoginTicket", { enumerable: true, get: function() {
return loginticket_1.LoginTicket;
} });
var refreshclient_1 = require_refreshclient();
Object.defineProperty(exports, "UserRefreshClient", { enumerable: true, get: function() {
return refreshclient_1.UserRefreshClient;
} });
var awsclient_1 = require_awsclient();
Object.defineProperty(exports, "AwsClient", { enumerable: true, get: function() {
return awsclient_1.AwsClient;
} });
var awsrequestsigner_1 = require_awsrequestsigner();
Object.defineProperty(exports, "AwsRequestSigner", { enumerable: true, get: function() {
return awsrequestsigner_1.AwsRequestSigner;
} });
var identitypoolclient_1 = require_identitypoolclient();
Object.defineProperty(exports, "IdentityPoolClient", { enumerable: true, get: function() {
return identitypoolclient_1.IdentityPoolClient;
} });
var externalclient_1 = require_externalclient();
Object.defineProperty(exports, "ExternalAccountClient", { enumerable: true, get: function() {
return externalclient_1.ExternalAccountClient;
} });
var baseexternalclient_1 = require_baseexternalclient();
Object.defineProperty(exports, "BaseExternalAccountClient", { enumerable: true, get: function() {
return baseexternalclient_1.BaseExternalAccountClient;
} });
var downscopedclient_1 = require_downscopedclient();
Object.defineProperty(exports, "DownscopedClient", { enumerable: true, get: function() {
return downscopedclient_1.DownscopedClient;
} });
var pluggable_auth_client_1 = require_pluggable_auth_client();
Object.defineProperty(exports, "PluggableAuthClient", { enumerable: true, get: function() {
return pluggable_auth_client_1.PluggableAuthClient;
} });
Object.defineProperty(exports, "ExecutableError", { enumerable: true, get: function() {
return pluggable_auth_client_1.ExecutableError;
} });
var externalAccountAuthorizedUserClient_1 = require_externalAccountAuthorizedUserClient();
Object.defineProperty(exports, "EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE", { enumerable: true, get: function() {
return externalAccountAuthorizedUserClient_1.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE;
} });
Object.defineProperty(exports, "ExternalAccountAuthorizedUserClient", { enumerable: true, get: function() {
return externalAccountAuthorizedUserClient_1.ExternalAccountAuthorizedUserClient;
} });
var passthrough_1 = require_passthrough();
Object.defineProperty(exports, "PassThroughClient", { enumerable: true, get: function() {
return passthrough_1.PassThroughClient;
} });
__exportStar(require_googleToken(), exports);
var auth = new googleauth_1.GoogleAuth;
exports.auth = auth;
});
// node_modules/@anthropic-ai/vertex-sdk/internal/utils/env.mjs
var readEnv4 = (env6) => {
if (typeof globalThis.process !== "undefined") {
return globalThis.process.env?.[env6]?.trim() ?? undefined;
}
if (typeof globalThis.Deno !== "undefined") {
return globalThis.Deno.env?.get?.(env6)?.trim();
}
return;
};
// node_modules/@anthropic-ai/vertex-sdk/core/error.mjs
var init_error8 = __esm(() => {
init_error();
});
// node_modules/@anthropic-ai/vertex-sdk/internal/utils/values.mjs
function isObj3(obj) {
return obj != null && typeof obj === "object" && !Array.isArray(obj);
}
var isArray6 = (val) => (isArray6 = Array.isArray, isArray6(val)), isReadonlyArray4;
var init_values5 = __esm(() => {
init_error8();
isReadonlyArray4 = isArray6;
});
// node_modules/@anthropic-ai/vertex-sdk/internal/headers.mjs
function* iterateHeaders4(headers) {
if (!headers)
return;
if (brand_privateNullableHeaders4 in headers) {
const { values: values2, nulls } = headers;
yield* values2.entries();
for (const name3 of nulls) {
yield [name3, null];
}
return;
}
let shouldClear = false;
let iter;
if (headers instanceof Headers) {
iter = headers.entries();
} else if (isReadonlyArray4(headers)) {
iter = headers;
} else {
shouldClear = true;
iter = Object.entries(headers ?? {});
}
for (let row of iter) {
const name3 = row[0];
if (typeof name3 !== "string")
throw new TypeError("expected header name to be a string");
const values2 = isReadonlyArray4(row[1]) ? row[1] : [row[1]];
let didClear = false;
for (const value of values2) {
if (value === undefined)
continue;
if (shouldClear && !didClear) {
didClear = true;
yield [name3, null];
}
yield [name3, value];
}
}
}
var brand_privateNullableHeaders4, buildHeaders4 = (newHeaders) => {
const targetHeaders = new Headers;
const nullHeaders = new Set;
for (const headers of newHeaders) {
const seenHeaders = new Set;
for (const [name3, value] of iterateHeaders4(headers)) {
const lowerName = name3.toLowerCase();
if (!seenHeaders.has(lowerName)) {
targetHeaders.delete(name3);
seenHeaders.add(lowerName);
}
if (value === null) {
targetHeaders.delete(name3);
nullHeaders.add(lowerName);
} else {
targetHeaders.append(name3, value);
nullHeaders.delete(lowerName);
}
}
}
return { [brand_privateNullableHeaders4]: true, values: targetHeaders, nulls: nullHeaders };
};
var init_headers5 = __esm(() => {
init_values5();
brand_privateNullableHeaders4 = Symbol.for("brand.privateNullableHeaders");
});
// node_modules/@anthropic-ai/vertex-sdk/client.mjs
function makeMessagesResource3(client3) {
const resource = new Messages2(client3);
delete resource.batches;
return resource;
}
function makeBetaResource3(client3) {
const resource = new Beta(client3);
delete resource.messages.batches;
return resource;
}
var import_google_auth_library, DEFAULT_VERSION2 = "vertex-2023-10-16", MODEL_ENDPOINTS2, AnthropicVertex;
var init_client5 = __esm(() => {
init_client();
init_resources();
init_values5();
init_headers5();
init_client();
import_google_auth_library = __toESM(require_src5(), 1);
MODEL_ENDPOINTS2 = new Set(["/v1/messages", "/v1/messages?beta=true"]);
AnthropicVertex = class AnthropicVertex extends BaseAnthropic {
constructor({ baseURL = readEnv4("ANTHROPIC_VERTEX_BASE_URL"), region = readEnv4("CLOUD_ML_REGION") ?? null, projectId = readEnv4("ANTHROPIC_VERTEX_PROJECT_ID") ?? null, ...opts } = {}) {
if (!region) {
throw new Error("No region was given. The client should be instantiated with the `region` option or the `CLOUD_ML_REGION` environment variable should be set.");
}
super({
baseURL: baseURL || (region === "global" ? "https://aiplatform.googleapis.com/v1" : `https://${region}-aiplatform.googleapis.com/v1`),
...opts
});
this.messages = makeMessagesResource3(this);
this.beta = makeBetaResource3(this);
this.region = region;
this.projectId = projectId;
this.accessToken = opts.accessToken ?? null;
if (opts.authClient && opts.googleAuth) {
throw new Error("You cannot provide both `authClient` and `googleAuth`. Please provide only one of them.");
} else if (opts.authClient) {
this._authClientPromise = Promise.resolve(opts.authClient);
} else {
this._auth = opts.googleAuth ?? new import_google_auth_library.GoogleAuth({ scopes: "https://www.googleapis.com/auth/cloud-platform" });
this._authClientPromise = this._auth.getClient();
}
}
validateHeaders() {}
async prepareOptions(options) {
const authClient = await this._authClientPromise;
const authHeaders = await authClient.getRequestHeaders();
const projectId = authClient.projectId ?? authHeaders["x-goog-user-project"];
if (!this.projectId && projectId) {
this.projectId = projectId;
}
options.headers = buildHeaders4([authHeaders, options.headers]);
}
async buildRequest(options) {
if (isObj3(options.body)) {
options.body = { ...options.body };
}
if (isObj3(options.body)) {
if (!options.body["anthropic_version"]) {
options.body["anthropic_version"] = DEFAULT_VERSION2;
}
}
if (MODEL_ENDPOINTS2.has(options.path) && options.method === "post") {
if (!this.projectId) {
throw new Error("No projectId was given and it could not be resolved from credentials. The client should be instantiated with the `projectId` option or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.");
}
if (!isObj3(options.body)) {
throw new Error("Expected request body to be an object for post /v1/messages");
}
const model = options.body["model"];
options.body["model"] = undefined;
const stream4 = options.body["stream"] ?? false;
const specifier = stream4 ? "streamRawPredict" : "rawPredict";
options.path = `/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/${model}:${specifier}`;
}
if (options.path === "/v1/messages/count_tokens" || options.path == "/v1/messages/count_tokens?beta=true" && options.method === "post") {
if (!this.projectId) {
throw new Error("No projectId was given and it could not be resolved from credentials. The client should be instantiated with the `projectId` option or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.");
}
options.path = `/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/count-tokens:rawPredict`;
}
return super.buildRequest(options);
}
};
});
// node_modules/@anthropic-ai/vertex-sdk/index.mjs
var exports_vertex_sdk = {};
__export(exports_vertex_sdk, {
default: () => AnthropicVertex,
BaseAnthropic: () => BaseAnthropic,
AnthropicVertex: () => AnthropicVertex
});
var init_vertex_sdk = __esm(() => {
init_client5();
init_client5();
});
// src/services/api/client.ts
import { randomUUID as randomUUID4 } from "crypto";
function createStderrLogger() {
return {
error: (msg, ...args) => console.error("[Anthropic SDK ERROR]", msg, ...args),
warn: (msg, ...args) => console.error("[Anthropic SDK WARN]", msg, ...args),
info: (msg, ...args) => console.error("[Anthropic SDK INFO]", msg, ...args),
debug: (msg, ...args) => console.error("[Anthropic SDK DEBUG]", msg, ...args)
};
}
async function getAnthropicClient({
apiKey,
maxRetries,
model,
fetchOverride,
source
}) {
const containerId = process.env.CLAUDE_CODE_CONTAINER_ID;
const remoteSessionId = process.env.CLAUDE_CODE_REMOTE_SESSION_ID;
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP;
const customHeaders = getCustomHeaders();
const defaultHeaders = {
"x-app": "cli",
"User-Agent": getUserAgent(),
"X-Claude-Code-Session-Id": getSessionId(),
...customHeaders,
...containerId ? { "x-claude-remote-container-id": containerId } : {},
...remoteSessionId ? { "x-claude-remote-session-id": remoteSessionId } : {},
...clientApp ? { "x-client-app": clientApp } : {}
};
logForDebugging(`[API:request] Creating client, ANTHROPIC_CUSTOM_HEADERS present: ${!!process.env.ANTHROPIC_CUSTOM_HEADERS}, has Authorization header: ${!!customHeaders["Authorization"]}`);
const additionalProtectionEnabled = isEnvTruthy(process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION);
if (additionalProtectionEnabled) {
defaultHeaders["x-anthropic-additional-protection"] = "true";
}
logForDebugging("[API:auth] OAuth token check starting");
await checkAndRefreshOAuthTokenIfNeeded();
logForDebugging("[API:auth] OAuth token check complete");
if (!isClaudeAISubscriber()) {
await configureApiKeyHeaders(defaultHeaders, getIsNonInteractiveSession());
}
const resolvedFetch = buildFetch(fetchOverride, source);
const ARGS = {
defaultHeaders,
maxRetries,
timeout: parseInt(process.env.API_TIMEOUT_MS || String(600 * 1000), 10),
dangerouslyAllowBrowser: true,
fetchOptions: getProxyFetchOptions({
forAnthropicAPI: true
}),
...resolvedFetch && {
fetch: resolvedFetch
}
};
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK)) {
const { AnthropicBedrock: AnthropicBedrock2 } = await Promise.resolve().then(() => (init_bedrock_sdk(), exports_bedrock_sdk));
const awsRegion = model === getSmallFastModel() && process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION ? process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION : getAWSRegion();
const bedrockArgs = {
...ARGS,
awsRegion,
...isEnvTruthy(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH) && {
skipAuth: true
},
...isDebugToStdErr() && { logger: createStderrLogger() }
};
if (process.env.AWS_BEARER_TOKEN_BEDROCK) {
bedrockArgs.skipAuth = true;
bedrockArgs.defaultHeaders = {
...bedrockArgs.defaultHeaders,
Authorization: `Bearer ${process.env.AWS_BEARER_TOKEN_BEDROCK}`
};
} else if (!isEnvTruthy(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH)) {
const cachedCredentials = await refreshAndGetAwsCredentials();
if (cachedCredentials) {
bedrockArgs.awsAccessKey = cachedCredentials.accessKeyId;
bedrockArgs.awsSecretKey = cachedCredentials.secretAccessKey;
bedrockArgs.awsSessionToken = cachedCredentials.sessionToken;
}
}
return new AnthropicBedrock2(bedrockArgs);
}
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY)) {
const { AnthropicFoundry: AnthropicFoundry2 } = await Promise.resolve().then(() => (init_foundry_sdk(), exports_foundry_sdk));
let azureADTokenProvider;
if (!process.env.ANTHROPIC_FOUNDRY_API_KEY) {
if (isEnvTruthy(process.env.CLAUDE_CODE_SKIP_FOUNDRY_AUTH)) {
azureADTokenProvider = () => Promise.resolve("");
} else {
const {
DefaultAzureCredential: AzureCredential,
getBearerTokenProvider: getBearerTokenProvider2
} = await Promise.resolve().then(() => (init_esm9(), exports_esm));
azureADTokenProvider = getBearerTokenProvider2(new AzureCredential, "https://cognitiveservices.azure.com/.default");
}
}
const foundryArgs = {
...ARGS,
...azureADTokenProvider && { azureADTokenProvider },
...isDebugToStdErr() && { logger: createStderrLogger() }
};
return new AnthropicFoundry2(foundryArgs);
}
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX)) {
if (!isEnvTruthy(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)) {
await refreshGcpCredentialsIfNeeded();
}
const [{ AnthropicVertex: AnthropicVertex2 }, { GoogleAuth: GoogleAuth2 }] = await Promise.all([
Promise.resolve().then(() => (init_vertex_sdk(), exports_vertex_sdk)),
Promise.resolve().then(() => __toESM(require_src5(), 1))
]);
const hasProjectEnvVar = process.env["GCLOUD_PROJECT"] || process.env["GOOGLE_CLOUD_PROJECT"] || process.env["gcloud_project"] || process.env["google_cloud_project"];
const hasKeyFile = process.env["GOOGLE_APPLICATION_CREDENTIALS"] || process.env["google_application_credentials"];
const googleAuth = isEnvTruthy(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH) ? {
getClient: () => ({
getRequestHeaders: () => ({})
})
} : new GoogleAuth2({
scopes: ["https://www.googleapis.com/auth/cloud-platform"],
...hasProjectEnvVar || hasKeyFile ? {} : {
projectId: process.env.ANTHROPIC_VERTEX_PROJECT_ID
}
});
const vertexArgs = {
...ARGS,
region: getVertexRegionForModel(model),
googleAuth,
...isDebugToStdErr() && { logger: createStderrLogger() }
};
return new AnthropicVertex2(vertexArgs);
}
const clientConfig = {
apiKey: isClaudeAISubscriber() ? null : apiKey || getAnthropicApiKey(),
authToken: isClaudeAISubscriber() ? getClaudeAIOAuthTokens()?.accessToken : undefined,
...process.env.USER_TYPE === "ant" && isEnvTruthy(process.env.USE_STAGING_OAUTH) ? { baseURL: getOauthConfig().BASE_API_URL } : {},
...ARGS,
...isDebugToStdErr() && { logger: createStderrLogger() }
};
return new Anthropic(clientConfig);
}
async function configureApiKeyHeaders(headers, isNonInteractiveSession) {
const token = process.env.ANTHROPIC_AUTH_TOKEN || await getApiKeyFromApiKeyHelper(isNonInteractiveSession);
if (token) {
headers["Authorization"] = `Bearer ${token}`;
}
}
function getCustomHeaders() {
const customHeaders = {};
const customHeadersEnv = process.env.ANTHROPIC_CUSTOM_HEADERS;
if (!customHeadersEnv)
return customHeaders;
const headerStrings = customHeadersEnv.split(/\n|\r\n/);
for (const headerString of headerStrings) {
if (!headerString.trim())
continue;
const colonIdx = headerString.indexOf(":");
if (colonIdx === -1)
continue;
const name3 = headerString.slice(0, colonIdx).trim();
const value = headerString.slice(colonIdx + 1).trim();
if (name3) {
customHeaders[name3] = value;
}
}
return customHeaders;
}
function buildFetch(fetchOverride, source) {
const inner = fetchOverride ?? globalThis.fetch;
const injectClientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl();
return (input, init) => {
const headers = new Headers(init?.headers);
if (injectClientRequestId && !headers.has(CLIENT_REQUEST_ID_HEADER)) {
headers.set(CLIENT_REQUEST_ID_HEADER, randomUUID4());
}
try {
const url3 = input instanceof Request ? input.url : String(input);
const id = headers.get(CLIENT_REQUEST_ID_HEADER);
logForDebugging(`[API REQUEST] ${new URL(url3).pathname}${id ? ` ${CLIENT_REQUEST_ID_HEADER}=${id}` : ""} source=${source ?? "unknown"}`);
} catch {}
return inner(input, { ...init, headers });
};
}
var CLIENT_REQUEST_ID_HEADER = "x-client-request-id";
var init_client6 = __esm(() => {
init_sdk();
init_auth2();
init_http2();
init_model();
init_providers();
init_proxy();
init_state();
init_oauth();
init_debug();
init_envUtils();
});
// src/utils/model/modelCapabilities.ts
import { readFileSync as readFileSync7 } from "fs";
import { mkdir as mkdir3, writeFile as writeFile2 } from "fs/promises";
import { join as join21 } from "path";
function getCacheDir() {
return join21(getClaudeConfigHomeDir(), "cache");
}
function getCachePath() {
return join21(getCacheDir(), "model-capabilities.json");
}
function isModelCapabilitiesEligible() {
if (process.env.USER_TYPE !== "ant")
return false;
if (getAPIProvider() !== "firstParty")
return false;
if (!isFirstPartyAnthropicBaseUrl())
return false;
return true;
}
function sortForMatching(models) {
return [...models].sort((a2, b2) => b2.id.length - a2.id.length || a2.id.localeCompare(b2.id));
}
function getModelCapability(model) {
if (!isModelCapabilitiesEligible())
return;
const cached2 = loadCache(getCachePath());
if (!cached2 || cached2.length === 0)
return;
const m3 = model.toLowerCase();
const exact = cached2.find((c5) => c5.id.toLowerCase() === m3);
if (exact)
return exact;
return cached2.find((c5) => m3.includes(c5.id.toLowerCase()));
}
async function refreshModelCapabilities() {
if (!isModelCapabilitiesEligible())
return;
if (isEssentialTrafficOnly())
return;
try {
const anthropic = await getAnthropicClient({ maxRetries: 1 });
const betas = isClaudeAISubscriber() ? [OAUTH_BETA_HEADER] : undefined;
const parsed = [];
for await (const entry of anthropic.models.list({ betas })) {
const result = ModelCapabilitySchema().safeParse(entry);
if (result.success)
parsed.push(result.data);
}
if (parsed.length === 0)
return;
const path12 = getCachePath();
const models = sortForMatching(parsed);
if (isEqual_default(loadCache(path12), models)) {
logForDebugging("[modelCapabilities] cache unchanged, skipping write");
return;
}
await mkdir3(getCacheDir(), { recursive: true });
await writeFile2(path12, jsonStringify({ models, timestamp: Date.now() }), {
encoding: "utf-8",
mode: 384
});
loadCache.cache.delete(path12);
logForDebugging(`[modelCapabilities] cached ${models.length} models`);
} catch (error52) {
logForDebugging(`[modelCapabilities] fetch failed: ${error52 instanceof Error ? error52.message : "unknown"}`);
}
}
var ModelCapabilitySchema, CacheFileSchema, loadCache;
var init_modelCapabilities = __esm(() => {
init_isEqual();
init_memoize();
init_v4();
init_oauth();
init_client6();
init_auth2();
init_debug();
init_envUtils();
init_json();
init_slowOperations();
init_providers();
ModelCapabilitySchema = lazySchema(() => exports_external.object({
id: exports_external.string(),
max_input_tokens: exports_external.number().optional(),
max_tokens: exports_external.number().optional()
}).strip());
CacheFileSchema = lazySchema(() => exports_external.object({
models: exports_external.array(ModelCapabilitySchema()),
timestamp: exports_external.number()
}));
loadCache = memoize_default((path12) => {
try {
const raw = readFileSync7(path12, "utf-8");
const parsed = CacheFileSchema().safeParse(safeParseJSON(raw, false));
return parsed.success ? parsed.data.models : null;
} catch {
return null;
}
}, (path12) => path12);
});
// src/utils/context.ts
function is1mContextDisabled() {
return isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_1M_CONTEXT);
}
function has1mContext(model) {
if (is1mContextDisabled()) {
return false;
}
return /\[1m\]/i.test(model);
}
function modelSupports1M(model) {
if (is1mContextDisabled()) {
return false;
}
const canonical = getCanonicalName(model);
return canonical.includes("claude-sonnet-4") || canonical.includes("opus-4-6");
}
function getContextWindowForModel(model, betas) {
if (process.env.USER_TYPE === "ant" && process.env.CLAUDE_CODE_MAX_CONTEXT_TOKENS) {
const override = parseInt(process.env.CLAUDE_CODE_MAX_CONTEXT_TOKENS, 10);
if (!isNaN(override) && override > 0) {
return override;
}
}
if (has1mContext(model)) {
return 1e6;
}
const cap = getModelCapability(model);
if (cap?.max_input_tokens && cap.max_input_tokens >= 1e5) {
if (cap.max_input_tokens > MODEL_CONTEXT_WINDOW_DEFAULT && is1mContextDisabled()) {
return MODEL_CONTEXT_WINDOW_DEFAULT;
}
return cap.max_input_tokens;
}
if (betas?.includes(CONTEXT_1M_BETA_HEADER) && modelSupports1M(model)) {
return 1e6;
}
if (getSonnet1mExpTreatmentEnabled(model)) {
return 1e6;
}
if (process.env.USER_TYPE === "ant") {
const antModel = resolveAntModel(model);
if (antModel?.contextWindow) {
return antModel.contextWindow;
}
}
return MODEL_CONTEXT_WINDOW_DEFAULT;
}
function getSonnet1mExpTreatmentEnabled(model) {
if (is1mContextDisabled()) {
return false;
}
if (has1mContext(model)) {
return false;
}
if (!getCanonicalName(model).includes("sonnet-4-6")) {
return false;
}
return getGlobalConfig().clientDataCache?.["coral_reef_sonnet"] === "true";
}
function calculateContextPercentages(currentUsage, contextWindowSize) {
if (!currentUsage) {
return { used: null, remaining: null };
}
const totalInputTokens = currentUsage.input_tokens + currentUsage.cache_creation_input_tokens + currentUsage.cache_read_input_tokens;
const usedPercentage = Math.round(totalInputTokens / contextWindowSize * 100);
const clampedUsed = Math.min(100, Math.max(0, usedPercentage));
return {
used: clampedUsed,
remaining: 100 - clampedUsed
};
}
function getModelMaxOutputTokens(model) {
let defaultTokens;
let upperLimit;
if (process.env.USER_TYPE === "ant") {
const antModel = resolveAntModel(model.toLowerCase());
if (antModel) {
defaultTokens = antModel.defaultMaxTokens ?? MAX_OUTPUT_TOKENS_DEFAULT;
upperLimit = antModel.upperMaxTokensLimit ?? MAX_OUTPUT_TOKENS_UPPER_LIMIT;
return { default: defaultTokens, upperLimit };
}
}
const m3 = getCanonicalName(model);
if (m3.includes("opus-4-6")) {
defaultTokens = 64000;
upperLimit = 128000;
} else if (m3.includes("sonnet-4-6")) {
defaultTokens = 32000;
upperLimit = 128000;
} else if (m3.includes("opus-4-5") || m3.includes("sonnet-4") || m3.includes("haiku-4")) {
defaultTokens = 32000;
upperLimit = 64000;
} else if (m3.includes("opus-4-1") || m3.includes("opus-4")) {
defaultTokens = 32000;
upperLimit = 32000;
} else if (m3.includes("claude-3-opus")) {
defaultTokens = 4096;
upperLimit = 4096;
} else if (m3.includes("claude-3-sonnet")) {
defaultTokens = 8192;
upperLimit = 8192;
} else if (m3.includes("claude-3-haiku")) {
defaultTokens = 4096;
upperLimit = 4096;
} else if (m3.includes("3-5-sonnet") || m3.includes("3-5-haiku")) {
defaultTokens = 8192;
upperLimit = 8192;
} else if (m3.includes("3-7-sonnet")) {
defaultTokens = 32000;
upperLimit = 64000;
} else {
defaultTokens = MAX_OUTPUT_TOKENS_DEFAULT;
upperLimit = MAX_OUTPUT_TOKENS_UPPER_LIMIT;
}
const cap = getModelCapability(model);
if (cap?.max_tokens && cap.max_tokens >= 4096) {
upperLimit = cap.max_tokens;
defaultTokens = Math.min(defaultTokens, upperLimit);
}
return { default: defaultTokens, upperLimit };
}
function getMaxThinkingTokensForModel(model) {
return getModelMaxOutputTokens(model).upperLimit - 1;
}
var MODEL_CONTEXT_WINDOW_DEFAULT = 200000, COMPACT_MAX_OUTPUT_TOKENS = 20000, MAX_OUTPUT_TOKENS_DEFAULT = 32000, MAX_OUTPUT_TOKENS_UPPER_LIMIT = 64000, CAPPED_DEFAULT_MAX_TOKENS = 8000, ESCALATED_MAX_TOKENS = 64000;
var init_context = __esm(() => {
init_betas();
init_config();
init_envUtils();
init_model();
init_modelCapabilities();
});
// src/utils/model/modelSupportOverrides.ts
var TIERS, get3PModelCapabilityOverride;
var init_modelSupportOverrides = __esm(() => {
init_memoize();
init_providers();
TIERS = [
{
modelEnvVar: "ANTHROPIC_DEFAULT_OPUS_MODEL",
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES"
},
{
modelEnvVar: "ANTHROPIC_DEFAULT_SONNET_MODEL",
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES"
},
{
modelEnvVar: "ANTHROPIC_DEFAULT_HAIKU_MODEL",
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES"
}
];
get3PModelCapabilityOverride = memoize_default((model, capability) => {
if (getAPIProvider() === "firstParty") {
return;
}
const m3 = model.toLowerCase();
for (const tier of TIERS) {
const pinned = process.env[tier.modelEnvVar];
const capabilities = process.env[tier.capabilitiesEnvVar];
if (!pinned || capabilities === undefined)
continue;
if (m3 !== pinned.toLowerCase())
continue;
return capabilities.toLowerCase().split(",").map((s2) => s2.trim()).includes(capability);
}
return;
}, (model, capability) => `${model.toLowerCase()}:${capability}`);
});
// src/utils/betas.ts
function partitionBetasByAllowlist(betas) {
const allowed = [];
const disallowed = [];
for (const beta of betas) {
if (ALLOWED_SDK_BETAS.includes(beta)) {
allowed.push(beta);
} else {
disallowed.push(beta);
}
}
return { allowed, disallowed };
}
function filterAllowedSdkBetas(sdkBetas) {
if (!sdkBetas || sdkBetas.length === 0) {
return;
}
if (isClaudeAISubscriber()) {
console.warn("Warning: Custom betas are only available for API key users. Ignoring provided betas.");
return;
}
const { allowed, disallowed } = partitionBetasByAllowlist(sdkBetas);
for (const beta of disallowed) {
console.warn(`Warning: Beta header '${beta}' is not allowed. Only the following betas are supported: ${ALLOWED_SDK_BETAS.join(", ")}`);
}
return allowed.length > 0 ? allowed : undefined;
}
function modelSupportsISP(model) {
const supported3P = get3PModelCapabilityOverride(model, "interleaved_thinking");
if (supported3P !== undefined) {
return supported3P;
}
const canonical = getCanonicalName(model);
const provider = getAPIProvider();
if (provider === "foundry") {
return true;
}
if (provider === "firstParty") {
return !canonical.includes("claude-3-");
}
return canonical.includes("claude-opus-4") || canonical.includes("claude-sonnet-4");
}
function vertexModelSupportsWebSearch(model) {
const canonical = getCanonicalName(model);
return canonical.includes("claude-opus-4") || canonical.includes("claude-sonnet-4") || canonical.includes("claude-haiku-4");
}
function modelSupportsContextManagement(model) {
const canonical = getCanonicalName(model);
const provider = getAPIProvider();
if (provider === "foundry") {
return true;
}
if (provider === "firstParty") {
return !canonical.includes("claude-3-");
}
return canonical.includes("claude-opus-4") || canonical.includes("claude-sonnet-4") || canonical.includes("claude-haiku-4");
}
function modelSupportsStructuredOutputs(model) {
const canonical = getCanonicalName(model);
const provider = getAPIProvider();
if (provider !== "firstParty" && provider !== "foundry") {
return false;
}
return canonical.includes("claude-sonnet-4-6") || canonical.includes("claude-sonnet-4-5") || canonical.includes("claude-opus-4-1") || canonical.includes("claude-opus-4-5") || canonical.includes("claude-opus-4-6") || canonical.includes("claude-haiku-4-5");
}
function modelSupportsAutoMode(model) {
if (false) {}
return false;
}
function getToolSearchBetaHeader() {
const provider = getAPIProvider();
if (provider === "vertex" || provider === "bedrock") {
return TOOL_SEARCH_BETA_HEADER_3P;
}
return TOOL_SEARCH_BETA_HEADER_1P;
}
function shouldIncludeFirstPartyOnlyBetas() {
return (getAPIProvider() === "firstParty" || getAPIProvider() === "foundry") && !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS);
}
function shouldUseGlobalCacheScope() {
return getAPIProvider() === "firstParty" && !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS);
}
function getMergedBetas(model, options) {
const baseBetas = [...getModelBetas(model)];
if (options?.isAgenticQuery) {
if (!baseBetas.includes(CLAUDE_CODE_20250219_BETA_HEADER)) {
baseBetas.push(CLAUDE_CODE_20250219_BETA_HEADER);
}
if (process.env.USER_TYPE === "ant" && process.env.CLAUDE_CODE_ENTRYPOINT === "cli" && CLI_INTERNAL_BETA_HEADER && !baseBetas.includes(CLI_INTERNAL_BETA_HEADER)) {
baseBetas.push(CLI_INTERNAL_BETA_HEADER);
}
}
const sdkBetas = getSdkBetas();
if (!sdkBetas || sdkBetas.length === 0) {
return baseBetas;
}
return [...baseBetas, ...sdkBetas.filter((b2) => !baseBetas.includes(b2))];
}
function clearBetasCaches() {
getAllModelBetas.cache?.clear?.();
getModelBetas.cache?.clear?.();
getBedrockExtraBodyParamsBetas.cache?.clear?.();
}
var ALLOWED_SDK_BETAS, getAllModelBetas, getModelBetas, getBedrockExtraBodyParamsBetas;
var init_betas2 = __esm(() => {
init_memoize();
init_growthbook();
init_state();
init_betas();
init_oauth();
init_auth2();
init_context();
init_envUtils();
init_model();
init_modelSupportOverrides();
init_providers();
init_settings2();
ALLOWED_SDK_BETAS = [CONTEXT_1M_BETA_HEADER];
getAllModelBetas = memoize_default((model) => {
const betaHeaders = [];
const isHaiku = getCanonicalName(model).includes("haiku");
const provider = getAPIProvider();
const includeFirstPartyOnlyBetas = shouldIncludeFirstPartyOnlyBetas();
if (!isHaiku) {
betaHeaders.push(CLAUDE_CODE_20250219_BETA_HEADER);
if (process.env.USER_TYPE === "ant" && process.env.CLAUDE_CODE_ENTRYPOINT === "cli") {
if (CLI_INTERNAL_BETA_HEADER) {
betaHeaders.push(CLI_INTERNAL_BETA_HEADER);
}
}
}
if (isClaudeAISubscriber()) {
betaHeaders.push(OAUTH_BETA_HEADER);
}
if (has1mContext(model)) {
betaHeaders.push(CONTEXT_1M_BETA_HEADER);
}
if (!isEnvTruthy(process.env.DISABLE_INTERLEAVED_THINKING) && modelSupportsISP(model)) {
betaHeaders.push(INTERLEAVED_THINKING_BETA_HEADER);
}
if (includeFirstPartyOnlyBetas && modelSupportsISP(model) && !getIsNonInteractiveSession() && getInitialSettings().showThinkingSummaries !== true) {
betaHeaders.push(REDACT_THINKING_BETA_HEADER);
}
if (SUMMARIZE_CONNECTOR_TEXT_BETA_HEADER && process.env.USER_TYPE === "ant" && includeFirstPartyOnlyBetas && !isEnvDefinedFalsy(process.env.USE_CONNECTOR_TEXT_SUMMARIZATION) && (isEnvTruthy(process.env.USE_CONNECTOR_TEXT_SUMMARIZATION) || getFeatureValue_CACHED_MAY_BE_STALE("tengu_slate_prism", false))) {
betaHeaders.push(SUMMARIZE_CONNECTOR_TEXT_BETA_HEADER);
}
const antOptedIntoToolClearing = isEnvTruthy(process.env.USE_API_CONTEXT_MANAGEMENT) && process.env.USER_TYPE === "ant";
const thinkingPreservationEnabled = modelSupportsContextManagement(model);
if (shouldIncludeFirstPartyOnlyBetas() && (antOptedIntoToolClearing || thinkingPreservationEnabled)) {
betaHeaders.push(CONTEXT_MANAGEMENT_BETA_HEADER);
}
const strictToolsEnabled = checkStatsigFeatureGate_CACHED_MAY_BE_STALE("tengu_tool_pear");
const tokenEfficientToolsEnabled = !strictToolsEnabled && getFeatureValue_CACHED_MAY_BE_STALE("tengu_amber_json_tools", false);
if (includeFirstPartyOnlyBetas && modelSupportsStructuredOutputs(model) && strictToolsEnabled) {
betaHeaders.push(STRUCTURED_OUTPUTS_BETA_HEADER);
}
if (process.env.USER_TYPE === "ant" && includeFirstPartyOnlyBetas && tokenEfficientToolsEnabled) {
betaHeaders.push(TOKEN_EFFICIENT_TOOLS_BETA_HEADER);
}
if (provider === "vertex" && vertexModelSupportsWebSearch(model)) {
betaHeaders.push(WEB_SEARCH_BETA_HEADER);
}
if (provider === "foundry") {
betaHeaders.push(WEB_SEARCH_BETA_HEADER);
}
if (includeFirstPartyOnlyBetas) {
betaHeaders.push(PROMPT_CACHING_SCOPE_BETA_HEADER);
}
if (process.env.ANTHROPIC_BETAS) {
betaHeaders.push(...process.env.ANTHROPIC_BETAS.split(",").map((_2) => _2.trim()).filter(Boolean));
}
return betaHeaders;
});
getModelBetas = memoize_default((model) => {
const modelBetas = getAllModelBetas(model);
if (getAPIProvider() === "bedrock") {
return modelBetas.filter((b2) => !BEDROCK_EXTRA_PARAMS_HEADERS.has(b2));
}
return modelBetas;
});
getBedrockExtraBodyParamsBetas = memoize_default((model) => {
const modelBetas = getAllModelBetas(model);
return modelBetas.filter((b2) => BEDROCK_EXTRA_PARAMS_HEADERS.has(b2));
});
});
// src/utils/secureStorage/fallbackStorage.ts
function createFallbackStorage(primary, secondary) {
return {
name: `${primary.name}-with-${secondary.name}-fallback`,
read() {
const result = primary.read();
if (result !== null && result !== undefined) {
return result;
}
return secondary.read() || {};
},
async readAsync() {
const result = await primary.readAsync();
if (result !== null && result !== undefined) {
return result;
}
return await secondary.readAsync() || {};
},
update(data) {
const primaryDataBefore = primary.read();
const result = primary.update(data);
if (result.success) {
if (primaryDataBefore === null) {
secondary.delete();
}
return result;
}
const fallbackResult = secondary.update(data);
if (fallbackResult.success) {
if (primaryDataBefore !== null) {
primary.delete();
}
return {
success: true,
warning: fallbackResult.warning
};
}
return { success: false };
},
delete() {
const primarySuccess = primary.delete();
const secondarySuccess = secondary.delete();
return primarySuccess || secondarySuccess;
}
};
}
// src/utils/secureStorage/macOsKeychainStorage.ts
async function doReadAsync() {
try {
const storageServiceName = getMacOsKeychainStorageServiceName(CREDENTIALS_SERVICE_SUFFIX);
const username = getUsername();
const { stdout, code } = await execFileNoThrow("security", ["find-generic-password", "-a", username, "-w", "-s", storageServiceName], { useCwd: false, preserveOutputOnError: false });
if (code === 0 && stdout) {
return jsonParse(stdout.trim());
}
} catch (_e2) {}
return null;
}
function isMacOsKeychainLocked() {
if (keychainLockedCache !== undefined)
return keychainLockedCache;
if (process.platform !== "darwin") {
keychainLockedCache = false;
return false;
}
try {
const result = execaSync("security", ["show-keychain-info"], {
reject: false,
stdio: ["ignore", "pipe", "pipe"]
});
keychainLockedCache = result.exitCode === 36;
} catch {
keychainLockedCache = false;
}
return keychainLockedCache;
}
var SECURITY_STDIN_LINE_LIMIT, macOsKeychainStorage, keychainLockedCache;
var init_macOsKeychainStorage = __esm(() => {
init_execa();
init_debug();
init_execFileNoThrow();
init_execFileNoThrowPortable();
init_slowOperations();
init_macOsKeychainHelpers();
SECURITY_STDIN_LINE_LIMIT = 4096 - 64;
macOsKeychainStorage = {
name: "keychain",
read() {
const prev = keychainCacheState.cache;
if (Date.now() - prev.cachedAt < KEYCHAIN_CACHE_TTL_MS) {
return prev.data;
}
try {
const storageServiceName = getMacOsKeychainStorageServiceName(CREDENTIALS_SERVICE_SUFFIX);
const username = getUsername();
const result = execSyncWithDefaults_DEPRECATED(`security find-generic-password -a "${username}" -w -s "${storageServiceName}"`);
if (result) {
const data = jsonParse(result);
keychainCacheState.cache = { data, cachedAt: Date.now() };
return data;
}
} catch (_e2) {}
if (prev.data !== null) {
logForDebugging("[keychain] read failed; serving stale cache", {
level: "warn"
});
keychainCacheState.cache = { data: prev.data, cachedAt: Date.now() };
return prev.data;
}
keychainCacheState.cache = { data: null, cachedAt: Date.now() };
return null;
},
async readAsync() {
const prev = keychainCacheState.cache;
if (Date.now() - prev.cachedAt < KEYCHAIN_CACHE_TTL_MS) {
return prev.data;
}
if (keychainCacheState.readInFlight) {
return keychainCacheState.readInFlight;
}
const gen = keychainCacheState.generation;
const promise2 = doReadAsync().then((data) => {
if (gen === keychainCacheState.generation) {
if (data === null && prev.data !== null) {
logForDebugging("[keychain] readAsync failed; serving stale cache", {
level: "warn"
});
}
const next = data ?? prev.data;
keychainCacheState.cache = { data: next, cachedAt: Date.now() };
keychainCacheState.readInFlight = null;
return next;
}
return data;
});
keychainCacheState.readInFlight = promise2;
return promise2;
},
update(data) {
clearKeychainCache();
try {
const storageServiceName = getMacOsKeychainStorageServiceName(CREDENTIALS_SERVICE_SUFFIX);
const username = getUsername();
const jsonString = jsonStringify(data);
const hexValue = Buffer.from(jsonString, "utf-8").toString("hex");
const command = `add-generic-password -U -a "${username}" -s "${storageServiceName}" -X "${hexValue}"
`;
let result;
if (command.length <= SECURITY_STDIN_LINE_LIMIT) {
result = execaSync("security", ["-i"], {
input: command,
stdio: ["pipe", "pipe", "pipe"],
reject: false
});
} else {
logForDebugging(`Keychain payload (${jsonString.length}B JSON) exceeds security -i stdin limit; using argv`, { level: "warn" });
result = execaSync("security", [
"add-generic-password",
"-U",
"-a",
username,
"-s",
storageServiceName,
"-X",
hexValue
], { stdio: ["ignore", "pipe", "pipe"], reject: false });
}
if (result.exitCode !== 0) {
return { success: false };
}
keychainCacheState.cache = { data, cachedAt: Date.now() };
return { success: true };
} catch (_e2) {
return { success: false };
}
},
delete() {
clearKeychainCache();
try {
const storageServiceName = getMacOsKeychainStorageServiceName(CREDENTIALS_SERVICE_SUFFIX);
const username = getUsername();
execSyncWithDefaults_DEPRECATED(`security delete-generic-password -a "${username}" -s "${storageServiceName}"`);
return true;
} catch (_e2) {
return false;
}
}
};
});
// src/utils/secureStorage/plainTextStorage.ts
import { chmodSync as chmodSync2 } from "fs";
import { join as join22 } from "path";
function getStoragePath() {
const storageDir = getClaudeConfigHomeDir();
const storageFileName = ".credentials.json";
return { storageDir, storagePath: join22(storageDir, storageFileName) };
}
var plainTextStorage;
var init_plainTextStorage = __esm(() => {
init_envUtils();
init_errors();
init_fsOperations();
init_slowOperations();
plainTextStorage = {
name: "plaintext",
read() {
const { storagePath } = getStoragePath();
try {
const data = getFsImplementation().readFileSync(storagePath, {
encoding: "utf8"
});
return jsonParse(data);
} catch {
return null;
}
},
async readAsync() {
const { storagePath } = getStoragePath();
try {
const data = await getFsImplementation().readFile(storagePath, {
encoding: "utf8"
});
return jsonParse(data);
} catch {
return null;
}
},
update(data) {
try {
const { storageDir, storagePath } = getStoragePath();
try {
getFsImplementation().mkdirSync(storageDir);
} catch (e2) {
const code = getErrnoCode(e2);
if (code !== "EEXIST") {
throw e2;
}
}
writeFileSync_DEPRECATED(storagePath, jsonStringify(data), {
encoding: "utf8",
flush: false
});
chmodSync2(storagePath, 384);
return {
success: true,
warning: "Warning: Storing credentials in plaintext."
};
} catch {
return { success: false };
}
},
delete() {
const { storagePath } = getStoragePath();
try {
getFsImplementation().unlinkSync(storagePath);
return true;
} catch (e2) {
const code = getErrnoCode(e2);
if (code === "ENOENT") {
return true;
}
return false;
}
}
};
});
// src/utils/secureStorage/index.ts
function getSecureStorage() {
if (process.platform === "darwin") {
return createFallbackStorage(macOsKeychainStorage, plainTextStorage);
}
return plainTextStorage;
}
var init_secureStorage = __esm(() => {
init_macOsKeychainStorage();
init_plainTextStorage();
});
// src/utils/sleep.ts
function sleep3(ms, signal, opts) {
return new Promise((resolve9, reject) => {
if (signal?.aborted) {
if (opts?.throwOnAbort || opts?.abortError) {
reject(opts.abortError?.() ?? new Error("aborted"));
} else {
resolve9();
}
return;
}
const timer = setTimeout((signal2, onAbort2, resolve10) => {
signal2?.removeEventListener("abort", onAbort2);
resolve10();
}, ms, signal, onAbort, resolve9);
function onAbort() {
clearTimeout(timer);
if (opts?.throwOnAbort || opts?.abortError) {
reject(opts.abortError?.() ?? new Error("aborted"));
} else {
resolve9();
}
}
signal?.addEventListener("abort", onAbort, { once: true });
if (opts?.unref) {
timer.unref();
}
});
}
// src/utils/toolSchemaCache.ts
function getToolSchemaCache() {
return TOOL_SCHEMA_CACHE;
}
function clearToolSchemaCache() {
TOOL_SCHEMA_CACHE.clear();
}
var TOOL_SCHEMA_CACHE;
var init_toolSchemaCache = __esm(() => {
TOOL_SCHEMA_CACHE = new Map;
});
// src/utils/auth.ts
var exports_auth = {};
__export(exports_auth, {
validateForceLoginOrg: () => validateForceLoginOrg,
saveOAuthTokensIfNeeded: () => saveOAuthTokensIfNeeded,
saveApiKey: () => saveApiKey,
removeApiKey: () => removeApiKey,
refreshGcpCredentialsIfNeeded: () => refreshGcpCredentialsIfNeeded,
refreshGcpAuth: () => refreshGcpAuth,
refreshAwsAuth: () => refreshAwsAuth,
refreshAndGetAwsCredentials: () => refreshAndGetAwsCredentials,
prefetchGcpCredentialsIfSafe: () => prefetchGcpCredentialsIfSafe,
prefetchAwsCredentialsAndBedRockInfoIfSafe: () => prefetchAwsCredentialsAndBedRockInfoIfSafe,
prefetchApiKeyFromApiKeyHelperIfSafe: () => prefetchApiKeyFromApiKeyHelperIfSafe,
isUsing3PServices: () => isUsing3PServices,
isTeamSubscriber: () => isTeamSubscriber,
isTeamPremiumSubscriber: () => isTeamPremiumSubscriber,
isProSubscriber: () => isProSubscriber,
isOverageProvisioningAllowed: () => isOverageProvisioningAllowed,
isOtelHeadersHelperFromProjectOrLocalSettings: () => isOtelHeadersHelperFromProjectOrLocalSettings,
isMaxSubscriber: () => isMaxSubscriber,
isGcpAuthRefreshFromProjectSettings: () => isGcpAuthRefreshFromProjectSettings,
isEnterpriseSubscriber: () => isEnterpriseSubscriber,
isCustomApiKeyApproved: () => isCustomApiKeyApproved,
isConsumerSubscriber: () => isConsumerSubscriber,
isClaudeAISubscriber: () => isClaudeAISubscriber,
isAwsCredentialExportFromProjectSettings: () => isAwsCredentialExportFromProjectSettings,
isAwsAuthRefreshFromProjectSettings: () => isAwsAuthRefreshFromProjectSettings,
isAnthropicAuthEnabled: () => isAnthropicAuthEnabled,
is1PApiCustomer: () => is1PApiCustomer,
hasProfileScope: () => hasProfileScope,
hasOpusAccess: () => hasOpusAccess,
hasAnthropicApiKeyAuth: () => hasAnthropicApiKeyAuth,
handleOAuth401Error: () => handleOAuth401Error,
getSubscriptionType: () => getSubscriptionType,
getSubscriptionName: () => getSubscriptionName,
getRateLimitTier: () => getRateLimitTier,
getOtelHeadersFromHelper: () => getOtelHeadersFromHelper,
getOauthAccountInfo: () => getOauthAccountInfo,
getConfiguredApiKeyHelper: () => getConfiguredApiKeyHelper,
getClaudeAIOAuthTokensAsync: () => getClaudeAIOAuthTokensAsync,
getClaudeAIOAuthTokens: () => getClaudeAIOAuthTokens,
getAuthTokenSource: () => getAuthTokenSource,
getApiKeyHelperElapsedMs: () => getApiKeyHelperElapsedMs,
getApiKeyFromConfigOrMacOSKeychain: () => getApiKeyFromConfigOrMacOSKeychain,
getApiKeyFromApiKeyHelperCached: () => getApiKeyFromApiKeyHelperCached,
getApiKeyFromApiKeyHelper: () => getApiKeyFromApiKeyHelper,
getAnthropicApiKeyWithSource: () => getAnthropicApiKeyWithSource,
getAnthropicApiKey: () => getAnthropicApiKey,
getAccountInformation: () => getAccountInformation,
clearOAuthTokenCache: () => clearOAuthTokenCache,
clearGcpCredentialsCache: () => clearGcpCredentialsCache,
clearAwsCredentialsCache: () => clearAwsCredentialsCache,
clearApiKeyHelperCache: () => clearApiKeyHelperCache,
checkGcpCredentialsValid: () => checkGcpCredentialsValid,
checkAndRefreshOAuthTokenIfNeeded: () => checkAndRefreshOAuthTokenIfNeeded,
calculateApiKeyHelperTTL: () => calculateApiKeyHelperTTL
});
import { exec } from "child_process";
import { mkdir as mkdir4, stat as stat7 } from "fs/promises";
import { join as join23 } from "path";
function isManagedOAuthContext() {
return isEnvTruthy(process.env.CLAUDE_CODE_REMOTE) || process.env.CLAUDE_CODE_ENTRYPOINT === "claude-desktop";
}
function isAnthropicAuthEnabled() {
if (isBareMode())
return false;
if (process.env.ANTHROPIC_UNIX_SOCKET) {
return !!process.env.CLAUDE_CODE_OAUTH_TOKEN;
}
const is3P = isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY);
const settings = getSettings_DEPRECATED() || {};
const apiKeyHelper = settings.apiKeyHelper;
const hasExternalAuthToken = process.env.ANTHROPIC_AUTH_TOKEN || apiKeyHelper || process.env.CLAUDE_CODE_API_KEY_FILE_DESCRIPTOR;
const { source: apiKeySource } = getAnthropicApiKeyWithSource({
skipRetrievingKeyFromApiKeyHelper: true
});
const hasExternalApiKey = apiKeySource === "ANTHROPIC_API_KEY" || apiKeySource === "apiKeyHelper";
const shouldDisableAuth = is3P || hasExternalAuthToken && !isManagedOAuthContext() || hasExternalApiKey && !isManagedOAuthContext();
return !shouldDisableAuth;
}
function getAuthTokenSource() {
if (isBareMode()) {
if (getConfiguredApiKeyHelper()) {
return { source: "apiKeyHelper", hasToken: true };
}
return { source: "none", hasToken: false };
}
if (process.env.ANTHROPIC_AUTH_TOKEN && !isManagedOAuthContext()) {
return { source: "ANTHROPIC_AUTH_TOKEN", hasToken: true };
}
if (process.env.CLAUDE_CODE_OAUTH_TOKEN) {
return { source: "CLAUDE_CODE_OAUTH_TOKEN", hasToken: true };
}
const oauthTokenFromFd = getOAuthTokenFromFileDescriptor();
if (oauthTokenFromFd) {
if (process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR) {
return {
source: "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR",
hasToken: true
};
}
return {
source: "CCR_OAUTH_TOKEN_FILE",
hasToken: true
};
}
const apiKeyHelper = getConfiguredApiKeyHelper();
if (apiKeyHelper && !isManagedOAuthContext()) {
return { source: "apiKeyHelper", hasToken: true };
}
const oauthTokens = getClaudeAIOAuthTokens();
if (shouldUseClaudeAIAuth(oauthTokens?.scopes) && oauthTokens?.accessToken) {
return { source: "claude.ai", hasToken: true };
}
return { source: "none", hasToken: false };
}
function getAnthropicApiKey() {
const { key } = getAnthropicApiKeyWithSource();
return key;
}
function hasAnthropicApiKeyAuth() {
const { key, source } = getAnthropicApiKeyWithSource({
skipRetrievingKeyFromApiKeyHelper: true
});
return key !== null && source !== "none";
}
function getAnthropicApiKeyWithSource(opts = {}) {
if (isBareMode()) {
if (process.env.ANTHROPIC_API_KEY) {
return { key: process.env.ANTHROPIC_API_KEY, source: "ANTHROPIC_API_KEY" };
}
if (getConfiguredApiKeyHelper()) {
return {
key: opts.skipRetrievingKeyFromApiKeyHelper ? null : getApiKeyFromApiKeyHelperCached(),
source: "apiKeyHelper"
};
}
return { key: null, source: "none" };
}
const apiKeyEnv = isRunningOnHomespace() ? undefined : process.env.ANTHROPIC_API_KEY;
if (preferThirdPartyAuthentication() && apiKeyEnv) {
return {
key: apiKeyEnv,
source: "ANTHROPIC_API_KEY"
};
}
if (isEnvTruthy(process.env.CI) || false) {
const apiKeyFromFd2 = getApiKeyFromFileDescriptor();
if (apiKeyFromFd2) {
return {
key: apiKeyFromFd2,
source: "ANTHROPIC_API_KEY"
};
}
if (!apiKeyEnv && !process.env.CLAUDE_CODE_OAUTH_TOKEN && !process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR) {
throw new Error("ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN env var is required");
}
if (apiKeyEnv) {
return {
key: apiKeyEnv,
source: "ANTHROPIC_API_KEY"
};
}
return {
key: null,
source: "none"
};
}
if (apiKeyEnv && getGlobalConfig().customApiKeyResponses?.approved?.includes(normalizeApiKeyForConfig(apiKeyEnv))) {
return {
key: apiKeyEnv,
source: "ANTHROPIC_API_KEY"
};
}
const apiKeyFromFd = getApiKeyFromFileDescriptor();
if (apiKeyFromFd) {
return {
key: apiKeyFromFd,
source: "ANTHROPIC_API_KEY"
};
}
const apiKeyHelperCommand = getConfiguredApiKeyHelper();
if (apiKeyHelperCommand) {
if (opts.skipRetrievingKeyFromApiKeyHelper) {
return {
key: null,
source: "apiKeyHelper"
};
}
return {
key: getApiKeyFromApiKeyHelperCached(),
source: "apiKeyHelper"
};
}
const apiKeyFromConfigOrMacOSKeychain = getApiKeyFromConfigOrMacOSKeychain();
if (apiKeyFromConfigOrMacOSKeychain) {
return apiKeyFromConfigOrMacOSKeychain;
}
return {
key: null,
source: "none"
};
}
function getConfiguredApiKeyHelper() {
if (isBareMode()) {
return getSettingsForSource("flagSettings")?.apiKeyHelper;
}
const mergedSettings = getSettings_DEPRECATED() || {};
return mergedSettings.apiKeyHelper;
}
function isApiKeyHelperFromProjectOrLocalSettings() {
const apiKeyHelper = getConfiguredApiKeyHelper();
if (!apiKeyHelper) {
return false;
}
const projectSettings = getSettingsForSource("projectSettings");
const localSettings = getSettingsForSource("localSettings");
return projectSettings?.apiKeyHelper === apiKeyHelper || localSettings?.apiKeyHelper === apiKeyHelper;
}
function getConfiguredAwsAuthRefresh() {
const mergedSettings = getSettings_DEPRECATED() || {};
return mergedSettings.awsAuthRefresh;
}
function isAwsAuthRefreshFromProjectSettings() {
const awsAuthRefresh = getConfiguredAwsAuthRefresh();
if (!awsAuthRefresh) {
return false;
}
const projectSettings = getSettingsForSource("projectSettings");
const localSettings = getSettingsForSource("localSettings");
return projectSettings?.awsAuthRefresh === awsAuthRefresh || localSettings?.awsAuthRefresh === awsAuthRefresh;
}
function getConfiguredAwsCredentialExport() {
const mergedSettings = getSettings_DEPRECATED() || {};
return mergedSettings.awsCredentialExport;
}
function isAwsCredentialExportFromProjectSettings() {
const awsCredentialExport = getConfiguredAwsCredentialExport();
if (!awsCredentialExport) {
return false;
}
const projectSettings = getSettingsForSource("projectSettings");
const localSettings = getSettingsForSource("localSettings");
return projectSettings?.awsCredentialExport === awsCredentialExport || localSettings?.awsCredentialExport === awsCredentialExport;
}
function calculateApiKeyHelperTTL() {
const envTtl = process.env.CLAUDE_CODE_API_KEY_HELPER_TTL_MS;
if (envTtl) {
const parsed = parseInt(envTtl, 10);
if (!Number.isNaN(parsed) && parsed >= 0) {
return parsed;
}
logForDebugging(`Found CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var, but it was not a valid number. Got ${envTtl}`, { level: "error" });
}
return DEFAULT_API_KEY_HELPER_TTL;
}
function getApiKeyHelperElapsedMs() {
const startedAt = _apiKeyHelperInflight?.startedAt;
return startedAt ? Date.now() - startedAt : 0;
}
async function getApiKeyFromApiKeyHelper(isNonInteractiveSession) {
if (!getConfiguredApiKeyHelper())
return null;
const ttl = calculateApiKeyHelperTTL();
if (_apiKeyHelperCache) {
if (Date.now() - _apiKeyHelperCache.timestamp < ttl) {
return _apiKeyHelperCache.value;
}
if (!_apiKeyHelperInflight) {
_apiKeyHelperInflight = {
promise: _runAndCache(isNonInteractiveSession, false, _apiKeyHelperEpoch),
startedAt: null
};
}
return _apiKeyHelperCache.value;
}
if (_apiKeyHelperInflight)
return _apiKeyHelperInflight.promise;
_apiKeyHelperInflight = {
promise: _runAndCache(isNonInteractiveSession, true, _apiKeyHelperEpoch),
startedAt: Date.now()
};
return _apiKeyHelperInflight.promise;
}
async function _runAndCache(isNonInteractiveSession, isCold, epoch) {
try {
const value = await _executeApiKeyHelper(isNonInteractiveSession);
if (epoch !== _apiKeyHelperEpoch)
return value;
if (value !== null) {
_apiKeyHelperCache = { value, timestamp: Date.now() };
}
return value;
} catch (e2) {
if (epoch !== _apiKeyHelperEpoch)
return " ";
const detail = e2 instanceof Error ? e2.message : String(e2);
console.error(source_default.red(`apiKeyHelper failed: ${detail}`));
logForDebugging(`Error getting API key from apiKeyHelper: ${detail}`, {
level: "error"
});
if (!isCold && _apiKeyHelperCache && _apiKeyHelperCache.value !== " ") {
_apiKeyHelperCache = { ..._apiKeyHelperCache, timestamp: Date.now() };
return _apiKeyHelperCache.value;
}
_apiKeyHelperCache = { value: " ", timestamp: Date.now() };
return " ";
} finally {
if (epoch === _apiKeyHelperEpoch) {
_apiKeyHelperInflight = null;
}
}
}
async function _executeApiKeyHelper(isNonInteractiveSession) {
const apiKeyHelper = getConfiguredApiKeyHelper();
if (!apiKeyHelper) {
return null;
}
if (isApiKeyHelperFromProjectOrLocalSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !isNonInteractiveSession) {
const error52 = new Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);
logAntError("apiKeyHelper invoked before trust check", error52);
logEvent("tengu_apiKeyHelper_missing_trust11", {});
return null;
}
}
const result = await execa(apiKeyHelper, {
shell: true,
timeout: 10 * 60 * 1000,
reject: false
});
if (result.failed) {
const why = result.timedOut ? "timed out" : `exited ${result.exitCode}`;
const stderr = result.stderr?.trim();
throw new Error(stderr ? `${why}: ${stderr}` : why);
}
const stdout = result.stdout?.trim();
if (!stdout) {
throw new Error("did not return a value");
}
return stdout;
}
function getApiKeyFromApiKeyHelperCached() {
return _apiKeyHelperCache?.value ?? null;
}
function clearApiKeyHelperCache() {
_apiKeyHelperEpoch++;
_apiKeyHelperCache = null;
_apiKeyHelperInflight = null;
}
function prefetchApiKeyFromApiKeyHelperIfSafe(isNonInteractiveSession) {
if (isApiKeyHelperFromProjectOrLocalSettings() && !checkHasTrustDialogAccepted()) {
return;
}
getApiKeyFromApiKeyHelper(isNonInteractiveSession);
}
async function runAwsAuthRefresh() {
const awsAuthRefresh = getConfiguredAwsAuthRefresh();
if (!awsAuthRefresh) {
return false;
}
if (isAwsAuthRefreshFromProjectSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !getIsNonInteractiveSession()) {
const error52 = new Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);
logAntError("awsAuthRefresh invoked before trust check", error52);
logEvent("tengu_awsAuthRefresh_missing_trust", {});
return false;
}
}
try {
logForDebugging("Fetching AWS caller identity for AWS auth refresh command");
await checkStsCallerIdentity();
logForDebugging("Fetched AWS caller identity, skipping AWS auth refresh command");
return false;
} catch {
return refreshAwsAuth(awsAuthRefresh);
}
}
function refreshAwsAuth(awsAuthRefresh) {
logForDebugging("Running AWS auth refresh command");
const authStatusManager = AwsAuthStatusManager.getInstance();
authStatusManager.startAuthentication();
return new Promise((resolve9) => {
const refreshProc = exec(awsAuthRefresh, {
timeout: AWS_AUTH_REFRESH_TIMEOUT_MS
});
refreshProc.stdout.on("data", (data) => {
const output = data.toString().trim();
if (output) {
authStatusManager.addOutput(output);
logForDebugging(output, { level: "debug" });
}
});
refreshProc.stderr.on("data", (data) => {
const error52 = data.toString().trim();
if (error52) {
authStatusManager.setError(error52);
logForDebugging(error52, { level: "error" });
}
});
refreshProc.on("close", (code, signal) => {
if (code === 0) {
logForDebugging("AWS auth refresh completed successfully");
authStatusManager.endAuthentication(true);
resolve9(true);
} else {
const timedOut = signal === "SIGTERM";
const message = timedOut ? source_default.red("AWS auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.") : source_default.red("Error running awsAuthRefresh (in settings or ~/.claude.json):");
console.error(message);
authStatusManager.endAuthentication(false);
resolve9(false);
}
});
});
}
async function getAwsCredsFromCredentialExport() {
const awsCredentialExport = getConfiguredAwsCredentialExport();
if (!awsCredentialExport) {
return null;
}
if (isAwsCredentialExportFromProjectSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !getIsNonInteractiveSession()) {
const error52 = new Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);
logAntError("awsCredentialExport invoked before trust check", error52);
logEvent("tengu_awsCredentialExport_missing_trust", {});
return null;
}
}
try {
logForDebugging("Fetching AWS caller identity for credential export command");
await checkStsCallerIdentity();
logForDebugging("Fetched AWS caller identity, skipping AWS credential export command");
return null;
} catch {
try {
logForDebugging("Running AWS credential export command");
const result = await execa(awsCredentialExport, {
shell: true,
reject: false
});
if (result.exitCode !== 0 || !result.stdout) {
throw new Error("awsCredentialExport did not return a valid value");
}
const awsOutput = jsonParse(result.stdout.trim());
if (!isValidAwsStsOutput(awsOutput)) {
throw new Error("awsCredentialExport did not return valid AWS STS output structure");
}
logForDebugging("AWS credentials retrieved from awsCredentialExport");
return {
accessKeyId: awsOutput.Credentials.AccessKeyId,
secretAccessKey: awsOutput.Credentials.SecretAccessKey,
sessionToken: awsOutput.Credentials.SessionToken
};
} catch (e2) {
const message = source_default.red("Error getting AWS credentials from awsCredentialExport (in settings or ~/.claude.json):");
if (e2 instanceof Error) {
console.error(message, e2.message);
} else {
console.error(message, e2);
}
return null;
}
}
}
function clearAwsCredentialsCache() {
refreshAndGetAwsCredentials.cache.clear();
}
function getConfiguredGcpAuthRefresh() {
const mergedSettings = getSettings_DEPRECATED() || {};
return mergedSettings.gcpAuthRefresh;
}
function isGcpAuthRefreshFromProjectSettings() {
const gcpAuthRefresh = getConfiguredGcpAuthRefresh();
if (!gcpAuthRefresh) {
return false;
}
const projectSettings = getSettingsForSource("projectSettings");
const localSettings = getSettingsForSource("localSettings");
return projectSettings?.gcpAuthRefresh === gcpAuthRefresh || localSettings?.gcpAuthRefresh === gcpAuthRefresh;
}
async function checkGcpCredentialsValid() {
try {
const { GoogleAuth: GoogleAuth2 } = await Promise.resolve().then(() => __toESM(require_src5(), 1));
const auth = new GoogleAuth2({
scopes: ["https://www.googleapis.com/auth/cloud-platform"]
});
const probe = (async () => {
const client4 = await auth.getClient();
await client4.getAccessToken();
})();
const timeout = sleep3(GCP_CREDENTIALS_CHECK_TIMEOUT_MS).then(() => {
throw new GcpCredentialsTimeoutError("GCP credentials check timed out");
});
await Promise.race([probe, timeout]);
return true;
} catch {
return false;
}
}
async function runGcpAuthRefresh() {
const gcpAuthRefresh = getConfiguredGcpAuthRefresh();
if (!gcpAuthRefresh) {
return false;
}
if (isGcpAuthRefreshFromProjectSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !getIsNonInteractiveSession()) {
const error52 = new Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${MACRO.FEEDBACK_CHANNEL}.`);
logAntError("gcpAuthRefresh invoked before trust check", error52);
logEvent("tengu_gcpAuthRefresh_missing_trust", {});
return false;
}
}
try {
logForDebugging("Checking GCP credentials validity for auth refresh");
const isValid = await checkGcpCredentialsValid();
if (isValid) {
logForDebugging("GCP credentials are valid, skipping auth refresh command");
return false;
}
} catch {}
return refreshGcpAuth(gcpAuthRefresh);
}
function refreshGcpAuth(gcpAuthRefresh) {
logForDebugging("Running GCP auth refresh command");
const authStatusManager = AwsAuthStatusManager.getInstance();
authStatusManager.startAuthentication();
return new Promise((resolve9) => {
const refreshProc = exec(gcpAuthRefresh, {
timeout: GCP_AUTH_REFRESH_TIMEOUT_MS
});
refreshProc.stdout.on("data", (data) => {
const output = data.toString().trim();
if (output) {
authStatusManager.addOutput(output);
logForDebugging(output, { level: "debug" });
}
});
refreshProc.stderr.on("data", (data) => {
const error52 = data.toString().trim();
if (error52) {
authStatusManager.setError(error52);
logForDebugging(error52, { level: "error" });
}
});
refreshProc.on("close", (code, signal) => {
if (code === 0) {
logForDebugging("GCP auth refresh completed successfully");
authStatusManager.endAuthentication(true);
resolve9(true);
} else {
const timedOut = signal === "SIGTERM";
const message = timedOut ? source_default.red("GCP auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal.") : source_default.red("Error running gcpAuthRefresh (in settings or ~/.claude.json):");
console.error(message);
authStatusManager.endAuthentication(false);
resolve9(false);
}
});
});
}
function clearGcpCredentialsCache() {
refreshGcpCredentialsIfNeeded.cache.clear();
}
function prefetchGcpCredentialsIfSafe() {
const gcpAuthRefresh = getConfiguredGcpAuthRefresh();
if (!gcpAuthRefresh) {
return;
}
if (isGcpAuthRefreshFromProjectSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !getIsNonInteractiveSession()) {
return;
}
}
refreshGcpCredentialsIfNeeded();
}
function prefetchAwsCredentialsAndBedRockInfoIfSafe() {
const awsAuthRefresh = getConfiguredAwsAuthRefresh();
const awsCredentialExport = getConfiguredAwsCredentialExport();
if (!awsAuthRefresh && !awsCredentialExport) {
return;
}
if (isAwsAuthRefreshFromProjectSettings() || isAwsCredentialExportFromProjectSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust && !getIsNonInteractiveSession()) {
return;
}
}
refreshAndGetAwsCredentials();
getModelStrings2();
}
function isValidApiKey(apiKey) {
return /^[a-zA-Z0-9-_]+$/.test(apiKey);
}
async function saveApiKey(apiKey) {
if (!isValidApiKey(apiKey)) {
throw new Error("Invalid API key format. API key must contain only alphanumeric characters, dashes, and underscores.");
}
await maybeRemoveApiKeyFromMacOSKeychain();
let savedToKeychain = false;
if (process.platform === "darwin") {
try {
const storageServiceName = getMacOsKeychainStorageServiceName();
const username = getUsername();
const hexValue = Buffer.from(apiKey, "utf-8").toString("hex");
const command = `add-generic-password -U -a "${username}" -s "${storageServiceName}" -X "${hexValue}"
`;
await execa("security", ["-i"], {
input: command,
reject: false
});
logEvent("tengu_api_key_saved_to_keychain", {});
savedToKeychain = true;
} catch (e2) {
logError2(e2);
logEvent("tengu_api_key_keychain_error", {
error: errorMessage(e2)
});
logEvent("tengu_api_key_saved_to_config", {});
}
} else {
logEvent("tengu_api_key_saved_to_config", {});
}
const normalizedKey = normalizeApiKeyForConfig(apiKey);
saveGlobalConfig((current) => {
const approved = current.customApiKeyResponses?.approved ?? [];
return {
...current,
primaryApiKey: savedToKeychain ? current.primaryApiKey : apiKey,
customApiKeyResponses: {
...current.customApiKeyResponses,
approved: approved.includes(normalizedKey) ? approved : [...approved, normalizedKey],
rejected: current.customApiKeyResponses?.rejected ?? []
}
};
});
getApiKeyFromConfigOrMacOSKeychain.cache.clear?.();
clearLegacyApiKeyPrefetch();
}
function isCustomApiKeyApproved(apiKey) {
const config2 = getGlobalConfig();
const normalizedKey = normalizeApiKeyForConfig(apiKey);
return config2.customApiKeyResponses?.approved?.includes(normalizedKey) ?? false;
}
async function removeApiKey() {
await maybeRemoveApiKeyFromMacOSKeychain();
saveGlobalConfig((current) => ({
...current,
primaryApiKey: undefined
}));
getApiKeyFromConfigOrMacOSKeychain.cache.clear?.();
clearLegacyApiKeyPrefetch();
}
async function maybeRemoveApiKeyFromMacOSKeychain() {
try {
await maybeRemoveApiKeyFromMacOSKeychainThrows();
} catch (e2) {
logError2(e2);
}
}
function saveOAuthTokensIfNeeded(tokens) {
if (!shouldUseClaudeAIAuth(tokens.scopes)) {
logEvent("tengu_oauth_tokens_not_claude_ai", {});
return { success: true };
}
if (!tokens.refreshToken || !tokens.expiresAt) {
logEvent("tengu_oauth_tokens_inference_only", {});
return { success: true };
}
const secureStorage = getSecureStorage();
const storageBackend = secureStorage.name;
try {
const storageData = secureStorage.read() || {};
const existingOauth = storageData.claudeAiOauth;
storageData.claudeAiOauth = {
accessToken: tokens.accessToken,
refreshToken: tokens.refreshToken,
expiresAt: tokens.expiresAt,
scopes: tokens.scopes,
subscriptionType: tokens.subscriptionType ?? existingOauth?.subscriptionType ?? null,
rateLimitTier: tokens.rateLimitTier ?? existingOauth?.rateLimitTier ?? null
};
const updateStatus = secureStorage.update(storageData);
if (updateStatus.success) {
logEvent("tengu_oauth_tokens_saved", { storageBackend });
} else {
logEvent("tengu_oauth_tokens_save_failed", { storageBackend });
}
getClaudeAIOAuthTokens.cache?.clear?.();
clearBetasCaches();
clearToolSchemaCache();
return updateStatus;
} catch (error52) {
logError2(error52);
logEvent("tengu_oauth_tokens_save_exception", {
storageBackend,
error: errorMessage(error52)
});
return { success: false, warning: "Failed to save OAuth tokens" };
}
}
function clearOAuthTokenCache() {
getClaudeAIOAuthTokens.cache?.clear?.();
clearKeychainCache();
}
async function invalidateOAuthCacheIfDiskChanged() {
try {
const { mtimeMs } = await stat7(join23(getClaudeConfigHomeDir(), ".credentials.json"));
if (mtimeMs !== lastCredentialsMtimeMs) {
lastCredentialsMtimeMs = mtimeMs;
clearOAuthTokenCache();
}
} catch {
getClaudeAIOAuthTokens.cache?.clear?.();
}
}
function handleOAuth401Error(failedAccessToken) {
const pending = pending401Handlers.get(failedAccessToken);
if (pending)
return pending;
const promise2 = handleOAuth401ErrorImpl(failedAccessToken).finally(() => {
pending401Handlers.delete(failedAccessToken);
});
pending401Handlers.set(failedAccessToken, promise2);
return promise2;
}
async function handleOAuth401ErrorImpl(failedAccessToken) {
clearOAuthTokenCache();
const currentTokens = await getClaudeAIOAuthTokensAsync();
if (!currentTokens?.refreshToken) {
return false;
}
if (currentTokens.accessToken !== failedAccessToken) {
logEvent("tengu_oauth_401_recovered_from_keychain", {});
return true;
}
return checkAndRefreshOAuthTokenIfNeeded(0, true);
}
async function getClaudeAIOAuthTokensAsync() {
if (isBareMode())
return null;
if (process.env.CLAUDE_CODE_OAUTH_TOKEN || getOAuthTokenFromFileDescriptor()) {
return getClaudeAIOAuthTokens();
}
try {
const secureStorage = getSecureStorage();
const storageData = await secureStorage.readAsync();
const oauthData = storageData?.claudeAiOauth;
if (!oauthData?.accessToken) {
return null;
}
return oauthData;
} catch (error52) {
logError2(error52);
return null;
}
}
function checkAndRefreshOAuthTokenIfNeeded(retryCount = 0, force = false) {
if (retryCount === 0 && !force) {
if (pendingRefreshCheck) {
return pendingRefreshCheck;
}
const promise2 = checkAndRefreshOAuthTokenIfNeededImpl(retryCount, force);
pendingRefreshCheck = promise2.finally(() => {
pendingRefreshCheck = null;
});
return pendingRefreshCheck;
}
return checkAndRefreshOAuthTokenIfNeededImpl(retryCount, force);
}
async function checkAndRefreshOAuthTokenIfNeededImpl(retryCount, force) {
const MAX_RETRIES = 5;
await invalidateOAuthCacheIfDiskChanged();
const tokens = getClaudeAIOAuthTokens();
if (!force) {
if (!tokens?.refreshToken || !isOAuthTokenExpired(tokens.expiresAt)) {
return false;
}
}
if (!tokens?.refreshToken) {
return false;
}
if (!shouldUseClaudeAIAuth(tokens.scopes)) {
return false;
}
getClaudeAIOAuthTokens.cache?.clear?.();
clearKeychainCache();
const freshTokens = await getClaudeAIOAuthTokensAsync();
if (!freshTokens?.refreshToken || !isOAuthTokenExpired(freshTokens.expiresAt)) {
return false;
}
const claudeDir = getClaudeConfigHomeDir();
await mkdir4(claudeDir, { recursive: true });
let release;
try {
logEvent("tengu_oauth_token_refresh_lock_acquiring", {});
release = await lock(claudeDir);
logEvent("tengu_oauth_token_refresh_lock_acquired", {});
} catch (err) {
if (err.code === "ELOCKED") {
if (retryCount < MAX_RETRIES) {
logEvent("tengu_oauth_token_refresh_lock_retry", {
retryCount: retryCount + 1
});
await sleep3(1000 + Math.random() * 1000);
return checkAndRefreshOAuthTokenIfNeededImpl(retryCount + 1, force);
}
logEvent("tengu_oauth_token_refresh_lock_retry_limit_reached", {
maxRetries: MAX_RETRIES
});
return false;
}
logError2(err);
logEvent("tengu_oauth_token_refresh_lock_error", {
error: errorMessage(err)
});
return false;
}
try {
getClaudeAIOAuthTokens.cache?.clear?.();
clearKeychainCache();
const lockedTokens = await getClaudeAIOAuthTokensAsync();
if (!lockedTokens?.refreshToken || !isOAuthTokenExpired(lockedTokens.expiresAt)) {
logEvent("tengu_oauth_token_refresh_race_resolved", {});
return false;
}
logEvent("tengu_oauth_token_refresh_starting", {});
const refreshedTokens = await refreshOAuthToken(lockedTokens.refreshToken, {
scopes: shouldUseClaudeAIAuth(lockedTokens.scopes) ? undefined : lockedTokens.scopes
});
saveOAuthTokensIfNeeded(refreshedTokens);
getClaudeAIOAuthTokens.cache?.clear?.();
clearKeychainCache();
return true;
} catch (error52) {
logError2(error52);
getClaudeAIOAuthTokens.cache?.clear?.();
clearKeychainCache();
const currentTokens = await getClaudeAIOAuthTokensAsync();
if (currentTokens && !isOAuthTokenExpired(currentTokens.expiresAt)) {
logEvent("tengu_oauth_token_refresh_race_recovered", {});
return true;
}
return false;
} finally {
logEvent("tengu_oauth_token_refresh_lock_releasing", {});
await release();
logEvent("tengu_oauth_token_refresh_lock_released", {});
}
}
function isClaudeAISubscriber() {
if (!isAnthropicAuthEnabled()) {
return false;
}
return shouldUseClaudeAIAuth(getClaudeAIOAuthTokens()?.scopes);
}
function hasProfileScope() {
return getClaudeAIOAuthTokens()?.scopes?.includes(CLAUDE_AI_PROFILE_SCOPE) ?? false;
}
function is1PApiCustomer() {
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY)) {
return false;
}
if (isClaudeAISubscriber()) {
return false;
}
return true;
}
function getOauthAccountInfo() {
return isAnthropicAuthEnabled() ? getGlobalConfig().oauthAccount : undefined;
}
function isOverageProvisioningAllowed() {
const accountInfo = getOauthAccountInfo();
const billingType = accountInfo?.billingType;
if (!isClaudeAISubscriber() || !billingType) {
return false;
}
if (billingType !== "stripe_subscription" && billingType !== "stripe_subscription_contracted" && billingType !== "apple_subscription" && billingType !== "google_play_subscription") {
return false;
}
return true;
}
function hasOpusAccess() {
const subscriptionType = getSubscriptionType();
return subscriptionType === "max" || subscriptionType === "enterprise" || subscriptionType === "team" || subscriptionType === "pro" || subscriptionType === null;
}
function getSubscriptionType() {
if (shouldUseMockSubscription()) {
return getMockSubscriptionType();
}
if (!isAnthropicAuthEnabled()) {
return null;
}
const oauthTokens = getClaudeAIOAuthTokens();
if (!oauthTokens) {
return null;
}
return oauthTokens.subscriptionType ?? null;
}
function isMaxSubscriber() {
return getSubscriptionType() === "max";
}
function isTeamSubscriber() {
return getSubscriptionType() === "team";
}
function isTeamPremiumSubscriber() {
return getSubscriptionType() === "team" && getRateLimitTier() === "default_claude_max_5x";
}
function isEnterpriseSubscriber() {
return getSubscriptionType() === "enterprise";
}
function isProSubscriber() {
return getSubscriptionType() === "pro";
}
function getRateLimitTier() {
if (!isAnthropicAuthEnabled()) {
return null;
}
const oauthTokens = getClaudeAIOAuthTokens();
if (!oauthTokens) {
return null;
}
return oauthTokens.rateLimitTier ?? null;
}
function getSubscriptionName() {
const subscriptionType = getSubscriptionType();
switch (subscriptionType) {
case "enterprise":
return "Claude Enterprise";
case "team":
return "Claude Team";
case "max":
return "Claude Max";
case "pro":
return "Claude Pro";
default:
return "Claude API";
}
}
function isUsing3PServices() {
return !!(isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY));
}
function getConfiguredOtelHeadersHelper() {
const mergedSettings = getSettings_DEPRECATED() || {};
return mergedSettings.otelHeadersHelper;
}
function isOtelHeadersHelperFromProjectOrLocalSettings() {
const otelHeadersHelper = getConfiguredOtelHeadersHelper();
if (!otelHeadersHelper) {
return false;
}
const projectSettings = getSettingsForSource("projectSettings");
const localSettings = getSettingsForSource("localSettings");
return projectSettings?.otelHeadersHelper === otelHeadersHelper || localSettings?.otelHeadersHelper === otelHeadersHelper;
}
function getOtelHeadersFromHelper() {
const otelHeadersHelper = getConfiguredOtelHeadersHelper();
if (!otelHeadersHelper) {
return {};
}
const debounceMs = parseInt(process.env.CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS || DEFAULT_OTEL_HEADERS_DEBOUNCE_MS.toString());
if (cachedOtelHeaders && Date.now() - cachedOtelHeadersTimestamp < debounceMs) {
return cachedOtelHeaders;
}
if (isOtelHeadersHelperFromProjectOrLocalSettings()) {
const hasTrust = checkHasTrustDialogAccepted();
if (!hasTrust) {
return {};
}
}
try {
const result = execSyncWithDefaults_DEPRECATED(otelHeadersHelper, {
timeout: 30000
})?.toString().trim();
if (!result) {
throw new Error("otelHeadersHelper did not return a valid value");
}
const headers = jsonParse(result);
if (typeof headers !== "object" || headers === null || Array.isArray(headers)) {
throw new Error("otelHeadersHelper must return a JSON object with string key-value pairs");
}
for (const [key, value] of Object.entries(headers)) {
if (typeof value !== "string") {
throw new Error(`otelHeadersHelper returned non-string value for key "${key}": ${typeof value}`);
}
}
cachedOtelHeaders = headers;
cachedOtelHeadersTimestamp = Date.now();
return cachedOtelHeaders;
} catch (error52) {
logError2(new Error(`Error getting OpenTelemetry headers from otelHeadersHelper (in settings): ${errorMessage(error52)}`));
throw error52;
}
}
function isConsumerPlan(plan) {
return plan === "max" || plan === "pro";
}
function isConsumerSubscriber() {
const subscriptionType = getSubscriptionType();
return isClaudeAISubscriber() && subscriptionType !== null && isConsumerPlan(subscriptionType);
}
function getAccountInformation() {
const apiProvider = getAPIProvider();
if (apiProvider !== "firstParty") {
return;
}
const { source: authTokenSource } = getAuthTokenSource();
const accountInfo = {};
if (authTokenSource === "CLAUDE_CODE_OAUTH_TOKEN" || authTokenSource === "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR") {
accountInfo.tokenSource = authTokenSource;
} else if (isClaudeAISubscriber()) {
accountInfo.subscription = getSubscriptionName();
} else {
accountInfo.tokenSource = authTokenSource;
}
const { key: apiKey, source: apiKeySource } = getAnthropicApiKeyWithSource();
if (apiKey) {
accountInfo.apiKeySource = apiKeySource;
}
if (authTokenSource === "claude.ai" || apiKeySource === "/login managed key") {
const orgName = getOauthAccountInfo()?.organizationName;
if (orgName) {
accountInfo.organization = orgName;
}
}
const email3 = getOauthAccountInfo()?.emailAddress;
if ((authTokenSource === "claude.ai" || apiKeySource === "/login managed key") && email3) {
accountInfo.email = email3;
}
return accountInfo;
}
async function validateForceLoginOrg() {
if (process.env.ANTHROPIC_UNIX_SOCKET) {
return { valid: true };
}
if (!isAnthropicAuthEnabled()) {
return { valid: true };
}
const requiredOrgUuid = getSettingsForSource("policySettings")?.forceLoginOrgUUID;
if (!requiredOrgUuid) {
return { valid: true };
}
await checkAndRefreshOAuthTokenIfNeeded();
const tokens = getClaudeAIOAuthTokens();
if (!tokens) {
return { valid: true };
}
const { source } = getAuthTokenSource();
const isEnvVarToken = source === "CLAUDE_CODE_OAUTH_TOKEN" || source === "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR";
const profile = await getOauthProfileFromOauthToken(tokens.accessToken);
if (!profile) {
return {
valid: false,
message: `Unable to verify organization for the current authentication token.
This machine requires organization ${requiredOrgUuid} but the profile could not be fetched.
This may be a network error, or the token may lack the user:profile scope required for
verification (tokens from 'claude setup-token' do not include this scope).
Try again, or obtain a full-scope token via 'claude auth login'.`
};
}
const tokenOrgUuid = profile.organization.uuid;
if (tokenOrgUuid === requiredOrgUuid) {
return { valid: true };
}
if (isEnvVarToken) {
const envVarName = source === "CLAUDE_CODE_OAUTH_TOKEN" ? "CLAUDE_CODE_OAUTH_TOKEN" : "CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR";
return {
valid: false,
message: `The ${envVarName} environment variable provides a token for a
different organization than required by this machine's managed settings.
Required organization: ${requiredOrgUuid}
Token organization: ${tokenOrgUuid}
Remove the environment variable or obtain a token for the correct organization.`
};
}
return {
valid: false,
message: `Your authentication token belongs to organization ${tokenOrgUuid},
but this machine requires organization ${requiredOrgUuid}.
Please log in with the correct organization: claude auth login`
};
}
var DEFAULT_API_KEY_HELPER_TTL, _apiKeyHelperCache = null, _apiKeyHelperInflight = null, _apiKeyHelperEpoch = 0, DEFAULT_AWS_STS_TTL, AWS_AUTH_REFRESH_TIMEOUT_MS, refreshAndGetAwsCredentials, GCP_CREDENTIALS_CHECK_TIMEOUT_MS = 5000, DEFAULT_GCP_CREDENTIAL_TTL = 3600000, GCP_AUTH_REFRESH_TIMEOUT_MS = 180000, refreshGcpCredentialsIfNeeded, getApiKeyFromConfigOrMacOSKeychain, getClaudeAIOAuthTokens, lastCredentialsMtimeMs = 0, pending401Handlers, pendingRefreshCheck = null, cachedOtelHeaders = null, cachedOtelHeadersTimestamp = 0, DEFAULT_OTEL_HEADERS_DEBOUNCE_MS = 1740000, GcpCredentialsTimeoutError;
var init_auth2 = __esm(() => {
init_source();
init_execa();
init_memoize();
init_oauth();
init_analytics();
init_modelStrings();
init_providers();
init_state();
init_mockRateLimits();
init_client2();
init_getOauthProfile();
init_authFileDescriptor();
init_authPortable();
init_aws();
init_awsAuthStatusManager();
init_betas2();
init_config();
init_debug();
init_envUtils();
init_errors();
init_execFileNoThrow();
init_log3();
init_memoize2();
init_secureStorage();
init_keychainPrefetch();
init_macOsKeychainHelpers();
init_settings2();
init_slowOperations();
init_toolSchemaCache();
DEFAULT_API_KEY_HELPER_TTL = 5 * 60 * 1000;
DEFAULT_AWS_STS_TTL = 60 * 60 * 1000;
AWS_AUTH_REFRESH_TIMEOUT_MS = 3 * 60 * 1000;
refreshAndGetAwsCredentials = memoizeWithTTLAsync(async () => {
const refreshed = await runAwsAuthRefresh();
const credentials = await getAwsCredsFromCredentialExport();
if (refreshed || credentials) {
await clearAwsIniCache();
}
return credentials;
}, DEFAULT_AWS_STS_TTL);
refreshGcpCredentialsIfNeeded = memoizeWithTTLAsync(async () => {
const refreshed = await runGcpAuthRefresh();
return refreshed;
}, DEFAULT_GCP_CREDENTIAL_TTL);
getApiKeyFromConfigOrMacOSKeychain = memoize_default(() => {
if (isBareMode())
return null;
if (process.platform === "darwin") {
const prefetch = getLegacyApiKeyPrefetchResult();
if (prefetch) {
if (prefetch.stdout) {
return { key: prefetch.stdout, source: "/login managed key" };
}
} else {
const storageServiceName = getMacOsKeychainStorageServiceName();
try {
const result = execSyncWithDefaults_DEPRECATED(`security find-generic-password -a $USER -w -s "${storageServiceName}"`);
if (result) {
return { key: result, source: "/login managed key" };
}
} catch (e2) {
logError2(e2);
}
}
}
const config2 = getGlobalConfig();
if (!config2.primaryApiKey) {
return null;
}
return { key: config2.primaryApiKey, source: "/login managed key" };
});
getClaudeAIOAuthTokens = memoize_default(() => {
if (isBareMode())
return null;
if (process.env.CLAUDE_CODE_OAUTH_TOKEN) {
return {
accessToken: process.env.CLAUDE_CODE_OAUTH_TOKEN,
refreshToken: null,
expiresAt: null,
scopes: ["user:inference"],
subscriptionType: null,
rateLimitTier: null
};
}
const oauthTokenFromFd = getOAuthTokenFromFileDescriptor();
if (oauthTokenFromFd) {
return {
accessToken: oauthTokenFromFd,
refreshToken: null,
expiresAt: null,
scopes: ["user:inference"],
subscriptionType: null,
rateLimitTier: null
};
}
try {
const secureStorage = getSecureStorage();
const storageData = secureStorage.read();
const oauthData = storageData?.claudeAiOauth;
if (!oauthData?.accessToken) {
return null;
}
return oauthData;
} catch (error52) {
logError2(error52);
return null;
}
});
pending401Handlers = new Map;
GcpCredentialsTimeoutError = class GcpCredentialsTimeoutError extends Error {
};
});
// src/utils/userAgent.ts
function getClaudeCodeUserAgent() {
return `claude-code/${MACRO.VERSION}`;
}
// src/utils/workloadContext.ts
import { AsyncLocalStorage as AsyncLocalStorage2 } from "async_hooks";
function getWorkload() {
return workloadStorage.getStore()?.workload;
}
function runWithWorkload(workload, fn) {
return workloadStorage.run({ workload }, fn);
}
var workloadStorage;
var init_workloadContext = __esm(() => {
workloadStorage = new AsyncLocalStorage2;
});
// src/utils/http.ts
function getUserAgent() {
const agentSdkVersion = process.env.CLAUDE_AGENT_SDK_VERSION ? `, agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}` : "";
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
const workload = getWorkload();
const workloadSuffix = workload ? `, workload/${workload}` : "";
return `claude-cli/${MACRO.VERSION} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
}
function getMCPUserAgent() {
const parts = [];
if (process.env.CLAUDE_CODE_ENTRYPOINT) {
parts.push(process.env.CLAUDE_CODE_ENTRYPOINT);
}
if (process.env.CLAUDE_AGENT_SDK_VERSION) {
parts.push(`agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`);
}
if (process.env.CLAUDE_AGENT_SDK_CLIENT_APP) {
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
}
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
return `claude-code/${MACRO.VERSION}${suffix}`;
}
function getWebFetchUserAgent() {
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
}
function getAuthHeaders2() {
if (isClaudeAISubscriber()) {
const oauthTokens = getClaudeAIOAuthTokens();
if (!oauthTokens?.accessToken) {
return {
headers: {},
error: "No OAuth token available"
};
}
return {
headers: {
Authorization: `Bearer ${oauthTokens.accessToken}`,
"anthropic-beta": OAUTH_BETA_HEADER
}
};
}
const apiKey = getAnthropicApiKey();
if (!apiKey) {
return {
headers: {},
error: "No API key available"
};
}
return {
headers: {
"x-api-key": apiKey
}
};
}
async function withOAuth401Retry(request, opts) {
try {
return await request();
} catch (err) {
if (!axios_default.isAxiosError(err))
throw err;
const status = err.response?.status;
const isAuthError = status === 401 || opts?.also403Revoked && status === 403 && typeof err.response?.data === "string" && err.response.data.includes("OAuth token has been revoked");
if (!isAuthError)
throw err;
const failedAccessToken = getClaudeAIOAuthTokens()?.accessToken;
if (!failedAccessToken)
throw err;
await handleOAuth401Error(failedAccessToken);
return await request();
}
}
var init_http2 = __esm(() => {
init_axios2();
init_oauth();
init_auth2();
init_workloadContext();
});
// src/utils/user.ts
async function initUser() {
if (cachedEmail === null && !emailFetchPromise) {
emailFetchPromise = getEmailAsync();
cachedEmail = await emailFetchPromise;
emailFetchPromise = null;
getCoreUserData.cache.clear?.();
}
}
function resetUserCache() {
cachedEmail = null;
emailFetchPromise = null;
getCoreUserData.cache.clear?.();
getGitEmail.cache.clear?.();
}
function getUserForGrowthBook() {
return getCoreUserData(true);
}
function getEmail() {
if (cachedEmail !== null) {
return cachedEmail;
}
const oauthAccount = getOauthAccountInfo();
if (oauthAccount?.emailAddress) {
return oauthAccount.emailAddress;
}
if (process.env.USER_TYPE !== "ant") {
return;
}
if (process.env.COO_CREATOR) {
return `${process.env.COO_CREATOR}@anthropic.com`;
}
return;
}
async function getEmailAsync() {
const oauthAccount = getOauthAccountInfo();
if (oauthAccount?.emailAddress) {
return oauthAccount.emailAddress;
}
if (process.env.USER_TYPE !== "ant") {
return;
}
if (process.env.COO_CREATOR) {
return `${process.env.COO_CREATOR}@anthropic.com`;
}
return getGitEmail();
}
var cachedEmail = null, emailFetchPromise = null, getCoreUserData, getGitEmail;
var init_user = __esm(() => {
init_execa();
init_memoize();
init_state();
init_auth2();
init_config();
init_cwd();
init_env();
init_envUtils();
getCoreUserData = memoize_default((includeAnalyticsMetadata) => {
const deviceId = getOrCreateUserID();
const config2 = getGlobalConfig();
let subscriptionType;
let rateLimitTier;
let firstTokenTime;
if (includeAnalyticsMetadata) {
subscriptionType = getSubscriptionType() ?? undefined;
rateLimitTier = getRateLimitTier() ?? undefined;
if (subscriptionType && config2.claudeCodeFirstTokenDate) {
const configFirstTokenTime = new Date(config2.claudeCodeFirstTokenDate).getTime();
if (!isNaN(configFirstTokenTime)) {
firstTokenTime = configFirstTokenTime;
}
}
}
const oauthAccount = getOauthAccountInfo();
const organizationUuid = oauthAccount?.organizationUuid;
const accountUuid = oauthAccount?.accountUuid;
return {
deviceId,
sessionId: getSessionId(),
email: getEmail(),
appVersion: MACRO.VERSION,
platform: getHostPlatformForAnalytics(),
organizationUuid,
accountUuid,
userType: process.env.USER_TYPE,
subscriptionType,
rateLimitTier,
firstTokenTime,
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
githubActionsMetadata: {
actor: process.env.GITHUB_ACTOR,
actorId: process.env.GITHUB_ACTOR_ID,
repository: process.env.GITHUB_REPOSITORY,
repositoryId: process.env.GITHUB_REPOSITORY_ID,
repositoryOwner: process.env.GITHUB_REPOSITORY_OWNER,
repositoryOwnerId: process.env.GITHUB_REPOSITORY_OWNER_ID
}
}
};
});
getGitEmail = memoize_default(async () => {
const result = await execa("git config --get user.email", {
shell: true,
reject: false,
cwd: getCwd()
});
return result.exitCode === 0 && result.stdout ? result.stdout.trim() : undefined;
});
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/version.js
var require_version2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.VERSION = undefined;
exports.VERSION = "1.9.1";
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/internal/semver.js
var require_semver3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isCompatible = exports._makeCompatibilityCheck = undefined;
var version_1 = require_version2();
var re2 = /^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;
function _makeCompatibilityCheck(ownVersion) {
const acceptedVersions = new Set([ownVersion]);
const rejectedVersions = new Set;
const myVersionMatch = ownVersion.match(re2);
if (!myVersionMatch) {
return () => false;
}
const ownVersionParsed = {
major: +myVersionMatch[1],
minor: +myVersionMatch[2],
patch: +myVersionMatch[3],
prerelease: myVersionMatch[4]
};
if (ownVersionParsed.prerelease != null) {
return function isExactmatch(globalVersion) {
return globalVersion === ownVersion;
};
}
function _reject(v2) {
rejectedVersions.add(v2);
return false;
}
function _accept(v2) {
acceptedVersions.add(v2);
return true;
}
return function isCompatible(globalVersion) {
if (acceptedVersions.has(globalVersion)) {
return true;
}
if (rejectedVersions.has(globalVersion)) {
return false;
}
const globalVersionMatch = globalVersion.match(re2);
if (!globalVersionMatch) {
return _reject(globalVersion);
}
const globalVersionParsed = {
major: +globalVersionMatch[1],
minor: +globalVersionMatch[2],
patch: +globalVersionMatch[3],
prerelease: globalVersionMatch[4]
};
if (globalVersionParsed.prerelease != null) {
return _reject(globalVersion);
}
if (ownVersionParsed.major !== globalVersionParsed.major) {
return _reject(globalVersion);
}
if (ownVersionParsed.major === 0) {
if (ownVersionParsed.minor === globalVersionParsed.minor && ownVersionParsed.patch <= globalVersionParsed.patch) {
return _accept(globalVersion);
}
return _reject(globalVersion);
}
if (ownVersionParsed.minor <= globalVersionParsed.minor) {
return _accept(globalVersion);
}
return _reject(globalVersion);
};
}
exports._makeCompatibilityCheck = _makeCompatibilityCheck;
exports.isCompatible = _makeCompatibilityCheck(version_1.VERSION);
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/internal/global-utils.js
var require_global_utils = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.unregisterGlobal = exports.getGlobal = exports.registerGlobal = undefined;
var version_1 = require_version2();
var semver_1 = require_semver3();
var major = version_1.VERSION.split(".")[0];
var GLOBAL_OPENTELEMETRY_API_KEY = Symbol.for(`opentelemetry.js.api.${major}`);
var _global2 = typeof globalThis === "object" ? globalThis : typeof self === "object" ? self : typeof window === "object" ? window : typeof global === "object" ? global : {};
function registerGlobal(type, instance, diag, allowOverride = false) {
var _a3;
const api2 = _global2[GLOBAL_OPENTELEMETRY_API_KEY] = (_a3 = _global2[GLOBAL_OPENTELEMETRY_API_KEY]) !== null && _a3 !== undefined ? _a3 : {
version: version_1.VERSION
};
if (!allowOverride && api2[type]) {
const err = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${type}`);
diag.error(err.stack || err.message);
return false;
}
if (api2.version !== version_1.VERSION) {
const err = new Error(`@opentelemetry/api: Registration of version v${api2.version} for ${type} does not match previously registered API v${version_1.VERSION}`);
diag.error(err.stack || err.message);
return false;
}
api2[type] = instance;
diag.debug(`@opentelemetry/api: Registered a global for ${type} v${version_1.VERSION}.`);
return true;
}
exports.registerGlobal = registerGlobal;
function getGlobal2(type) {
var _a3, _b;
const globalVersion = (_a3 = _global2[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _a3 === undefined ? undefined : _a3.version;
if (!globalVersion || !(0, semver_1.isCompatible)(globalVersion)) {
return;
}
return (_b = _global2[GLOBAL_OPENTELEMETRY_API_KEY]) === null || _b === undefined ? undefined : _b[type];
}
exports.getGlobal = getGlobal2;
function unregisterGlobal(type, diag) {
diag.debug(`@opentelemetry/api: Unregistering a global for ${type} v${version_1.VERSION}.`);
const api2 = _global2[GLOBAL_OPENTELEMETRY_API_KEY];
if (api2) {
delete api2[type];
}
}
exports.unregisterGlobal = unregisterGlobal;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js
var require_ComponentLogger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagComponentLogger = undefined;
var global_utils_1 = require_global_utils();
class DiagComponentLogger {
constructor(props) {
this._namespace = props.namespace || "DiagComponentLogger";
}
debug(...args) {
return logProxy("debug", this._namespace, args);
}
error(...args) {
return logProxy("error", this._namespace, args);
}
info(...args) {
return logProxy("info", this._namespace, args);
}
warn(...args) {
return logProxy("warn", this._namespace, args);
}
verbose(...args) {
return logProxy("verbose", this._namespace, args);
}
}
exports.DiagComponentLogger = DiagComponentLogger;
function logProxy(funcName, namespace, args) {
const logger27 = (0, global_utils_1.getGlobal)("diag");
if (!logger27) {
return;
}
return logger27[funcName](namespace, ...args);
}
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/types.js
var require_types = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagLogLevel = undefined;
var DiagLogLevel;
(function(DiagLogLevel2) {
DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE";
DiagLogLevel2[DiagLogLevel2["ERROR"] = 30] = "ERROR";
DiagLogLevel2[DiagLogLevel2["WARN"] = 50] = "WARN";
DiagLogLevel2[DiagLogLevel2["INFO"] = 60] = "INFO";
DiagLogLevel2[DiagLogLevel2["DEBUG"] = 70] = "DEBUG";
DiagLogLevel2[DiagLogLevel2["VERBOSE"] = 80] = "VERBOSE";
DiagLogLevel2[DiagLogLevel2["ALL"] = 9999] = "ALL";
})(DiagLogLevel = exports.DiagLogLevel || (exports.DiagLogLevel = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js
var require_logLevelLogger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLogLevelDiagLogger = undefined;
var types_1 = require_types();
function createLogLevelDiagLogger(maxLevel, logger27) {
if (maxLevel < types_1.DiagLogLevel.NONE) {
maxLevel = types_1.DiagLogLevel.NONE;
} else if (maxLevel > types_1.DiagLogLevel.ALL) {
maxLevel = types_1.DiagLogLevel.ALL;
}
logger27 = logger27 || {};
function _filterFunc(funcName, theLevel) {
const theFunc = logger27[funcName];
if (typeof theFunc === "function" && maxLevel >= theLevel) {
return theFunc.bind(logger27);
}
return function() {};
}
return {
error: _filterFunc("error", types_1.DiagLogLevel.ERROR),
warn: _filterFunc("warn", types_1.DiagLogLevel.WARN),
info: _filterFunc("info", types_1.DiagLogLevel.INFO),
debug: _filterFunc("debug", types_1.DiagLogLevel.DEBUG),
verbose: _filterFunc("verbose", types_1.DiagLogLevel.VERBOSE)
};
}
exports.createLogLevelDiagLogger = createLogLevelDiagLogger;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/diag.js
var require_diag = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagAPI = undefined;
var ComponentLogger_1 = require_ComponentLogger();
var logLevelLogger_1 = require_logLevelLogger();
var types_1 = require_types();
var global_utils_1 = require_global_utils();
var API_NAME = "diag";
class DiagAPI {
static instance() {
if (!this._instance) {
this._instance = new DiagAPI;
}
return this._instance;
}
constructor() {
function _logProxy(funcName) {
return function(...args) {
const logger27 = (0, global_utils_1.getGlobal)("diag");
if (!logger27)
return;
return logger27[funcName](...args);
};
}
const self2 = this;
const setLogger = (logger27, optionsOrLogLevel = { logLevel: types_1.DiagLogLevel.INFO }) => {
var _a3, _b, _c;
if (logger27 === self2) {
const err = new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");
self2.error((_a3 = err.stack) !== null && _a3 !== undefined ? _a3 : err.message);
return false;
}
if (typeof optionsOrLogLevel === "number") {
optionsOrLogLevel = {
logLevel: optionsOrLogLevel
};
}
const oldLogger = (0, global_utils_1.getGlobal)("diag");
const newLogger = (0, logLevelLogger_1.createLogLevelDiagLogger)((_b = optionsOrLogLevel.logLevel) !== null && _b !== undefined ? _b : types_1.DiagLogLevel.INFO, logger27);
if (oldLogger && !optionsOrLogLevel.suppressOverrideMessage) {
const stack = (_c = new Error().stack) !== null && _c !== undefined ? _c : "";
oldLogger.warn(`Current logger will be overwritten from ${stack}`);
newLogger.warn(`Current logger will overwrite one already registered from ${stack}`);
}
return (0, global_utils_1.registerGlobal)("diag", newLogger, self2, true);
};
self2.setLogger = setLogger;
self2.disable = () => {
(0, global_utils_1.unregisterGlobal)(API_NAME, self2);
};
self2.createComponentLogger = (options) => {
return new ComponentLogger_1.DiagComponentLogger(options);
};
self2.verbose = _logProxy("verbose");
self2.debug = _logProxy("debug");
self2.info = _logProxy("info");
self2.warn = _logProxy("warn");
self2.error = _logProxy("error");
}
}
exports.DiagAPI = DiagAPI;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js
var require_baggage_impl = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaggageImpl = undefined;
class BaggageImpl {
constructor(entries) {
this._entries = entries ? new Map(entries) : new Map;
}
getEntry(key) {
const entry = this._entries.get(key);
if (!entry) {
return;
}
return Object.assign({}, entry);
}
getAllEntries() {
return Array.from(this._entries.entries());
}
setEntry(key, entry) {
const newBaggage = new BaggageImpl(this._entries);
newBaggage._entries.set(key, entry);
return newBaggage;
}
removeEntry(key) {
const newBaggage = new BaggageImpl(this._entries);
newBaggage._entries.delete(key);
return newBaggage;
}
removeEntries(...keys2) {
const newBaggage = new BaggageImpl(this._entries);
for (const key of keys2) {
newBaggage._entries.delete(key);
}
return newBaggage;
}
clear() {
return new BaggageImpl;
}
}
exports.BaggageImpl = BaggageImpl;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js
var require_symbol = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.baggageEntryMetadataSymbol = undefined;
exports.baggageEntryMetadataSymbol = Symbol("BaggageEntryMetadata");
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/utils.js
var require_utils3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.baggageEntryMetadataFromString = exports.createBaggage = undefined;
var diag_1 = require_diag();
var baggage_impl_1 = require_baggage_impl();
var symbol_1 = require_symbol();
var diag = diag_1.DiagAPI.instance();
function createBaggage(entries = {}) {
return new baggage_impl_1.BaggageImpl(new Map(Object.entries(entries)));
}
exports.createBaggage = createBaggage;
function baggageEntryMetadataFromString(str) {
if (typeof str !== "string") {
diag.error(`Cannot create baggage metadata from unknown type: ${typeof str}`);
str = "";
}
return {
__TYPE__: symbol_1.baggageEntryMetadataSymbol,
toString() {
return str;
}
};
}
exports.baggageEntryMetadataFromString = baggageEntryMetadataFromString;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/context.js
var require_context = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ROOT_CONTEXT = exports.createContextKey = undefined;
function createContextKey(description) {
return Symbol.for(description);
}
exports.createContextKey = createContextKey;
class BaseContext {
constructor(parentContext) {
const self2 = this;
self2._currentContext = parentContext ? new Map(parentContext) : new Map;
self2.getValue = (key) => self2._currentContext.get(key);
self2.setValue = (key, value) => {
const context3 = new BaseContext(self2._currentContext);
context3._currentContext.set(key, value);
return context3;
};
self2.deleteValue = (key) => {
const context3 = new BaseContext(self2._currentContext);
context3._currentContext.delete(key);
return context3;
};
}
}
exports.ROOT_CONTEXT = new BaseContext;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js
var require_consoleLogger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.DiagConsoleLogger = exports._originalConsoleMethods = undefined;
var consoleMap = [
{ n: "error", c: "error" },
{ n: "warn", c: "warn" },
{ n: "info", c: "info" },
{ n: "debug", c: "debug" },
{ n: "verbose", c: "trace" }
];
exports._originalConsoleMethods = {};
if (typeof console !== "undefined") {
const keys2 = [
"error",
"warn",
"info",
"debug",
"trace",
"log"
];
for (const key of keys2) {
if (typeof console[key] === "function") {
exports._originalConsoleMethods[key] = console[key];
}
}
}
class DiagConsoleLogger {
constructor() {
function _consoleFunc(funcName) {
return function(...args) {
let theFunc = exports._originalConsoleMethods[funcName];
if (typeof theFunc !== "function") {
theFunc = exports._originalConsoleMethods["log"];
}
if (typeof theFunc !== "function" && console) {
theFunc = console[funcName];
if (typeof theFunc !== "function") {
theFunc = console.log;
}
}
if (typeof theFunc === "function") {
return theFunc.apply(console, args);
}
};
}
for (let i3 = 0;i3 < consoleMap.length; i3++) {
this[consoleMap[i3].n] = _consoleFunc(consoleMap[i3].c);
}
}
}
exports.DiagConsoleLogger = DiagConsoleLogger;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js
var require_NoopMeter = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNoopMeter = exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = exports.NOOP_OBSERVABLE_GAUGE_METRIC = exports.NOOP_OBSERVABLE_COUNTER_METRIC = exports.NOOP_UP_DOWN_COUNTER_METRIC = exports.NOOP_HISTOGRAM_METRIC = exports.NOOP_GAUGE_METRIC = exports.NOOP_COUNTER_METRIC = exports.NOOP_METER = exports.NoopObservableUpDownCounterMetric = exports.NoopObservableGaugeMetric = exports.NoopObservableCounterMetric = exports.NoopObservableMetric = exports.NoopHistogramMetric = exports.NoopGaugeMetric = exports.NoopUpDownCounterMetric = exports.NoopCounterMetric = exports.NoopMetric = exports.NoopMeter = undefined;
class NoopMeter {
constructor() {}
createGauge(_name, _options) {
return exports.NOOP_GAUGE_METRIC;
}
createHistogram(_name, _options) {
return exports.NOOP_HISTOGRAM_METRIC;
}
createCounter(_name, _options) {
return exports.NOOP_COUNTER_METRIC;
}
createUpDownCounter(_name, _options) {
return exports.NOOP_UP_DOWN_COUNTER_METRIC;
}
createObservableGauge(_name, _options) {
return exports.NOOP_OBSERVABLE_GAUGE_METRIC;
}
createObservableCounter(_name, _options) {
return exports.NOOP_OBSERVABLE_COUNTER_METRIC;
}
createObservableUpDownCounter(_name, _options) {
return exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;
}
addBatchObservableCallback(_callback, _observables) {}
removeBatchObservableCallback(_callback) {}
}
exports.NoopMeter = NoopMeter;
class NoopMetric {
}
exports.NoopMetric = NoopMetric;
class NoopCounterMetric extends NoopMetric {
add(_value, _attributes) {}
}
exports.NoopCounterMetric = NoopCounterMetric;
class NoopUpDownCounterMetric extends NoopMetric {
add(_value, _attributes) {}
}
exports.NoopUpDownCounterMetric = NoopUpDownCounterMetric;
class NoopGaugeMetric extends NoopMetric {
record(_value, _attributes) {}
}
exports.NoopGaugeMetric = NoopGaugeMetric;
class NoopHistogramMetric extends NoopMetric {
record(_value, _attributes) {}
}
exports.NoopHistogramMetric = NoopHistogramMetric;
class NoopObservableMetric {
addCallback(_callback) {}
removeCallback(_callback) {}
}
exports.NoopObservableMetric = NoopObservableMetric;
class NoopObservableCounterMetric extends NoopObservableMetric {
}
exports.NoopObservableCounterMetric = NoopObservableCounterMetric;
class NoopObservableGaugeMetric extends NoopObservableMetric {
}
exports.NoopObservableGaugeMetric = NoopObservableGaugeMetric;
class NoopObservableUpDownCounterMetric extends NoopObservableMetric {
}
exports.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric;
exports.NOOP_METER = new NoopMeter;
exports.NOOP_COUNTER_METRIC = new NoopCounterMetric;
exports.NOOP_GAUGE_METRIC = new NoopGaugeMetric;
exports.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric;
exports.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric;
exports.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric;
exports.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric;
exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric;
function createNoopMeter() {
return exports.NOOP_METER;
}
exports.createNoopMeter = createNoopMeter;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/Metric.js
var require_Metric = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValueType = undefined;
var ValueType;
(function(ValueType2) {
ValueType2[ValueType2["INT"] = 0] = "INT";
ValueType2[ValueType2["DOUBLE"] = 1] = "DOUBLE";
})(ValueType = exports.ValueType || (exports.ValueType = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js
var require_TextMapPropagator = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultTextMapSetter = exports.defaultTextMapGetter = undefined;
exports.defaultTextMapGetter = {
get(carrier, key) {
if (carrier == null) {
return;
}
return carrier[key];
},
keys(carrier) {
if (carrier == null) {
return [];
}
return Object.keys(carrier);
}
};
exports.defaultTextMapSetter = {
set(carrier, key, value) {
if (carrier == null) {
return;
}
carrier[key] = value;
}
};
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js
var require_NoopContextManager = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoopContextManager = undefined;
var context_1 = require_context();
class NoopContextManager {
active() {
return context_1.ROOT_CONTEXT;
}
with(_context, fn, thisArg, ...args) {
return fn.call(thisArg, ...args);
}
bind(_context, target) {
return target;
}
enable() {
return this;
}
disable() {
return this;
}
}
exports.NoopContextManager = NoopContextManager;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/context.js
var require_context2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContextAPI = undefined;
var NoopContextManager_1 = require_NoopContextManager();
var global_utils_1 = require_global_utils();
var diag_1 = require_diag();
var API_NAME = "context";
var NOOP_CONTEXT_MANAGER = new NoopContextManager_1.NoopContextManager;
class ContextAPI {
constructor() {}
static getInstance() {
if (!this._instance) {
this._instance = new ContextAPI;
}
return this._instance;
}
setGlobalContextManager(contextManager) {
return (0, global_utils_1.registerGlobal)(API_NAME, contextManager, diag_1.DiagAPI.instance());
}
active() {
return this._getContextManager().active();
}
with(context3, fn, thisArg, ...args) {
return this._getContextManager().with(context3, fn, thisArg, ...args);
}
bind(context3, target) {
return this._getContextManager().bind(context3, target);
}
_getContextManager() {
return (0, global_utils_1.getGlobal)(API_NAME) || NOOP_CONTEXT_MANAGER;
}
disable() {
this._getContextManager().disable();
(0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
}
}
exports.ContextAPI = ContextAPI;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js
var require_trace_flags = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.TraceFlags = undefined;
var TraceFlags;
(function(TraceFlags2) {
TraceFlags2[TraceFlags2["NONE"] = 0] = "NONE";
TraceFlags2[TraceFlags2["SAMPLED"] = 1] = "SAMPLED";
})(TraceFlags = exports.TraceFlags || (exports.TraceFlags = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js
var require_invalid_span_constants = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.INVALID_SPAN_CONTEXT = exports.INVALID_TRACEID = exports.INVALID_SPANID = undefined;
var trace_flags_1 = require_trace_flags();
exports.INVALID_SPANID = "0000000000000000";
exports.INVALID_TRACEID = "00000000000000000000000000000000";
exports.INVALID_SPAN_CONTEXT = {
traceId: exports.INVALID_TRACEID,
spanId: exports.INVALID_SPANID,
traceFlags: trace_flags_1.TraceFlags.NONE
};
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js
var require_NonRecordingSpan = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NonRecordingSpan = undefined;
var invalid_span_constants_1 = require_invalid_span_constants();
class NonRecordingSpan {
constructor(spanContext = invalid_span_constants_1.INVALID_SPAN_CONTEXT) {
this._spanContext = spanContext;
}
spanContext() {
return this._spanContext;
}
setAttribute(_key, _value) {
return this;
}
setAttributes(_attributes) {
return this;
}
addEvent(_name, _attributes) {
return this;
}
addLink(_link) {
return this;
}
addLinks(_links) {
return this;
}
setStatus(_status) {
return this;
}
updateName(_name) {
return this;
}
end(_endTime) {}
isRecording() {
return false;
}
recordException(_exception, _time) {}
}
exports.NonRecordingSpan = NonRecordingSpan;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/context-utils.js
var require_context_utils = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSpanContext = exports.setSpanContext = exports.deleteSpan = exports.setSpan = exports.getActiveSpan = exports.getSpan = undefined;
var context_1 = require_context();
var NonRecordingSpan_1 = require_NonRecordingSpan();
var context_2 = require_context2();
var SPAN_KEY = (0, context_1.createContextKey)("OpenTelemetry Context Key SPAN");
function getSpan(context3) {
return context3.getValue(SPAN_KEY) || undefined;
}
exports.getSpan = getSpan;
function getActiveSpan() {
return getSpan(context_2.ContextAPI.getInstance().active());
}
exports.getActiveSpan = getActiveSpan;
function setSpan(context3, span) {
return context3.setValue(SPAN_KEY, span);
}
exports.setSpan = setSpan;
function deleteSpan(context3) {
return context3.deleteValue(SPAN_KEY);
}
exports.deleteSpan = deleteSpan;
function setSpanContext(context3, spanContext) {
return setSpan(context3, new NonRecordingSpan_1.NonRecordingSpan(spanContext));
}
exports.setSpanContext = setSpanContext;
function getSpanContext(context3) {
var _a3;
return (_a3 = getSpan(context3)) === null || _a3 === undefined ? undefined : _a3.spanContext();
}
exports.getSpanContext = getSpanContext;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js
var require_spancontext_utils = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.wrapSpanContext = exports.isSpanContextValid = exports.isValidSpanId = exports.isValidTraceId = undefined;
var invalid_span_constants_1 = require_invalid_span_constants();
var NonRecordingSpan_1 = require_NonRecordingSpan();
var isHex = 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,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
1,
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,
1,
1,
1,
1,
1,
1
]);
function isValidHex(id, length) {
if (typeof id !== "string" || id.length !== length)
return false;
let r2 = 0;
for (let i3 = 0;i3 < id.length; i3 += 4) {
r2 += (isHex[id.charCodeAt(i3)] | 0) + (isHex[id.charCodeAt(i3 + 1)] | 0) + (isHex[id.charCodeAt(i3 + 2)] | 0) + (isHex[id.charCodeAt(i3 + 3)] | 0);
}
return r2 === length;
}
function isValidTraceId(traceId) {
return isValidHex(traceId, 32) && traceId !== invalid_span_constants_1.INVALID_TRACEID;
}
exports.isValidTraceId = isValidTraceId;
function isValidSpanId(spanId) {
return isValidHex(spanId, 16) && spanId !== invalid_span_constants_1.INVALID_SPANID;
}
exports.isValidSpanId = isValidSpanId;
function isSpanContextValid(spanContext) {
return isValidTraceId(spanContext.traceId) && isValidSpanId(spanContext.spanId);
}
exports.isSpanContextValid = isSpanContextValid;
function wrapSpanContext(spanContext) {
return new NonRecordingSpan_1.NonRecordingSpan(spanContext);
}
exports.wrapSpanContext = wrapSpanContext;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js
var require_NoopTracer = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoopTracer = undefined;
var context_1 = require_context2();
var context_utils_1 = require_context_utils();
var NonRecordingSpan_1 = require_NonRecordingSpan();
var spancontext_utils_1 = require_spancontext_utils();
var contextApi = context_1.ContextAPI.getInstance();
class NoopTracer {
startSpan(name3, options, context3 = contextApi.active()) {
const root2 = Boolean(options === null || options === undefined ? undefined : options.root);
if (root2) {
return new NonRecordingSpan_1.NonRecordingSpan;
}
const parentFromContext = context3 && (0, context_utils_1.getSpanContext)(context3);
if (isSpanContext(parentFromContext) && (0, spancontext_utils_1.isSpanContextValid)(parentFromContext)) {
return new NonRecordingSpan_1.NonRecordingSpan(parentFromContext);
} else {
return new NonRecordingSpan_1.NonRecordingSpan;
}
}
startActiveSpan(name3, arg2, arg3, arg4) {
let opts;
let ctx;
let fn;
if (arguments.length < 2) {
return;
} else if (arguments.length === 2) {
fn = arg2;
} else if (arguments.length === 3) {
opts = arg2;
fn = arg3;
} else {
opts = arg2;
ctx = arg3;
fn = arg4;
}
const parentContext = ctx !== null && ctx !== undefined ? ctx : contextApi.active();
const span = this.startSpan(name3, opts, parentContext);
const contextWithSpanSet = (0, context_utils_1.setSpan)(parentContext, span);
return contextApi.with(contextWithSpanSet, fn, undefined, span);
}
}
exports.NoopTracer = NoopTracer;
function isSpanContext(spanContext) {
return spanContext !== null && typeof spanContext === "object" && "spanId" in spanContext && typeof spanContext["spanId"] === "string" && "traceId" in spanContext && typeof spanContext["traceId"] === "string" && "traceFlags" in spanContext && typeof spanContext["traceFlags"] === "number";
}
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js
var require_ProxyTracer = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyTracer = undefined;
var NoopTracer_1 = require_NoopTracer();
var NOOP_TRACER = new NoopTracer_1.NoopTracer;
class ProxyTracer {
constructor(provider, name3, version6, options) {
this._provider = provider;
this.name = name3;
this.version = version6;
this.options = options;
}
startSpan(name3, options, context3) {
return this._getTracer().startSpan(name3, options, context3);
}
startActiveSpan(_name, _options, _context, _fn) {
const tracer = this._getTracer();
return Reflect.apply(tracer.startActiveSpan, tracer, arguments);
}
_getTracer() {
if (this._delegate) {
return this._delegate;
}
const tracer = this._provider.getDelegateTracer(this.name, this.version, this.options);
if (!tracer) {
return NOOP_TRACER;
}
this._delegate = tracer;
return this._delegate;
}
}
exports.ProxyTracer = ProxyTracer;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js
var require_NoopTracerProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoopTracerProvider = undefined;
var NoopTracer_1 = require_NoopTracer();
class NoopTracerProvider {
getTracer(_name, _version, _options) {
return new NoopTracer_1.NoopTracer;
}
}
exports.NoopTracerProvider = NoopTracerProvider;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js
var require_ProxyTracerProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyTracerProvider = undefined;
var ProxyTracer_1 = require_ProxyTracer();
var NoopTracerProvider_1 = require_NoopTracerProvider();
var NOOP_TRACER_PROVIDER = new NoopTracerProvider_1.NoopTracerProvider;
class ProxyTracerProvider {
getTracer(name3, version6, options) {
var _a3;
return (_a3 = this.getDelegateTracer(name3, version6, options)) !== null && _a3 !== undefined ? _a3 : new ProxyTracer_1.ProxyTracer(this, name3, version6, options);
}
getDelegate() {
var _a3;
return (_a3 = this._delegate) !== null && _a3 !== undefined ? _a3 : NOOP_TRACER_PROVIDER;
}
setDelegate(delegate) {
this._delegate = delegate;
}
getDelegateTracer(name3, version6, options) {
var _a3;
return (_a3 = this._delegate) === null || _a3 === undefined ? undefined : _a3.getTracer(name3, version6, options);
}
}
exports.ProxyTracerProvider = ProxyTracerProvider;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js
var require_SamplingResult = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SamplingDecision = undefined;
var SamplingDecision;
(function(SamplingDecision2) {
SamplingDecision2[SamplingDecision2["NOT_RECORD"] = 0] = "NOT_RECORD";
SamplingDecision2[SamplingDecision2["RECORD"] = 1] = "RECORD";
SamplingDecision2[SamplingDecision2["RECORD_AND_SAMPLED"] = 2] = "RECORD_AND_SAMPLED";
})(SamplingDecision = exports.SamplingDecision || (exports.SamplingDecision = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/span_kind.js
var require_span_kind = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpanKind = undefined;
var SpanKind;
(function(SpanKind2) {
SpanKind2[SpanKind2["INTERNAL"] = 0] = "INTERNAL";
SpanKind2[SpanKind2["SERVER"] = 1] = "SERVER";
SpanKind2[SpanKind2["CLIENT"] = 2] = "CLIENT";
SpanKind2[SpanKind2["PRODUCER"] = 3] = "PRODUCER";
SpanKind2[SpanKind2["CONSUMER"] = 4] = "CONSUMER";
})(SpanKind = exports.SpanKind || (exports.SpanKind = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/status.js
var require_status = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpanStatusCode = undefined;
var SpanStatusCode;
(function(SpanStatusCode2) {
SpanStatusCode2[SpanStatusCode2["UNSET"] = 0] = "UNSET";
SpanStatusCode2[SpanStatusCode2["OK"] = 1] = "OK";
SpanStatusCode2[SpanStatusCode2["ERROR"] = 2] = "ERROR";
})(SpanStatusCode = exports.SpanStatusCode || (exports.SpanStatusCode = {}));
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js
var require_tracestate_validators = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateValue = exports.validateKey = undefined;
var VALID_KEY_CHAR_RANGE = "[_0-9a-z-*/]";
var VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;
var VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;
var VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);
var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
function validateKey(key) {
return VALID_KEY_REGEX.test(key);
}
exports.validateKey = validateKey;
function validateValue(value) {
return VALID_VALUE_BASE_REGEX.test(value) && !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value);
}
exports.validateValue = validateValue;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js
var require_tracestate_impl = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.TraceStateImpl = undefined;
var tracestate_validators_1 = require_tracestate_validators();
var MAX_TRACE_STATE_ITEMS = 32;
var MAX_TRACE_STATE_LEN = 512;
var LIST_MEMBERS_SEPARATOR = ",";
var LIST_MEMBER_KEY_VALUE_SPLITTER = "=";
class TraceStateImpl {
constructor(rawTraceState) {
this._internalState = new Map;
if (rawTraceState)
this._parse(rawTraceState);
}
set(key, value) {
const traceState = this._clone();
if (traceState._internalState.has(key)) {
traceState._internalState.delete(key);
}
traceState._internalState.set(key, value);
return traceState;
}
unset(key) {
const traceState = this._clone();
traceState._internalState.delete(key);
return traceState;
}
get(key) {
return this._internalState.get(key);
}
serialize() {
return Array.from(this._internalState.keys()).reduceRight((agg, key) => {
agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));
return agg;
}, []).join(LIST_MEMBERS_SEPARATOR);
}
_parse(rawTraceState) {
if (rawTraceState.length > MAX_TRACE_STATE_LEN)
return;
this._internalState = rawTraceState.split(LIST_MEMBERS_SEPARATOR).reduceRight((agg, part) => {
const listMember = part.trim();
const i3 = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
if (i3 !== -1) {
const key = listMember.slice(0, i3);
const value = listMember.slice(i3 + 1, part.length);
if ((0, tracestate_validators_1.validateKey)(key) && (0, tracestate_validators_1.validateValue)(value)) {
agg.set(key, value);
} else {}
}
return agg;
}, new Map);
if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, MAX_TRACE_STATE_ITEMS));
}
}
_keys() {
return Array.from(this._internalState.keys()).reverse();
}
_clone() {
const traceState = new TraceStateImpl;
traceState._internalState = new Map(this._internalState);
return traceState;
}
}
exports.TraceStateImpl = TraceStateImpl;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js
var require_utils4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTraceState = undefined;
var tracestate_impl_1 = require_tracestate_impl();
function createTraceState(rawTraceState) {
return new tracestate_impl_1.TraceStateImpl(rawTraceState);
}
exports.createTraceState = createTraceState;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/context-api.js
var require_context_api = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.context = undefined;
var context_1 = require_context2();
exports.context = context_1.ContextAPI.getInstance();
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/diag-api.js
var require_diag_api = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.diag = undefined;
var diag_1 = require_diag();
exports.diag = diag_1.DiagAPI.instance();
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js
var require_NoopMeterProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NOOP_METER_PROVIDER = exports.NoopMeterProvider = undefined;
var NoopMeter_1 = require_NoopMeter();
class NoopMeterProvider {
getMeter(_name, _version, _options) {
return NoopMeter_1.NOOP_METER;
}
}
exports.NoopMeterProvider = NoopMeterProvider;
exports.NOOP_METER_PROVIDER = new NoopMeterProvider;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/metrics.js
var require_metrics = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetricsAPI = undefined;
var NoopMeterProvider_1 = require_NoopMeterProvider();
var global_utils_1 = require_global_utils();
var diag_1 = require_diag();
var API_NAME = "metrics";
class MetricsAPI {
constructor() {}
static getInstance() {
if (!this._instance) {
this._instance = new MetricsAPI;
}
return this._instance;
}
setGlobalMeterProvider(provider) {
return (0, global_utils_1.registerGlobal)(API_NAME, provider, diag_1.DiagAPI.instance());
}
getMeterProvider() {
return (0, global_utils_1.getGlobal)(API_NAME) || NoopMeterProvider_1.NOOP_METER_PROVIDER;
}
getMeter(name3, version6, options) {
return this.getMeterProvider().getMeter(name3, version6, options);
}
disable() {
(0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
}
}
exports.MetricsAPI = MetricsAPI;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/metrics-api.js
var require_metrics_api = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.metrics = undefined;
var metrics_1 = require_metrics();
exports.metrics = metrics_1.MetricsAPI.getInstance();
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js
var require_NoopTextMapPropagator = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoopTextMapPropagator = undefined;
class NoopTextMapPropagator {
inject(_context, _carrier) {}
extract(context3, _carrier) {
return context3;
}
fields() {
return [];
}
}
exports.NoopTextMapPropagator = NoopTextMapPropagator;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js
var require_context_helpers = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.deleteBaggage = exports.setBaggage = exports.getActiveBaggage = exports.getBaggage = undefined;
var context_1 = require_context2();
var context_2 = require_context();
var BAGGAGE_KEY = (0, context_2.createContextKey)("OpenTelemetry Baggage Key");
function getBaggage(context3) {
return context3.getValue(BAGGAGE_KEY) || undefined;
}
exports.getBaggage = getBaggage;
function getActiveBaggage() {
return getBaggage(context_1.ContextAPI.getInstance().active());
}
exports.getActiveBaggage = getActiveBaggage;
function setBaggage(context3, baggage) {
return context3.setValue(BAGGAGE_KEY, baggage);
}
exports.setBaggage = setBaggage;
function deleteBaggage(context3) {
return context3.deleteValue(BAGGAGE_KEY);
}
exports.deleteBaggage = deleteBaggage;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/propagation.js
var require_propagation = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.PropagationAPI = undefined;
var global_utils_1 = require_global_utils();
var NoopTextMapPropagator_1 = require_NoopTextMapPropagator();
var TextMapPropagator_1 = require_TextMapPropagator();
var context_helpers_1 = require_context_helpers();
var utils_1 = require_utils3();
var diag_1 = require_diag();
var API_NAME = "propagation";
var NOOP_TEXT_MAP_PROPAGATOR = new NoopTextMapPropagator_1.NoopTextMapPropagator;
class PropagationAPI {
constructor() {
this.createBaggage = utils_1.createBaggage;
this.getBaggage = context_helpers_1.getBaggage;
this.getActiveBaggage = context_helpers_1.getActiveBaggage;
this.setBaggage = context_helpers_1.setBaggage;
this.deleteBaggage = context_helpers_1.deleteBaggage;
}
static getInstance() {
if (!this._instance) {
this._instance = new PropagationAPI;
}
return this._instance;
}
setGlobalPropagator(propagator) {
return (0, global_utils_1.registerGlobal)(API_NAME, propagator, diag_1.DiagAPI.instance());
}
inject(context3, carrier, setter = TextMapPropagator_1.defaultTextMapSetter) {
return this._getGlobalPropagator().inject(context3, carrier, setter);
}
extract(context3, carrier, getter = TextMapPropagator_1.defaultTextMapGetter) {
return this._getGlobalPropagator().extract(context3, carrier, getter);
}
fields() {
return this._getGlobalPropagator().fields();
}
disable() {
(0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
}
_getGlobalPropagator() {
return (0, global_utils_1.getGlobal)(API_NAME) || NOOP_TEXT_MAP_PROPAGATOR;
}
}
exports.PropagationAPI = PropagationAPI;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/propagation-api.js
var require_propagation_api = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.propagation = undefined;
var propagation_1 = require_propagation();
exports.propagation = propagation_1.PropagationAPI.getInstance();
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/api/trace.js
var require_trace = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.TraceAPI = undefined;
var global_utils_1 = require_global_utils();
var ProxyTracerProvider_1 = require_ProxyTracerProvider();
var spancontext_utils_1 = require_spancontext_utils();
var context_utils_1 = require_context_utils();
var diag_1 = require_diag();
var API_NAME = "trace";
class TraceAPI {
constructor() {
this._proxyTracerProvider = new ProxyTracerProvider_1.ProxyTracerProvider;
this.wrapSpanContext = spancontext_utils_1.wrapSpanContext;
this.isSpanContextValid = spancontext_utils_1.isSpanContextValid;
this.deleteSpan = context_utils_1.deleteSpan;
this.getSpan = context_utils_1.getSpan;
this.getActiveSpan = context_utils_1.getActiveSpan;
this.getSpanContext = context_utils_1.getSpanContext;
this.setSpan = context_utils_1.setSpan;
this.setSpanContext = context_utils_1.setSpanContext;
}
static getInstance() {
if (!this._instance) {
this._instance = new TraceAPI;
}
return this._instance;
}
setGlobalTracerProvider(provider) {
const success2 = (0, global_utils_1.registerGlobal)(API_NAME, this._proxyTracerProvider, diag_1.DiagAPI.instance());
if (success2) {
this._proxyTracerProvider.setDelegate(provider);
}
return success2;
}
getTracerProvider() {
return (0, global_utils_1.getGlobal)(API_NAME) || this._proxyTracerProvider;
}
getTracer(name3, version6) {
return this.getTracerProvider().getTracer(name3, version6);
}
disable() {
(0, global_utils_1.unregisterGlobal)(API_NAME, diag_1.DiagAPI.instance());
this._proxyTracerProvider = new ProxyTracerProvider_1.ProxyTracerProvider;
}
}
exports.TraceAPI = TraceAPI;
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/trace-api.js
var require_trace_api = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.trace = undefined;
var trace_1 = require_trace();
exports.trace = trace_1.TraceAPI.getInstance();
});
// node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/src/index.js
var require_src6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.trace = exports.propagation = exports.metrics = exports.diag = exports.context = exports.INVALID_SPAN_CONTEXT = exports.INVALID_TRACEID = exports.INVALID_SPANID = exports.isValidSpanId = exports.isValidTraceId = exports.isSpanContextValid = exports.createTraceState = exports.TraceFlags = exports.SpanStatusCode = exports.SpanKind = exports.SamplingDecision = exports.ProxyTracerProvider = exports.ProxyTracer = exports.defaultTextMapSetter = exports.defaultTextMapGetter = exports.ValueType = exports.createNoopMeter = exports.DiagLogLevel = exports.DiagConsoleLogger = exports.ROOT_CONTEXT = exports.createContextKey = exports.baggageEntryMetadataFromString = undefined;
var utils_1 = require_utils3();
Object.defineProperty(exports, "baggageEntryMetadataFromString", { enumerable: true, get: function() {
return utils_1.baggageEntryMetadataFromString;
} });
var context_1 = require_context();
Object.defineProperty(exports, "createContextKey", { enumerable: true, get: function() {
return context_1.createContextKey;
} });
Object.defineProperty(exports, "ROOT_CONTEXT", { enumerable: true, get: function() {
return context_1.ROOT_CONTEXT;
} });
var consoleLogger_1 = require_consoleLogger();
Object.defineProperty(exports, "DiagConsoleLogger", { enumerable: true, get: function() {
return consoleLogger_1.DiagConsoleLogger;
} });
var types_1 = require_types();
Object.defineProperty(exports, "DiagLogLevel", { enumerable: true, get: function() {
return types_1.DiagLogLevel;
} });
var NoopMeter_1 = require_NoopMeter();
Object.defineProperty(exports, "createNoopMeter", { enumerable: true, get: function() {
return NoopMeter_1.createNoopMeter;
} });
var Metric_1 = require_Metric();
Object.defineProperty(exports, "ValueType", { enumerable: true, get: function() {
return Metric_1.ValueType;
} });
var TextMapPropagator_1 = require_TextMapPropagator();
Object.defineProperty(exports, "defaultTextMapGetter", { enumerable: true, get: function() {
return TextMapPropagator_1.defaultTextMapGetter;
} });
Object.defineProperty(exports, "defaultTextMapSetter", { enumerable: true, get: function() {
return TextMapPropagator_1.defaultTextMapSetter;
} });
var ProxyTracer_1 = require_ProxyTracer();
Object.defineProperty(exports, "ProxyTracer", { enumerable: true, get: function() {
return ProxyTracer_1.ProxyTracer;
} });
var ProxyTracerProvider_1 = require_ProxyTracerProvider();
Object.defineProperty(exports, "ProxyTracerProvider", { enumerable: true, get: function() {
return ProxyTracerProvider_1.ProxyTracerProvider;
} });
var SamplingResult_1 = require_SamplingResult();
Object.defineProperty(exports, "SamplingDecision", { enumerable: true, get: function() {
return SamplingResult_1.SamplingDecision;
} });
var span_kind_1 = require_span_kind();
Object.defineProperty(exports, "SpanKind", { enumerable: true, get: function() {
return span_kind_1.SpanKind;
} });
var status_1 = require_status();
Object.defineProperty(exports, "SpanStatusCode", { enumerable: true, get: function() {
return status_1.SpanStatusCode;
} });
var trace_flags_1 = require_trace_flags();
Object.defineProperty(exports, "TraceFlags", { enumerable: true, get: function() {
return trace_flags_1.TraceFlags;
} });
var utils_2 = require_utils4();
Object.defineProperty(exports, "createTraceState", { enumerable: true, get: function() {
return utils_2.createTraceState;
} });
var spancontext_utils_1 = require_spancontext_utils();
Object.defineProperty(exports, "isSpanContextValid", { enumerable: true, get: function() {
return spancontext_utils_1.isSpanContextValid;
} });
Object.defineProperty(exports, "isValidTraceId", { enumerable: true, get: function() {
return spancontext_utils_1.isValidTraceId;
} });
Object.defineProperty(exports, "isValidSpanId", { enumerable: true, get: function() {
return spancontext_utils_1.isValidSpanId;
} });
var invalid_span_constants_1 = require_invalid_span_constants();
Object.defineProperty(exports, "INVALID_SPANID", { enumerable: true, get: function() {
return invalid_span_constants_1.INVALID_SPANID;
} });
Object.defineProperty(exports, "INVALID_TRACEID", { enumerable: true, get: function() {
return invalid_span_constants_1.INVALID_TRACEID;
} });
Object.defineProperty(exports, "INVALID_SPAN_CONTEXT", { enumerable: true, get: function() {
return invalid_span_constants_1.INVALID_SPAN_CONTEXT;
} });
var context_api_1 = require_context_api();
Object.defineProperty(exports, "context", { enumerable: true, get: function() {
return context_api_1.context;
} });
var diag_api_1 = require_diag_api();
Object.defineProperty(exports, "diag", { enumerable: true, get: function() {
return diag_api_1.diag;
} });
var metrics_api_1 = require_metrics_api();
Object.defineProperty(exports, "metrics", { enumerable: true, get: function() {
return metrics_api_1.metrics;
} });
var propagation_api_1 = require_propagation_api();
Object.defineProperty(exports, "propagation", { enumerable: true, get: function() {
return propagation_api_1.propagation;
} });
var trace_api_1 = require_trace_api();
Object.defineProperty(exports, "trace", { enumerable: true, get: function() {
return trace_api_1.trace;
} });
exports.default = {
context: context_api_1.context,
diag: diag_api_1.diag,
metrics: metrics_api_1.metrics,
propagation: propagation_api_1.propagation,
trace: trace_api_1.trace
};
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js
var require_suppress_tracing = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isTracingSuppressed = exports.unsuppressTracing = exports.suppressTracing = undefined;
var api_1 = require_src6();
var SUPPRESS_TRACING_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
function suppressTracing(context3) {
return context3.setValue(SUPPRESS_TRACING_KEY, true);
}
exports.suppressTracing = suppressTracing;
function unsuppressTracing(context3) {
return context3.deleteValue(SUPPRESS_TRACING_KEY);
}
exports.unsuppressTracing = unsuppressTracing;
function isTracingSuppressed(context3) {
return context3.getValue(SUPPRESS_TRACING_KEY) === true;
}
exports.isTracingSuppressed = isTracingSuppressed;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/constants.js
var require_constants9 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BAGGAGE_MAX_TOTAL_LENGTH = exports.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = exports.BAGGAGE_MAX_NAME_VALUE_PAIRS = exports.BAGGAGE_HEADER = exports.BAGGAGE_ITEMS_SEPARATOR = exports.BAGGAGE_PROPERTIES_SEPARATOR = exports.BAGGAGE_KEY_PAIR_SEPARATOR = undefined;
exports.BAGGAGE_KEY_PAIR_SEPARATOR = "=";
exports.BAGGAGE_PROPERTIES_SEPARATOR = ";";
exports.BAGGAGE_ITEMS_SEPARATOR = ",";
exports.BAGGAGE_HEADER = "baggage";
exports.BAGGAGE_MAX_NAME_VALUE_PAIRS = 180;
exports.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = 4096;
exports.BAGGAGE_MAX_TOTAL_LENGTH = 8192;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/utils.js
var require_utils5 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseKeyPairsIntoRecord = exports.parsePairKeyValue = exports.getKeyPairs = exports.serializeKeyPairs = undefined;
var api_1 = require_src6();
var constants_1 = require_constants9();
function serializeKeyPairs(keyPairs) {
return keyPairs.reduce((hValue, current) => {
const value = `${hValue}${hValue !== "" ? constants_1.BAGGAGE_ITEMS_SEPARATOR : ""}${current}`;
return value.length > constants_1.BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;
}, "");
}
exports.serializeKeyPairs = serializeKeyPairs;
function getKeyPairs(baggage) {
return baggage.getAllEntries().map(([key, value]) => {
let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;
if (value.metadata !== undefined) {
entry += constants_1.BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();
}
return entry;
});
}
exports.getKeyPairs = getKeyPairs;
function parsePairKeyValue(entry) {
if (!entry)
return;
const metadataSeparatorIndex = entry.indexOf(constants_1.BAGGAGE_PROPERTIES_SEPARATOR);
const keyPairPart = metadataSeparatorIndex === -1 ? entry : entry.substring(0, metadataSeparatorIndex);
const separatorIndex = keyPairPart.indexOf(constants_1.BAGGAGE_KEY_PAIR_SEPARATOR);
if (separatorIndex <= 0)
return;
const rawKey = keyPairPart.substring(0, separatorIndex).trim();
const rawValue = keyPairPart.substring(separatorIndex + 1).trim();
if (!rawKey || !rawValue)
return;
let key;
let value;
try {
key = decodeURIComponent(rawKey);
value = decodeURIComponent(rawValue);
} catch {
return;
}
let metadata;
if (metadataSeparatorIndex !== -1 && metadataSeparatorIndex < entry.length - 1) {
const metadataString = entry.substring(metadataSeparatorIndex + 1);
metadata = (0, api_1.baggageEntryMetadataFromString)(metadataString);
}
return { key, value, metadata };
}
exports.parsePairKeyValue = parsePairKeyValue;
function parseKeyPairsIntoRecord(value) {
const result = {};
if (typeof value === "string" && value.length > 0) {
value.split(constants_1.BAGGAGE_ITEMS_SEPARATOR).forEach((entry) => {
const keyPair = parsePairKeyValue(entry);
if (keyPair !== undefined && keyPair.value.length > 0) {
result[keyPair.key] = keyPair.value;
}
});
}
return result;
}
exports.parseKeyPairsIntoRecord = parseKeyPairsIntoRecord;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js
var require_W3CBaggagePropagator = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.W3CBaggagePropagator = undefined;
var api_1 = require_src6();
var suppress_tracing_1 = require_suppress_tracing();
var constants_1 = require_constants9();
var utils_1 = require_utils5();
class W3CBaggagePropagator {
inject(context3, carrier, setter) {
const baggage = api_1.propagation.getBaggage(context3);
if (!baggage || (0, suppress_tracing_1.isTracingSuppressed)(context3))
return;
const keyPairs = (0, utils_1.getKeyPairs)(baggage).filter((pair) => {
return pair.length <= constants_1.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;
}).slice(0, constants_1.BAGGAGE_MAX_NAME_VALUE_PAIRS);
const headerValue = (0, utils_1.serializeKeyPairs)(keyPairs);
if (headerValue.length > 0) {
setter.set(carrier, constants_1.BAGGAGE_HEADER, headerValue);
}
}
extract(context3, carrier, getter) {
const headerValue = getter.get(carrier, constants_1.BAGGAGE_HEADER);
const baggageString = Array.isArray(headerValue) ? headerValue.join(constants_1.BAGGAGE_ITEMS_SEPARATOR) : headerValue;
if (!baggageString)
return context3;
const baggage = {};
if (baggageString.length === 0) {
return context3;
}
const pairs = baggageString.split(constants_1.BAGGAGE_ITEMS_SEPARATOR);
pairs.forEach((entry) => {
const keyPair = (0, utils_1.parsePairKeyValue)(entry);
if (keyPair) {
const baggageEntry = { value: keyPair.value };
if (keyPair.metadata) {
baggageEntry.metadata = keyPair.metadata;
}
baggage[keyPair.key] = baggageEntry;
}
});
if (Object.entries(baggage).length === 0) {
return context3;
}
return api_1.propagation.setBaggage(context3, api_1.propagation.createBaggage(baggage));
}
fields() {
return [constants_1.BAGGAGE_HEADER];
}
}
exports.W3CBaggagePropagator = W3CBaggagePropagator;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/anchored-clock.js
var require_anchored_clock = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnchoredClock = undefined;
class AnchoredClock {
_monotonicClock;
_epochMillis;
_performanceMillis;
constructor(systemClock, monotonicClock) {
this._monotonicClock = monotonicClock;
this._epochMillis = systemClock.now();
this._performanceMillis = monotonicClock.now();
}
now() {
const delta = this._monotonicClock.now() - this._performanceMillis;
return this._epochMillis + delta;
}
}
exports.AnchoredClock = AnchoredClock;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/attributes.js
var require_attributes = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAttributeValue = exports.isAttributeKey = exports.sanitizeAttributes = undefined;
var api_1 = require_src6();
function sanitizeAttributes(attributes) {
const out = {};
if (typeof attributes !== "object" || attributes == null) {
return out;
}
for (const key in attributes) {
if (!Object.prototype.hasOwnProperty.call(attributes, key)) {
continue;
}
if (!isAttributeKey(key)) {
api_1.diag.warn(`Invalid attribute key: ${key}`);
continue;
}
const val = attributes[key];
if (!isAttributeValue(val)) {
api_1.diag.warn(`Invalid attribute value set for key: ${key}`);
continue;
}
if (Array.isArray(val)) {
out[key] = val.slice();
} else {
out[key] = val;
}
}
return out;
}
exports.sanitizeAttributes = sanitizeAttributes;
function isAttributeKey(key) {
return typeof key === "string" && key !== "";
}
exports.isAttributeKey = isAttributeKey;
function isAttributeValue(val) {
if (val == null) {
return true;
}
if (Array.isArray(val)) {
return isHomogeneousAttributeValueArray(val);
}
return isValidPrimitiveAttributeValueType(typeof val);
}
exports.isAttributeValue = isAttributeValue;
function isHomogeneousAttributeValueArray(arr) {
let type;
for (const element of arr) {
if (element == null)
continue;
const elementType = typeof element;
if (elementType === type) {
continue;
}
if (!type) {
if (isValidPrimitiveAttributeValueType(elementType)) {
type = elementType;
continue;
}
return false;
}
return false;
}
return true;
}
function isValidPrimitiveAttributeValueType(valType) {
switch (valType) {
case "number":
case "boolean":
case "string":
return true;
}
return false;
}
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js
var require_logging_error_handler = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.loggingErrorHandler = undefined;
var api_1 = require_src6();
function loggingErrorHandler() {
return (ex) => {
api_1.diag.error(stringifyException(ex));
};
}
exports.loggingErrorHandler = loggingErrorHandler;
function stringifyException(ex) {
if (typeof ex === "string") {
return ex;
} else {
return JSON.stringify(flattenException(ex));
}
}
function flattenException(ex) {
const result = {};
let current = ex;
while (current !== null) {
Object.getOwnPropertyNames(current).forEach((propertyName) => {
if (result[propertyName])
return;
const value = current[propertyName];
if (value) {
result[propertyName] = String(value);
}
});
current = Object.getPrototypeOf(current);
}
return result;
}
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/global-error-handler.js
var require_global_error_handler = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.globalErrorHandler = exports.setGlobalErrorHandler = undefined;
var logging_error_handler_1 = require_logging_error_handler();
var delegateHandler = (0, logging_error_handler_1.loggingErrorHandler)();
function setGlobalErrorHandler(handler) {
delegateHandler = handler;
}
exports.setGlobalErrorHandler = setGlobalErrorHandler;
function globalErrorHandler(ex) {
try {
delegateHandler(ex);
} catch {}
}
exports.globalErrorHandler = globalErrorHandler;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/environment.js
var require_environment = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStringListFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports.getNumberFromEnv = undefined;
var api_1 = require_src6();
var util_1 = __require("util");
function getNumberFromEnv(key) {
const raw = process.env[key];
if (raw == null || raw.trim() === "") {
return;
}
const value = Number(raw);
if (isNaN(value)) {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected a number, using defaults`);
return;
}
return value;
}
exports.getNumberFromEnv = getNumberFromEnv;
function getStringFromEnv(key) {
const raw = process.env[key];
if (raw == null || raw.trim() === "") {
return;
}
return raw;
}
exports.getStringFromEnv = getStringFromEnv;
function getBooleanFromEnv(key) {
const raw = process.env[key]?.trim().toLowerCase();
if (raw == null || raw === "") {
return false;
}
if (raw === "true") {
return true;
} else if (raw === "false") {
return false;
} else {
api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected 'true' or 'false', falling back to 'false' (default)`);
return false;
}
}
exports.getBooleanFromEnv = getBooleanFromEnv;
function getStringListFromEnv(key) {
return getStringFromEnv(key)?.split(",").map((v2) => v2.trim()).filter((s2) => s2 !== "");
}
exports.getStringListFromEnv = getStringListFromEnv;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/globalThis.js
var require_globalThis = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports._globalThis = undefined;
exports._globalThis = globalThis;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/version.js
var require_version3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.VERSION = undefined;
exports.VERSION = "2.6.1";
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/internal/utils.js
var require_utils6 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createConstMap = undefined;
function createConstMap(values2) {
let res = {};
const len = values2.length;
for (let lp = 0;lp < len; lp++) {
const val = values2[lp];
if (val) {
res[String(val).toUpperCase().replace(/[-.]/g, "_")] = val;
}
}
return res;
}
exports.createConstMap = createConstMap;
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/trace/SemanticAttributes.js
var require_SemanticAttributes = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SEMATTRS_NET_HOST_CARRIER_ICC = exports.SEMATTRS_NET_HOST_CARRIER_MNC = exports.SEMATTRS_NET_HOST_CARRIER_MCC = exports.SEMATTRS_NET_HOST_CARRIER_NAME = exports.SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = exports.SEMATTRS_NET_HOST_CONNECTION_TYPE = exports.SEMATTRS_NET_HOST_NAME = exports.SEMATTRS_NET_HOST_PORT = exports.SEMATTRS_NET_HOST_IP = exports.SEMATTRS_NET_PEER_NAME = exports.SEMATTRS_NET_PEER_PORT = exports.SEMATTRS_NET_PEER_IP = exports.SEMATTRS_NET_TRANSPORT = exports.SEMATTRS_FAAS_INVOKED_REGION = exports.SEMATTRS_FAAS_INVOKED_PROVIDER = exports.SEMATTRS_FAAS_INVOKED_NAME = exports.SEMATTRS_FAAS_COLDSTART = exports.SEMATTRS_FAAS_CRON = exports.SEMATTRS_FAAS_TIME = exports.SEMATTRS_FAAS_DOCUMENT_NAME = exports.SEMATTRS_FAAS_DOCUMENT_TIME = exports.SEMATTRS_FAAS_DOCUMENT_OPERATION = exports.SEMATTRS_FAAS_DOCUMENT_COLLECTION = exports.SEMATTRS_FAAS_EXECUTION = exports.SEMATTRS_FAAS_TRIGGER = exports.SEMATTRS_EXCEPTION_ESCAPED = exports.SEMATTRS_EXCEPTION_STACKTRACE = exports.SEMATTRS_EXCEPTION_MESSAGE = exports.SEMATTRS_EXCEPTION_TYPE = exports.SEMATTRS_DB_SQL_TABLE = exports.SEMATTRS_DB_MONGODB_COLLECTION = exports.SEMATTRS_DB_REDIS_DATABASE_INDEX = exports.SEMATTRS_DB_HBASE_NAMESPACE = exports.SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = exports.SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = exports.SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = exports.SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = exports.SEMATTRS_DB_CASSANDRA_TABLE = exports.SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = exports.SEMATTRS_DB_CASSANDRA_PAGE_SIZE = exports.SEMATTRS_DB_CASSANDRA_KEYSPACE = exports.SEMATTRS_DB_MSSQL_INSTANCE_NAME = exports.SEMATTRS_DB_OPERATION = exports.SEMATTRS_DB_STATEMENT = exports.SEMATTRS_DB_NAME = exports.SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = exports.SEMATTRS_DB_USER = exports.SEMATTRS_DB_CONNECTION_STRING = exports.SEMATTRS_DB_SYSTEM = exports.SEMATTRS_AWS_LAMBDA_INVOKED_ARN = undefined;
exports.SEMATTRS_MESSAGING_DESTINATION_KIND = exports.SEMATTRS_MESSAGING_DESTINATION = exports.SEMATTRS_MESSAGING_SYSTEM = exports.SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = exports.SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = exports.SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = exports.SEMATTRS_AWS_DYNAMODB_COUNT = exports.SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = exports.SEMATTRS_AWS_DYNAMODB_SEGMENT = exports.SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = exports.SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = exports.SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = exports.SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = exports.SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = exports.SEMATTRS_AWS_DYNAMODB_SELECT = exports.SEMATTRS_AWS_DYNAMODB_INDEX_NAME = exports.SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = exports.SEMATTRS_AWS_DYNAMODB_LIMIT = exports.SEMATTRS_AWS_DYNAMODB_PROJECTION = exports.SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = exports.SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = exports.SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = exports.SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = exports.SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = exports.SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = exports.SEMATTRS_HTTP_CLIENT_IP = exports.SEMATTRS_HTTP_ROUTE = exports.SEMATTRS_HTTP_SERVER_NAME = exports.SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = exports.SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = exports.SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = exports.SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = exports.SEMATTRS_HTTP_USER_AGENT = exports.SEMATTRS_HTTP_FLAVOR = exports.SEMATTRS_HTTP_STATUS_CODE = exports.SEMATTRS_HTTP_SCHEME = exports.SEMATTRS_HTTP_HOST = exports.SEMATTRS_HTTP_TARGET = exports.SEMATTRS_HTTP_URL = exports.SEMATTRS_HTTP_METHOD = exports.SEMATTRS_CODE_LINENO = exports.SEMATTRS_CODE_FILEPATH = exports.SEMATTRS_CODE_NAMESPACE = exports.SEMATTRS_CODE_FUNCTION = exports.SEMATTRS_THREAD_NAME = exports.SEMATTRS_THREAD_ID = exports.SEMATTRS_ENDUSER_SCOPE = exports.SEMATTRS_ENDUSER_ROLE = exports.SEMATTRS_ENDUSER_ID = exports.SEMATTRS_PEER_SERVICE = undefined;
exports.DBSYSTEMVALUES_FILEMAKER = exports.DBSYSTEMVALUES_DERBY = exports.DBSYSTEMVALUES_FIREBIRD = exports.DBSYSTEMVALUES_ADABAS = exports.DBSYSTEMVALUES_CACHE = exports.DBSYSTEMVALUES_EDB = exports.DBSYSTEMVALUES_FIRSTSQL = exports.DBSYSTEMVALUES_INGRES = exports.DBSYSTEMVALUES_HANADB = exports.DBSYSTEMVALUES_MAXDB = exports.DBSYSTEMVALUES_PROGRESS = exports.DBSYSTEMVALUES_HSQLDB = exports.DBSYSTEMVALUES_CLOUDSCAPE = exports.DBSYSTEMVALUES_HIVE = exports.DBSYSTEMVALUES_REDSHIFT = exports.DBSYSTEMVALUES_POSTGRESQL = exports.DBSYSTEMVALUES_DB2 = exports.DBSYSTEMVALUES_ORACLE = exports.DBSYSTEMVALUES_MYSQL = exports.DBSYSTEMVALUES_MSSQL = exports.DBSYSTEMVALUES_OTHER_SQL = exports.SemanticAttributes = exports.SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = exports.SEMATTRS_MESSAGE_COMPRESSED_SIZE = exports.SEMATTRS_MESSAGE_ID = exports.SEMATTRS_MESSAGE_TYPE = exports.SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = exports.SEMATTRS_RPC_JSONRPC_ERROR_CODE = exports.SEMATTRS_RPC_JSONRPC_REQUEST_ID = exports.SEMATTRS_RPC_JSONRPC_VERSION = exports.SEMATTRS_RPC_GRPC_STATUS_CODE = exports.SEMATTRS_RPC_METHOD = exports.SEMATTRS_RPC_SERVICE = exports.SEMATTRS_RPC_SYSTEM = exports.SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = exports.SEMATTRS_MESSAGING_KAFKA_PARTITION = exports.SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = exports.SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = exports.SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = exports.SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = exports.SEMATTRS_MESSAGING_CONSUMER_ID = exports.SEMATTRS_MESSAGING_OPERATION = exports.SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = exports.SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = exports.SEMATTRS_MESSAGING_CONVERSATION_ID = exports.SEMATTRS_MESSAGING_MESSAGE_ID = exports.SEMATTRS_MESSAGING_URL = exports.SEMATTRS_MESSAGING_PROTOCOL_VERSION = exports.SEMATTRS_MESSAGING_PROTOCOL = exports.SEMATTRS_MESSAGING_TEMP_DESTINATION = undefined;
exports.FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = exports.FaasDocumentOperationValues = exports.FAASDOCUMENTOPERATIONVALUES_DELETE = exports.FAASDOCUMENTOPERATIONVALUES_EDIT = exports.FAASDOCUMENTOPERATIONVALUES_INSERT = exports.FaasTriggerValues = exports.FAASTRIGGERVALUES_OTHER = exports.FAASTRIGGERVALUES_TIMER = exports.FAASTRIGGERVALUES_PUBSUB = exports.FAASTRIGGERVALUES_HTTP = exports.FAASTRIGGERVALUES_DATASOURCE = exports.DbCassandraConsistencyLevelValues = exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = exports.DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = exports.DBCASSANDRACONSISTENCYLEVELVALUES_ANY = exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = exports.DBCASSANDRACONSISTENCYLEVELVALUES_THREE = exports.DBCASSANDRACONSISTENCYLEVELVALUES_TWO = exports.DBCASSANDRACONSISTENCYLEVELVALUES_ONE = exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = exports.DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = exports.DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = exports.DBCASSANDRACONSISTENCYLEVELVALUES_ALL = exports.DbSystemValues = exports.DBSYSTEMVALUES_COCKROACHDB = exports.DBSYSTEMVALUES_MEMCACHED = exports.DBSYSTEMVALUES_ELASTICSEARCH = exports.DBSYSTEMVALUES_GEODE = exports.DBSYSTEMVALUES_NEO4J = exports.DBSYSTEMVALUES_DYNAMODB = exports.DBSYSTEMVALUES_COSMOSDB = exports.DBSYSTEMVALUES_COUCHDB = exports.DBSYSTEMVALUES_COUCHBASE = exports.DBSYSTEMVALUES_REDIS = exports.DBSYSTEMVALUES_MONGODB = exports.DBSYSTEMVALUES_HBASE = exports.DBSYSTEMVALUES_CASSANDRA = exports.DBSYSTEMVALUES_COLDFUSION = exports.DBSYSTEMVALUES_H2 = exports.DBSYSTEMVALUES_VERTICA = exports.DBSYSTEMVALUES_TERADATA = exports.DBSYSTEMVALUES_SYBASE = exports.DBSYSTEMVALUES_SQLITE = exports.DBSYSTEMVALUES_POINTBASE = exports.DBSYSTEMVALUES_PERVASIVE = exports.DBSYSTEMVALUES_NETEZZA = exports.DBSYSTEMVALUES_MARIADB = exports.DBSYSTEMVALUES_INTERBASE = exports.DBSYSTEMVALUES_INSTANTDB = exports.DBSYSTEMVALUES_INFORMIX = undefined;
exports.MESSAGINGOPERATIONVALUES_RECEIVE = exports.MessagingDestinationKindValues = exports.MESSAGINGDESTINATIONKINDVALUES_TOPIC = exports.MESSAGINGDESTINATIONKINDVALUES_QUEUE = exports.HttpFlavorValues = exports.HTTPFLAVORVALUES_QUIC = exports.HTTPFLAVORVALUES_SPDY = exports.HTTPFLAVORVALUES_HTTP_2_0 = exports.HTTPFLAVORVALUES_HTTP_1_1 = exports.HTTPFLAVORVALUES_HTTP_1_0 = exports.NetHostConnectionSubtypeValues = exports.NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_NR = exports.NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = exports.NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_GSM = exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = exports.NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = exports.NETHOSTCONNECTIONSUBTYPEVALUES_LTE = exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = exports.NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = exports.NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = exports.NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = exports.NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = exports.NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = exports.NetHostConnectionTypeValues = exports.NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = exports.NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = exports.NETHOSTCONNECTIONTYPEVALUES_CELL = exports.NETHOSTCONNECTIONTYPEVALUES_WIRED = exports.NETHOSTCONNECTIONTYPEVALUES_WIFI = exports.NetTransportValues = exports.NETTRANSPORTVALUES_OTHER = exports.NETTRANSPORTVALUES_INPROC = exports.NETTRANSPORTVALUES_PIPE = exports.NETTRANSPORTVALUES_UNIX = exports.NETTRANSPORTVALUES_IP = exports.NETTRANSPORTVALUES_IP_UDP = exports.NETTRANSPORTVALUES_IP_TCP = exports.FaasInvokedProviderValues = exports.FAASINVOKEDPROVIDERVALUES_GCP = exports.FAASINVOKEDPROVIDERVALUES_AZURE = exports.FAASINVOKEDPROVIDERVALUES_AWS = undefined;
exports.MessageTypeValues = exports.MESSAGETYPEVALUES_RECEIVED = exports.MESSAGETYPEVALUES_SENT = exports.RpcGrpcStatusCodeValues = exports.RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = exports.RPCGRPCSTATUSCODEVALUES_DATA_LOSS = exports.RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = exports.RPCGRPCSTATUSCODEVALUES_INTERNAL = exports.RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = exports.RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = exports.RPCGRPCSTATUSCODEVALUES_ABORTED = exports.RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = exports.RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = exports.RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = exports.RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = exports.RPCGRPCSTATUSCODEVALUES_NOT_FOUND = exports.RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = exports.RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = exports.RPCGRPCSTATUSCODEVALUES_UNKNOWN = exports.RPCGRPCSTATUSCODEVALUES_CANCELLED = exports.RPCGRPCSTATUSCODEVALUES_OK = exports.MessagingOperationValues = exports.MESSAGINGOPERATIONVALUES_PROCESS = undefined;
var utils_1 = require_utils6();
var TMP_AWS_LAMBDA_INVOKED_ARN = "aws.lambda.invoked_arn";
var TMP_DB_SYSTEM = "db.system";
var TMP_DB_CONNECTION_STRING = "db.connection_string";
var TMP_DB_USER = "db.user";
var TMP_DB_JDBC_DRIVER_CLASSNAME = "db.jdbc.driver_classname";
var TMP_DB_NAME = "db.name";
var TMP_DB_STATEMENT = "db.statement";
var TMP_DB_OPERATION = "db.operation";
var TMP_DB_MSSQL_INSTANCE_NAME = "db.mssql.instance_name";
var TMP_DB_CASSANDRA_KEYSPACE = "db.cassandra.keyspace";
var TMP_DB_CASSANDRA_PAGE_SIZE = "db.cassandra.page_size";
var TMP_DB_CASSANDRA_CONSISTENCY_LEVEL = "db.cassandra.consistency_level";
var TMP_DB_CASSANDRA_TABLE = "db.cassandra.table";
var TMP_DB_CASSANDRA_IDEMPOTENCE = "db.cassandra.idempotence";
var TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = "db.cassandra.speculative_execution_count";
var TMP_DB_CASSANDRA_COORDINATOR_ID = "db.cassandra.coordinator.id";
var TMP_DB_CASSANDRA_COORDINATOR_DC = "db.cassandra.coordinator.dc";
var TMP_DB_HBASE_NAMESPACE = "db.hbase.namespace";
var TMP_DB_REDIS_DATABASE_INDEX = "db.redis.database_index";
var TMP_DB_MONGODB_COLLECTION = "db.mongodb.collection";
var TMP_DB_SQL_TABLE = "db.sql.table";
var TMP_EXCEPTION_TYPE = "exception.type";
var TMP_EXCEPTION_MESSAGE = "exception.message";
var TMP_EXCEPTION_STACKTRACE = "exception.stacktrace";
var TMP_EXCEPTION_ESCAPED = "exception.escaped";
var TMP_FAAS_TRIGGER = "faas.trigger";
var TMP_FAAS_EXECUTION = "faas.execution";
var TMP_FAAS_DOCUMENT_COLLECTION = "faas.document.collection";
var TMP_FAAS_DOCUMENT_OPERATION = "faas.document.operation";
var TMP_FAAS_DOCUMENT_TIME = "faas.document.time";
var TMP_FAAS_DOCUMENT_NAME = "faas.document.name";
var TMP_FAAS_TIME = "faas.time";
var TMP_FAAS_CRON = "faas.cron";
var TMP_FAAS_COLDSTART = "faas.coldstart";
var TMP_FAAS_INVOKED_NAME = "faas.invoked_name";
var TMP_FAAS_INVOKED_PROVIDER = "faas.invoked_provider";
var TMP_FAAS_INVOKED_REGION = "faas.invoked_region";
var TMP_NET_TRANSPORT = "net.transport";
var TMP_NET_PEER_IP = "net.peer.ip";
var TMP_NET_PEER_PORT = "net.peer.port";
var TMP_NET_PEER_NAME = "net.peer.name";
var TMP_NET_HOST_IP = "net.host.ip";
var TMP_NET_HOST_PORT = "net.host.port";
var TMP_NET_HOST_NAME = "net.host.name";
var TMP_NET_HOST_CONNECTION_TYPE = "net.host.connection.type";
var TMP_NET_HOST_CONNECTION_SUBTYPE = "net.host.connection.subtype";
var TMP_NET_HOST_CARRIER_NAME = "net.host.carrier.name";
var TMP_NET_HOST_CARRIER_MCC = "net.host.carrier.mcc";
var TMP_NET_HOST_CARRIER_MNC = "net.host.carrier.mnc";
var TMP_NET_HOST_CARRIER_ICC = "net.host.carrier.icc";
var TMP_PEER_SERVICE = "peer.service";
var TMP_ENDUSER_ID = "enduser.id";
var TMP_ENDUSER_ROLE = "enduser.role";
var TMP_ENDUSER_SCOPE = "enduser.scope";
var TMP_THREAD_ID = "thread.id";
var TMP_THREAD_NAME = "thread.name";
var TMP_CODE_FUNCTION = "code.function";
var TMP_CODE_NAMESPACE = "code.namespace";
var TMP_CODE_FILEPATH = "code.filepath";
var TMP_CODE_LINENO = "code.lineno";
var TMP_HTTP_METHOD = "http.method";
var TMP_HTTP_URL = "http.url";
var TMP_HTTP_TARGET = "http.target";
var TMP_HTTP_HOST = "http.host";
var TMP_HTTP_SCHEME = "http.scheme";
var TMP_HTTP_STATUS_CODE = "http.status_code";
var TMP_HTTP_FLAVOR = "http.flavor";
var TMP_HTTP_USER_AGENT = "http.user_agent";
var TMP_HTTP_REQUEST_CONTENT_LENGTH = "http.request_content_length";
var TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = "http.request_content_length_uncompressed";
var TMP_HTTP_RESPONSE_CONTENT_LENGTH = "http.response_content_length";
var TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = "http.response_content_length_uncompressed";
var TMP_HTTP_SERVER_NAME = "http.server_name";
var TMP_HTTP_ROUTE = "http.route";
var TMP_HTTP_CLIENT_IP = "http.client_ip";
var TMP_AWS_DYNAMODB_TABLE_NAMES = "aws.dynamodb.table_names";
var TMP_AWS_DYNAMODB_CONSUMED_CAPACITY = "aws.dynamodb.consumed_capacity";
var TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = "aws.dynamodb.item_collection_metrics";
var TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = "aws.dynamodb.provisioned_read_capacity";
var TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = "aws.dynamodb.provisioned_write_capacity";
var TMP_AWS_DYNAMODB_CONSISTENT_READ = "aws.dynamodb.consistent_read";
var TMP_AWS_DYNAMODB_PROJECTION = "aws.dynamodb.projection";
var TMP_AWS_DYNAMODB_LIMIT = "aws.dynamodb.limit";
var TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET = "aws.dynamodb.attributes_to_get";
var TMP_AWS_DYNAMODB_INDEX_NAME = "aws.dynamodb.index_name";
var TMP_AWS_DYNAMODB_SELECT = "aws.dynamodb.select";
var TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = "aws.dynamodb.global_secondary_indexes";
var TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = "aws.dynamodb.local_secondary_indexes";
var TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = "aws.dynamodb.exclusive_start_table";
var TMP_AWS_DYNAMODB_TABLE_COUNT = "aws.dynamodb.table_count";
var TMP_AWS_DYNAMODB_SCAN_FORWARD = "aws.dynamodb.scan_forward";
var TMP_AWS_DYNAMODB_SEGMENT = "aws.dynamodb.segment";
var TMP_AWS_DYNAMODB_TOTAL_SEGMENTS = "aws.dynamodb.total_segments";
var TMP_AWS_DYNAMODB_COUNT = "aws.dynamodb.count";
var TMP_AWS_DYNAMODB_SCANNED_COUNT = "aws.dynamodb.scanned_count";
var TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = "aws.dynamodb.attribute_definitions";
var TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = "aws.dynamodb.global_secondary_index_updates";
var TMP_MESSAGING_SYSTEM = "messaging.system";
var TMP_MESSAGING_DESTINATION = "messaging.destination";
var TMP_MESSAGING_DESTINATION_KIND = "messaging.destination_kind";
var TMP_MESSAGING_TEMP_DESTINATION = "messaging.temp_destination";
var TMP_MESSAGING_PROTOCOL = "messaging.protocol";
var TMP_MESSAGING_PROTOCOL_VERSION = "messaging.protocol_version";
var TMP_MESSAGING_URL = "messaging.url";
var TMP_MESSAGING_MESSAGE_ID = "messaging.message_id";
var TMP_MESSAGING_CONVERSATION_ID = "messaging.conversation_id";
var TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = "messaging.message_payload_size_bytes";
var TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = "messaging.message_payload_compressed_size_bytes";
var TMP_MESSAGING_OPERATION = "messaging.operation";
var TMP_MESSAGING_CONSUMER_ID = "messaging.consumer_id";
var TMP_MESSAGING_RABBITMQ_ROUTING_KEY = "messaging.rabbitmq.routing_key";
var TMP_MESSAGING_KAFKA_MESSAGE_KEY = "messaging.kafka.message_key";
var TMP_MESSAGING_KAFKA_CONSUMER_GROUP = "messaging.kafka.consumer_group";
var TMP_MESSAGING_KAFKA_CLIENT_ID = "messaging.kafka.client_id";
var TMP_MESSAGING_KAFKA_PARTITION = "messaging.kafka.partition";
var TMP_MESSAGING_KAFKA_TOMBSTONE = "messaging.kafka.tombstone";
var TMP_RPC_SYSTEM = "rpc.system";
var TMP_RPC_SERVICE = "rpc.service";
var TMP_RPC_METHOD = "rpc.method";
var TMP_RPC_GRPC_STATUS_CODE = "rpc.grpc.status_code";
var TMP_RPC_JSONRPC_VERSION = "rpc.jsonrpc.version";
var TMP_RPC_JSONRPC_REQUEST_ID = "rpc.jsonrpc.request_id";
var TMP_RPC_JSONRPC_ERROR_CODE = "rpc.jsonrpc.error_code";
var TMP_RPC_JSONRPC_ERROR_MESSAGE = "rpc.jsonrpc.error_message";
var TMP_MESSAGE_TYPE = "message.type";
var TMP_MESSAGE_ID = "message.id";
var TMP_MESSAGE_COMPRESSED_SIZE = "message.compressed_size";
var TMP_MESSAGE_UNCOMPRESSED_SIZE = "message.uncompressed_size";
exports.SEMATTRS_AWS_LAMBDA_INVOKED_ARN = TMP_AWS_LAMBDA_INVOKED_ARN;
exports.SEMATTRS_DB_SYSTEM = TMP_DB_SYSTEM;
exports.SEMATTRS_DB_CONNECTION_STRING = TMP_DB_CONNECTION_STRING;
exports.SEMATTRS_DB_USER = TMP_DB_USER;
exports.SEMATTRS_DB_JDBC_DRIVER_CLASSNAME = TMP_DB_JDBC_DRIVER_CLASSNAME;
exports.SEMATTRS_DB_NAME = TMP_DB_NAME;
exports.SEMATTRS_DB_STATEMENT = TMP_DB_STATEMENT;
exports.SEMATTRS_DB_OPERATION = TMP_DB_OPERATION;
exports.SEMATTRS_DB_MSSQL_INSTANCE_NAME = TMP_DB_MSSQL_INSTANCE_NAME;
exports.SEMATTRS_DB_CASSANDRA_KEYSPACE = TMP_DB_CASSANDRA_KEYSPACE;
exports.SEMATTRS_DB_CASSANDRA_PAGE_SIZE = TMP_DB_CASSANDRA_PAGE_SIZE;
exports.SEMATTRS_DB_CASSANDRA_CONSISTENCY_LEVEL = TMP_DB_CASSANDRA_CONSISTENCY_LEVEL;
exports.SEMATTRS_DB_CASSANDRA_TABLE = TMP_DB_CASSANDRA_TABLE;
exports.SEMATTRS_DB_CASSANDRA_IDEMPOTENCE = TMP_DB_CASSANDRA_IDEMPOTENCE;
exports.SEMATTRS_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT = TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT;
exports.SEMATTRS_DB_CASSANDRA_COORDINATOR_ID = TMP_DB_CASSANDRA_COORDINATOR_ID;
exports.SEMATTRS_DB_CASSANDRA_COORDINATOR_DC = TMP_DB_CASSANDRA_COORDINATOR_DC;
exports.SEMATTRS_DB_HBASE_NAMESPACE = TMP_DB_HBASE_NAMESPACE;
exports.SEMATTRS_DB_REDIS_DATABASE_INDEX = TMP_DB_REDIS_DATABASE_INDEX;
exports.SEMATTRS_DB_MONGODB_COLLECTION = TMP_DB_MONGODB_COLLECTION;
exports.SEMATTRS_DB_SQL_TABLE = TMP_DB_SQL_TABLE;
exports.SEMATTRS_EXCEPTION_TYPE = TMP_EXCEPTION_TYPE;
exports.SEMATTRS_EXCEPTION_MESSAGE = TMP_EXCEPTION_MESSAGE;
exports.SEMATTRS_EXCEPTION_STACKTRACE = TMP_EXCEPTION_STACKTRACE;
exports.SEMATTRS_EXCEPTION_ESCAPED = TMP_EXCEPTION_ESCAPED;
exports.SEMATTRS_FAAS_TRIGGER = TMP_FAAS_TRIGGER;
exports.SEMATTRS_FAAS_EXECUTION = TMP_FAAS_EXECUTION;
exports.SEMATTRS_FAAS_DOCUMENT_COLLECTION = TMP_FAAS_DOCUMENT_COLLECTION;
exports.SEMATTRS_FAAS_DOCUMENT_OPERATION = TMP_FAAS_DOCUMENT_OPERATION;
exports.SEMATTRS_FAAS_DOCUMENT_TIME = TMP_FAAS_DOCUMENT_TIME;
exports.SEMATTRS_FAAS_DOCUMENT_NAME = TMP_FAAS_DOCUMENT_NAME;
exports.SEMATTRS_FAAS_TIME = TMP_FAAS_TIME;
exports.SEMATTRS_FAAS_CRON = TMP_FAAS_CRON;
exports.SEMATTRS_FAAS_COLDSTART = TMP_FAAS_COLDSTART;
exports.SEMATTRS_FAAS_INVOKED_NAME = TMP_FAAS_INVOKED_NAME;
exports.SEMATTRS_FAAS_INVOKED_PROVIDER = TMP_FAAS_INVOKED_PROVIDER;
exports.SEMATTRS_FAAS_INVOKED_REGION = TMP_FAAS_INVOKED_REGION;
exports.SEMATTRS_NET_TRANSPORT = TMP_NET_TRANSPORT;
exports.SEMATTRS_NET_PEER_IP = TMP_NET_PEER_IP;
exports.SEMATTRS_NET_PEER_PORT = TMP_NET_PEER_PORT;
exports.SEMATTRS_NET_PEER_NAME = TMP_NET_PEER_NAME;
exports.SEMATTRS_NET_HOST_IP = TMP_NET_HOST_IP;
exports.SEMATTRS_NET_HOST_PORT = TMP_NET_HOST_PORT;
exports.SEMATTRS_NET_HOST_NAME = TMP_NET_HOST_NAME;
exports.SEMATTRS_NET_HOST_CONNECTION_TYPE = TMP_NET_HOST_CONNECTION_TYPE;
exports.SEMATTRS_NET_HOST_CONNECTION_SUBTYPE = TMP_NET_HOST_CONNECTION_SUBTYPE;
exports.SEMATTRS_NET_HOST_CARRIER_NAME = TMP_NET_HOST_CARRIER_NAME;
exports.SEMATTRS_NET_HOST_CARRIER_MCC = TMP_NET_HOST_CARRIER_MCC;
exports.SEMATTRS_NET_HOST_CARRIER_MNC = TMP_NET_HOST_CARRIER_MNC;
exports.SEMATTRS_NET_HOST_CARRIER_ICC = TMP_NET_HOST_CARRIER_ICC;
exports.SEMATTRS_PEER_SERVICE = TMP_PEER_SERVICE;
exports.SEMATTRS_ENDUSER_ID = TMP_ENDUSER_ID;
exports.SEMATTRS_ENDUSER_ROLE = TMP_ENDUSER_ROLE;
exports.SEMATTRS_ENDUSER_SCOPE = TMP_ENDUSER_SCOPE;
exports.SEMATTRS_THREAD_ID = TMP_THREAD_ID;
exports.SEMATTRS_THREAD_NAME = TMP_THREAD_NAME;
exports.SEMATTRS_CODE_FUNCTION = TMP_CODE_FUNCTION;
exports.SEMATTRS_CODE_NAMESPACE = TMP_CODE_NAMESPACE;
exports.SEMATTRS_CODE_FILEPATH = TMP_CODE_FILEPATH;
exports.SEMATTRS_CODE_LINENO = TMP_CODE_LINENO;
exports.SEMATTRS_HTTP_METHOD = TMP_HTTP_METHOD;
exports.SEMATTRS_HTTP_URL = TMP_HTTP_URL;
exports.SEMATTRS_HTTP_TARGET = TMP_HTTP_TARGET;
exports.SEMATTRS_HTTP_HOST = TMP_HTTP_HOST;
exports.SEMATTRS_HTTP_SCHEME = TMP_HTTP_SCHEME;
exports.SEMATTRS_HTTP_STATUS_CODE = TMP_HTTP_STATUS_CODE;
exports.SEMATTRS_HTTP_FLAVOR = TMP_HTTP_FLAVOR;
exports.SEMATTRS_HTTP_USER_AGENT = TMP_HTTP_USER_AGENT;
exports.SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH = TMP_HTTP_REQUEST_CONTENT_LENGTH;
exports.SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED;
exports.SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH = TMP_HTTP_RESPONSE_CONTENT_LENGTH;
exports.SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED = TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED;
exports.SEMATTRS_HTTP_SERVER_NAME = TMP_HTTP_SERVER_NAME;
exports.SEMATTRS_HTTP_ROUTE = TMP_HTTP_ROUTE;
exports.SEMATTRS_HTTP_CLIENT_IP = TMP_HTTP_CLIENT_IP;
exports.SEMATTRS_AWS_DYNAMODB_TABLE_NAMES = TMP_AWS_DYNAMODB_TABLE_NAMES;
exports.SEMATTRS_AWS_DYNAMODB_CONSUMED_CAPACITY = TMP_AWS_DYNAMODB_CONSUMED_CAPACITY;
exports.SEMATTRS_AWS_DYNAMODB_ITEM_COLLECTION_METRICS = TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS;
exports.SEMATTRS_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY;
exports.SEMATTRS_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY = TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY;
exports.SEMATTRS_AWS_DYNAMODB_CONSISTENT_READ = TMP_AWS_DYNAMODB_CONSISTENT_READ;
exports.SEMATTRS_AWS_DYNAMODB_PROJECTION = TMP_AWS_DYNAMODB_PROJECTION;
exports.SEMATTRS_AWS_DYNAMODB_LIMIT = TMP_AWS_DYNAMODB_LIMIT;
exports.SEMATTRS_AWS_DYNAMODB_ATTRIBUTES_TO_GET = TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET;
exports.SEMATTRS_AWS_DYNAMODB_INDEX_NAME = TMP_AWS_DYNAMODB_INDEX_NAME;
exports.SEMATTRS_AWS_DYNAMODB_SELECT = TMP_AWS_DYNAMODB_SELECT;
exports.SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES;
exports.SEMATTRS_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES = TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES;
exports.SEMATTRS_AWS_DYNAMODB_EXCLUSIVE_START_TABLE = TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE;
exports.SEMATTRS_AWS_DYNAMODB_TABLE_COUNT = TMP_AWS_DYNAMODB_TABLE_COUNT;
exports.SEMATTRS_AWS_DYNAMODB_SCAN_FORWARD = TMP_AWS_DYNAMODB_SCAN_FORWARD;
exports.SEMATTRS_AWS_DYNAMODB_SEGMENT = TMP_AWS_DYNAMODB_SEGMENT;
exports.SEMATTRS_AWS_DYNAMODB_TOTAL_SEGMENTS = TMP_AWS_DYNAMODB_TOTAL_SEGMENTS;
exports.SEMATTRS_AWS_DYNAMODB_COUNT = TMP_AWS_DYNAMODB_COUNT;
exports.SEMATTRS_AWS_DYNAMODB_SCANNED_COUNT = TMP_AWS_DYNAMODB_SCANNED_COUNT;
exports.SEMATTRS_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS = TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS;
exports.SEMATTRS_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES = TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES;
exports.SEMATTRS_MESSAGING_SYSTEM = TMP_MESSAGING_SYSTEM;
exports.SEMATTRS_MESSAGING_DESTINATION = TMP_MESSAGING_DESTINATION;
exports.SEMATTRS_MESSAGING_DESTINATION_KIND = TMP_MESSAGING_DESTINATION_KIND;
exports.SEMATTRS_MESSAGING_TEMP_DESTINATION = TMP_MESSAGING_TEMP_DESTINATION;
exports.SEMATTRS_MESSAGING_PROTOCOL = TMP_MESSAGING_PROTOCOL;
exports.SEMATTRS_MESSAGING_PROTOCOL_VERSION = TMP_MESSAGING_PROTOCOL_VERSION;
exports.SEMATTRS_MESSAGING_URL = TMP_MESSAGING_URL;
exports.SEMATTRS_MESSAGING_MESSAGE_ID = TMP_MESSAGING_MESSAGE_ID;
exports.SEMATTRS_MESSAGING_CONVERSATION_ID = TMP_MESSAGING_CONVERSATION_ID;
exports.SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES;
exports.SEMATTRS_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES = TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES;
exports.SEMATTRS_MESSAGING_OPERATION = TMP_MESSAGING_OPERATION;
exports.SEMATTRS_MESSAGING_CONSUMER_ID = TMP_MESSAGING_CONSUMER_ID;
exports.SEMATTRS_MESSAGING_RABBITMQ_ROUTING_KEY = TMP_MESSAGING_RABBITMQ_ROUTING_KEY;
exports.SEMATTRS_MESSAGING_KAFKA_MESSAGE_KEY = TMP_MESSAGING_KAFKA_MESSAGE_KEY;
exports.SEMATTRS_MESSAGING_KAFKA_CONSUMER_GROUP = TMP_MESSAGING_KAFKA_CONSUMER_GROUP;
exports.SEMATTRS_MESSAGING_KAFKA_CLIENT_ID = TMP_MESSAGING_KAFKA_CLIENT_ID;
exports.SEMATTRS_MESSAGING_KAFKA_PARTITION = TMP_MESSAGING_KAFKA_PARTITION;
exports.SEMATTRS_MESSAGING_KAFKA_TOMBSTONE = TMP_MESSAGING_KAFKA_TOMBSTONE;
exports.SEMATTRS_RPC_SYSTEM = TMP_RPC_SYSTEM;
exports.SEMATTRS_RPC_SERVICE = TMP_RPC_SERVICE;
exports.SEMATTRS_RPC_METHOD = TMP_RPC_METHOD;
exports.SEMATTRS_RPC_GRPC_STATUS_CODE = TMP_RPC_GRPC_STATUS_CODE;
exports.SEMATTRS_RPC_JSONRPC_VERSION = TMP_RPC_JSONRPC_VERSION;
exports.SEMATTRS_RPC_JSONRPC_REQUEST_ID = TMP_RPC_JSONRPC_REQUEST_ID;
exports.SEMATTRS_RPC_JSONRPC_ERROR_CODE = TMP_RPC_JSONRPC_ERROR_CODE;
exports.SEMATTRS_RPC_JSONRPC_ERROR_MESSAGE = TMP_RPC_JSONRPC_ERROR_MESSAGE;
exports.SEMATTRS_MESSAGE_TYPE = TMP_MESSAGE_TYPE;
exports.SEMATTRS_MESSAGE_ID = TMP_MESSAGE_ID;
exports.SEMATTRS_MESSAGE_COMPRESSED_SIZE = TMP_MESSAGE_COMPRESSED_SIZE;
exports.SEMATTRS_MESSAGE_UNCOMPRESSED_SIZE = TMP_MESSAGE_UNCOMPRESSED_SIZE;
exports.SemanticAttributes = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_AWS_LAMBDA_INVOKED_ARN,
TMP_DB_SYSTEM,
TMP_DB_CONNECTION_STRING,
TMP_DB_USER,
TMP_DB_JDBC_DRIVER_CLASSNAME,
TMP_DB_NAME,
TMP_DB_STATEMENT,
TMP_DB_OPERATION,
TMP_DB_MSSQL_INSTANCE_NAME,
TMP_DB_CASSANDRA_KEYSPACE,
TMP_DB_CASSANDRA_PAGE_SIZE,
TMP_DB_CASSANDRA_CONSISTENCY_LEVEL,
TMP_DB_CASSANDRA_TABLE,
TMP_DB_CASSANDRA_IDEMPOTENCE,
TMP_DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT,
TMP_DB_CASSANDRA_COORDINATOR_ID,
TMP_DB_CASSANDRA_COORDINATOR_DC,
TMP_DB_HBASE_NAMESPACE,
TMP_DB_REDIS_DATABASE_INDEX,
TMP_DB_MONGODB_COLLECTION,
TMP_DB_SQL_TABLE,
TMP_EXCEPTION_TYPE,
TMP_EXCEPTION_MESSAGE,
TMP_EXCEPTION_STACKTRACE,
TMP_EXCEPTION_ESCAPED,
TMP_FAAS_TRIGGER,
TMP_FAAS_EXECUTION,
TMP_FAAS_DOCUMENT_COLLECTION,
TMP_FAAS_DOCUMENT_OPERATION,
TMP_FAAS_DOCUMENT_TIME,
TMP_FAAS_DOCUMENT_NAME,
TMP_FAAS_TIME,
TMP_FAAS_CRON,
TMP_FAAS_COLDSTART,
TMP_FAAS_INVOKED_NAME,
TMP_FAAS_INVOKED_PROVIDER,
TMP_FAAS_INVOKED_REGION,
TMP_NET_TRANSPORT,
TMP_NET_PEER_IP,
TMP_NET_PEER_PORT,
TMP_NET_PEER_NAME,
TMP_NET_HOST_IP,
TMP_NET_HOST_PORT,
TMP_NET_HOST_NAME,
TMP_NET_HOST_CONNECTION_TYPE,
TMP_NET_HOST_CONNECTION_SUBTYPE,
TMP_NET_HOST_CARRIER_NAME,
TMP_NET_HOST_CARRIER_MCC,
TMP_NET_HOST_CARRIER_MNC,
TMP_NET_HOST_CARRIER_ICC,
TMP_PEER_SERVICE,
TMP_ENDUSER_ID,
TMP_ENDUSER_ROLE,
TMP_ENDUSER_SCOPE,
TMP_THREAD_ID,
TMP_THREAD_NAME,
TMP_CODE_FUNCTION,
TMP_CODE_NAMESPACE,
TMP_CODE_FILEPATH,
TMP_CODE_LINENO,
TMP_HTTP_METHOD,
TMP_HTTP_URL,
TMP_HTTP_TARGET,
TMP_HTTP_HOST,
TMP_HTTP_SCHEME,
TMP_HTTP_STATUS_CODE,
TMP_HTTP_FLAVOR,
TMP_HTTP_USER_AGENT,
TMP_HTTP_REQUEST_CONTENT_LENGTH,
TMP_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED,
TMP_HTTP_RESPONSE_CONTENT_LENGTH,
TMP_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED,
TMP_HTTP_SERVER_NAME,
TMP_HTTP_ROUTE,
TMP_HTTP_CLIENT_IP,
TMP_AWS_DYNAMODB_TABLE_NAMES,
TMP_AWS_DYNAMODB_CONSUMED_CAPACITY,
TMP_AWS_DYNAMODB_ITEM_COLLECTION_METRICS,
TMP_AWS_DYNAMODB_PROVISIONED_READ_CAPACITY,
TMP_AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY,
TMP_AWS_DYNAMODB_CONSISTENT_READ,
TMP_AWS_DYNAMODB_PROJECTION,
TMP_AWS_DYNAMODB_LIMIT,
TMP_AWS_DYNAMODB_ATTRIBUTES_TO_GET,
TMP_AWS_DYNAMODB_INDEX_NAME,
TMP_AWS_DYNAMODB_SELECT,
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES,
TMP_AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES,
TMP_AWS_DYNAMODB_EXCLUSIVE_START_TABLE,
TMP_AWS_DYNAMODB_TABLE_COUNT,
TMP_AWS_DYNAMODB_SCAN_FORWARD,
TMP_AWS_DYNAMODB_SEGMENT,
TMP_AWS_DYNAMODB_TOTAL_SEGMENTS,
TMP_AWS_DYNAMODB_COUNT,
TMP_AWS_DYNAMODB_SCANNED_COUNT,
TMP_AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS,
TMP_AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES,
TMP_MESSAGING_SYSTEM,
TMP_MESSAGING_DESTINATION,
TMP_MESSAGING_DESTINATION_KIND,
TMP_MESSAGING_TEMP_DESTINATION,
TMP_MESSAGING_PROTOCOL,
TMP_MESSAGING_PROTOCOL_VERSION,
TMP_MESSAGING_URL,
TMP_MESSAGING_MESSAGE_ID,
TMP_MESSAGING_CONVERSATION_ID,
TMP_MESSAGING_MESSAGE_PAYLOAD_SIZE_BYTES,
TMP_MESSAGING_MESSAGE_PAYLOAD_COMPRESSED_SIZE_BYTES,
TMP_MESSAGING_OPERATION,
TMP_MESSAGING_CONSUMER_ID,
TMP_MESSAGING_RABBITMQ_ROUTING_KEY,
TMP_MESSAGING_KAFKA_MESSAGE_KEY,
TMP_MESSAGING_KAFKA_CONSUMER_GROUP,
TMP_MESSAGING_KAFKA_CLIENT_ID,
TMP_MESSAGING_KAFKA_PARTITION,
TMP_MESSAGING_KAFKA_TOMBSTONE,
TMP_RPC_SYSTEM,
TMP_RPC_SERVICE,
TMP_RPC_METHOD,
TMP_RPC_GRPC_STATUS_CODE,
TMP_RPC_JSONRPC_VERSION,
TMP_RPC_JSONRPC_REQUEST_ID,
TMP_RPC_JSONRPC_ERROR_CODE,
TMP_RPC_JSONRPC_ERROR_MESSAGE,
TMP_MESSAGE_TYPE,
TMP_MESSAGE_ID,
TMP_MESSAGE_COMPRESSED_SIZE,
TMP_MESSAGE_UNCOMPRESSED_SIZE
]);
var TMP_DBSYSTEMVALUES_OTHER_SQL = "other_sql";
var TMP_DBSYSTEMVALUES_MSSQL = "mssql";
var TMP_DBSYSTEMVALUES_MYSQL = "mysql";
var TMP_DBSYSTEMVALUES_ORACLE = "oracle";
var TMP_DBSYSTEMVALUES_DB2 = "db2";
var TMP_DBSYSTEMVALUES_POSTGRESQL = "postgresql";
var TMP_DBSYSTEMVALUES_REDSHIFT = "redshift";
var TMP_DBSYSTEMVALUES_HIVE = "hive";
var TMP_DBSYSTEMVALUES_CLOUDSCAPE = "cloudscape";
var TMP_DBSYSTEMVALUES_HSQLDB = "hsqldb";
var TMP_DBSYSTEMVALUES_PROGRESS = "progress";
var TMP_DBSYSTEMVALUES_MAXDB = "maxdb";
var TMP_DBSYSTEMVALUES_HANADB = "hanadb";
var TMP_DBSYSTEMVALUES_INGRES = "ingres";
var TMP_DBSYSTEMVALUES_FIRSTSQL = "firstsql";
var TMP_DBSYSTEMVALUES_EDB = "edb";
var TMP_DBSYSTEMVALUES_CACHE = "cache";
var TMP_DBSYSTEMVALUES_ADABAS = "adabas";
var TMP_DBSYSTEMVALUES_FIREBIRD = "firebird";
var TMP_DBSYSTEMVALUES_DERBY = "derby";
var TMP_DBSYSTEMVALUES_FILEMAKER = "filemaker";
var TMP_DBSYSTEMVALUES_INFORMIX = "informix";
var TMP_DBSYSTEMVALUES_INSTANTDB = "instantdb";
var TMP_DBSYSTEMVALUES_INTERBASE = "interbase";
var TMP_DBSYSTEMVALUES_MARIADB = "mariadb";
var TMP_DBSYSTEMVALUES_NETEZZA = "netezza";
var TMP_DBSYSTEMVALUES_PERVASIVE = "pervasive";
var TMP_DBSYSTEMVALUES_POINTBASE = "pointbase";
var TMP_DBSYSTEMVALUES_SQLITE = "sqlite";
var TMP_DBSYSTEMVALUES_SYBASE = "sybase";
var TMP_DBSYSTEMVALUES_TERADATA = "teradata";
var TMP_DBSYSTEMVALUES_VERTICA = "vertica";
var TMP_DBSYSTEMVALUES_H2 = "h2";
var TMP_DBSYSTEMVALUES_COLDFUSION = "coldfusion";
var TMP_DBSYSTEMVALUES_CASSANDRA = "cassandra";
var TMP_DBSYSTEMVALUES_HBASE = "hbase";
var TMP_DBSYSTEMVALUES_MONGODB = "mongodb";
var TMP_DBSYSTEMVALUES_REDIS = "redis";
var TMP_DBSYSTEMVALUES_COUCHBASE = "couchbase";
var TMP_DBSYSTEMVALUES_COUCHDB = "couchdb";
var TMP_DBSYSTEMVALUES_COSMOSDB = "cosmosdb";
var TMP_DBSYSTEMVALUES_DYNAMODB = "dynamodb";
var TMP_DBSYSTEMVALUES_NEO4J = "neo4j";
var TMP_DBSYSTEMVALUES_GEODE = "geode";
var TMP_DBSYSTEMVALUES_ELASTICSEARCH = "elasticsearch";
var TMP_DBSYSTEMVALUES_MEMCACHED = "memcached";
var TMP_DBSYSTEMVALUES_COCKROACHDB = "cockroachdb";
exports.DBSYSTEMVALUES_OTHER_SQL = TMP_DBSYSTEMVALUES_OTHER_SQL;
exports.DBSYSTEMVALUES_MSSQL = TMP_DBSYSTEMVALUES_MSSQL;
exports.DBSYSTEMVALUES_MYSQL = TMP_DBSYSTEMVALUES_MYSQL;
exports.DBSYSTEMVALUES_ORACLE = TMP_DBSYSTEMVALUES_ORACLE;
exports.DBSYSTEMVALUES_DB2 = TMP_DBSYSTEMVALUES_DB2;
exports.DBSYSTEMVALUES_POSTGRESQL = TMP_DBSYSTEMVALUES_POSTGRESQL;
exports.DBSYSTEMVALUES_REDSHIFT = TMP_DBSYSTEMVALUES_REDSHIFT;
exports.DBSYSTEMVALUES_HIVE = TMP_DBSYSTEMVALUES_HIVE;
exports.DBSYSTEMVALUES_CLOUDSCAPE = TMP_DBSYSTEMVALUES_CLOUDSCAPE;
exports.DBSYSTEMVALUES_HSQLDB = TMP_DBSYSTEMVALUES_HSQLDB;
exports.DBSYSTEMVALUES_PROGRESS = TMP_DBSYSTEMVALUES_PROGRESS;
exports.DBSYSTEMVALUES_MAXDB = TMP_DBSYSTEMVALUES_MAXDB;
exports.DBSYSTEMVALUES_HANADB = TMP_DBSYSTEMVALUES_HANADB;
exports.DBSYSTEMVALUES_INGRES = TMP_DBSYSTEMVALUES_INGRES;
exports.DBSYSTEMVALUES_FIRSTSQL = TMP_DBSYSTEMVALUES_FIRSTSQL;
exports.DBSYSTEMVALUES_EDB = TMP_DBSYSTEMVALUES_EDB;
exports.DBSYSTEMVALUES_CACHE = TMP_DBSYSTEMVALUES_CACHE;
exports.DBSYSTEMVALUES_ADABAS = TMP_DBSYSTEMVALUES_ADABAS;
exports.DBSYSTEMVALUES_FIREBIRD = TMP_DBSYSTEMVALUES_FIREBIRD;
exports.DBSYSTEMVALUES_DERBY = TMP_DBSYSTEMVALUES_DERBY;
exports.DBSYSTEMVALUES_FILEMAKER = TMP_DBSYSTEMVALUES_FILEMAKER;
exports.DBSYSTEMVALUES_INFORMIX = TMP_DBSYSTEMVALUES_INFORMIX;
exports.DBSYSTEMVALUES_INSTANTDB = TMP_DBSYSTEMVALUES_INSTANTDB;
exports.DBSYSTEMVALUES_INTERBASE = TMP_DBSYSTEMVALUES_INTERBASE;
exports.DBSYSTEMVALUES_MARIADB = TMP_DBSYSTEMVALUES_MARIADB;
exports.DBSYSTEMVALUES_NETEZZA = TMP_DBSYSTEMVALUES_NETEZZA;
exports.DBSYSTEMVALUES_PERVASIVE = TMP_DBSYSTEMVALUES_PERVASIVE;
exports.DBSYSTEMVALUES_POINTBASE = TMP_DBSYSTEMVALUES_POINTBASE;
exports.DBSYSTEMVALUES_SQLITE = TMP_DBSYSTEMVALUES_SQLITE;
exports.DBSYSTEMVALUES_SYBASE = TMP_DBSYSTEMVALUES_SYBASE;
exports.DBSYSTEMVALUES_TERADATA = TMP_DBSYSTEMVALUES_TERADATA;
exports.DBSYSTEMVALUES_VERTICA = TMP_DBSYSTEMVALUES_VERTICA;
exports.DBSYSTEMVALUES_H2 = TMP_DBSYSTEMVALUES_H2;
exports.DBSYSTEMVALUES_COLDFUSION = TMP_DBSYSTEMVALUES_COLDFUSION;
exports.DBSYSTEMVALUES_CASSANDRA = TMP_DBSYSTEMVALUES_CASSANDRA;
exports.DBSYSTEMVALUES_HBASE = TMP_DBSYSTEMVALUES_HBASE;
exports.DBSYSTEMVALUES_MONGODB = TMP_DBSYSTEMVALUES_MONGODB;
exports.DBSYSTEMVALUES_REDIS = TMP_DBSYSTEMVALUES_REDIS;
exports.DBSYSTEMVALUES_COUCHBASE = TMP_DBSYSTEMVALUES_COUCHBASE;
exports.DBSYSTEMVALUES_COUCHDB = TMP_DBSYSTEMVALUES_COUCHDB;
exports.DBSYSTEMVALUES_COSMOSDB = TMP_DBSYSTEMVALUES_COSMOSDB;
exports.DBSYSTEMVALUES_DYNAMODB = TMP_DBSYSTEMVALUES_DYNAMODB;
exports.DBSYSTEMVALUES_NEO4J = TMP_DBSYSTEMVALUES_NEO4J;
exports.DBSYSTEMVALUES_GEODE = TMP_DBSYSTEMVALUES_GEODE;
exports.DBSYSTEMVALUES_ELASTICSEARCH = TMP_DBSYSTEMVALUES_ELASTICSEARCH;
exports.DBSYSTEMVALUES_MEMCACHED = TMP_DBSYSTEMVALUES_MEMCACHED;
exports.DBSYSTEMVALUES_COCKROACHDB = TMP_DBSYSTEMVALUES_COCKROACHDB;
exports.DbSystemValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_DBSYSTEMVALUES_OTHER_SQL,
TMP_DBSYSTEMVALUES_MSSQL,
TMP_DBSYSTEMVALUES_MYSQL,
TMP_DBSYSTEMVALUES_ORACLE,
TMP_DBSYSTEMVALUES_DB2,
TMP_DBSYSTEMVALUES_POSTGRESQL,
TMP_DBSYSTEMVALUES_REDSHIFT,
TMP_DBSYSTEMVALUES_HIVE,
TMP_DBSYSTEMVALUES_CLOUDSCAPE,
TMP_DBSYSTEMVALUES_HSQLDB,
TMP_DBSYSTEMVALUES_PROGRESS,
TMP_DBSYSTEMVALUES_MAXDB,
TMP_DBSYSTEMVALUES_HANADB,
TMP_DBSYSTEMVALUES_INGRES,
TMP_DBSYSTEMVALUES_FIRSTSQL,
TMP_DBSYSTEMVALUES_EDB,
TMP_DBSYSTEMVALUES_CACHE,
TMP_DBSYSTEMVALUES_ADABAS,
TMP_DBSYSTEMVALUES_FIREBIRD,
TMP_DBSYSTEMVALUES_DERBY,
TMP_DBSYSTEMVALUES_FILEMAKER,
TMP_DBSYSTEMVALUES_INFORMIX,
TMP_DBSYSTEMVALUES_INSTANTDB,
TMP_DBSYSTEMVALUES_INTERBASE,
TMP_DBSYSTEMVALUES_MARIADB,
TMP_DBSYSTEMVALUES_NETEZZA,
TMP_DBSYSTEMVALUES_PERVASIVE,
TMP_DBSYSTEMVALUES_POINTBASE,
TMP_DBSYSTEMVALUES_SQLITE,
TMP_DBSYSTEMVALUES_SYBASE,
TMP_DBSYSTEMVALUES_TERADATA,
TMP_DBSYSTEMVALUES_VERTICA,
TMP_DBSYSTEMVALUES_H2,
TMP_DBSYSTEMVALUES_COLDFUSION,
TMP_DBSYSTEMVALUES_CASSANDRA,
TMP_DBSYSTEMVALUES_HBASE,
TMP_DBSYSTEMVALUES_MONGODB,
TMP_DBSYSTEMVALUES_REDIS,
TMP_DBSYSTEMVALUES_COUCHBASE,
TMP_DBSYSTEMVALUES_COUCHDB,
TMP_DBSYSTEMVALUES_COSMOSDB,
TMP_DBSYSTEMVALUES_DYNAMODB,
TMP_DBSYSTEMVALUES_NEO4J,
TMP_DBSYSTEMVALUES_GEODE,
TMP_DBSYSTEMVALUES_ELASTICSEARCH,
TMP_DBSYSTEMVALUES_MEMCACHED,
TMP_DBSYSTEMVALUES_COCKROACHDB
]);
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL = "all";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = "each_quorum";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = "quorum";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = "local_quorum";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE = "one";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO = "two";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE = "three";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = "local_one";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY = "any";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = "serial";
var TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = "local_serial";
exports.DBCASSANDRACONSISTENCYLEVELVALUES_ALL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_TWO = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_THREE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_ANY = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL;
exports.DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL = TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL;
exports.DbCassandraConsistencyLevelValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ALL,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_EACH_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_QUORUM,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ONE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_TWO,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_THREE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_ONE,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_ANY,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_SERIAL,
TMP_DBCASSANDRACONSISTENCYLEVELVALUES_LOCAL_SERIAL
]);
var TMP_FAASTRIGGERVALUES_DATASOURCE = "datasource";
var TMP_FAASTRIGGERVALUES_HTTP = "http";
var TMP_FAASTRIGGERVALUES_PUBSUB = "pubsub";
var TMP_FAASTRIGGERVALUES_TIMER = "timer";
var TMP_FAASTRIGGERVALUES_OTHER = "other";
exports.FAASTRIGGERVALUES_DATASOURCE = TMP_FAASTRIGGERVALUES_DATASOURCE;
exports.FAASTRIGGERVALUES_HTTP = TMP_FAASTRIGGERVALUES_HTTP;
exports.FAASTRIGGERVALUES_PUBSUB = TMP_FAASTRIGGERVALUES_PUBSUB;
exports.FAASTRIGGERVALUES_TIMER = TMP_FAASTRIGGERVALUES_TIMER;
exports.FAASTRIGGERVALUES_OTHER = TMP_FAASTRIGGERVALUES_OTHER;
exports.FaasTriggerValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_FAASTRIGGERVALUES_DATASOURCE,
TMP_FAASTRIGGERVALUES_HTTP,
TMP_FAASTRIGGERVALUES_PUBSUB,
TMP_FAASTRIGGERVALUES_TIMER,
TMP_FAASTRIGGERVALUES_OTHER
]);
var TMP_FAASDOCUMENTOPERATIONVALUES_INSERT = "insert";
var TMP_FAASDOCUMENTOPERATIONVALUES_EDIT = "edit";
var TMP_FAASDOCUMENTOPERATIONVALUES_DELETE = "delete";
exports.FAASDOCUMENTOPERATIONVALUES_INSERT = TMP_FAASDOCUMENTOPERATIONVALUES_INSERT;
exports.FAASDOCUMENTOPERATIONVALUES_EDIT = TMP_FAASDOCUMENTOPERATIONVALUES_EDIT;
exports.FAASDOCUMENTOPERATIONVALUES_DELETE = TMP_FAASDOCUMENTOPERATIONVALUES_DELETE;
exports.FaasDocumentOperationValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_FAASDOCUMENTOPERATIONVALUES_INSERT,
TMP_FAASDOCUMENTOPERATIONVALUES_EDIT,
TMP_FAASDOCUMENTOPERATIONVALUES_DELETE
]);
var TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud";
var TMP_FAASINVOKEDPROVIDERVALUES_AWS = "aws";
var TMP_FAASINVOKEDPROVIDERVALUES_AZURE = "azure";
var TMP_FAASINVOKEDPROVIDERVALUES_GCP = "gcp";
exports.FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD = TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD;
exports.FAASINVOKEDPROVIDERVALUES_AWS = TMP_FAASINVOKEDPROVIDERVALUES_AWS;
exports.FAASINVOKEDPROVIDERVALUES_AZURE = TMP_FAASINVOKEDPROVIDERVALUES_AZURE;
exports.FAASINVOKEDPROVIDERVALUES_GCP = TMP_FAASINVOKEDPROVIDERVALUES_GCP;
exports.FaasInvokedProviderValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_FAASINVOKEDPROVIDERVALUES_ALIBABA_CLOUD,
TMP_FAASINVOKEDPROVIDERVALUES_AWS,
TMP_FAASINVOKEDPROVIDERVALUES_AZURE,
TMP_FAASINVOKEDPROVIDERVALUES_GCP
]);
var TMP_NETTRANSPORTVALUES_IP_TCP = "ip_tcp";
var TMP_NETTRANSPORTVALUES_IP_UDP = "ip_udp";
var TMP_NETTRANSPORTVALUES_IP = "ip";
var TMP_NETTRANSPORTVALUES_UNIX = "unix";
var TMP_NETTRANSPORTVALUES_PIPE = "pipe";
var TMP_NETTRANSPORTVALUES_INPROC = "inproc";
var TMP_NETTRANSPORTVALUES_OTHER = "other";
exports.NETTRANSPORTVALUES_IP_TCP = TMP_NETTRANSPORTVALUES_IP_TCP;
exports.NETTRANSPORTVALUES_IP_UDP = TMP_NETTRANSPORTVALUES_IP_UDP;
exports.NETTRANSPORTVALUES_IP = TMP_NETTRANSPORTVALUES_IP;
exports.NETTRANSPORTVALUES_UNIX = TMP_NETTRANSPORTVALUES_UNIX;
exports.NETTRANSPORTVALUES_PIPE = TMP_NETTRANSPORTVALUES_PIPE;
exports.NETTRANSPORTVALUES_INPROC = TMP_NETTRANSPORTVALUES_INPROC;
exports.NETTRANSPORTVALUES_OTHER = TMP_NETTRANSPORTVALUES_OTHER;
exports.NetTransportValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_NETTRANSPORTVALUES_IP_TCP,
TMP_NETTRANSPORTVALUES_IP_UDP,
TMP_NETTRANSPORTVALUES_IP,
TMP_NETTRANSPORTVALUES_UNIX,
TMP_NETTRANSPORTVALUES_PIPE,
TMP_NETTRANSPORTVALUES_INPROC,
TMP_NETTRANSPORTVALUES_OTHER
]);
var TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI = "wifi";
var TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED = "wired";
var TMP_NETHOSTCONNECTIONTYPEVALUES_CELL = "cell";
var TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = "unavailable";
var TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = "unknown";
exports.NETHOSTCONNECTIONTYPEVALUES_WIFI = TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI;
exports.NETHOSTCONNECTIONTYPEVALUES_WIRED = TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED;
exports.NETHOSTCONNECTIONTYPEVALUES_CELL = TMP_NETHOSTCONNECTIONTYPEVALUES_CELL;
exports.NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE = TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE;
exports.NETHOSTCONNECTIONTYPEVALUES_UNKNOWN = TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN;
exports.NetHostConnectionTypeValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_NETHOSTCONNECTIONTYPEVALUES_WIFI,
TMP_NETHOSTCONNECTIONTYPEVALUES_WIRED,
TMP_NETHOSTCONNECTIONTYPEVALUES_CELL,
TMP_NETHOSTCONNECTIONTYPEVALUES_UNAVAILABLE,
TMP_NETHOSTCONNECTIONTYPEVALUES_UNKNOWN
]);
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = "gprs";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = "edge";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = "umts";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = "cdma";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = "evdo_0";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = "evdo_a";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = "cdma2000_1xrtt";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = "hsdpa";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = "hsupa";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = "hspa";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = "iden";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = "evdo_b";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE = "lte";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = "ehrpd";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = "hspap";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM = "gsm";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = "td_scdma";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = "iwlan";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR = "nr";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = "nrnsa";
var TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = "lte_ca";
exports.NETHOSTCONNECTIONSUBTYPEVALUES_GPRS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_EDGE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_UMTS = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_CDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0 = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSPA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_IDEN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_LTE = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_GSM = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_NR = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA;
exports.NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA = TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA;
exports.NetHostConnectionSubtypeValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GPRS,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EDGE,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_UMTS,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_0,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_A,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_CDMA2000_1XRTT,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSDPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSUPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IDEN,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EVDO_B,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_EHRPD,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_HSPAP,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_GSM,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_TD_SCDMA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_IWLAN,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NR,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_NRNSA,
TMP_NETHOSTCONNECTIONSUBTYPEVALUES_LTE_CA
]);
var TMP_HTTPFLAVORVALUES_HTTP_1_0 = "1.0";
var TMP_HTTPFLAVORVALUES_HTTP_1_1 = "1.1";
var TMP_HTTPFLAVORVALUES_HTTP_2_0 = "2.0";
var TMP_HTTPFLAVORVALUES_SPDY = "SPDY";
var TMP_HTTPFLAVORVALUES_QUIC = "QUIC";
exports.HTTPFLAVORVALUES_HTTP_1_0 = TMP_HTTPFLAVORVALUES_HTTP_1_0;
exports.HTTPFLAVORVALUES_HTTP_1_1 = TMP_HTTPFLAVORVALUES_HTTP_1_1;
exports.HTTPFLAVORVALUES_HTTP_2_0 = TMP_HTTPFLAVORVALUES_HTTP_2_0;
exports.HTTPFLAVORVALUES_SPDY = TMP_HTTPFLAVORVALUES_SPDY;
exports.HTTPFLAVORVALUES_QUIC = TMP_HTTPFLAVORVALUES_QUIC;
exports.HttpFlavorValues = {
HTTP_1_0: TMP_HTTPFLAVORVALUES_HTTP_1_0,
HTTP_1_1: TMP_HTTPFLAVORVALUES_HTTP_1_1,
HTTP_2_0: TMP_HTTPFLAVORVALUES_HTTP_2_0,
SPDY: TMP_HTTPFLAVORVALUES_SPDY,
QUIC: TMP_HTTPFLAVORVALUES_QUIC
};
var TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE = "queue";
var TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC = "topic";
exports.MESSAGINGDESTINATIONKINDVALUES_QUEUE = TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE;
exports.MESSAGINGDESTINATIONKINDVALUES_TOPIC = TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC;
exports.MessagingDestinationKindValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_MESSAGINGDESTINATIONKINDVALUES_QUEUE,
TMP_MESSAGINGDESTINATIONKINDVALUES_TOPIC
]);
var TMP_MESSAGINGOPERATIONVALUES_RECEIVE = "receive";
var TMP_MESSAGINGOPERATIONVALUES_PROCESS = "process";
exports.MESSAGINGOPERATIONVALUES_RECEIVE = TMP_MESSAGINGOPERATIONVALUES_RECEIVE;
exports.MESSAGINGOPERATIONVALUES_PROCESS = TMP_MESSAGINGOPERATIONVALUES_PROCESS;
exports.MessagingOperationValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_MESSAGINGOPERATIONVALUES_RECEIVE,
TMP_MESSAGINGOPERATIONVALUES_PROCESS
]);
var TMP_RPCGRPCSTATUSCODEVALUES_OK = 0;
var TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED = 1;
var TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN = 2;
var TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = 3;
var TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = 4;
var TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND = 5;
var TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = 6;
var TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = 7;
var TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = 8;
var TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = 9;
var TMP_RPCGRPCSTATUSCODEVALUES_ABORTED = 10;
var TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = 11;
var TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = 12;
var TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL = 13;
var TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = 14;
var TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS = 15;
var TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = 16;
exports.RPCGRPCSTATUSCODEVALUES_OK = TMP_RPCGRPCSTATUSCODEVALUES_OK;
exports.RPCGRPCSTATUSCODEVALUES_CANCELLED = TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED;
exports.RPCGRPCSTATUSCODEVALUES_UNKNOWN = TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN;
exports.RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT = TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT;
exports.RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED = TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED;
exports.RPCGRPCSTATUSCODEVALUES_NOT_FOUND = TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND;
exports.RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS = TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS;
exports.RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED = TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED;
exports.RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED = TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED;
exports.RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION = TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION;
exports.RPCGRPCSTATUSCODEVALUES_ABORTED = TMP_RPCGRPCSTATUSCODEVALUES_ABORTED;
exports.RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE = TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE;
exports.RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED = TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED;
exports.RPCGRPCSTATUSCODEVALUES_INTERNAL = TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL;
exports.RPCGRPCSTATUSCODEVALUES_UNAVAILABLE = TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE;
exports.RPCGRPCSTATUSCODEVALUES_DATA_LOSS = TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS;
exports.RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED = TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED;
exports.RpcGrpcStatusCodeValues = {
OK: TMP_RPCGRPCSTATUSCODEVALUES_OK,
CANCELLED: TMP_RPCGRPCSTATUSCODEVALUES_CANCELLED,
UNKNOWN: TMP_RPCGRPCSTATUSCODEVALUES_UNKNOWN,
INVALID_ARGUMENT: TMP_RPCGRPCSTATUSCODEVALUES_INVALID_ARGUMENT,
DEADLINE_EXCEEDED: TMP_RPCGRPCSTATUSCODEVALUES_DEADLINE_EXCEEDED,
NOT_FOUND: TMP_RPCGRPCSTATUSCODEVALUES_NOT_FOUND,
ALREADY_EXISTS: TMP_RPCGRPCSTATUSCODEVALUES_ALREADY_EXISTS,
PERMISSION_DENIED: TMP_RPCGRPCSTATUSCODEVALUES_PERMISSION_DENIED,
RESOURCE_EXHAUSTED: TMP_RPCGRPCSTATUSCODEVALUES_RESOURCE_EXHAUSTED,
FAILED_PRECONDITION: TMP_RPCGRPCSTATUSCODEVALUES_FAILED_PRECONDITION,
ABORTED: TMP_RPCGRPCSTATUSCODEVALUES_ABORTED,
OUT_OF_RANGE: TMP_RPCGRPCSTATUSCODEVALUES_OUT_OF_RANGE,
UNIMPLEMENTED: TMP_RPCGRPCSTATUSCODEVALUES_UNIMPLEMENTED,
INTERNAL: TMP_RPCGRPCSTATUSCODEVALUES_INTERNAL,
UNAVAILABLE: TMP_RPCGRPCSTATUSCODEVALUES_UNAVAILABLE,
DATA_LOSS: TMP_RPCGRPCSTATUSCODEVALUES_DATA_LOSS,
UNAUTHENTICATED: TMP_RPCGRPCSTATUSCODEVALUES_UNAUTHENTICATED
};
var TMP_MESSAGETYPEVALUES_SENT = "SENT";
var TMP_MESSAGETYPEVALUES_RECEIVED = "RECEIVED";
exports.MESSAGETYPEVALUES_SENT = TMP_MESSAGETYPEVALUES_SENT;
exports.MESSAGETYPEVALUES_RECEIVED = TMP_MESSAGETYPEVALUES_RECEIVED;
exports.MessageTypeValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_MESSAGETYPEVALUES_SENT,
TMP_MESSAGETYPEVALUES_RECEIVED
]);
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/trace/index.js
var require_trace2 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require_SemanticAttributes(), exports);
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/resource/SemanticResourceAttributes.js
var require_SemanticResourceAttributes = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SEMRESATTRS_K8S_STATEFULSET_NAME = exports.SEMRESATTRS_K8S_STATEFULSET_UID = exports.SEMRESATTRS_K8S_DEPLOYMENT_NAME = exports.SEMRESATTRS_K8S_DEPLOYMENT_UID = exports.SEMRESATTRS_K8S_REPLICASET_NAME = exports.SEMRESATTRS_K8S_REPLICASET_UID = exports.SEMRESATTRS_K8S_CONTAINER_NAME = exports.SEMRESATTRS_K8S_POD_NAME = exports.SEMRESATTRS_K8S_POD_UID = exports.SEMRESATTRS_K8S_NAMESPACE_NAME = exports.SEMRESATTRS_K8S_NODE_UID = exports.SEMRESATTRS_K8S_NODE_NAME = exports.SEMRESATTRS_K8S_CLUSTER_NAME = exports.SEMRESATTRS_HOST_IMAGE_VERSION = exports.SEMRESATTRS_HOST_IMAGE_ID = exports.SEMRESATTRS_HOST_IMAGE_NAME = exports.SEMRESATTRS_HOST_ARCH = exports.SEMRESATTRS_HOST_TYPE = exports.SEMRESATTRS_HOST_NAME = exports.SEMRESATTRS_HOST_ID = exports.SEMRESATTRS_FAAS_MAX_MEMORY = exports.SEMRESATTRS_FAAS_INSTANCE = exports.SEMRESATTRS_FAAS_VERSION = exports.SEMRESATTRS_FAAS_ID = exports.SEMRESATTRS_FAAS_NAME = exports.SEMRESATTRS_DEVICE_MODEL_NAME = exports.SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = exports.SEMRESATTRS_DEVICE_ID = exports.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = exports.SEMRESATTRS_CONTAINER_IMAGE_TAG = exports.SEMRESATTRS_CONTAINER_IMAGE_NAME = exports.SEMRESATTRS_CONTAINER_RUNTIME = exports.SEMRESATTRS_CONTAINER_ID = exports.SEMRESATTRS_CONTAINER_NAME = exports.SEMRESATTRS_AWS_LOG_STREAM_ARNS = exports.SEMRESATTRS_AWS_LOG_STREAM_NAMES = exports.SEMRESATTRS_AWS_LOG_GROUP_ARNS = exports.SEMRESATTRS_AWS_LOG_GROUP_NAMES = exports.SEMRESATTRS_AWS_EKS_CLUSTER_ARN = exports.SEMRESATTRS_AWS_ECS_TASK_REVISION = exports.SEMRESATTRS_AWS_ECS_TASK_FAMILY = exports.SEMRESATTRS_AWS_ECS_TASK_ARN = exports.SEMRESATTRS_AWS_ECS_LAUNCHTYPE = exports.SEMRESATTRS_AWS_ECS_CLUSTER_ARN = exports.SEMRESATTRS_AWS_ECS_CONTAINER_ARN = exports.SEMRESATTRS_CLOUD_PLATFORM = exports.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = exports.SEMRESATTRS_CLOUD_REGION = exports.SEMRESATTRS_CLOUD_ACCOUNT_ID = exports.SEMRESATTRS_CLOUD_PROVIDER = undefined;
exports.CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = exports.CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = exports.CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = exports.CLOUDPLATFORMVALUES_AZURE_AKS = exports.CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = exports.CLOUDPLATFORMVALUES_AZURE_VM = exports.CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = exports.CLOUDPLATFORMVALUES_AWS_LAMBDA = exports.CLOUDPLATFORMVALUES_AWS_EKS = exports.CLOUDPLATFORMVALUES_AWS_ECS = exports.CLOUDPLATFORMVALUES_AWS_EC2 = exports.CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = exports.CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = exports.CloudProviderValues = exports.CLOUDPROVIDERVALUES_GCP = exports.CLOUDPROVIDERVALUES_AZURE = exports.CLOUDPROVIDERVALUES_AWS = exports.CLOUDPROVIDERVALUES_ALIBABA_CLOUD = exports.SemanticResourceAttributes = exports.SEMRESATTRS_WEBENGINE_DESCRIPTION = exports.SEMRESATTRS_WEBENGINE_VERSION = exports.SEMRESATTRS_WEBENGINE_NAME = exports.SEMRESATTRS_TELEMETRY_AUTO_VERSION = exports.SEMRESATTRS_TELEMETRY_SDK_VERSION = exports.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = exports.SEMRESATTRS_TELEMETRY_SDK_NAME = exports.SEMRESATTRS_SERVICE_VERSION = exports.SEMRESATTRS_SERVICE_INSTANCE_ID = exports.SEMRESATTRS_SERVICE_NAMESPACE = exports.SEMRESATTRS_SERVICE_NAME = exports.SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = exports.SEMRESATTRS_PROCESS_RUNTIME_VERSION = exports.SEMRESATTRS_PROCESS_RUNTIME_NAME = exports.SEMRESATTRS_PROCESS_OWNER = exports.SEMRESATTRS_PROCESS_COMMAND_ARGS = exports.SEMRESATTRS_PROCESS_COMMAND_LINE = exports.SEMRESATTRS_PROCESS_COMMAND = exports.SEMRESATTRS_PROCESS_EXECUTABLE_PATH = exports.SEMRESATTRS_PROCESS_EXECUTABLE_NAME = exports.SEMRESATTRS_PROCESS_PID = exports.SEMRESATTRS_OS_VERSION = exports.SEMRESATTRS_OS_NAME = exports.SEMRESATTRS_OS_DESCRIPTION = exports.SEMRESATTRS_OS_TYPE = exports.SEMRESATTRS_K8S_CRONJOB_NAME = exports.SEMRESATTRS_K8S_CRONJOB_UID = exports.SEMRESATTRS_K8S_JOB_NAME = exports.SEMRESATTRS_K8S_JOB_UID = exports.SEMRESATTRS_K8S_DAEMONSET_NAME = exports.SEMRESATTRS_K8S_DAEMONSET_UID = undefined;
exports.TelemetrySdkLanguageValues = exports.TELEMETRYSDKLANGUAGEVALUES_WEBJS = exports.TELEMETRYSDKLANGUAGEVALUES_RUBY = exports.TELEMETRYSDKLANGUAGEVALUES_PYTHON = exports.TELEMETRYSDKLANGUAGEVALUES_PHP = exports.TELEMETRYSDKLANGUAGEVALUES_NODEJS = exports.TELEMETRYSDKLANGUAGEVALUES_JAVA = exports.TELEMETRYSDKLANGUAGEVALUES_GO = exports.TELEMETRYSDKLANGUAGEVALUES_ERLANG = exports.TELEMETRYSDKLANGUAGEVALUES_DOTNET = exports.TELEMETRYSDKLANGUAGEVALUES_CPP = exports.OsTypeValues = exports.OSTYPEVALUES_Z_OS = exports.OSTYPEVALUES_SOLARIS = exports.OSTYPEVALUES_AIX = exports.OSTYPEVALUES_HPUX = exports.OSTYPEVALUES_DRAGONFLYBSD = exports.OSTYPEVALUES_OPENBSD = exports.OSTYPEVALUES_NETBSD = exports.OSTYPEVALUES_FREEBSD = exports.OSTYPEVALUES_DARWIN = exports.OSTYPEVALUES_LINUX = exports.OSTYPEVALUES_WINDOWS = exports.HostArchValues = exports.HOSTARCHVALUES_X86 = exports.HOSTARCHVALUES_PPC64 = exports.HOSTARCHVALUES_PPC32 = exports.HOSTARCHVALUES_IA64 = exports.HOSTARCHVALUES_ARM64 = exports.HOSTARCHVALUES_ARM32 = exports.HOSTARCHVALUES_AMD64 = exports.AwsEcsLaunchtypeValues = exports.AWSECSLAUNCHTYPEVALUES_FARGATE = exports.AWSECSLAUNCHTYPEVALUES_EC2 = exports.CloudPlatformValues = exports.CLOUDPLATFORMVALUES_GCP_APP_ENGINE = exports.CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = exports.CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = exports.CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = undefined;
var utils_1 = require_utils6();
var TMP_CLOUD_PROVIDER = "cloud.provider";
var TMP_CLOUD_ACCOUNT_ID = "cloud.account.id";
var TMP_CLOUD_REGION = "cloud.region";
var TMP_CLOUD_AVAILABILITY_ZONE = "cloud.availability_zone";
var TMP_CLOUD_PLATFORM = "cloud.platform";
var TMP_AWS_ECS_CONTAINER_ARN = "aws.ecs.container.arn";
var TMP_AWS_ECS_CLUSTER_ARN = "aws.ecs.cluster.arn";
var TMP_AWS_ECS_LAUNCHTYPE = "aws.ecs.launchtype";
var TMP_AWS_ECS_TASK_ARN = "aws.ecs.task.arn";
var TMP_AWS_ECS_TASK_FAMILY = "aws.ecs.task.family";
var TMP_AWS_ECS_TASK_REVISION = "aws.ecs.task.revision";
var TMP_AWS_EKS_CLUSTER_ARN = "aws.eks.cluster.arn";
var TMP_AWS_LOG_GROUP_NAMES = "aws.log.group.names";
var TMP_AWS_LOG_GROUP_ARNS = "aws.log.group.arns";
var TMP_AWS_LOG_STREAM_NAMES = "aws.log.stream.names";
var TMP_AWS_LOG_STREAM_ARNS = "aws.log.stream.arns";
var TMP_CONTAINER_NAME = "container.name";
var TMP_CONTAINER_ID = "container.id";
var TMP_CONTAINER_RUNTIME = "container.runtime";
var TMP_CONTAINER_IMAGE_NAME = "container.image.name";
var TMP_CONTAINER_IMAGE_TAG = "container.image.tag";
var TMP_DEPLOYMENT_ENVIRONMENT = "deployment.environment";
var TMP_DEVICE_ID = "device.id";
var TMP_DEVICE_MODEL_IDENTIFIER = "device.model.identifier";
var TMP_DEVICE_MODEL_NAME = "device.model.name";
var TMP_FAAS_NAME = "faas.name";
var TMP_FAAS_ID = "faas.id";
var TMP_FAAS_VERSION = "faas.version";
var TMP_FAAS_INSTANCE = "faas.instance";
var TMP_FAAS_MAX_MEMORY = "faas.max_memory";
var TMP_HOST_ID = "host.id";
var TMP_HOST_NAME = "host.name";
var TMP_HOST_TYPE = "host.type";
var TMP_HOST_ARCH = "host.arch";
var TMP_HOST_IMAGE_NAME = "host.image.name";
var TMP_HOST_IMAGE_ID = "host.image.id";
var TMP_HOST_IMAGE_VERSION = "host.image.version";
var TMP_K8S_CLUSTER_NAME = "k8s.cluster.name";
var TMP_K8S_NODE_NAME = "k8s.node.name";
var TMP_K8S_NODE_UID = "k8s.node.uid";
var TMP_K8S_NAMESPACE_NAME = "k8s.namespace.name";
var TMP_K8S_POD_UID = "k8s.pod.uid";
var TMP_K8S_POD_NAME = "k8s.pod.name";
var TMP_K8S_CONTAINER_NAME = "k8s.container.name";
var TMP_K8S_REPLICASET_UID = "k8s.replicaset.uid";
var TMP_K8S_REPLICASET_NAME = "k8s.replicaset.name";
var TMP_K8S_DEPLOYMENT_UID = "k8s.deployment.uid";
var TMP_K8S_DEPLOYMENT_NAME = "k8s.deployment.name";
var TMP_K8S_STATEFULSET_UID = "k8s.statefulset.uid";
var TMP_K8S_STATEFULSET_NAME = "k8s.statefulset.name";
var TMP_K8S_DAEMONSET_UID = "k8s.daemonset.uid";
var TMP_K8S_DAEMONSET_NAME = "k8s.daemonset.name";
var TMP_K8S_JOB_UID = "k8s.job.uid";
var TMP_K8S_JOB_NAME = "k8s.job.name";
var TMP_K8S_CRONJOB_UID = "k8s.cronjob.uid";
var TMP_K8S_CRONJOB_NAME = "k8s.cronjob.name";
var TMP_OS_TYPE = "os.type";
var TMP_OS_DESCRIPTION = "os.description";
var TMP_OS_NAME = "os.name";
var TMP_OS_VERSION = "os.version";
var TMP_PROCESS_PID = "process.pid";
var TMP_PROCESS_EXECUTABLE_NAME = "process.executable.name";
var TMP_PROCESS_EXECUTABLE_PATH = "process.executable.path";
var TMP_PROCESS_COMMAND = "process.command";
var TMP_PROCESS_COMMAND_LINE = "process.command_line";
var TMP_PROCESS_COMMAND_ARGS = "process.command_args";
var TMP_PROCESS_OWNER = "process.owner";
var TMP_PROCESS_RUNTIME_NAME = "process.runtime.name";
var TMP_PROCESS_RUNTIME_VERSION = "process.runtime.version";
var TMP_PROCESS_RUNTIME_DESCRIPTION = "process.runtime.description";
var TMP_SERVICE_NAME = "service.name";
var TMP_SERVICE_NAMESPACE = "service.namespace";
var TMP_SERVICE_INSTANCE_ID = "service.instance.id";
var TMP_SERVICE_VERSION = "service.version";
var TMP_TELEMETRY_SDK_NAME = "telemetry.sdk.name";
var TMP_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language";
var TMP_TELEMETRY_SDK_VERSION = "telemetry.sdk.version";
var TMP_TELEMETRY_AUTO_VERSION = "telemetry.auto.version";
var TMP_WEBENGINE_NAME = "webengine.name";
var TMP_WEBENGINE_VERSION = "webengine.version";
var TMP_WEBENGINE_DESCRIPTION = "webengine.description";
exports.SEMRESATTRS_CLOUD_PROVIDER = TMP_CLOUD_PROVIDER;
exports.SEMRESATTRS_CLOUD_ACCOUNT_ID = TMP_CLOUD_ACCOUNT_ID;
exports.SEMRESATTRS_CLOUD_REGION = TMP_CLOUD_REGION;
exports.SEMRESATTRS_CLOUD_AVAILABILITY_ZONE = TMP_CLOUD_AVAILABILITY_ZONE;
exports.SEMRESATTRS_CLOUD_PLATFORM = TMP_CLOUD_PLATFORM;
exports.SEMRESATTRS_AWS_ECS_CONTAINER_ARN = TMP_AWS_ECS_CONTAINER_ARN;
exports.SEMRESATTRS_AWS_ECS_CLUSTER_ARN = TMP_AWS_ECS_CLUSTER_ARN;
exports.SEMRESATTRS_AWS_ECS_LAUNCHTYPE = TMP_AWS_ECS_LAUNCHTYPE;
exports.SEMRESATTRS_AWS_ECS_TASK_ARN = TMP_AWS_ECS_TASK_ARN;
exports.SEMRESATTRS_AWS_ECS_TASK_FAMILY = TMP_AWS_ECS_TASK_FAMILY;
exports.SEMRESATTRS_AWS_ECS_TASK_REVISION = TMP_AWS_ECS_TASK_REVISION;
exports.SEMRESATTRS_AWS_EKS_CLUSTER_ARN = TMP_AWS_EKS_CLUSTER_ARN;
exports.SEMRESATTRS_AWS_LOG_GROUP_NAMES = TMP_AWS_LOG_GROUP_NAMES;
exports.SEMRESATTRS_AWS_LOG_GROUP_ARNS = TMP_AWS_LOG_GROUP_ARNS;
exports.SEMRESATTRS_AWS_LOG_STREAM_NAMES = TMP_AWS_LOG_STREAM_NAMES;
exports.SEMRESATTRS_AWS_LOG_STREAM_ARNS = TMP_AWS_LOG_STREAM_ARNS;
exports.SEMRESATTRS_CONTAINER_NAME = TMP_CONTAINER_NAME;
exports.SEMRESATTRS_CONTAINER_ID = TMP_CONTAINER_ID;
exports.SEMRESATTRS_CONTAINER_RUNTIME = TMP_CONTAINER_RUNTIME;
exports.SEMRESATTRS_CONTAINER_IMAGE_NAME = TMP_CONTAINER_IMAGE_NAME;
exports.SEMRESATTRS_CONTAINER_IMAGE_TAG = TMP_CONTAINER_IMAGE_TAG;
exports.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT = TMP_DEPLOYMENT_ENVIRONMENT;
exports.SEMRESATTRS_DEVICE_ID = TMP_DEVICE_ID;
exports.SEMRESATTRS_DEVICE_MODEL_IDENTIFIER = TMP_DEVICE_MODEL_IDENTIFIER;
exports.SEMRESATTRS_DEVICE_MODEL_NAME = TMP_DEVICE_MODEL_NAME;
exports.SEMRESATTRS_FAAS_NAME = TMP_FAAS_NAME;
exports.SEMRESATTRS_FAAS_ID = TMP_FAAS_ID;
exports.SEMRESATTRS_FAAS_VERSION = TMP_FAAS_VERSION;
exports.SEMRESATTRS_FAAS_INSTANCE = TMP_FAAS_INSTANCE;
exports.SEMRESATTRS_FAAS_MAX_MEMORY = TMP_FAAS_MAX_MEMORY;
exports.SEMRESATTRS_HOST_ID = TMP_HOST_ID;
exports.SEMRESATTRS_HOST_NAME = TMP_HOST_NAME;
exports.SEMRESATTRS_HOST_TYPE = TMP_HOST_TYPE;
exports.SEMRESATTRS_HOST_ARCH = TMP_HOST_ARCH;
exports.SEMRESATTRS_HOST_IMAGE_NAME = TMP_HOST_IMAGE_NAME;
exports.SEMRESATTRS_HOST_IMAGE_ID = TMP_HOST_IMAGE_ID;
exports.SEMRESATTRS_HOST_IMAGE_VERSION = TMP_HOST_IMAGE_VERSION;
exports.SEMRESATTRS_K8S_CLUSTER_NAME = TMP_K8S_CLUSTER_NAME;
exports.SEMRESATTRS_K8S_NODE_NAME = TMP_K8S_NODE_NAME;
exports.SEMRESATTRS_K8S_NODE_UID = TMP_K8S_NODE_UID;
exports.SEMRESATTRS_K8S_NAMESPACE_NAME = TMP_K8S_NAMESPACE_NAME;
exports.SEMRESATTRS_K8S_POD_UID = TMP_K8S_POD_UID;
exports.SEMRESATTRS_K8S_POD_NAME = TMP_K8S_POD_NAME;
exports.SEMRESATTRS_K8S_CONTAINER_NAME = TMP_K8S_CONTAINER_NAME;
exports.SEMRESATTRS_K8S_REPLICASET_UID = TMP_K8S_REPLICASET_UID;
exports.SEMRESATTRS_K8S_REPLICASET_NAME = TMP_K8S_REPLICASET_NAME;
exports.SEMRESATTRS_K8S_DEPLOYMENT_UID = TMP_K8S_DEPLOYMENT_UID;
exports.SEMRESATTRS_K8S_DEPLOYMENT_NAME = TMP_K8S_DEPLOYMENT_NAME;
exports.SEMRESATTRS_K8S_STATEFULSET_UID = TMP_K8S_STATEFULSET_UID;
exports.SEMRESATTRS_K8S_STATEFULSET_NAME = TMP_K8S_STATEFULSET_NAME;
exports.SEMRESATTRS_K8S_DAEMONSET_UID = TMP_K8S_DAEMONSET_UID;
exports.SEMRESATTRS_K8S_DAEMONSET_NAME = TMP_K8S_DAEMONSET_NAME;
exports.SEMRESATTRS_K8S_JOB_UID = TMP_K8S_JOB_UID;
exports.SEMRESATTRS_K8S_JOB_NAME = TMP_K8S_JOB_NAME;
exports.SEMRESATTRS_K8S_CRONJOB_UID = TMP_K8S_CRONJOB_UID;
exports.SEMRESATTRS_K8S_CRONJOB_NAME = TMP_K8S_CRONJOB_NAME;
exports.SEMRESATTRS_OS_TYPE = TMP_OS_TYPE;
exports.SEMRESATTRS_OS_DESCRIPTION = TMP_OS_DESCRIPTION;
exports.SEMRESATTRS_OS_NAME = TMP_OS_NAME;
exports.SEMRESATTRS_OS_VERSION = TMP_OS_VERSION;
exports.SEMRESATTRS_PROCESS_PID = TMP_PROCESS_PID;
exports.SEMRESATTRS_PROCESS_EXECUTABLE_NAME = TMP_PROCESS_EXECUTABLE_NAME;
exports.SEMRESATTRS_PROCESS_EXECUTABLE_PATH = TMP_PROCESS_EXECUTABLE_PATH;
exports.SEMRESATTRS_PROCESS_COMMAND = TMP_PROCESS_COMMAND;
exports.SEMRESATTRS_PROCESS_COMMAND_LINE = TMP_PROCESS_COMMAND_LINE;
exports.SEMRESATTRS_PROCESS_COMMAND_ARGS = TMP_PROCESS_COMMAND_ARGS;
exports.SEMRESATTRS_PROCESS_OWNER = TMP_PROCESS_OWNER;
exports.SEMRESATTRS_PROCESS_RUNTIME_NAME = TMP_PROCESS_RUNTIME_NAME;
exports.SEMRESATTRS_PROCESS_RUNTIME_VERSION = TMP_PROCESS_RUNTIME_VERSION;
exports.SEMRESATTRS_PROCESS_RUNTIME_DESCRIPTION = TMP_PROCESS_RUNTIME_DESCRIPTION;
exports.SEMRESATTRS_SERVICE_NAME = TMP_SERVICE_NAME;
exports.SEMRESATTRS_SERVICE_NAMESPACE = TMP_SERVICE_NAMESPACE;
exports.SEMRESATTRS_SERVICE_INSTANCE_ID = TMP_SERVICE_INSTANCE_ID;
exports.SEMRESATTRS_SERVICE_VERSION = TMP_SERVICE_VERSION;
exports.SEMRESATTRS_TELEMETRY_SDK_NAME = TMP_TELEMETRY_SDK_NAME;
exports.SEMRESATTRS_TELEMETRY_SDK_LANGUAGE = TMP_TELEMETRY_SDK_LANGUAGE;
exports.SEMRESATTRS_TELEMETRY_SDK_VERSION = TMP_TELEMETRY_SDK_VERSION;
exports.SEMRESATTRS_TELEMETRY_AUTO_VERSION = TMP_TELEMETRY_AUTO_VERSION;
exports.SEMRESATTRS_WEBENGINE_NAME = TMP_WEBENGINE_NAME;
exports.SEMRESATTRS_WEBENGINE_VERSION = TMP_WEBENGINE_VERSION;
exports.SEMRESATTRS_WEBENGINE_DESCRIPTION = TMP_WEBENGINE_DESCRIPTION;
exports.SemanticResourceAttributes = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_CLOUD_PROVIDER,
TMP_CLOUD_ACCOUNT_ID,
TMP_CLOUD_REGION,
TMP_CLOUD_AVAILABILITY_ZONE,
TMP_CLOUD_PLATFORM,
TMP_AWS_ECS_CONTAINER_ARN,
TMP_AWS_ECS_CLUSTER_ARN,
TMP_AWS_ECS_LAUNCHTYPE,
TMP_AWS_ECS_TASK_ARN,
TMP_AWS_ECS_TASK_FAMILY,
TMP_AWS_ECS_TASK_REVISION,
TMP_AWS_EKS_CLUSTER_ARN,
TMP_AWS_LOG_GROUP_NAMES,
TMP_AWS_LOG_GROUP_ARNS,
TMP_AWS_LOG_STREAM_NAMES,
TMP_AWS_LOG_STREAM_ARNS,
TMP_CONTAINER_NAME,
TMP_CONTAINER_ID,
TMP_CONTAINER_RUNTIME,
TMP_CONTAINER_IMAGE_NAME,
TMP_CONTAINER_IMAGE_TAG,
TMP_DEPLOYMENT_ENVIRONMENT,
TMP_DEVICE_ID,
TMP_DEVICE_MODEL_IDENTIFIER,
TMP_DEVICE_MODEL_NAME,
TMP_FAAS_NAME,
TMP_FAAS_ID,
TMP_FAAS_VERSION,
TMP_FAAS_INSTANCE,
TMP_FAAS_MAX_MEMORY,
TMP_HOST_ID,
TMP_HOST_NAME,
TMP_HOST_TYPE,
TMP_HOST_ARCH,
TMP_HOST_IMAGE_NAME,
TMP_HOST_IMAGE_ID,
TMP_HOST_IMAGE_VERSION,
TMP_K8S_CLUSTER_NAME,
TMP_K8S_NODE_NAME,
TMP_K8S_NODE_UID,
TMP_K8S_NAMESPACE_NAME,
TMP_K8S_POD_UID,
TMP_K8S_POD_NAME,
TMP_K8S_CONTAINER_NAME,
TMP_K8S_REPLICASET_UID,
TMP_K8S_REPLICASET_NAME,
TMP_K8S_DEPLOYMENT_UID,
TMP_K8S_DEPLOYMENT_NAME,
TMP_K8S_STATEFULSET_UID,
TMP_K8S_STATEFULSET_NAME,
TMP_K8S_DAEMONSET_UID,
TMP_K8S_DAEMONSET_NAME,
TMP_K8S_JOB_UID,
TMP_K8S_JOB_NAME,
TMP_K8S_CRONJOB_UID,
TMP_K8S_CRONJOB_NAME,
TMP_OS_TYPE,
TMP_OS_DESCRIPTION,
TMP_OS_NAME,
TMP_OS_VERSION,
TMP_PROCESS_PID,
TMP_PROCESS_EXECUTABLE_NAME,
TMP_PROCESS_EXECUTABLE_PATH,
TMP_PROCESS_COMMAND,
TMP_PROCESS_COMMAND_LINE,
TMP_PROCESS_COMMAND_ARGS,
TMP_PROCESS_OWNER,
TMP_PROCESS_RUNTIME_NAME,
TMP_PROCESS_RUNTIME_VERSION,
TMP_PROCESS_RUNTIME_DESCRIPTION,
TMP_SERVICE_NAME,
TMP_SERVICE_NAMESPACE,
TMP_SERVICE_INSTANCE_ID,
TMP_SERVICE_VERSION,
TMP_TELEMETRY_SDK_NAME,
TMP_TELEMETRY_SDK_LANGUAGE,
TMP_TELEMETRY_SDK_VERSION,
TMP_TELEMETRY_AUTO_VERSION,
TMP_WEBENGINE_NAME,
TMP_WEBENGINE_VERSION,
TMP_WEBENGINE_DESCRIPTION
]);
var TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD = "alibaba_cloud";
var TMP_CLOUDPROVIDERVALUES_AWS = "aws";
var TMP_CLOUDPROVIDERVALUES_AZURE = "azure";
var TMP_CLOUDPROVIDERVALUES_GCP = "gcp";
exports.CLOUDPROVIDERVALUES_ALIBABA_CLOUD = TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD;
exports.CLOUDPROVIDERVALUES_AWS = TMP_CLOUDPROVIDERVALUES_AWS;
exports.CLOUDPROVIDERVALUES_AZURE = TMP_CLOUDPROVIDERVALUES_AZURE;
exports.CLOUDPROVIDERVALUES_GCP = TMP_CLOUDPROVIDERVALUES_GCP;
exports.CloudProviderValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_CLOUDPROVIDERVALUES_ALIBABA_CLOUD,
TMP_CLOUDPROVIDERVALUES_AWS,
TMP_CLOUDPROVIDERVALUES_AZURE,
TMP_CLOUDPROVIDERVALUES_GCP
]);
var TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs";
var TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = "alibaba_cloud_fc";
var TMP_CLOUDPLATFORMVALUES_AWS_EC2 = "aws_ec2";
var TMP_CLOUDPLATFORMVALUES_AWS_ECS = "aws_ecs";
var TMP_CLOUDPLATFORMVALUES_AWS_EKS = "aws_eks";
var TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA = "aws_lambda";
var TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = "aws_elastic_beanstalk";
var TMP_CLOUDPLATFORMVALUES_AZURE_VM = "azure_vm";
var TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = "azure_container_instances";
var TMP_CLOUDPLATFORMVALUES_AZURE_AKS = "azure_aks";
var TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = "azure_functions";
var TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = "azure_app_service";
var TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = "gcp_compute_engine";
var TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = "gcp_cloud_run";
var TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = "gcp_kubernetes_engine";
var TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = "gcp_cloud_functions";
var TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE = "gcp_app_engine";
exports.CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS;
exports.CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC = TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC;
exports.CLOUDPLATFORMVALUES_AWS_EC2 = TMP_CLOUDPLATFORMVALUES_AWS_EC2;
exports.CLOUDPLATFORMVALUES_AWS_ECS = TMP_CLOUDPLATFORMVALUES_AWS_ECS;
exports.CLOUDPLATFORMVALUES_AWS_EKS = TMP_CLOUDPLATFORMVALUES_AWS_EKS;
exports.CLOUDPLATFORMVALUES_AWS_LAMBDA = TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA;
exports.CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK = TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK;
exports.CLOUDPLATFORMVALUES_AZURE_VM = TMP_CLOUDPLATFORMVALUES_AZURE_VM;
exports.CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES = TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES;
exports.CLOUDPLATFORMVALUES_AZURE_AKS = TMP_CLOUDPLATFORMVALUES_AZURE_AKS;
exports.CLOUDPLATFORMVALUES_AZURE_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS;
exports.CLOUDPLATFORMVALUES_AZURE_APP_SERVICE = TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE;
exports.CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE;
exports.CLOUDPLATFORMVALUES_GCP_CLOUD_RUN = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN;
exports.CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE;
exports.CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS = TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS;
exports.CLOUDPLATFORMVALUES_GCP_APP_ENGINE = TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE;
exports.CloudPlatformValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_ECS,
TMP_CLOUDPLATFORMVALUES_ALIBABA_CLOUD_FC,
TMP_CLOUDPLATFORMVALUES_AWS_EC2,
TMP_CLOUDPLATFORMVALUES_AWS_ECS,
TMP_CLOUDPLATFORMVALUES_AWS_EKS,
TMP_CLOUDPLATFORMVALUES_AWS_LAMBDA,
TMP_CLOUDPLATFORMVALUES_AWS_ELASTIC_BEANSTALK,
TMP_CLOUDPLATFORMVALUES_AZURE_VM,
TMP_CLOUDPLATFORMVALUES_AZURE_CONTAINER_INSTANCES,
TMP_CLOUDPLATFORMVALUES_AZURE_AKS,
TMP_CLOUDPLATFORMVALUES_AZURE_FUNCTIONS,
TMP_CLOUDPLATFORMVALUES_AZURE_APP_SERVICE,
TMP_CLOUDPLATFORMVALUES_GCP_COMPUTE_ENGINE,
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_RUN,
TMP_CLOUDPLATFORMVALUES_GCP_KUBERNETES_ENGINE,
TMP_CLOUDPLATFORMVALUES_GCP_CLOUD_FUNCTIONS,
TMP_CLOUDPLATFORMVALUES_GCP_APP_ENGINE
]);
var TMP_AWSECSLAUNCHTYPEVALUES_EC2 = "ec2";
var TMP_AWSECSLAUNCHTYPEVALUES_FARGATE = "fargate";
exports.AWSECSLAUNCHTYPEVALUES_EC2 = TMP_AWSECSLAUNCHTYPEVALUES_EC2;
exports.AWSECSLAUNCHTYPEVALUES_FARGATE = TMP_AWSECSLAUNCHTYPEVALUES_FARGATE;
exports.AwsEcsLaunchtypeValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_AWSECSLAUNCHTYPEVALUES_EC2,
TMP_AWSECSLAUNCHTYPEVALUES_FARGATE
]);
var TMP_HOSTARCHVALUES_AMD64 = "amd64";
var TMP_HOSTARCHVALUES_ARM32 = "arm32";
var TMP_HOSTARCHVALUES_ARM64 = "arm64";
var TMP_HOSTARCHVALUES_IA64 = "ia64";
var TMP_HOSTARCHVALUES_PPC32 = "ppc32";
var TMP_HOSTARCHVALUES_PPC64 = "ppc64";
var TMP_HOSTARCHVALUES_X86 = "x86";
exports.HOSTARCHVALUES_AMD64 = TMP_HOSTARCHVALUES_AMD64;
exports.HOSTARCHVALUES_ARM32 = TMP_HOSTARCHVALUES_ARM32;
exports.HOSTARCHVALUES_ARM64 = TMP_HOSTARCHVALUES_ARM64;
exports.HOSTARCHVALUES_IA64 = TMP_HOSTARCHVALUES_IA64;
exports.HOSTARCHVALUES_PPC32 = TMP_HOSTARCHVALUES_PPC32;
exports.HOSTARCHVALUES_PPC64 = TMP_HOSTARCHVALUES_PPC64;
exports.HOSTARCHVALUES_X86 = TMP_HOSTARCHVALUES_X86;
exports.HostArchValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_HOSTARCHVALUES_AMD64,
TMP_HOSTARCHVALUES_ARM32,
TMP_HOSTARCHVALUES_ARM64,
TMP_HOSTARCHVALUES_IA64,
TMP_HOSTARCHVALUES_PPC32,
TMP_HOSTARCHVALUES_PPC64,
TMP_HOSTARCHVALUES_X86
]);
var TMP_OSTYPEVALUES_WINDOWS = "windows";
var TMP_OSTYPEVALUES_LINUX = "linux";
var TMP_OSTYPEVALUES_DARWIN = "darwin";
var TMP_OSTYPEVALUES_FREEBSD = "freebsd";
var TMP_OSTYPEVALUES_NETBSD = "netbsd";
var TMP_OSTYPEVALUES_OPENBSD = "openbsd";
var TMP_OSTYPEVALUES_DRAGONFLYBSD = "dragonflybsd";
var TMP_OSTYPEVALUES_HPUX = "hpux";
var TMP_OSTYPEVALUES_AIX = "aix";
var TMP_OSTYPEVALUES_SOLARIS = "solaris";
var TMP_OSTYPEVALUES_Z_OS = "z_os";
exports.OSTYPEVALUES_WINDOWS = TMP_OSTYPEVALUES_WINDOWS;
exports.OSTYPEVALUES_LINUX = TMP_OSTYPEVALUES_LINUX;
exports.OSTYPEVALUES_DARWIN = TMP_OSTYPEVALUES_DARWIN;
exports.OSTYPEVALUES_FREEBSD = TMP_OSTYPEVALUES_FREEBSD;
exports.OSTYPEVALUES_NETBSD = TMP_OSTYPEVALUES_NETBSD;
exports.OSTYPEVALUES_OPENBSD = TMP_OSTYPEVALUES_OPENBSD;
exports.OSTYPEVALUES_DRAGONFLYBSD = TMP_OSTYPEVALUES_DRAGONFLYBSD;
exports.OSTYPEVALUES_HPUX = TMP_OSTYPEVALUES_HPUX;
exports.OSTYPEVALUES_AIX = TMP_OSTYPEVALUES_AIX;
exports.OSTYPEVALUES_SOLARIS = TMP_OSTYPEVALUES_SOLARIS;
exports.OSTYPEVALUES_Z_OS = TMP_OSTYPEVALUES_Z_OS;
exports.OsTypeValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_OSTYPEVALUES_WINDOWS,
TMP_OSTYPEVALUES_LINUX,
TMP_OSTYPEVALUES_DARWIN,
TMP_OSTYPEVALUES_FREEBSD,
TMP_OSTYPEVALUES_NETBSD,
TMP_OSTYPEVALUES_OPENBSD,
TMP_OSTYPEVALUES_DRAGONFLYBSD,
TMP_OSTYPEVALUES_HPUX,
TMP_OSTYPEVALUES_AIX,
TMP_OSTYPEVALUES_SOLARIS,
TMP_OSTYPEVALUES_Z_OS
]);
var TMP_TELEMETRYSDKLANGUAGEVALUES_CPP = "cpp";
var TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET = "dotnet";
var TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG = "erlang";
var TMP_TELEMETRYSDKLANGUAGEVALUES_GO = "go";
var TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA = "java";
var TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS = "nodejs";
var TMP_TELEMETRYSDKLANGUAGEVALUES_PHP = "php";
var TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON = "python";
var TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY = "ruby";
var TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS = "webjs";
exports.TELEMETRYSDKLANGUAGEVALUES_CPP = TMP_TELEMETRYSDKLANGUAGEVALUES_CPP;
exports.TELEMETRYSDKLANGUAGEVALUES_DOTNET = TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET;
exports.TELEMETRYSDKLANGUAGEVALUES_ERLANG = TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG;
exports.TELEMETRYSDKLANGUAGEVALUES_GO = TMP_TELEMETRYSDKLANGUAGEVALUES_GO;
exports.TELEMETRYSDKLANGUAGEVALUES_JAVA = TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA;
exports.TELEMETRYSDKLANGUAGEVALUES_NODEJS = TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS;
exports.TELEMETRYSDKLANGUAGEVALUES_PHP = TMP_TELEMETRYSDKLANGUAGEVALUES_PHP;
exports.TELEMETRYSDKLANGUAGEVALUES_PYTHON = TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON;
exports.TELEMETRYSDKLANGUAGEVALUES_RUBY = TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY;
exports.TELEMETRYSDKLANGUAGEVALUES_WEBJS = TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS;
exports.TelemetrySdkLanguageValues = /* @__PURE__ */ (0, utils_1.createConstMap)([
TMP_TELEMETRYSDKLANGUAGEVALUES_CPP,
TMP_TELEMETRYSDKLANGUAGEVALUES_DOTNET,
TMP_TELEMETRYSDKLANGUAGEVALUES_ERLANG,
TMP_TELEMETRYSDKLANGUAGEVALUES_GO,
TMP_TELEMETRYSDKLANGUAGEVALUES_JAVA,
TMP_TELEMETRYSDKLANGUAGEVALUES_NODEJS,
TMP_TELEMETRYSDKLANGUAGEVALUES_PHP,
TMP_TELEMETRYSDKLANGUAGEVALUES_PYTHON,
TMP_TELEMETRYSDKLANGUAGEVALUES_RUBY,
TMP_TELEMETRYSDKLANGUAGEVALUES_WEBJS
]);
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/resource/index.js
var require_resource = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require_SemanticResourceAttributes(), exports);
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js
var require_stable_attributes = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ATTR_EXCEPTION_TYPE = exports.ATTR_EXCEPTION_STACKTRACE = exports.ATTR_EXCEPTION_MESSAGE = exports.ATTR_EXCEPTION_ESCAPED = exports.ERROR_TYPE_VALUE_OTHER = exports.ATTR_ERROR_TYPE = exports.DOTNET_GC_HEAP_GENERATION_VALUE_POH = exports.DOTNET_GC_HEAP_GENERATION_VALUE_LOH = exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN2 = exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN1 = exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN0 = exports.ATTR_DOTNET_GC_HEAP_GENERATION = exports.DB_SYSTEM_NAME_VALUE_POSTGRESQL = exports.DB_SYSTEM_NAME_VALUE_MYSQL = exports.DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER = exports.DB_SYSTEM_NAME_VALUE_MARIADB = exports.ATTR_DB_SYSTEM_NAME = exports.ATTR_DB_STORED_PROCEDURE_NAME = exports.ATTR_DB_RESPONSE_STATUS_CODE = exports.ATTR_DB_QUERY_TEXT = exports.ATTR_DB_QUERY_SUMMARY = exports.ATTR_DB_OPERATION_NAME = exports.ATTR_DB_OPERATION_BATCH_SIZE = exports.ATTR_DB_NAMESPACE = exports.ATTR_DB_COLLECTION_NAME = exports.ATTR_CODE_STACKTRACE = exports.ATTR_CODE_LINE_NUMBER = exports.ATTR_CODE_FUNCTION_NAME = exports.ATTR_CODE_FILE_PATH = exports.ATTR_CODE_COLUMN_NUMBER = exports.ATTR_CLIENT_PORT = exports.ATTR_CLIENT_ADDRESS = exports.ATTR_ASPNETCORE_USER_IS_AUTHENTICATED = exports.ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS = exports.ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE = exports.ATTR_ASPNETCORE_ROUTING_MATCH_STATUS = exports.ATTR_ASPNETCORE_ROUTING_IS_FALLBACK = exports.ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED = exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED = exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER = exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER = exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED = exports.ATTR_ASPNETCORE_RATE_LIMITING_RESULT = exports.ATTR_ASPNETCORE_RATE_LIMITING_POLICY = exports.ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE = exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED = exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED = exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED = exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED = exports.ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT = undefined;
exports.OTEL_STATUS_CODE_VALUE_ERROR = exports.ATTR_OTEL_STATUS_CODE = exports.ATTR_OTEL_SCOPE_VERSION = exports.ATTR_OTEL_SCOPE_NAME = exports.NETWORK_TYPE_VALUE_IPV6 = exports.NETWORK_TYPE_VALUE_IPV4 = exports.ATTR_NETWORK_TYPE = exports.NETWORK_TRANSPORT_VALUE_UNIX = exports.NETWORK_TRANSPORT_VALUE_UDP = exports.NETWORK_TRANSPORT_VALUE_TCP = exports.NETWORK_TRANSPORT_VALUE_QUIC = exports.NETWORK_TRANSPORT_VALUE_PIPE = exports.ATTR_NETWORK_TRANSPORT = exports.ATTR_NETWORK_PROTOCOL_VERSION = exports.ATTR_NETWORK_PROTOCOL_NAME = exports.ATTR_NETWORK_PEER_PORT = exports.ATTR_NETWORK_PEER_ADDRESS = exports.ATTR_NETWORK_LOCAL_PORT = exports.ATTR_NETWORK_LOCAL_ADDRESS = exports.JVM_THREAD_STATE_VALUE_WAITING = exports.JVM_THREAD_STATE_VALUE_TIMED_WAITING = exports.JVM_THREAD_STATE_VALUE_TERMINATED = exports.JVM_THREAD_STATE_VALUE_RUNNABLE = exports.JVM_THREAD_STATE_VALUE_NEW = exports.JVM_THREAD_STATE_VALUE_BLOCKED = exports.ATTR_JVM_THREAD_STATE = exports.ATTR_JVM_THREAD_DAEMON = exports.JVM_MEMORY_TYPE_VALUE_NON_HEAP = exports.JVM_MEMORY_TYPE_VALUE_HEAP = exports.ATTR_JVM_MEMORY_TYPE = exports.ATTR_JVM_MEMORY_POOL_NAME = exports.ATTR_JVM_GC_NAME = exports.ATTR_JVM_GC_ACTION = exports.ATTR_HTTP_ROUTE = exports.ATTR_HTTP_RESPONSE_STATUS_CODE = exports.ATTR_HTTP_RESPONSE_HEADER = exports.ATTR_HTTP_REQUEST_RESEND_COUNT = exports.ATTR_HTTP_REQUEST_METHOD_ORIGINAL = exports.HTTP_REQUEST_METHOD_VALUE_TRACE = exports.HTTP_REQUEST_METHOD_VALUE_PUT = exports.HTTP_REQUEST_METHOD_VALUE_POST = exports.HTTP_REQUEST_METHOD_VALUE_PATCH = exports.HTTP_REQUEST_METHOD_VALUE_OPTIONS = exports.HTTP_REQUEST_METHOD_VALUE_HEAD = exports.HTTP_REQUEST_METHOD_VALUE_GET = exports.HTTP_REQUEST_METHOD_VALUE_DELETE = exports.HTTP_REQUEST_METHOD_VALUE_CONNECT = exports.HTTP_REQUEST_METHOD_VALUE_OTHER = exports.ATTR_HTTP_REQUEST_METHOD = exports.ATTR_HTTP_REQUEST_HEADER = undefined;
exports.ATTR_USER_AGENT_ORIGINAL = exports.ATTR_URL_SCHEME = exports.ATTR_URL_QUERY = exports.ATTR_URL_PATH = exports.ATTR_URL_FULL = exports.ATTR_URL_FRAGMENT = exports.ATTR_TELEMETRY_SDK_VERSION = exports.ATTR_TELEMETRY_SDK_NAME = exports.TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS = exports.TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT = exports.TELEMETRY_SDK_LANGUAGE_VALUE_RUST = exports.TELEMETRY_SDK_LANGUAGE_VALUE_RUBY = exports.TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON = exports.TELEMETRY_SDK_LANGUAGE_VALUE_PHP = exports.TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS = exports.TELEMETRY_SDK_LANGUAGE_VALUE_JAVA = exports.TELEMETRY_SDK_LANGUAGE_VALUE_GO = exports.TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG = exports.TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET = exports.TELEMETRY_SDK_LANGUAGE_VALUE_CPP = exports.ATTR_TELEMETRY_SDK_LANGUAGE = exports.SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS = exports.SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS = exports.SIGNALR_TRANSPORT_VALUE_LONG_POLLING = exports.ATTR_SIGNALR_TRANSPORT = exports.SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT = exports.SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE = exports.SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN = exports.ATTR_SIGNALR_CONNECTION_STATUS = exports.ATTR_SERVICE_VERSION = exports.ATTR_SERVICE_NAMESPACE = exports.ATTR_SERVICE_NAME = exports.ATTR_SERVICE_INSTANCE_ID = exports.ATTR_SERVER_PORT = exports.ATTR_SERVER_ADDRESS = exports.ATTR_OTEL_STATUS_DESCRIPTION = exports.OTEL_STATUS_CODE_VALUE_OK = undefined;
exports.ATTR_ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT = "aspnetcore.diagnostics.exception.result";
exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_ABORTED = "aborted";
exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_HANDLED = "handled";
exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_SKIPPED = "skipped";
exports.ASPNETCORE_DIAGNOSTICS_EXCEPTION_RESULT_VALUE_UNHANDLED = "unhandled";
exports.ATTR_ASPNETCORE_DIAGNOSTICS_HANDLER_TYPE = "aspnetcore.diagnostics.handler.type";
exports.ATTR_ASPNETCORE_RATE_LIMITING_POLICY = "aspnetcore.rate_limiting.policy";
exports.ATTR_ASPNETCORE_RATE_LIMITING_RESULT = "aspnetcore.rate_limiting.result";
exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ACQUIRED = "acquired";
exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_ENDPOINT_LIMITER = "endpoint_limiter";
exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_GLOBAL_LIMITER = "global_limiter";
exports.ASPNETCORE_RATE_LIMITING_RESULT_VALUE_REQUEST_CANCELED = "request_canceled";
exports.ATTR_ASPNETCORE_REQUEST_IS_UNHANDLED = "aspnetcore.request.is_unhandled";
exports.ATTR_ASPNETCORE_ROUTING_IS_FALLBACK = "aspnetcore.routing.is_fallback";
exports.ATTR_ASPNETCORE_ROUTING_MATCH_STATUS = "aspnetcore.routing.match_status";
exports.ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_FAILURE = "failure";
exports.ASPNETCORE_ROUTING_MATCH_STATUS_VALUE_SUCCESS = "success";
exports.ATTR_ASPNETCORE_USER_IS_AUTHENTICATED = "aspnetcore.user.is_authenticated";
exports.ATTR_CLIENT_ADDRESS = "client.address";
exports.ATTR_CLIENT_PORT = "client.port";
exports.ATTR_CODE_COLUMN_NUMBER = "code.column.number";
exports.ATTR_CODE_FILE_PATH = "code.file.path";
exports.ATTR_CODE_FUNCTION_NAME = "code.function.name";
exports.ATTR_CODE_LINE_NUMBER = "code.line.number";
exports.ATTR_CODE_STACKTRACE = "code.stacktrace";
exports.ATTR_DB_COLLECTION_NAME = "db.collection.name";
exports.ATTR_DB_NAMESPACE = "db.namespace";
exports.ATTR_DB_OPERATION_BATCH_SIZE = "db.operation.batch.size";
exports.ATTR_DB_OPERATION_NAME = "db.operation.name";
exports.ATTR_DB_QUERY_SUMMARY = "db.query.summary";
exports.ATTR_DB_QUERY_TEXT = "db.query.text";
exports.ATTR_DB_RESPONSE_STATUS_CODE = "db.response.status_code";
exports.ATTR_DB_STORED_PROCEDURE_NAME = "db.stored_procedure.name";
exports.ATTR_DB_SYSTEM_NAME = "db.system.name";
exports.DB_SYSTEM_NAME_VALUE_MARIADB = "mariadb";
exports.DB_SYSTEM_NAME_VALUE_MICROSOFT_SQL_SERVER = "microsoft.sql_server";
exports.DB_SYSTEM_NAME_VALUE_MYSQL = "mysql";
exports.DB_SYSTEM_NAME_VALUE_POSTGRESQL = "postgresql";
exports.ATTR_DOTNET_GC_HEAP_GENERATION = "dotnet.gc.heap.generation";
exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN0 = "gen0";
exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN1 = "gen1";
exports.DOTNET_GC_HEAP_GENERATION_VALUE_GEN2 = "gen2";
exports.DOTNET_GC_HEAP_GENERATION_VALUE_LOH = "loh";
exports.DOTNET_GC_HEAP_GENERATION_VALUE_POH = "poh";
exports.ATTR_ERROR_TYPE = "error.type";
exports.ERROR_TYPE_VALUE_OTHER = "_OTHER";
exports.ATTR_EXCEPTION_ESCAPED = "exception.escaped";
exports.ATTR_EXCEPTION_MESSAGE = "exception.message";
exports.ATTR_EXCEPTION_STACKTRACE = "exception.stacktrace";
exports.ATTR_EXCEPTION_TYPE = "exception.type";
var ATTR_HTTP_REQUEST_HEADER = (key) => `http.request.header.${key}`;
exports.ATTR_HTTP_REQUEST_HEADER = ATTR_HTTP_REQUEST_HEADER;
exports.ATTR_HTTP_REQUEST_METHOD = "http.request.method";
exports.HTTP_REQUEST_METHOD_VALUE_OTHER = "_OTHER";
exports.HTTP_REQUEST_METHOD_VALUE_CONNECT = "CONNECT";
exports.HTTP_REQUEST_METHOD_VALUE_DELETE = "DELETE";
exports.HTTP_REQUEST_METHOD_VALUE_GET = "GET";
exports.HTTP_REQUEST_METHOD_VALUE_HEAD = "HEAD";
exports.HTTP_REQUEST_METHOD_VALUE_OPTIONS = "OPTIONS";
exports.HTTP_REQUEST_METHOD_VALUE_PATCH = "PATCH";
exports.HTTP_REQUEST_METHOD_VALUE_POST = "POST";
exports.HTTP_REQUEST_METHOD_VALUE_PUT = "PUT";
exports.HTTP_REQUEST_METHOD_VALUE_TRACE = "TRACE";
exports.ATTR_HTTP_REQUEST_METHOD_ORIGINAL = "http.request.method_original";
exports.ATTR_HTTP_REQUEST_RESEND_COUNT = "http.request.resend_count";
var ATTR_HTTP_RESPONSE_HEADER = (key) => `http.response.header.${key}`;
exports.ATTR_HTTP_RESPONSE_HEADER = ATTR_HTTP_RESPONSE_HEADER;
exports.ATTR_HTTP_RESPONSE_STATUS_CODE = "http.response.status_code";
exports.ATTR_HTTP_ROUTE = "http.route";
exports.ATTR_JVM_GC_ACTION = "jvm.gc.action";
exports.ATTR_JVM_GC_NAME = "jvm.gc.name";
exports.ATTR_JVM_MEMORY_POOL_NAME = "jvm.memory.pool.name";
exports.ATTR_JVM_MEMORY_TYPE = "jvm.memory.type";
exports.JVM_MEMORY_TYPE_VALUE_HEAP = "heap";
exports.JVM_MEMORY_TYPE_VALUE_NON_HEAP = "non_heap";
exports.ATTR_JVM_THREAD_DAEMON = "jvm.thread.daemon";
exports.ATTR_JVM_THREAD_STATE = "jvm.thread.state";
exports.JVM_THREAD_STATE_VALUE_BLOCKED = "blocked";
exports.JVM_THREAD_STATE_VALUE_NEW = "new";
exports.JVM_THREAD_STATE_VALUE_RUNNABLE = "runnable";
exports.JVM_THREAD_STATE_VALUE_TERMINATED = "terminated";
exports.JVM_THREAD_STATE_VALUE_TIMED_WAITING = "timed_waiting";
exports.JVM_THREAD_STATE_VALUE_WAITING = "waiting";
exports.ATTR_NETWORK_LOCAL_ADDRESS = "network.local.address";
exports.ATTR_NETWORK_LOCAL_PORT = "network.local.port";
exports.ATTR_NETWORK_PEER_ADDRESS = "network.peer.address";
exports.ATTR_NETWORK_PEER_PORT = "network.peer.port";
exports.ATTR_NETWORK_PROTOCOL_NAME = "network.protocol.name";
exports.ATTR_NETWORK_PROTOCOL_VERSION = "network.protocol.version";
exports.ATTR_NETWORK_TRANSPORT = "network.transport";
exports.NETWORK_TRANSPORT_VALUE_PIPE = "pipe";
exports.NETWORK_TRANSPORT_VALUE_QUIC = "quic";
exports.NETWORK_TRANSPORT_VALUE_TCP = "tcp";
exports.NETWORK_TRANSPORT_VALUE_UDP = "udp";
exports.NETWORK_TRANSPORT_VALUE_UNIX = "unix";
exports.ATTR_NETWORK_TYPE = "network.type";
exports.NETWORK_TYPE_VALUE_IPV4 = "ipv4";
exports.NETWORK_TYPE_VALUE_IPV6 = "ipv6";
exports.ATTR_OTEL_SCOPE_NAME = "otel.scope.name";
exports.ATTR_OTEL_SCOPE_VERSION = "otel.scope.version";
exports.ATTR_OTEL_STATUS_CODE = "otel.status_code";
exports.OTEL_STATUS_CODE_VALUE_ERROR = "ERROR";
exports.OTEL_STATUS_CODE_VALUE_OK = "OK";
exports.ATTR_OTEL_STATUS_DESCRIPTION = "otel.status_description";
exports.ATTR_SERVER_ADDRESS = "server.address";
exports.ATTR_SERVER_PORT = "server.port";
exports.ATTR_SERVICE_INSTANCE_ID = "service.instance.id";
exports.ATTR_SERVICE_NAME = "service.name";
exports.ATTR_SERVICE_NAMESPACE = "service.namespace";
exports.ATTR_SERVICE_VERSION = "service.version";
exports.ATTR_SIGNALR_CONNECTION_STATUS = "signalr.connection.status";
exports.SIGNALR_CONNECTION_STATUS_VALUE_APP_SHUTDOWN = "app_shutdown";
exports.SIGNALR_CONNECTION_STATUS_VALUE_NORMAL_CLOSURE = "normal_closure";
exports.SIGNALR_CONNECTION_STATUS_VALUE_TIMEOUT = "timeout";
exports.ATTR_SIGNALR_TRANSPORT = "signalr.transport";
exports.SIGNALR_TRANSPORT_VALUE_LONG_POLLING = "long_polling";
exports.SIGNALR_TRANSPORT_VALUE_SERVER_SENT_EVENTS = "server_sent_events";
exports.SIGNALR_TRANSPORT_VALUE_WEB_SOCKETS = "web_sockets";
exports.ATTR_TELEMETRY_SDK_LANGUAGE = "telemetry.sdk.language";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_CPP = "cpp";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_DOTNET = "dotnet";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_ERLANG = "erlang";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_GO = "go";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_JAVA = "java";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS = "nodejs";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_PHP = "php";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_PYTHON = "python";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_RUBY = "ruby";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_RUST = "rust";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_SWIFT = "swift";
exports.TELEMETRY_SDK_LANGUAGE_VALUE_WEBJS = "webjs";
exports.ATTR_TELEMETRY_SDK_NAME = "telemetry.sdk.name";
exports.ATTR_TELEMETRY_SDK_VERSION = "telemetry.sdk.version";
exports.ATTR_URL_FRAGMENT = "url.fragment";
exports.ATTR_URL_FULL = "url.full";
exports.ATTR_URL_PATH = "url.path";
exports.ATTR_URL_QUERY = "url.query";
exports.ATTR_URL_SCHEME = "url.scheme";
exports.ATTR_USER_AGENT_ORIGINAL = "user_agent.original";
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/stable_metrics.js
var require_stable_metrics = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS = exports.METRIC_KESTREL_UPGRADED_CONNECTIONS = exports.METRIC_KESTREL_TLS_HANDSHAKE_DURATION = exports.METRIC_KESTREL_REJECTED_CONNECTIONS = exports.METRIC_KESTREL_QUEUED_REQUESTS = exports.METRIC_KESTREL_QUEUED_CONNECTIONS = exports.METRIC_KESTREL_CONNECTION_DURATION = exports.METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES = exports.METRIC_KESTREL_ACTIVE_CONNECTIONS = exports.METRIC_JVM_THREAD_COUNT = exports.METRIC_JVM_MEMORY_USED_AFTER_LAST_GC = exports.METRIC_JVM_MEMORY_USED = exports.METRIC_JVM_MEMORY_LIMIT = exports.METRIC_JVM_MEMORY_COMMITTED = exports.METRIC_JVM_GC_DURATION = exports.METRIC_JVM_CPU_TIME = exports.METRIC_JVM_CPU_RECENT_UTILIZATION = exports.METRIC_JVM_CPU_COUNT = exports.METRIC_JVM_CLASS_UNLOADED = exports.METRIC_JVM_CLASS_LOADED = exports.METRIC_JVM_CLASS_COUNT = exports.METRIC_HTTP_SERVER_REQUEST_DURATION = exports.METRIC_HTTP_CLIENT_REQUEST_DURATION = exports.METRIC_DOTNET_TIMER_COUNT = exports.METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT = exports.METRIC_DOTNET_THREAD_POOL_THREAD_COUNT = exports.METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH = exports.METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET = exports.METRIC_DOTNET_PROCESS_CPU_TIME = exports.METRIC_DOTNET_PROCESS_CPU_COUNT = exports.METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS = exports.METRIC_DOTNET_JIT_COMPILED_METHODS = exports.METRIC_DOTNET_JIT_COMPILED_IL_SIZE = exports.METRIC_DOTNET_JIT_COMPILATION_TIME = exports.METRIC_DOTNET_GC_PAUSE_TIME = exports.METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE = exports.METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE = exports.METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE = exports.METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED = exports.METRIC_DOTNET_GC_COLLECTIONS = exports.METRIC_DOTNET_EXCEPTIONS = exports.METRIC_DOTNET_ASSEMBLY_COUNT = exports.METRIC_DB_CLIENT_OPERATION_DURATION = exports.METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS = exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS = exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION = exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE = exports.METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS = exports.METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES = exports.METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS = undefined;
exports.METRIC_SIGNALR_SERVER_CONNECTION_DURATION = undefined;
exports.METRIC_ASPNETCORE_DIAGNOSTICS_EXCEPTIONS = "aspnetcore.diagnostics.exceptions";
exports.METRIC_ASPNETCORE_RATE_LIMITING_ACTIVE_REQUEST_LEASES = "aspnetcore.rate_limiting.active_request_leases";
exports.METRIC_ASPNETCORE_RATE_LIMITING_QUEUED_REQUESTS = "aspnetcore.rate_limiting.queued_requests";
exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_TIME_IN_QUEUE = "aspnetcore.rate_limiting.request.time_in_queue";
exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUEST_LEASE_DURATION = "aspnetcore.rate_limiting.request_lease.duration";
exports.METRIC_ASPNETCORE_RATE_LIMITING_REQUESTS = "aspnetcore.rate_limiting.requests";
exports.METRIC_ASPNETCORE_ROUTING_MATCH_ATTEMPTS = "aspnetcore.routing.match_attempts";
exports.METRIC_DB_CLIENT_OPERATION_DURATION = "db.client.operation.duration";
exports.METRIC_DOTNET_ASSEMBLY_COUNT = "dotnet.assembly.count";
exports.METRIC_DOTNET_EXCEPTIONS = "dotnet.exceptions";
exports.METRIC_DOTNET_GC_COLLECTIONS = "dotnet.gc.collections";
exports.METRIC_DOTNET_GC_HEAP_TOTAL_ALLOCATED = "dotnet.gc.heap.total_allocated";
exports.METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_FRAGMENTATION_SIZE = "dotnet.gc.last_collection.heap.fragmentation.size";
exports.METRIC_DOTNET_GC_LAST_COLLECTION_HEAP_SIZE = "dotnet.gc.last_collection.heap.size";
exports.METRIC_DOTNET_GC_LAST_COLLECTION_MEMORY_COMMITTED_SIZE = "dotnet.gc.last_collection.memory.committed_size";
exports.METRIC_DOTNET_GC_PAUSE_TIME = "dotnet.gc.pause.time";
exports.METRIC_DOTNET_JIT_COMPILATION_TIME = "dotnet.jit.compilation.time";
exports.METRIC_DOTNET_JIT_COMPILED_IL_SIZE = "dotnet.jit.compiled_il.size";
exports.METRIC_DOTNET_JIT_COMPILED_METHODS = "dotnet.jit.compiled_methods";
exports.METRIC_DOTNET_MONITOR_LOCK_CONTENTIONS = "dotnet.monitor.lock_contentions";
exports.METRIC_DOTNET_PROCESS_CPU_COUNT = "dotnet.process.cpu.count";
exports.METRIC_DOTNET_PROCESS_CPU_TIME = "dotnet.process.cpu.time";
exports.METRIC_DOTNET_PROCESS_MEMORY_WORKING_SET = "dotnet.process.memory.working_set";
exports.METRIC_DOTNET_THREAD_POOL_QUEUE_LENGTH = "dotnet.thread_pool.queue.length";
exports.METRIC_DOTNET_THREAD_POOL_THREAD_COUNT = "dotnet.thread_pool.thread.count";
exports.METRIC_DOTNET_THREAD_POOL_WORK_ITEM_COUNT = "dotnet.thread_pool.work_item.count";
exports.METRIC_DOTNET_TIMER_COUNT = "dotnet.timer.count";
exports.METRIC_HTTP_CLIENT_REQUEST_DURATION = "http.client.request.duration";
exports.METRIC_HTTP_SERVER_REQUEST_DURATION = "http.server.request.duration";
exports.METRIC_JVM_CLASS_COUNT = "jvm.class.count";
exports.METRIC_JVM_CLASS_LOADED = "jvm.class.loaded";
exports.METRIC_JVM_CLASS_UNLOADED = "jvm.class.unloaded";
exports.METRIC_JVM_CPU_COUNT = "jvm.cpu.count";
exports.METRIC_JVM_CPU_RECENT_UTILIZATION = "jvm.cpu.recent_utilization";
exports.METRIC_JVM_CPU_TIME = "jvm.cpu.time";
exports.METRIC_JVM_GC_DURATION = "jvm.gc.duration";
exports.METRIC_JVM_MEMORY_COMMITTED = "jvm.memory.committed";
exports.METRIC_JVM_MEMORY_LIMIT = "jvm.memory.limit";
exports.METRIC_JVM_MEMORY_USED = "jvm.memory.used";
exports.METRIC_JVM_MEMORY_USED_AFTER_LAST_GC = "jvm.memory.used_after_last_gc";
exports.METRIC_JVM_THREAD_COUNT = "jvm.thread.count";
exports.METRIC_KESTREL_ACTIVE_CONNECTIONS = "kestrel.active_connections";
exports.METRIC_KESTREL_ACTIVE_TLS_HANDSHAKES = "kestrel.active_tls_handshakes";
exports.METRIC_KESTREL_CONNECTION_DURATION = "kestrel.connection.duration";
exports.METRIC_KESTREL_QUEUED_CONNECTIONS = "kestrel.queued_connections";
exports.METRIC_KESTREL_QUEUED_REQUESTS = "kestrel.queued_requests";
exports.METRIC_KESTREL_REJECTED_CONNECTIONS = "kestrel.rejected_connections";
exports.METRIC_KESTREL_TLS_HANDSHAKE_DURATION = "kestrel.tls_handshake.duration";
exports.METRIC_KESTREL_UPGRADED_CONNECTIONS = "kestrel.upgraded_connections";
exports.METRIC_SIGNALR_SERVER_ACTIVE_CONNECTIONS = "signalr.server.active_connections";
exports.METRIC_SIGNALR_SERVER_CONNECTION_DURATION = "signalr.server.connection.duration";
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/stable_events.js
var require_stable_events = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.EVENT_EXCEPTION = undefined;
exports.EVENT_EXCEPTION = "exception";
});
// node_modules/.pnpm/@opentelemetry+semantic-conventions@1.40.0/node_modules/@opentelemetry/semantic-conventions/build/src/index.js
var require_src7 = __commonJS((exports) => {
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
var desc = Object.getOwnPropertyDescriptor(m3, k2);
if (!desc || ("get" in desc ? !m3.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() {
return m3[k2];
} };
}
Object.defineProperty(o2, k22, desc);
} : function(o2, m3, k2, k22) {
if (k22 === undefined)
k22 = k2;
o2[k22] = m3[k2];
});
var __exportStar = exports && exports.__exportStar || function(m3, exports2) {
for (var p in m3)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
__createBinding(exports2, m3, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require_trace2(), exports);
__exportStar(require_resource(), exports);
__exportStar(require_stable_attributes(), exports);
__exportStar(require_stable_metrics(), exports);
__exportStar(require_stable_events(), exports);
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/semconv.js
var require_semconv = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ATTR_PROCESS_RUNTIME_NAME = undefined;
exports.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js
var require_sdk_info = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SDK_INFO = undefined;
var version_1 = require_version3();
var semantic_conventions_1 = require_src7();
var semconv_1 = require_semconv();
exports.SDK_INFO = {
[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME]: "opentelemetry",
[semconv_1.ATTR_PROCESS_RUNTIME_NAME]: "node",
[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE]: semantic_conventions_1.TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS,
[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]: version_1.VERSION
};
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/node/index.js
var require_node2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.otperformance = exports.SDK_INFO = exports._globalThis = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = undefined;
var environment_1 = require_environment();
Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
return environment_1.getStringFromEnv;
} });
Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
return environment_1.getBooleanFromEnv;
} });
Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
return environment_1.getNumberFromEnv;
} });
Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
return environment_1.getStringListFromEnv;
} });
var globalThis_1 = require_globalThis();
Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
return globalThis_1._globalThis;
} });
var sdk_info_1 = require_sdk_info();
Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
return sdk_info_1.SDK_INFO;
} });
exports.otperformance = performance;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/platform/index.js
var require_platform = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getStringFromEnv = exports.getBooleanFromEnv = exports.otperformance = exports._globalThis = exports.SDK_INFO = undefined;
var node_1 = require_node2();
Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
return node_1.SDK_INFO;
} });
Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
return node_1._globalThis;
} });
Object.defineProperty(exports, "otperformance", { enumerable: true, get: function() {
return node_1.otperformance;
} });
Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
return node_1.getBooleanFromEnv;
} });
Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
return node_1.getStringFromEnv;
} });
Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
return node_1.getNumberFromEnv;
} });
Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
return node_1.getStringListFromEnv;
} });
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/time.js
var require_time = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.addHrTimes = exports.isTimeInput = exports.isTimeInputHrTime = exports.hrTimeToMicroseconds = exports.hrTimeToMilliseconds = exports.hrTimeToNanoseconds = exports.hrTimeToTimeStamp = exports.hrTimeDuration = exports.timeInputToHrTime = exports.hrTime = exports.getTimeOrigin = exports.millisToHrTime = undefined;
var platform_1 = require_platform();
var NANOSECOND_DIGITS = 9;
var NANOSECOND_DIGITS_IN_MILLIS = 6;
var MILLISECONDS_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS_IN_MILLIS);
var SECOND_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS);
function millisToHrTime(epochMillis) {
const epochSeconds = epochMillis / 1000;
const seconds = Math.trunc(epochSeconds);
const nanos = Math.round(epochMillis % 1000 * MILLISECONDS_TO_NANOSECONDS);
return [seconds, nanos];
}
exports.millisToHrTime = millisToHrTime;
function getTimeOrigin() {
return platform_1.otperformance.timeOrigin;
}
exports.getTimeOrigin = getTimeOrigin;
function hrTime(performanceNow) {
const timeOrigin = millisToHrTime(platform_1.otperformance.timeOrigin);
const now = millisToHrTime(typeof performanceNow === "number" ? performanceNow : platform_1.otperformance.now());
return addHrTimes(timeOrigin, now);
}
exports.hrTime = hrTime;
function timeInputToHrTime(time3) {
if (isTimeInputHrTime(time3)) {
return time3;
} else if (typeof time3 === "number") {
if (time3 < platform_1.otperformance.timeOrigin) {
return hrTime(time3);
} else {
return millisToHrTime(time3);
}
} else if (time3 instanceof Date) {
return millisToHrTime(time3.getTime());
} else {
throw TypeError("Invalid input type");
}
}
exports.timeInputToHrTime = timeInputToHrTime;
function hrTimeDuration(startTime, endTime) {
let seconds = endTime[0] - startTime[0];
let nanos = endTime[1] - startTime[1];
if (nanos < 0) {
seconds -= 1;
nanos += SECOND_TO_NANOSECONDS;
}
return [seconds, nanos];
}
exports.hrTimeDuration = hrTimeDuration;
function hrTimeToTimeStamp(time3) {
const precision = NANOSECOND_DIGITS;
const tmp = `${"0".repeat(precision)}${time3[1]}Z`;
const nanoString = tmp.substring(tmp.length - precision - 1);
const date5 = new Date(time3[0] * 1000).toISOString();
return date5.replace("000Z", nanoString);
}
exports.hrTimeToTimeStamp = hrTimeToTimeStamp;
function hrTimeToNanoseconds(time3) {
return time3[0] * SECOND_TO_NANOSECONDS + time3[1];
}
exports.hrTimeToNanoseconds = hrTimeToNanoseconds;
function hrTimeToMilliseconds(time3) {
return time3[0] * 1000 + time3[1] / 1e6;
}
exports.hrTimeToMilliseconds = hrTimeToMilliseconds;
function hrTimeToMicroseconds(time3) {
return time3[0] * 1e6 + time3[1] / 1000;
}
exports.hrTimeToMicroseconds = hrTimeToMicroseconds;
function isTimeInputHrTime(value) {
return Array.isArray(value) && value.length === 2 && typeof value[0] === "number" && typeof value[1] === "number";
}
exports.isTimeInputHrTime = isTimeInputHrTime;
function isTimeInput(value) {
return isTimeInputHrTime(value) || typeof value === "number" || value instanceof Date;
}
exports.isTimeInput = isTimeInput;
function addHrTimes(time1, time22) {
const out = [time1[0] + time22[0], time1[1] + time22[1]];
if (out[1] >= SECOND_TO_NANOSECONDS) {
out[1] -= SECOND_TO_NANOSECONDS;
out[0] += 1;
}
return out;
}
exports.addHrTimes = addHrTimes;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/common/timer-util.js
var require_timer_util = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.unrefTimer = undefined;
function unrefTimer(timer) {
if (typeof timer !== "number") {
timer.unref();
}
}
exports.unrefTimer = unrefTimer;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/ExportResult.js
var require_ExportResult = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExportResultCode = undefined;
var ExportResultCode;
(function(ExportResultCode2) {
ExportResultCode2[ExportResultCode2["SUCCESS"] = 0] = "SUCCESS";
ExportResultCode2[ExportResultCode2["FAILED"] = 1] = "FAILED";
})(ExportResultCode = exports.ExportResultCode || (exports.ExportResultCode = {}));
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/propagation/composite.js
var require_composite = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.CompositePropagator = undefined;
var api_1 = require_src6();
class CompositePropagator {
_propagators;
_fields;
constructor(config2 = {}) {
this._propagators = config2.propagators ?? [];
this._fields = Array.from(new Set(this._propagators.map((p) => typeof p.fields === "function" ? p.fields() : []).reduce((x4, y3) => x4.concat(y3), [])));
}
inject(context3, carrier, setter) {
for (const propagator of this._propagators) {
try {
propagator.inject(context3, carrier, setter);
} catch (err) {
api_1.diag.warn(`Failed to inject with ${propagator.constructor.name}. Err: ${err.message}`);
}
}
}
extract(context3, carrier, getter) {
return this._propagators.reduce((ctx, propagator) => {
try {
return propagator.extract(ctx, carrier, getter);
} catch (err) {
api_1.diag.warn(`Failed to extract with ${propagator.constructor.name}. Err: ${err.message}`);
}
return ctx;
}, context3);
}
fields() {
return this._fields.slice();
}
}
exports.CompositePropagator = CompositePropagator;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/internal/validators.js
var require_validators = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateValue = exports.validateKey = undefined;
var VALID_KEY_CHAR_RANGE = "[_0-9a-z-*/]";
var VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;
var VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;
var VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);
var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
function validateKey(key) {
return VALID_KEY_REGEX.test(key);
}
exports.validateKey = validateKey;
function validateValue(value) {
return VALID_VALUE_BASE_REGEX.test(value) && !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value);
}
exports.validateValue = validateValue;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/TraceState.js
var require_TraceState = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.TraceState = undefined;
var validators_1 = require_validators();
var MAX_TRACE_STATE_ITEMS = 32;
var MAX_TRACE_STATE_LEN = 512;
var LIST_MEMBERS_SEPARATOR = ",";
var LIST_MEMBER_KEY_VALUE_SPLITTER = "=";
class TraceState {
_internalState = new Map;
constructor(rawTraceState) {
if (rawTraceState)
this._parse(rawTraceState);
}
set(key, value) {
const traceState = this._clone();
if (traceState._internalState.has(key)) {
traceState._internalState.delete(key);
}
traceState._internalState.set(key, value);
return traceState;
}
unset(key) {
const traceState = this._clone();
traceState._internalState.delete(key);
return traceState;
}
get(key) {
return this._internalState.get(key);
}
serialize() {
return this._keys().reduce((agg, key) => {
agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));
return agg;
}, []).join(LIST_MEMBERS_SEPARATOR);
}
_parse(rawTraceState) {
if (rawTraceState.length > MAX_TRACE_STATE_LEN)
return;
this._internalState = rawTraceState.split(LIST_MEMBERS_SEPARATOR).reverse().reduce((agg, part) => {
const listMember = part.trim();
const i3 = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
if (i3 !== -1) {
const key = listMember.slice(0, i3);
const value = listMember.slice(i3 + 1, part.length);
if ((0, validators_1.validateKey)(key) && (0, validators_1.validateValue)(value)) {
agg.set(key, value);
} else {}
}
return agg;
}, new Map);
if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, MAX_TRACE_STATE_ITEMS));
}
}
_keys() {
return Array.from(this._internalState.keys()).reverse();
}
_clone() {
const traceState = new TraceState;
traceState._internalState = new Map(this._internalState);
return traceState;
}
}
exports.TraceState = TraceState;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js
var require_W3CTraceContextPropagator = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.W3CTraceContextPropagator = exports.parseTraceParent = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = undefined;
var api_1 = require_src6();
var suppress_tracing_1 = require_suppress_tracing();
var TraceState_1 = require_TraceState();
exports.TRACE_PARENT_HEADER = "traceparent";
exports.TRACE_STATE_HEADER = "tracestate";
var VERSION4 = "00";
var VERSION_PART = "(?!ff)[\\da-f]{2}";
var TRACE_ID_PART = "(?![0]{32})[\\da-f]{32}";
var PARENT_ID_PART = "(?![0]{16})[\\da-f]{16}";
var FLAGS_PART = "[\\da-f]{2}";
var TRACE_PARENT_REGEX = new RegExp(`^\\s?(${VERSION_PART})-(${TRACE_ID_PART})-(${PARENT_ID_PART})-(${FLAGS_PART})(-.*)?\\s?$`);
function parseTraceParent(traceParent) {
const match = TRACE_PARENT_REGEX.exec(traceParent);
if (!match)
return null;
if (match[1] === "00" && match[5])
return null;
return {
traceId: match[2],
spanId: match[3],
traceFlags: parseInt(match[4], 16)
};
}
exports.parseTraceParent = parseTraceParent;
class W3CTraceContextPropagator {
inject(context3, carrier, setter) {
const spanContext = api_1.trace.getSpanContext(context3);
if (!spanContext || (0, suppress_tracing_1.isTracingSuppressed)(context3) || !(0, api_1.isSpanContextValid)(spanContext))
return;
const traceParent = `${VERSION4}-${spanContext.traceId}-${spanContext.spanId}-0${Number(spanContext.traceFlags || api_1.TraceFlags.NONE).toString(16)}`;
setter.set(carrier, exports.TRACE_PARENT_HEADER, traceParent);
if (spanContext.traceState) {
setter.set(carrier, exports.TRACE_STATE_HEADER, spanContext.traceState.serialize());
}
}
extract(context3, carrier, getter) {
const traceParentHeader = getter.get(carrier, exports.TRACE_PARENT_HEADER);
if (!traceParentHeader)
return context3;
const traceParent = Array.isArray(traceParentHeader) ? traceParentHeader[0] : traceParentHeader;
if (typeof traceParent !== "string")
return context3;
const spanContext = parseTraceParent(traceParent);
if (!spanContext)
return context3;
spanContext.isRemote = true;
const traceStateHeader = getter.get(carrier, exports.TRACE_STATE_HEADER);
if (traceStateHeader) {
const state3 = Array.isArray(traceStateHeader) ? traceStateHeader.join(",") : traceStateHeader;
spanContext.traceState = new TraceState_1.TraceState(typeof state3 === "string" ? state3 : undefined);
}
return api_1.trace.setSpanContext(context3, spanContext);
}
fields() {
return [exports.TRACE_PARENT_HEADER, exports.TRACE_STATE_HEADER];
}
}
exports.W3CTraceContextPropagator = W3CTraceContextPropagator;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js
var require_rpc_metadata = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRPCMetadata = exports.deleteRPCMetadata = exports.setRPCMetadata = exports.RPCType = undefined;
var api_1 = require_src6();
var RPC_METADATA_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key RPC_METADATA");
var RPCType;
(function(RPCType2) {
RPCType2["HTTP"] = "http";
})(RPCType = exports.RPCType || (exports.RPCType = {}));
function setRPCMetadata(context3, meta3) {
return context3.setValue(RPC_METADATA_KEY, meta3);
}
exports.setRPCMetadata = setRPCMetadata;
function deleteRPCMetadata(context3) {
return context3.deleteValue(RPC_METADATA_KEY);
}
exports.deleteRPCMetadata = deleteRPCMetadata;
function getRPCMetadata(context3) {
return context3.getValue(RPC_METADATA_KEY);
}
exports.getRPCMetadata = getRPCMetadata;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js
var require_lodash_merge = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPlainObject = undefined;
var objectTag6 = "[object Object]";
var nullTag2 = "[object Null]";
var undefinedTag2 = "[object Undefined]";
var funcProto4 = Function.prototype;
var funcToString4 = funcProto4.toString;
var objectCtorString2 = funcToString4.call(Object);
var getPrototypeOf2 = Object.getPrototypeOf;
var objectProto17 = Object.prototype;
var hasOwnProperty15 = objectProto17.hasOwnProperty;
var symToStringTag3 = Symbol ? Symbol.toStringTag : undefined;
var nativeObjectToString3 = objectProto17.toString;
function isPlainObject5(value) {
if (!isObjectLike2(value) || baseGetTag2(value) !== objectTag6) {
return false;
}
const proto2 = getPrototypeOf2(value);
if (proto2 === null) {
return true;
}
const Ctor = hasOwnProperty15.call(proto2, "constructor") && proto2.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString4.call(Ctor) === objectCtorString2;
}
exports.isPlainObject = isPlainObject5;
function isObjectLike2(value) {
return value != null && typeof value == "object";
}
function baseGetTag2(value) {
if (value == null) {
return value === undefined ? undefinedTag2 : nullTag2;
}
return symToStringTag3 && symToStringTag3 in Object(value) ? getRawTag2(value) : objectToString4(value);
}
function getRawTag2(value) {
const isOwn = hasOwnProperty15.call(value, symToStringTag3), tag = value[symToStringTag3];
let unmasked = false;
try {
value[symToStringTag3] = undefined;
unmasked = true;
} catch {}
const result = nativeObjectToString3.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag3] = tag;
} else {
delete value[symToStringTag3];
}
}
return result;
}
function objectToString4(value) {
return nativeObjectToString3.call(value);
}
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/merge.js
var require_merge = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.merge = undefined;
var lodash_merge_1 = require_lodash_merge();
var MAX_LEVEL = 20;
function merge3(...args) {
let result = args.shift();
const objects = new WeakMap;
while (args.length > 0) {
result = mergeTwoObjects(result, args.shift(), 0, objects);
}
return result;
}
exports.merge = merge3;
function takeValue(value) {
if (isArray7(value)) {
return value.slice();
}
return value;
}
function mergeTwoObjects(one, two, level = 0, objects) {
let result;
if (level > MAX_LEVEL) {
return;
}
level++;
if (isPrimitive(one) || isPrimitive(two) || isFunction4(two)) {
result = takeValue(two);
} else if (isArray7(one)) {
result = one.slice();
if (isArray7(two)) {
for (let i3 = 0, j2 = two.length;i3 < j2; i3++) {
result.push(takeValue(two[i3]));
}
} else if (isObject6(two)) {
const keys2 = Object.keys(two);
for (let i3 = 0, j2 = keys2.length;i3 < j2; i3++) {
const key = keys2[i3];
result[key] = takeValue(two[key]);
}
}
} else if (isObject6(one)) {
if (isObject6(two)) {
if (!shouldMerge(one, two)) {
return two;
}
result = Object.assign({}, one);
const keys2 = Object.keys(two);
for (let i3 = 0, j2 = keys2.length;i3 < j2; i3++) {
const key = keys2[i3];
const twoValue = two[key];
if (isPrimitive(twoValue)) {
if (typeof twoValue === "undefined") {
delete result[key];
} else {
result[key] = twoValue;
}
} else {
const obj1 = result[key];
const obj2 = twoValue;
if (wasObjectReferenced(one, key, objects) || wasObjectReferenced(two, key, objects)) {
delete result[key];
} else {
if (isObject6(obj1) && isObject6(obj2)) {
const arr1 = objects.get(obj1) || [];
const arr2 = objects.get(obj2) || [];
arr1.push({ obj: one, key });
arr2.push({ obj: two, key });
objects.set(obj1, arr1);
objects.set(obj2, arr2);
}
result[key] = mergeTwoObjects(result[key], twoValue, level, objects);
}
}
}
} else {
result = two;
}
}
return result;
}
function wasObjectReferenced(obj, key, objects) {
const arr = objects.get(obj[key]) || [];
for (let i3 = 0, j2 = arr.length;i3 < j2; i3++) {
const info = arr[i3];
if (info.key === key && info.obj === obj) {
return true;
}
}
return false;
}
function isArray7(value) {
return Array.isArray(value);
}
function isFunction4(value) {
return typeof value === "function";
}
function isObject6(value) {
return !isPrimitive(value) && !isArray7(value) && !isFunction4(value) && typeof value === "object";
}
function isPrimitive(value) {
return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "undefined" || value instanceof Date || value instanceof RegExp || value === null;
}
function shouldMerge(one, two) {
if (!(0, lodash_merge_1.isPlainObject)(one) || !(0, lodash_merge_1.isPlainObject)(two)) {
return false;
}
return true;
}
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/timeout.js
var require_timeout = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.callWithTimeout = exports.TimeoutError = undefined;
class TimeoutError extends Error {
constructor(message) {
super(message);
Object.setPrototypeOf(this, TimeoutError.prototype);
}
}
exports.TimeoutError = TimeoutError;
function callWithTimeout(promise2, timeout) {
let timeoutHandle;
const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {
timeoutHandle = setTimeout(function timeoutHandler() {
reject(new TimeoutError("Operation timed out."));
}, timeout);
});
return Promise.race([promise2, timeoutPromise]).then((result) => {
clearTimeout(timeoutHandle);
return result;
}, (reason) => {
clearTimeout(timeoutHandle);
throw reason;
});
}
exports.callWithTimeout = callWithTimeout;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/url.js
var require_url = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isUrlIgnored = exports.urlMatches = undefined;
function urlMatches(url3, urlToMatch) {
if (typeof urlToMatch === "string") {
return url3 === urlToMatch;
} else {
return !!url3.match(urlToMatch);
}
}
exports.urlMatches = urlMatches;
function isUrlIgnored(url3, ignoredUrls) {
if (!ignoredUrls) {
return false;
}
for (const ignoreUrl of ignoredUrls) {
if (urlMatches(url3, ignoreUrl)) {
return true;
}
}
return false;
}
exports.isUrlIgnored = isUrlIgnored;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/promise.js
var require_promise2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Deferred = undefined;
class Deferred {
_promise;
_resolve;
_reject;
constructor() {
this._promise = new Promise((resolve9, reject) => {
this._resolve = resolve9;
this._reject = reject;
});
}
get promise() {
return this._promise;
}
resolve(val) {
this._resolve(val);
}
reject(err) {
this._reject(err);
}
}
exports.Deferred = Deferred;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/callback.js
var require_callback = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BindOnceFuture = undefined;
var promise_1 = require_promise2();
class BindOnceFuture {
_isCalled = false;
_deferred = new promise_1.Deferred;
_callback;
_that;
constructor(callback, that) {
this._callback = callback;
this._that = that;
}
get isCalled() {
return this._isCalled;
}
get promise() {
return this._deferred.promise;
}
call(...args) {
if (!this._isCalled) {
this._isCalled = true;
try {
Promise.resolve(this._callback.call(this._that, ...args)).then((val) => this._deferred.resolve(val), (err) => this._deferred.reject(err));
} catch (err) {
this._deferred.reject(err);
}
}
return this._deferred.promise;
}
}
exports.BindOnceFuture = BindOnceFuture;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/utils/configuration.js
var require_configuration = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.diagLogLevelFromString = undefined;
var api_1 = require_src6();
var logLevelMap = {
ALL: api_1.DiagLogLevel.ALL,
VERBOSE: api_1.DiagLogLevel.VERBOSE,
DEBUG: api_1.DiagLogLevel.DEBUG,
INFO: api_1.DiagLogLevel.INFO,
WARN: api_1.DiagLogLevel.WARN,
ERROR: api_1.DiagLogLevel.ERROR,
NONE: api_1.DiagLogLevel.NONE
};
function diagLogLevelFromString(value) {
if (value == null) {
return;
}
const resolvedLogLevel = logLevelMap[value.toUpperCase()];
if (resolvedLogLevel == null) {
api_1.diag.warn(`Unknown log level "${value}", expected one of ${Object.keys(logLevelMap)}, using default`);
return api_1.DiagLogLevel.INFO;
}
return resolvedLogLevel;
}
exports.diagLogLevelFromString = diagLogLevelFromString;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/internal/exporter.js
var require_exporter = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports._export = undefined;
var api_1 = require_src6();
var suppress_tracing_1 = require_suppress_tracing();
function _export(exporter, arg) {
return new Promise((resolve9) => {
api_1.context.with((0, suppress_tracing_1.suppressTracing)(api_1.context.active()), () => {
exporter.export(arg, resolve9);
});
});
}
exports._export = _export;
});
// node_modules/.pnpm/@opentelemetry+core@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/core/build/src/index.js
var require_src8 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.internal = exports.diagLogLevelFromString = exports.BindOnceFuture = exports.urlMatches = exports.isUrlIgnored = exports.callWithTimeout = exports.TimeoutError = exports.merge = exports.TraceState = exports.unsuppressTracing = exports.suppressTracing = exports.isTracingSuppressed = exports.setRPCMetadata = exports.getRPCMetadata = exports.deleteRPCMetadata = exports.RPCType = exports.parseTraceParent = exports.W3CTraceContextPropagator = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = exports.CompositePropagator = exports.otperformance = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports._globalThis = exports.SDK_INFO = exports.parseKeyPairsIntoRecord = exports.ExportResultCode = exports.unrefTimer = exports.timeInputToHrTime = exports.millisToHrTime = exports.isTimeInputHrTime = exports.isTimeInput = exports.hrTimeToTimeStamp = exports.hrTimeToNanoseconds = exports.hrTimeToMilliseconds = exports.hrTimeToMicroseconds = exports.hrTimeDuration = exports.hrTime = exports.getTimeOrigin = exports.addHrTimes = exports.loggingErrorHandler = exports.setGlobalErrorHandler = exports.globalErrorHandler = exports.sanitizeAttributes = exports.isAttributeValue = exports.AnchoredClock = exports.W3CBaggagePropagator = undefined;
var W3CBaggagePropagator_1 = require_W3CBaggagePropagator();
Object.defineProperty(exports, "W3CBaggagePropagator", { enumerable: true, get: function() {
return W3CBaggagePropagator_1.W3CBaggagePropagator;
} });
var anchored_clock_1 = require_anchored_clock();
Object.defineProperty(exports, "AnchoredClock", { enumerable: true, get: function() {
return anchored_clock_1.AnchoredClock;
} });
var attributes_1 = require_attributes();
Object.defineProperty(exports, "isAttributeValue", { enumerable: true, get: function() {
return attributes_1.isAttributeValue;
} });
Object.defineProperty(exports, "sanitizeAttributes", { enumerable: true, get: function() {
return attributes_1.sanitizeAttributes;
} });
var global_error_handler_1 = require_global_error_handler();
Object.defineProperty(exports, "globalErrorHandler", { enumerable: true, get: function() {
return global_error_handler_1.globalErrorHandler;
} });
Object.defineProperty(exports, "setGlobalErrorHandler", { enumerable: true, get: function() {
return global_error_handler_1.setGlobalErrorHandler;
} });
var logging_error_handler_1 = require_logging_error_handler();
Object.defineProperty(exports, "loggingErrorHandler", { enumerable: true, get: function() {
return logging_error_handler_1.loggingErrorHandler;
} });
var time_1 = require_time();
Object.defineProperty(exports, "addHrTimes", { enumerable: true, get: function() {
return time_1.addHrTimes;
} });
Object.defineProperty(exports, "getTimeOrigin", { enumerable: true, get: function() {
return time_1.getTimeOrigin;
} });
Object.defineProperty(exports, "hrTime", { enumerable: true, get: function() {
return time_1.hrTime;
} });
Object.defineProperty(exports, "hrTimeDuration", { enumerable: true, get: function() {
return time_1.hrTimeDuration;
} });
Object.defineProperty(exports, "hrTimeToMicroseconds", { enumerable: true, get: function() {
return time_1.hrTimeToMicroseconds;
} });
Object.defineProperty(exports, "hrTimeToMilliseconds", { enumerable: true, get: function() {
return time_1.hrTimeToMilliseconds;
} });
Object.defineProperty(exports, "hrTimeToNanoseconds", { enumerable: true, get: function() {
return time_1.hrTimeToNanoseconds;
} });
Object.defineProperty(exports, "hrTimeToTimeStamp", { enumerable: true, get: function() {
return time_1.hrTimeToTimeStamp;
} });
Object.defineProperty(exports, "isTimeInput", { enumerable: true, get: function() {
return time_1.isTimeInput;
} });
Object.defineProperty(exports, "isTimeInputHrTime", { enumerable: true, get: function() {
return time_1.isTimeInputHrTime;
} });
Object.defineProperty(exports, "millisToHrTime", { enumerable: true, get: function() {
return time_1.millisToHrTime;
} });
Object.defineProperty(exports, "timeInputToHrTime", { enumerable: true, get: function() {
return time_1.timeInputToHrTime;
} });
var timer_util_1 = require_timer_util();
Object.defineProperty(exports, "unrefTimer", { enumerable: true, get: function() {
return timer_util_1.unrefTimer;
} });
var ExportResult_1 = require_ExportResult();
Object.defineProperty(exports, "ExportResultCode", { enumerable: true, get: function() {
return ExportResult_1.ExportResultCode;
} });
var utils_1 = require_utils5();
Object.defineProperty(exports, "parseKeyPairsIntoRecord", { enumerable: true, get: function() {
return utils_1.parseKeyPairsIntoRecord;
} });
var platform_1 = require_platform();
Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
return platform_1.SDK_INFO;
} });
Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
return platform_1._globalThis;
} });
Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
return platform_1.getStringFromEnv;
} });
Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
return platform_1.getBooleanFromEnv;
} });
Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
return platform_1.getNumberFromEnv;
} });
Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
return platform_1.getStringListFromEnv;
} });
Object.defineProperty(exports, "otperformance", { enumerable: true, get: function() {
return platform_1.otperformance;
} });
var composite_1 = require_composite();
Object.defineProperty(exports, "CompositePropagator", { enumerable: true, get: function() {
return composite_1.CompositePropagator;
} });
var W3CTraceContextPropagator_1 = require_W3CTraceContextPropagator();
Object.defineProperty(exports, "TRACE_PARENT_HEADER", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.TRACE_PARENT_HEADER;
} });
Object.defineProperty(exports, "TRACE_STATE_HEADER", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.TRACE_STATE_HEADER;
} });
Object.defineProperty(exports, "W3CTraceContextPropagator", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.W3CTraceContextPropagator;
} });
Object.defineProperty(exports, "parseTraceParent", { enumerable: true, get: function() {
return W3CTraceContextPropagator_1.parseTraceParent;
} });
var rpc_metadata_1 = require_rpc_metadata();
Object.defineProperty(exports, "RPCType", { enumerable: true, get: function() {
return rpc_metadata_1.RPCType;
} });
Object.defineProperty(exports, "deleteRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.deleteRPCMetadata;
} });
Object.defineProperty(exports, "getRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.getRPCMetadata;
} });
Object.defineProperty(exports, "setRPCMetadata", { enumerable: true, get: function() {
return rpc_metadata_1.setRPCMetadata;
} });
var suppress_tracing_1 = require_suppress_tracing();
Object.defineProperty(exports, "isTracingSuppressed", { enumerable: true, get: function() {
return suppress_tracing_1.isTracingSuppressed;
} });
Object.defineProperty(exports, "suppressTracing", { enumerable: true, get: function() {
return suppress_tracing_1.suppressTracing;
} });
Object.defineProperty(exports, "unsuppressTracing", { enumerable: true, get: function() {
return suppress_tracing_1.unsuppressTracing;
} });
var TraceState_1 = require_TraceState();
Object.defineProperty(exports, "TraceState", { enumerable: true, get: function() {
return TraceState_1.TraceState;
} });
var merge_1 = require_merge();
Object.defineProperty(exports, "merge", { enumerable: true, get: function() {
return merge_1.merge;
} });
var timeout_1 = require_timeout();
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function() {
return timeout_1.TimeoutError;
} });
Object.defineProperty(exports, "callWithTimeout", { enumerable: true, get: function() {
return timeout_1.callWithTimeout;
} });
var url_1 = require_url();
Object.defineProperty(exports, "isUrlIgnored", { enumerable: true, get: function() {
return url_1.isUrlIgnored;
} });
Object.defineProperty(exports, "urlMatches", { enumerable: true, get: function() {
return url_1.urlMatches;
} });
var callback_1 = require_callback();
Object.defineProperty(exports, "BindOnceFuture", { enumerable: true, get: function() {
return callback_1.BindOnceFuture;
} });
var configuration_1 = require_configuration();
Object.defineProperty(exports, "diagLogLevelFromString", { enumerable: true, get: function() {
return configuration_1.diagLogLevelFromString;
} });
var exporter_1 = require_exporter();
exports.internal = {
_export: exporter_1._export
};
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/default-service-name.js
var require_default_service_name = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports._clearDefaultServiceNameCache = exports.defaultServiceName = undefined;
var serviceName;
function defaultServiceName() {
if (serviceName === undefined) {
try {
const argv0 = globalThis.process.argv0;
serviceName = argv0 ? `unknown_service:${argv0}` : "unknown_service";
} catch {
serviceName = "unknown_service";
}
}
return serviceName;
}
exports.defaultServiceName = defaultServiceName;
function _clearDefaultServiceNameCache() {
serviceName = undefined;
}
exports._clearDefaultServiceNameCache = _clearDefaultServiceNameCache;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/utils.js
var require_utils7 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPromiseLike = undefined;
var isPromiseLike = (val) => {
return val !== null && typeof val === "object" && typeof val.then === "function";
};
exports.isPromiseLike = isPromiseLike;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/ResourceImpl.js
var require_ResourceImpl = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultResource = exports.emptyResource = exports.resourceFromDetectedResource = exports.resourceFromAttributes = undefined;
var api_1 = require_src6();
var core_1 = require_src8();
var semantic_conventions_1 = require_src7();
var default_service_name_1 = require_default_service_name();
var utils_1 = require_utils7();
class ResourceImpl {
_rawAttributes;
_asyncAttributesPending = false;
_schemaUrl;
_memoizedAttributes;
static FromAttributeList(attributes, options) {
const res = new ResourceImpl({}, options);
res._rawAttributes = guardedRawAttributes(attributes);
res._asyncAttributesPending = attributes.filter(([_2, val]) => (0, utils_1.isPromiseLike)(val)).length > 0;
return res;
}
constructor(resource, options) {
const attributes = resource.attributes ?? {};
this._rawAttributes = Object.entries(attributes).map(([k2, v2]) => {
if ((0, utils_1.isPromiseLike)(v2)) {
this._asyncAttributesPending = true;
}
return [k2, v2];
});
this._rawAttributes = guardedRawAttributes(this._rawAttributes);
this._schemaUrl = validateSchemaUrl(options?.schemaUrl);
}
get asyncAttributesPending() {
return this._asyncAttributesPending;
}
async waitForAsyncAttributes() {
if (!this.asyncAttributesPending) {
return;
}
for (let i3 = 0;i3 < this._rawAttributes.length; i3++) {
const [k2, v2] = this._rawAttributes[i3];
this._rawAttributes[i3] = [k2, (0, utils_1.isPromiseLike)(v2) ? await v2 : v2];
}
this._asyncAttributesPending = false;
}
get attributes() {
if (this.asyncAttributesPending) {
api_1.diag.error("Accessing resource attributes before async attributes settled");
}
if (this._memoizedAttributes) {
return this._memoizedAttributes;
}
const attrs = {};
for (const [k2, v2] of this._rawAttributes) {
if ((0, utils_1.isPromiseLike)(v2)) {
api_1.diag.debug(`Unsettled resource attribute ${k2} skipped`);
continue;
}
if (v2 != null) {
attrs[k2] ??= v2;
}
}
if (!this._asyncAttributesPending) {
this._memoizedAttributes = attrs;
}
return attrs;
}
getRawAttributes() {
return this._rawAttributes;
}
get schemaUrl() {
return this._schemaUrl;
}
merge(resource) {
if (resource == null)
return this;
const mergedSchemaUrl = mergeSchemaUrl(this, resource);
const mergedOptions = mergedSchemaUrl ? { schemaUrl: mergedSchemaUrl } : undefined;
return ResourceImpl.FromAttributeList([...resource.getRawAttributes(), ...this.getRawAttributes()], mergedOptions);
}
}
function resourceFromAttributes(attributes, options) {
return ResourceImpl.FromAttributeList(Object.entries(attributes), options);
}
exports.resourceFromAttributes = resourceFromAttributes;
function resourceFromDetectedResource(detectedResource, options) {
return new ResourceImpl(detectedResource, options);
}
exports.resourceFromDetectedResource = resourceFromDetectedResource;
function emptyResource() {
return resourceFromAttributes({});
}
exports.emptyResource = emptyResource;
function defaultResource() {
return resourceFromAttributes({
[semantic_conventions_1.ATTR_SERVICE_NAME]: (0, default_service_name_1.defaultServiceName)(),
[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE],
[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME],
[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]: core_1.SDK_INFO[semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]
});
}
exports.defaultResource = defaultResource;
function guardedRawAttributes(attributes) {
return attributes.map(([k2, v2]) => {
if ((0, utils_1.isPromiseLike)(v2)) {
return [
k2,
v2.catch((err) => {
api_1.diag.debug("promise rejection for resource attribute: %s - %s", k2, err);
return;
})
];
}
return [k2, v2];
});
}
function validateSchemaUrl(schemaUrl) {
if (typeof schemaUrl === "string" || schemaUrl === undefined) {
return schemaUrl;
}
api_1.diag.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.", schemaUrl);
return;
}
function mergeSchemaUrl(old, updating) {
const oldSchemaUrl = old?.schemaUrl;
const updatingSchemaUrl = updating?.schemaUrl;
const isOldEmpty = oldSchemaUrl === undefined || oldSchemaUrl === "";
const isUpdatingEmpty = updatingSchemaUrl === undefined || updatingSchemaUrl === "";
if (isOldEmpty) {
return updatingSchemaUrl;
}
if (isUpdatingEmpty) {
return oldSchemaUrl;
}
if (oldSchemaUrl === updatingSchemaUrl) {
return oldSchemaUrl;
}
api_1.diag.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.', oldSchemaUrl, updatingSchemaUrl);
return;
}
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detect-resources.js
var require_detect_resources = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.detectResources = undefined;
var api_1 = require_src6();
var ResourceImpl_1 = require_ResourceImpl();
var detectResources = (config2 = {}) => {
const resources = (config2.detectors || []).map((d) => {
try {
const resource = (0, ResourceImpl_1.resourceFromDetectedResource)(d.detect(config2));
api_1.diag.debug(`${d.constructor.name} found resource.`, resource);
return resource;
} catch (e2) {
api_1.diag.debug(`${d.constructor.name} failed: ${e2.message}`);
return (0, ResourceImpl_1.emptyResource)();
}
});
return resources.reduce((acc, resource) => acc.merge(resource), (0, ResourceImpl_1.emptyResource)());
};
exports.detectResources = detectResources;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/EnvDetector.js
var require_EnvDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.envDetector = undefined;
var api_1 = require_src6();
var semantic_conventions_1 = require_src7();
var core_1 = require_src8();
class EnvDetector {
_MAX_LENGTH = 255;
_COMMA_SEPARATOR = ",";
_LABEL_KEY_VALUE_SPLITTER = "=";
detect(_config) {
const attributes = {};
const rawAttributes = (0, core_1.getStringFromEnv)("OTEL_RESOURCE_ATTRIBUTES");
const serviceName = (0, core_1.getStringFromEnv)("OTEL_SERVICE_NAME");
if (rawAttributes) {
try {
const parsedAttributes = this._parseResourceAttributes(rawAttributes);
Object.assign(attributes, parsedAttributes);
} catch (e2) {
api_1.diag.debug(`EnvDetector failed: ${e2 instanceof Error ? e2.message : e2}`);
}
}
if (serviceName) {
attributes[semantic_conventions_1.ATTR_SERVICE_NAME] = serviceName;
}
return { attributes };
}
_parseResourceAttributes(rawEnvAttributes) {
if (!rawEnvAttributes)
return {};
const attributes = {};
const rawAttributes = rawEnvAttributes.split(this._COMMA_SEPARATOR);
for (const rawAttribute of rawAttributes) {
const keyValuePair = rawAttribute.split(this._LABEL_KEY_VALUE_SPLITTER);
if (keyValuePair.length !== 2) {
throw new Error(`Invalid format for OTEL_RESOURCE_ATTRIBUTES: "${rawAttribute}". ` + `Expected format: key=value. The ',' and '=' characters must be percent-encoded in keys and values.`);
}
const [rawKey, rawValue] = keyValuePair;
const key = rawKey.trim();
const value = rawValue.trim();
if (key.length === 0) {
throw new Error(`Invalid OTEL_RESOURCE_ATTRIBUTES: empty attribute key in "${rawAttribute}".`);
}
let decodedKey;
let decodedValue;
try {
decodedKey = decodeURIComponent(key);
decodedValue = decodeURIComponent(value);
} catch (e2) {
throw new Error(`Failed to percent-decode OTEL_RESOURCE_ATTRIBUTES entry "${rawAttribute}": ${e2 instanceof Error ? e2.message : e2}`);
}
if (decodedKey.length > this._MAX_LENGTH) {
throw new Error(`Attribute key exceeds the maximum length of ${this._MAX_LENGTH} characters: "${decodedKey}".`);
}
if (decodedValue.length > this._MAX_LENGTH) {
throw new Error(`Attribute value exceeds the maximum length of ${this._MAX_LENGTH} characters for key "${decodedKey}".`);
}
attributes[decodedKey] = decodedValue;
}
return attributes;
}
}
exports.envDetector = new EnvDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/semconv.js
var require_semconv2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ATTR_WEBENGINE_VERSION = exports.ATTR_WEBENGINE_NAME = exports.ATTR_WEBENGINE_DESCRIPTION = exports.ATTR_SERVICE_NAMESPACE = exports.ATTR_SERVICE_INSTANCE_ID = exports.ATTR_PROCESS_RUNTIME_VERSION = exports.ATTR_PROCESS_RUNTIME_NAME = exports.ATTR_PROCESS_RUNTIME_DESCRIPTION = exports.ATTR_PROCESS_PID = exports.ATTR_PROCESS_OWNER = exports.ATTR_PROCESS_EXECUTABLE_PATH = exports.ATTR_PROCESS_EXECUTABLE_NAME = exports.ATTR_PROCESS_COMMAND_ARGS = exports.ATTR_PROCESS_COMMAND = exports.ATTR_OS_VERSION = exports.ATTR_OS_TYPE = exports.ATTR_K8S_POD_NAME = exports.ATTR_K8S_NAMESPACE_NAME = exports.ATTR_K8S_DEPLOYMENT_NAME = exports.ATTR_K8S_CLUSTER_NAME = exports.ATTR_HOST_TYPE = exports.ATTR_HOST_NAME = exports.ATTR_HOST_IMAGE_VERSION = exports.ATTR_HOST_IMAGE_NAME = exports.ATTR_HOST_IMAGE_ID = exports.ATTR_HOST_ID = exports.ATTR_HOST_ARCH = exports.ATTR_CONTAINER_NAME = exports.ATTR_CONTAINER_IMAGE_TAGS = exports.ATTR_CONTAINER_IMAGE_NAME = exports.ATTR_CONTAINER_ID = exports.ATTR_CLOUD_REGION = exports.ATTR_CLOUD_PROVIDER = exports.ATTR_CLOUD_AVAILABILITY_ZONE = exports.ATTR_CLOUD_ACCOUNT_ID = undefined;
exports.ATTR_CLOUD_ACCOUNT_ID = "cloud.account.id";
exports.ATTR_CLOUD_AVAILABILITY_ZONE = "cloud.availability_zone";
exports.ATTR_CLOUD_PROVIDER = "cloud.provider";
exports.ATTR_CLOUD_REGION = "cloud.region";
exports.ATTR_CONTAINER_ID = "container.id";
exports.ATTR_CONTAINER_IMAGE_NAME = "container.image.name";
exports.ATTR_CONTAINER_IMAGE_TAGS = "container.image.tags";
exports.ATTR_CONTAINER_NAME = "container.name";
exports.ATTR_HOST_ARCH = "host.arch";
exports.ATTR_HOST_ID = "host.id";
exports.ATTR_HOST_IMAGE_ID = "host.image.id";
exports.ATTR_HOST_IMAGE_NAME = "host.image.name";
exports.ATTR_HOST_IMAGE_VERSION = "host.image.version";
exports.ATTR_HOST_NAME = "host.name";
exports.ATTR_HOST_TYPE = "host.type";
exports.ATTR_K8S_CLUSTER_NAME = "k8s.cluster.name";
exports.ATTR_K8S_DEPLOYMENT_NAME = "k8s.deployment.name";
exports.ATTR_K8S_NAMESPACE_NAME = "k8s.namespace.name";
exports.ATTR_K8S_POD_NAME = "k8s.pod.name";
exports.ATTR_OS_TYPE = "os.type";
exports.ATTR_OS_VERSION = "os.version";
exports.ATTR_PROCESS_COMMAND = "process.command";
exports.ATTR_PROCESS_COMMAND_ARGS = "process.command_args";
exports.ATTR_PROCESS_EXECUTABLE_NAME = "process.executable.name";
exports.ATTR_PROCESS_EXECUTABLE_PATH = "process.executable.path";
exports.ATTR_PROCESS_OWNER = "process.owner";
exports.ATTR_PROCESS_PID = "process.pid";
exports.ATTR_PROCESS_RUNTIME_DESCRIPTION = "process.runtime.description";
exports.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
exports.ATTR_PROCESS_RUNTIME_VERSION = "process.runtime.version";
exports.ATTR_SERVICE_INSTANCE_ID = "service.instance.id";
exports.ATTR_SERVICE_NAMESPACE = "service.namespace";
exports.ATTR_WEBENGINE_DESCRIPTION = "webengine.description";
exports.ATTR_WEBENGINE_NAME = "webengine.name";
exports.ATTR_WEBENGINE_VERSION = "webengine.version";
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/execAsync.js
var require_execAsync = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.execAsync = undefined;
var child_process3 = __require("child_process");
var util4 = __require("util");
exports.execAsync = util4.promisify(child_process3.exec);
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-darwin.js
var require_getMachineId_darwin = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var execAsync_1 = require_execAsync();
var api_1 = require_src6();
async function getMachineId() {
try {
const result = await (0, execAsync_1.execAsync)('ioreg -rd1 -c "IOPlatformExpertDevice"');
const idLine = result.stdout.split(`
`).find((line) => line.includes("IOPlatformUUID"));
if (!idLine) {
return;
}
const parts = idLine.split('" = "');
if (parts.length === 2) {
return parts[1].slice(0, -1);
}
} catch (e2) {
api_1.diag.debug(`error reading machine id: ${e2}`);
}
return;
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-linux.js
var require_getMachineId_linux = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var fs_1 = __require("fs");
var api_1 = require_src6();
async function getMachineId() {
const paths2 = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
for (const path12 of paths2) {
try {
const result = await fs_1.promises.readFile(path12, { encoding: "utf8" });
return result.trim();
} catch (e2) {
api_1.diag.debug(`error reading machine id: ${e2}`);
}
}
return;
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-bsd.js
var require_getMachineId_bsd = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var fs_1 = __require("fs");
var execAsync_1 = require_execAsync();
var api_1 = require_src6();
async function getMachineId() {
try {
const result = await fs_1.promises.readFile("/etc/hostid", { encoding: "utf8" });
return result.trim();
} catch (e2) {
api_1.diag.debug(`error reading machine id: ${e2}`);
}
try {
const result = await (0, execAsync_1.execAsync)("kenv -q smbios.system.uuid");
return result.stdout.trim();
} catch (e2) {
api_1.diag.debug(`error reading machine id: ${e2}`);
}
return;
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-win.js
var require_getMachineId_win = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var process22 = __require("process");
var execAsync_1 = require_execAsync();
var api_1 = require_src6();
async function getMachineId() {
const args = "QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid";
let command = "%windir%\\System32\\REG.exe";
if (process22.arch === "ia32" && "PROCESSOR_ARCHITEW6432" in process22.env) {
command = "%windir%\\sysnative\\cmd.exe /c " + command;
}
try {
const result = await (0, execAsync_1.execAsync)(`${command} ${args}`);
const parts = result.stdout.split("REG_SZ");
if (parts.length === 2) {
return parts[1].trim();
}
} catch (e2) {
api_1.diag.debug(`error reading machine id: ${e2}`);
}
return;
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId-unsupported.js
var require_getMachineId_unsupported = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var api_1 = require_src6();
async function getMachineId() {
api_1.diag.debug("could not read machine-id: unsupported platform");
return;
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/machine-id/getMachineId.js
var require_getMachineId = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMachineId = undefined;
var process22 = __require("process");
var getMachineIdImpl;
async function getMachineId() {
if (!getMachineIdImpl) {
switch (process22.platform) {
case "darwin":
getMachineIdImpl = (await Promise.resolve().then(() => __toESM(require_getMachineId_darwin()))).getMachineId;
break;
case "linux":
getMachineIdImpl = (await Promise.resolve().then(() => __toESM(require_getMachineId_linux()))).getMachineId;
break;
case "freebsd":
getMachineIdImpl = (await Promise.resolve().then(() => __toESM(require_getMachineId_bsd()))).getMachineId;
break;
case "win32":
getMachineIdImpl = (await Promise.resolve().then(() => __toESM(require_getMachineId_win()))).getMachineId;
break;
default:
getMachineIdImpl = (await Promise.resolve().then(() => __toESM(require_getMachineId_unsupported()))).getMachineId;
break;
}
}
return getMachineIdImpl();
}
exports.getMachineId = getMachineId;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/utils.js
var require_utils8 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeType = exports.normalizeArch = undefined;
var normalizeArch2 = (nodeArchString) => {
switch (nodeArchString) {
case "arm":
return "arm32";
case "ppc":
return "ppc32";
case "x64":
return "amd64";
default:
return nodeArchString;
}
};
exports.normalizeArch = normalizeArch2;
var normalizeType = (nodePlatform) => {
switch (nodePlatform) {
case "sunos":
return "solaris";
case "win32":
return "windows";
default:
return nodePlatform;
}
};
exports.normalizeType = normalizeType;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/HostDetector.js
var require_HostDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.hostDetector = undefined;
var semconv_1 = require_semconv2();
var os_1 = __require("os");
var getMachineId_1 = require_getMachineId();
var utils_1 = require_utils8();
class HostDetector {
detect(_config) {
const attributes = {
[semconv_1.ATTR_HOST_NAME]: (0, os_1.hostname)(),
[semconv_1.ATTR_HOST_ARCH]: (0, utils_1.normalizeArch)((0, os_1.arch)()),
[semconv_1.ATTR_HOST_ID]: (0, getMachineId_1.getMachineId)()
};
return { attributes };
}
}
exports.hostDetector = new HostDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/OSDetector.js
var require_OSDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.osDetector = undefined;
var semconv_1 = require_semconv2();
var os_1 = __require("os");
var utils_1 = require_utils8();
class OSDetector {
detect(_config) {
const attributes = {
[semconv_1.ATTR_OS_TYPE]: (0, utils_1.normalizeType)((0, os_1.platform)()),
[semconv_1.ATTR_OS_VERSION]: (0, os_1.release)()
};
return { attributes };
}
}
exports.osDetector = new OSDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ProcessDetector.js
var require_ProcessDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.processDetector = undefined;
var api_1 = require_src6();
var semconv_1 = require_semconv2();
var os6 = __require("os");
class ProcessDetector {
detect(_config) {
const attributes = {
[semconv_1.ATTR_PROCESS_PID]: process.pid,
[semconv_1.ATTR_PROCESS_EXECUTABLE_NAME]: process.title,
[semconv_1.ATTR_PROCESS_EXECUTABLE_PATH]: process.execPath,
[semconv_1.ATTR_PROCESS_COMMAND_ARGS]: [
process.argv[0],
...process.execArgv,
...process.argv.slice(1)
],
[semconv_1.ATTR_PROCESS_RUNTIME_VERSION]: process.versions.node,
[semconv_1.ATTR_PROCESS_RUNTIME_NAME]: "nodejs",
[semconv_1.ATTR_PROCESS_RUNTIME_DESCRIPTION]: "Node.js"
};
if (process.argv.length > 1) {
attributes[semconv_1.ATTR_PROCESS_COMMAND] = process.argv[1];
}
try {
const userInfo3 = os6.userInfo();
attributes[semconv_1.ATTR_PROCESS_OWNER] = userInfo3.username;
} catch (e2) {
api_1.diag.debug(`error obtaining process owner: ${e2}`);
}
return { attributes };
}
}
exports.processDetector = new ProcessDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/ServiceInstanceIdDetector.js
var require_ServiceInstanceIdDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceInstanceIdDetector = undefined;
var semconv_1 = require_semconv2();
var crypto_1 = __require("crypto");
class ServiceInstanceIdDetector {
detect(_config) {
return {
attributes: {
[semconv_1.ATTR_SERVICE_INSTANCE_ID]: (0, crypto_1.randomUUID)()
}
};
}
}
exports.serviceInstanceIdDetector = new ServiceInstanceIdDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.js
var require_node3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = undefined;
var HostDetector_1 = require_HostDetector();
Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
return HostDetector_1.hostDetector;
} });
var OSDetector_1 = require_OSDetector();
Object.defineProperty(exports, "osDetector", { enumerable: true, get: function() {
return OSDetector_1.osDetector;
} });
var ProcessDetector_1 = require_ProcessDetector();
Object.defineProperty(exports, "processDetector", { enumerable: true, get: function() {
return ProcessDetector_1.processDetector;
} });
var ServiceInstanceIdDetector_1 = require_ServiceInstanceIdDetector();
Object.defineProperty(exports, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return ServiceInstanceIdDetector_1.serviceInstanceIdDetector;
} });
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/platform/index.js
var require_platform2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = undefined;
var node_1 = require_node3();
Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
return node_1.hostDetector;
} });
Object.defineProperty(exports, "osDetector", { enumerable: true, get: function() {
return node_1.osDetector;
} });
Object.defineProperty(exports, "processDetector", { enumerable: true, get: function() {
return node_1.processDetector;
} });
Object.defineProperty(exports, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return node_1.serviceInstanceIdDetector;
} });
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/NoopDetector.js
var require_NoopDetector = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.noopDetector = exports.NoopDetector = undefined;
class NoopDetector {
detect() {
return {
attributes: {}
};
}
}
exports.NoopDetector = NoopDetector;
exports.noopDetector = new NoopDetector;
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/detectors/index.js
var require_detectors = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.noopDetector = exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = exports.envDetector = undefined;
var EnvDetector_1 = require_EnvDetector();
Object.defineProperty(exports, "envDetector", { enumerable: true, get: function() {
return EnvDetector_1.envDetector;
} });
var platform_1 = require_platform2();
Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
return platform_1.hostDetector;
} });
Object.defineProperty(exports, "osDetector", { enumerable: true, get: function() {
return platform_1.osDetector;
} });
Object.defineProperty(exports, "processDetector", { enumerable: true, get: function() {
return platform_1.processDetector;
} });
Object.defineProperty(exports, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return platform_1.serviceInstanceIdDetector;
} });
var NoopDetector_1 = require_NoopDetector();
Object.defineProperty(exports, "noopDetector", { enumerable: true, get: function() {
return NoopDetector_1.noopDetector;
} });
});
// node_modules/.pnpm/@opentelemetry+resources@2.6.1_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/resources/build/src/index.js
var require_src9 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultServiceName = exports.emptyResource = exports.defaultResource = exports.resourceFromAttributes = exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = exports.envDetector = exports.detectResources = undefined;
var detect_resources_1 = require_detect_resources();
Object.defineProperty(exports, "detectResources", { enumerable: true, get: function() {
return detect_resources_1.detectResources;
} });
var detectors_1 = require_detectors();
Object.defineProperty(exports, "envDetector", { enumerable: true, get: function() {
return detectors_1.envDetector;
} });
Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
return detectors_1.hostDetector;
} });
Object.defineProperty(exports, "osDetector", { enumerable: true, get: function() {
return detectors_1.osDetector;
} });
Object.defineProperty(exports, "processDetector", { enumerable: true, get: function() {
return detectors_1.processDetector;
} });
Object.defineProperty(exports, "serviceInstanceIdDetector", { enumerable: true, get: function() {
return detectors_1.serviceInstanceIdDetector;
} });
var ResourceImpl_1 = require_ResourceImpl();
Object.defineProperty(exports, "resourceFromAttributes", { enumerable: true, get: function() {
return ResourceImpl_1.resourceFromAttributes;
} });
Object.defineProperty(exports, "defaultResource", { enumerable: true, get: function() {
return ResourceImpl_1.defaultResource;
} });
Object.defineProperty(exports, "emptyResource", { enumerable: true, get: function() {
return ResourceImpl_1.emptyResource;
} });
var default_service_name_1 = require_default_service_name();
Object.defineProperty(exports, "defaultServiceName", { enumerable: true, get: function() {
return default_service_name_1.defaultServiceName;
} });
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/types/LogRecord.js
var require_LogRecord = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SeverityNumber = undefined;
var SeverityNumber;
(function(SeverityNumber2) {
SeverityNumber2[SeverityNumber2["UNSPECIFIED"] = 0] = "UNSPECIFIED";
SeverityNumber2[SeverityNumber2["TRACE"] = 1] = "TRACE";
SeverityNumber2[SeverityNumber2["TRACE2"] = 2] = "TRACE2";
SeverityNumber2[SeverityNumber2["TRACE3"] = 3] = "TRACE3";
SeverityNumber2[SeverityNumber2["TRACE4"] = 4] = "TRACE4";
SeverityNumber2[SeverityNumber2["DEBUG"] = 5] = "DEBUG";
SeverityNumber2[SeverityNumber2["DEBUG2"] = 6] = "DEBUG2";
SeverityNumber2[SeverityNumber2["DEBUG3"] = 7] = "DEBUG3";
SeverityNumber2[SeverityNumber2["DEBUG4"] = 8] = "DEBUG4";
SeverityNumber2[SeverityNumber2["INFO"] = 9] = "INFO";
SeverityNumber2[SeverityNumber2["INFO2"] = 10] = "INFO2";
SeverityNumber2[SeverityNumber2["INFO3"] = 11] = "INFO3";
SeverityNumber2[SeverityNumber2["INFO4"] = 12] = "INFO4";
SeverityNumber2[SeverityNumber2["WARN"] = 13] = "WARN";
SeverityNumber2[SeverityNumber2["WARN2"] = 14] = "WARN2";
SeverityNumber2[SeverityNumber2["WARN3"] = 15] = "WARN3";
SeverityNumber2[SeverityNumber2["WARN4"] = 16] = "WARN4";
SeverityNumber2[SeverityNumber2["ERROR"] = 17] = "ERROR";
SeverityNumber2[SeverityNumber2["ERROR2"] = 18] = "ERROR2";
SeverityNumber2[SeverityNumber2["ERROR3"] = 19] = "ERROR3";
SeverityNumber2[SeverityNumber2["ERROR4"] = 20] = "ERROR4";
SeverityNumber2[SeverityNumber2["FATAL"] = 21] = "FATAL";
SeverityNumber2[SeverityNumber2["FATAL2"] = 22] = "FATAL2";
SeverityNumber2[SeverityNumber2["FATAL3"] = 23] = "FATAL3";
SeverityNumber2[SeverityNumber2["FATAL4"] = 24] = "FATAL4";
})(SeverityNumber = exports.SeverityNumber || (exports.SeverityNumber = {}));
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/NoopLogger.js
var require_NoopLogger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NOOP_LOGGER = exports.NoopLogger = undefined;
class NoopLogger {
emit(_logRecord) {}
}
exports.NoopLogger = NoopLogger;
exports.NOOP_LOGGER = new NoopLogger;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/internal/global-utils.js
var require_global_utils2 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.API_BACKWARDS_COMPATIBILITY_VERSION = exports.makeGetter = exports._global = exports.GLOBAL_LOGS_API_KEY = undefined;
exports.GLOBAL_LOGS_API_KEY = Symbol.for("io.opentelemetry.js.api.logs");
exports._global = globalThis;
function makeGetter(requiredVersion, instance, fallback) {
return (version6) => version6 === requiredVersion ? instance : fallback;
}
exports.makeGetter = makeGetter;
exports.API_BACKWARDS_COMPATIBILITY_VERSION = 1;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/NoopLoggerProvider.js
var require_NoopLoggerProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NOOP_LOGGER_PROVIDER = exports.NoopLoggerProvider = undefined;
var NoopLogger_1 = require_NoopLogger();
class NoopLoggerProvider {
getLogger(_name, _version, _options) {
return new NoopLogger_1.NoopLogger;
}
}
exports.NoopLoggerProvider = NoopLoggerProvider;
exports.NOOP_LOGGER_PROVIDER = new NoopLoggerProvider;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/ProxyLogger.js
var require_ProxyLogger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyLogger = undefined;
var NoopLogger_1 = require_NoopLogger();
class ProxyLogger {
constructor(provider, name3, version6, options) {
this._provider = provider;
this.name = name3;
this.version = version6;
this.options = options;
}
emit(logRecord) {
this._getLogger().emit(logRecord);
}
_getLogger() {
if (this._delegate) {
return this._delegate;
}
const logger27 = this._provider._getDelegateLogger(this.name, this.version, this.options);
if (!logger27) {
return NoopLogger_1.NOOP_LOGGER;
}
this._delegate = logger27;
return this._delegate;
}
}
exports.ProxyLogger = ProxyLogger;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/ProxyLoggerProvider.js
var require_ProxyLoggerProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyLoggerProvider = undefined;
var NoopLoggerProvider_1 = require_NoopLoggerProvider();
var ProxyLogger_1 = require_ProxyLogger();
class ProxyLoggerProvider {
getLogger(name3, version6, options) {
var _a3;
return (_a3 = this._getDelegateLogger(name3, version6, options)) !== null && _a3 !== undefined ? _a3 : new ProxyLogger_1.ProxyLogger(this, name3, version6, options);
}
_getDelegate() {
var _a3;
return (_a3 = this._delegate) !== null && _a3 !== undefined ? _a3 : NoopLoggerProvider_1.NOOP_LOGGER_PROVIDER;
}
_setDelegate(delegate) {
this._delegate = delegate;
}
_getDelegateLogger(name3, version6, options) {
var _a3;
return (_a3 = this._delegate) === null || _a3 === undefined ? undefined : _a3.getLogger(name3, version6, options);
}
}
exports.ProxyLoggerProvider = ProxyLoggerProvider;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/api/logs.js
var require_logs = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogsAPI = undefined;
var global_utils_1 = require_global_utils2();
var NoopLoggerProvider_1 = require_NoopLoggerProvider();
var ProxyLoggerProvider_1 = require_ProxyLoggerProvider();
class LogsAPI {
constructor() {
this._proxyLoggerProvider = new ProxyLoggerProvider_1.ProxyLoggerProvider;
}
static getInstance() {
if (!this._instance) {
this._instance = new LogsAPI;
}
return this._instance;
}
setGlobalLoggerProvider(provider) {
if (global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY]) {
return this.getLoggerProvider();
}
global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY] = (0, global_utils_1.makeGetter)(global_utils_1.API_BACKWARDS_COMPATIBILITY_VERSION, provider, NoopLoggerProvider_1.NOOP_LOGGER_PROVIDER);
this._proxyLoggerProvider._setDelegate(provider);
return provider;
}
getLoggerProvider() {
var _a3, _b;
return (_b = (_a3 = global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY]) === null || _a3 === undefined ? undefined : _a3.call(global_utils_1._global, global_utils_1.API_BACKWARDS_COMPATIBILITY_VERSION)) !== null && _b !== undefined ? _b : this._proxyLoggerProvider;
}
getLogger(name3, version6, options) {
return this.getLoggerProvider().getLogger(name3, version6, options);
}
disable() {
delete global_utils_1._global[global_utils_1.GLOBAL_LOGS_API_KEY];
this._proxyLoggerProvider = new ProxyLoggerProvider_1.ProxyLoggerProvider;
}
}
exports.LogsAPI = LogsAPI;
});
// node_modules/.pnpm/@opentelemetry+api-logs@0.214.0/node_modules/@opentelemetry/api-logs/build/src/index.js
var require_src10 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.logs = exports.NoopLogger = exports.NOOP_LOGGER = exports.SeverityNumber = undefined;
var LogRecord_1 = require_LogRecord();
Object.defineProperty(exports, "SeverityNumber", { enumerable: true, get: function() {
return LogRecord_1.SeverityNumber;
} });
var NoopLogger_1 = require_NoopLogger();
Object.defineProperty(exports, "NOOP_LOGGER", { enumerable: true, get: function() {
return NoopLogger_1.NOOP_LOGGER;
} });
Object.defineProperty(exports, "NoopLogger", { enumerable: true, get: function() {
return NoopLogger_1.NoopLogger;
} });
var logs_1 = require_logs();
exports.logs = logs_1.LogsAPI.getInstance();
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/utils/validation.js
var require_validation = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.isLogAttributeValue = undefined;
function isLogAttributeValue(val) {
return isLogAttributeValueInternal(val, new WeakSet);
}
exports.isLogAttributeValue = isLogAttributeValue;
function isLogAttributeValueInternal(val, visited) {
if (val == null) {
return true;
}
if (typeof val === "string" || typeof val === "number" || typeof val === "boolean") {
return true;
}
if (val instanceof Uint8Array) {
return true;
}
if (typeof val === "object") {
if (visited.has(val)) {
return false;
}
visited.add(val);
if (Array.isArray(val)) {
return val.every((item) => isLogAttributeValueInternal(item, visited));
}
const obj = val;
if (obj.constructor !== Object && obj.constructor !== undefined) {
return false;
}
return Object.values(obj).every((item) => isLogAttributeValueInternal(item, visited));
}
return false;
}
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/LogRecordImpl.js
var require_LogRecordImpl = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogRecordImpl = undefined;
var api2 = require_src6();
var core_1 = require_src8();
var semantic_conventions_1 = require_src7();
var validation_1 = require_validation();
class LogRecordImpl {
hrTime;
hrTimeObserved;
spanContext;
resource;
instrumentationScope;
attributes = {};
_severityText;
_severityNumber;
_body;
_eventName;
_attributesCount = 0;
_droppedAttributesCount = 0;
_isReadonly = false;
_logRecordLimits;
set severityText(severityText) {
if (this._isLogRecordReadonly()) {
return;
}
this._severityText = severityText;
}
get severityText() {
return this._severityText;
}
set severityNumber(severityNumber) {
if (this._isLogRecordReadonly()) {
return;
}
this._severityNumber = severityNumber;
}
get severityNumber() {
return this._severityNumber;
}
set body(body) {
if (this._isLogRecordReadonly()) {
return;
}
this._body = body;
}
get body() {
return this._body;
}
get eventName() {
return this._eventName;
}
set eventName(eventName) {
if (this._isLogRecordReadonly()) {
return;
}
this._eventName = eventName;
}
get droppedAttributesCount() {
return this._droppedAttributesCount;
}
constructor(_sharedState, instrumentationScope, logRecord) {
const { timestamp, observedTimestamp, eventName, severityNumber, severityText, body, attributes = {}, exception, context: context3 } = logRecord;
const now = Date.now();
this.hrTime = (0, core_1.timeInputToHrTime)(timestamp ?? now);
this.hrTimeObserved = (0, core_1.timeInputToHrTime)(observedTimestamp ?? now);
if (context3) {
const spanContext = api2.trace.getSpanContext(context3);
if (spanContext && api2.isSpanContextValid(spanContext)) {
this.spanContext = spanContext;
}
}
this.severityNumber = severityNumber;
this.severityText = severityText;
this.body = body;
this.resource = _sharedState.resource;
this.instrumentationScope = instrumentationScope;
this._logRecordLimits = _sharedState.logRecordLimits;
this._eventName = eventName;
this.setAttributes(attributes);
if (exception != null) {
this._setException(exception);
}
}
setAttribute(key, value) {
if (this._isLogRecordReadonly()) {
return this;
}
if (key.length === 0) {
api2.diag.warn(`Invalid attribute key: ${key}`);
return this;
}
if (!(0, validation_1.isLogAttributeValue)(value)) {
api2.diag.warn(`Invalid attribute value set for key: ${key}`);
return this;
}
const isNewKey = !Object.prototype.hasOwnProperty.call(this.attributes, key);
if (isNewKey && this._attributesCount >= this._logRecordLimits.attributeCountLimit) {
this._droppedAttributesCount++;
if (this._droppedAttributesCount === 1) {
api2.diag.warn("Dropping extra attributes.");
}
return this;
}
this.attributes[key] = this._truncateToSize(value);
if (isNewKey) {
this._attributesCount++;
}
return this;
}
setAttributes(attributes) {
for (const [k2, v2] of Object.entries(attributes)) {
this.setAttribute(k2, v2);
}
return this;
}
setBody(body) {
this.body = body;
return this;
}
setEventName(eventName) {
this.eventName = eventName;
return this;
}
setSeverityNumber(severityNumber) {
this.severityNumber = severityNumber;
return this;
}
setSeverityText(severityText) {
this.severityText = severityText;
return this;
}
_makeReadonly() {
this._isReadonly = true;
}
_truncateToSize(value) {
const limit = this._logRecordLimits.attributeValueLengthLimit;
if (limit <= 0) {
api2.diag.warn(`Attribute value limit must be positive, got ${limit}`);
return value;
}
if (value == null) {
return value;
}
if (typeof value === "string") {
return this._truncateToLimitUtil(value, limit);
}
if (value instanceof Uint8Array) {
return value;
}
if (Array.isArray(value)) {
return value.map((val) => this._truncateToSize(val));
}
if (typeof value === "object") {
const truncatedObj = {};
for (const [k2, v2] of Object.entries(value)) {
truncatedObj[k2] = this._truncateToSize(v2);
}
return truncatedObj;
}
return value;
}
_setException(exception) {
let hasMinimumAttributes = false;
if (typeof exception === "string" || typeof exception === "number") {
if (!Object.hasOwn(this.attributes, semantic_conventions_1.ATTR_EXCEPTION_MESSAGE)) {
this.setAttribute(semantic_conventions_1.ATTR_EXCEPTION_MESSAGE, String(exception));
}
hasMinimumAttributes = true;
} else if (exception && typeof exception === "object") {
const exceptionObj = exception;
if (exceptionObj.code) {
if (!Object.hasOwn(this.attributes, semantic_conventions_1.ATTR_EXCEPTION_TYPE)) {
this.setAttribute(semantic_conventions_1.ATTR_EXCEPTION_TYPE, exceptionObj.code.toString());
}
hasMinimumAttributes = true;
} else if (exceptionObj.name) {
if (!Object.hasOwn(this.attributes, semantic_conventions_1.ATTR_EXCEPTION_TYPE)) {
this.setAttribute(semantic_conventions_1.ATTR_EXCEPTION_TYPE, exceptionObj.name);
}
hasMinimumAttributes = true;
}
if (exceptionObj.message) {
if (!Object.hasOwn(this.attributes, semantic_conventions_1.ATTR_EXCEPTION_MESSAGE)) {
this.setAttribute(semantic_conventions_1.ATTR_EXCEPTION_MESSAGE, exceptionObj.message);
}
hasMinimumAttributes = true;
}
if (exceptionObj.stack) {
if (!Object.hasOwn(this.attributes, semantic_conventions_1.ATTR_EXCEPTION_STACKTRACE)) {
this.setAttribute(semantic_conventions_1.ATTR_EXCEPTION_STACKTRACE, exceptionObj.stack);
}
hasMinimumAttributes = true;
}
}
if (!hasMinimumAttributes) {
api2.diag.warn(`Failed to record an exception ${exception}`);
}
}
_truncateToLimitUtil(value, limit) {
if (value.length <= limit) {
return value;
}
return value.substring(0, limit);
}
_isLogRecordReadonly() {
if (this._isReadonly) {
api2.diag.warn("Can not execute the operation on emitted log record");
}
return this._isReadonly;
}
}
exports.LogRecordImpl = LogRecordImpl;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/Logger.js
var require_Logger = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = undefined;
var api_logs_1 = require_src10();
var api_1 = require_src6();
var LogRecordImpl_1 = require_LogRecordImpl();
class Logger2 {
instrumentationScope;
_sharedState;
_loggerConfig;
constructor(instrumentationScope, sharedState) {
this.instrumentationScope = instrumentationScope;
this._sharedState = sharedState;
this._loggerConfig = this._sharedState.getLoggerConfig(this.instrumentationScope);
}
emit(logRecord) {
const loggerConfig = this._loggerConfig;
const currentContext = logRecord.context || api_1.context.active();
const recordSeverity = logRecord.severityNumber ?? api_logs_1.SeverityNumber.UNSPECIFIED;
if (recordSeverity !== api_logs_1.SeverityNumber.UNSPECIFIED && recordSeverity < loggerConfig.minimumSeverity) {
return;
}
if (loggerConfig.traceBased) {
const spanContext = api_1.trace.getSpanContext(currentContext);
if (spanContext && (0, api_1.isSpanContextValid)(spanContext)) {
const isSampled = (spanContext.traceFlags & api_1.TraceFlags.SAMPLED) === api_1.TraceFlags.SAMPLED;
if (!isSampled) {
return;
}
}
}
const logRecordInstance = new LogRecordImpl_1.LogRecordImpl(this._sharedState, this.instrumentationScope, {
context: currentContext,
...logRecord
});
this._sharedState.activeProcessor.onEmit(logRecordInstance, currentContext);
logRecordInstance._makeReadonly();
}
}
exports.Logger = Logger2;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/NoopLogRecordProcessor.js
var require_NoopLogRecordProcessor = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.NoopLogRecordProcessor = undefined;
class NoopLogRecordProcessor {
forceFlush() {
return Promise.resolve();
}
onEmit(_logRecord, _context) {}
shutdown() {
return Promise.resolve();
}
}
exports.NoopLogRecordProcessor = NoopLogRecordProcessor;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/MultiLogRecordProcessor.js
var require_MultiLogRecordProcessor = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultiLogRecordProcessor = undefined;
var core_1 = require_src8();
class MultiLogRecordProcessor {
processors;
forceFlushTimeoutMillis;
constructor(processors, forceFlushTimeoutMillis) {
this.processors = processors;
this.forceFlushTimeoutMillis = forceFlushTimeoutMillis;
}
async forceFlush() {
const timeout = this.forceFlushTimeoutMillis;
await Promise.all(this.processors.map((processor) => (0, core_1.callWithTimeout)(processor.forceFlush(), timeout)));
}
onEmit(logRecord, context3) {
this.processors.forEach((processors) => processors.onEmit(logRecord, context3));
}
async shutdown() {
await Promise.all(this.processors.map((processor) => processor.shutdown()));
}
}
exports.MultiLogRecordProcessor = MultiLogRecordProcessor;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/internal/utils.js
var require_utils9 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInstrumentationScopeKey = undefined;
function getInstrumentationScopeKey(scope) {
return `${scope.name}@${scope.version || ""}:${scope.schemaUrl || ""}`;
}
exports.getInstrumentationScopeKey = getInstrumentationScopeKey;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/internal/LoggerProviderSharedState.js
var require_LoggerProviderSharedState = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggerProviderSharedState = exports.DEFAULT_LOGGER_CONFIGURATOR = undefined;
var api_logs_1 = require_src10();
var NoopLogRecordProcessor_1 = require_NoopLogRecordProcessor();
var MultiLogRecordProcessor_1 = require_MultiLogRecordProcessor();
var utils_1 = require_utils9();
var DEFAULT_LOGGER_CONFIG = {
disabled: false,
minimumSeverity: api_logs_1.SeverityNumber.UNSPECIFIED,
traceBased: false
};
var DEFAULT_LOGGER_CONFIGURATOR = () => ({
...DEFAULT_LOGGER_CONFIG
});
exports.DEFAULT_LOGGER_CONFIGURATOR = DEFAULT_LOGGER_CONFIGURATOR;
class LoggerProviderSharedState {
loggers = new Map;
activeProcessor;
registeredLogRecordProcessors = [];
resource;
forceFlushTimeoutMillis;
logRecordLimits;
processors;
_loggerConfigurator;
_loggerConfigs = new Map;
constructor(resource, forceFlushTimeoutMillis, logRecordLimits, processors, loggerConfigurator) {
this.resource = resource;
this.forceFlushTimeoutMillis = forceFlushTimeoutMillis;
this.logRecordLimits = logRecordLimits;
this.processors = processors;
if (processors.length > 0) {
this.registeredLogRecordProcessors = processors;
this.activeProcessor = new MultiLogRecordProcessor_1.MultiLogRecordProcessor(this.registeredLogRecordProcessors, this.forceFlushTimeoutMillis);
} else {
this.activeProcessor = new NoopLogRecordProcessor_1.NoopLogRecordProcessor;
}
this._loggerConfigurator = loggerConfigurator ?? exports.DEFAULT_LOGGER_CONFIGURATOR;
}
getLoggerConfig(instrumentationScope) {
const key = (0, utils_1.getInstrumentationScopeKey)(instrumentationScope);
let config2 = this._loggerConfigs.get(key);
if (config2) {
return config2;
}
config2 = this._loggerConfigurator(instrumentationScope);
this._loggerConfigs.set(key, config2);
return config2;
}
}
exports.LoggerProviderSharedState = LoggerProviderSharedState;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/LoggerProvider.js
var require_LoggerProvider = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggerProvider = exports.DEFAULT_LOGGER_NAME = undefined;
var api_1 = require_src6();
var api_logs_1 = require_src10();
var resources_1 = require_src9();
var core_1 = require_src8();
var Logger_1 = require_Logger();
var LoggerProviderSharedState_1 = require_LoggerProviderSharedState();
exports.DEFAULT_LOGGER_NAME = "unknown";
class LoggerProvider {
_shutdownOnce;
_sharedState;
constructor(config2 = {}) {
const mergedConfig = {
resource: config2.resource ?? (0, resources_1.defaultResource)(),
forceFlushTimeoutMillis: config2.forceFlushTimeoutMillis ?? 30000,
logRecordLimits: {
attributeCountLimit: config2.logRecordLimits?.attributeCountLimit ?? 128,
attributeValueLengthLimit: config2.logRecordLimits?.attributeValueLengthLimit ?? Infinity
},
loggerConfigurator: config2.loggerConfigurator ?? LoggerProviderSharedState_1.DEFAULT_LOGGER_CONFIGURATOR,
processors: config2.processors ?? []
};
this._sharedState = new LoggerProviderSharedState_1.LoggerProviderSharedState(mergedConfig.resource, mergedConfig.forceFlushTimeoutMillis, mergedConfig.logRecordLimits, mergedConfig.processors, mergedConfig.loggerConfigurator);
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
}
getLogger(name3, version6, options) {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("A shutdown LoggerProvider cannot provide a Logger");
return api_logs_1.NOOP_LOGGER;
}
if (!name3) {
api_1.diag.warn("Logger requested without instrumentation scope name.");
}
const loggerName = name3 || exports.DEFAULT_LOGGER_NAME;
const key = `${loggerName}@${version6 || ""}:${options?.schemaUrl || ""}`;
if (!this._sharedState.loggers.has(key)) {
this._sharedState.loggers.set(key, new Logger_1.Logger({ name: loggerName, version: version6, schemaUrl: options?.schemaUrl }, this._sharedState));
}
return this._sharedState.loggers.get(key);
}
forceFlush() {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("invalid attempt to force flush after LoggerProvider shutdown");
return this._shutdownOnce.promise;
}
return this._sharedState.activeProcessor.forceFlush();
}
shutdown() {
if (this._shutdownOnce.isCalled) {
api_1.diag.warn("shutdown may only be called once per LoggerProvider");
return this._shutdownOnce.promise;
}
return this._shutdownOnce.call();
}
_shutdown() {
return this._sharedState.activeProcessor.shutdown();
}
}
exports.LoggerProvider = LoggerProvider;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/ConsoleLogRecordExporter.js
var require_ConsoleLogRecordExporter = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConsoleLogRecordExporter = undefined;
var core_1 = require_src8();
class ConsoleLogRecordExporter {
export(logs, resultCallback) {
this._sendLogRecords(logs, resultCallback);
}
shutdown() {
return Promise.resolve();
}
_exportInfo(logRecord) {
return {
resource: {
attributes: logRecord.resource.attributes
},
instrumentationScope: logRecord.instrumentationScope,
timestamp: (0, core_1.hrTimeToMicroseconds)(logRecord.hrTime),
traceId: logRecord.spanContext?.traceId,
spanId: logRecord.spanContext?.spanId,
traceFlags: logRecord.spanContext?.traceFlags,
severityText: logRecord.severityText,
severityNumber: logRecord.severityNumber,
eventName: logRecord.eventName,
body: logRecord.body,
attributes: logRecord.attributes
};
}
_sendLogRecords(logRecords, done) {
for (const logRecord of logRecords) {
console.dir(this._exportInfo(logRecord), { depth: 3 });
}
done?.({ code: core_1.ExportResultCode.SUCCESS });
}
}
exports.ConsoleLogRecordExporter = ConsoleLogRecordExporter;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/SimpleLogRecordProcessor.js
var require_SimpleLogRecordProcessor = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimpleLogRecordProcessor = undefined;
var core_1 = require_src8();
class SimpleLogRecordProcessor {
_exporter;
_shutdownOnce;
_unresolvedExports;
constructor(exporter) {
this._exporter = exporter;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
this._unresolvedExports = new Set;
}
onEmit(logRecord) {
if (this._shutdownOnce.isCalled) {
return;
}
const doExport = () => core_1.internal._export(this._exporter, [logRecord]).then((result) => {
if (result.code !== core_1.ExportResultCode.SUCCESS) {
(0, core_1.globalErrorHandler)(result.error ?? new Error(`SimpleLogRecordProcessor: log record export failed (status ${result})`));
}
}).catch(core_1.globalErrorHandler);
if (logRecord.resource.asyncAttributesPending) {
const exportPromise = logRecord.resource.waitForAsyncAttributes?.().then(() => {
this._unresolvedExports.delete(exportPromise);
return doExport();
}, core_1.globalErrorHandler);
if (exportPromise != null) {
this._unresolvedExports.add(exportPromise);
}
} else {
doExport();
}
}
async forceFlush() {
await Promise.all(Array.from(this._unresolvedExports));
}
shutdown() {
return this._shutdownOnce.call();
}
_shutdown() {
return this._exporter.shutdown();
}
}
exports.SimpleLogRecordProcessor = SimpleLogRecordProcessor;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/InMemoryLogRecordExporter.js
var require_InMemoryLogRecordExporter = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.InMemoryLogRecordExporter = undefined;
var core_1 = require_src8();
class InMemoryLogRecordExporter {
_finishedLogRecords = [];
_stopped = false;
export(logs, resultCallback) {
if (this._stopped) {
return resultCallback({
code: core_1.ExportResultCode.FAILED,
error: new Error("Exporter has been stopped")
});
}
this._finishedLogRecords.push(...logs);
resultCallback({ code: core_1.ExportResultCode.SUCCESS });
}
shutdown() {
this._stopped = true;
this.reset();
return Promise.resolve();
}
getFinishedLogRecords() {
return this._finishedLogRecords;
}
reset() {
this._finishedLogRecords = [];
}
}
exports.InMemoryLogRecordExporter = InMemoryLogRecordExporter;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/export/BatchLogRecordProcessorBase.js
var require_BatchLogRecordProcessorBase = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchLogRecordProcessorBase = undefined;
var api_1 = require_src6();
var core_1 = require_src8();
class BatchLogRecordProcessorBase {
_maxExportBatchSize;
_maxQueueSize;
_scheduledDelayMillis;
_exportTimeoutMillis;
_exporter;
_isExporting = false;
_finishedLogRecords = [];
_timer;
_shutdownOnce;
constructor(exporter, config2) {
this._exporter = exporter;
this._maxExportBatchSize = config2?.maxExportBatchSize ?? 512;
this._maxQueueSize = config2?.maxQueueSize ?? 2048;
this._scheduledDelayMillis = config2?.scheduledDelayMillis ?? 5000;
this._exportTimeoutMillis = config2?.exportTimeoutMillis ?? 30000;
this._shutdownOnce = new core_1.BindOnceFuture(this._shutdown, this);
if (this._maxExportBatchSize > this._maxQueueSize) {
api_1.diag.warn("BatchLogRecordProcessor: maxExportBatchSize must be smaller or equal to maxQueueSize, setting maxExportBatchSize to match maxQueueSize");
this._maxExportBatchSize = this._maxQueueSize;
}
}
onEmit(logRecord) {
if (this._shutdownOnce.isCalled) {
return;
}
this._addToBuffer(logRecord);
}
forceFlush() {
if (this._shutdownOnce.isCalled) {
return this._shutdownOnce.promise;
}
return this._flushAll();
}
shutdown() {
return this._shutdownOnce.call();
}
async _shutdown() {
this.onShutdown();
await this._flushAll();
await this._exporter.shutdown();
}
_addToBuffer(logRecord) {
if (this._finishedLogRecords.length >= this._maxQueueSize) {
return;
}
this._finishedLogRecords.push(logRecord);
this._maybeStartTimer();
}
_flushAll() {
return new Promise((resolve9, reject) => {
const promises = [];
const batchCount = Math.ceil(this._finishedLogRecords.length / this._maxExportBatchSize);
for (let i3 = 0;i3 < batchCount; i3++) {
promises.push(this._flushOneBatch());
}
Promise.all(promises).then(() => {
resolve9();
}).catch(reject);
});
}
_flushOneBatch() {
this._clearTimer();
if (this._finishedLogRecords.length === 0) {
return Promise.resolve();
}
return (0, core_1.callWithTimeout)(this._export(this._finishedLogRecords.splice(0, this._maxExportBatchSize)), this._exportTimeoutMillis);
}
_maybeStartTimer() {
if (this._isExporting)
return;
const flush = () => {
this._isExporting = true;
this._flushOneBatch().then(() => {
this._isExporting = false;
if (this._finishedLogRecords.length > 0) {
this._clearTimer();
this._maybeStartTimer();
}
}).catch((e2) => {
this._isExporting = false;
(0, core_1.globalErrorHandler)(e2);
});
};
if (this._finishedLogRecords.length >= this._maxExportBatchSize) {
return flush();
}
if (this._timer !== undefined)
return;
this._timer = setTimeout(() => flush(), this._scheduledDelayMillis);
if (typeof this._timer !== "number") {
this._timer.unref();
}
}
_clearTimer() {
if (this._timer !== undefined) {
clearTimeout(this._timer);
this._timer = undefined;
}
}
_export(logRecords) {
const doExport = () => core_1.internal._export(this._exporter, logRecords).then((result) => {
if (result.code !== core_1.ExportResultCode.SUCCESS) {
(0, core_1.globalErrorHandler)(result.error ?? new Error(`BatchLogRecordProcessor: log record export failed (status ${result})`));
}
}).catch(core_1.globalErrorHandler);
const pendingResources = [];
for (let i3 = 0;i3 < logRecords.length; i3++) {
const resource = logRecords[i3].resource;
if (resource.asyncAttributesPending && typeof resource.waitForAsyncAttributes === "function") {
pendingResources.push(resource.waitForAsyncAttributes());
}
}
if (pendingResources.length === 0) {
return doExport();
} else {
return Promise.all(pendingResources).then(doExport, core_1.globalErrorHandler);
}
}
}
exports.BatchLogRecordProcessorBase = BatchLogRecordProcessorBase;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/export/BatchLogRecordProcessor.js
var require_BatchLogRecordProcessor = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchLogRecordProcessor = undefined;
var BatchLogRecordProcessorBase_1 = require_BatchLogRecordProcessorBase();
class BatchLogRecordProcessor extends BatchLogRecordProcessorBase_1.BatchLogRecordProcessorBase {
onShutdown() {}
}
exports.BatchLogRecordProcessor = BatchLogRecordProcessor;
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/node/index.js
var require_node4 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchLogRecordProcessor = undefined;
var BatchLogRecordProcessor_1 = require_BatchLogRecordProcessor();
Object.defineProperty(exports, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return BatchLogRecordProcessor_1.BatchLogRecordProcessor;
} });
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/platform/index.js
var require_platform3 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.BatchLogRecordProcessor = undefined;
var node_1 = require_node4();
Object.defineProperty(exports, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return node_1.BatchLogRecordProcessor;
} });
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/config/LoggerConfigurators.js
var require_LoggerConfigurators = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLoggerConfigurator = undefined;
var api_logs_1 = require_src10();
var DEFAULT_LOGGER_CONFIG = {
disabled: false,
minimumSeverity: api_logs_1.SeverityNumber.UNSPECIFIED,
traceBased: false
};
function createLoggerConfigurator(patterns) {
return (loggerScope) => {
const loggerName = loggerScope.name;
for (const { pattern, config: config2 } of patterns) {
if (matchesPattern(loggerName, pattern)) {
return {
disabled: config2.disabled ?? DEFAULT_LOGGER_CONFIG.disabled,
minimumSeverity: config2.minimumSeverity ?? DEFAULT_LOGGER_CONFIG.minimumSeverity,
traceBased: config2.traceBased ?? DEFAULT_LOGGER_CONFIG.traceBased
};
}
}
return { ...DEFAULT_LOGGER_CONFIG };
};
}
exports.createLoggerConfigurator = createLoggerConfigurator;
function matchesPattern(name3, pattern) {
if (pattern === name3) {
return true;
}
if (pattern.includes("*")) {
const regexPattern = pattern.split("*").map((part) => part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(".*");
const regex2 = new RegExp(`^${regexPattern}$`);
return regex2.test(name3);
}
return false;
}
});
// node_modules/.pnpm/@opentelemetry+sdk-logs@0.214.0_@opentelemetry+api@1.9.1/node_modules/@opentelemetry/sdk-logs/build/src/index.js
var require_src11 = __commonJS((exports) => {
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLoggerConfigurator = exports.BatchLogRecordProcessor = exports.InMemoryLogRecordExporter = exports.SimpleLogRecordProcessor = exports.ConsoleLogRecordExporter = exports.LoggerProvider = undefined;
var LoggerProvider_1 = require_LoggerProvider();
Object.defineProperty(exports, "LoggerProvider", { enumerable: true, get: function() {
return LoggerProvider_1.LoggerProvider;
} });
var ConsoleLogRecordExporter_1 = require_ConsoleLogRecordExporter();
Object.defineProperty(exports, "ConsoleLogRecordExporter", { enumerable: true, get: function() {
return ConsoleLogRecordExporter_1.ConsoleLogRecordExporter;
} });
var SimpleLogRecordProcessor_1 = require_SimpleLogRecordProcessor();
Object.defineProperty(exports, "SimpleLogRecordProcessor", { enumerable: true, get: function() {
return SimpleLogRecordProcessor_1.SimpleLogRecordProcessor;
} });
var InMemoryLogRecordExporter_1 = require_InMemoryLogRecordExporter();
Object.defineProperty(exports, "InMemoryLogRecordExporter", { enumerable: true, get: function() {
return InMemoryLogRecordExporter_1.InMemoryLogRecordExporter;
} });
var platform_1 = require_platform3();
Object.defineProperty(exports, "BatchLogRecordProcessor", { enumerable: true, get: function() {
return platform_1.BatchLogRecordProcessor;
} });
var LoggerConfigurators_1 = require_LoggerConfigurators();
Object.defineProperty(exports, "createLoggerConfigurator", { enumerable: true, get: function() {
return LoggerConfigurators_1.createLoggerConfigurator;
} });
});
// src/services/analytics/config.ts
function isAnalyticsDisabled() {
return isEnvTruthy(process.env.CLAUDE_CODE_USE_BEDROCK) || isEnvTruthy(process.env.CLAUDE_CODE_USE_VERTEX) || isEnvTruthy(process.env.CLAUDE_CODE_USE_FOUNDRY) || isTelemetryDisabled();
}
function isFeedbackSurveyDisabled() {
return isTelemetryDisabled();
}
var init_config2 = __esm(() => {
init_envUtils();
});
// src/types/generated/google/protobuf/timestamp.ts
function createBaseTimestamp() {
return { seconds: 0, nanos: 0 };
}
function isSet2(value) {
return value !== null && value !== undefined;
}
var Timestamp;
var init_timestamp = __esm(() => {
Timestamp = {
fromJSON(object2) {
return {
seconds: isSet2(object2.seconds) ? globalThis.Number(object2.seconds) : 0,
nanos: isSet2(object2.nanos) ? globalThis.Number(object2.nanos) : 0
};
},
toJSON(message) {
const obj = {};
if (message.seconds !== undefined) {
obj.seconds = Math.round(message.seconds);
}
if (message.nanos !== undefined) {
obj.nanos = Math.round(message.nanos);
}
return obj;
},
create(base2) {
return Timestamp.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseTimestamp();
message.seconds = object2.seconds ?? 0;
message.nanos = object2.nanos ?? 0;
return message;
}
};
});
// src/types/generated/events_mono/common/v1/auth.ts
function createBasePublicApiAuth() {
return { account_id: 0, organization_uuid: "", account_uuid: "" };
}
function isSet3(value) {
return value !== null && value !== undefined;
}
var PublicApiAuth;
var init_auth3 = __esm(() => {
PublicApiAuth = {
fromJSON(object2) {
return {
account_id: isSet3(object2.account_id) ? globalThis.Number(object2.account_id) : 0,
organization_uuid: isSet3(object2.organization_uuid) ? globalThis.String(object2.organization_uuid) : "",
account_uuid: isSet3(object2.account_uuid) ? globalThis.String(object2.account_uuid) : ""
};
},
toJSON(message) {
const obj = {};
if (message.account_id !== undefined) {
obj.account_id = Math.round(message.account_id);
}
if (message.organization_uuid !== undefined) {
obj.organization_uuid = message.organization_uuid;
}
if (message.account_uuid !== undefined) {
obj.account_uuid = message.account_uuid;
}
return obj;
},
create(base2) {
return PublicApiAuth.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBasePublicApiAuth();
message.account_id = object2.account_id ?? 0;
message.organization_uuid = object2.organization_uuid ?? "";
message.account_uuid = object2.account_uuid ?? "";
return message;
}
};
});
// src/types/generated/events_mono/claude_code/v1/claude_code_internal_event.ts
function createBaseGitHubActionsMetadata() {
return { actor_id: "", repository_id: "", repository_owner_id: "" };
}
function createBaseEnvironmentMetadata() {
return {
platform: "",
node_version: "",
terminal: "",
package_managers: "",
runtimes: "",
is_running_with_bun: false,
is_ci: false,
is_claubbit: false,
is_github_action: false,
is_claude_code_action: false,
is_claude_ai_auth: false,
version: "",
github_event_name: "",
github_actions_runner_environment: "",
github_actions_runner_os: "",
github_action_ref: "",
wsl_version: "",
github_actions_metadata: undefined,
arch: "",
is_claude_code_remote: false,
remote_environment_type: "",
claude_code_container_id: "",
claude_code_remote_session_id: "",
tags: [],
deployment_environment: "",
is_conductor: false,
version_base: "",
coworker_type: "",
build_time: "",
is_local_agent_mode: false,
linux_distro_id: "",
linux_distro_version: "",
linux_kernel: "",
vcs: "",
platform_raw: ""
};
}
function createBaseSlackContext() {
return {
slack_team_id: "",
is_enterprise_install: false,
trigger: "",
creation_method: ""
};
}
function createBaseClaudeCodeInternalEvent() {
return {
event_name: "",
client_timestamp: undefined,
model: "",
session_id: "",
user_type: "",
betas: "",
env: undefined,
entrypoint: "",
agent_sdk_version: "",
is_interactive: false,
client_type: "",
process: "",
additional_metadata: "",
auth: undefined,
server_timestamp: undefined,
event_id: "",
device_id: "",
swe_bench_run_id: "",
swe_bench_instance_id: "",
swe_bench_task_id: "",
email: "",
agent_id: "",
parent_session_id: "",
agent_type: "",
slack: undefined,
team_name: "",
skill_name: "",
plugin_name: "",
marketplace_name: ""
};
}
function fromTimestamp(t2) {
let millis = (t2.seconds || 0) * 1000;
millis += (t2.nanos || 0) / 1e6;
return new globalThis.Date(millis);
}
function fromJsonTimestamp(o2) {
if (o2 instanceof globalThis.Date) {
return o2;
} else if (typeof o2 === "string") {
return new globalThis.Date(o2);
} else {
return fromTimestamp(Timestamp.fromJSON(o2));
}
}
function isSet4(value) {
return value !== null && value !== undefined;
}
var GitHubActionsMetadata, EnvironmentMetadata, SlackContext, ClaudeCodeInternalEvent;
var init_claude_code_internal_event = __esm(() => {
init_timestamp();
init_auth3();
GitHubActionsMetadata = {
fromJSON(object2) {
return {
actor_id: isSet4(object2.actor_id) ? globalThis.String(object2.actor_id) : "",
repository_id: isSet4(object2.repository_id) ? globalThis.String(object2.repository_id) : "",
repository_owner_id: isSet4(object2.repository_owner_id) ? globalThis.String(object2.repository_owner_id) : ""
};
},
toJSON(message) {
const obj = {};
if (message.actor_id !== undefined) {
obj.actor_id = message.actor_id;
}
if (message.repository_id !== undefined) {
obj.repository_id = message.repository_id;
}
if (message.repository_owner_id !== undefined) {
obj.repository_owner_id = message.repository_owner_id;
}
return obj;
},
create(base2) {
return GitHubActionsMetadata.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseGitHubActionsMetadata();
message.actor_id = object2.actor_id ?? "";
message.repository_id = object2.repository_id ?? "";
message.repository_owner_id = object2.repository_owner_id ?? "";
return message;
}
};
EnvironmentMetadata = {
fromJSON(object2) {
return {
platform: isSet4(object2.platform) ? globalThis.String(object2.platform) : "",
node_version: isSet4(object2.node_version) ? globalThis.String(object2.node_version) : "",
terminal: isSet4(object2.terminal) ? globalThis.String(object2.terminal) : "",
package_managers: isSet4(object2.package_managers) ? globalThis.String(object2.package_managers) : "",
runtimes: isSet4(object2.runtimes) ? globalThis.String(object2.runtimes) : "",
is_running_with_bun: isSet4(object2.is_running_with_bun) ? globalThis.Boolean(object2.is_running_with_bun) : false,
is_ci: isSet4(object2.is_ci) ? globalThis.Boolean(object2.is_ci) : false,
is_claubbit: isSet4(object2.is_claubbit) ? globalThis.Boolean(object2.is_claubbit) : false,
is_github_action: isSet4(object2.is_github_action) ? globalThis.Boolean(object2.is_github_action) : false,
is_claude_code_action: isSet4(object2.is_claude_code_action) ? globalThis.Boolean(object2.is_claude_code_action) : false,
is_claude_ai_auth: isSet4(object2.is_claude_ai_auth) ? globalThis.Boolean(object2.is_claude_ai_auth) : false,
version: isSet4(object2.version) ? globalThis.String(object2.version) : "",
github_event_name: isSet4(object2.github_event_name) ? globalThis.String(object2.github_event_name) : "",
github_actions_runner_environment: isSet4(object2.github_actions_runner_environment) ? globalThis.String(object2.github_actions_runner_environment) : "",
github_actions_runner_os: isSet4(object2.github_actions_runner_os) ? globalThis.String(object2.github_actions_runner_os) : "",
github_action_ref: isSet4(object2.github_action_ref) ? globalThis.String(object2.github_action_ref) : "",
wsl_version: isSet4(object2.wsl_version) ? globalThis.String(object2.wsl_version) : "",
github_actions_metadata: isSet4(object2.github_actions_metadata) ? GitHubActionsMetadata.fromJSON(object2.github_actions_metadata) : undefined,
arch: isSet4(object2.arch) ? globalThis.String(object2.arch) : "",
is_claude_code_remote: isSet4(object2.is_claude_code_remote) ? globalThis.Boolean(object2.is_claude_code_remote) : false,
remote_environment_type: isSet4(object2.remote_environment_type) ? globalThis.String(object2.remote_environment_type) : "",
claude_code_container_id: isSet4(object2.claude_code_container_id) ? globalThis.String(object2.claude_code_container_id) : "",
claude_code_remote_session_id: isSet4(object2.claude_code_remote_session_id) ? globalThis.String(object2.claude_code_remote_session_id) : "",
tags: globalThis.Array.isArray(object2?.tags) ? object2.tags.map((e2) => globalThis.String(e2)) : [],
deployment_environment: isSet4(object2.deployment_environment) ? globalThis.String(object2.deployment_environment) : "",
is_conductor: isSet4(object2.is_conductor) ? globalThis.Boolean(object2.is_conductor) : false,
version_base: isSet4(object2.version_base) ? globalThis.String(object2.version_base) : "",
coworker_type: isSet4(object2.coworker_type) ? globalThis.String(object2.coworker_type) : "",
build_time: isSet4(object2.build_time) ? globalThis.String(object2.build_time) : "",
is_local_agent_mode: isSet4(object2.is_local_agent_mode) ? globalThis.Boolean(object2.is_local_agent_mode) : false,
linux_distro_id: isSet4(object2.linux_distro_id) ? globalThis.String(object2.linux_distro_id) : "",
linux_distro_version: isSet4(object2.linux_distro_version) ? globalThis.String(object2.linux_distro_version) : "",
linux_kernel: isSet4(object2.linux_kernel) ? globalThis.String(object2.linux_kernel) : "",
vcs: isSet4(object2.vcs) ? globalThis.String(object2.vcs) : "",
platform_raw: isSet4(object2.platform_raw) ? globalThis.String(object2.platform_raw) : ""
};
},
toJSON(message) {
const obj = {};
if (message.platform !== undefined) {
obj.platform = message.platform;
}
if (message.node_version !== undefined) {
obj.node_version = message.node_version;
}
if (message.terminal !== undefined) {
obj.terminal = message.terminal;
}
if (message.package_managers !== undefined) {
obj.package_managers = message.package_managers;
}
if (message.runtimes !== undefined) {
obj.runtimes = message.runtimes;
}
if (message.is_running_with_bun !== undefined) {
obj.is_running_with_bun = message.is_running_with_bun;
}
if (message.is_ci !== undefined) {
obj.is_ci = message.is_ci;
}
if (message.is_claubbit !== undefined) {
obj.is_claubbit = message.is_claubbit;
}
if (message.is_github_action !== undefined) {
obj.is_github_action = message.is_github_action;
}
if (message.is_claude_code_action !== undefined) {
obj.is_claude_code_action = message.is_claude_code_action;
}
if (message.is_claude_ai_auth !== undefined) {
obj.is_claude_ai_auth = message.is_claude_ai_auth;
}
if (message.version !== undefined) {
obj.version = message.version;
}
if (message.github_event_name !== undefined) {
obj.github_event_name = message.github_event_name;
}
if (message.github_actions_runner_environment !== undefined) {
obj.github_actions_runner_environment = message.github_actions_runner_environment;
}
if (message.github_actions_runner_os !== undefined) {
obj.github_actions_runner_os = message.github_actions_runner_os;
}
if (message.github_action_ref !== undefined) {
obj.github_action_ref = message.github_action_ref;
}
if (message.wsl_version !== undefined) {
obj.wsl_version = message.wsl_version;
}
if (message.github_actions_metadata !== undefined) {
obj.github_actions_metadata = GitHubActionsMetadata.toJSON(message.github_actions_metadata);
}
if (message.arch !== undefined) {
obj.arch = message.arch;
}
if (message.is_claude_code_remote !== undefined) {
obj.is_claude_code_remote = message.is_claude_code_remote;
}
if (message.remote_environment_type !== undefined) {
obj.remote_environment_type = message.remote_environment_type;
}
if (message.claude_code_container_id !== undefined) {
obj.claude_code_container_id = message.claude_code_container_id;
}
if (message.claude_code_remote_session_id !== undefined) {
obj.claude_code_remote_session_id = message.claude_code_remote_session_id;
}
if (message.tags?.length) {
obj.tags = message.tags;
}
if (message.deployment_environment !== undefined) {
obj.deployment_environment = message.deployment_environment;
}
if (message.is_conductor !== undefined) {
obj.is_conductor = message.is_conductor;
}
if (message.version_base !== undefined) {
obj.version_base = message.version_base;
}
if (message.coworker_type !== undefined) {
obj.coworker_type = message.coworker_type;
}
if (message.build_time !== undefined) {
obj.build_time = message.build_time;
}
if (message.is_local_agent_mode !== undefined) {
obj.is_local_agent_mode = message.is_local_agent_mode;
}
if (message.linux_distro_id !== undefined) {
obj.linux_distro_id = message.linux_distro_id;
}
if (message.linux_distro_version !== undefined) {
obj.linux_distro_version = message.linux_distro_version;
}
if (message.linux_kernel !== undefined) {
obj.linux_kernel = message.linux_kernel;
}
if (message.vcs !== undefined) {
obj.vcs = message.vcs;
}
if (message.platform_raw !== undefined) {
obj.platform_raw = message.platform_raw;
}
return obj;
},
create(base2) {
return EnvironmentMetadata.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseEnvironmentMetadata();
message.platform = object2.platform ?? "";
message.node_version = object2.node_version ?? "";
message.terminal = object2.terminal ?? "";
message.package_managers = object2.package_managers ?? "";
message.runtimes = object2.runtimes ?? "";
message.is_running_with_bun = object2.is_running_with_bun ?? false;
message.is_ci = object2.is_ci ?? false;
message.is_claubbit = object2.is_claubbit ?? false;
message.is_github_action = object2.is_github_action ?? false;
message.is_claude_code_action = object2.is_claude_code_action ?? false;
message.is_claude_ai_auth = object2.is_claude_ai_auth ?? false;
message.version = object2.version ?? "";
message.github_event_name = object2.github_event_name ?? "";
message.github_actions_runner_environment = object2.github_actions_runner_environment ?? "";
message.github_actions_runner_os = object2.github_actions_runner_os ?? "";
message.github_action_ref = object2.github_action_ref ?? "";
message.wsl_version = object2.wsl_version ?? "";
message.github_actions_metadata = object2.github_actions_metadata !== undefined && object2.github_actions_metadata !== null ? GitHubActionsMetadata.fromPartial(object2.github_actions_metadata) : undefined;
message.arch = object2.arch ?? "";
message.is_claude_code_remote = object2.is_claude_code_remote ?? false;
message.remote_environment_type = object2.remote_environment_type ?? "";
message.claude_code_container_id = object2.claude_code_container_id ?? "";
message.claude_code_remote_session_id = object2.claude_code_remote_session_id ?? "";
message.tags = object2.tags?.map((e2) => e2) || [];
message.deployment_environment = object2.deployment_environment ?? "";
message.is_conductor = object2.is_conductor ?? false;
message.version_base = object2.version_base ?? "";
message.coworker_type = object2.coworker_type ?? "";
message.build_time = object2.build_time ?? "";
message.is_local_agent_mode = object2.is_local_agent_mode ?? false;
message.linux_distro_id = object2.linux_distro_id ?? "";
message.linux_distro_version = object2.linux_distro_version ?? "";
message.linux_kernel = object2.linux_kernel ?? "";
message.vcs = object2.vcs ?? "";
message.platform_raw = object2.platform_raw ?? "";
return message;
}
};
SlackContext = {
fromJSON(object2) {
return {
slack_team_id: isSet4(object2.slack_team_id) ? globalThis.String(object2.slack_team_id) : "",
is_enterprise_install: isSet4(object2.is_enterprise_install) ? globalThis.Boolean(object2.is_enterprise_install) : false,
trigger: isSet4(object2.trigger) ? globalThis.String(object2.trigger) : "",
creation_method: isSet4(object2.creation_method) ? globalThis.String(object2.creation_method) : ""
};
},
toJSON(message) {
const obj = {};
if (message.slack_team_id !== undefined) {
obj.slack_team_id = message.slack_team_id;
}
if (message.is_enterprise_install !== undefined) {
obj.is_enterprise_install = message.is_enterprise_install;
}
if (message.trigger !== undefined) {
obj.trigger = message.trigger;
}
if (message.creation_method !== undefined) {
obj.creation_method = message.creation_method;
}
return obj;
},
create(base2) {
return SlackContext.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseSlackContext();
message.slack_team_id = object2.slack_team_id ?? "";
message.is_enterprise_install = object2.is_enterprise_install ?? false;
message.trigger = object2.trigger ?? "";
message.creation_method = object2.creation_method ?? "";
return message;
}
};
ClaudeCodeInternalEvent = {
fromJSON(object2) {
return {
event_name: isSet4(object2.event_name) ? globalThis.String(object2.event_name) : "",
client_timestamp: isSet4(object2.client_timestamp) ? fromJsonTimestamp(object2.client_timestamp) : undefined,
model: isSet4(object2.model) ? globalThis.String(object2.model) : "",
session_id: isSet4(object2.session_id) ? globalThis.String(object2.session_id) : "",
user_type: isSet4(object2.user_type) ? globalThis.String(object2.user_type) : "",
betas: isSet4(object2.betas) ? globalThis.String(object2.betas) : "",
env: isSet4(object2.env) ? EnvironmentMetadata.fromJSON(object2.env) : undefined,
entrypoint: isSet4(object2.entrypoint) ? globalThis.String(object2.entrypoint) : "",
agent_sdk_version: isSet4(object2.agent_sdk_version) ? globalThis.String(object2.agent_sdk_version) : "",
is_interactive: isSet4(object2.is_interactive) ? globalThis.Boolean(object2.is_interactive) : false,
client_type: isSet4(object2.client_type) ? globalThis.String(object2.client_type) : "",
process: isSet4(object2.process) ? globalThis.String(object2.process) : "",
additional_metadata: isSet4(object2.additional_metadata) ? globalThis.String(object2.additional_metadata) : "",
auth: isSet4(object2.auth) ? PublicApiAuth.fromJSON(object2.auth) : undefined,
server_timestamp: isSet4(object2.server_timestamp) ? fromJsonTimestamp(object2.server_timestamp) : undefined,
event_id: isSet4(object2.event_id) ? globalThis.String(object2.event_id) : "",
device_id: isSet4(object2.device_id) ? globalThis.String(object2.device_id) : "",
swe_bench_run_id: isSet4(object2.swe_bench_run_id) ? globalThis.String(object2.swe_bench_run_id) : "",
swe_bench_instance_id: isSet4(object2.swe_bench_instance_id) ? globalThis.String(object2.swe_bench_instance_id) : "",
swe_bench_task_id: isSet4(object2.swe_bench_task_id) ? globalThis.String(object2.swe_bench_task_id) : "",
email: isSet4(object2.email) ? globalThis.String(object2.email) : "",
agent_id: isSet4(object2.agent_id) ? globalThis.String(object2.agent_id) : "",
parent_session_id: isSet4(object2.parent_session_id) ? globalThis.String(object2.parent_session_id) : "",
agent_type: isSet4(object2.agent_type) ? globalThis.String(object2.agent_type) : "",
slack: isSet4(object2.slack) ? SlackContext.fromJSON(object2.slack) : undefined,
team_name: isSet4(object2.team_name) ? globalThis.String(object2.team_name) : "",
skill_name: isSet4(object2.skill_name) ? globalThis.String(object2.skill_name) : "",
plugin_name: isSet4(object2.plugin_name) ? globalThis.String(object2.plugin_name) : "",
marketplace_name: isSet4(object2.marketplace_name) ? globalThis.String(object2.marketplace_name) : ""
};
},
toJSON(message) {
const obj = {};
if (message.event_name !== undefined) {
obj.event_name = message.event_name;
}
if (message.client_timestamp !== undefined) {
obj.client_timestamp = message.client_timestamp.toISOString();
}
if (message.model !== undefined) {
obj.model = message.model;
}
if (message.session_id !== undefined) {
obj.session_id = message.session_id;
}
if (message.user_type !== undefined) {
obj.user_type = message.user_type;
}
if (message.betas !== undefined) {
obj.betas = message.betas;
}
if (message.env !== undefined) {
obj.env = EnvironmentMetadata.toJSON(message.env);
}
if (message.entrypoint !== undefined) {
obj.entrypoint = message.entrypoint;
}
if (message.agent_sdk_version !== undefined) {
obj.agent_sdk_version = message.agent_sdk_version;
}
if (message.is_interactive !== undefined) {
obj.is_interactive = message.is_interactive;
}
if (message.client_type !== undefined) {
obj.client_type = message.client_type;
}
if (message.process !== undefined) {
obj.process = message.process;
}
if (message.additional_metadata !== undefined) {
obj.additional_metadata = message.additional_metadata;
}
if (message.auth !== undefined) {
obj.auth = PublicApiAuth.toJSON(message.auth);
}
if (message.server_timestamp !== undefined) {
obj.server_timestamp = message.server_timestamp.toISOString();
}
if (message.event_id !== undefined) {
obj.event_id = message.event_id;
}
if (message.device_id !== undefined) {
obj.device_id = message.device_id;
}
if (message.swe_bench_run_id !== undefined) {
obj.swe_bench_run_id = message.swe_bench_run_id;
}
if (message.swe_bench_instance_id !== undefined) {
obj.swe_bench_instance_id = message.swe_bench_instance_id;
}
if (message.swe_bench_task_id !== undefined) {
obj.swe_bench_task_id = message.swe_bench_task_id;
}
if (message.email !== undefined) {
obj.email = message.email;
}
if (message.agent_id !== undefined) {
obj.agent_id = message.agent_id;
}
if (message.parent_session_id !== undefined) {
obj.parent_session_id = message.parent_session_id;
}
if (message.agent_type !== undefined) {
obj.agent_type = message.agent_type;
}
if (message.slack !== undefined) {
obj.slack = SlackContext.toJSON(message.slack);
}
if (message.team_name !== undefined) {
obj.team_name = message.team_name;
}
if (message.skill_name !== undefined) {
obj.skill_name = message.skill_name;
}
if (message.plugin_name !== undefined) {
obj.plugin_name = message.plugin_name;
}
if (message.marketplace_name !== undefined) {
obj.marketplace_name = message.marketplace_name;
}
return obj;
},
create(base2) {
return ClaudeCodeInternalEvent.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseClaudeCodeInternalEvent();
message.event_name = object2.event_name ?? "";
message.client_timestamp = object2.client_timestamp ?? undefined;
message.model = object2.model ?? "";
message.session_id = object2.session_id ?? "";
message.user_type = object2.user_type ?? "";
message.betas = object2.betas ?? "";
message.env = object2.env !== undefined && object2.env !== null ? EnvironmentMetadata.fromPartial(object2.env) : undefined;
message.entrypoint = object2.entrypoint ?? "";
message.agent_sdk_version = object2.agent_sdk_version ?? "";
message.is_interactive = object2.is_interactive ?? false;
message.client_type = object2.client_type ?? "";
message.process = object2.process ?? "";
message.additional_metadata = object2.additional_metadata ?? "";
message.auth = object2.auth !== undefined && object2.auth !== null ? PublicApiAuth.fromPartial(object2.auth) : undefined;
message.server_timestamp = object2.server_timestamp ?? undefined;
message.event_id = object2.event_id ?? "";
message.device_id = object2.device_id ?? "";
message.swe_bench_run_id = object2.swe_bench_run_id ?? "";
message.swe_bench_instance_id = object2.swe_bench_instance_id ?? "";
message.swe_bench_task_id = object2.swe_bench_task_id ?? "";
message.email = object2.email ?? "";
message.agent_id = object2.agent_id ?? "";
message.parent_session_id = object2.parent_session_id ?? "";
message.agent_type = object2.agent_type ?? "";
message.slack = object2.slack !== undefined && object2.slack !== null ? SlackContext.fromPartial(object2.slack) : undefined;
message.team_name = object2.team_name ?? "";
message.skill_name = object2.skill_name ?? "";
message.plugin_name = object2.plugin_name ?? "";
message.marketplace_name = object2.marketplace_name ?? "";
return message;
}
};
});
// src/types/generated/events_mono/growthbook/v1/growthbook_experiment_event.ts
function createBaseGrowthbookExperimentEvent() {
return {
event_id: "",
timestamp: undefined,
experiment_id: "",
variation_id: 0,
environment: "",
user_attributes: "",
experiment_metadata: "",
device_id: "",
auth: undefined,
session_id: "",
anonymous_id: "",
event_metadata_vars: ""
};
}
function fromTimestamp2(t2) {
let millis = (t2.seconds || 0) * 1000;
millis += (t2.nanos || 0) / 1e6;
return new globalThis.Date(millis);
}
function fromJsonTimestamp2(o2) {
if (o2 instanceof globalThis.Date) {
return o2;
} else if (typeof o2 === "string") {
return new globalThis.Date(o2);
} else {
return fromTimestamp2(Timestamp.fromJSON(o2));
}
}
function isSet5(value) {
return value !== null && value !== undefined;
}
var GrowthbookExperimentEvent;
var init_growthbook_experiment_event = __esm(() => {
init_timestamp();
init_auth3();
GrowthbookExperimentEvent = {
fromJSON(object2) {
return {
event_id: isSet5(object2.event_id) ? globalThis.String(object2.event_id) : "",
timestamp: isSet5(object2.timestamp) ? fromJsonTimestamp2(object2.timestamp) : undefined,
experiment_id: isSet5(object2.experiment_id) ? globalThis.String(object2.experiment_id) : "",
variation_id: isSet5(object2.variation_id) ? globalThis.Number(object2.variation_id) : 0,
environment: isSet5(object2.environment) ? globalThis.String(object2.environment) : "",
user_attributes: isSet5(object2.user_attributes) ? globalThis.String(object2.user_attributes) : "",
experiment_metadata: isSet5(object2.experiment_metadata) ? globalThis.String(object2.experiment_metadata) : "",
device_id: isSet5(object2.device_id) ? globalThis.String(object2.device_id) : "",
auth: isSet5(object2.auth) ? PublicApiAuth.fromJSON(object2.auth) : undefined,
session_id: isSet5(object2.session_id) ? globalThis.String(object2.session_id) : "",
anonymous_id: isSet5(object2.anonymous_id) ? globalThis.String(object2.anonymous_id) : "",
event_metadata_vars: isSet5(object2.event_metadata_vars) ? globalThis.String(object2.event_metadata_vars) : ""
};
},
toJSON(message) {
const obj = {};
if (message.event_id !== undefined) {
obj.event_id = message.event_id;
}
if (message.timestamp !== undefined) {
obj.timestamp = message.timestamp.toISOString();
}
if (message.experiment_id !== undefined) {
obj.experiment_id = message.experiment_id;
}
if (message.variation_id !== undefined) {
obj.variation_id = Math.round(message.variation_id);
}
if (message.environment !== undefined) {
obj.environment = message.environment;
}
if (message.user_attributes !== undefined) {
obj.user_attributes = message.user_attributes;
}
if (message.experiment_metadata !== undefined) {
obj.experiment_metadata = message.experiment_metadata;
}
if (message.device_id !== undefined) {
obj.device_id = message.device_id;
}
if (message.auth !== undefined) {
obj.auth = PublicApiAuth.toJSON(message.auth);
}
if (message.session_id !== undefined) {
obj.session_id = message.session_id;
}
if (message.anonymous_id !== undefined) {
obj.anonymous_id = message.anonymous_id;
}
if (message.event_metadata_vars !== undefined) {
obj.event_metadata_vars = message.event_metadata_vars;
}
return obj;
},
create(base2) {
return GrowthbookExperimentEvent.fromPartial(base2 ?? {});
},
fromPartial(object2) {
const message = createBaseGrowthbookExperimentEvent();
message.event_id = object2.event_id ?? "";
message.timestamp = object2.timestamp ?? undefined;
message.experiment_id = object2.experiment_id ?? "";
message.variation_id = object2.variation_id ?? 0;
message.environment = object2.environment ?? "";
message.user_attributes = object2.user_attributes ?? "";
message.experiment_metadata = object2.experiment_metadata ?? "";
message.device_id = object2.device_id ?? "";
message.auth = object2.auth !== undefined && object2.auth !== null ? PublicApiAuth.fromPartial(object2.auth) : undefined;
message.session_id = object2.session_id ?? "";
message.anonymous_id = object2.anonymous_id ?? "";
message.event_metadata_vars = object2.event_metadata_vars ?? "";
return message;
}
};
});
// src/utils/genericProcessUtils.ts
function isProcessRunning(pid) {
if (pid <= 1)
return false;
try {
process.kill(pid, 0);
return true;
} catch {
return false;
}
}
async function getAncestorPidsAsync(pid, maxDepth = 10) {
if (process.platform === "win32") {
const script2 = `
$pid = ${String(pid)}
$ancestors = @()
for ($i = 0; $i -lt ${maxDepth}; $i++) {
$proc = Get-CimInstance Win32_Process -Filter "ProcessId=$pid" -ErrorAction SilentlyContinue
if (-not $proc -or -not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
$pid = $proc.ParentProcessId
$ancestors += $pid
}
$ancestors -join ','
`.trim();
const result2 = await execFileNoThrowWithCwd("powershell.exe", ["-NoProfile", "-Command", script2], { timeout: 3000 });
if (result2.code !== 0 || !result2.stdout?.trim()) {
return [];
}
return result2.stdout.trim().split(",").filter(Boolean).map((p) => parseInt(p, 10)).filter((p) => !isNaN(p));
}
const script = `pid=${String(pid)}; for i in $(seq 1 ${maxDepth}); do ppid=$(ps -o ppid= -p $pid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; echo $ppid; pid=$ppid; done`;
const result = await execFileNoThrowWithCwd("sh", ["-c", script], {
timeout: 3000
});
if (result.code !== 0 || !result.stdout?.trim()) {
return [];
}
return result.stdout.trim().split(`
`).filter(Boolean).map((p) => parseInt(p, 10)).filter((p) => !isNaN(p));
}
function getProcessCommand(pid) {
try {
const pidStr = String(pid);
const command = process.platform === "win32" ? `powershell.exe -NoProfile -Command "(Get-CimInstance Win32_Process -Filter \\"ProcessId=${pidStr}\\").CommandLine"` : `ps -o command= -p ${pidStr}`;
const result = execSyncWithDefaults_DEPRECATED(command, { timeout: 1000 });
return result ? result.trim() : null;
} catch {
return null;
}
}
async function getAncestorCommandsAsync(pid, maxDepth = 10) {
if (process.platform === "win32") {
const script2 = `
$currentPid = ${String(pid)}
$commands = @()
for ($i = 0; $i -lt ${maxDepth}; $i++) {
$proc = Get-CimInstance Win32_Process -Filter "ProcessId=$currentPid" -ErrorAction SilentlyContinue
if (-not $proc) { break }
if ($proc.CommandLine) { $commands += $proc.CommandLine }
if (-not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
$currentPid = $proc.ParentProcessId
}
$commands -join [char]0
`.trim();
const result2 = await execFileNoThrowWithCwd("powershell.exe", ["-NoProfile", "-Command", script2], { timeout: 3000 });
if (result2.code !== 0 || !result2.stdout?.trim()) {
return [];
}
return result2.stdout.split("\x00").filter(Boolean);
}
const script = `currentpid=${String(pid)}; for i in $(seq 1 ${maxDepth}); do cmd=$(ps -o command= -p $currentpid 2>/dev/null); if [ -n "$cmd" ]; then printf '%s\\0' "$cmd"; fi; ppid=$(ps -o ppid= -p $currentpid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; currentpid=$ppid; done`;
const result = await execFileNoThrowWithCwd("sh", ["-c", script], {
timeout: 3000
});
if (result.code !== 0 || !result.stdout?.trim()) {
return [];
}
return result.stdout.split("\x00").filter(Boolean);
}
var init_genericProcessUtils = __esm(() => {
init_execFileNoThrow();
});
// src/utils/envDynamic.ts
import { stat as stat8 } from "fs/promises";
function getIsBubblewrapSandbox() {
return process.platform === "linux" && isEnvTruthy(process.env.CLAUDE_CODE_BUBBLEWRAP);
}
function isMuslEnvironment() {
if (false)
;
if (false)
;
if (process.platform !== "linux")
return false;
return muslRuntimeCache ?? false;
}
async function detectJetBrainsIDEFromParentProcessAsync() {
if (jetBrainsIDECache !== undefined) {
return jetBrainsIDECache;
}
if (process.platform === "darwin") {
jetBrainsIDECache = null;
return null;
}
try {
const commands = await getAncestorCommandsAsync(process.pid, 10);
for (const command of commands) {
const lowerCommand = command.toLowerCase();
for (const ide of JETBRAINS_IDES) {
if (lowerCommand.includes(ide)) {
jetBrainsIDECache = ide;
return ide;
}
}
}
} catch {}
jetBrainsIDECache = null;
return null;
}
async function getTerminalWithJetBrainsDetectionAsync() {
if (process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm") {
if (env3.platform !== "darwin") {
const specificIDE = await detectJetBrainsIDEFromParentProcessAsync();
return specificIDE || "pycharm";
}
}
return env3.terminal;
}
function getTerminalWithJetBrainsDetection() {
if (process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm") {
if (env3.platform !== "darwin") {
if (jetBrainsIDECache !== undefined) {
return jetBrainsIDECache || "pycharm";
}
return "pycharm";
}
}
return env3.terminal;
}
async function initJetBrainsDetection() {
if (process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm") {
await detectJetBrainsIDEFromParentProcessAsync();
}
}
var getIsDocker, muslRuntimeCache = null, jetBrainsIDECache, envDynamic;
var init_envDynamic = __esm(() => {
init_memoize();
init_env();
init_envUtils();
init_execFileNoThrow();
init_genericProcessUtils();
getIsDocker = memoize_default(async () => {
if (process.platform !== "linux")
return false;
const { code } = await execFileNoThrow("test", ["-f", "/.dockerenv"]);
return code === 0;
});
if (process.platform === "linux") {
const muslArch = process.arch === "x64" ? "x86_64" : "aarch64";
stat8(`/lib/libc.musl-${muslArch}.so.1`).then(() => {
muslRuntimeCache = true;
}, () => {
muslRuntimeCache = false;
});
}
envDynamic = {
...env3,
terminal: getTerminalWithJetBrainsDetection(),
getIsDocker,
getIsBubblewrapSandbox,
isMuslEnvironment,
getTerminalWithJetBrainsDetectionAsync,
initJetBrainsDetection
};
});
// src/services/mcp/officialRegistry.ts
function normalizeUrl(url3) {
try {
const u4 = new URL(url3);
u4.search = "";
return u4.toString().replace(/\/$/, "");
} catch {
return;
}
}
async function prefetchOfficialMcpUrls() {
if (process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC) {
return;
}
try {
const response = await axios_default.get("https://api.anthropic.com/mcp-registry/v0/servers?version=latest&visibility=commercial", { timeout: 5000 });
const urls = new Set;
for (const entry of response.data.servers) {
for (const remote of entry.server.remotes ?? []) {
const normalized = normalizeUrl(remote.url);
if (normalized) {
urls.add(normalized);
}
}
}
officialUrls = urls;
logForDebugging(`[mcp-registry] Loaded ${urls.size} official MCP URLs`);
} catch (error52) {
logForDebugging(`Failed to fetch MCP registry: ${errorMessage(error52)}`, {
level: "error"
});
}
}
function isOfficialMcpUrl(normalizedUrl) {
return officialUrls?.has(normalizedUrl) ?? false;
}
var officialUrls = undefined;
var init_officialRegistry = __esm(() => {
init_axios2();
init_debug();
init_errors();
});
// src/utils/agentSwarmsEnabled.ts
function isAgentTeamsFlagSet() {
return process.argv.includes("--agent-teams");
}
function isAgentSwarmsEnabled() {
if (process.env.USER_TYPE === "ant") {
return true;
}
if (!isEnvTruthy(process.env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS) && !isAgentTeamsFlagSet()) {
return false;
}
if (!getFeatureValue_CACHED_MAY_BE_STALE("tengu_amber_flint", true)) {
return false;
}
return true;
}
var init_agentSwarmsEnabled = __esm(() => {
init_growthbook();
init_envUtils();
});
// src/utils/agentContext.ts
import { AsyncLocalStorage as AsyncLocalStorage3 } from "async_hooks";
function getAgentContext() {
return agentContextStorage.getStore();
}
function runWithAgentContext(context3, fn) {
return agentContextStorage.run(context3, fn);
}
function isSubagentContext(context3) {
return context3?.agentType === "subagent";
}
function getSubagentLogName() {
const context3 = getAgentContext();
if (!isSubagentContext(context3) || !context3.subagentName) {
return;
}
return context3.isBuiltIn ? context3.subagentName : "user-defined";
}
function consumeInvokingRequestId() {
const context3 = getAgentContext();
if (!context3?.invokingRequestId || context3.invocationEmitted) {
return;
}
context3.invocationEmitted = true;
return {
invokingRequestId: context3.invokingRequestId,
invocationKind: context3.invocationKind
};
}
var agentContextStorage;
var init_agentContext = __esm(() => {
init_agentSwarmsEnabled();
agentContextStorage = new AsyncLocalStorage3;
});
// src/utils/teammateContext.ts
import { AsyncLocalStorage as AsyncLocalStorage4 } from "async_hooks";
function getTeammateContext() {
return teammateContextStorage.getStore();
}
function runWithTeammateContext(context3, fn) {
return teammateContextStorage.run(context3, fn);
}
function isInProcessTeammate() {
return teammateContextStorage.getStore() !== undefined;
}
function createTeammateContext(config2) {
return {
...config2,
isInProcess: true
};
}
var teammateContextStorage;
var init_teammateContext = __esm(() => {
teammateContextStorage = new AsyncLocalStorage4;
});
// src/utils/teammate.ts
var exports_teammate = {};
__export(exports_teammate, {
waitForTeammatesToBecomeIdle: () => waitForTeammatesToBecomeIdle,
setDynamicTeamContext: () => setDynamicTeamContext,
runWithTeammateContext: () => runWithTeammateContext,
isTeammate: () => isTeammate,
isTeamLead: () => isTeamLead,
isPlanModeRequired: () => isPlanModeRequired,
isInProcessTeammate: () => isInProcessTeammate,
hasWorkingInProcessTeammates: () => hasWorkingInProcessTeammates,
hasActiveInProcessTeammates: () => hasActiveInProcessTeammates,
getTeammateContext: () => getTeammateContext,
getTeammateColor: () => getTeammateColor,
getTeamName: () => getTeamName,
getParentSessionId: () => getParentSessionId2,
getDynamicTeamContext: () => getDynamicTeamContext,
getAgentName: () => getAgentName,
getAgentId: () => getAgentId,
createTeammateContext: () => createTeammateContext,
clearDynamicTeamContext: () => clearDynamicTeamContext
});
function getParentSessionId2() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.parentSessionId;
return dynamicTeamContext?.parentSessionId;
}
function setDynamicTeamContext(context3) {
dynamicTeamContext = context3;
}
function clearDynamicTeamContext() {
dynamicTeamContext = null;
}
function getDynamicTeamContext() {
return dynamicTeamContext;
}
function getAgentId() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.agentId;
return dynamicTeamContext?.agentId;
}
function getAgentName() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.agentName;
return dynamicTeamContext?.agentName;
}
function getTeamName(teamContext) {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.teamName;
if (dynamicTeamContext?.teamName)
return dynamicTeamContext.teamName;
return teamContext?.teamName;
}
function isTeammate() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return true;
return !!(dynamicTeamContext?.agentId && dynamicTeamContext?.teamName);
}
function getTeammateColor() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.color;
return dynamicTeamContext?.color;
}
function isPlanModeRequired() {
const inProcessCtx = getTeammateContext();
if (inProcessCtx)
return inProcessCtx.planModeRequired;
if (dynamicTeamContext !== null) {
return dynamicTeamContext.planModeRequired;
}
return isEnvTruthy(process.env.CLAUDE_CODE_PLAN_MODE_REQUIRED);
}
function isTeamLead(teamContext) {
if (!teamContext?.leadAgentId) {
return false;
}
const myAgentId = getAgentId();
const leadAgentId = teamContext.leadAgentId;
if (myAgentId === leadAgentId) {
return true;
}
if (!myAgentId) {
return true;
}
return false;
}
function hasActiveInProcessTeammates(appState) {
for (const task of Object.values(appState.tasks)) {
if (task.type === "in_process_teammate" && task.status === "running") {
return true;
}
}
return false;
}
function hasWorkingInProcessTeammates(appState) {
for (const task of Object.values(appState.tasks)) {
if (task.type === "in_process_teammate" && task.status === "running" && !task.isIdle) {
return true;
}
}
return false;
}
function waitForTeammatesToBecomeIdle(setAppState, appState) {
const workingTaskIds = [];
for (const [taskId, task] of Object.entries(appState.tasks)) {
if (task.type === "in_process_teammate" && task.status === "running" && !task.isIdle) {
workingTaskIds.push(taskId);
}
}
if (workingTaskIds.length === 0) {
return Promise.resolve();
}
return new Promise((resolve9) => {
let remaining = workingTaskIds.length;
const onIdle = () => {
remaining--;
if (remaining === 0) {
resolve9();
}
};
setAppState((prev) => {
const newTasks = { ...prev.tasks };
for (const taskId of workingTaskIds) {
const task = newTasks[taskId];
if (task && task.type === "in_process_teammate") {
if (task.isIdle) {
onIdle();
} else {
newTasks[taskId] = {
...task,
onIdleCallbacks: [...task.onIdleCallbacks ?? [], onIdle]
};
}
}
}
return { ...prev, tasks: newTasks };
});
});
}
var dynamicTeamContext = null;
var init_teammate = __esm(() => {
init_teammateContext();
init_envUtils();
init_teammateContext();
});
// src/services/analytics/metadata.ts
import { extname as extname2 } from "path";
function sanitizeToolNameForAnalytics(toolName) {
if (toolName.startsWith("mcp__")) {
return "mcp_tool";
}
return toolName;
}
function isToolDetailsLoggingEnabled() {
return isEnvTruthy(process.env.OTEL_LOG_TOOL_DETAILS);
}
function isAnalyticsToolDetailsLoggingEnabled(mcpServerType, mcpServerBaseUrl) {
if (process.env.CLAUDE_CODE_ENTRYPOINT === "local-agent") {
return true;
}
if (mcpServerType === "claudeai-proxy") {
return true;
}
if (mcpServerBaseUrl && isOfficialMcpUrl(mcpServerBaseUrl)) {
return true;
}
return false;
}
function mcpToolDetailsForAnalytics(toolName, mcpServerType, mcpServerBaseUrl) {
const details = extractMcpToolDetails(toolName);
if (!details) {
return {};
}
if (!BUILTIN_MCP_SERVER_NAMES.has(details.serverName) && !isAnalyticsToolDetailsLoggingEnabled(mcpServerType, mcpServerBaseUrl)) {
return {};
}
return {
mcpServerName: details.serverName,
mcpToolName: details.mcpToolName
};
}
function extractMcpToolDetails(toolName) {
if (!toolName.startsWith("mcp__")) {
return;
}
const parts = toolName.split("__");
if (parts.length < 3) {
return;
}
const serverName = parts[1];
const mcpToolName = parts.slice(2).join("__");
if (!serverName || !mcpToolName) {
return;
}
return {
serverName,
mcpToolName
};
}
function extractSkillName(toolName, input) {
if (toolName !== "Skill") {
return;
}
if (typeof input === "object" && input !== null && "skill" in input && typeof input.skill === "string") {
return input.skill;
}
return;
}
function truncateToolInputValue(value, depth = 0) {
if (typeof value === "string") {
if (value.length > TOOL_INPUT_STRING_TRUNCATE_AT) {
return `${value.slice(0, TOOL_INPUT_STRING_TRUNCATE_TO)}…[${value.length} chars]`;
}
return value;
}
if (typeof value === "number" || typeof value === "boolean" || value === null || value === undefined) {
return value;
}
if (depth >= TOOL_INPUT_MAX_DEPTH) {
return "";
}
if (Array.isArray(value)) {
const mapped = value.slice(0, TOOL_INPUT_MAX_COLLECTION_ITEMS).map((v2) => truncateToolInputValue(v2, depth + 1));
if (value.length > TOOL_INPUT_MAX_COLLECTION_ITEMS) {
mapped.push(`…[${value.length} items]`);
}
return mapped;
}
if (typeof value === "object") {
const entries = Object.entries(value).filter(([k2]) => !k2.startsWith("_"));
const mapped = entries.slice(0, TOOL_INPUT_MAX_COLLECTION_ITEMS).map(([k2, v2]) => [k2, truncateToolInputValue(v2, depth + 1)]);
if (entries.length > TOOL_INPUT_MAX_COLLECTION_ITEMS) {
mapped.push(["…", `${entries.length} keys`]);
}
return Object.fromEntries(mapped);
}
return String(value);
}
function extractToolInputForTelemetry(input) {
if (!isToolDetailsLoggingEnabled()) {
return;
}
const truncated = truncateToolInputValue(input);
let json2 = jsonStringify(truncated);
if (json2.length > TOOL_INPUT_MAX_JSON_CHARS) {
json2 = json2.slice(0, TOOL_INPUT_MAX_JSON_CHARS) + "…[truncated]";
}
return json2;
}
function getFileExtensionForAnalytics(filePath) {
const ext = extname2(filePath).toLowerCase();
if (!ext || ext === ".") {
return;
}
const extension = ext.slice(1);
if (extension.length > MAX_FILE_EXTENSION_LENGTH) {
return "other";
}
return extension;
}
function getFileExtensionsFromBashCommand(command, simulatedSedEditFilePath) {
if (!command.includes(".") && !simulatedSedEditFilePath)
return;
let result;
const seen = new Set;
if (simulatedSedEditFilePath) {
const ext = getFileExtensionForAnalytics(simulatedSedEditFilePath);
if (ext) {
seen.add(ext);
result = ext;
}
}
for (const subcmd of command.split(COMPOUND_OPERATOR_REGEX)) {
if (!subcmd)
continue;
const tokens = subcmd.split(WHITESPACE_REGEX);
if (tokens.length < 2)
continue;
const firstToken = tokens[0];
const slashIdx = firstToken.lastIndexOf("/");
const baseCmd = slashIdx >= 0 ? firstToken.slice(slashIdx + 1) : firstToken;
if (!FILE_COMMANDS.has(baseCmd))
continue;
for (let i3 = 1;i3 < tokens.length; i3++) {
const arg = tokens[i3];
if (arg.charCodeAt(0) === 45)
continue;
const ext = getFileExtensionForAnalytics(arg);
if (ext && !seen.has(ext)) {
seen.add(ext);
result = result ? result + "," + ext : ext;
}
}
}
if (!result)
return;
return result;
}
function getAgentIdentification() {
const agentContext = getAgentContext();
if (agentContext) {
const result = {
agentId: agentContext.agentId,
parentSessionId: agentContext.parentSessionId,
agentType: agentContext.agentType
};
if (agentContext.agentType === "teammate") {
result.teamName = agentContext.teamName;
}
return result;
}
const agentId = getAgentId();
const parentSessionId = getParentSessionId2();
const teamName = getTeamName();
const isSwarmAgent = isTeammate();
const agentType = isSwarmAgent ? "teammate" : agentId ? "standalone" : undefined;
if (agentId || agentType || parentSessionId || teamName) {
return {
...agentId ? { agentId } : {},
...agentType ? { agentType } : {},
...parentSessionId ? { parentSessionId } : {},
...teamName ? { teamName } : {}
};
}
const stateParentSessionId = getParentSessionId();
if (stateParentSessionId) {
return { parentSessionId: stateParentSessionId };
}
return {};
}
function buildProcessMetrics() {
try {
const mem = process.memoryUsage();
const cpu = process.cpuUsage();
const now = Date.now();
let cpuPercent;
if (prevCpuUsage && prevWallTimeMs) {
const wallDeltaMs = now - prevWallTimeMs;
if (wallDeltaMs > 0) {
const userDeltaUs = cpu.user - prevCpuUsage.user;
const systemDeltaUs = cpu.system - prevCpuUsage.system;
cpuPercent = (userDeltaUs + systemDeltaUs) / (wallDeltaMs * 1000) * 100;
}
}
prevCpuUsage = cpu;
prevWallTimeMs = now;
return {
uptime: process.uptime(),
rss: mem.rss,
heapTotal: mem.heapTotal,
heapUsed: mem.heapUsed,
external: mem.external,
arrayBuffers: mem.arrayBuffers,
constrainedMemory: process.constrainedMemory(),
cpuUsage: cpu,
cpuPercent
};
} catch {
return;
}
}
async function getEventMetadata(options = {}) {
const model = options.model ? String(options.model) : getMainLoopModel();
const betas = typeof options.betas === "string" ? options.betas : getModelBetas(model).join(",");
const [envContext, repoRemoteHash] = await Promise.all([
buildEnvContext(),
getRepoRemoteHash()
]);
const processMetrics = buildProcessMetrics();
const metadata = {
model,
sessionId: getSessionId(),
userType: process.env.USER_TYPE || "",
...betas.length > 0 ? { betas } : {},
envContext,
...process.env.CLAUDE_CODE_ENTRYPOINT && {
entrypoint: process.env.CLAUDE_CODE_ENTRYPOINT
},
...process.env.CLAUDE_AGENT_SDK_VERSION && {
agentSdkVersion: process.env.CLAUDE_AGENT_SDK_VERSION
},
isInteractive: String(getIsInteractive()),
clientType: getClientType(),
...processMetrics && { processMetrics },
sweBenchRunId: process.env.SWE_BENCH_RUN_ID || "",
sweBenchInstanceId: process.env.SWE_BENCH_INSTANCE_ID || "",
sweBenchTaskId: process.env.SWE_BENCH_TASK_ID || "",
...getAgentIdentification(),
...getSubscriptionType() && {
subscriptionType: getSubscriptionType()
},
...{},
...repoRemoteHash && { rh: repoRemoteHash }
};
return metadata;
}
function to1PEventFormat(metadata, userMetadata, additionalMetadata = {}) {
const {
envContext,
processMetrics,
rh,
kairosActive,
skillMode,
observerMode,
...coreFields
} = metadata;
const env6 = {
platform: envContext.platform,
platform_raw: envContext.platformRaw,
arch: envContext.arch,
node_version: envContext.nodeVersion,
terminal: envContext.terminal || "unknown",
package_managers: envContext.packageManagers,
runtimes: envContext.runtimes,
is_running_with_bun: envContext.isRunningWithBun,
is_ci: envContext.isCi,
is_claubbit: envContext.isClaubbit,
is_claude_code_remote: envContext.isClaudeCodeRemote,
is_local_agent_mode: envContext.isLocalAgentMode,
is_conductor: envContext.isConductor,
is_github_action: envContext.isGithubAction,
is_claude_code_action: envContext.isClaudeCodeAction,
is_claude_ai_auth: envContext.isClaudeAiAuth,
version: envContext.version,
build_time: envContext.buildTime,
deployment_environment: envContext.deploymentEnvironment
};
if (envContext.remoteEnvironmentType) {
env6.remote_environment_type = envContext.remoteEnvironmentType;
}
if (false) {}
if (envContext.claudeCodeContainerId) {
env6.claude_code_container_id = envContext.claudeCodeContainerId;
}
if (envContext.claudeCodeRemoteSessionId) {
env6.claude_code_remote_session_id = envContext.claudeCodeRemoteSessionId;
}
if (envContext.tags) {
env6.tags = envContext.tags.split(",").map((t2) => t2.trim()).filter(Boolean);
}
if (envContext.githubEventName) {
env6.github_event_name = envContext.githubEventName;
}
if (envContext.githubActionsRunnerEnvironment) {
env6.github_actions_runner_environment = envContext.githubActionsRunnerEnvironment;
}
if (envContext.githubActionsRunnerOs) {
env6.github_actions_runner_os = envContext.githubActionsRunnerOs;
}
if (envContext.githubActionRef) {
env6.github_action_ref = envContext.githubActionRef;
}
if (envContext.wslVersion) {
env6.wsl_version = envContext.wslVersion;
}
if (envContext.linuxDistroId) {
env6.linux_distro_id = envContext.linuxDistroId;
}
if (envContext.linuxDistroVersion) {
env6.linux_distro_version = envContext.linuxDistroVersion;
}
if (envContext.linuxKernel) {
env6.linux_kernel = envContext.linuxKernel;
}
if (envContext.vcs) {
env6.vcs = envContext.vcs;
}
if (envContext.versionBase) {
env6.version_base = envContext.versionBase;
}
const core2 = {
session_id: coreFields.sessionId,
model: coreFields.model,
user_type: coreFields.userType,
is_interactive: coreFields.isInteractive === "true",
client_type: coreFields.clientType
};
if (coreFields.betas) {
core2.betas = coreFields.betas;
}
if (coreFields.entrypoint) {
core2.entrypoint = coreFields.entrypoint;
}
if (coreFields.agentSdkVersion) {
core2.agent_sdk_version = coreFields.agentSdkVersion;
}
if (coreFields.sweBenchRunId) {
core2.swe_bench_run_id = coreFields.sweBenchRunId;
}
if (coreFields.sweBenchInstanceId) {
core2.swe_bench_instance_id = coreFields.sweBenchInstanceId;
}
if (coreFields.sweBenchTaskId) {
core2.swe_bench_task_id = coreFields.sweBenchTaskId;
}
if (coreFields.agentId) {
core2.agent_id = coreFields.agentId;
}
if (coreFields.parentSessionId) {
core2.parent_session_id = coreFields.parentSessionId;
}
if (coreFields.agentType) {
core2.agent_type = coreFields.agentType;
}
if (coreFields.teamName) {
core2.team_name = coreFields.teamName;
}
if (userMetadata.githubActionsMetadata) {
const ghMeta = userMetadata.githubActionsMetadata;
env6.github_actions_metadata = {
actor_id: ghMeta.actorId,
repository_id: ghMeta.repositoryId,
repository_owner_id: ghMeta.repositoryOwnerId
};
}
let auth;
if (userMetadata.accountUuid || userMetadata.organizationUuid) {
auth = {
account_uuid: userMetadata.accountUuid,
organization_uuid: userMetadata.organizationUuid
};
}
return {
env: env6,
...processMetrics && {
process: Buffer.from(jsonStringify(processMetrics)).toString("base64")
},
...auth && { auth },
core: core2,
additional: {
...rh && { rh },
...kairosActive && { is_assistant_mode: true },
...skillMode && { skill_mode: skillMode },
...observerMode && { observer_mode: observerMode },
...additionalMetadata
}
};
}
var BUILTIN_MCP_SERVER_NAMES, TOOL_INPUT_STRING_TRUNCATE_AT = 512, TOOL_INPUT_STRING_TRUNCATE_TO = 128, TOOL_INPUT_MAX_JSON_CHARS, TOOL_INPUT_MAX_COLLECTION_ITEMS = 20, TOOL_INPUT_MAX_DEPTH = 2, MAX_FILE_EXTENSION_LENGTH = 10, FILE_COMMANDS, COMPOUND_OPERATOR_REGEX, WHITESPACE_REGEX, getVersionBase, buildEnvContext, prevCpuUsage = null, prevWallTimeMs = null;
var init_metadata = __esm(() => {
init_memoize();
init_env();
init_envDynamic();
init_betas2();
init_model();
init_state();
init_envUtils();
init_officialRegistry();
init_auth2();
init_git();
init_platform2();
init_agentContext();
init_slowOperations();
init_teammate();
BUILTIN_MCP_SERVER_NAMES = new Set([]);
TOOL_INPUT_MAX_JSON_CHARS = 4 * 1024;
FILE_COMMANDS = new Set([
"rm",
"mv",
"cp",
"touch",
"mkdir",
"chmod",
"chown",
"cat",
"head",
"tail",
"sort",
"stat",
"diff",
"wc",
"grep",
"rg",
"sed"
]);
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
WHITESPACE_REGEX = /\s+/;
getVersionBase = memoize_default(() => {
const match = MACRO.VERSION.match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
return match ? match[0] : undefined;
});
buildEnvContext = memoize_default(async () => {
const [packageManagers, runtimes, linuxDistroInfo, vcs] = await Promise.all([
env3.getPackageManagers(),
env3.getRuntimes(),
getLinuxDistroInfo(),
detectVcs()
]);
return {
platform: getHostPlatformForAnalytics(),
platformRaw: process.env.CLAUDE_CODE_HOST_PLATFORM || process.platform,
arch: env3.arch,
nodeVersion: env3.nodeVersion,
terminal: envDynamic.terminal,
packageManagers: packageManagers.join(","),
runtimes: runtimes.join(","),
isRunningWithBun: env3.isRunningWithBun(),
isCi: isEnvTruthy(process.env.CI),
isClaubbit: isEnvTruthy(process.env.CLAUBBIT),
isClaudeCodeRemote: isEnvTruthy(process.env.CLAUDE_CODE_REMOTE),
isLocalAgentMode: process.env.CLAUDE_CODE_ENTRYPOINT === "local-agent",
isConductor: env3.isConductor(),
...process.env.CLAUDE_CODE_REMOTE_ENVIRONMENT_TYPE && {
remoteEnvironmentType: process.env.CLAUDE_CODE_REMOTE_ENVIRONMENT_TYPE
},
...{},
...process.env.CLAUDE_CODE_CONTAINER_ID && {
claudeCodeContainerId: process.env.CLAUDE_CODE_CONTAINER_ID
},
...process.env.CLAUDE_CODE_REMOTE_SESSION_ID && {
claudeCodeRemoteSessionId: process.env.CLAUDE_CODE_REMOTE_SESSION_ID
},
...process.env.CLAUDE_CODE_TAGS && {
tags: process.env.CLAUDE_CODE_TAGS
},
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
isClaudeAiAuth: isClaudeAISubscriber(),
version: MACRO.VERSION,
versionBase: getVersionBase(),
buildTime: MACRO.BUILD_TIME,
deploymentEnvironment: env3.detectDeploymentEnvironment(),
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
githubEventName: process.env.GITHUB_EVENT_NAME,
githubActionsRunnerEnvironment: process.env.RUNNER_ENVIRONMENT,
githubActionsRunnerOs: process.env.RUNNER_OS,
githubActionRef: process.env.GITHUB_ACTION_PATH?.includes("claude-code-action/") ? process.env.GITHUB_ACTION_PATH.split("claude-code-action/")[1] : undefined
},
...getWslVersion() && { wslVersion: getWslVersion() },
...linuxDistroInfo ?? {},
...vcs.length > 0 ? { vcs: vcs.join(",") } : {}
};
});
});
// src/services/analytics/firstPartyEventLoggingExporter.ts
import { randomUUID as randomUUID5 } from "crypto";
import { appendFile as appendFile3, mkdir as mkdir5, readdir as readdir4, unlink as unlink2, writeFile as writeFile3 } from "fs/promises";
import * as path12 from "path";
function getStorageDir() {
return path12.join(getClaudeConfigHomeDir(), "telemetry");
}
class FirstPartyEventLoggingExporter {
endpoint;
timeout;
maxBatchSize;
skipAuth;
batchDelayMs;
baseBackoffDelayMs;
maxBackoffDelayMs;
maxAttempts;
isKilled;
pendingExports = [];
isShutdown = false;
schedule;
cancelBackoff = null;
attempts = 0;
isRetrying = false;
lastExportErrorContext;
constructor(options = {}) {
const baseUrl = options.baseUrl || (process.env.ANTHROPIC_BASE_URL === "https://api-staging.anthropic.com" ? "https://api-staging.anthropic.com" : "https://api.anthropic.com");
this.endpoint = `${baseUrl}${options.path || "/api/event_logging/batch"}`;
this.timeout = options.timeout || 1e4;
this.maxBatchSize = options.maxBatchSize || 200;
this.skipAuth = options.skipAuth ?? false;
this.batchDelayMs = options.batchDelayMs || 100;
this.baseBackoffDelayMs = options.baseBackoffDelayMs || 500;
this.maxBackoffDelayMs = options.maxBackoffDelayMs || 30000;
this.maxAttempts = options.maxAttempts ?? 8;
this.isKilled = options.isKilled ?? (() => false);
this.schedule = options.schedule ?? ((fn, ms) => {
const t2 = setTimeout(fn, ms);
return () => clearTimeout(t2);
});
this.retryPreviousBatches();
}
async getQueuedEventCount() {
return (await this.loadEventsFromCurrentBatch()).length;
}
getCurrentBatchFilePath() {
return path12.join(getStorageDir(), `${FILE_PREFIX}${getSessionId()}.${BATCH_UUID}.json`);
}
async loadEventsFromFile(filePath) {
try {
return await readJSONLFile(filePath);
} catch {
return [];
}
}
async loadEventsFromCurrentBatch() {
return this.loadEventsFromFile(this.getCurrentBatchFilePath());
}
async saveEventsToFile(filePath, events) {
try {
if (events.length === 0) {
try {
await unlink2(filePath);
} catch {}
} else {
await mkdir5(getStorageDir(), { recursive: true });
const content = events.map((e2) => jsonStringify(e2)).join(`
`) + `
`;
await writeFile3(filePath, content, "utf8");
}
} catch (error52) {
logError2(error52);
}
}
async appendEventsToFile(filePath, events) {
if (events.length === 0)
return;
try {
await mkdir5(getStorageDir(), { recursive: true });
const content = events.map((e2) => jsonStringify(e2)).join(`
`) + `
`;
await appendFile3(filePath, content, "utf8");
} catch (error52) {
logError2(error52);
}
}
async deleteFile(filePath) {
try {
await unlink2(filePath);
} catch {}
}
async retryPreviousBatches() {
try {
const prefix = `${FILE_PREFIX}${getSessionId()}.`;
let files;
try {
files = (await readdir4(getStorageDir())).filter((f3) => f3.startsWith(prefix) && f3.endsWith(".json")).filter((f3) => !f3.includes(BATCH_UUID));
} catch (e2) {
if (isFsInaccessible(e2))
return;
throw e2;
}
for (const file2 of files) {
const filePath = path12.join(getStorageDir(), file2);
this.retryFileInBackground(filePath);
}
} catch (error52) {
logError2(error52);
}
}
async retryFileInBackground(filePath) {
if (this.attempts >= this.maxAttempts) {
await this.deleteFile(filePath);
return;
}
const events = await this.loadEventsFromFile(filePath);
if (events.length === 0) {
await this.deleteFile(filePath);
return;
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: retrying ${events.length} events from previous batch`);
}
const failedEvents = await this.sendEventsInBatches(events);
if (failedEvents.length === 0) {
await this.deleteFile(filePath);
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging: previous batch retry succeeded");
}
} else {
await this.saveEventsToFile(filePath, failedEvents);
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: previous batch retry failed, ${failedEvents.length} events remain`);
}
}
}
async export(logs, resultCallback) {
if (this.isShutdown) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging export failed: Exporter has been shutdown");
}
resultCallback({
code: import_core10.ExportResultCode.FAILED,
error: new Error("Exporter has been shutdown")
});
return;
}
const exportPromise = this.doExport(logs, resultCallback);
this.pendingExports.push(exportPromise);
exportPromise.finally(() => {
const index = this.pendingExports.indexOf(exportPromise);
if (index > -1) {
this.pendingExports.splice(index, 1);
}
});
}
async doExport(logs, resultCallback) {
try {
const eventLogs = logs.filter((log3) => log3.instrumentationScope?.name === "com.anthropic.claude_code.events");
if (eventLogs.length === 0) {
resultCallback({ code: import_core10.ExportResultCode.SUCCESS });
return;
}
const events = this.transformLogsToEvents(eventLogs).events;
if (events.length === 0) {
resultCallback({ code: import_core10.ExportResultCode.SUCCESS });
return;
}
if (this.attempts >= this.maxAttempts) {
resultCallback({
code: import_core10.ExportResultCode.FAILED,
error: new Error(`Dropped ${events.length} events: max attempts (${this.maxAttempts}) reached`)
});
return;
}
const failedEvents = await this.sendEventsInBatches(events);
this.attempts++;
if (failedEvents.length > 0) {
await this.queueFailedEvents(failedEvents);
this.scheduleBackoffRetry();
const context3 = this.lastExportErrorContext ? ` (${this.lastExportErrorContext})` : "";
resultCallback({
code: import_core10.ExportResultCode.FAILED,
error: new Error(`Failed to export ${failedEvents.length} events${context3}`)
});
return;
}
this.resetBackoff();
if (await this.getQueuedEventCount() > 0 && !this.isRetrying) {
this.retryFailedEvents();
}
resultCallback({ code: import_core10.ExportResultCode.SUCCESS });
} catch (error52) {
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging export failed: ${errorMessage(error52)}`);
}
logError2(error52);
resultCallback({
code: import_core10.ExportResultCode.FAILED,
error: toError(error52)
});
}
}
async sendEventsInBatches(events) {
const batches = [];
for (let i3 = 0;i3 < events.length; i3 += this.maxBatchSize) {
batches.push(events.slice(i3, i3 + this.maxBatchSize));
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: exporting ${events.length} events in ${batches.length} batch(es)`);
}
const failedBatchEvents = [];
let lastErrorContext;
for (let i3 = 0;i3 < batches.length; i3++) {
const batch = batches[i3];
try {
await this.sendBatchWithRetry({ events: batch });
} catch (error52) {
lastErrorContext = getAxiosErrorContext(error52);
for (let j2 = i3;j2 < batches.length; j2++) {
failedBatchEvents.push(...batches[j2]);
}
if (process.env.USER_TYPE === "ant") {
const skipped = batches.length - 1 - i3;
logForDebugging(`1P event logging: batch ${i3 + 1}/${batches.length} failed (${lastErrorContext}); short-circuiting ${skipped} remaining batch(es)`);
}
break;
}
if (i3 < batches.length - 1 && this.batchDelayMs > 0) {
await sleep3(this.batchDelayMs);
}
}
if (failedBatchEvents.length > 0 && lastErrorContext) {
this.lastExportErrorContext = lastErrorContext;
}
return failedBatchEvents;
}
async queueFailedEvents(events) {
const filePath = this.getCurrentBatchFilePath();
await this.appendEventsToFile(filePath, events);
const context3 = this.lastExportErrorContext ? ` (${this.lastExportErrorContext})` : "";
const message = `1P event logging: ${events.length} events failed to export${context3}`;
logError2(new Error(message));
}
scheduleBackoffRetry() {
if (this.cancelBackoff || this.isRetrying || this.isShutdown) {
return;
}
const delay4 = Math.min(this.baseBackoffDelayMs * this.attempts * this.attempts, this.maxBackoffDelayMs);
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: scheduling backoff retry in ${delay4}ms (attempt ${this.attempts})`);
}
this.cancelBackoff = this.schedule(async () => {
this.cancelBackoff = null;
await this.retryFailedEvents();
}, delay4);
}
async retryFailedEvents() {
const filePath = this.getCurrentBatchFilePath();
while (!this.isShutdown) {
const events = await this.loadEventsFromFile(filePath);
if (events.length === 0)
break;
if (this.attempts >= this.maxAttempts) {
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: max attempts (${this.maxAttempts}) reached, dropping ${events.length} events`);
}
await this.deleteFile(filePath);
this.resetBackoff();
return;
}
this.isRetrying = true;
await this.deleteFile(filePath);
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: retrying ${events.length} failed events (attempt ${this.attempts + 1})`);
}
const failedEvents = await this.sendEventsInBatches(events);
this.attempts++;
this.isRetrying = false;
if (failedEvents.length > 0) {
await this.saveEventsToFile(filePath, failedEvents);
this.scheduleBackoffRetry();
return;
}
this.resetBackoff();
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging: backoff retry succeeded");
}
}
}
resetBackoff() {
this.attempts = 0;
if (this.cancelBackoff) {
this.cancelBackoff();
this.cancelBackoff = null;
}
}
async sendBatchWithRetry(payload) {
if (this.isKilled()) {
throw new Error("firstParty sink killswitch active");
}
const baseHeaders = {
"Content-Type": "application/json",
"User-Agent": getClaudeCodeUserAgent(),
"x-service-name": "claude-code"
};
const hasTrust = checkHasTrustDialogAccepted() || getIsNonInteractiveSession();
if (process.env.USER_TYPE === "ant" && !hasTrust) {
logForDebugging("1P event logging: Trust not accepted");
}
let shouldSkipAuth = this.skipAuth || !hasTrust;
if (!shouldSkipAuth && isClaudeAISubscriber()) {
const tokens = getClaudeAIOAuthTokens();
if (!hasProfileScope()) {
shouldSkipAuth = true;
} else if (tokens && isOAuthTokenExpired(tokens.expiresAt)) {
shouldSkipAuth = true;
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging: OAuth token expired, skipping auth to avoid 401");
}
}
}
const authResult = shouldSkipAuth ? { headers: {}, error: "trust not established or Oauth token expired" } : getAuthHeaders2();
const useAuth = !authResult.error;
if (!useAuth && process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: auth not available, sending without auth`);
}
const headers = useAuth ? { ...baseHeaders, ...authResult.headers } : baseHeaders;
try {
const response = await axios_default.post(this.endpoint, payload, {
timeout: this.timeout,
headers
});
this.logSuccess(payload.events.length, useAuth, response.data);
return;
} catch (error52) {
if (useAuth && axios_default.isAxiosError(error52) && error52.response?.status === 401) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging: 401 auth error, retrying without auth");
}
const response = await axios_default.post(this.endpoint, payload, {
timeout: this.timeout,
headers: baseHeaders
});
this.logSuccess(payload.events.length, false, response.data);
return;
}
throw error52;
}
}
logSuccess(eventCount, withAuth, responseData) {
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: ${eventCount} events exported successfully${withAuth ? " (with auth)" : " (without auth)"}`);
logForDebugging(`API Response: ${jsonStringify(responseData, null, 2)}`);
}
}
hrTimeToDate(hrTime) {
const [seconds, nanoseconds] = hrTime;
return new Date(seconds * 1000 + nanoseconds / 1e6);
}
transformLogsToEvents(logs) {
const events = [];
for (const log3 of logs) {
const attributes = log3.attributes || {};
if (attributes.event_type === "GrowthbookExperimentEvent") {
const timestamp = this.hrTimeToDate(log3.hrTime);
const account_uuid = attributes.account_uuid;
const organization_uuid = attributes.organization_uuid;
events.push({
event_type: "GrowthbookExperimentEvent",
event_data: GrowthbookExperimentEvent.toJSON({
event_id: attributes.event_id,
timestamp,
experiment_id: attributes.experiment_id,
variation_id: attributes.variation_id,
environment: attributes.environment,
user_attributes: attributes.user_attributes,
experiment_metadata: attributes.experiment_metadata,
device_id: attributes.device_id,
session_id: attributes.session_id,
auth: account_uuid || organization_uuid ? { account_uuid, organization_uuid } : undefined
})
});
continue;
}
const eventName = attributes.event_name || log3.body || "unknown";
const coreMetadata = attributes.core_metadata;
const userMetadata = attributes.user_metadata;
const eventMetadata = attributes.event_metadata || {};
if (!coreMetadata) {
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: core_metadata missing for event ${eventName}`);
}
events.push({
event_type: "ClaudeCodeInternalEvent",
event_data: ClaudeCodeInternalEvent.toJSON({
event_id: attributes.event_id,
event_name: eventName,
client_timestamp: this.hrTimeToDate(log3.hrTime),
session_id: getSessionId(),
additional_metadata: Buffer.from(jsonStringify({
transform_error: "core_metadata attribute is missing"
})).toString("base64")
})
});
continue;
}
const formatted = to1PEventFormat(coreMetadata, userMetadata, eventMetadata);
const {
_PROTO_skill_name,
_PROTO_plugin_name,
_PROTO_marketplace_name,
...rest
} = formatted.additional;
const additionalMetadata = stripProtoFields(rest);
events.push({
event_type: "ClaudeCodeInternalEvent",
event_data: ClaudeCodeInternalEvent.toJSON({
event_id: attributes.event_id,
event_name: eventName,
client_timestamp: this.hrTimeToDate(log3.hrTime),
device_id: attributes.user_id,
email: userMetadata?.email,
auth: formatted.auth,
...formatted.core,
env: formatted.env,
process: formatted.process,
skill_name: typeof _PROTO_skill_name === "string" ? _PROTO_skill_name : undefined,
plugin_name: typeof _PROTO_plugin_name === "string" ? _PROTO_plugin_name : undefined,
marketplace_name: typeof _PROTO_marketplace_name === "string" ? _PROTO_marketplace_name : undefined,
additional_metadata: Object.keys(additionalMetadata).length > 0 ? Buffer.from(jsonStringify(additionalMetadata)).toString("base64") : undefined
})
});
}
return { events };
}
async shutdown() {
this.isShutdown = true;
this.resetBackoff();
await this.forceFlush();
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging exporter shutdown complete");
}
}
async forceFlush() {
await Promise.all(this.pendingExports);
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging exporter flush complete");
}
}
}
function getAxiosErrorContext(error52) {
if (!axios_default.isAxiosError(error52)) {
return errorMessage(error52);
}
const parts = [];
const requestId = error52.response?.headers?.["request-id"];
if (requestId) {
parts.push(`request-id=${requestId}`);
}
if (error52.response?.status) {
parts.push(`status=${error52.response.status}`);
}
if (error52.code) {
parts.push(`code=${error52.code}`);
}
if (error52.message) {
parts.push(error52.message);
}
return parts.join(", ");
}
var import_core10, BATCH_UUID, FILE_PREFIX = "1p_failed_events.";
var init_firstPartyEventLoggingExporter = __esm(() => {
init_axios2();
init_state();
init_claude_code_internal_event();
init_growthbook_experiment_event();
init_auth2();
init_config();
init_debug();
init_envUtils();
init_errors();
init_http2();
init_json();
init_log3();
init_slowOperations();
init_client2();
init_analytics();
init_metadata();
import_core10 = __toESM(require_src8(), 1);
BATCH_UUID = randomUUID5();
});
// src/services/analytics/sinkKillswitch.ts
function isSinkKilled(sink2) {
const config2 = getDynamicConfig_CACHED_MAY_BE_STALE(SINK_KILLSWITCH_CONFIG_NAME, {});
return config2?.[sink2] === true;
}
var SINK_KILLSWITCH_CONFIG_NAME = "tengu_frond_boric";
var init_sinkKillswitch = __esm(() => {
init_growthbook();
});
// src/services/analytics/firstPartyEventLogger.ts
var exports_firstPartyEventLogger = {};
__export(exports_firstPartyEventLogger, {
shutdown1PEventLogging: () => shutdown1PEventLogging,
shouldSampleEvent: () => shouldSampleEvent,
reinitialize1PEventLoggingIfConfigChanged: () => reinitialize1PEventLoggingIfConfigChanged,
logGrowthBookExperimentTo1P: () => logGrowthBookExperimentTo1P,
logEventTo1P: () => logEventTo1P,
is1PEventLoggingEnabled: () => is1PEventLoggingEnabled,
initialize1PEventLogging: () => initialize1PEventLogging,
getEventSamplingConfig: () => getEventSamplingConfig
});
import { randomUUID as randomUUID6 } from "crypto";
function getEventSamplingConfig() {
return getDynamicConfig_CACHED_MAY_BE_STALE(EVENT_SAMPLING_CONFIG_NAME, {});
}
function shouldSampleEvent(eventName) {
const config2 = getEventSamplingConfig();
const eventConfig = config2[eventName];
if (!eventConfig) {
return null;
}
const sampleRate = eventConfig.sample_rate;
if (typeof sampleRate !== "number" || sampleRate < 0 || sampleRate > 1) {
return null;
}
if (sampleRate >= 1) {
return null;
}
if (sampleRate <= 0) {
return 0;
}
return Math.random() < sampleRate ? sampleRate : 0;
}
function getBatchConfig() {
return getDynamicConfig_CACHED_MAY_BE_STALE(BATCH_CONFIG_NAME, {});
}
async function shutdown1PEventLogging() {
if (!firstPartyEventLoggerProvider) {
return;
}
try {
await firstPartyEventLoggerProvider.shutdown();
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging: final shutdown complete");
}
} catch {}
}
function is1PEventLoggingEnabled() {
return !isAnalyticsDisabled();
}
async function logEventTo1PAsync(firstPartyEventLogger2, eventName, metadata = {}) {
try {
const coreMetadata = await getEventMetadata({
model: metadata.model,
betas: metadata.betas
});
const attributes = {
event_name: eventName,
event_id: randomUUID6(),
core_metadata: coreMetadata,
user_metadata: getCoreUserData(true),
event_metadata: metadata
};
const userId = getOrCreateUserID();
if (userId) {
attributes.user_id = userId;
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`[ANT-ONLY] 1P event: ${eventName} ${jsonStringify(metadata, null, 0)}`);
}
firstPartyEventLogger2.emit({
body: eventName,
attributes
});
} catch (e2) {
if (true) {
throw e2;
}
if (process.env.USER_TYPE === "ant") {
logError2(e2);
}
}
}
function logEventTo1P(eventName, metadata = {}) {
if (!is1PEventLoggingEnabled()) {
return;
}
if (!firstPartyEventLogger || isSinkKilled("firstParty")) {
return;
}
logEventTo1PAsync(firstPartyEventLogger, eventName, metadata);
}
function getEnvironmentForGrowthBook() {
return "production";
}
function logGrowthBookExperimentTo1P(data) {
if (!is1PEventLoggingEnabled()) {
return;
}
if (!firstPartyEventLogger || isSinkKilled("firstParty")) {
return;
}
const userId = getOrCreateUserID();
const { accountUuid, organizationUuid } = getCoreUserData(true);
const attributes = {
event_type: "GrowthbookExperimentEvent",
event_id: randomUUID6(),
experiment_id: data.experimentId,
variation_id: data.variationId,
...userId && { device_id: userId },
...accountUuid && { account_uuid: accountUuid },
...organizationUuid && { organization_uuid: organizationUuid },
...data.userAttributes && {
session_id: data.userAttributes.sessionId,
user_attributes: jsonStringify(data.userAttributes)
},
...data.experimentMetadata && {
experiment_metadata: jsonStringify(data.experimentMetadata)
},
environment: getEnvironmentForGrowthBook()
};
if (process.env.USER_TYPE === "ant") {
logForDebugging(`[ANT-ONLY] 1P GrowthBook experiment: ${data.experimentId} variation=${data.variationId}`);
}
firstPartyEventLogger.emit({
body: "growthbook_experiment",
attributes
});
}
function initialize1PEventLogging() {
profileCheckpoint("1p_event_logging_start");
const enabled2 = is1PEventLoggingEnabled();
if (!enabled2) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("1P event logging not enabled");
}
return;
}
const batchConfig = getBatchConfig();
lastBatchConfig = batchConfig;
profileCheckpoint("1p_event_after_growthbook_config");
const scheduledDelayMillis = batchConfig.scheduledDelayMillis || parseInt(process.env.OTEL_LOGS_EXPORT_INTERVAL || DEFAULT_LOGS_EXPORT_INTERVAL_MS.toString());
const maxExportBatchSize = batchConfig.maxExportBatchSize || DEFAULT_MAX_EXPORT_BATCH_SIZE;
const maxQueueSize = batchConfig.maxQueueSize || DEFAULT_MAX_QUEUE_SIZE;
const platform3 = getPlatform();
const attributes = {
[import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
[import_semantic_conventions.ATTR_SERVICE_VERSION]: MACRO.VERSION
};
if (platform3 === "wsl") {
const wslVersion = getWslVersion();
if (wslVersion) {
attributes["wsl.version"] = wslVersion;
}
}
const resource = import_resources.resourceFromAttributes(attributes);
const eventLoggingExporter = new FirstPartyEventLoggingExporter({
maxBatchSize: maxExportBatchSize,
skipAuth: batchConfig.skipAuth,
maxAttempts: batchConfig.maxAttempts,
path: batchConfig.path,
baseUrl: batchConfig.baseUrl,
isKilled: () => isSinkKilled("firstParty")
});
firstPartyEventLoggerProvider = new import_sdk_logs.LoggerProvider({
resource,
processors: [
new import_sdk_logs.BatchLogRecordProcessor(eventLoggingExporter, {
scheduledDelayMillis,
maxExportBatchSize,
maxQueueSize
})
]
});
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", MACRO.VERSION);
}
async function reinitialize1PEventLoggingIfConfigChanged() {
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
return;
}
const newConfig = getBatchConfig();
if (isEqual_default(newConfig, lastBatchConfig)) {
return;
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`1P event logging: ${BATCH_CONFIG_NAME} changed, reinitializing`);
}
const oldProvider = firstPartyEventLoggerProvider;
const oldLogger = firstPartyEventLogger;
firstPartyEventLogger = null;
try {
await oldProvider.forceFlush();
} catch {}
firstPartyEventLoggerProvider = null;
try {
initialize1PEventLogging();
} catch (e2) {
firstPartyEventLoggerProvider = oldProvider;
firstPartyEventLogger = oldLogger;
logError2(e2);
return;
}
oldProvider.shutdown().catch(() => {});
}
var import_resources, import_sdk_logs, import_semantic_conventions, EVENT_SAMPLING_CONFIG_NAME = "tengu_event_sampling_config", BATCH_CONFIG_NAME = "tengu_1p_event_batch_config", firstPartyEventLogger = null, firstPartyEventLoggerProvider = null, lastBatchConfig = null, DEFAULT_LOGS_EXPORT_INTERVAL_MS = 1e4, DEFAULT_MAX_EXPORT_BATCH_SIZE = 200, DEFAULT_MAX_QUEUE_SIZE = 8192;
var init_firstPartyEventLogger = __esm(() => {
init_lodash();
init_config();
init_debug();
init_log3();
init_platform2();
init_slowOperations();
init_startupProfiler();
init_user();
init_config2();
init_firstPartyEventLoggingExporter();
init_growthbook();
init_metadata();
init_sinkKillswitch();
import_resources = __toESM(require_src9(), 1);
import_sdk_logs = __toESM(require_src11(), 1);
import_semantic_conventions = __toESM(require_src7(), 1);
});
// src/services/analytics/growthbook.ts
var exports_growthbook = {};
__export(exports_growthbook, {
stopPeriodicGrowthBookRefresh: () => stopPeriodicGrowthBookRefresh,
setupPeriodicGrowthBookRefresh: () => setupPeriodicGrowthBookRefresh,
setGrowthBookConfigOverride: () => setGrowthBookConfigOverride,
resetGrowthBook: () => resetGrowthBook,
refreshGrowthBookFeatures: () => refreshGrowthBookFeatures,
refreshGrowthBookAfterAuthChange: () => refreshGrowthBookAfterAuthChange,
onGrowthBookRefresh: () => onGrowthBookRefresh,
initializeGrowthBook: () => initializeGrowthBook,
hasGrowthBookEnvOverride: () => hasGrowthBookEnvOverride,
getGrowthBookConfigOverrides: () => getGrowthBookConfigOverrides,
getFeatureValue_DEPRECATED: () => getFeatureValue_DEPRECATED,
getFeatureValue_CACHED_WITH_REFRESH: () => getFeatureValue_CACHED_WITH_REFRESH,
getFeatureValue_CACHED_MAY_BE_STALE: () => getFeatureValue_CACHED_MAY_BE_STALE,
getDynamicConfig_CACHED_MAY_BE_STALE: () => getDynamicConfig_CACHED_MAY_BE_STALE,
getDynamicConfig_BLOCKS_ON_INIT: () => getDynamicConfig_BLOCKS_ON_INIT,
getApiBaseUrlHost: () => getApiBaseUrlHost,
getAllGrowthBookFeatures: () => getAllGrowthBookFeatures,
clearGrowthBookConfigOverrides: () => clearGrowthBookConfigOverrides,
checkStatsigFeatureGate_CACHED_MAY_BE_STALE: () => checkStatsigFeatureGate_CACHED_MAY_BE_STALE,
checkSecurityRestrictionGate: () => checkSecurityRestrictionGate,
checkGate_CACHED_OR_BLOCKING: () => checkGate_CACHED_OR_BLOCKING
});
function callSafe(listener) {
try {
Promise.resolve(listener()).catch((e2) => {
logError2(e2);
});
} catch (e2) {
logError2(e2);
}
}
function onGrowthBookRefresh(listener) {
let subscribed = true;
const unsubscribe2 = refreshed.subscribe(() => callSafe(listener));
if (remoteEvalFeatureValues.size > 0) {
queueMicrotask(() => {
if (subscribed && remoteEvalFeatureValues.size > 0) {
callSafe(listener);
}
});
}
return () => {
subscribed = false;
unsubscribe2();
};
}
function getEnvOverrides() {
if (!envOverridesParsed) {
envOverridesParsed = true;
if (process.env.USER_TYPE === "ant") {
const raw = process.env.CLAUDE_INTERNAL_FC_OVERRIDES;
if (raw) {
try {
envOverrides = JSON.parse(raw);
logForDebugging(`GrowthBook: Using env var overrides for ${Object.keys(envOverrides).length} features: ${Object.keys(envOverrides).join(", ")}`);
} catch {
logError2(new Error(`GrowthBook: Failed to parse CLAUDE_INTERNAL_FC_OVERRIDES: ${raw}`));
}
}
}
}
return envOverrides;
}
function hasGrowthBookEnvOverride(feature) {
const overrides = getEnvOverrides();
return overrides !== null && feature in overrides;
}
function getConfigOverrides() {
if (process.env.USER_TYPE !== "ant")
return;
try {
return getGlobalConfig().growthBookOverrides;
} catch {
return;
}
}
function getAllGrowthBookFeatures() {
if (remoteEvalFeatureValues.size > 0) {
return Object.fromEntries(remoteEvalFeatureValues);
}
return getGlobalConfig().cachedGrowthBookFeatures ?? {};
}
function getGrowthBookConfigOverrides() {
return getConfigOverrides() ?? {};
}
function setGrowthBookConfigOverride(feature, value) {
if (process.env.USER_TYPE !== "ant")
return;
try {
saveGlobalConfig((c5) => {
const current = c5.growthBookOverrides ?? {};
if (value === undefined) {
if (!(feature in current))
return c5;
const { [feature]: _2, ...rest } = current;
if (Object.keys(rest).length === 0) {
const { growthBookOverrides: __, ...configWithout } = c5;
return configWithout;
}
return { ...c5, growthBookOverrides: rest };
}
if (isEqual_default(current[feature], value))
return c5;
return { ...c5, growthBookOverrides: { ...current, [feature]: value } };
});
refreshed.emit();
} catch (e2) {
logError2(e2);
}
}
function clearGrowthBookConfigOverrides() {
if (process.env.USER_TYPE !== "ant")
return;
try {
saveGlobalConfig((c5) => {
if (!c5.growthBookOverrides || Object.keys(c5.growthBookOverrides).length === 0) {
return c5;
}
const { growthBookOverrides: _2, ...rest } = c5;
return rest;
});
refreshed.emit();
} catch (e2) {
logError2(e2);
}
}
function logExposureForFeature(feature) {
if (loggedExposures.has(feature)) {
return;
}
const expData = experimentDataByFeature.get(feature);
if (expData) {
loggedExposures.add(feature);
logGrowthBookExperimentTo1P({
experimentId: expData.experimentId,
variationId: expData.variationId,
userAttributes: getUserAttributes(),
experimentMetadata: {
feature_id: feature
}
});
}
}
async function processRemoteEvalPayload(gbClient) {
const payload = gbClient.getPayload();
if (!payload?.features || Object.keys(payload.features).length === 0) {
return false;
}
experimentDataByFeature.clear();
const transformedFeatures = {};
for (const [key, feature] of Object.entries(payload.features)) {
const f3 = feature;
if ("value" in f3 && !("defaultValue" in f3)) {
transformedFeatures[key] = {
...f3,
defaultValue: f3.value
};
} else {
transformedFeatures[key] = f3;
}
if (f3.source === "experiment" && f3.experimentResult) {
const expResult = f3.experimentResult;
const exp = f3.experiment;
if (exp?.key && expResult.variationId !== undefined) {
experimentDataByFeature.set(key, {
experimentId: exp.key,
variationId: expResult.variationId
});
}
}
}
await gbClient.setPayload({
...payload,
features: transformedFeatures
});
remoteEvalFeatureValues.clear();
for (const [key, feature] of Object.entries(transformedFeatures)) {
const v2 = "value" in feature ? feature.value : feature.defaultValue;
if (v2 !== undefined) {
remoteEvalFeatureValues.set(key, v2);
}
}
return true;
}
function syncRemoteEvalToDisk() {
const fresh = Object.fromEntries(remoteEvalFeatureValues);
const config2 = getGlobalConfig();
if (isEqual_default(config2.cachedGrowthBookFeatures, fresh)) {
return;
}
saveGlobalConfig((current) => ({
...current,
cachedGrowthBookFeatures: fresh
}));
}
function isGrowthBookEnabled() {
return is1PEventLoggingEnabled();
}
function getApiBaseUrlHost() {
const baseUrl = process.env.ANTHROPIC_BASE_URL;
if (!baseUrl)
return;
try {
const host = new URL(baseUrl).host;
if (host === "api.anthropic.com")
return;
return host;
} catch {
return;
}
}
function getUserAttributes() {
const user = getUserForGrowthBook();
let email3 = user.email;
if (!email3 && process.env.USER_TYPE === "ant") {
email3 = getGlobalConfig().oauthAccount?.emailAddress;
}
const apiBaseUrlHost = getApiBaseUrlHost();
const attributes = {
id: user.deviceId,
sessionId: user.sessionId,
deviceID: user.deviceId,
platform: user.platform,
...apiBaseUrlHost && { apiBaseUrlHost },
...user.organizationUuid && { organizationUUID: user.organizationUuid },
...user.accountUuid && { accountUUID: user.accountUuid },
...user.userType && { userType: user.userType },
...user.subscriptionType && { subscriptionType: user.subscriptionType },
...user.rateLimitTier && { rateLimitTier: user.rateLimitTier },
...user.firstTokenTime && { firstTokenTime: user.firstTokenTime },
...email3 && { email: email3 },
...user.appVersion && { appVersion: user.appVersion },
...user.githubActionsMetadata && {
githubActionsMetadata: user.githubActionsMetadata
}
};
return attributes;
}
async function getFeatureValueInternal(feature, defaultValue, logExposure) {
const overrides = getEnvOverrides();
if (overrides && feature in overrides) {
return overrides[feature];
}
const configOverrides = getConfigOverrides();
if (configOverrides && feature in configOverrides) {
return configOverrides[feature];
}
if (!isGrowthBookEnabled()) {
return defaultValue;
}
const growthBookClient = await initializeGrowthBook();
if (!growthBookClient) {
return defaultValue;
}
let result;
if (remoteEvalFeatureValues.has(feature)) {
result = remoteEvalFeatureValues.get(feature);
} else {
result = growthBookClient.getFeatureValue(feature, defaultValue);
}
if (logExposure) {
logExposureForFeature(feature);
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`GrowthBook: getFeatureValue("${feature}") = ${jsonStringify(result)}`);
}
return result;
}
async function getFeatureValue_DEPRECATED(feature, defaultValue) {
return getFeatureValueInternal(feature, defaultValue, true);
}
function getFeatureValue_CACHED_MAY_BE_STALE(feature, defaultValue) {
const overrides = getEnvOverrides();
if (overrides && feature in overrides) {
return overrides[feature];
}
const configOverrides = getConfigOverrides();
if (configOverrides && feature in configOverrides) {
return configOverrides[feature];
}
if (!isGrowthBookEnabled()) {
return defaultValue;
}
if (experimentDataByFeature.has(feature)) {
logExposureForFeature(feature);
} else {
pendingExposures.add(feature);
}
if (remoteEvalFeatureValues.has(feature)) {
return remoteEvalFeatureValues.get(feature);
}
try {
const cached2 = getGlobalConfig().cachedGrowthBookFeatures?.[feature];
return cached2 !== undefined ? cached2 : defaultValue;
} catch {
return defaultValue;
}
}
function getFeatureValue_CACHED_WITH_REFRESH(feature, defaultValue, _refreshIntervalMs) {
return getFeatureValue_CACHED_MAY_BE_STALE(feature, defaultValue);
}
function checkStatsigFeatureGate_CACHED_MAY_BE_STALE(gate) {
const overrides = getEnvOverrides();
if (overrides && gate in overrides) {
return Boolean(overrides[gate]);
}
const configOverrides = getConfigOverrides();
if (configOverrides && gate in configOverrides) {
return Boolean(configOverrides[gate]);
}
if (!isGrowthBookEnabled()) {
return false;
}
if (experimentDataByFeature.has(gate)) {
logExposureForFeature(gate);
} else {
pendingExposures.add(gate);
}
const config2 = getGlobalConfig();
const gbCached = config2.cachedGrowthBookFeatures?.[gate];
if (gbCached !== undefined) {
return Boolean(gbCached);
}
return config2.cachedStatsigGates?.[gate] ?? false;
}
async function checkSecurityRestrictionGate(gate) {
const overrides = getEnvOverrides();
if (overrides && gate in overrides) {
return Boolean(overrides[gate]);
}
const configOverrides = getConfigOverrides();
if (configOverrides && gate in configOverrides) {
return Boolean(configOverrides[gate]);
}
if (!isGrowthBookEnabled()) {
return false;
}
if (reinitializingPromise) {
await reinitializingPromise;
}
const config2 = getGlobalConfig();
const statsigCached = config2.cachedStatsigGates?.[gate];
if (statsigCached !== undefined) {
return Boolean(statsigCached);
}
const gbCached = config2.cachedGrowthBookFeatures?.[gate];
if (gbCached !== undefined) {
return Boolean(gbCached);
}
return false;
}
async function checkGate_CACHED_OR_BLOCKING(gate) {
const overrides = getEnvOverrides();
if (overrides && gate in overrides) {
return Boolean(overrides[gate]);
}
const configOverrides = getConfigOverrides();
if (configOverrides && gate in configOverrides) {
return Boolean(configOverrides[gate]);
}
if (!isGrowthBookEnabled()) {
return false;
}
const cached2 = getGlobalConfig().cachedGrowthBookFeatures?.[gate];
if (cached2 === true) {
if (experimentDataByFeature.has(gate)) {
logExposureForFeature(gate);
} else {
pendingExposures.add(gate);
}
return true;
}
return getFeatureValueInternal(gate, false, true);
}
function refreshGrowthBookAfterAuthChange() {
if (!isGrowthBookEnabled()) {
return;
}
try {
resetGrowthBook();
refreshed.emit();
reinitializingPromise = initializeGrowthBook().catch((error52) => {
logError2(toError(error52));
return null;
}).finally(() => {
reinitializingPromise = null;
});
} catch (error52) {
if (true) {
throw error52;
}
logError2(toError(error52));
}
}
function resetGrowthBook() {
stopPeriodicGrowthBookRefresh();
if (currentBeforeExitHandler) {
process.off("beforeExit", currentBeforeExitHandler);
currentBeforeExitHandler = null;
}
if (currentExitHandler) {
process.off("exit", currentExitHandler);
currentExitHandler = null;
}
client4?.destroy();
client4 = null;
clientCreatedWithAuth = false;
reinitializingPromise = null;
experimentDataByFeature.clear();
pendingExposures.clear();
loggedExposures.clear();
remoteEvalFeatureValues.clear();
getGrowthBookClient.cache?.clear?.();
initializeGrowthBook.cache?.clear?.();
envOverrides = null;
envOverridesParsed = false;
}
async function refreshGrowthBookFeatures() {
if (!isGrowthBookEnabled()) {
return;
}
try {
const growthBookClient = await initializeGrowthBook();
if (!growthBookClient) {
return;
}
await growthBookClient.refreshFeatures();
if (growthBookClient !== client4) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("GrowthBook: Skipping refresh processing for replaced client");
}
return;
}
const hadFeatures = await processRemoteEvalPayload(growthBookClient);
if (growthBookClient !== client4)
return;
if (process.env.USER_TYPE === "ant") {
logForDebugging("GrowthBook: Light refresh completed");
}
if (hadFeatures) {
syncRemoteEvalToDisk();
refreshed.emit();
}
} catch (error52) {
if (true) {
throw error52;
}
logError2(toError(error52));
}
}
function setupPeriodicGrowthBookRefresh() {
if (!isGrowthBookEnabled()) {
return;
}
if (refreshInterval) {
clearInterval(refreshInterval);
}
refreshInterval = setInterval(() => {
refreshGrowthBookFeatures();
}, GROWTHBOOK_REFRESH_INTERVAL_MS);
refreshInterval.unref?.();
if (!beforeExitListener) {
beforeExitListener = () => {
stopPeriodicGrowthBookRefresh();
};
process.once("beforeExit", beforeExitListener);
}
}
function stopPeriodicGrowthBookRefresh() {
if (refreshInterval) {
clearInterval(refreshInterval);
refreshInterval = null;
}
if (beforeExitListener) {
process.removeListener("beforeExit", beforeExitListener);
beforeExitListener = null;
}
}
async function getDynamicConfig_BLOCKS_ON_INIT(configName, defaultValue) {
return getFeatureValue_DEPRECATED(configName, defaultValue);
}
function getDynamicConfig_CACHED_MAY_BE_STALE(configName, defaultValue) {
return getFeatureValue_CACHED_MAY_BE_STALE(configName, defaultValue);
}
var client4 = null, currentBeforeExitHandler = null, currentExitHandler = null, clientCreatedWithAuth = false, experimentDataByFeature, remoteEvalFeatureValues, pendingExposures, loggedExposures, reinitializingPromise = null, refreshed, envOverrides = null, envOverridesParsed = false, getGrowthBookClient, initializeGrowthBook, GROWTHBOOK_REFRESH_INTERVAL_MS, refreshInterval = null, beforeExitListener = null;
var init_growthbook = __esm(() => {
init_esm();
init_lodash();
init_state();
init_keys2();
init_config();
init_debug();
init_errors();
init_http2();
init_log3();
init_slowOperations();
init_user();
init_firstPartyEventLogger();
experimentDataByFeature = new Map;
remoteEvalFeatureValues = new Map;
pendingExposures = new Set;
loggedExposures = new Set;
refreshed = createSignal();
getGrowthBookClient = memoize_default(() => {
if (!isGrowthBookEnabled()) {
return null;
}
const attributes = getUserAttributes();
const clientKey = getGrowthBookClientKey();
if (process.env.USER_TYPE === "ant") {
logForDebugging(`GrowthBook: Creating client with clientKey=${clientKey}, attributes: ${jsonStringify(attributes)}`);
}
const baseUrl = process.env.USER_TYPE === "ant" ? process.env.CLAUDE_CODE_GB_BASE_URL || "https://api.anthropic.com/" : "https://api.anthropic.com/";
const hasTrust = checkHasTrustDialogAccepted() || getSessionTrustAccepted() || getIsNonInteractiveSession();
const authHeaders = hasTrust ? getAuthHeaders2() : { headers: {}, error: "trust not established" };
const hasAuth = !authHeaders.error;
clientCreatedWithAuth = hasAuth;
const thisClient = new GrowthBook({
apiHost: baseUrl,
clientKey,
attributes,
remoteEval: true,
cacheKeyAttributes: ["id", "organizationUUID"],
...authHeaders.error ? {} : { apiHostRequestHeaders: authHeaders.headers },
...process.env.USER_TYPE === "ant" ? {
log: (msg, ctx) => {
logForDebugging(`GrowthBook: ${msg} ${jsonStringify(ctx)}`);
}
} : {}
});
client4 = thisClient;
if (!hasAuth) {
return { client: thisClient, initialized: Promise.resolve() };
}
const initialized = thisClient.init({ timeout: 5000 }).then(async (result) => {
if (client4 !== thisClient) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("GrowthBook: Skipping init callback for replaced client");
}
return;
}
if (process.env.USER_TYPE === "ant") {
logForDebugging(`GrowthBook initialized successfully, source: ${result.source}, success: ${result.success}`);
}
const hadFeatures = await processRemoteEvalPayload(thisClient);
if (client4 !== thisClient)
return;
if (hadFeatures) {
for (const feature of pendingExposures) {
logExposureForFeature(feature);
}
pendingExposures.clear();
syncRemoteEvalToDisk();
refreshed.emit();
}
if (process.env.USER_TYPE === "ant") {
const features = thisClient.getFeatures();
if (features) {
const featureKeys = Object.keys(features);
logForDebugging(`GrowthBook loaded ${featureKeys.length} features: ${featureKeys.slice(0, 10).join(", ")}${featureKeys.length > 10 ? "..." : ""}`);
}
}
}).catch((error52) => {
if (process.env.USER_TYPE === "ant") {
logError2(toError(error52));
}
});
currentBeforeExitHandler = () => client4?.destroy();
currentExitHandler = () => client4?.destroy();
process.on("beforeExit", currentBeforeExitHandler);
process.on("exit", currentExitHandler);
return { client: thisClient, initialized };
});
initializeGrowthBook = memoize_default(async () => {
let clientWrapper = getGrowthBookClient();
if (!clientWrapper) {
return null;
}
if (!clientCreatedWithAuth) {
const hasTrust = checkHasTrustDialogAccepted() || getSessionTrustAccepted() || getIsNonInteractiveSession();
if (hasTrust) {
const currentAuth = getAuthHeaders2();
if (!currentAuth.error) {
if (process.env.USER_TYPE === "ant") {
logForDebugging("GrowthBook: Auth became available after client creation, reinitializing");
}
resetGrowthBook();
clientWrapper = getGrowthBookClient();
if (!clientWrapper) {
return null;
}
}
}
}
await clientWrapper.initialized;
setupPeriodicGrowthBookRefresh();
return clientWrapper.client;
});
GROWTHBOOK_REFRESH_INTERVAL_MS = process.env.USER_TYPE !== "ant" ? 6 * 60 * 60 * 1000 : 20 * 60 * 1000;
});
// src/memdir/paths.ts
import { homedir as homedir9 } from "os";
import { isAbsolute as isAbsolute4, join as join25, normalize as normalize3, sep as sep4 } from "path";
function isAutoMemoryEnabled() {
const envVal = process.env.CLAUDE_CODE_DISABLE_AUTO_MEMORY;
if (isEnvTruthy(envVal)) {
return false;
}
if (isEnvDefinedFalsy(envVal)) {
return true;
}
if (isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) {
return false;
}
if (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE) && !process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
return false;
}
const settings = getInitialSettings();
if (settings.autoMemoryEnabled !== undefined) {
return settings.autoMemoryEnabled;
}
return true;
}
function getMemoryBaseDir() {
if (process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
return process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR;
}
return getClaudeConfigHomeDir();
}
function validateMemoryPath(raw, expandTilde) {
if (!raw) {
return;
}
let candidate = raw;
if (expandTilde && (candidate.startsWith("~/") || candidate.startsWith("~\\"))) {
const rest = candidate.slice(2);
const restNorm = normalize3(rest || ".");
if (restNorm === "." || restNorm === "..") {
return;
}
candidate = join25(homedir9(), rest);
}
const normalized = normalize3(candidate).replace(/[/\\]+$/, "");
if (!isAbsolute4(normalized) || normalized.length < 3 || /^[A-Za-z]:$/.test(normalized) || normalized.startsWith("\\\\") || normalized.startsWith("//") || normalized.includes("\x00")) {
return;
}
return (normalized + sep4).normalize("NFC");
}
function getAutoMemPathOverride() {
return validateMemoryPath(process.env.CLAUDE_COWORK_MEMORY_PATH_OVERRIDE, false);
}
function getAutoMemPathSetting() {
const dir = getSettingsForSource("policySettings")?.autoMemoryDirectory ?? getSettingsForSource("flagSettings")?.autoMemoryDirectory ?? getSettingsForSource("localSettings")?.autoMemoryDirectory ?? getSettingsForSource("userSettings")?.autoMemoryDirectory;
return validateMemoryPath(dir, true);
}
function hasAutoMemPathOverride() {
return getAutoMemPathOverride() !== undefined;
}
function getAutoMemBase() {
return findCanonicalGitRoot(getProjectRoot()) ?? getProjectRoot();
}
function getAutoMemEntrypoint() {
return join25(getAutoMemPath(), AUTO_MEM_ENTRYPOINT_NAME);
}
function isAutoMemPath(absolutePath) {
const normalizedPath = normalize3(absolutePath);
return normalizedPath.startsWith(getAutoMemPath());
}
var AUTO_MEM_DIRNAME = "memory", AUTO_MEM_ENTRYPOINT_NAME = "MEMORY.md", getAutoMemPath;
var init_paths = __esm(() => {
init_memoize();
init_state();
init_growthbook();
init_envUtils();
init_git();
init_path2();
init_settings2();
getAutoMemPath = memoize_default(() => {
const override = getAutoMemPathOverride() ?? getAutoMemPathSetting();
if (override) {
return override;
}
const projectsDir = join25(getMemoryBaseDir(), "projects");
return (join25(projectsDir, sanitizePath2(getAutoMemBase()), AUTO_MEM_DIRNAME) + sep4).normalize("NFC");
}, () => getProjectRoot());
});
// src/tools/BashTool/toolName.ts
var BASH_TOOL_NAME = "Bash";
// src/tools/GrepTool/prompt.ts
function getDescription() {
return `A powerful search tool built on ripgrep
Usage:
- ALWAYS use ${GREP_TOOL_NAME} for search tasks. NEVER invoke \`grep\` or \`rg\` as a ${BASH_TOOL_NAME} command. The ${GREP_TOOL_NAME} tool has been optimized for correct permissions and access.
- Supports full regex syntax (e.g., "log.*Error", "function\\s+\\w+")
- Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
- Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
- Use ${AGENT_TOOL_NAME} tool for open-ended searches requiring multiple rounds
- Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code)
- Multiline matching: By default patterns match within single lines only. For cross-line patterns like \`struct \\{[\\s\\S]*?field\`, use \`multiline: true\`
`;
}
var GREP_TOOL_NAME = "Grep";
var init_prompt = __esm(() => {
init_constants4();
});
// src/tools/FileEditTool/constants.ts
var FILE_EDIT_TOOL_NAME = "Edit", CLAUDE_FOLDER_PERMISSION_PATTERN = "/.claude/**", GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN = "~/.claude/**", FILE_UNEXPECTEDLY_MODIFIED_ERROR = "File has been unexpectedly modified. Read it again before attempting to write it.";
// src/utils/pdfUtils.ts
function parsePDFPageRange(pages) {
const trimmed = pages.trim();
if (!trimmed) {
return null;
}
if (trimmed.endsWith("-")) {
const first2 = parseInt(trimmed.slice(0, -1), 10);
if (isNaN(first2) || first2 < 1) {
return null;
}
return { firstPage: first2, lastPage: Infinity };
}
const dashIndex = trimmed.indexOf("-");
if (dashIndex === -1) {
const page = parseInt(trimmed, 10);
if (isNaN(page) || page < 1) {
return null;
}
return { firstPage: page, lastPage: page };
}
const first = parseInt(trimmed.slice(0, dashIndex), 10);
const last = parseInt(trimmed.slice(dashIndex + 1), 10);
if (isNaN(first) || isNaN(last) || first < 1 || last < 1 || last < first) {
return null;
}
return { firstPage: first, lastPage: last };
}
function isPDFSupported() {
return !getMainLoopModel().toLowerCase().includes("claude-3-haiku");
}
function isPDFExtension(ext) {
const normalized = ext.startsWith(".") ? ext.slice(1) : ext;
return DOCUMENT_EXTENSIONS.has(normalized.toLowerCase());
}
var DOCUMENT_EXTENSIONS;
var init_pdfUtils = __esm(() => {
init_model();
DOCUMENT_EXTENSIONS = new Set(["pdf"]);
});
// src/tools/FileReadTool/prompt.ts
function renderPromptTemplate(lineFormat, maxSizeInstruction, offsetInstruction) {
return `Reads a file from the local filesystem. You can access any file directly by using this tool.
Assume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned.
Usage:
- The file_path parameter must be an absolute path, not a relative path
- By default, it reads up to ${MAX_LINES_TO_READ} lines starting from the beginning of the file${maxSizeInstruction}
${offsetInstruction}
${lineFormat}
- This tool allows Claude Code to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Claude Code is a multimodal LLM.${isPDFSupported() ? `
- This tool can read PDF files (.pdf). For large PDFs (more than 10 pages), you MUST provide the pages parameter to read specific page ranges (e.g., pages: "1-5"). Reading a large PDF without the pages parameter will fail. Maximum 20 pages per request.` : ""}
- This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations.
- This tool can only read files, not directories. To read a directory, use an ls command via the ${BASH_TOOL_NAME} tool.
- You will regularly be asked to read screenshots. If the user provides a path to a screenshot, ALWAYS use this tool to view the file at the path. This tool will work with all temporary file paths.
- If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.`;
}
var FILE_READ_TOOL_NAME = "Read", FILE_UNCHANGED_STUB = "File unchanged since last read. The content from the earlier Read tool_result in this conversation is still current — refer to that instead of re-reading.", MAX_LINES_TO_READ = 2000, DESCRIPTION2 = "Read a file from the local filesystem.", LINE_FORMAT_INSTRUCTION = "- Results are returned using cat -n format, with line numbers starting at 1", OFFSET_INSTRUCTION_DEFAULT = "- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters", OFFSET_INSTRUCTION_TARGETED = "- When you already know which part of the file you need, only read that part. This can be important for larger files.";
var init_prompt2 = __esm(() => {
init_pdfUtils();
});
// src/tools/FileWriteTool/prompt.ts
function getPreReadInstruction() {
return `
- If this is an existing file, you MUST use the ${FILE_READ_TOOL_NAME} tool first to read the file's contents. This tool will fail if you did not read the file first.`;
}
function getWriteToolDescription() {
return `Writes a file to the local filesystem.
Usage:
- This tool will overwrite the existing file if there is one at the provided path.${getPreReadInstruction()}
- Prefer the Edit tool for modifying existing files — it only sends the diff. Only use this tool to create new files or for complete rewrites.
- NEVER create documentation files (*.md) or README files unless explicitly requested by the User.
- Only use emojis if the user explicitly requests it. Avoid writing emojis to files unless asked.`;
}
var FILE_WRITE_TOOL_NAME = "Write";
var init_prompt3 = __esm(() => {
init_prompt2();
});
// src/tools/GlobTool/prompt.ts
var GLOB_TOOL_NAME = "Glob", DESCRIPTION3 = `- Fast file pattern matching tool that works with any codebase size
- Supports glob patterns like "**/*.js" or "src/**/*.ts"
- Returns matching file paths sorted by modification time
- Use this tool when you need to find files by name patterns
- When you are doing an open ended search that may require multiple rounds of globbing and grepping, use the Agent tool instead`;
// src/tools/NotebookEditTool/constants.ts
var NOTEBOOK_EDIT_TOOL_NAME = "NotebookEdit";
// src/tools/REPLTool/constants.ts
function isReplModeEnabled() {
if (isEnvDefinedFalsy(process.env.CLAUDE_CODE_REPL))
return false;
if (isEnvTruthy(process.env.CLAUDE_REPL_MODE))
return true;
return process.env.USER_TYPE === "ant" && process.env.CLAUDE_CODE_ENTRYPOINT === "cli";
}
var REPL_TOOL_NAME = "REPL", REPL_ONLY_TOOLS;
var init_constants6 = __esm(() => {
init_envUtils();
init_constants4();
init_prompt2();
init_prompt3();
init_prompt();
REPL_ONLY_TOOLS = new Set([
FILE_READ_TOOL_NAME,
FILE_WRITE_TOOL_NAME,
FILE_EDIT_TOOL_NAME,
GLOB_TOOL_NAME,
GREP_TOOL_NAME,
BASH_TOOL_NAME,
NOTEBOOK_EDIT_TOOL_NAME,
AGENT_TOOL_NAME
]);
});
// src/utils/embeddedTools.ts
function hasEmbeddedSearchTools() {
if (!isEnvTruthy(process.env.EMBEDDED_SEARCH_TOOLS))
return false;
const e2 = process.env.CLAUDE_CODE_ENTRYPOINT;
return e2 !== "sdk-ts" && e2 !== "sdk-py" && e2 !== "sdk-cli" && e2 !== "local-agent";
}
function embeddedSearchToolsBinaryPath() {
return process.execPath;
}
var init_embeddedTools = __esm(() => {
init_envUtils();
});
// node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react.development.js
var require_react_development = __commonJS((exports, module) => {
(function() {
function defineDeprecationWarning(methodName, info) {
Object.defineProperty(Component.prototype, methodName, {
get: function() {
console.warn("%s(...) is deprecated in plain JavaScript React classes. %s", info[0], info[1]);
}
});
}
function getIteratorFn(maybeIterable) {
if (maybeIterable === null || typeof maybeIterable !== "object")
return null;
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
return typeof maybeIterable === "function" ? maybeIterable : null;
}
function warnNoop(publicInstance, callerName) {
publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass";
var warningKey = publicInstance + "." + callerName;
didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", callerName, publicInstance), didWarnStateUpdateForUnmountedComponent[warningKey] = true);
}
function Component(props, context3, updater) {
this.props = props;
this.context = context3;
this.refs = emptyObject;
this.updater = updater || ReactNoopUpdateQueue;
}
function ComponentDummy() {}
function PureComponent(props, context3, updater) {
this.props = props;
this.context = context3;
this.refs = emptyObject;
this.updater = updater || ReactNoopUpdateQueue;
}
function noop9() {}
function testStringCoercion(value) {
return "" + value;
}
function checkKeyStringCoercion(value) {
try {
testStringCoercion(value);
var JSCompiler_inline_result = false;
} catch (e2) {
JSCompiler_inline_result = true;
}
if (JSCompiler_inline_result) {
JSCompiler_inline_result = console;
var JSCompiler_temp_const = JSCompiler_inline_result.error;
var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
return testStringCoercion(value);
}
}
function getComponentNameFromType(type) {
if (type == null)
return null;
if (typeof type === "function")
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
if (typeof type === "string")
return type;
switch (type) {
case REACT_FRAGMENT_TYPE:
return "Fragment";
case REACT_PROFILER_TYPE:
return "Profiler";
case REACT_STRICT_MODE_TYPE:
return "StrictMode";
case REACT_SUSPENSE_TYPE:
return "Suspense";
case REACT_SUSPENSE_LIST_TYPE:
return "SuspenseList";
case REACT_ACTIVITY_TYPE:
return "Activity";
}
if (typeof type === "object")
switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
case REACT_PORTAL_TYPE:
return "Portal";
case REACT_CONTEXT_TYPE:
return type.displayName || "Context";
case REACT_CONSUMER_TYPE:
return (type._context.displayName || "Context") + ".Consumer";
case REACT_FORWARD_REF_TYPE:
var innerType = type.render;
type = type.displayName;
type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
return type;
case REACT_MEMO_TYPE:
return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
case REACT_LAZY_TYPE:
innerType = type._payload;
type = type._init;
try {
return getComponentNameFromType(type(innerType));
} catch (x4) {}
}
return null;
}
function getTaskName(type) {
if (type === REACT_FRAGMENT_TYPE)
return "<>";
if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
return "<...>";
try {
var name3 = getComponentNameFromType(type);
return name3 ? "<" + name3 + ">" : "<...>";
} catch (x4) {
return "<...>";
}
}
function getOwner() {
var dispatcher = ReactSharedInternals.A;
return dispatcher === null ? null : dispatcher.getOwner();
}
function UnknownOwner() {
return Error("react-stack-top-frame");
}
function hasValidKey(config2) {
if (hasOwnProperty15.call(config2, "key")) {
var getter = Object.getOwnPropertyDescriptor(config2, "key").get;
if (getter && getter.isReactWarning)
return false;
}
return config2.key !== undefined;
}
function defineKeyPropWarningGetter(props, displayName) {
function warnAboutAccessingKey() {
specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
}
warnAboutAccessingKey.isReactWarning = true;
Object.defineProperty(props, "key", {
get: warnAboutAccessingKey,
configurable: true
});
}
function elementRefGetterWithDeprecationWarning() {
var componentName = getComponentNameFromType(this.type);
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
componentName = this.props.ref;
return componentName !== undefined ? componentName : null;
}
function ReactElement(type, key, props, owner, debugStack, debugTask) {
var refProp = props.ref;
type = {
$$typeof: REACT_ELEMENT_TYPE,
type,
key,
props,
_owner: owner
};
(refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
enumerable: false,
get: elementRefGetterWithDeprecationWarning
}) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
type._store = {};
Object.defineProperty(type._store, "validated", {
configurable: false,
enumerable: false,
writable: true,
value: 0
});
Object.defineProperty(type, "_debugInfo", {
configurable: false,
enumerable: false,
writable: true,
value: null
});
Object.defineProperty(type, "_debugStack", {
configurable: false,
enumerable: false,
writable: true,
value: debugStack
});
Object.defineProperty(type, "_debugTask", {
configurable: false,
enumerable: false,
writable: true,
value: debugTask
});
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
return type;
}
function cloneAndReplaceKey(oldElement, newKey) {
newKey = ReactElement(oldElement.type, newKey, oldElement.props, oldElement._owner, oldElement._debugStack, oldElement._debugTask);
oldElement._store && (newKey._store.validated = oldElement._store.validated);
return newKey;
}
function validateChildKeys(node) {
isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
}
function isValidElement(object2) {
return typeof object2 === "object" && object2 !== null && object2.$$typeof === REACT_ELEMENT_TYPE;
}
function escape2(key) {
var escaperLookup = { "=": "=0", ":": "=2" };
return "$" + key.replace(/[=:]/g, function(match) {
return escaperLookup[match];
});
}
function getElementKey(element, index) {
return typeof element === "object" && element !== null && element.key != null ? (checkKeyStringCoercion(element.key), escape2("" + element.key)) : index.toString(36);
}
function resolveThenable(thenable) {
switch (thenable.status) {
case "fulfilled":
return thenable.value;
case "rejected":
throw thenable.reason;
default:
switch (typeof thenable.status === "string" ? thenable.then(noop9, noop9) : (thenable.status = "pending", thenable.then(function(fulfilledValue) {
thenable.status === "pending" && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
}, function(error52) {
thenable.status === "pending" && (thenable.status = "rejected", thenable.reason = error52);
})), thenable.status) {
case "fulfilled":
return thenable.value;
case "rejected":
throw thenable.reason;
}
}
throw thenable;
}
function mapIntoArray(children2, array2, escapedPrefix, nameSoFar, callback) {
var type = typeof children2;
if (type === "undefined" || type === "boolean")
children2 = null;
var invokeCallback = false;
if (children2 === null)
invokeCallback = true;
else
switch (type) {
case "bigint":
case "string":
case "number":
invokeCallback = true;
break;
case "object":
switch (children2.$$typeof) {
case REACT_ELEMENT_TYPE:
case REACT_PORTAL_TYPE:
invokeCallback = true;
break;
case REACT_LAZY_TYPE:
return invokeCallback = children2._init, mapIntoArray(invokeCallback(children2._payload), array2, escapedPrefix, nameSoFar, callback);
}
}
if (invokeCallback) {
invokeCallback = children2;
callback = callback(invokeCallback);
var childKey = nameSoFar === "" ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
isArrayImpl(callback) ? (escapedPrefix = "", childKey != null && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array2, escapedPrefix, "", function(c5) {
return c5;
})) : callback != null && (isValidElement(callback) && (callback.key != null && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(callback, escapedPrefix + (callback.key == null || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(userProvidedKeyEscapeRegex, "$&/") + "/") + childKey), nameSoFar !== "" && invokeCallback != null && isValidElement(invokeCallback) && invokeCallback.key == null && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array2.push(callback));
return 1;
}
invokeCallback = 0;
childKey = nameSoFar === "" ? "." : nameSoFar + ":";
if (isArrayImpl(children2))
for (var i3 = 0;i3 < children2.length; i3++)
nameSoFar = children2[i3], type = childKey + getElementKey(nameSoFar, i3), invokeCallback += mapIntoArray(nameSoFar, array2, escapedPrefix, type, callback);
else if (i3 = getIteratorFn(children2), typeof i3 === "function")
for (i3 === children2.entries && (didWarnAboutMaps || console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), didWarnAboutMaps = true), children2 = i3.call(children2), i3 = 0;!(nameSoFar = children2.next()).done; )
nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i3++), invokeCallback += mapIntoArray(nameSoFar, array2, escapedPrefix, type, callback);
else if (type === "object") {
if (typeof children2.then === "function")
return mapIntoArray(resolveThenable(children2), array2, escapedPrefix, nameSoFar, callback);
array2 = String(children2);
throw Error("Objects are not valid as a React child (found: " + (array2 === "[object Object]" ? "object with keys {" + Object.keys(children2).join(", ") + "}" : array2) + "). If you meant to render a collection of children, use an array instead.");
}
return invokeCallback;
}
function mapChildren(children2, func, context3) {
if (children2 == null)
return children2;
var result = [], count3 = 0;
mapIntoArray(children2, result, "", "", function(child) {
return func.call(context3, child, count3++);
});
return result;
}
function lazyInitializer(payload) {
if (payload._status === -1) {
var ioInfo = payload._ioInfo;
ioInfo != null && (ioInfo.start = ioInfo.end = performance.now());
ioInfo = payload._result;
var thenable = ioInfo();
thenable.then(function(moduleObject) {
if (payload._status === 0 || payload._status === -1) {
payload._status = 1;
payload._result = moduleObject;
var _ioInfo = payload._ioInfo;
_ioInfo != null && (_ioInfo.end = performance.now());
thenable.status === undefined && (thenable.status = "fulfilled", thenable.value = moduleObject);
}
}, function(error52) {
if (payload._status === 0 || payload._status === -1) {
payload._status = 2;
payload._result = error52;
var _ioInfo2 = payload._ioInfo;
_ioInfo2 != null && (_ioInfo2.end = performance.now());
thenable.status === undefined && (thenable.status = "rejected", thenable.reason = error52);
}
});
ioInfo = payload._ioInfo;
if (ioInfo != null) {
ioInfo.value = thenable;
var displayName = thenable.displayName;
typeof displayName === "string" && (ioInfo.name = displayName);
}
payload._status === -1 && (payload._status = 0, payload._result = thenable);
}
if (payload._status === 1)
return ioInfo = payload._result, ioInfo === undefined && console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
const MyComponent = lazy(() => import('./MyComponent'))
Did you accidentally put curly braces around the import?`, ioInfo), "default" in ioInfo || console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
Your code should look like:
const MyComponent = lazy(() => import('./MyComponent'))`, ioInfo), ioInfo.default;
throw payload._result;
}
function resolveDispatcher() {
var dispatcher = ReactSharedInternals.H;
dispatcher === null && console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`);
return dispatcher;
}
function releaseAsyncTransition() {
ReactSharedInternals.asyncTransitions--;
}
function enqueueTask(task) {
if (enqueueTaskImpl === null)
try {
var requireString = ("require" + Math.random()).slice(0, 7);
enqueueTaskImpl = (module && module[requireString]).call(module, "timers").setImmediate;
} catch (_err) {
enqueueTaskImpl = function(callback) {
didWarnAboutMessageChannel === false && (didWarnAboutMessageChannel = true, typeof MessageChannel === "undefined" && console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
var channel = new MessageChannel;
channel.port1.onmessage = callback;
channel.port2.postMessage(undefined);
};
}
return enqueueTaskImpl(task);
}
function aggregateErrors(errors3) {
return 1 < errors3.length && typeof AggregateError === "function" ? new AggregateError(errors3) : errors3[0];
}
function popActScope(prevActQueue, prevActScopeDepth) {
prevActScopeDepth !== actScopeDepth - 1 && console.error("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. ");
actScopeDepth = prevActScopeDepth;
}
function recursivelyFlushAsyncActWork(returnValue, resolve9, reject) {
var queue = ReactSharedInternals.actQueue;
if (queue !== null)
if (queue.length !== 0)
try {
flushActQueue(queue);
enqueueTask(function() {
return recursivelyFlushAsyncActWork(returnValue, resolve9, reject);
});
return;
} catch (error52) {
ReactSharedInternals.thrownErrors.push(error52);
}
else
ReactSharedInternals.actQueue = null;
0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve9(returnValue);
}
function flushActQueue(queue) {
if (!isFlushing) {
isFlushing = true;
var i3 = 0;
try {
for (;i3 < queue.length; i3++) {
var callback = queue[i3];
do {
ReactSharedInternals.didUsePromise = false;
var continuation = callback(false);
if (continuation !== null) {
if (ReactSharedInternals.didUsePromise) {
queue[i3] = callback;
queue.splice(0, i3);
return;
}
callback = continuation;
} else
break;
} while (1);
}
queue.length = 0;
} catch (error52) {
queue.splice(0, i3 + 1), ReactSharedInternals.thrownErrors.push(error52);
} finally {
isFlushing = false;
}
}
}
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = {
isMounted: function() {
return false;
},
enqueueForceUpdate: function(publicInstance) {
warnNoop(publicInstance, "forceUpdate");
},
enqueueReplaceState: function(publicInstance) {
warnNoop(publicInstance, "replaceState");
},
enqueueSetState: function(publicInstance) {
warnNoop(publicInstance, "setState");
}
}, assign = Object.assign, emptyObject = {};
Object.freeze(emptyObject);
Component.prototype.isReactComponent = {};
Component.prototype.setState = function(partialState, callback) {
if (typeof partialState !== "object" && typeof partialState !== "function" && partialState != null)
throw Error("takes an object of state variables to update or a function which returns an object of state variables.");
this.updater.enqueueSetState(this, partialState, callback, "setState");
};
Component.prototype.forceUpdate = function(callback) {
this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
};
var deprecatedAPIs = {
isMounted: [
"isMounted",
"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."
],
replaceState: [
"replaceState",
"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."
]
};
for (fnName in deprecatedAPIs)
deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
ComponentDummy.prototype = Component.prototype;
deprecatedAPIs = PureComponent.prototype = new ComponentDummy;
deprecatedAPIs.constructor = PureComponent;
assign(deprecatedAPIs, Component.prototype);
deprecatedAPIs.isPureReactComponent = true;
var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = {
H: null,
A: null,
T: null,
S: null,
actQueue: null,
asyncTransitions: 0,
isBatchingLegacy: false,
didScheduleLegacyUpdate: false,
didUsePromise: false,
thrownErrors: [],
getCurrentStack: null,
recentlyCreatedOwnerStacks: 0
}, hasOwnProperty15 = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() {
return null;
};
deprecatedAPIs = {
react_stack_bottom_frame: function(callStackForError) {
return callStackForError();
}
};
var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
var didWarnAboutElementRef = {};
var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(deprecatedAPIs, UnknownOwner)();
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = typeof reportError === "function" ? reportError : function(error52) {
if (typeof window === "object" && typeof window.ErrorEvent === "function") {
var event = new window.ErrorEvent("error", {
bubbles: true,
cancelable: true,
message: typeof error52 === "object" && error52 !== null && typeof error52.message === "string" ? String(error52.message) : String(error52),
error: error52
});
if (!window.dispatchEvent(event))
return;
} else if (typeof process === "object" && typeof process.emit === "function") {
process.emit("uncaughtException", error52);
return;
}
console.error(error52);
}, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = typeof queueMicrotask === "function" ? function(callback) {
queueMicrotask(function() {
return queueMicrotask(callback);
});
} : enqueueTask;
deprecatedAPIs = Object.freeze({
__proto__: null,
c: function(size) {
return resolveDispatcher().useMemoCache(size);
}
});
var fnName = {
map: mapChildren,
forEach: function(children2, forEachFunc, forEachContext) {
mapChildren(children2, function() {
forEachFunc.apply(this, arguments);
}, forEachContext);
},
count: function(children2) {
var n2 = 0;
mapChildren(children2, function() {
n2++;
});
return n2;
},
toArray: function(children2) {
return mapChildren(children2, function(child) {
return child;
}) || [];
},
only: function(children2) {
if (!isValidElement(children2))
throw Error("React.Children.only expected to receive a single React element child.");
return children2;
}
};
exports.Activity = REACT_ACTIVITY_TYPE;
exports.Children = fnName;
exports.Component = Component;
exports.Fragment = REACT_FRAGMENT_TYPE;
exports.Profiler = REACT_PROFILER_TYPE;
exports.PureComponent = PureComponent;
exports.StrictMode = REACT_STRICT_MODE_TYPE;
exports.Suspense = REACT_SUSPENSE_TYPE;
exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
exports.__COMPILER_RUNTIME = deprecatedAPIs;
exports.act = function(callback) {
var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth;
actScopeDepth++;
var queue = ReactSharedInternals.actQueue = prevActQueue !== null ? prevActQueue : [], didAwaitActCall = false;
try {
var result = callback();
} catch (error52) {
ReactSharedInternals.thrownErrors.push(error52);
}
if (0 < ReactSharedInternals.thrownErrors.length)
throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
if (result !== null && typeof result === "object" && typeof result.then === "function") {
var thenable = result;
queueSeveralMicrotasks(function() {
didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
});
return {
then: function(resolve9, reject) {
didAwaitActCall = true;
thenable.then(function(returnValue) {
popActScope(prevActQueue, prevActScopeDepth);
if (prevActScopeDepth === 0) {
try {
flushActQueue(queue), enqueueTask(function() {
return recursivelyFlushAsyncActWork(returnValue, resolve9, reject);
});
} catch (error$0) {
ReactSharedInternals.thrownErrors.push(error$0);
}
if (0 < ReactSharedInternals.thrownErrors.length) {
var _thrownError = aggregateErrors(ReactSharedInternals.thrownErrors);
ReactSharedInternals.thrownErrors.length = 0;
reject(_thrownError);
}
} else
resolve9(returnValue);
}, function(error52) {
popActScope(prevActQueue, prevActScopeDepth);
0 < ReactSharedInternals.thrownErrors.length ? (error52 = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(error52)) : reject(error52);
});
}
};
}
var returnValue$jscomp$0 = result;
popActScope(prevActQueue, prevActScopeDepth);
prevActScopeDepth === 0 && (flushActQueue(queue), queue.length !== 0 && queueSeveralMicrotasks(function() {
didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"));
}), ReactSharedInternals.actQueue = null);
if (0 < ReactSharedInternals.thrownErrors.length)
throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
return {
then: function(resolve9, reject) {
didAwaitActCall = true;
prevActScopeDepth === 0 ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
return recursivelyFlushAsyncActWork(returnValue$jscomp$0, resolve9, reject);
})) : resolve9(returnValue$jscomp$0);
}
};
};
exports.cache = function(fn) {
return function() {
return fn.apply(null, arguments);
};
};
exports.cacheSignal = function() {
return null;
};
exports.captureOwnerStack = function() {
var getCurrentStack = ReactSharedInternals.getCurrentStack;
return getCurrentStack === null ? null : getCurrentStack();
};
exports.cloneElement = function(element, config2, children2) {
if (element === null || element === undefined)
throw Error("The argument must be a React element, but you passed " + element + ".");
var props = assign({}, element.props), key = element.key, owner = element._owner;
if (config2 != null) {
var JSCompiler_inline_result;
a: {
if (hasOwnProperty15.call(config2, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(config2, "ref").get) && JSCompiler_inline_result.isReactWarning) {
JSCompiler_inline_result = false;
break a;
}
JSCompiler_inline_result = config2.ref !== undefined;
}
JSCompiler_inline_result && (owner = getOwner());
hasValidKey(config2) && (checkKeyStringCoercion(config2.key), key = "" + config2.key);
for (propName in config2)
!hasOwnProperty15.call(config2, propName) || propName === "key" || propName === "__self" || propName === "__source" || propName === "ref" && config2.ref === undefined || (props[propName] = config2[propName]);
}
var propName = arguments.length - 2;
if (propName === 1)
props.children = children2;
else if (1 < propName) {
JSCompiler_inline_result = Array(propName);
for (var i3 = 0;i3 < propName; i3++)
JSCompiler_inline_result[i3] = arguments[i3 + 2];
props.children = JSCompiler_inline_result;
}
props = ReactElement(element.type, key, props, owner, element._debugStack, element._debugTask);
for (key = 2;key < arguments.length; key++)
validateChildKeys(arguments[key]);
return props;
};
exports.createContext = function(defaultValue) {
defaultValue = {
$$typeof: REACT_CONTEXT_TYPE,
_currentValue: defaultValue,
_currentValue2: defaultValue,
_threadCount: 0,
Provider: null,
Consumer: null
};
defaultValue.Provider = defaultValue;
defaultValue.Consumer = {
$$typeof: REACT_CONSUMER_TYPE,
_context: defaultValue
};
defaultValue._currentRenderer = null;
defaultValue._currentRenderer2 = null;
return defaultValue;
};
exports.createElement = function(type, config2, children2) {
for (var i3 = 2;i3 < arguments.length; i3++)
validateChildKeys(arguments[i3]);
i3 = {};
var key = null;
if (config2 != null)
for (propName in didWarnAboutOldJSXRuntime || !("__self" in config2) || "key" in config2 || (didWarnAboutOldJSXRuntime = true, console.warn("Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform")), hasValidKey(config2) && (checkKeyStringCoercion(config2.key), key = "" + config2.key), config2)
hasOwnProperty15.call(config2, propName) && propName !== "key" && propName !== "__self" && propName !== "__source" && (i3[propName] = config2[propName]);
var childrenLength = arguments.length - 2;
if (childrenLength === 1)
i3.children = children2;
else if (1 < childrenLength) {
for (var childArray = Array(childrenLength), _i = 0;_i < childrenLength; _i++)
childArray[_i] = arguments[_i + 2];
Object.freeze && Object.freeze(childArray);
i3.children = childArray;
}
if (type && type.defaultProps)
for (propName in childrenLength = type.defaultProps, childrenLength)
i3[propName] === undefined && (i3[propName] = childrenLength[propName]);
key && defineKeyPropWarningGetter(i3, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
return ReactElement(type, key, i3, getOwner(), propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
};
exports.createRef = function() {
var refObject = { current: null };
Object.seal(refObject);
return refObject;
};
exports.forwardRef = function(render) {
render != null && render.$$typeof === REACT_MEMO_TYPE ? console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof render !== "function" ? console.error("forwardRef requires a render function but was given %s.", render === null ? "null" : typeof render) : render.length !== 0 && render.length !== 2 && console.error("forwardRef render functions accept exactly two parameters: props and ref. %s", render.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined.");
render != null && render.defaultProps != null && console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");
var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName;
Object.defineProperty(elementType, "displayName", {
enumerable: false,
configurable: true,
get: function() {
return ownName;
},
set: function(name3) {
ownName = name3;
render.name || render.displayName || (Object.defineProperty(render, "name", { value: name3 }), render.displayName = name3);
}
});
return elementType;
};
exports.isValidElement = isValidElement;
exports.lazy = function(ctor) {
ctor = { _status: -1, _result: ctor };
var lazyType = {
$$typeof: REACT_LAZY_TYPE,
_payload: ctor,
_init: lazyInitializer
}, ioInfo = {
name: "lazy",
start: -1,
end: -1,
value: null,
owner: null,
debugStack: Error("react-stack-top-frame"),
debugTask: console.createTask ? console.createTask("lazy()") : null
};
ctor._ioInfo = ioInfo;
lazyType._debugInfo = [{ awaited: ioInfo }];
return lazyType;
};
exports.memo = function(type, compare) {
type == null && console.error("memo: The first argument must be a component. Instead received: %s", type === null ? "null" : typeof type);
compare = {
$$typeof: REACT_MEMO_TYPE,
type,
compare: compare === undefined ? null : compare
};
var ownName;
Object.defineProperty(compare, "displayName", {
enumerable: false,
configurable: true,
get: function() {
return ownName;
},
set: function(name3) {
ownName = name3;
type.name || type.displayName || (Object.defineProperty(type, "name", { value: name3 }), type.displayName = name3);
}
});
return compare;
};
exports.startTransition = function(scope) {
var prevTransition = ReactSharedInternals.T, currentTransition = {};
currentTransition._updatedFibers = new Set;
ReactSharedInternals.T = currentTransition;
try {
var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
onStartTransitionFinish !== null && onStartTransitionFinish(currentTransition, returnValue);
typeof returnValue === "object" && returnValue !== null && typeof returnValue.then === "function" && (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(noop9, reportGlobalError));
} catch (error52) {
reportGlobalError(error52);
} finally {
prevTransition === null && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.")), prevTransition !== null && currentTransition.types !== null && (prevTransition.types !== null && prevTransition.types !== currentTransition.types && console.error("We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;
}
};
exports.unstable_useCacheRefresh = function() {
return resolveDispatcher().useCacheRefresh();
};
exports.use = function(usable) {
return resolveDispatcher().use(usable);
};
exports.useActionState = function(action, initialState, permalink) {
return resolveDispatcher().useActionState(action, initialState, permalink);
};
exports.useCallback = function(callback, deps) {
return resolveDispatcher().useCallback(callback, deps);
};
exports.useContext = function(Context) {
var dispatcher = resolveDispatcher();
Context.$$typeof === REACT_CONSUMER_TYPE && console.error("Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?");
return dispatcher.useContext(Context);
};
exports.useDebugValue = function(value, formatterFn) {
return resolveDispatcher().useDebugValue(value, formatterFn);
};
exports.useDeferredValue = function(value, initialValue) {
return resolveDispatcher().useDeferredValue(value, initialValue);
};
exports.useEffect = function(create, deps) {
create == null && console.warn("React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?");
return resolveDispatcher().useEffect(create, deps);
};
exports.useEffectEvent = function(callback) {
return resolveDispatcher().useEffectEvent(callback);
};
exports.useId = function() {
return resolveDispatcher().useId();
};
exports.useImperativeHandle = function(ref, create, deps) {
return resolveDispatcher().useImperativeHandle(ref, create, deps);
};
exports.useInsertionEffect = function(create, deps) {
create == null && console.warn("React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?");
return resolveDispatcher().useInsertionEffect(create, deps);
};
exports.useLayoutEffect = function(create, deps) {
create == null && console.warn("React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?");
return resolveDispatcher().useLayoutEffect(create, deps);
};
exports.useMemo = function(create, deps) {
return resolveDispatcher().useMemo(create, deps);
};
exports.useOptimistic = function(passthrough, reducer) {
return resolveDispatcher().useOptimistic(passthrough, reducer);
};
exports.useReducer = function(reducer, initialArg, init) {
return resolveDispatcher().useReducer(reducer, initialArg, init);
};
exports.useRef = function(initialValue) {
return resolveDispatcher().useRef(initialValue);
};
exports.useState = function(initialState) {
return resolveDispatcher().useState(initialState);
};
exports.useSyncExternalStore = function(subscribe2, getSnapshot, getServerSnapshot) {
return resolveDispatcher().useSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
};
exports.useTransition = function() {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.4";
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
})();
});
// node_modules/.pnpm/react@19.2.4/node_modules/react/index.js
var require_react = __commonJS((exports, module) => {
var react_development = __toESM(require_react_development());
if (false) {} else {
module.exports = react_development;
}
});
// node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-compiler-runtime.development.js
var require_react_compiler_runtime_development = __commonJS((exports) => {
var react = __toESM(require_react());
(function() {
var ReactSharedInternals = react.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
exports.c = function(size) {
var dispatcher = ReactSharedInternals.H;
dispatcher === null && console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`);
return dispatcher.useMemoCache(size);
};
})();
});
// node_modules/.pnpm/react@19.2.4/node_modules/react/compiler-runtime.js
var require_compiler_runtime = __commonJS((exports, module) => {
var react_compiler_runtime_development = __toESM(require_react_compiler_runtime_development());
if (false) {} else {
module.exports = react_compiler_runtime_development;
}
});
// src/ink/events/event.ts
class Event2 {
_didStopImmediatePropagation = false;
didStopImmediatePropagation() {
return this._didStopImmediatePropagation;
}
stopImmediatePropagation() {
this._didStopImmediatePropagation = true;
}
}
// src/ink/events/emitter.ts
import { EventEmitter as NodeEventEmitter } from "events";
var EventEmitter3;
var init_emitter = __esm(() => {
EventEmitter3 = class EventEmitter3 extends NodeEventEmitter {
constructor() {
super();
this.setMaxListeners(0);
}
emit(type, ...args) {
if (type === "error") {
return super.emit(type, ...args);
}
const listeners = this.rawListeners(type);
if (listeners.length === 0) {
return false;
}
const ccEvent = args[0] instanceof Event2 ? args[0] : null;
for (const listener of listeners) {
listener.apply(this, args);
if (ccEvent?.didStopImmediatePropagation()) {
break;
}
}
return true;
}
};
});
// src/ink/components/StdinContext.ts
var import_react, StdinContext, StdinContext_default;
var init_StdinContext = __esm(() => {
init_emitter();
import_react = __toESM(require_react(), 1);
StdinContext = import_react.createContext({
stdin: process.stdin,
internal_eventEmitter: new EventEmitter3,
setRawMode() {},
isRawModeSupported: false,
internal_exitOnCtrlC: true,
internal_querier: null
});
StdinContext.displayName = "InternalStdinContext";
StdinContext_default = StdinContext;
});
// src/ink/hooks/use-stdin.ts
var import_react2, useStdin = () => import_react2.useContext(StdinContext_default), use_stdin_default;
var init_use_stdin = __esm(() => {
init_StdinContext();
import_react2 = __toESM(require_react(), 1);
use_stdin_default = useStdin;
});
// src/utils/systemTheme.ts
function getSystemThemeName() {
if (cachedSystemTheme === undefined) {
cachedSystemTheme = detectFromColorFgBg() ?? "dark";
}
return cachedSystemTheme;
}
function resolveThemeSetting(setting) {
if (setting === "auto") {
return getSystemThemeName();
}
return setting;
}
function detectFromColorFgBg() {
const colorfgbg = process.env["COLORFGBG"];
if (!colorfgbg)
return;
const parts = colorfgbg.split(";");
const bg = parts[parts.length - 1];
if (bg === undefined || bg === "")
return;
const bgNum = Number(bg);
if (!Number.isInteger(bgNum) || bgNum < 0 || bgNum > 15)
return;
return bgNum <= 6 || bgNum === 8 ? "dark" : "light";
}
var cachedSystemTheme;
// node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-jsx-dev-runtime.development.js
var require_react_jsx_dev_runtime_development = __commonJS((exports) => {
var React = __toESM(require_react());
(function() {
function getComponentNameFromType(type) {
if (type == null)
return null;
if (typeof type === "function")
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
if (typeof type === "string")
return type;
switch (type) {
case REACT_FRAGMENT_TYPE:
return "Fragment";
case REACT_PROFILER_TYPE:
return "Profiler";
case REACT_STRICT_MODE_TYPE:
return "StrictMode";
case REACT_SUSPENSE_TYPE:
return "Suspense";
case REACT_SUSPENSE_LIST_TYPE:
return "SuspenseList";
case REACT_ACTIVITY_TYPE:
return "Activity";
}
if (typeof type === "object")
switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
case REACT_PORTAL_TYPE:
return "Portal";
case REACT_CONTEXT_TYPE:
return type.displayName || "Context";
case REACT_CONSUMER_TYPE:
return (type._context.displayName || "Context") + ".Consumer";
case REACT_FORWARD_REF_TYPE:
var innerType = type.render;
type = type.displayName;
type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
return type;
case REACT_MEMO_TYPE:
return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
case REACT_LAZY_TYPE:
innerType = type._payload;
type = type._init;
try {
return getComponentNameFromType(type(innerType));
} catch (x4) {}
}
return null;
}
function testStringCoercion(value) {
return "" + value;
}
function checkKeyStringCoercion(value) {
try {
testStringCoercion(value);
var JSCompiler_inline_result = false;
} catch (e2) {
JSCompiler_inline_result = true;
}
if (JSCompiler_inline_result) {
JSCompiler_inline_result = console;
var JSCompiler_temp_const = JSCompiler_inline_result.error;
var JSCompiler_inline_result$jscomp$0 = typeof Symbol === "function" && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
return testStringCoercion(value);
}
}
function getTaskName(type) {
if (type === REACT_FRAGMENT_TYPE)
return "<>";
if (typeof type === "object" && type !== null && type.$$typeof === REACT_LAZY_TYPE)
return "<...>";
try {
var name3 = getComponentNameFromType(type);
return name3 ? "<" + name3 + ">" : "<...>";
} catch (x4) {
return "<...>";
}
}
function getOwner() {
var dispatcher = ReactSharedInternals.A;
return dispatcher === null ? null : dispatcher.getOwner();
}
function UnknownOwner() {
return Error("react-stack-top-frame");
}
function hasValidKey(config2) {
if (hasOwnProperty15.call(config2, "key")) {
var getter = Object.getOwnPropertyDescriptor(config2, "key").get;
if (getter && getter.isReactWarning)
return false;
}
return config2.key !== undefined;
}
function defineKeyPropWarningGetter(props, displayName) {
function warnAboutAccessingKey() {
specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
}
warnAboutAccessingKey.isReactWarning = true;
Object.defineProperty(props, "key", {
get: warnAboutAccessingKey,
configurable: true
});
}
function elementRefGetterWithDeprecationWarning() {
var componentName = getComponentNameFromType(this.type);
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
componentName = this.props.ref;
return componentName !== undefined ? componentName : null;
}
function ReactElement(type, key, props, owner, debugStack, debugTask) {
var refProp = props.ref;
type = {
$$typeof: REACT_ELEMENT_TYPE,
type,
key,
props,
_owner: owner
};
(refProp !== undefined ? refProp : null) !== null ? Object.defineProperty(type, "ref", {
enumerable: false,
get: elementRefGetterWithDeprecationWarning
}) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
type._store = {};
Object.defineProperty(type._store, "validated", {
configurable: false,
enumerable: false,
writable: true,
value: 0
});
Object.defineProperty(type, "_debugInfo", {
configurable: false,
enumerable: false,
writable: true,
value: null
});
Object.defineProperty(type, "_debugStack", {
configurable: false,
enumerable: false,
writable: true,
value: debugStack
});
Object.defineProperty(type, "_debugTask", {
configurable: false,
enumerable: false,
writable: true,
value: debugTask
});
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
return type;
}
function jsxDEVImpl(type, config2, maybeKey, isStaticChildren, debugStack, debugTask) {
var children2 = config2.children;
if (children2 !== undefined)
if (isStaticChildren)
if (isArrayImpl(children2)) {
for (isStaticChildren = 0;isStaticChildren < children2.length; isStaticChildren++)
validateChildKeys(children2[isStaticChildren]);
Object.freeze && Object.freeze(children2);
} else
console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
else
validateChildKeys(children2);
if (hasOwnProperty15.call(config2, "key")) {
children2 = getComponentNameFromType(type);
var keys2 = Object.keys(config2).filter(function(k2) {
return k2 !== "key";
});
isStaticChildren = 0 < keys2.length ? "{key: someKey, " + keys2.join(": ..., ") + ": ...}" : "{key: someKey}";
didWarnAboutKeySpread[children2 + isStaticChildren] || (keys2 = 0 < keys2.length ? "{" + keys2.join(": ..., ") + ": ...}" : "{}", console.error(`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`, isStaticChildren, children2, keys2, children2), didWarnAboutKeySpread[children2 + isStaticChildren] = true);
}
children2 = null;
maybeKey !== undefined && (checkKeyStringCoercion(maybeKey), children2 = "" + maybeKey);
hasValidKey(config2) && (checkKeyStringCoercion(config2.key), children2 = "" + config2.key);
if ("key" in config2) {
maybeKey = {};
for (var propName in config2)
propName !== "key" && (maybeKey[propName] = config2[propName]);
} else
maybeKey = config2;
children2 && defineKeyPropWarningGetter(maybeKey, typeof type === "function" ? type.displayName || type.name || "Unknown" : type);
return ReactElement(type, children2, maybeKey, getOwner(), debugStack, debugTask);
}
function validateChildKeys(node) {
isValidElement(node) ? node._store && (node._store.validated = 1) : typeof node === "object" && node !== null && node.$$typeof === REACT_LAZY_TYPE && (node._payload.status === "fulfilled" ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
}
function isValidElement(object2) {
return typeof object2 === "object" && object2 !== null && object2.$$typeof === REACT_ELEMENT_TYPE;
}
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty15 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
return null;
};
React = {
react_stack_bottom_frame: function(callStackForError) {
return callStackForError();
}
};
var specialPropKeyWarningShown;
var didWarnAboutElementRef = {};
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
var didWarnAboutKeySpread = {};
exports.Fragment = REACT_FRAGMENT_TYPE;
exports.jsxDEV = function(type, config2, maybeKey, isStaticChildren) {
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
return jsxDEVImpl(type, config2, maybeKey, isStaticChildren, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
};
})();
});
// node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-dev-runtime.js
var require_jsx_dev_runtime = __commonJS((exports, module) => {
var react_jsx_dev_runtime_development = __toESM(require_react_jsx_dev_runtime_development());
if (false) {} else {
module.exports = react_jsx_dev_runtime_development;
}
});
// src/components/design-system/ThemeProvider.tsx
function defaultInitialTheme() {
return getGlobalConfig().theme;
}
function defaultSaveTheme(setting) {
saveGlobalConfig((current) => ({
...current,
theme: setting
}));
}
function ThemeProvider({
children: children2,
initialState,
onThemeSave = defaultSaveTheme
}) {
const [themeSetting, setThemeSetting] = import_react3.useState(initialState ?? defaultInitialTheme);
const [previewTheme, setPreviewTheme] = import_react3.useState(null);
const [systemTheme, setSystemTheme] = import_react3.useState(() => (initialState ?? themeSetting) === "auto" ? getSystemThemeName() : "dark");
const activeSetting = previewTheme ?? themeSetting;
const {
internal_querier
} = use_stdin_default();
import_react3.useEffect(() => {
if (false) {}
}, [activeSetting, internal_querier]);
const currentTheme = activeSetting === "auto" ? systemTheme : activeSetting;
const value = import_react3.useMemo(() => ({
themeSetting,
setThemeSetting: (newSetting) => {
setThemeSetting(newSetting);
setPreviewTheme(null);
if (newSetting === "auto") {
setSystemTheme(getSystemThemeName());
}
onThemeSave?.(newSetting);
},
setPreviewTheme: (newSetting_0) => {
setPreviewTheme(newSetting_0);
if (newSetting_0 === "auto") {
setSystemTheme(getSystemThemeName());
}
},
savePreview: () => {
if (previewTheme !== null) {
setThemeSetting(previewTheme);
setPreviewTheme(null);
onThemeSave?.(previewTheme);
}
},
cancelPreview: () => {
if (previewTheme !== null) {
setPreviewTheme(null);
}
},
currentTheme
}), [themeSetting, previewTheme, currentTheme, onThemeSave]);
return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(ThemeContext.Provider, {
value,
children: children2
}, undefined, false, undefined, this);
}
function useTheme() {
const $3 = import_compiler_runtime.c(3);
const {
currentTheme,
setThemeSetting
} = import_react3.useContext(ThemeContext);
let t0;
if ($3[0] !== currentTheme || $3[1] !== setThemeSetting) {
t0 = [currentTheme, setThemeSetting];
$3[0] = currentTheme;
$3[1] = setThemeSetting;
$3[2] = t0;
} else {
t0 = $3[2];
}
return t0;
}
function useThemeSetting() {
return import_react3.useContext(ThemeContext).themeSetting;
}
function usePreviewTheme() {
const $3 = import_compiler_runtime.c(4);
const {
setPreviewTheme,
savePreview,
cancelPreview
} = import_react3.useContext(ThemeContext);
let t0;
if ($3[0] !== cancelPreview || $3[1] !== savePreview || $3[2] !== setPreviewTheme) {
t0 = {
setPreviewTheme,
savePreview,
cancelPreview
};
$3[0] = cancelPreview;
$3[1] = savePreview;
$3[2] = setPreviewTheme;
$3[3] = t0;
} else {
t0 = $3[3];
}
return t0;
}
var import_compiler_runtime, import_react3, jsx_dev_runtime, DEFAULT_THEME = "dark", ThemeContext;
var init_ThemeProvider = __esm(() => {
init_use_stdin();
init_config();
import_compiler_runtime = __toESM(require_compiler_runtime(), 1);
import_react3 = __toESM(require_react(), 1);
jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
ThemeContext = import_react3.createContext({
themeSetting: DEFAULT_THEME,
setThemeSetting: () => {},
setPreviewTheme: () => {},
savePreview: () => {},
cancelPreview: () => {},
currentTheme: DEFAULT_THEME
});
});
// node_modules/.pnpm/auto-bind@5.0.1/node_modules/auto-bind/index.js
function autoBind(self2, { include, exclude } = {}) {
const filter2 = (key) => {
const match = (pattern) => typeof pattern === "string" ? key === pattern : pattern.test(key);
if (include) {
return include.some(match);
}
if (exclude) {
return !exclude.some(match);
}
return true;
};
for (const [object2, key] of getAllProperties(self2.constructor.prototype)) {
if (key === "constructor" || !filter2(key)) {
continue;
}
const descriptor = Reflect.getOwnPropertyDescriptor(object2, key);
if (descriptor && typeof descriptor.value === "function") {
self2[key] = self2[key].bind(self2);
}
}
return self2;
}
var getAllProperties = (object2) => {
const properties = new Set;
do {
for (const key of Reflect.ownKeys(object2)) {
properties.add([object2, key]);
}
} while ((object2 = Reflect.getPrototypeOf(object2)) && object2 !== Object.prototype);
return properties;
};
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/now.js
var now = function() {
return _root_default.Date.now();
}, now_default;
var init_now = __esm(() => {
init__root();
now_default = now;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_trimmedEndIndex.js
function trimmedEndIndex(string4) {
var index = string4.length;
while (index-- && reWhitespace.test(string4.charAt(index))) {}
return index;
}
var reWhitespace, _trimmedEndIndex_default;
var init__trimmedEndIndex = __esm(() => {
reWhitespace = /\s/;
_trimmedEndIndex_default = trimmedEndIndex;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseTrim.js
function baseTrim(string4) {
return string4 ? string4.slice(0, _trimmedEndIndex_default(string4) + 1).replace(reTrimStart, "") : string4;
}
var reTrimStart, _baseTrim_default;
var init__baseTrim = __esm(() => {
init__trimmedEndIndex();
reTrimStart = /^\s+/;
_baseTrim_default = baseTrim;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/toNumber.js
function toNumber(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol_default(value)) {
return NAN;
}
if (isObject_default(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject_default(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = _baseTrim_default(value);
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
var NAN, reIsBadHex, reIsBinary, reIsOctal, freeParseInt, toNumber_default;
var init_toNumber = __esm(() => {
init__baseTrim();
init_isObject();
init_isSymbol();
NAN = 0 / 0;
reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
reIsBinary = /^0b[01]+$/i;
reIsOctal = /^0o[0-7]+$/i;
freeParseInt = parseInt;
toNumber_default = toNumber;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/debounce.js
function debounce(func, wait, options) {
var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT2);
}
wait = toNumber_default(wait) || 0;
if (isObject_default(options)) {
leading = !!options.leading;
maxing = "maxWait" in options;
maxWait = maxing ? nativeMax2(toNumber_default(options.maxWait) || 0, wait) : maxWait;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
function invokeFunc(time3) {
var args = lastArgs, thisArg = lastThis;
lastArgs = lastThis = undefined;
lastInvokeTime = time3;
result = func.apply(thisArg, args);
return result;
}
function leadingEdge(time3) {
lastInvokeTime = time3;
timerId = setTimeout(timerExpired, wait);
return leading ? invokeFunc(time3) : result;
}
function remainingWait(time3) {
var timeSinceLastCall = time3 - lastCallTime, timeSinceLastInvoke = time3 - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
}
function shouldInvoke(time3) {
var timeSinceLastCall = time3 - lastCallTime, timeSinceLastInvoke = time3 - lastInvokeTime;
return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
}
function timerExpired() {
var time3 = now_default();
if (shouldInvoke(time3)) {
return trailingEdge(time3);
}
timerId = setTimeout(timerExpired, remainingWait(time3));
}
function trailingEdge(time3) {
timerId = undefined;
if (trailing && lastArgs) {
return invokeFunc(time3);
}
lastArgs = lastThis = undefined;
return result;
}
function cancel() {
if (timerId !== undefined) {
clearTimeout(timerId);
}
lastInvokeTime = 0;
lastArgs = lastCallTime = lastThis = timerId = undefined;
}
function flush() {
return timerId === undefined ? result : trailingEdge(now_default());
}
function debounced() {
var time3 = now_default(), isInvoking = shouldInvoke(time3);
lastArgs = arguments;
lastThis = this;
lastCallTime = time3;
if (isInvoking) {
if (timerId === undefined) {
return leadingEdge(lastCallTime);
}
if (maxing) {
clearTimeout(timerId);
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
}
if (timerId === undefined) {
timerId = setTimeout(timerExpired, wait);
}
return result;
}
debounced.cancel = cancel;
debounced.flush = flush;
return debounced;
}
var FUNC_ERROR_TEXT2 = "Expected a function", nativeMax2, nativeMin, debounce_default;
var init_debounce = __esm(() => {
init_isObject();
init_now();
init_toNumber();
nativeMax2 = Math.max;
nativeMin = Math.min;
debounce_default = debounce;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/throttle.js
function throttle2(func, wait, options) {
var leading = true, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT3);
}
if (isObject_default(options)) {
leading = "leading" in options ? !!options.leading : leading;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
return debounce_default(func, wait, {
leading,
maxWait: wait,
trailing
});
}
var FUNC_ERROR_TEXT3 = "Expected a function", throttle_default2;
var init_throttle2 = __esm(() => {
init_debounce();
init_isObject();
throttle_default2 = throttle2;
});
// node_modules/.pnpm/react-reconciler@0.33.0_react@19.2.4/node_modules/react-reconciler/cjs/react-reconciler-constants.development.js
var require_react_reconciler_constants_development = __commonJS((exports) => {
exports.ConcurrentRoot = 1, exports.ContinuousEventPriority = 8, exports.DefaultEventPriority = 32, exports.DiscreteEventPriority = 2, exports.IdleEventPriority = 268435456, exports.LegacyRoot = 0, exports.NoEventPriority = 0;
});
// node_modules/.pnpm/react-reconciler@0.33.0_react@19.2.4/node_modules/react-reconciler/constants.js
var require_constants10 = __commonJS((exports, module) => {
if (false) {} else {
module.exports = require_react_reconciler_constants_development();
}
});
// src/native-ts/yoga-layout/enums.ts
var Align, Direction, Display, Edge, Errata, FlexDirection, Gutter, Justify, MeasureMode, Overflow, PositionType, Unit, Wrap;
var init_enums = __esm(() => {
Align = {
Auto: 0,
FlexStart: 1,
Center: 2,
FlexEnd: 3,
Stretch: 4,
Baseline: 5,
SpaceBetween: 6,
SpaceAround: 7,
SpaceEvenly: 8
};
Direction = {
Inherit: 0,
LTR: 1,
RTL: 2
};
Display = {
Flex: 0,
None: 1,
Contents: 2
};
Edge = {
Left: 0,
Top: 1,
Right: 2,
Bottom: 3,
Start: 4,
End: 5,
Horizontal: 6,
Vertical: 7,
All: 8
};
Errata = {
None: 0,
StretchFlexBasis: 1,
AbsolutePositionWithoutInsetsExcludesPadding: 2,
AbsolutePercentAgainstInnerSize: 4,
All: 2147483647,
Classic: 2147483646
};
FlexDirection = {
Column: 0,
ColumnReverse: 1,
Row: 2,
RowReverse: 3
};
Gutter = {
Column: 0,
Row: 1,
All: 2
};
Justify = {
FlexStart: 0,
Center: 1,
FlexEnd: 2,
SpaceBetween: 3,
SpaceAround: 4,
SpaceEvenly: 5
};
MeasureMode = {
Undefined: 0,
Exactly: 1,
AtMost: 2
};
Overflow = {
Visible: 0,
Hidden: 1,
Scroll: 2
};
PositionType = {
Static: 0,
Relative: 1,
Absolute: 2
};
Unit = {
Undefined: 0,
Point: 1,
Percent: 2,
Auto: 3
};
Wrap = {
NoWrap: 0,
Wrap: 1,
WrapReverse: 2
};
});
// src/native-ts/yoga-layout/index.ts
function pointValue(v2) {
return { unit: Unit.Point, value: v2 };
}
function percentValue(v2) {
return { unit: Unit.Percent, value: v2 };
}
function resolveValue(v2, ownerSize) {
switch (v2.unit) {
case Unit.Point:
return v2.value;
case Unit.Percent:
return isNaN(ownerSize) ? NaN : v2.value * ownerSize / 100;
default:
return NaN;
}
}
function isDefined(n2) {
return !isNaN(n2);
}
function sameFloat(a2, b2) {
return a2 === b2 || a2 !== a2 && b2 !== b2;
}
function defaultStyle() {
return {
direction: Direction.Inherit,
flexDirection: FlexDirection.Column,
justifyContent: Justify.FlexStart,
alignItems: Align.Stretch,
alignSelf: Align.Auto,
alignContent: Align.FlexStart,
flexWrap: Wrap.NoWrap,
overflow: Overflow.Visible,
display: Display.Flex,
positionType: PositionType.Relative,
flexGrow: 0,
flexShrink: 0,
flexBasis: AUTO_VALUE,
margin: new Array(9).fill(UNDEFINED_VALUE),
padding: new Array(9).fill(UNDEFINED_VALUE),
border: new Array(9).fill(UNDEFINED_VALUE),
position: new Array(9).fill(UNDEFINED_VALUE),
gap: new Array(3).fill(UNDEFINED_VALUE),
width: AUTO_VALUE,
height: AUTO_VALUE,
minWidth: UNDEFINED_VALUE,
minHeight: UNDEFINED_VALUE,
maxWidth: UNDEFINED_VALUE,
maxHeight: UNDEFINED_VALUE
};
}
function resolveEdge(edges, physicalEdge, ownerSize, allowAuto = false) {
let v2 = edges[physicalEdge];
if (v2.unit === Unit.Undefined) {
if (physicalEdge === EDGE_LEFT || physicalEdge === EDGE_RIGHT) {
v2 = edges[Edge.Horizontal];
} else {
v2 = edges[Edge.Vertical];
}
}
if (v2.unit === Unit.Undefined) {
v2 = edges[Edge.All];
}
if (v2.unit === Unit.Undefined) {
if (physicalEdge === EDGE_LEFT)
v2 = edges[Edge.Start];
if (physicalEdge === EDGE_RIGHT)
v2 = edges[Edge.End];
}
if (v2.unit === Unit.Undefined)
return 0;
if (v2.unit === Unit.Auto)
return allowAuto ? NaN : 0;
return resolveValue(v2, ownerSize);
}
function resolveEdgeRaw(edges, physicalEdge) {
let v2 = edges[physicalEdge];
if (v2.unit === Unit.Undefined) {
if (physicalEdge === EDGE_LEFT || physicalEdge === EDGE_RIGHT) {
v2 = edges[Edge.Horizontal];
} else {
v2 = edges[Edge.Vertical];
}
}
if (v2.unit === Unit.Undefined)
v2 = edges[Edge.All];
if (v2.unit === Unit.Undefined) {
if (physicalEdge === EDGE_LEFT)
v2 = edges[Edge.Start];
if (physicalEdge === EDGE_RIGHT)
v2 = edges[Edge.End];
}
return v2;
}
function isMarginAuto(edges, physicalEdge) {
return resolveEdgeRaw(edges, physicalEdge).unit === Unit.Auto;
}
function hasAnyAutoEdge(edges) {
for (let i3 = 0;i3 < 9; i3++)
if (edges[i3].unit === 3)
return true;
return false;
}
function hasAnyDefinedEdge(edges) {
for (let i3 = 0;i3 < 9; i3++)
if (edges[i3].unit !== 0)
return true;
return false;
}
function resolveEdges4Into(edges, ownerSize, out) {
const eH = edges[6];
const eV = edges[7];
const eA = edges[8];
const eS = edges[4];
const eE = edges[5];
const pctDenom = isNaN(ownerSize) ? NaN : ownerSize / 100;
let v2 = edges[0];
if (v2.unit === 0)
v2 = eH;
if (v2.unit === 0)
v2 = eA;
if (v2.unit === 0)
v2 = eS;
out[0] = v2.unit === 1 ? v2.value : v2.unit === 2 ? v2.value * pctDenom : 0;
v2 = edges[1];
if (v2.unit === 0)
v2 = eV;
if (v2.unit === 0)
v2 = eA;
out[1] = v2.unit === 1 ? v2.value : v2.unit === 2 ? v2.value * pctDenom : 0;
v2 = edges[2];
if (v2.unit === 0)
v2 = eH;
if (v2.unit === 0)
v2 = eA;
if (v2.unit === 0)
v2 = eE;
out[2] = v2.unit === 1 ? v2.value : v2.unit === 2 ? v2.value * pctDenom : 0;
v2 = edges[3];
if (v2.unit === 0)
v2 = eV;
if (v2.unit === 0)
v2 = eA;
out[3] = v2.unit === 1 ? v2.value : v2.unit === 2 ? v2.value * pctDenom : 0;
}
function isRow(dir) {
return dir === FlexDirection.Row || dir === FlexDirection.RowReverse;
}
function isReverse(dir) {
return dir === FlexDirection.RowReverse || dir === FlexDirection.ColumnReverse;
}
function crossAxis(dir) {
return isRow(dir) ? FlexDirection.Column : FlexDirection.Row;
}
function leadingEdge(dir) {
switch (dir) {
case FlexDirection.Row:
return EDGE_LEFT;
case FlexDirection.RowReverse:
return EDGE_RIGHT;
case FlexDirection.Column:
return EDGE_TOP;
case FlexDirection.ColumnReverse:
return EDGE_BOTTOM;
}
}
function trailingEdge(dir) {
switch (dir) {
case FlexDirection.Row:
return EDGE_RIGHT;
case FlexDirection.RowReverse:
return EDGE_LEFT;
case FlexDirection.Column:
return EDGE_BOTTOM;
case FlexDirection.ColumnReverse:
return EDGE_TOP;
}
}
function createConfig() {
const config2 = {
pointScaleFactor: 1,
errata: Errata.None,
useWebDefaults: false,
free() {},
isExperimentalFeatureEnabled() {
return false;
},
setExperimentalFeatureEnabled() {},
setPointScaleFactor(f3) {
config2.pointScaleFactor = f3;
},
getErrata() {
return config2.errata;
},
setErrata(e2) {
config2.errata = e2;
},
setUseWebDefaults(v2) {
config2.useWebDefaults = v2;
}
};
return config2;
}
class Node {
style;
layout;
parent;
children;
measureFunc;
config;
isDirty_;
isReferenceBaseline_;
_flexBasis = 0;
_mainSize = 0;
_crossSize = 0;
_lineIndex = 0;
_hasAutoMargin = false;
_hasPosition = false;
_hasPadding = false;
_hasBorder = false;
_hasMargin = false;
_lW = NaN;
_lH = NaN;
_lWM = 0;
_lHM = 0;
_lOW = NaN;
_lOH = NaN;
_lFW = false;
_lFH = false;
_lOutW = NaN;
_lOutH = NaN;
_hasL = false;
_mW = NaN;
_mH = NaN;
_mWM = 0;
_mHM = 0;
_mOW = NaN;
_mOH = NaN;
_mOutW = NaN;
_mOutH = NaN;
_hasM = false;
_fbBasis = NaN;
_fbOwnerW = NaN;
_fbOwnerH = NaN;
_fbAvailMain = NaN;
_fbAvailCross = NaN;
_fbCrossMode = 0;
_fbGen = -1;
_cIn = null;
_cOut = null;
_cGen = -1;
_cN = 0;
_cWr = 0;
constructor(config2) {
this.style = defaultStyle();
this.layout = {
left: 0,
top: 0,
width: 0,
height: 0,
border: [0, 0, 0, 0],
padding: [0, 0, 0, 0],
margin: [0, 0, 0, 0]
};
this.parent = null;
this.children = [];
this.measureFunc = null;
this.config = config2 ?? DEFAULT_CONFIG;
this.isDirty_ = true;
this.isReferenceBaseline_ = false;
_yogaLiveNodes++;
}
insertChild(child, index) {
child.parent = this;
this.children.splice(index, 0, child);
this.markDirty();
}
removeChild(child) {
const idx = this.children.indexOf(child);
if (idx >= 0) {
this.children.splice(idx, 1);
child.parent = null;
this.markDirty();
}
}
getChild(index) {
return this.children[index];
}
getChildCount() {
return this.children.length;
}
getParent() {
return this.parent;
}
free() {
this.parent = null;
this.children = [];
this.measureFunc = null;
this._cIn = null;
this._cOut = null;
_yogaLiveNodes--;
}
freeRecursive() {
for (const c5 of this.children)
c5.freeRecursive();
this.free();
}
reset() {
this.style = defaultStyle();
this.children = [];
this.parent = null;
this.measureFunc = null;
this.isDirty_ = true;
this._hasAutoMargin = false;
this._hasPosition = false;
this._hasPadding = false;
this._hasBorder = false;
this._hasMargin = false;
this._hasL = false;
this._hasM = false;
this._cN = 0;
this._cWr = 0;
this._fbBasis = NaN;
}
markDirty() {
this.isDirty_ = true;
if (this.parent && !this.parent.isDirty_)
this.parent.markDirty();
}
isDirty() {
return this.isDirty_;
}
hasNewLayout() {
return true;
}
markLayoutSeen() {}
setMeasureFunc(fn) {
this.measureFunc = fn;
this.markDirty();
}
unsetMeasureFunc() {
this.measureFunc = null;
this.markDirty();
}
getComputedLeft() {
return this.layout.left;
}
getComputedTop() {
return this.layout.top;
}
getComputedWidth() {
return this.layout.width;
}
getComputedHeight() {
return this.layout.height;
}
getComputedRight() {
const p = this.parent;
return p ? p.layout.width - this.layout.left - this.layout.width : 0;
}
getComputedBottom() {
const p = this.parent;
return p ? p.layout.height - this.layout.top - this.layout.height : 0;
}
getComputedLayout() {
return {
left: this.layout.left,
top: this.layout.top,
right: this.getComputedRight(),
bottom: this.getComputedBottom(),
width: this.layout.width,
height: this.layout.height
};
}
getComputedBorder(edge) {
return this.layout.border[physicalEdge(edge)];
}
getComputedPadding(edge) {
return this.layout.padding[physicalEdge(edge)];
}
getComputedMargin(edge) {
return this.layout.margin[physicalEdge(edge)];
}
setWidth(v2) {
this.style.width = parseDimension(v2);
this.markDirty();
}
setWidthPercent(v2) {
this.style.width = percentValue(v2);
this.markDirty();
}
setWidthAuto() {
this.style.width = AUTO_VALUE;
this.markDirty();
}
setHeight(v2) {
this.style.height = parseDimension(v2);
this.markDirty();
}
setHeightPercent(v2) {
this.style.height = percentValue(v2);
this.markDirty();
}
setHeightAuto() {
this.style.height = AUTO_VALUE;
this.markDirty();
}
setMinWidth(v2) {
this.style.minWidth = parseDimension(v2);
this.markDirty();
}
setMinWidthPercent(v2) {
this.style.minWidth = percentValue(v2);
this.markDirty();
}
setMinHeight(v2) {
this.style.minHeight = parseDimension(v2);
this.markDirty();
}
setMinHeightPercent(v2) {
this.style.minHeight = percentValue(v2);
this.markDirty();
}
setMaxWidth(v2) {
this.style.maxWidth = parseDimension(v2);
this.markDirty();
}
setMaxWidthPercent(v2) {
this.style.maxWidth = percentValue(v2);
this.markDirty();
}
setMaxHeight(v2) {
this.style.maxHeight = parseDimension(v2);
this.markDirty();
}
setMaxHeightPercent(v2) {
this.style.maxHeight = percentValue(v2);
this.markDirty();
}
setFlexDirection(dir) {
this.style.flexDirection = dir;
this.markDirty();
}
setFlexGrow(v2) {
this.style.flexGrow = v2 ?? 0;
this.markDirty();
}
setFlexShrink(v2) {
this.style.flexShrink = v2 ?? 0;
this.markDirty();
}
setFlex(v2) {
if (v2 === undefined || isNaN(v2)) {
this.style.flexGrow = 0;
this.style.flexShrink = 0;
} else if (v2 > 0) {
this.style.flexGrow = v2;
this.style.flexShrink = 1;
this.style.flexBasis = pointValue(0);
} else if (v2 < 0) {
this.style.flexGrow = 0;
this.style.flexShrink = -v2;
} else {
this.style.flexGrow = 0;
this.style.flexShrink = 0;
}
this.markDirty();
}
setFlexBasis(v2) {
this.style.flexBasis = parseDimension(v2);
this.markDirty();
}
setFlexBasisPercent(v2) {
this.style.flexBasis = percentValue(v2);
this.markDirty();
}
setFlexBasisAuto() {
this.style.flexBasis = AUTO_VALUE;
this.markDirty();
}
setFlexWrap(wrap) {
this.style.flexWrap = wrap;
this.markDirty();
}
setAlignItems(a2) {
this.style.alignItems = a2;
this.markDirty();
}
setAlignSelf(a2) {
this.style.alignSelf = a2;
this.markDirty();
}
setAlignContent(a2) {
this.style.alignContent = a2;
this.markDirty();
}
setJustifyContent(j2) {
this.style.justifyContent = j2;
this.markDirty();
}
setDisplay(d) {
this.style.display = d;
this.markDirty();
}
getDisplay() {
return this.style.display;
}
setPositionType(t2) {
this.style.positionType = t2;
this.markDirty();
}
setPosition(edge, v2) {
this.style.position[edge] = parseDimension(v2);
this._hasPosition = hasAnyDefinedEdge(this.style.position);
this.markDirty();
}
setPositionPercent(edge, v2) {
this.style.position[edge] = percentValue(v2);
this._hasPosition = true;
this.markDirty();
}
setPositionAuto(edge) {
this.style.position[edge] = AUTO_VALUE;
this._hasPosition = true;
this.markDirty();
}
setOverflow(o2) {
this.style.overflow = o2;
this.markDirty();
}
setDirection(d) {
this.style.direction = d;
this.markDirty();
}
setBoxSizing(_2) {}
setMargin(edge, v2) {
const val = parseDimension(v2);
this.style.margin[edge] = val;
if (val.unit === Unit.Auto)
this._hasAutoMargin = true;
else
this._hasAutoMargin = hasAnyAutoEdge(this.style.margin);
this._hasMargin = this._hasAutoMargin || hasAnyDefinedEdge(this.style.margin);
this.markDirty();
}
setMarginPercent(edge, v2) {
this.style.margin[edge] = percentValue(v2);
this._hasAutoMargin = hasAnyAutoEdge(this.style.margin);
this._hasMargin = true;
this.markDirty();
}
setMarginAuto(edge) {
this.style.margin[edge] = AUTO_VALUE;
this._hasAutoMargin = true;
this._hasMargin = true;
this.markDirty();
}
setPadding(edge, v2) {
this.style.padding[edge] = parseDimension(v2);
this._hasPadding = hasAnyDefinedEdge(this.style.padding);
this.markDirty();
}
setPaddingPercent(edge, v2) {
this.style.padding[edge] = percentValue(v2);
this._hasPadding = true;
this.markDirty();
}
setBorder(edge, v2) {
this.style.border[edge] = v2 === undefined ? UNDEFINED_VALUE : pointValue(v2);
this._hasBorder = hasAnyDefinedEdge(this.style.border);
this.markDirty();
}
setGap(gutter, v2) {
this.style.gap[gutter] = parseDimension(v2);
this.markDirty();
}
setGapPercent(gutter, v2) {
this.style.gap[gutter] = percentValue(v2);
this.markDirty();
}
getFlexDirection() {
return this.style.flexDirection;
}
getJustifyContent() {
return this.style.justifyContent;
}
getAlignItems() {
return this.style.alignItems;
}
getAlignSelf() {
return this.style.alignSelf;
}
getAlignContent() {
return this.style.alignContent;
}
getFlexGrow() {
return this.style.flexGrow;
}
getFlexShrink() {
return this.style.flexShrink;
}
getFlexBasis() {
return this.style.flexBasis;
}
getFlexWrap() {
return this.style.flexWrap;
}
getWidth() {
return this.style.width;
}
getHeight() {
return this.style.height;
}
getOverflow() {
return this.style.overflow;
}
getPositionType() {
return this.style.positionType;
}
getDirection() {
return this.style.direction;
}
copyStyle(_2) {}
setDirtiedFunc(_2) {}
unsetDirtiedFunc() {}
setIsReferenceBaseline(v2) {
this.isReferenceBaseline_ = v2;
this.markDirty();
}
isReferenceBaseline() {
return this.isReferenceBaseline_;
}
setAspectRatio(_2) {}
getAspectRatio() {
return NaN;
}
setAlwaysFormsContainingBlock(_2) {}
calculateLayout(ownerWidth, ownerHeight, _direction) {
_yogaNodesVisited = 0;
_yogaMeasureCalls = 0;
_yogaCacheHits = 0;
_generation++;
const w2 = ownerWidth === undefined ? NaN : ownerWidth;
const h3 = ownerHeight === undefined ? NaN : ownerHeight;
layoutNode(this, w2, h3, isDefined(w2) ? MeasureMode.Exactly : MeasureMode.Undefined, isDefined(h3) ? MeasureMode.Exactly : MeasureMode.Undefined, w2, h3, true);
const mar = this.layout.margin;
const posL = resolveValue(resolveEdgeRaw(this.style.position, EDGE_LEFT), isDefined(w2) ? w2 : 0);
const posT = resolveValue(resolveEdgeRaw(this.style.position, EDGE_TOP), isDefined(w2) ? w2 : 0);
this.layout.left = mar[EDGE_LEFT] + (isDefined(posL) ? posL : 0);
this.layout.top = mar[EDGE_TOP] + (isDefined(posT) ? posT : 0);
roundLayout(this, this.config.pointScaleFactor, 0, 0);
}
}
function cacheWrite(node, aW, aH, wM, hM, oW, oH, fW, fH, wasDirty) {
if (!node._cIn) {
node._cIn = new Float64Array(CACHE_SLOTS * 8);
node._cOut = new Float64Array(CACHE_SLOTS * 2);
}
if (wasDirty && node._cGen !== _generation) {
node._cN = 0;
node._cWr = 0;
}
const i3 = node._cWr++ % CACHE_SLOTS;
if (node._cN < CACHE_SLOTS)
node._cN = node._cWr;
const o2 = i3 * 8;
const cIn = node._cIn;
cIn[o2] = aW;
cIn[o2 + 1] = aH;
cIn[o2 + 2] = wM;
cIn[o2 + 3] = hM;
cIn[o2 + 4] = oW;
cIn[o2 + 5] = oH;
cIn[o2 + 6] = fW ? 1 : 0;
cIn[o2 + 7] = fH ? 1 : 0;
node._cOut[i3 * 2] = node.layout.width;
node._cOut[i3 * 2 + 1] = node.layout.height;
node._cGen = _generation;
}
function commitCacheOutputs(node, performLayout) {
if (performLayout) {
node._lOutW = node.layout.width;
node._lOutH = node.layout.height;
} else {
node._mOutW = node.layout.width;
node._mOutH = node.layout.height;
}
}
function getYogaCounters() {
return {
visited: _yogaNodesVisited,
measured: _yogaMeasureCalls,
cacheHits: _yogaCacheHits,
live: _yogaLiveNodes
};
}
function layoutNode(node, availableWidth, availableHeight, widthMode, heightMode, ownerWidth, ownerHeight, performLayout, forceWidth = false, forceHeight = false) {
_yogaNodesVisited++;
const style = node.style;
const layout = node.layout;
const sameGen = node._cGen === _generation && !performLayout;
if (!node.isDirty_ || sameGen) {
if (!node.isDirty_ && node._hasL && node._lWM === widthMode && node._lHM === heightMode && node._lFW === forceWidth && node._lFH === forceHeight && sameFloat(node._lW, availableWidth) && sameFloat(node._lH, availableHeight) && sameFloat(node._lOW, ownerWidth) && sameFloat(node._lOH, ownerHeight)) {
_yogaCacheHits++;
layout.width = node._lOutW;
layout.height = node._lOutH;
return;
}
if (node._cN > 0 && (sameGen || !node.isDirty_)) {
const cIn = node._cIn;
for (let i3 = 0;i3 < node._cN; i3++) {
const o2 = i3 * 8;
if (cIn[o2 + 2] === widthMode && cIn[o2 + 3] === heightMode && cIn[o2 + 6] === (forceWidth ? 1 : 0) && cIn[o2 + 7] === (forceHeight ? 1 : 0) && sameFloat(cIn[o2], availableWidth) && sameFloat(cIn[o2 + 1], availableHeight) && sameFloat(cIn[o2 + 4], ownerWidth) && sameFloat(cIn[o2 + 5], ownerHeight)) {
layout.width = node._cOut[i3 * 2];
layout.height = node._cOut[i3 * 2 + 1];
_yogaCacheHits++;
return;
}
}
}
if (!node.isDirty_ && !performLayout && node._hasM && node._mWM === widthMode && node._mHM === heightMode && sameFloat(node._mW, availableWidth) && sameFloat(node._mH, availableHeight) && sameFloat(node._mOW, ownerWidth) && sameFloat(node._mOH, ownerHeight)) {
layout.width = node._mOutW;
layout.height = node._mOutH;
_yogaCacheHits++;
return;
}
}
const wasDirty = node.isDirty_;
if (performLayout) {
node._lW = availableWidth;
node._lH = availableHeight;
node._lWM = widthMode;
node._lHM = heightMode;
node._lOW = ownerWidth;
node._lOH = ownerHeight;
node._lFW = forceWidth;
node._lFH = forceHeight;
node._hasL = true;
node.isDirty_ = false;
if (wasDirty)
node._hasM = false;
} else {
node._mW = availableWidth;
node._mH = availableHeight;
node._mWM = widthMode;
node._mHM = heightMode;
node._mOW = ownerWidth;
node._mOH = ownerHeight;
node._hasM = true;
if (wasDirty)
node._hasL = false;
}
const pad = layout.padding;
const bor = layout.border;
const mar = layout.margin;
if (node._hasPadding)
resolveEdges4Into(style.padding, ownerWidth, pad);
else
pad[0] = pad[1] = pad[2] = pad[3] = 0;
if (node._hasBorder)
resolveEdges4Into(style.border, ownerWidth, bor);
else
bor[0] = bor[1] = bor[2] = bor[3] = 0;
if (node._hasMargin)
resolveEdges4Into(style.margin, ownerWidth, mar);
else
mar[0] = mar[1] = mar[2] = mar[3] = 0;
const paddingBorderWidth = pad[0] + pad[2] + bor[0] + bor[2];
const paddingBorderHeight = pad[1] + pad[3] + bor[1] + bor[3];
const styleWidth = forceWidth ? NaN : resolveValue(style.width, ownerWidth);
const styleHeight = forceHeight ? NaN : resolveValue(style.height, ownerHeight);
let width = availableWidth;
let height = availableHeight;
let wMode = widthMode;
let hMode = heightMode;
if (isDefined(styleWidth)) {
width = styleWidth;
wMode = MeasureMode.Exactly;
}
if (isDefined(styleHeight)) {
height = styleHeight;
hMode = MeasureMode.Exactly;
}
width = boundAxis(style, true, width, ownerWidth, ownerHeight);
height = boundAxis(style, false, height, ownerWidth, ownerHeight);
if (node.measureFunc && node.children.length === 0) {
const innerW = wMode === MeasureMode.Undefined ? NaN : Math.max(0, width - paddingBorderWidth);
const innerH = hMode === MeasureMode.Undefined ? NaN : Math.max(0, height - paddingBorderHeight);
_yogaMeasureCalls++;
const measured = node.measureFunc(innerW, wMode, innerH, hMode);
node.layout.width = wMode === MeasureMode.Exactly ? width : boundAxis(style, true, (measured.width ?? 0) + paddingBorderWidth, ownerWidth, ownerHeight);
node.layout.height = hMode === MeasureMode.Exactly ? height : boundAxis(style, false, (measured.height ?? 0) + paddingBorderHeight, ownerWidth, ownerHeight);
commitCacheOutputs(node, performLayout);
cacheWrite(node, availableWidth, availableHeight, widthMode, heightMode, ownerWidth, ownerHeight, forceWidth, forceHeight, wasDirty);
return;
}
if (node.children.length === 0) {
node.layout.width = wMode === MeasureMode.Exactly ? width : boundAxis(style, true, paddingBorderWidth, ownerWidth, ownerHeight);
node.layout.height = hMode === MeasureMode.Exactly ? height : boundAxis(style, false, paddingBorderHeight, ownerWidth, ownerHeight);
commitCacheOutputs(node, performLayout);
cacheWrite(node, availableWidth, availableHeight, widthMode, heightMode, ownerWidth, ownerHeight, forceWidth, forceHeight, wasDirty);
return;
}
const mainAxis = style.flexDirection;
const crossAx = crossAxis(mainAxis);
const isMainRow = isRow(mainAxis);
const mainSize = isMainRow ? width : height;
const crossSize = isMainRow ? height : width;
const mainMode = isMainRow ? wMode : hMode;
const crossMode = isMainRow ? hMode : wMode;
const mainPadBorder = isMainRow ? paddingBorderWidth : paddingBorderHeight;
const crossPadBorder = isMainRow ? paddingBorderHeight : paddingBorderWidth;
const innerMainSize = isDefined(mainSize) ? Math.max(0, mainSize - mainPadBorder) : NaN;
const innerCrossSize = isDefined(crossSize) ? Math.max(0, crossSize - crossPadBorder) : NaN;
const gapMain = resolveGap(style, isMainRow ? Gutter.Column : Gutter.Row, innerMainSize);
const flowChildren = [];
const absChildren = [];
collectLayoutChildren(node, flowChildren, absChildren);
const ownerW = isDefined(width) ? width : NaN;
const ownerH = isDefined(height) ? height : NaN;
const isWrap = style.flexWrap !== Wrap.NoWrap;
const gapCross = resolveGap(style, isMainRow ? Gutter.Row : Gutter.Column, innerCrossSize);
for (const c5 of flowChildren) {
c5._flexBasis = computeFlexBasis(c5, mainAxis, innerMainSize, innerCrossSize, crossMode, ownerW, ownerH);
}
const lines = [];
if (!isWrap || !isDefined(innerMainSize) || flowChildren.length === 0) {
for (const c5 of flowChildren)
c5._lineIndex = 0;
lines.push(flowChildren);
} else {
let lineStart = 0;
let lineLen = 0;
for (let i3 = 0;i3 < flowChildren.length; i3++) {
const c5 = flowChildren[i3];
const hypo = boundAxis(c5.style, isMainRow, c5._flexBasis, ownerW, ownerH);
const outer = Math.max(0, hypo) + childMarginForAxis(c5, mainAxis, ownerW);
const withGap = i3 > lineStart ? gapMain : 0;
if (i3 > lineStart && lineLen + withGap + outer > innerMainSize) {
lines.push(flowChildren.slice(lineStart, i3));
lineStart = i3;
lineLen = outer;
} else {
lineLen += withGap + outer;
}
c5._lineIndex = lines.length;
}
lines.push(flowChildren.slice(lineStart));
}
const lineCount = lines.length;
const isBaseline = isBaselineLayout(node, flowChildren);
const lineConsumedMain = new Array(lineCount);
const lineCrossSizes = new Array(lineCount);
const lineMaxAscent = isBaseline ? new Array(lineCount).fill(0) : [];
let maxLineMain = 0;
let totalLinesCross = 0;
for (let li = 0;li < lineCount; li++) {
const line = lines[li];
const lineGap = line.length > 1 ? gapMain * (line.length - 1) : 0;
let lineBasis = lineGap;
for (const c5 of line) {
lineBasis += c5._flexBasis + childMarginForAxis(c5, mainAxis, ownerW);
}
let availMain = innerMainSize;
if (!isDefined(availMain)) {
const mainOwner = isMainRow ? ownerWidth : ownerHeight;
const minM = resolveValue(isMainRow ? style.minWidth : style.minHeight, mainOwner);
const maxM = resolveValue(isMainRow ? style.maxWidth : style.maxHeight, mainOwner);
if (isDefined(maxM) && lineBasis > maxM - mainPadBorder) {
availMain = Math.max(0, maxM - mainPadBorder);
} else if (isDefined(minM) && lineBasis < minM - mainPadBorder) {
availMain = Math.max(0, minM - mainPadBorder);
}
}
resolveFlexibleLengths(line, availMain, lineBasis, isMainRow, ownerW, ownerH);
let lineCross = 0;
for (const c5 of line) {
const cStyle = c5.style;
const childAlign = cStyle.alignSelf === Align.Auto ? style.alignItems : cStyle.alignSelf;
const cMarginCross = childMarginForAxis(c5, crossAx, ownerW);
let childCrossSize = NaN;
let childCrossMode = MeasureMode.Undefined;
const resolvedCrossStyle = resolveValue(isMainRow ? cStyle.height : cStyle.width, isMainRow ? ownerH : ownerW);
const crossLeadE = isMainRow ? EDGE_TOP : EDGE_LEFT;
const crossTrailE = isMainRow ? EDGE_BOTTOM : EDGE_RIGHT;
const hasCrossAutoMargin = c5._hasAutoMargin && (isMarginAuto(cStyle.margin, crossLeadE) || isMarginAuto(cStyle.margin, crossTrailE));
if (isDefined(resolvedCrossStyle)) {
childCrossSize = resolvedCrossStyle;
childCrossMode = MeasureMode.Exactly;
} else if (childAlign === Align.Stretch && !hasCrossAutoMargin && !isWrap && isDefined(innerCrossSize) && crossMode === MeasureMode.Exactly) {
childCrossSize = Math.max(0, innerCrossSize - cMarginCross);
childCrossMode = MeasureMode.Exactly;
} else if (!isWrap && isDefined(innerCrossSize)) {
childCrossSize = Math.max(0, innerCrossSize - cMarginCross);
childCrossMode = MeasureMode.AtMost;
}
const cw = isMainRow ? c5._mainSize : childCrossSize;
const ch = isMainRow ? childCrossSize : c5._mainSize;
layoutNode(c5, cw, ch, isMainRow ? MeasureMode.Exactly : childCrossMode, isMainRow ? childCrossMode : MeasureMode.Exactly, ownerW, ownerH, performLayout, isMainRow, !isMainRow);
c5._crossSize = isMainRow ? c5.layout.height : c5.layout.width;
lineCross = Math.max(lineCross, c5._crossSize + cMarginCross);
}
if (isBaseline) {
let maxAscent = 0;
let maxDescent = 0;
for (const c5 of line) {
if (resolveChildAlign(node, c5) !== Align.Baseline)
continue;
const mTop = resolveEdge(c5.style.margin, EDGE_TOP, ownerW);
const mBot = resolveEdge(c5.style.margin, EDGE_BOTTOM, ownerW);
const ascent = calculateBaseline(c5) + mTop;
const descent = c5.layout.height + mTop + mBot - ascent;
if (ascent > maxAscent)
maxAscent = ascent;
if (descent > maxDescent)
maxDescent = descent;
}
lineMaxAscent[li] = maxAscent;
if (maxAscent + maxDescent > lineCross) {
lineCross = maxAscent + maxDescent;
}
}
const mainLead = leadingEdge(mainAxis);
const mainTrail = trailingEdge(mainAxis);
let consumed = lineGap;
for (const c5 of line) {
const cm = c5.layout.margin;
consumed += c5._mainSize + cm[mainLead] + cm[mainTrail];
}
lineConsumedMain[li] = consumed;
lineCrossSizes[li] = lineCross;
maxLineMain = Math.max(maxLineMain, consumed);
totalLinesCross += lineCross;
}
const totalCrossGap = lineCount > 1 ? gapCross * (lineCount - 1) : 0;
totalLinesCross += totalCrossGap;
const isScroll = style.overflow === Overflow.Scroll;
const contentMain = maxLineMain + mainPadBorder;
const finalMainSize = mainMode === MeasureMode.Exactly ? mainSize : mainMode === MeasureMode.AtMost && isScroll ? Math.max(Math.min(mainSize, contentMain), mainPadBorder) : isWrap && lineCount > 1 && mainMode === MeasureMode.AtMost ? mainSize : contentMain;
const contentCross = totalLinesCross + crossPadBorder;
const finalCrossSize = crossMode === MeasureMode.Exactly ? crossSize : crossMode === MeasureMode.AtMost && isScroll ? Math.max(Math.min(crossSize, contentCross), crossPadBorder) : contentCross;
node.layout.width = boundAxis(style, true, isMainRow ? finalMainSize : finalCrossSize, ownerWidth, ownerHeight);
node.layout.height = boundAxis(style, false, isMainRow ? finalCrossSize : finalMainSize, ownerWidth, ownerHeight);
commitCacheOutputs(node, performLayout);
cacheWrite(node, availableWidth, availableHeight, widthMode, heightMode, ownerWidth, ownerHeight, forceWidth, forceHeight, wasDirty);
if (!performLayout)
return;
const actualInnerMain = (isMainRow ? node.layout.width : node.layout.height) - mainPadBorder;
const actualInnerCross = (isMainRow ? node.layout.height : node.layout.width) - crossPadBorder;
const mainLeadEdgePhys = leadingEdge(mainAxis);
const mainTrailEdgePhys = trailingEdge(mainAxis);
const crossLeadEdgePhys = isMainRow ? EDGE_TOP : EDGE_LEFT;
const crossTrailEdgePhys = isMainRow ? EDGE_BOTTOM : EDGE_RIGHT;
const reversed = isReverse(mainAxis);
const mainContainerSize = isMainRow ? node.layout.width : node.layout.height;
const crossLead = pad[crossLeadEdgePhys] + bor[crossLeadEdgePhys];
let lineCrossOffset = crossLead;
let betweenLines = gapCross;
const freeCross = actualInnerCross - totalLinesCross;
if (lineCount === 1 && !isWrap && !isBaseline) {
lineCrossSizes[0] = actualInnerCross;
} else {
const remCross = Math.max(0, freeCross);
switch (style.alignContent) {
case Align.FlexStart:
break;
case Align.Center:
lineCrossOffset += freeCross / 2;
break;
case Align.FlexEnd:
lineCrossOffset += freeCross;
break;
case Align.Stretch:
if (lineCount > 0 && remCross > 0) {
const add = remCross / lineCount;
for (let i3 = 0;i3 < lineCount; i3++)
lineCrossSizes[i3] += add;
}
break;
case Align.SpaceBetween:
if (lineCount > 1)
betweenLines += remCross / (lineCount - 1);
break;
case Align.SpaceAround:
if (lineCount > 0) {
betweenLines += remCross / lineCount;
lineCrossOffset += remCross / lineCount / 2;
}
break;
case Align.SpaceEvenly:
if (lineCount > 0) {
betweenLines += remCross / (lineCount + 1);
lineCrossOffset += remCross / (lineCount + 1);
}
break;
default:
break;
}
}
const wrapReverse = style.flexWrap === Wrap.WrapReverse;
const crossContainerSize = isMainRow ? node.layout.height : node.layout.width;
let lineCrossPos = lineCrossOffset;
for (let li = 0;li < lineCount; li++) {
const line = lines[li];
const lineCross = lineCrossSizes[li];
const consumedMain = lineConsumedMain[li];
const n2 = line.length;
if (isWrap || crossMode !== MeasureMode.Exactly) {
for (const c5 of line) {
const cStyle = c5.style;
const childAlign = cStyle.alignSelf === Align.Auto ? style.alignItems : cStyle.alignSelf;
const crossStyleDef = isDefined(resolveValue(isMainRow ? cStyle.height : cStyle.width, isMainRow ? ownerH : ownerW));
const hasCrossAutoMargin = c5._hasAutoMargin && (isMarginAuto(cStyle.margin, crossLeadEdgePhys) || isMarginAuto(cStyle.margin, crossTrailEdgePhys));
if (childAlign === Align.Stretch && !crossStyleDef && !hasCrossAutoMargin) {
const cMarginCross = childMarginForAxis(c5, crossAx, ownerW);
const target = Math.max(0, lineCross - cMarginCross);
if (c5._crossSize !== target) {
const cw = isMainRow ? c5._mainSize : target;
const ch = isMainRow ? target : c5._mainSize;
layoutNode(c5, cw, ch, MeasureMode.Exactly, MeasureMode.Exactly, ownerW, ownerH, performLayout, isMainRow, !isMainRow);
c5._crossSize = target;
}
}
}
}
let mainOffset = pad[mainLeadEdgePhys] + bor[mainLeadEdgePhys];
let betweenMain = gapMain;
let numAutoMarginsMain = 0;
for (const c5 of line) {
if (!c5._hasAutoMargin)
continue;
if (isMarginAuto(c5.style.margin, mainLeadEdgePhys))
numAutoMarginsMain++;
if (isMarginAuto(c5.style.margin, mainTrailEdgePhys))
numAutoMarginsMain++;
}
const freeMain = actualInnerMain - consumedMain;
const remainingMain = Math.max(0, freeMain);
const autoMarginMainSize = numAutoMarginsMain > 0 && remainingMain > 0 ? remainingMain / numAutoMarginsMain : 0;
if (numAutoMarginsMain === 0) {
switch (style.justifyContent) {
case Justify.FlexStart:
break;
case Justify.Center:
mainOffset += freeMain / 2;
break;
case Justify.FlexEnd:
mainOffset += freeMain;
break;
case Justify.SpaceBetween:
if (n2 > 1)
betweenMain += remainingMain / (n2 - 1);
break;
case Justify.SpaceAround:
if (n2 > 0) {
betweenMain += remainingMain / n2;
mainOffset += remainingMain / n2 / 2;
}
break;
case Justify.SpaceEvenly:
if (n2 > 0) {
betweenMain += remainingMain / (n2 + 1);
mainOffset += remainingMain / (n2 + 1);
}
break;
}
}
const effectiveLineCrossPos = wrapReverse ? crossContainerSize - lineCrossPos - lineCross : lineCrossPos;
let pos = mainOffset;
for (const c5 of line) {
const cMargin = c5.style.margin;
const cLayoutMargin = c5.layout.margin;
let autoMainLead = false;
let autoMainTrail = false;
let autoCrossLead = false;
let autoCrossTrail = false;
let mMainLead;
let mMainTrail;
let mCrossLead;
let mCrossTrail;
if (c5._hasAutoMargin) {
autoMainLead = isMarginAuto(cMargin, mainLeadEdgePhys);
autoMainTrail = isMarginAuto(cMargin, mainTrailEdgePhys);
autoCrossLead = isMarginAuto(cMargin, crossLeadEdgePhys);
autoCrossTrail = isMarginAuto(cMargin, crossTrailEdgePhys);
mMainLead = autoMainLead ? autoMarginMainSize : cLayoutMargin[mainLeadEdgePhys];
mMainTrail = autoMainTrail ? autoMarginMainSize : cLayoutMargin[mainTrailEdgePhys];
mCrossLead = autoCrossLead ? 0 : cLayoutMargin[crossLeadEdgePhys];
mCrossTrail = autoCrossTrail ? 0 : cLayoutMargin[crossTrailEdgePhys];
} else {
mMainLead = cLayoutMargin[mainLeadEdgePhys];
mMainTrail = cLayoutMargin[mainTrailEdgePhys];
mCrossLead = cLayoutMargin[crossLeadEdgePhys];
mCrossTrail = cLayoutMargin[crossTrailEdgePhys];
}
const mainPos = reversed ? mainContainerSize - (pos + mMainLead) - c5._mainSize : pos + mMainLead;
const childAlign = c5.style.alignSelf === Align.Auto ? style.alignItems : c5.style.alignSelf;
let crossPos = effectiveLineCrossPos + mCrossLead;
const crossFree = lineCross - c5._crossSize - mCrossLead - mCrossTrail;
if (autoCrossLead && autoCrossTrail) {
crossPos += Math.max(0, crossFree) / 2;
} else if (autoCrossLead) {
crossPos += Math.max(0, crossFree);
} else if (autoCrossTrail) {} else {
switch (childAlign) {
case Align.FlexStart:
case Align.Stretch:
if (wrapReverse)
crossPos += crossFree;
break;
case Align.Center:
crossPos += crossFree / 2;
break;
case Align.FlexEnd:
if (!wrapReverse)
crossPos += crossFree;
break;
case Align.Baseline:
if (isBaseline) {
crossPos = effectiveLineCrossPos + lineMaxAscent[li] - calculateBaseline(c5);
}
break;
default:
break;
}
}
let relX = 0;
let relY = 0;
if (c5._hasPosition) {
const relLeft = resolveValue(resolveEdgeRaw(c5.style.position, EDGE_LEFT), ownerW);
const relRight = resolveValue(resolveEdgeRaw(c5.style.position, EDGE_RIGHT), ownerW);
const relTop = resolveValue(resolveEdgeRaw(c5.style.position, EDGE_TOP), ownerW);
const relBottom = resolveValue(resolveEdgeRaw(c5.style.position, EDGE_BOTTOM), ownerW);
relX = isDefined(relLeft) ? relLeft : isDefined(relRight) ? -relRight : 0;
relY = isDefined(relTop) ? relTop : isDefined(relBottom) ? -relBottom : 0;
}
if (isMainRow) {
c5.layout.left = mainPos + relX;
c5.layout.top = crossPos + relY;
} else {
c5.layout.left = crossPos + relX;
c5.layout.top = mainPos + relY;
}
pos += c5._mainSize + mMainLead + mMainTrail + betweenMain;
}
lineCrossPos += lineCross + betweenLines;
}
for (const c5 of absChildren) {
layoutAbsoluteChild(node, c5, node.layout.width, node.layout.height, pad, bor);
}
}
function layoutAbsoluteChild(parent, child, parentWidth, parentHeight, pad, bor) {
const cs = child.style;
const posLeft = resolveEdgeRaw(cs.position, EDGE_LEFT);
const posRight = resolveEdgeRaw(cs.position, EDGE_RIGHT);
const posTop = resolveEdgeRaw(cs.position, EDGE_TOP);
const posBottom = resolveEdgeRaw(cs.position, EDGE_BOTTOM);
const rLeft = resolveValue(posLeft, parentWidth);
const rRight = resolveValue(posRight, parentWidth);
const rTop = resolveValue(posTop, parentHeight);
const rBottom = resolveValue(posBottom, parentHeight);
const paddingBoxW = parentWidth - bor[0] - bor[2];
const paddingBoxH = parentHeight - bor[1] - bor[3];
let cw = resolveValue(cs.width, paddingBoxW);
let ch = resolveValue(cs.height, paddingBoxH);
if (!isDefined(cw) && isDefined(rLeft) && isDefined(rRight)) {
cw = paddingBoxW - rLeft - rRight;
}
if (!isDefined(ch) && isDefined(rTop) && isDefined(rBottom)) {
ch = paddingBoxH - rTop - rBottom;
}
layoutNode(child, cw, ch, isDefined(cw) ? MeasureMode.Exactly : MeasureMode.Undefined, isDefined(ch) ? MeasureMode.Exactly : MeasureMode.Undefined, paddingBoxW, paddingBoxH, true);
const mL = resolveEdge(cs.margin, EDGE_LEFT, parentWidth);
const mT = resolveEdge(cs.margin, EDGE_TOP, parentWidth);
const mR = resolveEdge(cs.margin, EDGE_RIGHT, parentWidth);
const mB = resolveEdge(cs.margin, EDGE_BOTTOM, parentWidth);
const mainAxis = parent.style.flexDirection;
const reversed = isReverse(mainAxis);
const mainRow = isRow(mainAxis);
const wrapReverse = parent.style.flexWrap === Wrap.WrapReverse;
const alignment = cs.alignSelf === Align.Auto ? parent.style.alignItems : cs.alignSelf;
let left;
if (isDefined(rLeft)) {
left = bor[0] + rLeft + mL;
} else if (isDefined(rRight)) {
left = parentWidth - bor[2] - rRight - child.layout.width - mR;
} else if (mainRow) {
const lead = pad[0] + bor[0];
const trail = parentWidth - pad[2] - bor[2];
left = reversed ? trail - child.layout.width - mR : justifyAbsolute(parent.style.justifyContent, lead, trail, child.layout.width) + mL;
} else {
left = alignAbsolute(alignment, pad[0] + bor[0], parentWidth - pad[2] - bor[2], child.layout.width, wrapReverse) + mL;
}
let top;
if (isDefined(rTop)) {
top = bor[1] + rTop + mT;
} else if (isDefined(rBottom)) {
top = parentHeight - bor[3] - rBottom - child.layout.height - mB;
} else if (mainRow) {
top = alignAbsolute(alignment, pad[1] + bor[1], parentHeight - pad[3] - bor[3], child.layout.height, wrapReverse) + mT;
} else {
const lead = pad[1] + bor[1];
const trail = parentHeight - pad[3] - bor[3];
top = reversed ? trail - child.layout.height - mB : justifyAbsolute(parent.style.justifyContent, lead, trail, child.layout.height) + mT;
}
child.layout.left = left;
child.layout.top = top;
}
function justifyAbsolute(justify, leadEdge, trailEdge, childSize) {
switch (justify) {
case Justify.Center:
return leadEdge + (trailEdge - leadEdge - childSize) / 2;
case Justify.FlexEnd:
return trailEdge - childSize;
default:
return leadEdge;
}
}
function alignAbsolute(align, leadEdge, trailEdge, childSize, wrapReverse) {
switch (align) {
case Align.Center:
return leadEdge + (trailEdge - leadEdge - childSize) / 2;
case Align.FlexEnd:
return wrapReverse ? leadEdge : trailEdge - childSize;
default:
return wrapReverse ? trailEdge - childSize : leadEdge;
}
}
function computeFlexBasis(child, mainAxis, availableMain, availableCross, crossMode, ownerWidth, ownerHeight) {
const sameGen = child._fbGen === _generation;
if ((sameGen || !child.isDirty_) && child._fbCrossMode === crossMode && sameFloat(child._fbOwnerW, ownerWidth) && sameFloat(child._fbOwnerH, ownerHeight) && sameFloat(child._fbAvailMain, availableMain) && sameFloat(child._fbAvailCross, availableCross)) {
return child._fbBasis;
}
const cs = child.style;
const isMainRow = isRow(mainAxis);
const basis = resolveValue(cs.flexBasis, availableMain);
if (isDefined(basis)) {
const b3 = Math.max(0, basis);
child._fbBasis = b3;
child._fbOwnerW = ownerWidth;
child._fbOwnerH = ownerHeight;
child._fbAvailMain = availableMain;
child._fbAvailCross = availableCross;
child._fbCrossMode = crossMode;
child._fbGen = _generation;
return b3;
}
const mainStyleDim = isMainRow ? cs.width : cs.height;
const mainOwner = isMainRow ? ownerWidth : ownerHeight;
const resolved = resolveValue(mainStyleDim, mainOwner);
if (isDefined(resolved)) {
const b3 = Math.max(0, resolved);
child._fbBasis = b3;
child._fbOwnerW = ownerWidth;
child._fbOwnerH = ownerHeight;
child._fbAvailMain = availableMain;
child._fbAvailCross = availableCross;
child._fbCrossMode = crossMode;
child._fbGen = _generation;
return b3;
}
const crossStyleDim = isMainRow ? cs.height : cs.width;
const crossOwner = isMainRow ? ownerHeight : ownerWidth;
let crossConstraint = resolveValue(crossStyleDim, crossOwner);
let crossConstraintMode = isDefined(crossConstraint) ? MeasureMode.Exactly : MeasureMode.Undefined;
if (!isDefined(crossConstraint) && isDefined(availableCross)) {
crossConstraint = availableCross;
crossConstraintMode = crossMode === MeasureMode.Exactly && isStretchAlign(child) ? MeasureMode.Exactly : MeasureMode.AtMost;
}
let mainConstraint = NaN;
let mainConstraintMode = MeasureMode.Undefined;
if (isMainRow && isDefined(availableMain) && hasMeasureFuncInSubtree(child)) {
mainConstraint = availableMain;
mainConstraintMode = MeasureMode.AtMost;
}
const mw = isMainRow ? mainConstraint : crossConstraint;
const mh = isMainRow ? crossConstraint : mainConstraint;
const mwMode = isMainRow ? mainConstraintMode : crossConstraintMode;
const mhMode = isMainRow ? crossConstraintMode : mainConstraintMode;
layoutNode(child, mw, mh, mwMode, mhMode, ownerWidth, ownerHeight, false);
const b2 = isMainRow ? child.layout.width : child.layout.height;
child._fbBasis = b2;
child._fbOwnerW = ownerWidth;
child._fbOwnerH = ownerHeight;
child._fbAvailMain = availableMain;
child._fbAvailCross = availableCross;
child._fbCrossMode = crossMode;
child._fbGen = _generation;
return b2;
}
function hasMeasureFuncInSubtree(node) {
if (node.measureFunc)
return true;
for (const c5 of node.children) {
if (hasMeasureFuncInSubtree(c5))
return true;
}
return false;
}
function resolveFlexibleLengths(children2, availableInnerMain, totalFlexBasis, isMainRow, ownerW, ownerH) {
const n2 = children2.length;
const frozen = new Array(n2).fill(false);
const initialFree = isDefined(availableInnerMain) ? availableInnerMain - totalFlexBasis : 0;
for (let i3 = 0;i3 < n2; i3++) {
const c5 = children2[i3];
const clamped = boundAxis(c5.style, isMainRow, c5._flexBasis, ownerW, ownerH);
const inflexible = !isDefined(availableInnerMain) || (initialFree >= 0 ? c5.style.flexGrow === 0 : c5.style.flexShrink === 0);
if (inflexible) {
c5._mainSize = Math.max(0, clamped);
frozen[i3] = true;
} else {
c5._mainSize = c5._flexBasis;
}
}
const unclamped = new Array(n2);
for (let iter = 0;iter <= n2; iter++) {
let frozenDelta = 0;
let totalGrow = 0;
let totalShrinkScaled = 0;
let unfrozenCount = 0;
for (let i3 = 0;i3 < n2; i3++) {
const c5 = children2[i3];
if (frozen[i3]) {
frozenDelta += c5._mainSize - c5._flexBasis;
} else {
totalGrow += c5.style.flexGrow;
totalShrinkScaled += c5.style.flexShrink * c5._flexBasis;
unfrozenCount++;
}
}
if (unfrozenCount === 0)
break;
let remaining = initialFree - frozenDelta;
if (remaining > 0 && totalGrow > 0 && totalGrow < 1) {
const scaled = initialFree * totalGrow;
if (scaled < remaining)
remaining = scaled;
} else if (remaining < 0 && totalShrinkScaled > 0) {
let totalShrink = 0;
for (let i3 = 0;i3 < n2; i3++) {
if (!frozen[i3])
totalShrink += children2[i3].style.flexShrink;
}
if (totalShrink < 1) {
const scaled = initialFree * totalShrink;
if (scaled > remaining)
remaining = scaled;
}
}
let totalViolation = 0;
for (let i3 = 0;i3 < n2; i3++) {
if (frozen[i3])
continue;
const c5 = children2[i3];
let t2 = c5._flexBasis;
if (remaining > 0 && totalGrow > 0) {
t2 += remaining * c5.style.flexGrow / totalGrow;
} else if (remaining < 0 && totalShrinkScaled > 0) {
t2 += remaining * (c5.style.flexShrink * c5._flexBasis) / totalShrinkScaled;
}
unclamped[i3] = t2;
const clamped = Math.max(0, boundAxis(c5.style, isMainRow, t2, ownerW, ownerH));
c5._mainSize = clamped;
totalViolation += clamped - t2;
}
if (totalViolation === 0)
break;
let anyFrozen = false;
for (let i3 = 0;i3 < n2; i3++) {
if (frozen[i3])
continue;
const v2 = children2[i3]._mainSize - unclamped[i3];
if (totalViolation > 0 && v2 > 0 || totalViolation < 0 && v2 < 0) {
frozen[i3] = true;
anyFrozen = true;
}
}
if (!anyFrozen)
break;
}
}
function isStretchAlign(child) {
const p = child.parent;
if (!p)
return false;
const align = child.style.alignSelf === Align.Auto ? p.style.alignItems : child.style.alignSelf;
return align === Align.Stretch;
}
function resolveChildAlign(parent, child) {
return child.style.alignSelf === Align.Auto ? parent.style.alignItems : child.style.alignSelf;
}
function calculateBaseline(node) {
let baselineChild = null;
for (const c5 of node.children) {
if (c5._lineIndex > 0)
break;
if (c5.style.positionType === PositionType.Absolute)
continue;
if (c5.style.display === Display.None)
continue;
if (resolveChildAlign(node, c5) === Align.Baseline || c5.isReferenceBaseline_) {
baselineChild = c5;
break;
}
if (baselineChild === null)
baselineChild = c5;
}
if (baselineChild === null)
return node.layout.height;
return calculateBaseline(baselineChild) + baselineChild.layout.top;
}
function isBaselineLayout(node, flowChildren) {
if (!isRow(node.style.flexDirection))
return false;
if (node.style.alignItems === Align.Baseline)
return true;
for (const c5 of flowChildren) {
if (c5.style.alignSelf === Align.Baseline)
return true;
}
return false;
}
function childMarginForAxis(child, axis, ownerWidth) {
if (!child._hasMargin)
return 0;
const lead = resolveEdge(child.style.margin, leadingEdge(axis), ownerWidth);
const trail = resolveEdge(child.style.margin, trailingEdge(axis), ownerWidth);
return lead + trail;
}
function resolveGap(style, gutter, ownerSize) {
let v2 = style.gap[gutter];
if (v2.unit === Unit.Undefined)
v2 = style.gap[Gutter.All];
const r2 = resolveValue(v2, ownerSize);
return isDefined(r2) ? Math.max(0, r2) : 0;
}
function boundAxis(style, isWidth, value, ownerWidth, ownerHeight) {
const minV = isWidth ? style.minWidth : style.minHeight;
const maxV = isWidth ? style.maxWidth : style.maxHeight;
const minU = minV.unit;
const maxU = maxV.unit;
if (minU === 0 && maxU === 0)
return value;
const owner = isWidth ? ownerWidth : ownerHeight;
let v2 = value;
if (maxU === 1) {
if (v2 > maxV.value)
v2 = maxV.value;
} else if (maxU === 2) {
const m3 = maxV.value * owner / 100;
if (m3 === m3 && v2 > m3)
v2 = m3;
}
if (minU === 1) {
if (v2 < minV.value)
v2 = minV.value;
} else if (minU === 2) {
const m3 = minV.value * owner / 100;
if (m3 === m3 && v2 < m3)
v2 = m3;
}
return v2;
}
function zeroLayoutRecursive(node) {
for (const c5 of node.children) {
c5.layout.left = 0;
c5.layout.top = 0;
c5.layout.width = 0;
c5.layout.height = 0;
c5.isDirty_ = true;
c5._hasL = false;
c5._hasM = false;
zeroLayoutRecursive(c5);
}
}
function collectLayoutChildren(node, flow, abs) {
for (const c5 of node.children) {
const disp = c5.style.display;
if (disp === Display.None) {
c5.layout.left = 0;
c5.layout.top = 0;
c5.layout.width = 0;
c5.layout.height = 0;
zeroLayoutRecursive(c5);
} else if (disp === Display.Contents) {
c5.layout.left = 0;
c5.layout.top = 0;
c5.layout.width = 0;
c5.layout.height = 0;
collectLayoutChildren(c5, flow, abs);
} else if (c5.style.positionType === PositionType.Absolute) {
abs.push(c5);
} else {
flow.push(c5);
}
}
}
function roundLayout(node, scale, absLeft, absTop) {
if (scale === 0)
return;
const l = node.layout;
const nodeLeft = l.left;
const nodeTop = l.top;
const nodeWidth = l.width;
const nodeHeight = l.height;
const absNodeLeft = absLeft + nodeLeft;
const absNodeTop = absTop + nodeTop;
const isText = node.measureFunc !== null;
l.left = roundValue(nodeLeft, scale, false, isText);
l.top = roundValue(nodeTop, scale, false, isText);
const absRight = absNodeLeft + nodeWidth;
const absBottom = absNodeTop + nodeHeight;
const hasFracW = !isWholeNumber(nodeWidth * scale);
const hasFracH = !isWholeNumber(nodeHeight * scale);
l.width = roundValue(absRight, scale, isText && hasFracW, isText && !hasFracW) - roundValue(absNodeLeft, scale, false, isText);
l.height = roundValue(absBottom, scale, isText && hasFracH, isText && !hasFracH) - roundValue(absNodeTop, scale, false, isText);
for (const c5 of node.children) {
roundLayout(c5, scale, absNodeLeft, absNodeTop);
}
}
function isWholeNumber(v2) {
const frac = v2 - Math.floor(v2);
return frac < 0.0001 || frac > 0.9999;
}
function roundValue(v2, scale, forceCeil, forceFloor) {
let scaled = v2 * scale;
let frac = scaled - Math.floor(scaled);
if (frac < 0)
frac += 1;
if (frac < 0.0001) {
scaled = Math.floor(scaled);
} else if (frac > 0.9999) {
scaled = Math.ceil(scaled);
} else if (forceCeil) {
scaled = Math.ceil(scaled);
} else if (forceFloor) {
scaled = Math.floor(scaled);
} else {
scaled = Math.floor(scaled) + (frac >= 0.4999 ? 1 : 0);
}
return scaled / scale;
}
function parseDimension(v2) {
if (v2 === undefined)
return UNDEFINED_VALUE;
if (v2 === "auto")
return AUTO_VALUE;
if (typeof v2 === "number") {
return Number.isFinite(v2) ? pointValue(v2) : UNDEFINED_VALUE;
}
if (typeof v2 === "string" && v2.endsWith("%")) {
return percentValue(parseFloat(v2));
}
const n2 = parseFloat(v2);
return isNaN(n2) ? UNDEFINED_VALUE : pointValue(n2);
}
function physicalEdge(edge) {
switch (edge) {
case Edge.Left:
case Edge.Start:
return EDGE_LEFT;
case Edge.Top:
return EDGE_TOP;
case Edge.Right:
case Edge.End:
return EDGE_RIGHT;
case Edge.Bottom:
return EDGE_BOTTOM;
default:
return EDGE_LEFT;
}
}
var UNDEFINED_VALUE, AUTO_VALUE, EDGE_LEFT = 0, EDGE_TOP = 1, EDGE_RIGHT = 2, EDGE_BOTTOM = 3, DEFAULT_CONFIG, CACHE_SLOTS = 4, _generation = 0, _yogaNodesVisited = 0, _yogaMeasureCalls = 0, _yogaCacheHits = 0, _yogaLiveNodes = 0, YOGA_INSTANCE, yoga_layout_default;
var init_yoga_layout = __esm(() => {
init_enums();
UNDEFINED_VALUE = { unit: Unit.Undefined, value: NaN };
AUTO_VALUE = { unit: Unit.Auto, value: NaN };
DEFAULT_CONFIG = createConfig();
YOGA_INSTANCE = {
Config: {
create: createConfig,
destroy() {}
},
Node: {
create: (config2) => new Node(config2),
createDefault: () => new Node,
createWithConfig: (config2) => new Node(config2),
destroy() {}
}
};
yoga_layout_default = YOGA_INSTANCE;
});
// src/ink/colorize.ts
function boostChalkLevelForXtermJs() {
if (process.env.TERM_PROGRAM === "vscode" && source_default.level === 2) {
source_default.level = 3;
return true;
}
return false;
}
function clampChalkLevelForTmux() {
if (process.env.CLAUDE_CODE_TMUX_TRUECOLOR)
return false;
if (process.env.TMUX && source_default.level > 2) {
source_default.level = 2;
return true;
}
return false;
}
function applyTextStyles(text, styles3) {
let result = text;
if (styles3.inverse) {
result = source_default.inverse(result);
}
if (styles3.strikethrough) {
result = source_default.strikethrough(result);
}
if (styles3.underline) {
result = source_default.underline(result);
}
if (styles3.italic) {
result = source_default.italic(result);
}
if (styles3.bold) {
result = source_default.bold(result);
}
if (styles3.dim) {
result = source_default.dim(result);
}
if (styles3.color) {
result = colorize(result, styles3.color, "foreground");
}
if (styles3.backgroundColor) {
result = colorize(result, styles3.backgroundColor, "background");
}
return result;
}
function applyColor(text, color) {
if (!color) {
return text;
}
return colorize(text, color, "foreground");
}
var CHALK_BOOSTED_FOR_XTERMJS, CHALK_CLAMPED_FOR_TMUX, RGB_REGEX, ANSI_REGEX, colorize = (str, color, type) => {
if (!color) {
return str;
}
if (color.startsWith("ansi:")) {
const value = color.substring("ansi:".length);
switch (value) {
case "black":
return type === "foreground" ? source_default.black(str) : source_default.bgBlack(str);
case "red":
return type === "foreground" ? source_default.red(str) : source_default.bgRed(str);
case "green":
return type === "foreground" ? source_default.green(str) : source_default.bgGreen(str);
case "yellow":
return type === "foreground" ? source_default.yellow(str) : source_default.bgYellow(str);
case "blue":
return type === "foreground" ? source_default.blue(str) : source_default.bgBlue(str);
case "magenta":
return type === "foreground" ? source_default.magenta(str) : source_default.bgMagenta(str);
case "cyan":
return type === "foreground" ? source_default.cyan(str) : source_default.bgCyan(str);
case "white":
return type === "foreground" ? source_default.white(str) : source_default.bgWhite(str);
case "blackBright":
return type === "foreground" ? source_default.blackBright(str) : source_default.bgBlackBright(str);
case "redBright":
return type === "foreground" ? source_default.redBright(str) : source_default.bgRedBright(str);
case "greenBright":
return type === "foreground" ? source_default.greenBright(str) : source_default.bgGreenBright(str);
case "yellowBright":
return type === "foreground" ? source_default.yellowBright(str) : source_default.bgYellowBright(str);
case "blueBright":
return type === "foreground" ? source_default.blueBright(str) : source_default.bgBlueBright(str);
case "magentaBright":
return type === "foreground" ? source_default.magentaBright(str) : source_default.bgMagentaBright(str);
case "cyanBright":
return type === "foreground" ? source_default.cyanBright(str) : source_default.bgCyanBright(str);
case "whiteBright":
return type === "foreground" ? source_default.whiteBright(str) : source_default.bgWhiteBright(str);
}
}
if (color.startsWith("#")) {
return type === "foreground" ? source_default.hex(color)(str) : source_default.bgHex(color)(str);
}
if (color.startsWith("ansi256")) {
const matches = ANSI_REGEX.exec(color);
if (!matches) {
return str;
}
const value = Number(matches[1]);
return type === "foreground" ? source_default.ansi256(value)(str) : source_default.bgAnsi256(value)(str);
}
if (color.startsWith("rgb")) {
const matches = RGB_REGEX.exec(color);
if (!matches) {
return str;
}
const firstValue = Number(matches[1]);
const secondValue = Number(matches[2]);
const thirdValue = Number(matches[3]);
return type === "foreground" ? source_default.rgb(firstValue, secondValue, thirdValue)(str) : source_default.bgRgb(firstValue, secondValue, thirdValue)(str);
}
return str;
};
var init_colorize = __esm(() => {
init_source();
CHALK_BOOSTED_FOR_XTERMJS = boostChalkLevelForXtermJs();
CHALK_CLAMPED_FOR_TMUX = clampChalkLevelForTmux();
RGB_REGEX = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
ANSI_REGEX = /^ansi256\(\s?(\d+)\s?\)$/;
});
// src/utils/earlyInput.ts
function stopCapturingEarlyInput() {
if (!isCapturing) {
return;
}
isCapturing = false;
if (readableHandler) {
process.stdin.removeListener("readable", readableHandler);
readableHandler = null;
}
}
function consumeEarlyInput() {
stopCapturingEarlyInput();
const input = earlyInputBuffer.trim();
earlyInputBuffer = "";
return input;
}
function seedEarlyInput(text) {
earlyInputBuffer = text;
}
var earlyInputBuffer = "", isCapturing = false, readableHandler = null;
var init_earlyInput = __esm(() => {
init_intl();
});
// src/utils/fullscreen.ts
import { spawnSync as spawnSync2 } from "child_process";
function isTmuxControlModeEnvHeuristic() {
if (!process.env.TMUX)
return false;
if (process.env.TERM_PROGRAM !== "iTerm.app")
return false;
const term = process.env.TERM ?? "";
return !term.startsWith("screen") && !term.startsWith("tmux");
}
function probeTmuxControlModeSync() {
tmuxControlModeProbed = isTmuxControlModeEnvHeuristic();
if (tmuxControlModeProbed)
return;
if (!process.env.TMUX)
return;
if (process.env.TERM_PROGRAM)
return;
let result;
try {
result = spawnSync2("tmux", ["display-message", "-p", "#{client_control_mode}"], { encoding: "utf8", timeout: 2000 });
} catch {
return;
}
if (result.status !== 0)
return;
tmuxControlModeProbed = result.stdout.trim() === "1";
}
function isTmuxControlMode() {
if (tmuxControlModeProbed === undefined)
probeTmuxControlModeSync();
return tmuxControlModeProbed ?? false;
}
function isFullscreenEnvEnabled() {
if (isEnvDefinedFalsy(process.env.CLAUDE_CODE_NO_FLICKER))
return false;
if (isEnvTruthy(process.env.CLAUDE_CODE_NO_FLICKER))
return true;
if (isTmuxControlMode()) {
if (!loggedTmuxCcDisable) {
loggedTmuxCcDisable = true;
logForDebugging("fullscreen disabled: tmux -CC (iTerm2 integration mode) detected · set CLAUDE_CODE_NO_FLICKER=1 to override");
}
return false;
}
return process.env.USER_TYPE === "ant";
}
function isMouseTrackingEnabled() {
return !isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_MOUSE);
}
function isMouseClicksDisabled() {
return isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_MOUSE_CLICKS);
}
function isFullscreenActive() {
return getIsInteractive() && isFullscreenEnvEnabled();
}
async function maybeGetTmuxMouseHint() {
if (!process.env.TMUX)
return null;
if (!isFullscreenActive() || isTmuxControlMode())
return null;
if (checkedTmuxMouseHint)
return null;
checkedTmuxMouseHint = true;
const { stdout, code } = await execFileNoThrow("tmux", ["show", "-Av", "mouse"], { useCwd: false, timeout: 2000 });
if (code !== 0 || stdout.trim() === "on")
return null;
return "tmux detected · scroll with PgUp/PgDn · or add 'set -g mouse on' to ~/.tmux.conf for wheel scroll";
}
var loggedTmuxCcDisable = false, checkedTmuxMouseHint = false, tmuxControlModeProbed;
var init_fullscreen = __esm(() => {
init_state();
init_debug();
init_envUtils();
init_execFileNoThrow();
});
// src/ink/termio/ansi.ts
function isEscFinal(byte) {
return byte >= 48 && byte <= 126;
}
var C0, ESC = "\x1B", BEL = "\x07", SEP = ";", ESC_TYPE;
var init_ansi = __esm(() => {
C0 = {
NUL: 0,
SOH: 1,
STX: 2,
ETX: 3,
EOT: 4,
ENQ: 5,
ACK: 6,
BEL: 7,
BS: 8,
HT: 9,
LF: 10,
VT: 11,
FF: 12,
CR: 13,
SO: 14,
SI: 15,
DLE: 16,
DC1: 17,
DC2: 18,
DC3: 19,
DC4: 20,
NAK: 21,
SYN: 22,
ETB: 23,
CAN: 24,
EM: 25,
SUB: 26,
ESC: 27,
FS: 28,
GS: 29,
RS: 30,
US: 31,
DEL: 127
};
ESC_TYPE = {
CSI: 91,
OSC: 93,
DCS: 80,
APC: 95,
PM: 94,
SOS: 88,
ST: 92
};
});
// src/ink/termio/csi.ts
function isCSIParam(byte) {
return byte >= CSI_RANGE.PARAM_START && byte <= CSI_RANGE.PARAM_END;
}
function isCSIIntermediate(byte) {
return byte >= CSI_RANGE.INTERMEDIATE_START && byte <= CSI_RANGE.INTERMEDIATE_END;
}
function isCSIFinal(byte) {
return byte >= CSI_RANGE.FINAL_START && byte <= CSI_RANGE.FINAL_END;
}
function csi(...args) {
if (args.length === 0)
return CSI_PREFIX;
if (args.length === 1)
return `${CSI_PREFIX}${args[0]}`;
const params = args.slice(0, -1);
const final = args[args.length - 1];
return `${CSI_PREFIX}${params.join(SEP)}${final}`;
}
function cursorUp(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "A");
}
function cursorDown(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "B");
}
function cursorForward(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "C");
}
function cursorBack(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "D");
}
function cursorTo(col) {
return csi(col, "G");
}
function cursorPosition(row, col) {
return csi(row, col, "H");
}
function cursorMove(x4, y3) {
let result = "";
if (x4 < 0) {
result += cursorBack(-x4);
} else if (x4 > 0) {
result += cursorForward(x4);
}
if (y3 < 0) {
result += cursorUp(-y3);
} else if (y3 > 0) {
result += cursorDown(y3);
}
return result;
}
function eraseLines(n2) {
if (n2 <= 0)
return "";
let result = "";
for (let i3 = 0;i3 < n2; i3++) {
result += ERASE_LINE;
if (i3 < n2 - 1) {
result += cursorUp(1);
}
}
result += CURSOR_LEFT;
return result;
}
function scrollUp(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "S");
}
function scrollDown(n2 = 1) {
return n2 === 0 ? "" : csi(n2, "T");
}
function setScrollRegion(top, bottom) {
return csi(top, bottom, "r");
}
var CSI_PREFIX, CSI_RANGE, CSI, ERASE_DISPLAY, ERASE_LINE_REGION, CURSOR_STYLES, CURSOR_LEFT, CURSOR_HOME, CURSOR_SAVE, CURSOR_RESTORE, ERASE_LINE, ERASE_SCREEN, ERASE_SCROLLBACK, RESET_SCROLL_REGION, PASTE_START, PASTE_END, FOCUS_IN, FOCUS_OUT, ENABLE_KITTY_KEYBOARD, DISABLE_KITTY_KEYBOARD, ENABLE_MODIFY_OTHER_KEYS, DISABLE_MODIFY_OTHER_KEYS;
var init_csi = __esm(() => {
init_ansi();
CSI_PREFIX = ESC + String.fromCharCode(ESC_TYPE.CSI);
CSI_RANGE = {
PARAM_START: 48,
PARAM_END: 63,
INTERMEDIATE_START: 32,
INTERMEDIATE_END: 47,
FINAL_START: 64,
FINAL_END: 126
};
CSI = {
CUU: 65,
CUD: 66,
CUF: 67,
CUB: 68,
CNL: 69,
CPL: 70,
CHA: 71,
CUP: 72,
CHT: 73,
VPA: 100,
HVP: 102,
ED: 74,
EL: 75,
ECH: 88,
IL: 76,
DL: 77,
ICH: 64,
DCH: 80,
SU: 83,
SD: 84,
SM: 104,
RM: 108,
SGR: 109,
DSR: 110,
DECSCUSR: 113,
DECSTBM: 114,
SCOSC: 115,
SCORC: 117,
CBT: 90
};
ERASE_DISPLAY = ["toEnd", "toStart", "all", "scrollback"];
ERASE_LINE_REGION = ["toEnd", "toStart", "all"];
CURSOR_STYLES = [
{ style: "block", blinking: true },
{ style: "block", blinking: true },
{ style: "block", blinking: false },
{ style: "underline", blinking: true },
{ style: "underline", blinking: false },
{ style: "bar", blinking: true },
{ style: "bar", blinking: false }
];
CURSOR_LEFT = csi("G");
CURSOR_HOME = csi("H");
CURSOR_SAVE = csi("s");
CURSOR_RESTORE = csi("u");
ERASE_LINE = csi(2, "K");
ERASE_SCREEN = csi(2, "J");
ERASE_SCROLLBACK = csi(3, "J");
RESET_SCROLL_REGION = csi("r");
PASTE_START = csi("200~");
PASTE_END = csi("201~");
FOCUS_IN = csi("I");
FOCUS_OUT = csi("O");
ENABLE_KITTY_KEYBOARD = csi(">1u");
DISABLE_KITTY_KEYBOARD = csi("4;2m");
DISABLE_MODIFY_OTHER_KEYS = csi(">4m");
});
// src/ink/termio/tokenize.ts
function createTokenizer(options) {
let currentState = "ground";
let currentBuffer = "";
const x10Mouse = options?.x10Mouse ?? false;
return {
feed(input) {
const result = tokenize2(input, currentState, currentBuffer, false, x10Mouse);
currentState = result.state.state;
currentBuffer = result.state.buffer;
return result.tokens;
},
flush() {
const result = tokenize2("", currentState, currentBuffer, true, x10Mouse);
currentState = result.state.state;
currentBuffer = result.state.buffer;
return result.tokens;
},
reset() {
currentState = "ground";
currentBuffer = "";
},
buffer() {
return currentBuffer;
}
};
}
function tokenize2(input, initialState, initialBuffer, flush, x10Mouse) {
const tokens = [];
const result = {
state: initialState,
buffer: ""
};
const data = initialBuffer + input;
let i3 = 0;
let textStart = 0;
let seqStart = 0;
const flushText = () => {
if (i3 > textStart) {
const text = data.slice(textStart, i3);
if (text) {
tokens.push({ type: "text", value: text });
}
}
textStart = i3;
};
const emitSequence = (seq) => {
if (seq) {
tokens.push({ type: "sequence", value: seq });
}
result.state = "ground";
textStart = i3;
};
while (i3 < data.length) {
const code = data.charCodeAt(i3);
switch (result.state) {
case "ground":
if (code === C0.ESC) {
flushText();
seqStart = i3;
result.state = "escape";
i3++;
} else {
i3++;
}
break;
case "escape":
if (code === ESC_TYPE.CSI) {
result.state = "csi";
i3++;
} else if (code === ESC_TYPE.OSC) {
result.state = "osc";
i3++;
} else if (code === ESC_TYPE.DCS) {
result.state = "dcs";
i3++;
} else if (code === ESC_TYPE.APC) {
result.state = "apc";
i3++;
} else if (code === 79) {
result.state = "ss3";
i3++;
} else if (isCSIIntermediate(code)) {
result.state = "escapeIntermediate";
i3++;
} else if (isEscFinal(code)) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else if (code === C0.ESC) {
emitSequence(data.slice(seqStart, i3));
seqStart = i3;
result.state = "escape";
i3++;
} else {
result.state = "ground";
textStart = seqStart;
}
break;
case "escapeIntermediate":
if (isCSIIntermediate(code)) {
i3++;
} else if (isEscFinal(code)) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else {
result.state = "ground";
textStart = seqStart;
}
break;
case "csi":
if (x10Mouse && code === 77 && i3 - seqStart === 2 && (i3 + 1 >= data.length || data.charCodeAt(i3 + 1) >= 32) && (i3 + 2 >= data.length || data.charCodeAt(i3 + 2) >= 32) && (i3 + 3 >= data.length || data.charCodeAt(i3 + 3) >= 32)) {
if (i3 + 4 <= data.length) {
i3 += 4;
emitSequence(data.slice(seqStart, i3));
} else {
i3 = data.length;
}
break;
}
if (isCSIFinal(code)) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else if (isCSIParam(code) || isCSIIntermediate(code)) {
i3++;
} else {
result.state = "ground";
textStart = seqStart;
}
break;
case "ss3":
if (code >= 64 && code <= 126) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else {
result.state = "ground";
textStart = seqStart;
}
break;
case "osc":
if (code === C0.BEL) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else if (code === C0.ESC && i3 + 1 < data.length && data.charCodeAt(i3 + 1) === ESC_TYPE.ST) {
i3 += 2;
emitSequence(data.slice(seqStart, i3));
} else {
i3++;
}
break;
case "dcs":
case "apc":
if (code === C0.BEL) {
i3++;
emitSequence(data.slice(seqStart, i3));
} else if (code === C0.ESC && i3 + 1 < data.length && data.charCodeAt(i3 + 1) === ESC_TYPE.ST) {
i3 += 2;
emitSequence(data.slice(seqStart, i3));
} else {
i3++;
}
break;
}
}
if (result.state === "ground") {
flushText();
} else if (flush) {
const remaining = data.slice(seqStart);
if (remaining)
tokens.push({ type: "sequence", value: remaining });
result.state = "ground";
} else {
result.buffer = data.slice(seqStart);
}
return { tokens, state: result };
}
var init_tokenize = __esm(() => {
init_ansi();
init_csi();
});
// src/ink/parse-keypress.ts
import { Buffer as Buffer10 } from "buffer";
function createPasteKey(content) {
return {
kind: "key",
name: "",
fn: false,
ctrl: false,
meta: false,
shift: false,
option: false,
super: false,
sequence: content,
raw: content,
isPasted: true
};
}
function parseTerminalResponse(s2) {
if (s2.startsWith("\x1B[")) {
let m3;
if (m3 = DECRPM_RE.exec(s2)) {
return {
type: "decrpm",
mode: parseInt(m3[1], 10),
status: parseInt(m3[2], 10)
};
}
if (m3 = DA1_RE.exec(s2)) {
return { type: "da1", params: splitNumericParams(m3[1]) };
}
if (m3 = DA2_RE.exec(s2)) {
return { type: "da2", params: splitNumericParams(m3[1]) };
}
if (m3 = KITTY_FLAGS_RE.exec(s2)) {
return { type: "kittyKeyboard", flags: parseInt(m3[1], 10) };
}
if (m3 = CURSOR_POSITION_RE.exec(s2)) {
return {
type: "cursorPosition",
row: parseInt(m3[1], 10),
col: parseInt(m3[2], 10)
};
}
return null;
}
if (s2.startsWith("\x1B]")) {
const m3 = OSC_RESPONSE_RE.exec(s2);
if (m3) {
return { type: "osc", code: parseInt(m3[1], 10), data: m3[2] };
}
}
if (s2.startsWith("\x1BP")) {
const m3 = XTVERSION_RE.exec(s2);
if (m3) {
return { type: "xtversion", name: m3[1] };
}
}
return null;
}
function splitNumericParams(params) {
if (!params)
return [];
return params.split(";").map((p) => parseInt(p, 10));
}
function inputToString(input) {
if (Buffer10.isBuffer(input)) {
if (input[0] > 127 && input[1] === undefined) {
input[0] -= 128;
return "\x1B" + String(input);
} else {
return String(input);
}
} else if (input !== undefined && typeof input !== "string") {
return String(input);
} else if (!input) {
return "";
} else {
return input;
}
}
function parseMultipleKeypresses(prevState, input = "") {
const isFlush = input === null;
const inputString = isFlush ? "" : inputToString(input);
const tokenizer = prevState._tokenizer ?? createTokenizer({ x10Mouse: true });
const tokens = isFlush ? tokenizer.flush() : tokenizer.feed(inputString);
const keys2 = [];
let inPaste = prevState.mode === "IN_PASTE";
let pasteBuffer = prevState.pasteBuffer;
for (const token of tokens) {
if (token.type === "sequence") {
if (token.value === PASTE_START) {
inPaste = true;
pasteBuffer = "";
} else if (token.value === PASTE_END) {
keys2.push(createPasteKey(pasteBuffer));
inPaste = false;
pasteBuffer = "";
} else if (inPaste) {
pasteBuffer += token.value;
} else {
const response = parseTerminalResponse(token.value);
if (response) {
keys2.push({ kind: "response", sequence: token.value, response });
} else {
const mouse = parseMouseEvent(token.value);
if (mouse) {
keys2.push(mouse);
} else {
keys2.push(parseKeypress(token.value));
}
}
}
} else if (token.type === "text") {
if (inPaste) {
pasteBuffer += token.value;
} else if (/^\[<\d+;\d+;\d+[Mm]$/.test(token.value) || /^\[M[\x60-\x7f][\x20-\uffff]{2}$/.test(token.value)) {
const resynthesized = "\x1B" + token.value;
const mouse = parseMouseEvent(resynthesized);
keys2.push(mouse ?? parseKeypress(resynthesized));
} else {
keys2.push(parseKeypress(token.value));
}
}
}
if (isFlush && inPaste && pasteBuffer) {
keys2.push(createPasteKey(pasteBuffer));
inPaste = false;
pasteBuffer = "";
}
const newState = {
mode: inPaste ? "IN_PASTE" : "NORMAL",
incomplete: tokenizer.buffer(),
pasteBuffer,
_tokenizer: tokenizer
};
return [keys2, newState];
}
function decodeModifier(modifier) {
const m3 = modifier - 1;
return {
shift: !!(m3 & 1),
meta: !!(m3 & 2),
ctrl: !!(m3 & 4),
super: !!(m3 & 8)
};
}
function keycodeToName(keycode) {
switch (keycode) {
case 9:
return "tab";
case 13:
return "return";
case 27:
return "escape";
case 32:
return "space";
case 127:
return "backspace";
case 57399:
return "0";
case 57400:
return "1";
case 57401:
return "2";
case 57402:
return "3";
case 57403:
return "4";
case 57404:
return "5";
case 57405:
return "6";
case 57406:
return "7";
case 57407:
return "8";
case 57408:
return "9";
case 57409:
return ".";
case 57410:
return "/";
case 57411:
return "*";
case 57412:
return "-";
case 57413:
return "+";
case 57414:
return "return";
case 57415:
return "=";
default:
if (keycode >= 32 && keycode <= 126) {
return String.fromCharCode(keycode).toLowerCase();
}
return;
}
}
function parseMouseEvent(s2) {
const match = SGR_MOUSE_RE.exec(s2);
if (!match)
return null;
const button = parseInt(match[1], 10);
if ((button & 64) !== 0)
return null;
return {
kind: "mouse",
button,
action: match[4] === "M" ? "press" : "release",
col: parseInt(match[2], 10),
row: parseInt(match[3], 10),
sequence: s2
};
}
function parseKeypress(s2 = "") {
let parts;
const key = {
kind: "key",
name: "",
fn: false,
ctrl: false,
meta: false,
shift: false,
option: false,
super: false,
sequence: s2,
raw: s2,
isPasted: false
};
key.sequence = key.sequence || s2 || key.name;
let match;
if (match = CSI_U_RE.exec(s2)) {
const codepoint = parseInt(match[1], 10);
const modifier = match[2] ? parseInt(match[2], 10) : 1;
const mods = decodeModifier(modifier);
const name3 = keycodeToName(codepoint);
return {
kind: "key",
name: name3,
fn: false,
ctrl: mods.ctrl,
meta: mods.meta,
shift: mods.shift,
option: false,
super: mods.super,
sequence: s2,
raw: s2,
isPasted: false
};
}
if (match = MODIFY_OTHER_KEYS_RE.exec(s2)) {
const mods = decodeModifier(parseInt(match[1], 10));
const name3 = keycodeToName(parseInt(match[2], 10));
return {
kind: "key",
name: name3,
fn: false,
ctrl: mods.ctrl,
meta: mods.meta,
shift: mods.shift,
option: false,
super: mods.super,
sequence: s2,
raw: s2,
isPasted: false
};
}
if (match = SGR_MOUSE_RE.exec(s2)) {
const button = parseInt(match[1], 10);
if ((button & 67) === 64)
return createNavKey(s2, "wheelup", false);
if ((button & 67) === 65)
return createNavKey(s2, "wheeldown", false);
return createNavKey(s2, "mouse", false);
}
if (s2.length === 6 && s2.startsWith("\x1B[M")) {
const button = s2.charCodeAt(3) - 32;
if ((button & 67) === 64)
return createNavKey(s2, "wheelup", false);
if ((button & 67) === 65)
return createNavKey(s2, "wheeldown", false);
return createNavKey(s2, "mouse", false);
}
if (s2 === "\r") {
key.raw = undefined;
key.name = "return";
} else if (s2 === `
`) {
key.name = "enter";
} else if (s2 === "\t") {
key.name = "tab";
} else if (s2 === "\b" || s2 === "\x1B\b") {
key.name = "backspace";
key.meta = s2.charAt(0) === "\x1B";
} else if (s2 === "" || s2 === "\x1B") {
key.name = "backspace";
key.meta = s2.charAt(0) === "\x1B";
} else if (s2 === "\x1B" || s2 === "\x1B\x1B") {
key.name = "escape";
key.meta = s2.length === 2;
} else if (s2 === " " || s2 === "\x1B ") {
key.name = "space";
key.meta = s2.length === 2;
} else if (s2 === "\x1F") {
key.name = "_";
key.ctrl = true;
} else if (s2 <= "\x1A" && s2.length === 1) {
key.name = String.fromCharCode(s2.charCodeAt(0) + 97 - 1);
key.ctrl = true;
} else if (s2.length === 1 && s2 >= "0" && s2 <= "9") {
key.name = "number";
} else if (s2.length === 1 && s2 >= "a" && s2 <= "z") {
key.name = s2;
} else if (s2.length === 1 && s2 >= "A" && s2 <= "Z") {
key.name = s2.toLowerCase();
key.shift = true;
} else if (parts = META_KEY_CODE_RE.exec(s2)) {
key.meta = true;
key.shift = /^[A-Z]$/.test(parts[1]);
} else if (parts = FN_KEY_RE.exec(s2)) {
const segs = [...s2];
if (segs[0] === "\x1B" && segs[1] === "\x1B") {
key.option = true;
}
const code = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
const modifier = (parts[3] || parts[5] || 1) - 1;
key.ctrl = !!(modifier & 4);
key.meta = !!(modifier & 2);
key.super = !!(modifier & 8);
key.shift = !!(modifier & 1);
key.code = code;
key.name = keyName[code];
key.shift = isShiftKey(code) || key.shift;
key.ctrl = isCtrlKey(code) || key.ctrl;
}
if (key.raw === "\x1Bb") {
key.meta = true;
key.name = "left";
} else if (key.raw === "\x1Bf") {
key.meta = true;
key.name = "right";
}
switch (s2) {
case "\x1B[1~":
return createNavKey(s2, "home", false);
case "\x1B[4~":
return createNavKey(s2, "end", false);
case "\x1B[5~":
return createNavKey(s2, "pageup", false);
case "\x1B[6~":
return createNavKey(s2, "pagedown", false);
case "\x1B[1;5D":
return createNavKey(s2, "left", true);
case "\x1B[1;5C":
return createNavKey(s2, "right", true);
}
return key;
}
function createNavKey(s2, name3, ctrl) {
return {
kind: "key",
name: name3,
ctrl,
meta: false,
shift: false,
option: false,
super: false,
fn: false,
sequence: s2,
raw: s2,
isPasted: false
};
}
var META_KEY_CODE_RE, FN_KEY_RE, CSI_U_RE, MODIFY_OTHER_KEYS_RE, DECRPM_RE, DA1_RE, DA2_RE, KITTY_FLAGS_RE, CURSOR_POSITION_RE, OSC_RESPONSE_RE, XTVERSION_RE, SGR_MOUSE_RE, INITIAL_STATE, keyName, nonAlphanumericKeys, isShiftKey = (code) => {
return [
"[a",
"[b",
"[c",
"[d",
"[e",
"[2$",
"[3$",
"[5$",
"[6$",
"[7$",
"[8$",
"[Z"
].includes(code);
}, isCtrlKey = (code) => {
return [
"Oa",
"Ob",
"Oc",
"Od",
"Oe",
"[2^",
"[3^",
"[5^",
"[6^",
"[7^",
"[8^"
].includes(code);
};
var init_parse_keypress = __esm(() => {
init_csi();
init_tokenize();
META_KEY_CODE_RE = /^(?:\x1b)([a-zA-Z0-9])$/;
FN_KEY_RE = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
CSI_U_RE = /^\x1b\[(\d+)(?:;(\d+))?u/;
MODIFY_OTHER_KEYS_RE = /^\x1b\[27;(\d+);(\d+)~/;
DECRPM_RE = /^\x1b\[\?(\d+);(\d+)\$y$/;
DA1_RE = /^\x1b\[\?([\d;]*)c$/;
DA2_RE = /^\x1b\[>([\d;]*)c$/;
KITTY_FLAGS_RE = /^\x1b\[\?(\d+)u$/;
CURSOR_POSITION_RE = /^\x1b\[\?(\d+);(\d+)R$/;
OSC_RESPONSE_RE = /^\x1b\](\d+);(.*?)(?:\x07|\x1b\\)$/s;
XTVERSION_RE = /^\x1bP>\|(.*?)(?:\x07|\x1b\\)$/s;
SGR_MOUSE_RE = /^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;
INITIAL_STATE = {
mode: "NORMAL",
incomplete: "",
pasteBuffer: ""
};
keyName = {
OP: "f1",
OQ: "f2",
OR: "f3",
OS: "f4",
Op: "0",
Oq: "1",
Or: "2",
Os: "3",
Ot: "4",
Ou: "5",
Ov: "6",
Ow: "7",
Ox: "8",
Oy: "9",
Oj: "*",
Ok: "+",
Ol: ",",
Om: "-",
On: ".",
Oo: "/",
OM: "return",
"[11~": "f1",
"[12~": "f2",
"[13~": "f3",
"[14~": "f4",
"[[A": "f1",
"[[B": "f2",
"[[C": "f3",
"[[D": "f4",
"[[E": "f5",
"[15~": "f5",
"[17~": "f6",
"[18~": "f7",
"[19~": "f8",
"[20~": "f9",
"[21~": "f10",
"[23~": "f11",
"[24~": "f12",
"[A": "up",
"[B": "down",
"[C": "right",
"[D": "left",
"[E": "clear",
"[F": "end",
"[H": "home",
OA: "up",
OB: "down",
OC: "right",
OD: "left",
OE: "clear",
OF: "end",
OH: "home",
"[1~": "home",
"[2~": "insert",
"[3~": "delete",
"[4~": "end",
"[5~": "pageup",
"[6~": "pagedown",
"[[5~": "pageup",
"[[6~": "pagedown",
"[7~": "home",
"[8~": "end",
"[a": "up",
"[b": "down",
"[c": "right",
"[d": "left",
"[e": "clear",
"[2$": "insert",
"[3$": "delete",
"[5$": "pageup",
"[6$": "pagedown",
"[7$": "home",
"[8$": "end",
Oa: "up",
Ob: "down",
Oc: "right",
Od: "left",
Oe: "clear",
"[2^": "insert",
"[3^": "delete",
"[5^": "pageup",
"[6^": "pagedown",
"[7^": "home",
"[8^": "end",
"[Z": "tab"
};
nonAlphanumericKeys = [
...Object.values(keyName).filter((v2) => v2.length > 1),
"escape",
"backspace",
"wheelup",
"wheeldown",
"mouse"
];
});
// src/ink/events/input-event.ts
function parseKey(keypress) {
const key = {
upArrow: keypress.name === "up",
downArrow: keypress.name === "down",
leftArrow: keypress.name === "left",
rightArrow: keypress.name === "right",
pageDown: keypress.name === "pagedown",
pageUp: keypress.name === "pageup",
wheelUp: keypress.name === "wheelup",
wheelDown: keypress.name === "wheeldown",
home: keypress.name === "home",
end: keypress.name === "end",
return: keypress.name === "return",
escape: keypress.name === "escape",
fn: keypress.fn,
ctrl: keypress.ctrl,
shift: keypress.shift,
tab: keypress.name === "tab",
backspace: keypress.name === "backspace",
delete: keypress.name === "delete",
meta: keypress.meta || keypress.name === "escape" || keypress.option,
super: keypress.super
};
let input = keypress.ctrl ? keypress.name : keypress.sequence;
if (input === undefined) {
input = "";
}
if (keypress.ctrl && input === "space") {
input = " ";
}
if (keypress.code && !keypress.name) {
input = "";
}
if (!keypress.name && /^\[<\d+;\d+;\d+[Mm]/.test(input)) {
input = "";
}
if (input.startsWith("\x1B")) {
input = input.slice(1);
}
let processedAsSpecialSequence = false;
if (/^\[\d/.test(input) && input.endsWith("u")) {
if (!keypress.name) {
input = "";
} else {
input = keypress.name === "space" ? " " : keypress.name === "escape" ? "" : keypress.name;
}
processedAsSpecialSequence = true;
}
if (input.startsWith("[27;") && input.endsWith("~")) {
if (!keypress.name) {
input = "";
} else {
input = keypress.name === "space" ? " " : keypress.name === "escape" ? "" : keypress.name;
}
processedAsSpecialSequence = true;
}
if (input.startsWith("O") && input.length === 2 && keypress.name && keypress.name.length === 1) {
input = keypress.name;
processedAsSpecialSequence = true;
}
if (!processedAsSpecialSequence && keypress.name && nonAlphanumericKeys.includes(keypress.name)) {
input = "";
}
if (input.length === 1 && typeof input[0] === "string" && input[0] >= "A" && input[0] <= "Z") {
key.shift = true;
}
return [key, input];
}
var InputEvent;
var init_input_event = __esm(() => {
init_parse_keypress();
InputEvent = class InputEvent extends Event2 {
keypress;
key;
input;
constructor(keypress) {
super();
const [key, input] = parseKey(keypress);
this.keypress = keypress;
this.key = key;
this.input = input;
}
};
});
// src/ink/events/terminal-focus-event.ts
var TerminalFocusEvent;
var init_terminal_focus_event = __esm(() => {
TerminalFocusEvent = class TerminalFocusEvent extends Event2 {
type;
constructor(type) {
super();
this.type = type;
}
};
});
// node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.js
var require_scheduler_development = __commonJS((exports) => {
(function() {
function performWorkUntilDeadline() {
needsPaint = false;
if (isMessageLoopRunning) {
var currentTime = exports.unstable_now();
startTime = currentTime;
var hasMoreWork = true;
try {
a: {
isHostCallbackScheduled = false;
isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1);
isPerformingWork = true;
var previousPriorityLevel = currentPriorityLevel;
try {
b: {
advanceTimers(currentTime);
for (currentTask = peek(taskQueue);currentTask !== null && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) {
var callback = currentTask.callback;
if (typeof callback === "function") {
currentTask.callback = null;
currentPriorityLevel = currentTask.priorityLevel;
var continuationCallback = callback(currentTask.expirationTime <= currentTime);
currentTime = exports.unstable_now();
if (typeof continuationCallback === "function") {
currentTask.callback = continuationCallback;
advanceTimers(currentTime);
hasMoreWork = true;
break b;
}
currentTask === peek(taskQueue) && pop(taskQueue);
advanceTimers(currentTime);
} else
pop(taskQueue);
currentTask = peek(taskQueue);
}
if (currentTask !== null)
hasMoreWork = true;
else {
var firstTimer = peek(timerQueue);
firstTimer !== null && requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);
hasMoreWork = false;
}
}
break a;
} finally {
currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false;
}
hasMoreWork = undefined;
}
} finally {
hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false;
}
}
}
function push(heap, node) {
var index = heap.length;
heap.push(node);
a:
for (;0 < index; ) {
var parentIndex = index - 1 >>> 1, parent = heap[parentIndex];
if (0 < compare(parent, node))
heap[parentIndex] = node, heap[index] = parent, index = parentIndex;
else
break a;
}
}
function peek(heap) {
return heap.length === 0 ? null : heap[0];
}
function pop(heap) {
if (heap.length === 0)
return null;
var first = heap[0], last = heap.pop();
if (last !== first) {
heap[0] = last;
a:
for (var index = 0, length = heap.length, halfLength = length >>> 1;index < halfLength; ) {
var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex];
if (0 > compare(left, last))
rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex);
else if (rightIndex < length && 0 > compare(right, last))
heap[index] = right, heap[rightIndex] = last, index = rightIndex;
else
break a;
}
}
return first;
}
function compare(a2, b2) {
var diff = a2.sortIndex - b2.sortIndex;
return diff !== 0 ? diff : a2.id - b2.id;
}
function advanceTimers(currentTime) {
for (var timer = peek(timerQueue);timer !== null; ) {
if (timer.callback === null)
pop(timerQueue);
else if (timer.startTime <= currentTime)
pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer);
else
break;
timer = peek(timerQueue);
}
}
function handleTimeout(currentTime) {
isHostTimeoutScheduled = false;
advanceTimers(currentTime);
if (!isHostCallbackScheduled)
if (peek(taskQueue) !== null)
isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline());
else {
var firstTimer = peek(timerQueue);
firstTimer !== null && requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);
}
}
function shouldYieldToHost() {
return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true;
}
function requestHostTimeout(callback, ms) {
taskTimeoutID = localSetTimeout(function() {
callback(exports.unstable_now());
}, ms);
}
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
exports.unstable_now = undefined;
if (typeof performance === "object" && typeof performance.now === "function") {
var localPerformance = performance;
exports.unstable_now = function() {
return localPerformance.now();
};
} else {
var localDate = Date, initialTime = localDate.now();
exports.unstable_now = function() {
return localDate.now() - initialTime;
};
}
var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = typeof setTimeout === "function" ? setTimeout : null, localClearTimeout = typeof clearTimeout === "function" ? clearTimeout : null, localSetImmediate = typeof setImmediate !== "undefined" ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1;
if (typeof localSetImmediate === "function")
var schedulePerformWorkUntilDeadline = function() {
localSetImmediate(performWorkUntilDeadline);
};
else if (typeof MessageChannel !== "undefined") {
var channel = new MessageChannel, port = channel.port2;
channel.port1.onmessage = performWorkUntilDeadline;
schedulePerformWorkUntilDeadline = function() {
port.postMessage(null);
};
} else
schedulePerformWorkUntilDeadline = function() {
localSetTimeout(performWorkUntilDeadline, 0);
};
exports.unstable_IdlePriority = 5;
exports.unstable_ImmediatePriority = 1;
exports.unstable_LowPriority = 4;
exports.unstable_NormalPriority = 3;
exports.unstable_Profiling = null;
exports.unstable_UserBlockingPriority = 2;
exports.unstable_cancelCallback = function(task) {
task.callback = null;
};
exports.unstable_forceFrameRate = function(fps) {
0 > fps || 125 < fps ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : frameInterval = 0 < fps ? Math.floor(1000 / fps) : 5;
};
exports.unstable_getCurrentPriorityLevel = function() {
return currentPriorityLevel;
};
exports.unstable_next = function(eventHandler) {
switch (currentPriorityLevel) {
case 1:
case 2:
case 3:
var priorityLevel = 3;
break;
default:
priorityLevel = currentPriorityLevel;
}
var previousPriorityLevel = currentPriorityLevel;
currentPriorityLevel = priorityLevel;
try {
return eventHandler();
} finally {
currentPriorityLevel = previousPriorityLevel;
}
};
exports.unstable_requestPaint = function() {
needsPaint = true;
};
exports.unstable_runWithPriority = function(priorityLevel, eventHandler) {
switch (priorityLevel) {
case 1:
case 2:
case 3:
case 4:
case 5:
break;
default:
priorityLevel = 3;
}
var previousPriorityLevel = currentPriorityLevel;
currentPriorityLevel = priorityLevel;
try {
return eventHandler();
} finally {
currentPriorityLevel = previousPriorityLevel;
}
};
exports.unstable_scheduleCallback = function(priorityLevel, callback, options) {
var currentTime = exports.unstable_now();
typeof options === "object" && options !== null ? (options = options.delay, options = typeof options === "number" && 0 < options ? currentTime + options : currentTime) : options = currentTime;
switch (priorityLevel) {
case 1:
var timeout = -1;
break;
case 2:
timeout = 250;
break;
case 5:
timeout = 1073741823;
break;
case 4:
timeout = 1e4;
break;
default:
timeout = 5000;
}
timeout = options + timeout;
priorityLevel = {
id: taskIdCounter++,
callback,
priorityLevel,
startTime: options,
expirationTime: timeout,
sortIndex: -1
};
options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), peek(taskQueue) === null && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline())));
return priorityLevel;
};
exports.unstable_shouldYield = shouldYieldToHost;
exports.unstable_wrapCallback = function(callback) {
var parentPriorityLevel = currentPriorityLevel;
return function() {
var previousPriorityLevel = currentPriorityLevel;
currentPriorityLevel = parentPriorityLevel;
try {
return callback.apply(this, arguments);
} finally {
currentPriorityLevel = previousPriorityLevel;
}
};
};
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
})();
});
// node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.js
var require_scheduler = __commonJS((exports, module) => {
var scheduler_development = __toESM(require_scheduler_development());
if (false) {} else {
module.exports = scheduler_development;
}
});
// node_modules/.pnpm/react-reconciler@0.33.0_react@19.2.4/node_modules/react-reconciler/cjs/react-reconciler.development.js
var require_react_reconciler_development = __commonJS((exports, module) => {
var React2 = __toESM(require_react());
var Scheduler = __toESM(require_scheduler());
module.exports = function($$$config) {
function findHook(fiber, id) {
for (fiber = fiber.memoizedState;fiber !== null && 0 < id; )
fiber = fiber.next, id--;
return fiber;
}
function copyWithSetImpl(obj, path13, index, value) {
if (index >= path13.length)
return value;
var key = path13[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
updated[key] = copyWithSetImpl(obj[key], path13, index + 1, value);
return updated;
}
function copyWithRename(obj, oldPath, newPath) {
if (oldPath.length !== newPath.length)
console.warn("copyWithRename() expects paths of the same length");
else {
for (var i3 = 0;i3 < newPath.length - 1; i3++)
if (oldPath[i3] !== newPath[i3]) {
console.warn("copyWithRename() expects paths to be the same except for the deepest key");
return;
}
return copyWithRenameImpl(obj, oldPath, newPath, 0);
}
}
function copyWithRenameImpl(obj, oldPath, newPath, index) {
var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index + 1);
return updated;
}
function copyWithDeleteImpl(obj, path13, index) {
var key = path13[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);
if (index + 1 === path13.length)
return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;
updated[key] = copyWithDeleteImpl(obj[key], path13, index + 1);
return updated;
}
function shouldSuspendImpl() {
return false;
}
function shouldErrorImpl() {
return null;
}
function createFiber(tag, pendingProps, key, mode) {
return new FiberNode(tag, pendingProps, key, mode);
}
function scheduleRoot(root2, element) {
root2.context === emptyContextObject && (updateContainerSync(element, root2, null, null), flushSyncWork());
}
function scheduleRefresh(root2, update) {
if (resolveFamily2 !== null) {
var staleFamilies = update.staleFamilies;
update = update.updatedFamilies;
flushPendingEffects();
scheduleFibersWithFamiliesRecursively(root2.current, update, staleFamilies);
flushSyncWork();
}
}
function setRefreshHandler(handler) {
resolveFamily2 = handler;
}
function warnInvalidHookAccess() {
console.error("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks");
}
function warnInvalidContextAccess() {
console.error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
}
function noop9() {}
function warnForMissingKey() {}
function setToSortedString(set2) {
var array2 = [];
set2.forEach(function(value) {
array2.push(value);
});
return array2.sort().join(", ");
}
function getNearestMountedFiber(fiber) {
var node = fiber, nearestMounted = fiber;
if (fiber.alternate)
for (;node.return; )
node = node.return;
else {
fiber = node;
do
node = fiber, (node.flags & 4098) !== 0 && (nearestMounted = node.return), fiber = node.return;
while (fiber);
}
return node.tag === 3 ? nearestMounted : null;
}
function assertIsMounted(fiber) {
if (getNearestMountedFiber(fiber) !== fiber)
throw Error("Unable to find node on an unmounted component.");
}
function findCurrentFiberUsingSlowPath(fiber) {
var alternate = fiber.alternate;
if (!alternate) {
alternate = getNearestMountedFiber(fiber);
if (alternate === null)
throw Error("Unable to find node on an unmounted component.");
return alternate !== fiber ? null : fiber;
}
for (var a2 = fiber, b2 = alternate;; ) {
var parentA = a2.return;
if (parentA === null)
break;
var parentB = parentA.alternate;
if (parentB === null) {
b2 = parentA.return;
if (b2 !== null) {
a2 = b2;
continue;
}
break;
}
if (parentA.child === parentB.child) {
for (parentB = parentA.child;parentB; ) {
if (parentB === a2)
return assertIsMounted(parentA), fiber;
if (parentB === b2)
return assertIsMounted(parentA), alternate;
parentB = parentB.sibling;
}
throw Error("Unable to find node on an unmounted component.");
}
if (a2.return !== b2.return)
a2 = parentA, b2 = parentB;
else {
for (var didFindChild = false, _child = parentA.child;_child; ) {
if (_child === a2) {
didFindChild = true;
a2 = parentA;
b2 = parentB;
break;
}
if (_child === b2) {
didFindChild = true;
b2 = parentA;
a2 = parentB;
break;
}
_child = _child.sibling;
}
if (!didFindChild) {
for (_child = parentB.child;_child; ) {
if (_child === a2) {
didFindChild = true;
a2 = parentB;
b2 = parentA;
break;
}
if (_child === b2) {
didFindChild = true;
b2 = parentB;
a2 = parentA;
break;
}
_child = _child.sibling;
}
if (!didFindChild)
throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.");
}
}
if (a2.alternate !== b2)
throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.");
}
if (a2.tag !== 3)
throw Error("Unable to find node on an unmounted component.");
return a2.stateNode.current === a2 ? fiber : alternate;
}
function findCurrentHostFiber(parent) {
parent = findCurrentFiberUsingSlowPath(parent);
return parent !== null ? findCurrentHostFiberImpl(parent) : null;
}
function findCurrentHostFiberImpl(node) {
var tag = node.tag;
if (tag === 5 || tag === 26 || tag === 27 || tag === 6)
return node;
for (node = node.child;node !== null; ) {
tag = findCurrentHostFiberImpl(node);
if (tag !== null)
return tag;
node = node.sibling;
}
return null;
}
function findCurrentHostFiberWithNoPortalsImpl(node) {
var tag = node.tag;
if (tag === 5 || tag === 26 || tag === 27 || tag === 6)
return node;
for (node = node.child;node !== null; ) {
if (node.tag !== 4 && (tag = findCurrentHostFiberWithNoPortalsImpl(node), tag !== null))
return tag;
node = node.sibling;
}
return null;
}
function getIteratorFn(maybeIterable) {
if (maybeIterable === null || typeof maybeIterable !== "object")
return null;
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
return typeof maybeIterable === "function" ? maybeIterable : null;
}
function getComponentNameFromType(type) {
if (type == null)
return null;
if (typeof type === "function")
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
if (typeof type === "string")
return type;
switch (type) {
case REACT_FRAGMENT_TYPE:
return "Fragment";
case REACT_PROFILER_TYPE:
return "Profiler";
case REACT_STRICT_MODE_TYPE:
return "StrictMode";
case REACT_SUSPENSE_TYPE:
return "Suspense";
case REACT_SUSPENSE_LIST_TYPE:
return "SuspenseList";
case REACT_ACTIVITY_TYPE:
return "Activity";
}
if (typeof type === "object")
switch (typeof type.tag === "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
case REACT_PORTAL_TYPE:
return "Portal";
case REACT_CONTEXT_TYPE:
return type.displayName || "Context";
case REACT_CONSUMER_TYPE:
return (type._context.displayName || "Context") + ".Consumer";
case REACT_FORWARD_REF_TYPE:
var innerType = type.render;
type = type.displayName;
type || (type = innerType.displayName || innerType.name || "", type = type !== "" ? "ForwardRef(" + type + ")" : "ForwardRef");
return type;
case REACT_MEMO_TYPE:
return innerType = type.displayName || null, innerType !== null ? innerType : getComponentNameFromType(type.type) || "Memo";
case REACT_LAZY_TYPE:
innerType = type._payload;
type = type._init;
try {
return getComponentNameFromType(type(innerType));
} catch (x4) {}
}
return null;
}
function getComponentNameFromFiber(fiber) {
var type = fiber.type;
switch (fiber.tag) {
case 31:
return "Activity";
case 24:
return "Cache";
case 9:
return (type._context.displayName || "Context") + ".Consumer";
case 10:
return type.displayName || "Context";
case 18:
return "DehydratedFragment";
case 11:
return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || (fiber !== "" ? "ForwardRef(" + fiber + ")" : "ForwardRef");
case 7:
return "Fragment";
case 26:
case 27:
case 5:
return type;
case 4:
return "Portal";
case 3:
return "Root";
case 6:
return "Text";
case 16:
return getComponentNameFromType(type);
case 8:
return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";
case 22:
return "Offscreen";
case 12:
return "Profiler";
case 21:
return "Scope";
case 13:
return "Suspense";
case 19:
return "SuspenseList";
case 25:
return "TracingMarker";
case 1:
case 0:
case 14:
case 15:
if (typeof type === "function")
return type.displayName || type.name || null;
if (typeof type === "string")
return type;
break;
case 29:
type = fiber._debugInfo;
if (type != null) {
for (var i3 = type.length - 1;0 <= i3; i3--)
if (typeof type[i3].name === "string")
return type[i3].name;
}
if (fiber.return !== null)
return getComponentNameFromFiber(fiber.return);
}
return null;
}
function createCursor(defaultValue) {
return { current: defaultValue };
}
function pop(cursor, fiber) {
0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);
}
function push(cursor, value, fiber) {
index$jscomp$0++;
valueStack[index$jscomp$0] = cursor.current;
fiberStack[index$jscomp$0] = fiber;
cursor.current = value;
}
function clz32Fallback(x4) {
x4 >>>= 0;
return x4 === 0 ? 32 : 31 - (log$1(x4) / LN2 | 0) | 0;
}
function getHighestPriorityLanes(lanes) {
var pendingSyncLanes = lanes & 42;
if (pendingSyncLanes !== 0)
return pendingSyncLanes;
switch (lanes & -lanes) {
case 1:
return 1;
case 2:
return 2;
case 4:
return 4;
case 8:
return 8;
case 16:
return 16;
case 32:
return 32;
case 64:
return 64;
case 128:
return 128;
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
return lanes & 261888;
case 262144:
case 524288:
case 1048576:
case 2097152:
return lanes & 3932160;
case 4194304:
case 8388608:
case 16777216:
case 33554432:
return lanes & 62914560;
case 67108864:
return 67108864;
case 134217728:
return 134217728;
case 268435456:
return 268435456;
case 536870912:
return 536870912;
case 1073741824:
return 0;
default:
return console.error("Should have found matching lanes. This is a bug in React."), lanes;
}
}
function getNextLanes(root2, wipLanes, rootHasPendingCommit) {
var pendingLanes = root2.pendingLanes;
if (pendingLanes === 0)
return 0;
var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes;
root2 = root2.warmLanes;
var nonIdlePendingLanes = pendingLanes & 134217727;
nonIdlePendingLanes !== 0 ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, pendingLanes !== 0 ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, pingedLanes !== 0 ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, rootHasPendingCommit !== 0 && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, nonIdlePendingLanes !== 0 ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : pingedLanes !== 0 ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, rootHasPendingCommit !== 0 && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));
return nextLanes === 0 ? 0 : wipLanes !== 0 && wipLanes !== nextLanes && (wipLanes & suspendedLanes) === 0 && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || suspendedLanes === 32 && (rootHasPendingCommit & 4194048) !== 0) ? wipLanes : nextLanes;
}
function checkIfRootIsPrerendering(root2, renderLanes2) {
return (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2) === 0;
}
function computeExpirationTime(lane, currentTime) {
switch (lane) {
case 1:
case 2:
case 4:
case 8:
case 64:
return currentTime + 250;
case 16:
case 32:
case 128:
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
case 262144:
case 524288:
case 1048576:
case 2097152:
return currentTime + 5000;
case 4194304:
case 8388608:
case 16777216:
case 33554432:
return -1;
case 67108864:
case 134217728:
case 268435456:
case 536870912:
case 1073741824:
return -1;
default:
return console.error("Should have found matching lanes. This is a bug in React."), -1;
}
}
function claimNextRetryLane() {
var lane = nextRetryLane;
nextRetryLane <<= 1;
(nextRetryLane & 62914560) === 0 && (nextRetryLane = 4194304);
return lane;
}
function createLaneMap(initial) {
for (var laneMap = [], i3 = 0;31 > i3; i3++)
laneMap.push(initial);
return laneMap;
}
function markRootUpdated$1(root2, updateLane) {
root2.pendingLanes |= updateLane;
updateLane !== 268435456 && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0);
}
function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {
var previouslyPendingLanes = root2.pendingLanes;
root2.pendingLanes = remainingLanes;
root2.suspendedLanes = 0;
root2.pingedLanes = 0;
root2.warmLanes = 0;
root2.expiredLanes &= remainingLanes;
root2.entangledLanes &= remainingLanes;
root2.errorRecoveryDisabledLanes &= remainingLanes;
root2.shellSuspendCounter = 0;
var { entanglements, expirationTimes, hiddenUpdates } = root2;
for (remainingLanes = previouslyPendingLanes & ~remainingLanes;0 < remainingLanes; ) {
var index = 31 - clz32(remainingLanes), lane = 1 << index;
entanglements[index] = 0;
expirationTimes[index] = -1;
var hiddenUpdatesForLane = hiddenUpdates[index];
if (hiddenUpdatesForLane !== null)
for (hiddenUpdates[index] = null, index = 0;index < hiddenUpdatesForLane.length; index++) {
var update = hiddenUpdatesForLane[index];
update !== null && (update.lane &= -536870913);
}
remainingLanes &= ~lane;
}
spawnedLane !== 0 && markSpawnedDeferredLane(root2, spawnedLane, 0);
suspendedRetryLanes !== 0 && updatedLanes === 0 && root2.tag !== 0 && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));
}
function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) {
root2.pendingLanes |= spawnedLane;
root2.suspendedLanes &= ~spawnedLane;
var spawnedLaneIndex = 31 - clz32(spawnedLane);
root2.entangledLanes |= spawnedLane;
root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 261930;
}
function markRootEntangled(root2, entangledLanes) {
var rootEntangledLanes = root2.entangledLanes |= entangledLanes;
for (root2 = root2.entanglements;rootEntangledLanes; ) {
var index = 31 - clz32(rootEntangledLanes), lane = 1 << index;
lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes);
rootEntangledLanes &= ~lane;
}
}
function getBumpedLaneForHydration(root2, renderLanes2) {
var renderLane = renderLanes2 & -renderLanes2;
renderLane = (renderLane & 42) !== 0 ? 1 : getBumpedLaneForHydrationByLane(renderLane);
return (renderLane & (root2.suspendedLanes | renderLanes2)) !== 0 ? 0 : renderLane;
}
function getBumpedLaneForHydrationByLane(lane) {
switch (lane) {
case 2:
lane = 1;
break;
case 8:
lane = 4;
break;
case 32:
lane = 16;
break;
case 256:
case 512:
case 1024:
case 2048:
case 4096:
case 8192:
case 16384:
case 32768:
case 65536:
case 131072:
case 262144:
case 524288:
case 1048576:
case 2097152:
case 4194304:
case 8388608:
case 16777216:
case 33554432:
lane = 128;
break;
case 268435456:
lane = 134217728;
break;
default:
lane = 0;
}
return lane;
}
function addFiberToLanesMap(root2, fiber, lanes) {
if (isDevToolsPresent)
for (root2 = root2.pendingUpdatersLaneMap;0 < lanes; ) {
var index = 31 - clz32(lanes), lane = 1 << index;
root2[index].add(fiber);
lanes &= ~lane;
}
}
function movePendingFibersToMemoized(root2, lanes) {
if (isDevToolsPresent)
for (var { pendingUpdatersLaneMap, memoizedUpdaters } = root2;0 < lanes; ) {
var index = 31 - clz32(lanes);
root2 = 1 << index;
index = pendingUpdatersLaneMap[index];
0 < index.size && (index.forEach(function(fiber) {
var alternate = fiber.alternate;
alternate !== null && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);
}), index.clear());
lanes &= ~root2;
}
}
function lanesToEventPriority(lanes) {
lanes &= -lanes;
return 2 < lanes ? 8 < lanes ? (lanes & 134217727) !== 0 ? 32 : 268435456 : 8 : 2;
}
function injectInternals(internals) {
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === "undefined")
return false;
var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
if (hook.isDisabled)
return true;
if (!hook.supportsFiber)
return console.error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"), true;
try {
rendererID = hook.inject(internals), injectedHook = hook;
} catch (err) {
console.error("React instrumentation encountered an error: %o.", err);
}
return hook.checkDCE ? true : false;
}
function setIsStrictModeForDevtools(newIsStrictMode) {
typeof log4 === "function" && unstable_setDisableYieldValue2(newIsStrictMode);
if (injectedHook && typeof injectedHook.setStrictMode === "function")
try {
injectedHook.setStrictMode(rendererID, newIsStrictMode);
} catch (err) {
hasLoggedError || (hasLoggedError = true, console.error("React instrumentation encountered an error: %o", err));
}
}
function is(x4, y3) {
return x4 === y3 && (x4 !== 0 || 1 / x4 === 1 / y3) || x4 !== x4 && y3 !== y3;
}
function getArrayKind(array2) {
for (var kind = 0, i3 = 0;i3 < array2.length; i3++) {
var value = array2[i3];
if (typeof value === "object" && value !== null)
if (isArrayImpl(value) && value.length === 2 && typeof value[0] === "string") {
if (kind !== 0 && kind !== 3)
return 1;
kind = 3;
} else
return 1;
else {
if (typeof value === "function" || typeof value === "string" && 50 < value.length || kind !== 0 && kind !== 2)
return 1;
kind = 2;
}
}
return kind;
}
function addObjectToProperties(object2, properties, indent, prefix2) {
for (var key in object2)
hasOwnProperty15.call(object2, key) && key[0] !== "_" && addValueToProperties(key, object2[key], properties, indent, prefix2);
}
function addValueToProperties(propertyName, value, properties, indent, prefix2) {
switch (typeof value) {
case "object":
if (value === null) {
value = "null";
break;
} else {
if (value.$$typeof === REACT_ELEMENT_TYPE) {
var typeName = getComponentNameFromType(value.type) || "…", key = value.key;
value = value.props;
var propsKeys = Object.keys(value), propsLength = propsKeys.length;
if (key == null && propsLength === 0) {
value = "<" + typeName + " />";
break;
}
if (3 > indent || propsLength === 1 && propsKeys[0] === "children" && key == null) {
value = "<" + typeName + " … />";
break;
}
properties.push([
prefix2 + " ".repeat(indent) + propertyName,
"<" + typeName
]);
key !== null && addValueToProperties("key", key, properties, indent + 1, prefix2);
propertyName = false;
for (var propKey in value)
propKey === "children" ? value.children != null && (!isArrayImpl(value.children) || 0 < value.children.length) && (propertyName = true) : hasOwnProperty15.call(value, propKey) && propKey[0] !== "_" && addValueToProperties(propKey, value[propKey], properties, indent + 1, prefix2);
properties.push([
"",
propertyName ? ">…" + typeName + ">" : "/>"
]);
return;
}
typeName = Object.prototype.toString.call(value);
typeName = typeName.slice(8, typeName.length - 1);
if (typeName === "Array") {
if (propKey = getArrayKind(value), propKey === 2 || propKey === 0) {
value = JSON.stringify(value);
break;
} else if (propKey === 3) {
properties.push([
prefix2 + " ".repeat(indent) + propertyName,
""
]);
for (propertyName = 0;propertyName < value.length; propertyName++)
typeName = value[propertyName], addValueToProperties(typeName[0], typeName[1], properties, indent + 1, prefix2);
return;
}
}
if (typeName === "Promise") {
if (value.status === "fulfilled") {
if (typeName = properties.length, addValueToProperties(propertyName, value.value, properties, indent, prefix2), properties.length > typeName) {
properties = properties[typeName];
properties[1] = "Promise<" + (properties[1] || "Object") + ">";
return;
}
} else if (value.status === "rejected" && (typeName = properties.length, addValueToProperties(propertyName, value.reason, properties, indent, prefix2), properties.length > typeName)) {
properties = properties[typeName];
properties[1] = "Rejected Promise<" + properties[1] + ">";
return;
}
properties.push([
" ".repeat(indent) + propertyName,
"Promise"
]);
return;
}
typeName === "Object" && (propKey = Object.getPrototypeOf(value)) && typeof propKey.constructor === "function" && (typeName = propKey.constructor.name);
properties.push([
prefix2 + " ".repeat(indent) + propertyName,
typeName === "Object" ? 3 > indent ? "" : "…" : typeName
]);
3 > indent && addObjectToProperties(value, properties, indent + 1, prefix2);
return;
}
case "function":
value = value.name === "" ? "() => {}" : value.name + "() {}";
break;
case "string":
value = value === "This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects." ? "…" : JSON.stringify(value);
break;
case "undefined":
value = "undefined";
break;
case "boolean":
value = value ? "true" : "false";
break;
default:
value = String(value);
}
properties.push([
prefix2 + " ".repeat(indent) + propertyName,
value
]);
}
function addObjectDiffToProperties(prev, next, properties, indent) {
var isDeeplyEqual = true;
for (key in prev)
key in next || (properties.push([
"– " + " ".repeat(indent) + key,
"…"
]), isDeeplyEqual = false);
for (var _key in next)
if (_key in prev) {
var key = prev[_key];
var nextValue = next[_key];
if (key !== nextValue) {
if (indent === 0 && _key === "children")
isDeeplyEqual = " ".repeat(indent) + _key, properties.push(["– " + isDeeplyEqual, "…"], ["+ " + isDeeplyEqual, "…"]);
else {
if (!(3 <= indent)) {
if (typeof key === "object" && typeof nextValue === "object" && key !== null && nextValue !== null && key.$$typeof === nextValue.$$typeof)
if (nextValue.$$typeof === REACT_ELEMENT_TYPE) {
if (key.type === nextValue.type && key.key === nextValue.key) {
key = getComponentNameFromType(nextValue.type) || "…";
isDeeplyEqual = " ".repeat(indent) + _key;
key = "<" + key + " … />";
properties.push(["– " + isDeeplyEqual, key], ["+ " + isDeeplyEqual, key]);
isDeeplyEqual = false;
continue;
}
} else {
var prevKind = Object.prototype.toString.call(key), nextKind = Object.prototype.toString.call(nextValue);
if (prevKind === nextKind && (nextKind === "[object Object]" || nextKind === "[object Array]")) {
prevKind = [
" " + " ".repeat(indent) + _key,
nextKind === "[object Array]" ? "Array" : ""
];
properties.push(prevKind);
nextKind = properties.length;
addObjectDiffToProperties(key, nextValue, properties, indent + 1) ? nextKind === properties.length && (prevKind[1] = "Referentially unequal but deeply equal objects. Consider memoization.") : isDeeplyEqual = false;
continue;
}
}
else if (typeof key === "function" && typeof nextValue === "function" && key.name === nextValue.name && key.length === nextValue.length && (prevKind = Function.prototype.toString.call(key), nextKind = Function.prototype.toString.call(nextValue), prevKind === nextKind)) {
key = nextValue.name === "" ? "() => {}" : nextValue.name + "() {}";
properties.push([
" " + " ".repeat(indent) + _key,
key + " Referentially unequal function closure. Consider memoization."
]);
continue;
}
}
addValueToProperties(_key, key, properties, indent, "– ");
addValueToProperties(_key, nextValue, properties, indent, "+ ");
}
isDeeplyEqual = false;
}
} else
properties.push([
"+ " + " ".repeat(indent) + _key,
"…"
]), isDeeplyEqual = false;
return isDeeplyEqual;
}
function setCurrentTrackFromLanes(lanes) {
currentTrack = lanes & 63 ? "Blocking" : lanes & 64 ? "Gesture" : lanes & 4194176 ? "Transition" : lanes & 62914560 ? "Suspense" : lanes & 2080374784 ? "Idle" : "Other";
}
function logComponentTrigger(fiber, startTime, endTime, trigger) {
supportsUserTiming && (reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = trigger, reusableComponentDevToolDetails.properties = null, (fiber = fiber._debugTask) ? fiber.run(performance.measure.bind(performance, trigger, reusableComponentOptions)) : performance.measure(trigger, reusableComponentOptions));
}
function logComponentReappeared(fiber, startTime, endTime) {
logComponentTrigger(fiber, startTime, endTime, "Reconnect");
}
function logComponentRender(fiber, startTime, endTime, wasHydrated, committedLanes) {
var name3 = getComponentNameFromFiber(fiber);
if (name3 !== null && supportsUserTiming) {
var { alternate, actualDuration: selfTime } = fiber;
if (alternate === null || alternate.child !== fiber.child)
for (var child = fiber.child;child !== null; child = child.sibling)
selfTime -= child.actualDuration;
wasHydrated = 0.5 > selfTime ? wasHydrated ? "tertiary-light" : "primary-light" : 10 > selfTime ? wasHydrated ? "tertiary" : "primary" : 100 > selfTime ? wasHydrated ? "tertiary-dark" : "primary-dark" : "error";
var props = fiber.memoizedProps;
selfTime = fiber._debugTask;
props !== null && alternate !== null && alternate.memoizedProps !== props ? (child = [resuableChangedPropsEntry], props = addObjectDiffToProperties(alternate.memoizedProps, props, child, 0), 1 < child.length && (props && !alreadyWarnedForDeepEquality && (alternate.lanes & committedLanes) === 0 && 100 < fiber.actualDuration ? (alreadyWarnedForDeepEquality = true, child[0] = reusableDeeplyEqualPropsEntry, reusableComponentDevToolDetails.color = "warning", reusableComponentDevToolDetails.tooltipText = "This component received deeply equal props. It might benefit from useMemo or the React Compiler in its owner.") : (reusableComponentDevToolDetails.color = wasHydrated, reusableComponentDevToolDetails.tooltipText = name3), reusableComponentDevToolDetails.properties = child, reusableComponentOptions.start = startTime, reusableComponentOptions.end = endTime, selfTime != null ? selfTime.run(performance.measure.bind(performance, "" + name3, reusableComponentOptions)) : performance.measure("" + name3, reusableComponentOptions))) : selfTime != null ? selfTime.run(console.timeStamp.bind(console, name3, startTime, endTime, "Components ⚛", undefined, wasHydrated)) : console.timeStamp(name3, startTime, endTime, "Components ⚛", undefined, wasHydrated);
}
}
function logComponentErrored(fiber, startTime, endTime, errors3) {
if (supportsUserTiming) {
var name3 = getComponentNameFromFiber(fiber);
if (name3 !== null) {
for (var debugTask = null, properties = [], i3 = 0;i3 < errors3.length; i3++) {
var capturedValue = errors3[i3];
debugTask == null && capturedValue.source !== null && (debugTask = capturedValue.source._debugTask);
capturedValue = capturedValue.value;
properties.push([
"Error",
typeof capturedValue === "object" && capturedValue !== null && typeof capturedValue.message === "string" ? String(capturedValue.message) : String(capturedValue)
]);
}
fiber.key !== null && addValueToProperties("key", fiber.key, properties, 0, "");
fiber.memoizedProps !== null && addObjectToProperties(fiber.memoizedProps, properties, 0, "");
debugTask == null && (debugTask = fiber._debugTask);
fiber = {
start: startTime,
end: endTime,
detail: {
devtools: {
color: "error",
track: "Components ⚛",
tooltipText: fiber.tag === 13 ? "Hydration failed" : "Error boundary caught an error",
properties
}
}
};
debugTask ? debugTask.run(performance.measure.bind(performance, "" + name3, fiber)) : performance.measure("" + name3, fiber);
}
}
}
function logComponentEffect(fiber, startTime, endTime, selfTime, errors3) {
if (errors3 !== null) {
if (supportsUserTiming) {
var name3 = getComponentNameFromFiber(fiber);
if (name3 !== null) {
selfTime = [];
for (var i3 = 0;i3 < errors3.length; i3++) {
var error52 = errors3[i3].value;
selfTime.push([
"Error",
typeof error52 === "object" && error52 !== null && typeof error52.message === "string" ? String(error52.message) : String(error52)
]);
}
fiber.key !== null && addValueToProperties("key", fiber.key, selfTime, 0, "");
fiber.memoizedProps !== null && addObjectToProperties(fiber.memoizedProps, selfTime, 0, "");
startTime = {
start: startTime,
end: endTime,
detail: {
devtools: {
color: "error",
track: "Components ⚛",
tooltipText: "A lifecycle or effect errored",
properties: selfTime
}
}
};
(fiber = fiber._debugTask) ? fiber.run(performance.measure.bind(performance, "" + name3, startTime)) : performance.measure("" + name3, startTime);
}
}
} else
name3 = getComponentNameFromFiber(fiber), name3 !== null && supportsUserTiming && (errors3 = 1 > selfTime ? "secondary-light" : 100 > selfTime ? "secondary" : 500 > selfTime ? "secondary-dark" : "error", (fiber = fiber._debugTask) ? fiber.run(console.timeStamp.bind(console, name3, startTime, endTime, "Components ⚛", undefined, errors3)) : console.timeStamp(name3, startTime, endTime, "Components ⚛", undefined, errors3));
}
function logRenderPhase(startTime, endTime, lanes, debugTask) {
if (supportsUserTiming && !(endTime <= startTime)) {
var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark";
lanes = (lanes & 536870912) === lanes ? "Prepared" : (lanes & 201326741) === lanes ? "Hydrated" : "Render";
debugTask ? debugTask.run(console.timeStamp.bind(console, lanes, startTime, endTime, currentTrack, "Scheduler ⚛", color)) : console.timeStamp(lanes, startTime, endTime, currentTrack, "Scheduler ⚛", color);
}
}
function logSuspendedRenderPhase(startTime, endTime, lanes, debugTask) {
!supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(console.timeStamp.bind(console, "Prewarm", startTime, endTime, currentTrack, "Scheduler ⚛", lanes)) : console.timeStamp("Prewarm", startTime, endTime, currentTrack, "Scheduler ⚛", lanes));
}
function logSuspendedWithDelayPhase(startTime, endTime, lanes, debugTask) {
!supportsUserTiming || endTime <= startTime || (lanes = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", debugTask ? debugTask.run(console.timeStamp.bind(console, "Suspended", startTime, endTime, currentTrack, "Scheduler ⚛", lanes)) : console.timeStamp("Suspended", startTime, endTime, currentTrack, "Scheduler ⚛", lanes));
}
function logRecoveredRenderPhase(startTime, endTime, lanes, recoverableErrors, hydrationFailed, debugTask) {
if (supportsUserTiming && !(endTime <= startTime)) {
lanes = [];
for (var i3 = 0;i3 < recoverableErrors.length; i3++) {
var error52 = recoverableErrors[i3].value;
lanes.push([
"Recoverable Error",
typeof error52 === "object" && error52 !== null && typeof error52.message === "string" ? String(error52.message) : String(error52)
]);
}
startTime = {
start: startTime,
end: endTime,
detail: {
devtools: {
color: "primary-dark",
track: currentTrack,
trackGroup: "Scheduler ⚛",
tooltipText: hydrationFailed ? "Hydration Failed" : "Recovered after Error",
properties: lanes
}
}
};
debugTask ? debugTask.run(performance.measure.bind(performance, "Recovered", startTime)) : performance.measure("Recovered", startTime);
}
}
function logErroredRenderPhase(startTime, endTime, lanes, debugTask) {
!supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(console.timeStamp.bind(console, "Errored", startTime, endTime, currentTrack, "Scheduler ⚛", "error")) : console.timeStamp("Errored", startTime, endTime, currentTrack, "Scheduler ⚛", "error"));
}
function logSuspendedCommitPhase(startTime, endTime, reason, debugTask) {
!supportsUserTiming || endTime <= startTime || (debugTask ? debugTask.run(console.timeStamp.bind(console, reason, startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light")) : console.timeStamp(reason, startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light"));
}
function logCommitErrored(startTime, endTime, errors3, passive, debugTask) {
if (supportsUserTiming && !(endTime <= startTime)) {
for (var properties = [], i3 = 0;i3 < errors3.length; i3++) {
var error52 = errors3[i3].value;
properties.push([
"Error",
typeof error52 === "object" && error52 !== null && typeof error52.message === "string" ? String(error52.message) : String(error52)
]);
}
startTime = {
start: startTime,
end: endTime,
detail: {
devtools: {
color: "error",
track: currentTrack,
trackGroup: "Scheduler ⚛",
tooltipText: passive ? "Remaining Effects Errored" : "Commit Errored",
properties
}
}
};
debugTask ? debugTask.run(performance.measure.bind(performance, "Errored", startTime)) : performance.measure("Errored", startTime);
}
}
function disabledLog() {}
function disableLogs() {
if (disabledDepth === 0) {
prevLog = console.log;
prevInfo = console.info;
prevWarn = console.warn;
prevError = console.error;
prevGroup = console.group;
prevGroupCollapsed = console.groupCollapsed;
prevGroupEnd = console.groupEnd;
var props = {
configurable: true,
enumerable: true,
value: disabledLog,
writable: true
};
Object.defineProperties(console, {
info: props,
log: props,
warn: props,
error: props,
group: props,
groupCollapsed: props,
groupEnd: props
});
}
disabledDepth++;
}
function reenableLogs() {
disabledDepth--;
if (disabledDepth === 0) {
var props = { configurable: true, enumerable: true, writable: true };
Object.defineProperties(console, {
log: assign({}, props, { value: prevLog }),
info: assign({}, props, { value: prevInfo }),
warn: assign({}, props, { value: prevWarn }),
error: assign({}, props, { value: prevError }),
group: assign({}, props, { value: prevGroup }),
groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),
groupEnd: assign({}, props, { value: prevGroupEnd })
});
}
0 > disabledDepth && console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
}
function formatOwnerStack(error52) {
var prevPrepareStackTrace = Error.prepareStackTrace;
Error.prepareStackTrace = undefined;
error52 = error52.stack;
Error.prepareStackTrace = prevPrepareStackTrace;
error52.startsWith(`Error: react-stack-top-frame
`) && (error52 = error52.slice(29));
prevPrepareStackTrace = error52.indexOf(`
`);
prevPrepareStackTrace !== -1 && (error52 = error52.slice(prevPrepareStackTrace + 1));
prevPrepareStackTrace = error52.indexOf("react_stack_bottom_frame");
prevPrepareStackTrace !== -1 && (prevPrepareStackTrace = error52.lastIndexOf(`
`, prevPrepareStackTrace));
if (prevPrepareStackTrace !== -1)
error52 = error52.slice(0, prevPrepareStackTrace);
else
return "";
return error52;
}
function describeBuiltInComponentFrame(name3) {
if (prefix === undefined)
try {
throw Error();
} catch (x4) {
var match = x4.stack.trim().match(/\n( *(at )?)/);
prefix = match && match[1] || "";
suffix = -1 < x4.stack.indexOf(`
at`) ? " ()" : -1 < x4.stack.indexOf("@") ? "@unknown:0:0" : "";
}
return `
` + prefix + name3 + suffix;
}
function describeNativeComponentFrame(fn, construct) {
if (!fn || reentry)
return "";
var frame = componentFrameCache.get(fn);
if (frame !== undefined)
return frame;
reentry = true;
frame = Error.prepareStackTrace;
Error.prepareStackTrace = undefined;
var previousDispatcher = null;
previousDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = null;
disableLogs();
try {
var RunInRootFrame = {
DetermineComponentFrameRoot: function() {
try {
if (construct) {
var Fake = function() {
throw Error();
};
Object.defineProperty(Fake.prototype, "props", {
set: function() {
throw Error();
}
});
if (typeof Reflect === "object" && Reflect.construct) {
try {
Reflect.construct(Fake, []);
} catch (x4) {
var control = x4;
}
Reflect.construct(fn, [], Fake);
} else {
try {
Fake.call();
} catch (x$0) {
control = x$0;
}
fn.call(Fake.prototype);
}
} else {
try {
throw Error();
} catch (x$1) {
control = x$1;
}
(Fake = fn()) && typeof Fake.catch === "function" && Fake.catch(function() {});
}
} catch (sample) {
if (sample && control && typeof sample.stack === "string")
return [sample.stack, control.stack];
}
return [null, null];
}
};
RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, "name");
namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, "name", { value: "DetermineComponentFrameRoot" });
var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1];
if (sampleStack && controlStack) {
var sampleLines = sampleStack.split(`
`), controlLines = controlStack.split(`
`);
for (_RunInRootFrame$Deter = namePropDescriptor = 0;namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes("DetermineComponentFrameRoot"); )
namePropDescriptor++;
for (;_RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes("DetermineComponentFrameRoot"); )
_RunInRootFrame$Deter++;
if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length)
for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1;1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; )
_RunInRootFrame$Deter--;
for (;1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--)
if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
if (namePropDescriptor !== 1 || _RunInRootFrame$Deter !== 1) {
do
if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {
var _frame = `
` + sampleLines[namePropDescriptor].replace(" at new ", " at ");
fn.displayName && _frame.includes("") && (_frame = _frame.replace("", fn.displayName));
typeof fn === "function" && componentFrameCache.set(fn, _frame);
return _frame;
}
while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);
}
break;
}
}
} finally {
reentry = false, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame;
}
sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : "";
typeof fn === "function" && componentFrameCache.set(fn, sampleLines);
return sampleLines;
}
function describeFiber(fiber, childFiber) {
switch (fiber.tag) {
case 26:
case 27:
case 5:
return describeBuiltInComponentFrame(fiber.type);
case 16:
return describeBuiltInComponentFrame("Lazy");
case 13:
return fiber.child !== childFiber && childFiber !== null ? describeBuiltInComponentFrame("Suspense Fallback") : describeBuiltInComponentFrame("Suspense");
case 19:
return describeBuiltInComponentFrame("SuspenseList");
case 0:
case 15:
return describeNativeComponentFrame(fiber.type, false);
case 11:
return describeNativeComponentFrame(fiber.type.render, false);
case 1:
return describeNativeComponentFrame(fiber.type, true);
case 31:
return describeBuiltInComponentFrame("Activity");
default:
return "";
}
}
function getStackByFiberInDevAndProd(workInProgress2) {
try {
var info = "", previous = null;
do {
info += describeFiber(workInProgress2, previous);
var debugInfo = workInProgress2._debugInfo;
if (debugInfo)
for (var i3 = debugInfo.length - 1;0 <= i3; i3--) {
var entry = debugInfo[i3];
if (typeof entry.name === "string") {
var JSCompiler_temp_const = info;
a: {
var { name: name3, env: env6, debugLocation: location } = entry;
if (location != null) {
var childStack = formatOwnerStack(location), idx = childStack.lastIndexOf(`
`), lastLine = idx === -1 ? childStack : childStack.slice(idx + 1);
if (lastLine.indexOf(name3) !== -1) {
var JSCompiler_inline_result = `
` + lastLine;
break a;
}
}
JSCompiler_inline_result = describeBuiltInComponentFrame(name3 + (env6 ? " [" + env6 + "]" : ""));
}
info = JSCompiler_temp_const + JSCompiler_inline_result;
}
}
previous = workInProgress2;
workInProgress2 = workInProgress2.return;
} while (workInProgress2);
return info;
} catch (x4) {
return `
Error generating stack: ` + x4.message + `
` + x4.stack;
}
}
function describeFunctionComponentFrameWithoutLineNumber(fn) {
return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : "";
}
function createCapturedValueAtFiber(value, source) {
if (typeof value === "object" && value !== null) {
var existing = CapturedStacks.get(value);
if (existing !== undefined)
return existing;
source = {
value,
source,
stack: getStackByFiberInDevAndProd(source)
};
CapturedStacks.set(value, source);
return source;
}
return {
value,
source,
stack: getStackByFiberInDevAndProd(source)
};
}
function pushTreeFork(workInProgress2, totalChildren) {
warnIfNotHydrating();
forkStack[forkStackIndex++] = treeForkCount;
forkStack[forkStackIndex++] = treeForkProvider;
treeForkProvider = workInProgress2;
treeForkCount = totalChildren;
}
function pushTreeId(workInProgress2, totalChildren, index) {
warnIfNotHydrating();
idStack[idStackIndex++] = treeContextId;
idStack[idStackIndex++] = treeContextOverflow;
idStack[idStackIndex++] = treeContextProvider;
treeContextProvider = workInProgress2;
var baseIdWithLeadingBit = treeContextId;
workInProgress2 = treeContextOverflow;
var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;
baseIdWithLeadingBit &= ~(1 << baseLength);
index += 1;
var length = 32 - clz32(totalChildren) + baseLength;
if (30 < length) {
var numberOfOverflowBits = baseLength - baseLength % 5;
length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32);
baseIdWithLeadingBit >>= numberOfOverflowBits;
baseLength -= numberOfOverflowBits;
treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit;
treeContextOverflow = length + workInProgress2;
} else
treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2;
}
function pushMaterializedTreeId(workInProgress2) {
warnIfNotHydrating();
workInProgress2.return !== null && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0));
}
function popTreeContext(workInProgress2) {
for (;workInProgress2 === treeForkProvider; )
treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null;
for (;workInProgress2 === treeContextProvider; )
treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null;
}
function getSuspendedTreeContext() {
warnIfNotHydrating();
return treeContextProvider !== null ? { id: treeContextId, overflow: treeContextOverflow } : null;
}
function restoreSuspendedTreeContext(workInProgress2, suspendedContext) {
warnIfNotHydrating();
idStack[idStackIndex++] = treeContextId;
idStack[idStackIndex++] = treeContextOverflow;
idStack[idStackIndex++] = treeContextProvider;
treeContextId = suspendedContext.id;
treeContextOverflow = suspendedContext.overflow;
treeContextProvider = workInProgress2;
}
function warnIfNotHydrating() {
isHydrating || console.error("Expected to be hydrating. This is a bug in React. Please file an issue.");
}
function requiredContext(c5) {
c5 === null && console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");
return c5;
}
function pushHostContainer(fiber, nextRootInstance) {
push(rootInstanceStackCursor, nextRootInstance, fiber);
push(contextFiberStackCursor, fiber, fiber);
push(contextStackCursor, null, fiber);
nextRootInstance = getRootHostContext(nextRootInstance);
pop(contextStackCursor, fiber);
push(contextStackCursor, nextRootInstance, fiber);
}
function popHostContainer(fiber) {
pop(contextStackCursor, fiber);
pop(contextFiberStackCursor, fiber);
pop(rootInstanceStackCursor, fiber);
}
function getHostContext() {
return requiredContext(contextStackCursor.current);
}
function pushHostContext(fiber) {
fiber.memoizedState !== null && push(hostTransitionProviderCursor, fiber, fiber);
var context3 = requiredContext(contextStackCursor.current), nextContext = getChildHostContext(context3, fiber.type);
context3 !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));
}
function popHostContext(fiber) {
contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));
hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), isPrimaryRenderer ? HostTransitionContext._currentValue = NotPendingTransition : HostTransitionContext._currentValue2 = NotPendingTransition);
}
function findNotableNode(node, indent) {
return node.serverProps === undefined && node.serverTail.length === 0 && node.children.length === 1 && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node;
}
function indentation(indent) {
return " " + " ".repeat(indent);
}
function added(indent) {
return "+ " + " ".repeat(indent);
}
function removed(indent) {
return "- " + " ".repeat(indent);
}
function describeFiberType(fiber) {
switch (fiber.tag) {
case 26:
case 27:
case 5:
return fiber.type;
case 16:
return "Lazy";
case 31:
return "Activity";
case 13:
return "Suspense";
case 19:
return "SuspenseList";
case 0:
case 15:
return fiber = fiber.type, fiber.displayName || fiber.name || null;
case 11:
return fiber = fiber.type.render, fiber.displayName || fiber.name || null;
case 1:
return fiber = fiber.type, fiber.displayName || fiber.name || null;
default:
return null;
}
}
function describeTextNode(content, maxLength) {
return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content;
}
function describeTextDiff(clientText, serverProps, indent) {
var maxLength = 120 - 2 * indent;
if (serverProps === null)
return added(indent) + describeTextNode(clientText, maxLength) + `
`;
if (typeof serverProps === "string") {
for (var firstDiff = 0;firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++)
;
firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8));
return added(indent) + describeTextNode(clientText, maxLength) + `
` + removed(indent) + describeTextNode(serverProps, maxLength) + `
`;
}
return indentation(indent) + describeTextNode(clientText, maxLength) + `
`;
}
function objectName(object2) {
return Object.prototype.toString.call(object2).replace(/^\[object (.*)\]$/, function(m3, p0) {
return p0;
});
}
function describeValue(value, maxLength) {
switch (typeof value) {
case "string":
return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value;
case "object":
if (value === null)
return "null";
if (isArrayImpl(value))
return "[...]";
if (value.$$typeof === REACT_ELEMENT_TYPE)
return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>";
var name3 = objectName(value);
if (name3 === "Object") {
name3 = "";
maxLength -= 2;
for (var propName in value)
if (value.hasOwnProperty(propName)) {
var jsonPropName = JSON.stringify(propName);
jsonPropName !== '"' + propName + '"' && (propName = jsonPropName);
maxLength -= propName.length - 2;
jsonPropName = describeValue(value[propName], 15 > maxLength ? maxLength : 15);
maxLength -= jsonPropName.length;
if (0 > maxLength) {
name3 += name3 === "" ? "..." : ", ...";
break;
}
name3 += (name3 === "" ? "" : ",") + propName + ":" + jsonPropName;
}
return "{" + name3 + "}";
}
return name3;
case "function":
return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function";
default:
return String(value);
}
}
function describePropValue(value, maxLength) {
return typeof value !== "string" || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"';
}
function describeExpandedElement(type, props, rowPrefix) {
var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName;
for (propName in props)
if (props.hasOwnProperty(propName) && propName !== "children") {
var propValue = describePropValue(props[propName], 120 - rowPrefix.length - propName.length - 1);
remainingRowLength -= propName.length + propValue.length + 2;
properties.push(propName + "=" + propValue);
}
return properties.length === 0 ? rowPrefix + "<" + type + `>
` : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + `>
` : rowPrefix + "<" + type + `
` + rowPrefix + " " + properties.join(`
` + rowPrefix + " ") + `
` + rowPrefix + `>
`;
}
function describePropertiesDiff(clientObject, serverObject, indent) {
var properties = "", remainingServerProperties = assign({}, serverObject), propName;
for (propName in clientObject)
if (clientObject.hasOwnProperty(propName)) {
delete remainingServerProperties[propName];
var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength);
serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + `
`, properties += removed(indent) + propName + ": " + maxLength + `
`) : properties += added(indent) + propName + ": " + clientPropValue + `
`;
}
for (var _propName in remainingServerProperties)
remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue(remainingServerProperties[_propName], 120 - 2 * indent - _propName.length - 2), properties += removed(indent) + _propName + ": " + clientObject + `
`);
return properties;
}
function describeElementDiff(type, clientProps, serverProps, indent) {
var content = "", serverPropNames = new Map;
for (propName$jscomp$0 in serverProps)
serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set(propName$jscomp$0.toLowerCase(), propName$jscomp$0);
if (serverPropNames.size === 1 && serverPropNames.has("children"))
content += describeExpandedElement(type, clientProps, indentation(indent));
else {
for (var _propName2 in clientProps)
if (clientProps.hasOwnProperty(_propName2) && _propName2 !== "children") {
var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase());
if (serverPropName !== undefined) {
serverPropNames.delete(_propName2.toLowerCase());
var propName$jscomp$0 = clientProps[_propName2];
serverPropName = serverProps[serverPropName];
var clientPropValue = describePropValue(propName$jscomp$0, maxLength$jscomp$0);
maxLength$jscomp$0 = describePropValue(serverPropName, maxLength$jscomp$0);
typeof propName$jscomp$0 === "object" && propName$jscomp$0 !== null && typeof serverPropName === "object" && serverPropName !== null && objectName(propName$jscomp$0) === "Object" && objectName(serverPropName) === "Object" && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + `={{
` + describePropertiesDiff(propName$jscomp$0, serverPropName, indent + 2) + indentation(indent + 1) + `}}
` : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + `
`, content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + `
`);
} else
content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + `
`;
}
serverPropNames.forEach(function(propName) {
if (propName !== "children") {
var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;
content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + `
`;
}
});
content = content === "" ? indentation(indent) + "<" + type + `>
` : indentation(indent) + "<" + type + `
` + content + indentation(indent) + `>
`;
}
type = serverProps.children;
clientProps = clientProps.children;
if (typeof type === "string" || typeof type === "number" || typeof type === "bigint") {
serverPropNames = "";
if (typeof clientProps === "string" || typeof clientProps === "number" || typeof clientProps === "bigint")
serverPropNames = "" + clientProps;
content += describeTextDiff(serverPropNames, "" + type, indent + 1);
} else if (typeof clientProps === "string" || typeof clientProps === "number" || typeof clientProps === "bigint")
content = type == null ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, undefined, indent + 1);
return content;
}
function describeSiblingFiber(fiber, indent) {
var type = describeFiberType(fiber);
if (type === null) {
type = "";
for (fiber = fiber.child;fiber; )
type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling;
return type;
}
return indentation(indent) + "<" + type + `>
`;
}
function describeNode(node, indent) {
var skipToNode = findNotableNode(node, indent);
if (skipToNode !== node && (node.children.length !== 1 || node.children[0] !== skipToNode))
return indentation(indent) + `...
` + describeNode(skipToNode, indent + 1);
skipToNode = "";
var debugInfo = node.fiber._debugInfo;
if (debugInfo)
for (var i3 = 0;i3 < debugInfo.length; i3++) {
var serverComponentName = debugInfo[i3].name;
typeof serverComponentName === "string" && (skipToNode += indentation(indent) + "<" + serverComponentName + `>
`, indent++);
}
debugInfo = "";
i3 = node.fiber.pendingProps;
if (node.fiber.tag === 6)
debugInfo = describeTextDiff(i3, node.serverProps, indent), indent++;
else if (serverComponentName = describeFiberType(node.fiber), serverComponentName !== null)
if (node.serverProps === undefined) {
debugInfo = indent;
var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = "";
for (propName in i3)
if (i3.hasOwnProperty(propName) && propName !== "children") {
var propValue = describePropValue(i3[propName], 15);
maxLength -= propName.length + propValue.length + 2;
if (0 > maxLength) {
content += " ...";
break;
}
content += " " + propName + "=" + propValue;
}
debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + `>
`;
indent++;
} else
node.serverProps === null ? (debugInfo = describeExpandedElement(serverComponentName, i3, added(indent)), indent++) : typeof node.serverProps === "string" ? console.error("Should not have matched a non HostText fiber to a Text node. This is a bug in React.") : (debugInfo = describeElementDiff(serverComponentName, i3, node.serverProps, indent), indent++);
var propName = "";
i3 = node.fiber.child;
for (serverComponentName = 0;i3 && serverComponentName < node.children.length; )
maxLength = node.children[serverComponentName], maxLength.fiber === i3 ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i3, indent), i3 = i3.sibling;
i3 && 0 < node.children.length && (propName += indentation(indent) + `...
`);
i3 = node.serverTail;
node.serverProps === null && indent--;
for (node = 0;node < i3.length; node++)
serverComponentName = i3[node], propName = typeof serverComponentName === "string" ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + `
`) : propName + describeExpandedElement(serverComponentName.type, serverComponentName.props, removed(indent));
return skipToNode + debugInfo + propName;
}
function describeDiff(rootNode) {
try {
return `
` + describeNode(rootNode, 0);
} catch (x4) {
return "";
}
}
function getCurrentFiberStackInDev() {
if (current === null)
return "";
var workInProgress2 = current;
try {
var info = "";
workInProgress2.tag === 6 && (workInProgress2 = workInProgress2.return);
switch (workInProgress2.tag) {
case 26:
case 27:
case 5:
info += describeBuiltInComponentFrame(workInProgress2.type);
break;
case 13:
info += describeBuiltInComponentFrame("Suspense");
break;
case 19:
info += describeBuiltInComponentFrame("SuspenseList");
break;
case 31:
info += describeBuiltInComponentFrame("Activity");
break;
case 30:
case 0:
case 15:
case 1:
workInProgress2._debugOwner || info !== "" || (info += describeFunctionComponentFrameWithoutLineNumber(workInProgress2.type));
break;
case 11:
workInProgress2._debugOwner || info !== "" || (info += describeFunctionComponentFrameWithoutLineNumber(workInProgress2.type.render));
}
for (;workInProgress2; )
if (typeof workInProgress2.tag === "number") {
var fiber = workInProgress2;
workInProgress2 = fiber._debugOwner;
var debugStack = fiber._debugStack;
if (workInProgress2 && debugStack) {
var formattedStack = formatOwnerStack(debugStack);
formattedStack !== "" && (info += `
` + formattedStack);
}
} else if (workInProgress2.debugStack != null) {
var ownerStack = workInProgress2.debugStack;
(workInProgress2 = workInProgress2.owner) && ownerStack && (info += `
` + formatOwnerStack(ownerStack));
} else
break;
var JSCompiler_inline_result = info;
} catch (x4) {
JSCompiler_inline_result = `
Error generating stack: ` + x4.message + `
` + x4.stack;
}
return JSCompiler_inline_result;
}
function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {
var previousFiber = current;
setCurrentFiber(fiber);
try {
return fiber !== null && fiber._debugTask ? fiber._debugTask.run(callback.bind(null, arg0, arg1, arg2, arg3, arg4)) : callback(arg0, arg1, arg2, arg3, arg4);
} finally {
setCurrentFiber(previousFiber);
}
throw Error("runWithFiberInDEV should never be called in production. This is a bug in React.");
}
function setCurrentFiber(fiber) {
ReactSharedInternals.getCurrentStack = fiber === null ? null : getCurrentFiberStackInDev;
isRendering = false;
current = fiber;
}
function buildHydrationDiffNode(fiber, distanceFromLeaf) {
if (fiber.return === null) {
if (hydrationDiffRootDEV === null)
hydrationDiffRootDEV = {
fiber,
children: [],
serverProps: undefined,
serverTail: [],
distanceFromLeaf
};
else {
if (hydrationDiffRootDEV.fiber !== fiber)
throw Error("Saw multiple hydration diff roots in a pass. This is a bug in React.");
hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);
}
return hydrationDiffRootDEV;
}
var siblings = buildHydrationDiffNode(fiber.return, distanceFromLeaf + 1).children;
if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber)
return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings;
distanceFromLeaf = {
fiber,
children: [],
serverProps: undefined,
serverTail: [],
distanceFromLeaf
};
siblings.push(distanceFromLeaf);
return distanceFromLeaf;
}
function warnIfHydrating() {
isHydrating && console.error("We should not be hydrating here. This is a bug in React. Please file a bug.");
}
function warnNonHydratedInstance(fiber, rejectedCandidate) {
didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, rejectedCandidate !== null && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate)));
}
function throwOnHydrationMismatch(fiber) {
var fromText = 1 < arguments.length && arguments[1] !== undefined ? arguments[1] : false, diff = "", diffRoot = hydrationDiffRootDEV;
diffRoot !== null && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot));
queueHydrationError(createCapturedValueAtFiber(Error("Hydration failed because the server rendered " + (fromText ? "text" : "HTML") + ` didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:
- A server/client branch \`if (typeof window !== 'undefined')\`.
- Variable input such as \`Date.now()\` or \`Math.random()\` which changes each time it's called.
- Date formatting in a user's locale which doesn't match the server.
- External changing data without sending a snapshot of it along with the HTML.
- Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
https://react.dev/link/hydration-mismatch` + diff), fiber));
throw HydrationMismatchException;
}
function prepareToHydrateHostInstance(fiber, hostContext) {
if (!supportsHydration)
throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");
hydrateInstance(fiber.stateNode, fiber.type, fiber.memoizedProps, hostContext, fiber) || throwOnHydrationMismatch(fiber, true);
}
function popToNextHostParent(fiber) {
for (hydrationParentFiber = fiber.return;hydrationParentFiber; )
switch (hydrationParentFiber.tag) {
case 5:
case 31:
case 13:
rootOrSingletonContext = false;
return;
case 27:
case 3:
rootOrSingletonContext = true;
return;
default:
hydrationParentFiber = hydrationParentFiber.return;
}
}
function popHydrationState(fiber) {
if (!supportsHydration || fiber !== hydrationParentFiber)
return false;
if (!isHydrating)
return popToNextHostParent(fiber), isHydrating = true, false;
var tag = fiber.tag;
supportsSingletons ? tag !== 3 && tag !== 27 && (tag !== 5 || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps)) && nextHydratableInstance && (warnIfUnhydratedTailNodes(fiber), throwOnHydrationMismatch(fiber)) : tag !== 3 && (tag !== 5 || shouldDeleteUnhydratedTailInstances(fiber.type) && !shouldSetTextContent(fiber.type, fiber.memoizedProps)) && nextHydratableInstance && (warnIfUnhydratedTailNodes(fiber), throwOnHydrationMismatch(fiber));
popToNextHostParent(fiber);
if (tag === 13) {
if (!supportsHydration)
throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");
fiber = fiber.memoizedState;
fiber = fiber !== null ? fiber.dehydrated : null;
if (!fiber)
throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");
nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber);
} else if (tag === 31) {
fiber = fiber.memoizedState;
fiber = fiber !== null ? fiber.dehydrated : null;
if (!fiber)
throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");
nextHydratableInstance = getNextHydratableInstanceAfterActivityInstance(fiber);
} else
nextHydratableInstance = supportsSingletons && tag === 27 ? getNextHydratableSiblingAfterSingleton(fiber.type, nextHydratableInstance) : hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;
return true;
}
function warnIfUnhydratedTailNodes(fiber) {
for (var nextInstance = nextHydratableInstance;nextInstance; ) {
var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(nextInstance);
diffNode.serverTail.push(description);
nextInstance = description.type === "Suspense" ? getNextHydratableInstanceAfterSuspenseInstance(nextInstance) : getNextHydratableSibling(nextInstance);
}
}
function resetHydrationState() {
supportsHydration && (nextHydratableInstance = hydrationParentFiber = null, didSuspendOrErrorDEV = isHydrating = false);
}
function upgradeHydrationErrorsToRecoverable() {
var queuedErrors = hydrationErrors;
queuedErrors !== null && (workInProgressRootRecoverableErrors === null ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, queuedErrors), hydrationErrors = null);
return queuedErrors;
}
function queueHydrationError(error52) {
hydrationErrors === null ? hydrationErrors = [error52] : hydrationErrors.push(error52);
}
function emitPendingHydrationWarnings() {
var diffRoot = hydrationDiffRootDEV;
if (diffRoot !== null) {
hydrationDiffRootDEV = null;
for (var diff = describeDiff(diffRoot);0 < diffRoot.children.length; )
diffRoot = diffRoot.children[0];
runWithFiberInDEV(diffRoot.fiber, function() {
console.error(`A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
- A server/client branch \`if (typeof window !== 'undefined')\`.
- Variable input such as \`Date.now()\` or \`Math.random()\` which changes each time it's called.
- Date formatting in a user's locale which doesn't match the server.
- External changing data without sending a snapshot of it along with the HTML.
- Invalid HTML tag nesting.
It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
%s%s`, "https://react.dev/link/hydration-mismatch", diff);
});
}
}
function resetContextDependencies() {
lastContextDependency = currentlyRenderingFiber$1 = null;
isDisallowedContextReadInDEV = false;
}
function pushProvider(providerFiber, context3, nextValue) {
isPrimaryRenderer ? (push(valueCursor, context3._currentValue, providerFiber), context3._currentValue = nextValue, push(rendererCursorDEV, context3._currentRenderer, providerFiber), context3._currentRenderer !== undefined && context3._currentRenderer !== null && context3._currentRenderer !== rendererSigil && console.error("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), context3._currentRenderer = rendererSigil) : (push(valueCursor, context3._currentValue2, providerFiber), context3._currentValue2 = nextValue, push(renderer2CursorDEV, context3._currentRenderer2, providerFiber), context3._currentRenderer2 !== undefined && context3._currentRenderer2 !== null && context3._currentRenderer2 !== rendererSigil && console.error("Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."), context3._currentRenderer2 = rendererSigil);
}
function popProvider(context3, providerFiber) {
var currentValue = valueCursor.current;
isPrimaryRenderer ? (context3._currentValue = currentValue, currentValue = rendererCursorDEV.current, pop(rendererCursorDEV, providerFiber), context3._currentRenderer = currentValue) : (context3._currentValue2 = currentValue, currentValue = renderer2CursorDEV.current, pop(renderer2CursorDEV, providerFiber), context3._currentRenderer2 = currentValue);
pop(valueCursor, providerFiber);
}
function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) {
for (;parent !== null; ) {
var alternate = parent.alternate;
(parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, alternate !== null && (alternate.childLanes |= renderLanes2)) : alternate !== null && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2);
if (parent === propagationRoot)
break;
parent = parent.return;
}
parent !== propagationRoot && console.error("Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.");
}
function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) {
var fiber = workInProgress2.child;
fiber !== null && (fiber.return = workInProgress2);
for (;fiber !== null; ) {
var list = fiber.dependencies;
if (list !== null) {
var nextFiber = fiber.child;
list = list.firstContext;
a:
for (;list !== null; ) {
var dependency = list;
list = fiber;
for (var i3 = 0;i3 < contexts.length; i3++)
if (dependency.context === contexts[i3]) {
list.lanes |= renderLanes2;
dependency = list.alternate;
dependency !== null && (dependency.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(list.return, renderLanes2, workInProgress2);
forcePropagateEntireTree || (nextFiber = null);
break a;
}
list = dependency.next;
}
} else if (fiber.tag === 18) {
nextFiber = fiber.return;
if (nextFiber === null)
throw Error("We just came from a parent so we must have had a parent. This is a bug in React.");
nextFiber.lanes |= renderLanes2;
list = nextFiber.alternate;
list !== null && (list.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(nextFiber, renderLanes2, workInProgress2);
nextFiber = null;
} else
nextFiber = fiber.child;
if (nextFiber !== null)
nextFiber.return = fiber;
else
for (nextFiber = fiber;nextFiber !== null; ) {
if (nextFiber === workInProgress2) {
nextFiber = null;
break;
}
fiber = nextFiber.sibling;
if (fiber !== null) {
fiber.return = nextFiber.return;
nextFiber = fiber;
break;
}
nextFiber = nextFiber.return;
}
fiber = nextFiber;
}
}
function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) {
current2 = null;
for (var parent = workInProgress2, isInsidePropagationBailout = false;parent !== null; ) {
if (!isInsidePropagationBailout) {
if ((parent.flags & 524288) !== 0)
isInsidePropagationBailout = true;
else if ((parent.flags & 262144) !== 0)
break;
}
if (parent.tag === 10) {
var currentParent = parent.alternate;
if (currentParent === null)
throw Error("Should have a current fiber. This is a bug in React.");
currentParent = currentParent.memoizedProps;
if (currentParent !== null) {
var context3 = parent.type;
objectIs(parent.pendingProps.value, currentParent.value) || (current2 !== null ? current2.push(context3) : current2 = [context3]);
}
} else if (parent === hostTransitionProviderCursor.current) {
currentParent = parent.alternate;
if (currentParent === null)
throw Error("Should have a current fiber. This is a bug in React.");
currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (current2 !== null ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]);
}
parent = parent.return;
}
current2 !== null && propagateContextChanges(workInProgress2, current2, renderLanes2, forcePropagateEntireTree);
workInProgress2.flags |= 262144;
}
function checkIfContextChanged(currentDependencies) {
for (currentDependencies = currentDependencies.firstContext;currentDependencies !== null; ) {
var context3 = currentDependencies.context;
if (!objectIs(isPrimaryRenderer ? context3._currentValue : context3._currentValue2, currentDependencies.memoizedValue))
return true;
currentDependencies = currentDependencies.next;
}
return false;
}
function prepareToReadContext(workInProgress2) {
currentlyRenderingFiber$1 = workInProgress2;
lastContextDependency = null;
workInProgress2 = workInProgress2.dependencies;
workInProgress2 !== null && (workInProgress2.firstContext = null);
}
function readContext(context3) {
isDisallowedContextReadInDEV && console.error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
return readContextForConsumer(currentlyRenderingFiber$1, context3);
}
function readContextDuringReconciliation(consumer2, context3) {
currentlyRenderingFiber$1 === null && prepareToReadContext(consumer2);
return readContextForConsumer(consumer2, context3);
}
function readContextForConsumer(consumer2, context3) {
var value = isPrimaryRenderer ? context3._currentValue : context3._currentValue2;
context3 = { context: context3, memoizedValue: value, next: null };
if (lastContextDependency === null) {
if (consumer2 === null)
throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
lastContextDependency = context3;
consumer2.dependencies = {
lanes: 0,
firstContext: context3,
_debugThenableState: null
};
consumer2.flags |= 524288;
} else
lastContextDependency = lastContextDependency.next = context3;
return value;
}
function createCache() {
return {
controller: new AbortControllerLocal,
data: new Map,
refCount: 0
};
}
function retainCache(cache2) {
cache2.controller.signal.aborted && console.warn("A cache instance was retained after it was already freed. This likely indicates a bug in React.");
cache2.refCount++;
}
function releaseCache(cache2) {
cache2.refCount--;
0 > cache2.refCount && console.warn("A cache instance was released after it was already freed. This likely indicates a bug in React.");
cache2.refCount === 0 && scheduleCallback$2(NormalPriority, function() {
cache2.controller.abort();
});
}
function startUpdateTimerByLane(lane, method, fiber) {
if ((lane & 127) !== 0)
0 > blockingUpdateTime && (blockingUpdateTime = now2(), blockingUpdateTask = createTask(method), blockingUpdateMethodName = method, fiber != null && (blockingUpdateComponentName = getComponentNameFromFiber(fiber)), isAlreadyRendering() && (componentEffectSpawnedUpdate = true, blockingUpdateType = 1), lane = resolveEventTimeStamp(), method = resolveEventType(), lane !== blockingEventRepeatTime || method !== blockingEventType ? blockingEventRepeatTime = -1.1 : method !== null && (blockingUpdateType = 1), blockingEventTime = lane, blockingEventType = method);
else if ((lane & 4194048) !== 0 && 0 > transitionUpdateTime && (transitionUpdateTime = now2(), transitionUpdateTask = createTask(method), transitionUpdateMethodName = method, fiber != null && (transitionUpdateComponentName = getComponentNameFromFiber(fiber)), 0 > transitionStartTime)) {
lane = resolveEventTimeStamp();
method = resolveEventType();
if (lane !== transitionEventRepeatTime || method !== transitionEventType)
transitionEventRepeatTime = -1.1;
transitionEventTime = lane;
transitionEventType = method;
}
}
function startHostActionTimer(fiber) {
if (0 > blockingUpdateTime) {
blockingUpdateTime = now2();
blockingUpdateTask = fiber._debugTask != null ? fiber._debugTask : null;
isAlreadyRendering() && (blockingUpdateType = 1);
var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
newEventTime !== blockingEventRepeatTime || newEventType !== blockingEventType ? blockingEventRepeatTime = -1.1 : newEventType !== null && (blockingUpdateType = 1);
blockingEventTime = newEventTime;
blockingEventType = newEventType;
}
if (0 > transitionUpdateTime && (transitionUpdateTime = now2(), transitionUpdateTask = fiber._debugTask != null ? fiber._debugTask : null, 0 > transitionStartTime)) {
fiber = resolveEventTimeStamp();
newEventTime = resolveEventType();
if (fiber !== transitionEventRepeatTime || newEventTime !== transitionEventType)
transitionEventRepeatTime = -1.1;
transitionEventTime = fiber;
transitionEventType = newEventTime;
}
}
function pushNestedEffectDurations() {
var prevEffectDuration = profilerEffectDuration;
profilerEffectDuration = 0;
return prevEffectDuration;
}
function popNestedEffectDurations(prevEffectDuration) {
var elapsedTime = profilerEffectDuration;
profilerEffectDuration = prevEffectDuration;
return elapsedTime;
}
function bubbleNestedEffectDurations(prevEffectDuration) {
var elapsedTime = profilerEffectDuration;
profilerEffectDuration += prevEffectDuration;
return elapsedTime;
}
function resetComponentEffectTimers() {
componentEffectEndTime = componentEffectStartTime = -1.1;
}
function pushComponentEffectStart() {
var prevEffectStart = componentEffectStartTime;
componentEffectStartTime = -1.1;
return prevEffectStart;
}
function popComponentEffectStart(prevEffectStart) {
0 <= prevEffectStart && (componentEffectStartTime = prevEffectStart);
}
function pushComponentEffectDuration() {
var prevEffectDuration = componentEffectDuration;
componentEffectDuration = -0;
return prevEffectDuration;
}
function popComponentEffectDuration(prevEffectDuration) {
0 <= prevEffectDuration && (componentEffectDuration = prevEffectDuration);
}
function pushComponentEffectErrors() {
var prevErrors = componentEffectErrors;
componentEffectErrors = null;
return prevErrors;
}
function pushComponentEffectDidSpawnUpdate() {
var prev = componentEffectSpawnedUpdate;
componentEffectSpawnedUpdate = false;
return prev;
}
function startProfilerTimer(fiber) {
profilerStartTime = now2();
0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);
}
function stopProfilerTimerIfRunningAndRecordDuration(fiber) {
if (0 <= profilerStartTime) {
var elapsedTime = now2() - profilerStartTime;
fiber.actualDuration += elapsedTime;
fiber.selfBaseDuration = elapsedTime;
profilerStartTime = -1;
}
}
function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {
if (0 <= profilerStartTime) {
var elapsedTime = now2() - profilerStartTime;
fiber.actualDuration += elapsedTime;
profilerStartTime = -1;
}
}
function recordEffectDuration() {
if (0 <= profilerStartTime) {
var endTime = now2(), elapsedTime = endTime - profilerStartTime;
profilerStartTime = -1;
profilerEffectDuration += elapsedTime;
componentEffectDuration += elapsedTime;
componentEffectEndTime = endTime;
}
}
function recordEffectError(errorInfo) {
componentEffectErrors === null && (componentEffectErrors = []);
componentEffectErrors.push(errorInfo);
commitErrors === null && (commitErrors = []);
commitErrors.push(errorInfo);
}
function startEffectTimer() {
profilerStartTime = now2();
0 > componentEffectStartTime && (componentEffectStartTime = profilerStartTime);
}
function transferActualDuration(fiber) {
for (var child = fiber.child;child; )
fiber.actualDuration += child.actualDuration, child = child.sibling;
}
function noop$1() {}
function ensureRootIsScheduled(root2) {
root2 !== lastScheduledRoot && root2.next === null && (lastScheduledRoot === null ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2);
mightHavePendingSyncWork = true;
ReactSharedInternals.actQueue !== null ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask());
}
function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {
if (!isFlushingWork && mightHavePendingSyncWork) {
isFlushingWork = true;
do {
var didPerformSomeWork = false;
for (var root2 = firstScheduledRoot;root2 !== null; ) {
if (!onlyLegacy)
if (syncTransitionLanes !== 0) {
var pendingLanes = root2.pendingLanes;
if (pendingLanes === 0)
var nextLanes = 0;
else {
var { suspendedLanes, pingedLanes } = root2;
nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1;
nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);
nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0;
}
nextLanes !== 0 && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
} else
nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes(root2, root2 === workInProgressRoot ? nextLanes : 0, root2.cancelPendingCommit !== null || root2.timeoutHandle !== noTimeout), (nextLanes & 3) === 0 || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes));
root2 = root2.next;
}
} while (didPerformSomeWork);
isFlushingWork = false;
}
}
function processRootScheduleInImmediateTask() {
trackSchedulerEvent();
processRootScheduleInMicrotask();
}
function processRootScheduleInMicrotask() {
mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false;
var syncTransitionLanes = 0;
currentEventTransitionLane !== 0 && shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane);
for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot;root2 !== null; ) {
var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime);
if (nextLanes === 0)
root2.next = null, prev === null ? firstScheduledRoot = next : prev.next = next, next === null && (lastScheduledRoot = prev);
else if (prev = root2, syncTransitionLanes !== 0 || (nextLanes & 3) !== 0)
mightHavePendingSyncWork = true;
root2 = next;
}
pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE || flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false);
currentEventTransitionLane !== 0 && (currentEventTransitionLane = 0);
}
function scheduleTaskForRootDuringMicrotask(root2, currentTime) {
for (var { suspendedLanes, pingedLanes, expirationTimes } = root2, lanes = root2.pendingLanes & -62914561;0 < lanes; ) {
var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index];
if (expirationTime === -1) {
if ((lane & suspendedLanes) === 0 || (lane & pingedLanes) !== 0)
expirationTimes[index] = computeExpirationTime(lane, currentTime);
} else
expirationTime <= currentTime && (root2.expiredLanes |= lane);
lanes &= ~lane;
}
currentTime = workInProgressRoot;
suspendedLanes = workInProgressRootRenderLanes;
suspendedLanes = getNextLanes(root2, root2 === currentTime ? suspendedLanes : 0, root2.cancelPendingCommit !== null || root2.timeoutHandle !== noTimeout);
pingedLanes = root2.callbackNode;
if (suspendedLanes === 0 || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || root2.cancelPendingCommit !== null)
return pingedLanes !== null && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0;
if ((suspendedLanes & 3) === 0 || checkIfRootIsPrerendering(root2, suspendedLanes)) {
currentTime = suspendedLanes & -suspendedLanes;
if (currentTime !== root2.callbackPriority || ReactSharedInternals.actQueue !== null && pingedLanes !== fakeActCallbackNode$1)
cancelCallback(pingedLanes);
else
return currentTime;
switch (lanesToEventPriority(suspendedLanes)) {
case 2:
case 8:
suspendedLanes = UserBlockingPriority;
break;
case 32:
suspendedLanes = NormalPriority$1;
break;
case 268435456:
suspendedLanes = IdlePriority;
break;
default:
suspendedLanes = NormalPriority$1;
}
pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2);
ReactSharedInternals.actQueue !== null ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode$1) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);
root2.callbackPriority = currentTime;
root2.callbackNode = suspendedLanes;
return currentTime;
}
pingedLanes !== null && cancelCallback(pingedLanes);
root2.callbackPriority = 2;
root2.callbackNode = null;
return 2;
}
function performWorkOnRootViaSchedulerTask(root2, didTimeout) {
nestedUpdateScheduled = currentUpdateIsNested = false;
trackSchedulerEvent();
if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
return root2.callbackNode = null, root2.callbackPriority = 0, null;
var originalCallbackNode = root2.callbackNode;
pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
if (flushPendingEffects() && root2.callbackNode !== originalCallbackNode)
return null;
var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;
workInProgressRootRenderLanes$jscomp$0 = getNextLanes(root2, root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0, root2.cancelPendingCommit !== null || root2.timeoutHandle !== noTimeout);
if (workInProgressRootRenderLanes$jscomp$0 === 0)
return null;
performWorkOnRoot(root2, workInProgressRootRenderLanes$jscomp$0, didTimeout);
scheduleTaskForRootDuringMicrotask(root2, now$1());
return root2.callbackNode != null && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null;
}
function performSyncWorkOnRoot(root2, lanes) {
if (flushPendingEffects())
return null;
currentUpdateIsNested = nestedUpdateScheduled;
nestedUpdateScheduled = false;
performWorkOnRoot(root2, lanes, true);
}
function cancelCallback(callbackNode) {
callbackNode !== fakeActCallbackNode$1 && callbackNode !== null && cancelCallback$1(callbackNode);
}
function scheduleImmediateRootScheduleTask() {
ReactSharedInternals.actQueue !== null && ReactSharedInternals.actQueue.push(function() {
processRootScheduleInMicrotask();
return null;
});
supportsMicrotasks ? scheduleMicrotask(function() {
(executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3(ImmediatePriority, processRootScheduleInImmediateTask) : processRootScheduleInMicrotask();
}) : scheduleCallback$3(ImmediatePriority, processRootScheduleInImmediateTask);
}
function requestTransitionLane() {
if (currentEventTransitionLane === 0) {
var actionScopeLane = currentEntangledLane;
actionScopeLane === 0 && (actionScopeLane = nextTransitionUpdateLane, nextTransitionUpdateLane <<= 1, (nextTransitionUpdateLane & 261888) === 0 && (nextTransitionUpdateLane = 256));
currentEventTransitionLane = actionScopeLane;
}
return currentEventTransitionLane;
}
function entangleAsyncAction(transition, thenable) {
if (currentEntangledListeners === null) {
var entangledListeners = currentEntangledListeners = [];
currentEntangledPendingCount = 0;
currentEntangledLane = requestTransitionLane();
currentEntangledActionThenable = {
status: "pending",
value: undefined,
then: function(resolve9) {
entangledListeners.push(resolve9);
}
};
}
currentEntangledPendingCount++;
thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);
return thenable;
}
function pingEngtangledActionScope() {
if (--currentEntangledPendingCount === 0 && (-1 < transitionUpdateTime || (transitionStartTime = -1.1), currentEntangledListeners !== null)) {
currentEntangledActionThenable !== null && (currentEntangledActionThenable.status = "fulfilled");
var listeners = currentEntangledListeners;
currentEntangledListeners = null;
currentEntangledLane = 0;
currentEntangledActionThenable = null;
for (var i3 = 0;i3 < listeners.length; i3++)
(0, listeners[i3])();
}
}
function chainThenableValue(thenable, result) {
var listeners = [], thenableWithOverride = {
status: "pending",
value: null,
reason: null,
then: function(resolve9) {
listeners.push(resolve9);
}
};
thenable.then(function() {
thenableWithOverride.status = "fulfilled";
thenableWithOverride.value = result;
for (var i3 = 0;i3 < listeners.length; i3++)
(0, listeners[i3])(result);
}, function(error52) {
thenableWithOverride.status = "rejected";
thenableWithOverride.reason = error52;
for (error52 = 0;error52 < listeners.length; error52++)
(0, listeners[error52])(undefined);
});
return thenableWithOverride;
}
function peekCacheFromPool() {
var cacheResumedFromPreviousRender = resumedCache.current;
return cacheResumedFromPreviousRender !== null ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache;
}
function pushTransition(offscreenWorkInProgress, prevCachePool) {
prevCachePool === null ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);
}
function getSuspendedCache() {
var cacheFromPool = peekCacheFromPool();
return cacheFromPool === null ? null : {
parent: isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2,
pool: cacheFromPool
};
}
function shallowEqual(objA, objB) {
if (objectIs(objA, objB))
return true;
if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null)
return false;
var keysA = Object.keys(objA), keysB = Object.keys(objB);
if (keysA.length !== keysB.length)
return false;
for (keysB = 0;keysB < keysA.length; keysB++) {
var currentKey = keysA[keysB];
if (!hasOwnProperty15.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey]))
return false;
}
return true;
}
function createThenableState() {
return { didWarnAboutUncachedPromise: false, thenables: [] };
}
function isThenableResolved(thenable) {
thenable = thenable.status;
return thenable === "fulfilled" || thenable === "rejected";
}
function trackUsedThenable(thenableState2, thenable, index) {
ReactSharedInternals.actQueue !== null && (ReactSharedInternals.didUsePromise = true);
var trackedThenables = thenableState2.thenables;
index = trackedThenables[index];
index === undefined ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error("A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework.")), thenable.then(noop$1, noop$1), thenable = index);
if (thenable._debugInfo === undefined) {
thenableState2 = performance.now();
trackedThenables = thenable.displayName;
var ioInfo = {
name: typeof trackedThenables === "string" ? trackedThenables : "Promise",
start: thenableState2,
end: thenableState2,
value: thenable
};
thenable._debugInfo = [{ awaited: ioInfo }];
thenable.status !== "fulfilled" && thenable.status !== "rejected" && (thenableState2 = function() {
ioInfo.end = performance.now();
}, thenable.then(thenableState2, thenableState2));
}
switch (thenable.status) {
case "fulfilled":
return thenable.value;
case "rejected":
throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
default:
if (typeof thenable.status === "string")
thenable.then(noop$1, noop$1);
else {
thenableState2 = workInProgressRoot;
if (thenableState2 !== null && 100 < thenableState2.shellSuspendCounter)
throw Error("An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.");
thenableState2 = thenable;
thenableState2.status = "pending";
thenableState2.then(function(fulfilledValue) {
if (thenable.status === "pending") {
var fulfilledThenable = thenable;
fulfilledThenable.status = "fulfilled";
fulfilledThenable.value = fulfilledValue;
}
}, function(error52) {
if (thenable.status === "pending") {
var rejectedThenable = thenable;
rejectedThenable.status = "rejected";
rejectedThenable.reason = error52;
}
});
}
switch (thenable.status) {
case "fulfilled":
return thenable.value;
case "rejected":
throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2;
}
suspendedThenable = thenable;
needsToResetSuspendedThenableDEV = true;
throw SuspenseException;
}
}
function resolveLazy(lazyType) {
try {
return callLazyInitInDEV(lazyType);
} catch (x4) {
if (x4 !== null && typeof x4 === "object" && typeof x4.then === "function")
throw suspendedThenable = x4, needsToResetSuspendedThenableDEV = true, SuspenseException;
throw x4;
}
}
function getSuspendedThenable() {
if (suspendedThenable === null)
throw Error("Expected a suspended thenable. This is a bug in React. Please file an issue.");
var thenable = suspendedThenable;
suspendedThenable = null;
needsToResetSuspendedThenableDEV = false;
return thenable;
}
function checkIfUseWrappedInAsyncCatch(rejectedReason) {
if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException)
throw Error("Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.");
}
function pushDebugInfo(debugInfo) {
var previousDebugInfo = currentDebugInfo;
debugInfo != null && (currentDebugInfo = previousDebugInfo === null ? debugInfo : previousDebugInfo.concat(debugInfo));
return previousDebugInfo;
}
function getCurrentDebugTask() {
var debugInfo = currentDebugInfo;
if (debugInfo != null) {
for (var i3 = debugInfo.length - 1;0 <= i3; i3--)
if (debugInfo[i3].name != null) {
var debugTask = debugInfo[i3].debugTask;
if (debugTask != null)
return debugTask;
}
}
return null;
}
function validateFragmentProps(element, fiber, returnFiber) {
for (var keys2 = Object.keys(element.props), i3 = 0;i3 < keys2.length; i3++) {
var key = keys2[i3];
if (key !== "children" && key !== "key") {
fiber === null && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber);
runWithFiberInDEV(fiber, function(erroredKey) {
console.error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", erroredKey);
}, key);
break;
}
}
}
function unwrapThenable(thenable) {
var index = thenableIndexCounter$1;
thenableIndexCounter$1 += 1;
thenableState$1 === null && (thenableState$1 = createThenableState());
return trackUsedThenable(thenableState$1, thenable, index);
}
function coerceRef(workInProgress2, element) {
element = element.props.ref;
workInProgress2.ref = element !== undefined ? element : null;
}
function throwOnInvalidObjectTypeImpl(returnFiber, newChild) {
if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)
throw Error(`A React Element from an older version of React was rendered. This is not supported. It can happen if:
- Multiple copies of the "react" package is used.
- A library pre-bundled an old copy of "react" or "react/jsx-runtime".
- A compiler tries to "inline" JSX instead of using the runtime.`);
returnFiber = Object.prototype.toString.call(newChild);
throw Error("Objects are not valid as a React child (found: " + (returnFiber === "[object Object]" ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead.");
}
function throwOnInvalidObjectType(returnFiber, newChild) {
var debugTask = getCurrentDebugTask();
debugTask !== null ? debugTask.run(throwOnInvalidObjectTypeImpl.bind(null, returnFiber, newChild)) : throwOnInvalidObjectTypeImpl(returnFiber, newChild);
}
function warnOnFunctionTypeImpl(returnFiber, invalidChild) {
var parentName = getComponentNameFromFiber(returnFiber) || "Component";
ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", returnFiber.tag === 3 ? console.error(`Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.
root.render(%s)`, invalidChild, invalidChild, invalidChild) : console.error(`Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.
<%s>{%s}%s>`, invalidChild, invalidChild, parentName, invalidChild, parentName));
}
function warnOnFunctionType(returnFiber, invalidChild) {
var debugTask = getCurrentDebugTask();
debugTask !== null ? debugTask.run(warnOnFunctionTypeImpl.bind(null, returnFiber, invalidChild)) : warnOnFunctionTypeImpl(returnFiber, invalidChild);
}
function warnOnSymbolTypeImpl(returnFiber, invalidChild) {
var parentName = getComponentNameFromFiber(returnFiber) || "Component";
ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), returnFiber.tag === 3 ? console.error(`Symbols are not valid as a React child.
root.render(%s)`, invalidChild) : console.error(`Symbols are not valid as a React child.
<%s>%s%s>`, parentName, invalidChild, parentName));
}
function warnOnSymbolType(returnFiber, invalidChild) {
var debugTask = getCurrentDebugTask();
debugTask !== null ? debugTask.run(warnOnSymbolTypeImpl.bind(null, returnFiber, invalidChild)) : warnOnSymbolTypeImpl(returnFiber, invalidChild);
}
function createChildReconciler(shouldTrackSideEffects) {
function deleteChild(returnFiber, childToDelete) {
if (shouldTrackSideEffects) {
var deletions = returnFiber.deletions;
deletions === null ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
}
}
function deleteRemainingChildren(returnFiber, currentFirstChild) {
if (!shouldTrackSideEffects)
return null;
for (;currentFirstChild !== null; )
deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
return null;
}
function mapRemainingChildren(currentFirstChild) {
for (var existingChildren = new Map;currentFirstChild !== null; )
currentFirstChild.key !== null ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
return existingChildren;
}
function useFiber(fiber, pendingProps) {
fiber = createWorkInProgress(fiber, pendingProps);
fiber.index = 0;
fiber.sibling = null;
return fiber;
}
function placeChild(newFiber, lastPlacedIndex, newIndex) {
newFiber.index = newIndex;
if (!shouldTrackSideEffects)
return newFiber.flags |= 1048576, lastPlacedIndex;
newIndex = newFiber.alternate;
if (newIndex !== null)
return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex;
newFiber.flags |= 67108866;
return lastPlacedIndex;
}
function placeSingleChild(newFiber) {
shouldTrackSideEffects && newFiber.alternate === null && (newFiber.flags |= 67108866);
return newFiber;
}
function updateTextNode(returnFiber, current2, textContent, lanes) {
if (current2 === null || current2.tag !== 6)
return current2 = createFiberFromText(textContent, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
current2 = useFiber(current2, textContent);
current2.return = returnFiber;
current2._debugInfo = currentDebugInfo;
return current2;
}
function updateElement(returnFiber, current2, element, lanes) {
var elementType = element.type;
if (elementType === REACT_FRAGMENT_TYPE)
return current2 = updateFragment(returnFiber, current2, element.props.children, lanes, element.key), validateFragmentProps(element, current2, returnFiber), current2;
if (current2 !== null && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || typeof elementType === "object" && elementType !== null && elementType.$$typeof === REACT_LAZY_TYPE && resolveLazy(elementType) === current2.type))
return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2;
current2 = createFiberFromElement(element, returnFiber.mode, lanes);
coerceRef(current2, element);
current2.return = returnFiber;
current2._debugInfo = currentDebugInfo;
return current2;
}
function updatePortal(returnFiber, current2, portal, lanes) {
if (current2 === null || current2.tag !== 4 || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation)
return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2;
current2 = useFiber(current2, portal.children || []);
current2.return = returnFiber;
current2._debugInfo = currentDebugInfo;
return current2;
}
function updateFragment(returnFiber, current2, fragment, lanes, key) {
if (current2 === null || current2.tag !== 7)
return current2 = createFiberFromFragment(fragment, returnFiber.mode, lanes, key), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2;
current2 = useFiber(current2, fragment);
current2.return = returnFiber;
current2._debugInfo = currentDebugInfo;
return current2;
}
function createChild(returnFiber, newChild, lanes) {
if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number" || typeof newChild === "bigint")
return newChild = createFiberFromText("" + newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild;
if (typeof newChild === "object" && newChild !== null) {
switch (newChild.$$typeof) {
case REACT_ELEMENT_TYPE:
return lanes = createFiberFromElement(newChild, returnFiber.mode, lanes), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
case REACT_PORTAL_TYPE:
return newChild = createFiberFromPortal(newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild;
case REACT_LAZY_TYPE:
var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);
newChild = resolveLazy(newChild);
returnFiber = createChild(returnFiber, newChild, lanes);
currentDebugInfo = _prevDebugInfo;
return returnFiber;
}
if (isArrayImpl(newChild) || getIteratorFn(newChild))
return lanes = createFiberFromFragment(newChild, returnFiber.mode, lanes, null), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes;
if (typeof newChild.then === "function")
return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild(returnFiber, unwrapThenable(newChild), lanes), currentDebugInfo = _prevDebugInfo, returnFiber;
if (newChild.$$typeof === REACT_CONTEXT_TYPE)
return createChild(returnFiber, readContextDuringReconciliation(returnFiber, newChild), lanes);
throwOnInvalidObjectType(returnFiber, newChild);
}
typeof newChild === "function" && warnOnFunctionType(returnFiber, newChild);
typeof newChild === "symbol" && warnOnSymbolType(returnFiber, newChild);
return null;
}
function updateSlot(returnFiber, oldFiber, newChild, lanes) {
var key = oldFiber !== null ? oldFiber.key : null;
if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number" || typeof newChild === "bigint")
return key !== null ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);
if (typeof newChild === "object" && newChild !== null) {
switch (newChild.$$typeof) {
case REACT_ELEMENT_TYPE:
return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(returnFiber, oldFiber, newChild, lanes), currentDebugInfo = key, returnFiber) : null;
case REACT_PORTAL_TYPE:
return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
case REACT_LAZY_TYPE:
return key = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = updateSlot(returnFiber, oldFiber, newChild, lanes), currentDebugInfo = key, returnFiber;
}
if (isArrayImpl(newChild) || getIteratorFn(newChild)) {
if (key !== null)
return null;
key = pushDebugInfo(newChild._debugInfo);
returnFiber = updateFragment(returnFiber, oldFiber, newChild, lanes, null);
currentDebugInfo = key;
return returnFiber;
}
if (typeof newChild.then === "function")
return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot(returnFiber, oldFiber, unwrapThenable(newChild), lanes), currentDebugInfo = key, returnFiber;
if (newChild.$$typeof === REACT_CONTEXT_TYPE)
return updateSlot(returnFiber, oldFiber, readContextDuringReconciliation(returnFiber, newChild), lanes);
throwOnInvalidObjectType(returnFiber, newChild);
}
typeof newChild === "function" && warnOnFunctionType(returnFiber, newChild);
typeof newChild === "symbol" && warnOnSymbolType(returnFiber, newChild);
return null;
}
function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number" || typeof newChild === "bigint")
return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);
if (typeof newChild === "object" && newChild !== null) {
switch (newChild.$$typeof) {
case REACT_ELEMENT_TYPE:
return newIdx = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement(returnFiber, newIdx, newChild, lanes), currentDebugInfo = existingChildren, returnFiber;
case REACT_PORTAL_TYPE:
return existingChildren = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
case REACT_LAZY_TYPE:
var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);
newChild = resolveLazy(newChild);
returnFiber = updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes);
currentDebugInfo = _prevDebugInfo7;
return returnFiber;
}
if (isArrayImpl(newChild) || getIteratorFn(newChild))
return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment(returnFiber, newIdx, newChild, lanes, null), currentDebugInfo = existingChildren, returnFiber;
if (typeof newChild.then === "function")
return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap(existingChildren, returnFiber, newIdx, unwrapThenable(newChild), lanes), currentDebugInfo = _prevDebugInfo7, returnFiber;
if (newChild.$$typeof === REACT_CONTEXT_TYPE)
return updateFromMap(existingChildren, returnFiber, newIdx, readContextDuringReconciliation(returnFiber, newChild), lanes);
throwOnInvalidObjectType(returnFiber, newChild);
}
typeof newChild === "function" && warnOnFunctionType(returnFiber, newChild);
typeof newChild === "symbol" && warnOnSymbolType(returnFiber, newChild);
return null;
}
function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) {
if (typeof child !== "object" || child === null)
return knownKeys;
switch (child.$$typeof) {
case REACT_ELEMENT_TYPE:
case REACT_PORTAL_TYPE:
warnForMissingKey(returnFiber, workInProgress2, child);
var key = child.key;
if (typeof key !== "string")
break;
if (knownKeys === null) {
knownKeys = new Set;
knownKeys.add(key);
break;
}
if (!knownKeys.has(key)) {
knownKeys.add(key);
break;
}
runWithFiberInDEV(workInProgress2, function() {
console.error("Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.", key);
});
break;
case REACT_LAZY_TYPE:
child = resolveLazy(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys);
}
return knownKeys;
}
function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null;oldFiber !== null && newIdx < newChildren.length; newIdx++) {
oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);
if (newFiber === null) {
oldFiber === null && (oldFiber = nextOldFiber);
break;
}
knownKeys = warnOnInvalidKey(returnFiber, newFiber, newChildren[newIdx], knownKeys);
shouldTrackSideEffects && oldFiber && newFiber.alternate === null && deleteChild(returnFiber, oldFiber);
currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
previousNewFiber === null ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
previousNewFiber = newFiber;
oldFiber = nextOldFiber;
}
if (newIdx === newChildren.length)
return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
if (oldFiber === null) {
for (;newIdx < newChildren.length; newIdx++)
oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), oldFiber !== null && (knownKeys = warnOnInvalidKey(returnFiber, oldFiber, newChildren[newIdx], knownKeys), currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), previousNewFiber === null ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
isHydrating && pushTreeFork(returnFiber, newIdx);
return resultingFirstChild;
}
for (oldFiber = mapRemainingChildren(oldFiber);newIdx < newChildren.length; newIdx++)
nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, newChildren[newIdx], lanes), nextOldFiber !== null && (knownKeys = warnOnInvalidKey(returnFiber, nextOldFiber, newChildren[newIdx], knownKeys), shouldTrackSideEffects && nextOldFiber.alternate !== null && oldFiber.delete(nextOldFiber.key === null ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), previousNewFiber === null ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
shouldTrackSideEffects && oldFiber.forEach(function(child) {
return deleteChild(returnFiber, child);
});
isHydrating && pushTreeFork(returnFiber, newIdx);
return resultingFirstChild;
}
function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) {
if (newChildren == null)
throw Error("An iterable object provided no iterator.");
for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next();oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {
oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);
if (newFiber === null) {
oldFiber === null && (oldFiber = nextOldFiber);
break;
}
knownKeys = warnOnInvalidKey(returnFiber, newFiber, step.value, knownKeys);
shouldTrackSideEffects && oldFiber && newFiber.alternate === null && deleteChild(returnFiber, oldFiber);
currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
previousNewFiber === null ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
previousNewFiber = newFiber;
oldFiber = nextOldFiber;
}
if (step.done)
return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild;
if (oldFiber === null) {
for (;!step.done; newIdx++, step = newChildren.next())
oldFiber = createChild(returnFiber, step.value, lanes), oldFiber !== null && (knownKeys = warnOnInvalidKey(returnFiber, oldFiber, step.value, knownKeys), currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), previousNewFiber === null ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
isHydrating && pushTreeFork(returnFiber, newIdx);
return resultingFirstChild;
}
for (oldFiber = mapRemainingChildren(oldFiber);!step.done; newIdx++, step = newChildren.next())
nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes), nextOldFiber !== null && (knownKeys = warnOnInvalidKey(returnFiber, nextOldFiber, step.value, knownKeys), shouldTrackSideEffects && nextOldFiber.alternate !== null && oldFiber.delete(nextOldFiber.key === null ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), previousNewFiber === null ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
shouldTrackSideEffects && oldFiber.forEach(function(child) {
return deleteChild(returnFiber, child);
});
isHydrating && pushTreeFork(returnFiber, newIdx);
return resultingFirstChild;
}
function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) {
typeof newChild === "object" && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children);
if (typeof newChild === "object" && newChild !== null) {
switch (newChild.$$typeof) {
case REACT_ELEMENT_TYPE:
var prevDebugInfo = pushDebugInfo(newChild._debugInfo);
a: {
for (var key = newChild.key;currentFirstChild !== null; ) {
if (currentFirstChild.key === key) {
key = newChild.type;
if (key === REACT_FRAGMENT_TYPE) {
if (currentFirstChild.tag === 7) {
deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
lanes = useFiber(currentFirstChild, newChild.props.children);
lanes.return = returnFiber;
lanes._debugOwner = newChild._owner;
lanes._debugInfo = currentDebugInfo;
validateFragmentProps(newChild, lanes, returnFiber);
returnFiber = lanes;
break a;
}
} else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading(currentFirstChild, newChild) || typeof key === "object" && key !== null && key.$$typeof === REACT_LAZY_TYPE && resolveLazy(key) === currentFirstChild.type) {
deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
lanes = useFiber(currentFirstChild, newChild.props);
coerceRef(lanes, newChild);
lanes.return = returnFiber;
lanes._debugOwner = newChild._owner;
lanes._debugInfo = currentDebugInfo;
returnFiber = lanes;
break a;
}
deleteRemainingChildren(returnFiber, currentFirstChild);
break;
} else
deleteChild(returnFiber, currentFirstChild);
currentFirstChild = currentFirstChild.sibling;
}
newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment(newChild.props.children, returnFiber.mode, lanes, newChild.key), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement(newChild, returnFiber.mode, lanes), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes);
}
returnFiber = placeSingleChild(returnFiber);
currentDebugInfo = prevDebugInfo;
return returnFiber;
case REACT_PORTAL_TYPE:
a: {
prevDebugInfo = newChild;
for (newChild = prevDebugInfo.key;currentFirstChild !== null; ) {
if (currentFirstChild.key === newChild)
if (currentFirstChild.tag === 4 && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) {
deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
lanes = useFiber(currentFirstChild, prevDebugInfo.children || []);
lanes.return = returnFiber;
returnFiber = lanes;
break a;
} else {
deleteRemainingChildren(returnFiber, currentFirstChild);
break;
}
else
deleteChild(returnFiber, currentFirstChild);
currentFirstChild = currentFirstChild.sibling;
}
lanes = createFiberFromPortal(prevDebugInfo, returnFiber.mode, lanes);
lanes.return = returnFiber;
returnFiber = lanes;
}
return placeSingleChild(returnFiber);
case REACT_LAZY_TYPE:
return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = resolveLazy(newChild), returnFiber = reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes), currentDebugInfo = prevDebugInfo, returnFiber;
}
if (isArrayImpl(newChild))
return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes), currentDebugInfo = prevDebugInfo, returnFiber;
if (getIteratorFn(newChild)) {
prevDebugInfo = pushDebugInfo(newChild._debugInfo);
key = getIteratorFn(newChild);
if (typeof key !== "function")
throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");
var newChildren = key.call(newChild);
if (newChildren === newChild) {
if (returnFiber.tag !== 0 || Object.prototype.toString.call(returnFiber.type) !== "[object GeneratorFunction]" || Object.prototype.toString.call(newChildren) !== "[object Generator]")
didWarnAboutGenerators || console.error("Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items."), didWarnAboutGenerators = true;
} else
newChild.entries !== key || didWarnAboutMaps || (console.error("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), didWarnAboutMaps = true);
returnFiber = reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes);
currentDebugInfo = prevDebugInfo;
return returnFiber;
}
if (typeof newChild.then === "function")
return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl(returnFiber, currentFirstChild, unwrapThenable(newChild), lanes), currentDebugInfo = prevDebugInfo, returnFiber;
if (newChild.$$typeof === REACT_CONTEXT_TYPE)
return reconcileChildFibersImpl(returnFiber, currentFirstChild, readContextDuringReconciliation(returnFiber, newChild), lanes);
throwOnInvalidObjectType(returnFiber, newChild);
}
if (typeof newChild === "string" && newChild !== "" || typeof newChild === "number" || typeof newChild === "bigint")
return prevDebugInfo = "" + newChild, currentFirstChild !== null && currentFirstChild.tag === 6 ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText(prevDebugInfo, returnFiber.mode, lanes), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber);
typeof newChild === "function" && warnOnFunctionType(returnFiber, newChild);
typeof newChild === "symbol" && warnOnSymbolType(returnFiber, newChild);
return deleteRemainingChildren(returnFiber, currentFirstChild);
}
return function(returnFiber, currentFirstChild, newChild, lanes) {
var prevDebugInfo = currentDebugInfo;
currentDebugInfo = null;
try {
thenableIndexCounter$1 = 0;
var firstChildFiber = reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes);
thenableState$1 = null;
return firstChildFiber;
} catch (x4) {
if (x4 === SuspenseException || x4 === SuspenseActionException)
throw x4;
var fiber = createFiber(29, x4, null, returnFiber.mode);
fiber.lanes = lanes;
fiber.return = returnFiber;
var debugInfo = fiber._debugInfo = currentDebugInfo;
fiber._debugOwner = returnFiber._debugOwner;
fiber._debugTask = returnFiber._debugTask;
if (debugInfo != null) {
for (var i3 = debugInfo.length - 1;0 <= i3; i3--)
if (typeof debugInfo[i3].stack === "string") {
fiber._debugOwner = debugInfo[i3];
fiber._debugTask = debugInfo[i3].debugTask;
break;
}
}
return fiber;
} finally {
currentDebugInfo = prevDebugInfo;
}
};
}
function validateSuspenseListNestedChild(childSlot, index) {
var isAnArray = isArrayImpl(childSlot);
childSlot = !isAnArray && typeof getIteratorFn(childSlot) === "function";
return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error("A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ", isAnArray, index, isAnArray), false) : true;
}
function finishQueueingConcurrentUpdates() {
for (var endIndex = concurrentQueuesIndex, i3 = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0;i3 < endIndex; ) {
var fiber = concurrentQueues[i3];
concurrentQueues[i3++] = null;
var queue = concurrentQueues[i3];
concurrentQueues[i3++] = null;
var update = concurrentQueues[i3];
concurrentQueues[i3++] = null;
var lane = concurrentQueues[i3];
concurrentQueues[i3++] = null;
if (queue !== null && update !== null) {
var pending = queue.pending;
pending === null ? update.next = update : (update.next = pending.next, pending.next = update);
queue.pending = update;
}
lane !== 0 && markUpdateLaneFromFiberToRoot(fiber, update, lane);
}
}
function enqueueUpdate$1(fiber, queue, update, lane) {
concurrentQueues[concurrentQueuesIndex++] = fiber;
concurrentQueues[concurrentQueuesIndex++] = queue;
concurrentQueues[concurrentQueuesIndex++] = update;
concurrentQueues[concurrentQueuesIndex++] = lane;
concurrentlyUpdatedLanes |= lane;
fiber.lanes |= lane;
fiber = fiber.alternate;
fiber !== null && (fiber.lanes |= lane);
}
function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {
enqueueUpdate$1(fiber, queue, update, lane);
return getRootForUpdatedFiber(fiber);
}
function enqueueConcurrentRenderForLane(fiber, lane) {
enqueueUpdate$1(fiber, null, null, lane);
return getRootForUpdatedFiber(fiber);
}
function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {
sourceFiber.lanes |= lane;
var alternate = sourceFiber.alternate;
alternate !== null && (alternate.lanes |= lane);
for (var isHidden = false, parent = sourceFiber.return;parent !== null; )
parent.childLanes |= lane, alternate = parent.alternate, alternate !== null && (alternate.childLanes |= lane), parent.tag === 22 && (sourceFiber = parent.stateNode, sourceFiber === null || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return;
return sourceFiber.tag === 3 ? (parent = sourceFiber.stateNode, isHidden && update !== null && (isHidden = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden], alternate === null ? sourceFiber[isHidden] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null;
}
function getRootForUpdatedFiber(sourceFiber) {
if (nestedUpdateCount > NESTED_UPDATE_LIMIT)
throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");
nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error("Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."));
sourceFiber.alternate === null && (sourceFiber.flags & 4098) !== 0 && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);
for (var node = sourceFiber, parent = node.return;parent !== null; )
node.alternate === null && (node.flags & 4098) !== 0 && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return;
return node.tag === 3 ? node.stateNode : null;
}
function initializeUpdateQueue(fiber) {
fiber.updateQueue = {
baseState: fiber.memoizedState,
firstBaseUpdate: null,
lastBaseUpdate: null,
shared: { pending: null, lanes: 0, hiddenCallbacks: null },
callbacks: null
};
}
function cloneUpdateQueue(current2, workInProgress2) {
current2 = current2.updateQueue;
workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = {
baseState: current2.baseState,
firstBaseUpdate: current2.firstBaseUpdate,
lastBaseUpdate: current2.lastBaseUpdate,
shared: current2.shared,
callbacks: null
});
}
function createUpdate(lane) {
return {
lane,
tag: UpdateState,
payload: null,
callback: null,
next: null
};
}
function enqueueUpdate(fiber, update, lane) {
var updateQueue = fiber.updateQueue;
if (updateQueue === null)
return null;
updateQueue = updateQueue.shared;
if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) {
var componentName2 = getComponentNameFromFiber(fiber);
console.error(`An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.
Please update the following component: %s`, componentName2);
didWarnUpdateInsideUpdate = true;
}
if ((executionContext & RenderContext) !== NoContext)
return componentName2 = updateQueue.pending, componentName2 === null ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update;
enqueueUpdate$1(fiber, updateQueue, update, lane);
return getRootForUpdatedFiber(fiber);
}
function entangleTransitions(root2, fiber, lane) {
fiber = fiber.updateQueue;
if (fiber !== null && (fiber = fiber.shared, (lane & 4194048) !== 0)) {
var queueLanes = fiber.lanes;
queueLanes &= root2.pendingLanes;
lane |= queueLanes;
fiber.lanes = lane;
markRootEntangled(root2, lane);
}
}
function enqueueCapturedUpdate(workInProgress2, capturedUpdate) {
var { updateQueue: queue, alternate: current2 } = workInProgress2;
if (current2 !== null && (current2 = current2.updateQueue, queue === current2)) {
var newFirst = null, newLast = null;
queue = queue.firstBaseUpdate;
if (queue !== null) {
do {
var clone4 = {
lane: queue.lane,
tag: queue.tag,
payload: queue.payload,
callback: null,
next: null
};
newLast === null ? newFirst = newLast = clone4 : newLast = newLast.next = clone4;
queue = queue.next;
} while (queue !== null);
newLast === null ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
} else
newFirst = newLast = capturedUpdate;
queue = {
baseState: current2.baseState,
firstBaseUpdate: newFirst,
lastBaseUpdate: newLast,
shared: current2.shared,
callbacks: current2.callbacks
};
workInProgress2.updateQueue = queue;
return;
}
workInProgress2 = queue.lastBaseUpdate;
workInProgress2 === null ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate;
queue.lastBaseUpdate = capturedUpdate;
}
function suspendIfUpdateReadFromEntangledAsyncAction() {
if (didReadFromEntangledAsyncAction) {
var entangledActionThenable = currentEntangledActionThenable;
if (entangledActionThenable !== null)
throw entangledActionThenable;
}
}
function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) {
didReadFromEntangledAsyncAction = false;
var queue = workInProgress2.updateQueue;
hasForceUpdate = false;
currentlyProcessingQueue = queue.shared;
var { firstBaseUpdate, lastBaseUpdate } = queue, pendingQueue = queue.shared.pending;
if (pendingQueue !== null) {
queue.shared.pending = null;
var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next;
lastPendingUpdate.next = null;
lastBaseUpdate === null ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
lastBaseUpdate = lastPendingUpdate;
var current2 = workInProgress2.alternate;
current2 !== null && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (pendingQueue === null ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate));
}
if (firstBaseUpdate !== null) {
var newState = queue.baseState;
lastBaseUpdate = 0;
current2 = firstPendingUpdate = lastPendingUpdate = null;
pendingQueue = firstBaseUpdate;
do {
var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane;
if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) {
updateLane !== 0 && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true);
current2 !== null && (current2 = current2.next = {
lane: 0,
tag: pendingQueue.tag,
payload: pendingQueue.payload,
callback: null,
next: null
});
a: {
updateLane = workInProgress2;
var partialState = pendingQueue;
var nextProps = props, instance = instance$jscomp$0;
switch (partialState.tag) {
case ReplaceState:
partialState = partialState.payload;
if (typeof partialState === "function") {
isDisallowedContextReadInDEV = true;
var nextState = partialState.call(instance, newState, nextProps);
if (updateLane.mode & 8) {
setIsStrictModeForDevtools(true);
try {
partialState.call(instance, newState, nextProps);
} finally {
setIsStrictModeForDevtools(false);
}
}
isDisallowedContextReadInDEV = false;
newState = nextState;
break a;
}
newState = partialState;
break a;
case CaptureUpdate:
updateLane.flags = updateLane.flags & -65537 | 128;
case UpdateState:
nextState = partialState.payload;
if (typeof nextState === "function") {
isDisallowedContextReadInDEV = true;
partialState = nextState.call(instance, newState, nextProps);
if (updateLane.mode & 8) {
setIsStrictModeForDevtools(true);
try {
nextState.call(instance, newState, nextProps);
} finally {
setIsStrictModeForDevtools(false);
}
}
isDisallowedContextReadInDEV = false;
} else
partialState = nextState;
if (partialState === null || partialState === undefined)
break a;
newState = assign({}, newState, partialState);
break a;
case ForceUpdate:
hasForceUpdate = true;
}
}
updateLane = pendingQueue.callback;
updateLane !== null && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, isHiddenUpdate === null ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane));
} else
isHiddenUpdate = {
lane: updateLane,
tag: pendingQueue.tag,
payload: pendingQueue.payload,
callback: pendingQueue.callback,
next: null
}, current2 === null ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane;
pendingQueue = pendingQueue.next;
if (pendingQueue === null)
if (pendingQueue = queue.shared.pending, pendingQueue === null)
break;
else
isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null;
} while (1);
current2 === null && (lastPendingUpdate = newState);
queue.baseState = lastPendingUpdate;
queue.firstBaseUpdate = firstPendingUpdate;
queue.lastBaseUpdate = current2;
firstBaseUpdate === null && (queue.shared.lanes = 0);
workInProgressRootSkippedLanes |= lastBaseUpdate;
workInProgress2.lanes = lastBaseUpdate;
workInProgress2.memoizedState = newState;
}
currentlyProcessingQueue = null;
}
function callCallback(callback, context3) {
if (typeof callback !== "function")
throw Error("Invalid argument passed as callback. Expected a function. Instead received: " + callback);
callback.call(context3);
}
function commitHiddenCallbacks(updateQueue, context3) {
var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;
if (hiddenCallbacks !== null)
for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0;updateQueue < hiddenCallbacks.length; updateQueue++)
callCallback(hiddenCallbacks[updateQueue], context3);
}
function commitCallbacks(updateQueue, context3) {
var callbacks = updateQueue.callbacks;
if (callbacks !== null)
for (updateQueue.callbacks = null, updateQueue = 0;updateQueue < callbacks.length; updateQueue++)
callCallback(callbacks[updateQueue], context3);
}
function pushHiddenContext(fiber, context3) {
var prevEntangledRenderLanes = entangledRenderLanes;
push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);
push(currentTreeHiddenStackCursor, context3, fiber);
entangledRenderLanes = prevEntangledRenderLanes | context3.baseLanes;
}
function reuseHiddenContextOnStack(fiber) {
push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);
push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current, fiber);
}
function popHiddenContext(fiber) {
entangledRenderLanes = prevEntangledRenderLanesCursor.current;
pop(currentTreeHiddenStackCursor, fiber);
pop(prevEntangledRenderLanesCursor, fiber);
}
function pushPrimaryTreeSuspenseHandler(handler) {
var current2 = handler.alternate;
push(suspenseStackCursor, suspenseStackCursor.current & SubtreeSuspenseContextMask, handler);
push(suspenseHandlerStackCursor, handler, handler);
shellBoundary === null && (current2 === null || currentTreeHiddenStackCursor.current !== null ? shellBoundary = handler : current2.memoizedState !== null && (shellBoundary = handler));
}
function pushDehydratedActivitySuspenseHandler(fiber) {
push(suspenseStackCursor, suspenseStackCursor.current, fiber);
push(suspenseHandlerStackCursor, fiber, fiber);
shellBoundary === null && (shellBoundary = fiber);
}
function pushOffscreenSuspenseHandler(fiber) {
fiber.tag === 22 ? (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), shellBoundary === null && (shellBoundary = fiber)) : reuseSuspenseHandlerOnStack(fiber);
}
function reuseSuspenseHandlerOnStack(fiber) {
push(suspenseStackCursor, suspenseStackCursor.current, fiber);
push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current, fiber);
}
function popSuspenseHandler(fiber) {
pop(suspenseHandlerStackCursor, fiber);
shellBoundary === fiber && (shellBoundary = null);
pop(suspenseStackCursor, fiber);
}
function findFirstSuspended(row) {
for (var node = row;node !== null; ) {
if (node.tag === 13) {
var state3 = node.memoizedState;
if (state3 !== null && (state3 = state3.dehydrated, state3 === null || isSuspenseInstancePending(state3) || isSuspenseInstanceFallback(state3)))
return node;
} else if (node.tag === 19 && (node.memoizedProps.revealOrder === "forwards" || node.memoizedProps.revealOrder === "backwards" || node.memoizedProps.revealOrder === "unstable_legacy-backwards" || node.memoizedProps.revealOrder === "together")) {
if ((node.flags & 128) !== 0)
return node;
} else if (node.child !== null) {
node.child.return = node;
node = node.child;
continue;
}
if (node === row)
break;
for (;node.sibling === null; ) {
if (node.return === null || node.return === row)
return null;
node = node.return;
}
node.sibling.return = node.return;
node = node.sibling;
}
return null;
}
function mountHookTypesDev() {
var hookName = currentHookNameInDev;
hookTypesDev === null ? hookTypesDev = [hookName] : hookTypesDev.push(hookName);
}
function updateHookTypesDev() {
var hookName = currentHookNameInDev;
if (hookTypesDev !== null && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) {
var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), hookTypesDev !== null)) {
for (var table = "", i3 = 0;i3 <= hookTypesUpdateIndexDev; i3++) {
var oldHookName = hookTypesDev[i3], newHookName = i3 === hookTypesUpdateIndexDev ? hookName : oldHookName;
for (oldHookName = i3 + 1 + ". " + oldHookName;30 > oldHookName.length; )
oldHookName += " ";
oldHookName += newHookName + `
`;
table += oldHookName;
}
console.error(`React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks
Previous render Next render
------------------------------------------------------
%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`, componentName2, table);
}
}
}
function checkDepsAreArrayDev(deps) {
deps === undefined || deps === null || isArrayImpl(deps) || console.error("%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", currentHookNameInDev, typeof deps);
}
function warnOnUseFormStateInDev() {
var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber);
didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error("ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.", componentName2));
}
function throwInvalidHookError() {
throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`);
}
function areHookInputsEqual(nextDeps, prevDeps) {
if (ignorePreviousDependencies)
return false;
if (prevDeps === null)
return console.error("%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", currentHookNameInDev), false;
nextDeps.length !== prevDeps.length && console.error(`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.
Previous: %s
Incoming: %s`, currentHookNameInDev, "[" + prevDeps.join(", ") + "]", "[" + nextDeps.join(", ") + "]");
for (var i3 = 0;i3 < prevDeps.length && i3 < nextDeps.length; i3++)
if (!objectIs(nextDeps[i3], prevDeps[i3]))
return false;
return true;
}
function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) {
renderLanes = nextRenderLanes;
currentlyRenderingFiber = workInProgress2;
hookTypesDev = current2 !== null ? current2._debugHookTypes : null;
hookTypesUpdateIndexDev = -1;
ignorePreviousDependencies = current2 !== null && current2.type !== workInProgress2.type;
if (Object.prototype.toString.call(Component) === "[object AsyncFunction]" || Object.prototype.toString.call(Component) === "[object AsyncGeneratorFunction]")
nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error("%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.", nextRenderLanes === null ? "An unknown Component" : "<" + nextRenderLanes + ">"));
workInProgress2.memoizedState = null;
workInProgress2.updateQueue = null;
workInProgress2.lanes = 0;
ReactSharedInternals.H = current2 !== null && current2.memoizedState !== null ? HooksDispatcherOnUpdateInDEV : hookTypesDev !== null ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV;
shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & 8) !== NoMode;
var children2 = callComponentInDEV(Component, props, secondArg);
shouldDoubleInvokeUserFnsInHooksDEV = false;
didScheduleRenderPhaseUpdateDuringThisPass && (children2 = renderWithHooksAgain(workInProgress2, Component, props, secondArg));
if (nextRenderLanes) {
setIsStrictModeForDevtools(true);
try {
children2 = renderWithHooksAgain(workInProgress2, Component, props, secondArg);
} finally {
setIsStrictModeForDevtools(false);
}
}
finishRenderingHooks(current2, workInProgress2);
return children2;
}
function finishRenderingHooks(current2, workInProgress2) {
workInProgress2._debugHookTypes = hookTypesDev;
workInProgress2.dependencies === null ? thenableState !== null && (workInProgress2.dependencies = {
lanes: 0,
firstContext: null,
_debugThenableState: thenableState
}) : workInProgress2.dependencies._debugThenableState = thenableState;
ReactSharedInternals.H = ContextOnlyDispatcher;
var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;
renderLanes = 0;
hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
hookTypesUpdateIndexDev = -1;
current2 !== null && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error("Internal React error: Expected static flag was missing. Please notify the React team.");
didScheduleRenderPhaseUpdate = false;
thenableIndexCounter = 0;
thenableState = null;
if (didRenderTooFewHooks)
throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");
current2 === null || didReceiveUpdate || (current2 = current2.dependencies, current2 !== null && checkIfContextChanged(current2) && (didReceiveUpdate = true));
needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false;
current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error("`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary.")));
}
function renderWithHooksAgain(workInProgress2, Component, props, secondArg) {
currentlyRenderingFiber = workInProgress2;
var numberOfReRenders = 0;
do {
didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);
thenableIndexCounter = 0;
didScheduleRenderPhaseUpdateDuringThisPass = false;
if (numberOfReRenders >= RE_RENDER_LIMIT)
throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
numberOfReRenders += 1;
ignorePreviousDependencies = false;
workInProgressHook = currentHook = null;
if (workInProgress2.updateQueue != null) {
var children2 = workInProgress2.updateQueue;
children2.lastEffect = null;
children2.events = null;
children2.stores = null;
children2.memoCache != null && (children2.memoCache.index = 0);
}
hookTypesUpdateIndexDev = -1;
ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;
children2 = callComponentInDEV(Component, props, secondArg);
} while (didScheduleRenderPhaseUpdateDuringThisPass);
return children2;
}
function TransitionAwareHostComponent() {
var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0];
maybeThenable = typeof maybeThenable.then === "function" ? useThenable(maybeThenable) : maybeThenable;
dispatcher = dispatcher.useState()[0];
(currentHook !== null ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024);
return maybeThenable;
}
function checkDidRenderIdHook() {
var didRenderIdHook = localIdCounter !== 0;
localIdCounter = 0;
return didRenderIdHook;
}
function bailoutHooks(current2, workInProgress2, lanes) {
workInProgress2.updateQueue = current2.updateQueue;
workInProgress2.flags = (workInProgress2.mode & 16) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053;
current2.lanes &= ~lanes;
}
function resetHooksOnUnwind(workInProgress2) {
if (didScheduleRenderPhaseUpdate) {
for (workInProgress2 = workInProgress2.memoizedState;workInProgress2 !== null; ) {
var queue = workInProgress2.queue;
queue !== null && (queue.pending = null);
workInProgress2 = workInProgress2.next;
}
didScheduleRenderPhaseUpdate = false;
}
renderLanes = 0;
hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null;
hookTypesUpdateIndexDev = -1;
currentHookNameInDev = null;
didScheduleRenderPhaseUpdateDuringThisPass = false;
thenableIndexCounter = localIdCounter = 0;
thenableState = null;
}
function mountWorkInProgressHook() {
var hook = {
memoizedState: null,
baseState: null,
baseQueue: null,
queue: null,
next: null
};
workInProgressHook === null ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
return workInProgressHook;
}
function updateWorkInProgressHook() {
if (currentHook === null) {
var nextCurrentHook = currentlyRenderingFiber.alternate;
nextCurrentHook = nextCurrentHook !== null ? nextCurrentHook.memoizedState : null;
} else
nextCurrentHook = currentHook.next;
var nextWorkInProgressHook = workInProgressHook === null ? currentlyRenderingFiber.memoizedState : workInProgressHook.next;
if (nextWorkInProgressHook !== null)
workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;
else {
if (nextCurrentHook === null) {
if (currentlyRenderingFiber.alternate === null)
throw Error("Update hook called on initial render. This is likely a bug in React. Please file an issue.");
throw Error("Rendered more hooks than during the previous render.");
}
currentHook = nextCurrentHook;
nextCurrentHook = {
memoizedState: currentHook.memoizedState,
baseState: currentHook.baseState,
baseQueue: currentHook.baseQueue,
queue: currentHook.queue,
next: null
};
workInProgressHook === null ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
}
return workInProgressHook;
}
function createFunctionComponentUpdateQueue() {
return { lastEffect: null, events: null, stores: null, memoCache: null };
}
function useThenable(thenable) {
var index = thenableIndexCounter;
thenableIndexCounter += 1;
thenableState === null && (thenableState = createThenableState());
thenable = trackUsedThenable(thenableState, thenable, index);
index = currentlyRenderingFiber;
(workInProgressHook === null ? index.memoizedState : workInProgressHook.next) === null && (index = index.alternate, ReactSharedInternals.H = index !== null && index.memoizedState !== null ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV);
return thenable;
}
function use(usable) {
if (usable !== null && typeof usable === "object") {
if (typeof usable.then === "function")
return useThenable(usable);
if (usable.$$typeof === REACT_CONTEXT_TYPE)
return readContext(usable);
}
throw Error("An unsupported type was passed to use(): " + String(usable));
}
function useMemoCache(size) {
var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue;
updateQueue !== null && (memoCache = updateQueue.memoCache);
if (memoCache == null) {
var current2 = currentlyRenderingFiber.alternate;
current2 !== null && (current2 = current2.updateQueue, current2 !== null && (current2 = current2.memoCache, current2 != null && (memoCache = {
data: current2.data.map(function(array2) {
return array2.slice();
}),
index: 0
})));
}
memoCache == null && (memoCache = { data: [], index: 0 });
updateQueue === null && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue);
updateQueue.memoCache = memoCache;
updateQueue = memoCache.data[memoCache.index];
if (updateQueue === undefined || ignorePreviousDependencies)
for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0;current2 < size; current2++)
updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL;
else
updateQueue.length !== size && console.error("Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.", updateQueue.length, size);
memoCache.index++;
return updateQueue;
}
function basicStateReducer(state3, action) {
return typeof action === "function" ? action(state3) : action;
}
function mountReducer(reducer, initialArg, init) {
var hook = mountWorkInProgressHook();
if (init !== undefined) {
var initialState = init(initialArg);
if (shouldDoubleInvokeUserFnsInHooksDEV) {
setIsStrictModeForDevtools(true);
try {
init(initialArg);
} finally {
setIsStrictModeForDevtools(false);
}
}
} else
initialState = initialArg;
hook.memoizedState = hook.baseState = initialState;
reducer = {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: reducer,
lastRenderedState: initialState
};
hook.queue = reducer;
reducer = reducer.dispatch = dispatchReducerAction.bind(null, currentlyRenderingFiber, reducer);
return [hook.memoizedState, reducer];
}
function updateReducer(reducer) {
var hook = updateWorkInProgressHook();
return updateReducerImpl(hook, currentHook, reducer);
}
function updateReducerImpl(hook, current2, reducer) {
var queue = hook.queue;
if (queue === null)
throw Error("Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)");
queue.lastRenderedReducer = reducer;
var baseQueue = hook.baseQueue, pendingQueue = queue.pending;
if (pendingQueue !== null) {
if (baseQueue !== null) {
var baseFirst = baseQueue.next;
baseQueue.next = pendingQueue.next;
pendingQueue.next = baseFirst;
}
current2.baseQueue !== baseQueue && console.error("Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.");
current2.baseQueue = baseQueue = pendingQueue;
queue.pending = null;
}
pendingQueue = hook.baseState;
if (baseQueue === null)
hook.memoizedState = pendingQueue;
else {
current2 = baseQueue.next;
var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false;
do {
var updateLane = update.lane & -536870913;
if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) {
var revertLane = update.revertLane;
if (revertLane === 0)
newBaseQueueLast !== null && (newBaseQueueLast = newBaseQueueLast.next = {
lane: 0,
revertLane: 0,
gesture: null,
action: update.action,
hasEagerState: update.hasEagerState,
eagerState: update.eagerState,
next: null
}), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
else if ((renderLanes & revertLane) === revertLane) {
update = update.next;
revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true);
continue;
} else
updateLane = {
lane: 0,
revertLane: update.revertLane,
gesture: null,
action: update.action,
hasEagerState: update.hasEagerState,
eagerState: update.eagerState,
next: null
}, newBaseQueueLast === null ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane;
updateLane = update.action;
shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane);
pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane);
} else
revertLane = {
lane: updateLane,
revertLane: update.revertLane,
gesture: update.gesture,
action: update.action,
hasEagerState: update.hasEagerState,
eagerState: update.eagerState,
next: null
}, newBaseQueueLast === null ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane;
update = update.next;
} while (update !== null && update !== current2);
newBaseQueueLast === null ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst;
if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, reducer !== null)))
throw reducer;
hook.memoizedState = pendingQueue;
hook.baseState = baseFirst;
hook.baseQueue = newBaseQueueLast;
queue.lastRenderedState = pendingQueue;
}
baseQueue === null && (queue.lanes = 0);
return [hook.memoizedState, queue.dispatch];
}
function rerenderReducer(reducer) {
var hook = updateWorkInProgressHook(), queue = hook.queue;
if (queue === null)
throw Error("Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)");
queue.lastRenderedReducer = reducer;
var { dispatch, pending: lastRenderPhaseUpdate } = queue, newState = hook.memoizedState;
if (lastRenderPhaseUpdate !== null) {
queue.pending = null;
var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;
do
newState = reducer(newState, update.action), update = update.next;
while (update !== lastRenderPhaseUpdate);
objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
hook.memoizedState = newState;
hook.baseQueue === null && (hook.baseState = newState);
queue.lastRenderedState = newState;
}
return [newState, dispatch];
}
function mountSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot) {
var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook();
if (isHydrating) {
if (getServerSnapshot === undefined)
throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
var nextSnapshot = getServerSnapshot();
didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error("The result of getServerSnapshot should be cached to avoid an infinite loop"), didWarnUncachedGetSnapshot = true);
} else {
nextSnapshot = getSnapshot();
didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error("The result of getSnapshot should be cached to avoid an infinite loop"), didWarnUncachedGetSnapshot = true));
if (workInProgressRoot === null)
throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");
(workInProgressRootRenderLanes & 127) !== 0 || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
}
hook.memoizedState = nextSnapshot;
getServerSnapshot = { value: nextSnapshot, getSnapshot };
hook.queue = getServerSnapshot;
mountEffect(subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe2), [subscribe2]);
fiber.flags |= 2048;
pushSimpleEffect(HasEffect | Passive, { destroy: undefined }, updateStoreInstance.bind(null, fiber, getServerSnapshot, nextSnapshot, getSnapshot), null);
return nextSnapshot;
}
function updateSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot) {
var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating;
if (isHydrating$jscomp$0) {
if (getServerSnapshot === undefined)
throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
getServerSnapshot = getServerSnapshot();
} else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) {
var cachedSnapshot = getSnapshot();
objectIs(getServerSnapshot, cachedSnapshot) || (console.error("The result of getSnapshot should be cached to avoid an infinite loop"), didWarnUncachedGetSnapshot = true);
}
if (cachedSnapshot = !objectIs((currentHook || hook).memoizedState, getServerSnapshot))
hook.memoizedState = getServerSnapshot, didReceiveUpdate = true;
hook = hook.queue;
var create = subscribeToStore.bind(null, fiber, hook, subscribe2);
updateEffectImpl(2048, Passive, create, [subscribe2]);
if (hook.getSnapshot !== getSnapshot || cachedSnapshot || workInProgressHook !== null && workInProgressHook.memoizedState.tag & HasEffect) {
fiber.flags |= 2048;
pushSimpleEffect(HasEffect | Passive, { destroy: undefined }, updateStoreInstance.bind(null, fiber, hook, getServerSnapshot, getSnapshot), null);
if (workInProgressRoot === null)
throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");
isHydrating$jscomp$0 || (renderLanes & 127) !== 0 || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
}
return getServerSnapshot;
}
function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {
fiber.flags |= 16384;
fiber = { getSnapshot, value: renderedSnapshot };
getSnapshot = currentlyRenderingFiber.updateQueue;
getSnapshot === null ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, renderedSnapshot === null ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber));
}
function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {
inst.value = nextSnapshot;
inst.getSnapshot = getSnapshot;
checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);
}
function subscribeToStore(fiber, inst, subscribe2) {
return subscribe2(function() {
checkIfSnapshotChanged(inst) && (startUpdateTimerByLane(2, "updateSyncExternalStore()", fiber), forceStoreRerender(fiber));
});
}
function checkIfSnapshotChanged(inst) {
var latestGetSnapshot = inst.getSnapshot;
inst = inst.value;
try {
var nextValue = latestGetSnapshot();
return !objectIs(inst, nextValue);
} catch (error52) {
return true;
}
}
function forceStoreRerender(fiber) {
var root2 = enqueueConcurrentRenderForLane(fiber, 2);
root2 !== null && scheduleUpdateOnFiber(root2, fiber, 2);
}
function mountStateImpl(initialState) {
var hook = mountWorkInProgressHook();
if (typeof initialState === "function") {
var initialStateInitializer = initialState;
initialState = initialStateInitializer();
if (shouldDoubleInvokeUserFnsInHooksDEV) {
setIsStrictModeForDevtools(true);
try {
initialStateInitializer();
} finally {
setIsStrictModeForDevtools(false);
}
}
}
hook.memoizedState = hook.baseState = initialState;
hook.queue = {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: basicStateReducer,
lastRenderedState: initialState
};
return hook;
}
function mountState(initialState) {
initialState = mountStateImpl(initialState);
var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);
queue.dispatch = dispatch;
return [initialState.memoizedState, dispatch];
}
function mountOptimistic(passthrough) {
var hook = mountWorkInProgressHook();
hook.memoizedState = hook.baseState = passthrough;
var queue = {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: null,
lastRenderedState: null
};
hook.queue = queue;
hook = dispatchOptimisticSetState.bind(null, currentlyRenderingFiber, true, queue);
queue.dispatch = hook;
return [passthrough, hook];
}
function updateOptimistic(passthrough, reducer) {
var hook = updateWorkInProgressHook();
return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
}
function updateOptimisticImpl(hook, current2, passthrough, reducer) {
hook.baseState = passthrough;
return updateReducerImpl(hook, currentHook, typeof reducer === "function" ? reducer : basicStateReducer);
}
function rerenderOptimistic(passthrough, reducer) {
var hook = updateWorkInProgressHook();
if (currentHook !== null)
return updateOptimisticImpl(hook, currentHook, passthrough, reducer);
hook.baseState = passthrough;
return [passthrough, hook.queue.dispatch];
}
function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) {
if (isRenderPhaseUpdate(fiber))
throw Error("Cannot update form state while rendering.");
fiber = actionQueue.action;
if (fiber !== null) {
var actionNode = {
payload,
action: fiber,
next: null,
isTransition: true,
status: "pending",
value: null,
reason: null,
listeners: [],
then: function(listener) {
actionNode.listeners.push(listener);
}
};
ReactSharedInternals.T !== null ? setPendingState(true) : actionNode.isTransition = false;
setState(actionNode);
setPendingState = actionQueue.pending;
setPendingState === null ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode);
}
}
function runActionStateAction(actionQueue, node) {
var { action, payload } = node, prevState = actionQueue.state;
if (node.isTransition) {
var prevTransition = ReactSharedInternals.T, currentTransition = {};
currentTransition._updatedFibers = new Set;
ReactSharedInternals.T = currentTransition;
try {
var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S;
onStartTransitionFinish !== null && onStartTransitionFinish(currentTransition, returnValue);
handleActionReturnValue(actionQueue, node, returnValue);
} catch (error52) {
onActionError(actionQueue, node, error52);
} finally {
prevTransition !== null && currentTransition.types !== null && (prevTransition.types !== null && prevTransition.types !== currentTransition.types && console.error("We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, prevTransition === null && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."));
}
} else
try {
currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition);
} catch (error$2) {
onActionError(actionQueue, node, error$2);
}
}
function handleActionReturnValue(actionQueue, node, returnValue) {
returnValue !== null && typeof returnValue === "object" && typeof returnValue.then === "function" ? (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(function(nextState) {
onActionSuccess(actionQueue, node, nextState);
}, function(error52) {
return onActionError(actionQueue, node, error52);
}), node.isTransition || console.error("An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop.")) : onActionSuccess(actionQueue, node, returnValue);
}
function onActionSuccess(actionQueue, actionNode, nextState) {
actionNode.status = "fulfilled";
actionNode.value = nextState;
notifyActionListeners(actionNode);
actionQueue.state = nextState;
actionNode = actionQueue.pending;
actionNode !== null && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState)));
}
function onActionError(actionQueue, actionNode, error52) {
var last = actionQueue.pending;
actionQueue.pending = null;
if (last !== null) {
last = last.next;
do
actionNode.status = "rejected", actionNode.reason = error52, notifyActionListeners(actionNode), actionNode = actionNode.next;
while (actionNode !== last);
}
actionQueue.action = null;
}
function notifyActionListeners(actionNode) {
actionNode = actionNode.listeners;
for (var i3 = 0;i3 < actionNode.length; i3++)
(0, actionNode[i3])();
}
function actionStateReducer(oldState, newState) {
return newState;
}
function mountActionState(action, initialStateProp) {
if (isHydrating) {
var ssrFormState = workInProgressRoot.formState;
if (ssrFormState !== null) {
a: {
var isMatching = currentlyRenderingFiber;
if (isHydrating) {
if (nextHydratableInstance) {
var markerInstance = canHydrateFormStateMarker(nextHydratableInstance, rootOrSingletonContext);
if (markerInstance) {
nextHydratableInstance = getNextHydratableSibling(markerInstance);
isMatching = isFormStateMarkerMatching(markerInstance);
break a;
}
}
throwOnHydrationMismatch(isMatching);
}
isMatching = false;
}
isMatching && (initialStateProp = ssrFormState[0]);
}
}
ssrFormState = mountWorkInProgressHook();
ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;
isMatching = {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: actionStateReducer,
lastRenderedState: initialStateProp
};
ssrFormState.queue = isMatching;
ssrFormState = dispatchSetState.bind(null, currentlyRenderingFiber, isMatching);
isMatching.dispatch = ssrFormState;
isMatching = mountStateImpl(false);
var setPendingState = dispatchOptimisticSetState.bind(null, currentlyRenderingFiber, false, isMatching.queue);
isMatching = mountWorkInProgressHook();
markerInstance = {
state: initialStateProp,
dispatch: null,
action,
pending: null
};
isMatching.queue = markerInstance;
ssrFormState = dispatchActionState.bind(null, currentlyRenderingFiber, markerInstance, setPendingState, ssrFormState);
markerInstance.dispatch = ssrFormState;
isMatching.memoizedState = action;
return [initialStateProp, ssrFormState, false];
}
function updateActionState(action) {
var stateHook = updateWorkInProgressHook();
return updateActionStateImpl(stateHook, currentHook, action);
}
function updateActionStateImpl(stateHook, currentStateHook, action) {
currentStateHook = updateReducerImpl(stateHook, currentStateHook, actionStateReducer)[0];
stateHook = updateReducer(basicStateReducer)[0];
if (typeof currentStateHook === "object" && currentStateHook !== null && typeof currentStateHook.then === "function")
try {
var state3 = useThenable(currentStateHook);
} catch (x4) {
if (x4 === SuspenseException)
throw SuspenseActionException;
throw x4;
}
else
state3 = currentStateHook;
currentStateHook = updateWorkInProgressHook();
var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch;
action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect(HasEffect | Passive, { destroy: undefined }, actionStateActionEffect.bind(null, actionQueue, action), null));
return [state3, dispatch, stateHook];
}
function actionStateActionEffect(actionQueue, action) {
actionQueue.action = action;
}
function rerenderActionState(action) {
var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook;
if (currentStateHook !== null)
return updateActionStateImpl(stateHook, currentStateHook, action);
updateWorkInProgressHook();
stateHook = stateHook.memoizedState;
currentStateHook = updateWorkInProgressHook();
var dispatch = currentStateHook.queue.dispatch;
currentStateHook.memoizedState = action;
return [stateHook, dispatch, false];
}
function pushSimpleEffect(tag, inst, create, deps) {
tag = { tag, create, deps, inst, next: null };
inst = currentlyRenderingFiber.updateQueue;
inst === null && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst);
create = inst.lastEffect;
create === null ? inst.lastEffect = tag.next = tag : (deps = create.next, create.next = tag, tag.next = deps, inst.lastEffect = tag);
return tag;
}
function mountRef(initialValue) {
var hook = mountWorkInProgressHook();
initialValue = { current: initialValue };
return hook.memoizedState = initialValue;
}
function mountEffectImpl(fiberFlags, hookFlags, create, deps) {
var hook = mountWorkInProgressHook();
currentlyRenderingFiber.flags |= fiberFlags;
hook.memoizedState = pushSimpleEffect(HasEffect | hookFlags, { destroy: undefined }, create, deps === undefined ? null : deps);
}
function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
var hook = updateWorkInProgressHook();
deps = deps === undefined ? null : deps;
var inst = hook.memoizedState.inst;
currentHook !== null && deps !== null && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect(HasEffect | hookFlags, inst, create, deps));
}
function mountEffect(create, deps) {
(currentlyRenderingFiber.mode & 16) !== NoMode ? mountEffectImpl(276826112, Passive, create, deps) : mountEffectImpl(8390656, Passive, create, deps);
}
function useEffectEventImpl(payload) {
currentlyRenderingFiber.flags |= 4;
var componentUpdateQueue = currentlyRenderingFiber.updateQueue;
if (componentUpdateQueue === null)
componentUpdateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = componentUpdateQueue, componentUpdateQueue.events = [payload];
else {
var events = componentUpdateQueue.events;
events === null ? componentUpdateQueue.events = [payload] : events.push(payload);
}
}
function mountEvent(callback) {
var hook = mountWorkInProgressHook(), ref = { impl: callback };
hook.memoizedState = ref;
return function() {
if ((executionContext & RenderContext) !== NoContext)
throw Error("A function wrapped in useEffectEvent can't be called during rendering.");
return ref.impl.apply(undefined, arguments);
};
}
function updateEvent(callback) {
var ref = updateWorkInProgressHook().memoizedState;
useEffectEventImpl({ ref, nextImpl: callback });
return function() {
if ((executionContext & RenderContext) !== NoContext)
throw Error("A function wrapped in useEffectEvent can't be called during rendering.");
return ref.impl.apply(undefined, arguments);
};
}
function mountLayoutEffect(create, deps) {
var fiberFlags = 4194308;
(currentlyRenderingFiber.mode & 16) !== NoMode && (fiberFlags |= 134217728);
return mountEffectImpl(fiberFlags, Layout, create, deps);
}
function imperativeHandleEffect(create, ref) {
if (typeof ref === "function") {
create = create();
var refCleanup = ref(create);
return function() {
typeof refCleanup === "function" ? refCleanup() : ref(null);
};
}
if (ref !== null && ref !== undefined)
return ref.hasOwnProperty("current") || console.error("Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", "an object with keys {" + Object.keys(ref).join(", ") + "}"), create = create(), ref.current = create, function() {
ref.current = null;
};
}
function mountImperativeHandle(ref, create, deps) {
typeof create !== "function" && console.error("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", create !== null ? typeof create : "null");
deps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
var fiberFlags = 4194308;
(currentlyRenderingFiber.mode & 16) !== NoMode && (fiberFlags |= 134217728);
mountEffectImpl(fiberFlags, Layout, imperativeHandleEffect.bind(null, create, ref), deps);
}
function updateImperativeHandle(ref, create, deps) {
typeof create !== "function" && console.error("Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", create !== null ? typeof create : "null");
deps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
updateEffectImpl(4, Layout, imperativeHandleEffect.bind(null, create, ref), deps);
}
function mountCallback(callback, deps) {
mountWorkInProgressHook().memoizedState = [
callback,
deps === undefined ? null : deps
];
return callback;
}
function updateCallback(callback, deps) {
var hook = updateWorkInProgressHook();
deps = deps === undefined ? null : deps;
var prevState = hook.memoizedState;
if (deps !== null && areHookInputsEqual(deps, prevState[1]))
return prevState[0];
hook.memoizedState = [callback, deps];
return callback;
}
function mountMemo(nextCreate, deps) {
var hook = mountWorkInProgressHook();
deps = deps === undefined ? null : deps;
var nextValue = nextCreate();
if (shouldDoubleInvokeUserFnsInHooksDEV) {
setIsStrictModeForDevtools(true);
try {
nextCreate();
} finally {
setIsStrictModeForDevtools(false);
}
}
hook.memoizedState = [nextValue, deps];
return nextValue;
}
function updateMemo(nextCreate, deps) {
var hook = updateWorkInProgressHook();
deps = deps === undefined ? null : deps;
var prevState = hook.memoizedState;
if (deps !== null && areHookInputsEqual(deps, prevState[1]))
return prevState[0];
prevState = nextCreate();
if (shouldDoubleInvokeUserFnsInHooksDEV) {
setIsStrictModeForDevtools(true);
try {
nextCreate();
} finally {
setIsStrictModeForDevtools(false);
}
}
hook.memoizedState = [prevState, deps];
return prevState;
}
function mountDeferredValue(value, initialValue) {
var hook = mountWorkInProgressHook();
return mountDeferredValueImpl(hook, value, initialValue);
}
function updateDeferredValue(value, initialValue) {
var hook = updateWorkInProgressHook();
return updateDeferredValueImpl(hook, currentHook.memoizedState, value, initialValue);
}
function rerenderDeferredValue(value, initialValue) {
var hook = updateWorkInProgressHook();
return currentHook === null ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl(hook, currentHook.memoizedState, value, initialValue);
}
function mountDeferredValueImpl(hook, value, initialValue) {
if (initialValue === undefined || (renderLanes & 1073741824) !== 0 && (workInProgressRootRenderLanes & 261930) === 0)
return hook.memoizedState = value;
hook.memoizedState = initialValue;
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
workInProgressRootSkippedLanes |= hook;
return initialValue;
}
function updateDeferredValueImpl(hook, prevValue, value, initialValue) {
if (objectIs(value, prevValue))
return value;
if (currentTreeHiddenStackCursor.current !== null)
return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook;
if ((renderLanes & 42) === 0 || (renderLanes & 1073741824) !== 0 && (workInProgressRootRenderLanes & 261930) === 0)
return didReceiveUpdate = true, hook.memoizedState = value;
hook = requestDeferredLane();
currentlyRenderingFiber.lanes |= hook;
workInProgressRootSkippedLanes |= hook;
return prevValue;
}
function releaseAsyncTransition() {
ReactSharedInternals.asyncTransitions--;
}
function startTransition(fiber, queue, pendingState, finishedState, callback) {
var previousPriority = getCurrentUpdatePriority();
setCurrentUpdatePriority(previousPriority !== 0 && 8 > previousPriority ? previousPriority : 8);
var prevTransition = ReactSharedInternals.T, currentTransition = {};
currentTransition._updatedFibers = new Set;
ReactSharedInternals.T = currentTransition;
dispatchOptimisticSetState(fiber, false, queue, pendingState);
try {
var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S;
onStartTransitionFinish !== null && onStartTransitionFinish(currentTransition, returnValue);
if (returnValue !== null && typeof returnValue === "object" && typeof returnValue.then === "function") {
ReactSharedInternals.asyncTransitions++;
returnValue.then(releaseAsyncTransition, releaseAsyncTransition);
var thenableForFinishedState = chainThenableValue(returnValue, finishedState);
dispatchSetStateInternal(fiber, queue, thenableForFinishedState, requestUpdateLane(fiber));
} else
dispatchSetStateInternal(fiber, queue, finishedState, requestUpdateLane(fiber));
} catch (error52) {
dispatchSetStateInternal(fiber, queue, { then: function() {}, status: "rejected", reason: error52 }, requestUpdateLane(fiber));
} finally {
setCurrentUpdatePriority(previousPriority), prevTransition !== null && currentTransition.types !== null && (prevTransition.types !== null && prevTransition.types !== currentTransition.types && console.error("We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition, prevTransition === null && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."));
}
}
function ensureFormComponentIsStateful(formFiber) {
var existingStateHook = formFiber.memoizedState;
if (existingStateHook !== null)
return existingStateHook;
existingStateHook = {
memoizedState: NotPendingTransition,
baseState: NotPendingTransition,
baseQueue: null,
queue: {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: basicStateReducer,
lastRenderedState: NotPendingTransition
},
next: null
};
var initialResetState = {};
existingStateHook.next = {
memoizedState: initialResetState,
baseState: initialResetState,
baseQueue: null,
queue: {
pending: null,
lanes: 0,
dispatch: null,
lastRenderedReducer: basicStateReducer,
lastRenderedState: initialResetState
},
next: null
};
formFiber.memoizedState = existingStateHook;
formFiber = formFiber.alternate;
formFiber !== null && (formFiber.memoizedState = existingStateHook);
return existingStateHook;
}
function mountTransition() {
var stateHook = mountStateImpl(false);
stateHook = startTransition.bind(null, currentlyRenderingFiber, stateHook.queue, true, false);
mountWorkInProgressHook().memoizedState = stateHook;
return [false, stateHook];
}
function updateTransition() {
var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
return [
typeof booleanOrThenable === "boolean" ? booleanOrThenable : useThenable(booleanOrThenable),
start
];
}
function rerenderTransition() {
var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState;
return [
typeof booleanOrThenable === "boolean" ? booleanOrThenable : useThenable(booleanOrThenable),
start
];
}
function useHostTransitionStatus() {
return readContext(HostTransitionContext);
}
function mountId() {
var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix;
if (isHydrating) {
var treeId = treeContextOverflow;
var idWithLeadingBit = treeContextId;
treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId;
identifierPrefix = "_" + identifierPrefix + "R_" + treeId;
treeId = localIdCounter++;
0 < treeId && (identifierPrefix += "H" + treeId.toString(32));
identifierPrefix += "_";
} else
treeId = globalClientIdCounter++, identifierPrefix = "_" + identifierPrefix + "r_" + treeId.toString(32) + "_";
return hook.memoizedState = identifierPrefix;
}
function mountRefresh() {
return mountWorkInProgressHook().memoizedState = refreshCache.bind(null, currentlyRenderingFiber);
}
function refreshCache(fiber, seedKey) {
for (var provider = fiber.return;provider !== null; ) {
switch (provider.tag) {
case 24:
case 3:
var lane = requestUpdateLane(provider), refreshUpdate = createUpdate(lane), root2 = enqueueUpdate(provider, refreshUpdate, lane);
root2 !== null && (startUpdateTimerByLane(lane, "refresh()", fiber), scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane));
fiber = createCache();
seedKey !== null && seedKey !== undefined && root2 !== null && console.error("The seed argument is not enabled outside experimental channels.");
refreshUpdate.payload = { cache: fiber };
return;
}
provider = provider.return;
}
}
function dispatchReducerAction(fiber, queue, action) {
var args = arguments;
typeof args[3] === "function" && console.error("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().");
args = requestUpdateLane(fiber);
var update = {
lane: args,
revertLane: 0,
gesture: null,
action,
hasEagerState: false,
eagerState: null,
next: null
};
isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), update !== null && (startUpdateTimerByLane(args, "dispatch()", fiber), scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args)));
}
function dispatchSetState(fiber, queue, action) {
var args = arguments;
typeof args[3] === "function" && console.error("State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().");
args = requestUpdateLane(fiber);
dispatchSetStateInternal(fiber, queue, action, args) && startUpdateTimerByLane(args, "setState()", fiber);
}
function dispatchSetStateInternal(fiber, queue, action, lane) {
var update = {
lane,
revertLane: 0,
gesture: null,
action,
hasEagerState: false,
eagerState: null,
next: null
};
if (isRenderPhaseUpdate(fiber))
enqueueRenderPhaseUpdate(queue, update);
else {
var alternate = fiber.alternate;
if (fiber.lanes === 0 && (alternate === null || alternate.lanes === 0) && (alternate = queue.lastRenderedReducer, alternate !== null)) {
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action);
update.hasEagerState = true;
update.eagerState = eagerState;
if (objectIs(eagerState, currentState))
return enqueueUpdate$1(fiber, queue, update, 0), workInProgressRoot === null && finishQueueingConcurrentUpdates(), false;
} catch (error52) {} finally {
ReactSharedInternals.H = prevDispatcher;
}
}
action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);
if (action !== null)
return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true;
}
return false;
}
function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {
ReactSharedInternals.T === null && currentEntangledLane === 0 && console.error("An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition.");
action = {
lane: 2,
revertLane: requestTransitionLane(),
gesture: null,
action,
hasEagerState: false,
eagerState: null,
next: null
};
if (isRenderPhaseUpdate(fiber)) {
if (throwIfDuringRender)
throw Error("Cannot update optimistic state while rendering.");
console.error("Cannot call startTransition while rendering.");
} else
throwIfDuringRender = enqueueConcurrentHookUpdate(fiber, queue, action, 2), throwIfDuringRender !== null && (startUpdateTimerByLane(2, "setOptimistic()", fiber), scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2));
}
function isRenderPhaseUpdate(fiber) {
var alternate = fiber.alternate;
return fiber === currentlyRenderingFiber || alternate !== null && alternate === currentlyRenderingFiber;
}
function enqueueRenderPhaseUpdate(queue, update) {
didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true;
var pending = queue.pending;
pending === null ? update.next = update : (update.next = pending.next, pending.next = update);
queue.pending = update;
}
function entangleTransitionUpdate(root2, queue, lane) {
if ((lane & 4194048) !== 0) {
var queueLanes = queue.lanes;
queueLanes &= root2.pendingLanes;
lane |= queueLanes;
queue.lanes = lane;
markRootEntangled(root2, lane);
}
}
function warnOnInvalidCallback(callback) {
if (callback !== null && typeof callback !== "function") {
var key = String(callback);
didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error("Expected the last optional `callback` argument to be a function. Instead received: %s.", callback));
}
}
function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) {
var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState);
if (workInProgress2.mode & 8) {
setIsStrictModeForDevtools(true);
try {
partialState = getDerivedStateFromProps(nextProps, prevState);
} finally {
setIsStrictModeForDevtools(false);
}
}
partialState === undefined && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error("%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", ctor)));
prevState = partialState === null || partialState === undefined ? prevState : assign({}, prevState, partialState);
workInProgress2.memoizedState = prevState;
workInProgress2.lanes === 0 && (workInProgress2.updateQueue.baseState = prevState);
}
function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) {
var instance = workInProgress2.stateNode;
if (typeof instance.shouldComponentUpdate === "function") {
oldProps = instance.shouldComponentUpdate(newProps, newState, nextContext);
if (workInProgress2.mode & 8) {
setIsStrictModeForDevtools(true);
try {
oldProps = instance.shouldComponentUpdate(newProps, newState, nextContext);
} finally {
setIsStrictModeForDevtools(false);
}
}
oldProps === undefined && console.error("%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", getComponentNameFromType(ctor) || "Component");
return oldProps;
}
return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
}
function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) {
var oldState = instance.state;
typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps(newProps, nextContext);
typeof instance.UNSAFE_componentWillReceiveProps === "function" && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error("%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", workInProgress2)), classComponentUpdater.enqueueReplaceState(instance, instance.state, null));
}
function resolveClassComponentProps(Component, baseProps) {
var newProps = baseProps;
if ("ref" in baseProps) {
newProps = {};
for (var propName in baseProps)
propName !== "ref" && (newProps[propName] = baseProps[propName]);
}
if (Component = Component.defaultProps) {
newProps === baseProps && (newProps = assign({}, newProps));
for (var _propName in Component)
newProps[_propName] === undefined && (newProps[_propName] = Component[_propName]);
}
return newProps;
}
function logUncaughtError(root2, errorInfo) {
try {
componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
errorBoundaryName = null;
var error52 = errorInfo.value;
if (ReactSharedInternals.actQueue !== null)
ReactSharedInternals.thrownErrors.push(error52);
else {
var onUncaughtError = root2.onUncaughtError;
onUncaughtError(error52, { componentStack: errorInfo.stack });
}
} catch (e2) {
setTimeout(function() {
throw e2;
});
}
}
function logCaughtError(root2, boundary, errorInfo) {
try {
componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null;
errorBoundaryName = getComponentNameFromFiber(boundary);
var onCaughtError = root2.onCaughtError;
onCaughtError(errorInfo.value, {
componentStack: errorInfo.stack,
errorBoundary: boundary.tag === 1 ? boundary.stateNode : null
});
} catch (e2) {
setTimeout(function() {
throw e2;
});
}
}
function createRootErrorUpdate(root2, errorInfo, lane) {
lane = createUpdate(lane);
lane.tag = CaptureUpdate;
lane.payload = { element: null };
lane.callback = function() {
runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo);
};
return lane;
}
function createClassErrorUpdate(lane) {
lane = createUpdate(lane);
lane.tag = CaptureUpdate;
return lane;
}
function initializeClassErrorUpdate(update, root2, fiber, errorInfo) {
var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
if (typeof getDerivedStateFromError === "function") {
var error52 = errorInfo.value;
update.payload = function() {
return getDerivedStateFromError(error52);
};
update.callback = function() {
markFailedErrorBoundaryForHotReloading(fiber);
runWithFiberInDEV(errorInfo.source, logCaughtError, root2, fiber, errorInfo);
};
}
var inst = fiber.stateNode;
inst !== null && typeof inst.componentDidCatch === "function" && (update.callback = function() {
markFailedErrorBoundaryForHotReloading(fiber);
runWithFiberInDEV(errorInfo.source, logCaughtError, root2, fiber, errorInfo);
typeof getDerivedStateFromError !== "function" && (legacyErrorBoundariesThatAlreadyFailed === null ? legacyErrorBoundariesThatAlreadyFailed = new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this));
callComponentDidCatchInDEV(this, errorInfo);
typeof getDerivedStateFromError === "function" || (fiber.lanes & 2) === 0 && console.error("%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", getComponentNameFromFiber(fiber) || "Unknown");
});
}
function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) {
sourceFiber.flags |= 32768;
isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes);
if (value !== null && typeof value === "object" && typeof value.then === "function") {
returnFiber = sourceFiber.alternate;
returnFiber !== null && propagateParentContextChanges(returnFiber, sourceFiber, rootRenderLanes, true);
isHydrating && (didSuspendOrErrorDEV = true);
sourceFiber = suspenseHandlerStackCursor.current;
if (sourceFiber !== null) {
switch (sourceFiber.tag) {
case 31:
case 13:
return shellBoundary === null ? renderDidSuspendDelayIfPossible() : sourceFiber.alternate === null && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, returnFiber === null ? sourceFiber.updateQueue = new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false;
case 22:
return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, returnFiber === null ? (returnFiber = {
transitions: null,
markerInstances: null,
retryQueue: new Set([value])
}, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, sourceFiber === null ? returnFiber.retryQueue = new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false;
}
throw Error("Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React.");
}
attachPingListener(root2, value, rootRenderLanes);
renderDidSuspendDelayIfPossible();
return false;
}
if (isHydrating)
return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, returnFiber !== null ? ((returnFiber.flags & 65536) === 0 && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError(createCapturedValueAtFiber(Error("There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.", { cause: value }), sourceFiber))) : (value !== HydrationMismatchException && queueHydrationError(createCapturedValueAtFiber(Error("There was an error while hydrating but React was able to recover by instead client rendering the entire root.", { cause: value }), sourceFiber)), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate(root2.stateNode, value, rootRenderLanes), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false;
var error52 = createCapturedValueAtFiber(Error("There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.", { cause: value }), sourceFiber);
workInProgressRootConcurrentErrors === null ? workInProgressRootConcurrentErrors = [error52] : workInProgressRootConcurrentErrors.push(error52);
workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored);
if (returnFiber === null)
return true;
value = createCapturedValueAtFiber(value, sourceFiber);
sourceFiber = returnFiber;
do {
switch (sourceFiber.tag) {
case 3:
return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate(sourceFiber.stateNode, value, root2), enqueueCapturedUpdate(sourceFiber, root2), false;
case 1:
if (returnFiber = sourceFiber.type, error52 = sourceFiber.stateNode, (sourceFiber.flags & 128) === 0 && (typeof returnFiber.getDerivedStateFromError === "function" || error52 !== null && typeof error52.componentDidCatch === "function" && (legacyErrorBoundariesThatAlreadyFailed === null || !legacyErrorBoundariesThatAlreadyFailed.has(error52))))
return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate(rootRenderLanes, root2, sourceFiber, value), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false;
}
sourceFiber = sourceFiber.return;
} while (sourceFiber !== null);
return false;
}
function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) {
workInProgress2.child = current2 === null ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers(workInProgress2, current2.child, nextChildren, renderLanes2);
}
function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) {
Component = Component.render;
var ref = workInProgress2.ref;
if ("ref" in nextProps) {
var propsWithoutRef = {};
for (var key in nextProps)
key !== "ref" && (propsWithoutRef[key] = nextProps[key]);
} else
propsWithoutRef = nextProps;
prepareToReadContext(workInProgress2);
nextProps = renderWithHooks(current2, workInProgress2, Component, propsWithoutRef, ref, renderLanes2);
key = checkDidRenderIdHook();
if (current2 !== null && !didReceiveUpdate)
return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
isHydrating && key && pushMaterializedTreeId(workInProgress2);
workInProgress2.flags |= 1;
reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
return workInProgress2.child;
}
function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
if (current2 === null) {
var type = Component.type;
if (typeof type === "function" && !shouldConstruct(type) && type.defaultProps === undefined && Component.compare === null)
return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2);
current2 = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress2, workInProgress2.mode, renderLanes2);
current2.ref = workInProgress2.ref;
current2.return = workInProgress2;
return workInProgress2.child = current2;
}
type = current2.child;
if (!checkScheduledUpdateOrContext(current2, renderLanes2)) {
var prevProps = type.memoizedProps;
Component = Component.compare;
Component = Component !== null ? Component : shallowEqual;
if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref)
return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
}
workInProgress2.flags |= 1;
current2 = createWorkInProgress(type, nextProps);
current2.ref = workInProgress2.ref;
current2.return = workInProgress2;
return workInProgress2.child = current2;
}
function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
if (current2 !== null) {
var prevProps = current2.memoizedProps;
if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type)
if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2))
(current2.flags & 131072) !== 0 && (didReceiveUpdate = true);
else
return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
}
return updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2);
}
function updateOffscreenComponent(current2, workInProgress2, renderLanes2, nextProps) {
var nextChildren = nextProps.children, prevState = current2 !== null ? current2.memoizedState : null;
current2 === null && workInProgress2.stateNode === null && (workInProgress2.stateNode = {
_visibility: OffscreenVisible,
_pendingMarkers: null,
_retryCache: null,
_transitions: null
});
if (nextProps.mode === "hidden") {
if ((workInProgress2.flags & 128) !== 0) {
prevState = prevState !== null ? prevState.baseLanes | renderLanes2 : renderLanes2;
if (current2 !== null) {
nextProps = workInProgress2.child = current2.child;
for (nextChildren = 0;nextProps !== null; )
nextChildren = nextChildren | nextProps.lanes | nextProps.childLanes, nextProps = nextProps.sibling;
nextProps = nextChildren & ~prevState;
} else
nextProps = 0, workInProgress2.child = null;
return deferHiddenOffscreenComponent(current2, workInProgress2, prevState, renderLanes2, nextProps);
}
if ((renderLanes2 & 536870912) !== 0)
workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, current2 !== null && pushTransition(workInProgress2, prevState !== null ? prevState.cachePool : null), prevState !== null ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2);
else
return nextProps = workInProgress2.lanes = 536870912, deferHiddenOffscreenComponent(current2, workInProgress2, prevState !== null ? prevState.baseLanes | renderLanes2 : renderLanes2, renderLanes2, nextProps);
} else
prevState !== null ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (current2 !== null && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2));
reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
return workInProgress2.child;
}
function bailoutOffscreenComponent(current2, workInProgress2) {
current2 !== null && current2.tag === 22 || workInProgress2.stateNode !== null || (workInProgress2.stateNode = {
_visibility: OffscreenVisible,
_pendingMarkers: null,
_retryCache: null,
_transitions: null
});
return workInProgress2.sibling;
}
function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2, remainingChildLanes) {
var JSCompiler_inline_result = peekCacheFromPool();
JSCompiler_inline_result = JSCompiler_inline_result === null ? null : {
parent: isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2,
pool: JSCompiler_inline_result
};
workInProgress2.memoizedState = {
baseLanes: nextBaseLanes,
cachePool: JSCompiler_inline_result
};
current2 !== null && pushTransition(workInProgress2, null);
reuseHiddenContextOnStack(workInProgress2);
pushOffscreenSuspenseHandler(workInProgress2);
current2 !== null && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true);
workInProgress2.childLanes = remainingChildLanes;
return null;
}
function mountActivityChildren(workInProgress2, nextProps) {
var hiddenProp = nextProps.hidden;
hiddenProp !== undefined && console.error(` doesn't accept a hidden prop. Use mode="hidden" instead.
-
+ `, hiddenProp === true ? "hidden" : hiddenProp === false ? "hidden={false}" : "hidden={...}", hiddenProp ? 'mode="hidden"' : 'mode="visible"');
nextProps = mountWorkInProgressOffscreenFiber({ mode: nextProps.mode, children: nextProps.children }, workInProgress2.mode);
nextProps.ref = workInProgress2.ref;
workInProgress2.child = nextProps;
nextProps.return = workInProgress2;
return nextProps;
}
function retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
current2 = mountActivityChildren(workInProgress2, workInProgress2.pendingProps);
current2.flags |= 2;
popSuspenseHandler(workInProgress2);
workInProgress2.memoizedState = null;
return current2;
}
function updateActivityComponent(current2, workInProgress2, renderLanes2) {
var nextProps = workInProgress2.pendingProps, didSuspend = (workInProgress2.flags & 128) !== 0;
workInProgress2.flags &= -129;
if (current2 === null) {
if (isHydrating) {
if (nextProps.mode === "hidden")
return current2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.lanes = 536870912, bailoutOffscreenComponent(null, current2);
pushDehydratedActivitySuspenseHandler(workInProgress2);
(current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateActivityInstance(current2, rootOrSingletonContext), renderLanes2 !== null && (nextProps = {
dehydrated: renderLanes2,
treeContext: getSuspendedTreeContext(),
retryLane: 536870912,
hydrationErrors: null
}, workInProgress2.memoizedState = nextProps, nextProps = createFiberFromDehydratedFragment(renderLanes2), nextProps.return = workInProgress2, workInProgress2.child = nextProps, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
if (renderLanes2 === null)
throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
workInProgress2.lanes = 536870912;
return null;
}
return mountActivityChildren(workInProgress2, nextProps);
}
var prevState = current2.memoizedState;
if (prevState !== null) {
var activityInstance = prevState.dehydrated;
pushDehydratedActivitySuspenseHandler(workInProgress2);
if (didSuspend)
if (workInProgress2.flags & 256)
workInProgress2.flags &= -257, workInProgress2 = retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2);
else if (workInProgress2.memoizedState !== null)
workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null;
else
throw Error("Client rendering an Activity suspended it again. This is a bug in React.");
else if (warnIfHydrating(), (renderLanes2 & 536870912) !== 0 && markRenderDerivedCause(workInProgress2), didReceiveUpdate || propagateParentContextChanges(current2, workInProgress2, renderLanes2, false), didSuspend = (renderLanes2 & current2.childLanes) !== 0, didReceiveUpdate || didSuspend) {
nextProps = workInProgressRoot;
if (nextProps !== null && (activityInstance = getBumpedLaneForHydration(nextProps, renderLanes2), activityInstance !== 0 && activityInstance !== prevState.retryLane))
throw prevState.retryLane = activityInstance, enqueueConcurrentRenderForLane(current2, activityInstance), scheduleUpdateOnFiber(nextProps, current2, activityInstance), SelectiveHydrationException;
renderDidSuspendDelayIfPossible();
workInProgress2 = retryActivityComponentWithoutHydrating(current2, workInProgress2, renderLanes2);
} else
current2 = prevState.treeContext, supportsHydration && (nextHydratableInstance = getFirstHydratableChildWithinActivityInstance(activityInstance), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, current2 !== null && restoreSuspendedTreeContext(workInProgress2, current2)), workInProgress2 = mountActivityChildren(workInProgress2, nextProps), workInProgress2.flags |= 4096;
return workInProgress2;
}
prevState = current2.child;
nextProps = { mode: nextProps.mode, children: nextProps.children };
(renderLanes2 & 536870912) !== 0 && (renderLanes2 & current2.lanes) !== 0 && markRenderDerivedCause(workInProgress2);
current2 = createWorkInProgress(prevState, nextProps);
current2.ref = workInProgress2.ref;
workInProgress2.child = current2;
current2.return = workInProgress2;
return current2;
}
function markRef(current2, workInProgress2) {
var ref = workInProgress2.ref;
if (ref === null)
current2 !== null && current2.ref !== null && (workInProgress2.flags |= 4194816);
else {
if (typeof ref !== "function" && typeof ref !== "object")
throw Error("Expected ref to be a function, an object returned by React.createRef(), or undefined/null.");
if (current2 === null || current2.ref !== ref)
workInProgress2.flags |= 4194816;
}
}
function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
if (Component.prototype && typeof Component.prototype.render === "function") {
var componentName2 = getComponentNameFromType(Component) || "Unknown";
didWarnAboutBadClass[componentName2] || (console.error("The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", componentName2, componentName2), didWarnAboutBadClass[componentName2] = true);
}
workInProgress2.mode & 8 && ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress2, null);
current2 === null && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error("%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)", componentName2))));
prepareToReadContext(workInProgress2);
Component = renderWithHooks(current2, workInProgress2, Component, nextProps, undefined, renderLanes2);
nextProps = checkDidRenderIdHook();
if (current2 !== null && !didReceiveUpdate)
return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
isHydrating && nextProps && pushMaterializedTreeId(workInProgress2);
workInProgress2.flags |= 1;
reconcileChildren(current2, workInProgress2, Component, renderLanes2);
return workInProgress2.child;
}
function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) {
prepareToReadContext(workInProgress2);
hookTypesUpdateIndexDev = -1;
ignorePreviousDependencies = current2 !== null && current2.type !== workInProgress2.type;
workInProgress2.updateQueue = null;
nextProps = renderWithHooksAgain(workInProgress2, Component, nextProps, secondArg);
finishRenderingHooks(current2, workInProgress2);
Component = checkDidRenderIdHook();
if (current2 !== null && !didReceiveUpdate)
return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
isHydrating && Component && pushMaterializedTreeId(workInProgress2);
workInProgress2.flags |= 1;
reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
return workInProgress2.child;
}
function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) {
switch (shouldErrorImpl(workInProgress2)) {
case false:
var _instance = workInProgress2.stateNode, state3 = new workInProgress2.type(workInProgress2.memoizedProps, _instance.context).state;
_instance.updater.enqueueSetState(_instance, state3, null);
break;
case true:
workInProgress2.flags |= 128;
workInProgress2.flags |= 65536;
_instance = Error("Simulated error coming from DevTools");
var lane = renderLanes2 & -renderLanes2;
workInProgress2.lanes |= lane;
state3 = workInProgressRoot;
if (state3 === null)
throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");
lane = createClassErrorUpdate(lane);
initializeClassErrorUpdate(lane, state3, workInProgress2, createCapturedValueAtFiber(_instance, workInProgress2));
enqueueCapturedUpdate(workInProgress2, lane);
}
prepareToReadContext(workInProgress2);
if (workInProgress2.stateNode === null) {
state3 = emptyContextObject;
_instance = Component.contextType;
"contextType" in Component && _instance !== null && (_instance === undefined || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = _instance === undefined ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : typeof _instance !== "object" ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error("%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", getComponentNameFromType(Component) || "Component", lane));
typeof _instance === "object" && _instance !== null && (state3 = readContext(_instance));
_instance = new Component(nextProps, state3);
if (workInProgress2.mode & 8) {
setIsStrictModeForDevtools(true);
try {
_instance = new Component(nextProps, state3);
} finally {
setIsStrictModeForDevtools(false);
}
}
state3 = workInProgress2.memoizedState = _instance.state !== null && _instance.state !== undefined ? _instance.state : null;
_instance.updater = classComponentUpdater;
workInProgress2.stateNode = _instance;
_instance._reactInternals = workInProgress2;
_instance._reactInternalInstance = fakeInternalInstance;
typeof Component.getDerivedStateFromProps === "function" && state3 === null && (state3 = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state3) || (didWarnAboutUninitializedState.add(state3), console.error("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", state3, _instance.state === null ? "null" : "undefined", state3)));
if (typeof Component.getDerivedStateFromProps === "function" || typeof _instance.getSnapshotBeforeUpdate === "function") {
var foundWillUpdateName = lane = state3 = null;
typeof _instance.componentWillMount === "function" && _instance.componentWillMount.__suppressDeprecationWarning !== true ? state3 = "componentWillMount" : typeof _instance.UNSAFE_componentWillMount === "function" && (state3 = "UNSAFE_componentWillMount");
typeof _instance.componentWillReceiveProps === "function" && _instance.componentWillReceiveProps.__suppressDeprecationWarning !== true ? lane = "componentWillReceiveProps" : typeof _instance.UNSAFE_componentWillReceiveProps === "function" && (lane = "UNSAFE_componentWillReceiveProps");
typeof _instance.componentWillUpdate === "function" && _instance.componentWillUpdate.__suppressDeprecationWarning !== true ? foundWillUpdateName = "componentWillUpdate" : typeof _instance.UNSAFE_componentWillUpdate === "function" && (foundWillUpdateName = "UNSAFE_componentWillUpdate");
if (state3 !== null || lane !== null || foundWillUpdateName !== null) {
_instance = getComponentNameFromType(Component) || "Component";
var newApiName = typeof Component.getDerivedStateFromProps === "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()";
didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error(`Unsafe legacy lifecycles will not be called for components using new component APIs.
%s uses %s but also contains the following legacy lifecycles:%s%s%s
The above lifecycles should be removed. Learn more about this warning here:
https://react.dev/link/unsafe-component-lifecycles`, _instance, newApiName, state3 !== null ? `
` + state3 : "", lane !== null ? `
` + lane : "", foundWillUpdateName !== null ? `
` + foundWillUpdateName : ""));
}
}
_instance = workInProgress2.stateNode;
state3 = getComponentNameFromType(Component) || "Component";
_instance.render || (Component.prototype && typeof Component.prototype.render === "function" ? console.error("No `render` method found on the %s instance: did you accidentally return an object from the constructor?", state3) : console.error("No `render` method found on the %s instance: you may have forgotten to define `render`.", state3));
!_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error("getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", state3);
_instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error("getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", state3);
_instance.contextType && console.error("contextType was defined as an instance property on %s. Use a static property to define contextType instead.", state3);
Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error("%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)", state3));
Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error("%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)", state3));
typeof _instance.componentShouldUpdate === "function" && console.error("%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", state3);
Component.prototype && Component.prototype.isPureReactComponent && typeof _instance.shouldComponentUpdate !== "undefined" && console.error("%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", getComponentNameFromType(Component) || "A pure component");
typeof _instance.componentDidUnmount === "function" && console.error("%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", state3);
typeof _instance.componentDidReceiveProps === "function" && console.error("%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", state3);
typeof _instance.componentWillRecieveProps === "function" && console.error("%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", state3);
typeof _instance.UNSAFE_componentWillRecieveProps === "function" && console.error("%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", state3);
lane = _instance.props !== nextProps;
_instance.props !== undefined && lane && console.error("When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", state3);
_instance.defaultProps && console.error("Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", state3, state3);
typeof _instance.getSnapshotBeforeUpdate !== "function" || typeof _instance.componentDidUpdate === "function" || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error("%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", getComponentNameFromType(Component)));
typeof _instance.getDerivedStateFromProps === "function" && console.error("%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", state3);
typeof _instance.getDerivedStateFromError === "function" && console.error("%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", state3);
typeof Component.getSnapshotBeforeUpdate === "function" && console.error("%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", state3);
(lane = _instance.state) && (typeof lane !== "object" || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state3);
typeof _instance.getChildContext === "function" && typeof Component.childContextTypes !== "object" && console.error("%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", state3);
_instance = workInProgress2.stateNode;
_instance.props = nextProps;
_instance.state = workInProgress2.memoizedState;
_instance.refs = {};
initializeUpdateQueue(workInProgress2);
state3 = Component.contextType;
_instance.context = typeof state3 === "object" && state3 !== null ? readContext(state3) : emptyContextObject;
_instance.state === nextProps && (state3 = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state3) || (didWarnAboutDirectlyAssigningPropsToState.add(state3), console.error("%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", state3)));
workInProgress2.mode & 8 && ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress2, _instance);
ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress2, _instance);
_instance.state = workInProgress2.memoizedState;
state3 = Component.getDerivedStateFromProps;
typeof state3 === "function" && (applyDerivedStateFromProps(workInProgress2, Component, state3, nextProps), _instance.state = workInProgress2.memoizedState);
typeof Component.getDerivedStateFromProps === "function" || typeof _instance.getSnapshotBeforeUpdate === "function" || typeof _instance.UNSAFE_componentWillMount !== "function" && typeof _instance.componentWillMount !== "function" || (state3 = _instance.state, typeof _instance.componentWillMount === "function" && _instance.componentWillMount(), typeof _instance.UNSAFE_componentWillMount === "function" && _instance.UNSAFE_componentWillMount(), state3 !== _instance.state && (console.error("%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", getComponentNameFromFiber(workInProgress2) || "Component"), classComponentUpdater.enqueueReplaceState(_instance, _instance.state, null)), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState);
typeof _instance.componentDidMount === "function" && (workInProgress2.flags |= 4194308);
(workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 134217728);
_instance = true;
} else if (current2 === null) {
_instance = workInProgress2.stateNode;
var unresolvedOldProps = workInProgress2.memoizedProps;
lane = resolveClassComponentProps(Component, unresolvedOldProps);
_instance.props = lane;
var oldContext = _instance.context;
foundWillUpdateName = Component.contextType;
state3 = emptyContextObject;
typeof foundWillUpdateName === "object" && foundWillUpdateName !== null && (state3 = readContext(foundWillUpdateName));
newApiName = Component.getDerivedStateFromProps;
foundWillUpdateName = typeof newApiName === "function" || typeof _instance.getSnapshotBeforeUpdate === "function";
unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps;
foundWillUpdateName || typeof _instance.UNSAFE_componentWillReceiveProps !== "function" && typeof _instance.componentWillReceiveProps !== "function" || (unresolvedOldProps || oldContext !== state3) && callComponentWillReceiveProps(workInProgress2, _instance, nextProps, state3);
hasForceUpdate = false;
var oldState = workInProgress2.memoizedState;
_instance.state = oldState;
processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
suspendIfUpdateReadFromEntangledAsyncAction();
oldContext = workInProgress2.memoizedState;
unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? (typeof newApiName === "function" && (applyDerivedStateFromProps(workInProgress2, Component, newApiName, nextProps), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate(workInProgress2, Component, lane, nextProps, oldState, oldContext, state3)) ? (foundWillUpdateName || typeof _instance.UNSAFE_componentWillMount !== "function" && typeof _instance.componentWillMount !== "function" || (typeof _instance.componentWillMount === "function" && _instance.componentWillMount(), typeof _instance.UNSAFE_componentWillMount === "function" && _instance.UNSAFE_componentWillMount()), typeof _instance.componentDidMount === "function" && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 134217728)) : (typeof _instance.componentDidMount === "function" && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state3, _instance = lane) : (typeof _instance.componentDidMount === "function" && (workInProgress2.flags |= 4194308), (workInProgress2.mode & 16) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false);
} else {
_instance = workInProgress2.stateNode;
cloneUpdateQueue(current2, workInProgress2);
state3 = workInProgress2.memoizedProps;
foundWillUpdateName = resolveClassComponentProps(Component, state3);
_instance.props = foundWillUpdateName;
newApiName = workInProgress2.pendingProps;
oldState = _instance.context;
oldContext = Component.contextType;
lane = emptyContextObject;
typeof oldContext === "object" && oldContext !== null && (lane = readContext(oldContext));
unresolvedOldProps = Component.getDerivedStateFromProps;
(oldContext = typeof unresolvedOldProps === "function" || typeof _instance.getSnapshotBeforeUpdate === "function") || typeof _instance.UNSAFE_componentWillReceiveProps !== "function" && typeof _instance.componentWillReceiveProps !== "function" || (state3 !== newApiName || oldState !== lane) && callComponentWillReceiveProps(workInProgress2, _instance, nextProps, lane);
hasForceUpdate = false;
oldState = workInProgress2.memoizedState;
_instance.state = oldState;
processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2);
suspendIfUpdateReadFromEntangledAsyncAction();
var newState = workInProgress2.memoizedState;
state3 !== newApiName || oldState !== newState || hasForceUpdate || current2 !== null && current2.dependencies !== null && checkIfContextChanged(current2.dependencies) ? (typeof unresolvedOldProps === "function" && (applyDerivedStateFromProps(workInProgress2, Component, unresolvedOldProps, nextProps), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate(workInProgress2, Component, foundWillUpdateName, nextProps, oldState, newState, lane) || current2 !== null && current2.dependencies !== null && checkIfContextChanged(current2.dependencies)) ? (oldContext || typeof _instance.UNSAFE_componentWillUpdate !== "function" && typeof _instance.componentWillUpdate !== "function" || (typeof _instance.componentWillUpdate === "function" && _instance.componentWillUpdate(nextProps, newState, lane), typeof _instance.UNSAFE_componentWillUpdate === "function" && _instance.UNSAFE_componentWillUpdate(nextProps, newState, lane)), typeof _instance.componentDidUpdate === "function" && (workInProgress2.flags |= 4), typeof _instance.getSnapshotBeforeUpdate === "function" && (workInProgress2.flags |= 1024)) : (typeof _instance.componentDidUpdate !== "function" || state3 === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), typeof _instance.getSnapshotBeforeUpdate !== "function" || state3 === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : (typeof _instance.componentDidUpdate !== "function" || state3 === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), typeof _instance.getSnapshotBeforeUpdate !== "function" || state3 === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false);
}
lane = _instance;
markRef(current2, workInProgress2);
state3 = (workInProgress2.flags & 128) !== 0;
if (lane || state3) {
lane = workInProgress2.stateNode;
setCurrentFiber(workInProgress2);
if (state3 && typeof Component.getDerivedStateFromError !== "function")
Component = null, profilerStartTime = -1;
else if (Component = callRenderInDEV(lane), workInProgress2.mode & 8) {
setIsStrictModeForDevtools(true);
try {
callRenderInDEV(lane);
} finally {
setIsStrictModeForDevtools(false);
}
}
workInProgress2.flags |= 1;
current2 !== null && state3 ? (workInProgress2.child = reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2), workInProgress2.child = reconcileChildFibers(workInProgress2, null, Component, renderLanes2)) : reconcileChildren(current2, workInProgress2, Component, renderLanes2);
workInProgress2.memoizedState = lane.state;
current2 = workInProgress2.child;
} else
current2 = bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
renderLanes2 = workInProgress2.stateNode;
_instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", getComponentNameFromFiber(workInProgress2) || "a component"), didWarnAboutReassigningProps = true);
return current2;
}
function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) {
resetHydrationState();
workInProgress2.flags |= 256;
reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2);
return workInProgress2.child;
}
function validateFunctionComponentInDev(workInProgress2, Component) {
Component && Component.childContextTypes && console.error(`childContextTypes cannot be defined on a function component.
%s.childContextTypes = ...`, Component.displayName || Component.name || "Component");
typeof Component.getDerivedStateFromProps === "function" && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error("%s: Function components do not support getDerivedStateFromProps.", workInProgress2), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true));
typeof Component.contextType === "object" && Component.contextType !== null && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error("%s: Function components do not support contextType.", Component), didWarnAboutContextTypeOnFunctionComponent[Component] = true));
}
function mountSuspenseOffscreenState(renderLanes2) {
return { baseLanes: renderLanes2, cachePool: getSuspendedCache() };
}
function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) {
current2 = current2 !== null ? current2.childLanes & ~renderLanes2 : 0;
primaryTreeDidDefer && (current2 |= workInProgressDeferredLane);
return current2;
}
function updateSuspenseComponent(current2, workInProgress2, renderLanes2) {
var nextProps = workInProgress2.pendingProps;
shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128);
var showFallback = false, didSuspend = (workInProgress2.flags & 128) !== 0, JSCompiler_temp;
(JSCompiler_temp = didSuspend) || (JSCompiler_temp = current2 !== null && current2.memoizedState === null ? false : (suspenseStackCursor.current & ForceSuspenseFallback) !== 0);
JSCompiler_temp && (showFallback = true, workInProgress2.flags &= -129);
JSCompiler_temp = (workInProgress2.flags & 32) !== 0;
workInProgress2.flags &= -33;
if (current2 === null) {
if (isHydrating) {
showFallback ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2);
(current2 = nextHydratableInstance) ? (renderLanes2 = canHydrateSuspenseInstance(current2, rootOrSingletonContext), renderLanes2 !== null && (JSCompiler_temp = {
dehydrated: renderLanes2,
treeContext: getSuspendedTreeContext(),
retryLane: 536870912,
hydrationErrors: null
}, workInProgress2.memoizedState = JSCompiler_temp, JSCompiler_temp = createFiberFromDehydratedFragment(renderLanes2), JSCompiler_temp.return = workInProgress2, workInProgress2.child = JSCompiler_temp, hydrationParentFiber = workInProgress2, nextHydratableInstance = null)) : renderLanes2 = null;
if (renderLanes2 === null)
throw warnNonHydratedInstance(workInProgress2, current2), throwOnHydrationMismatch(workInProgress2);
isSuspenseInstanceFallback(renderLanes2) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912;
return null;
}
var nextPrimaryChildren = nextProps.children;
nextProps = nextProps.fallback;
if (showFallback)
return reuseSuspenseHandlerOnStack(workInProgress2), showFallback = workInProgress2.mode, nextPrimaryChildren = mountWorkInProgressOffscreenFiber({ mode: "hidden", children: nextPrimaryChildren }, showFallback), nextProps = createFiberFromFragment(nextProps, showFallback, renderLanes2, null), nextPrimaryChildren.return = workInProgress2, nextProps.return = workInProgress2, nextPrimaryChildren.sibling = nextProps, workInProgress2.child = nextPrimaryChildren, nextProps = workInProgress2.child, nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes2), nextProps.childLanes = getRemainingWorkInPrimaryTree(current2, JSCompiler_temp, renderLanes2), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(null, nextProps);
pushPrimaryTreeSuspenseHandler(workInProgress2);
return mountSuspensePrimaryChildren(workInProgress2, nextPrimaryChildren);
}
var prevState = current2.memoizedState;
if (prevState !== null && (nextPrimaryChildren = prevState.dehydrated, nextPrimaryChildren !== null)) {
if (didSuspend)
workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2)) : workInProgress2.memoizedState !== null ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = nextProps.fallback, showFallback = workInProgress2.mode, nextProps = mountWorkInProgressOffscreenFiber({ mode: "visible", children: nextProps.children }, showFallback), nextPrimaryChildren = createFiberFromFragment(nextPrimaryChildren, showFallback, renderLanes2, null), nextPrimaryChildren.flags |= 2, nextProps.return = workInProgress2, nextPrimaryChildren.return = workInProgress2, nextProps.sibling = nextPrimaryChildren, workInProgress2.child = nextProps, reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2), nextProps = workInProgress2.child, nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes2), nextProps.childLanes = getRemainingWorkInPrimaryTree(current2, JSCompiler_temp, renderLanes2), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = bailoutOffscreenComponent(null, nextProps));
else if (pushPrimaryTreeSuspenseHandler(workInProgress2), warnIfHydrating(), (renderLanes2 & 536870912) !== 0 && markRenderDerivedCause(workInProgress2), isSuspenseInstanceFallback(nextPrimaryChildren))
showFallback = getSuspenseInstanceFallbackErrorDetails(nextPrimaryChildren), JSCompiler_temp = showFallback.digest, nextPrimaryChildren = showFallback.message, nextProps = showFallback.stack, showFallback = showFallback.componentStack, nextPrimaryChildren = nextPrimaryChildren ? Error(nextPrimaryChildren) : Error("The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering."), nextPrimaryChildren.stack = nextProps || "", nextPrimaryChildren.digest = JSCompiler_temp, JSCompiler_temp = showFallback === undefined ? null : showFallback, nextProps = {
value: nextPrimaryChildren,
source: null,
stack: JSCompiler_temp
}, typeof JSCompiler_temp === "string" && CapturedStacks.set(nextPrimaryChildren, nextProps), queueHydrationError(nextProps), workInProgress2 = retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2);
else if (didReceiveUpdate || propagateParentContextChanges(current2, workInProgress2, renderLanes2, false), JSCompiler_temp = (renderLanes2 & current2.childLanes) !== 0, didReceiveUpdate || JSCompiler_temp) {
JSCompiler_temp = workInProgressRoot;
if (JSCompiler_temp !== null && (nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes2), nextProps !== 0 && nextProps !== prevState.retryLane))
throw prevState.retryLane = nextProps, enqueueConcurrentRenderForLane(current2, nextProps), scheduleUpdateOnFiber(JSCompiler_temp, current2, nextProps), SelectiveHydrationException;
isSuspenseInstancePending(nextPrimaryChildren) || renderDidSuspendDelayIfPossible();
workInProgress2 = retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2);
} else
isSuspenseInstancePending(nextPrimaryChildren) ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, supportsHydration && (nextHydratableInstance = getFirstHydratableChildWithinSuspenseInstance(nextPrimaryChildren), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, current2 !== null && restoreSuspendedTreeContext(workInProgress2, current2)), workInProgress2 = mountSuspensePrimaryChildren(workInProgress2, nextProps.children), workInProgress2.flags |= 4096);
return workInProgress2;
}
if (showFallback)
return reuseSuspenseHandlerOnStack(workInProgress2), nextPrimaryChildren = nextProps.fallback, showFallback = workInProgress2.mode, prevState = current2.child, didSuspend = prevState.sibling, nextProps = createWorkInProgress(prevState, {
mode: "hidden",
children: nextProps.children
}), nextProps.subtreeFlags = prevState.subtreeFlags & 65011712, didSuspend !== null ? nextPrimaryChildren = createWorkInProgress(didSuspend, nextPrimaryChildren) : (nextPrimaryChildren = createFiberFromFragment(nextPrimaryChildren, showFallback, renderLanes2, null), nextPrimaryChildren.flags |= 2), nextPrimaryChildren.return = workInProgress2, nextProps.return = workInProgress2, nextProps.sibling = nextPrimaryChildren, workInProgress2.child = nextProps, bailoutOffscreenComponent(null, nextProps), nextProps = workInProgress2.child, nextPrimaryChildren = current2.child.memoizedState, nextPrimaryChildren === null ? nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes2) : (showFallback = nextPrimaryChildren.cachePool, showFallback !== null ? (prevState = isPrimaryRenderer ? CacheContext._currentValue : CacheContext._currentValue2, showFallback = showFallback.parent !== prevState ? { parent: prevState, pool: prevState } : showFallback) : showFallback = getSuspendedCache(), nextPrimaryChildren = {
baseLanes: nextPrimaryChildren.baseLanes | renderLanes2,
cachePool: showFallback
}), nextProps.memoizedState = nextPrimaryChildren, nextProps.childLanes = getRemainingWorkInPrimaryTree(current2, JSCompiler_temp, renderLanes2), workInProgress2.memoizedState = SUSPENDED_MARKER, bailoutOffscreenComponent(current2.child, nextProps);
prevState !== null && (renderLanes2 & 62914560) === renderLanes2 && (renderLanes2 & current2.lanes) !== 0 && markRenderDerivedCause(workInProgress2);
pushPrimaryTreeSuspenseHandler(workInProgress2);
renderLanes2 = current2.child;
current2 = renderLanes2.sibling;
renderLanes2 = createWorkInProgress(renderLanes2, {
mode: "visible",
children: nextProps.children
});
renderLanes2.return = workInProgress2;
renderLanes2.sibling = null;
current2 !== null && (JSCompiler_temp = workInProgress2.deletions, JSCompiler_temp === null ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_temp.push(current2));
workInProgress2.child = renderLanes2;
workInProgress2.memoizedState = null;
return renderLanes2;
}
function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) {
primaryChildren = mountWorkInProgressOffscreenFiber({ mode: "visible", children: primaryChildren }, workInProgress2.mode);
primaryChildren.return = workInProgress2;
return workInProgress2.child = primaryChildren;
}
function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {
offscreenProps = createFiber(22, offscreenProps, null, mode);
offscreenProps.lanes = 0;
return offscreenProps;
}
function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) {
reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2);
current2 = mountSuspensePrimaryChildren(workInProgress2, workInProgress2.pendingProps.children);
current2.flags |= 2;
workInProgress2.memoizedState = null;
return current2;
}
function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) {
fiber.lanes |= renderLanes2;
var alternate = fiber.alternate;
alternate !== null && (alternate.lanes |= renderLanes2);
scheduleContextWorkOnParentPath(fiber.return, renderLanes2, propagationRoot);
}
function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode, treeForkCount2) {
var renderState = workInProgress2.memoizedState;
renderState === null ? workInProgress2.memoizedState = {
isBackwards,
rendering: null,
renderingStartTime: 0,
last: lastContentRow,
tail,
tailMode,
treeForkCount: treeForkCount2
} : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode, renderState.treeForkCount = treeForkCount2);
}
function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) {
var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail, newChildren = nextProps.children, suspenseContext = suspenseStackCursor.current;
(nextProps = (suspenseContext & ForceSuspenseFallback) !== 0) ? (suspenseContext = suspenseContext & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128) : suspenseContext &= SubtreeSuspenseContextMask;
push(suspenseStackCursor, suspenseContext, workInProgress2);
suspenseContext = revealOrder == null ? "null" : revealOrder;
if (revealOrder !== "forwards" && revealOrder !== "unstable_legacy-backwards" && revealOrder !== "together" && revealOrder !== "independent" && !didWarnAboutRevealOrder[suspenseContext])
if (didWarnAboutRevealOrder[suspenseContext] = true, revealOrder == null)
console.error('The default for the prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".');
else if (revealOrder === "backwards")
console.error('The rendering order of is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.');
else if (typeof revealOrder === "string")
switch (revealOrder.toLowerCase()) {
case "together":
case "forwards":
case "backwards":
case "independent":
console.error('"%s" is not a valid value for revealOrder on . Use lowercase "%s" instead.', revealOrder, revealOrder.toLowerCase());
break;
case "forward":
case "backward":
console.error('"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.', revealOrder, revealOrder.toLowerCase());
break;
default:
console.error('"%s" is not a supported revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder);
}
else
console.error('%s is not a supported value for revealOrder on . Did you mean "independent", "together", "forwards" or "backwards"?', revealOrder);
suspenseContext = tailMode == null ? "null" : tailMode;
if (!didWarnAboutTailOptions[suspenseContext])
if (tailMode == null) {
if (revealOrder === "forwards" || revealOrder === "backwards" || revealOrder === "unstable_legacy-backwards")
didWarnAboutTailOptions[suspenseContext] = true, console.error('The default for the prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".');
} else
tailMode !== "visible" && tailMode !== "collapsed" && tailMode !== "hidden" ? (didWarnAboutTailOptions[suspenseContext] = true, console.error('"%s" is not a supported value for tail on . Did you mean "visible", "collapsed" or "hidden"?', tailMode)) : revealOrder !== "forwards" && revealOrder !== "backwards" && revealOrder !== "unstable_legacy-backwards" && (didWarnAboutTailOptions[suspenseContext] = true, console.error(' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', tailMode));
a:
if ((revealOrder === "forwards" || revealOrder === "backwards" || revealOrder === "unstable_legacy-backwards") && newChildren !== undefined && newChildren !== null && newChildren !== false)
if (isArrayImpl(newChildren))
for (suspenseContext = 0;suspenseContext < newChildren.length; suspenseContext++) {
if (!validateSuspenseListNestedChild(newChildren[suspenseContext], suspenseContext))
break a;
}
else if (suspenseContext = getIteratorFn(newChildren), typeof suspenseContext === "function") {
if (suspenseContext = suspenseContext.call(newChildren))
for (var step = suspenseContext.next(), _i = 0;!step.done; step = suspenseContext.next()) {
if (!validateSuspenseListNestedChild(step.value, _i))
break a;
_i++;
}
} else
console.error('A single row was passed to a . This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', revealOrder);
reconcileChildren(current2, workInProgress2, newChildren, renderLanes2);
isHydrating ? (warnIfNotHydrating(), newChildren = treeForkCount) : newChildren = 0;
if (!nextProps && current2 !== null && (current2.flags & 128) !== 0)
a:
for (current2 = workInProgress2.child;current2 !== null; ) {
if (current2.tag === 13)
current2.memoizedState !== null && scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
else if (current2.tag === 19)
scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2);
else if (current2.child !== null) {
current2.child.return = current2;
current2 = current2.child;
continue;
}
if (current2 === workInProgress2)
break a;
for (;current2.sibling === null; ) {
if (current2.return === null || current2.return === workInProgress2)
break a;
current2 = current2.return;
}
current2.sibling.return = current2.return;
current2 = current2.sibling;
}
switch (revealOrder) {
case "forwards":
renderLanes2 = workInProgress2.child;
for (revealOrder = null;renderLanes2 !== null; )
current2 = renderLanes2.alternate, current2 !== null && findFirstSuspended(current2) === null && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling;
renderLanes2 = revealOrder;
renderLanes2 === null ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null);
initSuspenseListRenderState(workInProgress2, false, revealOrder, renderLanes2, tailMode, newChildren);
break;
case "backwards":
case "unstable_legacy-backwards":
renderLanes2 = null;
revealOrder = workInProgress2.child;
for (workInProgress2.child = null;revealOrder !== null; ) {
current2 = revealOrder.alternate;
if (current2 !== null && findFirstSuspended(current2) === null) {
workInProgress2.child = revealOrder;
break;
}
current2 = revealOrder.sibling;
revealOrder.sibling = renderLanes2;
renderLanes2 = revealOrder;
revealOrder = current2;
}
initSuspenseListRenderState(workInProgress2, true, renderLanes2, null, tailMode, newChildren);
break;
case "together":
initSuspenseListRenderState(workInProgress2, false, null, null, undefined, newChildren);
break;
default:
workInProgress2.memoizedState = null;
}
return workInProgress2.child;
}
function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) {
current2 !== null && (workInProgress2.dependencies = current2.dependencies);
profilerStartTime = -1;
workInProgressRootSkippedLanes |= workInProgress2.lanes;
if ((renderLanes2 & workInProgress2.childLanes) === 0)
if (current2 !== null) {
if (propagateParentContextChanges(current2, workInProgress2, renderLanes2, false), (renderLanes2 & workInProgress2.childLanes) === 0)
return null;
} else
return null;
if (current2 !== null && workInProgress2.child !== current2.child)
throw Error("Resuming work not yet implemented.");
if (workInProgress2.child !== null) {
current2 = workInProgress2.child;
renderLanes2 = createWorkInProgress(current2, current2.pendingProps);
workInProgress2.child = renderLanes2;
for (renderLanes2.return = workInProgress2;current2.sibling !== null; )
current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2;
renderLanes2.sibling = null;
}
return workInProgress2.child;
}
function checkScheduledUpdateOrContext(current2, renderLanes2) {
if ((current2.lanes & renderLanes2) !== 0)
return true;
current2 = current2.dependencies;
return current2 !== null && checkIfContextChanged(current2) ? true : false;
}
function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) {
switch (workInProgress2.tag) {
case 3:
pushHostContainer(workInProgress2, workInProgress2.stateNode.containerInfo);
pushProvider(workInProgress2, CacheContext, current2.memoizedState.cache);
resetHydrationState();
break;
case 27:
case 5:
pushHostContext(workInProgress2);
break;
case 4:
pushHostContainer(workInProgress2, workInProgress2.stateNode.containerInfo);
break;
case 10:
pushProvider(workInProgress2, workInProgress2.type, workInProgress2.memoizedProps.value);
break;
case 12:
(renderLanes2 & workInProgress2.childLanes) !== 0 && (workInProgress2.flags |= 4);
workInProgress2.flags |= 2048;
var stateNode = workInProgress2.stateNode;
stateNode.effectDuration = -0;
stateNode.passiveEffectDuration = -0;
break;
case 31:
if (workInProgress2.memoizedState !== null)
return workInProgress2.flags |= 128, pushDehydratedActivitySuspenseHandler(workInProgress2), null;
break;
case 13:
stateNode = workInProgress2.memoizedState;
if (stateNode !== null) {
if (stateNode.dehydrated !== null)
return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null;
if ((renderLanes2 & workInProgress2.child.childLanes) !== 0)
return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
pushPrimaryTreeSuspenseHandler(workInProgress2);
current2 = bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
return current2 !== null ? current2.sibling : null;
}
pushPrimaryTreeSuspenseHandler(workInProgress2);
break;
case 19:
var didSuspendBefore = (current2.flags & 128) !== 0;
stateNode = (renderLanes2 & workInProgress2.childLanes) !== 0;
stateNode || (propagateParentContextChanges(current2, workInProgress2, renderLanes2, false), stateNode = (renderLanes2 & workInProgress2.childLanes) !== 0);
if (didSuspendBefore) {
if (stateNode)
return updateSuspenseListComponent(current2, workInProgress2, renderLanes2);
workInProgress2.flags |= 128;
}
didSuspendBefore = workInProgress2.memoizedState;
didSuspendBefore !== null && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null);
push(suspenseStackCursor, suspenseStackCursor.current, workInProgress2);
if (stateNode)
break;
else
return null;
case 22:
return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2, workInProgress2.pendingProps);
case 24:
pushProvider(workInProgress2, CacheContext, current2.memoizedState.cache);
}
return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
}
function beginWork(current2, workInProgress2, renderLanes2) {
if (workInProgress2._debugNeedsRemount && current2 !== null) {
renderLanes2 = createFiberFromTypeAndProps(workInProgress2.type, workInProgress2.key, workInProgress2.pendingProps, workInProgress2._debugOwner || null, workInProgress2.mode, workInProgress2.lanes);
renderLanes2._debugStack = workInProgress2._debugStack;
renderLanes2._debugTask = workInProgress2._debugTask;
var returnFiber = workInProgress2.return;
if (returnFiber === null)
throw Error("Cannot swap the root fiber.");
current2.alternate = null;
workInProgress2.alternate = null;
renderLanes2.index = workInProgress2.index;
renderLanes2.sibling = workInProgress2.sibling;
renderLanes2.return = workInProgress2.return;
renderLanes2.ref = workInProgress2.ref;
renderLanes2._debugInfo = workInProgress2._debugInfo;
if (workInProgress2 === returnFiber.child)
returnFiber.child = renderLanes2;
else {
var prevSibling = returnFiber.child;
if (prevSibling === null)
throw Error("Expected parent to have a child.");
for (;prevSibling.sibling !== workInProgress2; )
if (prevSibling = prevSibling.sibling, prevSibling === null)
throw Error("Expected to find the previous sibling.");
prevSibling.sibling = renderLanes2;
}
workInProgress2 = returnFiber.deletions;
workInProgress2 === null ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2);
renderLanes2.flags |= 2;
return renderLanes2;
}
if (current2 !== null)
if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type)
didReceiveUpdate = true;
else {
if (!checkScheduledUpdateOrContext(current2, renderLanes2) && (workInProgress2.flags & 128) === 0)
return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2);
didReceiveUpdate = (current2.flags & 131072) !== 0 ? true : false;
}
else {
didReceiveUpdate = false;
if (returnFiber = isHydrating)
warnIfNotHydrating(), returnFiber = (workInProgress2.flags & 1048576) !== 0;
returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber));
}
workInProgress2.lanes = 0;
switch (workInProgress2.tag) {
case 16:
a:
if (returnFiber = workInProgress2.pendingProps, current2 = resolveLazy(workInProgress2.elementType), workInProgress2.type = current2, typeof current2 === "function")
shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps(current2, returnFiber), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent(null, workInProgress2, current2, returnFiber, renderLanes2)) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent(null, workInProgress2, current2, returnFiber, renderLanes2));
else {
if (current2 !== undefined && current2 !== null) {
if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) {
workInProgress2.tag = 11;
workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2);
workInProgress2 = updateForwardRef(null, workInProgress2, current2, returnFiber, renderLanes2);
break a;
} else if (prevSibling === REACT_MEMO_TYPE) {
workInProgress2.tag = 14;
workInProgress2 = updateMemoComponent(null, workInProgress2, current2, returnFiber, renderLanes2);
break a;
}
}
workInProgress2 = "";
current2 !== null && typeof current2 === "object" && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?");
current2 = getComponentNameFromType(current2) || current2;
throw Error("Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2);
}
return workInProgress2;
case 0:
return updateFunctionComponent(current2, workInProgress2, workInProgress2.type, workInProgress2.pendingProps, renderLanes2);
case 1:
return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps(returnFiber, workInProgress2.pendingProps), updateClassComponent(current2, workInProgress2, returnFiber, prevSibling, renderLanes2);
case 3:
a: {
pushHostContainer(workInProgress2, workInProgress2.stateNode.containerInfo);
if (current2 === null)
throw Error("Should have a current fiber. This is a bug in React.");
var nextProps = workInProgress2.pendingProps;
prevSibling = workInProgress2.memoizedState;
returnFiber = prevSibling.element;
cloneUpdateQueue(current2, workInProgress2);
processUpdateQueue(workInProgress2, nextProps, null, renderLanes2);
var nextState = workInProgress2.memoizedState;
nextProps = nextState.cache;
pushProvider(workInProgress2, CacheContext, nextProps);
nextProps !== prevSibling.cache && propagateContextChanges(workInProgress2, [CacheContext], renderLanes2, true);
suspendIfUpdateReadFromEntangledAsyncAction();
nextProps = nextState.element;
if (supportsHydration && prevSibling.isDehydrated)
if (prevSibling = {
element: nextProps,
isDehydrated: false,
cache: nextState.cache
}, workInProgress2.updateQueue.baseState = prevSibling, workInProgress2.memoizedState = prevSibling, workInProgress2.flags & 256) {
workInProgress2 = mountHostRootWithoutHydrating(current2, workInProgress2, nextProps, renderLanes2);
break a;
} else if (nextProps !== returnFiber) {
returnFiber = createCapturedValueAtFiber(Error("This root received an early update, before anything was able hydrate. Switched the entire root to client rendering."), workInProgress2);
queueHydrationError(returnFiber);
workInProgress2 = mountHostRootWithoutHydrating(current2, workInProgress2, nextProps, renderLanes2);
break a;
} else
for (supportsHydration && (nextHydratableInstance = getFirstHydratableChildWithinContainer(workInProgress2.stateNode.containerInfo), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = true), current2 = mountChildFibers(workInProgress2, null, nextProps, renderLanes2), workInProgress2.child = current2;current2; )
current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling;
else {
resetHydrationState();
if (nextProps === returnFiber) {
workInProgress2 = bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2);
break a;
}
reconcileChildren(current2, workInProgress2, nextProps, renderLanes2);
}
workInProgress2 = workInProgress2.child;
}
return workInProgress2;
case 26:
if (supportsResources)
return markRef(current2, workInProgress2), current2 === null ? (current2 = getResource(workInProgress2.type, null, workInProgress2.pendingProps, null)) ? workInProgress2.memoizedState = current2 : isHydrating || (workInProgress2.stateNode = createHoistableInstance(workInProgress2.type, workInProgress2.pendingProps, requiredContext(rootInstanceStackCursor.current), workInProgress2)) : workInProgress2.memoizedState = getResource(workInProgress2.type, current2.memoizedProps, workInProgress2.pendingProps, current2.memoizedState), null;
case 27:
if (supportsSingletons)
return pushHostContext(workInProgress2), current2 === null && supportsSingletons && isHydrating && (prevSibling = requiredContext(rootInstanceStackCursor.current), returnFiber = getHostContext(), prevSibling = workInProgress2.stateNode = resolveSingletonInstance(workInProgress2.type, workInProgress2.pendingProps, prevSibling, returnFiber, false), didSuspendOrErrorDEV || (returnFiber = diffHydratedPropsForDevWarnings(prevSibling, workInProgress2.type, workInProgress2.pendingProps, returnFiber), returnFiber !== null && (buildHydrationDiffNode(workInProgress2, 0).serverProps = returnFiber)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, nextHydratableInstance = getFirstHydratableChildWithinSingleton(workInProgress2.type, prevSibling, nextHydratableInstance)), reconcileChildren(current2, workInProgress2, workInProgress2.pendingProps.children, renderLanes2), markRef(current2, workInProgress2), current2 === null && (workInProgress2.flags |= 4194304), workInProgress2.child;
case 5:
return current2 === null && isHydrating && (nextProps = getHostContext(), returnFiber = validateHydratableInstance(workInProgress2.type, workInProgress2.pendingProps, nextProps), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance(prevSibling, workInProgress2.type, workInProgress2.pendingProps, rootOrSingletonContext), nextState !== null ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (nextProps = diffHydratedPropsForDevWarnings(nextState, workInProgress2.type, workInProgress2.pendingProps, nextProps), nextProps !== null && (buildHydrationDiffNode(workInProgress2, 0).serverProps = nextProps)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getFirstHydratableChild(nextState), rootOrSingletonContext = false, nextProps = true) : nextProps = false, nextState = !nextProps), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, nextProps = workInProgress2.pendingProps, nextState = current2 !== null ? current2.memoizedProps : null, returnFiber = nextProps.children, shouldSetTextContent(prevSibling, nextProps) ? returnFiber = null : nextState !== null && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), workInProgress2.memoizedState !== null && (prevSibling = renderWithHooks(current2, workInProgress2, TransitionAwareHostComponent, null, null, renderLanes2), isPrimaryRenderer ? HostTransitionContext._currentValue = prevSibling : HostTransitionContext._currentValue2 = prevSibling), markRef(current2, workInProgress2), reconcileChildren(current2, workInProgress2, returnFiber, renderLanes2), workInProgress2.child;
case 6:
return current2 === null && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), current2 = validateHydratableTextInstance(current2, renderLanes2), renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance(renderLanes2, workInProgress2.pendingProps, rootOrSingletonContext), returnFiber !== null ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null;
case 13:
return updateSuspenseComponent(current2, workInProgress2, renderLanes2);
case 4:
return pushHostContainer(workInProgress2, workInProgress2.stateNode.containerInfo), returnFiber = workInProgress2.pendingProps, current2 === null ? workInProgress2.child = reconcileChildFibers(workInProgress2, null, returnFiber, renderLanes2) : reconcileChildren(current2, workInProgress2, returnFiber, renderLanes2), workInProgress2.child;
case 11:
return updateForwardRef(current2, workInProgress2, workInProgress2.type, workInProgress2.pendingProps, renderLanes2);
case 7:
return reconcileChildren(current2, workInProgress2, workInProgress2.pendingProps, renderLanes2), workInProgress2.child;
case 8:
return reconcileChildren(current2, workInProgress2, workInProgress2.pendingProps.children, renderLanes2), workInProgress2.child;
case 12:
return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren(current2, workInProgress2, workInProgress2.pendingProps.children, renderLanes2), workInProgress2.child;
case 10:
return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, nextProps = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error("The `value` prop is required for the ``. Did you misspell it or forget to pass it?")), pushProvider(workInProgress2, returnFiber, nextProps), reconcileChildren(current2, workInProgress2, prevSibling.children, renderLanes2), workInProgress2.child;
case 9:
return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, typeof returnFiber !== "function" && console.error("A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), returnFiber = callComponentInDEV(returnFiber, prevSibling, undefined), workInProgress2.flags |= 1, reconcileChildren(current2, workInProgress2, returnFiber, renderLanes2), workInProgress2.child;
case 14:
return updateMemoComponent(current2, workInProgress2, workInProgress2.type, workInProgress2.pendingProps, renderLanes2);
case 15:
return updateSimpleMemoComponent(current2, workInProgress2, workInProgress2.type, workInProgress2.pendingProps, renderLanes2);
case 19:
return updateSuspenseListComponent(current2, workInProgress2, renderLanes2);
case 31:
return updateActivityComponent(current2, workInProgress2, renderLanes2);
case 22:
return updateOffscreenComponent(current2, workInProgress2, renderLanes2, workInProgress2.pendingProps);
case 24:
return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), current2 === null ? (prevSibling = peekCacheFromPool(), prevSibling === null && (prevSibling = workInProgressRoot, nextProps = createCache(), prevSibling.pooledCache = nextProps, retainCache(nextProps), nextProps !== null && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = nextProps), workInProgress2.memoizedState = {
parent: returnFiber,
cache: prevSibling
}, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : ((current2.lanes & renderLanes2) !== 0 && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, nextProps = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = {
parent: returnFiber,
cache: returnFiber
}, workInProgress2.memoizedState = prevSibling, workInProgress2.lanes === 0 && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = nextProps.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges(workInProgress2, [CacheContext], renderLanes2, true))), reconcileChildren(current2, workInProgress2, workInProgress2.pendingProps.children, renderLanes2), workInProgress2.child;
case 29:
throw workInProgress2.pendingProps;
}
throw Error("Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue.");
}
function markUpdate(workInProgress2) {
workInProgress2.flags |= 4;
}
function markCloned(workInProgress2) {
supportsPersistence && (workInProgress2.flags |= 8);
}
function doesRequireClone(current2, completedWork) {
if (current2 !== null && current2.child === completedWork.child)
return false;
if ((completedWork.flags & 16) !== 0)
return true;
for (current2 = completedWork.child;current2 !== null; ) {
if ((current2.flags & 8218) !== 0 || (current2.subtreeFlags & 8218) !== 0)
return true;
current2 = current2.sibling;
}
return false;
}
function appendAllChildren(parent, workInProgress2, needsVisibilityToggle, isHidden) {
if (supportsMutation)
for (needsVisibilityToggle = workInProgress2.child;needsVisibilityToggle !== null; ) {
if (needsVisibilityToggle.tag === 5 || needsVisibilityToggle.tag === 6)
appendInitialChild(parent, needsVisibilityToggle.stateNode);
else if (!(needsVisibilityToggle.tag === 4 || supportsSingletons && needsVisibilityToggle.tag === 27) && needsVisibilityToggle.child !== null) {
needsVisibilityToggle.child.return = needsVisibilityToggle;
needsVisibilityToggle = needsVisibilityToggle.child;
continue;
}
if (needsVisibilityToggle === workInProgress2)
break;
for (;needsVisibilityToggle.sibling === null; ) {
if (needsVisibilityToggle.return === null || needsVisibilityToggle.return === workInProgress2)
return;
needsVisibilityToggle = needsVisibilityToggle.return;
}
needsVisibilityToggle.sibling.return = needsVisibilityToggle.return;
needsVisibilityToggle = needsVisibilityToggle.sibling;
}
else if (supportsPersistence)
for (var _node = workInProgress2.child;_node !== null; ) {
if (_node.tag === 5) {
var instance = _node.stateNode;
needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance(instance, _node.type, _node.memoizedProps));
appendInitialChild(parent, instance);
} else if (_node.tag === 6)
instance = _node.stateNode, needsVisibilityToggle && isHidden && (instance = cloneHiddenTextInstance(instance, _node.memoizedProps)), appendInitialChild(parent, instance);
else if (_node.tag !== 4) {
if (_node.tag === 22 && _node.memoizedState !== null)
instance = _node.child, instance !== null && (instance.return = _node), appendAllChildren(parent, _node, true, true);
else if (_node.child !== null) {
_node.child.return = _node;
_node = _node.child;
continue;
}
}
if (_node === workInProgress2)
break;
for (;_node.sibling === null; ) {
if (_node.return === null || _node.return === workInProgress2)
return;
_node = _node.return;
}
_node.sibling.return = _node.return;
_node = _node.sibling;
}
}
function appendAllChildrenToContainer(containerChildSet, workInProgress2, needsVisibilityToggle, isHidden) {
var hasOffscreenComponentChild = false;
if (supportsPersistence)
for (var node = workInProgress2.child;node !== null; ) {
if (node.tag === 5) {
var instance = node.stateNode;
needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance(instance, node.type, node.memoizedProps));
appendChildToContainerChildSet(containerChildSet, instance);
} else if (node.tag === 6)
instance = node.stateNode, needsVisibilityToggle && isHidden && (instance = cloneHiddenTextInstance(instance, node.memoizedProps)), appendChildToContainerChildSet(containerChildSet, instance);
else if (node.tag !== 4) {
if (node.tag === 22 && node.memoizedState !== null)
hasOffscreenComponentChild = node.child, hasOffscreenComponentChild !== null && (hasOffscreenComponentChild.return = node), appendAllChildrenToContainer(containerChildSet, node, true, true), hasOffscreenComponentChild = true;
else if (node.child !== null) {
node.child.return = node;
node = node.child;
continue;
}
}
if (node === workInProgress2)
break;
for (;node.sibling === null; ) {
if (node.return === null || node.return === workInProgress2)
return hasOffscreenComponentChild;
node = node.return;
}
node.sibling.return = node.return;
node = node.sibling;
}
return hasOffscreenComponentChild;
}
function updateHostContainer(current2, workInProgress2) {
if (supportsPersistence && doesRequireClone(current2, workInProgress2)) {
current2 = workInProgress2.stateNode;
var container = current2.containerInfo, newChildSet = createContainerChildSet();
appendAllChildrenToContainer(newChildSet, workInProgress2, false, false);
current2.pendingChildren = newChildSet;
markUpdate(workInProgress2);
finalizeContainerChildren(container, newChildSet);
}
}
function updateHostComponent(current2, workInProgress2, type, newProps) {
if (supportsMutation)
current2.memoizedProps !== newProps && markUpdate(workInProgress2);
else if (supportsPersistence) {
var { stateNode: currentInstance, memoizedProps: _oldProps } = current2;
if ((current2 = doesRequireClone(current2, workInProgress2)) || _oldProps !== newProps) {
var currentHostContext = getHostContext();
_oldProps = cloneInstance(currentInstance, type, _oldProps, newProps, !current2, null);
_oldProps === currentInstance ? workInProgress2.stateNode = currentInstance : (markCloned(workInProgress2), finalizeInitialChildren(_oldProps, type, newProps, currentHostContext) && markUpdate(workInProgress2), workInProgress2.stateNode = _oldProps, current2 && appendAllChildren(_oldProps, workInProgress2, false, false));
} else
workInProgress2.stateNode = currentInstance;
}
}
function preloadInstanceAndSuspendIfNeeded(workInProgress2, type, oldProps, newProps, renderLanes2) {
if ((workInProgress2.mode & 32) !== NoMode && (oldProps === null ? maySuspendCommit(type, newProps) : maySuspendCommitOnUpdate(type, oldProps, newProps))) {
if (workInProgress2.flags |= 16777216, (renderLanes2 & 335544128) === renderLanes2 || maySuspendCommitInSyncRender(type, newProps))
if (preloadInstance(workInProgress2.stateNode, type, newProps))
workInProgress2.flags |= 8192;
else if (shouldRemainOnPreviousScreen())
workInProgress2.flags |= 8192;
else
throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
} else
workInProgress2.flags &= -16777217;
}
function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) {
if (mayResourceSuspendCommit(resource)) {
if (workInProgress2.flags |= 16777216, !preloadResource(resource))
if (shouldRemainOnPreviousScreen())
workInProgress2.flags |= 8192;
else
throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException;
} else
workInProgress2.flags &= -16777217;
}
function scheduleRetryEffect(workInProgress2, retryQueue) {
retryQueue !== null && (workInProgress2.flags |= 4);
workInProgress2.flags & 16384 && (retryQueue = workInProgress2.tag !== 22 ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue);
}
function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
if (!isHydrating)
switch (renderState.tailMode) {
case "hidden":
hasRenderedATailFallback = renderState.tail;
for (var lastTailNode = null;hasRenderedATailFallback !== null; )
hasRenderedATailFallback.alternate !== null && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
lastTailNode === null ? renderState.tail = null : lastTailNode.sibling = null;
break;
case "collapsed":
lastTailNode = renderState.tail;
for (var _lastTailNode = null;lastTailNode !== null; )
lastTailNode.alternate !== null && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling;
_lastTailNode === null ? hasRenderedATailFallback || renderState.tail === null ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null;
}
}
function bubbleProperties(completedWork) {
var didBailout = completedWork.alternate !== null && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0;
if (didBailout)
if ((completedWork.mode & 2) !== NoMode) {
for (var { selfBaseDuration: _treeBaseDuration, child: _child2 } = completedWork;_child2 !== null; )
newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling;
completedWork.treeBaseDuration = _treeBaseDuration;
} else
for (_treeBaseDuration = completedWork.child;_treeBaseDuration !== null; )
newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
else if ((completedWork.mode & 2) !== NoMode) {
_treeBaseDuration = completedWork.actualDuration;
_child2 = completedWork.selfBaseDuration;
for (var child = completedWork.child;child !== null; )
newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling;
completedWork.actualDuration = _treeBaseDuration;
completedWork.treeBaseDuration = _child2;
} else
for (_treeBaseDuration = completedWork.child;_treeBaseDuration !== null; )
newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling;
completedWork.subtreeFlags |= subtreeFlags;
completedWork.childLanes = newChildLanes;
return didBailout;
}
function completeWork(current2, workInProgress2, renderLanes2) {
var newProps = workInProgress2.pendingProps;
popTreeContext(workInProgress2);
switch (workInProgress2.tag) {
case 16:
case 15:
case 0:
case 11:
case 7:
case 8:
case 12:
case 9:
case 14:
return bubbleProperties(workInProgress2), null;
case 1:
return bubbleProperties(workInProgress2), null;
case 3:
renderLanes2 = workInProgress2.stateNode;
newProps = null;
current2 !== null && (newProps = current2.memoizedState.cache);
workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048);
popProvider(CacheContext, workInProgress2);
popHostContainer(workInProgress2);
renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null);
if (current2 === null || current2.child === null)
popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : current2 === null || current2.memoizedState.isDehydrated && (workInProgress2.flags & 256) === 0 || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable());
updateHostContainer(current2, workInProgress2);
bubbleProperties(workInProgress2);
return null;
case 26:
if (supportsResources) {
var { type, memoizedState: nextResource } = workInProgress2;
current2 === null ? (markUpdate(workInProgress2), nextResource !== null ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(workInProgress2, nextResource)) : (bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(workInProgress2, type, null, newProps, renderLanes2))) : nextResource ? nextResource !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded(workInProgress2, nextResource)) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (nextResource = current2.memoizedProps, supportsMutation ? nextResource !== newProps && markUpdate(workInProgress2) : updateHostComponent(current2, workInProgress2, type, newProps), bubbleProperties(workInProgress2), preloadInstanceAndSuspendIfNeeded(workInProgress2, type, nextResource, newProps, renderLanes2));
return null;
}
case 27:
if (supportsSingletons) {
popHostContext(workInProgress2);
renderLanes2 = requiredContext(rootInstanceStackCursor.current);
type = workInProgress2.type;
if (current2 !== null && workInProgress2.stateNode != null)
supportsMutation ? current2.memoizedProps !== newProps && markUpdate(workInProgress2) : updateHostComponent(current2, workInProgress2, type, newProps);
else {
if (!newProps) {
if (workInProgress2.stateNode === null)
throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
bubbleProperties(workInProgress2);
return null;
}
current2 = getHostContext();
popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance(type, newProps, renderLanes2, current2, true), workInProgress2.stateNode = current2, markUpdate(workInProgress2));
}
bubbleProperties(workInProgress2);
return null;
}
case 5:
popHostContext(workInProgress2);
type = workInProgress2.type;
if (current2 !== null && workInProgress2.stateNode != null)
updateHostComponent(current2, workInProgress2, type, newProps);
else {
if (!newProps) {
if (workInProgress2.stateNode === null)
throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
bubbleProperties(workInProgress2);
return null;
}
nextResource = getHostContext();
if (popHydrationState(workInProgress2))
prepareToHydrateHostInstance(workInProgress2, nextResource), finalizeHydratedChildren(workInProgress2.stateNode, type, newProps, nextResource) && (workInProgress2.flags |= 64);
else {
var _rootContainerInstance = requiredContext(rootInstanceStackCursor.current);
_rootContainerInstance = createInstance2(type, newProps, _rootContainerInstance, nextResource, workInProgress2);
markCloned(workInProgress2);
appendAllChildren(_rootContainerInstance, workInProgress2, false, false);
workInProgress2.stateNode = _rootContainerInstance;
finalizeInitialChildren(_rootContainerInstance, type, newProps, nextResource) && markUpdate(workInProgress2);
}
}
bubbleProperties(workInProgress2);
preloadInstanceAndSuspendIfNeeded(workInProgress2, workInProgress2.type, current2 === null ? null : current2.memoizedProps, workInProgress2.pendingProps, renderLanes2);
return null;
case 6:
if (current2 && workInProgress2.stateNode != null)
renderLanes2 = current2.memoizedProps, supportsMutation ? renderLanes2 !== newProps && markUpdate(workInProgress2) : supportsPersistence && (renderLanes2 !== newProps ? (current2 = requiredContext(rootInstanceStackCursor.current), renderLanes2 = getHostContext(), markCloned(workInProgress2), workInProgress2.stateNode = createTextInstance(newProps, current2, renderLanes2, workInProgress2)) : workInProgress2.stateNode = current2.stateNode);
else {
if (typeof newProps !== "string" && workInProgress2.stateNode === null)
throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
current2 = requiredContext(rootInstanceStackCursor.current);
renderLanes2 = getHostContext();
if (popHydrationState(workInProgress2)) {
if (!supportsHydration)
throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");
current2 = workInProgress2.stateNode;
renderLanes2 = workInProgress2.memoizedProps;
type = !didSuspendOrErrorDEV;
newProps = null;
nextResource = hydrationParentFiber;
if (nextResource !== null)
switch (nextResource.tag) {
case 3:
type && (type = diffHydratedTextForDevWarnings(current2, renderLanes2, newProps), type !== null && (buildHydrationDiffNode(workInProgress2, 0).serverProps = type));
break;
case 27:
case 5:
newProps = nextResource.memoizedProps, type && (type = diffHydratedTextForDevWarnings(current2, renderLanes2, newProps), type !== null && (buildHydrationDiffNode(workInProgress2, 0).serverProps = type));
}
hydrateTextInstance(current2, renderLanes2, workInProgress2, newProps) || throwOnHydrationMismatch(workInProgress2, true);
} else
markCloned(workInProgress2), workInProgress2.stateNode = createTextInstance(newProps, current2, renderLanes2, workInProgress2);
}
bubbleProperties(workInProgress2);
return null;
case 31:
renderLanes2 = workInProgress2.memoizedState;
if (current2 === null || current2.memoizedState !== null) {
newProps = popHydrationState(workInProgress2);
if (renderLanes2 !== null) {
if (current2 === null) {
if (!newProps)
throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");
if (!supportsHydration)
throw Error("Expected prepareToHydrateHostActivityInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");
current2 = workInProgress2.memoizedState;
current2 = current2 !== null ? current2.dehydrated : null;
if (!current2)
throw Error("Expected to have a hydrated activity instance. This error is likely caused by a bug in React. Please file an issue.");
hydrateActivityInstance(current2, workInProgress2);
bubbleProperties(workInProgress2);
(workInProgress2.mode & 2) !== NoMode && renderLanes2 !== null && (current2 = workInProgress2.child, current2 !== null && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
} else
emitPendingHydrationWarnings(), resetHydrationState(), (workInProgress2.flags & 128) === 0 && (renderLanes2 = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & 2) !== NoMode && renderLanes2 !== null && (current2 = workInProgress2.child, current2 !== null && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
current2 = false;
} else
renderLanes2 = upgradeHydrationErrorsToRecoverable(), current2 !== null && current2.memoizedState !== null && (current2.memoizedState.hydrationErrors = renderLanes2), current2 = true;
if (!current2) {
if (workInProgress2.flags & 256)
return popSuspenseHandler(workInProgress2), workInProgress2;
popSuspenseHandler(workInProgress2);
return null;
}
if ((workInProgress2.flags & 128) !== 0)
throw Error("Client rendering an Activity suspended it again. This is a bug in React.");
}
bubbleProperties(workInProgress2);
return null;
case 13:
newProps = workInProgress2.memoizedState;
if (current2 === null || current2.memoizedState !== null && current2.memoizedState.dehydrated !== null) {
type = newProps;
nextResource = popHydrationState(workInProgress2);
if (type !== null && type.dehydrated !== null) {
if (current2 === null) {
if (!nextResource)
throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");
if (!supportsHydration)
throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");
nextResource = workInProgress2.memoizedState;
nextResource = nextResource !== null ? nextResource.dehydrated : null;
if (!nextResource)
throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");
hydrateSuspenseInstance(nextResource, workInProgress2);
bubbleProperties(workInProgress2);
(workInProgress2.mode & 2) !== NoMode && type !== null && (type = workInProgress2.child, type !== null && (workInProgress2.treeBaseDuration -= type.treeBaseDuration));
} else
emitPendingHydrationWarnings(), resetHydrationState(), (workInProgress2.flags & 128) === 0 && (type = workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & 2) !== NoMode && type !== null && (type = workInProgress2.child, type !== null && (workInProgress2.treeBaseDuration -= type.treeBaseDuration));
type = false;
} else
type = upgradeHydrationErrorsToRecoverable(), current2 !== null && current2.memoizedState !== null && (current2.memoizedState.hydrationErrors = type), type = true;
if (!type) {
if (workInProgress2.flags & 256)
return popSuspenseHandler(workInProgress2), workInProgress2;
popSuspenseHandler(workInProgress2);
return null;
}
}
popSuspenseHandler(workInProgress2);
if ((workInProgress2.flags & 128) !== 0)
return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2;
renderLanes2 = newProps !== null;
current2 = current2 !== null && current2.memoizedState !== null;
renderLanes2 && (newProps = workInProgress2.child, type = null, newProps.alternate !== null && newProps.alternate.memoizedState !== null && newProps.alternate.memoizedState.cachePool !== null && (type = newProps.alternate.memoizedState.cachePool.pool), nextResource = null, newProps.memoizedState !== null && newProps.memoizedState.cachePool !== null && (nextResource = newProps.memoizedState.cachePool.pool), nextResource !== type && (newProps.flags |= 2048));
renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192);
scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue);
bubbleProperties(workInProgress2);
(workInProgress2.mode & 2) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, current2 !== null && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration));
return null;
case 4:
return popHostContainer(workInProgress2), updateHostContainer(current2, workInProgress2), current2 === null && preparePortalMount(workInProgress2.stateNode.containerInfo), bubbleProperties(workInProgress2), null;
case 10:
return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null;
case 19:
pop(suspenseStackCursor, workInProgress2);
newProps = workInProgress2.memoizedState;
if (newProps === null)
return bubbleProperties(workInProgress2), null;
type = (workInProgress2.flags & 128) !== 0;
nextResource = newProps.rendering;
if (nextResource === null)
if (type)
cutOffTailIfNeeded(newProps, false);
else {
if (workInProgressRootExitStatus !== RootInProgress || current2 !== null && (current2.flags & 128) !== 0)
for (current2 = workInProgress2.child;current2 !== null; ) {
nextResource = findFirstSuspended(current2);
if (nextResource !== null) {
workInProgress2.flags |= 128;
cutOffTailIfNeeded(newProps, false);
current2 = nextResource.updateQueue;
workInProgress2.updateQueue = current2;
scheduleRetryEffect(workInProgress2, current2);
workInProgress2.subtreeFlags = 0;
current2 = renderLanes2;
for (renderLanes2 = workInProgress2.child;renderLanes2 !== null; )
resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling;
push(suspenseStackCursor, suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2);
isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount);
return workInProgress2.child;
}
current2 = current2.sibling;
}
newProps.tail !== null && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
}
else {
if (!type)
if (current2 = findFirstSuspended(nextResource), current2 !== null) {
if (workInProgress2.flags |= 128, type = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(newProps, true), newProps.tail === null && newProps.tailMode === "hidden" && !nextResource.alternate && !isHydrating)
return bubbleProperties(workInProgress2), null;
} else
2 * now$1() - newProps.renderingStartTime > workInProgressRootRenderTargetTime && renderLanes2 !== 536870912 && (workInProgress2.flags |= 128, type = true, cutOffTailIfNeeded(newProps, false), workInProgress2.lanes = 4194304);
newProps.isBackwards ? (nextResource.sibling = workInProgress2.child, workInProgress2.child = nextResource) : (current2 = newProps.last, current2 !== null ? current2.sibling = nextResource : workInProgress2.child = nextResource, newProps.last = nextResource);
}
if (newProps.tail !== null)
return current2 = newProps.tail, newProps.rendering = current2, newProps.tail = current2.sibling, newProps.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = type ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), isHydrating && pushTreeFork(workInProgress2, newProps.treeForkCount), current2;
bubbleProperties(workInProgress2);
return null;
case 22:
case 23:
return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = workInProgress2.memoizedState !== null, current2 !== null ? current2.memoizedState !== null !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? (renderLanes2 & 536870912) !== 0 && (workInProgress2.flags & 128) === 0 && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, renderLanes2 !== null && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, current2 !== null && current2.memoizedState !== null && current2.memoizedState.cachePool !== null && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, workInProgress2.memoizedState !== null && workInProgress2.memoizedState.cachePool !== null && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), current2 !== null && pop(resumedCache, workInProgress2), null;
case 24:
return renderLanes2 = null, current2 !== null && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null;
case 25:
return null;
case 30:
return null;
}
throw Error("Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue.");
}
function unwindWork(current2, workInProgress2) {
popTreeContext(workInProgress2);
switch (workInProgress2.tag) {
case 1:
return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
case 3:
return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, (current2 & 65536) !== 0 && (current2 & 128) === 0 ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null;
case 26:
case 27:
case 5:
return popHostContext(workInProgress2), null;
case 31:
if (workInProgress2.memoizedState !== null) {
popSuspenseHandler(workInProgress2);
if (workInProgress2.alternate === null)
throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");
resetHydrationState();
}
current2 = workInProgress2.flags;
return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
case 13:
popSuspenseHandler(workInProgress2);
current2 = workInProgress2.memoizedState;
if (current2 !== null && current2.dehydrated !== null) {
if (workInProgress2.alternate === null)
throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");
resetHydrationState();
}
current2 = workInProgress2.flags;
return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
case 19:
return pop(suspenseStackCursor, workInProgress2), null;
case 4:
return popHostContainer(workInProgress2), null;
case 10:
return popProvider(workInProgress2.type, workInProgress2), null;
case 22:
case 23:
return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), current2 !== null && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & 2) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null;
case 24:
return popProvider(CacheContext, workInProgress2), null;
case 25:
return null;
default:
return null;
}
}
function unwindInterruptedWork(current2, interruptedWork) {
popTreeContext(interruptedWork);
switch (interruptedWork.tag) {
case 3:
popProvider(CacheContext, interruptedWork);
popHostContainer(interruptedWork);
break;
case 26:
case 27:
case 5:
popHostContext(interruptedWork);
break;
case 4:
popHostContainer(interruptedWork);
break;
case 31:
interruptedWork.memoizedState !== null && popSuspenseHandler(interruptedWork);
break;
case 13:
popSuspenseHandler(interruptedWork);
break;
case 19:
pop(suspenseStackCursor, interruptedWork);
break;
case 10:
popProvider(interruptedWork.type, interruptedWork);
break;
case 22:
case 23:
popSuspenseHandler(interruptedWork);
popHiddenContext(interruptedWork);
current2 !== null && pop(resumedCache, interruptedWork);
break;
case 24:
popProvider(CacheContext, interruptedWork);
}
}
function shouldProfile(current2) {
return (current2.mode & 2) !== NoMode;
}
function commitHookLayoutEffects(finishedWork, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
}
function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor), recordEffectDuration()) : commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor);
}
function commitHookEffectListMount(flags, finishedWork) {
try {
var updateQueue = finishedWork.updateQueue, lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
if (lastEffect !== null) {
var firstEffect = lastEffect.next;
updateQueue = firstEffect;
do {
if ((updateQueue.tag & flags) === flags && (lastEffect = undefined, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV(finishedWork, callCreateInDEV, updateQueue), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), lastEffect !== undefined && typeof lastEffect !== "function")) {
var hookName = undefined;
hookName = (updateQueue.tag & Layout) !== 0 ? "useLayoutEffect" : (updateQueue.tag & Insertion) !== 0 ? "useInsertionEffect" : "useEffect";
var addendum = undefined;
addendum = lastEffect === null ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : typeof lastEffect.then === "function" ? `
It looks like you wrote ` + hookName + `(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:
` + hookName + `(() => {
async function fetchData() {
// You can await here
const response = await MyAPI.getData(someId);
// ...
}
fetchData();
}, [someId]); // Or [] if effect doesn't need props or state
Learn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching` : " You returned: " + lastEffect;
runWithFiberInDEV(finishedWork, function(n2, a2) {
console.error("%s must not return anything besides a function, which is used for clean-up.%s", n2, a2);
}, hookName, addendum);
}
updateQueue = updateQueue.next;
} while (updateQueue !== firstEffect);
}
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) {
try {
var updateQueue = finishedWork.updateQueue, lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
if (lastEffect !== null) {
var firstEffect = lastEffect.next;
updateQueue = firstEffect;
do {
if ((updateQueue.tag & flags) === flags) {
var inst = updateQueue.inst, destroy2 = inst.destroy;
destroy2 !== undefined && (inst.destroy = undefined, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV(lastEffect, callDestroyInDEV, lastEffect, nearestMountedAncestor, destroy2), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false));
}
updateQueue = updateQueue.next;
} while (updateQueue !== firstEffect);
}
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function commitHookPassiveMountEffects(finishedWork, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork);
}
function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) {
shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor), recordEffectDuration()) : commitHookEffectListUnmount(hookFlags, finishedWork, nearestMountedAncestor);
}
function commitClassCallbacks(finishedWork) {
var updateQueue = finishedWork.updateQueue;
if (updateQueue !== null) {
var instance = finishedWork.stateNode;
finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error("Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"), instance.state !== finishedWork.memoizedState && console.error("Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"));
try {
runWithFiberInDEV(finishedWork, commitCallbacks, updateQueue, instance);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}
function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) {
return instance.getSnapshotBeforeUpdate(prevProps, prevState);
}
function commitClassSnapshot(finishedWork, current2) {
var { memoizedProps: prevProps, memoizedState: prevState } = current2;
current2 = finishedWork.stateNode;
finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error("Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"), current2.state !== finishedWork.memoizedState && console.error("Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"));
try {
var resolvedPrevProps = resolveClassComponentProps(finishedWork.type, prevProps);
var snapshot = runWithFiberInDEV(finishedWork, callGetSnapshotBeforeUpdates, current2, resolvedPrevProps, prevState);
prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;
snapshot !== undefined || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() {
console.error("%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", getComponentNameFromFiber(finishedWork));
}));
current2.__reactInternalSnapshotBeforeUpdate = snapshot;
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) {
instance.props = resolveClassComponentProps(current2.type, current2.memoizedProps);
instance.state = current2.memoizedState;
shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV(current2, callComponentWillUnmountInDEV, current2, nearestMountedAncestor, instance), recordEffectDuration()) : runWithFiberInDEV(current2, callComponentWillUnmountInDEV, current2, nearestMountedAncestor, instance);
}
function commitAttachRef(finishedWork) {
var ref = finishedWork.ref;
if (ref !== null) {
switch (finishedWork.tag) {
case 26:
case 27:
case 5:
var instanceToUse = getPublicInstance(finishedWork.stateNode);
break;
case 30:
instanceToUse = finishedWork.stateNode;
break;
default:
instanceToUse = finishedWork.stateNode;
}
if (typeof ref === "function")
if (shouldProfile(finishedWork))
try {
startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse);
} finally {
recordEffectDuration();
}
else
finishedWork.refCleanup = ref(instanceToUse);
else
typeof ref === "string" ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error("Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", getComponentNameFromFiber(finishedWork)), ref.current = instanceToUse;
}
}
function safelyAttachRef(current2, nearestMountedAncestor) {
try {
runWithFiberInDEV(current2, commitAttachRef, current2);
} catch (error52) {
captureCommitPhaseError(current2, nearestMountedAncestor, error52);
}
}
function safelyDetachRef(current2, nearestMountedAncestor) {
var { ref, refCleanup } = current2;
if (ref !== null)
if (typeof refCleanup === "function")
try {
if (shouldProfile(current2))
try {
startEffectTimer(), runWithFiberInDEV(current2, refCleanup);
} finally {
recordEffectDuration(current2);
}
else
runWithFiberInDEV(current2, refCleanup);
} catch (error52) {
captureCommitPhaseError(current2, nearestMountedAncestor, error52);
} finally {
current2.refCleanup = null, current2 = current2.alternate, current2 != null && (current2.refCleanup = null);
}
else if (typeof ref === "function")
try {
if (shouldProfile(current2))
try {
startEffectTimer(), runWithFiberInDEV(current2, ref, null);
} finally {
recordEffectDuration(current2);
}
else
runWithFiberInDEV(current2, ref, null);
} catch (error$3) {
captureCommitPhaseError(current2, nearestMountedAncestor, error$3);
}
else
ref.current = null;
}
function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) {
var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit;
_finishedWork$memoize = _finishedWork$memoize.onRender;
current2 = current2 === null ? "mount" : "update";
currentUpdateIsNested && (current2 = "nested-update");
typeof _finishedWork$memoize === "function" && _finishedWork$memoize(id, current2, finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, commitStartTime2);
typeof onCommit === "function" && onCommit(id, current2, effectDuration, commitStartTime2);
}
function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) {
var _finishedWork$memoize2 = finishedWork.memoizedProps;
finishedWork = _finishedWork$memoize2.id;
_finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;
current2 = current2 === null ? "mount" : "update";
currentUpdateIsNested && (current2 = "nested-update");
typeof _finishedWork$memoize2 === "function" && _finishedWork$memoize2(finishedWork, current2, passiveEffectDuration, commitStartTime2);
}
function commitHostMount(finishedWork) {
var { type, memoizedProps: props, stateNode: instance } = finishedWork;
try {
runWithFiberInDEV(finishedWork, commitMount, instance, type, props, finishedWork);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function commitHostUpdate(finishedWork, newProps, oldProps) {
try {
runWithFiberInDEV(finishedWork, commitUpdate, finishedWork.stateNode, finishedWork.type, oldProps, newProps, finishedWork);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function isHostParent(fiber) {
return fiber.tag === 5 || fiber.tag === 3 || (supportsResources ? fiber.tag === 26 : false) || (supportsSingletons ? fiber.tag === 27 && isSingletonScope(fiber.type) : false) || fiber.tag === 4;
}
function getHostSibling(fiber) {
a:
for (;; ) {
for (;fiber.sibling === null; ) {
if (fiber.return === null || isHostParent(fiber.return))
return null;
fiber = fiber.return;
}
fiber.sibling.return = fiber.return;
for (fiber = fiber.sibling;fiber.tag !== 5 && fiber.tag !== 6 && fiber.tag !== 18; ) {
if (supportsSingletons && fiber.tag === 27 && isSingletonScope(fiber.type))
continue a;
if (fiber.flags & 2)
continue a;
if (fiber.child === null || fiber.tag === 4)
continue a;
else
fiber.child.return = fiber, fiber = fiber.child;
}
if (!(fiber.flags & 2))
return fiber.stateNode;
}
}
function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
var tag = node.tag;
if (tag === 5 || tag === 6)
node = node.stateNode, before ? insertInContainerBefore(parent, node, before) : appendChildToContainer(parent, node);
else if (tag !== 4 && (supportsSingletons && tag === 27 && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, node !== null))
for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;node !== null; )
insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;
}
function insertOrAppendPlacementNode(node, before, parent) {
var tag = node.tag;
if (tag === 5 || tag === 6)
node = node.stateNode, before ? insertBefore(parent, node, before) : appendChild(parent, node);
else if (tag !== 4 && (supportsSingletons && tag === 27 && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, node !== null))
for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling;node !== null; )
insertOrAppendPlacementNode(node, before, parent), node = node.sibling;
}
function commitPlacement(finishedWork) {
for (var hostParentFiber, parentFiber = finishedWork.return;parentFiber !== null; ) {
if (isHostParent(parentFiber)) {
hostParentFiber = parentFiber;
break;
}
parentFiber = parentFiber.return;
}
if (supportsMutation) {
if (hostParentFiber == null)
throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
switch (hostParentFiber.tag) {
case 27:
if (supportsSingletons) {
hostParentFiber = hostParentFiber.stateNode;
parentFiber = getHostSibling(finishedWork);
insertOrAppendPlacementNode(finishedWork, parentFiber, hostParentFiber);
break;
}
case 5:
parentFiber = hostParentFiber.stateNode;
hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33);
hostParentFiber = getHostSibling(finishedWork);
insertOrAppendPlacementNode(finishedWork, hostParentFiber, parentFiber);
break;
case 3:
case 4:
hostParentFiber = hostParentFiber.stateNode.containerInfo;
parentFiber = getHostSibling(finishedWork);
insertOrAppendPlacementNodeIntoContainer(finishedWork, parentFiber, hostParentFiber);
break;
default:
throw Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.");
}
}
}
function commitHostPortalContainerChildren(portal, finishedWork, pendingChildren) {
portal = portal.containerInfo;
try {
runWithFiberInDEV(finishedWork, replaceContainerChildren, portal, pendingChildren);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function commitHostSingletonAcquisition(finishedWork) {
var { stateNode: singleton, memoizedProps: props } = finishedWork;
try {
runWithFiberInDEV(finishedWork, acquireSingletonInstance, finishedWork.type, props, singleton, finishedWork);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function isHydratingParent(current2, finishedWork) {
return finishedWork.tag === 31 ? (finishedWork = finishedWork.memoizedState, current2.memoizedState !== null && finishedWork === null) : finishedWork.tag === 13 ? (current2 = current2.memoizedState, finishedWork = finishedWork.memoizedState, current2 !== null && current2.dehydrated !== null && (finishedWork === null || finishedWork.dehydrated === null)) : finishedWork.tag === 3 ? current2.memoizedState.isDehydrated && (finishedWork.flags & 256) === 0 : false;
}
function commitBeforeMutationEffects(root2, firstChild) {
prepareForCommit(root2.containerInfo);
for (nextEffect = firstChild;nextEffect !== null; )
if (root2 = nextEffect, firstChild = root2.child, (root2.subtreeFlags & 1028) !== 0 && firstChild !== null)
firstChild.return = root2, nextEffect = firstChild;
else
for (;nextEffect !== null; ) {
firstChild = root2 = nextEffect;
var { alternate: current2, flags } = firstChild;
switch (firstChild.tag) {
case 0:
if ((flags & 4) !== 0 && (firstChild = firstChild.updateQueue, firstChild = firstChild !== null ? firstChild.events : null, firstChild !== null))
for (current2 = 0;current2 < firstChild.length; current2++)
flags = firstChild[current2], flags.ref.impl = flags.nextImpl;
break;
case 11:
case 15:
break;
case 1:
(flags & 1024) !== 0 && current2 !== null && commitClassSnapshot(firstChild, current2);
break;
case 3:
(flags & 1024) !== 0 && supportsMutation && clearContainer(firstChild.stateNode.containerInfo);
break;
case 5:
case 26:
case 27:
case 6:
case 4:
case 17:
break;
default:
if ((flags & 1024) !== 0)
throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
}
firstChild = root2.sibling;
if (firstChild !== null) {
firstChild.return = root2.return;
nextEffect = firstChild;
break;
}
nextEffect = root2.return;
}
}
function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags;
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect);
break;
case 1:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
if (flags & 4)
if (finishedRoot = finishedWork.stateNode, current2 === null)
finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error("Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"), finishedRoot.state !== finishedWork.memoizedState && console.error("Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance")), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(finishedWork, callComponentDidMountInDEV, finishedWork, finishedRoot), recordEffectDuration()) : runWithFiberInDEV(finishedWork, callComponentDidMountInDEV, finishedWork, finishedRoot);
else {
var prevProps = resolveClassComponentProps(finishedWork.type, current2.memoizedProps);
current2 = current2.memoizedState;
finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error("Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"), finishedRoot.state !== finishedWork.memoizedState && console.error("Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", getComponentNameFromFiber(finishedWork) || "instance"));
shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV(finishedWork, callComponentDidUpdateInDEV, finishedWork, finishedRoot, prevProps, current2, finishedRoot.__reactInternalSnapshotBeforeUpdate), recordEffectDuration()) : runWithFiberInDEV(finishedWork, callComponentDidUpdateInDEV, finishedWork, finishedRoot, prevProps, current2, finishedRoot.__reactInternalSnapshotBeforeUpdate);
}
flags & 64 && commitClassCallbacks(finishedWork);
flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
break;
case 3:
current2 = pushNestedEffectDurations();
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
if (flags & 64 && (flags = finishedWork.updateQueue, flags !== null)) {
prevProps = null;
if (finishedWork.child !== null)
switch (finishedWork.child.tag) {
case 27:
case 5:
prevProps = getPublicInstance(finishedWork.child.stateNode);
break;
case 1:
prevProps = finishedWork.child.stateNode;
}
try {
runWithFiberInDEV(finishedWork, commitCallbacks, flags, prevProps);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
finishedRoot.effectDuration += popNestedEffectDurations(current2);
break;
case 27:
supportsSingletons && current2 === null && flags & 4 && commitHostSingletonAcquisition(finishedWork);
case 26:
case 5:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
if (current2 === null) {
if (flags & 4)
commitHostMount(finishedWork);
else if (flags & 64) {
finishedRoot = finishedWork.type;
current2 = finishedWork.memoizedProps;
prevProps = finishedWork.stateNode;
try {
runWithFiberInDEV(finishedWork, commitHydratedInstance, prevProps, finishedRoot, current2, finishedWork);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}
flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);
break;
case 12:
if (flags & 4) {
flags = pushNestedEffectDurations();
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
finishedRoot = finishedWork.stateNode;
finishedRoot.effectDuration += bubbleNestedEffectDurations(flags);
try {
runWithFiberInDEV(finishedWork, commitProfiler, finishedWork, current2, commitStartTime, finishedRoot.effectDuration);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
} else
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
break;
case 31:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
break;
case 13:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
flags & 64 && (finishedRoot = finishedWork.memoizedState, finishedRoot !== null && (finishedRoot = finishedRoot.dehydrated, finishedRoot !== null && (flags = retryDehydratedSuspenseBoundary.bind(null, finishedWork), registerSuspenseInstanceRetry(finishedRoot, flags))));
break;
case 22:
flags = finishedWork.memoizedState !== null || offscreenSubtreeIsHidden;
if (!flags) {
current2 = current2 !== null && current2.memoizedState !== null || offscreenSubtreeWasHidden;
prevProps = offscreenSubtreeIsHidden;
var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
offscreenSubtreeIsHidden = flags;
(offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? (recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, (finishedWork.subtreeFlags & 8772) !== 0), (finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(finishedWork, componentEffectStartTime, componentEffectEndTime)) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
offscreenSubtreeIsHidden = prevProps;
offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
}
break;
case 30:
break;
default:
recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors), finishedWork.alternate === null && finishedWork.return !== null && finishedWork.return.alternate !== null && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(finishedWork.return.alternate, finishedWork.return) || logComponentTrigger(finishedWork, componentEffectStartTime, componentEffectEndTime, "Mount")));
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
}
function detachFiberAfterEffects(fiber) {
var alternate = fiber.alternate;
alternate !== null && (fiber.alternate = null, detachFiberAfterEffects(alternate));
fiber.child = null;
fiber.deletions = null;
fiber.sibling = null;
fiber.tag === 5 && (alternate = fiber.stateNode, alternate !== null && detachDeletedInstance(alternate));
fiber.stateNode = null;
fiber._debugOwner = null;
fiber.return = null;
fiber.dependencies = null;
fiber.memoizedProps = null;
fiber.memoizedState = null;
fiber.pendingProps = null;
fiber.stateNode = null;
fiber.updateQueue = null;
}
function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) {
for (parent = parent.child;parent !== null; )
commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent), parent = parent.sibling;
}
function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) {
if (injectedHook && typeof injectedHook.onCommitFiberUnmount === "function")
try {
injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);
} catch (err) {
hasLoggedError || (hasLoggedError = true, console.error("React instrumentation encountered an error: %o", err));
}
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
switch (deletedFiber.tag) {
case 26:
if (supportsResources) {
offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
deletedFiber.memoizedState ? releaseResource(deletedFiber.memoizedState) : deletedFiber.stateNode && unmountHoistable(deletedFiber.stateNode);
break;
}
case 27:
if (supportsSingletons) {
offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer;
isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false);
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
runWithFiberInDEV(deletedFiber, releaseSingletonInstance, deletedFiber.stateNode);
hostParent = prevHostParent;
hostParentIsContainer = prevHostParentIsContainer;
break;
}
case 5:
offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor);
case 6:
if (supportsMutation) {
if (prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer, hostParent = null, recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber), hostParent = prevHostParent, hostParentIsContainer = prevHostParentIsContainer, hostParent !== null)
if (hostParentIsContainer)
try {
runWithFiberInDEV(deletedFiber, removeChildFromContainer, hostParent, deletedFiber.stateNode);
} catch (error52) {
captureCommitPhaseError(deletedFiber, nearestMountedAncestor, error52);
}
else
try {
runWithFiberInDEV(deletedFiber, removeChild, hostParent, deletedFiber.stateNode);
} catch (error52) {
captureCommitPhaseError(deletedFiber, nearestMountedAncestor, error52);
}
} else
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
break;
case 18:
supportsMutation && hostParent !== null && (hostParentIsContainer ? clearSuspenseBoundaryFromContainer(hostParent, deletedFiber.stateNode) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));
break;
case 4:
supportsMutation ? (prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer, hostParent = deletedFiber.stateNode.containerInfo, hostParentIsContainer = true, recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber), hostParent = prevHostParent, hostParentIsContainer = prevHostParentIsContainer) : (supportsPersistence && commitHostPortalContainerChildren(deletedFiber.stateNode, deletedFiber, createContainerChildSet()), recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber));
break;
case 0:
case 11:
case 14:
case 15:
commitHookEffectListUnmount(Insertion, deletedFiber, nearestMountedAncestor);
offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects(deletedFiber, nearestMountedAncestor, Layout);
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
break;
case 1:
offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, typeof prevHostParent.componentWillUnmount === "function" && safelyCallComponentWillUnmount(deletedFiber, nearestMountedAncestor, prevHostParent));
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
break;
case 21:
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
break;
case 22:
offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || deletedFiber.memoizedState !== null;
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
offscreenSubtreeWasHidden = prevHostParent;
break;
default:
recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, deletedFiber);
}
(deletedFiber.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(deletedFiber, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
}
function commitActivityHydrationCallbacks(finishedRoot, finishedWork) {
if (supportsHydration && finishedWork.memoizedState === null && (finishedRoot = finishedWork.alternate, finishedRoot !== null && (finishedRoot = finishedRoot.memoizedState, finishedRoot !== null))) {
finishedRoot = finishedRoot.dehydrated;
try {
runWithFiberInDEV(finishedWork, commitHydratedActivityInstance, finishedRoot);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}
function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
if (supportsHydration && finishedWork.memoizedState === null && (finishedRoot = finishedWork.alternate, finishedRoot !== null && (finishedRoot = finishedRoot.memoizedState, finishedRoot !== null && (finishedRoot = finishedRoot.dehydrated, finishedRoot !== null))))
try {
runWithFiberInDEV(finishedWork, commitHydratedSuspenseInstance, finishedRoot);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
function getRetryCache(finishedWork) {
switch (finishedWork.tag) {
case 31:
case 13:
case 19:
var retryCache = finishedWork.stateNode;
retryCache === null && (retryCache = finishedWork.stateNode = new PossiblyWeakSet);
return retryCache;
case 22:
return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, retryCache === null && (retryCache = finishedWork._retryCache = new PossiblyWeakSet), retryCache;
default:
throw Error("Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React.");
}
}
function attachSuspenseRetryListeners(finishedWork, wakeables) {
var retryCache = getRetryCache(finishedWork);
wakeables.forEach(function(wakeable) {
if (!retryCache.has(wakeable)) {
retryCache.add(wakeable);
if (isDevToolsPresent)
if (inProgressLanes !== null && inProgressRoot !== null)
restorePendingUpdaters(inProgressRoot, inProgressLanes);
else
throw Error("Expected finished root and lanes to be set. This is a bug in React.");
var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
wakeable.then(retry, retry);
}
});
}
function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {
var deletions = parentFiber.deletions;
if (deletions !== null)
for (var i3 = 0;i3 < deletions.length; i3++) {
var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i3], prevEffectStart = pushComponentEffectStart();
if (supportsMutation) {
var parent = returnFiber;
a:
for (;parent !== null; ) {
switch (parent.tag) {
case 27:
if (supportsSingletons) {
if (isSingletonScope(parent.type)) {
hostParent = parent.stateNode;
hostParentIsContainer = false;
break a;
}
break;
}
case 5:
hostParent = parent.stateNode;
hostParentIsContainer = false;
break a;
case 3:
case 4:
hostParent = parent.stateNode.containerInfo;
hostParentIsContainer = true;
break a;
}
parent = parent.return;
}
if (hostParent === null)
throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber);
hostParent = null;
hostParentIsContainer = false;
} else
commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber);
(deletedFiber.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(deletedFiber, componentEffectStartTime, componentEffectEndTime, "Unmount");
popComponentEffectStart(prevEffectStart);
root2 = deletedFiber;
returnFiber = root2.alternate;
returnFiber !== null && (returnFiber.return = null);
root2.return = null;
}
if (parentFiber.subtreeFlags & 13886)
for (parentFiber = parentFiber.child;parentFiber !== null; )
commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling;
}
function commitMutationEffectsOnFiber(finishedWork, root2) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), current2 = finishedWork.alternate, flags = finishedWork.flags;
switch (finishedWork.tag) {
case 0:
case 11:
case 14:
case 15:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 4 && (commitHookEffectListUnmount(Insertion | HasEffect, finishedWork, finishedWork.return), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects(finishedWork, finishedWork.return, Layout | HasEffect));
break;
case 1:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 512 && (offscreenSubtreeWasHidden || current2 === null || safelyDetachRef(current2, current2.return));
flags & 64 && offscreenSubtreeIsHidden && (flags = finishedWork.updateQueue, flags !== null && (current2 = flags.callbacks, current2 !== null && (root2 = flags.shared.hiddenCallbacks, flags.shared.hiddenCallbacks = root2 === null ? current2 : root2.concat(current2))));
break;
case 26:
if (supportsResources) {
var hoistableRoot = currentHoistableRoot;
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 512 && (offscreenSubtreeWasHidden || current2 === null || safelyDetachRef(current2, current2.return));
flags & 4 && (flags = current2 !== null ? current2.memoizedState : null, root2 = finishedWork.memoizedState, current2 === null ? root2 === null ? finishedWork.stateNode === null ? finishedWork.stateNode = hydrateHoistable(hoistableRoot, finishedWork.type, finishedWork.memoizedProps, finishedWork) : mountHoistable(hoistableRoot, finishedWork.type, finishedWork.stateNode) : finishedWork.stateNode = acquireResource(hoistableRoot, root2, finishedWork.memoizedProps) : flags !== root2 ? (flags === null ? current2.stateNode !== null && unmountHoistable(current2.stateNode) : releaseResource(flags), root2 === null ? mountHoistable(hoistableRoot, finishedWork.type, finishedWork.stateNode) : acquireResource(hoistableRoot, root2, finishedWork.memoizedProps)) : root2 === null && finishedWork.stateNode !== null && commitHostUpdate(finishedWork, finishedWork.memoizedProps, current2.memoizedProps));
break;
}
case 27:
if (supportsSingletons) {
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 512 && (offscreenSubtreeWasHidden || current2 === null || safelyDetachRef(current2, current2.return));
current2 !== null && flags & 4 && commitHostUpdate(finishedWork, finishedWork.memoizedProps, current2.memoizedProps);
break;
}
case 5:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 512 && (offscreenSubtreeWasHidden || current2 === null || safelyDetachRef(current2, current2.return));
if (supportsMutation) {
if (finishedWork.flags & 32) {
root2 = finishedWork.stateNode;
try {
runWithFiberInDEV(finishedWork, resetTextContent, root2);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
flags & 4 && finishedWork.stateNode != null && (root2 = finishedWork.memoizedProps, commitHostUpdate(finishedWork, root2, current2 !== null ? current2.memoizedProps : root2));
flags & 1024 && (needsFormReset = true, finishedWork.type !== "form" && console.error("Unexpected host component type. Expected a form. This is a bug in React."));
} else
supportsPersistence && finishedWork.alternate !== null && (finishedWork.alternate.stateNode = finishedWork.stateNode);
break;
case 6:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
if (flags & 4 && supportsMutation) {
if (finishedWork.stateNode === null)
throw Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.");
flags = finishedWork.memoizedProps;
current2 = current2 !== null ? current2.memoizedProps : flags;
root2 = finishedWork.stateNode;
try {
runWithFiberInDEV(finishedWork, commitTextUpdate, root2, current2, flags);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
break;
case 3:
hoistableRoot = pushNestedEffectDurations();
if (supportsResources) {
prepareToCommitHoistables();
var previousHoistableRoot = currentHoistableRoot;
currentHoistableRoot = getHoistableRoot(root2.containerInfo);
recursivelyTraverseMutationEffects(root2, finishedWork);
currentHoistableRoot = previousHoistableRoot;
} else
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
if (flags & 4) {
if (supportsMutation && supportsHydration && current2 !== null && current2.memoizedState.isDehydrated)
try {
runWithFiberInDEV(finishedWork, commitHydratedContainer, root2.containerInfo);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
if (supportsPersistence) {
flags = root2.containerInfo;
current2 = root2.pendingChildren;
try {
runWithFiberInDEV(finishedWork, replaceContainerChildren, flags, current2);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}
needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork));
root2.effectDuration += popNestedEffectDurations(hoistableRoot);
break;
case 4:
supportsResources ? (current2 = currentHoistableRoot, currentHoistableRoot = getHoistableRoot(finishedWork.stateNode.containerInfo), recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork), currentHoistableRoot = current2) : (recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork));
flags & 4 && supportsPersistence && commitHostPortalContainerChildren(finishedWork.stateNode, finishedWork, finishedWork.stateNode.pendingChildren);
break;
case 12:
flags = pushNestedEffectDurations();
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags);
break;
case 31:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 4 && (flags = finishedWork.updateQueue, flags !== null && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
break;
case 13:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
finishedWork.child.flags & 8192 && finishedWork.memoizedState !== null !== (current2 !== null && current2.memoizedState !== null) && (globalMostRecentFallbackTime = now$1());
flags & 4 && (flags = finishedWork.updateQueue, flags !== null && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
break;
case 22:
hoistableRoot = finishedWork.memoizedState !== null;
var wasHidden = current2 !== null && current2.memoizedState !== null, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;
offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;
offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;
recursivelyTraverseMutationEffects(root2, finishedWork);
offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;
offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;
wasHidden && !hoistableRoot && !prevOffscreenSubtreeIsHidden && !prevOffscreenSubtreeWasHidden && (finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(finishedWork, componentEffectStartTime, componentEffectEndTime);
commitReconciliationEffects(finishedWork);
if (flags & 8192 && (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, !hoistableRoot || current2 === null || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || (recursivelyTraverseDisappearLayoutEffects(finishedWork), (finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(finishedWork, componentEffectStartTime, componentEffectEndTime, "Disconnect")), supportsMutation))
a:
if (current2 = null, supportsMutation)
for (root2 = finishedWork;; ) {
if (root2.tag === 5 || supportsResources && root2.tag === 26) {
if (current2 === null) {
wasHidden = current2 = root2;
try {
previousHoistableRoot = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, previousHoistableRoot) : runWithFiberInDEV(wasHidden, unhideInstance, wasHidden.stateNode, wasHidden.memoizedProps);
} catch (error52) {
captureCommitPhaseError(wasHidden, wasHidden.return, error52);
}
}
} else if (root2.tag === 6) {
if (current2 === null) {
wasHidden = root2;
try {
var instance = wasHidden.stateNode;
hoistableRoot ? runWithFiberInDEV(wasHidden, hideTextInstance, instance) : runWithFiberInDEV(wasHidden, unhideTextInstance, instance, wasHidden.memoizedProps);
} catch (error52) {
captureCommitPhaseError(wasHidden, wasHidden.return, error52);
}
}
} else if (root2.tag === 18) {
if (current2 === null) {
wasHidden = root2;
try {
var instance$jscomp$0 = wasHidden.stateNode;
hoistableRoot ? runWithFiberInDEV(wasHidden, hideDehydratedBoundary, instance$jscomp$0) : runWithFiberInDEV(wasHidden, unhideDehydratedBoundary, wasHidden.stateNode);
} catch (error52) {
captureCommitPhaseError(wasHidden, wasHidden.return, error52);
}
}
} else if ((root2.tag !== 22 && root2.tag !== 23 || root2.memoizedState === null || root2 === finishedWork) && root2.child !== null) {
root2.child.return = root2;
root2 = root2.child;
continue;
}
if (root2 === finishedWork)
break a;
for (;root2.sibling === null; ) {
if (root2.return === null || root2.return === finishedWork)
break a;
current2 === root2 && (current2 = null);
root2 = root2.return;
}
current2 === root2 && (current2 = null);
root2.sibling.return = root2.return;
root2 = root2.sibling;
}
flags & 4 && (flags = finishedWork.updateQueue, flags !== null && (current2 = flags.retryQueue, current2 !== null && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2))));
break;
case 19:
recursivelyTraverseMutationEffects(root2, finishedWork);
commitReconciliationEffects(finishedWork);
flags & 4 && (flags = finishedWork.updateQueue, flags !== null && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags)));
break;
case 30:
break;
case 21:
break;
default:
recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors), finishedWork.alternate === null && finishedWork.return !== null && finishedWork.return.alternate !== null && 0.05 < componentEffectEndTime - componentEffectStartTime && (isHydratingParent(finishedWork.return.alternate, finishedWork.return) || logComponentTrigger(finishedWork, componentEffectStartTime, componentEffectEndTime, "Mount")));
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
}
function commitReconciliationEffects(finishedWork) {
var flags = finishedWork.flags;
if (flags & 2) {
try {
runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
finishedWork.flags &= -3;
}
flags & 4096 && (finishedWork.flags &= -4097);
}
function recursivelyResetForms(parentFiber) {
if (parentFiber.subtreeFlags & 1024)
for (parentFiber = parentFiber.child;parentFiber !== null; ) {
var fiber = parentFiber;
recursivelyResetForms(fiber);
fiber.tag === 5 && fiber.flags & 1024 && resetFormInstance(fiber.stateNode);
parentFiber = parentFiber.sibling;
}
}
function recursivelyTraverseLayoutEffects(root2, parentFiber) {
if (parentFiber.subtreeFlags & 8772)
for (parentFiber = parentFiber.child;parentFiber !== null; )
commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling;
}
function disappearLayoutEffects(finishedWork) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
switch (finishedWork.tag) {
case 0:
case 11:
case 14:
case 15:
commitHookLayoutUnmountEffects(finishedWork, finishedWork.return, Layout);
recursivelyTraverseDisappearLayoutEffects(finishedWork);
break;
case 1:
safelyDetachRef(finishedWork, finishedWork.return);
var instance = finishedWork.stateNode;
typeof instance.componentWillUnmount === "function" && safelyCallComponentWillUnmount(finishedWork, finishedWork.return, instance);
recursivelyTraverseDisappearLayoutEffects(finishedWork);
break;
case 27:
supportsSingletons && runWithFiberInDEV(finishedWork, releaseSingletonInstance, finishedWork.stateNode);
case 26:
case 5:
safelyDetachRef(finishedWork, finishedWork.return);
recursivelyTraverseDisappearLayoutEffects(finishedWork);
break;
case 22:
finishedWork.memoizedState === null && recursivelyTraverseDisappearLayoutEffects(finishedWork);
break;
case 30:
recursivelyTraverseDisappearLayoutEffects(finishedWork);
break;
default:
recursivelyTraverseDisappearLayoutEffects(finishedWork);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
}
function recursivelyTraverseDisappearLayoutEffects(parentFiber) {
for (parentFiber = parentFiber.child;parentFiber !== null; )
disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling;
}
function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), flags = finishedWork.flags;
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
commitHookLayoutEffects(finishedWork, Layout);
break;
case 1:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
current2 = finishedWork.stateNode;
typeof current2.componentDidMount === "function" && runWithFiberInDEV(finishedWork, callComponentDidMountInDEV, finishedWork, current2);
current2 = finishedWork.updateQueue;
if (current2 !== null) {
finishedRoot = finishedWork.stateNode;
try {
runWithFiberInDEV(finishedWork, commitHiddenCallbacks, current2, finishedRoot);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork);
safelyAttachRef(finishedWork, finishedWork.return);
break;
case 27:
supportsSingletons && commitHostSingletonAcquisition(finishedWork);
case 26:
case 5:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
includeWorkInProgressEffects && current2 === null && flags & 4 && commitHostMount(finishedWork);
safelyAttachRef(finishedWork, finishedWork.return);
break;
case 12:
if (includeWorkInProgressEffects && flags & 4) {
flags = pushNestedEffectDurations();
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
includeWorkInProgressEffects = finishedWork.stateNode;
includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags);
try {
runWithFiberInDEV(finishedWork, commitProfiler, finishedWork, current2, commitStartTime, includeWorkInProgressEffects.effectDuration);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
} else
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
break;
case 31:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
includeWorkInProgressEffects && flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);
break;
case 13:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
break;
case 22:
finishedWork.memoizedState === null && recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
safelyAttachRef(finishedWork, finishedWork.return);
break;
case 30:
break;
default:
recursivelyTraverseReappearLayoutEffects(finishedRoot, finishedWork, includeWorkInProgressEffects);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
}
function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) {
includeWorkInProgressEffects = includeWorkInProgressEffects && (parentFiber.subtreeFlags & 8772) !== 0;
for (parentFiber = parentFiber.child;parentFiber !== null; )
reappearLayoutEffects(finishedRoot, parentFiber.alternate, parentFiber, includeWorkInProgressEffects), parentFiber = parentFiber.sibling;
}
function commitOffscreenPassiveMountEffects(current2, finishedWork) {
var previousCache = null;
current2 !== null && current2.memoizedState !== null && current2.memoizedState.cachePool !== null && (previousCache = current2.memoizedState.cachePool.pool);
current2 = null;
finishedWork.memoizedState !== null && finishedWork.memoizedState.cachePool !== null && (current2 = finishedWork.memoizedState.cachePool.pool);
current2 !== previousCache && (current2 != null && retainCache(current2), previousCache != null && releaseCache(previousCache));
}
function commitCachePassiveMountEffect(current2, finishedWork) {
current2 = null;
finishedWork.alternate !== null && (current2 = finishedWork.alternate.memoizedState.cache);
finishedWork = finishedWork.memoizedState.cache;
finishedWork !== current2 && (retainCache(finishedWork), current2 != null && releaseCache(current2));
}
function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions, endTime) {
if (parentFiber.subtreeFlags & 10256 || parentFiber.actualDuration !== 0 && (parentFiber.alternate === null || parentFiber.alternate.child !== parentFiber.child))
for (parentFiber = parentFiber.child;parentFiber !== null; ) {
var nextSibling = parentFiber.sibling;
commitPassiveMountOnFiber(root2, parentFiber, committedLanes, committedTransitions, nextSibling !== null ? nextSibling.actualStartTime : endTime);
parentFiber = nextSibling;
}
}
function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality, flags = finishedWork.flags;
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
(finishedWork.mode & 2) !== NoMode && 0 < finishedWork.actualStartTime && (finishedWork.flags & 1) !== 0 && logComponentRender(finishedWork, finishedWork.actualStartTime, endTime, inHydratedSubtree, committedLanes);
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);
break;
case 1:
(finishedWork.mode & 2) !== NoMode && 0 < finishedWork.actualStartTime && ((finishedWork.flags & 128) !== 0 ? logComponentErrored(finishedWork, finishedWork.actualStartTime, endTime, []) : (finishedWork.flags & 1) !== 0 && logComponentRender(finishedWork, finishedWork.actualStartTime, endTime, inHydratedSubtree, committedLanes));
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
break;
case 3:
var prevProfilerEffectDuration = pushNestedEffectDurations(), wasInHydratedSubtree = inHydratedSubtree;
inHydratedSubtree = finishedWork.alternate !== null && finishedWork.alternate.memoizedState.isDehydrated && (finishedWork.flags & 256) === 0;
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
inHydratedSubtree = wasInHydratedSubtree;
flags & 2048 && (committedLanes = null, finishedWork.alternate !== null && (committedLanes = finishedWork.alternate.memoizedState.cache), committedTransitions = finishedWork.memoizedState.cache, committedTransitions !== committedLanes && (retainCache(committedTransitions), committedLanes != null && releaseCache(committedLanes)));
finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevProfilerEffectDuration);
break;
case 12:
if (flags & 2048) {
flags = pushNestedEffectDurations();
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
finishedRoot = finishedWork.stateNode;
finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags);
try {
runWithFiberInDEV(finishedWork, commitProfilerPostCommitImpl, finishedWork, finishedWork.alternate, commitStartTime, finishedRoot.passiveEffectDuration);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
} else
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
break;
case 31:
flags = inHydratedSubtree;
prevProfilerEffectDuration = finishedWork.alternate !== null ? finishedWork.alternate.memoizedState : null;
wasInHydratedSubtree = finishedWork.memoizedState;
prevProfilerEffectDuration !== null && wasInHydratedSubtree === null ? (wasInHydratedSubtree = finishedWork.deletions, wasInHydratedSubtree !== null && 0 < wasInHydratedSubtree.length && wasInHydratedSubtree[0].tag === 18 ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, prevProfilerEffectDuration !== null && logComponentErrored(finishedWork, finishedWork.actualStartTime, endTime, prevProfilerEffectDuration)) : inHydratedSubtree = true) : inHydratedSubtree = false;
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
inHydratedSubtree = flags;
break;
case 13:
flags = inHydratedSubtree;
prevProfilerEffectDuration = finishedWork.alternate !== null ? finishedWork.alternate.memoizedState : null;
wasInHydratedSubtree = finishedWork.memoizedState;
prevProfilerEffectDuration === null || prevProfilerEffectDuration.dehydrated === null || wasInHydratedSubtree !== null && wasInHydratedSubtree.dehydrated !== null ? inHydratedSubtree = false : (wasInHydratedSubtree = finishedWork.deletions, wasInHydratedSubtree !== null && 0 < wasInHydratedSubtree.length && wasInHydratedSubtree[0].tag === 18 ? (inHydratedSubtree = false, prevProfilerEffectDuration = prevProfilerEffectDuration.hydrationErrors, prevProfilerEffectDuration !== null && logComponentErrored(finishedWork, finishedWork.actualStartTime, endTime, prevProfilerEffectDuration)) : inHydratedSubtree = true);
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
inHydratedSubtree = flags;
break;
case 23:
break;
case 22:
wasInHydratedSubtree = finishedWork.stateNode;
prevProfilerEffectDuration = finishedWork.alternate;
finishedWork.memoizedState !== null ? wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) : wasInHydratedSubtree._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) : (wasInHydratedSubtree._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, (finishedWork.subtreeFlags & 10256) !== 0 || finishedWork.actualDuration !== 0 && (finishedWork.alternate === null || finishedWork.alternate.child !== finishedWork.child), endTime), (finishedWork.mode & 2) === NoMode || inHydratedSubtree || (finishedRoot = finishedWork.actualStartTime, 0 <= finishedRoot && 0.05 < endTime - finishedRoot && logComponentReappeared(finishedWork, finishedRoot, endTime), 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentReappeared(finishedWork, componentEffectStartTime, componentEffectEndTime)));
flags & 2048 && commitOffscreenPassiveMountEffects(prevProfilerEffectDuration, finishedWork);
break;
case 24:
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
break;
default:
recursivelyTraversePassiveMountEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime);
}
if ((finishedWork.mode & 2) !== NoMode) {
if (finishedRoot = !inHydratedSubtree && finishedWork.alternate === null && finishedWork.return !== null && finishedWork.return.alternate !== null)
committedLanes = finishedWork.actualStartTime, 0 <= committedLanes && 0.05 < endTime - committedLanes && logComponentTrigger(finishedWork, committedLanes, endTime, "Mount");
0 <= componentEffectStartTime && 0 <= componentEffectEndTime && ((componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors), finishedRoot && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(finishedWork, componentEffectStartTime, componentEffectEndTime, "Mount"));
}
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
alreadyWarnedForDeepEquality = prevDeepEquality;
}
function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
includeWorkInProgressEffects = includeWorkInProgressEffects && ((parentFiber.subtreeFlags & 10256) !== 0 || parentFiber.actualDuration !== 0 && (parentFiber.alternate === null || parentFiber.alternate.child !== parentFiber.child));
for (parentFiber = parentFiber.child;parentFiber !== null; ) {
var nextSibling = parentFiber.sibling;
reconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects, nextSibling !== null ? nextSibling.actualStartTime : endTime);
parentFiber = nextSibling;
}
}
function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate(), prevDeepEquality = alreadyWarnedForDeepEquality;
includeWorkInProgressEffects && (finishedWork.mode & 2) !== NoMode && 0 < finishedWork.actualStartTime && (finishedWork.flags & 1) !== 0 && logComponentRender(finishedWork, finishedWork.actualStartTime, endTime, inHydratedSubtree, committedLanes);
var flags = finishedWork.flags;
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime);
commitHookPassiveMountEffects(finishedWork, Passive);
break;
case 23:
break;
case 22:
var _instance2 = finishedWork.stateNode;
finishedWork.memoizedState !== null ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime) : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, endTime) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime));
includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects(finishedWork.alternate, finishedWork);
break;
case 24:
recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime);
includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);
break;
default:
recursivelyTraverseReconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects, endTime);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectErrors = prevEffectErrors;
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
alreadyWarnedForDeepEquality = prevDeepEquality;
}
function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber, committedLanes$jscomp$0, committedTransitions$jscomp$0, endTime$jscomp$0) {
if (parentFiber.subtreeFlags & 10256 || parentFiber.actualDuration !== 0 && (parentFiber.alternate === null || parentFiber.alternate.child !== parentFiber.child))
for (var child = parentFiber.child;child !== null; ) {
parentFiber = child.sibling;
var finishedRoot = finishedRoot$jscomp$0, committedLanes = committedLanes$jscomp$0, committedTransitions = committedTransitions$jscomp$0, endTime = parentFiber !== null ? parentFiber.actualStartTime : endTime$jscomp$0, prevDeepEquality = alreadyWarnedForDeepEquality;
(child.mode & 2) !== NoMode && 0 < child.actualStartTime && (child.flags & 1) !== 0 && logComponentRender(child, child.actualStartTime, endTime, inHydratedSubtree, committedLanes);
var flags = child.flags;
switch (child.tag) {
case 22:
recursivelyTraverseAtomicPassiveEffects(finishedRoot, child, committedLanes, committedTransitions, endTime);
flags & 2048 && commitOffscreenPassiveMountEffects(child.alternate, child);
break;
case 24:
recursivelyTraverseAtomicPassiveEffects(finishedRoot, child, committedLanes, committedTransitions, endTime);
flags & 2048 && commitCachePassiveMountEffect(child.alternate, child);
break;
default:
recursivelyTraverseAtomicPassiveEffects(finishedRoot, child, committedLanes, committedTransitions, endTime);
}
alreadyWarnedForDeepEquality = prevDeepEquality;
child = parentFiber;
}
}
function recursivelyAccumulateSuspenseyCommit(parentFiber, committedLanes, suspendedState) {
if (parentFiber.subtreeFlags & suspenseyCommitFlag)
for (parentFiber = parentFiber.child;parentFiber !== null; )
accumulateSuspenseyCommitOnFiber(parentFiber, committedLanes, suspendedState), parentFiber = parentFiber.sibling;
}
function accumulateSuspenseyCommitOnFiber(fiber, committedLanes, suspendedState) {
switch (fiber.tag) {
case 26:
recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState);
if (fiber.flags & suspenseyCommitFlag)
if (fiber.memoizedState !== null)
suspendResource(suspendedState, currentHoistableRoot, fiber.memoizedState, fiber.memoizedProps);
else {
var { stateNode: instance, type } = fiber;
fiber = fiber.memoizedProps;
((committedLanes & 335544128) === committedLanes || maySuspendCommitInSyncRender(type, fiber)) && suspendInstance(suspendedState, instance, type, fiber);
}
break;
case 5:
recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState);
fiber.flags & suspenseyCommitFlag && (instance = fiber.stateNode, type = fiber.type, fiber = fiber.memoizedProps, ((committedLanes & 335544128) === committedLanes || maySuspendCommitInSyncRender(type, fiber)) && suspendInstance(suspendedState, instance, type, fiber));
break;
case 3:
case 4:
supportsResources ? (instance = currentHoistableRoot, currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo), recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState), currentHoistableRoot = instance) : recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState);
break;
case 22:
fiber.memoizedState === null && (instance = fiber.alternate, instance !== null && instance.memoizedState !== null ? (instance = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState), suspenseyCommitFlag = instance) : recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState));
break;
default:
recursivelyAccumulateSuspenseyCommit(fiber, committedLanes, suspendedState);
}
}
function detachAlternateSiblings(parentFiber) {
var previousFiber = parentFiber.alternate;
if (previousFiber !== null && (parentFiber = previousFiber.child, parentFiber !== null)) {
previousFiber.child = null;
do
previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber;
while (parentFiber !== null);
}
}
function recursivelyTraversePassiveUnmountEffects(parentFiber) {
var deletions = parentFiber.deletions;
if ((parentFiber.flags & 16) !== 0) {
if (deletions !== null)
for (var i3 = 0;i3 < deletions.length; i3++) {
var childToDelete = deletions[i3], prevEffectStart = pushComponentEffectStart();
nextEffect = childToDelete;
commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete, parentFiber);
(childToDelete.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(childToDelete, componentEffectStartTime, componentEffectEndTime, "Unmount");
popComponentEffectStart(prevEffectStart);
}
detachAlternateSiblings(parentFiber);
}
if (parentFiber.subtreeFlags & 10256)
for (parentFiber = parentFiber.child;parentFiber !== null; )
commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling;
}
function commitPassiveUnmountOnFiber(finishedWork) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
recursivelyTraversePassiveUnmountEffects(finishedWork);
finishedWork.flags & 2048 && commitHookPassiveUnmountEffects(finishedWork, finishedWork.return, Passive | HasEffect);
break;
case 3:
var prevProfilerEffectDuration = pushNestedEffectDurations();
recursivelyTraversePassiveUnmountEffects(finishedWork);
finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevProfilerEffectDuration);
break;
case 12:
prevProfilerEffectDuration = pushNestedEffectDurations();
recursivelyTraversePassiveUnmountEffects(finishedWork);
finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevProfilerEffectDuration);
break;
case 22:
prevProfilerEffectDuration = finishedWork.stateNode;
finishedWork.memoizedState !== null && prevProfilerEffectDuration._visibility & OffscreenPassiveEffectsConnected && (finishedWork.return === null || finishedWork.return.tag !== 13) ? (prevProfilerEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork), (finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(finishedWork, componentEffectStartTime, componentEffectEndTime, "Disconnect")) : recursivelyTraversePassiveUnmountEffects(finishedWork);
break;
default:
recursivelyTraversePassiveUnmountEffects(finishedWork);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
componentEffectErrors = prevEffectErrors;
}
function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {
var deletions = parentFiber.deletions;
if ((parentFiber.flags & 16) !== 0) {
if (deletions !== null)
for (var i3 = 0;i3 < deletions.length; i3++) {
var childToDelete = deletions[i3], prevEffectStart = pushComponentEffectStart();
nextEffect = childToDelete;
commitPassiveUnmountEffectsInsideOfDeletedTree_begin(childToDelete, parentFiber);
(childToDelete.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && 0.05 < componentEffectEndTime - componentEffectStartTime && logComponentTrigger(childToDelete, componentEffectStartTime, componentEffectEndTime, "Unmount");
popComponentEffectStart(prevEffectStart);
}
detachAlternateSiblings(parentFiber);
}
for (parentFiber = parentFiber.child;parentFiber !== null; )
disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling;
}
function disconnectPassiveEffect(finishedWork) {
var prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
switch (finishedWork.tag) {
case 0:
case 11:
case 15:
commitHookPassiveUnmountEffects(finishedWork, finishedWork.return, Passive);
recursivelyTraverseDisconnectPassiveEffects(finishedWork);
break;
case 22:
var instance = finishedWork.stateNode;
instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork));
break;
default:
recursivelyTraverseDisconnectPassiveEffects(finishedWork);
}
(finishedWork.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(finishedWork, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
componentEffectErrors = prevEffectErrors;
}
function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor$jscomp$0) {
for (;nextEffect !== null; ) {
var fiber = nextEffect, current2 = fiber, nearestMountedAncestor = nearestMountedAncestor$jscomp$0, prevEffectStart = pushComponentEffectStart(), prevEffectDuration = pushComponentEffectDuration(), prevEffectErrors = pushComponentEffectErrors(), prevEffectDidSpawnUpdate = pushComponentEffectDidSpawnUpdate();
switch (current2.tag) {
case 0:
case 11:
case 15:
commitHookPassiveUnmountEffects(current2, nearestMountedAncestor, Passive);
break;
case 23:
case 22:
current2.memoizedState !== null && current2.memoizedState.cachePool !== null && (nearestMountedAncestor = current2.memoizedState.cachePool.pool, nearestMountedAncestor != null && retainCache(nearestMountedAncestor));
break;
case 24:
releaseCache(current2.memoizedState.cache);
}
(current2.mode & 2) !== NoMode && 0 <= componentEffectStartTime && 0 <= componentEffectEndTime && (componentEffectSpawnedUpdate || 0.05 < componentEffectDuration) && logComponentEffect(current2, componentEffectStartTime, componentEffectEndTime, componentEffectDuration, componentEffectErrors);
popComponentEffectStart(prevEffectStart);
popComponentEffectDuration(prevEffectDuration);
componentEffectSpawnedUpdate = prevEffectDidSpawnUpdate;
componentEffectErrors = prevEffectErrors;
current2 = fiber.child;
if (current2 !== null)
current2.return = fiber, nextEffect = current2;
else
a:
for (fiber = deletedSubtreeRoot;nextEffect !== null; ) {
current2 = nextEffect;
prevEffectStart = current2.sibling;
prevEffectDuration = current2.return;
detachFiberAfterEffects(current2);
if (current2 === fiber) {
nextEffect = null;
break a;
}
if (prevEffectStart !== null) {
prevEffectStart.return = prevEffectDuration;
nextEffect = prevEffectStart;
break a;
}
nextEffect = prevEffectDuration;
}
}
}
function findFiberRootForHostRoot(hostRoot) {
var maybeFiber = getInstanceFromNode(hostRoot);
if (maybeFiber != null) {
if (typeof maybeFiber.memoizedProps["data-testname"] !== "string")
throw Error("Invalid host root specified. Should be either a React container or a node with a testname attribute.");
return maybeFiber;
}
hostRoot = findFiberRoot(hostRoot);
if (hostRoot === null)
throw Error("Could not find React container within specified host subtree.");
return hostRoot.stateNode.current;
}
function matchSelector(fiber$jscomp$0, selector) {
var tag = fiber$jscomp$0.tag;
switch (selector.$$typeof) {
case COMPONENT_TYPE:
if (fiber$jscomp$0.type === selector.value)
return true;
break;
case HAS_PSEUDO_CLASS_TYPE:
a: {
selector = selector.value;
fiber$jscomp$0 = [fiber$jscomp$0, 0];
for (tag = 0;tag < fiber$jscomp$0.length; ) {
var fiber = fiber$jscomp$0[tag++], tag$jscomp$0 = fiber.tag, selectorIndex = fiber$jscomp$0[tag++], selector$jscomp$0 = selector[selectorIndex];
if (tag$jscomp$0 !== 5 && tag$jscomp$0 !== 26 && tag$jscomp$0 !== 27 || !isHiddenSubtree(fiber)) {
for (;selector$jscomp$0 != null && matchSelector(fiber, selector$jscomp$0); )
selectorIndex++, selector$jscomp$0 = selector[selectorIndex];
if (selectorIndex === selector.length) {
selector = true;
break a;
} else
for (fiber = fiber.child;fiber !== null; )
fiber$jscomp$0.push(fiber, selectorIndex), fiber = fiber.sibling;
}
}
selector = false;
}
return selector;
case ROLE_TYPE:
if ((tag === 5 || tag === 26 || tag === 27) && matchAccessibilityRole(fiber$jscomp$0.stateNode, selector.value))
return true;
break;
case TEXT_TYPE:
if (tag === 5 || tag === 6 || tag === 26 || tag === 27) {
if (fiber$jscomp$0 = getTextContent(fiber$jscomp$0), fiber$jscomp$0 !== null && 0 <= fiber$jscomp$0.indexOf(selector.value))
return true;
}
break;
case TEST_NAME_TYPE:
if (tag === 5 || tag === 26 || tag === 27) {
if (fiber$jscomp$0 = fiber$jscomp$0.memoizedProps["data-testname"], typeof fiber$jscomp$0 === "string" && fiber$jscomp$0.toLowerCase() === selector.value.toLowerCase())
return true;
}
break;
default:
throw Error("Invalid selector type specified.");
}
return false;
}
function selectorToString(selector) {
switch (selector.$$typeof) {
case COMPONENT_TYPE:
return "<" + (getComponentNameFromType(selector.value) || "Unknown") + ">";
case HAS_PSEUDO_CLASS_TYPE:
return ":has(" + (selectorToString(selector) || "") + ")";
case ROLE_TYPE:
return '[role="' + selector.value + '"]';
case TEXT_TYPE:
return '"' + selector.value + '"';
case TEST_NAME_TYPE:
return '[data-testname="' + selector.value + '"]';
default:
throw Error("Invalid selector type specified.");
}
}
function findPaths(root2, selectors) {
var matchingFibers = [];
root2 = [root2, 0];
for (var index = 0;index < root2.length; ) {
var fiber = root2[index++], tag = fiber.tag, selectorIndex = root2[index++], selector = selectors[selectorIndex];
if (tag !== 5 && tag !== 26 && tag !== 27 || !isHiddenSubtree(fiber)) {
for (;selector != null && matchSelector(fiber, selector); )
selectorIndex++, selector = selectors[selectorIndex];
if (selectorIndex === selectors.length)
matchingFibers.push(fiber);
else
for (fiber = fiber.child;fiber !== null; )
root2.push(fiber, selectorIndex), fiber = fiber.sibling;
}
}
return matchingFibers;
}
function findAllNodes(hostRoot, selectors) {
if (!supportsTestSelectors)
throw Error("Test selector API is not supported by this renderer.");
hostRoot = findFiberRootForHostRoot(hostRoot);
hostRoot = findPaths(hostRoot, selectors);
selectors = [];
hostRoot = Array.from(hostRoot);
for (var index = 0;index < hostRoot.length; ) {
var node = hostRoot[index++], tag = node.tag;
if (tag === 5 || tag === 26 || tag === 27)
isHiddenSubtree(node) || selectors.push(node.stateNode);
else
for (node = node.child;node !== null; )
hostRoot.push(node), node = node.sibling;
}
return selectors;
}
function onCommitRoot() {
supportsTestSelectors && commitHooks.forEach(function(commitHook) {
return commitHook();
});
}
function isConcurrentActEnvironment() {
var isReactActEnvironmentGlobal = typeof IS_REACT_ACT_ENVIRONMENT !== "undefined" ? IS_REACT_ACT_ENVIRONMENT : undefined;
isReactActEnvironmentGlobal || ReactSharedInternals.actQueue === null || console.error("The current testing environment is not configured to support act(...)");
return isReactActEnvironmentGlobal;
}
function requestUpdateLane(fiber) {
if ((executionContext & RenderContext) !== NoContext && workInProgressRootRenderLanes !== 0)
return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
var transition = ReactSharedInternals.T;
return transition !== null ? (transition._updatedFibers || (transition._updatedFibers = new Set), transition._updatedFibers.add(fiber), requestTransitionLane()) : resolveUpdatePriority();
}
function requestDeferredLane() {
if (workInProgressDeferredLane === 0)
if ((workInProgressRootRenderLanes & 536870912) === 0 || isHydrating) {
var lane = nextTransitionDeferredLane;
nextTransitionDeferredLane <<= 1;
(nextTransitionDeferredLane & 3932160) === 0 && (nextTransitionDeferredLane = 262144);
workInProgressDeferredLane = lane;
} else
workInProgressDeferredLane = 536870912;
lane = suspenseHandlerStackCursor.current;
lane !== null && (lane.flags |= 32);
return workInProgressDeferredLane;
}
function scheduleUpdateOnFiber(root2, fiber, lane) {
isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates.");
isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true);
if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || root2.cancelPendingCommit !== null)
prepareFreshStack(root2, 0), markRootSuspended(root2, workInProgressRootRenderLanes, workInProgressDeferredLane, false);
markRootUpdated$1(root2, lane);
if ((executionContext & RenderContext) !== NoContext && root2 === workInProgressRoot) {
if (isRendering)
switch (fiber.tag) {
case 0:
case 11:
case 15:
root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown";
didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error("Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render", fiber, root2, root2));
break;
case 1:
didWarnAboutUpdateInRender || (console.error("Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."), didWarnAboutUpdateInRender = true);
}
} else
isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended(root2, workInProgressRootRenderLanes, workInProgressDeferredLane, false)), ensureRootIsScheduled(root2);
}
function performWorkOnRoot(root2, lanes, forceSync) {
if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
throw Error("Should not already be working.");
if (workInProgressRootRenderLanes !== 0 && workInProgress !== null) {
var yieldedFiber = workInProgress, yieldEndTime = now$1();
switch (yieldReason) {
case SuspendedOnImmediate:
case SuspendedOnData:
var startTime = yieldStartTime;
supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(console.timeStamp.bind(console, "Suspended", startTime, yieldEndTime, "Components ⚛", undefined, "primary-light")) : console.timeStamp("Suspended", startTime, yieldEndTime, "Components ⚛", undefined, "primary-light"));
break;
case SuspendedOnAction:
startTime = yieldStartTime;
supportsUserTiming && ((yieldedFiber = yieldedFiber._debugTask) ? yieldedFiber.run(console.timeStamp.bind(console, "Action", startTime, yieldEndTime, "Components ⚛", undefined, "primary-light")) : console.timeStamp("Action", startTime, yieldEndTime, "Components ⚛", undefined, "primary-light"));
break;
default:
supportsUserTiming && (yieldedFiber = yieldEndTime - yieldStartTime, 3 > yieldedFiber || console.timeStamp("Blocked", yieldStartTime, yieldEndTime, "Components ⚛", undefined, 5 > yieldedFiber ? "primary-light" : 10 > yieldedFiber ? "primary" : 100 > yieldedFiber ? "primary-dark" : "error"));
}
}
startTime = (forceSync = !forceSync && (lanes & 127) === 0 && (lanes & root2.expiredLanes) === 0 || checkIfRootIsPrerendering(root2, lanes)) ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true);
var renderWasConcurrent = forceSync;
do {
if (startTime === RootInProgress) {
workInProgressRootIsPrerendering && !forceSync && markRootSuspended(root2, lanes, 0, false);
lanes = workInProgressSuspendedReason;
yieldStartTime = now2();
yieldReason = lanes;
break;
} else {
yieldedFiber = now$1();
yieldEndTime = root2.current.alternate;
if (renderWasConcurrent && !isRenderConsistentWithExternalStores(yieldEndTime)) {
setCurrentTrackFromLanes(lanes);
yieldEndTime = renderStartTime;
startTime = yieldedFiber;
!supportsUserTiming || startTime <= yieldEndTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(console.timeStamp.bind(console, "Teared Render", yieldEndTime, startTime, currentTrack, "Scheduler ⚛", "error")) : console.timeStamp("Teared Render", yieldEndTime, startTime, currentTrack, "Scheduler ⚛", "error"));
finalizeRender(lanes, yieldedFiber);
startTime = renderRootSync(root2, lanes, false);
renderWasConcurrent = false;
continue;
}
if (startTime === RootErrored) {
renderWasConcurrent = lanes;
if (root2.errorRecoveryDisabledLanes & renderWasConcurrent)
var errorRetryLanes = 0;
else
errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = errorRetryLanes !== 0 ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0;
if (errorRetryLanes !== 0) {
setCurrentTrackFromLanes(lanes);
logErroredRenderPhase(renderStartTime, yieldedFiber, lanes, workInProgressUpdateTask);
finalizeRender(lanes, yieldedFiber);
lanes = errorRetryLanes;
a: {
yieldedFiber = root2;
startTime = renderWasConcurrent;
renderWasConcurrent = workInProgressRootConcurrentErrors;
var wasRootDehydrated = supportsHydration && yieldedFiber.current.memoizedState.isDehydrated;
wasRootDehydrated && (prepareFreshStack(yieldedFiber, errorRetryLanes).flags |= 256);
errorRetryLanes = renderRootSync(yieldedFiber, errorRetryLanes, false);
if (errorRetryLanes !== RootErrored) {
if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) {
yieldedFiber.errorRecoveryDisabledLanes |= startTime;
workInProgressRootInterleavedUpdatedLanes |= startTime;
startTime = RootSuspendedWithDelay;
break a;
}
yieldedFiber = workInProgressRootRecoverableErrors;
workInProgressRootRecoverableErrors = renderWasConcurrent;
yieldedFiber !== null && (workInProgressRootRecoverableErrors === null ? workInProgressRootRecoverableErrors = yieldedFiber : workInProgressRootRecoverableErrors.push.apply(workInProgressRootRecoverableErrors, yieldedFiber));
}
startTime = errorRetryLanes;
}
renderWasConcurrent = false;
if (startTime !== RootErrored)
continue;
else
yieldedFiber = now$1();
}
}
if (startTime === RootFatalErrored) {
setCurrentTrackFromLanes(lanes);
logErroredRenderPhase(renderStartTime, yieldedFiber, lanes, workInProgressUpdateTask);
finalizeRender(lanes, yieldedFiber);
prepareFreshStack(root2, 0);
markRootSuspended(root2, lanes, 0, true);
break;
}
a: {
forceSync = root2;
switch (startTime) {
case RootInProgress:
case RootFatalErrored:
throw Error("Root did not complete. This is a bug in React.");
case RootSuspendedWithDelay:
if ((lanes & 4194048) !== lanes)
break;
case RootSuspendedAtTheShell:
setCurrentTrackFromLanes(lanes);
logSuspendedRenderPhase(renderStartTime, yieldedFiber, lanes, workInProgressUpdateTask);
finalizeRender(lanes, yieldedFiber);
yieldEndTime = lanes;
(yieldEndTime & 127) !== 0 ? blockingSuspendedTime = yieldedFiber : (yieldEndTime & 4194048) !== 0 && (transitionSuspendedTime = yieldedFiber);
markRootSuspended(forceSync, lanes, workInProgressDeferredLane, !workInProgressRootDidSkipSuspendedSiblings);
break a;
case RootErrored:
workInProgressRootRecoverableErrors = null;
break;
case RootSuspended:
case RootCompleted:
break;
default:
throw Error("Unknown root exit status.");
}
if (ReactSharedInternals.actQueue !== null)
commitRoot(forceSync, yieldEndTime, lanes, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, workInProgressDeferredLane, workInProgressRootInterleavedUpdatedLanes, workInProgressSuspendedRetryLanes, startTime, null, null, renderStartTime, yieldedFiber);
else {
if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) {
markRootSuspended(forceSync, lanes, workInProgressDeferredLane, !workInProgressRootDidSkipSuspendedSiblings);
if (getNextLanes(forceSync, 0, true) !== 0)
break a;
pendingEffectsLanes = lanes;
forceSync.timeoutHandle = scheduleTimeout(commitRootWhenReady.bind(null, forceSync, yieldEndTime, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, lanes, workInProgressDeferredLane, workInProgressRootInterleavedUpdatedLanes, workInProgressSuspendedRetryLanes, workInProgressRootDidSkipSuspendedSiblings, startTime, "Throttled", renderStartTime, yieldedFiber), renderWasConcurrent);
break a;
}
commitRootWhenReady(forceSync, yieldEndTime, workInProgressRootRecoverableErrors, workInProgressTransitions, workInProgressRootDidIncludeRecursiveRenderUpdate, lanes, workInProgressDeferredLane, workInProgressRootInterleavedUpdatedLanes, workInProgressSuspendedRetryLanes, workInProgressRootDidSkipSuspendedSiblings, startTime, null, renderStartTime, yieldedFiber);
}
}
}
break;
} while (1);
ensureRootIsScheduled(root2);
}
function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
root2.timeoutHandle = noTimeout;
var subtreeFlags = finishedWork.subtreeFlags, suspendedState = null;
if (subtreeFlags & 8192 || (subtreeFlags & 16785408) === 16785408) {
if (suspendedState = startSuspendingCommit(), accumulateSuspenseyCommitOnFiber(finishedWork, lanes, suspendedState), subtreeFlags = (lanes & 62914560) === lanes ? globalMostRecentFallbackTime - now$1() : (lanes & 4194048) === lanes ? globalMostRecentTransitionTime - now$1() : 0, subtreeFlags = waitForCommitToBeReady(suspendedState, subtreeFlags), subtreeFlags !== null) {
pendingEffectsLanes = lanes;
root2.cancelPendingCommit = subtreeFlags(commitRoot.bind(null, root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, exitStatus, suspendedState, getSuspendedCommitReason(suspendedState, root2.containerInfo), completedRenderStartTime, completedRenderEndTime));
markRootSuspended(root2, lanes, spawnedLane, !didSkipSuspendedSiblings);
return;
}
}
commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, exitStatus, suspendedState, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime);
}
function isRenderConsistentWithExternalStores(finishedWork) {
for (var node = finishedWork;; ) {
var tag = node.tag;
if ((tag === 0 || tag === 11 || tag === 15) && node.flags & 16384 && (tag = node.updateQueue, tag !== null && (tag = tag.stores, tag !== null)))
for (var i3 = 0;i3 < tag.length; i3++) {
var check3 = tag[i3], getSnapshot = check3.getSnapshot;
check3 = check3.value;
try {
if (!objectIs(getSnapshot(), check3))
return false;
} catch (error52) {
return false;
}
}
tag = node.child;
if (node.subtreeFlags & 16384 && tag !== null)
tag.return = node, node = tag;
else {
if (node === finishedWork)
break;
for (;node.sibling === null; ) {
if (node.return === null || node.return === finishedWork)
return true;
node = node.return;
}
node.sibling.return = node.return;
node = node.sibling;
}
}
return true;
}
function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) {
suspendedLanes &= ~workInProgressRootPingedLanes;
suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;
root2.suspendedLanes |= suspendedLanes;
root2.pingedLanes &= ~suspendedLanes;
didAttemptEntireTree && (root2.warmLanes |= suspendedLanes);
didAttemptEntireTree = root2.expirationTimes;
for (var lanes = suspendedLanes;0 < lanes; ) {
var index = 31 - clz32(lanes), lane = 1 << index;
didAttemptEntireTree[index] = -1;
lanes &= ~lane;
}
spawnedLane !== 0 && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes);
}
function flushSyncWork() {
return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true;
}
function isAlreadyRendering() {
return (executionContext & (RenderContext | CommitContext)) !== NoContext;
}
function resetWorkInProgressStack() {
if (workInProgress !== null) {
if (workInProgressSuspendedReason === NotSuspended)
var interruptedWork = workInProgress.return;
else
interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState$1 = null, thenableIndexCounter$1 = 0, interruptedWork = workInProgress;
for (;interruptedWork !== null; )
unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return;
workInProgress = null;
}
}
function finalizeRender(lanes, finalizationTime) {
(lanes & 127) !== 0 && (blockingClampTime = finalizationTime);
(lanes & 4194048) !== 0 && (transitionClampTime = finalizationTime);
}
function prepareFreshStack(root2, lanes) {
supportsUserTiming && (console.timeStamp("Blocking Track", 0.003, 0.003, "Blocking", "Scheduler ⚛", "primary-light"), console.timeStamp("Transition Track", 0.003, 0.003, "Transition", "Scheduler ⚛", "primary-light"), console.timeStamp("Suspense Track", 0.003, 0.003, "Suspense", "Scheduler ⚛", "primary-light"), console.timeStamp("Idle Track", 0.003, 0.003, "Idle", "Scheduler ⚛", "primary-light"));
var previousRenderStartTime = renderStartTime;
renderStartTime = now2();
if (workInProgressRootRenderLanes !== 0 && 0 < previousRenderStartTime) {
setCurrentTrackFromLanes(workInProgressRootRenderLanes);
if (workInProgressRootExitStatus === RootSuspended || workInProgressRootExitStatus === RootSuspendedWithDelay)
logSuspendedRenderPhase(previousRenderStartTime, renderStartTime, lanes, workInProgressUpdateTask);
else {
var endTime = renderStartTime, debugTask = workInProgressUpdateTask;
if (supportsUserTiming && !(endTime <= previousRenderStartTime)) {
var color = (lanes & 738197653) === lanes ? "tertiary-dark" : "primary-dark", label = (lanes & 536870912) === lanes ? "Prewarm" : (lanes & 201326741) === lanes ? "Interrupted Hydration" : "Interrupted Render";
debugTask ? debugTask.run(console.timeStamp.bind(console, label, previousRenderStartTime, endTime, currentTrack, "Scheduler ⚛", color)) : console.timeStamp(label, previousRenderStartTime, endTime, currentTrack, "Scheduler ⚛", color);
}
}
finalizeRender(workInProgressRootRenderLanes, renderStartTime);
}
previousRenderStartTime = workInProgressUpdateTask;
workInProgressUpdateTask = null;
if ((lanes & 127) !== 0) {
workInProgressUpdateTask = blockingUpdateTask;
debugTask = 0 <= blockingUpdateTime && blockingUpdateTime < blockingClampTime ? blockingClampTime : blockingUpdateTime;
endTime = 0 <= blockingEventTime && blockingEventTime < blockingClampTime ? blockingClampTime : blockingEventTime;
color = 0 <= endTime ? endTime : 0 <= debugTask ? debugTask : renderStartTime;
0 <= blockingSuspendedTime && (setCurrentTrackFromLanes(2), logSuspendedWithDelayPhase(blockingSuspendedTime, color, lanes, previousRenderStartTime));
previousRenderStartTime = debugTask;
var eventTime = endTime, eventType = blockingEventType, eventIsRepeat = 0 < blockingEventRepeatTime, isSpawnedUpdate = blockingUpdateType === 1, isPingedUpdate = blockingUpdateType === 2;
debugTask = renderStartTime;
endTime = blockingUpdateTask;
color = blockingUpdateMethodName;
label = blockingUpdateComponentName;
if (supportsUserTiming) {
currentTrack = "Blocking";
0 < previousRenderStartTime ? previousRenderStartTime > debugTask && (previousRenderStartTime = debugTask) : previousRenderStartTime = debugTask;
0 < eventTime ? eventTime > previousRenderStartTime && (eventTime = previousRenderStartTime) : eventTime = previousRenderStartTime;
if (eventType !== null && previousRenderStartTime > eventTime) {
var color$jscomp$0 = eventIsRepeat ? "secondary-light" : "warning";
endTime ? endTime.run(console.timeStamp.bind(console, eventIsRepeat ? "Consecutive" : "Event: " + eventType, eventTime, previousRenderStartTime, currentTrack, "Scheduler ⚛", color$jscomp$0)) : console.timeStamp(eventIsRepeat ? "Consecutive" : "Event: " + eventType, eventTime, previousRenderStartTime, currentTrack, "Scheduler ⚛", color$jscomp$0);
}
debugTask > previousRenderStartTime && (eventTime = isSpawnedUpdate ? "error" : (lanes & 738197653) === lanes ? "tertiary-light" : "primary-light", isSpawnedUpdate = isPingedUpdate ? "Promise Resolved" : isSpawnedUpdate ? "Cascading Update" : 5 < debugTask - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], label != null && isPingedUpdate.push(["Component name", label]), color != null && isPingedUpdate.push(["Method name", color]), previousRenderStartTime = {
start: previousRenderStartTime,
end: debugTask,
detail: {
devtools: {
properties: isPingedUpdate,
track: currentTrack,
trackGroup: "Scheduler ⚛",
color: eventTime
}
}
}, endTime ? endTime.run(performance.measure.bind(performance, isSpawnedUpdate, previousRenderStartTime)) : performance.measure(isSpawnedUpdate, previousRenderStartTime));
}
blockingUpdateTime = -1.1;
blockingUpdateType = 0;
blockingUpdateComponentName = blockingUpdateMethodName = null;
blockingSuspendedTime = -1.1;
blockingEventRepeatTime = blockingEventTime;
blockingEventTime = -1.1;
blockingClampTime = now2();
}
(lanes & 4194048) !== 0 && (workInProgressUpdateTask = transitionUpdateTask, debugTask = 0 <= transitionStartTime && transitionStartTime < transitionClampTime ? transitionClampTime : transitionStartTime, previousRenderStartTime = 0 <= transitionUpdateTime && transitionUpdateTime < transitionClampTime ? transitionClampTime : transitionUpdateTime, endTime = 0 <= transitionEventTime && transitionEventTime < transitionClampTime ? transitionClampTime : transitionEventTime, color = 0 <= endTime ? endTime : 0 <= previousRenderStartTime ? previousRenderStartTime : renderStartTime, 0 <= transitionSuspendedTime && (setCurrentTrackFromLanes(256), logSuspendedWithDelayPhase(transitionSuspendedTime, color, lanes, workInProgressUpdateTask)), isPingedUpdate = endTime, eventTime = transitionEventType, eventType = 0 < transitionEventRepeatTime, eventIsRepeat = transitionUpdateType === 2, color = renderStartTime, endTime = transitionUpdateTask, label = transitionUpdateMethodName, isSpawnedUpdate = transitionUpdateComponentName, supportsUserTiming && (currentTrack = "Transition", 0 < previousRenderStartTime ? previousRenderStartTime > color && (previousRenderStartTime = color) : previousRenderStartTime = color, 0 < debugTask ? debugTask > previousRenderStartTime && (debugTask = previousRenderStartTime) : debugTask = previousRenderStartTime, 0 < isPingedUpdate ? isPingedUpdate > debugTask && (isPingedUpdate = debugTask) : isPingedUpdate = debugTask, debugTask > isPingedUpdate && eventTime !== null && (color$jscomp$0 = eventType ? "secondary-light" : "warning", endTime ? endTime.run(console.timeStamp.bind(console, eventType ? "Consecutive" : "Event: " + eventTime, isPingedUpdate, debugTask, currentTrack, "Scheduler ⚛", color$jscomp$0)) : console.timeStamp(eventType ? "Consecutive" : "Event: " + eventTime, isPingedUpdate, debugTask, currentTrack, "Scheduler ⚛", color$jscomp$0)), previousRenderStartTime > debugTask && (endTime ? endTime.run(console.timeStamp.bind(console, "Action", debugTask, previousRenderStartTime, currentTrack, "Scheduler ⚛", "primary-dark")) : console.timeStamp("Action", debugTask, previousRenderStartTime, currentTrack, "Scheduler ⚛", "primary-dark")), color > previousRenderStartTime && (debugTask = eventIsRepeat ? "Promise Resolved" : 5 < color - previousRenderStartTime ? "Update Blocked" : "Update", isPingedUpdate = [], isSpawnedUpdate != null && isPingedUpdate.push(["Component name", isSpawnedUpdate]), label != null && isPingedUpdate.push(["Method name", label]), previousRenderStartTime = {
start: previousRenderStartTime,
end: color,
detail: {
devtools: {
properties: isPingedUpdate,
track: currentTrack,
trackGroup: "Scheduler ⚛",
color: "primary-light"
}
}
}, endTime ? endTime.run(performance.measure.bind(performance, debugTask, previousRenderStartTime)) : performance.measure(debugTask, previousRenderStartTime))), transitionUpdateTime = transitionStartTime = -1.1, transitionUpdateType = 0, transitionSuspendedTime = -1.1, transitionEventRepeatTime = transitionEventTime, transitionEventTime = -1.1, transitionClampTime = now2());
previousRenderStartTime = root2.timeoutHandle;
previousRenderStartTime !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(previousRenderStartTime));
previousRenderStartTime = root2.cancelPendingCommit;
previousRenderStartTime !== null && (root2.cancelPendingCommit = null, previousRenderStartTime());
pendingEffectsLanes = 0;
resetWorkInProgressStack();
workInProgressRoot = root2;
workInProgress = previousRenderStartTime = createWorkInProgress(root2.current, null);
workInProgressRootRenderLanes = lanes;
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
workInProgressRootDidSkipSuspendedSiblings = false;
workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes);
workInProgressRootDidAttachPingListener = false;
workInProgressRootExitStatus = RootInProgress;
workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0;
workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null;
workInProgressRootDidIncludeRecursiveRenderUpdate = false;
(lanes & 8) !== 0 && (lanes |= lanes & 32);
endTime = root2.entangledLanes;
if (endTime !== 0)
for (root2 = root2.entanglements, endTime &= lanes;0 < endTime; )
debugTask = 31 - clz32(endTime), color = 1 << debugTask, lanes |= root2[debugTask], endTime &= ~color;
entangledRenderLanes = lanes;
finishQueueingConcurrentUpdates();
root2 = getCurrentTime();
1000 < root2 - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = root2);
ReactStrictModeWarnings.discardPendingWarnings();
return previousRenderStartTime;
}
function handleThrow(root2, thrownValue) {
currentlyRenderingFiber = null;
ReactSharedInternals.H = ContextOnlyDispatcher;
ReactSharedInternals.getCurrentStack = null;
isRendering = false;
current = null;
thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : thrownValue !== null && typeof thrownValue === "object" && typeof thrownValue.then === "function" ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError;
workInProgressThrownValue = thrownValue;
var erroredWork = workInProgress;
erroredWork === null ? (workInProgressRootExitStatus = RootFatalErrored, logUncaughtError(root2, createCapturedValueAtFiber(thrownValue, root2.current))) : erroredWork.mode & 2 && stopProfilerTimerIfRunningAndRecordDuration(erroredWork);
}
function shouldRemainOnPreviousScreen() {
var handler = suspenseHandlerStackCursor.current;
return handler === null ? true : (workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? shellBoundary === null ? true : false : (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes || (workInProgressRootRenderLanes & 536870912) !== 0 ? handler === shellBoundary : false;
}
function pushDispatcher() {
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = ContextOnlyDispatcher;
return prevDispatcher === null ? ContextOnlyDispatcher : prevDispatcher;
}
function pushAsyncDispatcher() {
var prevAsyncDispatcher = ReactSharedInternals.A;
ReactSharedInternals.A = DefaultAsyncDispatcher;
return prevAsyncDispatcher;
}
function markRenderDerivedCause(fiber) {
workInProgressUpdateTask === null && (workInProgressUpdateTask = fiber._debugTask == null ? null : fiber._debugTask);
}
function renderDidSuspendDelayIfPossible() {
workInProgressRootExitStatus = RootSuspendedWithDelay;
workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && suspenseHandlerStackCursor.current !== null || (workInProgressRootIsPrerendering = true);
(workInProgressRootSkippedLanes & 134217727) === 0 && (workInProgressRootInterleavedUpdatedLanes & 134217727) === 0 || workInProgressRoot === null || markRootSuspended(workInProgressRoot, workInProgressRootRenderLanes, workInProgressDeferredLane, false);
}
function renderRootSync(root2, lanes, shouldYieldForPrerendering) {
var prevExecutionContext = executionContext;
executionContext |= RenderContext;
var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
if (isDevToolsPresent) {
var memoizedUpdaters = root2.memoizedUpdaters;
0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
movePendingFibersToMemoized(root2, lanes);
}
workInProgressTransitions = null;
prepareFreshStack(root2, lanes);
}
lanes = false;
memoizedUpdaters = workInProgressRootExitStatus;
a:
do
try {
if (workInProgressSuspendedReason !== NotSuspended && workInProgress !== null) {
var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue;
switch (workInProgressSuspendedReason) {
case SuspendedOnHydration:
resetWorkInProgressStack();
memoizedUpdaters = RootSuspendedAtTheShell;
break a;
case SuspendedOnImmediate:
case SuspendedOnData:
case SuspendedOnAction:
case SuspendedOnDeprecatedThrowPromise:
suspenseHandlerStackCursor.current === null && (lanes = true);
var reason = workInProgressSuspendedReason;
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) {
memoizedUpdaters = RootInProgress;
break a;
}
break;
default:
reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason);
}
}
workLoopSync();
memoizedUpdaters = workInProgressRootExitStatus;
break;
} catch (thrownValue$4) {
handleThrow(root2, thrownValue$4);
}
while (1);
lanes && root2.shellSuspendCounter++;
resetContextDependencies();
executionContext = prevExecutionContext;
ReactSharedInternals.H = prevDispatcher;
ReactSharedInternals.A = prevAsyncDispatcher;
workInProgress === null && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates());
return memoizedUpdaters;
}
function workLoopSync() {
for (;workInProgress !== null; )
performUnitOfWork(workInProgress);
}
function renderRootConcurrent(root2, lanes) {
var prevExecutionContext = executionContext;
executionContext |= RenderContext;
var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher();
if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) {
if (isDevToolsPresent) {
var memoizedUpdaters = root2.memoizedUpdaters;
0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear());
movePendingFibersToMemoized(root2, lanes);
}
workInProgressTransitions = null;
workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;
prepareFreshStack(root2, lanes);
} else
workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes);
a:
do
try {
if (workInProgressSuspendedReason !== NotSuspended && workInProgress !== null)
b:
switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) {
case SuspendedOnError:
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
throwAndUnwindWorkLoop(root2, lanes, memoizedUpdaters, SuspendedOnError);
break;
case SuspendedOnData:
case SuspendedOnAction:
if (isThenableResolved(memoizedUpdaters)) {
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
replaySuspendedUnitOfWork(lanes);
break;
}
lanes = function() {
workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue);
ensureRootIsScheduled(root2);
};
memoizedUpdaters.then(lanes, lanes);
break a;
case SuspendedOnImmediate:
workInProgressSuspendedReason = SuspendedAndReadyToContinue;
break a;
case SuspendedOnInstance:
workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue;
break a;
case SuspendedAndReadyToContinue:
isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, lanes, memoizedUpdaters, SuspendedAndReadyToContinue));
break;
case SuspendedOnInstanceAndReadyToContinue:
var resource = null;
switch (workInProgress.tag) {
case 26:
resource = workInProgress.memoizedState;
case 5:
case 27:
var hostFiber = workInProgress, type = hostFiber.type, props = hostFiber.pendingProps;
if (resource ? preloadResource(resource) : preloadInstance(hostFiber.stateNode, type, props)) {
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
var sibling = hostFiber.sibling;
if (sibling !== null)
workInProgress = sibling;
else {
var returnFiber = hostFiber.return;
returnFiber !== null ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null;
}
break b;
}
break;
default:
console.error("Unexpected type of fiber triggered a suspensey commit. This is a bug in React.");
}
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
throwAndUnwindWorkLoop(root2, lanes, memoizedUpdaters, SuspendedOnInstanceAndReadyToContinue);
break;
case SuspendedOnDeprecatedThrowPromise:
workInProgressSuspendedReason = NotSuspended;
workInProgressThrownValue = null;
throwAndUnwindWorkLoop(root2, lanes, memoizedUpdaters, SuspendedOnDeprecatedThrowPromise);
break;
case SuspendedOnHydration:
resetWorkInProgressStack();
workInProgressRootExitStatus = RootSuspendedAtTheShell;
break a;
default:
throw Error("Unexpected SuspendedReason. This is a bug in React.");
}
ReactSharedInternals.actQueue !== null ? workLoopSync() : workLoopConcurrentByScheduler();
break;
} catch (thrownValue$5) {
handleThrow(root2, thrownValue$5);
}
while (1);
resetContextDependencies();
ReactSharedInternals.H = prevDispatcher;
ReactSharedInternals.A = prevAsyncDispatcher;
executionContext = prevExecutionContext;
if (workInProgress !== null)
return RootInProgress;
workInProgressRoot = null;
workInProgressRootRenderLanes = 0;
finishQueueingConcurrentUpdates();
return workInProgressRootExitStatus;
}
function workLoopConcurrentByScheduler() {
for (;workInProgress !== null && !shouldYield(); )
performUnitOfWork(workInProgress);
}
function performUnitOfWork(unitOfWork) {
var current2 = unitOfWork.alternate;
(unitOfWork.mode & 2) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV(unitOfWork, beginWork, current2, unitOfWork, entangledRenderLanes), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV(unitOfWork, beginWork, current2, unitOfWork, entangledRenderLanes);
unitOfWork.memoizedProps = unitOfWork.pendingProps;
current2 === null ? completeUnitOfWork(unitOfWork) : workInProgress = current2;
}
function replaySuspendedUnitOfWork(unitOfWork) {
var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);
unitOfWork.memoizedProps = unitOfWork.pendingProps;
next === null ? completeUnitOfWork(unitOfWork) : workInProgress = next;
}
function replayBeginWork(unitOfWork) {
var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & 2) !== NoMode;
isProfilingMode && startProfilerTimer(unitOfWork);
switch (unitOfWork.tag) {
case 15:
case 0:
current2 = replayFunctionComponent(current2, unitOfWork, unitOfWork.pendingProps, unitOfWork.type, undefined, workInProgressRootRenderLanes);
break;
case 11:
current2 = replayFunctionComponent(current2, unitOfWork, unitOfWork.pendingProps, unitOfWork.type.render, unitOfWork.ref, workInProgressRootRenderLanes);
break;
case 5:
resetHooksOnUnwind(unitOfWork);
default:
unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes);
}
isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);
return current2;
}
function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) {
resetContextDependencies();
resetHooksOnUnwind(unitOfWork);
thenableState$1 = null;
thenableIndexCounter$1 = 0;
var returnFiber = unitOfWork.return;
try {
if (throwException(root2, returnFiber, unitOfWork, thrownValue, workInProgressRootRenderLanes)) {
workInProgressRootExitStatus = RootFatalErrored;
logUncaughtError(root2, createCapturedValueAtFiber(thrownValue, root2.current));
workInProgress = null;
return;
}
} catch (error52) {
if (returnFiber !== null)
throw workInProgress = returnFiber, error52;
workInProgressRootExitStatus = RootFatalErrored;
logUncaughtError(root2, createCapturedValueAtFiber(thrownValue, root2.current));
workInProgress = null;
return;
}
if (unitOfWork.flags & 32768) {
if (isHydrating || suspendedReason === SuspendedOnError)
root2 = true;
else if (workInProgressRootIsPrerendering || (workInProgressRootRenderLanes & 536870912) !== 0)
root2 = false;
else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise)
suspendedReason = suspenseHandlerStackCursor.current, suspendedReason !== null && suspendedReason.tag === 13 && (suspendedReason.flags |= 16384);
unwindUnitOfWork(unitOfWork, root2);
} else
completeUnitOfWork(unitOfWork);
}
function completeUnitOfWork(unitOfWork) {
var completedWork = unitOfWork;
do {
if ((completedWork.flags & 32768) !== 0) {
unwindUnitOfWork(completedWork, workInProgressRootDidSkipSuspendedSiblings);
return;
}
var current2 = completedWork.alternate;
unitOfWork = completedWork.return;
startProfilerTimer(completedWork);
current2 = runWithFiberInDEV(completedWork, completeWork, current2, completedWork, entangledRenderLanes);
(completedWork.mode & 2) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);
if (current2 !== null) {
workInProgress = current2;
return;
}
completedWork = completedWork.sibling;
if (completedWork !== null) {
workInProgress = completedWork;
return;
}
workInProgress = completedWork = unitOfWork;
} while (completedWork !== null);
workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted);
}
function unwindUnitOfWork(unitOfWork, skipSiblings) {
do {
var next = unwindWork(unitOfWork.alternate, unitOfWork);
if (next !== null) {
next.flags &= 32767;
workInProgress = next;
return;
}
if ((unitOfWork.mode & 2) !== NoMode) {
stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);
next = unitOfWork.actualDuration;
for (var child = unitOfWork.child;child !== null; )
next += child.actualDuration, child = child.sibling;
unitOfWork.actualDuration = next;
}
next = unitOfWork.return;
next !== null && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null);
if (!skipSiblings && (unitOfWork = unitOfWork.sibling, unitOfWork !== null)) {
workInProgress = unitOfWork;
return;
}
workInProgress = unitOfWork = next;
} while (unitOfWork !== null);
workInProgressRootExitStatus = RootSuspendedAtTheShell;
workInProgress = null;
}
function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes, exitStatus, suspendedState, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) {
root2.cancelPendingCommit = null;
do
flushPendingEffects();
while (pendingEffectsStatus !== NO_PENDING_EFFECTS);
ReactStrictModeWarnings.flushLegacyContextWarning();
ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
throw Error("Should not already be working.");
setCurrentTrackFromLanes(lanes);
exitStatus === RootErrored ? logErroredRenderPhase(completedRenderStartTime, completedRenderEndTime, lanes, workInProgressUpdateTask) : recoverableErrors !== null ? logRecoveredRenderPhase(completedRenderStartTime, completedRenderEndTime, lanes, recoverableErrors, finishedWork !== null && finishedWork.alternate !== null && finishedWork.alternate.memoizedState.isDehydrated && (finishedWork.flags & 256) !== 0, workInProgressUpdateTask) : logRenderPhase(completedRenderStartTime, completedRenderEndTime, lanes, workInProgressUpdateTask);
if (finishedWork !== null) {
lanes === 0 && console.error("finishedLanes should not be empty during a commit. This is a bug in React.");
if (finishedWork === root2.current)
throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");
didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;
didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;
markRootFinished(root2, lanes, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes);
root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
pendingFinishedWork = finishedWork;
pendingEffectsRoot = root2;
pendingEffectsLanes = lanes;
pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;
pendingPassiveTransitions = transitions;
pendingRecoverableErrors = recoverableErrors;
pendingEffectsRenderEndTime = completedRenderEndTime;
pendingSuspendedCommitReason = suspendedCommitReason;
pendingDelayedCommitReason = IMMEDIATE_COMMIT;
pendingSuspendedViewTransitionReason = null;
finishedWork.actualDuration !== 0 || (finishedWork.subtreeFlags & 10256) !== 0 || (finishedWork.flags & 10256) !== 0 ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback(NormalPriority$1, function() {
trackSchedulerEvent();
pendingDelayedCommitReason === IMMEDIATE_COMMIT && (pendingDelayedCommitReason = DELAYED_PASSIVE_COMMIT);
flushPassiveEffects();
return null;
})) : (root2.callbackNode = null, root2.callbackPriority = 0);
commitErrors = null;
commitStartTime = now2();
suspendedCommitReason !== null && logSuspendedCommitPhase(completedRenderEndTime, commitStartTime, suspendedCommitReason, workInProgressUpdateTask);
recoverableErrors = (finishedWork.flags & 13878) !== 0;
if ((finishedWork.subtreeFlags & 13878) !== 0 || recoverableErrors) {
recoverableErrors = ReactSharedInternals.T;
ReactSharedInternals.T = null;
transitions = getCurrentUpdatePriority();
setCurrentUpdatePriority(2);
spawnedLane = executionContext;
executionContext |= CommitContext;
try {
commitBeforeMutationEffects(root2, finishedWork, lanes);
} finally {
executionContext = spawnedLane, setCurrentUpdatePriority(transitions), ReactSharedInternals.T = recoverableErrors;
}
}
pendingEffectsStatus = PENDING_MUTATION_PHASE;
flushMutationEffects();
flushLayoutEffects();
flushSpawnedWork();
}
}
function flushMutationEffects() {
if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {
pendingEffectsStatus = NO_PENDING_EFFECTS;
var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = (finishedWork.flags & 13878) !== 0;
if ((finishedWork.subtreeFlags & 13878) !== 0 || rootMutationHasEffect) {
rootMutationHasEffect = ReactSharedInternals.T;
ReactSharedInternals.T = null;
var previousPriority = getCurrentUpdatePriority();
setCurrentUpdatePriority(2);
var prevExecutionContext = executionContext;
executionContext |= CommitContext;
try {
inProgressLanes = lanes, inProgressRoot = root2, resetComponentEffectTimers(), commitMutationEffectsOnFiber(finishedWork, root2), inProgressRoot = inProgressLanes = null, resetAfterCommit(root2.containerInfo);
} finally {
executionContext = prevExecutionContext, setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = rootMutationHasEffect;
}
}
root2.current = finishedWork;
pendingEffectsStatus = PENDING_LAYOUT_PHASE;
}
}
function flushLayoutEffects() {
if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {
pendingEffectsStatus = NO_PENDING_EFFECTS;
var suspendedViewTransitionReason = pendingSuspendedViewTransitionReason;
if (suspendedViewTransitionReason !== null) {
commitStartTime = now2();
var startTime = commitEndTime, endTime = commitStartTime;
!supportsUserTiming || endTime <= startTime || (animatingTask ? animatingTask.run(console.timeStamp.bind(console, suspendedViewTransitionReason, startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light")) : console.timeStamp(suspendedViewTransitionReason, startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light"));
}
suspendedViewTransitionReason = pendingEffectsRoot;
startTime = pendingFinishedWork;
endTime = pendingEffectsLanes;
var rootHasLayoutEffect = (startTime.flags & 8772) !== 0;
if ((startTime.subtreeFlags & 8772) !== 0 || rootHasLayoutEffect) {
rootHasLayoutEffect = ReactSharedInternals.T;
ReactSharedInternals.T = null;
var _previousPriority = getCurrentUpdatePriority();
setCurrentUpdatePriority(2);
var _prevExecutionContext = executionContext;
executionContext |= CommitContext;
try {
inProgressLanes = endTime, inProgressRoot = suspendedViewTransitionReason, resetComponentEffectTimers(), commitLayoutEffectOnFiber(suspendedViewTransitionReason, startTime.alternate, startTime), inProgressRoot = inProgressLanes = null;
} finally {
executionContext = _prevExecutionContext, setCurrentUpdatePriority(_previousPriority), ReactSharedInternals.T = rootHasLayoutEffect;
}
}
suspendedViewTransitionReason = pendingEffectsRenderEndTime;
startTime = pendingSuspendedCommitReason;
commitEndTime = now2();
suspendedViewTransitionReason = startTime === null ? suspendedViewTransitionReason : commitStartTime;
startTime = commitEndTime;
endTime = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
rootHasLayoutEffect = workInProgressUpdateTask;
commitErrors !== null ? logCommitErrored(suspendedViewTransitionReason, startTime, commitErrors, false, rootHasLayoutEffect) : !supportsUserTiming || startTime <= suspendedViewTransitionReason || (rootHasLayoutEffect ? rootHasLayoutEffect.run(console.timeStamp.bind(console, endTime ? "Commit Interrupted View Transition" : "Commit", suspendedViewTransitionReason, startTime, currentTrack, "Scheduler ⚛", endTime ? "error" : "secondary-dark")) : console.timeStamp(endTime ? "Commit Interrupted View Transition" : "Commit", suspendedViewTransitionReason, startTime, currentTrack, "Scheduler ⚛", endTime ? "error" : "secondary-dark"));
pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;
}
}
function flushSpawnedWork() {
if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) {
if (pendingEffectsStatus === PENDING_SPAWNED_WORK) {
var startViewTransitionStartTime = commitEndTime;
commitEndTime = now2();
var endTime = commitEndTime, abortedViewTransition = pendingDelayedCommitReason === ABORTED_VIEW_TRANSITION_COMMIT;
!supportsUserTiming || endTime <= startViewTransitionStartTime || (animatingTask ? animatingTask.run(console.timeStamp.bind(console, abortedViewTransition ? "Interrupted View Transition" : "Starting Animation", startViewTransitionStartTime, endTime, currentTrack, "Scheduler ⚛", abortedViewTransition ? "error" : "secondary-light")) : console.timeStamp(abortedViewTransition ? "Interrupted View Transition" : "Starting Animation", startViewTransitionStartTime, endTime, currentTrack, "Scheduler ⚛", abortedViewTransition ? " error" : "secondary-light"));
pendingDelayedCommitReason !== ABORTED_VIEW_TRANSITION_COMMIT && (pendingDelayedCommitReason = ANIMATION_STARTED_COMMIT);
}
pendingEffectsStatus = NO_PENDING_EFFECTS;
requestPaint();
startViewTransitionStartTime = pendingEffectsRoot;
var finishedWork = pendingFinishedWork;
endTime = pendingEffectsLanes;
abortedViewTransition = pendingRecoverableErrors;
var rootDidHavePassiveEffects = finishedWork.actualDuration !== 0 || (finishedWork.subtreeFlags & 10256) !== 0 || (finishedWork.flags & 10256) !== 0;
rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(startViewTransitionStartTime, startViewTransitionStartTime.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null);
var remainingLanes = startViewTransitionStartTime.pendingLanes;
remainingLanes === 0 && (legacyErrorBoundariesThatAlreadyFailed = null);
rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(startViewTransitionStartTime);
remainingLanes = lanesToEventPriority(endTime);
finishedWork = finishedWork.stateNode;
if (injectedHook && typeof injectedHook.onCommitFiberRoot === "function")
try {
var didError = (finishedWork.current.flags & 128) === 128;
switch (remainingLanes) {
case 2:
var schedulerPriority = ImmediatePriority;
break;
case 8:
schedulerPriority = UserBlockingPriority;
break;
case 32:
schedulerPriority = NormalPriority$1;
break;
case 268435456:
schedulerPriority = IdlePriority;
break;
default:
schedulerPriority = NormalPriority$1;
}
injectedHook.onCommitFiberRoot(rendererID, finishedWork, schedulerPriority, didError);
} catch (err) {
hasLoggedError || (hasLoggedError = true, console.error("React instrumentation encountered an error: %o", err));
}
isDevToolsPresent && startViewTransitionStartTime.memoizedUpdaters.clear();
onCommitRoot();
if (abortedViewTransition !== null) {
didError = ReactSharedInternals.T;
schedulerPriority = getCurrentUpdatePriority();
setCurrentUpdatePriority(2);
ReactSharedInternals.T = null;
try {
var onRecoverableError = startViewTransitionStartTime.onRecoverableError;
for (finishedWork = 0;finishedWork < abortedViewTransition.length; finishedWork++) {
var recoverableError = abortedViewTransition[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack);
runWithFiberInDEV(recoverableError.source, onRecoverableError, recoverableError.value, errorInfo);
}
} finally {
ReactSharedInternals.T = didError, setCurrentUpdatePriority(schedulerPriority);
}
}
(pendingEffectsLanes & 3) !== 0 && flushPendingEffects();
ensureRootIsScheduled(startViewTransitionStartTime);
remainingLanes = startViewTransitionStartTime.pendingLanes;
(endTime & 261930) !== 0 && (remainingLanes & 42) !== 0 ? (nestedUpdateScheduled = true, startViewTransitionStartTime === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = startViewTransitionStartTime)) : nestedUpdateCount = 0;
rootDidHavePassiveEffects || finalizeRender(endTime, commitEndTime);
supportsHydration && flushHydrationEvents();
flushSyncWorkAcrossRoots_impl(0, false);
}
}
function makeErrorInfo(componentStack) {
componentStack = { componentStack };
Object.defineProperty(componentStack, "digest", {
get: function() {
console.error('You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.');
}
});
return componentStack;
}
function releaseRootPooledCache(root2, remainingLanes) {
(root2.pooledCacheLanes &= remainingLanes) === 0 && (remainingLanes = root2.pooledCache, remainingLanes != null && (root2.pooledCache = null, releaseCache(remainingLanes)));
}
function flushPendingEffects() {
flushMutationEffects();
flushLayoutEffects();
flushSpawnedWork();
return flushPassiveEffects();
}
function flushPassiveEffects() {
if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE)
return false;
var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes;
pendingEffectsRemainingLanes = 0;
var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 32 > renderPriority ? 32 : renderPriority;
renderPriority = ReactSharedInternals.T;
var previousPriority = getCurrentUpdatePriority();
try {
setCurrentUpdatePriority(priority);
ReactSharedInternals.T = null;
var transitions = pendingPassiveTransitions;
pendingPassiveTransitions = null;
priority = pendingEffectsRoot;
var lanes = pendingEffectsLanes;
pendingEffectsStatus = NO_PENDING_EFFECTS;
pendingFinishedWork = pendingEffectsRoot = null;
pendingEffectsLanes = 0;
if ((executionContext & (RenderContext | CommitContext)) !== NoContext)
throw Error("Cannot flush passive effects while already rendering.");
setCurrentTrackFromLanes(lanes);
isFlushingPassiveEffects = true;
didScheduleUpdateDuringPassiveEffects = false;
var passiveEffectStartTime = 0;
commitErrors = null;
passiveEffectStartTime = now$1();
if (pendingDelayedCommitReason === ANIMATION_STARTED_COMMIT) {
var startTime = commitEndTime, endTime = passiveEffectStartTime;
!supportsUserTiming || endTime <= startTime || (animatingTask ? animatingTask.run(console.timeStamp.bind(console, "Animating", startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-dark")) : console.timeStamp("Animating", startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-dark"));
} else {
startTime = commitEndTime;
endTime = passiveEffectStartTime;
var delayedUntilPaint = pendingDelayedCommitReason === DELAYED_PASSIVE_COMMIT;
!supportsUserTiming || endTime <= startTime || (workInProgressUpdateTask ? workInProgressUpdateTask.run(console.timeStamp.bind(console, delayedUntilPaint ? "Waiting for Paint" : "Waiting", startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light")) : console.timeStamp(delayedUntilPaint ? "Waiting for Paint" : "Waiting", startTime, endTime, currentTrack, "Scheduler ⚛", "secondary-light"));
}
startTime = executionContext;
executionContext |= CommitContext;
var finishedWork = priority.current;
resetComponentEffectTimers();
commitPassiveUnmountOnFiber(finishedWork);
var finishedWork$jscomp$0 = priority.current;
finishedWork = pendingEffectsRenderEndTime;
resetComponentEffectTimers();
commitPassiveMountOnFiber(priority, finishedWork$jscomp$0, lanes, transitions, finishedWork);
commitDoubleInvokeEffectsInDEV(priority);
executionContext = startTime;
var passiveEffectsEndTime = now$1();
finishedWork$jscomp$0 = passiveEffectStartTime;
finishedWork = workInProgressUpdateTask;
commitErrors !== null ? logCommitErrored(finishedWork$jscomp$0, passiveEffectsEndTime, commitErrors, true, finishedWork) : !supportsUserTiming || passiveEffectsEndTime <= finishedWork$jscomp$0 || (finishedWork ? finishedWork.run(console.timeStamp.bind(console, "Remaining Effects", finishedWork$jscomp$0, passiveEffectsEndTime, currentTrack, "Scheduler ⚛", "secondary-dark")) : console.timeStamp("Remaining Effects", finishedWork$jscomp$0, passiveEffectsEndTime, currentTrack, "Scheduler ⚛", "secondary-dark"));
finalizeRender(lanes, passiveEffectsEndTime);
flushSyncWorkAcrossRoots_impl(0, false);
didScheduleUpdateDuringPassiveEffects ? priority === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = priority) : nestedPassiveUpdateCount = 0;
didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false;
if (injectedHook && typeof injectedHook.onPostCommitFiberRoot === "function")
try {
injectedHook.onPostCommitFiberRoot(rendererID, priority);
} catch (err) {
hasLoggedError || (hasLoggedError = true, console.error("React instrumentation encountered an error: %o", err));
}
var stateNode = priority.current.stateNode;
stateNode.effectDuration = 0;
stateNode.passiveEffectDuration = 0;
return true;
} finally {
setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes);
}
}
function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error52) {
sourceFiber = createCapturedValueAtFiber(error52, sourceFiber);
recordEffectError(sourceFiber);
sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);
rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);
rootFiber !== null && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));
}
function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error52) {
isRunningInsertionEffect = false;
if (sourceFiber.tag === 3)
captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error52);
else {
for (;nearestMountedAncestor !== null; ) {
if (nearestMountedAncestor.tag === 3) {
captureCommitPhaseErrorOnRoot(nearestMountedAncestor, sourceFiber, error52);
return;
}
if (nearestMountedAncestor.tag === 1) {
var instance = nearestMountedAncestor.stateNode;
if (typeof nearestMountedAncestor.type.getDerivedStateFromError === "function" || typeof instance.componentDidCatch === "function" && (legacyErrorBoundariesThatAlreadyFailed === null || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
sourceFiber = createCapturedValueAtFiber(error52, sourceFiber);
recordEffectError(sourceFiber);
error52 = createClassErrorUpdate(2);
instance = enqueueUpdate(nearestMountedAncestor, error52, 2);
instance !== null && (initializeClassErrorUpdate(error52, instance, nearestMountedAncestor, sourceFiber), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance));
return;
}
}
nearestMountedAncestor = nearestMountedAncestor.return;
}
console.error(`Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.
Error message:
%s`, error52);
}
}
function attachPingListener(root2, wakeable, lanes) {
var pingCache = root2.pingCache;
if (pingCache === null) {
pingCache = root2.pingCache = new PossiblyWeakMap;
var threadIDs = new Set;
pingCache.set(wakeable, threadIDs);
} else
threadIDs = pingCache.get(wakeable), threadIDs === undefined && (threadIDs = new Set, pingCache.set(wakeable, threadIDs));
threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache));
}
function pingSuspendedRoot(root2, wakeable, pingedLanes) {
var pingCache = root2.pingCache;
pingCache !== null && pingCache.delete(wakeable);
root2.pingedLanes |= root2.suspendedLanes & pingedLanes;
root2.warmLanes &= ~pingedLanes;
(pingedLanes & 127) !== 0 ? 0 > blockingUpdateTime && (blockingClampTime = blockingUpdateTime = now2(), blockingUpdateTask = createTask("Promise Resolved"), blockingUpdateType = 2) : (pingedLanes & 4194048) !== 0 && 0 > transitionUpdateTime && (transitionClampTime = transitionUpdateTime = now2(), transitionUpdateTask = createTask("Promise Resolved"), transitionUpdateType = 2);
isConcurrentActEnvironment() && ReactSharedInternals.actQueue === null && console.error(`A suspended resource finished loading inside a test, but the event was not wrapped in act(...).
When testing, code that resolves suspended data should be wrapped into act(...):
act(() => {
/* finish loading suspended data */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act`);
workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0));
ensureRootIsScheduled(root2);
}
function retryTimedOutBoundary(boundaryFiber, retryLane) {
retryLane === 0 && (retryLane = claimNextRetryLane());
boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);
boundaryFiber !== null && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber));
}
function retryDehydratedSuspenseBoundary(boundaryFiber) {
var suspenseState = boundaryFiber.memoizedState, retryLane = 0;
suspenseState !== null && (retryLane = suspenseState.retryLane);
retryTimedOutBoundary(boundaryFiber, retryLane);
}
function resolveRetryWakeable(boundaryFiber, wakeable) {
var retryLane = 0;
switch (boundaryFiber.tag) {
case 31:
case 13:
var retryCache = boundaryFiber.stateNode;
var suspenseState = boundaryFiber.memoizedState;
suspenseState !== null && (retryLane = suspenseState.retryLane);
break;
case 19:
retryCache = boundaryFiber.stateNode;
break;
case 22:
retryCache = boundaryFiber.stateNode._retryCache;
break;
default:
throw Error("Pinged unknown suspense boundary type. This is probably a bug in React.");
}
retryCache !== null && retryCache.delete(wakeable);
retryTimedOutBoundary(boundaryFiber, retryLane);
}
function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) {
if ((parentFiber.subtreeFlags & 67117056) !== 0)
for (parentFiber = parentFiber.child;parentFiber !== null; ) {
var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;
isStrictModeFiber = isInStrictMode || isStrictModeFiber;
fiber.tag !== 22 ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV(fiber, doubleInvokeEffectsOnFiber, root2, fiber) : recursivelyTraverseAndDoubleInvokeEffectsInDEV(root2, fiber, isStrictModeFiber) : fiber.memoizedState === null && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV(fiber, doubleInvokeEffectsOnFiber, root2, fiber) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV(fiber, recursivelyTraverseAndDoubleInvokeEffectsInDEV, root2, fiber, isStrictModeFiber));
parentFiber = parentFiber.sibling;
}
}
function doubleInvokeEffectsOnFiber(root2, fiber) {
setIsStrictModeForDevtools(true);
try {
disappearLayoutEffects(fiber), disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), reconnectPassiveEffects(root2, fiber, 0, null, false, 0);
} finally {
setIsStrictModeForDevtools(false);
}
}
function commitDoubleInvokeEffectsInDEV(root2) {
var doubleInvokeEffects = true;
root2.current.mode & 24 || (doubleInvokeEffects = false);
recursivelyTraverseAndDoubleInvokeEffectsInDEV(root2, root2.current, doubleInvokeEffects);
}
function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {
if ((executionContext & RenderContext) === NoContext) {
var tag = fiber.tag;
if (tag === 3 || tag === 1 || tag === 0 || tag === 11 || tag === 14 || tag === 15) {
tag = getComponentNameFromFiber(fiber) || "ReactComponent";
if (didWarnStateUpdateForNotYetMountedComponent !== null) {
if (didWarnStateUpdateForNotYetMountedComponent.has(tag))
return;
didWarnStateUpdateForNotYetMountedComponent.add(tag);
} else
didWarnStateUpdateForNotYetMountedComponent = new Set([tag]);
runWithFiberInDEV(fiber, function() {
console.error("Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously tries to update the component. Move this work to useEffect instead.");
});
}
}
}
function restorePendingUpdaters(root2, lanes) {
isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) {
addFiberToLanesMap(root2, schedulingFiber, lanes);
});
}
function scheduleCallback(priorityLevel, callback) {
var actQueue = ReactSharedInternals.actQueue;
return actQueue !== null ? (actQueue.push(callback), fakeActCallbackNode) : scheduleCallback$3(priorityLevel, callback);
}
function warnIfUpdatesNotWrappedWithActDEV(fiber) {
isConcurrentActEnvironment() && ReactSharedInternals.actQueue === null && runWithFiberInDEV(fiber, function() {
console.error(`An update to %s inside a test was not wrapped in act(...).
When testing, code that causes React state updates should be wrapped into act(...):
act(() => {
/* fire events that update state */
});
/* assert on the output */
This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act`, getComponentNameFromFiber(fiber));
});
}
function resolveFunctionForHotReloading(type) {
if (resolveFamily2 === null)
return type;
var family = resolveFamily2(type);
return family === undefined ? type : family.current;
}
function resolveForwardRefForHotReloading(type) {
if (resolveFamily2 === null)
return type;
var family = resolveFamily2(type);
return family === undefined ? type !== null && type !== undefined && typeof type.render === "function" && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, type.displayName !== undefined && (family.displayName = type.displayName), family) : type : family.current;
}
function isCompatibleFamilyForHotReloading(fiber, element) {
if (resolveFamily2 === null)
return false;
var prevType = fiber.elementType;
element = element.type;
var needsCompareFamilies = false, $$typeofNextType = typeof element === "object" && element !== null ? element.$$typeof : null;
switch (fiber.tag) {
case 1:
typeof element === "function" && (needsCompareFamilies = true);
break;
case 0:
typeof element === "function" ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
break;
case 11:
$$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
break;
case 14:
case 15:
$$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true);
break;
default:
return false;
}
return needsCompareFamilies && (fiber = resolveFamily2(prevType), fiber !== undefined && fiber === resolveFamily2(element)) ? true : false;
}
function markFailedErrorBoundaryForHotReloading(fiber) {
resolveFamily2 !== null && typeof WeakSet === "function" && (failedBoundaries === null && (failedBoundaries = new WeakSet), failedBoundaries.add(fiber));
}
function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
do {
var _fiber = fiber, alternate = _fiber.alternate, child = _fiber.child, sibling = _fiber.sibling, tag = _fiber.tag;
_fiber = _fiber.type;
var candidateType = null;
switch (tag) {
case 0:
case 15:
case 1:
candidateType = _fiber;
break;
case 11:
candidateType = _fiber.render;
}
if (resolveFamily2 === null)
throw Error("Expected resolveFamily to be set during hot reload.");
var needsRender = false;
_fiber = false;
candidateType !== null && (candidateType = resolveFamily2(candidateType), candidateType !== undefined && (staleFamilies.has(candidateType) ? _fiber = true : updatedFamilies.has(candidateType) && (tag === 1 ? _fiber = true : needsRender = true)));
failedBoundaries !== null && (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) && (_fiber = true);
_fiber && (fiber._debugNeedsRemount = true);
if (_fiber || needsRender)
alternate = enqueueConcurrentRenderForLane(fiber, 2), alternate !== null && scheduleUpdateOnFiber(alternate, fiber, 2);
child === null || _fiber || scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);
if (sibling === null)
break;
fiber = sibling;
} while (1);
}
function FiberNode(tag, pendingProps, key, mode) {
this.tag = tag;
this.key = key;
this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
this.index = 0;
this.refCleanup = this.ref = null;
this.pendingProps = pendingProps;
this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
this.mode = mode;
this.subtreeFlags = this.flags = 0;
this.deletions = null;
this.childLanes = this.lanes = 0;
this.alternate = null;
this.actualDuration = -0;
this.actualStartTime = -1.1;
this.treeBaseDuration = this.selfBaseDuration = -0;
this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null;
this._debugNeedsRemount = false;
this._debugHookTypes = null;
hasBadMapPolyfill || typeof Object.preventExtensions !== "function" || Object.preventExtensions(this);
}
function shouldConstruct(Component) {
Component = Component.prototype;
return !(!Component || !Component.isReactComponent);
}
function createWorkInProgress(current2, pendingProps) {
var workInProgress2 = current2.alternate;
workInProgress2 === null ? (workInProgress2 = createFiber(current2.tag, pendingProps, current2.key, current2.mode), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1);
workInProgress2.flags = current2.flags & 65011712;
workInProgress2.childLanes = current2.childLanes;
workInProgress2.lanes = current2.lanes;
workInProgress2.child = current2.child;
workInProgress2.memoizedProps = current2.memoizedProps;
workInProgress2.memoizedState = current2.memoizedState;
workInProgress2.updateQueue = current2.updateQueue;
pendingProps = current2.dependencies;
workInProgress2.dependencies = pendingProps === null ? null : {
lanes: pendingProps.lanes,
firstContext: pendingProps.firstContext,
_debugThenableState: pendingProps._debugThenableState
};
workInProgress2.sibling = current2.sibling;
workInProgress2.index = current2.index;
workInProgress2.ref = current2.ref;
workInProgress2.refCleanup = current2.refCleanup;
workInProgress2.selfBaseDuration = current2.selfBaseDuration;
workInProgress2.treeBaseDuration = current2.treeBaseDuration;
workInProgress2._debugInfo = current2._debugInfo;
workInProgress2._debugNeedsRemount = current2._debugNeedsRemount;
switch (workInProgress2.tag) {
case 0:
case 15:
workInProgress2.type = resolveFunctionForHotReloading(current2.type);
break;
case 1:
workInProgress2.type = resolveFunctionForHotReloading(current2.type);
break;
case 11:
workInProgress2.type = resolveForwardRefForHotReloading(current2.type);
}
return workInProgress2;
}
function resetWorkInProgress(workInProgress2, renderLanes2) {
workInProgress2.flags &= 65011714;
var current2 = workInProgress2.alternate;
current2 === null ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = renderLanes2 === null ? null : {
lanes: renderLanes2.lanes,
firstContext: renderLanes2.firstContext,
_debugThenableState: renderLanes2._debugThenableState
}, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration);
return workInProgress2;
}
function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
var fiberTag = 0, resolvedType = type;
if (typeof type === "function")
shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType);
else if (typeof type === "string")
supportsResources && supportsSingletons ? (fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : isHostSingletonType(type) ? 27 : 5) : supportsResources ? (fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : 5) : fiberTag = supportsSingletons ? isHostSingletonType(type) ? 27 : 5 : 5;
else
a:
switch (type) {
case REACT_ACTIVITY_TYPE:
return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key;
case REACT_FRAGMENT_TYPE:
return createFiberFromFragment(pendingProps.children, mode, lanes, key);
case REACT_STRICT_MODE_TYPE:
fiberTag = 8;
mode |= 24;
break;
case REACT_PROFILER_TYPE:
return type = pendingProps, owner = mode, typeof type.id !== "string" && console.error('Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', typeof type.id), key = createFiber(12, type, key, owner | 2), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key;
case REACT_SUSPENSE_TYPE:
return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key;
case REACT_SUSPENSE_LIST_TYPE:
return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key;
default:
if (typeof type === "object" && type !== null)
switch (type.$$typeof) {
case REACT_CONTEXT_TYPE:
fiberTag = 10;
break a;
case REACT_CONSUMER_TYPE:
fiberTag = 9;
break a;
case REACT_FORWARD_REF_TYPE:
fiberTag = 11;
resolvedType = resolveForwardRefForHotReloading(resolvedType);
break a;
case REACT_MEMO_TYPE:
fiberTag = 14;
break a;
case REACT_LAZY_TYPE:
fiberTag = 16;
resolvedType = null;
break a;
}
resolvedType = "";
if (type === undefined || typeof type === "object" && type !== null && Object.keys(type).length === 0)
resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
type === null ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type;
fiberTag = owner ? typeof owner.tag === "number" ? getComponentNameFromFiber(owner) : typeof owner.name === "string" ? owner.name : null : null;
fiberTag && (resolvedType += `
Check the render method of \`` + fiberTag + "`.");
fiberTag = 29;
pendingProps = Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType));
resolvedType = null;
}
key = createFiber(fiberTag, pendingProps, key, mode);
key.elementType = type;
key.type = resolvedType;
key.lanes = lanes;
key._debugOwner = owner;
return key;
}
function createFiberFromElement(element, mode, lanes) {
mode = createFiberFromTypeAndProps(element.type, element.key, element.props, element._owner, mode, lanes);
mode._debugOwner = element._owner;
mode._debugStack = element._debugStack;
mode._debugTask = element._debugTask;
return mode;
}
function createFiberFromFragment(elements, mode, lanes, key) {
elements = createFiber(7, elements, key, mode);
elements.lanes = lanes;
return elements;
}
function createFiberFromText(content, mode, lanes) {
content = createFiber(6, content, null, mode);
content.lanes = lanes;
return content;
}
function createFiberFromDehydratedFragment(dehydratedNode) {
var fiber = createFiber(18, null, null, NoMode);
fiber.stateNode = dehydratedNode;
return fiber;
}
function createFiberFromPortal(portal, mode, lanes) {
mode = createFiber(4, portal.children !== null ? portal.children : [], portal.key, mode);
mode.lanes = lanes;
mode.stateNode = {
containerInfo: portal.containerInfo,
pendingChildren: null,
implementation: portal.implementation
};
return mode;
}
function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, formState) {
this.tag = 1;
this.containerInfo = containerInfo;
this.pingCache = this.current = this.pendingChildren = null;
this.timeoutHandle = noTimeout;
this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null;
this.callbackPriority = 0;
this.expirationTimes = createLaneMap(-1);
this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
this.entanglements = createLaneMap(0);
this.hiddenUpdates = createLaneMap(null);
this.identifierPrefix = identifierPrefix;
this.onUncaughtError = onUncaughtError;
this.onCaughtError = onCaughtError;
this.onRecoverableError = onRecoverableError;
this.pooledCache = null;
this.pooledCacheLanes = 0;
this.formState = formState;
this.incompleteTransitions = new Map;
this.passiveEffectDuration = this.effectDuration = -0;
this.memoizedUpdaters = new Set;
containerInfo = this.pendingUpdatersLaneMap = [];
for (tag = 0;31 > tag; tag++)
containerInfo.push(new Set);
this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()";
}
function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, formState, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator) {
containerInfo = new FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, formState);
tag = 1;
isStrictMode === true && (tag |= 24);
isStrictMode = createFiber(3, null, null, tag | 2);
containerInfo.current = isStrictMode;
isStrictMode.stateNode = containerInfo;
tag = createCache();
retainCache(tag);
containerInfo.pooledCache = tag;
retainCache(tag);
isStrictMode.memoizedState = {
element: initialChildren,
isDehydrated: hydrate,
cache: tag
};
initializeUpdateQueue(isStrictMode);
return containerInfo;
}
function testStringCoercion(value) {
return "" + value;
}
function getContextForSubtree(parentComponent) {
if (!parentComponent)
return emptyContextObject;
parentComponent = emptyContextObject;
return parentComponent;
}
function updateContainerSync(element, container, parentComponent, callback) {
updateContainerImpl(container.current, 2, element, container, parentComponent, callback);
return 2;
}
function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) {
if (injectedHook && typeof injectedHook.onScheduleFiberRoot === "function")
try {
injectedHook.onScheduleFiberRoot(rendererID, container, element);
} catch (err) {
hasLoggedError || (hasLoggedError = true, console.error("React instrumentation encountered an error: %o", err));
}
parentComponent = getContextForSubtree(parentComponent);
container.context === null ? container.context = parentComponent : container.pendingContext = parentComponent;
isRendering && current !== null && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error(`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.
Check the render method of %s.`, getComponentNameFromFiber(current) || "Unknown"));
container = createUpdate(lane);
container.payload = { element };
callback = callback === undefined ? null : callback;
callback !== null && (typeof callback !== "function" && console.error("Expected the last optional `callback` argument to be a function. Instead received: %s.", callback), container.callback = callback);
element = enqueueUpdate(rootFiber, container, lane);
element !== null && (startUpdateTimerByLane(lane, "root.render()", null), scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane));
}
function markRetryLaneImpl(fiber, retryLane) {
fiber = fiber.memoizedState;
if (fiber !== null && fiber.dehydrated !== null) {
var a2 = fiber.retryLane;
fiber.retryLane = a2 !== 0 && a2 < retryLane ? a2 : retryLane;
}
}
function markRetryLaneIfNotHydrated(fiber, retryLane) {
markRetryLaneImpl(fiber, retryLane);
(fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);
}
function getCurrentFiberForDevTools() {
return current;
}
var exports2 = {};
var assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
Symbol.for("react.scope");
var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
Symbol.for("react.legacy_hidden");
Symbol.for("react.tracing_marker");
var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel");
Symbol.for("react.view_transition");
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, rendererVersion = $$$config.rendererVersion, rendererPackageName = $$$config.rendererPackageName, extraDevToolsConfig = $$$config.extraDevToolsConfig, getPublicInstance = $$$config.getPublicInstance, getRootHostContext = $$$config.getRootHostContext, getChildHostContext = $$$config.getChildHostContext, prepareForCommit = $$$config.prepareForCommit, resetAfterCommit = $$$config.resetAfterCommit, createInstance2 = $$$config.createInstance;
$$$config.cloneMutableInstance;
var { appendInitialChild, finalizeInitialChildren, shouldSetTextContent, createTextInstance } = $$$config;
$$$config.cloneMutableTextInstance;
var { scheduleTimeout, cancelTimeout, noTimeout, isPrimaryRenderer } = $$$config;
$$$config.warnsIfNotActing;
var { supportsMutation, supportsPersistence, supportsHydration, getInstanceFromNode } = $$$config;
$$$config.beforeActiveInstanceBlur;
var preparePortalMount = $$$config.preparePortalMount;
$$$config.prepareScopeUpdate;
$$$config.getInstanceFromScope;
var { setCurrentUpdatePriority, getCurrentUpdatePriority, resolveUpdatePriority, trackSchedulerEvent, resolveEventType, resolveEventTimeStamp, shouldAttemptEagerTransition, detachDeletedInstance } = $$$config;
$$$config.requestPostPaintCallback;
var { maySuspendCommit, maySuspendCommitOnUpdate, maySuspendCommitInSyncRender, preloadInstance, startSuspendingCommit, suspendInstance } = $$$config;
$$$config.suspendOnActiveViewTransition;
var { waitForCommitToBeReady, getSuspendedCommitReason, NotPendingTransition, HostTransitionContext, resetFormInstance, bindToConsole, supportsMicrotasks, scheduleMicrotask, supportsTestSelectors, findFiberRoot, getBoundingRect, getTextContent, isHiddenSubtree, matchAccessibilityRole, setFocusIfFocusable, setupIntersectionObserver, appendChild, appendChildToContainer, commitTextUpdate, commitMount, commitUpdate, insertBefore, insertInContainerBefore, removeChild, removeChildFromContainer, resetTextContent, hideInstance, hideTextInstance, unhideInstance, unhideTextInstance } = $$$config;
$$$config.cancelViewTransitionName;
$$$config.cancelRootViewTransitionName;
$$$config.restoreRootViewTransitionName;
$$$config.cloneRootViewTransitionContainer;
$$$config.removeRootViewTransitionClone;
$$$config.measureClonedInstance;
$$$config.hasInstanceChanged;
$$$config.hasInstanceAffectedParent;
$$$config.startViewTransition;
$$$config.startGestureTransition;
$$$config.stopViewTransition;
$$$config.getCurrentGestureOffset;
$$$config.createViewTransitionInstance;
var clearContainer = $$$config.clearContainer;
$$$config.createFragmentInstance;
$$$config.updateFragmentInstanceFiber;
$$$config.commitNewChildToFragmentInstance;
$$$config.deleteChildFromFragmentInstance;
var { cloneInstance, createContainerChildSet, appendChildToContainerChildSet, finalizeContainerChildren, replaceContainerChildren, cloneHiddenInstance, cloneHiddenTextInstance, isSuspenseInstancePending, isSuspenseInstanceFallback, getSuspenseInstanceFallbackErrorDetails, registerSuspenseInstanceRetry, canHydrateFormStateMarker, isFormStateMarkerMatching, getNextHydratableSibling, getNextHydratableSiblingAfterSingleton, getFirstHydratableChild, getFirstHydratableChildWithinContainer, getFirstHydratableChildWithinActivityInstance, getFirstHydratableChildWithinSuspenseInstance, getFirstHydratableChildWithinSingleton, canHydrateInstance, canHydrateTextInstance, canHydrateActivityInstance, canHydrateSuspenseInstance, hydrateInstance, hydrateTextInstance, hydrateActivityInstance, hydrateSuspenseInstance, getNextHydratableInstanceAfterActivityInstance, getNextHydratableInstanceAfterSuspenseInstance, commitHydratedInstance, commitHydratedContainer, commitHydratedActivityInstance, commitHydratedSuspenseInstance, finalizeHydratedChildren, flushHydrationEvents } = $$$config;
$$$config.clearActivityBoundary;
var clearSuspenseBoundary = $$$config.clearSuspenseBoundary;
$$$config.clearActivityBoundaryFromContainer;
var { clearSuspenseBoundaryFromContainer, hideDehydratedBoundary, unhideDehydratedBoundary, shouldDeleteUnhydratedTailInstances, diffHydratedPropsForDevWarnings, diffHydratedTextForDevWarnings, describeHydratableInstanceForDevWarnings, validateHydratableInstance, validateHydratableTextInstance, supportsResources, isHostHoistableType, getHoistableRoot, getResource, acquireResource, releaseResource, hydrateHoistable, mountHoistable, unmountHoistable, createHoistableInstance, prepareToCommitHoistables, mayResourceSuspendCommit, preloadResource, suspendResource, supportsSingletons, resolveSingletonInstance, acquireSingletonInstance, releaseSingletonInstance, isHostSingletonType, isSingletonScope } = $$$config, valueStack = [];
var fiberStack = [];
var index$jscomp$0 = -1, emptyContextObject = {};
Object.freeze(emptyContextObject);
var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log$1 = Math.log, LN2 = Math.LN2, nextTransitionUpdateLane = 256, nextTransitionDeferredLane = 262144, nextRetryLane = 4194304, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, IdlePriority = Scheduler.unstable_IdlePriority, log4 = Scheduler.log, unstable_setDisableYieldValue2 = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, hasLoggedError = false, isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined", lastResetTime = 0;
if (typeof performance === "object" && typeof performance.now === "function") {
var localPerformance = performance;
var getCurrentTime = function() {
return localPerformance.now();
};
} else {
var localDate = Date;
getCurrentTime = function() {
return localDate.now();
};
}
var objectIs = typeof Object.is === "function" ? Object.is : is, reportGlobalError = typeof reportError === "function" ? reportError : function(error52) {
if (typeof window === "object" && typeof window.ErrorEvent === "function") {
var event = new window.ErrorEvent("error", {
bubbles: true,
cancelable: true,
message: typeof error52 === "object" && error52 !== null && typeof error52.message === "string" ? String(error52.message) : String(error52),
error: error52
});
if (!window.dispatchEvent(event))
return;
} else if (typeof process === "object" && typeof process.emit === "function") {
process.emit("uncaughtException", error52);
return;
}
console.error(error52);
}, hasOwnProperty15 = Object.prototype.hasOwnProperty, supportsUserTiming = typeof console !== "undefined" && typeof console.timeStamp === "function" && typeof performance !== "undefined" && typeof performance.measure === "function", currentTrack = "Blocking", alreadyWarnedForDeepEquality = false, reusableComponentDevToolDetails = {
color: "primary",
properties: null,
tooltipText: "",
track: "Components ⚛"
}, reusableComponentOptions = {
start: -0,
end: -0,
detail: { devtools: reusableComponentDevToolDetails }
}, resuableChangedPropsEntry = ["Changed Props", ""], reusableDeeplyEqualPropsEntry = [
"Changed Props",
"This component received deeply equal props. It might benefit from useMemo or the React Compiler in its owner."
], disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd;
disabledLog.__reactDisabledLog = true;
var prefix, suffix, reentry = false;
var componentFrameCache = new (typeof WeakMap === "function" ? WeakMap : Map);
var CapturedStacks = new WeakMap, forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), needsEscaping = /["'&<>\n\t]|^\s|\s$/, current = null, isRendering = false, hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error("Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."), NoMode = 0, valueCursor = createCursor(null);
var rendererCursorDEV = createCursor(null);
var renderer2CursorDEV = createCursor(null);
var rendererSigil = {};
var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = typeof AbortController !== "undefined" ? AbortController : function() {
var listeners = [], signal = this.signal = {
aborted: false,
addEventListener: function(type, listener) {
listeners.push(listener);
}
};
this.abort = function() {
signal.aborted = true;
listeners.forEach(function(listener) {
return listener();
});
};
}, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = {
$$typeof: REACT_CONTEXT_TYPE,
Consumer: null,
Provider: null,
_currentValue: null,
_currentValue2: null,
_threadCount: 0,
_currentRenderer: null,
_currentRenderer2: null
}, now2 = Scheduler.unstable_now, createTask = console.createTask ? console.createTask : function() {
return null;
}, renderStartTime = -0, commitStartTime = -0, commitEndTime = -0, commitErrors = null, profilerStartTime = -1.1, profilerEffectDuration = -0, componentEffectDuration = -0, componentEffectStartTime = -1.1, componentEffectEndTime = -1.1, componentEffectErrors = null, componentEffectSpawnedUpdate = false, blockingClampTime = -0, blockingUpdateTime = -1.1, blockingUpdateTask = null, blockingUpdateType = 0, blockingUpdateMethodName = null, blockingUpdateComponentName = null, blockingEventTime = -1.1, blockingEventType = null, blockingEventRepeatTime = -1.1, blockingSuspendedTime = -1.1, transitionClampTime = -0, transitionStartTime = -1.1, transitionUpdateTime = -1.1, transitionUpdateType = 0, transitionUpdateTask = null, transitionUpdateMethodName = null, transitionUpdateComponentName = null, transitionEventTime = -1.1, transitionEventType = null, transitionEventRepeatTime = -1.1, transitionSuspendedTime = -1.1, animatingTask = null, yieldReason = 0, yieldStartTime = -1.1, currentUpdateIsNested = false, nestedUpdateScheduled = false, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode$1 = {}, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S;
ReactSharedInternals.S = function(transition, returnValue) {
globalMostRecentTransitionTime = now$1();
if (typeof returnValue === "object" && returnValue !== null && typeof returnValue.then === "function") {
if (0 > transitionStartTime && 0 > transitionUpdateTime) {
transitionStartTime = now2();
var newEventTime = resolveEventTimeStamp(), newEventType = resolveEventType();
if (newEventTime !== transitionEventRepeatTime || newEventType !== transitionEventType)
transitionEventRepeatTime = -1.1;
transitionEventTime = newEventTime;
transitionEventType = newEventType;
}
entangleAsyncAction(transition, returnValue);
}
prevOnStartTransitionFinish !== null && prevOnStartTransitionFinish(transition, returnValue);
};
var resumedCache = createCursor(null), ReactStrictModeWarnings = {
recordUnsafeLifecycleWarnings: function() {},
flushPendingUnsafeLifecycleWarnings: function() {},
recordLegacyContextWarning: function() {},
flushLegacyContextWarning: function() {},
discardPendingWarnings: function() {}
}, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = new Set;
ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) {
didWarnAboutUnsafeLifecycles.has(fiber.type) || (typeof instance.componentWillMount === "function" && instance.componentWillMount.__suppressDeprecationWarning !== true && pendingComponentWillMountWarnings.push(fiber), fiber.mode & 8 && typeof instance.UNSAFE_componentWillMount === "function" && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), typeof instance.componentWillReceiveProps === "function" && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & 8 && typeof instance.UNSAFE_componentWillReceiveProps === "function" && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), typeof instance.componentWillUpdate === "function" && instance.componentWillUpdate.__suppressDeprecationWarning !== true && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & 8 && typeof instance.UNSAFE_componentWillUpdate === "function" && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber));
};
ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() {
var componentWillMountUniqueNames = new Set;
0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) {
componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingComponentWillMountWarnings = []);
var UNSAFE_componentWillMountUniqueNames = new Set;
0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) {
UNSAFE_componentWillMountUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingUNSAFE_ComponentWillMountWarnings = []);
var componentWillReceivePropsUniqueNames = new Set;
0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) {
componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingComponentWillReceivePropsWarnings = []);
var UNSAFE_componentWillReceivePropsUniqueNames = new Set;
0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function(fiber) {
UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingUNSAFE_ComponentWillReceivePropsWarnings = []);
var componentWillUpdateUniqueNames = new Set;
0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) {
componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingComponentWillUpdateWarnings = []);
var UNSAFE_componentWillUpdateUniqueNames = new Set;
0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) {
UNSAFE_componentWillUpdateUniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutUnsafeLifecycles.add(fiber.type);
}), pendingUNSAFE_ComponentWillUpdateWarnings = []);
if (0 < UNSAFE_componentWillMountUniqueNames.size) {
var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);
console.error(`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move code with side effects to componentDidMount, and set initial state in the constructor.
Please update the following components: %s`, sortedNames);
}
0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames), console.error(`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state
Please update the following components: %s`, sortedNames));
0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(UNSAFE_componentWillUpdateUniqueNames), console.error(`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
Please update the following components: %s`, sortedNames));
0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn(`componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
Please update the following components: %s`, sortedNames));
0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString(componentWillReceivePropsUniqueNames), console.warn(`componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state
* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
Please update the following components: %s`, sortedNames));
0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn(`componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
* Move data fetching code or side effects to componentDidUpdate.
* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
Please update the following components: %s`, sortedNames));
};
var pendingLegacyContextWarning = new Map, didWarnAboutLegacyContext = new Set;
ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) {
var strictRoot = null;
for (var node = fiber;node !== null; )
node.mode & 8 && (strictRoot = node), node = node.return;
strictRoot === null ? console.error("Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.") : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === "function") && (node === undefined && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber));
};
ReactStrictModeWarnings.flushLegacyContextWarning = function() {
pendingLegacyContextWarning.forEach(function(fiberArray) {
if (fiberArray.length !== 0) {
var firstFiber = fiberArray[0], uniqueNames = new Set;
fiberArray.forEach(function(fiber) {
uniqueNames.add(getComponentNameFromFiber(fiber) || "Component");
didWarnAboutLegacyContext.add(fiber.type);
});
var sortedNames = setToSortedString(uniqueNames);
runWithFiberInDEV(firstFiber, function() {
console.error(`Legacy context API has been detected within a strict-mode tree.
The old API will be supported in all 16.x releases, but applications using it should migrate to the new version.
Please update the following components: %s
Learn more about this warning here: https://react.dev/link/legacy-context`, sortedNames);
});
}
});
};
ReactStrictModeWarnings.discardPendingWarnings = function() {
pendingComponentWillMountWarnings = [];
pendingUNSAFE_ComponentWillMountWarnings = [];
pendingComponentWillReceivePropsWarnings = [];
pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
pendingComponentWillUpdateWarnings = [];
pendingUNSAFE_ComponentWillUpdateWarnings = [];
pendingLegacyContextWarning = new Map;
};
var callComponent = {
react_stack_bottom_frame: function(Component, props, secondArg) {
var wasRendering = isRendering;
isRendering = true;
try {
return Component(props, secondArg);
} finally {
isRendering = wasRendering;
}
}
}, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = {
react_stack_bottom_frame: function(instance) {
var wasRendering = isRendering;
isRendering = true;
try {
return instance.render();
} finally {
isRendering = wasRendering;
}
}
}, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = {
react_stack_bottom_frame: function(finishedWork, instance) {
try {
instance.componentDidMount();
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind(callComponentDidMount), callComponentDidUpdate = {
react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) {
try {
instance.componentDidUpdate(prevProps, prevState, snapshot);
} catch (error52) {
captureCommitPhaseError(finishedWork, finishedWork.return, error52);
}
}
}, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind(callComponentDidUpdate), callComponentDidCatch = {
react_stack_bottom_frame: function(instance, errorInfo) {
var stack = errorInfo.stack;
instance.componentDidCatch(errorInfo.value, {
componentStack: stack !== null ? stack : ""
});
}
}, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind(callComponentDidCatch), callComponentWillUnmount = {
react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) {
try {
instance.componentWillUnmount();
} catch (error52) {
captureCommitPhaseError(current2, nearestMountedAncestor, error52);
}
}
}, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind(callComponentWillUnmount), callCreate = {
react_stack_bottom_frame: function(effect) {
var create = effect.create;
effect = effect.inst;
create = create();
return effect.destroy = create;
}
}, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = {
react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy2) {
try {
destroy2();
} catch (error52) {
captureCommitPhaseError(current2, nearestMountedAncestor, error52);
}
}
}, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = {
react_stack_bottom_frame: function(lazy2) {
var init = lazy2._init;
return init(lazy2._payload);
}
}, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), SuspenseException = Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."), SuspenseyCommitException = Error("Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React."), SuspenseActionException = Error("Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary."), noopSuspenseyCommitThenable = {
then: function() {
console.error('Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.');
}
}, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps;
var didWarnAboutGenerators = didWarnAboutMaps = false;
var ownerHasKeyUseWarning = {};
var ownerHasFunctionTypeWarning = {};
var ownerHasSymbolTypeWarning = {};
warnForMissingKey = function(returnFiber, workInProgress2, child) {
if (child !== null && typeof child === "object" && child._store && (!child._store.validated && child.key == null || child._store.validated === 2)) {
if (typeof child._store !== "object")
throw Error("React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.");
child._store.validated = 1;
var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null";
if (!ownerHasKeyUseWarning[componentKey]) {
ownerHasKeyUseWarning[componentKey] = true;
child = child._owner;
returnFiber = returnFiber._debugOwner;
var currentComponentErrorInfo = "";
returnFiber && typeof returnFiber.tag === "number" && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = `
Check the render method of \`` + componentKey + "`.");
currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = `
Check the top-level render call using <` + componentName2 + ">.");
var childOwnerAppendix = "";
child != null && returnFiber !== child && (componentName2 = null, typeof child.tag === "number" ? componentName2 = getComponentNameFromFiber(child) : typeof child.name === "string" && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + "."));
runWithFiberInDEV(workInProgress2, function() {
console.error('Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', currentComponentErrorInfo, childOwnerAppendix);
});
}
}
};
var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false;
var didWarnUpdateInsideUpdate = false;
var currentlyProcessingQueue = null;
var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, didWarnUncachedGetSnapshot;
var didWarnAboutMismatchedHooksForComponent = new Set;
var didWarnAboutUseWrappedInTryCatch = new Set;
var didWarnAboutAsyncClientComponent = new Set;
var didWarnAboutUseFormState = new Set;
var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = {
readContext,
use,
useCallback: throwInvalidHookError,
useContext: throwInvalidHookError,
useEffect: throwInvalidHookError,
useImperativeHandle: throwInvalidHookError,
useLayoutEffect: throwInvalidHookError,
useInsertionEffect: throwInvalidHookError,
useMemo: throwInvalidHookError,
useReducer: throwInvalidHookError,
useRef: throwInvalidHookError,
useState: throwInvalidHookError,
useDebugValue: throwInvalidHookError,
useDeferredValue: throwInvalidHookError,
useTransition: throwInvalidHookError,
useSyncExternalStore: throwInvalidHookError,
useId: throwInvalidHookError,
useHostTransitionStatus: throwInvalidHookError,
useFormState: throwInvalidHookError,
useActionState: throwInvalidHookError,
useOptimistic: throwInvalidHookError,
useMemoCache: throwInvalidHookError,
useCacheRefresh: throwInvalidHookError
};
ContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;
var HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null;
HooksDispatcherOnMountInDEV = {
readContext: function(context3) {
return readContext(context3);
},
use,
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
return mountCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
mountHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
return mountEffect(create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
return mountImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
mountEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
return mountLayoutEffect(create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
mountHookTypesDev();
checkDepsAreArrayDev(deps);
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
mountHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function(initialValue) {
currentHookNameInDev = "useRef";
mountHookTypesDev();
return mountRef(initialValue);
},
useState: function(initialState) {
currentHookNameInDev = "useState";
mountHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountState(initialState);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
mountHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
mountHookTypesDev();
return mountDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
mountHookTypesDev();
return mountTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
mountHookTypesDev();
return mountSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
mountHookTypesDev();
return mountId();
},
useFormState: function(action, initialState) {
currentHookNameInDev = "useFormState";
mountHookTypesDev();
warnOnUseFormStateInDev();
return mountActionState(action, initialState);
},
useActionState: function(action, initialState) {
currentHookNameInDev = "useActionState";
mountHookTypesDev();
return mountActionState(action, initialState);
},
useOptimistic: function(passthrough) {
currentHookNameInDev = "useOptimistic";
mountHookTypesDev();
return mountOptimistic(passthrough);
},
useHostTransitionStatus,
useMemoCache,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
mountHookTypesDev();
return mountRefresh();
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
mountHookTypesDev();
return mountEvent(callback);
}
};
HooksDispatcherOnMountWithHookTypesInDEV = {
readContext: function(context3) {
return readContext(context3);
},
use,
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
updateHookTypesDev();
return mountCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
updateHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
updateHookTypesDev();
return mountEffect(create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
updateHookTypesDev();
return mountImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
updateHookTypesDev();
mountEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
updateHookTypesDev();
return mountLayoutEffect(create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function(initialValue) {
currentHookNameInDev = "useRef";
updateHookTypesDev();
return mountRef(initialValue);
},
useState: function(initialState) {
currentHookNameInDev = "useState";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountState(initialState);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
updateHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
updateHookTypesDev();
return mountDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
updateHookTypesDev();
return mountTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
updateHookTypesDev();
return mountSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
updateHookTypesDev();
return mountId();
},
useActionState: function(action, initialState) {
currentHookNameInDev = "useActionState";
updateHookTypesDev();
return mountActionState(action, initialState);
},
useFormState: function(action, initialState) {
currentHookNameInDev = "useFormState";
updateHookTypesDev();
warnOnUseFormStateInDev();
return mountActionState(action, initialState);
},
useOptimistic: function(passthrough) {
currentHookNameInDev = "useOptimistic";
updateHookTypesDev();
return mountOptimistic(passthrough);
},
useHostTransitionStatus,
useMemoCache,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
updateHookTypesDev();
return mountRefresh();
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
updateHookTypesDev();
return mountEvent(callback);
}
};
HooksDispatcherOnUpdateInDEV = {
readContext: function(context3) {
return readContext(context3);
},
use,
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
updateHookTypesDev();
return updateCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
updateHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
updateHookTypesDev();
updateEffectImpl(2048, Passive, create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
updateHookTypesDev();
return updateImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
updateHookTypesDev();
return updateEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
updateHookTypesDev();
return updateEffectImpl(4, Layout, create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function() {
currentHookNameInDev = "useRef";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useState: function() {
currentHookNameInDev = "useState";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateReducer(basicStateReducer);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
updateHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
updateHookTypesDev();
return updateDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
updateHookTypesDev();
return updateTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
updateHookTypesDev();
return updateSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useFormState: function(action) {
currentHookNameInDev = "useFormState";
updateHookTypesDev();
warnOnUseFormStateInDev();
return updateActionState(action);
},
useActionState: function(action) {
currentHookNameInDev = "useActionState";
updateHookTypesDev();
return updateActionState(action);
},
useOptimistic: function(passthrough, reducer) {
currentHookNameInDev = "useOptimistic";
updateHookTypesDev();
return updateOptimistic(passthrough, reducer);
},
useHostTransitionStatus,
useMemoCache,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
updateHookTypesDev();
return updateEvent(callback);
}
};
HooksDispatcherOnRerenderInDEV = {
readContext: function(context3) {
return readContext(context3);
},
use,
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
updateHookTypesDev();
return updateCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
updateHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
updateHookTypesDev();
updateEffectImpl(2048, Passive, create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
updateHookTypesDev();
return updateImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
updateHookTypesDev();
return updateEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
updateHookTypesDev();
return updateEffectImpl(4, Layout, create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
try {
return updateMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
try {
return rerenderReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function() {
currentHookNameInDev = "useRef";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useState: function() {
currentHookNameInDev = "useState";
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;
try {
return rerenderReducer(basicStateReducer);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
updateHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
updateHookTypesDev();
return rerenderDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
updateHookTypesDev();
return rerenderTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
updateHookTypesDev();
return updateSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useFormState: function(action) {
currentHookNameInDev = "useFormState";
updateHookTypesDev();
warnOnUseFormStateInDev();
return rerenderActionState(action);
},
useActionState: function(action) {
currentHookNameInDev = "useActionState";
updateHookTypesDev();
return rerenderActionState(action);
},
useOptimistic: function(passthrough, reducer) {
currentHookNameInDev = "useOptimistic";
updateHookTypesDev();
return rerenderOptimistic(passthrough, reducer);
},
useHostTransitionStatus,
useMemoCache,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
updateHookTypesDev();
return updateEvent(callback);
}
};
InvalidNestedHooksDispatcherOnMountInDEV = {
readContext: function(context3) {
warnInvalidContextAccess();
return readContext(context3);
},
use: function(usable) {
warnInvalidHookAccess();
return use(usable);
},
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
warnInvalidHookAccess();
mountHookTypesDev();
return mountCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
warnInvalidHookAccess();
mountHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
warnInvalidHookAccess();
mountHookTypesDev();
return mountEffect(create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
warnInvalidHookAccess();
mountHookTypesDev();
return mountImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
warnInvalidHookAccess();
mountHookTypesDev();
mountEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
warnInvalidHookAccess();
mountHookTypesDev();
return mountLayoutEffect(create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
warnInvalidHookAccess();
mountHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
warnInvalidHookAccess();
mountHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function(initialValue) {
currentHookNameInDev = "useRef";
warnInvalidHookAccess();
mountHookTypesDev();
return mountRef(initialValue);
},
useState: function(initialState) {
currentHookNameInDev = "useState";
warnInvalidHookAccess();
mountHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;
try {
return mountState(initialState);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
warnInvalidHookAccess();
mountHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
warnInvalidHookAccess();
mountHookTypesDev();
return mountDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
warnInvalidHookAccess();
mountHookTypesDev();
return mountTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
warnInvalidHookAccess();
mountHookTypesDev();
return mountSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
warnInvalidHookAccess();
mountHookTypesDev();
return mountId();
},
useFormState: function(action, initialState) {
currentHookNameInDev = "useFormState";
warnInvalidHookAccess();
mountHookTypesDev();
return mountActionState(action, initialState);
},
useActionState: function(action, initialState) {
currentHookNameInDev = "useActionState";
warnInvalidHookAccess();
mountHookTypesDev();
return mountActionState(action, initialState);
},
useOptimistic: function(passthrough) {
currentHookNameInDev = "useOptimistic";
warnInvalidHookAccess();
mountHookTypesDev();
return mountOptimistic(passthrough);
},
useMemoCache: function(size) {
warnInvalidHookAccess();
return useMemoCache(size);
},
useHostTransitionStatus,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
mountHookTypesDev();
return mountRefresh();
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
warnInvalidHookAccess();
mountHookTypesDev();
return mountEvent(callback);
}
};
InvalidNestedHooksDispatcherOnUpdateInDEV = {
readContext: function(context3) {
warnInvalidContextAccess();
return readContext(context3);
},
use: function(usable) {
warnInvalidHookAccess();
return use(usable);
},
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
warnInvalidHookAccess();
updateHookTypesDev();
return updateCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
warnInvalidHookAccess();
updateHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
warnInvalidHookAccess();
updateHookTypesDev();
updateEffectImpl(2048, Passive, create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
warnInvalidHookAccess();
updateHookTypesDev();
return updateImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEffectImpl(4, Layout, create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function() {
currentHookNameInDev = "useRef";
warnInvalidHookAccess();
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useState: function() {
currentHookNameInDev = "useState";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateReducer(basicStateReducer);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
warnInvalidHookAccess();
updateHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
warnInvalidHookAccess();
updateHookTypesDev();
return updateDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
warnInvalidHookAccess();
updateHookTypesDev();
return updateTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
warnInvalidHookAccess();
updateHookTypesDev();
return updateSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
warnInvalidHookAccess();
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useFormState: function(action) {
currentHookNameInDev = "useFormState";
warnInvalidHookAccess();
updateHookTypesDev();
return updateActionState(action);
},
useActionState: function(action) {
currentHookNameInDev = "useActionState";
warnInvalidHookAccess();
updateHookTypesDev();
return updateActionState(action);
},
useOptimistic: function(passthrough, reducer) {
currentHookNameInDev = "useOptimistic";
warnInvalidHookAccess();
updateHookTypesDev();
return updateOptimistic(passthrough, reducer);
},
useMemoCache: function(size) {
warnInvalidHookAccess();
return useMemoCache(size);
},
useHostTransitionStatus,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEvent(callback);
}
};
InvalidNestedHooksDispatcherOnRerenderInDEV = {
readContext: function(context3) {
warnInvalidContextAccess();
return readContext(context3);
},
use: function(usable) {
warnInvalidHookAccess();
return use(usable);
},
useCallback: function(callback, deps) {
currentHookNameInDev = "useCallback";
warnInvalidHookAccess();
updateHookTypesDev();
return updateCallback(callback, deps);
},
useContext: function(context3) {
currentHookNameInDev = "useContext";
warnInvalidHookAccess();
updateHookTypesDev();
return readContext(context3);
},
useEffect: function(create, deps) {
currentHookNameInDev = "useEffect";
warnInvalidHookAccess();
updateHookTypesDev();
updateEffectImpl(2048, Passive, create, deps);
},
useImperativeHandle: function(ref, create, deps) {
currentHookNameInDev = "useImperativeHandle";
warnInvalidHookAccess();
updateHookTypesDev();
return updateImperativeHandle(ref, create, deps);
},
useInsertionEffect: function(create, deps) {
currentHookNameInDev = "useInsertionEffect";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEffectImpl(4, Insertion, create, deps);
},
useLayoutEffect: function(create, deps) {
currentHookNameInDev = "useLayoutEffect";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEffectImpl(4, Layout, create, deps);
},
useMemo: function(create, deps) {
currentHookNameInDev = "useMemo";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return updateMemo(create, deps);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useReducer: function(reducer, initialArg, init) {
currentHookNameInDev = "useReducer";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return rerenderReducer(reducer, initialArg, init);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useRef: function() {
currentHookNameInDev = "useRef";
warnInvalidHookAccess();
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useState: function() {
currentHookNameInDev = "useState";
warnInvalidHookAccess();
updateHookTypesDev();
var prevDispatcher = ReactSharedInternals.H;
ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;
try {
return rerenderReducer(basicStateReducer);
} finally {
ReactSharedInternals.H = prevDispatcher;
}
},
useDebugValue: function() {
currentHookNameInDev = "useDebugValue";
warnInvalidHookAccess();
updateHookTypesDev();
},
useDeferredValue: function(value, initialValue) {
currentHookNameInDev = "useDeferredValue";
warnInvalidHookAccess();
updateHookTypesDev();
return rerenderDeferredValue(value, initialValue);
},
useTransition: function() {
currentHookNameInDev = "useTransition";
warnInvalidHookAccess();
updateHookTypesDev();
return rerenderTransition();
},
useSyncExternalStore: function(subscribe2, getSnapshot, getServerSnapshot) {
currentHookNameInDev = "useSyncExternalStore";
warnInvalidHookAccess();
updateHookTypesDev();
return updateSyncExternalStore(subscribe2, getSnapshot, getServerSnapshot);
},
useId: function() {
currentHookNameInDev = "useId";
warnInvalidHookAccess();
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useFormState: function(action) {
currentHookNameInDev = "useFormState";
warnInvalidHookAccess();
updateHookTypesDev();
return rerenderActionState(action);
},
useActionState: function(action) {
currentHookNameInDev = "useActionState";
warnInvalidHookAccess();
updateHookTypesDev();
return rerenderActionState(action);
},
useOptimistic: function(passthrough, reducer) {
currentHookNameInDev = "useOptimistic";
warnInvalidHookAccess();
updateHookTypesDev();
return rerenderOptimistic(passthrough, reducer);
},
useMemoCache: function(size) {
warnInvalidHookAccess();
return useMemoCache(size);
},
useHostTransitionStatus,
useCacheRefresh: function() {
currentHookNameInDev = "useCacheRefresh";
updateHookTypesDev();
return updateWorkInProgressHook().memoizedState;
},
useEffectEvent: function(callback) {
currentHookNameInDev = "useEffectEvent";
warnInvalidHookAccess();
updateHookTypesDev();
return updateEvent(callback);
}
};
var fakeInternalInstance = {};
var didWarnAboutStateAssignmentForComponent = new Set;
var didWarnAboutUninitializedState = new Set;
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set;
var didWarnAboutLegacyLifecyclesAndDerivedState = new Set;
var didWarnAboutDirectlyAssigningPropsToState = new Set;
var didWarnAboutUndefinedDerivedState = new Set;
var didWarnAboutContextTypes$1 = new Set;
var didWarnAboutChildContextTypes = new Set;
var didWarnAboutInvalidateContextType = new Set;
var didWarnOnInvalidCallback = new Set;
Object.freeze(fakeInternalInstance);
var classComponentUpdater = {
enqueueSetState: function(inst, payload, callback) {
inst = inst._reactInternals;
var lane = requestUpdateLane(inst), update = createUpdate(lane);
update.payload = payload;
callback !== undefined && callback !== null && (warnOnInvalidCallback(callback), update.callback = callback);
payload = enqueueUpdate(inst, update, lane);
payload !== null && (startUpdateTimerByLane(lane, "this.setState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
},
enqueueReplaceState: function(inst, payload, callback) {
inst = inst._reactInternals;
var lane = requestUpdateLane(inst), update = createUpdate(lane);
update.tag = ReplaceState;
update.payload = payload;
callback !== undefined && callback !== null && (warnOnInvalidCallback(callback), update.callback = callback);
payload = enqueueUpdate(inst, update, lane);
payload !== null && (startUpdateTimerByLane(lane, "this.replaceState()", inst), scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane));
},
enqueueForceUpdate: function(inst, callback) {
inst = inst._reactInternals;
var lane = requestUpdateLane(inst), update = createUpdate(lane);
update.tag = ForceUpdate;
callback !== undefined && callback !== null && (warnOnInvalidCallback(callback), update.callback = callback);
callback = enqueueUpdate(inst, update, lane);
callback !== null && (startUpdateTimerByLane(lane, "this.forceUpdate()", inst), scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane));
}
}, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error("This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue."), didReceiveUpdate = false;
var didWarnAboutBadClass = {};
var didWarnAboutContextTypeOnFunctionComponent = {};
var didWarnAboutContextTypes = {};
var didWarnAboutGetDerivedStateOnFunctionComponent = {};
var didWarnAboutReassigningProps = false;
var didWarnAboutRevealOrder = {};
var didWarnAboutTailOptions = {};
var SUSPENDED_MARKER = {
dehydrated: null,
treeContext: null,
retryLane: 0,
hydrationErrors: null
}, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null;
didWarnAboutUndefinedSnapshotBeforeUpdate = new Set;
var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = typeof WeakSet === "function" ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, inHydratedSubtree = false, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = {
getCacheForType: function(resourceType) {
var cache2 = readContext(CacheContext), cacheForType = cache2.data.get(resourceType);
cacheForType === undefined && (cacheForType = resourceType(), cache2.data.set(resourceType, cacheForType));
return cacheForType;
},
cacheSignal: function() {
return readContext(CacheContext).controller.signal;
},
getOwner: function() {
return current;
}
}, COMPONENT_TYPE = 0, HAS_PSEUDO_CLASS_TYPE = 1, ROLE_TYPE = 2, TEST_NAME_TYPE = 3, TEXT_TYPE = 4;
if (typeof Symbol === "function" && Symbol.for) {
var symbolFor = Symbol.for;
COMPONENT_TYPE = symbolFor("selector.component");
HAS_PSEUDO_CLASS_TYPE = symbolFor("selector.has_pseudo_class");
ROLE_TYPE = symbolFor("selector.role");
TEST_NAME_TYPE = symbolFor("selector.test_id");
TEXT_TYPE = symbolFor("selector.text");
}
var commitHooks = [], PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, globalMostRecentTransitionTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, workInProgressUpdateTask = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, ABORTED_VIEW_TRANSITION_COMMIT = 1, DELAYED_PASSIVE_COMMIT = 2, ANIMATION_STARTED_COMMIT = 3, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingEffectsRenderEndTime = -0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, pendingSuspendedCommitReason = null, pendingDelayedCommitReason = IMMEDIATE_COMMIT, pendingSuspendedViewTransitionReason = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false;
var didWarnAboutUpdateInRenderForAnotherComponent = new Set;
var fakeActCallbackNode = {}, resolveFamily2 = null, failedBoundaries = null;
var hasBadMapPolyfill = false;
try {
var nonExtensibleObject = Object.preventExtensions({});
new Map([[nonExtensibleObject, null]]);
new Set([nonExtensibleObject]);
} catch (e2) {
hasBadMapPolyfill = true;
}
var didWarnAboutNestedUpdates = false;
var didWarnAboutFindNodeInStrictMode = {};
var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, scheduleRetry = null, setErrorHandler = null, setSuspenseHandler = null;
overrideHookState = function(fiber, id, path13, value) {
id = findHook(fiber, id);
id !== null && (path13 = copyWithSetImpl(id.memoizedState, path13, 0, value), id.memoizedState = path13, id.baseState = path13, fiber.memoizedProps = assign({}, fiber.memoizedProps), path13 = enqueueConcurrentRenderForLane(fiber, 2), path13 !== null && scheduleUpdateOnFiber(path13, fiber, 2));
};
overrideHookStateDeletePath = function(fiber, id, path13) {
id = findHook(fiber, id);
id !== null && (path13 = copyWithDeleteImpl(id.memoizedState, path13, 0), id.memoizedState = path13, id.baseState = path13, fiber.memoizedProps = assign({}, fiber.memoizedProps), path13 = enqueueConcurrentRenderForLane(fiber, 2), path13 !== null && scheduleUpdateOnFiber(path13, fiber, 2));
};
overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) {
id = findHook(fiber, id);
id !== null && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), oldPath !== null && scheduleUpdateOnFiber(oldPath, fiber, 2));
};
overrideProps = function(fiber, path13, value) {
fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path13, 0, value);
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
path13 = enqueueConcurrentRenderForLane(fiber, 2);
path13 !== null && scheduleUpdateOnFiber(path13, fiber, 2);
};
overridePropsDeletePath = function(fiber, path13) {
fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path13, 0);
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
path13 = enqueueConcurrentRenderForLane(fiber, 2);
path13 !== null && scheduleUpdateOnFiber(path13, fiber, 2);
};
overridePropsRenamePath = function(fiber, oldPath, newPath) {
fiber.pendingProps = copyWithRename(fiber.memoizedProps, oldPath, newPath);
fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);
oldPath = enqueueConcurrentRenderForLane(fiber, 2);
oldPath !== null && scheduleUpdateOnFiber(oldPath, fiber, 2);
};
scheduleUpdate = function(fiber) {
var root2 = enqueueConcurrentRenderForLane(fiber, 2);
root2 !== null && scheduleUpdateOnFiber(root2, fiber, 2);
};
scheduleRetry = function(fiber) {
var lane = claimNextRetryLane(), root2 = enqueueConcurrentRenderForLane(fiber, lane);
root2 !== null && scheduleUpdateOnFiber(root2, fiber, lane);
};
setErrorHandler = function(newShouldErrorImpl) {
shouldErrorImpl = newShouldErrorImpl;
};
setSuspenseHandler = function(newShouldSuspendImpl) {
shouldSuspendImpl = newShouldSuspendImpl;
};
exports2.attemptContinuousHydration = function(fiber) {
if (fiber.tag === 13 || fiber.tag === 31) {
var root2 = enqueueConcurrentRenderForLane(fiber, 67108864);
root2 !== null && scheduleUpdateOnFiber(root2, fiber, 67108864);
markRetryLaneIfNotHydrated(fiber, 67108864);
}
};
exports2.attemptHydrationAtCurrentPriority = function(fiber) {
if (fiber.tag === 13 || fiber.tag === 31) {
var lane = requestUpdateLane(fiber);
lane = getBumpedLaneForHydrationByLane(lane);
var root2 = enqueueConcurrentRenderForLane(fiber, lane);
root2 !== null && scheduleUpdateOnFiber(root2, fiber, lane);
markRetryLaneIfNotHydrated(fiber, lane);
}
};
exports2.attemptSynchronousHydration = function(fiber) {
switch (fiber.tag) {
case 3:
fiber = fiber.stateNode;
if (fiber.current.memoizedState.isDehydrated) {
var lanes = getHighestPriorityLanes(fiber.pendingLanes);
if (lanes !== 0) {
fiber.pendingLanes |= 2;
for (fiber.entangledLanes |= 2;lanes; ) {
var lane = 1 << 31 - clz32(lanes);
fiber.entanglements[1] |= lane;
lanes &= ~lane;
}
ensureRootIsScheduled(fiber);
(executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false));
}
}
break;
case 31:
case 13:
lanes = enqueueConcurrentRenderForLane(fiber, 2), lanes !== null && scheduleUpdateOnFiber(lanes, fiber, 2), flushSyncWork(), markRetryLaneIfNotHydrated(fiber, 2);
}
};
exports2.batchedUpdates = function(fn, a2) {
return fn(a2);
};
exports2.createComponentSelector = function(component) {
return { $$typeof: COMPONENT_TYPE, value: component };
};
exports2.createContainer = function(containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator) {
return createFiberRoot(containerInfo, tag, false, null, hydrationCallbacks, isStrictMode, identifierPrefix, null, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator);
};
exports2.createHasPseudoClassSelector = function(selectors) {
return { $$typeof: HAS_PSEUDO_CLASS_TYPE, value: selectors };
};
exports2.createHydrationContainer = function(initialChildren, callback, containerInfo, tag, hydrationCallbacks, isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator, transitionCallbacks, formState) {
initialChildren = createFiberRoot(containerInfo, tag, true, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, formState, onUncaughtError, onCaughtError, onRecoverableError, onDefaultTransitionIndicator);
initialChildren.context = getContextForSubtree(null);
containerInfo = initialChildren.current;
tag = requestUpdateLane(containerInfo);
tag = getBumpedLaneForHydrationByLane(tag);
hydrationCallbacks = createUpdate(tag);
hydrationCallbacks.callback = callback !== undefined && callback !== null ? callback : null;
enqueueUpdate(containerInfo, hydrationCallbacks, tag);
startUpdateTimerByLane(tag, "hydrateRoot()", null);
callback = tag;
initialChildren.current.lanes = callback;
markRootUpdated$1(initialChildren, callback);
ensureRootIsScheduled(initialChildren);
return initialChildren;
};
exports2.createPortal = function(children2, containerInfo, implementation) {
var key = 3 < arguments.length && arguments[3] !== undefined ? arguments[3] : null;
try {
testStringCoercion(key);
var JSCompiler_inline_result = false;
} catch (e$6) {
JSCompiler_inline_result = true;
}
JSCompiler_inline_result && (console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", typeof Symbol === "function" && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"), testStringCoercion(key));
return {
$$typeof: REACT_PORTAL_TYPE,
key: key == null ? null : "" + key,
children: children2,
containerInfo,
implementation
};
};
exports2.createRoleSelector = function(role) {
return { $$typeof: ROLE_TYPE, value: role };
};
exports2.createTestNameSelector = function(id) {
return { $$typeof: TEST_NAME_TYPE, value: id };
};
exports2.createTextSelector = function(text) {
return { $$typeof: TEXT_TYPE, value: text };
};
exports2.defaultOnCaughtError = function(error52) {
var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + ".");
typeof error52 === "object" && error52 !== null && typeof error52.environmentName === "string" ? bindToConsole("error", [`%o
%s
%s
`, error52, componentNameMessage, recreateMessage], error52.environmentName)() : console.error(`%o
%s
%s
`, error52, componentNameMessage, recreateMessage);
};
exports2.defaultOnRecoverableError = function(error52) {
reportGlobalError(error52);
};
exports2.defaultOnUncaughtError = function(error52) {
reportGlobalError(error52);
console.warn(`%s
%s
`, componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.", `Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://react.dev/link/error-boundaries to learn more about error boundaries.`);
};
exports2.deferredUpdates = function(fn) {
var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority();
try {
return setCurrentUpdatePriority(32), ReactSharedInternals.T = null, fn();
} finally {
setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition;
}
};
exports2.discreteUpdates = function(fn, a2, b2, c5, d) {
var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority();
try {
return setCurrentUpdatePriority(2), ReactSharedInternals.T = null, fn(a2, b2, c5, d);
} finally {
setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition, executionContext === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS);
}
};
exports2.findAllNodes = findAllNodes;
exports2.findBoundingRects = function(hostRoot, selectors) {
if (!supportsTestSelectors)
throw Error("Test selector API is not supported by this renderer.");
selectors = findAllNodes(hostRoot, selectors);
hostRoot = [];
for (var i3 = 0;i3 < selectors.length; i3++)
hostRoot.push(getBoundingRect(selectors[i3]));
for (selectors = hostRoot.length - 1;0 < selectors; selectors--) {
i3 = hostRoot[selectors];
for (var targetLeft = i3.x, targetRight = targetLeft + i3.width, targetTop = i3.y, targetBottom = targetTop + i3.height, j2 = selectors - 1;0 <= j2; j2--)
if (selectors !== j2) {
var otherRect = hostRoot[j2], otherLeft = otherRect.x, otherRight = otherLeft + otherRect.width, otherTop = otherRect.y, otherBottom = otherTop + otherRect.height;
if (targetLeft >= otherLeft && targetTop >= otherTop && targetRight <= otherRight && targetBottom <= otherBottom) {
hostRoot.splice(selectors, 1);
break;
} else if (!(targetLeft !== otherLeft || i3.width !== otherRect.width || otherBottom < targetTop || otherTop > targetBottom)) {
otherTop > targetTop && (otherRect.height += otherTop - targetTop, otherRect.y = targetTop);
otherBottom < targetBottom && (otherRect.height = targetBottom - otherTop);
hostRoot.splice(selectors, 1);
break;
} else if (!(targetTop !== otherTop || i3.height !== otherRect.height || otherRight < targetLeft || otherLeft > targetRight)) {
otherLeft > targetLeft && (otherRect.width += otherLeft - targetLeft, otherRect.x = targetLeft);
otherRight < targetRight && (otherRect.width = targetRight - otherLeft);
hostRoot.splice(selectors, 1);
break;
}
}
}
return hostRoot;
};
exports2.findHostInstance = function(component) {
var fiber = component._reactInternals;
if (fiber === undefined) {
if (typeof component.render === "function")
throw Error("Unable to find node on an unmounted component.");
component = Object.keys(component).join(",");
throw Error("Argument appears to not be a ReactComponent. Keys: " + component);
}
component = findCurrentHostFiber(fiber);
return component === null ? null : getPublicInstance(component.stateNode);
};
exports2.findHostInstanceWithNoPortals = function(fiber) {
fiber = findCurrentFiberUsingSlowPath(fiber);
fiber = fiber !== null ? findCurrentHostFiberWithNoPortalsImpl(fiber) : null;
return fiber === null ? null : getPublicInstance(fiber.stateNode);
};
exports2.findHostInstanceWithWarning = function(component, methodName) {
var fiber = component._reactInternals;
if (fiber === undefined) {
if (typeof component.render === "function")
throw Error("Unable to find node on an unmounted component.");
component = Object.keys(component).join(",");
throw Error("Argument appears to not be a ReactComponent. Keys: " + component);
}
component = findCurrentHostFiber(fiber);
if (component === null)
return null;
if (component.mode & 8) {
var componentName2 = getComponentNameFromFiber(fiber) || "Component";
didWarnAboutFindNodeInStrictMode[componentName2] || (didWarnAboutFindNodeInStrictMode[componentName2] = true, runWithFiberInDEV(component, function() {
fiber.mode & 8 ? console.error("%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://react.dev/link/strict-mode-find-node", methodName, methodName, componentName2) : console.error("%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://react.dev/link/strict-mode-find-node", methodName, methodName, componentName2);
}));
}
return getPublicInstance(component.stateNode);
};
exports2.flushPassiveEffects = flushPendingEffects;
exports2.flushSyncFromReconciler = function(fn) {
var prevExecutionContext = executionContext;
executionContext |= 1;
var prevTransition = ReactSharedInternals.T, previousPriority = getCurrentUpdatePriority();
try {
if (setCurrentUpdatePriority(2), ReactSharedInternals.T = null, fn)
return fn();
} finally {
setCurrentUpdatePriority(previousPriority), ReactSharedInternals.T = prevTransition, executionContext = prevExecutionContext, (executionContext & (RenderContext | CommitContext)) === NoContext && flushSyncWorkAcrossRoots_impl(0, false);
}
};
exports2.flushSyncWork = flushSyncWork;
exports2.focusWithin = function(hostRoot, selectors) {
if (!supportsTestSelectors)
throw Error("Test selector API is not supported by this renderer.");
hostRoot = findFiberRootForHostRoot(hostRoot);
selectors = findPaths(hostRoot, selectors);
selectors = Array.from(selectors);
for (hostRoot = 0;hostRoot < selectors.length; ) {
var fiber = selectors[hostRoot++], tag = fiber.tag;
if (!isHiddenSubtree(fiber)) {
if ((tag === 5 || tag === 26 || tag === 27) && setFocusIfFocusable(fiber.stateNode))
return true;
for (fiber = fiber.child;fiber !== null; )
selectors.push(fiber), fiber = fiber.sibling;
}
}
return false;
};
exports2.getFindAllNodesFailureDescription = function(hostRoot, selectors) {
if (!supportsTestSelectors)
throw Error("Test selector API is not supported by this renderer.");
var maxSelectorIndex = 0, matchedNames = [];
hostRoot = [findFiberRootForHostRoot(hostRoot), 0];
for (var index = 0;index < hostRoot.length; ) {
var fiber = hostRoot[index++], tag = fiber.tag, selectorIndex = hostRoot[index++], selector = selectors[selectorIndex];
if (tag !== 5 && tag !== 26 && tag !== 27 || !isHiddenSubtree(fiber)) {
if (matchSelector(fiber, selector) && (matchedNames.push(selectorToString(selector)), selectorIndex++, selectorIndex > maxSelectorIndex && (maxSelectorIndex = selectorIndex)), selectorIndex < selectors.length)
for (fiber = fiber.child;fiber !== null; )
hostRoot.push(fiber, selectorIndex), fiber = fiber.sibling;
}
}
if (maxSelectorIndex < selectors.length) {
for (hostRoot = [];maxSelectorIndex < selectors.length; maxSelectorIndex++)
hostRoot.push(selectorToString(selectors[maxSelectorIndex]));
return `findAllNodes was able to match part of the selector:
` + (matchedNames.join(" > ") + `
No matching component was found for:
`) + hostRoot.join(" > ");
}
return null;
};
exports2.getPublicRootInstance = function(container) {
container = container.current;
if (!container.child)
return null;
switch (container.child.tag) {
case 27:
case 5:
return getPublicInstance(container.child.stateNode);
default:
return container.child.stateNode;
}
};
exports2.injectIntoDevTools = function() {
var internals = {
bundleType: 1,
version: rendererVersion,
rendererPackageName,
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0"
};
extraDevToolsConfig !== null && (internals.rendererConfig = extraDevToolsConfig);
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
internals.overrideHookStateRenamePath = overrideHookStateRenamePath;
internals.overrideProps = overrideProps;
internals.overridePropsDeletePath = overridePropsDeletePath;
internals.overridePropsRenamePath = overridePropsRenamePath;
internals.scheduleUpdate = scheduleUpdate;
internals.scheduleRetry = scheduleRetry;
internals.setErrorHandler = setErrorHandler;
internals.setSuspenseHandler = setSuspenseHandler;
internals.scheduleRefresh = scheduleRefresh;
internals.scheduleRoot = scheduleRoot;
internals.setRefreshHandler = setRefreshHandler;
internals.getCurrentFiber = getCurrentFiberForDevTools;
return injectInternals(internals);
};
exports2.isAlreadyRendering = isAlreadyRendering;
exports2.observeVisibleRects = function(hostRoot, selectors, callback, options) {
function commitHook() {
var nextInstanceRoots = findAllNodes(hostRoot, selectors);
instanceRoots.forEach(function(target) {
0 > nextInstanceRoots.indexOf(target) && unobserve(target);
});
nextInstanceRoots.forEach(function(target) {
0 > instanceRoots.indexOf(target) && observe(target);
});
}
if (!supportsTestSelectors)
throw Error("Test selector API is not supported by this renderer.");
var instanceRoots = findAllNodes(hostRoot, selectors);
callback = setupIntersectionObserver(instanceRoots, callback, options);
var { disconnect: disconnect2, observe, unobserve } = callback;
commitHooks.push(commitHook);
return {
disconnect: function() {
var index = commitHooks.indexOf(commitHook);
0 <= index && commitHooks.splice(index, 1);
disconnect2();
}
};
};
exports2.shouldError = function(fiber) {
return shouldErrorImpl(fiber);
};
exports2.shouldSuspend = function(fiber) {
return shouldSuspendImpl(fiber);
};
exports2.startHostTransition = function(formFiber, pendingState, action, formData) {
if (formFiber.tag !== 5)
throw Error("Expected the form instance to be a HostComponent. This is a bug in React.");
var queue = ensureFormComponentIsStateful(formFiber).queue;
startHostActionTimer(formFiber);
startTransition(formFiber, queue, pendingState, NotPendingTransition, action === null ? noop9 : function() {
ReactSharedInternals.T === null && console.error("requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition.");
var stateHook = ensureFormComponentIsStateful(formFiber);
stateHook.next === null && (stateHook = formFiber.alternate.memoizedState);
dispatchSetStateInternal(formFiber, stateHook.next.queue, {}, requestUpdateLane(formFiber));
return action(formData);
});
};
exports2.updateContainer = function(element, container, parentComponent, callback) {
var current2 = container.current, lane = requestUpdateLane(current2);
updateContainerImpl(current2, lane, element, container, parentComponent, callback);
return lane;
};
exports2.updateContainerSync = updateContainerSync;
return exports2;
}, module.exports.default = module.exports, Object.defineProperty(module.exports, "__esModule", { value: true });
});
// node_modules/.pnpm/react-reconciler@0.33.0_react@19.2.4/node_modules/react-reconciler/index.js
var require_react_reconciler = __commonJS((exports, module) => {
if (false) {} else {
module.exports = require_react_reconciler_development();
}
});
// src/ink/layout/node.ts
var LayoutEdge, LayoutGutter, LayoutDisplay, LayoutFlexDirection, LayoutAlign, LayoutJustify, LayoutWrap, LayoutPositionType, LayoutOverflow, LayoutMeasureMode;
var init_node4 = __esm(() => {
LayoutEdge = {
All: "all",
Horizontal: "horizontal",
Vertical: "vertical",
Left: "left",
Right: "right",
Top: "top",
Bottom: "bottom",
Start: "start",
End: "end"
};
LayoutGutter = {
All: "all",
Column: "column",
Row: "row"
};
LayoutDisplay = {
Flex: "flex",
None: "none"
};
LayoutFlexDirection = {
Row: "row",
RowReverse: "row-reverse",
Column: "column",
ColumnReverse: "column-reverse"
};
LayoutAlign = {
Auto: "auto",
Stretch: "stretch",
FlexStart: "flex-start",
Center: "center",
FlexEnd: "flex-end"
};
LayoutJustify = {
FlexStart: "flex-start",
Center: "center",
FlexEnd: "flex-end",
SpaceBetween: "space-between",
SpaceAround: "space-around",
SpaceEvenly: "space-evenly"
};
LayoutWrap = {
NoWrap: "nowrap",
Wrap: "wrap",
WrapReverse: "wrap-reverse"
};
LayoutPositionType = {
Relative: "relative",
Absolute: "absolute"
};
LayoutOverflow = {
Visible: "visible",
Hidden: "hidden",
Scroll: "scroll"
};
LayoutMeasureMode = {
Undefined: "undefined",
Exactly: "exactly",
AtMost: "at-most"
};
});
// src/ink/layout/yoga.ts
class YogaLayoutNode {
yoga;
constructor(yoga) {
this.yoga = yoga;
}
insertChild(child, index) {
this.yoga.insertChild(child.yoga, index);
}
removeChild(child) {
this.yoga.removeChild(child.yoga);
}
getChildCount() {
return this.yoga.getChildCount();
}
getParent() {
const p = this.yoga.getParent();
return p ? new YogaLayoutNode(p) : null;
}
calculateLayout(width, _height) {
this.yoga.calculateLayout(width, undefined, Direction.LTR);
}
setMeasureFunc(fn) {
this.yoga.setMeasureFunc((w2, wMode) => {
const mode = wMode === MeasureMode.Exactly ? LayoutMeasureMode.Exactly : wMode === MeasureMode.AtMost ? LayoutMeasureMode.AtMost : LayoutMeasureMode.Undefined;
return fn(w2, mode);
});
}
unsetMeasureFunc() {
this.yoga.unsetMeasureFunc();
}
markDirty() {
this.yoga.markDirty();
}
getComputedLeft() {
return this.yoga.getComputedLeft();
}
getComputedTop() {
return this.yoga.getComputedTop();
}
getComputedWidth() {
return this.yoga.getComputedWidth();
}
getComputedHeight() {
return this.yoga.getComputedHeight();
}
getComputedBorder(edge) {
return this.yoga.getComputedBorder(EDGE_MAP[edge]);
}
getComputedPadding(edge) {
return this.yoga.getComputedPadding(EDGE_MAP[edge]);
}
setWidth(value) {
this.yoga.setWidth(value);
}
setWidthPercent(value) {
this.yoga.setWidthPercent(value);
}
setWidthAuto() {
this.yoga.setWidthAuto();
}
setHeight(value) {
this.yoga.setHeight(value);
}
setHeightPercent(value) {
this.yoga.setHeightPercent(value);
}
setHeightAuto() {
this.yoga.setHeightAuto();
}
setMinWidth(value) {
this.yoga.setMinWidth(value);
}
setMinWidthPercent(value) {
this.yoga.setMinWidthPercent(value);
}
setMinHeight(value) {
this.yoga.setMinHeight(value);
}
setMinHeightPercent(value) {
this.yoga.setMinHeightPercent(value);
}
setMaxWidth(value) {
this.yoga.setMaxWidth(value);
}
setMaxWidthPercent(value) {
this.yoga.setMaxWidthPercent(value);
}
setMaxHeight(value) {
this.yoga.setMaxHeight(value);
}
setMaxHeightPercent(value) {
this.yoga.setMaxHeightPercent(value);
}
setFlexDirection(dir) {
const map3 = {
row: FlexDirection.Row,
"row-reverse": FlexDirection.RowReverse,
column: FlexDirection.Column,
"column-reverse": FlexDirection.ColumnReverse
};
this.yoga.setFlexDirection(map3[dir]);
}
setFlexGrow(value) {
this.yoga.setFlexGrow(value);
}
setFlexShrink(value) {
this.yoga.setFlexShrink(value);
}
setFlexBasis(value) {
this.yoga.setFlexBasis(value);
}
setFlexBasisPercent(value) {
this.yoga.setFlexBasisPercent(value);
}
setFlexWrap(wrap) {
const map3 = {
nowrap: Wrap.NoWrap,
wrap: Wrap.Wrap,
"wrap-reverse": Wrap.WrapReverse
};
this.yoga.setFlexWrap(map3[wrap]);
}
setAlignItems(align) {
const map3 = {
auto: Align.Auto,
stretch: Align.Stretch,
"flex-start": Align.FlexStart,
center: Align.Center,
"flex-end": Align.FlexEnd
};
this.yoga.setAlignItems(map3[align]);
}
setAlignSelf(align) {
const map3 = {
auto: Align.Auto,
stretch: Align.Stretch,
"flex-start": Align.FlexStart,
center: Align.Center,
"flex-end": Align.FlexEnd
};
this.yoga.setAlignSelf(map3[align]);
}
setJustifyContent(justify) {
const map3 = {
"flex-start": Justify.FlexStart,
center: Justify.Center,
"flex-end": Justify.FlexEnd,
"space-between": Justify.SpaceBetween,
"space-around": Justify.SpaceAround,
"space-evenly": Justify.SpaceEvenly
};
this.yoga.setJustifyContent(map3[justify]);
}
setDisplay(display) {
this.yoga.setDisplay(display === "flex" ? Display.Flex : Display.None);
}
getDisplay() {
return this.yoga.getDisplay() === Display.None ? LayoutDisplay.None : LayoutDisplay.Flex;
}
setPositionType(type) {
this.yoga.setPositionType(type === "absolute" ? PositionType.Absolute : PositionType.Relative);
}
setPosition(edge, value) {
this.yoga.setPosition(EDGE_MAP[edge], value);
}
setPositionPercent(edge, value) {
this.yoga.setPositionPercent(EDGE_MAP[edge], value);
}
setOverflow(overflow) {
const map3 = {
visible: Overflow.Visible,
hidden: Overflow.Hidden,
scroll: Overflow.Scroll
};
this.yoga.setOverflow(map3[overflow]);
}
setMargin(edge, value) {
this.yoga.setMargin(EDGE_MAP[edge], value);
}
setPadding(edge, value) {
this.yoga.setPadding(EDGE_MAP[edge], value);
}
setBorder(edge, value) {
this.yoga.setBorder(EDGE_MAP[edge], value);
}
setGap(gutter, value) {
this.yoga.setGap(GUTTER_MAP[gutter], value);
}
free() {
this.yoga.free();
}
freeRecursive() {
this.yoga.freeRecursive();
}
}
function createYogaLayoutNode() {
return new YogaLayoutNode(yoga_layout_default.Node.create());
}
var EDGE_MAP, GUTTER_MAP;
var init_yoga = __esm(() => {
init_yoga_layout();
init_node4();
EDGE_MAP = {
all: Edge.All,
horizontal: Edge.Horizontal,
vertical: Edge.Vertical,
left: Edge.Left,
right: Edge.Right,
top: Edge.Top,
bottom: Edge.Bottom,
start: Edge.Start,
end: Edge.End
};
GUTTER_MAP = {
all: Gutter.All,
column: Gutter.Column,
row: Gutter.Row
};
});
// src/ink/layout/engine.ts
function createLayoutNode() {
return createYogaLayoutNode();
}
var init_engine = __esm(() => {
init_yoga();
});
// src/ink/line-width-cache.ts
function lineWidth(line) {
const cached2 = cache2.get(line);
if (cached2 !== undefined)
return cached2;
const width = stringWidth(line);
if (cache2.size >= MAX_CACHE_SIZE) {
cache2.clear();
}
cache2.set(line, width);
return width;
}
var cache2, MAX_CACHE_SIZE = 4096;
var init_line_width_cache = __esm(() => {
init_stringWidth();
cache2 = new Map;
});
// src/ink/measure-text.ts
function measureText(text, maxWidth) {
if (text.length === 0) {
return {
width: 0,
height: 0
};
}
const noWrap = maxWidth <= 0 || !Number.isFinite(maxWidth);
let height = 0;
let width = 0;
let start = 0;
while (start <= text.length) {
const end = text.indexOf(`
`, start);
const line = end === -1 ? text.substring(start) : text.substring(start, end);
const w2 = lineWidth(line);
width = Math.max(width, w2);
if (noWrap) {
height++;
} else {
height += w2 === 0 ? 1 : Math.ceil(w2 / maxWidth);
}
if (end === -1)
break;
start = end + 1;
}
return { width, height };
}
var measure_text_default;
var init_measure_text = __esm(() => {
init_line_width_cache();
measure_text_default = measureText;
});
// src/ink/node-cache.ts
function addPendingClear(parent, rect, isAbsolute5) {
const existing = pendingClears.get(parent);
if (existing) {
existing.push(rect);
} else {
pendingClears.set(parent, [rect]);
}
if (isAbsolute5) {
absoluteNodeRemoved = true;
}
}
function consumeAbsoluteRemovedFlag() {
const had = absoluteNodeRemoved;
absoluteNodeRemoved = false;
return had;
}
var nodeCache, pendingClears, absoluteNodeRemoved = false;
var init_node_cache = __esm(() => {
nodeCache = new WeakMap;
pendingClears = new WeakMap;
});
// src/ink/squash-text-nodes.ts
function squashTextNodesToSegments(node, inheritedStyles = {}, inheritedHyperlink, out = []) {
const mergedStyles = node.textStyles ? { ...inheritedStyles, ...node.textStyles } : inheritedStyles;
for (const childNode of node.childNodes) {
if (childNode === undefined) {
continue;
}
if (childNode.nodeName === "#text") {
if (childNode.nodeValue.length > 0) {
out.push({
text: childNode.nodeValue,
styles: mergedStyles,
hyperlink: inheritedHyperlink
});
}
} else if (childNode.nodeName === "ink-text" || childNode.nodeName === "ink-virtual-text") {
squashTextNodesToSegments(childNode, mergedStyles, inheritedHyperlink, out);
} else if (childNode.nodeName === "ink-link") {
const href = childNode.attributes["href"];
squashTextNodesToSegments(childNode, mergedStyles, href || inheritedHyperlink, out);
}
}
return out;
}
function squashTextNodes(node) {
let text = "";
for (const childNode of node.childNodes) {
if (childNode === undefined) {
continue;
}
if (childNode.nodeName === "#text") {
text += childNode.nodeValue;
} else if (childNode.nodeName === "ink-text" || childNode.nodeName === "ink-virtual-text") {
text += squashTextNodes(childNode);
} else if (childNode.nodeName === "ink-link") {
text += squashTextNodes(childNode);
}
}
return text;
}
var squash_text_nodes_default;
var init_squash_text_nodes = __esm(() => {
squash_text_nodes_default = squashTextNodes;
});
// src/ink/tabstops.ts
function expandTabs(text, interval = DEFAULT_TAB_INTERVAL) {
if (!text.includes("\t")) {
return text;
}
const tokenizer = createTokenizer();
const tokens = tokenizer.feed(text);
tokens.push(...tokenizer.flush());
let result = "";
let column = 0;
for (const token of tokens) {
if (token.type === "sequence") {
result += token.value;
} else {
const parts = token.value.split(/(\t|\n)/);
for (const part of parts) {
if (part === "\t") {
const spaces = interval - column % interval;
result += " ".repeat(spaces);
column += spaces;
} else if (part === `
`) {
result += part;
column = 0;
} else {
result += part;
column += stringWidth(part);
}
}
}
}
return result;
}
var DEFAULT_TAB_INTERVAL = 8;
var init_tabstops = __esm(() => {
init_stringWidth();
init_tokenize();
});
// node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js
function assembleStyles2() {
const codes = new Map;
for (const [groupName, group] of Object.entries(styles3)) {
for (const [styleName, style] of Object.entries(group)) {
styles3[styleName] = {
open: `\x1B[${style[0]}m`,
close: `\x1B[${style[1]}m`
};
group[styleName] = styles3[styleName];
codes.set(style[0], style[1]);
}
Object.defineProperty(styles3, groupName, {
value: group,
enumerable: false
});
}
Object.defineProperty(styles3, "codes", {
value: codes,
enumerable: false
});
styles3.color.close = "\x1B[39m";
styles3.bgColor.close = "\x1B[49m";
styles3.color.ansi = wrapAnsi162();
styles3.color.ansi256 = wrapAnsi2562();
styles3.color.ansi16m = wrapAnsi16m2();
styles3.bgColor.ansi = wrapAnsi162(ANSI_BACKGROUND_OFFSET2);
styles3.bgColor.ansi256 = wrapAnsi2562(ANSI_BACKGROUND_OFFSET2);
styles3.bgColor.ansi16m = wrapAnsi16m2(ANSI_BACKGROUND_OFFSET2);
Object.defineProperties(styles3, {
rgbToAnsi256: {
value(red2, green2, blue2) {
if (red2 === green2 && green2 === blue2) {
if (red2 < 8) {
return 16;
}
if (red2 > 248) {
return 231;
}
return Math.round((red2 - 8) / 247 * 24) + 232;
}
return 16 + 36 * Math.round(red2 / 255 * 5) + 6 * Math.round(green2 / 255 * 5) + Math.round(blue2 / 255 * 5);
},
enumerable: false
},
hexToRgb: {
value(hex3) {
const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex3.toString(16));
if (!matches) {
return [0, 0, 0];
}
let [colorString] = matches;
if (colorString.length === 3) {
colorString = [...colorString].map((character) => character + character).join("");
}
const integer2 = Number.parseInt(colorString, 16);
return [
integer2 >> 16 & 255,
integer2 >> 8 & 255,
integer2 & 255
];
},
enumerable: false
},
hexToAnsi256: {
value: (hex3) => styles3.rgbToAnsi256(...styles3.hexToRgb(hex3)),
enumerable: false
},
ansi256ToAnsi: {
value(code) {
if (code < 8) {
return 30 + code;
}
if (code < 16) {
return 90 + (code - 8);
}
let red2;
let green2;
let blue2;
if (code >= 232) {
red2 = ((code - 232) * 10 + 8) / 255;
green2 = red2;
blue2 = red2;
} else {
code -= 16;
const remainder = code % 36;
red2 = Math.floor(code / 36) / 5;
green2 = Math.floor(remainder / 6) / 5;
blue2 = remainder % 6 / 5;
}
const value = Math.max(red2, green2, blue2) * 2;
if (value === 0) {
return 30;
}
let result = 30 + (Math.round(blue2) << 2 | Math.round(green2) << 1 | Math.round(red2));
if (value === 2) {
result += 60;
}
return result;
},
enumerable: false
},
rgbToAnsi: {
value: (red2, green2, blue2) => styles3.ansi256ToAnsi(styles3.rgbToAnsi256(red2, green2, blue2)),
enumerable: false
},
hexToAnsi: {
value: (hex3) => styles3.ansi256ToAnsi(styles3.hexToAnsi256(hex3)),
enumerable: false
}
});
return styles3;
}
var ANSI_BACKGROUND_OFFSET2 = 10, wrapAnsi162 = (offset = 0) => (code) => `\x1B[${code + offset}m`, wrapAnsi2562 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, wrapAnsi16m2 = (offset = 0) => (red2, green2, blue2) => `\x1B[${38 + offset};2;${red2};${green2};${blue2}m`, styles3, modifierNames2, foregroundColorNames2, backgroundColorNames2, colorNames2, ansiStyles2, ansi_styles_default2;
var init_ansi_styles2 = __esm(() => {
styles3 = {
modifier: {
reset: [0, 0],
bold: [1, 22],
dim: [2, 22],
italic: [3, 23],
underline: [4, 24],
overline: [53, 55],
inverse: [7, 27],
hidden: [8, 28],
strikethrough: [9, 29]
},
color: {
black: [30, 39],
red: [31, 39],
green: [32, 39],
yellow: [33, 39],
blue: [34, 39],
magenta: [35, 39],
cyan: [36, 39],
white: [37, 39],
blackBright: [90, 39],
gray: [90, 39],
grey: [90, 39],
redBright: [91, 39],
greenBright: [92, 39],
yellowBright: [93, 39],
blueBright: [94, 39],
magentaBright: [95, 39],
cyanBright: [96, 39],
whiteBright: [97, 39]
},
bgColor: {
bgBlack: [40, 49],
bgRed: [41, 49],
bgGreen: [42, 49],
bgYellow: [43, 49],
bgBlue: [44, 49],
bgMagenta: [45, 49],
bgCyan: [46, 49],
bgWhite: [47, 49],
bgBlackBright: [100, 49],
bgGray: [100, 49],
bgGrey: [100, 49],
bgRedBright: [101, 49],
bgGreenBright: [102, 49],
bgYellowBright: [103, 49],
bgBlueBright: [104, 49],
bgMagentaBright: [105, 49],
bgCyanBright: [106, 49],
bgWhiteBright: [107, 49]
}
};
modifierNames2 = Object.keys(styles3.modifier);
foregroundColorNames2 = Object.keys(styles3.color);
backgroundColorNames2 = Object.keys(styles3.bgColor);
colorNames2 = [...foregroundColorNames2, ...backgroundColorNames2];
ansiStyles2 = assembleStyles2();
ansi_styles_default2 = ansiStyles2;
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/consts.js
var BEL2 = "\x07", ESC2 = "\x1B", BACKSLASH = "\\", CSI2 = "[", OSC = "]", C1_ST = "", CC_BEL, CC_ESC, CC_BACKSLASH, CC_CSI, CC_OSC, CC_C1_ST, CC_0 = 48, CC_9 = 57, CC_SEMI = 59, CC_M = 109, ESCAPES, linkCodePrefix, linkCodePrefixCharCodes, linkEndCode, linkEndCodeST, linkEndCodeC1ST;
var init_consts = __esm(() => {
CC_BEL = BEL2.charCodeAt(0);
CC_ESC = ESC2.charCodeAt(0);
CC_BACKSLASH = BACKSLASH.charCodeAt(0);
CC_CSI = CSI2.charCodeAt(0);
CC_OSC = OSC.charCodeAt(0);
CC_C1_ST = C1_ST.charCodeAt(0);
ESCAPES = new Set([CC_ESC, 155]);
linkCodePrefix = `${ESC2}${OSC}8;`;
linkCodePrefixCharCodes = linkCodePrefix.split("").map((char) => char.charCodeAt(0));
linkEndCode = `${ESC2}${OSC}8;;${BEL2}`;
linkEndCodeST = `${ESC2}${OSC}8;;${ESC2}${BACKSLASH}`;
linkEndCodeC1ST = `${ESC2}${OSC}8;;${C1_ST}`;
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js
function getEndCode(code) {
if (endCodesSet.has(code))
return code;
if (endCodesMap.has(code))
return endCodesMap.get(code);
if (code.startsWith(linkCodePrefix)) {
if (code.endsWith("\x1B\\"))
return linkEndCodeST;
if (code.endsWith(""))
return linkEndCodeC1ST;
return linkEndCode;
}
code = code.slice(2);
if (code.startsWith("38")) {
return ansi_styles_default2.color.close;
} else if (code.startsWith("48")) {
return ansi_styles_default2.bgColor.close;
}
const ret = ansi_styles_default2.codes.get(parseInt(code, 10));
if (ret) {
return ansi_styles_default2.color.ansi(ret);
} else {
return ansi_styles_default2.reset.open;
}
}
function ansiCodesToString(codes) {
const deduplicated = new Set(codes.map((code) => code.code));
return [...deduplicated].join("");
}
function isIntensityCode(code) {
return code.code === ansi_styles_default2.bold.open || code.code === ansi_styles_default2.dim.open;
}
var endCodesSet, endCodesMap;
var init_ansiCodes = __esm(() => {
init_ansi_styles2();
init_consts();
endCodesSet = new Set;
endCodesMap = new Map;
for (const [start, end] of ansi_styles_default2.codes) {
endCodesSet.add(ansi_styles_default2.color.ansi(end));
endCodesMap.set(ansi_styles_default2.color.ansi(start), ansi_styles_default2.color.ansi(end));
}
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/reduce.js
function reduceAnsiCodes(codes) {
return reduceAnsiCodesIncremental([], codes);
}
function reduceAnsiCodesIncremental(codes, newCodes) {
let ret = [...codes];
for (const code of newCodes) {
if (code.code === ansi_styles_default2.reset.open) {
ret = [];
} else if (endCodesSet.has(code.code)) {
ret = ret.filter((retCode) => retCode.endCode !== code.code);
} else {
if (isIntensityCode(code)) {
if (!ret.find((retCode) => retCode.code === code.code && retCode.endCode === code.endCode)) {
ret.push(code);
}
} else {
ret = ret.filter((retCode) => retCode.endCode !== code.endCode);
ret.push(code);
}
}
}
return ret;
}
var init_reduce = __esm(() => {
init_ansi_styles2();
init_ansiCodes();
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/undo.js
function undoAnsiCodes(codes) {
return reduceAnsiCodes(codes).reverse().map((code) => ({
...code,
code: code.endCode
}));
}
var init_undo = __esm(() => {
init_reduce();
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/diff.js
function diffAnsiCodes(from, to) {
const endCodesInTo = new Set(to.map((code) => code.endCode));
const startCodesInTo = new Set(to.map((code) => code.code));
const startCodesInFrom = new Set(from.map((code) => code.code));
return [
...undoAnsiCodes(from.filter((code) => {
if (isIntensityCode(code)) {
return !startCodesInTo.has(code.code);
}
return !endCodesInTo.has(code.endCode);
})),
...to.filter((code) => !startCodesInFrom.has(code.code))
];
}
var init_diff = __esm(() => {
init_ansiCodes();
init_undo();
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/styledChars.js
function styledCharsFromTokens(tokens) {
let codes = [];
const ret = [];
for (const token of tokens) {
if (token.type === "ansi") {
codes = reduceAnsiCodesIncremental(codes, [token]);
} else if (token.type === "char") {
ret.push({
...token,
styles: [...codes]
});
}
}
return ret;
}
var init_styledChars = __esm(() => {
init_ansiCodes();
init_diff();
init_reduce();
});
// node_modules/.pnpm/is-fullwidth-code-point@5.1.0/node_modules/is-fullwidth-code-point/index.js
function isFullwidthCodePoint(codePoint) {
if (!Number.isInteger(codePoint)) {
return false;
}
return isFullWidth(codePoint) || isWide(codePoint);
}
var init_is_fullwidth_code_point = __esm(() => {
init_get_east_asian_width();
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js
function isFullwidthGrapheme(grapheme, baseCodePoint) {
if (isFullwidthCodePoint(baseCodePoint))
return true;
if (grapheme.includes("️"))
return true;
if (baseCodePoint >= 127462 && baseCodePoint <= 127487)
return true;
return false;
}
function parseLinkCode(string4, offset) {
string4 = string4.slice(offset);
for (let index = 1;index < linkCodePrefixCharCodes.length; index++) {
if (string4.charCodeAt(index) !== linkCodePrefixCharCodes[index]) {
return;
}
}
const paramsEndIndex = string4.indexOf(";", linkCodePrefix.length);
if (paramsEndIndex === -1)
return;
const endIndex = findOSCTerminatorIndex(string4, paramsEndIndex + 1);
if (endIndex === -1)
return;
return string4.slice(0, endIndex + 1);
}
function parseOSCSequence(string4, offset) {
string4 = string4.slice(offset);
const endIndex = findOSCTerminatorIndex(string4, 2);
if (endIndex === -1)
return;
return string4.slice(0, endIndex + 1);
}
function findOSCTerminatorIndex(string4, startIndex) {
for (let i3 = startIndex;i3 < string4.length; i3++) {
const ch = string4.charCodeAt(i3);
if (ch === CC_BEL)
return i3;
if (ch === CC_C1_ST)
return i3;
if (ch === CC_ESC && i3 + 1 < string4.length && string4.charCodeAt(i3 + 1) === CC_BACKSLASH) {
return i3 + 1;
}
}
return -1;
}
function findSGRSequenceEndIndex(str) {
for (let index = 2;index < str.length; index++) {
const charCode = str.charCodeAt(index);
if (charCode === CC_M)
return index;
if (charCode === CC_SEMI)
continue;
if (charCode >= CC_0 && charCode <= CC_9)
continue;
break;
}
return -1;
}
function parseSGRSequence(string4, offset) {
string4 = string4.slice(offset);
const endIndex = findSGRSequenceEndIndex(string4);
if (endIndex === -1)
return;
return string4.slice(0, endIndex + 1);
}
function splitCompoundSGRSequences(code) {
if (!code.includes(";")) {
return [code];
}
const codeParts = code.slice(2, -1).split(";");
const ret = [];
for (let i3 = 0;i3 < codeParts.length; i3++) {
const rawCode = codeParts[i3];
if (rawCode === "38" || rawCode === "48") {
if (i3 + 2 < codeParts.length && codeParts[i3 + 1] === "5") {
ret.push(codeParts.slice(i3, i3 + 3).join(";"));
i3 += 2;
continue;
} else if (i3 + 4 < codeParts.length && codeParts[i3 + 1] === "2") {
ret.push(codeParts.slice(i3, i3 + 5).join(";"));
i3 += 4;
continue;
}
}
ret.push(rawCode);
}
return ret.map((part) => `\x1B[${part}m`);
}
function tokenize3(str, endChar = Number.POSITIVE_INFINITY) {
const ret = [];
let visible = 0;
let codeEndIndex = 0;
for (const { segment, index } of segmenter.segment(str)) {
if (index < codeEndIndex)
continue;
const codePoint = segment.codePointAt(0);
if (ESCAPES.has(codePoint)) {
let code;
const nextCodePoint = str.codePointAt(index + 1);
if (nextCodePoint === CC_OSC) {
code = parseLinkCode(str, index);
if (code) {
ret.push({
type: "ansi",
code,
endCode: getEndCode(code)
});
} else {
code = parseOSCSequence(str, index);
if (code) {
ret.push({
type: "control",
code
});
}
}
} else if (nextCodePoint === CC_CSI) {
code = parseSGRSequence(str, index);
if (code) {
const codes = splitCompoundSGRSequences(code);
for (const individualCode of codes) {
ret.push({
type: "ansi",
code: individualCode,
endCode: getEndCode(individualCode)
});
}
}
}
if (code) {
codeEndIndex = index + code.length;
continue;
}
}
const fullWidth = isFullwidthGrapheme(segment, codePoint);
ret.push({
type: "char",
value: segment,
fullWidth
});
visible += fullWidth ? 2 : 1;
if (visible >= endChar) {
break;
}
}
return ret;
}
var segmenter;
var init_tokenize2 = __esm(() => {
init_is_fullwidth_code_point();
init_ansiCodes();
init_consts();
segmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
});
// node_modules/.pnpm/@alcalzone+ansi-tokenize@0.3.0/node_modules/@alcalzone/ansi-tokenize/build/index.js
var init_build = __esm(() => {
init_ansiCodes();
init_diff();
init_reduce();
init_undo();
init_styledChars();
init_tokenize2();
});
// src/utils/sliceAnsi.ts
function isEndCode(code) {
return code.code === code.endCode;
}
function filterStartCodes(codes) {
return codes.filter((c5) => !isEndCode(c5));
}
function sliceAnsi(str, start, end) {
const tokens = tokenize3(str);
let activeCodes = [];
let position = 0;
let result = "";
let include = false;
for (const token of tokens) {
const width = token.type === "ansi" ? 0 : token.fullWidth ? 2 : stringWidth(token.value);
if (end !== undefined && position >= end) {
if (token.type === "ansi" || width > 0 || !include)
break;
}
if (token.type === "ansi") {
activeCodes.push(token);
if (include) {
result += token.code;
}
} else {
if (!include && position >= start) {
if (start > 0 && width === 0)
continue;
include = true;
activeCodes = filterStartCodes(reduceAnsiCodes(activeCodes));
result = ansiCodesToString(activeCodes);
}
if (include) {
result += token.value;
}
position += width;
}
}
const activeStartCodes = filterStartCodes(reduceAnsiCodes(activeCodes));
result += ansiCodesToString(undoAnsiCodes(activeStartCodes));
return result;
}
var init_sliceAnsi = __esm(() => {
init_build();
init_stringWidth();
});
// node_modules/.pnpm/string-width@8.2.0/node_modules/string-width/index.js
function isDoubleWidthNonRgiEmojiSequence(segment) {
if (segment.length > 50) {
return false;
}
if (unqualifiedKeycapRegex.test(segment)) {
return true;
}
if (segment.includes("")) {
const pictographics = segment.match(extendedPictographicRegex);
return pictographics !== null && pictographics.length >= 2;
}
return false;
}
function baseVisible(segment) {
return segment.replace(leadingNonPrintingRegex, "");
}
function isZeroWidthCluster(segment) {
return zeroWidthClusterRegex.test(segment);
}
function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
let extra = 0;
if (segment.length > 1) {
for (const char of segment.slice(1)) {
if (char >= "" && char <= "") {
extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
}
}
}
return extra;
}
function stringWidth2(input, options = {}) {
if (typeof input !== "string" || input.length === 0) {
return 0;
}
const {
ambiguousIsNarrow = true,
countAnsiEscapeCodes = false
} = options;
let string4 = input;
if (!countAnsiEscapeCodes && (string4.includes("\x1B") || string4.includes(""))) {
string4 = stripAnsi(string4);
}
if (string4.length === 0) {
return 0;
}
if (/^[\u0020-\u007E]*$/.test(string4)) {
return string4.length;
}
let width = 0;
const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
for (const { segment } of segmenter2.segment(string4)) {
if (isZeroWidthCluster(segment)) {
continue;
}
if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
width += 2;
continue;
}
const codePoint = baseVisible(segment).codePointAt(0);
width += eastAsianWidth(codePoint, eastAsianWidthOptions);
width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
}
return width;
}
var segmenter2, zeroWidthClusterRegex, leadingNonPrintingRegex, rgiEmojiRegex, unqualifiedKeycapRegex, extendedPictographicRegex;
var init_string_width = __esm(() => {
init_strip_ansi();
init_get_east_asian_width();
segmenter2 = new Intl.Segmenter;
zeroWidthClusterRegex = /^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Mark}|\p{Surrogate})+$/v;
leadingNonPrintingRegex = /^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Mark}\p{Surrogate}]+/v;
rgiEmojiRegex = /^\p{RGI_Emoji}$/v;
unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
extendedPictographicRegex = /\p{Extended_Pictographic}/gu;
});
// node_modules/.pnpm/wrap-ansi@10.0.0/node_modules/wrap-ansi/index.js
function wrapAnsi(string4, columns, options) {
return String(string4).normalize().replaceAll(`\r
`, `
`).split(`
`).map((line) => exec2(expandTabs2(line), columns, options)).join(`
`);
}
var ANSI_ESCAPE = "\x1B", ANSI_ESCAPE_CSI = "", ESCAPES2, ANSI_ESCAPE_BELL = "\x07", ANSI_CSI = "[", ANSI_OSC = "]", ANSI_SGR_TERMINATOR = "m", ANSI_SGR_RESET = 0, ANSI_SGR_RESET_FOREGROUND = 39, ANSI_SGR_RESET_BACKGROUND = 49, ANSI_SGR_RESET_UNDERLINE_COLOR = 59, ANSI_SGR_FOREGROUND_EXTENDED = 38, ANSI_SGR_BACKGROUND_EXTENDED = 48, ANSI_SGR_UNDERLINE_COLOR_EXTENDED = 58, ANSI_SGR_COLOR_MODE_256 = 5, ANSI_SGR_COLOR_MODE_RGB = 2, ANSI_ESCAPE_LINK, ANSI_ESCAPE_REGEX, ANSI_ESCAPE_CSI_REGEX, ANSI_SGR_MODIFIER_CLOSE_CODES, segmenter3, getGraphemes = (string4) => Array.from(segmenter3.segment(string4), ({ segment }) => segment), TAB_SIZE2 = 8, wrapAnsiCode = (code) => `${ANSI_ESCAPE}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`, wrapAnsiHyperlink = (url3) => `${ANSI_ESCAPE}${ANSI_ESCAPE_LINK}${url3}${ANSI_ESCAPE_BELL}`, getSgrTokens = (sgrParameters) => {
const codes = sgrParameters.split(";").map((sgrParameter) => sgrParameter === "" ? ANSI_SGR_RESET : Number.parseInt(sgrParameter, 10));
const sgrTokens = [];
for (let index = 0;index < codes.length; index++) {
const code = codes[index];
if (!Number.isFinite(code)) {
continue;
}
if (code === ANSI_SGR_FOREGROUND_EXTENDED || code === ANSI_SGR_BACKGROUND_EXTENDED || code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED) {
if (index + 1 >= codes.length) {
break;
}
const mode = codes[index + 1];
if (mode === ANSI_SGR_COLOR_MODE_256 && Number.isFinite(codes[index + 2])) {
sgrTokens.push([code, mode, codes[index + 2]]);
index += 2;
continue;
}
const red2 = codes[index + 2];
const green2 = codes[index + 3];
const blue2 = codes[index + 4];
if (mode === ANSI_SGR_COLOR_MODE_RGB && Number.isFinite(red2) && Number.isFinite(green2) && Number.isFinite(blue2)) {
sgrTokens.push([code, mode, red2, green2, blue2]);
index += 4;
continue;
}
break;
}
sgrTokens.push([code]);
}
return sgrTokens;
}, removeActiveStyle = (activeStyles, family) => {
const activeStyleIndex = activeStyles.findIndex((activeStyle) => activeStyle.family === family);
if (activeStyleIndex !== -1) {
activeStyles.splice(activeStyleIndex, 1);
}
}, upsertActiveStyle = (activeStyles, nextActiveStyle) => {
removeActiveStyle(activeStyles, nextActiveStyle.family);
activeStyles.push(nextActiveStyle);
}, removeModifierStylesByClose = (activeStyles, closeCode) => {
for (let index = activeStyles.length - 1;index >= 0; index--) {
const activeStyle = activeStyles[index];
if (activeStyle.family.startsWith("modifier-") && activeStyle.close === closeCode) {
activeStyles.splice(index, 1);
}
}
}, getColorStyle = (code, sgrToken) => {
if (code >= 30 && code <= 37 || code >= 90 && code <= 97 || code === ANSI_SGR_FOREGROUND_EXTENDED && sgrToken.length > 1) {
return {
family: "foreground",
open: sgrToken.join(";"),
close: ANSI_SGR_RESET_FOREGROUND
};
}
if (code >= 40 && code <= 47 || code >= 100 && code <= 107 || code === ANSI_SGR_BACKGROUND_EXTENDED && sgrToken.length > 1) {
return {
family: "background",
open: sgrToken.join(";"),
close: ANSI_SGR_RESET_BACKGROUND
};
}
if (code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED && sgrToken.length > 1) {
return {
family: "underlineColor",
open: sgrToken.join(";"),
close: ANSI_SGR_RESET_UNDERLINE_COLOR
};
}
}, applySgrResetCode = (code, activeStyles) => {
if (code === ANSI_SGR_RESET) {
activeStyles.length = 0;
return true;
}
if (code === ANSI_SGR_RESET_FOREGROUND) {
removeActiveStyle(activeStyles, "foreground");
return true;
}
if (code === ANSI_SGR_RESET_BACKGROUND) {
removeActiveStyle(activeStyles, "background");
return true;
}
if (code === ANSI_SGR_RESET_UNDERLINE_COLOR) {
removeActiveStyle(activeStyles, "underlineColor");
return true;
}
if (ANSI_SGR_MODIFIER_CLOSE_CODES.has(code)) {
removeModifierStylesByClose(activeStyles, code);
return true;
}
return false;
}, applySgrToken = (sgrToken, activeStyles) => {
const [code] = sgrToken;
if (applySgrResetCode(code, activeStyles)) {
return;
}
const colorStyle = getColorStyle(code, sgrToken);
if (colorStyle) {
upsertActiveStyle(activeStyles, colorStyle);
return;
}
const close = ansi_styles_default2.codes.get(code);
if (close !== undefined && close !== ANSI_SGR_RESET) {
upsertActiveStyle(activeStyles, {
family: `modifier-${code}`,
open: sgrToken.join(";"),
close
});
}
}, applySgrParameters = (sgrParameters, activeStyles) => {
for (const sgrToken of getSgrTokens(sgrParameters)) {
applySgrToken(sgrToken, activeStyles);
}
}, applySgrResets = (sgrParameters, activeStyles) => {
for (const sgrToken of getSgrTokens(sgrParameters)) {
const [code] = sgrToken;
applySgrResetCode(code, activeStyles);
}
}, applyLeadingSgrResets = (string4, activeStyles) => {
let remainder = string4;
while (remainder.length > 0) {
if (remainder.startsWith(ANSI_ESCAPE) && remainder[1] !== "\\") {
const match = ANSI_ESCAPE_REGEX.exec(remainder);
if (!match) {
break;
}
if (match.groups.sgr !== undefined) {
applySgrResets(match.groups.sgr, activeStyles);
}
remainder = remainder.slice(match[0].length);
continue;
}
if (remainder.startsWith(ANSI_ESCAPE_CSI)) {
const match = ANSI_ESCAPE_CSI_REGEX.exec(remainder);
if (!match || match.groups.sgr === undefined) {
break;
}
applySgrResets(match.groups.sgr, activeStyles);
remainder = remainder.slice(match[0].length);
continue;
}
break;
}
}, getClosingSgrSequence = (activeStyles) => [...activeStyles].reverse().map((activeStyle) => wrapAnsiCode(activeStyle.close)).join(""), getOpeningSgrSequence = (activeStyles) => activeStyles.map((activeStyle) => wrapAnsiCode(activeStyle.open)).join(""), wordLengths = (string4) => string4.split(" ").map((word) => stringWidth2(word)), wrapWord = (rows, word, columns) => {
const characters = getGraphemes(word);
let isInsideEscape = false;
let isInsideLinkEscape = false;
let visible = stringWidth2(stripAnsi(rows.at(-1)));
for (const [index, character] of characters.entries()) {
const characterLength = stringWidth2(character);
if (visible + characterLength <= columns) {
rows[rows.length - 1] += character;
} else {
rows.push(character);
visible = 0;
}
if (ESCAPES2.has(character) && !(isInsideLinkEscape && character === ANSI_ESCAPE && characters[index + 1] === "\\")) {
isInsideEscape = true;
const ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join("");
isInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;
}
if (isInsideEscape) {
if (isInsideLinkEscape) {
if (character === ANSI_ESCAPE_BELL || character === "\\" && index > 0 && characters[index - 1] === ANSI_ESCAPE) {
isInsideEscape = false;
isInsideLinkEscape = false;
}
} else if (character === ANSI_SGR_TERMINATOR) {
isInsideEscape = false;
}
continue;
}
visible += characterLength;
if (visible === columns && index < characters.length - 1) {
rows.push("");
visible = 0;
}
}
if (!visible && rows.at(-1).length > 0 && rows.length > 1) {
rows[rows.length - 2] += rows.pop();
}
}, stringVisibleTrimSpacesRight = (string4) => {
const words = string4.split(" ");
let last = words.length;
while (last > 0) {
if (stringWidth2(words[last - 1]) > 0) {
break;
}
last--;
}
if (last === words.length) {
return string4;
}
return words.slice(0, last).join(" ") + words.slice(last).join("");
}, expandTabs2 = (line) => {
if (!line.includes("\t")) {
return line;
}
const segments = line.split("\t");
let visible = 0;
let expandedLine = "";
for (const [index, segment] of segments.entries()) {
expandedLine += segment;
visible += stringWidth2(segment);
if (index < segments.length - 1) {
const spaces = TAB_SIZE2 - visible % TAB_SIZE2;
expandedLine += " ".repeat(spaces);
visible += spaces;
}
}
return expandedLine;
}, exec2 = (string4, columns, options = {}) => {
if (options.trim !== false && string4.trim() === "") {
return "";
}
let returnValue = "";
let escapeUrl;
const activeStyles = [];
const lengths = wordLengths(string4);
let rows = [""];
for (const [index, word] of string4.split(" ").entries()) {
if (options.trim !== false) {
rows[rows.length - 1] = rows.at(-1).trimStart();
}
let rowLength = stringWidth2(rows.at(-1));
if (index !== 0) {
if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
rows.push("");
rowLength = 0;
}
if (rowLength > 0 || options.trim === false) {
rows[rows.length - 1] += " ";
rowLength++;
}
}
if (options.hard && options.wordWrap !== false && lengths[index] > columns) {
const remainingColumns = columns - rowLength;
const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
if (breaksStartingNextLine < breaksStartingThisLine) {
rows.push("");
}
wrapWord(rows, word, columns);
continue;
}
if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
if (options.wordWrap === false && rowLength < columns) {
wrapWord(rows, word, columns);
continue;
}
rows.push("");
}
if (rowLength + lengths[index] > columns && options.wordWrap === false) {
wrapWord(rows, word, columns);
continue;
}
rows[rows.length - 1] += word;
}
if (options.trim !== false) {
rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
}
const preString = rows.join(`
`);
const pre = getGraphemes(preString);
let preStringIndex = 0;
for (const [index, character] of pre.entries()) {
returnValue += character;
if (character === ANSI_ESCAPE && pre[index + 1] !== "\\") {
const { groups } = ANSI_ESCAPE_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
if (groups.sgr !== undefined) {
applySgrParameters(groups.sgr, activeStyles);
} else if (groups.uri !== undefined) {
escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
}
} else if (character === ANSI_ESCAPE_CSI) {
const { groups } = ANSI_ESCAPE_CSI_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
if (groups.sgr !== undefined) {
applySgrParameters(groups.sgr, activeStyles);
}
}
if (pre[index + 1] === `
`) {
if (escapeUrl) {
returnValue += wrapAnsiHyperlink("");
}
returnValue += getClosingSgrSequence(activeStyles);
} else if (character === `
`) {
const openingStyles = [...activeStyles];
applyLeadingSgrResets(preString.slice(preStringIndex + 1), openingStyles);
returnValue += getOpeningSgrSequence(openingStyles);
if (escapeUrl) {
returnValue += wrapAnsiHyperlink(escapeUrl);
}
}
preStringIndex += character.length;
}
return returnValue;
};
var init_wrap_ansi = __esm(() => {
init_string_width();
init_strip_ansi();
init_ansi_styles2();
ESCAPES2 = new Set([
ANSI_ESCAPE,
ANSI_ESCAPE_CSI
]);
ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
ANSI_ESCAPE_REGEX = new RegExp(`^\\u001B(?:\\${ANSI_CSI}(?[0-9;]*)${ANSI_SGR_TERMINATOR}|${ANSI_ESCAPE_LINK}(?[^\\u0007\\u001B]*)(?:\\u0007|\\u001B\\\\))`);
ANSI_ESCAPE_CSI_REGEX = new RegExp(`^\\u009B(?[0-9;]*)${ANSI_SGR_TERMINATOR}`);
ANSI_SGR_MODIFIER_CLOSE_CODES = new Set(ansi_styles_default2.codes.values());
ANSI_SGR_MODIFIER_CLOSE_CODES.delete(ANSI_SGR_RESET);
segmenter3 = new Intl.Segmenter;
});
// src/ink/wrapAnsi.ts
var wrapAnsiBun, wrapAnsi2;
var init_wrapAnsi = __esm(() => {
init_wrap_ansi();
wrapAnsiBun = typeof Bun !== "undefined" && typeof Bun.wrapAnsi === "function" ? Bun.wrapAnsi : null;
wrapAnsi2 = wrapAnsiBun ?? wrapAnsi;
});
// src/ink/wrap-text.ts
function sliceFit(text, start, end) {
const s2 = sliceAnsi(text, start, end);
return stringWidth(s2) > end - start ? sliceAnsi(text, start, end - 1) : s2;
}
function truncate2(text, columns, position) {
if (columns < 1)
return "";
if (columns === 1)
return ELLIPSIS;
const length = stringWidth(text);
if (length <= columns)
return text;
if (position === "start") {
return ELLIPSIS + sliceFit(text, length - columns + 1, length);
}
if (position === "middle") {
const half = Math.floor(columns / 2);
return sliceFit(text, 0, half) + ELLIPSIS + sliceFit(text, length - (columns - half) + 1, length);
}
return sliceFit(text, 0, columns - 1) + ELLIPSIS;
}
function wrapText2(text, maxWidth, wrapType) {
if (wrapType === "wrap") {
return wrapAnsi2(text, maxWidth, {
trim: false,
hard: true
});
}
if (wrapType === "wrap-trim") {
return wrapAnsi2(text, maxWidth, {
trim: true,
hard: true
});
}
if (wrapType.startsWith("truncate")) {
let position = "end";
if (wrapType === "truncate-middle") {
position = "middle";
}
if (wrapType === "truncate-start") {
position = "start";
}
return truncate2(text, maxWidth, position);
}
return text;
}
var ELLIPSIS = "…";
var init_wrap_text = __esm(() => {
init_sliceAnsi();
init_stringWidth();
init_wrapAnsi();
});
// src/ink/dom.ts
function collectRemovedRects(parent, removed, underAbsolute = false) {
if (removed.nodeName === "#text")
return;
const elem = removed;
const isAbsolute5 = underAbsolute || elem.style.position === "absolute";
const cached2 = nodeCache.get(elem);
if (cached2) {
addPendingClear(parent, cached2, isAbsolute5);
nodeCache.delete(elem);
}
for (const child of elem.childNodes) {
collectRemovedRects(parent, child, isAbsolute5);
}
}
function stylesEqual(a2, b2) {
return shallowEqual(a2, b2);
}
function shallowEqual(a2, b2) {
if (a2 === b2)
return true;
if (a2 === undefined || b2 === undefined)
return false;
const aKeys = Object.keys(a2);
const bKeys = Object.keys(b2);
if (aKeys.length !== bKeys.length)
return false;
for (const key of aKeys) {
if (a2[key] !== b2[key])
return false;
}
return true;
}
function isDOMElement(node) {
return node.nodeName !== "#text";
}
function findOwnerChainAtRow(root2, y3) {
let best = [];
walk(root2, 0);
return best;
function walk(node, offsetY) {
const yoga = node.yogaNode;
if (!yoga || yoga.getDisplay() === LayoutDisplay.None)
return;
const top = offsetY + yoga.getComputedTop();
const height = yoga.getComputedHeight();
if (y3 < top || y3 >= top + height)
return;
if (node.debugOwnerChain)
best = node.debugOwnerChain;
for (const child of node.childNodes) {
if (isDOMElement(child))
walk(child, top);
}
}
}
var createNode = (nodeName) => {
const needsYogaNode = nodeName !== "ink-virtual-text" && nodeName !== "ink-link" && nodeName !== "ink-progress";
const node = {
nodeName,
style: {},
attributes: {},
childNodes: [],
parentNode: undefined,
yogaNode: needsYogaNode ? createLayoutNode() : undefined,
dirty: false
};
if (nodeName === "ink-text") {
node.yogaNode?.setMeasureFunc(measureTextNode.bind(null, node));
} else if (nodeName === "ink-raw-ansi") {
node.yogaNode?.setMeasureFunc(measureRawAnsiNode.bind(null, node));
}
return node;
}, appendChildNode = (node, childNode) => {
if (childNode.parentNode) {
removeChildNode(childNode.parentNode, childNode);
}
childNode.parentNode = node;
node.childNodes.push(childNode);
if (childNode.yogaNode) {
node.yogaNode?.insertChild(childNode.yogaNode, node.yogaNode.getChildCount());
}
markDirty(node);
}, insertBeforeNode = (node, newChildNode, beforeChildNode) => {
if (newChildNode.parentNode) {
removeChildNode(newChildNode.parentNode, newChildNode);
}
newChildNode.parentNode = node;
const index = node.childNodes.indexOf(beforeChildNode);
if (index >= 0) {
let yogaIndex = 0;
if (newChildNode.yogaNode && node.yogaNode) {
for (let i3 = 0;i3 < index; i3++) {
if (node.childNodes[i3]?.yogaNode) {
yogaIndex++;
}
}
}
node.childNodes.splice(index, 0, newChildNode);
if (newChildNode.yogaNode && node.yogaNode) {
node.yogaNode.insertChild(newChildNode.yogaNode, yogaIndex);
}
markDirty(node);
return;
}
node.childNodes.push(newChildNode);
if (newChildNode.yogaNode) {
node.yogaNode?.insertChild(newChildNode.yogaNode, node.yogaNode.getChildCount());
}
markDirty(node);
}, removeChildNode = (node, removeNode) => {
if (removeNode.yogaNode) {
removeNode.parentNode?.yogaNode?.removeChild(removeNode.yogaNode);
}
collectRemovedRects(node, removeNode);
removeNode.parentNode = undefined;
const index = node.childNodes.indexOf(removeNode);
if (index >= 0) {
node.childNodes.splice(index, 1);
}
markDirty(node);
}, setAttribute = (node, key, value) => {
if (key === "children") {
return;
}
if (node.attributes[key] === value) {
return;
}
node.attributes[key] = value;
markDirty(node);
}, setStyle = (node, style) => {
if (stylesEqual(node.style, style)) {
return;
}
node.style = style;
markDirty(node);
}, setTextStyles = (node, textStyles) => {
if (shallowEqual(node.textStyles, textStyles)) {
return;
}
node.textStyles = textStyles;
markDirty(node);
}, createTextNode = (text) => {
const node = {
nodeName: "#text",
nodeValue: text,
yogaNode: undefined,
parentNode: undefined,
style: {}
};
setTextNodeValue(node, text);
return node;
}, measureTextNode = function(node, width, widthMode) {
const rawText = node.nodeName === "#text" ? node.nodeValue : squash_text_nodes_default(node);
const text = expandTabs(rawText);
const dimensions = measure_text_default(text, width);
if (dimensions.width <= width) {
return dimensions;
}
if (dimensions.width >= 1 && width > 0 && width < 1) {
return dimensions;
}
if (text.includes(`
`) && widthMode === LayoutMeasureMode.Undefined) {
const effectiveWidth = Math.max(width, dimensions.width);
return measure_text_default(text, effectiveWidth);
}
const textWrap = node.style?.textWrap ?? "wrap";
const wrappedText = wrapText2(text, width, textWrap);
return measure_text_default(wrappedText, width);
}, measureRawAnsiNode = function(node) {
return {
width: node.attributes["rawWidth"],
height: node.attributes["rawHeight"]
};
}, markDirty = (node) => {
let current = node;
let markedYoga = false;
while (current) {
if (current.nodeName !== "#text") {
current.dirty = true;
if (!markedYoga && (current.nodeName === "ink-text" || current.nodeName === "ink-raw-ansi") && current.yogaNode) {
current.yogaNode.markDirty();
markedYoga = true;
}
}
current = current.parentNode;
}
}, scheduleRenderFrom = (node) => {
let cur = node;
while (cur?.parentNode)
cur = cur.parentNode;
if (cur && cur.nodeName !== "#text")
cur.onRender?.();
}, setTextNodeValue = (node, text) => {
if (typeof text !== "string") {
text = String(text);
}
if (node.nodeValue === text) {
return;
}
node.nodeValue = text;
markDirty(node);
}, clearYogaNodeReferences = (node) => {
if ("childNodes" in node) {
for (const child of node.childNodes) {
clearYogaNodeReferences(child);
}
}
node.yogaNode = undefined;
};
var init_dom = __esm(() => {
init_engine();
init_node4();
init_measure_text();
init_node_cache();
init_squash_text_nodes();
init_tabstops();
init_wrap_text();
});
// src/ink/events/event-handlers.ts
var HANDLER_FOR_EVENT, EVENT_HANDLER_PROPS;
var init_event_handlers = __esm(() => {
HANDLER_FOR_EVENT = {
keydown: { bubble: "onKeyDown", capture: "onKeyDownCapture" },
focus: { bubble: "onFocus", capture: "onFocusCapture" },
blur: { bubble: "onBlur", capture: "onBlurCapture" },
paste: { bubble: "onPaste", capture: "onPasteCapture" },
resize: { bubble: "onResize" },
click: { bubble: "onClick" }
};
EVENT_HANDLER_PROPS = new Set([
"onKeyDown",
"onKeyDownCapture",
"onFocus",
"onFocusCapture",
"onBlur",
"onBlurCapture",
"onPaste",
"onPasteCapture",
"onResize",
"onClick",
"onMouseEnter",
"onMouseLeave"
]);
});
// src/ink/events/dispatcher.ts
function getHandler(node, eventType, capture) {
const handlers = node._eventHandlers;
if (!handlers)
return;
const mapping = HANDLER_FOR_EVENT[eventType];
if (!mapping)
return;
const propName = capture ? mapping.capture : mapping.bubble;
if (!propName)
return;
return handlers[propName];
}
function collectListeners(target, event) {
const listeners = [];
let node = target;
while (node) {
const isTarget = node === target;
const captureHandler = getHandler(node, event.type, true);
const bubbleHandler = getHandler(node, event.type, false);
if (captureHandler) {
listeners.unshift({
node,
handler: captureHandler,
phase: isTarget ? "at_target" : "capturing"
});
}
if (bubbleHandler && (event.bubbles || isTarget)) {
listeners.push({
node,
handler: bubbleHandler,
phase: isTarget ? "at_target" : "bubbling"
});
}
node = node.parentNode;
}
return listeners;
}
function processDispatchQueue(listeners, event) {
let previousNode;
for (const { node, handler, phase } of listeners) {
if (event._isImmediatePropagationStopped()) {
break;
}
if (event._isPropagationStopped() && node !== previousNode) {
break;
}
event._setEventPhase(phase);
event._setCurrentTarget(node);
event._prepareForTarget(node);
try {
handler(event);
} catch (error52) {
logError2(error52);
}
previousNode = node;
}
}
function getEventPriority(eventType) {
switch (eventType) {
case "keydown":
case "keyup":
case "click":
case "focus":
case "blur":
case "paste":
return import_constants27.DiscreteEventPriority;
case "resize":
case "scroll":
case "mousemove":
return import_constants27.ContinuousEventPriority;
default:
return import_constants27.DefaultEventPriority;
}
}
class Dispatcher {
currentEvent = null;
currentUpdatePriority = import_constants27.DefaultEventPriority;
discreteUpdates = null;
resolveEventPriority() {
if (this.currentUpdatePriority !== import_constants27.NoEventPriority) {
return this.currentUpdatePriority;
}
if (this.currentEvent) {
return getEventPriority(this.currentEvent.type);
}
return import_constants27.DefaultEventPriority;
}
dispatch(target, event) {
const previousEvent = this.currentEvent;
this.currentEvent = event;
try {
event._setTarget(target);
const listeners = collectListeners(target, event);
processDispatchQueue(listeners, event);
event._setEventPhase("none");
event._setCurrentTarget(null);
return !event.defaultPrevented;
} finally {
this.currentEvent = previousEvent;
}
}
dispatchDiscrete(target, event) {
if (!this.discreteUpdates) {
return this.dispatch(target, event);
}
return this.discreteUpdates((t2, e2) => this.dispatch(t2, e2), target, event, undefined, undefined);
}
dispatchContinuous(target, event) {
const previousPriority = this.currentUpdatePriority;
try {
this.currentUpdatePriority = import_constants27.ContinuousEventPriority;
return this.dispatch(target, event);
} finally {
this.currentUpdatePriority = previousPriority;
}
}
}
var import_constants27;
var init_dispatcher = __esm(() => {
init_log3();
init_event_handlers();
import_constants27 = __toESM(require_constants10(), 1);
});
// src/ink/events/terminal-event.ts
var TerminalEvent;
var init_terminal_event = __esm(() => {
TerminalEvent = class TerminalEvent extends Event2 {
type;
timeStamp;
bubbles;
cancelable;
_target = null;
_currentTarget = null;
_eventPhase = "none";
_propagationStopped = false;
_defaultPrevented = false;
constructor(type, init) {
super();
this.type = type;
this.timeStamp = performance.now();
this.bubbles = init?.bubbles ?? true;
this.cancelable = init?.cancelable ?? true;
}
get target() {
return this._target;
}
get currentTarget() {
return this._currentTarget;
}
get eventPhase() {
return this._eventPhase;
}
get defaultPrevented() {
return this._defaultPrevented;
}
stopPropagation() {
this._propagationStopped = true;
}
stopImmediatePropagation() {
super.stopImmediatePropagation();
this._propagationStopped = true;
}
preventDefault() {
if (this.cancelable) {
this._defaultPrevented = true;
}
}
_setTarget(target) {
this._target = target;
}
_setCurrentTarget(target) {
this._currentTarget = target;
}
_setEventPhase(phase) {
this._eventPhase = phase;
}
_isPropagationStopped() {
return this._propagationStopped;
}
_isImmediatePropagationStopped() {
return this.didStopImmediatePropagation();
}
_prepareForTarget(_target) {}
};
});
// src/ink/events/focus-event.ts
var FocusEvent;
var init_focus_event = __esm(() => {
init_terminal_event();
FocusEvent = class FocusEvent extends TerminalEvent {
relatedTarget;
constructor(type, relatedTarget = null) {
super(type, { bubbles: true, cancelable: false });
this.relatedTarget = relatedTarget;
}
};
});
// src/ink/focus.ts
class FocusManager {
activeElement = null;
dispatchFocusEvent;
enabled = true;
focusStack = [];
constructor(dispatchFocusEvent) {
this.dispatchFocusEvent = dispatchFocusEvent;
}
focus(node) {
if (node === this.activeElement)
return;
if (!this.enabled)
return;
const previous = this.activeElement;
if (previous) {
const idx = this.focusStack.indexOf(previous);
if (idx !== -1)
this.focusStack.splice(idx, 1);
this.focusStack.push(previous);
if (this.focusStack.length > MAX_FOCUS_STACK)
this.focusStack.shift();
this.dispatchFocusEvent(previous, new FocusEvent("blur", node));
}
this.activeElement = node;
this.dispatchFocusEvent(node, new FocusEvent("focus", previous));
}
blur() {
if (!this.activeElement)
return;
const previous = this.activeElement;
this.activeElement = null;
this.dispatchFocusEvent(previous, new FocusEvent("blur", null));
}
handleNodeRemoved(node, root2) {
this.focusStack = this.focusStack.filter((n2) => n2 !== node && isInTree(n2, root2));
if (!this.activeElement)
return;
if (this.activeElement !== node && isInTree(this.activeElement, root2)) {
return;
}
const removed = this.activeElement;
this.activeElement = null;
this.dispatchFocusEvent(removed, new FocusEvent("blur", null));
while (this.focusStack.length > 0) {
const candidate = this.focusStack.pop();
if (isInTree(candidate, root2)) {
this.activeElement = candidate;
this.dispatchFocusEvent(candidate, new FocusEvent("focus", removed));
return;
}
}
}
handleAutoFocus(node) {
this.focus(node);
}
handleClickFocus(node) {
const tabIndex = node.attributes["tabIndex"];
if (typeof tabIndex !== "number")
return;
this.focus(node);
}
enable() {
this.enabled = true;
}
disable() {
this.enabled = false;
}
focusNext(root2) {
this.moveFocus(1, root2);
}
focusPrevious(root2) {
this.moveFocus(-1, root2);
}
moveFocus(direction, root2) {
if (!this.enabled)
return;
const tabbable = collectTabbable(root2);
if (tabbable.length === 0)
return;
const currentIndex = this.activeElement ? tabbable.indexOf(this.activeElement) : -1;
const nextIndex = currentIndex === -1 ? direction === 1 ? 0 : tabbable.length - 1 : (currentIndex + direction + tabbable.length) % tabbable.length;
const next = tabbable[nextIndex];
if (next) {
this.focus(next);
}
}
}
function collectTabbable(root2) {
const result = [];
walkTree(root2, result);
return result;
}
function walkTree(node, result) {
const tabIndex = node.attributes["tabIndex"];
if (typeof tabIndex === "number" && tabIndex >= 0) {
result.push(node);
}
for (const child of node.childNodes) {
if (child.nodeName !== "#text") {
walkTree(child, result);
}
}
}
function isInTree(node, root2) {
let current = node;
while (current) {
if (current === root2)
return true;
current = current.parentNode;
}
return false;
}
function getRootNode(node) {
let current = node;
while (current) {
if (current.focusManager)
return current;
current = current.parentNode;
}
throw new Error("Node is not in a tree with a FocusManager");
}
function getFocusManager(node) {
return getRootNode(node).focusManager;
}
var MAX_FOCUS_STACK = 32;
var init_focus = __esm(() => {
init_focus_event();
});
// src/ink/styles.ts
function applyPositionEdge(node, edge, v2) {
if (typeof v2 === "string") {
node.setPositionPercent(edge, Number.parseInt(v2, 10));
} else if (typeof v2 === "number") {
node.setPosition(edge, v2);
} else {
node.setPosition(edge, Number.NaN);
}
}
var applyPositionStyles = (node, style) => {
if ("position" in style) {
node.setPositionType(style.position === "absolute" ? LayoutPositionType.Absolute : LayoutPositionType.Relative);
}
if ("top" in style)
applyPositionEdge(node, "top", style.top);
if ("bottom" in style)
applyPositionEdge(node, "bottom", style.bottom);
if ("left" in style)
applyPositionEdge(node, "left", style.left);
if ("right" in style)
applyPositionEdge(node, "right", style.right);
}, applyOverflowStyles = (node, style) => {
const y3 = style.overflowY ?? style.overflow;
const x4 = style.overflowX ?? style.overflow;
if (y3 === "scroll" || x4 === "scroll") {
node.setOverflow(LayoutOverflow.Scroll);
} else if (y3 === "hidden" || x4 === "hidden") {
node.setOverflow(LayoutOverflow.Hidden);
} else if ("overflow" in style || "overflowX" in style || "overflowY" in style) {
node.setOverflow(LayoutOverflow.Visible);
}
}, applyMarginStyles = (node, style) => {
if ("margin" in style) {
node.setMargin(LayoutEdge.All, style.margin ?? 0);
}
if ("marginX" in style) {
node.setMargin(LayoutEdge.Horizontal, style.marginX ?? 0);
}
if ("marginY" in style) {
node.setMargin(LayoutEdge.Vertical, style.marginY ?? 0);
}
if ("marginLeft" in style) {
node.setMargin(LayoutEdge.Start, style.marginLeft || 0);
}
if ("marginRight" in style) {
node.setMargin(LayoutEdge.End, style.marginRight || 0);
}
if ("marginTop" in style) {
node.setMargin(LayoutEdge.Top, style.marginTop || 0);
}
if ("marginBottom" in style) {
node.setMargin(LayoutEdge.Bottom, style.marginBottom || 0);
}
}, applyPaddingStyles = (node, style) => {
if ("padding" in style) {
node.setPadding(LayoutEdge.All, style.padding ?? 0);
}
if ("paddingX" in style) {
node.setPadding(LayoutEdge.Horizontal, style.paddingX ?? 0);
}
if ("paddingY" in style) {
node.setPadding(LayoutEdge.Vertical, style.paddingY ?? 0);
}
if ("paddingLeft" in style) {
node.setPadding(LayoutEdge.Left, style.paddingLeft || 0);
}
if ("paddingRight" in style) {
node.setPadding(LayoutEdge.Right, style.paddingRight || 0);
}
if ("paddingTop" in style) {
node.setPadding(LayoutEdge.Top, style.paddingTop || 0);
}
if ("paddingBottom" in style) {
node.setPadding(LayoutEdge.Bottom, style.paddingBottom || 0);
}
}, applyFlexStyles = (node, style) => {
if ("flexGrow" in style) {
node.setFlexGrow(style.flexGrow ?? 0);
}
if ("flexShrink" in style) {
node.setFlexShrink(typeof style.flexShrink === "number" ? style.flexShrink : 1);
}
if ("flexWrap" in style) {
if (style.flexWrap === "nowrap") {
node.setFlexWrap(LayoutWrap.NoWrap);
}
if (style.flexWrap === "wrap") {
node.setFlexWrap(LayoutWrap.Wrap);
}
if (style.flexWrap === "wrap-reverse") {
node.setFlexWrap(LayoutWrap.WrapReverse);
}
}
if ("flexDirection" in style) {
if (style.flexDirection === "row") {
node.setFlexDirection(LayoutFlexDirection.Row);
}
if (style.flexDirection === "row-reverse") {
node.setFlexDirection(LayoutFlexDirection.RowReverse);
}
if (style.flexDirection === "column") {
node.setFlexDirection(LayoutFlexDirection.Column);
}
if (style.flexDirection === "column-reverse") {
node.setFlexDirection(LayoutFlexDirection.ColumnReverse);
}
}
if ("flexBasis" in style) {
if (typeof style.flexBasis === "number") {
node.setFlexBasis(style.flexBasis);
} else if (typeof style.flexBasis === "string") {
node.setFlexBasisPercent(Number.parseInt(style.flexBasis, 10));
} else {
node.setFlexBasis(Number.NaN);
}
}
if ("alignItems" in style) {
if (style.alignItems === "stretch" || !style.alignItems) {
node.setAlignItems(LayoutAlign.Stretch);
}
if (style.alignItems === "flex-start") {
node.setAlignItems(LayoutAlign.FlexStart);
}
if (style.alignItems === "center") {
node.setAlignItems(LayoutAlign.Center);
}
if (style.alignItems === "flex-end") {
node.setAlignItems(LayoutAlign.FlexEnd);
}
}
if ("alignSelf" in style) {
if (style.alignSelf === "auto" || !style.alignSelf) {
node.setAlignSelf(LayoutAlign.Auto);
}
if (style.alignSelf === "flex-start") {
node.setAlignSelf(LayoutAlign.FlexStart);
}
if (style.alignSelf === "center") {
node.setAlignSelf(LayoutAlign.Center);
}
if (style.alignSelf === "flex-end") {
node.setAlignSelf(LayoutAlign.FlexEnd);
}
}
if ("justifyContent" in style) {
if (style.justifyContent === "flex-start" || !style.justifyContent) {
node.setJustifyContent(LayoutJustify.FlexStart);
}
if (style.justifyContent === "center") {
node.setJustifyContent(LayoutJustify.Center);
}
if (style.justifyContent === "flex-end") {
node.setJustifyContent(LayoutJustify.FlexEnd);
}
if (style.justifyContent === "space-between") {
node.setJustifyContent(LayoutJustify.SpaceBetween);
}
if (style.justifyContent === "space-around") {
node.setJustifyContent(LayoutJustify.SpaceAround);
}
if (style.justifyContent === "space-evenly") {
node.setJustifyContent(LayoutJustify.SpaceEvenly);
}
}
}, applyDimensionStyles = (node, style) => {
if ("width" in style) {
if (typeof style.width === "number") {
node.setWidth(style.width);
} else if (typeof style.width === "string") {
node.setWidthPercent(Number.parseInt(style.width, 10));
} else {
node.setWidthAuto();
}
}
if ("height" in style) {
if (typeof style.height === "number") {
node.setHeight(style.height);
} else if (typeof style.height === "string") {
node.setHeightPercent(Number.parseInt(style.height, 10));
} else {
node.setHeightAuto();
}
}
if ("minWidth" in style) {
if (typeof style.minWidth === "string") {
node.setMinWidthPercent(Number.parseInt(style.minWidth, 10));
} else {
node.setMinWidth(style.minWidth ?? 0);
}
}
if ("minHeight" in style) {
if (typeof style.minHeight === "string") {
node.setMinHeightPercent(Number.parseInt(style.minHeight, 10));
} else {
node.setMinHeight(style.minHeight ?? 0);
}
}
if ("maxWidth" in style) {
if (typeof style.maxWidth === "string") {
node.setMaxWidthPercent(Number.parseInt(style.maxWidth, 10));
} else {
node.setMaxWidth(style.maxWidth ?? 0);
}
}
if ("maxHeight" in style) {
if (typeof style.maxHeight === "string") {
node.setMaxHeightPercent(Number.parseInt(style.maxHeight, 10));
} else {
node.setMaxHeight(style.maxHeight ?? 0);
}
}
}, applyDisplayStyles = (node, style) => {
if ("display" in style) {
node.setDisplay(style.display === "flex" ? LayoutDisplay.Flex : LayoutDisplay.None);
}
}, applyBorderStyles = (node, style, resolvedStyle) => {
const resolved = resolvedStyle ?? style;
if ("borderStyle" in style) {
const borderWidth = style.borderStyle ? 1 : 0;
node.setBorder(LayoutEdge.Top, resolved.borderTop !== false ? borderWidth : 0);
node.setBorder(LayoutEdge.Bottom, resolved.borderBottom !== false ? borderWidth : 0);
node.setBorder(LayoutEdge.Left, resolved.borderLeft !== false ? borderWidth : 0);
node.setBorder(LayoutEdge.Right, resolved.borderRight !== false ? borderWidth : 0);
} else {
if ("borderTop" in style && style.borderTop !== undefined) {
node.setBorder(LayoutEdge.Top, style.borderTop === false ? 0 : 1);
}
if ("borderBottom" in style && style.borderBottom !== undefined) {
node.setBorder(LayoutEdge.Bottom, style.borderBottom === false ? 0 : 1);
}
if ("borderLeft" in style && style.borderLeft !== undefined) {
node.setBorder(LayoutEdge.Left, style.borderLeft === false ? 0 : 1);
}
if ("borderRight" in style && style.borderRight !== undefined) {
node.setBorder(LayoutEdge.Right, style.borderRight === false ? 0 : 1);
}
}
}, applyGapStyles = (node, style) => {
if ("gap" in style) {
node.setGap(LayoutGutter.All, style.gap ?? 0);
}
if ("columnGap" in style) {
node.setGap(LayoutGutter.Column, style.columnGap ?? 0);
}
if ("rowGap" in style) {
node.setGap(LayoutGutter.Row, style.rowGap ?? 0);
}
}, styles4 = (node, style = {}, resolvedStyle) => {
applyPositionStyles(node, style);
applyOverflowStyles(node, style);
applyMarginStyles(node, style);
applyPaddingStyles(node, style);
applyFlexStyles(node, style);
applyDimensionStyles(node, style);
applyDisplayStyles(node, style);
applyBorderStyles(node, style, resolvedStyle);
applyGapStyles(node, style);
}, styles_default;
var init_styles = __esm(() => {
init_node4();
styles_default = styles4;
});
// src/ink/devtools.ts
var exports_devtools = {};
var init_devtools = () => {};
// src/ink/reconciler.ts
import { appendFileSync as appendFileSync3 } from "fs";
function setEventHandler(node, key, value) {
if (!node._eventHandlers) {
node._eventHandlers = {};
}
node._eventHandlers[key] = value;
}
function applyProp(node, key, value) {
if (key === "children")
return;
if (key === "style") {
setStyle(node, value);
if (node.yogaNode) {
styles_default(node.yogaNode, value);
}
return;
}
if (key === "textStyles") {
node.textStyles = value;
return;
}
if (EVENT_HANDLER_PROPS.has(key)) {
setEventHandler(node, key, value);
return;
}
setAttribute(node, key, value);
}
function getOwnerChain(fiber) {
const chain = [];
const seen = new Set;
let cur = fiber;
for (let i3 = 0;cur && i3 < 50; i3++) {
if (seen.has(cur))
break;
seen.add(cur);
const t2 = cur.elementType;
const name3 = typeof t2 === "function" ? t2.displayName || t2.name : typeof t2 === "string" ? undefined : t2?.displayName || t2?.name;
if (name3 && name3 !== chain[chain.length - 1])
chain.push(name3);
cur = cur._debugOwner ?? cur.return;
}
return chain;
}
function isDebugRepaintsEnabled() {
if (debugRepaints === undefined) {
debugRepaints = isEnvTruthy(process.env.CLAUDE_CODE_DEBUG_REPAINTS);
}
return debugRepaints;
}
function recordYogaMs(ms) {
_lastYogaMs = ms;
}
function getLastYogaMs() {
return _lastYogaMs;
}
function markCommitStart() {
_commitStart = performance.now();
}
function getLastCommitMs() {
return _lastCommitMs;
}
function resetProfileCounters() {
_lastYogaMs = 0;
_lastCommitMs = 0;
_commitStart = 0;
}
var import_react_reconciler, diff = (before, after) => {
if (before === after) {
return;
}
if (!before) {
return after;
}
const changed = {};
let isChanged = false;
for (const key of Object.keys(before)) {
const isDeleted = after ? !Object.hasOwn(after, key) : true;
if (isDeleted) {
changed[key] = undefined;
isChanged = true;
}
}
if (after) {
for (const key of Object.keys(after)) {
if (after[key] !== before[key]) {
changed[key] = after[key];
isChanged = true;
}
}
}
return isChanged ? changed : undefined;
}, cleanupYogaNode = (node) => {
const yogaNode = node.yogaNode;
if (yogaNode) {
yogaNode.unsetMeasureFunc();
clearYogaNodeReferences(node);
yogaNode.freeRecursive();
}
}, debugRepaints, dispatcher, COMMIT_LOG, _commits = 0, _lastLog = 0, _lastCommitAt = 0, _maxGapMs = 0, _createCount = 0, _prepareAt = 0, _lastYogaMs = 0, _lastCommitMs = 0, _commitStart = 0, reconciler, reconciler_default;
var init_reconciler = __esm(() => {
init_yoga_layout();
init_envUtils();
init_dom();
init_dispatcher();
init_event_handlers();
init_focus();
init_node4();
init_styles();
import_react_reconciler = __toESM(require_react_reconciler(), 1);
if (true) {
try {
Promise.resolve().then(() => init_devtools());
} catch (error52) {
if (error52.code === "ERR_MODULE_NOT_FOUND") {
console.warn(`
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
but this failed as it was not installed. Debugging with React Devtools requires it.
To install use this command:
$ npm install --save-dev react-devtools-core
`.trim() + `
`);
} else {
throw error52;
}
}
}
dispatcher = new Dispatcher;
COMMIT_LOG = process.env.CLAUDE_CODE_COMMIT_LOG;
reconciler = import_react_reconciler.default({
getRootHostContext: () => ({ isInsideText: false }),
prepareForCommit: () => {
if (COMMIT_LOG)
_prepareAt = performance.now();
return null;
},
preparePortalMount: () => null,
clearContainer: () => false,
resetAfterCommit(rootNode) {
_lastCommitMs = _commitStart > 0 ? performance.now() - _commitStart : 0;
_commitStart = 0;
if (COMMIT_LOG) {
const now2 = performance.now();
_commits++;
const gap = _lastCommitAt > 0 ? now2 - _lastCommitAt : 0;
if (gap > _maxGapMs)
_maxGapMs = gap;
_lastCommitAt = now2;
const reconcileMs = _prepareAt > 0 ? now2 - _prepareAt : 0;
if (gap > 30 || reconcileMs > 20 || _createCount > 50) {
appendFileSync3(COMMIT_LOG, `${now2.toFixed(1)} gap=${gap.toFixed(1)}ms reconcile=${reconcileMs.toFixed(1)}ms creates=${_createCount}
`);
}
_createCount = 0;
if (now2 - _lastLog > 1000) {
appendFileSync3(COMMIT_LOG, `${now2.toFixed(1)} commits=${_commits}/s maxGap=${_maxGapMs.toFixed(1)}ms
`);
_commits = 0;
_maxGapMs = 0;
_lastLog = now2;
}
}
const _t0 = COMMIT_LOG ? performance.now() : 0;
if (typeof rootNode.onComputeLayout === "function") {
rootNode.onComputeLayout();
}
if (COMMIT_LOG) {
const layoutMs = performance.now() - _t0;
if (layoutMs > 20) {
const c5 = getYogaCounters();
appendFileSync3(COMMIT_LOG, `${_t0.toFixed(1)} SLOW_YOGA ${layoutMs.toFixed(1)}ms visited=${c5.visited} measured=${c5.measured} hits=${c5.cacheHits} live=${c5.live}
`);
}
}
if (false) {}
const _tr = COMMIT_LOG ? performance.now() : 0;
rootNode.onRender?.();
if (COMMIT_LOG) {
const renderMs = performance.now() - _tr;
if (renderMs > 10) {
appendFileSync3(COMMIT_LOG, `${_tr.toFixed(1)} SLOW_PAINT ${renderMs.toFixed(1)}ms
`);
}
}
},
getChildHostContext(parentHostContext, type) {
const previousIsInsideText = parentHostContext.isInsideText;
const isInsideText = type === "ink-text" || type === "ink-virtual-text" || type === "ink-link";
if (previousIsInsideText === isInsideText) {
return parentHostContext;
}
return { isInsideText };
},
shouldSetTextContent: () => false,
createInstance(originalType, newProps, _root, hostContext, internalHandle) {
if (hostContext.isInsideText && originalType === "ink-box") {
throw new Error(` can't be nested inside component`);
}
const type = originalType === "ink-text" && hostContext.isInsideText ? "ink-virtual-text" : originalType;
const node = createNode(type);
if (COMMIT_LOG)
_createCount++;
for (const [key, value] of Object.entries(newProps)) {
applyProp(node, key, value);
}
if (isDebugRepaintsEnabled()) {
node.debugOwnerChain = getOwnerChain(internalHandle);
}
return node;
},
createTextInstance(text, _root, hostContext) {
if (!hostContext.isInsideText) {
throw new Error(`Text string "${text}" must be rendered inside component`);
}
return createTextNode(text);
},
resetTextContent() {},
hideTextInstance(node) {
setTextNodeValue(node, "");
},
unhideTextInstance(node, text) {
setTextNodeValue(node, text);
},
getPublicInstance: (instance) => instance,
hideInstance(node) {
node.isHidden = true;
node.yogaNode?.setDisplay(LayoutDisplay.None);
markDirty(node);
},
unhideInstance(node) {
node.isHidden = false;
node.yogaNode?.setDisplay(LayoutDisplay.Flex);
markDirty(node);
},
appendInitialChild: appendChildNode,
appendChild: appendChildNode,
insertBefore: insertBeforeNode,
finalizeInitialChildren(_node, _type, props) {
return props["autoFocus"] === true;
},
commitMount(node) {
getFocusManager(node).handleAutoFocus(node);
},
isPrimaryRenderer: true,
supportsMutation: true,
supportsPersistence: false,
supportsHydration: false,
scheduleTimeout: setTimeout,
cancelTimeout: clearTimeout,
noTimeout: -1,
getCurrentUpdatePriority: () => dispatcher.currentUpdatePriority,
beforeActiveInstanceBlur() {},
afterActiveInstanceBlur() {},
detachDeletedInstance() {},
getInstanceFromNode: () => null,
prepareScopeUpdate() {},
getInstanceFromScope: () => null,
appendChildToContainer: appendChildNode,
insertInContainerBefore: insertBeforeNode,
removeChildFromContainer(node, removeNode) {
removeChildNode(node, removeNode);
cleanupYogaNode(removeNode);
getFocusManager(node).handleNodeRemoved(removeNode, node);
},
commitUpdate(node, _type, oldProps, newProps) {
const props = diff(oldProps, newProps);
const style = diff(oldProps["style"], newProps["style"]);
if (props) {
for (const [key, value] of Object.entries(props)) {
if (key === "style") {
setStyle(node, value);
continue;
}
if (key === "textStyles") {
setTextStyles(node, value);
continue;
}
if (EVENT_HANDLER_PROPS.has(key)) {
setEventHandler(node, key, value);
continue;
}
setAttribute(node, key, value);
}
}
if (style && node.yogaNode) {
styles_default(node.yogaNode, style, newProps["style"]);
}
},
commitTextUpdate(node, _oldText, newText) {
setTextNodeValue(node, newText);
},
removeChild(node, removeNode) {
removeChildNode(node, removeNode);
cleanupYogaNode(removeNode);
if (removeNode.nodeName !== "#text") {
const root2 = getRootNode(node);
root2.focusManager.handleNodeRemoved(removeNode, root2);
}
},
maySuspendCommit() {
return false;
},
preloadInstance() {
return true;
},
startSuspendingCommit() {},
suspendInstance() {},
waitForCommitToBeReady() {
return null;
},
NotPendingTransition: null,
HostTransitionContext: {
$$typeof: Symbol.for("react.context"),
_currentValue: null
},
setCurrentUpdatePriority(newPriority) {
dispatcher.currentUpdatePriority = newPriority;
},
resolveUpdatePriority() {
return dispatcher.resolveEventPriority();
},
resetFormInstance() {},
requestPostPaintCallback() {},
shouldAttemptEagerTransition() {
return false;
},
trackSchedulerEvent() {},
resolveEventType() {
return dispatcher.currentEvent?.type ?? null;
},
resolveEventTimeStamp() {
return dispatcher.currentEvent?.timeStamp ?? -1.1;
}
});
dispatcher.discreteUpdates = reconciler.discreteUpdates.bind(reconciler);
reconciler_default = reconciler;
});
// src/ink/layout/geometry.ts
function unionRect(a2, b2) {
const minX = Math.min(a2.x, b2.x);
const minY = Math.min(a2.y, b2.y);
const maxX = Math.max(a2.x + a2.width, b2.x + b2.width);
const maxY = Math.max(a2.y + a2.height, b2.y + b2.height);
return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
}
function clamp(value, min, max) {
if (min !== undefined && value < min)
return min;
if (max !== undefined && value > max)
return max;
return value;
}
var init_geometry = () => {};
// src/ink/warn.ts
function ifNotInteger(value, name3) {
if (value === undefined)
return;
if (Number.isInteger(value))
return;
logForDebugging(`${name3} should be an integer, got ${value}`, {
level: "warn"
});
}
var init_warn = __esm(() => {
init_debug();
});
// src/ink/screen.ts
class CharPool {
strings = [" ", ""];
stringMap = new Map([
[" ", 0],
["", 1]
]);
ascii = initCharAscii();
intern(char) {
if (char.length === 1) {
const code = char.charCodeAt(0);
if (code < 128) {
const cached2 = this.ascii[code];
if (cached2 !== -1)
return cached2;
const index2 = this.strings.length;
this.strings.push(char);
this.ascii[code] = index2;
return index2;
}
}
const existing = this.stringMap.get(char);
if (existing !== undefined)
return existing;
const index = this.strings.length;
this.strings.push(char);
this.stringMap.set(char, index);
return index;
}
get(index) {
return this.strings[index] ?? " ";
}
}
class HyperlinkPool {
strings = [""];
stringMap = new Map;
intern(hyperlink) {
if (!hyperlink)
return 0;
let id = this.stringMap.get(hyperlink);
if (id === undefined) {
id = this.strings.length;
this.strings.push(hyperlink);
this.stringMap.set(hyperlink, id);
}
return id;
}
get(id) {
return id === 0 ? undefined : this.strings[id];
}
}
class StylePool {
ids = new Map;
styles = [];
transitionCache = new Map;
none;
constructor() {
this.none = this.intern([]);
}
intern(styles5) {
const key = styles5.length === 0 ? "" : styles5.map((s2) => s2.code).join("\x00");
let id = this.ids.get(key);
if (id === undefined) {
const rawId = this.styles.length;
this.styles.push(styles5.length === 0 ? [] : styles5);
id = rawId << 1 | (styles5.length > 0 && hasVisibleSpaceEffect(styles5) ? 1 : 0);
this.ids.set(key, id);
}
return id;
}
get(id) {
return this.styles[id >>> 1] ?? [];
}
transition(fromId, toId) {
if (fromId === toId)
return "";
const key = fromId * 1048576 + toId;
let str = this.transitionCache.get(key);
if (str === undefined) {
str = ansiCodesToString(diffAnsiCodes(this.get(fromId), this.get(toId)));
this.transitionCache.set(key, str);
}
return str;
}
inverseCache = new Map;
withInverse(baseId) {
let id = this.inverseCache.get(baseId);
if (id === undefined) {
const baseCodes = this.get(baseId);
const hasInverse = baseCodes.some((c5) => c5.endCode === "\x1B[27m");
id = hasInverse ? baseId : this.intern([...baseCodes, INVERSE_CODE]);
this.inverseCache.set(baseId, id);
}
return id;
}
currentMatchCache = new Map;
withCurrentMatch(baseId) {
let id = this.currentMatchCache.get(baseId);
if (id === undefined) {
const baseCodes = this.get(baseId);
const codes = baseCodes.filter((c5) => c5.endCode !== "\x1B[39m" && c5.endCode !== "\x1B[49m");
codes.push(YELLOW_FG_CODE);
if (!baseCodes.some((c5) => c5.endCode === "\x1B[27m"))
codes.push(INVERSE_CODE);
if (!baseCodes.some((c5) => c5.endCode === "\x1B[22m"))
codes.push(BOLD_CODE);
if (!baseCodes.some((c5) => c5.endCode === "\x1B[24m"))
codes.push(UNDERLINE_CODE);
id = this.intern(codes);
this.currentMatchCache.set(baseId, id);
}
return id;
}
selectionBgCode = null;
selectionBgCache = new Map;
setSelectionBg(bg) {
if (this.selectionBgCode?.code === bg?.code)
return;
this.selectionBgCode = bg;
this.selectionBgCache.clear();
}
withSelectionBg(baseId) {
const bg = this.selectionBgCode;
if (bg === null)
return this.withInverse(baseId);
let id = this.selectionBgCache.get(baseId);
if (id === undefined) {
const kept = this.get(baseId).filter((c5) => c5.endCode !== "\x1B[49m" && c5.endCode !== "\x1B[27m");
kept.push(bg);
id = this.intern(kept);
this.selectionBgCache.set(baseId, id);
}
return id;
}
}
function hasVisibleSpaceEffect(styles5) {
for (const style of styles5) {
if (VISIBLE_ON_SPACE.has(style.endCode))
return true;
}
return false;
}
function initCharAscii() {
const table = new Int32Array(128);
table.fill(-1);
table[32] = EMPTY_CHAR_INDEX;
return table;
}
function packWord1(styleId, hyperlinkId, width) {
return styleId << STYLE_SHIFT | hyperlinkId << HYPERLINK_SHIFT | width;
}
function isEmptyCellByIndex(screen, index) {
const ci = index << 1;
return screen.cells[ci] === 0 && screen.cells[ci | 1] === 0;
}
function isEmptyCellAt(screen, x4, y3) {
if (x4 < 0 || y3 < 0 || x4 >= screen.width || y3 >= screen.height)
return true;
return isEmptyCellByIndex(screen, y3 * screen.width + x4);
}
function internHyperlink(screen, hyperlink) {
return screen.hyperlinkPool.intern(hyperlink);
}
function createScreen(width, height, styles5, charPool, hyperlinkPool) {
ifNotInteger(width, "createScreen width");
ifNotInteger(height, "createScreen height");
if (!Number.isInteger(width) || width < 0) {
width = Math.max(0, Math.floor(width) || 0);
}
if (!Number.isInteger(height) || height < 0) {
height = Math.max(0, Math.floor(height) || 0);
}
const size = width * height;
const buf = new ArrayBuffer(size << 3);
const cells = new Int32Array(buf);
const cells64 = new BigInt64Array(buf);
return {
width,
height,
cells,
cells64,
charPool,
hyperlinkPool,
emptyStyleId: styles5.none,
damage: undefined,
noSelect: new Uint8Array(size),
softWrap: new Int32Array(height)
};
}
function resetScreen(screen, width, height) {
ifNotInteger(width, "resetScreen width");
ifNotInteger(height, "resetScreen height");
if (!Number.isInteger(width) || width < 0) {
width = Math.max(0, Math.floor(width) || 0);
}
if (!Number.isInteger(height) || height < 0) {
height = Math.max(0, Math.floor(height) || 0);
}
const size = width * height;
if (screen.cells64.length < size) {
const buf = new ArrayBuffer(size << 3);
screen.cells = new Int32Array(buf);
screen.cells64 = new BigInt64Array(buf);
screen.noSelect = new Uint8Array(size);
}
if (screen.softWrap.length < height) {
screen.softWrap = new Int32Array(height);
}
screen.cells64.fill(EMPTY_CELL_VALUE, 0, size);
screen.noSelect.fill(0, 0, size);
screen.softWrap.fill(0, 0, height);
screen.width = width;
screen.height = height;
screen.damage = undefined;
}
function migrateScreenPools(screen, charPool, hyperlinkPool) {
const oldCharPool = screen.charPool;
const oldHyperlinkPool = screen.hyperlinkPool;
if (oldCharPool === charPool && oldHyperlinkPool === hyperlinkPool)
return;
const size = screen.width * screen.height;
const cells = screen.cells;
for (let ci = 0;ci < size << 1; ci += 2) {
const oldCharId = cells[ci];
cells[ci] = charPool.intern(oldCharPool.get(oldCharId));
const word1 = cells[ci + 1];
const oldHyperlinkId = word1 >>> HYPERLINK_SHIFT & HYPERLINK_MASK;
if (oldHyperlinkId !== 0) {
const oldStr = oldHyperlinkPool.get(oldHyperlinkId);
const newHyperlinkId = hyperlinkPool.intern(oldStr);
const styleId = word1 >>> STYLE_SHIFT;
const width = word1 & WIDTH_MASK;
cells[ci + 1] = packWord1(styleId, newHyperlinkId, width);
}
}
screen.charPool = charPool;
screen.hyperlinkPool = hyperlinkPool;
}
function cellAt(screen, x4, y3) {
if (x4 < 0 || y3 < 0 || x4 >= screen.width || y3 >= screen.height)
return;
return cellAtIndex(screen, y3 * screen.width + x4);
}
function cellAtIndex(screen, index) {
const ci = index << 1;
const word1 = screen.cells[ci + 1];
const hid = word1 >>> HYPERLINK_SHIFT & HYPERLINK_MASK;
return {
char: screen.charPool.get(screen.cells[ci]),
styleId: word1 >>> STYLE_SHIFT,
width: word1 & WIDTH_MASK,
hyperlink: hid === 0 ? undefined : screen.hyperlinkPool.get(hid)
};
}
function visibleCellAtIndex(cells, charPool, hyperlinkPool, index, lastRenderedStyleId) {
const ci = index << 1;
const charId = cells[ci];
if (charId === 1)
return;
const word1 = cells[ci + 1];
if (charId === 0 && (word1 & 262140) === 0) {
const fgStyle = word1 >>> STYLE_SHIFT;
if (fgStyle === 0 || fgStyle === lastRenderedStyleId)
return;
}
const hid = word1 >>> HYPERLINK_SHIFT & HYPERLINK_MASK;
return {
char: charPool.get(charId),
styleId: word1 >>> STYLE_SHIFT,
width: word1 & WIDTH_MASK,
hyperlink: hid === 0 ? undefined : hyperlinkPool.get(hid)
};
}
function cellAtCI(screen, ci, out) {
const w1 = ci | 1;
const word1 = screen.cells[w1];
out.char = screen.charPool.get(screen.cells[ci]);
out.styleId = word1 >>> STYLE_SHIFT;
out.width = word1 & WIDTH_MASK;
const hid = word1 >>> HYPERLINK_SHIFT & HYPERLINK_MASK;
out.hyperlink = hid === 0 ? undefined : screen.hyperlinkPool.get(hid);
}
function charInCellAt(screen, x4, y3) {
if (x4 < 0 || y3 < 0 || x4 >= screen.width || y3 >= screen.height)
return;
const ci = y3 * screen.width + x4 << 1;
return screen.charPool.get(screen.cells[ci]);
}
function setCellAt(screen, x4, y3, cell) {
if (x4 < 0 || y3 < 0 || x4 >= screen.width || y3 >= screen.height)
return;
const ci = y3 * screen.width + x4 << 1;
const cells = screen.cells;
const prevWidth = cells[ci + 1] & WIDTH_MASK;
if (prevWidth === 1 /* Wide */ && cell.width !== 1 /* Wide */) {
const spacerX = x4 + 1;
if (spacerX < screen.width) {
const spacerCI = ci + 2;
if ((cells[spacerCI + 1] & WIDTH_MASK) === 2 /* SpacerTail */) {
cells[spacerCI] = EMPTY_CHAR_INDEX;
cells[spacerCI + 1] = packWord1(screen.emptyStyleId, 0, 0 /* Narrow */);
}
}
}
let clearedWideX = -1;
if (prevWidth === 2 /* SpacerTail */ && cell.width !== 2 /* SpacerTail */) {
if (x4 > 0) {
const wideCI = ci - 2;
if ((cells[wideCI + 1] & WIDTH_MASK) === 1 /* Wide */) {
cells[wideCI] = EMPTY_CHAR_INDEX;
cells[wideCI + 1] = packWord1(screen.emptyStyleId, 0, 0 /* Narrow */);
clearedWideX = x4 - 1;
}
}
}
cells[ci] = internCharString(screen, cell.char);
cells[ci + 1] = packWord1(cell.styleId, internHyperlink(screen, cell.hyperlink), cell.width);
const minX = clearedWideX >= 0 ? Math.min(x4, clearedWideX) : x4;
const damage = screen.damage;
if (damage) {
const right = damage.x + damage.width;
const bottom = damage.y + damage.height;
if (minX < damage.x) {
damage.width += damage.x - minX;
damage.x = minX;
} else if (x4 >= right) {
damage.width = x4 - damage.x + 1;
}
if (y3 < damage.y) {
damage.height += damage.y - y3;
damage.y = y3;
} else if (y3 >= bottom) {
damage.height = y3 - damage.y + 1;
}
} else {
screen.damage = { x: minX, y: y3, width: x4 - minX + 1, height: 1 };
}
if (cell.width === 1 /* Wide */) {
const spacerX = x4 + 1;
if (spacerX < screen.width) {
const spacerCI = ci + 2;
if ((cells[spacerCI + 1] & WIDTH_MASK) === 1 /* Wide */) {
const orphanCI = spacerCI + 2;
if (spacerX + 1 < screen.width && (cells[orphanCI + 1] & WIDTH_MASK) === 2 /* SpacerTail */) {
cells[orphanCI] = EMPTY_CHAR_INDEX;
cells[orphanCI + 1] = packWord1(screen.emptyStyleId, 0, 0 /* Narrow */);
}
}
cells[spacerCI] = SPACER_CHAR_INDEX;
cells[spacerCI + 1] = packWord1(screen.emptyStyleId, 0, 2 /* SpacerTail */);
const d = screen.damage;
if (d && spacerX >= d.x + d.width) {
d.width = spacerX - d.x + 1;
}
}
}
}
function setCellStyleId(screen, x4, y3, styleId) {
if (x4 < 0 || y3 < 0 || x4 >= screen.width || y3 >= screen.height)
return;
const ci = y3 * screen.width + x4 << 1;
const cells = screen.cells;
const word1 = cells[ci + 1];
const width = word1 & WIDTH_MASK;
if (width === 2 /* SpacerTail */ || width === 3 /* SpacerHead */)
return;
const hid = word1 >>> HYPERLINK_SHIFT & HYPERLINK_MASK;
cells[ci + 1] = packWord1(styleId, hid, width);
const d = screen.damage;
if (d) {
screen.damage = unionRect(d, { x: x4, y: y3, width: 1, height: 1 });
} else {
screen.damage = { x: x4, y: y3, width: 1, height: 1 };
}
}
function internCharString(screen, char) {
return screen.charPool.intern(char);
}
function blitRegion(dst, src, regionX, regionY, maxX, maxY) {
regionX = Math.max(0, regionX);
regionY = Math.max(0, regionY);
if (regionX >= maxX || regionY >= maxY)
return;
const rowLen = maxX - regionX;
const srcStride = src.width << 1;
const dstStride = dst.width << 1;
const rowBytes = rowLen << 1;
const srcCells = src.cells;
const dstCells = dst.cells;
const srcNoSel = src.noSelect;
const dstNoSel = dst.noSelect;
dst.softWrap.set(src.softWrap.subarray(regionY, maxY), regionY);
if (regionX === 0 && maxX === src.width && src.width === dst.width) {
const srcStart = regionY * srcStride;
const totalBytes = (maxY - regionY) * srcStride;
dstCells.set(srcCells.subarray(srcStart, srcStart + totalBytes), srcStart);
const nsStart = regionY * src.width;
const nsLen = (maxY - regionY) * src.width;
dstNoSel.set(srcNoSel.subarray(nsStart, nsStart + nsLen), nsStart);
} else {
let srcRowCI = regionY * srcStride + (regionX << 1);
let dstRowCI = regionY * dstStride + (regionX << 1);
let srcRowNS = regionY * src.width + regionX;
let dstRowNS = regionY * dst.width + regionX;
for (let y3 = regionY;y3 < maxY; y3++) {
dstCells.set(srcCells.subarray(srcRowCI, srcRowCI + rowBytes), dstRowCI);
dstNoSel.set(srcNoSel.subarray(srcRowNS, srcRowNS + rowLen), dstRowNS);
srcRowCI += srcStride;
dstRowCI += dstStride;
srcRowNS += src.width;
dstRowNS += dst.width;
}
}
const regionRect = {
x: regionX,
y: regionY,
width: rowLen,
height: maxY - regionY
};
if (dst.damage) {
dst.damage = unionRect(dst.damage, regionRect);
} else {
dst.damage = regionRect;
}
if (maxX < dst.width) {
let srcLastCI = regionY * src.width + (maxX - 1) << 1;
let dstSpacerCI = regionY * dst.width + maxX << 1;
let wroteSpacerOutsideRegion = false;
for (let y3 = regionY;y3 < maxY; y3++) {
if ((srcCells[srcLastCI + 1] & WIDTH_MASK) === 1 /* Wide */) {
dstCells[dstSpacerCI] = SPACER_CHAR_INDEX;
dstCells[dstSpacerCI + 1] = packWord1(dst.emptyStyleId, 0, 2 /* SpacerTail */);
wroteSpacerOutsideRegion = true;
}
srcLastCI += srcStride;
dstSpacerCI += dstStride;
}
if (wroteSpacerOutsideRegion && dst.damage) {
const rightEdge = dst.damage.x + dst.damage.width;
if (rightEdge === maxX) {
dst.damage = { ...dst.damage, width: dst.damage.width + 1 };
}
}
}
}
function shiftRows(screen, top, bottom, n2) {
if (n2 === 0 || top < 0 || bottom >= screen.height || top > bottom)
return;
const w2 = screen.width;
const cells64 = screen.cells64;
const noSel = screen.noSelect;
const sw = screen.softWrap;
const absN = Math.abs(n2);
if (absN > bottom - top) {
cells64.fill(EMPTY_CELL_VALUE, top * w2, (bottom + 1) * w2);
noSel.fill(0, top * w2, (bottom + 1) * w2);
sw.fill(0, top, bottom + 1);
return;
}
if (n2 > 0) {
cells64.copyWithin(top * w2, (top + n2) * w2, (bottom + 1) * w2);
noSel.copyWithin(top * w2, (top + n2) * w2, (bottom + 1) * w2);
sw.copyWithin(top, top + n2, bottom + 1);
cells64.fill(EMPTY_CELL_VALUE, (bottom - n2 + 1) * w2, (bottom + 1) * w2);
noSel.fill(0, (bottom - n2 + 1) * w2, (bottom + 1) * w2);
sw.fill(0, bottom - n2 + 1, bottom + 1);
} else {
cells64.copyWithin((top - n2) * w2, top * w2, (bottom + n2 + 1) * w2);
noSel.copyWithin((top - n2) * w2, top * w2, (bottom + n2 + 1) * w2);
sw.copyWithin(top - n2, top, bottom + n2 + 1);
cells64.fill(EMPTY_CELL_VALUE, top * w2, (top - n2) * w2);
noSel.fill(0, top * w2, (top - n2) * w2);
sw.fill(0, top, top - n2);
}
}
function extractHyperlinkFromStyles(styles5) {
for (const style of styles5) {
const code = style.code;
if (code.length < 5 || !code.startsWith(OSC8_PREFIX))
continue;
const match = code.match(OSC8_REGEX);
if (match) {
return match[1] || null;
}
}
return null;
}
function filterOutHyperlinkStyles(styles5) {
return styles5.filter((style) => !style.code.startsWith(OSC8_PREFIX) || !OSC8_REGEX.test(style.code));
}
function diffEach(prev, next, cb) {
const prevWidth = prev.width;
const nextWidth = next.width;
const prevHeight = prev.height;
const nextHeight = next.height;
let region;
if (prevWidth === 0 && prevHeight === 0) {
region = { x: 0, y: 0, width: nextWidth, height: nextHeight };
} else if (next.damage) {
region = next.damage;
if (prev.damage) {
region = unionRect(region, prev.damage);
}
} else if (prev.damage) {
region = prev.damage;
} else {
region = { x: 0, y: 0, width: 0, height: 0 };
}
if (prevHeight > nextHeight) {
region = unionRect(region, {
x: 0,
y: nextHeight,
width: prevWidth,
height: prevHeight - nextHeight
});
}
if (prevWidth > nextWidth) {
region = unionRect(region, {
x: nextWidth,
y: 0,
width: prevWidth - nextWidth,
height: prevHeight
});
}
const maxHeight = Math.max(prevHeight, nextHeight);
const maxWidth = Math.max(prevWidth, nextWidth);
const endY = Math.min(region.y + region.height, maxHeight);
const endX = Math.min(region.x + region.width, maxWidth);
if (prevWidth === nextWidth) {
return diffSameWidth(prev, next, region.x, endX, region.y, endY, cb);
}
return diffDifferentWidth(prev, next, region.x, endX, region.y, endY, cb);
}
function findNextDiff(a2, b2, w0, count3) {
for (let i3 = 0;i3 < count3; i3++, w0 += 2) {
const w1 = w0 | 1;
if (a2[w0] !== b2[w0] || a2[w1] !== b2[w1])
return i3;
}
return count3;
}
function diffRowBoth(prevCells, nextCells, prev, next, ci, y3, startX, endX, prevCell, nextCell, cb) {
let x4 = startX;
while (x4 < endX) {
const skip = findNextDiff(prevCells, nextCells, ci, endX - x4);
x4 += skip;
ci += skip << 1;
if (x4 >= endX)
break;
cellAtCI(prev, ci, prevCell);
cellAtCI(next, ci, nextCell);
if (cb(x4, y3, prevCell, nextCell))
return true;
x4++;
ci += 2;
}
return false;
}
function diffRowRemoved(prev, ci, y3, startX, endX, prevCell, cb) {
for (let x4 = startX;x4 < endX; x4++, ci += 2) {
cellAtCI(prev, ci, prevCell);
if (cb(x4, y3, prevCell, undefined))
return true;
}
return false;
}
function diffRowAdded(nextCells, next, ci, y3, startX, endX, nextCell, cb) {
for (let x4 = startX;x4 < endX; x4++, ci += 2) {
if (nextCells[ci] === 0 && nextCells[ci | 1] === 0)
continue;
cellAtCI(next, ci, nextCell);
if (cb(x4, y3, undefined, nextCell))
return true;
}
return false;
}
function diffSameWidth(prev, next, startX, endX, startY, endY, cb) {
const prevCells = prev.cells;
const nextCells = next.cells;
const width = prev.width;
const prevHeight = prev.height;
const nextHeight = next.height;
const stride = width << 1;
const prevCell = {
char: " ",
styleId: 0,
width: 0 /* Narrow */,
hyperlink: undefined
};
const nextCell = {
char: " ",
styleId: 0,
width: 0 /* Narrow */,
hyperlink: undefined
};
const rowEndX = Math.min(endX, width);
let rowCI = startY * width + startX << 1;
for (let y3 = startY;y3 < endY; y3++) {
const prevIn = y3 < prevHeight;
const nextIn = y3 < nextHeight;
if (prevIn && nextIn) {
if (diffRowBoth(prevCells, nextCells, prev, next, rowCI, y3, startX, rowEndX, prevCell, nextCell, cb))
return true;
} else if (prevIn) {
if (diffRowRemoved(prev, rowCI, y3, startX, rowEndX, prevCell, cb))
return true;
} else if (nextIn) {
if (diffRowAdded(nextCells, next, rowCI, y3, startX, rowEndX, nextCell, cb))
return true;
}
rowCI += stride;
}
return false;
}
function diffDifferentWidth(prev, next, startX, endX, startY, endY, cb) {
const prevWidth = prev.width;
const nextWidth = next.width;
const prevCells = prev.cells;
const nextCells = next.cells;
const prevCell = {
char: " ",
styleId: 0,
width: 0 /* Narrow */,
hyperlink: undefined
};
const nextCell = {
char: " ",
styleId: 0,
width: 0 /* Narrow */,
hyperlink: undefined
};
const prevStride = prevWidth << 1;
const nextStride = nextWidth << 1;
let prevRowCI = startY * prevWidth + startX << 1;
let nextRowCI = startY * nextWidth + startX << 1;
for (let y3 = startY;y3 < endY; y3++) {
const prevIn = y3 < prev.height;
const nextIn = y3 < next.height;
const prevEndX = prevIn ? Math.min(endX, prevWidth) : startX;
const nextEndX = nextIn ? Math.min(endX, nextWidth) : startX;
const bothEndX = Math.min(prevEndX, nextEndX);
let prevCI = prevRowCI;
let nextCI = nextRowCI;
for (let x4 = startX;x4 < bothEndX; x4++) {
if (prevCells[prevCI] === nextCells[nextCI] && prevCells[prevCI + 1] === nextCells[nextCI + 1]) {
prevCI += 2;
nextCI += 2;
continue;
}
cellAtCI(prev, prevCI, prevCell);
cellAtCI(next, nextCI, nextCell);
prevCI += 2;
nextCI += 2;
if (cb(x4, y3, prevCell, nextCell))
return true;
}
if (prevEndX > bothEndX) {
prevCI = prevRowCI + (bothEndX - startX << 1);
for (let x4 = bothEndX;x4 < prevEndX; x4++) {
cellAtCI(prev, prevCI, prevCell);
prevCI += 2;
if (cb(x4, y3, prevCell, undefined))
return true;
}
}
if (nextEndX > bothEndX) {
nextCI = nextRowCI + (bothEndX - startX << 1);
for (let x4 = bothEndX;x4 < nextEndX; x4++) {
if (nextCells[nextCI] === 0 && nextCells[nextCI | 1] === 0) {
nextCI += 2;
continue;
}
cellAtCI(next, nextCI, nextCell);
nextCI += 2;
if (cb(x4, y3, undefined, nextCell))
return true;
}
}
prevRowCI += prevStride;
nextRowCI += nextStride;
}
return false;
}
function markNoSelectRegion(screen, x4, y3, width, height) {
const maxX = Math.min(x4 + width, screen.width);
const maxY = Math.min(y3 + height, screen.height);
const noSel = screen.noSelect;
const stride = screen.width;
for (let row = Math.max(0, y3);row < maxY; row++) {
const rowStart = row * stride;
noSel.fill(1, rowStart + Math.max(0, x4), rowStart + maxX);
}
}
var INVERSE_CODE, BOLD_CODE, UNDERLINE_CODE, YELLOW_FG_CODE, VISIBLE_ON_SPACE, EMPTY_CHAR_INDEX = 0, SPACER_CHAR_INDEX = 1, STYLE_SHIFT = 17, HYPERLINK_SHIFT = 2, HYPERLINK_MASK = 32767, WIDTH_MASK = 3, EMPTY_CELL_VALUE = 0n, OSC8_REGEX, OSC8_PREFIX;
var init_screen = __esm(() => {
init_build();
init_geometry();
init_ansi();
init_warn();
INVERSE_CODE = {
type: "ansi",
code: "\x1B[7m",
endCode: "\x1B[27m"
};
BOLD_CODE = {
type: "ansi",
code: "\x1B[1m",
endCode: "\x1B[22m"
};
UNDERLINE_CODE = {
type: "ansi",
code: "\x1B[4m",
endCode: "\x1B[24m"
};
YELLOW_FG_CODE = {
type: "ansi",
code: "\x1B[33m",
endCode: "\x1B[39m"
};
VISIBLE_ON_SPACE = new Set([
"\x1B[49m",
"\x1B[27m",
"\x1B[24m",
"\x1B[29m",
"\x1B[55m"
]);
OSC8_REGEX = new RegExp(`^${ESC}\\]8${SEP}${SEP}([^${BEL}]*)${BEL}$`);
OSC8_PREFIX = `${ESC}]8${SEP}`;
});
// src/ink/selection.ts
function createSelectionState() {
return {
anchor: null,
focus: null,
isDragging: false,
anchorSpan: null,
scrolledOffAbove: [],
scrolledOffBelow: [],
scrolledOffAboveSW: [],
scrolledOffBelowSW: [],
lastPressHadAlt: false
};
}
function startSelection(s2, col, row) {
s2.anchor = { col, row };
s2.focus = null;
s2.isDragging = true;
s2.anchorSpan = null;
s2.scrolledOffAbove = [];
s2.scrolledOffBelow = [];
s2.scrolledOffAboveSW = [];
s2.scrolledOffBelowSW = [];
s2.virtualAnchorRow = undefined;
s2.virtualFocusRow = undefined;
s2.lastPressHadAlt = false;
}
function updateSelection(s2, col, row) {
if (!s2.isDragging)
return;
if (!s2.focus && s2.anchor && s2.anchor.col === col && s2.anchor.row === row)
return;
s2.focus = { col, row };
}
function finishSelection(s2) {
s2.isDragging = false;
}
function clearSelection(s2) {
s2.anchor = null;
s2.focus = null;
s2.isDragging = false;
s2.anchorSpan = null;
s2.scrolledOffAbove = [];
s2.scrolledOffBelow = [];
s2.scrolledOffAboveSW = [];
s2.scrolledOffBelowSW = [];
s2.virtualAnchorRow = undefined;
s2.virtualFocusRow = undefined;
s2.lastPressHadAlt = false;
}
function charClass(c5) {
if (c5 === " " || c5 === "")
return 0;
if (WORD_CHAR.test(c5))
return 1;
return 2;
}
function wordBoundsAt(screen, col, row) {
if (row < 0 || row >= screen.height)
return null;
const width = screen.width;
const noSelect = screen.noSelect;
const rowOff = row * width;
let c5 = col;
if (c5 > 0) {
const cell = cellAt(screen, c5, row);
if (cell && cell.width === 2 /* SpacerTail */)
c5 -= 1;
}
if (c5 < 0 || c5 >= width || noSelect[rowOff + c5] === 1)
return null;
const startCell = cellAt(screen, c5, row);
if (!startCell)
return null;
const cls = charClass(startCell.char);
let lo = c5;
while (lo > 0) {
const prev = lo - 1;
if (noSelect[rowOff + prev] === 1)
break;
const pc = cellAt(screen, prev, row);
if (!pc)
break;
if (pc.width === 2 /* SpacerTail */) {
if (prev === 0 || noSelect[rowOff + prev - 1] === 1)
break;
const head = cellAt(screen, prev - 1, row);
if (!head || charClass(head.char) !== cls)
break;
lo = prev - 1;
continue;
}
if (charClass(pc.char) !== cls)
break;
lo = prev;
}
let hi = c5;
while (hi < width - 1) {
const next = hi + 1;
if (noSelect[rowOff + next] === 1)
break;
const nc = cellAt(screen, next, row);
if (!nc)
break;
if (nc.width === 2 /* SpacerTail */) {
hi = next;
continue;
}
if (charClass(nc.char) !== cls)
break;
hi = next;
}
return { lo, hi };
}
function comparePoints(a2, b2) {
if (a2.row !== b2.row)
return a2.row < b2.row ? -1 : 1;
if (a2.col !== b2.col)
return a2.col < b2.col ? -1 : 1;
return 0;
}
function selectWordAt(s2, screen, col, row) {
const b2 = wordBoundsAt(screen, col, row);
if (!b2)
return;
const lo = { col: b2.lo, row };
const hi = { col: b2.hi, row };
s2.anchor = lo;
s2.focus = hi;
s2.isDragging = true;
s2.anchorSpan = { lo, hi, kind: "word" };
}
function isUrlChar(c5) {
if (c5.length !== 1)
return false;
const code = c5.charCodeAt(0);
return code >= 33 && code <= 126 && !URL_BOUNDARY.has(c5);
}
function findPlainTextUrlAt(screen, col, row) {
if (row < 0 || row >= screen.height)
return;
const width = screen.width;
const noSelect = screen.noSelect;
const rowOff = row * width;
let c5 = col;
if (c5 > 0) {
const cell = cellAt(screen, c5, row);
if (cell && cell.width === 2 /* SpacerTail */)
c5 -= 1;
}
if (c5 < 0 || c5 >= width || noSelect[rowOff + c5] === 1)
return;
const startCell = cellAt(screen, c5, row);
if (!startCell || !isUrlChar(startCell.char))
return;
let lo = c5;
while (lo > 0) {
const prev = lo - 1;
if (noSelect[rowOff + prev] === 1)
break;
const pc = cellAt(screen, prev, row);
if (!pc || pc.width !== 0 /* Narrow */ || !isUrlChar(pc.char))
break;
lo = prev;
}
let hi = c5;
while (hi < width - 1) {
const next = hi + 1;
if (noSelect[rowOff + next] === 1)
break;
const nc = cellAt(screen, next, row);
if (!nc || nc.width !== 0 /* Narrow */ || !isUrlChar(nc.char))
break;
hi = next;
}
let token = "";
for (let i3 = lo;i3 <= hi; i3++)
token += cellAt(screen, i3, row).char;
const clickIdx = c5 - lo;
const schemeRe = /(?:https?|file):\/\//g;
let urlStart = -1;
let urlEnd = token.length;
for (let m3;m3 = schemeRe.exec(token); ) {
if (m3.index > clickIdx) {
urlEnd = m3.index;
break;
}
urlStart = m3.index;
}
if (urlStart < 0)
return;
let url3 = token.slice(urlStart, urlEnd);
const OPENER = { ")": "(", "]": "[", "}": "{" };
while (url3.length > 0) {
const last = url3.at(-1);
if (".,;:!?".includes(last)) {
url3 = url3.slice(0, -1);
continue;
}
const opener = OPENER[last];
if (!opener)
break;
let opens = 0;
let closes = 0;
for (let i3 = 0;i3 < url3.length; i3++) {
const ch = url3.charAt(i3);
if (ch === opener)
opens++;
else if (ch === last)
closes++;
}
if (closes > opens)
url3 = url3.slice(0, -1);
else
break;
}
if (clickIdx >= urlStart + url3.length)
return;
return url3;
}
function selectLineAt(s2, screen, row) {
if (row < 0 || row >= screen.height)
return;
const lo = { col: 0, row };
const hi = { col: screen.width - 1, row };
s2.anchor = lo;
s2.focus = hi;
s2.isDragging = true;
s2.anchorSpan = { lo, hi, kind: "line" };
}
function extendSelection(s2, screen, col, row) {
if (!s2.isDragging || !s2.anchorSpan)
return;
const span = s2.anchorSpan;
let mLo;
let mHi;
if (span.kind === "word") {
const b2 = wordBoundsAt(screen, col, row);
mLo = { col: b2 ? b2.lo : col, row };
mHi = { col: b2 ? b2.hi : col, row };
} else {
const r2 = clamp(row, 0, screen.height - 1);
mLo = { col: 0, row: r2 };
mHi = { col: screen.width - 1, row: r2 };
}
if (comparePoints(mHi, span.lo) < 0) {
s2.anchor = span.hi;
s2.focus = mLo;
} else if (comparePoints(mLo, span.hi) > 0) {
s2.anchor = span.lo;
s2.focus = mHi;
} else {
s2.anchor = span.lo;
s2.focus = span.hi;
}
}
function moveFocus(s2, col, row) {
if (!s2.focus)
return;
s2.anchorSpan = null;
s2.focus = { col, row };
s2.virtualFocusRow = undefined;
}
function shiftSelection(s2, dRow, minRow, maxRow, width) {
if (!s2.anchor || !s2.focus)
return;
const vAnchor = (s2.virtualAnchorRow ?? s2.anchor.row) + dRow;
const vFocus = (s2.virtualFocusRow ?? s2.focus.row) + dRow;
if (vAnchor < minRow && vFocus < minRow || vAnchor > maxRow && vFocus > maxRow) {
clearSelection(s2);
return;
}
const oldMin = Math.min(s2.virtualAnchorRow ?? s2.anchor.row, s2.virtualFocusRow ?? s2.focus.row);
const oldMax = Math.max(s2.virtualAnchorRow ?? s2.anchor.row, s2.virtualFocusRow ?? s2.focus.row);
const oldAboveDebt = Math.max(0, minRow - oldMin);
const oldBelowDebt = Math.max(0, oldMax - maxRow);
const newAboveDebt = Math.max(0, minRow - Math.min(vAnchor, vFocus));
const newBelowDebt = Math.max(0, Math.max(vAnchor, vFocus) - maxRow);
if (newAboveDebt < oldAboveDebt) {
const drop = oldAboveDebt - newAboveDebt;
s2.scrolledOffAbove.length -= drop;
s2.scrolledOffAboveSW.length = s2.scrolledOffAbove.length;
}
if (newBelowDebt < oldBelowDebt) {
const drop = oldBelowDebt - newBelowDebt;
s2.scrolledOffBelow.splice(0, drop);
s2.scrolledOffBelowSW.splice(0, drop);
}
if (s2.scrolledOffAbove.length > newAboveDebt) {
s2.scrolledOffAbove = newAboveDebt > 0 ? s2.scrolledOffAbove.slice(-newAboveDebt) : [];
s2.scrolledOffAboveSW = newAboveDebt > 0 ? s2.scrolledOffAboveSW.slice(-newAboveDebt) : [];
}
if (s2.scrolledOffBelow.length > newBelowDebt) {
s2.scrolledOffBelow = s2.scrolledOffBelow.slice(0, newBelowDebt);
s2.scrolledOffBelowSW = s2.scrolledOffBelowSW.slice(0, newBelowDebt);
}
const shift = (p, vRow) => {
if (vRow < minRow)
return { col: 0, row: minRow };
if (vRow > maxRow)
return { col: width - 1, row: maxRow };
return { col: p.col, row: vRow };
};
s2.anchor = shift(s2.anchor, vAnchor);
s2.focus = shift(s2.focus, vFocus);
s2.virtualAnchorRow = vAnchor < minRow || vAnchor > maxRow ? vAnchor : undefined;
s2.virtualFocusRow = vFocus < minRow || vFocus > maxRow ? vFocus : undefined;
if (s2.anchorSpan) {
const sp = (p) => {
const r2 = p.row + dRow;
if (r2 < minRow)
return { col: 0, row: minRow };
if (r2 > maxRow)
return { col: width - 1, row: maxRow };
return { col: p.col, row: r2 };
};
s2.anchorSpan = {
lo: sp(s2.anchorSpan.lo),
hi: sp(s2.anchorSpan.hi),
kind: s2.anchorSpan.kind
};
}
}
function shiftAnchor(s2, dRow, minRow, maxRow) {
if (!s2.anchor)
return;
const raw = (s2.virtualAnchorRow ?? s2.anchor.row) + dRow;
s2.anchor = { col: s2.anchor.col, row: clamp(raw, minRow, maxRow) };
s2.virtualAnchorRow = raw < minRow || raw > maxRow ? raw : undefined;
if (s2.anchorSpan) {
const shift = (p) => ({
col: p.col,
row: clamp(p.row + dRow, minRow, maxRow)
});
s2.anchorSpan = {
lo: shift(s2.anchorSpan.lo),
hi: shift(s2.anchorSpan.hi),
kind: s2.anchorSpan.kind
};
}
}
function shiftSelectionForFollow(s2, dRow, minRow, maxRow) {
if (!s2.anchor)
return false;
const rawAnchor = (s2.virtualAnchorRow ?? s2.anchor.row) + dRow;
const rawFocus = s2.focus ? (s2.virtualFocusRow ?? s2.focus.row) + dRow : undefined;
if (rawAnchor < minRow && rawFocus !== undefined && rawFocus < minRow) {
clearSelection(s2);
return true;
}
s2.anchor = { col: s2.anchor.col, row: clamp(rawAnchor, minRow, maxRow) };
if (s2.focus && rawFocus !== undefined) {
s2.focus = { col: s2.focus.col, row: clamp(rawFocus, minRow, maxRow) };
}
s2.virtualAnchorRow = rawAnchor < minRow || rawAnchor > maxRow ? rawAnchor : undefined;
s2.virtualFocusRow = rawFocus !== undefined && (rawFocus < minRow || rawFocus > maxRow) ? rawFocus : undefined;
if (s2.anchorSpan) {
const shift = (p) => ({
col: p.col,
row: clamp(p.row + dRow, minRow, maxRow)
});
s2.anchorSpan = {
lo: shift(s2.anchorSpan.lo),
hi: shift(s2.anchorSpan.hi),
kind: s2.anchorSpan.kind
};
}
return false;
}
function hasSelection(s2) {
return s2.anchor !== null && s2.focus !== null;
}
function selectionBounds(s2) {
if (!s2.anchor || !s2.focus)
return null;
return comparePoints(s2.anchor, s2.focus) <= 0 ? { start: s2.anchor, end: s2.focus } : { start: s2.focus, end: s2.anchor };
}
function extractRowText(screen, row, colStart, colEnd) {
const noSelect = screen.noSelect;
const rowOff = row * screen.width;
const contentEnd = row + 1 < screen.height ? screen.softWrap[row + 1] : 0;
const lastCol = contentEnd > 0 ? Math.min(colEnd, contentEnd - 1) : colEnd;
let line = "";
for (let col = colStart;col <= lastCol; col++) {
if (noSelect[rowOff + col] === 1)
continue;
const cell = cellAt(screen, col, row);
if (!cell)
continue;
if (cell.width === 2 /* SpacerTail */ || cell.width === 3 /* SpacerHead */) {
continue;
}
line += cell.char;
}
return contentEnd > 0 ? line : line.replace(/\s+$/, "");
}
function joinRows(lines, text, sw) {
if (sw && lines.length > 0) {
lines[lines.length - 1] += text;
} else {
lines.push(text);
}
}
function getSelectedText(s2, screen) {
const b2 = selectionBounds(s2);
if (!b2)
return "";
const { start, end } = b2;
const sw = screen.softWrap;
const lines = [];
for (let i3 = 0;i3 < s2.scrolledOffAbove.length; i3++) {
joinRows(lines, s2.scrolledOffAbove[i3], s2.scrolledOffAboveSW[i3]);
}
for (let row = start.row;row <= end.row; row++) {
const rowStart = row === start.row ? start.col : 0;
const rowEnd = row === end.row ? end.col : screen.width - 1;
joinRows(lines, extractRowText(screen, row, rowStart, rowEnd), sw[row] > 0);
}
for (let i3 = 0;i3 < s2.scrolledOffBelow.length; i3++) {
joinRows(lines, s2.scrolledOffBelow[i3], s2.scrolledOffBelowSW[i3]);
}
return lines.join(`
`);
}
function captureScrolledRows(s2, screen, firstRow, lastRow, side) {
const b2 = selectionBounds(s2);
if (!b2 || firstRow > lastRow)
return;
const { start, end } = b2;
const lo = Math.max(firstRow, start.row);
const hi = Math.min(lastRow, end.row);
if (lo > hi)
return;
const width = screen.width;
const sw = screen.softWrap;
const captured = [];
const capturedSW = [];
for (let row = lo;row <= hi; row++) {
const colStart = row === start.row ? start.col : 0;
const colEnd = row === end.row ? end.col : width - 1;
captured.push(extractRowText(screen, row, colStart, colEnd));
capturedSW.push(sw[row] > 0);
}
if (side === "above") {
s2.scrolledOffAbove.push(...captured);
s2.scrolledOffAboveSW.push(...capturedSW);
if (s2.anchor && s2.anchor.row === start.row && lo === start.row) {
s2.anchor = { col: 0, row: s2.anchor.row };
if (s2.anchorSpan) {
s2.anchorSpan = {
kind: s2.anchorSpan.kind,
lo: { col: 0, row: s2.anchorSpan.lo.row },
hi: { col: width - 1, row: s2.anchorSpan.hi.row }
};
}
}
} else {
s2.scrolledOffBelow.unshift(...captured);
s2.scrolledOffBelowSW.unshift(...capturedSW);
if (s2.anchor && s2.anchor.row === end.row && hi === end.row) {
s2.anchor = { col: width - 1, row: s2.anchor.row };
if (s2.anchorSpan) {
s2.anchorSpan = {
kind: s2.anchorSpan.kind,
lo: { col: 0, row: s2.anchorSpan.lo.row },
hi: { col: width - 1, row: s2.anchorSpan.hi.row }
};
}
}
}
}
function applySelectionOverlay(screen, selection, stylePool) {
const b2 = selectionBounds(selection);
if (!b2)
return;
const { start, end } = b2;
const width = screen.width;
const noSelect = screen.noSelect;
for (let row = start.row;row <= end.row && row < screen.height; row++) {
const colStart = row === start.row ? start.col : 0;
const colEnd = row === end.row ? Math.min(end.col, width - 1) : width - 1;
const rowOff = row * width;
for (let col = colStart;col <= colEnd; col++) {
const idx = rowOff + col;
if (noSelect[idx] === 1)
continue;
const cell = cellAtIndex(screen, idx);
setCellStyleId(screen, col, row, stylePool.withSelectionBg(cell.styleId));
}
}
}
var WORD_CHAR, URL_BOUNDARY;
var init_selection = __esm(() => {
init_geometry();
init_screen();
WORD_CHAR = /[\p{L}\p{N}_/.\-+~\\]/u;
URL_BOUNDARY = new Set([..."<>\"'` "]);
});
// src/utils/semver.ts
function getNpmSemver() {
if (!_npmSemver) {
_npmSemver = require_semver2();
}
return _npmSemver;
}
function gt(a2, b2) {
if (typeof Bun !== "undefined") {
return Bun.semver.order(a2, b2) === 1;
}
return getNpmSemver().gt(a2, b2, { loose: true });
}
function gte(a2, b2) {
if (typeof Bun !== "undefined") {
return Bun.semver.order(a2, b2) >= 0;
}
return getNpmSemver().gte(a2, b2, { loose: true });
}
function lt(a2, b2) {
if (typeof Bun !== "undefined") {
return Bun.semver.order(a2, b2) === -1;
}
return getNpmSemver().lt(a2, b2, { loose: true });
}
function satisfies(version6, range) {
if (typeof Bun !== "undefined") {
return Bun.semver.satisfies(version6, range);
}
return getNpmSemver().satisfies(version6, range, { loose: true });
}
var _npmSemver;
// src/ink/clearTerminal.ts
function isWindowsTerminal() {
return process.platform === "win32" && !!process.env.WT_SESSION;
}
function isMintty() {
if (process.env.TERM_PROGRAM === "mintty") {
return true;
}
if (process.platform === "win32" && process.env.MSYSTEM) {
return true;
}
return false;
}
function isModernWindowsTerminal() {
if (isWindowsTerminal()) {
return true;
}
if (process.platform === "win32" && process.env.TERM_PROGRAM === "vscode" && process.env.TERM_PROGRAM_VERSION) {
return true;
}
if (isMintty()) {
return true;
}
return false;
}
function getClearTerminalSequence() {
if (process.platform === "win32") {
if (isModernWindowsTerminal()) {
return ERASE_SCREEN + ERASE_SCROLLBACK + CURSOR_HOME;
} else {
return ERASE_SCREEN + CURSOR_HOME_WINDOWS;
}
}
return ERASE_SCREEN + ERASE_SCROLLBACK + CURSOR_HOME;
}
var CURSOR_HOME_WINDOWS, clearTerminal;
var init_clearTerminal = __esm(() => {
init_csi();
CURSOR_HOME_WINDOWS = csi(0, "f");
clearTerminal = getClearTerminalSequence();
});
// src/ink/termio/dec.ts
function decset(mode) {
return csi(`?${mode}h`);
}
function decreset(mode) {
return csi(`?${mode}l`);
}
var DEC, BSU, ESU, EBP, DBP, EFE, DFE, SHOW_CURSOR, HIDE_CURSOR, ENTER_ALT_SCREEN, EXIT_ALT_SCREEN, ENABLE_MOUSE_TRACKING, DISABLE_MOUSE_TRACKING;
var init_dec = __esm(() => {
init_csi();
DEC = {
CURSOR_VISIBLE: 25,
ALT_SCREEN: 47,
ALT_SCREEN_CLEAR: 1049,
MOUSE_NORMAL: 1000,
MOUSE_BUTTON: 1002,
MOUSE_ANY: 1003,
MOUSE_SGR: 1006,
FOCUS_EVENTS: 1004,
BRACKETED_PASTE: 2004,
SYNCHRONIZED_UPDATE: 2026
};
BSU = decset(DEC.SYNCHRONIZED_UPDATE);
ESU = decreset(DEC.SYNCHRONIZED_UPDATE);
EBP = decset(DEC.BRACKETED_PASTE);
DBP = decreset(DEC.BRACKETED_PASTE);
EFE = decset(DEC.FOCUS_EVENTS);
DFE = decreset(DEC.FOCUS_EVENTS);
SHOW_CURSOR = decset(DEC.CURSOR_VISIBLE);
HIDE_CURSOR = decreset(DEC.CURSOR_VISIBLE);
ENTER_ALT_SCREEN = decset(DEC.ALT_SCREEN_CLEAR);
EXIT_ALT_SCREEN = decreset(DEC.ALT_SCREEN_CLEAR);
ENABLE_MOUSE_TRACKING = decset(DEC.MOUSE_NORMAL) + decset(DEC.MOUSE_BUTTON) + decset(DEC.MOUSE_ANY) + decset(DEC.MOUSE_SGR);
DISABLE_MOUSE_TRACKING = decreset(DEC.MOUSE_SGR) + decreset(DEC.MOUSE_ANY) + decreset(DEC.MOUSE_BUTTON) + decreset(DEC.MOUSE_NORMAL);
});
// src/ink/termio/osc.ts
import { Buffer as Buffer11 } from "buffer";
function osc(...parts) {
const terminator = env3.terminal === "kitty" ? ST : BEL;
return `${OSC_PREFIX}${parts.join(SEP)}${terminator}`;
}
function wrapForMultiplexer(sequence) {
if (process.env["TMUX"]) {
const escaped = sequence.replaceAll("\x1B", "\x1B\x1B");
return `\x1BPtmux;${escaped}\x1B\\`;
}
if (process.env["STY"]) {
return `\x1BP${sequence}\x1B\\`;
}
return sequence;
}
function getClipboardPath() {
const nativeAvailable = process.platform === "darwin" && !process.env["SSH_CONNECTION"];
if (nativeAvailable)
return "native";
if (process.env["TMUX"])
return "tmux-buffer";
return "osc52";
}
function tmuxPassthrough(payload) {
return `${ESC}Ptmux;${payload.replaceAll(ESC, ESC + ESC)}${ST}`;
}
async function tmuxLoadBuffer(text) {
if (!process.env["TMUX"])
return false;
const args = process.env["LC_TERMINAL"] === "iTerm2" ? ["load-buffer", "-"] : ["load-buffer", "-w", "-"];
const { code } = await execFileNoThrow("tmux", args, {
input: text,
useCwd: false,
timeout: 2000
});
return code === 0;
}
async function setClipboard(text) {
const b64 = Buffer11.from(text, "utf8").toString("base64");
const raw = osc(OSC2.CLIPBOARD, "c", b64);
if (!process.env["SSH_CONNECTION"])
copyNative(text);
const tmuxBufferLoaded = await tmuxLoadBuffer(text);
if (tmuxBufferLoaded)
return tmuxPassthrough(`${ESC}]52;c;${b64}${BEL}`);
return raw;
}
function copyNative(text) {
const opts = { input: text, useCwd: false, timeout: 2000 };
switch (process.platform) {
case "darwin":
execFileNoThrow("pbcopy", [], opts);
return;
case "linux": {
if (linuxCopy === null)
return;
if (linuxCopy === "wl-copy") {
execFileNoThrow("wl-copy", [], opts);
return;
}
if (linuxCopy === "xclip") {
execFileNoThrow("xclip", ["-selection", "clipboard"], opts);
return;
}
if (linuxCopy === "xsel") {
execFileNoThrow("xsel", ["--clipboard", "--input"], opts);
return;
}
execFileNoThrow("wl-copy", [], opts).then((r2) => {
if (r2.code === 0) {
linuxCopy = "wl-copy";
return;
}
execFileNoThrow("xclip", ["-selection", "clipboard"], opts).then((r22) => {
if (r22.code === 0) {
linuxCopy = "xclip";
return;
}
execFileNoThrow("xsel", ["--clipboard", "--input"], opts).then((r3) => {
linuxCopy = r3.code === 0 ? "xsel" : null;
});
});
});
return;
}
case "win32":
execFileNoThrow("clip", [], opts);
return;
}
}
function parseOSC(content) {
const semicolonIdx = content.indexOf(";");
const command = semicolonIdx >= 0 ? content.slice(0, semicolonIdx) : content;
const data = semicolonIdx >= 0 ? content.slice(semicolonIdx + 1) : "";
const commandNum = parseInt(command, 10);
if (commandNum === OSC2.SET_TITLE_AND_ICON) {
return { type: "title", action: { type: "both", title: data } };
}
if (commandNum === OSC2.SET_ICON) {
return { type: "title", action: { type: "iconName", name: data } };
}
if (commandNum === OSC2.SET_TITLE) {
return { type: "title", action: { type: "windowTitle", title: data } };
}
if (commandNum === OSC2.HYPERLINK) {
const parts = data.split(";");
const paramsStr = parts[0] ?? "";
const url3 = parts.slice(1).join(";");
if (url3 === "") {
return { type: "link", action: { type: "end" } };
}
const params = {};
if (paramsStr) {
for (const pair of paramsStr.split(":")) {
const eqIdx = pair.indexOf("=");
if (eqIdx >= 0) {
params[pair.slice(0, eqIdx)] = pair.slice(eqIdx + 1);
}
}
}
return {
type: "link",
action: {
type: "start",
url: url3,
params: Object.keys(params).length > 0 ? params : undefined
}
};
}
if (commandNum === OSC2.TAB_STATUS) {
return { type: "tabStatus", action: parseTabStatus(data) };
}
return { type: "unknown", sequence: `\x1B]${content}` };
}
function parseOscColor(spec) {
const hex3 = spec.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);
if (hex3) {
return {
type: "rgb",
r: parseInt(hex3[1], 16),
g: parseInt(hex3[2], 16),
b: parseInt(hex3[3], 16)
};
}
const rgb = spec.match(/^rgb:([0-9a-f]{1,4})\/([0-9a-f]{1,4})\/([0-9a-f]{1,4})$/i);
if (rgb) {
const scale = (s2) => Math.round(parseInt(s2, 16) / (16 ** s2.length - 1) * 255);
return {
type: "rgb",
r: scale(rgb[1]),
g: scale(rgb[2]),
b: scale(rgb[3])
};
}
return null;
}
function parseTabStatus(data) {
const action = {};
for (const [key, value] of splitTabStatusPairs(data)) {
switch (key) {
case "indicator":
action.indicator = value === "" ? null : parseOscColor(value);
break;
case "status":
action.status = value === "" ? null : value;
break;
case "status-color":
action.statusColor = value === "" ? null : parseOscColor(value);
break;
}
}
return action;
}
function* splitTabStatusPairs(data) {
let key = "";
let val = "";
let inVal = false;
let esc2 = false;
for (const c5 of data) {
if (esc2) {
if (inVal)
val += c5;
else
key += c5;
esc2 = false;
} else if (c5 === "\\") {
esc2 = true;
} else if (c5 === ";") {
yield [key, val];
key = "";
val = "";
inVal = false;
} else if (c5 === "=" && !inVal) {
inVal = true;
} else if (inVal) {
val += c5;
} else {
key += c5;
}
}
if (key || inVal)
yield [key, val];
}
function link(url3, params) {
if (!url3)
return LINK_END;
const p = { id: osc8Id(url3), ...params };
const paramStr = Object.entries(p).map(([k2, v2]) => `${k2}=${v2}`).join(":");
return osc(OSC2.HYPERLINK, paramStr, url3);
}
function osc8Id(url3) {
let h3 = 0;
for (let i3 = 0;i3 < url3.length; i3++)
h3 = (h3 << 5) - h3 + url3.charCodeAt(i3) | 0;
return (h3 >>> 0).toString(36);
}
function supportsTabStatus() {
return process.env.USER_TYPE === "ant";
}
function tabStatus(fields) {
const parts = [];
const rgb = (c5) => c5.type === "rgb" ? `#${[c5.r, c5.g, c5.b].map((n2) => n2.toString(16).padStart(2, "0")).join("")}` : "";
if ("indicator" in fields)
parts.push(`indicator=${fields.indicator ? rgb(fields.indicator) : ""}`);
if ("status" in fields)
parts.push(`status=${fields.status?.replaceAll("\\", "\\\\").replaceAll(";", "\\;") ?? ""}`);
if ("statusColor" in fields)
parts.push(`status-color=${fields.statusColor ? rgb(fields.statusColor) : ""}`);
return osc(OSC2.TAB_STATUS, parts.join(";"));
}
var OSC_PREFIX, ST, linuxCopy, OSC2, LINK_END, ITERM2, PROGRESS, CLEAR_ITERM2_PROGRESS, CLEAR_TERMINAL_TITLE, CLEAR_TAB_STATUS;
var init_osc = __esm(() => {
init_env();
init_execFileNoThrow();
init_ansi();
OSC_PREFIX = ESC + String.fromCharCode(ESC_TYPE.OSC);
ST = ESC + "\\";
OSC2 = {
SET_TITLE_AND_ICON: 0,
SET_ICON: 1,
SET_TITLE: 2,
SET_COLOR: 4,
SET_CWD: 7,
HYPERLINK: 8,
ITERM2: 9,
SET_FG_COLOR: 10,
SET_BG_COLOR: 11,
SET_CURSOR_COLOR: 12,
CLIPBOARD: 52,
KITTY: 99,
RESET_COLOR: 104,
RESET_FG_COLOR: 110,
RESET_BG_COLOR: 111,
RESET_CURSOR_COLOR: 112,
SEMANTIC_PROMPT: 133,
GHOSTTY: 777,
TAB_STATUS: 21337
};
LINK_END = osc(OSC2.HYPERLINK, "", "");
ITERM2 = {
NOTIFY: 0,
BADGE: 2,
PROGRESS: 4
};
PROGRESS = {
CLEAR: 0,
SET: 1,
ERROR: 2,
INDETERMINATE: 3
};
CLEAR_ITERM2_PROGRESS = `${OSC_PREFIX}${OSC2.ITERM2};${ITERM2.PROGRESS};${PROGRESS.CLEAR};${BEL}`;
CLEAR_TERMINAL_TITLE = `${OSC_PREFIX}${OSC2.SET_TITLE_AND_ICON};${BEL}`;
CLEAR_TAB_STATUS = osc(OSC2.TAB_STATUS, "indicator=;status=;status-color=");
});
// src/ink/terminal.ts
function isProgressReportingAvailable() {
if (!process.stdout.isTTY) {
return false;
}
if (process.env.WT_SESSION) {
return false;
}
if (process.env.ConEmuANSI || process.env.ConEmuPID || process.env.ConEmuTask) {
return true;
}
const version6 = import_semver.coerce(process.env.TERM_PROGRAM_VERSION);
if (!version6) {
return false;
}
if (process.env.TERM_PROGRAM === "ghostty") {
return gte(version6.version, "1.2.0");
}
if (process.env.TERM_PROGRAM === "iTerm.app") {
return gte(version6.version, "3.6.6");
}
return false;
}
function isSynchronizedOutputSupported() {
if (process.env.TMUX)
return false;
const termProgram = process.env.TERM_PROGRAM;
const term = process.env.TERM;
if (termProgram === "iTerm.app" || termProgram === "WezTerm" || termProgram === "WarpTerminal" || termProgram === "ghostty" || termProgram === "contour" || termProgram === "vscode" || termProgram === "alacritty") {
return true;
}
if (term?.includes("kitty") || process.env.KITTY_WINDOW_ID)
return true;
if (term === "xterm-ghostty")
return true;
if (term?.startsWith("foot"))
return true;
if (term?.includes("alacritty"))
return true;
if (process.env.ZED_TERM)
return true;
if (process.env.WT_SESSION)
return true;
const vteVersion = process.env.VTE_VERSION;
if (vteVersion) {
const version6 = parseInt(vteVersion, 10);
if (version6 >= 6800)
return true;
}
return false;
}
function setXtversionName(name3) {
if (xtversionName === undefined)
xtversionName = name3;
}
function isXtermJs() {
if (process.env.TERM_PROGRAM === "vscode")
return true;
return xtversionName?.startsWith("xterm.js") ?? false;
}
function supportsExtendedKeys() {
return EXTENDED_KEYS_TERMINALS.includes(env3.terminal ?? "");
}
function hasCursorUpViewportYankBug() {
return process.platform === "win32" || !!process.env.WT_SESSION;
}
function writeDiffToTerminal(terminal, diff2, skipSyncMarkers = false) {
if (diff2.length === 0) {
return;
}
const useSync = !skipSyncMarkers;
let buffer = useSync ? BSU : "";
for (const patch of diff2) {
switch (patch.type) {
case "stdout":
buffer += patch.content;
break;
case "clear":
if (patch.count > 0) {
buffer += eraseLines(patch.count);
}
break;
case "clearTerminal":
buffer += getClearTerminalSequence();
break;
case "cursorHide":
buffer += HIDE_CURSOR;
break;
case "cursorShow":
buffer += SHOW_CURSOR;
break;
case "cursorMove":
buffer += cursorMove(patch.x, patch.y);
break;
case "cursorTo":
buffer += cursorTo(patch.col);
break;
case "carriageReturn":
buffer += "\r";
break;
case "hyperlink":
buffer += link(patch.uri);
break;
case "styleStr":
buffer += patch.str;
break;
}
}
if (useSync)
buffer += ESU;
terminal.stdout.write(buffer);
}
var import_semver, xtversionName, EXTENDED_KEYS_TERMINALS, SYNC_OUTPUT_SUPPORTED;
var init_terminal = __esm(() => {
init_env();
init_clearTerminal();
init_csi();
init_dec();
init_osc();
import_semver = __toESM(require_semver2(), 1);
EXTENDED_KEYS_TERMINALS = [
"iTerm.app",
"kitty",
"WezTerm",
"ghostty",
"tmux",
"windows-terminal"
];
SYNC_OUTPUT_SUPPORTED = isSynchronizedOutputSupported();
});
// src/ink/terminal-focus-state.ts
function setTerminalFocused(v2) {
focusState = v2 ? "focused" : "blurred";
for (const cb of subscribers) {
cb();
}
if (!v2) {
for (const resolve9 of resolvers) {
resolve9();
}
resolvers.clear();
}
}
function getTerminalFocused() {
return focusState !== "blurred";
}
function getTerminalFocusState() {
return focusState;
}
function subscribeTerminalFocus(cb) {
subscribers.add(cb);
return () => {
subscribers.delete(cb);
};
}
var focusState = "unknown", resolvers, subscribers;
var init_terminal_focus_state = __esm(() => {
resolvers = new Set;
subscribers = new Set;
});
// src/ink/terminal-querier.ts
function xtversion() {
return {
request: csi(">0q"),
match: (r2) => r2.type === "xtversion"
};
}
class TerminalQuerier {
stdout;
queue = [];
constructor(stdout) {
this.stdout = stdout;
}
send(query) {
return new Promise((resolve9) => {
this.queue.push({
kind: "query",
match: query.match,
resolve: (r2) => resolve9(r2)
});
this.stdout.write(query.request);
});
}
flush() {
return new Promise((resolve9) => {
this.queue.push({ kind: "sentinel", resolve: resolve9 });
this.stdout.write(SENTINEL);
});
}
onResponse(r2) {
const idx = this.queue.findIndex((p) => p.kind === "query" && p.match(r2));
if (idx !== -1) {
const [q2] = this.queue.splice(idx, 1);
if (q2?.kind === "query")
q2.resolve(r2);
return;
}
if (r2.type === "da1") {
const s2 = this.queue.findIndex((p) => p.kind === "sentinel");
if (s2 === -1)
return;
for (const p of this.queue.splice(0, s2 + 1)) {
if (p.kind === "query")
p.resolve(undefined);
else
p.resolve();
}
}
}
}
var SENTINEL;
var init_terminal_querier = __esm(() => {
init_csi();
init_osc();
SENTINEL = csi("c");
});
// src/ink/components/AppContext.ts
var import_react4, AppContext, AppContext_default;
var init_AppContext = __esm(() => {
import_react4 = __toESM(require_react(), 1);
AppContext = import_react4.createContext({
exit() {}
});
AppContext.displayName = "InternalAppContext";
AppContext_default = AppContext;
});
// src/ink/constants.ts
var FRAME_INTERVAL_MS = 16;
// src/ink/components/TerminalFocusContext.tsx
function TerminalFocusProvider(t0) {
const $3 = import_compiler_runtime2.c(6);
const {
children: children2
} = t0;
const isTerminalFocused = import_react5.useSyncExternalStore(subscribeTerminalFocus, getTerminalFocused);
const terminalFocusState = import_react5.useSyncExternalStore(subscribeTerminalFocus, getTerminalFocusState);
let t1;
if ($3[0] !== isTerminalFocused || $3[1] !== terminalFocusState) {
t1 = {
isTerminalFocused,
terminalFocusState
};
$3[0] = isTerminalFocused;
$3[1] = terminalFocusState;
$3[2] = t1;
} else {
t1 = $3[2];
}
const value = t1;
let t2;
if ($3[3] !== children2 || $3[4] !== value) {
t2 = /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(TerminalFocusContext.Provider, {
value,
children: children2
}, undefined, false, undefined, this);
$3[3] = children2;
$3[4] = value;
$3[5] = t2;
} else {
t2 = $3[5];
}
return t2;
}
var import_compiler_runtime2, import_react5, jsx_dev_runtime2, TerminalFocusContext, TerminalFocusContext_default;
var init_TerminalFocusContext = __esm(() => {
init_terminal_focus_state();
import_compiler_runtime2 = __toESM(require_compiler_runtime(), 1);
import_react5 = __toESM(require_react(), 1);
jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
TerminalFocusContext = import_react5.createContext({
isTerminalFocused: true,
terminalFocusState: "unknown"
});
TerminalFocusContext.displayName = "TerminalFocusContext";
TerminalFocusContext_default = TerminalFocusContext;
});
// src/ink/hooks/use-terminal-focus.ts
function useTerminalFocus() {
const { isTerminalFocused } = import_react6.useContext(TerminalFocusContext_default);
return isTerminalFocused;
}
var import_react6;
var init_use_terminal_focus = __esm(() => {
init_TerminalFocusContext();
import_react6 = __toESM(require_react(), 1);
});
// src/ink/components/ClockContext.tsx
function createClock(tickIntervalMs) {
const subscribers2 = new Map;
let interval = null;
let currentTickIntervalMs = tickIntervalMs;
let startTime = 0;
let tickTime = 0;
function tick() {
tickTime = Date.now() - startTime;
for (const onChange of subscribers2.keys()) {
onChange();
}
}
function updateInterval() {
const anyKeepAlive = [...subscribers2.values()].some(Boolean);
if (anyKeepAlive) {
if (interval) {
clearInterval(interval);
interval = null;
}
if (startTime === 0) {
startTime = Date.now();
}
interval = setInterval(tick, currentTickIntervalMs);
} else if (interval) {
clearInterval(interval);
interval = null;
}
}
return {
subscribe(onChange, keepAlive) {
subscribers2.set(onChange, keepAlive);
updateInterval();
return () => {
subscribers2.delete(onChange);
updateInterval();
};
},
now() {
if (startTime === 0) {
startTime = Date.now();
}
if (interval && tickTime) {
return tickTime;
}
return Date.now() - startTime;
},
setTickInterval(ms) {
if (ms === currentTickIntervalMs)
return;
currentTickIntervalMs = ms;
updateInterval();
}
};
}
function ClockProvider(t0) {
const $3 = import_compiler_runtime3.c(7);
const {
children: children2
} = t0;
const [clock] = import_react7.useState(_temp);
const focused = useTerminalFocus();
let t1;
let t2;
if ($3[0] !== clock || $3[1] !== focused) {
t1 = () => {
clock.setTickInterval(focused ? FRAME_INTERVAL_MS : BLURRED_TICK_INTERVAL_MS);
};
t2 = [clock, focused];
$3[0] = clock;
$3[1] = focused;
$3[2] = t1;
$3[3] = t2;
} else {
t1 = $3[2];
t2 = $3[3];
}
import_react7.useEffect(t1, t2);
let t3;
if ($3[4] !== children2 || $3[5] !== clock) {
t3 = /* @__PURE__ */ jsx_dev_runtime3.jsxDEV(ClockContext.Provider, {
value: clock,
children: children2
}, undefined, false, undefined, this);
$3[4] = children2;
$3[5] = clock;
$3[6] = t3;
} else {
t3 = $3[6];
}
return t3;
}
function _temp() {
return createClock(FRAME_INTERVAL_MS);
}
var import_compiler_runtime3, import_react7, jsx_dev_runtime3, ClockContext, BLURRED_TICK_INTERVAL_MS;
var init_ClockContext = __esm(() => {
init_use_terminal_focus();
import_compiler_runtime3 = __toESM(require_compiler_runtime(), 1);
import_react7 = __toESM(require_react(), 1);
jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
ClockContext = import_react7.createContext(null);
BLURRED_TICK_INTERVAL_MS = FRAME_INTERVAL_MS * 2;
});
// src/ink/components/CursorDeclarationContext.ts
var import_react8, CursorDeclarationContext, CursorDeclarationContext_default;
var init_CursorDeclarationContext = __esm(() => {
import_react8 = __toESM(require_react(), 1);
CursorDeclarationContext = import_react8.createContext(() => {});
CursorDeclarationContext_default = CursorDeclarationContext;
});
// node_modules/.pnpm/convert-to-spaces@2.0.1/node_modules/convert-to-spaces/dist/index.js
var convertToSpaces = (input, spaces = 2) => {
return input.replace(/^\t+/gm, ($1) => " ".repeat($1.length * spaces));
}, dist_default2;
var init_dist5 = __esm(() => {
dist_default2 = convertToSpaces;
});
// node_modules/.pnpm/code-excerpt@4.0.0/node_modules/code-excerpt/dist/index.js
var generateLineNumbers = (line, around) => {
const lineNumbers = [];
const min = line - around;
const max = line + around;
for (let lineNumber = min;lineNumber <= max; lineNumber++) {
lineNumbers.push(lineNumber);
}
return lineNumbers;
}, codeExcerpt = (source, line, options = {}) => {
var _a3;
if (typeof source !== "string") {
throw new TypeError("Source code is missing.");
}
if (!line || line < 1) {
throw new TypeError("Line number must start from `1`.");
}
const lines = dist_default2(source).split(/\r?\n/);
if (line > lines.length) {
return;
}
return generateLineNumbers(line, (_a3 = options.around) !== null && _a3 !== undefined ? _a3 : 3).filter((line2) => lines[line2 - 1] !== undefined).map((line2) => ({ line: line2, value: lines[line2 - 1] }));
}, dist_default3;
var init_dist6 = __esm(() => {
init_dist5();
dist_default3 = codeExcerpt;
});
// node_modules/.pnpm/escape-string-regexp@2.0.0/node_modules/escape-string-regexp/index.js
var require_escape_string_regexp = __commonJS((exports, module) => {
var matchOperatorsRegex = /[|\\{}()[\]^$+*?.-]/g;
module.exports = (string4) => {
if (typeof string4 !== "string") {
throw new TypeError("Expected a string");
}
return string4.replace(matchOperatorsRegex, "\\$&");
};
});
// node_modules/.pnpm/stack-utils@2.0.6/node_modules/stack-utils/index.js
var require_stack_utils = __commonJS((exports, module) => {
var escapeStringRegexp = require_escape_string_regexp();
var cwd2 = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
var natives = [].concat(__require("module").builtinModules, "bootstrap_node", "node").map((n2) => new RegExp(`(?:\\((?:node:)?${n2}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${n2}(?:\\.js)?:\\d+:\\d+$)`));
natives.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/, /\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/, /\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);
class StackUtils {
constructor(opts) {
opts = {
ignoredPackages: [],
...opts
};
if ("internals" in opts === false) {
opts.internals = StackUtils.nodeInternals();
}
if ("cwd" in opts === false) {
opts.cwd = cwd2;
}
this._cwd = opts.cwd.replace(/\\/g, "/");
this._internals = [].concat(opts.internals, ignoredPackagesRegExp(opts.ignoredPackages));
this._wrapCallSite = opts.wrapCallSite || false;
}
static nodeInternals() {
return [...natives];
}
clean(stack, indent = 0) {
indent = " ".repeat(indent);
if (!Array.isArray(stack)) {
stack = stack.split(`
`);
}
if (!/^\s*at /.test(stack[0]) && /^\s*at /.test(stack[1])) {
stack = stack.slice(1);
}
let outdent = false;
let lastNonAtLine = null;
const result = [];
stack.forEach((st) => {
st = st.replace(/\\/g, "/");
if (this._internals.some((internal) => internal.test(st))) {
return;
}
const isAtLine = /^\s*at /.test(st);
if (outdent) {
st = st.trimEnd().replace(/^(\s+)at /, "$1");
} else {
st = st.trim();
if (isAtLine) {
st = st.slice(3);
}
}
st = st.replace(`${this._cwd}/`, "");
if (st) {
if (isAtLine) {
if (lastNonAtLine) {
result.push(lastNonAtLine);
lastNonAtLine = null;
}
result.push(st);
} else {
outdent = true;
lastNonAtLine = st;
}
}
});
return result.map((line) => `${indent}${line}
`).join("");
}
captureString(limit, fn = this.captureString) {
if (typeof limit === "function") {
fn = limit;
limit = Infinity;
}
const { stackTraceLimit } = Error;
if (limit) {
Error.stackTraceLimit = limit;
}
const obj = {};
Error.captureStackTrace(obj, fn);
const { stack } = obj;
Error.stackTraceLimit = stackTraceLimit;
return this.clean(stack);
}
capture(limit, fn = this.capture) {
if (typeof limit === "function") {
fn = limit;
limit = Infinity;
}
const { prepareStackTrace, stackTraceLimit } = Error;
Error.prepareStackTrace = (obj2, site) => {
if (this._wrapCallSite) {
return site.map(this._wrapCallSite);
}
return site;
};
if (limit) {
Error.stackTraceLimit = limit;
}
const obj = {};
Error.captureStackTrace(obj, fn);
const { stack } = obj;
Object.assign(Error, { prepareStackTrace, stackTraceLimit });
return stack;
}
at(fn = this.at) {
const [site] = this.capture(1, fn);
if (!site) {
return {};
}
const res = {
line: site.getLineNumber(),
column: site.getColumnNumber()
};
setFile(res, site.getFileName(), this._cwd);
if (site.isConstructor()) {
Object.defineProperty(res, "constructor", {
value: true,
configurable: true
});
}
if (site.isEval()) {
res.evalOrigin = site.getEvalOrigin();
}
if (site.isNative()) {
res.native = true;
}
let typename;
try {
typename = site.getTypeName();
} catch (_2) {}
if (typename && typename !== "Object" && typename !== "[object Object]") {
res.type = typename;
}
const fname = site.getFunctionName();
if (fname) {
res.function = fname;
}
const meth = site.getMethodName();
if (meth && fname !== meth) {
res.method = meth;
}
return res;
}
parseLine(line) {
const match = line && line.match(re2);
if (!match) {
return null;
}
const ctor = match[1] === "new";
let fname = match[2];
const evalOrigin = match[3];
const evalFile = match[4];
const evalLine = Number(match[5]);
const evalCol = Number(match[6]);
let file2 = match[7];
const lnum = match[8];
const col = match[9];
const native = match[10] === "native";
const closeParen = match[11] === ")";
let method;
const res = {};
if (lnum) {
res.line = Number(lnum);
}
if (col) {
res.column = Number(col);
}
if (closeParen && file2) {
let closes = 0;
for (let i3 = file2.length - 1;i3 > 0; i3--) {
if (file2.charAt(i3) === ")") {
closes++;
} else if (file2.charAt(i3) === "(" && file2.charAt(i3 - 1) === " ") {
closes--;
if (closes === -1 && file2.charAt(i3 - 1) === " ") {
const before = file2.slice(0, i3 - 1);
const after = file2.slice(i3 + 1);
file2 = after;
fname += ` (${before}`;
break;
}
}
}
}
if (fname) {
const methodMatch = fname.match(methodRe);
if (methodMatch) {
fname = methodMatch[1];
method = methodMatch[2];
}
}
setFile(res, file2, this._cwd);
if (ctor) {
Object.defineProperty(res, "constructor", {
value: true,
configurable: true
});
}
if (evalOrigin) {
res.evalOrigin = evalOrigin;
res.evalLine = evalLine;
res.evalColumn = evalCol;
res.evalFile = evalFile && evalFile.replace(/\\/g, "/");
}
if (native) {
res.native = true;
}
if (fname) {
res.function = fname;
}
if (method && fname !== method) {
res.method = method;
}
return res;
}
}
function setFile(result, filename, cwd3) {
if (filename) {
filename = filename.replace(/\\/g, "/");
if (filename.startsWith(`${cwd3}/`)) {
filename = filename.slice(cwd3.length + 1);
}
result.file = filename;
}
}
function ignoredPackagesRegExp(ignoredPackages) {
if (ignoredPackages.length === 0) {
return [];
}
const packages = ignoredPackages.map((mod2) => escapeStringRegexp(mod2));
return new RegExp(`[/\\\\]node_modules[/\\\\](?:${packages.join("|")})[/\\\\][^:]+:\\d+:\\d+`);
}
var re2 = new RegExp("^" + "(?:\\s*at )?" + "(?:(new) )?" + "(?:(.*?) \\()?" + "(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?" + "(?:(.+?):(\\d+):(\\d+)|(native))" + "(\\)?)$");
var methodRe = /^(.*?) \[as (.*?)\]$/;
module.exports = StackUtils;
});
// src/ink/components/Box.tsx
function Box(t0) {
const $3 = import_compiler_runtime4.c(42);
let autoFocus;
let children2;
let flexDirection;
let flexGrow;
let flexShrink;
let flexWrap;
let onBlur;
let onBlurCapture;
let onClick;
let onFocus;
let onFocusCapture;
let onKeyDown;
let onKeyDownCapture;
let onMouseEnter;
let onMouseLeave;
let ref;
let style;
let tabIndex;
if ($3[0] !== t0) {
const {
children: t12,
flexWrap: t22,
flexDirection: t32,
flexGrow: t42,
flexShrink: t5,
ref: t6,
tabIndex: t7,
autoFocus: t8,
onClick: t9,
onFocus: t10,
onFocusCapture: t11,
onBlur: t122,
onBlurCapture: t13,
onMouseEnter: t14,
onMouseLeave: t15,
onKeyDown: t16,
onKeyDownCapture: t17,
...t18
} = t0;
children2 = t12;
ref = t6;
tabIndex = t7;
autoFocus = t8;
onClick = t9;
onFocus = t10;
onFocusCapture = t11;
onBlur = t122;
onBlurCapture = t13;
onMouseEnter = t14;
onMouseLeave = t15;
onKeyDown = t16;
onKeyDownCapture = t17;
style = t18;
flexWrap = t22 === undefined ? "nowrap" : t22;
flexDirection = t32 === undefined ? "row" : t32;
flexGrow = t42 === undefined ? 0 : t42;
flexShrink = t5 === undefined ? 1 : t5;
ifNotInteger(style.margin, "margin");
ifNotInteger(style.marginX, "marginX");
ifNotInteger(style.marginY, "marginY");
ifNotInteger(style.marginTop, "marginTop");
ifNotInteger(style.marginBottom, "marginBottom");
ifNotInteger(style.marginLeft, "marginLeft");
ifNotInteger(style.marginRight, "marginRight");
ifNotInteger(style.padding, "padding");
ifNotInteger(style.paddingX, "paddingX");
ifNotInteger(style.paddingY, "paddingY");
ifNotInteger(style.paddingTop, "paddingTop");
ifNotInteger(style.paddingBottom, "paddingBottom");
ifNotInteger(style.paddingLeft, "paddingLeft");
ifNotInteger(style.paddingRight, "paddingRight");
ifNotInteger(style.gap, "gap");
ifNotInteger(style.columnGap, "columnGap");
ifNotInteger(style.rowGap, "rowGap");
$3[0] = t0;
$3[1] = autoFocus;
$3[2] = children2;
$3[3] = flexDirection;
$3[4] = flexGrow;
$3[5] = flexShrink;
$3[6] = flexWrap;
$3[7] = onBlur;
$3[8] = onBlurCapture;
$3[9] = onClick;
$3[10] = onFocus;
$3[11] = onFocusCapture;
$3[12] = onKeyDown;
$3[13] = onKeyDownCapture;
$3[14] = onMouseEnter;
$3[15] = onMouseLeave;
$3[16] = ref;
$3[17] = style;
$3[18] = tabIndex;
} else {
autoFocus = $3[1];
children2 = $3[2];
flexDirection = $3[3];
flexGrow = $3[4];
flexShrink = $3[5];
flexWrap = $3[6];
onBlur = $3[7];
onBlurCapture = $3[8];
onClick = $3[9];
onFocus = $3[10];
onFocusCapture = $3[11];
onKeyDown = $3[12];
onKeyDownCapture = $3[13];
onMouseEnter = $3[14];
onMouseLeave = $3[15];
ref = $3[16];
style = $3[17];
tabIndex = $3[18];
}
const t1 = style.overflowX ?? style.overflow ?? "visible";
const t2 = style.overflowY ?? style.overflow ?? "visible";
let t3;
if ($3[19] !== flexDirection || $3[20] !== flexGrow || $3[21] !== flexShrink || $3[22] !== flexWrap || $3[23] !== style || $3[24] !== t1 || $3[25] !== t2) {
t3 = {
flexWrap,
flexDirection,
flexGrow,
flexShrink,
...style,
overflowX: t1,
overflowY: t2
};
$3[19] = flexDirection;
$3[20] = flexGrow;
$3[21] = flexShrink;
$3[22] = flexWrap;
$3[23] = style;
$3[24] = t1;
$3[25] = t2;
$3[26] = t3;
} else {
t3 = $3[26];
}
let t4;
if ($3[27] !== autoFocus || $3[28] !== children2 || $3[29] !== onBlur || $3[30] !== onBlurCapture || $3[31] !== onClick || $3[32] !== onFocus || $3[33] !== onFocusCapture || $3[34] !== onKeyDown || $3[35] !== onKeyDownCapture || $3[36] !== onMouseEnter || $3[37] !== onMouseLeave || $3[38] !== ref || $3[39] !== t3 || $3[40] !== tabIndex) {
t4 = /* @__PURE__ */ jsx_dev_runtime4.jsxDEV("ink-box", {
ref,
tabIndex,
autoFocus,
onClick,
onFocus,
onFocusCapture,
onBlur,
onBlurCapture,
onMouseEnter,
onMouseLeave,
onKeyDown,
onKeyDownCapture,
style: t3,
children: children2
}, undefined, false, undefined, this);
$3[27] = autoFocus;
$3[28] = children2;
$3[29] = onBlur;
$3[30] = onBlurCapture;
$3[31] = onClick;
$3[32] = onFocus;
$3[33] = onFocusCapture;
$3[34] = onKeyDown;
$3[35] = onKeyDownCapture;
$3[36] = onMouseEnter;
$3[37] = onMouseLeave;
$3[38] = ref;
$3[39] = t3;
$3[40] = tabIndex;
$3[41] = t4;
} else {
t4 = $3[41];
}
return t4;
}
var import_compiler_runtime4, jsx_dev_runtime4, Box_default;
var init_Box = __esm(() => {
init_warn();
import_compiler_runtime4 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
Box_default = Box;
});
// src/ink/components/Text.tsx
function Text(t0) {
const $3 = import_compiler_runtime5.c(29);
const {
color,
backgroundColor,
bold: bold2,
dim: dim2,
italic: t1,
underline: t2,
strikethrough: t3,
inverse: t4,
wrap: t5,
children: children2
} = t0;
const italic2 = t1 === undefined ? false : t1;
const underline2 = t2 === undefined ? false : t2;
const strikethrough2 = t3 === undefined ? false : t3;
const inverse2 = t4 === undefined ? false : t4;
const wrap = t5 === undefined ? "wrap" : t5;
if (children2 === undefined || children2 === null) {
return null;
}
let t6;
if ($3[0] !== color) {
t6 = color && {
color
};
$3[0] = color;
$3[1] = t6;
} else {
t6 = $3[1];
}
let t7;
if ($3[2] !== backgroundColor) {
t7 = backgroundColor && {
backgroundColor
};
$3[2] = backgroundColor;
$3[3] = t7;
} else {
t7 = $3[3];
}
let t8;
if ($3[4] !== dim2) {
t8 = dim2 && {
dim: dim2
};
$3[4] = dim2;
$3[5] = t8;
} else {
t8 = $3[5];
}
let t9;
if ($3[6] !== bold2) {
t9 = bold2 && {
bold: bold2
};
$3[6] = bold2;
$3[7] = t9;
} else {
t9 = $3[7];
}
let t10;
if ($3[8] !== italic2) {
t10 = italic2 && {
italic: italic2
};
$3[8] = italic2;
$3[9] = t10;
} else {
t10 = $3[9];
}
let t11;
if ($3[10] !== underline2) {
t11 = underline2 && {
underline: underline2
};
$3[10] = underline2;
$3[11] = t11;
} else {
t11 = $3[11];
}
let t12;
if ($3[12] !== strikethrough2) {
t12 = strikethrough2 && {
strikethrough: strikethrough2
};
$3[12] = strikethrough2;
$3[13] = t12;
} else {
t12 = $3[13];
}
let t13;
if ($3[14] !== inverse2) {
t13 = inverse2 && {
inverse: inverse2
};
$3[14] = inverse2;
$3[15] = t13;
} else {
t13 = $3[15];
}
let t14;
if ($3[16] !== t10 || $3[17] !== t11 || $3[18] !== t12 || $3[19] !== t13 || $3[20] !== t6 || $3[21] !== t7 || $3[22] !== t8 || $3[23] !== t9) {
t14 = {
...t6,
...t7,
...t8,
...t9,
...t10,
...t11,
...t12,
...t13
};
$3[16] = t10;
$3[17] = t11;
$3[18] = t12;
$3[19] = t13;
$3[20] = t6;
$3[21] = t7;
$3[22] = t8;
$3[23] = t9;
$3[24] = t14;
} else {
t14 = $3[24];
}
const textStyles = t14;
const t15 = memoizedStylesForWrap[wrap];
let t16;
if ($3[25] !== children2 || $3[26] !== t15 || $3[27] !== textStyles) {
t16 = /* @__PURE__ */ jsx_dev_runtime5.jsxDEV("ink-text", {
style: t15,
textStyles,
children: children2
}, undefined, false, undefined, this);
$3[25] = children2;
$3[26] = t15;
$3[27] = textStyles;
$3[28] = t16;
} else {
t16 = $3[28];
}
return t16;
}
var import_compiler_runtime5, jsx_dev_runtime5, memoizedStylesForWrap;
var init_Text = __esm(() => {
import_compiler_runtime5 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
memoizedStylesForWrap = {
wrap: {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "wrap"
},
"wrap-trim": {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "wrap-trim"
},
end: {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "end"
},
middle: {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "middle"
},
"truncate-end": {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "truncate-end"
},
truncate: {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "truncate"
},
"truncate-middle": {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "truncate-middle"
},
"truncate-start": {
flexGrow: 0,
flexShrink: 1,
flexDirection: "row",
textWrap: "truncate-start"
}
};
});
// src/ink/components/ErrorOverview.tsx
import { readFileSync as readFileSync8 } from "fs";
function getStackUtils() {
return stackUtils ??= new import_stack_utils.default({
cwd: process.cwd(),
internals: import_stack_utils.default.nodeInternals()
});
}
function ErrorOverview({
error: error52
}) {
const stack = error52.stack ? error52.stack.split(`
`).slice(1) : undefined;
const origin2 = stack ? getStackUtils().parseLine(stack[0]) : undefined;
const filePath = cleanupPath(origin2?.file);
let excerpt;
let lineWidth2 = 0;
if (filePath && origin2?.line) {
try {
const sourceCode = readFileSync8(filePath, "utf8");
excerpt = dist_default3(sourceCode, origin2.line);
if (excerpt) {
for (const {
line
} of excerpt) {
lineWidth2 = Math.max(lineWidth2, String(line).length);
}
}
} catch {}
}
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
flexDirection: "column",
padding: 1,
children: [
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
children: [
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
backgroundColor: "ansi:red",
color: "ansi:white",
children: [
" ",
"ERROR",
" "
]
}, undefined, true, undefined, this),
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
children: [
" ",
error52.message
]
}, undefined, true, undefined, this)
]
}, undefined, true, undefined, this),
origin2 && filePath && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
marginTop: 1,
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
dim: true,
children: [
filePath,
":",
origin2.line,
":",
origin2.column
]
}, undefined, true, undefined, this)
}, undefined, false, undefined, this),
origin2 && excerpt && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
marginTop: 1,
flexDirection: "column",
children: excerpt.map(({
line: line_0,
value
}) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
children: [
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
width: lineWidth2 + 1,
children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
dim: line_0 !== origin2.line,
backgroundColor: line_0 === origin2.line ? "ansi:red" : undefined,
color: line_0 === origin2.line ? "ansi:white" : undefined,
children: [
String(line_0).padStart(lineWidth2, " "),
":"
]
}, undefined, true, undefined, this)
}, undefined, false, undefined, this),
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
backgroundColor: line_0 === origin2.line ? "ansi:red" : undefined,
color: line_0 === origin2.line ? "ansi:white" : undefined,
children: " " + value
}, line_0, false, undefined, this)
]
}, line_0, true, undefined, this))
}, undefined, false, undefined, this),
error52.stack && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
marginTop: 1,
flexDirection: "column",
children: error52.stack.split(`
`).slice(1).map((line_1) => {
const parsedLine = getStackUtils().parseLine(line_1);
if (!parsedLine) {
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
children: [
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
dim: true,
children: "- "
}, undefined, false, undefined, this),
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
bold: true,
children: line_1
}, undefined, false, undefined, this)
]
}, line_1, true, undefined, this);
}
return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
children: [
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
dim: true,
children: "- "
}, undefined, false, undefined, this),
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
bold: true,
children: parsedLine.function
}, undefined, false, undefined, this),
/* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
dim: true,
children: [
" ",
"(",
cleanupPath(parsedLine.file) ?? "",
":",
parsedLine.line,
":",
parsedLine.column,
")"
]
}, undefined, true, undefined, this)
]
}, line_1, true, undefined, this);
})
}, undefined, false, undefined, this)
]
}, undefined, true, undefined, this);
}
var import_stack_utils, jsx_dev_runtime6, cleanupPath = (path13) => {
return path13?.replace(`file://${process.cwd()}/`, "");
}, stackUtils;
var init_ErrorOverview = __esm(() => {
init_dist6();
init_Box();
init_Text();
import_stack_utils = __toESM(require_stack_utils(), 1);
jsx_dev_runtime6 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/components/TerminalSizeContext.tsx
var import_react9, TerminalSizeContext;
var init_TerminalSizeContext = __esm(() => {
import_react9 = __toESM(require_react(), 1);
TerminalSizeContext = import_react9.createContext(null);
});
// src/ink/components/App.tsx
function processKeysInBatch(app, items, _unused1, _unused2) {
if (items.some((i3) => i3.kind === "key" || i3.kind === "mouse" && !((i3.button & 32) !== 0 && (i3.button & 3) === 3))) {
updateLastInteractionTime();
}
for (const item of items) {
if (item.kind === "response") {
app.querier.onResponse(item.response);
continue;
}
if (item.kind === "mouse") {
handleMouseEvent(app, item);
continue;
}
const sequence = item.sequence;
if (sequence === FOCUS_IN) {
app.handleTerminalFocus(true);
const event2 = new TerminalFocusEvent("terminalfocus");
app.internal_eventEmitter.emit("terminalfocus", event2);
continue;
}
if (sequence === FOCUS_OUT) {
app.handleTerminalFocus(false);
if (app.props.selection.isDragging) {
finishSelection(app.props.selection);
app.props.onSelectionChange();
}
const event2 = new TerminalFocusEvent("terminalblur");
app.internal_eventEmitter.emit("terminalblur", event2);
continue;
}
if (!getTerminalFocused()) {
setTerminalFocused(true);
}
if (item.name === "z" && item.ctrl && SUPPORTS_SUSPEND) {
app.handleSuspend();
continue;
}
app.handleInput(sequence);
const event = new InputEvent(item);
app.internal_eventEmitter.emit("input", event);
app.props.dispatchKeyboardEvent(item);
}
}
function handleMouseEvent(app, m3) {
if (isMouseClicksDisabled())
return;
const sel = app.props.selection;
const col = m3.col - 1;
const row = m3.row - 1;
const baseButton = m3.button & 3;
if (m3.action === "press") {
if ((m3.button & 32) !== 0 && baseButton === 3) {
if (sel.isDragging) {
finishSelection(sel);
app.props.onSelectionChange();
}
if (col === app.lastHoverCol && row === app.lastHoverRow)
return;
app.lastHoverCol = col;
app.lastHoverRow = row;
app.props.onHoverAt(col, row);
return;
}
if (baseButton !== 0) {
app.clickCount = 0;
return;
}
if ((m3.button & 32) !== 0) {
app.props.onSelectionDrag(col, row);
return;
}
if (sel.isDragging) {
finishSelection(sel);
app.props.onSelectionChange();
}
const now2 = Date.now();
const nearLast = now2 - app.lastClickTime < MULTI_CLICK_TIMEOUT_MS && Math.abs(col - app.lastClickCol) <= MULTI_CLICK_DISTANCE && Math.abs(row - app.lastClickRow) <= MULTI_CLICK_DISTANCE;
app.clickCount = nearLast ? app.clickCount + 1 : 1;
app.lastClickTime = now2;
app.lastClickCol = col;
app.lastClickRow = row;
if (app.clickCount >= 2) {
if (app.pendingHyperlinkTimer) {
clearTimeout(app.pendingHyperlinkTimer);
app.pendingHyperlinkTimer = null;
}
const count3 = app.clickCount === 2 ? 2 : 3;
app.props.onMultiClick(col, row, count3);
return;
}
startSelection(sel, col, row);
sel.lastPressHadAlt = (m3.button & 8) !== 0;
app.props.onSelectionChange();
return;
}
if (baseButton !== 0) {
if (!sel.isDragging)
return;
finishSelection(sel);
app.props.onSelectionChange();
return;
}
finishSelection(sel);
if (!hasSelection(sel) && sel.anchor) {
if (!app.props.onClickAt(col, row)) {
const url3 = app.props.getHyperlinkAt(col, row);
if (url3 && process.env.TERM_PROGRAM !== "vscode" && !isXtermJs()) {
if (app.pendingHyperlinkTimer) {
clearTimeout(app.pendingHyperlinkTimer);
}
app.pendingHyperlinkTimer = setTimeout((app2, url4) => {
app2.pendingHyperlinkTimer = null;
app2.props.onOpenHyperlink(url4);
}, MULTI_CLICK_TIMEOUT_MS, app, url3);
}
}
}
app.props.onSelectionChange();
}
var import_react10, jsx_dev_runtime7, SUPPORTS_SUSPEND, STDIN_RESUME_GAP_MS = 5000, MULTI_CLICK_TIMEOUT_MS = 500, MULTI_CLICK_DISTANCE = 1, App;
var init_App = __esm(() => {
init_state();
init_debug();
init_earlyInput();
init_envUtils();
init_fullscreen();
init_log3();
init_emitter();
init_input_event();
init_terminal_focus_event();
init_parse_keypress();
init_reconciler();
init_selection();
init_terminal();
init_terminal_focus_state();
init_terminal_querier();
init_csi();
init_dec();
init_AppContext();
init_ClockContext();
init_CursorDeclarationContext();
init_ErrorOverview();
init_StdinContext();
init_TerminalFocusContext();
init_TerminalSizeContext();
import_react10 = __toESM(require_react(), 1);
jsx_dev_runtime7 = __toESM(require_jsx_dev_runtime(), 1);
SUPPORTS_SUSPEND = process.platform !== "win32";
App = class App extends import_react10.PureComponent {
static displayName = "InternalApp";
static getDerivedStateFromError(error52) {
return {
error: error52
};
}
state = {
error: undefined
};
rawModeEnabledCount = 0;
internal_eventEmitter = new EventEmitter3;
keyParseState = INITIAL_STATE;
incompleteEscapeTimer = null;
NORMAL_TIMEOUT = 50;
PASTE_TIMEOUT = 500;
querier = new TerminalQuerier(this.props.stdout);
lastClickTime = 0;
lastClickCol = -1;
lastClickRow = -1;
clickCount = 0;
pendingHyperlinkTimer = null;
lastHoverCol = -1;
lastHoverRow = -1;
lastStdinTime = Date.now();
isRawModeSupported() {
return this.props.stdin.isTTY;
}
render() {
return /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TerminalSizeContext.Provider, {
value: {
columns: this.props.terminalColumns,
rows: this.props.terminalRows
},
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(AppContext_default.Provider, {
value: {
exit: this.handleExit
},
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(StdinContext_default.Provider, {
value: {
stdin: this.props.stdin,
setRawMode: this.handleSetRawMode,
isRawModeSupported: this.isRawModeSupported(),
internal_exitOnCtrlC: this.props.exitOnCtrlC,
internal_eventEmitter: this.internal_eventEmitter,
internal_querier: this.querier
},
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(TerminalFocusProvider, {
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(ClockProvider, {
children: /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(CursorDeclarationContext_default.Provider, {
value: this.props.onCursorDeclaration ?? (() => {}),
children: this.state.error ? /* @__PURE__ */ jsx_dev_runtime7.jsxDEV(ErrorOverview, {
error: this.state.error
}, undefined, false, undefined, this) : this.props.children
}, undefined, false, undefined, this)
}, undefined, false, undefined, this)
}, undefined, false, undefined, this)
}, undefined, false, undefined, this)
}, undefined, false, undefined, this)
}, undefined, false, undefined, this);
}
componentDidMount() {
if (this.props.stdout.isTTY && !isEnvTruthy(process.env.CLAUDE_CODE_ACCESSIBILITY)) {
this.props.stdout.write(HIDE_CURSOR);
}
}
componentWillUnmount() {
if (this.props.stdout.isTTY) {
this.props.stdout.write(SHOW_CURSOR);
}
if (this.incompleteEscapeTimer) {
clearTimeout(this.incompleteEscapeTimer);
this.incompleteEscapeTimer = null;
}
if (this.pendingHyperlinkTimer) {
clearTimeout(this.pendingHyperlinkTimer);
this.pendingHyperlinkTimer = null;
}
if (this.isRawModeSupported()) {
this.handleSetRawMode(false);
}
}
componentDidCatch(error52) {
this.handleExit(error52);
}
handleSetRawMode = (isEnabled) => {
const {
stdin
} = this.props;
if (!this.isRawModeSupported()) {
if (stdin === process.stdin) {
throw new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);
} else {
throw new Error(`Raw mode is not supported on the stdin provided to Ink.
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);
}
}
stdin.setEncoding("utf8");
if (isEnabled) {
if (this.rawModeEnabledCount === 0) {
stopCapturingEarlyInput();
stdin.ref();
stdin.setRawMode(true);
stdin.addListener("readable", this.handleReadable);
this.props.stdout.write(EBP);
this.props.stdout.write(EFE);
if (supportsExtendedKeys()) {
this.props.stdout.write(ENABLE_KITTY_KEYBOARD);
this.props.stdout.write(ENABLE_MODIFY_OTHER_KEYS);
}
setImmediate(() => {
Promise.all([this.querier.send(xtversion()), this.querier.flush()]).then(([r2]) => {
if (r2) {
setXtversionName(r2.name);
logForDebugging(`XTVERSION: terminal identified as "${r2.name}"`);
} else {
logForDebugging("XTVERSION: no reply (terminal ignored query)");
}
});
});
}
this.rawModeEnabledCount++;
return;
}
if (--this.rawModeEnabledCount === 0) {
this.props.stdout.write(DISABLE_MODIFY_OTHER_KEYS);
this.props.stdout.write(DISABLE_KITTY_KEYBOARD);
this.props.stdout.write(DFE);
this.props.stdout.write(DBP);
stdin.setRawMode(false);
stdin.removeListener("readable", this.handleReadable);
stdin.unref();
}
};
flushIncomplete = () => {
this.incompleteEscapeTimer = null;
if (!this.keyParseState.incomplete)
return;
if (this.props.stdin.readableLength > 0) {
this.incompleteEscapeTimer = setTimeout(this.flushIncomplete, this.NORMAL_TIMEOUT);
return;
}
this.processInput(null);
};
processInput = (input) => {
const [keys2, newState] = parseMultipleKeypresses(this.keyParseState, input);
this.keyParseState = newState;
if (keys2.length > 0) {
reconciler_default.discreteUpdates(processKeysInBatch, this, keys2, undefined, undefined);
}
if (this.keyParseState.incomplete) {
if (this.incompleteEscapeTimer) {
clearTimeout(this.incompleteEscapeTimer);
}
this.incompleteEscapeTimer = setTimeout(this.flushIncomplete, this.keyParseState.mode === "IN_PASTE" ? this.PASTE_TIMEOUT : this.NORMAL_TIMEOUT);
}
};
handleReadable = () => {
const now2 = Date.now();
if (now2 - this.lastStdinTime > STDIN_RESUME_GAP_MS) {
this.props.onStdinResume?.();
}
this.lastStdinTime = now2;
try {
let chunk;
while ((chunk = this.props.stdin.read()) !== null) {
this.processInput(chunk);
}
} catch (error52) {
logError2(error52);
const {
stdin
} = this.props;
if (this.rawModeEnabledCount > 0 && !stdin.listeners("readable").includes(this.handleReadable)) {
logForDebugging("handleReadable: re-attaching stdin readable listener after error recovery", {
level: "warn"
});
stdin.addListener("readable", this.handleReadable);
}
}
};
handleInput = (input) => {
if (input === "\x03" && this.props.exitOnCtrlC) {
this.handleExit();
}
};
handleExit = (error52) => {
if (this.isRawModeSupported()) {
this.handleSetRawMode(false);
}
this.props.onExit(error52);
};
handleTerminalFocus = (isFocused) => {
setTerminalFocused(isFocused);
};
handleSuspend = () => {
if (!this.isRawModeSupported()) {
return;
}
const rawModeCountBeforeSuspend = this.rawModeEnabledCount;
while (this.rawModeEnabledCount > 0) {
this.handleSetRawMode(false);
}
if (this.props.stdout.isTTY) {
this.props.stdout.write(SHOW_CURSOR + DFE + DISABLE_MOUSE_TRACKING);
}
this.internal_eventEmitter.emit("suspend");
const resumeHandler = () => {
for (let i3 = 0;i3 < rawModeCountBeforeSuspend; i3++) {
if (this.isRawModeSupported()) {
this.handleSetRawMode(true);
}
}
if (this.props.stdout.isTTY) {
if (!isEnvTruthy(process.env.CLAUDE_CODE_ACCESSIBILITY)) {
this.props.stdout.write(HIDE_CURSOR);
}
this.props.stdout.write(EFE);
}
this.internal_eventEmitter.emit("resume");
process.removeListener("SIGCONT", resumeHandler);
};
process.on("SIGCONT", resumeHandler);
process.kill(process.pid, "SIGSTOP");
};
};
});
// src/ink/events/keyboard-event.ts
function keyFromParsed(parsed) {
const seq = parsed.sequence ?? "";
const name3 = parsed.name ?? "";
if (parsed.ctrl)
return name3;
if (seq.length === 1) {
const code = seq.charCodeAt(0);
if (code >= 32 && code !== 127)
return seq;
}
return name3 || seq;
}
var KeyboardEvent;
var init_keyboard_event = __esm(() => {
init_terminal_event();
KeyboardEvent = class KeyboardEvent extends TerminalEvent {
key;
ctrl;
shift;
meta;
superKey;
fn;
constructor(parsedKey) {
super("keydown", { bubbles: true, cancelable: true });
this.key = keyFromParsed(parsedKey);
this.ctrl = parsedKey.ctrl;
this.shift = parsedKey.shift;
this.meta = parsedKey.meta || parsedKey.option;
this.superKey = parsedKey.super;
this.fn = parsedKey.fn;
}
};
});
// src/ink/frame.ts
function emptyFrame(rows, columns, stylePool, charPool, hyperlinkPool) {
return {
screen: createScreen(0, 0, stylePool, charPool, hyperlinkPool),
viewport: { width: columns, height: rows },
cursor: { x: 0, y: 0, visible: true }
};
}
var init_frame = __esm(() => {
init_screen();
});
// src/ink/events/click-event.ts
var ClickEvent;
var init_click_event = __esm(() => {
ClickEvent = class ClickEvent extends Event2 {
col;
row;
localCol = 0;
localRow = 0;
cellIsBlank;
constructor(col, row, cellIsBlank) {
super();
this.col = col;
this.row = row;
this.cellIsBlank = cellIsBlank;
}
};
});
// src/ink/hit-test.ts
function hitTest(node, col, row) {
const rect = nodeCache.get(node);
if (!rect)
return null;
if (col < rect.x || col >= rect.x + rect.width || row < rect.y || row >= rect.y + rect.height) {
return null;
}
for (let i3 = node.childNodes.length - 1;i3 >= 0; i3--) {
const child = node.childNodes[i3];
if (child.nodeName === "#text")
continue;
const hit = hitTest(child, col, row);
if (hit)
return hit;
}
return node;
}
function dispatchClick(root2, col, row, cellIsBlank = false) {
let target = hitTest(root2, col, row) ?? undefined;
if (!target)
return false;
if (root2.focusManager) {
let focusTarget = target;
while (focusTarget) {
if (typeof focusTarget.attributes["tabIndex"] === "number") {
root2.focusManager.handleClickFocus(focusTarget);
break;
}
focusTarget = focusTarget.parentNode;
}
}
const event = new ClickEvent(col, row, cellIsBlank);
let handled = false;
while (target) {
const handler = target._eventHandlers?.onClick;
if (handler) {
handled = true;
const rect = nodeCache.get(target);
if (rect) {
event.localCol = col - rect.x;
event.localRow = row - rect.y;
}
handler(event);
if (event.didStopImmediatePropagation())
return true;
}
target = target.parentNode;
}
return handled;
}
function dispatchHover(root2, col, row, hovered) {
const next = new Set;
let node = hitTest(root2, col, row) ?? undefined;
while (node) {
const h3 = node._eventHandlers;
if (h3?.onMouseEnter || h3?.onMouseLeave)
next.add(node);
node = node.parentNode;
}
for (const old of hovered) {
if (!next.has(old)) {
hovered.delete(old);
if (old.parentNode) {
old._eventHandlers?.onMouseLeave?.();
}
}
}
for (const n2 of next) {
if (!hovered.has(n2)) {
hovered.add(n2);
n2._eventHandlers?.onMouseEnter?.();
}
}
}
var init_hit_test = __esm(() => {
init_click_event();
init_node_cache();
});
// src/ink/instances.ts
var instances, instances_default;
var init_instances = __esm(() => {
instances = new Map;
instances_default = instances;
});
// src/ink/log-update.ts
class LogUpdate {
options;
state;
constructor(options) {
this.options = options;
this.state = {
previousOutput: ""
};
}
renderPreviousOutput_DEPRECATED(prevFrame) {
if (!this.options.isTTY) {
return [NEWLINE];
}
return this.getRenderOpsForDone(prevFrame);
}
reset() {
this.state.previousOutput = "";
}
renderFullFrame(frame) {
const { screen } = frame;
const lines = [];
let currentStyles = [];
let currentHyperlink = undefined;
for (let y3 = 0;y3 < screen.height; y3++) {
let line = "";
for (let x4 = 0;x4 < screen.width; x4++) {
const cell = cellAt(screen, x4, y3);
if (cell && cell.width !== 2 /* SpacerTail */) {
if (cell.hyperlink !== currentHyperlink) {
if (currentHyperlink !== undefined) {
line += LINK_END;
}
if (cell.hyperlink !== undefined) {
line += link(cell.hyperlink);
}
currentHyperlink = cell.hyperlink;
}
const cellStyles = this.options.stylePool.get(cell.styleId);
const styleDiff = diffAnsiCodes(currentStyles, cellStyles);
if (styleDiff.length > 0) {
line += ansiCodesToString(styleDiff);
currentStyles = cellStyles;
}
line += cell.char;
}
}
if (currentHyperlink !== undefined) {
line += LINK_END;
currentHyperlink = undefined;
}
const resetCodes = diffAnsiCodes(currentStyles, []);
if (resetCodes.length > 0) {
line += ansiCodesToString(resetCodes);
currentStyles = [];
}
lines.push(line.trimEnd());
}
if (lines.length === 0) {
return [];
}
return [{ type: "stdout", content: lines.join(`
`) }];
}
getRenderOpsForDone(prev) {
this.state.previousOutput = "";
if (!prev.cursor.visible) {
return [{ type: "cursorShow" }];
}
return [];
}
render(prev, next, altScreen = false, decstbmSafe = true) {
if (!this.options.isTTY) {
return this.renderFullFrame(next);
}
const startTime = performance.now();
const stylePool = this.options.stylePool;
if (next.viewport.height < prev.viewport.height || prev.viewport.width !== 0 && next.viewport.width !== prev.viewport.width) {
return fullResetSequence_CAUSES_FLICKER(next, "resize", stylePool);
}
let scrollPatch = [];
if (altScreen && next.scrollHint && decstbmSafe) {
const { top, bottom, delta } = next.scrollHint;
if (top >= 0 && bottom < prev.screen.height && bottom < next.screen.height) {
shiftRows(prev.screen, top, bottom, delta);
scrollPatch = [
{
type: "stdout",
content: setScrollRegion(top + 1, bottom + 1) + (delta > 0 ? scrollUp(delta) : scrollDown(-delta)) + RESET_SCROLL_REGION + CURSOR_HOME
}
];
}
}
const cursorAtBottom = prev.cursor.y >= prev.screen.height;
const isGrowing = next.screen.height > prev.screen.height;
const prevHadScrollback = cursorAtBottom && prev.screen.height >= prev.viewport.height;
const isShrinking = next.screen.height < prev.screen.height;
const nextFitsViewport = next.screen.height <= prev.viewport.height;
if (prevHadScrollback && nextFitsViewport && isShrinking) {
logForDebugging(`Full reset (shrink->below): prevHeight=${prev.screen.height}, nextHeight=${next.screen.height}, viewport=${prev.viewport.height}`);
return fullResetSequence_CAUSES_FLICKER(next, "offscreen", stylePool);
}
if (prev.screen.height >= prev.viewport.height && prev.screen.height > 0 && cursorAtBottom && !isGrowing) {
const viewportY2 = prev.screen.height - prev.viewport.height;
const scrollbackRows = viewportY2 + 1;
let scrollbackChangeY = -1;
diffEach(prev.screen, next.screen, (_x, y3) => {
if (y3 < scrollbackRows) {
scrollbackChangeY = y3;
return true;
}
});
if (scrollbackChangeY >= 0) {
const prevLine = readLine(prev.screen, scrollbackChangeY);
const nextLine = readLine(next.screen, scrollbackChangeY);
return fullResetSequence_CAUSES_FLICKER(next, "offscreen", stylePool, {
triggerY: scrollbackChangeY,
prevLine,
nextLine
});
}
}
const screen = new VirtualScreen(prev.cursor, next.viewport.width);
const heightDelta = Math.max(next.screen.height, 1) - Math.max(prev.screen.height, 1);
const shrinking = heightDelta < 0;
const growing = heightDelta > 0;
if (shrinking) {
const linesToClear = prev.screen.height - next.screen.height;
if (linesToClear > prev.viewport.height) {
return fullResetSequence_CAUSES_FLICKER(next, "offscreen", this.options.stylePool);
}
screen.txn((prev2) => [
[
{ type: "clear", count: linesToClear },
{ type: "cursorMove", x: 0, y: -1 }
],
{ dx: -prev2.x, dy: -linesToClear }
]);
}
const cursorRestoreScroll = prevHadScrollback ? 1 : 0;
const viewportY = growing ? Math.max(0, prev.screen.height - prev.viewport.height + cursorRestoreScroll) : Math.max(prev.screen.height, next.screen.height) - next.viewport.height + cursorRestoreScroll;
let currentStyleId = stylePool.none;
let currentHyperlink = undefined;
let needsFullReset = false;
let resetTriggerY = -1;
diffEach(prev.screen, next.screen, (x4, y3, removed, added) => {
if (growing && y3 >= prev.screen.height) {
return;
}
if (added && (added.width === 2 /* SpacerTail */ || added.width === 3 /* SpacerHead */)) {
return;
}
if (removed && (removed.width === 2 /* SpacerTail */ || removed.width === 3 /* SpacerHead */) && !added) {
return;
}
if (added && isEmptyCellAt(next.screen, x4, y3) && !removed) {
return;
}
if (y3 < viewportY) {
needsFullReset = true;
resetTriggerY = y3;
return true;
}
moveCursorTo(screen, x4, y3);
if (added) {
const targetHyperlink = added.hyperlink;
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, targetHyperlink);
const styleStr = stylePool.transition(currentStyleId, added.styleId);
if (writeCellWithStyleStr(screen, added, styleStr)) {
currentStyleId = added.styleId;
}
} else if (removed) {
const styleIdToReset = currentStyleId;
const hyperlinkToReset = currentHyperlink;
currentStyleId = stylePool.none;
currentHyperlink = undefined;
screen.txn(() => {
const patches = [];
transitionStyle(patches, stylePool, styleIdToReset, stylePool.none);
transitionHyperlink(patches, hyperlinkToReset, undefined);
patches.push({ type: "stdout", content: " " });
return [patches, { dx: 1, dy: 0 }];
});
}
});
if (needsFullReset) {
return fullResetSequence_CAUSES_FLICKER(next, "offscreen", stylePool, {
triggerY: resetTriggerY,
prevLine: readLine(prev.screen, resetTriggerY),
nextLine: readLine(next.screen, resetTriggerY)
});
}
currentStyleId = transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, undefined);
if (growing) {
renderFrameSlice(screen, next, prev.screen.height, next.screen.height, stylePool);
}
if (altScreen) {} else if (next.cursor.y >= next.screen.height) {
screen.txn((prev2) => {
const rowsToCreate = next.cursor.y - prev2.y;
if (rowsToCreate > 0) {
const patches = new Array(1 + rowsToCreate);
patches[0] = CARRIAGE_RETURN;
for (let i3 = 0;i3 < rowsToCreate; i3++) {
patches[1 + i3] = NEWLINE;
}
return [patches, { dx: -prev2.x, dy: rowsToCreate }];
}
const dy = next.cursor.y - prev2.y;
if (dy !== 0 || prev2.x !== next.cursor.x) {
const patches = [CARRIAGE_RETURN];
patches.push({ type: "cursorMove", x: next.cursor.x, y: dy });
return [patches, { dx: next.cursor.x - prev2.x, dy }];
}
return [[], { dx: 0, dy: 0 }];
});
} else {
moveCursorTo(screen, next.cursor.x, next.cursor.y);
}
const elapsed = performance.now() - startTime;
if (elapsed > 50) {
const damage = next.screen.damage;
const damageInfo = damage ? `${damage.width}x${damage.height} at (${damage.x},${damage.y})` : "none";
logForDebugging(`Slow render: ${elapsed.toFixed(1)}ms, screen: ${next.screen.height}x${next.screen.width}, damage: ${damageInfo}, changes: ${screen.diff.length}`);
}
return scrollPatch.length > 0 ? [...scrollPatch, ...screen.diff] : screen.diff;
}
}
function transitionHyperlink(diff2, current, target) {
if (current !== target) {
diff2.push({ type: "hyperlink", uri: target ?? "" });
return target;
}
return current;
}
function transitionStyle(diff2, stylePool, currentId, targetId) {
const str = stylePool.transition(currentId, targetId);
if (str.length > 0) {
diff2.push({ type: "styleStr", str });
}
return targetId;
}
function readLine(screen, y3) {
let line = "";
for (let x4 = 0;x4 < screen.width; x4++) {
line += charInCellAt(screen, x4, y3) ?? " ";
}
return line.trimEnd();
}
function fullResetSequence_CAUSES_FLICKER(frame, reason, stylePool, debug3) {
const screen = new VirtualScreen({ x: 0, y: 0 }, frame.viewport.width);
renderFrame(screen, frame, stylePool);
return [{ type: "clearTerminal", reason, debug: debug3 }, ...screen.diff];
}
function renderFrame(screen, frame, stylePool) {
renderFrameSlice(screen, frame, 0, frame.screen.height, stylePool);
}
function renderFrameSlice(screen, frame, startY, endY, stylePool) {
let currentStyleId = stylePool.none;
let currentHyperlink = undefined;
let lastRenderedStyleId = -1;
const { width: screenWidth, cells, charPool, hyperlinkPool } = frame.screen;
let index = startY * screenWidth;
for (let y3 = startY;y3 < endY; y3 += 1) {
if (screen.cursor.y < y3) {
const rowsToAdvance = y3 - screen.cursor.y;
screen.txn((prev) => {
const patches = new Array(1 + rowsToAdvance);
patches[0] = CARRIAGE_RETURN;
for (let i3 = 0;i3 < rowsToAdvance; i3++) {
patches[1 + i3] = NEWLINE;
}
return [patches, { dx: -prev.x, dy: rowsToAdvance }];
});
}
lastRenderedStyleId = -1;
for (let x4 = 0;x4 < screenWidth; x4 += 1, index += 1) {
const cell = visibleCellAtIndex(cells, charPool, hyperlinkPool, index, lastRenderedStyleId);
if (!cell) {
continue;
}
moveCursorTo(screen, x4, y3);
const targetHyperlink = cell.hyperlink;
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, targetHyperlink);
const styleStr = stylePool.transition(currentStyleId, cell.styleId);
if (writeCellWithStyleStr(screen, cell, styleStr)) {
currentStyleId = cell.styleId;
lastRenderedStyleId = cell.styleId;
}
}
currentStyleId = transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, undefined);
screen.txn((prev) => [[CARRIAGE_RETURN, NEWLINE], { dx: -prev.x, dy: 1 }]);
}
transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
transitionHyperlink(screen.diff, currentHyperlink, undefined);
return screen;
}
function writeCellWithStyleStr(screen, cell, styleStr) {
const cellWidth = cell.width === 1 /* Wide */ ? 2 : 1;
const px = screen.cursor.x;
const vw = screen.viewportWidth;
if (cellWidth === 2 && px < vw) {
const threshold = cell.char.length > 2 ? vw : vw + 1;
if (px + 2 >= threshold) {
return false;
}
}
const diff2 = screen.diff;
if (styleStr.length > 0) {
diff2.push({ type: "styleStr", str: styleStr });
}
const needsCompensation = cellWidth === 2 && needsWidthCompensation(cell.char);
if (needsCompensation && px + 1 < vw) {
diff2.push({ type: "cursorTo", col: px + 2 });
diff2.push({ type: "stdout", content: " " });
diff2.push({ type: "cursorTo", col: px + 1 });
}
diff2.push({ type: "stdout", content: cell.char });
if (needsCompensation) {
diff2.push({ type: "cursorTo", col: px + cellWidth + 1 });
}
if (px >= vw) {
screen.cursor.x = cellWidth;
screen.cursor.y++;
} else {
screen.cursor.x = px + cellWidth;
}
return true;
}
function moveCursorTo(screen, targetX, targetY) {
screen.txn((prev) => {
const dx = targetX - prev.x;
const dy = targetY - prev.y;
const inPendingWrap = prev.x >= screen.viewportWidth;
if (inPendingWrap) {
return [
[CARRIAGE_RETURN, { type: "cursorMove", x: targetX, y: dy }],
{ dx, dy }
];
}
if (dy !== 0) {
return [
[CARRIAGE_RETURN, { type: "cursorMove", x: targetX, y: dy }],
{ dx, dy }
];
}
return [[{ type: "cursorMove", x: dx, y: dy }], { dx, dy }];
});
}
function needsWidthCompensation(char) {
const cp = char.codePointAt(0);
if (cp === undefined)
return false;
if (cp >= 129648 && cp <= 129791 || cp >= 129792 && cp <= 130047) {
return true;
}
if (char.length >= 2) {
for (let i3 = 0;i3 < char.length; i3++) {
if (char.charCodeAt(i3) === 65039)
return true;
}
}
return false;
}
class VirtualScreen {
viewportWidth;
cursor;
diff = [];
constructor(origin2, viewportWidth) {
this.viewportWidth = viewportWidth;
this.cursor = { ...origin2 };
}
txn(fn) {
const [patches, next] = fn(this.cursor);
for (const patch of patches) {
this.diff.push(patch);
}
this.cursor.x += next.dx;
this.cursor.y += next.dy;
}
}
var CARRIAGE_RETURN, NEWLINE;
var init_log_update = __esm(() => {
init_build();
init_debug();
init_screen();
init_csi();
init_osc();
CARRIAGE_RETURN = { type: "carriageReturn" };
NEWLINE = { type: "stdout", content: `
` };
});
// src/ink/optimizer.ts
function optimize(diff2) {
if (diff2.length <= 1) {
return diff2;
}
const result = [];
let len = 0;
for (const patch of diff2) {
const type = patch.type;
if (type === "stdout") {
if (patch.content === "")
continue;
} else if (type === "cursorMove") {
if (patch.x === 0 && patch.y === 0)
continue;
} else if (type === "clear") {
if (patch.count === 0)
continue;
}
if (len > 0) {
const lastIdx = len - 1;
const last = result[lastIdx];
const lastType = last.type;
if (type === "cursorMove" && lastType === "cursorMove") {
result[lastIdx] = {
type: "cursorMove",
x: last.x + patch.x,
y: last.y + patch.y
};
continue;
}
if (type === "cursorTo" && lastType === "cursorTo") {
result[lastIdx] = patch;
continue;
}
if (type === "styleStr" && lastType === "styleStr") {
result[lastIdx] = { type: "styleStr", str: last.str + patch.str };
continue;
}
if (type === "hyperlink" && lastType === "hyperlink" && patch.uri === last.uri) {
continue;
}
if (type === "cursorShow" && lastType === "cursorHide" || type === "cursorHide" && lastType === "cursorShow") {
result.pop();
len--;
continue;
}
}
result.push(patch);
len++;
}
return result;
}
// node_modules/.pnpm/bidi-js@1.0.3/node_modules/bidi-js/dist/bidi.js
var require_bidi = __commonJS((exports, module) => {
(function(global3, factory2) {
typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory2() : typeof define === "function" && define.amd ? define(factory2) : (global3 = typeof globalThis !== "undefined" ? globalThis : global3 || self, global3.bidi_js = factory2());
})(exports, function() {
function bidiFactory() {
var bidi = function(exports2) {
var DATA = {
R: "13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",
EN: "1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",
ES: "17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",
ET: "z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",
AN: "16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",
CS: "18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",
B: "a,3,f+2,2v,690",
S: "9,2,k",
WS: "c,k,4f4,1vk+a,u,1j,335",
ON: "x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",
BN: "0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",
NSM: "lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",
AL: "16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",
LRO: "6ct",
RLO: "6cu",
LRE: "6cq",
RLE: "6cr",
PDF: "6cs",
LRI: "6ee",
RLI: "6ef",
FSI: "6eg",
PDI: "6eh"
};
var TYPES = {};
var TYPES_TO_NAMES = {};
TYPES.L = 1;
TYPES_TO_NAMES[1] = "L";
Object.keys(DATA).forEach(function(type, i3) {
TYPES[type] = 1 << i3 + 1;
TYPES_TO_NAMES[TYPES[type]] = type;
});
Object.freeze(TYPES);
var ISOLATE_INIT_TYPES = TYPES.LRI | TYPES.RLI | TYPES.FSI;
var STRONG_TYPES = TYPES.L | TYPES.R | TYPES.AL;
var NEUTRAL_ISOLATE_TYPES = TYPES.B | TYPES.S | TYPES.WS | TYPES.ON | TYPES.FSI | TYPES.LRI | TYPES.RLI | TYPES.PDI;
var BN_LIKE_TYPES = TYPES.BN | TYPES.RLE | TYPES.LRE | TYPES.RLO | TYPES.LRO | TYPES.PDF;
var TRAILING_TYPES = TYPES.S | TYPES.WS | TYPES.B | ISOLATE_INIT_TYPES | TYPES.PDI | BN_LIKE_TYPES;
var map3 = null;
function parseData() {
if (!map3) {
map3 = new Map;
var loop = function(type2) {
if (DATA.hasOwnProperty(type2)) {
var lastCode = 0;
DATA[type2].split(",").forEach(function(range) {
var ref = range.split("+");
var skip = ref[0];
var step = ref[1];
skip = parseInt(skip, 36);
step = step ? parseInt(step, 36) : 0;
map3.set(lastCode += skip, TYPES[type2]);
for (var i3 = 0;i3 < step; i3++) {
map3.set(++lastCode, TYPES[type2]);
}
});
}
};
for (var type in DATA)
loop(type);
}
}
function getBidiCharType(char) {
parseData();
return map3.get(char.codePointAt(0)) || TYPES.L;
}
function getBidiCharTypeName(char) {
return TYPES_TO_NAMES[getBidiCharType(char)];
}
var data$1 = {
pairs: "14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",
canonical: "6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"
};
function parseCharacterMap(encodedString, includeReverse) {
var radix = 36;
var lastCode = 0;
var map4 = new Map;
var reverseMap = includeReverse && new Map;
var prevPair;
encodedString.split(",").forEach(function visit2(entry) {
if (entry.indexOf("+") !== -1) {
for (var i3 = +entry;i3--; ) {
visit2(prevPair);
}
} else {
prevPair = entry;
var ref = entry.split(">");
var a2 = ref[0];
var b2 = ref[1];
a2 = String.fromCodePoint(lastCode += parseInt(a2, radix));
b2 = String.fromCodePoint(lastCode += parseInt(b2, radix));
map4.set(a2, b2);
includeReverse && reverseMap.set(b2, a2);
}
});
return { map: map4, reverseMap };
}
var openToClose, closeToOpen, canonical;
function parse$1() {
if (!openToClose) {
var ref = parseCharacterMap(data$1.pairs, true);
var map4 = ref.map;
var reverseMap = ref.reverseMap;
openToClose = map4;
closeToOpen = reverseMap;
canonical = parseCharacterMap(data$1.canonical, false).map;
}
}
function openingToClosingBracket(char) {
parse$1();
return openToClose.get(char) || null;
}
function closingToOpeningBracket(char) {
parse$1();
return closeToOpen.get(char) || null;
}
function getCanonicalBracket(char) {
parse$1();
return canonical.get(char) || null;
}
var TYPE_L = TYPES.L;
var TYPE_R = TYPES.R;
var TYPE_EN = TYPES.EN;
var TYPE_ES = TYPES.ES;
var TYPE_ET = TYPES.ET;
var TYPE_AN = TYPES.AN;
var TYPE_CS = TYPES.CS;
var TYPE_B = TYPES.B;
var TYPE_S = TYPES.S;
var TYPE_ON = TYPES.ON;
var TYPE_BN = TYPES.BN;
var TYPE_NSM = TYPES.NSM;
var TYPE_AL = TYPES.AL;
var TYPE_LRO = TYPES.LRO;
var TYPE_RLO = TYPES.RLO;
var TYPE_LRE = TYPES.LRE;
var TYPE_RLE = TYPES.RLE;
var TYPE_PDF = TYPES.PDF;
var TYPE_LRI = TYPES.LRI;
var TYPE_RLI = TYPES.RLI;
var TYPE_FSI = TYPES.FSI;
var TYPE_PDI = TYPES.PDI;
function getEmbeddingLevels(string4, baseDirection) {
var MAX_DEPTH = 125;
var charTypes = new Uint32Array(string4.length);
for (var i3 = 0;i3 < string4.length; i3++) {
charTypes[i3] = getBidiCharType(string4[i3]);
}
var charTypeCounts = new Map;
function changeCharType(i4, type2) {
var oldType = charTypes[i4];
charTypes[i4] = type2;
charTypeCounts.set(oldType, charTypeCounts.get(oldType) - 1);
if (oldType & NEUTRAL_ISOLATE_TYPES) {
charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) - 1);
}
charTypeCounts.set(type2, (charTypeCounts.get(type2) || 0) + 1);
if (type2 & NEUTRAL_ISOLATE_TYPES) {
charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) || 0) + 1);
}
}
var embedLevels = new Uint8Array(string4.length);
var isolationPairs = new Map;
var paragraphs = [];
var paragraph = null;
for (var i$1 = 0;i$1 < string4.length; i$1++) {
if (!paragraph) {
paragraphs.push(paragraph = {
start: i$1,
end: string4.length - 1,
level: baseDirection === "rtl" ? 1 : baseDirection === "ltr" ? 0 : determineAutoEmbedLevel(i$1, false)
});
}
if (charTypes[i$1] & TYPE_B) {
paragraph.end = i$1;
paragraph = null;
}
}
var FORMATTING_TYPES = TYPE_RLE | TYPE_LRE | TYPE_RLO | TYPE_LRO | ISOLATE_INIT_TYPES | TYPE_PDI | TYPE_PDF | TYPE_B;
var nextEven = function(n2) {
return n2 + (n2 & 1 ? 1 : 2);
};
var nextOdd = function(n2) {
return n2 + (n2 & 1 ? 2 : 1);
};
for (var paraIdx = 0;paraIdx < paragraphs.length; paraIdx++) {
paragraph = paragraphs[paraIdx];
var statusStack = [{
_level: paragraph.level,
_override: 0,
_isolate: 0
}];
var stackTop = undefined;
var overflowIsolateCount = 0;
var overflowEmbeddingCount = 0;
var validIsolateCount = 0;
charTypeCounts.clear();
for (var i$2 = paragraph.start;i$2 <= paragraph.end; i$2++) {
var charType = charTypes[i$2];
stackTop = statusStack[statusStack.length - 1];
charTypeCounts.set(charType, (charTypeCounts.get(charType) || 0) + 1);
if (charType & NEUTRAL_ISOLATE_TYPES) {
charTypeCounts.set(NEUTRAL_ISOLATE_TYPES, (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES) || 0) + 1);
}
if (charType & FORMATTING_TYPES) {
if (charType & (TYPE_RLE | TYPE_LRE)) {
embedLevels[i$2] = stackTop._level;
var level = (charType === TYPE_RLE ? nextOdd : nextEven)(stackTop._level);
if (level <= MAX_DEPTH && !overflowIsolateCount && !overflowEmbeddingCount) {
statusStack.push({
_level: level,
_override: 0,
_isolate: 0
});
} else if (!overflowIsolateCount) {
overflowEmbeddingCount++;
}
} else if (charType & (TYPE_RLO | TYPE_LRO)) {
embedLevels[i$2] = stackTop._level;
var level$1 = (charType === TYPE_RLO ? nextOdd : nextEven)(stackTop._level);
if (level$1 <= MAX_DEPTH && !overflowIsolateCount && !overflowEmbeddingCount) {
statusStack.push({
_level: level$1,
_override: charType & TYPE_RLO ? TYPE_R : TYPE_L,
_isolate: 0
});
} else if (!overflowIsolateCount) {
overflowEmbeddingCount++;
}
} else if (charType & ISOLATE_INIT_TYPES) {
if (charType & TYPE_FSI) {
charType = determineAutoEmbedLevel(i$2 + 1, true) === 1 ? TYPE_RLI : TYPE_LRI;
}
embedLevels[i$2] = stackTop._level;
if (stackTop._override) {
changeCharType(i$2, stackTop._override);
}
var level$2 = (charType === TYPE_RLI ? nextOdd : nextEven)(stackTop._level);
if (level$2 <= MAX_DEPTH && overflowIsolateCount === 0 && overflowEmbeddingCount === 0) {
validIsolateCount++;
statusStack.push({
_level: level$2,
_override: 0,
_isolate: 1,
_isolInitIndex: i$2
});
} else {
overflowIsolateCount++;
}
} else if (charType & TYPE_PDI) {
if (overflowIsolateCount > 0) {
overflowIsolateCount--;
} else if (validIsolateCount > 0) {
overflowEmbeddingCount = 0;
while (!statusStack[statusStack.length - 1]._isolate) {
statusStack.pop();
}
var isolInitIndex = statusStack[statusStack.length - 1]._isolInitIndex;
if (isolInitIndex != null) {
isolationPairs.set(isolInitIndex, i$2);
isolationPairs.set(i$2, isolInitIndex);
}
statusStack.pop();
validIsolateCount--;
}
stackTop = statusStack[statusStack.length - 1];
embedLevels[i$2] = stackTop._level;
if (stackTop._override) {
changeCharType(i$2, stackTop._override);
}
} else if (charType & TYPE_PDF) {
if (overflowIsolateCount === 0) {
if (overflowEmbeddingCount > 0) {
overflowEmbeddingCount--;
} else if (!stackTop._isolate && statusStack.length > 1) {
statusStack.pop();
stackTop = statusStack[statusStack.length - 1];
}
}
embedLevels[i$2] = stackTop._level;
} else if (charType & TYPE_B) {
embedLevels[i$2] = paragraph.level;
}
} else {
embedLevels[i$2] = stackTop._level;
if (stackTop._override && charType !== TYPE_BN) {
changeCharType(i$2, stackTop._override);
}
}
}
var levelRuns = [];
var currentRun = null;
for (var i$3 = paragraph.start;i$3 <= paragraph.end; i$3++) {
var charType$1 = charTypes[i$3];
if (!(charType$1 & BN_LIKE_TYPES)) {
var lvl = embedLevels[i$3];
var isIsolInit = charType$1 & ISOLATE_INIT_TYPES;
var isPDI = charType$1 === TYPE_PDI;
if (currentRun && lvl === currentRun._level) {
currentRun._end = i$3;
currentRun._endsWithIsolInit = isIsolInit;
} else {
levelRuns.push(currentRun = {
_start: i$3,
_end: i$3,
_level: lvl,
_startsWithPDI: isPDI,
_endsWithIsolInit: isIsolInit
});
}
}
}
var isolatingRunSeqs = [];
for (var runIdx = 0;runIdx < levelRuns.length; runIdx++) {
var run = levelRuns[runIdx];
if (!run._startsWithPDI || run._startsWithPDI && !isolationPairs.has(run._start)) {
var seqRuns = [currentRun = run];
for (var pdiIndex = undefined;currentRun && currentRun._endsWithIsolInit && (pdiIndex = isolationPairs.get(currentRun._end)) != null; ) {
for (var i$4 = runIdx + 1;i$4 < levelRuns.length; i$4++) {
if (levelRuns[i$4]._start === pdiIndex) {
seqRuns.push(currentRun = levelRuns[i$4]);
break;
}
}
}
var seqIndices = [];
for (var i$5 = 0;i$5 < seqRuns.length; i$5++) {
var run$1 = seqRuns[i$5];
for (var j2 = run$1._start;j2 <= run$1._end; j2++) {
seqIndices.push(j2);
}
}
var firstLevel = embedLevels[seqIndices[0]];
var prevLevel = paragraph.level;
for (var i$6 = seqIndices[0] - 1;i$6 >= 0; i$6--) {
if (!(charTypes[i$6] & BN_LIKE_TYPES)) {
prevLevel = embedLevels[i$6];
break;
}
}
var lastIndex = seqIndices[seqIndices.length - 1];
var lastLevel = embedLevels[lastIndex];
var nextLevel = paragraph.level;
if (!(charTypes[lastIndex] & ISOLATE_INIT_TYPES)) {
for (var i$7 = lastIndex + 1;i$7 <= paragraph.end; i$7++) {
if (!(charTypes[i$7] & BN_LIKE_TYPES)) {
nextLevel = embedLevels[i$7];
break;
}
}
}
isolatingRunSeqs.push({
_seqIndices: seqIndices,
_sosType: Math.max(prevLevel, firstLevel) % 2 ? TYPE_R : TYPE_L,
_eosType: Math.max(nextLevel, lastLevel) % 2 ? TYPE_R : TYPE_L
});
}
}
for (var seqIdx = 0;seqIdx < isolatingRunSeqs.length; seqIdx++) {
var ref = isolatingRunSeqs[seqIdx];
var seqIndices$1 = ref._seqIndices;
var sosType = ref._sosType;
var eosType = ref._eosType;
var embedDirection = embedLevels[seqIndices$1[0]] & 1 ? TYPE_R : TYPE_L;
if (charTypeCounts.get(TYPE_NSM)) {
for (var si = 0;si < seqIndices$1.length; si++) {
var i$8 = seqIndices$1[si];
if (charTypes[i$8] & TYPE_NSM) {
var prevType = sosType;
for (var sj = si - 1;sj >= 0; sj--) {
if (!(charTypes[seqIndices$1[sj]] & BN_LIKE_TYPES)) {
prevType = charTypes[seqIndices$1[sj]];
break;
}
}
changeCharType(i$8, prevType & (ISOLATE_INIT_TYPES | TYPE_PDI) ? TYPE_ON : prevType);
}
}
}
if (charTypeCounts.get(TYPE_EN)) {
for (var si$1 = 0;si$1 < seqIndices$1.length; si$1++) {
var i$9 = seqIndices$1[si$1];
if (charTypes[i$9] & TYPE_EN) {
for (var sj$1 = si$1 - 1;sj$1 >= -1; sj$1--) {
var prevCharType = sj$1 === -1 ? sosType : charTypes[seqIndices$1[sj$1]];
if (prevCharType & STRONG_TYPES) {
if (prevCharType === TYPE_AL) {
changeCharType(i$9, TYPE_AN);
}
break;
}
}
}
}
}
if (charTypeCounts.get(TYPE_AL)) {
for (var si$2 = 0;si$2 < seqIndices$1.length; si$2++) {
var i$10 = seqIndices$1[si$2];
if (charTypes[i$10] & TYPE_AL) {
changeCharType(i$10, TYPE_R);
}
}
}
if (charTypeCounts.get(TYPE_ES) || charTypeCounts.get(TYPE_CS)) {
for (var si$3 = 1;si$3 < seqIndices$1.length - 1; si$3++) {
var i$11 = seqIndices$1[si$3];
if (charTypes[i$11] & (TYPE_ES | TYPE_CS)) {
var prevType$1 = 0, nextType = 0;
for (var sj$2 = si$3 - 1;sj$2 >= 0; sj$2--) {
prevType$1 = charTypes[seqIndices$1[sj$2]];
if (!(prevType$1 & BN_LIKE_TYPES)) {
break;
}
}
for (var sj$3 = si$3 + 1;sj$3 < seqIndices$1.length; sj$3++) {
nextType = charTypes[seqIndices$1[sj$3]];
if (!(nextType & BN_LIKE_TYPES)) {
break;
}
}
if (prevType$1 === nextType && (charTypes[i$11] === TYPE_ES ? prevType$1 === TYPE_EN : prevType$1 & (TYPE_EN | TYPE_AN))) {
changeCharType(i$11, prevType$1);
}
}
}
}
if (charTypeCounts.get(TYPE_EN)) {
for (var si$4 = 0;si$4 < seqIndices$1.length; si$4++) {
var i$12 = seqIndices$1[si$4];
if (charTypes[i$12] & TYPE_EN) {
for (var sj$4 = si$4 - 1;sj$4 >= 0 && charTypes[seqIndices$1[sj$4]] & (TYPE_ET | BN_LIKE_TYPES); sj$4--) {
changeCharType(seqIndices$1[sj$4], TYPE_EN);
}
for (si$4++;si$4 < seqIndices$1.length && charTypes[seqIndices$1[si$4]] & (TYPE_ET | BN_LIKE_TYPES | TYPE_EN); si$4++) {
if (charTypes[seqIndices$1[si$4]] !== TYPE_EN) {
changeCharType(seqIndices$1[si$4], TYPE_EN);
}
}
}
}
}
if (charTypeCounts.get(TYPE_ET) || charTypeCounts.get(TYPE_ES) || charTypeCounts.get(TYPE_CS)) {
for (var si$5 = 0;si$5 < seqIndices$1.length; si$5++) {
var i$13 = seqIndices$1[si$5];
if (charTypes[i$13] & (TYPE_ET | TYPE_ES | TYPE_CS)) {
changeCharType(i$13, TYPE_ON);
for (var sj$5 = si$5 - 1;sj$5 >= 0 && charTypes[seqIndices$1[sj$5]] & BN_LIKE_TYPES; sj$5--) {
changeCharType(seqIndices$1[sj$5], TYPE_ON);
}
for (var sj$6 = si$5 + 1;sj$6 < seqIndices$1.length && charTypes[seqIndices$1[sj$6]] & BN_LIKE_TYPES; sj$6++) {
changeCharType(seqIndices$1[sj$6], TYPE_ON);
}
}
}
}
if (charTypeCounts.get(TYPE_EN)) {
for (var si$6 = 0, prevStrongType = sosType;si$6 < seqIndices$1.length; si$6++) {
var i$14 = seqIndices$1[si$6];
var type = charTypes[i$14];
if (type & TYPE_EN) {
if (prevStrongType === TYPE_L) {
changeCharType(i$14, TYPE_L);
}
} else if (type & STRONG_TYPES) {
prevStrongType = type;
}
}
}
if (charTypeCounts.get(NEUTRAL_ISOLATE_TYPES)) {
var R_TYPES_FOR_N_STEPS = TYPE_R | TYPE_EN | TYPE_AN;
var STRONG_TYPES_FOR_N_STEPS = R_TYPES_FOR_N_STEPS | TYPE_L;
var bracketPairs = [];
{
var openerStack = [];
for (var si$7 = 0;si$7 < seqIndices$1.length; si$7++) {
if (charTypes[seqIndices$1[si$7]] & NEUTRAL_ISOLATE_TYPES) {
var char = string4[seqIndices$1[si$7]];
var oppositeBracket = undefined;
if (openingToClosingBracket(char) !== null) {
if (openerStack.length < 63) {
openerStack.push({ char, seqIndex: si$7 });
} else {
break;
}
} else if ((oppositeBracket = closingToOpeningBracket(char)) !== null) {
for (var stackIdx = openerStack.length - 1;stackIdx >= 0; stackIdx--) {
var stackChar = openerStack[stackIdx].char;
if (stackChar === oppositeBracket || stackChar === closingToOpeningBracket(getCanonicalBracket(char)) || openingToClosingBracket(getCanonicalBracket(stackChar)) === char) {
bracketPairs.push([openerStack[stackIdx].seqIndex, si$7]);
openerStack.length = stackIdx;
break;
}
}
}
}
}
bracketPairs.sort(function(a2, b2) {
return a2[0] - b2[0];
});
}
for (var pairIdx = 0;pairIdx < bracketPairs.length; pairIdx++) {
var ref$1 = bracketPairs[pairIdx];
var openSeqIdx = ref$1[0];
var closeSeqIdx = ref$1[1];
var foundStrongType = false;
var useStrongType = 0;
for (var si$8 = openSeqIdx + 1;si$8 < closeSeqIdx; si$8++) {
var i$15 = seqIndices$1[si$8];
if (charTypes[i$15] & STRONG_TYPES_FOR_N_STEPS) {
foundStrongType = true;
var lr = charTypes[i$15] & R_TYPES_FOR_N_STEPS ? TYPE_R : TYPE_L;
if (lr === embedDirection) {
useStrongType = lr;
break;
}
}
}
if (foundStrongType && !useStrongType) {
useStrongType = sosType;
for (var si$9 = openSeqIdx - 1;si$9 >= 0; si$9--) {
var i$16 = seqIndices$1[si$9];
if (charTypes[i$16] & STRONG_TYPES_FOR_N_STEPS) {
var lr$1 = charTypes[i$16] & R_TYPES_FOR_N_STEPS ? TYPE_R : TYPE_L;
if (lr$1 !== embedDirection) {
useStrongType = lr$1;
} else {
useStrongType = embedDirection;
}
break;
}
}
}
if (useStrongType) {
charTypes[seqIndices$1[openSeqIdx]] = charTypes[seqIndices$1[closeSeqIdx]] = useStrongType;
if (useStrongType !== embedDirection) {
for (var si$10 = openSeqIdx + 1;si$10 < seqIndices$1.length; si$10++) {
if (!(charTypes[seqIndices$1[si$10]] & BN_LIKE_TYPES)) {
if (getBidiCharType(string4[seqIndices$1[si$10]]) & TYPE_NSM) {
charTypes[seqIndices$1[si$10]] = useStrongType;
}
break;
}
}
}
if (useStrongType !== embedDirection) {
for (var si$11 = closeSeqIdx + 1;si$11 < seqIndices$1.length; si$11++) {
if (!(charTypes[seqIndices$1[si$11]] & BN_LIKE_TYPES)) {
if (getBidiCharType(string4[seqIndices$1[si$11]]) & TYPE_NSM) {
charTypes[seqIndices$1[si$11]] = useStrongType;
}
break;
}
}
}
}
}
for (var si$12 = 0;si$12 < seqIndices$1.length; si$12++) {
if (charTypes[seqIndices$1[si$12]] & NEUTRAL_ISOLATE_TYPES) {
var niRunStart = si$12, niRunEnd = si$12;
var prevType$2 = sosType;
for (var si2 = si$12 - 1;si2 >= 0; si2--) {
if (charTypes[seqIndices$1[si2]] & BN_LIKE_TYPES) {
niRunStart = si2;
} else {
prevType$2 = charTypes[seqIndices$1[si2]] & R_TYPES_FOR_N_STEPS ? TYPE_R : TYPE_L;
break;
}
}
var nextType$1 = eosType;
for (var si2$1 = si$12 + 1;si2$1 < seqIndices$1.length; si2$1++) {
if (charTypes[seqIndices$1[si2$1]] & (NEUTRAL_ISOLATE_TYPES | BN_LIKE_TYPES)) {
niRunEnd = si2$1;
} else {
nextType$1 = charTypes[seqIndices$1[si2$1]] & R_TYPES_FOR_N_STEPS ? TYPE_R : TYPE_L;
break;
}
}
for (var sj$7 = niRunStart;sj$7 <= niRunEnd; sj$7++) {
charTypes[seqIndices$1[sj$7]] = prevType$2 === nextType$1 ? prevType$2 : embedDirection;
}
si$12 = niRunEnd;
}
}
}
}
for (var i$17 = paragraph.start;i$17 <= paragraph.end; i$17++) {
var level$3 = embedLevels[i$17];
var type$1 = charTypes[i$17];
if (level$3 & 1) {
if (type$1 & (TYPE_L | TYPE_EN | TYPE_AN)) {
embedLevels[i$17]++;
}
} else {
if (type$1 & TYPE_R) {
embedLevels[i$17]++;
} else if (type$1 & (TYPE_AN | TYPE_EN)) {
embedLevels[i$17] += 2;
}
}
if (type$1 & BN_LIKE_TYPES) {
embedLevels[i$17] = i$17 === 0 ? paragraph.level : embedLevels[i$17 - 1];
}
if (i$17 === paragraph.end || getBidiCharType(string4[i$17]) & (TYPE_S | TYPE_B)) {
for (var j$1 = i$17;j$1 >= 0 && getBidiCharType(string4[j$1]) & TRAILING_TYPES; j$1--) {
embedLevels[j$1] = paragraph.level;
}
}
}
}
return {
levels: embedLevels,
paragraphs
};
function determineAutoEmbedLevel(start, isFSI) {
for (var i4 = start;i4 < string4.length; i4++) {
var charType2 = charTypes[i4];
if (charType2 & (TYPE_R | TYPE_AL)) {
return 1;
}
if (charType2 & (TYPE_B | TYPE_L) || isFSI && charType2 === TYPE_PDI) {
return 0;
}
if (charType2 & ISOLATE_INIT_TYPES) {
var pdi = indexOfMatchingPDI(i4);
i4 = pdi === -1 ? string4.length : pdi;
}
}
return 0;
}
function indexOfMatchingPDI(isolateStart) {
var isolationLevel = 1;
for (var i4 = isolateStart + 1;i4 < string4.length; i4++) {
var charType2 = charTypes[i4];
if (charType2 & TYPE_B) {
break;
}
if (charType2 & TYPE_PDI) {
if (--isolationLevel === 0) {
return i4;
}
} else if (charType2 & ISOLATE_INIT_TYPES) {
isolationLevel++;
}
}
return -1;
}
}
var data = "14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1";
var mirrorMap;
function parse9() {
if (!mirrorMap) {
var ref = parseCharacterMap(data, true);
var map4 = ref.map;
var reverseMap = ref.reverseMap;
reverseMap.forEach(function(value, key) {
map4.set(key, value);
});
mirrorMap = map4;
}
}
function getMirroredCharacter(char) {
parse9();
return mirrorMap.get(char) || null;
}
function getMirroredCharactersMap(string4, embeddingLevels, start, end) {
var strLen = string4.length;
start = Math.max(0, start == null ? 0 : +start);
end = Math.min(strLen - 1, end == null ? strLen - 1 : +end);
var map4 = new Map;
for (var i3 = start;i3 <= end; i3++) {
if (embeddingLevels[i3] & 1) {
var mirror = getMirroredCharacter(string4[i3]);
if (mirror !== null) {
map4.set(i3, mirror);
}
}
}
return map4;
}
function getReorderSegments(string4, embeddingLevelsResult, start, end) {
var strLen = string4.length;
start = Math.max(0, start == null ? 0 : +start);
end = Math.min(strLen - 1, end == null ? strLen - 1 : +end);
var segments = [];
embeddingLevelsResult.paragraphs.forEach(function(paragraph) {
var lineStart = Math.max(start, paragraph.start);
var lineEnd = Math.min(end, paragraph.end);
if (lineStart < lineEnd) {
var lineLevels = embeddingLevelsResult.levels.slice(lineStart, lineEnd + 1);
for (var i3 = lineEnd;i3 >= lineStart && getBidiCharType(string4[i3]) & TRAILING_TYPES; i3--) {
lineLevels[i3] = paragraph.level;
}
var maxLevel = paragraph.level;
var minOddLevel = Infinity;
for (var i$1 = 0;i$1 < lineLevels.length; i$1++) {
var level = lineLevels[i$1];
if (level > maxLevel) {
maxLevel = level;
}
if (level < minOddLevel) {
minOddLevel = level | 1;
}
}
for (var lvl = maxLevel;lvl >= minOddLevel; lvl--) {
for (var i$2 = 0;i$2 < lineLevels.length; i$2++) {
if (lineLevels[i$2] >= lvl) {
var segStart = i$2;
while (i$2 + 1 < lineLevels.length && lineLevels[i$2 + 1] >= lvl) {
i$2++;
}
if (i$2 > segStart) {
segments.push([segStart + lineStart, i$2 + lineStart]);
}
}
}
}
}
});
return segments;
}
function getReorderedString(string4, embedLevelsResult, start, end) {
var indices = getReorderedIndices(string4, embedLevelsResult, start, end);
var chars = [].concat(string4);
indices.forEach(function(charIndex, i3) {
chars[i3] = (embedLevelsResult.levels[charIndex] & 1 ? getMirroredCharacter(string4[charIndex]) : null) || string4[charIndex];
});
return chars.join("");
}
function getReorderedIndices(string4, embedLevelsResult, start, end) {
var segments = getReorderSegments(string4, embedLevelsResult, start, end);
var indices = [];
for (var i3 = 0;i3 < string4.length; i3++) {
indices[i3] = i3;
}
segments.forEach(function(ref) {
var start2 = ref[0];
var end2 = ref[1];
var slice = indices.slice(start2, end2 + 1);
for (var i4 = slice.length;i4--; ) {
indices[end2 - i4] = slice[i4];
}
});
return indices;
}
exports2.closingToOpeningBracket = closingToOpeningBracket;
exports2.getBidiCharType = getBidiCharType;
exports2.getBidiCharTypeName = getBidiCharTypeName;
exports2.getCanonicalBracket = getCanonicalBracket;
exports2.getEmbeddingLevels = getEmbeddingLevels;
exports2.getMirroredCharacter = getMirroredCharacter;
exports2.getMirroredCharactersMap = getMirroredCharactersMap;
exports2.getReorderSegments = getReorderSegments;
exports2.getReorderedIndices = getReorderedIndices;
exports2.getReorderedString = getReorderedString;
exports2.openingToClosingBracket = openingToClosingBracket;
Object.defineProperty(exports2, "__esModule", { value: true });
return exports2;
}({});
return bidi;
}
return bidiFactory;
});
});
// src/ink/bidi.ts
function needsBidi() {
if (needsSoftwareBidi === undefined) {
needsSoftwareBidi = process.platform === "win32" || typeof process.env["WT_SESSION"] === "string" || process.env["TERM_PROGRAM"] === "vscode";
}
return needsSoftwareBidi;
}
function getBidi() {
if (!bidiInstance) {
bidiInstance = import_bidi_js.default();
}
return bidiInstance;
}
function reorderBidi(characters) {
if (!needsBidi() || characters.length === 0) {
return characters;
}
const plainText = characters.map((c5) => c5.value).join("");
if (!hasRTLCharacters(plainText)) {
return characters;
}
const bidi = getBidi();
const { levels } = bidi.getEmbeddingLevels(plainText, "auto");
const charLevels = [];
let offset = 0;
for (let i3 = 0;i3 < characters.length; i3++) {
charLevels.push(levels[offset]);
offset += characters[i3].value.length;
}
const reordered = [...characters];
const maxLevel = Math.max(...charLevels);
for (let level = maxLevel;level >= 1; level--) {
let i3 = 0;
while (i3 < reordered.length) {
if (charLevels[i3] >= level) {
let j2 = i3 + 1;
while (j2 < reordered.length && charLevels[j2] >= level) {
j2++;
}
reverseRange(reordered, i3, j2 - 1);
reverseRangeNumbers(charLevels, i3, j2 - 1);
i3 = j2;
} else {
i3++;
}
}
}
return reordered;
}
function reverseRange(arr, start, end) {
while (start < end) {
const temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
function reverseRangeNumbers(arr, start, end) {
while (start < end) {
const temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
function hasRTLCharacters(text) {
return /[\u0590-\u05FF\uFB1D-\uFB4F\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF\u0780-\u07BF\u0700-\u074F]/u.test(text);
}
var import_bidi_js, bidiInstance, needsSoftwareBidi;
var init_bidi = __esm(() => {
import_bidi_js = __toESM(require_bidi(), 1);
});
// src/ink/widest-line.ts
function widestLine(string4) {
let maxWidth = 0;
let start = 0;
while (start <= string4.length) {
const end = string4.indexOf(`
`, start);
const line = end === -1 ? string4.substring(start) : string4.substring(start, end);
maxWidth = Math.max(maxWidth, lineWidth(line));
if (end === -1)
break;
start = end + 1;
}
return maxWidth;
}
var init_widest_line = __esm(() => {
init_line_width_cache();
});
// src/ink/output.ts
function intersectClip(parent, child) {
if (!parent)
return child;
return {
x1: maxDefined(parent.x1, child.x1),
x2: minDefined(parent.x2, child.x2),
y1: maxDefined(parent.y1, child.y1),
y2: minDefined(parent.y2, child.y2)
};
}
function maxDefined(a2, b2) {
if (a2 === undefined)
return b2;
if (b2 === undefined)
return a2;
return Math.max(a2, b2);
}
function minDefined(a2, b2) {
if (a2 === undefined)
return b2;
if (b2 === undefined)
return a2;
return Math.min(a2, b2);
}
class Output {
width;
height;
stylePool;
screen;
operations = [];
charCache = new Map;
constructor(options) {
const { width, height, stylePool, screen } = options;
this.width = width;
this.height = height;
this.stylePool = stylePool;
this.screen = screen;
resetScreen(screen, width, height);
}
reset(width, height, screen) {
this.width = width;
this.height = height;
this.screen = screen;
this.operations.length = 0;
resetScreen(screen, width, height);
if (this.charCache.size > 16384)
this.charCache.clear();
}
blit(src, x4, y3, width, height) {
this.operations.push({ type: "blit", src, x: x4, y: y3, width, height });
}
shift(top, bottom, n2) {
this.operations.push({ type: "shift", top, bottom, n: n2 });
}
clear(region, fromAbsolute) {
this.operations.push({ type: "clear", region, fromAbsolute });
}
noSelect(region) {
this.operations.push({ type: "noSelect", region });
}
write(x4, y3, text, softWrap) {
if (!text) {
return;
}
this.operations.push({
type: "write",
x: x4,
y: y3,
text,
softWrap
});
}
clip(clip) {
this.operations.push({
type: "clip",
clip
});
}
unclip() {
this.operations.push({
type: "unclip"
});
}
get() {
const screen = this.screen;
const screenWidth = this.width;
const screenHeight = this.height;
let blitCells = 0;
let writeCells = 0;
const absoluteClears = [];
for (const operation of this.operations) {
if (operation.type !== "clear")
continue;
const { x: x4, y: y3, width, height } = operation.region;
const startX = Math.max(0, x4);
const startY = Math.max(0, y3);
const maxX = Math.min(x4 + width, screenWidth);
const maxY = Math.min(y3 + height, screenHeight);
if (startX >= maxX || startY >= maxY)
continue;
const rect = {
x: startX,
y: startY,
width: maxX - startX,
height: maxY - startY
};
screen.damage = screen.damage ? unionRect(screen.damage, rect) : rect;
if (operation.fromAbsolute)
absoluteClears.push(rect);
}
const clips = [];
for (const operation of this.operations) {
switch (operation.type) {
case "clear":
continue;
case "clip":
clips.push(intersectClip(clips.at(-1), operation.clip));
continue;
case "unclip":
clips.pop();
continue;
case "blit": {
const {
src,
x: regionX,
y: regionY,
width: regionWidth,
height: regionHeight
} = operation;
const clip = clips.at(-1);
const startX = Math.max(regionX, clip?.x1 ?? 0);
const startY = Math.max(regionY, clip?.y1 ?? 0);
const maxY = Math.min(regionY + regionHeight, screenHeight, src.height, clip?.y2 ?? Infinity);
const maxX = Math.min(regionX + regionWidth, screenWidth, src.width, clip?.x2 ?? Infinity);
if (startX >= maxX || startY >= maxY)
continue;
if (absoluteClears.length === 0) {
blitRegion(screen, src, startX, startY, maxX, maxY);
blitCells += (maxY - startY) * (maxX - startX);
continue;
}
let rowStart = startY;
for (let row = startY;row <= maxY; row++) {
const excluded = row < maxY && absoluteClears.some((r2) => row >= r2.y && row < r2.y + r2.height && startX >= r2.x && maxX <= r2.x + r2.width);
if (excluded || row === maxY) {
if (row > rowStart) {
blitRegion(screen, src, startX, rowStart, maxX, row);
blitCells += (row - rowStart) * (maxX - startX);
}
rowStart = row + 1;
}
}
continue;
}
case "shift": {
shiftRows(screen, operation.top, operation.bottom, operation.n);
continue;
}
case "write": {
const { text, softWrap } = operation;
let { x: x4, y: y3 } = operation;
let lines = text.split(`
`);
let swFrom = 0;
let prevContentEnd = 0;
const clip = clips.at(-1);
if (clip) {
const clipHorizontally = typeof clip?.x1 === "number" && typeof clip?.x2 === "number";
const clipVertically = typeof clip?.y1 === "number" && typeof clip?.y2 === "number";
if (clipHorizontally) {
const width = widestLine(text);
if (x4 + width <= clip.x1 || x4 >= clip.x2) {
continue;
}
}
if (clipVertically) {
const height = lines.length;
if (y3 + height <= clip.y1 || y3 >= clip.y2) {
continue;
}
}
if (clipHorizontally) {
lines = lines.map((line) => {
const from = x4 < clip.x1 ? clip.x1 - x4 : 0;
const width = stringWidth(line);
const to = x4 + width > clip.x2 ? clip.x2 - x4 : width;
let sliced = sliceAnsi(line, from, to);
if (stringWidth(sliced) > to - from) {
sliced = sliceAnsi(line, from, to - 1);
}
return sliced;
});
if (x4 < clip.x1) {
x4 = clip.x1;
}
}
if (clipVertically) {
const from = y3 < clip.y1 ? clip.y1 - y3 : 0;
const height = lines.length;
const to = y3 + height > clip.y2 ? clip.y2 - y3 : height;
if (softWrap && from > 0 && softWrap[from] === true) {
prevContentEnd = x4 + stringWidth(lines[from - 1]);
}
lines = lines.slice(from, to);
swFrom = from;
if (y3 < clip.y1) {
y3 = clip.y1;
}
}
}
const swBits = screen.softWrap;
let offsetY = 0;
for (const line of lines) {
const lineY = y3 + offsetY;
if (lineY >= screenHeight) {
break;
}
const contentEnd = writeLineToScreen(screen, line, x4, lineY, screenWidth, this.stylePool, this.charCache);
writeCells += contentEnd - x4;
if (softWrap) {
const isSW = softWrap[swFrom + offsetY] === true;
swBits[lineY] = isSW ? prevContentEnd : 0;
prevContentEnd = contentEnd;
}
offsetY++;
}
continue;
}
}
}
for (const operation of this.operations) {
if (operation.type === "noSelect") {
const { x: x4, y: y3, width, height } = operation.region;
markNoSelectRegion(screen, x4, y3, width, height);
}
}
const totalCells = blitCells + writeCells;
if (totalCells > 1000 && writeCells > blitCells) {
logForDebugging(`High write ratio: blit=${blitCells}, write=${writeCells} (${(writeCells / totalCells * 100).toFixed(1)}% writes), screen=${screenHeight}x${screenWidth}`);
}
return screen;
}
}
function stylesEqual2(a2, b2) {
if (a2 === b2)
return true;
const len = a2.length;
if (len !== b2.length)
return false;
if (len === 0)
return true;
for (let i3 = 0;i3 < len; i3++) {
if (a2[i3].code !== b2[i3].code)
return false;
}
return true;
}
function styledCharsWithGraphemeClustering(chars, stylePool) {
const charCount = chars.length;
if (charCount === 0)
return [];
const result = [];
const bufferChars = [];
let bufferStyles = chars[0].styles;
for (let i3 = 0;i3 < charCount; i3++) {
const char = chars[i3];
const styles5 = char.styles;
if (bufferChars.length > 0 && !stylesEqual2(styles5, bufferStyles)) {
flushBuffer(bufferChars.join(""), bufferStyles, stylePool, result);
bufferChars.length = 0;
}
bufferChars.push(char.value);
bufferStyles = styles5;
}
if (bufferChars.length > 0) {
flushBuffer(bufferChars.join(""), bufferStyles, stylePool, result);
}
return result;
}
function flushBuffer(buffer, styles5, stylePool, out) {
const hyperlink = extractHyperlinkFromStyles(styles5) ?? undefined;
const hasOsc8Styles = hyperlink !== undefined || styles5.some((s2) => s2.code.length >= OSC8_PREFIX.length && s2.code.startsWith(OSC8_PREFIX));
const filteredStyles = hasOsc8Styles ? filterOutHyperlinkStyles(styles5) : styles5;
const styleId = stylePool.intern(filteredStyles);
for (const { segment: grapheme } of getGraphemeSegmenter().segment(buffer)) {
out.push({
value: grapheme,
width: stringWidth(grapheme),
styleId,
hyperlink
});
}
}
function writeLineToScreen(screen, line, x4, y3, screenWidth, stylePool, charCache) {
let characters = charCache.get(line);
if (!characters) {
characters = reorderBidi(styledCharsWithGraphemeClustering(styledCharsFromTokens(tokenize3(line)), stylePool));
charCache.set(line, characters);
}
let offsetX = x4;
for (let charIdx = 0;charIdx < characters.length; charIdx++) {
const character = characters[charIdx];
const codePoint = character.value.codePointAt(0);
if (codePoint !== undefined && codePoint <= 31) {
if (codePoint === 9) {
const tabWidth = 8;
const spacesToNextStop = tabWidth - offsetX % tabWidth;
for (let i3 = 0;i3 < spacesToNextStop && offsetX < screenWidth; i3++) {
setCellAt(screen, offsetX, y3, {
char: " ",
styleId: stylePool.none,
width: 0 /* Narrow */,
hyperlink: undefined
});
offsetX++;
}
} else if (codePoint === 27) {
const nextChar = characters[charIdx + 1]?.value;
const nextCode = nextChar?.codePointAt(0);
if (nextChar === "(" || nextChar === ")" || nextChar === "*" || nextChar === "+") {
charIdx += 2;
} else if (nextChar === "[") {
charIdx++;
while (charIdx < characters.length - 1) {
charIdx++;
const c5 = characters[charIdx]?.value.codePointAt(0);
if (c5 !== undefined && c5 >= 64 && c5 <= 126) {
break;
}
}
} else if (nextChar === "]" || nextChar === "P" || nextChar === "_" || nextChar === "^" || nextChar === "X") {
charIdx++;
while (charIdx < characters.length - 1) {
charIdx++;
const c5 = characters[charIdx]?.value;
if (c5 === "\x07") {
break;
}
if (c5 === "\x1B") {
const nextC = characters[charIdx + 1]?.value;
if (nextC === "\\") {
charIdx++;
break;
}
}
}
} else if (nextCode !== undefined && nextCode >= 48 && nextCode <= 126) {
charIdx++;
}
}
continue;
}
const charWidth = character.width;
if (charWidth === 0) {
continue;
}
const isWideCharacter = charWidth >= 2;
if (isWideCharacter && offsetX + 2 > screenWidth) {
setCellAt(screen, offsetX, y3, {
char: " ",
styleId: stylePool.none,
width: 3 /* SpacerHead */,
hyperlink: undefined
});
offsetX++;
continue;
}
setCellAt(screen, offsetX, y3, {
char: character.value,
styleId: character.styleId,
width: isWideCharacter ? 1 /* Wide */ : 0 /* Narrow */,
hyperlink: character.hyperlink
});
offsetX += isWideCharacter ? 2 : 1;
}
return offsetX;
}
var init_output2 = __esm(() => {
init_build();
init_debug();
init_intl();
init_sliceAnsi();
init_bidi();
init_geometry();
init_screen();
init_stringWidth();
init_widest_line();
});
// node_modules/.pnpm/indent-string@5.0.0/node_modules/indent-string/index.js
function indentString(string4, count3 = 1, options = {}) {
const {
indent = " ",
includeEmptyLines = false
} = options;
if (typeof string4 !== "string") {
throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof string4}\``);
}
if (typeof count3 !== "number") {
throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof count3}\``);
}
if (count3 < 0) {
throw new RangeError(`Expected \`count\` to be at least 0, got \`${count3}\``);
}
if (typeof indent !== "string") {
throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof indent}\``);
}
if (count3 === 0) {
return string4;
}
const regex2 = includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
return string4.replace(regex2, indent.repeat(count3));
}
// src/ink/get-max-width.ts
var getMaxWidth = (yogaNode) => {
return yogaNode.getComputedWidth() - yogaNode.getComputedPadding(LayoutEdge.Left) - yogaNode.getComputedPadding(LayoutEdge.Right) - yogaNode.getComputedBorder(LayoutEdge.Left) - yogaNode.getComputedBorder(LayoutEdge.Right);
}, get_max_width_default;
var init_get_max_width = __esm(() => {
init_node4();
get_max_width_default = getMaxWidth;
});
// node_modules/.pnpm/cli-boxes@4.0.1/node_modules/cli-boxes/boxes.json
var boxes_default;
var init_boxes = __esm(() => {
boxes_default = {
single: {
topLeft: "┌",
top: "─",
topRight: "┐",
right: "│",
bottomRight: "┘",
bottom: "─",
bottomLeft: "└",
left: "│"
},
double: {
topLeft: "╔",
top: "═",
topRight: "╗",
right: "║",
bottomRight: "╝",
bottom: "═",
bottomLeft: "╚",
left: "║"
},
round: {
topLeft: "╭",
top: "─",
topRight: "╮",
right: "│",
bottomRight: "╯",
bottom: "─",
bottomLeft: "╰",
left: "│"
},
bold: {
topLeft: "┏",
top: "━",
topRight: "┓",
right: "┃",
bottomRight: "┛",
bottom: "━",
bottomLeft: "┗",
left: "┃"
},
singleDouble: {
topLeft: "╓",
top: "─",
topRight: "╖",
right: "║",
bottomRight: "╜",
bottom: "─",
bottomLeft: "╙",
left: "║"
},
doubleSingle: {
topLeft: "╒",
top: "═",
topRight: "╕",
right: "│",
bottomRight: "╛",
bottom: "═",
bottomLeft: "╘",
left: "│"
},
classic: {
topLeft: "+",
top: "-",
topRight: "+",
right: "|",
bottomRight: "+",
bottom: "-",
bottomLeft: "+",
left: "|"
},
arrow: {
topLeft: "↘",
top: "↓",
topRight: "↙",
right: "←",
bottomRight: "↖",
bottom: "↑",
bottomLeft: "↗",
left: "→"
}
};
});
// node_modules/.pnpm/cli-boxes@4.0.1/node_modules/cli-boxes/index.js
var cli_boxes_default;
var init_cli_boxes = __esm(() => {
init_boxes();
cli_boxes_default = boxes_default;
});
// src/ink/render-border.ts
function embedTextInBorder(borderLine, text, align, offset = 0, borderChar) {
const textLength = stringWidth(text);
const borderLength = borderLine.length;
if (textLength >= borderLength - 2) {
return ["", text.substring(0, borderLength), ""];
}
let position;
if (align === "center") {
position = Math.floor((borderLength - textLength) / 2);
} else if (align === "start") {
position = offset + 1;
} else {
position = borderLength - textLength - offset - 1;
}
position = Math.max(1, Math.min(position, borderLength - textLength - 1));
const before = borderLine.substring(0, 1) + borderChar.repeat(position - 1);
const after = borderChar.repeat(borderLength - position - textLength - 1) + borderLine.substring(borderLength - 1);
return [before, text, after];
}
function styleBorderLine(line, color, dim2) {
let styled = applyColor(line, color);
if (dim2) {
styled = source_default.dim(styled);
}
return styled;
}
var CUSTOM_BORDER_STYLES, renderBorder = (x4, y3, node, output) => {
if (node.style.borderStyle) {
const width = Math.floor(node.yogaNode.getComputedWidth());
const height = Math.floor(node.yogaNode.getComputedHeight());
const box = typeof node.style.borderStyle === "string" ? CUSTOM_BORDER_STYLES[node.style.borderStyle] ?? cli_boxes_default[node.style.borderStyle] : node.style.borderStyle;
const topBorderColor = node.style.borderTopColor ?? node.style.borderColor;
const bottomBorderColor = node.style.borderBottomColor ?? node.style.borderColor;
const leftBorderColor = node.style.borderLeftColor ?? node.style.borderColor;
const rightBorderColor = node.style.borderRightColor ?? node.style.borderColor;
const dimTopBorderColor = node.style.borderTopDimColor ?? node.style.borderDimColor;
const dimBottomBorderColor = node.style.borderBottomDimColor ?? node.style.borderDimColor;
const dimLeftBorderColor = node.style.borderLeftDimColor ?? node.style.borderDimColor;
const dimRightBorderColor = node.style.borderRightDimColor ?? node.style.borderDimColor;
const showTopBorder = node.style.borderTop !== false;
const showBottomBorder = node.style.borderBottom !== false;
const showLeftBorder = node.style.borderLeft !== false;
const showRightBorder = node.style.borderRight !== false;
const contentWidth = Math.max(0, width - (showLeftBorder ? 1 : 0) - (showRightBorder ? 1 : 0));
const topBorderLine = showTopBorder ? (showLeftBorder ? box.topLeft : "") + box.top.repeat(contentWidth) + (showRightBorder ? box.topRight : "") : "";
let topBorder;
if (showTopBorder && node.style.borderText?.position === "top") {
const [before, text, after] = embedTextInBorder(topBorderLine, node.style.borderText.content, node.style.borderText.align, node.style.borderText.offset, box.top);
topBorder = styleBorderLine(before, topBorderColor, dimTopBorderColor) + text + styleBorderLine(after, topBorderColor, dimTopBorderColor);
} else if (showTopBorder) {
topBorder = styleBorderLine(topBorderLine, topBorderColor, dimTopBorderColor);
}
let verticalBorderHeight = height;
if (showTopBorder) {
verticalBorderHeight -= 1;
}
if (showBottomBorder) {
verticalBorderHeight -= 1;
}
verticalBorderHeight = Math.max(0, verticalBorderHeight);
let leftBorder = (applyColor(box.left, leftBorderColor) + `
`).repeat(verticalBorderHeight);
if (dimLeftBorderColor) {
leftBorder = source_default.dim(leftBorder);
}
let rightBorder = (applyColor(box.right, rightBorderColor) + `
`).repeat(verticalBorderHeight);
if (dimRightBorderColor) {
rightBorder = source_default.dim(rightBorder);
}
const bottomBorderLine = showBottomBorder ? (showLeftBorder ? box.bottomLeft : "") + box.bottom.repeat(contentWidth) + (showRightBorder ? box.bottomRight : "") : "";
let bottomBorder;
if (showBottomBorder && node.style.borderText?.position === "bottom") {
const [before, text, after] = embedTextInBorder(bottomBorderLine, node.style.borderText.content, node.style.borderText.align, node.style.borderText.offset, box.bottom);
bottomBorder = styleBorderLine(before, bottomBorderColor, dimBottomBorderColor) + text + styleBorderLine(after, bottomBorderColor, dimBottomBorderColor);
} else if (showBottomBorder) {
bottomBorder = styleBorderLine(bottomBorderLine, bottomBorderColor, dimBottomBorderColor);
}
const offsetY = showTopBorder ? 1 : 0;
if (topBorder) {
output.write(x4, y3, topBorder);
}
if (showLeftBorder) {
output.write(x4, y3 + offsetY, leftBorder);
}
if (showRightBorder) {
output.write(x4 + width - 1, y3 + offsetY, rightBorder);
}
if (bottomBorder) {
output.write(x4, y3 + height - 1, bottomBorder);
}
}
}, render_border_default;
var init_render_border = __esm(() => {
init_source();
init_cli_boxes();
init_colorize();
init_stringWidth();
CUSTOM_BORDER_STYLES = {
dashed: {
top: "╌",
left: "╎",
right: "╎",
bottom: "╌",
topLeft: " ",
topRight: " ",
bottomLeft: " ",
bottomRight: " "
}
};
render_border_default = renderBorder;
});
// src/ink/render-node-to-output.ts
function isXtermJsHost() {
return process.env.TERM_PROGRAM === "vscode" || isXtermJs();
}
function resetLayoutShifted() {
layoutShifted = false;
}
function didLayoutShift() {
return layoutShifted;
}
function resetScrollHint() {
scrollHint = null;
absoluteRectsPrev = absoluteRectsCur;
absoluteRectsCur = [];
}
function getScrollHint() {
return scrollHint;
}
function resetScrollDrainNode() {
scrollDrainNode = null;
}
function getScrollDrainNode() {
return scrollDrainNode;
}
function consumeFollowScroll() {
const f3 = followScroll;
followScroll = null;
return f3;
}
function drainAdaptive(node, pending, innerHeight) {
const sign = pending > 0 ? 1 : -1;
let abs = Math.abs(pending);
let applied = 0;
if (abs > SCROLL_MAX_PENDING) {
applied += sign * (abs - SCROLL_MAX_PENDING);
abs = SCROLL_MAX_PENDING;
}
const step = abs <= SCROLL_INSTANT_THRESHOLD ? abs : abs < SCROLL_HIGH_PENDING ? SCROLL_STEP_MED : SCROLL_STEP_HIGH;
applied += sign * step;
const rem = abs - step;
const cap = Math.max(1, innerHeight - 1);
const totalAbs = Math.abs(applied);
if (totalAbs > cap) {
const excess = totalAbs - cap;
node.pendingScrollDelta = sign * (rem + excess);
return sign * cap;
}
node.pendingScrollDelta = rem > 0 ? sign * rem : undefined;
return applied;
}
function drainProportional(node, pending, innerHeight) {
const abs = Math.abs(pending);
const cap = Math.max(1, innerHeight - 1);
const step = Math.min(cap, Math.max(SCROLL_MIN_PER_FRAME, abs * 3 >> 2));
if (abs <= step) {
node.pendingScrollDelta = undefined;
return pending;
}
const applied = pending > 0 ? step : -step;
node.pendingScrollDelta = pending - applied;
return applied;
}
function wrapWithOsc8Link(text, url3) {
return `${OSC3}8;;${url3}${BEL3}${text}${OSC3}8;;${BEL3}`;
}
function buildCharToSegmentMap(segments) {
const map3 = [];
for (let i3 = 0;i3 < segments.length; i3++) {
const len = segments[i3].text.length;
for (let j2 = 0;j2 < len; j2++) {
map3.push(i3);
}
}
return map3;
}
function applyStylesToWrappedText(wrappedPlain, segments, charToSegment, originalPlain, trimEnabled = false) {
const lines = wrappedPlain.split(`
`);
const resultLines = [];
let charIndex = 0;
for (let lineIdx = 0;lineIdx < lines.length; lineIdx++) {
const line = lines[lineIdx];
if (trimEnabled && line.length > 0) {
const lineStartsWithWhitespace = /\s/.test(line[0]);
const originalHasWhitespace = charIndex < originalPlain.length && /\s/.test(originalPlain[charIndex]);
if (originalHasWhitespace && !lineStartsWithWhitespace) {
while (charIndex < originalPlain.length && /\s/.test(originalPlain[charIndex])) {
charIndex++;
}
}
}
let styledLine = "";
let runStart = 0;
let runSegmentIndex = charToSegment[charIndex] ?? 0;
for (let i3 = 0;i3 < line.length; i3++) {
const currentSegmentIndex = charToSegment[charIndex] ?? runSegmentIndex;
if (currentSegmentIndex !== runSegmentIndex) {
const runText2 = line.slice(runStart, i3);
const segment2 = segments[runSegmentIndex];
if (segment2) {
let styled = applyTextStyles(runText2, segment2.styles);
if (segment2.hyperlink) {
styled = wrapWithOsc8Link(styled, segment2.hyperlink);
}
styledLine += styled;
} else {
styledLine += runText2;
}
runStart = i3;
runSegmentIndex = currentSegmentIndex;
}
charIndex++;
}
const runText = line.slice(runStart);
const segment = segments[runSegmentIndex];
if (segment) {
let styled = applyTextStyles(runText, segment.styles);
if (segment.hyperlink) {
styled = wrapWithOsc8Link(styled, segment.hyperlink);
}
styledLine += styled;
} else {
styledLine += runText;
}
resultLines.push(styledLine);
if (charIndex < originalPlain.length && originalPlain[charIndex] === `
`) {
charIndex++;
}
if (trimEnabled && lineIdx < lines.length - 1) {
const nextLine = lines[lineIdx + 1];
const nextLineFirstChar = nextLine.length > 0 ? nextLine[0] : null;
while (charIndex < originalPlain.length && /\s/.test(originalPlain[charIndex])) {
if (nextLineFirstChar !== null && originalPlain[charIndex] === nextLineFirstChar) {
break;
}
charIndex++;
}
}
}
return resultLines.join(`
`);
}
function wrapWithSoftWrap(plainText, maxWidth, textWrap) {
if (textWrap !== "wrap" && textWrap !== "wrap-trim") {
return {
wrapped: wrapText2(plainText, maxWidth, textWrap),
softWrap: undefined
};
}
const origLines = plainText.split(`
`);
const outLines = [];
const softWrap = [];
for (const orig of origLines) {
const pieces = wrapText2(orig, maxWidth, textWrap).split(`
`);
for (let i3 = 0;i3 < pieces.length; i3++) {
outLines.push(pieces[i3]);
softWrap.push(i3 > 0);
}
}
return { wrapped: outLines.join(`
`), softWrap };
}
function applyPaddingToText(node, text, softWrap) {
const yogaNode = node.childNodes[0]?.yogaNode;
if (yogaNode) {
const offsetX = yogaNode.getComputedLeft();
const offsetY = yogaNode.getComputedTop();
text = `
`.repeat(offsetY) + indentString(text, offsetX);
if (softWrap && offsetY > 0) {
softWrap.unshift(...Array(offsetY).fill(false));
}
}
return text;
}
function renderNodeToOutput(node, output, {
offsetX = 0,
offsetY = 0,
prevScreen,
skipSelfBlit = false,
inheritedBackgroundColor
}) {
const { yogaNode } = node;
if (yogaNode) {
if (yogaNode.getDisplay() === LayoutDisplay.None) {
if (node.dirty) {
const cached3 = nodeCache.get(node);
if (cached3) {
output.clear({
x: Math.floor(cached3.x),
y: Math.floor(cached3.y),
width: Math.floor(cached3.width),
height: Math.floor(cached3.height)
});
dropSubtreeCache(node);
layoutShifted = true;
}
}
return;
}
const x4 = offsetX + yogaNode.getComputedLeft();
const yogaTop = yogaNode.getComputedTop();
let y3 = offsetY + yogaTop;
const width = yogaNode.getComputedWidth();
const height = yogaNode.getComputedHeight();
if (y3 < 0 && node.style.position === "absolute") {
y3 = 0;
}
const cached2 = nodeCache.get(node);
if (!node.dirty && !skipSelfBlit && node.pendingScrollDelta === undefined && cached2 && cached2.x === x4 && cached2.y === y3 && cached2.width === width && cached2.height === height && prevScreen) {
const fx = Math.floor(x4);
const fy = Math.floor(y3);
const fw = Math.floor(width);
const fh = Math.floor(height);
output.blit(prevScreen, fx, fy, fw, fh);
if (node.style.position === "absolute") {
absoluteRectsCur.push(cached2);
}
blitEscapingAbsoluteDescendants(node, output, prevScreen, fx, fy, fw, fh);
return;
}
const positionChanged = cached2 !== undefined && (cached2.x !== x4 || cached2.y !== y3 || cached2.width !== width || cached2.height !== height);
if (positionChanged) {
layoutShifted = true;
}
if (cached2 && (node.dirty || positionChanged)) {
output.clear({
x: Math.floor(cached2.x),
y: Math.floor(cached2.y),
width: Math.floor(cached2.width),
height: Math.floor(cached2.height)
}, node.style.position === "absolute");
}
const clears = pendingClears.get(node);
const hasRemovedChild = clears !== undefined;
if (hasRemovedChild) {
layoutShifted = true;
for (const rect2 of clears) {
output.clear({
x: Math.floor(rect2.x),
y: Math.floor(rect2.y),
width: Math.floor(rect2.width),
height: Math.floor(rect2.height)
});
}
pendingClears.delete(node);
}
if (height === 0 && siblingSharesY(node, yogaNode)) {
nodeCache.set(node, { x: x4, y: y3, width, height, top: yogaTop });
node.dirty = false;
return;
}
if (node.nodeName === "ink-raw-ansi") {
const text = node.attributes["rawText"];
if (text) {
output.write(x4, y3, text);
}
} else if (node.nodeName === "ink-text") {
const segments = squashTextNodesToSegments(node, inheritedBackgroundColor ? { backgroundColor: inheritedBackgroundColor } : undefined);
const plainText = segments.map((s2) => s2.text).join("");
if (plainText.length > 0) {
const maxWidth = Math.min(get_max_width_default(yogaNode), output.width - x4);
const textWrap = node.style.textWrap ?? "wrap";
const needsWrapping = widestLine(plainText) > maxWidth;
let text;
let softWrap;
if (needsWrapping && segments.length === 1) {
const segment = segments[0];
const w2 = wrapWithSoftWrap(plainText, maxWidth, textWrap);
softWrap = w2.softWrap;
text = w2.wrapped.split(`
`).map((line) => {
let styled = applyTextStyles(line, segment.styles);
if (segment.hyperlink) {
styled = wrapWithOsc8Link(styled, segment.hyperlink);
}
return styled;
}).join(`
`);
} else if (needsWrapping) {
const w2 = wrapWithSoftWrap(plainText, maxWidth, textWrap);
softWrap = w2.softWrap;
const charToSegment = buildCharToSegmentMap(segments);
text = applyStylesToWrappedText(w2.wrapped, segments, charToSegment, plainText, textWrap === "wrap-trim");
} else {
text = segments.map((segment) => {
let styledText = applyTextStyles(segment.text, segment.styles);
if (segment.hyperlink) {
styledText = wrapWithOsc8Link(styledText, segment.hyperlink);
}
return styledText;
}).join("");
}
text = applyPaddingToText(node, text, softWrap);
output.write(x4, y3, text, softWrap);
}
} else if (node.nodeName === "ink-box") {
const boxBackgroundColor = node.style.backgroundColor ?? inheritedBackgroundColor;
if (node.style.noSelect) {
const boxX = Math.floor(x4);
const fromEdge = node.style.noSelect === "from-left-edge";
output.noSelect({
x: fromEdge ? 0 : boxX,
y: Math.floor(y3),
width: fromEdge ? boxX + Math.floor(width) : Math.floor(width),
height: Math.floor(height)
});
}
const overflowX = node.style.overflowX ?? node.style.overflow;
const overflowY = node.style.overflowY ?? node.style.overflow;
const clipHorizontally = overflowX === "hidden" || overflowX === "scroll";
const clipVertically = overflowY === "hidden" || overflowY === "scroll";
const isScrollY = overflowY === "scroll";
const needsClip = clipHorizontally || clipVertically;
let y1;
let y22;
if (needsClip) {
const x1 = clipHorizontally ? x4 + yogaNode.getComputedBorder(LayoutEdge.Left) : undefined;
const x22 = clipHorizontally ? x4 + yogaNode.getComputedWidth() - yogaNode.getComputedBorder(LayoutEdge.Right) : undefined;
y1 = clipVertically ? y3 + yogaNode.getComputedBorder(LayoutEdge.Top) : undefined;
y22 = clipVertically ? y3 + yogaNode.getComputedHeight() - yogaNode.getComputedBorder(LayoutEdge.Bottom) : undefined;
output.clip({ x1, x2: x22, y1, y2: y22 });
}
if (isScrollY) {
const padTop = yogaNode.getComputedPadding(LayoutEdge.Top);
const innerHeight = Math.max(0, (y22 ?? y3 + height) - (y1 ?? y3) - padTop - yogaNode.getComputedPadding(LayoutEdge.Bottom));
const content = node.childNodes.find((c5) => c5.yogaNode);
const contentYoga = content?.yogaNode;
const scrollHeight = contentYoga?.getComputedHeight() ?? 0;
const prevScrollHeight = node.scrollHeight ?? scrollHeight;
const prevInnerHeight = node.scrollViewportHeight ?? innerHeight;
node.scrollHeight = scrollHeight;
node.scrollViewportHeight = innerHeight;
node.scrollViewportTop = (y1 ?? y3) + padTop;
const maxScroll = Math.max(0, scrollHeight - innerHeight);
if (node.scrollAnchor) {
const anchorTop = node.scrollAnchor.el.yogaNode?.getComputedTop();
if (anchorTop != null) {
node.scrollTop = anchorTop + node.scrollAnchor.offset;
node.pendingScrollDelta = undefined;
}
node.scrollAnchor = undefined;
}
const scrollTopBeforeFollow = node.scrollTop ?? 0;
const sticky = node.stickyScroll ?? Boolean(node.attributes["stickyScroll"]);
const prevMaxScroll = Math.max(0, prevScrollHeight - prevInnerHeight);
const grew = scrollHeight >= prevScrollHeight;
const atBottom = sticky || grew && scrollTopBeforeFollow >= prevMaxScroll;
if (atBottom && (node.pendingScrollDelta ?? 0) >= 0) {
node.scrollTop = maxScroll;
node.pendingScrollDelta = undefined;
if (node.stickyScroll === false && scrollTopBeforeFollow >= prevMaxScroll) {
node.stickyScroll = true;
}
}
const followDelta = (node.scrollTop ?? 0) - scrollTopBeforeFollow;
if (followDelta > 0) {
const vpTop = node.scrollViewportTop ?? 0;
followScroll = {
delta: followDelta,
viewportTop: vpTop,
viewportBottom: vpTop + innerHeight - 1
};
}
let cur = node.scrollTop ?? 0;
const pending = node.pendingScrollDelta;
const cMin = node.scrollClampMin;
const cMax = node.scrollClampMax;
const haveClamp = cMin !== undefined && cMax !== undefined;
if (pending !== undefined && pending !== 0) {
const pastClamp = haveClamp && (pending < 0 && cur < cMin || pending > 0 && cur > cMax);
const eff = pastClamp ? Math.min(4, innerHeight >> 3) : innerHeight;
cur += isXtermJsHost() ? drainAdaptive(node, pending, eff) : drainProportional(node, pending, eff);
} else if (pending === 0) {
node.pendingScrollDelta = undefined;
}
let scrollTop = Math.max(0, Math.min(cur, maxScroll));
const clamped = haveClamp ? Math.max(cMin, Math.min(scrollTop, cMax)) : scrollTop;
node.scrollTop = scrollTop;
if (scrollTop !== cur)
node.pendingScrollDelta = undefined;
if (node.pendingScrollDelta !== undefined)
scrollDrainNode = node;
scrollTop = clamped;
if (content && contentYoga) {
const contentX = x4 + contentYoga.getComputedLeft();
const contentY = y3 + contentYoga.getComputedTop() - scrollTop;
const contentCached = nodeCache.get(content);
let hint = null;
if (contentCached && contentCached.y !== contentY) {
const delta = contentCached.y - contentY;
const regionTop = Math.floor(y3 + contentYoga.getComputedTop());
const regionBottom = regionTop + innerHeight - 1;
if (cached2?.y === y3 && cached2.height === height && innerHeight > 0 && Math.abs(delta) < innerHeight) {
hint = { top: regionTop, bottom: regionBottom, delta };
scrollHint = hint;
} else {
layoutShifted = true;
}
}
const scrollHeight2 = contentYoga.getComputedHeight();
const prevHeight = contentCached?.height ?? scrollHeight2;
const heightDelta = scrollHeight2 - prevHeight;
const safeForFastPath = !hint || heightDelta === 0 || hint.delta > 0 && heightDelta === hint.delta;
if (!safeForFastPath)
scrollHint = null;
if (hint && prevScreen && safeForFastPath) {
const { top, bottom, delta } = hint;
const w2 = Math.floor(width);
output.blit(prevScreen, Math.floor(x4), top, w2, bottom - top + 1);
output.shift(top, bottom, delta);
const edgeTop = delta > 0 ? bottom - delta + 1 : top;
const edgeBottom = delta > 0 ? bottom : top - delta - 1;
output.clear({
x: Math.floor(x4),
y: edgeTop,
width: w2,
height: edgeBottom - edgeTop + 1
});
output.clip({
x1: undefined,
x2: undefined,
y1: edgeTop,
y2: edgeBottom + 1
});
const dirtyChildren = content.dirty ? new Set(content.childNodes.filter((c5) => c5.dirty)) : null;
renderScrolledChildren(content, output, contentX, contentY, hasRemovedChild, undefined, edgeTop - contentY, edgeBottom + 1 - contentY, boxBackgroundColor, true);
output.unclip();
if (dirtyChildren) {
const edgeTopLocal = edgeTop - contentY;
const edgeBottomLocal = edgeBottom + 1 - contentY;
const spaces2 = " ".repeat(w2);
let cumHeightShift = 0;
for (const childNode of content.childNodes) {
const childElem = childNode;
const isDirty = dirtyChildren.has(childNode);
if (!isDirty && cumHeightShift === 0) {
if (nodeCache.has(childElem))
continue;
}
const cy = childElem.yogaNode;
if (!cy)
continue;
const childTop = cy.getComputedTop();
const childH = cy.getComputedHeight();
const childBottom = childTop + childH;
if (isDirty) {
const prev = nodeCache.get(childElem);
cumHeightShift += childH - (prev ? prev.height : 0);
}
if (childBottom <= scrollTop || childTop >= scrollTop + innerHeight)
continue;
if (childTop >= edgeTopLocal && childBottom <= edgeBottomLocal)
continue;
const screenY = Math.floor(contentY + childTop);
if (!isDirty) {
const childCached = nodeCache.get(childElem);
if (childCached && Math.floor(childCached.y) - delta === screenY) {
continue;
}
}
const screenBottom = Math.min(Math.floor(contentY + childBottom), Math.floor((y1 ?? y3) + padTop + innerHeight));
if (screenY < screenBottom) {
const fill = Array(screenBottom - screenY).fill(spaces2).join(`
`);
output.write(Math.floor(x4), screenY, fill);
output.clip({
x1: undefined,
x2: undefined,
y1: screenY,
y2: screenBottom
});
renderNodeToOutput(childElem, output, {
offsetX: contentX,
offsetY: contentY,
prevScreen: undefined,
inheritedBackgroundColor: boxBackgroundColor
});
output.unclip();
}
}
}
const spaces = absoluteRectsPrev.length ? " ".repeat(w2) : "";
for (const r2 of absoluteRectsPrev) {
if (r2.y >= bottom + 1 || r2.y + r2.height <= top)
continue;
const shiftedTop = Math.max(top, Math.floor(r2.y) - delta);
const shiftedBottom = Math.min(bottom + 1, Math.floor(r2.y + r2.height) - delta);
if (shiftedTop >= edgeTop && shiftedBottom <= edgeBottom + 1)
continue;
if (shiftedTop >= shiftedBottom)
continue;
const fill = Array(shiftedBottom - shiftedTop).fill(spaces).join(`
`);
output.write(Math.floor(x4), shiftedTop, fill);
output.clip({
x1: undefined,
x2: undefined,
y1: shiftedTop,
y2: shiftedBottom
});
renderScrolledChildren(content, output, contentX, contentY, hasRemovedChild, undefined, shiftedTop - contentY, shiftedBottom - contentY, boxBackgroundColor, true);
output.unclip();
}
} else {
const scrolled = contentCached && contentCached.y !== contentY;
if (scrolled && y1 !== undefined && y22 !== undefined) {
output.clear({
x: Math.floor(x4),
y: Math.floor(y1),
width: Math.floor(width),
height: Math.floor(y22 - y1)
});
}
renderScrolledChildren(content, output, contentX, contentY, hasRemovedChild, scrolled || positionChanged ? undefined : prevScreen, scrollTop, scrollTop + innerHeight, boxBackgroundColor);
}
nodeCache.set(content, {
x: contentX,
y: contentY,
width: contentYoga.getComputedWidth(),
height: contentYoga.getComputedHeight()
});
content.dirty = false;
}
} else {
const ownBackgroundColor = node.style.backgroundColor;
if (ownBackgroundColor || node.style.opaque) {
const borderLeft = yogaNode.getComputedBorder(LayoutEdge.Left);
const borderRight = yogaNode.getComputedBorder(LayoutEdge.Right);
const borderTop = yogaNode.getComputedBorder(LayoutEdge.Top);
const borderBottom = yogaNode.getComputedBorder(LayoutEdge.Bottom);
const innerWidth = Math.floor(width) - borderLeft - borderRight;
const innerHeight = Math.floor(height) - borderTop - borderBottom;
if (innerWidth > 0 && innerHeight > 0) {
const spaces = " ".repeat(innerWidth);
const fillLine = ownBackgroundColor ? applyTextStyles(spaces, { backgroundColor: ownBackgroundColor }) : spaces;
const fill = Array(innerHeight).fill(fillLine).join(`
`);
output.write(x4 + borderLeft, y3 + borderTop, fill);
}
}
renderChildren(node, output, x4, y3, hasRemovedChild, ownBackgroundColor || node.style.opaque ? undefined : prevScreen, boxBackgroundColor);
}
if (needsClip) {
output.unclip();
}
render_border_default(x4, y3, node, output);
} else if (node.nodeName === "ink-root") {
renderChildren(node, output, x4, y3, hasRemovedChild, prevScreen, inheritedBackgroundColor);
}
const rect = { x: x4, y: y3, width, height, top: yogaTop };
nodeCache.set(node, rect);
if (node.style.position === "absolute") {
absoluteRectsCur.push(rect);
}
node.dirty = false;
}
}
function renderChildren(node, output, offsetX, offsetY, hasRemovedChild, prevScreen, inheritedBackgroundColor) {
let seenDirtyChild = false;
let seenDirtyClipped = false;
for (const childNode of node.childNodes) {
const childElem = childNode;
const wasDirty = childElem.dirty;
const isAbsolute5 = childElem.style.position === "absolute";
renderNodeToOutput(childElem, output, {
offsetX,
offsetY,
prevScreen: hasRemovedChild || seenDirtyChild ? undefined : prevScreen,
skipSelfBlit: seenDirtyClipped && isAbsolute5 && !childElem.style.opaque && childElem.style.backgroundColor === undefined,
inheritedBackgroundColor
});
if (wasDirty && !seenDirtyChild) {
if (!clipsBothAxes(childElem) || isAbsolute5) {
seenDirtyChild = true;
} else {
seenDirtyClipped = true;
}
}
}
}
function clipsBothAxes(node) {
const ox = node.style.overflowX ?? node.style.overflow;
const oy = node.style.overflowY ?? node.style.overflow;
return (ox === "hidden" || ox === "scroll") && (oy === "hidden" || oy === "scroll");
}
function siblingSharesY(node, yogaNode) {
const parent = node.parentNode;
if (!parent)
return false;
const myTop = yogaNode.getComputedTop();
const siblings = parent.childNodes;
const idx = siblings.indexOf(node);
for (let i3 = idx + 1;i3 < siblings.length; i3++) {
const sib = siblings[i3].yogaNode;
if (!sib)
continue;
return sib.getComputedTop() === myTop;
}
for (let i3 = idx - 1;i3 >= 0; i3--) {
const sib = siblings[i3].yogaNode;
if (!sib)
continue;
return sib.getComputedTop() === myTop;
}
return false;
}
function blitEscapingAbsoluteDescendants(node, output, prevScreen, px, py, pw, ph) {
const pr = px + pw;
const pb = py + ph;
for (const child of node.childNodes) {
if (child.nodeName === "#text")
continue;
const elem = child;
if (elem.style.position === "absolute") {
const cached2 = nodeCache.get(elem);
if (cached2) {
absoluteRectsCur.push(cached2);
const cx = Math.floor(cached2.x);
const cy = Math.floor(cached2.y);
const cw = Math.floor(cached2.width);
const ch = Math.floor(cached2.height);
if (cx < px || cy < py || cx + cw > pr || cy + ch > pb) {
output.blit(prevScreen, cx, cy, cw, ch);
}
}
}
blitEscapingAbsoluteDescendants(elem, output, prevScreen, px, py, pw, ph);
}
}
function renderScrolledChildren(node, output, offsetX, offsetY, hasRemovedChild, prevScreen, scrollTopY, scrollBottomY, inheritedBackgroundColor, preserveCulledCache = false) {
let seenDirtyChild = false;
let cumHeightShift = 0;
for (const childNode of node.childNodes) {
const childElem = childNode;
const cy = childElem.yogaNode;
if (cy) {
const cached2 = nodeCache.get(childElem);
let top;
let height;
if (cached2?.top !== undefined && !childElem.dirty && cumHeightShift === 0) {
top = cached2.top;
height = cached2.height;
} else {
top = cy.getComputedTop();
height = cy.getComputedHeight();
if (childElem.dirty) {
cumHeightShift += height - (cached2 ? cached2.height : 0);
}
if (cached2)
cached2.top = top;
}
const bottom = top + height;
if (bottom <= scrollTopY || top >= scrollBottomY) {
if (!preserveCulledCache)
dropSubtreeCache(childElem);
continue;
}
}
const wasDirty = childElem.dirty;
renderNodeToOutput(childElem, output, {
offsetX,
offsetY,
prevScreen: hasRemovedChild || seenDirtyChild ? undefined : prevScreen,
inheritedBackgroundColor
});
if (wasDirty) {
seenDirtyChild = true;
}
}
}
function dropSubtreeCache(node) {
nodeCache.delete(node);
for (const child of node.childNodes) {
if (child.nodeName !== "#text") {
dropSubtreeCache(child);
}
}
}
var layoutShifted = false, scrollHint = null, absoluteRectsPrev, absoluteRectsCur, scrollDrainNode = null, followScroll = null, SCROLL_MIN_PER_FRAME = 4, SCROLL_INSTANT_THRESHOLD = 5, SCROLL_HIGH_PENDING = 12, SCROLL_STEP_MED = 2, SCROLL_STEP_HIGH = 3, SCROLL_MAX_PENDING = 30, OSC3 = "\x1B]", BEL3 = "\x07", render_node_to_output_default;
var init_render_node_to_output = __esm(() => {
init_colorize();
init_get_max_width();
init_node4();
init_node_cache();
init_render_border();
init_squash_text_nodes();
init_terminal();
init_widest_line();
init_wrap_text();
absoluteRectsPrev = [];
absoluteRectsCur = [];
render_node_to_output_default = renderNodeToOutput;
});
// src/ink/render-to-screen.ts
function scanPositions(screen, query) {
const lq = query.toLowerCase();
if (!lq)
return [];
const qlen = lq.length;
const w2 = screen.width;
const h3 = screen.height;
const noSelect = screen.noSelect;
const positions = [];
const t0 = performance.now();
for (let row = 0;row < h3; row++) {
const rowOff = row * w2;
let text = "";
const colOf = [];
const codeUnitToCell = [];
for (let col = 0;col < w2; col++) {
const idx = rowOff + col;
const cell = cellAtIndex(screen, idx);
if (cell.width === 2 /* SpacerTail */ || cell.width === 3 /* SpacerHead */ || noSelect[idx] === 1) {
continue;
}
const lc = cell.char.toLowerCase();
const cellIdx = colOf.length;
for (let i3 = 0;i3 < lc.length; i3++) {
codeUnitToCell.push(cellIdx);
}
text += lc;
colOf.push(col);
}
let pos = text.indexOf(lq);
while (pos >= 0) {
const startCi = codeUnitToCell[pos];
const endCi = codeUnitToCell[pos + qlen - 1];
const col = colOf[startCi];
const endCol = colOf[endCi] + 1;
positions.push({ row, col, len: endCol - col });
pos = text.indexOf(lq, pos + qlen);
}
}
timing.scan += performance.now() - t0;
return positions;
}
function applyPositionedHighlight(screen, stylePool, positions, rowOffset, currentIdx) {
if (currentIdx < 0 || currentIdx >= positions.length)
return false;
const p = positions[currentIdx];
const row = p.row + rowOffset;
if (row < 0 || row >= screen.height)
return false;
const transform2 = (id) => stylePool.withCurrentMatch(id);
const rowOff = row * screen.width;
for (let col = p.col;col < p.col + p.len; col++) {
if (col < 0 || col >= screen.width)
continue;
const cell = cellAtIndex(screen, rowOff + col);
setCellStyleId(screen, col, row, transform2(cell.styleId));
}
return true;
}
var import_constants29, timing;
var init_render_to_screen = __esm(() => {
init_debug();
init_dom();
init_focus();
init_output2();
init_reconciler();
init_render_node_to_output();
init_screen();
import_constants29 = __toESM(require_constants10(), 1);
timing = { reconcile: 0, yoga: 0, paint: 0, scan: 0, calls: 0 };
});
// src/ink/renderer.ts
function createRenderer(node, stylePool) {
let output;
return (options) => {
const { frontFrame, backFrame, isTTY, terminalWidth, terminalRows } = options;
const prevScreen = frontFrame.screen;
const backScreen = backFrame.screen;
const charPool = backScreen.charPool;
const hyperlinkPool = backScreen.hyperlinkPool;
const computedHeight = node.yogaNode?.getComputedHeight();
const computedWidth = node.yogaNode?.getComputedWidth();
const hasInvalidHeight = computedHeight === undefined || !Number.isFinite(computedHeight) || computedHeight < 0;
const hasInvalidWidth = computedWidth === undefined || !Number.isFinite(computedWidth) || computedWidth < 0;
if (!node.yogaNode || hasInvalidHeight || hasInvalidWidth) {
if (node.yogaNode && (hasInvalidHeight || hasInvalidWidth)) {
logForDebugging(`Invalid yoga dimensions: width=${computedWidth}, height=${computedHeight}, ` + `childNodes=${node.childNodes.length}, terminalWidth=${terminalWidth}, terminalRows=${terminalRows}`);
}
return {
screen: createScreen(terminalWidth, 0, stylePool, charPool, hyperlinkPool),
viewport: { width: terminalWidth, height: terminalRows },
cursor: { x: 0, y: 0, visible: true }
};
}
const width = Math.floor(node.yogaNode.getComputedWidth());
const yogaHeight = Math.floor(node.yogaNode.getComputedHeight());
const height = options.altScreen ? terminalRows : yogaHeight;
if (options.altScreen && yogaHeight > terminalRows) {
logForDebugging(`alt-screen: yoga height ${yogaHeight} > terminalRows ${terminalRows} — ` + `something is rendering outside . Overflow clipped.`, { level: "warn" });
}
const screen = backScreen ?? createScreen(width, height, stylePool, charPool, hyperlinkPool);
if (output) {
output.reset(width, height, screen);
} else {
output = new Output({ width, height, stylePool, screen });
}
resetLayoutShifted();
resetScrollHint();
resetScrollDrainNode();
const absoluteRemoved = consumeAbsoluteRemovedFlag();
render_node_to_output_default(node, output, {
prevScreen: absoluteRemoved || options.prevFrameContaminated ? undefined : prevScreen
});
const renderedScreen = output.get();
const drainNode = getScrollDrainNode();
if (drainNode)
markDirty(drainNode);
return {
scrollHint: options.altScreen ? getScrollHint() : null,
scrollDrainPending: drainNode !== null,
screen: renderedScreen,
viewport: {
width: terminalWidth,
height: options.altScreen ? terminalRows + 1 : terminalRows
},
cursor: {
x: 0,
y: options.altScreen ? Math.max(0, Math.min(screen.height, terminalRows) - 1) : screen.height,
visible: !isTTY || screen.height === 0
}
};
};
}
var init_renderer = __esm(() => {
init_debug();
init_dom();
init_node_cache();
init_output2();
init_render_node_to_output();
init_screen();
});
// src/ink/searchHighlight.ts
function applySearchHighlight(screen, query, stylePool) {
if (!query)
return false;
const lq = query.toLowerCase();
const qlen = lq.length;
const w2 = screen.width;
const noSelect = screen.noSelect;
const height = screen.height;
let applied = false;
for (let row = 0;row < height; row++) {
const rowOff = row * w2;
let text = "";
const colOf = [];
const codeUnitToCell = [];
for (let col = 0;col < w2; col++) {
const idx = rowOff + col;
const cell = cellAtIndex(screen, idx);
if (cell.width === 2 /* SpacerTail */ || cell.width === 3 /* SpacerHead */ || noSelect[idx] === 1) {
continue;
}
const lc = cell.char.toLowerCase();
const cellIdx = colOf.length;
for (let i3 = 0;i3 < lc.length; i3++) {
codeUnitToCell.push(cellIdx);
}
text += lc;
colOf.push(col);
}
let pos = text.indexOf(lq);
while (pos >= 0) {
applied = true;
const startCi = codeUnitToCell[pos];
const endCi = codeUnitToCell[pos + qlen - 1];
for (let ci = startCi;ci <= endCi; ci++) {
const col = colOf[ci];
const cell = cellAtIndex(screen, rowOff + col);
setCellStyleId(screen, col, row, stylePool.withInverse(cell.styleId));
}
pos = text.indexOf(lq, pos + qlen);
}
}
return applied;
}
var init_searchHighlight = __esm(() => {
init_screen();
});
// src/ink/useTerminalNotification.ts
function useTerminalNotification() {
const writeRaw = import_react11.useContext(TerminalWriteContext);
if (!writeRaw) {
throw new Error("useTerminalNotification must be used within TerminalWriteProvider");
}
const notifyITerm2 = import_react11.useCallback(({ message, title }) => {
const displayString = title ? `${title}:
${message}` : message;
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, `
${displayString}`)));
}, [writeRaw]);
const notifyKitty = import_react11.useCallback(({
message,
title,
id
}) => {
writeRaw(wrapForMultiplexer(osc(OSC2.KITTY, `i=${id}:d=0:p=title`, title)));
writeRaw(wrapForMultiplexer(osc(OSC2.KITTY, `i=${id}:p=body`, message)));
writeRaw(wrapForMultiplexer(osc(OSC2.KITTY, `i=${id}:d=1:a=focus`, "")));
}, [writeRaw]);
const notifyGhostty = import_react11.useCallback(({ message, title }) => {
writeRaw(wrapForMultiplexer(osc(OSC2.GHOSTTY, "notify", title, message)));
}, [writeRaw]);
const notifyBell = import_react11.useCallback(() => {
writeRaw(BEL);
}, [writeRaw]);
const progress = import_react11.useCallback((state3, percentage) => {
if (!isProgressReportingAvailable()) {
return;
}
if (!state3) {
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, ITERM2.PROGRESS, PROGRESS.CLEAR, "")));
return;
}
const pct = Math.max(0, Math.min(100, Math.round(percentage ?? 0)));
switch (state3) {
case "completed":
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, ITERM2.PROGRESS, PROGRESS.CLEAR, "")));
break;
case "error":
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, ITERM2.PROGRESS, PROGRESS.ERROR, pct)));
break;
case "indeterminate":
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, ITERM2.PROGRESS, PROGRESS.INDETERMINATE, "")));
break;
case "running":
writeRaw(wrapForMultiplexer(osc(OSC2.ITERM2, ITERM2.PROGRESS, PROGRESS.SET, pct)));
break;
case null:
break;
}
}, [writeRaw]);
return import_react11.useMemo(() => ({ notifyITerm2, notifyKitty, notifyGhostty, notifyBell, progress }), [notifyITerm2, notifyKitty, notifyGhostty, notifyBell, progress]);
}
var import_react11, TerminalWriteContext, TerminalWriteProvider;
var init_useTerminalNotification = __esm(() => {
init_terminal();
init_ansi();
init_osc();
import_react11 = __toESM(require_react(), 1);
TerminalWriteContext = import_react11.createContext(null);
TerminalWriteProvider = TerminalWriteContext.Provider;
});
// src/ink/ink.tsx
import { closeSync as closeSync3, constants as fsConstants3, openSync as openSync3, readSync as readSync2, writeSync } from "fs";
import { format as format3 } from "util";
function makeAltScreenParkPatch(terminalRows) {
return Object.freeze({
type: "stdout",
content: cursorPosition(terminalRows, 1)
});
}
class Ink {
options;
log;
terminal;
scheduleRender;
isUnmounted = false;
isPaused = false;
container;
rootNode;
focusManager;
renderer;
stylePool;
charPool;
hyperlinkPool;
exitPromise;
restoreConsole;
restoreStderr;
unsubscribeTTYHandlers;
terminalColumns;
terminalRows;
currentNode = null;
frontFrame;
backFrame;
lastPoolResetTime = performance.now();
drainTimer = null;
lastYogaCounters = {
ms: 0,
visited: 0,
measured: 0,
cacheHits: 0,
live: 0
};
altScreenParkPatch;
selection = createSelectionState();
searchHighlightQuery = "";
searchPositions = null;
selectionListeners = new Set;
hoveredNodes = new Set;
altScreenActive = false;
altScreenMouseTracking = false;
prevFrameContaminated = false;
needsEraseBeforePaint = false;
cursorDeclaration = null;
displayCursor = null;
constructor(options) {
this.options = options;
autoBind(this);
if (this.options.patchConsole) {
this.restoreConsole = this.patchConsole();
this.restoreStderr = this.patchStderr();
}
this.terminal = {
stdout: options.stdout,
stderr: options.stderr
};
this.terminalColumns = options.stdout.columns || 80;
this.terminalRows = options.stdout.rows || 24;
this.altScreenParkPatch = makeAltScreenParkPatch(this.terminalRows);
this.stylePool = new StylePool;
this.charPool = new CharPool;
this.hyperlinkPool = new HyperlinkPool;
this.frontFrame = emptyFrame(this.terminalRows, this.terminalColumns, this.stylePool, this.charPool, this.hyperlinkPool);
this.backFrame = emptyFrame(this.terminalRows, this.terminalColumns, this.stylePool, this.charPool, this.hyperlinkPool);
this.log = new LogUpdate({
isTTY: options.stdout.isTTY || false,
stylePool: this.stylePool
});
const deferredRender = () => queueMicrotask(this.onRender);
this.scheduleRender = throttle_default2(deferredRender, FRAME_INTERVAL_MS, {
leading: true,
trailing: true
});
this.isUnmounted = false;
this.unsubscribeExit = onExit(this.unmount, {
alwaysLast: false
});
if (options.stdout.isTTY) {
options.stdout.on("resize", this.handleResize);
process.on("SIGCONT", this.handleResume);
this.unsubscribeTTYHandlers = () => {
options.stdout.off("resize", this.handleResize);
process.off("SIGCONT", this.handleResume);
};
}
this.rootNode = createNode("ink-root");
this.focusManager = new FocusManager((target, event) => dispatcher.dispatchDiscrete(target, event));
this.rootNode.focusManager = this.focusManager;
this.renderer = createRenderer(this.rootNode, this.stylePool);
this.rootNode.onRender = this.scheduleRender;
this.rootNode.onImmediateRender = this.onRender;
this.rootNode.onComputeLayout = () => {
if (this.isUnmounted) {
return;
}
if (this.rootNode.yogaNode) {
const t0 = performance.now();
this.rootNode.yogaNode.setWidth(this.terminalColumns);
this.rootNode.yogaNode.calculateLayout(this.terminalColumns);
const ms = performance.now() - t0;
recordYogaMs(ms);
const c5 = getYogaCounters();
this.lastYogaCounters = {
ms,
...c5
};
}
};
this.container = reconciler_default.createContainer(this.rootNode, import_constants30.ConcurrentRoot, null, false, null, "id", noop_default, noop_default, noop_default, noop_default);
if (false) {}
}
handleResume = () => {
if (!this.options.stdout.isTTY) {
return;
}
if (this.altScreenActive) {
this.reenterAltScreen();
return;
}
this.frontFrame = emptyFrame(this.frontFrame.viewport.height, this.frontFrame.viewport.width, this.stylePool, this.charPool, this.hyperlinkPool);
this.backFrame = emptyFrame(this.backFrame.viewport.height, this.backFrame.viewport.width, this.stylePool, this.charPool, this.hyperlinkPool);
this.log.reset();
this.displayCursor = null;
};
handleResize = () => {
const cols = this.options.stdout.columns || 80;
const rows = this.options.stdout.rows || 24;
if (cols === this.terminalColumns && rows === this.terminalRows)
return;
this.terminalColumns = cols;
this.terminalRows = rows;
this.altScreenParkPatch = makeAltScreenParkPatch(this.terminalRows);
if (this.altScreenActive && !this.isPaused && this.options.stdout.isTTY) {
if (this.altScreenMouseTracking) {
this.options.stdout.write(ENABLE_MOUSE_TRACKING);
}
this.resetFramesForAltScreen();
this.needsEraseBeforePaint = true;
}
if (this.currentNode !== null) {
this.render(this.currentNode);
}
};
resolveExitPromise = () => {};
rejectExitPromise = () => {};
unsubscribeExit = () => {};
enterAlternateScreen() {
this.pause();
this.suspendStdin();
this.options.stdout.write(DISABLE_KITTY_KEYBOARD + DISABLE_MODIFY_OTHER_KEYS + (this.altScreenMouseTracking ? DISABLE_MOUSE_TRACKING : "") + (this.altScreenActive ? "" : "\x1B[?1049h") + "\x1B[?1004l" + "\x1B[0m" + "\x1B[?25h" + "\x1B[2J" + "\x1B[H");
}
exitAlternateScreen() {
this.options.stdout.write((this.altScreenActive ? ENTER_ALT_SCREEN : "") + "\x1B[2J" + "\x1B[H" + (this.altScreenMouseTracking ? ENABLE_MOUSE_TRACKING : "") + (this.altScreenActive ? "" : "\x1B[?1049l") + "\x1B[?25l");
this.resumeStdin();
if (this.altScreenActive) {
this.resetFramesForAltScreen();
} else {
this.repaint();
}
this.resume();
this.options.stdout.write("\x1B[?1004h" + (supportsExtendedKeys() ? DISABLE_KITTY_KEYBOARD + ENABLE_KITTY_KEYBOARD + ENABLE_MODIFY_OTHER_KEYS : ""));
}
onRender() {
if (this.isUnmounted || this.isPaused) {
return;
}
if (this.drainTimer !== null) {
clearTimeout(this.drainTimer);
this.drainTimer = null;
}
flushInteractionTime();
const renderStart = performance.now();
const terminalWidth = this.options.stdout.columns || 80;
const terminalRows = this.options.stdout.rows || 24;
const frame = this.renderer({
frontFrame: this.frontFrame,
backFrame: this.backFrame,
isTTY: this.options.stdout.isTTY,
terminalWidth,
terminalRows,
altScreen: this.altScreenActive,
prevFrameContaminated: this.prevFrameContaminated
});
const rendererMs = performance.now() - renderStart;
const follow = consumeFollowScroll();
if (follow && this.selection.anchor && this.selection.anchor.row >= follow.viewportTop && this.selection.anchor.row <= follow.viewportBottom) {
const {
delta,
viewportTop,
viewportBottom
} = follow;
if (this.selection.isDragging) {
if (hasSelection(this.selection)) {
captureScrolledRows(this.selection, this.frontFrame.screen, viewportTop, viewportTop + delta - 1, "above");
}
shiftAnchor(this.selection, -delta, viewportTop, viewportBottom);
} else if (!this.selection.focus || this.selection.focus.row >= viewportTop && this.selection.focus.row <= viewportBottom) {
if (hasSelection(this.selection)) {
captureScrolledRows(this.selection, this.frontFrame.screen, viewportTop, viewportTop + delta - 1, "above");
}
const cleared = shiftSelectionForFollow(this.selection, -delta, viewportTop, viewportBottom);
if (cleared)
for (const cb of this.selectionListeners)
cb();
}
}
let selActive = false;
let hlActive = false;
if (this.altScreenActive) {
selActive = hasSelection(this.selection);
if (selActive) {
applySelectionOverlay(frame.screen, this.selection, this.stylePool);
}
hlActive = applySearchHighlight(frame.screen, this.searchHighlightQuery, this.stylePool);
if (this.searchPositions) {
const sp = this.searchPositions;
const posApplied = applyPositionedHighlight(frame.screen, this.stylePool, sp.positions, sp.rowOffset, sp.currentIdx);
hlActive = hlActive || posApplied;
}
}
if (didLayoutShift() || selActive || hlActive || this.prevFrameContaminated) {
frame.screen.damage = {
x: 0,
y: 0,
width: frame.screen.width,
height: frame.screen.height
};
}
let prevFrame = this.frontFrame;
if (this.altScreenActive) {
prevFrame = {
...this.frontFrame,
cursor: ALT_SCREEN_ANCHOR_CURSOR
};
}
const tDiff = performance.now();
const diff2 = this.log.render(prevFrame, frame, this.altScreenActive, SYNC_OUTPUT_SUPPORTED);
const diffMs = performance.now() - tDiff;
this.backFrame = this.frontFrame;
this.frontFrame = frame;
if (renderStart - this.lastPoolResetTime > 5 * 60 * 1000) {
this.resetPools();
this.lastPoolResetTime = renderStart;
}
const flickers = [];
for (const patch of diff2) {
if (patch.type === "clearTerminal") {
flickers.push({
desiredHeight: frame.screen.height,
availableHeight: frame.viewport.height,
reason: patch.reason
});
if (isDebugRepaintsEnabled() && patch.debug) {
const chain = findOwnerChainAtRow(this.rootNode, patch.debug.triggerY);
logForDebugging(`[REPAINT] full reset · ${patch.reason} · row ${patch.debug.triggerY}
` + ` prev: "${patch.debug.prevLine}"
` + ` next: "${patch.debug.nextLine}"
` + ` culprit: ${chain.length ? chain.join(" < ") : "(no owner chain captured)"}`, {
level: "warn"
});
}
}
}
const tOptimize = performance.now();
const optimized = optimize(diff2);
const optimizeMs = performance.now() - tOptimize;
const hasDiff = optimized.length > 0;
if (this.altScreenActive && hasDiff) {
if (this.needsEraseBeforePaint) {
this.needsEraseBeforePaint = false;
optimized.unshift(ERASE_THEN_HOME_PATCH);
} else {
optimized.unshift(CURSOR_HOME_PATCH);
}
optimized.push(this.altScreenParkPatch);
}
const decl = this.cursorDeclaration;
const rect = decl !== null ? nodeCache.get(decl.node) : undefined;
const target = decl !== null && rect !== undefined ? {
x: rect.x + decl.relativeX,
y: rect.y + decl.relativeY
} : null;
const parked = this.displayCursor;
const targetMoved = target !== null && (parked === null || parked.x !== target.x || parked.y !== target.y);
if (hasDiff || targetMoved || target === null && parked !== null) {
if (parked !== null && !this.altScreenActive && hasDiff) {
const pdx = prevFrame.cursor.x - parked.x;
const pdy = prevFrame.cursor.y - parked.y;
if (pdx !== 0 || pdy !== 0) {
optimized.unshift({
type: "stdout",
content: cursorMove(pdx, pdy)
});
}
}
if (target !== null) {
if (this.altScreenActive) {
const row = Math.min(Math.max(target.y + 1, 1), terminalRows);
const col = Math.min(Math.max(target.x + 1, 1), terminalWidth);
optimized.push({
type: "stdout",
content: cursorPosition(row, col)
});
} else {
const from = !hasDiff && parked !== null ? parked : {
x: frame.cursor.x,
y: frame.cursor.y
};
const dx = target.x - from.x;
const dy = target.y - from.y;
if (dx !== 0 || dy !== 0) {
optimized.push({
type: "stdout",
content: cursorMove(dx, dy)
});
}
}
this.displayCursor = target;
} else {
if (parked !== null && !this.altScreenActive && !hasDiff) {
const rdx = frame.cursor.x - parked.x;
const rdy = frame.cursor.y - parked.y;
if (rdx !== 0 || rdy !== 0) {
optimized.push({
type: "stdout",
content: cursorMove(rdx, rdy)
});
}
}
this.displayCursor = null;
}
}
const tWrite = performance.now();
writeDiffToTerminal(this.terminal, optimized, this.altScreenActive && !SYNC_OUTPUT_SUPPORTED);
const writeMs = performance.now() - tWrite;
this.prevFrameContaminated = selActive || hlActive;
if (frame.scrollDrainPending) {
this.drainTimer = setTimeout(() => this.onRender(), FRAME_INTERVAL_MS >> 2);
}
const yogaMs = getLastYogaMs();
const commitMs = getLastCommitMs();
const yc = this.lastYogaCounters;
resetProfileCounters();
this.lastYogaCounters = {
ms: 0,
visited: 0,
measured: 0,
cacheHits: 0,
live: 0
};
this.options.onFrame?.({
durationMs: performance.now() - renderStart,
phases: {
renderer: rendererMs,
diff: diffMs,
optimize: optimizeMs,
write: writeMs,
patches: diff2.length,
yoga: yogaMs,
commit: commitMs,
yogaVisited: yc.visited,
yogaMeasured: yc.measured,
yogaCacheHits: yc.cacheHits,
yogaLive: yc.live
},
flickers
});
}
pause() {
reconciler_default.flushSyncFromReconciler();
this.onRender();
this.isPaused = true;
}
resume() {
this.isPaused = false;
this.onRender();
}
repaint() {
this.frontFrame = emptyFrame(this.frontFrame.viewport.height, this.frontFrame.viewport.width, this.stylePool, this.charPool, this.hyperlinkPool);
this.backFrame = emptyFrame(this.backFrame.viewport.height, this.backFrame.viewport.width, this.stylePool, this.charPool, this.hyperlinkPool);
this.log.reset();
this.displayCursor = null;
}
forceRedraw() {
if (!this.options.stdout.isTTY || this.isUnmounted || this.isPaused)
return;
this.options.stdout.write(ERASE_SCREEN + CURSOR_HOME);
if (this.altScreenActive) {
this.resetFramesForAltScreen();
} else {
this.repaint();
this.prevFrameContaminated = true;
}
this.onRender();
}
invalidatePrevFrame() {
this.prevFrameContaminated = true;
}
setAltScreenActive(active, mouseTracking = false) {
if (this.altScreenActive === active)
return;
this.altScreenActive = active;
this.altScreenMouseTracking = active && mouseTracking;
if (active) {
this.resetFramesForAltScreen();
} else {
this.repaint();
}
}
get isAltScreenActive() {
return this.altScreenActive;
}
reassertTerminalModes = (includeAltScreen = false) => {
if (!this.options.stdout.isTTY)
return;
if (this.isPaused)
return;
if (supportsExtendedKeys()) {
this.options.stdout.write(DISABLE_KITTY_KEYBOARD + ENABLE_KITTY_KEYBOARD + ENABLE_MODIFY_OTHER_KEYS);
}
if (!this.altScreenActive)
return;
if (this.altScreenMouseTracking) {
this.options.stdout.write(ENABLE_MOUSE_TRACKING);
}
if (includeAltScreen) {
this.reenterAltScreen();
}
};
detachForShutdown() {
this.isUnmounted = true;
this.scheduleRender.cancel?.();
const stdin = this.options.stdin;
this.drainStdin();
if (stdin.isTTY && stdin.isRaw && stdin.setRawMode) {
stdin.setRawMode(false);
}
}
drainStdin() {
drainStdin(this.options.stdin);
}
reenterAltScreen() {
this.options.stdout.write(ENTER_ALT_SCREEN + ERASE_SCREEN + CURSOR_HOME + (this.altScreenMouseTracking ? ENABLE_MOUSE_TRACKING : ""));
this.resetFramesForAltScreen();
}
resetFramesForAltScreen() {
const rows = this.terminalRows;
const cols = this.terminalColumns;
const blank = () => ({
screen: createScreen(cols, rows, this.stylePool, this.charPool, this.hyperlinkPool),
viewport: {
width: cols,
height: rows + 1
},
cursor: {
x: 0,
y: 0,
visible: true
}
});
this.frontFrame = blank();
this.backFrame = blank();
this.log.reset();
this.displayCursor = null;
this.prevFrameContaminated = true;
}
copySelectionNoClear() {
if (!hasSelection(this.selection))
return "";
const text = getSelectedText(this.selection, this.frontFrame.screen);
if (text) {
setClipboard(text).then((raw) => {
if (raw)
this.options.stdout.write(raw);
});
}
return text;
}
copySelection() {
if (!hasSelection(this.selection))
return "";
const text = this.copySelectionNoClear();
clearSelection(this.selection);
this.notifySelectionChange();
return text;
}
clearTextSelection() {
if (!hasSelection(this.selection))
return;
clearSelection(this.selection);
this.notifySelectionChange();
}
setSearchHighlight(query) {
if (this.searchHighlightQuery === query)
return;
this.searchHighlightQuery = query;
this.scheduleRender();
}
scanElementSubtree(el) {
if (!this.searchHighlightQuery || !el.yogaNode)
return [];
const width = Math.ceil(el.yogaNode.getComputedWidth());
const height = Math.ceil(el.yogaNode.getComputedHeight());
if (width <= 0 || height <= 0)
return [];
const elLeft = el.yogaNode.getComputedLeft();
const elTop = el.yogaNode.getComputedTop();
const screen = createScreen(width, height, this.stylePool, this.charPool, this.hyperlinkPool);
const output = new Output({
width,
height,
stylePool: this.stylePool,
screen
});
render_node_to_output_default(el, output, {
offsetX: -elLeft,
offsetY: -elTop,
prevScreen: undefined
});
const rendered = output.get();
markDirty(el);
const positions = scanPositions(rendered, this.searchHighlightQuery);
logForDebugging(`scanElementSubtree: q='${this.searchHighlightQuery}' ` + `el=${width}x${height}@(${elLeft},${elTop}) n=${positions.length} ` + `[${positions.slice(0, 10).map((p) => `${p.row}:${p.col}`).join(",")}` + `${positions.length > 10 ? ",…" : ""}]`);
return positions;
}
setSearchPositions(state3) {
this.searchPositions = state3;
this.scheduleRender();
}
setSelectionBgColor(color) {
const wrapped = colorize("\x00", color, "background");
const nul = wrapped.indexOf("\x00");
if (nul <= 0 || nul === wrapped.length - 1) {
this.stylePool.setSelectionBg(null);
return;
}
this.stylePool.setSelectionBg({
type: "ansi",
code: wrapped.slice(0, nul),
endCode: wrapped.slice(nul + 1)
});
}
captureScrolledRows(firstRow, lastRow, side) {
captureScrolledRows(this.selection, this.frontFrame.screen, firstRow, lastRow, side);
}
shiftSelectionForScroll(dRow, minRow, maxRow) {
const hadSel = hasSelection(this.selection);
shiftSelection(this.selection, dRow, minRow, maxRow, this.frontFrame.screen.width);
if (hadSel && !hasSelection(this.selection)) {
this.notifySelectionChange();
}
}
moveSelectionFocus(move) {
if (!this.altScreenActive)
return;
const {
focus
} = this.selection;
if (!focus)
return;
const {
width,
height
} = this.frontFrame.screen;
const maxCol = width - 1;
const maxRow = height - 1;
let {
col,
row
} = focus;
switch (move) {
case "left":
if (col > 0)
col--;
else if (row > 0) {
col = maxCol;
row--;
}
break;
case "right":
if (col < maxCol)
col++;
else if (row < maxRow) {
col = 0;
row++;
}
break;
case "up":
if (row > 0)
row--;
break;
case "down":
if (row < maxRow)
row++;
break;
case "lineStart":
col = 0;
break;
case "lineEnd":
col = maxCol;
break;
}
if (col === focus.col && row === focus.row)
return;
moveFocus(this.selection, col, row);
this.notifySelectionChange();
}
hasTextSelection() {
return hasSelection(this.selection);
}
subscribeToSelectionChange(cb) {
this.selectionListeners.add(cb);
return () => this.selectionListeners.delete(cb);
}
notifySelectionChange() {
this.onRender();
for (const cb of this.selectionListeners)
cb();
}
dispatchClick(col, row) {
if (!this.altScreenActive)
return false;
const blank = isEmptyCellAt(this.frontFrame.screen, col, row);
return dispatchClick(this.rootNode, col, row, blank);
}
dispatchHover(col, row) {
if (!this.altScreenActive)
return;
dispatchHover(this.rootNode, col, row, this.hoveredNodes);
}
dispatchKeyboardEvent(parsedKey) {
const target = this.focusManager.activeElement ?? this.rootNode;
const event = new KeyboardEvent(parsedKey);
dispatcher.dispatchDiscrete(target, event);
if (!event.defaultPrevented && parsedKey.name === "tab" && !parsedKey.ctrl && !parsedKey.meta) {
if (parsedKey.shift) {
this.focusManager.focusPrevious(this.rootNode);
} else {
this.focusManager.focusNext(this.rootNode);
}
}
}
getHyperlinkAt(col, row) {
if (!this.altScreenActive)
return;
const screen = this.frontFrame.screen;
const cell = cellAt(screen, col, row);
let url3 = cell?.hyperlink;
if (!url3 && cell?.width === 2 /* SpacerTail */ && col > 0) {
url3 = cellAt(screen, col - 1, row)?.hyperlink;
}
return url3 ?? findPlainTextUrlAt(screen, col, row);
}
onHyperlinkClick;
openHyperlink(url3) {
this.onHyperlinkClick?.(url3);
}
handleMultiClick(col, row, count3) {
if (!this.altScreenActive)
return;
const screen = this.frontFrame.screen;
startSelection(this.selection, col, row);
if (count3 === 2)
selectWordAt(this.selection, screen, col, row);
else
selectLineAt(this.selection, screen, row);
if (!this.selection.focus)
this.selection.focus = this.selection.anchor;
this.notifySelectionChange();
}
handleSelectionDrag(col, row) {
if (!this.altScreenActive)
return;
const sel = this.selection;
if (sel.anchorSpan) {
extendSelection(sel, this.frontFrame.screen, col, row);
} else {
updateSelection(sel, col, row);
}
this.notifySelectionChange();
}
stdinListeners = [];
wasRawMode = false;
suspendStdin() {
const stdin = this.options.stdin;
if (!stdin.isTTY) {
return;
}
const readableListeners = stdin.listeners("readable");
logForDebugging(`[stdin] suspendStdin: removing ${readableListeners.length} readable listener(s), wasRawMode=${stdin.isRaw ?? false}`);
readableListeners.forEach((listener) => {
this.stdinListeners.push({
event: "readable",
listener
});
stdin.removeListener("readable", listener);
});
const stdinWithRaw = stdin;
if (stdinWithRaw.isRaw && stdinWithRaw.setRawMode) {
stdinWithRaw.setRawMode(false);
this.wasRawMode = true;
}
}
resumeStdin() {
const stdin = this.options.stdin;
if (!stdin.isTTY) {
return;
}
if (this.stdinListeners.length === 0 && !this.wasRawMode) {
logForDebugging("[stdin] resumeStdin: called with no stored listeners and wasRawMode=false (possible desync)", {
level: "warn"
});
}
logForDebugging(`[stdin] resumeStdin: re-attaching ${this.stdinListeners.length} listener(s), wasRawMode=${this.wasRawMode}`);
this.stdinListeners.forEach(({
event,
listener
}) => {
stdin.addListener(event, listener);
});
this.stdinListeners = [];
if (this.wasRawMode) {
const stdinWithRaw = stdin;
if (stdinWithRaw.setRawMode) {
stdinWithRaw.setRawMode(true);
}
this.wasRawMode = false;
}
}
writeRaw(data) {
this.options.stdout.write(data);
}
setCursorDeclaration = (decl, clearIfNode) => {
if (decl === null && clearIfNode !== undefined && this.cursorDeclaration?.node !== clearIfNode) {
return;
}
this.cursorDeclaration = decl;
};
render(node) {
this.currentNode = node;
const tree = /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(App, {
stdin: this.options.stdin,
stdout: this.options.stdout,
stderr: this.options.stderr,
exitOnCtrlC: this.options.exitOnCtrlC,
onExit: this.unmount,
terminalColumns: this.terminalColumns,
terminalRows: this.terminalRows,
selection: this.selection,
onSelectionChange: this.notifySelectionChange,
onClickAt: this.dispatchClick,
onHoverAt: this.dispatchHover,
getHyperlinkAt: this.getHyperlinkAt,
onOpenHyperlink: this.openHyperlink,
onMultiClick: this.handleMultiClick,
onSelectionDrag: this.handleSelectionDrag,
onStdinResume: this.reassertTerminalModes,
onCursorDeclaration: this.setCursorDeclaration,
dispatchKeyboardEvent: this.dispatchKeyboardEvent,
children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(TerminalWriteProvider, {
value: this.writeRaw,
children: node
}, undefined, false, undefined, this)
}, undefined, false, undefined, this);
reconciler_default.updateContainerSync(tree, this.container, null, noop_default);
reconciler_default.flushSyncWork();
}
unmount(error52) {
if (this.isUnmounted) {
return;
}
this.onRender();
this.unsubscribeExit();
if (typeof this.restoreConsole === "function") {
this.restoreConsole();
}
this.restoreStderr?.();
this.unsubscribeTTYHandlers?.();
const diff2 = this.log.renderPreviousOutput_DEPRECATED(this.frontFrame);
writeDiffToTerminal(this.terminal, optimize(diff2));
if (this.options.stdout.isTTY) {
if (this.altScreenActive) {
writeSync(1, EXIT_ALT_SCREEN);
}
writeSync(1, DISABLE_MOUSE_TRACKING);
this.drainStdin();
writeSync(1, DISABLE_MODIFY_OTHER_KEYS);
writeSync(1, DISABLE_KITTY_KEYBOARD);
writeSync(1, DFE);
writeSync(1, DBP);
writeSync(1, SHOW_CURSOR);
writeSync(1, CLEAR_ITERM2_PROGRESS);
if (supportsTabStatus())
writeSync(1, wrapForMultiplexer(CLEAR_TAB_STATUS));
}
this.isUnmounted = true;
this.scheduleRender.cancel?.();
if (this.drainTimer !== null) {
clearTimeout(this.drainTimer);
this.drainTimer = null;
}
reconciler_default.updateContainerSync(null, this.container, null, noop_default);
reconciler_default.flushSyncWork();
instances_default.delete(this.options.stdout);
this.rootNode.yogaNode?.free();
this.rootNode.yogaNode = undefined;
if (error52 instanceof Error) {
this.rejectExitPromise(error52);
} else {
this.resolveExitPromise();
}
}
async waitUntilExit() {
this.exitPromise ||= new Promise((resolve9, reject) => {
this.resolveExitPromise = resolve9;
this.rejectExitPromise = reject;
});
return this.exitPromise;
}
resetLineCount() {
if (this.options.stdout.isTTY) {
this.backFrame = this.frontFrame;
this.frontFrame = emptyFrame(this.frontFrame.viewport.height, this.frontFrame.viewport.width, this.stylePool, this.charPool, this.hyperlinkPool);
this.log.reset();
this.displayCursor = null;
}
}
resetPools() {
this.charPool = new CharPool;
this.hyperlinkPool = new HyperlinkPool;
migrateScreenPools(this.frontFrame.screen, this.charPool, this.hyperlinkPool);
this.backFrame.screen.charPool = this.charPool;
this.backFrame.screen.hyperlinkPool = this.hyperlinkPool;
}
patchConsole() {
const con = console;
const originals = {};
const toDebug = (...args) => logForDebugging(`console.log: ${format3(...args)}`);
const toError2 = (...args) => logError2(new Error(`console.error: ${format3(...args)}`));
for (const m3 of CONSOLE_STDOUT_METHODS) {
originals[m3] = con[m3];
con[m3] = toDebug;
}
for (const m3 of CONSOLE_STDERR_METHODS) {
originals[m3] = con[m3];
con[m3] = toError2;
}
originals.assert = con.assert;
con.assert = (condition, ...args) => {
if (!condition)
toError2(...args);
};
return () => Object.assign(con, originals);
}
patchStderr() {
const stderr = process.stderr;
const originalWrite = stderr.write;
let reentered = false;
const intercept = (chunk, encodingOrCb, cb) => {
const callback = typeof encodingOrCb === "function" ? encodingOrCb : cb;
if (reentered) {
const encoding = typeof encodingOrCb === "string" ? encodingOrCb : undefined;
return originalWrite.call(stderr, chunk, encoding, callback);
}
reentered = true;
try {
const text = typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8");
logForDebugging(`[stderr] ${text}`, {
level: "warn"
});
if (this.altScreenActive && !this.isUnmounted && !this.isPaused) {
this.prevFrameContaminated = true;
this.scheduleRender();
}
} finally {
reentered = false;
callback?.();
}
return true;
};
stderr.write = intercept;
return () => {
if (stderr.write === intercept) {
stderr.write = originalWrite;
}
};
}
}
function drainStdin(stdin = process.stdin) {
if (!stdin.isTTY)
return;
try {
while (stdin.read() !== null) {}
} catch {}
if (process.platform === "win32")
return;
const tty5 = stdin;
const wasRaw = tty5.isRaw === true;
let fd = -1;
try {
if (!wasRaw)
tty5.setRawMode?.(true);
fd = openSync3("/dev/tty", fsConstants3.O_RDONLY | fsConstants3.O_NONBLOCK);
const buf = Buffer.alloc(1024);
for (let i3 = 0;i3 < 64; i3++) {
if (readSync2(fd, buf, 0, buf.length, null) <= 0)
break;
}
} catch {} finally {
if (fd >= 0) {
try {
closeSync3(fd);
} catch {}
}
if (!wasRaw) {
try {
tty5.setRawMode?.(false);
} catch {}
}
}
}
var import_constants30, jsx_dev_runtime8, ALT_SCREEN_ANCHOR_CURSOR, CURSOR_HOME_PATCH, ERASE_THEN_HOME_PATCH, CONSOLE_STDOUT_METHODS, CONSOLE_STDERR_METHODS;
var init_ink = __esm(() => {
init_noop();
init_throttle2();
init_mjs();
init_state();
init_yoga_layout();
init_debug();
init_log3();
init_colorize();
init_App();
init_dom();
init_keyboard_event();
init_focus();
init_frame();
init_hit_test();
init_instances();
init_log_update();
init_node_cache();
init_output2();
init_reconciler();
init_render_node_to_output();
init_render_to_screen();
init_renderer();
init_screen();
init_searchHighlight();
init_selection();
init_terminal();
init_csi();
init_dec();
init_osc();
init_useTerminalNotification();
import_constants30 = __toESM(require_constants10(), 1);
jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
ALT_SCREEN_ANCHOR_CURSOR = Object.freeze({
x: 0,
y: 0,
visible: false
});
CURSOR_HOME_PATCH = Object.freeze({
type: "stdout",
content: CURSOR_HOME
});
ERASE_THEN_HOME_PATCH = Object.freeze({
type: "stdout",
content: ERASE_SCREEN + CURSOR_HOME
});
CONSOLE_STDOUT_METHODS = ["log", "info", "debug", "dir", "dirxml", "count", "countReset", "group", "groupCollapsed", "groupEnd", "table", "time", "timeEnd", "timeLog"];
CONSOLE_STDERR_METHODS = ["warn", "error", "trace"];
});
// src/ink/root.ts
import { Stream as Stream5 } from "stream";
async function createRoot({
stdout = process.stdout,
stdin = process.stdin,
stderr = process.stderr,
exitOnCtrlC = true,
patchConsole = true,
onFrame
} = {}) {
await Promise.resolve();
const instance = new Ink({
stdout,
stdin,
stderr,
exitOnCtrlC,
patchConsole,
onFrame
});
instances_default.set(stdout, instance);
return {
render: (node) => instance.render(node),
unmount: () => instance.unmount(),
waitUntilExit: () => instance.waitUntilExit()
};
}
var renderSync = (node, options) => {
const opts = getOptions(options);
const inkOptions = {
stdout: process.stdout,
stdin: process.stdin,
stderr: process.stderr,
exitOnCtrlC: true,
patchConsole: true,
...opts
};
const instance = getInstance(inkOptions.stdout, () => new Ink(inkOptions));
instance.render(node);
return {
rerender: instance.render,
unmount() {
instance.unmount();
},
waitUntilExit: instance.waitUntilExit,
cleanup: () => instances_default.delete(inkOptions.stdout)
};
}, wrappedRender = async (node, options) => {
await Promise.resolve();
const instance = renderSync(node, options);
logForDebugging(`[render] first ink render: ${Math.round(process.uptime() * 1000)}ms since process start`);
return instance;
}, root_default, getOptions = (stdout = {}) => {
if (stdout instanceof Stream5) {
return {
stdout,
stdin: process.stdin
};
}
return stdout;
}, getInstance = (stdout, createInstance2) => {
let instance = instances_default.get(stdout);
if (!instance) {
instance = createInstance2();
instances_default.set(stdout, instance);
}
return instance;
};
var init_root = __esm(() => {
init_debug();
init_ink();
init_instances();
root_default = wrappedRender;
});
// src/utils/theme.ts
function getTheme(themeName) {
switch (themeName) {
case "light":
return lightTheme;
case "light-ansi":
return lightAnsiTheme;
case "dark-ansi":
return darkAnsiTheme;
case "light-daltonized":
return lightDaltonizedTheme;
case "dark-daltonized":
return darkDaltonizedTheme;
default:
return darkTheme;
}
}
function themeColorToAnsi(themeColor) {
const rgbMatch = themeColor.match(/rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)/);
if (rgbMatch) {
const r2 = parseInt(rgbMatch[1], 10);
const g2 = parseInt(rgbMatch[2], 10);
const b2 = parseInt(rgbMatch[3], 10);
const colored = chalkForChart.rgb(r2, g2, b2)("X");
return colored.slice(0, colored.indexOf("X"));
}
return "\x1B[35m";
}
var THEME_NAMES, THEME_SETTINGS, lightTheme, lightAnsiTheme, darkAnsiTheme, lightDaltonizedTheme, darkTheme, darkDaltonizedTheme, chalkForChart;
var init_theme = __esm(() => {
init_source();
init_env();
THEME_NAMES = [
"dark",
"light",
"light-daltonized",
"dark-daltonized",
"light-ansi",
"dark-ansi"
];
THEME_SETTINGS = ["auto", ...THEME_NAMES];
lightTheme = {
autoAccept: "rgb(135,0,255)",
bashBorder: "rgb(255,0,135)",
claude: "rgb(215,119,87)",
claudeShimmer: "rgb(245,149,117)",
claudeBlue_FOR_SYSTEM_SPINNER: "rgb(87,105,247)",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "rgb(117,135,255)",
permission: "rgb(87,105,247)",
permissionShimmer: "rgb(137,155,255)",
planMode: "rgb(0,102,102)",
ide: "rgb(71,130,200)",
promptBorder: "rgb(153,153,153)",
promptBorderShimmer: "rgb(183,183,183)",
text: "rgb(0,0,0)",
inverseText: "rgb(255,255,255)",
inactive: "rgb(102,102,102)",
inactiveShimmer: "rgb(142,142,142)",
subtle: "rgb(175,175,175)",
suggestion: "rgb(87,105,247)",
remember: "rgb(0,0,255)",
background: "rgb(0,153,153)",
success: "rgb(44,122,57)",
error: "rgb(171,43,63)",
warning: "rgb(150,108,30)",
merged: "rgb(135,0,255)",
warningShimmer: "rgb(200,158,80)",
diffAdded: "rgb(105,219,124)",
diffRemoved: "rgb(255,168,180)",
diffAddedDimmed: "rgb(199,225,203)",
diffRemovedDimmed: "rgb(253,210,216)",
diffAddedWord: "rgb(47,157,68)",
diffRemovedWord: "rgb(209,69,75)",
red_FOR_SUBAGENTS_ONLY: "rgb(220,38,38)",
blue_FOR_SUBAGENTS_ONLY: "rgb(37,99,235)",
green_FOR_SUBAGENTS_ONLY: "rgb(22,163,74)",
yellow_FOR_SUBAGENTS_ONLY: "rgb(202,138,4)",
purple_FOR_SUBAGENTS_ONLY: "rgb(147,51,234)",
orange_FOR_SUBAGENTS_ONLY: "rgb(234,88,12)",
pink_FOR_SUBAGENTS_ONLY: "rgb(219,39,119)",
cyan_FOR_SUBAGENTS_ONLY: "rgb(8,145,178)",
professionalBlue: "rgb(106,155,204)",
chromeYellow: "rgb(251,188,4)",
clawd_body: "rgb(215,119,87)",
clawd_background: "rgb(0,0,0)",
userMessageBackground: "rgb(240, 240, 240)",
userMessageBackgroundHover: "rgb(252, 252, 252)",
messageActionsBackground: "rgb(232, 236, 244)",
selectionBg: "rgb(180, 213, 255)",
bashMessageBackgroundColor: "rgb(250, 245, 250)",
memoryBackgroundColor: "rgb(230, 245, 250)",
rate_limit_fill: "rgb(87,105,247)",
rate_limit_empty: "rgb(39,47,111)",
fastMode: "rgb(255,106,0)",
fastModeShimmer: "rgb(255,150,50)",
briefLabelYou: "rgb(37,99,235)",
briefLabelClaude: "rgb(215,119,87)",
rainbow_red: "rgb(235,95,87)",
rainbow_orange: "rgb(245,139,87)",
rainbow_yellow: "rgb(250,195,95)",
rainbow_green: "rgb(145,200,130)",
rainbow_blue: "rgb(130,170,220)",
rainbow_indigo: "rgb(155,130,200)",
rainbow_violet: "rgb(200,130,180)",
rainbow_red_shimmer: "rgb(250,155,147)",
rainbow_orange_shimmer: "rgb(255,185,137)",
rainbow_yellow_shimmer: "rgb(255,225,155)",
rainbow_green_shimmer: "rgb(185,230,180)",
rainbow_blue_shimmer: "rgb(180,205,240)",
rainbow_indigo_shimmer: "rgb(195,180,230)",
rainbow_violet_shimmer: "rgb(230,180,210)"
};
lightAnsiTheme = {
autoAccept: "ansi:magenta",
bashBorder: "ansi:magenta",
claude: "ansi:redBright",
claudeShimmer: "ansi:yellowBright",
claudeBlue_FOR_SYSTEM_SPINNER: "ansi:blue",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "ansi:blueBright",
permission: "ansi:blue",
permissionShimmer: "ansi:blueBright",
planMode: "ansi:cyan",
ide: "ansi:blueBright",
promptBorder: "ansi:white",
promptBorderShimmer: "ansi:whiteBright",
text: "ansi:black",
inverseText: "ansi:white",
inactive: "ansi:blackBright",
inactiveShimmer: "ansi:white",
subtle: "ansi:blackBright",
suggestion: "ansi:blue",
remember: "ansi:blue",
background: "ansi:cyan",
success: "ansi:green",
error: "ansi:red",
warning: "ansi:yellow",
merged: "ansi:magenta",
warningShimmer: "ansi:yellowBright",
diffAdded: "ansi:green",
diffRemoved: "ansi:red",
diffAddedDimmed: "ansi:green",
diffRemovedDimmed: "ansi:red",
diffAddedWord: "ansi:greenBright",
diffRemovedWord: "ansi:redBright",
red_FOR_SUBAGENTS_ONLY: "ansi:red",
blue_FOR_SUBAGENTS_ONLY: "ansi:blue",
green_FOR_SUBAGENTS_ONLY: "ansi:green",
yellow_FOR_SUBAGENTS_ONLY: "ansi:yellow",
purple_FOR_SUBAGENTS_ONLY: "ansi:magenta",
orange_FOR_SUBAGENTS_ONLY: "ansi:redBright",
pink_FOR_SUBAGENTS_ONLY: "ansi:magentaBright",
cyan_FOR_SUBAGENTS_ONLY: "ansi:cyan",
professionalBlue: "ansi:blueBright",
chromeYellow: "ansi:yellow",
clawd_body: "ansi:redBright",
clawd_background: "ansi:black",
userMessageBackground: "ansi:white",
userMessageBackgroundHover: "ansi:whiteBright",
messageActionsBackground: "ansi:white",
selectionBg: "ansi:cyan",
bashMessageBackgroundColor: "ansi:whiteBright",
memoryBackgroundColor: "ansi:white",
rate_limit_fill: "ansi:yellow",
rate_limit_empty: "ansi:black",
fastMode: "ansi:red",
fastModeShimmer: "ansi:redBright",
briefLabelYou: "ansi:blue",
briefLabelClaude: "ansi:redBright",
rainbow_red: "ansi:red",
rainbow_orange: "ansi:redBright",
rainbow_yellow: "ansi:yellow",
rainbow_green: "ansi:green",
rainbow_blue: "ansi:cyan",
rainbow_indigo: "ansi:blue",
rainbow_violet: "ansi:magenta",
rainbow_red_shimmer: "ansi:redBright",
rainbow_orange_shimmer: "ansi:yellow",
rainbow_yellow_shimmer: "ansi:yellowBright",
rainbow_green_shimmer: "ansi:greenBright",
rainbow_blue_shimmer: "ansi:cyanBright",
rainbow_indigo_shimmer: "ansi:blueBright",
rainbow_violet_shimmer: "ansi:magentaBright"
};
darkAnsiTheme = {
autoAccept: "ansi:magentaBright",
bashBorder: "ansi:magentaBright",
claude: "ansi:redBright",
claudeShimmer: "ansi:yellowBright",
claudeBlue_FOR_SYSTEM_SPINNER: "ansi:blueBright",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "ansi:blueBright",
permission: "ansi:blueBright",
permissionShimmer: "ansi:blueBright",
planMode: "ansi:cyanBright",
ide: "ansi:blue",
promptBorder: "ansi:white",
promptBorderShimmer: "ansi:whiteBright",
text: "ansi:whiteBright",
inverseText: "ansi:black",
inactive: "ansi:white",
inactiveShimmer: "ansi:whiteBright",
subtle: "ansi:white",
suggestion: "ansi:blueBright",
remember: "ansi:blueBright",
background: "ansi:cyanBright",
success: "ansi:greenBright",
error: "ansi:redBright",
warning: "ansi:yellowBright",
merged: "ansi:magentaBright",
warningShimmer: "ansi:yellowBright",
diffAdded: "ansi:green",
diffRemoved: "ansi:red",
diffAddedDimmed: "ansi:green",
diffRemovedDimmed: "ansi:red",
diffAddedWord: "ansi:greenBright",
diffRemovedWord: "ansi:redBright",
red_FOR_SUBAGENTS_ONLY: "ansi:redBright",
blue_FOR_SUBAGENTS_ONLY: "ansi:blueBright",
green_FOR_SUBAGENTS_ONLY: "ansi:greenBright",
yellow_FOR_SUBAGENTS_ONLY: "ansi:yellowBright",
purple_FOR_SUBAGENTS_ONLY: "ansi:magentaBright",
orange_FOR_SUBAGENTS_ONLY: "ansi:redBright",
pink_FOR_SUBAGENTS_ONLY: "ansi:magentaBright",
cyan_FOR_SUBAGENTS_ONLY: "ansi:cyanBright",
professionalBlue: "rgb(106,155,204)",
chromeYellow: "ansi:yellowBright",
clawd_body: "ansi:redBright",
clawd_background: "ansi:black",
userMessageBackground: "ansi:blackBright",
userMessageBackgroundHover: "ansi:white",
messageActionsBackground: "ansi:blackBright",
selectionBg: "ansi:blue",
bashMessageBackgroundColor: "ansi:black",
memoryBackgroundColor: "ansi:blackBright",
rate_limit_fill: "ansi:yellow",
rate_limit_empty: "ansi:white",
fastMode: "ansi:redBright",
fastModeShimmer: "ansi:redBright",
briefLabelYou: "ansi:blueBright",
briefLabelClaude: "ansi:redBright",
rainbow_red: "ansi:red",
rainbow_orange: "ansi:redBright",
rainbow_yellow: "ansi:yellow",
rainbow_green: "ansi:green",
rainbow_blue: "ansi:cyan",
rainbow_indigo: "ansi:blue",
rainbow_violet: "ansi:magenta",
rainbow_red_shimmer: "ansi:redBright",
rainbow_orange_shimmer: "ansi:yellow",
rainbow_yellow_shimmer: "ansi:yellowBright",
rainbow_green_shimmer: "ansi:greenBright",
rainbow_blue_shimmer: "ansi:cyanBright",
rainbow_indigo_shimmer: "ansi:blueBright",
rainbow_violet_shimmer: "ansi:magentaBright"
};
lightDaltonizedTheme = {
autoAccept: "rgb(135,0,255)",
bashBorder: "rgb(0,102,204)",
claude: "rgb(255,153,51)",
claudeShimmer: "rgb(255,183,101)",
claudeBlue_FOR_SYSTEM_SPINNER: "rgb(51,102,255)",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "rgb(101,152,255)",
permission: "rgb(51,102,255)",
permissionShimmer: "rgb(101,152,255)",
planMode: "rgb(51,102,102)",
ide: "rgb(71,130,200)",
promptBorder: "rgb(153,153,153)",
promptBorderShimmer: "rgb(183,183,183)",
text: "rgb(0,0,0)",
inverseText: "rgb(255,255,255)",
inactive: "rgb(102,102,102)",
inactiveShimmer: "rgb(142,142,142)",
subtle: "rgb(175,175,175)",
suggestion: "rgb(51,102,255)",
remember: "rgb(51,102,255)",
background: "rgb(0,153,153)",
success: "rgb(0,102,153)",
error: "rgb(204,0,0)",
warning: "rgb(255,153,0)",
merged: "rgb(135,0,255)",
warningShimmer: "rgb(255,183,50)",
diffAdded: "rgb(153,204,255)",
diffRemoved: "rgb(255,204,204)",
diffAddedDimmed: "rgb(209,231,253)",
diffRemovedDimmed: "rgb(255,233,233)",
diffAddedWord: "rgb(51,102,204)",
diffRemovedWord: "rgb(153,51,51)",
red_FOR_SUBAGENTS_ONLY: "rgb(204,0,0)",
blue_FOR_SUBAGENTS_ONLY: "rgb(0,102,204)",
green_FOR_SUBAGENTS_ONLY: "rgb(0,204,0)",
yellow_FOR_SUBAGENTS_ONLY: "rgb(255,204,0)",
purple_FOR_SUBAGENTS_ONLY: "rgb(128,0,128)",
orange_FOR_SUBAGENTS_ONLY: "rgb(255,128,0)",
pink_FOR_SUBAGENTS_ONLY: "rgb(255,102,178)",
cyan_FOR_SUBAGENTS_ONLY: "rgb(0,178,178)",
professionalBlue: "rgb(106,155,204)",
chromeYellow: "rgb(251,188,4)",
clawd_body: "rgb(215,119,87)",
clawd_background: "rgb(0,0,0)",
userMessageBackground: "rgb(220, 220, 220)",
userMessageBackgroundHover: "rgb(232, 232, 232)",
messageActionsBackground: "rgb(210, 216, 226)",
selectionBg: "rgb(180, 213, 255)",
bashMessageBackgroundColor: "rgb(250, 245, 250)",
memoryBackgroundColor: "rgb(230, 245, 250)",
rate_limit_fill: "rgb(51,102,255)",
rate_limit_empty: "rgb(23,46,114)",
fastMode: "rgb(255,106,0)",
fastModeShimmer: "rgb(255,150,50)",
briefLabelYou: "rgb(37,99,235)",
briefLabelClaude: "rgb(255,153,51)",
rainbow_red: "rgb(235,95,87)",
rainbow_orange: "rgb(245,139,87)",
rainbow_yellow: "rgb(250,195,95)",
rainbow_green: "rgb(145,200,130)",
rainbow_blue: "rgb(130,170,220)",
rainbow_indigo: "rgb(155,130,200)",
rainbow_violet: "rgb(200,130,180)",
rainbow_red_shimmer: "rgb(250,155,147)",
rainbow_orange_shimmer: "rgb(255,185,137)",
rainbow_yellow_shimmer: "rgb(255,225,155)",
rainbow_green_shimmer: "rgb(185,230,180)",
rainbow_blue_shimmer: "rgb(180,205,240)",
rainbow_indigo_shimmer: "rgb(195,180,230)",
rainbow_violet_shimmer: "rgb(230,180,210)"
};
darkTheme = {
autoAccept: "rgb(175,135,255)",
bashBorder: "rgb(253,93,177)",
claude: "rgb(215,119,87)",
claudeShimmer: "rgb(235,159,127)",
claudeBlue_FOR_SYSTEM_SPINNER: "rgb(147,165,255)",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "rgb(177,195,255)",
permission: "rgb(177,185,249)",
permissionShimmer: "rgb(207,215,255)",
planMode: "rgb(72,150,140)",
ide: "rgb(71,130,200)",
promptBorder: "rgb(136,136,136)",
promptBorderShimmer: "rgb(166,166,166)",
text: "rgb(255,255,255)",
inverseText: "rgb(0,0,0)",
inactive: "rgb(153,153,153)",
inactiveShimmer: "rgb(193,193,193)",
subtle: "rgb(80,80,80)",
suggestion: "rgb(177,185,249)",
remember: "rgb(177,185,249)",
background: "rgb(0,204,204)",
success: "rgb(78,186,101)",
error: "rgb(255,107,128)",
warning: "rgb(255,193,7)",
merged: "rgb(175,135,255)",
warningShimmer: "rgb(255,223,57)",
diffAdded: "rgb(34,92,43)",
diffRemoved: "rgb(122,41,54)",
diffAddedDimmed: "rgb(71,88,74)",
diffRemovedDimmed: "rgb(105,72,77)",
diffAddedWord: "rgb(56,166,96)",
diffRemovedWord: "rgb(179,89,107)",
red_FOR_SUBAGENTS_ONLY: "rgb(220,38,38)",
blue_FOR_SUBAGENTS_ONLY: "rgb(37,99,235)",
green_FOR_SUBAGENTS_ONLY: "rgb(22,163,74)",
yellow_FOR_SUBAGENTS_ONLY: "rgb(202,138,4)",
purple_FOR_SUBAGENTS_ONLY: "rgb(147,51,234)",
orange_FOR_SUBAGENTS_ONLY: "rgb(234,88,12)",
pink_FOR_SUBAGENTS_ONLY: "rgb(219,39,119)",
cyan_FOR_SUBAGENTS_ONLY: "rgb(8,145,178)",
professionalBlue: "rgb(106,155,204)",
chromeYellow: "rgb(251,188,4)",
clawd_body: "rgb(215,119,87)",
clawd_background: "rgb(0,0,0)",
userMessageBackground: "rgb(55, 55, 55)",
userMessageBackgroundHover: "rgb(70, 70, 70)",
messageActionsBackground: "rgb(44, 50, 62)",
selectionBg: "rgb(38, 79, 120)",
bashMessageBackgroundColor: "rgb(65, 60, 65)",
memoryBackgroundColor: "rgb(55, 65, 70)",
rate_limit_fill: "rgb(177,185,249)",
rate_limit_empty: "rgb(80,83,112)",
fastMode: "rgb(255,120,20)",
fastModeShimmer: "rgb(255,165,70)",
briefLabelYou: "rgb(122,180,232)",
briefLabelClaude: "rgb(215,119,87)",
rainbow_red: "rgb(235,95,87)",
rainbow_orange: "rgb(245,139,87)",
rainbow_yellow: "rgb(250,195,95)",
rainbow_green: "rgb(145,200,130)",
rainbow_blue: "rgb(130,170,220)",
rainbow_indigo: "rgb(155,130,200)",
rainbow_violet: "rgb(200,130,180)",
rainbow_red_shimmer: "rgb(250,155,147)",
rainbow_orange_shimmer: "rgb(255,185,137)",
rainbow_yellow_shimmer: "rgb(255,225,155)",
rainbow_green_shimmer: "rgb(185,230,180)",
rainbow_blue_shimmer: "rgb(180,205,240)",
rainbow_indigo_shimmer: "rgb(195,180,230)",
rainbow_violet_shimmer: "rgb(230,180,210)"
};
darkDaltonizedTheme = {
autoAccept: "rgb(175,135,255)",
bashBorder: "rgb(51,153,255)",
claude: "rgb(255,153,51)",
claudeShimmer: "rgb(255,183,101)",
claudeBlue_FOR_SYSTEM_SPINNER: "rgb(153,204,255)",
claudeBlueShimmer_FOR_SYSTEM_SPINNER: "rgb(183,224,255)",
permission: "rgb(153,204,255)",
permissionShimmer: "rgb(183,224,255)",
planMode: "rgb(102,153,153)",
ide: "rgb(71,130,200)",
promptBorder: "rgb(136,136,136)",
promptBorderShimmer: "rgb(166,166,166)",
text: "rgb(255,255,255)",
inverseText: "rgb(0,0,0)",
inactive: "rgb(153,153,153)",
inactiveShimmer: "rgb(193,193,193)",
subtle: "rgb(80,80,80)",
suggestion: "rgb(153,204,255)",
remember: "rgb(153,204,255)",
background: "rgb(0,204,204)",
success: "rgb(51,153,255)",
error: "rgb(255,102,102)",
warning: "rgb(255,204,0)",
merged: "rgb(175,135,255)",
warningShimmer: "rgb(255,234,50)",
diffAdded: "rgb(0,68,102)",
diffRemoved: "rgb(102,0,0)",
diffAddedDimmed: "rgb(62,81,91)",
diffRemovedDimmed: "rgb(62,44,44)",
diffAddedWord: "rgb(0,119,179)",
diffRemovedWord: "rgb(179,0,0)",
red_FOR_SUBAGENTS_ONLY: "rgb(255,102,102)",
blue_FOR_SUBAGENTS_ONLY: "rgb(102,178,255)",
green_FOR_SUBAGENTS_ONLY: "rgb(102,255,102)",
yellow_FOR_SUBAGENTS_ONLY: "rgb(255,255,102)",
purple_FOR_SUBAGENTS_ONLY: "rgb(178,102,255)",
orange_FOR_SUBAGENTS_ONLY: "rgb(255,178,102)",
pink_FOR_SUBAGENTS_ONLY: "rgb(255,153,204)",
cyan_FOR_SUBAGENTS_ONLY: "rgb(102,204,204)",
professionalBlue: "rgb(106,155,204)",
chromeYellow: "rgb(251,188,4)",
clawd_body: "rgb(215,119,87)",
clawd_background: "rgb(0,0,0)",
userMessageBackground: "rgb(55, 55, 55)",
userMessageBackgroundHover: "rgb(70, 70, 70)",
messageActionsBackground: "rgb(44, 50, 62)",
selectionBg: "rgb(38, 79, 120)",
bashMessageBackgroundColor: "rgb(65, 60, 65)",
memoryBackgroundColor: "rgb(55, 65, 70)",
rate_limit_fill: "rgb(153,204,255)",
rate_limit_empty: "rgb(69,92,115)",
fastMode: "rgb(255,120,20)",
fastModeShimmer: "rgb(255,165,70)",
briefLabelYou: "rgb(122,180,232)",
briefLabelClaude: "rgb(255,153,51)",
rainbow_red: "rgb(235,95,87)",
rainbow_orange: "rgb(245,139,87)",
rainbow_yellow: "rgb(250,195,95)",
rainbow_green: "rgb(145,200,130)",
rainbow_blue: "rgb(130,170,220)",
rainbow_indigo: "rgb(155,130,200)",
rainbow_violet: "rgb(200,130,180)",
rainbow_red_shimmer: "rgb(250,155,147)",
rainbow_orange_shimmer: "rgb(255,185,137)",
rainbow_yellow_shimmer: "rgb(255,225,155)",
rainbow_green_shimmer: "rgb(185,230,180)",
rainbow_blue_shimmer: "rgb(180,205,240)",
rainbow_indigo_shimmer: "rgb(195,180,230)",
rainbow_violet_shimmer: "rgb(230,180,210)"
};
chalkForChart = env3.terminal === "Apple_Terminal" ? new Chalk({ level: 2 }) : source_default;
});
// src/components/design-system/color.ts
function color(c5, theme, type = "foreground") {
return (text) => {
if (!c5) {
return text;
}
if (c5.startsWith("rgb(") || c5.startsWith("#") || c5.startsWith("ansi256(") || c5.startsWith("ansi:")) {
return colorize(text, c5, type);
}
return colorize(text, getTheme(theme)[c5], type);
};
}
var init_color = __esm(() => {
init_colorize();
init_theme();
});
// src/components/design-system/ThemedBox.tsx
function resolveColor(color2, theme) {
if (!color2)
return;
if (color2.startsWith("rgb(") || color2.startsWith("#") || color2.startsWith("ansi256(") || color2.startsWith("ansi:")) {
return color2;
}
return theme[color2];
}
function ThemedBox(t0) {
const $3 = import_compiler_runtime6.c(33);
let backgroundColor;
let borderBottomColor;
let borderColor;
let borderLeftColor;
let borderRightColor;
let borderTopColor;
let children2;
let ref;
let rest;
if ($3[0] !== t0) {
({
borderColor,
borderTopColor,
borderBottomColor,
borderLeftColor,
borderRightColor,
backgroundColor,
children: children2,
ref,
...rest
} = t0);
$3[0] = t0;
$3[1] = backgroundColor;
$3[2] = borderBottomColor;
$3[3] = borderColor;
$3[4] = borderLeftColor;
$3[5] = borderRightColor;
$3[6] = borderTopColor;
$3[7] = children2;
$3[8] = ref;
$3[9] = rest;
} else {
backgroundColor = $3[1];
borderBottomColor = $3[2];
borderColor = $3[3];
borderLeftColor = $3[4];
borderRightColor = $3[5];
borderTopColor = $3[6];
children2 = $3[7];
ref = $3[8];
rest = $3[9];
}
const [themeName] = useTheme();
let resolvedBorderBottomColor;
let resolvedBorderColor;
let resolvedBorderLeftColor;
let resolvedBorderRightColor;
let resolvedBorderTopColor;
let t1;
if ($3[10] !== backgroundColor || $3[11] !== borderBottomColor || $3[12] !== borderColor || $3[13] !== borderLeftColor || $3[14] !== borderRightColor || $3[15] !== borderTopColor || $3[16] !== themeName) {
const theme = getTheme(themeName);
resolvedBorderColor = resolveColor(borderColor, theme);
resolvedBorderTopColor = resolveColor(borderTopColor, theme);
resolvedBorderBottomColor = resolveColor(borderBottomColor, theme);
resolvedBorderLeftColor = resolveColor(borderLeftColor, theme);
resolvedBorderRightColor = resolveColor(borderRightColor, theme);
t1 = resolveColor(backgroundColor, theme);
$3[10] = backgroundColor;
$3[11] = borderBottomColor;
$3[12] = borderColor;
$3[13] = borderLeftColor;
$3[14] = borderRightColor;
$3[15] = borderTopColor;
$3[16] = themeName;
$3[17] = resolvedBorderBottomColor;
$3[18] = resolvedBorderColor;
$3[19] = resolvedBorderLeftColor;
$3[20] = resolvedBorderRightColor;
$3[21] = resolvedBorderTopColor;
$3[22] = t1;
} else {
resolvedBorderBottomColor = $3[17];
resolvedBorderColor = $3[18];
resolvedBorderLeftColor = $3[19];
resolvedBorderRightColor = $3[20];
resolvedBorderTopColor = $3[21];
t1 = $3[22];
}
const resolvedBackgroundColor = t1;
let t2;
if ($3[23] !== children2 || $3[24] !== ref || $3[25] !== resolvedBackgroundColor || $3[26] !== resolvedBorderBottomColor || $3[27] !== resolvedBorderColor || $3[28] !== resolvedBorderLeftColor || $3[29] !== resolvedBorderRightColor || $3[30] !== resolvedBorderTopColor || $3[31] !== rest) {
t2 = /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
ref,
borderColor: resolvedBorderColor,
borderTopColor: resolvedBorderTopColor,
borderBottomColor: resolvedBorderBottomColor,
borderLeftColor: resolvedBorderLeftColor,
borderRightColor: resolvedBorderRightColor,
backgroundColor: resolvedBackgroundColor,
...rest,
children: children2
}, undefined, false, undefined, this);
$3[23] = children2;
$3[24] = ref;
$3[25] = resolvedBackgroundColor;
$3[26] = resolvedBorderBottomColor;
$3[27] = resolvedBorderColor;
$3[28] = resolvedBorderLeftColor;
$3[29] = resolvedBorderRightColor;
$3[30] = resolvedBorderTopColor;
$3[31] = rest;
$3[32] = t2;
} else {
t2 = $3[32];
}
return t2;
}
var import_compiler_runtime6, jsx_dev_runtime9, ThemedBox_default;
var init_ThemedBox = __esm(() => {
init_Box();
init_theme();
init_ThemeProvider();
import_compiler_runtime6 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
ThemedBox_default = ThemedBox;
});
// src/components/design-system/ThemedText.tsx
function resolveColor2(color2, theme) {
if (!color2)
return;
if (color2.startsWith("rgb(") || color2.startsWith("#") || color2.startsWith("ansi256(") || color2.startsWith("ansi:")) {
return color2;
}
return theme[color2];
}
function ThemedText(t0) {
const $3 = import_compiler_runtime7.c(10);
const {
color: color2,
backgroundColor,
dimColor: t1,
bold: t2,
italic: t3,
underline: t4,
strikethrough: t5,
inverse: t6,
wrap: t7,
children: children2
} = t0;
const dimColor = t1 === undefined ? false : t1;
const bold2 = t2 === undefined ? false : t2;
const italic2 = t3 === undefined ? false : t3;
const underline2 = t4 === undefined ? false : t4;
const strikethrough2 = t5 === undefined ? false : t5;
const inverse2 = t6 === undefined ? false : t6;
const wrap = t7 === undefined ? "wrap" : t7;
const [themeName] = useTheme();
const theme = getTheme(themeName);
const hoverColor = import_react12.useContext(TextHoverColorContext);
const resolvedColor = !color2 && hoverColor ? resolveColor2(hoverColor, theme) : dimColor ? theme.inactive : resolveColor2(color2, theme);
const resolvedBackgroundColor = backgroundColor ? theme[backgroundColor] : undefined;
let t8;
if ($3[0] !== bold2 || $3[1] !== children2 || $3[2] !== inverse2 || $3[3] !== italic2 || $3[4] !== resolvedBackgroundColor || $3[5] !== resolvedColor || $3[6] !== strikethrough2 || $3[7] !== underline2 || $3[8] !== wrap) {
t8 = /* @__PURE__ */ jsx_dev_runtime10.jsxDEV(Text, {
color: resolvedColor,
backgroundColor: resolvedBackgroundColor,
bold: bold2,
italic: italic2,
underline: underline2,
strikethrough: strikethrough2,
inverse: inverse2,
wrap,
children: children2
}, undefined, false, undefined, this);
$3[0] = bold2;
$3[1] = children2;
$3[2] = inverse2;
$3[3] = italic2;
$3[4] = resolvedBackgroundColor;
$3[5] = resolvedColor;
$3[6] = strikethrough2;
$3[7] = underline2;
$3[8] = wrap;
$3[9] = t8;
} else {
t8 = $3[9];
}
return t8;
}
var import_compiler_runtime7, import_react12, jsx_dev_runtime10, TextHoverColorContext;
var init_ThemedText = __esm(() => {
init_Text();
init_theme();
init_ThemeProvider();
import_compiler_runtime7 = __toESM(require_compiler_runtime(), 1);
import_react12 = __toESM(require_react(), 1);
jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
TextHoverColorContext = import_react12.default.createContext(undefined);
});
// node_modules/.pnpm/has-flag@5.0.1/node_modules/has-flag/index.js
import process22 from "process";
function hasFlag3(flag, argv = process22.argv) {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix + flag);
const terminatorPosition = argv.indexOf("--");
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
}
var init_has_flag = () => {};
// node_modules/.pnpm/supports-hyperlinks@4.4.0/node_modules/supports-hyperlinks/index.js
import process23 from "node:process";
function parseVersion(versionString = "") {
if (/^\d{3,4}$/.test(versionString)) {
const match = /(\d{1,2})(\d{2})/.exec(versionString) ?? [];
return {
major: 0,
minor: Number.parseInt(match[1], 10),
patch: Number.parseInt(match[2], 10)
};
}
const versions2 = (versionString ?? "").split(".").map((n2) => Number.parseInt(n2, 10));
return {
major: versions2[0],
minor: versions2[1],
patch: versions2[2]
};
}
function createSupportsHyperlinks(stream4) {
const {
CI,
CURSOR_TRACE_ID,
FORCE_HYPERLINK,
NETLIFY,
TEAMCITY_VERSION,
TERM_PROGRAM,
TERM_PROGRAM_VERSION,
VTE_VERSION,
TERM
} = process23.env;
if (FORCE_HYPERLINK) {
return !(FORCE_HYPERLINK.length > 0 && Number.parseInt(FORCE_HYPERLINK, 10) === 0);
}
if (hasFlag3("no-hyperlink") || hasFlag3("no-hyperlinks") || hasFlag3("hyperlink=false") || hasFlag3("hyperlink=never")) {
return false;
}
if (hasFlag3("hyperlink=true") || hasFlag3("hyperlink=always")) {
return true;
}
if (NETLIFY) {
return true;
}
if (!createSupportsColor2(stream4)) {
return false;
}
if (stream4 && !stream4.isTTY) {
return false;
}
if ("WT_SESSION" in process23.env) {
return true;
}
if (process23.platform === "win32") {
return false;
}
if (CI) {
return false;
}
if (TEAMCITY_VERSION) {
return false;
}
if (TERM_PROGRAM) {
const version6 = parseVersion(TERM_PROGRAM_VERSION);
switch (TERM_PROGRAM) {
case "iTerm.app": {
if (version6.major === 3) {
return version6.minor >= 1;
}
return version6.major > 3;
}
case "WezTerm": {
if (/^0-unstable-\d{4}-\d{2}-\d{2}$/.test(TERM_PROGRAM_VERSION)) {
const date5 = TERM_PROGRAM_VERSION.slice("0-unstable-".length);
return date5 >= "2020-06-20";
}
return version6.major >= 20200620;
}
case "vscode": {
if (CURSOR_TRACE_ID) {
return true;
}
return version6.major > 1 || version6.major === 1 && version6.minor >= 72;
}
case "ghostty": {
return true;
}
case "zed": {
return true;
}
}
}
if (VTE_VERSION) {
if (VTE_VERSION === "0.50.0") {
return false;
}
const version6 = parseVersion(VTE_VERSION);
return version6.major > 0 || version6.minor >= 50;
}
switch (TERM) {
case "alacritty": {
return true;
}
case "xterm-kitty": {
return true;
}
}
return false;
}
var supportsHyperlinks, supports_hyperlinks_default;
var init_supports_hyperlinks = __esm(() => {
init_supports_color2();
init_has_flag();
supportsHyperlinks = {
stdout: createSupportsHyperlinks(process23.stdout),
stderr: createSupportsHyperlinks(process23.stderr)
};
supports_hyperlinks_default = supportsHyperlinks;
});
// src/ink/supports-hyperlinks.ts
function supportsHyperlinks2(options) {
const stdoutSupported = options?.stdoutSupported ?? supports_hyperlinks_default.stdout;
if (stdoutSupported) {
return true;
}
const env6 = options?.env ?? process.env;
const termProgram = env6["TERM_PROGRAM"];
if (termProgram && ADDITIONAL_HYPERLINK_TERMINALS.includes(termProgram)) {
return true;
}
const lcTerminal = env6["LC_TERMINAL"];
if (lcTerminal && ADDITIONAL_HYPERLINK_TERMINALS.includes(lcTerminal)) {
return true;
}
const term = env6["TERM"];
if (term?.includes("kitty")) {
return true;
}
return false;
}
var ADDITIONAL_HYPERLINK_TERMINALS;
var init_supports_hyperlinks2 = __esm(() => {
init_supports_hyperlinks();
ADDITIONAL_HYPERLINK_TERMINALS = [
"ghostty",
"Hyper",
"kitty",
"alacritty",
"iTerm.app",
"iTerm2"
];
});
// src/ink/components/Link.tsx
function Link(t0) {
const $3 = import_compiler_runtime8.c(5);
const {
children: children2,
url: url3,
fallback
} = t0;
const content = children2 ?? url3;
if (supportsHyperlinks2()) {
let t12;
if ($3[0] !== content || $3[1] !== url3) {
t12 = /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
children: /* @__PURE__ */ jsx_dev_runtime11.jsxDEV("ink-link", {
href: url3,
children: content
}, undefined, false, undefined, this)
}, undefined, false, undefined, this);
$3[0] = content;
$3[1] = url3;
$3[2] = t12;
} else {
t12 = $3[2];
}
return t12;
}
const t1 = fallback ?? content;
let t2;
if ($3[3] !== t1) {
t2 = /* @__PURE__ */ jsx_dev_runtime11.jsxDEV(Text, {
children: t1
}, undefined, false, undefined, this);
$3[3] = t1;
$3[4] = t2;
} else {
t2 = $3[4];
}
return t2;
}
var import_compiler_runtime8, jsx_dev_runtime11;
var init_Link = __esm(() => {
init_supports_hyperlinks2();
init_Text();
import_compiler_runtime8 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime11 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/termio/esc.ts
function parseEsc(chars) {
if (chars.length === 0)
return null;
const first = chars[0];
if (first === "c") {
return { type: "reset" };
}
if (first === "7") {
return { type: "cursor", action: { type: "save" } };
}
if (first === "8") {
return { type: "cursor", action: { type: "restore" } };
}
if (first === "D") {
return {
type: "cursor",
action: { type: "move", direction: "down", count: 1 }
};
}
if (first === "M") {
return {
type: "cursor",
action: { type: "move", direction: "up", count: 1 }
};
}
if (first === "E") {
return { type: "cursor", action: { type: "nextLine", count: 1 } };
}
if (first === "H") {
return null;
}
if ("()".includes(first) && chars.length >= 2) {
return null;
}
return { type: "unknown", sequence: `\x1B${chars}` };
}
// src/ink/termio/types.ts
function defaultStyle2() {
return {
bold: false,
dim: false,
italic: false,
underline: "none",
blink: false,
inverse: false,
hidden: false,
strikethrough: false,
overline: false,
fg: { type: "default" },
bg: { type: "default" },
underlineColor: { type: "default" }
};
}
// src/ink/termio/sgr.ts
function parseParams(str) {
if (str === "")
return [{ value: 0, subparams: [], colon: false }];
const result = [];
let current = { value: null, subparams: [], colon: false };
let num = "";
let inSub = false;
for (let i3 = 0;i3 <= str.length; i3++) {
const c5 = str[i3];
if (c5 === ";" || c5 === undefined) {
const n2 = num === "" ? null : parseInt(num, 10);
if (inSub) {
if (n2 !== null)
current.subparams.push(n2);
} else {
current.value = n2;
}
result.push(current);
current = { value: null, subparams: [], colon: false };
num = "";
inSub = false;
} else if (c5 === ":") {
const n2 = num === "" ? null : parseInt(num, 10);
if (!inSub) {
current.value = n2;
current.colon = true;
inSub = true;
} else {
if (n2 !== null)
current.subparams.push(n2);
}
num = "";
} else if (c5 >= "0" && c5 <= "9") {
num += c5;
}
}
return result;
}
function parseExtendedColor(params, idx) {
const p = params[idx];
if (!p)
return null;
if (p.colon && p.subparams.length >= 1) {
if (p.subparams[0] === 5 && p.subparams.length >= 2) {
return { index: p.subparams[1] };
}
if (p.subparams[0] === 2 && p.subparams.length >= 4) {
const off = p.subparams.length >= 5 ? 1 : 0;
return {
r: p.subparams[1 + off],
g: p.subparams[2 + off],
b: p.subparams[3 + off]
};
}
}
const next = params[idx + 1];
if (!next)
return null;
if (next.value === 5 && params[idx + 2]?.value !== null && params[idx + 2]?.value !== undefined) {
return { index: params[idx + 2].value };
}
if (next.value === 2) {
const r2 = params[idx + 2]?.value;
const g2 = params[idx + 3]?.value;
const b2 = params[idx + 4]?.value;
if (r2 !== null && r2 !== undefined && g2 !== null && g2 !== undefined && b2 !== null && b2 !== undefined) {
return { r: r2, g: g2, b: b2 };
}
}
return null;
}
function applySGR(paramStr, style) {
const params = parseParams(paramStr);
let s2 = { ...style };
let i3 = 0;
while (i3 < params.length) {
const p = params[i3];
const code = p.value ?? 0;
if (code === 0) {
s2 = defaultStyle2();
i3++;
continue;
}
if (code === 1) {
s2.bold = true;
i3++;
continue;
}
if (code === 2) {
s2.dim = true;
i3++;
continue;
}
if (code === 3) {
s2.italic = true;
i3++;
continue;
}
if (code === 4) {
s2.underline = p.colon ? UNDERLINE_STYLES[p.subparams[0]] ?? "single" : "single";
i3++;
continue;
}
if (code === 5 || code === 6) {
s2.blink = true;
i3++;
continue;
}
if (code === 7) {
s2.inverse = true;
i3++;
continue;
}
if (code === 8) {
s2.hidden = true;
i3++;
continue;
}
if (code === 9) {
s2.strikethrough = true;
i3++;
continue;
}
if (code === 21) {
s2.underline = "double";
i3++;
continue;
}
if (code === 22) {
s2.bold = false;
s2.dim = false;
i3++;
continue;
}
if (code === 23) {
s2.italic = false;
i3++;
continue;
}
if (code === 24) {
s2.underline = "none";
i3++;
continue;
}
if (code === 25) {
s2.blink = false;
i3++;
continue;
}
if (code === 27) {
s2.inverse = false;
i3++;
continue;
}
if (code === 28) {
s2.hidden = false;
i3++;
continue;
}
if (code === 29) {
s2.strikethrough = false;
i3++;
continue;
}
if (code === 53) {
s2.overline = true;
i3++;
continue;
}
if (code === 55) {
s2.overline = false;
i3++;
continue;
}
if (code >= 30 && code <= 37) {
s2.fg = { type: "named", name: NAMED_COLORS[code - 30] };
i3++;
continue;
}
if (code === 39) {
s2.fg = { type: "default" };
i3++;
continue;
}
if (code >= 40 && code <= 47) {
s2.bg = { type: "named", name: NAMED_COLORS[code - 40] };
i3++;
continue;
}
if (code === 49) {
s2.bg = { type: "default" };
i3++;
continue;
}
if (code >= 90 && code <= 97) {
s2.fg = { type: "named", name: NAMED_COLORS[code - 90 + 8] };
i3++;
continue;
}
if (code >= 100 && code <= 107) {
s2.bg = { type: "named", name: NAMED_COLORS[code - 100 + 8] };
i3++;
continue;
}
if (code === 38) {
const c5 = parseExtendedColor(params, i3);
if (c5) {
s2.fg = "index" in c5 ? { type: "indexed", index: c5.index } : { type: "rgb", ...c5 };
i3 += p.colon ? 1 : ("index" in c5) ? 3 : 5;
continue;
}
}
if (code === 48) {
const c5 = parseExtendedColor(params, i3);
if (c5) {
s2.bg = "index" in c5 ? { type: "indexed", index: c5.index } : { type: "rgb", ...c5 };
i3 += p.colon ? 1 : ("index" in c5) ? 3 : 5;
continue;
}
}
if (code === 58) {
const c5 = parseExtendedColor(params, i3);
if (c5) {
s2.underlineColor = "index" in c5 ? { type: "indexed", index: c5.index } : { type: "rgb", ...c5 };
i3 += p.colon ? 1 : ("index" in c5) ? 3 : 5;
continue;
}
}
if (code === 59) {
s2.underlineColor = { type: "default" };
i3++;
continue;
}
i3++;
}
return s2;
}
var NAMED_COLORS, UNDERLINE_STYLES;
var init_sgr = __esm(() => {
NAMED_COLORS = [
"black",
"red",
"green",
"yellow",
"blue",
"magenta",
"cyan",
"white",
"brightBlack",
"brightRed",
"brightGreen",
"brightYellow",
"brightBlue",
"brightMagenta",
"brightCyan",
"brightWhite"
];
UNDERLINE_STYLES = [
"none",
"single",
"double",
"curly",
"dotted",
"dashed"
];
});
// src/ink/termio/parser.ts
function isEmoji(codePoint) {
return codePoint >= 9728 && codePoint <= 9983 || codePoint >= 9984 && codePoint <= 10175 || codePoint >= 127744 && codePoint <= 129535 || codePoint >= 129536 && codePoint <= 129791 || codePoint >= 127456 && codePoint <= 127487;
}
function isEastAsianWide(codePoint) {
return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 11904 && codePoint <= 40959 || codePoint >= 44032 && codePoint <= 55203 || codePoint >= 63744 && codePoint <= 64255 || codePoint >= 65040 && codePoint <= 65055 || codePoint >= 65072 && codePoint <= 65135 || codePoint >= 65280 && codePoint <= 65376 || codePoint >= 65504 && codePoint <= 65510 || codePoint >= 131072 && codePoint <= 196605 || codePoint >= 196608 && codePoint <= 262141;
}
function hasMultipleCodepoints(str) {
let count3 = 0;
for (const _2 of str) {
count3++;
if (count3 > 1)
return true;
}
return false;
}
function graphemeWidth(grapheme) {
if (hasMultipleCodepoints(grapheme))
return 2;
const codePoint = grapheme.codePointAt(0);
if (codePoint === undefined)
return 1;
if (isEmoji(codePoint) || isEastAsianWide(codePoint))
return 2;
return 1;
}
function* segmentGraphemes(str) {
for (const { segment } of getGraphemeSegmenter().segment(str)) {
yield { value: segment, width: graphemeWidth(segment) };
}
}
function parseCSIParams(paramStr) {
if (paramStr === "")
return [];
return paramStr.split(/[;:]/).map((s2) => s2 === "" ? 0 : parseInt(s2, 10));
}
function parseCSI(rawSequence) {
const inner = rawSequence.slice(2);
if (inner.length === 0)
return null;
const finalByte = inner.charCodeAt(inner.length - 1);
const beforeFinal = inner.slice(0, -1);
let privateMode = "";
let paramStr = beforeFinal;
let intermediate = "";
if (beforeFinal.length > 0 && "?>=".includes(beforeFinal[0])) {
privateMode = beforeFinal[0];
paramStr = beforeFinal.slice(1);
}
const intermediateMatch = paramStr.match(/([^0-9;:]+)$/);
if (intermediateMatch) {
intermediate = intermediateMatch[1];
paramStr = paramStr.slice(0, -intermediate.length);
}
const params = parseCSIParams(paramStr);
const p0 = params[0] ?? 1;
const p1 = params[1] ?? 1;
if (finalByte === CSI.SGR && privateMode === "") {
return { type: "sgr", params: paramStr };
}
if (finalByte === CSI.CUU) {
return {
type: "cursor",
action: { type: "move", direction: "up", count: p0 }
};
}
if (finalByte === CSI.CUD) {
return {
type: "cursor",
action: { type: "move", direction: "down", count: p0 }
};
}
if (finalByte === CSI.CUF) {
return {
type: "cursor",
action: { type: "move", direction: "forward", count: p0 }
};
}
if (finalByte === CSI.CUB) {
return {
type: "cursor",
action: { type: "move", direction: "back", count: p0 }
};
}
if (finalByte === CSI.CNL) {
return { type: "cursor", action: { type: "nextLine", count: p0 } };
}
if (finalByte === CSI.CPL) {
return { type: "cursor", action: { type: "prevLine", count: p0 } };
}
if (finalByte === CSI.CHA) {
return { type: "cursor", action: { type: "column", col: p0 } };
}
if (finalByte === CSI.CUP || finalByte === CSI.HVP) {
return { type: "cursor", action: { type: "position", row: p0, col: p1 } };
}
if (finalByte === CSI.VPA) {
return { type: "cursor", action: { type: "row", row: p0 } };
}
if (finalByte === CSI.ED) {
const region = ERASE_DISPLAY[params[0] ?? 0] ?? "toEnd";
return { type: "erase", action: { type: "display", region } };
}
if (finalByte === CSI.EL) {
const region = ERASE_LINE_REGION[params[0] ?? 0] ?? "toEnd";
return { type: "erase", action: { type: "line", region } };
}
if (finalByte === CSI.ECH) {
return { type: "erase", action: { type: "chars", count: p0 } };
}
if (finalByte === CSI.SU) {
return { type: "scroll", action: { type: "up", count: p0 } };
}
if (finalByte === CSI.SD) {
return { type: "scroll", action: { type: "down", count: p0 } };
}
if (finalByte === CSI.DECSTBM) {
return {
type: "scroll",
action: { type: "setRegion", top: p0, bottom: p1 }
};
}
if (finalByte === CSI.SCOSC) {
return { type: "cursor", action: { type: "save" } };
}
if (finalByte === CSI.SCORC) {
return { type: "cursor", action: { type: "restore" } };
}
if (finalByte === CSI.DECSCUSR && intermediate === " ") {
const styleInfo = CURSOR_STYLES[p0] ?? CURSOR_STYLES[0];
return { type: "cursor", action: { type: "style", ...styleInfo } };
}
if (privateMode === "?" && (finalByte === CSI.SM || finalByte === CSI.RM)) {
const enabled2 = finalByte === CSI.SM;
if (p0 === DEC.CURSOR_VISIBLE) {
return {
type: "cursor",
action: enabled2 ? { type: "show" } : { type: "hide" }
};
}
if (p0 === DEC.ALT_SCREEN_CLEAR || p0 === DEC.ALT_SCREEN) {
return { type: "mode", action: { type: "alternateScreen", enabled: enabled2 } };
}
if (p0 === DEC.BRACKETED_PASTE) {
return { type: "mode", action: { type: "bracketedPaste", enabled: enabled2 } };
}
if (p0 === DEC.MOUSE_NORMAL) {
return {
type: "mode",
action: { type: "mouseTracking", mode: enabled2 ? "normal" : "off" }
};
}
if (p0 === DEC.MOUSE_BUTTON) {
return {
type: "mode",
action: { type: "mouseTracking", mode: enabled2 ? "button" : "off" }
};
}
if (p0 === DEC.MOUSE_ANY) {
return {
type: "mode",
action: { type: "mouseTracking", mode: enabled2 ? "any" : "off" }
};
}
if (p0 === DEC.FOCUS_EVENTS) {
return { type: "mode", action: { type: "focusEvents", enabled: enabled2 } };
}
}
return { type: "unknown", sequence: rawSequence };
}
function identifySequence(seq) {
if (seq.length < 2)
return "unknown";
if (seq.charCodeAt(0) !== C0.ESC)
return "unknown";
const second = seq.charCodeAt(1);
if (second === 91)
return "csi";
if (second === 93)
return "osc";
if (second === 79)
return "ss3";
return "esc";
}
class Parser {
tokenizer = createTokenizer();
style = defaultStyle2();
inLink = false;
linkUrl;
reset() {
this.tokenizer.reset();
this.style = defaultStyle2();
this.inLink = false;
this.linkUrl = undefined;
}
feed(input) {
const tokens = this.tokenizer.feed(input);
const actions = [];
for (const token of tokens) {
const tokenActions = this.processToken(token);
actions.push(...tokenActions);
}
return actions;
}
processToken(token) {
switch (token.type) {
case "text":
return this.processText(token.value);
case "sequence":
return this.processSequence(token.value);
}
}
processText(text) {
const actions = [];
let current = "";
for (const char of text) {
if (char.charCodeAt(0) === C0.BEL) {
if (current) {
const graphemes = [...segmentGraphemes(current)];
if (graphemes.length > 0) {
actions.push({ type: "text", graphemes, style: { ...this.style } });
}
current = "";
}
actions.push({ type: "bell" });
} else {
current += char;
}
}
if (current) {
const graphemes = [...segmentGraphemes(current)];
if (graphemes.length > 0) {
actions.push({ type: "text", graphemes, style: { ...this.style } });
}
}
return actions;
}
processSequence(seq) {
const seqType = identifySequence(seq);
switch (seqType) {
case "csi": {
const action = parseCSI(seq);
if (!action)
return [];
if (action.type === "sgr") {
this.style = applySGR(action.params, this.style);
return [];
}
return [action];
}
case "osc": {
let content = seq.slice(2);
if (content.endsWith("\x07")) {
content = content.slice(0, -1);
} else if (content.endsWith("\x1B\\")) {
content = content.slice(0, -2);
}
const action = parseOSC(content);
if (action) {
if (action.type === "link") {
if (action.action.type === "start") {
this.inLink = true;
this.linkUrl = action.action.url;
} else {
this.inLink = false;
this.linkUrl = undefined;
}
}
return [action];
}
return [];
}
case "esc": {
const escContent = seq.slice(1);
const action = parseEsc(escContent);
return action ? [action] : [];
}
case "ss3":
return [{ type: "unknown", sequence: seq }];
default:
return [{ type: "unknown", sequence: seq }];
}
}
}
var init_parser4 = __esm(() => {
init_intl();
init_ansi();
init_csi();
init_dec();
init_osc();
init_sgr();
init_tokenize();
});
// src/ink/termio.ts
var init_termio = __esm(() => {
init_parser4();
});
// src/ink/Ansi.tsx
function parseToSpans(input) {
const parser = new Parser;
const actions = parser.feed(input);
const spans = [];
let currentHyperlink;
for (const action of actions) {
if (action.type === "link") {
if (action.action.type === "start") {
currentHyperlink = action.action.url;
} else {
currentHyperlink = undefined;
}
continue;
}
if (action.type === "text") {
const text = action.graphemes.map((g2) => g2.value).join("");
if (!text)
continue;
const props = textStyleToSpanProps(action.style);
if (currentHyperlink) {
props.hyperlink = currentHyperlink;
}
const lastSpan = spans[spans.length - 1];
if (lastSpan && propsEqual(lastSpan.props, props)) {
lastSpan.text += text;
} else {
spans.push({
text,
props
});
}
}
}
return spans;
}
function textStyleToSpanProps(style) {
const props = {};
if (style.bold)
props.bold = true;
if (style.dim)
props.dim = true;
if (style.italic)
props.italic = true;
if (style.underline !== "none")
props.underline = true;
if (style.strikethrough)
props.strikethrough = true;
if (style.inverse)
props.inverse = true;
const fgColor = colorToString(style.fg);
if (fgColor)
props.color = fgColor;
const bgColor = colorToString(style.bg);
if (bgColor)
props.backgroundColor = bgColor;
return props;
}
function colorToString(color2) {
switch (color2.type) {
case "named":
return NAMED_COLOR_MAP[color2.name];
case "indexed":
return `ansi256(${color2.index})`;
case "rgb":
return `rgb(${color2.r},${color2.g},${color2.b})`;
case "default":
return;
}
}
function propsEqual(a2, b2) {
return a2.color === b2.color && a2.backgroundColor === b2.backgroundColor && a2.bold === b2.bold && a2.dim === b2.dim && a2.italic === b2.italic && a2.underline === b2.underline && a2.strikethrough === b2.strikethrough && a2.inverse === b2.inverse && a2.hyperlink === b2.hyperlink;
}
function hasAnyProps(props) {
return props.color !== undefined || props.backgroundColor !== undefined || props.dim === true || props.bold === true || props.italic === true || props.underline === true || props.strikethrough === true || props.inverse === true || props.hyperlink !== undefined;
}
function hasAnyTextProps(props) {
return props.color !== undefined || props.backgroundColor !== undefined || props.dim === true || props.bold === true || props.italic === true || props.underline === true || props.strikethrough === true || props.inverse === true;
}
function StyledText(t0) {
const $3 = import_compiler_runtime9.c(14);
let bold2;
let children2;
let dim2;
let rest;
if ($3[0] !== t0) {
({
bold: bold2,
dim: dim2,
children: children2,
...rest
} = t0);
$3[0] = t0;
$3[1] = bold2;
$3[2] = children2;
$3[3] = dim2;
$3[4] = rest;
} else {
bold2 = $3[1];
children2 = $3[2];
dim2 = $3[3];
rest = $3[4];
}
if (dim2) {
let t12;
if ($3[5] !== children2 || $3[6] !== rest) {
t12 = /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
...rest,
dim: true,
children: children2
}, undefined, false, undefined, this);
$3[5] = children2;
$3[6] = rest;
$3[7] = t12;
} else {
t12 = $3[7];
}
return t12;
}
if (bold2) {
let t12;
if ($3[8] !== children2 || $3[9] !== rest) {
t12 = /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
...rest,
bold: true,
children: children2
}, undefined, false, undefined, this);
$3[8] = children2;
$3[9] = rest;
$3[10] = t12;
} else {
t12 = $3[10];
}
return t12;
}
let t1;
if ($3[11] !== children2 || $3[12] !== rest) {
t1 = /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
...rest,
children: children2
}, undefined, false, undefined, this);
$3[11] = children2;
$3[12] = rest;
$3[13] = t1;
} else {
t1 = $3[13];
}
return t1;
}
var import_compiler_runtime9, import_react13, jsx_dev_runtime12, Ansi, NAMED_COLOR_MAP;
var init_Ansi = __esm(() => {
init_Link();
init_Text();
init_termio();
import_compiler_runtime9 = __toESM(require_compiler_runtime(), 1);
import_react13 = __toESM(require_react(), 1);
jsx_dev_runtime12 = __toESM(require_jsx_dev_runtime(), 1);
Ansi = import_react13.default.memo(function Ansi2(t0) {
const $3 = import_compiler_runtime9.c(12);
const {
children: children2,
dimColor
} = t0;
if (typeof children2 !== "string") {
let t12;
if ($3[0] !== children2 || $3[1] !== dimColor) {
t12 = dimColor ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
dim: true,
children: String(children2)
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
children: String(children2)
}, undefined, false, undefined, this);
$3[0] = children2;
$3[1] = dimColor;
$3[2] = t12;
} else {
t12 = $3[2];
}
return t12;
}
if (children2 === "") {
return null;
}
let t1;
let t2;
if ($3[3] !== children2 || $3[4] !== dimColor) {
t2 = Symbol.for("react.early_return_sentinel");
bb0: {
const spans = parseToSpans(children2);
if (spans.length === 0) {
t2 = null;
break bb0;
}
if (spans.length === 1 && !hasAnyProps(spans[0].props)) {
t2 = dimColor ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
dim: true,
children: spans[0].text
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
children: spans[0].text
}, undefined, false, undefined, this);
break bb0;
}
let t32;
if ($3[7] !== dimColor) {
t32 = (span, i3) => {
const hyperlink = span.props.hyperlink;
if (dimColor) {
span.props.dim = true;
}
const hasTextProps = hasAnyTextProps(span.props);
if (hyperlink) {
return hasTextProps ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Link, {
url: hyperlink,
children: /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(StyledText, {
color: span.props.color,
backgroundColor: span.props.backgroundColor,
dim: span.props.dim,
bold: span.props.bold,
italic: span.props.italic,
underline: span.props.underline,
strikethrough: span.props.strikethrough,
inverse: span.props.inverse,
children: span.text
}, undefined, false, undefined, this)
}, i3, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Link, {
url: hyperlink,
children: span.text
}, i3, false, undefined, this);
}
return hasTextProps ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(StyledText, {
color: span.props.color,
backgroundColor: span.props.backgroundColor,
dim: span.props.dim,
bold: span.props.bold,
italic: span.props.italic,
underline: span.props.underline,
strikethrough: span.props.strikethrough,
inverse: span.props.inverse,
children: span.text
}, i3, false, undefined, this) : span.text;
};
$3[7] = dimColor;
$3[8] = t32;
} else {
t32 = $3[8];
}
t1 = spans.map(t32);
}
$3[3] = children2;
$3[4] = dimColor;
$3[5] = t1;
$3[6] = t2;
} else {
t1 = $3[5];
t2 = $3[6];
}
if (t2 !== Symbol.for("react.early_return_sentinel")) {
return t2;
}
const content = t1;
let t3;
if ($3[9] !== content || $3[10] !== dimColor) {
t3 = dimColor ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
dim: true,
children: content
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
children: content
}, undefined, false, undefined, this);
$3[9] = content;
$3[10] = dimColor;
$3[11] = t3;
} else {
t3 = $3[11];
}
return t3;
});
NAMED_COLOR_MAP = {
black: "ansi:black",
red: "ansi:red",
green: "ansi:green",
yellow: "ansi:yellow",
blue: "ansi:blue",
magenta: "ansi:magenta",
cyan: "ansi:cyan",
white: "ansi:white",
brightBlack: "ansi:blackBright",
brightRed: "ansi:redBright",
brightGreen: "ansi:greenBright",
brightYellow: "ansi:yellowBright",
brightBlue: "ansi:blueBright",
brightMagenta: "ansi:magentaBright",
brightCyan: "ansi:cyanBright",
brightWhite: "ansi:whiteBright"
};
});
// src/ink/components/Button.tsx
function Button(t0) {
const $3 = import_compiler_runtime10.c(30);
let autoFocus;
let children2;
let onAction;
let ref;
let style;
let t1;
if ($3[0] !== t0) {
({
onAction,
tabIndex: t1,
autoFocus,
children: children2,
ref,
...style
} = t0);
$3[0] = t0;
$3[1] = autoFocus;
$3[2] = children2;
$3[3] = onAction;
$3[4] = ref;
$3[5] = style;
$3[6] = t1;
} else {
autoFocus = $3[1];
children2 = $3[2];
onAction = $3[3];
ref = $3[4];
style = $3[5];
t1 = $3[6];
}
const tabIndex = t1 === undefined ? 0 : t1;
const [isFocused, setIsFocused] = import_react14.useState(false);
const [isHovered, setIsHovered] = import_react14.useState(false);
const [isActive, setIsActive] = import_react14.useState(false);
const activeTimer = import_react14.useRef(null);
let t2;
let t3;
if ($3[7] === Symbol.for("react.memo_cache_sentinel")) {
t2 = () => () => {
if (activeTimer.current) {
clearTimeout(activeTimer.current);
}
};
t3 = [];
$3[7] = t2;
$3[8] = t3;
} else {
t2 = $3[7];
t3 = $3[8];
}
import_react14.useEffect(t2, t3);
let t4;
if ($3[9] !== onAction) {
t4 = (e2) => {
if (e2.key === "return" || e2.key === " ") {
e2.preventDefault();
setIsActive(true);
onAction();
if (activeTimer.current) {
clearTimeout(activeTimer.current);
}
activeTimer.current = setTimeout(_temp2, 100, setIsActive);
}
};
$3[9] = onAction;
$3[10] = t4;
} else {
t4 = $3[10];
}
const handleKeyDown = t4;
let t5;
if ($3[11] !== onAction) {
t5 = (_e2) => {
onAction();
};
$3[11] = onAction;
$3[12] = t5;
} else {
t5 = $3[12];
}
const handleClick = t5;
let t6;
if ($3[13] === Symbol.for("react.memo_cache_sentinel")) {
t6 = (_e_0) => setIsFocused(true);
$3[13] = t6;
} else {
t6 = $3[13];
}
const handleFocus = t6;
let t7;
if ($3[14] === Symbol.for("react.memo_cache_sentinel")) {
t7 = (_e_1) => setIsFocused(false);
$3[14] = t7;
} else {
t7 = $3[14];
}
const handleBlur = t7;
let t8;
if ($3[15] === Symbol.for("react.memo_cache_sentinel")) {
t8 = () => setIsHovered(true);
$3[15] = t8;
} else {
t8 = $3[15];
}
const handleMouseEnter = t8;
let t9;
if ($3[16] === Symbol.for("react.memo_cache_sentinel")) {
t9 = () => setIsHovered(false);
$3[16] = t9;
} else {
t9 = $3[16];
}
const handleMouseLeave = t9;
let t10;
if ($3[17] !== children2 || $3[18] !== isActive || $3[19] !== isFocused || $3[20] !== isHovered) {
const state3 = {
focused: isFocused,
hovered: isHovered,
active: isActive
};
t10 = typeof children2 === "function" ? children2(state3) : children2;
$3[17] = children2;
$3[18] = isActive;
$3[19] = isFocused;
$3[20] = isHovered;
$3[21] = t10;
} else {
t10 = $3[21];
}
const content = t10;
let t11;
if ($3[22] !== autoFocus || $3[23] !== content || $3[24] !== handleClick || $3[25] !== handleKeyDown || $3[26] !== ref || $3[27] !== style || $3[28] !== tabIndex) {
t11 = /* @__PURE__ */ jsx_dev_runtime13.jsxDEV(Box_default, {
ref,
tabIndex,
autoFocus,
onKeyDown: handleKeyDown,
onClick: handleClick,
onFocus: handleFocus,
onBlur: handleBlur,
onMouseEnter: handleMouseEnter,
onMouseLeave: handleMouseLeave,
...style,
children: content
}, undefined, false, undefined, this);
$3[22] = autoFocus;
$3[23] = content;
$3[24] = handleClick;
$3[25] = handleKeyDown;
$3[26] = ref;
$3[27] = style;
$3[28] = tabIndex;
$3[29] = t11;
} else {
t11 = $3[29];
}
return t11;
}
function _temp2(setter) {
return setter(false);
}
var import_compiler_runtime10, import_react14, jsx_dev_runtime13, Button_default;
var init_Button = __esm(() => {
init_Box();
import_compiler_runtime10 = __toESM(require_compiler_runtime(), 1);
import_react14 = __toESM(require_react(), 1);
jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
Button_default = Button;
});
// src/ink/components/Newline.tsx
function Newline(t0) {
const $3 = import_compiler_runtime11.c(4);
const {
count: t1
} = t0;
const count3 = t1 === undefined ? 1 : t1;
let t2;
if ($3[0] !== count3) {
t2 = `
`.repeat(count3);
$3[0] = count3;
$3[1] = t2;
} else {
t2 = $3[1];
}
let t3;
if ($3[2] !== t2) {
t3 = /* @__PURE__ */ jsx_dev_runtime14.jsxDEV("ink-text", {
children: t2
}, undefined, false, undefined, this);
$3[2] = t2;
$3[3] = t3;
} else {
t3 = $3[3];
}
return t3;
}
var import_compiler_runtime11, jsx_dev_runtime14;
var init_Newline = __esm(() => {
import_compiler_runtime11 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime14 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/components/NoSelect.tsx
function NoSelect(t0) {
const $3 = import_compiler_runtime12.c(8);
let boxProps;
let children2;
let fromLeftEdge;
if ($3[0] !== t0) {
({
children: children2,
fromLeftEdge,
...boxProps
} = t0);
$3[0] = t0;
$3[1] = boxProps;
$3[2] = children2;
$3[3] = fromLeftEdge;
} else {
boxProps = $3[1];
children2 = $3[2];
fromLeftEdge = $3[3];
}
const t1 = fromLeftEdge ? "from-left-edge" : true;
let t2;
if ($3[4] !== boxProps || $3[5] !== children2 || $3[6] !== t1) {
t2 = /* @__PURE__ */ jsx_dev_runtime15.jsxDEV(Box_default, {
...boxProps,
noSelect: t1,
children: children2
}, undefined, false, undefined, this);
$3[4] = boxProps;
$3[5] = children2;
$3[6] = t1;
$3[7] = t2;
} else {
t2 = $3[7];
}
return t2;
}
var import_compiler_runtime12, jsx_dev_runtime15;
var init_NoSelect = __esm(() => {
init_Box();
import_compiler_runtime12 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime15 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/components/RawAnsi.tsx
function RawAnsi(t0) {
const $3 = import_compiler_runtime13.c(6);
const {
lines,
width
} = t0;
if (lines.length === 0) {
return null;
}
let t1;
if ($3[0] !== lines) {
t1 = lines.join(`
`);
$3[0] = lines;
$3[1] = t1;
} else {
t1 = $3[1];
}
let t2;
if ($3[2] !== lines.length || $3[3] !== t1 || $3[4] !== width) {
t2 = /* @__PURE__ */ jsx_dev_runtime16.jsxDEV("ink-raw-ansi", {
rawText: t1,
rawWidth: width,
rawHeight: lines.length
}, undefined, false, undefined, this);
$3[2] = lines.length;
$3[3] = t1;
$3[4] = width;
$3[5] = t2;
} else {
t2 = $3[5];
}
return t2;
}
var import_compiler_runtime13, jsx_dev_runtime16;
var init_RawAnsi = __esm(() => {
import_compiler_runtime13 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime16 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/components/Spacer.tsx
function Spacer() {
const $3 = import_compiler_runtime14.c(1);
let t0;
if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
t0 = /* @__PURE__ */ jsx_dev_runtime17.jsxDEV(Box_default, {
flexGrow: 1
}, undefined, false, undefined, this);
$3[0] = t0;
} else {
t0 = $3[0];
}
return t0;
}
var import_compiler_runtime14, jsx_dev_runtime17;
var init_Spacer = __esm(() => {
init_Box();
import_compiler_runtime14 = __toESM(require_compiler_runtime(), 1);
jsx_dev_runtime17 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/ink/hooks/use-terminal-viewport.ts
function useTerminalViewport() {
const terminalSize = import_react15.useContext(TerminalSizeContext);
const elementRef = import_react15.useRef(null);
const entryRef = import_react15.useRef({ isVisible: true });
const setElement = import_react15.useCallback((el) => {
elementRef.current = el;
}, []);
import_react15.useLayoutEffect(() => {
const element = elementRef.current;
if (!element?.yogaNode || !terminalSize) {
return;
}
const height = element.yogaNode.getComputedHeight();
const rows = terminalSize.rows;
let absoluteTop = element.yogaNode.getComputedTop();
let parent = element.parentNode;
let root2 = element.yogaNode;
while (parent) {
if (parent.yogaNode) {
absoluteTop += parent.yogaNode.getComputedTop();
root2 = parent.yogaNode;
}
if (parent.scrollTop)
absoluteTop -= parent.scrollTop;
parent = parent.parentNode;
}
const screenHeight = root2.getComputedHeight();
const bottom = absoluteTop + height;
const cursorRestoreScroll = screenHeight > rows ? 1 : 0;
const viewportY = Math.max(0, screenHeight - rows) + cursorRestoreScroll;
const viewportBottom = viewportY + rows;
const visible = bottom > viewportY && absoluteTop < viewportBottom;
if (visible !== entryRef.current.isVisible) {
entryRef.current = { isVisible: visible };
}
});
return [setElement, entryRef.current];
}
var import_react15;
var init_use_terminal_viewport = __esm(() => {
init_TerminalSizeContext();
import_react15 = __toESM(require_react(), 1);
});
// src/ink/hooks/use-animation-frame.ts
function useAnimationFrame(intervalMs = 16) {
const clock = import_react16.useContext(ClockContext);
const [viewportRef, { isVisible }] = useTerminalViewport();
const [time3, setTime] = import_react16.useState(() => clock?.now() ?? 0);
const active = isVisible && intervalMs !== null;
import_react16.useEffect(() => {
if (!clock || !active)
return;
let lastUpdate = clock.now();
const onChange = () => {
const now2 = clock.now();
if (now2 - lastUpdate >= intervalMs) {
lastUpdate = now2;
setTime(now2);
}
};
return clock.subscribe(onChange, true);
}, [clock, intervalMs, active]);
return [viewportRef, time3];
}
var import_react16;
var init_use_animation_frame = __esm(() => {
init_ClockContext();
init_use_terminal_viewport();
import_react16 = __toESM(require_react(), 1);
});
// src/ink/hooks/use-app.ts
var import_react17, useApp = () => import_react17.useContext(AppContext_default), use_app_default;
var init_use_app = __esm(() => {
init_AppContext();
import_react17 = __toESM(require_react(), 1);
use_app_default = useApp;
});
// node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js
var require_lodash8 = __commonJS((exports, module) => {
var FUNC_ERROR_TEXT4 = "Expected a function";
var NAN2 = 0 / 0;
var symbolTag5 = "[object Symbol]";
var reTrim = /^\s+|\s+$/g;
var reIsBadHex2 = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary2 = /^0b[01]+$/i;
var reIsOctal2 = /^0o[0-7]+$/i;
var freeParseInt2 = parseInt;
var freeGlobal2 = typeof global == "object" && global && global.Object === Object && global;
var freeSelf2 = typeof self == "object" && self && self.Object === Object && self;
var root2 = freeGlobal2 || freeSelf2 || Function("return this")();
var objectProto17 = Object.prototype;
var objectToString4 = objectProto17.toString;
var nativeMax3 = Math.max;
var nativeMin2 = Math.min;
var now2 = function() {
return root2.Date.now();
};
function debounce2(func, wait, options) {
var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT4);
}
wait = toNumber2(wait) || 0;
if (isObject6(options)) {
leading = !!options.leading;
maxing = "maxWait" in options;
maxWait = maxing ? nativeMax3(toNumber2(options.maxWait) || 0, wait) : maxWait;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
function invokeFunc(time3) {
var args = lastArgs, thisArg = lastThis;
lastArgs = lastThis = undefined;
lastInvokeTime = time3;
result = func.apply(thisArg, args);
return result;
}
function leadingEdge2(time3) {
lastInvokeTime = time3;
timerId = setTimeout(timerExpired, wait);
return leading ? invokeFunc(time3) : result;
}
function remainingWait(time3) {
var timeSinceLastCall = time3 - lastCallTime, timeSinceLastInvoke = time3 - lastInvokeTime, result2 = wait - timeSinceLastCall;
return maxing ? nativeMin2(result2, maxWait - timeSinceLastInvoke) : result2;
}
function shouldInvoke(time3) {
var timeSinceLastCall = time3 - lastCallTime, timeSinceLastInvoke = time3 - lastInvokeTime;
return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
}
function timerExpired() {
var time3 = now2();
if (shouldInvoke(time3)) {
return trailingEdge2(time3);
}
timerId = setTimeout(timerExpired, remainingWait(time3));
}
function trailingEdge2(time3) {
timerId = undefined;
if (trailing && lastArgs) {
return invokeFunc(time3);
}
lastArgs = lastThis = undefined;
return result;
}
function cancel() {
if (timerId !== undefined) {
clearTimeout(timerId);
}
lastInvokeTime = 0;
lastArgs = lastCallTime = lastThis = timerId = undefined;
}
function flush() {
return timerId === undefined ? result : trailingEdge2(now2());
}
function debounced() {
var time3 = now2(), isInvoking = shouldInvoke(time3);
lastArgs = arguments;
lastThis = this;
lastCallTime = time3;
if (isInvoking) {
if (timerId === undefined) {
return leadingEdge2(lastCallTime);
}
if (maxing) {
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
}
if (timerId === undefined) {
timerId = setTimeout(timerExpired, wait);
}
return result;
}
debounced.cancel = cancel;
debounced.flush = flush;
return debounced;
}
function isObject6(value) {
var type = typeof value;
return !!value && (type == "object" || type == "function");
}
function isObjectLike2(value) {
return !!value && typeof value == "object";
}
function isSymbol2(value) {
return typeof value == "symbol" || isObjectLike2(value) && objectToString4.call(value) == symbolTag5;
}
function toNumber2(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol2(value)) {
return NAN2;
}
if (isObject6(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject6(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = value.replace(reTrim, "");
var isBinary = reIsBinary2.test(value);
return isBinary || reIsOctal2.test(value) ? freeParseInt2(value.slice(2), isBinary ? 2 : 8) : reIsBadHex2.test(value) ? NAN2 : +value;
}
module.exports = debounce2;
});
// node_modules/.pnpm/usehooks-ts@3.1.1_react@19.2.4/node_modules/usehooks-ts/dist/index.js
function useInterval(callback, delay4) {
const savedCallback = import_react18.useRef(callback);
useIsomorphicLayoutEffect(() => {
savedCallback.current = callback;
}, [callback]);
import_react18.useEffect(() => {
if (delay4 === null) {
return;
}
const id = setInterval(() => {
savedCallback.current();
}, delay4);
return () => {
clearInterval(id);
};
}, [delay4]);
}
function useEventCallback(fn) {
const ref = import_react18.useRef(() => {
throw new Error("Cannot call an event handler while rendering.");
});
useIsomorphicLayoutEffect(() => {
ref.current = fn;
}, [fn]);
return import_react18.useCallback((...args) => {
var _a3;
return (_a3 = ref.current) == null ? undefined : _a3.call(ref, ...args);
}, [ref]);
}
function useUnmount(func) {
const funcRef = import_react18.useRef(func);
funcRef.current = func;
import_react18.useEffect(() => () => {
funcRef.current();
}, []);
}
function useDebounceCallback(func, delay4 = 500, options) {
const debouncedFunc = import_react18.useRef();
useUnmount(() => {
if (debouncedFunc.current) {
debouncedFunc.current.cancel();
}
});
const debounced = import_react18.useMemo(() => {
const debouncedFuncInstance = import_lodash.default(func, delay4, options);
const wrappedFunc = (...args) => {
return debouncedFuncInstance(...args);
};
wrappedFunc.cancel = () => {
debouncedFuncInstance.cancel();
};
wrappedFunc.isPending = () => {
return !!debouncedFunc.current;
};
wrappedFunc.flush = () => {
return debouncedFuncInstance.flush();
};
return wrappedFunc;
}, [func, delay4, options]);
import_react18.useEffect(() => {
debouncedFunc.current = import_lodash.default(func, delay4, options);
}, [func, delay4, options]);
return debounced;
}
var import_react18, import_lodash, useIsomorphicLayoutEffect;
var init_dist7 = __esm(() => {
import_react18 = __toESM(require_react(), 1);
import_lodash = __toESM(require_lodash8(), 1);
useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react18.useLayoutEffect : import_react18.useEffect;
});
// src/ink/hooks/use-input.ts
var import_react19, useInput = (inputHandler, options = {}) => {
const { setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = use_stdin_default();
import_react19.useLayoutEffect(() => {
if (options.isActive === false) {
return;
}
setRawMode(true);
return () => {
setRawMode(false);
};
}, [options.isActive, setRawMode]);
const handleData = useEventCallback((event) => {
if (options.isActive === false) {
return;
}
const { input, key } = event;
if (!(input === "c" && key.ctrl) || !internal_exitOnCtrlC) {
inputHandler(input, key, event);
}
});
import_react19.useEffect(() => {
internal_eventEmitter?.on("input", handleData);
return () => {
internal_eventEmitter?.removeListener("input", handleData);
};
}, [internal_eventEmitter, handleData]);
}, use_input_default;
var init_use_input = __esm(() => {
init_dist7();
init_use_stdin();
import_react19 = __toESM(require_react(), 1);
use_input_default = useInput;
});
// src/ink/hooks/use-interval.ts
function useAnimationTimer(intervalMs) {
const clock = import_react20.useContext(ClockContext);
const [time3, setTime] = import_react20.useState(() => clock?.now() ?? 0);
import_react20.useEffect(() => {
if (!clock)
return;
let lastUpdate = clock.now();
const onChange = () => {
const now2 = clock.now();
if (now2 - lastUpdate >= intervalMs) {
lastUpdate = now2;
setTime(now2);
}
};
return clock.subscribe(onChange, false);
}, [clock, intervalMs]);
return time3;
}
function useInterval2(callback, intervalMs) {
const callbackRef = import_react20.useRef(callback);
callbackRef.current = callback;
const clock = import_react20.useContext(ClockContext);
import_react20.useEffect(() => {
if (!clock || intervalMs === null)
return;
let lastUpdate = clock.now();
const onChange = () => {
const now2 = clock.now();
if (now2 - lastUpdate >= intervalMs) {
lastUpdate = now2;
callbackRef.current();
}
};
return clock.subscribe(onChange, false);
}, [clock, intervalMs]);
}
var import_react20;
var init_use_interval = __esm(() => {
init_ClockContext();
import_react20 = __toESM(require_react(), 1);
});
// src/ink/hooks/use-selection.ts
function useSelection() {
import_react21.useContext(StdinContext_default);
const ink = instances_default.get(process.stdout);
return import_react21.useMemo(() => {
if (!ink) {
return {
copySelection: () => "",
copySelectionNoClear: () => "",
clearSelection: () => {},
hasSelection: () => false,
getState: () => null,
subscribe: () => () => {},
shiftAnchor: () => {},
shiftSelection: () => {},
moveFocus: () => {},
captureScrolledRows: () => {},
setSelectionBgColor: () => {}
};
}
return {
copySelection: () => ink.copySelection(),
copySelectionNoClear: () => ink.copySelectionNoClear(),
clearSelection: () => ink.clearTextSelection(),
hasSelection: () => ink.hasTextSelection(),
getState: () => ink.selection,
subscribe: (cb) => ink.subscribeToSelectionChange(cb),
shiftAnchor: (dRow, minRow, maxRow) => shiftAnchor(ink.selection, dRow, minRow, maxRow),
shiftSelection: (dRow, minRow, maxRow) => ink.shiftSelectionForScroll(dRow, minRow, maxRow),
moveFocus: (move) => ink.moveSelectionFocus(move),
captureScrolledRows: (firstRow, lastRow, side) => ink.captureScrolledRows(firstRow, lastRow, side),
setSelectionBgColor: (color2) => ink.setSelectionBgColor(color2)
};
}, [ink]);
}
function useHasSelection() {
import_react21.useContext(StdinContext_default);
const ink = instances_default.get(process.stdout);
return import_react21.useSyncExternalStore(ink ? ink.subscribeToSelectionChange : NO_SUBSCRIBE, ink ? ink.hasTextSelection : ALWAYS_FALSE);
}
var import_react21, NO_SUBSCRIBE = () => () => {}, ALWAYS_FALSE = () => false;
var init_use_selection = __esm(() => {
init_StdinContext();
init_instances();
init_selection();
import_react21 = __toESM(require_react(), 1);
});
// src/ink/hooks/use-tab-status.ts
function useTabStatus(kind) {
const writeRaw = import_react22.useContext(TerminalWriteContext);
const prevKindRef = import_react22.useRef(null);
import_react22.useEffect(() => {
if (kind === null) {
if (prevKindRef.current !== null && writeRaw && supportsTabStatus()) {
writeRaw(wrapForMultiplexer(CLEAR_TAB_STATUS));
}
prevKindRef.current = null;
return;
}
prevKindRef.current = kind;
if (!writeRaw || !supportsTabStatus())
return;
writeRaw(wrapForMultiplexer(tabStatus(TAB_STATUS_PRESETS[kind])));
}, [kind, writeRaw]);
}
var import_react22, rgb = (r2, g2, b2) => ({
type: "rgb",
r: r2,
g: g2,
b: b2
}), TAB_STATUS_PRESETS;
var init_use_tab_status = __esm(() => {
init_osc();
init_useTerminalNotification();
import_react22 = __toESM(require_react(), 1);
TAB_STATUS_PRESETS = {
idle: {
indicator: rgb(0, 215, 95),
status: "Idle",
statusColor: rgb(136, 136, 136)
},
busy: {
indicator: rgb(255, 149, 0),
status: "Working…",
statusColor: rgb(255, 149, 0)
},
waiting: {
indicator: rgb(95, 135, 255),
status: "Waiting",
statusColor: rgb(95, 135, 255)
}
};
});
// src/ink/hooks/use-terminal-title.ts
function useTerminalTitle(title) {
const writeRaw = import_react23.useContext(TerminalWriteContext);
import_react23.useEffect(() => {
if (title === null || !writeRaw)
return;
const clean = stripAnsi(title);
if (process.platform === "win32") {
process.title = clean;
} else {
writeRaw(osc(OSC2.SET_TITLE_AND_ICON, clean));
}
}, [title, writeRaw]);
}
var import_react23;
var init_use_terminal_title = __esm(() => {
init_strip_ansi();
init_osc();
init_useTerminalNotification();
import_react23 = __toESM(require_react(), 1);
});
// src/ink/measure-element.ts
var measureElement = (node) => ({
width: node.yogaNode?.getComputedWidth() ?? 0,
height: node.yogaNode?.getComputedHeight() ?? 0
}), measure_element_default;
var init_measure_element = __esm(() => {
measure_element_default = measureElement;
});
// src/ink.ts
var exports_ink = {};
__export(exports_ink, {
wrapText: () => wrapText2,
useThemeSetting: () => useThemeSetting,
useTheme: () => useTheme,
useTerminalViewport: () => useTerminalViewport,
useTerminalTitle: () => useTerminalTitle,
useTerminalFocus: () => useTerminalFocus,
useTabStatus: () => useTabStatus,
useStdin: () => use_stdin_default,
useSelection: () => useSelection,
usePreviewTheme: () => usePreviewTheme,
useInterval: () => useInterval2,
useInput: () => use_input_default,
useApp: () => use_app_default,
useAnimationTimer: () => useAnimationTimer,
useAnimationFrame: () => useAnimationFrame,
supportsTabStatus: () => supportsTabStatus,
render: () => render,
measureElement: () => measure_element_default,
createRoot: () => createRoot2,
color: () => color,
ThemeProvider: () => ThemeProvider,
Text: () => ThemedText,
TerminalFocusEvent: () => TerminalFocusEvent,
Spacer: () => Spacer,
RawAnsi: () => RawAnsi,
NoSelect: () => NoSelect,
Newline: () => Newline,
Link: () => Link,
InputEvent: () => InputEvent,
FocusManager: () => FocusManager,
EventEmitter: () => EventEmitter3,
Event: () => Event2,
ClickEvent: () => ClickEvent,
Button: () => Button_default,
Box: () => ThemedBox_default,
BaseText: () => Text,
BaseBox: () => Box_default,
Ansi: () => Ansi
});
function withTheme(node) {
return import_react24.createElement(ThemeProvider, null, node);
}
async function render(node, options) {
return root_default(withTheme(node), options);
}
async function createRoot2(options) {
const root2 = await createRoot(options);
return {
...root2,
render: (node) => root2.render(withTheme(node))
};
}
var import_react24;
var init_ink2 = __esm(() => {
init_ThemeProvider();
init_root();
init_color();
init_ThemedBox();
init_ThemedText();
init_ThemeProvider();
init_Ansi();
init_Box();
init_Button();
init_Link();
init_Newline();
init_NoSelect();
init_RawAnsi();
init_Spacer();
init_Text();
init_click_event();
init_emitter();
init_input_event();
init_terminal_focus_event();
init_focus();
init_use_animation_frame();
init_use_app();
init_use_input();
init_use_interval();
init_use_selection();
init_use_stdin();
init_use_tab_status();
init_use_terminal_focus();
init_use_terminal_title();
init_use_terminal_viewport();
init_measure_element();
init_osc();
init_wrap_text();
import_react24 = __toESM(require_react(), 1);
});
// src/hooks/useTerminalSize.ts
function useTerminalSize() {
const size = import_react25.useContext(TerminalSizeContext);
if (!size) {
throw new Error("useTerminalSize must be used within an Ink App component");
}
return size;
}
var import_react25;
var init_useTerminalSize = __esm(() => {
init_TerminalSizeContext();
import_react25 = __toESM(require_react(), 1);
});
// src/components/design-system/Ratchet.tsx
function Ratchet(t0) {
const $3 = import_compiler_runtime15.c(10);
const {
children: children2,
lock: t1
} = t0;
const lock2 = t1 === undefined ? "always" : t1;
const [viewportRef, t2] = useTerminalViewport();
const {
isVisible
} = t2;
const {
rows
} = useTerminalSize();
const innerRef = import_react26.useRef(null);
const maxHeight = import_react26.useRef(0);
const [minHeight, setMinHeight] = import_react26.useState(0);
let t3;
if ($3[0] !== viewportRef) {
t3 = (el) => {
viewportRef(el);
};
$3[0] = viewportRef;
$3[1] = t3;
} else {
t3 = $3[1];
}
const outerRef = t3;
const engaged = lock2 === "always" || !isVisible;
let t4;
if ($3[2] !== rows) {
t4 = () => {
if (!innerRef.current) {
return;
}
const {
height
} = measure_element_default(innerRef.current);
if (height > maxHeight.current) {
maxHeight.current = Math.min(height, rows);
setMinHeight(maxHeight.current);
}
};
$3[2] = rows;
$3[3] = t4;
} else {
t4 = $3[3];
}
import_react26.useLayoutEffect(t4);
const t5 = engaged ? minHeight : undefined;
let t6;
if ($3[4] !== children2) {
t6 = /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(ThemedBox_default, {
ref: innerRef,
flexDirection: "column",
children: children2
}, undefined, false, undefined, this);
$3[4] = children2;
$3[5] = t6;
} else {
t6 = $3[5];
}
let t7;
if ($3[6] !== outerRef || $3[7] !== t5 || $3[8] !== t6) {
t7 = /* @__PURE__ */ jsx_dev_runtime18.jsxDEV(ThemedBox_default, {
minHeight: t5,
ref: outerRef,
children: t6
}, undefined, false, undefined, this);
$3[6] = outerRef;
$3[7] = t5;
$3[8] = t6;
$3[9] = t7;
} else {
t7 = $3[9];
}
return t7;
}
var import_compiler_runtime15, import_react26, jsx_dev_runtime18;
var init_Ratchet = __esm(() => {
init_useTerminalSize();
init_use_terminal_viewport();
init_ink2();
import_compiler_runtime15 = __toESM(require_compiler_runtime(), 1);
import_react26 = __toESM(require_react(), 1);
jsx_dev_runtime18 = __toESM(require_jsx_dev_runtime(), 1);
});
// src/components/MessageResponse.tsx
function MessageResponse(t0) {
const $3 = import_compiler_runtime16.c(8);
const {
children: children2,
height
} = t0;
const isMessageResponse = import_react27.useContext(MessageResponseContext);
if (isMessageResponse) {
return children2;
}
let t1;
if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
t1 = /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(NoSelect, {
fromLeftEdge: true,
flexShrink: 0,
children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(ThemedText, {
dimColor: true,
children: [
" ",
"⎿ "
]
}, undefined, true, undefined, this)
}, undefined, false, undefined, this);
$3[0] = t1;
} else {
t1 = $3[0];
}
let t2;
if ($3[1] !== children2) {
t2 = /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(ThemedBox_default, {
flexShrink: 1,
flexGrow: 1,
children: children2
}, undefined, false, undefined, this);
$3[1] = children2;
$3[2] = t2;
} else {
t2 = $3[2];
}
let t3;
if ($3[3] !== height || $3[4] !== t2) {
t3 = /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(MessageResponseProvider, {
children: /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(ThemedBox_default, {
flexDirection: "row",
height,
overflowY: "hidden",
children: [
t1,
t2
]
}, undefined, true, undefined, this)
}, undefined, false, undefined, this);
$3[3] = height;
$3[4] = t2;
$3[5] = t3;
} else {
t3 = $3[5];
}
const content = t3;
if (height !== undefined) {
return content;
}
let t4;
if ($3[6] !== content) {
t4 = /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(Ratchet, {
lock: "offscreen",
children: content
}, undefined, false, undefined, this);
$3[6] = content;
$3[7] = t4;
} else {
t4 = $3[7];
}
return t4;
}
function MessageResponseProvider(t0) {
const $3 = import_compiler_runtime16.c(2);
const {
children: children2
} = t0;
let t1;
if ($3[0] !== children2) {
t1 = /* @__PURE__ */ jsx_dev_runtime19.jsxDEV(MessageResponseContext.Provider, {
value: true,
children: children2
}, undefined, false, undefined, this);
$3[0] = children2;
$3[1] = t1;
} else {
t1 = $3[1];
}
return t1;
}
var import_compiler_runtime16, React9, import_react27, jsx_dev_runtime19, MessageResponseContext;
var init_MessageResponse = __esm(() => {
init_ink2();
init_Ratchet();
import_compiler_runtime16 = __toESM(require_compiler_runtime(), 1);
React9 = __toESM(require_react(), 1);
import_react27 = __toESM(require_react(), 1);
jsx_dev_runtime19 = __toESM(require_jsx_dev_runtime(), 1);
MessageResponseContext = React9.createContext(false);
});
// src/tools/AgentTool/agentMemory.ts
import { join as join26, normalize as normalize4, sep as sep5 } from "path";
function sanitizeAgentTypeForPath(agentType) {
return agentType.replace(/:/g, "-");
}
function getLocalAgentMemoryDir(dirName) {
if (process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
return join26(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR, "projects", sanitizePath2(findCanonicalGitRoot(getProjectRoot()) ?? getProjectRoot()), "agent-memory-local", dirName) + sep5;
}
return join26(getCwd(), ".claude", "agent-memory-local", dirName) + sep5;
}
function getAgentMemoryDir(agentType, scope) {
const dirName = sanitizeAgentTypeForPath(agentType);
switch (scope) {
case "project":
return join26(getCwd(), ".claude", "agent-memory", dirName) + sep5;
case "local":
return getLocalAgentMemoryDir(dirName);
case "user":
return join26(getMemoryBaseDir(), "agent-memory", dirName) + sep5;
}
}
function isAgentMemoryPath(absolutePath) {
const normalizedPath = normalize4(absolutePath);
const memoryBase = getMemoryBaseDir();
if (normalizedPath.startsWith(join26(memoryBase, "agent-memory") + sep5)) {
return true;
}
if (normalizedPath.startsWith(join26(getCwd(), ".claude", "agent-memory") + sep5)) {
return true;
}
if (process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR) {
if (normalizedPath.includes(sep5 + "agent-memory-local" + sep5) && normalizedPath.startsWith(join26(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR, "projects") + sep5)) {
return true;
}
} else if (normalizedPath.startsWith(join26(getCwd(), ".claude", "agent-memory-local") + sep5)) {
return true;
}
return false;
}
function getMemoryScopeDisplay(memory) {
switch (memory) {
case "user":
return `User (${join26(getMemoryBaseDir(), "agent-memory")}/)`;
case "project":
return "Project (.claude/agent-memory/)";
case "local":
return `Local (${getLocalAgentMemoryDir("...")})`;
default:
return "None";
}
}
function loadAgentMemoryPrompt(agentType, scope) {
let scopeNote;
switch (scope) {
case "user":
scopeNote = "- Since this memory is user-scope, keep learnings general since they apply across all projects";
break;
case "project":
scopeNote = "- Since this memory is project-scope and shared with your team via version control, tailor your memories to this project";
break;
case "local":
scopeNote = "- Since this memory is local-scope (not checked into version control), tailor your memories to this project and machine";
break;
}
const memoryDir = getAgentMemoryDir(agentType, scope);
ensureMemoryDirExists(memoryDir);
const coworkExtraGuidelines = process.env.CLAUDE_COWORK_MEMORY_EXTRA_GUIDELINES;
return buildMemoryPrompt({
displayName: "Persistent Agent Memory",
memoryDir,
extraGuidelines: coworkExtraGuidelines && coworkExtraGuidelines.trim().length > 0 ? [scopeNote, coworkExtraGuidelines] : [scopeNote]
});
}
var init_agentMemory = __esm(() => {
init_state();
init_memdir();
init_paths();
init_cwd();
init_git();
init_path2();
});
// src/tools/ExitPlanModeTool/constants.ts
var EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode", EXIT_PLAN_MODE_V2_TOOL_NAME = "ExitPlanMode";
// src/utils/filePersistence/outputsScanner.ts
function getEnvironmentKind() {
const kind = process.env.CLAUDE_CODE_ENVIRONMENT_KIND;
if (kind === "byoc" || kind === "anthropic_cloud") {
return kind;
}
return null;
}
var init_outputsScanner = __esm(() => {
init_debug();
});
// src/utils/words.ts
import { randomBytes as randomBytes2 } from "crypto";
function randomInt(max) {
const bytes = randomBytes2(4);
const value = bytes.readUInt32BE(0);
return value % max;
}
function pickRandom(array2) {
return array2[randomInt(array2.length)];
}
function generateWordSlug() {
const adjective = pickRandom(ADJECTIVES);
const verb = pickRandom(VERBS);
const noun = pickRandom(NOUNS);
return `${adjective}-${verb}-${noun}`;
}
function generateShortWordSlug() {
const adjective = pickRandom(ADJECTIVES);
const noun = pickRandom(NOUNS);
return `${adjective}-${noun}`;
}
var ADJECTIVES, NOUNS, VERBS;
var init_words = __esm(() => {
ADJECTIVES = [
"abundant",
"ancient",
"bright",
"calm",
"cheerful",
"clever",
"cozy",
"curious",
"dapper",
"dazzling",
"deep",
"delightful",
"eager",
"elegant",
"enchanted",
"fancy",
"fluffy",
"gentle",
"gleaming",
"golden",
"graceful",
"happy",
"hidden",
"humble",
"jolly",
"joyful",
"keen",
"kind",
"lively",
"lovely",
"lucky",
"luminous",
"magical",
"majestic",
"mellow",
"merry",
"mighty",
"misty",
"noble",
"peaceful",
"playful",
"polished",
"precious",
"proud",
"quiet",
"quirky",
"radiant",
"rosy",
"serene",
"shiny",
"silly",
"sleepy",
"smooth",
"snazzy",
"snug",
"snuggly",
"soft",
"sparkling",
"spicy",
"splendid",
"sprightly",
"starry",
"steady",
"sunny",
"swift",
"tender",
"tidy",
"toasty",
"tranquil",
"twinkly",
"valiant",
"vast",
"velvet",
"vivid",
"warm",
"whimsical",
"wild",
"wise",
"witty",
"wondrous",
"zany",
"zesty",
"zippy",
"breezy",
"bubbly",
"buzzing",
"cheeky",
"cosmic",
"cozy",
"crispy",
"crystalline",
"cuddly",
"drifting",
"dreamy",
"effervescent",
"ethereal",
"fizzy",
"flickering",
"floating",
"floofy",
"fluttering",
"foamy",
"frolicking",
"fuzzy",
"giggly",
"glimmering",
"glistening",
"glittery",
"glowing",
"goofy",
"groovy",
"harmonic",
"hazy",
"humming",
"iridescent",
"jaunty",
"jazzy",
"jiggly",
"melodic",
"moonlit",
"mossy",
"nifty",
"peppy",
"prancy",
"purrfect",
"purring",
"quizzical",
"rippling",
"rustling",
"shimmering",
"shimmying",
"snappy",
"snoopy",
"squishy",
"swirling",
"ticklish",
"tingly",
"twinkling",
"velvety",
"wiggly",
"wobbly",
"woolly",
"zazzy",
"abstract",
"adaptive",
"agile",
"async",
"atomic",
"binary",
"cached",
"compiled",
"composed",
"compressed",
"concurrent",
"cryptic",
"curried",
"declarative",
"delegated",
"distributed",
"dynamic",
"eager",
"elegant",
"encapsulated",
"enumerated",
"eventual",
"expressive",
"federated",
"functional",
"generic",
"greedy",
"hashed",
"idempotent",
"immutable",
"imperative",
"indexed",
"inherited",
"iterative",
"lazy",
"lexical",
"linear",
"linked",
"logical",
"memoized",
"modular",
"mutable",
"nested",
"optimized",
"parallel",
"parsed",
"partitioned",
"piped",
"polymorphic",
"pure",
"reactive",
"recursive",
"refactored",
"reflective",
"replicated",
"resilient",
"robust",
"scalable",
"sequential",
"serialized",
"sharded",
"sorted",
"staged",
"stateful",
"stateless",
"streamed",
"structured",
"synchronous",
"synthetic",
"temporal",
"transient",
"typed",
"unified",
"validated",
"vectorized",
"virtual"
];
NOUNS = [
"aurora",
"avalanche",
"blossom",
"breeze",
"brook",
"bubble",
"canyon",
"cascade",
"cloud",
"clover",
"comet",
"coral",
"cosmos",
"creek",
"crescent",
"crystal",
"dawn",
"dewdrop",
"dusk",
"eclipse",
"ember",
"feather",
"fern",
"firefly",
"flame",
"flurry",
"fog",
"forest",
"frost",
"galaxy",
"garden",
"glacier",
"glade",
"grove",
"harbor",
"horizon",
"island",
"lagoon",
"lake",
"leaf",
"lightning",
"meadow",
"meteor",
"mist",
"moon",
"moonbeam",
"mountain",
"nebula",
"nova",
"ocean",
"orbit",
"pebble",
"petal",
"pine",
"planet",
"pond",
"puddle",
"quasar",
"rain",
"rainbow",
"reef",
"ripple",
"river",
"shore",
"sky",
"snowflake",
"spark",
"spring",
"star",
"stardust",
"starlight",
"storm",
"stream",
"summit",
"sun",
"sunbeam",
"sunrise",
"sunset",
"thunder",
"tide",
"twilight",
"valley",
"volcano",
"waterfall",
"wave",
"willow",
"wind",
"alpaca",
"axolotl",
"badger",
"bear",
"beaver",
"bee",
"bird",
"bumblebee",
"bunny",
"cat",
"chipmunk",
"crab",
"crane",
"deer",
"dolphin",
"dove",
"dragon",
"dragonfly",
"duckling",
"eagle",
"elephant",
"falcon",
"finch",
"flamingo",
"fox",
"frog",
"giraffe",
"goose",
"hamster",
"hare",
"hedgehog",
"hippo",
"hummingbird",
"jellyfish",
"kitten",
"koala",
"ladybug",
"lark",
"lemur",
"llama",
"lobster",
"lynx",
"manatee",
"meerkat",
"moth",
"narwhal",
"newt",
"octopus",
"otter",
"owl",
"panda",
"parrot",
"peacock",
"pelican",
"penguin",
"phoenix",
"piglet",
"platypus",
"pony",
"porcupine",
"puffin",
"puppy",
"quail",
"quokka",
"rabbit",
"raccoon",
"raven",
"robin",
"salamander",
"seahorse",
"seal",
"sloth",
"snail",
"sparrow",
"sphinx",
"squid",
"squirrel",
"starfish",
"swan",
"tiger",
"toucan",
"turtle",
"unicorn",
"walrus",
"whale",
"wolf",
"wombat",
"wren",
"yeti",
"zebra",
"acorn",
"anchor",
"balloon",
"beacon",
"biscuit",
"blanket",
"bonbon",
"book",
"boot",
"cake",
"candle",
"candy",
"castle",
"charm",
"clock",
"cocoa",
"cookie",
"crayon",
"crown",
"cupcake",
"donut",
"dream",
"fairy",
"fiddle",
"flask",
"flute",
"fountain",
"gadget",
"gem",
"gizmo",
"globe",
"goblet",
"hammock",
"harp",
"haven",
"hearth",
"honey",
"journal",
"kazoo",
"kettle",
"key",
"kite",
"lantern",
"lemon",
"lighthouse",
"locket",
"lollipop",
"mango",
"map",
"marble",
"marshmallow",
"melody",
"mitten",
"mochi",
"muffin",
"music",
"nest",
"noodle",
"oasis",
"origami",
"pancake",
"parasol",
"peach",
"pearl",
"pebble",
"pie",
"pillow",
"pinwheel",
"pixel",
"pizza",
"plum",
"popcorn",
"pretzel",
"prism",
"pudding",
"pumpkin",
"puzzle",
"quiche",
"quill",
"quilt",
"riddle",
"rocket",
"rose",
"scone",
"scroll",
"shell",
"sketch",
"snowglobe",
"sonnet",
"sparkle",
"spindle",
"sprout",
"sundae",
"swing",
"taco",
"teacup",
"teapot",
"thimble",
"toast",
"token",
"tome",
"tower",
"treasure",
"treehouse",
"trinket",
"truffle",
"tulip",
"umbrella",
"waffle",
"wand",
"whisper",
"whistle",
"widget",
"wreath",
"zephyr",
"abelson",
"adleman",
"aho",
"allen",
"babbage",
"bachman",
"backus",
"barto",
"bengio",
"bentley",
"blum",
"boole",
"brooks",
"catmull",
"cerf",
"cherny",
"church",
"clarke",
"cocke",
"codd",
"conway",
"cook",
"corbato",
"cray",
"curry",
"dahl",
"diffie",
"dijkstra",
"dongarra",
"eich",
"emerson",
"engelbart",
"feigenbaum",
"floyd",
"gosling",
"graham",
"gray",
"hamming",
"hanrahan",
"hartmanis",
"hejlsberg",
"hellman",
"hennessy",
"hickey",
"hinton",
"hoare",
"hollerith",
"hopcroft",
"hopper",
"iverson",
"kahan",
"kahn",
"karp",
"kay",
"kernighan",
"knuth",
"kurzweil",
"lamport",
"lampson",
"lecun",
"lerdorf",
"liskov",
"lovelace",
"matsumoto",
"mccarthy",
"metcalfe",
"micali",
"milner",
"minsky",
"moler",
"moore",
"naur",
"neumann",
"newell",
"nygaard",
"papert",
"parnas",
"pascal",
"patterson",
"pearl",
"perlis",
"pike",
"pnueli",
"rabin",
"reddy",
"ritchie",
"rivest",
"rossum",
"russell",
"scott",
"sedgewick",
"shamir",
"shannon",
"sifakis",
"simon",
"stallman",
"stearns",
"steele",
"stonebraker",
"stroustrup",
"sutherland",
"sutton",
"tarjan",
"thacker",
"thompson",
"torvalds",
"turing",
"ullman",
"valiant",
"wadler",
"wall",
"wigderson",
"wilkes",
"wilkinson",
"wirth",
"wozniak",
"yao"
];
VERBS = [
"baking",
"beaming",
"booping",
"bouncing",
"brewing",
"bubbling",
"chasing",
"churning",
"coalescing",
"conjuring",
"cooking",
"crafting",
"crunching",
"cuddling",
"dancing",
"dazzling",
"discovering",
"doodling",
"dreaming",
"drifting",
"enchanting",
"exploring",
"finding",
"floating",
"fluttering",
"foraging",
"forging",
"frolicking",
"gathering",
"giggling",
"gliding",
"greeting",
"growing",
"hatching",
"herding",
"honking",
"hopping",
"hugging",
"humming",
"imagining",
"inventing",
"jingling",
"juggling",
"jumping",
"kindling",
"knitting",
"launching",
"leaping",
"mapping",
"marinating",
"meandering",
"mixing",
"moseying",
"munching",
"napping",
"nibbling",
"noodling",
"orbiting",
"painting",
"percolating",
"petting",
"plotting",
"pondering",
"popping",
"prancing",
"purring",
"puzzling",
"questing",
"riding",
"roaming",
"rolling",
"sauteeing",
"scribbling",
"seeking",
"shimmying",
"singing",
"skipping",
"sleeping",
"snacking",
"sniffing",
"snuggling",
"soaring",
"sparking",
"spinning",
"splashing",
"sprouting",
"squishing",
"stargazing",
"stirring",
"strolling",
"swimming",
"swinging",
"tickling",
"tinkering",
"toasting",
"tumbling",
"twirling",
"waddling",
"wandering",
"watching",
"weaving",
"whistling",
"wibbling",
"wiggling",
"wishing",
"wobbling",
"wondering",
"yawning",
"zooming"
];
});
// src/utils/plans.ts
import { randomUUID as randomUUID7 } from "crypto";
import { copyFile, writeFile as writeFile4 } from "fs/promises";
import { join as join27, resolve as resolve9, sep as sep6 } from "path";
function getPlanSlug(sessionId) {
const id = sessionId ?? getSessionId();
const cache3 = getPlanSlugCache();
let slug = cache3.get(id);
if (!slug) {
const plansDir = getPlansDirectory();
for (let i3 = 0;i3 < MAX_SLUG_RETRIES; i3++) {
slug = generateWordSlug();
const filePath = join27(plansDir, `${slug}.md`);
if (!getFsImplementation().existsSync(filePath)) {
break;
}
}
cache3.set(id, slug);
}
return slug;
}
function setPlanSlug(sessionId, slug) {
getPlanSlugCache().set(sessionId, slug);
}
function clearAllPlanSlugs() {
getPlanSlugCache().clear();
}
function getPlanFilePath(agentId) {
const planSlug = getPlanSlug(getSessionId());
if (!agentId) {
return join27(getPlansDirectory(), `${planSlug}.md`);
}
return join27(getPlansDirectory(), `${planSlug}-agent-${agentId}.md`);
}
function getPlan(agentId) {
const filePath = getPlanFilePath(agentId);
try {
return getFsImplementation().readFileSync(filePath, { encoding: "utf-8" });
} catch (error52) {
if (isENOENT(error52))
return null;
logError2(error52);
return null;
}
}
function getSlugFromLog(log3) {
return log3.messages.find((m3) => m3.slug)?.slug;
}
async function copyPlanForResume(log3, targetSessionId) {
const slug = getSlugFromLog(log3);
if (!slug) {
return false;
}
const sessionId = targetSessionId ?? getSessionId();
setPlanSlug(sessionId, slug);
const planPath = join27(getPlansDirectory(), `${slug}.md`);
try {
await getFsImplementation().readFile(planPath, { encoding: "utf-8" });
return true;
} catch (e2) {
if (!isENOENT(e2)) {
logError2(e2);
return false;
}
if (getEnvironmentKind() === null) {
return false;
}
logForDebugging(`Plan file missing during resume: ${planPath}. Attempting recovery.`);
const snapshotPlan = findFileSnapshotEntry(log3.messages, "plan");
let recovered = null;
if (snapshotPlan && snapshotPlan.content.length > 0) {
recovered = snapshotPlan.content;
logForDebugging(`Plan recovered from file snapshot, ${recovered.length} chars`, { level: "info" });
} else {
recovered = recoverPlanFromMessages(log3);
if (recovered) {
logForDebugging(`Plan recovered from message history, ${recovered.length} chars`, { level: "info" });
}
}
if (recovered) {
try {
await writeFile4(planPath, recovered, { encoding: "utf-8" });
return true;
} catch (writeError) {
logError2(writeError);
return false;
}
}
logForDebugging("Plan file recovery failed: no file snapshot or plan content found in message history");
return false;
}
}
async function copyPlanForFork(log3, targetSessionId) {
const originalSlug = getSlugFromLog(log3);
if (!originalSlug) {
return false;
}
const plansDir = getPlansDirectory();
const originalPlanPath = join27(plansDir, `${originalSlug}.md`);
const newSlug = getPlanSlug(targetSessionId);
const newPlanPath = join27(plansDir, `${newSlug}.md`);
try {
await copyFile(originalPlanPath, newPlanPath);
return true;
} catch (error52) {
if (isENOENT(error52)) {
return false;
}
logError2(error52);
return false;
}
}
function recoverPlanFromMessages(log3) {
for (let i3 = log3.messages.length - 1;i3 >= 0; i3--) {
const msg = log3.messages[i3];
if (!msg) {
continue;
}
if (msg.type === "assistant") {
const { content } = msg.message;
if (Array.isArray(content)) {
for (const block of content) {
if (block.type === "tool_use" && block.name === EXIT_PLAN_MODE_V2_TOOL_NAME) {
const input = block.input;
const plan = input?.plan;
if (typeof plan === "string" && plan.length > 0) {
return plan;
}
}
}
}
}
if (msg.type === "user") {
const userMsg = msg;
if (typeof userMsg.planContent === "string" && userMsg.planContent.length > 0) {
return userMsg.planContent;
}
}
if (msg.type === "attachment") {
const attachmentMsg = msg;
if (attachmentMsg.attachment?.type === "plan_file_reference") {
const plan = attachmentMsg.attachment.planContent;
if (typeof plan === "string" && plan.length > 0) {
return plan;
}
}
}
}
return null;
}
function findFileSnapshotEntry(messages, key) {
for (let i3 = messages.length - 1;i3 >= 0; i3--) {
const msg = messages[i3];
if (msg?.type === "system" && "subtype" in msg && msg.subtype === "file_snapshot" && "snapshotFiles" in msg) {
const files = msg.snapshotFiles;
return files.find((f3) => f3.key === key);
}
}
return;
}
async function persistFileSnapshotIfRemote() {
if (getEnvironmentKind() === null) {
return;
}
try {
const snapshotFiles = [];
const plan = getPlan();
if (plan) {
snapshotFiles.push({
key: "plan",
path: getPlanFilePath(),
content: plan
});
}
if (snapshotFiles.length === 0) {
return;
}
const message = {
type: "system",
subtype: "file_snapshot",
content: "File snapshot",
level: "info",
isMeta: true,
timestamp: new Date().toISOString(),
uuid: randomUUID7(),
snapshotFiles
};
const { recordTranscript } = await Promise.resolve().then(() => (init_sessionStorage(), exports_sessionStorage));
await recordTranscript([message]);
} catch (error52) {
logError2(error52);
}
}
var MAX_SLUG_RETRIES = 10, getPlansDirectory;
var init_plans = __esm(() => {
init_memoize();
init_state();
init_cwd();
init_debug();
init_envUtils();
init_errors();
init_outputsScanner();
init_fsOperations();
init_log3();
init_settings2();
init_words();
getPlansDirectory = memoize_default(function getPlansDirectory2() {
const settings = getInitialSettings();
const settingsDir = settings.plansDirectory;
let plansPath;
if (settingsDir) {
const cwd2 = getCwd();
const resolved = resolve9(cwd2, settingsDir);
if (!resolved.startsWith(cwd2 + sep6) && resolved !== cwd2) {
logError2(new Error(`plansDirectory must be within project root: ${settingsDir}`));
plansPath = join27(getClaudeConfigHomeDir(), "plans");
} else {
plansPath = resolved;
}
} else {
plansPath = join27(getClaudeConfigHomeDir(), "plans");
}
try {
getFsImplementation().mkdirSync(plansPath);
} catch (error52) {
logError2(error52);
}
return plansPath;
});
});
// src/utils/shell/readOnlyCommandValidation.ts
function ghIsDangerousCallback(_rawCommand, args) {
for (const token of args) {
if (!token)
continue;
let value = token;
if (token.startsWith("-")) {
const eqIdx = token.indexOf("=");
if (eqIdx === -1)
continue;
value = token.slice(eqIdx + 1);
if (!value)
continue;
}
if (!value.includes("/") && !value.includes("://") && !value.includes("@")) {
continue;
}
if (value.includes("://")) {
return true;
}
if (value.includes("@")) {
return true;
}
const slashCount = (value.match(/\//g) || []).length;
if (slashCount >= 2) {
return true;
}
}
return false;
}
function containsVulnerableUncPath(pathOrCommand) {
if (getPlatform() !== "windows") {
return false;
}
const backslashUncPattern = /\\\\[^\s\\/]+(?:@(?:\d+|ssl))?(?:[\\/]|$|\s)/i;
if (backslashUncPattern.test(pathOrCommand)) {
return true;
}
const forwardSlashUncPattern = /(? 1 && FLAG_PATTERN.test(token)) {
const hasEquals = token.includes("=");
const [flag, ...valueParts] = token.split("=");
const inlineValue = valueParts.join("=");
if (!flag) {
return false;
}
const flagArgType = config2.safeFlags[flag];
if (!flagArgType) {
if (options?.commandName === "git" && flag.match(/^-\d+$/)) {
i3++;
continue;
}
if ((options?.commandName === "grep" || options?.commandName === "rg") && flag.startsWith("-") && !flag.startsWith("--") && flag.length > 2) {
const potentialFlag = flag.substring(0, 2);
const potentialValue = flag.substring(2);
if (config2.safeFlags[potentialFlag] && /^\d+$/.test(potentialValue)) {
const flagArgType2 = config2.safeFlags[potentialFlag];
if (flagArgType2 === "number" || flagArgType2 === "string") {
if (validateFlagArgument(potentialValue, flagArgType2)) {
i3++;
continue;
} else {
return false;
}
}
}
}
if (flag.startsWith("-") && !flag.startsWith("--") && flag.length > 2) {
for (let j2 = 1;j2 < flag.length; j2++) {
const singleFlag = "-" + flag[j2];
const flagType = config2.safeFlags[singleFlag];
if (!flagType) {
return false;
}
if (flagType !== "none") {
return false;
}
}
i3++;
continue;
} else {
return false;
}
}
if (flagArgType === "none") {
if (hasEquals) {
return false;
}
i3++;
} else {
let argValue;
if (hasEquals) {
argValue = inlineValue;
i3++;
} else {
if (i3 + 1 >= tokens.length || tokens[i3 + 1] && tokens[i3 + 1].startsWith("-") && tokens[i3 + 1].length > 1 && FLAG_PATTERN.test(tokens[i3 + 1])) {
return false;
}
argValue = tokens[i3 + 1] || "";
i3 += 2;
}
if (flagArgType === "string" && argValue.startsWith("-")) {
if (flag === "--sort" && options?.commandName === "git" && argValue.match(/^-[a-zA-Z]/)) {} else {
return false;
}
}
if (!validateFlagArgument(argValue, flagArgType)) {
return false;
}
}
} else {
i3++;
}
}
return true;
}
var GIT_REF_SELECTION_FLAGS, GIT_DATE_FILTER_FLAGS, GIT_LOG_DISPLAY_FLAGS, GIT_COUNT_FLAGS, GIT_STAT_FLAGS, GIT_COLOR_FLAGS, GIT_PATCH_FLAGS, GIT_AUTHOR_FILTER_FLAGS, GIT_READ_ONLY_COMMANDS, GH_READ_ONLY_COMMANDS, DOCKER_READ_ONLY_COMMANDS, RIPGREP_READ_ONLY_COMMANDS, PYRIGHT_READ_ONLY_COMMANDS, EXTERNAL_READONLY_COMMANDS, FLAG_PATTERN;
var init_readOnlyCommandValidation = __esm(() => {
init_platform2();
GIT_REF_SELECTION_FLAGS = {
"--all": "none",
"--branches": "none",
"--tags": "none",
"--remotes": "none"
};
GIT_DATE_FILTER_FLAGS = {
"--since": "string",
"--after": "string",
"--until": "string",
"--before": "string"
};
GIT_LOG_DISPLAY_FLAGS = {
"--oneline": "none",
"--graph": "none",
"--decorate": "none",
"--no-decorate": "none",
"--date": "string",
"--relative-date": "none"
};
GIT_COUNT_FLAGS = {
"--max-count": "number",
"-n": "number"
};
GIT_STAT_FLAGS = {
"--stat": "none",
"--numstat": "none",
"--shortstat": "none",
"--name-only": "none",
"--name-status": "none"
};
GIT_COLOR_FLAGS = {
"--color": "none",
"--no-color": "none"
};
GIT_PATCH_FLAGS = {
"--patch": "none",
"-p": "none",
"--no-patch": "none",
"--no-ext-diff": "none",
"-s": "none"
};
GIT_AUTHOR_FILTER_FLAGS = {
"--author": "string",
"--committer": "string",
"--grep": "string"
};
GIT_READ_ONLY_COMMANDS = {
"git diff": {
safeFlags: {
...GIT_STAT_FLAGS,
...GIT_COLOR_FLAGS,
"--dirstat": "none",
"--summary": "none",
"--patch-with-stat": "none",
"--word-diff": "none",
"--word-diff-regex": "string",
"--color-words": "none",
"--no-renames": "none",
"--no-ext-diff": "none",
"--check": "none",
"--ws-error-highlight": "string",
"--full-index": "none",
"--binary": "none",
"--abbrev": "number",
"--break-rewrites": "none",
"--find-renames": "none",
"--find-copies": "none",
"--find-copies-harder": "none",
"--irreversible-delete": "none",
"--diff-algorithm": "string",
"--histogram": "none",
"--patience": "none",
"--minimal": "none",
"--ignore-space-at-eol": "none",
"--ignore-space-change": "none",
"--ignore-all-space": "none",
"--ignore-blank-lines": "none",
"--inter-hunk-context": "number",
"--function-context": "none",
"--exit-code": "none",
"--quiet": "none",
"--cached": "none",
"--staged": "none",
"--pickaxe-regex": "none",
"--pickaxe-all": "none",
"--no-index": "none",
"--relative": "string",
"--diff-filter": "string",
"-p": "none",
"-u": "none",
"-s": "none",
"-M": "none",
"-C": "none",
"-B": "none",
"-D": "none",
"-l": "none",
"-S": "string",
"-G": "string",
"-O": "string",
"-R": "none"
}
},
"git log": {
safeFlags: {
...GIT_LOG_DISPLAY_FLAGS,
...GIT_REF_SELECTION_FLAGS,
...GIT_DATE_FILTER_FLAGS,
...GIT_COUNT_FLAGS,
...GIT_STAT_FLAGS,
...GIT_COLOR_FLAGS,
...GIT_PATCH_FLAGS,
...GIT_AUTHOR_FILTER_FLAGS,
"--abbrev-commit": "none",
"--full-history": "none",
"--dense": "none",
"--sparse": "none",
"--simplify-merges": "none",
"--ancestry-path": "none",
"--source": "none",
"--first-parent": "none",
"--merges": "none",
"--no-merges": "none",
"--reverse": "none",
"--walk-reflogs": "none",
"--skip": "number",
"--max-age": "number",
"--min-age": "number",
"--no-min-parents": "none",
"--no-max-parents": "none",
"--follow": "none",
"--no-walk": "none",
"--left-right": "none",
"--cherry-mark": "none",
"--cherry-pick": "none",
"--boundary": "none",
"--topo-order": "none",
"--date-order": "none",
"--author-date-order": "none",
"--pretty": "string",
"--format": "string",
"--diff-filter": "string",
"-S": "string",
"-G": "string",
"--pickaxe-regex": "none",
"--pickaxe-all": "none"
}
},
"git show": {
safeFlags: {
...GIT_LOG_DISPLAY_FLAGS,
...GIT_STAT_FLAGS,
...GIT_COLOR_FLAGS,
...GIT_PATCH_FLAGS,
"--abbrev-commit": "none",
"--word-diff": "none",
"--word-diff-regex": "string",
"--color-words": "none",
"--pretty": "string",
"--format": "string",
"--first-parent": "none",
"--raw": "none",
"--diff-filter": "string",
"-m": "none",
"--quiet": "none"
}
},
"git shortlog": {
safeFlags: {
...GIT_REF_SELECTION_FLAGS,
...GIT_DATE_FILTER_FLAGS,
"-s": "none",
"--summary": "none",
"-n": "none",
"--numbered": "none",
"-e": "none",
"--email": "none",
"-c": "none",
"--committer": "none",
"--group": "string",
"--format": "string",
"--no-merges": "none",
"--author": "string"
}
},
"git reflog": {
safeFlags: {
...GIT_LOG_DISPLAY_FLAGS,
...GIT_REF_SELECTION_FLAGS,
...GIT_DATE_FILTER_FLAGS,
...GIT_COUNT_FLAGS,
...GIT_AUTHOR_FILTER_FLAGS
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
const DANGEROUS_SUBCOMMANDS = new Set(["expire", "delete", "exists"]);
for (const token of args) {
if (!token || token.startsWith("-"))
continue;
if (DANGEROUS_SUBCOMMANDS.has(token)) {
return true;
}
return false;
}
return false;
}
},
"git stash list": {
safeFlags: {
...GIT_LOG_DISPLAY_FLAGS,
...GIT_REF_SELECTION_FLAGS,
...GIT_COUNT_FLAGS
}
},
"git ls-remote": {
safeFlags: {
"--branches": "none",
"-b": "none",
"--tags": "none",
"-t": "none",
"--heads": "none",
"-h": "none",
"--refs": "none",
"--quiet": "none",
"-q": "none",
"--exit-code": "none",
"--get-url": "none",
"--symref": "none",
"--sort": "string"
}
},
"git status": {
safeFlags: {
"--short": "none",
"-s": "none",
"--branch": "none",
"-b": "none",
"--porcelain": "none",
"--long": "none",
"--verbose": "none",
"-v": "none",
"--untracked-files": "string",
"-u": "string",
"--ignored": "none",
"--ignore-submodules": "string",
"--column": "none",
"--no-column": "none",
"--ahead-behind": "none",
"--no-ahead-behind": "none",
"--renames": "none",
"--no-renames": "none",
"--find-renames": "string",
"-M": "string"
}
},
"git blame": {
safeFlags: {
...GIT_COLOR_FLAGS,
"-L": "string",
"--porcelain": "none",
"-p": "none",
"--line-porcelain": "none",
"--incremental": "none",
"--root": "none",
"--show-stats": "none",
"--show-name": "none",
"--show-number": "none",
"-n": "none",
"--show-email": "none",
"-e": "none",
"-f": "none",
"--date": "string",
"-w": "none",
"--ignore-rev": "string",
"--ignore-revs-file": "string",
"-M": "none",
"-C": "none",
"--score-debug": "none",
"--abbrev": "number",
"-s": "none",
"-l": "none",
"-t": "none"
}
},
"git ls-files": {
safeFlags: {
"--cached": "none",
"-c": "none",
"--deleted": "none",
"-d": "none",
"--modified": "none",
"-m": "none",
"--others": "none",
"-o": "none",
"--ignored": "none",
"-i": "none",
"--stage": "none",
"-s": "none",
"--killed": "none",
"-k": "none",
"--unmerged": "none",
"-u": "none",
"--directory": "none",
"--no-empty-directory": "none",
"--eol": "none",
"--full-name": "none",
"--abbrev": "number",
"--debug": "none",
"-z": "none",
"-t": "none",
"-v": "none",
"-f": "none",
"--exclude": "string",
"-x": "string",
"--exclude-from": "string",
"-X": "string",
"--exclude-per-directory": "string",
"--exclude-standard": "none",
"--error-unmatch": "none",
"--recurse-submodules": "none"
}
},
"git config --get": {
safeFlags: {
"--local": "none",
"--global": "none",
"--system": "none",
"--worktree": "none",
"--default": "string",
"--type": "string",
"--bool": "none",
"--int": "none",
"--bool-or-int": "none",
"--path": "none",
"--expiry-date": "none",
"-z": "none",
"--null": "none",
"--name-only": "none",
"--show-origin": "none",
"--show-scope": "none"
}
},
"git remote show": {
safeFlags: {
"-n": "none"
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
const positional = args.filter((a2) => a2 !== "-n");
if (positional.length !== 1)
return true;
return !/^[a-zA-Z0-9_-]+$/.test(positional[0]);
}
},
"git remote": {
safeFlags: {
"-v": "none",
"--verbose": "none"
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
return args.some((a2) => a2 !== "-v" && a2 !== "--verbose");
}
},
"git merge-base": {
safeFlags: {
"--is-ancestor": "none",
"--fork-point": "none",
"--octopus": "none",
"--independent": "none",
"--all": "none"
}
},
"git rev-parse": {
safeFlags: {
"--verify": "none",
"--short": "string",
"--abbrev-ref": "none",
"--symbolic": "none",
"--symbolic-full-name": "none",
"--show-toplevel": "none",
"--show-cdup": "none",
"--show-prefix": "none",
"--git-dir": "none",
"--git-common-dir": "none",
"--absolute-git-dir": "none",
"--show-superproject-working-tree": "none",
"--is-inside-work-tree": "none",
"--is-inside-git-dir": "none",
"--is-bare-repository": "none",
"--is-shallow-repository": "none",
"--is-shallow-update": "none",
"--path-prefix": "none"
}
},
"git rev-list": {
safeFlags: {
...GIT_REF_SELECTION_FLAGS,
...GIT_DATE_FILTER_FLAGS,
...GIT_COUNT_FLAGS,
...GIT_AUTHOR_FILTER_FLAGS,
"--count": "none",
"--reverse": "none",
"--first-parent": "none",
"--ancestry-path": "none",
"--merges": "none",
"--no-merges": "none",
"--min-parents": "number",
"--max-parents": "number",
"--no-min-parents": "none",
"--no-max-parents": "none",
"--skip": "number",
"--max-age": "number",
"--min-age": "number",
"--walk-reflogs": "none",
"--oneline": "none",
"--abbrev-commit": "none",
"--pretty": "string",
"--format": "string",
"--abbrev": "number",
"--full-history": "none",
"--dense": "none",
"--sparse": "none",
"--source": "none",
"--graph": "none"
}
},
"git describe": {
safeFlags: {
"--tags": "none",
"--match": "string",
"--exclude": "string",
"--long": "none",
"--abbrev": "number",
"--always": "none",
"--contains": "none",
"--first-match": "none",
"--exact-match": "none",
"--candidates": "number",
"--dirty": "none",
"--broken": "none"
}
},
"git cat-file": {
safeFlags: {
"-t": "none",
"-s": "none",
"-p": "none",
"-e": "none",
"--batch-check": "none",
"--allow-undetermined-type": "none"
}
},
"git for-each-ref": {
safeFlags: {
"--format": "string",
"--sort": "string",
"--count": "number",
"--contains": "string",
"--no-contains": "string",
"--merged": "string",
"--no-merged": "string",
"--points-at": "string"
}
},
"git grep": {
safeFlags: {
"-e": "string",
"-E": "none",
"--extended-regexp": "none",
"-G": "none",
"--basic-regexp": "none",
"-F": "none",
"--fixed-strings": "none",
"-P": "none",
"--perl-regexp": "none",
"-i": "none",
"--ignore-case": "none",
"-v": "none",
"--invert-match": "none",
"-w": "none",
"--word-regexp": "none",
"-n": "none",
"--line-number": "none",
"-c": "none",
"--count": "none",
"-l": "none",
"--files-with-matches": "none",
"-L": "none",
"--files-without-match": "none",
"-h": "none",
"-H": "none",
"--heading": "none",
"--break": "none",
"--full-name": "none",
"--color": "none",
"--no-color": "none",
"-o": "none",
"--only-matching": "none",
"-A": "number",
"--after-context": "number",
"-B": "number",
"--before-context": "number",
"-C": "number",
"--context": "number",
"--and": "none",
"--or": "none",
"--not": "none",
"--max-depth": "number",
"--untracked": "none",
"--no-index": "none",
"--recurse-submodules": "none",
"--cached": "none",
"--threads": "number",
"-q": "none",
"--quiet": "none"
}
},
"git stash show": {
safeFlags: {
...GIT_STAT_FLAGS,
...GIT_COLOR_FLAGS,
...GIT_PATCH_FLAGS,
"--word-diff": "none",
"--word-diff-regex": "string",
"--diff-filter": "string",
"--abbrev": "number"
}
},
"git worktree list": {
safeFlags: {
"--porcelain": "none",
"-v": "none",
"--verbose": "none",
"--expire": "string"
}
},
"git tag": {
safeFlags: {
"-l": "none",
"--list": "none",
"-n": "number",
"--contains": "string",
"--no-contains": "string",
"--merged": "string",
"--no-merged": "string",
"--sort": "string",
"--format": "string",
"--points-at": "string",
"--column": "none",
"--no-column": "none",
"-i": "none",
"--ignore-case": "none"
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
const flagsWithArgs = new Set([
"--contains",
"--no-contains",
"--merged",
"--no-merged",
"--points-at",
"--sort",
"--format",
"-n"
]);
let i3 = 0;
let seenListFlag = false;
let seenDashDash = false;
while (i3 < args.length) {
const token = args[i3];
if (!token) {
i3++;
continue;
}
if (token === "--" && !seenDashDash) {
seenDashDash = true;
i3++;
continue;
}
if (!seenDashDash && token.startsWith("-")) {
if (token === "--list" || token === "-l") {
seenListFlag = true;
} else if (token[0] === "-" && token[1] !== "-" && token.length > 2 && !token.includes("=") && token.slice(1).includes("l")) {
seenListFlag = true;
}
if (token.includes("=")) {
i3++;
} else if (flagsWithArgs.has(token)) {
i3 += 2;
} else {
i3++;
}
} else {
if (!seenListFlag) {
return true;
}
i3++;
}
}
return false;
}
},
"git branch": {
safeFlags: {
"-l": "none",
"--list": "none",
"-a": "none",
"--all": "none",
"-r": "none",
"--remotes": "none",
"-v": "none",
"-vv": "none",
"--verbose": "none",
"--color": "none",
"--no-color": "none",
"--column": "none",
"--no-column": "none",
"--abbrev": "number",
"--no-abbrev": "none",
"--contains": "string",
"--no-contains": "string",
"--merged": "none",
"--no-merged": "none",
"--points-at": "string",
"--sort": "string",
"--show-current": "none",
"-i": "none",
"--ignore-case": "none"
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
const flagsWithArgs = new Set([
"--contains",
"--no-contains",
"--points-at",
"--sort"
]);
const flagsWithOptionalArgs = new Set(["--merged", "--no-merged"]);
let i3 = 0;
let lastFlag = "";
let seenListFlag = false;
let seenDashDash = false;
while (i3 < args.length) {
const token = args[i3];
if (!token) {
i3++;
continue;
}
if (token === "--" && !seenDashDash) {
seenDashDash = true;
lastFlag = "";
i3++;
continue;
}
if (!seenDashDash && token.startsWith("-")) {
if (token === "--list" || token === "-l") {
seenListFlag = true;
} else if (token[0] === "-" && token[1] !== "-" && token.length > 2 && !token.includes("=") && token.slice(1).includes("l")) {
seenListFlag = true;
}
if (token.includes("=")) {
lastFlag = token.split("=")[0] || "";
i3++;
} else if (flagsWithArgs.has(token)) {
lastFlag = token;
i3 += 2;
} else {
lastFlag = token;
i3++;
}
} else {
const lastFlagHasOptionalArg = flagsWithOptionalArgs.has(lastFlag);
if (!seenListFlag && !lastFlagHasOptionalArg) {
return true;
}
i3++;
}
}
return false;
}
}
};
GH_READ_ONLY_COMMANDS = {
"gh pr view": {
safeFlags: {
"--json": "string",
"--comments": "none",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh pr list": {
safeFlags: {
"--state": "string",
"-s": "string",
"--author": "string",
"--assignee": "string",
"--label": "string",
"--limit": "number",
"-L": "number",
"--base": "string",
"--head": "string",
"--search": "string",
"--json": "string",
"--draft": "none",
"--app": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh pr diff": {
safeFlags: {
"--color": "string",
"--name-only": "none",
"--patch": "none",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh pr checks": {
safeFlags: {
"--watch": "none",
"--required": "none",
"--fail-fast": "none",
"--json": "string",
"--interval": "number",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh issue view": {
safeFlags: {
"--json": "string",
"--comments": "none",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh issue list": {
safeFlags: {
"--state": "string",
"-s": "string",
"--assignee": "string",
"--author": "string",
"--label": "string",
"--limit": "number",
"-L": "number",
"--milestone": "string",
"--search": "string",
"--json": "string",
"--app": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh repo view": {
safeFlags: {
"--json": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh run list": {
safeFlags: {
"--branch": "string",
"-b": "string",
"--status": "string",
"-s": "string",
"--workflow": "string",
"-w": "string",
"--limit": "number",
"-L": "number",
"--json": "string",
"--repo": "string",
"-R": "string",
"--event": "string",
"-e": "string",
"--user": "string",
"-u": "string",
"--created": "string",
"--commit": "string",
"-c": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh run view": {
safeFlags: {
"--log": "none",
"--log-failed": "none",
"--exit-status": "none",
"--verbose": "none",
"-v": "none",
"--json": "string",
"--repo": "string",
"-R": "string",
"--job": "string",
"-j": "string",
"--attempt": "number",
"-a": "number"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh auth status": {
safeFlags: {
"--active": "none",
"-a": "none",
"--hostname": "string",
"-h": "string",
"--json": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh pr status": {
safeFlags: {
"--conflict-status": "none",
"-c": "none",
"--json": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh issue status": {
safeFlags: {
"--json": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh release list": {
safeFlags: {
"--exclude-drafts": "none",
"--exclude-pre-releases": "none",
"--json": "string",
"--limit": "number",
"-L": "number",
"--order": "string",
"-O": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh release view": {
safeFlags: {
"--json": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh workflow list": {
safeFlags: {
"--all": "none",
"-a": "none",
"--json": "string",
"--limit": "number",
"-L": "number",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh workflow view": {
safeFlags: {
"--ref": "string",
"-r": "string",
"--yaml": "none",
"-y": "none",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh label list": {
safeFlags: {
"--json": "string",
"--limit": "number",
"-L": "number",
"--order": "string",
"--search": "string",
"-S": "string",
"--sort": "string",
"--repo": "string",
"-R": "string"
},
additionalCommandIsDangerousCallback: ghIsDangerousCallback
},
"gh search repos": {
safeFlags: {
"--archived": "none",
"--created": "string",
"--followers": "string",
"--forks": "string",
"--good-first-issues": "string",
"--help-wanted-issues": "string",
"--include-forks": "string",
"--json": "string",
"--language": "string",
"--license": "string",
"--limit": "number",
"-L": "number",
"--match": "string",
"--number-topics": "string",
"--order": "string",
"--owner": "string",
"--size": "string",
"--sort": "string",
"--stars": "string",
"--topic": "string",
"--updated": "string",
"--visibility": "string"
}
},
"gh search issues": {
safeFlags: {
"--app": "string",
"--assignee": "string",
"--author": "string",
"--closed": "string",
"--commenter": "string",
"--comments": "string",
"--created": "string",
"--include-prs": "none",
"--interactions": "string",
"--involves": "string",
"--json": "string",
"--label": "string",
"--language": "string",
"--limit": "number",
"-L": "number",
"--locked": "none",
"--match": "string",
"--mentions": "string",
"--milestone": "string",
"--no-assignee": "none",
"--no-label": "none",
"--no-milestone": "none",
"--no-project": "none",
"--order": "string",
"--owner": "string",
"--project": "string",
"--reactions": "string",
"--repo": "string",
"-R": "string",
"--sort": "string",
"--state": "string",
"--team-mentions": "string",
"--updated": "string",
"--visibility": "string"
}
},
"gh search prs": {
safeFlags: {
"--app": "string",
"--assignee": "string",
"--author": "string",
"--base": "string",
"-B": "string",
"--checks": "string",
"--closed": "string",
"--commenter": "string",
"--comments": "string",
"--created": "string",
"--draft": "none",
"--head": "string",
"-H": "string",
"--interactions": "string",
"--involves": "string",
"--json": "string",
"--label": "string",
"--language": "string",
"--limit": "number",
"-L": "number",
"--locked": "none",
"--match": "string",
"--mentions": "string",
"--merged": "none",
"--merged-at": "string",
"--milestone": "string",
"--no-assignee": "none",
"--no-label": "none",
"--no-milestone": "none",
"--no-project": "none",
"--order": "string",
"--owner": "string",
"--project": "string",
"--reactions": "string",
"--repo": "string",
"-R": "string",
"--review": "string",
"--review-requested": "string",
"--reviewed-by": "string",
"--sort": "string",
"--state": "string",
"--team-mentions": "string",
"--updated": "string",
"--visibility": "string"
}
},
"gh search commits": {
safeFlags: {
"--author": "string",
"--author-date": "string",
"--author-email": "string",
"--author-name": "string",
"--committer": "string",
"--committer-date": "string",
"--committer-email": "string",
"--committer-name": "string",
"--hash": "string",
"--json": "string",
"--limit": "number",
"-L": "number",
"--merge": "none",
"--order": "string",
"--owner": "string",
"--parent": "string",
"--repo": "string",
"-R": "string",
"--sort": "string",
"--tree": "string",
"--visibility": "string"
}
},
"gh search code": {
safeFlags: {
"--extension": "string",
"--filename": "string",
"--json": "string",
"--language": "string",
"--limit": "number",
"-L": "number",
"--match": "string",
"--owner": "string",
"--repo": "string",
"-R": "string",
"--size": "string"
}
}
};
DOCKER_READ_ONLY_COMMANDS = {
"docker logs": {
safeFlags: {
"--follow": "none",
"-f": "none",
"--tail": "string",
"-n": "string",
"--timestamps": "none",
"-t": "none",
"--since": "string",
"--until": "string",
"--details": "none"
}
},
"docker inspect": {
safeFlags: {
"--format": "string",
"-f": "string",
"--type": "string",
"--size": "none",
"-s": "none"
}
}
};
RIPGREP_READ_ONLY_COMMANDS = {
rg: {
safeFlags: {
"-e": "string",
"--regexp": "string",
"-f": "string",
"-i": "none",
"--ignore-case": "none",
"-S": "none",
"--smart-case": "none",
"-F": "none",
"--fixed-strings": "none",
"-w": "none",
"--word-regexp": "none",
"-v": "none",
"--invert-match": "none",
"-c": "none",
"--count": "none",
"-l": "none",
"--files-with-matches": "none",
"--files-without-match": "none",
"-n": "none",
"--line-number": "none",
"-o": "none",
"--only-matching": "none",
"-A": "number",
"--after-context": "number",
"-B": "number",
"--before-context": "number",
"-C": "number",
"--context": "number",
"-H": "none",
"-h": "none",
"--heading": "none",
"--no-heading": "none",
"-q": "none",
"--quiet": "none",
"--column": "none",
"-g": "string",
"--glob": "string",
"-t": "string",
"--type": "string",
"-T": "string",
"--type-not": "string",
"--type-list": "none",
"--hidden": "none",
"--no-ignore": "none",
"-u": "none",
"-m": "number",
"--max-count": "number",
"-d": "number",
"--max-depth": "number",
"-a": "none",
"--text": "none",
"-z": "none",
"-L": "none",
"--follow": "none",
"--color": "string",
"--json": "none",
"--stats": "none",
"--help": "none",
"--version": "none",
"--debug": "none",
"--": "none"
}
}
};
PYRIGHT_READ_ONLY_COMMANDS = {
pyright: {
respectsDoubleDash: false,
safeFlags: {
"--outputjson": "none",
"--project": "string",
"-p": "string",
"--pythonversion": "string",
"--pythonplatform": "string",
"--typeshedpath": "string",
"--venvpath": "string",
"--level": "string",
"--stats": "none",
"--verbose": "none",
"--version": "none",
"--dependencies": "none",
"--warnings": "none"
},
additionalCommandIsDangerousCallback: (_rawCommand, args) => {
return args.some((t2) => t2 === "--watch" || t2 === "-w");
}
}
};
EXTERNAL_READONLY_COMMANDS = [
"docker ps",
"docker images"
];
FLAG_PATTERN = /^-[a-zA-Z0-9_-]/;
});
// src/constants/toolLimits.ts
var DEFAULT_MAX_RESULT_SIZE_CHARS = 50000, MAX_TOOL_RESULT_TOKENS = 1e5, BYTES_PER_TOKEN = 4, MAX_TOOL_RESULT_BYTES, MAX_TOOL_RESULTS_PER_MESSAGE_CHARS = 200000, TOOL_SUMMARY_MAX_LENGTH = 50;
var init_toolLimits = __esm(() => {
MAX_TOOL_RESULT_BYTES = MAX_TOOL_RESULT_TOKENS * BYTES_PER_TOKEN;
});
// src/utils/toolResultStorage.ts
import { mkdir as mkdir6, writeFile as writeFile5 } from "fs/promises";
import { join as join28 } from "path";
function getPersistenceThreshold(toolName, declaredMaxResultSizeChars) {
if (!Number.isFinite(declaredMaxResultSizeChars)) {
return declaredMaxResultSizeChars;
}
const overrides = getFeatureValue_CACHED_MAY_BE_STALE(PERSIST_THRESHOLD_OVERRIDE_FLAG, {});
const override = overrides?.[toolName];
if (typeof override === "number" && Number.isFinite(override) && override > 0) {
return override;
}
return Math.min(declaredMaxResultSizeChars, DEFAULT_MAX_RESULT_SIZE_CHARS);
}
function getSessionDir() {
return join28(getProjectDir2(getOriginalCwd()), getSessionId());
}
function getToolResultsDir() {
return join28(getSessionDir(), TOOL_RESULTS_SUBDIR);
}
function getToolResultPath(id, isJson) {
const ext = isJson ? "json" : "txt";
return join28(getToolResultsDir(), `${id}.${ext}`);
}
async function ensureToolResultsDir() {
try {
await mkdir6(getToolResultsDir(), { recursive: true });
} catch {}
}
async function persistToolResult(content, toolUseId) {
const isJson = Array.isArray(content);
if (isJson) {
const hasNonTextContent = content.some((block) => block.type !== "text");
if (hasNonTextContent) {
return {
error: "Cannot persist tool results containing non-text content"
};
}
}
await ensureToolResultsDir();
const filepath = getToolResultPath(toolUseId, isJson);
const contentStr = isJson ? jsonStringify(content, null, 2) : content;
try {
await writeFile5(filepath, contentStr, { encoding: "utf-8", flag: "wx" });
logForDebugging(`Persisted tool result to ${filepath} (${formatFileSize(contentStr.length)})`);
} catch (error52) {
if (getErrnoCode(error52) !== "EEXIST") {
logError2(toError(error52));
return { error: getFileSystemErrorMessage(toError(error52)) };
}
}
const { preview, hasMore } = generatePreview(contentStr, PREVIEW_SIZE_BYTES);
return {
filepath,
originalSize: contentStr.length,
isJson,
preview,
hasMore
};
}
function buildLargeToolResultMessage(result) {
let message = `${PERSISTED_OUTPUT_TAG}
`;
message += `Output too large (${formatFileSize(result.originalSize)}). Full output saved to: ${result.filepath}
`;
message += `Preview (first ${formatFileSize(PREVIEW_SIZE_BYTES)}):
`;
message += result.preview;
message += result.hasMore ? `
...
` : `
`;
message += PERSISTED_OUTPUT_CLOSING_TAG;
return message;
}
async function processToolResultBlock(tool, toolUseResult, toolUseID) {
const toolResultBlock = tool.mapToolResultToToolResultBlockParam(toolUseResult, toolUseID);
return maybePersistLargeToolResult(toolResultBlock, tool.name, getPersistenceThreshold(tool.name, tool.maxResultSizeChars));
}
async function processPreMappedToolResultBlock(toolResultBlock, toolName, maxResultSizeChars) {
return maybePersistLargeToolResult(toolResultBlock, toolName, getPersistenceThreshold(toolName, maxResultSizeChars));
}
function isToolResultContentEmpty(content) {
if (!content)
return true;
if (typeof content === "string")
return content.trim() === "";
if (!Array.isArray(content))
return false;
if (content.length === 0)
return true;
return content.every((block) => typeof block === "object" && ("type" in block) && block.type === "text" && ("text" in block) && (typeof block.text !== "string" || block.text.trim() === ""));
}
async function maybePersistLargeToolResult(toolResultBlock, toolName, persistenceThreshold) {
const content = toolResultBlock.content;
if (isToolResultContentEmpty(content)) {
logEvent("tengu_tool_empty_result", {
toolName: sanitizeToolNameForAnalytics(toolName)
});
return {
...toolResultBlock,
content: `(${toolName} completed with no output)`
};
}
if (!content) {
return toolResultBlock;
}
if (hasImageBlock(content)) {
return toolResultBlock;
}
const size = contentSize(content);
const threshold = persistenceThreshold ?? MAX_TOOL_RESULT_BYTES;
if (size <= threshold) {
return toolResultBlock;
}
const result = await persistToolResult(content, toolResultBlock.tool_use_id);
if (isPersistError(result)) {
return toolResultBlock;
}
const message = buildLargeToolResultMessage(result);
logEvent("tengu_tool_result_persisted", {
toolName: sanitizeToolNameForAnalytics(toolName),
originalSizeBytes: result.originalSize,
persistedSizeBytes: message.length,
estimatedOriginalTokens: Math.ceil(result.originalSize / BYTES_PER_TOKEN),
estimatedPersistedTokens: Math.ceil(message.length / BYTES_PER_TOKEN),
thresholdUsed: threshold
});
return { ...toolResultBlock, content: message };
}
function generatePreview(content, maxBytes) {
if (content.length <= maxBytes) {
return { preview: content, hasMore: false };
}
const truncated = content.slice(0, maxBytes);
const lastNewline = truncated.lastIndexOf(`
`);
const cutPoint = lastNewline > maxBytes * 0.5 ? lastNewline : maxBytes;
return { preview: content.slice(0, cutPoint), hasMore: true };
}
function isPersistError(result) {
return "error" in result;
}
function createContentReplacementState() {
return { seenIds: new Set, replacements: new Map };
}
function cloneContentReplacementState(source) {
return {
seenIds: new Set(source.seenIds),
replacements: new Map(source.replacements)
};
}
function getPerMessageBudgetLimit() {
const override = getFeatureValue_CACHED_MAY_BE_STALE("tengu_hawthorn_window", null);
if (typeof override === "number" && Number.isFinite(override) && override > 0) {
return override;
}
return MAX_TOOL_RESULTS_PER_MESSAGE_CHARS;
}
function provisionContentReplacementState(initialMessages, initialContentReplacements) {
const enabled2 = getFeatureValue_CACHED_MAY_BE_STALE("tengu_hawthorn_steeple", false);
if (!enabled2)
return;
if (initialMessages) {
return reconstructContentReplacementState(initialMessages, initialContentReplacements ?? []);
}
return createContentReplacementState();
}
function isContentAlreadyCompacted(content) {
return typeof content === "string" && content.startsWith(PERSISTED_OUTPUT_TAG);
}
function hasImageBlock(content) {
return Array.isArray(content) && content.some((b2) => typeof b2 === "object" && ("type" in b2) && b2.type === "image");
}
function contentSize(content) {
if (typeof content === "string")
return content.length;
return content.reduce((sum, b2) => sum + (b2.type === "text" ? b2.text.length : 0), 0);
}
function buildToolNameMap(messages) {
const map3 = new Map;
for (const message of messages) {
if (message.type !== "assistant")
continue;
const content = message.message.content;
if (!Array.isArray(content))
continue;
for (const block of content) {
if (block.type === "tool_use") {
map3.set(block.id, block.name);
}
}
}
return map3;
}
function collectCandidatesFromMessage(message) {
if (message.type !== "user" || !Array.isArray(message.message.content)) {
return [];
}
return message.message.content.flatMap((block) => {
if (block.type !== "tool_result" || !block.content)
return [];
if (isContentAlreadyCompacted(block.content))
return [];
if (hasImageBlock(block.content))
return [];
return [
{
toolUseId: block.tool_use_id,
content: block.content,
size: contentSize(block.content)
}
];
});
}
function collectCandidatesByMessage(messages) {
const groups = [];
let current = [];
const flush = () => {
if (current.length > 0)
groups.push(current);
current = [];
};
const seenAsstIds = new Set;
for (const message of messages) {
if (message.type === "user") {
current.push(...collectCandidatesFromMessage(message));
} else if (message.type === "assistant") {
if (!seenAsstIds.has(message.message.id)) {
flush();
seenAsstIds.add(message.message.id);
}
}
}
flush();
return groups;
}
function partitionByPriorDecision(candidates, state3) {
return candidates.reduce((acc, c5) => {
const replacement = state3.replacements.get(c5.toolUseId);
if (replacement !== undefined) {
acc.mustReapply.push({ ...c5, replacement });
} else if (state3.seenIds.has(c5.toolUseId)) {
acc.frozen.push(c5);
} else {
acc.fresh.push(c5);
}
return acc;
}, { mustReapply: [], frozen: [], fresh: [] });
}
function selectFreshToReplace(fresh, frozenSize, limit) {
const sorted = [...fresh].sort((a2, b2) => b2.size - a2.size);
const selected = [];
let remaining = frozenSize + fresh.reduce((sum, c5) => sum + c5.size, 0);
for (const c5 of sorted) {
if (remaining <= limit)
break;
selected.push(c5);
remaining -= c5.size;
}
return selected;
}
function replaceToolResultContents(messages, replacementMap) {
return messages.map((message) => {
if (message.type !== "user" || !Array.isArray(message.message.content)) {
return message;
}
const content = message.message.content;
const needsReplace = content.some((b2) => b2.type === "tool_result" && replacementMap.has(b2.tool_use_id));
if (!needsReplace)
return message;
return {
...message,
message: {
...message.message,
content: content.map((block) => {
if (block.type !== "tool_result")
return block;
const replacement = replacementMap.get(block.tool_use_id);
return replacement === undefined ? block : { ...block, content: replacement };
})
}
};
});
}
async function buildReplacement(candidate) {
const result = await persistToolResult(candidate.content, candidate.toolUseId);
if (isPersistError(result))
return null;
return {
content: buildLargeToolResultMessage(result),
originalSize: result.originalSize
};
}
async function enforceToolResultBudget(messages, state3, skipToolNames = new Set) {
const candidatesByMessage = collectCandidatesByMessage(messages);
const nameByToolUseId = skipToolNames.size > 0 ? buildToolNameMap(messages) : undefined;
const shouldSkip = (id) => nameByToolUseId !== undefined && skipToolNames.has(nameByToolUseId.get(id) ?? "");
const limit = getPerMessageBudgetLimit();
const replacementMap = new Map;
const toPersist = [];
let reappliedCount = 0;
let messagesOverBudget = 0;
for (const candidates of candidatesByMessage) {
const { mustReapply, frozen, fresh } = partitionByPriorDecision(candidates, state3);
mustReapply.forEach((c5) => replacementMap.set(c5.toolUseId, c5.replacement));
reappliedCount += mustReapply.length;
if (fresh.length === 0) {
candidates.forEach((c5) => state3.seenIds.add(c5.toolUseId));
continue;
}
const skipped = fresh.filter((c5) => shouldSkip(c5.toolUseId));
skipped.forEach((c5) => state3.seenIds.add(c5.toolUseId));
const eligible2 = fresh.filter((c5) => !shouldSkip(c5.toolUseId));
const frozenSize = frozen.reduce((sum, c5) => sum + c5.size, 0);
const freshSize = eligible2.reduce((sum, c5) => sum + c5.size, 0);
const selected = frozenSize + freshSize > limit ? selectFreshToReplace(eligible2, frozenSize, limit) : [];
const selectedIds = new Set(selected.map((c5) => c5.toolUseId));
candidates.filter((c5) => !selectedIds.has(c5.toolUseId)).forEach((c5) => state3.seenIds.add(c5.toolUseId));
if (selected.length === 0)
continue;
messagesOverBudget++;
toPersist.push(...selected);
}
if (replacementMap.size === 0 && toPersist.length === 0) {
return { messages, newlyReplaced: [] };
}
const freshReplacements = await Promise.all(toPersist.map(async (c5) => [c5, await buildReplacement(c5)]));
const newlyReplaced = [];
let replacedSize = 0;
for (const [candidate, replacement] of freshReplacements) {
state3.seenIds.add(candidate.toolUseId);
if (replacement === null)
continue;
replacedSize += candidate.size;
replacementMap.set(candidate.toolUseId, replacement.content);
state3.replacements.set(candidate.toolUseId, replacement.content);
newlyReplaced.push({
kind: "tool-result",
toolUseId: candidate.toolUseId,
replacement: replacement.content
});
logEvent("tengu_tool_result_persisted_message_budget", {
originalSizeBytes: replacement.originalSize,
persistedSizeBytes: replacement.content.length,
estimatedOriginalTokens: Math.ceil(replacement.originalSize / BYTES_PER_TOKEN),
estimatedPersistedTokens: Math.ceil(replacement.content.length / BYTES_PER_TOKEN)
});
}
if (replacementMap.size === 0) {
return { messages, newlyReplaced: [] };
}
if (newlyReplaced.length > 0) {
logForDebugging(`Per-message budget: persisted ${newlyReplaced.length} tool results ` + `across ${messagesOverBudget} over-budget message(s), ` + `shed ~${formatFileSize(replacedSize)}, ${reappliedCount} re-applied`);
logEvent("tengu_message_level_tool_result_budget_enforced", {
resultsPersisted: newlyReplaced.length,
messagesOverBudget,
replacedSizeBytes: replacedSize,
reapplied: reappliedCount
});
}
return {
messages: replaceToolResultContents(messages, replacementMap),
newlyReplaced
};
}
async function applyToolResultBudget(messages, state3, writeToTranscript, skipToolNames) {
if (!state3)
return messages;
const result = await enforceToolResultBudget(messages, state3, skipToolNames);
if (result.newlyReplaced.length > 0) {
writeToTranscript?.(result.newlyReplaced);
}
return result.messages;
}
function reconstructContentReplacementState(messages, records, inheritedReplacements) {
const state3 = createContentReplacementState();
const candidateIds = new Set(collectCandidatesByMessage(messages).flat().map((c5) => c5.toolUseId));
for (const id of candidateIds) {
state3.seenIds.add(id);
}
for (const r2 of records) {
if (r2.kind === "tool-result" && candidateIds.has(r2.toolUseId)) {
state3.replacements.set(r2.toolUseId, r2.replacement);
}
}
if (inheritedReplacements) {
for (const [id, replacement] of inheritedReplacements) {
if (candidateIds.has(id) && !state3.replacements.has(id)) {
state3.replacements.set(id, replacement);
}
}
}
return state3;
}
function reconstructForSubagentResume(parentState, resumedMessages, sidechainRecords) {
if (!parentState)
return;
return reconstructContentReplacementState(resumedMessages, sidechainRecords, parentState.replacements);
}
function getFileSystemErrorMessage(error52) {
const nodeError = error52;
if (nodeError.code) {
switch (nodeError.code) {
case "ENOENT":
return `Directory not found: ${nodeError.path ?? "unknown path"}`;
case "EACCES":
return `Permission denied: ${nodeError.path ?? "unknown path"}`;
case "ENOSPC":
return "No space left on device";
case "EROFS":
return "Read-only file system";
case "EMFILE":
return "Too many open files";
case "EEXIST":
return `File already exists: ${nodeError.path ?? "unknown path"}`;
default:
return `${nodeError.code}: ${nodeError.message}`;
}
}
return error52.message;
}
var TOOL_RESULTS_SUBDIR = "tool-results", PERSISTED_OUTPUT_TAG = "", PERSISTED_OUTPUT_CLOSING_TAG = " ", PERSIST_THRESHOLD_OVERRIDE_FLAG = "tengu_satin_quoll", PREVIEW_SIZE_BYTES = 2000;
var init_toolResultStorage = __esm(() => {
init_state();
init_toolLimits();
init_growthbook();
init_analytics();
init_metadata();
init_debug();
init_errors();
init_format();
init_log3();
init_sessionStorage();
init_slowOperations();
});
// src/utils/permissions/permissionsLoader.ts
function shouldAllowManagedPermissionRulesOnly() {
return getSettingsForSource("policySettings")?.allowManagedPermissionRulesOnly === true;
}
function shouldShowAlwaysAllowOptions() {
return !shouldAllowManagedPermissionRulesOnly();
}
function getSettingsForSourceLenient_FOR_EDITING_ONLY_NOT_FOR_READING(source) {
const filePath = getSettingsFilePathForSource(source);
if (!filePath) {
return null;
}
try {
const { resolvedPath } = safeResolvePath(getFsImplementation(), filePath);
const content = readFileSync4(resolvedPath);
if (content.trim() === "") {
return {};
}
const data = safeParseJSON(content, false);
return data && typeof data === "object" ? data : null;
} catch {
return null;
}
}
function settingsJsonToRules(data, source) {
if (!data || !data.permissions) {
return [];
}
const { permissions } = data;
const rules = [];
for (const behavior of SUPPORTED_RULE_BEHAVIORS) {
const behaviorArray = permissions[behavior];
if (behaviorArray) {
for (const ruleString of behaviorArray) {
rules.push({
source,
ruleBehavior: behavior,
ruleValue: permissionRuleValueFromString(ruleString)
});
}
}
}
return rules;
}
function loadAllPermissionRulesFromDisk() {
if (shouldAllowManagedPermissionRulesOnly()) {
return getPermissionRulesForSource("policySettings");
}
const rules = [];
for (const source of getEnabledSettingSources()) {
rules.push(...getPermissionRulesForSource(source));
}
return rules;
}
function getPermissionRulesForSource(source) {
const settingsData = getSettingsForSource(source);
return settingsJsonToRules(settingsData, source);
}
function deletePermissionRuleFromSettings(rule) {
if (!EDITABLE_SOURCES.includes(rule.source)) {
return false;
}
const ruleString = permissionRuleValueToString(rule.ruleValue);
const settingsData = getSettingsForSource(rule.source);
if (!settingsData || !settingsData.permissions) {
return false;
}
const behaviorArray = settingsData.permissions[rule.ruleBehavior];
if (!behaviorArray) {
return false;
}
const normalizeEntry = (raw) => permissionRuleValueToString(permissionRuleValueFromString(raw));
if (!behaviorArray.some((raw) => normalizeEntry(raw) === ruleString)) {
return false;
}
try {
const updatedSettingsData = {
...settingsData,
permissions: {
...settingsData.permissions,
[rule.ruleBehavior]: behaviorArray.filter((raw) => normalizeEntry(raw) !== ruleString)
}
};
const { error: error52 } = updateSettingsForSource(rule.source, updatedSettingsData);
if (error52) {
return false;
}
return true;
} catch (error52) {
logError2(error52);
return false;
}
}
function getEmptyPermissionSettingsJson() {
return {
permissions: {}
};
}
function addPermissionRulesToSettings({
ruleValues,
ruleBehavior
}, source) {
if (shouldAllowManagedPermissionRulesOnly()) {
return false;
}
if (ruleValues.length < 1) {
return true;
}
const ruleStrings = ruleValues.map(permissionRuleValueToString);
const settingsData = getSettingsForSource(source) || getSettingsForSourceLenient_FOR_EDITING_ONLY_NOT_FOR_READING(source) || getEmptyPermissionSettingsJson();
try {
const existingPermissions = settingsData.permissions || {};
const existingRules = existingPermissions[ruleBehavior] || [];
const existingRulesSet = new Set(existingRules.map((raw) => permissionRuleValueToString(permissionRuleValueFromString(raw))));
const newRules = ruleStrings.filter((rule) => !existingRulesSet.has(rule));
if (newRules.length === 0) {
return true;
}
const updatedSettingsData = {
...settingsData,
permissions: {
...existingPermissions,
[ruleBehavior]: [...existingRules, ...newRules]
}
};
const result = updateSettingsForSource(source, updatedSettingsData);
if (result.error) {
throw result.error;
}
return true;
} catch (error52) {
logError2(error52);
return false;
}
}
var SUPPORTED_RULE_BEHAVIORS, EDITABLE_SOURCES;
var init_permissionsLoader = __esm(() => {
init_fileRead();
init_fsOperations();
init_json();
init_log3();
init_constants3();
init_settings2();
init_permissionRuleParser();
SUPPORTED_RULE_BEHAVIORS = [
"allow",
"deny",
"ask"
];
EDITABLE_SOURCES = [
"userSettings",
"projectSettings",
"localSettings"
];
});
// src/utils/permissions/PermissionUpdate.ts
import { posix } from "path";
function extractRules(updates) {
if (!updates)
return [];
return updates.flatMap((update) => {
switch (update.type) {
case "addRules":
return update.rules;
default:
return [];
}
});
}
function hasRules(updates) {
return extractRules(updates).length > 0;
}
function applyPermissionUpdate(context3, update) {
switch (update.type) {
case "setMode":
logForDebugging(`Applying permission update: Setting mode to '${update.mode}'`);
return {
...context3,
mode: update.mode
};
case "addRules": {
const ruleStrings = update.rules.map((rule) => permissionRuleValueToString(rule));
logForDebugging(`Applying permission update: Adding ${update.rules.length} ${update.behavior} rule(s) to destination '${update.destination}': ${jsonStringify(ruleStrings)}`);
const ruleKind = update.behavior === "allow" ? "alwaysAllowRules" : update.behavior === "deny" ? "alwaysDenyRules" : "alwaysAskRules";
return {
...context3,
[ruleKind]: {
...context3[ruleKind],
[update.destination]: [
...context3[ruleKind][update.destination] || [],
...ruleStrings
]
}
};
}
case "replaceRules": {
const ruleStrings = update.rules.map((rule) => permissionRuleValueToString(rule));
logForDebugging(`Replacing all ${update.behavior} rules for destination '${update.destination}' with ${update.rules.length} rule(s): ${jsonStringify(ruleStrings)}`);
const ruleKind = update.behavior === "allow" ? "alwaysAllowRules" : update.behavior === "deny" ? "alwaysDenyRules" : "alwaysAskRules";
return {
...context3,
[ruleKind]: {
...context3[ruleKind],
[update.destination]: ruleStrings
}
};
}
case "addDirectories": {
logForDebugging(`Applying permission update: Adding ${update.directories.length} director${update.directories.length === 1 ? "y" : "ies"} with destination '${update.destination}': ${jsonStringify(update.directories)}`);
const newAdditionalDirs = new Map(context3.additionalWorkingDirectories);
for (const directory of update.directories) {
newAdditionalDirs.set(directory, {
path: directory,
source: update.destination
});
}
return {
...context3,
additionalWorkingDirectories: newAdditionalDirs
};
}
case "removeRules": {
const ruleStrings = update.rules.map((rule) => permissionRuleValueToString(rule));
logForDebugging(`Applying permission update: Removing ${update.rules.length} ${update.behavior} rule(s) from source '${update.destination}': ${jsonStringify(ruleStrings)}`);
const ruleKind = update.behavior === "allow" ? "alwaysAllowRules" : update.behavior === "deny" ? "alwaysDenyRules" : "alwaysAskRules";
const existingRules = context3[ruleKind][update.destination] || [];
const rulesToRemove = new Set(ruleStrings);
const filteredRules = existingRules.filter((rule) => !rulesToRemove.has(rule));
return {
...context3,
[ruleKind]: {
...context3[ruleKind],
[update.destination]: filteredRules
}
};
}
case "removeDirectories": {
logForDebugging(`Applying permission update: Removing ${update.directories.length} director${update.directories.length === 1 ? "y" : "ies"}: ${jsonStringify(update.directories)}`);
const newAdditionalDirs = new Map(context3.additionalWorkingDirectories);
for (const directory of update.directories) {
newAdditionalDirs.delete(directory);
}
return {
...context3,
additionalWorkingDirectories: newAdditionalDirs
};
}
default:
return context3;
}
}
function applyPermissionUpdates(context3, updates) {
let updatedContext = context3;
for (const update of updates) {
updatedContext = applyPermissionUpdate(updatedContext, update);
}
return updatedContext;
}
function supportsPersistence(destination) {
return destination === "localSettings" || destination === "userSettings" || destination === "projectSettings";
}
function persistPermissionUpdate(update) {
if (!supportsPersistence(update.destination))
return;
logForDebugging(`Persisting permission update: ${update.type} to source '${update.destination}'`);
switch (update.type) {
case "addRules": {
logForDebugging(`Persisting ${update.rules.length} ${update.behavior} rule(s) to ${update.destination}`);
addPermissionRulesToSettings({
ruleValues: update.rules,
ruleBehavior: update.behavior
}, update.destination);
break;
}
case "addDirectories": {
logForDebugging(`Persisting ${update.directories.length} director${update.directories.length === 1 ? "y" : "ies"} to ${update.destination}`);
const existingSettings = getSettingsForSource(update.destination);
const existingDirs = existingSettings?.permissions?.additionalDirectories || [];
const dirsToAdd = update.directories.filter((dir) => !existingDirs.includes(dir));
if (dirsToAdd.length > 0) {
const updatedDirs = [...existingDirs, ...dirsToAdd];
updateSettingsForSource(update.destination, {
permissions: {
additionalDirectories: updatedDirs
}
});
}
break;
}
case "removeRules": {
logForDebugging(`Removing ${update.rules.length} ${update.behavior} rule(s) from ${update.destination}`);
const existingSettings = getSettingsForSource(update.destination);
const existingPermissions = existingSettings?.permissions || {};
const existingRules = existingPermissions[update.behavior] || [];
const rulesToRemove = new Set(update.rules.map(permissionRuleValueToString));
const filteredRules = existingRules.filter((rule) => {
const normalized = permissionRuleValueToString(permissionRuleValueFromString(rule));
return !rulesToRemove.has(normalized);
});
updateSettingsForSource(update.destination, {
permissions: {
[update.behavior]: filteredRules
}
});
break;
}
case "removeDirectories": {
logForDebugging(`Removing ${update.directories.length} director${update.directories.length === 1 ? "y" : "ies"} from ${update.destination}`);
const existingSettings = getSettingsForSource(update.destination);
const existingDirs = existingSettings?.permissions?.additionalDirectories || [];
const dirsToRemove = new Set(update.directories);
const filteredDirs = existingDirs.filter((dir) => !dirsToRemove.has(dir));
updateSettingsForSource(update.destination, {
permissions: {
additionalDirectories: filteredDirs
}
});
break;
}
case "setMode": {
logForDebugging(`Persisting mode '${update.mode}' to ${update.destination}`);
updateSettingsForSource(update.destination, {
permissions: {
defaultMode: update.mode
}
});
break;
}
case "replaceRules": {
logForDebugging(`Replacing all ${update.behavior} rules in ${update.destination} with ${update.rules.length} rule(s)`);
const ruleStrings = update.rules.map(permissionRuleValueToString);
updateSettingsForSource(update.destination, {
permissions: {
[update.behavior]: ruleStrings
}
});
break;
}
}
}
function persistPermissionUpdates(updates) {
for (const update of updates) {
persistPermissionUpdate(update);
}
}
function createReadRuleSuggestion(dirPath, destination = "session") {
const pathForPattern = toPosixPath(dirPath);
if (pathForPattern === "/") {
return;
}
const ruleContent = posix.isAbsolute(pathForPattern) ? `/${pathForPattern}/**` : `${pathForPattern}/**`;
return {
type: "addRules",
rules: [
{
toolName: "Read",
ruleContent
}
],
behavior: "allow",
destination
};
}
var init_PermissionUpdate = __esm(() => {
init_debug();
init_settings2();
init_slowOperations();
init_filesystem();
init_permissionRuleParser();
init_permissionsLoader();
});
// src/constants/system.ts
function getCLISyspromptPrefix(options) {
const apiProvider = getAPIProvider();
if (apiProvider === "vertex") {
return DEFAULT_PREFIX;
}
if (options?.isNonInteractive) {
if (options.hasAppendSystemPrompt) {
return AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX;
}
return AGENT_SDK_PREFIX;
}
return DEFAULT_PREFIX;
}
function isAttributionHeaderEnabled() {
if (isEnvDefinedFalsy(process.env.CLAUDE_CODE_ATTRIBUTION_HEADER)) {
return false;
}
return getFeatureValue_CACHED_MAY_BE_STALE("tengu_attribution_header", true);
}
function getAttributionHeader(fingerprint) {
if (!isAttributionHeaderEnabled()) {
return "";
}
const version6 = `${MACRO.VERSION}.${fingerprint}`;
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
const cch = "";
const workload = getWorkload();
const workloadPair = workload ? ` cc_workload=${workload};` : "";
const header = `x-anthropic-billing-header: cc_version=${version6}; cc_entrypoint=${entrypoint};${cch}${workloadPair}`;
logForDebugging(`attribution header ${header}`);
return header;
}
var DEFAULT_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude.`, AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX = `You are Claude Code, Anthropic's official CLI for Claude, running within the Claude Agent SDK.`, AGENT_SDK_PREFIX = `You are a Claude agent, built on Anthropic's Claude Agent SDK.`, CLI_SYSPROMPT_PREFIX_VALUES, CLI_SYSPROMPT_PREFIXES;
var init_system = __esm(() => {
init_growthbook();
init_debug();
init_envUtils();
init_providers();
init_workloadContext();
CLI_SYSPROMPT_PREFIX_VALUES = [
DEFAULT_PREFIX,
AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX,
AGENT_SDK_PREFIX
];
CLI_SYSPROMPT_PREFIXES = new Set(CLI_SYSPROMPT_PREFIX_VALUES);
});
// src/Tool.ts
function filterToolProgressMessages(progressMessagesForMessage) {
return progressMessagesForMessage.filter((msg) => msg.data?.type !== "hook_progress");
}
function toolMatchesName(tool, name3) {
return tool.name === name3 || (tool.aliases?.includes(name3) ?? false);
}
function findToolByName(tools, name3) {
return tools.find((t2) => toolMatchesName(t2, name3));
}
function buildTool(def) {
return {
...TOOL_DEFAULTS,
userFacingName: () => def.name,
...def
};
}
var getEmptyToolPermissionContext = () => ({
mode: "default",
additionalWorkingDirectories: new Map,
alwaysAllowRules: {},
alwaysDenyRules: {},
alwaysAskRules: {},
isBypassPermissionsModeAvailable: false
}), TOOL_DEFAULTS;
var init_Tool = __esm(() => {
TOOL_DEFAULTS = {
isEnabled: () => true,
isConcurrencySafe: (_input) => false,
isReadOnly: (_input) => false,
isDestructive: (_input) => false,
checkPermissions: (input, _ctx) => Promise.resolve({ behavior: "allow", updatedInput: input }),
toAutoClassifierInput: (_input) => "",
userFacingName: (_input) => ""
};
});
// node_modules/.pnpm/tree-kill@1.2.2/node_modules/tree-kill/index.js
var require_tree_kill = __commonJS((exports, module) => {
var childProcess3 = __require("child_process");
var spawn2 = childProcess3.spawn;
var exec3 = childProcess3.exec;
module.exports = function(pid, signal, callback) {
if (typeof signal === "function" && callback === undefined) {
callback = signal;
signal = undefined;
}
pid = parseInt(pid);
if (Number.isNaN(pid)) {
if (callback) {
return callback(new Error("pid must be a number"));
} else {
throw new Error("pid must be a number");
}
}
var tree = {};
var pidsToProcess = {};
tree[pid] = [];
pidsToProcess[pid] = 1;
switch (process.platform) {
case "win32":
exec3("taskkill /pid " + pid + " /T /F", callback);
break;
case "darwin":
buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
return spawn2("pgrep", ["-P", parentPid]);
}, function() {
killAll(tree, signal, callback);
});
break;
default:
buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
return spawn2("ps", ["-o", "pid", "--no-headers", "--ppid", parentPid]);
}, function() {
killAll(tree, signal, callback);
});
break;
}
};
function killAll(tree, signal, callback) {
var killed = {};
try {
Object.keys(tree).forEach(function(pid) {
tree[pid].forEach(function(pidpid) {
if (!killed[pidpid]) {
killPid(pidpid, signal);
killed[pidpid] = 1;
}
});
if (!killed[pid]) {
killPid(pid, signal);
killed[pid] = 1;
}
});
} catch (err) {
if (callback) {
return callback(err);
} else {
throw err;
}
}
if (callback) {
return callback();
}
}
function killPid(pid, signal) {
try {
process.kill(parseInt(pid, 10), signal);
} catch (err) {
if (err.code !== "ESRCH")
throw err;
}
}
function buildProcessTree(parentPid, tree, pidsToProcess, spawnChildProcessesList, cb) {
var ps = spawnChildProcessesList(parentPid);
var allData = "";
ps.stdout.on("data", function(data) {
var data = data.toString("ascii");
allData += data;
});
var onClose = function(code) {
delete pidsToProcess[parentPid];
if (code != 0) {
if (Object.keys(pidsToProcess).length == 0) {
cb();
}
return;
}
allData.match(/\d+/g).forEach(function(pid) {
pid = parseInt(pid, 10);
tree[parentPid].push(pid);
tree[pid] = [];
pidsToProcess[pid] = 1;
buildProcessTree(pid, tree, pidsToProcess, spawnChildProcessesList, cb);
});
};
ps.on("close", onClose);
}
});
// src/utils/task/diskOutput.ts
import { constants as fsConstants4 } from "fs";
import {
mkdir as mkdir7,
open as open5,
stat as stat9,
symlink as symlink2,
unlink as unlink3
} from "fs/promises";
import { join as join29 } from "path";
function getTaskOutputDir() {
if (_taskOutputDir === undefined) {
_taskOutputDir = join29(getProjectTempDir(), getSessionId(), "tasks");
}
return _taskOutputDir;
}
async function ensureOutputDir() {
await mkdir7(getTaskOutputDir(), { recursive: true });
}
function getTaskOutputPath(taskId) {
return join29(getTaskOutputDir(), `${taskId}.output`);
}
function track(p) {
_pendingOps.add(p);
p.finally(() => _pendingOps.delete(p)).catch(() => {});
return p;
}
class DiskTaskOutput {
#path;
#fileHandle = null;
#queue = [];
#bytesWritten = 0;
#capped = false;
#flushPromise = null;
#flushResolve = null;
constructor(taskId) {
this.#path = getTaskOutputPath(taskId);
}
append(content) {
if (this.#capped) {
return;
}
this.#bytesWritten += content.length;
if (this.#bytesWritten > MAX_TASK_OUTPUT_BYTES) {
this.#capped = true;
this.#queue.push(`
[output truncated: exceeded ${MAX_TASK_OUTPUT_BYTES_DISPLAY} disk cap]
`);
} else {
this.#queue.push(content);
}
if (!this.#flushPromise) {
this.#flushPromise = new Promise((resolve10) => {
this.#flushResolve = resolve10;
});
track(this.#drain());
}
}
flush() {
return this.#flushPromise ?? Promise.resolve();
}
cancel() {
this.#queue.length = 0;
}
async#drainAllChunks() {
while (true) {
try {
if (!this.#fileHandle) {
await ensureOutputDir();
this.#fileHandle = await open5(this.#path, process.platform === "win32" ? "a" : fsConstants4.O_WRONLY | fsConstants4.O_APPEND | fsConstants4.O_CREAT | O_NOFOLLOW);
}
while (true) {
await this.#writeAllChunks();
if (this.#queue.length === 0) {
break;
}
}
} finally {
if (this.#fileHandle) {
const fileHandle = this.#fileHandle;
this.#fileHandle = null;
await fileHandle.close();
}
}
if (this.#queue.length) {
continue;
}
break;
}
}
#writeAllChunks() {
return this.#fileHandle.appendFile(this.#queueToBuffers());
}
#queueToBuffers() {
const queue = this.#queue.splice(0, this.#queue.length);
let totalLength = 0;
for (const str of queue) {
totalLength += Buffer.byteLength(str, "utf8");
}
const buffer = Buffer.allocUnsafe(totalLength);
let offset = 0;
for (const str of queue) {
offset += buffer.write(str, offset, "utf8");
}
return buffer;
}
async#drain() {
try {
await this.#drainAllChunks();
} catch (e2) {
logError2(e2);
if (this.#queue.length > 0) {
try {
await this.#drainAllChunks();
} catch (e22) {
logError2(e22);
}
}
} finally {
const resolve10 = this.#flushResolve;
this.#flushPromise = null;
this.#flushResolve = null;
resolve10();
}
}
}
function getOrCreateOutput(taskId) {
let output = outputs.get(taskId);
if (!output) {
output = new DiskTaskOutput(taskId);
outputs.set(taskId, output);
}
return output;
}
function appendTaskOutput(taskId, content) {
getOrCreateOutput(taskId).append(content);
}
function evictTaskOutput(taskId) {
return track((async () => {
const output = outputs.get(taskId);
if (output) {
await output.flush();
outputs.delete(taskId);
}
})());
}
async function getTaskOutputDelta(taskId, fromOffset, maxBytes = DEFAULT_MAX_READ_BYTES) {
try {
const result = await readFileRange(getTaskOutputPath(taskId), fromOffset, maxBytes);
if (!result) {
return { content: "", newOffset: fromOffset };
}
return {
content: result.content,
newOffset: fromOffset + result.bytesRead
};
} catch (e2) {
const code = getErrnoCode(e2);
if (code === "ENOENT") {
return { content: "", newOffset: fromOffset };
}
logError2(e2);
return { content: "", newOffset: fromOffset };
}
}
async function getTaskOutput(taskId, maxBytes = DEFAULT_MAX_READ_BYTES) {
try {
const { content, bytesTotal, bytesRead } = await tailFile(getTaskOutputPath(taskId), maxBytes);
if (bytesTotal > bytesRead) {
return `[${Math.round((bytesTotal - bytesRead) / 1024)}KB of earlier output omitted]
${content}`;
}
return content;
} catch (e2) {
const code = getErrnoCode(e2);
if (code === "ENOENT") {
return "";
}
logError2(e2);
return "";
}
}
function initTaskOutput(taskId) {
return track((async () => {
await ensureOutputDir();
const outputPath = getTaskOutputPath(taskId);
const fh = await open5(outputPath, process.platform === "win32" ? "wx" : fsConstants4.O_WRONLY | fsConstants4.O_CREAT | fsConstants4.O_EXCL | O_NOFOLLOW);
await fh.close();
return outputPath;
})());
}
function initTaskOutputAsSymlink(taskId, targetPath) {
return track((async () => {
try {
await ensureOutputDir();
const outputPath = getTaskOutputPath(taskId);
try {
await symlink2(targetPath, outputPath);
} catch {
await unlink3(outputPath);
await symlink2(targetPath, outputPath);
}
return outputPath;
} catch (error52) {
logError2(error52);
return initTaskOutput(taskId);
}
})());
}
var O_NOFOLLOW, DEFAULT_MAX_READ_BYTES, MAX_TASK_OUTPUT_BYTES, MAX_TASK_OUTPUT_BYTES_DISPLAY = "5GB", _taskOutputDir, _pendingOps, outputs;
var init_diskOutput = __esm(() => {
init_state();
init_errors();
init_fsOperations();
init_log3();
init_filesystem();
O_NOFOLLOW = fsConstants4.O_NOFOLLOW ?? 0;
DEFAULT_MAX_READ_BYTES = 8 * 1024 * 1024;
MAX_TASK_OUTPUT_BYTES = 5 * 1024 * 1024 * 1024;
_pendingOps = new Set;
outputs = new Map;
});
// src/Task.ts
import { randomBytes as randomBytes3 } from "crypto";
function isTerminalTaskStatus(status) {
return status === "completed" || status === "failed" || status === "killed";
}
function getTaskIdPrefix(type) {
return TASK_ID_PREFIXES[type] ?? "x";
}
function generateTaskId(type) {
const prefix = getTaskIdPrefix(type);
const bytes = randomBytes3(8);
let id = prefix;
for (let i3 = 0;i3 < 8; i3++) {
id += TASK_ID_ALPHABET[bytes[i3] % TASK_ID_ALPHABET.length];
}
return id;
}
function createTaskStateBase(id, type, description, toolUseId) {
return {
id,
type,
status: "pending",
description,
toolUseId,
startTime: Date.now(),
outputFile: getTaskOutputPath(id),
outputOffset: 0,
notified: false
};
}
var TASK_ID_PREFIXES, TASK_ID_ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz";
var init_Task = __esm(() => {
init_diskOutput();
TASK_ID_PREFIXES = {
local_bash: "b",
local_agent: "a",
remote_agent: "r",
in_process_teammate: "t",
local_workflow: "w",
monitor_mcp: "m",
dream: "d"
};
});
// src/utils/CircularBuffer.ts
class CircularBuffer {
capacity;
buffer;
head = 0;
size = 0;
constructor(capacity) {
this.capacity = capacity;
this.buffer = new Array(capacity);
}
add(item) {
this.buffer[this.head] = item;
this.head = (this.head + 1) % this.capacity;
if (this.size < this.capacity) {
this.size++;
}
}
addAll(items) {
for (const item of items) {
this.add(item);
}
}
getRecent(count3) {
const result = [];
const start = this.size < this.capacity ? 0 : this.head;
const available = Math.min(count3, this.size);
for (let i3 = 0;i3 < available; i3++) {
const index = (start + this.size - available + i3) % this.capacity;
result.push(this.buffer[index]);
}
return result;
}
toArray() {
if (this.size === 0)
return [];
const result = [];
const start = this.size < this.capacity ? 0 : this.head;
for (let i3 = 0;i3 < this.size; i3++) {
const index = (start + i3) % this.capacity;
result.push(this.buffer[index]);
}
return result;
}
clear() {
this.buffer.length = 0;
this.head = 0;
this.size = 0;
}
length() {
return this.size;
}
}
// src/utils/envValidation.ts
function validateBoundedIntEnvVar(name3, value, defaultValue, upperLimit) {
if (!value) {
return { effective: defaultValue, status: "valid" };
}
const parsed = parseInt(value, 10);
if (isNaN(parsed) || parsed <= 0) {
const result = {
effective: defaultValue,
status: "invalid",
message: `Invalid value "${value}" (using default: ${defaultValue})`
};
logForDebugging(`${name3} ${result.message}`);
return result;
}
if (parsed > upperLimit) {
const result = {
effective: upperLimit,
status: "capped",
message: `Capped from ${parsed} to ${upperLimit}`
};
logForDebugging(`${name3} ${result.message}`);
return result;
}
return { effective: parsed, status: "valid" };
}
var init_envValidation = __esm(() => {
init_debug();
});
// src/utils/shell/outputLimits.ts
function getMaxOutputLength() {
const result = validateBoundedIntEnvVar("BASH_MAX_OUTPUT_LENGTH", process.env.BASH_MAX_OUTPUT_LENGTH, BASH_MAX_OUTPUT_DEFAULT, BASH_MAX_OUTPUT_UPPER_LIMIT);
return result.effective;
}
var BASH_MAX_OUTPUT_UPPER_LIMIT = 150000, BASH_MAX_OUTPUT_DEFAULT = 30000;
var init_outputLimits = __esm(() => {
init_envValidation();
});
// src/utils/task/TaskOutput.ts
import { unlink as unlink4 } from "fs/promises";
var DEFAULT_MAX_MEMORY, POLL_INTERVAL_MS = 1000, PROGRESS_TAIL_BYTES = 4096, TaskOutput;
var init_TaskOutput = __esm(() => {
init_debug();
init_fsOperations();
init_outputLimits();
init_stringUtils();
init_diskOutput();
DEFAULT_MAX_MEMORY = 8 * 1024 * 1024;
TaskOutput = class TaskOutput {
taskId;
path;
stdoutToFile;
#stdoutBuffer = "";
#stderrBuffer = "";
#disk = null;
#recentLines = new CircularBuffer(1000);
#totalLines = 0;
#totalBytes = 0;
#maxMemory;
#onProgress;
#outputFileRedundant = false;
#outputFileSize = 0;
static #registry = new Map;
static #activePolling = new Map;
static #pollInterval = null;
constructor(taskId, onProgress, stdoutToFile = false, maxMemory = DEFAULT_MAX_MEMORY) {
this.taskId = taskId;
this.path = getTaskOutputPath(taskId);
this.stdoutToFile = stdoutToFile;
this.#maxMemory = maxMemory;
this.#onProgress = onProgress;
if (stdoutToFile && onProgress) {
TaskOutput.#registry.set(taskId, this);
}
}
static startPolling(taskId) {
const instance = TaskOutput.#registry.get(taskId);
if (!instance || !instance.#onProgress) {
return;
}
TaskOutput.#activePolling.set(taskId, instance);
if (!TaskOutput.#pollInterval) {
TaskOutput.#pollInterval = setInterval(TaskOutput.#tick, POLL_INTERVAL_MS);
TaskOutput.#pollInterval.unref();
}
}
static stopPolling(taskId) {
TaskOutput.#activePolling.delete(taskId);
if (TaskOutput.#activePolling.size === 0 && TaskOutput.#pollInterval) {
clearInterval(TaskOutput.#pollInterval);
TaskOutput.#pollInterval = null;
}
}
static #tick() {
for (const [, entry] of TaskOutput.#activePolling) {
if (!entry.#onProgress) {
continue;
}
tailFile(entry.path, PROGRESS_TAIL_BYTES).then(({ content, bytesRead, bytesTotal }) => {
if (!entry.#onProgress) {
return;
}
if (!content) {
entry.#onProgress("", "", entry.#totalLines, bytesTotal, false);
return;
}
let pos = content.length;
let n5 = 0;
let n100 = 0;
let lineCount = 0;
while (pos > 0) {
pos = content.lastIndexOf(`
`, pos - 1);
lineCount++;
if (lineCount === 5)
n5 = pos <= 0 ? 0 : pos + 1;
if (lineCount === 100)
n100 = pos <= 0 ? 0 : pos + 1;
}
const totalLines = bytesRead >= bytesTotal ? lineCount : Math.max(entry.#totalLines, Math.round(bytesTotal / bytesRead * lineCount));
entry.#totalLines = totalLines;
entry.#totalBytes = bytesTotal;
entry.#onProgress(content.slice(n5), content.slice(n100), totalLines, bytesTotal, bytesRead < bytesTotal);
}, () => {});
}
}
writeStdout(data) {
this.#writeBuffered(data, false);
}
writeStderr(data) {
this.#writeBuffered(data, true);
}
#writeBuffered(data, isStderr) {
this.#totalBytes += data.length;
this.#updateProgress(data);
if (this.#disk) {
this.#disk.append(isStderr ? `[stderr] ${data}` : data);
return;
}
const totalMem = this.#stdoutBuffer.length + this.#stderrBuffer.length + data.length;
if (totalMem > this.#maxMemory) {
this.#spillToDisk(isStderr ? data : null, isStderr ? null : data);
return;
}
if (isStderr) {
this.#stderrBuffer += data;
} else {
this.#stdoutBuffer += data;
}
}
#updateProgress(data) {
const MAX_PROGRESS_BYTES = 4096;
const MAX_PROGRESS_LINES = 100;
let lineCount = 0;
const lines = [];
let extractedBytes = 0;
let pos = data.length;
while (pos > 0) {
const prev = data.lastIndexOf(`
`, pos - 1);
if (prev === -1) {
break;
}
lineCount++;
if (lines.length < MAX_PROGRESS_LINES && extractedBytes < MAX_PROGRESS_BYTES) {
const lineLen = pos - prev - 1;
if (lineLen > 0 && lineLen <= MAX_PROGRESS_BYTES - extractedBytes) {
const line = data.slice(prev + 1, pos);
if (line.trim()) {
lines.push(Buffer.from(line).toString());
extractedBytes += lineLen;
}
}
}
pos = prev;
}
this.#totalLines += lineCount;
for (let i3 = lines.length - 1;i3 >= 0; i3--) {
this.#recentLines.add(lines[i3]);
}
if (this.#onProgress && lines.length > 0) {
const recent = this.#recentLines.getRecent(5);
this.#onProgress(safeJoinLines(recent, `
`), safeJoinLines(this.#recentLines.getRecent(100), `
`), this.#totalLines, this.#totalBytes, this.#disk !== null);
}
}
#spillToDisk(stderrChunk, stdoutChunk) {
this.#disk = new DiskTaskOutput(this.taskId);
if (this.#stdoutBuffer) {
this.#disk.append(this.#stdoutBuffer);
this.#stdoutBuffer = "";
}
if (this.#stderrBuffer) {
this.#disk.append(`[stderr] ${this.#stderrBuffer}`);
this.#stderrBuffer = "";
}
if (stdoutChunk) {
this.#disk.append(stdoutChunk);
}
if (stderrChunk) {
this.#disk.append(`[stderr] ${stderrChunk}`);
}
}
async getStdout() {
if (this.stdoutToFile) {
return this.#readStdoutFromFile();
}
if (this.#disk) {
const recent = this.#recentLines.getRecent(5);
const tail = safeJoinLines(recent, `
`);
const sizeKB = Math.round(this.#totalBytes / 1024);
const notice = `
Output truncated (${sizeKB}KB total). Full output saved to: ${this.path}`;
return tail ? tail + notice : notice.trimStart();
}
return this.#stdoutBuffer;
}
async#readStdoutFromFile() {
const maxBytes = getMaxOutputLength();
try {
const result = await readFileRange(this.path, 0, maxBytes);
if (!result) {
this.#outputFileRedundant = true;
return "";
}
const { content, bytesRead, bytesTotal } = result;
this.#outputFileSize = bytesTotal;
this.#outputFileRedundant = bytesTotal <= bytesRead;
return content;
} catch (err) {
const code = err instanceof Error && "code" in err ? String(err.code) : "unknown";
logForDebugging(`TaskOutput.#readStdoutFromFile: failed to read ${this.path} (${code}): ${err}`);
return ``;
}
}
getStderr() {
if (this.#disk) {
return "";
}
return this.#stderrBuffer;
}
get isOverflowed() {
return this.#disk !== null;
}
get totalLines() {
return this.#totalLines;
}
get totalBytes() {
return this.#totalBytes;
}
get outputFileRedundant() {
return this.#outputFileRedundant;
}
get outputFileSize() {
return this.#outputFileSize;
}
spillToDisk() {
if (!this.#disk) {
this.#spillToDisk(null, null);
}
}
async flush() {
await this.#disk?.flush();
}
async deleteOutputFile() {
try {
await unlink4(this.path);
} catch {}
}
clear() {
this.#stdoutBuffer = "";
this.#stderrBuffer = "";
this.#recentLines.clear();
this.#onProgress = null;
this.#disk?.cancel();
TaskOutput.stopPolling(this.taskId);
TaskOutput.#registry.delete(this.taskId);
}
};
});
// src/utils/ShellCommand.ts
import { stat as stat10 } from "fs/promises";
function prependStderr(prefix, stderr) {
return stderr ? `${prefix} ${stderr}` : prefix;
}
class StreamWrapper {
#stream;
#isCleanedUp = false;
#taskOutput;
#isStderr;
#onData = this.#dataHandler.bind(this);
constructor(stream4, taskOutput, isStderr) {
this.#stream = stream4;
this.#taskOutput = taskOutput;
this.#isStderr = isStderr;
stream4.setEncoding("utf-8");
stream4.on("data", this.#onData);
}
#dataHandler(data) {
const str = typeof data === "string" ? data : data.toString();
if (this.#isStderr) {
this.#taskOutput.writeStderr(str);
} else {
this.#taskOutput.writeStdout(str);
}
}
cleanup() {
if (this.#isCleanedUp) {
return;
}
this.#isCleanedUp = true;
this.#stream.removeListener("data", this.#onData);
this.#stream = null;
this.#taskOutput = null;
this.#onData = () => {};
}
}
class ShellCommandImpl {
#status = "running";
#backgroundTaskId;
#stdoutWrapper;
#stderrWrapper;
#childProcess;
#timeoutId = null;
#sizeWatchdog = null;
#killedForSize = false;
#maxOutputBytes;
#abortSignal;
#onTimeoutCallback;
#timeout;
#shouldAutoBackground;
#resultResolver = null;
#exitCodeResolver = null;
#boundAbortHandler = null;
taskOutput;
static #handleTimeout(self2) {
if (self2.#shouldAutoBackground && self2.#onTimeoutCallback) {
self2.#onTimeoutCallback(self2.background.bind(self2));
} else {
self2.#doKill(SIGTERM);
}
}
result;
onTimeout;
constructor(childProcess3, abortSignal, timeout, taskOutput, shouldAutoBackground = false, maxOutputBytes = MAX_TASK_OUTPUT_BYTES) {
this.#childProcess = childProcess3;
this.#abortSignal = abortSignal;
this.#timeout = timeout;
this.#shouldAutoBackground = shouldAutoBackground;
this.#maxOutputBytes = maxOutputBytes;
this.taskOutput = taskOutput;
this.#stderrWrapper = childProcess3.stderr ? new StreamWrapper(childProcess3.stderr, taskOutput, true) : null;
this.#stdoutWrapper = childProcess3.stdout ? new StreamWrapper(childProcess3.stdout, taskOutput, false) : null;
if (shouldAutoBackground) {
this.onTimeout = (callback) => {
this.#onTimeoutCallback = callback;
};
}
this.result = this.#createResultPromise();
}
get status() {
return this.#status;
}
#abortHandler() {
if (this.#abortSignal.reason === "interrupt") {
return;
}
this.kill();
}
#exitHandler(code, signal) {
const exitCode = code !== null && code !== undefined ? code : signal === "SIGTERM" ? 144 : 1;
this.#resolveExitCode(exitCode);
}
#errorHandler() {
this.#resolveExitCode(1);
}
#resolveExitCode(code) {
if (this.#exitCodeResolver) {
this.#exitCodeResolver(code);
this.#exitCodeResolver = null;
}
}
#cleanupListeners() {
this.#clearSizeWatchdog();
const timeoutId = this.#timeoutId;
if (timeoutId) {
clearTimeout(timeoutId);
this.#timeoutId = null;
}
const boundAbortHandler = this.#boundAbortHandler;
if (boundAbortHandler) {
this.#abortSignal.removeEventListener("abort", boundAbortHandler);
this.#boundAbortHandler = null;
}
}
#clearSizeWatchdog() {
if (this.#sizeWatchdog) {
clearInterval(this.#sizeWatchdog);
this.#sizeWatchdog = null;
}
}
#startSizeWatchdog() {
this.#sizeWatchdog = setInterval(() => {
stat10(this.taskOutput.path).then((s2) => {
if (s2.size > this.#maxOutputBytes && this.#status === "backgrounded" && this.#sizeWatchdog !== null) {
this.#killedForSize = true;
this.#clearSizeWatchdog();
this.#doKill(SIGKILL);
}
}, () => {});
}, SIZE_WATCHDOG_INTERVAL_MS);
this.#sizeWatchdog.unref();
}
#createResultPromise() {
this.#boundAbortHandler = this.#abortHandler.bind(this);
this.#abortSignal.addEventListener("abort", this.#boundAbortHandler, {
once: true
});
this.#childProcess.once("exit", this.#exitHandler.bind(this));
this.#childProcess.once("error", this.#errorHandler.bind(this));
this.#timeoutId = setTimeout(ShellCommandImpl.#handleTimeout, this.#timeout, this);
const exitPromise = new Promise((resolve10) => {
this.#exitCodeResolver = resolve10;
});
return new Promise((resolve10) => {
this.#resultResolver = resolve10;
exitPromise.then(this.#handleExit.bind(this));
});
}
async#handleExit(code) {
this.#cleanupListeners();
if (this.#status === "running" || this.#status === "backgrounded") {
this.#status = "completed";
}
const stdout = await this.taskOutput.getStdout();
const result = {
code,
stdout,
stderr: this.taskOutput.getStderr(),
interrupted: code === SIGKILL,
backgroundTaskId: this.#backgroundTaskId
};
if (this.taskOutput.stdoutToFile && !this.#backgroundTaskId) {
if (this.taskOutput.outputFileRedundant) {
this.taskOutput.deleteOutputFile();
} else {
result.outputFilePath = this.taskOutput.path;
result.outputFileSize = this.taskOutput.outputFileSize;
result.outputTaskId = this.taskOutput.taskId;
}
}
if (this.#killedForSize) {
result.stderr = prependStderr(`Background command killed: output file exceeded ${MAX_TASK_OUTPUT_BYTES_DISPLAY}`, result.stderr);
} else if (code === SIGTERM) {
result.stderr = prependStderr(`Command timed out after ${formatDuration(this.#timeout)}`, result.stderr);
}
const resultResolver = this.#resultResolver;
if (resultResolver) {
this.#resultResolver = null;
resultResolver(result);
}
}
#doKill(code) {
this.#status = "killed";
if (this.#childProcess.pid) {
import_tree_kill.default(this.#childProcess.pid, "SIGKILL");
}
this.#resolveExitCode(code ?? SIGKILL);
}
kill() {
this.#doKill();
}
background(taskId) {
if (this.#status === "running") {
this.#backgroundTaskId = taskId;
this.#status = "backgrounded";
this.#cleanupListeners();
if (this.taskOutput.stdoutToFile) {
this.#startSizeWatchdog();
} else {
this.taskOutput.spillToDisk();
}
return true;
}
return false;
}
cleanup() {
this.#stdoutWrapper?.cleanup();
this.#stderrWrapper?.cleanup();
this.taskOutput.clear();
this.#cleanupListeners();
this.#childProcess = null;
this.#abortSignal = null;
this.#onTimeoutCallback = undefined;
}
}
function wrapSpawn(childProcess3, abortSignal, timeout, taskOutput, shouldAutoBackground = false, maxOutputBytes = MAX_TASK_OUTPUT_BYTES) {
return new ShellCommandImpl(childProcess3, abortSignal, timeout, taskOutput, shouldAutoBackground, maxOutputBytes);
}
class AbortedShellCommand {
status = "killed";
result;
taskOutput;
constructor(opts) {
this.taskOutput = new TaskOutput(generateTaskId("local_bash"), null);
this.result = Promise.resolve({
code: opts?.code ?? 145,
stdout: "",
stderr: opts?.stderr ?? "Command aborted before execution",
interrupted: true,
backgroundTaskId: opts?.backgroundTaskId
});
}
background() {
return false;
}
kill() {}
cleanup() {}
}
function createAbortedCommand(backgroundTaskId, opts) {
return new AbortedShellCommand({
backgroundTaskId,
...opts
});
}
function createFailedCommand(preSpawnError) {
const taskOutput = new TaskOutput(generateTaskId("local_bash"), null);
return {
status: "completed",
result: Promise.resolve({
code: 1,
stdout: "",
stderr: preSpawnError,
interrupted: false,
preSpawnError
}),
taskOutput,
background() {
return false;
},
kill() {},
cleanup() {}
};
}
var import_tree_kill, SIGKILL = 137, SIGTERM = 143, SIZE_WATCHDOG_INTERVAL_MS = 5000;
var init_ShellCommand = __esm(() => {
init_Task();
init_format();
init_diskOutput();
init_TaskOutput();
import_tree_kill = __toESM(require_tree_kill(), 1);
});
// node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/quote.js
var require_quote = __commonJS((exports, module) => {
module.exports = function quote(xs) {
return xs.map(function(s2) {
if (s2 === "") {
return "''";
}
if (s2 && typeof s2 === "object") {
return s2.op.replace(/(.)/g, "\\$1");
}
if (/["\s\\]/.test(s2) && !/'/.test(s2)) {
return "'" + s2.replace(/(['])/g, "\\$1") + "'";
}
if (/["'\s]/.test(s2)) {
return '"' + s2.replace(/(["\\$`!])/g, "\\$1") + '"';
}
return String(s2).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g, "$1\\$2");
}).join(" ");
};
});
// node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/parse.js
var require_parse7 = __commonJS((exports, module) => {
var CONTROL = "(?:" + [
"\\|\\|",
"\\&\\&",
";;",
"\\|\\&",
"\\<\\(",
"\\<\\<\\<",
">>",
">\\&",
"<\\&",
"[&;()|<>]"
].join("|") + ")";
var controlRE = new RegExp("^" + CONTROL + "$");
var META = "|&;()<> \\t";
var SINGLE_QUOTE = '"((\\\\"|[^"])*?)"';
var DOUBLE_QUOTE = "'((\\\\'|[^'])*?)'";
var hash3 = /^#$/;
var SQ = "'";
var DQ = '"';
var DS = "$";
var TOKEN = "";
var mult = 4294967296;
for (i3 = 0;i3 < 4; i3++) {
TOKEN += (mult * Math.random()).toString(16);
}
var i3;
var startsWithToken = new RegExp("^" + TOKEN);
function matchAll2(s2, r2) {
var origIndex = r2.lastIndex;
var matches = [];
var matchObj;
while (matchObj = r2.exec(s2)) {
matches.push(matchObj);
if (r2.lastIndex === matchObj.index) {
r2.lastIndex += 1;
}
}
r2.lastIndex = origIndex;
return matches;
}
function getVar(env6, pre, key) {
var r2 = typeof env6 === "function" ? env6(key) : env6[key];
if (typeof r2 === "undefined" && key != "") {
r2 = "";
} else if (typeof r2 === "undefined") {
r2 = "$";
}
if (typeof r2 === "object") {
return pre + TOKEN + JSON.stringify(r2) + TOKEN;
}
return pre + r2;
}
function parseInternal(string4, env6, opts) {
if (!opts) {
opts = {};
}
var BS = opts.escape || "\\";
var BAREWORD = "(\\" + BS + `['"` + META + `]|[^\\s'"` + META + "])+";
var chunker = new RegExp([
"(" + CONTROL + ")",
"(" + BAREWORD + "|" + SINGLE_QUOTE + "|" + DOUBLE_QUOTE + ")+"
].join("|"), "g");
var matches = matchAll2(string4, chunker);
if (matches.length === 0) {
return [];
}
if (!env6) {
env6 = {};
}
var commented = false;
return matches.map(function(match) {
var s2 = match[0];
if (!s2 || commented) {
return;
}
if (controlRE.test(s2)) {
return { op: s2 };
}
var quote = false;
var esc2 = false;
var out = "";
var isGlob = false;
var i4;
function parseEnvVar() {
i4 += 1;
var varend;
var varname;
var char = s2.charAt(i4);
if (char === "{") {
i4 += 1;
if (s2.charAt(i4) === "}") {
throw new Error("Bad substitution: " + s2.slice(i4 - 2, i4 + 1));
}
varend = s2.indexOf("}", i4);
if (varend < 0) {
throw new Error("Bad substitution: " + s2.slice(i4));
}
varname = s2.slice(i4, varend);
i4 = varend;
} else if (/[*@#?$!_-]/.test(char)) {
varname = char;
i4 += 1;
} else {
var slicedFromI = s2.slice(i4);
varend = slicedFromI.match(/[^\w\d_]/);
if (!varend) {
varname = slicedFromI;
i4 = s2.length;
} else {
varname = slicedFromI.slice(0, varend.index);
i4 += varend.index - 1;
}
}
return getVar(env6, "", varname);
}
for (i4 = 0;i4 < s2.length; i4++) {
var c5 = s2.charAt(i4);
isGlob = isGlob || !quote && (c5 === "*" || c5 === "?");
if (esc2) {
out += c5;
esc2 = false;
} else if (quote) {
if (c5 === quote) {
quote = false;
} else if (quote == SQ) {
out += c5;
} else {
if (c5 === BS) {
i4 += 1;
c5 = s2.charAt(i4);
if (c5 === DQ || c5 === BS || c5 === DS) {
out += c5;
} else {
out += BS + c5;
}
} else if (c5 === DS) {
out += parseEnvVar();
} else {
out += c5;
}
}
} else if (c5 === DQ || c5 === SQ) {
quote = c5;
} else if (controlRE.test(c5)) {
return { op: s2 };
} else if (hash3.test(c5)) {
commented = true;
var commentObj = { comment: string4.slice(match.index + i4 + 1) };
if (out.length) {
return [out, commentObj];
}
return [commentObj];
} else if (c5 === BS) {
esc2 = true;
} else if (c5 === DS) {
out += parseEnvVar();
} else {
out += c5;
}
}
if (isGlob) {
return { op: "glob", pattern: out };
}
return out;
}).reduce(function(prev, arg) {
return typeof arg === "undefined" ? prev : prev.concat(arg);
}, []);
}
module.exports = function parse9(s2, env6, opts) {
var mapped = parseInternal(s2, env6, opts);
if (typeof env6 !== "function") {
return mapped;
}
return mapped.reduce(function(acc, s3) {
if (typeof s3 === "object") {
return acc.concat(s3);
}
var xs = s3.split(RegExp("(" + TOKEN + ".*?" + TOKEN + ")", "g"));
if (xs.length === 1) {
return acc.concat(xs[0]);
}
return acc.concat(xs.filter(Boolean).map(function(x4) {
if (startsWithToken.test(x4)) {
return JSON.parse(x4.split(TOKEN)[1]);
}
return x4;
}));
}, []);
};
});
// node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/index.js
var $quote, $parse;
var init_shell_quote = __esm(() => {
$quote = require_quote();
$parse = require_parse7();
});
// src/utils/bash/shellQuote.ts
function tryParseShellCommand(cmd, env6) {
try {
const tokens = typeof env6 === "function" ? $parse(cmd, env6) : $parse(cmd, env6);
return { success: true, tokens };
} catch (error52) {
if (error52 instanceof Error) {
logError2(error52);
}
return {
success: false,
error: error52 instanceof Error ? error52.message : "Unknown parse error"
};
}
}
function tryQuoteShellArgs(args) {
try {
const validated = args.map((arg, index) => {
if (arg === null || arg === undefined) {
return String(arg);
}
const type = typeof arg;
if (type === "string") {
return arg;
}
if (type === "number" || type === "boolean") {
return String(arg);
}
if (type === "object") {
throw new Error(`Cannot quote argument at index ${index}: object values are not supported`);
}
if (type === "symbol") {
throw new Error(`Cannot quote argument at index ${index}: symbol values are not supported`);
}
if (type === "function") {
throw new Error(`Cannot quote argument at index ${index}: function values are not supported`);
}
throw new Error(`Cannot quote argument at index ${index}: unsupported type ${type}`);
});
const quoted = $quote(validated);
return { success: true, quoted };
} catch (error52) {
if (error52 instanceof Error) {
logError2(error52);
}
return {
success: false,
error: error52 instanceof Error ? error52.message : "Unknown quote error"
};
}
}
function hasMalformedTokens(command, parsed) {
let inSingle = false;
let inDouble = false;
let doubleCount = 0;
let singleCount = 0;
for (let i3 = 0;i3 < command.length; i3++) {
const c5 = command[i3];
if (c5 === "\\" && !inSingle) {
i3++;
continue;
}
if (c5 === '"' && !inSingle) {
doubleCount++;
inDouble = !inDouble;
} else if (c5 === "'" && !inDouble) {
singleCount++;
inSingle = !inSingle;
}
}
if (doubleCount % 2 !== 0 || singleCount % 2 !== 0)
return true;
for (const entry of parsed) {
if (typeof entry !== "string")
continue;
const openBraces = (entry.match(/{/g) || []).length;
const closeBraces = (entry.match(/}/g) || []).length;
if (openBraces !== closeBraces)
return true;
const openParens = (entry.match(/\(/g) || []).length;
const closeParens = (entry.match(/\)/g) || []).length;
if (openParens !== closeParens)
return true;
const openBrackets = (entry.match(/\[/g) || []).length;
const closeBrackets = (entry.match(/\]/g) || []).length;
if (openBrackets !== closeBrackets)
return true;
const doubleQuotes = entry.match(/(?= 0 && command[j2] === "\\") {
backslashCount++;
j2--;
}
if (backslashCount > 0 && backslashCount % 2 === 1) {
return true;
}
if (backslashCount > 0 && backslashCount % 2 === 0 && command.indexOf("'", i3 + 1) !== -1) {
return true;
}
}
continue;
}
}
return false;
}
function quote(args) {
const result = tryQuoteShellArgs([...args]);
if (result.success) {
return result.quoted;
}
try {
const stringArgs = args.map((arg) => {
if (arg === null || arg === undefined) {
return String(arg);
}
const type = typeof arg;
if (type === "string" || type === "number" || type === "boolean") {
return String(arg);
}
return jsonStringify(arg);
});
return $quote(stringArgs);
} catch (error52) {
if (error52 instanceof Error) {
logError2(error52);
}
throw new Error("Failed to quote shell arguments safely");
}
}
var init_shellQuote = __esm(() => {
init_shell_quote();
init_log3();
init_slowOperations();
});
// src/utils/bash/shellPrefix.ts
function formatShellPrefixCommand(prefix, command) {
const spaceBeforeDash = prefix.lastIndexOf(" -");
if (spaceBeforeDash > 0) {
const execPath2 = prefix.substring(0, spaceBeforeDash);
const args = prefix.substring(spaceBeforeDash + 1);
return `${quote([execPath2])} ${args} ${quote([command])}`;
} else {
return `${quote([prefix])} ${quote([command])}`;
}
}
var init_shellPrefix = __esm(() => {
init_shellQuote();
});
// src/utils/sessionEnvironment.ts
import { mkdir as mkdir8, readdir as readdir5, readFile as readFile11, writeFile as writeFile6 } from "fs/promises";
import { join as join30 } from "path";
async function getSessionEnvDirPath() {
const sessionEnvDir = join30(getClaudeConfigHomeDir(), "session-env", getSessionId());
await mkdir8(sessionEnvDir, { recursive: true });
return sessionEnvDir;
}
async function getHookEnvFilePath(hookEvent, hookIndex) {
const prefix = hookEvent.toLowerCase();
return join30(await getSessionEnvDirPath(), `${prefix}-hook-${hookIndex}.sh`);
}
async function clearCwdEnvFiles() {
try {
const dir = await getSessionEnvDirPath();
const files = await readdir5(dir);
await Promise.all(files.filter((f3) => (f3.startsWith("filechanged-hook-") || f3.startsWith("cwdchanged-hook-")) && HOOK_ENV_REGEX.test(f3)).map((f3) => writeFile6(join30(dir, f3), "")));
} catch (e2) {
const code = getErrnoCode(e2);
if (code !== "ENOENT") {
logForDebugging(`Failed to clear cwd env files: ${errorMessage(e2)}`);
}
}
}
function invalidateSessionEnvCache() {
logForDebugging("Invalidating session environment cache");
sessionEnvScript = undefined;
}
async function getSessionEnvironmentScript() {
if (getPlatform() === "windows") {
logForDebugging("Session environment not yet supported on Windows");
return null;
}
if (sessionEnvScript !== undefined) {
return sessionEnvScript;
}
const scripts = [];
const envFile = process.env.CLAUDE_ENV_FILE;
if (envFile) {
try {
const envScript = (await readFile11(envFile, "utf8")).trim();
if (envScript) {
scripts.push(envScript);
logForDebugging(`Session environment loaded from CLAUDE_ENV_FILE: ${envFile} (${envScript.length} chars)`);
}
} catch (e2) {
const code = getErrnoCode(e2);
if (code !== "ENOENT") {
logForDebugging(`Failed to read CLAUDE_ENV_FILE: ${errorMessage(e2)}`);
}
}
}
const sessionEnvDir = await getSessionEnvDirPath();
try {
const files = await readdir5(sessionEnvDir);
const hookFiles = files.filter((f3) => HOOK_ENV_REGEX.test(f3)).sort(sortHookEnvFiles);
for (const file2 of hookFiles) {
const filePath = join30(sessionEnvDir, file2);
try {
const content = (await readFile11(filePath, "utf8")).trim();
if (content) {
scripts.push(content);
}
} catch (e2) {
const code = getErrnoCode(e2);
if (code !== "ENOENT") {
logForDebugging(`Failed to read hook file ${filePath}: ${errorMessage(e2)}`);
}
}
}
if (hookFiles.length > 0) {
logForDebugging(`Session environment loaded from ${hookFiles.length} hook file(s)`);
}
} catch (e2) {
const code = getErrnoCode(e2);
if (code !== "ENOENT") {
logForDebugging(`Failed to load session environment from hooks: ${errorMessage(e2)}`);
}
}
if (scripts.length === 0) {
logForDebugging("No session environment scripts found");
sessionEnvScript = null;
return sessionEnvScript;
}
sessionEnvScript = scripts.join(`
`);
logForDebugging(`Session environment script ready (${sessionEnvScript.length} chars total)`);
return sessionEnvScript;
}
function sortHookEnvFiles(a2, b2) {
const aMatch = a2.match(HOOK_ENV_REGEX);
const bMatch = b2.match(HOOK_ENV_REGEX);
const aType = aMatch?.[1] || "";
const bType = bMatch?.[1] || "";
if (aType !== bType) {
return (HOOK_ENV_PRIORITY[aType] ?? 99) - (HOOK_ENV_PRIORITY[bType] ?? 99);
}
const aIndex = parseInt(aMatch?.[2] || "0", 10);
const bIndex = parseInt(bMatch?.[2] || "0", 10);
return aIndex - bIndex;
}
var sessionEnvScript = undefined, HOOK_ENV_PRIORITY, HOOK_ENV_REGEX;
var init_sessionEnvironment = __esm(() => {
init_state();
init_debug();
init_envUtils();
init_errors();
init_platform2();
HOOK_ENV_PRIORITY = {
setup: 0,
sessionstart: 1,
cwdchanged: 2,
filechanged: 3
};
HOOK_ENV_REGEX = /^(setup|sessionstart|cwdchanged|filechanged)-hook-(\d+)\.sh$/;
});
// src/utils/subprocessEnv.ts
var exports_subprocessEnv = {};
__export(exports_subprocessEnv, {
subprocessEnv: () => subprocessEnv,
registerUpstreamProxyEnvFn: () => registerUpstreamProxyEnvFn
});
function registerUpstreamProxyEnvFn(fn) {
_getUpstreamProxyEnv = fn;
}
function subprocessEnv() {
const proxyEnv = _getUpstreamProxyEnv?.() ?? {};
if (!isEnvTruthy(process.env.CLAUDE_CODE_SUBPROCESS_ENV_SCRUB)) {
return Object.keys(proxyEnv).length > 0 ? { ...process.env, ...proxyEnv } : process.env;
}
const env6 = { ...process.env, ...proxyEnv };
for (const k2 of GHA_SUBPROCESS_SCRUB) {
delete env6[k2];
delete env6[`INPUT_${k2}`];
}
return env6;
}
var GHA_SUBPROCESS_SCRUB, _getUpstreamProxyEnv;
var init_subprocessEnv = __esm(() => {
init_envUtils();
GHA_SUBPROCESS_SCRUB = [
"ANTHROPIC_API_KEY",
"CLAUDE_CODE_OAUTH_TOKEN",
"ANTHROPIC_AUTH_TOKEN",
"ANTHROPIC_FOUNDRY_API_KEY",
"ANTHROPIC_CUSTOM_HEADERS",
"OTEL_EXPORTER_OTLP_HEADERS",
"OTEL_EXPORTER_OTLP_LOGS_HEADERS",
"OTEL_EXPORTER_OTLP_METRICS_HEADERS",
"OTEL_EXPORTER_OTLP_TRACES_HEADERS",
"AWS_SECRET_ACCESS_KEY",
"AWS_SESSION_TOKEN",
"AWS_BEARER_TOKEN_BEDROCK",
"GOOGLE_APPLICATION_CREDENTIALS",
"AZURE_CLIENT_SECRET",
"AZURE_CLIENT_CERTIFICATE_PATH",
"ACTIONS_ID_TOKEN_REQUEST_TOKEN",
"ACTIONS_ID_TOKEN_REQUEST_URL",
"ACTIONS_RUNTIME_TOKEN",
"ACTIONS_RUNTIME_URL",
"ALL_INPUTS",
"OVERRIDE_GITHUB_TOKEN",
"DEFAULT_WORKFLOW_TOKEN",
"SSH_SIGNING_KEY"
];
});
// src/utils/shell/powershellDetection.ts
import { realpath as realpath4, stat as stat11 } from "fs/promises";
async function probePath(p) {
try {
return (await stat11(p)).isFile() ? p : null;
} catch {
return null;
}
}
async function findPowerShell() {
const pwshPath = await which("pwsh");
if (pwshPath) {
if (getPlatform() === "linux") {
const resolved = await realpath4(pwshPath).catch(() => pwshPath);
if (pwshPath.startsWith("/snap/") || resolved.startsWith("/snap/")) {
const direct = await probePath("/opt/microsoft/powershell/7/pwsh") ?? await probePath("/usr/bin/pwsh");
if (direct) {
const directResolved = await realpath4(direct).catch(() => direct);
if (!direct.startsWith("/snap/") && !directResolved.startsWith("/snap/")) {
return direct;
}
}
}
}
return pwshPath;
}
const powershellPath = await which("powershell");
if (powershellPath) {
return powershellPath;
}
return null;
}
function getCachedPowerShellPath() {
if (!cachedPowerShellPath) {
cachedPowerShellPath = findPowerShell();
}
return cachedPowerShellPath;
}
async function getPowerShellEdition() {
const p = await getCachedPowerShellPath();
if (!p)
return null;
const base2 = p.split(/[/\\]/).pop().toLowerCase().replace(/\.exe$/, "");
return base2 === "pwsh" ? "core" : "desktop";
}
var cachedPowerShellPath = null;
var init_powershellDetection = __esm(() => {
init_platform2();
init_which();
});
// src/utils/sessionEnvVars.ts
function getSessionEnvVars() {
return sessionEnvVars;
}
function clearSessionEnvVars() {
sessionEnvVars.clear();
}
var sessionEnvVars;
var init_sessionEnvVars = __esm(() => {
sessionEnvVars = new Map;
});
// src/utils/shell/powershellProvider.ts
import { tmpdir as tmpdir2 } from "os";
import { join as join31 } from "path";
import { join as posixJoin } from "path/posix";
function buildPowerShellArgs(cmd) {
return ["-NoProfile", "-NonInteractive", "-Command", cmd];
}
function encodePowerShellCommand(psCommand) {
return Buffer.from(psCommand, "utf16le").toString("base64");
}
function createPowerShellProvider(shellPath) {
let currentSandboxTmpDir;
return {
type: "powershell",
shellPath,
detached: false,
async buildExecCommand(command, opts) {
currentSandboxTmpDir = opts.useSandbox ? opts.sandboxTmpDir : undefined;
const cwdFilePath = opts.useSandbox && opts.sandboxTmpDir ? posixJoin(opts.sandboxTmpDir, `claude-pwd-ps-${opts.id}`) : join31(tmpdir2(), `claude-pwd-ps-${opts.id}`);
const escapedCwdFilePath = cwdFilePath.replace(/'/g, "''");
const cwdTracking = `
; $_ec = if ($null -ne $LASTEXITCODE) { $LASTEXITCODE } elseif ($?) { 0 } else { 1 }
; (Get-Location).Path | Out-File -FilePath '${escapedCwdFilePath}' -Encoding utf8 -NoNewline
; exit $_ec`;
const psCommand = command + cwdTracking;
const commandString = opts.useSandbox ? [
`'${shellPath.replace(/'/g, `'\\''`)}'`,
"-NoProfile",
"-NonInteractive",
"-EncodedCommand",
encodePowerShellCommand(psCommand)
].join(" ") : psCommand;
return { commandString, cwdFilePath };
},
getSpawnArgs(commandString) {
return buildPowerShellArgs(commandString);
},
async getEnvironmentOverrides() {
const env6 = {};
for (const [key, value] of getSessionEnvVars()) {
env6[key] = value;
}
if (currentSandboxTmpDir) {
env6.TMPDIR = currentSandboxTmpDir;
env6.CLAUDE_CODE_TMPDIR = currentSandboxTmpDir;
}
return env6;
}
};
}
var init_powershellProvider = __esm(() => {
init_sessionEnvVars();
});
// node_modules/@anthropic-ai/mcpb/index.js
var exports_mcpb = {};
__export(exports_mcpb, {
getMcpConfigForManifest: () => getMcpConfigForManifest
});
function getMcpConfigForManifest() {
return null;
}
// src/utils/dxt/helpers.ts
async function validateManifest(manifestJson) {
const { McpbManifestSchema } = await Promise.resolve().then(() => exports_mcpb);
const parseResult = McpbManifestSchema.safeParse(manifestJson);
if (!parseResult.success) {
const errors3 = parseResult.error.flatten();
const errorMessages = [
...Object.entries(errors3.fieldErrors).map(([field, errs]) => `${field}: ${errs?.join(", ")}`),
...errors3.formErrors || []
].filter(Boolean).join("; ");
throw new Error(`Invalid manifest: ${errorMessages}`);
}
return parseResult.data;
}
async function parseAndValidateManifestFromText(manifestText) {
let manifestJson;
try {
manifestJson = jsonParse(manifestText);
} catch (error52) {
throw new Error(`Invalid JSON in manifest.json: ${errorMessage(error52)}`);
}
return validateManifest(manifestJson);
}
async function parseAndValidateManifestFromBytes(manifestData) {
const manifestText = new TextDecoder().decode(manifestData);
return parseAndValidateManifestFromText(manifestText);
}
var init_helpers3 = __esm(() => {
init_errors();
init_slowOperations();
});
// node_modules/.pnpm/fflate@0.8.2/node_modules/fflate/esm/index.mjs
var exports_esm2 = {};
__export(exports_esm2, {
zlibSync: () => zlibSync,
zlib: () => zlib4,
zipSync: () => zipSync,
zip: () => zip,
unzlibSync: () => unzlibSync,
unzlib: () => unzlib,
unzipSync: () => unzipSync,
unzip: () => unzip,
strToU8: () => strToU8,
strFromU8: () => strFromU8,
inflateSync: () => inflateSync,
inflate: () => inflate,
gzipSync: () => gzipSync,
gzip: () => gzip,
gunzipSync: () => gunzipSync,
gunzip: () => gunzip,
deflateSync: () => deflateSync,
deflate: () => deflate,
decompressSync: () => decompressSync,
decompress: () => decompress,
compressSync: () => gzipSync,
compress: () => gzip,
Zlib: () => Zlib,
ZipPassThrough: () => ZipPassThrough,
ZipDeflate: () => ZipDeflate,
Zip: () => Zip,
Unzlib: () => Unzlib,
UnzipPassThrough: () => UnzipPassThrough,
UnzipInflate: () => UnzipInflate,
Unzip: () => Unzip,
Inflate: () => Inflate,
Gzip: () => Gzip,
Gunzip: () => Gunzip,
FlateErrorCode: () => FlateErrorCode,
EncodeUTF8: () => EncodeUTF8,
Deflate: () => Deflate,
Decompress: () => Decompress,
DecodeUTF8: () => DecodeUTF8,
Compress: () => Gzip,
AsyncZlib: () => AsyncZlib,
AsyncZipDeflate: () => AsyncZipDeflate,
AsyncUnzlib: () => AsyncUnzlib,
AsyncUnzipInflate: () => AsyncUnzipInflate,
AsyncInflate: () => AsyncInflate,
AsyncGzip: () => AsyncGzip,
AsyncGunzip: () => AsyncGunzip,
AsyncDeflate: () => AsyncDeflate,
AsyncDecompress: () => AsyncDecompress,
AsyncCompress: () => AsyncGzip
});
import { createRequire as createRequire2 } from "module";
function StrmOpt(opts, cb) {
if (typeof opts == "function")
cb = opts, opts = {};
this.ondata = cb;
return opts;
}
function deflate(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bDflt
], function(ev) {
return pbf(deflateSync(ev.data[0], ev.data[1]));
}, 0, cb);
}
function deflateSync(data, opts) {
return dopt(data, opts || {}, 0, 0);
}
function inflate(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bInflt
], function(ev) {
return pbf(inflateSync(ev.data[0], gopt(ev.data[1])));
}, 1, cb);
}
function inflateSync(data, opts) {
return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);
}
function gzip(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bDflt,
gze,
function() {
return [gzipSync];
}
], function(ev) {
return pbf(gzipSync(ev.data[0], ev.data[1]));
}, 2, cb);
}
function gzipSync(data, opts) {
if (!opts)
opts = {};
var c5 = crc(), l = data.length;
c5.p(data);
var d = dopt(data, opts, gzhl(opts), 8), s2 = d.length;
return gzh(d, opts), wbytes(d, s2 - 8, c5.d()), wbytes(d, s2 - 4, l), d;
}
function gunzip(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bInflt,
guze,
function() {
return [gunzipSync];
}
], function(ev) {
return pbf(gunzipSync(ev.data[0], ev.data[1]));
}, 3, cb);
}
function gunzipSync(data, opts) {
var st = gzs(data);
if (st + 8 > data.length)
err(6, "invalid gzip data");
return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);
}
function zlib4(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bDflt,
zle,
function() {
return [zlibSync];
}
], function(ev) {
return pbf(zlibSync(ev.data[0], ev.data[1]));
}, 4, cb);
}
function zlibSync(data, opts) {
if (!opts)
opts = {};
var a2 = adler();
a2.p(data);
var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);
return zlh(d, opts), wbytes(d, d.length - 4, a2.d()), d;
}
function unzlib(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return cbify(data, opts, [
bInflt,
zule,
function() {
return [unzlibSync];
}
], function(ev) {
return pbf(unzlibSync(ev.data[0], gopt(ev.data[1])));
}, 5, cb);
}
function unzlibSync(data, opts) {
return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);
}
function decompress(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzip(data, opts, cb) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflate(data, opts, cb) : unzlib(data, opts, cb);
}
function decompressSync(data, opts) {
return data[0] == 31 && data[1] == 139 && data[2] == 8 ? gunzipSync(data, opts) : (data[0] & 15) != 8 || data[0] >> 4 > 7 || (data[0] << 8 | data[1]) % 31 ? inflateSync(data, opts) : unzlibSync(data, opts);
}
function strToU8(str, latin1) {
if (latin1) {
var ar_1 = new u8(str.length);
for (var i4 = 0;i4 < str.length; ++i4)
ar_1[i4] = str.charCodeAt(i4);
return ar_1;
}
if (te)
return te.encode(str);
var l = str.length;
var ar = new u8(str.length + (str.length >> 1));
var ai = 0;
var w2 = function(v2) {
ar[ai++] = v2;
};
for (var i4 = 0;i4 < l; ++i4) {
if (ai + 5 > ar.length) {
var n2 = new u8(ai + 8 + (l - i4 << 1));
n2.set(ar);
ar = n2;
}
var c5 = str.charCodeAt(i4);
if (c5 < 128 || latin1)
w2(c5);
else if (c5 < 2048)
w2(192 | c5 >> 6), w2(128 | c5 & 63);
else if (c5 > 55295 && c5 < 57344)
c5 = 65536 + (c5 & 1023 << 10) | str.charCodeAt(++i4) & 1023, w2(240 | c5 >> 18), w2(128 | c5 >> 12 & 63), w2(128 | c5 >> 6 & 63), w2(128 | c5 & 63);
else
w2(224 | c5 >> 12), w2(128 | c5 >> 6 & 63), w2(128 | c5 & 63);
}
return slc(ar, 0, ai);
}
function strFromU8(dat, latin1) {
if (latin1) {
var r2 = "";
for (var i4 = 0;i4 < dat.length; i4 += 16384)
r2 += String.fromCharCode.apply(null, dat.subarray(i4, i4 + 16384));
return r2;
} else if (td) {
return td.decode(dat);
} else {
var _a4 = dutf8(dat), s2 = _a4.s, r2 = _a4.r;
if (r2.length)
err(8);
return s2;
}
}
function zip(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
var r2 = {};
fltn(data, "", r2, opts);
var k2 = Object.keys(r2);
var lft = k2.length, o2 = 0, tot = 0;
var slft = lft, files = new Array(lft);
var term = [];
var tAll = function() {
for (var i5 = 0;i5 < term.length; ++i5)
term[i5]();
};
var cbd = function(a2, b3) {
mt(function() {
cb(a2, b3);
});
};
mt(function() {
cbd = cb;
});
var cbf = function() {
var out = new u8(tot + 22), oe2 = o2, cdl = tot - o2;
tot = 0;
for (var i5 = 0;i5 < slft; ++i5) {
var f3 = files[i5];
try {
var l = f3.c.length;
wzh(out, tot, f3, f3.f, f3.u, l);
var badd = 30 + f3.f.length + exfl(f3.extra);
var loc = tot + badd;
out.set(f3.c, loc);
wzh(out, o2, f3, f3.f, f3.u, l, tot, f3.m), o2 += 16 + badd + (f3.m ? f3.m.length : 0), tot = loc + l;
} catch (e2) {
return cbd(e2, null);
}
}
wzf(out, o2, files.length, cdl, oe2);
cbd(null, out);
};
if (!lft)
cbf();
var _loop_1 = function(i5) {
var fn = k2[i5];
var _a4 = r2[fn], file2 = _a4[0], p = _a4[1];
var c5 = crc(), size = file2.length;
c5.p(file2);
var f3 = strToU8(fn), s2 = f3.length;
var com = p.comment, m3 = com && strToU8(com), ms = m3 && m3.length;
var exl = exfl(p.extra);
var compression = p.level == 0 ? 0 : 8;
var cbl = function(e2, d) {
if (e2) {
tAll();
cbd(e2, null);
} else {
var l = d.length;
files[i5] = mrg(p, {
size,
crc: c5.d(),
c: d,
f: f3,
m: m3,
u: s2 != fn.length || m3 && com.length != ms,
compression
});
o2 += 30 + s2 + exl + l;
tot += 76 + 2 * (s2 + exl) + (ms || 0) + l;
if (!--lft)
cbf();
}
};
if (s2 > 65535)
cbl(err(11, 0, 1), null);
if (!compression)
cbl(null, file2);
else if (size < 160000) {
try {
cbl(null, deflateSync(file2, p));
} catch (e2) {
cbl(e2, null);
}
} else
term.push(deflate(file2, p, cbl));
};
for (var i4 = 0;i4 < slft; ++i4) {
_loop_1(i4);
}
return tAll;
}
function zipSync(data, opts) {
if (!opts)
opts = {};
var r2 = {};
var files = [];
fltn(data, "", r2, opts);
var o2 = 0;
var tot = 0;
for (var fn in r2) {
var _a4 = r2[fn], file2 = _a4[0], p = _a4[1];
var compression = p.level == 0 ? 0 : 8;
var f3 = strToU8(fn), s2 = f3.length;
var com = p.comment, m3 = com && strToU8(com), ms = m3 && m3.length;
var exl = exfl(p.extra);
if (s2 > 65535)
err(11);
var d = compression ? deflateSync(file2, p) : file2, l = d.length;
var c5 = crc();
c5.p(file2);
files.push(mrg(p, {
size: file2.length,
crc: c5.d(),
c: d,
f: f3,
m: m3,
u: s2 != fn.length || m3 && com.length != ms,
o: o2,
compression
}));
o2 += 30 + s2 + exl + l;
tot += 76 + 2 * (s2 + exl) + (ms || 0) + l;
}
var out = new u8(tot + 22), oe2 = o2, cdl = tot - o2;
for (var i4 = 0;i4 < files.length; ++i4) {
var f3 = files[i4];
wzh(out, f3.o, f3, f3.f, f3.u, f3.c.length);
var badd = 30 + f3.f.length + exfl(f3.extra);
out.set(f3.c, f3.o + badd);
wzh(out, o2, f3, f3.f, f3.u, f3.c.length, f3.o, f3.m), o2 += 16 + badd + (f3.m ? f3.m.length : 0);
}
wzf(out, o2, files.length, cdl, oe2);
return out;
}
function unzip(data, opts, cb) {
if (!cb)
cb = opts, opts = {};
if (typeof cb != "function")
err(7);
var term = [];
var tAll = function() {
for (var i5 = 0;i5 < term.length; ++i5)
term[i5]();
};
var files = {};
var cbd = function(a2, b3) {
mt(function() {
cb(a2, b3);
});
};
mt(function() {
cbd = cb;
});
var e2 = data.length - 22;
for (;b4(data, e2) != 101010256; --e2) {
if (!e2 || data.length - e2 > 65558) {
cbd(err(13, 0, 1), null);
return tAll;
}
}
var lft = b2(data, e2 + 8);
if (lft) {
var c5 = lft;
var o2 = b4(data, e2 + 16);
var z4 = o2 == 4294967295 || c5 == 65535;
if (z4) {
var ze2 = b4(data, e2 - 12);
z4 = b4(data, ze2) == 101075792;
if (z4) {
c5 = lft = b4(data, ze2 + 32);
o2 = b4(data, ze2 + 48);
}
}
var fltr = opts && opts.filter;
var _loop_3 = function(i5) {
var _a4 = zh(data, o2, z4), c_1 = _a4[0], sc = _a4[1], su = _a4[2], fn = _a4[3], no = _a4[4], off = _a4[5], b3 = slzh(data, off);
o2 = no;
var cbl = function(e3, d) {
if (e3) {
tAll();
cbd(e3, null);
} else {
if (d)
files[fn] = d;
if (!--lft)
cbd(null, files);
}
};
if (!fltr || fltr({
name: fn,
size: sc,
originalSize: su,
compression: c_1
})) {
if (!c_1)
cbl(null, slc(data, b3, b3 + sc));
else if (c_1 == 8) {
var infl = data.subarray(b3, b3 + sc);
if (su < 524288 || sc > 0.8 * su) {
try {
cbl(null, inflateSync(infl, { out: new u8(su) }));
} catch (e3) {
cbl(e3, null);
}
} else
term.push(inflate(infl, { size: su }, cbl));
} else
cbl(err(14, "unknown compression type " + c_1, 1), null);
} else
cbl(null, null);
};
for (var i4 = 0;i4 < c5; ++i4) {
_loop_3(i4);
}
} else
cbd(null, {});
return tAll;
}
function unzipSync(data, opts) {
var files = {};
var e2 = data.length - 22;
for (;b4(data, e2) != 101010256; --e2) {
if (!e2 || data.length - e2 > 65558)
err(13);
}
var c5 = b2(data, e2 + 8);
if (!c5)
return {};
var o2 = b4(data, e2 + 16);
var z4 = o2 == 4294967295 || c5 == 65535;
if (z4) {
var ze2 = b4(data, e2 - 12);
z4 = b4(data, ze2) == 101075792;
if (z4) {
c5 = b4(data, ze2 + 32);
o2 = b4(data, ze2 + 48);
}
}
var fltr = opts && opts.filter;
for (var i4 = 0;i4 < c5; ++i4) {
var _a4 = zh(data, o2, z4), c_2 = _a4[0], sc = _a4[1], su = _a4[2], fn = _a4[3], no = _a4[4], off = _a4[5], b3 = slzh(data, off);
o2 = no;
if (!fltr || fltr({
name: fn,
size: sc,
originalSize: su,
compression: c_2
})) {
if (!c_2)
files[fn] = slc(data, b3, b3 + sc);
else if (c_2 == 8)
files[fn] = inflateSync(data.subarray(b3, b3 + sc), { out: new u8(su) });
else
err(14, "unknown compression type " + c_2);
}
}
return files;
}
var require2, Worker, workerAdd = ";var __w=require('worker_threads');__w.parentPort.on('message',function(m){onmessage({data:m})}),postMessage=function(m,t){__w.parentPort.postMessage(m,t)},close=process.exit;self=global", wk, u8, u16, i32, fleb, fdeb, clim, freb = function(eb, start) {
var b2 = new u16(31);
for (var i3 = 0;i3 < 31; ++i3) {
b2[i3] = start += 1 << eb[i3 - 1];
}
var r2 = new i32(b2[30]);
for (var i3 = 1;i3 < 30; ++i3) {
for (var j2 = b2[i3];j2 < b2[i3 + 1]; ++j2) {
r2[j2] = j2 - b2[i3] << 5 | i3;
}
}
return { b: b2, r: r2 };
}, _a3, fl, revfl, _b, fd, revfd, rev, x4, i3, hMap = function(cd, mb, r2) {
var s2 = cd.length;
var i4 = 0;
var l = new u16(mb);
for (;i4 < s2; ++i4) {
if (cd[i4])
++l[cd[i4] - 1];
}
var le2 = new u16(mb);
for (i4 = 1;i4 < mb; ++i4) {
le2[i4] = le2[i4 - 1] + l[i4 - 1] << 1;
}
var co;
if (r2) {
co = new u16(1 << mb);
var rvb = 15 - mb;
for (i4 = 0;i4 < s2; ++i4) {
if (cd[i4]) {
var sv = i4 << 4 | cd[i4];
var r_1 = mb - cd[i4];
var v2 = le2[cd[i4] - 1]++ << r_1;
for (var m3 = v2 | (1 << r_1) - 1;v2 <= m3; ++v2) {
co[rev[v2] >> rvb] = sv;
}
}
}
} else {
co = new u16(s2);
for (i4 = 0;i4 < s2; ++i4) {
if (cd[i4]) {
co[i4] = rev[le2[cd[i4] - 1]++] >> 15 - cd[i4];
}
}
}
return co;
}, flt, i3, i3, i3, i3, fdt, i3, flm, flrm, fdm, fdrm, max = function(a2) {
var m3 = a2[0];
for (var i4 = 1;i4 < a2.length; ++i4) {
if (a2[i4] > m3)
m3 = a2[i4];
}
return m3;
}, bits = function(d, p, m3) {
var o2 = p / 8 | 0;
return (d[o2] | d[o2 + 1] << 8) >> (p & 7) & m3;
}, bits16 = function(d, p) {
var o2 = p / 8 | 0;
return (d[o2] | d[o2 + 1] << 8 | d[o2 + 2] << 16) >> (p & 7);
}, shft = function(p) {
return (p + 7) / 8 | 0;
}, slc = function(v2, s2, e2) {
if (s2 == null || s2 < 0)
s2 = 0;
if (e2 == null || e2 > v2.length)
e2 = v2.length;
return new u8(v2.subarray(s2, e2));
}, FlateErrorCode, ec, err = function(ind, msg, nt2) {
var e2 = new Error(msg || ec[ind]);
e2.code = ind;
if (Error.captureStackTrace)
Error.captureStackTrace(e2, err);
if (!nt2)
throw e2;
return e2;
}, inflt = function(dat, st, buf, dict) {
var sl = dat.length, dl = dict ? dict.length : 0;
if (!sl || st.f && !st.l)
return buf || new u8(0);
var noBuf = !buf;
var resize = noBuf || st.i != 2;
var noSt = st.i;
if (noBuf)
buf = new u8(sl * 3);
var cbuf = function(l2) {
var bl = buf.length;
if (l2 > bl) {
var nbuf = new u8(Math.max(bl * 2, l2));
nbuf.set(buf);
buf = nbuf;
}
};
var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
var tbts = sl * 8;
do {
if (!lm) {
final = bits(dat, pos, 1);
var type = bits(dat, pos + 1, 3);
pos += 3;
if (!type) {
var s2 = shft(pos) + 4, l = dat[s2 - 4] | dat[s2 - 3] << 8, t2 = s2 + l;
if (t2 > sl) {
if (noSt)
err(0);
break;
}
if (resize)
cbuf(bt + l);
buf.set(dat.subarray(s2, t2), bt);
st.b = bt += l, st.p = pos = t2 * 8, st.f = final;
continue;
} else if (type == 1)
lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
else if (type == 2) {
var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
var tl = hLit + bits(dat, pos + 5, 31) + 1;
pos += 14;
var ldt = new u8(tl);
var clt = new u8(19);
for (var i4 = 0;i4 < hcLen; ++i4) {
clt[clim[i4]] = bits(dat, pos + i4 * 3, 7);
}
pos += hcLen * 3;
var clb = max(clt), clbmsk = (1 << clb) - 1;
var clm = hMap(clt, clb, 1);
for (var i4 = 0;i4 < tl; ) {
var r2 = clm[bits(dat, pos, clbmsk)];
pos += r2 & 15;
var s2 = r2 >> 4;
if (s2 < 16) {
ldt[i4++] = s2;
} else {
var c5 = 0, n2 = 0;
if (s2 == 16)
n2 = 3 + bits(dat, pos, 3), pos += 2, c5 = ldt[i4 - 1];
else if (s2 == 17)
n2 = 3 + bits(dat, pos, 7), pos += 3;
else if (s2 == 18)
n2 = 11 + bits(dat, pos, 127), pos += 7;
while (n2--)
ldt[i4++] = c5;
}
}
var lt2 = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
lbt = max(lt2);
dbt = max(dt);
lm = hMap(lt2, lbt, 1);
dm = hMap(dt, dbt, 1);
} else
err(1);
if (pos > tbts) {
if (noSt)
err(0);
break;
}
}
if (resize)
cbuf(bt + 131072);
var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
var lpos = pos;
for (;; lpos = pos) {
var c5 = lm[bits16(dat, pos) & lms], sym = c5 >> 4;
pos += c5 & 15;
if (pos > tbts) {
if (noSt)
err(0);
break;
}
if (!c5)
err(2);
if (sym < 256)
buf[bt++] = sym;
else if (sym == 256) {
lpos = pos, lm = null;
break;
} else {
var add = sym - 254;
if (sym > 264) {
var i4 = sym - 257, b2 = fleb[i4];
add = bits(dat, pos, (1 << b2) - 1) + fl[i4];
pos += b2;
}
var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
if (!d)
err(3);
pos += d & 15;
var dt = fd[dsym];
if (dsym > 3) {
var b2 = fdeb[dsym];
dt += bits16(dat, pos) & (1 << b2) - 1, pos += b2;
}
if (pos > tbts) {
if (noSt)
err(0);
break;
}
if (resize)
cbuf(bt + 131072);
var end = bt + add;
if (bt < dt) {
var shift = dl - dt, dend = Math.min(dt, end);
if (shift + bt < 0)
err(3);
for (;bt < dend; ++bt)
buf[bt] = dict[shift + bt];
}
for (;bt < end; ++bt)
buf[bt] = buf[bt - dt];
}
}
st.l = lm, st.p = lpos, st.b = bt, st.f = final;
if (lm)
final = 1, st.m = lbt, st.d = dm, st.n = dbt;
} while (!final);
return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
}, wbits = function(d, p, v2) {
v2 <<= p & 7;
var o2 = p / 8 | 0;
d[o2] |= v2;
d[o2 + 1] |= v2 >> 8;
}, wbits16 = function(d, p, v2) {
v2 <<= p & 7;
var o2 = p / 8 | 0;
d[o2] |= v2;
d[o2 + 1] |= v2 >> 8;
d[o2 + 2] |= v2 >> 16;
}, hTree = function(d, mb) {
var t2 = [];
for (var i4 = 0;i4 < d.length; ++i4) {
if (d[i4])
t2.push({ s: i4, f: d[i4] });
}
var s2 = t2.length;
var t22 = t2.slice();
if (!s2)
return { t: et2, l: 0 };
if (s2 == 1) {
var v2 = new u8(t2[0].s + 1);
v2[t2[0].s] = 1;
return { t: v2, l: 1 };
}
t2.sort(function(a2, b2) {
return a2.f - b2.f;
});
t2.push({ s: -1, f: 25001 });
var l = t2[0], r2 = t2[1], i0 = 0, i1 = 1, i22 = 2;
t2[0] = { s: -1, f: l.f + r2.f, l, r: r2 };
while (i1 != s2 - 1) {
l = t2[t2[i0].f < t2[i22].f ? i0++ : i22++];
r2 = t2[i0 != i1 && t2[i0].f < t2[i22].f ? i0++ : i22++];
t2[i1++] = { s: -1, f: l.f + r2.f, l, r: r2 };
}
var maxSym = t22[0].s;
for (var i4 = 1;i4 < s2; ++i4) {
if (t22[i4].s > maxSym)
maxSym = t22[i4].s;
}
var tr = new u16(maxSym + 1);
var mbt = ln(t2[i1 - 1], tr, 0);
if (mbt > mb) {
var i4 = 0, dt = 0;
var lft = mbt - mb, cst = 1 << lft;
t22.sort(function(a2, b2) {
return tr[b2.s] - tr[a2.s] || a2.f - b2.f;
});
for (;i4 < s2; ++i4) {
var i2_1 = t22[i4].s;
if (tr[i2_1] > mb) {
dt += cst - (1 << mbt - tr[i2_1]);
tr[i2_1] = mb;
} else
break;
}
dt >>= lft;
while (dt > 0) {
var i2_2 = t22[i4].s;
if (tr[i2_2] < mb)
dt -= 1 << mb - tr[i2_2]++ - 1;
else
++i4;
}
for (;i4 >= 0 && dt; --i4) {
var i2_3 = t22[i4].s;
if (tr[i2_3] == mb) {
--tr[i2_3];
++dt;
}
}
mbt = mb;
}
return { t: new u8(tr), l: mbt };
}, ln = function(n2, l, d) {
return n2.s == -1 ? Math.max(ln(n2.l, l, d + 1), ln(n2.r, l, d + 1)) : l[n2.s] = d;
}, lc = function(c5) {
var s2 = c5.length;
while (s2 && !c5[--s2])
;
var cl = new u16(++s2);
var cli = 0, cln = c5[0], cls = 1;
var w2 = function(v2) {
cl[cli++] = v2;
};
for (var i4 = 1;i4 <= s2; ++i4) {
if (c5[i4] == cln && i4 != s2)
++cls;
else {
if (!cln && cls > 2) {
for (;cls > 138; cls -= 138)
w2(32754);
if (cls > 2) {
w2(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305);
cls = 0;
}
} else if (cls > 3) {
w2(cln), --cls;
for (;cls > 6; cls -= 6)
w2(8304);
if (cls > 2)
w2(cls - 3 << 5 | 8208), cls = 0;
}
while (cls--)
w2(cln);
cls = 1;
cln = c5[i4];
}
}
return { c: cl.subarray(0, cli), n: s2 };
}, clen = function(cf, cl) {
var l = 0;
for (var i4 = 0;i4 < cl.length; ++i4)
l += cf[i4] * cl[i4];
return l;
}, wfblk = function(out, pos, dat) {
var s2 = dat.length;
var o2 = shft(pos + 2);
out[o2] = s2 & 255;
out[o2 + 1] = s2 >> 8;
out[o2 + 2] = out[o2] ^ 255;
out[o2 + 3] = out[o2 + 1] ^ 255;
for (var i4 = 0;i4 < s2; ++i4)
out[o2 + i4 + 4] = dat[i4];
return (o2 + 4 + s2) * 8;
}, wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
wbits(out, p++, final);
++lf[256];
var _a4 = hTree(lf, 15), dlt = _a4.t, mlb = _a4.l;
var _b2 = hTree(df, 15), ddt = _b2.t, mdb = _b2.l;
var _c17 = lc(dlt), lclt = _c17.c, nlc = _c17.n;
var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;
var lcfreq = new u16(19);
for (var i4 = 0;i4 < lclt.length; ++i4)
++lcfreq[lclt[i4] & 31];
for (var i4 = 0;i4 < lcdt.length; ++i4)
++lcfreq[lcdt[i4] & 31];
var _e2 = hTree(lcfreq, 7), lct = _e2.t, mlcb = _e2.l;
var nlcc = 19;
for (;nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
;
var flen = bl + 5 << 3;
var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];
if (bs >= 0 && flen <= ftlen && flen <= dtlen)
return wfblk(out, p, dat.subarray(bs, bs + bl));
var lm, ll, dm, dl;
wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
if (dtlen < ftlen) {
lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
var llm = hMap(lct, mlcb, 0);
wbits(out, p, nlc - 257);
wbits(out, p + 5, ndc - 1);
wbits(out, p + 10, nlcc - 4);
p += 14;
for (var i4 = 0;i4 < nlcc; ++i4)
wbits(out, p + 3 * i4, lct[clim[i4]]);
p += 3 * nlcc;
var lcts = [lclt, lcdt];
for (var it = 0;it < 2; ++it) {
var clct = lcts[it];
for (var i4 = 0;i4 < clct.length; ++i4) {
var len = clct[i4] & 31;
wbits(out, p, llm[len]), p += lct[len];
if (len > 15)
wbits(out, p, clct[i4] >> 5 & 127), p += clct[i4] >> 12;
}
}
} else {
lm = flm, ll = flt, dm = fdm, dl = fdt;
}
for (var i4 = 0;i4 < li; ++i4) {
var sym = syms[i4];
if (sym > 255) {
var len = sym >> 18 & 31;
wbits16(out, p, lm[len + 257]), p += ll[len + 257];
if (len > 7)
wbits(out, p, sym >> 23 & 31), p += fleb[len];
var dst = sym & 31;
wbits16(out, p, dm[dst]), p += dl[dst];
if (dst > 3)
wbits16(out, p, sym >> 5 & 8191), p += fdeb[dst];
} else {
wbits16(out, p, lm[sym]), p += ll[sym];
}
}
wbits16(out, p, lm[256]);
return p + ll[256];
}, deo, et2, dflt = function(dat, lvl, plvl, pre, post, st) {
var s2 = st.z || dat.length;
var o2 = new u8(pre + s2 + 5 * (1 + Math.ceil(s2 / 7000)) + post);
var w2 = o2.subarray(pre, o2.length - post);
var lst = st.l;
var pos = (st.r || 0) & 7;
if (lvl) {
if (pos)
w2[0] = st.r >> 3;
var opt = deo[lvl - 1];
var n2 = opt >> 13, c5 = opt & 8191;
var msk_1 = (1 << plvl) - 1;
var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);
var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
var hsh = function(i5) {
return (dat[i5] ^ dat[i5 + 1] << bs1_1 ^ dat[i5 + 2] << bs2_1) & msk_1;
};
var syms = new i32(25000);
var lf = new u16(288), df = new u16(32);
var lc_1 = 0, eb = 0, i4 = st.i || 0, li = 0, wi = st.w || 0, bs = 0;
for (;i4 + 2 < s2; ++i4) {
var hv = hsh(i4);
var imod = i4 & 32767, pimod = head[hv];
prev[imod] = pimod;
head[hv] = imod;
if (wi <= i4) {
var rem = s2 - i4;
if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {
pos = wblk(dat, w2, 0, syms, lf, df, eb, li, bs, i4 - bs, pos);
li = lc_1 = eb = 0, bs = i4;
for (var j2 = 0;j2 < 286; ++j2)
lf[j2] = 0;
for (var j2 = 0;j2 < 30; ++j2)
df[j2] = 0;
}
var l = 2, d = 0, ch_1 = c5, dif = imod - pimod & 32767;
if (rem > 2 && hv == hsh(i4 - dif)) {
var maxn = Math.min(n2, rem) - 1;
var maxd = Math.min(32767, i4);
var ml = Math.min(258, rem);
while (dif <= maxd && --ch_1 && imod != pimod) {
if (dat[i4 + l] == dat[i4 + l - dif]) {
var nl = 0;
for (;nl < ml && dat[i4 + nl] == dat[i4 + nl - dif]; ++nl)
;
if (nl > l) {
l = nl, d = dif;
if (nl > maxn)
break;
var mmd = Math.min(dif, nl - 2);
var md = 0;
for (var j2 = 0;j2 < mmd; ++j2) {
var ti = i4 - dif + j2 & 32767;
var pti = prev[ti];
var cd = ti - pti & 32767;
if (cd > md)
md = cd, pimod = ti;
}
}
}
imod = pimod, pimod = prev[imod];
dif += imod - pimod & 32767;
}
}
if (d) {
syms[li++] = 268435456 | revfl[l] << 18 | revfd[d];
var lin = revfl[l] & 31, din = revfd[d] & 31;
eb += fleb[lin] + fdeb[din];
++lf[257 + lin];
++df[din];
wi = i4 + l;
++lc_1;
} else {
syms[li++] = dat[i4];
++lf[dat[i4]];
}
}
}
for (i4 = Math.max(i4, wi);i4 < s2; ++i4) {
syms[li++] = dat[i4];
++lf[dat[i4]];
}
pos = wblk(dat, w2, lst, syms, lf, df, eb, li, bs, i4 - bs, pos);
if (!lst) {
st.r = pos & 7 | w2[pos / 8 | 0] << 3;
pos -= 7;
st.h = head, st.p = prev, st.i = i4, st.w = wi;
}
} else {
for (var i4 = st.w || 0;i4 < s2 + lst; i4 += 65535) {
var e2 = i4 + 65535;
if (e2 >= s2) {
w2[pos / 8 | 0] = lst;
e2 = s2;
}
pos = wfblk(w2, pos + 1, dat.subarray(i4, e2));
}
st.i = s2;
}
return slc(o2, 0, pre + shft(pos) + post);
}, crct, crc = function() {
var c5 = -1;
return {
p: function(d) {
var cr = c5;
for (var i4 = 0;i4 < d.length; ++i4)
cr = crct[cr & 255 ^ d[i4]] ^ cr >>> 8;
c5 = cr;
},
d: function() {
return ~c5;
}
};
}, adler = function() {
var a2 = 1, b2 = 0;
return {
p: function(d) {
var n2 = a2, m3 = b2;
var l = d.length | 0;
for (var i4 = 0;i4 != l; ) {
var e2 = Math.min(i4 + 2655, l);
for (;i4 < e2; ++i4)
m3 += n2 += d[i4];
n2 = (n2 & 65535) + 15 * (n2 >> 16), m3 = (m3 & 65535) + 15 * (m3 >> 16);
}
a2 = n2, b2 = m3;
},
d: function() {
a2 %= 65521, b2 %= 65521;
return (a2 & 255) << 24 | (a2 & 65280) << 8 | (b2 & 255) << 8 | b2 >> 8;
}
};
}, dopt = function(dat, opt, pre, post, st) {
if (!st) {
st = { l: 1 };
if (opt.dictionary) {
var dict = opt.dictionary.subarray(-32768);
var newDat = new u8(dict.length + dat.length);
newDat.set(dict);
newDat.set(dat, dict.length);
dat = newDat;
st.w = dict.length;
}
}
return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20 : 12 + opt.mem, pre, post, st);
}, mrg = function(a2, b2) {
var o2 = {};
for (var k2 in a2)
o2[k2] = a2[k2];
for (var k2 in b2)
o2[k2] = b2[k2];
return o2;
}, wcln = function(fn, fnStr, td) {
var dt = fn();
var st = fn.toString();
var ks = st.slice(st.indexOf("[") + 1, st.lastIndexOf("]")).replace(/\s+/g, "").split(",");
for (var i4 = 0;i4 < dt.length; ++i4) {
var v2 = dt[i4], k2 = ks[i4];
if (typeof v2 == "function") {
fnStr += ";" + k2 + "=";
var st_1 = v2.toString();
if (v2.prototype) {
if (st_1.indexOf("[native code]") != -1) {
var spInd = st_1.indexOf(" ", 8) + 1;
fnStr += st_1.slice(spInd, st_1.indexOf("(", spInd));
} else {
fnStr += st_1;
for (var t2 in v2.prototype)
fnStr += ";" + k2 + ".prototype." + t2 + "=" + v2.prototype[t2].toString();
}
} else
fnStr += st_1;
} else
td[k2] = v2;
}
return fnStr;
}, ch, cbfs = function(v2) {
var tl = [];
for (var k2 in v2) {
if (v2[k2].buffer) {
tl.push((v2[k2] = new v2[k2].constructor(v2[k2])).buffer);
}
}
return tl;
}, wrkr = function(fns, init, id, cb) {
if (!ch[id]) {
var fnStr = "", td_1 = {}, m3 = fns.length - 1;
for (var i4 = 0;i4 < m3; ++i4)
fnStr = wcln(fns[i4], fnStr, td_1);
ch[id] = { c: wcln(fns[m3], fnStr, td_1), e: td_1 };
}
var td = mrg({}, ch[id].e);
return wk(ch[id].c + ";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=" + init.toString() + "}", id, td, cbfs(td), cb);
}, bInflt = function() {
return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt];
}, bDflt = function() {
return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et2, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf];
}, gze = function() {
return [gzh, gzhl, wbytes, crc, crct];
}, guze = function() {
return [gzs, gzl];
}, zle = function() {
return [zlh, wbytes, adler];
}, zule = function() {
return [zls];
}, pbf = function(msg) {
return postMessage(msg, [msg.buffer]);
}, gopt = function(o2) {
return o2 && {
out: o2.size && new u8(o2.size),
dictionary: o2.dictionary
};
}, cbify = function(dat, opts, fns, init, id, cb) {
var w2 = wrkr(fns, init, id, function(err2, dat2) {
w2.terminate();
cb(err2, dat2);
});
w2.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);
return function() {
w2.terminate();
};
}, astrm = function(strm) {
strm.ondata = function(dat, final) {
return postMessage([dat, final], [dat.buffer]);
};
return function(ev) {
if (ev.data.length) {
strm.push(ev.data[0], ev.data[1]);
postMessage([ev.data[0].length]);
} else
strm.flush();
};
}, astrmify = function(fns, strm, opts, init, id, flush, ext) {
var t2;
var w2 = wrkr(fns, init, id, function(err2, dat) {
if (err2)
w2.terminate(), strm.ondata.call(strm, err2);
else if (!Array.isArray(dat))
ext(dat);
else if (dat.length == 1) {
strm.queuedSize -= dat[0];
if (strm.ondrain)
strm.ondrain(dat[0]);
} else {
if (dat[1])
w2.terminate();
strm.ondata.call(strm, err2, dat[0], dat[1]);
}
});
w2.postMessage(opts);
strm.queuedSize = 0;
strm.push = function(d, f3) {
if (!strm.ondata)
err(5);
if (t2)
strm.ondata(err(4, 0, 1), null, !!f3);
strm.queuedSize += d.length;
w2.postMessage([d, t2 = f3], [d.buffer]);
};
strm.terminate = function() {
w2.terminate();
};
if (flush) {
strm.flush = function() {
w2.postMessage([]);
};
}
}, b2 = function(d, b3) {
return d[b3] | d[b3 + 1] << 8;
}, b4 = function(d, b3) {
return (d[b3] | d[b3 + 1] << 8 | d[b3 + 2] << 16 | d[b3 + 3] << 24) >>> 0;
}, b8 = function(d, b3) {
return b4(d, b3) + b4(d, b3 + 4) * 4294967296;
}, wbytes = function(d, b3, v2) {
for (;v2; ++b3)
d[b3] = v2, v2 >>>= 8;
}, gzh = function(c5, o2) {
var fn = o2.filename;
c5[0] = 31, c5[1] = 139, c5[2] = 8, c5[8] = o2.level < 2 ? 4 : o2.level == 9 ? 2 : 0, c5[9] = 3;
if (o2.mtime != 0)
wbytes(c5, 4, Math.floor(new Date(o2.mtime || Date.now()) / 1000));
if (fn) {
c5[3] = 8;
for (var i4 = 0;i4 <= fn.length; ++i4)
c5[i4 + 10] = fn.charCodeAt(i4);
}
}, gzs = function(d) {
if (d[0] != 31 || d[1] != 139 || d[2] != 8)
err(6, "invalid gzip data");
var flg = d[3];
var st = 10;
if (flg & 4)
st += (d[10] | d[11] << 8) + 2;
for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1);zs > 0; zs -= !d[st++])
;
return st + (flg & 2);
}, gzl = function(d) {
var l = d.length;
return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;
}, gzhl = function(o2) {
return 10 + (o2.filename ? o2.filename.length + 1 : 0);
}, zlh = function(c5, o2) {
var lv = o2.level, fl2 = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;
c5[0] = 120, c5[1] = fl2 << 6 | (o2.dictionary && 32);
c5[1] |= 31 - (c5[0] << 8 | c5[1]) % 31;
if (o2.dictionary) {
var h3 = adler();
h3.p(o2.dictionary);
wbytes(c5, 2, h3.d());
}
}, zls = function(d, dict) {
if ((d[0] & 15) != 8 || d[0] >> 4 > 7 || (d[0] << 8 | d[1]) % 31)
err(6, "invalid zlib data");
if ((d[1] >> 5 & 1) == +!dict)
err(6, "invalid zlib data: " + (d[1] & 32 ? "need" : "unexpected") + " dictionary");
return (d[1] >> 3 & 4) + 2;
}, Deflate, AsyncDeflate, Inflate, AsyncInflate, Gzip, AsyncGzip, Gunzip, AsyncGunzip, Zlib, AsyncZlib, Unzlib, AsyncUnzlib, Decompress, AsyncDecompress, fltn = function(d, p, t2, o2) {
for (var k2 in d) {
var val = d[k2], n2 = p + k2, op = o2;
if (Array.isArray(val))
op = mrg(o2, val[1]), val = val[0];
if (val instanceof u8)
t2[n2] = [val, op];
else {
t2[n2 += "/"] = [new u8(0), op];
fltn(val, n2, t2, o2);
}
}
}, te, td, tds = 0, dutf8 = function(d) {
for (var r2 = "", i4 = 0;; ) {
var c5 = d[i4++];
var eb = (c5 > 127) + (c5 > 223) + (c5 > 239);
if (i4 + eb > d.length)
return { s: r2, r: slc(d, i4 - 1) };
if (!eb)
r2 += String.fromCharCode(c5);
else if (eb == 3) {
c5 = ((c5 & 15) << 18 | (d[i4++] & 63) << 12 | (d[i4++] & 63) << 6 | d[i4++] & 63) - 65536, r2 += String.fromCharCode(55296 | c5 >> 10, 56320 | c5 & 1023);
} else if (eb & 1)
r2 += String.fromCharCode((c5 & 31) << 6 | d[i4++] & 63);
else
r2 += String.fromCharCode((c5 & 15) << 12 | (d[i4++] & 63) << 6 | d[i4++] & 63);
}
}, DecodeUTF8, EncodeUTF8, dbf = function(l) {
return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0;
}, slzh = function(d, b3) {
return b3 + 30 + b2(d, b3 + 26) + b2(d, b3 + 28);
}, zh = function(d, b3, z4) {
var fnl = b2(d, b3 + 28), fn = strFromU8(d.subarray(b3 + 46, b3 + 46 + fnl), !(b2(d, b3 + 8) & 2048)), es = b3 + 46 + fnl, bs = b4(d, b3 + 20);
var _a4 = z4 && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b3 + 24), b4(d, b3 + 42)], sc = _a4[0], su = _a4[1], off = _a4[2];
return [b2(d, b3 + 10), sc, su, fn, es + b2(d, b3 + 30) + b2(d, b3 + 32), off];
}, z64e = function(d, b3) {
for (;b2(d, b3) != 1; b3 += 4 + b2(d, b3 + 2))
;
return [b8(d, b3 + 12), b8(d, b3 + 4), b8(d, b3 + 20)];
}, exfl = function(ex) {
var le2 = 0;
if (ex) {
for (var k2 in ex) {
var l = ex[k2].length;
if (l > 65535)
err(9);
le2 += l + 4;
}
}
return le2;
}, wzh = function(d, b3, f3, fn, u4, c5, ce2, co) {
var fl2 = fn.length, ex = f3.extra, col = co && co.length;
var exl = exfl(ex);
wbytes(d, b3, ce2 != null ? 33639248 : 67324752), b3 += 4;
if (ce2 != null)
d[b3++] = 20, d[b3++] = f3.os;
d[b3] = 20, b3 += 2;
d[b3++] = f3.flag << 1 | (c5 < 0 && 8), d[b3++] = u4 && 8;
d[b3++] = f3.compression & 255, d[b3++] = f3.compression >> 8;
var dt = new Date(f3.mtime == null ? Date.now() : f3.mtime), y3 = dt.getFullYear() - 1980;
if (y3 < 0 || y3 > 119)
err(10);
wbytes(d, b3, y3 << 25 | dt.getMonth() + 1 << 21 | dt.getDate() << 16 | dt.getHours() << 11 | dt.getMinutes() << 5 | dt.getSeconds() >> 1), b3 += 4;
if (c5 != -1) {
wbytes(d, b3, f3.crc);
wbytes(d, b3 + 4, c5 < 0 ? -c5 - 2 : c5);
wbytes(d, b3 + 8, f3.size);
}
wbytes(d, b3 + 12, fl2);
wbytes(d, b3 + 14, exl), b3 += 16;
if (ce2 != null) {
wbytes(d, b3, col);
wbytes(d, b3 + 6, f3.attrs);
wbytes(d, b3 + 10, ce2), b3 += 14;
}
d.set(fn, b3);
b3 += fl2;
if (exl) {
for (var k2 in ex) {
var exf = ex[k2], l = exf.length;
wbytes(d, b3, +k2);
wbytes(d, b3 + 2, l);
d.set(exf, b3 + 4), b3 += 4 + l;
}
}
if (col)
d.set(co, b3), b3 += col;
return b3;
}, wzf = function(o2, b3, c5, d, e2) {
wbytes(o2, b3, 101010256);
wbytes(o2, b3 + 8, c5);
wbytes(o2, b3 + 10, c5);
wbytes(o2, b3 + 12, d);
wbytes(o2, b3 + 16, e2);
}, ZipPassThrough, ZipDeflate, AsyncZipDeflate, Zip, UnzipPassThrough, UnzipInflate, AsyncUnzipInflate, Unzip, mt;
var init_esm10 = __esm(() => {
require2 = createRequire2("/");
try {
Worker = require2("worker_threads").Worker;
} catch (e2) {}
wk = Worker ? function(c5, _2, msg, transfer, cb) {
var done = false;
var w2 = new Worker(c5 + workerAdd, { eval: true }).on("error", function(e2) {
return cb(e2, null);
}).on("message", function(m3) {
return cb(null, m3);
}).on("exit", function(c6) {
if (c6 && !done)
cb(new Error("exited with code " + c6), null);
});
w2.postMessage(msg, transfer);
w2.terminate = function() {
done = true;
return Worker.prototype.terminate.call(w2);
};
return w2;
} : function(_2, __, ___, ____, cb) {
setImmediate(function() {
return cb(new Error("async operations unsupported - update to Node 12+ (or Node 10-11 with the --experimental-worker CLI flag)"), null);
});
var NOP = function() {};
return {
terminate: NOP,
postMessage: NOP
};
};
u8 = Uint8Array;
u16 = Uint16Array;
i32 = Int32Array;
fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]);
fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0]);
clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
_a3 = freb(fleb, 2);
fl = _a3.b;
revfl = _a3.r;
fl[28] = 258, revfl[258] = 28;
_b = freb(fdeb, 0);
fd = _b.b;
revfd = _b.r;
rev = new u16(32768);
for (i3 = 0;i3 < 32768; ++i3) {
x4 = (i3 & 43690) >> 1 | (i3 & 21845) << 1;
x4 = (x4 & 52428) >> 2 | (x4 & 13107) << 2;
x4 = (x4 & 61680) >> 4 | (x4 & 3855) << 4;
rev[i3] = ((x4 & 65280) >> 8 | (x4 & 255) << 8) >> 1;
}
flt = new u8(288);
for (i3 = 0;i3 < 144; ++i3)
flt[i3] = 8;
for (i3 = 144;i3 < 256; ++i3)
flt[i3] = 9;
for (i3 = 256;i3 < 280; ++i3)
flt[i3] = 7;
for (i3 = 280;i3 < 288; ++i3)
flt[i3] = 8;
fdt = new u8(32);
for (i3 = 0;i3 < 32; ++i3)
fdt[i3] = 5;
flm = /* @__PURE__ */ hMap(flt, 9, 0);
flrm = /* @__PURE__ */ hMap(flt, 9, 1);
fdm = /* @__PURE__ */ hMap(fdt, 5, 0);
fdrm = /* @__PURE__ */ hMap(fdt, 5, 1);
FlateErrorCode = {
UnexpectedEOF: 0,
InvalidBlockType: 1,
InvalidLengthLiteral: 2,
InvalidDistance: 3,
StreamFinished: 4,
NoStreamHandler: 5,
InvalidHeader: 6,
NoCallback: 7,
InvalidUTF8: 8,
ExtraFieldTooLong: 9,
InvalidDate: 10,
FilenameTooLong: 11,
StreamFinishing: 12,
InvalidZipData: 13,
UnknownCompressionMethod: 14
};
ec = [
"unexpected EOF",
"invalid block type",
"invalid length/literal",
"invalid distance",
"stream finished",
"no stream handler",
,
"no callback",
"invalid UTF-8 data",
"extra field too long",
"date not in range 1980-2099",
"filename too long",
"stream finishing",
"invalid zip data"
];
deo = /* @__PURE__ */ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);
et2 = /* @__PURE__ */ new u8(0);
crct = /* @__PURE__ */ function() {
var t2 = new Int32Array(256);
for (var i4 = 0;i4 < 256; ++i4) {
var c5 = i4, k2 = 9;
while (--k2)
c5 = (c5 & 1 && -306674912) ^ c5 >>> 1;
t2[i4] = c5;
}
return t2;
}();
ch = [];
Deflate = /* @__PURE__ */ function() {
function Deflate2(opts, cb) {
if (typeof opts == "function")
cb = opts, opts = {};
this.ondata = cb;
this.o = opts || {};
this.s = { l: 0, i: 32768, w: 32768, z: 32768 };
this.b = new u8(98304);
if (this.o.dictionary) {
var dict = this.o.dictionary.subarray(-32768);
this.b.set(dict, 32768 - dict.length);
this.s.i = 32768 - dict.length;
}
}
Deflate2.prototype.p = function(c5, f3) {
this.ondata(dopt(c5, this.o, 0, 0, this.s), f3);
};
Deflate2.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
if (this.s.l)
err(4);
var endLen = chunk.length + this.s.z;
if (endLen > this.b.length) {
if (endLen > 2 * this.b.length - 32768) {
var newBuf = new u8(endLen & -32768);
newBuf.set(this.b.subarray(0, this.s.z));
this.b = newBuf;
}
var split = this.b.length - this.s.z;
this.b.set(chunk.subarray(0, split), this.s.z);
this.s.z = this.b.length;
this.p(this.b, false);
this.b.set(this.b.subarray(-32768));
this.b.set(chunk.subarray(split), 32768);
this.s.z = chunk.length - split + 32768;
this.s.i = 32766, this.s.w = 32768;
} else {
this.b.set(chunk, this.s.z);
this.s.z += chunk.length;
}
this.s.l = final & 1;
if (this.s.z > this.s.w + 8191 || final) {
this.p(this.b, final || false);
this.s.w = this.s.i, this.s.i -= 2;
}
};
Deflate2.prototype.flush = function() {
if (!this.ondata)
err(5);
if (this.s.l)
err(4);
this.p(this.b, false);
this.s.w = this.s.i, this.s.i -= 2;
};
return Deflate2;
}();
AsyncDeflate = /* @__PURE__ */ function() {
function AsyncDeflate2(opts, cb) {
astrmify([
bDflt,
function() {
return [astrm, Deflate];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Deflate(ev.data);
onmessage = astrm(strm);
}, 6, 1);
}
return AsyncDeflate2;
}();
Inflate = /* @__PURE__ */ function() {
function Inflate2(opts, cb) {
if (typeof opts == "function")
cb = opts, opts = {};
this.ondata = cb;
var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);
this.s = { i: 0, b: dict ? dict.length : 0 };
this.o = new u8(32768);
this.p = new u8(0);
if (dict)
this.o.set(dict);
}
Inflate2.prototype.e = function(c5) {
if (!this.ondata)
err(5);
if (this.d)
err(4);
if (!this.p.length)
this.p = c5;
else if (c5.length) {
var n2 = new u8(this.p.length + c5.length);
n2.set(this.p), n2.set(c5, this.p.length), this.p = n2;
}
};
Inflate2.prototype.c = function(final) {
this.s.i = +(this.d = final || false);
var bts = this.s.b;
var dt = inflt(this.p, this.s, this.o);
this.ondata(slc(dt, bts, this.s.b), this.d);
this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;
this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7;
};
Inflate2.prototype.push = function(chunk, final) {
this.e(chunk), this.c(final);
};
return Inflate2;
}();
AsyncInflate = /* @__PURE__ */ function() {
function AsyncInflate2(opts, cb) {
astrmify([
bInflt,
function() {
return [astrm, Inflate];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Inflate(ev.data);
onmessage = astrm(strm);
}, 7, 0);
}
return AsyncInflate2;
}();
Gzip = /* @__PURE__ */ function() {
function Gzip2(opts, cb) {
this.c = crc();
this.l = 0;
this.v = 1;
Deflate.call(this, opts, cb);
}
Gzip2.prototype.push = function(chunk, final) {
this.c.p(chunk);
this.l += chunk.length;
Deflate.prototype.push.call(this, chunk, final);
};
Gzip2.prototype.p = function(c5, f3) {
var raw = dopt(c5, this.o, this.v && gzhl(this.o), f3 && 8, this.s);
if (this.v)
gzh(raw, this.o), this.v = 0;
if (f3)
wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);
this.ondata(raw, f3);
};
Gzip2.prototype.flush = function() {
Deflate.prototype.flush.call(this);
};
return Gzip2;
}();
AsyncGzip = /* @__PURE__ */ function() {
function AsyncGzip2(opts, cb) {
astrmify([
bDflt,
gze,
function() {
return [astrm, Deflate, Gzip];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Gzip(ev.data);
onmessage = astrm(strm);
}, 8, 1);
}
return AsyncGzip2;
}();
Gunzip = /* @__PURE__ */ function() {
function Gunzip2(opts, cb) {
this.v = 1;
this.r = 0;
Inflate.call(this, opts, cb);
}
Gunzip2.prototype.push = function(chunk, final) {
Inflate.prototype.e.call(this, chunk);
this.r += chunk.length;
if (this.v) {
var p = this.p.subarray(this.v - 1);
var s2 = p.length > 3 ? gzs(p) : 4;
if (s2 > p.length) {
if (!final)
return;
} else if (this.v > 1 && this.onmember) {
this.onmember(this.r - p.length);
}
this.p = p.subarray(s2), this.v = 0;
}
Inflate.prototype.c.call(this, final);
if (this.s.f && !this.s.l && !final) {
this.v = shft(this.s.p) + 9;
this.s = { i: 0 };
this.o = new u8(0);
this.push(new u8(0), final);
}
};
return Gunzip2;
}();
AsyncGunzip = /* @__PURE__ */ function() {
function AsyncGunzip2(opts, cb) {
var _this = this;
astrmify([
bInflt,
guze,
function() {
return [astrm, Inflate, Gunzip];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Gunzip(ev.data);
strm.onmember = function(offset) {
return postMessage(offset);
};
onmessage = astrm(strm);
}, 9, 0, function(offset) {
return _this.onmember && _this.onmember(offset);
});
}
return AsyncGunzip2;
}();
Zlib = /* @__PURE__ */ function() {
function Zlib2(opts, cb) {
this.c = adler();
this.v = 1;
Deflate.call(this, opts, cb);
}
Zlib2.prototype.push = function(chunk, final) {
this.c.p(chunk);
Deflate.prototype.push.call(this, chunk, final);
};
Zlib2.prototype.p = function(c5, f3) {
var raw = dopt(c5, this.o, this.v && (this.o.dictionary ? 6 : 2), f3 && 4, this.s);
if (this.v)
zlh(raw, this.o), this.v = 0;
if (f3)
wbytes(raw, raw.length - 4, this.c.d());
this.ondata(raw, f3);
};
Zlib2.prototype.flush = function() {
Deflate.prototype.flush.call(this);
};
return Zlib2;
}();
AsyncZlib = /* @__PURE__ */ function() {
function AsyncZlib2(opts, cb) {
astrmify([
bDflt,
zle,
function() {
return [astrm, Deflate, Zlib];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Zlib(ev.data);
onmessage = astrm(strm);
}, 10, 1);
}
return AsyncZlib2;
}();
Unzlib = /* @__PURE__ */ function() {
function Unzlib2(opts, cb) {
Inflate.call(this, opts, cb);
this.v = opts && opts.dictionary ? 2 : 1;
}
Unzlib2.prototype.push = function(chunk, final) {
Inflate.prototype.e.call(this, chunk);
if (this.v) {
if (this.p.length < 6 && !final)
return;
this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;
}
if (final) {
if (this.p.length < 4)
err(6, "invalid zlib data");
this.p = this.p.subarray(0, -4);
}
Inflate.prototype.c.call(this, final);
};
return Unzlib2;
}();
AsyncUnzlib = /* @__PURE__ */ function() {
function AsyncUnzlib2(opts, cb) {
astrmify([
bInflt,
zule,
function() {
return [astrm, Inflate, Unzlib];
}
], this, StrmOpt.call(this, opts, cb), function(ev) {
var strm = new Unzlib(ev.data);
onmessage = astrm(strm);
}, 11, 0);
}
return AsyncUnzlib2;
}();
Decompress = /* @__PURE__ */ function() {
function Decompress2(opts, cb) {
this.o = StrmOpt.call(this, opts, cb) || {};
this.G = Gunzip;
this.I = Inflate;
this.Z = Unzlib;
}
Decompress2.prototype.i = function() {
var _this = this;
this.s.ondata = function(dat, final) {
_this.ondata(dat, final);
};
};
Decompress2.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
if (!this.s) {
if (this.p && this.p.length) {
var n2 = new u8(this.p.length + chunk.length);
n2.set(this.p), n2.set(chunk, this.p.length);
} else
this.p = chunk;
if (this.p.length > 2) {
this.s = this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8 ? new this.G(this.o) : (this.p[0] & 15) != 8 || this.p[0] >> 4 > 7 || (this.p[0] << 8 | this.p[1]) % 31 ? new this.I(this.o) : new this.Z(this.o);
this.i();
this.s.push(this.p, final);
this.p = null;
}
} else
this.s.push(chunk, final);
};
return Decompress2;
}();
AsyncDecompress = /* @__PURE__ */ function() {
function AsyncDecompress2(opts, cb) {
Decompress.call(this, opts, cb);
this.queuedSize = 0;
this.G = AsyncGunzip;
this.I = AsyncInflate;
this.Z = AsyncUnzlib;
}
AsyncDecompress2.prototype.i = function() {
var _this = this;
this.s.ondata = function(err2, dat, final) {
_this.ondata(err2, dat, final);
};
this.s.ondrain = function(size) {
_this.queuedSize -= size;
if (_this.ondrain)
_this.ondrain(size);
};
};
AsyncDecompress2.prototype.push = function(chunk, final) {
this.queuedSize += chunk.length;
Decompress.prototype.push.call(this, chunk, final);
};
return AsyncDecompress2;
}();
te = typeof TextEncoder != "undefined" && /* @__PURE__ */ new TextEncoder;
td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder;
try {
td.decode(et2, { stream: true });
tds = 1;
} catch (e2) {}
DecodeUTF8 = /* @__PURE__ */ function() {
function DecodeUTF82(cb) {
this.ondata = cb;
if (tds)
this.t = new TextDecoder;
else
this.p = et2;
}
DecodeUTF82.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
final = !!final;
if (this.t) {
this.ondata(this.t.decode(chunk, { stream: true }), final);
if (final) {
if (this.t.decode().length)
err(8);
this.t = null;
}
return;
}
if (!this.p)
err(4);
var dat = new u8(this.p.length + chunk.length);
dat.set(this.p);
dat.set(chunk, this.p.length);
var _a4 = dutf8(dat), s2 = _a4.s, r2 = _a4.r;
if (final) {
if (r2.length)
err(8);
this.p = null;
} else
this.p = r2;
this.ondata(s2, final);
};
return DecodeUTF82;
}();
EncodeUTF8 = /* @__PURE__ */ function() {
function EncodeUTF82(cb) {
this.ondata = cb;
}
EncodeUTF82.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
if (this.d)
err(4);
this.ondata(strToU8(chunk), this.d = final || false);
};
return EncodeUTF82;
}();
ZipPassThrough = /* @__PURE__ */ function() {
function ZipPassThrough2(filename) {
this.filename = filename;
this.c = crc();
this.size = 0;
this.compression = 0;
}
ZipPassThrough2.prototype.process = function(chunk, final) {
this.ondata(null, chunk, final);
};
ZipPassThrough2.prototype.push = function(chunk, final) {
if (!this.ondata)
err(5);
this.c.p(chunk);
this.size += chunk.length;
if (final)
this.crc = this.c.d();
this.process(chunk, final || false);
};
return ZipPassThrough2;
}();
ZipDeflate = /* @__PURE__ */ function() {
function ZipDeflate2(filename, opts) {
var _this = this;
if (!opts)
opts = {};
ZipPassThrough.call(this, filename);
this.d = new Deflate(opts, function(dat, final) {
_this.ondata(null, dat, final);
});
this.compression = 8;
this.flag = dbf(opts.level);
}
ZipDeflate2.prototype.process = function(chunk, final) {
try {
this.d.push(chunk, final);
} catch (e2) {
this.ondata(e2, null, final);
}
};
ZipDeflate2.prototype.push = function(chunk, final) {
ZipPassThrough.prototype.push.call(this, chunk, final);
};
return ZipDeflate2;
}();
AsyncZipDeflate = /* @__PURE__ */ function() {
function AsyncZipDeflate2(filename, opts) {
var _this = this;
if (!opts)
opts = {};
ZipPassThrough.call(this, filename);
this.d = new AsyncDeflate(opts, function(err2, dat, final) {
_this.ondata(err2, dat, final);
});
this.compression = 8;
this.flag = dbf(opts.level);
this.terminate = this.d.terminate;
}
AsyncZipDeflate2.prototype.process = function(chunk, final) {
this.d.push(chunk, final);
};
AsyncZipDeflate2.prototype.push = function(chunk, final) {
ZipPassThrough.prototype.push.call(this, chunk, final);
};
return AsyncZipDeflate2;
}();
Zip = /* @__PURE__ */ function() {
function Zip2(cb) {
this.ondata = cb;
this.u = [];
this.d = 1;
}
Zip2.prototype.add = function(file2) {
var _this = this;
if (!this.ondata)
err(5);
if (this.d & 2)
this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);
else {
var f3 = strToU8(file2.filename), fl_1 = f3.length;
var com = file2.comment, o2 = com && strToU8(com);
var u4 = fl_1 != file2.filename.length || o2 && com.length != o2.length;
var hl_1 = fl_1 + exfl(file2.extra) + 30;
if (fl_1 > 65535)
this.ondata(err(11, 0, 1), null, false);
var header = new u8(hl_1);
wzh(header, 0, file2, f3, u4, -1);
var chks_1 = [header];
var pAll_1 = function() {
for (var _i = 0, chks_2 = chks_1;_i < chks_2.length; _i++) {
var chk = chks_2[_i];
_this.ondata(null, chk, false);
}
chks_1 = [];
};
var tr_1 = this.d;
this.d = 0;
var ind_1 = this.u.length;
var uf_1 = mrg(file2, {
f: f3,
u: u4,
o: o2,
t: function() {
if (file2.terminate)
file2.terminate();
},
r: function() {
pAll_1();
if (tr_1) {
var nxt = _this.u[ind_1 + 1];
if (nxt)
nxt.r();
else
_this.d = 1;
}
tr_1 = 1;
}
});
var cl_1 = 0;
file2.ondata = function(err2, dat, final) {
if (err2) {
_this.ondata(err2, dat, final);
_this.terminate();
} else {
cl_1 += dat.length;
chks_1.push(dat);
if (final) {
var dd = new u8(16);
wbytes(dd, 0, 134695760);
wbytes(dd, 4, file2.crc);
wbytes(dd, 8, cl_1);
wbytes(dd, 12, file2.size);
chks_1.push(dd);
uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file2.crc, uf_1.size = file2.size;
if (tr_1)
uf_1.r();
tr_1 = 1;
} else if (tr_1)
pAll_1();
}
};
this.u.push(uf_1);
}
};
Zip2.prototype.end = function() {
var _this = this;
if (this.d & 2) {
this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);
return;
}
if (this.d)
this.e();
else
this.u.push({
r: function() {
if (!(_this.d & 1))
return;
_this.u.splice(-1, 1);
_this.e();
},
t: function() {}
});
this.d = 3;
};
Zip2.prototype.e = function() {
var bt = 0, l = 0, tl = 0;
for (var _i = 0, _a4 = this.u;_i < _a4.length; _i++) {
var f3 = _a4[_i];
tl += 46 + f3.f.length + exfl(f3.extra) + (f3.o ? f3.o.length : 0);
}
var out = new u8(tl + 22);
for (var _b2 = 0, _c17 = this.u;_b2 < _c17.length; _b2++) {
var f3 = _c17[_b2];
wzh(out, bt, f3, f3.f, f3.u, -f3.c - 2, l, f3.o);
bt += 46 + f3.f.length + exfl(f3.extra) + (f3.o ? f3.o.length : 0), l += f3.b;
}
wzf(out, bt, this.u.length, tl, l);
this.ondata(null, out, true);
this.d = 2;
};
Zip2.prototype.terminate = function() {
for (var _i = 0, _a4 = this.u;_i < _a4.length; _i++) {
var f3 = _a4[_i];
f3.t();
}
this.d = 2;
};
return Zip2;
}();
UnzipPassThrough = /* @__PURE__ */ function() {
function UnzipPassThrough2() {}
UnzipPassThrough2.prototype.push = function(data, final) {
this.ondata(null, data, final);
};
UnzipPassThrough2.compression = 0;
return UnzipPassThrough2;
}();
UnzipInflate = /* @__PURE__ */ function() {
function UnzipInflate2() {
var _this = this;
this.i = new Inflate(function(dat, final) {
_this.ondata(null, dat, final);
});
}
UnzipInflate2.prototype.push = function(data, final) {
try {
this.i.push(data, final);
} catch (e2) {
this.ondata(e2, null, final);
}
};
UnzipInflate2.compression = 8;
return UnzipInflate2;
}();
AsyncUnzipInflate = /* @__PURE__ */ function() {
function AsyncUnzipInflate2(_2, sz) {
var _this = this;
if (sz < 320000) {
this.i = new Inflate(function(dat, final) {
_this.ondata(null, dat, final);
});
} else {
this.i = new AsyncInflate(function(err2, dat, final) {
_this.ondata(err2, dat, final);
});
this.terminate = this.i.terminate;
}
}
AsyncUnzipInflate2.prototype.push = function(data, final) {
if (this.i.terminate)
data = slc(data, 0);
this.i.push(data, final);
};
AsyncUnzipInflate2.compression = 8;
return AsyncUnzipInflate2;
}();
Unzip = /* @__PURE__ */ function() {
function Unzip2(cb) {
this.onfile = cb;
this.k = [];
this.o = {
0: UnzipPassThrough
};
this.p = et2;
}
Unzip2.prototype.push = function(chunk, final) {
var _this = this;
if (!this.onfile)
err(5);
if (!this.p)
err(4);
if (this.c > 0) {
var len = Math.min(this.c, chunk.length);
var toAdd = chunk.subarray(0, len);
this.c -= len;
if (this.d)
this.d.push(toAdd, !this.c);
else
this.k[0].push(toAdd);
chunk = chunk.subarray(len);
if (chunk.length)
return this.push(chunk, final);
} else {
var f3 = 0, i4 = 0, is = undefined, buf = undefined;
if (!this.p.length)
buf = chunk;
else if (!chunk.length)
buf = this.p;
else {
buf = new u8(this.p.length + chunk.length);
buf.set(this.p), buf.set(chunk, this.p.length);
}
var l = buf.length, oc = this.c, add = oc && this.d;
var _loop_2 = function() {
var _a4;
var sig = b4(buf, i4);
if (sig == 67324752) {
f3 = 1, is = i4;
this_1.d = null;
this_1.c = 0;
var bf = b2(buf, i4 + 6), cmp_1 = b2(buf, i4 + 8), u4 = bf & 2048, dd = bf & 8, fnl = b2(buf, i4 + 26), es = b2(buf, i4 + 28);
if (l > i4 + 30 + fnl + es) {
var chks_3 = [];
this_1.k.unshift(chks_3);
f3 = 2;
var sc_1 = b4(buf, i4 + 18), su_1 = b4(buf, i4 + 22);
var fn_1 = strFromU8(buf.subarray(i4 + 30, i4 += 30 + fnl), !u4);
if (sc_1 == 4294967295) {
_a4 = dd ? [-2] : z64e(buf, i4), sc_1 = _a4[0], su_1 = _a4[1];
} else if (dd)
sc_1 = -1;
i4 += es;
this_1.c = sc_1;
var d_1;
var file_1 = {
name: fn_1,
compression: cmp_1,
start: function() {
if (!file_1.ondata)
err(5);
if (!sc_1)
file_1.ondata(null, et2, true);
else {
var ctr = _this.o[cmp_1];
if (!ctr)
file_1.ondata(err(14, "unknown compression type " + cmp_1, 1), null, false);
d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);
d_1.ondata = function(err2, dat3, final2) {
file_1.ondata(err2, dat3, final2);
};
for (var _i = 0, chks_4 = chks_3;_i < chks_4.length; _i++) {
var dat2 = chks_4[_i];
d_1.push(dat2, false);
}
if (_this.k[0] == chks_3 && _this.c)
_this.d = d_1;
else
d_1.push(et2, true);
}
},
terminate: function() {
if (d_1 && d_1.terminate)
d_1.terminate();
}
};
if (sc_1 >= 0)
file_1.size = sc_1, file_1.originalSize = su_1;
this_1.onfile(file_1);
}
return "break";
} else if (oc) {
if (sig == 134695760) {
is = i4 += 12 + (oc == -2 && 8), f3 = 3, this_1.c = 0;
return "break";
} else if (sig == 33639248) {
is = i4 -= 4, f3 = 3, this_1.c = 0;
return "break";
}
}
};
var this_1 = this;
for (;i4 < l - 4; ++i4) {
var state_1 = _loop_2();
if (state_1 === "break")
break;
}
this.p = et2;
if (oc < 0) {
var dat = f3 ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 134695760 && 4)) : buf.subarray(0, i4);
if (add)
add.push(dat, !!f3);
else
this.k[+(f3 == 2)].push(dat);
}
if (f3 & 2)
return this.push(buf.subarray(i4), final);
this.p = buf.subarray(i4);
}
if (final) {
if (this.c)
err(13);
this.p = null;
}
};
Unzip2.prototype.register = function(decoder) {
this.o[decoder.compression] = decoder;
};
return Unzip2;
}();
mt = typeof queueMicrotask == "function" ? queueMicrotask : typeof setTimeout == "function" ? setTimeout : function(fn) {
fn();
};
});
// src/utils/dxt/zip.ts
import { isAbsolute as isAbsolute5, normalize as normalize5 } from "path";
function isPathSafe(filePath) {
if (containsPathTraversal(filePath)) {
return false;
}
const normalized = normalize5(filePath);
if (isAbsolute5(normalized)) {
return false;
}
return true;
}
function validateZipFile(file2, state3) {
state3.fileCount++;
let error52;
if (state3.fileCount > LIMITS.MAX_FILE_COUNT) {
error52 = `Archive contains too many files: ${state3.fileCount} (max: ${LIMITS.MAX_FILE_COUNT})`;
}
if (!isPathSafe(file2.name)) {
error52 = `Unsafe file path detected: "${file2.name}". Path traversal or absolute paths are not allowed.`;
}
const fileSize = file2.originalSize || 0;
if (fileSize > LIMITS.MAX_FILE_SIZE) {
error52 = `File "${file2.name}" is too large: ${Math.round(fileSize / 1024 / 1024)}MB (max: ${Math.round(LIMITS.MAX_FILE_SIZE / 1024 / 1024)}MB)`;
}
state3.totalUncompressedSize += fileSize;
if (state3.totalUncompressedSize > LIMITS.MAX_TOTAL_SIZE) {
error52 = `Archive total size is too large: ${Math.round(state3.totalUncompressedSize / 1024 / 1024)}MB (max: ${Math.round(LIMITS.MAX_TOTAL_SIZE / 1024 / 1024)}MB)`;
}
const currentRatio = state3.totalUncompressedSize / state3.compressedSize;
if (currentRatio > LIMITS.MAX_COMPRESSION_RATIO) {
error52 = `Suspicious compression ratio detected: ${currentRatio.toFixed(1)}:1 (max: ${LIMITS.MAX_COMPRESSION_RATIO}:1). This may be a zip bomb.`;
}
return error52 ? { isValid: false, error: error52 } : { isValid: true };
}
async function unzipFile(zipData) {
const { unzipSync: unzipSync2 } = await Promise.resolve().then(() => (init_esm10(), exports_esm2));
const compressedSize = zipData.length;
const state3 = {
fileCount: 0,
totalUncompressedSize: 0,
compressedSize,
errors: []
};
const result = unzipSync2(new Uint8Array(zipData), {
filter: (file2) => {
const validationResult = validateZipFile(file2, state3);
if (!validationResult.isValid) {
throw new Error(validationResult.error);
}
return true;
}
});
logForDebugging(`Zip extraction completed: ${state3.fileCount} files, ${Math.round(state3.totalUncompressedSize / 1024)}KB uncompressed`);
return result;
}
function parseZipModes(data) {
const buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
const modes = {};
const minEocd = Math.max(0, buf.length - 22 - 65535);
let eocd = -1;
for (let i4 = buf.length - 22;i4 >= minEocd; i4--) {
if (buf.readUInt32LE(i4) === 101010256) {
eocd = i4;
break;
}
}
if (eocd < 0)
return modes;
const entryCount = buf.readUInt16LE(eocd + 10);
let off = buf.readUInt32LE(eocd + 16);
for (let i4 = 0;i4 < entryCount; i4++) {
if (off + 46 > buf.length || buf.readUInt32LE(off) !== 33639248)
break;
const versionMadeBy = buf.readUInt16LE(off + 4);
const nameLen = buf.readUInt16LE(off + 28);
const extraLen = buf.readUInt16LE(off + 30);
const commentLen = buf.readUInt16LE(off + 32);
const externalAttr = buf.readUInt32LE(off + 38);
const name3 = buf.toString("utf8", off + 46, off + 46 + nameLen);
if (versionMadeBy >> 8 === 3) {
const mode = externalAttr >>> 16 & 65535;
if (mode)
modes[name3] = mode;
}
off += 46 + nameLen + extraLen + commentLen;
}
return modes;
}
var LIMITS;
var init_zip = __esm(() => {
init_debug();
init_errors();
init_fsOperations();
init_path2();
LIMITS = {
MAX_FILE_SIZE: 512 * 1024 * 1024,
MAX_TOTAL_SIZE: 1024 * 1024 * 1024,
MAX_FILE_COUNT: 1e5,
MAX_COMPRESSION_RATIO: 50,
MIN_COMPRESSION_RATIO: 0.5
};
});
// src/utils/systemDirectories.ts
import { homedir as homedir10 } from "os";
import { join as join32 } from "path";
function getSystemDirectories(options) {
const platform3 = options?.platform ?? getPlatform();
const homeDir = options?.homedir ?? homedir10();
const env6 = options?.env ?? process.env;
const defaults2 = {
HOME: homeDir,
DESKTOP: join32(homeDir, "Desktop"),
DOCUMENTS: join32(homeDir, "Documents"),
DOWNLOADS: join32(homeDir, "Downloads")
};
switch (platform3) {
case "windows": {
const userProfile = env6.USERPROFILE || homeDir;
return {
HOME: homeDir,
DESKTOP: join32(userProfile, "Desktop"),
DOCUMENTS: join32(userProfile, "Documents"),
DOWNLOADS: join32(userProfile, "Downloads")
};
}
case "linux":
case "wsl": {
return {
HOME: homeDir,
DESKTOP: env6.XDG_DESKTOP_DIR || defaults2.DESKTOP,
DOCUMENTS: env6.XDG_DOCUMENTS_DIR || defaults2.DOCUMENTS,
DOWNLOADS: env6.XDG_DOWNLOAD_DIR || defaults2.DOWNLOADS
};
}
case "macos":
default: {
if (platform3 === "unknown") {
logForDebugging(`Unknown platform detected, using default paths`);
}
return defaults2;
}
}
}
var init_systemDirectories = __esm(() => {
init_debug();
init_platform2();
});
// src/utils/plugins/officialMarketplace.ts
var OFFICIAL_MARKETPLACE_SOURCE, OFFICIAL_MARKETPLACE_NAME = "claude-plugins-official";
var init_officialMarketplace = __esm(() => {
OFFICIAL_MARKETPLACE_SOURCE = {
source: "github",
repo: "anthropics/claude-plugins-official"
};
});
// src/utils/plugins/fetchTelemetry.ts
function extractHost(urlOrSpec) {
let host;
const scpMatch = /^[^@/]+@([^:/]+):/.exec(urlOrSpec);
if (scpMatch) {
host = scpMatch[1];
} else {
try {
host = new URL(urlOrSpec).hostname;
} catch {
return "unknown";
}
}
const normalized = host.toLowerCase();
return KNOWN_PUBLIC_HOSTS.has(normalized) ? normalized : "other";
}
function isOfficialRepo(urlOrSpec) {
return urlOrSpec.includes(`anthropics/${OFFICIAL_MARKETPLACE_NAME}`);
}
function logPluginFetch(source, urlOrSpec, outcome, durationMs, errorKind) {
logEvent("tengu_plugin_remote_fetch", {
source,
host: urlOrSpec ? extractHost(urlOrSpec) : "unknown",
is_official: urlOrSpec ? isOfficialRepo(urlOrSpec) : false,
outcome,
duration_ms: Math.round(durationMs),
...errorKind && { error_kind: errorKind }
});
}
function classifyFetchError(error52) {
const msg = String(error52?.message ?? error52);
if (/ENOTFOUND|ECONNREFUSED|EAI_AGAIN|Could not resolve host|Connection refused/i.test(msg)) {
return "dns_or_refused";
}
if (/ETIMEDOUT|timed out|timeout/i.test(msg))
return "timeout";
if (/ECONNRESET|socket hang up|Connection reset by peer|remote end hung up/i.test(msg)) {
return "conn_reset";
}
if (/403|401|authentication|permission denied/i.test(msg))
return "auth";
if (/404|not found|repository not found/i.test(msg))
return "not_found";
if (/certificate|SSL|TLS|unable to get local issuer/i.test(msg))
return "tls";
if (/Invalid response format|Invalid marketplace schema/i.test(msg)) {
return "invalid_schema";
}
return "other";
}
var KNOWN_PUBLIC_HOSTS;
var init_fetchTelemetry = __esm(() => {
init_analytics();
init_officialMarketplace();
KNOWN_PUBLIC_HOSTS = new Set([
"github.com",
"raw.githubusercontent.com",
"objects.githubusercontent.com",
"gist.githubusercontent.com",
"gitlab.com",
"bitbucket.org",
"codeberg.org",
"dev.azure.com",
"ssh.dev.azure.com",
"storage.googleapis.com"
]);
});
// src/utils/plugins/mcpbHandler.ts
import { createHash as createHash5 } from "crypto";
import { chmod, writeFile as writeFile7 } from "fs/promises";
import { dirname as dirname12, join as join33 } from "path";
function isMcpbSource(source) {
return source.endsWith(".mcpb") || source.endsWith(".dxt");
}
function isUrl2(source) {
return source.startsWith("http://") || source.startsWith("https://");
}
function generateContentHash(data) {
return createHash5("sha256").update(data).digest("hex").substring(0, 16);
}
function getMcpbCacheDir(pluginPath) {
return join33(pluginPath, ".mcpb-cache");
}
function getMetadataPath(cacheDir, source) {
const sourceHash = createHash5("md5").update(source).digest("hex").substring(0, 8);
return join33(cacheDir, `${sourceHash}.metadata.json`);
}
function serverSecretsKey(pluginId, serverName) {
return `${pluginId}/${serverName}`;
}
function loadMcpServerUserConfig(pluginId, serverName) {
try {
const settings = getSettings_DEPRECATED();
const nonSensitive = settings.pluginConfigs?.[pluginId]?.mcpServers?.[serverName];
const sensitive = getSecureStorage().read()?.pluginSecrets?.[serverSecretsKey(pluginId, serverName)];
if (!nonSensitive && !sensitive) {
return null;
}
logForDebugging(`Loaded user config for ${pluginId}/${serverName} (settings + secureStorage)`);
return { ...nonSensitive, ...sensitive };
} catch (error52) {
const errorObj = toError(error52);
logError2(errorObj);
logForDebugging(`Failed to load user config for ${pluginId}/${serverName}: ${error52}`, { level: "error" });
return null;
}
}
function saveMcpServerUserConfig(pluginId, serverName, config2, schema) {
try {
const nonSensitive = {};
const sensitive = {};
for (const [key, value] of Object.entries(config2)) {
if (schema[key]?.sensitive === true) {
sensitive[key] = String(value);
} else {
nonSensitive[key] = value;
}
}
const sensitiveKeysInThisSave = new Set(Object.keys(sensitive));
const nonSensitiveKeysInThisSave = new Set(Object.keys(nonSensitive));
const storage = getSecureStorage();
const k2 = serverSecretsKey(pluginId, serverName);
const existingInSecureStorage = storage.read()?.pluginSecrets?.[k2] ?? undefined;
const secureScrubbed = existingInSecureStorage ? Object.fromEntries(Object.entries(existingInSecureStorage).filter(([key]) => !nonSensitiveKeysInThisSave.has(key))) : undefined;
const needSecureScrub = secureScrubbed && existingInSecureStorage && Object.keys(secureScrubbed).length !== Object.keys(existingInSecureStorage).length;
if (Object.keys(sensitive).length > 0 || needSecureScrub) {
const existing = storage.read() ?? {};
if (!existing.pluginSecrets) {
existing.pluginSecrets = {};
}
existing.pluginSecrets[k2] = {
...secureScrubbed,
...sensitive
};
const result = storage.update(existing);
if (!result.success) {
throw new Error(`Failed to save sensitive config to secure storage for ${k2}`);
}
if (result.warning) {
logForDebugging(`Server secrets save warning: ${result.warning}`, {
level: "warn"
});
}
if (needSecureScrub) {
logForDebugging(`saveMcpServerUserConfig: scrubbed ${Object.keys(existingInSecureStorage).length - Object.keys(secureScrubbed).length} stale non-sensitive key(s) from secureStorage for ${k2}`);
}
}
const settings = getSettings_DEPRECATED();
const existingInSettings = settings.pluginConfigs?.[pluginId]?.mcpServers?.[serverName] ?? {};
const keysToScrubFromSettings = Object.keys(existingInSettings).filter((k3) => sensitiveKeysInThisSave.has(k3));
if (Object.keys(nonSensitive).length > 0 || keysToScrubFromSettings.length > 0) {
if (!settings.pluginConfigs) {
settings.pluginConfigs = {};
}
if (!settings.pluginConfigs[pluginId]) {
settings.pluginConfigs[pluginId] = {};
}
if (!settings.pluginConfigs[pluginId].mcpServers) {
settings.pluginConfigs[pluginId].mcpServers = {};
}
const scrubbed = Object.fromEntries(keysToScrubFromSettings.map((k3) => [k3, undefined]));
settings.pluginConfigs[pluginId].mcpServers[serverName] = {
...nonSensitive,
...scrubbed
};
const result = updateSettingsForSource("userSettings", settings);
if (result.error) {
throw result.error;
}
if (keysToScrubFromSettings.length > 0) {
logForDebugging(`saveMcpServerUserConfig: scrubbed ${keysToScrubFromSettings.length} plaintext sensitive key(s) from settings.json for ${pluginId}/${serverName}`);
}
}
logForDebugging(`Saved user config for ${pluginId}/${serverName} (${Object.keys(nonSensitive).length} non-sensitive, ${Object.keys(sensitive).length} sensitive)`);
} catch (error52) {
const errorObj = toError(error52);
logError2(errorObj);
throw new Error(`Failed to save user configuration for ${pluginId}/${serverName}: ${errorObj.message}`);
}
}
function validateUserConfig(values2, schema) {
const errors3 = [];
for (const [key, fieldSchema] of Object.entries(schema)) {
const value = values2[key];
if (fieldSchema.required && (value === undefined || value === "")) {
errors3.push(`${fieldSchema.title || key} is required but not provided`);
continue;
}
if (value === undefined || value === "") {
continue;
}
if (fieldSchema.type === "string") {
if (Array.isArray(value)) {
if (!fieldSchema.multiple) {
errors3.push(`${fieldSchema.title || key} must be a string, not an array`);
} else if (!value.every((v2) => typeof v2 === "string")) {
errors3.push(`${fieldSchema.title || key} must be an array of strings`);
}
} else if (typeof value !== "string") {
errors3.push(`${fieldSchema.title || key} must be a string`);
}
} else if (fieldSchema.type === "number" && typeof value !== "number") {
errors3.push(`${fieldSchema.title || key} must be a number`);
} else if (fieldSchema.type === "boolean" && typeof value !== "boolean") {
errors3.push(`${fieldSchema.title || key} must be a boolean`);
} else if ((fieldSchema.type === "file" || fieldSchema.type === "directory") && typeof value !== "string") {
errors3.push(`${fieldSchema.title || key} must be a path string`);
}
if (fieldSchema.type === "number" && typeof value === "number") {
if (fieldSchema.min !== undefined && value < fieldSchema.min) {
errors3.push(`${fieldSchema.title || key} must be at least ${fieldSchema.min}`);
}
if (fieldSchema.max !== undefined && value > fieldSchema.max) {
errors3.push(`${fieldSchema.title || key} must be at most ${fieldSchema.max}`);
}
}
}
return { valid: errors3.length === 0, errors: errors3 };
}
async function generateMcpConfig(manifest, extractedPath, userConfig = {}) {
const { getMcpConfigForManifest: getMcpConfigForManifest2 } = await Promise.resolve().then(() => exports_mcpb);
const mcpConfig = await getMcpConfigForManifest2({
manifest,
extensionPath: extractedPath,
systemDirs: getSystemDirectories(),
userConfig,
pathSeparator: "/"
});
if (!mcpConfig) {
const error52 = new Error(`Failed to generate MCP server configuration from manifest "${manifest.name}"`);
logError2(error52);
throw error52;
}
return mcpConfig;
}
async function loadCacheMetadata(cacheDir, source) {
const fs8 = getFsImplementation();
const metadataPath = getMetadataPath(cacheDir, source);
try {
const content = await fs8.readFile(metadataPath, { encoding: "utf-8" });
return jsonParse(content);
} catch (error52) {
const code = getErrnoCode(error52);
if (code === "ENOENT")
return null;
const errorObj = toError(error52);
logError2(errorObj);
logForDebugging(`Failed to load MCPB cache metadata: ${error52}`, {
level: "error"
});
return null;
}
}
async function saveCacheMetadata(cacheDir, source, metadata) {
const metadataPath = getMetadataPath(cacheDir, source);
await getFsImplementation().mkdir(cacheDir);
await writeFile7(metadataPath, jsonStringify(metadata, null, 2), "utf-8");
}
async function downloadMcpb(url3, destPath, onProgress) {
logForDebugging(`Downloading MCPB from ${url3}`);
if (onProgress) {
onProgress(`Downloading ${url3}...`);
}
const started = performance.now();
let fetchTelemetryFired = false;
try {
const response = await axios_default.get(url3, {
timeout: 120000,
responseType: "arraybuffer",
maxRedirects: 5,
onDownloadProgress: (progressEvent) => {
if (progressEvent.total && onProgress) {
const percent = Math.round(progressEvent.loaded / progressEvent.total * 100);
onProgress(`Downloading... ${percent}%`);
}
}
});
const data = new Uint8Array(response.data);
logPluginFetch("mcpb", url3, "success", performance.now() - started);
fetchTelemetryFired = true;
await writeFile7(destPath, Buffer.from(data));
logForDebugging(`Downloaded ${data.length} bytes to ${destPath}`);
if (onProgress) {
onProgress("Download complete");
}
return data;
} catch (error52) {
if (!fetchTelemetryFired) {
logPluginFetch("mcpb", url3, "failure", performance.now() - started, classifyFetchError(error52));
}
const errorMsg = errorMessage(error52);
const fullError = new Error(`Failed to download MCPB file from ${url3}: ${errorMsg}`);
logError2(fullError);
throw fullError;
}
}
async function extractMcpbContents(unzipped, extractPath, modes, onProgress) {
if (onProgress) {
onProgress("Extracting files...");
}
await getFsImplementation().mkdir(extractPath);
let filesWritten = 0;
const entries = Object.entries(unzipped).filter(([k2]) => !k2.endsWith("/"));
const totalFiles = entries.length;
for (const [filePath, fileData] of entries) {
const fullPath = join33(extractPath, filePath);
const dir = dirname12(fullPath);
if (dir !== extractPath) {
await getFsImplementation().mkdir(dir);
}
const isTextFile = filePath.endsWith(".json") || filePath.endsWith(".js") || filePath.endsWith(".ts") || filePath.endsWith(".txt") || filePath.endsWith(".md") || filePath.endsWith(".yml") || filePath.endsWith(".yaml");
if (isTextFile) {
const content = new TextDecoder().decode(fileData);
await writeFile7(fullPath, content, "utf-8");
} else {
await writeFile7(fullPath, Buffer.from(fileData));
}
const mode = modes[filePath];
if (mode && mode & 73) {
await chmod(fullPath, mode & 511).catch(() => {});
}
filesWritten++;
if (onProgress && filesWritten % 10 === 0) {
onProgress(`Extracted ${filesWritten}/${totalFiles} files`);
}
}
logForDebugging(`Extracted ${filesWritten} files to ${extractPath}`);
if (onProgress) {
onProgress(`Extraction complete (${filesWritten} files)`);
}
}
async function checkMcpbChanged(source, pluginPath) {
const fs8 = getFsImplementation();
const cacheDir = getMcpbCacheDir(pluginPath);
const metadata = await loadCacheMetadata(cacheDir, source);
if (!metadata) {
return true;
}
try {
await fs8.stat(metadata.extractedPath);
} catch (error52) {
const code = getErrnoCode(error52);
if (code === "ENOENT") {
logForDebugging(`MCPB extraction path missing: ${metadata.extractedPath}`);
} else {
logForDebugging(`MCPB extraction path inaccessible: ${metadata.extractedPath}: ${error52}`, { level: "error" });
}
return true;
}
if (!isUrl2(source)) {
const localPath = join33(pluginPath, source);
let stats;
try {
stats = await fs8.stat(localPath);
} catch (error52) {
const code = getErrnoCode(error52);
if (code === "ENOENT") {
logForDebugging(`MCPB source file missing: ${localPath}`);
} else {
logForDebugging(`MCPB source file inaccessible: ${localPath}: ${error52}`, { level: "error" });
}
return true;
}
const cachedTime = new Date(metadata.cachedAt).getTime();
const fileTime = Math.floor(stats.mtimeMs);
if (fileTime > cachedTime) {
logForDebugging(`MCPB file modified: ${new Date(fileTime)} > ${new Date(cachedTime)}`);
return true;
}
}
return false;
}
async function loadMcpbFile(source, pluginPath, pluginId, onProgress, providedUserConfig, forceConfigDialog) {
const fs8 = getFsImplementation();
const cacheDir = getMcpbCacheDir(pluginPath);
await fs8.mkdir(cacheDir);
logForDebugging(`Loading MCPB from source: ${source}`);
const metadata = await loadCacheMetadata(cacheDir, source);
if (metadata && !await checkMcpbChanged(source, pluginPath)) {
logForDebugging(`Using cached MCPB from ${metadata.extractedPath} (hash: ${metadata.contentHash})`);
const manifestPath = join33(metadata.extractedPath, "manifest.json");
let manifestContent;
try {
manifestContent = await fs8.readFile(manifestPath, { encoding: "utf-8" });
} catch (error52) {
if (isENOENT(error52)) {
const err2 = new Error(`Cached manifest not found: ${manifestPath}`);
logError2(err2);
throw err2;
}
throw error52;
}
const manifestData2 = new TextEncoder().encode(manifestContent);
const manifest2 = await parseAndValidateManifestFromBytes(manifestData2);
if (manifest2.user_config && Object.keys(manifest2.user_config).length > 0) {
const serverName = manifest2.name;
const savedConfig = loadMcpServerUserConfig(pluginId, serverName);
const userConfig = providedUserConfig || savedConfig || {};
const validation = validateUserConfig(userConfig, manifest2.user_config);
if (forceConfigDialog || !validation.valid) {
return {
status: "needs-config",
manifest: manifest2,
extractedPath: metadata.extractedPath,
contentHash: metadata.contentHash,
configSchema: manifest2.user_config,
existingConfig: savedConfig || {},
validationErrors: validation.valid ? [] : validation.errors
};
}
if (providedUserConfig) {
saveMcpServerUserConfig(pluginId, serverName, providedUserConfig, manifest2.user_config ?? {});
}
const mcpConfig3 = await generateMcpConfig(manifest2, metadata.extractedPath, userConfig);
return {
manifest: manifest2,
mcpConfig: mcpConfig3,
extractedPath: metadata.extractedPath,
contentHash: metadata.contentHash
};
}
const mcpConfig2 = await generateMcpConfig(manifest2, metadata.extractedPath);
return {
manifest: manifest2,
mcpConfig: mcpConfig2,
extractedPath: metadata.extractedPath,
contentHash: metadata.contentHash
};
}
let mcpbData;
let mcpbFilePath;
if (isUrl2(source)) {
const sourceHash = createHash5("md5").update(source).digest("hex").substring(0, 8);
mcpbFilePath = join33(cacheDir, `${sourceHash}.mcpb`);
mcpbData = await downloadMcpb(source, mcpbFilePath, onProgress);
} else {
const localPath = join33(pluginPath, source);
if (onProgress) {
onProgress(`Loading ${source}...`);
}
try {
mcpbData = await fs8.readFileBytes(localPath);
mcpbFilePath = localPath;
} catch (error52) {
if (isENOENT(error52)) {
const err2 = new Error(`MCPB file not found: ${localPath}`);
logError2(err2);
throw err2;
}
throw error52;
}
}
const contentHash = generateContentHash(mcpbData);
logForDebugging(`MCPB content hash: ${contentHash}`);
if (onProgress) {
onProgress("Extracting MCPB archive...");
}
const unzipped = await unzipFile(Buffer.from(mcpbData));
const modes = parseZipModes(mcpbData);
const manifestData = unzipped["manifest.json"];
if (!manifestData) {
const error52 = new Error("No manifest.json found in MCPB file");
logError2(error52);
throw error52;
}
const manifest = await parseAndValidateManifestFromBytes(manifestData);
logForDebugging(`MCPB manifest: ${manifest.name} v${manifest.version} by ${manifest.author.name}`);
if (!manifest.server) {
const error52 = new Error(`MCPB manifest for "${manifest.name}" does not define a server configuration`);
logError2(error52);
throw error52;
}
const extractPath = join33(cacheDir, contentHash);
await extractMcpbContents(unzipped, extractPath, modes, onProgress);
if (manifest.user_config && Object.keys(manifest.user_config).length > 0) {
const serverName = manifest.name;
const savedConfig = loadMcpServerUserConfig(pluginId, serverName);
const userConfig = providedUserConfig || savedConfig || {};
const validation = validateUserConfig(userConfig, manifest.user_config);
if (!validation.valid) {
const newMetadata3 = {
source,
contentHash,
extractedPath: extractPath,
cachedAt: new Date().toISOString(),
lastChecked: new Date().toISOString()
};
await saveCacheMetadata(cacheDir, source, newMetadata3);
return {
status: "needs-config",
manifest,
extractedPath: extractPath,
contentHash,
configSchema: manifest.user_config,
existingConfig: savedConfig || {},
validationErrors: validation.errors
};
}
if (providedUserConfig) {
saveMcpServerUserConfig(pluginId, serverName, providedUserConfig, manifest.user_config ?? {});
}
if (onProgress) {
onProgress("Generating MCP server configuration...");
}
const mcpConfig2 = await generateMcpConfig(manifest, extractPath, userConfig);
const newMetadata2 = {
source,
contentHash,
extractedPath: extractPath,
cachedAt: new Date().toISOString(),
lastChecked: new Date().toISOString()
};
await saveCacheMetadata(cacheDir, source, newMetadata2);
return {
manifest,
mcpConfig: mcpConfig2,
extractedPath: extractPath,
contentHash
};
}
if (onProgress) {
onProgress("Generating MCP server configuration...");
}
const mcpConfig = await generateMcpConfig(manifest, extractPath);
const newMetadata = {
source,
contentHash,
extractedPath: extractPath,
cachedAt: new Date().toISOString(),
lastChecked: new Date().toISOString()
};
await saveCacheMetadata(cacheDir, source, newMetadata);
logForDebugging(`Successfully loaded MCPB: ${manifest.name} (extracted to ${extractPath})`);
return {
manifest,
mcpConfig,
extractedPath: extractPath,
contentHash
};
}
var init_mcpbHandler = __esm(() => {
init_axios2();
init_debug();
init_helpers3();
init_zip();
init_errors();
init_fsOperations();
init_log3();
init_secureStorage();
init_settings2();
init_slowOperations();
init_systemDirectories();
init_fetchTelemetry();
});
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/index.js
var init_zod = __esm(() => {
init_external();
init_external();
});
// node_modules/@anthropic-ai/sandbox-runtime/index.js
class SandboxManager {
constructor(config2) {
this.config = config2;
}
start() {}
stop() {}
isEnabled() {
return false;
}
}
class SandboxViolationStore {
add() {}
getAll() {
return [];
}
clear() {}
}
var SandboxRuntimeConfigSchema;
var init_sandbox_runtime = __esm(() => {
init_zod();
SandboxRuntimeConfigSchema = exports_external.object({}).passthrough();
});
// node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.js
import { lstat, readdir as readdir6, realpath as realpath5, stat as stat12 } from "node:fs/promises";
import { join as pjoin, relative as prelative, resolve as presolve, sep as psep } from "node:path";
import { Readable as Readable6 } from "node:stream";
function readdirp(root2, options = {}) {
let type = options.entryType || options.type;
if (type === "both")
type = EntryTypes.FILE_DIR_TYPE;
if (type)
options.type = type;
if (!root2) {
throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");
} else if (typeof root2 !== "string") {
throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");
} else if (type && !ALL_TYPES.includes(type)) {
throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(", ")}`);
}
options.root = root2;
return new ReaddirpStream(options);
}
var EntryTypes, defaultOptions, RECURSIVE_ERROR_CODE = "READDIRP_RECURSIVE_ERROR", NORMAL_FLOW_ERRORS, ALL_TYPES, DIR_TYPES, FILE_TYPES2, isNormalFlowError = (error52) => NORMAL_FLOW_ERRORS.has(error52.code), wantBigintFsStats, emptyFn = (_entryInfo) => true, normalizeFilter = (filter2) => {
if (filter2 === undefined)
return emptyFn;
if (typeof filter2 === "function")
return filter2;
if (typeof filter2 === "string") {
const fl2 = filter2.trim();
return (entry) => entry.basename === fl2;
}
if (Array.isArray(filter2)) {
const trItems = filter2.map((item) => item.trim());
return (entry) => trItems.some((f3) => entry.basename === f3);
}
return emptyFn;
}, ReaddirpStream;
var init_readdirp = __esm(() => {
EntryTypes = {
FILE_TYPE: "files",
DIR_TYPE: "directories",
FILE_DIR_TYPE: "files_directories",
EVERYTHING_TYPE: "all"
};
defaultOptions = {
root: ".",
fileFilter: (_entryInfo) => true,
directoryFilter: (_entryInfo) => true,
type: EntryTypes.FILE_TYPE,
lstat: false,
depth: 2147483648,
alwaysStat: false,
highWaterMark: 4096
};
Object.freeze(defaultOptions);
NORMAL_FLOW_ERRORS = new Set(["ENOENT", "EPERM", "EACCES", "ELOOP", RECURSIVE_ERROR_CODE]);
ALL_TYPES = [
EntryTypes.DIR_TYPE,
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE,
EntryTypes.FILE_TYPE
];
DIR_TYPES = new Set([
EntryTypes.DIR_TYPE,
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE
]);
FILE_TYPES2 = new Set([
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE,
EntryTypes.FILE_TYPE
]);
wantBigintFsStats = process.platform === "win32";
ReaddirpStream = class ReaddirpStream extends Readable6 {
parents;
reading;
parent;
_stat;
_maxDepth;
_wantsDir;
_wantsFile;
_wantsEverything;
_root;
_isDirent;
_statsProp;
_rdOptions;
_fileFilter;
_directoryFilter;
constructor(options = {}) {
super({
objectMode: true,
autoDestroy: true,
highWaterMark: options.highWaterMark
});
const opts = { ...defaultOptions, ...options };
const { root: root2, type } = opts;
this._fileFilter = normalizeFilter(opts.fileFilter);
this._directoryFilter = normalizeFilter(opts.directoryFilter);
const statMethod = opts.lstat ? lstat : stat12;
if (wantBigintFsStats) {
this._stat = (path13) => statMethod(path13, { bigint: true });
} else {
this._stat = statMethod;
}
this._maxDepth = opts.depth != null && Number.isSafeInteger(opts.depth) ? opts.depth : defaultOptions.depth;
this._wantsDir = type ? DIR_TYPES.has(type) : false;
this._wantsFile = type ? FILE_TYPES2.has(type) : false;
this._wantsEverything = type === EntryTypes.EVERYTHING_TYPE;
this._root = presolve(root2);
this._isDirent = !opts.alwaysStat;
this._statsProp = this._isDirent ? "dirent" : "stats";
this._rdOptions = { encoding: "utf8", withFileTypes: this._isDirent };
this.parents = [this._exploreDir(root2, 1)];
this.reading = false;
this.parent = undefined;
}
async _read(batch) {
if (this.reading)
return;
this.reading = true;
try {
while (!this.destroyed && batch > 0) {
const par = this.parent;
const fil = par && par.files;
if (fil && fil.length > 0) {
const { path: path13, depth } = par;
const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path13));
const awaited = await Promise.all(slice);
for (const entry of awaited) {
if (!entry)
continue;
if (this.destroyed)
return;
const entryType = await this._getEntryType(entry);
if (entryType === "directory" && this._directoryFilter(entry)) {
if (depth <= this._maxDepth) {
this.parents.push(this._exploreDir(entry.fullPath, depth + 1));
}
if (this._wantsDir) {
this.push(entry);
batch--;
}
} else if ((entryType === "file" || this._includeAsFile(entry)) && this._fileFilter(entry)) {
if (this._wantsFile) {
this.push(entry);
batch--;
}
}
}
} else {
const parent = this.parents.pop();
if (!parent) {
this.push(null);
break;
}
this.parent = await parent;
if (this.destroyed)
return;
}
}
} catch (error52) {
this.destroy(error52);
} finally {
this.reading = false;
}
}
async _exploreDir(path13, depth) {
let files;
try {
files = await readdir6(path13, this._rdOptions);
} catch (error52) {
this._onError(error52);
}
return { files, depth, path: path13 };
}
async _formatEntry(dirent, path13) {
let entry;
const basename6 = this._isDirent ? dirent.name : dirent;
try {
const fullPath = presolve(pjoin(path13, basename6));
entry = { path: prelative(this._root, fullPath), fullPath, basename: basename6 };
entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
} catch (err2) {
this._onError(err2);
return;
}
return entry;
}
_onError(err2) {
if (isNormalFlowError(err2) && !this.destroyed) {
this.emit("warn", err2);
} else {
this.destroy(err2);
}
}
async _getEntryType(entry) {
if (!entry && this._statsProp in entry) {
return "";
}
const stats = entry[this._statsProp];
if (stats.isFile())
return "file";
if (stats.isDirectory())
return "directory";
if (stats && stats.isSymbolicLink()) {
const full = entry.fullPath;
try {
const entryRealPath = await realpath5(full);
const entryRealPathStats = await lstat(entryRealPath);
if (entryRealPathStats.isFile()) {
return "file";
}
if (entryRealPathStats.isDirectory()) {
const len = entryRealPath.length;
if (full.startsWith(entryRealPath) && full.substr(len, 1) === psep) {
const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`);
recursiveError.code = RECURSIVE_ERROR_CODE;
return this._onError(recursiveError);
}
return "directory";
}
} catch (error52) {
this._onError(error52);
return "";
}
}
}
_includeAsFile(entry) {
const stats = entry && entry[this._statsProp];
return stats && this._wantsEverything && !stats.isDirectory();
}
};
});
// node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.js
import { watch as fs_watch, unwatchFile as unwatchFile3, watchFile as watchFile3 } from "node:fs";
import { realpath as fsrealpath, lstat as lstat2, open as open6, stat as stat13 } from "node:fs/promises";
import { type as osType } from "node:os";
import * as sp from "node:path";
function createFsWatchInstance(path13, options, listener, errHandler, emitRaw) {
const handleEvent = (rawEvent, evPath) => {
listener(path13);
emitRaw(rawEvent, evPath, { watchedPath: path13 });
if (evPath && path13 !== evPath) {
fsWatchBroadcast(sp.resolve(path13, evPath), KEY_LISTENERS, sp.join(path13, evPath));
}
};
try {
return fs_watch(path13, {
persistent: options.persistent
}, handleEvent);
} catch (error52) {
errHandler(error52);
return;
}
}
class NodeFsHandler {
fsw;
_boundHandleError;
constructor(fsW) {
this.fsw = fsW;
this._boundHandleError = (error52) => fsW._handleError(error52);
}
_watchWithNodeFs(path13, listener) {
const opts = this.fsw.options;
const directory = sp.dirname(path13);
const basename7 = sp.basename(path13);
const parent = this.fsw._getWatchedDir(directory);
parent.add(basename7);
const absolutePath = sp.resolve(path13);
const options = {
persistent: opts.persistent
};
if (!listener)
listener = EMPTY_FN;
let closer;
if (opts.usePolling) {
const enableBin = opts.interval !== opts.binaryInterval;
options.interval = enableBin && isBinaryPath(basename7) ? opts.binaryInterval : opts.interval;
closer = setFsWatchFileListener(path13, absolutePath, options, {
listener,
rawEmitter: this.fsw._emitRaw
});
} else {
closer = setFsWatchListener(path13, absolutePath, options, {
listener,
errHandler: this._boundHandleError,
rawEmitter: this.fsw._emitRaw
});
}
return closer;
}
_handleFile(file2, stats, initialAdd) {
if (this.fsw.closed) {
return;
}
const dirname14 = sp.dirname(file2);
const basename7 = sp.basename(file2);
const parent = this.fsw._getWatchedDir(dirname14);
let prevStats = stats;
if (parent.has(basename7))
return;
const listener = async (path13, newStats) => {
if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file2, 5))
return;
if (!newStats || newStats.mtimeMs === 0) {
try {
const newStats2 = await stat13(file2);
if (this.fsw.closed)
return;
const at = newStats2.atimeMs;
const mt2 = newStats2.mtimeMs;
if (!at || at <= mt2 || mt2 !== prevStats.mtimeMs) {
this.fsw._emit(EV.CHANGE, file2, newStats2);
}
if ((isMacos || isLinux || isFreeBSD) && prevStats.ino !== newStats2.ino) {
this.fsw._closeFile(path13);
prevStats = newStats2;
const closer2 = this._watchWithNodeFs(file2, listener);
if (closer2)
this.fsw._addPathCloser(path13, closer2);
} else {
prevStats = newStats2;
}
} catch (error52) {
this.fsw._remove(dirname14, basename7);
}
} else if (parent.has(basename7)) {
const at = newStats.atimeMs;
const mt2 = newStats.mtimeMs;
if (!at || at <= mt2 || mt2 !== prevStats.mtimeMs) {
this.fsw._emit(EV.CHANGE, file2, newStats);
}
prevStats = newStats;
}
};
const closer = this._watchWithNodeFs(file2, listener);
if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file2)) {
if (!this.fsw._throttle(EV.ADD, file2, 0))
return;
this.fsw._emit(EV.ADD, file2, stats);
}
return closer;
}
async _handleSymlink(entry, directory, path13, item) {
if (this.fsw.closed) {
return;
}
const full = entry.fullPath;
const dir = this.fsw._getWatchedDir(directory);
if (!this.fsw.options.followSymlinks) {
this.fsw._incrReadyCount();
let linkPath;
try {
linkPath = await fsrealpath(path13);
} catch (e2) {
this.fsw._emitReady();
return true;
}
if (this.fsw.closed)
return;
if (dir.has(item)) {
if (this.fsw._symlinkPaths.get(full) !== linkPath) {
this.fsw._symlinkPaths.set(full, linkPath);
this.fsw._emit(EV.CHANGE, path13, entry.stats);
}
} else {
dir.add(item);
this.fsw._symlinkPaths.set(full, linkPath);
this.fsw._emit(EV.ADD, path13, entry.stats);
}
this.fsw._emitReady();
return true;
}
if (this.fsw._symlinkPaths.has(full)) {
return true;
}
this.fsw._symlinkPaths.set(full, true);
}
_handleRead(directory, initialAdd, wh, target, dir, depth, throttler) {
directory = sp.join(directory, "");
const throttleKey = target ? `${directory}:${target}` : directory;
throttler = this.fsw._throttle("readdir", throttleKey, 1000);
if (!throttler)
return;
const previous = this.fsw._getWatchedDir(wh.path);
const current = new Set;
let stream4 = this.fsw._readdirp(directory, {
fileFilter: (entry) => wh.filterPath(entry),
directoryFilter: (entry) => wh.filterDir(entry)
});
if (!stream4)
return;
stream4.on(STR_DATA, async (entry) => {
if (this.fsw.closed) {
stream4 = undefined;
return;
}
const item = entry.path;
let path13 = sp.join(directory, item);
current.add(item);
if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path13, item)) {
return;
}
if (this.fsw.closed) {
stream4 = undefined;
return;
}
if (item === target || !target && !previous.has(item)) {
this.fsw._incrReadyCount();
path13 = sp.join(dir, sp.relative(dir, path13));
this._addToNodeFs(path13, initialAdd, wh, depth + 1);
}
}).on(EV.ERROR, this._boundHandleError);
return new Promise((resolve11, reject) => {
if (!stream4)
return reject();
stream4.once(STR_END, () => {
if (this.fsw.closed) {
stream4 = undefined;
return;
}
const wasThrottled = throttler ? throttler.clear() : false;
resolve11(undefined);
previous.getChildren().filter((item) => {
return item !== directory && !current.has(item);
}).forEach((item) => {
this.fsw._remove(directory, item);
});
stream4 = undefined;
if (wasThrottled)
this._handleRead(directory, false, wh, target, dir, depth, throttler);
});
});
}
async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath6) {
const parentDir = this.fsw._getWatchedDir(sp.dirname(dir));
const tracked = parentDir.has(sp.basename(dir));
if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) {
this.fsw._emit(EV.ADD_DIR, dir, stats);
}
parentDir.add(sp.basename(dir));
this.fsw._getWatchedDir(dir);
let throttler;
let closer;
const oDepth = this.fsw.options.depth;
if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath6)) {
if (!target) {
await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler);
if (this.fsw.closed)
return;
}
closer = this._watchWithNodeFs(dir, (dirPath, stats2) => {
if (stats2 && stats2.mtimeMs === 0)
return;
this._handleRead(dirPath, false, wh, target, dir, depth, throttler);
});
}
return closer;
}
async _addToNodeFs(path13, initialAdd, priorWh, depth, target) {
const ready = this.fsw._emitReady;
if (this.fsw._isIgnored(path13) || this.fsw.closed) {
ready();
return false;
}
const wh = this.fsw._getWatchHelpers(path13);
if (priorWh) {
wh.filterPath = (entry) => priorWh.filterPath(entry);
wh.filterDir = (entry) => priorWh.filterDir(entry);
}
try {
const stats = await statMethods[wh.statMethod](wh.watchPath);
if (this.fsw.closed)
return;
if (this.fsw._isIgnored(wh.watchPath, stats)) {
ready();
return false;
}
const follow = this.fsw.options.followSymlinks;
let closer;
if (stats.isDirectory()) {
const absPath = sp.resolve(path13);
const targetPath = follow ? await fsrealpath(path13) : path13;
if (this.fsw.closed)
return;
closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath);
if (this.fsw.closed)
return;
if (absPath !== targetPath && targetPath !== undefined) {
this.fsw._symlinkPaths.set(absPath, targetPath);
}
} else if (stats.isSymbolicLink()) {
const targetPath = follow ? await fsrealpath(path13) : path13;
if (this.fsw.closed)
return;
const parent = sp.dirname(wh.watchPath);
this.fsw._getWatchedDir(parent).add(wh.watchPath);
this.fsw._emit(EV.ADD, wh.watchPath, stats);
closer = await this._handleDir(parent, stats, initialAdd, depth, path13, wh, targetPath);
if (this.fsw.closed)
return;
if (targetPath !== undefined) {
this.fsw._symlinkPaths.set(sp.resolve(path13), targetPath);
}
} else {
closer = this._handleFile(wh.watchPath, stats, initialAdd);
}
ready();
if (closer)
this.fsw._addPathCloser(path13, closer);
return false;
} catch (error52) {
if (this.fsw._handleError(error52)) {
ready();
return path13;
}
}
}
}
var STR_DATA = "data", STR_END = "end", STR_CLOSE = "close", EMPTY_FN = () => {}, pl, isWindows2, isMacos, isLinux, isFreeBSD, isIBMi, EVENTS, EV, THROTTLE_MODE_WATCH = "watch", statMethods, KEY_LISTENERS = "listeners", KEY_ERR = "errHandlers", KEY_RAW = "rawEmitters", HANDLER_KEYS, binaryExtensions, isBinaryPath = (filePath) => binaryExtensions.has(sp.extname(filePath).slice(1).toLowerCase()), foreach = (val, fn) => {
if (val instanceof Set) {
val.forEach(fn);
} else {
fn(val);
}
}, addAndConvert = (main, prop, item) => {
let container = main[prop];
if (!(container instanceof Set)) {
main[prop] = container = new Set([container]);
}
container.add(item);
}, clearItem = (cont) => (key) => {
const set2 = cont[key];
if (set2 instanceof Set) {
set2.clear();
} else {
delete cont[key];
}
}, delFromSet = (main, prop, item) => {
const container = main[prop];
if (container instanceof Set) {
container.delete(item);
} else if (container === item) {
delete main[prop];
}
}, isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val, FsWatchInstances, fsWatchBroadcast = (fullPath, listenerType, val1, val2, val3) => {
const cont = FsWatchInstances.get(fullPath);
if (!cont)
return;
foreach(cont[listenerType], (listener) => {
listener(val1, val2, val3);
});
}, setFsWatchListener = (path13, fullPath, options, handlers) => {
const { listener, errHandler, rawEmitter } = handlers;
let cont = FsWatchInstances.get(fullPath);
let watcher;
if (!options.persistent) {
watcher = createFsWatchInstance(path13, options, listener, errHandler, rawEmitter);
if (!watcher)
return;
return watcher.close.bind(watcher);
}
if (cont) {
addAndConvert(cont, KEY_LISTENERS, listener);
addAndConvert(cont, KEY_ERR, errHandler);
addAndConvert(cont, KEY_RAW, rawEmitter);
} else {
watcher = createFsWatchInstance(path13, options, fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS), errHandler, fsWatchBroadcast.bind(null, fullPath, KEY_RAW));
if (!watcher)
return;
watcher.on(EV.ERROR, async (error52) => {
const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR);
if (cont)
cont.watcherUnusable = true;
if (isWindows2 && error52.code === "EPERM") {
try {
const fd2 = await open6(path13, "r");
await fd2.close();
broadcastErr(error52);
} catch (err2) {}
} else {
broadcastErr(error52);
}
});
cont = {
listeners: listener,
errHandlers: errHandler,
rawEmitters: rawEmitter,
watcher
};
FsWatchInstances.set(fullPath, cont);
}
return () => {
delFromSet(cont, KEY_LISTENERS, listener);
delFromSet(cont, KEY_ERR, errHandler);
delFromSet(cont, KEY_RAW, rawEmitter);
if (isEmptySet(cont.listeners)) {
cont.watcher.close();
FsWatchInstances.delete(fullPath);
HANDLER_KEYS.forEach(clearItem(cont));
cont.watcher = undefined;
Object.freeze(cont);
}
};
}, FsWatchFileInstances, setFsWatchFileListener = (path13, fullPath, options, handlers) => {
const { listener, rawEmitter } = handlers;
let cont = FsWatchFileInstances.get(fullPath);
const copts = cont && cont.options;
if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) {
unwatchFile3(fullPath);
cont = undefined;
}
if (cont) {
addAndConvert(cont, KEY_LISTENERS, listener);
addAndConvert(cont, KEY_RAW, rawEmitter);
} else {
cont = {
listeners: listener,
rawEmitters: rawEmitter,
options,
watcher: watchFile3(fullPath, options, (curr, prev) => {
foreach(cont.rawEmitters, (rawEmitter2) => {
rawEmitter2(EV.CHANGE, fullPath, { curr, prev });
});
const currmtime = curr.mtimeMs;
if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) {
foreach(cont.listeners, (listener2) => listener2(path13, curr));
}
})
};
FsWatchFileInstances.set(fullPath, cont);
}
return () => {
delFromSet(cont, KEY_LISTENERS, listener);
delFromSet(cont, KEY_RAW, rawEmitter);
if (isEmptySet(cont.listeners)) {
FsWatchFileInstances.delete(fullPath);
unwatchFile3(fullPath);
cont.options = cont.watcher = undefined;
Object.freeze(cont);
}
};
};
var init_handler = __esm(() => {
pl = process.platform;
isWindows2 = pl === "win32";
isMacos = pl === "darwin";
isLinux = pl === "linux";
isFreeBSD = pl === "freebsd";
isIBMi = osType() === "OS400";
EVENTS = {
ALL: "all",
READY: "ready",
ADD: "add",
CHANGE: "change",
ADD_DIR: "addDir",
UNLINK: "unlink",
UNLINK_DIR: "unlinkDir",
RAW: "raw",
ERROR: "error"
};
EV = EVENTS;
statMethods = { lstat: lstat2, stat: stat13 };
HANDLER_KEYS = [KEY_LISTENERS, KEY_ERR, KEY_RAW];
binaryExtensions = new Set([
"3dm",
"3ds",
"3g2",
"3gp",
"7z",
"a",
"aac",
"adp",
"afdesign",
"afphoto",
"afpub",
"ai",
"aif",
"aiff",
"alz",
"ape",
"apk",
"appimage",
"ar",
"arj",
"asf",
"au",
"avi",
"bak",
"baml",
"bh",
"bin",
"bk",
"bmp",
"btif",
"bz2",
"bzip2",
"cab",
"caf",
"cgm",
"class",
"cmx",
"cpio",
"cr2",
"cur",
"dat",
"dcm",
"deb",
"dex",
"djvu",
"dll",
"dmg",
"dng",
"doc",
"docm",
"docx",
"dot",
"dotm",
"dra",
"DS_Store",
"dsk",
"dts",
"dtshd",
"dvb",
"dwg",
"dxf",
"ecelp4800",
"ecelp7470",
"ecelp9600",
"egg",
"eol",
"eot",
"epub",
"exe",
"f4v",
"fbs",
"fh",
"fla",
"flac",
"flatpak",
"fli",
"flv",
"fpx",
"fst",
"fvt",
"g3",
"gh",
"gif",
"graffle",
"gz",
"gzip",
"h261",
"h263",
"h264",
"icns",
"ico",
"ief",
"img",
"ipa",
"iso",
"jar",
"jpeg",
"jpg",
"jpgv",
"jpm",
"jxr",
"key",
"ktx",
"lha",
"lib",
"lvp",
"lz",
"lzh",
"lzma",
"lzo",
"m3u",
"m4a",
"m4v",
"mar",
"mdi",
"mht",
"mid",
"midi",
"mj2",
"mka",
"mkv",
"mmr",
"mng",
"mobi",
"mov",
"movie",
"mp3",
"mp4",
"mp4a",
"mpeg",
"mpg",
"mpga",
"mxu",
"nef",
"npx",
"numbers",
"nupkg",
"o",
"odp",
"ods",
"odt",
"oga",
"ogg",
"ogv",
"otf",
"ott",
"pages",
"pbm",
"pcx",
"pdb",
"pdf",
"pea",
"pgm",
"pic",
"png",
"pnm",
"pot",
"potm",
"potx",
"ppa",
"ppam",
"ppm",
"pps",
"ppsm",
"ppsx",
"ppt",
"pptm",
"pptx",
"psd",
"pya",
"pyc",
"pyo",
"pyv",
"qt",
"rar",
"ras",
"raw",
"resources",
"rgb",
"rip",
"rlc",
"rmf",
"rmvb",
"rpm",
"rtf",
"rz",
"s3m",
"s7z",
"scpt",
"sgi",
"shar",
"snap",
"sil",
"sketch",
"slk",
"smv",
"snk",
"so",
"stl",
"suo",
"sub",
"swf",
"tar",
"tbz",
"tbz2",
"tga",
"tgz",
"thmx",
"tif",
"tiff",
"tlz",
"ttc",
"ttf",
"txz",
"udf",
"uvh",
"uvi",
"uvm",
"uvp",
"uvs",
"uvu",
"viv",
"vob",
"war",
"wav",
"wax",
"wbmp",
"wdp",
"weba",
"webm",
"webp",
"whl",
"wim",
"wm",
"wma",
"wmv",
"wmx",
"woff",
"woff2",
"wrm",
"wvx",
"xbm",
"xif",
"xla",
"xlam",
"xls",
"xlsb",
"xlsm",
"xlsx",
"xlt",
"xltm",
"xltx",
"xm",
"xmind",
"xpi",
"xpm",
"xwd",
"xz",
"z",
"zip",
"zipx"
]);
FsWatchInstances = new Map;
FsWatchFileInstances = new Map;
});
// node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.js
import { EventEmitter as EventEmitter4 } from "node:events";
import { stat as statcb, Stats } from "node:fs";
import { readdir as readdir7, stat as stat14 } from "node:fs/promises";
import * as sp2 from "node:path";
function arrify(item) {
return Array.isArray(item) ? item : [item];
}
function createPattern(matcher) {
if (typeof matcher === "function")
return matcher;
if (typeof matcher === "string")
return (string4) => matcher === string4;
if (matcher instanceof RegExp)
return (string4) => matcher.test(string4);
if (typeof matcher === "object" && matcher !== null) {
return (string4) => {
if (matcher.path === string4)
return true;
if (matcher.recursive) {
const relative5 = sp2.relative(matcher.path, string4);
if (!relative5) {
return false;
}
return !relative5.startsWith("..") && !sp2.isAbsolute(relative5);
}
return false;
};
}
return () => false;
}
function normalizePath(path13) {
if (typeof path13 !== "string")
throw new Error("string expected");
path13 = sp2.normalize(path13);
path13 = path13.replace(/\\/g, "/");
let prepend = false;
if (path13.startsWith("//"))
prepend = true;
path13 = path13.replace(DOUBLE_SLASH_RE, "/");
if (prepend)
path13 = "/" + path13;
return path13;
}
function matchPatterns(patterns, testString, stats) {
const path13 = normalizePath(testString);
for (let index = 0;index < patterns.length; index++) {
const pattern = patterns[index];
if (pattern(path13, stats)) {
return true;
}
}
return false;
}
function anymatch(matchers, testString) {
if (matchers == null) {
throw new TypeError("anymatch: specify first argument");
}
const matchersArray = arrify(matchers);
const patterns = matchersArray.map((matcher) => createPattern(matcher));
if (testString == null) {
return (testString2, stats) => {
return matchPatterns(patterns, testString2, stats);
};
}
return matchPatterns(patterns, testString);
}
class DirEntry {
path;
_removeWatcher;
items;
constructor(dir, removeWatcher) {
this.path = dir;
this._removeWatcher = removeWatcher;
this.items = new Set;
}
add(item) {
const { items } = this;
if (!items)
return;
if (item !== ONE_DOT && item !== TWO_DOTS)
items.add(item);
}
async remove(item) {
const { items } = this;
if (!items)
return;
items.delete(item);
if (items.size > 0)
return;
const dir = this.path;
try {
await readdir7(dir);
} catch (err2) {
if (this._removeWatcher) {
this._removeWatcher(sp2.dirname(dir), sp2.basename(dir));
}
}
}
has(item) {
const { items } = this;
if (!items)
return;
return items.has(item);
}
getChildren() {
const { items } = this;
if (!items)
return [];
return [...items.values()];
}
dispose() {
this.items.clear();
this.path = "";
this._removeWatcher = EMPTY_FN;
this.items = EMPTY_SET;
Object.freeze(this);
}
}
class WatchHelper {
fsw;
path;
watchPath;
fullWatchPath;
dirParts;
followSymlinks;
statMethod;
constructor(path13, follow, fsw) {
this.fsw = fsw;
const watchPath = path13;
this.path = path13 = path13.replace(REPLACER_RE, "");
this.watchPath = watchPath;
this.fullWatchPath = sp2.resolve(watchPath);
this.dirParts = [];
this.dirParts.forEach((parts) => {
if (parts.length > 1)
parts.pop();
});
this.followSymlinks = follow;
this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L;
}
entryPath(entry) {
return sp2.join(this.watchPath, sp2.relative(this.watchPath, entry.fullPath));
}
filterPath(entry) {
const { stats } = entry;
if (stats && stats.isSymbolicLink())
return this.filterDir(entry);
const resolvedPath = this.entryPath(entry);
return this.fsw._isntIgnored(resolvedPath, stats) && this.fsw._hasReadPermissions(stats);
}
filterDir(entry) {
return this.fsw._isntIgnored(this.entryPath(entry), entry.stats);
}
}
function watch(paths2, options = {}) {
const watcher = new FSWatcher(options);
watcher.add(paths2);
return watcher;
}
var SLASH = "/", SLASH_SLASH = "//", ONE_DOT = ".", TWO_DOTS = "..", STRING_TYPE = "string", BACK_SLASH_RE, DOUBLE_SLASH_RE, DOT_RE, REPLACER_RE, isMatcherObject = (matcher) => typeof matcher === "object" && matcher !== null && !(matcher instanceof RegExp), unifyPaths = (paths_) => {
const paths2 = arrify(paths_).flat();
if (!paths2.every((p) => typeof p === STRING_TYPE)) {
throw new TypeError(`Non-string provided as watch path: ${paths2}`);
}
return paths2.map(normalizePathToUnix);
}, toUnix = (string4) => {
let str = string4.replace(BACK_SLASH_RE, SLASH);
let prepend = false;
if (str.startsWith(SLASH_SLASH)) {
prepend = true;
}
str = str.replace(DOUBLE_SLASH_RE, SLASH);
if (prepend) {
str = SLASH + str;
}
return str;
}, normalizePathToUnix = (path13) => toUnix(sp2.normalize(toUnix(path13))), normalizeIgnored = (cwd2 = "") => (path13) => {
if (typeof path13 === "string") {
return normalizePathToUnix(sp2.isAbsolute(path13) ? path13 : sp2.join(cwd2, path13));
} else {
return path13;
}
}, getAbsolutePath = (path13, cwd2) => {
if (sp2.isAbsolute(path13)) {
return path13;
}
return sp2.join(cwd2, path13);
}, EMPTY_SET, STAT_METHOD_F = "stat", STAT_METHOD_L = "lstat", FSWatcher, chokidar_default;
var init_chokidar = __esm(() => {
init_readdirp();
init_handler();
/*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) */
BACK_SLASH_RE = /\\/g;
DOUBLE_SLASH_RE = /\/\//g;
DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/;
REPLACER_RE = /^\.[/\\]/;
EMPTY_SET = Object.freeze(new Set);
FSWatcher = class FSWatcher extends EventEmitter4 {
closed;
options;
_closers;
_ignoredPaths;
_throttled;
_streams;
_symlinkPaths;
_watched;
_pendingWrites;
_pendingUnlinks;
_readyCount;
_emitReady;
_closePromise;
_userIgnored;
_readyEmitted;
_emitRaw;
_boundRemove;
_nodeFsHandler;
constructor(_opts = {}) {
super();
this.closed = false;
this._closers = new Map;
this._ignoredPaths = new Set;
this._throttled = new Map;
this._streams = new Set;
this._symlinkPaths = new Map;
this._watched = new Map;
this._pendingWrites = new Map;
this._pendingUnlinks = new Map;
this._readyCount = 0;
this._readyEmitted = false;
const awf = _opts.awaitWriteFinish;
const DEF_AWF = { stabilityThreshold: 2000, pollInterval: 100 };
const opts = {
persistent: true,
ignoreInitial: false,
ignorePermissionErrors: false,
interval: 100,
binaryInterval: 300,
followSymlinks: true,
usePolling: false,
atomic: true,
..._opts,
ignored: _opts.ignored ? arrify(_opts.ignored) : arrify([]),
awaitWriteFinish: awf === true ? DEF_AWF : typeof awf === "object" ? { ...DEF_AWF, ...awf } : false
};
if (isIBMi)
opts.usePolling = true;
if (opts.atomic === undefined)
opts.atomic = !opts.usePolling;
const envPoll = process.env.CHOKIDAR_USEPOLLING;
if (envPoll !== undefined) {
const envLower = envPoll.toLowerCase();
if (envLower === "false" || envLower === "0")
opts.usePolling = false;
else if (envLower === "true" || envLower === "1")
opts.usePolling = true;
else
opts.usePolling = !!envLower;
}
const envInterval = process.env.CHOKIDAR_INTERVAL;
if (envInterval)
opts.interval = Number.parseInt(envInterval, 10);
let readyCalls = 0;
this._emitReady = () => {
readyCalls++;
if (readyCalls >= this._readyCount) {
this._emitReady = EMPTY_FN;
this._readyEmitted = true;
process.nextTick(() => this.emit(EVENTS.READY));
}
};
this._emitRaw = (...args) => this.emit(EVENTS.RAW, ...args);
this._boundRemove = this._remove.bind(this);
this.options = opts;
this._nodeFsHandler = new NodeFsHandler(this);
Object.freeze(opts);
}
_addIgnoredPath(matcher) {
if (isMatcherObject(matcher)) {
for (const ignored of this._ignoredPaths) {
if (isMatcherObject(ignored) && ignored.path === matcher.path && ignored.recursive === matcher.recursive) {
return;
}
}
}
this._ignoredPaths.add(matcher);
}
_removeIgnoredPath(matcher) {
this._ignoredPaths.delete(matcher);
if (typeof matcher === "string") {
for (const ignored of this._ignoredPaths) {
if (isMatcherObject(ignored) && ignored.path === matcher) {
this._ignoredPaths.delete(ignored);
}
}
}
}
add(paths_, _origAdd, _internal) {
const { cwd: cwd2 } = this.options;
this.closed = false;
this._closePromise = undefined;
let paths2 = unifyPaths(paths_);
if (cwd2) {
paths2 = paths2.map((path13) => {
const absPath = getAbsolutePath(path13, cwd2);
return absPath;
});
}
paths2.forEach((path13) => {
this._removeIgnoredPath(path13);
});
this._userIgnored = undefined;
if (!this._readyCount)
this._readyCount = 0;
this._readyCount += paths2.length;
Promise.all(paths2.map(async (path13) => {
const res = await this._nodeFsHandler._addToNodeFs(path13, !_internal, undefined, 0, _origAdd);
if (res)
this._emitReady();
return res;
})).then((results) => {
if (this.closed)
return;
results.forEach((item) => {
if (item)
this.add(sp2.dirname(item), sp2.basename(_origAdd || item));
});
});
return this;
}
unwatch(paths_) {
if (this.closed)
return this;
const paths2 = unifyPaths(paths_);
const { cwd: cwd2 } = this.options;
paths2.forEach((path13) => {
if (!sp2.isAbsolute(path13) && !this._closers.has(path13)) {
if (cwd2)
path13 = sp2.join(cwd2, path13);
path13 = sp2.resolve(path13);
}
this._closePath(path13);
this._addIgnoredPath(path13);
if (this._watched.has(path13)) {
this._addIgnoredPath({
path: path13,
recursive: true
});
}
this._userIgnored = undefined;
});
return this;
}
close() {
if (this._closePromise) {
return this._closePromise;
}
this.closed = true;
this.removeAllListeners();
const closers = [];
this._closers.forEach((closerList) => closerList.forEach((closer) => {
const promise2 = closer();
if (promise2 instanceof Promise)
closers.push(promise2);
}));
this._streams.forEach((stream4) => stream4.destroy());
this._userIgnored = undefined;
this._readyCount = 0;
this._readyEmitted = false;
this._watched.forEach((dirent) => dirent.dispose());
this._closers.clear();
this._watched.clear();
this._streams.clear();
this._symlinkPaths.clear();
this._throttled.clear();
this._closePromise = closers.length ? Promise.all(closers).then(() => {
return;
}) : Promise.resolve();
return this._closePromise;
}
getWatched() {
const watchList = {};
this._watched.forEach((entry, dir) => {
const key = this.options.cwd ? sp2.relative(this.options.cwd, dir) : dir;
const index = key || ONE_DOT;
watchList[index] = entry.getChildren().sort();
});
return watchList;
}
emitWithAll(event, args) {
this.emit(event, ...args);
if (event !== EVENTS.ERROR)
this.emit(EVENTS.ALL, event, ...args);
}
async _emit(event, path13, stats) {
if (this.closed)
return;
const opts = this.options;
if (isWindows2)
path13 = sp2.normalize(path13);
if (opts.cwd)
path13 = sp2.relative(opts.cwd, path13);
const args = [path13];
if (stats != null)
args.push(stats);
const awf = opts.awaitWriteFinish;
let pw;
if (awf && (pw = this._pendingWrites.get(path13))) {
pw.lastChange = new Date;
return this;
}
if (opts.atomic) {
if (event === EVENTS.UNLINK) {
this._pendingUnlinks.set(path13, [event, ...args]);
setTimeout(() => {
this._pendingUnlinks.forEach((entry, path14) => {
this.emit(...entry);
this.emit(EVENTS.ALL, ...entry);
this._pendingUnlinks.delete(path14);
});
}, typeof opts.atomic === "number" ? opts.atomic : 100);
return this;
}
if (event === EVENTS.ADD && this._pendingUnlinks.has(path13)) {
event = EVENTS.CHANGE;
this._pendingUnlinks.delete(path13);
}
}
if (awf && (event === EVENTS.ADD || event === EVENTS.CHANGE) && this._readyEmitted) {
const awfEmit = (err2, stats2) => {
if (err2) {
event = EVENTS.ERROR;
args[0] = err2;
this.emitWithAll(event, args);
} else if (stats2) {
if (args.length > 1) {
args[1] = stats2;
} else {
args.push(stats2);
}
this.emitWithAll(event, args);
}
};
this._awaitWriteFinish(path13, awf.stabilityThreshold, event, awfEmit);
return this;
}
if (event === EVENTS.CHANGE) {
const isThrottled = !this._throttle(EVENTS.CHANGE, path13, 50);
if (isThrottled)
return this;
}
if (opts.alwaysStat && stats === undefined && (event === EVENTS.ADD || event === EVENTS.ADD_DIR || event === EVENTS.CHANGE)) {
const fullPath = opts.cwd ? sp2.join(opts.cwd, path13) : path13;
let stats2;
try {
stats2 = await stat14(fullPath);
} catch (err2) {}
if (!stats2 || this.closed)
return;
args.push(stats2);
}
this.emitWithAll(event, args);
return this;
}
_handleError(error52) {
const code = error52 && error52.code;
if (error52 && code !== "ENOENT" && code !== "ENOTDIR" && (!this.options.ignorePermissionErrors || code !== "EPERM" && code !== "EACCES")) {
this.emit(EVENTS.ERROR, error52);
}
return error52 || this.closed;
}
_throttle(actionType, path13, timeout) {
if (!this._throttled.has(actionType)) {
this._throttled.set(actionType, new Map);
}
const action = this._throttled.get(actionType);
if (!action)
throw new Error("invalid throttle");
const actionPath = action.get(path13);
if (actionPath) {
actionPath.count++;
return false;
}
let timeoutObject;
const clear = () => {
const item = action.get(path13);
const count3 = item ? item.count : 0;
action.delete(path13);
clearTimeout(timeoutObject);
if (item)
clearTimeout(item.timeoutObject);
return count3;
};
timeoutObject = setTimeout(clear, timeout);
const thr = { timeoutObject, clear, count: 0 };
action.set(path13, thr);
return thr;
}
_incrReadyCount() {
return this._readyCount++;
}
_awaitWriteFinish(path13, threshold, event, awfEmit) {
const awf = this.options.awaitWriteFinish;
if (typeof awf !== "object")
return;
const pollInterval = awf.pollInterval;
let timeoutHandler;
let fullPath = path13;
if (this.options.cwd && !sp2.isAbsolute(path13)) {
fullPath = sp2.join(this.options.cwd, path13);
}
const now2 = new Date;
const writes = this._pendingWrites;
function awaitWriteFinishFn(prevStat) {
statcb(fullPath, (err2, curStat) => {
if (err2 || !writes.has(path13)) {
if (err2 && err2.code !== "ENOENT")
awfEmit(err2);
return;
}
const now3 = Number(new Date);
if (prevStat && curStat.size !== prevStat.size) {
writes.get(path13).lastChange = now3;
}
const pw = writes.get(path13);
const df = now3 - pw.lastChange;
if (df >= threshold) {
writes.delete(path13);
awfEmit(undefined, curStat);
} else {
timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval, curStat);
}
});
}
if (!writes.has(path13)) {
writes.set(path13, {
lastChange: now2,
cancelWait: () => {
writes.delete(path13);
clearTimeout(timeoutHandler);
return event;
}
});
timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval);
}
}
_isIgnored(path13, stats) {
if (this.options.atomic && DOT_RE.test(path13))
return true;
if (!this._userIgnored) {
const { cwd: cwd2 } = this.options;
const ign = this.options.ignored;
const ignored = (ign || []).map(normalizeIgnored(cwd2));
const ignoredPaths = [...this._ignoredPaths];
const list = [...ignoredPaths.map(normalizeIgnored(cwd2)), ...ignored];
this._userIgnored = anymatch(list, undefined);
}
return this._userIgnored(path13, stats);
}
_isntIgnored(path13, stat15) {
return !this._isIgnored(path13, stat15);
}
_getWatchHelpers(path13) {
return new WatchHelper(path13, this.options.followSymlinks, this);
}
_getWatchedDir(directory) {
const dir = sp2.resolve(directory);
if (!this._watched.has(dir))
this._watched.set(dir, new DirEntry(dir, this._boundRemove));
return this._watched.get(dir);
}
_hasReadPermissions(stats) {
if (this.options.ignorePermissionErrors)
return true;
return Boolean(Number(stats.mode) & 256);
}
_remove(directory, item, isDirectory) {
const path13 = sp2.join(directory, item);
const fullPath = sp2.resolve(path13);
isDirectory = isDirectory != null ? isDirectory : this._watched.has(path13) || this._watched.has(fullPath);
if (!this._throttle("remove", path13, 100))
return;
if (!isDirectory && this._watched.size === 1) {
this.add(directory, item, true);
}
const wp = this._getWatchedDir(path13);
const nestedDirectoryChildren = wp.getChildren();
nestedDirectoryChildren.forEach((nested) => this._remove(path13, nested));
const parent = this._getWatchedDir(directory);
const wasTracked = parent.has(item);
parent.remove(item);
if (this._symlinkPaths.has(fullPath)) {
this._symlinkPaths.delete(fullPath);
}
let relPath = path13;
if (this.options.cwd)
relPath = sp2.relative(this.options.cwd, path13);
if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) {
const event = this._pendingWrites.get(relPath).cancelWait();
if (event === EVENTS.ADD)
return;
}
this._watched.delete(path13);
this._watched.delete(fullPath);
const eventName = isDirectory ? EVENTS.UNLINK_DIR : EVENTS.UNLINK;
if (wasTracked && !this._isIgnored(path13))
this._emit(eventName, path13);
this._closePath(path13);
}
_closePath(path13) {
this._closeFile(path13);
const dir = sp2.dirname(path13);
this._getWatchedDir(dir).remove(sp2.basename(path13));
}
_closeFile(path13) {
const closers = this._closers.get(path13);
if (!closers)
return;
closers.forEach((closer) => closer());
this._closers.delete(path13);
}
_addPathCloser(path13, closer) {
if (!closer)
return;
let list = this._closers.get(path13);
if (!list) {
list = [];
this._closers.set(path13, list);
}
list.push(closer);
}
_readdirp(root2, opts) {
if (this.closed)
return;
const options = { type: EVENTS.ALL, alwaysStat: true, lstat: true, ...opts, depth: 0 };
let stream4 = readdirp(root2, options);
this._streams.add(stream4);
stream4.once(STR_CLOSE, () => {
stream4 = undefined;
});
stream4.once(STR_END, () => {
if (stream4) {
this._streams.delete(stream4);
stream4 = undefined;
}
});
return stream4;
}
};
chokidar_default = { watch, FSWatcher };
});
// src/utils/settings/changeDetector.ts
import { stat as stat15 } from "fs/promises";
import * as platformPath from "path";
async function initialize() {
if (getIsRemoteMode())
return;
if (initialized || disposed)
return;
initialized = true;
startMdmPoll();
registerCleanup(dispose);
const { dirs, settingsFiles, dropInDir } = await getWatchTargets();
if (disposed)
return;
if (dirs.length === 0)
return;
logForDebugging(`Watching for changes in setting files ${[...settingsFiles].join(", ")}...${dropInDir ? ` and drop-in directory ${dropInDir}` : ""}`);
watcher = chokidar_default.watch(dirs, {
persistent: true,
ignoreInitial: true,
depth: 0,
awaitWriteFinish: {
stabilityThreshold: testOverrides?.stabilityThreshold ?? FILE_STABILITY_THRESHOLD_MS,
pollInterval: testOverrides?.pollInterval ?? FILE_STABILITY_POLL_INTERVAL_MS
},
ignored: (path13, stats) => {
if (stats && !stats.isFile() && !stats.isDirectory())
return true;
if (path13.split(platformPath.sep).some((dir) => dir === ".git"))
return true;
if (!stats || stats.isDirectory())
return false;
const normalized = platformPath.normalize(path13);
if (settingsFiles.has(normalized))
return false;
if (dropInDir && normalized.startsWith(dropInDir + platformPath.sep) && normalized.endsWith(".json")) {
return false;
}
return true;
},
ignorePermissionErrors: true,
usePolling: false,
atomic: true
});
watcher.on("change", handleChange);
watcher.on("unlink", handleDelete);
watcher.on("add", handleAdd);
}
function dispose() {
disposed = true;
if (mdmPollTimer) {
clearInterval(mdmPollTimer);
mdmPollTimer = null;
}
for (const timer of pendingDeletions.values())
clearTimeout(timer);
pendingDeletions.clear();
lastMdmSnapshot = null;
clearInternalWrites();
settingsChanged.clear();
const w2 = watcher;
watcher = null;
return w2 ? w2.close() : Promise.resolve();
}
async function getWatchTargets() {
const dirToSettingsFiles = new Map;
const dirsWithExistingFiles = new Set;
for (const source of SETTING_SOURCES) {
if (source === "flagSettings") {
continue;
}
const path13 = getSettingsFilePathForSource(source);
if (!path13) {
continue;
}
const dir = platformPath.dirname(path13);
if (!dirToSettingsFiles.has(dir)) {
dirToSettingsFiles.set(dir, new Set);
}
dirToSettingsFiles.get(dir).add(path13);
try {
const stats = await stat15(path13);
if (stats.isFile()) {
dirsWithExistingFiles.add(dir);
}
} catch {}
}
const settingsFiles = new Set;
for (const dir of dirsWithExistingFiles) {
const filesInDir = dirToSettingsFiles.get(dir);
if (filesInDir) {
for (const file2 of filesInDir) {
settingsFiles.add(file2);
}
}
}
let dropInDir = null;
const managedDropIn = getManagedSettingsDropInDir();
try {
const stats = await stat15(managedDropIn);
if (stats.isDirectory()) {
dirsWithExistingFiles.add(managedDropIn);
dropInDir = managedDropIn;
}
} catch {}
return { dirs: [...dirsWithExistingFiles], settingsFiles, dropInDir };
}
function settingSourceToConfigChangeSource(source) {
switch (source) {
case "userSettings":
return "user_settings";
case "projectSettings":
return "project_settings";
case "localSettings":
return "local_settings";
case "flagSettings":
case "policySettings":
return "policy_settings";
}
}
function handleChange(path13) {
const source = getSourceForPath(path13);
if (!source)
return;
const pendingTimer = pendingDeletions.get(path13);
if (pendingTimer) {
clearTimeout(pendingTimer);
pendingDeletions.delete(path13);
logForDebugging(`Cancelled pending deletion of ${path13} — file was recreated`);
}
if (consumeInternalWrite(path13, INTERNAL_WRITE_WINDOW_MS)) {
return;
}
logForDebugging(`Detected change to ${path13}`);
executeConfigChangeHooks(settingSourceToConfigChangeSource(source), path13).then((results) => {
if (hasBlockingResult(results)) {
logForDebugging(`ConfigChange hook blocked change to ${path13}`);
return;
}
fanOut(source);
});
}
function handleAdd(path13) {
const source = getSourceForPath(path13);
if (!source)
return;
const pendingTimer = pendingDeletions.get(path13);
if (pendingTimer) {
clearTimeout(pendingTimer);
pendingDeletions.delete(path13);
logForDebugging(`Cancelled pending deletion of ${path13} — file was re-added`);
}
handleChange(path13);
}
function handleDelete(path13) {
const source = getSourceForPath(path13);
if (!source)
return;
logForDebugging(`Detected deletion of ${path13}`);
if (pendingDeletions.has(path13))
return;
const timer = setTimeout((p, src) => {
pendingDeletions.delete(p);
executeConfigChangeHooks(settingSourceToConfigChangeSource(src), p).then((results) => {
if (hasBlockingResult(results)) {
logForDebugging(`ConfigChange hook blocked deletion of ${p}`);
return;
}
fanOut(src);
});
}, testOverrides?.deletionGrace ?? DELETION_GRACE_MS, path13, source);
pendingDeletions.set(path13, timer);
}
function getSourceForPath(path13) {
const normalizedPath = platformPath.normalize(path13);
const dropInDir = getManagedSettingsDropInDir();
if (normalizedPath.startsWith(dropInDir + platformPath.sep)) {
return "policySettings";
}
return SETTING_SOURCES.find((source) => getSettingsFilePathForSource(source) === normalizedPath);
}
function startMdmPoll() {
const initial = getMdmSettings();
const initialHkcu = getHkcuSettings();
lastMdmSnapshot = jsonStringify({
mdm: initial.settings,
hkcu: initialHkcu.settings
});
mdmPollTimer = setInterval(() => {
if (disposed)
return;
(async () => {
try {
const { mdm: current, hkcu: currentHkcu } = await refreshMdmSettings();
if (disposed)
return;
const currentSnapshot = jsonStringify({
mdm: current.settings,
hkcu: currentHkcu.settings
});
if (currentSnapshot !== lastMdmSnapshot) {
lastMdmSnapshot = currentSnapshot;
setMdmSettingsCache(current, currentHkcu);
logForDebugging("Detected MDM settings change via poll");
fanOut("policySettings");
}
} catch (error52) {
logForDebugging(`MDM poll error: ${errorMessage(error52)}`);
}
})();
}, testOverrides?.mdmPollInterval ?? MDM_POLL_INTERVAL_MS);
mdmPollTimer.unref();
}
function fanOut(source) {
resetSettingsCache();
settingsChanged.emit(source);
}
function notifyChange(source) {
logForDebugging(`Programmatic settings change notification for ${source}`);
fanOut(source);
}
function resetForTesting(overrides) {
if (mdmPollTimer) {
clearInterval(mdmPollTimer);
mdmPollTimer = null;
}
for (const timer of pendingDeletions.values())
clearTimeout(timer);
pendingDeletions.clear();
lastMdmSnapshot = null;
initialized = false;
disposed = false;
testOverrides = overrides ?? null;
const w2 = watcher;
watcher = null;
return w2 ? w2.close() : Promise.resolve();
}
var FILE_STABILITY_THRESHOLD_MS = 1000, FILE_STABILITY_POLL_INTERVAL_MS = 500, INTERNAL_WRITE_WINDOW_MS = 5000, MDM_POLL_INTERVAL_MS, DELETION_GRACE_MS, watcher = null, mdmPollTimer = null, lastMdmSnapshot = null, initialized = false, disposed = false, pendingDeletions, settingsChanged, testOverrides = null, subscribe2, settingsChangeDetector;
var init_changeDetector = __esm(() => {
init_chokidar();
init_state();
init_cleanupRegistry();
init_debug();
init_errors();
init_hooks3();
init_slowOperations();
init_constants3();
init_internalWrites();
init_managedPath();
init_settings();
init_settings2();
init_settingsCache();
MDM_POLL_INTERVAL_MS = 30 * 60 * 1000;
DELETION_GRACE_MS = FILE_STABILITY_THRESHOLD_MS + FILE_STABILITY_POLL_INTERVAL_MS + 200;
pendingDeletions = new Map;
settingsChanged = createSignal();
subscribe2 = settingsChanged.subscribe;
settingsChangeDetector = {
initialize,
dispose,
subscribe: subscribe2,
notifyChange,
resetForTesting
};
});
// src/tools/WebFetchTool/prompt.ts
function makeSecondaryModelPrompt(markdownContent, prompt, isPreapprovedDomain) {
const guidelines = isPreapprovedDomain ? `Provide a concise response based on the content above. Include relevant details, code examples, and documentation excerpts as needed.` : `Provide a concise response based only on the content above. In your response:
- Enforce a strict 125-character maximum for quotes from any source document. Open Source Software is ok as long as we respect the license.
- Use quotation marks for exact language from articles; any language outside of the quotation should never be word-for-word the same.
- You are not a lawyer and never comment on the legality of your own prompts and responses.
- Never produce or reproduce exact song lyrics.`;
return `
Web page content:
---
${markdownContent}
---
${prompt}
${guidelines}
`;
}
var WEB_FETCH_TOOL_NAME = "WebFetch", DESCRIPTION4 = `
- Fetches content from a specified URL and processes it using an AI model
- Takes a URL and a prompt as input
- Fetches the URL content, converts HTML to markdown
- Processes the content with the prompt using a small, fast model
- Returns the model's response about the content
- Use this tool when you need to retrieve and analyze web content
Usage notes:
- IMPORTANT: If an MCP-provided web fetch tool is available, prefer using that tool instead of this one, as it may have fewer restrictions.
- The URL must be a fully-formed valid URL
- HTTP URLs will be automatically upgraded to HTTPS
- The prompt should describe what information you want to extract from the page
- This tool is read-only and does not modify any files
- Results may be summarized if the content is very large
- Includes a self-cleaning 15-minute cache for faster responses when repeatedly accessing the same URL
- When a URL redirects to a different host, the tool will inform you and provide the redirect URL in a special format. You should then make a new WebFetch request with the redirect URL to fetch the content.
- For GitHub URLs, prefer using the gh CLI via Bash instead (e.g., gh pr view, gh issue view, gh api).
`;
// src/utils/ripgrep.ts
import { execFile as execFile8, spawn as spawn2 } from "child_process";
import { homedir as homedir11 } from "os";
import * as path13 from "path";
import { fileURLToPath as fileURLToPath4 } from "url";
function ripgrepCommand() {
const config2 = getRipgrepConfig();
return {
rgPath: config2.command,
rgArgs: config2.args,
argv0: config2.argv0
};
}
function isEagainError(stderr) {
return stderr.includes("os error 11") || stderr.includes("Resource temporarily unavailable");
}
function ripGrepRaw(args, target, abortSignal, callback, singleThread = false) {
const { rgPath, rgArgs, argv0 } = ripgrepCommand();
const threadArgs = singleThread ? ["-j", "1"] : [];
const fullArgs = [...rgArgs, ...threadArgs, ...args, target];
const defaultTimeout = getPlatform() === "wsl" ? 60000 : 20000;
const parsedSeconds = parseInt(process.env.CLAUDE_CODE_GLOB_TIMEOUT_SECONDS || "", 10) || 0;
const timeout = parsedSeconds > 0 ? parsedSeconds * 1000 : defaultTimeout;
if (argv0) {
const child = spawn2(rgPath, fullArgs, {
argv0,
signal: abortSignal,
windowsHide: true
});
let stdout = "";
let stderr = "";
let stdoutTruncated = false;
let stderrTruncated = false;
child.stdout?.on("data", (data) => {
if (!stdoutTruncated) {
stdout += data.toString();
if (stdout.length > MAX_BUFFER_SIZE) {
stdout = stdout.slice(0, MAX_BUFFER_SIZE);
stdoutTruncated = true;
}
}
});
child.stderr?.on("data", (data) => {
if (!stderrTruncated) {
stderr += data.toString();
if (stderr.length > MAX_BUFFER_SIZE) {
stderr = stderr.slice(0, MAX_BUFFER_SIZE);
stderrTruncated = true;
}
}
});
let killTimeoutId;
const timeoutId = setTimeout(() => {
if (process.platform === "win32") {
child.kill();
} else {
child.kill("SIGTERM");
killTimeoutId = setTimeout((c5) => c5.kill("SIGKILL"), 5000, child);
}
}, timeout);
let settled = false;
child.on("close", (code, signal) => {
if (settled)
return;
settled = true;
clearTimeout(timeoutId);
clearTimeout(killTimeoutId);
if (code === 0 || code === 1) {
callback(null, stdout, stderr);
} else {
const error52 = new Error(`ripgrep exited with code ${code}`);
error52.code = code ?? undefined;
error52.signal = signal ?? undefined;
callback(error52, stdout, stderr);
}
});
child.on("error", (err2) => {
if (settled)
return;
settled = true;
clearTimeout(timeoutId);
clearTimeout(killTimeoutId);
const error52 = err2;
callback(error52, stdout, stderr);
});
return child;
}
return execFile8(rgPath, fullArgs, {
maxBuffer: MAX_BUFFER_SIZE,
signal: abortSignal,
timeout,
killSignal: process.platform === "win32" ? undefined : "SIGKILL"
}, callback);
}
async function ripGrepFileCount(args, target, abortSignal) {
await codesignRipgrepIfNecessary();
const { rgPath, rgArgs, argv0 } = ripgrepCommand();
return new Promise((resolve13, reject) => {
const child = spawn2(rgPath, [...rgArgs, ...args, target], {
argv0,
signal: abortSignal,
windowsHide: true,
stdio: ["ignore", "pipe", "ignore"]
});
let lines = 0;
child.stdout?.on("data", (chunk) => {
lines += countCharInString(chunk, `
`);
});
let settled = false;
child.on("close", (code) => {
if (settled)
return;
settled = true;
if (code === 0 || code === 1)
resolve13(lines);
else
reject(new Error(`rg --files exited ${code}`));
});
child.on("error", (err2) => {
if (settled)
return;
settled = true;
reject(err2);
});
});
}
async function ripGrep(args, target, abortSignal) {
await codesignRipgrepIfNecessary();
testRipgrepOnFirstUse().catch((error52) => {
logError2(error52);
});
return new Promise((resolve13, reject) => {
const handleResult2 = (error52, stdout, stderr, isRetry) => {
if (!error52) {
resolve13(stdout.trim().split(`
`).map((line) => line.replace(/\r$/, "")).filter(Boolean));
return;
}
if (error52.code === 1) {
resolve13([]);
return;
}
const CRITICAL_ERROR_CODES = ["ENOENT", "EACCES", "EPERM"];
if (CRITICAL_ERROR_CODES.includes(error52.code)) {
reject(error52);
return;
}
if (!isRetry && isEagainError(stderr)) {
logForDebugging(`rg EAGAIN error detected, retrying with single-threaded mode (-j 1)`);
logEvent("tengu_ripgrep_eagain_retry", {});
ripGrepRaw(args, target, abortSignal, (retryError, retryStdout, retryStderr) => {
handleResult2(retryError, retryStdout, retryStderr, true);
}, true);
return;
}
const hasOutput = stdout && stdout.trim().length > 0;
const isTimeout = error52.signal === "SIGTERM" || error52.signal === "SIGKILL" || error52.code === "ABORT_ERR";
const isBufferOverflow = error52.code === "ERR_CHILD_PROCESS_STDIO_MAXBUFFER";
let lines = [];
if (hasOutput) {
lines = stdout.trim().split(`
`).map((line) => line.replace(/\r$/, "")).filter(Boolean);
if (lines.length > 0 && (isTimeout || isBufferOverflow)) {
lines = lines.slice(0, -1);
}
}
logForDebugging(`rg error (signal=${error52.signal}, code=${error52.code}, stderr: ${stderr}), ${lines.length} results`);
if (error52.code !== 2 && error52.code !== "ABORT_ERR") {
logError2(error52);
}
if (isTimeout && lines.length === 0) {
reject(new RipgrepTimeoutError(`Ripgrep search timed out after ${getPlatform() === "wsl" ? 60 : 20} seconds. The search may have matched files but did not complete in time. Try searching a more specific path or pattern.`, lines));
return;
}
resolve13(lines);
};
ripGrepRaw(args, target, abortSignal, (error52, stdout, stderr) => {
handleResult2(error52, stdout, stderr, false);
});
});
}
function getRipgrepStatus() {
const config2 = getRipgrepConfig();
return {
mode: config2.mode,
path: config2.command,
working: ripgrepStatus?.working ?? null
};
}
async function codesignRipgrepIfNecessary() {
if (process.platform !== "darwin" || alreadyDoneSignCheck) {
return;
}
alreadyDoneSignCheck = true;
const config2 = getRipgrepConfig();
if (config2.mode !== "builtin") {
return;
}
const builtinPath = config2.command;
const lines = (await execFileNoThrow("codesign", ["-vv", "-d", builtinPath], {
preserveOutputOnError: false
})).stdout.split(`
`);
const needsSigned = lines.find((line) => line.includes("linker-signed"));
if (!needsSigned) {
return;
}
try {
const signResult = await execFileNoThrow("codesign", [
"--sign",
"-",
"--force",
"--preserve-metadata=entitlements,requirements,flags,runtime",
builtinPath
]);
if (signResult.code !== 0) {
logError2(new Error(`Failed to sign ripgrep: ${signResult.stdout} ${signResult.stderr}`));
}
const quarantineResult = await execFileNoThrow("xattr", [
"-d",
"com.apple.quarantine",
builtinPath
]);
if (quarantineResult.code !== 0) {
logError2(new Error(`Failed to remove quarantine: ${quarantineResult.stdout} ${quarantineResult.stderr}`));
}
} catch (e2) {
logError2(e2);
}
}
var __filename2, __dirname3, getRipgrepConfig, MAX_BUFFER_SIZE = 20000000, RipgrepTimeoutError, countFilesRoundedRg, ripgrepStatus = null, testRipgrepOnFirstUse, alreadyDoneSignCheck = false;
var init_ripgrep = __esm(() => {
init_memoize();
init_analytics();
init_debug();
init_envUtils();
init_execFileNoThrow();
init_findExecutable();
init_log3();
init_platform2();
init_stringUtils();
__filename2 = fileURLToPath4(import.meta.url);
__dirname3 = path13.join(__filename2, "../");
getRipgrepConfig = memoize_default(() => {
const userWantsSystemRipgrep = isEnvDefinedFalsy(process.env.USE_BUILTIN_RIPGREP);
if (userWantsSystemRipgrep) {
const { cmd: systemPath } = findExecutable("rg", []);
if (systemPath !== "rg") {
return { mode: "system", command: "rg", args: [] };
}
}
if (isInBundledMode()) {
return {
mode: "embedded",
command: process.execPath,
args: ["--no-config"],
argv0: "rg"
};
}
const rgRoot = path13.resolve(__dirname3, "vendor", "ripgrep");
const command = process.platform === "win32" ? path13.resolve(rgRoot, `${process.arch}-win32`, "rg.exe") : path13.resolve(rgRoot, `${process.arch}-${process.platform}`, "rg");
return { mode: "builtin", command, args: [] };
});
RipgrepTimeoutError = class RipgrepTimeoutError extends Error {
partialResults;
constructor(message, partialResults) {
super(message);
this.partialResults = partialResults;
this.name = "RipgrepTimeoutError";
}
};
countFilesRoundedRg = memoize_default(async (dirPath, abortSignal, ignorePatterns = []) => {
if (path13.resolve(dirPath) === path13.resolve(homedir11())) {
return;
}
try {
const args = ["--files", "--hidden"];
ignorePatterns.forEach((pattern) => {
args.push("--glob", `!${pattern}`);
});
const count3 = await ripGrepFileCount(args, dirPath, abortSignal);
if (count3 === 0)
return 0;
const magnitude = Math.floor(Math.log10(count3));
const power = Math.pow(10, magnitude);
return Math.round(count3 / power) * power;
} catch (error52) {
if (error52?.name !== "AbortError")
logError2(error52);
}
}, (dirPath, _abortSignal, ignorePatterns = []) => `${dirPath}|${ignorePatterns.join(",")}`);
testRipgrepOnFirstUse = memoize_default(async () => {
if (ripgrepStatus !== null) {
return;
}
const config2 = getRipgrepConfig();
try {
let test2;
if (config2.argv0) {
const proc = Bun.spawn([config2.command, "--version"], {
argv0: config2.argv0,
stderr: "ignore",
stdout: "pipe"
});
const [stdout, code] = await Promise.all([
proc.stdout.text(),
proc.exited
]);
test2 = {
code,
stdout
};
} else {
test2 = await execFileNoThrow(config2.command, [...config2.args, "--version"], {
timeout: 5000
});
}
const working = test2.code === 0 && !!test2.stdout && test2.stdout.startsWith("ripgrep ");
ripgrepStatus = {
working,
lastTested: Date.now(),
config: config2
};
logForDebugging(`Ripgrep first use test: ${working ? "PASSED" : "FAILED"} (mode=${config2.mode}, path=${config2.command})`);
logEvent("tengu_ripgrep_availability", {
working: working ? 1 : 0,
using_system: config2.mode === "system" ? 1 : 0
});
} catch (error52) {
ripgrepStatus = {
working: false,
lastTested: Date.now(),
config: config2
};
logError2(error52);
}
});
});
// src/utils/sandbox/sandbox-adapter.ts
var exports_sandbox_adapter = {};
__export(exports_sandbox_adapter, {
shouldAllowManagedSandboxDomainsOnly: () => shouldAllowManagedSandboxDomainsOnly,
resolveSandboxFilesystemPath: () => resolveSandboxFilesystemPath,
resolvePathPatternForSandbox: () => resolvePathPatternForSandbox,
convertToSandboxRuntimeConfig: () => convertToSandboxRuntimeConfig,
addToExcludedCommands: () => addToExcludedCommands,
SandboxViolationStore: () => SandboxViolationStore,
SandboxRuntimeConfigSchema: () => SandboxRuntimeConfigSchema,
SandboxManager: () => SandboxManager2
});
import { rmSync as rmSync2, statSync as statSync6 } from "fs";
import { readFile as readFile12 } from "fs/promises";
import { join as join37, resolve as resolve13, sep as sep8 } from "path";
function permissionRuleValueFromString2(ruleString) {
const matches = ruleString.match(/^([^(]+)\(([^)]+)\)$/);
if (!matches) {
return { toolName: ruleString };
}
const toolName = matches[1];
const ruleContent = matches[2];
if (!toolName || !ruleContent) {
return { toolName: ruleString };
}
return { toolName, ruleContent };
}
function permissionRuleExtractPrefix(permissionRule) {
const match = permissionRule.match(/^(.+):\*$/);
return match?.[1] ?? null;
}
function resolvePathPatternForSandbox(pattern, source) {
if (pattern.startsWith("//")) {
return pattern.slice(1);
}
if (pattern.startsWith("/") && !pattern.startsWith("//")) {
const root2 = getSettingsRootPathForSource(source);
return resolve13(root2, pattern.slice(1));
}
return pattern;
}
function resolveSandboxFilesystemPath(pattern, source) {
if (pattern.startsWith("//"))
return pattern.slice(1);
return expandPath(pattern, getSettingsRootPathForSource(source));
}
function shouldAllowManagedSandboxDomainsOnly() {
return getSettingsForSource("policySettings")?.sandbox?.network?.allowManagedDomainsOnly === true;
}
function shouldAllowManagedReadPathsOnly() {
return getSettingsForSource("policySettings")?.sandbox?.filesystem?.allowManagedReadPathsOnly === true;
}
function convertToSandboxRuntimeConfig(settings) {
const permissions = settings.permissions || {};
const allowedDomains = [];
const deniedDomains = [];
if (shouldAllowManagedSandboxDomainsOnly()) {
const policySettings = getSettingsForSource("policySettings");
for (const domain2 of policySettings?.sandbox?.network?.allowedDomains || []) {
allowedDomains.push(domain2);
}
for (const ruleString of policySettings?.permissions?.allow || []) {
const rule = permissionRuleValueFromString2(ruleString);
if (rule.toolName === WEB_FETCH_TOOL_NAME && rule.ruleContent?.startsWith("domain:")) {
allowedDomains.push(rule.ruleContent.substring("domain:".length));
}
}
} else {
for (const domain2 of settings.sandbox?.network?.allowedDomains || []) {
allowedDomains.push(domain2);
}
for (const ruleString of permissions.allow || []) {
const rule = permissionRuleValueFromString2(ruleString);
if (rule.toolName === WEB_FETCH_TOOL_NAME && rule.ruleContent?.startsWith("domain:")) {
allowedDomains.push(rule.ruleContent.substring("domain:".length));
}
}
}
for (const ruleString of permissions.deny || []) {
const rule = permissionRuleValueFromString2(ruleString);
if (rule.toolName === WEB_FETCH_TOOL_NAME && rule.ruleContent?.startsWith("domain:")) {
deniedDomains.push(rule.ruleContent.substring("domain:".length));
}
}
const allowWrite = [".", getClaudeTempDir()];
const denyWrite = [];
const denyRead = [];
const allowRead = [];
const settingsPaths = SETTING_SOURCES.map((source) => getSettingsFilePathForSource(source)).filter((p) => p !== undefined);
denyWrite.push(...settingsPaths);
denyWrite.push(getManagedSettingsDropInDir());
const cwd2 = getCwdState();
const originalCwd = getOriginalCwd();
if (cwd2 !== originalCwd) {
denyWrite.push(resolve13(cwd2, ".claude", "settings.json"));
denyWrite.push(resolve13(cwd2, ".claude", "settings.local.json"));
}
denyWrite.push(resolve13(originalCwd, ".claude", "skills"));
if (cwd2 !== originalCwd) {
denyWrite.push(resolve13(cwd2, ".claude", "skills"));
}
bareGitRepoScrubPaths.length = 0;
const bareGitRepoFiles = ["HEAD", "objects", "refs", "hooks", "config"];
for (const dir of cwd2 === originalCwd ? [originalCwd] : [originalCwd, cwd2]) {
for (const gitFile of bareGitRepoFiles) {
const p = resolve13(dir, gitFile);
try {
statSync6(p);
denyWrite.push(p);
} catch {
bareGitRepoScrubPaths.push(p);
}
}
}
if (worktreeMainRepoPath && worktreeMainRepoPath !== cwd2) {
allowWrite.push(worktreeMainRepoPath);
}
const additionalDirs = new Set([
...settings.permissions?.additionalDirectories || [],
...getAdditionalDirectoriesForClaudeMd()
]);
allowWrite.push(...additionalDirs);
for (const source of SETTING_SOURCES) {
const sourceSettings = getSettingsForSource(source);
if (sourceSettings?.permissions) {
for (const ruleString of sourceSettings.permissions.allow || []) {
const rule = permissionRuleValueFromString2(ruleString);
if (rule.toolName === FILE_EDIT_TOOL_NAME && rule.ruleContent) {
allowWrite.push(resolvePathPatternForSandbox(rule.ruleContent, source));
}
}
for (const ruleString of sourceSettings.permissions.deny || []) {
const rule = permissionRuleValueFromString2(ruleString);
if (rule.toolName === FILE_EDIT_TOOL_NAME && rule.ruleContent) {
denyWrite.push(resolvePathPatternForSandbox(rule.ruleContent, source));
}
if (rule.toolName === FILE_READ_TOOL_NAME && rule.ruleContent) {
denyRead.push(resolvePathPatternForSandbox(rule.ruleContent, source));
}
}
}
const fs8 = sourceSettings?.sandbox?.filesystem;
if (fs8) {
for (const p of fs8.allowWrite || []) {
allowWrite.push(resolveSandboxFilesystemPath(p, source));
}
for (const p of fs8.denyWrite || []) {
denyWrite.push(resolveSandboxFilesystemPath(p, source));
}
for (const p of fs8.denyRead || []) {
denyRead.push(resolveSandboxFilesystemPath(p, source));
}
if (!shouldAllowManagedReadPathsOnly() || source === "policySettings") {
for (const p of fs8.allowRead || []) {
allowRead.push(resolveSandboxFilesystemPath(p, source));
}
}
}
}
const { rgPath, rgArgs, argv0 } = ripgrepCommand();
const ripgrepConfig = settings.sandbox?.ripgrep ?? {
command: rgPath,
args: rgArgs,
argv0
};
return {
network: {
allowedDomains,
deniedDomains,
allowUnixSockets: settings.sandbox?.network?.allowUnixSockets,
allowAllUnixSockets: settings.sandbox?.network?.allowAllUnixSockets,
allowLocalBinding: settings.sandbox?.network?.allowLocalBinding,
httpProxyPort: settings.sandbox?.network?.httpProxyPort,
socksProxyPort: settings.sandbox?.network?.socksProxyPort
},
filesystem: {
denyRead,
allowRead,
allowWrite,
denyWrite
},
ignoreViolations: settings.sandbox?.ignoreViolations,
enableWeakerNestedSandbox: settings.sandbox?.enableWeakerNestedSandbox,
enableWeakerNetworkIsolation: settings.sandbox?.enableWeakerNetworkIsolation,
ripgrep: ripgrepConfig
};
}
function scrubBareGitRepoFiles() {
for (const p of bareGitRepoScrubPaths) {
try {
rmSync2(p, { recursive: true });
logForDebugging(`[Sandbox] scrubbed planted bare-repo file: ${p}`);
} catch {}
}
}
async function detectWorktreeMainRepoPath(cwd2) {
const gitPath = join37(cwd2, ".git");
try {
const gitContent = await readFile12(gitPath, { encoding: "utf8" });
const gitdirMatch = gitContent.match(/^gitdir:\s*(.+)$/m);
if (!gitdirMatch?.[1]) {
return null;
}
const gitdir = resolve13(cwd2, gitdirMatch[1].trim());
const marker = `${sep8}.git${sep8}worktrees${sep8}`;
const markerIndex = gitdir.lastIndexOf(marker);
if (markerIndex > 0) {
return gitdir.substring(0, markerIndex);
}
return null;
} catch {
return null;
}
}
function getSandboxEnabledSetting() {
try {
const settings = getSettings_DEPRECATED();
return settings?.sandbox?.enabled ?? false;
} catch (error52) {
logForDebugging(`Failed to get settings for sandbox check: ${error52}`);
return false;
}
}
function isAutoAllowBashIfSandboxedEnabled() {
const settings = getSettings_DEPRECATED();
return settings?.sandbox?.autoAllowBashIfSandboxed ?? true;
}
function areUnsandboxedCommandsAllowed() {
const settings = getSettings_DEPRECATED();
return settings?.sandbox?.allowUnsandboxedCommands ?? true;
}
function isSandboxRequired() {
const settings = getSettings_DEPRECATED();
return getSandboxEnabledSetting() && (settings?.sandbox?.failIfUnavailable ?? false);
}
function isPlatformInEnabledList() {
try {
const settings = getInitialSettings();
const enabledPlatforms = settings?.sandbox?.enabledPlatforms;
if (enabledPlatforms === undefined) {
return true;
}
if (enabledPlatforms.length === 0) {
return false;
}
const currentPlatform = getPlatform();
return enabledPlatforms.includes(currentPlatform);
} catch (error52) {
logForDebugging(`Failed to check enabledPlatforms: ${error52}`);
return true;
}
}
function isSandboxingEnabled() {
if (!isSupportedPlatform()) {
return false;
}
if (checkDependencies().errors.length > 0) {
return false;
}
if (!isPlatformInEnabledList()) {
return false;
}
return getSandboxEnabledSetting();
}
function getSandboxUnavailableReason() {
if (!getSandboxEnabledSetting()) {
return;
}
if (!isSupportedPlatform()) {
const platform3 = getPlatform();
if (platform3 === "wsl") {
return "sandbox.enabled is set but WSL1 is not supported (requires WSL2)";
}
return `sandbox.enabled is set but ${platform3} is not supported (requires macOS, Linux, or WSL2)`;
}
if (!isPlatformInEnabledList()) {
return `sandbox.enabled is set but ${getPlatform()} is not in sandbox.enabledPlatforms`;
}
const deps = checkDependencies();
if (deps.errors.length > 0) {
const platform3 = getPlatform();
const hint = platform3 === "macos" ? "run /sandbox or /doctor for details" : "install missing tools (e.g. apt install bubblewrap socat) or run /sandbox for details";
return `sandbox.enabled is set but dependencies are missing: ${deps.errors.join(", ")} · ${hint}`;
}
return;
}
function getLinuxGlobPatternWarnings() {
const platform3 = getPlatform();
if (platform3 !== "linux" && platform3 !== "wsl") {
return [];
}
try {
const settings = getSettings_DEPRECATED();
if (!settings?.sandbox?.enabled) {
return [];
}
const permissions = settings?.permissions || {};
const warnings = [];
const hasGlobs = (path14) => {
const stripped = path14.replace(/\/\*\*$/, "");
return /[*?[\]]/.test(stripped);
};
for (const ruleString of [
...permissions.allow || [],
...permissions.deny || []
]) {
const rule = permissionRuleValueFromString2(ruleString);
if ((rule.toolName === FILE_EDIT_TOOL_NAME || rule.toolName === FILE_READ_TOOL_NAME) && rule.ruleContent && hasGlobs(rule.ruleContent)) {
warnings.push(ruleString);
}
}
return warnings;
} catch (error52) {
logForDebugging(`Failed to get Linux glob pattern warnings: ${error52}`);
return [];
}
}
function areSandboxSettingsLockedByPolicy() {
const overridingSources = ["flagSettings", "policySettings"];
for (const source of overridingSources) {
const settings = getSettingsForSource(source);
if (settings?.sandbox?.enabled !== undefined || settings?.sandbox?.autoAllowBashIfSandboxed !== undefined || settings?.sandbox?.allowUnsandboxedCommands !== undefined) {
return true;
}
}
return false;
}
async function setSandboxSettings(options) {
const existingSettings = getSettingsForSource("localSettings");
updateSettingsForSource("localSettings", {
sandbox: {
...existingSettings?.sandbox,
...options.enabled !== undefined && { enabled: options.enabled },
...options.autoAllowBashIfSandboxed !== undefined && {
autoAllowBashIfSandboxed: options.autoAllowBashIfSandboxed
},
...options.allowUnsandboxedCommands !== undefined && {
allowUnsandboxedCommands: options.allowUnsandboxedCommands
}
}
});
}
function getExcludedCommands() {
const settings = getSettings_DEPRECATED();
return settings?.sandbox?.excludedCommands ?? [];
}
async function wrapWithSandbox(command, binShell, customConfig, abortSignal) {
if (isSandboxingEnabled()) {
if (initializationPromise) {
await initializationPromise;
} else {
throw new Error("Sandbox failed to initialize. ");
}
}
return SandboxManager.wrapWithSandbox(command, binShell, customConfig, abortSignal);
}
async function initialize2(sandboxAskCallback) {
if (initializationPromise) {
return initializationPromise;
}
if (!isSandboxingEnabled()) {
return;
}
const wrappedCallback = sandboxAskCallback ? async (hostPattern) => {
if (shouldAllowManagedSandboxDomainsOnly()) {
logForDebugging(`[sandbox] Blocked network request to ${hostPattern.host} (allowManagedDomainsOnly)`);
return false;
}
return sandboxAskCallback(hostPattern);
} : undefined;
initializationPromise = (async () => {
try {
if (worktreeMainRepoPath === undefined) {
worktreeMainRepoPath = await detectWorktreeMainRepoPath(getCwdState());
}
const settings = getSettings_DEPRECATED();
const runtimeConfig = convertToSandboxRuntimeConfig(settings);
await SandboxManager.initialize(runtimeConfig, wrappedCallback);
settingsSubscriptionCleanup = settingsChangeDetector.subscribe(() => {
const settings2 = getSettings_DEPRECATED();
const newConfig = convertToSandboxRuntimeConfig(settings2);
SandboxManager.updateConfig(newConfig);
logForDebugging("Sandbox configuration updated from settings change");
});
} catch (error52) {
initializationPromise = undefined;
logForDebugging(`Failed to initialize sandbox: ${errorMessage(error52)}`);
}
})();
return initializationPromise;
}
function refreshConfig() {
if (!isSandboxingEnabled())
return;
const settings = getSettings_DEPRECATED();
const newConfig = convertToSandboxRuntimeConfig(settings);
SandboxManager.updateConfig(newConfig);
}
async function reset2() {
settingsSubscriptionCleanup?.();
settingsSubscriptionCleanup = undefined;
worktreeMainRepoPath = undefined;
bareGitRepoScrubPaths.length = 0;
checkDependencies.cache.clear?.();
isSupportedPlatform.cache.clear?.();
initializationPromise = undefined;
return SandboxManager.reset();
}
function addToExcludedCommands(command, permissionUpdates) {
const existingSettings = getSettingsForSource("localSettings");
const existingExcludedCommands = existingSettings?.sandbox?.excludedCommands || [];
let commandPattern = command;
if (permissionUpdates) {
const bashSuggestions = permissionUpdates.filter((update) => update.type === "addRules" && update.rules.some((rule) => rule.toolName === BASH_TOOL_NAME));
if (bashSuggestions.length > 0 && bashSuggestions[0].type === "addRules") {
const firstBashRule = bashSuggestions[0].rules.find((rule) => rule.toolName === BASH_TOOL_NAME);
if (firstBashRule?.ruleContent) {
const prefix = permissionRuleExtractPrefix(firstBashRule.ruleContent);
commandPattern = prefix || firstBashRule.ruleContent;
}
}
}
if (!existingExcludedCommands.includes(commandPattern)) {
updateSettingsForSource("localSettings", {
sandbox: {
...existingSettings?.sandbox,
excludedCommands: [...existingExcludedCommands, commandPattern]
}
});
}
return commandPattern;
}
var initializationPromise, settingsSubscriptionCleanup, worktreeMainRepoPath, bareGitRepoScrubPaths, checkDependencies, isSupportedPlatform, SandboxManager2;
var init_sandbox_adapter = __esm(() => {
init_sandbox_runtime();
init_lodash();
init_state();
init_debug();
init_path2();
init_platform2();
init_changeDetector();
init_constants3();
init_managedPath();
init_settings2();
init_prompt2();
init_errors();
init_filesystem();
init_ripgrep();
bareGitRepoScrubPaths = [];
checkDependencies = memoize_default(() => {
const { rgPath, rgArgs } = ripgrepCommand();
return SandboxManager.checkDependencies({
command: rgPath,
args: rgArgs
});
});
isSupportedPlatform = memoize_default(() => {
return SandboxManager.isSupportedPlatform();
});
SandboxManager2 = {
initialize: initialize2,
isSandboxingEnabled,
isSandboxEnabledInSettings: getSandboxEnabledSetting,
isPlatformInEnabledList,
getSandboxUnavailableReason,
isAutoAllowBashIfSandboxedEnabled,
areUnsandboxedCommandsAllowed,
isSandboxRequired,
areSandboxSettingsLockedByPolicy,
setSandboxSettings,
getExcludedCommands,
wrapWithSandbox,
refreshConfig,
reset: reset2,
checkDependencies,
getFsReadConfig: SandboxManager.getFsReadConfig,
getFsWriteConfig: SandboxManager.getFsWriteConfig,
getNetworkRestrictionConfig: SandboxManager.getNetworkRestrictionConfig,
getIgnoreViolations: SandboxManager.getIgnoreViolations,
getLinuxGlobPatternWarnings,
isSupportedPlatform,
getAllowUnixSockets: SandboxManager.getAllowUnixSockets,
getAllowLocalBinding: SandboxManager.getAllowLocalBinding,
getEnableWeakerNestedSandbox: SandboxManager.getEnableWeakerNestedSandbox,
getProxyPort: SandboxManager.getProxyPort,
getSocksProxyPort: SandboxManager.getSocksProxyPort,
getLinuxHttpSocketPath: SandboxManager.getLinuxHttpSocketPath,
getLinuxSocksSocketPath: SandboxManager.getLinuxSocksSocketPath,
waitForNetworkInitialization: SandboxManager.waitForNetworkInitialization,
getSandboxViolationStore: SandboxManager.getSandboxViolationStore,
annotateStderrWithSandboxFailures: SandboxManager.annotateStderrWithSandboxFailures,
cleanupAfterCommand: () => {
SandboxManager.cleanupAfterCommand();
scrubBareGitRepoFiles();
}
};
});
// src/utils/permissions/pathValidation.ts
import { homedir as homedir12 } from "os";
import { dirname as dirname16, isAbsolute as isAbsolute7, resolve as resolve14 } from "path";
function formatDirectoryList(directories) {
const dirCount = directories.length;
if (dirCount <= MAX_DIRS_TO_LIST) {
return directories.map((dir) => `'${dir}'`).join(", ");
}
const firstDirs = directories.slice(0, MAX_DIRS_TO_LIST).map((dir) => `'${dir}'`).join(", ");
return `${firstDirs}, and ${dirCount - MAX_DIRS_TO_LIST} more`;
}
function getGlobBaseDirectory(path14) {
const globMatch = path14.match(GLOB_PATTERN_REGEX);
if (!globMatch || globMatch.index === undefined) {
return path14;
}
const beforeGlob = path14.substring(0, globMatch.index);
const lastSepIndex = getPlatform() === "windows" ? Math.max(beforeGlob.lastIndexOf("/"), beforeGlob.lastIndexOf("\\")) : beforeGlob.lastIndexOf("/");
if (lastSepIndex === -1)
return ".";
return beforeGlob.substring(0, lastSepIndex) || "/";
}
function expandTilde(path14) {
if (path14 === "~" || path14.startsWith("~/") || process.platform === "win32" && path14.startsWith("~\\")) {
return homedir12() + path14.slice(1);
}
return path14;
}
function isPathInSandboxWriteAllowlist(resolvedPath) {
if (!SandboxManager2.isSandboxingEnabled()) {
return false;
}
const { allowOnly, denyWithinAllow } = SandboxManager2.getFsWriteConfig();
const pathsToCheck = getPathsForPermissionCheck(resolvedPath);
const resolvedAllow = allowOnly.flatMap(getResolvedSandboxConfigPath);
const resolvedDeny = denyWithinAllow.flatMap(getResolvedSandboxConfigPath);
return pathsToCheck.every((p) => {
for (const denyPath of resolvedDeny) {
if (pathInWorkingPath(p, denyPath))
return false;
}
return resolvedAllow.some((allowPath) => pathInWorkingPath(p, allowPath));
});
}
function isPathAllowed(resolvedPath, context3, operationType, precomputedPathsToCheck) {
const permissionType = operationType === "read" ? "read" : "edit";
const denyRule = matchingRuleForInput(resolvedPath, context3, permissionType, "deny");
if (denyRule !== null) {
return {
allowed: false,
decisionReason: { type: "rule", rule: denyRule }
};
}
if (operationType !== "read") {
const internalEditResult = checkEditableInternalPath(resolvedPath, {});
if (internalEditResult.behavior === "allow") {
return {
allowed: true,
decisionReason: internalEditResult.decisionReason
};
}
}
if (operationType !== "read") {
const safetyCheck = checkPathSafetyForAutoEdit(resolvedPath, precomputedPathsToCheck);
if (!safetyCheck.safe) {
return {
allowed: false,
decisionReason: {
type: "safetyCheck",
reason: safetyCheck.message,
classifierApprovable: safetyCheck.classifierApprovable
}
};
}
}
const isInWorkingDir = pathInAllowedWorkingPath(resolvedPath, context3, precomputedPathsToCheck);
if (isInWorkingDir) {
if (operationType === "read" || context3.mode === "acceptEdits") {
return { allowed: true };
}
}
if (operationType === "read") {
const internalReadResult = checkReadableInternalPath(resolvedPath, {});
if (internalReadResult.behavior === "allow") {
return {
allowed: true,
decisionReason: internalReadResult.decisionReason
};
}
}
if (operationType !== "read" && !isInWorkingDir && isPathInSandboxWriteAllowlist(resolvedPath)) {
return {
allowed: true,
decisionReason: {
type: "other",
reason: "Path is in sandbox write allowlist"
}
};
}
const allowRule = matchingRuleForInput(resolvedPath, context3, permissionType, "allow");
if (allowRule !== null) {
return {
allowed: true,
decisionReason: { type: "rule", rule: allowRule }
};
}
return { allowed: false };
}
function validateGlobPattern(cleanPath, cwd2, toolPermissionContext, operationType) {
if (containsPathTraversal(cleanPath)) {
const absolutePath = isAbsolute7(cleanPath) ? cleanPath : resolve14(cwd2, cleanPath);
const { resolvedPath: resolvedPath2, isCanonical: isCanonical2 } = safeResolvePath(getFsImplementation(), absolutePath);
const result2 = isPathAllowed(resolvedPath2, toolPermissionContext, operationType, isCanonical2 ? [resolvedPath2] : undefined);
return {
allowed: result2.allowed,
resolvedPath: resolvedPath2,
decisionReason: result2.decisionReason
};
}
const basePath = getGlobBaseDirectory(cleanPath);
const absoluteBasePath = isAbsolute7(basePath) ? basePath : resolve14(cwd2, basePath);
const { resolvedPath, isCanonical } = safeResolvePath(getFsImplementation(), absoluteBasePath);
const result = isPathAllowed(resolvedPath, toolPermissionContext, operationType, isCanonical ? [resolvedPath] : undefined);
return {
allowed: result.allowed,
resolvedPath,
decisionReason: result.decisionReason
};
}
function isDangerousRemovalPath(resolvedPath) {
const forwardSlashed = resolvedPath.replace(/[\\/]+/g, "/");
if (forwardSlashed === "*" || forwardSlashed.endsWith("/*")) {
return true;
}
const normalizedPath = forwardSlashed === "/" ? forwardSlashed : forwardSlashed.replace(/\/$/, "");
if (normalizedPath === "/") {
return true;
}
if (WINDOWS_DRIVE_ROOT_REGEX.test(normalizedPath)) {
return true;
}
const normalizedHome = homedir12().replace(/[\\/]+/g, "/");
if (normalizedPath === normalizedHome) {
return true;
}
const parentDir = dirname16(normalizedPath);
if (parentDir === "/") {
return true;
}
if (WINDOWS_DRIVE_CHILD_REGEX.test(normalizedPath)) {
return true;
}
return false;
}
function validatePath(path14, cwd2, toolPermissionContext, operationType) {
const cleanPath = expandTilde(path14.replace(/^['"]|['"]$/g, ""));
if (containsVulnerableUncPath(cleanPath)) {
return {
allowed: false,
resolvedPath: cleanPath,
decisionReason: {
type: "other",
reason: "UNC network paths require manual approval"
}
};
}
if (cleanPath.startsWith("~")) {
return {
allowed: false,
resolvedPath: cleanPath,
decisionReason: {
type: "other",
reason: "Tilde expansion variants (~user, ~+, ~-) in paths require manual approval"
}
};
}
if (cleanPath.includes("$") || cleanPath.includes("%") || cleanPath.startsWith("=")) {
return {
allowed: false,
resolvedPath: cleanPath,
decisionReason: {
type: "other",
reason: "Shell expansion syntax in paths requires manual approval"
}
};
}
if (GLOB_PATTERN_REGEX.test(cleanPath)) {
if (operationType === "write" || operationType === "create") {
return {
allowed: false,
resolvedPath: cleanPath,
decisionReason: {
type: "other",
reason: "Glob patterns are not allowed in write operations. Please specify an exact file path."
}
};
}
return validateGlobPattern(cleanPath, cwd2, toolPermissionContext, operationType);
}
const absolutePath = isAbsolute7(cleanPath) ? cleanPath : resolve14(cwd2, cleanPath);
const { resolvedPath, isCanonical } = safeResolvePath(getFsImplementation(), absolutePath);
const result = isPathAllowed(resolvedPath, toolPermissionContext, operationType, isCanonical ? [resolvedPath] : undefined);
return {
allowed: result.allowed,
resolvedPath,
decisionReason: result.decisionReason
};
}
var MAX_DIRS_TO_LIST = 5, GLOB_PATTERN_REGEX, getResolvedSandboxConfigPath, WINDOWS_DRIVE_ROOT_REGEX, WINDOWS_DRIVE_CHILD_REGEX;
var init_pathValidation = __esm(() => {
init_memoize();
init_platform2();
init_fsOperations();
init_path2();
init_sandbox_adapter();
init_readOnlyCommandValidation();
init_filesystem();
GLOB_PATTERN_REGEX = /[*?[\]{}]/;
getResolvedSandboxConfigPath = memoize_default(getPathsForPermissionCheck);
WINDOWS_DRIVE_ROOT_REGEX = /^[A-Za-z]:\/?$/;
WINDOWS_DRIVE_CHILD_REGEX = /^[A-Za-z]:\/[^/]+$/;
});
// src/utils/plugins/pluginDirectories.ts
import { mkdirSync as mkdirSync3 } from "fs";
import { readdir as readdir8, rm, stat as stat16 } from "fs/promises";
import { delimiter, join as join38 } from "path";
function getPluginsDirectoryName() {
if (getUseCoworkPlugins()) {
return COWORK_PLUGINS_DIR;
}
if (isEnvTruthy(process.env.CLAUDE_CODE_USE_COWORK_PLUGINS)) {
return COWORK_PLUGINS_DIR;
}
return PLUGINS_DIR;
}
function getPluginsDirectory() {
const envOverride = process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR;
if (envOverride) {
return expandTilde(envOverride);
}
return join38(getClaudeConfigHomeDir(), getPluginsDirectoryName());
}
function getPluginSeedDirs() {
const raw = process.env.CLAUDE_CODE_PLUGIN_SEED_DIR;
if (!raw)
return [];
return raw.split(delimiter).filter(Boolean).map(expandTilde);
}
function sanitizePluginId(pluginId) {
return pluginId.replace(/[^a-zA-Z0-9\-_]/g, "-");
}
function pluginDataDirPath(pluginId) {
return join38(getPluginsDirectory(), "data", sanitizePluginId(pluginId));
}
function getPluginDataDir(pluginId) {
const dir = pluginDataDirPath(pluginId);
mkdirSync3(dir, { recursive: true });
return dir;
}
async function getPluginDataDirSize(pluginId) {
const dir = pluginDataDirPath(pluginId);
let bytes = 0;
const walk = async (p) => {
for (const entry of await readdir8(p, { withFileTypes: true })) {
const full = join38(p, entry.name);
if (entry.isDirectory()) {
await walk(full);
} else {
try {
bytes += (await stat16(full)).size;
} catch {}
}
}
};
try {
await walk(dir);
} catch (e2) {
if (isFsInaccessible(e2))
return null;
throw e2;
}
if (bytes === 0)
return null;
return { bytes, human: formatFileSize(bytes) };
}
async function deletePluginDataDir(pluginId) {
const dir = pluginDataDirPath(pluginId);
try {
await rm(dir, { recursive: true, force: true });
} catch (e2) {
logForDebugging(`Failed to delete plugin data dir ${dir}: ${errorMessage(e2)}`, { level: "warn" });
}
}
var PLUGINS_DIR = "plugins", COWORK_PLUGINS_DIR = "cowork_plugins";
var init_pluginDirectories = __esm(() => {
init_state();
init_debug();
init_envUtils();
init_errors();
init_format();
init_pathValidation();
});
// src/utils/plugins/pluginOptionsStorage.ts
function getPluginStorageId(plugin) {
return plugin.source;
}
function clearPluginOptionsCache() {
loadPluginOptions.cache?.clear?.();
}
function savePluginOptions(pluginId, values2, schema) {
const nonSensitive = {};
const sensitive = {};
for (const [key, value] of Object.entries(values2)) {
if (schema[key]?.sensitive === true) {
sensitive[key] = String(value);
} else {
nonSensitive[key] = value;
}
}
const sensitiveKeysInThisSave = new Set(Object.keys(sensitive));
const nonSensitiveKeysInThisSave = new Set(Object.keys(nonSensitive));
const storage = getSecureStorage();
const existingInSecureStorage = storage.read()?.pluginSecrets?.[pluginId] ?? undefined;
const secureScrubbed = existingInSecureStorage ? Object.fromEntries(Object.entries(existingInSecureStorage).filter(([k2]) => !nonSensitiveKeysInThisSave.has(k2))) : undefined;
const needSecureScrub = secureScrubbed && existingInSecureStorage && Object.keys(secureScrubbed).length !== Object.keys(existingInSecureStorage).length;
if (Object.keys(sensitive).length > 0 || needSecureScrub) {
const existing = storage.read() ?? {};
if (!existing.pluginSecrets) {
existing.pluginSecrets = {};
}
existing.pluginSecrets[pluginId] = {
...secureScrubbed,
...sensitive
};
const result = storage.update(existing);
if (!result.success) {
const err2 = new Error(`Failed to save sensitive plugin options for ${pluginId} to secure storage`);
logError2(err2);
throw err2;
}
if (result.warning) {
logForDebugging(`Plugin secrets save warning: ${result.warning}`, {
level: "warn"
});
}
}
const settings = getSettings_DEPRECATED();
const existingInSettings = settings.pluginConfigs?.[pluginId]?.options ?? {};
const keysToScrubFromSettings = Object.keys(existingInSettings).filter((k2) => sensitiveKeysInThisSave.has(k2));
if (Object.keys(nonSensitive).length > 0 || keysToScrubFromSettings.length > 0) {
if (!settings.pluginConfigs) {
settings.pluginConfigs = {};
}
if (!settings.pluginConfigs[pluginId]) {
settings.pluginConfigs[pluginId] = {};
}
const scrubbed = Object.fromEntries(keysToScrubFromSettings.map((k2) => [k2, undefined]));
settings.pluginConfigs[pluginId].options = {
...nonSensitive,
...scrubbed
};
const result = updateSettingsForSource("userSettings", settings);
if (result.error) {
logError2(result.error);
throw new Error(`Failed to save plugin options for ${pluginId}: ${result.error.message}`);
}
}
clearPluginOptionsCache();
}
function deletePluginOptions(pluginId) {
const settings = getSettings_DEPRECATED();
if (settings.pluginConfigs?.[pluginId]) {
const pluginConfigs = { [pluginId]: undefined };
const { error: error52 } = updateSettingsForSource("userSettings", {
pluginConfigs
});
if (error52) {
logForDebugging(`deletePluginOptions: failed to clear settings.pluginConfigs[${pluginId}]: ${error52.message}`, { level: "warn" });
}
}
const storage = getSecureStorage();
const existing = storage.read();
if (existing?.pluginSecrets) {
const prefix = `${pluginId}/`;
const survivingEntries = Object.entries(existing.pluginSecrets).filter(([k2]) => k2 !== pluginId && !k2.startsWith(prefix));
if (survivingEntries.length !== Object.keys(existing.pluginSecrets).length) {
const result = storage.update({
...existing,
pluginSecrets: survivingEntries.length > 0 ? Object.fromEntries(survivingEntries) : undefined
});
if (!result.success) {
logForDebugging(`deletePluginOptions: failed to clear pluginSecrets for ${pluginId} from keychain`, { level: "warn" });
}
}
}
clearPluginOptionsCache();
}
function getUnconfiguredOptions(plugin) {
const manifestSchema = plugin.manifest.userConfig;
if (!manifestSchema || Object.keys(manifestSchema).length === 0) {
return {};
}
const saved = loadPluginOptions(getPluginStorageId(plugin));
const validation = validateUserConfig(saved, manifestSchema);
if (validation.valid) {
return {};
}
const unconfigured = {};
for (const [key, fieldSchema] of Object.entries(manifestSchema)) {
const single = validateUserConfig({ [key]: saved[key] }, { [key]: fieldSchema });
if (!single.valid) {
unconfigured[key] = fieldSchema;
}
}
return unconfigured;
}
function substitutePluginVariables(value, plugin) {
const normalize8 = (p) => process.platform === "win32" ? p.replace(/\\/g, "/") : p;
let out = value.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, () => normalize8(plugin.path));
if (plugin.source) {
const source = plugin.source;
out = out.replace(/\$\{CLAUDE_PLUGIN_DATA\}/g, () => normalize8(getPluginDataDir(source)));
}
return out;
}
function substituteUserConfigVariables(value, userConfig) {
return value.replace(/\$\{user_config\.([^}]+)\}/g, (_match, key) => {
const configValue = userConfig[key];
if (configValue === undefined) {
throw new Error(`Missing required user configuration value: ${key}. ` + `This should have been validated before variable substitution.`);
}
return String(configValue);
});
}
function substituteUserConfigInContent(content, options, schema) {
return content.replace(/\$\{user_config\.([^}]+)\}/g, (match, key) => {
if (schema[key]?.sensitive === true) {
return `[sensitive option '${key}' not available in skill content]`;
}
const value = options[key];
if (value === undefined) {
return match;
}
return String(value);
});
}
var loadPluginOptions;
var init_pluginOptionsStorage = __esm(() => {
init_memoize();
init_debug();
init_log3();
init_secureStorage();
init_settings2();
init_mcpbHandler();
init_pluginDirectories();
loadPluginOptions = memoize_default((pluginId) => {
const settings = getSettings_DEPRECATED();
const nonSensitive = settings.pluginConfigs?.[pluginId]?.options ?? {};
const storage = getSecureStorage();
const sensitive = storage.read()?.pluginSecrets?.[pluginId] ?? {};
return { ...nonSensitive, ...sensitive };
});
});
// src/utils/settings/pluginOnlyPolicy.ts
function isRestrictedToPluginOnly(surface) {
const policy = getSettingsForSource("policySettings")?.strictPluginOnlyCustomization;
if (policy === true)
return true;
if (Array.isArray(policy))
return policy.includes(surface);
return false;
}
function isSourceAdminTrusted(source) {
return source !== undefined && ADMIN_TRUSTED_SOURCES.has(source);
}
var ADMIN_TRUSTED_SOURCES;
var init_pluginOnlyPolicy = __esm(() => {
init_settings2();
ADMIN_TRUSTED_SOURCES = new Set([
"plugin",
"policySettings",
"built-in",
"builtin",
"bundled"
]);
});
// src/utils/hooks/hooksConfigSnapshot.ts
function getHooksFromAllowedSources() {
const policySettings = getSettingsForSource("policySettings");
if (policySettings?.disableAllHooks === true) {
return {};
}
if (policySettings?.allowManagedHooksOnly === true) {
return policySettings.hooks ?? {};
}
if (isRestrictedToPluginOnly("hooks")) {
return policySettings?.hooks ?? {};
}
const mergedSettings = getSettings_DEPRECATED();
if (mergedSettings.disableAllHooks === true) {
return policySettings?.hooks ?? {};
}
return mergedSettings.hooks ?? {};
}
function shouldAllowManagedHooksOnly() {
const policySettings = getSettingsForSource("policySettings");
if (policySettings?.allowManagedHooksOnly === true) {
return true;
}
if (getSettings_DEPRECATED().disableAllHooks === true && policySettings?.disableAllHooks !== true) {
return true;
}
return false;
}
function shouldDisableAllHooksIncludingManaged() {
return getSettingsForSource("policySettings")?.disableAllHooks === true;
}
function captureHooksConfigSnapshot() {
initialHooksConfig = getHooksFromAllowedSources();
}
function updateHooksConfigSnapshot() {
resetSettingsCache();
initialHooksConfig = getHooksFromAllowedSources();
}
function getHooksConfigFromSnapshot() {
if (initialHooksConfig === null) {
captureHooksConfigSnapshot();
}
return initialHooksConfig;
}
var initialHooksConfig = null;
var init_hooksConfigSnapshot = __esm(() => {
init_state();
init_pluginOnlyPolicy();
init_settings2();
init_settingsCache();
});
// src/utils/taggedId.ts
function base58Encode(n2) {
const base2 = BigInt(BASE_58_CHARS.length);
const result = new Array(ENCODED_LENGTH).fill(BASE_58_CHARS[0]);
let i4 = ENCODED_LENGTH - 1;
let value = n2;
while (value > 0n) {
const rem = Number(value % base2);
result[i4] = BASE_58_CHARS[rem];
value = value / base2;
i4--;
}
return result.join("");
}
function uuidToBigInt(uuid8) {
const hex3 = uuid8.replace(/-/g, "");
if (hex3.length !== 32) {
throw new Error(`Invalid UUID hex length: ${hex3.length}`);
}
return BigInt("0x" + hex3);
}
function toTaggedId(tag, uuid8) {
const n2 = uuidToBigInt(uuid8);
return `${tag}_${VERSION4}${base58Encode(n2)}`;
}
var BASE_58_CHARS = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz", VERSION4 = "01", ENCODED_LENGTH = 22;
// src/utils/telemetryAttributes.ts
function shouldIncludeAttribute(envVar) {
const defaultValue = METRICS_CARDINALITY_DEFAULTS[envVar];
const envValue = process.env[envVar];
if (envValue === undefined) {
return defaultValue;
}
return isEnvTruthy(envValue);
}
function getTelemetryAttributes() {
const userId = getOrCreateUserID();
const sessionId = getSessionId();
const attributes = {
"user.id": userId
};
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_SESSION_ID")) {
attributes["session.id"] = sessionId;
}
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
attributes["app.version"] = MACRO.VERSION;
}
const oauthAccount = getOauthAccountInfo();
if (oauthAccount) {
const orgId = oauthAccount.organizationUuid;
const email3 = oauthAccount.emailAddress;
const accountUuid = oauthAccount.accountUuid;
if (orgId)
attributes["organization.id"] = orgId;
if (email3)
attributes["user.email"] = email3;
if (accountUuid && shouldIncludeAttribute("OTEL_METRICS_INCLUDE_ACCOUNT_UUID")) {
attributes["user.account_uuid"] = accountUuid;
attributes["user.account_id"] = process.env.CLAUDE_CODE_ACCOUNT_TAGGED_ID || toTaggedId("user", accountUuid);
}
}
if (envDynamic.terminal) {
attributes["terminal.type"] = envDynamic.terminal;
}
return attributes;
}
var METRICS_CARDINALITY_DEFAULTS;
var init_telemetryAttributes = __esm(() => {
init_state();
init_auth2();
init_config();
init_envDynamic();
init_envUtils();
METRICS_CARDINALITY_DEFAULTS = {
OTEL_METRICS_INCLUDE_SESSION_ID: true,
OTEL_METRICS_INCLUDE_VERSION: false,
OTEL_METRICS_INCLUDE_ACCOUNT_UUID: true
};
});
// src/utils/telemetry/events.ts
function isUserPromptLoggingEnabled() {
return isEnvTruthy(process.env.OTEL_LOG_USER_PROMPTS);
}
function redactIfDisabled(content) {
return isUserPromptLoggingEnabled() ? content : "";
}
async function logOTelEvent(eventName, metadata = {}) {
const eventLogger = getEventLogger();
if (!eventLogger) {
if (!hasWarnedNoEventLogger) {
hasWarnedNoEventLogger = true;
logForDebugging(`[3P telemetry] Event dropped (no event logger initialized): ${eventName}`, { level: "warn" });
}
return;
}
if (false) {}
const attributes = {
...getTelemetryAttributes(),
"event.name": eventName,
"event.timestamp": new Date().toISOString(),
"event.sequence": eventSequence++
};
const promptId = getPromptId();
if (promptId) {
attributes["prompt.id"] = promptId;
}
const workspaceDir = process.env.CLAUDE_CODE_WORKSPACE_HOST_PATHS;
if (workspaceDir) {
attributes["workspace.host_paths"] = workspaceDir.split("|");
}
for (const [key, value] of Object.entries(metadata)) {
if (value !== undefined) {
attributes[key] = value;
}
}
eventLogger.emit({
body: `claude_code.${eventName}`,
attributes
});
}
var eventSequence = 0, hasWarnedNoEventLogger = false;
var init_events = __esm(() => {
init_state();
init_debug();
init_envUtils();
init_telemetryAttributes();
});
// src/utils/telemetry/betaSessionTracing.ts
import { createHash as createHash6 } from "crypto";
function clearBetaTracingState() {
seenHashes.clear();
lastReportedMessageHash.clear();
}
function isBetaTracingEnabled() {
const baseEnabled = isEnvTruthy(process.env.ENABLE_BETA_TRACING_DETAILED) && Boolean(process.env.BETA_TRACING_ENDPOINT);
if (!baseEnabled) {
return false;
}
if (process.env.USER_TYPE !== "ant") {
return getIsNonInteractiveSession() || getFeatureValue_CACHED_MAY_BE_STALE("tengu_trace_lantern", false);
}
return true;
}
function truncateContent(content, maxSize = MAX_CONTENT_SIZE) {
if (content.length <= maxSize) {
return { content, truncated: false };
}
return {
content: content.slice(0, maxSize) + `
[TRUNCATED - Content exceeds 60KB limit]`,
truncated: true
};
}
function shortHash(content) {
return createHash6("sha256").update(content).digest("hex").slice(0, 12);
}
function hashSystemPrompt(systemPrompt) {
return `sp_${shortHash(systemPrompt)}`;
}
function hashMessage(message) {
const content = jsonStringify(message.message.content);
return `msg_${shortHash(content)}`;
}
function extractSystemReminderContent(text) {
const match = text.trim().match(SYSTEM_REMINDER_REGEX);
return match && match[1] ? match[1].trim() : null;
}
function formatMessagesForContext(messages) {
const contextParts = [];
const systemReminders = [];
for (const message of messages) {
const content = message.message.content;
if (typeof content === "string") {
const reminderContent = extractSystemReminderContent(content);
if (reminderContent) {
systemReminders.push(reminderContent);
} else {
contextParts.push(`[USER]
${content}`);
}
} else if (Array.isArray(content)) {
for (const block of content) {
if (block.type === "text") {
const reminderContent = extractSystemReminderContent(block.text);
if (reminderContent) {
systemReminders.push(reminderContent);
} else {
contextParts.push(`[USER]
${block.text}`);
}
} else if (block.type === "tool_result") {
const resultContent = typeof block.content === "string" ? block.content : jsonStringify(block.content);
const reminderContent = extractSystemReminderContent(resultContent);
if (reminderContent) {
systemReminders.push(reminderContent);
} else {
contextParts.push(`[TOOL RESULT: ${block.tool_use_id}]
${resultContent}`);
}
}
}
}
}
return { contextParts, systemReminders };
}
function addBetaInteractionAttributes(span, userPrompt) {
if (!isBetaTracingEnabled()) {
return;
}
const { content: truncatedPrompt, truncated } = truncateContent(`[USER PROMPT]
${userPrompt}`);
span.setAttributes({
new_context: truncatedPrompt,
...truncated && {
new_context_truncated: true,
new_context_original_length: userPrompt.length
}
});
}
function addBetaLLMRequestAttributes(span, newContext, messagesForAPI) {
if (!isBetaTracingEnabled()) {
return;
}
if (newContext?.systemPrompt) {
const promptHash = hashSystemPrompt(newContext.systemPrompt);
const preview = newContext.systemPrompt.slice(0, 500);
span.setAttribute("system_prompt_hash", promptHash);
span.setAttribute("system_prompt_preview", preview);
span.setAttribute("system_prompt_length", newContext.systemPrompt.length);
if (!seenHashes.has(promptHash)) {
seenHashes.add(promptHash);
const { content: truncatedPrompt, truncated } = truncateContent(newContext.systemPrompt);
logOTelEvent("system_prompt", {
system_prompt_hash: promptHash,
system_prompt: truncatedPrompt,
system_prompt_length: String(newContext.systemPrompt.length),
...truncated && { system_prompt_truncated: "true" }
});
}
}
if (newContext?.tools) {
try {
const toolsArray = jsonParse(newContext.tools);
const toolsWithHashes = toolsArray.map((tool) => {
const toolJson = jsonStringify(tool);
const toolHash = shortHash(toolJson);
return {
name: typeof tool.name === "string" ? tool.name : "unknown",
hash: toolHash,
json: toolJson
};
});
span.setAttribute("tools", jsonStringify(toolsWithHashes.map(({ name: name3, hash: hash3 }) => ({ name: name3, hash: hash3 }))));
span.setAttribute("tools_count", toolsWithHashes.length);
for (const { name: name3, hash: hash3, json: json2 } of toolsWithHashes) {
if (!seenHashes.has(`tool_${hash3}`)) {
seenHashes.add(`tool_${hash3}`);
const { content: truncatedTool, truncated } = truncateContent(json2);
logOTelEvent("tool", {
tool_name: sanitizeToolNameForAnalytics(name3),
tool_hash: hash3,
tool: truncatedTool,
...truncated && { tool_truncated: "true" }
});
}
}
} catch {
span.setAttribute("tools_parse_error", true);
}
}
if (messagesForAPI && messagesForAPI.length > 0 && newContext?.querySource) {
const querySource = newContext.querySource;
const lastHash = lastReportedMessageHash.get(querySource);
let startIndex = 0;
if (lastHash) {
for (let i4 = 0;i4 < messagesForAPI.length; i4++) {
const msg = messagesForAPI[i4];
if (msg && hashMessage(msg) === lastHash) {
startIndex = i4 + 1;
break;
}
}
}
const newMessages = messagesForAPI.slice(startIndex).filter((m3) => m3.type === "user");
if (newMessages.length > 0) {
const { contextParts, systemReminders } = formatMessagesForContext(newMessages);
if (contextParts.length > 0) {
const fullContext = contextParts.join(`
---
`);
const { content: truncatedContext, truncated } = truncateContent(fullContext);
span.setAttributes({
new_context: truncatedContext,
new_context_message_count: newMessages.length,
...truncated && {
new_context_truncated: true,
new_context_original_length: fullContext.length
}
});
}
if (systemReminders.length > 0) {
const fullReminders = systemReminders.join(`
---
`);
const { content: truncatedReminders, truncated: remindersTruncated } = truncateContent(fullReminders);
span.setAttributes({
system_reminders: truncatedReminders,
system_reminders_count: systemReminders.length,
...remindersTruncated && {
system_reminders_truncated: true,
system_reminders_original_length: fullReminders.length
}
});
}
const lastMessage = messagesForAPI[messagesForAPI.length - 1];
if (lastMessage) {
lastReportedMessageHash.set(querySource, hashMessage(lastMessage));
}
}
}
}
function addBetaLLMResponseAttributes(endAttributes, metadata) {
if (!isBetaTracingEnabled() || !metadata) {
return;
}
if (metadata.modelOutput !== undefined) {
const { content: modelOutput, truncated: outputTruncated } = truncateContent(metadata.modelOutput);
endAttributes["response.model_output"] = modelOutput;
if (outputTruncated) {
endAttributes["response.model_output_truncated"] = true;
endAttributes["response.model_output_original_length"] = metadata.modelOutput.length;
}
}
if (process.env.USER_TYPE === "ant" && metadata.thinkingOutput !== undefined) {
const { content: thinkingOutput, truncated: thinkingTruncated } = truncateContent(metadata.thinkingOutput);
endAttributes["response.thinking_output"] = thinkingOutput;
if (thinkingTruncated) {
endAttributes["response.thinking_output_truncated"] = true;
endAttributes["response.thinking_output_original_length"] = metadata.thinkingOutput.length;
}
}
}
function addBetaToolInputAttributes(span, toolName, toolInput) {
if (!isBetaTracingEnabled()) {
return;
}
const { content: truncatedInput, truncated } = truncateContent(`[TOOL INPUT: ${toolName}]
${toolInput}`);
span.setAttributes({
tool_input: truncatedInput,
...truncated && {
tool_input_truncated: true,
tool_input_original_length: toolInput.length
}
});
}
function addBetaToolResultAttributes(endAttributes, toolName, toolResult) {
if (!isBetaTracingEnabled()) {
return;
}
const { content: truncatedResult, truncated } = truncateContent(`[TOOL RESULT: ${toolName}]
${toolResult}`);
endAttributes["new_context"] = truncatedResult;
if (truncated) {
endAttributes["new_context_truncated"] = true;
endAttributes["new_context_original_length"] = toolResult.length;
}
}
var seenHashes, lastReportedMessageHash, MAX_CONTENT_SIZE, SYSTEM_REMINDER_REGEX;
var init_betaSessionTracing = __esm(() => {
init_state();
init_growthbook();
init_metadata();
init_envUtils();
init_slowOperations();
init_events();
seenHashes = new Set;
lastReportedMessageHash = new Map;
MAX_CONTENT_SIZE = 60 * 1024;
SYSTEM_REMINDER_REGEX = /^\n?([\s\S]*?)\n?<\/system-reminder>$/;
});
// src/utils/telemetry/perfettoTracing.ts
function stringToNumericHash(str) {
return Math.abs(djb2Hash(str)) || 1;
}
function getProcessIdForAgent(agentId) {
const existing = agentIdToProcessId.get(agentId);
if (existing !== undefined)
return existing;
processIdCounter++;
agentIdToProcessId.set(agentId, processIdCounter);
return processIdCounter;
}
function getCurrentAgentInfo() {
const agentId = getAgentId() ?? getSessionId();
const agentName = getAgentName() ?? "main";
const parentSessionId = getParentSessionId2();
const existing = agentRegistry.get(agentId);
if (existing)
return existing;
const info = {
agentId,
agentName,
parentAgentId: parentSessionId,
processId: agentId === getSessionId() ? 1 : getProcessIdForAgent(agentId),
threadId: stringToNumericHash(agentName)
};
agentRegistry.set(agentId, info);
totalAgentCount++;
return info;
}
function getTimestamp() {
return (Date.now() - startTimeMs) * 1000;
}
function generateSpanId() {
return `span_${++spanIdCounter}`;
}
function initializePerfettoTracing() {
const envValue = process.env.CLAUDE_CODE_PERFETTO_TRACE;
logForDebugging(`[Perfetto] initializePerfettoTracing called, env value: ${envValue}`);
if (false) {}
}
function emitProcessMetadata(agentInfo) {
if (!isEnabled)
return;
metadataEvents.push({
name: "process_name",
cat: "__metadata",
ph: "M",
ts: 0,
pid: agentInfo.processId,
tid: 0,
args: { name: agentInfo.agentName }
});
metadataEvents.push({
name: "thread_name",
cat: "__metadata",
ph: "M",
ts: 0,
pid: agentInfo.processId,
tid: agentInfo.threadId,
args: { name: agentInfo.agentName }
});
if (agentInfo.parentAgentId) {
metadataEvents.push({
name: "parent_agent",
cat: "__metadata",
ph: "M",
ts: 0,
pid: agentInfo.processId,
tid: 0,
args: {
parent_agent_id: agentInfo.parentAgentId
}
});
}
}
function isPerfettoTracingEnabled() {
return isEnabled;
}
function registerAgent(agentId, agentName, parentAgentId) {
if (!isEnabled)
return;
const info = {
agentId,
agentName,
parentAgentId,
processId: getProcessIdForAgent(agentId),
threadId: stringToNumericHash(agentName)
};
agentRegistry.set(agentId, info);
totalAgentCount++;
emitProcessMetadata(info);
}
function unregisterAgent(agentId) {
if (!isEnabled)
return;
agentRegistry.delete(agentId);
agentIdToProcessId.delete(agentId);
}
function startLLMRequestPerfettoSpan(args) {
if (!isEnabled)
return "";
const spanId = generateSpanId();
const agentInfo = getCurrentAgentInfo();
pendingSpans.set(spanId, {
name: "API Call",
category: "api",
startTime: getTimestamp(),
agentInfo,
args: {
model: args.model,
prompt_tokens: args.promptTokens,
message_id: args.messageId,
is_speculative: args.isSpeculative ?? false,
query_source: args.querySource
}
});
events.push({
name: "API Call",
cat: "api",
ph: "B",
ts: pendingSpans.get(spanId).startTime,
pid: agentInfo.processId,
tid: agentInfo.threadId,
args: pendingSpans.get(spanId).args
});
return spanId;
}
function endLLMRequestPerfettoSpan(spanId, metadata) {
if (!isEnabled || !spanId)
return;
const pending = pendingSpans.get(spanId);
if (!pending)
return;
const endTime = getTimestamp();
const duration3 = endTime - pending.startTime;
const promptTokens = metadata.promptTokens ?? pending.args.prompt_tokens;
const ttftMs = metadata.ttftMs;
const ttltMs = metadata.ttltMs;
const outputTokens = metadata.outputTokens;
const cacheReadTokens = metadata.cacheReadTokens;
const itps = ttftMs !== undefined && promptTokens !== undefined && ttftMs > 0 ? Math.round(promptTokens / (ttftMs / 1000) * 100) / 100 : undefined;
const samplingMs = ttltMs !== undefined && ttftMs !== undefined ? ttltMs - ttftMs : undefined;
const otps = samplingMs !== undefined && outputTokens !== undefined && samplingMs > 0 ? Math.round(outputTokens / (samplingMs / 1000) * 100) / 100 : undefined;
const cacheHitRate = cacheReadTokens !== undefined && promptTokens !== undefined && promptTokens > 0 ? Math.round(cacheReadTokens / promptTokens * 1e4) / 100 : undefined;
const requestSetupMs = metadata.requestSetupMs;
const attemptStartTimes = metadata.attemptStartTimes;
const args = {
...pending.args,
ttft_ms: ttftMs,
ttlt_ms: ttltMs,
prompt_tokens: promptTokens,
output_tokens: outputTokens,
cache_read_tokens: cacheReadTokens,
cache_creation_tokens: metadata.cacheCreationTokens,
message_id: metadata.messageId ?? pending.args.message_id,
success: metadata.success ?? true,
error: metadata.error,
duration_ms: duration3 / 1000,
request_setup_ms: requestSetupMs,
itps,
otps,
cache_hit_rate_pct: cacheHitRate
};
const setupUs = requestSetupMs !== undefined && requestSetupMs > 0 ? requestSetupMs * 1000 : 0;
if (setupUs > 0) {
const setupEndTs = pending.startTime + setupUs;
events.push({
name: "Request Setup",
cat: "api,setup",
ph: "B",
ts: pending.startTime,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args: {
request_setup_ms: requestSetupMs,
attempt_count: attemptStartTimes?.length ?? 1
}
});
if (attemptStartTimes && attemptStartTimes.length > 1) {
const baseWallMs = attemptStartTimes[0];
for (let i4 = 0;i4 < attemptStartTimes.length - 1; i4++) {
const attemptStartUs = pending.startTime + (attemptStartTimes[i4] - baseWallMs) * 1000;
const attemptEndUs = pending.startTime + (attemptStartTimes[i4 + 1] - baseWallMs) * 1000;
events.push({
name: `Attempt ${i4 + 1} (retry)`,
cat: "api,retry",
ph: "B",
ts: attemptStartUs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args: { attempt: i4 + 1 }
});
events.push({
name: `Attempt ${i4 + 1} (retry)`,
cat: "api,retry",
ph: "E",
ts: attemptEndUs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId
});
}
}
events.push({
name: "Request Setup",
cat: "api,setup",
ph: "E",
ts: setupEndTs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId
});
}
if (ttftMs !== undefined) {
const firstTokenStartTs = pending.startTime + setupUs;
const firstTokenEndTs = firstTokenStartTs + ttftMs * 1000;
events.push({
name: "First Token",
cat: "api,ttft",
ph: "B",
ts: firstTokenStartTs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args: {
ttft_ms: ttftMs,
prompt_tokens: promptTokens,
itps,
cache_hit_rate_pct: cacheHitRate
}
});
events.push({
name: "First Token",
cat: "api,ttft",
ph: "E",
ts: firstTokenEndTs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId
});
const actualSamplingMs = ttltMs !== undefined ? ttltMs - ttftMs - setupUs / 1000 : undefined;
if (actualSamplingMs !== undefined && actualSamplingMs > 0) {
events.push({
name: "Sampling",
cat: "api,sampling",
ph: "B",
ts: firstTokenEndTs,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args: {
sampling_ms: actualSamplingMs,
output_tokens: outputTokens,
otps
}
});
events.push({
name: "Sampling",
cat: "api,sampling",
ph: "E",
ts: firstTokenEndTs + actualSamplingMs * 1000,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId
});
}
}
events.push({
name: pending.name,
cat: pending.category,
ph: "E",
ts: endTime,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args
});
pendingSpans.delete(spanId);
}
function startToolPerfettoSpan(toolName, args) {
if (!isEnabled)
return "";
const spanId = generateSpanId();
const agentInfo = getCurrentAgentInfo();
pendingSpans.set(spanId, {
name: `Tool: ${toolName}`,
category: "tool",
startTime: getTimestamp(),
agentInfo,
args: {
tool_name: toolName,
...args
}
});
events.push({
name: `Tool: ${toolName}`,
cat: "tool",
ph: "B",
ts: pendingSpans.get(spanId).startTime,
pid: agentInfo.processId,
tid: agentInfo.threadId,
args: pendingSpans.get(spanId).args
});
return spanId;
}
function endToolPerfettoSpan(spanId, metadata) {
if (!isEnabled || !spanId)
return;
const pending = pendingSpans.get(spanId);
if (!pending)
return;
const endTime = getTimestamp();
const duration3 = endTime - pending.startTime;
const args = {
...pending.args,
success: metadata?.success ?? true,
error: metadata?.error,
result_tokens: metadata?.resultTokens,
duration_ms: duration3 / 1000
};
events.push({
name: pending.name,
cat: pending.category,
ph: "E",
ts: endTime,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args
});
pendingSpans.delete(spanId);
}
function startUserInputPerfettoSpan(context3) {
if (!isEnabled)
return "";
const spanId = generateSpanId();
const agentInfo = getCurrentAgentInfo();
pendingSpans.set(spanId, {
name: "Waiting for User Input",
category: "user_input",
startTime: getTimestamp(),
agentInfo,
args: {
context: context3
}
});
events.push({
name: "Waiting for User Input",
cat: "user_input",
ph: "B",
ts: pendingSpans.get(spanId).startTime,
pid: agentInfo.processId,
tid: agentInfo.threadId,
args: pendingSpans.get(spanId).args
});
return spanId;
}
function endUserInputPerfettoSpan(spanId, metadata) {
if (!isEnabled || !spanId)
return;
const pending = pendingSpans.get(spanId);
if (!pending)
return;
const endTime = getTimestamp();
const duration3 = endTime - pending.startTime;
const args = {
...pending.args,
decision: metadata?.decision,
source: metadata?.source,
duration_ms: duration3 / 1000
};
events.push({
name: pending.name,
cat: pending.category,
ph: "E",
ts: endTime,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args
});
pendingSpans.delete(spanId);
}
function startInteractionPerfettoSpan(userPrompt) {
if (!isEnabled)
return "";
const spanId = generateSpanId();
const agentInfo = getCurrentAgentInfo();
pendingSpans.set(spanId, {
name: "Interaction",
category: "interaction",
startTime: getTimestamp(),
agentInfo,
args: {
user_prompt_length: userPrompt?.length
}
});
events.push({
name: "Interaction",
cat: "interaction",
ph: "B",
ts: pendingSpans.get(spanId).startTime,
pid: agentInfo.processId,
tid: agentInfo.threadId,
args: pendingSpans.get(spanId).args
});
return spanId;
}
function endInteractionPerfettoSpan(spanId) {
if (!isEnabled || !spanId)
return;
const pending = pendingSpans.get(spanId);
if (!pending)
return;
const endTime = getTimestamp();
const duration3 = endTime - pending.startTime;
events.push({
name: pending.name,
cat: pending.category,
ph: "E",
ts: endTime,
pid: pending.agentInfo.processId,
tid: pending.agentInfo.threadId,
args: {
...pending.args,
duration_ms: duration3 / 1000
}
});
pendingSpans.delete(spanId);
}
var isEnabled = false, metadataEvents, events, pendingSpans, agentRegistry, totalAgentCount = 0, startTimeMs = 0, spanIdCounter = 0, processIdCounter = 1, agentIdToProcessId, STALE_SPAN_TTL_MS, STALE_SPAN_CLEANUP_INTERVAL_MS;
var init_perfettoTracing = __esm(() => {
init_state();
init_cleanupRegistry();
init_debug();
init_envUtils();
init_errors();
init_slowOperations();
init_teammate();
metadataEvents = [];
events = [];
pendingSpans = new Map;
agentRegistry = new Map;
agentIdToProcessId = new Map;
STALE_SPAN_TTL_MS = 30 * 60 * 1000;
STALE_SPAN_CLEANUP_INTERVAL_MS = 60 * 1000;
});
// src/utils/telemetry/sessionTracing.ts
import { AsyncLocalStorage as AsyncLocalStorage5 } from "async_hooks";
function getSpanId(span) {
return span.spanContext().spanId || "";
}
function ensureCleanupInterval() {
if (_cleanupIntervalStarted)
return;
_cleanupIntervalStarted = true;
const interval = setInterval(() => {
const cutoff = Date.now() - SPAN_TTL_MS;
for (const [spanId, weakRef] of activeSpans) {
const ctx = weakRef.deref();
if (ctx === undefined) {
activeSpans.delete(spanId);
strongSpans.delete(spanId);
} else if (ctx.startTime < cutoff) {
if (!ctx.ended)
ctx.span.end();
activeSpans.delete(spanId);
strongSpans.delete(spanId);
}
}
}, 60000);
if (typeof interval.unref === "function") {
interval.unref();
}
}
function isEnhancedTelemetryEnabled() {
if (false) {}
return false;
}
function isAnyTracingEnabled() {
return isEnhancedTelemetryEnabled() || isBetaTracingEnabled();
}
function getTracer() {
return import_api.trace.getTracer("com.anthropic.claude_code.tracing", "1.0.0");
}
function createSpanAttributes(spanType, customAttributes = {}) {
const baseAttributes = getTelemetryAttributes();
const attributes = {
...baseAttributes,
"span.type": spanType,
...customAttributes
};
return attributes;
}
function startInteractionSpan(userPrompt) {
ensureCleanupInterval();
const perfettoSpanId = isPerfettoTracingEnabled() ? startInteractionPerfettoSpan(userPrompt) : undefined;
if (!isAnyTracingEnabled()) {
if (perfettoSpanId) {
const dummySpan = import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
const spanId2 = getSpanId(dummySpan);
const spanContextObj2 = {
span: dummySpan,
startTime: Date.now(),
attributes: {},
perfettoSpanId
};
activeSpans.set(spanId2, new WeakRef(spanContextObj2));
interactionContext.enterWith(spanContextObj2);
return dummySpan;
}
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const isUserPromptLoggingEnabled2 = isEnvTruthy(process.env.OTEL_LOG_USER_PROMPTS);
const promptToLog = isUserPromptLoggingEnabled2 ? userPrompt : "";
interactionSequence++;
const attributes = createSpanAttributes("interaction", {
user_prompt: promptToLog,
user_prompt_length: userPrompt.length,
"interaction.sequence": interactionSequence
});
const span = tracer.startSpan("claude_code.interaction", {
attributes
});
addBetaInteractionAttributes(span, userPrompt);
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes,
perfettoSpanId
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
interactionContext.enterWith(spanContextObj);
return span;
}
function endInteractionSpan() {
const spanContext = interactionContext.getStore();
if (!spanContext) {
return;
}
if (spanContext.ended) {
return;
}
if (spanContext.perfettoSpanId) {
endInteractionPerfettoSpan(spanContext.perfettoSpanId);
}
if (!isAnyTracingEnabled()) {
spanContext.ended = true;
activeSpans.delete(getSpanId(spanContext.span));
interactionContext.enterWith(undefined);
return;
}
const duration3 = Date.now() - spanContext.startTime;
spanContext.span.setAttributes({
"interaction.duration_ms": duration3
});
spanContext.span.end();
spanContext.ended = true;
activeSpans.delete(getSpanId(spanContext.span));
interactionContext.enterWith(undefined);
}
function startLLMRequestSpan(model, newContext, messagesForAPI, fastMode) {
const perfettoSpanId = isPerfettoTracingEnabled() ? startLLMRequestPerfettoSpan({
model,
querySource: newContext?.querySource,
messageId: undefined
}) : undefined;
if (!isAnyTracingEnabled()) {
if (perfettoSpanId) {
const dummySpan = import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
const spanId2 = getSpanId(dummySpan);
const spanContextObj2 = {
span: dummySpan,
startTime: Date.now(),
attributes: { model },
perfettoSpanId
};
activeSpans.set(spanId2, new WeakRef(spanContextObj2));
strongSpans.set(spanId2, spanContextObj2);
return dummySpan;
}
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const parentSpanCtx = interactionContext.getStore();
const attributes = createSpanAttributes("llm_request", {
model,
"llm_request.context": parentSpanCtx ? "interaction" : "standalone",
speed: fastMode ? "fast" : "normal"
});
const ctx = parentSpanCtx ? import_api.trace.setSpan(import_api.context.active(), parentSpanCtx.span) : import_api.context.active();
const span = tracer.startSpan("claude_code.llm_request", { attributes }, ctx);
if (newContext?.querySource) {
span.setAttribute("query_source", newContext.querySource);
}
addBetaLLMRequestAttributes(span, newContext, messagesForAPI);
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes,
perfettoSpanId
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
strongSpans.set(spanId, spanContextObj);
return span;
}
function endLLMRequestSpan(span, metadata) {
let llmSpanContext;
if (span) {
const spanId2 = getSpanId(span);
llmSpanContext = activeSpans.get(spanId2)?.deref();
} else {
llmSpanContext = Array.from(activeSpans.values()).findLast((r2) => {
const ctx = r2.deref();
return ctx?.attributes["span.type"] === "llm_request" || ctx?.attributes["model"];
})?.deref();
}
if (!llmSpanContext) {
return;
}
const duration3 = Date.now() - llmSpanContext.startTime;
if (llmSpanContext.perfettoSpanId) {
endLLMRequestPerfettoSpan(llmSpanContext.perfettoSpanId, {
ttftMs: metadata?.ttftMs,
ttltMs: duration3,
promptTokens: metadata?.inputTokens,
outputTokens: metadata?.outputTokens,
cacheReadTokens: metadata?.cacheReadTokens,
cacheCreationTokens: metadata?.cacheCreationTokens,
success: metadata?.success,
error: metadata?.error,
requestSetupMs: metadata?.requestSetupMs,
attemptStartTimes: metadata?.attemptStartTimes
});
}
if (!isAnyTracingEnabled()) {
const spanId2 = getSpanId(llmSpanContext.span);
activeSpans.delete(spanId2);
strongSpans.delete(spanId2);
return;
}
const endAttributes = {
duration_ms: duration3
};
if (metadata) {
if (metadata.inputTokens !== undefined)
endAttributes["input_tokens"] = metadata.inputTokens;
if (metadata.outputTokens !== undefined)
endAttributes["output_tokens"] = metadata.outputTokens;
if (metadata.cacheReadTokens !== undefined)
endAttributes["cache_read_tokens"] = metadata.cacheReadTokens;
if (metadata.cacheCreationTokens !== undefined)
endAttributes["cache_creation_tokens"] = metadata.cacheCreationTokens;
if (metadata.success !== undefined)
endAttributes["success"] = metadata.success;
if (metadata.statusCode !== undefined)
endAttributes["status_code"] = metadata.statusCode;
if (metadata.error !== undefined)
endAttributes["error"] = metadata.error;
if (metadata.attempt !== undefined)
endAttributes["attempt"] = metadata.attempt;
if (metadata.hasToolCall !== undefined)
endAttributes["response.has_tool_call"] = metadata.hasToolCall;
if (metadata.ttftMs !== undefined)
endAttributes["ttft_ms"] = metadata.ttftMs;
addBetaLLMResponseAttributes(endAttributes, metadata);
}
llmSpanContext.span.setAttributes(endAttributes);
llmSpanContext.span.end();
const spanId = getSpanId(llmSpanContext.span);
activeSpans.delete(spanId);
strongSpans.delete(spanId);
}
function startToolSpan(toolName, toolAttributes, toolInput) {
const perfettoSpanId = isPerfettoTracingEnabled() ? startToolPerfettoSpan(toolName, toolAttributes) : undefined;
if (!isAnyTracingEnabled()) {
if (perfettoSpanId) {
const dummySpan = import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
const spanId2 = getSpanId(dummySpan);
const spanContextObj2 = {
span: dummySpan,
startTime: Date.now(),
attributes: { "span.type": "tool", tool_name: toolName },
perfettoSpanId
};
activeSpans.set(spanId2, new WeakRef(spanContextObj2));
toolContext.enterWith(spanContextObj2);
return dummySpan;
}
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const parentSpanCtx = interactionContext.getStore();
const attributes = createSpanAttributes("tool", {
tool_name: toolName,
...toolAttributes
});
const ctx = parentSpanCtx ? import_api.trace.setSpan(import_api.context.active(), parentSpanCtx.span) : import_api.context.active();
const span = tracer.startSpan("claude_code.tool", { attributes }, ctx);
if (toolInput) {
addBetaToolInputAttributes(span, toolName, toolInput);
}
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes,
perfettoSpanId
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
toolContext.enterWith(spanContextObj);
return span;
}
function startToolBlockedOnUserSpan() {
const perfettoSpanId = isPerfettoTracingEnabled() ? startUserInputPerfettoSpan("tool_permission") : undefined;
if (!isAnyTracingEnabled()) {
if (perfettoSpanId) {
const dummySpan = import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
const spanId2 = getSpanId(dummySpan);
const spanContextObj2 = {
span: dummySpan,
startTime: Date.now(),
attributes: { "span.type": "tool.blocked_on_user" },
perfettoSpanId
};
activeSpans.set(spanId2, new WeakRef(spanContextObj2));
strongSpans.set(spanId2, spanContextObj2);
return dummySpan;
}
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const parentSpanCtx = toolContext.getStore();
const attributes = createSpanAttributes("tool.blocked_on_user");
const ctx = parentSpanCtx ? import_api.trace.setSpan(import_api.context.active(), parentSpanCtx.span) : import_api.context.active();
const span = tracer.startSpan("claude_code.tool.blocked_on_user", { attributes }, ctx);
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes,
perfettoSpanId
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
strongSpans.set(spanId, spanContextObj);
return span;
}
function endToolBlockedOnUserSpan(decision, source) {
const blockedSpanContext = Array.from(activeSpans.values()).findLast((r2) => r2.deref()?.attributes["span.type"] === "tool.blocked_on_user")?.deref();
if (!blockedSpanContext) {
return;
}
if (blockedSpanContext.perfettoSpanId) {
endUserInputPerfettoSpan(blockedSpanContext.perfettoSpanId, {
decision,
source
});
}
if (!isAnyTracingEnabled()) {
const spanId2 = getSpanId(blockedSpanContext.span);
activeSpans.delete(spanId2);
strongSpans.delete(spanId2);
return;
}
const duration3 = Date.now() - blockedSpanContext.startTime;
const attributes = {
duration_ms: duration3
};
if (decision) {
attributes["decision"] = decision;
}
if (source) {
attributes["source"] = source;
}
blockedSpanContext.span.setAttributes(attributes);
blockedSpanContext.span.end();
const spanId = getSpanId(blockedSpanContext.span);
activeSpans.delete(spanId);
strongSpans.delete(spanId);
}
function startToolExecutionSpan() {
if (!isAnyTracingEnabled()) {
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const parentSpanCtx = toolContext.getStore();
const attributes = createSpanAttributes("tool.execution");
const ctx = parentSpanCtx ? import_api.trace.setSpan(import_api.context.active(), parentSpanCtx.span) : import_api.context.active();
const span = tracer.startSpan("claude_code.tool.execution", { attributes }, ctx);
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
strongSpans.set(spanId, spanContextObj);
return span;
}
function endToolExecutionSpan(metadata) {
if (!isAnyTracingEnabled()) {
return;
}
const executionSpanContext = Array.from(activeSpans.values()).findLast((r2) => r2.deref()?.attributes["span.type"] === "tool.execution")?.deref();
if (!executionSpanContext) {
return;
}
const duration3 = Date.now() - executionSpanContext.startTime;
const attributes = {
duration_ms: duration3
};
if (metadata) {
if (metadata.success !== undefined)
attributes["success"] = metadata.success;
if (metadata.error !== undefined)
attributes["error"] = metadata.error;
}
executionSpanContext.span.setAttributes(attributes);
executionSpanContext.span.end();
const spanId = getSpanId(executionSpanContext.span);
activeSpans.delete(spanId);
strongSpans.delete(spanId);
}
function endToolSpan(toolResult, resultTokens) {
const toolSpanContext = toolContext.getStore();
if (!toolSpanContext) {
return;
}
if (toolSpanContext.perfettoSpanId) {
endToolPerfettoSpan(toolSpanContext.perfettoSpanId, {
success: true,
resultTokens
});
}
if (!isAnyTracingEnabled()) {
const spanId2 = getSpanId(toolSpanContext.span);
activeSpans.delete(spanId2);
toolContext.enterWith(undefined);
return;
}
const duration3 = Date.now() - toolSpanContext.startTime;
const endAttributes = {
duration_ms: duration3
};
if (toolResult) {
const toolName = toolSpanContext.attributes["tool_name"] || "unknown";
addBetaToolResultAttributes(endAttributes, toolName, toolResult);
}
if (resultTokens !== undefined) {
endAttributes["result_tokens"] = resultTokens;
}
toolSpanContext.span.setAttributes(endAttributes);
toolSpanContext.span.end();
const spanId = getSpanId(toolSpanContext.span);
activeSpans.delete(spanId);
toolContext.enterWith(undefined);
}
function isToolContentLoggingEnabled() {
return isEnvTruthy(process.env.OTEL_LOG_TOOL_CONTENT);
}
function addToolContentEvent(eventName, attributes) {
if (!isAnyTracingEnabled() || !isToolContentLoggingEnabled()) {
return;
}
const currentSpanCtx = toolContext.getStore();
if (!currentSpanCtx) {
return;
}
const processedAttributes = {};
for (const [key, value] of Object.entries(attributes)) {
if (typeof value === "string") {
const { content, truncated } = truncateContent(value);
processedAttributes[key] = content;
if (truncated) {
processedAttributes[`${key}_truncated`] = true;
processedAttributes[`${key}_original_length`] = value.length;
}
} else {
processedAttributes[key] = value;
}
}
currentSpanCtx.span.addEvent(eventName, processedAttributes);
}
function startHookSpan(hookEvent, hookName, numHooks, hookDefinitions) {
if (!isBetaTracingEnabled()) {
return import_api.trace.getActiveSpan() || getTracer().startSpan("dummy");
}
const tracer = getTracer();
const parentSpanCtx = toolContext.getStore() ?? interactionContext.getStore();
const attributes = createSpanAttributes("hook", {
hook_event: hookEvent,
hook_name: hookName,
num_hooks: numHooks,
hook_definitions: hookDefinitions
});
const ctx = parentSpanCtx ? import_api.trace.setSpan(import_api.context.active(), parentSpanCtx.span) : import_api.context.active();
const span = tracer.startSpan("claude_code.hook", { attributes }, ctx);
const spanId = getSpanId(span);
const spanContextObj = {
span,
startTime: Date.now(),
attributes
};
activeSpans.set(spanId, new WeakRef(spanContextObj));
strongSpans.set(spanId, spanContextObj);
return span;
}
function endHookSpan(span, metadata) {
if (!isBetaTracingEnabled()) {
return;
}
const spanId = getSpanId(span);
const spanContext = activeSpans.get(spanId)?.deref();
if (!spanContext) {
return;
}
const duration3 = Date.now() - spanContext.startTime;
const endAttributes = {
duration_ms: duration3
};
if (metadata) {
if (metadata.numSuccess !== undefined)
endAttributes["num_success"] = metadata.numSuccess;
if (metadata.numBlocking !== undefined)
endAttributes["num_blocking"] = metadata.numBlocking;
if (metadata.numNonBlockingError !== undefined)
endAttributes["num_non_blocking_error"] = metadata.numNonBlockingError;
if (metadata.numCancelled !== undefined)
endAttributes["num_cancelled"] = metadata.numCancelled;
}
spanContext.span.setAttributes(endAttributes);
spanContext.span.end();
activeSpans.delete(spanId);
strongSpans.delete(spanId);
}
var import_api, interactionContext, toolContext, activeSpans, strongSpans, interactionSequence = 0, _cleanupIntervalStarted = false, SPAN_TTL_MS;
var init_sessionTracing = __esm(() => {
init_growthbook();
init_envUtils();
init_telemetryAttributes();
init_betaSessionTracing();
init_perfettoTracing();
import_api = __toESM(require_src6(), 1);
interactionContext = new AsyncLocalStorage5;
toolContext = new AsyncLocalStorage5;
activeSpans = new Map;
strongSpans = new Map;
SPAN_TTL_MS = 30 * 60 * 1000;
});
// src/utils/permissions/PermissionRule.ts
var permissionBehaviorSchema, permissionRuleValueSchema;
var init_PermissionRule = __esm(() => {
init_v4();
permissionBehaviorSchema = lazySchema(() => v4_default.enum(["allow", "deny", "ask"]));
permissionRuleValueSchema = lazySchema(() => v4_default.object({
toolName: v4_default.string(),
ruleContent: v4_default.string().optional()
}));
});
// src/utils/permissions/PermissionUpdateSchema.ts
var permissionUpdateDestinationSchema, permissionUpdateSchema;
var init_PermissionUpdateSchema = __esm(() => {
init_v4();
init_PermissionMode();
init_PermissionRule();
permissionUpdateDestinationSchema = lazySchema(() => v4_default.enum([
"userSettings",
"projectSettings",
"localSettings",
"session",
"cliArg"
]));
permissionUpdateSchema = lazySchema(() => v4_default.discriminatedUnion("type", [
v4_default.object({
type: v4_default.literal("addRules"),
rules: v4_default.array(permissionRuleValueSchema()),
behavior: permissionBehaviorSchema(),
destination: permissionUpdateDestinationSchema()
}),
v4_default.object({
type: v4_default.literal("replaceRules"),
rules: v4_default.array(permissionRuleValueSchema()),
behavior: permissionBehaviorSchema(),
destination: permissionUpdateDestinationSchema()
}),
v4_default.object({
type: v4_default.literal("removeRules"),
rules: v4_default.array(permissionRuleValueSchema()),
behavior: permissionBehaviorSchema(),
destination: permissionUpdateDestinationSchema()
}),
v4_default.object({
type: v4_default.literal("setMode"),
mode: externalPermissionModeSchema(),
destination: permissionUpdateDestinationSchema()
}),
v4_default.object({
type: v4_default.literal("addDirectories"),
directories: v4_default.array(v4_default.string()),
destination: permissionUpdateDestinationSchema()
}),
v4_default.object({
type: v4_default.literal("removeDirectories"),
directories: v4_default.array(v4_default.string()),
destination: permissionUpdateDestinationSchema()
})
]));
});
// src/types/hooks.ts
function isSyncHookJSONOutput(json2) {
return !(("async" in json2) && json2.async === true);
}
function isAsyncHookJSONOutput(json2) {
return "async" in json2 && json2.async === true;
}
var promptRequestSchema, syncHookResponseSchema, hookJSONOutputSchema;
var init_hooks2 = __esm(() => {
init_v4();
init_agentSdkTypes();
init_PermissionRule();
init_PermissionUpdateSchema();
promptRequestSchema = lazySchema(() => exports_external.object({
prompt: exports_external.string(),
message: exports_external.string(),
options: exports_external.array(exports_external.object({
key: exports_external.string(),
label: exports_external.string(),
description: exports_external.string().optional()
}))
}));
syncHookResponseSchema = lazySchema(() => exports_external.object({
continue: exports_external.boolean().describe("Whether Claude should continue after hook (default: true)").optional(),
suppressOutput: exports_external.boolean().describe("Hide stdout from transcript (default: false)").optional(),
stopReason: exports_external.string().describe("Message shown when continue is false").optional(),
decision: exports_external.enum(["approve", "block"]).optional(),
reason: exports_external.string().describe("Explanation for the decision").optional(),
systemMessage: exports_external.string().describe("Warning message shown to the user").optional(),
hookSpecificOutput: exports_external.union([
exports_external.object({
hookEventName: exports_external.literal("PreToolUse"),
permissionDecision: permissionBehaviorSchema().optional(),
permissionDecisionReason: exports_external.string().optional(),
updatedInput: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("UserPromptSubmit"),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("SessionStart"),
additionalContext: exports_external.string().optional(),
initialUserMessage: exports_external.string().optional(),
watchPaths: exports_external.array(exports_external.string()).describe("Absolute paths to watch for FileChanged hooks").optional()
}),
exports_external.object({
hookEventName: exports_external.literal("Setup"),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("SubagentStart"),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("PostToolUse"),
additionalContext: exports_external.string().optional(),
updatedMCPToolOutput: exports_external.unknown().describe("Updates the output for MCP tools").optional()
}),
exports_external.object({
hookEventName: exports_external.literal("PostToolUseFailure"),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("PermissionDenied"),
retry: exports_external.boolean().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("Notification"),
additionalContext: exports_external.string().optional()
}),
exports_external.object({
hookEventName: exports_external.literal("PermissionRequest"),
decision: exports_external.union([
exports_external.object({
behavior: exports_external.literal("allow"),
updatedInput: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
updatedPermissions: exports_external.array(permissionUpdateSchema()).optional()
}),
exports_external.object({
behavior: exports_external.literal("deny"),
message: exports_external.string().optional(),
interrupt: exports_external.boolean().optional()
})
])
}),
exports_external.object({
hookEventName: exports_external.literal("Elicitation"),
action: exports_external.enum(["accept", "decline", "cancel"]).optional(),
content: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
}),
exports_external.object({
hookEventName: exports_external.literal("ElicitationResult"),
action: exports_external.enum(["accept", "decline", "cancel"]).optional(),
content: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
}),
exports_external.object({
hookEventName: exports_external.literal("CwdChanged"),
watchPaths: exports_external.array(exports_external.string()).describe("Absolute paths to watch for FileChanged hooks").optional()
}),
exports_external.object({
hookEventName: exports_external.literal("FileChanged"),
watchPaths: exports_external.array(exports_external.string()).describe("Absolute paths to watch for FileChanged hooks").optional()
}),
exports_external.object({
hookEventName: exports_external.literal("WorktreeCreate"),
worktreePath: exports_external.string()
})
]).optional()
}));
hookJSONOutputSchema = lazySchema(() => {
const asyncHookResponseSchema = exports_external.object({
async: exports_external.literal(true),
asyncTimeout: exports_external.number().optional()
});
return exports_external.union([asyncHookResponseSchema, syncHookResponseSchema()]);
});
});
// src/utils/hooks/sessionHooks.ts
function addSessionHook(setAppState, sessionId, event, matcher, hook, onHookSuccess, skillRoot) {
addHookToSession(setAppState, sessionId, event, matcher, hook, onHookSuccess, skillRoot);
}
function addFunctionHook(setAppState, sessionId, event, matcher, callback, errorMessage2, options) {
const id = options?.id || `function-hook-${Date.now()}-${Math.random()}`;
const hook = {
type: "function",
id,
timeout: options?.timeout || 5000,
callback,
errorMessage: errorMessage2
};
addHookToSession(setAppState, sessionId, event, matcher, hook);
return id;
}
function addHookToSession(setAppState, sessionId, event, matcher, hook, onHookSuccess, skillRoot) {
setAppState((prev) => {
const store = prev.sessionHooks.get(sessionId) ?? { hooks: {} };
const eventMatchers = store.hooks[event] || [];
const existingMatcherIndex = eventMatchers.findIndex((m3) => m3.matcher === matcher && m3.skillRoot === skillRoot);
let updatedMatchers;
if (existingMatcherIndex >= 0) {
updatedMatchers = [...eventMatchers];
const existingMatcher = updatedMatchers[existingMatcherIndex];
updatedMatchers[existingMatcherIndex] = {
matcher: existingMatcher.matcher,
skillRoot: existingMatcher.skillRoot,
hooks: [...existingMatcher.hooks, { hook, onHookSuccess }]
};
} else {
updatedMatchers = [
...eventMatchers,
{
matcher,
skillRoot,
hooks: [{ hook, onHookSuccess }]
}
];
}
const newHooks = { ...store.hooks, [event]: updatedMatchers };
prev.sessionHooks.set(sessionId, { hooks: newHooks });
return prev;
});
logForDebugging(`Added session hook for event ${event} in session ${sessionId}`);
}
function removeSessionHook(setAppState, sessionId, event, hook) {
setAppState((prev) => {
const store = prev.sessionHooks.get(sessionId);
if (!store) {
return prev;
}
const eventMatchers = store.hooks[event] || [];
const updatedMatchers = eventMatchers.map((matcher) => {
const updatedHooks = matcher.hooks.filter((h3) => !isHookEqual(h3.hook, hook));
return updatedHooks.length > 0 ? { ...matcher, hooks: updatedHooks } : null;
}).filter((m3) => m3 !== null);
const newHooks = updatedMatchers.length > 0 ? { ...store.hooks, [event]: updatedMatchers } : { ...store.hooks };
if (updatedMatchers.length === 0) {
delete newHooks[event];
}
prev.sessionHooks.set(sessionId, { ...store, hooks: newHooks });
return prev;
});
logForDebugging(`Removed session hook for event ${event} in session ${sessionId}`);
}
function convertToHookMatchers(sessionMatchers) {
return sessionMatchers.map((sm) => ({
matcher: sm.matcher,
skillRoot: sm.skillRoot,
hooks: sm.hooks.map((h3) => h3.hook).filter((h3) => h3.type !== "function")
}));
}
function getSessionHooks(appState, sessionId, event) {
const store = appState.sessionHooks.get(sessionId);
if (!store) {
return new Map;
}
const result = new Map;
if (event) {
const sessionMatchers = store.hooks[event];
if (sessionMatchers) {
result.set(event, convertToHookMatchers(sessionMatchers));
}
return result;
}
for (const evt of HOOK_EVENTS) {
const sessionMatchers = store.hooks[evt];
if (sessionMatchers) {
result.set(evt, convertToHookMatchers(sessionMatchers));
}
}
return result;
}
function getSessionFunctionHooks(appState, sessionId, event) {
const store = appState.sessionHooks.get(sessionId);
if (!store) {
return new Map;
}
const result = new Map;
const extractFunctionHooks = (sessionMatchers) => {
return sessionMatchers.map((sm) => ({
matcher: sm.matcher,
hooks: sm.hooks.map((h3) => h3.hook).filter((h3) => h3.type === "function")
})).filter((m3) => m3.hooks.length > 0);
};
if (event) {
const sessionMatchers = store.hooks[event];
if (sessionMatchers) {
const functionMatchers = extractFunctionHooks(sessionMatchers);
if (functionMatchers.length > 0) {
result.set(event, functionMatchers);
}
}
return result;
}
for (const evt of HOOK_EVENTS) {
const sessionMatchers = store.hooks[evt];
if (sessionMatchers) {
const functionMatchers = extractFunctionHooks(sessionMatchers);
if (functionMatchers.length > 0) {
result.set(evt, functionMatchers);
}
}
}
return result;
}
function getSessionHookCallback(appState, sessionId, event, matcher, hook) {
const store = appState.sessionHooks.get(sessionId);
if (!store) {
return;
}
const eventMatchers = store.hooks[event];
if (!eventMatchers) {
return;
}
for (const matcherEntry of eventMatchers) {
if (matcherEntry.matcher === matcher || matcher === "") {
const hookEntry = matcherEntry.hooks.find((h3) => isHookEqual(h3.hook, hook));
if (hookEntry) {
return hookEntry;
}
}
}
return;
}
function clearSessionHooks(setAppState, sessionId) {
setAppState((prev) => {
prev.sessionHooks.delete(sessionId);
return prev;
});
logForDebugging(`Cleared all session hooks for session ${sessionId}`);
}
var init_sessionHooks = __esm(() => {
init_agentSdkTypes();
init_debug();
init_hooksSettings();
});
// src/utils/hooks/hooksSettings.ts
import { resolve as resolve15 } from "path";
function isHookEqual(a2, b3) {
if (a2.type !== b3.type)
return false;
const sameIf = (x5, y3) => (x5.if ?? "") === (y3.if ?? "");
switch (a2.type) {
case "command":
return b3.type === "command" && a2.command === b3.command && (a2.shell ?? DEFAULT_HOOK_SHELL) === (b3.shell ?? DEFAULT_HOOK_SHELL) && sameIf(a2, b3);
case "prompt":
return b3.type === "prompt" && a2.prompt === b3.prompt && sameIf(a2, b3);
case "agent":
return b3.type === "agent" && a2.prompt === b3.prompt && sameIf(a2, b3);
case "http":
return b3.type === "http" && a2.url === b3.url && sameIf(a2, b3);
case "function":
return false;
}
}
function getHookDisplayText(hook) {
if ("statusMessage" in hook && hook.statusMessage) {
return hook.statusMessage;
}
switch (hook.type) {
case "command":
return hook.command;
case "prompt":
return hook.prompt;
case "agent":
return hook.prompt;
case "http":
return hook.url;
case "callback":
return "callback";
case "function":
return "function";
}
}
function getAllHooks(appState) {
const hooks = [];
const policySettings = getSettingsForSource("policySettings");
const restrictedToManagedOnly = policySettings?.allowManagedHooksOnly === true;
if (!restrictedToManagedOnly) {
const sources = [
"userSettings",
"projectSettings",
"localSettings"
];
const seenFiles = new Set;
for (const source of sources) {
const filePath = getSettingsFilePathForSource(source);
if (filePath) {
const resolvedPath = resolve15(filePath);
if (seenFiles.has(resolvedPath)) {
continue;
}
seenFiles.add(resolvedPath);
}
const sourceSettings = getSettingsForSource(source);
if (!sourceSettings?.hooks) {
continue;
}
for (const [event, matchers] of Object.entries(sourceSettings.hooks)) {
for (const matcher of matchers) {
for (const hookCommand of matcher.hooks) {
hooks.push({
event,
config: hookCommand,
matcher: matcher.matcher,
source
});
}
}
}
}
}
const sessionId = getSessionId();
const sessionHooks = getSessionHooks(appState, sessionId);
for (const [event, matchers] of sessionHooks.entries()) {
for (const matcher of matchers) {
for (const hookCommand of matcher.hooks) {
hooks.push({
event,
config: hookCommand,
matcher: matcher.matcher,
source: "sessionHook"
});
}
}
}
return hooks;
}
function hookSourceDescriptionDisplayString(source) {
switch (source) {
case "userSettings":
return "User settings (~/.claude/settings.json)";
case "projectSettings":
return "Project settings (.claude/settings.json)";
case "localSettings":
return "Local settings (.claude/settings.local.json)";
case "pluginHook":
return "Plugin hooks (~/.claude/plugins/*/hooks/hooks.json)";
case "sessionHook":
return "Session hooks (in-memory, temporary)";
case "builtinHook":
return "Built-in hooks (registered internally by Claude Code)";
default:
return source;
}
}
function hookSourceHeaderDisplayString(source) {
switch (source) {
case "userSettings":
return "User Settings";
case "projectSettings":
return "Project Settings";
case "localSettings":
return "Local Settings";
case "pluginHook":
return "Plugin Hooks";
case "sessionHook":
return "Session Hooks";
case "builtinHook":
return "Built-in Hooks";
default:
return source;
}
}
function hookSourceInlineDisplayString(source) {
switch (source) {
case "userSettings":
return "User";
case "projectSettings":
return "Project";
case "localSettings":
return "Local";
case "pluginHook":
return "Plugin";
case "sessionHook":
return "Session";
case "builtinHook":
return "Built-in";
default:
return source;
}
}
function sortMatchersByPriority(matchers, hooksByEventAndMatcher, selectedEvent) {
const sourcePriority = SOURCES.reduce((acc, source, index) => {
acc[source] = index;
return acc;
}, {});
return [...matchers].sort((a2, b3) => {
const aHooks = hooksByEventAndMatcher[selectedEvent]?.[a2] || [];
const bHooks = hooksByEventAndMatcher[selectedEvent]?.[b3] || [];
const aSources = Array.from(new Set(aHooks.map((h3) => h3.source)));
const bSources = Array.from(new Set(bHooks.map((h3) => h3.source)));
const getSourcePriority = (source) => source === "pluginHook" || source === "builtinHook" ? 999 : sourcePriority[source];
const aHighestPriority = Math.min(...aSources.map(getSourcePriority));
const bHighestPriority = Math.min(...bSources.map(getSourcePriority));
if (aHighestPriority !== bHighestPriority) {
return aHighestPriority - bHighestPriority;
}
return a2.localeCompare(b3);
});
}
var init_hooksSettings = __esm(() => {
init_state();
init_constants3();
init_settings2();
init_shellProvider();
init_sessionHooks();
});
// src/utils/abortController.ts
import { setMaxListeners as setMaxListeners2 } from "events";
function createAbortController(maxListeners = DEFAULT_MAX_LISTENERS) {
const controller = new AbortController;
setMaxListeners2(maxListeners, controller.signal);
return controller;
}
function propagateAbort(weakChild) {
const parent = this.deref();
weakChild.deref()?.abort(parent?.signal.reason);
}
function removeAbortHandler(weakHandler) {
const parent = this.deref();
const handler = weakHandler.deref();
if (parent && handler) {
parent.signal.removeEventListener("abort", handler);
}
}
function createChildAbortController(parent, maxListeners) {
const child = createAbortController(maxListeners);
if (parent.signal.aborted) {
child.abort(parent.signal.reason);
return child;
}
const weakChild = new WeakRef(child);
const weakParent = new WeakRef(parent);
const handler = propagateAbort.bind(weakParent, weakChild);
parent.signal.addEventListener("abort", handler, { once: true });
child.signal.addEventListener("abort", removeAbortHandler.bind(weakParent, new WeakRef(handler)), { once: true });
return child;
}
var DEFAULT_MAX_LISTENERS = 50;
var init_abortController = () => {};
// src/utils/combinedAbortSignal.ts
function createCombinedAbortSignal(signal, opts) {
const { signalB, timeoutMs } = opts ?? {};
const combined = createAbortController();
if (signal?.aborted || signalB?.aborted) {
combined.abort();
return { signal: combined.signal, cleanup: () => {} };
}
let timer;
const abortCombined = () => {
if (timer !== undefined)
clearTimeout(timer);
combined.abort();
};
if (timeoutMs !== undefined) {
timer = setTimeout(abortCombined, timeoutMs);
timer.unref?.();
}
signal?.addEventListener("abort", abortCombined);
signalB?.addEventListener("abort", abortCombined);
const cleanup = () => {
if (timer !== undefined)
clearTimeout(timer);
signal?.removeEventListener("abort", abortCombined);
signalB?.removeEventListener("abort", abortCombined);
};
return { signal: combined.signal, cleanup };
}
var init_combinedAbortSignal = __esm(() => {
init_abortController();
});
// src/utils/hooks/hookEvents.ts
function registerHookEventHandler(handler) {
eventHandler = handler;
if (handler && pendingEvents.length > 0) {
for (const event of pendingEvents.splice(0)) {
handler(event);
}
}
}
function emit(event) {
if (eventHandler) {
eventHandler(event);
} else {
pendingEvents.push(event);
if (pendingEvents.length > MAX_PENDING_EVENTS) {
pendingEvents.shift();
}
}
}
function shouldEmit(hookEvent) {
if (ALWAYS_EMITTED_HOOK_EVENTS.includes(hookEvent)) {
return true;
}
return allHookEventsEnabled && HOOK_EVENTS.includes(hookEvent);
}
function emitHookStarted(hookId, hookName, hookEvent) {
if (!shouldEmit(hookEvent))
return;
emit({
type: "started",
hookId,
hookName,
hookEvent
});
}
function emitHookProgress(data) {
if (!shouldEmit(data.hookEvent))
return;
emit({
type: "progress",
...data
});
}
function startHookProgressInterval(params) {
if (!shouldEmit(params.hookEvent))
return () => {};
let lastEmittedOutput = "";
const interval = setInterval(() => {
params.getOutput().then(({ stdout, stderr, output }) => {
if (output === lastEmittedOutput)
return;
lastEmittedOutput = output;
emitHookProgress({
hookId: params.hookId,
hookName: params.hookName,
hookEvent: params.hookEvent,
stdout,
stderr,
output
});
});
}, params.intervalMs ?? 1000);
interval.unref();
return () => clearInterval(interval);
}
function emitHookResponse(data) {
const outputToLog = data.stdout || data.stderr || data.output;
if (outputToLog) {
logForDebugging(`Hook ${data.hookName} (${data.hookEvent}) ${data.outcome}:
${outputToLog}`);
}
if (!shouldEmit(data.hookEvent))
return;
emit({
type: "response",
...data
});
}
function setAllHookEventsEnabled(enabled2) {
allHookEventsEnabled = enabled2;
}
var ALWAYS_EMITTED_HOOK_EVENTS, MAX_PENDING_EVENTS = 100, pendingEvents, eventHandler = null, allHookEventsEnabled = false;
var init_hookEvents = __esm(() => {
init_coreTypes();
init_debug();
ALWAYS_EMITTED_HOOK_EVENTS = ["SessionStart", "Setup"];
pendingEvents = [];
});
// src/utils/hooks/AsyncHookRegistry.ts
function registerPendingAsyncHook({
processId,
hookId,
asyncResponse,
hookName,
hookEvent,
command,
shellCommand,
toolName,
pluginId
}) {
const timeout = asyncResponse.asyncTimeout || 15000;
logForDebugging(`Hooks: Registering async hook ${processId} (${hookName}) with timeout ${timeout}ms`);
const stopProgressInterval = startHookProgressInterval({
hookId,
hookName,
hookEvent,
getOutput: async () => {
const taskOutput = pendingHooks.get(processId)?.shellCommand?.taskOutput;
if (!taskOutput) {
return { stdout: "", stderr: "", output: "" };
}
const stdout = await taskOutput.getStdout();
const stderr = taskOutput.getStderr();
return { stdout, stderr, output: stdout + stderr };
}
});
pendingHooks.set(processId, {
processId,
hookId,
hookName,
hookEvent,
toolName,
pluginId,
command,
startTime: Date.now(),
timeout,
responseAttachmentSent: false,
shellCommand,
stopProgressInterval
});
}
async function finalizeHook(hook, exitCode, outcome) {
hook.stopProgressInterval();
const taskOutput = hook.shellCommand?.taskOutput;
const stdout = taskOutput ? await taskOutput.getStdout() : "";
const stderr = taskOutput?.getStderr() ?? "";
hook.shellCommand?.cleanup();
emitHookResponse({
hookId: hook.hookId,
hookName: hook.hookName,
hookEvent: hook.hookEvent,
output: stdout + stderr,
stdout,
stderr,
exitCode,
outcome
});
}
async function checkForAsyncHookResponses() {
const responses = [];
const pendingCount = pendingHooks.size;
logForDebugging(`Hooks: Found ${pendingCount} total hooks in registry`);
const hooks = Array.from(pendingHooks.values());
const settled = await Promise.allSettled(hooks.map(async (hook) => {
const stdout = await hook.shellCommand?.taskOutput.getStdout() ?? "";
const stderr = hook.shellCommand?.taskOutput.getStderr() ?? "";
logForDebugging(`Hooks: Checking hook ${hook.processId} (${hook.hookName}) - attachmentSent: ${hook.responseAttachmentSent}, stdout length: ${stdout.length}`);
if (!hook.shellCommand) {
logForDebugging(`Hooks: Hook ${hook.processId} has no shell command, removing from registry`);
hook.stopProgressInterval();
return { type: "remove", processId: hook.processId };
}
logForDebugging(`Hooks: Hook shell status ${hook.shellCommand.status}`);
if (hook.shellCommand.status === "killed") {
logForDebugging(`Hooks: Hook ${hook.processId} is ${hook.shellCommand.status}, removing from registry`);
hook.stopProgressInterval();
hook.shellCommand.cleanup();
return { type: "remove", processId: hook.processId };
}
if (hook.shellCommand.status !== "completed") {
return { type: "skip" };
}
if (hook.responseAttachmentSent || !stdout.trim()) {
logForDebugging(`Hooks: Skipping hook ${hook.processId} - already delivered/sent or no stdout`);
hook.stopProgressInterval();
return { type: "remove", processId: hook.processId };
}
const lines = stdout.split(`
`);
logForDebugging(`Hooks: Processing ${lines.length} lines of stdout for ${hook.processId}`);
const execResult = await hook.shellCommand.result;
const exitCode = execResult.code;
let response = {};
for (const line of lines) {
if (line.trim().startsWith("{")) {
logForDebugging(`Hooks: Found JSON line: ${line.trim().substring(0, 100)}...`);
try {
const parsed = jsonParse(line.trim());
if (!("async" in parsed)) {
logForDebugging(`Hooks: Found sync response from ${hook.processId}: ${jsonStringify(parsed)}`);
response = parsed;
break;
}
} catch {
logForDebugging(`Hooks: Failed to parse JSON from ${hook.processId}: ${line.trim()}`);
}
}
}
hook.responseAttachmentSent = true;
await finalizeHook(hook, exitCode, exitCode === 0 ? "success" : "error");
return {
type: "response",
processId: hook.processId,
isSessionStart: hook.hookEvent === "SessionStart",
payload: {
processId: hook.processId,
response,
hookName: hook.hookName,
hookEvent: hook.hookEvent,
toolName: hook.toolName,
pluginId: hook.pluginId,
stdout,
stderr,
exitCode
}
};
}));
let sessionStartCompleted = false;
for (const s2 of settled) {
if (s2.status !== "fulfilled") {
logForDebugging(`Hooks: checkForAsyncHookResponses callback rejected: ${s2.reason}`, { level: "error" });
continue;
}
const r2 = s2.value;
if (r2.type === "remove") {
pendingHooks.delete(r2.processId);
} else if (r2.type === "response") {
responses.push(r2.payload);
pendingHooks.delete(r2.processId);
if (r2.isSessionStart)
sessionStartCompleted = true;
}
}
if (sessionStartCompleted) {
logForDebugging(`Invalidating session env cache after SessionStart hook completed`);
invalidateSessionEnvCache();
}
logForDebugging(`Hooks: checkForNewResponses returning ${responses.length} responses`);
return responses;
}
function removeDeliveredAsyncHooks(processIds) {
for (const processId of processIds) {
const hook = pendingHooks.get(processId);
if (hook && hook.responseAttachmentSent) {
logForDebugging(`Hooks: Removing delivered hook ${processId}`);
hook.stopProgressInterval();
pendingHooks.delete(processId);
}
}
}
async function finalizePendingAsyncHooks() {
const hooks = Array.from(pendingHooks.values());
await Promise.all(hooks.map(async (hook) => {
if (hook.shellCommand?.status === "completed") {
const result = await hook.shellCommand.result;
await finalizeHook(hook, result.code, result.code === 0 ? "success" : "error");
} else {
if (hook.shellCommand && hook.shellCommand.status !== "killed") {
hook.shellCommand.kill();
}
await finalizeHook(hook, 1, "cancelled");
}
}));
pendingHooks.clear();
}
var pendingHooks;
var init_AsyncHookRegistry = __esm(() => {
init_debug();
init_sessionEnvironment();
init_slowOperations();
init_hookEvents();
pendingHooks = new Map;
});
// node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/last.js
function last(array2) {
var length = array2 == null ? 0 : array2.length;
return length ? array2[length - 1] : undefined;
}
var last_default;
var init_last = __esm(() => {
last_default = last;
});
// src/buddy/types.ts
var RARITIES, c5, duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk, SPECIES, EYES, HATS, STAT_NAMES, RARITY_WEIGHTS;
var init_types3 = __esm(() => {
RARITIES = [
"common",
"uncommon",
"rare",
"epic",
"legendary"
];
c5 = String.fromCharCode;
duck = c5(100, 117, 99, 107);
goose = c5(103, 111, 111, 115, 101);
blob = c5(98, 108, 111, 98);
cat = c5(99, 97, 116);
dragon = c5(100, 114, 97, 103, 111, 110);
octopus = c5(111, 99, 116, 111, 112, 117, 115);
owl = c5(111, 119, 108);
penguin = c5(112, 101, 110, 103, 117, 105, 110);
turtle = c5(116, 117, 114, 116, 108, 101);
snail = c5(115, 110, 97, 105, 108);
ghost = c5(103, 104, 111, 115, 116);
axolotl = c5(97, 120, 111, 108, 111, 116, 108);
capybara = c5(99, 97, 112, 121, 98, 97, 114, 97);
cactus = c5(99, 97, 99, 116, 117, 115);
robot = c5(114, 111, 98, 111, 116);
rabbit = c5(114, 97, 98, 98, 105, 116);
mushroom = c5(109, 117, 115, 104, 114, 111, 111, 109);
chonk = c5(99, 104, 111, 110, 107);
SPECIES = [
duck,
goose,
blob,
cat,
dragon,
octopus,
owl,
penguin,
turtle,
snail,
ghost,
axolotl,
capybara,
cactus,
robot,
rabbit,
mushroom,
chonk
];
EYES = ["·", "✦", "×", "◉", "@", "°"];
HATS = [
"none",
"crown",
"tophat",
"propeller",
"halo",
"wizard",
"beanie",
"tinyduck"
];
STAT_NAMES = [
"DEBUGGING",
"PATIENCE",
"CHAOS",
"WISDOM",
"SNARK"
];
RARITY_WEIGHTS = {
common: 60,
uncommon: 25,
rare: 10,
epic: 4,
legendary: 1
};
});
// src/buddy/companion.ts
function mulberry32(seed) {
let a2 = seed >>> 0;
return function() {
a2 |= 0;
a2 = a2 + 1831565813 | 0;
let t2 = Math.imul(a2 ^ a2 >>> 15, 1 | a2);
t2 = t2 + Math.imul(t2 ^ t2 >>> 7, 61 | t2) ^ t2;
return ((t2 ^ t2 >>> 14) >>> 0) / 4294967296;
};
}
function hashString(s2) {
if (typeof Bun !== "undefined") {
return Number(BigInt(Bun.hash(s2)) & 0xffffffffn);
}
let h3 = 2166136261;
for (let i4 = 0;i4 < s2.length; i4++) {
h3 ^= s2.charCodeAt(i4);
h3 = Math.imul(h3, 16777619);
}
return h3 >>> 0;
}
function pick2(rng, arr) {
return arr[Math.floor(rng() * arr.length)];
}
function rollRarity(rng) {
const total = Object.values(RARITY_WEIGHTS).reduce((a2, b3) => a2 + b3, 0);
let roll = rng() * total;
for (const rarity of RARITIES) {
roll -= RARITY_WEIGHTS[rarity];
if (roll < 0)
return rarity;
}
return "common";
}
function rollStats(rng, rarity) {
const floor = RARITY_FLOOR[rarity];
const peak = pick2(rng, STAT_NAMES);
let dump = pick2(rng, STAT_NAMES);
while (dump === peak)
dump = pick2(rng, STAT_NAMES);
const stats = {};
for (const name3 of STAT_NAMES) {
if (name3 === peak) {
stats[name3] = Math.min(100, floor + 50 + Math.floor(rng() * 30));
} else if (name3 === dump) {
stats[name3] = Math.max(1, floor - 10 + Math.floor(rng() * 15));
} else {
stats[name3] = floor + Math.floor(rng() * 40);
}
}
return stats;
}
function rollFrom(rng) {
const rarity = rollRarity(rng);
const bones = {
rarity,
species: pick2(rng, SPECIES),
eye: pick2(rng, EYES),
hat: rarity === "common" ? "none" : pick2(rng, HATS),
shiny: rng() < 0.01,
stats: rollStats(rng, rarity)
};
return { bones, inspirationSeed: Math.floor(rng() * 1e9) };
}
function roll(userId) {
const key = userId + SALT;
if (rollCache?.key === key)
return rollCache.value;
const value = rollFrom(mulberry32(hashString(key)));
rollCache = { key, value };
return value;
}
function companionUserId() {
const config2 = getGlobalConfig();
return config2.oauthAccount?.accountUuid ?? config2.userID ?? "anon";
}
function getCompanion() {
const stored = getGlobalConfig().companion;
if (!stored)
return;
const { bones } = roll(companionUserId());
return { ...stored, ...bones };
}
var RARITY_FLOOR, SALT = "friend-2026-401", rollCache;
var init_companion = __esm(() => {
init_config();
init_types3();
RARITY_FLOOR = {
common: 5,
uncommon: 15,
rare: 25,
epic: 35,
legendary: 50
};
});
// src/buddy/prompt.ts
function companionIntroText(name3, species) {
return `# Companion
A small ${species} named ${name3} sits beside the user's input box and occasionally comments in a speech bubble. You're not ${name3} — it's a separate watcher.
When the user addresses ${name3} directly (by name), its bubble will answer. Your job in that moment is to stay out of the way: respond in ONE line or less, or just answer any part of the message meant for you. Don't explain that you're not ${name3} — they know. Don't narrate what ${name3} might say — the bubble handles that.`;
}
var init_prompt4 = __esm(() => {
init_config();
init_companion();
});
// src/constants/messages.ts
var NO_CONTENT_MESSAGE = "(no content)";
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/identity.js
var require_identity = __commonJS((exports) => {
var ALIAS = Symbol.for("yaml.alias");
var DOC = Symbol.for("yaml.document");
var MAP = Symbol.for("yaml.map");
var PAIR = Symbol.for("yaml.pair");
var SCALAR = Symbol.for("yaml.scalar");
var SEQ = Symbol.for("yaml.seq");
var NODE_TYPE = Symbol.for("yaml.node.type");
var isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS;
var isDocument = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC;
var isMap2 = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP;
var isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR;
var isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR;
var isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ;
function isCollection(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case MAP:
case SEQ:
return true;
}
return false;
}
function isNode2(node) {
if (node && typeof node === "object")
switch (node[NODE_TYPE]) {
case ALIAS:
case MAP:
case SCALAR:
case SEQ:
return true;
}
return false;
}
var hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
exports.ALIAS = ALIAS;
exports.DOC = DOC;
exports.MAP = MAP;
exports.NODE_TYPE = NODE_TYPE;
exports.PAIR = PAIR;
exports.SCALAR = SCALAR;
exports.SEQ = SEQ;
exports.hasAnchor = hasAnchor;
exports.isAlias = isAlias;
exports.isCollection = isCollection;
exports.isDocument = isDocument;
exports.isMap = isMap2;
exports.isNode = isNode2;
exports.isPair = isPair;
exports.isScalar = isScalar;
exports.isSeq = isSeq;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/visit.js
var require_visit = __commonJS((exports) => {
var identity4 = require_identity();
var BREAK = Symbol("break visit");
var SKIP = Symbol("skip children");
var REMOVE = Symbol("remove node");
function visit2(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity4.isDocument(node)) {
const cd = visit_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
visit_(null, node, visitor_, Object.freeze([]));
}
visit2.BREAK = BREAK;
visit2.SKIP = SKIP;
visit2.REMOVE = REMOVE;
function visit_(key, node, visitor, path14) {
const ctrl = callVisitor(key, node, visitor, path14);
if (identity4.isNode(ctrl) || identity4.isPair(ctrl)) {
replaceNode(key, path14, ctrl);
return visit_(key, ctrl, visitor, path14);
}
if (typeof ctrl !== "symbol") {
if (identity4.isCollection(node)) {
path14 = Object.freeze(path14.concat(node));
for (let i4 = 0;i4 < node.items.length; ++i4) {
const ci = visit_(i4, node.items[i4], visitor, path14);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i4, 1);
i4 -= 1;
}
}
} else if (identity4.isPair(node)) {
path14 = Object.freeze(path14.concat(node));
const ck = visit_("key", node.key, visitor, path14);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = visit_("value", node.value, visitor, path14);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
async function visitAsync(node, visitor) {
const visitor_ = initVisitor(visitor);
if (identity4.isDocument(node)) {
const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node]));
if (cd === REMOVE)
node.contents = null;
} else
await visitAsync_(null, node, visitor_, Object.freeze([]));
}
visitAsync.BREAK = BREAK;
visitAsync.SKIP = SKIP;
visitAsync.REMOVE = REMOVE;
async function visitAsync_(key, node, visitor, path14) {
const ctrl = await callVisitor(key, node, visitor, path14);
if (identity4.isNode(ctrl) || identity4.isPair(ctrl)) {
replaceNode(key, path14, ctrl);
return visitAsync_(key, ctrl, visitor, path14);
}
if (typeof ctrl !== "symbol") {
if (identity4.isCollection(node)) {
path14 = Object.freeze(path14.concat(node));
for (let i4 = 0;i4 < node.items.length; ++i4) {
const ci = await visitAsync_(i4, node.items[i4], visitor, path14);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
node.items.splice(i4, 1);
i4 -= 1;
}
}
} else if (identity4.isPair(node)) {
path14 = Object.freeze(path14.concat(node));
const ck = await visitAsync_("key", node.key, visitor, path14);
if (ck === BREAK)
return BREAK;
else if (ck === REMOVE)
node.key = null;
const cv = await visitAsync_("value", node.value, visitor, path14);
if (cv === BREAK)
return BREAK;
else if (cv === REMOVE)
node.value = null;
}
}
return ctrl;
}
function initVisitor(visitor) {
if (typeof visitor === "object" && (visitor.Collection || visitor.Node || visitor.Value)) {
return Object.assign({
Alias: visitor.Node,
Map: visitor.Node,
Scalar: visitor.Node,
Seq: visitor.Node
}, visitor.Value && {
Map: visitor.Value,
Scalar: visitor.Value,
Seq: visitor.Value
}, visitor.Collection && {
Map: visitor.Collection,
Seq: visitor.Collection
}, visitor);
}
return visitor;
}
function callVisitor(key, node, visitor, path14) {
if (typeof visitor === "function")
return visitor(key, node, path14);
if (identity4.isMap(node))
return visitor.Map?.(key, node, path14);
if (identity4.isSeq(node))
return visitor.Seq?.(key, node, path14);
if (identity4.isPair(node))
return visitor.Pair?.(key, node, path14);
if (identity4.isScalar(node))
return visitor.Scalar?.(key, node, path14);
if (identity4.isAlias(node))
return visitor.Alias?.(key, node, path14);
return;
}
function replaceNode(key, path14, node) {
const parent = path14[path14.length - 1];
if (identity4.isCollection(parent)) {
parent.items[key] = node;
} else if (identity4.isPair(parent)) {
if (key === "key")
parent.key = node;
else
parent.value = node;
} else if (identity4.isDocument(parent)) {
parent.contents = node;
} else {
const pt = identity4.isAlias(parent) ? "alias" : "scalar";
throw new Error(`Cannot replace node with ${pt} parent`);
}
}
exports.visit = visit2;
exports.visitAsync = visitAsync;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/doc/directives.js
var require_directives = __commonJS((exports) => {
var identity4 = require_identity();
var visit2 = require_visit();
var escapeChars = {
"!": "%21",
",": "%2C",
"[": "%5B",
"]": "%5D",
"{": "%7B",
"}": "%7D"
};
var escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, (ch2) => escapeChars[ch2]);
class Directives {
constructor(yaml, tags) {
this.docStart = null;
this.docEnd = false;
this.yaml = Object.assign({}, Directives.defaultYaml, yaml);
this.tags = Object.assign({}, Directives.defaultTags, tags);
}
clone() {
const copy = new Directives(this.yaml, this.tags);
copy.docStart = this.docStart;
return copy;
}
atDocument() {
const res = new Directives(this.yaml, this.tags);
switch (this.yaml.version) {
case "1.1":
this.atNextDocument = true;
break;
case "1.2":
this.atNextDocument = false;
this.yaml = {
explicit: Directives.defaultYaml.explicit,
version: "1.2"
};
this.tags = Object.assign({}, Directives.defaultTags);
break;
}
return res;
}
add(line, onError) {
if (this.atNextDocument) {
this.yaml = { explicit: Directives.defaultYaml.explicit, version: "1.1" };
this.tags = Object.assign({}, Directives.defaultTags);
this.atNextDocument = false;
}
const parts = line.trim().split(/[ \t]+/);
const name3 = parts.shift();
switch (name3) {
case "%TAG": {
if (parts.length !== 2) {
onError(0, "%TAG directive should contain exactly two parts");
if (parts.length < 2)
return false;
}
const [handle, prefix] = parts;
this.tags[handle] = prefix;
return true;
}
case "%YAML": {
this.yaml.explicit = true;
if (parts.length !== 1) {
onError(0, "%YAML directive should contain exactly one part");
return false;
}
const [version6] = parts;
if (version6 === "1.1" || version6 === "1.2") {
this.yaml.version = version6;
return true;
} else {
const isValid = /^\d+\.\d+$/.test(version6);
onError(6, `Unsupported YAML version ${version6}`, isValid);
return false;
}
}
default:
onError(0, `Unknown directive ${name3}`, true);
return false;
}
}
tagName(source, onError) {
if (source === "!")
return "!";
if (source[0] !== "!") {
onError(`Not a valid tag: ${source}`);
return null;
}
if (source[1] === "<") {
const verbatim = source.slice(2, -1);
if (verbatim === "!" || verbatim === "!!") {
onError(`Verbatim tags aren't resolved, so ${source} is invalid.`);
return null;
}
if (source[source.length - 1] !== ">")
onError("Verbatim tags must end with a >");
return verbatim;
}
const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/s);
if (!suffix)
onError(`The ${source} tag has no suffix`);
const prefix = this.tags[handle];
if (prefix) {
try {
return prefix + decodeURIComponent(suffix);
} catch (error52) {
onError(String(error52));
return null;
}
}
if (handle === "!")
return source;
onError(`Could not resolve tag: ${source}`);
return null;
}
tagString(tag) {
for (const [handle, prefix] of Object.entries(this.tags)) {
if (tag.startsWith(prefix))
return handle + escapeTagName(tag.substring(prefix.length));
}
return tag[0] === "!" ? tag : `!<${tag}>`;
}
toString(doc2) {
const lines = this.yaml.explicit ? [`%YAML ${this.yaml.version || "1.2"}`] : [];
const tagEntries = Object.entries(this.tags);
let tagNames;
if (doc2 && tagEntries.length > 0 && identity4.isNode(doc2.contents)) {
const tags = {};
visit2.visit(doc2.contents, (_key, node) => {
if (identity4.isNode(node) && node.tag)
tags[node.tag] = true;
});
tagNames = Object.keys(tags);
} else
tagNames = [];
for (const [handle, prefix] of tagEntries) {
if (handle === "!!" && prefix === "tag:yaml.org,2002:")
continue;
if (!doc2 || tagNames.some((tn) => tn.startsWith(prefix)))
lines.push(`%TAG ${handle} ${prefix}`);
}
return lines.join(`
`);
}
}
Directives.defaultYaml = { explicit: false, version: "1.2" };
Directives.defaultTags = { "!!": "tag:yaml.org,2002:" };
exports.Directives = Directives;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/doc/anchors.js
var require_anchors = __commonJS((exports) => {
var identity4 = require_identity();
var visit2 = require_visit();
function anchorIsValid(anchor) {
if (/[\x00-\x19\s,[\]{}]/.test(anchor)) {
const sa = JSON.stringify(anchor);
const msg = `Anchor must not contain whitespace or control characters: ${sa}`;
throw new Error(msg);
}
return true;
}
function anchorNames(root2) {
const anchors = new Set;
visit2.visit(root2, {
Value(_key, node) {
if (node.anchor)
anchors.add(node.anchor);
}
});
return anchors;
}
function findNewAnchor(prefix, exclude) {
for (let i4 = 1;; ++i4) {
const name3 = `${prefix}${i4}`;
if (!exclude.has(name3))
return name3;
}
}
function createNodeAnchors(doc2, prefix) {
const aliasObjects = [];
const sourceObjects = new Map;
let prevAnchors = null;
return {
onAnchor: (source) => {
aliasObjects.push(source);
prevAnchors ?? (prevAnchors = anchorNames(doc2));
const anchor = findNewAnchor(prefix, prevAnchors);
prevAnchors.add(anchor);
return anchor;
},
setAnchors: () => {
for (const source of aliasObjects) {
const ref = sourceObjects.get(source);
if (typeof ref === "object" && ref.anchor && (identity4.isScalar(ref.node) || identity4.isCollection(ref.node))) {
ref.node.anchor = ref.anchor;
} else {
const error52 = new Error("Failed to resolve repeated object (this should not happen)");
error52.source = source;
throw error52;
}
}
},
sourceObjects
};
}
exports.anchorIsValid = anchorIsValid;
exports.anchorNames = anchorNames;
exports.createNodeAnchors = createNodeAnchors;
exports.findNewAnchor = findNewAnchor;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/doc/applyReviver.js
var require_applyReviver = __commonJS((exports) => {
function applyReviver(reviver, obj, key, val) {
if (val && typeof val === "object") {
if (Array.isArray(val)) {
for (let i4 = 0, len = val.length;i4 < len; ++i4) {
const v0 = val[i4];
const v12 = applyReviver(reviver, val, String(i4), v0);
if (v12 === undefined)
delete val[i4];
else if (v12 !== v0)
val[i4] = v12;
}
} else if (val instanceof Map) {
for (const k2 of Array.from(val.keys())) {
const v0 = val.get(k2);
const v12 = applyReviver(reviver, val, k2, v0);
if (v12 === undefined)
val.delete(k2);
else if (v12 !== v0)
val.set(k2, v12);
}
} else if (val instanceof Set) {
for (const v0 of Array.from(val)) {
const v12 = applyReviver(reviver, val, v0, v0);
if (v12 === undefined)
val.delete(v0);
else if (v12 !== v0) {
val.delete(v0);
val.add(v12);
}
}
} else {
for (const [k2, v0] of Object.entries(val)) {
const v12 = applyReviver(reviver, val, k2, v0);
if (v12 === undefined)
delete val[k2];
else if (v12 !== v0)
val[k2] = v12;
}
}
}
return reviver.call(obj, key, val);
}
exports.applyReviver = applyReviver;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/toJS.js
var require_toJS = __commonJS((exports) => {
var identity4 = require_identity();
function toJS(value, arg, ctx) {
if (Array.isArray(value))
return value.map((v2, i4) => toJS(v2, String(i4), ctx));
if (value && typeof value.toJSON === "function") {
if (!ctx || !identity4.hasAnchor(value))
return value.toJSON(arg, ctx);
const data = { aliasCount: 0, count: 1, res: undefined };
ctx.anchors.set(value, data);
ctx.onCreate = (res2) => {
data.res = res2;
delete ctx.onCreate;
};
const res = value.toJSON(arg, ctx);
if (ctx.onCreate)
ctx.onCreate(res);
return res;
}
if (typeof value === "bigint" && !ctx?.keep)
return Number(value);
return value;
}
exports.toJS = toJS;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/Node.js
var require_Node = __commonJS((exports) => {
var applyReviver = require_applyReviver();
var identity4 = require_identity();
var toJS = require_toJS();
class NodeBase {
constructor(type) {
Object.defineProperty(this, identity4.NODE_TYPE, { value: type });
}
clone() {
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (this.range)
copy.range = this.range.slice();
return copy;
}
toJS(doc2, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
if (!identity4.isDocument(doc2))
throw new TypeError("A document argument is required");
const ctx = {
anchors: new Map,
doc: doc2,
keep: true,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this, "", ctx);
if (typeof onAnchor === "function")
for (const { count: count3, res: res2 } of ctx.anchors.values())
onAnchor(res2, count3);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
}
exports.NodeBase = NodeBase;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/Alias.js
var require_Alias = __commonJS((exports) => {
var anchors = require_anchors();
var visit2 = require_visit();
var identity4 = require_identity();
var Node2 = require_Node();
var toJS = require_toJS();
class Alias extends Node2.NodeBase {
constructor(source) {
super(identity4.ALIAS);
this.source = source;
Object.defineProperty(this, "tag", {
set() {
throw new Error("Alias nodes cannot have tags");
}
});
}
resolve(doc2, ctx) {
let nodes;
if (ctx?.aliasResolveCache) {
nodes = ctx.aliasResolveCache;
} else {
nodes = [];
visit2.visit(doc2, {
Node: (_key, node) => {
if (identity4.isAlias(node) || identity4.hasAnchor(node))
nodes.push(node);
}
});
if (ctx)
ctx.aliasResolveCache = nodes;
}
let found = undefined;
for (const node of nodes) {
if (node === this)
break;
if (node.anchor === this.source)
found = node;
}
return found;
}
toJSON(_arg, ctx) {
if (!ctx)
return { source: this.source };
const { anchors: anchors2, doc: doc2, maxAliasCount } = ctx;
const source = this.resolve(doc2, ctx);
if (!source) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new ReferenceError(msg);
}
let data = anchors2.get(source);
if (!data) {
toJS.toJS(source, null, ctx);
data = anchors2.get(source);
}
if (data?.res === undefined) {
const msg = "This should not happen: Alias anchor was not resolved?";
throw new ReferenceError(msg);
}
if (maxAliasCount >= 0) {
data.count += 1;
if (data.aliasCount === 0)
data.aliasCount = getAliasCount(doc2, source, anchors2);
if (data.count * data.aliasCount > maxAliasCount) {
const msg = "Excessive alias count indicates a resource exhaustion attack";
throw new ReferenceError(msg);
}
}
return data.res;
}
toString(ctx, _onComment, _onChompKeep) {
const src = `*${this.source}`;
if (ctx) {
anchors.anchorIsValid(this.source);
if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
throw new Error(msg);
}
if (ctx.implicitKey)
return `${src} `;
}
return src;
}
}
function getAliasCount(doc2, node, anchors2) {
if (identity4.isAlias(node)) {
const source = node.resolve(doc2);
const anchor = anchors2 && source && anchors2.get(source);
return anchor ? anchor.count * anchor.aliasCount : 0;
} else if (identity4.isCollection(node)) {
let count3 = 0;
for (const item of node.items) {
const c6 = getAliasCount(doc2, item, anchors2);
if (c6 > count3)
count3 = c6;
}
return count3;
} else if (identity4.isPair(node)) {
const kc = getAliasCount(doc2, node.key, anchors2);
const vc = getAliasCount(doc2, node.value, anchors2);
return Math.max(kc, vc);
}
return 1;
}
exports.Alias = Alias;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/Scalar.js
var require_Scalar = __commonJS((exports) => {
var identity4 = require_identity();
var Node2 = require_Node();
var toJS = require_toJS();
var isScalarValue = (value) => !value || typeof value !== "function" && typeof value !== "object";
class Scalar extends Node2.NodeBase {
constructor(value) {
super(identity4.SCALAR);
this.value = value;
}
toJSON(arg, ctx) {
return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
}
toString() {
return String(this.value);
}
}
Scalar.BLOCK_FOLDED = "BLOCK_FOLDED";
Scalar.BLOCK_LITERAL = "BLOCK_LITERAL";
Scalar.PLAIN = "PLAIN";
Scalar.QUOTE_DOUBLE = "QUOTE_DOUBLE";
Scalar.QUOTE_SINGLE = "QUOTE_SINGLE";
exports.Scalar = Scalar;
exports.isScalarValue = isScalarValue;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/doc/createNode.js
var require_createNode = __commonJS((exports) => {
var Alias = require_Alias();
var identity4 = require_identity();
var Scalar = require_Scalar();
var defaultTagPrefix = "tag:yaml.org,2002:";
function findTagObject(value, tagName, tags) {
if (tagName) {
const match = tags.filter((t2) => t2.tag === tagName);
const tagObj = match.find((t2) => !t2.format) ?? match[0];
if (!tagObj)
throw new Error(`Tag ${tagName} not found`);
return tagObj;
}
return tags.find((t2) => t2.identify?.(value) && !t2.format);
}
function createNode2(value, tagName, ctx) {
if (identity4.isDocument(value))
value = value.contents;
if (identity4.isNode(value))
return value;
if (identity4.isPair(value)) {
const map3 = ctx.schema[identity4.MAP].createNode?.(ctx.schema, null, ctx);
map3.items.push(value);
return map3;
}
if (value instanceof String || value instanceof Number || value instanceof Boolean || typeof BigInt !== "undefined" && value instanceof BigInt) {
value = value.valueOf();
}
const { aliasDuplicateObjects, onAnchor, onTagObj, schema, sourceObjects } = ctx;
let ref = undefined;
if (aliasDuplicateObjects && value && typeof value === "object") {
ref = sourceObjects.get(value);
if (ref) {
ref.anchor ?? (ref.anchor = onAnchor(value));
return new Alias.Alias(ref.anchor);
} else {
ref = { anchor: null, node: null };
sourceObjects.set(value, ref);
}
}
if (tagName?.startsWith("!!"))
tagName = defaultTagPrefix + tagName.slice(2);
let tagObj = findTagObject(value, tagName, schema.tags);
if (!tagObj) {
if (value && typeof value.toJSON === "function") {
value = value.toJSON();
}
if (!value || typeof value !== "object") {
const node2 = new Scalar.Scalar(value);
if (ref)
ref.node = node2;
return node2;
}
tagObj = value instanceof Map ? schema[identity4.MAP] : (Symbol.iterator in Object(value)) ? schema[identity4.SEQ] : schema[identity4.MAP];
}
if (onTagObj) {
onTagObj(tagObj);
delete ctx.onTagObj;
}
const node = tagObj?.createNode ? tagObj.createNode(ctx.schema, value, ctx) : typeof tagObj?.nodeClass?.from === "function" ? tagObj.nodeClass.from(ctx.schema, value, ctx) : new Scalar.Scalar(value);
if (tagName)
node.tag = tagName;
else if (!tagObj.default)
node.tag = tagObj.tag;
if (ref)
ref.node = node;
return node;
}
exports.createNode = createNode2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/Collection.js
var require_Collection = __commonJS((exports) => {
var createNode2 = require_createNode();
var identity4 = require_identity();
var Node2 = require_Node();
function collectionFromPath(schema, path14, value) {
let v2 = value;
for (let i4 = path14.length - 1;i4 >= 0; --i4) {
const k2 = path14[i4];
if (typeof k2 === "number" && Number.isInteger(k2) && k2 >= 0) {
const a2 = [];
a2[k2] = v2;
v2 = a2;
} else {
v2 = new Map([[k2, v2]]);
}
}
return createNode2.createNode(v2, undefined, {
aliasDuplicateObjects: false,
keepUndefined: false,
onAnchor: () => {
throw new Error("This should not happen, please report a bug.");
},
schema,
sourceObjects: new Map
});
}
var isEmptyPath = (path14) => path14 == null || typeof path14 === "object" && !!path14[Symbol.iterator]().next().done;
class Collection extends Node2.NodeBase {
constructor(type, schema) {
super(type);
Object.defineProperty(this, "schema", {
value: schema,
configurable: true,
enumerable: false,
writable: true
});
}
clone(schema) {
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
if (schema)
copy.schema = schema;
copy.items = copy.items.map((it) => identity4.isNode(it) || identity4.isPair(it) ? it.clone(schema) : it);
if (this.range)
copy.range = this.range.slice();
return copy;
}
addIn(path14, value) {
if (isEmptyPath(path14))
this.add(value);
else {
const [key, ...rest] = path14;
const node = this.get(key, true);
if (identity4.isCollection(node))
node.addIn(rest, value);
else if (node === undefined && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
deleteIn(path14) {
const [key, ...rest] = path14;
if (rest.length === 0)
return this.delete(key);
const node = this.get(key, true);
if (identity4.isCollection(node))
return node.deleteIn(rest);
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
getIn(path14, keepScalar) {
const [key, ...rest] = path14;
const node = this.get(key, true);
if (rest.length === 0)
return !keepScalar && identity4.isScalar(node) ? node.value : node;
else
return identity4.isCollection(node) ? node.getIn(rest, keepScalar) : undefined;
}
hasAllNullValues(allowScalar) {
return this.items.every((node) => {
if (!identity4.isPair(node))
return false;
const n2 = node.value;
return n2 == null || allowScalar && identity4.isScalar(n2) && n2.value == null && !n2.commentBefore && !n2.comment && !n2.tag;
});
}
hasIn(path14) {
const [key, ...rest] = path14;
if (rest.length === 0)
return this.has(key);
const node = this.get(key, true);
return identity4.isCollection(node) ? node.hasIn(rest) : false;
}
setIn(path14, value) {
const [key, ...rest] = path14;
if (rest.length === 0) {
this.set(key, value);
} else {
const node = this.get(key, true);
if (identity4.isCollection(node))
node.setIn(rest, value);
else if (node === undefined && this.schema)
this.set(key, collectionFromPath(this.schema, rest, value));
else
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
}
exports.Collection = Collection;
exports.collectionFromPath = collectionFromPath;
exports.isEmptyPath = isEmptyPath;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyComment.js
var require_stringifyComment = __commonJS((exports) => {
var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#");
function indentComment(comment, indent) {
if (/^\n+$/.test(comment))
return comment.substring(1);
return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
}
var lineComment = (str, indent, comment) => str.endsWith(`
`) ? indentComment(comment, indent) : comment.includes(`
`) ? `
` + indentComment(comment, indent) : (str.endsWith(" ") ? "" : " ") + comment;
exports.indentComment = indentComment;
exports.lineComment = lineComment;
exports.stringifyComment = stringifyComment;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/foldFlowLines.js
var require_foldFlowLines = __commonJS((exports) => {
var FOLD_FLOW = "flow";
var FOLD_BLOCK = "block";
var FOLD_QUOTED = "quoted";
function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth: lineWidth2 = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
if (!lineWidth2 || lineWidth2 < 0)
return text;
if (lineWidth2 < minContentWidth)
minContentWidth = 0;
const endStep = Math.max(1 + minContentWidth, 1 + lineWidth2 - indent.length);
if (text.length <= endStep)
return text;
const folds = [];
const escapedFolds = {};
let end = lineWidth2 - indent.length;
if (typeof indentAtStart === "number") {
if (indentAtStart > lineWidth2 - Math.max(2, minContentWidth))
folds.push(0);
else
end = lineWidth2 - indentAtStart;
}
let split = undefined;
let prev = undefined;
let overflow = false;
let i4 = -1;
let escStart = -1;
let escEnd = -1;
if (mode === FOLD_BLOCK) {
i4 = consumeMoreIndentedLines(text, i4, indent.length);
if (i4 !== -1)
end = i4 + endStep;
}
for (let ch2;ch2 = text[i4 += 1]; ) {
if (mode === FOLD_QUOTED && ch2 === "\\") {
escStart = i4;
switch (text[i4 + 1]) {
case "x":
i4 += 3;
break;
case "u":
i4 += 5;
break;
case "U":
i4 += 9;
break;
default:
i4 += 1;
}
escEnd = i4;
}
if (ch2 === `
`) {
if (mode === FOLD_BLOCK)
i4 = consumeMoreIndentedLines(text, i4, indent.length);
end = i4 + indent.length + endStep;
split = undefined;
} else {
if (ch2 === " " && prev && prev !== " " && prev !== `
` && prev !== "\t") {
const next = text[i4 + 1];
if (next && next !== " " && next !== `
` && next !== "\t")
split = i4;
}
if (i4 >= end) {
if (split) {
folds.push(split);
end = split + endStep;
split = undefined;
} else if (mode === FOLD_QUOTED) {
while (prev === " " || prev === "\t") {
prev = ch2;
ch2 = text[i4 += 1];
overflow = true;
}
const j2 = i4 > escEnd + 1 ? i4 - 2 : escStart - 1;
if (escapedFolds[j2])
return text;
folds.push(j2);
escapedFolds[j2] = true;
end = j2 + endStep;
split = undefined;
} else {
overflow = true;
}
}
}
prev = ch2;
}
if (overflow && onOverflow)
onOverflow();
if (folds.length === 0)
return text;
if (onFold)
onFold();
let res = text.slice(0, folds[0]);
for (let i5 = 0;i5 < folds.length; ++i5) {
const fold = folds[i5];
const end2 = folds[i5 + 1] || text.length;
if (fold === 0)
res = `
${indent}${text.slice(0, end2)}`;
else {
if (mode === FOLD_QUOTED && escapedFolds[fold])
res += `${text[fold]}\\`;
res += `
${indent}${text.slice(fold + 1, end2)}`;
}
}
return res;
}
function consumeMoreIndentedLines(text, i4, indent) {
let end = i4;
let start = i4 + 1;
let ch2 = text[start];
while (ch2 === " " || ch2 === "\t") {
if (i4 < start + indent) {
ch2 = text[++i4];
} else {
do {
ch2 = text[++i4];
} while (ch2 && ch2 !== `
`);
end = i4;
start = i4 + 1;
ch2 = text[start];
}
}
return end;
}
exports.FOLD_BLOCK = FOLD_BLOCK;
exports.FOLD_FLOW = FOLD_FLOW;
exports.FOLD_QUOTED = FOLD_QUOTED;
exports.foldFlowLines = foldFlowLines;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyString.js
var require_stringifyString = __commonJS((exports) => {
var Scalar = require_Scalar();
var foldFlowLines = require_foldFlowLines();
var getFoldOptions = (ctx, isBlock) => ({
indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart,
lineWidth: ctx.options.lineWidth,
minContentWidth: ctx.options.minContentWidth
});
var containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str);
function lineLengthOverLimit(str, lineWidth2, indentLength) {
if (!lineWidth2 || lineWidth2 < 0)
return false;
const limit = lineWidth2 - indentLength;
const strLen = str.length;
if (strLen <= limit)
return false;
for (let i4 = 0, start = 0;i4 < strLen; ++i4) {
if (str[i4] === `
`) {
if (i4 - start > limit)
return true;
start = i4 + 1;
if (strLen - start <= limit)
return false;
}
}
return true;
}
function doubleQuotedString(value, ctx) {
const json2 = JSON.stringify(value);
if (ctx.options.doubleQuotedAsJSON)
return json2;
const { implicitKey } = ctx;
const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
let str = "";
let start = 0;
for (let i4 = 0, ch2 = json2[i4];ch2; ch2 = json2[++i4]) {
if (ch2 === " " && json2[i4 + 1] === "\\" && json2[i4 + 2] === "n") {
str += json2.slice(start, i4) + "\\ ";
i4 += 1;
start = i4;
ch2 = "\\";
}
if (ch2 === "\\")
switch (json2[i4 + 1]) {
case "u":
{
str += json2.slice(start, i4);
const code = json2.substr(i4 + 2, 4);
switch (code) {
case "0000":
str += "\\0";
break;
case "0007":
str += "\\a";
break;
case "000b":
str += "\\v";
break;
case "001b":
str += "\\e";
break;
case "0085":
str += "\\N";
break;
case "00a0":
str += "\\_";
break;
case "2028":
str += "\\L";
break;
case "2029":
str += "\\P";
break;
default:
if (code.substr(0, 2) === "00")
str += "\\x" + code.substr(2);
else
str += json2.substr(i4, 6);
}
i4 += 5;
start = i4 + 1;
}
break;
case "n":
if (implicitKey || json2[i4 + 2] === '"' || json2.length < minMultiLineLength) {
i4 += 1;
} else {
str += json2.slice(start, i4) + `
`;
while (json2[i4 + 2] === "\\" && json2[i4 + 3] === "n" && json2[i4 + 4] !== '"') {
str += `
`;
i4 += 2;
}
str += indent;
if (json2[i4 + 2] === " ")
str += "\\";
i4 += 1;
start = i4 + 1;
}
break;
default:
i4 += 1;
}
}
str = start ? str + json2.slice(start) : json2;
return implicitKey ? str : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx, false));
}
function singleQuotedString(value, ctx) {
if (ctx.options.singleQuote === false || ctx.implicitKey && value.includes(`
`) || /[ \t]\n|\n[ \t]/.test(value))
return doubleQuotedString(value, ctx);
const indent = ctx.indent || (containsDocumentMarker(value) ? " " : "");
const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&
${indent}`) + "'";
return ctx.implicitKey ? res : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function quotedString(value, ctx) {
const { singleQuote } = ctx.options;
let qs;
if (singleQuote === false)
qs = doubleQuotedString;
else {
const hasDouble = value.includes('"');
const hasSingle = value.includes("'");
if (hasDouble && !hasSingle)
qs = singleQuotedString;
else if (hasSingle && !hasDouble)
qs = doubleQuotedString;
else
qs = singleQuote ? singleQuotedString : doubleQuotedString;
}
return qs(value, ctx);
}
var blockEndNewlines;
try {
blockEndNewlines = new RegExp(`(^|(?
`;
let chomp;
let endStart;
for (endStart = value.length;endStart > 0; --endStart) {
const ch2 = value[endStart - 1];
if (ch2 !== `
` && ch2 !== "\t" && ch2 !== " ")
break;
}
let end = value.substring(endStart);
const endNlPos = end.indexOf(`
`);
if (endNlPos === -1) {
chomp = "-";
} else if (value === end || endNlPos !== end.length - 1) {
chomp = "+";
if (onChompKeep)
onChompKeep();
} else {
chomp = "";
}
if (end) {
value = value.slice(0, -end.length);
if (end[end.length - 1] === `
`)
end = end.slice(0, -1);
end = end.replace(blockEndNewlines, `$&${indent}`);
}
let startWithSpace = false;
let startEnd;
let startNlPos = -1;
for (startEnd = 0;startEnd < value.length; ++startEnd) {
const ch2 = value[startEnd];
if (ch2 === " ")
startWithSpace = true;
else if (ch2 === `
`)
startNlPos = startEnd;
else
break;
}
let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
if (start) {
value = value.substring(start.length);
start = start.replace(/\n+/g, `$&${indent}`);
}
const indentSize = indent ? "2" : "1";
let header = (startWithSpace ? indentSize : "") + chomp;
if (comment) {
header += " " + commentString(comment.replace(/ ?[\r\n]+/g, " "));
if (onComment)
onComment();
}
if (!literal2) {
const foldedValue = value.replace(/\n+/g, `
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${indent}`);
let literalFallback = false;
const foldOptions = getFoldOptions(ctx, true);
if (blockQuote !== "folded" && type !== Scalar.Scalar.BLOCK_FOLDED) {
foldOptions.onOverflow = () => {
literalFallback = true;
};
}
const body = foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`, indent, foldFlowLines.FOLD_BLOCK, foldOptions);
if (!literalFallback)
return `>${header}
${indent}${body}`;
}
value = value.replace(/\n+/g, `$&${indent}`);
return `|${header}
${indent}${start}${value}${end}`;
}
function plainString(item, ctx, onComment, onChompKeep) {
const { type, value } = item;
const { actualString, implicitKey, indent, indentStep, inFlow } = ctx;
if (implicitKey && value.includes(`
`) || inFlow && /[[\]{},]/.test(value)) {
return quotedString(value, ctx);
}
if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
return implicitKey || inFlow || !value.includes(`
`) ? quotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);
}
if (!implicitKey && !inFlow && type !== Scalar.Scalar.PLAIN && value.includes(`
`)) {
return blockString(item, ctx, onComment, onChompKeep);
}
if (containsDocumentMarker(value)) {
if (indent === "") {
ctx.forceBlockIndent = true;
return blockString(item, ctx, onComment, onChompKeep);
} else if (implicitKey && indent === indentStep) {
return quotedString(value, ctx);
}
}
const str = value.replace(/\n+/g, `$&
${indent}`);
if (actualString) {
const test2 = (tag) => tag.default && tag.tag !== "tag:yaml.org,2002:str" && tag.test?.test(str);
const { compat: compat2, tags } = ctx.doc.schema;
if (tags.some(test2) || compat2?.some(test2))
return quotedString(value, ctx);
}
return implicitKey ? str : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
}
function stringifyString(item, ctx, onComment, onChompKeep) {
const { implicitKey, inFlow } = ctx;
const ss = typeof item.value === "string" ? item : Object.assign({}, item, { value: String(item.value) });
let { type } = item;
if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
type = Scalar.Scalar.QUOTE_DOUBLE;
}
const _stringify = (_type) => {
switch (_type) {
case Scalar.Scalar.BLOCK_FOLDED:
case Scalar.Scalar.BLOCK_LITERAL:
return implicitKey || inFlow ? quotedString(ss.value, ctx) : blockString(ss, ctx, onComment, onChompKeep);
case Scalar.Scalar.QUOTE_DOUBLE:
return doubleQuotedString(ss.value, ctx);
case Scalar.Scalar.QUOTE_SINGLE:
return singleQuotedString(ss.value, ctx);
case Scalar.Scalar.PLAIN:
return plainString(ss, ctx, onComment, onChompKeep);
default:
return null;
}
};
let res = _stringify(type);
if (res === null) {
const { defaultKeyType, defaultStringType } = ctx.options;
const t2 = implicitKey && defaultKeyType || defaultStringType;
res = _stringify(t2);
if (res === null)
throw new Error(`Unsupported default string type ${t2}`);
}
return res;
}
exports.stringifyString = stringifyString;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringify.js
var require_stringify3 = __commonJS((exports) => {
var anchors = require_anchors();
var identity4 = require_identity();
var stringifyComment = require_stringifyComment();
var stringifyString = require_stringifyString();
function createStringifyContext(doc2, options) {
const opt = Object.assign({
blockQuote: true,
commentString: stringifyComment.stringifyComment,
defaultKeyType: null,
defaultStringType: "PLAIN",
directives: null,
doubleQuotedAsJSON: false,
doubleQuotedMinMultiLineLength: 40,
falseStr: "false",
flowCollectionPadding: true,
indentSeq: true,
lineWidth: 80,
minContentWidth: 20,
nullStr: "null",
simpleKeys: false,
singleQuote: null,
trailingComma: false,
trueStr: "true",
verifyAliasOrder: true
}, doc2.schema.toStringOptions, options);
let inFlow;
switch (opt.collectionStyle) {
case "block":
inFlow = false;
break;
case "flow":
inFlow = true;
break;
default:
inFlow = null;
}
return {
anchors: new Set,
doc: doc2,
flowCollectionPadding: opt.flowCollectionPadding ? " " : "",
indent: "",
indentStep: typeof opt.indent === "number" ? " ".repeat(opt.indent) : " ",
inFlow,
options: opt
};
}
function getTagObject(tags, item) {
if (item.tag) {
const match = tags.filter((t2) => t2.tag === item.tag);
if (match.length > 0)
return match.find((t2) => t2.format === item.format) ?? match[0];
}
let tagObj = undefined;
let obj;
if (identity4.isScalar(item)) {
obj = item.value;
let match = tags.filter((t2) => t2.identify?.(obj));
if (match.length > 1) {
const testMatch = match.filter((t2) => t2.test);
if (testMatch.length > 0)
match = testMatch;
}
tagObj = match.find((t2) => t2.format === item.format) ?? match.find((t2) => !t2.format);
} else {
obj = item;
tagObj = tags.find((t2) => t2.nodeClass && obj instanceof t2.nodeClass);
}
if (!tagObj) {
const name3 = obj?.constructor?.name ?? (obj === null ? "null" : typeof obj);
throw new Error(`Tag not resolved for ${name3} value`);
}
return tagObj;
}
function stringifyProps(node, tagObj, { anchors: anchors$1, doc: doc2 }) {
if (!doc2.directives)
return "";
const props = [];
const anchor = (identity4.isScalar(node) || identity4.isCollection(node)) && node.anchor;
if (anchor && anchors.anchorIsValid(anchor)) {
anchors$1.add(anchor);
props.push(`&${anchor}`);
}
const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
if (tag)
props.push(doc2.directives.tagString(tag));
return props.join(" ");
}
function stringify2(item, ctx, onComment, onChompKeep) {
if (identity4.isPair(item))
return item.toString(ctx, onComment, onChompKeep);
if (identity4.isAlias(item)) {
if (ctx.doc.directives)
return item.toString(ctx);
if (ctx.resolvedAliases?.has(item)) {
throw new TypeError(`Cannot stringify circular structure without alias nodes`);
} else {
if (ctx.resolvedAliases)
ctx.resolvedAliases.add(item);
else
ctx.resolvedAliases = new Set([item]);
item = item.resolve(ctx.doc);
}
}
let tagObj = undefined;
const node = identity4.isNode(item) ? item : ctx.doc.createNode(item, { onTagObj: (o2) => tagObj = o2 });
tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
const props = stringifyProps(node, tagObj, ctx);
if (props.length > 0)
ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1;
const str = typeof tagObj.stringify === "function" ? tagObj.stringify(node, ctx, onComment, onChompKeep) : identity4.isScalar(node) ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep) : node.toString(ctx, onComment, onChompKeep);
if (!props)
return str;
return identity4.isScalar(node) || str[0] === "{" || str[0] === "[" ? `${props} ${str}` : `${props}
${ctx.indent}${str}`;
}
exports.createStringifyContext = createStringifyContext;
exports.stringify = stringify2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyPair.js
var require_stringifyPair = __commonJS((exports) => {
var identity4 = require_identity();
var Scalar = require_Scalar();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
const { allNullValues, doc: doc2, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
let keyComment = identity4.isNode(key) && key.comment || null;
if (simpleKeys) {
if (keyComment) {
throw new Error("With simple keys, key nodes cannot have comments");
}
if (identity4.isCollection(key) || !identity4.isNode(key) && typeof key === "object") {
const msg = "With simple keys, collection cannot be used as a key value";
throw new Error(msg);
}
}
let explicitKey = !simpleKeys && (!key || keyComment && value == null && !ctx.inFlow || identity4.isCollection(key) || (identity4.isScalar(key) ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL : typeof key === "object"));
ctx = Object.assign({}, ctx, {
allNullValues: false,
implicitKey: !explicitKey && (simpleKeys || !allNullValues),
indent: indent + indentStep
});
let keyCommentDone = false;
let chompKeep = false;
let str = stringify2.stringify(key, ctx, () => keyCommentDone = true, () => chompKeep = true);
if (!explicitKey && !ctx.inFlow && str.length > 1024) {
if (simpleKeys)
throw new Error("With simple keys, single line scalar must not span more than 1024 characters");
explicitKey = true;
}
if (ctx.inFlow) {
if (allNullValues || value == null) {
if (keyCommentDone && onComment)
onComment();
return str === "" ? "?" : explicitKey ? `? ${str}` : str;
}
} else if (allNullValues && !simpleKeys || value == null && explicitKey) {
str = `? ${str}`;
if (keyComment && !keyCommentDone) {
str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
} else if (chompKeep && onChompKeep)
onChompKeep();
return str;
}
if (keyCommentDone)
keyComment = null;
if (explicitKey) {
if (keyComment)
str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
str = `? ${str}
${indent}:`;
} else {
str = `${str}:`;
if (keyComment)
str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
}
let vsb, vcb, valueComment;
if (identity4.isNode(value)) {
vsb = !!value.spaceBefore;
vcb = value.commentBefore;
valueComment = value.comment;
} else {
vsb = false;
vcb = null;
valueComment = null;
if (value && typeof value === "object")
value = doc2.createNode(value);
}
ctx.implicitKey = false;
if (!explicitKey && !keyComment && identity4.isScalar(value))
ctx.indentAtStart = str.length + 1;
chompKeep = false;
if (!indentSeq && indentStep.length >= 2 && !ctx.inFlow && !explicitKey && identity4.isSeq(value) && !value.flow && !value.tag && !value.anchor) {
ctx.indent = ctx.indent.substring(2);
}
let valueCommentDone = false;
const valueStr = stringify2.stringify(value, ctx, () => valueCommentDone = true, () => chompKeep = true);
let ws = " ";
if (keyComment || vsb || vcb) {
ws = vsb ? `
` : "";
if (vcb) {
const cs = commentString(vcb);
ws += `
${stringifyComment.indentComment(cs, ctx.indent)}`;
}
if (valueStr === "" && !ctx.inFlow) {
if (ws === `
` && valueComment)
ws = `
`;
} else {
ws += `
${ctx.indent}`;
}
} else if (!explicitKey && identity4.isCollection(value)) {
const vs0 = valueStr[0];
const nl0 = valueStr.indexOf(`
`);
const hasNewline = nl0 !== -1;
const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
if (hasNewline || !flow) {
let hasPropsLine = false;
if (hasNewline && (vs0 === "&" || vs0 === "!")) {
let sp0 = valueStr.indexOf(" ");
if (vs0 === "&" && sp0 !== -1 && sp0 < nl0 && valueStr[sp0 + 1] === "!") {
sp0 = valueStr.indexOf(" ", sp0 + 1);
}
if (sp0 === -1 || nl0 < sp0)
hasPropsLine = true;
}
if (!hasPropsLine)
ws = `
${ctx.indent}`;
}
} else if (valueStr === "" || valueStr[0] === `
`) {
ws = "";
}
str += ws + valueStr;
if (ctx.inFlow) {
if (valueCommentDone && onComment)
onComment();
} else if (valueComment && !valueCommentDone) {
str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment));
} else if (chompKeep && onChompKeep) {
onChompKeep();
}
return str;
}
exports.stringifyPair = stringifyPair;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/log.js
var require_log = __commonJS((exports) => {
var node_process = __require("process");
function debug3(logLevel, ...messages) {
if (logLevel === "debug")
console.log(...messages);
}
function warn(logLevel, warning) {
if (logLevel === "debug" || logLevel === "warn") {
if (typeof node_process.emitWarning === "function")
node_process.emitWarning(warning);
else
console.warn(warning);
}
}
exports.debug = debug3;
exports.warn = warn;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/merge.js
var require_merge2 = __commonJS((exports) => {
var identity4 = require_identity();
var Scalar = require_Scalar();
var MERGE_KEY = "<<";
var merge3 = {
identify: (value) => value === MERGE_KEY || typeof value === "symbol" && value.description === MERGE_KEY,
default: "key",
tag: "tag:yaml.org,2002:merge",
test: /^<<$/,
resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
addToJSMap: addMergeToJSMap
}),
stringify: () => MERGE_KEY
};
var isMergeKey = (ctx, key) => (merge3.identify(key) || identity4.isScalar(key) && (!key.type || key.type === Scalar.Scalar.PLAIN) && merge3.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge3.tag && tag.default);
function addMergeToJSMap(ctx, map3, value) {
value = ctx && identity4.isAlias(value) ? value.resolve(ctx.doc) : value;
if (identity4.isSeq(value))
for (const it of value.items)
mergeValue(ctx, map3, it);
else if (Array.isArray(value))
for (const it of value)
mergeValue(ctx, map3, it);
else
mergeValue(ctx, map3, value);
}
function mergeValue(ctx, map3, value) {
const source = ctx && identity4.isAlias(value) ? value.resolve(ctx.doc) : value;
if (!identity4.isMap(source))
throw new Error("Merge sources must be maps or map aliases");
const srcMap = source.toJSON(null, ctx, Map);
for (const [key, value2] of srcMap) {
if (map3 instanceof Map) {
if (!map3.has(key))
map3.set(key, value2);
} else if (map3 instanceof Set) {
map3.add(key);
} else if (!Object.prototype.hasOwnProperty.call(map3, key)) {
Object.defineProperty(map3, key, {
value: value2,
writable: true,
enumerable: true,
configurable: true
});
}
}
return map3;
}
exports.addMergeToJSMap = addMergeToJSMap;
exports.isMergeKey = isMergeKey;
exports.merge = merge3;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/addPairToJSMap.js
var require_addPairToJSMap = __commonJS((exports) => {
var log3 = require_log();
var merge3 = require_merge2();
var stringify2 = require_stringify3();
var identity4 = require_identity();
var toJS = require_toJS();
function addPairToJSMap(ctx, map3, { key, value }) {
if (identity4.isNode(key) && key.addToJSMap)
key.addToJSMap(ctx, map3, value);
else if (merge3.isMergeKey(ctx, key))
merge3.addMergeToJSMap(ctx, map3, value);
else {
const jsKey = toJS.toJS(key, "", ctx);
if (map3 instanceof Map) {
map3.set(jsKey, toJS.toJS(value, jsKey, ctx));
} else if (map3 instanceof Set) {
map3.add(jsKey);
} else {
const stringKey = stringifyKey(key, jsKey, ctx);
const jsValue = toJS.toJS(value, stringKey, ctx);
if (stringKey in map3)
Object.defineProperty(map3, stringKey, {
value: jsValue,
writable: true,
enumerable: true,
configurable: true
});
else
map3[stringKey] = jsValue;
}
}
return map3;
}
function stringifyKey(key, jsKey, ctx) {
if (jsKey === null)
return "";
if (typeof jsKey !== "object")
return String(jsKey);
if (identity4.isNode(key) && ctx?.doc) {
const strCtx = stringify2.createStringifyContext(ctx.doc, {});
strCtx.anchors = new Set;
for (const node of ctx.anchors.keys())
strCtx.anchors.add(node.anchor);
strCtx.inFlow = true;
strCtx.inStringifyKey = true;
const strKey = key.toString(strCtx);
if (!ctx.mapKeyWarned) {
let jsonStr = JSON.stringify(strKey);
if (jsonStr.length > 40)
jsonStr = jsonStr.substring(0, 36) + '..."';
log3.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`);
ctx.mapKeyWarned = true;
}
return strKey;
}
return JSON.stringify(jsKey);
}
exports.addPairToJSMap = addPairToJSMap;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/Pair.js
var require_Pair = __commonJS((exports) => {
var createNode2 = require_createNode();
var stringifyPair = require_stringifyPair();
var addPairToJSMap = require_addPairToJSMap();
var identity4 = require_identity();
function createPair(key, value, ctx) {
const k2 = createNode2.createNode(key, undefined, ctx);
const v2 = createNode2.createNode(value, undefined, ctx);
return new Pair(k2, v2);
}
class Pair {
constructor(key, value = null) {
Object.defineProperty(this, identity4.NODE_TYPE, { value: identity4.PAIR });
this.key = key;
this.value = value;
}
clone(schema) {
let { key, value } = this;
if (identity4.isNode(key))
key = key.clone(schema);
if (identity4.isNode(value))
value = value.clone(schema);
return new Pair(key, value);
}
toJSON(_2, ctx) {
const pair = ctx?.mapAsMap ? new Map : {};
return addPairToJSMap.addPairToJSMap(ctx, pair, this);
}
toString(ctx, onComment, onChompKeep) {
return ctx?.doc ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep) : JSON.stringify(this);
}
}
exports.Pair = Pair;
exports.createPair = createPair;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyCollection.js
var require_stringifyCollection = __commonJS((exports) => {
var identity4 = require_identity();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyCollection(collection, ctx, options) {
const flow = ctx.inFlow ?? collection.flow;
const stringify3 = flow ? stringifyFlowCollection : stringifyBlockCollection;
return stringify3(collection, ctx, options);
}
function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
const { indent, options: { commentString } } = ctx;
const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
let chompKeep = false;
const lines = [];
for (let i4 = 0;i4 < items.length; ++i4) {
const item = items[i4];
let comment2 = null;
if (identity4.isNode(item)) {
if (!chompKeep && item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
if (item.comment)
comment2 = item.comment;
} else if (identity4.isPair(item)) {
const ik = identity4.isNode(item.key) ? item.key : null;
if (ik) {
if (!chompKeep && ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
}
}
chompKeep = false;
let str2 = stringify2.stringify(item, itemCtx, () => comment2 = null, () => chompKeep = true);
if (comment2)
str2 += stringifyComment.lineComment(str2, itemIndent, commentString(comment2));
if (chompKeep && comment2)
chompKeep = false;
lines.push(blockItemPrefix + str2);
}
let str;
if (lines.length === 0) {
str = flowChars.start + flowChars.end;
} else {
str = lines[0];
for (let i4 = 1;i4 < lines.length; ++i4) {
const line = lines[i4];
str += line ? `
${indent}${line}` : `
`;
}
}
if (comment) {
str += `
` + stringifyComment.indentComment(commentString(comment), indent);
if (onComment)
onComment();
} else if (chompKeep && onChompKeep)
onChompKeep();
return str;
}
function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
itemIndent += indentStep;
const itemCtx = Object.assign({}, ctx, {
indent: itemIndent,
inFlow: true,
type: null
});
let reqNewline = false;
let linesAtValue = 0;
const lines = [];
for (let i4 = 0;i4 < items.length; ++i4) {
const item = items[i4];
let comment = null;
if (identity4.isNode(item)) {
if (item.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, item.commentBefore, false);
if (item.comment)
comment = item.comment;
} else if (identity4.isPair(item)) {
const ik = identity4.isNode(item.key) ? item.key : null;
if (ik) {
if (ik.spaceBefore)
lines.push("");
addCommentBefore(ctx, lines, ik.commentBefore, false);
if (ik.comment)
reqNewline = true;
}
const iv = identity4.isNode(item.value) ? item.value : null;
if (iv) {
if (iv.comment)
comment = iv.comment;
if (iv.commentBefore)
reqNewline = true;
} else if (item.value == null && ik?.comment) {
comment = ik.comment;
}
}
if (comment)
reqNewline = true;
let str = stringify2.stringify(item, itemCtx, () => comment = null);
reqNewline || (reqNewline = lines.length > linesAtValue || str.includes(`
`));
if (i4 < items.length - 1) {
str += ",";
} else if (ctx.options.trailingComma) {
if (ctx.options.lineWidth > 0) {
reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) + (str.length + 2) > ctx.options.lineWidth);
}
if (reqNewline) {
str += ",";
}
}
if (comment)
str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
lines.push(str);
linesAtValue = lines.length;
}
const { start, end } = flowChars;
if (lines.length === 0) {
return start + end;
} else {
if (!reqNewline) {
const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
}
if (reqNewline) {
let str = start;
for (const line of lines)
str += line ? `
${indentStep}${indent}${line}` : `
`;
return `${str}
${indent}${end}`;
} else {
return `${start}${fcPadding}${lines.join(" ")}${fcPadding}${end}`;
}
}
}
function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
if (comment && chompKeep)
comment = comment.replace(/^\n+/, "");
if (comment) {
const ic = stringifyComment.indentComment(commentString(comment), indent);
lines.push(ic.trimStart());
}
}
exports.stringifyCollection = stringifyCollection;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/YAMLMap.js
var require_YAMLMap = __commonJS((exports) => {
var stringifyCollection = require_stringifyCollection();
var addPairToJSMap = require_addPairToJSMap();
var Collection = require_Collection();
var identity4 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
function findPair(items, key) {
const k2 = identity4.isScalar(key) ? key.value : key;
for (const it of items) {
if (identity4.isPair(it)) {
if (it.key === key || it.key === k2)
return it;
if (identity4.isScalar(it.key) && it.key.value === k2)
return it;
}
}
return;
}
class YAMLMap extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:map";
}
constructor(schema) {
super(identity4.MAP, schema);
this.items = [];
}
static from(schema, obj, ctx) {
const { keepUndefined, replacer } = ctx;
const map3 = new this(schema);
const add = (key, value) => {
if (typeof replacer === "function")
value = replacer.call(obj, key, value);
else if (Array.isArray(replacer) && !replacer.includes(key))
return;
if (value !== undefined || keepUndefined)
map3.items.push(Pair.createPair(key, value, ctx));
};
if (obj instanceof Map) {
for (const [key, value] of obj)
add(key, value);
} else if (obj && typeof obj === "object") {
for (const key of Object.keys(obj))
add(key, obj[key]);
}
if (typeof schema.sortMapEntries === "function") {
map3.items.sort(schema.sortMapEntries);
}
return map3;
}
add(pair, overwrite) {
let _pair;
if (identity4.isPair(pair))
_pair = pair;
else if (!pair || typeof pair !== "object" || !("key" in pair)) {
_pair = new Pair.Pair(pair, pair?.value);
} else
_pair = new Pair.Pair(pair.key, pair.value);
const prev = findPair(this.items, _pair.key);
const sortEntries = this.schema?.sortMapEntries;
if (prev) {
if (!overwrite)
throw new Error(`Key ${_pair.key} already set`);
if (identity4.isScalar(prev.value) && Scalar.isScalarValue(_pair.value))
prev.value.value = _pair.value;
else
prev.value = _pair.value;
} else if (sortEntries) {
const i4 = this.items.findIndex((item) => sortEntries(_pair, item) < 0);
if (i4 === -1)
this.items.push(_pair);
else
this.items.splice(i4, 0, _pair);
} else {
this.items.push(_pair);
}
}
delete(key) {
const it = findPair(this.items, key);
if (!it)
return false;
const del = this.items.splice(this.items.indexOf(it), 1);
return del.length > 0;
}
get(key, keepScalar) {
const it = findPair(this.items, key);
const node = it?.value;
return (!keepScalar && identity4.isScalar(node) ? node.value : node) ?? undefined;
}
has(key) {
return !!findPair(this.items, key);
}
set(key, value) {
this.add(new Pair.Pair(key, value), true);
}
toJSON(_2, ctx, Type) {
const map3 = Type ? new Type : ctx?.mapAsMap ? new Map : {};
if (ctx?.onCreate)
ctx.onCreate(map3);
for (const item of this.items)
addPairToJSMap.addPairToJSMap(ctx, map3, item);
return map3;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
for (const item of this.items) {
if (!identity4.isPair(item))
throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
}
if (!ctx.allNullValues && this.hasAllNullValues(false))
ctx = Object.assign({}, ctx, { allNullValues: true });
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "",
flowChars: { start: "{", end: "}" },
itemIndent: ctx.indent || "",
onChompKeep,
onComment
});
}
}
exports.YAMLMap = YAMLMap;
exports.findPair = findPair;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/common/map.js
var require_map = __commonJS((exports) => {
var identity4 = require_identity();
var YAMLMap = require_YAMLMap();
var map3 = {
collection: "map",
default: true,
nodeClass: YAMLMap.YAMLMap,
tag: "tag:yaml.org,2002:map",
resolve(map4, onError) {
if (!identity4.isMap(map4))
onError("Expected a mapping for this tag");
return map4;
},
createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
};
exports.map = map3;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/nodes/YAMLSeq.js
var require_YAMLSeq = __commonJS((exports) => {
var createNode2 = require_createNode();
var stringifyCollection = require_stringifyCollection();
var Collection = require_Collection();
var identity4 = require_identity();
var Scalar = require_Scalar();
var toJS = require_toJS();
class YAMLSeq extends Collection.Collection {
static get tagName() {
return "tag:yaml.org,2002:seq";
}
constructor(schema) {
super(identity4.SEQ, schema);
this.items = [];
}
add(value) {
this.items.push(value);
}
delete(key) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return false;
const del = this.items.splice(idx, 1);
return del.length > 0;
}
get(key, keepScalar) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
return;
const it = this.items[idx];
return !keepScalar && identity4.isScalar(it) ? it.value : it;
}
has(key) {
const idx = asItemIndex(key);
return typeof idx === "number" && idx < this.items.length;
}
set(key, value) {
const idx = asItemIndex(key);
if (typeof idx !== "number")
throw new Error(`Expected a valid index, not ${key}.`);
const prev = this.items[idx];
if (identity4.isScalar(prev) && Scalar.isScalarValue(value))
prev.value = value;
else
this.items[idx] = value;
}
toJSON(_2, ctx) {
const seq = [];
if (ctx?.onCreate)
ctx.onCreate(seq);
let i4 = 0;
for (const item of this.items)
seq.push(toJS.toJS(item, String(i4++), ctx));
return seq;
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
return stringifyCollection.stringifyCollection(this, ctx, {
blockItemPrefix: "- ",
flowChars: { start: "[", end: "]" },
itemIndent: (ctx.indent || "") + " ",
onChompKeep,
onComment
});
}
static from(schema, obj, ctx) {
const { replacer } = ctx;
const seq = new this(schema);
if (obj && Symbol.iterator in Object(obj)) {
let i4 = 0;
for (let it of obj) {
if (typeof replacer === "function") {
const key = obj instanceof Set ? it : String(i4++);
it = replacer.call(obj, key, it);
}
seq.items.push(createNode2.createNode(it, undefined, ctx));
}
}
return seq;
}
}
function asItemIndex(key) {
let idx = identity4.isScalar(key) ? key.value : key;
if (idx && typeof idx === "string")
idx = Number(idx);
return typeof idx === "number" && Number.isInteger(idx) && idx >= 0 ? idx : null;
}
exports.YAMLSeq = YAMLSeq;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/common/seq.js
var require_seq = __commonJS((exports) => {
var identity4 = require_identity();
var YAMLSeq = require_YAMLSeq();
var seq = {
collection: "seq",
default: true,
nodeClass: YAMLSeq.YAMLSeq,
tag: "tag:yaml.org,2002:seq",
resolve(seq2, onError) {
if (!identity4.isSeq(seq2))
onError("Expected a sequence for this tag");
return seq2;
},
createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
};
exports.seq = seq;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/common/string.js
var require_string = __commonJS((exports) => {
var stringifyString = require_stringifyString();
var string4 = {
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str) => str,
stringify(item, ctx, onComment, onChompKeep) {
ctx = Object.assign({ actualString: true }, ctx);
return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
}
};
exports.string = string4;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/common/null.js
var require_null = __commonJS((exports) => {
var Scalar = require_Scalar();
var nullTag2 = {
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^(?:~|[Nn]ull|NULL)?$/,
resolve: () => new Scalar.Scalar(null),
stringify: ({ source }, ctx) => typeof source === "string" && nullTag2.test.test(source) ? source : ctx.options.nullStr
};
exports.nullTag = nullTag2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/core/bool.js
var require_bool = __commonJS((exports) => {
var Scalar = require_Scalar();
var boolTag5 = {
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
resolve: (str) => new Scalar.Scalar(str[0] === "t" || str[0] === "T"),
stringify({ source, value }, ctx) {
if (source && boolTag5.test.test(source)) {
const sv = source[0] === "t" || source[0] === "T";
if (value === sv)
return source;
}
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
};
exports.boolTag = boolTag5;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyNumber.js
var require_stringifyNumber = __commonJS((exports) => {
function stringifyNumber({ format: format4, minFractionDigits, tag, value }) {
if (typeof value === "bigint")
return String(value);
const num = typeof value === "number" ? value : Number(value);
if (!isFinite(num))
return isNaN(num) ? ".nan" : num < 0 ? "-.inf" : ".inf";
let n2 = Object.is(value, -0) ? "-0" : JSON.stringify(value);
if (!format4 && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n2)) {
let i4 = n2.indexOf(".");
if (i4 < 0) {
i4 = n2.length;
n2 += ".";
}
let d = minFractionDigits - (n2.length - i4 - 1);
while (d-- > 0)
n2 += "0";
}
return n2;
}
exports.stringifyNumber = stringifyNumber;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/core/float.js
var require_float = __commonJS((exports) => {
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str) => str.slice(-3).toLowerCase() === "nan" ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
resolve: (str) => parseFloat(str),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
resolve(str) {
const node = new Scalar.Scalar(parseFloat(str));
const dot = str.indexOf(".");
if (dot !== -1 && str[str.length - 1] === "0")
node.minFractionDigits = str.length - dot - 1;
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports.float = float;
exports.floatExp = floatExp;
exports.floatNaN = floatNaN;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/core/int.js
var require_int = __commonJS((exports) => {
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
var intResolve = (str, offset, radix, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix);
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value) && value >= 0)
return prefix + value.toString(radix);
return stringifyNumber.stringifyNumber(node);
}
var intOct = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^0o[0-7]+$/,
resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
stringify: (node) => intStringify(node, 8, "0o")
};
var int2 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9]+$/,
resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: (value) => intIdentify(value) && value >= 0,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^0x[0-9a-fA-F]+$/,
resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports.int = int2;
exports.intHex = intHex;
exports.intOct = intOct;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/core/schema.js
var require_schema2 = __commonJS((exports) => {
var map3 = require_map();
var _null4 = require_null();
var seq = require_seq();
var string4 = require_string();
var bool = require_bool();
var float = require_float();
var int2 = require_int();
var schema = [
map3.map,
seq.seq,
string4.string,
_null4.nullTag,
bool.boolTag,
int2.intOct,
int2.int,
int2.intHex,
float.floatNaN,
float.floatExp,
float.float
];
exports.schema = schema;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/json/schema.js
var require_schema3 = __commonJS((exports) => {
var Scalar = require_Scalar();
var map3 = require_map();
var seq = require_seq();
function intIdentify(value) {
return typeof value === "bigint" || Number.isInteger(value);
}
var stringifyJSON = ({ value }) => JSON.stringify(value);
var jsonScalars = [
{
identify: (value) => typeof value === "string",
default: true,
tag: "tag:yaml.org,2002:str",
resolve: (str) => str,
stringify: stringifyJSON
},
{
identify: (value) => value == null,
createNode: () => new Scalar.Scalar(null),
default: true,
tag: "tag:yaml.org,2002:null",
test: /^null$/,
resolve: () => null,
stringify: stringifyJSON
},
{
identify: (value) => typeof value === "boolean",
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^true$|^false$/,
resolve: (str) => str === "true",
stringify: stringifyJSON
},
{
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^-?(?:0|[1-9][0-9]*)$/,
resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
},
{
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
resolve: (str) => parseFloat(str),
stringify: stringifyJSON
}
];
var jsonError = {
default: true,
tag: "",
test: /^/,
resolve(str, onError) {
onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
return str;
}
};
var schema = [map3.map, seq.seq].concat(jsonScalars, jsonError);
exports.schema = schema;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/binary.js
var require_binary = __commonJS((exports) => {
var node_buffer = __require("buffer");
var Scalar = require_Scalar();
var stringifyString = require_stringifyString();
var binary = {
identify: (value) => value instanceof Uint8Array,
default: false,
tag: "tag:yaml.org,2002:binary",
resolve(src, onError) {
if (typeof node_buffer.Buffer === "function") {
return node_buffer.Buffer.from(src, "base64");
} else if (typeof atob === "function") {
const str = atob(src.replace(/[\n\r]/g, ""));
const buffer = new Uint8Array(str.length);
for (let i4 = 0;i4 < str.length; ++i4)
buffer[i4] = str.charCodeAt(i4);
return buffer;
} else {
onError("This environment does not support reading binary tags; either Buffer or atob is required");
return src;
}
},
stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
if (!value)
return "";
const buf = value;
let str;
if (typeof node_buffer.Buffer === "function") {
str = buf instanceof node_buffer.Buffer ? buf.toString("base64") : node_buffer.Buffer.from(buf.buffer).toString("base64");
} else if (typeof btoa === "function") {
let s2 = "";
for (let i4 = 0;i4 < buf.length; ++i4)
s2 += String.fromCharCode(buf[i4]);
str = btoa(s2);
} else {
throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");
}
type ?? (type = Scalar.Scalar.BLOCK_LITERAL);
if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
const lineWidth2 = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
const n2 = Math.ceil(str.length / lineWidth2);
const lines = new Array(n2);
for (let i4 = 0, o2 = 0;i4 < n2; ++i4, o2 += lineWidth2) {
lines[i4] = str.substr(o2, lineWidth2);
}
str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? `
` : " ");
}
return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
}
};
exports.binary = binary;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
var require_pairs = __commonJS((exports) => {
var identity4 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLSeq = require_YAMLSeq();
function resolvePairs(seq, onError) {
if (identity4.isSeq(seq)) {
for (let i4 = 0;i4 < seq.items.length; ++i4) {
let item = seq.items[i4];
if (identity4.isPair(item))
continue;
else if (identity4.isMap(item)) {
if (item.items.length > 1)
onError("Each pair must have its own sequence indicator");
const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null));
if (item.commentBefore)
pair.key.commentBefore = pair.key.commentBefore ? `${item.commentBefore}
${pair.key.commentBefore}` : item.commentBefore;
if (item.comment) {
const cn = pair.value ?? pair.key;
cn.comment = cn.comment ? `${item.comment}
${cn.comment}` : item.comment;
}
item = pair;
}
seq.items[i4] = identity4.isPair(item) ? item : new Pair.Pair(item);
}
} else
onError("Expected a sequence for this tag");
return seq;
}
function createPairs(schema, iterable, ctx) {
const { replacer } = ctx;
const pairs2 = new YAMLSeq.YAMLSeq(schema);
pairs2.tag = "tag:yaml.org,2002:pairs";
let i4 = 0;
if (iterable && Symbol.iterator in Object(iterable))
for (let it of iterable) {
if (typeof replacer === "function")
it = replacer.call(iterable, String(i4++), it);
let key, value;
if (Array.isArray(it)) {
if (it.length === 2) {
key = it[0];
value = it[1];
} else
throw new TypeError(`Expected [key, value] tuple: ${it}`);
} else if (it && it instanceof Object) {
const keys2 = Object.keys(it);
if (keys2.length === 1) {
key = keys2[0];
value = it[key];
} else {
throw new TypeError(`Expected tuple with one key, not ${keys2.length} keys`);
}
} else {
key = it;
}
pairs2.items.push(Pair.createPair(key, value, ctx));
}
return pairs2;
}
var pairs = {
collection: "seq",
default: false,
tag: "tag:yaml.org,2002:pairs",
resolve: resolvePairs,
createNode: createPairs
};
exports.createPairs = createPairs;
exports.pairs = pairs;
exports.resolvePairs = resolvePairs;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/omap.js
var require_omap = __commonJS((exports) => {
var identity4 = require_identity();
var toJS = require_toJS();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var pairs = require_pairs();
class YAMLOMap extends YAMLSeq.YAMLSeq {
constructor() {
super();
this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
this.tag = YAMLOMap.tag;
}
toJSON(_2, ctx) {
if (!ctx)
return super.toJSON(_2);
const map3 = new Map;
if (ctx?.onCreate)
ctx.onCreate(map3);
for (const pair of this.items) {
let key, value;
if (identity4.isPair(pair)) {
key = toJS.toJS(pair.key, "", ctx);
value = toJS.toJS(pair.value, key, ctx);
} else {
key = toJS.toJS(pair, "", ctx);
}
if (map3.has(key))
throw new Error("Ordered maps must not include duplicate keys");
map3.set(key, value);
}
return map3;
}
static from(schema, iterable, ctx) {
const pairs$1 = pairs.createPairs(schema, iterable, ctx);
const omap2 = new this;
omap2.items = pairs$1.items;
return omap2;
}
}
YAMLOMap.tag = "tag:yaml.org,2002:omap";
var omap = {
collection: "seq",
identify: (value) => value instanceof Map,
nodeClass: YAMLOMap,
default: false,
tag: "tag:yaml.org,2002:omap",
resolve(seq, onError) {
const pairs$1 = pairs.resolvePairs(seq, onError);
const seenKeys = [];
for (const { key } of pairs$1.items) {
if (identity4.isScalar(key)) {
if (seenKeys.includes(key.value)) {
onError(`Ordered maps must not include duplicate keys: ${key.value}`);
} else {
seenKeys.push(key.value);
}
}
}
return Object.assign(new YAMLOMap, pairs$1);
},
createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
};
exports.YAMLOMap = YAMLOMap;
exports.omap = omap;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/bool.js
var require_bool2 = __commonJS((exports) => {
var Scalar = require_Scalar();
function boolStringify({ value, source }, ctx) {
const boolObj = value ? trueTag : falseTag;
if (source && boolObj.test.test(source))
return source;
return value ? ctx.options.trueStr : ctx.options.falseStr;
}
var trueTag = {
identify: (value) => value === true,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
resolve: () => new Scalar.Scalar(true),
stringify: boolStringify
};
var falseTag = {
identify: (value) => value === false,
default: true,
tag: "tag:yaml.org,2002:bool",
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
resolve: () => new Scalar.Scalar(false),
stringify: boolStringify
};
exports.falseTag = falseTag;
exports.trueTag = trueTag;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/float.js
var require_float2 = __commonJS((exports) => {
var Scalar = require_Scalar();
var stringifyNumber = require_stringifyNumber();
var floatNaN = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
resolve: (str) => str.slice(-3).toLowerCase() === "nan" ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
stringify: stringifyNumber.stringifyNumber
};
var floatExp = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "EXP",
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
resolve: (str) => parseFloat(str.replace(/_/g, "")),
stringify(node) {
const num = Number(node.value);
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
}
};
var float = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
resolve(str) {
const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, "")));
const dot = str.indexOf(".");
if (dot !== -1) {
const f3 = str.substring(dot + 1).replace(/_/g, "");
if (f3[f3.length - 1] === "0")
node.minFractionDigits = f3.length;
}
return node;
},
stringify: stringifyNumber.stringifyNumber
};
exports.float = float;
exports.floatExp = floatExp;
exports.floatNaN = floatNaN;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/int.js
var require_int2 = __commonJS((exports) => {
var stringifyNumber = require_stringifyNumber();
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
function intResolve(str, offset, radix, { intAsBigInt }) {
const sign = str[0];
if (sign === "-" || sign === "+")
offset += 1;
str = str.substring(offset).replace(/_/g, "");
if (intAsBigInt) {
switch (radix) {
case 2:
str = `0b${str}`;
break;
case 8:
str = `0o${str}`;
break;
case 16:
str = `0x${str}`;
break;
}
const n3 = BigInt(str);
return sign === "-" ? BigInt(-1) * n3 : n3;
}
const n2 = parseInt(str, radix);
return sign === "-" ? -1 * n2 : n2;
}
function intStringify(node, radix, prefix) {
const { value } = node;
if (intIdentify(value)) {
const str = value.toString(radix);
return value < 0 ? "-" + prefix + str.substr(1) : prefix + str;
}
return stringifyNumber.stringifyNumber(node);
}
var intBin = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "BIN",
test: /^[-+]?0b[0-1_]+$/,
resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt),
stringify: (node) => intStringify(node, 2, "0b")
};
var intOct = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "OCT",
test: /^[-+]?0[0-7_]+$/,
resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt),
stringify: (node) => intStringify(node, 8, "0")
};
var int2 = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
test: /^[-+]?[0-9][0-9_]*$/,
resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
stringify: stringifyNumber.stringifyNumber
};
var intHex = {
identify: intIdentify,
default: true,
tag: "tag:yaml.org,2002:int",
format: "HEX",
test: /^[-+]?0x[0-9a-fA-F_]+$/,
resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
stringify: (node) => intStringify(node, 16, "0x")
};
exports.int = int2;
exports.intBin = intBin;
exports.intHex = intHex;
exports.intOct = intOct;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/set.js
var require_set = __commonJS((exports) => {
var identity4 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
class YAMLSet extends YAMLMap.YAMLMap {
constructor(schema) {
super(schema);
this.tag = YAMLSet.tag;
}
add(key) {
let pair;
if (identity4.isPair(key))
pair = key;
else if (key && typeof key === "object" && "key" in key && "value" in key && key.value === null)
pair = new Pair.Pair(key.key, null);
else
pair = new Pair.Pair(key, null);
const prev = YAMLMap.findPair(this.items, pair.key);
if (!prev)
this.items.push(pair);
}
get(key, keepPair) {
const pair = YAMLMap.findPair(this.items, key);
return !keepPair && identity4.isPair(pair) ? identity4.isScalar(pair.key) ? pair.key.value : pair.key : pair;
}
set(key, value) {
if (typeof value !== "boolean")
throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
const prev = YAMLMap.findPair(this.items, key);
if (prev && !value) {
this.items.splice(this.items.indexOf(prev), 1);
} else if (!prev && value) {
this.items.push(new Pair.Pair(key));
}
}
toJSON(_2, ctx) {
return super.toJSON(_2, ctx, Set);
}
toString(ctx, onComment, onChompKeep) {
if (!ctx)
return JSON.stringify(this);
if (this.hasAllNullValues(true))
return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
else
throw new Error("Set items must all have null values");
}
static from(schema, iterable, ctx) {
const { replacer } = ctx;
const set3 = new this(schema);
if (iterable && Symbol.iterator in Object(iterable))
for (let value of iterable) {
if (typeof replacer === "function")
value = replacer.call(iterable, value, value);
set3.items.push(Pair.createPair(value, null, ctx));
}
return set3;
}
}
YAMLSet.tag = "tag:yaml.org,2002:set";
var set2 = {
collection: "map",
identify: (value) => value instanceof Set,
nodeClass: YAMLSet,
default: false,
tag: "tag:yaml.org,2002:set",
createNode: (schema, iterable, ctx) => YAMLSet.from(schema, iterable, ctx),
resolve(map3, onError) {
if (identity4.isMap(map3)) {
if (map3.hasAllNullValues(true))
return Object.assign(new YAMLSet, map3);
else
onError("Set items must all have null values");
} else
onError("Expected a mapping for this tag");
return map3;
}
};
exports.YAMLSet = YAMLSet;
exports.set = set2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
var require_timestamp = __commonJS((exports) => {
var stringifyNumber = require_stringifyNumber();
function parseSexagesimal(str, asBigInt) {
const sign = str[0];
const parts = sign === "-" || sign === "+" ? str.substring(1) : str;
const num = (n2) => asBigInt ? BigInt(n2) : Number(n2);
const res = parts.replace(/_/g, "").split(":").reduce((res2, p) => res2 * num(60) + num(p), num(0));
return sign === "-" ? num(-1) * res : res;
}
function stringifySexagesimal(node) {
let { value } = node;
let num = (n2) => n2;
if (typeof value === "bigint")
num = (n2) => BigInt(n2);
else if (isNaN(value) || !isFinite(value))
return stringifyNumber.stringifyNumber(node);
let sign = "";
if (value < 0) {
sign = "-";
value *= num(-1);
}
const _60 = num(60);
const parts = [value % _60];
if (value < 60) {
parts.unshift(0);
} else {
value = (value - parts[0]) / _60;
parts.unshift(value % _60);
if (value >= 60) {
value = (value - parts[0]) / _60;
parts.unshift(value);
}
}
return sign + parts.map((n2) => String(n2).padStart(2, "0")).join(":").replace(/000000\d*$/, "");
}
var intTime = {
identify: (value) => typeof value === "bigint" || Number.isInteger(value),
default: true,
tag: "tag:yaml.org,2002:int",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
resolve: (str, _onError, { intAsBigInt }) => parseSexagesimal(str, intAsBigInt),
stringify: stringifySexagesimal
};
var floatTime = {
identify: (value) => typeof value === "number",
default: true,
tag: "tag:yaml.org,2002:float",
format: "TIME",
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
resolve: (str) => parseSexagesimal(str, false),
stringify: stringifySexagesimal
};
var timestamp = {
identify: (value) => value instanceof Date,
default: true,
tag: "tag:yaml.org,2002:timestamp",
test: RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})" + "(?:" + "(?:t|T|[ \\t]+)" + "([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)" + "(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?" + ")?$"),
resolve(str) {
const match = str.match(timestamp.test);
if (!match)
throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");
const [, year, month, day, hour, minute, second] = match.map(Number);
const millisec = match[7] ? Number((match[7] + "00").substr(1, 3)) : 0;
let date5 = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
const tz = match[8];
if (tz && tz !== "Z") {
let d = parseSexagesimal(tz, false);
if (Math.abs(d) < 30)
d *= 60;
date5 -= 60000 * d;
}
return new Date(date5);
},
stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, "") ?? ""
};
exports.floatTime = floatTime;
exports.intTime = intTime;
exports.timestamp = timestamp;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/yaml-1.1/schema.js
var require_schema4 = __commonJS((exports) => {
var map3 = require_map();
var _null4 = require_null();
var seq = require_seq();
var string4 = require_string();
var binary = require_binary();
var bool = require_bool2();
var float = require_float2();
var int2 = require_int2();
var merge3 = require_merge2();
var omap = require_omap();
var pairs = require_pairs();
var set2 = require_set();
var timestamp = require_timestamp();
var schema = [
map3.map,
seq.seq,
string4.string,
_null4.nullTag,
bool.trueTag,
bool.falseTag,
int2.intBin,
int2.intOct,
int2.int,
int2.intHex,
float.floatNaN,
float.floatExp,
float.float,
binary.binary,
merge3.merge,
omap.omap,
pairs.pairs,
set2.set,
timestamp.intTime,
timestamp.floatTime,
timestamp.timestamp
];
exports.schema = schema;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/tags.js
var require_tags = __commonJS((exports) => {
var map3 = require_map();
var _null4 = require_null();
var seq = require_seq();
var string4 = require_string();
var bool = require_bool();
var float = require_float();
var int2 = require_int();
var schema = require_schema2();
var schema$1 = require_schema3();
var binary = require_binary();
var merge3 = require_merge2();
var omap = require_omap();
var pairs = require_pairs();
var schema$2 = require_schema4();
var set2 = require_set();
var timestamp = require_timestamp();
var schemas3 = new Map([
["core", schema.schema],
["failsafe", [map3.map, seq.seq, string4.string]],
["json", schema$1.schema],
["yaml11", schema$2.schema],
["yaml-1.1", schema$2.schema]
]);
var tagsByName = {
binary: binary.binary,
bool: bool.boolTag,
float: float.float,
floatExp: float.floatExp,
floatNaN: float.floatNaN,
floatTime: timestamp.floatTime,
int: int2.int,
intHex: int2.intHex,
intOct: int2.intOct,
intTime: timestamp.intTime,
map: map3.map,
merge: merge3.merge,
null: _null4.nullTag,
omap: omap.omap,
pairs: pairs.pairs,
seq: seq.seq,
set: set2.set,
timestamp: timestamp.timestamp
};
var coreKnownTags = {
"tag:yaml.org,2002:binary": binary.binary,
"tag:yaml.org,2002:merge": merge3.merge,
"tag:yaml.org,2002:omap": omap.omap,
"tag:yaml.org,2002:pairs": pairs.pairs,
"tag:yaml.org,2002:set": set2.set,
"tag:yaml.org,2002:timestamp": timestamp.timestamp
};
function getTags(customTags, schemaName, addMergeTag) {
const schemaTags = schemas3.get(schemaName);
if (schemaTags && !customTags) {
return addMergeTag && !schemaTags.includes(merge3.merge) ? schemaTags.concat(merge3.merge) : schemaTags.slice();
}
let tags = schemaTags;
if (!tags) {
if (Array.isArray(customTags))
tags = [];
else {
const keys2 = Array.from(schemas3.keys()).filter((key) => key !== "yaml11").map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown schema "${schemaName}"; use one of ${keys2} or define customTags array`);
}
}
if (Array.isArray(customTags)) {
for (const tag of customTags)
tags = tags.concat(tag);
} else if (typeof customTags === "function") {
tags = customTags(tags.slice());
}
if (addMergeTag)
tags = tags.concat(merge3.merge);
return tags.reduce((tags2, tag) => {
const tagObj = typeof tag === "string" ? tagsByName[tag] : tag;
if (!tagObj) {
const tagName = JSON.stringify(tag);
const keys2 = Object.keys(tagsByName).map((key) => JSON.stringify(key)).join(", ");
throw new Error(`Unknown custom tag ${tagName}; use one of ${keys2}`);
}
if (!tags2.includes(tagObj))
tags2.push(tagObj);
return tags2;
}, []);
}
exports.coreKnownTags = coreKnownTags;
exports.getTags = getTags;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/schema/Schema.js
var require_Schema = __commonJS((exports) => {
var identity4 = require_identity();
var map3 = require_map();
var seq = require_seq();
var string4 = require_string();
var tags = require_tags();
var sortMapEntriesByKey = (a2, b3) => a2.key < b3.key ? -1 : a2.key > b3.key ? 1 : 0;
class Schema {
constructor({ compat: compat2, customTags, merge: merge3, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
this.compat = Array.isArray(compat2) ? tags.getTags(compat2, "compat") : compat2 ? tags.getTags(null, compat2) : null;
this.name = typeof schema === "string" && schema || "core";
this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
this.tags = tags.getTags(customTags, this.name, merge3);
this.toStringOptions = toStringDefaults ?? null;
Object.defineProperty(this, identity4.MAP, { value: map3.map });
Object.defineProperty(this, identity4.SCALAR, { value: string4.string });
Object.defineProperty(this, identity4.SEQ, { value: seq.seq });
this.sortMapEntries = typeof sortMapEntries === "function" ? sortMapEntries : sortMapEntries === true ? sortMapEntriesByKey : null;
}
clone() {
const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
copy.tags = this.tags.slice();
return copy;
}
}
exports.Schema = Schema;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/stringify/stringifyDocument.js
var require_stringifyDocument = __commonJS((exports) => {
var identity4 = require_identity();
var stringify2 = require_stringify3();
var stringifyComment = require_stringifyComment();
function stringifyDocument(doc2, options) {
const lines = [];
let hasDirectives = options.directives === true;
if (options.directives !== false && doc2.directives) {
const dir = doc2.directives.toString(doc2);
if (dir) {
lines.push(dir);
hasDirectives = true;
} else if (doc2.directives.docStart)
hasDirectives = true;
}
if (hasDirectives)
lines.push("---");
const ctx = stringify2.createStringifyContext(doc2, options);
const { commentString } = ctx.options;
if (doc2.commentBefore) {
if (lines.length !== 1)
lines.unshift("");
const cs = commentString(doc2.commentBefore);
lines.unshift(stringifyComment.indentComment(cs, ""));
}
let chompKeep = false;
let contentComment = null;
if (doc2.contents) {
if (identity4.isNode(doc2.contents)) {
if (doc2.contents.spaceBefore && hasDirectives)
lines.push("");
if (doc2.contents.commentBefore) {
const cs = commentString(doc2.contents.commentBefore);
lines.push(stringifyComment.indentComment(cs, ""));
}
ctx.forceBlockIndent = !!doc2.comment;
contentComment = doc2.contents.comment;
}
const onChompKeep = contentComment ? undefined : () => chompKeep = true;
let body = stringify2.stringify(doc2.contents, ctx, () => contentComment = null, onChompKeep);
if (contentComment)
body += stringifyComment.lineComment(body, "", commentString(contentComment));
if ((body[0] === "|" || body[0] === ">") && lines[lines.length - 1] === "---") {
lines[lines.length - 1] = `--- ${body}`;
} else
lines.push(body);
} else {
lines.push(stringify2.stringify(doc2.contents, ctx));
}
if (doc2.directives?.docEnd) {
if (doc2.comment) {
const cs = commentString(doc2.comment);
if (cs.includes(`
`)) {
lines.push("...");
lines.push(stringifyComment.indentComment(cs, ""));
} else {
lines.push(`... ${cs}`);
}
} else {
lines.push("...");
}
} else {
let dc = doc2.comment;
if (dc && chompKeep)
dc = dc.replace(/^\n+/, "");
if (dc) {
if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "")
lines.push("");
lines.push(stringifyComment.indentComment(commentString(dc), ""));
}
}
return lines.join(`
`) + `
`;
}
exports.stringifyDocument = stringifyDocument;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/doc/Document.js
var require_Document = __commonJS((exports) => {
var Alias = require_Alias();
var Collection = require_Collection();
var identity4 = require_identity();
var Pair = require_Pair();
var toJS = require_toJS();
var Schema = require_Schema();
var stringifyDocument = require_stringifyDocument();
var anchors = require_anchors();
var applyReviver = require_applyReviver();
var createNode2 = require_createNode();
var directives = require_directives();
class Document {
constructor(value, replacer, options) {
this.commentBefore = null;
this.comment = null;
this.errors = [];
this.warnings = [];
Object.defineProperty(this, identity4.NODE_TYPE, { value: identity4.DOC });
let _replacer = null;
if (typeof replacer === "function" || Array.isArray(replacer)) {
_replacer = replacer;
} else if (options === undefined && replacer) {
options = replacer;
replacer = undefined;
}
const opt = Object.assign({
intAsBigInt: false,
keepSourceTokens: false,
logLevel: "warn",
prettyErrors: true,
strict: true,
stringKeys: false,
uniqueKeys: true,
version: "1.2"
}, options);
this.options = opt;
let { version: version6 } = opt;
if (options?._directives) {
this.directives = options._directives.atDocument();
if (this.directives.yaml.explicit)
version6 = this.directives.yaml.version;
} else
this.directives = new directives.Directives({ version: version6 });
this.setSchema(version6, options);
this.contents = value === undefined ? null : this.createNode(value, _replacer, options);
}
clone() {
const copy = Object.create(Document.prototype, {
[identity4.NODE_TYPE]: { value: identity4.DOC }
});
copy.commentBefore = this.commentBefore;
copy.comment = this.comment;
copy.errors = this.errors.slice();
copy.warnings = this.warnings.slice();
copy.options = Object.assign({}, this.options);
if (this.directives)
copy.directives = this.directives.clone();
copy.schema = this.schema.clone();
copy.contents = identity4.isNode(this.contents) ? this.contents.clone(copy.schema) : this.contents;
if (this.range)
copy.range = this.range.slice();
return copy;
}
add(value) {
if (assertCollection(this.contents))
this.contents.add(value);
}
addIn(path14, value) {
if (assertCollection(this.contents))
this.contents.addIn(path14, value);
}
createAlias(node, name3) {
if (!node.anchor) {
const prev = anchors.anchorNames(this);
node.anchor = !name3 || prev.has(name3) ? anchors.findNewAnchor(name3 || "a", prev) : name3;
}
return new Alias.Alias(node.anchor);
}
createNode(value, replacer, options) {
let _replacer = undefined;
if (typeof replacer === "function") {
value = replacer.call({ "": value }, "", value);
_replacer = replacer;
} else if (Array.isArray(replacer)) {
const keyToStr = (v2) => typeof v2 === "number" || v2 instanceof String || v2 instanceof Number;
const asStr = replacer.filter(keyToStr).map(String);
if (asStr.length > 0)
replacer = replacer.concat(asStr);
_replacer = replacer;
} else if (options === undefined && replacer) {
options = replacer;
replacer = undefined;
}
const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {};
const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(this, anchorPrefix || "a");
const ctx = {
aliasDuplicateObjects: aliasDuplicateObjects ?? true,
keepUndefined: keepUndefined ?? false,
onAnchor,
onTagObj,
replacer: _replacer,
schema: this.schema,
sourceObjects
};
const node = createNode2.createNode(value, tag, ctx);
if (flow && identity4.isCollection(node))
node.flow = true;
setAnchors();
return node;
}
createPair(key, value, options = {}) {
const k2 = this.createNode(key, null, options);
const v2 = this.createNode(value, null, options);
return new Pair.Pair(k2, v2);
}
delete(key) {
return assertCollection(this.contents) ? this.contents.delete(key) : false;
}
deleteIn(path14) {
if (Collection.isEmptyPath(path14)) {
if (this.contents == null)
return false;
this.contents = null;
return true;
}
return assertCollection(this.contents) ? this.contents.deleteIn(path14) : false;
}
get(key, keepScalar) {
return identity4.isCollection(this.contents) ? this.contents.get(key, keepScalar) : undefined;
}
getIn(path14, keepScalar) {
if (Collection.isEmptyPath(path14))
return !keepScalar && identity4.isScalar(this.contents) ? this.contents.value : this.contents;
return identity4.isCollection(this.contents) ? this.contents.getIn(path14, keepScalar) : undefined;
}
has(key) {
return identity4.isCollection(this.contents) ? this.contents.has(key) : false;
}
hasIn(path14) {
if (Collection.isEmptyPath(path14))
return this.contents !== undefined;
return identity4.isCollection(this.contents) ? this.contents.hasIn(path14) : false;
}
set(key, value) {
if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, [key], value);
} else if (assertCollection(this.contents)) {
this.contents.set(key, value);
}
}
setIn(path14, value) {
if (Collection.isEmptyPath(path14)) {
this.contents = value;
} else if (this.contents == null) {
this.contents = Collection.collectionFromPath(this.schema, Array.from(path14), value);
} else if (assertCollection(this.contents)) {
this.contents.setIn(path14, value);
}
}
setSchema(version6, options = {}) {
if (typeof version6 === "number")
version6 = String(version6);
let opt;
switch (version6) {
case "1.1":
if (this.directives)
this.directives.yaml.version = "1.1";
else
this.directives = new directives.Directives({ version: "1.1" });
opt = { resolveKnownTags: false, schema: "yaml-1.1" };
break;
case "1.2":
case "next":
if (this.directives)
this.directives.yaml.version = version6;
else
this.directives = new directives.Directives({ version: version6 });
opt = { resolveKnownTags: true, schema: "core" };
break;
case null:
if (this.directives)
delete this.directives;
opt = null;
break;
default: {
const sv = JSON.stringify(version6);
throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`);
}
}
if (options.schema instanceof Object)
this.schema = options.schema;
else if (opt)
this.schema = new Schema.Schema(Object.assign(opt, options));
else
throw new Error(`With a null YAML version, the { schema: Schema } option is required`);
}
toJS({ json: json2, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
const ctx = {
anchors: new Map,
doc: this,
keep: !json2,
mapAsMap: mapAsMap === true,
mapKeyWarned: false,
maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100
};
const res = toJS.toJS(this.contents, jsonArg ?? "", ctx);
if (typeof onAnchor === "function")
for (const { count: count3, res: res2 } of ctx.anchors.values())
onAnchor(res2, count3);
return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res;
}
toJSON(jsonArg, onAnchor) {
return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor });
}
toString(options = {}) {
if (this.errors.length > 0)
throw new Error("Document with errors cannot be stringified");
if ("indent" in options && (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) {
const s2 = JSON.stringify(options.indent);
throw new Error(`"indent" option must be a positive integer, not ${s2}`);
}
return stringifyDocument.stringifyDocument(this, options);
}
}
function assertCollection(contents) {
if (identity4.isCollection(contents))
return true;
throw new Error("Expected a YAML collection as document contents");
}
exports.Document = Document;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/errors.js
var require_errors9 = __commonJS((exports) => {
class YAMLError extends Error {
constructor(name3, pos, code, message) {
super();
this.name = name3;
this.code = code;
this.message = message;
this.pos = pos;
}
}
class YAMLParseError extends YAMLError {
constructor(pos, code, message) {
super("YAMLParseError", pos, code, message);
}
}
class YAMLWarning extends YAMLError {
constructor(pos, code, message) {
super("YAMLWarning", pos, code, message);
}
}
var prettifyError2 = (src, lc2) => (error52) => {
if (error52.pos[0] === -1)
return;
error52.linePos = error52.pos.map((pos) => lc2.linePos(pos));
const { line, col } = error52.linePos[0];
error52.message += ` at line ${line}, column ${col}`;
let ci = col - 1;
let lineStr = src.substring(lc2.lineStarts[line - 1], lc2.lineStarts[line]).replace(/[\n\r]+$/, "");
if (ci >= 60 && lineStr.length > 80) {
const trimStart = Math.min(ci - 39, lineStr.length - 79);
lineStr = "…" + lineStr.substring(trimStart);
ci -= trimStart - 1;
}
if (lineStr.length > 80)
lineStr = lineStr.substring(0, 79) + "…";
if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) {
let prev = src.substring(lc2.lineStarts[line - 2], lc2.lineStarts[line - 1]);
if (prev.length > 80)
prev = prev.substring(0, 79) + `…
`;
lineStr = prev + lineStr;
}
if (/[^ ]/.test(lineStr)) {
let count3 = 1;
const end = error52.linePos[1];
if (end?.line === line && end.col > col) {
count3 = Math.max(1, Math.min(end.col - col, 80 - ci));
}
const pointer = " ".repeat(ci) + "^".repeat(count3);
error52.message += `:
${lineStr}
${pointer}
`;
}
};
exports.YAMLError = YAMLError;
exports.YAMLParseError = YAMLParseError;
exports.YAMLWarning = YAMLWarning;
exports.prettifyError = prettifyError2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-props.js
var require_resolve_props = __commonJS((exports) => {
function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
let spaceBefore = false;
let atNewline = startOnNewline;
let hasSpace = startOnNewline;
let comment = "";
let commentSep = "";
let hasNewline = false;
let reqSpace = false;
let tab = null;
let anchor = null;
let tag = null;
let newlineAfterProp = null;
let comma = null;
let found = null;
let start = null;
for (const token of tokens) {
if (reqSpace) {
if (token.type !== "space" && token.type !== "newline" && token.type !== "comma")
onError(token.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
reqSpace = false;
}
if (tab) {
if (atNewline && token.type !== "comment" && token.type !== "newline") {
onError(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
}
tab = null;
}
switch (token.type) {
case "space":
if (!flow && (indicator !== "doc-start" || next?.type !== "flow-collection") && token.source.includes("\t")) {
tab = token;
}
hasSpace = true;
break;
case "comment": {
if (!hasSpace)
onError(token, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = token.source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += commentSep + cb;
commentSep = "";
atNewline = false;
break;
}
case "newline":
if (atNewline) {
if (comment)
comment += token.source;
else if (!found || indicator !== "seq-item-ind")
spaceBefore = true;
} else
commentSep += token.source;
atNewline = true;
hasNewline = true;
if (anchor || tag)
newlineAfterProp = token;
hasSpace = true;
break;
case "anchor":
if (anchor)
onError(token, "MULTIPLE_ANCHORS", "A node can have at most one anchor");
if (token.source.endsWith(":"))
onError(token.offset + token.source.length - 1, "BAD_ALIAS", "Anchor ending in : is ambiguous", true);
anchor = token;
start ?? (start = token.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
case "tag": {
if (tag)
onError(token, "MULTIPLE_TAGS", "A node can have at most one tag");
tag = token;
start ?? (start = token.offset);
atNewline = false;
hasSpace = false;
reqSpace = true;
break;
}
case indicator:
if (anchor || tag)
onError(token, "BAD_PROP_ORDER", `Anchors and tags must be after the ${token.source} indicator`);
if (found)
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${token.source} in ${flow ?? "collection"}`);
found = token;
atNewline = indicator === "seq-item-ind" || indicator === "explicit-key-ind";
hasSpace = false;
break;
case "comma":
if (flow) {
if (comma)
onError(token, "UNEXPECTED_TOKEN", `Unexpected , in ${flow}`);
comma = token;
atNewline = false;
hasSpace = false;
break;
}
default:
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${token.type} token`);
atNewline = false;
hasSpace = false;
}
}
const last2 = tokens[tokens.length - 1];
const end = last2 ? last2.offset + last2.source.length : offset;
if (reqSpace && next && next.type !== "space" && next.type !== "newline" && next.type !== "comma" && (next.type !== "scalar" || next.source !== "")) {
onError(next.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
}
if (tab && (atNewline && tab.indent <= parentIndent || next?.type === "block-map" || next?.type === "block-seq"))
onError(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
return {
comma,
found,
spaceBefore,
comment,
hasNewline,
anchor,
tag,
newlineAfterProp,
end,
start: start ?? end
};
}
exports.resolveProps = resolveProps;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/util-contains-newline.js
var require_util_contains_newline = __commonJS((exports) => {
function containsNewline(key) {
if (!key)
return null;
switch (key.type) {
case "alias":
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
if (key.source.includes(`
`))
return true;
if (key.end) {
for (const st of key.end)
if (st.type === "newline")
return true;
}
return false;
case "flow-collection":
for (const it of key.items) {
for (const st of it.start)
if (st.type === "newline")
return true;
if (it.sep) {
for (const st of it.sep)
if (st.type === "newline")
return true;
}
if (containsNewline(it.key) || containsNewline(it.value))
return true;
}
return false;
default:
return true;
}
}
exports.containsNewline = containsNewline;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/util-flow-indent-check.js
var require_util_flow_indent_check = __commonJS((exports) => {
var utilContainsNewline = require_util_contains_newline();
function flowIndentCheck(indent, fc, onError) {
if (fc?.type === "flow-collection") {
const end = fc.end[0];
if (end.indent === indent && (end.source === "]" || end.source === "}") && utilContainsNewline.containsNewline(fc)) {
const msg = "Flow end indicator should be more indented than parent";
onError(end, "BAD_INDENT", msg, true);
}
}
}
exports.flowIndentCheck = flowIndentCheck;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/util-map-includes.js
var require_util_map_includes = __commonJS((exports) => {
var identity4 = require_identity();
function mapIncludes(ctx, items, search) {
const { uniqueKeys } = ctx.options;
if (uniqueKeys === false)
return false;
const isEqual2 = typeof uniqueKeys === "function" ? uniqueKeys : (a2, b3) => a2 === b3 || identity4.isScalar(a2) && identity4.isScalar(b3) && a2.value === b3.value;
return items.some((pair) => isEqual2(pair.key, search));
}
exports.mapIncludes = mapIncludes;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-map.js
var require_resolve_block_map = __commonJS((exports) => {
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilFlowIndentCheck = require_util_flow_indent_check();
var utilMapIncludes = require_util_map_includes();
var startColMsg = "All mapping items must start at the same column";
function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError, tag) {
const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
const map3 = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
let offset = bm.offset;
let commentEnd = null;
for (const collItem of bm.items) {
const { start, key, sep: sep9, value } = collItem;
const keyProps = resolveProps.resolveProps(start, {
indicator: "explicit-key-ind",
next: key ?? sep9?.[0],
offset,
onError,
parentIndent: bm.indent,
startOnNewline: true
});
const implicitKey = !keyProps.found;
if (implicitKey) {
if (key) {
if (key.type === "block-seq")
onError(offset, "BLOCK_AS_IMPLICIT_KEY", "A block sequence may not be used as an implicit map key");
else if ("indent" in key && key.indent !== bm.indent)
onError(offset, "BAD_INDENT", startColMsg);
}
if (!keyProps.anchor && !keyProps.tag && !sep9) {
commentEnd = keyProps.end;
if (keyProps.comment) {
if (map3.comment)
map3.comment += `
` + keyProps.comment;
else
map3.comment = keyProps.comment;
}
continue;
}
if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
onError(key ?? start[start.length - 1], "MULTILINE_IMPLICIT_KEY", "Implicit keys need to be on a single line");
}
} else if (keyProps.found?.indent !== bm.indent) {
onError(offset, "BAD_INDENT", startColMsg);
}
ctx.atKey = true;
const keyStart = keyProps.end;
const keyNode = key ? composeNode(ctx, key, keyProps, onError) : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
ctx.atKey = false;
if (utilMapIncludes.mapIncludes(ctx, map3.items, keyNode))
onError(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
const valueProps = resolveProps.resolveProps(sep9 ?? [], {
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError,
parentIndent: bm.indent,
startOnNewline: !key || key.type === "block-scalar"
});
offset = valueProps.end;
if (valueProps.found) {
if (implicitKey) {
if (value?.type === "block-map" && !valueProps.hasNewline)
onError(offset, "BLOCK_AS_IMPLICIT_KEY", "Nested mappings are not allowed in compact mappings");
if (ctx.options.strict && keyProps.start < valueProps.found.offset - 1024)
onError(keyNode.range, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit block mapping key");
}
const valueNode = value ? composeNode(ctx, value, valueProps, onError) : composeEmptyNode(ctx, offset, sep9, null, valueProps, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
offset = valueNode.range[2];
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map3.items.push(pair);
} else {
if (implicitKey)
onError(keyNode.range, "MISSING_CHAR", "Implicit map keys need to be followed by map values");
if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += `
` + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
map3.items.push(pair);
}
}
if (commentEnd && commentEnd < offset)
onError(commentEnd, "IMPOSSIBLE", "Map comment with trailing content");
map3.range = [bm.offset, offset, commentEnd ?? offset];
return map3;
}
exports.resolveBlockMap = resolveBlockMap;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-seq.js
var require_resolve_block_seq = __commonJS((exports) => {
var YAMLSeq = require_YAMLSeq();
var resolveProps = require_resolve_props();
var utilFlowIndentCheck = require_util_flow_indent_check();
function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError, tag) {
const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
const seq = new NodeClass(ctx.schema);
if (ctx.atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = bs.offset;
let commentEnd = null;
for (const { start, value } of bs.items) {
const props = resolveProps.resolveProps(start, {
indicator: "seq-item-ind",
next: value,
offset,
onError,
parentIndent: bs.indent,
startOnNewline: true
});
if (!props.found) {
if (props.anchor || props.tag || value) {
if (value?.type === "block-seq")
onError(props.end, "BAD_INDENT", "All sequence items must start at the same column");
else
onError(offset, "MISSING_CHAR", "Sequence item without - indicator");
} else {
commentEnd = props.end;
if (props.comment)
seq.comment = props.comment;
continue;
}
}
const node = value ? composeNode(ctx, value, props, onError) : composeEmptyNode(ctx, props.end, start, null, props, onError);
if (ctx.schema.compat)
utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError);
offset = node.range[2];
seq.items.push(node);
}
seq.range = [bs.offset, offset, commentEnd ?? offset];
return seq;
}
exports.resolveBlockSeq = resolveBlockSeq;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-end.js
var require_resolve_end = __commonJS((exports) => {
function resolveEnd(end, offset, reqSpace, onError) {
let comment = "";
if (end) {
let hasSpace = false;
let sep9 = "";
for (const token of end) {
const { source, type } = token;
switch (type) {
case "space":
hasSpace = true;
break;
case "comment": {
if (reqSpace && !hasSpace)
onError(token, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
const cb = source.substring(1) || " ";
if (!comment)
comment = cb;
else
comment += sep9 + cb;
sep9 = "";
break;
}
case "newline":
if (comment)
sep9 += source;
hasSpace = true;
break;
default:
onError(token, "UNEXPECTED_TOKEN", `Unexpected ${type} at node end`);
}
offset += source.length;
}
}
return { comment, offset };
}
exports.resolveEnd = resolveEnd;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-flow-collection.js
var require_resolve_flow_collection = __commonJS((exports) => {
var identity4 = require_identity();
var Pair = require_Pair();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
var utilContainsNewline = require_util_contains_newline();
var utilMapIncludes = require_util_map_includes();
var blockMsg = "Block collections are not allowed within flow collections";
var isBlock = (token) => token && (token.type === "block-map" || token.type === "block-seq");
function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError, tag) {
const isMap2 = fc.start.source === "{";
const fcName = isMap2 ? "flow map" : "flow sequence";
const NodeClass = tag?.nodeClass ?? (isMap2 ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq);
const coll = new NodeClass(ctx.schema);
coll.flow = true;
const atRoot = ctx.atRoot;
if (atRoot)
ctx.atRoot = false;
if (ctx.atKey)
ctx.atKey = false;
let offset = fc.offset + fc.start.source.length;
for (let i4 = 0;i4 < fc.items.length; ++i4) {
const collItem = fc.items[i4];
const { start, key, sep: sep9, value } = collItem;
const props = resolveProps.resolveProps(start, {
flow: fcName,
indicator: "explicit-key-ind",
next: key ?? sep9?.[0],
offset,
onError,
parentIndent: fc.indent,
startOnNewline: false
});
if (!props.found) {
if (!props.anchor && !props.tag && !sep9 && !value) {
if (i4 === 0 && props.comma)
onError(props.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
else if (i4 < fc.items.length - 1)
onError(props.start, "UNEXPECTED_TOKEN", `Unexpected empty item in ${fcName}`);
if (props.comment) {
if (coll.comment)
coll.comment += `
` + props.comment;
else
coll.comment = props.comment;
}
offset = props.end;
continue;
}
if (!isMap2 && ctx.options.strict && utilContainsNewline.containsNewline(key))
onError(key, "MULTILINE_IMPLICIT_KEY", "Implicit keys of flow sequence pairs need to be on a single line");
}
if (i4 === 0) {
if (props.comma)
onError(props.comma, "UNEXPECTED_TOKEN", `Unexpected , in ${fcName}`);
} else {
if (!props.comma)
onError(props.start, "MISSING_CHAR", `Missing , between ${fcName} items`);
if (props.comment) {
let prevItemComment = "";
loop:
for (const st of start) {
switch (st.type) {
case "comma":
case "space":
break;
case "comment":
prevItemComment = st.source.substring(1);
break loop;
default:
break loop;
}
}
if (prevItemComment) {
let prev = coll.items[coll.items.length - 1];
if (identity4.isPair(prev))
prev = prev.value ?? prev.key;
if (prev.comment)
prev.comment += `
` + prevItemComment;
else
prev.comment = prevItemComment;
props.comment = props.comment.substring(prevItemComment.length + 1);
}
}
}
if (!isMap2 && !sep9 && !props.found) {
const valueNode = value ? composeNode(ctx, value, props, onError) : composeEmptyNode(ctx, props.end, sep9, null, props, onError);
coll.items.push(valueNode);
offset = valueNode.range[2];
if (isBlock(value))
onError(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else {
ctx.atKey = true;
const keyStart = props.end;
const keyNode = key ? composeNode(ctx, key, props, onError) : composeEmptyNode(ctx, keyStart, start, null, props, onError);
if (isBlock(key))
onError(keyNode.range, "BLOCK_IN_FLOW", blockMsg);
ctx.atKey = false;
const valueProps = resolveProps.resolveProps(sep9 ?? [], {
flow: fcName,
indicator: "map-value-ind",
next: value,
offset: keyNode.range[2],
onError,
parentIndent: fc.indent,
startOnNewline: false
});
if (valueProps.found) {
if (!isMap2 && !props.found && ctx.options.strict) {
if (sep9)
for (const st of sep9) {
if (st === valueProps.found)
break;
if (st.type === "newline") {
onError(st, "MULTILINE_IMPLICIT_KEY", "Implicit keys of flow sequence pairs need to be on a single line");
break;
}
}
if (props.start < valueProps.found.offset - 1024)
onError(valueProps.found, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit flow sequence key");
}
} else if (value) {
if ("source" in value && value.source?.[0] === ":")
onError(value, "MISSING_CHAR", `Missing space after : in ${fcName}`);
else
onError(valueProps.start, "MISSING_CHAR", `Missing , or : between ${fcName} items`);
}
const valueNode = value ? composeNode(ctx, value, valueProps, onError) : valueProps.found ? composeEmptyNode(ctx, valueProps.end, sep9, null, valueProps, onError) : null;
if (valueNode) {
if (isBlock(value))
onError(valueNode.range, "BLOCK_IN_FLOW", blockMsg);
} else if (valueProps.comment) {
if (keyNode.comment)
keyNode.comment += `
` + valueProps.comment;
else
keyNode.comment = valueProps.comment;
}
const pair = new Pair.Pair(keyNode, valueNode);
if (ctx.options.keepSourceTokens)
pair.srcToken = collItem;
if (isMap2) {
const map3 = coll;
if (utilMapIncludes.mapIncludes(ctx, map3.items, keyNode))
onError(keyStart, "DUPLICATE_KEY", "Map keys must be unique");
map3.items.push(pair);
} else {
const map3 = new YAMLMap.YAMLMap(ctx.schema);
map3.flow = true;
map3.items.push(pair);
const endRange = (valueNode ?? keyNode).range;
map3.range = [keyNode.range[0], endRange[1], endRange[2]];
coll.items.push(map3);
}
offset = valueNode ? valueNode.range[2] : valueProps.end;
}
}
const expectedEnd = isMap2 ? "}" : "]";
const [ce2, ...ee] = fc.end;
let cePos = offset;
if (ce2?.source === expectedEnd)
cePos = ce2.offset + ce2.source.length;
else {
const name3 = fcName[0].toUpperCase() + fcName.substring(1);
const msg = atRoot ? `${name3} must end with a ${expectedEnd}` : `${name3} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
onError(offset, atRoot ? "MISSING_CHAR" : "BAD_INDENT", msg);
if (ce2 && ce2.source.length !== 1)
ee.unshift(ce2);
}
if (ee.length > 0) {
const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError);
if (end.comment) {
if (coll.comment)
coll.comment += `
` + end.comment;
else
coll.comment = end.comment;
}
coll.range = [fc.offset, cePos, end.offset];
} else {
coll.range = [fc.offset, cePos, cePos];
}
return coll;
}
exports.resolveFlowCollection = resolveFlowCollection;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/compose-collection.js
var require_compose_collection = __commonJS((exports) => {
var identity4 = require_identity();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var resolveBlockMap = require_resolve_block_map();
var resolveBlockSeq = require_resolve_block_seq();
var resolveFlowCollection = require_resolve_flow_collection();
function resolveCollection(CN, ctx, token, onError, tagName, tag) {
const coll = token.type === "block-map" ? resolveBlockMap.resolveBlockMap(CN, ctx, token, onError, tag) : token.type === "block-seq" ? resolveBlockSeq.resolveBlockSeq(CN, ctx, token, onError, tag) : resolveFlowCollection.resolveFlowCollection(CN, ctx, token, onError, tag);
const Coll = coll.constructor;
if (tagName === "!" || tagName === Coll.tagName) {
coll.tag = Coll.tagName;
return coll;
}
if (tagName)
coll.tag = tagName;
return coll;
}
function composeCollection(CN, ctx, token, props, onError) {
const tagToken = props.tag;
const tagName = !tagToken ? null : ctx.directives.tagName(tagToken.source, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg));
if (token.type === "block-seq") {
const { anchor, newlineAfterProp: nl } = props;
const lastProp = anchor && tagToken ? anchor.offset > tagToken.offset ? anchor : tagToken : anchor ?? tagToken;
if (lastProp && (!nl || nl.offset < lastProp.offset)) {
const message = "Missing newline after block sequence props";
onError(lastProp, "MISSING_CHAR", message);
}
}
const expType = token.type === "block-map" ? "map" : token.type === "block-seq" ? "seq" : token.start.source === "{" ? "map" : "seq";
if (!tagToken || !tagName || tagName === "!" || tagName === YAMLMap.YAMLMap.tagName && expType === "map" || tagName === YAMLSeq.YAMLSeq.tagName && expType === "seq") {
return resolveCollection(CN, ctx, token, onError, tagName);
}
let tag = ctx.schema.tags.find((t2) => t2.tag === tagName && t2.collection === expType);
if (!tag) {
const kt = ctx.schema.knownTags[tagName];
if (kt?.collection === expType) {
ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
tag = kt;
} else {
if (kt) {
onError(tagToken, "BAD_COLLECTION_TYPE", `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? "scalar"}`, true);
} else {
onError(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, true);
}
return resolveCollection(CN, ctx, token, onError, tagName);
}
}
const coll = resolveCollection(CN, ctx, token, onError, tagName, tag);
const res = tag.resolve?.(coll, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg), ctx.options) ?? coll;
const node = identity4.isNode(res) ? res : new Scalar.Scalar(res);
node.range = coll.range;
node.tag = tagName;
if (tag?.format)
node.format = tag.format;
return node;
}
exports.composeCollection = composeCollection;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-block-scalar.js
var require_resolve_block_scalar = __commonJS((exports) => {
var Scalar = require_Scalar();
function resolveBlockScalar(ctx, scalar, onError) {
const start = scalar.offset;
const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError);
if (!header)
return { value: "", type: null, comment: "", range: [start, start, start] };
const type = header.mode === ">" ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
const lines = scalar.source ? splitLines(scalar.source) : [];
let chompStart = lines.length;
for (let i4 = lines.length - 1;i4 >= 0; --i4) {
const content = lines[i4][1];
if (content === "" || content === "\r")
chompStart = i4;
else
break;
}
if (chompStart === 0) {
const value2 = header.chomp === "+" && lines.length > 0 ? `
`.repeat(Math.max(1, lines.length - 1)) : "";
let end2 = start + header.length;
if (scalar.source)
end2 += scalar.source.length;
return { value: value2, type, comment: header.comment, range: [start, end2, end2] };
}
let trimIndent = scalar.indent + header.indent;
let offset = scalar.offset + header.length;
let contentStart = 0;
for (let i4 = 0;i4 < chompStart; ++i4) {
const [indent, content] = lines[i4];
if (content === "" || content === "\r") {
if (header.indent === 0 && indent.length > trimIndent)
trimIndent = indent.length;
} else {
if (indent.length < trimIndent) {
const message = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator";
onError(offset + indent.length, "MISSING_CHAR", message);
}
if (header.indent === 0)
trimIndent = indent.length;
contentStart = i4;
if (trimIndent === 0 && !ctx.atRoot) {
const message = "Block scalar values in collections must be indented";
onError(offset, "BAD_INDENT", message);
}
break;
}
offset += indent.length + content.length + 1;
}
for (let i4 = lines.length - 1;i4 >= chompStart; --i4) {
if (lines[i4][0].length > trimIndent)
chompStart = i4 + 1;
}
let value = "";
let sep9 = "";
let prevMoreIndented = false;
for (let i4 = 0;i4 < contentStart; ++i4)
value += lines[i4][0].slice(trimIndent) + `
`;
for (let i4 = contentStart;i4 < chompStart; ++i4) {
let [indent, content] = lines[i4];
offset += indent.length + content.length + 1;
const crlf = content[content.length - 1] === "\r";
if (crlf)
content = content.slice(0, -1);
if (content && indent.length < trimIndent) {
const src = header.indent ? "explicit indentation indicator" : "first line";
const message = `Block scalar lines must not be less indented than their ${src}`;
onError(offset - content.length - (crlf ? 2 : 1), "BAD_INDENT", message);
indent = "";
}
if (type === Scalar.Scalar.BLOCK_LITERAL) {
value += sep9 + indent.slice(trimIndent) + content;
sep9 = `
`;
} else if (indent.length > trimIndent || content[0] === "\t") {
if (sep9 === " ")
sep9 = `
`;
else if (!prevMoreIndented && sep9 === `
`)
sep9 = `
`;
value += sep9 + indent.slice(trimIndent) + content;
sep9 = `
`;
prevMoreIndented = true;
} else if (content === "") {
if (sep9 === `
`)
value += `
`;
else
sep9 = `
`;
} else {
value += sep9 + content;
sep9 = " ";
prevMoreIndented = false;
}
}
switch (header.chomp) {
case "-":
break;
case "+":
for (let i4 = chompStart;i4 < lines.length; ++i4)
value += `
` + lines[i4][0].slice(trimIndent);
if (value[value.length - 1] !== `
`)
value += `
`;
break;
default:
value += `
`;
}
const end = start + header.length + scalar.source.length;
return { value, type, comment: header.comment, range: [start, end, end] };
}
function parseBlockScalarHeader({ offset, props }, strict, onError) {
if (props[0].type !== "block-scalar-header") {
onError(props[0], "IMPOSSIBLE", "Block scalar header not found");
return null;
}
const { source } = props[0];
const mode = source[0];
let indent = 0;
let chomp = "";
let error52 = -1;
for (let i4 = 1;i4 < source.length; ++i4) {
const ch2 = source[i4];
if (!chomp && (ch2 === "-" || ch2 === "+"))
chomp = ch2;
else {
const n2 = Number(ch2);
if (!indent && n2)
indent = n2;
else if (error52 === -1)
error52 = offset + i4;
}
}
if (error52 !== -1)
onError(error52, "UNEXPECTED_TOKEN", `Block scalar header includes extra characters: ${source}`);
let hasSpace = false;
let comment = "";
let length = source.length;
for (let i4 = 1;i4 < props.length; ++i4) {
const token = props[i4];
switch (token.type) {
case "space":
hasSpace = true;
case "newline":
length += token.source.length;
break;
case "comment":
if (strict && !hasSpace) {
const message = "Comments must be separated from other tokens by white space characters";
onError(token, "MISSING_CHAR", message);
}
length += token.source.length;
comment = token.source.substring(1);
break;
case "error":
onError(token, "UNEXPECTED_TOKEN", token.message);
length += token.source.length;
break;
default: {
const message = `Unexpected token in block scalar header: ${token.type}`;
onError(token, "UNEXPECTED_TOKEN", message);
const ts = token.source;
if (ts && typeof ts === "string")
length += ts.length;
}
}
}
return { mode, indent, chomp, comment, length };
}
function splitLines(source) {
const split = source.split(/\n( *)/);
const first = split[0];
const m3 = first.match(/^( *)/);
const line0 = m3?.[1] ? [m3[1], first.slice(m3[1].length)] : ["", first];
const lines = [line0];
for (let i4 = 1;i4 < split.length; i4 += 2)
lines.push([split[i4], split[i4 + 1]]);
return lines;
}
exports.resolveBlockScalar = resolveBlockScalar;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/resolve-flow-scalar.js
var require_resolve_flow_scalar = __commonJS((exports) => {
var Scalar = require_Scalar();
var resolveEnd = require_resolve_end();
function resolveFlowScalar(scalar, strict, onError) {
const { offset, type, source, end } = scalar;
let _type;
let value;
const _onError = (rel, code, msg) => onError(offset + rel, code, msg);
switch (type) {
case "scalar":
_type = Scalar.Scalar.PLAIN;
value = plainValue(source, _onError);
break;
case "single-quoted-scalar":
_type = Scalar.Scalar.QUOTE_SINGLE;
value = singleQuotedValue(source, _onError);
break;
case "double-quoted-scalar":
_type = Scalar.Scalar.QUOTE_DOUBLE;
value = doubleQuotedValue(source, _onError);
break;
default:
onError(scalar, "UNEXPECTED_TOKEN", `Expected a flow scalar value, but found: ${type}`);
return {
value: "",
type: null,
comment: "",
range: [offset, offset + source.length, offset + source.length]
};
}
const valueEnd = offset + source.length;
const re2 = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
return {
value,
type: _type,
comment: re2.comment,
range: [offset, valueEnd, re2.offset]
};
}
function plainValue(source, onError) {
let badChar = "";
switch (source[0]) {
case "\t":
badChar = "a tab character";
break;
case ",":
badChar = "flow indicator character ,";
break;
case "%":
badChar = "directive indicator character %";
break;
case "|":
case ">": {
badChar = `block scalar indicator ${source[0]}`;
break;
}
case "@":
case "`": {
badChar = `reserved character ${source[0]}`;
break;
}
}
if (badChar)
onError(0, "BAD_SCALAR_START", `Plain value cannot start with ${badChar}`);
return foldLines(source);
}
function singleQuotedValue(source, onError) {
if (source[source.length - 1] !== "'" || source.length === 1)
onError(source.length, "MISSING_CHAR", "Missing closing 'quote");
return foldLines(source.slice(1, -1)).replace(/''/g, "'");
}
function foldLines(source) {
let first, line;
try {
first = new RegExp(`(.*?)(? wsStart ? source.slice(wsStart, i4 + 1) : ch2;
} else {
res += ch2;
}
}
if (source[source.length - 1] !== '"' || source.length === 1)
onError(source.length, "MISSING_CHAR", 'Missing closing "quote');
return res;
}
function foldNewline(source, offset) {
let fold = "";
let ch2 = source[offset + 1];
while (ch2 === " " || ch2 === "\t" || ch2 === `
` || ch2 === "\r") {
if (ch2 === "\r" && source[offset + 2] !== `
`)
break;
if (ch2 === `
`)
fold += `
`;
offset += 1;
ch2 = source[offset + 1];
}
if (!fold)
fold = " ";
return { fold, offset };
}
var escapeCodes = {
"0": "\x00",
a: "\x07",
b: "\b",
e: "\x1B",
f: "\f",
n: `
`,
r: "\r",
t: "\t",
v: "\v",
N: "
",
_: " ",
L: "\u2028",
P: "\u2029",
" ": " ",
'"': '"',
"/": "/",
"\\": "\\",
"\t": "\t"
};
function parseCharCode(source, offset, length, onError) {
const cc = source.substr(offset, length);
const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
const code = ok ? parseInt(cc, 16) : NaN;
if (isNaN(code)) {
const raw = source.substr(offset - 2, length + 2);
onError(offset - 2, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
return raw;
}
return String.fromCodePoint(code);
}
exports.resolveFlowScalar = resolveFlowScalar;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/compose-scalar.js
var require_compose_scalar = __commonJS((exports) => {
var identity4 = require_identity();
var Scalar = require_Scalar();
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
function composeScalar(ctx, token, tagToken, onError) {
const { value, type, comment, range } = token.type === "block-scalar" ? resolveBlockScalar.resolveBlockScalar(ctx, token, onError) : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError);
const tagName = tagToken ? ctx.directives.tagName(tagToken.source, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg)) : null;
let tag;
if (ctx.options.stringKeys && ctx.atKey) {
tag = ctx.schema[identity4.SCALAR];
} else if (tagName)
tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError);
else if (token.type === "scalar")
tag = findScalarTagByTest(ctx, value, token, onError);
else
tag = ctx.schema[identity4.SCALAR];
let scalar;
try {
const res = tag.resolve(value, (msg) => onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg), ctx.options);
scalar = identity4.isScalar(res) ? res : new Scalar.Scalar(res);
} catch (error52) {
const msg = error52 instanceof Error ? error52.message : String(error52);
onError(tagToken ?? token, "TAG_RESOLVE_FAILED", msg);
scalar = new Scalar.Scalar(value);
}
scalar.range = range;
scalar.source = value;
if (type)
scalar.type = type;
if (tagName)
scalar.tag = tagName;
if (tag.format)
scalar.format = tag.format;
if (comment)
scalar.comment = comment;
return scalar;
}
function findScalarTagByName(schema, value, tagName, tagToken, onError) {
if (tagName === "!")
return schema[identity4.SCALAR];
const matchWithTest = [];
for (const tag of schema.tags) {
if (!tag.collection && tag.tag === tagName) {
if (tag.default && tag.test)
matchWithTest.push(tag);
else
return tag;
}
}
for (const tag of matchWithTest)
if (tag.test?.test(value))
return tag;
const kt = schema.knownTags[tagName];
if (kt && !kt.collection) {
schema.tags.push(Object.assign({}, kt, { default: false, test: undefined }));
return kt;
}
onError(tagToken, "TAG_RESOLVE_FAILED", `Unresolved tag: ${tagName}`, tagName !== "tag:yaml.org,2002:str");
return schema[identity4.SCALAR];
}
function findScalarTagByTest({ atKey, directives, schema }, value, token, onError) {
const tag = schema.tags.find((tag2) => (tag2.default === true || atKey && tag2.default === "key") && tag2.test?.test(value)) || schema[identity4.SCALAR];
if (schema.compat) {
const compat2 = schema.compat.find((tag2) => tag2.default && tag2.test?.test(value)) ?? schema[identity4.SCALAR];
if (tag.tag !== compat2.tag) {
const ts = directives.tagString(tag.tag);
const cs = directives.tagString(compat2.tag);
const msg = `Value may be parsed as either ${ts} or ${cs}`;
onError(token, "TAG_RESOLVE_FAILED", msg, true);
}
}
return tag;
}
exports.composeScalar = composeScalar;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/util-empty-scalar-position.js
var require_util_empty_scalar_position = __commonJS((exports) => {
function emptyScalarPosition(offset, before, pos) {
if (before) {
pos ?? (pos = before.length);
for (let i4 = pos - 1;i4 >= 0; --i4) {
let st = before[i4];
switch (st.type) {
case "space":
case "comment":
case "newline":
offset -= st.source.length;
continue;
}
st = before[++i4];
while (st?.type === "space") {
offset += st.source.length;
st = before[++i4];
}
break;
}
}
return offset;
}
exports.emptyScalarPosition = emptyScalarPosition;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/compose-node.js
var require_compose_node = __commonJS((exports) => {
var Alias = require_Alias();
var identity4 = require_identity();
var composeCollection = require_compose_collection();
var composeScalar = require_compose_scalar();
var resolveEnd = require_resolve_end();
var utilEmptyScalarPosition = require_util_empty_scalar_position();
var CN = { composeNode, composeEmptyNode };
function composeNode(ctx, token, props, onError) {
const atKey = ctx.atKey;
const { spaceBefore, comment, anchor, tag } = props;
let node;
let isSrcToken = true;
switch (token.type) {
case "alias":
node = composeAlias(ctx, token, onError);
if (anchor || tag)
onError(token, "ALIAS_PROPS", "An alias node must not specify any properties");
break;
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "block-scalar":
node = composeScalar.composeScalar(ctx, token, tag, onError);
if (anchor)
node.anchor = anchor.source.substring(1);
break;
case "block-map":
case "block-seq":
case "flow-collection":
try {
node = composeCollection.composeCollection(CN, ctx, token, props, onError);
if (anchor)
node.anchor = anchor.source.substring(1);
} catch (error52) {
const message = error52 instanceof Error ? error52.message : String(error52);
onError(token, "RESOURCE_EXHAUSTION", message);
}
break;
default: {
const message = token.type === "error" ? token.message : `Unsupported token (type: ${token.type})`;
onError(token, "UNEXPECTED_TOKEN", message);
isSrcToken = false;
}
}
node ?? (node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError));
if (anchor && node.anchor === "")
onError(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
if (atKey && ctx.options.stringKeys && (!identity4.isScalar(node) || typeof node.value !== "string" || node.tag && node.tag !== "tag:yaml.org,2002:str")) {
const msg = "With stringKeys, all keys must be strings";
onError(tag ?? token, "NON_STRING_KEY", msg);
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
if (token.type === "scalar" && token.source === "")
node.comment = comment;
else
node.commentBefore = comment;
}
if (ctx.options.keepSourceTokens && isSrcToken)
node.srcToken = token;
return node;
}
function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) {
const token = {
type: "scalar",
offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
indent: -1,
source: ""
};
const node = composeScalar.composeScalar(ctx, token, tag, onError);
if (anchor) {
node.anchor = anchor.source.substring(1);
if (node.anchor === "")
onError(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
}
if (spaceBefore)
node.spaceBefore = true;
if (comment) {
node.comment = comment;
node.range[2] = end;
}
return node;
}
function composeAlias({ options }, { offset, source, end }, onError) {
const alias = new Alias.Alias(source.substring(1));
if (alias.source === "")
onError(offset, "BAD_ALIAS", "Alias cannot be an empty string");
if (alias.source.endsWith(":"))
onError(offset + source.length - 1, "BAD_ALIAS", "Alias ending in : is ambiguous", true);
const valueEnd = offset + source.length;
const re2 = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
alias.range = [offset, valueEnd, re2.offset];
if (re2.comment)
alias.comment = re2.comment;
return alias;
}
exports.composeEmptyNode = composeEmptyNode;
exports.composeNode = composeNode;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/compose-doc.js
var require_compose_doc = __commonJS((exports) => {
var Document = require_Document();
var composeNode = require_compose_node();
var resolveEnd = require_resolve_end();
var resolveProps = require_resolve_props();
function composeDoc(options, directives, { offset, start, value, end }, onError) {
const opts = Object.assign({ _directives: directives }, options);
const doc2 = new Document.Document(undefined, opts);
const ctx = {
atKey: false,
atRoot: true,
directives: doc2.directives,
options: doc2.options,
schema: doc2.schema
};
const props = resolveProps.resolveProps(start, {
indicator: "doc-start",
next: value ?? end?.[0],
offset,
onError,
parentIndent: 0,
startOnNewline: true
});
if (props.found) {
doc2.directives.docStart = true;
if (value && (value.type === "block-map" || value.type === "block-seq") && !props.hasNewline)
onError(props.end, "MISSING_CHAR", "Block collection cannot start on same line with directives-end marker");
}
doc2.contents = value ? composeNode.composeNode(ctx, value, props, onError) : composeNode.composeEmptyNode(ctx, props.end, start, null, props, onError);
const contentEnd = doc2.contents.range[2];
const re2 = resolveEnd.resolveEnd(end, contentEnd, false, onError);
if (re2.comment)
doc2.comment = re2.comment;
doc2.range = [offset, contentEnd, re2.offset];
return doc2;
}
exports.composeDoc = composeDoc;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/compose/composer.js
var require_composer = __commonJS((exports) => {
var node_process = __require("process");
var directives = require_directives();
var Document = require_Document();
var errors3 = require_errors9();
var identity4 = require_identity();
var composeDoc = require_compose_doc();
var resolveEnd = require_resolve_end();
function getErrorPos(src) {
if (typeof src === "number")
return [src, src + 1];
if (Array.isArray(src))
return src.length === 2 ? src : [src[0], src[1]];
const { offset, source } = src;
return [offset, offset + (typeof source === "string" ? source.length : 1)];
}
function parsePrelude(prelude) {
let comment = "";
let atComment = false;
let afterEmptyLine = false;
for (let i4 = 0;i4 < prelude.length; ++i4) {
const source = prelude[i4];
switch (source[0]) {
case "#":
comment += (comment === "" ? "" : afterEmptyLine ? `
` : `
`) + (source.substring(1) || " ");
atComment = true;
afterEmptyLine = false;
break;
case "%":
if (prelude[i4 + 1]?.[0] !== "#")
i4 += 1;
atComment = false;
break;
default:
if (!atComment)
afterEmptyLine = true;
atComment = false;
}
}
return { comment, afterEmptyLine };
}
class Composer {
constructor(options = {}) {
this.doc = null;
this.atDirectives = false;
this.prelude = [];
this.errors = [];
this.warnings = [];
this.onError = (source, code, message, warning) => {
const pos = getErrorPos(source);
if (warning)
this.warnings.push(new errors3.YAMLWarning(pos, code, message));
else
this.errors.push(new errors3.YAMLParseError(pos, code, message));
};
this.directives = new directives.Directives({ version: options.version || "1.2" });
this.options = options;
}
decorate(doc2, afterDoc) {
const { comment, afterEmptyLine } = parsePrelude(this.prelude);
if (comment) {
const dc = doc2.contents;
if (afterDoc) {
doc2.comment = doc2.comment ? `${doc2.comment}
${comment}` : comment;
} else if (afterEmptyLine || doc2.directives.docStart || !dc) {
doc2.commentBefore = comment;
} else if (identity4.isCollection(dc) && !dc.flow && dc.items.length > 0) {
let it = dc.items[0];
if (identity4.isPair(it))
it = it.key;
const cb = it.commentBefore;
it.commentBefore = cb ? `${comment}
${cb}` : comment;
} else {
const cb = dc.commentBefore;
dc.commentBefore = cb ? `${comment}
${cb}` : comment;
}
}
if (afterDoc) {
Array.prototype.push.apply(doc2.errors, this.errors);
Array.prototype.push.apply(doc2.warnings, this.warnings);
} else {
doc2.errors = this.errors;
doc2.warnings = this.warnings;
}
this.prelude = [];
this.errors = [];
this.warnings = [];
}
streamInfo() {
return {
comment: parsePrelude(this.prelude).comment,
directives: this.directives,
errors: this.errors,
warnings: this.warnings
};
}
*compose(tokens, forceDoc = false, endOffset = -1) {
for (const token of tokens)
yield* this.next(token);
yield* this.end(forceDoc, endOffset);
}
*next(token) {
if (node_process.env.LOG_STREAM)
console.dir(token, { depth: null });
switch (token.type) {
case "directive":
this.directives.add(token.source, (offset, message, warning) => {
const pos = getErrorPos(token);
pos[0] += offset;
this.onError(pos, "BAD_DIRECTIVE", message, warning);
});
this.prelude.push(token.source);
this.atDirectives = true;
break;
case "document": {
const doc2 = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
if (this.atDirectives && !doc2.directives.docStart)
this.onError(token, "MISSING_CHAR", "Missing directives-end/doc-start indicator line");
this.decorate(doc2, false);
if (this.doc)
yield this.doc;
this.doc = doc2;
this.atDirectives = false;
break;
}
case "byte-order-mark":
case "space":
break;
case "comment":
case "newline":
this.prelude.push(token.source);
break;
case "error": {
const msg = token.source ? `${token.message}: ${JSON.stringify(token.source)}` : token.message;
const error52 = new errors3.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", msg);
if (this.atDirectives || !this.doc)
this.errors.push(error52);
else
this.doc.errors.push(error52);
break;
}
case "doc-end": {
if (!this.doc) {
const msg = "Unexpected doc-end without preceding document";
this.errors.push(new errors3.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", msg));
break;
}
this.doc.directives.docEnd = true;
const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
this.decorate(this.doc, true);
if (end.comment) {
const dc = this.doc.comment;
this.doc.comment = dc ? `${dc}
${end.comment}` : end.comment;
}
this.doc.range[2] = end.offset;
break;
}
default:
this.errors.push(new errors3.YAMLParseError(getErrorPos(token), "UNEXPECTED_TOKEN", `Unsupported token ${token.type}`));
}
}
*end(forceDoc = false, endOffset = -1) {
if (this.doc) {
this.decorate(this.doc, true);
yield this.doc;
this.doc = null;
} else if (forceDoc) {
const opts = Object.assign({ _directives: this.directives }, this.options);
const doc2 = new Document.Document(undefined, opts);
if (this.atDirectives)
this.onError(endOffset, "MISSING_CHAR", "Missing directives-end indicator line");
doc2.range = [0, endOffset, endOffset];
this.decorate(doc2, false);
yield doc2;
}
}
}
exports.Composer = Composer;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/cst-scalar.js
var require_cst_scalar = __commonJS((exports) => {
var resolveBlockScalar = require_resolve_block_scalar();
var resolveFlowScalar = require_resolve_flow_scalar();
var errors3 = require_errors9();
var stringifyString = require_stringifyString();
function resolveAsScalar(token, strict = true, onError) {
if (token) {
const _onError = (pos, code, message) => {
const offset = typeof pos === "number" ? pos : Array.isArray(pos) ? pos[0] : pos.offset;
if (onError)
onError(offset, code, message);
else
throw new errors3.YAMLParseError([offset, offset + 1], code, message);
};
switch (token.type) {
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return resolveFlowScalar.resolveFlowScalar(token, strict, _onError);
case "block-scalar":
return resolveBlockScalar.resolveBlockScalar({ options: { strict } }, token, _onError);
}
}
return null;
}
function createScalarToken(value, context3) {
const { implicitKey = false, indent, inFlow = false, offset = -1, type = "PLAIN" } = context3;
const source = stringifyString.stringifyString({ type, value }, {
implicitKey,
indent: indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
const end = context3.end ?? [
{ type: "newline", offset: -1, indent, source: `
` }
];
switch (source[0]) {
case "|":
case ">": {
const he2 = source.indexOf(`
`);
const head = source.substring(0, he2);
const body = source.substring(he2 + 1) + `
`;
const props = [
{ type: "block-scalar-header", offset, indent, source: head }
];
if (!addEndtoBlockProps(props, end))
props.push({ type: "newline", offset: -1, indent, source: `
` });
return { type: "block-scalar", offset, indent, props, source: body };
}
case '"':
return { type: "double-quoted-scalar", offset, indent, source, end };
case "'":
return { type: "single-quoted-scalar", offset, indent, source, end };
default:
return { type: "scalar", offset, indent, source, end };
}
}
function setScalarValue(token, value, context3 = {}) {
let { afterKey = false, implicitKey = false, inFlow = false, type } = context3;
let indent = "indent" in token ? token.indent : null;
if (afterKey && typeof indent === "number")
indent += 2;
if (!type)
switch (token.type) {
case "single-quoted-scalar":
type = "QUOTE_SINGLE";
break;
case "double-quoted-scalar":
type = "QUOTE_DOUBLE";
break;
case "block-scalar": {
const header = token.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
type = header.source[0] === ">" ? "BLOCK_FOLDED" : "BLOCK_LITERAL";
break;
}
default:
type = "PLAIN";
}
const source = stringifyString.stringifyString({ type, value }, {
implicitKey: implicitKey || indent === null,
indent: indent !== null && indent > 0 ? " ".repeat(indent) : "",
inFlow,
options: { blockQuote: true, lineWidth: -1 }
});
switch (source[0]) {
case "|":
case ">":
setBlockScalarValue(token, source);
break;
case '"':
setFlowScalarValue(token, source, "double-quoted-scalar");
break;
case "'":
setFlowScalarValue(token, source, "single-quoted-scalar");
break;
default:
setFlowScalarValue(token, source, "scalar");
}
}
function setBlockScalarValue(token, source) {
const he2 = source.indexOf(`
`);
const head = source.substring(0, he2);
const body = source.substring(he2 + 1) + `
`;
if (token.type === "block-scalar") {
const header = token.props[0];
if (header.type !== "block-scalar-header")
throw new Error("Invalid block scalar header");
header.source = head;
token.source = body;
} else {
const { offset } = token;
const indent = "indent" in token ? token.indent : -1;
const props = [
{ type: "block-scalar-header", offset, indent, source: head }
];
if (!addEndtoBlockProps(props, "end" in token ? token.end : undefined))
props.push({ type: "newline", offset: -1, indent, source: `
` });
for (const key of Object.keys(token))
if (key !== "type" && key !== "offset")
delete token[key];
Object.assign(token, { type: "block-scalar", indent, props, source: body });
}
}
function addEndtoBlockProps(props, end) {
if (end)
for (const st of end)
switch (st.type) {
case "space":
case "comment":
props.push(st);
break;
case "newline":
props.push(st);
return true;
}
return false;
}
function setFlowScalarValue(token, source, type) {
switch (token.type) {
case "scalar":
case "double-quoted-scalar":
case "single-quoted-scalar":
token.type = type;
token.source = source;
break;
case "block-scalar": {
const end = token.props.slice(1);
let oa = source.length;
if (token.props[0].type === "block-scalar-header")
oa -= token.props[0].source.length;
for (const tok of end)
tok.offset += oa;
delete token.props;
Object.assign(token, { type, source, end });
break;
}
case "block-map":
case "block-seq": {
const offset = token.offset + source.length;
const nl = { type: "newline", offset, indent: token.indent, source: `
` };
delete token.items;
Object.assign(token, { type, source, end: [nl] });
break;
}
default: {
const indent = "indent" in token ? token.indent : -1;
const end = "end" in token && Array.isArray(token.end) ? token.end.filter((st) => st.type === "space" || st.type === "comment" || st.type === "newline") : [];
for (const key of Object.keys(token))
if (key !== "type" && key !== "offset")
delete token[key];
Object.assign(token, { type, indent, source, end });
}
}
}
exports.createScalarToken = createScalarToken;
exports.resolveAsScalar = resolveAsScalar;
exports.setScalarValue = setScalarValue;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/cst-stringify.js
var require_cst_stringify = __commonJS((exports) => {
var stringify2 = (cst) => ("type" in cst) ? stringifyToken(cst) : stringifyItem(cst);
function stringifyToken(token) {
switch (token.type) {
case "block-scalar": {
let res = "";
for (const tok of token.props)
res += stringifyToken(tok);
return res + token.source;
}
case "block-map":
case "block-seq": {
let res = "";
for (const item of token.items)
res += stringifyItem(item);
return res;
}
case "flow-collection": {
let res = token.start.source;
for (const item of token.items)
res += stringifyItem(item);
for (const st of token.end)
res += st.source;
return res;
}
case "document": {
let res = stringifyItem(token);
if (token.end)
for (const st of token.end)
res += st.source;
return res;
}
default: {
let res = token.source;
if ("end" in token && token.end)
for (const st of token.end)
res += st.source;
return res;
}
}
}
function stringifyItem({ start, key, sep: sep9, value }) {
let res = "";
for (const st of start)
res += st.source;
if (key)
res += stringifyToken(key);
if (sep9)
for (const st of sep9)
res += st.source;
if (value)
res += stringifyToken(value);
return res;
}
exports.stringify = stringify2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/cst-visit.js
var require_cst_visit = __commonJS((exports) => {
var BREAK = Symbol("break visit");
var SKIP = Symbol("skip children");
var REMOVE = Symbol("remove item");
function visit2(cst, visitor) {
if ("type" in cst && cst.type === "document")
cst = { start: cst.start, value: cst.value };
_visit(Object.freeze([]), cst, visitor);
}
visit2.BREAK = BREAK;
visit2.SKIP = SKIP;
visit2.REMOVE = REMOVE;
visit2.itemAtPath = (cst, path14) => {
let item = cst;
for (const [field, index] of path14) {
const tok = item?.[field];
if (tok && "items" in tok) {
item = tok.items[index];
} else
return;
}
return item;
};
visit2.parentCollection = (cst, path14) => {
const parent = visit2.itemAtPath(cst, path14.slice(0, -1));
const field = path14[path14.length - 1][0];
const coll = parent?.[field];
if (coll && "items" in coll)
return coll;
throw new Error("Parent collection not found");
};
function _visit(path14, item, visitor) {
let ctrl = visitor(item, path14);
if (typeof ctrl === "symbol")
return ctrl;
for (const field of ["key", "value"]) {
const token = item[field];
if (token && "items" in token) {
for (let i4 = 0;i4 < token.items.length; ++i4) {
const ci = _visit(Object.freeze(path14.concat([[field, i4]])), token.items[i4], visitor);
if (typeof ci === "number")
i4 = ci - 1;
else if (ci === BREAK)
return BREAK;
else if (ci === REMOVE) {
token.items.splice(i4, 1);
i4 -= 1;
}
}
if (typeof ctrl === "function" && field === "key")
ctrl = ctrl(item, path14);
}
}
return typeof ctrl === "function" ? ctrl(item, path14) : ctrl;
}
exports.visit = visit2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/cst.js
var require_cst = __commonJS((exports) => {
var cstScalar = require_cst_scalar();
var cstStringify = require_cst_stringify();
var cstVisit = require_cst_visit();
var BOM = "\uFEFF";
var DOCUMENT = "\x02";
var FLOW_END = "\x18";
var SCALAR = "\x1F";
var isCollection = (token) => !!token && ("items" in token);
var isScalar = (token) => !!token && (token.type === "scalar" || token.type === "single-quoted-scalar" || token.type === "double-quoted-scalar" || token.type === "block-scalar");
function prettyToken(token) {
switch (token) {
case BOM:
return "";
case DOCUMENT:
return "";
case FLOW_END:
return "";
case SCALAR:
return "";
default:
return JSON.stringify(token);
}
}
function tokenType(source) {
switch (source) {
case BOM:
return "byte-order-mark";
case DOCUMENT:
return "doc-mode";
case FLOW_END:
return "flow-error-end";
case SCALAR:
return "scalar";
case "---":
return "doc-start";
case "...":
return "doc-end";
case "":
case `
`:
case `\r
`:
return "newline";
case "-":
return "seq-item-ind";
case "?":
return "explicit-key-ind";
case ":":
return "map-value-ind";
case "{":
return "flow-map-start";
case "}":
return "flow-map-end";
case "[":
return "flow-seq-start";
case "]":
return "flow-seq-end";
case ",":
return "comma";
}
switch (source[0]) {
case " ":
case "\t":
return "space";
case "#":
return "comment";
case "%":
return "directive-line";
case "*":
return "alias";
case "&":
return "anchor";
case "!":
return "tag";
case "'":
return "single-quoted-scalar";
case '"':
return "double-quoted-scalar";
case "|":
case ">":
return "block-scalar-header";
}
return null;
}
exports.createScalarToken = cstScalar.createScalarToken;
exports.resolveAsScalar = cstScalar.resolveAsScalar;
exports.setScalarValue = cstScalar.setScalarValue;
exports.stringify = cstStringify.stringify;
exports.visit = cstVisit.visit;
exports.BOM = BOM;
exports.DOCUMENT = DOCUMENT;
exports.FLOW_END = FLOW_END;
exports.SCALAR = SCALAR;
exports.isCollection = isCollection;
exports.isScalar = isScalar;
exports.prettyToken = prettyToken;
exports.tokenType = tokenType;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/lexer.js
var require_lexer = __commonJS((exports) => {
var cst = require_cst();
function isEmpty(ch2) {
switch (ch2) {
case undefined:
case " ":
case `
`:
case "\r":
case "\t":
return true;
default:
return false;
}
}
var hexDigits = new Set("0123456789ABCDEFabcdef");
var tagChars = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");
var flowIndicatorChars = new Set(",[]{}");
var invalidAnchorChars = new Set(` ,[]{}
\r `);
var isNotAnchorChar = (ch2) => !ch2 || invalidAnchorChars.has(ch2);
class Lexer {
constructor() {
this.atEnd = false;
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
this.buffer = "";
this.flowKey = false;
this.flowLevel = 0;
this.indentNext = 0;
this.indentValue = 0;
this.lineEndPos = null;
this.next = null;
this.pos = 0;
}
*lex(source, incomplete = false) {
if (source) {
if (typeof source !== "string")
throw TypeError("source is not a string");
this.buffer = this.buffer ? this.buffer + source : source;
this.lineEndPos = null;
}
this.atEnd = !incomplete;
let next = this.next ?? "stream";
while (next && (incomplete || this.hasChars(1)))
next = yield* this.parseNext(next);
}
atLineEnd() {
let i4 = this.pos;
let ch2 = this.buffer[i4];
while (ch2 === " " || ch2 === "\t")
ch2 = this.buffer[++i4];
if (!ch2 || ch2 === "#" || ch2 === `
`)
return true;
if (ch2 === "\r")
return this.buffer[i4 + 1] === `
`;
return false;
}
charAt(n2) {
return this.buffer[this.pos + n2];
}
continueScalar(offset) {
let ch2 = this.buffer[offset];
if (this.indentNext > 0) {
let indent = 0;
while (ch2 === " ")
ch2 = this.buffer[++indent + offset];
if (ch2 === "\r") {
const next = this.buffer[indent + offset + 1];
if (next === `
` || !next && !this.atEnd)
return offset + indent + 1;
}
return ch2 === `
` || indent >= this.indentNext || !ch2 && !this.atEnd ? offset + indent : -1;
}
if (ch2 === "-" || ch2 === ".") {
const dt = this.buffer.substr(offset, 3);
if ((dt === "---" || dt === "...") && isEmpty(this.buffer[offset + 3]))
return -1;
}
return offset;
}
getLine() {
let end = this.lineEndPos;
if (typeof end !== "number" || end !== -1 && end < this.pos) {
end = this.buffer.indexOf(`
`, this.pos);
this.lineEndPos = end;
}
if (end === -1)
return this.atEnd ? this.buffer.substring(this.pos) : null;
if (this.buffer[end - 1] === "\r")
end -= 1;
return this.buffer.substring(this.pos, end);
}
hasChars(n2) {
return this.pos + n2 <= this.buffer.length;
}
setNext(state3) {
this.buffer = this.buffer.substring(this.pos);
this.pos = 0;
this.lineEndPos = null;
this.next = state3;
return null;
}
peek(n2) {
return this.buffer.substr(this.pos, n2);
}
*parseNext(next) {
switch (next) {
case "stream":
return yield* this.parseStream();
case "line-start":
return yield* this.parseLineStart();
case "block-start":
return yield* this.parseBlockStart();
case "doc":
return yield* this.parseDocument();
case "flow":
return yield* this.parseFlowCollection();
case "quoted-scalar":
return yield* this.parseQuotedScalar();
case "block-scalar":
return yield* this.parseBlockScalar();
case "plain-scalar":
return yield* this.parsePlainScalar();
}
}
*parseStream() {
let line = this.getLine();
if (line === null)
return this.setNext("stream");
if (line[0] === cst.BOM) {
yield* this.pushCount(1);
line = line.substring(1);
}
if (line[0] === "%") {
let dirEnd = line.length;
let cs = line.indexOf("#");
while (cs !== -1) {
const ch2 = line[cs - 1];
if (ch2 === " " || ch2 === "\t") {
dirEnd = cs - 1;
break;
} else {
cs = line.indexOf("#", cs + 1);
}
}
while (true) {
const ch2 = line[dirEnd - 1];
if (ch2 === " " || ch2 === "\t")
dirEnd -= 1;
else
break;
}
const n2 = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true));
yield* this.pushCount(line.length - n2);
this.pushNewline();
return "stream";
}
if (this.atLineEnd()) {
const sp3 = yield* this.pushSpaces(true);
yield* this.pushCount(line.length - sp3);
yield* this.pushNewline();
return "stream";
}
yield cst.DOCUMENT;
return yield* this.parseLineStart();
}
*parseLineStart() {
const ch2 = this.charAt(0);
if (!ch2 && !this.atEnd)
return this.setNext("line-start");
if (ch2 === "-" || ch2 === ".") {
if (!this.atEnd && !this.hasChars(4))
return this.setNext("line-start");
const s2 = this.peek(3);
if ((s2 === "---" || s2 === "...") && isEmpty(this.charAt(3))) {
yield* this.pushCount(3);
this.indentValue = 0;
this.indentNext = 0;
return s2 === "---" ? "doc" : "stream";
}
}
this.indentValue = yield* this.pushSpaces(false);
if (this.indentNext > this.indentValue && !isEmpty(this.charAt(1)))
this.indentNext = this.indentValue;
return yield* this.parseBlockStart();
}
*parseBlockStart() {
const [ch0, ch1] = this.peek(2);
if (!ch1 && !this.atEnd)
return this.setNext("block-start");
if ((ch0 === "-" || ch0 === "?" || ch0 === ":") && isEmpty(ch1)) {
const n2 = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
this.indentNext = this.indentValue + 1;
this.indentValue += n2;
return yield* this.parseBlockStart();
}
return "doc";
}
*parseDocument() {
yield* this.pushSpaces(true);
const line = this.getLine();
if (line === null)
return this.setNext("doc");
let n2 = yield* this.pushIndicators();
switch (line[n2]) {
case "#":
yield* this.pushCount(line.length - n2);
case undefined:
yield* this.pushNewline();
return yield* this.parseLineStart();
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel = 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
return "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "doc";
case '"':
case "'":
return yield* this.parseQuotedScalar();
case "|":
case ">":
n2 += yield* this.parseBlockScalarHeader();
n2 += yield* this.pushSpaces(true);
yield* this.pushCount(line.length - n2);
yield* this.pushNewline();
return yield* this.parseBlockScalar();
default:
return yield* this.parsePlainScalar();
}
}
*parseFlowCollection() {
let nl, sp3;
let indent = -1;
do {
nl = yield* this.pushNewline();
if (nl > 0) {
sp3 = yield* this.pushSpaces(false);
this.indentValue = indent = sp3;
} else {
sp3 = 0;
}
sp3 += yield* this.pushSpaces(true);
} while (nl + sp3 > 0);
const line = this.getLine();
if (line === null)
return this.setNext("flow");
if (indent !== -1 && indent < this.indentNext && line[0] !== "#" || indent === 0 && (line.startsWith("---") || line.startsWith("...")) && isEmpty(line[3])) {
const atFlowEndMarker = indent === this.indentNext - 1 && this.flowLevel === 1 && (line[0] === "]" || line[0] === "}");
if (!atFlowEndMarker) {
this.flowLevel = 0;
yield cst.FLOW_END;
return yield* this.parseLineStart();
}
}
let n2 = 0;
while (line[n2] === ",") {
n2 += yield* this.pushCount(1);
n2 += yield* this.pushSpaces(true);
this.flowKey = false;
}
n2 += yield* this.pushIndicators();
switch (line[n2]) {
case undefined:
return "flow";
case "#":
yield* this.pushCount(line.length - n2);
return "flow";
case "{":
case "[":
yield* this.pushCount(1);
this.flowKey = false;
this.flowLevel += 1;
return "flow";
case "}":
case "]":
yield* this.pushCount(1);
this.flowKey = true;
this.flowLevel -= 1;
return this.flowLevel ? "flow" : "doc";
case "*":
yield* this.pushUntil(isNotAnchorChar);
return "flow";
case '"':
case "'":
this.flowKey = true;
return yield* this.parseQuotedScalar();
case ":": {
const next = this.charAt(1);
if (this.flowKey || isEmpty(next) || next === ",") {
this.flowKey = false;
yield* this.pushCount(1);
yield* this.pushSpaces(true);
return "flow";
}
}
default:
this.flowKey = false;
return yield* this.parsePlainScalar();
}
}
*parseQuotedScalar() {
const quote2 = this.charAt(0);
let end = this.buffer.indexOf(quote2, this.pos + 1);
if (quote2 === "'") {
while (end !== -1 && this.buffer[end + 1] === "'")
end = this.buffer.indexOf("'", end + 2);
} else {
while (end !== -1) {
let n2 = 0;
while (this.buffer[end - 1 - n2] === "\\")
n2 += 1;
if (n2 % 2 === 0)
break;
end = this.buffer.indexOf('"', end + 1);
}
}
const qb = this.buffer.substring(0, end);
let nl = qb.indexOf(`
`, this.pos);
if (nl !== -1) {
while (nl !== -1) {
const cs = this.continueScalar(nl + 1);
if (cs === -1)
break;
nl = qb.indexOf(`
`, cs);
}
if (nl !== -1) {
end = nl - (qb[nl - 1] === "\r" ? 2 : 1);
}
}
if (end === -1) {
if (!this.atEnd)
return this.setNext("quoted-scalar");
end = this.buffer.length;
}
yield* this.pushToIndex(end + 1, false);
return this.flowLevel ? "flow" : "doc";
}
*parseBlockScalarHeader() {
this.blockScalarIndent = -1;
this.blockScalarKeep = false;
let i4 = this.pos;
while (true) {
const ch2 = this.buffer[++i4];
if (ch2 === "+")
this.blockScalarKeep = true;
else if (ch2 > "0" && ch2 <= "9")
this.blockScalarIndent = Number(ch2) - 1;
else if (ch2 !== "-")
break;
}
return yield* this.pushUntil((ch2) => isEmpty(ch2) || ch2 === "#");
}
*parseBlockScalar() {
let nl = this.pos - 1;
let indent = 0;
let ch2;
loop:
for (let i5 = this.pos;ch2 = this.buffer[i5]; ++i5) {
switch (ch2) {
case " ":
indent += 1;
break;
case `
`:
nl = i5;
indent = 0;
break;
case "\r": {
const next = this.buffer[i5 + 1];
if (!next && !this.atEnd)
return this.setNext("block-scalar");
if (next === `
`)
break;
}
default:
break loop;
}
}
if (!ch2 && !this.atEnd)
return this.setNext("block-scalar");
if (indent >= this.indentNext) {
if (this.blockScalarIndent === -1)
this.indentNext = indent;
else {
this.indentNext = this.blockScalarIndent + (this.indentNext === 0 ? 1 : this.indentNext);
}
do {
const cs = this.continueScalar(nl + 1);
if (cs === -1)
break;
nl = this.buffer.indexOf(`
`, cs);
} while (nl !== -1);
if (nl === -1) {
if (!this.atEnd)
return this.setNext("block-scalar");
nl = this.buffer.length;
}
}
let i4 = nl + 1;
ch2 = this.buffer[i4];
while (ch2 === " ")
ch2 = this.buffer[++i4];
if (ch2 === "\t") {
while (ch2 === "\t" || ch2 === " " || ch2 === "\r" || ch2 === `
`)
ch2 = this.buffer[++i4];
nl = i4 - 1;
} else if (!this.blockScalarKeep) {
do {
let i5 = nl - 1;
let ch3 = this.buffer[i5];
if (ch3 === "\r")
ch3 = this.buffer[--i5];
const lastChar = i5;
while (ch3 === " ")
ch3 = this.buffer[--i5];
if (ch3 === `
` && i5 >= this.pos && i5 + 1 + indent > lastChar)
nl = i5;
else
break;
} while (true);
}
yield cst.SCALAR;
yield* this.pushToIndex(nl + 1, true);
return yield* this.parseLineStart();
}
*parsePlainScalar() {
const inFlow = this.flowLevel > 0;
let end = this.pos - 1;
let i4 = this.pos - 1;
let ch2;
while (ch2 = this.buffer[++i4]) {
if (ch2 === ":") {
const next = this.buffer[i4 + 1];
if (isEmpty(next) || inFlow && flowIndicatorChars.has(next))
break;
end = i4;
} else if (isEmpty(ch2)) {
let next = this.buffer[i4 + 1];
if (ch2 === "\r") {
if (next === `
`) {
i4 += 1;
ch2 = `
`;
next = this.buffer[i4 + 1];
} else
end = i4;
}
if (next === "#" || inFlow && flowIndicatorChars.has(next))
break;
if (ch2 === `
`) {
const cs = this.continueScalar(i4 + 1);
if (cs === -1)
break;
i4 = Math.max(i4, cs - 2);
}
} else {
if (inFlow && flowIndicatorChars.has(ch2))
break;
end = i4;
}
}
if (!ch2 && !this.atEnd)
return this.setNext("plain-scalar");
yield cst.SCALAR;
yield* this.pushToIndex(end + 1, true);
return inFlow ? "flow" : "doc";
}
*pushCount(n2) {
if (n2 > 0) {
yield this.buffer.substr(this.pos, n2);
this.pos += n2;
return n2;
}
return 0;
}
*pushToIndex(i4, allowEmpty) {
const s2 = this.buffer.slice(this.pos, i4);
if (s2) {
yield s2;
this.pos += s2.length;
return s2.length;
} else if (allowEmpty)
yield "";
return 0;
}
*pushIndicators() {
switch (this.charAt(0)) {
case "!":
return (yield* this.pushTag()) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
case "&":
return (yield* this.pushUntil(isNotAnchorChar)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
case "-":
case "?":
case ":": {
const inFlow = this.flowLevel > 0;
const ch1 = this.charAt(1);
if (isEmpty(ch1) || inFlow && flowIndicatorChars.has(ch1)) {
if (!inFlow)
this.indentNext = this.indentValue + 1;
else if (this.flowKey)
this.flowKey = false;
return (yield* this.pushCount(1)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators());
}
}
}
return 0;
}
*pushTag() {
if (this.charAt(1) === "<") {
let i4 = this.pos + 2;
let ch2 = this.buffer[i4];
while (!isEmpty(ch2) && ch2 !== ">")
ch2 = this.buffer[++i4];
return yield* this.pushToIndex(ch2 === ">" ? i4 + 1 : i4, false);
} else {
let i4 = this.pos + 1;
let ch2 = this.buffer[i4];
while (ch2) {
if (tagChars.has(ch2))
ch2 = this.buffer[++i4];
else if (ch2 === "%" && hexDigits.has(this.buffer[i4 + 1]) && hexDigits.has(this.buffer[i4 + 2])) {
ch2 = this.buffer[i4 += 3];
} else
break;
}
return yield* this.pushToIndex(i4, false);
}
}
*pushNewline() {
const ch2 = this.buffer[this.pos];
if (ch2 === `
`)
return yield* this.pushCount(1);
else if (ch2 === "\r" && this.charAt(1) === `
`)
return yield* this.pushCount(2);
else
return 0;
}
*pushSpaces(allowTabs) {
let i4 = this.pos - 1;
let ch2;
do {
ch2 = this.buffer[++i4];
} while (ch2 === " " || allowTabs && ch2 === "\t");
const n2 = i4 - this.pos;
if (n2 > 0) {
yield this.buffer.substr(this.pos, n2);
this.pos = i4;
}
return n2;
}
*pushUntil(test2) {
let i4 = this.pos;
let ch2 = this.buffer[i4];
while (!test2(ch2))
ch2 = this.buffer[++i4];
return yield* this.pushToIndex(i4, false);
}
}
exports.Lexer = Lexer;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/line-counter.js
var require_line_counter = __commonJS((exports) => {
class LineCounter {
constructor() {
this.lineStarts = [];
this.addNewLine = (offset) => this.lineStarts.push(offset);
this.linePos = (offset) => {
let low = 0;
let high = this.lineStarts.length;
while (low < high) {
const mid = low + high >> 1;
if (this.lineStarts[mid] < offset)
low = mid + 1;
else
high = mid;
}
if (this.lineStarts[low] === offset)
return { line: low + 1, col: 1 };
if (low === 0)
return { line: 0, col: offset };
const start = this.lineStarts[low - 1];
return { line: low, col: offset - start + 1 };
};
}
}
exports.LineCounter = LineCounter;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/parse/parser.js
var require_parser = __commonJS((exports) => {
var node_process = __require("process");
var cst = require_cst();
var lexer = require_lexer();
function includesToken(list, type) {
for (let i4 = 0;i4 < list.length; ++i4)
if (list[i4].type === type)
return true;
return false;
}
function findNonEmptyIndex(list) {
for (let i4 = 0;i4 < list.length; ++i4) {
switch (list[i4].type) {
case "space":
case "comment":
case "newline":
break;
default:
return i4;
}
}
return -1;
}
function isFlowToken(token) {
switch (token?.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
case "flow-collection":
return true;
default:
return false;
}
}
function getPrevProps(parent) {
switch (parent.type) {
case "document":
return parent.start;
case "block-map": {
const it = parent.items[parent.items.length - 1];
return it.sep ?? it.start;
}
case "block-seq":
return parent.items[parent.items.length - 1].start;
default:
return [];
}
}
function getFirstKeyStartProps(prev) {
if (prev.length === 0)
return [];
let i4 = prev.length;
loop:
while (--i4 >= 0) {
switch (prev[i4].type) {
case "doc-start":
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
case "newline":
break loop;
}
}
while (prev[++i4]?.type === "space") {}
return prev.splice(i4, prev.length);
}
function fixFlowSeqItems(fc) {
if (fc.start.type === "flow-seq-start") {
for (const it of fc.items) {
if (it.sep && !it.value && !includesToken(it.start, "explicit-key-ind") && !includesToken(it.sep, "map-value-ind")) {
if (it.key)
it.value = it.key;
delete it.key;
if (isFlowToken(it.value)) {
if (it.value.end)
Array.prototype.push.apply(it.value.end, it.sep);
else
it.value.end = it.sep;
} else
Array.prototype.push.apply(it.start, it.sep);
delete it.sep;
}
}
}
}
class Parser2 {
constructor(onNewLine) {
this.atNewLine = true;
this.atScalar = false;
this.indent = 0;
this.offset = 0;
this.onKeyLine = false;
this.stack = [];
this.source = "";
this.type = "";
this.lexer = new lexer.Lexer;
this.onNewLine = onNewLine;
}
*parse(source, incomplete = false) {
if (this.onNewLine && this.offset === 0)
this.onNewLine(0);
for (const lexeme of this.lexer.lex(source, incomplete))
yield* this.next(lexeme);
if (!incomplete)
yield* this.end();
}
*next(source) {
this.source = source;
if (node_process.env.LOG_TOKENS)
console.log("|", cst.prettyToken(source));
if (this.atScalar) {
this.atScalar = false;
yield* this.step();
this.offset += source.length;
return;
}
const type = cst.tokenType(source);
if (!type) {
const message = `Not a YAML token: ${source}`;
yield* this.pop({ type: "error", offset: this.offset, message, source });
this.offset += source.length;
} else if (type === "scalar") {
this.atNewLine = false;
this.atScalar = true;
this.type = "scalar";
} else {
this.type = type;
yield* this.step();
switch (type) {
case "newline":
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine)
this.onNewLine(this.offset + source.length);
break;
case "space":
if (this.atNewLine && source[0] === " ")
this.indent += source.length;
break;
case "explicit-key-ind":
case "map-value-ind":
case "seq-item-ind":
if (this.atNewLine)
this.indent += source.length;
break;
case "doc-mode":
case "flow-error-end":
return;
default:
this.atNewLine = false;
}
this.offset += source.length;
}
}
*end() {
while (this.stack.length > 0)
yield* this.pop();
}
get sourceToken() {
const st = {
type: this.type,
offset: this.offset,
indent: this.indent,
source: this.source
};
return st;
}
*step() {
const top = this.peek(1);
if (this.type === "doc-end" && top?.type !== "doc-end") {
while (this.stack.length > 0)
yield* this.pop();
this.stack.push({
type: "doc-end",
offset: this.offset,
source: this.source
});
return;
}
if (!top)
return yield* this.stream();
switch (top.type) {
case "document":
return yield* this.document(top);
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return yield* this.scalar(top);
case "block-scalar":
return yield* this.blockScalar(top);
case "block-map":
return yield* this.blockMap(top);
case "block-seq":
return yield* this.blockSequence(top);
case "flow-collection":
return yield* this.flowCollection(top);
case "doc-end":
return yield* this.documentEnd(top);
}
yield* this.pop();
}
peek(n2) {
return this.stack[this.stack.length - n2];
}
*pop(error52) {
const token = error52 ?? this.stack.pop();
if (!token) {
const message = "Tried to pop an empty stack";
yield { type: "error", offset: this.offset, source: "", message };
} else if (this.stack.length === 0) {
yield token;
} else {
const top = this.peek(1);
if (token.type === "block-scalar") {
token.indent = "indent" in top ? top.indent : 0;
} else if (token.type === "flow-collection" && top.type === "document") {
token.indent = 0;
}
if (token.type === "flow-collection")
fixFlowSeqItems(token);
switch (top.type) {
case "document":
top.value = token;
break;
case "block-scalar":
top.props.push(token);
break;
case "block-map": {
const it = top.items[top.items.length - 1];
if (it.value) {
top.items.push({ start: [], key: token, sep: [] });
this.onKeyLine = true;
return;
} else if (it.sep) {
it.value = token;
} else {
Object.assign(it, { key: token, sep: [] });
this.onKeyLine = !it.explicitKey;
return;
}
break;
}
case "block-seq": {
const it = top.items[top.items.length - 1];
if (it.value)
top.items.push({ start: [], value: token });
else
it.value = token;
break;
}
case "flow-collection": {
const it = top.items[top.items.length - 1];
if (!it || it.value)
top.items.push({ start: [], key: token, sep: [] });
else if (it.sep)
it.value = token;
else
Object.assign(it, { key: token, sep: [] });
return;
}
default:
yield* this.pop();
yield* this.pop(token);
}
if ((top.type === "document" || top.type === "block-map" || top.type === "block-seq") && (token.type === "block-map" || token.type === "block-seq")) {
const last2 = token.items[token.items.length - 1];
if (last2 && !last2.sep && !last2.value && last2.start.length > 0 && findNonEmptyIndex(last2.start) === -1 && (token.indent === 0 || last2.start.every((st) => st.type !== "comment" || st.indent < token.indent))) {
if (top.type === "document")
top.end = last2.start;
else
top.items.push({ start: last2.start });
token.items.splice(-1, 1);
}
}
}
}
*stream() {
switch (this.type) {
case "directive-line":
yield { type: "directive", offset: this.offset, source: this.source };
return;
case "byte-order-mark":
case "space":
case "comment":
case "newline":
yield this.sourceToken;
return;
case "doc-mode":
case "doc-start": {
const doc2 = {
type: "document",
offset: this.offset,
start: []
};
if (this.type === "doc-start")
doc2.start.push(this.sourceToken);
this.stack.push(doc2);
return;
}
}
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML stream`,
source: this.source
};
}
*document(doc2) {
if (doc2.value)
return yield* this.lineEnd(doc2);
switch (this.type) {
case "doc-start": {
if (findNonEmptyIndex(doc2.start) !== -1) {
yield* this.pop();
yield* this.step();
} else
doc2.start.push(this.sourceToken);
return;
}
case "anchor":
case "tag":
case "space":
case "comment":
case "newline":
doc2.start.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(doc2);
if (bv)
this.stack.push(bv);
else {
yield {
type: "error",
offset: this.offset,
message: `Unexpected ${this.type} token in YAML document`,
source: this.source
};
}
}
*scalar(scalar) {
if (this.type === "map-value-ind") {
const prev = getPrevProps(this.peek(2));
const start = getFirstKeyStartProps(prev);
let sep9;
if (scalar.end) {
sep9 = scalar.end;
sep9.push(this.sourceToken);
delete scalar.end;
} else
sep9 = [this.sourceToken];
const map3 = {
type: "block-map",
offset: scalar.offset,
indent: scalar.indent,
items: [{ start, key: scalar, sep: sep9 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map3;
} else
yield* this.lineEnd(scalar);
}
*blockScalar(scalar) {
switch (this.type) {
case "space":
case "comment":
case "newline":
scalar.props.push(this.sourceToken);
return;
case "scalar":
scalar.source = this.source;
this.atNewLine = true;
this.indent = 0;
if (this.onNewLine) {
let nl = this.source.indexOf(`
`) + 1;
while (nl !== 0) {
this.onNewLine(this.offset + nl);
nl = this.source.indexOf(`
`, nl) + 1;
}
}
yield* this.pop();
break;
default:
yield* this.pop();
yield* this.step();
}
}
*blockMap(map3) {
const it = map3.items[map3.items.length - 1];
switch (this.type) {
case "newline":
this.onKeyLine = false;
if (it.value) {
const end = "end" in it.value ? it.value.end : undefined;
const last2 = Array.isArray(end) ? end[end.length - 1] : undefined;
if (last2?.type === "comment")
end?.push(this.sourceToken);
else
map3.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "space":
case "comment":
if (it.value) {
map3.items.push({ start: [this.sourceToken] });
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
if (this.atIndentedComment(it.start, map3.indent)) {
const prev = map3.items[map3.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
Array.prototype.push.apply(end, it.start);
end.push(this.sourceToken);
map3.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
}
if (this.indent >= map3.indent) {
const atMapIndent = !this.onKeyLine && this.indent === map3.indent;
const atNextItem = atMapIndent && (it.sep || it.explicitKey) && this.type !== "seq-item-ind";
let start = [];
if (atNextItem && it.sep && !it.value) {
const nl = [];
for (let i4 = 0;i4 < it.sep.length; ++i4) {
const st = it.sep[i4];
switch (st.type) {
case "newline":
nl.push(i4);
break;
case "space":
break;
case "comment":
if (st.indent > map3.indent)
nl.length = 0;
break;
default:
nl.length = 0;
}
}
if (nl.length >= 2)
start = it.sep.splice(nl[1]);
}
switch (this.type) {
case "anchor":
case "tag":
if (atNextItem || it.value) {
start.push(this.sourceToken);
map3.items.push({ start });
this.onKeyLine = true;
} else if (it.sep) {
it.sep.push(this.sourceToken);
} else {
it.start.push(this.sourceToken);
}
return;
case "explicit-key-ind":
if (!it.sep && !it.explicitKey) {
it.start.push(this.sourceToken);
it.explicitKey = true;
} else if (atNextItem || it.value) {
start.push(this.sourceToken);
map3.items.push({ start, explicitKey: true });
} else {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken], explicitKey: true }]
});
}
this.onKeyLine = true;
return;
case "map-value-ind":
if (it.explicitKey) {
if (!it.sep) {
if (includesToken(it.start, "newline")) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else {
const start2 = getFirstKeyStartProps(it.start);
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key: null, sep: [this.sourceToken] }]
});
}
} else if (it.value) {
map3.items.push({ start: [], key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, key: null, sep: [this.sourceToken] }]
});
} else if (isFlowToken(it.key) && !includesToken(it.sep, "newline")) {
const start2 = getFirstKeyStartProps(it.start);
const key = it.key;
const sep9 = it.sep;
sep9.push(this.sourceToken);
delete it.key;
delete it.sep;
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: start2, key, sep: sep9 }]
});
} else if (start.length > 0) {
it.sep = it.sep.concat(start, this.sourceToken);
} else {
it.sep.push(this.sourceToken);
}
} else {
if (!it.sep) {
Object.assign(it, { key: null, sep: [this.sourceToken] });
} else if (it.value || atNextItem) {
map3.items.push({ start, key: null, sep: [this.sourceToken] });
} else if (includesToken(it.sep, "map-value-ind")) {
this.stack.push({
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start: [], key: null, sep: [this.sourceToken] }]
});
} else {
it.sep.push(this.sourceToken);
}
}
this.onKeyLine = true;
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs8 = this.flowScalar(this.type);
if (atNextItem || it.value) {
map3.items.push({ start, key: fs8, sep: [] });
this.onKeyLine = true;
} else if (it.sep) {
this.stack.push(fs8);
} else {
Object.assign(it, { key: fs8, sep: [] });
this.onKeyLine = true;
}
return;
}
default: {
const bv = this.startBlockValue(map3);
if (bv) {
if (bv.type === "block-seq") {
if (!it.explicitKey && it.sep && !includesToken(it.sep, "newline")) {
yield* this.pop({
type: "error",
offset: this.offset,
message: "Unexpected block-seq-ind on same line with key",
source: this.source
});
return;
}
} else if (atMapIndent) {
map3.items.push({ start });
}
this.stack.push(bv);
return;
}
}
}
}
yield* this.pop();
yield* this.step();
}
*blockSequence(seq) {
const it = seq.items[seq.items.length - 1];
switch (this.type) {
case "newline":
if (it.value) {
const end = "end" in it.value ? it.value.end : undefined;
const last2 = Array.isArray(end) ? end[end.length - 1] : undefined;
if (last2?.type === "comment")
end?.push(this.sourceToken);
else
seq.items.push({ start: [this.sourceToken] });
} else
it.start.push(this.sourceToken);
return;
case "space":
case "comment":
if (it.value)
seq.items.push({ start: [this.sourceToken] });
else {
if (this.atIndentedComment(it.start, seq.indent)) {
const prev = seq.items[seq.items.length - 2];
const end = prev?.value?.end;
if (Array.isArray(end)) {
Array.prototype.push.apply(end, it.start);
end.push(this.sourceToken);
seq.items.pop();
return;
}
}
it.start.push(this.sourceToken);
}
return;
case "anchor":
case "tag":
if (it.value || this.indent <= seq.indent)
break;
it.start.push(this.sourceToken);
return;
case "seq-item-ind":
if (this.indent !== seq.indent)
break;
if (it.value || includesToken(it.start, "seq-item-ind"))
seq.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
}
if (this.indent > seq.indent) {
const bv = this.startBlockValue(seq);
if (bv) {
this.stack.push(bv);
return;
}
}
yield* this.pop();
yield* this.step();
}
*flowCollection(fc) {
const it = fc.items[fc.items.length - 1];
if (this.type === "flow-error-end") {
let top;
do {
yield* this.pop();
top = this.peek(1);
} while (top?.type === "flow-collection");
} else if (fc.end.length === 0) {
switch (this.type) {
case "comma":
case "explicit-key-ind":
if (!it || it.sep)
fc.items.push({ start: [this.sourceToken] });
else
it.start.push(this.sourceToken);
return;
case "map-value-ind":
if (!it || it.value)
fc.items.push({ start: [], key: null, sep: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
Object.assign(it, { key: null, sep: [this.sourceToken] });
return;
case "space":
case "comment":
case "newline":
case "anchor":
case "tag":
if (!it || it.value)
fc.items.push({ start: [this.sourceToken] });
else if (it.sep)
it.sep.push(this.sourceToken);
else
it.start.push(this.sourceToken);
return;
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar": {
const fs8 = this.flowScalar(this.type);
if (!it || it.value)
fc.items.push({ start: [], key: fs8, sep: [] });
else if (it.sep)
this.stack.push(fs8);
else
Object.assign(it, { key: fs8, sep: [] });
return;
}
case "flow-map-end":
case "flow-seq-end":
fc.end.push(this.sourceToken);
return;
}
const bv = this.startBlockValue(fc);
if (bv)
this.stack.push(bv);
else {
yield* this.pop();
yield* this.step();
}
} else {
const parent = this.peek(2);
if (parent.type === "block-map" && (this.type === "map-value-ind" && parent.indent === fc.indent || this.type === "newline" && !parent.items[parent.items.length - 1].sep)) {
yield* this.pop();
yield* this.step();
} else if (this.type === "map-value-ind" && parent.type !== "flow-collection") {
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
fixFlowSeqItems(fc);
const sep9 = fc.end.splice(1, fc.end.length);
sep9.push(this.sourceToken);
const map3 = {
type: "block-map",
offset: fc.offset,
indent: fc.indent,
items: [{ start, key: fc, sep: sep9 }]
};
this.onKeyLine = true;
this.stack[this.stack.length - 1] = map3;
} else {
yield* this.lineEnd(fc);
}
}
}
flowScalar(type) {
if (this.onNewLine) {
let nl = this.source.indexOf(`
`) + 1;
while (nl !== 0) {
this.onNewLine(this.offset + nl);
nl = this.source.indexOf(`
`, nl) + 1;
}
}
return {
type,
offset: this.offset,
indent: this.indent,
source: this.source
};
}
startBlockValue(parent) {
switch (this.type) {
case "alias":
case "scalar":
case "single-quoted-scalar":
case "double-quoted-scalar":
return this.flowScalar(this.type);
case "block-scalar-header":
return {
type: "block-scalar",
offset: this.offset,
indent: this.indent,
props: [this.sourceToken],
source: ""
};
case "flow-map-start":
case "flow-seq-start":
return {
type: "flow-collection",
offset: this.offset,
indent: this.indent,
start: this.sourceToken,
items: [],
end: []
};
case "seq-item-ind":
return {
type: "block-seq",
offset: this.offset,
indent: this.indent,
items: [{ start: [this.sourceToken] }]
};
case "explicit-key-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
start.push(this.sourceToken);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, explicitKey: true }]
};
}
case "map-value-ind": {
this.onKeyLine = true;
const prev = getPrevProps(parent);
const start = getFirstKeyStartProps(prev);
return {
type: "block-map",
offset: this.offset,
indent: this.indent,
items: [{ start, key: null, sep: [this.sourceToken] }]
};
}
}
return null;
}
atIndentedComment(start, indent) {
if (this.type !== "comment")
return false;
if (this.indent <= indent)
return false;
return start.every((st) => st.type === "newline" || st.type === "space");
}
*documentEnd(docEnd) {
if (this.type !== "doc-mode") {
if (docEnd.end)
docEnd.end.push(this.sourceToken);
else
docEnd.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
*lineEnd(token) {
switch (this.type) {
case "comma":
case "doc-start":
case "doc-end":
case "flow-seq-end":
case "flow-map-end":
case "map-value-ind":
yield* this.pop();
yield* this.step();
break;
case "newline":
this.onKeyLine = false;
case "space":
case "comment":
default:
if (token.end)
token.end.push(this.sourceToken);
else
token.end = [this.sourceToken];
if (this.type === "newline")
yield* this.pop();
}
}
}
exports.Parser = Parser2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/public-api.js
var require_public_api = __commonJS((exports) => {
var composer = require_composer();
var Document = require_Document();
var errors3 = require_errors9();
var log3 = require_log();
var identity4 = require_identity();
var lineCounter = require_line_counter();
var parser = require_parser();
function parseOptions(options) {
const prettyErrors = options.prettyErrors !== false;
const lineCounter$1 = options.lineCounter || prettyErrors && new lineCounter.LineCounter || null;
return { lineCounter: lineCounter$1, prettyErrors };
}
function parseAllDocuments(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
const docs = Array.from(composer$1.compose(parser$1.parse(source)));
if (prettyErrors && lineCounter2)
for (const doc2 of docs) {
doc2.errors.forEach(errors3.prettifyError(source, lineCounter2));
doc2.warnings.forEach(errors3.prettifyError(source, lineCounter2));
}
if (docs.length > 0)
return docs;
return Object.assign([], { empty: true }, composer$1.streamInfo());
}
function parseDocument(source, options = {}) {
const { lineCounter: lineCounter2, prettyErrors } = parseOptions(options);
const parser$1 = new parser.Parser(lineCounter2?.addNewLine);
const composer$1 = new composer.Composer(options);
let doc2 = null;
for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
if (!doc2)
doc2 = _doc;
else if (doc2.options.logLevel !== "silent") {
doc2.errors.push(new errors3.YAMLParseError(_doc.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
break;
}
}
if (prettyErrors && lineCounter2) {
doc2.errors.forEach(errors3.prettifyError(source, lineCounter2));
doc2.warnings.forEach(errors3.prettifyError(source, lineCounter2));
}
return doc2;
}
function parse9(src, reviver, options) {
let _reviver = undefined;
if (typeof reviver === "function") {
_reviver = reviver;
} else if (options === undefined && reviver && typeof reviver === "object") {
options = reviver;
}
const doc2 = parseDocument(src, options);
if (!doc2)
return null;
doc2.warnings.forEach((warning) => log3.warn(doc2.options.logLevel, warning));
if (doc2.errors.length > 0) {
if (doc2.options.logLevel !== "silent")
throw doc2.errors[0];
else
doc2.errors = [];
}
return doc2.toJS(Object.assign({ reviver: _reviver }, options));
}
function stringify2(value, replacer, options) {
let _replacer = null;
if (typeof replacer === "function" || Array.isArray(replacer)) {
_replacer = replacer;
} else if (options === undefined && replacer) {
options = replacer;
}
if (typeof options === "string")
options = options.length;
if (typeof options === "number") {
const indent = Math.round(options);
options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
}
if (value === undefined) {
const { keepUndefined } = options ?? replacer ?? {};
if (!keepUndefined)
return;
}
if (identity4.isDocument(value) && !_replacer)
return value.toString(options);
return new Document.Document(value, _replacer, options).toString(options);
}
exports.parse = parse9;
exports.parseAllDocuments = parseAllDocuments;
exports.parseDocument = parseDocument;
exports.stringify = stringify2;
});
// node_modules/.pnpm/yaml@2.8.3/node_modules/yaml/dist/index.js
var require_dist6 = __commonJS((exports) => {
var composer = require_composer();
var Document = require_Document();
var Schema = require_Schema();
var errors3 = require_errors9();
var Alias = require_Alias();
var identity4 = require_identity();
var Pair = require_Pair();
var Scalar = require_Scalar();
var YAMLMap = require_YAMLMap();
var YAMLSeq = require_YAMLSeq();
var cst = require_cst();
var lexer = require_lexer();
var lineCounter = require_line_counter();
var parser = require_parser();
var publicApi = require_public_api();
var visit2 = require_visit();
exports.Composer = composer.Composer;
exports.Document = Document.Document;
exports.Schema = Schema.Schema;
exports.YAMLError = errors3.YAMLError;
exports.YAMLParseError = errors3.YAMLParseError;
exports.YAMLWarning = errors3.YAMLWarning;
exports.Alias = Alias.Alias;
exports.isAlias = identity4.isAlias;
exports.isCollection = identity4.isCollection;
exports.isDocument = identity4.isDocument;
exports.isMap = identity4.isMap;
exports.isNode = identity4.isNode;
exports.isPair = identity4.isPair;
exports.isScalar = identity4.isScalar;
exports.isSeq = identity4.isSeq;
exports.Pair = Pair.Pair;
exports.Scalar = Scalar.Scalar;
exports.YAMLMap = YAMLMap.YAMLMap;
exports.YAMLSeq = YAMLSeq.YAMLSeq;
exports.CST = cst;
exports.Lexer = lexer.Lexer;
exports.LineCounter = lineCounter.LineCounter;
exports.Parser = parser.Parser;
exports.parse = publicApi.parse;
exports.parseAllDocuments = publicApi.parseAllDocuments;
exports.parseDocument = publicApi.parseDocument;
exports.stringify = publicApi.stringify;
exports.visit = visit2.visit;
exports.visitAsync = visit2.visitAsync;
});
// src/utils/yaml.ts
function parseYaml(input) {
if (typeof Bun !== "undefined") {
return Bun.YAML.parse(input);
}
return require_dist6().parse(input);
}
// src/utils/frontmatterParser.ts
function quoteProblematicValues(frontmatterText) {
const lines = frontmatterText.split(`
`);
const result = [];
for (const line of lines) {
const match = line.match(/^([a-zA-Z_-]+):\s+(.+)$/);
if (match) {
const [, key, value] = match;
if (!key || !value) {
result.push(line);
continue;
}
if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
result.push(line);
continue;
}
if (YAML_SPECIAL_CHARS.test(value)) {
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"");
result.push(`${key}: "${escaped}"`);
continue;
}
}
result.push(line);
}
return result.join(`
`);
}
function parseFrontmatter(markdown, sourcePath) {
const match = markdown.match(FRONTMATTER_REGEX);
if (!match) {
return {
frontmatter: {},
content: markdown
};
}
const frontmatterText = match[1] || "";
const content = markdown.slice(match[0].length);
let frontmatter = {};
try {
const parsed = parseYaml(frontmatterText);
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
frontmatter = parsed;
}
} catch {
try {
const quotedText = quoteProblematicValues(frontmatterText);
const parsed = parseYaml(quotedText);
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
frontmatter = parsed;
}
} catch (retryError) {
const location = sourcePath ? ` in ${sourcePath}` : "";
logForDebugging(`Failed to parse YAML frontmatter${location}: ${retryError instanceof Error ? retryError.message : retryError}`, { level: "warn" });
}
}
return {
frontmatter,
content
};
}
function splitPathInFrontmatter(input) {
if (Array.isArray(input)) {
return input.flatMap(splitPathInFrontmatter);
}
if (typeof input !== "string") {
return [];
}
const parts = [];
let current = "";
let braceDepth = 0;
for (let i4 = 0;i4 < input.length; i4++) {
const char = input[i4];
if (char === "{") {
braceDepth++;
current += char;
} else if (char === "}") {
braceDepth--;
current += char;
} else if (char === "," && braceDepth === 0) {
const trimmed2 = current.trim();
if (trimmed2) {
parts.push(trimmed2);
}
current = "";
} else {
current += char;
}
}
const trimmed = current.trim();
if (trimmed) {
parts.push(trimmed);
}
return parts.filter((p) => p.length > 0).flatMap((pattern) => expandBraces(pattern));
}
function expandBraces(pattern) {
const braceMatch = pattern.match(/^([^{]*)\{([^}]+)\}(.*)$/);
if (!braceMatch) {
return [pattern];
}
const prefix = braceMatch[1] || "";
const alternatives = braceMatch[2] || "";
const suffix = braceMatch[3] || "";
const parts = alternatives.split(",").map((alt) => alt.trim());
const expanded = [];
for (const part of parts) {
const combined = prefix + part + suffix;
const furtherExpanded = expandBraces(combined);
expanded.push(...furtherExpanded);
}
return expanded;
}
function parsePositiveIntFromFrontmatter(value) {
if (value === undefined || value === null) {
return;
}
const parsed = typeof value === "number" ? value : parseInt(String(value), 10);
if (Number.isInteger(parsed) && parsed > 0) {
return parsed;
}
return;
}
function coerceDescriptionToString(value, componentName, pluginName) {
if (value == null) {
return null;
}
if (typeof value === "string") {
return value.trim() || null;
}
if (typeof value === "number" || typeof value === "boolean") {
return String(value);
}
const source = pluginName ? `${pluginName}:${componentName}` : componentName ?? "unknown";
logForDebugging(`Description invalid for ${source} - omitting`, {
level: "warn"
});
return null;
}
function parseBooleanFrontmatter(value) {
return value === true || value === "true";
}
function parseShellFrontmatter(value, source) {
if (value == null) {
return;
}
const normalized = String(value).trim().toLowerCase();
if (normalized === "") {
return;
}
if (FRONTMATTER_SHELLS.includes(normalized)) {
return normalized;
}
logForDebugging(`Frontmatter 'shell: ${value}' in ${source} is not recognized. Valid values: ${FRONTMATTER_SHELLS.join(", ")}. Falling back to bash.`, { level: "warn" });
return;
}
var YAML_SPECIAL_CHARS, FRONTMATTER_REGEX, FRONTMATTER_SHELLS;
var init_frontmatterParser = __esm(() => {
init_debug();
YAML_SPECIAL_CHARS = /[{}[\]*!|>%@`]|: /;
FRONTMATTER_REGEX = /^---\s*\n([\s\S]*?)---\s*\n?/;
FRONTMATTER_SHELLS = ["bash", "powershell"];
});
// src/tools/PowerShellTool/toolName.ts
var POWERSHELL_TOOL_NAME = "PowerShell";
// src/utils/promptCategory.ts
function getQuerySourceForAgent(agentType, isBuiltInAgent) {
if (isBuiltInAgent) {
return agentType ? `agent:builtin:${agentType}` : "agent:default";
} else {
return "agent:custom";
}
}
function getQuerySourceForREPL() {
const settings = getSettings_DEPRECATED();
const style = settings?.outputStyle ?? DEFAULT_OUTPUT_STYLE_NAME;
if (style === DEFAULT_OUTPUT_STYLE_NAME) {
return "repl_main_thread";
}
const isBuiltIn = style in OUTPUT_STYLE_CONFIG;
return isBuiltIn ? `repl_main_thread:outputStyle:${style}` : "repl_main_thread:outputStyle:custom";
}
var init_promptCategory = __esm(() => {
init_outputStyles();
init_settings2();
});
// src/tools/EnterPlanModeTool/constants.ts
var ENTER_PLAN_MODE_TOOL_NAME = "EnterPlanMode";
// src/tools/AskUserQuestionTool/prompt.ts
var ASK_USER_QUESTION_TOOL_NAME = "AskUserQuestion", ASK_USER_QUESTION_TOOL_CHIP_WIDTH = 12, DESCRIPTION5 = "Asks the user multiple choice questions to gather information, clarify ambiguity, understand preferences, make decisions or offer them choices.", PREVIEW_FEATURE_PROMPT, ASK_USER_QUESTION_TOOL_PROMPT;
var init_prompt5 = __esm(() => {
PREVIEW_FEATURE_PROMPT = {
markdown: `
Preview feature:
Use the optional \`preview\` field on options when presenting concrete artifacts that users need to visually compare:
- ASCII mockups of UI layouts or components
- Code snippets showing different implementations
- Diagram variations
- Configuration examples
Preview content is rendered as markdown in a monospace box. Multi-line text with newlines is supported. When any option has a preview, the UI switches to a side-by-side layout with a vertical option list on the left and preview on the right. Do not use previews for simple preference questions where labels and descriptions suffice. Note: previews are only supported for single-select questions (not multiSelect).
`,
html: `
Preview feature:
Use the optional \`preview\` field on options when presenting concrete artifacts that users need to visually compare:
- HTML mockups of UI layouts or components
- Formatted code snippets showing different implementations
- Visual comparisons or diagrams
Preview content must be a self-contained HTML fragment (no / wrapper, no