diff --git a/.obsidian/plugins/advanced-canvas/main.js b/.obsidian/plugins/advanced-canvas/main.js
index c82e3cd..11393b4 100644
--- a/.obsidian/plugins/advanced-canvas/main.js
+++ b/.obsidian/plugins/advanced-canvas/main.js
@@ -27,7 +27,7 @@ __export(main_exports, {
default: () => AdvancedCanvasPlugin
});
module.exports = __toCommonJS(main_exports);
-var import_obsidian19 = require("obsidian");
+var import_obsidian22 = require("obsidian");
// src/utils/icons-helper.ts
var import_obsidian = require("obsidian");
@@ -124,28 +124,28 @@ var DebugHelper = class {
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-added",
(_canvas, _node) => {
- if (this.logging) console.count("\u{1F7E2} NodeAdded");
+ if (this.logging) console.debug("\u{1F7E2} NodeAdded");
this.nodeAddedCount++;
}
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-changed",
(_canvas, _node) => {
- if (this.logging) console.count("\u{1F7E1} NodeChanged");
+ if (this.logging) console.debug("\u{1F7E1} NodeChanged");
this.nodeChangedCount++;
}
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:edge-added",
(_canvas, _edge) => {
- if (this.logging) console.count("\u{1F7E2} EdgeAdded");
+ if (this.logging) console.debug("\u{1F7E2} EdgeAdded");
this.edgeAddedCount++;
}
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:edge-changed",
(_canvas, _edge) => {
- if (this.logging) console.count("\u{1F7E1} EdgeChanged");
+ if (this.logging) console.debug("\u{1F7E1} EdgeChanged");
this.edgeChangedCount++;
}
));
@@ -159,10 +159,10 @@ var DebugHelper = class {
logEfficiency() {
const canvas = this.plugin.getCurrentCanvas();
if (!canvas) return;
- console.log("NodeAdded Efficiency:", this.nodeAddedCount / canvas.nodes.size);
- console.log("NodeChanged Efficiency:", this.nodeChangedCount / canvas.nodes.size);
- console.log("EdgeAdded Efficiency:", this.edgeAddedCount / canvas.edges.size);
- console.log("EdgeChanged Efficiency:", this.edgeChangedCount / canvas.edges.size);
+ console.debug("NodeAdded Efficiency:", this.nodeAddedCount / canvas.nodes.size);
+ console.debug("NodeChanged Efficiency:", this.nodeChangedCount / canvas.nodes.size);
+ console.debug("EdgeAdded Efficiency:", this.edgeAddedCount / canvas.edges.size);
+ console.debug("EdgeChanged Efficiency:", this.edgeChangedCount / canvas.edges.size);
}
static markBBox(canvas, bbox, duration = -1) {
const node = canvas.createTextNode({
@@ -180,7 +180,7 @@ var DebugHelper = class {
}
});
if (duration >= 0) {
- setTimeout(() => {
+ window.setTimeout(() => {
canvas.removeNode(node);
}, duration);
}
@@ -298,12 +298,12 @@ var _CanvasHelper = class _CanvasHelper {
return (checking) => {
const canvas = plugin.getCurrentCanvas();
if (checking) return canvas !== null && check(canvas);
- if (canvas) run(canvas);
+ if (canvas) void run(canvas);
return true;
};
}
static createControlMenuButton(menuOption) {
- const quickSetting = document.createElement("div");
+ const quickSetting = activeWindow.createDiv();
if (menuOption.id) quickSetting.id = menuOption.id;
quickSetting.classList.add("canvas-control-item");
(0, import_obsidian2.setIcon)(quickSetting, menuOption.icon);
@@ -319,8 +319,8 @@ var _CanvasHelper = class _CanvasHelper {
if (element.id) (_a = controlGroup.querySelector(`#${element.id}`)) == null ? void 0 : _a.remove();
controlGroup.appendChild(element);
}
- static createCardMenuOption(canvas, menuOption, previewNodeSize, onPlaced) {
- const menuOptionElement = document.createElement("div");
+ static createCardMenuOption(canvas, menuOption, previewNodeSize, onPlaced, onRightClick) {
+ const menuOptionElement = activeWindow.createDiv();
if (menuOption.id) menuOptionElement.id = menuOption.id;
menuOptionElement.classList.add("canvas-card-menu-button");
menuOptionElement.classList.add("mod-draggable");
@@ -329,6 +329,10 @@ var _CanvasHelper = class _CanvasHelper {
menuOptionElement.addEventListener("click", (_e) => {
onPlaced(canvas, this.getCenterCoordinates(canvas, previewNodeSize()));
});
+ if (onRightClick) menuOptionElement.addEventListener("contextmenu", (e) => {
+ e.preventDefault();
+ onRightClick(e);
+ });
menuOptionElement.addEventListener("pointerdown", (e) => {
canvas.dragTempNode(e, previewNodeSize(), (pos) => {
canvas.deselectAll();
@@ -343,7 +347,7 @@ var _CanvasHelper = class _CanvasHelper {
canvas == null ? void 0 : canvas.cardMenuEl.appendChild(element);
}
static createPopupMenuOption(menuOption) {
- const menuOptionElement = document.createElement("button");
+ const menuOptionElement = activeWindow.createEl("button");
if (menuOption.id) menuOptionElement.id = menuOption.id;
menuOptionElement.classList.add("clickable-icon");
(0, import_obsidian2.setIcon)(menuOptionElement, menuOption.icon);
@@ -366,14 +370,14 @@ var _CanvasHelper = class _CanvasHelper {
return;
}
menuOptionElement.classList.add("is-active");
- const submenu = document.createElement("div");
+ const submenu = (_c = menuOptionElement.parentElement) == null ? void 0 : _c.createDiv();
+ if (!submenu) return;
submenu.id = submenuId;
submenu.classList.add("canvas-submenu");
for (const subMenuOption of subMenuOptions) {
const subMenuOptionElement = this.createPopupMenuOption(subMenuOption);
submenu.appendChild(subMenuOptionElement);
}
- (_c = menuOptionElement.parentElement) == null ? void 0 : _c.appendChild(submenu);
}
});
return menuOptionElement;
@@ -399,10 +403,9 @@ var _CanvasHelper = class _CanvasHelper {
}
static getBBox(canvasElements) {
const bBoxes = canvasElements.map((element) => {
- if (element.getBBox) return element.getBBox();
- const nodeData = element;
- if (nodeData.x !== void 0 && nodeData.y !== void 0 && nodeData.width !== void 0 && nodeData.height !== void 0)
- return { minX: nodeData.x, minY: nodeData.y, maxX: nodeData.x + nodeData.width, maxY: nodeData.y + nodeData.height };
+ if ("getBBox" in element) return element.getBBox();
+ if (element.x !== void 0 && element.y !== void 0 && element.width !== void 0 && element.height !== void 0)
+ return { minX: element.x, minY: element.y, maxX: element.x + element.width, maxY: element.y + element.height };
return null;
}).filter((bbox) => bbox !== null);
return BBoxHelper.combineBBoxes(bBoxes);
@@ -457,12 +460,11 @@ var _CanvasHelper = class _CanvasHelper {
const popupMenuElement = (_a = canvas == null ? void 0 : canvas.menu) == null ? void 0 : _a.menuEl;
if (!popupMenuElement) return;
(_b = popupMenuElement.querySelector(`#${STYLE_MENU_ID}`)) == null ? void 0 : _b.remove();
- const styleMenuButtonElement = document.createElement("button");
+ const styleMenuButtonElement = popupMenuElement.createEl("button");
styleMenuButtonElement.id = STYLE_MENU_ID;
styleMenuButtonElement.classList.add("clickable-icon");
(0, import_obsidian2.setIcon)(styleMenuButtonElement, "paintbrush");
(0, import_obsidian2.setTooltip)(styleMenuButtonElement, "Style", { placement: "top" });
- popupMenuElement.appendChild(styleMenuButtonElement);
styleMenuButtonElement.addEventListener("click", () => {
var _a2, _b2, _c;
const isOpen = styleMenuButtonElement.classList.toggle("has-active-menu");
@@ -471,37 +473,36 @@ var _CanvasHelper = class _CanvasHelper {
(_b2 = popupMenuElement.querySelector(`#${STYLE_MENU_DROPDOWN_SUBMENU_ID}`)) == null ? void 0 : _b2.remove();
return;
}
- const styleMenuDropdownElement = document.createElement("div");
+ const styleMenuDropdownElement = popupMenuElement.createDiv();
styleMenuDropdownElement.id = STYLE_MENU_DROPDOWN_ID;
styleMenuDropdownElement.classList.add("menu");
- styleMenuDropdownElement.style.position = "absolute";
- styleMenuDropdownElement.style.maxHeight = "initial";
- styleMenuDropdownElement.style.top = `${popupMenuElement.getBoundingClientRect().height}px`;
+ const styleMenuDropdownScrollElement = styleMenuDropdownElement.createDiv();
+ styleMenuDropdownScrollElement.classList.add("menu-scroll");
+ const styleMenuDropdownGroupElement = styleMenuDropdownScrollElement.createDiv();
+ styleMenuDropdownGroupElement.classList.add("menu-group");
+ styleMenuDropdownElement.setCssStyles({ position: "absolute", maxHeight: "initial" });
+ styleMenuDropdownElement.setCssStyles({ top: `${popupMenuElement.getBoundingClientRect().height}px` });
const canvasWrapperCenterX = canvas.wrapperEl.getBoundingClientRect().left + canvas.wrapperEl.getBoundingClientRect().width / 2;
const leftPosition = styleMenuButtonElement.getBoundingClientRect().left - popupMenuElement.getBoundingClientRect().left;
const rightPosition = popupMenuElement.getBoundingClientRect().right - styleMenuButtonElement.getBoundingClientRect().right;
if (popupMenuElement.getBoundingClientRect().left + leftPosition < canvasWrapperCenterX)
- styleMenuDropdownElement.style.left = `${leftPosition}px`;
- else styleMenuDropdownElement.style.right = `${rightPosition}px`;
+ styleMenuDropdownElement.setCssStyles({ left: `${leftPosition}px` });
+ else styleMenuDropdownElement.setCssStyles({ right: `${rightPosition}px` });
for (const stylableAttribute of stylableAttributes) {
- const stylableAttributeElement = document.createElement("div");
+ const stylableAttributeElement = styleMenuDropdownGroupElement.createDiv();
stylableAttributeElement.classList.add("menu-item");
stylableAttributeElement.classList.add("tappable");
- const iconElement = document.createElement("div");
+ const iconElement = stylableAttributeElement.createDiv();
iconElement.classList.add("menu-item-icon");
let selectedStyle = (_c = stylableAttribute.options.find((option) => currentStyleAttributes[stylableAttribute.key] === option.value)) != null ? _c : stylableAttribute.options.find((value) => value.value === null);
if (!selectedStyle) continue;
(0, import_obsidian2.setIcon)(iconElement, selectedStyle.icon);
- stylableAttributeElement.appendChild(iconElement);
- const labelElement = document.createElement("div");
+ const labelElement = stylableAttributeElement.createDiv();
labelElement.classList.add("menu-item-title");
labelElement.textContent = stylableAttribute.label;
- stylableAttributeElement.appendChild(labelElement);
- const expandIconElement = document.createElement("div");
+ const expandIconElement = stylableAttributeElement.createDiv();
expandIconElement.classList.add("menu-item-icon");
(0, import_obsidian2.setIcon)(expandIconElement, "chevron-right");
- stylableAttributeElement.appendChild(expandIconElement);
- styleMenuDropdownElement.appendChild(stylableAttributeElement);
stylableAttributeElement.addEventListener("pointerenter", () => {
stylableAttributeElement.classList.add("selected");
});
@@ -511,18 +512,21 @@ var _CanvasHelper = class _CanvasHelper {
stylableAttributeElement.addEventListener("click", () => {
var _a3;
(_a3 = popupMenuElement.querySelector(`#${STYLE_MENU_DROPDOWN_SUBMENU_ID}`)) == null ? void 0 : _a3.remove();
- const styleMenuDropdownSubmenuElement = document.createElement("div");
+ const styleMenuDropdownSubmenuElement = popupMenuElement.createDiv();
styleMenuDropdownSubmenuElement.id = STYLE_MENU_DROPDOWN_SUBMENU_ID;
styleMenuDropdownSubmenuElement.classList.add("menu");
- styleMenuDropdownSubmenuElement.style.position = "absolute";
- styleMenuDropdownSubmenuElement.style.maxHeight = "initial";
+ const styleMenuDropdownSubmenuScrollElement = styleMenuDropdownSubmenuElement.createDiv();
+ styleMenuDropdownSubmenuScrollElement.classList.add("menu-scroll");
+ const styleMenuDropdownSubmenuGroupElement = styleMenuDropdownSubmenuScrollElement.createDiv();
+ styleMenuDropdownSubmenuGroupElement.classList.add("menu-group");
+ styleMenuDropdownSubmenuElement.setCssStyles({ position: "absolute", maxHeight: "initial" });
const topOffset = parseFloat(window.getComputedStyle(styleMenuDropdownElement).getPropertyValue("padding-top")) + (styleMenuDropdownElement.offsetHeight - styleMenuDropdownElement.clientHeight) / 2;
- styleMenuDropdownSubmenuElement.style.top = `${stylableAttributeElement.getBoundingClientRect().top - topOffset - popupMenuElement.getBoundingClientRect().top}px`;
+ styleMenuDropdownSubmenuElement.setCssStyles({ top: `${stylableAttributeElement.getBoundingClientRect().top - topOffset - popupMenuElement.getBoundingClientRect().top}px` });
const leftPosition2 = styleMenuDropdownElement.getBoundingClientRect().right - popupMenuElement.getBoundingClientRect().left;
const rightPosition2 = popupMenuElement.getBoundingClientRect().right - styleMenuDropdownElement.getBoundingClientRect().left;
if (popupMenuElement.getBoundingClientRect().left + leftPosition2 < canvasWrapperCenterX)
- styleMenuDropdownSubmenuElement.style.left = `${leftPosition2}px`;
- else styleMenuDropdownSubmenuElement.style.right = `${rightPosition2}px`;
+ styleMenuDropdownSubmenuElement.setCssStyles({ left: `${leftPosition2}px` });
+ else styleMenuDropdownSubmenuElement.setCssStyles({ right: `${rightPosition2}px` });
for (const styleOption of stylableAttribute.options) {
const styleMenuDropdownSubmenuOptionElement = this.createDropdownOptionElement({
label: styleOption.label,
@@ -537,32 +541,27 @@ var _CanvasHelper = class _CanvasHelper {
});
if (selectedStyle === styleOption) {
styleMenuDropdownSubmenuOptionElement.classList.add("mod-selected");
- const selectedIconElement = document.createElement("div");
+ const selectedIconElement = styleMenuDropdownSubmenuOptionElement.createDiv();
selectedIconElement.classList.add("menu-item-icon");
selectedIconElement.classList.add("mod-selected");
(0, import_obsidian2.setIcon)(selectedIconElement, "check");
- styleMenuDropdownSubmenuOptionElement.appendChild(selectedIconElement);
}
- styleMenuDropdownSubmenuElement.appendChild(styleMenuDropdownSubmenuOptionElement);
+ styleMenuDropdownSubmenuGroupElement.appendChild(styleMenuDropdownSubmenuOptionElement);
}
- popupMenuElement.appendChild(styleMenuDropdownSubmenuElement);
});
}
- popupMenuElement.appendChild(styleMenuDropdownElement);
});
}
static createDropdownOptionElement(menuOption) {
- const menuDropdownOptionElement = document.createElement("div");
+ const menuDropdownOptionElement = activeWindow.createDiv();
menuDropdownOptionElement.classList.add("menu-item");
menuDropdownOptionElement.classList.add("tappable");
- const iconElement = document.createElement("div");
+ const iconElement = menuDropdownOptionElement.createDiv();
iconElement.classList.add("menu-item-icon");
(0, import_obsidian2.setIcon)(iconElement, menuOption.icon);
- menuDropdownOptionElement.appendChild(iconElement);
- const labelElement = document.createElement("div");
+ const labelElement = menuDropdownOptionElement.createDiv();
labelElement.classList.add("menu-item-title");
labelElement.textContent = menuOption.label;
- menuDropdownOptionElement.appendChild(labelElement);
menuDropdownOptionElement.addEventListener("pointerenter", () => {
menuDropdownOptionElement.classList.add("selected");
});
@@ -576,7 +575,7 @@ var _CanvasHelper = class _CanvasHelper {
return menuDropdownOptionElement;
}
static createDropdownSeparatorElement() {
- const separatorElement = document.createElement("div");
+ const separatorElement = activeWindow.createDiv();
separatorElement.classList.add("menu-separator");
return separatorElement;
}
@@ -633,7 +632,8 @@ var CanvasExtension = class {
constructor(plugin) {
this.plugin = plugin;
const isEnabled = this.isEnabled();
- if (!(isEnabled === true || this.plugin.settings.getSetting(isEnabled))) return;
+ if (!(isEnabled === true || this.plugin.settings.getSetting(isEnabled)))
+ return;
this.init();
}
};
@@ -770,9 +770,47 @@ var Node = class {
this.fCost = 0;
this.parent = null;
}
- // Only check for x and y, not gCost, hCost, fCost, or parent
- inList(nodes) {
- return nodes.some((n) => n.x === this.x && n.y === this.y);
+};
+var MinHeap = class {
+ constructor() {
+ this.items = [];
+ }
+ get size() {
+ return this.items.length;
+ }
+ push(node) {
+ const items = this.items;
+ items.push(node);
+ let index = items.length - 1;
+ while (index > 0) {
+ const parentIndex = index - 1 >> 1;
+ if (items[parentIndex].fCost <= node.fCost) break;
+ items[index] = items[parentIndex];
+ index = parentIndex;
+ }
+ items[index] = node;
+ }
+ pop() {
+ const items = this.items;
+ const top = items[0];
+ if (top === void 0) return null;
+ const last = items.pop();
+ if (items.length > 0) {
+ let index = 0;
+ while (true) {
+ const leftIndex = 2 * index + 1;
+ if (leftIndex >= items.length) break;
+ const rightIndex = leftIndex + 1;
+ let smallestIndex = leftIndex;
+ if (rightIndex < items.length && items[rightIndex].fCost < items[leftIndex].fCost)
+ smallestIndex = rightIndex;
+ if (items[smallestIndex].fCost >= last.fCost) break;
+ items[index] = items[smallestIndex];
+ index = smallestIndex;
+ }
+ items[index] = last;
+ }
+ return top;
}
};
var EdgePathfindingAStar = class extends EdgePathfindingMethod {
@@ -820,40 +858,38 @@ var EdgePathfindingAStar = class extends EdgePathfindingMethod {
if (this.toSide === "right" && toPos.x !== end.x) end.x += gridResolution;
if (this.toSide === "bottom" && toPos.y !== end.y) end.y += gridResolution;
if (this.isInsideObstacle(start, obstacles) || this.isInsideObstacle(end, obstacles)) return null;
- const openSet = [start];
- const closedSet = [];
+ const openSet = new MinHeap();
+ openSet.push(start);
+ const closedSet = /* @__PURE__ */ new Set();
+ const bestGCost = /* @__PURE__ */ new Map([[`${start.x},${start.y}`, 0]]);
const startTimestamp = performance.now();
- while (openSet.length > 0) {
- let current = null;
- let lowestFCost = Infinity;
- for (const node of openSet) {
- if (node.fCost < lowestFCost) {
- current = node;
- lowestFCost = node.fCost;
- }
- }
+ while (openSet.size > 0) {
if (performance.now() - startTimestamp > MAX_MS_CALCULATION)
return null;
- if (!current)
- return null;
- openSet.splice(openSet.indexOf(current), 1);
- closedSet.push(current);
+ const current = openSet.pop();
+ const currentKey = `${current.x},${current.y}`;
+ if (closedSet.has(currentKey))
+ continue;
+ closedSet.add(currentKey);
if (current.x === end.x && current.y === end.y)
return [fromPos, ...this.reconstructPath(current), toPos].map((node) => ({ x: node.x, y: node.y }));
if (!(current.x === start.x && current.y === start.y) && this.isTouchingObstacle(current, obstacles))
continue;
for (const neighbor of this.getPossibleNeighbors(current, obstacles, gridResolution, allowDiagonal)) {
- if (neighbor.inList(closedSet))
+ const neighborKey = `${neighbor.x},${neighbor.y}`;
+ if (closedSet.has(neighborKey))
continue;
const tentativeGCost = current.gCost + (allowDiagonal ? this.getMovementCost({
dx: neighbor.x - current.x,
dy: neighbor.y - current.y
}) : 1);
- if (!neighbor.inList(openSet) || tentativeGCost < neighbor.gCost) {
+ const previousGCost = bestGCost.get(neighborKey);
+ if (previousGCost === void 0 || tentativeGCost < previousGCost) {
neighbor.parent = current;
neighbor.gCost = tentativeGCost;
neighbor.hCost = this.heuristic(neighbor, end);
neighbor.fCost = neighbor.gCost + neighbor.hCost;
+ bestGCost.set(neighborKey, tentativeGCost);
openSet.push(neighbor);
}
}
@@ -1155,9 +1191,9 @@ function styleAttributeValidator(json) {
const hasIcon = option.icon !== void 0;
const hasLabel2 = option.label !== void 0;
const hasValue = option.value !== void 0;
- if (!hasIcon) console.error(`Style attribute option (${(_a = option.value) != null ? _a : option.label}) is missing the "icon" property`);
- if (!hasLabel2) console.error(`Style attribute option (${option.value}) is missing the "label" property`);
- if (!hasValue) console.error(`Style attribute option (${option.label}) is missing the "value" property`);
+ if (!hasIcon) console.error(`Style attribute option (${String((_a = option.value) != null ? _a : option.label)}) is missing the "icon" property`);
+ if (!hasLabel2) console.error(`Style attribute option (${String(option.value)}) is missing the "label" property`);
+ if (!hasValue) console.error(`Style attribute option (${String(option.label)}) is missing the "value" property`);
if (!hasIcon || !hasLabel2 || !hasValue) optionsValid = false;
if (option.value === null) hasDefault = true;
}
@@ -1386,7 +1422,7 @@ var CssStylesConfigManager = class {
getStyles() {
if (this.cachedConfig) return this.cachedConfig;
this.cachedConfig = [];
- const styleSheets = document.styleSheets;
+ const styleSheets = activeDocument.styleSheets;
for (let i = 0; i < styleSheets.length; i++) {
const sheet = styleSheets.item(i);
if (!sheet) continue;
@@ -1407,7 +1443,13 @@ var CssStylesConfigManager = class {
const matches = textContent.matchAll(this.configRegex);
for (const match of matches) {
const yamlString = match[1];
- const configYaml = (0, import_obsidian3.parseYaml)(yamlString);
+ if (!yamlString) continue;
+ let configYaml;
+ try {
+ configYaml = (0, import_obsidian3.parseYaml)(yamlString);
+ } catch (e) {
+ continue;
+ }
configs.push(configYaml);
}
return configs;
@@ -1534,7 +1576,8 @@ var EdgeStylesExtension = class extends CanvasExtension {
const toNodeBBox = edge.to.node.getBBox();
const toBBoxSidePos = BBoxHelper.getCenterOfBBoxSide(toNodeBBox, edge.to.side);
const toPos = edge.to.end === "none" ? toBBoxSidePos : edge.bezier.to;
- const path = new EDGE_PATHFINDING_METHODS[pathfindingMethod](
+ const PathfindingConstructor = EDGE_PATHFINDING_METHODS[pathfindingMethod];
+ const path = new PathfindingConstructor(
this.plugin,
canvas,
fromNodeBBox,
@@ -1657,11 +1700,7 @@ var VariableBreakpointCanvasExtension = class extends CanvasExtension {
// src/settings.ts
var README_URL = "https://github.com/Developer-Mike/obsidian-advanced-canvas?tab=readme-ov-file";
-var SPENT_HOURS = 250;
-var RECEIVED_DONATIONS = 606;
-var HOURLY_RATE_GOAL = 15;
var KOFI_PAGE_URL = "https://ko-fi.com/X8X27IA08";
-var KOFI_BADGE_URI = "data:image/webp;base64,UklGRrosAABXRUJQVlA4TK4sAAAv1wNDEL/CoJEkRXUCbvwrekfM/BYQspGkHsCNw/nbvcAzahtJkue7R/GnubUAykDaNvFv9r2CqU3bgHHKGHIH7H9DeOynEYZHCKFOj1neMfXZ0SmmUzuYgs6P2cH0fjuY11JBq5hO7ejVDqZTnWJ29Op+1twlRYq6rzLHZ6dIkSJFCnjb/mlP41jbjKzG2JjQKAiRUTrz/JCnNasnK3MmnnWm07aORtgyyHpA3/+r2BiOqvpXifW0bRH9h4ZtO9DqlUuZ7LSRz/d9JOv8Ofs/iSZZzKPZdHr9ykynsyheLEGwfD6k6WTvcCZ7h/M/ZfHNZ9ejcOBthqPJLJaMLokmw8DraK6m8fJ/tMJGk5FXbvfL/7NYgjyYXQXEg5nE/zP12uw6GPCaYBQlrD5vRzzHchX9VwTLOJpcj4bhixmOriazeIFImh44snA0mkzni1MR8SQcyJjhZMF1XCPGQwmvk/9qlDKhZ1kyjWFOVvNn0tT7yE5An2AgacIoYQjPflwjQ4IvkyRZxHE8j17MbLpvJtdSZnrARHsmfjHPR7a0rJRBp+liKvEYXp9yHslzZpc31zF1TeYkpfTksYijaPZyuhi9EKPBQJV5Ia1HL6ecaB7Hiigl8fQSXC/gi7HwBKkPitLlWPl/FsgdiZ6TSBw9VyqvhuHAGBM+n12ms7neU0t8hU7TLd8O94qWE26FowTHXomHktQH+tstF9Hs+uqZFjDQBKOraRQvDStmwgi+xhlGJ9ka9sryM+kjeYvLV/ZhQtkY3UQNdzoZs38kVwk8cXqdnJhr4l97DJBpwwTxtclwYKZRy52WSZFv4aucYXRarkmnqxlG/pmBfdyzZ22fPjCj2QIZiyH4mT8ZydGMJxEiplwlna6WVygH8hmUz6BHTHg9hwJIITBjKsckP+qr5cmDxet8he2ZAFWchwm0wMH2qgCkx3IEfuafB8IJ8MRYIHhoAtybYxYhCozqjt1Gl77IQjq1DJcce52Uiz8PDTrUIgA7joU4W9m+NWktQyDMA+wz/wzh2x+dMPhMC2kawB3Hol/j1it8mmGTdMkIhMlzsuiqahIt4S2SIuBeNCOMqN9i19XmMCXM7DTB54HlZG4iWZ/vyZUIxwLUvcHJ0yA5VYL10cJTkzyJArwF4tYSydMTIIwVopO027WvzK5LwfD6iLpUnAnLWJM8bd7u8/3DB617x69O6yepF7/AK93V22Ll7o4aty7KZiePtK0eDh9Stt7WLAfzmYjv6bSywDr6zz3ZgEBeJ8ZbLQLW3F64O5rJ1ts2FfSp1pnfwbjHlqGEwPHtN2mbaGGDVPcGr3V+dpLFv3vJ7UxmXXUiaNekQ3GPHZlX02ucSd1agUsW2zVVuS2Ksmw4ypKRTK0z3e0f2basyUeWnBKWK7Nv3R2vWdWdwBrZUFdGnJzJXjdvBTCmlzJPx0qZFZ2mm7ETIGm9XXGWVtenlU2f/Hw48j/vGsCRzHRrB6Tdntm1B0xTs5n2iOn2jSEii7f0CpsATRckrDZ9WvsmwNPn5c8Z8zr0SrplOxBXi3stxCupXde2dV2VZVEUD+v1yjmX3eGa7PmoVuv1+oXuLav6RdwBUbGOmANRM3smk+JGr5hJwil+6/+3Tk8mW++tga/sWKmQh47ihRpH2rV1VRbF2rk7E8zzGebhpXrbdjp4WiEJFe1MmlWUPzg+YMlnK+Ln7/25BydCAxOGNYA89MSAirmkdTtKOmVQrmYXI5bFwzMZYJjJVutt1e5EQkH4dfRyZt0Rjvu5HONak1nik0BeTj5ZtyuMgq2jouQ/kIrg4KhrdfX2WeRgqFk9VNwyzXAB4Fdnogku+hyjjHGpJyanghoMS0kA7llCHUcMYdP6sGaAqUG3TYqnEBZKp5bMn4ShM1dax1UX7MdNQInoE1JJuSVapGXEYvn4yla/1DIK2oT9HtkqKDshmcYj3+fceP7di97HFZGHtgJL6CnBCpna3xG27b2ZRD9Rb6jFiT4JSJZt6STQvP7y5bxm/QixDFY9l2Aqlp0cp2rH78w4wq/uTDV8KoGimiNjipXJ8XyiVgAWz+UJE3v6TAXrWLqjNWiEdLr0xpyF7dsrZl3zLGL7MOf49UFwiVoBjio8XWLYOcwkzlHgQKTTqb/AgXGtP4JvO/FlhFJlq44DjDxtPQuVXseIT3QCHVl9+DBQ3i/0FjjQ2b79ZDiivhahIxv+qlrK+m4onNt5rweC4owLck2Fs3GWcgYecogR+3rlM+pbgFTZHhm1FVYw5OKsz/2wrBxTtsaUxk8FOJMm7IX8VT/R35TuQpQBLV8cOKXKpMcRErCFTt0PHi6iM/S6IBIvZ7KH3q6WUowZUUsbuV0Aa52706KN6FuSxTbtURfTWYpxJvt7pwWv2wknN0yBbu2FixNEHb2EF/scdTGdyIMzyaAd0POeYcIqM3fyao6ACb48KaIa0yy646EKAxjJxEcRhvwx977nkJPvU0uzVjFTwPaUQKQ5f60pMnOcCuOQLDE/fuR96bnjjnzsHaO4LBQywRd+x3Fq7NOqSNjdwW0Ek3K8MLY/fhVt+eY+LZHQsv0a2N7d++HEcDunK1l3GEdRMTCgIoI1XQsdr3IdJMSkCZFUUqIFpBVPC8XV1CkhRL32hiP+IiZB4sOdeQa1ZQBXM50hXn2pItoTEW9Jb6hjE6tS7egaMW855Ii9GkXHJj1fEFzBTSrTFG+jp10YFqu4nDO/u4N94ZplnxKsr9JP+bMp9s2mPGpqX1OVPmZTvDL5nnHPBm1h6xV4DMjezMiykFMwyFv/QOqqlxmKvI7a7HeMJy/P3Kf7YlNWL72Ne/Uujtsl+u6lG/SX802euwx0uWKoNHXCKWVH11wAk5v3s6te1rR6lUlgqA6/1HRE+x4ka7i8KKtm1w2MMOmubaqyyJ3YQm+nMycQkoAvNKApb8iYC1+bZQ/EAuKHQAnuUFASMQbgTGb5pmq6gV1m12zyDCWykE5dSROShfeJHZRSvGAYm+fkehQeLVnD4ctQV+2+243Q30+ROSCjx90xOOQK00SfNvXhfS0Lytxx65pjlwCyxHG4yT3lbW+yiCZXDBeaGV5ZPGD6yAKNrw4fA7Jb89AHRZ0OTDVdfS8vPw+Wvtsw/FVYie6Kr43wMp7wDuMxGM1iUzH0TY13/YREkCbKG2t82Ppbv+eUYdNy4Rg0aXqRXA+4CW/uNTJ6saFwGt9HYt43kKaJsvII1W/t7o6pD1mqE4AKJBtUGWfNoOm4jOl3xNIHN0Mw9t6np+Dt0tfSge2mzXn6kKU5MSG09I6obXM78oVGDvj0m8fS9wNzKrFTECSW+ZDzQyEMD15whPF3/MocmNP/1qvOCfvKBeAIwsIoMS40govDOO2gIxKkibJmYKmR7XymJTkhKkO38JL84Lb8xxzDo23BR55YacOro0XWhxnSYnY94ctxVWUhr4DwfTkArI8BpnFu56/as5yFiMP9Mbbz01Zda6bDlQ5obYjI1+XqJagHd9oSlN0i2LS54mwXIK8EsHw9hMfeXJnZ0FByffBwsbUhRvzl3dPAToPRrejOv53opR82CHDH1VaB976AHphnGNkpNO/UditQAbNrphSaqKbbfvF0IupuC99YHQQ81SpBe7gO0AffZuX2ozo0B6odwNoQlO2cZHvIpPcSu0yPSy+QhCaQnKRC67D6FjZuO3XoXqf2DFgbgrC9I+3RT2Yj4AQzP1QYgGx03ykeS7oxe8vHjEax57CvDCgaAo+kq0P3lCkFnABYD/IwgxgqtFbPmX3KMLk6VIcKH+z+jeeeyGgFTl+tguTGOwwgtllslQ+13Q7MfUNr3D6wibo9ISjD1H0XiJ9t0/KhBQEgI2mlfiScduiky25jkmz3CCIbQsihHx4Y/v5eimyFcN3cDRYqqB76tJuRFZ6hDduNTPHDXbwn/iKHlJIwe810GfOF7oETZybYM4thpUA4NwELG7YdVjp1HfcrDcHtOVPLyxRTrCS3hrsm7AkQKhLdhk0DrbxLeGXiWcXtV5ennrXW9YqD61f6Xvz+NvaH2rpevR7S7l6HmKnFocYm6K4WQoQlpXjnlpq7vnVZGKMtHVDngBUcXdrJfQttVawy0l02VG1q69sO/ZCx+8ER7Dtxdg2hcejACzuC23+mkt7MkTi1DrhoYhyaJ95QOIPYIql5C+sy5twNYIKKCDyMmiAz70HjhCVUGRC9XsIWTWw32rBiPv+VfGPPnBnUo1qlDE9+PWHiJahkLyRrXWdtM0VfFc/10TXjfRfVskT0DqadEZhfJeCTyQy9bWdg9FMDYn30TKwZGhf2+owQcuWdMk2m5w9/WdlDLVnUVyxogHrUWd1pfYv0SfCIV3Vn3XIJ+QrGBS4qsRiJV8G5ZJUS7cTw5Z+//+HHn25ubn784fs/f8WIr755/+OPz3/tTz++/+Z3XwihlBiHaSnKzN7AVP6EqFKGxKJhEL2PHctiTMidrvVUx/ioQ8qH3ELt/dX3Nx9vj5iPP339JQN+9/fjf+6/fvyzwEudJ+dNKpJMUci7tlO6T7uGYDW2hi1LLVJzmfaXj1BHEe2DlSC5F8AXf/9w62l++jPxz/3+xv/P5cajDAOr4HoBmpjcPULtw72mY+WtKSE3epBVxAwCZENSxxUblFd+9/MtxfzyNeUk9JH25/JiJVNHb7mEi9DEJFThVUutiUdj1DJTEFK0f9EN/6tkN2b9kFvuyvxeWU9b8Y3mu701lBXK9yGyudUT0kH58Q6gXNPKTB0onGmNvv47oBzGNa0lrHeGSnnxXNgzmB+8z0IMJyI+SJWfD3KS89KiUXywCSv0jYQz1rknckiM6/HUDmMAZAlNlogQ8st/3d7eipwZ/vbxlsf8nQ1Sd/FRyQV8QAGkH8/YmHV5BokVezZq1pi+/5wtDtJxTGlE0Y5XG8afhucyv/75CP5xu2d4PDkhUOp3cgHtGYbXlstX60g4FSJQqeWWFQcqzTCeqwMHIjA8hlZeUvOPW07z9UH8eHvLuHzFBpkw3jmM4YpJ9vilLHE+gMuJKWZoRFyFvMSkLj6RBpnQpnDXqXM1240JjziJopIPP97ymm8P8N9vblnNr1+LI0v56fiajJ05YAm0c4rZCp/piwtzz3R/ZCVlkX/KDo/U6H5z4K7v+FdIKSHfS/k0PyIqb1ENrxVZ/Zn/72WBlLOROqE2WiHa8q3O4MlfWlr93IS+Eh3WKTsFua/itM59v8PNXlWCjfQ652QnN3yv8puvXp2G+M3vpJFRsplUBagyBsXABrnBkyERzIRrbMoaVnbHaxVZXnLwB8JECi2/5WS+Sf29v34lXdFu/dFK6fltzH2vR/U8w6EBrcg6bIhH2zZluTdmwpptcFcLOnOyEMWfbkXMzTPn/lbE/PIFGWJJvZMSnOdGBdI/NuaHlBKGa452X6Zo92p0wFy9mjPFBKHzpRahMY8qw6tjNOBExyMv/0UGt//+5Uehv/dGGCv2v9eZGlfFYFcmjF03Jk4BH8P4toIR6/C2LjHRqgI9Bmz8eCtlfrmVMt/K4i7ljiqzNK4tj7VgCZeEKT7lnk7BpdQlwWoAWGKx8fWtOvPrl7LYvYCVPUvmspgSiMfqWji9llJzvzqcxCJqbiUADLGi4PHTZ25kURMoeRm0psTAaNXswOcVXwWi0zJH9DgHhR0WHP+41Wh+J4qSwHmTQW0IdgxvpLA+whMhYcwOIDMmHGBKTlozLDi+vFWJG1FswVAaGkOpUjmHxD4GGwrTVQyqvmpah99BdCYNln10OpIowLCxU7+ttKVJW7DEm6LG0esVDhLkAQ16hyIBj1+U4sYO5FbgfmCU+ny2I+2y/AxxbA48FYu8D3CxPJMHRyxaHTOwsrLxWOfM+UAWkDPV9XZ5dBJK+wCEyR7Ax41a/GAGMjvUVhlPe1ZEPhxhUsUvOx2oWfQZBjME0EOrxa9fWLGbEffYzGBLu/iIgJ4H7re65zD4HAAM23o35VBhobMBLUMg5Sc7baRxsjdrbeCoTNgNPsiNYvwghwYLOyO10dUEMuK6cmESBwN0lDZElIDjo2L8Aqi/uhJBa0sPDsRbq+snL/8BgPULKNr90PjjrWbzBQPY2484kfYmtYm2s4DtoMz0E7ju+SbAwfeq8RcprMHah1Ym9nq656fc63RCtz/HdW3bSUV+jtOfw3+oxndSqNiL07UN6quyQ+CqTGAonkJ4mdzO4zPfxRAGGDeq8SMd7IRPK4NCO3KWsseZINfvGxSAPkXmWXEiz6DTiAcbGXxQjf8vhDV/ebplv8iI2qbV1t3rf9UzeGjZx+MkOYVArmbwwuwv8VY1fhFCjda/cW6BtbG/iUwi/3X7ldzXtzrMPWeKKtKKWz9sq6ZN5fGUiU6U47KXcCsDJ5DMGiq0K6Mb5EIM7LVrymLl/OdT8DkTi+fhVCqtEAfcJRmPE54ox88EUdPwziiwdHoANPwPp/xynUyurU7LNaGzq0efGzLVPsV8623TiaDkSmEN2+TCDvsbW5pmi7XNTVw34HLNcPCGwrTa8mfg9mmlbQ74kDqbfuLaZdTbcLScJ9RtuW7L5drhcHCtRMbAxMwV0zZRdDwSEoyJcmTo9bUP4ToJSv7eKrhuYJjrnYAxc7t74hvoh6qJomO0IBPlKIaKht8YBSeTB1shyVBn1xu9Hmu1JVijXoHQ1bhrwh8Foj5DxdKg7JITpWG7/crOG79PZUrUlgr91qZOWvm/wfQBYDgtmmatjY/Bhti2b+eLyeGrJbHCYn2YWmbwME6oOrozzg6cLdjiKuK5nUWz1vZITxpbHHFqsBS6CtqWiP/chzldJq4khhlSSzWVaNWnVaZrJVgX8S7D5hmkj1YxXiqkE/JUCAUR/0+3XjrjNPXlVSpXolaKwXm3I3ZOF1Xlz3pAXrqV5tNnA1hvbP0v7iAyXp3CsnZktGL/9Q7Zp02dilaAd2QYpzG2F9qUwNCtYVqT2trUeBUzl5IjnuI0j/xGNX5PnjoV3t9+wok1gKq1WrtCS1xBdY3dZ0TqzLqiU412QyGI+K1qvFNxxzBbOlRbiwe0VkF/b2uT6j9ZB8ehzFJq4IhTL9vZ1a/aB6gWeoTvd8cPvSPB8U5I5m12DvtkVdmlK7CFK05i4i0PCeFGMX5CQsnXDwFwkhWa9GmOATLZt7nFZvN3mV0sSllZBnFzDjRMhPeK8Q1Sb1aSHc+XGnVWTdyb73tMHXbV6NEumeKjMA+QNq0eMdAwEf5o8yuMqbqzBikznEUosGtPGXRTG2GCHYt+WRM3F6zddnfkF3rglS2p/yxjcPfAi51Nk3oL3hlGaxKZlOHxgnY0lZjED7k/jJKc/4CDSrb7zlJ/92Tmzjhqh12SFza1jG196Te0wCOR4QO0Vm1+BYOdcHfbpWU9++c2ocJmKGY2KQ1sJVWoWPlsryNlRT0gbxq7zSvhqVmgsKUJr5KbeS9sAMtkk06nDo+N2tLmjyrgzBvVwKadv8Gx0p1tFwqLHRtfYfsuc2gqJLVLppiCakRNSB0mVlIXVfiN1r0V2LvaJty1QsqrRuUubCqkMQQNXHpY014YMY8j2CKVmH9qsOsBI2x6q0er0GBz1JxNo+Ct8JSKU5Lk/JJ5HMEWBX6nwN51nLDprVZWocJug5dp51YylcewczWxoDT87uSqtzdWu02GcO2nQjFBqeWuKMwl0VPlykA85XELy9qZURqSpXI3wvNHo92SrCtqGLKOK6R9AWtssbwpjWwA56/J8yLcEsO3Tzkci91uTR+SjHqIcxwaCHza1Luu69oK69oc4Ao7rU2j4D1eLQN9YUhqSObkKrh/NNitMvp1b03DXYUm0Ge5oY22QCzKS2i0ZqEDqQBSAi6YL3jH4VirutquGfTJOGGV14N8bbSDvXegpufRABcnCUUxvRAsld7pUnb7IO52jywDA+OEVV45Yr8RGxQap4cB+N3dkzTd/LAhqVaZouz2F/E1Hk4nK6zyyiA7Ai8xsD0UBBpNv6n2OdKO516oRW88+4OV+7RrpvbVvLDKS/6ggJeif7E+mhxgA14L3Aao48EfTfRrtxlbdyj8MEgrpiNBtPZzj5W9mr7cWCNKPf3IuEuaQozoHSr/h3UNTbqq4COJGwnhu0FaMa0whX4cWDPb5bBF+51JKHxD4p3wQ4nb7Obqpe8/DfHrDpuXaVYvVqz54GlgAaQqKRwJF4BMqhBqLj60DKRQvrMEpSzLk7UJmITgvGbCu4/a/YhpCcJen1szbLQtDTWSH55aNXTLdGdT3861VEgB3eqE0hPqgzBb+mszNGEaUDtIyDCmpWiJywksoRRiHHQVOjPqssQrFKwoLU4SP2wow2+0Isx3TC0jQe30zB6sBCHaziaFQgFNOuX91tLdkaZsIuCkGjO+Wu4NPP6dq2Ukpg1hb+0Mi6YBqUA29G8ViYlcQfMwN0eg/ayPyKH0FJxLTP9Mx4Z3H8DxM9PBp6AZNKEN8sci4XkBUqwN0G96q4Mskg0SnG+Fa6asJ4IJJaqUpM5pQQQfvuBqzi1qSX4m4W4tCx6aEP6mMjPkryG16ZUKm6VzTZqKDSevz/lHCxRhNpDX0rug3Tqp7l0AsWY4XUNhg8zxHuQ9oZXOWsBfkqIqAMat/bUB+m054uBIwoQKi4TnD8j3/wWFFvBLwN1EYX8+YGNIutRIhTBa1veo+Miotir1DeW0jzY+o8GmXXLBPenoFHQujvKRpVZE2h2lXbB/DBTKji1hPOrql4+/ZVQ+FwpGbJc1pQ7eSfsu+tAigOYg6eeVRrjHq9fYPwYKZccUQ6fzvUYrzhNZ7aj3b0GF9l3wvFUA1ak8Br9hg3uchNXwI0SMWQOuB8qXDy8W+JWsJN9vDXmKENTvgganIQjq95ZbeItGKXopkpC6TCxAhqP+XnWT0AxuDrfC5Mw4rLDl5hpuxnyD5nfsmKyIBbLh3MobAlNh2Q64F0CL+4prGe/JZGIU7io0tGxiDpwDy6H5Gyv9TBd6IgWj5hakgB3MbKp/rbcDhw37zIyxPjArU/3dg7PScBs4zj6UDssOsvqd7bBulQZXCtagIyZdG2yQwdzIzW8/wOBf74AHfeE4hn8Y8Uyti/53kKLS9Q5Ys/PI9CCvWrQ8ITN3MxomvIRjy7+8Q1n+SZotR+lyO3/+KHnt2cwfJr1DdQe7+QiAlPXXJQCYErNuZcE6ZvsaWiaJ/FARIuU3v/kZpuWY+DZhGpfY7VlEhyl9rNWwwz7tQLNCKezb4vIX8T6NUguWngmGeAuE6qL/+DX/oTpGH07LMNg2k96hkSXQwV3nO1l1yHNX2GKEEhHugCOlZZNz3hzZiSx/+YAgLsfbzjet2DPmMzcMazA+4prkAvdCUX8SyrZMfVuWcqqscCe5AkrPxhO0Fza0TWVR/Ow9ybSCxZi7L9tUcqIrYj9kVjhgGb8h4AFClYN0D4nsPhVfIuoK6OThOcZ2nZgRCdoW7dYm3wv3tYSznRdl7XHLg3Q1GCY4Kxxbr0dAMQ3fBUOzT5smZf8d03StKcWU+ntqZISdhcw3H3CDsXKpUoz560g4YAnT10HIq0DlQyXDTfbltKqA+/RSNAhdjaIQSiNQtEsOD+oMshdwP/TLO5m3/UFoopdXOMzG6dkZCTZ1G+BDqUsvEhbrag97vc2XxSGzKcu6BvhZQNvNJ3Cf8uVzMQET3s0slfsav5Plv2PortbcCOa+c+FDgUVarIW8eAhX6tuq/9Epmo1EUuH8WST1oCUi9kOaEe8xWMWb3exf+gspdIfyyPQYcd/ZhLM9XO7fdqg3yZQODDAl3Feev/r5Qg2B7089VUD+aizvWX353s2L94wxE9UTypxUGQEuOUkDdiuI7SNQ5hvYCyqT4fVvDGsNLj3JaBLpJurJ6ivmYmyHMf8cklnldCg3cFo1bV1hSafW/YCs2FT1gaf7xiREvjuDpoX3fL54ruP1XbLP+Vx1Z5aTmfVbrJuACmb+BywCNdISldfy7obJF9AtOKVqscgcDZrlrKxCrQ+YaWVrGWhtRFuOO0EDlaF//DPoTUR0OM/s39gLzZ1ZzsYq7PoBpRScJsy4T2id+Df57p9kWTmku2Zbmy6l5kDULKe2CgMFuOhHdJ6gb9YUR9781d/zX3/AvecX6R9MjqFDB0tMhfuBmBoyiM9mdiHHB30zzaiO9HuS+XRw35VD+hn0ZubdHJezMOAW3zfZe+yq4FFbiMg3MNFB3Onnd8BVtVo2HnUNv8HS+YNNaNB9Z0xPY17TVzjClloGng66+uEfjnHkb573EocTHCvWcLaUnutru6jryiak2DhYLkQ0z7YXwND9yMTz0Av4itm7f3vl8fHm/TtsDYcnasEyieV/8LSVXbdivzMJq4EUJOpwyRgarQFIGRD7fuQq2gu8+8Mf3sHcRoTUoIouoiXCz3X6YBg7LOvVV4JJ4pFKLnoNLN2FDX35X7b+gJtrCTcY03yYG5zY5RQWoYXl0vlyZmLvlZ1a4X+BjvlRqRH7ufTJIFT87gXx4SdlV0w3Bo+gknP0xiazS2Gck+pwsechdQC1ajEo6Lf8WGBuJ+sM/R0X754IU3APhNqwuVNIDUIx8L0OfBJdiJH9DCXDFBOpfjie6SyfsDtrc+DuaHUVrIeF59LanyshN1IpffL68SN+w/7aJc9zKB1hYkDHcIpOUq54ZsYy5h9ba2UMSgE5SIL1iyLuLCOxKyNjjQ9PkvzlRcBC8V+OZ/NEta7DgEO4g441U3YaeTO3jfRqaFQSkEu6yxrLNE5SteDuV8Ojm6t4PpuOLy7enJ8Hr3Po+fn5m4vL8WQaRYvXpYFmOCLrkDJYkgodyzMup7wzMcLOaXLPInMnOyM3UcntQuXvgZKhSv/fTKIlW1ti1Ef+hMtJMwt/hOzUET90tgRsgqIbUtZvgXkOoMVrpBIOspSexktNbYm3XA8/XOQvtzIwzANNCsLzI03ZoRBT5pBpLc2M2VvnU+e48ATkgy/D3JZYz6O84q3FuzKmm1p2DsgTjEtvTbtBQYsZ8cYW7PB/HRQ9nc0XflDWlrj2zFCMTktKtZ151mH+pmLnwFyYapBDVp9bA3XSZzrxAFlKK2tL3HgWlL4OexnoLFhqER3Da7N+HLF60PZe4Frrw58JqZhS+eVmZW2JW88c5en472JZ5DWZowGZfsfAVF0DlfdTmxyn9kf6CRDR+IGpLTF6dw6sTkOciwDLrEsx3bMpcFQtVN5/skn69yS6N16VrYQspZW1JeasSc397+iIuNhl7zqiiyY4X+Ews3LIzdIOdNjPYCl/Z/MaSukEWzHdsT7SdCOCF20H7VagrdsEU1pToGQ3KKc9HLFtMV9ofWYWahWltB822GpuMffTHNfeGbAIUHA57s8VuER/Fh4KSFq7NMNVtK1AgJ15ltLcIhtIwX1COqEKnNzcTim2d/SzHGzyPYfdMQObISd3hNCzzA3PtGKHKCiMdf2ulCXvkyOVBEK/0lClEd2agZ+Cm3wvYXdcoRXq7WHHMvda7w/VBtmIi0lkAy02D3mZzDyl11Yfdo6D44vLHJrA7rhGG9PzkznjhH5S9eTiYgiwJTIaVy6GFptfkB8aT1/2hilRVCxfN3CpFMFqphdoFOLamp5knL+rF04WlV8pzXq8sE+Yk8hzaLmhf8IKg4mo6YQJbvOFDVRNLYdMcbl+1Lp+Jl0mAbYG5dEFctukjP9hsR3J9cy61uNZZZJP/irwz3baQNXUugwxB7cmqLhpesYFFQiwd0wPpmeCHNXa/4mc5NqFuW74pMtXphnMNbJ6RYpVU6sg+d4b/fvoilmBAJuhlCbdyCIItgKPqOpsIDjQZAdypXT5uX5ugX9pX+JdW2DR6zkiiZhm+t9C1aN/xiTAxotrzlXydMj93XBoBcnN8u2qhd+L54JNyH60u7bAyv5dhlg2N7r3UecyCbABlczYSp4MAzvvhjuMXvyVwzXySu2YxDj+mICzf2p9F+oTOLPeq95H2IVVdcCjvpd8Pzw8bshLpnJQMNOsa9R4nPhd6C6Bfu/mAJOs2wImumJghtdWmnBDVXVI8WYjhvFBAcANOeV+RHIlyi9Xd4j1eYC70EVvvzBwCGWpnxdU7bPV65cqcGVKSIdGfV8wPg8buNqrc/5HGlhEE/KhgfJpngcYKG9n+L///gatptZA6kxsjIlxECvCHE6AzVi9PIftgqmVKjHjAcBylz2CeKQvY+FGsBMFybOFq6ltIJk6K514Iko7NQvON2h7zhhFNjnqKyEnwSTPmHqod9I+9UPGO3QBzEB8ZF2awdXUVohssk5lmC21QqZZcF6jfZQxY/4tUV+5ZKq60p4EY+ZK3YPYL6DS1dzP5nnWavqN+IeIp/9y4Jn54Y6lVRnIhifk+xyshWjN+Fj1LlBfqAVruEuwx5Z1/Vi1HfOTbu9FH4i2eIl1PGANNV5NrYXUQqkUSsyJlJvuqFIdQusAVHLeiWWu1088ONotjq3WRVk3/jOcnnZdW1fbYuWEjmnP6imSYt9NvJpaBdmXR2nGrFNHCh/8FKAKlmOlvkeYulMr2QcYO6LR5jlECXLQQPx8B/CWZ/wBOeD1LTeQ1b9HjYowFjysuBHWt3rPSn3PMDe3wk13ptROzWwxFdd/DQK85LxFzHg5BFRHXlEfigf1O9ZYaSRmpijFt6UFyGNVD2gB8l3WDZd6FCwGGaBsOV0hIlW0PA0s8KPd2C1WGiEcMCL9t5J/3sBH5vymcZTf7oUndrhItdxhaueE4b3osfJ+Rqkmrpip7zHiZi2vNLgcDgwMlVUDPZZjLKui9V/M5X7gv2ix8n5WqSZWzLyjCLFe1/Geos1+Aq7zjsUq2swlR1OBuWwHhEWHtcOP8qxcqRBuLT1RAbahn4M90/KFAb4sVtNmK5hEiIs4G1Pp+9QIusQqVBNVCLdGeIE778d0nn+xzDPveCzsJpbTDUCXVnHlLaPNLM2ZTnOOk0xqduHWTMkkb12fwS2DUjX7nccq22zlXMwlo/YRjZ0kOoTUYJdqYsdeo1kGaE7nvS2zmLRTVqbqLNPQGO+lxgIJutzTnxATpZKRuSkPwFya4YzMRYCiLPGuwiS3ENXeFKJMB/os09AYu0zWRZvDgFptcuGYMB6lL6Ds3PlhKNHYOnVoV2ECXQa1tvcougG+lWsbXyEQy+wpX/SuK0qF1bKJNQ+YYIuiijCj6uL4VhWxRCuLM9hlUCsKkG061v+nIuzAbLugXKGllDsebUpN25SYHOx5IBRzEBZoIqMIngu1toX4Otn/VUzaQlF9ngFjJTVFEK+ccZSaToL80OfpWjLxZv5z1FnIZOflAKiq2OApIky4Hg0biagF7/ffgspj4E0xCWV7wEK9ZjwaLF8Aq1AiqmJIAGPvAgJHxyiUbzmrPeps0yL+L45AfhUl8Hj3SxnyQxFTJt8NAKxGiaiKawzHMDTaCrP4nAds5U6JGjyvU3Oe9MtlgKBEVgtebxzqgskpxixl5C3ffyaU3p3ZGKGQg3L2rz7fo5CU0ufpJGRM9Xj32J/lVcp5O2aqSh7/BfkukUqp297A131w9YDJWrSZOvn8HHPIbAjtAzDstfyJdszb22Ge4fCAPB7uJEPksqF0rs9qmX4kV6Dnqa50wiEssHK5usukq2oXPDIbhMV1yNWqKXMSbUuAl1zB/b/9E8YKU6ik+NztYK+PltVSxyNF3WX37cAgyzzgQWmaLpL9J0RK7xkrdOQSVD4Ue0W0LnIxmv9+c+BnnFYXDKPHi84xMa3lVlAHBrUrnJxkREVswMVhLWtDcTlWydcfKHiHssuJTDJtOJ4Tb4hnMCqY6XzeJymeTo5kHl6xrMiep6jzEcM+myAQVj+DtckkabqI7ZCFxSBb4Eb05NuNZJwJk01xn+e5O272HiH1sqoPPx2QKnzBa0Rd5aQqwsnZmEf9KCNMeZj81KLkTHQcY9Vs+GKNcOSoupxSTPPxdkWZpXnLrDnYM/83ZcHMpv+6mKbIKCQzraI2ZivTeR8KsVHIejW28v4TaeqAioq1jjHW8Ryay5fWpZPS3osxOinsCkERB9apeh4CQ7Mv7r9l1q7a5O7QZHxw1GxCXtborn59VC6nyyuSJBR4kKWK/JM7/Fy/F75PDjpDyzE7HKIggvYMfQHItpKAQUVUhO6bYpO9Pf9sjc7Yaj+MuTAR+WpTnnzNxpXxvgiMHP1mzZP+G3LzNDIy5yJIkBJoU3zyqWLtJSiOPm9s3kngZtAVRghmZoL/RGE8SW+m8MmitfZfRiltq02Rv5h7nnnnmrH/R+1wHHW5f9R79Bjntwq+U28/R77LEAsT/v+6KXbyIwl1YWLQI15/BVbrVJJA9XUoG9mwchGb8P/FBFWuLuW0FPhKtOVEEwE3N+npE8dKJAleAjWDYxKFBqwZ8f9AhZdCEfP+5Ehq0cZDNcdLdTEdcUJ95wZRqH3NChMBFjxwUQyPMmW0CDytMhPVxfSUEQZ0RRSFutfsWNDoSbxQYSKWWHrqX/FyBPPJCgmwTOWERhcqee8Ta56n6ggrheCFChN9EtIwNu6/mEF1MT1VJ+Aw9t9sMpwaVArNA+AUEoWYB5SM0fcyblGdn6fGyi2XmoIHl3E/JdKLJUlJATTpJRd9osbAzxBXnZ+nIHuo+pImoY7a/Myu1JoMhRnluCerC9L3FIfAa323OlwqJynH+mQX47AXfFSWAMEcly06IaeUC8i1HlzGS+VnM53Vq8X0DSzZ/+xjYSpFljAnE1SNlMUYfa2XqLopQG15bDMvNIkAo30zia1MqlPoBJKMUTVSkmkII+801kx15+cotFpwuYjGAm9DmyoDS8ufMXThmoxhW9fNxwDh1Sm1geRp1fk5GRsuuFzG00vpoOfjA/NiYusKNMmcRCHmETHMRwzTlE1ZnEJ05+d5aHsFaxnPJhcCuwZvxtNo8RzW7HQaQvMf55ewKS+JLgORqpmRPgQRI39+1k2oXFuQEf1nwuT8nEYWnF9cjqfRXG18YEmFI9OfTw9nRLAy/WIuKEmZXQS8dFxkfxKJLnSX0lHYK8zQZeJnlv3z/+Y3H4c0ocJC/qje4MorFjMWnkxwOZn3RVKJx3yyXfVH/V8Jk8x9OBvnl5NoAXtU55dAfJDF/KXeFnjRBm/Gk8gsbosk3cVB0yGriDJUuy6mi7P/kpjlIp5HeyZeJIiZIY73jmm+SEDz2uLluPaPLI6TXiqt6HMddT6eJQpolclFQKpi/Y+PiZ8Jr4vz4BBFdDmZaarkLObPjK83R45ahOo7Aw==";
var DEFAULT_SETTINGS_VALUES = {
nodeTypeOnDoubleClick: "text",
alignNewNodesToGrid: true,
@@ -1672,11 +1711,13 @@ var DEFAULT_SETTINGS_VALUES = {
disableFontSizeRelativeToZoom: false,
canvasMetadataCompatibilityEnabled: true,
enableSingleNodeLinks: true,
+ enableSingleNodePopupReferenceCopy: false,
combineCustomStylesInDropdown: false,
nodeStylingFeatureEnabled: true,
customNodeStyleAttributes: [],
defaultTextNodeColor: 0,
defaultTextNodeStyleAttributes: {},
+ nodeTemplates: [],
edgesStylingFeatureEnabled: true,
customEdgeStyleAttributes: [],
inheritEdgeColorFromNode: false,
@@ -1706,6 +1747,7 @@ var DEFAULT_SETTINGS_VALUES = {
disableNodePopup: false,
disableZoom: false,
disablePan: false,
+ readingModeFixEnabled: false,
autoResizeNodeFeatureEnabled: false,
autoResizeNodeEnabledByDefault: false,
autoResizeNodeMaxHeight: -1,
@@ -1720,14 +1762,18 @@ var DEFAULT_SETTINGS_VALUES = {
resetViewportOnPresentationEnd: true,
useArrowKeysToChangeSlides: true,
usePgUpPgDownKeysToChangeSlides: true,
+ useDirectionalSlideNavigation: false,
zoomToSlideWithoutPadding: true,
useUnclampedZoomWhilePresenting: false,
fullscreenPresentationEnabled: true,
slideTransitionAnimationDuration: 0.5,
slideTransitionAnimationIntensity: 1.25,
+ pdfAnnotationFeatureEnabled: false,
+ pdfPagesGap: 60,
+ pdfPageSizeFactor: 1.5,
+ pdfPageResolution: 1.5,
canvasEncapsulationEnabled: false,
portalsFeatureEnabled: true,
- showEdgesIntoDisabledPortals: true,
autoFileNodeEdgesFeatureEnabled: false,
autoFileNodeEdgesFrontmatterKey: "canvas-edges",
edgeHighlightEnabled: false,
@@ -1735,443 +1781,6 @@ var DEFAULT_SETTINGS_VALUES = {
edgeSelectionEnabled: false,
selectEdgeByDirection: false
};
-var SETTINGS = {
- general: {
- label: "General",
- description: "General settings of the Advanced Canvas plugin.",
- disableToggle: true,
- children: {
- nodeTypeOnDoubleClick: {
- label: "Node type on double click",
- description: "The type of node that will be created when double clicking on the canvas.",
- type: "dropdown",
- options: {
- "text": "Text",
- "file": "File"
- }
- },
- alignNewNodesToGrid: {
- label: "Always align new nodes to grid",
- description: "When enabled, new nodes will be aligned to the grid.",
- type: "boolean"
- },
- defaultTextNodeDimensions: {
- label: "Default text node dimensions",
- description: "The default dimensions of a text node.",
- type: "dimension",
- parse: (value) => {
- const width = Math.max(1, parseInt(value[0]) || 0);
- const height = Math.max(1, parseInt(value[1]) || 0);
- return [width, height];
- }
- },
- defaultFileNodeDimensions: {
- label: "Default file node dimensions",
- description: "The default dimensions of a file node.",
- type: "dimension",
- parse: (value) => {
- const width = Math.max(1, parseInt(value[0]) || 0);
- const height = Math.max(1, parseInt(value[1]) || 0);
- return [width, height];
- }
- },
- minNodeSize: {
- label: "Minimum node size",
- description: "The minimum size (either width or height) of a node.",
- type: "number",
- parse: (value) => Math.max(1, parseInt(value) || 0)
- },
- maxNodeWidth: {
- label: "Maximum node width",
- description: "The maximum width of a node. Set to -1 for no limit.",
- type: "number",
- parse: (value) => Math.max(-1, parseInt(value) || 0)
- },
- disableFontSizeRelativeToZoom: {
- label: "Disable font size relative to zoom",
- description: "When enabled, the font size of e.g. group node titles and edge labels will not increase when zooming out.",
- type: "boolean"
- }
- }
- },
- commandsFeatureEnabled: {
- label: "Extended commands",
- description: "Add more commands to the canvas.",
- infoSection: "canvas-commands",
- children: {
- zoomToClonedNode: {
- label: "Zoom to cloned node",
- description: "When enabled, the canvas will zoom to the cloned node.",
- type: "boolean"
- },
- cloneNodeMargin: {
- label: "Clone node margin",
- description: "The margin between the cloned node and the source node.",
- type: "number",
- parse: (value) => Math.max(0, parseInt(value) || 0)
- },
- expandNodeStepSize: {
- label: "Expand node step size",
- description: "The step size for expanding the node.",
- type: "number",
- parse: (value) => Math.max(1, parseInt(value) || 0)
- }
- }
- },
- canvasMetadataCompatibilityEnabled: {
- label: "Enable .canvas metadata cache compatibility",
- description: "Make .canvas files compatible with the backlinks and outgoing links feature and show the connections in the graph view.",
- infoSection: "full-metadata-cache-support",
- children: {
- enableSingleNodeLinks: {
- label: "Enable support for linking to a node using a [[wikilink]]",
- description: "When enabled, you can link and embed a node using [[canvas-file#node-id]].",
- type: "boolean"
- }
- }
- },
- nativeFileSearchEnabled: {
- label: "Native-like file search",
- description: "When enabled, the file search will be done using the native Obsidian file search.",
- infoSection: "native-like-file-search",
- children: {}
- },
- autoFileNodeEdgesFeatureEnabled: {
- label: "Auto file node edges",
- description: "Automatically create edges between file nodes based their frontmatter links.",
- infoSection: "auto-file-node-edges",
- children: {
- autoFileNodeEdgesFrontmatterKey: {
- label: "Frontmatter key name",
- description: "The frontmatter key to fetch the outgoing edges from. (Keep the default to ensure best compatibility.)",
- type: "text",
- parse: (value) => value.trim() || "canvas-edges"
- }
- }
- },
- portalsFeatureEnabled: {
- label: "Portals",
- description: "Create portals to other canvases.",
- infoSection: "portals",
- children: {
- showEdgesIntoDisabledPortals: {
- label: "Show edges into disabled portals",
- description: "When enabled, edges into disabled portals will be shown.",
- type: "boolean"
- }
- }
- },
- collapsibleGroupsFeatureEnabled: {
- label: "Collapsible groups",
- description: "Group nodes can be collapsed and expanded to keep the canvas organized.",
- infoSection: "collapsible-groups",
- children: {
- collapsedGroupPreviewOnDrag: {
- label: "Collapsed group preview on drag",
- description: "When enabled, a group that is collapsed show its border while dragging a node.",
- type: "boolean"
- }
- }
- },
- combineCustomStylesInDropdown: {
- label: "Combine custom styles",
- description: "Combine all style attributes of Advanced Canvas in a single dropdown.",
- children: {}
- },
- nodeStylingFeatureEnabled: {
- label: "Node styling",
- description: "Style your nodes with different shapes and borders.",
- infoSection: "node-styles",
- children: {
- customNodeStyleAttributes: {
- label: "Custom node style settings",
- description: "Add custom style settings for nodes. (Go to GitHub for more information)",
- type: "button",
- onClick: () => window.open("https://github.com/Developer-Mike/obsidian-advanced-canvas/blob/main/README.md#custom-styles")
- },
- defaultTextNodeColor: {
- label: "Default text node color",
- description: "The default color of a text node. The default range is from 0 to 6, where 0 is no color. The range can be extended by using the Custom Colors feature of Advanced Canvas.",
- type: "number",
- parse: (value) => Math.max(0, parseInt(value) || 0)
- },
- defaultTextNodeStyleAttributes: {
- label: "Default text node style attributes",
- type: "styles",
- getParameters(settingsManager) {
- return [
- ...BUILTIN_NODE_STYLE_ATTRIBUTES,
- /* BUILTINS */
- ...settingsManager.nodeCssStylesManager.getStyles(),
- /* CUSTOM CSS STYLES */
- ...settingsManager.getSetting("customNodeStyleAttributes")
- /* LEGACY CUSTOM STYLES */
- ].filter((setting) => {
- var _a;
- return setting.nodeTypes === void 0 || ((_a = setting.nodeTypes) == null ? void 0 : _a.includes("text"));
- });
- }
- }
- }
- },
- edgesStylingFeatureEnabled: {
- label: "Edges styling",
- description: "Style your edges with different path styles.",
- infoSection: "edge-styles",
- children: {
- customEdgeStyleAttributes: {
- label: "Custom edge style settings",
- description: "Add custom style settings for edges. (Go to GitHub for more information)",
- type: "button",
- onClick: () => window.open("https://github.com/Developer-Mike/obsidian-advanced-canvas/blob/main/README.md#custom-styles")
- },
- inheritEdgeColorFromNode: {
- label: "Inherit edge color from node",
- description: "When creating a new edge by dragging from a node, the edge will inherit the color of the node it is dragged from.",
- type: "boolean"
- },
- defaultEdgeColor: {
- label: "Default edge color",
- description: "The default color of an edge. The default range is from 0 to 6, where 0 is no color. The range can be extended by using the Custom Colors feature of Advanced Canvas.",
- type: "number",
- parse: (value) => Math.max(0, parseInt(value) || 0)
- },
- defaultEdgeLineDirection: {
- label: "Default edge line direction",
- description: "The default line direction of an edge.",
- type: "dropdown",
- options: {
- "nondirectional": "Nondirectional",
- "unidirectional": "Unidirectional",
- "bidirectional": "Bidirectional"
- }
- },
- defaultEdgeStyleAttributes: {
- label: "Default edge style attributes",
- type: "styles",
- getParameters(settingsManager) {
- return [
- ...BUILTIN_EDGE_STYLE_ATTRIBUTES,
- /* BUILTINS */
- ...settingsManager.edgeCssStylesManager.getStyles(),
- /* CUSTOM CSS STYLES */
- ...settingsManager.getSetting("customEdgeStyleAttributes")
- /* LEGACY CUSTOM STYLES */
- ];
- }
- },
- edgeStyleUpdateWhileDragging: {
- label: "Update edge style while dragging (Can be very slow)",
- description: "When enabled, the edge style will be updated while dragging an edge.",
- type: "boolean"
- },
- edgeStyleSquarePathRounded: {
- label: "Square path rounded",
- description: "When enabled, the square path's corners will be rounded.",
- type: "boolean"
- },
- edgeStylePathfinderAllowDiagonal: {
- label: "A* allow diagonal",
- description: "When enabled, the A* path style will allow diagonal paths.",
- type: "boolean"
- },
- edgeStylePathfinderPathRounded: {
- label: "A* rounded path",
- description: "When enabled, the A* path style will be rounded.",
- type: "boolean"
- }
- }
- },
- floatingEdgeFeatureEnabled: {
- label: "Floating edges (auto edge side)",
- description: "Floating edges are automatically placed on the most suitable side of the node.",
- infoSection: "floating-edges-automatic-edge-side",
- children: {
- allowFloatingEdgeCreation: {
- label: "Allow floating edges creation",
- description: "Allow floating edges creation by dragging the edge over the target node without placing it over a specific side connection point. (If disabled, floating edges can only be created and used by other Advanced Canvas features.)",
- type: "boolean"
- },
- newEdgeFromSideFloating: {
- label: "New edge from side floating",
- description: 'When enabled, the "from" side of the edge will always be floating.',
- type: "boolean"
- }
- }
- },
- flipEdgeFeatureEnabled: {
- label: "Flip edges",
- description: "Flip the direction of edges using the popup menu.",
- infoSection: "flip-edge",
- children: {}
- },
- presentationFeatureEnabled: {
- label: "Presentations",
- description: "Create a presentation from your canvas.",
- infoSection: "presentation-mode",
- children: {
- showSetStartNodeInPopup: {
- label: 'Show "Set Start Node" in node popup',
- description: "If turned off, you can still set the start node using the corresponding command.",
- type: "boolean"
- },
- defaultSlideDimensions: {
- label: "Default slide dimensions",
- description: "The default dimensions of a slide.",
- type: "dimension",
- parse: (value) => {
- const width = Math.max(1, parseInt(value[0]) || 0);
- const height = Math.max(1, parseInt(value[1]) || 0);
- return [width, height];
- }
- },
- wrapInSlidePadding: {
- label: "Wrap in slide padding",
- description: "The padding of the slide when wrapping the canvas in a slide.",
- type: "number",
- parse: (value) => Math.max(0, parseInt(value) || 0)
- },
- resetViewportOnPresentationEnd: {
- label: "Reset viewport on presentation end",
- description: "When enabled, the viewport will be reset to the original position after the presentation ends.",
- type: "boolean"
- },
- useArrowKeysToChangeSlides: {
- label: "Use arrow keys to change slides",
- description: "When enabled, you can use the arrow keys to change slides in presentation mode.",
- type: "boolean"
- },
- usePgUpPgDownKeysToChangeSlides: {
- label: "Use PgUp/PgDown keys to change slides",
- description: "When enabled, you can use the PgUp/PgDown keys to change slides in presentation mode (Makes the presentation mode compatible with most presentation remotes).",
- type: "boolean"
- },
- zoomToSlideWithoutPadding: {
- label: "Zoom to slide without padding",
- description: "When enabled, the canvas will zoom to the slide without padding.",
- type: "boolean"
- },
- useUnclampedZoomWhilePresenting: {
- label: "Use unclamped zoom while presenting",
- description: "When enabled, the zoom will not be clamped while presenting.",
- type: "boolean"
- },
- fullscreenPresentationEnabled: {
- label: "Enter fullscreen while presenting",
- description: "When enabled, presentations automatically request fullscreen. Disable to keep Obsidian windowed during presentations.",
- type: "boolean"
- },
- slideTransitionAnimationDuration: {
- label: "Slide transition animation duration",
- description: "The duration of the slide transition animation in seconds. Set to 0 to disable the animation.",
- type: "number",
- parse: (value) => Math.max(0, parseFloat(value) || 0)
- },
- slideTransitionAnimationIntensity: {
- label: "Slide transition animation intensity",
- description: "The intensity of the slide transition animation. The higher the value, the more the canvas will zoom out before zooming in on the next slide.",
- type: "number",
- parse: (value) => Math.max(0, parseFloat(value) || 0)
- }
- }
- },
- zOrderingControlFeatureEnabled: {
- label: "Z ordering controls",
- description: "Change the persistent z-index of nodes using the context menu.",
- children: {
- zOrderingControlShowOneLayerShiftOptions: {
- label: "Show one layer shift options",
- description: "When enabled, you can move nodes one layer forward or backward.",
- type: "boolean"
- }
- }
- },
- aspectRatioControlFeatureEnabled: {
- label: "Aspect ratio control",
- description: "Change the aspect ratio of nodes using the context menu.",
- children: {}
- },
- variableBreakpointFeatureEnabled: {
- label: "Variable breakpoint",
- description: `Change the zoom breakpoint (the zoom level at which the nodes won't render their content anymore) on a per-node basis using the ${VARIABLE_BREAKPOINT_CSS_VAR} CSS variable.`,
- infoSection: "variable-breakpoints",
- children: {}
- },
- autoResizeNodeFeatureEnabled: {
- label: "Auto resize node",
- description: "Automatically resize the height of a node to fit the content.",
- infoSection: "auto-node-resizing",
- children: {
- autoResizeNodeEnabledByDefault: {
- label: "Enable auto resize by default",
- description: "When enabled, the auto resize feature will be enabled by default for all nodes.",
- type: "boolean"
- },
- autoResizeNodeMaxHeight: {
- label: "Max height",
- description: "The maximum height of the node when auto resizing (-1 for unlimited).",
- type: "number",
- parse: (value) => {
- var _a;
- return Math.max(-1, (_a = parseInt(value)) != null ? _a : -1);
- }
- },
- autoResizeNodeSnapToGrid: {
- label: "Snap to grid",
- description: "When enabled, the height of the node will snap to the grid.",
- type: "boolean"
- }
- }
- },
- canvasEncapsulationEnabled: {
- label: "Canvas encapsulation",
- description: "Encapsulate a selection of nodes and edges into a new canvas using the context menu.",
- infoSection: "encapsulate-selection",
- children: {}
- },
- betterReadonlyEnabled: {
- label: "Better readonly",
- description: "Improve the readonly mode.",
- infoSection: "better-readonly",
- children: {
- hideBackgroundGridWhenInReadonly: {
- label: "Hide background grid when in readonly",
- description: "When enabled, the background grid will be hidden when in readonly mode.",
- type: "boolean"
- }
- }
- },
- edgeHighlightEnabled: {
- label: "Edge highlight",
- description: "Highlight outgoing (and optionally incoming) edges of a selected node.",
- infoSection: "edge-highlight",
- children: {
- highlightIncomingEdges: {
- label: "Highlight incoming edges",
- description: "When enabled, incoming edges will also be highlighted.",
- type: "boolean"
- }
- }
- },
- edgeSelectionEnabled: {
- label: "Edge selection",
- description: "Select edges connected to the selected node(s) using the popup menu.",
- infoSection: "edge-selection",
- children: {
- selectEdgeByDirection: {
- label: "Select edge by direction",
- description: "Select incoming or outgoing edges using separate popup menu items.",
- type: "boolean"
- }
- }
- },
- focusModeFeatureEnabled: {
- label: "Focus mode",
- description: "Focus on a single node and blur all other nodes.",
- infoSection: "focus-mode",
- children: {}
- }
-};
var SettingsManager = class {
constructor(plugin) {
this.plugin = plugin;
@@ -2203,167 +1812,1037 @@ var AdvancedCanvasPluginSettingTab = class extends import_obsidian4.PluginSettin
super(plugin.app, plugin);
this.settingsManager = settingsManager;
}
- display() {
- const { containerEl } = this;
- containerEl.empty();
- this.createKofiBanner(containerEl);
- for (const [headingId, heading] of Object.entries(SETTINGS)) {
- this.createFeatureHeading(
- containerEl,
- heading.label,
- heading.description,
- heading.infoSection,
- heading.disableToggle ? null : headingId
- );
- const settingsHeaderChildrenContainerEl = document.createElement("div");
- settingsHeaderChildrenContainerEl.classList.add("settings-header-children");
- settingsHeaderChildrenContainerEl.appendChild(document.createElement("span"));
- containerEl.appendChild(settingsHeaderChildrenContainerEl);
- for (const [settingId, setting] of Object.entries(heading.children)) {
- if (!(settingId in DEFAULT_SETTINGS_VALUES)) continue;
- switch (setting.type) {
- case "text":
- this.createTextSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "number":
- this.createNumberSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "dimension":
- this.createDimensionSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "boolean":
- this.createBooleanSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "dropdown":
- this.createDropdownSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "button":
- this.createButtonSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- case "styles":
- this.createStylesSetting(settingsHeaderChildrenContainerEl, settingId, setting);
- break;
- }
+ getKeyIndexFromSettingKey(settingKey) {
+ const match = settingKey.match(/^(.*)\[(.+)\]$/);
+ if (match) return {
+ key: match[1],
+ index: isNaN(Number(match[2])) ? match[2] : Number(match[2])
+ };
+ return { key: settingKey, index: null };
+ }
+ getControlValue(settingKey) {
+ const { key, index } = this.getKeyIndexFromSettingKey(settingKey);
+ const value = this.settingsManager.getSetting(key);
+ if (typeof index === "number" && Array.isArray(value))
+ return value[index];
+ if (typeof index === "string")
+ return value[index];
+ return value;
+ }
+ async setControlValue(settingKey, value) {
+ const { key, index } = this.getKeyIndexFromSettingKey(settingKey);
+ if (index !== null) {
+ const current = this.settingsManager.getSetting(key);
+ if (typeof index === "number" && Array.isArray(current)) {
+ current[index] = value;
+ return await this.settingsManager.setSetting({ [key]: current });
+ } else if (typeof index === "string") {
+ if (value === "") delete current[index];
+ else current[index] = value;
+ return await this.settingsManager.setSetting({ [key]: current });
}
}
+ await this.settingsManager.setSetting({ [key]: value });
}
- createFeatureHeading(containerEl, label, description, infoSection, settingsKey) {
- const setting = new import_obsidian4.Setting(containerEl).setHeading().setClass("ac-settings-heading").setName(label).setDesc(description);
- if (infoSection !== void 0) {
- setting.addExtraButton(
- (button) => button.setTooltip("Open github documentation").setIcon("info").onClick(async () => {
- window.open(`${README_URL}#${infoSection}`);
- })
- );
- }
- if (settingsKey !== null) {
- setting.addToggle(
- (toggle) => toggle.setTooltip("Requires a reload to take effect.").setValue(this.settingsManager.getSetting(settingsKey)).onChange(async (value) => {
- await this.settingsManager.setSetting({ [settingsKey]: value });
- new import_obsidian4.Notice("Reload obsidian to apply the changes.");
- })
- );
- }
- return setting;
+ getDocumentationButton(section, label) {
+ return {
+ name: label ? `Open ${label} documentation` : "Open documentation",
+ action: () => window.open(`${README_URL}#${section}`, "_blank")
+ };
}
- createTextSetting(containerEl, settingId, setting) {
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addText(
- (text) => text.setValue(this.settingsManager.getSetting(settingId)).onChange(async (value) => {
- await this.settingsManager.setSetting({ [settingId]: setting.parse ? setting.parse(value) : value });
- })
- );
- }
- createNumberSetting(containerEl, settingId, setting) {
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addText(
- (text) => text.setValue(this.settingsManager.getSetting(settingId).toString()).onChange(async (value) => {
- await this.settingsManager.setSetting({ [settingId]: setting.parse(value) });
- })
- );
- }
- createDimensionSetting(containerEl, settingId, setting) {
- let text1;
- let text2;
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addText((text) => {
- text1 = text.setValue(this.settingsManager.getSetting(settingId)[0].toString()).onChange(async (value) => await this.settingsManager.setSetting({ [settingId]: setting.parse([value, text2.getValue()]) }));
- }).addText((text) => {
- text2 = text.setValue(this.settingsManager.getSetting(settingId)[1].toString()).onChange(async (value) => await this.settingsManager.setSetting({ [settingId]: setting.parse([text1.getValue(), value]) }));
- });
- }
- createBooleanSetting(containerEl, settingId, setting) {
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addToggle(
- (toggle) => toggle.setValue(this.settingsManager.getSetting(settingId)).onChange(async (value) => {
- await this.settingsManager.setSetting({ [settingId]: value });
- })
- );
- }
- createDropdownSetting(containerEl, settingId, setting) {
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addDropdown(
- (dropdown) => dropdown.addOptions(setting.options).setValue(this.settingsManager.getSetting(settingId)).onChange(async (value) => {
- await this.settingsManager.setSetting({ [settingId]: value });
- })
- );
- }
- createButtonSetting(containerEl, settingId, setting) {
- new import_obsidian4.Setting(containerEl).setName(setting.label).setDesc(setting.description).addButton(
- (button) => button.setButtonText("Open").onClick(() => setting.onClick())
- );
- }
- createStylesSetting(containerEl, settingId, setting) {
- const nestedContainerEl = document.createElement("details");
- nestedContainerEl.classList.add("setting-item");
- containerEl.appendChild(nestedContainerEl);
- const summaryEl = document.createElement("summary");
- summaryEl.textContent = setting.label;
- nestedContainerEl.appendChild(summaryEl);
- for (const styleAttribute of setting.getParameters(this.settingsManager)) {
- new import_obsidian4.Setting(nestedContainerEl).setName(styleAttribute.label).addDropdown(
- (dropdown) => {
- var _a;
- return dropdown.addOptions(Object.fromEntries(styleAttribute.options.map((option) => [option.value, option.value === null ? `${option.label} (default)` : option.label]))).setValue((_a = this.settingsManager.getSetting(settingId)[styleAttribute.key]) != null ? _a : "null").onChange(async (value) => {
- const newValue = this.settingsManager.getSetting(settingId);
- if (value === "null") delete newValue[styleAttribute.key];
- else newValue[styleAttribute.key] = value;
- await this.settingsManager.setSetting({
- [settingId]: newValue
- });
- });
+ getSettingDefinitions() {
+ return [
+ // Ko-fi banner
+ {
+ type: "group",
+ items: [
+ {
+ name: "Support me on Ko-fi",
+ desc: "If you like this plugin, consider supporting its development <3",
+ action: () => window.open(KOFI_PAGE_URL, "_blank")
+ }
+ ]
+ },
+ // General settings
+ {
+ name: "Node type on double click",
+ desc: "The type of node that will be created when double clicking on the canvas.",
+ control: {
+ type: "dropdown",
+ key: "nodeTypeOnDoubleClick",
+ options: {
+ "text": "Text",
+ "file": "File"
+ }
}
- );
- }
- }
- async createKofiBanner(containerEl) {
- const banner = document.createElement("div");
- banner.classList.add("kofi-banner");
- const title = document.createElement("h1");
- title.textContent = "Enjoying the plugin?";
- banner.appendChild(title);
- const description = document.createElement("p");
- description.innerHTML = `
- Currently, Advanced Canvas has received about ${RECEIVED_DONATIONS}\xA3 in donations with a total of about ${SPENT_HOURS} hours spent on development.
-
- Please help me develop this plugin further by reaching the goal of ${HOURLY_RATE_GOAL}\xA3/hour \u2764\uFE0F
- `;
- banner.appendChild(description);
- const progressContainer = document.createElement("div");
- progressContainer.classList.add("progress-container");
- const progressbar = document.createElement("progress");
- progressbar.value = RECEIVED_DONATIONS / SPENT_HOURS;
- progressbar.max = HOURLY_RATE_GOAL;
- progressContainer.appendChild(progressbar);
- const hourlyRate = document.createElement("span");
- hourlyRate.classList.add("hourly-rate");
- hourlyRate.textContent = `${(RECEIVED_DONATIONS / SPENT_HOURS).toString()}\xA3/h`;
- progressContainer.appendChild(hourlyRate);
- banner.appendChild(progressContainer);
- const koFiButton = document.createElement("a");
- koFiButton.classList.add("ac-kofi-button");
- koFiButton.href = KOFI_PAGE_URL;
- koFiButton.target = "_blank";
- const koFiImage = document.createElement("img");
- koFiImage.src = KOFI_BADGE_URI;
- koFiButton.appendChild(koFiImage);
- banner.appendChild(koFiButton);
- containerEl.appendChild(banner);
+ },
+ {
+ name: "Always align new nodes to grid",
+ desc: "Aligns new nodes to the grid.",
+ control: {
+ type: "toggle",
+ key: "alignNewNodesToGrid"
+ }
+ },
+ {
+ type: "page",
+ name: "Text node dimensions",
+ desc: "The default dimensions of a text node.",
+ items: [
+ {
+ name: "Width",
+ desc: "The default width of a text node.",
+ control: {
+ type: "number",
+ key: "defaultTextNodeDimensions[0]"
+ }
+ },
+ {
+ name: "Height",
+ desc: "The default height of a text node.",
+ control: {
+ type: "number",
+ key: "defaultTextNodeDimensions[1]"
+ }
+ }
+ ]
+ },
+ {
+ type: "page",
+ name: "File node dimensions",
+ desc: "The default dimensions of a file node.",
+ items: [
+ {
+ name: "Width",
+ desc: "The default width of a file node.",
+ control: {
+ type: "number",
+ key: "defaultFileNodeDimensions[0]"
+ }
+ },
+ {
+ name: "Height",
+ desc: "The default height of a file node.",
+ control: {
+ type: "number",
+ key: "defaultFileNodeDimensions[1]"
+ }
+ }
+ ]
+ },
+ {
+ type: "page",
+ name: "Node size limits",
+ desc: "The minimum and maximum size of a node.",
+ items: [
+ {
+ name: "Minimum node width/height",
+ desc: "The minimum size of a node.",
+ control: {
+ type: "number",
+ key: "minNodeSize"
+ }
+ },
+ {
+ name: "Maximum node width",
+ desc: "The maximum width of a node. Set to -1 for no limit.",
+ control: {
+ type: "number",
+ key: "maxNodeWidth"
+ }
+ }
+ ]
+ },
+ {
+ name: "Disable font size relative to zoom",
+ desc: "The font size of group node titles and edge labels will not increase when zooming out.",
+ control: {
+ type: "toggle",
+ key: "disableFontSizeRelativeToZoom"
+ }
+ },
+ // Extended commands
+ {
+ type: "group",
+ heading: "Extended commands",
+ items: [
+ {
+ name: "Show commands in command palette",
+ desc: "Features a bunch of commands that can be used to manipulate the canvas and its content.",
+ control: {
+ type: "toggle",
+ key: "commandsFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: `Extended commands configuration`,
+ visible: () => this.getControlValue("commandsFeatureEnabled"),
+ items: [
+ {
+ name: "Zoom to cloned node",
+ desc: "Zooms to the cloned node after creation.",
+ control: {
+ type: "toggle",
+ key: "zoomToClonedNode"
+ }
+ },
+ {
+ name: "Clone node margin",
+ desc: "The margin between the cloned node and the source node.",
+ control: {
+ type: "number",
+ key: "cloneNodeMargin"
+ }
+ },
+ {
+ name: "Expand node step size",
+ desc: "The step size for expanding the node.",
+ control: {
+ type: "number",
+ key: "expandNodeStepSize"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("canvas-commands")
+ ]
+ },
+ // Metadata compatibility
+ {
+ type: "group",
+ heading: "Metadata compatibility",
+ items: [
+ {
+ name: "Enable canvas metadata compatibility",
+ desc: "Makes .canvas files compatible with the backlinks and outgoing links feature and show the connections in the graph view.",
+ control: {
+ type: "toggle",
+ key: "canvasMetadataCompatibilityEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Canvas metadata compatibility settings",
+ visible: () => this.getControlValue("canvasMetadataCompatibilityEnabled"),
+ items: [
+ {
+ name: "Support linking to a node using a [[wikilink]]",
+ desc: 'Link and embed a node using [[canvas-file#node-id]]. (Use the "Copy wikilink to node" command to get an id.)',
+ control: {
+ type: "toggle",
+ key: "enableSingleNodeLinks"
+ }
+ },
+ {
+ name: "Show button to copy node [[wikilink]]",
+ desc: "Shows a button in the node popup to copy the [[wikilink]] of the node for easy reference in other notes.",
+ control: {
+ type: "toggle",
+ key: "enableSingleNodePopupReferenceCopy"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("canvas-metadata-compatibility")
+ ]
+ },
+ // Native-like file search
+ {
+ type: "group",
+ heading: "Native-like file search",
+ items: [
+ {
+ name: "Enable native-like file search",
+ desc: "Quickly locate text within your canvas using the native Obsidian search interface.",
+ control: {
+ type: "toggle",
+ key: "nativeFileSearchEnabled"
+ }
+ },
+ this.getDocumentationButton("native-like-file-search")
+ ]
+ },
+ // Auto file node edges
+ {
+ type: "group",
+ heading: "Auto file node edges",
+ items: [
+ {
+ name: "Enable auto file node edges",
+ desc: "Automatically create edges between file nodes based on their frontmatter links.",
+ control: {
+ type: "toggle",
+ key: "autoFileNodeEdgesFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Auto file node edges settings",
+ visible: () => this.getControlValue("autoFileNodeEdgesFeatureEnabled"),
+ items: [
+ {
+ name: "Frontmatter key name",
+ desc: "The frontmatter key to fetch the outgoing edges from. (Keep the default to ensure best compatibility.)",
+ control: {
+ type: "text",
+ key: "autoFileNodeEdgesFrontmatterKey"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("auto-file-node-edges")
+ ]
+ },
+ // Portals
+ {
+ type: "group",
+ heading: "Portals",
+ items: [
+ {
+ name: "Enable portals",
+ desc: "Create portals to other canvases.",
+ control: {
+ type: "toggle",
+ key: "portalsFeatureEnabled"
+ }
+ },
+ this.getDocumentationButton("portals")
+ ]
+ },
+ // Collapsible groups
+ {
+ type: "group",
+ heading: "Collapsible groups",
+ items: [
+ {
+ name: "Enable collapsible groups",
+ desc: "Group nodes can be collapsed and expanded to keep the canvas organized.",
+ control: {
+ type: "toggle",
+ key: "collapsibleGroupsFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Collapsible groups settings",
+ visible: () => this.getControlValue("collapsibleGroupsFeatureEnabled"),
+ items: [
+ {
+ name: "Collapsed group preview on drag",
+ desc: "Shows the border of a collapsed group while dragging a node.",
+ control: {
+ type: "toggle",
+ key: "collapsedGroupPreviewOnDrag"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("collapsible-groups")
+ ]
+ },
+ // Node/Edge styles
+ {
+ type: "group",
+ heading: "Node/Edge styles",
+ items: [
+ {
+ name: "Combine new style settings in dropdown",
+ desc: "Combine all style attributes of Advanced Canvas in a single dropdown.",
+ control: {
+ type: "toggle",
+ key: "combineCustomStylesInDropdown"
+ }
+ },
+ this.getDocumentationButton("custom-styles", "custom styles"),
+ {
+ name: "Enable node styling",
+ desc: "Allows you to style nodes without limits.",
+ control: {
+ type: "toggle",
+ key: "nodeStylingFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Node styles",
+ desc: "Manage custom node styles.",
+ visible: () => this.getControlValue("nodeStylingFeatureEnabled"),
+ items: [
+ {
+ name: "Default text node color",
+ desc: "The default color of a text node. The default range is from 0 to 6, where 0 is no color. The range can be extended by using the Custom Colors feature of Advanced Canvas.",
+ control: {
+ type: "number",
+ key: "defaultTextNodeColor"
+ }
+ }
+ ]
+ },
+ {
+ type: "page",
+ name: "Default node style",
+ desc: "The default style of a node. The default style is applied to all newly created nodes.",
+ items: [
+ ...BUILTIN_NODE_STYLE_ATTRIBUTES,
+ // BUILTINS
+ ...this.settingsManager.nodeCssStylesManager.getStyles(),
+ // CUSTOM CSS STYLES
+ ...this.settingsManager.getSetting("customNodeStyleAttributes")
+ // LEGACY CUSTOM STYLES
+ ].map((value) => {
+ var _a, _b;
+ return {
+ name: value.label,
+ control: {
+ type: "dropdown",
+ key: `defaultTextNodeStyleAttributes[${value.key}]`,
+ defaultValue: (_b = (_a = value.options.find((option) => option.value === null)) == null ? void 0 : _a.value) != null ? _b : "",
+ options: value.options.reduce((acc, option) => {
+ var _a2;
+ acc[(_a2 = option.value) != null ? _a2 : ""] = option.label;
+ return acc;
+ }, {})
+ }
+ };
+ })
+ },
+ this.getDocumentationButton("node-styles", "node styling"),
+ {
+ name: "Enable edges styling",
+ desc: "Allows you to style edges without limits.",
+ control: {
+ type: "toggle",
+ key: "edgesStylingFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Edge styles",
+ desc: "Manage custom edge styles.",
+ visible: () => this.getControlValue("edgesStylingFeatureEnabled"),
+ items: [
+ {
+ name: "Inherit edge color from node",
+ desc: "When creating a new edge by dragging from a node, the edge will inherit the color of the node it is dragged from.",
+ control: {
+ type: "toggle",
+ key: "inheritEdgeColorFromNode"
+ }
+ },
+ {
+ name: "Default edge color",
+ desc: "The default color of an edge. The default range is from 0 to 6, where 0 is no color. The range can be extended by using the Custom Colors feature of Advanced Canvas.",
+ control: {
+ type: "number",
+ key: "defaultEdgeColor"
+ }
+ },
+ {
+ name: "Default edge line direction",
+ desc: "The default line direction of an edge.",
+ control: {
+ type: "dropdown",
+ key: "defaultEdgeLineDirection",
+ options: {
+ "nondirectional": "Nondirectional",
+ "unidirectional": "Unidirectional",
+ "bidirectional": "Bidirectional"
+ }
+ }
+ },
+ {
+ name: "Update edge style while dragging",
+ desc: "Updates the edge style while dragging an edge. (Can be very slow)",
+ control: {
+ type: "toggle",
+ key: "edgeStyleUpdateWhileDragging"
+ }
+ },
+ {
+ name: "Round square path edges",
+ desc: "Rounds the corners of square path edges.",
+ control: {
+ type: "toggle",
+ key: "edgeStyleSquarePathRounded"
+ }
+ },
+ {
+ name: "Allow diagonal A* paths",
+ desc: "Allows diagonal paths for the A* path style.",
+ control: {
+ type: "toggle",
+ key: "edgeStylePathfinderAllowDiagonal"
+ }
+ },
+ {
+ name: "Round A* path edges",
+ desc: "Rounds the A* path style.",
+ control: {
+ type: "toggle",
+ key: "edgeStylePathfinderPathRounded"
+ }
+ }
+ ]
+ },
+ {
+ type: "page",
+ name: "Default edge style",
+ desc: "The default style of an edge. The default style is applied to all newly created edges.",
+ items: [
+ ...BUILTIN_EDGE_STYLE_ATTRIBUTES,
+ // BUILTINS
+ ...this.settingsManager.edgeCssStylesManager.getStyles(),
+ // CUSTOM CSS STYLES
+ ...this.settingsManager.getSetting("customEdgeStyleAttributes")
+ // LEGACY CUSTOM STYLES
+ ].map((value) => {
+ var _a, _b;
+ return {
+ name: value.label,
+ control: {
+ type: "dropdown",
+ key: `defaultEdgeStyleAttributes[${value.key}]`,
+ defaultValue: (_b = (_a = value.options.find((option) => option.value === null)) == null ? void 0 : _a.value) != null ? _b : "",
+ options: value.options.reduce((acc, option) => {
+ var _a2;
+ acc[(_a2 = option.value) != null ? _a2 : ""] = option.label;
+ return acc;
+ }, {})
+ }
+ };
+ })
+ },
+ this.getDocumentationButton("edge-styles", "edge styling")
+ ]
+ },
+ // Floating edges
+ {
+ type: "group",
+ heading: "Floating edges",
+ items: [
+ {
+ name: "Enable floating edges",
+ desc: "Floating edges are automatically placed on the most suitable side of the node.",
+ control: {
+ type: "toggle",
+ key: "floatingEdgeFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Floating edges settings",
+ visible: () => this.getControlValue("floatingEdgeFeatureEnabled"),
+ items: [
+ {
+ name: "Allow floating edge creation",
+ desc: "Create floating edges by dragging over the target node without placing the edge on a specific side connection point. (If disabled, floating edges can only be created and used by other Advanced Canvas features.)",
+ control: {
+ type: "toggle",
+ key: "allowFloatingEdgeCreation"
+ }
+ },
+ {
+ name: "New edge from side floating",
+ desc: 'The "from" side of new edges will always be floating.',
+ control: {
+ type: "toggle",
+ key: "newEdgeFromSideFloating"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("floating-edges-automatic-edge-side")
+ ]
+ },
+ // Flip edges
+ {
+ type: "group",
+ heading: "Flip edges",
+ items: [
+ {
+ name: "Enable flip edges",
+ desc: "Flip the direction of edges using the popup menu.",
+ control: {
+ type: "toggle",
+ key: "flipEdgeFeatureEnabled"
+ }
+ },
+ this.getDocumentationButton("flip-edge")
+ ]
+ },
+ // Presentations
+ {
+ type: "group",
+ heading: "Presentations",
+ items: [
+ {
+ name: "Enable presentations",
+ desc: "Create a presentation from your canvas.",
+ control: {
+ type: "toggle",
+ key: "presentationFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Presentations settings",
+ visible: () => this.getControlValue("presentationFeatureEnabled"),
+ items: [
+ {
+ name: 'Show "Set Start Node" in node popup',
+ desc: 'Shows the "Set Start Node" option in the node popup. If not enabled, you can still set the start node using the corresponding command.',
+ control: {
+ type: "toggle",
+ key: "showSetStartNodeInPopup"
+ }
+ },
+ {
+ type: "page",
+ name: "Default slide dimensions",
+ desc: "The default dimensions of a slide.",
+ items: [
+ {
+ name: "Width",
+ desc: "The default width of a slide.",
+ control: {
+ type: "number",
+ key: "defaultSlideDimensions[0]"
+ }
+ },
+ {
+ name: "Height",
+ desc: "The default height of a slide.",
+ control: {
+ type: "number",
+ key: "defaultSlideDimensions[1]"
+ }
+ }
+ ]
+ },
+ {
+ name: "Wrap in slide padding",
+ desc: "The padding of the slide when wrapping the canvas in a slide.",
+ control: {
+ type: "number",
+ key: "wrapInSlidePadding"
+ }
+ },
+ {
+ name: "Reset viewport on presentation end",
+ desc: "Resets the viewport to the original position after the presentation ends.",
+ control: {
+ type: "toggle",
+ key: "resetViewportOnPresentationEnd"
+ }
+ },
+ {
+ name: "Use arrow keys to change slides",
+ desc: "Use the arrow keys to change slides in presentation mode.",
+ control: {
+ type: "toggle",
+ key: "useArrowKeysToChangeSlides"
+ }
+ },
+ {
+ name: "Use PgUp/PgDown keys to change slides",
+ desc: "Use the PgUp/PgDown keys to change slides in presentation mode. (Makes the presentation mode compatible with most presentation remotes.)",
+ control: {
+ type: "toggle",
+ key: "usePgUpPgDownKeysToChangeSlides"
+ }
+ },
+ {
+ name: "Use directional slide navigation",
+ desc: "Navigating with the arrow keys will try to navigate along the slide's edge in the pressed direction instead of just navigating forward or backward in the slide order.",
+ control: {
+ type: "toggle",
+ key: "useDirectionalSlideNavigation"
+ }
+ },
+ {
+ name: "Zoom to slide without padding",
+ desc: "Zooms to the slide without padding.",
+ control: {
+ type: "toggle",
+ key: "zoomToSlideWithoutPadding"
+ }
+ },
+ {
+ name: "Use unclamped zoom while presenting",
+ desc: "The zoom will not be clamped while presenting.",
+ control: {
+ type: "toggle",
+ key: "useUnclampedZoomWhilePresenting"
+ }
+ },
+ {
+ name: "Enter fullscreen while presenting",
+ desc: "Presentations automatically request fullscreen. Disable to keep Obsidian windowed during presentations.",
+ control: {
+ type: "toggle",
+ key: "fullscreenPresentationEnabled"
+ }
+ },
+ {
+ name: "Slide transition animation duration",
+ desc: "The duration of the slide transition animation in seconds. Set to 0 to disable the animation.",
+ control: {
+ type: "number",
+ key: "slideTransitionAnimationDuration"
+ }
+ },
+ {
+ name: "Slide transition animation intensity",
+ desc: "The intensity of the slide transition animation. The higher the value, the more the canvas will zoom out before zooming in on the next slide.",
+ control: {
+ type: "number",
+ key: "slideTransitionAnimationIntensity"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("presentation-mode")
+ ]
+ },
+ // PDF annotation
+ {
+ type: "group",
+ heading: "PDF annotation",
+ items: [
+ {
+ name: "Enable PDF annotation",
+ desc: "Annotate PDF files in the canvas.",
+ control: {
+ type: "toggle",
+ key: "pdfAnnotationFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "PDF annotation settings",
+ visible: () => this.getControlValue("pdfAnnotationFeatureEnabled"),
+ items: [
+ {
+ name: "PDF pages gap",
+ desc: "The gap between PDF pages in pixels.",
+ control: {
+ type: "number",
+ key: "pdfPagesGap"
+ }
+ },
+ {
+ name: "PDF page size factor",
+ desc: "The size factor of the PDF pages. The higher the value, the larger the newly created PDF pages will be.",
+ control: {
+ type: "number",
+ key: "pdfPageSizeFactor"
+ }
+ },
+ {
+ name: "PDF page resolution",
+ desc: "The resolution of the PDF pages. The higher the value, the sharper the pages will be (heavily affects performance).",
+ control: {
+ type: "number",
+ key: "pdfPageResolution"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("pdf-annotation")
+ ]
+ },
+ // Z-Ordering controls
+ {
+ type: "group",
+ heading: "Z-Ordering controls",
+ items: [
+ {
+ name: "Enable Z-Ordering controls",
+ desc: "Change the persistent z-index of nodes using the context menu.",
+ control: {
+ type: "toggle",
+ key: "zOrderingControlFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Z-Ordering controls settings",
+ visible: () => this.getControlValue("zOrderingControlFeatureEnabled"),
+ items: [
+ {
+ name: "Show one layer shift options",
+ desc: "Move nodes one layer forward or backward.",
+ control: {
+ type: "toggle",
+ key: "zOrderingControlShowOneLayerShiftOptions"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("z-ordering-control")
+ ]
+ },
+ // Aspect ratio control
+ {
+ type: "group",
+ heading: "Aspect ratio control",
+ items: [
+ {
+ name: "Enable aspect ratio control",
+ desc: "Change the aspect ratio of nodes using the context menu.",
+ control: {
+ type: "toggle",
+ key: "aspectRatioControlFeatureEnabled"
+ }
+ }
+ ]
+ },
+ // Variable breakpoint
+ {
+ type: "group",
+ heading: "Variable breakpoint",
+ items: [
+ {
+ name: "Enable variable breakpoint",
+ desc: `Change the zoom breakpoint (the zoom level at which the nodes won't render their content anymore) on a per-node basis using the ${VARIABLE_BREAKPOINT_CSS_VAR} CSS variable.`,
+ control: {
+ type: "toggle",
+ key: "variableBreakpointFeatureEnabled"
+ }
+ },
+ this.getDocumentationButton("variable-breakpoints")
+ ]
+ },
+ // Alternative text rendering
+ {
+ type: "group",
+ heading: "Alternative text rendering",
+ items: [
+ {
+ name: "Enable alternative text rendering",
+ desc: "Tries to synchronize editing and reading view rendering. Caution: Causes visual inconsistencies compared to the default Obsidian reading view.",
+ control: {
+ type: "toggle",
+ key: "readingModeFixEnabled"
+ }
+ },
+ this.getDocumentationButton("alternative-text-rendering")
+ ]
+ },
+ // Auto resize node
+ {
+ type: "group",
+ heading: "Auto resize node",
+ items: [
+ {
+ name: "Enable auto resize node",
+ desc: "Automatically resize the height of a node to fit the content.",
+ control: {
+ type: "toggle",
+ key: "autoResizeNodeFeatureEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Auto resize node settings",
+ visible: () => this.getControlValue("autoResizeNodeFeatureEnabled"),
+ items: [
+ {
+ name: "Enable auto resize by default",
+ desc: "The auto resize feature will be enabled by default for all nodes.",
+ control: {
+ type: "toggle",
+ key: "autoResizeNodeEnabledByDefault"
+ }
+ },
+ {
+ name: "Max height",
+ desc: "The maximum height of the node when auto resizing (-1 for unlimited).",
+ control: {
+ type: "number",
+ key: "autoResizeNodeMaxHeight"
+ }
+ },
+ {
+ name: "Snap to grid",
+ desc: "The height of the node will snap to the grid.",
+ control: {
+ type: "toggle",
+ key: "autoResizeNodeSnapToGrid"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("auto-node-resizing")
+ ]
+ },
+ // Canvas encapsulation
+ {
+ type: "group",
+ heading: "Canvas encapsulation",
+ items: [
+ {
+ name: "Enable canvas encapsulation",
+ desc: "Encapsulate a selection of nodes and edges into a new canvas using the context menu.",
+ control: {
+ type: "toggle",
+ key: "canvasEncapsulationEnabled"
+ }
+ },
+ this.getDocumentationButton("encapsulate-selection")
+ ]
+ },
+ // Better readonly
+ {
+ type: "group",
+ heading: "Better readonly",
+ items: [
+ {
+ name: "Enable better readonly",
+ desc: "Improve the readonly mode.",
+ control: {
+ type: "toggle",
+ key: "betterReadonlyEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Better readonly settings",
+ visible: () => this.getControlValue("betterReadonlyEnabled"),
+ items: [
+ {
+ name: "Hide background grid when in readonly",
+ desc: "Hides the background grid when in readonly mode.",
+ control: {
+ type: "toggle",
+ key: "hideBackgroundGridWhenInReadonly"
+ }
+ },
+ {
+ name: "Disable node popup",
+ desc: "Disables the node popup in readonly mode.",
+ control: {
+ type: "toggle",
+ key: "disableNodePopup"
+ }
+ },
+ {
+ name: "Disable zoom",
+ desc: "Disables zooming in readonly mode.",
+ control: {
+ type: "toggle",
+ key: "disableZoom"
+ }
+ },
+ {
+ name: "Disable pan",
+ desc: "Disables panning in readonly mode.",
+ control: {
+ type: "toggle",
+ key: "disablePan"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("better-readonly")
+ ]
+ },
+ // Edge highlight
+ {
+ type: "group",
+ heading: "Edge highlight",
+ items: [
+ {
+ name: "Enable edge highlight",
+ desc: "Highlight outgoing (and optionally incoming) edges of a selected node.",
+ control: {
+ type: "toggle",
+ key: "edgeHighlightEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Edge highlight settings",
+ visible: () => this.getControlValue("edgeHighlightEnabled"),
+ items: [
+ {
+ name: "Highlight incoming edges",
+ desc: "Also highlights incoming edges.",
+ control: {
+ type: "toggle",
+ key: "highlightIncomingEdges"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("edge-highlight")
+ ]
+ },
+ // Edge selection
+ {
+ type: "group",
+ heading: "Edge selection",
+ items: [
+ {
+ name: "Enable edge selection",
+ desc: "Select edges connected to the selected node(s) using the popup menu.",
+ control: {
+ type: "toggle",
+ key: "edgeSelectionEnabled"
+ }
+ },
+ {
+ type: "page",
+ name: "Edge selection settings",
+ visible: () => this.getControlValue("edgeSelectionEnabled"),
+ items: [
+ {
+ name: "Select edge by direction",
+ desc: "Select incoming or outgoing edges using separate popup menu items.",
+ control: {
+ type: "toggle",
+ key: "selectEdgeByDirection"
+ }
+ }
+ ]
+ },
+ this.getDocumentationButton("edge-selection")
+ ]
+ },
+ // Focus Mode
+ {
+ type: "group",
+ heading: "Focus Mode",
+ items: [
+ {
+ name: "Enable focus mode",
+ desc: "Focus on a single node and blur all other nodes.",
+ control: {
+ type: "toggle",
+ key: "focusModeFeatureEnabled"
+ }
+ },
+ this.getDocumentationButton("focus-mode")
+ ]
+ },
+ // Better export
+ {
+ type: "group",
+ heading: "Better export",
+ items: [
+ {
+ name: "Enable better export",
+ desc: "Export to PNG/SVG with transparency and other options.",
+ control: {
+ type: "toggle",
+ key: "betterExportFeatureEnabled"
+ }
+ },
+ this.getDocumentationButton("image-export")
+ ]
+ }
+ ];
}
};
@@ -2423,6 +2902,80 @@ function around1(obj, method, createWrapper) {
// src/patchers/canvas-patcher.ts
var import_obsidian5 = require("obsidian");
+// src/utils/migration-helper.ts
+var CURRENT_SPEC_VERSION = "1.0-1.0";
+var _MigrationHelper = class _MigrationHelper {
+ static needsMigration(canvas) {
+ var _a;
+ return ((_a = canvas.metadata) == null ? void 0 : _a.version) !== CURRENT_SPEC_VERSION;
+ }
+ static migrate(canvas) {
+ var _a, _b;
+ let version = (_b = (_a = canvas.metadata) == null ? void 0 : _a.version) != null ? _b : "undefined";
+ if (version === CURRENT_SPEC_VERSION) return canvas;
+ while (version !== CURRENT_SPEC_VERSION) {
+ const migrationFunction = _MigrationHelper.MIGRATIONS[version];
+ if (!migrationFunction) {
+ console.error(`No migration function found for version ${version}. Critical error!`);
+ break;
+ }
+ const { version: newVersion, canvas: migratedCanvas } = migrationFunction(canvas);
+ version = newVersion;
+ canvas = migratedCanvas;
+ if (!canvas.metadata) canvas.metadata = { version, frontmatter: {} };
+ else canvas.metadata.version = version;
+ }
+ return canvas;
+ }
+};
+_MigrationHelper.MIGRATIONS = {
+ undefined: (canvas) => {
+ var _a, _b, _c, _d;
+ const TARGET_SPEC_VERSION = "1.0-1.0";
+ let startNode;
+ const globalInterdimensionalEdges = {};
+ for (const node of (_a = canvas.nodes) != null ? _a : []) {
+ node.dynamicHeight = node.autoResizeHeight;
+ delete node.autoResizeHeight;
+ node.ratio = node.sideRatio;
+ delete node.sideRatio;
+ node.collapsed = node.isCollapsed;
+ delete node.isCollapsed;
+ if (node.portalToFile) {
+ node.portal = true;
+ delete node.portalToFile;
+ }
+ if (node.isStartNode) {
+ startNode = node.id;
+ delete node.isStartNode;
+ }
+ if (node.edgesToNodeFromPortal) {
+ const edgesToNodeFromPortal = node.edgesToNodeFromPortal;
+ for (const [portalId, edges] of Object.entries(edgesToNodeFromPortal)) {
+ if (!(portalId in globalInterdimensionalEdges)) globalInterdimensionalEdges[portalId] = [];
+ for (const edge of edges) {
+ if (edge.fromNode !== node.id) edge.fromNode = `${portalId}-${edge.fromNode}`;
+ if (edge.toNode !== node.id) edge.toNode = `${portalId}-${edge.toNode}`;
+ }
+ (_b = globalInterdimensionalEdges[portalId]) == null ? void 0 : _b.push(...edges);
+ }
+ delete node.edgesToNodeFromPortal;
+ }
+ }
+ for (const node of (_c = canvas.nodes) != null ? _c : []) {
+ if (!(node.id in globalInterdimensionalEdges)) continue;
+ node.interdimensionalEdges = globalInterdimensionalEdges[node.id];
+ }
+ (_d = canvas.metadata) != null ? _d : canvas.metadata = {
+ version: TARGET_SPEC_VERSION,
+ frontmatter: {},
+ startNode
+ };
+ return { version: TARGET_SPEC_VERSION, canvas };
+ }
+};
+var MigrationHelper = _MigrationHelper;
+
// node_modules/tiny-jsonc/dist/index.js
var stringOrCommentRe = /("(?:\\?[^])*?")|(\/\/.*)|(\/\*[^]*?\*\/)/g;
var stringOrTrailingCommaRe = /("(?:\\?[^])*?")|(,\s*)(?=]|})/g;
@@ -2439,18 +2992,21 @@ var JSONC = {
var dist_default = JSONC;
// src/patchers/patcher.ts
+function invoke(fn, thisArg, ...args) {
+ return fn.call(thisArg, ...args);
+}
var Patcher = class _Patcher {
constructor(plugin) {
this.plugin = plugin;
- this.patch();
+ void this.patch();
}
static async waitForMapValueLookup(map, viewType, patch) {
return new Promise((resolve) => {
const uninstaller = around(map, {
[viewType]: (next) => function(...args) {
- const view = next.call(this, ...args);
+ const view = invoke(next, this, ...args);
patch(view);
- const patchedView = next.call(this, ...args);
+ const patchedView = invoke(next, this, ...args);
uninstaller();
resolve(patchedView);
return patchedView;
@@ -2481,7 +3037,10 @@ var Patcher = class _Patcher {
throw new Error(`Method ${String(key)} does not exist on target`);
}
}
- const uninstaller = around(target, patches);
+ const uninstaller = around(
+ target,
+ patches
+ );
if (uninstallers) uninstallers.push(uninstaller);
plugin.register(uninstaller);
return object;
@@ -2513,88 +3072,19 @@ var Patcher = class _Patcher {
}
};
-// src/utils/migration-helper.ts
-var CURRENT_SPEC_VERSION = "1.0-1.0";
-var _MigrationHelper = class _MigrationHelper {
- static needsMigration(canvas) {
- var _a;
- return ((_a = canvas.metadata) == null ? void 0 : _a.version) !== CURRENT_SPEC_VERSION;
- }
- static migrate(canvas) {
- var _a, _b;
- let version = (_b = (_a = canvas.metadata) == null ? void 0 : _a.version) != null ? _b : "undefined";
- if (version === CURRENT_SPEC_VERSION) return canvas;
- while (version !== CURRENT_SPEC_VERSION) {
- const migrationFunction = _MigrationHelper.MIGRATIONS[version];
- if (!migrationFunction) {
- console.error(`No migration function found for version ${version}. Critical error!`);
- break;
- }
- const { version: newVersion, canvas: migratedCanvas } = migrationFunction(canvas);
- version = newVersion;
- canvas = migratedCanvas;
- if (!canvas.metadata) canvas.metadata = { version, frontmatter: {} };
- else canvas.metadata.version = version;
- }
- return canvas;
- }
-};
-_MigrationHelper.MIGRATIONS = {
- undefined: (canvas) => {
- var _a, _b, _c;
- const TARGET_SPEC_VERSION = "1.0-1.0";
- let startNode;
- const globalInterdimensionalEdges = {};
- for (const node of (_a = canvas.nodes) != null ? _a : []) {
- node.dynamicHeight = node.autoResizeHeight;
- delete node.autoResizeHeight;
- node.ratio = node.sideRatio;
- delete node.sideRatio;
- node.collapsed = node.isCollapsed;
- delete node.isCollapsed;
- if (node.portalToFile) {
- node.portal = true;
- delete node.portalToFile;
- }
- if (node.isStartNode) {
- startNode = node.id;
- delete node.isStartNode;
- }
- if (node.edgesToNodeFromPortal) {
- const edgesToNodeFromPortal = node.edgesToNodeFromPortal;
- for (const [portalId, edges] of Object.entries(edgesToNodeFromPortal)) {
- if (!(portalId in globalInterdimensionalEdges)) globalInterdimensionalEdges[portalId] = [];
- for (const edge of edges) {
- if (edge.fromNode !== node.id) edge.fromNode = `${portalId}-${edge.fromNode}`;
- if (edge.toNode !== node.id) edge.toNode = `${portalId}-${edge.toNode}`;
- }
- globalInterdimensionalEdges[portalId].push(...edges);
- }
- delete node.edgesToNodeFromPortal;
- }
- }
- for (const node of (_b = canvas.nodes) != null ? _b : []) {
- if (!(node.id in globalInterdimensionalEdges)) continue;
- node.interdimensionalEdges = globalInterdimensionalEdges[node.id];
- }
- (_c = canvas.metadata) != null ? _c : canvas.metadata = {
- version: TARGET_SPEC_VERSION,
- frontmatter: {},
- startNode
- };
- return { version: TARGET_SPEC_VERSION, canvas };
- }
-};
-var MigrationHelper = _MigrationHelper;
-
// src/patchers/canvas-patcher.ts
var CanvasPatcher = class extends Patcher {
+ constructor() {
+ super(...arguments);
+ // Uninstall patches when an element gets removed from the canvas
+ this.elementUninstallers = /* @__PURE__ */ new Map();
+ }
async patch() {
const loadedCanvasViewLeafs = this.plugin.app.workspace.getLeavesOfType("canvas").filter((leaf) => !(0, import_obsidian5.requireApiVersion)("1.7.2") || !leaf.isDeferred);
if (loadedCanvasViewLeafs.length > 0) {
console.debug(`Patching and reloading loaded canvas views (Count: ${loadedCanvasViewLeafs.length})`);
this.patchCanvas(loadedCanvasViewLeafs.first().view);
- for (const leaf of loadedCanvasViewLeafs) leaf.rebuildView();
+ for (const leaf of loadedCanvasViewLeafs) void leaf.rebuildView();
} else {
await Patcher.waitForViewRequest(this.plugin, "canvas", (view) => this.patchCanvas(view));
console.debug(`Patched canvas view on first request`);
@@ -2605,8 +3095,9 @@ var CanvasPatcher = class extends Patcher {
Patcher.patchPrototype(this.plugin, view, {
setEphemeralState: Patcher.OverrideExisting((next) => function(state) {
var _a, _b, _c;
- if (state == null ? void 0 : state.subpath) {
- const nodeId = state.subpath.replace(/^#/, "");
+ const s = state;
+ if (s == null ? void 0 : s.subpath) {
+ const nodeId = s.subpath.replace(/^#/, "");
const node = this.canvas.nodes.get(nodeId);
if (node) {
this.canvas.selectOnly(node);
@@ -2614,8 +3105,8 @@ var CanvasPatcher = class extends Patcher {
return;
}
}
- if (((_b = (_a = state.match) == null ? void 0 : _a.matches) == null ? void 0 : _b[0]) && !((_c = state.match) == null ? void 0 : _c.nodeId)) {
- const match = state.match.matches[0];
+ if (((_b = (_a = s.match) == null ? void 0 : _a.matches) == null ? void 0 : _b[0]) && !((_c = s.match) == null ? void 0 : _c.nodeId)) {
+ const match = s.match.matches[0];
const elementType = match[0] === 0 ? "nodes" : "edges";
const elementIndex = match[1];
const element = elementType === "nodes" ? Array.from(this.canvas.nodes.values())[elementIndex] : Array.from(this.canvas.edges.values())[elementIndex];
@@ -2625,9 +3116,10 @@ var CanvasPatcher = class extends Patcher {
return;
}
}
- return next.call(this, state);
+ return invoke(next, this, state);
}),
- setViewData: Patcher.OverrideExisting((next) => function(json, ...args) {
+ setViewData: Patcher.OverrideExisting((next) => function(...args) {
+ let [json, ...rest] = args;
json = json !== "" ? json : '{"nodes": [], "edges": []}';
try {
const canvasData = dist_default.parse(json);
@@ -2640,30 +3132,30 @@ var CanvasPatcher = class extends Patcher {
}
let result;
try {
- result = next.call(this, json, ...args);
+ result = invoke(next, this, json, ...rest);
} catch (e) {
console.error("Invalid JSON, repairing through Advanced Canvas:", e);
if (this.file) that.plugin.createFileSnapshot(this.file.path, json);
json = JSON.stringify(dist_default.parse(json), null, 2);
- result = next.call(this, json, ...args);
+ result = invoke(next, this, json, ...rest);
}
that.plugin.app.workspace.trigger("advanced-canvas:canvas-changed", this.canvas);
return result;
}),
close: Patcher.OverrideExisting((next) => function(...args) {
that.plugin.app.workspace.trigger("advanced-canvas:canvas-view-unloaded:before", this);
- return next.call(this, ...args);
+ return invoke(next, this, ...args);
})
});
Patcher.patchPrototype(this.plugin, view.canvas, {
markViewportChanged: Patcher.OverrideExisting((next) => function(...args) {
that.plugin.app.workspace.trigger("advanced-canvas:viewport-changed:before", this);
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:viewport-changed:after", this);
return result;
}),
markMoved: Patcher.OverrideExisting((next) => function(node) {
- const result = next.call(this, node);
+ const result = invoke(next, this, node);
if (!this.viewportChanged) {
if (node.prevX !== node.x || node.prevY !== node.y)
that.plugin.app.workspace.trigger("advanced-canvas:node-moved", this, node, !this.isDragging);
@@ -2679,95 +3171,97 @@ var CanvasPatcher = class extends Patcher {
onDoubleClick: Patcher.OverrideExisting((next) => function(event) {
const preventDefault = { value: false };
that.plugin.app.workspace.trigger("advanced-canvas:double-click", this, event, preventDefault);
- if (!preventDefault.value) next.call(this, event);
+ if (!preventDefault.value) invoke(next, this, event);
}),
setDragging: Patcher.OverrideExisting((next) => function(dragging) {
- const result = next.call(this, dragging);
+ const result = invoke(next, this, dragging);
that.plugin.app.workspace.trigger("advanced-canvas:dragging-state-changed", this, dragging);
return result;
}),
// OBSIDIAN-FIX
cloneData: Patcher.OverrideExisting((next) => function(elements, shift) {
- const result = next.call(this, elements, shift);
+ const result = invoke(next, this, elements, shift);
elements.nodes = elements.nodes.map((nodeData) => JSON.parse(JSON.stringify(nodeData)));
elements.edges = elements.edges.map((edgeData) => JSON.parse(JSON.stringify(edgeData)));
return result;
}),
getContainingNodes: Patcher.OverrideExisting((next) => function(bbox) {
- const result = next.call(this, bbox);
+ const result = invoke(next, this, bbox);
that.plugin.app.workspace.trigger("advanced-canvas:containing-nodes-requested", this, bbox, result);
return result;
}),
updateSelection: Patcher.OverrideExisting((next) => function(update) {
const oldSelection = new Set(this.selection);
- const result = next.call(this, update);
- that.plugin.app.workspace.trigger("advanced-canvas:selection-changed", this, oldSelection, (update2) => next.call(this, update2));
+ const result = invoke(next, this, update);
+ that.plugin.app.workspace.trigger("advanced-canvas:selection-changed", this, oldSelection, (update2) => invoke(next, this, update2));
return result;
}),
createTextNode: Patcher.OverrideExisting((next) => function(...args) {
- const node = next.call(this, ...args);
+ const node = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-created", this, node);
return node;
}),
createFileNode: Patcher.OverrideExisting((next) => function(...args) {
- const node = next.call(this, ...args);
+ const node = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-created", this, node);
return node;
}),
createFileNodes: Patcher.OverrideExisting((next) => function(...args) {
- const nodes = next.call(this, ...args);
+ const nodes = invoke(next, this, ...args);
nodes.forEach((node) => that.plugin.app.workspace.trigger("advanced-canvas:node-created", this, node));
return nodes;
}),
createGroupNode: Patcher.OverrideExisting((next) => function(...args) {
- const node = next.call(this, ...args);
+ const node = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-created", this, node);
return node;
}),
createLinkNode: Patcher.OverrideExisting((next) => function(...args) {
- const node = next.call(this, ...args);
+ const node = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-created", this, node);
return node;
}),
addNode: Patcher.OverrideExisting((next) => function(node) {
that.patchNode(node);
- return next.call(this, node);
+ return invoke(next, this, node);
}),
addEdge: Patcher.OverrideExisting((next) => function(edge) {
that.patchEdge(edge);
if (!this.viewportChanged) that.plugin.app.workspace.trigger("advanced-canvas:edge-created", this, edge);
- return next.call(this, edge);
+ return invoke(next, this, edge);
}),
removeNode: Patcher.OverrideExisting((next) => function(node) {
- const result = next.call(this, node);
+ that.uninstallNodeElementPatches(node);
+ const result = invoke(next, this, node);
if (!this.isClearing) that.plugin.app.workspace.trigger("advanced-canvas:node-removed", this, node);
return result;
}),
removeEdge: Patcher.OverrideExisting((next) => function(edge) {
- const result = next.call(this, edge);
+ that.uninstallNodeElementPatches(edge);
+ const result = invoke(next, this, edge);
if (!this.isClearing) that.plugin.app.workspace.trigger("advanced-canvas:edge-removed", this, edge);
return result;
}),
handleCopy: Patcher.OverrideExisting((next) => function(...args) {
this.isCopying = true;
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
this.isCopying = false;
return result;
}),
handlePaste: Patcher.OverrideExisting((next) => function(...args) {
this.isPasting = true;
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
this.isPasting = false;
return result;
}),
getSelectionData: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
if (this.isCopying) that.plugin.app.workspace.trigger("advanced-canvas:copy", this, result);
return result;
}),
zoomToBbox: Patcher.OverrideExisting((next) => function(bbox) {
that.plugin.app.workspace.trigger("advanced-canvas:zoom-to-bbox:before", this, bbox);
- const result = next.call(this, bbox);
+ const result = invoke(next, this, bbox);
that.plugin.app.workspace.trigger("advanced-canvas:zoom-to-bbox:after", this, bbox);
return result;
}),
@@ -2786,36 +3280,36 @@ var CanvasPatcher = class extends Patcher {
that.plugin.app.workspace.trigger("advanced-canvas:zoom-to-bbox:after", this, bbox);
},
setReadonly: Patcher.OverrideExisting((next) => function(readonly) {
- const result = next.call(this, readonly);
+ const result = invoke(next, this, readonly);
that.plugin.app.workspace.trigger("advanced-canvas:readonly-changed", this, readonly);
return result;
}),
undo: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
this.importData(this.getData(), true);
that.plugin.app.workspace.trigger("advanced-canvas:undo", this);
return result;
}),
redo: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
this.importData(this.getData(), true);
that.plugin.app.workspace.trigger("advanced-canvas:redo", this);
return result;
}),
clear: Patcher.OverrideExisting((next) => function(...args) {
this.isClearing = true;
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
this.isClearing = false;
return result;
}),
/*setData: Patcher.OverrideExisting(next => function (...args: any): void {
//
- const result = next.call(this, ...args)
+ const result = invoke(next, this, ...args)
//
return result
}),*/
getData: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:data-requested", this, result);
return result;
}),
@@ -2827,53 +3321,76 @@ var CanvasPatcher = class extends Patcher {
this.importData(data2, true, true);
};
if (!silent) that.plugin.app.workspace.trigger("advanced-canvas:data-loaded:before", this, data, setData);
- const result = next.call(this, data, clearCanvas);
+ const result = invoke(next, this, data, clearCanvas);
if (!silent) that.plugin.app.workspace.trigger("advanced-canvas:data-loaded:after", this, data, setData);
return result;
}),
requestSave: Patcher.OverrideExisting((next) => function(...args) {
that.plugin.app.workspace.trigger("advanced-canvas:canvas-saved:before", this);
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:canvas-saved:after", this);
return result;
})
});
Patcher.patchPrototype(this.plugin, view.canvas.menu, {
render: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:popup-menu-created", this.canvas);
- next.call(this);
+ invoke(next, this);
return result;
})
});
Patcher.patchPrototype(this.plugin, view.canvas.nodeInteractionLayer, {
setTarget: Patcher.OverrideExisting((next) => function(node) {
- const result = next.call(this, node);
+ const result = invoke(next, this, node);
that.plugin.app.workspace.trigger("advanced-canvas:node-interaction", this.canvas, node);
return result;
})
});
this.plugin.registerEditorExtension([import_view.EditorView.updateListener.of((update) => {
if (!update.docChanged) return;
- const editor = update.state.field(import_obsidian5.editorInfoField);
+ let editor;
+ try {
+ editor = update.state.field(import_obsidian5.editorInfoField);
+ } catch (e) {
+ return;
+ }
const node = editor.node;
if (!node) return;
that.plugin.app.workspace.trigger("advanced-canvas:node-text-content-changed", node.canvas, node, update);
})]);
}
+ uninstallNodeElementPatches(element) {
+ const uninstallers = this.elementUninstallers.get(element);
+ if (!uninstallers) return;
+ for (const uninstaller of uninstallers) uninstaller();
+ this.elementUninstallers.delete(element);
+ }
patchNode(node) {
const that = this;
+ const uninstallers = [];
Patcher.patch(this.plugin, node, {
+ render: Patcher.OverrideExisting((next) => function(...args) {
+ const result = invoke(next, this, ...args);
+ that.plugin.app.workspace.trigger("advanced-canvas:node-rendered", this.canvas, node);
+ return result;
+ }),
setData: Patcher.OverrideExisting((next) => function(data, addHistory) {
- const result = next.call(this, data);
- if (node.initialized && !node.isDirty) {
- node.isDirty = true;
- that.plugin.app.workspace.trigger("advanced-canvas:node-changed", this.canvas, node);
- delete node.isDirty;
+ const unchanged = JSON.stringify(this.getData()) === JSON.stringify(data);
+ const result = invoke(next, this, data);
+ let savedData = null;
+ if (!unchanged) {
+ if (node.initialized && !node.isDirty) {
+ node.isDirty = true;
+ that.plugin.app.workspace.trigger("advanced-canvas:node-changed", this.canvas, node);
+ delete node.isDirty;
+ }
+ if (this.initialized) {
+ savedData = this.canvas.getData();
+ this.canvas.view.requestSave();
+ }
}
- this.canvas.data = this.canvas.getData();
- if (this.initialized) this.canvas.view.requestSave();
- if (addHistory) this.canvas.pushHistory(this.canvas.data);
+ if (addHistory) this.canvas.pushHistory(savedData != null ? savedData : this.canvas.getData());
return result;
}),
setZIndex: (_next) => function(value) {
@@ -2885,30 +3402,31 @@ var CanvasPatcher = class extends Patcher {
},
updateZIndex: Patcher.OverrideExisting((next) => function() {
const persistentZIndex = this.getData().zIndex;
- if (persistentZIndex === void 0) return next.call(this);
+ if (persistentZIndex === void 0) return invoke(next, this);
this.canvas.zIndexCounter = Math.max(this.canvas.zIndexCounter, persistentZIndex);
this.renderZIndex();
}),
renderZIndex: Patcher.OverrideExisting((next) => function() {
const persistentZIndex = this.getData().zIndex;
- if (persistentZIndex === void 0) return next.call(this);
+ if (persistentZIndex === void 0) return invoke(next, this);
this.zIndex = persistentZIndex;
if (this.canvas.selection.size === 1 && this.canvas.selection.has(this))
this.zIndex = this.canvas.zIndexCounter + 1;
this.nodeEl.style.zIndex = this.zIndex.toString();
}),
- setIsEditing: Patcher.OverrideExisting((next) => function(editing, ...args) {
- const result = next.call(this, editing, ...args);
+ setIsEditing: Patcher.OverrideExisting((next) => function(...args) {
+ const result = invoke(next, this, ...args);
+ const [editing] = args;
that.plugin.app.workspace.trigger("advanced-canvas:node-editing-state-changed", this.canvas, node, editing);
return result;
}),
updateBreakpoint: Patcher.OverrideExisting((next) => function(breakpoint) {
const breakpointRef = { value: breakpoint };
that.plugin.app.workspace.trigger("advanced-canvas:node-breakpoint-changed", this.canvas, node, breakpointRef);
- return next.call(this, breakpointRef.value);
+ return invoke(next, this, breakpointRef.value);
}),
getBBox: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-bbox-requested", this.canvas, node, result);
return result;
}),
@@ -2916,25 +3434,26 @@ var CanvasPatcher = class extends Patcher {
const addEdgeEventRef = that.plugin.app.workspace.on("advanced-canvas:edge-added", (_canvas, edge) => {
that.plugin.app.workspace.trigger("advanced-canvas:edge-connection-dragging:before", this.canvas, edge, e, true, "to");
that.plugin.app.workspace.offref(addEdgeEventRef);
- document.addEventListener("pointerup", (e2) => {
+ activeDocument.addEventListener("pointerup", (e2) => {
that.plugin.app.workspace.trigger("advanced-canvas:edge-connection-dragging:after", this.canvas, edge, e2, true, "to");
}, { once: true });
});
- const result = next.call(this, e, side);
+ const result = invoke(next, this, e, side);
return result;
}),
// File nodes
setFile: (next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-changed", this.canvas, this);
return result;
},
setFilePath: (next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:node-changed", this.canvas, this);
return result;
}
- });
+ }, false, uninstallers);
+ this.elementUninstallers.set(node, uninstallers);
this.runAfterInitialized(node, () => {
this.plugin.app.workspace.trigger("advanced-canvas:node-added", node.canvas, node);
this.plugin.app.workspace.trigger("advanced-canvas:node-changed", node.canvas, node);
@@ -2942,26 +3461,33 @@ var CanvasPatcher = class extends Patcher {
}
patchEdge(edge) {
const that = this;
+ const uninstallers = [];
Patcher.patch(this.plugin, edge, {
setData: Patcher.OverrideExisting((next) => function(data, addHistory) {
- const result = next.call(this, data);
- if (this.initialized && !this.isDirty) {
- this.isDirty = true;
- that.plugin.app.workspace.trigger("advanced-canvas:edge-changed", this.canvas, this);
- delete this.isDirty;
+ const unchanged = JSON.stringify(this.getData()) === JSON.stringify(data);
+ const result = invoke(next, this, data);
+ let savedData = null;
+ if (!unchanged) {
+ if (this.initialized && !this.isDirty) {
+ this.isDirty = true;
+ that.plugin.app.workspace.trigger("advanced-canvas:edge-changed", this.canvas, this);
+ delete this.isDirty;
+ }
+ if (this.initialized) {
+ savedData = this.canvas.getData();
+ this.canvas.view.requestSave();
+ }
}
- this.canvas.data = this.canvas.getData();
- if (this.initialized) this.canvas.view.requestSave();
- if (addHistory) this.canvas.pushHistory(this.canvas.getData());
+ if (addHistory) this.canvas.pushHistory(savedData != null ? savedData : this.canvas.getData());
return result;
}),
render: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:edge-changed", this.canvas, this);
return result;
}),
getCenter: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
that.plugin.app.workspace.trigger("advanced-canvas:edge-center-requested", this.canvas, this, result);
return result;
}),
@@ -2970,18 +3496,19 @@ var CanvasPatcher = class extends Patcher {
that.plugin.app.workspace.trigger("advanced-canvas:edge-connection-try-dragging:before", this.canvas, this, e, cancelRef);
if (cancelRef.value) return;
const previousEnds = { from: this.from, to: this.to };
- const result = next.call(this, e);
+ const result = invoke(next, this, e);
const eventPos = this.canvas.posFromEvt(e);
const fromPos = BBoxHelper.getCenterOfBBoxSide(this.from.node.getBBox(), this.from.side);
const toPos = BBoxHelper.getCenterOfBBoxSide(this.to.node.getBBox(), this.to.side);
const draggingSide = Math.hypot(eventPos.x - fromPos.x, eventPos.y - fromPos.y) > Math.hypot(eventPos.x - toPos.x, eventPos.y - toPos.y) ? "to" : "from";
that.plugin.app.workspace.trigger("advanced-canvas:edge-connection-dragging:before", this.canvas, this, e, false, draggingSide, previousEnds);
- document.addEventListener("pointerup", (e2) => {
+ activeDocument.addEventListener("pointerup", (e2) => {
that.plugin.app.workspace.trigger("advanced-canvas:edge-connection-dragging:after", this.canvas, this, e2, false, draggingSide, previousEnds);
}, { once: true });
return result;
})
- });
+ }, false, uninstallers);
+ this.elementUninstallers.set(edge, uninstallers);
this.runAfterInitialized(edge, () => {
this.plugin.app.workspace.trigger("advanced-canvas:edge-added", edge.canvas, edge);
});
@@ -2994,7 +3521,7 @@ var CanvasPatcher = class extends Patcher {
const that = this;
const uninstall = around(canvasElement, {
initialize: (next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
onReady();
uninstall();
return result;
@@ -3010,11 +3537,12 @@ var LinkSuggestionsPatcher = class extends Patcher {
async patch() {
var _a;
if (!this.plugin.settings.getSetting("enableSingleNodeLinks")) return;
- const suggestManager = (_a = this.plugin.app.workspace.editorSuggest.suggests.find((s) => s.suggestManager)) == null ? void 0 : _a.suggestManager;
+ const suggests = this.plugin.app.workspace.editorSuggest.suggests;
+ const suggestManager = (_a = suggests.find((s) => s.suggestManager)) == null ? void 0 : _a.suggestManager;
if (!suggestManager) return console.warn("LinkSuggestionsPatcher: No suggest manager found.");
Patcher.patchThisAndPrototype(this.plugin, suggestManager, {
getHeadingSuggestions: Patcher.OverrideExisting((next) => async function(context, path, subpath) {
- const result = await next.call(this, context, path, subpath);
+ const result = await invoke(next, this, context, path, subpath);
if (!path.endsWith(".canvas")) return result;
const currentFilePath = this.getSourcePath();
const targetFile = this.app.metadataCache.getFirstLinkpathDest(path, currentFilePath);
@@ -3052,7 +3580,7 @@ var AdvancedCanvasEmbed = class extends import_obsidian7.Component {
super();
this.onModifyCallback = (file) => {
if (file.path !== this.file.path) return;
- this.loadFile();
+ void this.loadFile();
};
this.context = context;
this.file = file;
@@ -3081,9 +3609,15 @@ var AdvancedCanvasEmbed = class extends import_obsidian7.Component {
if (canvasNode.type === "text") nodeContent = canvasNode.text;
else if (canvasNode.type === "group") nodeContent = `**Group Node:** ${canvasNode.label}`;
else if (canvasNode.type === "file") nodeContent = `**File Node:** ${canvasNode.file}`;
- this.context.containerEl.classList.add("markdown-embed");
this.context.containerEl.empty();
- import_obsidian7.MarkdownRenderer.render(this.context.app, nodeContent, this.context.containerEl, this.file.path, this);
+ this.context.containerEl.classList.add("ac-card-embed");
+ if (canvasNode.color !== void 0) {
+ this.context.containerEl.classList.add("is-themed");
+ this.context.containerEl.classList.add(`mod-canvas-color-${canvasNode.color}`);
+ }
+ const markdownContainer = this.context.containerEl.createSpan();
+ markdownContainer.classList.add("markdown-content");
+ await import_obsidian7.MarkdownRenderer.render(this.context.app, nodeContent, markdownContainer, this.file.path, this);
}
};
@@ -3091,11 +3625,15 @@ var AdvancedCanvasEmbed = class extends import_obsidian7.Component {
var EmbedPatcher = class extends Patcher {
async patch() {
if (!this.plugin.settings.getSetting("enableSingleNodeLinks")) return;
- Patcher.patch(this.plugin, this.plugin.app.embedRegistry.embedByExtension, {
- canvas: (next) => function(context, file, subpath) {
- if (subpath) return new AdvancedCanvasEmbed(context, file, subpath);
- return next.call(this, context, file, subpath);
- }
+ const embedByExtension = this.plugin.app.embedRegistry.embedByExtension;
+ const originalCanvasEmbed = embedByExtension["canvas"];
+ if (!originalCanvasEmbed) return;
+ embedByExtension["canvas"] = function(context, file, subpath) {
+ if (subpath) return new AdvancedCanvasEmbed(context, file, subpath);
+ return invoke(originalCanvasEmbed, this, context, file, subpath);
+ };
+ this.plugin.register(() => {
+ embedByExtension["canvas"] = originalCanvasEmbed;
});
}
};
@@ -3139,7 +3677,7 @@ var TaskQueue = class {
async add(task) {
return new Promise((resolve) => {
this.queue.push([resolve, task]);
- if (!this.running) this.run();
+ if (!this.running) void this.run();
});
}
setOnFinished(callback) {
@@ -3164,189 +3702,181 @@ var MetadataCachePatcher = class extends Patcher {
if (!this.plugin.settings.getSetting("canvasMetadataCompatibilityEnabled")) return;
Patcher.patchPrototype(this.plugin, this.plugin.app.metadataCache, {
getCache: Patcher.OverrideExisting((next) => function(filepath, ...args) {
+ var _a;
if (FilepathHelper.extension(filepath) === "canvas") {
- if (!this.fileCache.hasOwnProperty(filepath)) return null;
- const hash = this.fileCache[filepath].hash;
- return this.metadataCache[hash] || null;
+ if (!Object.prototype.hasOwnProperty.call(this.fileCache, filepath))
+ return null;
+ const hash = (_a = this.fileCache[filepath]) == null ? void 0 : _a.hash;
+ return hash && this.metadataCache[hash] || null;
}
- return next.call(this, filepath, ...args);
+ return invoke(next, this, filepath, ...args);
}),
computeFileMetadataAsync: Patcher.OverrideExisting((next) => async function(file, ...args) {
if (file instanceof import_obsidian8.TFile && (file == null ? void 0 : file.extension) === "canvas")
- return CanvasMetadataHandler.computeCanvasFileMetadataAsync.call(this, file);
- return next.call(this, file, ...args);
+ return invoke(computeCanvasFileMetadataAsync, this, file);
+ return invoke(next, this, file, ...args);
}),
resolveLinks: Patcher.OverrideExisting((next) => async function(filepath) {
- const result = next.call(this, filepath);
+ const result = invoke(next, this, filepath);
if (FilepathHelper.extension(filepath) === "canvas")
- CanvasMetadataHandler.resolveCanvasLinks.call(this, filepath);
+ await invoke(resolveCanvasLinks, this, filepath);
return result;
})
});
}
};
-var _CanvasMetadataHandler = class _CanvasMetadataHandler {
- static async computeCanvasFileMetadataAsync(file) {
- this.uniqueFileLookup.add(file.name.toLowerCase(), file);
- let isStale = true;
- if (!this.fileCache.hasOwnProperty(file.path))
- this.saveFileCache(file.path, { mtime: 0, size: 0, hash: "" });
- else {
- const cache2 = this.fileCache[file.path];
- const unchanged = cache2.mtime === file.stat.mtime && cache2.size === file.stat.size;
- const hasMetadataCache = cache2.hash && this.metadataCache.hasOwnProperty(cache2.hash);
- if (unchanged && hasMetadataCache)
- isStale = false;
- }
- if (isStale) {
- _CanvasMetadataHandler.linkResolveQueue.setOnFinished(() => this.trigger("finished"));
- await _CanvasMetadataHandler.metadataQueue.add(
- () => _CanvasMetadataHandler.updateMetadataCache.call(this, file)
- );
- }
- _CanvasMetadataHandler.linkResolveQueue.setOnFinished(() => this.trigger("resolved"));
- await _CanvasMetadataHandler.linkResolveQueue.add(
- () => _CanvasMetadataHandler.resolveCanvasLinks.call(this, file.path)
+var metadataQueue = new TaskQueue();
+var linkResolveQueue = new TaskQueue();
+async function computeCanvasFileMetadataAsync(file) {
+ this.uniqueFileLookup.add(file.name.toLowerCase(), file);
+ let isStale = true;
+ const cache2 = this.fileCache[file.path];
+ if (!cache2) this.saveFileCache(file.path, { mtime: 0, size: 0, hash: "" });
+ else {
+ const unchanged = cache2.mtime === file.stat.mtime && cache2.size === file.stat.size;
+ const hasMetadataCache = cache2.hash && Object.prototype.hasOwnProperty.call(this.metadataCache, cache2.hash);
+ if (unchanged && hasMetadataCache)
+ isStale = false;
+ }
+ if (isStale) {
+ linkResolveQueue.setOnFinished(() => this.trigger("finished"));
+ await metadataQueue.add(
+ () => invoke(updateMetadataCache, this, file)
);
}
- static async updateMetadataCache(file) {
- const bytes = await this.vault.readBinary(file);
- const data = new TextDecoder().decode(new Uint8Array(bytes));
- const hash = await HashHelper.getBytesHash(bytes);
- const cache2 = {
- mtime: file.stat.mtime,
- size: file.stat.size,
- hash
- };
- this.saveFileCache(file.path, cache2);
- let metadata = this.metadataCache[cache2.hash];
- if (metadata) return this.trigger(
- "changed",
- file,
- data,
- metadata
- );
- const slowIndexingTimeout = setTimeout(() => {
- new import_obsidian8.Notice(`Canvas indexing taking a long time for file ${file.path}`);
- }, 1e4);
- try {
- metadata = await _CanvasMetadataHandler.computeCanvasMetadataAsync.call(this, data);
- } finally {
- clearTimeout(slowIndexingTimeout);
- }
- if (metadata) {
- this.saveMetaCache(hash, metadata);
- this.trigger("changed", file, data, metadata);
- } else {
- console.log("Canvas metadata failed to parse", file);
- }
+ linkResolveQueue.setOnFinished(() => this.trigger("resolved"));
+ await linkResolveQueue.add(
+ () => invoke(resolveCanvasLinks, this, file.path)
+ );
+}
+async function updateMetadataCache(file) {
+ const bytes = await this.vault.readBinary(file);
+ const data = new TextDecoder().decode(new Uint8Array(bytes));
+ const hash = await HashHelper.getBytesHash(bytes);
+ const cache2 = {
+ mtime: file.stat.mtime,
+ size: file.stat.size,
+ hash
+ };
+ this.saveFileCache(file.path, cache2);
+ let metadata = this.metadataCache[cache2.hash];
+ if (metadata) return this.trigger(
+ "changed",
+ file,
+ data,
+ metadata
+ );
+ const slowIndexingTimeout = window.setTimeout(() => {
+ new import_obsidian8.Notice(`Canvas indexing taking a long time for file ${file.path}`);
+ }, 1e4);
+ try {
+ metadata = await invoke(computeCanvasMetadataAsync, this, data);
+ } finally {
+ window.clearTimeout(slowIndexingTimeout);
}
- static async computeCanvasMetadataAsync(data) {
- var _a, _b, _c, _d, _e;
- const content = JSON.parse(data || "{}");
- const metadata = {
- v: 1
- };
- const frontmatter = (_a = content.metadata) == null ? void 0 : _a.frontmatter;
- metadata.frontmatterPosition = {
- start: { line: 0, col: 0, offset: 0 },
- end: { line: 0, col: 0, offset: 0 }
- };
- metadata.frontmatter = frontmatter;
- metadata.frontmatterLinks = [];
- for (const [key, value] of Object.entries(frontmatter != null ? frontmatter : {})) {
- const getLinks = (value2) => value2.map((v) => {
- if (!v.startsWith("[[") || !v.endsWith("]]")) return null;
- const [link, ...aliases] = v.slice(2, -2).split("|");
- return {
- key,
- displayText: aliases.length > 0 ? aliases.join("|") : link,
- link,
- original: v
- };
- }).filter((v) => v !== null);
- if (typeof value === "string") (_b = metadata.frontmatterLinks) == null ? void 0 : _b.push(...getLinks([value]));
- else if (Array.isArray(value)) (_c = metadata.frontmatterLinks) == null ? void 0 : _c.push(...getLinks(value));
- }
- metadata.nodes = {};
- metadata.links = [];
- metadata.embeds = [];
- await Promise.all(((_d = content.nodes) != null ? _d : []).map(async (node, index) => {
- var _a2, _b2;
- if (node.type !== "text") return;
- const text = node.text;
- const buffer = new TextEncoder().encode(text).buffer;
- const nodeMetadata = await this.computeMetadataAsync(buffer);
- if (!nodeMetadata) return;
- metadata.nodes[node.id] = nodeMetadata;
- metadata.links.push(...((_a2 = nodeMetadata.links) != null ? _a2 : []).map((link) => ({
- ...link,
- position: {
- nodeId: node.id,
- start: { line: 0, col: 1, offset: 0 },
- // 0 for node
- end: { line: 0, col: 1, offset: index }
- // index of node
- }
- })));
- metadata.embeds.push(...((_b2 = nodeMetadata.embeds) != null ? _b2 : []).map((embed2) => ({
- ...embed2,
- position: {
- nodeId: node.id,
- start: { line: 0, col: 1, offset: 0 },
- // 0 for node
- end: { line: 0, col: 1, offset: index }
- // index of node
- }
- })));
- }));
- for (const [index, node] of ((_e = content.nodes) != null ? _e : []).entries()) {
- if (node.type !== "file") continue;
- const file = node.file;
- if (!file) continue;
- metadata.embeds.push({
- link: file,
- original: file,
- displayText: file,
- position: {
- start: { line: 0, col: 1, offset: 0 },
- // 0 for nodes
- end: { line: 0, col: 1, offset: index }
- // index of node
- }
- });
- }
- return metadata;
+ if (metadata) {
+ this.saveMetaCache(hash, metadata);
+ this.trigger("changed", file, data, metadata);
+ } else {
+ console.error("Canvas metadata failed to parse", file);
}
- static async resolveCanvasLinks(filepath) {
- var _a, _b, _c, _d, _e;
- const file = this.vault.getAbstractFileByPath(filepath);
- if (!(file instanceof import_obsidian8.TFile)) return;
- const metadata = this.getFileCache(file);
- const references = [...(_a = metadata == null ? void 0 : metadata.links) != null ? _a : [], ...(_b = metadata == null ? void 0 : metadata.embeds) != null ? _b : []];
- const referenceLinks = references.map((ref) => ref.link).sort();
- const resolvedLinks = {};
- const unresolvedLinks = {};
- for (const link of referenceLinks) {
- const resolved = this.getFirstLinkpathDest(link, filepath);
- if (resolved) {
- (_d = resolvedLinks[_c = resolved.path]) != null ? _d : resolvedLinks[_c] = 0;
- resolvedLinks[resolved.path]++;
- } else {
- const strippedLink = link.endsWith(".md") ? link.slice(0, -3) : link;
- (_e = unresolvedLinks[strippedLink]) != null ? _e : unresolvedLinks[strippedLink] = 0;
- unresolvedLinks[strippedLink]++;
+}
+async function computeCanvasMetadataAsync(data) {
+ var _a, _b, _c, _d, _e;
+ const content = JSON.parse(data || "{}");
+ const metadata = {
+ v: 1
+ };
+ const frontmatter = (_a = content.metadata) == null ? void 0 : _a.frontmatter;
+ metadata.frontmatterPosition = {
+ start: { line: 0, col: 0, offset: 0 },
+ end: { line: 0, col: 0, offset: 0 }
+ };
+ metadata.frontmatter = frontmatter;
+ metadata.frontmatterLinks = [];
+ for (const [key, value] of Object.entries(frontmatter != null ? frontmatter : {})) {
+ const getLinks = (value2) => value2.map((v) => {
+ if (!v.startsWith("[[") || !v.endsWith("]]")) return null;
+ const [link, ...aliases] = v.slice(2, -2).split("|");
+ return {
+ key,
+ displayText: aliases.length > 0 ? aliases.join("|") : link,
+ link: link != null ? link : v,
+ original: v
+ };
+ }).filter((v) => v !== null);
+ if (typeof value === "string") (_b = metadata.frontmatterLinks) == null ? void 0 : _b.push(...getLinks([value]));
+ else if (Array.isArray(value)) (_c = metadata.frontmatterLinks) == null ? void 0 : _c.push(...getLinks(value));
+ }
+ metadata.nodes = {};
+ metadata.links = [];
+ metadata.embeds = [];
+ await Promise.all(((_d = content.nodes) != null ? _d : []).map(async (node, index) => {
+ var _a2, _b2;
+ if (node.type !== "text") return;
+ const text = node.text;
+ const buffer = new TextEncoder().encode(text).buffer;
+ const nodeMetadata = await this.computeMetadataAsync(buffer);
+ if (!nodeMetadata) return;
+ metadata.nodes[node.id] = nodeMetadata;
+ metadata.links.push(...((_a2 = nodeMetadata.links) != null ? _a2 : []).map((link) => ({
+ ...link,
+ position: {
+ nodeId: node.id,
+ start: { line: 0, col: 1, offset: 0 },
+ end: { line: 0, col: 1, offset: index }
}
- }
- this.resolvedLinks[filepath] = resolvedLinks;
- this.unresolvedLinks[filepath] = unresolvedLinks;
- await sleep(1);
- this.trigger("resolve", file);
+ })));
+ metadata.embeds.push(...((_b2 = nodeMetadata.embeds) != null ? _b2 : []).map((embed2) => ({
+ ...embed2,
+ position: {
+ nodeId: node.id,
+ start: { line: 0, col: 1, offset: 0 },
+ end: { line: 0, col: 1, offset: index }
+ }
+ })));
+ }));
+ for (const [index, node] of ((_e = content.nodes) != null ? _e : []).entries()) {
+ if (node.type !== "file") continue;
+ const file = node.file;
+ if (!file) continue;
+ metadata.embeds.push({
+ link: file,
+ original: file,
+ displayText: file,
+ position: {
+ start: { line: 0, col: 1, offset: 0 },
+ end: { line: 0, col: 1, offset: index }
+ }
+ });
}
-};
-_CanvasMetadataHandler.metadataQueue = new TaskQueue();
-_CanvasMetadataHandler.linkResolveQueue = new TaskQueue();
-var CanvasMetadataHandler = _CanvasMetadataHandler;
+ return metadata;
+}
+async function resolveCanvasLinks(filepath) {
+ var _a, _b, _c, _d, _e;
+ const file = this.vault.getAbstractFileByPath(filepath);
+ if (!(file instanceof import_obsidian8.TFile)) return;
+ const metadata = this.getFileCache(file);
+ const references = [...(_a = metadata == null ? void 0 : metadata.links) != null ? _a : [], ...(_b = metadata == null ? void 0 : metadata.embeds) != null ? _b : []];
+ const referenceLinks = references.map((ref) => ref.link).sort();
+ const resolvedLinks = {};
+ const unresolvedLinks = {};
+ for (const link of referenceLinks) {
+ const resolved = this.getFirstLinkpathDest(link, filepath);
+ if (resolved) {
+ (_d = resolvedLinks[_c = resolved.path]) != null ? _d : resolvedLinks[_c] = 0;
+ resolvedLinks[resolved.path]++;
+ } else {
+ const strippedLink = link.endsWith(".md") ? link.slice(0, -3) : link;
+ (_e = unresolvedLinks[strippedLink]) != null ? _e : unresolvedLinks[strippedLink] = 0;
+ unresolvedLinks[strippedLink]++;
+ }
+ }
+ this.resolvedLinks[filepath] = resolvedLinks;
+ this.unresolvedLinks[filepath] = unresolvedLinks;
+ await sleep(1);
+ this.trigger("resolve", file);
+}
// src/patchers/backlinks-patcher.ts
var import_obsidian9 = require("obsidian");
@@ -3360,9 +3890,9 @@ var BacklinksPatcher = class extends Patcher {
const that = this;
await Patcher.waitForViewRequest(this.plugin, "backlink", (view) => {
Patcher.patchPrototype(this.plugin, view.backlink, {
- recomputeBacklink: Patcher.OverrideExisting((next) => function(file, ...args) {
+ recomputeBacklink: Patcher.OverrideExisting((next) => function(file) {
that.isRecomputingBacklinks = true;
- const result = next.call(this, file, ...args);
+ const result = invoke(next, this, file);
that.isRecomputingBacklinks = false;
return result;
})
@@ -3378,8 +3908,8 @@ var BacklinksPatcher = class extends Patcher {
}
}
},
- getMarkdownFiles: Patcher.OverrideExisting((next) => function(...args) {
- if (!that.isRecomputingBacklinks) return next.call(this, ...args);
+ getMarkdownFiles: Patcher.OverrideExisting((next) => function() {
+ if (!that.isRecomputingBacklinks) return invoke(next, this);
const files = [];
const root = this.getRoot();
this.recurseChildrenAC(root, (child) => {
@@ -3403,7 +3933,7 @@ var OutgoingLinksPatcher = class extends Patcher {
var _a;
const isCanvas = ((_a = this.file) == null ? void 0 : _a.extension) === "canvas";
if (isCanvas) this.file.extension = "md";
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
if (isCanvas) this.file.extension = "canvas";
return result;
}),
@@ -3411,7 +3941,7 @@ var OutgoingLinksPatcher = class extends Patcher {
var _a;
const isCanvas = ((_a = this.file) == null ? void 0 : _a.extension) === "canvas";
if (isCanvas) this.file.extension = "md";
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
if (isCanvas) this.file.extension = "canvas";
return result;
})
@@ -3432,10 +3962,10 @@ var FileManagerPatcher = class extends Patcher {
const content = JSON.parse(data);
fn(content.metadata.frontmatter);
return JSON.stringify(content, null, 2);
- });
+ }).catch(() => console.error("Failed to update metadata object in canvas file."));
return;
}
- return next.call(this, file, fn, options);
+ return invoke(next, this, file, fn, options);
})
});
}
@@ -3450,7 +3980,7 @@ var PropertiesPatcher = class extends Patcher {
Patcher.patchPrototype(this.plugin, view, {
isSupportedFile: Patcher.OverrideExisting((next) => function(file) {
if ((file == null ? void 0 : file.extension) === "canvas") return true;
- return next.call(this, file);
+ return invoke(next, this, file);
}),
updateFrontmatter: Patcher.OverrideExisting((next) => function(file, content) {
var _a, _b, _c;
@@ -3465,7 +3995,7 @@ var PropertiesPatcher = class extends Patcher {
this.frontmatter = frontmatter;
return frontmatter;
}
- return next.call(this, file, content);
+ return invoke(next, this, file, content);
}),
saveFrontmatter: Patcher.OverrideExisting((next) => function(frontmatter) {
var _a;
@@ -3475,10 +4005,10 @@ var PropertiesPatcher = class extends Patcher {
const content = JSON.parse(data);
if (content == null ? void 0 : content.metadata) content.metadata.frontmatter = frontmatter;
return JSON.stringify(content, null, 2);
- });
+ }).catch(() => console.error("Failed to update metadata object in canvas file."));
return;
}
- return next.call(this, frontmatter);
+ return invoke(next, this, frontmatter);
})
});
});
@@ -3494,7 +4024,7 @@ var SearchPatcher = class extends Patcher {
const uninstallers = [];
Patcher.patchThisAndPrototype(this.plugin, view, {
startSearch: (next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
if (this.searchQuery) {
that.patchSearchQuery(this.searchQuery);
uninstallers.forEach((uninstall) => uninstall());
@@ -3511,7 +4041,7 @@ var SearchPatcher = class extends Patcher {
const isCanvas = (_b = (_a = data.strings.filepath) == null ? void 0 : _a.endsWith(".canvas")) != null ? _b : false;
if (isCanvas && !data.cache)
data.cache = this.app.metadataCache.getCache(data.strings.filepath);
- return next.call(this, data);
+ return invoke(next, this, data);
})
});
}
@@ -3523,70 +4053,67 @@ var SearchCommandPatcher = class extends Patcher {
async patch() {
if (!this.plugin.settings.getSetting("nativeFileSearchEnabled")) return;
const that = this;
- Patcher.patch(this.plugin, this.plugin.app.commands.commands["editor:open-search"], {
- checkCallback: Patcher.OverrideExisting((next) => function(checking) {
- if (that.plugin.app.workspace.activeEditor) return next.call(this, checking);
- const activeCanvasView = that.plugin.getCurrentCanvasView();
- if (!activeCanvasView) return next.call(this, checking);
- if (checking) return true;
- if (!activeCanvasView.canvas.searchEl) new CanvasSearchView(activeCanvasView);
- return true;
- })
+ const searchCommand = this.plugin.app.commands.commands["editor:open-search"];
+ if (!(searchCommand == null ? void 0 : searchCommand.checkCallback)) return;
+ const originalCallback = searchCommand.checkCallback;
+ searchCommand.checkCallback = function(checking) {
+ if (that.plugin.app.workspace.activeEditor) return invoke(originalCallback, this, checking);
+ const activeCanvasView = that.plugin.getCurrentCanvasView();
+ if (!activeCanvasView) return invoke(originalCallback, this, checking);
+ if (checking) return true;
+ if (!activeCanvasView.canvas.searchEl) new CanvasSearchView(activeCanvasView);
+ return true;
+ };
+ that.plugin.register(() => {
+ searchCommand.checkCallback = originalCallback;
});
}
};
var CanvasSearchView = class {
constructor(view) {
+ this.debouncing = false;
this.searchMatches = [];
this.matchIndex = 0;
this.view = view;
this.createSearchView();
}
createSearchView() {
- this.containerEl = document.createElement("div");
+ this.containerEl = this.view.canvas.wrapperEl.createDiv();
this.containerEl.className = "document-search-container";
- const documentSearch = document.createElement("div");
+ const documentSearch = this.containerEl.createDiv();
documentSearch.className = "document-search";
- this.containerEl.appendChild(documentSearch);
- const searchInputContainer = document.createElement("div");
+ const searchInputContainer = documentSearch.createDiv();
searchInputContainer.className = "search-input-container document-search-input";
- documentSearch.appendChild(searchInputContainer);
- this.searchInput = document.createElement("input");
+ this.searchInput = searchInputContainer.createEl("input");
this.searchInput.type = "text";
this.searchInput.placeholder = "Find...";
this.searchInput.addEventListener("keydown", (e) => this.onKeyDown(e));
- this.searchInput.addEventListener("input", () => this.onInput());
- searchInputContainer.appendChild(this.searchInput);
- this.searchCount = document.createElement("div");
+ const debouncedOnInput = (0, import_obsidian10.debounce)(() => this.onInput(), 200, true);
+ this.searchInput.addEventListener("input", debouncedOnInput);
+ this.searchCount = searchInputContainer.createDiv();
this.searchCount.className = "document-search-count";
- this.searchCount.style.display = "none";
+ this.searchCount.toggleClass("is-hidden", true);
this.searchCount.textContent = "0 / 0";
- searchInputContainer.appendChild(this.searchCount);
- const documentSearchButtons = document.createElement("div");
+ const documentSearchButtons = documentSearch.createDiv();
documentSearchButtons.className = "document-search-buttons";
- documentSearch.appendChild(documentSearchButtons);
- const previousButton = document.createElement("button");
+ const previousButton = documentSearchButtons.createEl("button");
previousButton.className = "clickable-icon document-search-button";
previousButton.setAttribute("aria-label", "Previous\nShift + F3");
previousButton.setAttribute("data-tooltip-position", "top");
(0, import_obsidian10.setIcon)(previousButton, "arrow-up");
previousButton.addEventListener("click", () => this.changeMatch(this.matchIndex - 1));
- documentSearchButtons.appendChild(previousButton);
- const nextButton = document.createElement("button");
+ const nextButton = documentSearchButtons.createEl("button");
nextButton.className = "clickable-icon document-search-button";
nextButton.setAttribute("aria-label", "Next\nF3");
nextButton.setAttribute("data-tooltip-position", "top");
(0, import_obsidian10.setIcon)(nextButton, "arrow-down");
nextButton.addEventListener("click", () => this.changeMatch(this.matchIndex + 1));
- documentSearchButtons.appendChild(nextButton);
- const closeButton = document.createElement("button");
+ const closeButton = documentSearch.createEl("button");
closeButton.className = "clickable-icon document-search-close-button";
closeButton.setAttribute("aria-label", "Exit search");
closeButton.setAttribute("data-tooltip-position", "top");
(0, import_obsidian10.setIcon)(closeButton, "x");
closeButton.addEventListener("click", () => this.close());
- documentSearch.appendChild(closeButton);
- this.view.canvas.wrapperEl.appendChild(this.containerEl);
this.view.canvas.searchEl = this.containerEl;
this.searchInput.focus();
}
@@ -3595,31 +4122,38 @@ var CanvasSearchView = class {
this.changeMatch(this.matchIndex + (e.shiftKey ? -1 : 1));
else if (e.key === "Escape")
this.close();
+ else this.debouncing = false;
}
onInput() {
+ this.debouncing = false;
const hasQuery = this.searchInput.value.length > 0;
- this.searchCount.style.display = hasQuery ? "block" : "none";
- if (!hasQuery) this.searchMatches = [];
- else {
- this.searchMatches = Array.from(this.view.canvas.nodes.values()).map((node) => {
- const nodeData = node.getData();
- let content = void 0;
- if (nodeData.type === "text") content = nodeData.text;
- else if (nodeData.type === "group") content = nodeData.label;
- else if (nodeData.type === "file") content = node.child.data;
- if (!content) return null;
- const matches = [];
- const regex = new RegExp(this.searchInput.value, "gi");
- let match;
- while ((match = regex.exec(content)) !== null) {
- matches.push([match.index, match.index + match[0].length]);
- }
- return { nodeId: node.id, content, matches };
- }).filter((match) => match && match.matches.length > 0);
+ this.searchCount.toggleClass("is-hidden", !hasQuery);
+ if (!hasQuery) {
+ this.searchMatches = [];
+ return;
}
+ const regex = new RegExp(this.searchInput.value, "gi");
+ const matchesList = [];
+ for (const node of this.view.canvas.nodes.values()) {
+ const nodeData = node.getData();
+ let content = void 0;
+ if (nodeData.type === "text") content = nodeData.text;
+ else if (nodeData.type === "group") content = nodeData.label;
+ else if (nodeData.type === "file") content = node.child.data;
+ if (!content) continue;
+ regex.lastIndex = 0;
+ const matches = [];
+ let match;
+ while ((match = regex.exec(content)) !== null)
+ matches.push([match.index, match.index + match[0].length]);
+ if (matches.length === 0) continue;
+ matchesList.push({ nodeId: node.id, content, matches });
+ }
+ this.searchMatches = matchesList;
this.changeMatch(0);
}
changeMatch(index) {
+ if (this.debouncing) this.onInput();
if (this.searchMatches.length === 0) this.matchIndex = -1;
else {
if (index < 0) index += this.searchMatches.length;
@@ -3664,9 +4198,9 @@ var MetadataCanvasExtension = class extends CanvasExtension {
}
onCanvasChanged(canvas) {
var _a;
- const metadata = (_a = canvas.data) == null ? void 0 : _a.metadata;
+ const metadata = (_a = canvas.getData()) == null ? void 0 : _a.metadata;
if (!metadata || metadata.version !== CURRENT_SPEC_VERSION)
- return new import_obsidian11.Notice("Metadata node not found or version mismatch. Should have been migrated (but wasn't).");
+ return void new import_obsidian11.Notice("Metadata node not found or version mismatch. Should have been migrated (but wasn't).");
const that = this;
const validator = {
get(target, key) {
@@ -3685,10 +4219,11 @@ var MetadataCanvasExtension = class extends CanvasExtension {
this.plugin.app.workspace.trigger("advanced-canvas:canvas-metadata-changed", canvas);
}
onMetadataChanged(canvas) {
- var _a, _b, _c;
+ var _a, _b;
const oldCssClasses = this.canvasCssclassesCache.get(canvas.view);
if (oldCssClasses) canvas.wrapperEl.classList.remove(...oldCssClasses);
- const currentClasses = (_c = (_b = (_a = canvas.metadata) == null ? void 0 : _a.frontmatter) == null ? void 0 : _b.cssclasses) != null ? _c : [];
+ const rawClasses = (_b = (_a = canvas.metadata) == null ? void 0 : _a.frontmatter) == null ? void 0 : _b.cssclasses;
+ const currentClasses = Array.isArray(rawClasses) ? rawClasses : typeof rawClasses === "string" ? rawClasses.split(/\s+/).filter((cls) => cls) : [];
this.canvasCssclassesCache.set(canvas.view, currentClasses);
if (currentClasses.length > 0) canvas.wrapperEl.classList.add(...currentClasses);
}
@@ -3700,9 +4235,10 @@ var MetadataCanvasExtension = class extends CanvasExtension {
// src/utils/modal-helper.ts
var import_obsidian12 = require("obsidian");
var AbstractSelectionModal = class extends import_obsidian12.FuzzySuggestModal {
- constructor(app, placeholder, suggestions) {
+ constructor(app, placeholder, suggestions, arbitrary = false) {
super(app);
this.suggestions = suggestions;
+ this.arbitrary = arbitrary;
this.setPlaceholder(placeholder);
this.setInstructions([{
command: "\u2191\u2193",
@@ -3718,13 +4254,17 @@ var AbstractSelectionModal = class extends import_obsidian12.FuzzySuggestModal {
getItemText(item) {
return item;
}
- onChooseItem(item, evt) {
+ getSuggestions(query) {
+ const suggestions = super.getSuggestions(query);
+ if (this.arbitrary && query.length > 0 && !suggestions.some((s) => s.item === query))
+ suggestions.splice(0, 0, { item: query, match: { score: 1, matches: [[0, query.length]] } });
+ return suggestions;
}
- awaitInput() {
+ onChooseItem(_item, _evt) {
+ }
+ get promise() {
return new Promise((resolve, _reject) => {
- this.onChooseItem = (item) => {
- resolve(item);
- };
+ this.onChooseItem = (item) => resolve(item);
this.open();
});
}
@@ -3748,7 +4288,7 @@ var FileNameModal = class extends import_obsidian12.SuggestModal {
}
onChooseSuggestion(_text, _evt) {
}
- awaitInput() {
+ get promise() {
return new Promise((resolve, _reject) => {
this.onChooseSuggestion = (text) => {
resolve(text);
@@ -3760,10 +4300,10 @@ var FileNameModal = class extends import_obsidian12.SuggestModal {
var FileSelectModal = class extends import_obsidian12.SuggestModal {
constructor(app, extensionsRegex, suggestNewFile = false) {
super(app);
- this.files = this.app.vault.getFiles().map((file) => file.path).filter((path) => {
+ this.files = this.app.vault.getFiles().filter((file) => {
var _a;
- return (_a = FilepathHelper.extension(path)) == null ? void 0 : _a.match(extensionsRegex != null ? extensionsRegex : /.*/);
- });
+ return (_a = file == null ? void 0 : file.extension) == null ? void 0 : _a.match(extensionsRegex != null ? extensionsRegex : /.*/);
+ }).map((file) => file.path);
this.suggestNewFile = suggestNewFile;
this.setPlaceholder("Type to search...");
this.setInstructions([{
@@ -3795,7 +4335,7 @@ var FileSelectModal = class extends import_obsidian12.SuggestModal {
}
onChooseSuggestion(_path, _evt) {
}
- awaitInput() {
+ get promise() {
return new Promise((resolve, _reject) => {
this.onChooseSuggestion = (path, _evt) => {
const file = this.app.vault.getAbstractFileByPath(path);
@@ -3829,9 +4369,9 @@ var NodeRatioCanvasExtension = class extends CanvasExtension {
onNodeMenu(menu, node) {
if (!this.plugin.settings.getSetting("aspectRatioControlFeatureEnabled")) return;
menu.addItem((item) => {
- item.setTitle("Set Aspect Ratio").setIcon("aspect-ratio").onClick(async () => {
+ item.setTitle("Set aspect ratio").setIcon("aspect-ratio").onClick(async () => {
const NO_RATIO = "No ratio enforcement";
- const newRatioString = await new AbstractSelectionModal(this.plugin.app, "Enter aspect ratio (width:height)", ["16:9", "4:3", "3:2", "1:1", NO_RATIO]).awaitInput();
+ const newRatioString = await new AbstractSelectionModal(this.plugin.app, "Enter aspect ratio (width:height)", ["16:9", "4:3", "3:2", "1:1", NO_RATIO]).promise;
const nodeData = node.getData();
if (newRatioString === NO_RATIO) {
node.setData({
@@ -3857,11 +4397,7 @@ var NodeRatioCanvasExtension = class extends CanvasExtension {
onNodeResized(_canvas, node) {
const nodeData = node.getData();
if (!nodeData.ratio) return;
- const nodeBBox = node.getBBox();
- const nodeSize = {
- width: nodeBBox.maxX - nodeBBox.minX,
- height: nodeBBox.maxY - nodeBBox.minY
- };
+ const nodeSize = { width: node.width, height: node.height };
const nodeAspectRatio = nodeSize.width / nodeSize.height;
if (nodeAspectRatio < nodeData.ratio)
nodeSize.width = nodeSize.height * nodeData.ratio;
@@ -3930,16 +4466,215 @@ var GroupCanvasExtension = class extends CanvasExtension {
}
};
-// src/canvas-extensions/presentation-canvas-extension.ts
+// src/canvas-extensions/node-templates-canvas-extension.ts
var import_obsidian13 = require("obsidian");
+var TEMPLATE_NODE_BUTTON_ID_PREFIX = "create-template-node-";
+var NodeTemplatesCanvasExtension = class extends CanvasExtension {
+ isEnabled() {
+ return true;
+ }
+ init() {
+ this.plugin.addCommand({
+ id: "save-node-as-template",
+ name: "Save node as template",
+ checkCallback: CanvasHelper.canvasCommand(
+ this.plugin,
+ (canvas) => canvas.getSelectionData().nodes.length === 1,
+ (canvas) => void this.saveNodeAsTemplate(canvas)
+ )
+ });
+ this.registeredNodeTemplateCommandIds = [];
+ this.registerNodeTemplateCommands();
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:canvas-changed",
+ (canvas) => this.onCardMenuCreated(canvas)
+ ));
+ }
+ registerNodeTemplateCommands() {
+ for (const commandId of this.registeredNodeTemplateCommandIds)
+ this.plugin.removeCommand(commandId);
+ this.registeredNodeTemplateCommandIds = [];
+ const templates = this.plugin.settings.getSetting("nodeTemplates");
+ for (let i = 0; i < templates.length; i++) {
+ const template = templates[i];
+ const commandId = `create-template-node-${i}`;
+ this.plugin.addCommand({
+ id: commandId,
+ name: "Create template node " + (template.label ? `"${template.label}"` : i + 1),
+ checkCallback: CanvasHelper.canvasCommand(
+ this.plugin,
+ (_) => true,
+ (canvas) => {
+ const center = canvas.posCenter();
+ void this.createNodeFromTemplate(
+ canvas,
+ template,
+ {
+ x: center.x - template.width / 2,
+ y: center.y - template.height / 2
+ }
+ );
+ }
+ )
+ });
+ this.registeredNodeTemplateCommandIds.push(commandId);
+ }
+ }
+ onCardMenuCreated(canvas) {
+ var _a;
+ const existingButtons = canvas.cardMenuEl.querySelectorAll(`[id^="${TEMPLATE_NODE_BUTTON_ID_PREFIX}"]`);
+ existingButtons.forEach((button) => button.remove());
+ const templates = this.plugin.settings.getSetting("nodeTemplates");
+ for (let i = 0; i < templates.length; i++) {
+ const template = templates[i];
+ CanvasHelper.addCardMenuOption(
+ canvas,
+ CanvasHelper.createCardMenuOption(
+ canvas,
+ {
+ id: `${TEMPLATE_NODE_BUTTON_ID_PREFIX}${i}`,
+ label: "Drag to add template node " + (template.label ? `"${template.label}"` : i + 1),
+ icon: (_a = template.icon) != null ? _a : "book-dashed"
+ },
+ () => ({ width: template.width, height: template.height }),
+ (canvas2, pos) => void this.createNodeFromTemplate(canvas2, template, pos),
+ (e) => this.createTemplateContextMenu(e)
+ )
+ );
+ }
+ }
+ async createNodeFromTemplate(canvas, template, pos) {
+ var _a;
+ const creationOptions = {
+ pos,
+ size: {
+ width: template.width,
+ height: template.height
+ }
+ };
+ let node;
+ if (template.type === "text") node = canvas.createTextNode(creationOptions);
+ else if (template.type === "file") {
+ let tfile;
+ if (template.path) {
+ const abstractFile = this.plugin.app.vault.getAbstractFileByPath(template.path);
+ if (abstractFile instanceof import_obsidian13.TFile) tfile = abstractFile;
+ }
+ tfile != null ? tfile : tfile = await new FileSelectModal(this.plugin.app, void 0, true).promise;
+ node = canvas.createFileNode({ ...creationOptions, file: tfile });
+ } else if (template.type === "group") node = canvas.createGroupNode(creationOptions);
+ else if (template.type === "link") node = canvas.createLinkNode({ ...creationOptions, url: template.url });
+ else throw new Error(`Unknown template type: ${template.type}`);
+ const data = node.getData();
+ node.setData(
+ {
+ ...data,
+ color: (_a = template.color) != null ? _a : data.color,
+ styleAttributes: {
+ ...data.styleAttributes,
+ ...template.styleAttributes
+ }
+ },
+ false
+ /* addHistory */
+ );
+ }
+ createTemplateContextMenu(e) {
+ const menu = new import_obsidian13.Menu();
+ menu.addItem(
+ (item) => item.setTitle("Remove").setIcon("trash").onClick(async () => {
+ const buttonEl = e.target;
+ const index = parseInt(buttonEl.id.replace(TEMPLATE_NODE_BUTTON_ID_PREFIX, ""));
+ const templates = this.plugin.settings.getSetting("nodeTemplates");
+ templates.splice(index, 1);
+ await this.plugin.settings.setSetting({ nodeTemplates: templates });
+ const canvas = this.plugin.getCurrentCanvas();
+ if (canvas) this.onCardMenuCreated(canvas);
+ })
+ );
+ menu.showAtMouseEvent(e);
+ }
+ async saveNodeAsTemplate(canvas) {
+ const selectedNodeData = canvas.getSelectionData().nodes[0];
+ const icon = await new IconModal(this.plugin.app).promise;
+ if (!icon) {
+ new import_obsidian13.Notice("No icon selected, template creation cancelled.");
+ return;
+ }
+ const label = await new AbstractSelectionModal(this.plugin.app, "Set template label (optional)", [], true).promise;
+ await this.plugin.settings.setSetting({
+ nodeTemplates: [
+ ...this.plugin.settings.getSetting("nodeTemplates"),
+ {
+ icon,
+ label: label != null ? label : void 0,
+ type: selectedNodeData.type,
+ width: selectedNodeData.width,
+ height: selectedNodeData.height,
+ color: selectedNodeData.color,
+ styleAttributes: selectedNodeData.styleAttributes,
+ path: selectedNodeData.type === "file" ? selectedNodeData.file : void 0,
+ url: selectedNodeData.type === "link" ? selectedNodeData.url : void 0
+ }
+ ]
+ });
+ this.registerNodeTemplateCommands();
+ this.onCardMenuCreated(canvas);
+ }
+};
+var IconModal = class extends import_obsidian13.FuzzySuggestModal {
+ constructor(app) {
+ super(app);
+ this.setPlaceholder("Set template icon");
+ }
+ getItems() {
+ return (0, import_obsidian13.getIconIds)();
+ }
+ getItemText(item) {
+ return item;
+ }
+ renderSuggestion(item, el) {
+ el.classList.add("icon-modal-suggestion");
+ el.createSpan({ cls: "icon-modal-suggestion-icon" }, (iconEl) => {
+ (0, import_obsidian13.setIcon)(iconEl, item.item);
+ });
+ el.createSpan({
+ text: item.item.replace("lucide-", ""),
+ cls: "icon-modal-suggestion-id"
+ });
+ }
+ onChooseItem(_item, _evt) {
+ }
+ get promise() {
+ return new Promise((resolve, _reject) => {
+ this.onChooseItem = (item, _evt) => {
+ resolve(item);
+ };
+ this.onClose = () => window.setTimeout(() => {
+ resolve(null);
+ }, 10);
+ this.open();
+ });
+ }
+};
+
+// src/canvas-extensions/presentation-canvas-extension.ts
+var import_obsidian14 = require("obsidian");
var START_SLIDE_NAME = "Start Slide";
var DEFAULT_SLIDE_NAME = "New Slide";
+var ARROW_SIDE_MAPPINGS = {
+ "ArrowRight": "right",
+ "ArrowDown": "bottom",
+ "ArrowLeft": "left",
+ "ArrowUp": "top"
+};
var PresentationCanvasExtension = class extends CanvasExtension {
constructor() {
super(...arguments);
- this.savedViewport = null;
+ this.savedViewport = { x: 0, y: 0, zoom: 1 };
this.isPresentationMode = false;
this.visitedNodeIds = [];
+ this.traveledEdges = [];
this.fullscreenModalObserver = null;
this.presentationUsesFullscreen = false;
}
@@ -3985,7 +4720,7 @@ var PresentationCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(_canvas) => !this.isPresentationMode,
- (canvas) => this.startPresentation(canvas)
+ (canvas) => void this.startPresentation(canvas)
)
});
this.plugin.addCommand({
@@ -3994,7 +4729,7 @@ var PresentationCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(_canvas) => !this.isPresentationMode,
- (canvas) => this.startPresentation(canvas, true)
+ (canvas) => void this.startPresentation(canvas, true)
)
});
this.plugin.addCommand({
@@ -4113,7 +4848,6 @@ var PresentationCanvasExtension = class extends CanvasExtension {
const animationDurationMs = this.plugin.settings.getSetting("slideTransitionAnimationDuration") * 1e3;
const toNodeBBox = CanvasHelper.getSmallestAllowedZoomBBox(canvas, toNode.getBBox());
const toNodeBBoxPadded = removePadding ? toNodeBBox : BBoxHelper.enlargeBBox(toNodeBBox, 50);
- console.log({ toNodeBBox, toNodeBBoxPadded });
if (animationDurationMs > 0 && fromNode) {
const animationIntensity = this.plugin.settings.getSetting("slideTransitionAnimationIntensity");
const fromNodeBBox = CanvasHelper.getSmallestAllowedZoomBBox(canvas, fromNode.getBBox());
@@ -4133,10 +4867,11 @@ var PresentationCanvasExtension = class extends CanvasExtension {
if (!tryContinue || this.visitedNodeIds.length === 0) {
const startNode2 = canvas.metadata["startNode"] && canvas.nodes.get(canvas.metadata["startNode"]);
if (!startNode2) {
- new import_obsidian13.Notice("No start node found. Please mark a node as a start node trough the popup menu.");
+ new import_obsidian14.Notice("No start node found. Please mark a node as a start node through the popup menu.");
return;
}
this.visitedNodeIds = [startNode2.getData().id];
+ this.traveledEdges = [];
}
this.savedViewport = {
x: canvas.tx,
@@ -4165,8 +4900,9 @@ var PresentationCanvasExtension = class extends CanvasExtension {
return;
}
if (this.plugin.settings.getSetting("useArrowKeysToChangeSlides")) {
- if (e.key === "ArrowRight") this.nextNode(canvas);
- else if (e.key === "ArrowLeft") this.previousNode(canvas);
+ const direction = ARROW_SIDE_MAPPINGS[e.key];
+ if (!direction) return;
+ this.nextNode(canvas, direction);
}
if (this.plugin.settings.getSetting("usePgUpPgDownKeysToChangeSlides")) {
if (e.key === "PageDown") this.nextNode(canvas);
@@ -4178,16 +4914,16 @@ var PresentationCanvasExtension = class extends CanvasExtension {
mutationRecords.forEach((mutationRecord) => {
mutationRecord.addedNodes.forEach((node) => {
var _a;
- document.body.removeChild(node);
- (_a = document.fullscreenElement) == null ? void 0 : _a.appendChild(node);
+ activeDocument.body.removeChild(node);
+ (_a = activeDocument.fullscreenElement) == null ? void 0 : _a.appendChild(node);
});
});
- const inputField = document.querySelector(".prompt-input");
+ const inputField = activeDocument.querySelector(".prompt-input");
if (inputField) inputField.focus();
});
- this.fullscreenModalObserver.observe(document.body, { childList: true });
+ this.fullscreenModalObserver.observe(activeDocument.body, { childList: true });
canvas.wrapperEl.onfullscreenchange = (_e) => {
- if (document.fullscreenElement) return;
+ if (activeDocument.fullscreenElement) return;
this.endPresentation(canvas);
};
}
@@ -4198,7 +4934,7 @@ var PresentationCanvasExtension = class extends CanvasExtension {
if (!startNodeId) return;
const startNode = canvas.nodes.get(startNodeId);
if (!startNode) return;
- this.animateNodeTransition(canvas, void 0, startNode);
+ void this.animateNodeTransition(canvas, void 0, startNode);
}
endPresentation(canvas) {
var _a;
@@ -4207,7 +4943,7 @@ var PresentationCanvasExtension = class extends CanvasExtension {
(_a = this.fullscreenModalObserver) == null ? void 0 : _a.disconnect();
this.fullscreenModalObserver = null;
canvas.wrapperEl.onfullscreenchange = null;
- if (document.fullscreenElement) document.exitFullscreen();
+ if (activeDocument.fullscreenElement) void activeDocument.exitFullscreen();
}
canvas.wrapperEl.onkeydown = null;
canvas.setReadonly(false);
@@ -4219,34 +4955,57 @@ var PresentationCanvasExtension = class extends CanvasExtension {
this.isPresentationMode = false;
this.presentationUsesFullscreen = false;
}
- nextNode(canvas) {
+ getNextUntraveledEdge(edges) {
var _a;
+ return (_a = edges.filter(
+ (edge) => !this.traveledEdges.includes(edge.getData().id)
+ ).first()) != null ? _a : edges.last();
+ }
+ nextNode(canvas, direction) {
+ var _a, _b, _c, _d;
+ const directionalNavigationEnabled = this.plugin.settings.getSetting("useDirectionalSlideNavigation");
+ if (!directionalNavigationEnabled && direction === "left")
+ return this.previousNode(canvas);
const fromNodeId = this.visitedNodeIds.last();
if (!fromNodeId) return;
const fromNode = canvas.nodes.get(fromNodeId);
if (!fromNode) return;
const outgoingEdges = canvas.getEdgesForNode(fromNode).filter((edge) => edge.from.node.getData().id === fromNodeId);
let toNode = (_a = outgoingEdges.first()) == null ? void 0 : _a.to.node;
- if (outgoingEdges.length > 1) {
- const sortedEdges = outgoingEdges.sort((a, b) => {
- if (!a.label) return 1;
- if (!b.label) return -1;
- return a.label.localeCompare(b.label);
- });
- const traversedEdgesCount = this.visitedNodeIds.filter((visitedNodeId) => visitedNodeId === fromNodeId).length - 1;
- const nextEdge = sortedEdges[traversedEdgesCount];
- toNode = nextEdge.to.node;
+ const sortedOutgoingEdges = outgoingEdges.sort((a, b) => {
+ if (!a.label) return 1;
+ if (!b.label) return -1;
+ return a.label.localeCompare(b.label);
+ });
+ let nextEdge;
+ if (directionalNavigationEnabled && direction) {
+ const directionCompliantEdges = sortedOutgoingEdges.filter((edge) => edge.from.side === direction);
+ nextEdge = this.getNextUntraveledEdge(directionCompliantEdges);
+ toNode = (_b = nextEdge == null ? void 0 : nextEdge.to) == null ? void 0 : _b.node;
+ if (!nextEdge) {
+ const bidirectionalEdges = canvas.getEdgesForNode(fromNode).filter(
+ (edge) => edge.to.node.getData().id === fromNodeId && edge.to.end === "arrow" && edge.to.side === direction
+ );
+ nextEdge = this.getNextUntraveledEdge(bidirectionalEdges);
+ toNode = (_c = nextEdge == null ? void 0 : nextEdge.from) == null ? void 0 : _c.node;
+ }
}
+ if (!nextEdge && outgoingEdges.length > 1) {
+ nextEdge != null ? nextEdge : nextEdge = this.getNextUntraveledEdge(sortedOutgoingEdges);
+ toNode = (_d = nextEdge == null ? void 0 : nextEdge.to) == null ? void 0 : _d.node;
+ }
+ if (nextEdge) this.traveledEdges.push(nextEdge.getData().id);
if (toNode) {
this.visitedNodeIds.push(toNode.getData().id);
- this.animateNodeTransition(canvas, fromNode, toNode);
+ void this.animateNodeTransition(canvas, fromNode, toNode);
} else {
- this.animateNodeTransition(canvas, fromNode, fromNode);
+ void this.animateNodeTransition(canvas, fromNode, fromNode);
}
}
previousNode(canvas) {
const fromNodeId = this.visitedNodeIds.pop();
if (!fromNodeId) return;
+ this.traveledEdges.pop();
const fromNode = canvas.nodes.get(fromNodeId);
if (!fromNode) return;
const toNodeId = this.visitedNodeIds.last();
@@ -4255,7 +5014,7 @@ var PresentationCanvasExtension = class extends CanvasExtension {
toNode = fromNode;
this.visitedNodeIds.push(fromNodeId);
}
- this.animateNodeTransition(canvas, fromNode, toNode);
+ void this.animateNodeTransition(canvas, fromNode, toNode);
}
};
@@ -4296,12 +5055,12 @@ var ZOrderingCanvasExtension = class extends CanvasExtension {
});
}
menu.addItem((item) => {
- item.setTitle("Bring to Front");
+ item.setTitle("Bring to front");
item.setIcon("bring-to-front");
item.onClick(() => this.moveMaxLayers(canvas, nodes, true));
});
menu.addItem((item) => {
- item.setTitle("Send to Back");
+ item.setTitle("Send to back");
item.setIcon("send-to-back");
item.onClick(() => this.moveMaxLayers(canvas, nodes, false));
});
@@ -4433,16 +5192,16 @@ var BetterReadonlyCanvasExtension = class extends CanvasExtension {
createToggle(menuOption, settingKey) {
const toggle = CanvasHelper.createControlMenuButton({
...menuOption,
- callback: () => (async () => {
+ callback: () => void (async () => {
var _a;
const newValue = !this.plugin.settings.getSetting(settingKey);
await this.plugin.settings.setSetting({ [settingKey]: newValue });
- toggle.dataset.toggled = this.plugin.settings.getSetting(settingKey).toString();
+ toggle.dataset.toggled = JSON.stringify(this.plugin.settings.getSetting(settingKey));
(_a = menuOption.callback) == null ? void 0 : _a.call(this);
})()
});
toggle.classList.add("show-while-readonly");
- toggle.dataset.toggled = this.plugin.settings.getSetting(settingKey).toString();
+ toggle.dataset.toggled = JSON.stringify(this.plugin.settings.getSetting(settingKey));
return toggle;
}
updatePopupMenu(canvas) {
@@ -4471,7 +5230,7 @@ var EncapsulateCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(canvas) => !canvas.readonly && canvas.selection.size > 0,
- (canvas) => this.encapsulateSelection(canvas)
+ (canvas) => void this.encapsulateSelection(canvas)
)
});
this.plugin.registerEvent(this.plugin.app.workspace.on(
@@ -4495,7 +5254,7 @@ var EncapsulateCanvasExtension = class extends CanvasExtension {
this.plugin.app,
targetFolderPath,
"canvas"
- ).awaitInput();
+ ).promise;
const newFileData = { nodes: selection.nodes, edges: selection.edges };
const file = await this.plugin.app.vault.create(targetFilePath, JSON.stringify(newFileData, null, 2));
for (const nodeData of selection.nodes) {
@@ -4514,7 +5273,45 @@ var EncapsulateCanvasExtension = class extends CanvasExtension {
};
// src/canvas-extensions/commands-canvas-extension.ts
-var import_obsidian14 = require("obsidian");
+var import_obsidian16 = require("obsidian");
+
+// src/canvas-extensions/copy-node-reference-canvas-extension.ts
+var import_obsidian15 = require("obsidian");
+var CopyNodeReferenceCanvasExtension = class _CopyNodeReferenceCanvasExtension extends CanvasExtension {
+ isEnabled() {
+ return "enableSingleNodePopupReferenceCopy";
+ }
+ init() {
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:popup-menu-created",
+ (canvas) => this.onPopupMenuCreated(canvas)
+ ));
+ }
+ onPopupMenuCreated(canvas) {
+ var _a;
+ const popupMenuEl = (_a = canvas == null ? void 0 : canvas.menu) == null ? void 0 : _a.menuEl;
+ if (!popupMenuEl) return;
+ const selectionData = canvas.getSelectionData();
+ if (selectionData.nodes.length !== 1 && selectionData.edges.length === 0) return;
+ const menuOption = {
+ id: "node-popup-menu-option-copy-reference",
+ label: "Copy wikilink to node",
+ icon: "link",
+ callback: () => _CopyNodeReferenceCanvasExtension.copyWikilinkToNode(canvas.view.file, selectionData.nodes[0])
+ };
+ const popupMenuOption = CanvasHelper.createPopupMenuOption(menuOption);
+ CanvasHelper.addPopupMenuOption(canvas, popupMenuOption);
+ }
+ static copyWikilinkToNode(file, nodeData) {
+ const nodeTypeString = TextHelper.toTitleCase(nodeData.type);
+ const wikilink = `[[${file.path}#${nodeData.id}|${file.name} (${nodeTypeString} node)]]`;
+ navigator.clipboard.writeText(wikilink).then(
+ () => new import_obsidian15.Notice("Copied wikilink to node to clipboard.", 2e3)
+ ).catch(() => new import_obsidian15.Notice("Failed to copy wikilink to node to clipboard.", 2e3));
+ }
+};
+
+// src/canvas-extensions/commands-canvas-extension.ts
var DIRECTIONS = ["up", "down", "left", "right"];
var CommandsCanvasExtension = class extends CanvasExtension {
isEnabled() {
@@ -4545,7 +5342,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(canvas) => !canvas.readonly,
- (canvas) => this.createFileNode(canvas)
+ (canvas) => void this.createFileNode(canvas)
)
});
this.plugin.addCommand({
@@ -4585,7 +5382,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
this.plugin,
(canvas) => {
var _a;
- return !canvas.readonly && canvas.selection.size === 1 && ((_a = canvas.selection.values().next().value) == null ? void 0 : _a.getData().type) === "text";
+ return !canvas.readonly && canvas.selection.size === 1 && ((_a = [...canvas.selection][0]) == null ? void 0 : _a.getData().type) === "text";
},
(canvas) => this.cloneNode(canvas, direction)
)
@@ -4686,9 +5483,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
if (!file) return;
const nodeData = canvas.getSelectionData().nodes[0];
if (!nodeData) return;
- const wikilink = `[[${file.path}#${nodeData.id}|${file.name} (${TextHelper.toTitleCase(nodeData.type)} node)]]`;
- navigator.clipboard.writeText(wikilink);
- new import_obsidian14.Notice("Copied wikilink to node to clipboard.", 2e3);
+ CopyNodeReferenceCanvasExtension.copyWikilinkToNode(file, nodeData);
}
)
});
@@ -4720,7 +5515,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
if (!nodeOutgoingLinks) continue;
for (const nodeOutgoingLink of nodeOutgoingLinks) {
const resolvedLink = this.plugin.app.metadataCache.getFirstLinkpathDest(nodeOutgoingLink.link, relativeFile.path);
- if (!(resolvedLink instanceof import_obsidian14.TFile)) continue;
+ if (!(resolvedLink instanceof import_obsidian16.TFile)) continue;
outgoingLinks.add(resolvedLink);
}
}
@@ -4731,7 +5526,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
}
for (const outgoingLink of outgoingLinks) {
if (existingFileNodes.has(outgoingLink)) continue;
- this.createFileNode(canvas, outgoingLink);
+ void this.createFileNode(canvas, outgoingLink);
}
}
)
@@ -4756,7 +5551,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
if (!nodeBacklinks) continue;
for (const nodeBacklink of nodeBacklinks.data.keys()) {
const resolvedLink = this.plugin.app.metadataCache.getFirstLinkpathDest(nodeBacklink, file.path);
- if (!(resolvedLink instanceof import_obsidian14.TFile)) continue;
+ if (!(resolvedLink instanceof import_obsidian16.TFile)) continue;
backlinks.add(resolvedLink);
}
}
@@ -4765,7 +5560,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
if (!canvasBacklinks) return;
for (const canvasBacklink of canvasBacklinks.data.keys()) {
const resolvedLink = this.plugin.app.metadataCache.getFirstLinkpathDest(canvasBacklink, canvasFile.path);
- if (!(resolvedLink instanceof import_obsidian14.TFile)) continue;
+ if (!(resolvedLink instanceof import_obsidian16.TFile)) continue;
backlinks.add(resolvedLink);
}
}
@@ -4776,7 +5571,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
}
for (const backlink of backlinks) {
if (existingFileNodes.has(backlink)) continue;
- this.createFileNode(canvas, backlink);
+ void this.createFileNode(canvas, backlink);
}
}
)
@@ -4790,11 +5585,11 @@ var CommandsCanvasExtension = class extends CanvasExtension {
async createFileNode(canvas, file) {
const size = canvas.config.defaultFileNodeDimensions;
const pos = CanvasHelper.getCenterCoordinates(canvas, size);
- file != null ? file : file = await new FileSelectModal(this.plugin.app, void 0, true).awaitInput();
+ file != null ? file : file = await new FileSelectModal(this.plugin.app, void 0, true).promise;
canvas.createFileNode({ pos, size, file });
}
cloneNode(canvas, cloneDirection) {
- const sourceNode = canvas.selection.values().next().value;
+ const sourceNode = [...canvas.selection][0];
if (!sourceNode) return;
const sourceNodeData = sourceNode.getData();
const nodeMargin = this.plugin.settings.getSetting("cloneNodeMargin");
@@ -4821,7 +5616,7 @@ var CommandsCanvasExtension = class extends CanvasExtension {
canvas.zoomToBbox(clonedNode.getBBox());
}
expandNode(canvas, expandDirection) {
- const node = canvas.selection.values().next().value;
+ const node = [...canvas.selection][0];
if (!node) return;
const expandNodeStepSize = this.plugin.settings.getSetting("expandNodeStepSize");
const expand = {
@@ -4954,11 +5749,11 @@ var AutoResizeNodeCanvasExtension = class extends CanvasExtension {
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-editing-state-changed",
- (canvas, node, editing) => this.onNodeEditingStateChanged(canvas, node, editing)
+ (canvas, node, editing) => void this.onNodeEditingStateChanged(canvas, node, editing)
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-text-content-changed",
- (canvas, node, viewUpdate) => this.onNodeTextContentChanged(canvas, node, viewUpdate.view.dom)
+ (canvas, node, viewUpdate) => void this.onNodeTextContentChanged(canvas, node, viewUpdate.view.dom)
));
}
isValidNodeType(nodeData) {
@@ -5005,14 +5800,14 @@ var AutoResizeNodeCanvasExtension = class extends CanvasExtension {
if (!this.canBeResized(node)) return;
await sleep(10);
if (editing) {
- this.onNodeTextContentChanged(_canvas, node, node.child.editMode.cm.dom);
+ void this.onNodeTextContentChanged(_canvas, node, node.child.editMode.cm.dom);
return;
}
const renderedMarkdownContainer = node.nodeEl.querySelector(".markdown-preview-view.markdown-rendered");
if (!renderedMarkdownContainer) return;
- renderedMarkdownContainer.style.height = "min-content";
+ renderedMarkdownContainer.setCssStyles({ height: "min-content" });
const newHeight = renderedMarkdownContainer.clientHeight;
- renderedMarkdownContainer.style.removeProperty("height");
+ renderedMarkdownContainer.setCssStyles({ height: "" });
this.setNodeHeight(node, newHeight);
}
async onNodeTextContentChanged(_canvas, node, dom) {
@@ -5020,9 +5815,9 @@ var AutoResizeNodeCanvasExtension = class extends CanvasExtension {
if (!this.canBeResized(node)) return;
const cmScroller = dom.querySelector(".cm-scroller");
if (!cmScroller) return;
- cmScroller.style.height = "min-content";
+ cmScroller.setCssStyles({ height: "min-content" });
const newHeight = cmScroller.scrollHeight;
- cmScroller.style.removeProperty("height");
+ cmScroller.setCssStyles({ height: "" });
this.setNodeHeight(node, newHeight);
}
setNodeHeight(node, height) {
@@ -5033,6 +5828,7 @@ var AutoResizeNodeCanvasExtension = class extends CanvasExtension {
height = Math.max(height, node.canvas.config.minContainerDimension);
if (this.plugin.settings.getSetting("autoResizeNodeSnapToGrid"))
height = Math.ceil(height / CanvasHelper.GRID_SIZE) * CanvasHelper.GRID_SIZE;
+ if (height === nodeData.height) return;
node.setData({
...nodeData,
height
@@ -5041,7 +5837,7 @@ var AutoResizeNodeCanvasExtension = class extends CanvasExtension {
};
// src/canvas-extensions/portals-canvas-extension.ts
-var import_obsidian15 = require("obsidian");
+var import_obsidian17 = require("obsidian");
var PORTAL_ID_DELIMITER = "||";
var PORTAL_ID_PREFIX = `acportal${PORTAL_ID_DELIMITER}`;
var PORTAL_PADDING = 50;
@@ -5101,6 +5897,9 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
this.onSetData(canvas, data).then((newData) => {
if (newData.nodes.length === data.nodes.length && newData.edges.length === data.edges.length) return;
setData(newData);
+ }).catch((error) => {
+ console.error("Error loading portal data:", error);
+ new import_obsidian17.Notice("An error occurred while loading portal data. Please check console for details.");
});
}
));
@@ -5180,13 +5979,13 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
onEdgeConnectionTryDraggingBefore(_canvas, edge, _event, cancelRef) {
if (!_PortalsCanvasExtension.isPortalElement(edge.id)) return;
cancelRef.value = true;
- new import_obsidian15.Notice("Updating edges from portals is not supported yet.");
+ new import_obsidian17.Notice("Updating edges from portals is not supported yet.");
}
onEdgeConnectionDraggingAfter(canvas, edge, _event, _newEdge, _side, _previousEnds) {
if (_PortalsCanvasExtension.isPortalElement(edge.id)) return;
if (!_PortalsCanvasExtension.isPortalElement(edge.from.node.id) || !_PortalsCanvasExtension.isPortalElement(edge.to.node.id)) return;
canvas.removeEdge(edge);
- new import_obsidian15.Notice("Creating edges with both ends in portals are not supported yet.");
+ new import_obsidian17.Notice("Creating edges with both ends in portals are not supported yet.");
}
onPopupMenu(canvas) {
if (canvas.readonly) return;
@@ -5231,7 +6030,7 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
data.nodes = data.nodes.filter((nodeData) => !_PortalsCanvasExtension.isPortalElement(nodeData.id));
for (const nodeData of data.nodes) delete nodeData.isPortalLoaded;
const portalsIdMap = new Map(
- data.nodes.filter((nodeData) => nodeData.portal).map((nodeData) => [nodeData.id, nodeData])
+ data.nodes.filter((nodeData) => nodeData.type === "file").map((nodeData) => [nodeData.id, nodeData])
);
data.edges = data.edges.filter((edgeData) => {
var _a;
@@ -5273,7 +6072,7 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
if (nestedPortalFiles.has(portalNodeData.file)) return addedData;
nestedPortalFiles.add(portalNodeData.file);
const portalFile = this.plugin.app.vault.getAbstractFileByPath(portalNodeData.file);
- if (!(portalFile instanceof import_obsidian15.TFile) || portalFile.extension !== "canvas") return addedData;
+ if (!(portalFile instanceof import_obsidian17.TFile) || portalFile.extension !== "canvas") return addedData;
const portalFileDataString = await this.plugin.app.vault.cachedRead(portalFile);
if (portalFileDataString === "") return addedData;
const portalFileData = JSON.parse(portalFileDataString);
@@ -5303,8 +6102,12 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
let newEdgeId = `${portalNodeData.id}${PORTAL_ID_DELIMITER}${edgeDataFromPortal.id}`;
if (!newEdgeId.startsWith(PORTAL_ID_PREFIX))
newEdgeId = PORTAL_ID_PREFIX + newEdgeId;
- const fromNodeId = `${portalNodeData.id}${PORTAL_ID_DELIMITER}${edgeDataFromPortal.fromNode}`;
- const toNodeId = `${portalNodeData.id}${PORTAL_ID_DELIMITER}${edgeDataFromPortal.toNode}`;
+ let fromNodeId = `${portalNodeData.id}${PORTAL_ID_DELIMITER}${edgeDataFromPortal.fromNode}`;
+ if (!fromNodeId.startsWith(PORTAL_ID_PREFIX))
+ fromNodeId = PORTAL_ID_PREFIX + fromNodeId;
+ let toNodeId = `${portalNodeData.id}${PORTAL_ID_DELIMITER}${edgeDataFromPortal.toNode}`;
+ if (!toNodeId.startsWith(PORTAL_ID_PREFIX))
+ toNodeId = PORTAL_ID_PREFIX + toNodeId;
addedData.edges.push({
...edgeDataFromPortal,
id: newEdgeId,
@@ -5360,7 +6163,7 @@ var PortalsCanvasExtension = class _PortalsCanvasExtension extends CanvasExtensi
};
// src/canvas-extensions/frontmatter-control-button-canvas-extension.ts
-var import_obsidian16 = require("obsidian");
+var import_obsidian18 = require("obsidian");
var FrontmatterControlButtonCanvasExtension = class extends CanvasExtension {
isEnabled() {
return "canvasMetadataCompatibilityEnabled";
@@ -5386,15 +6189,15 @@ var FrontmatterControlButtonCanvasExtension = class extends CanvasExtension {
var _a2;
const propertiesPlugin = this.plugin.app.internalPlugins.plugins["properties"];
if (!(propertiesPlugin == null ? void 0 : propertiesPlugin._loaded)) {
- new import_obsidian16.Notice(`Core plugin "Properties view" was not found or isn't enabled. Enable it and restart Obsidian.`);
+ new import_obsidian18.Notice(`Core plugin "Properties view" was not found or isn't enabled. Enable it and restart Obsidian.`);
return;
}
let propertiesLeaf = (_a2 = this.plugin.app.workspace.getLeavesOfType("file-properties").first()) != null ? _a2 : null;
if (!propertiesLeaf) {
propertiesLeaf = this.plugin.app.workspace.getRightLeaf(false);
- propertiesLeaf == null ? void 0 : propertiesLeaf.setViewState({ type: "file-properties" });
+ void (propertiesLeaf == null ? void 0 : propertiesLeaf.setViewState({ type: "file-properties" }));
}
- if (propertiesLeaf) this.plugin.app.workspace.revealLeaf(propertiesLeaf);
+ if (propertiesLeaf) void this.plugin.app.workspace.revealLeaf(propertiesLeaf);
}
})
);
@@ -5418,7 +6221,7 @@ var BetterDefaultSettingsCanvasExtension = class extends CanvasExtension {
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:double-click",
- (canvas, event, preventDefault) => this.onDoubleClick(canvas, event, preventDefault)
+ (canvas, event, preventDefault) => void this.onDoubleClick(canvas, event, preventDefault)
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-created",
@@ -5429,7 +6232,7 @@ var BetterDefaultSettingsCanvasExtension = class extends CanvasExtension {
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:edge-created",
- (canvas, edge) => this.applyDefaultEdgeStyles(canvas, edge)
+ (canvas, edge) => void this.applyDefaultEdgeStyles(canvas, edge)
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-resized",
@@ -5456,7 +6259,7 @@ var BetterDefaultSettingsCanvasExtension = class extends CanvasExtension {
const pos = canvas.posFromEvt(event);
switch (this.plugin.settings.getSetting("nodeTypeOnDoubleClick")) {
case "file": {
- const file = await new FileSelectModal(this.plugin.app, void 0, true).awaitInput();
+ const file = await new FileSelectModal(this.plugin.app, void 0, true).promise;
canvas.createFileNode({
pos,
position: "center",
@@ -5541,7 +6344,6 @@ var BetterDefaultSettingsCanvasExtension = class extends CanvasExtension {
// src/canvas-extensions/color-palette-canvas-extension.ts
var DEFAULT_COLORS_COUNT = 6;
-var CUSTOM_COLORS_MOD_STYLES_ID = "mod-custom-colors";
var ColorPaletteCanvasExtension = class extends CanvasExtension {
constructor() {
super(...arguments);
@@ -5551,6 +6353,7 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
return true;
}
init() {
+ this.styleSheets = /* @__PURE__ */ new Map();
this.plugin.registerEvent(this.plugin.app.workspace.on(
"window-open",
(_win, _window) => this.updateCustomColorModStyleClasses()
@@ -5566,23 +6369,27 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
));
this.plugin.register(() => {
var _a;
- return (_a = this.observer) == null ? void 0 : _a.disconnect();
+ (_a = this.observer) == null ? void 0 : _a.disconnect();
+ for (const [doc, sheet] of this.styleSheets) {
+ doc.adoptedStyleSheets = doc.adoptedStyleSheets.filter((s) => s !== sheet);
+ }
+ this.styleSheets.clear();
});
}
updateCustomColorModStyleClasses() {
- var _a;
- const customCss = this.getCustomColors().map((colorId) => `
- .mod-canvas-color-${colorId} {
- --canvas-color: var(--canvas-color-${colorId});
- }
- `).join("");
+ const customCss = this.getCustomColors().map(
+ (colorId) => `.mod-canvas-color-${colorId} { --canvas-color: var(--canvas-color-${colorId}); }`
+ ).join("\n");
for (const win of this.plugin.windowsManager.windows) {
- const doc = win.document;
- (_a = doc.getElementById(CUSTOM_COLORS_MOD_STYLES_ID)) == null ? void 0 : _a.remove();
- const customColorModStyle = doc.createElement("style");
- customColorModStyle.id = CUSTOM_COLORS_MOD_STYLES_ID;
- doc.head.appendChild(customColorModStyle);
- customColorModStyle.textContent = customCss;
+ const doc = win.activeDocument;
+ if (!doc.defaultView) continue;
+ let sheet = this.styleSheets.get(doc);
+ if (!sheet) {
+ sheet = new doc.defaultView.CSSStyleSheet();
+ doc.adoptedStyleSheets = [...doc.adoptedStyleSheets, sheet];
+ this.styleSheets.set(doc, sheet);
+ }
+ sheet.replaceSync(customCss);
}
}
patchColorSelection(canvas) {
@@ -5590,8 +6397,8 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
this.observer = new MutationObserver((mutations) => {
const colorMenuOpened = mutations.some(
(mutation) => Object.values(mutation.addedNodes).some(
- (node) => node instanceof HTMLElement && node.classList.contains("canvas-submenu") && Object.values(node.childNodes).some(
- (node2) => node2 instanceof HTMLElement && node2.classList.contains("canvas-color-picker-item")
+ (node) => node.instanceOf(HTMLElement) && node.classList.contains("canvas-submenu") && Object.values(node.childNodes).some(
+ (node2) => node2.instanceOf(HTMLElement) && node2.classList.contains("canvas-color-picker-item")
)
)
);
@@ -5608,7 +6415,7 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
this.observer.observe(canvas.menu.menuEl, { childList: true });
}
createColorMenuItem(canvas, colorId) {
- const menuItem = document.createElement("div");
+ const menuItem = activeWindow.createDiv();
menuItem.classList.add("canvas-color-picker-item");
menuItem.classList.add(`mod-canvas-color-${colorId}`);
menuItem.addEventListener("click", () => {
@@ -5622,7 +6429,7 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
}
getCustomColors() {
const colors = [];
- const style = getComputedStyle(document.body);
+ const style = getComputedStyle(activeDocument.body);
let colorIndex = DEFAULT_COLORS_COUNT + 1;
while (style.getPropertyValue(`--canvas-color-${colorIndex}`)) {
colors.push(colorIndex.toString());
@@ -5633,7 +6440,7 @@ var ColorPaletteCanvasExtension = class extends CanvasExtension {
};
// src/canvas-extensions/collapsible-groups-canvas-extension.ts
-var import_obsidian17 = require("obsidian");
+var import_obsidian19 = require("obsidian");
var CollapsibleGroupsCanvasExtension = class extends CanvasExtension {
isEnabled() {
return "collapsibleGroupsFeatureEnabled";
@@ -5664,8 +6471,11 @@ var CollapsibleGroupsCanvasExtension = class extends CanvasExtension {
name: "Toggle collapse group",
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
- (canvas) => canvas.selection.size === 1 && canvas.selection.values().next().value.getData().type === "group",
- (canvas) => this.toggleCollapseGroup(canvas, canvas.selection.values().next().value)
+ (canvas) => {
+ var _a;
+ return canvas.selection.size === 1 && ((_a = [...canvas.selection][0]) == null ? void 0 : _a.getData().type) === "group";
+ },
+ (canvas) => this.toggleCollapseGroup(canvas, [...canvas.selection][0])
)
});
}
@@ -5679,9 +6489,9 @@ var CollapsibleGroupsCanvasExtension = class extends CanvasExtension {
const groupNodeData = groupNode.getData();
if (groupNodeData.type !== "group") return;
(_a = groupNode.collapseEl) == null ? void 0 : _a.remove();
- const collapseEl = document.createElement("span");
+ const collapseEl = activeWindow.createDiv();
collapseEl.className = "collapse-button";
- (0, import_obsidian17.setIcon)(collapseEl, groupNodeData.collapsed ? "plus-circle" : "minus-circle");
+ (0, import_obsidian19.setIcon)(collapseEl, groupNodeData.collapsed ? "plus-circle" : "minus-circle");
collapseEl.onclick = () => this.toggleCollapseGroup(canvas, groupNode);
groupNode.collapseEl = collapseEl;
(_b = groupNode.labelEl) == null ? void 0 : _b.insertAdjacentElement("afterend", collapseEl);
@@ -5920,19 +6730,23 @@ var FlipEdgeCanvasExtension = class extends CanvasExtension {
edgeDirectionButton.addEventListener("click", () => this.onEdgeDirectionDropdownCreated(canvas));
}
onEdgeDirectionDropdownCreated(canvas) {
- const dropdownEl = document.body.querySelector("div.menu");
- if (!dropdownEl) return;
+ const dropdownScrollerEl = activeDocument.body.querySelector("div.menu .menu-scroll");
+ if (!dropdownScrollerEl) return;
const separatorEl = CanvasHelper.createDropdownSeparatorElement();
- dropdownEl.appendChild(separatorEl);
+ dropdownScrollerEl.appendChild(separatorEl);
+ const groupEl = dropdownScrollerEl.createDiv();
+ groupEl.classList.add("menu-group");
const flipEdgeButton = CanvasHelper.createDropdownOptionElement({
icon: "flip-horizontal-2",
label: "Flip Edge",
callback: () => this.flipEdge(canvas)
});
- dropdownEl.appendChild(flipEdgeButton);
+ groupEl.appendChild(flipEdgeButton);
}
flipEdge(canvas) {
- const selectedEdges = [...canvas.selection].filter((item) => item.path !== void 0);
+ const selectedEdges = [...canvas.selection].filter(
+ (item) => item.path !== void 0
+ );
if (selectedEdges.length === 0) return;
for (const edge of selectedEdges) {
edge.update({
@@ -6767,7 +7581,7 @@ async function toPng(node, options = {}) {
}
// src/canvas-extensions/export-canvas-extension.ts
-var import_obsidian18 = require("obsidian");
+var import_obsidian20 = require("obsidian");
var MAX_ALLOWED_LOADING_TIME = 1e4;
var ExportCanvasExtension = class extends CanvasExtension {
isEnabled() {
@@ -6786,7 +7600,7 @@ var ExportCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(canvas) => canvas.nodes.size > 0,
- (canvas) => this.showExportImageSettingsModal(canvas, null)
+ (canvas) => void this.showExportImageSettingsModal(canvas, null)
)
});
this.plugin.addCommand({
@@ -6795,7 +7609,7 @@ var ExportCanvasExtension = class extends CanvasExtension {
checkCallback: CanvasHelper.canvasCommand(
this.plugin,
(canvas) => canvas.selection.size > 0,
- (canvas) => this.showExportImageSettingsModal(
+ (canvas) => void this.showExportImageSettingsModal(
canvas,
canvas.getSelectionData().nodes.map((nodeData) => canvas.nodes.get(nodeData.id)).filter((node) => node !== void 0)
)
@@ -6803,7 +7617,7 @@ var ExportCanvasExtension = class extends CanvasExtension {
});
}
async showExportImageSettingsModal(canvas, nodesToExport) {
- const modal = new import_obsidian18.Modal(this.plugin.app);
+ const modal = new import_obsidian20.Modal(this.plugin.app);
modal.setTitle("Export image settings");
let pixelRatioSetting = null;
let noFontExportSetting = null;
@@ -6821,7 +7635,7 @@ var ExportCanvasExtension = class extends CanvasExtension {
}
};
let svg = false;
- new import_obsidian18.Setting(modal.contentEl).setName("Export file format").setDesc("Choose the file format to export the canvas as.").addDropdown(
+ new import_obsidian20.Setting(modal.contentEl).setName("Export file format").setDesc("Choose the file format to export the canvas as.").addDropdown(
(dropdown) => dropdown.addOptions({
png: "PNG",
svg: "SVG"
@@ -6831,36 +7645,36 @@ var ExportCanvasExtension = class extends CanvasExtension {
})
);
let pixelRatioFactor = 1;
- pixelRatioSetting = new import_obsidian18.Setting(modal.contentEl).setName("Pixel ratio").setDesc("Higher pixel ratios result in higher resolution images but also larger file sizes.").addSlider(
- (slider) => slider.setDynamicTooltip().setLimits(0.2, 5, 0.1).setValue(pixelRatioFactor).onChange((value) => pixelRatioFactor = value)
+ pixelRatioSetting = new import_obsidian20.Setting(modal.contentEl).setName("Pixel ratio").setDesc("Higher pixel ratios result in higher resolution images but also larger file sizes.").addSlider(
+ (slider) => slider.setLimits(0.2, 5, 0.1).setValue(pixelRatioFactor).onChange((value) => pixelRatioFactor = value)
);
let noFontExport = true;
- noFontExportSetting = new import_obsidian18.Setting(modal.contentEl).setName("Skip font export").setDesc("This will not include the fonts in the exported SVG. This will make the SVG file smaller.").addToggle(
+ noFontExportSetting = new import_obsidian20.Setting(modal.contentEl).setName("Skip font export").setDesc("This will not include the fonts in the exported SVG. This will make the SVG file smaller.").addToggle(
(toggle) => toggle.setValue(noFontExport).onChange((value) => noFontExport = value)
);
- let theme = document.body.classList.contains("theme-dark") ? "dark" : "light";
- new import_obsidian18.Setting(modal.contentEl).setName("Theme").setDesc("The theme used for the export.").addDropdown(
+ let theme = activeDocument.body.classList.contains("theme-dark") ? "dark" : "light";
+ new import_obsidian20.Setting(modal.contentEl).setName("Theme").setDesc("The theme used for the export.").addDropdown(
(dropdown) => dropdown.addOptions({
light: "Light",
dark: "Dark"
}).setValue(theme).onChange((value) => theme = value)
);
let watermark = false;
- new import_obsidian18.Setting(modal.contentEl).setName("Show logo").setDesc("This will add an Obsidian + Advanced Canvas logo to the bottom left.").addToggle(
+ new import_obsidian20.Setting(modal.contentEl).setName("Show logo").setDesc("This will add an Obsidian + Advanced Canvas logo to the bottom left.").addToggle(
(toggle) => toggle.setValue(watermark).onChange((value) => watermark = value)
);
let garbledText = false;
- new import_obsidian18.Setting(modal.contentEl).setName("Privacy mode").setDesc("This will obscure any text on your canvas.").addToggle(
+ new import_obsidian20.Setting(modal.contentEl).setName("Privacy mode").setDesc("This will obscure any text on your canvas.").addToggle(
(toggle) => toggle.setValue(garbledText).onChange((value) => garbledText = value)
);
let transparentBackground = false;
- transparentBackgroundSetting = new import_obsidian18.Setting(modal.contentEl).setName("Transparent background").setDesc("This will make the background of the image transparent.").addToggle(
+ transparentBackgroundSetting = new import_obsidian20.Setting(modal.contentEl).setName("Transparent background").setDesc("This will make the background of the image transparent.").addToggle(
(toggle) => toggle.setValue(transparentBackground).onChange((value) => transparentBackground = value)
);
- new import_obsidian18.Setting(modal.contentEl).addButton(
+ new import_obsidian20.Setting(modal.contentEl).addButton(
(button) => button.setButtonText("Save").setCta().onClick(async () => {
modal.close();
- this.exportImage(
+ await this.exportImage(
canvas,
nodesToExport,
svg,
@@ -6878,10 +7692,10 @@ var ExportCanvasExtension = class extends CanvasExtension {
}
async exportImage(canvas, nodesToExport, svg, pixelRatioFactor, noFontExport, theme, watermark, garbledText, transparentBackground) {
var _a, _b, _c;
- const cachedTheme = document.body.classList.contains("theme-dark") ? "dark" : "light";
+ const cachedTheme = activeDocument.body.classList.contains("theme-dark") ? "dark" : "light";
if (theme !== cachedTheme) {
- document.body.classList.toggle("theme-dark", theme === "dark");
- document.body.classList.toggle("theme-light", theme === "light");
+ activeDocument.body.classList.toggle("theme-dark", theme === "dark");
+ activeDocument.body.classList.toggle("theme-light", theme === "light");
}
const isWholeCanvas = nodesToExport === null;
if (!nodesToExport) nodesToExport = [...canvas.nodes.values()];
@@ -6891,12 +7705,12 @@ var ExportCanvasExtension = class extends CanvasExtension {
return nodesToExportIds.includes(edgeData.fromNode) && nodesToExportIds.includes(edgeData.toNode);
});
const backgroundColor = transparentBackground ? void 0 : window.getComputedStyle(canvas.canvasEl).getPropertyValue("--canvas-background");
- new import_obsidian18.Notice("Exporting the canvas. Please wait...");
+ new import_obsidian20.Notice("Exporting the canvas. Please wait...");
const interactionBlocker = this.getInteractionBlocker();
- document.body.appendChild(interactionBlocker);
+ activeDocument.body.appendChild(interactionBlocker);
canvas.screenshotting = true;
canvas.canvasEl.classList.add("is-exporting");
- if (garbledText) canvas.canvasEl.classList.add("is-text-garbled");
+ if (garbledText) canvas.wrapperEl.classList.add("is-text-garbled");
let watermarkEl = null;
const cachedSelection = new Set(canvas.selection);
canvas.deselectAll();
@@ -6949,7 +7763,6 @@ var ExportCanvasExtension = class extends CanvasExtension {
while (unloadedNodes.length > 0 && performance.now() - startTimestamp < MAX_ALLOWED_LOADING_TIME) {
await sleep(10);
unloadedNodes = nodesToExport.filter((node) => node.initialized === false || node.isContentMounted === false);
- console.info(`Waiting for ${unloadedNodes.length} nodes to finish loading...`);
}
if (unloadedNodes.length === 0) {
const nodeElements = nodesToExport.map((node) => node.nodeEl);
@@ -6987,51 +7800,45 @@ var ExportCanvasExtension = class extends CanvasExtension {
let baseFilename = `${((_c = canvas.view.file) == null ? void 0 : _c.basename) || "Untitled"}`;
if (!isWholeCanvas) baseFilename += ` - Selection of ${nodesToExport.length}`;
const filename = `${baseFilename}.${svg ? "svg" : "png"}`;
- const downloadEl = document.createElement("a");
+ const downloadEl = activeWindow.createEl("a");
downloadEl.href = imageDataUri;
downloadEl.download = filename;
downloadEl.click();
} else {
const ERROR_MESSAGE = "Export cancelled: Nodes did not finish loading in time";
- new import_obsidian18.Notice(ERROR_MESSAGE);
+ new import_obsidian20.Notice(ERROR_MESSAGE);
console.error(ERROR_MESSAGE);
}
} finally {
canvas.screenshotting = false;
canvas.canvasEl.classList.remove("is-exporting");
- if (garbledText) canvas.canvasEl.classList.remove("is-text-garbled");
+ if (garbledText) canvas.wrapperEl.classList.remove("is-text-garbled");
if (watermarkEl) canvas.canvasEl.removeChild(watermarkEl);
canvas.updateSelection(() => canvas.selection = cachedSelection);
canvas.setViewport(cachedViewport.x, cachedViewport.y, cachedViewport.zoom);
interactionBlocker.remove();
if (theme !== cachedTheme) {
- document.body.classList.toggle("theme-dark", cachedTheme === "dark");
- document.body.classList.toggle("theme-light", cachedTheme === "light");
+ activeDocument.body.classList.toggle("theme-dark", cachedTheme === "dark");
+ activeDocument.body.classList.toggle("theme-light", cachedTheme === "light");
}
}
}
getInteractionBlocker() {
- const interactionBlocker = document.createElement("div");
+ const interactionBlocker = activeWindow.createDiv();
interactionBlocker.classList.add("progress-bar-container");
- const progressBar = document.createElement("div");
+ const progressBar = interactionBlocker.createDiv();
progressBar.classList.add("progress-bar");
- interactionBlocker.appendChild(progressBar);
- const progressBarMessage = document.createElement("div");
+ const progressBarMessage = progressBar.createDiv();
progressBarMessage.classList.add("progress-bar-message", "u-center-text");
progressBarMessage.innerText = "Generating image...";
- progressBar.appendChild(progressBarMessage);
- const progressBarIndicator = document.createElement("div");
+ const progressBarIndicator = progressBar.createDiv();
progressBarIndicator.classList.add("progress-bar-indicator");
- progressBar.appendChild(progressBarIndicator);
- const progressBarLine = document.createElement("div");
+ const progressBarLine = progressBarIndicator.createDiv();
progressBarLine.classList.add("progress-bar-line");
- progressBarIndicator.appendChild(progressBarLine);
- const progressBarSublineIncrease = document.createElement("div");
+ const progressBarSublineIncrease = progressBarIndicator.createDiv();
progressBarSublineIncrease.classList.add("progress-bar-subline", "mod-increase");
- progressBarIndicator.appendChild(progressBarSublineIncrease);
- const progressBarSublineDecrease = document.createElement("div");
+ const progressBarSublineDecrease = progressBarIndicator.createDiv();
progressBarSublineDecrease.classList.add("progress-bar-subline", "mod-decrease");
- progressBarIndicator.appendChild(progressBarSublineDecrease);
return interactionBlocker;
}
getWatermark(bbox) {
@@ -7044,7 +7851,7 @@ var ExportCanvasExtension = class extends CanvasExtension {
y: bboxWidth * 0.014
};
bbox.maxY += height + watermarkPadding.y;
- const watermarkEl = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+ const watermarkEl = activeWindow.createSvg("svg");
watermarkEl.id = "watermark-ac";
watermarkEl.style.transform = `translate(${bbox.minX + watermarkPadding.x}px, ${bbox.maxY - height - watermarkPadding.y}px)`;
watermarkEl.setAttrs({
@@ -7140,10 +7947,10 @@ var FloatingEdgeCanvasExtension = class extends CanvasExtension {
node.nodeEl.classList.toggle("hovering-floating-edge-zone", hovering);
}
};
- document.addEventListener("pointermove", this.onPointerMove);
+ activeDocument.addEventListener("pointermove", this.onPointerMove);
}
onEdgeStoppedDragging(_canvas, edge, event, _newEdge, side) {
- document.removeEventListener("pointermove", this.onPointerMove);
+ activeDocument.removeEventListener("pointermove", this.onPointerMove);
const dropZoneNode = side === "from" ? edge.from.node : edge.to.node;
const floatingEdgeDropZone = this.getFloatingEdgeDropZoneForNode(dropZoneNode);
const wasDroppedInFloatingEdgeDropZone = this.plugin.settings.getSetting("allowFloatingEdgeCreation") ? BBoxHelper.insideBBox({ x: event.clientX, y: event.clientY }, floatingEdgeDropZone, true) : false;
@@ -7200,6 +8007,203 @@ var EdgeHighlightCanvasExtension = class extends CanvasExtension {
}
};
+// src/canvas-extensions/reading-mode-fix-canvas-extension.ts
+var ReadingModeFixCanvasExtension = class extends CanvasExtension {
+ constructor() {
+ super(...arguments);
+ this.hookedRenderers = /* @__PURE__ */ new WeakSet();
+ }
+ isEnabled() {
+ return "readingModeFixEnabled";
+ }
+ init() {
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:node-rendered",
+ (_canvas, node) => this.updateNodeRenderer(node)
+ ));
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:node-editing-state-changed",
+ (_canvas, node, isEditing) => {
+ if (isEditing) return;
+ this.updateNodeRenderer(node);
+ }
+ ));
+ }
+ updateNodeRenderer(node) {
+ var _a, _b;
+ const renderer = (_b = (_a = node.child) == null ? void 0 : _a.previewMode) == null ? void 0 : _b.renderer;
+ if (!renderer) return;
+ if (this.hookedRenderers.has(renderer)) return;
+ this.hookedRenderers.add(renderer);
+ renderer.onRendered(() => {
+ var _a2;
+ let text = (_a2 = renderer.text) != null ? _a2 : "";
+ text = text.replaceAll(' \n', "\n");
+ text = text.replaceAll("\n", ' \n');
+ renderer.set(text);
+ });
+ }
+};
+
+// src/canvas-extensions/pdf-annotation-canvas-extension.ts
+var import_obsidian21 = require("obsidian");
+var PINNED_PARAM = "pinned=true";
+var PdfAnnotationCanvasExtension = class extends CanvasExtension {
+ isEnabled() {
+ return "pdfAnnotationFeatureEnabled";
+ }
+ init() {
+ this.plugin.register(this.patchPdfEmbed());
+ this.plugin.addCommand({
+ id: "pin-pdf-page",
+ name: "Pin PDF page",
+ checkCallback: CanvasHelper.canvasCommand(
+ this.plugin,
+ (canvas) => {
+ const selection = canvas.getSelectionData();
+ const nodeData = selection.nodes.first();
+ if (!nodeData) return false;
+ return selection.nodes.length === 1 && nodeData.type === "file" && nodeData.file.endsWith(".pdf") && !this.isSubpathPinned(nodeData.subpath);
+ },
+ (canvas) => {
+ var _a;
+ const nodeId = (_a = canvas.getSelectionData().nodes.first()) == null ? void 0 : _a.id;
+ if (!nodeId) return;
+ const node = canvas.nodes.get(nodeId);
+ if (!node) return;
+ this.pinPdfPage(node);
+ }
+ )
+ });
+ this.plugin.addCommand({
+ id: "annotate-pdf",
+ name: "Insert PDF for annotation",
+ checkCallback: CanvasHelper.canvasCommand(
+ this.plugin,
+ (canvas) => !canvas.readonly,
+ async (canvas) => {
+ const file = await new FileSelectModal(this.plugin.app, /^pdf$/).promise;
+ if (!file) return;
+ void this.insertPdfPages(canvas, file);
+ }
+ )
+ });
+ }
+ patchPdfEmbed() {
+ const embedByExtension = this.plugin.app.embedRegistry.embedByExtension;
+ const originalPdfEmbed = embedByExtension["pdf"];
+ if (!originalPdfEmbed) {
+ console.error("Failed to patch PDF embed: original embed function not found.");
+ return () => {
+ };
+ }
+ const that = this;
+ embedByExtension["pdf"] = function(context, file, subpath) {
+ if (that.isSubpathPinned(subpath)) {
+ const view = context.app.workspace.getActiveFileView();
+ return new PdfPageEmbedComponent(that.plugin, view, context, file, subpath);
+ }
+ return invoke(originalPdfEmbed, this, context, file, subpath);
+ };
+ return () => {
+ embedByExtension["pdf"] = originalPdfEmbed;
+ };
+ }
+ async insertPdfPages(canvas, file) {
+ if (!window.pdfjsLib) await (0, import_obsidian21.loadPdfJs)();
+ const data = await this.plugin.app.vault.readBinary(file);
+ const pdf = await window.pdfjsLib.getDocument({ data }).promise;
+ const pdfPageSpacing = this.plugin.settings.getSetting("pdfPagesGap");
+ const pdfPageScale = this.plugin.settings.getSetting("pdfPageSizeFactor");
+ const pos = CanvasHelper.getCenterCoordinates(canvas, { width: 0, height: 0 });
+ let yPos = pos.y;
+ const minZIndex = Math.min(...[...canvas.nodes.values()].map((n) => n.zIndex));
+ const zIndex = Math.abs(minZIndex) !== Infinity ? minZIndex - 1 : -1e3;
+ const pageNodes = /* @__PURE__ */ new Set();
+ for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber++) {
+ const page = await pdf.getPage(pageNumber);
+ const viewport = page.getViewport({ scale: pdfPageScale });
+ const node = canvas.createFileNode({
+ pos: { x: pos.x - viewport.width / 2, y: yPos },
+ size: { width: viewport.width, height: viewport.height },
+ file,
+ subpath: `#page=${pageNumber}&${PINNED_PARAM}`
+ });
+ pageNodes.add(node);
+ node.setZIndex(zIndex);
+ node.setData({
+ ...node.getData(),
+ ratio: viewport.width / viewport.height
+ });
+ yPos += viewport.height + pdfPageSpacing;
+ }
+ canvas.updateSelection(() => {
+ canvas.selection = pageNodes;
+ });
+ }
+ pinPdfPage(node) {
+ const nodeData = node.getData();
+ if (!nodeData.subpath) return;
+ if (this.isSubpathPinned(nodeData.subpath)) return;
+ node.setData({
+ ...nodeData,
+ subpath: nodeData.subpath + "&" + PINNED_PARAM
+ });
+ }
+ isSubpathPinned(subpath) {
+ if (!subpath) return false;
+ return subpath.includes(`#${PINNED_PARAM}`) || subpath.includes(`&${PINNED_PARAM}`);
+ }
+};
+var EmbedComponent = class extends import_obsidian21.Component {
+};
+var PdfPageEmbedComponent = class extends EmbedComponent {
+ constructor(plugin, parent, context, file, subpath) {
+ super();
+ this.plugin = plugin;
+ this.parent = parent;
+ this.context = context;
+ this.file = file;
+ this.subpath = subpath;
+ }
+ onload() {
+ this.canvas = activeWindow.createEl("canvas");
+ this.canvas.classList.add("ac-pinned-pdf-page-embed");
+ this.context.containerEl.appendChild(this.canvas);
+ }
+ async loadFile() {
+ var _a, _b, _c, _d;
+ if (!window.pdfjsLib) await (0, import_obsidian21.loadPdfJs)();
+ let promise = (_b = (_a = this.parent) == null ? void 0 : _a.pdfCache) == null ? void 0 : _b.get(this.file.path);
+ if (!promise) {
+ promise = this.context.app.vault.readBinary(this.file).then((data) => window.pdfjsLib.getDocument({ data }).promise);
+ if (this.parent) {
+ (_d = (_c = this.parent).pdfCache) != null ? _d : _c.pdfCache = /* @__PURE__ */ new Map();
+ this.parent.pdfCache.set(this.file.path, promise);
+ }
+ }
+ const pdf = await promise;
+ const pageNumber = this.getPageNumberFromSubpath(this.subpath);
+ if (!pageNumber || pageNumber < 1 || pageNumber > pdf.numPages) return;
+ const page = await pdf.getPage(pageNumber);
+ const pdfPageResolution = this.plugin.settings.getSetting("pdfPageSizeFactor");
+ const viewport = page.getViewport({ scale: pdfPageResolution });
+ this.canvas.width = viewport.width;
+ this.canvas.height = viewport.height;
+ const context = this.canvas.getContext("2d");
+ if (!context) return;
+ await page.render({
+ canvasContext: context,
+ viewport
+ }).promise;
+ }
+ getPageNumberFromSubpath(subpath) {
+ if (!subpath) return null;
+ const match = subpath.match(/page=(\d+)/);
+ return match ? parseInt(match[1], 10) : null;
+ }
+};
+
// src/canvas-extensions/dataset-exposers/canvas-metadata-exposer.ts
var CanvasMetadataExposerExtension = class extends CanvasExtension {
isEnabled() {
@@ -7224,6 +8228,54 @@ var CanvasMetadataExposerExtension = class extends CanvasExtension {
}
};
+// src/canvas-extensions/dataset-exposers/canvas-wrapper-exposer.ts
+var EXPOSED_SETTINGS = [
+ "disableFontSizeRelativeToZoom",
+ "hideBackgroundGridWhenInReadonly",
+ "readingModeFixEnabled",
+ "collapsibleGroupsFeatureEnabled",
+ "collapsedGroupPreviewOnDrag",
+ "allowFloatingEdgeCreation"
+];
+var CanvasWrapperExposerExtension = class _CanvasWrapperExposerExtension extends CanvasExtension {
+ isEnabled() {
+ return true;
+ }
+ init() {
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:settings-changed",
+ () => {
+ var _a;
+ return _CanvasWrapperExposerExtension.updateCanvasExposedSettings(
+ this.plugin,
+ (_a = this.plugin.getCurrentCanvas()) == null ? void 0 : _a.wrapperEl
+ );
+ }
+ ));
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:canvas-changed",
+ (canvas) => _CanvasWrapperExposerExtension.updateCanvasExposedSettings(
+ this.plugin,
+ canvas.wrapperEl
+ )
+ ));
+ this.plugin.registerEvent(this.plugin.app.workspace.on(
+ "advanced-canvas:dragging-state-changed",
+ (canvas, dragging) => {
+ if (dragging) canvas.wrapperEl.dataset.isDragging = "true";
+ else delete canvas.wrapperEl.dataset.isDragging;
+ }
+ ));
+ }
+ static updateCanvasExposedSettings(plugin, element) {
+ if (!element) return;
+ for (const setting of EXPOSED_SETTINGS) {
+ const value = plugin.settings.getSetting(setting);
+ element.dataset[setting] = JSON.stringify(value);
+ }
+ }
+};
+
// src/canvas-extensions/dataset-exposers/node-exposer.ts
var CANVAS_NODE_IFRAME_BODY_CLASS = "canvas-node-iframe-body";
function getExposedNodeData(settings) {
@@ -7234,6 +8286,10 @@ function getExposedNodeData(settings) {
return exposedData;
}
var NodeExposerExtension = class extends CanvasExtension {
+ constructor() {
+ super(...arguments);
+ this.iframeObservers = /* @__PURE__ */ new WeakSet();
+ }
isEnabled() {
return true;
}
@@ -7241,26 +8297,40 @@ var NodeExposerExtension = class extends CanvasExtension {
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-changed",
(_canvas, node) => {
- var _a, _b;
+ var _a, _b, _c;
const nodeData = node == null ? void 0 : node.getData();
if (!nodeData) return;
this.setDataAttributes(node.nodeEl, nodeData);
- const iframe = (_b = (_a = node.nodeEl.querySelector("iframe")) == null ? void 0 : _a.contentDocument) == null ? void 0 : _b.body;
- if (iframe) this.setDataAttributes(iframe, nodeData);
+ let iframeBody = null;
+ try {
+ iframeBody = (_c = (_b = (_a = node.nodeEl.querySelector("iframe")) == null ? void 0 : _a.contentDocument) == null ? void 0 : _b.body) != null ? _c : null;
+ } catch (e) {
+ iframeBody = null;
+ }
+ if (iframeBody) this.setDataAttributes(iframeBody, nodeData);
}
));
this.plugin.registerEvent(this.plugin.app.workspace.on(
"advanced-canvas:node-editing-state-changed",
(_canvas, node, editing) => {
- var _a, _b;
+ var _a, _b, _c;
if (!editing) return;
const nodeData = node.getData();
if (!nodeData) return;
- const iframe = (_b = (_a = node.nodeEl.querySelector("iframe")) == null ? void 0 : _a.contentDocument) == null ? void 0 : _b.body;
- if (!iframe) return;
- iframe.classList.add(CANVAS_NODE_IFRAME_BODY_CLASS);
- new MutationObserver(() => iframe.classList.toggle(CANVAS_NODE_IFRAME_BODY_CLASS, true)).observe(iframe, { attributes: true, attributeFilter: ["class"] });
- this.setDataAttributes(iframe, nodeData);
+ let iframeBody = null;
+ try {
+ iframeBody = (_c = (_b = (_a = node.nodeEl.querySelector("iframe")) == null ? void 0 : _a.contentDocument) == null ? void 0 : _b.body) != null ? _c : null;
+ } catch (e) {
+ return;
+ }
+ if (!iframeBody) return;
+ if (!this.iframeObservers.has(iframeBody)) {
+ this.iframeObservers.add(iframeBody);
+ iframeBody.classList.add(CANVAS_NODE_IFRAME_BODY_CLASS);
+ new MutationObserver(() => iframeBody.classList.toggle(CANVAS_NODE_IFRAME_BODY_CLASS, true)).observe(iframeBody, { attributes: true, attributeFilter: ["class"] });
+ }
+ this.setDataAttributes(iframeBody, nodeData);
+ CanvasWrapperExposerExtension.updateCanvasExposedSettings(this.plugin, iframeBody);
}
));
}
@@ -7324,16 +8394,14 @@ var EdgeExposerExtension = class extends CanvasExtension {
for (const exposedDataKey of getExposedEdgeData(this.plugin.settings)) {
const datasetPairs = edgeData[exposedDataKey] && typeof edgeData[exposedDataKey] === "object" ? Object.entries(edgeData[exposedDataKey]) : [[exposedDataKey, edgeData[exposedDataKey]]];
for (const [key, value] of datasetPairs) {
- const stringifiedKey = key == null ? void 0 : key.toString();
- if (!stringifiedKey) continue;
if (!value) {
- delete edge.path.display.dataset[stringifiedKey];
- if ((_a = edge.fromLineEnd) == null ? void 0 : _a.el) delete edge.fromLineEnd.el.dataset[stringifiedKey];
- if ((_b = edge.toLineEnd) == null ? void 0 : _b.el) delete edge.toLineEnd.el.dataset[stringifiedKey];
+ delete edge.path.display.dataset[key];
+ if ((_a = edge.fromLineEnd) == null ? void 0 : _a.el) delete edge.fromLineEnd.el.dataset[key];
+ if ((_b = edge.toLineEnd) == null ? void 0 : _b.el) delete edge.toLineEnd.el.dataset[key];
} else {
- edge.path.display.dataset[stringifiedKey] = value.toString();
- if ((_c = edge.fromLineEnd) == null ? void 0 : _c.el) edge.fromLineEnd.el.dataset[stringifiedKey] = value.toString();
- if ((_d = edge.toLineEnd) == null ? void 0 : _d.el) edge.toLineEnd.el.dataset[stringifiedKey] = value.toString();
+ edge.path.display.dataset[key] = value;
+ if ((_c = edge.fromLineEnd) == null ? void 0 : _c.el) edge.fromLineEnd.el.dataset[key] = value;
+ if ((_d = edge.toLineEnd) == null ? void 0 : _d.el) edge.toLineEnd.el.dataset[key] = value;
}
}
}
@@ -7342,57 +8410,20 @@ var EdgeExposerExtension = class extends CanvasExtension {
}
};
-// src/canvas-extensions/dataset-exposers/canvas-wrapper-exposer.ts
-var EXPOSED_SETTINGS = [
- "disableFontSizeRelativeToZoom",
- "hideBackgroundGridWhenInReadonly",
- "collapsibleGroupsFeatureEnabled",
- "collapsedGroupPreviewOnDrag",
- "allowFloatingEdgeCreation"
-];
-var CanvasWrapperExposerExtension = class extends CanvasExtension {
- isEnabled() {
- return true;
- }
- init() {
- this.plugin.registerEvent(this.plugin.app.workspace.on(
- "advanced-canvas:settings-changed",
- () => this.updateExposedSettings(this.plugin.getCurrentCanvas())
- ));
- this.plugin.registerEvent(this.plugin.app.workspace.on(
- "advanced-canvas:canvas-changed",
- (canvas) => this.updateExposedSettings(canvas)
- ));
- this.plugin.registerEvent(this.plugin.app.workspace.on(
- "advanced-canvas:dragging-state-changed",
- (canvas, dragging) => {
- if (dragging) canvas.wrapperEl.dataset.isDragging = "true";
- else delete canvas.wrapperEl.dataset.isDragging;
- }
- ));
- }
- updateExposedSettings(canvas) {
- if (!canvas) return;
- for (const setting of EXPOSED_SETTINGS) {
- canvas.wrapperEl.dataset[setting] = this.plugin.settings.getSetting(setting).toString();
- }
- }
-};
-
// src/patchers/bases-table-view-patcher.ts
var BasesTableViewPatcher = class extends Patcher {
async patch() {
if (!this.plugin.settings.getSetting("canvasMetadataCompatibilityEnabled")) return;
const bases = this.plugin.app.internalPlugins.getEnabledPluginById("bases");
if (!bases) return;
- this.patchViewFactory(bases);
+ void this.patchViewFactory(bases);
}
async patchViewFactory(bases) {
const that = this;
await Patcher.patchOnce(this.plugin, bases.registrations.table, (resolve) => ({
factory: Patcher.OverrideExisting((next) => function(...args) {
- const view = next.call(this, ...args);
- that.patchTableView(view);
+ const view = invoke(next, this, ...args);
+ void that.patchTableView(view);
resolve(view);
return view;
})
@@ -7402,10 +8433,10 @@ var BasesTableViewPatcher = class extends Patcher {
const that = this;
await Patcher.patchOnce(this.plugin, basesView, (resolve) => ({
updateVirtualDisplay: Patcher.OverrideExisting((next) => function(...args) {
- const result = next.call(this, ...args);
+ const result = invoke(next, this, ...args);
if (this.rows.length > 0) {
const row = this.rows.first();
- that.patchTableRow(row);
+ void that.patchTableRow(row);
resolve(row);
}
return result;
@@ -7416,12 +8447,12 @@ var BasesTableViewPatcher = class extends Patcher {
const that = this;
await Patcher.patchOnce(this.plugin, row, (resolve) => ({
render: Patcher.OverrideExisting((next) => function(...args) {
- let result = next.call(this, ...args);
+ let result = invoke(next, this, ...args);
if (this.cells.length > 0) {
const cell = this.cells.first();
- that.patchTableCell(cell);
+ void that.patchTableCell(cell);
resolve(cell);
- result = next.call(this, ...args);
+ result = invoke(next, this, ...args);
}
return result;
})
@@ -7433,7 +8464,7 @@ var BasesTableViewPatcher = class extends Patcher {
var _a;
const isCanvas = ((_a = ctx.file) == null ? void 0 : _a.extension) === "canvas";
if (isCanvas) ctx.file.extension = "md";
- const result = next.call(this, ctx);
+ const result = invoke(next, this, ctx);
if (isCanvas) ctx.file.extension = "canvas";
return result;
})
@@ -7451,10 +8482,10 @@ var PATCHERS = [
FileManagerPatcher,
// Direct metadata dependant patchers
PropertiesPatcher,
- !(0, import_obsidian19.requireApiVersion)("1.12.0") && BacklinksPatcher,
+ !(0, import_obsidian22.requireApiVersion)("1.12.0") && BacklinksPatcher,
OutgoingLinksPatcher,
// Metadata dependant patchers
- (0, import_obsidian19.requireApiVersion)("1.9.0") && BasesTableViewPatcher,
+ (0, import_obsidian22.requireApiVersion)("1.9.0") && BasesTableViewPatcher,
LinkSuggestionsPatcher,
EmbedPatcher,
SearchPatcher
@@ -7471,6 +8502,7 @@ var CANVAS_EXTENSIONS = [
ColorPaletteCanvasExtension,
PresentationCanvasExtension,
PortalsCanvasExtension,
+ PdfAnnotationCanvasExtension,
// UI Extensions (Non-savable data)
CanvasMetadataExposerExtension,
CanvasWrapperExposerExtension,
@@ -7481,7 +8513,9 @@ var CANVAS_EXTENSIONS = [
BetterDefaultSettingsCanvasExtension,
CommandsCanvasExtension,
BetterReadonlyCanvasExtension,
+ ReadingModeFixCanvasExtension,
GroupCanvasExtension,
+ NodeTemplatesCanvasExtension,
VariableBreakpointCanvasExtension,
EdgeHighlightCanvasExtension,
AutoFileNodeEdgesCanvasExtension,
@@ -7490,30 +8524,33 @@ var CANVAS_EXTENSIONS = [
ExportCanvasExtension,
FocusModeCanvasExtension,
EncapsulateCanvasExtension,
- EdgeSelectionCanvasExtension
+ EdgeSelectionCanvasExtension,
+ CopyNodeReferenceCanvasExtension
];
-var AdvancedCanvasPlugin = class extends import_obsidian19.Plugin {
+var AdvancedCanvasPlugin = class extends import_obsidian22.Plugin {
async onload() {
IconsHelper.addIcons();
this.settings = new SettingsManager(this);
await this.settings.loadSettings();
this.settings.addSettingsTab();
this.windowsManager = new WindowsManager(this);
- this.patchers = PATCHERS.map((Patcher2) => {
- if (!Patcher2) return;
+ this.patchers = PATCHERS.map((PatcherClass) => {
+ if (!PatcherClass) return void 0;
try {
- return new Patcher2(this);
+ return new PatcherClass(this);
} catch (e) {
- console.error(`Error initializing patcher ${Patcher2.name}:`, e);
+ console.error(`Error initializing patcher ${PatcherClass.name}:`, e);
+ return void 0;
}
- });
- this.canvasExtensions = CANVAS_EXTENSIONS.map((Extension) => {
+ }).filter((p) => p !== void 0);
+ this.canvasExtensions = CANVAS_EXTENSIONS.map((ExtensionClass) => {
try {
- return new Extension(this);
+ return new ExtensionClass(this);
} catch (e) {
- console.error(`Error initializing ac-extension ${Extension.name}:`, e);
+ console.error(`Error initializing ac-extension ${ExtensionClass.name}:`, e);
+ return void 0;
}
- });
+ }).filter((e) => e !== void 0);
}
onunload() {
}
@@ -7524,7 +8561,7 @@ var AdvancedCanvasPlugin = class extends import_obsidian19.Plugin {
}).filter((canvas) => canvas);
}
getCurrentCanvasView() {
- const canvasView = this.app.workspace.getActiveViewOfType(import_obsidian19.ItemView);
+ const canvasView = this.app.workspace.getActiveViewOfType(import_obsidian22.TextFileView);
if ((canvasView == null ? void 0 : canvasView.getViewType()) !== "canvas") return null;
return canvasView;
}
diff --git a/.obsidian/plugins/advanced-canvas/styles.css b/.obsidian/plugins/advanced-canvas/styles.css
index 2d6b633..56b8a03 100644
--- a/.obsidian/plugins/advanced-canvas/styles.css
+++ b/.obsidian/plugins/advanced-canvas/styles.css
@@ -1,97 +1,11 @@
/* src/styles.scss */
-.properties-field > .setting-item-info {
- flex: 0;
- margin: 0;
- padding: var(--size-4-1) var(--size-4-2);
- border: var(--input-border-width) solid var(--background-modifier-border);
- border-radius: var(--input-radius) 0 0 var(--input-radius);
-}
-.properties-field > .setting-item-control > input {
- width: 100%;
- border-radius: 0 var(--input-radius) var(--input-radius) 0;
-}
-.ac-settings-heading:not(:first-child) {
- margin-top: var(--size-4-10) !important;
-}
-.ac-settings-heading:has(.checkbox-container:not(.is-enabled)) {
- border-bottom-color: var(--background-modifier-border-hover);
-}
-.ac-settings-heading .setting-item-description {
- margin-inline-end: 20px;
-}
-.settings-header-children {
- transform-origin: top center;
- transform: scaleY(1);
- transition: transform 0.2s ease-in-out;
-}
-.settings-header-children details {
- flex-direction: column;
- align-items: initial;
-}
-.ac-settings-heading:has(.checkbox-container:not(.is-enabled)) + .settings-header-children {
- opacity: 0.5;
- pointer-events: none;
- height: 0;
- transform: scaleY(0);
-}
-details.setting-item[open] > summary {
- margin-bottom: 0.75em;
-}
-details.setting-item > *:not(summary) {
- padding-left: 1em;
- border-left: 1px solid var(--color-accent);
-}
-.kofi-banner {
- position: relative;
- display: flex;
- flex-direction: column;
- padding: var(--size-4-3);
- background-color: var(--background-secondary);
- border: 1px solid var(--divider-color);
- border-radius: var(--radius-s);
-}
-.kofi-banner h1 {
- margin: 0;
- margin-bottom: 10px;
- font-size: var(--font-ui-large);
- font-weight: 600;
-}
-.kofi-banner .progress-container {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-items: center;
-}
-.kofi-banner .progress-container progress {
- background: transparent;
-}
-.kofi-banner .progress-container progress::-webkit-progress-bar {
- background-color: var(--background-modifier-border);
- border-radius: var(--input-radius);
-}
-.kofi-banner .progress-container progress::-webkit-progress-value {
- background-color: var(--color-accent);
- border-radius: var(--input-radius);
-}
-.kofi-banner .progress-container .hourly-rate {
- margin-left: 10px;
- font-weight: 600;
-}
-.kofi-banner .ac-kofi-button {
- align-self: flex-end;
- width: min-content;
- height: min-content;
- line-height: 0;
-}
-.kofi-banner .ac-kofi-button img {
- min-width: 100px;
- width: 25%;
- max-width: 200px;
-}
.canvas-wrapper > .document-search-container {
transform: translateZ(0);
margin: 0;
}
+.document-search-count.is-hidden {
+ display: none;
+}
.canvas-wrapper:not(.mod-readonly) .show-while-readonly {
display: none;
}
@@ -106,7 +20,7 @@ details.setting-item > *:not(summary) {
.canvas-node[data-shape=document],
.canvas-node[data-shape=predefined-process],
.canvas-node[data-shape=diamond] {
- --border-color: rgb(var(--canvas-color));
+ --border-color: var(--canvas-color);
--border-width: 3px;
--box-shadow: none;
}
@@ -129,7 +43,7 @@ details.setting-item > *:not(summary) {
.is-themed.canvas-node[data-shape=document],
.is-themed.canvas-node[data-shape=predefined-process],
.is-themed.canvas-node[data-shape=diamond] {
- --border-color: rgba(var(--canvas-color), 0.7);
+ --border-color: rgb(from var(--canvas-color) r g b / 0.7);
}
.reactive-node.is-themed.is-focused,
.is-themed.is-focused.canvas-node[data-shape=database],
@@ -141,7 +55,7 @@ details.setting-item > *:not(summary) {
.is-themed.is-selected.canvas-node[data-shape=document],
.is-themed.is-selected.canvas-node[data-shape=predefined-process],
.is-themed.is-selected.canvas-node[data-shape=diamond] {
- --border-color: rgb(var(--canvas-color));
+ --border-color: var(--canvas-color);
--box-shadow: var(--shadow-border-themed);
}
.canvas-node[data-text-align=center] .markdown-preview-view {
@@ -210,7 +124,7 @@ details.setting-item > *:not(summary) {
transform: skewX(-20deg);
backface-visibility: hidden;
}
-.canvas-node[data-shape=parallelogram] .canvas-node-container .canvas-node-content .markdown-embed-content {
+.canvas-node[data-shape=parallelogram] .canvas-node-container .canvas-node-content > .markdown-embed-content {
transform: skewX(20deg);
}
.canvas-node[data-shape=circle] .canvas-node-container {
@@ -293,7 +207,7 @@ details.setting-item > *:not(summary) {
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe)) .canvas-node-container,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::after,
.canvas-node[data-shape=database].is-themed:not(:has(.embed-iframe))::before {
- box-shadow: inset 0 0 0 1000px rgba(var(--canvas-color), 0.07) !important;
+ box-shadow: inset 0 0 0 1000px rgb(from var(--canvas-color) r g b/0.07) !important;
}
.canvas-node[data-shape=database] .canvas-node-content:not(:has(.embed-iframe)) {
transform: translateY(20px);
@@ -354,14 +268,29 @@ details.setting-item > *:not(summary) {
.canvas-edges [data-arrow=diamond-outline] polygon,
.canvas-edges [data-arrow=circle-outline] polygon {
fill: var(--canvas-background);
- stroke: rgb(var(--canvas-color));
+ stroke: var(--canvas-color);
stroke-width: calc(3px * var(--zoom-multiplier));
}
.canvas-edges [data-arrow=thin-triangle] polygon {
fill: transparent;
- stroke: rgb(var(--canvas-color));
+ stroke: var(--canvas-color);
stroke-width: calc(4px * var(--zoom-multiplier));
}
+.icon-modal-suggestion {
+ display: flex;
+ align-items: center;
+ gap: var(--size-4-4);
+}
+.icon-modal-suggestion .icon-modal-suggestion-icon {
+ line-height: 0;
+}
+.icon-modal-suggestion .icon-modal-suggestion-id {
+ font-size: var(--font-ui-smaller);
+ color: var(--text-muted);
+}
+.ac-pinned-pdf-page-embed {
+ height: 100%;
+}
.canvas.is-exporting {
--zoom-multiplier: 1;
}
@@ -395,6 +324,76 @@ details.setting-item > *:not(summary) {
.canvas-wrapper.mod-readonly[data-hide-background-grid-when-in-readonly=true] .canvas-background {
visibility: hidden;
}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas {
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-p > p:has(> span.vertical-space) {
+ margin-top: 0px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-p > p {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas :is(.el-ul, .el-ol) + .el-p > p:has(> span.vertical-space:first-child) {
+ margin-top: 24px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ol::before {
+ margin-left: -2px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ol {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ul > li > ol > li {
+ margin-left: 36px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ul::before {
+ margin-left: -2px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ul {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-ul > ul > li {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ol > li > ul > li {
+ margin-left: 36px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas ul > li > .list-bullet {
+ margin-top: 2px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .has-list-bullet .list-bullet::after {
+ margin-left: -4px;
+ margin-top: -3px;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h1 > h1,
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h2 > h2,
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h3 > h3,
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h4 > h4,
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h5 > h5,
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-h6 > h6 {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .markdown-preview-section > .markdown-preview-pusher + :is(.el-h2) > :is(h2),
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .markdown-preview-section > .markdown-preview-pusher + :is(.el-h3) > :is(h3) {
+ margin-top: 0px !important;
+}
+.canvas-wrapper[data-reading-mode-fix-enabled=true] .canvas .el-table {
+ margin-top: 24px;
+}
+.canvas-node-iframe-body[data-reading-mode-fix-enabled=true] {
+}
+.canvas-node-iframe-body[data-reading-mode-fix-enabled=true] .markdown-source-view .cm-contentContainer > .cm-content.cm-lineWrapping > .cm-line {
+ margin-right: -2px !important;
+}
+.canvas-node-iframe-body[data-reading-mode-fix-enabled=true] .mod-inside-iframe .HyperMD-header {
+ padding-top: 0px !important;
+}
+.canvas-node-iframe-body[data-reading-mode-fix-enabled=true] .cm-formatting-list.cm-formatting-list-ul {
+ margin-right: 7px;
+}
.collapse-button {
position: absolute;
left: 0;
@@ -404,7 +403,7 @@ details.setting-item > *:not(summary) {
transform: translate(0, -100%) scale(var(--zoom-multiplier));
border-radius: var(--radius-s);
color: var(--text-muted);
- background-color: rgba(var(--canvas-color), 0.1);
+ background-color: rgb(from var(--canvas-color) r g b/0.1);
font-size: 1.5em;
line-height: 1;
pointer-events: initial;
@@ -506,3 +505,34 @@ details.setting-item > *:not(summary) {
.canvas-node-interaction-layer[data-is-from-portal=true] .canvas-node-resizer .canvas-node-connection-point {
pointer-events: all;
}
+.ac-card-embed {
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ background-color: var(--background-primary);
+ border: 1px solid var(--canvas-color);
+ border-radius: var(--radius-m);
+ box-shadow: var(--shadow-stationary);
+}
+.ac-card-embed.is-themed {
+ background-color: rgb(from var(--canvas-color) r g b/0.07);
+ border-color: rgb(from var(--canvas-color) r g b/0.7);
+ box-shadow: inset 0 0 0 1px rgb(from var(--canvas-color) r g b/0.7), var(--shadow-stationary);
+}
+.ac-card-embed > .markdown-content {
+ position: relative;
+ overflow-y: auto;
+ overflow-wrap: break-word;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ padding: 0 var(--size-4-4);
+ font-size: var(--font-text-size);
+ font-family: var(--font-text);
+ line-height: var(--line-height-normal);
+ color: var(--text-normal);
+ user-select: text;
+ -webkit-user-select: text;
+ scrollbar-gutter: stable;
+}
diff --git a/.obsidian/plugins/copilot/main.js b/.obsidian/plugins/copilot/main.js
index 88da33f..f53658a 100644
--- a/.obsidian/plugins/copilot/main.js
+++ b/.obsidian/plugins/copilot/main.js
@@ -10,233 +10,29 @@ if (typeof import_meta === 'undefined') {
};
}
-var Hcn=Object.create;var IQ=Object.defineProperty;var Wcn=Object.getOwnPropertyDescriptor;var Jcn=Object.getOwnPropertyNames;var Kcn=Object.getPrototypeOf,Gcn=Object.prototype.hasOwnProperty;var lCt=t=>{throw TypeError(t)};var Xcn=(t,e,r)=>e in t?IQ(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var v=(t,e)=>()=>(t&&(e=t(t=0)),e);var S=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),En=(t,e)=>{for(var r in e)IQ(t,r,{get:e[r],enumerable:!0})},cCt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Jcn(e))!Gcn.call(t,o)&&o!==r&&IQ(t,o,{get:()=>e[o],enumerable:!(n=Wcn(e,o))||n.enumerable});return t};var $=(t,e,r)=>(r=t!=null?Hcn(Kcn(t)):{},cCt(e||!t||!t.__esModule?IQ(r,"default",{value:t,enumerable:!0}):r,t)),Bpe=t=>cCt(IQ({},"__esModule",{value:!0}),t);var x=(t,e,r)=>Xcn(t,typeof e!="symbol"?e+"":e,r),Zcn=(t,e,r)=>e.has(t)||lCt("Cannot "+r);var cBe=(t,e,r)=>e.has(t)?lCt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var dCt=(t,e,r)=>(Zcn(t,e,"access private method"),r);function dBe(){if(!zpe&&(zpe=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!zpe))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return zpe(Ycn)}var zpe,Ycn,fCt=v(()=>{Ycn=new Uint8Array(16)});function pCt(t,e=0){return Sg[t[e+0]]+Sg[t[e+1]]+Sg[t[e+2]]+Sg[t[e+3]]+"-"+Sg[t[e+4]]+Sg[t[e+5]]+"-"+Sg[t[e+6]]+Sg[t[e+7]]+"-"+Sg[t[e+8]]+Sg[t[e+9]]+"-"+Sg[t[e+10]]+Sg[t[e+11]]+Sg[t[e+12]]+Sg[t[e+13]]+Sg[t[e+14]]+Sg[t[e+15]]}var Sg,mCt=v(()=>{Sg=[];for(let t=0;t<256;++t)Sg.push((t+256).toString(16).slice(1))});var Qcn,fBe,hCt=v(()=>{Qcn=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),fBe={randomUUID:Qcn}});function edn(t,e,r){if(fBe.randomUUID&&!e&&!t)return fBe.randomUUID();t=t||{};let n=t.random||(t.rng||dBe)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(let o=0;o<16;++o)e[r+o]=n[o];return e}return pCt(n)}var od,gCt=v(()=>{hCt();fCt();mCt();od=edn});var qN=v(()=>{gCt()});var tdn,$t,Jo=v(()=>{tdn=Object.defineProperty,$t=(t,e)=>{for(var r in e)tdn(t,r,{get:e[r],enumerable:!0})}});function AQ(t,e=Mz){t=t.trim();let r=t.indexOf("```");if(r===-1)return e(t);let n=t.substring(r+3);n.startsWith(`json
-`)?n=n.substring(5):n.startsWith("json")?n=n.substring(4):n.startsWith(`
-`)&&(n=n.substring(1));let o=n.indexOf("```"),i=n;return o!==-1&&(i=n.substring(0,o)),e(i.trim())}function rdn(t){try{return JSON.parse(t)}catch{}let e=t.trim();if(e.length===0)throw new Error("Unexpected end of JSON input");let r=0;function n(){for(;r="0"&&e[r]<="9"))throw new Error(`Invalid number at position ${c}`);if(r="1"&&e[r]<="9")for(;r="0"&&e[r]<="9";)d+=e[r],r+=1;if(r="0"&&e[r]<="9";)d+=e[r],r+=1;if(r="0"&&e[r]<="9";)d+=e[r],r+=1;if(d==="-")return-0;let f=Number.parseFloat(d);if(Number.isNaN(f))throw r=c,new Error(`Invalid number '${d}' at position ${c}`);return f}function a(){if(n(),r>=e.length)throw new Error(`Unexpected end of input at position ${r}`);let c=e[r];if(c==="{")return u();if(c==="[")return s();if(c==='"')return o();if("null".startsWith(e.substring(r,r+4)))return r+=Math.min(4,e.length-r),null;if("true".startsWith(e.substring(r,r+4)))return r+=Math.min(4,e.length-r),!0;if("false".startsWith(e.substring(r,r+5)))return r+=Math.min(5,e.length-r),!1;if(c==="-"||c>="0"&&c<="9")return i();throw new Error(`Unexpected character '${c}' at position ${r}`)}function s(){if(e[r]!=="[")throw new Error(`Expected '[' at position ${r}, got '${e[r]}'`);let c=[];if(r+=1,n(),r>=e.length)return c;if(e[r]==="]")return r+=1,c;for(;r=e.length||(c.push(a()),n(),r>=e.length))return c;if(e[r]==="]")return r+=1,c;if(e[r]===","){r+=1;continue}throw new Error(`Expected ',' or ']' at position ${r}, got '${e[r]}'`)}return c}function u(){if(e[r]!=="{")throw new Error(`Expected '{' at position ${r}, got '${e[r]}'`);let c={};if(r+=1,n(),r>=e.length)return c;if(e[r]==="}")return r+=1,c;for(;r=e.length)return c;let d=o();if(n(),r>=e.length)return c;if(e[r]!==":")throw new Error(`Expected ':' at position ${r}, got '${e[r]}'`);if(r+=1,n(),r>=e.length||(c[d]=a(),n(),r>=e.length))return c;if(e[r]==="}")return r+=1,c;if(e[r]===","){r+=1;continue}throw new Error(`Expected ',' or '}' at position ${r}, got '${e[r]}'`)}return c}let l=a();if(n(),r"u"?null:rdn(t)}catch{return null}}var NQ=v(()=>{});function FL(t,e){return t.lc_error_code=e,t.message=`${t.message}
+// Minimal `process` shim so the bundle survives MODULE EVALUATION on Obsidian
+// mobile, whose WebView has no Node `process` global. Desktop-only code (Agent
+// Mode) is statically imported and therefore evaluated on every platform; many
+// of those modules — and bundled Node deps — read `process.platform`/`.env` at
+// module scope, which throws "Can't find variable: process" on mobile and kills
+// the whole plugin at load. On desktop (Electron) `globalThis.process` exists
+// and is used as-is, so this only stubs mobile, where those code paths never run.
+var process = globalThis.process || {
+ env: {},
+ platform: '',
+ arch: '',
+ argv: [],
+ version: '',
+ versions: {},
+ cwd: function () { return '/'; },
+ nextTick: function (cb) { Promise.resolve().then(cb); },
+ on: function () {},
+ off: function () {},
+ once: function () {},
+ emit: function () { return false; },
+};
-Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${e}/
-`,t}var DQ=v(()=>{});var bCt=S((ZCi,yCt)=>{"use strict";yCt.exports=function(t,e){if(typeof t!="string")throw new TypeError("Expected a string");return e=typeof e>"u"?"_":e,t.replace(/([a-z\d])([A-Z])/g,"$1"+e+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+e+"$2").toLowerCase()}});var TCt=S((YCi,pBe)=>{"use strict";var ndn=/[\p{Lu}]/u,odn=/[\p{Ll}]/u,_Ct=/^[\p{Lu}](?![\p{Lu}])/gu,SCt=/([\p{Alpha}\p{N}_]|$)/u,CCt=/[_.\- ]+/,idn=new RegExp("^"+CCt.source),vCt=new RegExp(CCt.source+SCt.source,"gu"),wCt=new RegExp("\\d+"+SCt.source,"gu"),adn=(t,e,r)=>{let n=!1,o=!1,i=!1;for(let a=0;a(_Ct.lastIndex=0,t.replace(_Ct,r=>e(r))),udn=(t,e)=>(vCt.lastIndex=0,wCt.lastIndex=0,t.replace(vCt,(r,n)=>e(n)).replace(wCt,r=>e(r))),xCt=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},Array.isArray(t)?t=t.map(i=>i.trim()).filter(i=>i.length).join("-"):t=t.trim(),t.length===0)return"";let r=e.locale===!1?i=>i.toLowerCase():i=>i.toLocaleLowerCase(e.locale),n=e.locale===!1?i=>i.toUpperCase():i=>i.toLocaleUpperCase(e.locale);return t.length===1?e.pascalCase?n(t):r(t):(t!==r(t)&&(t=adn(t,r,n)),t=t.replace(idn,""),e.preserveConsecutiveUppercase?t=sdn(t,r):t=r(t),e.pascalCase&&(t=n(t.charAt(0))+t.slice(1)),udn(t,n))};pBe.exports=xCt;pBe.exports.default=xCt});function ECt(t,e){return e?.[t]||(0,OCt.default)(t)}function PCt(t,e,r){let n={};for(let o in t)Object.hasOwn(t,o)&&(n[e(o,r)]=t[o]);return n}var OCt,ldn,MCt=v(()=>{OCt=$(bCt(),1),ldn=$(TCt(),1)});function cdn(t){return"lc"in t||Object.keys(t).length===1&&RCt in t}function ddn(t){return{[RCt]:t}}function fdn(t){return t!==null&&typeof t=="object"&&"lc_serializable"in t&&typeof t.toJSON=="function"}function pdn(t){let e;return t!==null&&typeof t=="object"?"lc_id"in t&&Array.isArray(t.lc_id)?e=t.lc_id:e=[t.constructor?.name??"Object"]:e=[typeof t],{lc:1,type:"not_implemented",id:e}}function Vpe(t,e=new WeakSet){if(t!==null&&typeof t=="object"&&!Array.isArray(t)){if(e.has(t))return pdn(t);if(fdn(t))return t;e.add(t);let r=t;if(cdn(r))return e.delete(t),ddn(r);let n={};for(let[o,i]of Object.entries(r))n[o]=Vpe(i,e);return e.delete(t),n}return Array.isArray(t)?t.map(r=>Vpe(r,e)):t}var RCt,ICt=v(()=>{RCt="__lc_escaped__"});function ACt(t){return Array.isArray(t)?[...t]:{...t}}function hdn(t,e){let r=ACt(t);for(let[n,o]of Object.entries(e)){let[i,...a]=n.split(".").reverse(),s=r;for(let u of a.reverse()){if(s[u]===void 0)break;s[u]=ACt(s[u]),s=s[u]}s[i]!==void 0&&(s[i]={lc:1,type:"secret",id:[o]})}return r}function Hpe(t){let e=Object.getPrototypeOf(t);return typeof t.lc_name=="function"&&(typeof e.lc_name!="function"||t.lc_name()!==e.lc_name())?t.lc_name():t.name}var mdn,Cg,kL=v(()=>{Jo();MCt();ICt();mdn={};$t(mdn,{Serializable:()=>Cg,get_lc_unique_name:()=>Hpe});Cg=class NCt{constructor(e,...r){x(this,"lc_serializable",!1);x(this,"lc_kwargs");this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(e||{}).filter(([n])=>this.lc_serializable_keys?.includes(n))):this.lc_kwargs=e??{}}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Hpe(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof NCt||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let e={},r={},n=Object.keys(this.lc_kwargs).reduce((u,l)=>(u[l]=l in this?this[l]:this.lc_kwargs[l],u),{});for(let u=Object.getPrototypeOf(this);u;u=Object.getPrototypeOf(u))Object.assign(e,Reflect.get(u,"lc_aliases",this)),Object.assign(r,Reflect.get(u,"lc_secrets",this)),Object.assign(n,Reflect.get(u,"lc_attributes",this));Object.keys(r).forEach(u=>{let l=this,c=n,[d,...f]=u.split(".").reverse();for(let p of f.reverse()){if(!(p in l)||l[p]===void 0)return;(!(p in c)||c[p]===void 0)&&(typeof l[p]=="object"&&l[p]!=null?c[p]={}:Array.isArray(l[p])&&(c[p]=[])),l=l[p],c=c[p]}d in l&&l[d]!==void 0&&(c[d]=c[d]||l[d])});let o={},i=new WeakSet;i.add(this);for(let[u,l]of Object.entries(n))o[u]=Vpe(l,i);let a=Object.keys(r).length?hdn(o,r):o,s=PCt(a,ECt,e);return{lc:1,type:"constructor",id:this.lc_id,kwargs:s}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}}});function qL(t){return!!(t&&typeof t=="object"&&"type"in t&&t.type==="tool_call")}function DCt(t){return!!(t&&typeof t=="object"&&"toolCall"in t&&t.toolCall!=null&&typeof t.toolCall=="object"&&"id"in t.toolCall&&typeof t.toolCall.id=="string")}var H6,Wpe=v(()=>{H6=class extends Error{constructor(e,r){super(e);x(this,"output");this.output=r}}});var jCt,UL,$Ct,BL,jQ=v(()=>{jCt=Symbol.for("ls:tracing_async_local_storage"),UL=Symbol.for("lc:context_variables"),$Ct=t=>{globalThis[jCt]=t},BL=()=>globalThis[jCt]});function Ph(t){return typeof t=="object"&&t!==null&&"type"in t&&typeof t.type=="string"&&"source_type"in t&&(t.source_type==="url"||t.source_type==="base64"||t.source_type==="text"||t.source_type==="id")}function W6(t){return Ph(t)&&t.source_type==="url"&&"url"in t&&typeof t.url=="string"}function J6(t){return Ph(t)&&t.source_type==="base64"&&"data"in t&&typeof t.data=="string"}function LCt(t){return Ph(t)&&t.source_type==="text"&&"text"in t&&typeof t.text=="string"}function Jpe(t){return Ph(t)&&t.source_type==="id"&&"id"in t&&typeof t.id=="string"}function Kpe(t){if(Ph(t)){if(t.source_type==="url")return{type:"image_url",image_url:{url:t.url}};if(t.source_type==="base64"){if(!t.mime_type)throw new Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${t.mime_type};base64,${t.data}`}}}}throw new Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function $Q(t){let e=t.split(";")[0].split("/");if(e.length!==2)throw new Error(`Invalid mime type: "${t}" - does not match type/subtype format.`);let r=e[0].trim(),n=e[1].trim();if(r===""||n==="")throw new Error(`Invalid mime type: "${t}" - type or subtype is empty.`);let o={};for(let i of t.split(";").slice(1)){let a=i.split("=");if(a.length!==2)throw new Error(`Invalid parameter syntax in mime type: "${t}".`);let s=a[0].trim(),u=a[1].trim();if(s==="")throw new Error(`Invalid parameter syntax in mime type: "${t}".`);o[s]=u}return{type:r,subtype:n,parameters:o}}function Cy({dataUrl:t,asTypedArray:e=!1}){let r=t.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),n;if(r){n=r[1].toLowerCase();let o=e?Uint8Array.from(atob(r[2]),i=>i.charCodeAt(0)):r[2];return{mime_type:n,data:o}}}function GT(t,e){if(t.type==="text"){if(!e.fromStandardTextBlock)throw new Error(`Converter for ${e.providerName} does not implement \`fromStandardTextBlock\` method.`);return e.fromStandardTextBlock(t)}if(t.type==="image"){if(!e.fromStandardImageBlock)throw new Error(`Converter for ${e.providerName} does not implement \`fromStandardImageBlock\` method.`);return e.fromStandardImageBlock(t)}if(t.type==="audio"){if(!e.fromStandardAudioBlock)throw new Error(`Converter for ${e.providerName} does not implement \`fromStandardAudioBlock\` method.`);return e.fromStandardAudioBlock(t)}if(t.type==="file"){if(!e.fromStandardFileBlock)throw new Error(`Converter for ${e.providerName} does not implement \`fromStandardFileBlock\` method.`);return e.fromStandardFileBlock(t)}throw new Error(`Unable to convert content block type '${t.type}' to provider-specific format: not recognized.`)}var LQ=v(()=>{});function Ir(t,e){return wn(t)&&t.type===e}function wn(t){return typeof t=="object"&&t!==null}function xy(t){return Array.isArray(t)}function Tt(t){return typeof t=="string"}function Qv(t){return typeof t=="number"}function Gpe(t){return t instanceof Uint8Array}function mBe(t){try{return JSON.parse(t)}catch{return}}var UN,qC=v(()=>{UN=t=>t()});function gdn(t){if(t.type==="char_location"&&Tt(t.document_title)&&Qv(t.start_char_index)&&Qv(t.end_char_index)&&Tt(t.cited_text)){let{document_title:e,start_char_index:r,end_char_index:n,cited_text:o,...i}=t;return{...i,type:"citation",source:"char",title:e??void 0,startIndex:r,endIndex:n,citedText:o}}if(t.type==="page_location"&&Tt(t.document_title)&&Qv(t.start_page_number)&&Qv(t.end_page_number)&&Tt(t.cited_text)){let{document_title:e,start_page_number:r,end_page_number:n,cited_text:o,...i}=t;return{...i,type:"citation",source:"page",title:e??void 0,startIndex:r,endIndex:n,citedText:o}}if(t.type==="content_block_location"&&Tt(t.document_title)&&Qv(t.start_block_index)&&Qv(t.end_block_index)&&Tt(t.cited_text)){let{document_title:e,start_block_index:r,end_block_index:n,cited_text:o,...i}=t;return{...i,type:"citation",source:"block",title:e??void 0,startIndex:r,endIndex:n,citedText:o}}if(t.type==="web_search_result_location"&&Tt(t.url)&&Tt(t.title)&&Tt(t.encrypted_index)&&Tt(t.cited_text)){let{url:e,title:r,encrypted_index:n,cited_text:o,...i}=t;return{...i,type:"citation",source:"url",url:e,title:r,startIndex:Number(n),endIndex:Number(n),citedText:o}}if(t.type==="search_result_location"&&Tt(t.source)&&Tt(t.title)&&Qv(t.start_block_index)&&Qv(t.end_block_index)&&Tt(t.cited_text)){let{source:e,title:r,start_block_index:n,end_block_index:o,cited_text:i,...a}=t;return{...a,type:"citation",source:"search",url:e,title:r??void 0,startIndex:n,endIndex:o,citedText:i}}}function kCt(t){if(Ir(t,"document")&&wn(t.source)&&"type"in t.source){if(t.source.type==="base64"&&Tt(t.source.media_type)&&Tt(t.source.data))return{type:"file",mimeType:t.source.media_type,data:t.source.data};if(t.source.type==="url"&&Tt(t.source.url))return{type:"file",url:t.source.url};if(t.source.type==="file"&&Tt(t.source.file_id))return{type:"file",fileId:t.source.file_id};if(t.source.type==="text"&&Tt(t.source.data))return{type:"file",mimeType:String(t.source.media_type??"text/plain"),data:t.source.data}}else if(Ir(t,"image")&&wn(t.source)&&"type"in t.source){if(t.source.type==="base64"&&Tt(t.source.media_type)&&Tt(t.source.data))return{type:"image",mimeType:t.source.media_type,data:t.source.data};if(t.source.type==="url"&&Tt(t.source.url))return{type:"image",url:t.source.url};if(t.source.type==="file"&&Tt(t.source.file_id))return{type:"image",fileId:t.source.file_id}}}function qCt(t){function*e(){for(let r of t){let n=kCt(r);n?yield n:yield r}}return Array.from(e())}function FCt(t){function*e(){let r=typeof t.content=="string"?[{type:"text",text:t.content}]:t.content;for(let n of r){if(Ir(n,"text")&&Tt(n.text)){let{text:o,citations:i,...a}=n;if(xy(i)&&i.length){let s=i.reduce((u,l)=>{let c=gdn(l);return c?[...u,c]:u},[]);yield{...a,type:"text",text:o,annotations:s};continue}else{yield{...a,type:"text",text:o};continue}}else if(Ir(n,"thinking")&&Tt(n.thinking)){let{thinking:o,signature:i,...a}=n;yield{...a,type:"reasoning",reasoning:o,signature:i};continue}else if(Ir(n,"redacted_thinking")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"tool_use")&&Tt(n.name)&&Tt(n.id)){yield{type:"tool_call",id:n.id,name:n.name,args:n.input};continue}else if(Ir(n,"input_json_delta")){if(ydn(t)&&t.tool_call_chunks?.length){let o=t.tool_call_chunks[0];yield{type:"tool_call_chunk",id:o.id,name:o.name,args:o.args,index:o.index};continue}}else if(Ir(n,"server_tool_use")&&Tt(n.name)&&Tt(n.id)){let{name:o,id:i}=n;if(o==="web_search"){let a=UN(()=>{if(typeof n.input=="string")return n.input;if(wn(n.input)&&Tt(n.input.query))return n.input.query;if(Tt(n.partial_json)){let s=mBe(n.partial_json);if(s?.query)return s.query}return""});yield{id:i,type:"server_tool_call",name:"web_search",args:{query:a}};continue}else if(n.name==="code_execution"){let a=UN(()=>{if(typeof n.input=="string")return n.input;if(wn(n.input)&&Tt(n.input.code))return n.input.code;if(Tt(n.partial_json)){let s=mBe(n.partial_json);if(s?.code)return s.code}return""});yield{id:i,type:"server_tool_call",name:"code_execution",args:{code:a}};continue}}else if(Ir(n,"web_search_tool_result")&&Tt(n.tool_use_id)&&xy(n.content)){let{content:o,tool_use_id:i}=n,a=o.reduce((s,u)=>Ir(u,"web_search_result")?[...s,u.url]:s,[]);yield{type:"server_tool_call_result",name:"web_search",toolCallId:i,status:"success",output:{urls:a}};continue}else if(Ir(n,"code_execution_tool_result")&&Tt(n.tool_use_id)&&wn(n.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:n.tool_use_id,status:"success",output:n.content};continue}else if(Ir(n,"mcp_tool_use")){yield{id:n.id,type:"server_tool_call",name:"mcp_tool_use",args:n.input};continue}else if(Ir(n,"mcp_tool_result")&&Tt(n.tool_use_id)&&wn(n.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:n.tool_use_id,status:"success",output:n.content};continue}else if(Ir(n,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:n.input};continue}else if(Ir(n,"search_result")){yield{id:n.id,type:"non_standard",value:n};continue}else if(Ir(n,"tool_result")){yield{id:n.id,type:"non_standard",value:n};continue}else{let o=kCt(n);if(o){yield o;continue}}yield{type:"non_standard",value:n}}}return Array.from(e())}function ydn(t){return typeof t?._getType=="function"&&typeof t.concat=="function"&&t._getType()==="ai"}var UCt,hBe=v(()=>{qC();UCt={translateContent:FCt,translateContentChunk:FCt}});function bdn(t){return W6(t)?{type:t.type,mimeType:t.mime_type,url:t.url,metadata:t.metadata}:J6(t)?{type:t.type,mimeType:t.mime_type??"application/octet-stream",data:t.data,metadata:t.metadata}:Jpe(t)?{type:t.type,mimeType:t.mime_type,fileId:t.id,metadata:t.metadata}:t}function BCt(t){return t.map(bdn)}function zCt(t){return!!(Ir(t,"image_url")&&wn(t.image_url)||Ir(t,"input_audio")&&wn(t.input_audio)||Ir(t,"file")&&wn(t.file))}function VCt(t){if(Ir(t,"image_url")&&wn(t.image_url)&&Tt(t.image_url.url)){let e=Cy({dataUrl:t.image_url.url});return e?{type:"image",mimeType:e.mime_type,data:e.data}:{type:"image",url:t.image_url.url}}else{if(Ir(t,"input_audio")&&wn(t.input_audio)&&Tt(t.input_audio.data)&&Tt(t.input_audio.format))return{type:"audio",data:t.input_audio.data,mimeType:`audio/${t.input_audio.format}`};if(Ir(t,"file")&&wn(t.file)&&Tt(t.file.data)){let e=Cy({dataUrl:t.file.data});if(e)return{type:"file",data:e.data,mimeType:e.mime_type};if(Tt(t.file.file_id))return{type:"file",fileId:t.file.file_id}}}return t}var gBe=v(()=>{LQ();qC()});function _dn(t){let e=[];typeof t.content=="string"?e.push({type:"text",text:t.content}):e.push(...Xpe(t.content));for(let r of t.tool_calls??[])e.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return e}function vdn(t){let e=[];typeof t.content=="string"?e.push({type:"text",text:t.content}):e.push(...Xpe(t.content));for(let r of t.tool_calls??[])e.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return e}function Xpe(t){let e=[];for(let r of t)zCt(r)?e.push(VCt(r)):e.push(r);return e}function wdn(t){if(t.type==="url_citation"){let{url:e,title:r,start_index:n,end_index:o}=t;return{type:"citation",url:e,title:r,startIndex:n,endIndex:o}}if(t.type==="file_citation"){let{file_id:e,filename:r,index:n}=t;return{type:"citation",title:r,startIndex:n,endIndex:n,fileId:e}}return t}function HCt(t){function*e(){wn(t.additional_kwargs?.reasoning)&&xy(t.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:t.additional_kwargs.reasoning.summary.reduce((o,i)=>wn(i)&&Tt(i.text)?`${o}${i.text}`:o,"")});let r=typeof t.content=="string"?[{type:"text",text:t.content}]:t.content;for(let n of r)if(Ir(n,"text")){let{text:o,annotations:i,...a}=n;Array.isArray(i)?yield{...a,type:"text",text:String(o),annotations:i.map(wdn)}:yield{...a,type:"text",text:String(o)}}for(let n of t.tool_calls??[])yield{type:"tool_call",id:n.id,name:n.name,args:n.args};if(wn(t.additional_kwargs)&&xy(t.additional_kwargs.tool_outputs))for(let n of t.additional_kwargs.tool_outputs){if(Ir(n,"web_search_call")){yield{id:n.id,type:"server_tool_call",name:"web_search",args:{query:n.query}};continue}else if(Ir(n,"file_search_call")){yield{id:n.id,type:"server_tool_call",name:"file_search",args:{query:n.query}};continue}else if(Ir(n,"computer_call")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"code_interpreter_call")){if(Tt(n.code)&&(yield{id:n.id,type:"server_tool_call",name:"code_interpreter",args:{code:n.code}}),xy(n.outputs)){let o=UN(()=>{if(n.status!=="in_progress"){if(n.status==="completed")return 0;if(n.status==="incomplete")return 127;if(n.status!=="interpreting"&&n.status==="failed")return 1}});for(let i of n.outputs)if(Ir(i,"logs")){yield{type:"server_tool_call_result",toolCallId:n.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:o??0,stderr:[0,void 0].includes(o)?void 0:String(i.logs),stdout:[0,void 0].includes(o)?String(i.logs):void 0}};continue}}continue}else if(Ir(n,"mcp_call")){yield{id:n.id,type:"server_tool_call",name:"mcp_call",args:n.input};continue}else if(Ir(n,"mcp_list_tools")){yield{id:n.id,type:"server_tool_call",name:"mcp_list_tools",args:n.input};continue}else if(Ir(n,"mcp_approval_request")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"image_generation_call")){yield{type:"non_standard",value:n};continue}wn(n)&&(yield{type:"non_standard",value:n})}}return Array.from(e())}function Sdn(t){function*e(){yield*HCt(t);for(let r of t.tool_call_chunks??[])yield{type:"tool_call_chunk",id:r.id,name:r.name,args:r.args}}return Array.from(e())}var WCt,yBe=v(()=>{qC();gBe();WCt={translateContent:t=>typeof t.content=="string"?_dn(t):HCt(t),translateContentChunk:t=>typeof t.content=="string"?vdn(t):Sdn(t)}});function Zpe(t){return typeof t=="object"&&t!==null&&"type"in t&&"content"in t&&(typeof t.content=="string"||Array.isArray(t.content))}var bBe=v(()=>{});function JCt(t,e="pretty"){return e==="pretty"?Cdn(t):JSON.stringify(t)}function Cdn(t){let e=[],r=` ${t.type.charAt(0).toUpperCase()+t.type.slice(1)} Message `,n=Math.floor((80-r.length)/2),o="=".repeat(n),i=r.length%2===0?o:`${o}=`;if(e.push(`${o}${r}${i}`),t.type==="ai"){let a=t;if(a.tool_calls&&a.tool_calls.length>0){e.push("Tool Calls:");for(let s of a.tool_calls){e.push(` ${s.name} (${s.id})`),e.push(` Call ID: ${s.id}`),e.push(" Args:");for(let[u,l]of Object.entries(s.args))e.push(` ${u}: ${typeof l=="object"?JSON.stringify(l):l}`)}}}if(t.type==="tool"){let a=t;a.name&&e.push(`Name: ${a.name}`)}return typeof t.content=="string"&&t.content.trim()&&(e.length>1&&e.push(""),e.push(t.content)),e.join(`
-`)}var KCt=v(()=>{});function Ty(t,e){return typeof t=="string"?t===""?e:typeof e=="string"?t+e:Array.isArray(e)&&e.length===0?t:Array.isArray(e)&&e.some(r=>Ph(r))?[{type:"text",source_type:"text",text:t},...e]:[{type:"text",text:t},...e]:Array.isArray(e)?Rz(t,e)??[...t,...e]:e===""?t:Array.isArray(t)&&t.some(r=>Ph(r))?[...t,{type:"file",source_type:"text",text:e}]:[...t,{type:"text",text:e}]}function Ype(t,e){return t==="error"||e==="error"?"error":"success"}function xdn(t,e){function r(n,o){if(typeof n!="object"||n===null||n===void 0)return n;if(o>=e)return Array.isArray(n)?"[Array]":"[Object]";if(Array.isArray(n))return n.map(a=>r(a,o+1));let i={};for(let a of Object.keys(n))i[a]=r(n[a],o+1);return i}return JSON.stringify(r(t,0),null,2)}function XCt(t){return Array.isArray(t)&&t.every(e=>typeof e.index=="number")}function Fl(t,e){if(t===void 0&&e===void 0)return;if(t===void 0||e===void 0)return t??e;let r={...t};for(let[n,o]of Object.entries(e))if(r[n]==null)r[n]=o;else{if(o==null)continue;if(typeof r[n]!=typeof o||Array.isArray(r[n])!==Array.isArray(o))throw new Error(`field[${n}] already exists in the message chunk, but with a different type.`);if(typeof r[n]=="string"){if(n==="type")continue;["id","name","output_version","model_provider"].includes(n)?o&&(r[n]=o):r[n]+=o}else if(typeof r[n]=="number")r[n]=r[n]+o;else if(typeof r[n]=="object"&&!Array.isArray(r[n]))r[n]=Fl(r[n],o);else if(Array.isArray(r[n]))r[n]=Rz(r[n],o);else{if(r[n]===o)continue;console.warn(`field[${n}] already exists in this message chunk and value has unsupported type.`)}}return r}function Rz(t,e){if(!(t===void 0&&e===void 0)){if(t===void 0||e===void 0)return t||e;{let r=[...t];for(let n of e)if(typeof n=="object"&&n!==null&&"index"in n&&typeof n.index=="number"){let o=r.findIndex(i=>{let a=typeof i=="object",s="index"in i&&i.index===n.index,u="id"in i&&"id"in n&&i?.id===n?.id,l=!("id"in i)||!i?.id||!("id"in n)||!n?.id;return a&&s&&(u||l)});o!==-1&&typeof r[o]=="object"&&r[o]!==null?r[o]=Fl(r[o],n):r.push(n)}else{if(typeof n=="object"&&n!==null&&"text"in n&&n.text==="")continue;r.push(n)}return r}}}function Qpe(t,e){if(!(t===void 0&&e===void 0)){if(t===void 0||e===void 0)return t??e;if(typeof t!=typeof e)throw new Error(`Cannot merge objects of different types.
-Left ${typeof t}
-Right ${typeof e}`);if(typeof t=="string"&&typeof e=="string")return t+e;if(Array.isArray(t)&&Array.isArray(e))return Rz(t,e);if(typeof t=="object"&&typeof e=="object")return Fl(t,e);if(t===e)return t;throw new Error(`Can not merge objects of different types.
-Left ${t}
-Right ${e}`)}}function eme(t){return typeof t.role=="string"}function xg(t){return typeof t?._getType=="function"}function K6(t){return Mb.isInstance(t)}var _Be,GCt,id,Mb,Oy=v(()=>{kL();LQ();hBe();gBe();yBe();bBe();KCt();_Be=Symbol.for("langchain.message");id=class extends Cg{constructor(e){let r=typeof e=="string"||Array.isArray(e)?{content:e}:e;r.additional_kwargs||(r.additional_kwargs={}),r.response_metadata||(r.response_metadata={});super(r);x(this,"lc_namespace",["langchain_core","messages"]);x(this,"lc_serializable",!0);x(this,GCt,!0);x(this,"id");x(this,"name");x(this,"content");x(this,"additional_kwargs");x(this,"response_metadata");this.name=r.name,r.content===void 0&&r.contentBlocks!==void 0?(this.content=r.contentBlocks,this.response_metadata={output_version:"v1",...r.response_metadata}):r.content!==void 0?(this.content=r.content??[],this.response_metadata=r.response_metadata):(this.content=[],this.response_metadata=r.response_metadata),this.additional_kwargs=r.additional_kwargs,this.id=r.id}get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}_getType(){return this.type}getType(){return this._getType()}get text(){return typeof this.content=="string"?this.content:Array.isArray(this.content)?this.content.map(e=>typeof e=="string"?e:e.type==="text"?e.text:"").join(""):""}get contentBlocks(){let e=typeof this.content=="string"?[{type:"text",text:this.content}]:this.content;return[BCt,Xpe,qCt].reduce((o,i)=>i(o),e)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance(e){return typeof e=="object"&&e!==null&&_Be in e&&e[_Be]===!0&&Zpe(e)}_updateId(e){this.id=e,this.lc_kwargs.id=e}get[(GCt=_Be,Symbol.toStringTag)](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](e){if(e===null)return this;let r=xdn(this._printableFields,Math.max(4,e));return`${this.constructor.lc_name()} ${r}`}toFormattedString(e="pretty"){return JCt(this,e)}};Mb=class ZCt extends id{static isInstance(e){if(!super.isInstance(e))return!1;let r=Object.getPrototypeOf(e);for(;r!==null;){if(r===ZCt.prototype)return!0;r=Object.getPrototypeOf(r)}return!1}}});function FQ(t){return t!=null&&typeof t=="object"&&"lc_direct_tool_output"in t&&t.lc_direct_tool_output===!0}function kQ(t){let e=[],r=[];for(let n of t)if(n.function){let o=n.function.name;try{let i=JSON.parse(n.function.arguments);e.push({name:o||"",args:i||{},id:n.id})}catch{r.push({name:o,args:n.function.arguments,id:n.id,error:"Malformed args."})}}else continue;return[e,r]}function qQ(t){return typeof t=="object"&&t!==null&&"getType"in t&&typeof t.getType=="function"&&t.getType()==="tool"}function vBe(t){return t._getType()==="tool"}var Tdn,Mh,_S,G6=v(()=>{Jo();Oy();Tdn={};$t(Tdn,{ToolMessage:()=>Mh,ToolMessageChunk:()=>_S,defaultToolCallParser:()=>kQ,isDirectToolOutput:()=>FQ,isToolMessage:()=>qQ,isToolMessageChunk:()=>vBe});Mh=class extends id{constructor(e,r,n){let o=typeof e=="string"||Array.isArray(e)?{content:e,name:n,tool_call_id:r}:e;super(o);x(this,"lc_direct_tool_output",!0);x(this,"type","tool");x(this,"status");x(this,"tool_call_id");x(this,"metadata");x(this,"artifact");this.tool_call_id=o.tool_call_id,this.artifact=o.artifact,this.status=o.status,this.metadata=o.metadata}static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}static isInstance(e){return super.isInstance(e)&&e.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},_S=class extends Mb{constructor(e){super(e);x(this,"type","tool");x(this,"tool_call_id");x(this,"status");x(this,"artifact");this.tool_call_id=e.tool_call_id,this.artifact=e.artifact,this.status=e.status}static lc_name(){return"ToolMessageChunk"}concat(e){let r=this.constructor;return new r({content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:Fl(this.response_metadata,e.response_metadata),artifact:Qpe(this.artifact,e.artifact),tool_call_id:this.tool_call_id,id:this.id??e.id,status:Ype(this.status,e.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}}});function QCt(t){return t._getType()==="generic"}function ext(t){return t._getType()==="generic"}var Td,ew,UQ=v(()=>{Oy();Td=class YCt extends id{constructor(r,n){(typeof r=="string"||Array.isArray(r))&&(r={content:r,role:n});super(r);x(this,"type","generic");x(this,"role");this.role=r.role}static lc_name(){return"ChatMessage"}static _chatMessageClass(){return YCt}static isInstance(r){return super.isInstance(r)&&r.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},ew=class extends Mb{constructor(e,r){(typeof e=="string"||Array.isArray(e))&&(e={content:e,role:r});super(e);x(this,"type","generic");x(this,"role");this.role=e.role}static lc_name(){return"ChatMessageChunk"}concat(e){let r=this.constructor;return new r({content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:Fl(this.response_metadata,e.response_metadata),role:this.role,id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}}});function txt(t){return t._getType()==="function"}function rxt(t){return t._getType()==="function"}var Iz,tw,tme=v(()=>{Oy();Iz=class extends id{constructor(e){super(e);x(this,"type","function");x(this,"name");this.name=e.name}static lc_name(){return"FunctionMessage"}},tw=class extends Mb{constructor(){super(...arguments);x(this,"type","function")}static lc_name(){return"FunctionMessageChunk"}concat(e){let r=this.constructor;return new r({content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:Fl(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}}});function nxt(t){return t.getType()==="human"}function oxt(t){return t.getType()==="human"}var qs,rw,zL=v(()=>{Oy();qs=class extends id{constructor(e){super(e);x(this,"type","human")}static lc_name(){return"HumanMessage"}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},rw=class extends Mb{constructor(e){super(e);x(this,"type","human")}static lc_name(){return"HumanMessageChunk"}concat(e){let r=this.constructor;return new r({content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:Fl(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}}});var Az,rme=v(()=>{Oy();Az=class extends id{constructor(e){super({...e,content:[]});x(this,"type","remove");x(this,"id");this.id=e.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(e){return super.isInstance(e)&&e.type==="remove"}}});function ixt(t){return t._getType()==="system"}function axt(t){return t._getType()==="system"}var Od,Rb,BQ=v(()=>{Oy();Od=class nme extends id{constructor(r){super(r);x(this,"type","system")}static lc_name(){return"SystemMessage"}concat(r){if(typeof r=="string")return new nme({...this,content:Ty(this.content,r)});if(nme.isInstance(r))return new nme({...this,additional_kwargs:{...this.additional_kwargs,...r.additional_kwargs},response_metadata:{...this.response_metadata,...r.response_metadata},content:Ty(this.content,r.content)});throw new Error("Unexpected chunk type for system message")}static isInstance(r){return super.isInstance(r)&&r.type==="system"}},Rb=class extends Mb{constructor(e){super(e);x(this,"type","system")}static lc_name(){return"SystemMessageChunk"}concat(e){let r=this.constructor;return new r({content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:Fl(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}}});function wBe(t){switch(t){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function Odn(t){if(wn(t.document)&&wn(t.document.source)){let e=wn(t.document)&&Tt(t.document.format)?t.document.format:"",r=wBe(e);if(wn(t.document.source)){if(wn(t.document.source.s3Location)&&Tt(t.document.source.s3Location.uri))return{type:"file",mimeType:r,fileId:t.document.source.s3Location.uri};if(Gpe(t.document.source.bytes))return{type:"file",mimeType:r,data:t.document.source.bytes};if(Tt(t.document.source.text))return{type:"file",mimeType:r,data:Buffer.from(t.document.source.text).toString("base64")};if(xy(t.document.source.content)){let n=t.document.source.content.reduce((o,i)=>wn(i)&&Tt(i.text)?o+i.text:o,"");return{type:"file",mimeType:r,data:n}}}}return{type:"non_standard",value:t}}function Edn(t){if(Ir(t,"image")&&wn(t.image)){let e=wn(t.image)&&Tt(t.image.format)?t.image.format:"",r=wBe(e);if(wn(t.image.source)){if(wn(t.image.source.s3Location)&&Tt(t.image.source.s3Location.uri))return{type:"image",mimeType:r,fileId:t.image.source.s3Location.uri};if(Gpe(t.image.source.bytes))return{type:"image",mimeType:r,data:t.image.source.bytes}}}return{type:"non_standard",value:t}}function Pdn(t){if(Ir(t,"video")&&wn(t.video)){let e=wn(t.video)&&Tt(t.video.format)?t.video.format:"",r=wBe(e);if(wn(t.video.source)){if(wn(t.video.source.s3Location)&&Tt(t.video.source.s3Location.uri))return{type:"video",mimeType:r,fileId:t.video.source.s3Location.uri};if(Gpe(t.video.source.bytes))return{type:"video",mimeType:r,data:t.video.source.bytes}}}return{type:"non_standard",value:t}}function sxt(t){function*e(){let r=typeof t.content=="string"?[{type:"text",text:t.content}]:t.content;for(let n of r){if(Ir(n,"cache_point")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"citations_content")&&wn(n.citationsContent)){let o=xy(n.citationsContent.content)?n.citationsContent.content.reduce((a,s)=>wn(s)&&Tt(s.text)?a+s.text:a,""):"",i=xy(n.citationsContent.citations)?n.citationsContent.citations.reduce((a,s)=>{if(wn(s)){let u=xy(s.sourceContent)?s.sourceContent.reduce((c,d)=>wn(d)&&Tt(d.text)?c+d.text:c,""):"",l=UN(()=>{if(wn(s.location)){let c=s.location.documentChar||s.location.documentPage||s.location.documentChunk;if(wn(c))return{source:Qv(c.documentIndex)?c.documentIndex.toString():void 0,startIndex:Qv(c.start)?c.start:void 0,endIndex:Qv(c.end)?c.end:void 0}}return{}});a.push({type:"citation",citedText:u,...l})}return a},[]):[];yield{type:"text",text:o,annotations:i};continue}else if(Ir(n,"document")&&wn(n.document)){yield Odn(n);continue}else if(Ir(n,"guard_content")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"image")&&wn(n.image)){yield Edn(n);continue}else if(Ir(n,"reasoning_content")&&Tt(n.reasoningText)){yield{type:"reasoning",reasoning:n.reasoningText};continue}else if(Ir(n,"text")&&Tt(n.text)){yield{type:"text",text:n.text};continue}else if(Ir(n,"tool_result")){yield{type:"non_standard",value:n};continue}else{if(Ir(n,"tool_call"))continue;if(Ir(n,"video")&&wn(n.video)){yield Pdn(n);continue}}yield{type:"non_standard",value:n}}}return Array.from(e())}var uxt,lxt=v(()=>{qC();uxt={translateContent:sxt,translateContentChunk:sxt}});function cxt(t){let e=[],r=t.additional_kwargs?.reasoning_content;if(Tt(r)&&r.length>0&&e.push({type:"reasoning",reasoning:r}),typeof t.content=="string")t.content.length>0&&e.push({type:"text",text:t.content});else for(let n of t.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&Tt(n.text)&&e.push({type:"text",text:n.text});for(let n of t.tool_calls??[])e.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return e}var dxt,fxt=v(()=>{qC();dxt={translateContent:cxt,translateContentChunk:cxt}});function pxt(t){function*e(){let r=typeof t.content=="string"?[{type:"text",text:t.content}]:t.content;for(let n of r){if(Ir(n,"text")&&Tt(n.text)){yield{type:"text",text:n.text};continue}else if(Ir(n,"thinking")&&Tt(n.thinking)){yield{type:"reasoning",reasoning:n.thinking,...n.signature?{signature:n.signature}:{}};continue}else if(Ir(n,"inlineData")&&wn(n.inlineData)&&Tt(n.inlineData.mimeType)&&Tt(n.inlineData.data)){yield{type:"file",mimeType:n.inlineData.mimeType,data:n.inlineData.data};continue}else if(Ir(n,"functionCall")&&wn(n.functionCall)&&Tt(n.functionCall.name)&&wn(n.functionCall.args)){yield{type:"tool_call",id:t.id,name:n.functionCall.name,args:n.functionCall.args};continue}else if(Ir(n,"functionResponse")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"fileData")&&wn(n.fileData)&&Tt(n.fileData.mimeType)&&Tt(n.fileData.fileUri)){yield{type:"file",mimeType:n.fileData.mimeType,fileId:n.fileData.fileUri};continue}else if(Ir(n,"executableCode")){yield{type:"non_standard",value:n};continue}else if(Ir(n,"codeExecutionResult")){yield{type:"non_standard",value:n};continue}yield{type:"non_standard",value:n}}}return Array.from(e())}var mxt,hxt=v(()=>{qC();mxt={translateContent:pxt,translateContentChunk:pxt}});function gxt(t){function*e(){let r=typeof t.content=="string"?[{type:"text",text:t.content}]:t.content;for(let n of r){if(Ir(n,"reasoning")&&Tt(n.reasoning)){let o=UN(()=>{let i=r.indexOf(n);if(xy(t.additional_kwargs?.signatures)&&i>=0)return t.additional_kwargs.signatures.at(i)});Tt(o)?yield{type:"reasoning",reasoning:n.reasoning,signature:o}:yield{type:"reasoning",reasoning:n.reasoning};continue}else if(Ir(n,"thinking")&&Tt(n.thinking)){yield{type:"reasoning",reasoning:n.thinking,...n.signature?{signature:n.signature}:{}};continue}else if(Ir(n,"text")&&Tt(n.text)){yield{type:"text",text:n.text};continue}else if(Ir(n,"image_url")){if(Tt(n.image_url))if(n.image_url.startsWith("data:")){let o=/^data:([^;]+);base64,(.+)$/,i=n.image_url.match(o);i?yield{type:"image",data:i[2],mimeType:i[1]}:yield{type:"image",url:n.image_url}}else yield{type:"image",url:n.image_url};continue}else if(Ir(n,"media")&&Tt(n.mimeType)&&Tt(n.data)){yield{type:"file",mimeType:n.mimeType,data:n.data};continue}yield{type:"non_standard",value:n}}}return Array.from(e())}var yxt,bxt=v(()=>{qC();yxt={translateContent:gxt,translateContentChunk:gxt}});function _xt(t){let e=[],r=t.additional_kwargs?.reasoning;if(Tt(r)&&r.length>0&&e.push({type:"reasoning",reasoning:r}),typeof t.content=="string"){let n=t.content,o=n.match(/([\s\S]*?)<\/think>/);if(o){let i=o[1].trim();i.length>0&&e.push({type:"reasoning",reasoning:i}),n=n.replace(/[\s\S]*?<\/think>/,"").trim()}n.length>0&&e.push({type:"text",text:n})}else for(let n of t.content)if(typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&Tt(n.text)){let o=n.text,i=o.match(/([\s\S]*?)<\/think>/);if(i){let a=i[1].trim();a.length>0&&e.push({type:"reasoning",reasoning:a}),o=o.replace(/[\s\S]*?<\/think>/,"").trim()}o.length>0&&e.push({type:"text",text:o})}for(let n of t.tool_calls??[])e.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return e}var vxt,wxt=v(()=>{qC();vxt={translateContent:_xt,translateContentChunk:_xt}});function Sxt(t){let e=[],r=t.additional_kwargs?.reasoning_content;if(Tt(r)&&r.length>0&&e.push({type:"reasoning",reasoning:r}),typeof t.content=="string")t.content.length>0&&e.push({type:"text",text:t.content});else for(let n of t.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&Tt(n.text)&&e.push({type:"text",text:n.text});for(let n of t.tool_calls??[])e.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return e}var Cxt,xxt=v(()=>{qC();Cxt={translateContent:Sxt,translateContentChunk:Sxt}});function Txt(t){let e=[];if(wn(t.additional_kwargs?.reasoning)){let n=t.additional_kwargs.reasoning;if(xy(n.summary)){let o=n.summary.reduce((i,a)=>wn(a)&&Tt(a.text)?`${i}${a.text}`:i,"");o.length>0&&e.push({type:"reasoning",reasoning:o})}}let r=t.additional_kwargs?.reasoning_content;if(Tt(r)&&r.length>0&&e.push({type:"reasoning",reasoning:r}),typeof t.content=="string")t.content.length>0&&e.push({type:"text",text:t.content});else for(let n of t.content)typeof n=="object"&&"type"in n&&n.type==="text"&&"text"in n&&Tt(n.text)&&e.push({type:"text",text:n.text});for(let n of t.tool_calls??[])e.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return e}var Oxt,Ext=v(()=>{qC();Oxt={translateContent:Txt,translateContentChunk:Txt}});function SBe(t){return globalThis.lc_block_translators_registry.get(t)}var Pxt=v(()=>{hBe();yBe();lxt();fxt();hxt();bxt();wxt();xxt();Ext();globalThis.lc_block_translators_registry??(globalThis.lc_block_translators_registry=new Map([["anthropic",UCt],["bedrock-converse",uxt],["deepseek",dxt],["google-genai",mxt],["google-vertexai",yxt],["groq",vxt],["ollama",Cxt],["openai",WCt],["xai",Oxt]]))});function ome(t,e){return Fl(t,e)??{}}function Mxt(t,e){let r={};return(t?.audio!==void 0||e?.audio!==void 0)&&(r.audio=(t?.audio??0)+(e?.audio??0)),(t?.image!==void 0||e?.image!==void 0)&&(r.image=(t?.image??0)+(e?.image??0)),(t?.video!==void 0||e?.video!==void 0)&&(r.video=(t?.video??0)+(e?.video??0)),(t?.document!==void 0||e?.document!==void 0)&&(r.document=(t?.document??0)+(e?.document??0)),(t?.text!==void 0||e?.text!==void 0)&&(r.text=(t?.text??0)+(e?.text??0)),r}function Mdn(t,e){let r={...Mxt(t,e)};return(t?.cache_read!==void 0||e?.cache_read!==void 0)&&(r.cache_read=(t?.cache_read??0)+(e?.cache_read??0)),(t?.cache_creation!==void 0||e?.cache_creation!==void 0)&&(r.cache_creation=(t?.cache_creation??0)+(e?.cache_creation??0)),r}function Rdn(t,e){let r={...Mxt(t,e)};return(t?.reasoning!==void 0||e?.reasoning!==void 0)&&(r.reasoning=(t?.reasoning??0)+(e?.reasoning??0)),r}function X6(t,e){return{input_tokens:(t?.input_tokens??0)+(e?.input_tokens??0),output_tokens:(t?.output_tokens??0)+(e?.output_tokens??0),total_tokens:(t?.total_tokens??0)+(e?.total_tokens??0),input_token_details:Mdn(t?.input_token_details,e?.input_token_details),output_token_details:Rdn(t?.output_token_details,e?.output_token_details)}}var ime=v(()=>{Oy()});function kl(t){return t._getType()==="ai"}function zQ(t){return t._getType()==="ai"}var Pn,Er,vS=v(()=>{Oy();Pxt();ime();G6();UC();Pn=class extends id{constructor(e){let r;if(typeof e=="string"||Array.isArray(e))r={content:e,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{r=e;let n=r.additional_kwargs?.tool_calls,o=r.tool_calls;n!=null&&n.length>0&&(o===void 0||o.length===0)&&console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
-
-Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(n!=null&&o===void 0){let[i,a]=kQ(n);r.tool_calls=i??[],r.invalid_tool_calls=a??[]}else r.tool_calls=r.tool_calls??[],r.invalid_tool_calls=r.invalid_tool_calls??[]}catch{r.tool_calls=[],r.invalid_tool_calls=[]}if(r.response_metadata!==void 0&&"output_version"in r.response_metadata&&r.response_metadata.output_version==="v1"&&(r.contentBlocks=r.content,r.content=void 0),r.contentBlocks!==void 0){r.tool_calls&&r.contentBlocks.push(...r.tool_calls.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})));let i=r.contentBlocks.filter(a=>a.type==="tool_call").filter(a=>!r.tool_calls?.some(s=>s.id===a.id&&s.name===a.name));i.length>0&&(r.tool_calls=i.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}}super(r);x(this,"type","ai");x(this,"tool_calls",[]);x(this,"invalid_tool_calls",[]);x(this,"usage_metadata");typeof r!="string"&&(this.tool_calls=r.tool_calls??this.tool_calls,this.invalid_tool_calls=r.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=r.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls"}}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let r=SBe(this.response_metadata.model_provider);if(r)return r.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let r=this.tool_calls.filter(n=>!e.some(o=>o.id===n.id&&o.name===n.name));e.push(...r.map(n=>({type:"tool_call",id:n.id,name:n.name,args:n.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};Er=class extends Mb{constructor(e){let r;if(typeof e=="string"||Array.isArray(e))r={content:e,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(e.tool_call_chunks===void 0||e.tool_call_chunks.length===0)r={...e,tool_calls:e.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0};else{let n=ame(e.tool_call_chunks??[]);r={...e,tool_call_chunks:n.tool_call_chunks,tool_calls:n.tool_calls,invalid_tool_calls:n.invalid_tool_calls,usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0}}super(r);x(this,"type","ai");x(this,"tool_calls",[]);x(this,"invalid_tool_calls",[]);x(this,"tool_call_chunks",[]);x(this,"usage_metadata");this.tool_call_chunks=r.tool_call_chunks??this.tool_call_chunks,this.tool_calls=r.tool_calls??this.tool_calls,this.invalid_tool_calls=r.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=r.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let r=SBe(this.response_metadata.model_provider);if(r)return r.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls&&typeof this.content!="string"){let r=this.content.filter(n=>n.type==="tool_call").map(n=>n.id);for(let n of this.tool_calls)n.id&&!r.includes(n.id)&&e.push({...n,type:"tool_call",id:n.id,name:n.name,args:n.args})}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat(e){let r={content:Ty(this.content,e.content),additional_kwargs:Fl(this.additional_kwargs,e.additional_kwargs),response_metadata:ome(this.response_metadata,e.response_metadata),tool_call_chunks:[],id:this.id??e.id};if(this.tool_call_chunks!==void 0||e.tool_call_chunks!==void 0){let o=Rz(this.tool_call_chunks,e.tool_call_chunks);o!==void 0&&o.length>0&&(r.tool_call_chunks=o)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(r.usage_metadata=X6(this.usage_metadata,e.usage_metadata));let n=this.constructor;return new n(r)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}}});function Idn(t){return qL(t)?t:typeof t.id=="string"&&t.type==="function"&&typeof t.function=="object"&&t.function!==null&&"arguments"in t.function&&typeof t.function.arguments=="string"&&"name"in t.function&&typeof t.function.name=="string"?{id:t.id,args:JSON.parse(t.function.arguments),name:t.function.name,type:"tool_call"}:t}function Adn(t){return typeof t=="object"&&t!=null&&t.lc===1&&Array.isArray(t.id)&&t.kwargs!=null&&typeof t.kwargs=="object"}function CBe(t){let e,r;if(Adn(t)){let n=t.id.at(-1);n==="HumanMessage"||n==="HumanMessageChunk"?e="user":n==="AIMessage"||n==="AIMessageChunk"?e="assistant":n==="SystemMessage"||n==="SystemMessageChunk"?e="system":n==="FunctionMessage"||n==="FunctionMessageChunk"?e="function":n==="ToolMessage"||n==="ToolMessageChunk"?e="tool":e="unknown",r=t.kwargs}else{let{type:n,...o}=t;e=n,r=o}if(e==="human"||e==="user")return new qs(r);if(e==="ai"||e==="assistant"){let{tool_calls:n,...o}=r;if(!Array.isArray(n))return new Pn(r);let i=n.map(Idn);return new Pn({...o,tool_calls:i})}else{if(e==="system")return new Od(r);if(e==="developer")return new Od({...r,additional_kwargs:{...r.additional_kwargs,__openai_role__:"developer"}});if(e==="tool"&&"tool_call_id"in r)return new Mh({...r,content:r.content,tool_call_id:r.tool_call_id,name:r.name});if(e==="remove"&&"id"in r&&typeof r.id=="string")return new Az({...r,id:r.id});throw FL(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
-
-Received: ${JSON.stringify(t,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function wS(t){if(typeof t=="string")return new qs(t);if(xg(t))return t;if(Array.isArray(t)){let[e,r]=t;return CBe({type:e,content:r})}else if(eme(t)){let{role:e,...r}=t;return CBe({...r,type:e})}else return CBe(t)}function fl(t,e="Human",r="AI"){let n=[];for(let o of t){let i;if(o.type==="human")i=e;else if(o.type==="ai")i=r;else if(o.type==="system")i="System";else if(o.type==="tool")i="Tool";else if(o.type==="generic")i=o.role;else throw new Error(`Got unsupported message type: ${o.type}`);let a=o.name?`${o.name}, `:"",s=o.text,u=`${i}: ${a}${s}`;if(o.type==="ai"){let l=o;l.tool_calls&&l.tool_calls.length>0?u+=JSON.stringify(l.tool_calls):l.additional_kwargs&&"function_call"in l.additional_kwargs&&(u+=JSON.stringify(l.additional_kwargs.function_call))}n.push(u)}return n.join(`
-`)}function Ndn(t){if(t.data!==void 0)return t;{let e=t;return{type:e.type,data:{content:e.text,role:e.role,name:void 0,tool_call_id:void 0}}}}function VQ(t){let e=Ndn(t);switch(e.type){case"human":return new qs(e.data);case"ai":return new Pn(e.data);case"system":return new Od(e.data);case"function":if(e.data.name===void 0)throw new Error("Name must be defined for function messages");return new Iz(e.data);case"tool":if(e.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new Mh(e.data);case"generic":if(e.data.role===void 0)throw new Error("Role must be defined for chat messages");return new Td(e.data);default:throw new Error(`Got unexpected type: ${e.type}`)}}function Rxt(t){return t.map(VQ)}function Ixt(t){return t.map(e=>e.toDict())}function Nz(t){let e=t._getType();if(e==="human")return new rw({...t});if(e==="ai"){let r={...t};return"tool_calls"in r&&(r={...r,tool_call_chunks:r.tool_calls?.map(n=>({...n,type:"tool_call_chunk",index:void 0,args:JSON.stringify(n.args)}))}),new Er({...r})}else{if(e==="system")return new Rb({...t});if(e==="function")return new tw({...t});if(Td.isInstance(t))return new ew({...t});throw new Error("Unknown message type.")}}function ame(t){let e=t.reduce((o,i)=>{let a=o.findIndex(([s])=>"id"in i&&i.id&&"index"in i&&i.index!==void 0?i.id===s.id&&i.index===s.index:"id"in i&&i.id?i.id===s.id:"index"in i&&i.index!==void 0?i.index===s.index:!1);return a!==-1?o[a].push(i):o.push([i]),o},[]),r=[],n=[];for(let o of e){let i=null,a=o[0]?.name??"",s=o.map(c=>c.args||"").join("").trim(),u=s.length?s:"{}",l=o[0]?.id;try{if(i=Mz(u),!l||i===null||typeof i!="object"||Array.isArray(i))throw new Error("Malformed tool call chunk args.");r.push({name:a,args:i,id:l,type:"tool_call"})}catch{n.push({name:a,args:u,id:l,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:t,tool_calls:r,invalid_tool_calls:n}}var sme,UC=v(()=>{Oy();G6();DQ();Wpe();NQ();UQ();tme();zL();rme();BQ();vS();sme=t=>t()});function TBe(){return xBe===void 0&&(xBe={library:"langchain-js",runtime:lme()}),xBe}function Xr(t){try{return typeof process<"u"?process.env?.[t]:ume()?Deno?.env.get(t):void 0}catch{return}}var Ddn,Axt,Nxt,Dxt,ume,jxt,lme,xBe,au=v(()=>{Jo();Ddn={};$t(Ddn,{getEnv:()=>lme,getEnvironmentVariable:()=>Xr,getRuntimeEnvironment:()=>TBe,isBrowser:()=>Axt,isDeno:()=>ume,isJsDom:()=>Dxt,isNode:()=>jxt,isWebWorker:()=>Nxt});Axt=()=>typeof window<"u"&&typeof window.document<"u",Nxt=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",Dxt=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),ume=()=>typeof Deno<"u",jxt=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!ume(),lme=()=>{let t;return Axt()?t="browser":jxt()?t="node":Nxt()?t="webworker":Dxt()?t="jsdom":ume()?t="deno":t="other",t}});var $xt,Lxt=v(()=>{$xt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});function jdn(t){return typeof t=="string"&&$xt.test(t)}var Z6,Fxt=v(()=>{Lxt();Z6=jdn});function dme(t,e=0){return(Tg[t[e+0]]+Tg[t[e+1]]+Tg[t[e+2]]+Tg[t[e+3]]+"-"+Tg[t[e+4]]+Tg[t[e+5]]+"-"+Tg[t[e+6]]+Tg[t[e+7]]+"-"+Tg[t[e+8]]+Tg[t[e+9]]+"-"+Tg[t[e+10]]+Tg[t[e+11]]+Tg[t[e+12]]+Tg[t[e+13]]+Tg[t[e+14]]+Tg[t[e+15]]).toLowerCase()}var Tg,cme,OBe=v(()=>{Tg=[];for(cme=0;cme<256;++cme)Tg.push((cme+256).toString(16).slice(1))});function HQ(){if(!fme&&(fme=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!fme))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return fme($dn)}var fme,$dn,EBe=v(()=>{$dn=new Uint8Array(16)});var Ldn,PBe,kxt=v(()=>{Ldn=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),PBe={randomUUID:Ldn}});function Fdn(t,e,r){if(PBe.randomUUID&&!e&&!t)return PBe.randomUUID();t=t||{};var n=t.random||(t.rng||HQ)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(var o=0;o<16;++o)e[r+o]=n[o];return e}return dme(n)}var WQ,qxt=v(()=>{kxt();EBe();OBe();WQ=Fdn});function kdn(t,e,r){t=t||{};var n=e&&r||0,o=e||new Uint8Array(16),i=t.random||(t.rng||HQ)(),a=t.msecs!==void 0?t.msecs:Date.now(),s=t.seq!==void 0?t.seq:null,u=Bxt,l=Uxt;return a>BC&&t.msecs===void 0&&(BC=a,s!==null&&(u=null,l=null)),s!==null&&(s>2147483647&&(s=2147483647),u=s>>>19&4095,l=s&524287),(u===null||l===null)&&(u=i[6]&127,u=u<<8|i[7],l=i[8]&63,l=l<<8|i[9],l=l<<5|i[10]>>>3),a+1e4>BC&&s===null?++l>524287&&(l=0,++u>4095&&(u=0,BC++)):BC=a,Bxt=u,Uxt=l,o[n++]=BC/1099511627776&255,o[n++]=BC/4294967296&255,o[n++]=BC/16777216&255,o[n++]=BC/65536&255,o[n++]=BC/256&255,o[n++]=BC&255,o[n++]=u>>>4&15|112,o[n++]=u&255,o[n++]=l>>>13&63|128,o[n++]=l>>>5&255,o[n++]=l<<3&255|i[10]&7,o[n++]=i[11],o[n++]=i[12],o[n++]=i[13],o[n++]=i[14],o[n++]=i[15],e||dme(o)}var Uxt,Bxt,BC,XT,zxt=v(()=>{EBe();OBe();Uxt=null,Bxt=null,BC=0;XT=kdn});var JQ=v(()=>{qxt();zxt();Fxt()});function KQ(t){return"lc_prefer_streaming"in t&&t.lc_prefer_streaming}var Udn,Bdn,Dz,MBe,GQ=v(()=>{Jo();kL();au();JQ();Udn={};$t(Udn,{BaseCallbackHandler:()=>Dz,callbackHandlerPrefersStreaming:()=>KQ,isBaseCallbackHandler:()=>MBe});Bdn=class{};Dz=class extends Bdn{constructor(e){super();x(this,"lc_serializable",!1);x(this,"lc_kwargs");x(this,"ignoreLLM",!1);x(this,"ignoreChain",!1);x(this,"ignoreAgent",!1);x(this,"ignoreRetriever",!1);x(this,"ignoreCustomEvent",!1);x(this,"raiseError",!1);x(this,"awaitHandlers",Xr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false");this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,Hpe(this.constructor)]}copy(){return new this.constructor(this)}toJSON(){return Cg.prototype.toJSON.call(this)}toJSONNotImplemented(){return Cg.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class r extends Dz{constructor(){super();x(this,"name",XT());Object.assign(this,e)}}return new r}},MBe=t=>{let e=t;return e!==void 0&&typeof e.copy=="function"&&typeof e.name=="string"&&typeof e.awaitHandlers=="boolean"}});var Vxt,Hxt=v(()=>{Vxt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});function zdn(t){return typeof t=="string"&&Vxt.test(t)}var Wxt,Jxt=v(()=>{Hxt();Wxt=zdn});function Vdn(t){if(!Wxt(t))throw TypeError("Invalid UUID");var e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}var Kxt,Gxt=v(()=>{Jxt();Kxt=Vdn});function Y6(t,e=0){return(Og[t[e+0]]+Og[t[e+1]]+Og[t[e+2]]+Og[t[e+3]]+"-"+Og[t[e+4]]+Og[t[e+5]]+"-"+Og[t[e+6]]+Og[t[e+7]]+"-"+Og[t[e+8]]+Og[t[e+9]]+"-"+Og[t[e+10]]+Og[t[e+11]]+Og[t[e+12]]+Og[t[e+13]]+Og[t[e+14]]+Og[t[e+15]]).toLowerCase()}var Og,pme,mme=v(()=>{Og=[];for(pme=0;pme<256;++pme)Og.push((pme+256).toString(16).slice(1))});function XQ(){if(!hme&&(hme=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!hme))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return hme(Hdn)}var hme,Hdn,RBe=v(()=>{Hdn=new Uint8Array(16)});function Wdn(t){t=unescape(encodeURIComponent(t));for(var e=[],r=0;r{mme();Gxt();Jdn="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Kdn="6ba7b811-9dad-11d1-80b4-00c04fd430c8"});var Gdn,ABe,Zxt=v(()=>{Gdn=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ABe={randomUUID:Gdn}});function Xdn(t,e,r){if(ABe.randomUUID&&!e&&!t)return ABe.randomUUID();t=t||{};var n=t.random||(t.rng||XQ)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(var o=0;o<16;++o)e[r+o]=n[o];return e}return Y6(n)}var jz,Yxt=v(()=>{Zxt();RBe();mme();jz=Xdn});function Zdn(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:return e^r^n;case 2:return e&r^e&n^r&n;case 3:return e^r^n}}function NBe(t,e){return t<>>32-e}function Ydn(t){var e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var n=unescape(encodeURIComponent(t));t=[];for(var o=0;o>>0;_=b,b=g,g=NBe(y,30)>>>0,y=h,h=O}r[0]=r[0]+h>>>0,r[1]=r[1]+y>>>0,r[2]=r[2]+g>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+_>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}var Qxt,eTt=v(()=>{Qxt=Ydn});var Qdn,DBe,tTt=v(()=>{Xxt();eTt();Qdn=IBe("v5",80,Qxt),DBe=Qdn});function efn(t,e,r){t=t||{};var n=e&&r||0,o=e||new Uint8Array(16),i=t.random||(t.rng||XQ)(),a=t.msecs!==void 0?t.msecs:Date.now(),s=t.seq!==void 0?t.seq:null,u=nTt,l=rTt;return a>zC&&t.msecs===void 0&&(zC=a,s!==null&&(u=null,l=null)),s!==null&&(s>2147483647&&(s=2147483647),u=s>>>19&4095,l=s&524287),(u===null||l===null)&&(u=i[6]&127,u=u<<8|i[7],l=i[8]&63,l=l<<8|i[9],l=l<<5|i[10]>>>3),a+1e4>zC&&s===null?++l>524287&&(l=0,++u>4095&&(u=0,zC++)):zC=a,nTt=u,rTt=l,o[n++]=zC/1099511627776&255,o[n++]=zC/4294967296&255,o[n++]=zC/16777216&255,o[n++]=zC/65536&255,o[n++]=zC/256&255,o[n++]=zC&255,o[n++]=u>>>4&15|112,o[n++]=u&255,o[n++]=l>>>13&63|128,o[n++]=l>>>5&255,o[n++]=l<<3&255|i[10]&7,o[n++]=i[11],o[n++]=i[12],o[n++]=i[13],o[n++]=i[14],o[n++]=i[15],e||Y6(o)}var rTt,nTt,zC,jBe,oTt=v(()=>{RBe();mme();rTt=null,nTt=null,zC=0;jBe=efn});var gme=v(()=>{Yxt();tTt();oTt()});var iTt,aTt,$Be,sTt,LBe,FBe,kBe,uTt,lTt,cTt,dTt,fTt,pTt,mTt,hTt,gTt,yTt,bTt,_Tt,vTt,wTt,STt,CTt,xTt,TTt,OTt,ETt,PTt,MTt,RTt,qBe,ITt,ATt,NTt=v(()=>{iTt="gen_ai.operation.name",aTt="gen_ai.system",$Be="gen_ai.request.model",sTt="gen_ai.response.model",LBe="gen_ai.usage.input_tokens",FBe="gen_ai.usage.output_tokens",kBe="gen_ai.usage.total_tokens",uTt="gen_ai.request.max_tokens",lTt="gen_ai.request.temperature",cTt="gen_ai.request.top_p",dTt="gen_ai.request.frequency_penalty",fTt="gen_ai.request.presence_penalty",pTt="gen_ai.response.finish_reasons",mTt="gen_ai.prompt",hTt="gen_ai.completion",gTt="gen_ai.request.extra_query",yTt="gen_ai.request.extra_body",bTt="gen_ai.serialized.name",_Tt="gen_ai.serialized.signature",vTt="gen_ai.serialized.doc",wTt="gen_ai.response.id",STt="gen_ai.response.service_tier",CTt="gen_ai.response.system_fingerprint",xTt="gen_ai.usage.input_token_details",TTt="gen_ai.usage.output_token_details",OTt="langsmith.trace.session_id",ETt="langsmith.trace.session_name",PTt="langsmith.span.kind",MTt="langsmith.trace.name",RTt="langsmith.metadata",qBe="langsmith.span.tags",ITt="langsmith.request.streaming",ATt="langsmith.request.headers"});var nfn,ofn,DTt,jTt,$Tt,UBe=v(()=>{BN();nfn=(...t)=>fetch(...t),DTt=Symbol.for("ls:fetch_implementation"),jTt=()=>globalThis[DTt]===void 0?!0:ofn??!1,$Tt=t=>async(...e)=>{if(t||ad("DEBUG")==="true"){let[n,o]=e;console.log(`\u2192 ${o?.method||"GET"} ${n}`)}let r=await(globalThis[DTt]??nfn)(...e);return(t||ad("DEBUG")==="true")&&console.log(`\u2190 ${r.status} ${r.statusText} ${r.url}`),r}});var ZQ,BBe=v(()=>{BN();ZQ=()=>ad("PROJECT")??nw("LANGCHAIN_SESSION")??"default"});function $z(t){LTt[t]||(console.warn(t),LTt[t]=!0)}var LTt,yme=v(()=>{LTt={}});function lfn(t){let e=new Uint8Array(t.length/2);for(let r=0;r>Qe(32)-e)&wme}function HTt(t,e,r){for(let n=0;n>Qe(32))}return t}function FTt(t,e,r,n){for(let o=0;o128),n=gfn(n,t,e,HTt,hfn),tJ(n.length*8==64);{let o=kTt(n,Ju(e,11),Qe(t.byteLength)*VL&ii);return kTt(n,Ju(e,e.byteLength-zN-11),~(Qe(t.byteLength)*Lz)&ii)<>Qe(64)}function qTt(t,e,r){return WTt((pl(t,0)^pl(e,0)+r)&ii,(pl(t,8)^pl(e,8)-r)&ii)}function vme(t,e,r,n,o){let i=t&ii,a=t>>Qe(64)ⅈreturn i+=qTt(e,n,o),i^=pl(r,0)+pl(r,8),i&=ii,a+=qTt(r,Ju(n,16),o),a^=pl(e,0)+pl(e,8),a&=ii,a<>Qe(37),t*=sfn,t&=ii,t^=t>>Qe(32),t}function Sme(t){return t^=t>>Qe(33),t*=Lz,t&=ii,t^=t>>Qe(29),t*=zTt,t&=ii,t^=t>>Qe(32),t}function bfn(t,e,r){let n=t.byteLength;tJ(n>0&&n<=3);let o=Qe(zBe(t,n-1))|Qe(n<<8)|Qe(zBe(t,0)<<16)|Qe(zBe(t,n>>1)<<24),i=(Qe(Q6(e,0))^Qe(Q6(e,4)))+r,a=(o^i)&ii,s=(Qe(Q6(e,8))^Qe(Q6(e,12)))-r,u=(mfn(ffn(o),Qe(13))^s)ⅈreturn(Sme(u)&ii)<>e}function _fn(t,e,r){let n=t.byteLength;tJ(n>=4&&n<=8);{let o=Q6(t,0),i=Q6(t,n-4),a=Qe(o)|Qe(i)<>Qe(67),VBe(VBe(l&ii,Qe(35))*ufn&ii,Qe(28))|YT(l>>Qe(64))<=9&&n<=16);{let o=(pl(e,32)^pl(e,40))+r&ii,i=(pl(e,48)^pl(e,56))-r&ii,a=pl(t),s=pl(t,n-8),u=(a^s^o)*VL,l=(u&ii)+(Qe(n-1)<>Qe(64));let c=(u&ii)*Lz;return c+=(u>>Qe(64))*Lz<>Qe(64))<8?vfn(t,ZT,e):r>=4?_fn(t,ZT,e):r>0?bfn(t,ZT,e):Sme(e^pl(ZT,64)^pl(ZT,72))|Sme(e^pl(ZT,80)^pl(ZT,88))<=0;){let s=Number(o);n=vme(n,Ju(t,16*s),Ju(t,t.byteLength-16*(s+1)),Ju(e,32*s),r),o--}let i=n+(n>>Qe(64))ⅈi=YT(i);let a=(n&ii)*VL+(n>>Qe(64))*WBe+(Qe(t.byteLength)-r&ii)*Lz;return a&=ii,a=HBe(YT(a)),i|a<>Qe(64))<>Qe(64))ⅈo=YT(o);let i=(n&ii)*VL+(n>>Qe(64))*WBe+(Qe(t.byteLength)-r&ii)*Lz;return i&=ii,i=HBe(YT(i)),o|i<>Qe(64);return r.setBigUint64(0,o,!1),r.setBigUint64(8,n,!1),e}var Qe,UTt,BTt,ifn,VL,Lz,zTt,WBe,afn,sfn,ufn,ZT,eJ,ii,wme,zN,VTt,cfn,bme,dfn,ffn,pfn,tJ,GTt=v(()=>{Qe=t=>BigInt(t),UTt=Qe("0x9E3779B1"),BTt=Qe("0x85EBCA77"),ifn=Qe("0xC2B2AE3D"),VL=Qe("0x9E3779B185EBCA87"),Lz=Qe("0xC2B2AE3D27D4EB4F"),zTt=Qe("0x165667B19E3779F9"),WBe=Qe("0x85EBCA77C2B2AE63"),afn=Qe("0x27D4EB2F165667C5"),sfn=Qe("0x165667919E3779F9"),ufn=Qe("0x9FB21C651E98DF25");ZT=lfn("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),eJ=(Qe(1)<(t&Qe(255))<>Qe(8)|(t&Qe(0xff0000000000))>>Qe(24)|(t&Qe(0xff000000000000))>>Qe(40)|(t&Qe(0xff00000000000000))>>Qe(56),ffn=t=>(t=(t&Qe(65535))<>Qe(16),t=(t&Qe(16711935))<>Qe(8),t),pfn=(t,e)=>(t&wme)*(e&wme)&ii,tJ=t=>{if(!t)throw new Error("Assert failed")}});function Ao(t,e){if(!XTt.test(t)){let r=e!==void 0?`Invalid UUID for ${e}: ${t}`:`Invalid UUID: ${t}`;throw new Error(r)}return t}function Cme(t){let e=typeof t=="string"?Date.parse(t):t;return jBe({msecs:e,seq:0})}function xfn(t){if(!XTt.test(t))return null;let e=t[14];return parseInt(e,16)}function Tfn(t){let e=t.replace(/-/g,""),r=new Uint8Array(16);for(let n=0;n<16;n++)r[n]=parseInt(e.slice(n*2,n*2+2),16);return r}function Ofn(t){let e=Array.from(t).map(r=>r.toString(16).padStart(2,"0")).join("");return`${e.slice(0,8)}-${e.slice(8,12)}-${e.slice(12,16)}-${e.slice(16,20)}-${e.slice(20)}`}function Pfn(t){let e=Efn.encode(t),r=JTt(e);return KTt(r)}function YQ(t,e){let r=`${t}:${e}`,n=Pfn(r),o=new Uint8Array(16);if(xfn(t)===7){let a=Tfn(t);o.set(a.slice(0,6),0)}else{let a=Date.now();o[0]=a/1099511627776&255,o[1]=a/4294967296&255,o[2]=a/16777216&255,o[3]=a/65536&255,o[4]=a/256&255,o[5]=a&255}return o[6]=112|n[0]&15,o[7]=n[1],o[8]=128|n[2]&63,o.set(n.slice(3,10),9),Ofn(o)}var XTt,Efn,xme=v(()=>{gme();yme();GTt();XTt=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;Efn=new TextEncoder});var ZTt=v(()=>{xme()});function YTt(t,e){throw new Error("dump() is not supported in browser environments.")}function QTt(t){throw new Error("load() is not supported in browser environments.")}var eOt=v(()=>{});function Mfn(t,e){return e===null?!1:Date.now()-t.createdAt>e*1e3}var Tme,Ome,JBe=v(()=>{eOt();Tme=class{constructor(e={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(e)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let e=this.totalRequests;return e>0?this._metrics.hits/e:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(e,r){if(this.maxSize===0)return;let n=this.cache.get(e);if(!n){this._metrics.misses+=1;return}return this.cache.delete(e),this.cache.set(e,{...n,refreshFunc:r}),this._metrics.hits+=1,n.value}set(e,r,n){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(e)&&this.cache.size>=this.maxSize){let i=this.cache.keys().next().value;i!==void 0&&this.cache.delete(i)}let o={value:r,createdAt:Date.now(),refreshFunc:n};this.cache.delete(e),this.cache.set(e,o)}invalidate(e){this.cache.delete(e)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(e){let r={};for(let[n,o]of this.cache.entries())r[n]=o.value;YTt(e,r)}load(e){let r=QTt(e);if(!r)return 0;let n=0,o=Date.now();for(let[i,a]of Object.entries(r)){if(this.cache.size>=this.maxSize)break;let s={value:a,createdAt:o};this.cache.set(i,s),n+=1}return n}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(e=>{console.warn("Unexpected error in cache refresh loop:",e)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let e=[];for(let[r,n]of this.cache.entries())Mfn(n,this.ttlSeconds)&&e.push([r,n]);return e}async refreshStaleEntries(){let e=this.getStaleEntries();if(e.length!==0){for(let[r,n]of e)if(n.refreshFunc!==void 0)try{let o=await n.refreshFunc();this.set(r,o,n.refreshFunc),this._metrics.refreshes+=1}catch(o){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${r}:`,o)}}}configure(e){this.stop(),this.refreshIntervalSeconds=e.refreshIntervalSeconds??60,this.maxSize=e.maxSize??100,this.ttlSeconds=e.ttlSeconds??5*60}},Ome=new Tme});var Eme,Pme=v(()=>{KBe();GBe();UBe();BBe();ZTt();JBe();Eme="0.5.4"});function Mme(){if(XBe===void 0){let t=YBe(),e=jfn();XBe={library:"langsmith",runtime:t,sdk:"langsmith-js",sdk_version:Eme,...e}}return XBe}function QBe(){let t=Dfn(),e={},r=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[n,o]of Object.entries(t))typeof o=="string"&&!r.includes(n)&&!n.toLowerCase().includes("key")&&!n.toLowerCase().includes("secret")&&!n.toLowerCase().includes("token")&&(n==="LANGCHAIN_REVISION_ID"?e.revision_id=o:e[n]=o);return e}function Dfn(){let t={};try{if(typeof process<"u"&&process.env)for(let[e,r]of Object.entries(process.env))(e.startsWith("LANGCHAIN_")||e.startsWith("LANGSMITH_"))&&r!=null&&((e.toLowerCase().includes("key")||e.toLowerCase().includes("secret")||e.toLowerCase().includes("token"))&&typeof r=="string"?t[e]=r.slice(0,2)+"*".repeat(r.length-4)+r.slice(-2):t[e]=r)}catch{}return t}function nw(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function ad(t){return nw(`LANGSMITH_${t}`)||nw(`LANGCHAIN_${t}`)}function jfn(){if(ZBe!==void 0)return ZBe;let t=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],e={};for(let r of t){let n=nw(r);n!==void 0&&(e[r]=n)}return ZBe=e,e}function Rme(){return nw("OTEL_ENABLED")==="true"||ad("OTEL_ENABLED")==="true"}var QT,Rfn,Ifn,Afn,tOt,Nfn,YBe,XBe,ZBe,BN=v(()=>{Pme();Rfn=()=>typeof window<"u"&&typeof window.document<"u",Ifn=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",Afn=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),tOt=()=>typeof Deno<"u",Nfn=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!tOt(),YBe=()=>QT||(typeof Bun<"u"?QT="bun":Rfn()?QT="browser":Nfn()?QT="node":Ifn()?QT="webworker":Afn()?QT="jsdom":tOt()?QT="deno":QT="other",QT)});function Ime(){return aze.getTraceInstance()}function nOt(){return aze.getContextInstance()}function oOt(){return aze.getDefaultOTLPTracerComponents()}var rze,nze,oze,eze,tze,rOt,$fn,Lfn,ize,aze,sze=v(()=>{BN();rze=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(e,...r){!this.hasWarned&&Rme()&&(console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let n;if(r.length===1&&typeof r[0]=="function"?n=r[0]:r.length===2&&typeof r[1]=="function"?n=r[1]:r.length===3&&typeof r[2]=="function"&&(n=r[2]),typeof n=="function")return n()}},nze=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new rze})}getTracer(e,r){return this.mockTracer}getActiveSpan(){}setSpan(e,r){return e}getSpan(e){}setSpanContext(e,r){return e}getTracerProvider(){}setGlobalTracerProvider(e){return!1}},oze=class{active(){return{}}with(e,r){return r()}},eze=Symbol.for("ls:otel_trace"),tze=Symbol.for("ls:otel_context"),rOt=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),$fn=new nze,Lfn=new oze,ize=class{getTraceInstance(){return globalThis[eze]??$fn}getContextInstance(){return globalThis[tze]??Lfn}initializeGlobalInstances(e){globalThis[eze]===void 0&&(globalThis[eze]=e.trace),globalThis[tze]===void 0&&(globalThis[tze]=e.context)}setDefaultOTLPTracerComponents(e){globalThis[rOt]=e}getDefaultOTLPTracerComponents(){return globalThis[rOt]??void 0}},aze=new ize});function kfn(t){return Ffn[t]||t}var Ffn,Ame,iOt=v(()=>{NTt();sze();Ffn={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};Ame=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(e,r){for(let n of e)try{if(!n.run)continue;if(n.operation==="post"){let o=this.createSpanForRun(n,n.run,r.get(n.id));o&&!n.run.end_time&&this.spans.set(n.id,o)}else this.updateSpanForRun(n,n.run)}catch(o){console.error(`Error processing operation ${n.id}:`,o)}}createSpanForRun(e,r,n){let o=n&&Ime().getSpan(n);if(o)try{return this.finishSpanSetup(o,r,e)}catch(i){console.error(`Failed to create span for run ${e.id}:`,i);return}}finishSpanSetup(e,r,n){return this.setSpanAttributes(e,r,n),r.error?(e.setStatus({code:2}),e.recordException(new Error(r.error))):e.setStatus({code:1}),r.end_time&&e.end(new Date(r.end_time)),e}updateSpanForRun(e,r){try{let n=this.spans.get(e.id);if(!n){console.debug(`No span found for run ${e.id} during update`);return}this.setSpanAttributes(n,r,e),r.error?(n.setStatus({code:2}),n.recordException(new Error(r.error))):n.setStatus({code:1});let o=r.end_time;o&&(n.end(new Date(o)),this.spans.delete(e.id))}catch(n){console.error(`Failed to update span for run ${e.id}:`,n)}}extractModelName(e){if(e.extra?.metadata){let r=e.extra.metadata;if(r.ls_model_name)return r.ls_model_name;if(r.invocation_params){let n=r.invocation_params;if(n.model)return n.model;if(n.model_name)return n.model_name}}}setSpanAttributes(e,r,n){if("run_type"in r&&r.run_type){e.setAttribute(PTt,r.run_type);let s=kfn(r.run_type||"chain");e.setAttribute(iTt,s)}"name"in r&&r.name&&e.setAttribute(MTt,r.name),"session_id"in r&&r.session_id&&e.setAttribute(OTt,r.session_id),"session_name"in r&&r.session_name&&e.setAttribute(ETt,r.session_name),this.setGenAiSystem(e,r);let o=this.extractModelName(r);o&&e.setAttribute($Be,o),"prompt_tokens"in r&&typeof r.prompt_tokens=="number"&&e.setAttribute(LBe,r.prompt_tokens),"completion_tokens"in r&&typeof r.completion_tokens=="number"&&e.setAttribute(FBe,r.completion_tokens),"total_tokens"in r&&typeof r.total_tokens=="number"&&e.setAttribute(kBe,r.total_tokens),this.setInvocationParameters(e,r);let i=r.extra?.metadata||{};for(let[s,u]of Object.entries(i))u!=null&&e.setAttribute(`${RTt}.${s}`,String(u));let a=r.tags;if(a&&Array.isArray(a)?e.setAttribute(qBe,a.join(", ")):a&&e.setAttribute(qBe,String(a)),"serialized"in r&&typeof r.serialized=="object"){let s=r.serialized;s.name&&e.setAttribute(bTt,String(s.name)),s.signature&&e.setAttribute(_Tt,String(s.signature)),s.doc&&e.setAttribute(vTt,String(s.doc))}this.setIOAttributes(e,n)}setGenAiSystem(e,r){let n="langchain",o=this.extractModelName(r);if(o){let i=o.toLowerCase();i.includes("anthropic")||i.startsWith("claude")?n="anthropic":i.includes("bedrock")?n="aws.bedrock":i.includes("azure")&&i.includes("openai")?n="az.ai.openai":i.includes("azure")&&i.includes("inference")?n="az.ai.inference":i.includes("cohere")?n="cohere":i.includes("deepseek")?n="deepseek":i.includes("gemini")?n="gemini":i.includes("groq")?n="groq":i.includes("watson")||i.includes("ibm")?n="ibm.watsonx.ai":i.includes("mistral")?n="mistral_ai":i.includes("gpt")||i.includes("openai")?n="openai":i.includes("perplexity")||i.includes("sonar")?n="perplexity":i.includes("vertex")?n="vertex_ai":(i.includes("xai")||i.includes("grok"))&&(n="xai")}e.setAttribute(aTt,n)}setInvocationParameters(e,r){if(!r.extra?.metadata?.invocation_params)return;let n=r.extra.metadata.invocation_params;n.max_tokens!==void 0&&e.setAttribute(uTt,n.max_tokens),n.temperature!==void 0&&e.setAttribute(lTt,n.temperature),n.top_p!==void 0&&e.setAttribute(cTt,n.top_p),n.frequency_penalty!==void 0&&e.setAttribute(dTt,n.frequency_penalty),n.presence_penalty!==void 0&&e.setAttribute(fTt,n.presence_penalty)}setIOAttributes(e,r){if(r.run.inputs)try{let n=r.run.inputs;typeof n=="object"&&n!==null&&(n.model&&Array.isArray(n.messages)&&e.setAttribute($Be,n.model),n.stream!==void 0&&e.setAttribute(ITt,n.stream),n.extra_headers&&e.setAttribute(ATt,JSON.stringify(n.extra_headers)),n.extra_query&&e.setAttribute(gTt,JSON.stringify(n.extra_query)),n.extra_body&&e.setAttribute(yTt,JSON.stringify(n.extra_body))),e.setAttribute(mTt,JSON.stringify(n))}catch(n){console.debug(`Failed to process inputs for run ${r.id}`,n)}if(r.run.outputs)try{let n=r.run.outputs,o=this.getUnifiedRunTokens(n);if(o&&(e.setAttribute(LBe,o[0]),e.setAttribute(FBe,o[1]),e.setAttribute(kBe,o[0]+o[1])),n&&typeof n=="object"){if(n.model&&e.setAttribute(sTt,String(n.model)),n.id&&e.setAttribute(wTt,n.id),n.choices&&Array.isArray(n.choices)){let i=n.choices.map(a=>a.finish_reason).filter(a=>a).map(String);i.length>0&&e.setAttribute(pTt,i.join(", "))}if(n.service_tier&&e.setAttribute(STt,n.service_tier),n.system_fingerprint&&e.setAttribute(CTt,n.system_fingerprint),n.usage_metadata&&typeof n.usage_metadata=="object"){let i=n.usage_metadata;i.input_token_details&&e.setAttribute(xTt,JSON.stringify(i.input_token_details)),i.output_token_details&&e.setAttribute(TTt,JSON.stringify(i.output_token_details))}}e.setAttribute(hTt,JSON.stringify(n))}catch(n){console.debug(`Failed to process outputs for run ${r.id}`,n)}}getUnifiedRunTokens(e){if(!e)return null;let r=this.extractUnifiedRunTokens(e.usage_metadata);if(r)return r;let n=Object.keys(e);for(let a of n){let s=e[a];if(!(!s||typeof s!="object")&&(r=this.extractUnifiedRunTokens(s.usage_metadata),r||s.lc===1&&s.kwargs&&typeof s.kwargs=="object"&&(r=this.extractUnifiedRunTokens(s.kwargs.usage_metadata),r)))return r}let o=e.generations||[];if(!Array.isArray(o))return null;let i=Array.isArray(o[0])?o.flat():o;for(let a of i)if(typeof a=="object"&&a.message&&typeof a.message=="object"&&a.message.kwargs&&typeof a.message.kwargs=="object"&&(r=this.extractUnifiedRunTokens(a.message.kwargs.usage_metadata),r))return r;return null}extractUnifiedRunTokens(e){return!e||typeof e!="object"||typeof e.input_tokens!="number"||typeof e.output_tokens!="number"?null:[e.input_tokens,e.output_tokens]}}});function uze(t){if(!(t&&Ufn(t)&&t.name==="TypeError"&&typeof t.message=="string"))return!1;let{message:r,stack:n}=t;return r==="Load failed"?n===void 0||"__sentry_captured__"in t:r.startsWith("error sending request for url")?!0:Bfn.has(r)}var qfn,Ufn,Bfn,aOt=v(()=>{qfn=Object.prototype.toString,Ufn=t=>qfn.call(t)==="[object Error]",Bfn=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"])});function zfn(t){if(typeof t=="number"){if(t<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(t))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(t!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Nme(t,e,{min:r=0,allowInfinity:n=!1}={}){if(e!==void 0){if(typeof e!="number"||Number.isNaN(e))throw new TypeError(`Expected \`${t}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(e))throw new TypeError(`Expected \`${t}\` to be a finite number.`);if(e0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(y),o.signal?.removeEventListener("abort",h),m(o.signal.reason)},y=setTimeout(()=>{o.signal?.removeEventListener("abort",h),p()},f);o.unref&&y.unref?.(),o.signal?.addEventListener("abort",h,{once:!0})}),o.signal?.throwIfAborted(),!0}async function cze(t,e={}){if(e={...e},zfn(e.retries),Object.hasOwn(e,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");e.retries??(e.retries=10),e.factor??(e.factor=2),e.minTimeout??(e.minTimeout=1e3),e.maxTimeout??(e.maxTimeout=Number.POSITIVE_INFINITY),e.maxRetryTime??(e.maxRetryTime=Number.POSITIVE_INFINITY),e.randomize??(e.randomize=!1),e.onFailedAttempt??(e.onFailedAttempt=()=>{}),e.shouldRetry??(e.shouldRetry=()=>!0),e.shouldConsumeRetry??(e.shouldConsumeRetry=()=>!0),Nme("factor",e.factor,{min:0,allowInfinity:!1}),Nme("minTimeout",e.minTimeout,{min:0,allowInfinity:!1}),Nme("maxTimeout",e.maxTimeout,{min:0,allowInfinity:!0}),Nme("maxRetryTime",e.maxRetryTime,{min:0,allowInfinity:!0}),e.factor>0||(e.factor=1),e.signal?.throwIfAborted();let r=0,n=0,o=performance.now();for(;!Number.isFinite(e.retries)||n<=e.retries;){r++;try{e.signal?.throwIfAborted();let i=await t(r);return e.signal?.throwIfAborted(),i}catch(i){await Hfn({error:i,attemptNumber:r,retriesConsumed:n,startTime:o,options:e})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var lze,uOt=v(()=>{aOt();lze=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}}});var fze=S((REi,dze)=>{"use strict";var Wfn=Object.prototype.hasOwnProperty,Ib="~";function QQ(){}Object.create&&(QQ.prototype=Object.create(null),new QQ().__proto__||(Ib=!1));function Jfn(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function lOt(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Jfn(r,n||t,o),a=Ib?Ib+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],i]:t._events[a].push(i):(t._events[a]=i,t._eventsCount++),t}function Dme(t,e){--t._eventsCount===0?t._events=new QQ:delete t._events[e]}function Ey(){this._events=new QQ,this._eventsCount=0}Ey.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Wfn.call(r,n)&&e.push(Ib?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ey.prototype.listeners=function(e){var r=Ib?Ib+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,a=new Array(i);o{"use strict";cOt.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(n=>{n(e())}).then(()=>r),r=>new Promise(n=>{n(e())}).then(()=>{throw r})))});var fOt=S((AEi,$me)=>{"use strict";var Kfn=pze(),jme=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},dOt=(t,e,r)=>new Promise((n,o)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let i=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(u){o(u)}return}let a=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,s=r instanceof Error?r:new jme(a);typeof t.cancel=="function"&&t.cancel(),o(s)},e);Kfn(t.then(n,o),()=>{clearTimeout(i)})});$me.exports=dOt;$me.exports.default=dOt;$me.exports.TimeoutError=jme});var pOt=S(mze=>{"use strict";Object.defineProperty(mze,"__esModule",{value:!0});function Gfn(t,e,r){let n=0,o=t.length;for(;o>0;){let i=o/2|0,a=n+i;r(t[a],e)<=0?(n=++a,o-=i+1):o=i}return n}mze.default=Gfn});var mOt=S(gze=>{"use strict";Object.defineProperty(gze,"__esModule",{value:!0});var Xfn=pOt(),hze=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let o=Xfn.default(this._queue,n,(i,a)=>a.priority-i.priority);this._queue.splice(o,0,n)}dequeue(){let e=this._queue.shift();return e?.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};gze.default=hze});var gOt=S(bze=>{"use strict";Object.defineProperty(bze,"__esModule",{value:!0});var Zfn=fze(),hOt=fOt(),Yfn=mOt(),Lme=()=>{},Qfn=new hOt.TimeoutError,yze=class extends Zfn{constructor(e){var r,n,o,i;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=Lme,this._resolveIdle=Lme,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:Yfn.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(i=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&i!==void 0?i:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,o)=>{let i=async()=>{this._pendingCount++,this._intervalCount++;try{let a=this._timeout===void 0&&r.timeout===void 0?e():hOt.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&o(Qfn)});n(await a)}catch(a){o(a)}this._next()};this._queue.enqueue(i,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};bze.default=yze});var Fme,yOt,bOt=v(()=>{Fme=$(gOt(),1),yOt="default"in Fme.default?Fme.default.default:Fme.default});var epn,eee,_Ot=v(()=>{uOt();bOt();epn=[408,425,429,500,502,503,504],eee=class{constructor(e){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxQueueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.maxQueueSizeBytes=e.maxQueueSizeBytes,this.queue=new yOt({concurrency:this.maxConcurrency}),this.onFailedResponseHook=e?.onFailedResponseHook}call(e,...r){return this.callWithOptions({},e,...r)}callWithOptions(e,r,...n){let o=e.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&o>0&&this.queueSizeBytes+o>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${o} bytes.`));o>0&&(this.queueSizeBytes+=o);let i=this.onFailedResponseHook,a=this.queue.add(()=>cze(()=>r(...n).catch(s=>{throw s instanceof Error?s:new Error(s)}),{async onFailedAttempt({error:s}){if(typeof s!="object"||s==null)throw s;let u="message"in s&&typeof s.message=="string"?s.message:void 0;if(u?.startsWith("Cancel")||u?.startsWith("TimeoutError")||u?.startsWith("AbortError")||"name"in s&&s.name==="TimeoutError"||"code"in s&&s.code==="ECONNABORTED")throw s;let l="response"in s?s.response:void 0;if(i&&await i(l))return;let c=l?.status??("status"in s?s.status:void 0);if(c!=null&&(typeof c=="number"||typeof c=="string")&&!epn.includes(+c))throw s},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return o>0&&(a=a.finally(()=>{this.queueSizeBytes-=o})),e.signal?Promise.race([a,new Promise((s,u)=>{e.signal?.addEventListener("abort",()=>{u(new Error("AbortError"))})})]):a}}});function _ze(t){return typeof t?._getType=="function"}function vze(t){let e={type:t._getType(),data:{content:t.content}};return t?.additional_kwargs&&Object.keys(t.additional_kwargs).length>0&&(e.data.additional_kwargs={...t.additional_kwargs}),e}var vOt=v(()=>{});var tee=S((UEi,wOt)=>{"use strict";var tpn="2.0.0",rpn=Number.MAX_SAFE_INTEGER||9007199254740991,npn=16,opn=250,ipn=["major","premajor","minor","preminor","patch","prepatch","prerelease"];wOt.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:npn,MAX_SAFE_BUILD_LENGTH:opn,MAX_SAFE_INTEGER:rpn,RELEASE_TYPES:ipn,SEMVER_SPEC_VERSION:tpn,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ree=S((BEi,SOt)=>{"use strict";var apn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};SOt.exports=apn});var rJ=S((eO,COt)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:wze,MAX_SAFE_BUILD_LENGTH:spn,MAX_LENGTH:upn}=tee(),lpn=ree();eO=COt.exports={};var cpn=eO.re=[],dpn=eO.safeRe=[],wr=eO.src=[],fpn=eO.safeSrc=[],Sr=eO.t={},ppn=0,Sze="[a-zA-Z0-9-]",mpn=[["\\s",1],["\\d",upn],[Sze,spn]],hpn=t=>{for(let[e,r]of mpn)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},Fo=(t,e,r)=>{let n=hpn(e),o=ppn++;lpn(t,o,e),Sr[t]=o,wr[o]=e,fpn[o]=n,cpn[o]=new RegExp(e,r?"g":void 0),dpn[o]=new RegExp(n,r?"g":void 0)};Fo("NUMERICIDENTIFIER","0|[1-9]\\d*");Fo("NUMERICIDENTIFIERLOOSE","\\d+");Fo("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Sze}*`);Fo("MAINVERSION",`(${wr[Sr.NUMERICIDENTIFIER]})\\.(${wr[Sr.NUMERICIDENTIFIER]})\\.(${wr[Sr.NUMERICIDENTIFIER]})`);Fo("MAINVERSIONLOOSE",`(${wr[Sr.NUMERICIDENTIFIERLOOSE]})\\.(${wr[Sr.NUMERICIDENTIFIERLOOSE]})\\.(${wr[Sr.NUMERICIDENTIFIERLOOSE]})`);Fo("PRERELEASEIDENTIFIER",`(?:${wr[Sr.NONNUMERICIDENTIFIER]}|${wr[Sr.NUMERICIDENTIFIER]})`);Fo("PRERELEASEIDENTIFIERLOOSE",`(?:${wr[Sr.NONNUMERICIDENTIFIER]}|${wr[Sr.NUMERICIDENTIFIERLOOSE]})`);Fo("PRERELEASE",`(?:-(${wr[Sr.PRERELEASEIDENTIFIER]}(?:\\.${wr[Sr.PRERELEASEIDENTIFIER]})*))`);Fo("PRERELEASELOOSE",`(?:-?(${wr[Sr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${wr[Sr.PRERELEASEIDENTIFIERLOOSE]})*))`);Fo("BUILDIDENTIFIER",`${Sze}+`);Fo("BUILD",`(?:\\+(${wr[Sr.BUILDIDENTIFIER]}(?:\\.${wr[Sr.BUILDIDENTIFIER]})*))`);Fo("FULLPLAIN",`v?${wr[Sr.MAINVERSION]}${wr[Sr.PRERELEASE]}?${wr[Sr.BUILD]}?`);Fo("FULL",`^${wr[Sr.FULLPLAIN]}$`);Fo("LOOSEPLAIN",`[v=\\s]*${wr[Sr.MAINVERSIONLOOSE]}${wr[Sr.PRERELEASELOOSE]}?${wr[Sr.BUILD]}?`);Fo("LOOSE",`^${wr[Sr.LOOSEPLAIN]}$`);Fo("GTLT","((?:<|>)?=?)");Fo("XRANGEIDENTIFIERLOOSE",`${wr[Sr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Fo("XRANGEIDENTIFIER",`${wr[Sr.NUMERICIDENTIFIER]}|x|X|\\*`);Fo("XRANGEPLAIN",`[v=\\s]*(${wr[Sr.XRANGEIDENTIFIER]})(?:\\.(${wr[Sr.XRANGEIDENTIFIER]})(?:\\.(${wr[Sr.XRANGEIDENTIFIER]})(?:${wr[Sr.PRERELEASE]})?${wr[Sr.BUILD]}?)?)?`);Fo("XRANGEPLAINLOOSE",`[v=\\s]*(${wr[Sr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${wr[Sr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${wr[Sr.XRANGEIDENTIFIERLOOSE]})(?:${wr[Sr.PRERELEASELOOSE]})?${wr[Sr.BUILD]}?)?)?`);Fo("XRANGE",`^${wr[Sr.GTLT]}\\s*${wr[Sr.XRANGEPLAIN]}$`);Fo("XRANGELOOSE",`^${wr[Sr.GTLT]}\\s*${wr[Sr.XRANGEPLAINLOOSE]}$`);Fo("COERCEPLAIN",`(^|[^\\d])(\\d{1,${wze}})(?:\\.(\\d{1,${wze}}))?(?:\\.(\\d{1,${wze}}))?`);Fo("COERCE",`${wr[Sr.COERCEPLAIN]}(?:$|[^\\d])`);Fo("COERCEFULL",wr[Sr.COERCEPLAIN]+`(?:${wr[Sr.PRERELEASE]})?(?:${wr[Sr.BUILD]})?(?:$|[^\\d])`);Fo("COERCERTL",wr[Sr.COERCE],!0);Fo("COERCERTLFULL",wr[Sr.COERCEFULL],!0);Fo("LONETILDE","(?:~>?)");Fo("TILDETRIM",`(\\s*)${wr[Sr.LONETILDE]}\\s+`,!0);eO.tildeTrimReplace="$1~";Fo("TILDE",`^${wr[Sr.LONETILDE]}${wr[Sr.XRANGEPLAIN]}$`);Fo("TILDELOOSE",`^${wr[Sr.LONETILDE]}${wr[Sr.XRANGEPLAINLOOSE]}$`);Fo("LONECARET","(?:\\^)");Fo("CARETTRIM",`(\\s*)${wr[Sr.LONECARET]}\\s+`,!0);eO.caretTrimReplace="$1^";Fo("CARET",`^${wr[Sr.LONECARET]}${wr[Sr.XRANGEPLAIN]}$`);Fo("CARETLOOSE",`^${wr[Sr.LONECARET]}${wr[Sr.XRANGEPLAINLOOSE]}$`);Fo("COMPARATORLOOSE",`^${wr[Sr.GTLT]}\\s*(${wr[Sr.LOOSEPLAIN]})$|^$`);Fo("COMPARATOR",`^${wr[Sr.GTLT]}\\s*(${wr[Sr.FULLPLAIN]})$|^$`);Fo("COMPARATORTRIM",`(\\s*)${wr[Sr.GTLT]}\\s*(${wr[Sr.LOOSEPLAIN]}|${wr[Sr.XRANGEPLAIN]})`,!0);eO.comparatorTrimReplace="$1$2$3";Fo("HYPHENRANGE",`^\\s*(${wr[Sr.XRANGEPLAIN]})\\s+-\\s+(${wr[Sr.XRANGEPLAIN]})\\s*$`);Fo("HYPHENRANGELOOSE",`^\\s*(${wr[Sr.XRANGEPLAINLOOSE]})\\s+-\\s+(${wr[Sr.XRANGEPLAINLOOSE]})\\s*$`);Fo("STAR","(<|>)?=?\\s*\\*");Fo("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Fo("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var kme=S((zEi,xOt)=>{"use strict";var gpn=Object.freeze({loose:!0}),ypn=Object.freeze({}),bpn=t=>t?typeof t!="object"?gpn:t:ypn;xOt.exports=bpn});var Cze=S((VEi,EOt)=>{"use strict";var TOt=/^[0-9]+$/,OOt=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:tOOt(e,t);EOt.exports={compareIdentifiers:OOt,rcompareIdentifiers:_pn}});var Py=S((HEi,MOt)=>{"use strict";var qme=ree(),{MAX_LENGTH:POt,MAX_SAFE_INTEGER:Ume}=tee(),{safeRe:Bme,t:zme}=rJ(),vpn=kme(),{compareIdentifiers:xze}=Cze(),Tze=class t{constructor(e,r){if(r=vpn(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>POt)throw new TypeError(`version is longer than ${POt} characters`);qme("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let n=e.trim().match(r.loose?Bme[zme.LOOSE]:Bme[zme.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Ume||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ume||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ume||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let i=+o;if(i>=0&&ie.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let n=this.prerelease[r],o=e.prerelease[r];if(qme("prerelease compare",r,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return xze(n,o)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let n=this.build[r],o=e.build[r];if(qme("build compare",r,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return xze(n,o)}while(++r)}inc(e,r,n){if(e.startsWith("pre")){if(!r&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(r){let o=`-${r}`.match(this.options.loose?Bme[zme.PRERELEASELOOSE]:Bme[zme.PRERELEASE]);if(!o||o[1]!==r)throw new Error(`invalid identifier: ${r}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,n),this.inc("pre",r,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,n),this.inc("pre",r,n);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":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(r){let i=[r,o];n===!1&&(i=[r]),xze(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};MOt.exports=Tze});var kz=S((WEi,IOt)=>{"use strict";var ROt=Py(),wpn=(t,e,r=!1)=>{if(t instanceof ROt)return t;try{return new ROt(t,e)}catch(n){if(!r)return null;throw n}};IOt.exports=wpn});var NOt=S((JEi,AOt)=>{"use strict";var Spn=kz(),Cpn=(t,e)=>{let r=Spn(t,e);return r?r.version:null};AOt.exports=Cpn});var jOt=S((KEi,DOt)=>{"use strict";var xpn=kz(),Tpn=(t,e)=>{let r=xpn(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};DOt.exports=Tpn});var FOt=S((GEi,LOt)=>{"use strict";var $Ot=Py(),Opn=(t,e,r,n,o)=>{typeof r=="string"&&(o=n,n=r,r=void 0);try{return new $Ot(t instanceof $Ot?t.version:t,r).inc(e,n,o).version}catch{return null}};LOt.exports=Opn});var UOt=S((XEi,qOt)=>{"use strict";var kOt=kz(),Epn=(t,e)=>{let r=kOt(t,null,!0),n=kOt(e,null,!0),o=r.compare(n);if(o===0)return null;let i=o>0,a=i?r:n,s=i?n:r,u=!!a.prerelease.length;if(!!s.prerelease.length&&!u){if(!s.patch&&!s.minor)return"major";if(s.compareMain(a)===0)return s.minor&&!s.patch?"minor":"patch"}let c=u?"pre":"";return r.major!==n.major?c+"major":r.minor!==n.minor?c+"minor":r.patch!==n.patch?c+"patch":"prerelease"};qOt.exports=Epn});var zOt=S((ZEi,BOt)=>{"use strict";var Ppn=Py(),Mpn=(t,e)=>new Ppn(t,e).major;BOt.exports=Mpn});var HOt=S((YEi,VOt)=>{"use strict";var Rpn=Py(),Ipn=(t,e)=>new Rpn(t,e).minor;VOt.exports=Ipn});var JOt=S((QEi,WOt)=>{"use strict";var Apn=Py(),Npn=(t,e)=>new Apn(t,e).patch;WOt.exports=Npn});var GOt=S((ePi,KOt)=>{"use strict";var Dpn=kz(),jpn=(t,e)=>{let r=Dpn(t,e);return r&&r.prerelease.length?r.prerelease:null};KOt.exports=jpn});var SS=S((tPi,ZOt)=>{"use strict";var XOt=Py(),$pn=(t,e,r)=>new XOt(t,r).compare(new XOt(e,r));ZOt.exports=$pn});var QOt=S((rPi,YOt)=>{"use strict";var Lpn=SS(),Fpn=(t,e,r)=>Lpn(e,t,r);YOt.exports=Fpn});var tEt=S((nPi,eEt)=>{"use strict";var kpn=SS(),qpn=(t,e)=>kpn(t,e,!0);eEt.exports=qpn});var Vme=S((oPi,nEt)=>{"use strict";var rEt=Py(),Upn=(t,e,r)=>{let n=new rEt(t,r),o=new rEt(e,r);return n.compare(o)||n.compareBuild(o)};nEt.exports=Upn});var iEt=S((iPi,oEt)=>{"use strict";var Bpn=Vme(),zpn=(t,e)=>t.sort((r,n)=>Bpn(r,n,e));oEt.exports=zpn});var sEt=S((aPi,aEt)=>{"use strict";var Vpn=Vme(),Hpn=(t,e)=>t.sort((r,n)=>Vpn(n,r,e));aEt.exports=Hpn});var nee=S((sPi,uEt)=>{"use strict";var Wpn=SS(),Jpn=(t,e,r)=>Wpn(t,e,r)>0;uEt.exports=Jpn});var Hme=S((uPi,lEt)=>{"use strict";var Kpn=SS(),Gpn=(t,e,r)=>Kpn(t,e,r)<0;lEt.exports=Gpn});var Oze=S((lPi,cEt)=>{"use strict";var Xpn=SS(),Zpn=(t,e,r)=>Xpn(t,e,r)===0;cEt.exports=Zpn});var Eze=S((cPi,dEt)=>{"use strict";var Ypn=SS(),Qpn=(t,e,r)=>Ypn(t,e,r)!==0;dEt.exports=Qpn});var Wme=S((dPi,fEt)=>{"use strict";var emn=SS(),tmn=(t,e,r)=>emn(t,e,r)>=0;fEt.exports=tmn});var Jme=S((fPi,pEt)=>{"use strict";var rmn=SS(),nmn=(t,e,r)=>rmn(t,e,r)<=0;pEt.exports=nmn});var Pze=S((pPi,mEt)=>{"use strict";var omn=Oze(),imn=Eze(),amn=nee(),smn=Wme(),umn=Hme(),lmn=Jme(),cmn=(t,e,r,n)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return omn(t,r,n);case"!=":return imn(t,r,n);case">":return amn(t,r,n);case">=":return smn(t,r,n);case"<":return umn(t,r,n);case"<=":return lmn(t,r,n);default:throw new TypeError(`Invalid operator: ${e}`)}};mEt.exports=cmn});var gEt=S((mPi,hEt)=>{"use strict";var dmn=Py(),fmn=kz(),{safeRe:Kme,t:Gme}=rJ(),pmn=(t,e)=>{if(t instanceof dmn)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?Kme[Gme.COERCEFULL]:Kme[Gme.COERCE]);else{let u=e.includePrerelease?Kme[Gme.COERCERTLFULL]:Kme[Gme.COERCERTL],l;for(;(l=u.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||l.index+l[0].length!==r.index+r[0].length)&&(r=l),u.lastIndex=l.index+l[1].length+l[2].length;u.lastIndex=-1}if(r===null)return null;let n=r[2],o=r[3]||"0",i=r[4]||"0",a=e.includePrerelease&&r[5]?`-${r[5]}`:"",s=e.includePrerelease&&r[6]?`+${r[6]}`:"";return fmn(`${n}.${o}.${i}${a}${s}`,e)};hEt.exports=pmn});var bEt=S((hPi,yEt)=>{"use strict";var Mze=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(e,r)}return this}};yEt.exports=Mze});var CS=S((gPi,SEt)=>{"use strict";var mmn=/\s+/g,Rze=class t{constructor(e,r){if(r=gmn(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof Ize)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(mmn," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!vEt(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&Cmn(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let r=this.set[e];for(let n=0;n0&&(this.formatted+=" "),this.formatted+=r[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let n=((this.options.includePrerelease&&wmn)|(this.options.loose&&Smn))+":"+e,o=_Et.get(n);if(o)return o;let i=this.options.loose,a=i?Ab[My.HYPHENRANGELOOSE]:Ab[My.HYPHENRANGE];e=e.replace(a,Nmn(this.options.includePrerelease)),ml("hyphen replace",e),e=e.replace(Ab[My.COMPARATORTRIM],bmn),ml("comparator trim",e),e=e.replace(Ab[My.TILDETRIM],_mn),ml("tilde trim",e),e=e.replace(Ab[My.CARETTRIM],vmn),ml("caret trim",e);let s=e.split(" ").map(d=>xmn(d,this.options)).join(" ").split(/\s+/).map(d=>Amn(d,this.options));i&&(s=s.filter(d=>(ml("loose invalid filter",d,this.options),!!d.match(Ab[My.COMPARATORLOOSE])))),ml("range list",s);let u=new Map,l=s.map(d=>new Ize(d,this.options));for(let d of l){if(vEt(d))return[d];u.set(d.value,d)}u.size>1&&u.has("")&&u.delete("");let c=[...u.values()];return _Et.set(n,c),c}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(n=>wEt(n,r)&&e.set.some(o=>wEt(o,r)&&n.every(i=>o.every(a=>i.intersects(a,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new ymn(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",Cmn=t=>t.value==="",wEt=(t,e)=>{let r=!0,n=t.slice(),o=n.pop();for(;r&&n.length;)r=n.every(i=>o.intersects(i,e)),o=n.pop();return r},xmn=(t,e)=>(t=t.replace(Ab[My.BUILD],""),ml("comp",t,e),t=Emn(t,e),ml("caret",t),t=Tmn(t,e),ml("tildes",t),t=Mmn(t,e),ml("xrange",t),t=Imn(t,e),ml("stars",t),t),Nb=t=>!t||t.toLowerCase()==="x"||t==="*",Tmn=(t,e)=>t.trim().split(/\s+/).map(r=>Omn(r,e)).join(" "),Omn=(t,e)=>{let r=e.loose?Ab[My.TILDELOOSE]:Ab[My.TILDE];return t.replace(r,(n,o,i,a,s)=>{ml("tilde",t,n,o,i,a,s);let u;return Nb(o)?u="":Nb(i)?u=`>=${o}.0.0 <${+o+1}.0.0-0`:Nb(a)?u=`>=${o}.${i}.0 <${o}.${+i+1}.0-0`:s?(ml("replaceTilde pr",s),u=`>=${o}.${i}.${a}-${s} <${o}.${+i+1}.0-0`):u=`>=${o}.${i}.${a} <${o}.${+i+1}.0-0`,ml("tilde return",u),u})},Emn=(t,e)=>t.trim().split(/\s+/).map(r=>Pmn(r,e)).join(" "),Pmn=(t,e)=>{ml("caret",t,e);let r=e.loose?Ab[My.CARETLOOSE]:Ab[My.CARET],n=e.includePrerelease?"-0":"";return t.replace(r,(o,i,a,s,u)=>{ml("caret",t,o,i,a,s,u);let l;return Nb(i)?l="":Nb(a)?l=`>=${i}.0.0${n} <${+i+1}.0.0-0`:Nb(s)?i==="0"?l=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:l=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:u?(ml("replaceCaret pr",u),i==="0"?a==="0"?l=`>=${i}.${a}.${s}-${u} <${i}.${a}.${+s+1}-0`:l=`>=${i}.${a}.${s}-${u} <${i}.${+a+1}.0-0`:l=`>=${i}.${a}.${s}-${u} <${+i+1}.0.0-0`):(ml("no pr"),i==="0"?a==="0"?l=`>=${i}.${a}.${s}${n} <${i}.${a}.${+s+1}-0`:l=`>=${i}.${a}.${s}${n} <${i}.${+a+1}.0-0`:l=`>=${i}.${a}.${s} <${+i+1}.0.0-0`),ml("caret return",l),l})},Mmn=(t,e)=>(ml("replaceXRanges",t,e),t.split(/\s+/).map(r=>Rmn(r,e)).join(" ")),Rmn=(t,e)=>{t=t.trim();let r=e.loose?Ab[My.XRANGELOOSE]:Ab[My.XRANGE];return t.replace(r,(n,o,i,a,s,u)=>{ml("xRange",t,n,o,i,a,s,u);let l=Nb(i),c=l||Nb(a),d=c||Nb(s),f=d;return o==="="&&f&&(o=""),u=e.includePrerelease?"-0":"",l?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&f?(c&&(a=0),s=0,o===">"?(o=">=",c?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):o==="<="&&(o="<",c?i=+i+1:a=+a+1),o==="<"&&(u="-0"),n=`${o+i}.${a}.${s}${u}`):c?n=`>=${i}.0.0${u} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${u} <${i}.${+a+1}.0-0`),ml("xRange return",n),n})},Imn=(t,e)=>(ml("replaceStars",t,e),t.trim().replace(Ab[My.STAR],"")),Amn=(t,e)=>(ml("replaceGTE0",t,e),t.trim().replace(Ab[e.includePrerelease?My.GTE0PRE:My.GTE0],"")),Nmn=t=>(e,r,n,o,i,a,s,u,l,c,d,f)=>(Nb(n)?r="":Nb(o)?r=`>=${n}.0.0${t?"-0":""}`:Nb(i)?r=`>=${n}.${o}.0${t?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Nb(l)?u="":Nb(c)?u=`<${+l+1}.0.0-0`:Nb(d)?u=`<${l}.${+c+1}.0-0`:f?u=`<=${l}.${c}.${d}-${f}`:t?u=`<${l}.${c}.${+d+1}-0`:u=`<=${u}`,`${r} ${u}`.trim()),Dmn=(t,e,r)=>{for(let n=0;n0){let o=t[n].semver;if(o.major===e.major&&o.minor===e.minor&&o.patch===e.patch)return!0}return!1}return!0}});var oee=S((yPi,PEt)=>{"use strict";var iee=Symbol("SemVer ANY"),Dze=class t{static get ANY(){return iee}constructor(e,r){if(r=CEt(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Nze("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===iee?this.value="":this.value=this.operator+this.semver.version,Nze("comp",this)}parse(e){let r=this.options.loose?xEt[TEt.COMPARATORLOOSE]:xEt[TEt.COMPARATOR],n=e.match(r);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new OEt(n[2],this.options.loose):this.semver=iee}toString(){return this.value}test(e){if(Nze("Comparator.test",e,this.options.loose),this.semver===iee||e===iee)return!0;if(typeof e=="string")try{e=new OEt(e,this.options)}catch{return!1}return Aze(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new EEt(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new EEt(this.value,r).test(e.semver):(r=CEt(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Aze(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Aze(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};PEt.exports=Dze;var CEt=kme(),{safeRe:xEt,t:TEt}=rJ(),Aze=Pze(),Nze=ree(),OEt=Py(),EEt=CS()});var aee=S((bPi,MEt)=>{"use strict";var jmn=CS(),$mn=(t,e,r)=>{try{e=new jmn(e,r)}catch{return!1}return e.test(t)};MEt.exports=$mn});var IEt=S((_Pi,REt)=>{"use strict";var Lmn=CS(),Fmn=(t,e)=>new Lmn(t,e).set.map(r=>r.map(n=>n.value).join(" ").trim().split(" "));REt.exports=Fmn});var NEt=S((vPi,AEt)=>{"use strict";var kmn=Py(),qmn=CS(),Umn=(t,e,r)=>{let n=null,o=null,i=null;try{i=new qmn(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||o.compare(a)===-1)&&(n=a,o=new kmn(n,r))}),n};AEt.exports=Umn});var jEt=S((wPi,DEt)=>{"use strict";var Bmn=Py(),zmn=CS(),Vmn=(t,e,r)=>{let n=null,o=null,i=null;try{i=new zmn(e,r)}catch{return null}return t.forEach(a=>{i.test(a)&&(!n||o.compare(a)===1)&&(n=a,o=new Bmn(n,r))}),n};DEt.exports=Vmn});var FEt=S((SPi,LEt)=>{"use strict";var jze=Py(),Hmn=CS(),$Et=nee(),Wmn=(t,e)=>{t=new Hmn(t,e);let r=new jze("0.0.0");if(t.test(r)||(r=new jze("0.0.0-0"),t.test(r)))return r;r=null;for(let n=0;n{let s=new jze(a.semver.version);switch(a.operator){case">":s.prerelease.length===0?s.patch++:s.prerelease.push(0),s.raw=s.format();case"":case">=":(!i||$Et(s,i))&&(i=s);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!r||$Et(r,i))&&(r=i)}return r&&t.test(r)?r:null};LEt.exports=Wmn});var qEt=S((CPi,kEt)=>{"use strict";var Jmn=CS(),Kmn=(t,e)=>{try{return new Jmn(t,e).range||"*"}catch{return null}};kEt.exports=Kmn});var Xme=S((xPi,VEt)=>{"use strict";var Gmn=Py(),zEt=oee(),{ANY:Xmn}=zEt,Zmn=CS(),Ymn=aee(),UEt=nee(),BEt=Hme(),Qmn=Jme(),ehn=Wme(),thn=(t,e,r,n)=>{t=new Gmn(t,n),e=new Zmn(e,n);let o,i,a,s,u;switch(r){case">":o=UEt,i=Qmn,a=BEt,s=">",u=">=";break;case"<":o=BEt,i=ehn,a=UEt,s="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ymn(t,e,n))return!1;for(let l=0;l{p.semver===Xmn&&(p=new zEt(">=0.0.0")),d=d||p,f=f||p,o(p.semver,d.semver,n)?d=p:a(p.semver,f.semver,n)&&(f=p)}),d.operator===s||d.operator===u||(!f.operator||f.operator===s)&&i(t,f.semver))return!1;if(f.operator===u&&a(t,f.semver))return!1}return!0};VEt.exports=thn});var WEt=S((TPi,HEt)=>{"use strict";var rhn=Xme(),nhn=(t,e,r)=>rhn(t,e,">",r);HEt.exports=nhn});var KEt=S((OPi,JEt)=>{"use strict";var ohn=Xme(),ihn=(t,e,r)=>ohn(t,e,"<",r);JEt.exports=ihn});var ZEt=S((EPi,XEt)=>{"use strict";var GEt=CS(),ahn=(t,e,r)=>(t=new GEt(t,r),e=new GEt(e,r),t.intersects(e,r));XEt.exports=ahn});var QEt=S((PPi,YEt)=>{"use strict";var shn=aee(),uhn=SS();YEt.exports=(t,e,r)=>{let n=[],o=null,i=null,a=t.sort((c,d)=>uhn(c,d,r));for(let c of a)shn(c,e,r)?(i=c,o||(o=c)):(i&&n.push([o,i]),i=null,o=null);o&&n.push([o,null]);let s=[];for(let[c,d]of n)c===d?s.push(c):!d&&c===a[0]?s.push("*"):d?c===a[0]?s.push(`<=${d}`):s.push(`${c} - ${d}`):s.push(`>=${c}`);let u=s.join(" || "),l=typeof e.raw=="string"?e.raw:String(e);return u.length{"use strict";var ePt=CS(),Lze=oee(),{ANY:$ze}=Lze,see=aee(),Fze=SS(),lhn=(t,e,r={})=>{if(t===e)return!0;t=new ePt(t,r),e=new ePt(e,r);let n=!1;e:for(let o of t.set){for(let i of e.set){let a=dhn(o,i,r);if(n=n||a!==null,a)continue e}if(n)return!1}return!0},chn=[new Lze(">=0.0.0-0")],tPt=[new Lze(">=0.0.0")],dhn=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===$ze){if(e.length===1&&e[0].semver===$ze)return!0;r.includePrerelease?t=chn:t=tPt}if(e.length===1&&e[0].semver===$ze){if(r.includePrerelease)return!0;e=tPt}let n=new Set,o,i;for(let p of t)p.operator===">"||p.operator===">="?o=rPt(o,p,r):p.operator==="<"||p.operator==="<="?i=nPt(i,p,r):n.add(p.semver);if(n.size>1)return null;let a;if(o&&i){if(a=Fze(o.semver,i.semver,r),a>0)return null;if(a===0&&(o.operator!==">="||i.operator!=="<="))return null}for(let p of n){if(o&&!see(p,String(o),r)||i&&!see(p,String(i),r))return null;for(let m of e)if(!see(p,String(m),r))return!1;return!0}let s,u,l,c,d=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,f=o&&!r.includePrerelease&&o.semver.prerelease.length?o.semver:!1;d&&d.prerelease.length===1&&i.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let p of e){if(c=c||p.operator===">"||p.operator===">=",l=l||p.operator==="<"||p.operator==="<=",o){if(f&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===f.major&&p.semver.minor===f.minor&&p.semver.patch===f.patch&&(f=!1),p.operator===">"||p.operator===">="){if(s=rPt(o,p,r),s===p&&s!==o)return!1}else if(o.operator===">="&&!see(o.semver,String(p),r))return!1}if(i){if(d&&p.semver.prerelease&&p.semver.prerelease.length&&p.semver.major===d.major&&p.semver.minor===d.minor&&p.semver.patch===d.patch&&(d=!1),p.operator==="<"||p.operator==="<="){if(u=nPt(i,p,r),u===p&&u!==i)return!1}else if(i.operator==="<="&&!see(i.semver,String(p),r))return!1}if(!p.operator&&(i||o)&&a!==0)return!1}return!(o&&l&&!i&&a!==0||i&&c&&!o&&a!==0||f||d)},rPt=(t,e,r)=>{if(!t)return e;let n=Fze(t.semver,e.semver,r);return n>0?t:n<0||e.operator===">"&&t.operator===">="?e:t},nPt=(t,e,r)=>{if(!t)return e;let n=Fze(t.semver,e.semver,r);return n<0?t:n>0||e.operator==="<"&&t.operator==="<="?e:t};oPt.exports=lhn});var lPt=S((RPi,uPt)=>{"use strict";var kze=rJ(),aPt=tee(),fhn=Py(),sPt=Cze(),phn=kz(),mhn=NOt(),hhn=jOt(),ghn=FOt(),yhn=UOt(),bhn=zOt(),_hn=HOt(),vhn=JOt(),whn=GOt(),Shn=SS(),Chn=QOt(),xhn=tEt(),Thn=Vme(),Ohn=iEt(),Ehn=sEt(),Phn=nee(),Mhn=Hme(),Rhn=Oze(),Ihn=Eze(),Ahn=Wme(),Nhn=Jme(),Dhn=Pze(),jhn=gEt(),$hn=oee(),Lhn=CS(),Fhn=aee(),khn=IEt(),qhn=NEt(),Uhn=jEt(),Bhn=FEt(),zhn=qEt(),Vhn=Xme(),Hhn=WEt(),Whn=KEt(),Jhn=ZEt(),Khn=QEt(),Ghn=iPt();uPt.exports={parse:phn,valid:mhn,clean:hhn,inc:ghn,diff:yhn,major:bhn,minor:_hn,patch:vhn,prerelease:whn,compare:Shn,rcompare:Chn,compareLoose:xhn,compareBuild:Thn,sort:Ohn,rsort:Ehn,gt:Phn,lt:Mhn,eq:Rhn,neq:Ihn,gte:Ahn,lte:Nhn,cmp:Dhn,coerce:jhn,Comparator:$hn,Range:Lhn,satisfies:Fhn,toComparators:khn,maxSatisfying:qhn,minSatisfying:Uhn,minVersion:Bhn,validRange:zhn,outside:Vhn,gtr:Hhn,ltr:Whn,intersects:Jhn,simplifyRange:Khn,subset:Ghn,SemVer:fhn,re:kze.re,src:kze.src,tokens:kze.t,SEMVER_SPEC_VERSION:aPt.SEMVER_SPEC_VERSION,RELEASE_TYPES:aPt.RELEASE_TYPES,compareIdentifiers:sPt.compareIdentifiers,rcompareIdentifiers:sPt.rcompareIdentifiers}});function VN(t){if(!t||t.split("/").length>2||t.startsWith("/")||t.endsWith("/")||t.split(":").length>2)throw new Error(`Invalid identifier format: ${t}`);let[e,r]=t.split(":"),n=r||"latest";if(e.includes("/")){let[o,i]=e.split("/",2);if(!o||!i)throw new Error(`Invalid identifier format: ${t}`);return[o,i,n]}else{if(!e)throw new Error(`Invalid identifier format: ${t}`);return["-",e,n]}}var Xhn,cPt=v(()=>{Xhn=$(lPt(),1)});function Bze(t){return t!=null&&typeof t=="object"&&"name"in t&&t?.name==="LangSmithNotFoundError"}async function Ar(t,e,r){let n;if(t.ok){r&&(n=await t.text());return}if(t.status===403)try{(await t.json())?.error==="org_scoped_key_requires_workspace"&&(n="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable.")}catch{let s=new Error(`${t.status} ${t.statusText}`);throw s.status=t?.status,s}if(n===void 0)try{n=await t.text()}catch{n=""}let o=`Failed to ${e}. Received status [${t.status}]: ${t.statusText}. Message: ${n}`;if(t.status===404)throw new Uze(o);if(t.status===409)throw new qze(o);let i=new Error(o);throw i.status=t.status,i}function fPt(t){return typeof t=="object"&&t!==null&&t.code===dPt}var qze,Uze,dPt,Zme,zze=v(()=>{qze=class extends Error{constructor(e){super(e),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}},Uze=class extends Error{constructor(e){super(e),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}};dPt="ERR_CONFLICTING_ENDPOINTS",Zme=class extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS."),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:dPt}),this.name="ConflictingEndpointsError"}}});function Qhn(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Yme(t){return Yhn.encode(t)}function mPt(t){if(t&&typeof t=="object"&&t!==null){if(t instanceof Map)return Object.fromEntries(t);if(t instanceof Set)return Array.from(t);if(t instanceof Date)return t.toISOString();if(t instanceof RegExp)return t.toString();if(t instanceof Error)return{name:t.name,message:t.message}}else if(typeof t=="bigint")return t.toString();return t}function egn(t){return function(e,r){if(t){let n=t.call(this,e,r);if(n!==void 0)return n}return mPt(r)}}function E_(t,e,r,n,o){try{let i=JSON.stringify(t,egn(r),n);return Yme(i)}catch(i){if(!i.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${e?`
-Context: ${e}`:""}`),Yme("[Unserializable]");ad("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${e?`
-Context: ${e}`:""}`),typeof o>"u"&&(o=Qhn()),Hze(t,"",0,[],void 0,0,o);let a;try{nJ.length===0?a=JSON.stringify(t,r,n):a=JSON.stringify(t,tgn(r),n)}catch{return Yme("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Qme.length!==0;){let s=Qme.pop();s.length===4?Object.defineProperty(s[0],s[1],s[3]):s[0][s[1]]=s[2]}}return Yme(a)}}function Vze(t,e,r,n){var o=Object.getOwnPropertyDescriptor(n,r);o.get!==void 0?o.configurable?(Object.defineProperty(n,r,{value:t}),Qme.push([n,r,e,o])):nJ.push([e,r,t]):(n[r]=t,Qme.push([n,r,e]))}function Hze(t,e,r,n,o,i,a){i+=1;var s;if(typeof t=="object"&&t!==null){for(s=0;sa.depthLimit){Vze(pPt,t,e,o);return}if(typeof a.edgesLimit<"u"&&r+1>a.edgesLimit){Vze(pPt,t,e,o);return}if(n.push(t),Array.isArray(t))for(s=0;s0)for(var n=0;n{BN();pPt="[...]",Zhn={result:"[Circular]"},Qme=[],nJ=[],Yhn=new TextEncoder});function gPt(t,e,r){if(r)return t;let n=Mme(),o=e??QBe(),i=t.extra??{},a=i.metadata;return t.extra={...i,runtime:{...n,...i?.runtime},metadata:{...o,...o.revision_id||"revision_id"in t&&t.revision_id?{revision_id:("revision_id"in t?t.revision_id:void 0)??o.revision_id}:{},...a}},t}async function ogn(t){let e=[];for await(let r of t)e.push(r);return e}function ehe(t){if(t!==void 0)return t.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}function yPt(t){return typeof t=="number"?Number(t.toFixed(4)):t}function _Pt(t){return"dataset_id"in t||"dataset_name"in t}var rgn,ngn,ign,agn,vPt,sgn,ugn,bPt,Wze,Fz,KBe=v(()=>{gme();iOt();sze();_Ot();vOt();BN();Pme();xme();yme();cPt();zze();JBe();UBe();hPt();rgn=t=>{let e=t?.toString()??ad("TRACING_SAMPLING_RATE");if(e===void 0)return;let r=parseFloat(e);if(r<0||r>1)throw new Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${r}`);return r},ngn=t=>{let r=t.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return r==="localhost"||r==="127.0.0.1"||r==="::1"};ign=async t=>{if(t?.status===429){let e=parseInt(t.headers.get("retry-after")??"10",10)*1e3;if(e>0)return await new Promise(r=>setTimeout(r,e)),!0}return!1};agn=24*1024*1024,vPt=1024*1024*1024,sgn=1e4,ugn=100,bPt="https://api.smith.langchain.com",Wze=class{constructor(e){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSizeBytes=e??vPt}peek(){return this.items[0]}push(e){let r,n=new Promise(i=>{r=i}),o=E_(e.item,`Serializing run with id: ${e.item.id}`).length;return this.sizeBytes+o>this.maxSizeBytes&&this.items.length>0?(console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${e.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${o} bytes.`),r(),n):(this.items.push({action:e.action,payload:e.item,otelContext:e.otelContext,apiKey:e.apiKey,apiUrl:e.apiUrl,itemPromiseResolve:r,itemPromise:n,size:o}),this.sizeBytes+=o,n)}pop({upToSizeBytes:e,upToSize:r}){if(e<1)throw new Error("Number of bytes to pop off may not be less than 1.");let n=[],o=0;for(;o+(this.peek()?.size??0)0&&n.length0){let i=this.items.shift();n.push(i),o+=i.size,this.sizeBytes-=i.size}return[n.map(i=>({action:i.action,item:i.payload,otelContext:i.otelContext,apiKey:i.apiKey,apiUrl:i.apiUrl,size:i.size})),()=>n.forEach(i=>i.itemPromiseResolve())]}},Fz=class t{get _fetch(){return this.fetchImplementation||$Tt(this.debug)}constructor(e={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:nw("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:ad("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:nw("LANGSMITH_DEBUG")==="true"});let r=t.getDefaultClientConfig();if(this.tracingSampleRate=rgn(e.tracingSamplingRate),this.apiUrl=ehe(e.apiUrl??r.apiUrl)??"",this.apiUrl.endsWith("/")&&(this.apiUrl=this.apiUrl.slice(0,-1)),this.apiKey=ehe(e.apiKey??r.apiKey),this.webUrl=ehe(e.webUrl??r.webUrl),this.webUrl?.endsWith("/")&&(this.webUrl=this.webUrl.slice(0,-1)),this.workspaceId=ehe(e.workspaceId??ad("WORKSPACE_ID")),this.timeout_ms=e.timeout_ms??9e4,this.caller=new eee({...e.callerOptions??{},maxRetries:4,debug:e.debug??this.debug}),this.traceBatchConcurrency=e.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw new Error("Trace batch concurrency must be positive.");this.debug=e.debug??this.debug,this.fetchImplementation=e.fetchImplementation;let n=e.maxIngestMemoryBytes??vPt;this.batchIngestCaller=new eee({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:n,...e.callerOptions??{},onFailedResponseHook:ign,debug:e.debug??this.debug}),this.hideInputs=e.hideInputs??e.anonymizer??r.hideInputs,this.hideOutputs=e.hideOutputs??e.anonymizer??r.hideOutputs,this.omitTracedRuntimeInfo=e.omitTracedRuntimeInfo??!1,this.autoBatchTracing=e.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new Wze(n),this.blockOnRootRunFinalization=e.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=e.batchSizeBytesLimit,this.batchSizeLimit=e.batchSizeLimit,this.fetchOptions=e.fetchOptions||{},this.manualFlushMode=e.manualFlushMode??this.manualFlushMode,Rme()&&(this.langSmithToOTELTranslator=new Ame),this.cachedLSEnvVarsForMetadata=QBe(),e.cache!==void 0&&e.disablePromptCache&&$z("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value."),e.cache!==void 0?($z("The 'cache' parameter is deprecated and will be removed in a future version. Use 'configureGlobalPromptCache()' to configure the global cache, or 'disablePromptCache: true' to disable caching for this client."),e.cache===!1?this._promptCache=void 0:e.cache===!0?this._promptCache=Ome:this._promptCache=e.cache):e.disablePromptCache||(this._promptCache=Ome)}static getDefaultClientConfig(){let e=ad("API_KEY"),r=ad("ENDPOINT")??bPt,n=ad("HIDE_INPUTS")==="true",o=ad("HIDE_OUTPUTS")==="true";return{apiUrl:r,apiKey:e,webUrl:void 0,hideInputs:n,hideOutputs:o}}getHostUrl(){return this.webUrl?this.webUrl:ngn(this.apiUrl)?(this.webUrl="http://localhost:3000",this.webUrl):this.apiUrl.endsWith("/api/v1")?(this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl):this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api")?(this.webUrl=this.apiUrl.replace("/api",""),this.webUrl):this.apiUrl.split(".",1)[0].includes("dev")?(this.webUrl="https://dev.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("eu")?(this.webUrl="https://eu.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("beta")?(this.webUrl="https://beta.smith.langchain.com",this.webUrl):(this.webUrl="https://smith.langchain.com",this.webUrl)}get headers(){let e={"User-Agent":`langsmith-js/${Eme}`};return this.apiKey&&(e["x-api-key"]=`${this.apiKey}`),this.workspaceId&&(e["x-tenant-id"]=this.workspaceId),e}_getPlatformEndpointPath(e){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${e}`:`/platform/${e}`}async processInputs(e){return this.hideInputs===!1?e:this.hideInputs===!0?{}:typeof this.hideInputs=="function"?this.hideInputs(e):e}async processOutputs(e){return this.hideOutputs===!1?e:this.hideOutputs===!0?{}:typeof this.hideOutputs=="function"?this.hideOutputs(e):e}async prepareRunCreateOrUpdateInputs(e){let r={...e};return r.inputs!==void 0&&(r.inputs=await this.processInputs(r.inputs)),r.outputs!==void 0&&(r.outputs=await this.processOutputs(r.outputs)),r}async _getResponse(e,r){let n=r?.toString()??"",o=`${this.apiUrl}${e}?${n}`;return await this.caller.call(async()=>{let a=await this._fetch(o,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(a,`fetch ${e}`),a})}async _get(e,r){return(await this._getResponse(e,r)).json()}async*_getPaginated(e,r=new URLSearchParams,n){let o=Number(r.get("offset"))||0,i=Number(r.get("limit"))||100;for(;;){r.set("offset",String(o)),r.set("limit",String(i));let a=`${this.apiUrl}${e}?${r}`,s=await this.caller.call(async()=>{let l=await this._fetch(a,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(l,`fetch ${e}`),l}),u=n?n(await s.json()):await s.json();if(u.length===0||(yield u,u.length{let c=await this._fetch(`${this.apiUrl}${e}`,{method:n,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(c,`fetch ${e}`),c})).json();if(!u||!u[o])break;yield u[o];let l=u.cursors;if(!l||!l.next)break;i.cursor=l.next}}_shouldSample(){return this.tracingSampleRate===void 0?!0:Math.random()0;){let[o,i]=this.autoBatchQueue.pop({upToSizeBytes:e,upToSize:r});if(!o.length){i();break}let a=o.reduce((l,c)=>{let d=c.apiUrl??this.apiUrl,f=c.apiKey??this.apiKey,m=c.apiKey===this.apiKey&&c.apiUrl===this.apiUrl?"default":`${d}|${f}`;return l[m]||(l[m]=[]),l[m].push(c),l},{}),s=[];for(let[l,c]of Object.entries(a)){let d=this._processBatch(c,{apiUrl:l==="default"?void 0:l.split("|")[0],apiKey:l==="default"?void 0:l.split("|")[1]});s.push(d)}let u=Promise.all(s).finally(i);n.push(u)}return Promise.all(n)}async _processBatch(e,r){if(!e.length)return;let n=e.reduce((o,i)=>o+(i.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator(e);else{let o={runCreates:e.filter(s=>s.action==="create").map(s=>s.item),runUpdates:e.filter(s=>s.action==="update").map(s=>s.item)},i=await this._ensureServerInfo();if(!this._multipartDisabled&&(i?.batch_ingest_config?.use_multipart_endpoint??!0)){let s=!this._runCompressionDisabled&&i?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(o,{...r,useGzip:s,sizeBytes:n})}catch(u){if(Bze(u))this._multipartDisabled=!0,await this.batchIngestRuns(o,{...r,sizeBytes:n});else throw u}}else await this.batchIngestRuns(o,{...r,sizeBytes:n})}}catch(o){console.error("Error exporting batch:",o)}}_sendBatchToOTELTranslator(e){if(this.langSmithToOTELTranslator!==void 0){let r=new Map,n=[];for(let o of e)o.item.id&&o.otelContext&&(r.set(o.item.id,o.otelContext),o.action==="create"?n.push({operation:"post",id:o.item.id,trace_id:o.item.trace_id??o.item.id,run:o.item}):n.push({operation:"patch",id:o.item.id,trace_id:o.item.trace_id??o.item.id,run:o.item}));this.langSmithToOTELTranslator.exportBatch(n,r)}}async processRunOperation(e){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,e.item=gPt(e.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let r=this.autoBatchQueue.push(e);if(this.manualFlushMode)return r;let n=await this._getBatchSizeLimitBytes(),o=await this._getBatchSizeLimit();return(this.autoBatchQueue.sizeBytes>n||this.autoBatchQueue.items.length>o)&&this.drainAutoBatchQueue({batchSizeLimitBytes:n,batchSizeLimit:o}),this.autoBatchQueue.items.length>0&&(this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:n,batchSizeLimit:o})},this.autoBatchAggregationDelayMs)),r}async _getServerInfo(){let r=await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(sgn),...this.fetchOptions});return await Ar(n,"get server info"),n})).json();return this.debug&&console.log(`
-=== LangSmith Server Configuration ===
-`+JSON.stringify(r,null,2)+`
-`),r}async _ensureServerInfo(){return this._getServerInfoPromise===void 0&&(this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch(e){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${e.status??"Unspecified status code"} ${e.message}`)}return this._serverInfo??{}})()),this._getServerInfoPromise.then(e=>(this._serverInfo===void 0&&(this._getServerInfoPromise=void 0),e))}async _getSettings(){return this.settings||(this.settings=this._get("/settings")),await this.settings}async flush(){let e=await this._getBatchSizeLimitBytes(),r=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:e,batchSizeLimit:r})}_cloneCurrentOTELContext(){let e=Ime(),r=nOt();if(this.langSmithToOTELTranslator!==void 0){let n=e.getActiveSpan();if(n)return e.setSpan(r.active(),n)}}async createRun(e,r){if(!this._filterForSampling([e]).length)return;let n={...this.headers,"Content-Type":"application/json"},o=e.project_name;delete e.project_name;let i=await this.prepareRunCreateOrUpdateInputs({session_name:o,...e,start_time:e.start_time??Date.now()});if(this.autoBatchTracing&&i.trace_id!==void 0&&i.dotted_order!==void 0){let u=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:i,otelContext:u,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}let a=gPt(i,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);r?.apiKey!==void 0&&(n["x-api-key"]=r.apiKey),r?.workspaceId!==void 0&&(n["x-tenant-id"]=r.workspaceId);let s=E_(a,`Creating run with id: ${a.id}`);await this.caller.call(async()=>{let u=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:n,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await Ar(u,"create run",!0),u})}async batchIngestRuns({runCreates:e,runUpdates:r},n){if(e===void 0&&r===void 0)return;let o=await Promise.all(e?.map(u=>this.prepareRunCreateOrUpdateInputs(u))??[]),i=await Promise.all(r?.map(u=>this.prepareRunCreateOrUpdateInputs(u))??[]);if(o.length>0&&i.length>0){let u=o.reduce((c,d)=>(d.id&&(c[d.id]=d),c),{}),l=[];for(let c of i)c.id!==void 0&&u[c.id]?u[c.id]={...u[c.id],...c}:l.push(c);o=Object.values(u),i=l}let a={post:o,patch:i};if(!a.post.length&&!a.patch.length)return;let s={post:[],patch:[]};for(let u of["post","patch"]){let l=u,c=a[l].reverse(),d=c.pop();for(;d!==void 0;)s[l].push(d),d=c.pop()}if(s.post.length>0||s.patch.length>0){let u=s.post.map(l=>l.id).concat(s.patch.map(l=>l.id)).join(",");await this._postBatchIngestRuns(E_(s,`Ingesting runs with ids: ${u}`),n)}}async _postBatchIngestRuns(e,r){let n={...this.headers,"Content-Type":"application/json",Accept:"application/json"};r?.apiKey!==void 0&&(n["x-api-key"]=r.apiKey),await this.batchIngestCaller.callWithOptions({sizeBytes:r?.sizeBytes},async()=>{let o=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:n,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:e});return await Ar(o,"batch create run",!0),o})}async multipartIngestRuns({runCreates:e,runUpdates:r},n){if(e===void 0&&r===void 0)return;let o={},i=[];for(let d of e??[]){let f=await this.prepareRunCreateOrUpdateInputs(d);f.id!==void 0&&f.attachments!==void 0&&(o[f.id]=f.attachments),delete f.attachments,i.push(f)}let a=[];for(let d of r??[])a.push(await this.prepareRunCreateOrUpdateInputs(d));if(i.find(d=>d.trace_id===void 0||d.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(a.find(d=>d.trace_id===void 0||d.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(i.length>0&&a.length>0){let d=i.reduce((p,m)=>(m.id&&(p[m.id]=m),p),{}),f=[];for(let p of a)p.id!==void 0&&d[p.id]?d[p.id]={...d[p.id],...p}:f.push(p);i=Object.values(d),a=f}if(i.length===0&&a.length===0)return;let l=[],c=[];for(let[d,f]of[["post",i],["patch",a]])for(let p of f){let{inputs:m,outputs:h,events:y,extra:g,error:b,serialized:_,attachments:w,...T}=p,O={inputs:m,outputs:h,events:y,extra:g,error:b,serialized:_},E=E_(T,`Serializing for multipart ingestion of run with id: ${T.id}`);c.push({name:`${d}.${T.id}`,payload:new Blob([E],{type:`application/json; length=${E.length}`})});for(let[P,R]of Object.entries(O)){if(R===void 0)continue;let I=E_(R,`Serializing ${P} for multipart ingestion of run with id: ${T.id}`);c.push({name:`${d}.${T.id}.${P}`,payload:new Blob([I],{type:`application/json; length=${I.length}`})})}if(T.id!==void 0){let P=o[T.id];if(P){delete o[T.id];for(let[R,I]of Object.entries(P)){let N,z;if(Array.isArray(I)?[N,z]=I:(N=I.mimeType,z=I.data),R.includes(".")){console.warn(`Skipping attachment '${R}' for run ${T.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}c.push({name:`attachment.${T.id}.${R}`,payload:new Blob([z],{type:`${N}; length=${z.byteLength}`})})}}}l.push(`trace=${T.trace_id},id=${T.id}`)}await this._sendMultipartRequest(c,l.join("; "),n)}async _createNodeFetchBody(e,r){let n=[];for(let a of e)n.push(new Blob([`--${r}\r
-`])),n.push(new Blob([`Content-Disposition: form-data; name="${a.name}"\r
-`,`Content-Type: ${a.payload.type}\r
-\r
-`])),n.push(a.payload),n.push(new Blob([`\r
-`]));return n.push(new Blob([`--${r}--\r
-`])),await new Blob(n).arrayBuffer()}async _createMultipartStream(e,r){let n=new TextEncoder;return new ReadableStream({async start(i){let a=async s=>{typeof s=="string"?i.enqueue(n.encode(s)):i.enqueue(s)};for(let s of e){await a(`--${r}\r
-`),await a(`Content-Disposition: form-data; name="${s.name}"\r
-`),await a(`Content-Type: ${s.payload.type}\r
-\r
-`);let l=s.payload.stream().getReader();try{let c;for(;!(c=await l.read()).done;)i.enqueue(c.value)}finally{l.releaseLock()}await a(`\r
-`)}await a(`--${r}--\r
-`),i.close()}})}async _sendMultipartRequest(e,r,n){let o="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),i=()=>this._createNodeFetchBody(e,o),a=()=>this._createMultipartStream(e,o),s=async u=>this.batchIngestCaller.callWithOptions({sizeBytes:n?.sizeBytes},async()=>{let l=await u(),c={...this.headers,"Content-Type":`multipart/form-data; boundary=${o}`};n?.apiKey!==void 0&&(c["x-api-key"]=n.apiKey);let d=l;n?.useGzip&&typeof l=="object"&&"pipeThrough"in l&&(d=l.pipeThrough(new CompressionStream("gzip")),c["Content-Encoding"]="gzip");let f=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:c,body:d,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(f,"Failed to send multipart request",!0),f});try{let u,l=!1;jTt()&&!this.multipartStreamingDisabled&&YBe()!=="bun"?(l=!0,u=await s(a)):u=await s(i),(!this.multipartStreamingDisabled||l)&&u.status===422&&(n?.apiUrl??this.apiUrl)!==bPt&&(console.warn(`Streaming multipart upload to ${n?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${r}".`),this.multipartStreamingDisabled=!0,u=await s(i))}catch(u){if(Bze(u))throw u;console.warn(`${u.message.trim()}
-
-Context: ${r}`)}}async updateRun(e,r,n){Ao(e),r.inputs&&(r.inputs=await this.processInputs(r.inputs)),r.outputs&&(r.outputs=await this.processOutputs(r.outputs));let o={...r,id:e};if(!this._filterForSampling([o],!0).length)return;if(this.autoBatchTracing&&o.trace_id!==void 0&&o.dotted_order!==void 0){let s=this._cloneCurrentOTELContext();if(r.end_time!==void 0&&o.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:o,otelContext:s,apiKey:n?.apiKey,apiUrl:n?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:o,otelContext:s,apiKey:n?.apiKey,apiUrl:n?.apiUrl}).catch(console.error);return}let i={...this.headers,"Content-Type":"application/json"};n?.apiKey!==void 0&&(i["x-api-key"]=n.apiKey),n?.workspaceId!==void 0&&(i["x-tenant-id"]=n.workspaceId);let a=E_(r,`Serializing payload to update run with id: ${e}`);await this.caller.call(async()=>{let s=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs/${e}`,{method:"PATCH",headers:i,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(s,"update run",!0),s})}async readRun(e,{loadChildRuns:r}={loadChildRuns:!1}){Ao(e);let n=await this._get(`/runs/${e}`);return r&&(n=await this._loadChildRuns(n)),n}async getRunUrl({runId:e,run:r,projectOpts:n}){if(r!==void 0){let o;r.session_id?o=r.session_id:n?.projectName?o=(await this.readProject({projectName:n?.projectName})).id:n?.projectId?o=n?.projectId:o=(await this.readProject({projectName:ad("PROJECT")||"default"})).id;let i=await this._getTenantId();return`${this.getHostUrl()}/o/${i}/projects/p/${o}/r/${r.id}?poll=true`}else if(e!==void 0){let o=await this.readRun(e);if(!o.app_path)throw new Error(`Run ${e} has no app_path`);return`${this.getHostUrl()}${o.app_path}`}else throw new Error("Must provide either runId or run")}async _loadChildRuns(e){let r=await ogn(this.listRuns({isRoot:!1,projectId:e.session_id,traceId:e.trace_id})),n={},o={};r.sort((i,a)=>(i?.dotted_order??"").localeCompare(a?.dotted_order??""));for(let i of r){if(i.parent_run_id===null||i.parent_run_id===void 0)throw new Error(`Child run ${i.id} has no parent`);i.dotted_order?.startsWith(e.dotted_order??"")&&i.id!==e.id&&(i.parent_run_id in n||(n[i.parent_run_id]=[]),n[i.parent_run_id].push(i),o[i.id]=i)}e.child_runs=n[e.id]||[];for(let i in n)i!==e.id&&(o[i].child_runs=n[i]);return e}async*listRuns(e){let{projectId:r,projectName:n,parentRunId:o,traceId:i,referenceExampleId:a,startTime:s,executionOrder:u,isRoot:l,runType:c,error:d,id:f,query:p,filter:m,traceFilter:h,treeFilter:y,limit:g,select:b,order:_}=e,w=[];if(r&&(w=Array.isArray(r)?r:[r]),n){let P=Array.isArray(n)?n:[n],R=await Promise.all(P.map(I=>this.readProject({projectName:I}).then(N=>N.id)));w.push(...R)}let T=["app_path","completion_cost","completion_tokens","dotted_order","end_time","error","events","extra","feedback_stats","first_token_time","id","inputs","name","outputs","parent_run_id","parent_run_ids","prompt_cost","prompt_tokens","reference_example_id","run_type","session_id","start_time","status","tags","total_cost","total_tokens","trace_id"],O={session:w.length?w:null,run_type:c,reference_example:a,query:p,filter:m,trace_filter:h,tree_filter:y,execution_order:u,parent_run:o,start_time:s?s.toISOString():null,error:d,id:f,limit:g,trace:i,select:b||T,is_root:l,order:_};O.select.includes("child_run_ids")&&$z("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let E=0;for await(let P of this._getCursorPaginatedList("/runs/query",O))if(g){if(E>=g)break;if(P.length+E>g){yield*P.slice(0,g-E);break}E+=P.length,yield*P}else yield*P}async*listGroupRuns(e){let{projectId:r,projectName:n,groupBy:o,filter:i,startTime:a,endTime:s,limit:u,offset:l}=e,d={session_id:r||(await this.readProject({projectName:n})).id,group_by:o,filter:i,start_time:a?a.toISOString():null,end_time:s?s.toISOString():null,limit:Number(u)||100},f=Number(l)||0,p="/runs/group",m=`${this.apiUrl}${p}`;for(;;){let h={...d,offset:f},y=Object.fromEntries(Object.entries(h).filter(([O,E])=>E!==void 0)),g=JSON.stringify(y),_=await(await this.caller.call(async()=>{let O=await this._fetch(m,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:g});return await Ar(O,`Failed to fetch ${p}`),O})).json(),{groups:w,total:T}=_;if(w.length===0)break;for(let O of w)yield O;if(f+=w.length,f>=T)break}}async getRunStats({id:e,trace:r,parentRun:n,runType:o,projectNames:i,projectIds:a,referenceExampleIds:s,startTime:u,endTime:l,error:c,query:d,filter:f,traceFilter:p,treeFilter:m,isRoot:h,dataSourceType:y}){let g=a||[];i&&(g=[...a||[],...await Promise.all(i.map(E=>this.readProject({projectName:E}).then(P=>P.id)))]);let _=Object.fromEntries(Object.entries({id:e,trace:r,parent_run:n,run_type:o,session:g,reference_example:s,start_time:u,end_time:l,error:c,query:d,filter:f,trace_filter:p,tree_filter:m,is_root:h,data_source_type:y}).filter(([E,P])=>P!==void 0)),w=JSON.stringify(_);return await(await this.caller.call(async()=>{let E=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:w});return await Ar(E,"get run stats"),E})).json()}async shareRun(e,{shareId:r}={}){let n={run_id:e,share_token:r||jz()};Ao(e);let o=JSON.stringify(n),a=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/runs/${e}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await Ar(s,"share run"),s})).json();if(a===null||!("share_token"in a))throw new Error("Invalid response from server");return`${this.getHostUrl()}/public/${a.share_token}/r`}async unshareRun(e){Ao(e),await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/runs/${e}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(r,"unshare run",!0),r})}async readRunSharedLink(e){Ao(e);let n=await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/runs/${e}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,"read run shared link"),o})).json();if(!(n===null||!("share_token"in n)))return`${this.getHostUrl()}/public/${n.share_token}/r`}async listSharedRuns(e,{runIds:r}={}){let n=new URLSearchParams({share_token:e});if(r!==void 0)for(let a of r)n.append("id",a);return Ao(e),await(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/public/${e}/runs${n}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(a,"list shared runs"),a})).json()}async readDatasetSharedSchema(e,r){if(!e&&!r)throw new Error("Either datasetId or datasetName must be given");e||(e=(await this.readDataset({datasetName:r})).id),Ao(e);let o=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${e}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(i,"read dataset shared schema"),i})).json();return o.url=`${this.getHostUrl()}/public/${o.share_token}/d`,o}async shareDataset(e,r){if(!e&&!r)throw new Error("Either datasetId or datasetName must be given");e||(e=(await this.readDataset({datasetName:r})).id);let n={dataset_id:e};Ao(e);let o=JSON.stringify(n),a=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/datasets/${e}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await Ar(s,"share dataset"),s})).json();return a.url=`${this.getHostUrl()}/public/${a.share_token}/d`,a}async unshareDataset(e){Ao(e),await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/datasets/${e}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(r,"unshare dataset",!0),r})}async readSharedDataset(e){return Ao(e),await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/public/${e}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,"read shared dataset"),o})).json()}async listSharedExamples(e,r){let n={};r?.exampleIds&&(n.id=r.exampleIds);let o=new URLSearchParams;Object.entries(n).forEach(([s,u])=>{Array.isArray(u)?u.forEach(l=>o.append(s,l)):o.append(s,u)});let i=await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/public/${e}/examples?${o.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(s,"list shared examples"),s}),a=await i.json();if(!i.ok)throw"detail"in a?new Error(`Failed to list shared examples.
-Status: ${i.status}
-Message: ${Array.isArray(a.detail)?a.detail.join(`
-`):"Unspecified error"}`):new Error(`Failed to list shared examples: ${i.status} ${i.statusText}`);return a.map(s=>({...s,_hostUrl:this.getHostUrl()}))}async createProject({projectName:e,description:r=null,metadata:n=null,upsert:o=!1,projectExtra:i=null,referenceDatasetId:a=null}){let s=o?"?upsert=true":"",u=`${this.apiUrl}/sessions${s}`,l=i||{};n&&(l.metadata=n);let c={name:e,extra:l,description:r};a!==null&&(c.reference_dataset_id=a);let d=JSON.stringify(c);return await(await this.caller.call(async()=>{let m=await this._fetch(u,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await Ar(m,"create project"),m})).json()}async updateProject(e,{name:r=null,description:n=null,metadata:o=null,projectExtra:i=null,endTime:a=null}){let s=`${this.apiUrl}/sessions/${e}`,u=i;o&&(u={...u||{},metadata:o});let l=JSON.stringify({name:r,extra:u,description:n,end_time:a?new Date(a).toISOString():null});return await(await this.caller.call(async()=>{let f=await this._fetch(s,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await Ar(f,"update project"),f})).json()}async hasProject({projectId:e,projectName:r}){let n="/sessions",o=new URLSearchParams;if(e!==void 0&&r!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(e!==void 0)Ao(e),n+=`/${e}`;else if(r!==void 0)o.append("name",r);else throw new Error("Must provide projectName or projectId");let i=await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${n}?${o}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(a,"has project"),a});try{let a=await i.json();return i.ok?Array.isArray(a)?a.length>0:!0:!1}catch{return!1}}async readProject({projectId:e,projectName:r,includeStats:n}){let o="/sessions",i=new URLSearchParams;if(e!==void 0&&r!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(e!==void 0)Ao(e),o+=`/${e}`;else if(r!==void 0)i.append("name",r);else throw new Error("Must provide projectName or projectId");n!==void 0&&i.append("include_stats",n.toString());let a=await this._get(o,i),s;if(Array.isArray(a)){if(a.length===0)throw new Error(`Project[id=${e}, name=${r}] not found`);s=a[0]}else s=a;return s}async getProjectUrl({projectId:e,projectName:r}){if(e===void 0&&r===void 0)throw new Error("Must provide either projectName or projectId");let n=await this.readProject({projectId:e,projectName:r}),o=await this._getTenantId();return`${this.getHostUrl()}/o/${o}/projects/p/${n.id}`}async getDatasetUrl({datasetId:e,datasetName:r}){if(e===void 0&&r===void 0)throw new Error("Must provide either datasetName or datasetId");let n=await this.readDataset({datasetId:e,datasetName:r}),o=await this._getTenantId();return`${this.getHostUrl()}/o/${o}/datasets/${n.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let e=new URLSearchParams({limit:"1"});for await(let r of this._getPaginated("/sessions",e))return this._tenantId=r[0].tenant_id,r[0].tenant_id;throw new Error("No projects found to resolve tenant.")}async*listProjects({projectIds:e,name:r,nameContains:n,referenceDatasetId:o,referenceDatasetName:i,includeStats:a,datasetVersion:s,referenceFree:u,metadata:l}={}){let c=new URLSearchParams;if(e!==void 0)for(let d of e)c.append("id",d);if(r!==void 0&&c.append("name",r),n!==void 0&&c.append("name_contains",n),o!==void 0)c.append("reference_dataset",o);else if(i!==void 0){let d=await this.readDataset({datasetName:i});c.append("reference_dataset",d.id)}a!==void 0&&c.append("include_stats",a.toString()),s!==void 0&&c.append("dataset_version",s),u!==void 0&&c.append("reference_free",u.toString()),l!==void 0&&c.append("metadata",JSON.stringify(l));for await(let d of this._getPaginated("/sessions",c))yield*d}async deleteProject({projectId:e,projectName:r}){let n;if(e===void 0&&r===void 0)throw new Error("Must provide projectName or projectId");if(e!==void 0&&r!==void 0)throw new Error("Must provide either projectName or projectId, not both");e===void 0?n=(await this.readProject({projectName:r})).id:n=e,Ao(n),await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/sessions/${n}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,`delete session ${n} (${r})`,!0),o})}async uploadCsv({csvFile:e,fileName:r,inputKeys:n,outputKeys:o,description:i,dataType:a,name:s}){let u=`${this.apiUrl}/datasets/upload`,l=new FormData,c=new Blob([e],{type:"text/csv"});return l.append("file",c,r),n.forEach(p=>{l.append("input_keys",p)}),o.forEach(p=>{l.append("output_keys",p)}),i&&l.append("description",i),a&&l.append("data_type",a),s&&l.append("name",s),await(await this.caller.call(async()=>{let p=await this._fetch(u,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await Ar(p,"upload CSV"),p})).json()}async createDataset(e,{description:r,dataType:n,inputsSchema:o,outputsSchema:i,metadata:a}={}){let s={name:e,description:r,extra:a?{metadata:a}:void 0};n&&(s.data_type=n),o&&(s.inputs_schema_definition=o),i&&(s.outputs_schema_definition=i);let u=JSON.stringify(s);return await(await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Ar(d,"create dataset"),d})).json()}async readDataset({datasetId:e,datasetName:r}){let n="/datasets",o=new URLSearchParams({limit:"1"});if(e&&r)throw new Error("Must provide either datasetName or datasetId, not both");if(e)Ao(e),n+=`/${e}`;else if(r)o.append("name",r);else throw new Error("Must provide datasetName or datasetId");let i=await this._get(n,o),a;if(Array.isArray(i)){if(i.length===0)throw new Error(`Dataset[id=${e}, name=${r}] not found`);a=i[0]}else a=i;return a}async hasDataset({datasetId:e,datasetName:r}){try{return await this.readDataset({datasetId:e,datasetName:r}),!0}catch(n){if(n instanceof Error&&n.message.toLocaleLowerCase().includes("not found"))return!1;throw n}}async diffDatasetVersions({datasetId:e,datasetName:r,fromVersion:n,toVersion:o}){let i=e;if(i===void 0&&r===void 0)throw new Error("Must provide either datasetName or datasetId");if(i!==void 0&&r!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");i===void 0&&(i=(await this.readDataset({datasetName:r})).id);let a=new URLSearchParams({from_version:typeof n=="string"?n:n.toISOString(),to_version:typeof o=="string"?o:o.toISOString()});return await this._get(`/datasets/${i}/versions/diff`,a)}async readDatasetOpenaiFinetuning({datasetId:e,datasetName:r}){let n="/datasets";if(e===void 0)if(r!==void 0)e=(await this.readDataset({datasetName:r})).id;else throw new Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`${n}/${e}/openai_ft`)).text()).trim().split(`
-`).map(s=>JSON.parse(s))}async*listDatasets({limit:e=100,offset:r=0,datasetIds:n,datasetName:o,datasetNameContains:i,metadata:a}={}){let s="/datasets",u=new URLSearchParams({limit:e.toString(),offset:r.toString()});if(n!==void 0)for(let l of n)u.append("id",l);o!==void 0&&u.append("name",o),i!==void 0&&u.append("name_contains",i),a!==void 0&&u.append("metadata",JSON.stringify(a));for await(let l of this._getPaginated(s,u))yield*l}async updateDataset(e){let{datasetId:r,datasetName:n,...o}=e;if(!r&&!n)throw new Error("Must provide either datasetName or datasetId");let i=r??(await this.readDataset({datasetName:n})).id;Ao(i);let a=JSON.stringify(o);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${i}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(u,"update dataset"),u})).json()}async updateDatasetTag(e){let{datasetId:r,datasetName:n,asOf:o,tag:i}=e;if(!r&&!n)throw new Error("Must provide either datasetName or datasetId");let a=r??(await this.readDataset({datasetName:n})).id;Ao(a);let s=JSON.stringify({as_of:typeof o=="string"?o:o.toISOString(),tag:i});await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${a}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await Ar(u,"update dataset tags",!0),u})}async deleteDataset({datasetId:e,datasetName:r}){let n="/datasets",o=e;if(e!==void 0&&r!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(r!==void 0&&(o=(await this.readDataset({datasetName:r})).id),o!==void 0)Ao(o),n+=`/${o}`;else throw new Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let i=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(i,`delete ${n}`,!0),i})}async indexDataset({datasetId:e,datasetName:r,tag:n}){let o=e;if(!o&&!r)throw new Error("Must provide either datasetName or datasetId");if(o&&r)throw new Error("Must provide either datasetName or datasetId, not both");o||(o=(await this.readDataset({datasetName:r})).id),Ao(o);let a=JSON.stringify({tag:n});await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${o}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(u,"index dataset"),u})).json()}async similarExamples(e,r,n,{filter:o}={}){let i={limit:n,inputs:e};o!==void 0&&(i.filter=o),Ao(r);let a=JSON.stringify(i);return(await(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets/${r}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:a});return await Ar(l,"fetch similar examples"),l})).json()).examples}async createExample(e,r,n){if(_Pt(e)&&(r!==void 0||n!==void 0))throw new Error("Cannot provide outputs or options when using ExampleCreate object");let o=r?n?.datasetId:e.dataset_id,i=r?n?.datasetName:e.dataset_name;if(o===void 0&&i===void 0)throw new Error("Must provide either datasetName or datasetId");if(o!==void 0&&i!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");o===void 0&&(o=(await this.readDataset({datasetName:i})).id);let a=(r?n?.createdAt:e.created_at)||new Date,s;_Pt(e)?s=e:s={inputs:e,outputs:r,created_at:a?.toISOString(),id:n?.exampleId,metadata:n?.metadata,split:n?.split,source_run_id:n?.sourceRunId,use_source_run_io:n?.useSourceRunIO,use_source_run_attachments:n?.useSourceRunAttachments,attachments:n?.attachments};let u=await this._uploadExamplesMultipart(o,[s]);return await this.readExample(u.example_ids?.[0]??jz())}async createExamples(e){if(Array.isArray(e)){if(e.length===0)return[];let b=e,_=b[0].dataset_id,w=b[0].dataset_name;if(_===void 0&&w===void 0)throw new Error("Must provide either datasetName or datasetId");if(_!==void 0&&w!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");_===void 0&&(_=(await this.readDataset({datasetName:w})).id);let T=await this._uploadExamplesMultipart(_,b);return await Promise.all(T.example_ids.map(E=>this.readExample(E)))}let{inputs:r,outputs:n,metadata:o,splits:i,sourceRunIds:a,useSourceRunIOs:s,useSourceRunAttachments:u,attachments:l,exampleIds:c,datasetId:d,datasetName:f}=e;if(r===void 0)throw new Error("Must provide inputs when using legacy parameters");let p=d,m=f;if(p===void 0&&m===void 0)throw new Error("Must provide either datasetName or datasetId");if(p!==void 0&&m!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");p===void 0&&(p=(await this.readDataset({datasetName:m})).id);let h=r.map((b,_)=>({dataset_id:p,inputs:b,outputs:n?.[_],metadata:o?.[_],split:i?.[_],id:c?.[_],attachments:l?.[_],source_run_id:a?.[_],use_source_run_io:s?.[_],use_source_run_attachments:u?.[_]})),y=await this._uploadExamplesMultipart(p,h);return await Promise.all(y.example_ids.map(b=>this.readExample(b)))}async createLLMExample(e,r,n){return this.createExample({input:e},{output:r},n)}async createChatExample(e,r,n){let o=e.map(a=>_ze(a)?vze(a):a),i=_ze(r)?vze(r):r;return this.createExample({input:o},{output:i},n)}async readExample(e){Ao(e);let r=`/examples/${e}`,n=await this._get(r),{attachment_urls:o,...i}=n,a=i;return o&&(a.attachments=Object.entries(o).reduce((s,[u,l])=>(s[u.slice(11)]={presigned_url:l.presigned_url,mime_type:l.mime_type},s),{})),a}async*listExamples({datasetId:e,datasetName:r,exampleIds:n,asOf:o,splits:i,inlineS3Urls:a,metadata:s,limit:u,offset:l,filter:c,includeAttachments:d}={}){let f;if(e!==void 0&&r!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(e!==void 0)f=e;else if(r!==void 0)f=(await this.readDataset({datasetName:r})).id;else throw new Error("Must provide a datasetName or datasetId");let p=new URLSearchParams({dataset:f}),m=o?typeof o=="string"?o:o?.toISOString():void 0;m&&p.append("as_of",m);let h=a??!0;if(p.append("inline_s3_urls",h.toString()),n!==void 0)for(let g of n)p.append("id",g);if(i!==void 0)for(let g of i)p.append("splits",g);if(s!==void 0){let g=JSON.stringify(s);p.append("metadata",g)}u!==void 0&&p.append("limit",u.toString()),l!==void 0&&p.append("offset",l.toString()),c!==void 0&&p.append("filter",c),d===!0&&["attachment_urls","outputs","metadata"].forEach(g=>p.append("select",g));let y=0;for await(let g of this._getPaginated("/examples",p)){for(let b of g){let{attachment_urls:_,...w}=b,T=w;_&&(T.attachments=Object.entries(_).reduce((O,[E,P])=>(O[E.slice(11)]={presigned_url:P.presigned_url,mime_type:P.mime_type||void 0},O),{})),yield T,y++}if(u!==void 0&&y>=u)break}}async deleteExample(e){Ao(e);let r=`/examples/${e}`;await this.caller.call(async()=>{let n=await this._fetch(this.apiUrl+r,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,`delete ${r}`,!0),n})}async deleteExamples(e,r){if(e.forEach(n=>Ao(n)),r?.hardDelete){let n=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}${n}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:e,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,"hard delete examples",!0),o})}else{let n=new URLSearchParams;e.forEach(o=>n.append("example_ids",o)),await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/examples?${n.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,"delete examples",!0),o})}}async updateExample(e,r){let n;r?n=e:n=e.id,Ao(n);let o;r?o={id:n,...r}:o=e;let i;return o.dataset_id!==void 0?i=o.dataset_id:i=(await this.readExample(n)).dataset_id,this._updateExamplesMultipart(i,[o])}async updateExamples(e){let r;return e[0].dataset_id===void 0?r=(await this.readExample(e[0].id)).dataset_id:r=e[0].dataset_id,this._updateExamplesMultipart(r,e)}async readDatasetVersion({datasetId:e,datasetName:r,asOf:n,tag:o}){let i;if(e?i=e:i=(await this.readDataset({datasetName:r})).id,Ao(i),n&&o||!n&&!o)throw new Error("Exactly one of asOf and tag must be specified.");let a=new URLSearchParams;return n!==void 0&&a.append("as_of",typeof n=="string"?n:n.toISOString()),o!==void 0&&a.append("tag",o),await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${i}/version?${a.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(u,"read dataset version"),u})).json()}async listDatasetSplits({datasetId:e,datasetName:r,asOf:n}){let o;if(e===void 0&&r===void 0)throw new Error("Must provide dataset name or ID");if(e!==void 0&&r!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");e===void 0?o=(await this.readDataset({datasetName:r})).id:o=e,Ao(o);let i=new URLSearchParams,a=n?typeof n=="string"?n:n?.toISOString():void 0;return a&&i.append("as_of",a),await this._get(`/datasets/${o}/splits`,i)}async updateDatasetSplits({datasetId:e,datasetName:r,splitName:n,exampleIds:o,remove:i=!1}){let a;if(e===void 0&&r===void 0)throw new Error("Must provide dataset name or ID");if(e!==void 0&&r!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");e===void 0?a=(await this.readDataset({datasetName:r})).id:a=e,Ao(a);let s={split_name:n,examples:o.map(l=>(Ao(l),l)),remove:i},u=JSON.stringify(s);await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets/${a}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Ar(l,"update dataset splits",!0),l})}async createFeedback(e,r,{score:n,value:o,correction:i,comment:a,sourceInfo:s,feedbackSourceType:u="api",sourceRunId:l,feedbackId:c,feedbackConfig:d,projectId:f,comparativeExperimentId:p,sessionId:m,startTime:h}){if(!e&&!f)throw new Error("One of runId or projectId must be provided");if(e&&f)throw new Error("Only one of runId or projectId can be provided");let y={type:u??"api",metadata:s??{}};l!==void 0&&y?.metadata!==void 0&&!y.metadata.__run&&(y.metadata.__run={run_id:l}),y?.metadata!==void 0&&y.metadata.__run?.run_id!==void 0&&Ao(y.metadata.__run.run_id);let g={id:c??jz(),run_id:e,key:r,score:yPt(n),value:o,correction:i,comment:a,feedback_source:y,comparative_experiment_id:p,feedbackConfig:d,session_id:m??f,start_time:h},b=JSON.stringify(g),_=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let w=await this._fetch(_,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:b});return await Ar(w,"create feedback",!0),w}),g}async updateFeedback(e,{score:r,value:n,correction:o,comment:i}){let a={};r!=null&&(a.score=yPt(r)),n!=null&&(a.value=n),o!=null&&(a.correction=o),i!=null&&(a.comment=i),Ao(e);let s=JSON.stringify(a);await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/feedback/${e}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await Ar(u,"update feedback",!0),u})}async readFeedback(e){Ao(e);let r=`/feedback/${e}`;return await this._get(r)}async deleteFeedback(e){Ao(e);let r=`/feedback/${e}`;await this.caller.call(async()=>{let n=await this._fetch(this.apiUrl+r,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,`delete ${r}`,!0),n})}async*listFeedback({runIds:e,feedbackKeys:r,feedbackSourceTypes:n}={}){let o=new URLSearchParams;if(e)for(let i of e)Ao(i),o.append("run",i);if(r)for(let i of r)o.append("key",i);if(n)for(let i of n)o.append("source",i);for await(let i of this._getPaginated("/feedback",o))yield*i}async createPresignedFeedbackToken(e,r,{expiration:n,feedbackConfig:o}={}){let i={run_id:e,feedback_key:r,feedback_config:o};n?typeof n=="string"?i.expires_at=n:(n?.hours||n?.minutes||n?.days)&&(i.expires_in=n):i.expires_in={hours:3};let a=JSON.stringify(i);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(u,"create presigned feedback token"),u})).json()}async createComparativeExperiment({name:e,experimentIds:r,referenceDatasetId:n,createdAt:o,description:i,metadata:a,id:s}){if(r.length===0)throw new Error("At least one experiment is required");if(n||(n=(await this.readProject({projectId:r[0]})).reference_dataset_id),!n==null)throw new Error("A reference dataset is required");let u={id:s,name:e,experiment_ids:r,reference_dataset_id:n,description:i,created_at:(o??new Date)?.toISOString(),extra:{}};a&&(u.extra.metadata=a);let l=JSON.stringify(u);return(await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await Ar(d,"create comparative experiment"),d})).json()}async*listPresignedFeedbackTokens(e){Ao(e);let r=new URLSearchParams({run_id:e});for await(let n of this._getPaginated("/feedback/tokens",r))yield*n}_selectEvalResults(e){let r;return"results"in e?r=e.results:Array.isArray(e)?r=e:r=[e],r}async _logEvaluationFeedback(e,r,n){let o=this._selectEvalResults(e),i=[];for(let a of o){let s=n||{};a.evaluatorInfo&&(s={...a.evaluatorInfo,...s});let u=null;a.targetRunId?u=a.targetRunId:r&&(u=r.id),i.push(await this.createFeedback(u,a.key,{score:a.score,value:a.value,comment:a.comment,correction:a.correction,sourceInfo:s,sourceRunId:a.sourceRunId,feedbackConfig:a.feedbackConfig,feedbackSourceType:"model",sessionId:r?.session_id,startTime:r?.start_time}))}return[o,i]}async logEvaluationFeedback(e,r,n){let[o]=await this._logEvaluationFeedback(e,r,n);return o}async createFeedbackConfig(e){let{feedbackKey:r,feedbackConfig:n,isLowerScoreBetter:o=!1}=e,i={feedback_key:r,feedback_config:n,is_lower_score_better:o};return(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(i)});return await Ar(s,"create feedback config"),s})).json()}async*listFeedbackConfigs(e={}){let{feedbackKeys:r,nameContains:n,limit:o}=e,i=new URLSearchParams;r&&r.forEach(s=>{i.append("key",s)}),n&&i.append("name_contains",n),i.append("limit",(o!==void 0?Math.min(o,100):100).toString());let a=0;for await(let s of this._getPaginated("/feedback-configs",i))if(yield*s,a+=s.length,o!==void 0&&a>=o)break}async updateFeedbackConfig(e,r={}){let{feedbackConfig:n,isLowerScoreBetter:o}=r,i={feedback_key:e};return n!==void 0&&(i.feedback_config=n),o!==void 0&&(i.is_lower_score_better=o),(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(i)});return await Ar(s,"update feedback config"),s})).json()}async deleteFeedbackConfig(e){let r=new URLSearchParams({feedback_key:e});await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/feedback-configs?${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,"delete feedback config",!0),n})}async*listAnnotationQueues(e={}){let{queueIds:r,name:n,nameContains:o,limit:i}=e,a=new URLSearchParams;r&&r.forEach((u,l)=>{Ao(u,`queueIds[${l}]`),a.append("ids",u)}),n&&a.append("name",n),o&&a.append("name_contains",o),a.append("limit",(i!==void 0?Math.min(i,100):100).toString());let s=0;for await(let u of this._getPaginated("/annotation-queues",a))if(yield*u,s++,i!==void 0&&s>=i)break}async createAnnotationQueue(e){let{name:r,description:n,queueId:o,rubricInstructions:i,rubricItems:a}=e,s={name:r,description:n,id:o||jz(),rubric_instructions:i,rubric_items:a},u=JSON.stringify(Object.fromEntries(Object.entries(s).filter(([c,d])=>d!==void 0)));return(await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Ar(c,"create annotation queue"),c})).json()}async readAnnotationQueue(e){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,"read annotation queue"),n})).json()}async updateAnnotationQueue(e,r){let{name:n,description:o,rubricInstructions:i,rubricItems:a}=r,s={};n!==void 0&&(s.name=n),o!==void 0&&(s.description=o),i!==void 0&&(s.rubric_instructions=i),a!==void 0&&(s.rubric_items=a);let u=JSON.stringify(s);await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Ar(l,"update annotation queue",!0),l})}async deleteAnnotationQueue(e){await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(r,"delete annotation queue",!0),r})}async addRunsToAnnotationQueue(e,r){let n=JSON.stringify(r.map((o,i)=>Ao(o,`runIds[${i}]`).toString()));await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:n});return await Ar(o,"add runs to annotation queue",!0),o})}async getRunFromAnnotationQueue(e,r){let n=`/annotation-queues/${Ao(e,"queueId")}/run`;return(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}${n}/${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(i,"get run from annotation queue"),i})).json()}async deleteRunFromAnnotationQueue(e,r){await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}/runs/${Ao(r,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,"delete run from annotation queue",!0),n})}async getSizeFromAnnotationQueue(e){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${Ao(e,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(n,"get size from annotation queue"),n})).json()}async _currentTenantIsOwner(e){let r=await this._getSettings();return e=="-"||r.tenant_handle===e}async _ownerConflictError(e,r){let n=await this._getSettings();return new Error(`Cannot ${e} for another tenant.
-
- Current tenant: ${n.tenant_handle}
-
- Requested tenant: ${r}`)}async _getLatestCommitHash(e){let n=await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/commits/${e}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(o,"get latest commit hash"),o})).json();if(n.commits.length!==0)return n.commits[0].commit_hash}async _likeOrUnlikePrompt(e,r){let[n,o,i]=VN(e),a=JSON.stringify({like:r});return(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/likes/${n}/${o}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(u,`${r?"like":"unlike"} prompt`),u})).json()}async _getPromptUrl(e){let[r,n,o]=VN(e);if(await this._currentTenantIsOwner(r)){let i=await this._getSettings();return o!=="latest"?`${this.getHostUrl()}/prompts/${n}/${o.substring(0,8)}?organizationId=${i.id}`:`${this.getHostUrl()}/prompts/${n}?organizationId=${i.id}`}else return o!=="latest"?`${this.getHostUrl()}/hub/${r}/${n}/${o.substring(0,8)}`:`${this.getHostUrl()}/hub/${r}/${n}`}async promptExists(e){return!!await this.getPrompt(e)}async likePrompt(e){return this._likeOrUnlikePrompt(e,!0)}async unlikePrompt(e){return this._likeOrUnlikePrompt(e,!1)}async*listCommits(e){for await(let r of this._getPaginated(`/commits/${e}/`,new URLSearchParams,n=>n.commits))yield*r}async*listPrompts(e){let r=new URLSearchParams;r.append("sort_field",e?.sortField??"updated_at"),r.append("sort_direction","desc"),r.append("is_archived",(!!e?.isArchived).toString()),e?.isPublic!==void 0&&r.append("is_public",e.isPublic.toString()),e?.query&&r.append("query",e.query);for await(let n of this._getPaginated("/repos",r,o=>o.repos))yield*n}async getPrompt(e){let[r,n,o]=VN(e),a=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/repos/${r}/${n}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return s?.status===404?null:(await Ar(s,"get prompt"),s)}))?.json();return a?.repo?a.repo:null}async createPrompt(e,r){let n=await this._getSettings();if(r?.isPublic&&!n.tenant_handle)throw new Error(`Cannot create a public prompt without first
-
- creating a LangChain Hub handle.
- You can add a handle by creating a public prompt at:
-
- https://smith.langchain.com/prompts`);let[o,i,a]=VN(e);if(!await this._currentTenantIsOwner(o))throw await this._ownerConflictError("create a prompt",o);let s={repo_handle:i,...r?.description&&{description:r.description},...r?.readme&&{readme:r.readme},...r?.tags&&{tags:r.tags},is_public:!!r?.isPublic},u=JSON.stringify(s),l=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await Ar(d,"create prompt"),d}),{repo:c}=await l.json();return c}async createCommit(e,r,n){if(!await this.promptExists(e))throw new Error("Prompt does not exist, you must create it first.");let[o,i,a]=VN(e),s=n?.parentCommitHash==="latest"||!n?.parentCommitHash?await this._getLatestCommitHash(`${o}/${i}`):n?.parentCommitHash,u={manifest:JSON.parse(JSON.stringify(r)),parent_commit:s},l=JSON.stringify(u),d=await(await this.caller.call(async()=>{let f=await this._fetch(`${this.apiUrl}/commits/${o}/${i}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:l});return await Ar(f,"create commit"),f})).json();return this._getPromptUrl(`${o}/${i}${d.commit_hash?`:${d.commit_hash}`:""}`)}async updateExamplesMultipart(e,r=[]){return this._updateExamplesMultipart(e,r)}async _updateExamplesMultipart(e,r=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let n=new FormData;for(let a of r){let s=a.id,u={...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split}},l=E_(u,`Serializing body for example with id: ${s}`),c=new Blob([l],{type:"application/json"});if(n.append(s,c),a.inputs){let d=E_(a.inputs,`Serializing inputs for example with id: ${s}`),f=new Blob([d],{type:"application/json"});n.append(`${s}.inputs`,f)}if(a.outputs){let d=E_(a.outputs,`Serializing outputs whle updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});n.append(`${s}.outputs`,f)}if(a.attachments)for(let[d,f]of Object.entries(a.attachments)){let p,m;Array.isArray(f)?[p,m]=f:(p=f.mimeType,m=f.data);let h=new Blob([m],{type:`${p}; length=${m.byteLength}`});n.append(`${s}.attachment.${d}`,h)}if(a.attachments_operations){let d=E_(a.attachments_operations,`Serializing attachments while updating example with id: ${s}`),f=new Blob([d],{type:"application/json"});n.append(`${s}.attachments_operations`,f)}}let o=e??r[0]?.dataset_id;return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${o}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:n});return await Ar(a,"update examples"),a})).json()}async uploadExamplesMultipart(e,r=[]){return this._uploadExamplesMultipart(e,r)}async _uploadExamplesMultipart(e,r=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let n=new FormData;for(let i of r){let a=(i.id??jz()).toString(),s={created_at:i.created_at,...i.metadata&&{metadata:i.metadata},...i.split&&{split:i.split},...i.source_run_id&&{source_run_id:i.source_run_id},...i.use_source_run_io&&{use_source_run_io:i.use_source_run_io},...i.use_source_run_attachments&&{use_source_run_attachments:i.use_source_run_attachments}},u=E_(s,`Serializing body for uploaded example with id: ${a}`),l=new Blob([u],{type:"application/json"});if(n.append(a,l),i.inputs){let c=E_(i.inputs,`Serializing inputs for uploaded example with id: ${a}`),d=new Blob([c],{type:"application/json"});n.append(`${a}.inputs`,d)}if(i.outputs){let c=E_(i.outputs,`Serializing outputs for uploaded example with id: ${a}`),d=new Blob([c],{type:"application/json"});n.append(`${a}.outputs`,d)}if(i.attachments)for(let[c,d]of Object.entries(i.attachments)){let f,p;Array.isArray(d)?[f,p]=d:(f=d.mimeType,p=d.data);let m=new Blob([p],{type:`${f}; length=${p.byteLength}`});n.append(`${a}.attachment.${c}`,m)}}return(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${e}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:n});return await Ar(i,"upload examples"),i})).json()}async updatePrompt(e,r){if(!await this.promptExists(e))throw new Error("Prompt does not exist, you must create it first.");let[n,o]=VN(e);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("update a prompt",n);let i={};if(r?.description!==void 0&&(i.description=r.description),r?.readme!==void 0&&(i.readme=r.readme),r?.tags!==void 0&&(i.tags=r.tags),r?.isPublic!==void 0&&(i.is_public=r.isPublic),r?.isArchived!==void 0&&(i.is_archived=r.isArchived),Object.keys(i).length===0)throw new Error("No valid update options provided");let a=JSON.stringify(i);return(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/repos/${n}/${o}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await Ar(u,"update prompt"),u})).json()}async deletePrompt(e){if(!await this.promptExists(e))throw new Error("Prompt does not exist, you must create it first.");let[r,n,o]=VN(e);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("delete a prompt",r);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${r}/${n}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(a,"delete prompt"),a})).json()}_getPromptCacheKey(e,r){return`${e}${r?":with_model":""}`}async _fetchPromptFromApi(e,r){let[n,o,i]=VN(e),s=await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/commits/${n}/${o}/${i}${r?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await Ar(u,"pull prompt commit"),u})).json();return{owner:n,repo:o,commit_hash:s.commit_hash,manifest:s.manifest,examples:s.examples}}async pullPromptCommit(e,r){let n=this._fetchPromptFromApi.bind(this,e,r);if(!r?.skipCache&&this._promptCache){let o=this._getPromptCacheKey(e,r?.includeModel),i=this._promptCache.get(o,n);if(i)return i;let a=await n();return this._promptCache.set(o,a,n),a}return this._fetchPromptFromApi(e,r)}async _pullPrompt(e,r){let n=await this.pullPromptCommit(e,{includeModel:r?.includeModel,skipCache:r?.skipCache});return JSON.stringify(n.manifest)}async pushPrompt(e,r){return await this.promptExists(e)?r&&Object.keys(r).some(o=>o!=="object")&&await this.updatePrompt(e,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}):await this.createPrompt(e,{description:r?.description,readme:r?.readme,tags:r?.tags,isPublic:r?.isPublic}),r?.object?await this.createCommit(e,r?.object,{parentCommitHash:r?.parentCommitHash}):await this._getPromptUrl(e)}async clonePublicDataset(e,r={}){let{sourceApiUrl:n=this.apiUrl,datasetName:o}=r,[i,a]=this.parseTokenOrUrl(e,n),s=new t({apiUrl:i,apiKey:"placeholder"}),u=await s.readSharedDataset(a),l=o||u.name;try{if(await this.hasDataset({datasetId:l})){console.log(`Dataset ${l} already exists in your tenant. Skipping.`);return}}catch{}let c=await s.listSharedExamples(a),d=await this.createDataset(l,{description:u.description,dataType:u.data_type||"kv",inputsSchema:u.inputs_schema_definition??void 0,outputsSchema:u.outputs_schema_definition??void 0});try{await this.createExamples({inputs:c.map(f=>f.inputs),outputs:c.flatMap(f=>f.outputs?[f.outputs]:[]),datasetId:d.id})}catch(f){throw console.error(`An error occurred while creating dataset ${l}. You should delete it manually.`),f}}parseTokenOrUrl(e,r,n=2,o="dataset"){try{return Ao(e),[r,e]}catch{}try{let a=new URL(e).pathname.split("/").filter(s=>s!=="");if(a.length>=n){let s=a[a.length-n];return[r,s]}else throw new Error(`Invalid public ${o} URL: ${e}`)}catch{throw new Error(`Invalid public ${o} URL or token: ${e}`)}}cleanup(){this._promptCache&&this._promptCache.stop()}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();await new Promise(e=>setTimeout(e,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:e})=>e),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await oOt()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}}});var wPt,SPt=v(()=>{BN();wPt=t=>t!==void 0?t:!!["TRACING_V2","TRACING"].find(r=>ad(r)==="true")});var tO,ZPi,the,Jze=v(()=>{tO=Symbol.for("lc:context_variables"),ZPi=Symbol.for("lc:child_run_end_promises"),the=Symbol.for("langsmith:replica_trace_roots")});function Kze(t,e){if(tO in t)return t[tO][e]}function CPt(t,e,r){let n=tO in t?t[tO]:{};n[e]=r,t[tO]=n}var xPt=v(()=>{Jze()});function TPt(t){let r=Object.keys(t).sort().map(n=>`${n}:${t[n]??""}`).join("|");return DBe(r,lgn)}function cgn(t){return t.replace(/[-:.]/g,"")}function EPt(t,e=1){let r=e.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(t).toISOString().slice(0,-1)}${r}Z`}function Gze(t,e,r=1){let n=EPt(t,r);return{dottedOrder:cgn(n)+e,microsecondPrecisionDatestring:n}}function fgn(t){let e={};for(let r of Object.keys(t))dgn.has(r)&&(e[r]=t[r]);return e}function PPt(t){return t!=null&&typeof t.createChild=="function"&&typeof t.postRun=="function"}function MPt(t){return typeof t=="object"&&t!=null&&typeof t.name=="string"&&t.name==="langchain_tracer"}function OPt(t){return Array.isArray(t)&&t.some(e=>MPt(e))}function pgn(t){return typeof t=="object"&&t!=null&&Array.isArray(t.handlers)}function mgn(t){let e=t?.callbacks;return t!=null&&typeof e=="object"&&(OPt(e?.handlers)||OPt(e))}function hgn(){let t=nw("LANGSMITH_RUNS_ENDPOINTS");if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e)){let r=[];for(let n of e){if(typeof n!="object"||n===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof n}`);continue}if(typeof n.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof n.api_url}`);continue}if(typeof n.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof n.api_key}`);continue}r.push({apiUrl:n.api_url.replace(/\/$/,""),apiKey:n.api_key})}return r}else if(typeof e=="object"&&e!==null){ygn(e);let r=[];for(let[n,o]of Object.entries(e)){let i=n.replace(/\/$/,"");if(typeof o=="string")r.push({apiUrl:i,apiKey:o});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${n}: expected string, got ${typeof o}`);continue}}return r}else return console.warn(`Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof e}`),[]}catch(e){if(fPt(e))throw e;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function ggn(t){return t?t.map(e=>Array.isArray(e)?{projectName:e[0],updates:e[1]}:e):hgn()}function ygn(t){if(Object.keys(t).length>0&&ad("ENDPOINT"))throw new Zme}var uee,lgn,dgn,rhe,VC,GBe=v(()=>{KBe();SPt();zze();Jze();xPt();BN();BBe();BN();yme();xme();gme();uee=36,lgn="6ba7b810-9dad-11d1-80b4-00c04fd430c8";dgn=new Set(["projectName","updates","reroot"]);rhe=class t{constructor(e,r,n,o){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=e,this.tags=r,this.project_name=n,this.replicas=o}static fromHeader(e){let r=e.split(","),n={},o=[],i,a;for(let s of r){let[u,l]=s.split("="),c=decodeURIComponent(l);u==="langsmith-metadata"?n=JSON.parse(c):u==="langsmith-tags"?o=c.split(","):u==="langsmith-project"?i=c:u==="langsmith-replicas"&&(a=JSON.parse(c).map(f=>Array.isArray(f)?f:fgn(f)))}return new t(n,o,i,a)}toHeader(){let e=[];return this.metadata&&Object.keys(this.metadata).length>0&&e.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`),this.tags&&this.tags.length>0&&e.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`),this.project_name&&e.push(`langsmith-project=${encodeURIComponent(this.project_name)}`),e.join(",")}},VC=class t{constructor(e){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"distributedParentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_awaitInputsOnPost",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),PPt(e)){Object.assign(this,{...e});return}let r=t.getDefaultConfig(),{metadata:n,...o}=e,i=o.client??t.getSharedClient(),a={...n,...o?.extra?.metadata};if(o.extra={...o.extra,metadata:a},"id"in o&&o.id==null&&delete o.id,Object.assign(this,{...r,...o,client:i}),this.execution_order??(this.execution_order=1),this.child_execution_order??(this.child_execution_order=1),this.dotted_order||(this._serialized_start_time=EPt(this.start_time,this.execution_order)),this.id||(this.id=Cme(this._serialized_start_time??this.start_time)),this.trace_id||(this.parent_run?this.trace_id=this.parent_run.trace_id??this.id:this.trace_id=this.id),this.replicas=ggn(this.replicas),!this.dotted_order){let{dottedOrder:s}=Gze(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+s:this.dotted_order=s}}set metadata(e){this.extra={...this.extra,metadata:{...this.extra?.metadata,...e}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let e=Date.now();return{run_type:"chain",project_name:ZQ(),child_runs:[],api_url:nw("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:nw("LANGCHAIN_API_KEY"),caller_options:{},start_time:e,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return t.sharedClient||(t.sharedClient=new Fz),t.sharedClient}createChild(e){let r=this.child_execution_order+1,n=this.replicas?.map(c=>{let{reroot:d,...f}=c;return f}),o=e.replicas??n,i=new t({...e,parent_run:this,project_name:this.project_name,replicas:o,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:r,child_execution_order:r});tO in this&&(i[tO]=this[tO]);let a=Symbol.for("lc:child_config"),s=e.extra?.[a]??this.extra[a];if(mgn(s)){let c={...s},d=pgn(c.callbacks)?c.callbacks.copy?.():void 0;d&&(Object.assign(d,{_parentRunId:i.id}),d.handlers?.find(MPt)?.updateFromRunTree?.(i),c.callbacks=d),i.extra[a]=c}let u=new Set,l=this;for(;l!=null&&!u.has(l.id);)u.add(l.id),l.child_execution_order=Math.max(l.child_execution_order,r),l=l.parent_run;return this.child_runs.push(i),i}async end(e,r,n=Date.now(),o){this.outputs=this.outputs??e,this.error=this.error??r,this.end_time=this.end_time??n,o&&Object.keys(o).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...o}}:{metadata:o})}_convertToCreate(e,r,n=!0){let o=e.extra??{};if(o?.runtime?.library===void 0&&(o.runtime||(o.runtime={}),r))for(let[s,u]of Object.entries(r))o.runtime[s]||(o.runtime[s]=u);let i,a;return n?(a=e.parent_run?.id??e.parent_run_id,i=[]):(i=e.child_runs.map(s=>this._convertToCreate(s,r,n)),a=void 0),{id:e.id,name:e.name,start_time:e._serialized_start_time??e.start_time,end_time:e.end_time,run_type:e.run_type,reference_example_id:e.reference_example_id,extra:o,serialized:e.serialized,error:e.error,inputs:e.inputs,outputs:e.outputs,session_name:e.project_name,child_runs:i,parent_run_id:a,trace_id:e.trace_id,dotted_order:e.dotted_order,tags:e.tags,attachments:e.attachments,events:e.events}}_sliceParentId(e,r){if(r.dotted_order){let n=r.dotted_order.split("."),o=null;for(let i=0;i0?r.trace_id=i[0].slice(-uee):r.trace_id=r.id}}r.parent_run_id===e&&(r.parent_run_id=void 0)}_setReplicaTraceRoot(e,r){let n=Kze(this,the)??{};n[e]=r,CPt(this,the,n);for(let o of this.child_runs)o._setReplicaTraceRoot(e,r)}_remapForProject(e){let{projectName:r,runtimeEnv:n,excludeChildRuns:o=!0,reroot:i=!1,distributedParentId:a,apiUrl:s,apiKey:u,workspaceId:l}=e,c=this._convertToCreate(this,n,o);if(r===this.project_name)return{...c,session_name:r};if(i){if(a)this._sliceParentId(a,c);else if(c.parent_run_id=void 0,c.dotted_order){let b=c.dotted_order.split(".");b.length>0&&(c.dotted_order=b[b.length-1],c.trace_id=c.id)}let g=TPt({projectName:r,apiUrl:s,apiKey:u,workspaceId:l});this._setReplicaTraceRoot(g,c.id)}let d;if(!i){let g=Kze(this,the)??{},b=TPt({projectName:r,apiUrl:s,apiKey:u,workspaceId:l});if(d=g[b],d&&(c.trace_id=d,c.dotted_order)){let _=c.dotted_order.split("."),w=null;for(let T=0;T<_.length;T++)if(_[T].slice(-uee)===d){w=T;break}if(w!==null){let T=_.slice(w);c.dotted_order=T.join(".")}}}let f=c.id,p=YQ(f,r),m;c.trace_id?m=YQ(c.trace_id,r):m=p;let h;c.parent_run_id&&(h=YQ(c.parent_run_id,r));let y;return c.dotted_order&&(y=c.dotted_order.split(".").map(_=>{let w=_.slice(-uee),T=YQ(w,r);return _.slice(0,-uee)+T}).join(".")),{...c,id:p,trace_id:m,parent_run_id:h,dotted_order:y,session_name:r}}async postRun(e=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let r=Mme();if(this.replicas&&this.replicas.length>0)for(let{projectName:n,apiKey:o,apiUrl:i,workspaceId:a,reroot:s}of this.replicas){let u=this._remapForProject({projectName:n??this.project_name,runtimeEnv:r,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:i,apiKey:o,workspaceId:a});await this.client.createRun(u,{apiKey:o,apiUrl:i,workspaceId:a})}else{let n=this._convertToCreate(this,r,e);await this.client.createRun(n)}if(!e){$z("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let n of this.child_runs)await n.postRun(!1)}this.child_runs=[]}catch(r){console.error(`Error in postRun for run ${this.id}:`,r)}}async patchRun(e){if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:n,apiUrl:o,workspaceId:i,updates:a,reroot:s}of this.replicas){let u=this._remapForProject({projectName:r??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:s,distributedParentId:this.distributedParentId,apiUrl:o,apiKey:n,workspaceId:i}),l={id:u.id,name:u.name,run_type:u.run_type,start_time:u.start_time,outputs:u.outputs,error:u.error,parent_run_id:u.parent_run_id,session_name:u.session_name,reference_example_id:u.reference_example_id,end_time:u.end_time,dotted_order:u.dotted_order,trace_id:u.trace_id,events:u.events,tags:u.tags,extra:u.extra,attachments:this.attachments,...a};e?.excludeInputs||(l.inputs=u.inputs),await this.client.updateRun(u.id,l,{apiKey:n,apiUrl:o,workspaceId:i})}else try{let r={name:this.name,run_type:this.run_type,start_time:this._serialized_start_time??this.start_time,end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};e?.excludeInputs||(r.inputs=this.inputs),await this.client.updateRun(this.id,r)}catch(r){console.error(`Error in patchRun for run ${this.id}`,r)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent(e){this.events||(this.events=[]),typeof e=="string"?this.events.push({name:"event",time:new Date().toISOString(),message:e}):this.events.push({...e,time:e.time??new Date().toISOString()})}static fromRunnableConfig(e,r){let n=e?.callbacks,o,i,a,s=wPt();if(n){let l=n?.getParentRunId?.()??"",c=n?.handlers?.find(d=>d?.name=="langchain_tracer");o=c?.getRun?.(l),i=c?.projectName,a=c?.client,s=s||!!c}return o?new t({name:o.name,id:o.id,trace_id:o.trace_id,dotted_order:o.dotted_order,client:a,tracingEnabled:s,project_name:i,tags:[...new Set((o?.tags??[]).concat(e?.tags??[]))],extra:{metadata:{...o?.extra?.metadata,...e?.metadata}}}).createChild(r):new t({...r,client:a,tracingEnabled:s,project_name:i})}static fromDottedOrder(e){return this.fromHeaders({"langsmith-trace":e})}static fromHeaders(e,r){let n="get"in e&&typeof e.get=="function"?{"langsmith-trace":e.get("langsmith-trace"),baggage:e.get("baggage")}:e,o=n["langsmith-trace"];if(!o||typeof o!="string")return;let i=o.trim(),a=i.split(".").map(c=>{let[d,f]=c.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:f}}),s=a[0].uuid,u={...r,name:r?.name??"parent",run_type:r?.run_type??"chain",start_time:r?.start_time??Date.now(),id:a.at(-1)?.uuid,trace_id:s,dotted_order:i};if(n.baggage&&typeof n.baggage=="string"){let c=rhe.fromHeader(n.baggage);u.metadata=c.metadata,u.tags=c.tags,u.project_name=c.project_name,u.replicas=c.replicas}let l=new t(u);return l.distributedParentId=l.id,l}toHeaders(e){let r={"langsmith-trace":this.dotted_order,baggage:new rhe(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(e)for(let[n,o]of Object.entries(r))e.set(n,o);return r}};Object.defineProperty(VC,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null})});var nhe=v(()=>{GBe()});function Zze(t,e){if(t)return new VC({...t,start_time:t._serialized_start_time??t.start_time,parent_run:Zze(e),child_runs:t.child_runs.map(r=>Zze(r)).filter(r=>r!==void 0),extra:{...t.extra,runtime:TBe()},tracingEnabled:!1})}function Xze(t,e){return t&&!Array.isArray(t)&&typeof t=="object"?t:{[e]:t}}function qz(t){return typeof t._addRunToRunMap=="function"}var bgn,_gn,HC,Uz=v(()=>{Jo();au();GQ();nhe();bgn={};$t(bgn,{BaseTracer:()=>HC,isBaseTracer:()=>qz});_gn=t=>{if(t)return t.events=t.events??[],t.child_runs=t.child_runs??[],t};HC=class extends Dz{constructor(e){super(...arguments);x(this,"runMap",new Map);x(this,"runTreeMap",new Map);x(this,"usesRunTreeMap",!1)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?_gn(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
-
-${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,r){e.child_runs.push(r)}_addRunToRunMap(e){let{dottedOrder:r,microsecondPrecisionDatestring:n}=Gze(new Date(e.start_time).getTime(),e.id,e.execution_order),o={...e},i=this.getRunById(o.parent_run_id);if(o.parent_run_id!==void 0?i?(this._addChildRun(i,o),i.child_execution_order=Math.max(i.child_execution_order,o.child_execution_order),o.trace_id=i.trace_id,i.dotted_order!==void 0&&(o.dotted_order=[i.dotted_order,r].join("."),o._serialized_start_time=n)):o.parent_run_id=void 0:(o.trace_id=o.id,o.dotted_order=r,o._serialized_start_time=n),this.usesRunTreeMap){let a=Zze(o,i);a!==void 0&&this.runTreeMap.set(o.id,a)}else this.runMap.set(o.id,o);return o}async _endTrace(e){let r=e.parent_run_id!==void 0&&this.getRunById(e.parent_run_id);r?r.child_execution_order=Math.max(r.child_execution_order,e.child_execution_order):await this.persistRun(e),await this.onRunUpdate?.(e),this.usesRunTreeMap?this.runTreeMap.delete(e.id):this.runMap.delete(e.id)}_getExecutionOrder(e){let r=e!==void 0&&this.getRunById(e);return r?r.child_execution_order+1:1}_createRunForLLMStart(e,r,n,o,i,a,s,u){let l=this._getExecutionOrder(o),c=Date.now(),d=s?{...i,metadata:s}:i,f={id:n,name:u??e.id[e.id.length-1],parent_run_id:o,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{prompts:r},execution_order:l,child_runs:[],child_execution_order:l,run_type:"llm",extra:d??{},tags:a||[]};return this._addRunToRunMap(f)}async handleLLMStart(e,r,n,o,i,a,s,u){let l=this.getRunById(n)??this._createRunForLLMStart(e,r,n,o,i,a,s,u);return await this.onRunCreate?.(l),await this.onLLMStart?.(l),l}_createRunForChatModelStart(e,r,n,o,i,a,s,u){let l=this._getExecutionOrder(o),c=Date.now(),d=s?{...i,metadata:s}:i,f={id:n,name:u??e.id[e.id.length-1],parent_run_id:o,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{messages:r},execution_order:l,child_runs:[],child_execution_order:l,run_type:"llm",extra:d??{},tags:a||[]};return this._addRunToRunMap(f)}async handleChatModelStart(e,r,n,o,i,a,s,u){let l=this.getRunById(n)??this._createRunForChatModelStart(e,r,n,o,i,a,s,u);return await this.onRunCreate?.(l),await this.onLLMStart?.(l),l}async handleLLMEnd(e,r,n,o,i){let a=this.getRunById(r);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.outputs=e,a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...i},await this.onLLMEnd?.(a),await this._endTrace(a),a}async handleLLMError(e,r,n,o,i){let a=this.getRunById(r);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...i},await this.onLLMError?.(a),await this._endTrace(a),a}_createRunForChainStart(e,r,n,o,i,a,s,u,l){let c=this._getExecutionOrder(o),d=Date.now(),f={id:n,name:u??e.id[e.id.length-1],parent_run_id:o,start_time:d,serialized:e,events:[{name:"start",time:new Date(d).toISOString()}],inputs:r,execution_order:c,child_execution_order:c,run_type:s??"chain",child_runs:[],extra:a?{...l,metadata:a}:{...l},tags:i||[]};return this._addRunToRunMap(f)}async handleChainStart(e,r,n,o,i,a,s,u){let l=this.getRunById(n)??this._createRunForChainStart(e,r,n,o,i,a,s,u);return await this.onRunCreate?.(l),await this.onChainStart?.(l),l}async handleChainEnd(e,r,n,o,i){let a=this.getRunById(r);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.outputs=Xze(e,"output"),a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),i?.inputs!==void 0&&(a.inputs=Xze(i.inputs,"input")),await this.onChainEnd?.(a),await this._endTrace(a),a}async handleChainError(e,r,n,o,i){let a=this.getRunById(r);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),i?.inputs!==void 0&&(a.inputs=Xze(i.inputs,"input")),await this.onChainError?.(a),await this._endTrace(a),a}_createRunForToolStart(e,r,n,o,i,a,s){let u=this._getExecutionOrder(o),l=Date.now(),c={id:n,name:s??e.id[e.id.length-1],parent_run_id:o,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:{input:r},execution_order:u,child_execution_order:u,run_type:"tool",child_runs:[],extra:a?{metadata:a}:{},tags:i||[]};return this._addRunToRunMap(c)}async handleToolStart(e,r,n,o,i,a,s){let u=this.getRunById(n)??this._createRunForToolStart(e,r,n,o,i,a,s);return await this.onRunCreate?.(u),await this.onToolStart?.(u),u}async handleToolEnd(e,r){let n=this.getRunById(r);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.outputs={output:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onToolEnd?.(n),await this._endTrace(n),n}async handleToolError(e,r){let n=this.getRunById(r);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onToolError?.(n),await this._endTrace(n),n}async handleAgentAction(e,r){let n=this.getRunById(r);if(!n||n?.run_type!=="chain")return;let o=n;o.actions=o.actions||[],o.actions.push(e),o.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(n)}async handleAgentEnd(e,r){let n=this.getRunById(r);!n||n?.run_type!=="chain"||(n.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(n))}_createRunForRetrieverStart(e,r,n,o,i,a,s){let u=this._getExecutionOrder(o),l=Date.now(),c={id:n,name:s??e.id[e.id.length-1],parent_run_id:o,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:{query:r},execution_order:u,child_execution_order:u,run_type:"retriever",child_runs:[],extra:a?{metadata:a}:{},tags:i||[]};return this._addRunToRunMap(c)}async handleRetrieverStart(e,r,n,o,i,a,s){let u=this.getRunById(n)??this._createRunForRetrieverStart(e,r,n,o,i,a,s);return await this.onRunCreate?.(u),await this.onRetrieverStart?.(u),u}async handleRetrieverEnd(e,r){let n=this.getRunById(r);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.outputs={documents:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onRetrieverEnd?.(n),await this._endTrace(n),n}async handleRetrieverError(e,r){let n=this.getRunById(r);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onRetrieverError?.(n),await this._endTrace(n),n}async handleText(e,r){let n=this.getRunById(r);!n||n?.run_type!=="chain"||(n.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(n))}async handleLLMNewToken(e,r,n,o,i,a){let s=this.getRunById(n);if(!s||s?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return s.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:r,chunk:a?.chunk}}),await this.onLLMNewToken?.(s,e,{chunk:a?.chunk}),s}}});var NPt=S((SMi,APt)=>{"use strict";var RPt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,IPt=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`;function vgn(){let t=new Map,e={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],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],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,n]of Object.entries(e)){for(let[o,i]of Object.entries(n))e[o]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[o]=e[o],t.set(i[0],i[1]);Object.defineProperty(e,r,{value:n,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",e.color.ansi256=RPt(),e.color.ansi16m=IPt(),e.bgColor.ansi256=RPt(10),e.bgColor.ansi16m=IPt(10),Object.defineProperties(e,{rgbToAnsi256:{value:(r,n,o)=>r===n&&n===o?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(n/255*5)+Math.round(o/255*5),enumerable:!1},hexToRgb:{value:r=>{let n=/(?[a-f\d]{6}|[a-f\d]{3})/i.exec(r.toString(16));if(!n)return[0,0,0];let{colorString:o}=n.groups;o.length===3&&(o=o.split("").map(a=>a+a).join(""));let i=Number.parseInt(o,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:r=>e.rgbToAnsi256(...e.hexToRgb(r)),enumerable:!1}}),e}Object.defineProperty(APt,"exports",{enumerable:!0,get:vgn})});function Db(t,e){return`${t.open}${e}${t.close}`}function xS(t,e){try{return JSON.stringify(t,null,2)}catch{return e}}function DPt(t){return typeof t=="string"?t.trim():t==null?t:xS(t,t.toString())}function HL(t){if(!t.end_time)return"";let e=t.end_time-t.start_time;return e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`}var Yze,wgn,P_,ohe,jPt=v(()=>{Jo();Uz();Yze=$(NPt(),1),wgn={};$t(wgn,{ConsoleCallbackHandler:()=>ohe});({color:P_}=Yze.default),ohe=class extends HC{constructor(){super(...arguments);x(this,"name","console_callback_handler")}persistRun(e){return Promise.resolve()}getParents(e){let r=[],n=e;for(;n.parent_run_id;){let o=this.runMap.get(n.parent_run_id);if(o)r.push(o),n=o;else break}return r}getBreadcrumbs(e){let n=[...this.getParents(e).reverse(),e].map((o,i,a)=>{let s=`${o.execution_order}:${o.run_type}:${o.name}`;return i===a.length-1?Db(Yze.default.bold,s):s}).join(" > ");return Db(P_.grey,n)}onChainStart(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.green,"[chain/start]")} [${r}] Entering Chain run with input: ${xS(e.inputs,"[inputs]")}`)}onChainEnd(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.cyan,"[chain/end]")} [${r}] [${HL(e)}] Exiting Chain run with output: ${xS(e.outputs,"[outputs]")}`)}onChainError(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.red,"[chain/error]")} [${r}] [${HL(e)}] Chain run errored with error: ${xS(e.error,"[error]")}`)}onLLMStart(e){let r=this.getBreadcrumbs(e),n="prompts"in e.inputs?{prompts:e.inputs.prompts.map(o=>o.trim())}:e.inputs;console.log(`${Db(P_.green,"[llm/start]")} [${r}] Entering LLM run with input: ${xS(n,"[inputs]")}`)}onLLMEnd(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.cyan,"[llm/end]")} [${r}] [${HL(e)}] Exiting LLM run with output: ${xS(e.outputs,"[response]")}`)}onLLMError(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.red,"[llm/error]")} [${r}] [${HL(e)}] LLM run errored with error: ${xS(e.error,"[error]")}`)}onToolStart(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.green,"[tool/start]")} [${r}] Entering Tool run with input: "${DPt(e.inputs.input)}"`)}onToolEnd(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.cyan,"[tool/end]")} [${r}] [${HL(e)}] Exiting Tool run with output: "${DPt(e.outputs?.output)}"`)}onToolError(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.red,"[tool/error]")} [${r}] [${HL(e)}] Tool run errored with error: ${xS(e.error,"[error]")}`)}onRetrieverStart(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.green,"[retriever/start]")} [${r}] Entering Retriever run with input: ${xS(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.cyan,"[retriever/end]")} [${r}] [${HL(e)}] Exiting Retriever run with output: ${xS(e.outputs,"[outputs]")}`)}onRetrieverError(e){let r=this.getBreadcrumbs(e);console.log(`${Db(P_.red,"[retriever/error]")} [${r}] [${HL(e)}] Retriever run errored with error: ${xS(e.error,"[error]")}`)}onAgentAction(e){let r=e,n=this.getBreadcrumbs(e);console.log(`${Db(P_.blue,"[agent/action]")} [${n}] Agent selected action: ${xS(r.actions[r.actions.length-1],"[action]")}`)}}});var ihe=v(()=>{Pme()});var Qze,ahe,e4e=v(()=>{au();ihe();ahe=()=>{if(Qze===void 0){let t=Xr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{};Qze=new Fz(t)}return Qze}});function $Pt(t=!1){let e=Cgn.getInstance().getStore();if(!t&&e===void 0)throw new Error(`Could not get the current run tree.
-
-Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return e}function she(t){return typeof t=="function"&&"langsmith:traceable"in t}var r4e,t4e,Sgn,n4e,Cgn,NMi,LPt=v(()=>{r4e=class{getStore(){}run(e,r){return r()}},t4e=Symbol.for("ls:tracing_async_local_storage"),Sgn=new r4e,n4e=class{getInstance(){return globalThis[t4e]??Sgn}initializeGlobalInstance(e){globalThis[t4e]===void 0&&(globalThis[t4e]=e)}},Cgn=new n4e;NMi=Symbol.for("langsmith:traceable:root")});var o4e=v(()=>{LPt()});function Tgn(t){let e;for(let r of t)for(let n of r)Pn.isInstance(n.message)&&n.message.usage_metadata!==void 0&&(e=X6(e,n.message.usage_metadata));return e}var xgn,lee,kPt=v(()=>{Jo();ime();vS();Uz();e4e();o4e();nhe();ihe();xgn={};$t(xgn,{LangChainTracer:()=>lee});lee=class FPt extends HC{constructor(r={}){super(r);x(this,"name","langchain_tracer");x(this,"projectName");x(this,"exampleId");x(this,"client");x(this,"replicas");x(this,"usesRunTreeMap",!0);let{exampleId:n,projectName:o,client:i,replicas:a}=r;this.projectName=o??ZQ(),this.replicas=a,this.exampleId=n,this.client=i??ahe();let s=FPt.getTraceableRunTree();s&&this.updateFromRunTree(s)}async persistRun(r){}async onRunCreate(r){r.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(r.id)?.postRun()}async onRunUpdate(r){let n=this.getRunTreeWithTracingConfig(r.id);r.extra?.lc_defers_inputs?await n?.postRun():await n?.patchRun()}onLLMEnd(r){let n=r.outputs;if(n?.generations){let o=Tgn(n.generations);if(o!==void 0){r.extra=r.extra??{};let i=r.extra.metadata??{};i.usage_metadata=o,r.extra.metadata=i}}}getRun(r){return this.runTreeMap.get(r)}updateFromRunTree(r){this.runTreeMap.set(r.id,r);let n=r,o=new Set;for(;n.parent_run&&!(o.has(n.id)||(o.add(n.id),!n.parent_run));)n=n.parent_run;o.clear();let i=[n];for(;i.length>0;){let a=i.shift();!a||o.has(a.id)||(o.add(a.id),this.runTreeMap.set(a.id,a),a.child_runs&&i.push(...a.child_runs))}this.client=r.client??this.client,this.replicas=r.replicas??this.replicas,this.projectName=r.project_name??this.projectName,this.exampleId=r.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(r){let n=this.runTreeMap.get(r);if(n)return new VC({...n,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return $Pt(!0)}catch{return}}}});var UPt=S((JMi,lhe)=>{"use strict";var Ogn=pze(),uhe=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},qPt=(t,e,r)=>new Promise((n,o)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let i=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(u){o(u)}return}let a=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,s=r instanceof Error?r:new uhe(a);typeof t.cancel=="function"&&t.cancel(),o(s)},e);Ogn(t.then(n,o),()=>{clearTimeout(i)})});lhe.exports=qPt;lhe.exports.default=qPt;lhe.exports.TimeoutError=uhe});var BPt=S(i4e=>{"use strict";Object.defineProperty(i4e,"__esModule",{value:!0});function Egn(t,e,r){let n=0,o=t.length;for(;o>0;){let i=o/2|0,a=n+i;r(t[a],e)<=0?(n=++a,o-=i+1):o=i}return n}i4e.default=Egn});var zPt=S(s4e=>{"use strict";Object.defineProperty(s4e,"__esModule",{value:!0});var Pgn=BPt(),a4e=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let o=Pgn.default(this._queue,n,(i,a)=>a.priority-i.priority);this._queue.splice(o,0,n)}dequeue(){let e=this._queue.shift();return e?.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};s4e.default=a4e});var c4e=S(l4e=>{"use strict";Object.defineProperty(l4e,"__esModule",{value:!0});var Mgn=fze(),VPt=UPt(),Rgn=zPt(),che=()=>{},Ign=new VPt.TimeoutError,u4e=class extends Mgn{constructor(e){var r,n,o,i;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=che,this._resolveIdle=che,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:Rgn.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(i=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&i!==void 0?i:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,o)=>{let i=async()=>{this._pendingCount++,this._intervalCount++;try{let a=this._timeout===void 0&&r.timeout===void 0?e():VPt.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&o(Ign)});n(await a)}catch(a){o(a)}this._next()};this._queue.enqueue(i,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};l4e.default=u4e});function Agn(){let t="default"in dhe.default?dhe.default.default:dhe.default;return new t({autoStart:!0,concurrency:1})}function Ngn(){return typeof Bz>"u"&&(Bz=Agn()),Bz}async function Dc(t,e){if(e===!0){let r=BL();r!==void 0?await r.run(void 0,async()=>t()):await t()}else Bz=Ngn(),Bz.add(async()=>{let r=BL();r!==void 0?await r.run(void 0,async()=>t()):await t()})}async function HPt(){let t=ahe();await Promise.allSettled([typeof Bz<"u"?Bz.onIdle():Promise.resolve(),t.awaitPendingTraceBatches()])}var dhe,Bz,d4e=v(()=>{e4e();jQ();dhe=$(c4e(),1)});var Dgn,WPt=v(()=>{Jo();d4e();Dgn={};$t(Dgn,{awaitAllCallbacks:()=>HPt,consumeCallback:()=>Dc})});var JPt,KPt=v(()=>{au();JPt=t=>t!==void 0?t:!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(r=>Xr(r)==="true")});function f4e(t){let e=BL();return e===void 0?void 0:e.getStore()?.[UL]?.[t]}var jgn,GPt,XPt=v(()=>{jQ();nhe();jgn=Symbol("lc:configure_hooks"),GPt=()=>f4e(jgn)||[]});function HN(t){return t?Array.isArray(t)||"name"in t?{callbacks:t}:t:{}}function oJ(t){return"name"in t?t:Dz.fromMethods(t)}var $gn,ZPt,dee,YPt,p4e,QPt,eMt,mc,WL=v(()=>{Jo();UC();au();GQ();Uz();jPt();kPt();d4e();WPt();KPt();XPt();JQ();$gn={};$t($gn,{BaseCallbackManager:()=>ZPt,BaseRunManager:()=>dee,CallbackManager:()=>mc,CallbackManagerForChainRun:()=>QPt,CallbackManagerForLLMRun:()=>p4e,CallbackManagerForRetrieverRun:()=>YPt,CallbackManagerForToolRun:()=>eMt,ensureHandler:()=>oJ,parseCallbackConfigArg:()=>HN});ZPt=class{setHandler(t){return this.setHandlers([t])}},dee=class{constructor(t,e,r,n,o,i,a,s){this.runId=t,this.handlers=e,this.inheritableHandlers=r,this.tags=n,this.inheritableTags=o,this.metadata=i,this.inheritableMetadata=a,this._parentRunId=s}get parentRunId(){return this._parentRunId}async handleText(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{try{await e.handleText?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleText: ${r}`),e.raiseError)throw r}},e.awaitHandlers)))}async handleCustomEvent(t,e,r,n,o){await Promise.all(this.handlers.map(i=>Dc(async()=>{try{await i.handleCustomEvent?.(t,e,this.runId,this.tags,this.metadata)}catch(a){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleCustomEvent: ${a}`),i.raiseError)throw a}},i.awaitHandlers)))}},YPt=class extends dee{getChild(t){let e=new mc(this.runId);return e.setHandlers(this.inheritableHandlers),e.addTags(this.inheritableTags),e.addMetadata(this.inheritableMetadata),t&&e.addTags([t],!1),e}async handleRetrieverEnd(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreRetriever)try{await e.handleRetrieverEnd?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleRetriever`),e.raiseError)throw r}},e.awaitHandlers)))}async handleRetrieverError(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreRetriever)try{await e.handleRetrieverError?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleRetrieverError: ${r}`),e.raiseError)throw t}},e.awaitHandlers)))}},p4e=class extends dee{async handleLLMNewToken(t,e,r,n,o,i){await Promise.all(this.handlers.map(a=>Dc(async()=>{if(!a.ignoreLLM)try{await a.handleLLMNewToken?.(t,e??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,i)}catch(s){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMNewToken: ${s}`),a.raiseError)throw s}},a.awaitHandlers)))}async handleLLMError(t,e,r,n,o){await Promise.all(this.handlers.map(i=>Dc(async()=>{if(!i.ignoreLLM)try{await i.handleLLMError?.(t,this.runId,this._parentRunId,this.tags,o)}catch(a){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleLLMError: ${a}`),i.raiseError)throw a}},i.awaitHandlers)))}async handleLLMEnd(t,e,r,n,o){await Promise.all(this.handlers.map(i=>Dc(async()=>{if(!i.ignoreLLM)try{await i.handleLLMEnd?.(t,this.runId,this._parentRunId,this.tags,o)}catch(a){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleLLMEnd: ${a}`),i.raiseError)throw a}},i.awaitHandlers)))}},QPt=class extends dee{getChild(t){let e=new mc(this.runId);return e.setHandlers(this.inheritableHandlers),e.addTags(this.inheritableTags),e.addMetadata(this.inheritableMetadata),t&&e.addTags([t],!1),e}async handleChainError(t,e,r,n,o){await Promise.all(this.handlers.map(i=>Dc(async()=>{if(!i.ignoreChain)try{await i.handleChainError?.(t,this.runId,this._parentRunId,this.tags,o)}catch(a){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleChainError: ${a}`),i.raiseError)throw a}},i.awaitHandlers)))}async handleChainEnd(t,e,r,n,o){await Promise.all(this.handlers.map(i=>Dc(async()=>{if(!i.ignoreChain)try{await i.handleChainEnd?.(t,this.runId,this._parentRunId,this.tags,o)}catch(a){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleChainEnd: ${a}`),i.raiseError)throw a}},i.awaitHandlers)))}async handleAgentAction(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreAgent)try{await e.handleAgentAction?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleAgentAction: ${r}`),e.raiseError)throw r}},e.awaitHandlers)))}async handleAgentEnd(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreAgent)try{await e.handleAgentEnd?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleAgentEnd: ${r}`),e.raiseError)throw r}},e.awaitHandlers)))}},eMt=class extends dee{getChild(t){let e=new mc(this.runId);return e.setHandlers(this.inheritableHandlers),e.addTags(this.inheritableTags),e.addMetadata(this.inheritableMetadata),t&&e.addTags([t],!1),e}async handleToolError(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreAgent)try{await e.handleToolError?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleToolError: ${r}`),e.raiseError)throw r}},e.awaitHandlers)))}async handleToolEnd(t){await Promise.all(this.handlers.map(e=>Dc(async()=>{if(!e.ignoreAgent)try{await e.handleToolEnd?.(t,this.runId,this._parentRunId,this.tags)}catch(r){if((e.raiseError?console.error:console.warn)(`Error in handler ${e.constructor.name}, handleToolEnd: ${r}`),e.raiseError)throw r}},e.awaitHandlers)))}},mc=class cee extends ZPt{constructor(r,n){super();x(this,"handlers",[]);x(this,"inheritableHandlers",[]);x(this,"tags",[]);x(this,"inheritableTags",[]);x(this,"metadata",{});x(this,"inheritableMetadata",{});x(this,"name","callback_manager");x(this,"_parentRunId");this.handlers=n?.handlers??this.handlers,this.inheritableHandlers=n?.inheritableHandlers??this.inheritableHandlers,this.tags=n?.tags??this.tags,this.inheritableTags=n?.inheritableTags??this.inheritableTags,this.metadata=n?.metadata??this.metadata,this.inheritableMetadata=n?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=r}getParentRunId(){return this._parentRunId}async handleLLMStart(r,n,o=void 0,i=void 0,a=void 0,s=void 0,u=void 0,l=void 0){return Promise.all(n.map(async(c,d)=>{let f=d===0&&o?o:XT();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return qz(p)&&p._createRunForLLMStart(r,[c],f,this._parentRunId,a,this.tags,this.metadata,l),Dc(async()=>{try{await p.handleLLMStart?.(r,[c],f,this._parentRunId,a,this.tags,this.metadata,l)}catch(m){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${m}`),p.raiseError)throw m}},p.awaitHandlers)})),new p4e(f,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(r,n,o=void 0,i=void 0,a=void 0,s=void 0,u=void 0,l=void 0){return Promise.all(n.map(async(c,d)=>{let f=d===0&&o?o:XT();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return qz(p)&&p._createRunForChatModelStart(r,[c],f,this._parentRunId,a,this.tags,this.metadata,l),Dc(async()=>{try{if(p.handleChatModelStart)await p.handleChatModelStart?.(r,[c],f,this._parentRunId,a,this.tags,this.metadata,l);else if(p.handleLLMStart){let m=fl(c);await p.handleLLMStart?.(r,[m],f,this._parentRunId,a,this.tags,this.metadata,l)}}catch(m){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${m}`),p.raiseError)throw m}},p.awaitHandlers)})),new p4e(f,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(r,n,o=XT(),i=void 0,a=void 0,s=void 0,u=void 0,l=void 0,c=void 0){return await Promise.all(this.handlers.map(d=>{if(!d.ignoreChain)return qz(d)&&d._createRunForChainStart(r,n,o,this._parentRunId,this.tags,this.metadata,i,u,c),Dc(async()=>{try{await d.handleChainStart?.(r,n,o,this._parentRunId,this.tags,this.metadata,i,u,c)}catch(f){if((d.raiseError?console.error:console.warn)(`Error in handler ${d.constructor.name}, handleChainStart: ${f}`),d.raiseError)throw f}},d.awaitHandlers)})),new QPt(o,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(r,n,o=XT(),i=void 0,a=void 0,s=void 0,u=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreAgent)return qz(l)&&l._createRunForToolStart(r,n,o,this._parentRunId,this.tags,this.metadata,u),Dc(async()=>{try{await l.handleToolStart?.(r,n,o,this._parentRunId,this.tags,this.metadata,u)}catch(c){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleToolStart: ${c}`),l.raiseError)throw c}},l.awaitHandlers)})),new eMt(o,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(r,n,o=XT(),i=void 0,a=void 0,s=void 0,u=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreRetriever)return qz(l)&&l._createRunForRetrieverStart(r,n,o,this._parentRunId,this.tags,this.metadata,u),Dc(async()=>{try{await l.handleRetrieverStart?.(r,n,o,this._parentRunId,this.tags,this.metadata,u)}catch(c){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleRetrieverStart: ${c}`),l.raiseError)throw c}},l.awaitHandlers)})),new YPt(o,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(r,n,o,i,a){await Promise.all(this.handlers.map(s=>Dc(async()=>{if(!s.ignoreCustomEvent)try{await s.handleCustomEvent?.(r,n,o,this.tags,this.metadata)}catch(u){if((s.raiseError?console.error:console.warn)(`Error in handler ${s.constructor.name}, handleCustomEvent: ${u}`),s.raiseError)throw u}},s.awaitHandlers)))}addHandler(r,n=!0){this.handlers.push(r),n&&this.inheritableHandlers.push(r)}removeHandler(r){this.handlers=this.handlers.filter(n=>n!==r),this.inheritableHandlers=this.inheritableHandlers.filter(n=>n!==r)}setHandlers(r,n=!0){this.handlers=[],this.inheritableHandlers=[];for(let o of r)this.addHandler(o,n)}addTags(r,n=!0){this.removeTags(r),this.tags.push(...r),n&&this.inheritableTags.push(...r)}removeTags(r){this.tags=this.tags.filter(n=>!r.includes(n)),this.inheritableTags=this.inheritableTags.filter(n=>!r.includes(n))}addMetadata(r,n=!0){this.metadata={...this.metadata,...r},n&&(this.inheritableMetadata={...this.inheritableMetadata,...r})}removeMetadata(r){for(let n of Object.keys(r))delete this.metadata[n],delete this.inheritableMetadata[n]}copy(r=[],n=!0){let o=new cee(this._parentRunId);for(let i of this.handlers){let a=this.inheritableHandlers.includes(i);o.addHandler(i,a)}for(let i of this.tags){let a=this.inheritableTags.includes(i);o.addTags([i],a)}for(let i of Object.keys(this.metadata)){let a=Object.keys(this.inheritableMetadata).includes(i);o.addMetadata({[i]:this.metadata[i]},a)}for(let i of r)o.handlers.filter(a=>a.name==="console_callback_handler").some(a=>a.name===i.name)||o.addHandler(i,n);return o}static fromHandlers(r){class n extends Dz{constructor(){super();x(this,"name",XT());Object.assign(this,r)}}let o=new this;return o.addHandler(new n),o}static configure(r,n,o,i,a,s,u){return this._configureSync(r,n,o,i,a,s,u)}static _configureSync(r,n,o,i,a,s,u){let l;(r||n)&&(Array.isArray(r)||!r?(l=new cee,l.setHandlers(r?.map(oJ)??[],!0)):l=r,l=l.copy(Array.isArray(n)?n.map(oJ):n?.handlers,!1));let c=Xr("LANGCHAIN_VERBOSE")==="true"||u?.verbose,d=lee.getTraceableRunTree()?.tracingEnabled||JPt(),f=d||(Xr("LANGCHAIN_TRACING")??!1);if(c||f){if(l||(l=new cee),c&&!l.handlers.some(p=>p.name===ohe.prototype.name)){let p=new ohe;l.addHandler(p,!0)}if(f&&!l.handlers.some(p=>p.name==="langchain_tracer")&&d){let p=new lee;l.addHandler(p,!0)}if(d){let p=lee.getTraceableRunTree();p&&l._parentRunId===void 0&&(l._parentRunId=p.id,l.handlers.find(h=>h.name==="langchain_tracer")?.updateFromRunTree(p))}}for(let{contextVar:p,inheritable:m=!0,handlerClass:h,envVar:y}of GPt()){let g=y&&Xr(y)==="true"&&h,b,_=p!==void 0?f4e(p):void 0;_&&MBe(_)?b=_:g&&(b=new h({})),b!==void 0&&(l||(l=new cee),l.handlers.some(w=>w.name===b.name)||l.addHandler(b,m))}return(o||i)&&l&&(l.addTags(o??[]),l.addTags(i??[],!1)),(a||s)&&l&&(l.addMetadata(a??{}),l.addMetadata(s??{},!1)),l}}});var m4e,Lgn,tMt,Fgn,Rh,zz=v(()=>{jQ();WL();ihe();m4e=class{getStore(){}run(t,e){return e()}enterWith(t){}},Lgn=new m4e,tMt=Symbol.for("lc:child_config"),Fgn=class{getInstance(){return BL()??Lgn}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[tMt]}runWithConfig(t,e,r){let n=mc._configureSync(t?.callbacks,void 0,t?.tags,void 0,t?.metadata),o=this.getInstance(),i=o.getStore(),a=n?.getParentRunId(),s=n?.handlers?.find(l=>l?.name==="langchain_tracer"),u;return s&&a?u=s.getRunTreeWithTracingConfig(a):r||(u=new VC({name:"",tracingEnabled:!1})),u&&(u.extra={...u.extra,[tMt]:t}),i!==void 0&&i[UL]!==void 0&&(u===void 0&&(u={}),u[UL]=i[UL]),o.run(u,e)}initializeGlobalInstance(t){BL()===void 0&&$Ct(t)}},Rh=new Fgn});var kgn,Vz=v(()=>{Jo();jQ();zz();kgn={};$t(kgn,{AsyncLocalStorageProviderSingleton:()=>Rh,MockAsyncLocalStorage:()=>m4e,_CONTEXT_VARIABLES_KEY:()=>UL})});async function Ry(t){return mc._configureSync(t?.callbacks,void 0,t?.tags,void 0,t?.metadata)}function Hz(...t){let e={};for(let r of t.filter(n=>!!n))for(let n of Object.keys(r))if(n==="metadata")e[n]={...e[n],...r[n]};else if(n==="tags"){let o=e[n]??[];e[n]=[...new Set(o.concat(r[n]??[]))]}else if(n==="configurable")e[n]={...e[n],...r[n]};else if(n==="timeout")e.timeout===void 0?e.timeout=r.timeout:r.timeout!==void 0&&(e.timeout=Math.min(e.timeout,r.timeout));else if(n==="signal")e.signal===void 0?e.signal=r.signal:r.signal!==void 0&&("any"in AbortSignal?e.signal=AbortSignal.any([e.signal,r.signal]):e.signal=r.signal);else if(n==="callbacks"){let o=e.callbacks,i=r.callbacks;if(Array.isArray(i))if(!o)e.callbacks=i;else if(Array.isArray(o))e.callbacks=o.concat(i);else{let a=o.copy();for(let s of i)a.addHandler(oJ(s),!0);e.callbacks=a}else if(i)if(!o)e.callbacks=i;else if(Array.isArray(o)){let a=i.copy();for(let s of o)a.addHandler(oJ(s),!0);e.callbacks=a}else e.callbacks=new mc(i._parentRunId,{handlers:o.handlers.concat(i.handlers),inheritableHandlers:o.inheritableHandlers.concat(i.inheritableHandlers),tags:Array.from(new Set(o.tags.concat(i.tags))),inheritableTags:Array.from(new Set(o.inheritableTags.concat(i.inheritableTags))),metadata:{...o.metadata,...i.metadata}})}else{let o=n;e[o]=r[o]??e[o]}return e}function ai(t){let e=Rh.getRunnableConfig(),r={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(e){let{runId:n,runName:o,...i}=e;r=Object.entries(i).reduce((a,[s,u])=>(u!==void 0&&(a[s]=u),a),r)}if(t&&(r=Object.entries(t).reduce((n,[o,i])=>(i!==void 0&&(n[o]=i),n),r)),r?.configurable)for(let n of Object.keys(r.configurable))qgn.has(typeof r.configurable[n])&&!r.metadata?.[n]&&(r.metadata||(r.metadata={}),r.metadata[n]=r.configurable[n]);if(r.timeout!==void 0){if(r.timeout<=0)throw new Error("Timeout must be a positive number");let n=r.timeout,o=AbortSignal.timeout(n);r.metadata||(r.metadata={}),r.metadata.timeoutMs===void 0&&(r.metadata.timeoutMs=n),r.signal!==void 0?"any"in AbortSignal&&(r.signal=AbortSignal.any([r.signal,o])):r.signal=o,delete r.timeout}return r}function Xs(t={},{callbacks:e,maxConcurrency:r,recursionLimit:n,runName:o,configurable:i,runId:a}={}){let s=ai(t);return e!==void 0&&(delete s.runName,s.callbacks=e),n!==void 0&&(s.recursionLimit=n),r!==void 0&&(s.maxConcurrency=r),o!==void 0&&(s.runName=o),i!==void 0&&(s.configurable={...s.configurable,...i}),a!==void 0&&delete s.runId,s}function jb(t){if(t)return{configurable:t.configurable,recursionLimit:t.recursionLimit,callbacks:t.callbacks,tags:t.tags,metadata:t.metadata,maxConcurrency:t.maxConcurrency,timeout:t.timeout,signal:t.signal,store:t.store}}var fhe,qgn,rO=v(()=>{WL();zz();Vz();fhe=25;qgn=new Set(["string","number","boolean"])});async function TS(t,e){if(e===void 0)return t;let r;return Promise.race([t.catch(n=>{if(!e?.aborted)throw n}),new Promise((n,o)=>{r=()=>{o(JL(e))},e.addEventListener("abort",r),e.aborted&&o(JL(e))})]).finally(()=>e.removeEventListener("abort",r))}function JL(t){return t?.reason instanceof Error?t.reason:typeof t?.reason=="string"?new Error(t.reason):new Error("Aborted")}var iJ=v(()=>{});function phe(t,e=2){let r=Array.from({length:e},()=>[]);return r.map(async function*(o){for(;;)if(o.length===0){let i=await t.next();for(let a of r)a.push(i)}else{if(o[0].done)return;yield o.shift().value}})}function Lb(t,e){if(Array.isArray(t)&&Array.isArray(e))return t.concat(e);if(typeof t=="string"&&typeof e=="string")return t+e;if(typeof t=="number"&&typeof e=="number")return t+e;if("concat"in t&&typeof t.concat=="function")return t.concat(e);if(typeof t=="object"&&typeof e=="object"){let r={...t};for(let[n,o]of Object.entries(e))n in r&&!Array.isArray(r[n])?r[n]=Lb(r[n],o):r[n]=o;return r}else throw new Error(`Cannot concat ${typeof t} and ${typeof e}`)}async function g4e(t,e,r,n,...o){let i=new KL({generator:e,startSetup:r,signal:n}),a=await i.setup;return{output:t(i,a,...o),setup:a}}var Ugn,$b,KL,nO=v(()=>{Jo();zz();Vz();rO();iJ();Ugn={};$t(Ugn,{AsyncGeneratorWithSetup:()=>KL,IterableReadableStream:()=>$b,atee:()=>phe,concat:()=>Lb,pipeGeneratorWithSetup:()=>g4e});$b=class h4e extends ReadableStream{constructor(){super(...arguments);x(this,"reader")}ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let r=await this.reader.read();return r.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:r.value}}catch(r){throw this.reader.releaseLock(),r}}async return(){if(this.ensureReader(),this.locked){let r=this.reader.cancel();this.reader.releaseLock(),await r}return{done:!0,value:void 0}}async throw(r){if(this.ensureReader(),this.locked){let n=this.reader.cancel();this.reader.releaseLock(),await n}throw r}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(r){let n=r.getReader();return new h4e({start(o){return i();function i(){return n.read().then(({done:a,value:s})=>{if(a){o.close();return}return o.enqueue(s),i()})}},cancel(){n.releaseLock()}})}static fromAsyncGenerator(r){return new h4e({async pull(n){let{value:o,done:i}=await r.next();i&&n.close(),n.enqueue(o)},async cancel(n){await r.return(n)}})}};KL=class{constructor(t){x(this,"generator");x(this,"setup");x(this,"config");x(this,"signal");x(this,"firstResult");x(this,"firstResultUsed",!1);this.generator=t.generator,this.config=t.config,this.signal=t.signal??this.config?.signal,this.setup=new Promise((e,r)=>{Rh.runWithConfig(jb(t.config),async()=>{this.firstResult=t.generator.next(),t.startSetup?this.firstResult.then(t.startSetup).then(e,r):this.firstResult.then(n=>e(void 0),r)},!0)})}async next(...t){return this.signal?.throwIfAborted(),this.firstResultUsed?Rh.runWithConfig(jb(this.config),this.signal?async()=>TS(this.generator.next(...t),this.signal):async()=>this.generator.next(...t),!0):(this.firstResultUsed=!0,this.firstResult)}async return(t){return this.generator.return(t)}async throw(t){return this.generator.throw(t)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}}});function hhe(t,e){return Bgn.call(t,e)}function ghe(t){if(Array.isArray(t)){let r=new Array(t.length);for(let n=0;n=48&&n<=57){e++;continue}return!1}return!0}function WN(t){return t.indexOf("/")===-1&&t.indexOf("~")===-1?t:t.replace(/~/g,"~0").replace(/\//g,"~1")}function bhe(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}function mhe(t){if(t===void 0)return!0;if(t){if(Array.isArray(t)){for(let r=0,n=t.length;r{Bgn=Object.prototype.hasOwnProperty;_he=class extends Error{constructor(t,e,r,n,o){super(rMt(t,{name:e,index:r,operation:n,tree:o})),this.name=e,this.index=r,this.operation=n,this.tree=o,Object.setPrototypeOf(this,new.target.prototype),this.message=rMt(t,{name:e,index:r,operation:n,tree:o})}}});function y4e(t){return Object.getOwnPropertyNames(Object.prototype).includes(t)}function whe(t,e){if(e=="")return t;var r={op:"_get",path:e};return Wz(t,r),r.value}function Wz(t,e,r=!1,n=!0,o=!0,i=0){if(r&&(typeof r=="function"?r(e,0,t,e.path):She(e,0)),e.path===""){let a={newDocument:t};if(e.op==="add")return a.newDocument=e.value,a;if(e.op==="replace")return a.newDocument=e.value,a.removed=t,a;if(e.op==="move"||e.op==="copy")return a.newDocument=whe(t,e.from),e.op==="move"&&(a.removed=t),a;if(e.op==="test"){if(a.test=fee(t,e.value),a.test===!1)throw new jc("Test operation failed","TEST_OPERATION_FAILED",i,e,t);return a.newDocument=t,a}else{if(e.op==="remove")return a.removed=t,a.newDocument=null,a;if(e.op==="_get")return e.value=t,a;if(r)throw new jc("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",i,e,t);return a}}else{n||(t=Fb(t));let s=(e.path||"").split("/"),u=t,l=1,c=s.length,d,f,p;for(typeof r=="function"?p=r:p=She;;){if(f=s[l],f&&f.indexOf("~")!=-1&&(f=bhe(f)),o&&(f=="__proto__"||f=="prototype"&&l>0&&s[l-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(r&&d===void 0&&(u[f]===void 0?d=s.slice(0,l).join("/"):l==c-1&&(d=e.path),d!==void 0&&p(e,0,t,d)),l++,Array.isArray(u)){if(f==="-")f=u.length;else{if(r&&!yhe(f))throw new jc("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",i,e,t);yhe(f)&&(f=~~f)}if(l>=c){if(r&&e.op==="add"&&f>u.length)throw new jc("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",i,e,t);let m=Vgn[e.op].call(e,u,f,t);if(m.test===!1)throw new jc("Test operation failed","TEST_OPERATION_FAILED",i,e,t);return m}}else if(l>=c){let m=aJ[e.op].call(e,u,f,t);if(m.test===!1)throw new jc("Test operation failed","TEST_OPERATION_FAILED",i,e,t);return m}if(u=u[f],r&&l0)throw new jc('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",e,t,r);if((t.op==="move"||t.op==="copy")&&typeof t.from!="string")throw new jc("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",e,t,r);if((t.op==="add"||t.op==="replace"||t.op==="test")&&t.value===void 0)throw new jc("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",e,t,r);if((t.op==="add"||t.op==="replace"||t.op==="test")&&mhe(t.value))throw new jc("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",e,t,r);if(r){if(t.op=="add"){var o=t.path.split("/").length,i=n.split("/").length;if(o!==i+1&&o!==i)throw new jc("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",e,t,r)}else if(t.op==="replace"||t.op==="remove"||t.op==="_get"){if(t.path!==n)throw new jc("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",e,t,r)}else if(t.op==="move"||t.op==="copy"){var a={op:"_get",path:t.from,value:void 0},s=nMt([a],r);if(s&&s.name==="OPERATION_PATH_UNRESOLVABLE")throw new jc("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",e,t,r)}}}else throw new jc("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",e,t,r)}function nMt(t,e,r){try{if(!Array.isArray(t))throw new jc("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(e)GL(Fb(e),Fb(t),r||!0);else{r=r||She;for(var n=0;n{Jo();vhe();b4e={};$t(b4e,{JsonPatchError:()=>jc,_areEquals:()=>fee,applyOperation:()=>Wz,applyPatch:()=>GL,applyReducer:()=>Hgn,deepClone:()=>zgn,getValueByPointer:()=>whe,validate:()=>nMt,validator:()=>She});jc=_he,zgn=Fb;aJ={add:function(t,e,r){if(y4e(e))throw new TypeError("JSON-Patch: modifying `__proto__`, `constructor`, or `prototype` prop is banned for security reasons");return t[e]=this.value,{newDocument:r}},remove:function(t,e,r){if(y4e(e))throw new TypeError("JSON-Patch: modifying `__proto__`, `constructor`, or `prototype` prop is banned for security reasons");var n=t[e];return delete t[e],{newDocument:r,removed:n}},replace:function(t,e,r){if(y4e(e))throw new TypeError("JSON-Patch: modifying `__proto__`, `constructor`, or `prototype` prop is banned for security reasons");var n=t[e];return t[e]=this.value,{newDocument:r,removed:n}},move:function(t,e,r){let n=whe(r,this.path);n&&(n=Fb(n));let o=Wz(r,{op:"remove",path:this.from}).removed;return Wz(r,{op:"add",path:this.path,value:o}),{newDocument:r,removed:n}},copy:function(t,e,r){let n=whe(r,this.from);return Wz(r,{op:"add",path:this.path,value:Fb(n)}),{newDocument:r}},test:function(t,e,r){return{newDocument:r,test:fee(t[e],this.value)}},_get:function(t,e,r){return this.value=t[e],{newDocument:r}}},Vgn={add:function(t,e,r){return yhe(e)?t.splice(e,0,this.value):t[e]=this.value,{newDocument:r,index:e}},remove:function(t,e,r){var n=t.splice(e,1);return{newDocument:r,removed:n[0]}},replace:function(t,e,r){var n=t[e];return t[e]=this.value,{newDocument:r,removed:n}},move:aJ.move,copy:aJ.copy,test:aJ.test,_get:aJ._get}});function oMt(t,e,r,n,o){if(e!==t){typeof e.toJSON=="function"&&(e=e.toJSON());for(var i=ghe(e),a=ghe(t),s=!1,u=!1,l=a.length-1;l>=0;l--){var c=a[l],d=t[c];if(hhe(e,c)&&!(e[c]===void 0&&d!==void 0&&Array.isArray(e)===!1)){var f=e[c];typeof d=="object"&&d!=null&&typeof f=="object"&&f!=null&&Array.isArray(d)===Array.isArray(f)?oMt(d,f,r,n+"/"+WN(c),o):d!==f&&(s=!0,o&&r.push({op:"test",path:n+"/"+WN(c),value:Fb(d)}),r.push({op:"replace",path:n+"/"+WN(c),value:Fb(f)}))}else Array.isArray(t)===Array.isArray(e)?(o&&r.push({op:"test",path:n+"/"+WN(c),value:Fb(d)}),r.push({op:"remove",path:n+"/"+WN(c)}),u=!0):(o&&r.push({op:"test",path:n,value:t}),r.push({op:"replace",path:n,value:e}),s=!0)}if(!(!u&&i.length==a.length))for(var l=0;l{vhe();pee()});var gIi,_4e=v(()=>{vhe();pee();mee();gIi={...b4e,JsonPatchError:_he,deepClone:Fb,escapePathComponent:WN,unescapePathComponent:bhe}});async function iMt(t,e){if(e==="original")throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:r}=t;if(["retriever","llm","prompt"].includes(t.run_type))return r;if(!(Object.keys(r).length===1&&r?.input===""))return r.input}async function aMt(t,e){let{outputs:r}=t;return e==="original"||["retriever","llm","prompt"].includes(t.run_type)?r:r!==void 0&&Object.keys(r).length===1&&r?.output!==void 0?r.output:r}function Jgn(t){return t!==void 0&&t.message!==void 0}var Wgn,oO,Che,w4e,xhe,sMt=v(()=>{Jo();vS();pee();_4e();Uz();nO();Wgn={};$t(Wgn,{LogStreamCallbackHandler:()=>xhe,RunLog:()=>Che,RunLogPatch:()=>oO,isLogStreamHandler:()=>w4e});oO=class{constructor(t){x(this,"ops");this.ops=t.ops??[]}concat(t){let e=this.ops.concat(t.ops),r=GL({},e);return new Che({ops:e,state:r[r.length-1].newDocument})}},Che=class v4e extends oO{constructor(r){super(r);x(this,"state");this.state=r.state}concat(r){let n=this.ops.concat(r.ops),o=GL(this.state,r.ops);return new v4e({ops:n,state:o[o.length-1].newDocument})}static fromRunLogPatch(r){let n=GL({},r.ops);return new v4e({ops:r.ops,state:n[n.length-1].newDocument})}},w4e=t=>t.name==="log_stream_tracer";xhe=class extends HC{constructor(e){super({_awaitHandler:!0,...e});x(this,"autoClose",!0);x(this,"includeNames");x(this,"includeTypes");x(this,"includeTags");x(this,"excludeNames");x(this,"excludeTypes");x(this,"excludeTags");x(this,"_schemaFormat","original");x(this,"rootId");x(this,"keyMapByRunId",{});x(this,"counterMapByRunName",{});x(this,"transformStream");x(this,"writer");x(this,"receiveStream");x(this,"name","log_stream_tracer");x(this,"lc_prefer_streaming",!0);this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=$b.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let r=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(n=n||r.find(o=>this.includeTags?.includes(o))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(n=n&&r.every(o=>!this.excludeTags?.includes(o))),n}async*tapOutputIterable(e,r){for await(let n of r){if(e!==this.rootId){let o=this.keyMapByRunId[e];o&&await this.writer.write(new oO({ops:[{op:"add",path:`/logs/${o}/streamed_output/-`,value:n}]}))}yield n}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new oO({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let r=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=r===1?e.name:`${e.name}:${r}`;let n={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(n.inputs=await iMt(e,this._schemaFormat)),await this.writer.write(new oO({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:n}]}))}async onRunUpdate(e){try{let r=this.keyMapByRunId[e.id];if(r===void 0)return;let n=[];this._schemaFormat==="streaming_events"&&n.push({op:"replace",path:`/logs/${r}/inputs`,value:await iMt(e,this._schemaFormat)}),n.push({op:"add",path:`/logs/${r}/final_output`,value:await aMt(e,this._schemaFormat)}),e.end_time!==void 0&&n.push({op:"add",path:`/logs/${r}/end_time`,value:new Date(e.end_time).toISOString()});let o=new oO({ops:n});await this.writer.write(o)}finally{if(e.id===this.rootId){let r=new oO({ops:[{op:"replace",path:"/final_output",value:await aMt(e,this._schemaFormat)}]});await this.writer.write(r),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,r,n){let o=this.keyMapByRunId[e.id];if(o===void 0)return;let i=e.inputs.messages!==void 0,a;i?Jgn(n?.chunk)?a=n?.chunk:a=new Er({id:`run-${e.id}`,content:r}):a=r;let s=new oO({ops:[{op:"add",path:`/logs/${o}/streamed_output_str/-`,value:r},{op:"add",path:`/logs/${o}/streamed_output/-`,value:a}]});await this.writer.write(s)}}});var Kgn,JN,OS,si,Ed=v(()=>{Jo();Kgn={};$t(Kgn,{ChatGenerationChunk:()=>si,GenerationChunk:()=>OS,RUN_KEY:()=>JN});JN="__run",OS=class uMt{constructor(e){x(this,"text");x(this,"generationInfo");this.text=e.text,this.generationInfo=e.generationInfo}concat(e){return new uMt({text:this.text+e.text,generationInfo:{...this.generationInfo,...e.generationInfo}})}},si=class lMt extends OS{constructor(r){super(r);x(this,"message");this.message=r.message}concat(r){return new lMt({text:this.text+r.text,generationInfo:{...this.generationInfo,...r.generationInfo},message:this.message.concat(r.message)})}}});function The({name:t,serialized:e}){return t!==void 0?t:e?.name!==void 0?e.name:e?.id!==void 0&&Array.isArray(e?.id)?e.id[e.id.length-1]:"Unnamed"}var cMt,dMt,fMt=v(()=>{vS();Uz();nO();Ed();cMt=t=>t.name==="event_stream_tracer",dMt=class extends HC{constructor(e){super({_awaitHandler:!0,...e});x(this,"autoClose",!0);x(this,"includeNames");x(this,"includeTypes");x(this,"includeTags");x(this,"excludeNames");x(this,"excludeTypes");x(this,"excludeTags");x(this,"runInfoMap",new Map);x(this,"tappedPromises",new Map);x(this,"transformStream");x(this,"writer");x(this,"receiveStream");x(this,"readableStreamClosed",!1);x(this,"name","event_stream_tracer");x(this,"lc_prefer_streaming",!0);this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=$b.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let r=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(n=n||r.find(o=>this.includeTags?.includes(o))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(n=n&&r.every(o=>!this.excludeTags?.includes(o))),n}async*tapOutputIterable(e,r){let n=await r.next();if(n.done)return;let o=this.runInfoMap.get(e);if(o===void 0){yield n.value;return}function i(s,u){return s==="llm"&&typeof u=="string"?new OS({text:u}):u}let a=this.tappedPromises.get(e);if(a===void 0){let s;a=new Promise(u=>{s=u}),this.tappedPromises.set(e,a);try{let u={event:`on_${o.runType}_stream`,run_id:e,name:o.name,tags:o.tags,metadata:o.metadata,data:{}};await this.send({...u,data:{chunk:i(o.runType,n.value)}},o),yield n.value;for await(let l of r)o.runType!=="tool"&&o.runType!=="retriever"&&await this.send({...u,data:{chunk:i(o.runType,l)}},o),yield l}finally{s?.()}}else{yield n.value;for await(let s of r)yield s}}async send(e,r){this.readableStreamClosed||this._includeRun(r)&&await this.writer.write(e)}async sendEndEvent(e,r){let n=this.tappedPromises.get(e.run_id);n!==void 0?n.then(()=>{this.send(e,r)}):await this.send(e,r)}async onLLMStart(e){let r=The(e),n=e.inputs.messages!==void 0?"chat_model":"llm",o={tags:e.tags??[],metadata:e.extra?.metadata??{},name:r,runType:n,inputs:e.inputs};this.runInfoMap.set(e.id,o);let i=`on_${n}_start`;await this.send({event:i,data:{input:e.inputs},name:r,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},o)}async onLLMNewToken(e,r,n){let o=this.runInfoMap.get(e.id),i,a;if(o===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(o.runType==="chat_model")a="on_chat_model_stream",n?.chunk===void 0?i=new Er({content:r,id:`run-${e.id}`}):i=n.chunk.message;else if(o.runType==="llm")a="on_llm_stream",n?.chunk===void 0?i=new OS({text:r}):i=n.chunk;else throw new Error(`Unexpected run type ${o.runType}`);await this.send({event:a,data:{chunk:i},run_id:e.id,name:o.name,tags:o.tags,metadata:o.metadata},o)}}async onLLMEnd(e){let r=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let n;if(r===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let o=e.outputs?.generations,i;if(r.runType==="chat_model"){for(let a of o??[]){if(i!==void 0)break;i=a[0]?.message}n="on_chat_model_end"}else if(r.runType==="llm")i={generations:o?.map(a=>a.map(s=>({text:s.text,generationInfo:s.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},n="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${r.runType}`);await this.sendEndEvent({event:n,data:{output:i,input:r.inputs},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}async onChainStart(e){let r=The(e),n=e.run_type??"chain",o={tags:e.tags??[],metadata:e.extra?.metadata??{},name:r,runType:e.run_type},i={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(i={},o.inputs={}):e.inputs.input!==void 0?(i.input=e.inputs.input,o.inputs=e.inputs.input):(i.input=e.inputs,o.inputs=e.inputs),this.runInfoMap.set(e.id,o),await this.send({event:`on_${n}_start`,data:i,name:r,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},o)}async onChainEnd(e){let r=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),r===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let n=`on_${e.run_type}_end`,o=e.inputs??r.inputs??{},a={output:e.outputs?.output??e.outputs,input:o};o.input&&Object.keys(o).length===1&&(a.input=o.input,r.inputs=o.input),await this.sendEndEvent({event:n,data:a,run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata??{}},r)}async onToolStart(e){let r=The(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:r,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,n),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:r,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},n)}async onToolEnd(e){let r=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),r===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(r.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let n=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:n,input:r.inputs},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}async onRetrieverStart(e){let r=The(e),o={tags:e.tags??[],metadata:e.extra?.metadata??{},name:r,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,o),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:r,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},o)}async onRetrieverEnd(e){let r=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),r===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:r.inputs},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}async handleCustomEvent(e,r,n){let o=this.runInfoMap.get(n);if(o===void 0)throw new Error(`handleCustomEvent: Run ID ${n} not found in run map.`);await this.send({event:"on_custom_event",run_id:n,name:e,tags:o.tags,metadata:o.metadata,data:r},o)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}}});function pMt(t){if(!(t&&Xgn(t)&&t.name==="TypeError"&&typeof t.message=="string"))return!1;let{message:r,stack:n}=t;return r==="Load failed"?n===void 0||"__sentry_captured__"in t:r.startsWith("error sending request for url")?!0:Zgn.has(r)}var Ggn,Xgn,Zgn,mMt=v(()=>{Ggn=Object.prototype.toString,Xgn=t=>Ggn.call(t)==="[object Error]",Zgn=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"])});function Ygn(t){if(typeof t=="number"){if(t<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(t))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(t!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Ohe(t,e,{min:r=0,allowInfinity:n=!1}={}){if(e!==void 0){if(typeof e!="number"||Number.isNaN(e))throw new TypeError(`Expected \`${t}\` to be a number${n?" or Infinity":""}.`);if(!n&&!Number.isFinite(e))throw new TypeError(`Expected \`${t}\` to be a finite number.`);if(e0&&await new Promise((p,m)=>{let h=()=>{clearTimeout(y),o.signal?.removeEventListener("abort",h),m(o.signal.reason)},y=setTimeout(()=>{o.signal?.removeEventListener("abort",h),p()},f);o.unref&&y.unref?.(),o.signal?.addEventListener("abort",h,{once:!0})}),o.signal?.throwIfAborted(),!0}async function hee(t,e={}){if(e={...e},Ygn(e.retries),Object.hasOwn(e,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");e.retries??(e.retries=10),e.factor??(e.factor=2),e.minTimeout??(e.minTimeout=1e3),e.maxTimeout??(e.maxTimeout=Number.POSITIVE_INFINITY),e.maxRetryTime??(e.maxRetryTime=Number.POSITIVE_INFINITY),e.randomize??(e.randomize=!1),e.onFailedAttempt??(e.onFailedAttempt=()=>{}),e.shouldRetry??(e.shouldRetry=()=>!0),e.shouldConsumeRetry??(e.shouldConsumeRetry=()=>!0),Ohe("factor",e.factor,{min:0,allowInfinity:!1}),Ohe("minTimeout",e.minTimeout,{min:0,allowInfinity:!1}),Ohe("maxTimeout",e.maxTimeout,{min:0,allowInfinity:!0}),Ohe("maxRetryTime",e.maxRetryTime,{min:0,allowInfinity:!0}),e.factor>0||(e.factor=1),e.signal?.throwIfAborted();let r=0,n=0,o=performance.now();for(;!Number.isFinite(e.retries)||n<=e.retries;){r++;try{e.signal?.throwIfAborted();let i=await t(r);return e.signal?.throwIfAborted(),i}catch(i){await tyn({error:i,attemptNumber:r,retriesConsumed:n,startTime:o,options:e})&&n++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Qgn,S4e=v(()=>{mMt();Qgn=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}}});var Ehe,ryn,nyn,oyn,ES,Jz=v(()=>{Jo();iJ();S4e();Ehe=$(c4e(),1),ryn={};$t(ryn,{AsyncCaller:()=>ES});nyn=[400,401,402,403,404,405,406,407,409],oyn=t=>{if(t.message.startsWith("Cancel")||t.message.startsWith("AbortError")||t.name==="AbortError"||t?.code==="ECONNABORTED")throw t;let e=t?.response?.status??t?.status;if(e&&nyn.includes(+e))throw t;if(t?.error?.code==="insufficient_quota"){let r=new Error(t?.message);throw r.name="InsufficientQuotaError",r}},ES=class{constructor(t){x(this,"maxConcurrency");x(this,"maxRetries");x(this,"onFailedAttempt");x(this,"queue");this.maxConcurrency=t.maxConcurrency??1/0,this.maxRetries=t.maxRetries??6,this.onFailedAttempt=t.onFailedAttempt??oyn;let e="default"in Ehe.default?Ehe.default.default:Ehe.default;this.queue=new e({concurrency:this.maxConcurrency})}async call(t,...e){return this.queue.add(()=>hee(()=>t(...e).catch(r=>{throw r instanceof Error?r:new Error(r)}),{onFailedAttempt:({error:r})=>this.onFailedAttempt?.(r),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(t,e,...r){if(t.signal){let n;return Promise.race([this.call(e,...r),new Promise((o,i)=>{n=()=>{i(JL(t.signal))},t.signal?.addEventListener("abort",n)})]).finally(()=>{t.signal&&n&&t.signal.removeEventListener("abort",n)})}return this.call(e,...r)}fetch(...t){return this.call(()=>fetch(...t).then(e=>e.ok?e:Promise.reject(e)))}}});var C4e,gMt=v(()=>{Uz();C4e=class extends HC{constructor({config:e,onStart:r,onEnd:n,onError:o}){super({_awaitHandler:!0});x(this,"name","RootListenersTracer");x(this,"rootId");x(this,"config");x(this,"argOnStart");x(this,"argOnEnd");x(this,"argOnError");this.config=e,this.argOnStart=r,this.argOnEnd=n,this.argOnError=o}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}}});function gee(t){return t?t.lc_runnable:!1}var yMt,bMt,Phe=v(()=>{yMt=class{constructor(t){x(this,"includeNames");x(this,"includeTypes");x(this,"includeTags");x(this,"excludeNames");x(this,"excludeTypes");x(this,"excludeTags");this.includeNames=t.includeNames,this.includeTypes=t.includeTypes,this.includeTags=t.includeTags,this.excludeNames=t.excludeNames,this.excludeTypes=t.excludeTypes,this.excludeTags=t.excludeTags}includeEvent(t,e){let r=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,n=t.tags??[];return this.includeNames!==void 0&&(r=r||this.includeNames.includes(t.name)),this.includeTypes!==void 0&&(r=r||this.includeTypes.includes(e)),this.includeTags!==void 0&&(r=r||n.some(o=>this.includeTags?.includes(o))),this.excludeNames!==void 0&&(r=r&&!this.excludeNames.includes(t.name)),this.excludeTypes!==void 0&&(r=r&&!this.excludeTypes.includes(e)),this.excludeTags!==void 0&&(r=r&&n.every(o=>!this.excludeTags?.includes(o))),r}},bMt=t=>btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")});function xe(t,e,r){function n(s,u){var l;Object.defineProperty(s,"_zod",{value:s._zod??{},enumerable:!1}),(l=s._zod).traits??(l.traits=new Set),s._zod.traits.add(t),e(s,u);for(let c in a.prototype)c in s||Object.defineProperty(s,c,{value:a.prototype[c].bind(s)});s._zod.constr=a,s._zod.def=u}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:t});function a(s){var u;let l=r?.Parent?new i:this;n(l,s),(u=l._zod).deferred??(u.deferred=[]);for(let c of l._zod.deferred)c();return l}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}function Pd(t){return t&&Object.assign(yee,t),yee}var x4e,T4e,iO,yee,uJ=v(()=>{x4e=Object.freeze({status:"aborted"});T4e=Symbol("zod_brand"),iO=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},yee={}});var Dt={};En(Dt,{BIGINT_FORMAT_RANGES:()=>j4e,Class:()=>E4e,NUMBER_FORMAT_RANGES:()=>D4e,aborted:()=>Gz,allowsEval:()=>I4e,assert:()=>lyn,assertEqual:()=>iyn,assertIs:()=>syn,assertNever:()=>uyn,assertNotEqual:()=>ayn,assignProp:()=>R4e,cached:()=>vee,captureStackTrace:()=>Mhe,cleanEnum:()=>Syn,cleanRegex:()=>wee,clone:()=>hc,createTransparentProxy:()=>hyn,defineLazy:()=>Us,esc:()=>Kz,escapeRegex:()=>KN,extend:()=>byn,finalizeIssue:()=>ow,floatSafeRemainder:()=>M4e,getElementAtPath:()=>cyn,getEnumValues:()=>_ee,getLengthableOrigin:()=>xee,getParsedType:()=>myn,getSizableOrigin:()=>Cee,isObject:()=>lJ,isPlainObject:()=>cJ,issue:()=>$4e,joinValues:()=>We,jsonStringifyReplacer:()=>P4e,merge:()=>_yn,normalizeParams:()=>vt,nullish:()=>XL,numKeys:()=>pyn,omit:()=>yyn,optionalKeys:()=>N4e,partial:()=>vyn,pick:()=>gyn,prefixIssues:()=>M_,primitiveTypes:()=>A4e,promiseAllObject:()=>dyn,propertyKeyTypes:()=>See,randomString:()=>fyn,required:()=>wyn,stringifyPrimitive:()=>Ut,unwrapMessage:()=>bee});function iyn(t){return t}function ayn(t){return t}function syn(t){}function uyn(t){throw new Error}function lyn(t){}function _ee(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,o])=>e.indexOf(+n)===-1).map(([n,o])=>o)}function We(t,e="|"){return t.map(r=>Ut(r)).join(e)}function P4e(t,e){return typeof e=="bigint"?e.toString():e}function vee(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function XL(t){return t==null}function wee(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function M4e(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return i%a/10**o}function Us(t,e,r){Object.defineProperty(t,e,{get(){{let o=r();return t[e]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(t,e,{value:o})},configurable:!0})}function R4e(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function cyn(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function dyn(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;ie};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function hyn(t){let e;return new Proxy({},{get(r,n,o){return e??(e=t()),Reflect.get(e,n,o)},set(r,n,o,i){return e??(e=t()),Reflect.set(e,n,o,i)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,o){return e??(e=t()),Reflect.defineProperty(e,n,o)}})}function Ut(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function N4e(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function gyn(t,e){let r={},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(r[o]=n.shape[o])}return hc(t,{...t._zod.def,shape:r,checks:[]})}function yyn(t,e){let r={...t._zod.def.shape},n=t._zod.def;for(let o in e){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);e[o]&&delete r[o]}return hc(t,{...t._zod.def,shape:r,checks:[]})}function byn(t,e){if(!cJ(e))throw new Error("Invalid input to extend: expected a plain object");let r={...t._zod.def,get shape(){let n={...t._zod.def.shape,...e};return R4e(this,"shape",n),n},checks:[]};return hc(t,r)}function _yn(t,e){return hc(t,{...t._zod.def,get shape(){let r={...t._zod.def.shape,...e._zod.def.shape};return R4e(this,"shape",r),r},catchall:e._zod.def.catchall,checks:[]})}function vyn(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=t?new t({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=t?new t({type:"optional",innerType:n[i]}):n[i];return hc(e,{...e._zod.def,shape:o,checks:[]})}function wyn(t,e,r){let n=e._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new t({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new t({type:"nonoptional",innerType:n[i]});return hc(e,{...e._zod.def,shape:o,checks:[]})}function Gz(t,e=0){for(let r=e;r{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function bee(t){return typeof t=="string"?t:t?.message}function ow(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let o=bee(t.inst?._zod.def?.error?.(t))??bee(e?.error?.(t))??bee(r.customError?.(t))??bee(r.localeError?.(t))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}function Cee(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function xee(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function $4e(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function Syn(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}var Mhe,I4e,myn,See,A4e,D4e,j4e,E4e,zn=v(()=>{Mhe=Error.captureStackTrace?Error.captureStackTrace:(...t)=>{};I4e=vee(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});myn=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},See=new Set(["string","number","symbol"]),A4e=new Set(["string","number","bigint","boolean","symbol","undefined"]);D4e={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},j4e={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};E4e=class{constructor(...e){}}});function Oee(t,e=r=>r.message){let r={},n=[];for(let o of t.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}function Eee(t,e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let a of i.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(s=>o({issues:s}));else if(a.code==="invalid_key")o({issues:a.issues});else if(a.code==="invalid_element")o({issues:a.issues});else if(a.path.length===0)n._errors.push(r(a));else{let s=n,u=0;for(;u{var s,u;for(let l of i.issues)if(l.code==="invalid_union"&&l.errors.length)l.errors.map(c=>o({issues:c},l.path));else if(l.code==="invalid_key")o({issues:l.issues},l.path);else if(l.code==="invalid_element")o({issues:l.issues},l.path);else{let c=[...a,...l.path];if(c.length===0){n.errors.push(r(l));continue}let d=n,f=0;for(;fn.path.length-o.path.length);for(let n of r)e.push(`\u2716 ${n.message}`),n.path?.length&&e.push(` \u2192 at ${vMt(n.path)}`);return e.join(`
-`)}var _Mt,Tee,dJ,k4e=v(()=>{uJ();zn();_Mt=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),Object.defineProperty(t,"message",{get(){return JSON.stringify(e,P4e,2)},enumerable:!0}),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Tee=xe("$ZodError",_Mt),dJ=xe("$ZodError",_Mt,{Parent:Error})});var Rhe,aO,Ihe,Xz,Ahe,q4e,Nhe,U4e,Dhe=v(()=>{uJ();k4e();zn();Rhe=t=>(e,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new iO;if(a.issues.length){let s=new(o?.Err??t)(a.issues.map(u=>ow(u,i,Pd())));throw Mhe(s,o?.callee),s}return a.value},aO=Rhe(dJ),Ihe=t=>async(e,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(o?.Err??t)(a.issues.map(u=>ow(u,i,Pd())));throw Mhe(s,o?.callee),s}return a.value},Xz=Ihe(dJ),Ahe=t=>(e,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new iO;return i.issues.length?{success:!1,error:new(t??Tee)(i.issues.map(a=>ow(a,o,Pd())))}:{success:!0,data:i.value}},q4e=Ahe(dJ),Nhe=t=>async(e,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=e._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new t(i.issues.map(a=>ow(a,o,Pd())))}:{success:!0,data:i.value}},U4e=Nhe(dJ)});var Yz={};En(Yz,{_emoji:()=>wMt,base64:()=>r2e,base64url:()=>jhe,bigint:()=>l2e,boolean:()=>f2e,browserEmail:()=>Iyn,cidrv4:()=>e2e,cidrv6:()=>t2e,cuid:()=>B4e,cuid2:()=>z4e,date:()=>i2e,datetime:()=>s2e,domain:()=>Ayn,duration:()=>K4e,e164:()=>o2e,email:()=>X4e,emoji:()=>Z4e,extendedDuration:()=>xyn,guid:()=>G4e,hostname:()=>n2e,html5Email:()=>Pyn,integer:()=>c2e,ipv4:()=>Y4e,ipv6:()=>Q4e,ksuid:()=>W4e,lowercase:()=>h2e,nanoid:()=>J4e,null:()=>p2e,number:()=>d2e,rfc5322Email:()=>Myn,string:()=>u2e,time:()=>a2e,ulid:()=>V4e,undefined:()=>m2e,unicodeEmail:()=>Ryn,uppercase:()=>g2e,uuid:()=>Zz,uuid4:()=>Tyn,uuid6:()=>Oyn,uuid7:()=>Eyn,xid:()=>H4e});function Z4e(){return new RegExp(wMt,"u")}function CMt(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function a2e(t){return new RegExp(`^${CMt(t)}$`)}function s2e(t){let e=CMt({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${SMt}T(?:${n})$`)}var B4e,z4e,V4e,H4e,W4e,J4e,K4e,xyn,G4e,Zz,Tyn,Oyn,Eyn,X4e,Pyn,Myn,Ryn,Iyn,wMt,Y4e,Q4e,e2e,t2e,r2e,jhe,n2e,Ayn,o2e,SMt,i2e,u2e,l2e,c2e,d2e,f2e,p2e,m2e,h2e,g2e,$he=v(()=>{B4e=/^[cC][^\s-]{8,}$/,z4e=/^[0-9a-z]+$/,V4e=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,H4e=/^[0-9a-vA-V]{20}$/,W4e=/^[A-Za-z0-9]{27}$/,J4e=/^[a-zA-Z0-9_-]{21}$/,K4e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xyn=/^[-+]?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)?)??$/,G4e=/^([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})$/,Zz=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([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)$/,Tyn=Zz(4),Oyn=Zz(6),Eyn=Zz(7),X4e=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Pyn=/^[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])?)*$/,Myn=/^(([^<>()\[\]\\.,;:\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,}))$/,Ryn=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Iyn=/^[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])?)*$/,wMt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";Y4e=/^(?:(?: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])$/,Q4e=/^(([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})$/,e2e=/^((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])$/,t2e=/^(([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])$/,r2e=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,jhe=/^[A-Za-z0-9_-]*$/,n2e=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,Ayn=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,o2e=/^\+(?:[0-9]){6,14}[0-9]$/,SMt="(?:(?:\\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])))",i2e=new RegExp(`^${SMt}$`);u2e=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},l2e=/^\d+n?$/,c2e=/^\d+$/,d2e=/^-?\d+(?:\.\d+)?/i,f2e=/true|false/i,p2e=/null/i,m2e=/undefined/i,h2e=/^[^A-Z]*$/,g2e=/^[^a-z]*$/});function xMt(t,e,r){t.issues.length&&e.issues.push(...M_(r,t.issues))}var gc,TMt,Lhe,Fhe,y2e,b2e,_2e,v2e,w2e,S2e,C2e,x2e,T2e,fJ,O2e,E2e,P2e,M2e,R2e,I2e,A2e,N2e,D2e,khe=v(()=>{uJ();$he();zn();gc=xe("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),TMt={number:"number",bigint:"bigint",object:"date"},Lhe=xe("$ZodCheckLessThan",(t,e)=>{gc.init(t,e);let r=TMt[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?n.value<=e.value:n.value{gc.init(t,e);let r=TMt[typeof e.value];t._zod.onattach.push(n=>{let o=n._zod.bag,i=(e.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?o.minimum=e.value:o.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),y2e=xe("$ZodCheckMultipleOf",(t,e)=>{gc.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):M4e(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),b2e=xe("$ZodCheckNumberFormat",(t,e)=>{gc.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[o,i]=D4e[e.format];t._zod.onattach.push(a=>{let s=a._zod.bag;s.format=e.format,s.minimum=o,s.maximum=i,r&&(s.pattern=c2e)}),t._zod.check=a=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:e.format,code:"invalid_type",input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,continue:!e.abort});return}}si&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inst:t})}}),_2e=xe("$ZodCheckBigIntFormat",(t,e)=>{gc.init(t,e);let[r,n]=j4e[e.format];t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,i.minimum=r,i.maximum=n}),t._zod.check=o=>{let i=o.value;in&&o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:n,inst:t})}}),v2e=xe("$ZodCheckMaxSize",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;o.size<=e.maximum||n.issues.push({origin:Cee(o),code:"too_big",maximum:e.maximum,input:o,inst:t,continue:!e.abort})}}),w2e=xe("$ZodCheckMinSize",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;o.size>=e.minimum||n.issues.push({origin:Cee(o),code:"too_small",minimum:e.minimum,input:o,inst:t,continue:!e.abort})}}),S2e=xe("$ZodCheckSizeEquals",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.size!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.size,o.maximum=e.size,o.size=e.size}),t._zod.check=n=>{let o=n.value,i=o.size;if(i===e.size)return;let a=i>e.size;n.issues.push({origin:Cee(o),...a?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),C2e=xe("$ZodCheckMaxLength",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{let o=n.value;if(o.length<=e.maximum)return;let a=xee(o);n.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),x2e=xe("$ZodCheckMinLength",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>o&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let o=n.value;if(o.length>=e.minimum)return;let a=xee(o);n.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:!0,input:o,inst:t,continue:!e.abort})}}),T2e=xe("$ZodCheckLengthEquals",(t,e)=>{var r;gc.init(t,e),(r=t._zod.def).when??(r.when=n=>{let o=n.value;return!XL(o)&&o.length!==void 0}),t._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=e.length,o.maximum=e.length,o.length=e.length}),t._zod.check=n=>{let o=n.value,i=o.length;if(i===e.length)return;let a=xee(o),s=i>e.length;n.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),fJ=xe("$ZodCheckStringFormat",(t,e)=>{var r,n;gc.init(t,e),t._zod.onattach.push(o=>{let i=o._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=o=>{e.pattern.lastIndex=0,!e.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:e.format,input:o.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),O2e=xe("$ZodCheckRegex",(t,e)=>{fJ.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),E2e=xe("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=h2e),fJ.init(t,e)}),P2e=xe("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=g2e),fJ.init(t,e)}),M2e=xe("$ZodCheckIncludes",(t,e)=>{gc.init(t,e);let r=KN(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),t._zod.check=o=>{o.value.includes(e.includes,e.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:o.value,inst:t,continue:!e.abort})}}),R2e=xe("$ZodCheckStartsWith",(t,e)=>{gc.init(t,e);let r=new RegExp(`^${KN(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),I2e=xe("$ZodCheckEndsWith",(t,e)=>{gc.init(t,e);let r=new RegExp(`.*${KN(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});A2e=xe("$ZodCheckProperty",(t,e)=>{gc.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(o=>xMt(o,r,e.property));xMt(n,r,e.property)}}),N2e=xe("$ZodCheckMimeType",(t,e)=>{gc.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t})}}),D2e=xe("$ZodCheckOverwrite",(t,e)=>{gc.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var Pee,j2e=v(()=>{Pee=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
-`).filter(a=>a),o=Math.min(...n.map(a=>a.length-a.trimStart().length)),i=n.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(let a of i)this.content.push(a)}compile(){let e=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new e(...r,o.join(`
-`))}}});var $2e,L2e=v(()=>{$2e={major:4,minor:0,patch:0}});function oVe(t){if(t==="")return!0;if(t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function FMt(t){if(!jhe.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return oVe(r)}function kMt(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||e&&(!("alg"in o)||o.alg!==e))}catch{return!1}}function EMt(t,e,r){t.issues.length&&e.issues.push(...M_(r,t.issues)),e.value[r]=t.value}function qhe(t,e,r){t.issues.length&&e.issues.push(...M_(r,t.issues)),e.value[r]=t.value}function PMt(t,e,r,n){t.issues.length?n[r]===void 0?r in n?e.value[r]=void 0:e.value[r]=t.value:e.issues.push(...M_(r,t.issues)):t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}function MMt(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(i=>ow(i,n,Pd())))}),e}function F2e(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(cJ(t)&&cJ(e)){let r=Object.keys(e),n=Object.keys(t).filter(i=>r.indexOf(i)!==-1),o={...t,...e};for(let i of n){let a=F2e(t[i],e[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};o[i]=a.data}return{valid:!0,data:o}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;now(s,a,Pd()))})),e.issues.length&&(See.has(typeof n)?r.issues.push(...M_(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:n,issues:e.issues.map(s=>ow(s,a,Pd()))})),r.value.set(t.value,e.value)}function AMt(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}function NMt(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}function DMt(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function jMt(t,e,r){return Gz(t)?t:e.out._zod.run({value:t.value,issues:t.issues},r)}function $Mt(t){return t.value=Object.freeze(t.value),t}function LMt(t,e,r,n){if(!t){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),e.issues.push($4e(o))}}var uo,Qz,Ru,k2e,q2e,U2e,B2e,z2e,V2e,H2e,W2e,J2e,K2e,G2e,X2e,Z2e,Y2e,Q2e,eVe,tVe,rVe,nVe,iVe,aVe,sVe,uVe,lVe,Bhe,cVe,Mee,zhe,dVe,fVe,pVe,mVe,hVe,ZL,Ree,gVe,yVe,Iee,bVe,Vhe,_Ve,vVe,e4,wVe,SVe,CVe,xVe,TVe,OVe,Aee,pJ,EVe,PVe,MVe,RVe,IVe,AVe,NVe,Nee,DVe,jVe,$Ve,LVe,FVe,Dee=v(()=>{khe();uJ();j2e();Dhe();$he();zn();L2e();zn();uo=xe("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=$2e;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let o of n)for(let i of o._zod.onattach)i(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let o=(i,a,s)=>{let u=Gz(i),l;for(let c of a){if(c._zod.def.when){if(!c._zod.def.when(i))continue}else if(u)continue;let d=i.issues.length,f=c._zod.check(i);if(f instanceof Promise&&s?.async===!1)throw new iO;if(l||f instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await f,i.issues.length!==d&&(u||(u=Gz(i,d)))});else{if(i.issues.length===d)continue;u||(u=Gz(i,d))}}return l?l.then(()=>i):i};t._zod.run=(i,a)=>{let s=t._zod.parse(i,a);if(s instanceof Promise){if(a.async===!1)throw new iO;return s.then(u=>o(u,n,a))}return o(s,n,a)}}t["~standard"]={validate:o=>{try{let i=q4e(t,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return U4e(t,o).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),Qz=xe("$ZodString",(t,e)=>{uo.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??u2e(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),Ru=xe("$ZodStringFormat",(t,e)=>{fJ.init(t,e),Qz.init(t,e)}),k2e=xe("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=G4e),Ru.init(t,e)}),q2e=xe("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Zz(n))}else e.pattern??(e.pattern=Zz());Ru.init(t,e)}),U2e=xe("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=X4e),Ru.init(t,e)}),B2e=xe("$ZodURL",(t,e)=>{Ru.init(t,e),t._zod.check=r=>{try{let n=r.value,o=new URL(n),i=o.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n2e.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),!n.endsWith("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),z2e=xe("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=Z4e()),Ru.init(t,e)}),V2e=xe("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=J4e),Ru.init(t,e)}),H2e=xe("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=B4e),Ru.init(t,e)}),W2e=xe("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=z4e),Ru.init(t,e)}),J2e=xe("$ZodULID",(t,e)=>{e.pattern??(e.pattern=V4e),Ru.init(t,e)}),K2e=xe("$ZodXID",(t,e)=>{e.pattern??(e.pattern=H4e),Ru.init(t,e)}),G2e=xe("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=W4e),Ru.init(t,e)}),X2e=xe("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=s2e(e)),Ru.init(t,e)}),Z2e=xe("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=i2e),Ru.init(t,e)}),Y2e=xe("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=a2e(e)),Ru.init(t,e)}),Q2e=xe("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=K4e),Ru.init(t,e)}),eVe=xe("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=Y4e),Ru.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),tVe=xe("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=Q4e),Ru.init(t,e),t._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),rVe=xe("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=e2e),Ru.init(t,e)}),nVe=xe("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=t2e),Ru.init(t,e),t._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});iVe=xe("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=r2e),Ru.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),t._zod.check=r=>{oVe(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});aVe=xe("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=jhe),Ru.init(t,e),t._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),t._zod.check=r=>{FMt(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),sVe=xe("$ZodE164",(t,e)=>{e.pattern??(e.pattern=o2e),Ru.init(t,e)});uVe=xe("$ZodJWT",(t,e)=>{Ru.init(t,e),t._zod.check=r=>{kMt(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),lVe=xe("$ZodCustomStringFormat",(t,e)=>{Ru.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),Bhe=xe("$ZodNumber",(t,e)=>{uo.init(t,e),t._zod.pattern=t._zod.bag.pattern??d2e,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:t,...i?{received:i}:{}}),r}}),cVe=xe("$ZodNumber",(t,e)=>{b2e.init(t,e),Bhe.init(t,e)}),Mee=xe("$ZodBoolean",(t,e)=>{uo.init(t,e),t._zod.pattern=f2e,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:t}),r}}),zhe=xe("$ZodBigInt",(t,e)=>{uo.init(t,e),t._zod.pattern=l2e,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),dVe=xe("$ZodBigInt",(t,e)=>{_2e.init(t,e),zhe.init(t,e)}),fVe=xe("$ZodSymbol",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:t}),r}}),pVe=xe("$ZodUndefined",(t,e)=>{uo.init(t,e),t._zod.pattern=m2e,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:t}),r}}),mVe=xe("$ZodNull",(t,e)=>{uo.init(t,e),t._zod.pattern=p2e,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:t}),r}}),hVe=xe("$ZodAny",(t,e)=>{uo.init(t,e),t._zod.parse=r=>r}),ZL=xe("$ZodUnknown",(t,e)=>{uo.init(t,e),t._zod.parse=r=>r}),Ree=xe("$ZodNever",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),gVe=xe("$ZodVoid",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return typeof o>"u"||r.issues.push({expected:"void",code:"invalid_type",input:o,inst:t}),r}}),yVe=xe("$ZodDate",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let o=r.value,i=o instanceof Date;return i&&!Number.isNaN(o.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:t}),r}});Iee=xe("$ZodArray",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:t}),r;r.value=Array(o.length);let i=[];for(let a=0;aEMt(l,r,a))):EMt(u,r,a)}return i.length?Promise.all(i).then(()=>r):r}});bVe=xe("$ZodObject",(t,e)=>{uo.init(t,e);let r=vee(()=>{let d=Object.keys(e.shape);for(let p of d)if(!(e.shape[p]instanceof uo))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);let f=N4e(e.shape);return{shape:e.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(f)}});Us(t._zod,"propValues",()=>{let d=e.shape,f={};for(let p in d){let m=d[p]._zod;if(m.values){f[p]??(f[p]=new Set);for(let h of m.values)f[p].add(h)}}return f});let n=d=>{let f=new Pee(["shape","payload","ctx"]),p=r.value,m=b=>{let _=Kz(b);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};f.write("const input = payload.value;");let h=Object.create(null),y=0;for(let b of p.keys)h[b]=`key_${y++}`;f.write("const newResult = {}");for(let b of p.keys)if(p.optionalKeys.has(b)){let _=h[b];f.write(`const ${_} = ${m(b)};`);let w=Kz(b);f.write(`
- if (${_}.issues.length) {
- if (input[${w}] === undefined) {
- if (${w} in input) {
- newResult[${w}] = undefined;
- }
- } else {
- payload.issues = payload.issues.concat(
- ${_}.issues.map((iss) => ({
- ...iss,
- path: iss.path ? [${w}, ...iss.path] : [${w}],
- }))
- );
- }
- } else if (${_}.value === undefined) {
- if (${w} in input) newResult[${w}] = undefined;
- } else {
- newResult[${w}] = ${_}.value;
- }
- `)}else{let _=h[b];f.write(`const ${_} = ${m(b)};`),f.write(`
- if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({
- ...iss,
- path: iss.path ? [${Kz(b)}, ...iss.path] : [${Kz(b)}]
- })));`),f.write(`newResult[${Kz(b)}] = ${_}.value`)}f.write("payload.value = newResult;"),f.write("return payload;");let g=f.compile();return(b,_)=>g(d,b,_)},o,i=lJ,a=!yee.jitless,u=a&&I4e.value,l=e.catchall,c;t._zod.parse=(d,f)=>{c??(c=r.value);let p=d.value;if(!i(p))return d.issues.push({expected:"object",code:"invalid_type",input:p,inst:t}),d;let m=[];if(a&&u&&f?.async===!1&&f.jitless!==!0)o||(o=n(e.shape)),d=o(d,f);else{d.value={};let _=c.shape;for(let w of c.keys){let T=_[w],O=T._zod.run({value:p[w],issues:[]},f),E=T._zod.optin==="optional"&&T._zod.optout==="optional";O instanceof Promise?m.push(O.then(P=>E?PMt(P,d,w,p):qhe(P,d,w))):E?PMt(O,d,w,p):qhe(O,d,w)}}if(!l)return m.length?Promise.all(m).then(()=>d):d;let h=[],y=c.keySet,g=l._zod,b=g.def.type;for(let _ of Object.keys(p)){if(y.has(_))continue;if(b==="never"){h.push(_);continue}let w=g.run({value:p[_],issues:[]},f);w instanceof Promise?m.push(w.then(T=>qhe(T,d,_))):qhe(w,d,_)}return h.length&&d.issues.push({code:"unrecognized_keys",keys:h,input:p,inst:t}),m.length?Promise.all(m).then(()=>d):d}});Vhe=xe("$ZodUnion",(t,e)=>{uo.init(t,e),Us(t._zod,"optin",()=>e.options.some(r=>r._zod.optin==="optional")?"optional":void 0),Us(t._zod,"optout",()=>e.options.some(r=>r._zod.optout==="optional")?"optional":void 0),Us(t._zod,"values",()=>{if(e.options.every(r=>r._zod.values))return new Set(e.options.flatMap(r=>Array.from(r._zod.values)))}),Us(t._zod,"pattern",()=>{if(e.options.every(r=>r._zod.pattern)){let r=e.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>wee(n.source)).join("|")})$`)}}),t._zod.parse=(r,n)=>{let o=!1,i=[];for(let a of e.options){let s=a._zod.run({value:r.value,issues:[]},n);if(s instanceof Promise)i.push(s),o=!0;else{if(s.issues.length===0)return s;i.push(s)}}return o?Promise.all(i).then(a=>MMt(a,r,t,n)):MMt(i,r,t,n)}}),_Ve=xe("$ZodDiscriminatedUnion",(t,e)=>{Vhe.init(t,e);let r=t._zod.parse;Us(t._zod,"propValues",()=>{let o={};for(let i of e.options){let a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(i)}"`);for(let[s,u]of Object.entries(a)){o[s]||(o[s]=new Set);for(let l of u)o[s].add(l)}}return o});let n=vee(()=>{let o=e.options,i=new Map;for(let a of o){let s=a._zod.propValues[e.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(a)}"`);for(let u of s){if(i.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);i.set(u,a)}}return i});t._zod.parse=(o,i)=>{let a=o.value;if(!lJ(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:t}),o;let s=n.value.get(a?.[e.discriminator]);return s?s._zod.run(o,i):e.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:a,path:[e.discriminator],inst:t}),o)}}),vVe=xe("$ZodIntersection",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value,i=e.left._zod.run({value:o,issues:[]},n),a=e.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([u,l])=>RMt(r,u,l)):RMt(r,i,a)}});e4=xe("$ZodTuple",(t,e)=>{uo.init(t,e);let r=e.items,n=r.length-[...r].reverse().findIndex(o=>o._zod.optin!=="optional");t._zod.parse=(o,i)=>{let a=o.value;if(!Array.isArray(a))return o.issues.push({input:a,inst:t,expected:"tuple",code:"invalid_type"}),o;o.value=[];let s=[];if(!e.rest){let l=a.length>r.length,c=a.length=a.length&&u>=n)continue;let c=l._zod.run({value:a[u],issues:[]},i);c instanceof Promise?s.push(c.then(d=>Uhe(d,o,u))):Uhe(c,o,u)}if(e.rest){let l=a.slice(r.length);for(let c of l){u++;let d=e.rest._zod.run({value:c,issues:[]},i);d instanceof Promise?s.push(d.then(f=>Uhe(f,o,u))):Uhe(d,o,u)}}return s.length?Promise.all(s).then(()=>o):o}});wVe=xe("$ZodRecord",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!cJ(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:t}),r;let i=[];if(e.keyType._zod.values){let a=e.keyType._zod.values;r.value={};for(let u of a)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){let l=e.valueType._zod.run({value:o[u],issues:[]},n);l instanceof Promise?i.push(l.then(c=>{c.issues.length&&r.issues.push(...M_(u,c.issues)),r.value[u]=c.value})):(l.issues.length&&r.issues.push(...M_(u,l.issues)),r.value[u]=l.value)}let s;for(let u in o)a.has(u)||(s=s??[],s.push(u));s&&s.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:t,keys:s})}else{r.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let s=e.keyType._zod.run({value:a,issues:[]},n);if(s instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(s.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:s.issues.map(l=>ow(l,n,Pd())),input:a,path:[a],inst:t}),r.value[s.value]=s.value;continue}let u=e.valueType._zod.run({value:o[a],issues:[]},n);u instanceof Promise?i.push(u.then(l=>{l.issues.length&&r.issues.push(...M_(a,l.issues)),r.value[s.value]=l.value})):(u.issues.length&&r.issues.push(...M_(a,u.issues)),r.value[s.value]=u.value)}}return i.length?Promise.all(i).then(()=>r):r}}),SVe=xe("$ZodMap",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:o,inst:t}),r;let i=[];r.value=new Map;for(let[a,s]of o){let u=e.keyType._zod.run({value:a,issues:[]},n),l=e.valueType._zod.run({value:s,issues:[]},n);u instanceof Promise||l instanceof Promise?i.push(Promise.all([u,l]).then(([c,d])=>{IMt(c,d,r,a,o,t,n)})):IMt(u,l,r,a,o,t,n)}return i.length?Promise.all(i).then(()=>r):r}});CVe=xe("$ZodSet",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;if(!(o instanceof Set))return r.issues.push({input:o,inst:t,expected:"set",code:"invalid_type"}),r;let i=[];r.value=new Set;for(let a of o){let s=e.valueType._zod.run({value:a,issues:[]},n);s instanceof Promise?i.push(s.then(u=>AMt(u,r))):AMt(s,r)}return i.length?Promise.all(i).then(()=>r):r}});xVe=xe("$ZodEnum",(t,e)=>{uo.init(t,e);let r=_ee(e.entries);t._zod.values=new Set(r),t._zod.pattern=new RegExp(`^(${r.filter(n=>See.has(typeof n)).map(n=>typeof n=="string"?KN(n):n.toString()).join("|")})$`),t._zod.parse=(n,o)=>{let i=n.value;return t._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:t}),n}}),TVe=xe("$ZodLiteral",(t,e)=>{uo.init(t,e),t._zod.values=new Set(e.values),t._zod.pattern=new RegExp(`^(${e.values.map(r=>typeof r=="string"?KN(r):r?r.toString():String(r)).join("|")})$`),t._zod.parse=(r,n)=>{let o=r.value;return t._zod.values.has(o)||r.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),r}}),OVe=xe("$ZodFile",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=r.value;return o instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:o,inst:t}),r}}),Aee=xe("$ZodTransform",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=e.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(a=>(r.value=a,r));if(o instanceof Promise)throw new iO;return r.value=o,r}}),pJ=xe("$ZodOptional",(t,e)=>{uo.init(t,e),t._zod.optin="optional",t._zod.optout="optional",Us(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),Us(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${wee(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(r,n):r.value===void 0?r:e.innerType._zod.run(r,n)}),EVe=xe("$ZodNullable",(t,e)=>{uo.init(t,e),Us(t._zod,"optin",()=>e.innerType._zod.optin),Us(t._zod,"optout",()=>e.innerType._zod.optout),Us(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${wee(r.source)}|null)$`):void 0}),Us(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),PVe=xe("$ZodDefault",(t,e)=>{uo.init(t,e),t._zod.optin="optional",Us(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=e.defaultValue,r;let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>NMt(i,e)):NMt(o,e)}});MVe=xe("$ZodPrefault",(t,e)=>{uo.init(t,e),t._zod.optin="optional",Us(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>(r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),RVe=xe("$ZodNonOptional",(t,e)=>{uo.init(t,e),Us(t._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>DMt(i,t)):DMt(o,t)}});IVe=xe("$ZodSuccess",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.issues.length===0,r)):(r.value=o.issues.length===0,r)}}),AVe=xe("$ZodCatch",(t,e)=>{uo.init(t,e),t._zod.optin="optional",Us(t._zod,"optout",()=>e.innerType._zod.optout),Us(t._zod,"values",()=>e.innerType._zod.values),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=e.catchValue({...r,error:{issues:i.issues.map(a=>ow(a,n,Pd()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(i=>ow(i,n,Pd()))},input:r.value}),r.issues=[]),r)}}),NVe=xe("$ZodNaN",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:t,expected:"nan",code:"invalid_type"}),r)}),Nee=xe("$ZodPipe",(t,e)=>{uo.init(t,e),Us(t._zod,"values",()=>e.in._zod.values),Us(t._zod,"optin",()=>e.in._zod.optin),Us(t._zod,"optout",()=>e.out._zod.optout),t._zod.parse=(r,n)=>{let o=e.in._zod.run(r,n);return o instanceof Promise?o.then(i=>jMt(i,e,n)):jMt(o,e,n)}});DVe=xe("$ZodReadonly",(t,e)=>{uo.init(t,e),Us(t._zod,"propValues",()=>e.innerType._zod.propValues),Us(t._zod,"values",()=>e.innerType._zod.values),Us(t._zod,"optin",()=>e.innerType._zod.optin),Us(t._zod,"optout",()=>e.innerType._zod.optout),t._zod.parse=(r,n)=>{let o=e.innerType._zod.run(r,n);return o instanceof Promise?o.then($Mt):$Mt(o)}});jVe=xe("$ZodTemplateLiteral",(t,e)=>{uo.init(t,e);let r=[];for(let n of e.parts)if(n instanceof uo){if(!n._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);let o=n._zod.pattern instanceof RegExp?n._zod.pattern.source:n._zod.pattern;if(!o)throw new Error(`Invalid template literal part: ${n._zod.traits}`);let i=o.startsWith("^")?1:0,a=o.endsWith("$")?o.length-1:o.length;r.push(o.slice(i,a))}else if(n===null||A4e.has(typeof n))r.push(KN(`${n}`));else throw new Error(`Invalid template literal part: ${n}`);t._zod.pattern=new RegExp(`^${r.join("")}$`),t._zod.parse=(n,o)=>typeof n.value!="string"?(n.issues.push({input:n.value,inst:t,expected:"template_literal",code:"invalid_type"}),n):(t._zod.pattern.lastIndex=0,t._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:t,code:"invalid_format",format:"template_literal",pattern:t._zod.pattern.source}),n)}),$Ve=xe("$ZodPromise",(t,e)=>{uo.init(t,e),t._zod.parse=(r,n)=>Promise.resolve(r.value).then(o=>e.innerType._zod.run({value:o,issues:[]},n))}),LVe=xe("$ZodLazy",(t,e)=>{uo.init(t,e),Us(t._zod,"innerType",()=>e.getter()),Us(t._zod,"pattern",()=>t._zod.innerType._zod.pattern),Us(t._zod,"propValues",()=>t._zod.innerType._zod.propValues),Us(t._zod,"optin",()=>t._zod.innerType._zod.optin),Us(t._zod,"optout",()=>t._zod.innerType._zod.optout),t._zod.parse=(r,n)=>t._zod.innerType._zod.run(r,n)}),FVe=xe("$ZodCustom",(t,e)=>{gc.init(t,e),uo.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,o=e.fn(n);if(o instanceof Promise)return o.then(i=>LMt(i,r,n,t));LMt(o,r,n,t)}})});function UMt(){return{localeError:Nyn()}}var Nyn,BMt=v(()=>{zn();Nyn=()=>{let t={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"};return o=>{switch(o.code){case"invalid_type":return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${o.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${Ut(o.values[0])}`:`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${o.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${i} ${o.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631"}`:`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${o.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${i} ${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${o.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${i} ${o.minimum.toString()} ${a.unit}`:`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${o.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${i} ${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${o.prefix}"`:i.format==="ends_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${i.suffix}"`:i.format==="includes"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${i.includes}"`:i.format==="regex"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${i.pattern}`:`${n[i.format]??o.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${o.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${o.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${o.keys.length>1?"\u0629":""}: ${We(o.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${o.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${o.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}}});function zMt(){return{localeError:Dyn()}}var Dyn,VMt=v(()=>{zn();Dyn=()=>{let t={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${o.expected}, daxil olan ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${Ut(o.values[0])}`:`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${o.origin??"d\u0259y\u0259r"} ${i}${o.maximum.toString()} ${a.unit??"element"}`:`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${o.origin??"d\u0259y\u0259r"} ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${o.origin} ${i}${o.minimum.toString()} ${a.unit}`:`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${o.origin} ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Yanl\u0131\u015F m\u0259tn: "${i.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`:i.format==="ends_with"?`Yanl\u0131\u015F m\u0259tn: "${i.suffix}" il\u0259 bitm\u0259lidir`:i.format==="includes"?`Yanl\u0131\u015F m\u0259tn: "${i.includes}" daxil olmal\u0131d\u0131r`:i.format==="regex"?`Yanl\u0131\u015F m\u0259tn: ${i.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`:`Yanl\u0131\u015F ${n[i.format]??o.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${o.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${o.keys.length>1?"lar":""}: ${We(o.keys,", ")}`;case"invalid_key":return`${o.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${o.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}}});function HMt(t,e,r,n){let o=Math.abs(t),i=o%10,a=o%100;return a>=11&&a<=19?n:i===1?e:i>=2&&i<=4?r:n}function WMt(){return{localeError:jyn()}}var jyn,JMt=v(()=>{zn();jyn=()=>{let t={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u043B\u0456\u043A";case"object":{if(Array.isArray(o))return"\u043C\u0430\u0441\u0456\u045E";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"};return o=>{switch(o.code){case"invalid_type":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${o.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${Ut(o.values[0])}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);if(a){let s=Number(o.maximum),u=HMt(s,a.unit.one,a.unit.few,a.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${i}${o.maximum.toString()} ${u}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);if(a){let s=Number(o.minimum),u=HMt(s,a.unit.one,a.unit.few,a.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${o.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${a.verb} ${i}${o.minimum.toString()} ${u}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${o.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${i.includes}"`:i.format==="regex"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${n[i.format]??o.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${o.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${o.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${We(o.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${o.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${o.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}}});function KMt(){return{localeError:$yn()}}var $yn,GMt=v(()=>{zn();$yn=()=>{let t={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"entrada",email:"adre\xE7a electr\xF2nica",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\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"};return o=>{switch(o.code){case"invalid_type":return`Tipus inv\xE0lid: s'esperava ${o.expected}, s'ha rebut ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Valor inv\xE0lid: s'esperava ${Ut(o.values[0])}`:`Opci\xF3 inv\xE0lida: s'esperava una de ${We(o.values," o ")}`;case"too_big":{let i=o.inclusive?"com a m\xE0xim":"menys de",a=e(o.origin);return a?`Massa gran: s'esperava que ${o.origin??"el valor"} contingu\xE9s ${i} ${o.maximum.toString()} ${a.unit??"elements"}`:`Massa gran: s'esperava que ${o.origin??"el valor"} fos ${i} ${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?"com a m\xEDnim":"m\xE9s de",a=e(o.origin);return a?`Massa petit: s'esperava que ${o.origin} contingu\xE9s ${i} ${o.minimum.toString()} ${a.unit}`:`Massa petit: s'esperava que ${o.origin} fos ${i} ${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Format inv\xE0lid: ha de comen\xE7ar amb "${i.prefix}"`:i.format==="ends_with"?`Format inv\xE0lid: ha d'acabar amb "${i.suffix}"`:i.format==="includes"?`Format inv\xE0lid: ha d'incloure "${i.includes}"`:i.format==="regex"?`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${i.pattern}`:`Format inv\xE0lid per a ${n[i.format]??o.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${o.divisor}`;case"unrecognized_keys":return`Clau${o.keys.length>1?"s":""} no reconeguda${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${o.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${o.origin}`;default:return"Entrada inv\xE0lida"}}}});function XMt(){return{localeError:Lyn()}}var Lyn,ZMt=v(()=>{zn();Lyn=()=>{let t={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u010D\xEDslo";case"string":return"\u0159et\u011Bzec";case"boolean":return"boolean";case"bigint":return"bigint";case"function":return"funkce";case"symbol":return"symbol";case"undefined":return"undefined";case"object":{if(Array.isArray(o))return"pole";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 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 \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"};return o=>{switch(o.code){case"invalid_type":return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${o.expected}, obdr\u017Eeno ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${Ut(o.values[0])}`:`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${o.origin??"hodnota"} mus\xED m\xEDt ${i}${o.maximum.toString()} ${a.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${o.origin??"hodnota"} mus\xED b\xFDt ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${o.origin??"hodnota"} mus\xED m\xEDt ${i}${o.minimum.toString()} ${a.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${o.origin??"hodnota"} mus\xED b\xFDt ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${i.prefix}"`:i.format==="ends_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${i.suffix}"`:i.format==="includes"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${i.includes}"`:i.format==="regex"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${i.pattern}`:`Neplatn\xFD form\xE1t ${n[i.format]??o.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${o.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${We(o.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${o.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${o.origin}`;default:return"Neplatn\xFD vstup"}}}});function YMt(){return{localeError:Fyn()}}var Fyn,QMt=v(()=>{zn();Fyn=()=>{let t={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 e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"Zahl";case"object":{if(Array.isArray(o))return"Array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Ung\xFCltige Eingabe: erwartet ${o.expected}, erhalten ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Ung\xFCltige Eingabe: erwartet ${Ut(o.values[0])}`:`Ung\xFCltige Option: erwartet eine von ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Zu gro\xDF: erwartet, dass ${o.origin??"Wert"} ${i}${o.maximum.toString()} ${a.unit??"Elemente"} hat`:`Zu gro\xDF: erwartet, dass ${o.origin??"Wert"} ${i}${o.maximum.toString()} ist`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Zu klein: erwartet, dass ${o.origin} ${i}${o.minimum.toString()} ${a.unit} hat`:`Zu klein: erwartet, dass ${o.origin} ${i}${o.minimum.toString()} ist`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Ung\xFCltiger String: muss mit "${i.prefix}" beginnen`:i.format==="ends_with"?`Ung\xFCltiger String: muss mit "${i.suffix}" enden`:i.format==="includes"?`Ung\xFCltiger String: muss "${i.includes}" enthalten`:i.format==="regex"?`Ung\xFCltiger String: muss dem Muster ${i.pattern} entsprechen`:`Ung\xFCltig: ${n[i.format]??o.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${o.divisor} sein`;case"unrecognized_keys":return`${o.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${We(o.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${o.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${o.origin}`;default:return"Ung\xFCltige Eingabe"}}}});function Hhe(){return{localeError:qyn()}}var kyn,qyn,kVe=v(()=>{zn();kyn=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},qyn=()=>{let t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function e(n){return t[n]??null}let r={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"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${kyn(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${Ut(n.values[0])}`:`Invalid option: expected one of ${We(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=e(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=e(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${We(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}}});function eRt(){return{localeError:Byn()}}var Uyn,Byn,tRt=v(()=>{zn();Uyn=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"nombro";case"object":{if(Array.isArray(t))return"tabelo";if(t===null)return"senvalora";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},Byn=()=>{let t={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function e(n){return t[n]??null}let r={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",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\u016Dro",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"};return n=>{switch(n.code){case"invalid_type":return`Nevalida enigo: atendi\u011Dis ${n.expected}, ricevi\u011Dis ${Uyn(n.input)}`;case"invalid_value":return n.values.length===1?`Nevalida enigo: atendi\u011Dis ${Ut(n.values[0])}`:`Nevalida opcio: atendi\u011Dis unu el ${We(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=e(n.origin);return i?`Tro granda: atendi\u011Dis ke ${n.origin??"valoro"} havu ${o}${n.maximum.toString()} ${i.unit??"elementojn"}`:`Tro granda: atendi\u011Dis ke ${n.origin??"valoro"} havu ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=e(n.origin);return i?`Tro malgranda: atendi\u011Dis ke ${n.origin} havu ${o}${n.minimum.toString()} ${i.unit}`:`Tro malgranda: atendi\u011Dis ke ${n.origin} estu ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Nevalida karaktraro: devas komenci\u011Di per "${o.prefix}"`:o.format==="ends_with"?`Nevalida karaktraro: devas fini\u011Di per "${o.suffix}"`:o.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${o.includes}"`:o.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${o.pattern}`:`Nevalida ${r[o.format]??n.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${n.divisor}`;case"unrecognized_keys":return`Nekonata${n.keys.length>1?"j":""} \u015Dlosilo${n.keys.length>1?"j":""}: ${We(n.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${n.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${n.origin}`;default:return"Nevalida enigo"}}}});function rRt(){return{localeError:zyn()}}var zyn,nRt=v(()=>{zn();zyn=()=>{let t={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"n\xFAmero";case"object":{if(Array.isArray(o))return"arreglo";if(o===null)return"nulo";if(Object.getPrototypeOf(o)!==Object.prototype)return o.constructor.name}}return i},n={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",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\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"};return o=>{switch(o.code){case"invalid_type":return`Entrada inv\xE1lida: se esperaba ${o.expected}, recibido ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Entrada inv\xE1lida: se esperaba ${Ut(o.values[0])}`:`Opci\xF3n inv\xE1lida: se esperaba una de ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Demasiado grande: se esperaba que ${o.origin??"valor"} tuviera ${i}${o.maximum.toString()} ${a.unit??"elementos"}`:`Demasiado grande: se esperaba que ${o.origin??"valor"} fuera ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Demasiado peque\xF1o: se esperaba que ${o.origin} tuviera ${i}${o.minimum.toString()} ${a.unit}`:`Demasiado peque\xF1o: se esperaba que ${o.origin} fuera ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Cadena inv\xE1lida: debe comenzar con "${i.prefix}"`:i.format==="ends_with"?`Cadena inv\xE1lida: debe terminar en "${i.suffix}"`:i.format==="includes"?`Cadena inv\xE1lida: debe incluir "${i.includes}"`:i.format==="regex"?`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${i.pattern}`:`Inv\xE1lido ${n[i.format]??o.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${o.divisor}`;case"unrecognized_keys":return`Llave${o.keys.length>1?"s":""} desconocida${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${o.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${o.origin}`;default:return"Entrada inv\xE1lida"}}}});function oRt(){return{localeError:Vyn()}}var Vyn,iRt=v(()=>{zn();Vyn=()=>{let t={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0639\u062F\u062F";case"object":{if(Array.isArray(o))return"\u0622\u0631\u0627\u06CC\u0647";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"};return o=>{switch(o.code){case"invalid_type":return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${o.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${r(o.input)} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;case"invalid_value":return o.values.length===1?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${Ut(o.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`:`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${We(o.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${o.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${i}${o.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${o.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${i}${o.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${o.origin} \u0628\u0627\u06CC\u062F ${i}${o.minimum.toString()} ${a.unit} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${o.origin} \u0628\u0627\u06CC\u062F ${i}${o.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${i.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`:i.format==="ends_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${i.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`:i.format==="includes"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${i.includes}" \u0628\u0627\u0634\u062F`:i.format==="regex"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${i.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`:`${n[i.format]??o.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${o.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${o.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${We(o.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${o.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${o.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}}});function aRt(){return{localeError:Hyn()}}var Hyn,sRt=v(()=>{zn();Hyn=()=>{let t={string:{unit:"merkki\xE4",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\xE4iv\xE4m\xE4\xE4r\xE4n"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",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\xE4iv\xE4m\xE4\xE4r\xE4",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"};return o=>{switch(o.code){case"invalid_type":return`Virheellinen tyyppi: odotettiin ${o.expected}, oli ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Virheellinen sy\xF6te: t\xE4ytyy olla ${Ut(o.values[0])}`:`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Liian suuri: ${a.subject} t\xE4ytyy olla ${i}${o.maximum.toString()} ${a.unit}`.trim():`Liian suuri: arvon t\xE4ytyy olla ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Liian pieni: ${a.subject} t\xE4ytyy olla ${i}${o.minimum.toString()} ${a.unit}`.trim():`Liian pieni: arvon t\xE4ytyy olla ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${i.prefix}"`:i.format==="ends_with"?`Virheellinen sy\xF6te: t\xE4ytyy loppua "${i.suffix}"`:i.format==="includes"?`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${i.includes}"`:i.format==="regex"?`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${i.pattern}`:`Virheellinen ${n[i.format]??o.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${o.divisor} monikerta`;case"unrecognized_keys":return`${o.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${We(o.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\xF6te"}}}});function uRt(){return{localeError:Wyn()}}var Wyn,lRt=v(()=>{zn();Wyn=()=>{let t={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"nombre";case"object":{if(Array.isArray(o))return"tableau";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"entr\xE9e",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\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"};return o=>{switch(o.code){case"invalid_type":return`Entr\xE9e invalide : ${o.expected} attendu, ${r(o.input)} re\xE7u`;case"invalid_value":return o.values.length===1?`Entr\xE9e invalide : ${Ut(o.values[0])} attendu`:`Option invalide : une valeur parmi ${We(o.values,"|")} attendue`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Trop grand : ${o.origin??"valeur"} doit ${a.verb} ${i}${o.maximum.toString()} ${a.unit??"\xE9l\xE9ment(s)"}`:`Trop grand : ${o.origin??"valeur"} doit \xEAtre ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Trop petit : ${o.origin} doit ${a.verb} ${i}${o.minimum.toString()} ${a.unit}`:`Trop petit : ${o.origin} doit \xEAtre ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Cha\xEEne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Cha\xEEne invalide : doit correspondre au mod\xE8le ${i.pattern}`:`${n[i.format]??o.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${o.divisor}`;case"unrecognized_keys":return`Cl\xE9${o.keys.length>1?"s":""} non reconnue${o.keys.length>1?"s":""} : ${We(o.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${o.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${o.origin}`;default:return"Entr\xE9e invalide"}}}});function cRt(){return{localeError:Jyn()}}var Jyn,dRt=v(()=>{zn();Jyn=()=>{let t={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"entr\xE9e",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\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"};return o=>{switch(o.code){case"invalid_type":return`Entr\xE9e invalide : attendu ${o.expected}, re\xE7u ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Entr\xE9e invalide : attendu ${Ut(o.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"\u2264":"<",a=e(o.origin);return a?`Trop grand : attendu que ${o.origin??"la valeur"} ait ${i}${o.maximum.toString()} ${a.unit}`:`Trop grand : attendu que ${o.origin??"la valeur"} soit ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?"\u2265":">",a=e(o.origin);return a?`Trop petit : attendu que ${o.origin} ait ${i}${o.minimum.toString()} ${a.unit}`:`Trop petit : attendu que ${o.origin} soit ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Cha\xEEne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Cha\xEEne invalide : doit correspondre au motif ${i.pattern}`:`${n[i.format]??o.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${o.divisor}`;case"unrecognized_keys":return`Cl\xE9${o.keys.length>1?"s":""} non reconnue${o.keys.length>1?"s":""} : ${We(o.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${o.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${o.origin}`;default:return"Entr\xE9e invalide"}}}});function fRt(){return{localeError:Kyn()}}var Kyn,pRt=v(()=>{zn();Kyn=()=>{let t={string:{unit:"\u05D0\u05D5\u05EA\u05D9\u05D5\u05EA",verb:"\u05DC\u05DB\u05DC\u05D5\u05DC"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",verb:"\u05DC\u05DB\u05DC\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",verb:"\u05DC\u05DB\u05DC\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",verb:"\u05DC\u05DB\u05DC\u05D5\u05DC"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u05E7\u05DC\u05D8",email:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",url:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",emoji:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",date:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",time:"\u05D6\u05DE\u05DF ISO",duration:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",ipv4:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",ipv6:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",cidrv4:"\u05D8\u05D5\u05D5\u05D7 IPv4",cidrv6:"\u05D8\u05D5\u05D5\u05D7 IPv6",base64:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",base64url:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",json_string:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",e164:"\u05DE\u05E1\u05E4\u05E8 E.164",jwt:"JWT",template_literal:"\u05E7\u05DC\u05D8"};return o=>{switch(o.code){case"invalid_type":return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA ${o.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA ${Ut(o.values[0])}`:`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05D0\u05D7\u05EA \u05DE\u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${o.origin??"value"} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${i}${o.maximum.toString()} ${a.unit??"elements"}`:`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${o.origin??"value"} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${o.origin} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${i}${o.minimum.toString()} ${a.unit}`:`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${o.origin} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05E0\u05D4: \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1"${i.prefix}"`:i.format==="ends_with"?`\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05E0\u05D4: \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${i.suffix}"`:i.format==="includes"?`\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05E0\u05D4: \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${i.includes}"`:i.format==="regex"?`\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05E0\u05D4: \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${i.pattern}`:`${n[i.format]??o.format} \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${o.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${o.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${o.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${We(o.keys,", ")}`;case"invalid_key":return`\u05DE\u05E4\u05EA\u05D7 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${o.origin}`;case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${o.origin}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}}});function mRt(){return{localeError:Gyn()}}var Gyn,hRt=v(()=>{zn();Gyn=()=>{let t={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"sz\xE1m";case"object":{if(Array.isArray(o))return"t\xF6mb";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"bemenet",email:"email c\xEDm",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\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"};return o=>{switch(o.code){case"invalid_type":return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${o.expected}, a kapott \xE9rt\xE9k ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${Ut(o.values[0])}`:`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`T\xFAl nagy: ${o.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${i}${o.maximum.toString()} ${a.unit??"elem"}`:`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${o.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${o.origin} m\xE9rete t\xFAl kicsi ${i}${o.minimum.toString()} ${a.unit}`:`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${o.origin} t\xFAl kicsi ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\xC9rv\xE9nytelen string: "${i.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`:i.format==="ends_with"?`\xC9rv\xE9nytelen string: "${i.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`:i.format==="includes"?`\xC9rv\xE9nytelen string: "${i.includes}" \xE9rt\xE9ket kell tartalmaznia`:i.format==="regex"?`\xC9rv\xE9nytelen string: ${i.pattern} mint\xE1nak kell megfelelnie`:`\xC9rv\xE9nytelen ${n[i.format]??o.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${o.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${o.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${o.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}}});function gRt(){return{localeError:Xyn()}}var Xyn,yRt=v(()=>{zn();Xyn=()=>{let t={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Input tidak valid: diharapkan ${o.expected}, diterima ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Input tidak valid: diharapkan ${Ut(o.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Terlalu besar: diharapkan ${o.origin??"value"} memiliki ${i}${o.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: diharapkan ${o.origin??"value"} menjadi ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Terlalu kecil: diharapkan ${o.origin} memiliki ${i}${o.minimum.toString()} ${a.unit}`:`Terlalu kecil: diharapkan ${o.origin} menjadi ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`String tidak valid: harus dimulai dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak valid: harus berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak valid: harus menyertakan "${i.includes}"`:i.format==="regex"?`String tidak valid: harus sesuai pola ${i.pattern}`:`${n[i.format]??o.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${o.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${o.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${o.origin}`;default:return"Input tidak valid"}}}});function bRt(){return{localeError:Zyn()}}var Zyn,_Rt=v(()=>{zn();Zyn=()=>{let t={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"numero";case"object":{if(Array.isArray(o))return"vettore";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Input non valido: atteso ${o.expected}, ricevuto ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Input non valido: atteso ${Ut(o.values[0])}`:`Opzione non valida: atteso uno tra ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Troppo grande: ${o.origin??"valore"} deve avere ${i}${o.maximum.toString()} ${a.unit??"elementi"}`:`Troppo grande: ${o.origin??"valore"} deve essere ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Troppo piccolo: ${o.origin} deve avere ${i}${o.minimum.toString()} ${a.unit}`:`Troppo piccolo: ${o.origin} deve essere ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Stringa non valida: deve iniziare con "${i.prefix}"`:i.format==="ends_with"?`Stringa non valida: deve terminare con "${i.suffix}"`:i.format==="includes"?`Stringa non valida: deve includere "${i.includes}"`:i.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${i.pattern}`:`Invalid ${n[i.format]??o.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${o.divisor}`;case"unrecognized_keys":return`Chiav${o.keys.length>1?"i":"e"} non riconosciut${o.keys.length>1?"e":"a"}: ${We(o.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${o.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${o.origin}`;default:return"Input non valido"}}}});function vRt(){return{localeError:Yyn()}}var Yyn,wRt=v(()=>{zn();Yyn=()=>{let t={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u6570\u5024";case"object":{if(Array.isArray(o))return"\u914D\u5217";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"};return o=>{switch(o.code){case"invalid_type":return`\u7121\u52B9\u306A\u5165\u529B: ${o.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${r(o.input)}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;case"invalid_value":return o.values.length===1?`\u7121\u52B9\u306A\u5165\u529B: ${Ut(o.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u9078\u629E: ${We(o.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let i=o.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",a=e(o.origin);return a?`\u5927\u304D\u3059\u304E\u308B\u5024: ${o.origin??"\u5024"}\u306F${o.maximum.toString()}${a.unit??"\u8981\u7D20"}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5927\u304D\u3059\u304E\u308B\u5024: ${o.origin??"\u5024"}\u306F${o.maximum.toString()}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let i=o.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",a=e(o.origin);return a?`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${o.origin}\u306F${o.minimum.toString()}${a.unit}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${o.origin}\u306F${o.minimum.toString()}${i}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="ends_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="includes"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${i.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:i.format==="regex"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${i.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u7121\u52B9\u306A${n[i.format]??o.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${o.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${o.keys.length>1?"\u7FA4":""}: ${We(o.keys,"\u3001")}`;case"invalid_key":return`${o.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${o.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}}});function SRt(){return{localeError:Qyn()}}var Qyn,CRt=v(()=>{zn();Qyn=()=>{let t={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"\u1798\u17B7\u1793\u1798\u17C2\u1793\u1787\u17B6\u179B\u17C1\u1781 (NaN)":"\u179B\u17C1\u1781";case"object":{if(Array.isArray(o))return"\u17A2\u17B6\u179A\u17C1 (Array)";if(o===null)return"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"};return o=>{switch(o.code){case"invalid_type":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${Ut(o.values[0])}`:`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${i} ${o.maximum.toString()} ${a.unit??"\u1792\u17B6\u178F\u17BB"}`:`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${i} ${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o.origin} ${i} ${o.minimum.toString()} ${a.unit}`:`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o.origin} ${i} ${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${i.prefix}"`:i.format==="ends_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${i.suffix}"`:i.format==="includes"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${i.includes}"`:i.format==="regex"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${i.pattern}`:`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${o.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${We(o.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${o.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${o.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}}});function xRt(){return{localeError:ebn()}}var ebn,TRt=v(()=>{zn();ebn=()=>{let t={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"};return o=>{switch(o.code){case"invalid_type":return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${o.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${r(o.input)}\uC785\uB2C8\uB2E4`;case"invalid_value":return o.values.length===1?`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${Ut(o.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC635\uC158: ${We(o.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let i=o.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",a=i==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",s=e(o.origin),u=s?.unit??"\uC694\uC18C";return s?`${o.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${o.maximum.toString()}${u} ${i}${a}`:`${o.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${o.maximum.toString()} ${i}${a}`}case"too_small":{let i=o.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",a=i==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",s=e(o.origin),u=s?.unit??"\uC694\uC18C";return s?`${o.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${o.minimum.toString()}${u} ${i}${a}`:`${o.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${o.minimum.toString()} ${i}${a}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`:i.format==="ends_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`:i.format==="includes"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${i.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`:i.format==="regex"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${i.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C ${n[i.format]??o.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${o.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${We(o.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${o.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${o.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}}});function ORt(){return{localeError:tbn()}}var tbn,ERt=v(()=>{zn();tbn=()=>{let t={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0431\u0440\u043E\u0458";case"object":{if(Array.isArray(o))return"\u043D\u0438\u0437\u0430";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"};return o=>{switch(o.code){case"invalid_type":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Invalid input: expected ${Ut(o.values[0])}`:`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${i}${o.maximum.toString()} ${a.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o.origin} \u0434\u0430 \u0438\u043C\u0430 ${i}${o.minimum.toString()} ${a.unit}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${i.pattern}`:`Invalid ${n[i.format]??o.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${o.divisor}`;case"unrecognized_keys":return`${o.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${We(o.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${o.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${o.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}}});function PRt(){return{localeError:rbn()}}var rbn,MRt=v(()=>{zn();rbn=()=>{let t={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"nombor";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Input tidak sah: dijangka ${o.expected}, diterima ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Input tidak sah: dijangka ${Ut(o.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Terlalu besar: dijangka ${o.origin??"nilai"} ${a.verb} ${i}${o.maximum.toString()} ${a.unit??"elemen"}`:`Terlalu besar: dijangka ${o.origin??"nilai"} adalah ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Terlalu kecil: dijangka ${o.origin} ${a.verb} ${i}${o.minimum.toString()} ${a.unit}`:`Terlalu kecil: dijangka ${o.origin} adalah ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`String tidak sah: mesti bermula dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak sah: mesti mengandungi "${i.includes}"`:i.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${i.pattern}`:`${n[i.format]??o.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${o.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${We(o.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${o.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${o.origin}`;default:return"Input tidak sah"}}}});function RRt(){return{localeError:nbn()}}var nbn,IRt=v(()=>{zn();nbn=()=>{let t={string:{unit:"tekens"},file:{unit:"bytes"},array:{unit:"elementen"},set:{unit:"elementen"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"getal";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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"};return o=>{switch(o.code){case"invalid_type":return`Ongeldige invoer: verwacht ${o.expected}, ontving ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Ongeldige invoer: verwacht ${Ut(o.values[0])}`:`Ongeldige optie: verwacht \xE9\xE9n van ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Te lang: verwacht dat ${o.origin??"waarde"} ${i}${o.maximum.toString()} ${a.unit??"elementen"} bevat`:`Te lang: verwacht dat ${o.origin??"waarde"} ${i}${o.maximum.toString()} is`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Te kort: verwacht dat ${o.origin} ${i}${o.minimum.toString()} ${a.unit} bevat`:`Te kort: verwacht dat ${o.origin} ${i}${o.minimum.toString()} is`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Ongeldige tekst: moet met "${i.prefix}" beginnen`:i.format==="ends_with"?`Ongeldige tekst: moet op "${i.suffix}" eindigen`:i.format==="includes"?`Ongeldige tekst: moet "${i.includes}" bevatten`:i.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${i.pattern}`:`Ongeldig: ${n[i.format]??o.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${o.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${o.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${o.origin}`;default:return"Ongeldige invoer"}}}});function ARt(){return{localeError:obn()}}var obn,NRt=v(()=>{zn();obn=()=>{let t={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"tall";case"object":{if(Array.isArray(o))return"liste";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={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\xE5de",ipv6:"IPv6-omr\xE5de",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"};return o=>{switch(o.code){case"invalid_type":return`Ugyldig input: forventet ${o.expected}, fikk ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Ugyldig verdi: forventet ${Ut(o.values[0])}`:`Ugyldig valg: forventet en av ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`For stor(t): forventet ${o.origin??"value"} til \xE5 ha ${i}${o.maximum.toString()} ${a.unit??"elementer"}`:`For stor(t): forventet ${o.origin??"value"} til \xE5 ha ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`For lite(n): forventet ${o.origin} til \xE5 ha ${i}${o.minimum.toString()} ${a.unit}`:`For lite(n): forventet ${o.origin} til \xE5 ha ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Ugyldig streng: m\xE5 starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: m\xE5 ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: m\xE5 inneholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: m\xE5 matche m\xF8nsteret ${i.pattern}`:`Ugyldig ${n[i.format]??o.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${o.divisor}`;case"unrecognized_keys":return`${o.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${We(o.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${o.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${o.origin}`;default:return"Ugyldig input"}}}});function DRt(){return{localeError:ibn()}}var ibn,jRt=v(()=>{zn();ibn=()=>{let t={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"numara";case"object":{if(Array.isArray(o))return"saf";if(o===null)return"gayb";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"giren",email:"epostag\xE2h",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\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"};return o=>{switch(o.code){case"invalid_type":return`F\xE2sit giren: umulan ${o.expected}, al\u0131nan ${r(o.input)}`;case"invalid_value":return o.values.length===1?`F\xE2sit giren: umulan ${Ut(o.values[0])}`:`F\xE2sit tercih: m\xFBteberler ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Fazla b\xFCy\xFCk: ${o.origin??"value"}, ${i}${o.maximum.toString()} ${a.unit??"elements"} sahip olmal\u0131yd\u0131.`:`Fazla b\xFCy\xFCk: ${o.origin??"value"}, ${i}${o.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Fazla k\xFC\xE7\xFCk: ${o.origin}, ${i}${o.minimum.toString()} ${a.unit} sahip olmal\u0131yd\u0131.`:`Fazla k\xFC\xE7\xFCk: ${o.origin}, ${i}${o.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let i=o;return i.format==="starts_with"?`F\xE2sit metin: "${i.prefix}" ile ba\u015Flamal\u0131.`:i.format==="ends_with"?`F\xE2sit metin: "${i.suffix}" ile bitmeli.`:i.format==="includes"?`F\xE2sit metin: "${i.includes}" ihtiv\xE2 etmeli.`:i.format==="regex"?`F\xE2sit metin: ${i.pattern} nak\u015F\u0131na uymal\u0131.`:`F\xE2sit ${n[i.format]??o.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${o.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`${o.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${o.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}}});function $Rt(){return{localeError:abn()}}var abn,LRt=v(()=>{zn();abn=()=>{let t={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0639\u062F\u062F";case"object":{if(Array.isArray(o))return"\u0627\u0631\u06D0";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"};return o=>{switch(o.code){case"invalid_type":return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${o.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${r(o.input)} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;case"invalid_value":return o.values.length===1?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${Ut(o.values[0])} \u0648\u0627\u06CC`:`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${We(o.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${o.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${i}${o.maximum.toString()} ${a.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${o.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${i}${o.maximum.toString()} \u0648\u064A`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${o.origin} \u0628\u0627\u06CC\u062F ${i}${o.minimum.toString()} ${a.unit} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${o.origin} \u0628\u0627\u06CC\u062F ${i}${o.minimum.toString()} \u0648\u064A`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${i.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`:i.format==="ends_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${i.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`:i.format==="includes"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${i.includes}" \u0648\u0644\u0631\u064A`:i.format==="regex"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${i.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`:`${n[i.format]??o.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${o.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${o.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${We(o.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${o.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${o.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}}});function FRt(){return{localeError:sbn()}}var sbn,kRt=v(()=>{zn();sbn=()=>{let t={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"liczba";case"object":{if(Array.isArray(o))return"tablica";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"wyra\u017Cenie",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\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"};return o=>{switch(o.code){case"invalid_type":return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${o.expected}, otrzymano ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${Ut(o.values[0])}`:`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${o.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${i}${o.maximum.toString()} ${a.unit??"element\xF3w"}`:`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${o.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${o.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${i}${o.minimum.toString()} ${a.unit??"element\xF3w"}`:`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${o.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${i.prefix}"`:i.format==="ends_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${i.suffix}"`:i.format==="includes"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${i.includes}"`:i.format==="regex"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${i.pattern}`:`Nieprawid\u0142ow(y/a/e) ${n[i.format]??o.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${o.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${o.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${o.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}}});function qRt(){return{localeError:ubn()}}var ubn,URt=v(()=>{zn();ubn=()=>{let t={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"n\xFAmero";case"object":{if(Array.isArray(o))return"array";if(o===null)return"nulo";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"padr\xE3o",email:"endere\xE7o 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\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o 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\xFAmero E.164",jwt:"JWT",template_literal:"entrada"};return o=>{switch(o.code){case"invalid_type":return`Tipo inv\xE1lido: esperado ${o.expected}, recebido ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Entrada inv\xE1lida: esperado ${Ut(o.values[0])}`:`Op\xE7\xE3o inv\xE1lida: esperada uma das ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Muito grande: esperado que ${o.origin??"valor"} tivesse ${i}${o.maximum.toString()} ${a.unit??"elementos"}`:`Muito grande: esperado que ${o.origin??"valor"} fosse ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Muito pequeno: esperado que ${o.origin} tivesse ${i}${o.minimum.toString()} ${a.unit}`:`Muito pequeno: esperado que ${o.origin} fosse ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Texto inv\xE1lido: deve come\xE7ar com "${i.prefix}"`:i.format==="ends_with"?`Texto inv\xE1lido: deve terminar com "${i.suffix}"`:i.format==="includes"?`Texto inv\xE1lido: deve incluir "${i.includes}"`:i.format==="regex"?`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${i.pattern}`:`${n[i.format]??o.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${o.divisor}`;case"unrecognized_keys":return`Chave${o.keys.length>1?"s":""} desconhecida${o.keys.length>1?"s":""}: ${We(o.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${o.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${o.origin}`;default:return"Campo inv\xE1lido"}}}});function BRt(t,e,r,n){let o=Math.abs(t),i=o%10,a=o%100;return a>=11&&a<=19?n:i===1?e:i>=2&&i<=4?r:n}function zRt(){return{localeError:lbn()}}var lbn,VRt=v(()=>{zn();lbn=()=>{let t={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0447\u0438\u0441\u043B\u043E";case"object":{if(Array.isArray(o))return"\u043C\u0430\u0441\u0441\u0438\u0432";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"};return o=>{switch(o.code){case"invalid_type":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${o.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${Ut(o.values[0])}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);if(a){let s=Number(o.maximum),u=BRt(s,a.unit.one,a.unit.few,a.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${i}${o.maximum.toString()} ${u}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);if(a){let s=Number(o.minimum),u=BRt(s,a.unit.one,a.unit.few,a.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${o.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${i}${o.minimum.toString()} ${u}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${o.origin} \u0431\u0443\u0434\u0435\u0442 ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${o.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${o.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${o.keys.length>1?"\u0438":""}: ${We(o.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${o.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${o.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}}});function HRt(){return{localeError:cbn()}}var cbn,WRt=v(()=>{zn();cbn=()=>{let t={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0161tevilo";case"object":{if(Array.isArray(o))return"tabela";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"vnos",email:"e-po\u0161tni 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 \u010Das",date:"ISO datum",time:"ISO \u010Das",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 \u0161tevilka",jwt:"JWT",template_literal:"vnos"};return o=>{switch(o.code){case"invalid_type":return`Neveljaven vnos: pri\u010Dakovano ${o.expected}, prejeto ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Neveljaven vnos: pri\u010Dakovano ${Ut(o.values[0])}`:`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Preveliko: pri\u010Dakovano, da bo ${o.origin??"vrednost"} imelo ${i}${o.maximum.toString()} ${a.unit??"elementov"}`:`Preveliko: pri\u010Dakovano, da bo ${o.origin??"vrednost"} ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Premajhno: pri\u010Dakovano, da bo ${o.origin} imelo ${i}${o.minimum.toString()} ${a.unit}`:`Premajhno: pri\u010Dakovano, da bo ${o.origin} ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Neveljaven niz: mora se za\u010Deti z "${i.prefix}"`:i.format==="ends_with"?`Neveljaven niz: mora se kon\u010Dati z "${i.suffix}"`:i.format==="includes"?`Neveljaven niz: mora vsebovati "${i.includes}"`:i.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${i.pattern}`:`Neveljaven ${n[i.format]??o.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${o.divisor}`;case"unrecognized_keys":return`Neprepoznan${o.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${We(o.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${o.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${o.origin}`;default:return"Neveljaven vnos"}}}});function JRt(){return{localeError:dbn()}}var dbn,KRt=v(()=>{zn();dbn=()=>{let t={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"antal";case"object":{if(Array.isArray(o))return"lista";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"regulj\xE4rt 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\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"};return o=>{switch(o.code){case"invalid_type":return`Ogiltig inmatning: f\xF6rv\xE4ntat ${o.expected}, fick ${r(o.input)}`;case"invalid_value":return o.values.length===1?`Ogiltig inmatning: f\xF6rv\xE4ntat ${Ut(o.values[0])}`:`Ogiltigt val: f\xF6rv\xE4ntade en av ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`F\xF6r stor(t): f\xF6rv\xE4ntade ${o.origin??"v\xE4rdet"} att ha ${i}${o.maximum.toString()} ${a.unit??"element"}`:`F\xF6r stor(t): f\xF6rv\xE4ntat ${o.origin??"v\xE4rdet"} att ha ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`F\xF6r lite(t): f\xF6rv\xE4ntade ${o.origin??"v\xE4rdet"} att ha ${i}${o.minimum.toString()} ${a.unit}`:`F\xF6r lite(t): f\xF6rv\xE4ntade ${o.origin??"v\xE4rdet"} att ha ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${i.prefix}"`:i.format==="ends_with"?`Ogiltig str\xE4ng: m\xE5ste sluta med "${i.suffix}"`:i.format==="includes"?`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${i.includes}"`:i.format==="regex"?`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${i.pattern}"`:`Ogiltig(t) ${n[i.format]??o.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${o.divisor}`;case"unrecognized_keys":return`${o.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${We(o.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${o.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${o.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}}});function GRt(){return{localeError:fbn()}}var fbn,XRt=v(()=>{zn();fbn=()=>{let t={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"\u0B8E\u0BA3\u0BCD \u0B85\u0BB2\u0BCD\u0BB2\u0BBE\u0BA4\u0BA4\u0BC1":"\u0B8E\u0BA3\u0BCD";case"object":{if(Array.isArray(o))return"\u0B85\u0BA3\u0BBF";if(o===null)return"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",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 \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"};return o=>{switch(o.code){case"invalid_type":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${Ut(o.values[0])}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${We(o.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${i}${o.maximum.toString()} ${a.unit??"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${i}${o.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o.origin} ${i}${o.minimum.toString()} ${a.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o.origin} ${i}${o.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="ends_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="includes"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${i.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:i.format==="regex"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${i.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${o.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${o.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${We(o.keys,", ")}`;case"invalid_key":return`${o.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${o.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}}});function ZRt(){return{localeError:pbn()}}var pbn,YRt=v(()=>{zn();pbn=()=>{let t={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"\u0E44\u0E21\u0E48\u0E43\u0E0A\u0E48\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02 (NaN)":"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02";case"object":{if(Array.isArray(o))return"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)";if(o===null)return"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"};return o=>{switch(o.code){case"invalid_type":return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${o.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${Ut(o.values[0])}`:`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",a=e(o.origin);return a?`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${o.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${o.maximum.toString()} ${a.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`:`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${o.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",a=e(o.origin);return a?`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${o.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${o.minimum.toString()} ${a.unit}`:`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${o.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${i} ${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${i.prefix}"`:i.format==="ends_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${i.suffix}"`:i.format==="includes"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${i.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`:i.format==="regex"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${i.pattern}`:`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${n[i.format]??o.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${o.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${We(o.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${o.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${o.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}}});function QRt(){return{localeError:hbn()}}var mbn,hbn,eIt=v(()=>{zn();mbn=t=>{let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"NaN":"number";case"object":{if(Array.isArray(t))return"array";if(t===null)return"null";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name}}return e},hbn=()=>{let t={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function e(n){return t[n]??null}let r={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\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"};return n=>{switch(n.code){case"invalid_type":return`Ge\xE7ersiz de\u011Fer: beklenen ${n.expected}, al\u0131nan ${mbn(n.input)}`;case"invalid_value":return n.values.length===1?`Ge\xE7ersiz de\u011Fer: beklenen ${Ut(n.values[0])}`:`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${We(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=e(n.origin);return i?`\xC7ok b\xFCy\xFCk: beklenen ${n.origin??"de\u011Fer"} ${o}${n.maximum.toString()} ${i.unit??"\xF6\u011Fe"}`:`\xC7ok b\xFCy\xFCk: beklenen ${n.origin??"de\u011Fer"} ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=e(n.origin);return i?`\xC7ok k\xFC\xE7\xFCk: beklenen ${n.origin} ${o}${n.minimum.toString()} ${i.unit}`:`\xC7ok k\xFC\xE7\xFCk: beklenen ${n.origin} ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Ge\xE7ersiz metin: "${o.prefix}" ile ba\u015Flamal\u0131`:o.format==="ends_with"?`Ge\xE7ersiz metin: "${o.suffix}" ile bitmeli`:o.format==="includes"?`Ge\xE7ersiz metin: "${o.includes}" i\xE7ermeli`:o.format==="regex"?`Ge\xE7ersiz metin: ${o.pattern} desenine uymal\u0131`:`Ge\xE7ersiz ${r[o.format]??n.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${n.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${n.keys.length>1?"lar":""}: ${We(n.keys,", ")}`;case"invalid_key":return`${n.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${n.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}}});function tIt(){return{localeError:gbn()}}var gbn,rIt=v(()=>{zn();gbn=()=>{let t={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0447\u0438\u0441\u043B\u043E";case"object":{if(Array.isArray(o))return"\u043C\u0430\u0441\u0438\u0432";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"};return o=>{switch(o.code){case"invalid_type":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${o.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${Ut(o.values[0])}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${a.verb} ${i}${o.maximum.toString()} ${a.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${o.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${o.origin} ${a.verb} ${i}${o.minimum.toString()} ${a.unit}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${o.origin} \u0431\u0443\u0434\u0435 ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${i.prefix}"`:i.format==="ends_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${i.suffix}"`:i.format==="includes"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${i.includes}"`:i.format==="regex"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${i.pattern}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${o.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${o.keys.length>1?"\u0456":""}: ${We(o.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${o.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${o.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}}});function nIt(){return{localeError:ybn()}}var ybn,oIt=v(()=>{zn();ybn=()=>{let t={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"\u0646\u0645\u0628\u0631";case"object":{if(Array.isArray(o))return"\u0622\u0631\u06D2";if(o===null)return"\u0646\u0644";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"};return o=>{switch(o.code){case"invalid_type":return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${o.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${r(o.input)} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;case"invalid_value":return o.values.length===1?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${Ut(o.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`:`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${We(o.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u0628\u06C1\u062A \u0628\u0691\u0627: ${o.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${i}${o.maximum.toString()} ${a.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0628\u0691\u0627: ${o.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${i}${o.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${o.origin} \u06A9\u06D2 ${i}${o.minimum.toString()} ${a.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${o.origin} \u06A9\u0627 ${i}${o.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="ends_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="includes"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${i.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:i.format==="regex"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${i.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:`\u063A\u0644\u0637 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${o.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${o.keys.length>1?"\u0632":""}: ${We(o.keys,"\u060C ")}`;case"invalid_key":return`${o.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${o.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}}});function iIt(){return{localeError:bbn()}}var bbn,aIt=v(()=>{zn();bbn=()=>{let t={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"s\u1ED1";case"object":{if(Array.isArray(o))return"m\u1EA3ng";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 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\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"};return o=>{switch(o.code){case"invalid_type":return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${o.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${Ut(o.values[0])}`:`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${o.origin??"gi\xE1 tr\u1ECB"} ${a.verb} ${i}${o.maximum.toString()} ${a.unit??"ph\u1EA7n t\u1EED"}`:`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${o.origin??"gi\xE1 tr\u1ECB"} ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${o.origin} ${a.verb} ${i}${o.minimum.toString()} ${a.unit}`:`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${o.origin} ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${i.prefix}"`:i.format==="ends_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${i.suffix}"`:i.format==="includes"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${i.includes}"`:i.format==="regex"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${i.pattern}`:`${n[i.format]??o.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${o.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${We(o.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${o.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${o.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}}});function sIt(){return{localeError:_bn()}}var _bn,uIt=v(()=>{zn();_bn=()=>{let t={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"\u975E\u6570\u5B57(NaN)":"\u6570\u5B57";case"object":{if(Array.isArray(o))return"\u6570\u7EC4";if(o===null)return"\u7A7A\u503C(null)";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"};return o=>{switch(o.code){case"invalid_type":return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${o.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${Ut(o.values[0])}`:`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${o.origin??"\u503C"} ${i}${o.maximum.toString()} ${a.unit??"\u4E2A\u5143\u7D20"}`:`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${o.origin??"\u503C"} ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${o.origin} ${i}${o.minimum.toString()} ${a.unit}`:`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${o.origin} ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${i.prefix}" \u5F00\u5934`:i.format==="ends_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${i.suffix}" \u7ED3\u5C3E`:i.format==="includes"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${i.includes}"`:i.format==="regex"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${i.pattern}`:`\u65E0\u6548${n[i.format]??o.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${o.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${We(o.keys,", ")}`;case"invalid_key":return`${o.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${o.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}}});function lIt(){return{localeError:vbn()}}var vbn,cIt=v(()=>{zn();vbn=()=>{let t={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function e(o){return t[o]??null}let r=o=>{let i=typeof o;switch(i){case"number":return Number.isNaN(o)?"NaN":"number";case"object":{if(Array.isArray(o))return"array";if(o===null)return"null";if(Object.getPrototypeOf(o)!==Object.prototype&&o.constructor)return o.constructor.name}}return i},n={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",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 \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"};return o=>{switch(o.code){case"invalid_type":return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${o.expected}\uFF0C\u4F46\u6536\u5230 ${r(o.input)}`;case"invalid_value":return o.values.length===1?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${Ut(o.values[0])}`:`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${We(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",a=e(o.origin);return a?`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${o.origin??"\u503C"} \u61C9\u70BA ${i}${o.maximum.toString()} ${a.unit??"\u500B\u5143\u7D20"}`:`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${o.origin??"\u503C"} \u61C9\u70BA ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",a=e(o.origin);return a?`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${o.origin} \u61C9\u70BA ${i}${o.minimum.toString()} ${a.unit}`:`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${o.origin} \u61C9\u70BA ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;return i.format==="starts_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${i.prefix}" \u958B\u982D`:i.format==="ends_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${i.suffix}" \u7D50\u5C3E`:i.format==="includes"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${i.includes}"`:i.format==="regex"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${i.pattern}`:`\u7121\u6548\u7684 ${n[i.format]??o.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${o.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${o.keys.length>1?"\u5011":""}\uFF1A${We(o.keys,"\u3001")}`;case"invalid_key":return`${o.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${o.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}}});var jee={};En(jee,{ar:()=>UMt,az:()=>zMt,be:()=>WMt,ca:()=>KMt,cs:()=>XMt,de:()=>YMt,en:()=>Hhe,eo:()=>eRt,es:()=>rRt,fa:()=>oRt,fi:()=>aRt,fr:()=>uRt,frCA:()=>cRt,he:()=>fRt,hu:()=>mRt,id:()=>gRt,it:()=>bRt,ja:()=>vRt,kh:()=>SRt,ko:()=>xRt,mk:()=>ORt,ms:()=>PRt,nl:()=>RRt,no:()=>ARt,ota:()=>DRt,pl:()=>FRt,ps:()=>$Rt,pt:()=>qRt,ru:()=>zRt,sl:()=>HRt,sv:()=>JRt,ta:()=>GRt,th:()=>ZRt,tr:()=>QRt,ua:()=>tIt,ur:()=>nIt,vi:()=>iIt,zhCN:()=>sIt,zhTW:()=>lIt});var qVe=v(()=>{BMt();VMt();JMt();GMt();ZMt();QMt();kVe();tRt();nRt();iRt();sRt();lRt();dRt();pRt();hRt();yRt();_Rt();wRt();CRt();TRt();ERt();MRt();IRt();NRt();jRt();LRt();kRt();URt();VRt();WRt();KRt();XRt();YRt();eIt();rIt();oIt();aIt();uIt();cIt()});function Whe(){return new mJ}var UVe,BVe,mJ,ql,zVe=v(()=>{UVe=Symbol("ZodOutput"),BVe=Symbol("ZodInput"),mJ=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...r){let n=r[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};ql=Whe()});function VVe(t,e){return new t({type:"string",...vt(e)})}function HVe(t,e){return new t({type:"string",coerce:!0,...vt(e)})}function Jhe(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...vt(e)})}function $ee(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...vt(e)})}function Khe(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...vt(e)})}function Ghe(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...vt(e)})}function Xhe(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...vt(e)})}function Zhe(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...vt(e)})}function Yhe(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...vt(e)})}function Qhe(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...vt(e)})}function ege(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...vt(e)})}function tge(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...vt(e)})}function rge(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...vt(e)})}function nge(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...vt(e)})}function oge(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...vt(e)})}function ige(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...vt(e)})}function age(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...vt(e)})}function sge(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...vt(e)})}function uge(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...vt(e)})}function lge(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...vt(e)})}function cge(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...vt(e)})}function dge(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...vt(e)})}function fge(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...vt(e)})}function pge(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...vt(e)})}function JVe(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...vt(e)})}function KVe(t,e){return new t({type:"string",format:"date",check:"string_format",...vt(e)})}function GVe(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...vt(e)})}function XVe(t,e){return new t({type:"string",format:"duration",check:"string_format",...vt(e)})}function ZVe(t,e){return new t({type:"number",checks:[],...vt(e)})}function YVe(t,e){return new t({type:"number",coerce:!0,checks:[],...vt(e)})}function QVe(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...vt(e)})}function eHe(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float32",...vt(e)})}function tHe(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"float64",...vt(e)})}function rHe(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"int32",...vt(e)})}function nHe(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"uint32",...vt(e)})}function oHe(t,e){return new t({type:"boolean",...vt(e)})}function iHe(t,e){return new t({type:"boolean",coerce:!0,...vt(e)})}function aHe(t,e){return new t({type:"bigint",...vt(e)})}function sHe(t,e){return new t({type:"bigint",coerce:!0,...vt(e)})}function uHe(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...vt(e)})}function lHe(t,e){return new t({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...vt(e)})}function cHe(t,e){return new t({type:"symbol",...vt(e)})}function dHe(t,e){return new t({type:"undefined",...vt(e)})}function fHe(t,e){return new t({type:"null",...vt(e)})}function pHe(t){return new t({type:"any"})}function YL(t){return new t({type:"unknown"})}function Lee(t,e){return new t({type:"never",...vt(e)})}function mHe(t,e){return new t({type:"void",...vt(e)})}function hHe(t,e){return new t({type:"date",...vt(e)})}function gHe(t,e){return new t({type:"date",coerce:!0,...vt(e)})}function yHe(t,e){return new t({type:"nan",...vt(e)})}function GN(t,e){return new Lhe({check:"less_than",...vt(e),value:t,inclusive:!1})}function PS(t,e){return new Lhe({check:"less_than",...vt(e),value:t,inclusive:!0})}function XN(t,e){return new Fhe({check:"greater_than",...vt(e),value:t,inclusive:!1})}function R_(t,e){return new Fhe({check:"greater_than",...vt(e),value:t,inclusive:!0})}function bHe(t){return XN(0,t)}function _He(t){return GN(0,t)}function vHe(t){return PS(0,t)}function wHe(t){return R_(0,t)}function t4(t,e){return new y2e({check:"multiple_of",...vt(e),value:t})}function hJ(t,e){return new v2e({check:"max_size",...vt(e),maximum:t})}function r4(t,e){return new w2e({check:"min_size",...vt(e),minimum:t})}function Fee(t,e){return new S2e({check:"size_equals",...vt(e),size:t})}function gJ(t,e){return new C2e({check:"max_length",...vt(e),maximum:t})}function QL(t,e){return new x2e({check:"min_length",...vt(e),minimum:t})}function yJ(t,e){return new T2e({check:"length_equals",...vt(e),length:t})}function kee(t,e){return new O2e({check:"string_format",format:"regex",...vt(e),pattern:t})}function qee(t){return new E2e({check:"string_format",format:"lowercase",...vt(t)})}function Uee(t){return new P2e({check:"string_format",format:"uppercase",...vt(t)})}function Bee(t,e){return new M2e({check:"string_format",format:"includes",...vt(e),includes:t})}function zee(t,e){return new R2e({check:"string_format",format:"starts_with",...vt(e),prefix:t})}function Vee(t,e){return new I2e({check:"string_format",format:"ends_with",...vt(e),suffix:t})}function SHe(t,e,r){return new A2e({check:"property",property:t,schema:e,...vt(r)})}function Hee(t,e){return new N2e({check:"mime_type",mime:t,...vt(e)})}function ZN(t){return new D2e({check:"overwrite",tx:t})}function Wee(t){return ZN(e=>e.normalize(t))}function Jee(){return ZN(t=>t.trim())}function Kee(){return ZN(t=>t.toLowerCase())}function Gee(){return ZN(t=>t.toUpperCase())}function Xee(t,e,r){return new t({type:"array",element:e,...vt(r)})}function wbn(t,e,r){return new t({type:"union",options:e,...vt(r)})}function Sbn(t,e,r,n){return new t({type:"union",options:r,discriminator:e,...vt(n)})}function Cbn(t,e,r){return new t({type:"intersection",left:e,right:r})}function CHe(t,e,r,n){let o=r instanceof uo,i=o?n:r,a=o?r:null;return new t({type:"tuple",items:e,rest:a,...vt(i)})}function xbn(t,e,r,n){return new t({type:"record",keyType:e,valueType:r,...vt(n)})}function Tbn(t,e,r,n){return new t({type:"map",keyType:e,valueType:r,...vt(n)})}function Obn(t,e,r){return new t({type:"set",valueType:e,...vt(r)})}function Ebn(t,e,r){let n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new t({type:"enum",entries:n,...vt(r)})}function Pbn(t,e,r){return new t({type:"enum",entries:e,...vt(r)})}function Mbn(t,e,r){return new t({type:"literal",values:Array.isArray(e)?e:[e],...vt(r)})}function xHe(t,e){return new t({type:"file",...vt(e)})}function Rbn(t,e){return new t({type:"transform",transform:e})}function Ibn(t,e){return new t({type:"optional",innerType:e})}function Abn(t,e){return new t({type:"nullable",innerType:e})}function Nbn(t,e,r){return new t({type:"default",innerType:e,get defaultValue(){return typeof r=="function"?r():r}})}function Dbn(t,e,r){return new t({type:"nonoptional",innerType:e,...vt(r)})}function jbn(t,e){return new t({type:"success",innerType:e})}function $bn(t,e,r){return new t({type:"catch",innerType:e,catchValue:typeof r=="function"?r:()=>r})}function Lbn(t,e,r){return new t({type:"pipe",in:e,out:r})}function Fbn(t,e){return new t({type:"readonly",innerType:e})}function kbn(t,e,r){return new t({type:"template_literal",parts:e,...vt(r)})}function qbn(t,e){return new t({type:"lazy",getter:e})}function Ubn(t,e){return new t({type:"promise",innerType:e})}function THe(t,e,r){let n=vt(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}function OHe(t,e,r){return new t({type:"custom",check:"custom",fn:e,...vt(r)})}function EHe(t,e){let r=vt(e),n=r.truthy??["true","1","yes","on","y","enabled"],o=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(n=n.map(m=>typeof m=="string"?m.toLowerCase():m),o=o.map(m=>typeof m=="string"?m.toLowerCase():m));let i=new Set(n),a=new Set(o),s=t.Pipe??Nee,u=t.Boolean??Mee,l=t.String??Qz,c=t.Transform??Aee,d=new c({type:"transform",transform:(m,h)=>{let y=m;return r.case!=="sensitive"&&(y=y.toLowerCase()),i.has(y)?!0:a.has(y)?!1:(h.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...a],input:h.value,inst:d}),{})},error:r.error}),f=new s({type:"pipe",in:new l({type:"string",error:r.error}),out:d,error:r.error});return new s({type:"pipe",in:f,out:new u({type:"boolean",error:r.error}),error:r.error})}function PHe(t,e,r,n={}){let o=vt(n),i={...vt(n),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:s=>r.test(s),...o};return r instanceof RegExp&&(i.pattern=r),new t(i)}var WVe,MHe=v(()=>{khe();Dee();zn();WVe={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function RHe(t){return new mge({type:"function",input:Array.isArray(t?.input)?CHe(e4,t?.input):t?.input??Xee(Iee,YL(ZL)),output:t?.output??YL(ZL)})}var mge,dIt=v(()=>{MHe();Dhe();Dee();Dee();mge=class{constructor(e){this._def=e,this.def=e}implement(e){if(typeof e!="function")throw new Error("implement() must be called with a function");let r=(...n)=>{let o=this._def.input?aO(this._def.input,n,void 0,{callee:r}):n;if(!Array.isArray(o))throw new Error("Invalid arguments schema: not an array or tuple schema.");let i=e(...o);return this._def.output?aO(this._def.output,i,void 0,{callee:r}):i};return r}implementAsync(e){if(typeof e!="function")throw new Error("implement() must be called with a function");let r=async(...n)=>{let o=this._def.input?await Xz(this._def.input,n,void 0,{callee:r}):n;if(!Array.isArray(o))throw new Error("Invalid arguments schema: not an array or tuple schema.");let i=await e(...o);return this._def.output?Xz(this._def.output,i,void 0,{callee:r}):i};return r}input(...e){let r=this.constructor;return Array.isArray(e[0])?new r({type:"function",input:new e4({type:"tuple",items:e[0],rest:e[1]}),output:this._def.output}):new r({type:"function",input:e[0],output:this._def.output})}output(e){let r=this.constructor;return new r({type:"function",input:this._def.input,output:e})}}});function eF(t,e){if(t instanceof mJ){let n=new Zee(e),o={};for(let s of t._idmap.entries()){let[u,l]=s;n.process(l)}let i={},a={registry:t,uri:e?.uri,defs:o};for(let s of t._idmap.entries()){let[u,l]=s;i[u]=n.emit(l,{...e,external:a})}if(Object.keys(o).length>0){let s=n.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[s]:o}}return{schemas:i}}let r=new Zee(e);return r.process(t),r.emit(t,e)}function Rm(t,e){let r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);let o=t._zod.def;switch(o.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return Rm(o.element,r);case"object":{for(let i in o.shape)if(Rm(o.shape[i],r))return!0;return!1}case"union":{for(let i of o.options)if(Rm(i,r))return!0;return!1}case"intersection":return Rm(o.left,r)||Rm(o.right,r);case"tuple":{for(let i of o.items)if(Rm(i,r))return!0;return!!(o.rest&&Rm(o.rest,r))}case"record":return Rm(o.keyType,r)||Rm(o.valueType,r);case"map":return Rm(o.keyType,r)||Rm(o.valueType,r);case"set":return Rm(o.valueType,r);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return Rm(o.innerType,r);case"lazy":return Rm(o.getter(),r);case"default":return Rm(o.innerType,r);case"prefault":return Rm(o.innerType,r);case"custom":return!1;case"transform":return!0;case"pipe":return Rm(o.in,r)||Rm(o.out,r);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${o.type}`)}var Zee,fIt=v(()=>{zVe();zn();Zee=class{constructor(e){this.counter=0,this.metadataRegistry=e?.metadata??ql,this.target=e?.target??"draft-2020-12",this.unrepresentable=e?.unrepresentable??"throw",this.override=e?.override??(()=>{}),this.io=e?.io??"output",this.seen=new Map}process(e,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},a=this.seen.get(e);if(a)return a.count++,r.schemaPath.includes(e)&&(a.cycle=r.path),a.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};this.seen.set(e,s);let u=e._zod.toJSONSchema?.();if(u)s.schema=u;else{let d={...r,schemaPath:[...r.schemaPath,e],path:r.path},f=e._zod.parent;if(f)s.ref=f,this.process(f,d),this.seen.get(f).isParent=!0;else{let p=s.schema;switch(o.type){case"string":{let m=p;m.type="string";let{minimum:h,maximum:y,format:g,patterns:b,contentEncoding:_}=e._zod.bag;if(typeof h=="number"&&(m.minLength=h),typeof y=="number"&&(m.maxLength=y),g&&(m.format=i[g]??g,m.format===""&&delete m.format),_&&(m.contentEncoding=_),b&&b.size>0){let w=[...b];w.length===1?m.pattern=w[0].source:w.length>1&&(s.schema.allOf=[...w.map(T=>({...this.target==="draft-7"?{type:"string"}:{},pattern:T.source}))])}break}case"number":{let m=p,{minimum:h,maximum:y,format:g,multipleOf:b,exclusiveMaximum:_,exclusiveMinimum:w}=e._zod.bag;typeof g=="string"&&g.includes("int")?m.type="integer":m.type="number",typeof w=="number"&&(m.exclusiveMinimum=w),typeof h=="number"&&(m.minimum=h,typeof w=="number"&&(w>=h?delete m.minimum:delete m.exclusiveMinimum)),typeof _=="number"&&(m.exclusiveMaximum=_),typeof y=="number"&&(m.maximum=y,typeof _=="number"&&(_<=y?delete m.maximum:delete m.exclusiveMaximum)),typeof b=="number"&&(m.multipleOf=b);break}case"boolean":{let m=p;m.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{p.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{p.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let m=p,{minimum:h,maximum:y}=e._zod.bag;typeof h=="number"&&(m.minItems=h),typeof y=="number"&&(m.maxItems=y),m.type="array",m.items=this.process(o.element,{...d,path:[...d.path,"items"]});break}case"object":{let m=p;m.type="object",m.properties={};let h=o.shape;for(let b in h)m.properties[b]=this.process(h[b],{...d,path:[...d.path,"properties",b]});let y=new Set(Object.keys(h)),g=new Set([...y].filter(b=>{let _=o.shape[b]._zod;return this.io==="input"?_.optin===void 0:_.optout===void 0}));g.size>0&&(m.required=Array.from(g)),o.catchall?._zod.def.type==="never"?m.additionalProperties=!1:o.catchall?o.catchall&&(m.additionalProperties=this.process(o.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(m.additionalProperties=!1);break}case"union":{let m=p;m.anyOf=o.options.map((h,y)=>this.process(h,{...d,path:[...d.path,"anyOf",y]}));break}case"intersection":{let m=p,h=this.process(o.left,{...d,path:[...d.path,"allOf",0]}),y=this.process(o.right,{...d,path:[...d.path,"allOf",1]}),g=_=>"allOf"in _&&Object.keys(_).length===1,b=[...g(h)?h.allOf:[h],...g(y)?y.allOf:[y]];m.allOf=b;break}case"tuple":{let m=p;m.type="array";let h=o.items.map((b,_)=>this.process(b,{...d,path:[...d.path,"prefixItems",_]}));if(this.target==="draft-2020-12"?m.prefixItems=h:m.items=h,o.rest){let b=this.process(o.rest,{...d,path:[...d.path,"items"]});this.target==="draft-2020-12"?m.items=b:m.additionalItems=b}o.rest&&(m.items=this.process(o.rest,{...d,path:[...d.path,"items"]}));let{minimum:y,maximum:g}=e._zod.bag;typeof y=="number"&&(m.minItems=y),typeof g=="number"&&(m.maxItems=g);break}case"record":{let m=p;m.type="object",m.propertyNames=this.process(o.keyType,{...d,path:[...d.path,"propertyNames"]}),m.additionalProperties=this.process(o.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let m=p,h=_ee(o.entries);h.every(y=>typeof y=="number")&&(m.type="number"),h.every(y=>typeof y=="string")&&(m.type="string"),m.enum=h;break}case"literal":{let m=p,h=[];for(let y of o.values)if(y===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof y=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(y))}else h.push(y);if(h.length!==0)if(h.length===1){let y=h[0];m.type=y===null?"null":typeof y,m.const=y}else h.every(y=>typeof y=="number")&&(m.type="number"),h.every(y=>typeof y=="string")&&(m.type="string"),h.every(y=>typeof y=="boolean")&&(m.type="string"),h.every(y=>y===null)&&(m.type="null"),m.enum=h;break}case"file":{let m=p,h={type:"string",format:"binary",contentEncoding:"binary"},{minimum:y,maximum:g,mime:b}=e._zod.bag;y!==void 0&&(h.minLength=y),g!==void 0&&(h.maxLength=g),b?b.length===1?(h.contentMediaType=b[0],Object.assign(m,h)):m.anyOf=b.map(_=>({...h,contentMediaType:_})):Object.assign(m,h);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let m=this.process(o.innerType,d);p.anyOf=[m,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,d),s.ref=o.innerType;break}case"success":{let m=p;m.type="boolean";break}case"default":{this.process(o.innerType,d),s.ref=o.innerType,p.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{this.process(o.innerType,d),s.ref=o.innerType,this.io==="input"&&(p._prefault=JSON.parse(JSON.stringify(o.defaultValue)));break}case"catch":{this.process(o.innerType,d),s.ref=o.innerType;let m;try{m=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}p.default=m;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let m=p,h=e._zod.pattern;if(!h)throw new Error("Pattern not found in template literal");m.type="string",m.pattern=h.source;break}case"pipe":{let m=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(m,d),s.ref=m;break}case"readonly":{this.process(o.innerType,d),s.ref=o.innerType,p.readOnly=!0;break}case"promise":{this.process(o.innerType,d),s.ref=o.innerType;break}case"optional":{this.process(o.innerType,d),s.ref=o.innerType;break}case"lazy":{let m=e._zod.innerType;this.process(m,d),s.ref=m;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let l=this.metadataRegistry.get(e);return l&&Object.assign(s.schema,l),this.io==="input"&&Rm(e)&&(delete s.schema.examples,delete s.schema.default),this.io==="input"&&s.schema._prefault&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,this.seen.get(e).schema}emit(e,r){let n={cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0},o=this.seen.get(e);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=c=>{let d=this.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let h=n.external.registry.get(c[0])?.id,y=n.external.uri??(b=>b);if(h)return{ref:y(h)};let g=c[1].defId??c[1].schema.id??`schema${this.counter++}`;return c[1].defId=g,{defId:g,ref:`${y("__shared")}#/${d}/${g}`}}if(c[1]===o)return{ref:"#"};let p=`#/${d}/`,m=c[1].schema.id??`__schema${this.counter++}`;return{defId:m,ref:p+m}},a=c=>{if(c[1].schema.$ref)return;let d=c[1],{ref:f,defId:p}=i(c);d.def={...d.schema},p&&(d.defId=p);let m=d.schema;for(let h in m)delete m[h];m.$ref=f};if(n.cycles==="throw")for(let c of this.seen.entries()){let d=c[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/
-
-Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of this.seen.entries()){let d=c[1];if(e===c[0]){a(c);continue}if(n.external){let p=n.external.registry.get(c[0])?.id;if(e!==c[0]&&p){a(c);continue}}if(this.metadataRegistry.get(c[0])?.id){a(c);continue}if(d.cycle){a(c);continue}if(d.count>1&&n.reused==="ref"){a(c);continue}}let s=(c,d)=>{let f=this.seen.get(c),p=f.def??f.schema,m={...p};if(f.ref===null)return;let h=f.ref;if(f.ref=null,h){s(h,d);let y=this.seen.get(h).schema;y.$ref&&d.target==="draft-7"?(p.allOf=p.allOf??[],p.allOf.push(y)):(Object.assign(p,y),Object.assign(p,m))}f.isParent||this.override({zodSchema:c,jsonSchema:p,path:f.path??[]})};for(let c of[...this.seen.entries()].reverse())s(c[0],{target:this.target});let u={};if(this.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?u.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),n.external?.uri){let c=n.external.registry.get(e)?.id;if(!c)throw new Error("Schema is missing an `id` property");u.$id=n.external.uri(c)}Object.assign(u,o.def);let l=n.external?.defs??{};for(let c of this.seen.entries()){let d=c[1];d.def&&d.defId&&(l[d.defId]=d.def)}n.external||Object.keys(l).length>0&&(this.target==="draft-2020-12"?u.$defs=l:u.definitions=l);try{return JSON.parse(JSON.stringify(u))}catch{throw new Error("Error converting schema to JSON.")}}}});var pIt={};var mIt=v(()=>{});var YN={};En(YN,{$ZodAny:()=>hVe,$ZodArray:()=>Iee,$ZodAsyncError:()=>iO,$ZodBase64:()=>iVe,$ZodBase64URL:()=>aVe,$ZodBigInt:()=>zhe,$ZodBigIntFormat:()=>dVe,$ZodBoolean:()=>Mee,$ZodCIDRv4:()=>rVe,$ZodCIDRv6:()=>nVe,$ZodCUID:()=>H2e,$ZodCUID2:()=>W2e,$ZodCatch:()=>AVe,$ZodCheck:()=>gc,$ZodCheckBigIntFormat:()=>_2e,$ZodCheckEndsWith:()=>I2e,$ZodCheckGreaterThan:()=>Fhe,$ZodCheckIncludes:()=>M2e,$ZodCheckLengthEquals:()=>T2e,$ZodCheckLessThan:()=>Lhe,$ZodCheckLowerCase:()=>E2e,$ZodCheckMaxLength:()=>C2e,$ZodCheckMaxSize:()=>v2e,$ZodCheckMimeType:()=>N2e,$ZodCheckMinLength:()=>x2e,$ZodCheckMinSize:()=>w2e,$ZodCheckMultipleOf:()=>y2e,$ZodCheckNumberFormat:()=>b2e,$ZodCheckOverwrite:()=>D2e,$ZodCheckProperty:()=>A2e,$ZodCheckRegex:()=>O2e,$ZodCheckSizeEquals:()=>S2e,$ZodCheckStartsWith:()=>R2e,$ZodCheckStringFormat:()=>fJ,$ZodCheckUpperCase:()=>P2e,$ZodCustom:()=>FVe,$ZodCustomStringFormat:()=>lVe,$ZodDate:()=>yVe,$ZodDefault:()=>PVe,$ZodDiscriminatedUnion:()=>_Ve,$ZodE164:()=>sVe,$ZodEmail:()=>U2e,$ZodEmoji:()=>z2e,$ZodEnum:()=>xVe,$ZodError:()=>Tee,$ZodFile:()=>OVe,$ZodFunction:()=>mge,$ZodGUID:()=>k2e,$ZodIPv4:()=>eVe,$ZodIPv6:()=>tVe,$ZodISODate:()=>Z2e,$ZodISODateTime:()=>X2e,$ZodISODuration:()=>Q2e,$ZodISOTime:()=>Y2e,$ZodIntersection:()=>vVe,$ZodJWT:()=>uVe,$ZodKSUID:()=>G2e,$ZodLazy:()=>LVe,$ZodLiteral:()=>TVe,$ZodMap:()=>SVe,$ZodNaN:()=>NVe,$ZodNanoID:()=>V2e,$ZodNever:()=>Ree,$ZodNonOptional:()=>RVe,$ZodNull:()=>mVe,$ZodNullable:()=>EVe,$ZodNumber:()=>Bhe,$ZodNumberFormat:()=>cVe,$ZodObject:()=>bVe,$ZodOptional:()=>pJ,$ZodPipe:()=>Nee,$ZodPrefault:()=>MVe,$ZodPromise:()=>$Ve,$ZodReadonly:()=>DVe,$ZodRealError:()=>dJ,$ZodRecord:()=>wVe,$ZodRegistry:()=>mJ,$ZodSet:()=>CVe,$ZodString:()=>Qz,$ZodStringFormat:()=>Ru,$ZodSuccess:()=>IVe,$ZodSymbol:()=>fVe,$ZodTemplateLiteral:()=>jVe,$ZodTransform:()=>Aee,$ZodTuple:()=>e4,$ZodType:()=>uo,$ZodULID:()=>J2e,$ZodURL:()=>B2e,$ZodUUID:()=>q2e,$ZodUndefined:()=>pVe,$ZodUnion:()=>Vhe,$ZodUnknown:()=>ZL,$ZodVoid:()=>gVe,$ZodXID:()=>K2e,$brand:()=>T4e,$constructor:()=>xe,$input:()=>BVe,$output:()=>UVe,Doc:()=>Pee,JSONSchema:()=>pIt,JSONSchemaGenerator:()=>Zee,NEVER:()=>x4e,TimePrecision:()=>WVe,_any:()=>pHe,_array:()=>Xee,_base64:()=>cge,_base64url:()=>dge,_bigint:()=>aHe,_boolean:()=>oHe,_catch:()=>$bn,_cidrv4:()=>uge,_cidrv6:()=>lge,_coercedBigint:()=>sHe,_coercedBoolean:()=>iHe,_coercedDate:()=>gHe,_coercedNumber:()=>YVe,_coercedString:()=>HVe,_cuid:()=>tge,_cuid2:()=>rge,_custom:()=>THe,_date:()=>hHe,_default:()=>Nbn,_discriminatedUnion:()=>Sbn,_e164:()=>fge,_email:()=>Jhe,_emoji:()=>Qhe,_endsWith:()=>Vee,_enum:()=>Ebn,_file:()=>xHe,_float32:()=>eHe,_float64:()=>tHe,_gt:()=>XN,_gte:()=>R_,_guid:()=>$ee,_includes:()=>Bee,_int:()=>QVe,_int32:()=>rHe,_int64:()=>uHe,_intersection:()=>Cbn,_ipv4:()=>age,_ipv6:()=>sge,_isoDate:()=>KVe,_isoDateTime:()=>JVe,_isoDuration:()=>XVe,_isoTime:()=>GVe,_jwt:()=>pge,_ksuid:()=>ige,_lazy:()=>qbn,_length:()=>yJ,_literal:()=>Mbn,_lowercase:()=>qee,_lt:()=>GN,_lte:()=>PS,_map:()=>Tbn,_max:()=>PS,_maxLength:()=>gJ,_maxSize:()=>hJ,_mime:()=>Hee,_min:()=>R_,_minLength:()=>QL,_minSize:()=>r4,_multipleOf:()=>t4,_nan:()=>yHe,_nanoid:()=>ege,_nativeEnum:()=>Pbn,_negative:()=>_He,_never:()=>Lee,_nonnegative:()=>wHe,_nonoptional:()=>Dbn,_nonpositive:()=>vHe,_normalize:()=>Wee,_null:()=>fHe,_nullable:()=>Abn,_number:()=>ZVe,_optional:()=>Ibn,_overwrite:()=>ZN,_parse:()=>Rhe,_parseAsync:()=>Ihe,_pipe:()=>Lbn,_positive:()=>bHe,_promise:()=>Ubn,_property:()=>SHe,_readonly:()=>Fbn,_record:()=>xbn,_refine:()=>OHe,_regex:()=>kee,_safeParse:()=>Ahe,_safeParseAsync:()=>Nhe,_set:()=>Obn,_size:()=>Fee,_startsWith:()=>zee,_string:()=>VVe,_stringFormat:()=>PHe,_stringbool:()=>EHe,_success:()=>jbn,_symbol:()=>cHe,_templateLiteral:()=>kbn,_toLowerCase:()=>Kee,_toUpperCase:()=>Gee,_transform:()=>Rbn,_trim:()=>Jee,_tuple:()=>CHe,_uint32:()=>nHe,_uint64:()=>lHe,_ulid:()=>nge,_undefined:()=>dHe,_union:()=>wbn,_unknown:()=>YL,_uppercase:()=>Uee,_url:()=>Yhe,_uuid:()=>Khe,_uuidv4:()=>Ghe,_uuidv6:()=>Xhe,_uuidv7:()=>Zhe,_void:()=>mHe,_xid:()=>oge,clone:()=>hc,config:()=>Pd,flattenError:()=>Oee,formatError:()=>Eee,function:()=>RHe,globalConfig:()=>yee,globalRegistry:()=>ql,isValidBase64:()=>oVe,isValidBase64URL:()=>FMt,isValidJWT:()=>kMt,locales:()=>jee,parse:()=>aO,parseAsync:()=>Xz,prettifyError:()=>F4e,regexes:()=>Yz,registry:()=>Whe,safeParse:()=>q4e,safeParseAsync:()=>U4e,toDotPath:()=>vMt,toJSONSchema:()=>eF,treeifyError:()=>L4e,util:()=>Dt,version:()=>$2e});var Iy=v(()=>{uJ();Dhe();k4e();Dee();khe();L2e();zn();$he();qVe();zVe();j2e();dIt();MHe();fIt();mIt()});function Iu(t){if(typeof t!="object"||t===null)return!1;let e=t;if(!("_zod"in e))return!1;let r=e._zod;return typeof r=="object"&&r!==null&&"def"in r}function yc(t){if(typeof t!="object"||t===null)return!1;let e=t;if(!("_def"in e)||"_zod"in e)return!1;let r=e._def;return typeof r=="object"&&r!=null&&"typeName"in r}function hIt(t){return Iu(t)&&console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior."),yc(t)}function Ii(t){return!t||typeof t!="object"||Array.isArray(t)?!1:!!(Iu(t)||yc(t))}function IHe(t){return typeof t=="object"&&t!==null&&"_def"in t&&typeof t._def=="object"&&t._def!==null&&"typeName"in t._def&&t._def.typeName==="ZodLiteral"}function AHe(t){return Iu(t)?typeof t=="object"&&t!==null&&"_zod"in t&&typeof t._zod=="object"&&t._zod!==null&&"def"in t._zod&&typeof t._zod.def=="object"&&t._zod.def!==null&&"type"in t._zod.def&&t._zod.def.type==="literal":!1}function gIt(t){return!!(IHe(t)||AHe(t))}async function tF(t,e){if(Iu(t))try{return{success:!0,data:await Xz(t,e)}}catch(r){return{success:!1,error:r}}if(yc(t))return await t.safeParseAsync(e);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function rF(t,e){if(Iu(t))return await Xz(t,e);if(yc(t))return await t.parseAsync(e);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function yIt(t,e){if(Iu(t))try{return{success:!0,data:aO(t,e)}}catch(r){return{success:!1,error:r}}if(yc(t))return t.safeParse(e);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function bIt(t,e){if(Iu(t))return aO(t,e);if(yc(t))return t.parse(e);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function nF(t){if(Iu(t))return ql.get(t)?.description;if(yc(t)||"description"in t&&typeof t.description=="string")return t.description}function _It(t){if(!Ii(t))return!1;if(yc(t)){let e=t._def;if(e.typeName==="ZodObject"){let r=t;return!r.shape||Object.keys(r.shape).length===0}if(e.typeName==="ZodRecord")return!0}if(Iu(t)){let e=t._zod.def;if(e.type==="object"){let r=t;return!r.shape||Object.keys(r.shape).length===0}if(e.type==="record")return!0}return typeof t=="object"&&t!==null&&!("shape"in t)}function _J(t){return Ii(t)?yc(t)?t._def.typeName==="ZodString":Iu(t)?t._zod.def.type==="string":!1:!1}function yge(t){return typeof t=="object"&&t!==null&&"_def"in t&&typeof t._def=="object"&&t._def!==null&&"typeName"in t._def&&t._def.typeName==="ZodObject"}function MS(t){return Iu(t)?typeof t=="object"&&t!==null&&"_zod"in t&&typeof t._zod=="object"&&t._zod!==null&&"def"in t._zod&&typeof t._zod.def=="object"&&t._zod.def!==null&&"type"in t._zod.def&&t._zod.def.type==="object":!1}function Yee(t){return Iu(t)?typeof t=="object"&&t!==null&&"_zod"in t&&typeof t._zod=="object"&&t._zod!==null&&"def"in t._zod&&typeof t._zod.def=="object"&&t._zod.def!==null&&"type"in t._zod.def&&t._zod.def.type==="array":!1}function NHe(t){return Iu(t)?typeof t=="object"&&t!==null&&"_zod"in t&&typeof t._zod=="object"&&t._zod!==null&&"def"in t._zod&&typeof t._zod.def=="object"&&t._zod.def!==null&&"type"in t._zod.def&&t._zod.def.type==="optional":!1}function DHe(t){return Iu(t)?typeof t=="object"&&t!==null&&"_zod"in t&&typeof t._zod=="object"&&t._zod!==null&&"def"in t._zod&&typeof t._zod.def=="object"&&t._zod.def!==null&&"type"in t._zod.def&&t._zod.def.type==="nullable":!1}function vIt(t){return!!(yge(t)||MS(t))}function hge(t){if(yc(t))return t.shape;if(Iu(t))return t._zod.def.shape;throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function wIt(t,e){if(yc(t))return t.extend(e);if(Iu(t))return Dt.extend(t,e);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function SIt(t){if(yc(t))return t.partial();if(Iu(t))return Dt.partial(pJ,t,void 0);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function bJ(t,e=!1){if(yc(t))return t.strict();if(MS(t)){let r=t._zod.def.shape;if(e)for(let[i,a]of Object.entries(t._zod.def.shape)){if(MS(a)){let u=bJ(a,e);r[i]=u}else if(Yee(a)){let u=a._zod.def.element;MS(u)&&(u=bJ(u,e)),r[i]=hc(a,{...a._zod.def,element:u})}else r[i]=a;let s=ql.get(a);s&&ql.add(r[i],s)}let n=hc(t,{...t._zod.def,shape:r,catchall:Lee(Ree)}),o=ql.get(t);return o&&ql.add(n,o),n}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function gge(t,e=!1){if(yge(t))return t.passthrough();if(MS(t)){let r=t._zod.def.shape;if(e)for(let[i,a]of Object.entries(t._zod.def.shape)){if(MS(a)){let u=gge(a,e);r[i]=u}else if(Yee(a)){let u=a._zod.def.element;MS(u)&&(u=gge(u,e)),r[i]=hc(a,{...a._zod.def,element:u})}else r[i]=a;let s=ql.get(a);s&&ql.add(r[i],s)}let n=hc(t,{...t._zod.def,shape:r,catchall:YL(ZL)}),o=ql.get(t);return o&&ql.add(n,o),n}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function CIt(t){if(yc(t))try{let e=t.parse(void 0);return()=>e}catch{return}if(Iu(t))try{let e=aO(t,void 0);return()=>e}catch{return}}function Bbn(t){return yc(t)&&"typeName"in t._def&&t._def.typeName==="ZodEffects"}function zbn(t){return Iu(t)&&t._zod.def.type==="pipe"}function n4(t,e,r){let n=r.get(t);if(n!==void 0)return n;if(yc(t))return Bbn(t)?n4(t._def.schema,e,r):t;if(Iu(t)){let o=t;if(zbn(t)&&(o=n4(t._zod.def.in,e,r)),e){if(MS(o)){let a={};for(let[s,u]of Object.entries(o._zod.def.shape))a[s]=n4(u,e,r);o=hc(o,{...o._zod.def,shape:a})}else if(Yee(o)){let a=n4(o._zod.def.element,e,r);o=hc(o,{...o._zod.def,element:a})}else if(NHe(o)){let a=n4(o._zod.def.innerType,e,r);o=hc(o,{...o._zod.def,innerType:a})}else if(DHe(o)){let a=n4(o._zod.def.innerType,e,r);o=hc(o,{...o._zod.def,innerType:a})}}let i=ql.get(t);return i&&ql.add(o,i),r.set(t,o),o}throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function bge(t,e=!1){return n4(t,e,new WeakMap)}function xIt(t,e){if(yc(t)){let r=hge(t),n={};for(let[o,i]of Object.entries(r))e(o,i)?n[o]=i.optional():n[o]=i;return t.extend(n)}if(Iu(t)){let r=hge(t),n={...t._zod.def.shape};for(let[a,s]of Object.entries(r))e(a,s)&&(n[a]=new pJ({type:"optional",innerType:s}));let o=hc(t,{...t._zod.def,shape:n}),i=ql.get(t);return i&&ql.add(o,i),o}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function _ge(t){return t instanceof Error&&(t.constructor.name==="ZodError"||t.constructor.name==="$ZodError")}var QN=v(()=>{Iy()});function jHe(t){return t.replace(/[^a-zA-Z-_0-9]/g,"_")}function Hbn(t){let e="";for(let[r,n]of Object.entries(t))e+=` classDef ${r} ${n};
-`;return e}function TIt(t,e,r){let{firstNode:n,lastNode:o,nodeColors:i,withStyles:a=!0,curveStyle:s="linear",wrapLabelNWords:u=9}=r??{},l=a?`%%{init: {'flowchart': {'curve': '${s}'}}}%%
-graph TD;
-`:`graph TD;
-`;if(a){let m="default",h={[m]:"{0}({1})"};n!==void 0&&(h[n]="{0}([{1}]):::first"),o!==void 0&&(h[o]="{0}([{1}]):::last");for(let[y,g]of Object.entries(t)){let b=g.name.split(":").pop()??"",w=Vbn.some(O=>b.startsWith(O)&&b.endsWith(O))?`${b}
`:b;Object.keys(g.metadata??{}).length&&(w+=`
${Object.entries(g.metadata??{}).map(([O,E])=>`${O} = ${E}`).join(`
-`)}`);let T=(h[y]??h[m]).replace("{0}",jHe(y)).replace("{1}",w);l+=` ${T}
-`}}let c={};for(let m of e){let h=m.source.split(":"),y=m.target.split(":"),g=h.filter((b,_)=>b===y[_]).join(":");c[g]||(c[g]=[]),c[g].push(m)}let d=new Set;function f(m){return[...m].sort((h,y)=>h.split(":").length-y.split(":").length)}function p(m,h){let y=m.length===1&&m[0].source===m[0].target;if(h&&!y){let b=h.split(":").pop();if(d.has(h))throw new Error(`Found duplicate subgraph '${b}' at '${h} -- this likely means that you're reusing a subgraph node with the same name. Please adjust your graph to have subgraph nodes with unique names.`);d.add(h),l+=` subgraph ${b}
-`}let g=f(Object.keys(c).filter(b=>b.startsWith(`${h}:`)&&b!==h&&b.split(":").length===h.split(":").length+1));for(let b of g)p(c[b],b);for(let b of m){let{source:_,target:w,data:T,conditional:O}=b,E="";if(T!==void 0){let P=T,R=P.split(" ");R.length>u&&(P=Array.from({length:Math.ceil(R.length/u)},(I,N)=>R.slice(N*u,(N+1)*u).join(" ")).join("
")),E=O?` -. ${P} .-> `:` -- ${P} --> `}else E=O?" -.-> ":" --> ";l+=` ${jHe(_)}${E}${jHe(w)};
-`}h&&!y&&(l+=` end
-`)}p(c[""]??[],"");for(let m in c)!m.includes(":")&&m!==""&&p(c[m],m);return a&&(l+=Hbn(i??{})),l}async function OIt(t,e){let r=e?.backgroundColor??"white",n=e?.imageType??"png",o=bMt(t);r!==void 0&&(/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(r)||(r=`!${r}`));let i=`https://mermaid.ink/img/${o}?bgColor=${r}&type=${n}`,a=await fetch(i);if(!a.ok)throw new Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${a.status}`,`Status text: ${a.statusText}`].join(`
-`));return await a.blob()}var Vbn,EIt=v(()=>{Phe();Vbn=["*","_","`"]});var MIt,PIt,RIt,vge=v(()=>{MIt=Symbol("Let zodToJsonSchema decide on which parser to use"),PIt={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},RIt=t=>typeof t=="string"?{...PIt,name:t}:{...PIt,...t}});var IIt,$He=v(()=>{vge();IIt=t=>{let e=RIt(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}}});var wge,Sge=v(()=>{wge=(t,e)=>{let r=0;for(;r{Sge()});function LHe(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function Hi(t,e,r,n,o){t[e]=r,LHe(t,e,n,o)}var oF=v(()=>{});var Ai,FHe,cr,sO,Qee=v(()=>{(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let i={};for(let a of o)i[a]=a;return i},t.getValidEnumValues=o=>{let i=t.objectKeys(o).filter(s=>typeof o[o[s]]!="number"),a={};for(let s of i)a[s]=o[s];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(i){return o[i]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let i=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&i.push(a);return i},t.find=(o,i)=>{for(let a of o)if(i(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,i=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(o,i)=>typeof i=="bigint"?i.toString():i})(Ai||(Ai={}));(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(FHe||(FHe={}));cr=Ai.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),sO=t=>{switch(typeof t){case"undefined":return cr.undefined;case"string":return cr.string;case"number":return Number.isNaN(t)?cr.nan:cr.number;case"boolean":return cr.boolean;case"function":return cr.function;case"bigint":return cr.bigint;case"symbol":return cr.symbol;case"object":return Array.isArray(t)?cr.array:t===null?cr.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?cr.promise:typeof Map<"u"&&t instanceof Map?cr.map:typeof Set<"u"&&t instanceof Set?cr.set:typeof Date<"u"&&t instanceof Date?cr.date:cr.object;default:return cr.unknown}}});var it,Wbn,I_,Cge=v(()=>{Qee();it=Ai.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Wbn=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),I_=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},o=i=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else{let s=n,u=0;for(;ur.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let i=o.path[0];r[i]=r[i]||[],r[i].push(e(o))}else n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};I_.create=t=>new I_(t)});var Jbn,e1,kHe=v(()=>{Cge();Qee();Jbn=(t,e)=>{let r;switch(t.code){case it.invalid_type:t.received===cr.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case it.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,Ai.jsonStringifyReplacer)}`;break;case it.unrecognized_keys:r=`Unrecognized key(s) in object: ${Ai.joinValues(t.keys,", ")}`;break;case it.invalid_union:r="Invalid input";break;case it.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${Ai.joinValues(t.options)}`;break;case it.invalid_enum_value:r=`Invalid enum value. Expected ${Ai.joinValues(t.options)}, received '${t.received}'`;break;case it.invalid_arguments:r="Invalid function arguments";break;case it.invalid_return_type:r="Invalid function return type";break;case it.invalid_date:r="Invalid date";break;case it.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:Ai.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case it.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case it.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case it.custom:r="Invalid input";break;case it.invalid_intersection_types:r="Intersection results could not be merged";break;case it.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case it.not_finite:r="Number must be finite";break;default:r=e.defaultError,Ai.assertNever(t)}return{message:r}},e1=Jbn});function Kbn(t){AIt=t}function vJ(){return AIt}var AIt,xge=v(()=>{kHe();AIt=e1});function Zt(t,e){let r=vJ(),n=ete({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===e1?void 0:e1].filter(o=>!!o)});t.common.issues.push(n)}var ete,Gbn,Eg,Mn,o4,Ay,Tge,Oge,iF,wJ,qHe=v(()=>{xge();kHe();ete=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,i=[...r,...o.path||[]],a={...o,path:i};if(o.message!==void 0)return{...o,path:i,message:o.message};let s="",u=n.filter(l=>!!l).slice().reverse();for(let l of u)s=l(a,{data:e,defaultError:s}).message;return{...o,path:i,message:s}},Gbn=[];Eg=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return Mn;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let i=await o.key,a=await o.value;n.push({key:i,value:a})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:i,value:a}=o;if(i.status==="aborted"||a.status==="aborted")return Mn;i.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(n[i.value]=a.value)}return{status:e.value,value:n}}},Mn=Object.freeze({status:"aborted"}),o4=t=>({status:"dirty",value:t}),Ay=t=>({status:"valid",value:t}),Tge=t=>t.status==="aborted",Oge=t=>t.status==="dirty",iF=t=>t.status==="valid",wJ=t=>typeof Promise<"u"&&t instanceof Promise});var NIt=v(()=>{});var Dr,DIt=v(()=>{(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Dr||(Dr={}))});function Ko(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,s)=>{let{message:u}=t;return a.code==="invalid_enum_value"?{message:u??s.defaultError}:typeof s.data>"u"?{message:u??n??s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:u??r??s.defaultError}},description:o}}function FIt(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function f_n(t){return new RegExp(`^${FIt(t)}$`)}function kIt(t){let e=`${LIt}T${FIt(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function p_n(t,e){return!!((e==="v4"||!e)&&i_n.test(t)||(e==="v6"||!e)&&s_n.test(t))}function m_n(t,e){if(!t_n.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function h_n(t,e){return!!((e==="v4"||!e)&&a_n.test(t)||(e==="v6"||!e)&&u_n.test(t))}function g_n(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return i%a/10**o}function SJ(t){if(t instanceof A_){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=IS.create(SJ(n))}return new A_({...t._def,shape:()=>e})}else return t instanceof n1?new n1({...t._def,type:SJ(t.element)}):t instanceof IS?IS.create(SJ(t.unwrap())):t instanceof lO?lO.create(SJ(t.unwrap())):t instanceof uO?uO.create(t.items.map(e=>SJ(e))):t}function BHe(t,e){let r=sO(t),n=sO(e);if(t===e)return{valid:!0,data:t};if(r===cr.object&&n===cr.object){let o=Ai.objectKeys(e),i=Ai.objectKeys(t).filter(s=>o.indexOf(s)!==-1),a={...t,...e};for(let s of i){let u=BHe(t[s],e[s]);if(!u.valid)return{valid:!1};a[s]=u.data}return{valid:!0,data:a}}else if(r===cr.array&&n===cr.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let i=0;i{let i=t(n);if(i instanceof Promise)return i.then(a=>{if(!a){let s=$It(e,n),u=s.fatal??r??!0;o.addIssue({code:"custom",...s,fatal:u})}});if(!i){let a=$It(e,n),s=a.fatal??r??!0;o.addIssue({code:"custom",...a,fatal:s})}}):sF.create()}var AS,jIt,mi,Xbn,Zbn,Ybn,Qbn,e_n,t_n,r_n,n_n,o_n,UHe,i_n,a_n,s_n,u_n,l_n,c_n,LIt,d_n,aF,i4,a4,s4,u4,CJ,l4,c4,sF,r1,WC,xJ,n1,A_,d4,t1,Ege,f4,uO,Pge,TJ,OJ,Mge,p4,m4,h4,g4,uF,NS,IS,lO,y4,b4,EJ,y_n,tte,rte,_4,b_n,Ae,__n,BIt,zIt,v_n,w_n,VIt,S_n,C_n,x_n,T_n,O_n,E_n,P_n,M_n,R_n,I_n,A_n,N_n,D_n,j_n,$_n,L_n,F_n,k_n,q_n,U_n,B_n,z_n,V_n,H_n,W_n,J_n,K_n,G_n,X_n,Z_n,Y_n,Q_n,evn,tvn,HIt=v(()=>{Cge();xge();DIt();qHe();Qee();AS=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},jIt=(t,e)=>{if(iF(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new I_(t.common.issues);return this._error=r,this._error}}};mi=class{get description(){return this._def.description}_getType(e){return sO(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:sO(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Eg,ctx:{common:e.parent.common,data:e.data,parsedType:sO(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(wJ(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sO(e)},o=this._parseSync({data:e,path:n.path,parent:n});return jIt(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sO(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return iF(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>iF(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:sO(e)},o=this._parse({data:e,path:n.path,parent:n}),i=await(wJ(o)?o:Promise.resolve(o));return jIt(n,i)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,i)=>{let a=e(o),s=()=>i.addIssue({code:it.custom,...n(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new NS({schema:this,typeName:Ae.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return IS.create(this,this._def)}nullable(){return lO.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return n1.create(this)}promise(){return uF.create(this,this._def)}or(e){return d4.create([this,e],this._def)}and(e){return f4.create(this,e,this._def)}transform(e){return new NS({...Ko(this._def),schema:this,typeName:Ae.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new y4({...Ko(this._def),innerType:this,defaultValue:r,typeName:Ae.ZodDefault})}brand(){return new tte({typeName:Ae.ZodBranded,type:this,...Ko(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new b4({...Ko(this._def),innerType:this,catchValue:r,typeName:Ae.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return rte.create(this,e)}readonly(){return _4.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Xbn=/^c[^\s-]{8,}$/i,Zbn=/^[0-9a-z]+$/,Ybn=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Qbn=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,e_n=/^[a-z0-9_-]{21}$/i,t_n=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,r_n=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,n_n=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,o_n="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",i_n=/^(?:(?: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])$/,a_n=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,s_n=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,u_n=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,l_n=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,c_n=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,LIt="((\\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])))",d_n=new RegExp(`^${LIt}$`);aF=class t extends mi{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==cr.string){let i=this._getOrReturnCtx(e);return Zt(i,{code:it.invalid_type,expected:cr.string,received:i.parsedType}),Mn}let n=new Eg,o;for(let i of this._def.checks)if(i.kind==="min")e.data.lengthi.value&&(o=this._getOrReturnCtx(e,o),Zt(o,{code:it.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let a=e.data.length>i.value,s=e.data.lengthe.test(o),{validation:r,code:it.invalid_string,...Dr.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...Dr.errToObj(e)})}url(e){return this._addCheck({kind:"url",...Dr.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...Dr.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...Dr.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...Dr.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...Dr.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...Dr.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...Dr.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...Dr.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...Dr.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...Dr.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...Dr.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...Dr.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Dr.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...Dr.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...Dr.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...Dr.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...Dr.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...Dr.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...Dr.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...Dr.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...Dr.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...Dr.errToObj(r)})}nonempty(e){return this.min(1,Dr.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew aF({checks:[],typeName:Ae.ZodString,coerce:t?.coerce??!1,...Ko(t)});i4=class t extends mi{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==cr.number){let i=this._getOrReturnCtx(e);return Zt(i,{code:it.invalid_type,expected:cr.number,received:i.parsedType}),Mn}let n,o=new Eg;for(let i of this._def.checks)i.kind==="int"?Ai.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.invalid_type,expected:"integer",received:"float",message:i.message}),o.dirty()):i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),o.dirty()):i.kind==="multipleOf"?g_n(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.not_finite,message:i.message}),o.dirty()):Ai.assertNever(i);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,Dr.toString(r))}gt(e,r){return this.setLimit("min",e,!1,Dr.toString(r))}lte(e,r){return this.setLimit("max",e,!0,Dr.toString(r))}lt(e,r){return this.setLimit("max",e,!1,Dr.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:Dr.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:Dr.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Dr.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Dr.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Dr.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Dr.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:Dr.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:Dr.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Dr.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Dr.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&Ai.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.valuenew i4({checks:[],typeName:Ae.ZodNumber,coerce:t?.coerce||!1,...Ko(t)});a4=class t extends mi{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==cr.bigint)return this._getInvalidInput(e);let n,o=new Eg;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.datai.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),o.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),Zt(n,{code:it.not_multiple_of,multipleOf:i.value,message:i.message}),o.dirty()):Ai.assertNever(i);return{status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return Zt(r,{code:it.invalid_type,expected:cr.bigint,received:r.parsedType}),Mn}gte(e,r){return this.setLimit("min",e,!0,Dr.toString(r))}gt(e,r){return this.setLimit("min",e,!1,Dr.toString(r))}lte(e,r){return this.setLimit("max",e,!0,Dr.toString(r))}lt(e,r){return this.setLimit("max",e,!1,Dr.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:Dr.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Dr.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Dr.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Dr.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Dr.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:Dr.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew a4({checks:[],typeName:Ae.ZodBigInt,coerce:t?.coerce??!1,...Ko(t)});s4=class extends mi{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==cr.boolean){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.boolean,received:n.parsedType}),Mn}return Ay(e.data)}};s4.create=t=>new s4({typeName:Ae.ZodBoolean,coerce:t?.coerce||!1,...Ko(t)});u4=class t extends mi{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==cr.date){let i=this._getOrReturnCtx(e);return Zt(i,{code:it.invalid_type,expected:cr.date,received:i.parsedType}),Mn}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return Zt(i,{code:it.invalid_date}),Mn}let n=new Eg,o;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()i.value&&(o=this._getOrReturnCtx(e,o),Zt(o,{code:it.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):Ai.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:Dr.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:Dr.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew u4({checks:[],coerce:t?.coerce||!1,typeName:Ae.ZodDate,...Ko(t)});CJ=class extends mi{_parse(e){if(this._getType(e)!==cr.symbol){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.symbol,received:n.parsedType}),Mn}return Ay(e.data)}};CJ.create=t=>new CJ({typeName:Ae.ZodSymbol,...Ko(t)});l4=class extends mi{_parse(e){if(this._getType(e)!==cr.undefined){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.undefined,received:n.parsedType}),Mn}return Ay(e.data)}};l4.create=t=>new l4({typeName:Ae.ZodUndefined,...Ko(t)});c4=class extends mi{_parse(e){if(this._getType(e)!==cr.null){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.null,received:n.parsedType}),Mn}return Ay(e.data)}};c4.create=t=>new c4({typeName:Ae.ZodNull,...Ko(t)});sF=class extends mi{constructor(){super(...arguments),this._any=!0}_parse(e){return Ay(e.data)}};sF.create=t=>new sF({typeName:Ae.ZodAny,...Ko(t)});r1=class extends mi{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Ay(e.data)}};r1.create=t=>new r1({typeName:Ae.ZodUnknown,...Ko(t)});WC=class extends mi{_parse(e){let r=this._getOrReturnCtx(e);return Zt(r,{code:it.invalid_type,expected:cr.never,received:r.parsedType}),Mn}};WC.create=t=>new WC({typeName:Ae.ZodNever,...Ko(t)});xJ=class extends mi{_parse(e){if(this._getType(e)!==cr.undefined){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.void,received:n.parsedType}),Mn}return Ay(e.data)}};xJ.create=t=>new xJ({typeName:Ae.ZodVoid,...Ko(t)});n1=class t extends mi{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==cr.array)return Zt(r,{code:it.invalid_type,expected:cr.array,received:r.parsedType}),Mn;if(o.exactLength!==null){let a=r.data.length>o.exactLength.value,s=r.data.lengtho.maxLength.value&&(Zt(r,{code:it.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,s)=>o.type._parseAsync(new AS(r,a,r.path,s)))).then(a=>Eg.mergeArray(n,a));let i=[...r.data].map((a,s)=>o.type._parseSync(new AS(r,a,r.path,s)));return Eg.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:Dr.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:Dr.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:Dr.toString(r)}})}nonempty(e){return this.min(1,e)}};n1.create=(t,e)=>new n1({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Ae.ZodArray,...Ko(e)});A_=class t extends mi{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=Ai.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==cr.object){let l=this._getOrReturnCtx(e);return Zt(l,{code:it.invalid_type,expected:cr.object,received:l.parsedType}),Mn}let{status:n,ctx:o}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof WC&&this._def.unknownKeys==="strip"))for(let l in o.data)a.includes(l)||s.push(l);let u=[];for(let l of a){let c=i[l],d=o.data[l];u.push({key:{status:"valid",value:l},value:c._parse(new AS(o,d,o.path,l)),alwaysSet:l in o.data})}if(this._def.catchall instanceof WC){let l=this._def.unknownKeys;if(l==="passthrough")for(let c of s)u.push({key:{status:"valid",value:c},value:{status:"valid",value:o.data[c]}});else if(l==="strict")s.length>0&&(Zt(o,{code:it.unrecognized_keys,keys:s}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let l=this._def.catchall;for(let c of s){let d=o.data[c];u.push({key:{status:"valid",value:c},value:l._parse(new AS(o,d,o.path,c)),alwaysSet:c in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let l=[];for(let c of u){let d=await c.key,f=await c.value;l.push({key:d,value:f,alwaysSet:c.alwaysSet})}return l}).then(l=>Eg.mergeObjectSync(n,l)):Eg.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(e){return Dr.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:Dr.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ae.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of Ai.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of Ai.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return SJ(this)}partial(e){let r={};for(let n of Ai.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of Ai.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof IS;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return qIt(Ai.objectKeys(this.shape))}};A_.create=(t,e)=>new A_({shape:()=>t,unknownKeys:"strip",catchall:WC.create(),typeName:Ae.ZodObject,...Ko(e)});A_.strictCreate=(t,e)=>new A_({shape:()=>t,unknownKeys:"strict",catchall:WC.create(),typeName:Ae.ZodObject,...Ko(e)});A_.lazycreate=(t,e)=>new A_({shape:t,unknownKeys:"strip",catchall:WC.create(),typeName:Ae.ZodObject,...Ko(e)});d4=class extends mi{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(i){for(let s of i)if(s.result.status==="valid")return s.result;for(let s of i)if(s.result.status==="dirty")return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(s=>new I_(s.ctx.common.issues));return Zt(r,{code:it.invalid_union,unionErrors:a}),Mn}if(r.common.async)return Promise.all(n.map(async i=>{let a={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(o);{let i,a=[];for(let u of n){let l={...r,common:{...r.common,issues:[]},parent:null},c=u._parseSync({data:r.data,path:r.path,parent:l});if(c.status==="valid")return c;c.status==="dirty"&&!i&&(i={result:c,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let s=a.map(u=>new I_(u));return Zt(r,{code:it.invalid_union,unionErrors:s}),Mn}}get options(){return this._def.options}};d4.create=(t,e)=>new d4({options:t,typeName:Ae.ZodUnion,...Ko(e)});t1=t=>t instanceof p4?t1(t.schema):t instanceof NS?t1(t.innerType()):t instanceof m4?[t.value]:t instanceof h4?t.options:t instanceof g4?Ai.objectValues(t.enum):t instanceof y4?t1(t._def.innerType):t instanceof l4?[void 0]:t instanceof c4?[null]:t instanceof IS?[void 0,...t1(t.unwrap())]:t instanceof lO?[null,...t1(t.unwrap())]:t instanceof tte||t instanceof _4?t1(t.unwrap()):t instanceof b4?t1(t._def.innerType):[],Ege=class t extends mi{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==cr.object)return Zt(r,{code:it.invalid_type,expected:cr.object,received:r.parsedType}),Mn;let n=this.discriminator,o=r.data[n],i=this.optionsMap.get(o);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(Zt(r,{code:it.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Mn)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let i of r){let a=t1(i.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of a){if(o.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);o.set(s,i)}}return new t({typeName:Ae.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...Ko(n)})}};f4=class extends mi{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(i,a)=>{if(Tge(i)||Tge(a))return Mn;let s=BHe(i.value,a.value);return s.valid?((Oge(i)||Oge(a))&&r.dirty(),{status:r.value,value:s.data}):(Zt(n,{code:it.invalid_intersection_types}),Mn)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,a])=>o(i,a)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};f4.create=(t,e,r)=>new f4({left:t,right:e,typeName:Ae.ZodIntersection,...Ko(r)});uO=class t extends mi{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==cr.array)return Zt(n,{code:it.invalid_type,expected:cr.array,received:n.parsedType}),Mn;if(n.data.lengththis._def.items.length&&(Zt(n,{code:it.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((a,s)=>{let u=this._def.items[s]||this._def.rest;return u?u._parse(new AS(n,a,n.path,s)):null}).filter(a=>!!a);return n.common.async?Promise.all(i).then(a=>Eg.mergeArray(r,a)):Eg.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};uO.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new uO({items:t,typeName:Ae.ZodTuple,rest:null,...Ko(e)})};Pge=class t extends mi{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==cr.object)return Zt(n,{code:it.invalid_type,expected:cr.object,received:n.parsedType}),Mn;let o=[],i=this._def.keyType,a=this._def.valueType;for(let s in n.data)o.push({key:i._parse(new AS(n,s,n.path,s)),value:a._parse(new AS(n,n.data[s],n.path,s)),alwaysSet:s in n.data});return n.common.async?Eg.mergeObjectAsync(r,o):Eg.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof mi?new t({keyType:e,valueType:r,typeName:Ae.ZodRecord,...Ko(n)}):new t({keyType:aF.create(),valueType:e,typeName:Ae.ZodRecord,...Ko(r)})}},TJ=class extends mi{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==cr.map)return Zt(n,{code:it.invalid_type,expected:cr.map,received:n.parsedType}),Mn;let o=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([s,u],l)=>({key:o._parse(new AS(n,s,n.path,[l,"key"])),value:i._parse(new AS(n,u,n.path,[l,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let u of a){let l=await u.key,c=await u.value;if(l.status==="aborted"||c.status==="aborted")return Mn;(l.status==="dirty"||c.status==="dirty")&&r.dirty(),s.set(l.value,c.value)}return{status:r.value,value:s}})}else{let s=new Map;for(let u of a){let l=u.key,c=u.value;if(l.status==="aborted"||c.status==="aborted")return Mn;(l.status==="dirty"||c.status==="dirty")&&r.dirty(),s.set(l.value,c.value)}return{status:r.value,value:s}}}};TJ.create=(t,e,r)=>new TJ({valueType:e,keyType:t,typeName:Ae.ZodMap,...Ko(r)});OJ=class t extends mi{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==cr.set)return Zt(n,{code:it.invalid_type,expected:cr.set,received:n.parsedType}),Mn;let o=this._def;o.minSize!==null&&n.data.sizeo.maxSize.value&&(Zt(n,{code:it.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let i=this._def.valueType;function a(u){let l=new Set;for(let c of u){if(c.status==="aborted")return Mn;c.status==="dirty"&&r.dirty(),l.add(c.value)}return{status:r.value,value:l}}let s=[...n.data.values()].map((u,l)=>i._parse(new AS(n,u,n.path,l)));return n.common.async?Promise.all(s).then(u=>a(u)):a(s)}min(e,r){return new t({...this._def,minSize:{value:e,message:Dr.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:Dr.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};OJ.create=(t,e)=>new OJ({valueType:t,minSize:null,maxSize:null,typeName:Ae.ZodSet,...Ko(e)});Mge=class t extends mi{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==cr.function)return Zt(r,{code:it.invalid_type,expected:cr.function,received:r.parsedType}),Mn;function n(s,u){return ete({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,vJ(),e1].filter(l=>!!l),issueData:{code:it.invalid_arguments,argumentsError:u}})}function o(s,u){return ete({data:s,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,vJ(),e1].filter(l=>!!l),issueData:{code:it.invalid_return_type,returnTypeError:u}})}let i={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof uF){let s=this;return Ay(async function(...u){let l=new I_([]),c=await s._def.args.parseAsync(u,i).catch(p=>{throw l.addIssue(n(u,p)),l}),d=await Reflect.apply(a,this,c);return await s._def.returns._def.type.parseAsync(d,i).catch(p=>{throw l.addIssue(o(d,p)),l})})}else{let s=this;return Ay(function(...u){let l=s._def.args.safeParse(u,i);if(!l.success)throw new I_([n(u,l.error)]);let c=Reflect.apply(a,this,l.data),d=s._def.returns.safeParse(c,i);if(!d.success)throw new I_([o(c,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:uO.create(e).rest(r1.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||uO.create([]).rest(r1.create()),returns:r||r1.create(),typeName:Ae.ZodFunction,...Ko(n)})}},p4=class extends mi{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};p4.create=(t,e)=>new p4({getter:t,typeName:Ae.ZodLazy,...Ko(e)});m4=class extends mi{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return Zt(r,{received:r.data,code:it.invalid_literal,expected:this._def.value}),Mn}return{status:"valid",value:e.data}}get value(){return this._def.value}};m4.create=(t,e)=>new m4({value:t,typeName:Ae.ZodLiteral,...Ko(e)});h4=class t extends mi{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return Zt(r,{expected:Ai.joinValues(n),received:r.parsedType,code:it.invalid_type}),Mn}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return Zt(r,{received:r.data,code:it.invalid_enum_value,options:n}),Mn}return Ay(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};h4.create=qIt;g4=class extends mi{_parse(e){let r=Ai.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==cr.string&&n.parsedType!==cr.number){let o=Ai.objectValues(r);return Zt(n,{expected:Ai.joinValues(o),received:n.parsedType,code:it.invalid_type}),Mn}if(this._cache||(this._cache=new Set(Ai.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=Ai.objectValues(r);return Zt(n,{received:n.data,code:it.invalid_enum_value,options:o}),Mn}return Ay(e.data)}get enum(){return this._def.values}};g4.create=(t,e)=>new g4({values:t,typeName:Ae.ZodNativeEnum,...Ko(e)});uF=class extends mi{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==cr.promise&&r.common.async===!1)return Zt(r,{code:it.invalid_type,expected:cr.promise,received:r.parsedType}),Mn;let n=r.parsedType===cr.promise?r.data:Promise.resolve(r.data);return Ay(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};uF.create=(t,e)=>new uF({type:t,typeName:Ae.ZodPromise,...Ko(e)});NS=class extends mi{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ae.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,i={addIssue:a=>{Zt(n,a),a.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),o.type==="preprocess"){let a=o.transform(n.data,i);if(n.common.async)return Promise.resolve(a).then(async s=>{if(r.value==="aborted")return Mn;let u=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});return u.status==="aborted"?Mn:u.status==="dirty"?o4(u.value):r.value==="dirty"?o4(u.value):u});{if(r.value==="aborted")return Mn;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});return s.status==="aborted"?Mn:s.status==="dirty"?o4(s.value):r.value==="dirty"?o4(s.value):s}}if(o.type==="refinement"){let a=s=>{let u=o.refinement(s,i);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?Mn:(s.status==="dirty"&&r.dirty(),a(s.value),{status:r.value,value:s.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(s=>s.status==="aborted"?Mn:(s.status==="dirty"&&r.dirty(),a(s.value).then(()=>({status:r.value,value:s.value}))))}if(o.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!iF(a))return Mn;let s=o.transform(a.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>iF(a)?Promise.resolve(o.transform(a.value,i)).then(s=>({status:r.value,value:s})):Mn);Ai.assertNever(o)}};NS.create=(t,e,r)=>new NS({schema:t,typeName:Ae.ZodEffects,effect:e,...Ko(r)});NS.createWithPreprocess=(t,e,r)=>new NS({schema:e,effect:{type:"preprocess",transform:t},typeName:Ae.ZodEffects,...Ko(r)});IS=class extends mi{_parse(e){return this._getType(e)===cr.undefined?Ay(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};IS.create=(t,e)=>new IS({innerType:t,typeName:Ae.ZodOptional,...Ko(e)});lO=class extends mi{_parse(e){return this._getType(e)===cr.null?Ay(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};lO.create=(t,e)=>new lO({innerType:t,typeName:Ae.ZodNullable,...Ko(e)});y4=class extends mi{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===cr.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};y4.create=(t,e)=>new y4({innerType:t,typeName:Ae.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Ko(e)});b4=class extends mi{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return wJ(o)?o.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new I_(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new I_(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};b4.create=(t,e)=>new b4({innerType:t,typeName:Ae.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Ko(e)});EJ=class extends mi{_parse(e){if(this._getType(e)!==cr.nan){let n=this._getOrReturnCtx(e);return Zt(n,{code:it.invalid_type,expected:cr.nan,received:n.parsedType}),Mn}return{status:"valid",value:e.data}}};EJ.create=t=>new EJ({typeName:Ae.ZodNaN,...Ko(t)});y_n=Symbol("zod_brand"),tte=class extends mi{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},rte=class t extends mi{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?Mn:i.status==="dirty"?(r.dirty(),o4(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?Mn:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:Ae.ZodPipeline})}},_4=class extends mi{_parse(e){let r=this._def.innerType._parse(e),n=o=>(iF(o)&&(o.value=Object.freeze(o.value)),o);return wJ(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};_4.create=(t,e)=>new _4({innerType:t,typeName:Ae.ZodReadonly,...Ko(e)});b_n={object:A_.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(Ae||(Ae={}));__n=(t,e={message:`Input not instance of ${t.name}`})=>UIt(r=>r instanceof t,e),BIt=aF.create,zIt=i4.create,v_n=EJ.create,w_n=a4.create,VIt=s4.create,S_n=u4.create,C_n=CJ.create,x_n=l4.create,T_n=c4.create,O_n=sF.create,E_n=r1.create,P_n=WC.create,M_n=xJ.create,R_n=n1.create,I_n=A_.create,A_n=A_.strictCreate,N_n=d4.create,D_n=Ege.create,j_n=f4.create,$_n=uO.create,L_n=Pge.create,F_n=TJ.create,k_n=OJ.create,q_n=Mge.create,U_n=p4.create,B_n=m4.create,z_n=h4.create,V_n=g4.create,H_n=uF.create,W_n=NS.create,J_n=IS.create,K_n=lO.create,G_n=NS.createWithPreprocess,X_n=rte.create,Z_n=()=>BIt().optional(),Y_n=()=>zIt().optional(),Q_n=()=>VIt().optional(),evn={string:t=>aF.create({...t,coerce:!0}),number:t=>i4.create({...t,coerce:!0}),boolean:t=>s4.create({...t,coerce:!0}),bigint:t=>a4.create({...t,coerce:!0}),date:t=>u4.create({...t,coerce:!0})},tvn=Mn});var wt={};En(wt,{BRAND:()=>y_n,DIRTY:()=>o4,EMPTY_PATH:()=>Gbn,INVALID:()=>Mn,NEVER:()=>tvn,OK:()=>Ay,ParseStatus:()=>Eg,Schema:()=>mi,ZodAny:()=>sF,ZodArray:()=>n1,ZodBigInt:()=>a4,ZodBoolean:()=>s4,ZodBranded:()=>tte,ZodCatch:()=>b4,ZodDate:()=>u4,ZodDefault:()=>y4,ZodDiscriminatedUnion:()=>Ege,ZodEffects:()=>NS,ZodEnum:()=>h4,ZodError:()=>I_,ZodFirstPartyTypeKind:()=>Ae,ZodFunction:()=>Mge,ZodIntersection:()=>f4,ZodIssueCode:()=>it,ZodLazy:()=>p4,ZodLiteral:()=>m4,ZodMap:()=>TJ,ZodNaN:()=>EJ,ZodNativeEnum:()=>g4,ZodNever:()=>WC,ZodNull:()=>c4,ZodNullable:()=>lO,ZodNumber:()=>i4,ZodObject:()=>A_,ZodOptional:()=>IS,ZodParsedType:()=>cr,ZodPipeline:()=>rte,ZodPromise:()=>uF,ZodReadonly:()=>_4,ZodRecord:()=>Pge,ZodSchema:()=>mi,ZodSet:()=>OJ,ZodString:()=>aF,ZodSymbol:()=>CJ,ZodTransformer:()=>NS,ZodTuple:()=>uO,ZodType:()=>mi,ZodUndefined:()=>l4,ZodUnion:()=>d4,ZodUnknown:()=>r1,ZodVoid:()=>xJ,addIssueToContext:()=>Zt,any:()=>O_n,array:()=>R_n,bigint:()=>w_n,boolean:()=>VIt,coerce:()=>evn,custom:()=>UIt,date:()=>S_n,datetimeRegex:()=>kIt,defaultErrorMap:()=>e1,discriminatedUnion:()=>D_n,effect:()=>W_n,enum:()=>z_n,function:()=>q_n,getErrorMap:()=>vJ,getParsedType:()=>sO,instanceof:()=>__n,intersection:()=>j_n,isAborted:()=>Tge,isAsync:()=>wJ,isDirty:()=>Oge,isValid:()=>iF,late:()=>b_n,lazy:()=>U_n,literal:()=>B_n,makeIssue:()=>ete,map:()=>F_n,nan:()=>v_n,nativeEnum:()=>V_n,never:()=>P_n,null:()=>T_n,nullable:()=>K_n,number:()=>zIt,object:()=>I_n,objectUtil:()=>FHe,oboolean:()=>Q_n,onumber:()=>Y_n,optional:()=>J_n,ostring:()=>Z_n,pipeline:()=>X_n,preprocess:()=>G_n,promise:()=>H_n,quotelessJson:()=>Wbn,record:()=>L_n,set:()=>k_n,setErrorMap:()=>Kbn,strictObject:()=>A_n,string:()=>BIt,symbol:()=>C_n,transformer:()=>W_n,tuple:()=>$_n,undefined:()=>x_n,union:()=>N_n,unknown:()=>E_n,util:()=>Ai,void:()=>M_n});var nte=v(()=>{xge();qHe();NIt();Qee();HIt();Cge()});var cO=v(()=>{nte();nte()});function WIt(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==Ae.ZodAny&&(r.items=kn(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&Hi(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&Hi(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(Hi(r,"minItems",t.exactLength.value,t.exactLength.message,e),Hi(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}var zHe=v(()=>{oF();Md();cO()});function JIt(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?Hi(r,"minimum",n.value,n.message,e):Hi(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Hi(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Hi(r,"maximum",n.value,n.message,e):Hi(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Hi(r,"maximum",n.value,n.message,e));break;case"multipleOf":Hi(r,"multipleOf",n.value,n.message,e);break}return r}var VHe=v(()=>{oF()});function KIt(){return{type:"boolean"}}var HHe=v(()=>{});function Rge(t,e){return kn(t.type._def,e)}var Ige=v(()=>{Md()});var GIt,WHe=v(()=>{Md();GIt=(t,e)=>kn(t.innerType._def,e)});function JHe(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(o=>JHe(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return rvn(t,e)}}var rvn,KHe=v(()=>{oF();rvn=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":Hi(r,"minimum",n.value,n.message,e);break;case"max":Hi(r,"maximum",n.value,n.message,e);break}return r}});function XIt(t,e){return{...kn(t.innerType._def,e),default:t.defaultValue()}}var GHe=v(()=>{Md()});function ZIt(t,e){return e.effectStrategy==="input"?kn(t.schema._def,e):Ul(e)}var XHe=v(()=>{RS();Md()});function YIt(t){return{type:"string",enum:Array.from(t.values)}}var ZHe=v(()=>{});function QIt(t,e){let r=[kn(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),kn(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(i=>!!i),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(i=>{if(nvn(i))o.push(...i.allOf),i.unevaluatedProperties===void 0&&(n=void 0);else{let a=i;if("additionalProperties"in i&&i.additionalProperties===!1){let{additionalProperties:s,...u}=i;a=u}else n=void 0;o.push(a)}}),o.length?{allOf:o,...n}:void 0}var nvn,YHe=v(()=>{Md();nvn=t=>"type"in t&&t.type==="string"?!1:"allOf"in t});function eAt(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var QHe=v(()=>{});function Age(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":Hi(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":Hi(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":KC(r,"email",n.message,e);break;case"format:idn-email":KC(r,"idn-email",n.message,e);break;case"pattern:zod":kb(r,JC.email,n.message,e);break}break;case"url":KC(r,"uri",n.message,e);break;case"uuid":KC(r,"uuid",n.message,e);break;case"regex":kb(r,n.regex,n.message,e);break;case"cuid":kb(r,JC.cuid,n.message,e);break;case"cuid2":kb(r,JC.cuid2,n.message,e);break;case"startsWith":kb(r,RegExp(`^${t3e(n.value,e)}`),n.message,e);break;case"endsWith":kb(r,RegExp(`${t3e(n.value,e)}$`),n.message,e);break;case"datetime":KC(r,"date-time",n.message,e);break;case"date":KC(r,"date",n.message,e);break;case"time":KC(r,"time",n.message,e);break;case"duration":KC(r,"duration",n.message,e);break;case"length":Hi(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),Hi(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":kb(r,RegExp(t3e(n.value,e)),n.message,e);break;case"ip":n.version!=="v6"&&KC(r,"ipv4",n.message,e),n.version!=="v4"&&KC(r,"ipv6",n.message,e);break;case"base64url":kb(r,JC.base64url,n.message,e);break;case"jwt":kb(r,JC.jwt,n.message,e);break;case"cidr":n.version!=="v6"&&kb(r,JC.ipv4Cidr,n.message,e),n.version!=="v4"&&kb(r,JC.ipv6Cidr,n.message,e);break;case"emoji":kb(r,JC.emoji(),n.message,e);break;case"ulid":kb(r,JC.ulid,n.message,e);break;case"base64":switch(e.base64Strategy){case"format:binary":KC(r,"binary",n.message,e);break;case"contentEncoding:base64":Hi(r,"contentEncoding","base64",n.message,e);break;case"pattern:zod":kb(r,JC.base64,n.message,e);break}break;case"nanoid":kb(r,JC.nanoid,n.message,e);break;case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function t3e(t,e){return e.patternStrategy==="escape"?ivn(t):t}function ivn(t){let e="";for(let r=0;ro.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):Hi(t,"format",e,r,n)}function kb(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:tAt(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):Hi(t,"pattern",tAt(e,n),r,n)}function tAt(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source,o="",i=!1,a=!1,s=!1;for(let u=0;u{oF();JC={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(e3e===void 0&&(e3e=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),e3e),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,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])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};ovn=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789")});function Dge(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===Ae.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:kn(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??Ul(e)}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:kn(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===Ae.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=Age(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===Ae.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===Ae.ZodBranded&&t.keyType._def.type._def.typeName===Ae.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=Rge(t.keyType._def,e);return{...r,propertyNames:o}}}return r}var jge=v(()=>{RS();Ige();Nge();Md();cO()});function rAt(t,e){if(e.mapStrategy==="record")return Dge(t,e);let r=kn(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||Ul(e),n=kn(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||Ul(e);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}var r3e=v(()=>{RS();jge();Md()});function nAt(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=Array.from(new Set(n.map(i=>typeof i)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}var n3e=v(()=>{});function oAt(t){return t.target==="openAi"?void 0:{not:Ul({...t,currentPath:[...t.currentPath,"not"]})}}var o3e=v(()=>{RS()});function iAt(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var i3e=v(()=>{});function sAt(t,e){if(e.target==="openApi3")return aAt(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in ote&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,i)=>{let a=ote[i._def.typeName];return a&&!o.includes(a)?[...o,a]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,i)=>{let a=typeof i._def.value;switch(a){case"string":case"number":case"boolean":return[...o,a];case"bigint":return[...o,"integer"];case"object":return i._def.value===null?[...o,"null"]:o;case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((i,a,s)=>s.indexOf(i)===a);return{type:o.length>1?o:o[0],enum:r.reduce((i,a)=>i.includes(a._def.value)?i:[...i,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(i=>!n.includes(i))],[])};return aAt(t,e)}var ote,aAt,$ge=v(()=>{Md();ote={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};aAt=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>kn(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0}});function uAt(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:ote[t.innerType._def.typeName],nullable:!0}:{type:[ote[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=kn(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=kn(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}var a3e=v(()=>{$ge();Md()});function lAt(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",LHe(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?Hi(r,"minimum",n.value,n.message,e):Hi(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Hi(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?Hi(r,"maximum",n.value,n.message,e):Hi(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Hi(r,"maximum",n.value,n.message,e));break;case"multipleOf":Hi(r,"multipleOf",n.value,n.message,e);break}return r}var s3e=v(()=>{oF()});function cAt(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],i=t.shape();for(let s in i){let u=i[s];if(u===void 0||u._def===void 0)continue;let l=svn(u);l&&r&&(u._def.typeName==="ZodOptional"&&(u=u._def.innerType),u.isNullable()||(u=u.nullable()),l=!1);let c=kn(u._def,{...e,currentPath:[...e.currentPath,"properties",s],propertyPath:[...e.currentPath,"properties",s]});c!==void 0&&(n.properties[s]=c,l||o.push(s))}o.length&&(n.required=o);let a=avn(t,e);return a!==void 0&&(n.additionalProperties=a),n}function avn(t,e){if(t.catchall._def.typeName!=="ZodNever")return kn(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function svn(t){try{return t.isOptional()}catch{return!0}}var u3e=v(()=>{Md()});var dAt,l3e=v(()=>{RS();Md();dAt=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return kn(t.innerType._def,e);let r=kn(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Ul(e)},r]}:Ul(e)}});var fAt,c3e=v(()=>{Md();fAt=(t,e)=>{if(e.pipeStrategy==="input")return kn(t.in._def,e);if(e.pipeStrategy==="output")return kn(t.out._def,e);let r=kn(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=kn(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}}});function pAt(t,e){return kn(t.type._def,e)}var d3e=v(()=>{Md()});function mAt(t,e){let n={type:"array",uniqueItems:!0,items:kn(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Hi(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Hi(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}var f3e=v(()=>{oF();Md()});function hAt(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>kn(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:kn(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>kn(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}var p3e=v(()=>{Md()});function gAt(t){return{not:Ul(t)}}var m3e=v(()=>{RS()});function yAt(t){return Ul(t)}var h3e=v(()=>{RS()});var bAt,g3e=v(()=>{Md();bAt=(t,e)=>kn(t.innerType._def,e)});var _At,y3e=v(()=>{RS();zHe();VHe();HHe();Ige();WHe();KHe();GHe();XHe();ZHe();YHe();QHe();Nge();jge();r3e();n3e();o3e();i3e();$ge();a3e();s3e();u3e();l3e();c3e();d3e();f3e();p3e();m3e();h3e();g3e();cO();_At=(t,e,r)=>{switch(e){case Ae.ZodString:return Age(t,r);case Ae.ZodNumber:return lAt(t,r);case Ae.ZodObject:return cAt(t,r);case Ae.ZodBigInt:return JIt(t,r);case Ae.ZodBoolean:return KIt();case Ae.ZodDate:return JHe(t,r);case Ae.ZodUndefined:return gAt(r);case Ae.ZodNull:return iAt(r);case Ae.ZodArray:return WIt(t,r);case Ae.ZodUnion:case Ae.ZodDiscriminatedUnion:return sAt(t,r);case Ae.ZodIntersection:return QIt(t,r);case Ae.ZodTuple:return hAt(t,r);case Ae.ZodRecord:return Dge(t,r);case Ae.ZodLiteral:return eAt(t,r);case Ae.ZodEnum:return YIt(t);case Ae.ZodNativeEnum:return nAt(t);case Ae.ZodNullable:return uAt(t,r);case Ae.ZodOptional:return dAt(t,r);case Ae.ZodMap:return rAt(t,r);case Ae.ZodSet:return mAt(t,r);case Ae.ZodLazy:return()=>t.getter()._def;case Ae.ZodPromise:return pAt(t,r);case Ae.ZodNaN:case Ae.ZodNever:return oAt(r);case Ae.ZodEffects:return ZIt(t,r);case Ae.ZodAny:return Ul(r);case Ae.ZodUnknown:return yAt(r);case Ae.ZodDefault:return XIt(t,r);case Ae.ZodBranded:return Rge(t,r);case Ae.ZodReadonly:return bAt(t,r);case Ae.ZodCatch:return GIt(t,r);case Ae.ZodPipeline:return fAt(t,r);case Ae.ZodFunction:case Ae.ZodVoid:case Ae.ZodSymbol:return;default:return(n=>{})(e)}}});function kn(t,e,r=!1){let n=e.seen.get(t);if(e.override){let s=e.override?.(t,e,n,r);if(s!==MIt)return s}if(n&&!r){let s=uvn(n,e);if(s!==void 0)return s}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let i=_At(t,t.typeName,e),a=typeof i=="function"?kn(i(),e):i;if(a&&lvn(t,e,a),e.postProcess){let s=e.postProcess(a,t,e);return o.jsonSchema=a,s}return o.jsonSchema=a,a}var uvn,lvn,Md=v(()=>{vge();Sge();RS();y3e();uvn=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:wge(e.currentPath,t.path)};case"none":case"seen":return t.path.lengthe.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),Ul(e)):e.$refStrategy==="seen"?Ul(e):void 0}},lvn=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r)});var vAt,b3e=v(()=>{$He();RS();Md();vAt=(t,e)=>{let r=IIt(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((u,[l,c])=>({...u,[l]:kn(c._def,{...r,currentPath:[...r.basePath,r.definitionPath,l]},!0)??Ul(r)}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,i=kn(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??Ul(r),a=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;a!==void 0&&(i.title=a),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let s=o===void 0?n?{...i,[r.definitionPath]:n}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:i}};return r.target==="jsonSchema7"?s.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(s.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in s||"oneOf"in s||"allOf"in s||"type"in s&&Array.isArray(s.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),s}});var wAt=v(()=>{vge();$He();oF();Sge();RS();zHe();VHe();HHe();Ige();WHe();KHe();GHe();XHe();ZHe();YHe();QHe();Nge();jge();r3e();n3e();o3e();i3e();$ge();a3e();s3e();u3e();l3e();c3e();d3e();f3e();p3e();m3e();h3e();g3e();y3e();Md();b3e()});function dO(t,e){let r=typeof t;if(r!==typeof e)return!1;if(Array.isArray(t)){if(!Array.isArray(e))return!1;let n=t.length;if(n!==e.length)return!1;for(let o=0;o{});function iw(t){return encodeURI(cvn(t))}function cvn(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}var Lge=v(()=>{});function GC(t,e=Object.create(null),r=mvn,n=""){if(t&&typeof t=="object"&&!Array.isArray(t)){let i=t.$id||t.id;if(i){let a=new URL(i,r.href);a.hash.length>1?e[a.href]=t:(a.hash="",n===""?r=a:GC(t,e,r))}}else if(t!==!0&&t!==!1)return e;let o=r.href+(n?"#"+n:"");if(e[o]!==void 0)throw new Error(`Duplicate schema URI "${o}".`);if(e[o]=t,t===!0||t===!1)return e;if(t.__absolute_uri__===void 0&&Object.defineProperty(t,"__absolute_uri__",{enumerable:!1,value:o}),t.$ref&&t.__absolute_ref__===void 0){let i=new URL(t.$ref,r.href);i.hash=i.hash,Object.defineProperty(t,"__absolute_ref__",{enumerable:!1,value:i.href})}if(t.$recursiveRef&&t.__absolute_recursive_ref__===void 0){let i=new URL(t.$recursiveRef,r.href);i.hash=i.hash,Object.defineProperty(t,"__absolute_recursive_ref__",{enumerable:!1,value:i.href})}if(t.$anchor){let i=new URL("#"+t.$anchor,r.href);e[i.href]=t}for(let i in t){if(pvn[i])continue;let a=`${n}/${iw(i)}`,s=t[i];if(Array.isArray(s)){if(dvn[i]){let u=s.length;for(let l=0;l{Lge();dvn={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},fvn={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},pvn={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},mvn=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker")});function N_(t){return t.test.bind(t)}function jvn(t){return t%4===0&&(t%100!==0||t%400===0)}function SAt(t){let e=t.match(hvn);if(!e)return!1;let r=+e[1],n=+e[2],o=+e[3];return n>=1&&n<=12&&o>=1&&o<=(n==2&&jvn(r)?29:gvn[n])}function CAt(t,e){let r=e.match(yvn);if(!r)return!1;let n=+r[1],o=+r[2],i=+r[3],a=!!r[5];return(n<=23&&o<=59&&i<=59||n==23&&o==59&&i==60)&&(!t||a)}function Lvn(t){let e=t.split($vn);return e.length==2&&SAt(e[0])&&CAt(!0,e[1])}function qvn(t){return Fvn.test(t)&&kvn.test(t)}function Bvn(t){if(Uvn.test(t))return!1;try{return new RegExp(t,"u"),!0}catch{return!1}}var hvn,gvn,yvn,bvn,_vn,vvn,wvn,Svn,Cvn,xvn,Tvn,Ovn,Evn,Pvn,Mvn,Rvn,Ivn,Avn,Nvn,Dvn,v3e,$vn,Fvn,kvn,Uvn,w3e=v(()=>{hvn=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,gvn=[0,31,28,31,30,31,30,31,31,30,31,30,31],yvn=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,bvn=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,_vn=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,vvn=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,wvn=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,Svn=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Cvn=/^(?:\/(?:[^~/]|~0|~1)*)*$/,xvn=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Tvn=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,Ovn=/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Evn=/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Pvn=/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Mvn=/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,Rvn=t=>{if(t[0]==='"')return!1;let[e,r,...n]=t.split("@");return!e||!r||n.length!==0||e.length>64||r.length>253||e[0]==="."||e.endsWith(".")||e.includes("..")||!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(e)?!1:r.split(".").every(o=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(o))},Ivn=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,Avn=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,Nvn=t=>t.length>1&&t.length<80&&(/^P\d+([.,]\d+)?W$/.test(t)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(t)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(t));Dvn={date:SAt,time:CAt.bind(void 0,!1),"date-time":Lvn,duration:Nvn,uri:qvn,"uri-reference":N_(_vn),"uri-template":N_(vvn),url:N_(wvn),email:Rvn,hostname:N_(bvn),ipv4:N_(Ivn),ipv6:N_(Avn),regex:Bvn,uuid:N_(Svn),"json-pointer":N_(Cvn),"json-pointer-uri-fragment":N_(xvn),"relative-json-pointer":N_(Tvn)},v3e={...Dvn,date:N_(Ovn),time:N_(Evn),"date-time":N_(Pvn),"uri-reference":N_(Mvn)};$vn=/t|\s/i;Fvn=/\/|:/,kvn=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;Uvn=/[^\\]\\Z/});var xAt,TAt=v(()=>{(function(t){t[t.Flag=1]="Flag",t[t.Basic=2]="Basic",t[t.Detailed=4]="Detailed"})(xAt||(xAt={}))});function OAt(t){let e=0,r=t.length,n=0,o;for(;n=55296&&o<=56319&&n{});function Ku(t,e,r="2019-09",n=GC(e),o=!0,i=null,a="#",s="#",u=Object.create(null)){if(e===!0)return{valid:!0,errors:[]};if(e===!1)return{valid:!1,errors:[{instanceLocation:a,keyword:"false",keywordLocation:a,error:"False boolean schema."}]};let l=typeof t,c;switch(l){case"boolean":case"number":case"string":c=l;break;case"object":t===null?c="null":Array.isArray(t)?c="array":c="object";break;default:throw new Error(`Instances of "${l}" type are not supported.`)}let{$ref:d,$recursiveRef:f,$recursiveAnchor:p,type:m,const:h,enum:y,required:g,not:b,anyOf:_,allOf:w,oneOf:T,if:O,then:E,else:P,format:R,properties:I,patternProperties:N,additionalProperties:z,unevaluatedProperties:V,minProperties:k,maxProperties:X,propertyNames:B,dependentRequired:Q,dependentSchemas:Y,dependencies:K,prefixItems:oe,items:ue,additionalItems:de,unevaluatedItems:L,contains:W,minContains:ie,maxContains:j,minItems:A,maxItems:U,uniqueItems:H,minimum:re,maximum:Z,exclusiveMinimum:le,exclusiveMaximum:Ce,multipleOf:He,minLength:lt,maxLength:qe,pattern:Nt,__absolute_ref__:mt,__absolute_recursive_ref__:Ot}=e,je=[];if(p===!0&&i===null&&(i=e),f==="#"){let ct=i===null?n[Ot]:i,ze=`${s}/$recursiveRef`,ht=Ku(t,i===null?e:i,r,n,o,ct,a,ze,u);ht.valid||je.push({instanceLocation:a,keyword:"$recursiveRef",keywordLocation:ze,error:"A subschema had errors."},...ht.errors)}if(d!==void 0){let ze=n[mt||d];if(ze===void 0){let Ue=`Unresolved $ref "${d}".`;throw mt&&mt!==d&&(Ue+=` Absolute URI "${mt}".`),Ue+=`
-Known schemas:
-- ${Object.keys(n).join(`
-- `)}`,new Error(Ue)}let ht=`${s}/$ref`,$e=Ku(t,ze,r,n,o,i,a,ht,u);if($e.valid||je.push({instanceLocation:a,keyword:"$ref",keywordLocation:ht,error:"A subschema had errors."},...$e.errors),r==="4"||r==="7")return{valid:je.length===0,errors:je}}if(Array.isArray(m)){let ct=m.length,ze=!1;for(let ht=0;htdO(t,ct))||je.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(y)}.`}):y.some(ct=>t===ct)||je.push({instanceLocation:a,keyword:"enum",keywordLocation:`${s}/enum`,error:`Instance does not match any of ${JSON.stringify(y)}.`})),b!==void 0){let ct=`${s}/not`;Ku(t,b,r,n,o,i,a,ct).valid&&je.push({instanceLocation:a,keyword:"not",keywordLocation:ct,error:'Instance matched "not" schema.'})}let Gr=[];if(_!==void 0){let ct=`${s}/anyOf`,ze=je.length,ht=!1;for(let $e=0;$e<_.length;$e++){let Ue=_[$e],Ve=Object.create(u),Kt=Ku(t,Ue,r,n,o,p===!0?i:null,a,`${ct}/${$e}`,Ve);je.push(...Kt.errors),ht=ht||Kt.valid,Kt.valid&&Gr.push(Ve)}ht?je.length=ze:je.splice(ze,0,{instanceLocation:a,keyword:"anyOf",keywordLocation:ct,error:"Instance does not match any subschemas."})}if(w!==void 0){let ct=`${s}/allOf`,ze=je.length,ht=!0;for(let $e=0;$e{let Ve=Object.create(u),Kt=Ku(t,$e,r,n,o,p===!0?i:null,a,`${ct}/${Ue}`,Ve);return je.push(...Kt.errors),Kt.valid&&Gr.push(Ve),Kt.valid}).length;ht===1?je.length=ze:je.splice(ze,0,{instanceLocation:a,keyword:"oneOf",keywordLocation:ct,error:`Instance does not match exactly one subschema (${ht} matches).`})}if((c==="object"||c==="array")&&Object.assign(u,...Gr),O!==void 0){let ct=`${s}/if`;if(Ku(t,O,r,n,o,i,a,ct,u).valid){if(E!==void 0){let ht=Ku(t,E,r,n,o,i,a,`${s}/then`,u);ht.valid||je.push({instanceLocation:a,keyword:"if",keywordLocation:ct,error:'Instance does not match "then" schema.'},...ht.errors)}}else if(P!==void 0){let ht=Ku(t,P,r,n,o,i,a,`${s}/else`,u);ht.valid||je.push({instanceLocation:a,keyword:"if",keywordLocation:ct,error:'Instance does not match "else" schema.'},...ht.errors)}}if(c==="object"){if(g!==void 0)for(let $e of g)$e in t||je.push({instanceLocation:a,keyword:"required",keywordLocation:`${s}/required`,error:`Instance does not have required property "${$e}".`});let ct=Object.keys(t);if(k!==void 0&&ct.lengthX&&je.push({instanceLocation:a,keyword:"maxProperties",keywordLocation:`${s}/maxProperties`,error:`Instance does not have at least ${X} properties.`}),B!==void 0){let $e=`${s}/propertyNames`;for(let Ue in t){let Ve=`${a}/${iw(Ue)}`,Kt=Ku(Ue,B,r,n,o,i,Ve,$e);Kt.valid||je.push({instanceLocation:a,keyword:"propertyNames",keywordLocation:$e,error:`Property name "${Ue}" does not match schema.`},...Kt.errors)}}if(Q!==void 0){let $e=`${s}/dependantRequired`;for(let Ue in Q)if(Ue in t){let Ve=Q[Ue];for(let Kt of Ve)Kt in t||je.push({instanceLocation:a,keyword:"dependentRequired",keywordLocation:$e,error:`Instance has "${Ue}" but does not have "${Kt}".`})}}if(Y!==void 0)for(let $e in Y){let Ue=`${s}/dependentSchemas`;if($e in t){let Ve=Ku(t,Y[$e],r,n,o,i,a,`${Ue}/${iw($e)}`,u);Ve.valid||je.push({instanceLocation:a,keyword:"dependentSchemas",keywordLocation:Ue,error:`Instance has "${$e}" but does not match dependant schema.`},...Ve.errors)}}if(K!==void 0){let $e=`${s}/dependencies`;for(let Ue in K)if(Ue in t){let Ve=K[Ue];if(Array.isArray(Ve))for(let Kt of Ve)Kt in t||je.push({instanceLocation:a,keyword:"dependencies",keywordLocation:$e,error:`Instance has "${Ue}" but does not have "${Kt}".`});else{let Kt=Ku(t,Ve,r,n,o,i,a,`${$e}/${iw(Ue)}`);Kt.valid||je.push({instanceLocation:a,keyword:"dependencies",keywordLocation:$e,error:`Instance has "${Ue}" but does not match dependant schema.`},...Kt.errors)}}}let ze=Object.create(null),ht=!1;if(I!==void 0){let $e=`${s}/properties`;for(let Ue in I){if(!(Ue in t))continue;let Ve=`${a}/${iw(Ue)}`,Kt=Ku(t[Ue],I[Ue],r,n,o,i,Ve,`${$e}/${iw(Ue)}`);if(Kt.valid)u[Ue]=ze[Ue]=!0;else if(ht=o,je.push({instanceLocation:a,keyword:"properties",keywordLocation:$e,error:`Property "${Ue}" does not match schema.`},...Kt.errors),ht)break}}if(!ht&&N!==void 0){let $e=`${s}/patternProperties`;for(let Ue in N){let Ve=new RegExp(Ue,"u"),Kt=N[Ue];for(let so in t){if(!Ve.test(so))continue;let iu=`${a}/${iw(so)}`,An=Ku(t[so],Kt,r,n,o,i,iu,`${$e}/${iw(Ue)}`);An.valid?u[so]=ze[so]=!0:(ht=o,je.push({instanceLocation:a,keyword:"patternProperties",keywordLocation:$e,error:`Property "${so}" matches pattern "${Ue}" but does not match associated schema.`},...An.errors))}}}if(!ht&&z!==void 0){let $e=`${s}/additionalProperties`;for(let Ue in t){if(ze[Ue])continue;let Ve=`${a}/${iw(Ue)}`,Kt=Ku(t[Ue],z,r,n,o,i,Ve,$e);Kt.valid?u[Ue]=!0:(ht=o,je.push({instanceLocation:a,keyword:"additionalProperties",keywordLocation:$e,error:`Property "${Ue}" does not match additional properties schema.`},...Kt.errors))}}else if(!ht&&V!==void 0){let $e=`${s}/unevaluatedProperties`;for(let Ue in t)if(!u[Ue]){let Ve=`${a}/${iw(Ue)}`,Kt=Ku(t[Ue],V,r,n,o,i,Ve,$e);Kt.valid?u[Ue]=!0:je.push({instanceLocation:a,keyword:"unevaluatedProperties",keywordLocation:$e,error:`Property "${Ue}" does not match unevaluated properties schema.`},...Kt.errors)}}}else if(c==="array"){U!==void 0&&t.length>U&&je.push({instanceLocation:a,keyword:"maxItems",keywordLocation:`${s}/maxItems`,error:`Array has too many items (${t.length} > ${U}).`}),A!==void 0&&t.length=(ie||0)&&(je.length=Ue),ie===void 0&&j===void 0&&Ve===0?je.splice(Ue,0,{instanceLocation:a,keyword:"contains",keywordLocation:$e,error:"Array does not contain item matching schema."}):ie!==void 0&&Vej&&je.push({instanceLocation:a,keyword:"maxContains",keywordLocation:`${s}/maxContains`,error:`Array may contain at most ${j} items matching schema. ${Ve} items were found.`})}if(!ht&&L!==void 0){let $e=`${s}/unevaluatedItems`;for(ze;ze=Z||t>Z)&&je.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${t} is greater than ${Ce?"or equal to ":""} ${Z}.`})):(re!==void 0&&tZ&&je.push({instanceLocation:a,keyword:"maximum",keywordLocation:`${s}/maximum`,error:`${t} is greater than ${Z}.`}),le!==void 0&&t<=le&&je.push({instanceLocation:a,keyword:"exclusiveMinimum",keywordLocation:`${s}/exclusiveMinimum`,error:`${t} is less than ${le}.`}),Ce!==void 0&&t>=Ce&&je.push({instanceLocation:a,keyword:"exclusiveMaximum",keywordLocation:`${s}/exclusiveMaximum`,error:`${t} is greater than or equal to ${Ce}.`})),He!==void 0){let ct=t%He;Math.abs(0-ct)>=11920929e-14&&Math.abs(He-ct)>=11920929e-14&&je.push({instanceLocation:a,keyword:"multipleOf",keywordLocation:`${s}/multipleOf`,error:`${t} is not a multiple of ${He}.`})}}else if(c==="string"){let ct=lt===void 0&&qe===void 0?0:OAt(t);lt!==void 0&&ctqe&&je.push({instanceLocation:a,keyword:"maxLength",keywordLocation:`${s}/maxLength`,error:`String is too long (${ct} > ${qe}).`}),Nt!==void 0&&!new RegExp(Nt,"u").test(t)&&je.push({instanceLocation:a,keyword:"pattern",keywordLocation:`${s}/pattern`,error:"String does not match pattern."}),R!==void 0&&v3e[R]&&!v3e[R](t)&&je.push({instanceLocation:a,keyword:"format",keywordLocation:`${s}/format`,error:`String does not match format "${R}".`})}return{valid:je.length===0,errors:je}}var C3e=v(()=>{_3e();Fge();w3e();Lge();S3e()});var kge,EAt=v(()=>{Fge();C3e();kge=class{constructor(e,r="2019-09",n=!0){x(this,"schema");x(this,"draft");x(this,"shortCircuit");x(this,"lookup");this.schema=e,this.draft=r,this.shortCircuit=n,this.lookup=GC(e)}validate(e){return Ku(e,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(e,r){r&&(e={...e,$id:r}),GC(e,this.lookup)}}});var qge=v(()=>{_3e();Fge();w3e();Lge();TAt();S3e();C3e();EAt()});function Ci(t,e){if(Iu(t)){let r=bge(t,!0);if(MS(r)){let n=bJ(r,!0);return eF(n,e)}else return eF(t,e)}return yc(t)?vAt(t):t}function PJ(t){if(!t||typeof t!="object"||Object.keys(t).length===0||Array.isArray(t))return!1;if("type"in t)return typeof t.type=="string"?t.type==="string":Array.isArray(t.type)?t.type.every(e=>e==="string"):!1;if("enum"in t)return Array.isArray(t.enum)&&t.enum.length>0&&t.enum.every(e=>typeof e=="string");if("const"in t)return typeof t.const=="string";if("allOf"in t&&Array.isArray(t.allOf))return t.allOf.some(e=>PJ(e));if("anyOf"in t&&Array.isArray(t.anyOf)||"oneOf"in t&&Array.isArray(t.oneOf)){let e="anyOf"in t?t.anyOf:t.oneOf;return e.length>0&&e.every(r=>PJ(r))}if("not"in t)return!1;if("$ref"in t&&typeof t.$ref=="string"){let e=t.$ref,r=GC(t);return r[e]?PJ(r[e]):!1}return!1}var zvn,Ny=v(()=>{Jo();QN();b3e();wAt();Iy();qge();zvn={};$t(zvn,{Validator:()=>kge,deepCompareStrict:()=>dO,toJsonSchema:()=>Ci,validatesOnlyStrings:()=>PJ})});function Hvn(t,e){if(t!==void 0&&!Z6(t))return t;if(gee(e))try{let r=e.getName();return r=r.startsWith("Runnable")?r.slice(8):r,r}catch{return e.getName()}else return e.name??"UnknownSchema"}function Wvn(t){return gee(t.data)?{type:"runnable",data:{id:t.data.lc_id,name:t.data.getName()}}:{type:"schema",data:{...Ci(t.data.schema),title:t.data.name}}}function PAt(t,e=[]){let r=new Set(t.edges.filter(o=>!e.includes(o.source)).map(o=>o.target)),n=[];for(let o of Object.values(t.nodes))!e.includes(o.id)&&!r.has(o.id)&&n.push(o);return n.length===1?n[0]:void 0}function MAt(t,e=[]){let r=new Set(t.edges.filter(o=>!e.includes(o.target)).map(o=>o.source)),n=[];for(let o of Object.values(t.nodes))!e.includes(o.id)&&!r.has(o.id)&&n.push(o);return n.length===1?n[0]:void 0}var Vvn,Uge,IAt=v(()=>{Jo();Phe();EIt();Ny();JQ();Vvn={};$t(Vvn,{Graph:()=>Uge});Uge=class RAt{constructor(e){x(this,"nodes",{});x(this,"edges",[]);this.nodes=e?.nodes??this.nodes,this.edges=e?.edges??this.edges}toJSON(){let e={};return Object.values(this.nodes).forEach((r,n)=>{e[r.id]=Z6(r.id)?n:r.id}),{nodes:Object.values(this.nodes).map(r=>({id:e[r.id],...Wvn(r)})),edges:this.edges.map(r=>{let n={source:e[r.source],target:e[r.target]};return typeof r.data<"u"&&(n.data=r.data),typeof r.conditional<"u"&&(n.conditional=r.conditional),n})}}addNode(e,r,n){if(r!==void 0&&this.nodes[r]!==void 0)throw new Error(`Node with id ${r} already exists`);let o=r??WQ(),i={id:o,data:e,name:Hvn(r,e),metadata:n};return this.nodes[o]=i,i}removeNode(e){delete this.nodes[e.id],this.edges=this.edges.filter(r=>r.source!==e.id&&r.target!==e.id)}addEdge(e,r,n,o){if(this.nodes[e.id]===void 0)throw new Error(`Source node ${e.id} not in graph`);if(this.nodes[r.id]===void 0)throw new Error(`Target node ${r.id} not in graph`);let i={source:e.id,target:r.id,data:n,conditional:o};return this.edges.push(i),i}firstNode(){return PAt(this)}lastNode(){return MAt(this)}extend(e,r=""){let n=r;Object.values(e.nodes).map(l=>l.id).every(Z6)&&(n="");let i=l=>n?`${n}:${l}`:l;Object.entries(e.nodes).forEach(([l,c])=>{this.nodes[i(l)]={...c,id:i(l)}});let a=e.edges.map(l=>({...l,source:i(l.source),target:i(l.target)}));this.edges=[...this.edges,...a];let s=e.firstNode(),u=e.lastNode();return[s?{id:i(s.id),data:s.data}:void 0,u?{id:i(u.id),data:u.data}:void 0]}trimFirstNode(){let e=this.firstNode();e&&PAt(this,[e.id])&&this.removeNode(e)}trimLastNode(){let e=this.lastNode();e&&MAt(this,[e.id])&&this.removeNode(e)}reid(){let e=Object.fromEntries(Object.values(this.nodes).map(o=>[o.id,o.name])),r=new Map;Object.values(e).forEach(o=>{r.set(o,(r.get(o)||0)+1)});let n=o=>{let i=e[o];return Z6(o)&&r.get(i)===1?i:o};return new RAt({nodes:Object.fromEntries(Object.entries(this.nodes).map(([o,i])=>[n(o),{...i,id:n(o)}])),edges:this.edges.map(o=>({...o,source:n(o.source),target:n(o.target)}))})}drawMermaid(e){let{withStyles:r,curveStyle:n,nodeColors:o={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:i}=e??{},a=this.reid(),s=a.firstNode(),u=a.lastNode();return TIt(a.nodes,a.edges,{firstNode:s?.id,lastNode:u?.id,withStyles:r,curveStyle:n,nodeColors:o,wrapLabelNWords:i})}async drawMermaidPng(e){let r=this.drawMermaid(e);return OIt(r,{backgroundColor:e?.backgroundColor})}}});function AAt(t){let e=new TextEncoder,r=new ReadableStream({async start(n){for await(let o of t)n.enqueue(e.encode(`event: data
-data: ${JSON.stringify(o)}
-
-`));n.enqueue(e.encode(`event: end
-
-`)),n.close()}});return $b.fromReadableStream(r)}var NAt=v(()=>{nO()});function x3e(t){return typeof t=="object"&&t!==null&&typeof t[Symbol.iterator]=="function"&&typeof t.next=="function"}function Bge(t){return typeof t=="object"&&t!==null&&typeof t[Symbol.asyncIterator]=="function"}function*T3e(t,e){for(;;){let{value:r,done:n}=Rh.runWithConfig(jb(t),e.next.bind(e),!0);if(n)break;yield r}}async function*zge(t,e){let r=e[Symbol.asyncIterator]();for(;;){let{value:n,done:o}=await Rh.runWithConfig(jb(t),r.next.bind(e),!0);if(o)break;yield n}}var DAt,jAt=v(()=>{zz();Vz();rO();DAt=t=>t!=null&&typeof t=="object"&&"next"in t&&typeof t.next=="function"});function Rd(t,e){return t&&!Array.isArray(t)&&!(t instanceof Date)&&typeof t=="object"?t:{[e]:t}}function Kvn(t){if(she(t))throw new Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}function aw(t){if(typeof t=="function")return new D_({func:t});if(Go.isRunnable(t))return t;if(!Array.isArray(t)&&typeof t=="object"){let e={};for(let[r,n]of Object.entries(t))e[r]=aw(n);return new lF({steps:e})}else throw new Error(`Expected a Runnable, function or object.
-Instead got an unsupported type.`)}function Gvn(t,e){let r=e.name??t.getName(),n=e.description??nF(e.schema);return _J(e.schema)?new Vge({name:r,description:n,schema:wt.object({input:wt.string()}).transform(o=>o.input),bound:t}):new Vge({name:r,description:n,schema:e.schema,bound:t})}var Go,DS,LAt,Hge,Bl,lF,Jvn,D_,BAt,O3e,ate,E3e,Vge,Pg=v(()=>{kL();Wpe();zz();Vz();rO();iJ();nO();sMt();fMt();S4e();Jz();gMt();Phe();QN();IAt();NAt();jAt();cO();JQ();o4e();Go=class extends Cg{constructor(){super(...arguments);x(this,"lc_runnable",!0);x(this,"name")}getName(e){let r=this.name??this.constructor.lc_name()??this.constructor.name;return e?`${r}${e}`:r}withRetry(e){return new Hge({bound:this,kwargs:{},config:{},maxAttemptNumber:e?.stopAfterAttempt,...e})}withConfig(e){return new DS({bound:this,config:e,kwargs:{}})}withFallbacks(e){let r=Array.isArray(e)?e:e.fallbacks;return new O3e({runnable:this,fallbacks:r})}_getOptionsList(e,r=0){if(Array.isArray(e)&&e.length!==r)throw new Error(`Passed "options" must be an array with the same length as the inputs, but got ${e.length} options for ${r} inputs`);if(Array.isArray(e))return e.map(ai);if(r>1&&!Array.isArray(e)&&e.runId){console.warn("Provided runId will be used only for the first element of the batch.");let n=Object.fromEntries(Object.entries(e).filter(([o])=>o!=="runId"));return Array.from({length:r},(o,i)=>ai(i===0?e:n))}return Array.from({length:r},()=>ai(e))}async batch(e,r,n){let o=this._getOptionsList(r??{},e.length),i=o[0]?.maxConcurrency??n?.maxConcurrency,a=new ES({maxConcurrency:i,onFailedAttempt:u=>{throw u}}),s=e.map((u,l)=>a.call(async()=>{try{return await this.invoke(u,o[l])}catch(c){if(n?.returnExceptions)return c;throw c}}));return Promise.all(s)}async*_streamIterator(e,r){yield this.invoke(e,r)}async stream(e,r){let n=ai(r),o=new KL({generator:this._streamIterator(e,n),config:n});return await o.setup,$b.fromAsyncGenerator(o)}_separateRunnableConfigFromCallOptions(e){let r;e===void 0?r=ai(e):r=ai({callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,runName:e.runName,configurable:e.configurable,recursionLimit:e.recursionLimit,maxConcurrency:e.maxConcurrency,runId:e.runId,timeout:e.timeout,signal:e.signal});let n={...e};return delete n.callbacks,delete n.tags,delete n.metadata,delete n.runName,delete n.configurable,delete n.recursionLimit,delete n.maxConcurrency,delete n.runId,delete n.timeout,delete n.signal,[r,n]}async _callWithConfig(e,r,n){let o=ai(n),a=await(await Ry(o))?.handleChainStart(this.toJSON(),Rd(r,"input"),o.runId,o?.runType,void 0,void 0,o?.runName??this.getName());delete o.runId;let s;try{let u=e.call(this,r,o,a);s=await TS(u,n?.signal)}catch(u){throw await a?.handleChainError(u),u}return await a?.handleChainEnd(Rd(s,"output")),s}async _batchWithConfig(e,r,n,o){let i=this._getOptionsList(n??{},r.length),a=await Promise.all(i.map(Ry)),s=await Promise.all(a.map(async(l,c)=>{let d=await l?.handleChainStart(this.toJSON(),Rd(r[c],"input"),i[c].runId,i[c].runType,void 0,void 0,i[c].runName??this.getName());return delete i[c].runId,d})),u;try{let l=e.call(this,r,i,s,o);u=await TS(l,i?.[0]?.signal)}catch(l){throw await Promise.all(s.map(c=>c?.handleChainError(l))),l}return await Promise.all(s.map(l=>l?.handleChainEnd(Rd(u,"output")))),u}_concatOutputChunks(e,r){return Lb(e,r)}async*_transformStreamWithConfig(e,r,n){let o,i=!0,a,s=!0,u=ai(n),l=await Ry(u),c=this;async function*d(){for await(let p of e){if(i)if(o===void 0)o=p;else try{o=c._concatOutputChunks(o,p)}catch{o=void 0,i=!1}yield p}}let f;try{let p=await g4e(r.bind(this),d(),async()=>l?.handleChainStart(this.toJSON(),{input:""},u.runId,u.runType,void 0,void 0,u.runName??this.getName(),void 0,{lc_defers_inputs:!0}),n?.signal,u);delete u.runId,f=p.setup;let m=f?.handlers.find(cMt),h=p.output;m!==void 0&&f!==void 0&&(h=m.tapOutputIterable(f.runId,h));let y=f?.handlers.find(w4e);y!==void 0&&f!==void 0&&(h=y.tapOutputIterable(f.runId,h));for await(let g of h)if(yield g,s)if(a===void 0)a=g;else try{a=this._concatOutputChunks(a,g)}catch{a=void 0,s=!1}}catch(p){throw await f?.handleChainError(p,void 0,void 0,void 0,{inputs:Rd(o,"input")}),p}await f?.handleChainEnd(a??{},void 0,void 0,void 0,{inputs:Rd(o,"input")})}getGraph(e){let r=new Uge,n=r.addNode({name:`${this.getName()}Input`,schema:wt.any()}),o=r.addNode(this),i=r.addNode({name:`${this.getName()}Output`,schema:wt.any()});return r.addEdge(n,o),r.addEdge(o,i),r}pipe(e){return new Bl({first:this,last:aw(e)})}pick(e){return this.pipe(new E3e(e))}assign(e){return this.pipe(new ate(new lF({steps:e})))}async*transform(e,r){let n;for await(let o of e)n===void 0?n=o:n=this._concatOutputChunks(n,o);yield*this._streamIterator(n,ai(r))}async*streamLog(e,r,n){let o=new xhe({...n,autoClose:!1,_schemaFormat:"original"}),i=ai(r);yield*this._streamLog(e,o,i)}async*_streamLog(e,r,n){let{callbacks:o}=n;if(o===void 0)n.callbacks=[r];else if(Array.isArray(o))n.callbacks=o.concat([r]);else{let u=o.copy();u.addHandler(r,!0),n.callbacks=u}let i=this.stream(e,n);async function a(){try{let u=await i;for await(let l of u){let c=new oO({ops:[{op:"add",path:"/streamed_output/-",value:l}]});await r.writer.write(c)}}finally{await r.writer.close()}}let s=a();try{for await(let u of r)yield u}finally{await s}}streamEvents(e,r,n){let o;if(r.version==="v1")o=this._streamEventsV1(e,r,n);else if(r.version==="v2")o=this._streamEventsV2(e,r,n);else throw new Error('Only versions "v1" and "v2" of the schema are currently supported.');return r.encoding==="text/event-stream"?AAt(o):$b.fromAsyncGenerator(o)}async*_streamEventsV2(e,r,n){let o=new dMt({...n,autoClose:!1}),i=ai(r),a=i.runId??WQ();i.runId=a;let s=i.callbacks;if(s===void 0)i.callbacks=[o];else if(Array.isArray(s))i.callbacks=s.concat(o);else{let m=s.copy();m.addHandler(o,!0),i.callbacks=m}let u=new AbortController,l=this;async function c(){let m,h=null;try{r?.signal?"any"in AbortSignal?m=AbortSignal.any([u.signal,r.signal]):(m=r.signal,h=()=>{u.abort()},r.signal.addEventListener("abort",h,{once:!0})):m=u.signal;let y=await l.stream(e,{...i,signal:m}),g=o.tapOutputIterable(a,y);for await(let b of g)if(u.signal.aborted)break}finally{await o.finish(),m&&h&&m.removeEventListener("abort",h)}}let d=c(),f=!1,p;try{for await(let m of o){if(!f){m.data.input=e,f=!0,p=m.run_id,yield m;continue}m.run_id===p&&m.event.endsWith("_end")&&m.data?.input&&delete m.data.input,yield m}}finally{u.abort(),await d}}async*_streamEventsV1(e,r,n){let o,i=!1,a=ai(r),s=a.tags??[],u=a.metadata??{},l=a.runName??this.getName(),c=new xhe({...n,autoClose:!1,_schemaFormat:"streaming_events"}),d=new yMt({...n}),f=this._streamLog(e,c,a);for await(let m of f){if(o?o=o.concat(m):o=Che.fromRunLogPatch(m),o.state===void 0)throw new Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!i){i=!0;let b={...o.state},_={run_id:b.id,event:`on_${b.type}_start`,name:l,tags:s,metadata:u,data:{input:e}};d.includeEvent(_,b.type)&&(yield _)}let h=m.ops.filter(b=>b.path.startsWith("/logs/")).map(b=>b.path.split("/")[2]),y=[...new Set(h)];for(let b of y){let _,w={},T=o.state.logs[b];if(T.end_time===void 0?T.streamed_output.length>0?_="stream":_="start":_="end",_==="start")T.inputs!==void 0&&(w.input=T.inputs);else if(_==="end")T.inputs!==void 0&&(w.input=T.inputs),w.output=T.final_output;else if(_==="stream"){let O=T.streamed_output.length;if(O!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${O} instead. Encountered in: "${T.name}"`);w={chunk:T.streamed_output[0]},T.streamed_output=[]}yield{event:`on_${T.type}_${_}`,name:T.name,run_id:T.id,tags:T.tags,metadata:T.metadata,data:w}}let{state:g}=o;if(g.streamed_output.length>0){let b=g.streamed_output.length;if(b!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${b} instead. Encountered in: "${g.name}"`);let _={chunk:g.streamed_output[0]};g.streamed_output=[];let w={event:`on_${g.type}_stream`,run_id:g.id,tags:s,metadata:u,name:l,data:_};d.includeEvent(w,g.type)&&(yield w)}}let p=o?.state;if(p!==void 0){let m={event:`on_${p.type}_end`,name:l,run_id:p.id,tags:s,metadata:u,data:{output:p.final_output}};d.includeEvent(m,p.type)&&(yield m)}}static isRunnable(e){return gee(e)}withListeners({onStart:e,onEnd:r,onError:n}){return new DS({bound:this,config:{},configFactories:[o=>({callbacks:[new C4e({config:o,onStart:e,onEnd:r,onError:n})]})]})}asTool(e){return Gvn(this,e)}},DS=class $At extends Go{constructor(r){super(r);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"bound");x(this,"config");x(this,"kwargs");x(this,"configFactories");this.bound=r.bound,this.kwargs=r.kwargs,this.config=r.config,this.configFactories=r.configFactories}static lc_name(){return"RunnableBinding"}getName(r){return this.bound.getName(r)}async _mergeConfig(...r){let n=Hz(this.config,...r);return Hz(n,...this.configFactories?await Promise.all(this.configFactories.map(async o=>await o(n))):[])}withConfig(r){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...r}})}withRetry(r){return new Hge({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:r?.stopAfterAttempt,...r})}async invoke(r,n){return this.bound.invoke(r,await this._mergeConfig(n,this.kwargs))}async batch(r,n,o){let i=Array.isArray(n)?await Promise.all(n.map(async a=>this._mergeConfig(ai(a),this.kwargs))):await this._mergeConfig(ai(n),this.kwargs);return this.bound.batch(r,i,o)}_concatOutputChunks(r,n){return this.bound._concatOutputChunks(r,n)}async*_streamIterator(r,n){yield*this.bound._streamIterator(r,await this._mergeConfig(ai(n),this.kwargs))}async stream(r,n){return this.bound.stream(r,await this._mergeConfig(ai(n),this.kwargs))}async*transform(r,n){yield*this.bound.transform(r,await this._mergeConfig(ai(n),this.kwargs))}streamEvents(r,n,o){let i=this,a=async function*(){yield*i.bound.streamEvents(r,{...await i._mergeConfig(ai(n),i.kwargs),version:n.version},o)};return $b.fromAsyncGenerator(a())}static isRunnableBinding(r){return r.bound&&Go.isRunnable(r.bound)}withListeners({onStart:r,onEnd:n,onError:o}){return new $At({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[i=>({callbacks:[new C4e({config:i,onStart:r,onEnd:n,onError:o})]})]})}},LAt=class FAt extends Go{constructor(r){super(r);x(this,"lc_serializable",!0);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"bound");this.bound=r.bound}static lc_name(){return"RunnableEach"}async invoke(r,n){return this._callWithConfig(this._invoke.bind(this),r,n)}async _invoke(r,n,o){return this.bound.batch(r,Xs(n,{callbacks:o?.getChild()}))}withListeners({onStart:r,onEnd:n,onError:o}){return new FAt({bound:this.bound.withListeners({onStart:r,onEnd:n,onError:o})})}},Hge=class extends DS{constructor(e){super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"maxAttemptNumber",3);x(this,"onFailedAttempt",()=>{});this.maxAttemptNumber=e.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=e.onFailedAttempt??this.onFailedAttempt}static lc_name(){return"RunnableRetry"}_patchConfigForRetry(e,r,n){let o=e>1?`retry:attempt:${e}`:void 0;return Xs(r,{callbacks:n?.getChild(o)})}async _invoke(e,r,n){return hee(o=>super.invoke(e,this._patchConfigForRetry(o,r,n)),{onFailedAttempt:({error:o})=>this.onFailedAttempt(o,e),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(e,r){return this._callWithConfig(this._invoke.bind(this),e,r)}async _batch(e,r,n,o){let i={};try{await hee(async a=>{let s=e.map((f,p)=>p).filter(f=>i[f.toString()]===void 0||i[f.toString()]instanceof Error),u=s.map(f=>e[f]),l=s.map(f=>this._patchConfigForRetry(a,r?.[f],n?.[f])),c=await super.batch(u,l,{...o,returnExceptions:!0}),d;for(let f=0;fthis.onFailedAttempt(a,a.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(a){if(o?.returnExceptions!==!0)throw a}return Object.keys(i).sort((a,s)=>parseInt(a,10)-parseInt(s,10)).map(a=>i[parseInt(a,10)])}async batch(e,r,n){return this._batchWithConfig(this._batch.bind(this),e,r,n)}},Bl=class ite extends Go{constructor(r){super(r);x(this,"first");x(this,"middle",[]);x(this,"last");x(this,"omitSequenceTags",!1);x(this,"lc_serializable",!0);x(this,"lc_namespace",["langchain_core","runnables"]);this.first=r.first,this.middle=r.middle??this.middle,this.last=r.last,this.name=r.name,this.omitSequenceTags=r.omitSequenceTags??this.omitSequenceTags}static lc_name(){return"RunnableSequence"}get steps(){return[this.first,...this.middle,this.last]}async invoke(r,n){let o=ai(n),a=await(await Ry(o))?.handleChainStart(this.toJSON(),Rd(r,"input"),o.runId,void 0,void 0,void 0,o?.runName);delete o.runId;let s=r,u;try{let l=[this.first,...this.middle];for(let c=0;c{let d=await l?.handleChainStart(this.toJSON(),Rd(r[c],"input"),i[c].runId,void 0,void 0,void 0,i[c].runName);return delete i[c].runId,d})),u=r;try{for(let l=0;l{let m=f?.getChild(this.omitSequenceTags?void 0:`seq:step:${l+1}`);return Xs(i[p],{callbacks:m})}),o);u=await TS(d,i[0]?.signal)}}catch(l){throw await Promise.all(s.map(c=>c?.handleChainError(l))),l}return await Promise.all(s.map(l=>l?.handleChainEnd(Rd(u,"output")))),u}_concatOutputChunks(r,n){return this.last._concatOutputChunks(r,n)}async*_streamIterator(r,n){let o=await Ry(n),{runId:i,...a}=n??{},s=await o?.handleChainStart(this.toJSON(),Rd(r,"input"),i,void 0,void 0,void 0,a?.runName),u=[this.first,...this.middle,this.last],l=!0,c;async function*d(){yield r}try{let f=u[0].transform(d(),Xs(a,{callbacks:s?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let p=1;p{let s=i.getGraph(r);a!==0&&s.trimFirstNode(),a!==this.steps.length-1&&s.trimLastNode(),n.extend(s);let u=s.firstNode();if(!u)throw new Error(`Runnable ${i} has no first node`);o&&n.addEdge(o,u),o=s.lastNode()}),n}pipe(r){return ite.isRunnableSequence(r)?new ite({first:this.first,middle:this.middle.concat([this.last,r.first,...r.middle]),last:r.last,name:this.name??r.name}):new ite({first:this.first,middle:[...this.middle,this.last],last:aw(r),name:this.name})}static isRunnableSequence(r){return Array.isArray(r.middle)&&Go.isRunnable(r)}static from([r,...n],o){let i={};return typeof o=="string"?i.name=o:o!==void 0&&(i=o),new ite({...i,first:aw(r),middle:n.slice(0,-1).map(aw),last:aw(n[n.length-1])})}},lF=class kAt extends Go{constructor(r){super(r);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"steps");this.steps={};for(let[n,o]of Object.entries(r.steps))this.steps[n]=aw(o)}static lc_name(){return"RunnableMap"}getStepsKeys(){return Object.keys(this.steps)}static from(r){return new kAt({steps:r})}async invoke(r,n){let o=ai(n),a=await(await Ry(o))?.handleChainStart(this.toJSON(),{input:r},o.runId,void 0,void 0,void 0,o?.runName);delete o.runId;let s={};try{let u=Object.entries(this.steps).map(async([l,c])=>{s[l]=await c.invoke(r,Xs(o,{callbacks:a?.getChild(`map:key:${l}`)}))});await TS(Promise.all(u),n?.signal)}catch(u){throw await a?.handleChainError(u),u}return await a?.handleChainEnd(s),s}async*_transform(r,n,o){let i={...this.steps},a=phe(r,Object.keys(i).length),s=new Map(Object.entries(i).map(([u,l],c)=>{let d=l.transform(a[c],Xs(o,{callbacks:n?.getChild(`map:key:${u}`)}));return[u,d.next().then(f=>({key:u,gen:d,result:f}))]}));for(;s.size;){let u=Promise.race(s.values()),{key:l,result:c,gen:d}=await TS(u,o?.signal);s.delete(l),c.done||(yield{[l]:c.value},s.set(l,d.next().then(f=>({key:l,gen:d,result:f}))))}}transform(r,n){return this._transformStreamWithConfig(r,this._transform.bind(this),n)}async stream(r,n){async function*o(){yield r}let i=ai(n),a=new KL({generator:this.transform(o(),i),config:i});return await a.setup,$b.fromAsyncGenerator(a)}},Jvn=class qAt extends Go{constructor(r){super(r);x(this,"lc_serializable",!1);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"func");if(!she(r.func))throw new Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=r.func}async invoke(r,n){let[o]=this._getOptionsList(n??{},1),i=await Ry(o),a=this.func(Xs(o,{callbacks:i}),r);return TS(a,o?.signal)}async*_streamIterator(r,n){let[o]=this._getOptionsList(n??{},1),i=await this.invoke(r,n);if(Bge(i)){for await(let a of i)o?.signal?.throwIfAborted(),yield a;return}if(DAt(i)){for(;;){o?.signal?.throwIfAborted();let a=i.next();if(a.done)break;yield a.value}return}yield i}static from(r){return new qAt({func:r})}};D_=class UAt extends Go{constructor(r){if(she(r.func))return Jvn.from(r.func);super(r);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"func");Kvn(r.func),this.func=r.func}static lc_name(){return"RunnableLambda"}static from(r){return new UAt({func:r})}async _invoke(r,n,o){return new Promise((i,a)=>{let s=Xs(n,{callbacks:o?.getChild(),recursionLimit:(n?.recursionLimit??fhe)-1});Rh.runWithConfig(jb(s),async()=>{try{let u=await this.func(r,{...s});if(u&&Go.isRunnable(u)){if(n?.recursionLimit===0)throw new Error("Recursion limit reached.");u=await u.invoke(r,{...s,recursionLimit:(s.recursionLimit??fhe)-1})}else if(Bge(u)){let l;for await(let c of zge(s,u))if(n?.signal?.throwIfAborted(),l===void 0)l=c;else try{l=this._concatOutputChunks(l,c)}catch{l=c}u=l}else if(x3e(u)){let l;for(let c of T3e(s,u))if(n?.signal?.throwIfAborted(),l===void 0)l=c;else try{l=this._concatOutputChunks(l,c)}catch{l=c}u=l}i(u)}catch(u){a(u)}})})}async invoke(r,n){return this._callWithConfig(this._invoke.bind(this),r,n)}async*_transform(r,n,o){let i;for await(let u of r)if(i===void 0)i=u;else try{i=this._concatOutputChunks(i,u)}catch{i=u}let a=Xs(o,{callbacks:n?.getChild(),recursionLimit:(o?.recursionLimit??fhe)-1}),s=await new Promise((u,l)=>{Rh.runWithConfig(jb(a),async()=>{try{let c=await this.func(i,{...a,config:a});u(c)}catch(c){l(c)}})});if(s&&Go.isRunnable(s)){if(o?.recursionLimit===0)throw new Error("Recursion limit reached.");let u=await s.stream(i,a);for await(let l of u)yield l}else if(Bge(s))for await(let u of zge(a,s))o?.signal?.throwIfAborted(),yield u;else if(x3e(s))for(let u of T3e(a,s))o?.signal?.throwIfAborted(),yield u;else yield s}transform(r,n){return this._transformStreamWithConfig(r,this._transform.bind(this),n)}async stream(r,n){async function*o(){yield r}let i=ai(n),a=new KL({generator:this.transform(o(),i),config:i});return await a.setup,$b.fromAsyncGenerator(a)}},BAt=class extends lF{},O3e=class extends Go{constructor(e){super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"runnable");x(this,"fallbacks");this.runnable=e.runnable,this.fallbacks=e.fallbacks}static lc_name(){return"RunnableWithFallbacks"}*runnables(){yield this.runnable;for(let e of this.fallbacks)yield e}async invoke(e,r){let n=ai(r),o=await Ry(n),{runId:i,...a}=n,s=await o?.handleChainStart(this.toJSON(),Rd(e,"input"),i,void 0,void 0,void 0,a?.runName),u=Xs(a,{callbacks:s?.getChild()});return await Rh.runWithConfig(u,async()=>{let c;for(let d of this.runnables()){n?.signal?.throwIfAborted();try{let f=await d.invoke(e,u);return await s?.handleChainEnd(Rd(f,"output")),f}catch(f){c===void 0&&(c=f)}}throw c===void 0?new Error("No error stored at end of fallback."):(await s?.handleChainError(c),c)})}async*_streamIterator(e,r){let n=ai(r),o=await Ry(n),{runId:i,...a}=n,s=await o?.handleChainStart(this.toJSON(),Rd(e,"input"),i,void 0,void 0,void 0,a?.runName),u,l;for(let d of this.runnables()){n?.signal?.throwIfAborted();let f=Xs(a,{callbacks:s?.getChild()});try{let p=await d.stream(e,f);l=zge(f,p);break}catch(p){u===void 0&&(u=p)}}if(l===void 0){let d=u??new Error("No error stored at end of fallback.");throw await s?.handleChainError(d),d}let c;try{for await(let d of l){yield d;try{c=c===void 0?c:this._concatOutputChunks(c,d)}catch{c=void 0}}}catch(d){throw await s?.handleChainError(d),d}await s?.handleChainEnd(Rd(c,"output"))}async batch(e,r,n){if(n?.returnExceptions)throw new Error("Not implemented.");let o=this._getOptionsList(r??{},e.length),i=await Promise.all(o.map(u=>Ry(u))),a=await Promise.all(i.map(async(u,l)=>{let c=await u?.handleChainStart(this.toJSON(),Rd(e[l],"input"),o[l].runId,void 0,void 0,void 0,o[l].runName);return delete o[l].runId,c})),s;for(let u of this.runnables()){o[0].signal?.throwIfAborted();try{let l=await u.batch(e,a.map((c,d)=>Xs(o[d],{callbacks:c?.getChild()})),n);return await Promise.all(a.map((c,d)=>c?.handleChainEnd(Rd(l[d],"output")))),l}catch(l){s===void 0&&(s=l)}}throw s?(await Promise.all(a.map(u=>u?.handleChainError(s))),s):new Error("No error stored at end of fallbacks.")}};ate=class extends Go{constructor(e){e instanceof lF&&(e={mapper:e});super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"mapper");this.mapper=e.mapper}static lc_name(){return"RunnableAssign"}async invoke(e,r){let n=await this.mapper.invoke(e,r);return{...e,...n}}async*_transform(e,r,n){let o=this.mapper.getStepsKeys(),[i,a]=phe(e),s=this.mapper.transform(a,Xs(n,{callbacks:r?.getChild()})),u=s.next();for await(let l of i){if(typeof l!="object"||Array.isArray(l))throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof l}`);let c=Object.fromEntries(Object.entries(l).filter(([d])=>!o.includes(d)));Object.keys(c).length>0&&(yield c)}yield(await u).value;for await(let l of s)yield l}transform(e,r){return this._transformStreamWithConfig(e,this._transform.bind(this),r)}async stream(e,r){async function*n(){yield e}let o=ai(r),i=new KL({generator:this.transform(n(),o),config:o});return await i.setup,$b.fromAsyncGenerator(i)}},E3e=class extends Go{constructor(e){(typeof e=="string"||Array.isArray(e))&&(e={keys:e});super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"keys");this.keys=e.keys}static lc_name(){return"RunnablePick"}async _pick(e){if(typeof this.keys=="string")return e[this.keys];{let r=this.keys.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0);return r.length===0?void 0:Object.fromEntries(r)}}async invoke(e,r){return this._callWithConfig(this._pick.bind(this),e,r)}async*_transform(e){for await(let r of e){let n=await this._pick(r);n!==void 0&&(yield n)}}transform(e,r){return this._transformStreamWithConfig(e,this._transform.bind(this),r)}async stream(e,r){async function*n(){yield e}let o=ai(r),i=new KL({generator:this.transform(n(),o),config:o});return await i.setup,$b.fromAsyncGenerator(i)}},Vge=class extends DS{constructor(e){let r=Bl.from([D_.from(async n=>{let o;if(qL(n))try{o=await rF(this.schema,n.args)}catch{throw new H6("Received tool input did not match expected schema",JSON.stringify(n.args))}else o=n;return o}).withConfig({runName:`${e.name}:parse_input`}),e.bound]).withConfig({runName:e.name});super({bound:r,config:e.config??{}});x(this,"name");x(this,"description");x(this,"schema");this.name=e.name,this.description=e.description,this.schema=e.schema}static lc_name(){return"RunnableToolLike"}}});var Au,Wge=v(()=>{rO();nO();Pg();Au=class extends Go{constructor(e){super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"func");e&&(this.func=e.func)}static lc_name(){return"RunnablePassthrough"}async invoke(e,r){let n=ai(r);return this.func&&await this.func(e,n),this._callWithConfig(o=>Promise.resolve(o),e,n)}async*transform(e,r){let n=ai(r),o,i=!0;for await(let a of this._transformStreamWithConfig(e,s=>s,n))if(yield a,i)if(o===void 0)o=a;else try{o=Lb(o,a)}catch{o=void 0,i=!1}this.func&&o!==void 0&&await this.func(o,n)}static assign(e){return new ate(new lF({steps:e}))}}});var zAt,VAt=v(()=>{rO();Pg();zAt=class extends Go{constructor(e){super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"runnables");this.runnables=e.runnables}static lc_name(){return"RouterRunnable"}async invoke(e,r){let{key:n,input:o}=e,i=this.runnables[n];if(i===void 0)throw new Error(`No runnable associated with key "${n}".`);return i.invoke(o,ai(r))}async batch(e,r,n){let o=e.map(f=>f.key),i=e.map(f=>f.input);if(o.find(f=>this.runnables[f]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let s=o.map(f=>this.runnables[f]),u=this._getOptionsList(r??{},e.length),l=u[0]?.maxConcurrency??n?.maxConcurrency,c=l&&l>0?l:e.length,d=[];for(let f=0;fs[y].invoke(h,u[y])),m=await Promise.all(p);d.push(m)}return d.flat()}async stream(e,r){let{key:n,input:o}=e,i=this.runnables[n];if(i===void 0)throw new Error(`No runnable associated with key "${n}".`);return i.stream(o,r)}}});var HAt,WAt=v(()=>{rO();nO();Pg();HAt=class extends Go{constructor(e){super(e);x(this,"lc_namespace",["langchain_core","runnables"]);x(this,"lc_serializable",!0);x(this,"default");x(this,"branches");this.branches=e.branches,this.default=e.default}static lc_name(){return"RunnableBranch"}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let n=e.slice(0,-1).map(([i,a])=>[aw(i),aw(a)]),o=aw(e[e.length-1]);return new this({branches:n,default:o})}async _invoke(e,r,n){let o;for(let i=0;iJAt(r,t))}function JAt(t,e={}){let{includeNames:r,excludeNames:n,includeTypes:o,excludeTypes:i,includeIds:a,excludeIds:s}=e,u=[];for(let l of t)if(!(n&&l.name&&n.includes(l.name))){{if(i&&Jge(l,i))continue;if(s&&l.id&&s.includes(l.id))continue}o||a||r?(r&&l.name&&r.some(c=>c===l.name)||o&&Jge(l,o)||a&&l.id&&a.some(c=>c===l.id))&&u.push(l):u.push(l)}return u}function YAt(t){return Array.isArray(t)?KAt(t):D_.from(KAt)}function KAt(t){if(!t.length)return[];let e=[];for(let r of t){let n=r,o=e.pop();if(!o)e.push(n);else if(n.getType()==="tool"||n.getType()!==o.getType())e.push(o,n);else{let i=Nz(o),a=Nz(n),s=i.concat(a);typeof i.content=="string"&&typeof a.content=="string"&&(s.content=`${i.content}
-${a.content}`),e.push(Zvn(s))}}return e}function QAt(t,e){if(Array.isArray(t)){let r=t;if(!e)throw new Error("Options parameter is required when providing messages.");return GAt(r,e)}else{let r=t;return D_.from(n=>GAt(n,r)).withConfig({runName:"trim_messages"})}}async function GAt(t,e){let{maxTokens:r,tokenCounter:n,strategy:o="last",allowPartial:i=!1,endOn:a,startOn:s,includeSystem:u=!1,textSplitter:l}=e;if(s&&o==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(u&&o==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let c;"getNumTokens"in n?c=async f=>(await Promise.all(f.map(m=>n.getNumTokens(m.content)))).reduce((m,h)=>m+h,0):c=async f=>n(f);let d=M3e;if(l&&("splitText"in l?d=l.splitText:d=async f=>l(f)),o==="first")return eNt(t,{maxTokens:r,tokenCounter:c,textSplitter:d,partialStrategy:i?"first":void 0,endOn:a});if(o==="last")return Xvn(t,{maxTokens:r,tokenCounter:c,textSplitter:d,allowPartial:i,includeSystem:u,startOn:s,endOn:a});throw new Error(`Unrecognized strategy: '${o}'. Must be one of 'first' or 'last'.`)}async function eNt(t,e){let{maxTokens:r,tokenCounter:n,textSplitter:o,partialStrategy:i,endOn:a}=e,s=[...t],u=0;for(let l=0;l0?s.slice(0,-l):s;if(await n(c)<=r){u=s.length-l;break}}if(ub!=="type"&&!b.startsWith("lc_"))),y=P3e(c.getType(),{...h,content:m}),g=[...s.slice(0,u),y];if(await n(g)<=r)s=g,u+=1,l=!0;else break}l&&i==="last"&&(c.content=[...f].reverse())}if(!l){let c=s[u],d;if(Array.isArray(c.content)&&c.content.some(f=>typeof f=="string"||f.type==="text")?d=c.content.find(p=>p.type==="text"&&p.text)?.text:typeof c.content=="string"&&(d=c.content),d){let f=await o(d),p=f.length;i==="last"&&f.reverse();for(let m=0;m0&&!Jge(s[u-1],l);)u-=1}return s.slice(0,u)}async function Xvn(t,e){let{allowPartial:r=!1,includeSystem:n=!1,endOn:o,startOn:i,...a}=e,s=t.map(c=>{let d=Object.fromEntries(Object.entries(c).filter(([f])=>f!=="type"&&!f.startsWith("lc_")));return P3e(c.getType(),d,K6(c))});if(o){let c=Array.isArray(o)?o:[o];for(;s.length>0&&!Jge(s[s.length-1],c);)s=s.slice(0,-1)}let u=n&&s[0]?.getType()==="system",l=u?s.slice(0,1).concat(s.slice(1).reverse()):s.reverse();return l=await eNt(l,{...a,partialStrategy:r?"last":void 0,endOn:i}),u?[l[0],...l.slice(1).reverse()]:l.reverse()}function P3e(t,e,r){let n,o;switch(t){case"human":r?n=new rw(e):o=new qs(e);break;case"ai":if(r){let i={...e};"tool_calls"in i&&(i={...i,tool_call_chunks:i.tool_calls?.map(a=>({...a,type:"tool_call_chunk",index:void 0,args:JSON.stringify(a.args)}))}),n=new Er(i)}else o=new Pn(e);break;case"system":r?n=new Rb(e):o=new Od(e);break;case"developer":r?n=new Rb({...e,additional_kwargs:{...e.additional_kwargs,__openai_role__:"developer"}}):o=new Od({...e,additional_kwargs:{...e.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in e)r?n=new _S(e):o=new Mh(e);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(r)n=new tw(e);else{if(!e.name)throw new Error("FunctionMessage must have a 'name' field");o=new Iz(e)}break;case"generic":if("role"in e)r?n=new ew(e):o=new Td(e);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${t}`)}if(r&&n)return n;if(o)return o;throw new Error(`Unrecognized message type ${t}`)}function Zvn(t){let e=t.getType(),r,n=Object.fromEntries(Object.entries(t).filter(([o])=>!["type","tool_call_chunks"].includes(o)&&!o.startsWith("lc_")));if(e in XAt&&(r=P3e(e,n)),!r)throw new Error(`Unrecognized message chunk class ${e}. Supported classes are ${Object.keys(XAt)}`);return r}function M3e(t){let e=t.split(`
-`);return Promise.resolve([...e.slice(0,-1).map(r=>`${r}
-`),e[e.length-1]])}var Jge,XAt,tNt=v(()=>{Oy();G6();UQ();tme();zL();rme();BQ();UC();vS();Pg();Jge=(t,e)=>{let r=[...new Set(e?.map(o=>{if(typeof o=="string")return o;let i=new o({});if(!("getType"in i)||typeof i.getType!="function")throw new Error("Invalid type provided.");return i.getType()}))],n=t.getType();return r.some(o=>o===n)};XAt={human:{message:qs,messageChunk:rw},ai:{message:Pn,messageChunk:Er},system:{message:Od,messageChunk:Rb},developer:{message:Od,messageChunk:Rb},tool:{message:Mh,messageChunk:_S},function:{message:Iz,messageChunk:tw},generic:{message:Td,messageChunk:ew},remove:{message:Az,messageChunk:Az}}});var rNt,nNt=v(()=>{rNt=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"]});var oNt,iNt=v(()=>{oNt=["image","video","audio","text-plain","file"]});var aNt,sNt=v(()=>{nNt();iNt();aNt=["text","reasoning",...rNt,...oNt]});var Yvn,ta=v(()=>{Jo();LQ();bBe();Oy();ime();G6();UQ();tme();zL();rme();BQ();UC();vS();tNt();sNt();Yvn={};$t(Yvn,{AIMessage:()=>Pn,AIMessageChunk:()=>Er,BaseMessage:()=>id,BaseMessageChunk:()=>Mb,ChatMessage:()=>Td,ChatMessageChunk:()=>ew,FunctionMessage:()=>Iz,FunctionMessageChunk:()=>tw,HumanMessage:()=>qs,HumanMessageChunk:()=>rw,KNOWN_BLOCK_TYPES:()=>aNt,RemoveMessage:()=>Az,SystemMessage:()=>Od,SystemMessageChunk:()=>Rb,ToolMessage:()=>Mh,ToolMessageChunk:()=>_S,_isMessageFieldWithRole:()=>eme,_mergeDicts:()=>Fl,_mergeLists:()=>Rz,_mergeObj:()=>Qpe,_mergeStatus:()=>Ype,coerceMessageLikeToMessage:()=>wS,collapseToolCallChunks:()=>ame,convertToChunk:()=>Nz,convertToOpenAIImageBlock:()=>Kpe,convertToProviderContentBlock:()=>GT,defaultTextSplitter:()=>M3e,defaultToolCallParser:()=>kQ,filterMessages:()=>ZAt,getBufferString:()=>fl,iife:()=>sme,isAIMessage:()=>kl,isAIMessageChunk:()=>zQ,isBase64ContentBlock:()=>J6,isBaseMessage:()=>xg,isBaseMessageChunk:()=>K6,isChatMessage:()=>QCt,isChatMessageChunk:()=>ext,isDataContentBlock:()=>Ph,isDirectToolOutput:()=>FQ,isFunctionMessage:()=>txt,isFunctionMessageChunk:()=>rxt,isHumanMessage:()=>nxt,isHumanMessageChunk:()=>oxt,isIDContentBlock:()=>Jpe,isMessage:()=>Zpe,isOpenAIToolCallArray:()=>XCt,isPlainTextContentBlock:()=>LCt,isSystemMessage:()=>ixt,isSystemMessageChunk:()=>axt,isToolMessage:()=>qQ,isToolMessageChunk:()=>vBe,isURLContentBlock:()=>W6,mapChatMessagesToStoredMessages:()=>Ixt,mapStoredMessageToChatMessage:()=>VQ,mapStoredMessagesToChatMessages:()=>Rxt,mergeContent:()=>Ty,mergeMessageRuns:()=>YAt,mergeResponseMetadata:()=>ome,mergeUsageMetadata:()=>X6,parseBase64DataUrl:()=>Cy,parseMimeType:()=>$Q,trimMessages:()=>QAt})});var uNt,lNt=v(()=>{Oy();zL();vS();Pg();ta();Wge();uNt=class extends DS{constructor(e){let r=D_.from((a,s)=>this._enterHistory(a,s??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(r=Au.assign({[n]:r}).withConfig({runName:"insertHistory"}));let o=r.pipe(e.runnable.withListeners({onEnd:(a,s)=>this._exitHistory(a,s??{})})).withConfig({runName:"RunnableWithMessageHistory"}),i=e.config??{};super({...e,config:i,bound:o});x(this,"runnable");x(this,"inputMessagesKey");x(this,"outputMessagesKey");x(this,"historyMessagesKey");x(this,"getMessageHistory");this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let r;if(typeof e=="object"&&!Array.isArray(e)&&!xg(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?r=e[n][0]:r=e[n]}else r=e;if(typeof r=="string")return[new qs(r)];if(Array.isArray(r))return r;if(xg(r))return[r];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
-Got ${JSON.stringify(r,null,2)}`)}_getOutputMessages(e){let r;if(!Array.isArray(e)&&!xg(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?r=e.generations[0][0].message:r=e[n]}else r=e;if(typeof r=="string")return[new Pn(r)];if(Array.isArray(r))return r;if(xg(r))return[r];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(r,null,2)}`)}async _enterHistory(e,r){let o=await(r?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?o.concat(this._getInputMessages(e)):o}async _exitHistory(e,r){let n=r.configurable?.messageHistory,o;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?o=e.inputs[0]:o=e.inputs;let i=this._getInputMessages(o);if(this.historyMessagesKey===void 0){let u=await n.getMessages();i=i.slice(u.length)}let a=e.outputs;if(!a)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let s=this._getOutputMessages(a);await n.addMessages([...i,...s])}async _mergeConfig(...e){let r=await super._mergeConfig(...e);if(!r.configurable||!r.configurable.sessionId){let o={[this.inputMessagesKey??"input"]:"foo"},i={configurable:{sessionId:"123"}};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
-eg. chain.invoke(${JSON.stringify(o)}, ${JSON.stringify(i)})`)}let{sessionId:n}=r.configurable;return r.configurable.messageHistory=await this.getMessageHistory(n),r}}});var Qvn,sw=v(()=>{Jo();rO();iJ();Pg();Wge();VAt();WAt();lNt();Qvn={};$t(Qvn,{RouterRunnable:()=>zAt,Runnable:()=>Go,RunnableAssign:()=>ate,RunnableBinding:()=>DS,RunnableBranch:()=>HAt,RunnableEach:()=>LAt,RunnableLambda:()=>D_,RunnableMap:()=>lF,RunnableParallel:()=>BAt,RunnablePassthrough:()=>Au,RunnablePick:()=>E3e,RunnableRetry:()=>Hge,RunnableSequence:()=>Bl,RunnableToolLike:()=>Vge,RunnableWithFallbacks:()=>O3e,RunnableWithMessageHistory:()=>uNt,_coerceToRunnable:()=>aw,ensureConfig:()=>ai,getCallbackManagerForConfig:()=>Ry,mergeConfigs:()=>Hz,patchConfig:()=>Xs,pickRunnableConfigKeys:()=>jb,raceWithSignal:()=>TS})});var v4,o1,Ih,MJ=v(()=>{DQ();Pg();sw();v4=class extends Go{parseResultWithPrompt(t,e,r){return this.parseResult(t,r)}_baseMessageToString(t){return typeof t.content=="string"?t.content:this._baseMessageContentToString(t.content)}_baseMessageContentToString(t){return JSON.stringify(t)}async invoke(t,e){return typeof t=="string"?this._callWithConfig(async(r,n)=>this.parseResult([{text:r}],n?.callbacks),t,{...e,runType:"parser"}):this._callWithConfig(async(r,n)=>this.parseResult([{message:r,text:this._baseMessageToString(r)}],n?.callbacks),t,{...e,runType:"parser"})}},o1=class extends v4{parseResult(t,e){return this.parse(t[0].text,e)}async parseWithPrompt(t,e,r){return this.parse(t,r)}_type(){throw new Error("_type not implemented")}},Ih=class extends Error{constructor(e,r,n,o=!1){super(e);x(this,"llmOutput");x(this,"observation");x(this,"sendToLLM");if(this.llmOutput=r,this.observation=n,this.sendToLLM=o,o&&(n===void 0||r===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");FL(this,"OUTPUT_PARSING_FAILURE")}}});var i1,cF,dF=v(()=>{Oy();UC();Ed();MJ();qge();i1=class extends o1{async*_transform(t){for await(let e of t)typeof e=="string"?yield this.parseResult([{text:e}]):yield this.parseResult([{message:e,text:this._baseMessageToString(e)}])}async*transform(t,e){yield*this._transformStreamWithConfig(t,this._transform.bind(this),{...e,runType:"parser"})}},cF=class extends i1{constructor(e){super(e);x(this,"diff",!1);this.diff=e?.diff??this.diff}async*_transform(e){let r,n;for await(let o of e){if(typeof o!="string"&&typeof o.content!="string")throw new Error("Cannot handle non-string output.");let i;if(K6(o)){if(typeof o.content!="string")throw new Error("Cannot handle non-string message output.");i=new si({message:o,text:o.content})}else if(xg(o)){if(typeof o.content!="string")throw new Error("Cannot handle non-string message output.");i=new si({message:Nz(o),text:o.content})}else i=new OS({text:o});n===void 0?n=i:n=n.concat(i);let a=await this.parsePartialResult([n]);a!=null&&!dO(a,r)&&(this.diff?yield this._diff(r,a):yield a,r=a)}}getFormatInstructions(){return""}}});var cNt,dNt=v(()=>{dF();cNt=class extends i1{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","bytes"]);x(this,"lc_serializable",!0);x(this,"textEncoder",new TextEncoder)}static lc_name(){return"BytesOutputParser"}parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}}});var RJ,fNt,pNt,mNt,hNt,gNt=v(()=>{MJ();dF();RJ=class extends i1{constructor(){super(...arguments);x(this,"re")}async*_transform(e){let r="";for await(let n of e)if(typeof n=="string"?r+=n:r+=n.content,this.re){let o=[...r.matchAll(this.re)];if(o.length>1){let i=0;for(let a of o.slice(0,-1))yield[a[1]],i+=(a.index??0)+a[0].length;r=r.slice(i)}}else{let o=await this.parse(r);if(o.length>1){for(let i of o.slice(0,-1))yield[i];r=o[o.length-1]}}for(let n of await this.parse(r))yield[n]}},fNt=class extends RJ{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","list"]);x(this,"lc_serializable",!0)}static lc_name(){return"CommaSeparatedListOutputParser"}async parse(e){try{return e.trim().split(",").map(r=>r.trim())}catch{throw new Ih(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},pNt=class extends RJ{constructor({length:e,separator:r}){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","list"]);x(this,"length");x(this,"separator");this.length=e,this.separator=r||","}async parse(e){try{let r=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&r.length!==this.length)throw new Ih(`Incorrect number of items. Expected ${this.length}, got ${r.length}.`);return r}catch(r){throw Object.getPrototypeOf(r)===Ih.prototype?r:new Ih(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},mNt=class extends RJ{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","list"]);x(this,"lc_serializable",!0);x(this,"re",/\d+\.\s([^\n]+)/g)}static lc_name(){return"NumberedListOutputParser"}getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
-
-1. foo
-
-2. bar
-
-3. baz`}async parse(e){return[...e.matchAll(this.re)??[]].map(r=>r[1])}},hNt=class extends RJ{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","list"]);x(this,"lc_serializable",!0);x(this,"re",/^\s*[-*]\s([^\n]+)$/gm)}static lc_name(){return"NumberedListOutputParser"}getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
-
-1. foo
-
-2. bar
-
-3. baz`}async parse(e){return[...e.matchAll(this.re)??[]].map(r=>r[1])}}});var Kge,yNt=v(()=>{dF();Kge=class extends i1{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers","string"]);x(this,"lc_serializable",!0)}static lc_name(){return"StrOutputParser"}parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((r,n)=>r+this._messageContentToString(n),"")}}});var uw,R3e,bNt,_Nt=v(()=>{QN();Ny();MJ();cO();uw=class extends o1{constructor(e){super(e);x(this,"lc_namespace",["langchain","output_parsers","structured"]);this.schema=e}static lc_name(){return"StructuredOutputParser"}toJSON(){return this.toJSONNotImplemented()}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let r=wt.object(Object.fromEntries(Object.entries(e).map(([n,o])=>[n,wt.string().describe(o)])));return new this(r)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
-
-"JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
-
-For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
-would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
-Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
-
-Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
-
-Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
-\`\`\`json
-${JSON.stringify(Ci(this.schema))}
-\`\`\`
-`}async parse(e){try{let r=e.trim(),o=(r.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||r.match(/```json\s*([\s\S]*?)```/)?.[1]||r).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(i,a)=>`"${a.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await rF(this.schema,JSON.parse(o))}catch(r){throw new Ih(`Failed to parse. Text: "${e}". Error: ${r}`,e)}}},R3e=class extends uw{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(t){let e=t?.interpolationDepth??1;if(e<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
-\`\`\`json
-${this._schemaToInstruction(Ci(this.schema)).replaceAll("{","{".repeat(e)).replaceAll("}","}".repeat(e))}
-\`\`\``}_schemaToInstruction(t,e=2){let r=t;if("type"in r){let n=!1,o;if(Array.isArray(r.type)){let s=r.type.findIndex(u=>u==="null");s!==-1&&(n=!0,r.type.splice(s,1)),o=r.type.join(" | ")}else o=r.type;if(r.type==="object"&&r.properties){let s=r.description?` // ${r.description}`:"";return`{
-${Object.entries(r.properties).map(([l,c])=>{let d=r.required?.includes(l)?"":" (optional)";return`${" ".repeat(e)}"${l}": ${this._schemaToInstruction(c,e+2)}${d}`}).join(`
-`)}
-${" ".repeat(e-2)}}${s}`}if(r.type==="array"&&r.items){let s=r.description?` // ${r.description}`:"";return`array[
-${" ".repeat(e)}${this._schemaToInstruction(r.items,e+2)}
-${" ".repeat(e-2)}] ${s}`}let i=n?" (nullable)":"",a=r.description?` // ${r.description}`:"";return`${o}${a}${i}`}if("anyOf"in r)return r.anyOf.map(n=>this._schemaToInstruction(n,e)).join(`
-${" ".repeat(e-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(t){return new this(t)}static fromNamesAndDescriptions(t){let e=wt.object(Object.fromEntries(Object.entries(t).map(([r,n])=>[r,wt.string().describe(n)])));return new this(e)}},bNt=class extends o1{constructor({inputSchema:e}){super(...arguments);x(this,"structuredInputParser");this.structuredInputParser=new R3e(e)}async parse(e){let r;try{r=await this.structuredInputParser.parse(e)}catch(n){throw new Ih(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(r)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}}});var ewn,I3e=v(()=>{Jo();pee();mee();_4e();ewn={};$t(ewn,{applyPatch:()=>GL,compare:()=>sJ})});var j_,A3e=v(()=>{NQ();mee();dF();I3e();j_=class extends cF{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","output_parsers"]);x(this,"lc_serializable",!0)}static lc_name(){return"JsonOutputParser"}_concatOutputChunks(e,r){return this.diff?super._concatOutputChunks(e,r):r}_diff(e,r){if(r)return e?sJ(e,r):[{op:"replace",path:"",value:r}]}async parsePartialResult(e){return AQ(e[0].text)}async parse(e){return AQ(e,JSON.parse)}getFormatInstructions(){return""}_baseMessageToString(e){return e.text}}});var twn,vNt,wNt=v(()=>{twn=function(){let t={};t.parser=function(j,A){return new r(j,A)},t.SAXParser=r,t.SAXStream=l,t.createStream=u,t.MAX_BUFFER_LENGTH=65536;let e=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function r(j,A){if(!(this instanceof r))return new r(j,A);var U=this;o(U),U.q=U.c="",U.bufferCheckPosition=t.MAX_BUFFER_LENGTH,U.opt=A||{},U.opt.lowercase=U.opt.lowercase||U.opt.lowercasetags,U.looseCase=U.opt.lowercase?"toLowerCase":"toUpperCase",U.tags=[],U.closed=U.closedRoot=U.sawRoot=!1,U.tag=U.error=null,U.strict=!!j,U.noscript=!!(j||U.opt.noscript),U.state=P.BEGIN,U.strictEntities=U.opt.strictEntities,U.ENTITIES=U.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),U.attribList=[],U.opt.xmlns&&(U.ns=Object.create(m)),U.trackPosition=U.opt.position!==!1,U.trackPosition&&(U.position=U.line=U.column=0),I(U,"onready")}Object.create||(Object.create=function(j){function A(){}A.prototype=j;var U=new A;return U}),Object.keys||(Object.keys=function(j){var A=[];for(var U in j)j.hasOwnProperty(U)&&A.push(U);return A});function n(j){for(var A=Math.max(t.MAX_BUFFER_LENGTH,10),U=0,H=0,re=e.length;HA)switch(e[H]){case"textNode":z(j);break;case"cdata":N(j,"oncdata",j.cdata),j.cdata="";break;case"script":N(j,"onscript",j.script),j.script="";break;default:k(j,"Max buffer length exceeded: "+e[H])}U=Math.max(U,Z)}var le=t.MAX_BUFFER_LENGTH-U;j.bufferCheckPosition=le+j.position}function o(j){for(var A=0,U=e.length;A"||_(j)}function O(j,A){return j.test(A)}function E(j,A){return!O(j,A)}var P=0;t.STATE={BEGIN:P++,BEGIN_WHITESPACE:P++,TEXT:P++,TEXT_ENTITY:P++,OPEN_WAKA:P++,SGML_DECL:P++,SGML_DECL_QUOTED:P++,DOCTYPE:P++,DOCTYPE_QUOTED:P++,DOCTYPE_DTD:P++,DOCTYPE_DTD_QUOTED:P++,COMMENT_STARTING:P++,COMMENT:P++,COMMENT_ENDING:P++,COMMENT_ENDED:P++,CDATA:P++,CDATA_ENDING:P++,CDATA_ENDING_2:P++,PROC_INST:P++,PROC_INST_BODY:P++,PROC_INST_ENDING:P++,OPEN_TAG:P++,OPEN_TAG_SLASH:P++,ATTRIB:P++,ATTRIB_NAME:P++,ATTRIB_NAME_SAW_WHITE:P++,ATTRIB_VALUE:P++,ATTRIB_VALUE_QUOTED:P++,ATTRIB_VALUE_CLOSED:P++,ATTRIB_VALUE_UNQUOTED:P++,ATTRIB_VALUE_ENTITY_Q:P++,ATTRIB_VALUE_ENTITY_U:P++,CLOSE_TAG:P++,CLOSE_TAG_SAW_WHITE:P++,SCRIPT:P++,SCRIPT_ENDING:P++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(j){var A=t.ENTITIES[j],U=typeof A=="number"?String.fromCharCode(A):A;t.ENTITIES[j]=U});for(var R in t.STATE)t.STATE[t.STATE[R]]=R;P=t.STATE;function I(j,A,U){j[A]&&j[A](U)}function N(j,A,U){j.textNode&&z(j),I(j,A,U)}function z(j){j.textNode=V(j.opt,j.textNode),j.textNode&&I(j,"ontext",j.textNode),j.textNode=""}function V(j,A){return j.trim&&(A=A.trim()),j.normalize&&(A=A.replace(/\s+/g," ")),A}function k(j,A){return z(j),j.trackPosition&&(A+=`
-Line: `+j.line+`
-Column: `+j.column+`
-Char: `+j.c),A=new Error(A),j.error=A,I(j,"onerror",A),j}function X(j){return j.sawRoot&&!j.closedRoot&&B(j,"Unclosed root tag"),j.state!==P.BEGIN&&j.state!==P.BEGIN_WHITESPACE&&j.state!==P.TEXT&&k(j,"Unexpected end"),z(j),j.c="",j.closed=!0,I(j,"onend"),r.call(j,j.strict,j.opt),j}function B(j,A){if(typeof j!="object"||!(j instanceof r))throw new Error("bad call to strictFail");j.strict&&k(j,A)}function Q(j){j.strict||(j.tagName=j.tagName[j.looseCase]());var A=j.tags[j.tags.length-1]||j,U=j.tag={name:j.tagName,attributes:{}};j.opt.xmlns&&(U.ns=A.ns),j.attribList.length=0,N(j,"onopentagstart",U)}function Y(j,A){var U=j.indexOf(":"),H=U<0?["",j]:j.split(":"),re=H[0],Z=H[1];return A&&j==="xmlns"&&(re="xmlns",Z=""),{prefix:re,local:Z}}function K(j){if(j.strict||(j.attribName=j.attribName[j.looseCase]()),j.attribList.indexOf(j.attribName)!==-1||j.tag.attributes.hasOwnProperty(j.attribName)){j.attribName=j.attribValue="";return}if(j.opt.xmlns){var A=Y(j.attribName,!0),U=A.prefix,H=A.local;if(U==="xmlns")if(H==="xml"&&j.attribValue!==f)B(j,"xml: prefix must be bound to "+f+`
-Actual: `+j.attribValue);else if(H==="xmlns"&&j.attribValue!==p)B(j,"xmlns: prefix must be bound to "+p+`
-Actual: `+j.attribValue);else{var re=j.tag,Z=j.tags[j.tags.length-1]||j;re.ns===Z.ns&&(re.ns=Object.create(Z.ns)),re.ns[H]=j.attribValue}j.attribList.push([j.attribName,j.attribValue])}else j.tag.attributes[j.attribName]=j.attribValue,N(j,"onattribute",{name:j.attribName,value:j.attribValue});j.attribName=j.attribValue=""}function oe(j,A){if(j.opt.xmlns){var U=j.tag,H=Y(j.tagName);U.prefix=H.prefix,U.local=H.local,U.uri=U.ns[H.prefix]||"",U.prefix&&!U.uri&&(B(j,"Unbound namespace prefix: "+JSON.stringify(j.tagName)),U.uri=H.prefix);var re=j.tags[j.tags.length-1]||j;U.ns&&re.ns!==U.ns&&Object.keys(U.ns).forEach(function(Gr){N(j,"onopennamespace",{prefix:Gr,uri:U.ns[Gr]})});for(var Z=0,le=j.attribList.length;Z",j.state=P.TEXT;return}if(j.script){if(j.tagName!=="script"){j.script+=""+j.tagName+">",j.tagName="",j.state=P.SCRIPT;return}N(j,"onscript",j.script),j.script=""}var A=j.tags.length,U=j.tagName;j.strict||(U=U[j.looseCase]());for(var H=U;A--;){var re=j.tags[A];if(re.name!==H)B(j,"Unexpected close tag");else break}if(A<0){B(j,"Unmatched closing tag: "+j.tagName),j.textNode+=""+j.tagName+">",j.state=P.TEXT;return}j.tagName=U;for(var Z=j.tags.length;Z-- >A;){var le=j.tag=j.tags.pop();j.tagName=j.tag.name,N(j,"onclosetag",j.tagName);var Ce={};for(var He in le.ns)Ce[He]=le.ns[He];var lt=j.tags[j.tags.length-1]||j;j.opt.xmlns&&le.ns!==lt.ns&&Object.keys(le.ns).forEach(function(qe){var Nt=le.ns[qe];N(j,"onclosenamespace",{prefix:qe,uri:Nt})})}A===0&&(j.closedRoot=!0),j.tagName=j.attribValue=j.attribName="",j.attribList.length=0,j.state=P.TEXT}function de(j){var A=j.entity,U=A.toLowerCase(),H,re="";return j.ENTITIES[A]?j.ENTITIES[A]:j.ENTITIES[U]?j.ENTITIES[U]:(A=U,A.charAt(0)==="#"&&(A.charAt(1)==="x"?(A=A.slice(2),H=parseInt(A,16),re=H.toString(16)):(A=A.slice(1),H=parseInt(A,10),re=H.toString(10))),A=A.replace(/^0+/,""),isNaN(H)||re.toLowerCase()!==A?(B(j,"Invalid character entity"),"&"+j.entity+";"):String.fromCodePoint(H))}function L(j,A){A==="<"?(j.state=P.OPEN_WAKA,j.startTagPosition=j.position):_(A)||(B(j,"Non-whitespace before first tag."),j.textNode=A,j.state=P.TEXT)}function W(j,A){var U="";return A"?(N(A,"onsgmldeclaration",A.sgmlDecl),A.sgmlDecl="",A.state=P.TEXT):(w(H)&&(A.state=P.SGML_DECL_QUOTED),A.sgmlDecl+=H);continue;case P.SGML_DECL_QUOTED:H===A.q&&(A.state=P.SGML_DECL,A.q=""),A.sgmlDecl+=H;continue;case P.DOCTYPE:H===">"?(A.state=P.TEXT,N(A,"ondoctype",A.doctype),A.doctype=!0):(A.doctype+=H,H==="["?A.state=P.DOCTYPE_DTD:w(H)&&(A.state=P.DOCTYPE_QUOTED,A.q=H));continue;case P.DOCTYPE_QUOTED:A.doctype+=H,H===A.q&&(A.q="",A.state=P.DOCTYPE);continue;case P.DOCTYPE_DTD:A.doctype+=H,H==="]"?A.state=P.DOCTYPE:w(H)&&(A.state=P.DOCTYPE_DTD_QUOTED,A.q=H);continue;case P.DOCTYPE_DTD_QUOTED:A.doctype+=H,H===A.q&&(A.state=P.DOCTYPE_DTD,A.q="");continue;case P.COMMENT:H==="-"?A.state=P.COMMENT_ENDING:A.comment+=H;continue;case P.COMMENT_ENDING:H==="-"?(A.state=P.COMMENT_ENDED,A.comment=V(A.opt,A.comment),A.comment&&N(A,"oncomment",A.comment),A.comment=""):(A.comment+="-"+H,A.state=P.COMMENT);continue;case P.COMMENT_ENDED:H!==">"?(B(A,"Malformed comment"),A.comment+="--"+H,A.state=P.COMMENT):A.state=P.TEXT;continue;case P.CDATA:H==="]"?A.state=P.CDATA_ENDING:A.cdata+=H;continue;case P.CDATA_ENDING:H==="]"?A.state=P.CDATA_ENDING_2:(A.cdata+="]"+H,A.state=P.CDATA);continue;case P.CDATA_ENDING_2:H===">"?(A.cdata&&N(A,"oncdata",A.cdata),N(A,"onclosecdata"),A.cdata="",A.state=P.TEXT):H==="]"?A.cdata+="]":(A.cdata+="]]"+H,A.state=P.CDATA);continue;case P.PROC_INST:H==="?"?A.state=P.PROC_INST_ENDING:_(H)?A.state=P.PROC_INST_BODY:A.procInstName+=H;continue;case P.PROC_INST_BODY:if(!A.procInstBody&&_(H))continue;H==="?"?A.state=P.PROC_INST_ENDING:A.procInstBody+=H;continue;case P.PROC_INST_ENDING:H===">"?(N(A,"onprocessinginstruction",{name:A.procInstName,body:A.procInstBody}),A.procInstName=A.procInstBody="",A.state=P.TEXT):(A.procInstBody+="?"+H,A.state=P.PROC_INST_BODY);continue;case P.OPEN_TAG:O(y,H)?A.tagName+=H:(Q(A),H===">"?oe(A):H==="/"?A.state=P.OPEN_TAG_SLASH:(_(H)||B(A,"Invalid character in tag name"),A.state=P.ATTRIB));continue;case P.OPEN_TAG_SLASH:H===">"?(oe(A,!0),ue(A)):(B(A,"Forward-slash in opening tag not followed by >"),A.state=P.ATTRIB);continue;case P.ATTRIB:if(_(H))continue;H===">"?oe(A):H==="/"?A.state=P.OPEN_TAG_SLASH:O(h,H)?(A.attribName=H,A.attribValue="",A.state=P.ATTRIB_NAME):B(A,"Invalid attribute name");continue;case P.ATTRIB_NAME:H==="="?A.state=P.ATTRIB_VALUE:H===">"?(B(A,"Attribute without value"),A.attribValue=A.attribName,K(A),oe(A)):_(H)?A.state=P.ATTRIB_NAME_SAW_WHITE:O(y,H)?A.attribName+=H:B(A,"Invalid attribute name");continue;case P.ATTRIB_NAME_SAW_WHITE:if(H==="=")A.state=P.ATTRIB_VALUE;else{if(_(H))continue;B(A,"Attribute without value"),A.tag.attributes[A.attribName]="",A.attribValue="",N(A,"onattribute",{name:A.attribName,value:""}),A.attribName="",H===">"?oe(A):O(h,H)?(A.attribName=H,A.state=P.ATTRIB_NAME):(B(A,"Invalid attribute name"),A.state=P.ATTRIB)}continue;case P.ATTRIB_VALUE:if(_(H))continue;w(H)?(A.q=H,A.state=P.ATTRIB_VALUE_QUOTED):(B(A,"Unquoted attribute value"),A.state=P.ATTRIB_VALUE_UNQUOTED,A.attribValue=H);continue;case P.ATTRIB_VALUE_QUOTED:if(H!==A.q){H==="&"?A.state=P.ATTRIB_VALUE_ENTITY_Q:A.attribValue+=H;continue}K(A),A.q="",A.state=P.ATTRIB_VALUE_CLOSED;continue;case P.ATTRIB_VALUE_CLOSED:_(H)?A.state=P.ATTRIB:H===">"?oe(A):H==="/"?A.state=P.OPEN_TAG_SLASH:O(h,H)?(B(A,"No whitespace between attributes"),A.attribName=H,A.attribValue="",A.state=P.ATTRIB_NAME):B(A,"Invalid attribute name");continue;case P.ATTRIB_VALUE_UNQUOTED:if(!T(H)){H==="&"?A.state=P.ATTRIB_VALUE_ENTITY_U:A.attribValue+=H;continue}K(A),H===">"?oe(A):A.state=P.ATTRIB;continue;case P.CLOSE_TAG:if(A.tagName)H===">"?ue(A):O(y,H)?A.tagName+=H:A.script?(A.script+=""+A.tagName,A.tagName="",A.state=P.SCRIPT):(_(H)||B(A,"Invalid tagname in closing tag"),A.state=P.CLOSE_TAG_SAW_WHITE);else{if(_(H))continue;E(h,H)?A.script?(A.script+=""+H,A.state=P.SCRIPT):B(A,"Invalid tagname in closing tag."):A.tagName=H}continue;case P.CLOSE_TAG_SAW_WHITE:if(_(H))continue;H===">"?ue(A):B(A,"Invalid characters in closing tag");continue;case P.TEXT_ENTITY:case P.ATTRIB_VALUE_ENTITY_Q:case P.ATTRIB_VALUE_ENTITY_U:var le,Ce;switch(A.state){case P.TEXT_ENTITY:le=P.TEXT,Ce="textNode";break;case P.ATTRIB_VALUE_ENTITY_Q:le=P.ATTRIB_VALUE_QUOTED,Ce="attribValue";break;case P.ATTRIB_VALUE_ENTITY_U:le=P.ATTRIB_VALUE_UNQUOTED,Ce="attribValue";break}if(H===";")if(A.opt.unparsedEntities){var He=de(A);A.entity="",A.state=le,A.write(He)}else A[Ce]+=de(A),A.entity="",A.state=le;else O(A.entity.length?b:g,H)?A.entity+=H:(B(A,"Invalid character in entity name"),A[Ce]+="&"+A.entity+H,A.entity="",A.state=le);continue;default:throw new Error(A,"Unknown state: "+A.state)}return A.position>=A.bufferCheckPosition&&n(A),A}return String.fromCodePoint||function(){var j=String.fromCharCode,A=Math.floor,U=function(){var H=16384,re=[],Z,le,Ce=-1,He=arguments.length;if(!He)return"";for(var lt="";++Ce1114111||A(qe)!==qe)throw RangeError("Invalid code point: "+qe);qe<=65535?re.push(qe):(qe-=65536,Z=(qe>>10)+55296,le=qe%1024+56320,re.push(Z,le)),(Ce+1===He||re.length>H)&&(lt+=j.apply(null,re),re.length=0)}return lt};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:U,configurable:!0,writable:!0}):String.fromCodePoint=U}(),t},vNt=twn()});function Xge(t){let e=rwn(t),r=vNt.parser(!0),n={},o=[];r.onopentag=s=>{let u={name:s.name,attributes:s.attributes,children:[],text:"",isSelfClosing:s.isSelfClosing};o.length>0?o[o.length-1].children.push(u):n=u,s.isSelfClosing||o.push(u)},r.onclosetag=()=>{if(o.length>0){let s=o.pop();o.length===0&&s&&(n=s)}},r.ontext=s=>{if(o.length>0){let u=o[o.length-1];u.text+=s}},r.onattribute=s=>{if(o.length>0){let u=o[o.length-1];u.attributes[s.name]=s.value}};let i=/```(xml)?(.*)```/s.exec(e),a=i?i[2]:e;return r.write(a).close(),n&&n.name==="?xml"&&(n=n.children[0]),CNt(n)}var Gge,SNt,rwn,CNt,xNt=v(()=>{mee();dF();I3e();wNt();Gge=`The output should be formatted as a XML file.
-1. Output should conform to the tags below.
-2. If tags are not given, make them on your own.
-3. Remember to always open and close all the tags.
-
-As an example, for the tags ["foo", "bar", "baz"]:
-1. String "
-
-
-
-" is a well-formatted instance of the schema.
-2. String "
-
- " is a badly-formatted instance.
-3. String "
-
-
-" is a badly-formatted instance.
-
-Here are the output tags:
-\`\`\`
-{tags}
-\`\`\``,SNt=class extends cF{constructor(e){super(e);x(this,"tags");x(this,"lc_namespace",["langchain_core","output_parsers"]);x(this,"lc_serializable",!0);this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}_diff(e,r){if(r)return e?sJ(e,r):[{op:"replace",path:"",value:r}]}async parsePartialResult(e){return Xge(e[0].text)}async parse(e){return Xge(e)}getFormatInstructions(){return!!(this.tags&&this.tags.length>0)?Gge.replace("{tags}",this.tags?.join(", ")??""):Gge}},rwn=t=>t.split(`
-`).map(e=>e.replace(/^\s+/,"")).join(`
-`).trim(),CNt=t=>{if(Object.keys(t).length===0)return{};let e={};return t.children.length>0?(e[t.name]=t.children.map(CNt),e):(e[t.name]=t.text??void 0,e)}});var nwn,fO=v(()=>{Jo();NQ();MJ();dF();dNt();gNt();yNt();_Nt();A3e();xNt();nwn={};$t(nwn,{AsymmetricStructuredOutputParser:()=>bNt,BaseCumulativeTransformOutputParser:()=>cF,BaseLLMOutputParser:()=>v4,BaseOutputParser:()=>o1,BaseTransformOutputParser:()=>i1,BytesOutputParser:()=>cNt,CommaSeparatedListOutputParser:()=>fNt,CustomListOutputParser:()=>pNt,JsonMarkdownStructuredOutputParser:()=>R3e,JsonOutputParser:()=>j_,ListOutputParser:()=>RJ,MarkdownListOutputParser:()=>hNt,NumberedListOutputParser:()=>mNt,OutputParserException:()=>Ih,StringOutputParser:()=>Kge,StructuredOutputParser:()=>uw,XMLOutputParser:()=>SNt,XML_FORMAT_INSTRUCTIONS:()=>Gge,parseJsonMarkdown:()=>AQ,parsePartialJson:()=>Mz,parseXMLMarkdown:()=>Xge})});var jS,IJ=v(()=>{Pg();jS=class extends Go{constructor(e){super(e);x(this,"lc_serializable",!0);x(this,"lc_namespace",["langchain_core","prompts",this._getPromptType()]);x(this,"inputVariables");x(this,"outputParser");x(this,"partialVariables");x(this,"metadata");x(this,"tags");let{inputVariables:r}=e;if(r.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}get lc_attributes(){return{partialVariables:void 0}}async mergePartialAndUserVariables(e){let r=this.partialVariables??{},n={};for(let[i,a]of Object.entries(r))typeof a=="string"?n[i]=a:n[i]=await a();return{...n,...e}}async invoke(e,r){let n={...this.metadata,...r?.metadata},o=[...this.tags??[],...r?.tags??[]];return this._callWithConfig(i=>this.formatPromptValue(i),e,{...r,tags:o,metadata:n,runType:"prompt"})}}});var own,Zge,ste,ute,N3e,lte=v(()=>{Jo();kL();zL();UC();own={};$t(own,{BasePromptValue:()=>Zge,ChatPromptValue:()=>ute,ImagePromptValue:()=>N3e,StringPromptValue:()=>ste});Zge=class extends Cg{},ste=class extends Zge{constructor(e){super({value:e});x(this,"lc_namespace",["langchain_core","prompt_values"]);x(this,"lc_serializable",!0);x(this,"value");this.value=e}static lc_name(){return"StringPromptValue"}toString(){return this.value}toChatMessages(){return[new qs(this.value)]}},ute=class extends Zge{constructor(e){Array.isArray(e)&&(e={messages:e});super(e);x(this,"lc_namespace",["langchain_core","prompt_values"]);x(this,"lc_serializable",!0);x(this,"messages");this.messages=e.messages}static lc_name(){return"ChatPromptValue"}toString(){return fl(this.messages)}toChatMessages(){return this.messages}},N3e=class extends Zge{constructor(e){"imageUrl"in e||(e={imageUrl:e});super(e);x(this,"lc_namespace",["langchain_core","prompt_values"]);x(this,"lc_serializable",!0);x(this,"imageUrl");x(this,"value");this.imageUrl=e.imageUrl}static lc_name(){return"ImagePromptValue"}toString(){return this.imageUrl.url}toChatMessages(){return[new qs({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}}});var a1,cte=v(()=>{lte();IJ();a1=class extends jS{async formatPromptValue(t){let e=await this.format(t);return new ste(e)}}});function j3e(t){return typeof t=="function"}function awn(t){return NJ(t)?"array":typeof t}function D3e(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function TNt(t,e){return t!=null&&typeof t=="object"&&e in t}function swn(t,e){return t!=null&&typeof t!="object"&&t.hasOwnProperty&&t.hasOwnProperty(e)}function lwn(t,e){return uwn.call(t,e)}function dwn(t){return!lwn(cwn,t)}function pwn(t){return String(t).replace(/[&<>"'`=\/]/g,function(r){return fwn[r]})}function bwn(t,e){if(!t)return[];var r=!1,n=[],o=[],i=[],a=!1,s=!1,u="",l=0;function c(){if(a&&!s)for(;i.length;)delete o[i.pop()];else i=[];a=!1,s=!1}var d,f,p;function m(P){if(typeof P=="string"&&(P=P.split(hwn,2)),!NJ(P)||P.length!==2)throw new Error("Invalid tags: "+P);d=new RegExp(D3e(P[0])+"\\s*"),f=new RegExp("\\s*"+D3e(P[1])),p=new RegExp("\\s*"+D3e("}"+P[1]))}m(e||$S.tags);for(var h=new fte(t),y,g,b,_,w,T;!h.eos();){if(y=h.pos,b=h.scanUntil(d),b)for(var O=0,E=b.length;O"?w=[g,b,y,h.pos,u,l,r]:w=[g,b,y,h.pos],l++,o.push(w),g==="#"||g==="^")n.push(w);else if(g==="/"){if(T=n.pop(),!T)throw new Error('Unopened section "'+b+'" at '+y);if(T[1]!==b)throw new Error('Unclosed section "'+T[1]+'" at '+y)}else g==="name"||g==="{"||g==="&"?s=!0:g==="="&&m(b)}if(c(),T=n.pop(),T)throw new Error('Unclosed section "'+T[1]+'" at '+h.pos);return vwn(_wn(o))}function _wn(t){for(var e=[],r,n,o=0,i=t.length;o0?n[n.length-1][4]:e;break;default:r.push(o)}return e}function fte(t){this.string=t,this.tail=t,this.pos=0}function AJ(t,e){this.view=t,this.cache={".":this.view},this.parent=e}function qb(){this.templateCache={_cache:{},set:function(e,r){this._cache[e]=r},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}var iwn,NJ,uwn,cwn,fwn,mwn,hwn,ONt,gwn,ywn,$S,dte,Yge,ENt=v(()=>{iwn=Object.prototype.toString,NJ=Array.isArray||function(e){return iwn.call(e)==="[object Array]"};uwn=RegExp.prototype.test;cwn=/\S/;fwn={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};mwn=/\s*/,hwn=/\s+/,ONt=/\s*=/,gwn=/\s*\}/,ywn=/#|\^|\/|>|\{|&|=|!/;fte.prototype.eos=function(){return this.tail===""};fte.prototype.scan=function(e){var r=this.tail.match(e);if(!r||r.index!==0)return"";var n=r[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};fte.prototype.scanUntil=function(e){var r=this.tail.search(e),n;switch(r){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,r),this.tail=this.tail.substring(r)}return this.pos+=n.length,n};AJ.prototype.push=function(e){return new AJ(e,this)};AJ.prototype.lookup=function(e){var r=this.cache,n;if(r.hasOwnProperty(e))n=r[e];else{for(var o=this,i,a,s,u=!1;o;){if(e.indexOf(".")>0)for(i=o.view,a=e.split("."),s=0;i!=null&&s"?l=this.renderPartial(s,r,n,i):u==="&"?l=this.unescapedValue(s,r):u==="name"?l=this.escapedValue(s,r,i):u==="text"&&(l=this.rawValue(s)),l!==void 0&&(a+=l);return a};qb.prototype.renderSection=function(e,r,n,o,i){var a=this,s="",u=r.lookup(e[1]);function l(f){return a.render(f,r,n,i)}if(u){if(NJ(u))for(var c=0,d=u.length;c0||!n)&&(i[a]=o+i[a]);return i.join(`
-`)};qb.prototype.renderPartial=function(e,r,n,o){if(n){var i=this.getConfigTags(o),a=j3e(n)?n(e[1]):n[e[1]];if(a!=null){var s=e[6],u=e[5],l=e[4],c=a;u==0&&l&&(c=this.indentPartial(a,l,s));var d=this.parse(c,i);return this.renderTokens(d,r,n,c,o)}}};qb.prototype.unescapedValue=function(e,r){var n=r.lookup(e[1]);if(n!=null)return n};qb.prototype.escapedValue=function(e,r,n){var o=this.getConfigEscape(n)||$S.escape,i=r.lookup(e[1]);if(i!=null)return typeof i=="number"&&o===$S.escape?String(i):o(i)};qb.prototype.rawValue=function(e){return e[1]};qb.prototype.getConfigTags=function(e){return NJ(e)?e:e&&typeof e=="object"?e.tags:void 0};qb.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!NJ(e))return e.escape};$S={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(t){dte.templateCache=t},get templateCache(){return dte.templateCache}},dte=new qb;$S.clearCache=function(){return dte.clearCache()};$S.parse=function(e,r){return dte.parse(e,r)};$S.render=function(e,r,n,o){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+awn(e)+'" was given as the first argument for mustache#render(template, view, partials)');return dte.render(e,r,n,o)};$S.escape=pwn;$S.Scanner=fte;$S.Context=AJ;$S.Writer=qb;Yge=$S});function PNt(){Yge.escape=t=>t}var w4,MNt,DJ,$3e,L3e,pte,F3e,Dy,S4,s1,C4=v(()=>{DQ();ENt();w4=t=>{let e=t.split(""),r=[],n=(i,a)=>{for(let s=a;s{let r=[];for(let n of t)if(n[0]==="name"){let o=n[1].includes(".")?n[1].split(".")[0]:n[1];r.push({type:"variable",name:o})}else if(["#","&","^",">"].includes(n[0])){if(r.push({type:"variable",name:n[1]}),n[0]==="#"&&n.length>4&&Array.isArray(n[4])){let o=[...e,n[1]],i=MNt(n[4],o);r.push(...i)}}else r.push({type:"literal",text:n[1]});return r},DJ=t=>{PNt();let e=Yge.parse(t);return MNt(e)},$3e=(t,e)=>w4(t).reduce((r,n)=>{if(n.type==="variable"){if(n.name in e){let o=typeof e[n.name]=="string"?e[n.name]:JSON.stringify(e[n.name]);return r+o}throw new Error(`(f-string) Missing value for input ${n.name}`)}return r+n.text},""),L3e=(t,e)=>(PNt(),Yge.render(t,e)),pte={"f-string":$3e,mustache:L3e},F3e={"f-string":w4,mustache:DJ},Dy=(t,e,r)=>{try{return pte[e](t,r)}catch(n){throw FL(n,"INVALID_PROMPT_INPUT")}},S4=(t,e)=>F3e[e](t),s1=(t,e,r)=>{if(!(e in pte)){let n=Object.keys(pte);throw new Error(`Invalid template format. Got \`${e}\`;
- should be one of ${n}`)}try{let n=Object.fromEntries(r.map(o=>[o,"foo"]));Array.isArray(t)?t.forEach(o=>{if(o.type==="text"&&"text"in o&&typeof o.text=="string")Dy(o.text,e,n);else if(o.type==="image_url"){if(typeof o.image_url=="string")Dy(o.image_url,e,n);else if(typeof o.image_url=="object"&&o.image_url!==null&&"url"in o.image_url&&typeof o.image_url.url=="string"){let i=o.image_url.url;Dy(i,e,n)}}else throw new Error(`Invalid message template received. ${JSON.stringify(o,null,2)}`)}):Dy(t,e,n)}catch(n){throw new Error(`Invalid prompt schema: ${n.message}`)}}});var mu,Qge=v(()=>{cte();C4();mu=class mte extends a1{constructor(r){super(r);x(this,"template");x(this,"templateFormat","f-string");x(this,"validateTemplate",!0);x(this,"additionalContentFields");if(r.templateFormat==="mustache"&&r.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,r),this.validateTemplate){if(this.templateFormat==="mustache")throw new Error("Mustache templates cannot be validated.");let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),s1(this.template,this.templateFormat,n)}}static lc_name(){return"PromptTemplate"}_getPromptType(){return"prompt"}async format(r){let n=await this.mergePartialAndUserVariables(r);return Dy(this.template,this.templateFormat,n)}static fromExamples(r,n,o,i=`
-
-`,a=""){let s=[a,...r,n].join(i);return new mte({inputVariables:o,template:s})}static fromTemplate(r,n){let{templateFormat:o="f-string",...i}=n??{},a=new Set;return S4(r,o).forEach(s=>{s.type==="variable"&&a.add(s.name)}),new mte({inputVariables:[...a],templateFormat:o,template:r,...i})}async partial(r){let n=this.inputVariables.filter(a=>!(a in r)),o={...this.partialVariables??{},...r},i={...this,inputVariables:n,partialVariables:o};return new mte(i)}serialize(){if(this.outputParser!==void 0)throw new Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(r){if(!r.template)throw new Error("Prompt template must have a template");return new mte({inputVariables:r.input_variables,template:r.template,templateFormat:r.template_format})}}});var jJ,k3e=v(()=>{lte();IJ();C4();jJ=class RNt extends jS{constructor(r){super(r);x(this,"lc_namespace",["langchain_core","prompts","image"]);x(this,"template");x(this,"templateFormat","f-string");x(this,"validateTemplate",!0);x(this,"additionalContentFields");if(this.template=r.template,this.templateFormat=r.templateFormat??this.templateFormat,this.validateTemplate=r.validateTemplate??this.validateTemplate,this.additionalContentFields=r.additionalContentFields,this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),s1([{type:"image_url",image_url:this.template}],this.templateFormat,n)}}static lc_name(){return"ImagePromptTemplate"}_getPromptType(){return"prompt"}async partial(r){let n=this.inputVariables.filter(a=>!(a in r)),o={...this.partialVariables??{},...r},i={...this,inputVariables:n,partialVariables:o};return new RNt(i)}async format(r){let n={};for(let[s,u]of Object.entries(this.template))typeof u=="string"?n[s]=Dy(u,this.templateFormat,r):n[s]=u;let o=r.url||n.url,i=r.detail||n.detail;if(!o)throw new Error("Must provide either an image URL.");if(typeof o!="string")throw new Error("url must be a string.");let a={url:o};return i&&(a.detail=i),a}async formatPromptValue(r){let n=await this.format(r);return new N3e(n)}}});function q3e(t,e){let r=[];for(let n of Object.values(t))if(typeof n=="string")S4(n,e).forEach(o=>{o.type==="variable"&&r.push(o.name)});else if(Array.isArray(n))for(let o of n)typeof o=="string"?S4(o,e).forEach(i=>{i.type==="variable"&&r.push(i.name)}):typeof o=="object"&&r.push(...q3e(o,e));else typeof n=="object"&&n!==null&&r.push(...q3e(n,e));return Array.from(new Set(r))}function U3e(t,e,r){let n={};for(let[o,i]of Object.entries(t))if(typeof i=="string")n[o]=Dy(i,r,e);else if(Array.isArray(i)){let a=[];for(let s of i)typeof s=="string"?a.push(Dy(s,r,e)):typeof s=="object"&&a.push(U3e(s,e,r));n[o]=a}else typeof i=="object"&&i!==null?n[o]=U3e(i,e,r):n[o]=i;return n}var hte,B3e=v(()=>{Pg();C4();hte=class extends Go{constructor(e){let r=e.templateFormat??"f-string",n=q3e(e.template,r);super({inputVariables:n,...e});x(this,"lc_namespace",["langchain_core","prompts","dict"]);x(this,"lc_serializable",!0);x(this,"template");x(this,"templateFormat");x(this,"inputVariables");this.template=e.template,this.templateFormat=r,this.inputVariables=n}static lc_name(){return"DictPromptTemplate"}async format(e){return U3e(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}}});function wwn(t){return t===null||typeof t!="object"||Array.isArray(t)?!1:Object.keys(t).length===1&&"text"in t&&typeof t.text=="string"}function Swn(t){return t===null||typeof t!="object"||Array.isArray(t)?!1:"image_url"in t&&(typeof t.image_url=="string"||typeof t.image_url=="object"&&t.image_url!==null&&"url"in t.image_url&&typeof t.image_url.url=="string")}function Cwn(t){return typeof t.formatMessages=="function"}function xwn(t,e){if(Cwn(t)||xg(t))return t;if(Array.isArray(t)&&t[0]==="placeholder"){let o=t[1];if(e?.templateFormat==="mustache"&&typeof o=="string"&&o.slice(0,2)==="{{"&&o.slice(-2)==="}}"){let i=o.slice(2,-2);return new pO({variableName:i,optional:!0})}else if(typeof o=="string"&&o[0]==="{"&&o[o.length-1]==="}"){let i=o.slice(1,-1);return new pO({variableName:i,optional:!0})}throw new Error(`Invalid placeholder template for format ${e?.templateFormat??'"f-string"'}: "${t[1]}". Expected a variable name surrounded by ${e?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let r=wS(t),n;if(typeof r.content=="string"?n=r.content:n=r.content.map(o=>"text"in o?{...o,text:o.text}:"image_url"in o?{...o,image_url:o.image_url}:o),r._getType()==="human")return $_.fromTemplate(n,e);if(r._getType()==="ai")return tye.fromTemplate(n,e);if(r._getType()==="system")return LS.fromTemplate(n,e);if(Td.isInstance(r))return V3e.fromTemplate(r.content,r.role,e);throw new Error(`Could not coerce message prompt template from input. Received message type: "${r._getType()}".`)}function Twn(t){return t.constructor.lc_name()==="MessagesPlaceholder"}var gte,pO,z3e,yte,V3e,H3e,$_,tye,LS,Ah,bte=v(()=>{Oy();DQ();UQ();zL();BQ();UC();vS();Pg();ta();lte();IJ();cte();C4();Qge();k3e();B3e();gte=class extends Go{constructor(){super(...arguments);x(this,"lc_namespace",["langchain_core","prompts","chat"]);x(this,"lc_serializable",!0)}async invoke(e,r){return this._callWithConfig(n=>this.formatMessages(n),e,{...r,runType:"prompt"})}},pO=class extends gte{constructor(e){typeof e=="string"&&(e={variableName:e});super(e);x(this,"variableName");x(this,"optional");this.variableName=e.variableName,this.optional=e.optional??!1}static lc_name(){return"MessagesPlaceholder"}get inputVariables(){return[this.variableName]}async formatMessages(e){let r=e[this.variableName];if(this.optional&&!r)return[];if(!r){let o=new Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw o.name="InputFormatError",o}let n;try{Array.isArray(r)?n=r.map(wS):n=[wS(r)]}catch(o){let i=typeof r=="string"?r:JSON.stringify(r,null,2),a=new Error([`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,`Received value: ${i}`,`Additional message: ${o.message}`].join(`
-
-`));throw a.name="InputFormatError",a.lc_error_code=o.lc_error_code,a}return n}},z3e=class extends gte{constructor(e){"prompt"in e||(e={prompt:e});super(e);x(this,"prompt");this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},yte=class extends jS{constructor(t){super(t)}async format(t){return(await this.formatPromptValue(t)).toString()}async formatPromptValue(t){let e=await this.formatMessages(t);return new ute(e)}},V3e=class extends z3e{constructor(e,r){"prompt"in e||(e={prompt:e,role:r});super(e);x(this,"role");this.role=e.role}static lc_name(){return"ChatMessagePromptTemplate"}async format(e){return new Td(await this.prompt.format(e),this.role)}static fromTemplate(e,r,n){return new this(mu.fromTemplate(e,{templateFormat:n?.templateFormat}),r)}};H3e=class extends gte{constructor(e,r){"prompt"in e||(e={prompt:e});super(e);x(this,"lc_namespace",["langchain_core","prompts","chat"]);x(this,"lc_serializable",!0);x(this,"inputVariables",[]);x(this,"additionalOptions",{});x(this,"prompt");x(this,"messageClass");x(this,"chatMessageClass");if(this.prompt=e.prompt,Array.isArray(this.prompt)){let n=[];this.prompt.forEach(o=>{"inputVariables"in o&&(n=n.concat(o.inputVariables))}),this.inputVariables=n}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=r??this.additionalOptions}static _messageClass(){throw new Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}createMessage(e){let r=this.constructor;if(r._messageClass()){let n=r._messageClass();return new n({content:e})}else if(r.chatMessageClass){let n=r.chatMessageClass();return new n({content:e,role:this.getRoleFromMessageClass(n.lc_name())})}else throw new Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw new Error("Invalid message class name")}}static fromTemplate(e,r){if(typeof e=="string")return new this(mu.fromTemplate(e,r));let n=[];for(let o of e)if(typeof o=="string")n.push(mu.fromTemplate(o,r));else if(o!==null)if(wwn(o)){let i="";typeof o.text=="string"&&(i=o.text??"");let a={...r,additionalContentFields:o};n.push(mu.fromTemplate(i,a))}else if(Swn(o)){let i=o.image_url??"",a,s=[];if(typeof i=="string"){let u;r?.templateFormat==="mustache"?u=DJ(i):u=w4(i);let l=u.flatMap(c=>c.type==="variable"?[c.name]:[]);if((l?.length??0)>0){if(l.length>1)throw new Error(`Only one format variable allowed per image template.
-Got: ${l}
-From: ${i}`);s=[l[0]]}else s=[];i={url:i},a=new jJ({template:i,inputVariables:s,templateFormat:r?.templateFormat,additionalContentFields:o})}else if(typeof i=="object"){if("url"in i){let u;r?.templateFormat==="mustache"?u=DJ(i.url):u=w4(i.url),s=u.flatMap(l=>l.type==="variable"?[l.name]:[])}else s=[];a=new jJ({template:i,inputVariables:s,templateFormat:r?.templateFormat,additionalContentFields:o})}else throw new Error("Invalid image template");n.push(a)}else typeof o=="object"&&n.push(new hte({template:o,templateFormat:r?.templateFormat}));return new this({prompt:n,additionalOptions:r})}async format(e){if(this.prompt instanceof a1){let r=await this.prompt.format(e);return this.createMessage(r)}else{let r=[];for(let n of this.prompt){let o={};if(!("inputVariables"in n))throw new Error(`Prompt ${n} does not have inputVariables defined.`);for(let i of n.inputVariables)o||(o={[i]:e[i]}),o={...o,[i]:e[i]};if(n instanceof a1){let i=await n.format(o),a;"additionalContentFields"in n&&(a=n.additionalContentFields),i!==""&&r.push({...a,type:"text",text:i})}else if(n instanceof jJ){let i=await n.format(o),a;"additionalContentFields"in n&&(a=n.additionalContentFields),r.push({...a,type:"image_url",image_url:i})}else if(n instanceof hte){let i=await n.format(o),a;"additionalContentFields"in n&&(a=n.additionalContentFields),r.push({...a,...i})}}return this.createMessage(r)}}async formatMessages(e){return[await this.format(e)]}},$_=class extends H3e{static _messageClass(){return qs}static lc_name(){return"HumanMessagePromptTemplate"}},tye=class extends H3e{static _messageClass(){return Pn}static lc_name(){return"AIMessagePromptTemplate"}},LS=class extends H3e{static _messageClass(){return Od}static lc_name(){return"SystemMessagePromptTemplate"}};Ah=class eye extends yte{constructor(r){super(r);x(this,"promptMessages");x(this,"validateTemplate",!0);x(this,"templateFormat","f-string");if(r.templateFormat==="mustache"&&r.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,r),this.validateTemplate){let n=new Set;for(let u of this.promptMessages)if(!(u instanceof id))for(let l of u.inputVariables)n.add(l);let o=this.inputVariables,i=new Set(this.partialVariables?o.concat(Object.keys(this.partialVariables)):o),a=new Set([...i].filter(u=>!n.has(u)));if(a.size>0)throw new Error(`Input variables \`${[...a]}\` are not used in any of the prompt messages.`);let s=new Set([...n].filter(u=>!i.has(u)));if(s.size>0)throw new Error(`Input variables \`${[...s]}\` are used in prompt messages but not in the prompt template.`)}}static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}_getPromptType(){return"chat"}async _parseImagePrompts(r,n){if(typeof r.content=="string")return r;let o=await Promise.all(r.content.map(async i=>{if(i.type!=="image_url")return i;let a="";typeof i.image_url=="string"?a=i.image_url:typeof i.image_url=="object"&&i.image_url!==null&&"url"in i.image_url&&typeof i.image_url.url=="string"&&(a=i.image_url.url);let u=await mu.fromTemplate(a,{templateFormat:this.templateFormat}).format(n);return typeof i.image_url=="object"&&i.image_url!==null&&"url"in i.image_url?i.image_url.url=u:i.image_url=u,i}));return r.content=o,r}async formatMessages(r){let n=await this.mergePartialAndUserVariables(r),o=[];for(let i of this.promptMessages)if(i instanceof id)o.push(await this._parseImagePrompts(i,n));else{let a;this.templateFormat==="mustache"?a={...n}:a=i.inputVariables.reduce((u,l)=>{if(!(l in n)&&!(Twn(i)&&i.optional))throw FL(new Error(`Missing value for input variable \`${l.toString()}\``),"INVALID_PROMPT_INPUT");return u[l]=n[l],u},{});let s=await i.formatMessages(a);o=o.concat(s)}return o}async partial(r){let n=this.inputVariables.filter(a=>!(a in r)),o={...this.partialVariables??{},...r},i={...this,inputVariables:n,partialVariables:o};return new eye(i)}static fromTemplate(r,n){let o=mu.fromTemplate(r,n),i=new $_({prompt:o});return this.fromMessages([i])}static fromMessages(r,n){let o=r.reduce((s,u)=>s.concat(u instanceof eye?u.promptMessages:[xwn(u,n)]),[]),i=r.reduce((s,u)=>u instanceof eye?Object.assign(s,u.partialVariables):s,Object.create(null)),a=new Set;for(let s of o)if(!(s instanceof id))for(let u of s.inputVariables)u in i||a.add(u);return new this({...n,inputVariables:[...a],promptMessages:o,partialVariables:i,templateFormat:n?.templateFormat})}}});var INt,ANt,DNt=v(()=>{cte();C4();Qge();bte();INt=class W3e extends a1{constructor(r){super(r);x(this,"lc_serializable",!1);x(this,"examples");x(this,"exampleSelector");x(this,"examplePrompt");x(this,"suffix","");x(this,"exampleSeparator",`
-
-`);x(this,"prefix","");x(this,"templateFormat","f-string");x(this,"validateTemplate",!0);if(Object.assign(this,r),this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),s1(this.prefix+this.suffix,this.templateFormat,n)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(r){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(r);throw new Error("One of 'examples' and 'example_selector' should be provided")}async partial(r){let n=this.inputVariables.filter(a=>!(a in r)),o={...this.partialVariables??{},...r},i={...this,inputVariables:n,partialVariables:o};return new W3e(i)}async format(r){let n=await this.mergePartialAndUserVariables(r),o=await this.getExamples(n),i=await Promise.all(o.map(s=>this.examplePrompt.format(s))),a=[this.prefix,...i,this.suffix].join(this.exampleSeparator);return Dy(a,this.templateFormat,n)}serialize(){if(this.exampleSelector||!this.examples)throw new Error("Serializing an example selector is not currently supported");if(this.outputParser!==void 0)throw new Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(r){let{example_prompt:n}=r;if(!n)throw new Error("Missing example prompt");let o=await mu.deserialize(n),i;if(Array.isArray(r.examples))i=r.examples;else throw new Error("Invalid examples format. Only list or string are supported.");return new W3e({inputVariables:r.input_variables,examplePrompt:o,examples:i,exampleSeparator:r.example_separator,prefix:r.prefix,suffix:r.suffix,templateFormat:r.template_format})}},ANt=class NNt extends yte{constructor(r){super(r);x(this,"lc_serializable",!0);x(this,"examples");x(this,"exampleSelector");x(this,"examplePrompt");x(this,"suffix","");x(this,"exampleSeparator",`
-
-`);x(this,"prefix","");x(this,"templateFormat","f-string");x(this,"validateTemplate",!0);if(this.examples=r.examples,this.examplePrompt=r.examplePrompt,this.exampleSeparator=r.exampleSeparator??`
-
-`,this.exampleSelector=r.exampleSelector,this.prefix=r.prefix??"",this.suffix=r.suffix??"",this.templateFormat=r.templateFormat??"f-string",this.validateTemplate=r.validateTemplate??!0,this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),s1(this.prefix+this.suffix,this.templateFormat,n)}}_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}async getExamples(r){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(r);throw new Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(r){let n=await this.mergePartialAndUserVariables(r),o=await this.getExamples(n);o=o.map(a=>{let s={};return this.examplePrompt.inputVariables.forEach(u=>{s[u]=a[u]}),s});let i=[];for(let a of o){let s=await this.examplePrompt.formatMessages(a);i.push(...s)}return i}async format(r){let n=await this.mergePartialAndUserVariables(r),o=await this.getExamples(n),a=(await Promise.all(o.map(u=>this.examplePrompt.formatMessages(u)))).flat().map(u=>u.content),s=[this.prefix,...a,this.suffix].join(this.exampleSeparator);return Dy(s,this.templateFormat,n)}async partial(r){let n=this.inputVariables.filter(a=>!(a in r)),o={...this.partialVariables??{},...r},i={...this,inputVariables:n,partialVariables:o};return new NNt(i)}}});var jNt,$Nt=v(()=>{IJ();bte();jNt=class rye extends jS{constructor(r){super({...r,inputVariables:[]});x(this,"pipelinePrompts");x(this,"finalPrompt");this.pipelinePrompts=r.pipelinePrompts,this.finalPrompt=r.finalPrompt,this.inputVariables=this.computeInputValues()}static lc_name(){return"PipelinePromptTemplate"}computeInputValues(){let r=this.pipelinePrompts.map(o=>o.name),n=this.pipelinePrompts.map(o=>o.prompt.inputVariables.filter(i=>!r.includes(i))).flat();return[...new Set(n)]}static extractRequiredInputValues(r,n){return n.reduce((o,i)=>(o[i]=r[i],o),{})}async formatPipelinePrompts(r){let n=await this.mergePartialAndUserVariables(r);for(let{name:o,prompt:i}of this.pipelinePrompts){let a=rye.extractRequiredInputValues(n,i.inputVariables);i instanceof Ah?n[o]=await i.formatMessages(a):n[o]=await i.format(a)}return rye.extractRequiredInputValues(n,this.finalPrompt.inputVariables)}async formatPromptValue(r){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(r))}async format(r){return this.finalPrompt.format(await this.formatPipelinePrompts(r))}async partial(r){let n={...this};return n.inputVariables=this.inputVariables.filter(o=>!(o in r)),n.partialVariables={...this.partialVariables??{},...r},new rye(n)}serialize(){throw new Error("Not implemented.")}_getPromptType(){return"pipeline"}}});function LNt(t){return typeof t=="object"&&t!=null&&"withStructuredOutput"in t&&typeof t.withStructuredOutput=="function"}function Own(t){return typeof t=="object"&&t!=null&&"lc_id"in t&&Array.isArray(t.lc_id)&&t.lc_id.join("/")==="langchain_core/runnables/RunnableBinding"}var FNt,qNt=v(()=>{Pg();bte();FNt=class kNt extends Ah{constructor(r){super(r);x(this,"schema");x(this,"method");x(this,"lc_namespace",["langchain_core","prompts","structured"]);this.schema=r.schema,this.method=r.method}get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}pipe(r){if(LNt(r))return super.pipe(r.withStructuredOutput(this.schema));if(Own(r)&&LNt(r.bound))return super.pipe(new DS({bound:r.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:r.kwargs??{},config:r.config,configFactories:r.configFactories}));throw new Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(r,n,o){return kNt.fromMessages(r,{schema:n,method:o})}}});var Ewn,FS=v(()=>{Jo();IJ();cte();C4();Qge();k3e();B3e();bte();DNt();$Nt();qNt();Ewn={};$t(Ewn,{AIMessagePromptTemplate:()=>tye,BaseChatPromptTemplate:()=>yte,BaseMessagePromptTemplate:()=>gte,BaseMessageStringPromptTemplate:()=>z3e,BasePromptTemplate:()=>jS,BaseStringPromptTemplate:()=>a1,ChatMessagePromptTemplate:()=>V3e,ChatPromptTemplate:()=>Ah,DEFAULT_FORMATTER_MAPPING:()=>pte,DEFAULT_PARSER_MAPPING:()=>F3e,DictPromptTemplate:()=>hte,FewShotChatMessagePromptTemplate:()=>ANt,FewShotPromptTemplate:()=>INt,HumanMessagePromptTemplate:()=>$_,ImagePromptTemplate:()=>jJ,MessagesPlaceholder:()=>pO,PipelinePromptTemplate:()=>jNt,PromptTemplate:()=>mu,StructuredPrompt:()=>FNt,SystemMessagePromptTemplate:()=>LS,checkValidTemplate:()=>s1,interpolateFString:()=>$3e,interpolateMustache:()=>L3e,parseFString:()=>w4,parseMustache:()=>DJ,parseTemplate:()=>S4,renderTemplate:()=>Dy})});var Pwn,$J,nye=v(()=>{Pwn=Object.defineProperty,$J=(t,e)=>{for(var r in e)Pwn(t,r,{get:e[r],enumerable:!0})}});var Mwn,_te,J3e=v(()=>{nye();Mwn={};$J(Mwn,{formatDocumentsAsString:()=>_te});_te=t=>t.map(e=>e.pageContent).join(`
-
-`)});function bc(t,e){let r=`atom${++Rwn}`,n={toString(){return(zl.env?zl.env.MODE:void 0)!=="production"&&this.debugLabel?r+":"+this.debugLabel:r}};return typeof t=="function"?n.read=t:(n.init=t,n.read=Iwn,n.write=Awn),e&&(n.write=e),n}function Iwn(t){return t(this)}function Awn(t,e,r){return e(this,typeof r=="function"?r(t(this)):r)}var zl,Rwn,UNt,K3e,G3e,iye,Z3e,Nwn,Dwn,Y3e,BNt,oye,HNt,zNt,LJ,X3e,jwn,$wn,VNt,fF,WNt,pF,vte,JNt,Q3e=v(()=>{zl={},Rwn=0;UNt=(t,e)=>t.unstable_is?t.unstable_is(e):e===t,K3e=t=>"init"in t,G3e=t=>!!t.write,iye=new WeakMap,Z3e=t=>{var e;return Y3e(t)&&!((e=iye.get(t))!=null&&e[1])},Nwn=(t,e)=>{let r=iye.get(t);if(r)r[1]=!0,r[0].forEach(n=>n(e));else if((zl.env?zl.env.MODE:void 0)!=="production")throw new Error("[Bug] cancelable promise not found")},Dwn=t=>{if(iye.has(t))return;let e=[new Set,!1];iye.set(t,e);let r=()=>{e[1]=!0};t.then(r,r),t.onCancel=n=>{e[0].add(n)}},Y3e=t=>typeof t?.then=="function",BNt=t=>"v"in t||"e"in t,oye=t=>{if("e"in t)throw t.e;if((zl.env?zl.env.MODE:void 0)!=="production"&&!("v"in t))throw new Error("[Bug] atom state is not initialized");return t.v},HNt=(t,e,r)=>{r.p.has(t)||(r.p.add(t),e.then(()=>{r.p.delete(t)},()=>{r.p.delete(t)}))},zNt=(t,e,r,n,o)=>{var i;if((zl.env?zl.env.MODE:void 0)!=="production"&&n===e)throw new Error("[Bug] atom cannot depend on itself");r.d.set(n,o.n),Z3e(r.v)&&HNt(e,r.v,o),(i=o.m)==null||i.t.add(e),t&&jwn(t,n,e)},LJ=()=>[new Map,new Map,new Set],X3e=(t,e,r)=>{t[0].has(e)||t[0].set(e,new Set),t[1].set(e,r)},jwn=(t,e,r)=>{let n=t[0].get(e);n&&n.add(r)},$wn=(t,e)=>t[0].get(e),VNt=(t,e)=>{t[2].add(e)},fF=t=>{let e,r=!1,n=o=>{try{o()}catch(i){r||(e=i,r=!0)}};for(;t[1].size||t[2].size;){t[0].clear();let o=new Set(t[1].values());t[1].clear();let i=new Set(t[2]);t[2].clear(),o.forEach(a=>{var s;return(s=a.m)==null?void 0:s.l.forEach(n)}),i.forEach(n)}if(r)throw e},WNt=(...[t,e,r,n])=>{let o;(zl.env?zl.env.MODE:void 0)!=="production"&&(o=new Set);let i=(_,w,T)=>{let O="v"in w,E=w.v,P=Z3e(w.v)?w.v:null;if(Y3e(T)){Dwn(T);for(let R of w.d.keys())HNt(_,T,t(R));w.v=T,delete w.e}else w.v=T,delete w.e;(!O||!Object.is(E,w.v))&&(++w.n,P&&Nwn(P,T))},a=(_,w,T)=>{var O;let E=t(w);if(BNt(E)&&(E.m&&!T?.has(w)||Array.from(E.d).every(([V,k])=>a(_,V,T).n===k)))return E;E.d.clear();let P=!0,R=V=>{if(UNt(w,V)){let X=t(V);if(!BNt(X))if(K3e(V))i(V,X,V.init);else throw new Error("no atom init");return oye(X)}let k=a(_,V,T);try{return oye(k)}finally{if(P)zNt(_,w,E,V,k);else{let X=LJ();zNt(X,w,E,V,k),p(X,w,E),fF(X)}}},I,N,z={get signal(){return I||(I=new AbortController),I.signal},get setSelf(){return(zl.env?zl.env.MODE:void 0)!=="production"&&!G3e(w)&&console.warn("setSelf function cannot be used with read-only atom"),!N&&G3e(w)&&(N=(...V)=>{if((zl.env?zl.env.MODE:void 0)!=="production"&&P&&console.warn("setSelf function cannot be called in sync"),!P)return f(w,...V)}),N}};try{let V=e(w,R,z);if(i(w,E,V),Y3e(V)){(O=V.onCancel)==null||O.call(V,()=>I?.abort());let k=()=>{if(E.m){let X=LJ();p(X,w,E),fF(X)}};V.then(k,k)}return E}catch(V){return delete E.v,E.e=V,++E.n,E}finally{P=!1}},s=_=>oye(a(void 0,_)),u=(_,w,T)=>{var O,E;let P=new Map;for(let R of((O=T.m)==null?void 0:O.t)||[])P.set(R,t(R));for(let R of T.p)P.set(R,t(R));return(E=$wn(_,w))==null||E.forEach(R=>{P.set(R,t(R))}),P};function l(_,w,T){let O=[],E=new Set,P=new Set,R=[[w,T]];for(;R.length>0;){let[I,N]=R[R.length-1];if(P.has(I)){R.pop();continue}if(E.has(I)){O.push([I,N,N.n]),P.add(I),R.pop();continue}E.add(I);for(let[z,V]of u(_,I,N))I!==z&&!E.has(z)&&R.push([z,V])}return[O,P]}let c=(_,w,T)=>{let[O,E]=l(_,w,T),P=new Set([w]);for(let R=O.length-1;R>=0;--R){let[I,N,z]=O[R],V=!1;for(let k of N.d.keys())if(k!==I&&P.has(k)){V=!0;break}V&&(a(_,I,E),p(_,I,N),z!==N.n&&(X3e(_,I,N),P.add(I))),E.delete(I)}},d=(_,w,...T)=>{let O=!0,E=R=>oye(a(_,R)),P=(R,...I)=>{let N=t(R);try{if(UNt(w,R)){if(!K3e(R))throw new Error("atom not writable");let z=N.n,V=I[0];i(R,N,V),p(_,R,N),z!==N.n&&(X3e(_,R,N),c(_,R,N));return}else return d(_,R,...I)}finally{O||fF(_)}};try{return r(w,E,P,...T)}finally{O=!1}},f=(_,...w)=>{let T=LJ();try{return d(T,_,...w)}finally{fF(T)}},p=(_,w,T)=>{if(T.m&&!Z3e(T.v)){for(let O of T.d.keys())T.m.d.has(O)||(m(_,O,t(O)).t.add(w),T.m.d.add(O));for(let O of T.m.d||[])if(!T.d.has(O)){T.m.d.delete(O);let E=h(_,O,t(O));E?.t.delete(w)}}},m=(_,w,T)=>{if(!T.m){a(_,w);for(let O of T.d.keys())m(_,O,t(O)).t.add(w);if(T.m={l:new Set,d:new Set(T.d.keys()),t:new Set},(zl.env?zl.env.MODE:void 0)!=="production"&&o.add(w),G3e(w)){let O=T.m,E,P=(R,I)=>{let N=!0;E=(...z)=>{try{return d(R,w,...z)}finally{N||fF(R)}};try{return I()}finally{N=!1}};VNt(_,()=>{let R=P(_,()=>n(w,(...I)=>E(...I)));R&&(O.u=I=>P(I,R))})}}return T.m},h=(_,w,T)=>{if(T.m&&!T.m.l.size&&!Array.from(T.m.t).some(O=>{var E;return(E=t(O).m)==null?void 0:E.d.has(w)})){let O=T.m.u;O&&VNt(_,()=>O(_)),delete T.m,(zl.env?zl.env.MODE:void 0)!=="production"&&o.delete(w);for(let E of T.d.keys()){let P=h(_,E,t(E));P?.t.delete(w)}return}return T.m},b={get:s,set:f,sub:(_,w)=>{let T=LJ(),O=t(_),P=m(T,_,O).l;return P.add(w),fF(T),()=>{P.delete(w);let R=LJ();h(R,_,O),fF(R)}},unstable_derive:_=>WNt(..._(t,e,r,n))};return(zl.env?zl.env.MODE:void 0)!=="production"&&Object.assign(b,{dev4_get_internal_weak_map:()=>({get:w=>{let T=t(w);if(T.n!==0)return T}}),dev4_get_mounted_atoms:()=>o,dev4_restore_atoms:w=>{let T=LJ();for(let[O,E]of w)if(K3e(O)){let P=t(O),R=P.n;i(O,P,E),p(T,O,P),R!==P.n&&(X3e(T,O,P),c(T,O,P))}fF(T)}}),b},pF=()=>{let t=new WeakMap;return WNt(r=>{if((zl.env?zl.env.MODE:void 0)!=="production"&&!r)throw new Error("Atom is undefined or null");let n=t.get(r);return n||(n={d:new Map,p:new Set,n:0},t.set(r,n)),n},(r,...n)=>r.read(...n),(r,...n)=>r.write(...n),(r,...n)=>{var o;return(o=r.onMount)==null?void 0:o.call(r,...n)})},JNt=()=>(vte||(vte=pF(),(zl.env?zl.env.MODE:void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=vte),globalThis.__JOTAI_DEFAULT_STORE__!==vte&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),vte)});var o1t=S($i=>{"use strict";var wte=Symbol.for("react.element"),Lwn=Symbol.for("react.portal"),Fwn=Symbol.for("react.fragment"),kwn=Symbol.for("react.strict_mode"),qwn=Symbol.for("react.profiler"),Uwn=Symbol.for("react.provider"),Bwn=Symbol.for("react.context"),zwn=Symbol.for("react.forward_ref"),Vwn=Symbol.for("react.suspense"),Hwn=Symbol.for("react.memo"),Wwn=Symbol.for("react.lazy"),KNt=Symbol.iterator;function Jwn(t){return t===null||typeof t!="object"?null:(t=KNt&&t[KNt]||t["@@iterator"],typeof t=="function"?t:null)}var ZNt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},YNt=Object.assign,QNt={};function FJ(t,e,r){this.props=t,this.context=e,this.refs=QNt,this.updater=r||ZNt}FJ.prototype.isReactComponent={};FJ.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};FJ.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function e1t(){}e1t.prototype=FJ.prototype;function tWe(t,e,r){this.props=t,this.context=e,this.refs=QNt,this.updater=r||ZNt}var rWe=tWe.prototype=new e1t;rWe.constructor=tWe;YNt(rWe,FJ.prototype);rWe.isPureReactComponent=!0;var GNt=Array.isArray,t1t=Object.prototype.hasOwnProperty,nWe={current:null},r1t={key:!0,ref:!0,__self:!0,__source:!0};function n1t(t,e,r){var n,o={},i=null,a=null;if(e!=null)for(n in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(i=""+e.key),e)t1t.call(e,n)&&!r1t.hasOwnProperty(n)&&(o[n]=e[n]);var s=arguments.length-2;if(s===1)o.children=r;else if(1{"use strict";i1t.exports=o1t()});function L_(t,e){let r=s1t(e),[[n,o,i],a]=(0,jy.useReducer)(l=>{let c=r.get(t);return Object.is(l[0],c)&&l[1]===r&&l[2]===t?l:[c,r,t]},void 0,()=>[r.get(t),r,t]),s=n;(o!==r||i!==t)&&(a(),s=r.get(t));let u=e?.delay;if((0,jy.useEffect)(()=>{let l=r.sub(t,()=>{if(typeof u=="number"){let c=r.get(t);aWe(c)&&u1t(a1t(c)),setTimeout(a,u);return}a()});return a(),l},[r,t,u]),(0,jy.useDebugValue)(s),aWe(s)){let l=a1t(s);return Qwn(l)}return s}function l1t(t,e){let r=s1t(e);return(0,jy.useCallback)((...o)=>{if((lye.env?lye.env.MODE:void 0)!=="production"&&!("write"in t))throw new Error("not writable atom");return r.set(t,...o)},[r,t])}function u1(t,e){return[L_(t,e),l1t(t,e)]}var jy,lye,Ywn,s1t,aWe,u1t,Qwn,iWe,a1t,c1t=v(()=>{"use client";jy=$(J(),1);Q3e();lye={},Ywn=(0,jy.createContext)(void 0),s1t=t=>{let e=(0,jy.useContext)(Ywn);return t?.store||e||JNt()},aWe=t=>typeof t?.then=="function",u1t=t=>{t.status="pending",t.then(e=>{t.status="fulfilled",t.value=e},e=>{t.status="rejected",t.reason=e})},Qwn=jy.default.use||(t=>{if(t.status==="pending")throw t;if(t.status==="fulfilled")return t.value;throw t.status==="rejected"?t.reason:(u1t(t),t)}),iWe=new WeakMap,a1t=t=>{let e=iWe.get(t);return e||(e=new Promise((r,n)=>{let o=t,i=u=>l=>{o===u&&r(l)},a=u=>l=>{o===u&&n(l)},s=u=>{"onCancel"in u&&typeof u.onCancel=="function"&&u.onCancel(l=>{if((lye.env?lye.env.MODE:void 0)!=="production"&&l===u)throw new Error("[Bug] p is not updated even after cancelation");aWe(l)?(iWe.set(l,e),o=l,l.then(i(l),a(l)),s(l)):r(l)})};t.then(i(t),a(t)),s(t)}),iWe.set(t,e)),e}});var XC=v(()=>{Q3e();c1t()});function qJ(t){return typeof t=="string"&&eSn.includes(t)}function tSn(t){return typeof t=="string"?t.trim():""}function cye(t){if(typeof t=="number"&&Number.isFinite(t)&&t>0)return t;if(typeof t=="string"){let e=Number(t);if(Number.isFinite(e)&&e>0)return e;let r=Date.parse(t);if(Number.isFinite(r))return r}return null}function rSn(t,e){let r=new Intl.Collator(void 0),n=u=>tSn(e.getName(u)),o=u=>{let l=e.getCreatedAtMs(u);return Number.isFinite(l)?l:0},i=u=>{let l=o(u);return cye(e.getLastUsedAtMs(u))??l},a=typeof e.getManualOrder=="function"?u=>{let l=e.getManualOrder?.(u);return typeof l=="number"&&Number.isFinite(l)?l:0}:null,s=t==="manual"&&!a?"name":t;return(u,l)=>{let c=n(u),d=n(l),f=o(u),p=o(l),m=i(u),h=i(l);if(s==="manual"){let _=a(u),w=a(l);if(_!==w)return _-w}else if(s==="name"){let _=r.compare(c,d);if(_!==0)return _}else if(s==="created"){let _=p-f;if(_!==0)return _}else{let _=h-m;if(_!==0)return _}let y=r.compare(c,d);if(y!==0)return y;let g=p-f;if(g!==0)return g;let b=h-m;return b!==0?b:0}}function mO(t,e,r){return[...t].sort(rSn(e,r))}var eSn,kJ,l1=v(()=>{eSn=["recent","created","name","manual"];kJ=class{constructor(e={}){this.lastTouchedAtMsByKey=new Map;this.lastPersistedAtMsByKey=new Map;this.revision=0;this.listeners=new Set;this.minIntervalMs=e.minIntervalMs??3e4,this.nowMs=e.nowMs??(()=>Date.now())}notifyChange(){this.revision+=1;for(let e of this.listeners)e()}getRevision(){return this.revision}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}touch(e){let r=this.nowMs();return this.lastTouchedAtMsByKey.set(e,r),this.notifyChange(),r}shouldPersist(e,r){let n=this.lastTouchedAtMsByKey.get(e);if(!n)return null;let o=cye(r),i=this.lastPersistedAtMsByKey.get(e),a=Math.max(o??0,i??0);return a===0?n:n-ano,getSettings:()=>te,resetSettings:()=>sWe,sanitizeQaExclusions:()=>f1t,sanitizeSettings:()=>uWe,setSettings:()=>F_,settingsAtom:()=>mF,settingsStore:()=>No,subscribeToSettingsChange:()=>hl,updateSetting:()=>Re,useSettingsValue:()=>Br});function nSn(t){let e=new Set((t.activeEmbeddingModels||[]).map(r=>no(r)));return t.embeddingModelKey&&e.has(t.embeddingModelKey)?t.embeddingModelKey:ko.embeddingModelKey}function F_(t){let e=oSn({...te(),...t});e.embeddingModelKey=nSn(e),No.set(mF,e)}function f1t(t){let r=(typeof t=="string"?t:lWe).split(",").map(o=>decodeURIComponent(o.trim())).filter(o=>o.length>0),n=new Map;return r.forEach(o=>{let i=o.replace(/\/+$/,""),a=i.length>0?i:o;if(a===ZC){n.set(ZC,ZC);return}if(!n.has(a)){let s=i.length>0&&o.endsWith("/")?`${i}/`:o;n.set(a,s)}}),n.set(ZC,ZC),Array.from(n.values()).map(o=>encodeURIComponent(o)).join(",")}function Re(t,e){let r=te();F_({...r,[t]:e})}function te(){return No.get(mF)}function sWe(){let t={...ko,activeModels:hO.map(e=>({...e,enabled:!0})),activeEmbeddingModels:T4.map(e=>({...e,enabled:!0}))};F_(t)}function hl(t){let e=te();return No.sub(mF,()=>{let r=te();t(e,r),e=r})}function Br(){return L_(mF,{store:No})}function uWe(t){let e=t||ko;e.userId||(e.userId=od()),e.activeEmbeddingModels?e.activeEmbeddingModels=e.activeEmbeddingModels.map(g=>({...g,provider:g.provider==="azure_openai"?"azure openai":g.provider})):e.activeEmbeddingModels=T4.map(g=>({...g,enabled:!0}));let r={...e},n=e;n.enableSelfHostedSearch!==void 0&&r.enableSelfHostMode===void 0&&(r.enableSelfHostMode=n.enableSelfHostedSearch),n.selfHostedSearchUrl!==void 0&&!r.selfHostUrl&&(r.selfHostUrl=n.selfHostedSearchUrl),n.selfHostedSearchApiKey!==void 0&&!r.selfHostApiKey&&(r.selfHostApiKey=n.selfHostedSearchApiKey);let o=Number(e.temperature);r.temperature=isNaN(o)?ko.temperature:o;let i=Number(e.maxTokens);r.maxTokens=isNaN(i)?ko.maxTokens:i;let a=Number(e.contextTurns);r.contextTurns=isNaN(a)?ko.contextTurns:a;let s=Number(e.embeddingRequestsPerMin);r.embeddingRequestsPerMin=isNaN(s)?ko.embeddingRequestsPerMin:s;let u=Number(e.embeddingBatchSize);r.embeddingBatchSize=isNaN(u)?ko.embeddingBatchSize:u;let l=Number(e.lexicalSearchRamLimit);if(isNaN(l)?r.lexicalSearchRamLimit=ko.lexicalSearchRamLimit:r.lexicalSearchRamLimit=Math.min(1e3,Math.max(20,l)),typeof r.autoAddActiveContentToContext!="boolean"){let g=e.includeActiveNoteAsContext;typeof g=="boolean"?r.autoAddActiveContentToContext=g:r.autoAddActiveContentToContext=ko.autoAddActiveContentToContext}typeof r.generateAIChatTitleOnSave!="boolean"&&(r.generateAIChatTitleOnSave=ko.generateAIChatTitleOnSave),typeof r.enableMiyo!="boolean"&&(r.enableMiyo=ko.enableMiyo),["firecrawl","perplexity"].includes(r.selfHostSearchProvider)||(r.selfHostSearchProvider=ko.selfHostSearchProvider),typeof r.passMarkdownImages!="boolean"&&(r.passMarkdownImages=ko.passMarkdownImages),typeof r.enableInlineCitations!="boolean"&&(r.enableInlineCitations=ko.enableInlineCitations),typeof r.enableCustomPromptTemplating!="boolean"&&(r.enableCustomPromptTemplating=ko.enableCustomPromptTemplating);let d=Number(e.autonomousAgentMaxIterations);isNaN(d)||d<4||d>dye?r.autonomousAgentMaxIterations=ko.autonomousAgentMaxIterations:r.autonomousAgentMaxIterations=d,Array.isArray(r.autonomousAgentEnabledToolIds)||(r.autonomousAgentEnabledToolIds=ko.autonomousAgentEnabledToolIds),(!r.memoryFolderName||typeof r.memoryFolderName!="string")&&(r.memoryFolderName=ko.memoryFolderName),typeof r.enableRecentConversations!="boolean"&&(r.enableRecentConversations=ko.enableRecentConversations),typeof r.enableSavedMemory!="boolean"&&(r.enableSavedMemory=ko.enableSavedMemory);let f=Number(e.maxRecentConversations);isNaN(f)||f<10||f>50?r.maxRecentConversations=ko.maxRecentConversations:r.maxRecentConversations=f,typeof r.autosaveChat!="boolean"&&(r.autosaveChat=ko.autosaveChat);let p=Number(e.autoCompactThreshold);if(isNaN(p)?r.autoCompactThreshold=ko.autoCompactThreshold:r.autoCompactThreshold=Math.min(1e6,Math.max(64e3,p)),typeof r.quickCommandIncludeNoteContext!="boolean"&&(r.quickCommandIncludeNoteContext=ko.quickCommandIncludeNoteContext),e.quickCommandModelKey!==void 0&&typeof e.quickCommandModelKey!="string"&&(r.quickCommandModelKey=ko.quickCommandModelKey),typeof r.autoAddSelectionToContext!="boolean"){let g=e.autoIncludeTextSelection;typeof g=="boolean"?r.autoAddSelectionToContext=g:r.autoAddSelectionToContext=ko.autoAddSelectionToContext}typeof r.autoAcceptEdits!="boolean"&&(r.autoAcceptEdits=ko.autoAcceptEdits),Object.values(UJ).includes(r.defaultSendShortcut)||(r.defaultSendShortcut=ko.defaultSendShortcut);let m=(e.defaultSaveFolder||"").trim();r.defaultSaveFolder=m.length>0?m:ko.defaultSaveFolder;let h=(e.customPromptsFolder||"").trim();r.customPromptsFolder=h.length>0?h:ko.customPromptsFolder,(!qJ(r.chatHistorySortStrategy)||r.chatHistorySortStrategy==="manual")&&(r.chatHistorySortStrategy=ko.chatHistorySortStrategy),(!qJ(r.projectListSortStrategy)||r.projectListSortStrategy==="manual")&&(r.projectListSortStrategy=ko.projectListSortStrategy);let y=(e.userSystemPromptsFolder||"").trim();return r.userSystemPromptsFolder=y.length>0?y:ko.userSystemPromptsFolder,r.qaExclusions=f1t(e.qaExclusions),r}function oSn(t){return t.activeModels=d1t(t.activeModels,hO),t.activeEmbeddingModels=iSn(d1t(t.activeEmbeddingModels,T4)),t}function no(t){return`${t.name}|${t.provider}`}function d1t(t,e){let r=new Map;return e.filter(n=>n.core).forEach(n=>{r.set(no(n),{...n})}),t.forEach(n=>{let o=no(n),i=r.get(o);if(i){let a=e.find(s=>s.name===n.name&&s.provider===n.provider);a?r.set(o,{...a,...n,isBuiltIn:!0,believerExclusive:a.believerExclusive}):r.set(o,{...n,isBuiltIn:i.isBuiltIn})}else r.set(o,n)}),Array.from(r.values())}function iSn(t){let e=new Set(Object.values(YC));return t.filter(r=>e.has(r.provider))}var No,mF,Ye=v(()=>{XC();qN();l1();mr();No=pF(),mF=bc(ko)});function zr(t,e=!1){try{if(t instanceof Error){let n=t?.cause instanceof Error?t.cause.message:t?.cause?String(t.cause):"",o=e&&t.stack?t.stack:"",i=[t.message];return n&&i.push(`more message: ${n}`),o&&i.push(o),i.join(`
-`)}return JSON.stringify(t)??String(t)}catch{return String(t)}}var cWe=v(()=>{});var dWe,Im,O4=v(()=>{cWe();Bt();Ye();dWe=class t{constructor(){this.maxLines=500;this.maxLineChars=8e3;this.buffer=[];this.initialized=!1;this.flushing=!1}static getInstance(){return t.instance||(t.instance=new t),t.instance}getLogPath(){return"copilot/copilot-log.md"}async ensureInitialized(){this.initialized||(this.initialized=!0)}hasVault(){try{return typeof app<"u"&&!!app.vault?.adapter}catch{return!1}}sanitizeForSingleLine(e){if(e instanceof Error){let r=zr(e,!0);return this.escapeAngleBrackets(this.collapseToSingleLine(r))}if(typeof e=="string")return this.escapeAngleBrackets(this.collapseToSingleLine(e));try{let r=JSON.stringify(e);return this.escapeAngleBrackets(this.collapseToSingleLine(r??String(e)))}catch{return this.escapeAngleBrackets(this.collapseToSingleLine(String(e)))}}collapseToSingleLine(e){let r=e.replace(/[\r\n]+/g,"\\n").replace(/\t/g," ");return r.length<=this.maxLineChars?r:r.slice(0,this.maxLineChars)+` \u2026 [truncated ${r.length-this.maxLineChars} chars]`}async append(e,...r){await this.ensureInitialized();let n=new Date().toISOString(),o=r.map(a=>this.sanitizeForSingleLine(a)),i=`${n} ${e} ${o.join(" ")}`.trim();this.buffer.push(i),this.buffer.length>this.maxLines&&this.buffer.splice(0,this.buffer.length-this.maxLines)}escapeAngleBrackets(e){return e.replace(//g,">")}async appendMarkdownBlock(e){if(await this.ensureInitialized(),!(!Array.isArray(e)||e.length===0))for(let r of e){let n=typeof r=="string"?r:String(r??"");this.buffer.push(n),this.buffer.length>this.maxLines&&this.buffer.splice(0,this.buffer.length-this.maxLines)}}async flush(){if(this.hasVault()&&!this.flushing){this.flushing=!0;try{let e=this.getLogPath();if(await app.vault.adapter.exists(e)){let r=this.buffer.join(`
-`)+(this.buffer.length?`
-`:"");await app.vault.adapter.write(e,r)}}catch{}finally{this.flushing=!1}}}async clear(){if(this.buffer=[],!!this.hasVault())try{let e=this.getLogPath();await app.vault.adapter.exists(e)&&await app.vault.adapter.remove(e)}catch{}}sanitizeSettingsForLog(){let e=te();return this.removeKeysRecursive(e)}removeKeysRecursive(e){if(e==null)return e;if(Array.isArray(e))return e.map(r=>this.removeKeysRecursive(r));if(typeof e=="object"&&e.constructor===Object){let r={},n=e;for(let[o,i]of Object.entries(n))/apiKey$/i.test(o)||/licenseKey$/i.test(o)||/_api_key$/i.test(o)||/_license_key$/i.test(o)||/orgId$/i.test(o)||/instanceName$/i.test(o)||/deploymentName$/i.test(o)||/apiVersion$/i.test(o)||(r[o]=this.removeKeysRecursive(i));return r}return e}async openLogFile(){if(!this.hasVault())return;let e=this.getLogPath(),r=[...this.buffer];try{let o=this.sanitizeSettingsForLog(),a=["","## Settings","```json",...JSON.stringify(o,null,2).split(`
-`),"```"];r.push(...a)}catch{}try{let o=r.join(`
-`)+(r.length?`
-`:""),i=e.includes("/")?e.split("/").slice(0,-1).join("/"):"";i&&await $c(i),await app.vault.adapter.exists(e)?await app.vault.adapter.write(e,o):await app.vault.create(e,o)}catch{}let n=app.vault.getAbstractFileByPath(e);try{n&&await app.workspace.getLeaf(!0).openFile(n)}catch{}}},Im=dWe.getInstance()});function F(...t){te().debug&&console.log(...t),Im.append("INFO",...t)}function ne(...t){te().debug&&console.error(...t),Im.append("ERROR",...t)}function Te(...t){te().debug&&console.warn(...t),Im.append("WARN",...t)}function fye(t){Im.appendMarkdownBlock(t)}function p1t(t,e){if(te().debug)try{if(typeof console.table=="function"){Array.isArray(e)&&e.length>0?console.table(t,e):console.table(t);return}}catch{}F("Table:",JSON.stringify(t))}var Xe=v(()=>{Ye();O4()});var m1t=S((fWe,BJ)=>{(function(t,e){typeof fWe=="object"&&typeof BJ<"u"?BJ.exports=e():typeof define=="function"&&define.amd?define(e):t.moment=e()})(fWe,function(){"use strict";var t;function e(){return t.apply(null,arguments)}function r(C){t=C}function n(C){return C instanceof Array||Object.prototype.toString.call(C)==="[object Array]"}function o(C){return C!=null&&Object.prototype.toString.call(C)==="[object Object]"}function i(C,M){return Object.prototype.hasOwnProperty.call(C,M)}function a(C){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(C).length===0;var M;for(M in C)if(i(C,M))return!1;return!0}function s(C){return C===void 0}function u(C){return typeof C=="number"||Object.prototype.toString.call(C)==="[object Number]"}function l(C){return C instanceof Date||Object.prototype.toString.call(C)==="[object Date]"}function c(C,M){var D=[],q,G=C.length;for(q=0;q>>0,q;for(q=0;q0)for(D=0;D=0;return(fe?D?"+":"":"-")+Math.pow(10,Math.max(0,G)).toString().substr(1)+q}var K=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,oe=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ue={},de={};function L(C,M,D,q){var G=q;typeof q=="string"&&(G=function(){return this[q]()}),C&&(de[C]=G),M&&(de[M[0]]=function(){return Y(G.apply(this,arguments),M[1],M[2])}),D&&(de[D]=function(){return this.localeData().ordinal(G.apply(this,arguments),C)})}function W(C){return C.match(/\[[\s\S]/)?C.replace(/^\[|\]$/g,""):C.replace(/\\/g,"")}function ie(C){var M=C.match(K),D,q;for(D=0,q=M.length;D=0&&oe.test(C);)C=C.replace(oe,q),oe.lastIndex=0,D-=1;return C}var U={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function H(C){var M=this._longDateFormat[C],D=this._longDateFormat[C.toUpperCase()];return M||!D?M:(this._longDateFormat[C]=D.match(K).map(function(q){return q==="MMMM"||q==="MM"||q==="DD"||q==="dddd"?q.slice(1):q}).join(""),this._longDateFormat[C])}var re="Invalid date";function Z(){return this._invalidDate}var le="%d",Ce=/\d{1,2}/;function He(C){return this._ordinal.replace("%d",C)}var lt={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function qe(C,M,D,q){var G=this._relativeTime[D];return N(G)?G(C,M,D,q):G.replace(/%d/i,C)}function Nt(C,M){var D=this._relativeTime[C>0?"future":"past"];return N(D)?D(M):D.replace(/%s/i,M)}var mt={};function Ot(C,M){var D=C.toLowerCase();mt[D]=mt[D+"s"]=mt[M]=C}function je(C){return typeof C=="string"?mt[C]||mt[C.toLowerCase()]:void 0}function Gr(C){var M={},D,q;for(q in C)i(C,q)&&(D=je(q),D&&(M[D]=C[q]));return M}var ct={};function ze(C,M){ct[C]=M}function ht(C){var M=[],D;for(D in C)i(C,D)&&M.push({unit:D,priority:ct[D]});return M.sort(function(q,G){return q.priority-G.priority}),M}function $e(C){return C%4===0&&C%100!==0||C%400===0}function Ue(C){return C<0?Math.ceil(C)||0:Math.floor(C)}function Ve(C){var M=+C,D=0;return M!==0&&isFinite(M)&&(D=Ue(M)),D}function Kt(C,M){return function(D){return D!=null?(iu(this,C,D),e.updateOffset(this,M),this):so(this,C)}}function so(C,M){return C.isValid()?C._d["get"+(C._isUTC?"UTC":"")+M]():NaN}function iu(C,M,D){C.isValid()&&!isNaN(D)&&(M==="FullYear"&&$e(C.year())&&C.month()===1&&C.date()===29?(D=Ve(D),C._d["set"+(C._isUTC?"UTC":"")+M](D,C.month(),Rpe(D,C.month()))):C._d["set"+(C._isUTC?"UTC":"")+M](D))}function An(C){return C=je(C),N(this[C])?this[C]():this}function Si(C,M){if(typeof C=="object"){C=Gr(C);var D=ht(C),q,G=D.length;for(q=0;q68?1900:2e3)};var I0t=Kt("FullYear",!0);function Psn(){return $e(this.year())}function Msn(C,M,D,q,G,fe,De){var sn;return C<100&&C>=0?(sn=new Date(C+400,M,D,q,G,fe,De),isFinite(sn.getFullYear())&&sn.setFullYear(C)):sn=new Date(C,M,D,q,G,fe,De),sn}function OQ(C){var M,D;return C<100&&C>=0?(D=Array.prototype.slice.call(arguments),D[0]=C+400,M=new Date(Date.UTC.apply(null,D)),isFinite(M.getUTCFullYear())&&M.setUTCFullYear(C)):M=new Date(Date.UTC.apply(null,arguments)),M}function Ipe(C,M,D){var q=7+M-D,G=(7+OQ(C,0,q).getUTCDay()-M)%7;return-G+q-1}function A0t(C,M,D,q,G){var fe=(7+D-q)%7,De=Ipe(C,q,G),sn=1+7*(M-1)+fe+De,pi,pu;return sn<=0?(pi=C-1,pu=TQ(pi)+sn):sn>TQ(C)?(pi=C+1,pu=sn-TQ(C)):(pi=C,pu=sn),{year:pi,dayOfYear:pu}}function EQ(C,M,D){var q=Ipe(C.year(),M,D),G=Math.floor((C.dayOfYear()-q-1)/7)+1,fe,De;return G<1?(De=C.year()-1,fe=G+DN(De,M,D)):G>DN(C.year(),M,D)?(fe=G-DN(C.year(),M,D),De=C.year()+1):(De=C.year(),fe=G),{week:fe,year:De}}function DN(C,M,D){var q=Ipe(C,M,D),G=Ipe(C+1,M,D);return(TQ(C)-q+G)/7}L("w",["ww",2],"wo","week"),L("W",["WW",2],"Wo","isoWeek"),Ot("week","w"),Ot("isoWeek","W"),ze("week",5),ze("isoWeek",5),Ee("w",ji),Ee("ww",ji,Vi),Ee("W",ji),Ee("WW",ji,Vi),Xv(["w","ww","W","WW"],function(C,M,D,q){M[q.substr(0,1)]=Ve(C)});function Rsn(C){return EQ(C,this._week.dow,this._week.doy).week}var Isn={dow:0,doy:6};function Asn(){return this._week.dow}function Nsn(){return this._week.doy}function Dsn(C){var M=this.localeData().week(this);return C==null?M:this.add((C-M)*7,"d")}function jsn(C){var M=EQ(this,1,4).week;return C==null?M:this.add((C-M)*7,"d")}L("d",0,"do","day"),L("dd",0,0,function(C){return this.localeData().weekdaysMin(this,C)}),L("ddd",0,0,function(C){return this.localeData().weekdaysShort(this,C)}),L("dddd",0,0,function(C){return this.localeData().weekdays(this,C)}),L("e",0,0,"weekday"),L("E",0,0,"isoWeekday"),Ot("day","d"),Ot("weekday","e"),Ot("isoWeekday","E"),ze("day",11),ze("weekday",11),ze("isoWeekday",11),Ee("d",ji),Ee("e",ji),Ee("E",ji),Ee("dd",function(C,M){return M.weekdaysMinRegex(C)}),Ee("ddd",function(C,M){return M.weekdaysShortRegex(C)}),Ee("dddd",function(C,M){return M.weekdaysRegex(C)}),Xv(["dd","ddd","dddd"],function(C,M,D,q){var G=D._locale.weekdaysParse(C,q,D._strict);G!=null?M.d=G:m(D).invalidWeekday=C}),Xv(["d","e","E"],function(C,M,D,q){M[q]=Ve(C)});function $sn(C,M){return typeof C!="string"?C:isNaN(C)?(C=M.weekdaysParse(C),typeof C=="number"?C:null):parseInt(C,10)}function Lsn(C,M){return typeof C=="string"?M.weekdaysParse(C)%7||7:isNaN(C)?null:C}function JUe(C,M){return C.slice(M,7).concat(C.slice(0,M))}var Fsn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),N0t="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ksn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qsn=Rr,Usn=Rr,Bsn=Rr;function zsn(C,M){var D=n(this._weekdays)?this._weekdays:this._weekdays[C&&C!==!0&&this._weekdays.isFormat.test(M)?"format":"standalone"];return C===!0?JUe(D,this._week.dow):C?D[C.day()]:D}function Vsn(C){return C===!0?JUe(this._weekdaysShort,this._week.dow):C?this._weekdaysShort[C.day()]:this._weekdaysShort}function Hsn(C){return C===!0?JUe(this._weekdaysMin,this._week.dow):C?this._weekdaysMin[C.day()]:this._weekdaysMin}function Wsn(C,M,D){var q,G,fe,De=C.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],q=0;q<7;++q)fe=f([2e3,1]).day(q),this._minWeekdaysParse[q]=this.weekdaysMin(fe,"").toLocaleLowerCase(),this._shortWeekdaysParse[q]=this.weekdaysShort(fe,"").toLocaleLowerCase(),this._weekdaysParse[q]=this.weekdays(fe,"").toLocaleLowerCase();return D?M==="dddd"?(G=nd.call(this._weekdaysParse,De),G!==-1?G:null):M==="ddd"?(G=nd.call(this._shortWeekdaysParse,De),G!==-1?G:null):(G=nd.call(this._minWeekdaysParse,De),G!==-1?G:null):M==="dddd"?(G=nd.call(this._weekdaysParse,De),G!==-1||(G=nd.call(this._shortWeekdaysParse,De),G!==-1)?G:(G=nd.call(this._minWeekdaysParse,De),G!==-1?G:null)):M==="ddd"?(G=nd.call(this._shortWeekdaysParse,De),G!==-1||(G=nd.call(this._weekdaysParse,De),G!==-1)?G:(G=nd.call(this._minWeekdaysParse,De),G!==-1?G:null)):(G=nd.call(this._minWeekdaysParse,De),G!==-1||(G=nd.call(this._weekdaysParse,De),G!==-1)?G:(G=nd.call(this._shortWeekdaysParse,De),G!==-1?G:null))}function Jsn(C,M,D){var q,G,fe;if(this._weekdaysParseExact)return Wsn.call(this,C,M,D);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),q=0;q<7;q++){if(G=f([2e3,1]).day(q),D&&!this._fullWeekdaysParse[q]&&(this._fullWeekdaysParse[q]=new RegExp("^"+this.weekdays(G,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[q]=new RegExp("^"+this.weekdaysShort(G,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[q]=new RegExp("^"+this.weekdaysMin(G,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[q]||(fe="^"+this.weekdays(G,"")+"|^"+this.weekdaysShort(G,"")+"|^"+this.weekdaysMin(G,""),this._weekdaysParse[q]=new RegExp(fe.replace(".",""),"i")),D&&M==="dddd"&&this._fullWeekdaysParse[q].test(C))return q;if(D&&M==="ddd"&&this._shortWeekdaysParse[q].test(C))return q;if(D&&M==="dd"&&this._minWeekdaysParse[q].test(C))return q;if(!D&&this._weekdaysParse[q].test(C))return q}}function Ksn(C){if(!this.isValid())return C!=null?this:NaN;var M=this._isUTC?this._d.getUTCDay():this._d.getDay();return C!=null?(C=$sn(C,this.localeData()),this.add(C-M,"d")):M}function Gsn(C){if(!this.isValid())return C!=null?this:NaN;var M=(this.day()+7-this.localeData()._week.dow)%7;return C==null?M:this.add(C-M,"d")}function Xsn(C){if(!this.isValid())return C!=null?this:NaN;if(C!=null){var M=Lsn(C,this.localeData());return this.day(this.day()%7?M:M-7)}else return this.day()||7}function Zsn(C){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||KUe.call(this),C?this._weekdaysStrictRegex:this._weekdaysRegex):(i(this,"_weekdaysRegex")||(this._weekdaysRegex=qsn),this._weekdaysStrictRegex&&C?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ysn(C){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||KUe.call(this),C?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(i(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Usn),this._weekdaysShortStrictRegex&&C?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Qsn(C){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||KUe.call(this),C?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(i(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Bsn),this._weekdaysMinStrictRegex&&C?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function KUe(){function C(Pb,kN){return kN.length-Pb.length}var M=[],D=[],q=[],G=[],fe,De,sn,pi,pu;for(fe=0;fe<7;fe++)De=f([2e3,1]).day(fe),sn=Fn(this.weekdaysMin(De,"")),pi=Fn(this.weekdaysShort(De,"")),pu=Fn(this.weekdays(De,"")),M.push(sn),D.push(pi),q.push(pu),G.push(sn),G.push(pi),G.push(pu);M.sort(C),D.sort(C),q.sort(C),G.sort(C),this._weekdaysRegex=new RegExp("^("+G.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+q.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+D.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+M.join("|")+")","i")}function GUe(){return this.hours()%12||12}function eun(){return this.hours()||24}L("H",["HH",2],0,"hour"),L("h",["hh",2],0,GUe),L("k",["kk",2],0,eun),L("hmm",0,0,function(){return""+GUe.apply(this)+Y(this.minutes(),2)}),L("hmmss",0,0,function(){return""+GUe.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),L("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),L("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)});function D0t(C,M){L(C,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),M)})}D0t("a",!0),D0t("A",!1),Ot("hour","h"),ze("hour",13);function j0t(C,M){return M._meridiemParse}Ee("a",j0t),Ee("A",j0t),Ee("H",ji),Ee("h",ji),Ee("k",ji),Ee("HH",ji,Vi),Ee("hh",ji,Vi),Ee("kk",ji,Vi),Ee("hmm",KT),Ee("hmmss",LC),Ee("Hmm",KT),Ee("Hmmss",LC),Ei(["H","HH"],$l),Ei(["k","kk"],function(C,M,D){var q=Ve(C);M[$l]=q===24?0:q}),Ei(["a","A"],function(C,M,D){D._isPm=D._locale.isPM(C),D._meridiem=C}),Ei(["h","hh"],function(C,M,D){M[$l]=Ve(C),m(D).bigHour=!0}),Ei("hmm",function(C,M,D){var q=C.length-2;M[$l]=Ve(C.substr(0,q)),M[Eb]=Ve(C.substr(q)),m(D).bigHour=!0}),Ei("hmmss",function(C,M,D){var q=C.length-4,G=C.length-2;M[$l]=Ve(C.substr(0,q)),M[Eb]=Ve(C.substr(q,2)),M[Yv]=Ve(C.substr(G)),m(D).bigHour=!0}),Ei("Hmm",function(C,M,D){var q=C.length-2;M[$l]=Ve(C.substr(0,q)),M[Eb]=Ve(C.substr(q))}),Ei("Hmmss",function(C,M,D){var q=C.length-4,G=C.length-2;M[$l]=Ve(C.substr(0,q)),M[Eb]=Ve(C.substr(q,2)),M[Yv]=Ve(C.substr(G))});function tun(C){return(C+"").toLowerCase().charAt(0)==="p"}var run=/[ap]\.?m?\.?/i,nun=Kt("Hours",!0);function oun(C,M,D){return C>11?D?"pm":"PM":D?"am":"AM"}var $0t={calendar:B,longDateFormat:U,invalidDate:re,ordinal:le,dayOfMonthOrdinalParse:Ce,relativeTime:lt,months:bsn,monthsShort:O0t,week:Isn,weekdays:Fsn,weekdaysMin:ksn,weekdaysShort:N0t,meridiemParse:run},Ll={},PQ={},MQ;function iun(C,M){var D,q=Math.min(C.length,M.length);for(D=0;D0;){if(G=Ape(fe.slice(0,D).join("-")),G)return G;if(q&&q.length>=D&&iun(fe,q)>=D-1)break;D--}M++}return MQ}function sun(C){return C.match("^[^/\\\\]*$")!=null}function Ape(C){var M=null,D;if(Ll[C]===void 0&&typeof BJ<"u"&&BJ&&BJ.exports&&sun(C))try{M=MQ._abbr,D=require,D("./locale/"+C),jL(M)}catch{Ll[C]=null}return Ll[C]}function jL(C,M){var D;return C&&(s(M)?D=jN(C):D=XUe(C,M),D?MQ=D:typeof console<"u"&&console.warn&&console.warn("Locale "+C+" not found. Did you forget to load it?")),MQ._abbr}function XUe(C,M){if(M!==null){var D,q=$0t;if(M.abbr=C,Ll[C]!=null)I("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),q=Ll[C]._config;else if(M.parentLocale!=null)if(Ll[M.parentLocale]!=null)q=Ll[M.parentLocale]._config;else if(D=Ape(M.parentLocale),D!=null)q=D._config;else return PQ[M.parentLocale]||(PQ[M.parentLocale]=[]),PQ[M.parentLocale].push({name:C,config:M}),null;return Ll[C]=new k(V(q,M)),PQ[C]&&PQ[C].forEach(function(G){XUe(G.name,G.config)}),jL(C),Ll[C]}else return delete Ll[C],null}function uun(C,M){if(M!=null){var D,q,G=$0t;Ll[C]!=null&&Ll[C].parentLocale!=null?Ll[C].set(V(Ll[C]._config,M)):(q=Ape(C),q!=null&&(G=q._config),M=V(G,M),q==null&&(M.abbr=C),D=new k(M),D.parentLocale=Ll[C],Ll[C]=D),jL(C)}else Ll[C]!=null&&(Ll[C].parentLocale!=null?(Ll[C]=Ll[C].parentLocale,C===jL()&&jL(C)):Ll[C]!=null&&delete Ll[C]);return Ll[C]}function jN(C){var M;if(C&&C._locale&&C._locale._abbr&&(C=C._locale._abbr),!C)return MQ;if(!n(C)){if(M=Ape(C),M)return M;C=[C]}return aun(C)}function lun(){return X(Ll)}function ZUe(C){var M,D=C._a;return D&&m(C).overflow===-2&&(M=D[FC]<0||D[FC]>11?FC:D[Zv]<1||D[Zv]>Rpe(D[Eh],D[FC])?Zv:D[$l]<0||D[$l]>24||D[$l]===24&&(D[Eb]!==0||D[Yv]!==0||D[NN]!==0)?$l:D[Eb]<0||D[Eb]>59?Eb:D[Yv]<0||D[Yv]>59?Yv:D[NN]<0||D[NN]>999?NN:-1,m(C)._overflowDayOfYear&&(MZv)&&(M=Zv),m(C)._overflowWeeks&&M===-1&&(M=hsn),m(C)._overflowWeekday&&M===-1&&(M=gsn),m(C).overflow=M),C}var cun=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,dun=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fun=/Z|[+-]\d\d(?::?\d\d)?/,Npe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],YUe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pun=/^\/?Date\((-?\d+)/i,mun=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,hun={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function F0t(C){var M,D,q=C._i,G=cun.exec(q)||dun.exec(q),fe,De,sn,pi,pu=Npe.length,Pb=YUe.length;if(G){for(m(C).iso=!0,M=0,D=pu;MTQ(De)||C._dayOfYear===0)&&(m(C)._overflowDayOfYear=!0),D=OQ(De,0,C._dayOfYear),C._a[FC]=D.getUTCMonth(),C._a[Zv]=D.getUTCDate()),M=0;M<3&&C._a[M]==null;++M)C._a[M]=q[M]=G[M];for(;M<7;M++)C._a[M]=q[M]=C._a[M]==null?M===2?1:0:C._a[M];C._a[$l]===24&&C._a[Eb]===0&&C._a[Yv]===0&&C._a[NN]===0&&(C._nextDay=!0,C._a[$l]=0),C._d=(C._useUTC?OQ:Msn).apply(null,q),fe=C._useUTC?C._d.getUTCDay():C._d.getDay(),C._tzm!=null&&C._d.setUTCMinutes(C._d.getUTCMinutes()-C._tzm),C._nextDay&&(C._a[$l]=24),C._w&&typeof C._w.d<"u"&&C._w.d!==fe&&(m(C).weekdayMismatch=!0)}}function Cun(C){var M,D,q,G,fe,De,sn,pi,pu;M=C._w,M.GG!=null||M.W!=null||M.E!=null?(fe=1,De=4,D=q6(M.GG,C._a[Eh],EQ(dl(),1,4).year),q=q6(M.W,1),G=q6(M.E,1),(G<1||G>7)&&(pi=!0)):(fe=C._locale._week.dow,De=C._locale._week.doy,pu=EQ(dl(),fe,De),D=q6(M.gg,C._a[Eh],pu.year),q=q6(M.w,pu.week),M.d!=null?(G=M.d,(G<0||G>6)&&(pi=!0)):M.e!=null?(G=M.e+fe,(M.e<0||M.e>6)&&(pi=!0)):G=fe),q<1||q>DN(D,fe,De)?m(C)._overflowWeeks=!0:pi!=null?m(C)._overflowWeekday=!0:(sn=A0t(D,q,G,fe,De),C._a[Eh]=sn.year,C._dayOfYear=sn.dayOfYear)}e.ISO_8601=function(){},e.RFC_2822=function(){};function eBe(C){if(C._f===e.ISO_8601){F0t(C);return}if(C._f===e.RFC_2822){k0t(C);return}C._a=[],m(C).empty=!0;var M=""+C._i,D,q,G,fe,De,sn=M.length,pi=0,pu,Pb;for(G=A(C._f,C._locale).match(K)||[],Pb=G.length,D=0;D0&&m(C).unusedInput.push(De),M=M.slice(M.indexOf(q)+q.length),pi+=q.length),de[fe]?(q?m(C).empty=!1:m(C).unusedTokens.push(fe),DL(fe,q,C)):C._strict&&!q&&m(C).unusedTokens.push(fe);m(C).charsLeftOver=sn-pi,M.length>0&&m(C).unusedInput.push(M),C._a[$l]<=12&&m(C).bigHour===!0&&C._a[$l]>0&&(m(C).bigHour=void 0),m(C).parsedDateParts=C._a.slice(0),m(C).meridiem=C._meridiem,C._a[$l]=xun(C._locale,C._a[$l],C._meridiem),pu=m(C).era,pu!==null&&(C._a[Eh]=C._locale.erasConvertYear(pu,C._a[Eh])),QUe(C),ZUe(C)}function xun(C,M,D){var q;return D==null?M:C.meridiemHour!=null?C.meridiemHour(M,D):(C.isPM!=null&&(q=C.isPM(D),q&&M<12&&(M+=12),!q&&M===12&&(M=0)),M)}function Tun(C){var M,D,q,G,fe,De,sn=!1,pi=C._f.length;if(pi===0){m(C).invalidFormat=!0,C._d=new Date(NaN);return}for(G=0;Gthis?this:C:g()});function B0t(C,M){var D,q;if(M.length===1&&n(M[0])&&(M=M[0]),!M.length)return dl();for(D=M[0],q=1;qthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Jun(){if(!s(this._isDSTShifted))return this._isDSTShifted;var C={},M;return w(C,this),C=q0t(C),C._a?(M=C._isUTC?f(C._a):dl(C._a),this._isDSTShifted=this.isValid()&&Lun(C._a,M.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Kun(){return this.isValid()?!this._isUTC:!1}function Gun(){return this.isValid()?this._isUTC:!1}function V0t(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Xun=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Zun=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function kC(C,M){var D=C,q=null,G,fe,De;return jpe(C)?D={ms:C._milliseconds,d:C._days,M:C._months}:u(C)||!isNaN(+C)?(D={},M?D[M]=+C:D.milliseconds=+C):(q=Xun.exec(C))?(G=q[1]==="-"?-1:1,D={y:0,d:Ve(q[Zv])*G,h:Ve(q[$l])*G,m:Ve(q[Eb])*G,s:Ve(q[Yv])*G,ms:Ve(tBe(q[NN]*1e3))*G}):(q=Zun.exec(C))?(G=q[1]==="-"?-1:1,D={y:Ez(q[2],G),M:Ez(q[3],G),w:Ez(q[4],G),d:Ez(q[5],G),h:Ez(q[6],G),m:Ez(q[7],G),s:Ez(q[8],G)}):D==null?D={}:typeof D=="object"&&("from"in D||"to"in D)&&(De=Yun(dl(D.from),dl(D.to)),D={},D.ms=De.milliseconds,D.M=De.months),fe=new Dpe(D),jpe(C)&&i(C,"_locale")&&(fe._locale=C._locale),jpe(C)&&i(C,"_isValid")&&(fe._isValid=C._isValid),fe}kC.fn=Dpe.prototype,kC.invalid=$un;function Ez(C,M){var D=C&&parseFloat(C.replace(",","."));return(isNaN(D)?0:D)*M}function H0t(C,M){var D={};return D.months=M.month()-C.month()+(M.year()-C.year())*12,C.clone().add(D.months,"M").isAfter(M)&&--D.months,D.milliseconds=+M-+C.clone().add(D.months,"M"),D}function Yun(C,M){var D;return C.isValid()&&M.isValid()?(M=nBe(M,C),C.isBefore(M)?D=H0t(C,M):(D=H0t(M,C),D.milliseconds=-D.milliseconds,D.months=-D.months),D):{milliseconds:0,months:0}}function W0t(C,M){return function(D,q){var G,fe;return q!==null&&!isNaN(+q)&&(I(M,"moment()."+M+"(period, number) is deprecated. Please use moment()."+M+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),fe=D,D=q,q=fe),G=kC(D,q),J0t(this,G,C),this}}function J0t(C,M,D,q){var G=M._milliseconds,fe=tBe(M._days),De=tBe(M._months);C.isValid()&&(q=q??!0,De&&P0t(C,so(C,"Month")+De*D),fe&&iu(C,"Date",so(C,"Date")+fe*D),G&&C._d.setTime(C._d.valueOf()+G*D),q&&e.updateOffset(C,fe||De))}var Qun=W0t(1,"add"),eln=W0t(-1,"subtract");function K0t(C){return typeof C=="string"||C instanceof String}function tln(C){return O(C)||l(C)||K0t(C)||u(C)||nln(C)||rln(C)||C===null||C===void 0}function rln(C){var M=o(C)&&!a(C),D=!1,q=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],G,fe,De=q.length;for(G=0;GD.valueOf():D.valueOf()9999?j(D,M?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):N(Date.prototype.toISOString)?M?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",j(D,"Z")):j(D,M?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function yln(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var C="moment",M="",D,q,G,fe;return this.isLocal()||(C=this.utcOffset()===0?"moment.utc":"moment.parseZone",M="Z"),D="["+C+'("]',q=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",G="-MM-DD[T]HH:mm:ss.SSS",fe=M+'[")]',this.format(D+q+G+fe)}function bln(C){C||(C=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var M=j(this,C);return this.localeData().postformat(M)}function _ln(C,M){return this.isValid()&&(O(C)&&C.isValid()||dl(C).isValid())?kC({to:this,from:C}).locale(this.locale()).humanize(!M):this.localeData().invalidDate()}function vln(C){return this.from(dl(),C)}function wln(C,M){return this.isValid()&&(O(C)&&C.isValid()||dl(C).isValid())?kC({from:this,to:C}).locale(this.locale()).humanize(!M):this.localeData().invalidDate()}function Sln(C){return this.to(dl(),C)}function G0t(C){var M;return C===void 0?this._locale._abbr:(M=jN(C),M!=null&&(this._locale=M),this)}var X0t=P("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(C){return C===void 0?this.localeData():this.locale(C)});function Z0t(){return this._locale}var Lpe=1e3,U6=60*Lpe,Fpe=60*U6,Y0t=(365*400+97)*24*Fpe;function B6(C,M){return(C%M+M)%M}function Q0t(C,M,D){return C<100&&C>=0?new Date(C+400,M,D)-Y0t:new Date(C,M,D).valueOf()}function eCt(C,M,D){return C<100&&C>=0?Date.UTC(C+400,M,D)-Y0t:Date.UTC(C,M,D)}function Cln(C){var M,D;if(C=je(C),C===void 0||C==="millisecond"||!this.isValid())return this;switch(D=this._isUTC?eCt:Q0t,C){case"year":M=D(this.year(),0,1);break;case"quarter":M=D(this.year(),this.month()-this.month()%3,1);break;case"month":M=D(this.year(),this.month(),1);break;case"week":M=D(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":M=D(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":M=D(this.year(),this.month(),this.date());break;case"hour":M=this._d.valueOf(),M-=B6(M+(this._isUTC?0:this.utcOffset()*U6),Fpe);break;case"minute":M=this._d.valueOf(),M-=B6(M,U6);break;case"second":M=this._d.valueOf(),M-=B6(M,Lpe);break}return this._d.setTime(M),e.updateOffset(this,!0),this}function xln(C){var M,D;if(C=je(C),C===void 0||C==="millisecond"||!this.isValid())return this;switch(D=this._isUTC?eCt:Q0t,C){case"year":M=D(this.year()+1,0,1)-1;break;case"quarter":M=D(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":M=D(this.year(),this.month()+1,1)-1;break;case"week":M=D(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":M=D(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":M=D(this.year(),this.month(),this.date()+1)-1;break;case"hour":M=this._d.valueOf(),M+=Fpe-B6(M+(this._isUTC?0:this.utcOffset()*U6),Fpe)-1;break;case"minute":M=this._d.valueOf(),M+=U6-B6(M,U6)-1;break;case"second":M=this._d.valueOf(),M+=Lpe-B6(M,Lpe)-1;break}return this._d.setTime(M),e.updateOffset(this,!0),this}function Tln(){return this._d.valueOf()-(this._offset||0)*6e4}function Oln(){return Math.floor(this.valueOf()/1e3)}function Eln(){return new Date(this.valueOf())}function Pln(){var C=this;return[C.year(),C.month(),C.date(),C.hour(),C.minute(),C.second(),C.millisecond()]}function Mln(){var C=this;return{years:C.year(),months:C.month(),date:C.date(),hours:C.hours(),minutes:C.minutes(),seconds:C.seconds(),milliseconds:C.milliseconds()}}function Rln(){return this.isValid()?this.toISOString():null}function Iln(){return y(this)}function Aln(){return d({},m(this))}function Nln(){return m(this).overflow}function Dln(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}L("N",0,0,"eraAbbr"),L("NN",0,0,"eraAbbr"),L("NNN",0,0,"eraAbbr"),L("NNNN",0,0,"eraName"),L("NNNNN",0,0,"eraNarrow"),L("y",["y",1],"yo","eraYear"),L("y",["yy",2],0,"eraYear"),L("y",["yyy",3],0,"eraYear"),L("y",["yyyy",4],0,"eraYear"),Ee("N",iBe),Ee("NN",iBe),Ee("NNN",iBe),Ee("NNNN",Hln),Ee("NNNNN",Wln),Ei(["N","NN","NNN","NNNN","NNNNN"],function(C,M,D,q){var G=D._locale.erasParse(C,q,D._strict);G?m(D).era=G:m(D).invalidEra=C}),Ee("y",Mu),Ee("yy",Mu),Ee("yyy",Mu),Ee("yyyy",Mu),Ee("yo",Jln),Ei(["y","yy","yyy","yyyy"],Eh),Ei(["yo"],function(C,M,D,q){var G;D._locale._eraYearOrdinalRegex&&(G=C.match(D._locale._eraYearOrdinalRegex)),D._locale.eraYearOrdinalParse?M[Eh]=D._locale.eraYearOrdinalParse(C,G):M[Eh]=parseInt(C,10)});function jln(C,M){var D,q,G,fe=this._eras||jN("en")._eras;for(D=0,q=fe.length;D=0)return fe[q]}function Lln(C,M){var D=C.since<=C.until?1:-1;return M===void 0?e(C.since).year():e(C.since).year()+(M-C.offset)*D}function Fln(){var C,M,D,q=this.localeData().eras();for(C=0,M=q.length;Cfe&&(M=fe),ecn.call(this,C,M,D,q,G))}function ecn(C,M,D,q,G){var fe=A0t(C,M,D,q,G),De=OQ(fe.year,0,fe.dayOfYear);return this.year(De.getUTCFullYear()),this.month(De.getUTCMonth()),this.date(De.getUTCDate()),this}L("Q",0,"Qo","quarter"),Ot("quarter","Q"),ze("quarter",7),Ee("Q",Dl),Ei("Q",function(C,M){M[FC]=(Ve(C)-1)*3});function tcn(C){return C==null?Math.ceil((this.month()+1)/3):this.month((C-1)*3+this.month()%3)}L("D",["DD",2],"Do","date"),Ot("date","D"),ze("date",9),Ee("D",ji),Ee("DD",ji,Vi),Ee("Do",function(C,M){return C?M._dayOfMonthOrdinalParse||M._ordinalParse:M._dayOfMonthOrdinalParseLenient}),Ei(["D","DD"],Zv),Ei("Do",function(C,M){M[Zv]=Ve(C.match(ji)[0])});var rCt=Kt("Date",!0);L("DDD",["DDDD",3],"DDDo","dayOfYear"),Ot("dayOfYear","DDD"),ze("dayOfYear",4),Ee("DDD",bS),Ee("DDDD",O_),Ei(["DDD","DDDD"],function(C,M,D){D._dayOfYear=Ve(C)});function rcn(C){var M=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return C==null?M:this.add(C-M,"d")}L("m",["mm",2],0,"minute"),Ot("minute","m"),ze("minute",14),Ee("m",ji),Ee("mm",ji,Vi),Ei(["m","mm"],Eb);var ncn=Kt("Minutes",!1);L("s",["ss",2],0,"second"),Ot("second","s"),ze("second",15),Ee("s",ji),Ee("ss",ji,Vi),Ei(["s","ss"],Yv);var ocn=Kt("Seconds",!1);L("S",0,0,function(){return~~(this.millisecond()/100)}),L(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),L(0,["SSS",3],0,"millisecond"),L(0,["SSSS",4],0,function(){return this.millisecond()*10}),L(0,["SSSSS",5],0,function(){return this.millisecond()*100}),L(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),L(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),L(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),L(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),Ot("millisecond","ms"),ze("millisecond",16),Ee("S",bS,Dl),Ee("SS",bS,Vi),Ee("SSS",bS,O_);var $L,nCt;for($L="SSSS";$L.length<=9;$L+="S")Ee($L,Mu);function icn(C,M){M[NN]=Ve(("0."+C)*1e3)}for($L="S";$L.length<=9;$L+="S")Ei($L,icn);nCt=Kt("Milliseconds",!1),L("z",0,0,"zoneAbbr"),L("zz",0,0,"zoneName");function acn(){return this._isUTC?"UTC":""}function scn(){return this._isUTC?"Coordinated Universal Time":""}var dt=T.prototype;dt.add=Qun,dt.calendar=aln,dt.clone=sln,dt.diff=mln,dt.endOf=xln,dt.format=bln,dt.from=_ln,dt.fromNow=vln,dt.to=wln,dt.toNow=Sln,dt.get=An,dt.invalidAt=Nln,dt.isAfter=uln,dt.isBefore=lln,dt.isBetween=cln,dt.isSame=dln,dt.isSameOrAfter=fln,dt.isSameOrBefore=pln,dt.isValid=Iln,dt.lang=X0t,dt.locale=G0t,dt.localeData=Z0t,dt.max=Run,dt.min=Mun,dt.parsingFlags=Aln,dt.set=Si,dt.startOf=Cln,dt.subtract=eln,dt.toArray=Pln,dt.toObject=Mln,dt.toDate=Eln,dt.toISOString=gln,dt.inspect=yln,typeof Symbol<"u"&&Symbol.for!=null&&(dt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),dt.toJSON=Rln,dt.toString=hln,dt.unix=Oln,dt.valueOf=Tln,dt.creationData=Dln,dt.eraName=Fln,dt.eraNarrow=kln,dt.eraAbbr=qln,dt.eraYear=Uln,dt.year=I0t,dt.isLeapYear=Psn,dt.weekYear=Kln,dt.isoWeekYear=Gln,dt.quarter=dt.quarters=tcn,dt.month=M0t,dt.daysInMonth=Tsn,dt.week=dt.weeks=Dsn,dt.isoWeek=dt.isoWeeks=jsn,dt.weeksInYear=Yln,dt.weeksInWeekYear=Qln,dt.isoWeeksInYear=Xln,dt.isoWeeksInISOWeekYear=Zln,dt.date=rCt,dt.day=dt.days=Ksn,dt.weekday=Gsn,dt.isoWeekday=Xsn,dt.dayOfYear=rcn,dt.hour=dt.hours=nun,dt.minute=dt.minutes=ncn,dt.second=dt.seconds=ocn,dt.millisecond=dt.milliseconds=nCt,dt.utcOffset=kun,dt.utc=Uun,dt.local=zun,dt.parseZone=Vun,dt.hasAlignedHourOffset=Hun,dt.isDST=Wun,dt.isLocal=Kun,dt.isUtcOffset=Gun,dt.isUtc=V0t,dt.isUTC=V0t,dt.zoneAbbr=acn,dt.zoneName=scn,dt.dates=P("dates accessor is deprecated. Use date instead.",rCt),dt.months=P("months accessor is deprecated. Use month instead",M0t),dt.years=P("years accessor is deprecated. Use year instead",I0t),dt.zone=P("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",qun),dt.isDSTShifted=P("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Jun);function ucn(C){return dl(C*1e3)}function lcn(){return dl.apply(null,arguments).parseZone()}function oCt(C){return C}var ss=k.prototype;ss.calendar=Q,ss.longDateFormat=H,ss.invalidDate=Z,ss.ordinal=He,ss.preparse=oCt,ss.postformat=oCt,ss.relativeTime=qe,ss.pastFuture=Nt,ss.set=z,ss.eras=jln,ss.erasParse=$ln,ss.erasConvertYear=Lln,ss.erasAbbrRegex=zln,ss.erasNameRegex=Bln,ss.erasNarrowRegex=Vln,ss.months=wsn,ss.monthsShort=Ssn,ss.monthsParse=xsn,ss.monthsRegex=Esn,ss.monthsShortRegex=Osn,ss.week=Rsn,ss.firstDayOfYear=Nsn,ss.firstDayOfWeek=Asn,ss.weekdays=zsn,ss.weekdaysMin=Hsn,ss.weekdaysShort=Vsn,ss.weekdaysParse=Jsn,ss.weekdaysRegex=Zsn,ss.weekdaysShortRegex=Ysn,ss.weekdaysMinRegex=Qsn,ss.isPM=tun,ss.meridiem=oun;function qpe(C,M,D,q){var G=jN(),fe=f().set(q,M);return G[D](fe,C)}function iCt(C,M,D){if(u(C)&&(M=C,C=void 0),C=C||"",M!=null)return qpe(C,M,D,"month");var q,G=[];for(q=0;q<12;q++)G[q]=qpe(C,q,D,"month");return G}function sBe(C,M,D,q){typeof C=="boolean"?(u(M)&&(D=M,M=void 0),M=M||""):(M=C,D=M,C=!1,u(M)&&(D=M,M=void 0),M=M||"");var G=jN(),fe=C?G._week.dow:0,De,sn=[];if(D!=null)return qpe(M,(D+fe)%7,q,"day");for(De=0;De<7;De++)sn[De]=qpe(M,(De+fe)%7,q,"day");return sn}function ccn(C,M){return iCt(C,M,"months")}function dcn(C,M){return iCt(C,M,"monthsShort")}function fcn(C,M,D){return sBe(C,M,D,"weekdays")}function pcn(C,M,D){return sBe(C,M,D,"weekdaysShort")}function mcn(C,M,D){return sBe(C,M,D,"weekdaysMin")}jL("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(C){var M=C%10,D=Ve(C%100/10)===1?"th":M===1?"st":M===2?"nd":M===3?"rd":"th";return C+D}}),e.lang=P("moment.lang is deprecated. Use moment.locale instead.",jL),e.langData=P("moment.langData is deprecated. Use moment.localeData instead.",jN);var $N=Math.abs;function hcn(){var C=this._data;return this._milliseconds=$N(this._milliseconds),this._days=$N(this._days),this._months=$N(this._months),C.milliseconds=$N(C.milliseconds),C.seconds=$N(C.seconds),C.minutes=$N(C.minutes),C.hours=$N(C.hours),C.months=$N(C.months),C.years=$N(C.years),this}function aCt(C,M,D,q){var G=kC(M,D);return C._milliseconds+=q*G._milliseconds,C._days+=q*G._days,C._months+=q*G._months,C._bubble()}function gcn(C,M){return aCt(this,C,M,1)}function ycn(C,M){return aCt(this,C,M,-1)}function sCt(C){return C<0?Math.floor(C):Math.ceil(C)}function bcn(){var C=this._milliseconds,M=this._days,D=this._months,q=this._data,G,fe,De,sn,pi;return C>=0&&M>=0&&D>=0||C<=0&&M<=0&&D<=0||(C+=sCt(uBe(D)+M)*864e5,M=0,D=0),q.milliseconds=C%1e3,G=Ue(C/1e3),q.seconds=G%60,fe=Ue(G/60),q.minutes=fe%60,De=Ue(fe/60),q.hours=De%24,M+=Ue(De/24),pi=Ue(uCt(M)),D+=pi,M-=sCt(uBe(pi)),sn=Ue(D/12),D%=12,q.days=M,q.months=D,q.years=sn,this}function uCt(C){return C*4800/146097}function uBe(C){return C*146097/4800}function _cn(C){if(!this.isValid())return NaN;var M,D,q=this._milliseconds;if(C=je(C),C==="month"||C==="quarter"||C==="year")switch(M=this._days+q/864e5,D=this._months+uCt(M),C){case"month":return D;case"quarter":return D/3;case"year":return D/12}else switch(M=this._days+Math.round(uBe(this._months)),C){case"week":return M/7+q/6048e5;case"day":return M+q/864e5;case"hour":return M*24+q/36e5;case"minute":return M*1440+q/6e4;case"second":return M*86400+q/1e3;case"millisecond":return Math.floor(M*864e5)+q;default:throw new Error("Unknown unit "+C)}}function vcn(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+Ve(this._months/12)*31536e6:NaN}function LN(C){return function(){return this.as(C)}}var wcn=LN("ms"),Scn=LN("s"),Ccn=LN("m"),xcn=LN("h"),Tcn=LN("d"),Ocn=LN("w"),Ecn=LN("M"),Pcn=LN("Q"),Mcn=LN("y");function Rcn(){return kC(this)}function Icn(C){return C=je(C),this.isValid()?this[C+"s"]():NaN}function Pz(C){return function(){return this.isValid()?this._data[C]:NaN}}var Acn=Pz("milliseconds"),Ncn=Pz("seconds"),Dcn=Pz("minutes"),jcn=Pz("hours"),$cn=Pz("days"),Lcn=Pz("months"),Fcn=Pz("years");function kcn(){return Ue(this.days()/7)}var FN=Math.round,z6={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function qcn(C,M,D,q,G){return G.relativeTime(M||1,!!D,C,q)}function Ucn(C,M,D,q){var G=kC(C).abs(),fe=FN(G.as("s")),De=FN(G.as("m")),sn=FN(G.as("h")),pi=FN(G.as("d")),pu=FN(G.as("M")),Pb=FN(G.as("w")),kN=FN(G.as("y")),LL=fe<=D.ss&&["s",fe]||fe0,LL[4]=q,qcn.apply(null,LL)}function Bcn(C){return C===void 0?FN:typeof C=="function"?(FN=C,!0):!1}function zcn(C,M){return z6[C]===void 0?!1:M===void 0?z6[C]:(z6[C]=M,C==="s"&&(z6.ss=M-1),!0)}function Vcn(C,M){if(!this.isValid())return this.localeData().invalidDate();var D=!1,q=z6,G,fe;return typeof C=="object"&&(M=C,C=!1),typeof C=="boolean"&&(D=C),typeof M=="object"&&(q=Object.assign({},z6,M),M.s!=null&&M.ss==null&&(q.ss=M.s-1)),G=this.localeData(),fe=Ucn(this,!D,q,G),D&&(fe=G.pastFuture(+this,fe)),G.postformat(fe)}var lBe=Math.abs;function V6(C){return(C>0)-(C<0)||+C}function Upe(){if(!this.isValid())return this.localeData().invalidDate();var C=lBe(this._milliseconds)/1e3,M=lBe(this._days),D=lBe(this._months),q,G,fe,De,sn=this.asSeconds(),pi,pu,Pb,kN;return sn?(q=Ue(C/60),G=Ue(q/60),C%=60,q%=60,fe=Ue(D/12),D%=12,De=C?C.toFixed(3).replace(/\.?0+$/,""):"",pi=sn<0?"-":"",pu=V6(this._months)!==V6(sn)?"-":"",Pb=V6(this._days)!==V6(sn)?"-":"",kN=V6(this._milliseconds)!==V6(sn)?"-":"",pi+"P"+(fe?pu+fe+"Y":"")+(D?pu+D+"M":"")+(M?Pb+M+"D":"")+(G||q||C?"T":"")+(G?kN+G+"H":"")+(q?kN+q+"M":"")+(C?kN+De+"S":"")):"P0D"}var ea=Dpe.prototype;ea.isValid=jun,ea.abs=hcn,ea.add=gcn,ea.subtract=ycn,ea.as=_cn,ea.asMilliseconds=wcn,ea.asSeconds=Scn,ea.asMinutes=Ccn,ea.asHours=xcn,ea.asDays=Tcn,ea.asWeeks=Ocn,ea.asMonths=Ecn,ea.asQuarters=Pcn,ea.asYears=Mcn,ea.valueOf=vcn,ea._bubble=bcn,ea.clone=Rcn,ea.get=Icn,ea.milliseconds=Acn,ea.seconds=Ncn,ea.minutes=Dcn,ea.hours=jcn,ea.days=$cn,ea.weeks=kcn,ea.months=Lcn,ea.years=Fcn,ea.humanize=Vcn,ea.toISOString=Upe,ea.toString=Upe,ea.toJSON=Upe,ea.locale=G0t,ea.localeData=Z0t,ea.toIsoString=P("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Upe),ea.lang=X0t,L("X",0,0,"unix"),L("x",0,0,"valueOf"),Ee("x",Mm),Ee("X",rt),Ei("X",function(C,M,D){D._d=new Date(parseFloat(C)*1e3)}),Ei("x",function(C,M,D){D._d=new Date(Ve(C))});return e.version="2.29.4",r(dl),e.fn=dt,e.min=Iun,e.max=Aun,e.now=Nun,e.utc=f,e.unix=ucn,e.months=ccn,e.isDate=l,e.locale=jL,e.invalid=g,e.duration=kC,e.isMoment=O,e.weekdays=fcn,e.parseZone=lcn,e.localeData=jN,e.isDuration=jpe,e.monthsShort=dcn,e.weekdaysMin=mcn,e.defineLocale=XUe,e.updateLocale=uun,e.locales=lun,e.weekdaysShort=pcn,e.normalizeUnits=je,e.relativeTimeRounding=Bcn,e.relativeTimeThreshold=zcn,e.calendarFormat=iln,e.prototype=dt,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e})});function h1t(t){return t in Ste}function Bb(t,e){let r=te();return e?.apiKey||r[Ste[t]]||""}function aSn(){return[{name:"copilot-plus-flash",provider:"copilot-plus"},{name:"google/gemini-2.5-flash",provider:"openrouterai"}]}function pye(t){return aSn().some(e=>e.name===t.name&&e.provider===t.provider)}var hF=v(()=>{mr();Ye()});var g1t={};En(g1t,{CustomError:()=>lo,MissingApiKeyError:()=>xte,MissingModelKeyError:()=>zJ,MissingPlusLicenseError:()=>E4,TimeoutError:()=>Cte});var lo,Cte,xte,E4,zJ,lw=v(()=>{lo=class t extends Error{constructor(e,r){super(e),this.code=r,Object.setPrototypeOf(this,t.prototype)}},Cte=class t extends Error{constructor(e,r){super(`${e} timed out after ${r}ms`),this.name="TimeoutError",Object.setPrototypeOf(this,t.prototype)}},xte=class t extends Error{constructor(e="API key is not configured."){super(e),this.name="MissingApiKeyError",Object.setPrototypeOf(this,t.prototype)}},E4=class t extends Error{constructor(e="Copilot Plus license key is not configured."){super(e),this.name="MissingPlusLicenseError",Object.setPrototypeOf(this,t.prototype)}},zJ=class t extends Error{constructor(e="No model key found. Please select a model in settings."){super(e),this.name="MissingModelKeyError",Object.setPrototypeOf(this,t.prototype)}}});function c1(t){try{return new URL(t).hostname.replace(/^www\./,"")}catch{return t}}function b1t(t){let e=t?.detail||{};return{status:e.status,message:e.message||t?.message,reason:e.reason}}function uSn(t){let e=b1t(t);return e.reason==="Invalid license key"||t?.message==="Invalid license key"||t?.message?.includes("status 403")||e.status===403}function _1t(t){let e=b1t(t);return uSn(t)?mWe.INVALID_LICENSE_KEY_USER:e.message||(e.reason?`Error: ${e.reason}`:mWe.UNKNOWN_ERROR)}function VJ(t){return t.replace(/^#/,"").trim()}function HJ(t,e={}){let{trimStart:r=!0}=e;if(t.startsWith("---")){let n=t.indexOf("---",3);if(n!==-1){let o=t.slice(n+3);return r?o.trimStart():o.startsWith(`\r
-`)?o.slice(2):o.startsWith(`
-`)||o.startsWith("\r")?o.slice(1):o}}return t}function gO(t,e=!0){let r=app.metadataCache.getFileCache(t),n=r?.frontmatter?.tags,o=new Set;if(!e){let i=r?.tags?.map(a=>a.tag);i&&i.forEach(a=>o.add(VJ(a)))}return n&&(Array.isArray(n)?n.forEach(i=>{typeof i=="string"&&o.add(VJ(i))}):typeof n=="string"&&o.add(VJ(n))),Array.from(o)}function mye(t,e,r){if(e.length===0)return[];e=e.map(i=>VJ(i));let n=r&&r.length>0?r:Ote(t,"/"),o=[];for(let i of n){let a=gO(i);e.some(s=>a.includes(s))&&o.push(i)}return o}async function $c(t){let e=(0,$y.normalizePath)(t).replace(/^\/+/,"").replace(/\/+$/,"");if(!e)return;let r=e.split("/").filter(Boolean),n="";for(let o of r){n=n?`${n}/${o}`:o;let i=app.vault.getAbstractFileByPath(n);if(i){if(i instanceof $y.TFile)throw new Error(`Path conflict: "${n}" exists as a file, expected folder.`);continue}await app.vault.adapter.mkdir(n)}}async function WJ(t,e){return t.extension!="md"&&t.extension!="canvas"?null:await e.cachedRead(t)}function hye(t){return t.basename}function yO(t){return t?dSn.includes(t.extension):!1}function zb(t){return t==="copilot_plus"||t==="project"}function JJ(t,e){return t?t.extension==="md"||t.extension==="canvas"?!0:zb(e):!1}function w1t(t,e){return!t||!e?!1:t.includes(hWe)&&e.includes(hWe)||t==="small"&&e==="cohereai"||t==="cohereai"&&e==="small"?!0:t===e}function gye(t){let e=[],{history:r}=t;for(let n=0;n{let o=e.getAbstractFileByPath(n);if(o instanceof $y.TFile)r.set(o.path,o);else{let a=e.getMarkdownFiles().filter(s=>s.basename===n);a.length>0&&(fSn(n,e)?r.set(a[0].path,a[0]):console.warn(`Found multiple files with title "${n}". Expected a full path for duplicate titles.`))}}),Array.from(r.values())}function kS(t,e){let r=/\[\[(.*?)\]\]/g,n=t.match(r);if(!n)return[];let o=n.map(i=>i.slice(2,-2));return S1t(o,e)}function C1t(t,e){let r=/\{\[\[(.*?)\]\]\}/g,n=t.match(r);if(!n)return[];let o=n.map(i=>i.slice(3,-3));return S1t(o,e)}function fSn(t,e){return e.getMarkdownFiles().filter(n=>n.basename===t).length===1}function x1t(t){return t=t.trim(),t.startsWith("[[")&&t.endsWith("]]")?`${t.slice(2,-2).trim()}.md`:t}function T1t(t){let e=new Set;return t.forEach(r=>{r.metadata?.title&&e.add(r.metadata?.title)}),Array.from(e)}function gWe(t){if(!t||typeof t!="string")return{isValid:!1,error:"URL is required"};let e=t.trim();if(!e)return{isValid:!1,error:"URL cannot be empty"};let r=yWe(e);return r?/^[a-zA-Z0-9_-]{11}$/.test(r)?{isValid:!0,videoId:r}:{isValid:!1,error:"Invalid YouTube video ID"}:{isValid:!1,error:"Invalid YouTube URL format"}}function yWe(t){try{let e=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/|youtube\.com\/v\/)([a-zA-Z0-9_-]{11})/,/youtube\.com\/shorts\/([a-zA-Z0-9_-]{11})/];for(let r of e){let n=t.match(r);if(n&&n[1])return n[1]}return null}catch{return null}}function O1t(t){return`https://www.youtube.com/watch?v=${t}`}function E1t(t){return gWe(t).isValid}function P1t(t){if(!t||typeof t!="string")return!1;try{let e=new URL(t.trim());return(e.hostname==="x.com"||e.hostname==="www.x.com"||e.hostname==="twitter.com"||e.hostname==="www.twitter.com")&&e.pathname.includes("/status/")}catch{return!1}}function M1t(t){let e=t.matchAll(new RegExp(pSn,"g"));return Array.from(e,r=>r[0])}async function gl(t,e={}){let{throwOnHttpError:r=!0}=e,n=new Headers(e.headers),o=Object.fromEntries(n.entries());delete o["content-length"],F("safeFetch request");let i=e.method?.toUpperCase()||"POST",s=await(0,$y.requestUrl)({url:t,contentType:"application/json",headers:o,method:i,...["POST","PUT","PATCH"].includes(i)&&{body:e.body?.toString()},throw:!1});if(r&&s.status>=400){let u;try{u=typeof s.json=="string"?JSON.parse(s.json):s.json}catch{try{u=typeof s.text=="string"?JSON.parse(s.text):s.text}catch{u=null}}let l=new Error(mWe.REQUEST_FAILED(s.status));if(l.json=u,u?.detail?.reason==="Invalid license key"||u?.reason==="Invalid license key")l.message="Invalid license key";else if(u?.detail?.message||u?.message){let c=u?.detail?.message||u?.message,d=u?.detail?.reason||u?.reason;l.message=d?`${c}: ${d}`:c}else u?.detail?l.message=JSON.stringify(u.detail):u&&(l.message+=". "+JSON.stringify(u));throw l}return{ok:s.status>=200&&s.status<300,status:s.status,statusText:s.status.toString(),headers:new Headers(s.headers),url:t,type:"basic",redirected:!1,bytes:()=>Promise.resolve(new Uint8Array(0)),body:mSn(s.text),bodyUsed:!0,json:()=>s.json,text:async()=>s.text,arrayBuffer:async()=>{if(s.arrayBuffer)return s.arrayBuffer;let u=s.text.replace(/^data:.*;base64,/,""),l=atob(u),c=new Uint8Array(l.length);for(let d=0;d{throw new Error("not implemented")},formData:()=>{throw new Error("not implemented")},clone:()=>{throw new Error("not implemented")}}}function R1t(t,e={}){return gl(t,{...e,throwOnHttpError:!1})}function mSn(t){return new ReadableStream({start(e){let n=new TextEncoder().encode(t);e.enqueue(n),e.close()}})}function Ete(t,e){let r={...t};return e.forEach(n=>{delete r[n]}),r}function qS(t,e){let[r,n]=t.split("|"),o=e.find(i=>i.name===r&&i.provider===n);if(!o)throw new Error(`No model configuration found for: ${t}`);return o}function d1(t){let e=QC[t];return{...e,label:e.label||t}}function Rg(t,e){let r=QC[t]?.label||t;return r+(e?.believerExclusive&&r==="Copilot Plus"?"(Believer)":"")}function f1(t){let e=t;return e=Rte(e),e=e.replace(/```xml\s*[\s\S]*?[\s\S]*?<\/writeToFile>[\s\S]*?```/g,""),e=e.replace(/[\s\S]*?<\/writeToFile>/g,""),e=e.replace(/[\s\S]*?/g,""),e=e.replace(//g,""),e=e.replace(/\n{3,}/g,`
-
-`),e=e.trim(),e}async function KJ(t,e=!1){let r=app.workspace.getMostRecentLeaf();if(!r){new $y.Notice("No active leaf found.");return}if(r.view instanceof $y.MarkdownView||(r=app.workspace.getLeaf(!1),await r.setViewState({type:"markdown",state:r.view.getState()})),!(r.view instanceof $y.MarkdownView)){new $y.Notice("Failed to open a markdown view.");return}let n=r.view.editor,o=n.getCursor("from"),i=n.getCursor("to"),a=f1(t),s=a.split(`
-`),u=(b,_)=>{let w=_.length-1;return w===0?{line:b.line,ch:b.ch+(_[0]?.length??0)}:{line:b.line+w,ch:_[_.length-1]?.length??0}},l=()=>{let b=e?o:i;n.replaceRange(a,b,i),n.setSelection(b,u(b,s))},c=()=>{n.focus(),new $y.Notice("Message inserted into the active note.")},d=n.cm;if(!(d?.state?.doc&&typeof d.dispatch=="function")){l(),c();return}let{from:p,to:m}=d.state.selection.main,h=e?p:m,y=d.state.toText(a),g=h+y.length;try{d.dispatch({changes:{from:h,to:m,insert:y},selection:{anchor:h,head:g}})}catch(b){Te("CM6 dispatch failed, falling back to Obsidian API",b),l()}c()}function yye(t,e){let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(...n),e)}}function bye(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let o=0;o<3;o++){if(r[o]>n[o])return!0;if(r[o]!t.includes(e))}function XJ(t,e){if(t.provider==="amazon-bedrock")return t.apiKey||e.amazonBedrockApiKey?{hasApiKey:!0}:{hasApiKey:!1,errorNotice:"Amazon Bedrock API key is missing. Please add a key in Settings > API Keys or update the model configuration."};if(t.provider==="github-copilot")return!(t.apiKey||e.githubCopilotToken||e.githubCopilotAccessToken)?{hasApiKey:!1,errorNotice:"GitHub Copilot is not authenticated. Please connect it in Settings > Copilot > Basic Tab > Set Keys."}:{hasApiKey:!0};let r=!!bWe().find(o=>o===t.provider),n=!Bb(t.provider,t);return r&&n?{hasApiKey:!1,errorNotice:`Please configure API Key for ${t.name} in settings first.
-Path: Settings > copilot plugin > Basic Tab > Set Keys`}:{hasApiKey:!0}}function M4(t){return typeof t=="string"?t:Array.isArray(t)?t.filter(e=>e.type==="text").map(e=>e.text).join(""):String(t||"")}function Rte(t){let r=M4(t).replace(/[\s\S]*?<\/think>/g,"");return r=r.replace(/[\s\S]*$/g,""),r.trim()}function _ye(t){return M4(t).replace(/[\s\S]*?<\/errorChunk>/g,"").trim()}function A1t(){return crypto.randomUUID()}async function Vb(t){let e=console.warn;try{return console.warn=function(...r){if(!(r[0]?.includes&&(r[0].includes("Failed to calculate number of tokens")||r[0].includes("Unknown model"))))return e.apply(console,r)},await t()}finally{console.warn=e}}async function N1t(t,e,r="Operation"){let{TimeoutError:n}=await Promise.resolve().then(()=>(lw(),g1t)),o=new AbortController,i=setTimeout(()=>{o.abort()},e);try{return await Promise.race([t(o.signal),new Promise((a,s)=>{o.signal.addEventListener("abort",()=>{s(new n(r,e))})})])}finally{clearTimeout(i)}}function Ite(){let t=app.workspace.getActiveViewOfType($y.MarkdownView);return t?t.getState().source===!0:!0}function P4(t){return new TextEncoder().encode(t).length}function Tte(t,e){if(e<=0)return"";let r=new TextEncoder;if(r.encode(t).length<=e)return t;let o=0,i=t.length,a="";for(;o<=i;){let s=Math.floor((o+i)/2),u=t.substring(0,s);r.encode(u).length<=e?(a=u,o=s+1):i=s-1}return a}function D1t(t){let e=t.split("/"),r=e[e.length-1];if(P4(r)<=pWe)return t;let n=r.lastIndexOf("."),o=n>=0?r.substring(n):"",i=n>=0?r.substring(0,n):r,a=P4(o),s=pWe-a;return s<=0?e[e.length-1]=Tte(r,pWe):e[e.length-1]=Tte(i,s)+o,e.join("/")}async function j1t(t,e=!0){let r=null;app.workspace.iterateAllLeaves(n=>{if(n.view.getViewType()==="markdown"||n.view.getViewType()==="pdf"||n.view.getViewType()==="canvas"){let o=n.view.file;o&&o.path===t.path&&(r=n)}}),r&&e?app.workspace.setActiveLeaf(r,{focus:!0}):r||await app.workspace.getLeaf("tab").openFile(t)}var y1t,$y,mWe,Ote,lSn,cSn,v1t,Mg,dSn,pSn,pWe,Bt=v(()=>{sd();mr();Xe();y1t=$(m1t()),$y=require("obsidian");hF();cWe();mWe={INVALID_LICENSE_KEY_USER:"Invalid Copilot Plus license key. Please check your license key in settings.",UNKNOWN_ERROR:"An unknown error occurred",REQUEST_FAILED:t=>`Request failed, status ${t}`};Ote=(t,e)=>{let r=t.getMarkdownFiles();if(e==="/")return r;let n=e.toLowerCase().replace(/^\/|\/$/g,"");return r.filter(o=>{let a=o.path.toLowerCase().split("/"),s=n.split("/"),u=0;for(let l of s){for(;u=a.length)return!1}return!0})};lSn=t=>t.last?.modelName||t.last?.model,cSn=t=>t.last?.retriever!==void 0,v1t=t=>lSn(t)||cSn(t),Mg=(t,e="local")=>{let r=(0,y1t.default)(t);return e==="utc"&&r.utc(),{fileName:r.format("YYYYMMDD_HHmmss"),display:r.format("YYYY/MM/DD HH:mm:ss"),epoch:r.valueOf()}};dSn=["md","pdf","canvas"];pSn=/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:watch\?v=|shorts\/)|youtu\.be\/)([^\s&]+)/;pWe=255});var ZJ,_We,Ate,sd=v(()=>{fO();FS();sw();J3e();Bt();ZJ=class ZJ{static createNewLLMChain(e){let{llm:r,memory:n,prompt:o,abortController:i}=e,a=r.withConfig({signal:i?.signal}),s=Bl.from([{input:u=>u.input,memory:()=>n.loadMemoryVariables({})},{input:u=>u.input,history:u=>u.memory.history},o,a]);return ZJ.instances.set("llm_chain",s),console.log("New LLM chain created."),s}static getLLMChainFromMap(e){let r=ZJ.instances.get("llm_chain");return r||(r=ZJ.createNewLLMChain(e)),r}static createConversationalRetrievalChain(e,r,n){let{llm:o,retriever:i,systemMessage:a}=e,u=mu.fromTemplate(`Given the following conversation and a follow up question,
- summarize the conversation as context and keep the follow up question unchanged, in its original language.
- If the follow up question is unrelated to its preceding messages, return this follow up question directly.
- If it is related, then combine the summary and the follow up question to construct a standalone question.
- Make sure to keep any [[]] wrapped note titles in the question unchanged.
-
- Chat History:
- {chat_history}
- Follow Up Input: {question}
- Standalone question:`),c=mu.fromTemplate(`{system_message}
-
-Answer the question with as detailed as possible based only on the following context:
-{context}
-
-Question: {question}
-`),d=y=>y.map(b=>`Human: ${b[0]}
-Assistant: ${b[1]}`).join(`
-`),f=Bl.from([{question:y=>(n&&console.log("Input Question: ",y.question),y.question),chat_history:y=>{let g=d(y.chat_history);return n&&console.log("Formatted Chat History: ",g),g}},u,o,new Kge,y=>{let g=Rte(y),b=_ye(g);return n&&console.log("Standalone Question: ",b),b}]),p=async y=>(r(y),_te(y)),m=Bl.from([{context:i.pipe(p),question:new Au,system_message:()=>a},c,o]);return f.pipe(m)}};ZJ.instances=new Map;_We=ZJ,Ate=_We});var Nte=v(()=>{});var vWe,p1,Nu,Zs,cw,ZC,gSn,ySn,bSn,_Sn,lWe,L1t,F1t,Dte,q_,wWe,jte,R4,$te,SWe,Lte,CWe,xWe,vye,TWe,Fte,wye,Sye,OWe,Cye,Ly,EWe,dye,dw,m1,Hb,k_,gF,hO,YC,T4,hWe,QC,Ste,k1t,UJ,Sn,xye,YJ,ko,US,mr=v(()=>{qN();sd();Nte();vWe="https://api.brevilabs.com/v1",p1="https://models.brevilabs.com/v1",Nu="copilot-chat-view",Zs="user",cw="ai",ZC="copilot",gSn=`${ZC}/copilot-conversations`,ySn=`${ZC}/copilot-custom-prompts`,bSn=`${ZC}/memory`,_Sn=`${ZC}/system-prompts`,lWe=ZC,L1t=`You are Obsidian Copilot, a helpful assistant that integrates AI to Obsidian note-taking.
+var USn=Object.create;var Mq=Object.defineProperty;var BSn=Object.getOwnPropertyDescriptor;var jSn=Object.getOwnPropertyNames;var HSn=Object.getPrototypeOf,WSn=Object.prototype.hasOwnProperty;var tot=t=>{throw TypeError(t)};var VSn=(t,e,n)=>e in t?Mq(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var yi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Vo=(t,e)=>{for(var n in e)Mq(t,n,{get:e[n],enumerable:!0})},not=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of jSn(e))!WSn.call(t,o)&&o!==n&&Mq(t,o,{get:()=>e[o],enumerable:!(r=BSn(e,o))||r.enumerable});return t};var R=(t,e,n)=>(n=t!=null?USn(HSn(t)):{},not(e||!t||!t.__esModule?Mq(n,"default",{value:t,enumerable:!0}):n,t)),qSn=t=>not(Mq({},"__esModule",{value:!0}),t);var A=(t,e,n)=>VSn(t,typeof e!="symbol"?e+"":e,n),DTe=(t,e,n)=>e.has(t)||tot("Cannot "+n);var se=(t,e,n)=>(DTe(t,e,"read from private field"),n?n.call(t):e.get(t)),It=(t,e,n)=>e.has(t)?tot("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),kt=(t,e,n,r)=>(DTe(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),Je=(t,e,n)=>(DTe(t,e,"access private method"),n);var _re=(t,e,n,r)=>({set _(o){kt(t,e,o,n)},get _(){return se(t,e,r)}});var pot=yi(bo=>{"use strict";var Oq=Symbol.for("react.element"),KSn=Symbol.for("react.portal"),GSn=Symbol.for("react.fragment"),ZSn=Symbol.for("react.strict_mode"),YSn=Symbol.for("react.profiler"),JSn=Symbol.for("react.provider"),XSn=Symbol.for("react.context"),QSn=Symbol.for("react.forward_ref"),eCn=Symbol.for("react.suspense"),tCn=Symbol.for("react.memo"),nCn=Symbol.for("react.lazy"),rot=Symbol.iterator;function rCn(t){return t===null||typeof t!="object"?null:(t=rot&&t[rot]||t["@@iterator"],typeof t=="function"?t:null)}var sot={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},aot=Object.assign,lot={};function EF(t,e,n){this.props=t,this.context=e,this.refs=lot,this.updater=n||sot}EF.prototype.isReactComponent={};EF.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};EF.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function cot(){}cot.prototype=EF.prototype;function FTe(t,e,n){this.props=t,this.context=e,this.refs=lot,this.updater=n||sot}var zTe=FTe.prototype=new cot;zTe.constructor=FTe;aot(zTe,EF.prototype);zTe.isPureReactComponent=!0;var oot=Array.isArray,uot=Object.prototype.hasOwnProperty,UTe={current:null},dot={key:!0,ref:!0,__self:!0,__source:!0};function fot(t,e,n){var r,o={},i=null,s=null;if(e!=null)for(r in e.ref!==void 0&&(s=e.ref),e.key!==void 0&&(i=""+e.key),e)uot.call(e,r)&&!dot.hasOwnProperty(r)&&(o[r]=e[r]);var a=arguments.length-2;if(a===1)o.children=n;else if(1{"use strict";mot.exports=pot()});function hot(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function got(...t){return e=>{let n=!1,r=t.map(o=>{let i=hot(o,e);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o{lCn=R(U(),1)});var vot=yi(kre=>{"use strict";var cCn=U(),uCn=Symbol.for("react.element"),dCn=Symbol.for("react.fragment"),fCn=Object.prototype.hasOwnProperty,pCn=cCn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,mCn={key:!0,ref:!0,__self:!0,__source:!0};function wot(t,e,n){var r,o={},i=null,s=null;n!==void 0&&(i=""+n),e.key!==void 0&&(i=""+e.key),e.ref!==void 0&&(s=e.ref);for(r in e)fCn.call(e,r)&&!mCn.hasOwnProperty(r)&&(o[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)o[r]===void 0&&(o[r]=e[r]);return{$$typeof:uCn,type:t,key:i,ref:s,props:o,_owner:pCn.current}}kre.Fragment=dCn;kre.jsx=wot;kre.jsxs=wot});var Pt=yi((Qzr,bot)=>{"use strict";bot.exports=vot()});function gCn(t){return typeof t=="object"&&t!==null&&"then"in t}function _ot(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===hCn&&"_payload"in t&&gCn(t._payload)}function yCn(t){let e=wCn(t),n=Fl.forwardRef((r,o)=>{let{children:i,...s}=r;_ot(i)&&typeof Ire=="function"&&(i=Ire(i._payload));let a=Fl.Children.toArray(i),l=a.find(bCn);if(l){let c=l.props.children,u=a.map(d=>d===l?Fl.Children.count(c)>1?Fl.Children.only(null):Fl.isValidElement(c)?c.props.children:null:d);return(0,Tre.jsx)(e,{...s,ref:o,children:Fl.isValidElement(c)?Fl.cloneElement(c,void 0,u):null})}return(0,Tre.jsx)(e,{...s,ref:o,children:i})});return n.displayName=`${t}.Slot`,n}function wCn(t){let e=Fl.forwardRef((n,r)=>{let{children:o,...i}=n;if(_ot(o)&&typeof Ire=="function"&&(o=Ire(o._payload)),Fl.isValidElement(o)){let s=xCn(o),a=_Cn(i,o.props);return o.type!==Fl.Fragment&&(a.ref=r?got(r,s):s),Fl.cloneElement(o,a)}return Fl.Children.count(o)>1?Fl.Children.only(null):null});return e.displayName=`${t}.SlotClone`,e}function bCn(t){return Fl.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===vCn}function _Cn(t,e){let n={...e};for(let r in e){let o=t[r],i=e[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...a)=>{let l=i(...a);return o(...a),l}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...t,...n}}function xCn(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}var Fl,Tre,hCn,Ire,xot,vCn,Sot=b(()=>{Fl=R(U(),1);yot();Tre=R(Pt(),1),hCn=Symbol.for("react.lazy"),Ire=Fl[" use ".trim().toString()];xot=yCn("Slot");vCn=Symbol("radix.slottable")});function Cot(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e{});var kot,Tot,MF,Are=b(()=>{jTe();kot=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,Tot=Pre,MF=(t,e)=>n=>{var r;if(e?.variants==null)return Tot(t,n?.class,n?.className);let{variants:o,defaultVariants:i}=e,s=Object.keys(o).map(c=>{let u=n?.[c],d=i?.[c];if(u===null)return null;let f=kot(u)||kot(d);return o[c][f]}),a=n&&Object.entries(n).reduce((c,u)=>{let[d,f]=u;return f===void 0||(c[d]=f),c},{}),l=e==null||(r=e.compoundVariants)===null||r===void 0?void 0:r.reduce((c,u)=>{let{class:d,className:f,...p}=u;return Object.entries(p).every(m=>{let[h,g]=m;return Array.isArray(g)?g.includes({...i,...a}[h]):{...i,...a}[h]===g})?[...c,d,f]:c},[]);return Tot(t,s,l,n?.class,n?.className)}});function NCn(){let t=0,e,n,r="";for(;td(u),t());return n=MCn(c),r=n.cache.get,o=n.cache.set,i=a,a(l)}function a(l){let c=r(l);if(c)return c;let u=RCn(l,n);return o(l,u),u}return function(){return i(NCn.apply(null,arguments))}}var VTe,SCn,Mot,Iot,CCn,kCn,WTe,Pot,TCn,ICn,PCn,Oot,ACn,ECn,MCn,OCn,RCn,Rot,Ns,Not,LCn,DCn,$Cn,FCn,zCn,UCn,BCn,wC,iI,OF,HTe,Rq,jCn,qr,sI,HCn,WCn,VCn,qCn,KCn,GCn,Nq,RF,ZCn,Lot,YCn,JCn,Eot,XCn,Lq,QCn,e0n,Dot,$ot=b(()=>{VTe="-",SCn=t=>{let e=kCn(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:s=>{let a=s.split(VTe);return a[0]===""&&a.length!==1&&a.shift(),Mot(a,e)||CCn(s)},getConflictingClassGroupIds:(s,a)=>{let l=n[s]||[];return a&&r[s]?[...l,...r[s]]:l}}},Mot=(t,e)=>{if(t.length===0)return e.classGroupId;let n=t[0],r=e.nextPart.get(n),o=r?Mot(t.slice(1),r):void 0;if(o)return o;if(e.validators.length===0)return;let i=t.join(VTe);return e.validators.find(({validator:s})=>s(i))?.classGroupId},Iot=/^\[(.+)\]$/,CCn=t=>{if(Iot.test(t)){let e=Iot.exec(t)[1],n=e?.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},kCn=t=>{let{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return ICn(Object.entries(t.classGroups),n).forEach(([i,s])=>{WTe(s,r,i,e)}),r},WTe=(t,e,n,r)=>{t.forEach(o=>{if(typeof o=="string"){let i=o===""?e:Pot(e,o);i.classGroupId=n;return}if(typeof o=="function"){if(TCn(o)){WTe(o(r),e,n,r);return}e.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,s])=>{WTe(s,Pot(e,i),n,r)})})},Pot=(t,e)=>{let n=t;return e.split(VTe).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},TCn=t=>t.isThemeGetter,ICn=(t,e)=>e?t.map(([n,r])=>{let o=r.map(i=>typeof i=="string"?e+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([s,a])=>[e+s,a])):i);return[n,o]}):t,PCn=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map,o=(i,s)=>{n.set(i,s),e++,e>t&&(e=0,r=n,n=new Map)};return{get(i){let s=n.get(i);if(s!==void 0)return s;if((s=r.get(i))!==void 0)return o(i,s),s},set(i,s){n.has(i)?n.set(i,s):o(i,s)}}},Oot="!",ACn=t=>{let{separator:e,experimentalParseClassName:n}=t,r=e.length===1,o=e[0],i=e.length,s=a=>{let l=[],c=0,u=0,d;for(let g=0;gu?d-u:void 0;return{modifiers:l,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:h}};return n?a=>n({className:a,parseClassName:s}):s},ECn=t=>{if(t.length<=1)return t;let e=[],n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},MCn=t=>({cache:PCn(t.cacheSize),parseClassName:ACn(t),...SCn(t)}),OCn=/\s+/,RCn=(t,e)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=e,i=[],s=t.trim().split(OCn),a="";for(let l=s.length-1;l>=0;l-=1){let c=s[l],{modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(c),m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){a=c+(a.length>0?" "+a:a);continue}if(h=r(f),!h){a=c+(a.length>0?" "+a:a);continue}m=!1}let g=ECn(u).join(":"),w=d?g+Oot:g,y=w+h;if(i.includes(y))continue;i.push(y);let v=o(h,m);for(let _=0;_0?" "+a:a)}return a};Rot=t=>{if(typeof t=="string")return t;let e,n="";for(let r=0;r{let e=n=>n[t]||[];return e.isThemeGetter=!0,e},Not=/^\[(?:([a-z-]+):)?(.+)\]$/i,LCn=/^\d+\/\d+$/,DCn=new Set(["px","full","screen"]),$Cn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,FCn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,zCn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,UCn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,BCn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wC=t=>OF(t)||DCn.has(t)||LCn.test(t),iI=t=>RF(t,"length",ZCn),OF=t=>!!t&&!Number.isNaN(Number(t)),HTe=t=>RF(t,"number",OF),Rq=t=>!!t&&Number.isInteger(Number(t)),jCn=t=>t.endsWith("%")&&OF(t.slice(0,-1)),qr=t=>Not.test(t),sI=t=>$Cn.test(t),HCn=new Set(["length","size","percentage"]),WCn=t=>RF(t,HCn,Lot),VCn=t=>RF(t,"position",Lot),qCn=new Set(["image","url"]),KCn=t=>RF(t,qCn,JCn),GCn=t=>RF(t,"",YCn),Nq=()=>!0,RF=(t,e,n)=>{let r=Not.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},ZCn=t=>FCn.test(t)&&!zCn.test(t),Lot=()=>!1,YCn=t=>UCn.test(t),JCn=t=>BCn.test(t),Eot=()=>{let t=Ns("colors"),e=Ns("spacing"),n=Ns("blur"),r=Ns("brightness"),o=Ns("borderColor"),i=Ns("borderRadius"),s=Ns("borderSpacing"),a=Ns("borderWidth"),l=Ns("contrast"),c=Ns("grayscale"),u=Ns("hueRotate"),d=Ns("invert"),f=Ns("gap"),p=Ns("gradientColorStops"),m=Ns("gradientColorStopPositions"),h=Ns("inset"),g=Ns("margin"),w=Ns("opacity"),y=Ns("padding"),v=Ns("saturate"),_=Ns("scale"),S=Ns("sepia"),k=Ns("skew"),x=Ns("space"),C=Ns("translate"),T=()=>["auto","contain","none"],I=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto",qr,e],O=()=>[qr,e],D=()=>["",wC,iI],F=()=>["auto",OF,qr],q=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Z=()=>["solid","dashed","dotted","double","none"],re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ce=()=>["start","end","center","between","around","evenly","stretch"],oe=()=>["","0",qr],ne=()=>["auto","avoid","all","avoid-page","page","left","right","column"],G=()=>[OF,qr];return{cacheSize:500,separator:":",theme:{colors:[Nq],spacing:[wC,iI],blur:["none","",sI,qr],brightness:G(),borderColor:[t],borderRadius:["none","","full",sI,qr],borderSpacing:O(),borderWidth:D(),contrast:G(),grayscale:oe(),hueRotate:G(),invert:oe(),gap:O(),gradientColorStops:[t],gradientColorStopPositions:[jCn,iI],inset:M(),margin:M(),opacity:G(),padding:O(),saturate:G(),scale:G(),sepia:oe(),skew:G(),space:O(),translate:O()},classGroups:{aspect:[{aspect:["auto","square","video",qr]}],container:["container"],columns:[{columns:[sI]}],"break-after":[{"break-after":ne()}],"break-before":[{"break-before":ne()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...q(),qr]}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Rq,qr]}],basis:[{basis:M()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",qr]}],grow:[{grow:oe()}],shrink:[{shrink:oe()}],order:[{order:["first","last","none",Rq,qr]}],"grid-cols":[{"grid-cols":[Nq]}],"col-start-end":[{col:["auto",{span:["full",Rq,qr]},qr]}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":[Nq]}],"row-start-end":[{row:["auto",{span:[Rq,qr]},qr]}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",qr]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",qr]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal",...ce()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...ce(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...ce(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[y]}],px:[{px:[y]}],py:[{py:[y]}],ps:[{ps:[y]}],pe:[{pe:[y]}],pt:[{pt:[y]}],pr:[{pr:[y]}],pb:[{pb:[y]}],pl:[{pl:[y]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[x]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[x]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",qr,e]}],"min-w":[{"min-w":[qr,e,"min","max","fit"]}],"max-w":[{"max-w":[qr,e,"none","full","min","max","fit","prose",{screen:[sI]},sI]}],h:[{h:[qr,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[qr,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[qr,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[qr,e,"auto","min","max","fit"]}],"font-size":[{text:["base",sI,iI]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",HTe]}],"font-family":[{font:[Nq]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",qr]}],"line-clamp":[{"line-clamp":["none",OF,HTe]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",wC,qr]}],"list-image":[{"list-image":["none",qr]}],"list-style-type":[{list:["none","disc","decimal",qr]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[w]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[w]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",wC,iI]}],"underline-offset":[{"underline-offset":["auto",wC,qr]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",qr]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",qr]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[w]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...q(),VCn]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",WCn]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},KCn]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[w]}],"border-style":[{border:[...Z(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[w]}],"divide-style":[{divide:Z()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...Z()]}],"outline-offset":[{"outline-offset":[wC,qr]}],"outline-w":[{outline:[wC,iI]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[w]}],"ring-offset-w":[{"ring-offset":[wC,iI]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",sI,GCn]}],"shadow-color":[{shadow:[Nq]}],opacity:[{opacity:[w]}],"mix-blend":[{"mix-blend":[...re(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":re()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",sI,qr]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[v]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[w]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",qr]}],duration:[{duration:G()}],ease:[{ease:["linear","in","out","in-out",qr]}],delay:[{delay:G()}],animate:[{animate:["none","spin","ping","pulse","bounce",qr]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[_]}],"scale-x":[{"scale-x":[_]}],"scale-y":[{"scale-y":[_]}],rotate:[{rotate:[Rq,qr]}],"translate-x":[{"translate-x":[C]}],"translate-y":[{"translate-y":[C]}],"skew-x":[{"skew-x":[k]}],"skew-y":[{"skew-y":[k]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",qr]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",qr]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",qr]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[wC,iI,HTe]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},XCn=(t,{cacheSize:e,prefix:n,separator:r,experimentalParseClassName:o,extend:i={},override:s={}})=>{Lq(t,"cacheSize",e),Lq(t,"prefix",n),Lq(t,"separator",r),Lq(t,"experimentalParseClassName",o);for(let a in s)QCn(t[a],s[a]);for(let a in i)e0n(t[a],i[a]);return t},Lq=(t,e,n)=>{n!==void 0&&(t[e]=n)},QCn=(t,e)=>{if(e)for(let n in e)Lq(t,n,e[n])},e0n=(t,e)=>{if(e)for(let n in e){let r=e[n];r!==void 0&&(t[n]=(t[n]||[]).concat(r))}},Dot=(t,...e)=>typeof t=="function"?Aot(Eot,t,...e):Aot(()=>XCn(Eot(),t),...e)});function X(...t){return t0n(Pre(t))}var t0n,De=b(()=>{jTe();$ot();t0n=Dot({prefix:"tw-",extend:{classGroups:{"text-color":["text-muted","text-success","text-warning","text-error","text-accent"],"font-size":["text-smallest","text-smaller","text-small","text-ui-smaller","text-ui-small","text-ui-medium","text-ui-larger","text-ui-title"]}}})});var Ere,qTe,ie,ot=b(()=>{Ere=R(U());Sot();Are();De();qTe=MF("tw-inline-flex tw-items-center tw-justify-center tw-gap-1 tw-whitespace-nowrap tw-rounded-md tw-text-sm tw-font-medium tw-transition-colors focus-visible:tw-outline-none focus-visible:tw-ring-1 focus-visible:tw-ring-ring disabled:tw-pointer-events-none disabled:tw-opacity-50 [&_svg]:tw-shrink-0",{variants:{variant:{default:"mod-cta tw-bg-interactive-accent tw-text-on-accent tw-shadow hover:tw-bg-interactive-accent-hover",destructive:"clickable-icon tw-bg-modifier-error tw-text-on-accent hover:tw-bg-modifier-error hover:tw-text-on-accent",secondary:"tw-bg-secondary tw-text-normal tw-shadow-sm hover:tw-bg-interactive-hover",ghost:"clickable-icon tw-bg-transparent hover:tw-bg-interactive-accent hover:tw-text-on-accent",link:"tw-text-accent tw-underline-offset-4 hover:tw-underline",success:"clickable-icon tw-bg-modifier-success tw-text-on-accent hover:tw-bg-modifier-success hover:tw-text-on-accent",ghost2:"clickable-icon tw-bg-transparent tw-text-faint tw-outline-none hover:tw-bg-transparent hover:tw-bg-opacity-100 hover:tw-text-normal focus-visible:tw-text-normal focus-visible:tw-outline-none focus-visible:tw-ring-0"},size:{default:"tw-h-9 tw-px-4 tw-py-2",sm:"tw-h-6 tw-rounded-md tw-px-3 tw-text-xs",lg:"tw-h-10 tw-rounded-md tw-px-8",icon:"tw-size-7",fit:"tw-gap-1 tw-px-1 tw-text-xs"}},defaultVariants:{variant:"default",size:"default"}}),ie=Ere.forwardRef(({className:t,variant:e,size:n,asChild:r=!1,...o},i)=>Ere.createElement(r?xot:"button",{className:X(qTe({variant:e,size:n,className:t})),ref:i,...o}));ie.displayName="Button"});var Fot,zot=b(()=>{Fot=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});function n0n(t){return typeof t=="string"&&Fot.test(t)}var Dq,KTe=b(()=>{zot();Dq=n0n});function Uot(t,e=0){return(Qu[t[e+0]]+Qu[t[e+1]]+Qu[t[e+2]]+Qu[t[e+3]]+"-"+Qu[t[e+4]]+Qu[t[e+5]]+"-"+Qu[t[e+6]]+Qu[t[e+7]]+"-"+Qu[t[e+8]]+Qu[t[e+9]]+"-"+Qu[t[e+10]]+Qu[t[e+11]]+Qu[t[e+12]]+Qu[t[e+13]]+Qu[t[e+14]]+Qu[t[e+15]]).toLowerCase()}var Qu,Bot=b(()=>{Qu=[];for(let t=0;t<256;++t)Qu.push((t+256).toString(16).slice(1))});function ZTe(){if(!GTe){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");GTe=crypto.getRandomValues.bind(crypto)}return GTe(r0n)}var GTe,r0n,jot=b(()=>{r0n=new Uint8Array(16)});var o0n,YTe,Hot=b(()=>{o0n=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),YTe={randomUUID:o0n}});function i0n(t,e,n){if(YTe.randomUUID&&!e&&!t)return YTe.randomUUID();t=t||{};let r=t.random??t.rng?.()??ZTe();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return Uot(r)}var zr,Wot=b(()=>{Hot();jot();Bot();zr=i0n});function s0n(t){if(!Dq(t))throw TypeError("Invalid UUID");return parseInt(t.slice(14,15),16)}var JTe,Vot=b(()=>{KTe();JTe=s0n});var ed=b(()=>{Wot();KTe();Vot()});var C_,vC=b(()=>{C_=(n=>(n.LLM_CHAIN="llm_chain",n.COPILOT_PLUS_CHAIN="copilot_plus",n))(C_||{})});var $q=b(()=>{});var Kot,OO,bC,Sa,hc,NF,RO,aI,XTe,QTe,Got,Un,bl,k_,LF,a0n,l0n,c0n,u0n,d0n,_C,f0n,Ore,eIe,Zot,Yot,Fq,tm,DF,zq,NO,Uq,tIe,Bq,nIe,Rre,rIe,xC,Nre,oIe,iIe,Lre,p0n,sIe,bh,Jot,Mre,Xot,T_,$F,nv,Dre,FF,Ft,$re,Fre,aIe,Qot,zre,eit,gr,rs,xt=b(()=>{ed();vC();$q();Kot="https://www.obsidiancopilot.com/en/dashboard/token-usage",OO="https://api.brevilabs.com/v1",bC="https://models.brevilabs.com/v1",Sa="copilot-chat-view",hc="copilot-agent-chat-view",NF="agent",RO="copilot-relevant-notes-view",aI="copilot-agent",XTe="translate(0 8.2) scale(0.6579) translate(-4 -4)",QTe="M75.9 6.9c-6.8 1.4-12.5 6-35.5 29.3-33.5 33.8-33.5 33.9-34.2 62.2-0.3 12.4 0 20.2 0.7 22.7 2.4 7.8 10.8 11.2 17.6 7.1 1.7-1.1 14.9-14.1 29.5-29.1 14.5-14.9 26.7-27 27-26.9 0.3 0.2 12.4 12.4 27 27.3 14.6 14.8 27.6 27.8 29 28.7 5.1 3.6 13.6 1.4 16.5-4.2 1.2-2.3 1.5-6.9 1.5-22.3 0-22.9-1.2-28.6-8.3-37.9-7.6-10.2-50-52.3-54.9-54.6-5.1-2.4-10.9-3.2-15.9-2.3z",Got=``,Un="user",bl="ai",k_="copilot",LF=k_,a0n=`${k_}/copilot-conversations`,l0n=`${k_}/copilot-custom-prompts`,c0n=`${k_}/memory`,u0n=`${k_}/system-prompts`,d0n=`${k_}/projects`,_C=`${k_}/skills`,f0n="",Ore="copilot-conversation",eIe=k_,Zot=`You are Obsidian Copilot, a helpful assistant that integrates AI to Obsidian note-taking.
1. Never mention that you do not have access to something. Always rely on the user provided context.
2. Always answer to the best of your knowledge. If you are unsure about something, say so and ask the user to provide more context.
3. If the user mentions "note", it most likely means an Obsidian note in the vault, not the generic meaning of a note.
@@ -250,8 +46,7 @@ Assistant: ${b[1]}`).join(`
11. Always respond in the language of the user's query.
12. Do NOT mention the additional context provided such as getCurrentTime and getTimeRangeMs if it's irrelevant to the user message.
13. If the user mentions "tags", it most likely means tags in Obsidian note properties.
- 14. YouTube URLs: If the user provides YouTube URLs in their message, transcriptions will be automatically fetched and provided to you. You don't need to do anything special - just use the transcription content if available.
- 15. For markdown lists, always use '- ' (hyphen followed by exactly one space) for bullet points, with no leading spaces before the hyphen. Never use '*' (asterisk) for bullets.`,F1t=`Return the new note content or canvas JSON in tags.
+ 14. YouTube URLs: If the user provides YouTube URLs in their message, transcriptions will be automatically fetched and provided to you. You don't need to do anything special - just use the transcription content if available.`,Yot=`Return the new note content or canvas JSON in tags.
# Steps to find the the target notes
1. Extract the target note information from user message and find out the note path from the context below.
@@ -262,14 +57,14 @@ Assistant: ${b[1]}`).join(`
Input: Add a new section to note A
Output:
-
+
path/to/file.md
The FULL CONTENT of the note A with added section goes here
-
+
Input: Create a new canvas with "Hello, world!"
Output:
-
+
path/to/file.canvas
{
@@ -287,11 +82,11 @@ Assistant: ${b[1]}`).join(`
"edges": []
}
-
+
Input: Create a canvas with a file node and a group
Output:
-
+
path/to/file.canvas
{
@@ -305,7 +100,7 @@ Assistant: ${b[1]}`).join(`
]
}
-
+
# Canvas JSON Format (JSON Canvas spec 1.0)
Required node fields: id, type, x, y, width, height
@@ -315,540 +110,2216 @@ Assistant: ${b[1]}`).join(`
Optional edge fields: fromSide/toSide ("top"/"right"/"bottom"/"left"), fromEnd/toEnd ("none"/"arrow"), color, label
All IDs must be unique. Edge nodes must reference existing node IDs.
Position nodes with reasonable spacing and logical visual flow.
- `,Dte="note_context",q_="selected_text",wWe="web_selected_text",jte="variable",R4="variable_note",$te="embedded_pdf",SWe="embedded_note",Lte="dataview_block",CWe="retrieved_document",xWe="web_tab_context",vye="active_web_tab",TWe="youtube_video_context",Fte="{activeWebTab}",wye=6e3,Sye=.4,OWe=448e3,Cye=3e4,Ly=30,EWe=5*60*1e3,dye=16,dw={DEFAULT:"",READING_FILES:"Reading files",SEARCHING_WEB:"Searching the web",READING_FILE_TREE:"Reading file tree",COMPACTING:"Compacting"},m1={SETTINGS:"settings",EXPIRED_MODAL:"expired_modal",CHAT_MODE_SELECT:"chat_mode_select",MODE_SELECT_TOOLTIP:"mode_select_tooltip"},Hb={MAX_TOKENS:6e3,TEMPERATURE:.1,REASONING_EFFORT:"low",VERBOSITY:"medium"},k_=(g=>(g.OPENROUTERAI="openrouterai",g.OPENAI="openai",g.OPENAI_FORMAT="3rd party (openai-format)",g.ANTHROPIC="anthropic",g.GOOGLE="google",g.XAI="xai",g.AMAZON_BEDROCK="amazon-bedrock",g.AZURE_OPENAI="azure openai",g.GROQ="groq",g.OLLAMA="ollama",g.LM_STUDIO="lm-studio",g.COPILOT_PLUS="copilot-plus",g.MISTRAL="mistralai",g.DEEPSEEK="deepseek",g.COHEREAI="cohereai",g.SILICONFLOW="siliconflow",g.GITHUB_COPILOT="github-copilot",g))(k_||{}),gF={reasoning:"This model supports general reasoning tasks.",vision:"This model supports image inputs.",websearch:"This model can access the internet."},hO=[{name:"copilot-plus-flash",provider:"copilot-plus",enabled:!0,isBuiltIn:!0,core:!0,plusExclusive:!0,projectEnabled:!1,capabilities:["vision"]},{name:"google/gemini-3-flash-preview",provider:"openrouterai",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"google/gemini-3.1-pro-preview",provider:"openrouterai",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"google/gemini-2.5-flash",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!0,projectEnabled:!0,capabilities:["vision"]},{name:"google/gemini-2.5-pro",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"openai/gpt-5.2",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"openai/gpt-5-mini",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"grok-4-1-fast",provider:"xai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"x-ai/grok-4.1-fast",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"gpt-5.2",provider:"openai",enabled:!0,isBuiltIn:!0,core:!0,capabilities:["vision"]},{name:"gpt-5-mini",provider:"openai",enabled:!0,isBuiltIn:!0,core:!0,capabilities:["vision"]},{name:"gpt-4.1",provider:"openai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"gpt-4.1-mini",provider:"openai",enabled:!0,isBuiltIn:!0,core:!1,projectEnabled:!0,capabilities:["vision"]},{name:"claude-opus-4-6",provider:"anthropic",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"claude-sonnet-4-5-20250929",provider:"anthropic",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-3-flash-preview",provider:"google",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-3.1-pro-preview",provider:"google",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-2.5-flash",provider:"google",enabled:!0,isBuiltIn:!0,projectEnabled:!0,capabilities:["vision"]},{name:"gemini-2.5-pro",provider:"google",enabled:!0,isBuiltIn:!0,projectEnabled:!0,capabilities:["vision"]},{name:"azure-openai",provider:"azure openai",enabled:!0,isBuiltIn:!0},{name:"deepseek-chat",provider:"deepseek",enabled:!0,isBuiltIn:!0},{name:"deepseek-reasoner",provider:"deepseek",enabled:!0,isBuiltIn:!0,capabilities:["reasoning"]},{name:"deepseek-ai/DeepSeek-V3",provider:"siliconflow",enabled:!1,isBuiltIn:!1,baseUrl:"https://api.siliconflow.com/v1"},{name:"deepseek-ai/DeepSeek-R1",provider:"siliconflow",enabled:!1,isBuiltIn:!1,baseUrl:"https://api.siliconflow.com/v1",capabilities:["reasoning"]}],YC=(d=>(d.OPENAI="openai",d.OPENROUTERAI="openrouterai",d.COHEREAI="cohereai",d.GOOGLE="google",d.AZURE_OPENAI="azure openai",d.OLLAMA="ollama",d.LM_STUDIO="lm-studio",d.OPENAI_FORMAT="3rd party (openai-format)",d.COPILOT_PLUS="copilot-plus",d.COPILOT_PLUS_JINA="copilot-plus-jina",d.SILICONFLOW="siliconflow",d))(YC||{}),T4=[{name:"copilot-plus-small",provider:"copilot-plus",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0,plusExclusive:!0},{name:"copilot-plus-large",provider:"copilot-plus-jina",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0,plusExclusive:!0,believerExclusive:!0,dimensions:1024},{name:"copilot-plus-multilingual",provider:"copilot-plus-jina",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0,plusExclusive:!0,dimensions:512},{name:"openai/text-embedding-3-small",provider:"openrouterai",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0},{name:"text-embedding-3-small",provider:"openai",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0},{name:"text-embedding-3-large",provider:"openai",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0},{name:"embed-multilingual-light-v3.0",provider:"cohereai",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0},{name:"text-embedding-004",provider:"google",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0},{name:"gemini-embedding-001",provider:"google",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0},{name:"azure-openai",provider:"azure openai",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0},{name:"Qwen/Qwen3-Embedding-0.6B",provider:"siliconflow",enabled:!0,isBuiltIn:!0,isEmbeddingModel:!0,core:!0,baseUrl:"https://api.siliconflow.com/v1"}],hWe="nomic-embed-text",QC={openrouterai:{label:"OpenRouter",host:"https://openrouter.ai/api/v1/",curlBaseURL:"https://openrouter.ai/api/v1",keyManagementURL:"https://openrouter.ai/keys",listModelURL:"https://openrouter.ai/api/v1/models",testModel:"openai/gpt-5-mini"},google:{label:"Gemini",host:"https://generativelanguage.googleapis.com",curlBaseURL:"https://generativelanguage.googleapis.com/v1beta",keyManagementURL:"https://makersuite.google.com/app/apikey",listModelURL:"https://generativelanguage.googleapis.com/v1beta/models",testModel:"gemini-2.5-flash"},anthropic:{label:"Anthropic",host:"https://api.anthropic.com/",curlBaseURL:"https://api.anthropic.com",keyManagementURL:"https://console.anthropic.com/settings/keys",listModelURL:"https://api.anthropic.com/v1/models",testModel:"claude-sonnet-4-5-20250929"},openai:{label:"OpenAI",host:"https://api.openai.com",curlBaseURL:"https://api.openai.com/v1",keyManagementURL:"https://platform.openai.com/api-keys",listModelURL:"https://api.openai.com/v1/models",testModel:"gpt-5.2"},xai:{label:"XAI",host:"https://api.x.ai/v1",curlBaseURL:"https://api.x.ai/v1",keyManagementURL:"https://console.x.ai",listModelURL:"https://api.x.ai/v1/models",testModel:"grok-4-1-fast"},"azure openai":{label:"Azure OpenAI",host:"",curlBaseURL:"",keyManagementURL:"",listModelURL:"",testModel:"azure-openai"},groq:{label:"Groq",host:"https://api.groq.com/openai",curlBaseURL:"https://api.groq.com/openai/v1",keyManagementURL:"https://console.groq.com/keys",listModelURL:"https://api.groq.com/openai/v1/models",testModel:"llama3-8b-8192"},cohereai:{label:"Cohere",host:"https://api.cohere.com",curlBaseURL:"https://api.cohere.com/v1",keyManagementURL:"https://dashboard.cohere.ai/api-keys",listModelURL:"https://api.cohere.com/v1/models",testModel:"command-r"},siliconflow:{label:"SiliconFlow",host:"https://api.siliconflow.com/v1",curlBaseURL:"https://api.siliconflow.com/v1",keyManagementURL:"https://cloud.siliconflow.com/me/account/ak",listModelURL:"https://api.siliconflow.com/v1/models",testModel:"deepseek-ai/DeepSeek-V3"},ollama:{label:"Ollama",host:"http://localhost:11434/v1/",curlBaseURL:"http://localhost:11434",keyManagementURL:"",listModelURL:""},"lm-studio":{label:"LM Studio",host:"http://localhost:1234/v1",curlBaseURL:"http://localhost:1234/v1",keyManagementURL:"",listModelURL:""},"3rd party (openai-format)":{label:"OpenAI Format",host:"https://api.example.com/v1",curlBaseURL:"https://api.example.com/v1",keyManagementURL:"",listModelURL:""},mistralai:{label:"Mistral",host:"https://api.mistral.ai/v1",curlBaseURL:"https://api.mistral.ai/v1",keyManagementURL:"https://console.mistral.ai/api-keys",listModelURL:"https://api.mistral.ai/v1/models",testModel:"mistral-tiny-latest"},deepseek:{label:"DeepSeek",host:"https://api.deepseek.com/",curlBaseURL:"https://api.deepseek.com",keyManagementURL:"https://platform.deepseek.com/api-keys",listModelURL:"https://api.deepseek.com/models",testModel:"deepseek-chat"},"amazon-bedrock":{label:"Amazon Bedrock",host:"https://bedrock-runtime.{region}.amazonaws.com",curlBaseURL:"https://bedrock-runtime.{region}.amazonaws.com",keyManagementURL:"https://console.aws.amazon.com/iam/home#/security_credentials",listModelURL:""},"copilot-plus":{label:"Copilot Plus",host:p1,curlBaseURL:p1,keyManagementURL:"",listModelURL:""},"copilot-plus-jina":{label:"Copilot Plus",host:p1,curlBaseURL:p1,keyManagementURL:"",listModelURL:""},"github-copilot":{label:"GitHub Copilot",host:"https://api.githubcopilot.com",curlBaseURL:"https://api.githubcopilot.com",keyManagementURL:"https://github.com/settings/apps/authorizations",listModelURL:""}},Ste={anthropic:"anthropicApiKey",openai:"openAIApiKey","azure openai":"azureOpenAIApiKey",google:"googleApiKey",groq:"groqApiKey",openrouterai:"openRouterAiApiKey",cohereai:"cohereApiKey",xai:"xaiApiKey","copilot-plus":"plusLicenseKey",mistralai:"mistralApiKey",deepseek:"deepseekApiKey","amazon-bedrock":"amazonBedrockApiKey",siliconflow:"siliconflowApiKey","github-copilot":"githubCopilotToken"},k1t=["NEVER","ON STARTUP","ON MODE SWITCH"],UJ=(r=>(r.ENTER="enter",r.SHIFT_ENTER="shift+enter",r))(UJ||{}),Sn={TRIGGER_QUICK_COMMAND:"trigger-quick-command",CLEAR_LOCAL_COPILOT_INDEX:"clear-local-copilot-index",CLEAR_COPILOT_CACHE:"clear-copilot-cache",COUNT_WORD_AND_TOKENS_SELECTION:"count-word-and-tokens-selection",COUNT_TOTAL_VAULT_TOKENS:"count-total-vault-tokens",DEBUG_WORD_COMPLETION:"debug-word-completion",FORCE_REINDEX_VAULT_TO_COPILOT_INDEX:"force-reindex-vault-to-copilot-index",GARBAGE_COLLECT_COPILOT_INDEX:"garbage-collect-copilot-index",INDEX_VAULT_TO_COPILOT_INDEX:"index-vault-to-copilot-index",INSPECT_COPILOT_INDEX_BY_NOTE_PATHS:"copilot-inspect-index-by-note-paths",LIST_INDEXED_FILES:"copilot-list-indexed-files",LOAD_COPILOT_CHAT_CONVERSATION:"load-copilot-chat-conversation",NEW_CHAT:"new-chat",OPEN_COPILOT_CHAT_WINDOW:"chat-open-window",REMOVE_FILES_FROM_COPILOT_INDEX:"remove-files-from-copilot-index",SEARCH_ORAMA_DB:"copilot-search-orama-db",TOGGLE_COPILOT_CHAT_WINDOW:"chat-toggle-window",ADD_SELECTION_TO_CHAT_CONTEXT:"add-selection-to-chat-context",ADD_WEB_SELECTION_TO_CHAT_CONTEXT:"add-web-selection-to-chat-context",ADD_CUSTOM_COMMAND:"add-custom-command",APPLY_CUSTOM_COMMAND:"apply-custom-command",OPEN_LOG_FILE:"open-log-file",CLEAR_LOG_FILE:"clear-log-file",DOWNLOAD_YOUTUBE_SCRIPT:"download-youtube-script",TRIGGER_QUICK_ASK:"trigger-quick-ask"},xye={[Sn.TRIGGER_QUICK_COMMAND]:"Trigger quick command",[Sn.CLEAR_LOCAL_COPILOT_INDEX]:"Clear local Copilot index",[Sn.CLEAR_COPILOT_CACHE]:"Clear Copilot cache",[Sn.COUNT_TOTAL_VAULT_TOKENS]:"Count total tokens in your vault",[Sn.COUNT_WORD_AND_TOKENS_SELECTION]:"Count words and tokens in selection",[Sn.DEBUG_WORD_COMPLETION]:"Word completion: Debug",[Sn.FORCE_REINDEX_VAULT_TO_COPILOT_INDEX]:"Force reindex vault",[Sn.GARBAGE_COLLECT_COPILOT_INDEX]:"Garbage collect Copilot index (remove files that no longer exist in vault)",[Sn.INDEX_VAULT_TO_COPILOT_INDEX]:"Index (refresh) vault",[Sn.INSPECT_COPILOT_INDEX_BY_NOTE_PATHS]:"Inspect Copilot index by note paths (debug)",[Sn.LIST_INDEXED_FILES]:"List all indexed files (debug)",[Sn.LOAD_COPILOT_CHAT_CONVERSATION]:"Load Copilot chat conversation",[Sn.NEW_CHAT]:"New Copilot Chat",[Sn.OPEN_COPILOT_CHAT_WINDOW]:"Open Copilot Chat Window",[Sn.REMOVE_FILES_FROM_COPILOT_INDEX]:"Remove files from Copilot index (debug)",[Sn.SEARCH_ORAMA_DB]:"Search semantic index (debug)",[Sn.TOGGLE_COPILOT_CHAT_WINDOW]:"Toggle Copilot Chat Window",[Sn.ADD_SELECTION_TO_CHAT_CONTEXT]:"Add selection to chat context",[Sn.ADD_WEB_SELECTION_TO_CHAT_CONTEXT]:"Add web selection to chat context",[Sn.ADD_CUSTOM_COMMAND]:"Add new custom command",[Sn.APPLY_CUSTOM_COMMAND]:"Apply custom command",[Sn.OPEN_LOG_FILE]:"Create log file",[Sn.CLEAR_LOG_FILE]:"Clear log file",[Sn.DOWNLOAD_YOUTUBE_SCRIPT]:"Download YouTube Script (plus)",[Sn.TRIGGER_QUICK_ASK]:"Quick Ask"},YJ={NON_MARKDOWN_FILES_RESTRICTED:"Non-markdown files are only available in Copilot Plus mode. Please upgrade to access this file type.",URL_PROCESSING_RESTRICTED:"URL processing is only available in Copilot Plus mode. URLs will not be processed for context.",UNSUPPORTED_FILE_TYPE:t=>`${t.toUpperCase()} files are not supported in the current mode.`},ko={userId:od(),isPlusUser:!1,plusLicenseKey:"",openAIApiKey:"",openAIOrgId:"",huggingfaceApiKey:"",cohereApiKey:"",anthropicApiKey:"",azureOpenAIApiKey:"",azureOpenAIApiInstanceName:"",azureOpenAIApiDeploymentName:"",azureOpenAIApiVersion:"",azureOpenAIApiEmbeddingDeploymentName:"",googleApiKey:"",openRouterAiApiKey:"",xaiApiKey:"",mistralApiKey:"",deepseekApiKey:"",amazonBedrockApiKey:"",amazonBedrockRegion:"",siliconflowApiKey:"",githubCopilotAccessToken:"",githubCopilotToken:"",githubCopilotTokenExpiresAt:0,defaultChainType:"llm_chain",defaultModelKey:"google/gemini-2.5-flash|openrouterai",embeddingModelKey:"openai/text-embedding-3-small|openrouterai",temperature:Hb.TEMPERATURE,maxTokens:Hb.MAX_TOKENS,contextTurns:15,userSystemPrompt:"",openAIProxyBaseUrl:"",openAIEmbeddingProxyBaseUrl:"",stream:!0,defaultSaveFolder:gSn,defaultConversationTag:"copilot-conversation",autosaveChat:!0,generateAIChatTitleOnSave:!0,autoAddActiveContentToContext:!0,defaultOpenArea:"view",defaultSendShortcut:"enter",customPromptsFolder:ySn,indexVaultToVectorStore:"ON MODE SWITCH",qaExclusions:lWe,qaInclusions:"",chatNoteContextPath:"",chatNoteContextTags:[],enableIndexSync:!0,debug:!1,enableEncryption:!1,maxSourceChunks:Ly,enableInlineCitations:!0,groqApiKey:"",activeModels:hO,activeEmbeddingModels:T4,embeddingRequestsPerMin:60,embeddingBatchSize:16,disableIndexOnMobile:!0,showSuggestedPrompts:!0,showRelevantNotes:!0,numPartitions:1,lexicalSearchRamLimit:100,promptUsageTimestamps:{},promptSortStrategy:"timestamp",chatHistorySortStrategy:"recent",projectListSortStrategy:"recent",defaultConversationNoteName:"{$topic}@{$date}_{$time}",inlineEditCommands:[],projectList:[],lastDismissedVersion:null,passMarkdownImages:!0,enableAutonomousAgent:!0,enableCustomPromptTemplating:!0,enableSemanticSearchV3:!1,enableSelfHostMode:!1,enableMiyo:!1,selfHostModeValidatedAt:null,selfHostValidationCount:0,selfHostUrl:"",selfHostApiKey:"",selfHostSearchProvider:"firecrawl",firecrawlApiKey:"",perplexityApiKey:"",supadataApiKey:"",enableLexicalBoosts:!0,suggestedDefaultCommands:!1,autonomousAgentMaxIterations:4,autonomousAgentEnabledToolIds:["localSearch","readNote","webSearch","pomodoro","youtubeTranscription","writeToFile","replaceInFile","updateMemory"],reasoningEffort:Hb.REASONING_EFFORT,verbosity:Hb.VERBOSITY,memoryFolderName:bSn,enableRecentConversations:!0,maxRecentConversations:30,enableSavedMemory:!0,quickCommandModelKey:void 0,quickCommandIncludeNoteContext:!0,autoIncludeTextSelection:!1,autoAddSelectionToContext:!1,autoAcceptEdits:!1,diffViewMode:"split",userSystemPromptsFolder:_Sn,defaultSystemPromptTitle:"",autoCompactThreshold:128e3},US={CHAT_IS_VISIBLE:"chat-is-visible",ACTIVE_LEAF_CHANGE:"active-leaf-change",ABORT_STREAM:"abort-stream"}});var MWe=S(Tye=>{"use strict";Tye.byteLength=wSn;Tye.toByteArray=CSn;Tye.fromByteArray=OSn;var bO=[],BS=[],vSn=typeof Uint8Array<"u"?Uint8Array:Array,PWe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(I4=0,q1t=PWe.length;I40)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function wSn(t){var e=U1t(t),r=e[0],n=e[1];return(r+n)*3/4-n}function SSn(t,e,r){return(e+r)*3/4-r}function CSn(t){var e,r=U1t(t),n=r[0],o=r[1],i=new vSn(SSn(t,n,o)),a=0,s=o>0?n-4:n,u;for(u=0;u>16&255,i[a++]=e>>8&255,i[a++]=e&255;return o===2&&(e=BS[t.charCodeAt(u)]<<2|BS[t.charCodeAt(u+1)]>>4,i[a++]=e&255),o===1&&(e=BS[t.charCodeAt(u)]<<10|BS[t.charCodeAt(u+1)]<<4|BS[t.charCodeAt(u+2)]>>2,i[a++]=e>>8&255,i[a++]=e&255),i}function xSn(t){return bO[t>>18&63]+bO[t>>12&63]+bO[t>>6&63]+bO[t&63]}function TSn(t,e,r){for(var n,o=[],i=e;is?s:a+i));return n===1?(e=t[r-1],o.push(bO[e>>2]+bO[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(bO[e>>10]+bO[e>>4&63]+bO[e<<2&63]+"=")),o.join("")}});var B1t=S(RWe=>{RWe.read=function(t,e,r,n,o){var i,a,s=o*8-n-1,u=(1<>1,c=-7,d=r?o-1:0,f=r?-1:1,p=t[e+d];for(d+=f,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=i*256+t[e+d],d+=f,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=a*256+t[e+d],d+=f,c-=8);if(i===0)i=1-l;else{if(i===u)return a?NaN:(p?-1:1)*(1/0);a=a+Math.pow(2,n),i=i-l}return(p?-1:1)*a*Math.pow(2,i-n)};RWe.write=function(t,e,r,n,o,i){var a,s,u,l=i*8-o-1,c=(1<>1,f=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,m=n?1:-1,h=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),a+d>=1?e+=f/u:e+=f*Math.pow(2,1-d),e*u>=2&&(a++,u/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(e*u-1)*Math.pow(2,o),a=a+d):(s=e*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;t[r+p]=s&255,p+=m,s/=256,o-=8);for(a=a<0;t[r+p]=a&255,p+=m,a/=256,l-=8);t[r+p-m]|=h*128}});var zS=S(r5=>{"use strict";var IWe=MWe(),e5=B1t(),z1t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;r5.Buffer=ke;r5.SlowBuffer=ASn;r5.INSPECT_MAX_BYTES=50;var Oye=2147483647;r5.kMaxLength=Oye;ke.TYPED_ARRAY_SUPPORT=ESn();!ke.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function ESn(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return!1}}Object.defineProperty(ke.prototype,"parent",{enumerable:!0,get:function(){if(ke.isBuffer(this))return this.buffer}});Object.defineProperty(ke.prototype,"offset",{enumerable:!0,get:function(){if(ke.isBuffer(this))return this.byteOffset}});function h1(t){if(t>Oye)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,ke.prototype),e}function ke(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return jWe(t)}return J1t(t,e,r)}ke.poolSize=8192;function J1t(t,e,r){if(typeof t=="string")return MSn(t,e);if(ArrayBuffer.isView(t))return RSn(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(_O(t,ArrayBuffer)||t&&_O(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(_O(t,SharedArrayBuffer)||t&&_O(t.buffer,SharedArrayBuffer)))return NWe(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return ke.from(n,e,r);let o=ISn(t);if(o)return o;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return ke.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}ke.from=function(t,e,r){return J1t(t,e,r)};Object.setPrototypeOf(ke.prototype,Uint8Array.prototype);Object.setPrototypeOf(ke,Uint8Array);function K1t(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function PSn(t,e,r){return K1t(t),t<=0?h1(t):e!==void 0?typeof r=="string"?h1(t).fill(e,r):h1(t).fill(e):h1(t)}ke.alloc=function(t,e,r){return PSn(t,e,r)};function jWe(t){return K1t(t),h1(t<0?0:$We(t)|0)}ke.allocUnsafe=function(t){return jWe(t)};ke.allocUnsafeSlow=function(t){return jWe(t)};function MSn(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!ke.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=G1t(t,e)|0,n=h1(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}function AWe(t){let e=t.length<0?0:$We(t.length)|0,r=h1(e);for(let n=0;n=Oye)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Oye.toString(16)+" bytes");return t|0}function ASn(t){return+t!=t&&(t=0),ke.alloc(+t)}ke.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==ke.prototype};ke.compare=function(e,r){if(_O(e,Uint8Array)&&(e=ke.from(e,e.offset,e.byteLength)),_O(r,Uint8Array)&&(r=ke.from(r,r.offset,r.byteLength)),!ke.isBuffer(e)||!ke.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,o=r.length;for(let i=0,a=Math.min(n,o);io.length?(ke.isBuffer(a)||(a=ke.from(a)),a.copy(o,i)):Uint8Array.prototype.set.call(o,a,i);else if(ke.isBuffer(a))a.copy(o,i);else throw new TypeError('"list" argument must be an Array of Buffers');i+=a.length}return o};function G1t(t,e){if(ke.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||_O(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return DWe(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return oDt(t).length;default:if(o)return n?-1:DWe(t).length;e=(""+e).toLowerCase(),o=!0}}ke.byteLength=G1t;function NSn(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return zSn(this,e,r);case"utf8":case"utf-8":return Z1t(this,e,r);case"ascii":return USn(this,e,r);case"latin1":case"binary":return BSn(this,e,r);case"base64":return kSn(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return VSn(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}ke.prototype._isBuffer=!0;function A4(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}ke.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(e+=" ... "),""};z1t&&(ke.prototype[z1t]=ke.prototype.inspect);ke.prototype.compare=function(e,r,n,o,i){if(_O(e,Uint8Array)&&(e=ke.from(e,e.offset,e.byteLength)),!ke.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),o===void 0&&(o=0),i===void 0&&(i=this.length),r<0||n>e.length||o<0||i>this.length)throw new RangeError("out of range index");if(o>=i&&r>=n)return 0;if(o>=i)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,o>>>=0,i>>>=0,this===e)return 0;let a=i-o,s=n-r,u=Math.min(a,s),l=this.slice(o,i),c=e.slice(r,n);for(let d=0;d2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,FWe(r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return-1;r=t.length-1}else if(r<0)if(o)r=0;else return-1;if(typeof e=="string"&&(e=ke.from(e,n)),ke.isBuffer(e))return e.length===0?-1:V1t(t,e,r,n,o);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):V1t(t,[e],r,n,o);throw new TypeError("val must be string, number or Buffer")}function V1t(t,e,r,n,o){let i=1,a=t.length,s=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;i=2,a/=2,s/=2,r/=2}function u(c,d){return i===1?c[d]:c.readUInt16BE(d*i)}let l;if(o){let c=-1;for(l=r;la&&(r=a-s),l=r;l>=0;l--){let c=!0;for(let d=0;do&&(n=o)):n=o;let i=e.length;n>i/2&&(n=i/2);let a;for(a=0;a>>0,isFinite(n)?(n=n>>>0,o===void 0&&(o="utf8")):(o=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let i=this.length-r;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");o||(o="utf8");let a=!1;for(;;)switch(o){case"hex":return DSn(this,e,r,n);case"utf8":case"utf-8":return jSn(this,e,r,n);case"ascii":case"latin1":case"binary":return $Sn(this,e,r,n);case"base64":return LSn(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return FSn(this,e,r,n);default:if(a)throw new TypeError("Unknown encoding: "+o);o=(""+o).toLowerCase(),a=!0}};ke.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function kSn(t,e,r){return e===0&&r===t.length?IWe.fromByteArray(t):IWe.fromByteArray(t.slice(e,r))}function Z1t(t,e,r){r=Math.min(t.length,r);let n=[],o=e;for(;o239?4:i>223?3:i>191?2:1;if(o+s<=r){let u,l,c,d;switch(s){case 1:i<128&&(a=i);break;case 2:u=t[o+1],(u&192)===128&&(d=(i&31)<<6|u&63,d>127&&(a=d));break;case 3:u=t[o+1],l=t[o+2],(u&192)===128&&(l&192)===128&&(d=(i&15)<<12|(u&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(a=d));break;case 4:u=t[o+1],l=t[o+2],c=t[o+3],(u&192)===128&&(l&192)===128&&(c&192)===128&&(d=(i&15)<<18|(u&63)<<12|(l&63)<<6|c&63,d>65535&&d<1114112&&(a=d))}}a===null?(a=65533,s=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|a&1023),n.push(a),o+=s}return qSn(n)}var H1t=4096;function qSn(t){let e=t.length;if(e<=H1t)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nn)&&(r=n);let o="";for(let i=e;in&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}ke.prototype.readUintLE=ke.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Nh(e,r,this.length);let o=this[e],i=1,a=0;for(;++a>>0,r=r>>>0,n||Nh(e,r,this.length);let o=this[e+--r],i=1;for(;r>0&&(i*=256);)o+=this[e+--r]*i;return o};ke.prototype.readUint8=ke.prototype.readUInt8=function(e,r){return e=e>>>0,r||Nh(e,1,this.length),this[e]};ke.prototype.readUint16LE=ke.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Nh(e,2,this.length),this[e]|this[e+1]<<8};ke.prototype.readUint16BE=ke.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Nh(e,2,this.length),this[e]<<8|this[e+1]};ke.prototype.readUint32LE=ke.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Nh(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};ke.prototype.readUint32BE=ke.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Nh(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};ke.prototype.readBigUInt64LE=yF(function(e){e=e>>>0,t5(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&kte(e,this.length-8);let o=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(o)+(BigInt(i)<>>0,t5(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&kte(e,this.length-8);let o=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(o)<>>0,r=r>>>0,n||Nh(e,r,this.length);let o=this[e],i=1,a=0;for(;++a=i&&(o-=Math.pow(2,8*r)),o};ke.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Nh(e,r,this.length);let o=r,i=1,a=this[e+--o];for(;o>0&&(i*=256);)a+=this[e+--o]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*r)),a};ke.prototype.readInt8=function(e,r){return e=e>>>0,r||Nh(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};ke.prototype.readInt16LE=function(e,r){e=e>>>0,r||Nh(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};ke.prototype.readInt16BE=function(e,r){e=e>>>0,r||Nh(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};ke.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Nh(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};ke.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Nh(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};ke.prototype.readBigInt64LE=yF(function(e){e=e>>>0,t5(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&kte(e,this.length-8);let o=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(o)<>>0,t5(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&kte(e,this.length-8);let o=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(o)<>>0,r||Nh(e,4,this.length),e5.read(this,e,!0,23,4)};ke.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Nh(e,4,this.length),e5.read(this,e,!1,23,4)};ke.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Nh(e,8,this.length),e5.read(this,e,!0,52,8)};ke.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Nh(e,8,this.length),e5.read(this,e,!1,52,8)};function U_(t,e,r,n,o,i){if(!ke.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}ke.prototype.writeUintLE=ke.prototype.writeUIntLE=function(e,r,n,o){if(e=+e,r=r>>>0,n=n>>>0,!o){let s=Math.pow(2,8*n)-1;U_(this,e,r,n,s,0)}let i=1,a=0;for(this[r]=e&255;++a>>0,n=n>>>0,!o){let s=Math.pow(2,8*n)-1;U_(this,e,r,n,s,0)}let i=n-1,a=1;for(this[r+i]=e&255;--i>=0&&(a*=256);)this[r+i]=e/a&255;return r+n};ke.prototype.writeUint8=ke.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,1,255,0),this[r]=e&255,r+1};ke.prototype.writeUint16LE=ke.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};ke.prototype.writeUint16BE=ke.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};ke.prototype.writeUint32LE=ke.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};ke.prototype.writeUint32BE=ke.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Y1t(t,e,r,n,o){nDt(e,n,o,t,r,7);let i=Number(e&BigInt(4294967295));t[r++]=i,i=i>>8,t[r++]=i,i=i>>8,t[r++]=i,i=i>>8,t[r++]=i;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,r}function Q1t(t,e,r,n,o){nDt(e,n,o,t,r,7);let i=Number(e&BigInt(4294967295));t[r+7]=i,i=i>>8,t[r+6]=i,i=i>>8,t[r+5]=i,i=i>>8,t[r+4]=i;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=a,a=a>>8,t[r+2]=a,a=a>>8,t[r+1]=a,a=a>>8,t[r]=a,r+8}ke.prototype.writeBigUInt64LE=yF(function(e,r=0){return Y1t(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});ke.prototype.writeBigUInt64BE=yF(function(e,r=0){return Q1t(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});ke.prototype.writeIntLE=function(e,r,n,o){if(e=+e,r=r>>>0,!o){let u=Math.pow(2,8*n-1);U_(this,e,r,n,u-1,-u)}let i=0,a=1,s=0;for(this[r]=e&255;++i>0)-s&255;return r+n};ke.prototype.writeIntBE=function(e,r,n,o){if(e=+e,r=r>>>0,!o){let u=Math.pow(2,8*n-1);U_(this,e,r,n,u-1,-u)}let i=n-1,a=1,s=0;for(this[r+i]=e&255;--i>=0&&(a*=256);)e<0&&s===0&&this[r+i+1]!==0&&(s=1),this[r+i]=(e/a>>0)-s&255;return r+n};ke.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};ke.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};ke.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};ke.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};ke.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||U_(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};ke.prototype.writeBigInt64LE=yF(function(e,r=0){return Y1t(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});ke.prototype.writeBigInt64BE=yF(function(e,r=0){return Q1t(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function eDt(t,e,r,n,o,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function tDt(t,e,r,n,o){return e=+e,r=r>>>0,o||eDt(t,e,r,4,34028234663852886e22,-34028234663852886e22),e5.write(t,e,r,n,23,4),r+4}ke.prototype.writeFloatLE=function(e,r,n){return tDt(this,e,r,!0,n)};ke.prototype.writeFloatBE=function(e,r,n){return tDt(this,e,r,!1,n)};function rDt(t,e,r,n,o){return e=+e,r=r>>>0,o||eDt(t,e,r,8,17976931348623157e292,-17976931348623157e292),e5.write(t,e,r,n,52,8),r+8}ke.prototype.writeDoubleLE=function(e,r,n){return rDt(this,e,r,!0,n)};ke.prototype.writeDoubleBE=function(e,r,n){return rDt(this,e,r,!1,n)};ke.prototype.copy=function(e,r,n,o){if(!ke.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!o&&o!==0&&(o=this.length),r>=e.length&&(r=e.length),r||(r=0),o>0&&o=this.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-r>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let i;if(typeof e=="number")for(i=r;i2**32?o=W1t(String(r)):typeof r=="bigint"&&(o=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(o=W1t(o)),o+="n"),n+=` It must be ${e}. Received ${o}`,n},RangeError);function W1t(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function HSn(t,e,r){t5(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&kte(e,t.length-(r+1))}function nDt(t,e,r,n,o,i){if(t>r||t3?e===0||e===BigInt(0)?s=`>= 0${a} and < 2${a} ** ${(i+1)*8}${a}`:s=`>= -(2${a} ** ${(i+1)*8-1}${a}) and < 2 ** ${(i+1)*8-1}${a}`:s=`>= ${e}${a} and <= ${r}${a}`,new QJ.ERR_OUT_OF_RANGE("value",s,t)}HSn(n,o,i)}function t5(t,e){if(typeof t!="number")throw new QJ.ERR_INVALID_ARG_TYPE(e,"number",t)}function kte(t,e,r){throw Math.floor(t)!==t?(t5(t,r),new QJ.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new QJ.ERR_BUFFER_OUT_OF_BOUNDS:new QJ.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var WSn=/[^+/0-9A-Za-z-_]/g;function JSn(t){if(t=t.split("=")[0],t=t.trim().replace(WSn,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function DWe(t,e){e=e||1/0;let r,n=t.length,o=null,i=[];for(let a=0;a55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(a+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function KSn(t){let e=[];for(let r=0;r>8,o=r%256,i.push(o),i.push(n);return i}function oDt(t){return IWe.toByteArray(JSn(t))}function Eye(t,e,r,n){let o;for(o=0;o=e.length||o>=t.length);++o)e[o+r]=t[o];return o}function _O(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function FWe(t){return t!==t}var XSn=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let o=0;o<16;++o)e[n+o]=t[r]+t[o]}return e}();function yF(t){return typeof BigInt>"u"?ZSn:t}function ZSn(){throw new Error("BigInt not supported")}});function qte(){return aDt.Platform.isDesktop&&Pye||(Pye=require("electron")?.remote?.safeStorage),Pye}async function zWe(){return await crypto.subtle.importKey("raw",YSn,Mye.name,!1,["encrypt","decrypt"])}async function sDt(t){if(!t.enableEncryption)return t;let e={...t},r=Object.keys(t).filter(n=>n.toLowerCase().includes("apikey")||n==="plusLicenseKey"||n==="githubCopilotAccessToken"||n==="githubCopilotToken");for(let n of r){let o=t[n];e[n]=await kWe(o)}return Array.isArray(t.activeModels)&&(e.activeModels=await Promise.all(t.activeModels.map(async n=>({...n,apiKey:await kWe(n.apiKey||"")})))),Array.isArray(t.activeEmbeddingModels)&&(e.activeEmbeddingModels=await Promise.all(t.activeEmbeddingModels.map(async n=>({...n,apiKey:await kWe(n.apiKey||"")})))),e}async function kWe(t){if(!t||t.startsWith(VWe))return t;uDt(t)&&(t=t.replace(Rye,""));try{if(qte()?.isEncryptionAvailable()){let o=qte().encryptString(t);return UWe+o.toString("base64")}let e=await zWe(),r=new TextEncoder().encode(t),n=await crypto.subtle.encrypt(Mye,e,r);return BWe+e0n(n)}catch(e){return console.error("Encryption failed:",e),t}}async function oo(t){if(!t||QSn(t))return t;if(uDt(t))return t.replace(Rye,"");if(t.startsWith(UWe)){let r=t.replace(UWe,""),n=qWe.Buffer.from(r,"base64");return qte().decryptString(n)}if(t.startsWith(BWe)){let r=t.replace(BWe,""),n=await zWe(),o=iDt(r),i=await crypto.subtle.decrypt(Mye,n,o);return new TextDecoder().decode(i)}let e=t.replace(VWe,"");try{if(qte()?.isEncryptionAvailable())try{let i=qWe.Buffer.from(e,"base64");return qte().decryptString(i)}catch{}let r=await zWe(),n=iDt(e),o=await crypto.subtle.decrypt(Mye,r,n);return new TextDecoder().decode(o)}catch(r){return console.error("Decryption failed:",r),"Copilot failed to decrypt API keys!"}}function QSn(t){return!t.startsWith(VWe)&&!t.startsWith(Rye)}function uDt(t){return t.startsWith(Rye)}function e0n(t){let e=new Uint8Array(t),r="";for(let n=0;n{qWe=$(zS()),aDt=require("obsidian"),Pye=null;UWe="enc_desk_",BWe="enc_web_",VWe="enc_",Rye="dec_",YSn=new TextEncoder().encode("obsidian-copilot-v1"),Mye={name:"AES-GCM",iv:new Uint8Array(12)}});function pDt(t){No.set(Aye,t)}function B_(){return No.get(Aye)}function mDt(t){return No.sub(Aye,t)}function bF(){return u1(Aye,{store:No})}function ex(){return No.get(Nye)}function N4(t){No.set(Nye,t)}function hDt(t){return No.sub(Nye,t)}function fw(){return u1(Nye,{store:No})}function D4(t){No.set(Iye,t)}function Gu(){return No.get(Iye)}function i5(t){return No.sub(Iye,()=>{t(No.get(Iye))})}function wO(t){No.set(fDt,t)}function Dye(){return u1(fDt,{store:No})}function a5(){return ex()==="project"}function SO(t){No.set(HWe,t)}function tx(){return No.get(HWe)}function gDt(t){let e=tx();SO(e.filter(r=>r.id!==t))}function yDt(){SO([])}function bDt(){return u1(HWe,{store:No})}function _Dt(t){No.set(Ute,t)}function CO(t,e){No.set(Ute,r=>({...r,[t]:e(r[t])}))}function s5(){return u1(Ute,{store:No})}function u5(){return No.get(Bte)}function WWe(t){No.set(Bte,t)}function Ig(t){No.set(Bte,e=>({...e,...t}))}function JWe(){VS!==null&&(clearTimeout(VS),VS=null),n5=0,o5=0,No.set(Bte,{isActive:!1,isPaused:!1,isCancelled:!1,indexedCount:0,totalFiles:0,errors:[],completionStatus:"none"})}function vDt(t){o5=t;let e=Date.now();e-n5>=dDt?(n5=e,VS!==null&&(clearTimeout(VS),VS=null),Ig({indexedCount:o5})):VS===null&&(VS=setTimeout(()=>{n5=Date.now(),VS=null,Ig({indexedCount:o5})},dDt-(e-n5)))}function wDt(){VS!==null&&(clearTimeout(VS),VS=null),Ig({indexedCount:o5}),n5=0,o5=0}function l5(){return u1(Bte,{store:No})}var lDt,Aye,cDt,Nye,Iye,fDt,Ute,Bte,HWe,n5,o5,VS,dDt,ra=v(()=>{sd();Ye();XC();lDt=bc(null),Aye=bc(t=>{let e=t(lDt);return e!==null?e:t(mF).defaultModelKey},(t,e,r)=>{e(lDt,r)}),cDt=bc(null),Nye=bc(t=>{let e=t(cDt);return e!==null?e:t(mF).defaultChainType},(t,e,r)=>{e(cDt,r)}),Iye=bc(null),fDt=bc(!1),Ute=bc({success:[],failed:[],processingFiles:[],total:[]}),Bte=bc({isActive:!1,isPaused:!1,isCancelled:!1,indexedCount:0,totalFiles:0,errors:[],completionStatus:"none"}),HWe=bc([]);n5=0,o5=0,VS=null,dDt=500});var IDt=S(Xu=>{"use strict";function ZWe(t,e){var r=t.length;t.push(e);e:for(;0>>1,o=t[n];if(0>>1;njye(s,r))ujye(l,s)?(t[n]=l,t[u]=r,n=u):(t[n]=s,t[a]=r,n=a);else if(ujye(l,r))t[n]=l,t[u]=r,n=u;else break e}}return e}function jye(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}typeof performance=="object"&&typeof performance.now=="function"?(SDt=performance,Xu.unstable_now=function(){return SDt.now()}):(KWe=Date,CDt=KWe.now(),Xu.unstable_now=function(){return KWe.now()-CDt});var SDt,KWe,CDt,xO=[],_F=[],t0n=1,HS=null,Fy=3,Fye=!1,j4=!1,Vte=!1,ODt=typeof setTimeout=="function"?setTimeout:null,EDt=typeof clearTimeout=="function"?clearTimeout:null,xDt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function YWe(t){for(var e=rx(_F);e!==null;){if(e.callback===null)Lye(_F);else if(e.startTime<=t)Lye(_F),e.sortIndex=e.expirationTime,ZWe(xO,e);else break;e=rx(_F)}}function QWe(t){if(Vte=!1,YWe(t),!j4)if(rx(xO)!==null)j4=!0,t6e(e6e);else{var e=rx(_F);e!==null&&r6e(QWe,e.startTime-t)}}function e6e(t,e){j4=!1,Vte&&(Vte=!1,EDt(Hte),Hte=-1),Fye=!0;var r=Fy;try{for(YWe(e),HS=rx(xO);HS!==null&&(!(HS.expirationTime>e)||t&&!RDt());){var n=HS.callback;if(typeof n=="function"){HS.callback=null,Fy=HS.priorityLevel;var o=n(HS.expirationTime<=e);e=Xu.unstable_now(),typeof o=="function"?HS.callback=o:HS===rx(xO)&&Lye(xO),YWe(e)}else Lye(xO);HS=rx(xO)}if(HS!==null)var i=!0;else{var a=rx(_F);a!==null&&r6e(QWe,a.startTime-e),i=!1}return i}finally{HS=null,Fy=r,Fye=!1}}var kye=!1,$ye=null,Hte=-1,PDt=5,MDt=-1;function RDt(){return!(Xu.unstable_now()-MDtt||125n?(t.sortIndex=r,ZWe(_F,t),rx(xO)===null&&t===rx(_F)&&(Vte?(EDt(Hte),Hte=-1):Vte=!0,r6e(QWe,r-n))):(t.sortIndex=o,ZWe(xO,t),j4||Fye||(j4=!0,t6e(e6e))),t};Xu.unstable_shouldYield=RDt;Xu.unstable_wrapCallback=function(t){var e=Fy;return function(){var r=Fy;Fy=e;try{return t.apply(this,arguments)}finally{Fy=r}}}});var NDt=S((Kzi,ADt)=>{"use strict";ADt.exports=IDt()});var kLt=S(bw=>{"use strict";var qjt=J(),gw=NDt();function ut(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),T6e=Object.prototype.hasOwnProperty,r0n=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,DDt={},jDt={};function n0n(t){return T6e.call(jDt,t)?!0:T6e.call(DDt,t)?!1:r0n.test(t)?jDt[t]=!0:(DDt[t]=!0,!1)}function o0n(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function i0n(t,e,r,n){if(e===null||typeof e>"u"||o0n(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Kb(t,e,r,n,o,i,a){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=i,this.removeEmptyString=a}var Dg={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Dg[t]=new Kb(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Dg[e]=new Kb(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Dg[t]=new Kb(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Dg[t]=new Kb(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Dg[t]=new Kb(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Dg[t]=new Kb(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Dg[t]=new Kb(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Dg[t]=new Kb(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Dg[t]=new Kb(t,5,!1,t.toLowerCase(),null,!1,!1)});var yJe=/[\-:]([a-z])/g;function bJe(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(yJe,bJe);Dg[e]=new Kb(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(yJe,bJe);Dg[e]=new Kb(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(yJe,bJe);Dg[e]=new Kb(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Dg[t]=new Kb(t,1,!1,t.toLowerCase(),null,!1,!1)});Dg.xlinkHref=new Kb("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Dg[t]=new Kb(t,1,!1,t.toLowerCase(),null,!0,!0)});function _Je(t,e,r,n){var o=Dg.hasOwnProperty(e)?Dg[e]:null;(o!==null?o.type!==0:n||!(2s||o[a]!==i[s]){var u=`
-`+o[a].replace(" at new "," at ");return t.displayName&&u.includes("")&&(u=u.replace("",t.displayName)),u}while(1<=a&&0<=s);break}}}finally{o6e=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?ere(t):""}function a0n(t){switch(t.tag){case 5:return ere(t.type);case 16:return ere("Lazy");case 13:return ere("Suspense");case 19:return ere("SuspenseList");case 0:case 2:case 15:return t=i6e(t.type,!1),t;case 11:return t=i6e(t.type.render,!1),t;case 1:return t=i6e(t.type,!0),t;default:return""}}function M6e(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case p5:return"Fragment";case f5:return"Portal";case O6e:return"Profiler";case vJe:return"StrictMode";case E6e:return"Suspense";case P6e:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case zjt:return(t.displayName||"Context")+".Consumer";case Bjt:return(t._context.displayName||"Context")+".Provider";case wJe:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case SJe:return e=t.displayName||null,e!==null?e:M6e(t.type)||"Memo";case wF:e=t._payload,t=t._init;try{return M6e(t(e))}catch{}}return null}function s0n(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return M6e(e);case 8:return e===vJe?"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 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function jF(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Hjt(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function u0n(t){var e=Hjt(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,i=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return o.call(this)},set:function(a){n=""+a,i.call(this,a)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(a){n=""+a},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Uye(t){t._valueTracker||(t._valueTracker=u0n(t))}function Wjt(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=Hjt(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function hbe(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function R6e(t,e){var r=e.checked;return wc({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function LDt(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=jF(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Jjt(t,e){e=e.checked,e!=null&&_Je(t,"checked",e,!1)}function I6e(t,e){Jjt(t,e);var r=jF(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?A6e(t,e.type,r):e.hasOwnProperty("defaultValue")&&A6e(t,e.type,jF(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function FDt(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function A6e(t,e,r){(e!=="number"||hbe(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var tre=Array.isArray;function x5(t,e,r,n){if(t=t.options,e){e={};for(var o=0;o"+e.valueOf().toString()+"",e=Bye.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function mre(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var ore={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},l0n=["Webkit","ms","Moz","O"];Object.keys(ore).forEach(function(t){l0n.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),ore[e]=ore[t]})});function Zjt(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||ore.hasOwnProperty(t)&&ore[t]?(""+e).trim():e+"px"}function Yjt(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=Zjt(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,o):t[r]=o}}var c0n=wc({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function j6e(t,e){if(e){if(c0n[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(ut(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(ut(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(ut(61))}if(e.style!=null&&typeof e.style!="object")throw Error(ut(62))}}function $6e(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var L6e=null;function CJe(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var F6e=null,T5=null,O5=null;function UDt(t){if(t=Are(t)){if(typeof F6e!="function")throw Error(ut(280));var e=t.stateNode;e&&(e=zbe(e),F6e(t.stateNode,t.type,e))}}function Qjt(t){T5?O5?O5.push(t):O5=[t]:T5=t}function e$t(){if(T5){var t=T5,e=O5;if(O5=T5=null,UDt(t),e)for(t=0;t>>=0,t===0?32:31-(w0n(t)/S0n|0)|0}var zye=64,Vye=4194304;function rre(t){switch(t&-t){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: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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function _be(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,o=t.suspendedLanes,i=t.pingedLanes,a=r&268435455;if(a!==0){var s=a&~o;s!==0?n=rre(s):(i&=a,i!==0&&(n=rre(i)))}else a=r&~o,a!==0?n=rre(a):i!==0&&(n=rre(i));if(n===0)return 0;if(e!==0&&e!==n&&(e&o)===0&&(o=n&-n,i=e&-e,o>=i||o===16&&(i&4194240)!==0))return e;if((n&4)!==0&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0r;r++)e.push(t);return e}function Rre(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-sx(e),t[e]=r}function O0n(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0=are),XDt=" ",ZDt=!1;function v$t(t,e){switch(t){case"keyup":return eCn.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function w$t(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var m5=!1;function rCn(t,e){switch(t){case"compositionend":return w$t(e);case"keypress":return e.which!==32?null:(ZDt=!0,XDt);case"textInput":return t=e.data,t===XDt&&ZDt?null:t;default:return null}}function nCn(t,e){if(m5)return t==="compositionend"||!IJe&&v$t(t,e)?(t=b$t(),abe=PJe=TF=null,m5=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ejt(r)}}function T$t(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?T$t(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function O$t(){for(var t=window,e=hbe();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=hbe(t.document)}return e}function AJe(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function fCn(t){var e=O$t(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&T$t(r.ownerDocument.documentElement,r)){if(n!==null&&AJe(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var o=r.textContent.length,i=Math.min(n.start,o);n=n.end===void 0?i:Math.min(n.end,o),!t.extend&&i>n&&(o=n,n=i,i=o),o=tjt(r,i);var a=tjt(r,n);o&&a&&(t.rangeCount!==1||t.anchorNode!==o.node||t.anchorOffset!==o.offset||t.focusNode!==a.node||t.focusOffset!==a.offset)&&(e=e.createRange(),e.setStart(o.node,o.offset),t.removeAllRanges(),i>n?(t.addRange(e),t.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,h5=null,V6e=null,ure=null,H6e=!1;function rjt(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;H6e||h5==null||h5!==hbe(n)||(n=h5,"selectionStart"in n&&AJe(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ure&&vre(ure,n)||(ure=n,n=Sbe(V6e,"onSelect"),0b5||(t.current=Z6e[b5],Z6e[b5]=null,b5--)}function Zu(t,e){b5++,Z6e[b5]=t.current,t.current=e}var $F={},By=FF($F),H_=FF(!1),z4=$F;function I5(t,e){var r=t.type.contextTypes;if(!r)return $F;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in r)o[i]=e[i];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=o),o}function W_(t){return t=t.childContextTypes,t!=null}function xbe(){bl(H_),bl(By)}function djt(t,e,r){if(By.current!==$F)throw Error(ut(168));Zu(By,e),Zu(H_,r)}function j$t(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in e))throw Error(ut(108,s0n(t)||"Unknown",o));return wc({},r,n)}function Tbe(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||$F,z4=By.current,Zu(By,t),Zu(H_,H_.current),!0}function fjt(t,e,r){var n=t.stateNode;if(!n)throw Error(ut(169));r?(t=j$t(t,e,z4),n.__reactInternalMemoizedMergedChildContext=t,bl(H_),bl(By),Zu(By,t)):bl(H_),Zu(H_,r)}var y1=null,Vbe=!1,g6e=!1;function $$t(t){y1===null?y1=[t]:y1.push(t)}function SCn(t){Vbe=!0,$$t(t)}function kF(){if(!g6e&&y1!==null){g6e=!0;var t=0,e=su;try{var r=y1;for(su=1;t>=a,o-=a,b1=1<<32-sx(e)+o|r<P?(R=E,E=null):R=E.sibling;var I=f(g,E,_[P],w);if(I===null){E===null&&(E=R);break}t&&E&&I.alternate===null&&e(g,E),b=i(I,b,P),O===null?T=I:O.sibling=I,O=I,E=R}if(P===_.length)return r(g,E),Vl&&$4(g,P),T;if(E===null){for(;P<_.length;P++)E=d(g,_[P],w),E!==null&&(b=i(E,b,P),O===null?T=E:O.sibling=E,O=E);return Vl&&$4(g,P),T}for(E=n(g,E);P<_.length;P++)R=p(E,g,P,_[P],w),R!==null&&(t&&R.alternate!==null&&E.delete(R.key===null?P:R.key),b=i(R,b,P),O===null?T=R:O.sibling=R,O=R);return t&&E.forEach(function(N){return e(g,N)}),Vl&&$4(g,P),T}function h(g,b,_,w){var T=Wte(_);if(typeof T!="function")throw Error(ut(150));if(_=T.call(_),_==null)throw Error(ut(151));for(var O=T=null,E=b,P=b=0,R=null,I=_.next();E!==null&&!I.done;P++,I=_.next()){E.index>P?(R=E,E=null):R=E.sibling;var N=f(g,E,I.value,w);if(N===null){E===null&&(E=R);break}t&&E&&N.alternate===null&&e(g,E),b=i(N,b,P),O===null?T=N:O.sibling=N,O=N,E=R}if(I.done)return r(g,E),Vl&&$4(g,P),T;if(E===null){for(;!I.done;P++,I=_.next())I=d(g,I.value,w),I!==null&&(b=i(I,b,P),O===null?T=I:O.sibling=I,O=I);return Vl&&$4(g,P),T}for(E=n(g,E);!I.done;P++,I=_.next())I=p(E,g,P,I.value,w),I!==null&&(t&&I.alternate!==null&&E.delete(I.key===null?P:I.key),b=i(I,b,P),O===null?T=I:O.sibling=I,O=I);return t&&E.forEach(function(z){return e(g,z)}),Vl&&$4(g,P),T}function y(g,b,_,w){if(typeof _=="object"&&_!==null&&_.type===p5&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case qye:e:{for(var T=_.key,O=b;O!==null;){if(O.key===T){if(T=_.type,T===p5){if(O.tag===7){r(g,O.sibling),b=o(O,_.props.children),b.return=g,g=b;break e}}else if(O.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===wF&&_jt(T)===O.type){r(g,O.sibling),b=o(O,_.props),b.ref=Xte(g,O,_),b.return=g,g=b;break e}r(g,O);break}else e(g,O);O=O.sibling}_.type===p5?(b=B4(_.props.children,g.mode,w,_.key),b.return=g,g=b):(w=mbe(_.type,_.key,_.props,null,g.mode,w),w.ref=Xte(g,b,_),w.return=g,g=w)}return a(g);case f5:e:{for(O=_.key;b!==null;){if(b.key===O)if(b.tag===4&&b.stateNode.containerInfo===_.containerInfo&&b.stateNode.implementation===_.implementation){r(g,b.sibling),b=o(b,_.children||[]),b.return=g,g=b;break e}else{r(g,b);break}else e(g,b);b=b.sibling}b=x6e(_,g.mode,w),b.return=g,g=b}return a(g);case wF:return O=_._init,y(g,b,O(_._payload),w)}if(tre(_))return m(g,b,_,w);if(Wte(_))return h(g,b,_,w);tbe(g,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,b!==null&&b.tag===6?(r(g,b.sibling),b=o(b,_),b.return=g,g=b):(r(g,b),b=C6e(_,g.mode,w),b.return=g,g=b),a(g)):r(g,b)}return y}var N5=V$t(!0),H$t=V$t(!1),Nre={},MO=FF(Nre),xre=FF(Nre),Tre=FF(Nre);function q4(t){if(t===Nre)throw Error(ut(174));return t}function UJe(t,e){switch(Zu(Tre,e),Zu(xre,t),Zu(MO,Nre),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:D6e(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=D6e(e,t)}bl(MO),Zu(MO,e)}function D5(){bl(MO),bl(xre),bl(Tre)}function W$t(t){q4(Tre.current);var e=q4(MO.current),r=D6e(e,t.type);e!==r&&(Zu(xre,t),Zu(MO,r))}function BJe(t){xre.current===t&&(bl(MO),bl(xre))}var _c=FF(0);function Ibe(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if((e.flags&128)!==0)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var y6e=[];function zJe(){for(var t=0;tr?r:4,t(!0);var n=b6e.transition;b6e.transition={};try{t(!1),e()}finally{su=r,b6e.transition=n}}function uLt(){return ZS().memoizedState}function OCn(t,e,r){var n=NF(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},lLt(t))cLt(e,r);else if(r=q$t(t,e,r,n),r!==null){var o=Jb();ux(r,t,n,o),dLt(r,e,n)}}function ECn(t,e,r){var n=NF(t),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(lLt(t))cLt(e,o);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var a=e.lastRenderedState,s=i(a,r);if(o.hasEagerState=!0,o.eagerState=s,lx(s,a)){var u=e.interleaved;u===null?(o.next=o,kJe(e)):(o.next=u.next,u.next=o),e.interleaved=o;return}}catch{}finally{}r=q$t(t,e,o,n),r!==null&&(o=Jb(),ux(r,t,n,o),dLt(r,e,n))}}function lLt(t){var e=t.alternate;return t===vc||e!==null&&e===vc}function cLt(t,e){lre=Abe=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function dLt(t,e,r){if((r&4194240)!==0){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,TJe(t,r)}}var Nbe={readContext:XS,useCallback:ky,useContext:ky,useEffect:ky,useImperativeHandle:ky,useInsertionEffect:ky,useLayoutEffect:ky,useMemo:ky,useReducer:ky,useRef:ky,useState:ky,useDebugValue:ky,useDeferredValue:ky,useTransition:ky,useMutableSource:ky,useSyncExternalStore:ky,useId:ky,unstable_isNewReconciler:!1},PCn={readContext:XS,useCallback:function(t,e){return OO().memoizedState=[t,e===void 0?null:e],t},useContext:XS,useEffect:wjt,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,cbe(4194308,4,nLt.bind(null,e,t),r)},useLayoutEffect:function(t,e){return cbe(4194308,4,t,e)},useInsertionEffect:function(t,e){return cbe(4,2,t,e)},useMemo:function(t,e){var r=OO();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=OO();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=OCn.bind(null,vc,t),[n.memoizedState,t]},useRef:function(t){var e=OO();return t={current:t},e.memoizedState=t},useState:vjt,useDebugValue:KJe,useDeferredValue:function(t){return OO().memoizedState=t},useTransition:function(){var t=vjt(!1),e=t[0];return t=TCn.bind(null,t[1]),OO().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=vc,o=OO();if(Vl){if(r===void 0)throw Error(ut(407));r=r()}else{if(r=e(),jh===null)throw Error(ut(349));(H4&30)!==0||G$t(n,e,r)}o.memoizedState=r;var i={value:r,getSnapshot:e};return o.queue=i,wjt(Z$t.bind(null,n,i,t),[t]),n.flags|=2048,Pre(9,X$t.bind(null,n,i,r,e),void 0,null),r},useId:function(){var t=OO(),e=jh.identifierPrefix;if(Vl){var r=_1,n=b1;r=(n&~(1<<32-sx(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=Ore++,0(m.OPENROUTERAI="openrouterai",m.OPENAI="openai",m.OPENAI_FORMAT="3rd party (openai-format)",m.ANTHROPIC="anthropic",m.GOOGLE="google",m.XAI="xai",m.GROQ="groq",m.OLLAMA="ollama",m.LM_STUDIO="lm-studio",m.COPILOT_PLUS="copilot-plus",m.MISTRAL="mistralai",m.DEEPSEEK="deepseek",m.COHEREAI="cohereai",m.SILICONFLOW="siliconflow",m))(T_||{}),$F=[{name:"copilot-plus-flash",provider:"copilot-plus",enabled:!0,isBuiltIn:!0,core:!0,plusExclusive:!0,capabilities:["vision"]},{name:"google/gemini-2.5-flash",provider:"openrouterai",enabled:!0,isBuiltIn:!0,core:!0,capabilities:["vision"]},{name:"google/gemini-3.5-flash",provider:"openrouterai",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gpt-5.5",provider:"openai",enabled:!0,isBuiltIn:!0,core:!0,capabilities:["vision"]},{name:"gpt-5.4-mini",provider:"openai",enabled:!0,isBuiltIn:!0,core:!0,capabilities:["vision"]},{name:"claude-sonnet-4-6",provider:"anthropic",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-3.5-flash",provider:"google",enabled:!0,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-3.1-flash-lite",provider:"google",enabled:!0,isBuiltIn:!0,capabilities:["vision"]},{name:"gemini-2.5-flash",provider:"google",enabled:!0,isBuiltIn:!0,capabilities:["vision"]},{name:"google/gemini-3.1-pro-preview",provider:"openrouterai",enabled:!1,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"google/gemini-2.5-pro",provider:"openrouterai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"openai/gpt-5.5",provider:"openrouterai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"openai/gpt-5.4-mini",provider:"openrouterai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"grok-4.3",provider:"xai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"x-ai/grok-4.3",provider:"openrouterai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"gpt-4.1",provider:"openai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"gpt-4.1-mini",provider:"openai",enabled:!1,isBuiltIn:!0,core:!1,capabilities:["vision"]},{name:"claude-opus-4-7",provider:"anthropic",enabled:!1,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"claude-haiku-4-5",provider:"anthropic",enabled:!1,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-3.1-pro-preview",provider:"google",enabled:!1,isBuiltIn:!0,capabilities:["vision","reasoning"]},{name:"gemini-2.5-pro",provider:"google",enabled:!1,isBuiltIn:!0,capabilities:["vision"]},{name:"deepseek-chat",provider:"deepseek",enabled:!1,isBuiltIn:!0},{name:"deepseek-reasoner",provider:"deepseek",enabled:!1,isBuiltIn:!0,capabilities:["reasoning"]},{name:"deepseek-ai/DeepSeek-V3",provider:"siliconflow",enabled:!1,isBuiltIn:!1,baseUrl:"https://api.siliconflow.com/v1"},{name:"deepseek-ai/DeepSeek-R1",provider:"siliconflow",enabled:!1,isBuiltIn:!1,baseUrl:"https://api.siliconflow.com/v1",capabilities:["reasoning"]}],nv={openrouterai:{label:"OpenRouter",host:"https://openrouter.ai/api/v1/",curlBaseURL:"https://openrouter.ai/api/v1",keyManagementURL:"https://openrouter.ai/keys",testModel:"openai/gpt-5.4-mini"},google:{label:"Gemini",host:"https://generativelanguage.googleapis.com",curlBaseURL:"https://generativelanguage.googleapis.com/v1beta",keyManagementURL:"https://makersuite.google.com/app/apikey",testModel:"gemini-2.5-flash"},anthropic:{label:"Anthropic",host:"https://api.anthropic.com/",curlBaseURL:"https://api.anthropic.com",keyManagementURL:"https://console.anthropic.com/settings/keys",testModel:"claude-sonnet-4-6"},openai:{label:"OpenAI",host:"https://api.openai.com",curlBaseURL:"https://api.openai.com/v1",keyManagementURL:"https://platform.openai.com/api-keys",testModel:"gpt-5.5"},xai:{label:"XAI",host:"https://api.x.ai/v1",curlBaseURL:"https://api.x.ai/v1",keyManagementURL:"https://console.x.ai",testModel:"grok-4.3"},groq:{label:"Groq",host:"https://api.groq.com/openai",curlBaseURL:"https://api.groq.com/openai/v1",keyManagementURL:"https://console.groq.com/keys",testModel:"llama3-8b-8192"},cohereai:{label:"Cohere",host:"https://api.cohere.ai/compatibility/v1",curlBaseURL:"https://api.cohere.ai/compatibility/v1",keyManagementURL:"https://dashboard.cohere.ai/api-keys",testModel:"command-r"},siliconflow:{label:"SiliconFlow",host:"https://api.siliconflow.com/v1",curlBaseURL:"https://api.siliconflow.com/v1",keyManagementURL:"https://cloud.siliconflow.com/me/account/ak",testModel:"deepseek-ai/DeepSeek-V3"},ollama:{label:"Ollama",host:"http://localhost:11434/v1/",curlBaseURL:"http://localhost:11434",keyManagementURL:""},"lm-studio":{label:"LM Studio",host:"http://localhost:1234/v1",curlBaseURL:"http://localhost:1234/v1",keyManagementURL:""},"3rd party (openai-format)":{label:"OpenAI Format",host:"https://api.example.com/v1",curlBaseURL:"https://api.example.com/v1",keyManagementURL:""},mistralai:{label:"Mistral",host:"https://api.mistral.ai/v1",curlBaseURL:"https://api.mistral.ai/v1",keyManagementURL:"https://console.mistral.ai/api-keys",testModel:"mistral-tiny-latest"},deepseek:{label:"DeepSeek",host:"https://api.deepseek.com/",curlBaseURL:"https://api.deepseek.com",keyManagementURL:"https://platform.deepseek.com/api-keys",testModel:"deepseek-chat"},"copilot-plus":{label:"Copilot",host:bC,curlBaseURL:bC,keyManagementURL:""}},Dre={anthropic:"anthropicApiKey",openai:"openAIApiKey",google:"googleApiKey",groq:"groqApiKey",openrouterai:"openRouterAiApiKey",cohereai:"cohereApiKey",xai:"xaiApiKey","copilot-plus":"plusLicenseKey",mistralai:"mistralApiKey",deepseek:"deepseekApiKey",siliconflow:"siliconflowApiKey"},FF=(n=>(n.ENTER="enter",n.SHIFT_ENTER="shift+enter",n))(FF||{}),Ft={TRIGGER_QUICK_COMMAND:"trigger-quick-command",CLEAR_COPILOT_CACHE:"clear-copilot-cache",COUNT_WORD_AND_TOKENS_SELECTION:"count-word-and-tokens-selection",COUNT_TOTAL_VAULT_TOKENS:"count-total-vault-tokens",DEBUG_WORD_COMPLETION:"debug-word-completion",REFRESH_MIYO_INDEX:"index-vault-to-copilot-index",LOAD_COPILOT_CHAT_CONVERSATION:"load-copilot-chat-conversation",NEW_CHAT:"new-chat",NEW_AGENT_CHAT:"new-agent-chat",OPEN_COPILOT_CHAT_WINDOW:"chat-open-window",OPEN_AGENT_CHAT_WINDOW:"agent-chat-open-window",OPEN_RELEVANT_NOTES_VIEW:"open-relevant-notes-view",TOGGLE_COPILOT_CHAT_WINDOW:"chat-toggle-window",TOGGLE_AGENT_CHAT_WINDOW:"agent-chat-toggle-window",ADD_SELECTION_TO_CHAT_CONTEXT:"add-selection-to-chat-context",ADD_WEB_SELECTION_TO_CHAT_CONTEXT:"add-web-selection-to-chat-context",ADD_CUSTOM_COMMAND:"add-custom-command",APPLY_CUSTOM_COMMAND:"apply-custom-command",OPEN_LOG_FILE:"open-log-file",CLEAR_LOG_FILE:"clear-log-file",DOWNLOAD_YOUTUBE_SCRIPT:"download-youtube-script",PUBLISH_FILE_TO_OPENARTIFACTS:"publish-file-to-symposium",TRIGGER_QUICK_ASK:"trigger-quick-ask"},$re={[Ft.TRIGGER_QUICK_COMMAND]:"Trigger quick command",[Ft.CLEAR_COPILOT_CACHE]:"Clear Copilot cache",[Ft.COUNT_TOTAL_VAULT_TOKENS]:"Count total tokens in your vault",[Ft.COUNT_WORD_AND_TOKENS_SELECTION]:"Count words and tokens in selection",[Ft.DEBUG_WORD_COMPLETION]:"Word completion: Debug",[Ft.REFRESH_MIYO_INDEX]:"Refresh Miyo index",[Ft.LOAD_COPILOT_CHAT_CONVERSATION]:"Load Copilot chat conversation",[Ft.NEW_CHAT]:"New Copilot Quick Chat",[Ft.NEW_AGENT_CHAT]:"New Copilot Agent Chat",[Ft.OPEN_COPILOT_CHAT_WINDOW]:"Open Copilot Chat Window",[Ft.OPEN_AGENT_CHAT_WINDOW]:"Open Copilot Agent Chat Window",[Ft.OPEN_RELEVANT_NOTES_VIEW]:"Open Relevant Notes",[Ft.TOGGLE_COPILOT_CHAT_WINDOW]:"Toggle Copilot Chat Window",[Ft.TOGGLE_AGENT_CHAT_WINDOW]:"Toggle Copilot Agent Chat Window",[Ft.ADD_SELECTION_TO_CHAT_CONTEXT]:"Add selection to chat context",[Ft.ADD_WEB_SELECTION_TO_CHAT_CONTEXT]:"Add web selection to chat context",[Ft.ADD_CUSTOM_COMMAND]:"Add new custom command",[Ft.APPLY_CUSTOM_COMMAND]:"Apply custom command",[Ft.OPEN_LOG_FILE]:"Create log file",[Ft.CLEAR_LOG_FILE]:"Clear log file",[Ft.DOWNLOAD_YOUTUBE_SCRIPT]:"Download YouTube Script (plus)",[Ft.PUBLISH_FILE_TO_OPENARTIFACTS]:"Publish file to OpenArtifacts",[Ft.TRIGGER_QUICK_ASK]:"Quick Ask"},Fre={[Ft.NEW_CHAT]:"message-square-plus",[Ft.NEW_AGENT_CHAT]:aI,[Ft.OPEN_COPILOT_CHAT_WINDOW]:"message-square",[Ft.OPEN_AGENT_CHAT_WINDOW]:aI,[Ft.OPEN_RELEVANT_NOTES_VIEW]:"files",[Ft.TOGGLE_COPILOT_CHAT_WINDOW]:"message-square",[Ft.TOGGLE_AGENT_CHAT_WINDOW]:aI,[Ft.LOAD_COPILOT_CHAT_CONVERSATION]:"history",[Ft.TRIGGER_QUICK_COMMAND]:"terminal-square",[Ft.TRIGGER_QUICK_ASK]:"sparkles",[Ft.ADD_SELECTION_TO_CHAT_CONTEXT]:"text-cursor-input",[Ft.ADD_WEB_SELECTION_TO_CHAT_CONTEXT]:"globe",[Ft.ADD_CUSTOM_COMMAND]:"plus-circle",[Ft.APPLY_CUSTOM_COMMAND]:"play-circle",[Ft.REFRESH_MIYO_INDEX]:"refresh-cw",[Ft.CLEAR_COPILOT_CACHE]:"eraser",[Ft.COUNT_TOTAL_VAULT_TOKENS]:"calculator",[Ft.COUNT_WORD_AND_TOKENS_SELECTION]:"hash",[Ft.OPEN_LOG_FILE]:"file-text",[Ft.CLEAR_LOG_FILE]:"file-x",[Ft.DOWNLOAD_YOUTUBE_SCRIPT]:"youtube",[Ft.PUBLISH_FILE_TO_OPENARTIFACTS]:"share-2"},aIe=["md","canvas","base"],Qot=[...aIe,"pdf"],zre={NON_MARKDOWN_FILES_RESTRICTED:"Non-markdown files are only available in Copilot Plus mode. Please upgrade to access this file type.",URL_PROCESSING_RESTRICTED:"URL processing is only available in Copilot Plus mode. URLs will not be processed for context.",UNSUPPORTED_FILE_TYPE:t=>`${t.toUpperCase()} files are not supported in the current mode.`},eit="https://api.github.com/repos/sst/opencode/releases/tags/v{version}",gr={userId:zr(),isPaidUser:!1,isPlusUser:!1,entitlementToken:"",entitlementExpiresAt:0,plusLicenseKey:"",openAIApiKey:"",openAIOrgId:"",huggingfaceApiKey:"",cohereApiKey:"",anthropicApiKey:"",googleApiKey:"",openRouterAiApiKey:"",xaiApiKey:"",mistralApiKey:"",deepseekApiKey:"",siliconflowApiKey:"",defaultChainType:"llm_chain",defaultModelKey:"google/gemini-2.5-flash|openrouterai",contextTurns:15,userSystemPrompt:"",openAIProxyBaseUrl:"",stream:!0,copilotFolder:LF,copilotRootHistory:[],upgradedToV8FromLegacy:!1,defaultSaveFolder:a0n,defaultConversationTag:"copilot-conversation",autosaveChat:!0,autoAddActiveContentToContext:!0,defaultOpenArea:"view",defaultSendShortcut:"enter",customPromptsFolder:l0n,qaExclusions:eIe,qaInclusions:"",chatNoteContextPath:"",chatNoteContextTags:[],debug:!1,maxSourceChunks:p0n,enableInlineCitations:!0,groqApiKey:"",activeModels:$F,lexicalSearchRamLimit:100,promptUsageTimestamps:{},promptSortStrategy:"timestamp",chatHistorySortStrategy:"recent",projectsFolder:d0n,defaultConversationNoteName:"{$topic}@{$date}_{$time}",inlineEditCommands:[],projectList:[],lastDismissedVersion:null,lastShownStartupVersion:null,passMarkdownImages:!0,enableAutonomousAgent:!0,enableCustomPromptTemplating:!0,enableSelfHostMode:!1,enableMiyo:!1,enableMiyoSearchSkill:!1,miyoSearchAll:!1,relevantNotesLiveUpdate:!0,miyoServerUrl:"",selfHostSearchProvider:"firecrawl",firecrawlApiKey:"",perplexityApiKey:"",parallelApiKey:"",exaApiKey:"",supadataApiKey:"",docProcessorBackend:"plus",enableLexicalBoosts:!0,suggestedDefaultCommands:!1,autonomousAgentEnabledToolIds:["localSearch","readNote","webSearch","pomodoro","youtubeTranscription","writeFile","editFile","updateMemory"],reasoningEffort:Mre.REASONING_EFFORT,verbosity:Mre.VERBOSITY,memoryFolderName:c0n,enableRecentConversations:!0,maxRecentConversations:30,enableSavedMemory:!0,quickCommandModelKey:void 0,quickCommandIncludeNoteContext:!0,autoAcceptEdits:!1,diffViewMode:"split",userSystemPromptsFolder:u0n,defaultSystemPromptTitle:"",autoCompactThreshold:128e3,convertedDocOutputFolder:f0n,agentMode:{byok:{},activeBackend:"opencode",backends:{},debugFullFrames:!0,notificationSound:!0,notificationSoundId:"piano",welcomeDismissed:!1,skills:{folder:_C}},providers:{},configuredModels:[],backends:{},copilotPlusCatalog:{models:[],defaultEnabledIds:[]}},rs={CHAT_IS_VISIBLE:"chat-is-visible",ACTIVE_LEAF_CHANGE:"active-leaf-change",ABORT_STREAM:"abort-stream",INSERT_TEXT_TO_CHAT:"insert-text-to-chat"}});function sn(){let t=jq.useContext(LO);if(!t)throw new Error("useApp() called outside of an ");return t}var jq,LO,ry,Xd,no=b(()=>{xt();jq=R(U()),LO=jq.createContext(void 0),ry=class extends EventTarget{constructor(){super(...arguments);this.pendingInsertText=null;this.visiblePending=!1}queueInsertText(n){this.pendingInsertText=n,this.dispatchEvent(new CustomEvent(rs.INSERT_TEXT_TO_CHAT,{detail:{text:n}}))}consumePendingInsertText(){let n=this.pendingInsertText;return this.pendingInsertText=null,n}queueVisible(){this.visiblePending=!0,this.dispatchEvent(new CustomEvent(rs.CHAT_IS_VISIBLE))}consumePendingVisible(){let n=this.visiblePending;return this.visiblePending=!1,n}},Xd=jq.createContext(void 0)});var Hq,tit,lI,Ure,zF,nit,Bre,SC,DO=b(()=>{Hq="https://api.openartifacts.ai",tit="https://openartifacts.site",lI="OPENARTIFACTS_WORKSPACE_ROOT",Ure=".openartifacts",zF=`${Ure}/handoffs`,nit=`${Ure}/themes`,Bre=/^[0123456789abcdefghjkmnpqrstvwxyz]{16}$/,SC=10*1024*1024});var oit,rit=b(()=>{oit='# Research memo\n\nUse for dense analyst-style reports: pricing comparisons, technical evaluations,\nresearch write-ups. Read top to bottom, scanned for numbers. The identity is\n"research memo, set properly": serif for everything you read, monospace for\neverything you compare, one petrol-teal accent that never competes with the\nsemantic colors. No third typeface. No pure mid-grey. No em dashes in copy.\n\n## Tokens\n\nDefine every color on bare `:root`, redefine only tokens in the two dark blocks,\nreference tokens from components and never literals, and give `body` an explicit\ntoken background. Dark is not an inversion: the accent lightens and the semantic\ntrio desaturates.\n\n```css\n:root {\n --ground: #f2f4f4; --paper: #fbfcfc;\n --ink: #141d21; --ink-soft: #47585e; --ink-faint: #7a8b91;\n --rule: #d3dcdd; --rule-soft: #e4eaea;\n --accent: #0d5f66; --accent-soft: #e0eded;\n --warn: #8a5407; --warn-soft: #f6ecd9;\n --stop: #97231d; --stop-soft: #f7e4e2;\n --go: #17603e; --go-soft: #e0efe6;\n --serif: "Iowan Old Style", "Charter", "Palatino Linotype", Palatino, Georgia, ui-serif, serif;\n --mono: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace;\n --measure: 68ch; --pad: clamp(1.15rem, 4vw, 2.75rem);\n}\n@media (prefers-color-scheme: dark) {\n :root:not([data-theme="light"]) {\n --ground: #0e1518; --paper: #141d21;\n --ink: #e4ecec; --ink-soft: #a3b5b8; --ink-faint: #6e8287;\n --rule: #27363a; --rule-soft: #1d2a2e;\n --accent: #5fbfc2; --accent-soft: #14302f;\n --warn: #e0ac5c; --warn-soft: #2d2415;\n --stop: #e8877f; --stop-soft: #33201e;\n --go: #6cc394; --go-soft: #14291f;\n }\n}\n:root[data-theme="dark"] { /* repeat the dark tokens above verbatim */ }\nbody { background: var(--ground); color: var(--ink); font-family: var(--serif); margin: 0; }\n```\n\nSystem font stacks only: a linked webfont fails silently to a default. Avoid\nInter and Space Grotesk.\n\n## Type\n\nSerif carries prose and headings. Mono carries every label, table, number,\ncaption, chip, and stat. Uppercase labels always take positive letter-spacing;\ndisplay sizes take tight negative tracking.\n\n| Role | Size | Notes |\n| --- | --- | --- |\n| h1 | `clamp(2.1rem, 1.35rem + 3.5vw, 3.6rem)` | line-height 1.03, tracking -0.022em, weight 600 |\n| h2 | `clamp(1.45rem, 1.2rem + 1.1vw, 1.95rem)` | line-height 1.15, tracking -0.014em |\n| h3 | `1.12rem` | weight 600 |\n| Standfirst | `clamp(1.08rem, 1rem + 0.4vw, 1.28rem)` | line-height 1.5, `--ink-soft` |\n| Body | `clamp(1rem, 0.97rem + 0.16vw, 1.075rem)` | line-height 1.62 |\n| Eyebrow | mono `0.685rem` | tracking 0.15em, uppercase |\n| Table body | mono `0.795rem` | `tabular-nums` |\n| Table head | mono `0.665rem` | tracking 0.07em, uppercase, weight 500 |\n| Stat numeral | mono `1.85rem` | tracking -0.03em, line-height 1 |\n\nHeadings get `text-wrap: balance`, paragraphs `text-wrap: pretty`. Cap prose at\n`max-width: var(--measure)`; never cap tables or charts.\n\n## Layout\n\nOne centered column, `max-width: 60rem`, `padding: 0 var(--pad) 6rem`. The\nwrapper is `display: flex; flex-direction: column; gap: 3.25rem`; each section\nis a flex column with `gap: 1.15rem`. Spacing comes from `gap`, never per-element\nmargins. Wide content sits in a `.scroller` with `overflow-x: auto` so the body\nnever scrolls sideways.\n\n## Components\n\n- **Masthead**: mono kicker with dot-separated metadata, h1, standfirst, closed by a `2px solid var(--ink)` rule. The only full-weight ink line on the page.\n- **Section header**: mono eyebrow naming the kind of content, `1px` bottom rule, then h2. No `01 / 02` markers unless the content is sequential.\n- **Verdict panel**: `--paper` background, `1px` border, `4px` left border in a semantic color, mono uppercase label above the prose. Reserved for findings that change the decision.\n- **Duo cards**: `grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr))`; mono accent title, optional stat numeral, body copy.\n- **Data table**: inside `.scroller`; first column left, the rest right-aligned; sticky `thead` on `--paper`; row hover tints `--rule-soft`; group rows use `--rule-soft` with uppercase mono labels; cell classes `.win`, `.lose`, `.flag`.\n- **Bar chart**: three-column grid per row (label, track, value); fill width from an inline `--pct`, `max-width: 100%`; `.over` swaps the fill to `--stop`. Full width equals the reference line.\n- **Chips**: mono uppercase `0.66rem`, four semantic variants on the `-soft` backgrounds.\n- **Steps**: mono accent-chip marker plus prose, only where order is real.\n- **Details/summary**: for true but secondary material such as corrections and methodology.\n\n## Always\n\n`font-variant-numeric: tabular-nums` on columnar numerals; a visible\n`:focus-visible` outline in the accent with `outline-offset: 3px`; a\n`prefers-reduced-motion` block that removes animation and transition; one\nselector per spacing rule so type and element selectors never fight.\n'});var cI,jre,h0n,g0n,y0n,w0n,v0n,b0n,_0n,x0n,S0n,C0n,k0n,Hre,T0n,I0n,P0n,A0n,iit,sit=b(()=>{cI="a1dc48e68138490d522c04cbf5822214c6eb1202",jre=["claude","codex","opencode"],h0n=String.raw`MIT License
+
+Copyright (c) 2026 Steph Ango (@kepano)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+`,g0n=String.raw`---
+name: obsidian-markdown
+description: Create and edit Obsidian-specific Markdown syntax, including wikilinks, embeds, block references, callouts, properties, tags, and comments. Use for Obsidian notes when these extensions matter; ordinary Markdown is assumed knowledge.
+license: MIT
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${1}"
+ copilot-upstream-revision: "${cI}"
+---
+
+# Obsidian Markdown
+
+Use Obsidian-specific syntax accurately. Do not spend tokens explaining ordinary
+CommonMark or GFM unless the user asks.
+
+## Workflow
+
+1. Preserve existing frontmatter keys and formatting when editing a note.
+2. Use wikilinks for vault notes and Markdown links for external URLs.
+3. Use embeds, callouts, properties, tags, comments, and block references only
+ when they improve the requested note.
+4. Check link targets, YAML validity, and block IDs after editing.
+5. Read the focused reference file when the task needs more syntax detail.
+
+## Wikilinks and block references
+
+~~~markdown
+[[Note Name]]
+[[Note Name|Display Text]]
+[[Note Name#Heading]]
+[[Note Name#^block-id]]
+[[#Heading in this note]]
+
+This paragraph is addressable. ^block-id
+~~~
+
+Put a block ID on its own line after a list or quote block.
+
+## Embeds
+
+Prefix a wikilink with !:
+
+~~~markdown
+![[Note Name]]
+![[Note Name#Heading]]
+![[image.png|300]]
+![[document.pdf#page=3]]
+~~~
+
+See [Embeds](references/EMBEDS.md) for media, PDF, and query forms.
+
+## Callouts
+
+~~~markdown
+> [!warning] Custom title
+> Important content.
+
+> [!faq]- Collapsed by default
+> Foldable content.
+~~~
+
+See [Callouts](references/CALLOUTS.md) for types, aliases, folding, and nesting.
+
+## Properties, tags, and comments
+
+~~~yaml
+---
+title: My Note
+date: 2026-07-21
+tags:
+ - project
+aliases:
+ - Alternate Name
+related: "[[Other Note]]"
+---
+~~~
+
+Quote wikilinks used as YAML values. See
+[Properties](references/PROPERTIES.md) for supported property types and tag rules.
+
+Use #nested/tag for inline tags. Hide content from reading view with
+%%inline comments%% or a matching pair of %% markers on
+separate lines.
+
+## Attribution
+
+Adapted from kepano/obsidian-skills at revision
+${cI}. See LICENSE.
+`,y0n=String.raw`# Callouts reference
+
+## Folding and nesting
+
+~~~markdown
+> [!faq]- Collapsed by default
+> Hidden until expanded.
+
+> [!faq]+ Expanded by default
+> Visible but collapsible.
+
+> [!question] Outer
+> > [!note] Inner
+> > Nested content.
+~~~
+
+## Built-in types
+
+| Type | Aliases |
+| --- | --- |
+| note | — |
+| abstract | summary, tldr |
+| info | — |
+| todo | — |
+| tip | hint, important |
+| success | check, done |
+| question | help, faq |
+| warning | caution, attention |
+| failure | fail, missing |
+| danger | error |
+| bug | — |
+| example | — |
+| quote | cite |
+`,w0n=String.raw`# Embeds reference
+
+~~~markdown
+![[Note Name]]
+![[Note Name#Heading]]
+![[Note Name#^block-id]]
+
+![[image.png]]
+![[image.png|640x480]]
+![[image.png|300]]
+
+![[audio.mp3]]
+![[video.mp4]]
+
+![[document.pdf]]
+![[document.pdf#page=3]]
+![[document.pdf#height=400]]
+~~~
+
+A list embed needs a block ID after the list. An embedded search uses an
+Obsidian query block:
+
+~~~~markdown
+~~~query
+tag:#project status:done
+~~~
+~~~~
+`,v0n=String.raw`# Properties reference
+
+Properties are YAML frontmatter at the very start of a note.
+
+| Property type | Example |
+| --- | --- |
+| Text | title: My title |
+| Number | rating: 4.5 |
+| Checkbox | completed: true |
+| Date | date: 2026-07-21 |
+| Date and time | due: 2026-07-21T14:30:00 |
+| List | tags: [one, two] or a YAML list |
+| Link | related: "[[Other Note]]" |
+
+Obsidian reserves tags, aliases, and
+cssclasses for their built-in behaviors. Tags may contain letters,
+numbers (not as the first character), underscores, hyphens, and forward slashes.
+Prefer YAML lists when a property naturally has multiple values.
+`,b0n=String.raw`---
+name: obsidian-bases
+description: Create and edit Obsidian Bases (.base files) with valid YAML schemas, filters, formulas, properties, summaries, and views. Use for database-like Obsidian views or when the user mentions Bases, .base files, table/card/list views, filters, formulas, or summaries.
+license: MIT
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${1}"
+ copilot-upstream-revision: "${cI}"
+---
+
+# Obsidian Bases
+
+## Workflow
+
+1. Read the existing .base file before editing it.
+2. Define global scope with filters.
+3. Add computed values under formulas only when needed.
+4. Configure property display names and one or more views.
+5. Validate YAML, formula references, quoting, and date/duration operations.
+6. Open or query the Base in Obsidian when the CLI is available.
+
+## Schema
+
+~~~yaml
+filters:
+ and:
+ - 'file.ext == "md"'
+ - 'status != "archived"'
+
+formulas:
+ days_until_due: 'if(due, (date(due) - today()).days, "")'
+
+properties:
+ status:
+ displayName: Status
+ formula.days_until_due:
+ displayName: "Days Until Due"
+
+summaries:
+ mean_rounded: 'values.mean().round(2)'
+
+views:
+ - type: table
+ name: Active
+ limit: 50
+ filters:
+ and:
+ - 'status != "done"'
+ order:
+ - file.name
+ - status
+ - formula.days_until_due
+ groupBy:
+ property: status
+ direction: ASC
+ summaries:
+ formula.days_until_due: Average
+~~~
+
+Views may be table, cards, or list.
+A map view depends on compatible map support.
+
+## Filters and properties
+
+Filters may be a single expression or recursively nested and,
+or, and not objects. Property namespaces are:
+
+- note properties: status or note.status
+- file metadata: file.name, file.path,
+ file.folder, file.ctime, file.mtime,
+ file.tags, file.links, and
+ file.backlinks
+- formulas: formula.days_until_due
+
+Use file.hasTag(), file.hasLink(),
+file.hasProperty(), and file.inFolder() for indexed
+file relationships. The this value refers to the Base itself, the
+embedding note, or the active file depending on where the Base is rendered.
+
+## Formula rules
+
+- Guard optional properties with if().
+- Date subtraction returns a Duration, not a number. Access
+ .days, .hours, or another numeric field before
+ calling number methods such as .round().
+- Every formula.X used by a view or property configuration must
+ have a matching X entry under formulas.
+- Wrap formulas containing double quotes in YAML single quotes.
+- Quote YAML strings containing special characters, especially colons and
+ leading punctuation.
+
+Read [Functions reference](references/FUNCTIONS_REFERENCE.md) for function and
+type-specific operations, and [Examples](references/EXAMPLES.md) for complete
+task-tracker and daily-notes Bases.
+
+## Validation checklist
+
+- The document parses as YAML and has a views list.
+- View order, groupBy, and summaries reference defined
+ note, file, or formula properties.
+- Formula quoting is balanced and duration math accesses a numeric field.
+- Embedded view names match exactly: ![[My Base.base#View Name]].
+
+## Attribution
+
+Adapted from kepano/obsidian-skills at revision
+${cI}. See LICENSE.
+`,_0n=String.raw`# Bases functions reference
+
+## Global functions
+
+| Function | Purpose |
+| --- | --- |
+| date(value) | Parse a date string |
+| duration(value) | Parse a duration string |
+| now() / today() | Current date-time / date |
+| if(condition, yes, no?) | Conditional value |
+| number(value) | Convert to number |
+| link(path, display?) | Create a link |
+| file(path) | Resolve a file object |
+| list(value) | Normalize a value to a list |
+| image(path) / icon(name) | Create renderable values |
+
+## Common methods
+
+- String: contains, startsWith, endsWith,
+ lower, trim, replace,
+ split, isEmpty.
+- Number: abs, ceil, floor,
+ round, toFixed.
+- List: contains, containsAll,
+ containsAny, filter, map,
+ reduce, flat, join,
+ sort, unique.
+- File: asLink, hasLink, hasTag,
+ hasProperty, inFolder.
+- Link: asFile, linksTo.
+- Object: keys, values, isEmpty.
+- Regular expression: matches.
+
+Date fields include year, month, day,
+hour, minute, and second. Date methods
+include date(), format(), time(), and
+relative().
+
+Duration fields are days, hours,
+minutes, seconds, and milliseconds.
+Duration does not directly support number rounding methods.
+`,x0n=String.raw`# Bases examples
+
+## Task tracker
+
+~~~yaml
+filters:
+ and:
+ - file.hasTag("task")
+ - 'file.ext == "md"'
+
+formulas:
+ days_until_due: 'if(due, (date(due) - today()).days, "")'
+ is_overdue: 'if(due, date(due) < today() && status != "done", false)'
+
+properties:
+ formula.days_until_due:
+ displayName: "Days Until Due"
+
+views:
+ - type: table
+ name: Active
+ filters:
+ and:
+ - 'status != "done"'
+ order:
+ - file.name
+ - status
+ - due
+ - formula.days_until_due
+ groupBy:
+ property: status
+ direction: ASC
+~~~
+
+## Daily notes index
+
+~~~yaml
+filters:
+ and:
+ - file.inFolder("Daily Notes")
+ - '/^\d{4}-\d{2}-\d{2}$/.matches(file.basename)'
+
+formulas:
+ day_of_week: 'date(file.basename).format("dddd")'
+ word_estimate: '(file.size / 5).round(0)'
+
+views:
+ - type: table
+ name: Recent notes
+ limit: 30
+ order:
+ - file.name
+ - formula.day_of_week
+ - formula.word_estimate
+ - file.mtime
+~~~
+`,S0n=String.raw`---
+name: json-canvas
+description: Create and edit JSON Canvas (.canvas) files with valid nodes, edges, groups, colors, layout, IDs, and referential integrity. Use for Obsidian Canvas files, visual maps, flowcharts, project boards, or any request involving the JSON Canvas format.
+license: MIT
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${1}"
+ copilot-upstream-revision: "${cI}"
+---
+
+# JSON Canvas
+
+Follow JSON Canvas 1.0. A .canvas document contains top-level
+nodes and edges arrays.
+
+## Workflow
+
+1. Parse the existing JSON before editing it.
+2. Generate a unique lowercase 16-character hexadecimal ID for each new node
+ or edge.
+3. Position nodes without overlap and preserve intentional existing layout.
+4. Point every edge at existing node IDs.
+5. Serialize valid JSON and run the validation checklist below.
+
+## Nodes
+
+Every node requires id, type, x,
+y, width, and height.
+
+| Type | Required content | Purpose |
+| --- | --- | --- |
+| text | text | Markdown content |
+| file | file | Vault file; optional subpath |
+| link | url | External URL |
+| group | none | Visual container; optional label/background |
+
+Array order controls z-index: earlier nodes are behind later nodes. Coordinates
+may be negative. Position is the top-left corner, x increases right, and y
+increases down.
+
+~~~json
+{
+ "id": "6f0ad84f44ce9c17",
+ "type": "text",
+ "x": 0,
+ "y": 0,
+ "width": 360,
+ "height": 180,
+ "text": "# Main idea\n\nDetails",
+ "color": "5"
+}
+~~~
+
+Use actual JSON newline escapes in text values. Do not double-escape them into
+literal backslash-n text.
+
+## Edges
+
+Every edge requires id, fromNode, and
+toNode. Optional sides are top, right,
+bottom, or left. Optional ends are none
+or arrow.
+
+~~~json
+{
+ "id": "0123456789abcdef",
+ "fromNode": "6f0ad84f44ce9c17",
+ "fromSide": "right",
+ "toNode": "a1b2c3d4e5f67890",
+ "toSide": "left",
+ "toEnd": "arrow",
+ "label": "leads to"
+}
+~~~
+
+## Colors and layout
+
+A color is a hex string or preset "1" through
+"6". Presets deliberately do not define exact hex colors. Leave
+50–100 px between nodes, 20–50 px padding inside groups, and align to a simple
+grid when creating a new layout.
+
+## Validation checklist
+
+- JSON parses successfully.
+- IDs are unique across nodes and edges.
+- Every fromNode and toNode exists in
+ nodes.
+- Each node type has its required content field.
+- Sides, ends, and colors use allowed values.
+- Nodes do not unintentionally overlap and group children sit inside bounds.
+
+Read [Examples](references/EXAMPLES.md) for complete connected and grouped
+canvases.
+
+## Attribution
+
+Adapted from kepano/obsidian-skills at revision
+${cI}. See LICENSE.
+`,C0n=String.raw`# JSON Canvas examples
+
+## Connected notes
+
+~~~json
+{
+ "nodes": [
+ {
+ "id": "8a9b0c1d2e3f4a5b",
+ "type": "text",
+ "x": 0,
+ "y": 0,
+ "width": 300,
+ "height": 140,
+ "text": "# Main idea"
+ },
+ {
+ "id": "1a2b3c4d5e6f7a8b",
+ "type": "file",
+ "x": 400,
+ "y": 0,
+ "width": 300,
+ "height": 200,
+ "file": "Notes/Supporting note.md",
+ "subpath": "#Evidence"
+ }
+ ],
+ "edges": [
+ {
+ "id": "3c4d5e6f7a8b9c0d",
+ "fromNode": "8a9b0c1d2e3f4a5b",
+ "fromSide": "right",
+ "toNode": "1a2b3c4d5e6f7a8b",
+ "toSide": "left",
+ "label": "supported by"
+ }
+ ]
+}
+~~~
+
+## Grouped board
+
+~~~json
+{
+ "nodes": [
+ {
+ "id": "5e6f7a8b9c0d1e2f",
+ "type": "group",
+ "x": 0,
+ "y": 0,
+ "width": 320,
+ "height": 500,
+ "label": "In progress",
+ "color": "3"
+ },
+ {
+ "id": "8b9c0d1e2f3a4b5c",
+ "type": "text",
+ "x": 30,
+ "y": 60,
+ "width": 260,
+ "height": 100,
+ "text": "## Task\n\nImplement the feature"
+ }
+ ],
+ "edges": []
+}
+~~~
+`,k0n=String.raw`---
+name: obsidian-cli
+description: Use the official Obsidian CLI when a task needs Obsidian's running app, index, configured features, command registry, or developer runtime. Use for currently open notes and tabs, workspace state, daily notes, typed properties, tasks, links/backlinks, Bases queries, template resolution, link-aware moves, plugin commands, and plugin/theme debugging; do not use it for ordinary filesystem operations.
+license: MIT
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${2}"
+ copilot-upstream-revision: "${cI}"
+---
+
+# Obsidian CLI
+
+Use the CLI only for behavior that depends on Obsidian's running application,
+indexes, settings, command registry, or developer runtime. Use normal shell
+filesystem tools for ordinary file reads, writes, directory listing, and text
+search.
+
+## Capability probe and fallback
+
+Copilot exposes the terminal-capable executable from the running Obsidian
+installation as COPILOT_OBSIDIAN_CLI when it can resolve one.
+Prefer that exact path over obsidian from PATH, and
+always invoke it as a quoted executable rather than constructing a command
+string. Before relying on the CLI, probe it using the active shell:
+
+~~~bash
+obsidian_cli="${"${COPILOT_OBSIDIAN_CLI:-obsidian}"}"
+"$obsidian_cli" version
+~~~
+
+~~~powershell
+$obsidianCli = if ($env:COPILOT_OBSIDIAN_CLI) { $env:COPILOT_OBSIDIAN_CLI } else { "obsidian" }
+& $obsidianCli version
+~~~
+
+A command being present on PATH is not sufficient: the probe must exit
+successfully. Use the selected executable in place of obsidian in
+the examples below, resolving it again in a later shell call when necessary. If
+the probe fails, continue with ordinary filesystem tools where they can satisfy
+the request. Briefly tell the user only when the missing runtime capability
+matters. Do not install Obsidian, change PATH, register the CLI, or raise the
+plugin's minimum Obsidian version on the user's behalf.
+
+The CLI requires a compatible Obsidian installer and a running app. Commands
+can differ by version, so inspect live help before using a command whose syntax
+is not already established:
+
+~~~bash
+obsidian help
+~~~
+
+When a request truly needs the runtime capability and the probe fails, tell the
+user to open Obsidian and enable **Settings → General → Command line
+interface** using a compatible installer. Leave registration and any platform
+repair steps to the user.
+
+## Target precisely
+
+Put vault=<name-or-id> before the command whenever the vault is
+known. Use path= for an exact vault-relative path. Use
+file= only when Obsidian's wikilink-style name resolution is
+desired. Do not rely on the active vault or active file when a precise target
+is available.
+
+~~~bash
+obsidian vault="My Vault" backlinks path="Projects/Plan.md" format=json
+~~~
+
+Parameters use name=value; boolean flags have no value. Quote
+values containing spaces or shell-special characters.
+
+## High-value indexed and configured operations
+
+Use live help for exact parameters, then prefer these families when they add
+meaning beyond raw files:
+
+- Configured daily notes: daily, daily:path,
+ daily:read, daily:append,
+ daily:prepend.
+- Typed properties and parsed metadata: properties,
+ property:read, property:set,
+ property:remove, tags, tag, and
+ aliases. Supply a type= to
+ property:set when the property is not plain text.
+- Tasks: tasks for indexed listing and task with a
+ stable ref=path:line or exact file/line for status changes.
+- Link graph: backlinks, links,
+ unresolved, orphans, and deadends.
+- Bases: bases, base:views, and
+ base:query. Prefer format=json for structured agent
+ consumption.
+- Templates: templates and template:read ... resolve
+ when configured template resolution is required.
+- Live workspace state: tabs ids lists the currently open tabs and
+ their IDs, while workspace ids shows the workspace tree and its
+ item IDs.
+- Link-aware refactors: move and rename when the vault
+ setting to update internal links should be honored.
+
+### Inspect open notes
+
+When the user asks about notes currently open in Obsidian:
+
+~~~bash
+obsidian vault="My Vault" tabs ids
+obsidian vault="My Vault" workspace ids
+~~~
+
+Use tabs ids as the source of truth for open tabs. Keep entries
+verbatim and classify them only when the output provides enough evidence:
+
+- a Markdown note has an explicit vault path ending in .md
+ (case-insensitive)
+- another file-backed tab has an explicit vault path with a different extension
+- a non-file view, such as search, graph, settings, or a plugin view, has no
+ vault path
+
+Do not infer a path from a display title, view type, or tab ID, and do not
+discard entries that cannot be classified. For a request about open notes,
+extract the Markdown paths while retaining the other tabs as workspace context.
+Use workspace ids when tab groups or workspace hierarchy matter. Do
+not substitute recents, which includes files that are no longer open.
+
+If the tab output does not expose paths or view types clearly, correlate its tab
+IDs with this read-only, structured workspace query:
+
+~~~bash
+obsidian vault="My Vault" eval code='JSON.stringify((()=>{const tabs=[];const active=app.workspace.getMostRecentLeaf();app.workspace.iterateAllLeaves(leaf=>{const path=leaf.view.file?.path??null;tabs.push({id:leaf.id,title:leaf.getDisplayText(),viewType:leaf.view.getViewType(),path,kind:path===null?"view":path.toLowerCase().endsWith(".md")?"markdown":"file",active:leaf===active})});return tabs})())'
+~~~
+
+The workspace query also returns sidebar and floating leaves. Only call an entry
+an open tab when its ID appears in tabs ids; retain query-only
+entries separately as workspace context. Preserve tab entries that have no
+matching workspace entry instead of guessing their identity.
+
+If the user asks for the single currently focused note and the tab output does
+not identify it, use a read-only app query:
+
+~~~bash
+obsidian vault="My Vault" eval code="app.workspace.getMostRecentLeaf()?.view.file?.path ?? ''"
+~~~
+
+Use normal filesystem tools only for explicit paths returned by Obsidian, and
+choose a reader appropriate to the file type. Do not read every open note when
+paths or titles alone answer the request.
+
+## Obsidian and plugin commands
+
+commands lists registered command IDs, including commands provided
+by plugins. Filter by an ID prefix, then execute the selected command with
+command id=<command-id>. Never guess a command ID when it can be
+discovered. Do not execute a discovered command whose effect is prohibited by
+the host-session rules below.
+
+~~~bash
+obsidian vault="My Vault" commands filter="my-plugin:"
+obsidian vault="My Vault" command id="my-plugin:run-action"
+~~~
+
+## Plugin and theme development
+
+Use the CLI as the first choice for runtime verification after the normal build
+or test command has produced artifacts:
+
+1. For a plugin other than Copilot, reload with
+ plugin:reload id=<plugin-id> when needed. Never reload the
+ Copilot plugin from a Copilot-hosted agent session.
+2. Inspect dev:errors and dev:console level=error.
+3. Verify UI state with dev:screenshot path=...,
+ dev:dom selector=..., and dev:css selector=....
+4. Use dev:mobile on only when mobile emulation is relevant, and
+ turn it off afterward.
+
+Read-only eval and dev:cdp queries are appropriate for
+state that the documented inspection commands cannot expose. Keep expressions
+small and return serializable values. Treat any expression or CDP call that
+mutates application state as a risky operation requiring explicit user intent.
+
+## Preserve the host session
+
+Never reload or restart the Obsidian app or window from an agent session. Never
+reload, disable, or uninstall the Copilot plugin that is hosting the agent. In
+particular, do not use:
+
+- any CLI command that reloads or restarts the app, window, or renderer
+- any plugin reload, disable, or uninstall operation targeting Copilot
+- any restricted-mode change
+- a command ID, JavaScript expression, or CDP call that performs an equivalent
+ app, window, renderer, or Copilot-plugin teardown
+
+These actions terminate the in-flight agent and can discard its work. This is a
+hard prohibition, not a confirmation-gated operation. If verification requires
+one, finish all non-destructive checks and tell the user to perform the reload
+manually after the agent session has ended.
+
+## Risky operations require explicit intent
+
+Do not perform the following merely because they are available:
+
+- permanent deletion
+- local-history or Sync restoration
+- publishing or unpublishing
+- plugin or theme installation/uninstallation
+- mutating JavaScript evaluation or CDP calls
+
+Confirm that the user's request clearly authorizes the exact target and effect.
+Prefer reversible variants, such as trash-backed deletion, when they satisfy
+the request. Explicit intent does not override the host-session prohibition
+above.
+
+## Exclusions
+
+Do not teach or use the TUI, clipboard output, undocumented flags, platform
+registration repairs, or CLI equivalents of generic filesystem operations in
+this skill.
+
+## Attribution
+
+Adapted from kepano/obsidian-skills at revision
+${cI}. See LICENSE.
+`,Hre={path:"LICENSE",content:h0n},T0n={name:"obsidian-markdown",version:1,enabledAgents:jre,skillMd:g0n,files:[{path:"references/CALLOUTS.md",content:y0n},{path:"references/EMBEDS.md",content:w0n},{path:"references/PROPERTIES.md",content:v0n},Hre]},I0n={name:"obsidian-bases",version:1,enabledAgents:jre,skillMd:b0n,files:[{path:"references/FUNCTIONS_REFERENCE.md",content:_0n},{path:"references/EXAMPLES.md",content:x0n},Hre]},P0n={name:"json-canvas",version:1,enabledAgents:jre,skillMd:S0n,files:[{path:"references/EXAMPLES.md",content:C0n},Hre]},A0n={name:"obsidian-cli",version:2,enabledAgents:jre,skillMd:k0n,files:[Hre]},iit=[T0n,I0n,P0n,A0n]});function Wre(t){return`'${t.replace(/'/g,"'\\''")}'`}function yit(){return`#!/bin/sh
+# Calls the Brevilabs relay with curl and prints the JSON result to stdout.
+# Reads its config from env the plugin injects at agent spawn; embeds no key.
+BASE="\${${td.baseUrl}:-}"
+KEY="\${${td.licenseKey}:-}"
+USER_ID="\${${td.userId}:-}"
+CLIENT_VERSION="\${${td.clientVersion}:-}"
+SELF_HOST="\${${Wq}:-}"
+SELF_HOST_URL="\${${Vq}:-}"
+SELF_HOST_TOKEN="\${${qq}:-}"
+NO_LICENSE=${Wre(pit)}
+NO_LICENSE_UPSELL=${Wre(mit)}
+LICENSE_INVALID=${Wre(hit)}
+RELAY_FAILED_FALLBACK=${Wre(git)}
+
+die() {
+ printf '%s\\n' "$1" >&2
+ exit "\${2:-2}"
+}
+
+# No Copilot Plus license configured (free user). Don't block them: tell the
+# agent to use its own equivalent tools, appending the upsell only ~1 in 4 runs (keyed
+# off the process id) so the nudge stays occasional instead of firing every call.
+no_license() {
+ msg="$NO_LICENSE"
+ [ $(( $$ % 4 )) -eq 0 ] && msg="$msg $NO_LICENSE_UPSELL"
+ die "$msg"
+}
+
+require_relay() {
+ [ -n "$KEY" ] && [ -n "$BASE" ] || no_license
+}
+
+# JSON-escape a single-line string: backslash first, then double quote.
+json_escape() {
+ printf '%s' "$1" | sed -e 's/\\\\/\\\\\\\\/g' -e 's/"/\\\\"/g'
+}
+
+# relay ENDPOINT JSON_BODY -> prints the response body, mapping HTTP status.
+relay() {
+ resp=$(printf '%s' "$2" | curl -sS -w '\\n%{http_code}' \\
+ -X POST "$BASE$1" \\
+ -H 'Content-Type: application/json' \\
+ -H "Authorization: Bearer $KEY" \\
+ -H "X-Client-Version: $CLIENT_VERSION" \\
+ --data-binary @-)
+ [ $? -eq 0 ] || die "Could not reach the Copilot relay. $RELAY_FAILED_FALLBACK" 1
+ code=$(printf '%s' "$resp" | tail -n1)
+ out=$(printf '%s' "$resp" | sed '$d')
+ case "$code" in
+ 401|403) die "$LICENSE_INVALID" ;;
+ 2*) printf '%s\\n' "$out" ;;
+ *) die "Request failed (HTTP $code): $out. $RELAY_FAILED_FALLBACK" 1 ;;
+ esac
+}
+`}function Vre(t){return`'${t.replace(/'/g,"''")}'`}function wit(){return`# Windows (PowerShell) sibling of the matching .sh script, launched by the .cmd
+# wrapper next to it. Calls the Brevilabs relay and prints the JSON result to
+# stdout. Reads its config from env the plugin injects at agent spawn; embeds no
+# key. Targets Windows PowerShell 5.1 (.NET BCL only) so it needs no Node.
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+# Emit stdout/stderr as UTF-8: Windows PowerShell 5.1 defaults Console.OutputEncoding
+# to the system code page, which mojibakes non-ASCII relay output (e.g. Japanese
+# results, fetched pages, transcripts) before the agent reads it. The removed Node
+# fallback wrote UTF-8; match that. $OutputEncoding governs the pipeline too.
+[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
+$OutputEncoding = [System.Text.Encoding]::UTF8
+$BASE = [Environment]::GetEnvironmentVariable('${td.baseUrl}')
+$KEY = [Environment]::GetEnvironmentVariable('${td.licenseKey}')
+$USER_ID = [Environment]::GetEnvironmentVariable('${td.userId}')
+$CLIENT_VERSION = [Environment]::GetEnvironmentVariable('${td.clientVersion}')
+$SELF_HOST = [Environment]::GetEnvironmentVariable('${Wq}')
+$SELF_HOST_URL = [Environment]::GetEnvironmentVariable('${Vq}')
+$SELF_HOST_TOKEN = [Environment]::GetEnvironmentVariable('${qq}')
+if ($null -eq $USER_ID) { $USER_ID = '' }
+if ($null -eq $CLIENT_VERSION) { $CLIENT_VERSION = '' }
+$NO_LICENSE = ${Vre(pit)}
+$NO_LICENSE_UPSELL = ${Vre(mit)}
+$LICENSE_INVALID = ${Vre(hit)}
+$RELAY_FAILED_FALLBACK = ${Vre(git)}
+
+function Die($message, $code = 2) {
+ [Console]::Error.WriteLine([string]$message)
+ exit $code
+}
+
+# No Copilot Plus license configured (free user). Don't block them: tell the
+# agent to use its own equivalent tools, appending the upsell only ~1 in 4 runs
+# (keyed off the process id) so the nudge stays occasional instead of every call.
+function NoLicense {
+ $msg = $NO_LICENSE
+ if (($PID % 4) -eq 0) { $msg = "$msg $NO_LICENSE_UPSELL" }
+ Die $msg
+}
+
+function RequireRelay {
+ if (-not $KEY -or -not $BASE) { NoLicense }
+}
+
+# Invoke-Relay endpoint body -> prints the response body, mapping HTTP status.
+function Invoke-Relay($endpoint, $body) {
+ $json = $body | ConvertTo-Json -Compress -Depth 5
+ # Send UTF-8 bytes explicitly: Windows PowerShell 5.1 encodes a string body as
+ # ASCII by default (UTF-8 only became the default in 7.4), which would corrupt
+ # non-ASCII queries/URLs. A byte[] body is sent verbatim, matching curl.
+ $bytes = [System.Text.Encoding]::UTF8.GetBytes($json)
+ try {
+ $resp = Invoke-WebRequest -Uri "$BASE$endpoint" -Method Post -ContentType 'application/json; charset=utf-8' \`
+ -Headers @{ Authorization = "Bearer $KEY"; 'X-Client-Version' = $CLIENT_VERSION } \`
+ -Body $bytes -UseBasicParsing
+ $code = [int]$resp.StatusCode
+ $out = $resp.Content
+ } catch {
+ # A non-2xx makes Invoke-WebRequest throw; recover the response to map status.
+ $r = $null
+ try { $r = $_.Exception.Response } catch {}
+ if (-not $r) { Die "Could not reach the Copilot relay. $RELAY_FAILED_FALLBACK" 1 }
+ $code = [int]$r.StatusCode
+ $reader = New-Object System.IO.StreamReader($r.GetResponseStream())
+ $out = $reader.ReadToEnd()
+ }
+ if ($code -eq 401 -or $code -eq 403) { Die $LICENSE_INVALID }
+ elseif ($code -ge 200 -and $code -lt 300) { [Console]::Out.WriteLine($out) }
+ else { Die "Request failed (HTTP $code): $out. $RELAY_FAILED_FALLBACK" 1 }
+}
+`}function cIe(t){return`@echo off
+setlocal
+set "PS=%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
+if not exist "%PS%" set "PS=powershell"
+"%PS%" -NoProfile -ExecutionPolicy Bypass -File "%~dp0${t}" %*
+exit /b %errorlevel%
+`}function vit(t){let e="/absolute/path/to/this/skill/directory";return`## How to run
+
+Find the absolute path to this SKILL.md file on disk, then run the script next
+to it that matches the operating system. No extra runtime is needed — \`sh\`
+(macOS/Linux) and \`cmd\`/PowerShell (Windows) are always present.
+
+On macOS or Linux:
+
+\`\`\`bash
+sh "${e}/${t.shFile}" "${t.argPlaceholder}"
+\`\`\`
+
+On Windows, run the \`.cmd\` wrapper. In PowerShell you must prefix it with the
+call operator \`&\` (PowerShell treats a quoted path on its own as a string and
+won't run it); from cmd, run the quoted path without the \`&\`:
+
+\`\`\`powershell
+& "${e}/${t.cmdFile}" "${t.argPlaceholder}"
+\`\`\`
+${t.extraNote?`
+${t.extraNote}
+`:""}
+Both print the result to stdout.`}function Kre(t){let[e,n]=t.arg,r=t.scriptFile.replace(/\.sh$/,".cmd"),o=t.scriptFile.replace(/\.sh$/,".ps1"),i=6,s=t.selfHostMode==="search"?`if [ "$SELF_HOST" = "1" ]; then
+ [ -n "$SELF_HOST_URL" ] && [ -n "$SELF_HOST_TOKEN" ] || die "Copilot self-host web search is unavailable for this session." 1
+ HTTP_RESPONSE=$(printf '%s' "$ARG" | curl --noproxy '*' -sS -X POST "$SELF_HOST_URL" \\
+ -H "Authorization: Bearer $SELF_HOST_TOKEN" \\
+ -H "Content-Type: text/plain; charset=utf-8" \\
+ --data-binary @- -w '\\n%{http_code}') || die "Copilot could not complete self-host web search." 1
+ HTTP_STATUS=$(printf '%s\\n' "$HTTP_RESPONSE" | tail -n 1)
+ RESPONSE_BODY=$(printf '%s\\n' "$HTTP_RESPONSE" | sed '$d')
+ case "$HTTP_STATUS" in
+ 2??) printf '%s\\n' "$RESPONSE_BODY"; exit 0 ;;
+ *) [ -n "$RESPONSE_BODY" ] && printf '%s\\n' "$RESPONSE_BODY" >&2; exit 1 ;;
+ esac
+fi
+`:t.selfHostMode==="deny"?`if [ "$SELF_HOST" = "1" ]; then
+ die "Self-Host mode does not support fetching a specific page. Do not use a native web-fetch tool; use copilot-web-search when search results are sufficient, otherwise tell the user page fetching is unavailable." 1
+fi
+`:"",a=t.selfHostMode==="search"?`if ($SELF_HOST -eq '1') {
+ if (-not $SELF_HOST_URL -or -not $SELF_HOST_TOKEN) { Die 'Copilot self-host web search is unavailable for this session.' 1 }
+ try {
+ $response = Invoke-WebRequest -UseBasicParsing -Uri $SELF_HOST_URL -Method POST -Headers @{ Authorization = "Bearer $SELF_HOST_TOKEN" } -ContentType 'text/plain; charset=utf-8' -Body ([Text.Encoding]::UTF8.GetBytes($ARG))
+ } catch {
+ if ($_.ErrorDetails.Message) { [Console]::Error.WriteLine($_.ErrorDetails.Message) }
+ Die 'Copilot could not complete self-host web search.' 1
+ }
+ [Console]::Out.WriteLine($response.Content)
+ exit 0
+}
+`:t.selfHostMode==="deny"?`if ($SELF_HOST -eq '1') {
+ Die 'Self-Host mode does not support fetching a specific page. Do not use a native web-fetch tool; use copilot-web-search when search results are sufficient, otherwise tell the user page fetching is unavailable.' 1
+}
+`:"";return{name:t.name,version:i,enabledAgents:["claude","codex","opencode"],skillMd:`---
+name: ${t.name}
+description: ${t.description}
+license: ${t.license??"Copilot Plus"}
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${i}"
+---
+
+# ${t.heading}
+
+${t.intro}
+
+${vit({shFile:t.scriptFile,cmdFile:r,argPlaceholder:n})}
+
+${bit}
+${t.extraInstructions?`
+${t.extraInstructions}
+`:""}
+`,files:[{path:t.scriptFile,content:`${yit()}
+ARG="$*"
+[ -n "$ARG" ] || die "Usage: sh ${t.scriptFile} <${e}>" 1
+${s}require_relay
+relay "${t.endpoint}" "{\\"${e}\\":\\"$(json_escape "$ARG")\\",\\"user_id\\":\\"$(json_escape "$USER_ID")\\"}"
+`},{path:r,content:cIe(o)},{path:o,content:`${wit()}
+$ARG = ($args -join ' ')
+if (-not $ARG) { Die "Usage: ${o} <${e}>" 1 }
+${a}RequireRelay
+Invoke-Relay "${t.endpoint}" @{ ${e} = $ARG; user_id = $USER_ID }
+`}]}}function BF(t){let e=!t.search&&!t.documents?UF:[...t.documents?UF.filter(n=>n!==_it):UF,...t.search?[Cit]:[],...t.documents?[kit]:[]];return{seed:e,prune:_h.filter(n=>!e.includes(n)).map(n=>n.name)}}var qre,td,$O,FO,Wq,Vq,qq,pit,mit,hit,git,bit,E0n,M0n,ait,_it,O0n,R0n,lit,rv,cit,uit,lIe,N0n,UF,dit,fit,xit,Sit,L0n,D0n,$0n,F0n,Cit,kit,_h,uI=b(()=>{DO();rit();sit();qre=[{name:"symposium-publish"}],td={licenseKey:"COPILOT_PLUS_LICENSE_KEY",baseUrl:"COPILOT_API_BASE_URL",userId:"COPILOT_USER_ID",clientVersion:"COPILOT_CLIENT_VERSION"},$O="COPILOT_MIYO_SEARCH_SCOPE",FO="COPILOT_MIYO_SEARCH_FOLDER",Wq="COPILOT_SELF_HOST_WEB_SEARCH",Vq="COPILOT_SELF_HOST_WEB_SEARCH_URL",qq="COPILOT_SELF_HOST_WEB_SEARCH_TOKEN",pit="Copilot Plus is not active, so this skill is unavailable — do not retry it. Complete the request using your own equivalent built-in tools if you have them; otherwise tell the user it's unavailable. Never refuse or tell the user they are blocked.",mit="You may also add one short, friendly note that Copilot Plus offers higher-quality web, PDF, YouTube, and X tools — get a license key at https://www.obsidiancopilot.com to access them.",hit="Your Copilot Plus license is inactive or expired, so this skill is unavailable — do not retry it. Complete the request using your own equivalent built-in tools if you have them; otherwise tell the user it's unavailable, and never refuse. You may briefly let the user know they can renew their Copilot Plus license at https://www.obsidiancopilot.com to restore the higher-quality versions of these tools.",git="If you have your own equivalent built-in tool for this, use it to complete the request; otherwise tell the user it could not be completed.";bit=`## If Copilot Plus is not active
+
+If the script exits saying Copilot Plus is unavailable, do NOT retry it. Do what
+the message says: fall back to your own equivalent built-in capability to handle
+the request when you have one (otherwise tell the user it's unavailable) — never
+refuse or block the user. Only mention upgrading or renewing Copilot Plus when
+the script's message explicitly invites it, and keep any such note short and
+friendly.`;E0n=Kre({name:"copilot-web-search",description:"Search the web for current information using Copilot Plus or the configured Self-Host search provider. Use when the user asks to search online, look something up on the internet, or needs up-to-date facts beyond the vault. Prefer reading the vault for anything about the user's own notes.",heading:"Copilot web search",intro:"Search the web through Copilot and return results for the user's query.",endpoint:"/websearch",arg:["query",""],scriptFile:"web-search.sh",license:"Copilot Plus or Self-Host",selfHostMode:"search"}),M0n=Kre({name:"copilot-web-fetch",description:"Fetch and read the full contents of a specific web page (URL) as clean Markdown using Copilot Plus. Use when the user shares a link or asks you to open, read, or summarize a particular page — not for an open-ended web search. Requires an active Copilot Plus license; without it, use your own fetch tool instead.",heading:"Copilot web fetch",intro:"Fetch a web page's contents as Markdown through Copilot Plus.",endpoint:"/url4llm",arg:["url",""],scriptFile:"web-fetch.sh",selfHostMode:"deny",extraInstructions:`## Self-Host mode
+
+Self-Host search providers do not provide a common full-page fetch contract. If
+the script reports that Self-Host mode is active, never use an agent-native web
+fetch tool. Use \`copilot-web-search\` when search results can answer the request;
+otherwise tell the user that fetching the page is unavailable.`}),ait=6,_it={name:"copilot-read-pdf",version:ait,enabledAgents:["claude","codex","opencode"],skillMd:`---
+name: copilot-read-pdf
+description: Extract the full text of a PDF as Markdown using Copilot Plus. Use when the user wants to read, summarize, or quote a PDF file (in the vault or an absolute path). Requires an active Copilot Plus license.
+license: Copilot Plus
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${ait}"
+---
+
+# Copilot read PDF
+
+Convert a PDF file to Markdown text through Copilot Plus so you can read,
+summarize, or quote it.
+
+${vit({shFile:"read-pdf.sh",cmdFile:"read-pdf.cmd",argPlaceholder:"",extraNote:"Pass an absolute path to the PDF file."})}
+
+${bit}
+`,files:[{path:"read-pdf.sh",content:`${yit()}
+require_relay
+FILE=\${1:-}
+[ -n "$FILE" ] || die "Usage: sh read-pdf.sh " 1
+[ -f "$FILE" ] && [ -r "$FILE" ] || die "Could not read file: $FILE" 1
+
+# Mirror brevilabsClient.ts pdf4llm: JSON body with base64-encoded pdf field.
+PDF=$(base64 < "$FILE" | tr -d '\\n')
+relay "/pdf4llm" "{\\"pdf\\":\\"$PDF\\",\\"user_id\\":\\"$(json_escape "$USER_ID")\\"}"
+`},{path:"read-pdf.cmd",content:cIe("read-pdf.ps1")},{path:"read-pdf.ps1",content:`${wit()}
+RequireRelay
+$FILE = if ($args.Count -ge 1) { $args[0] } else { '' }
+if (-not $FILE) { Die "Usage: read-pdf.ps1 " 1 }
+if (-not (Test-Path -LiteralPath $FILE -PathType Leaf)) { Die "Could not read file: $FILE" 1 }
+try {
+ # Mirror brevilabsClient.ts pdf4llm: JSON body with base64-encoded pdf field.
+ $PDF = [System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes($FILE))
+} catch {
+ Die "Could not read file: $FILE" 1
+}
+Invoke-Relay "/pdf4llm" @{ pdf = $PDF; user_id = $USER_ID }
+`}]},O0n=Kre({name:"copilot-youtube-transcript",description:"Fetch the transcript of a YouTube video using Copilot Plus. Use when the user shares a YouTube URL and wants its contents, a summary, or quotes. Requires an active Copilot Plus license.",heading:"Copilot YouTube transcript",intro:"Fetch a YouTube video's transcript through Copilot Plus.",endpoint:"/youtube4llm",arg:["url",""],scriptFile:"youtube-transcript.sh"}),R0n=Kre({name:"copilot-fetch-x",description:"Fetch the content of an X (Twitter) post using Copilot Plus. Use when the user shares an x.com or twitter.com URL and wants its text or context. Requires an active Copilot Plus license.",heading:"Copilot fetch X",intro:"Fetch the content of an X (Twitter) post through Copilot Plus.",endpoint:"/twitter4llm",arg:["url",""],scriptFile:"fetch-x.sh"}),lit=5,rv="openartifacts-publish",cit="OPENARTIFACTS_API_HOST",uit="research-memo",lIe="Publishing to OpenArtifacts needs a Copilot Plus license key. Add it in Copilot Settings and try again.",N0n={name:"openartifacts-publish",version:lit,enabledAgents:["claude","codex","opencode"],skillMd:`---
+name: openartifacts-publish
+description: Publish an existing Markdown note or local HTML file, update a published Markdown note, or withdraw an OpenArtifacts page. Use when the user asks to publish, share, update, delete, remove, or withdraw an OpenArtifacts page.
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${lit}"
+---
+
+# Publish Markdown or HTML to OpenArtifacts
+
+Copilot supplies everything this skill needs through the environment:
+\`$${lI}\` is the vault root, and \`${td.licenseKey}\`
+is the credential the bundled wrapper sends. Do not read Copilot settings or credential
+files, print the key, install anything, or run Node, npm, npx, or the Obsidian CLI.
+
+If \`${td.licenseKey}\` is unset or empty, stop before generating anything and tell
+the user: ${lIe}
+
+## 1. Prepare the page
+
+### Existing Markdown note
+
+Read one existing Markdown source note. Treat YAML frontmatter as metadata, never as page
+content. Note its \`openartifacts\` property, or on older notes the \`symposium\` property:
+an \`https://…/d/\` value means the note is already published and this task updates
+that page; pass that \`docId\` to the wrapper. Compare document ids, not urls: an older
+\`symposium.site\` link and an \`openartifacts.site\` link with the same id are the same page.
+If either property holds any other value, or the two name different ids, stop and ask the
+user before touching them.
+
+Write complete UTF-8 HTML (at most \`${SC}\` bytes) to a new file
+under \`$${lI}/${zF}/\`, creating
+the directory if needed. Preserve the note's content; render Obsidian-specific syntax such
+as wikilinks, callouts, embeds, Mermaid, and Bases into static HTML or SVG. CSS, scripts,
+and external resources are allowed and are published unchanged.
+
+Use the note's file name without \`.md\` as its page title. Convert the filename-derived title to
+title case while preserving recognizable acronyms and proper names. Put that title in both the HTML
+\`\` and a visible \`\` above the rendered note body. If the user explicitly asks for no
+title, do not add the \`\`. Keep the HTML \`\` as browser metadata, and preserve any
+authored opening heading as note content. Otherwise, if the rendered note body already starts with an
+equivalent \`\` containing the same visible title text, use that heading as the page-body title
+and do not add another heading. Preserve all remaining note content below it, and do not edit the
+source Markdown to add the heading. Keep normal text wrapping on the \`\` so long titles wrap
+naturally on narrow screens. Never truncate the title, hide its overflow, or apply single-line or
+ellipsis styling. The review and publish steps must use this same complete HTML file so its title
+and body match in preview and after publishing.
+
+Themes are optional. For a named theme, check
+\`$${lI}/${nit}/.md\`, then
+\`themes/.md\` next to this skill. Check each path independently. If neither
+exists, continue with readable defaults; a missing theme must never block publishing.
+The bundled \`${uit}\` is an optional example.
+
+### Existing HTML file
+
+For an existing local \`.html\` file, confirm that it exists and is at most
+\`${SC}\` bytes. Pass that original HTML file path directly to
+the wrapper. Treat the file as the complete page: do not convert it to Markdown, and do
+not render, rewrite, or copy it into \`${zF}/\`. Use its file
+name without \`.html\` as the wrapper title without changing the document's own title or
+visible content. Skip the Markdown frontmatter, generated-title, and theme instructions
+above. Check the HTML, including inline CSS, for every reference to a local file. Examples
+include relative \`src\`, \`href\`, \`srcset\`, \`poster\`, or CSS \`url(...)\` references.
+If any exist, keep the file unchanged; name each reference in the review message and say it
+will not load on the published page because only the HTML file is uploaded. This warning
+does not block publication: let the user make the file self-contained or approve publishing
+anyway. The original file remains user-owned; never delete the original HTML file.
+
+## 2. Let the user review
+
+Tell the user the absolute path of the HTML file and that, subject to any relative-asset
+warning above, opening it in a browser shows the page as it will be uploaded; OpenArtifacts
+adds its own header and footer bylines when it serves the page. Then end your turn.
+
+Never publish in the same turn that generated the HTML. Publish only when a later
+message from the user clearly asks to publish this page. Treat anything else as feedback
+(revise the generated Markdown handoff and repeat this step; for existing HTML, relay the
+feedback and wait for the user to update the file, then repeat steps 1 and 2 before accepting
+publication approval) or as a cancellation. When unsure whether a message is an approval,
+ask once. Never simulate the user's approval.
+
+## 3. Publish
+
+Run the wrapper next to this SKILL.md with the HTML file, its filename-derived title, and
+the existing \`docId\` when updating a Markdown note. On macOS or Linux, the Markdown path
+uses its generated handoff:
+
+\`\`\`bash
+sh "/absolute/path/to/this/skill/directory/${rv}.sh" publish "$${lI}/${zF}/unique.html" "Note title" [docId]
+\`\`\`
+
+An existing HTML file uses its original path directly:
+
+\`\`\`bash
+sh "/absolute/path/to/this/skill/directory/${rv}.sh" publish "/absolute/path/to/page.html" "Page title"
+\`\`\`
+
+On Windows, use the \`.cmd\` wrapper (prefix with \`&\` in PowerShell):
+
+\`\`\`powershell
+& "/absolute/path/to/this/skill/directory/${rv}.cmd" publish "$env:${lI}/${zF}/unique.html" "Note title" [docId]
+\`\`\`
+
+For an existing HTML file on Windows, replace the handoff path with the original absolute
+\`.html\` path and omit the \`docId\`.
+
+Success returns the same server receipt, \`{"docId", "url", "version"}\`, for either
+input. For a Markdown note, set its \`openartifacts\` frontmatter property to that \`url\`
+(create the frontmatter block if needed, keep every other property), remove a \`symposium\`
+property whose link has the same document id, and delete the generated HTML file from
+\`${zF}/\`. For an existing HTML file, leave the source file
+unchanged. Then report the URL. Publishing the same Markdown note again updates the same page.
+
+On failure the wrapper prints the HTTP status and the server's message to stderr and
+exits 1. Report that message verbatim. Do not retry on your own, invent a cause, strip
+styling, or publish another way. For a 401, the license key was refused or the plan
+cannot publish; point the user at Copilot Settings. For \`not_found\` on an update, stop;
+do not create a replacement page unless the user explicitly asks.
+
+## 4. Withdraw
+
+For delete, remove, or withdraw requests, take the \`docId\` from an OpenArtifacts link the
+user supplies or the receipt URL reported earlier. Otherwise, read it with the same rules as
+step 1: \`openartifacts\` first, \`symposium\` on older notes, compared by document id, and
+stop to ask on any other value or on two properties naming different ids. If there is no link
+or property, say nothing is published. Otherwise tell the user the link will stop working and
+that copies people already saved cannot be recalled, then end your turn. On a clear yes, run
+the wrapper with \`unshare \`, remove each \`openartifacts\` or \`symposium\` property
+only when that property's own link has the same document id, and report that the page is gone.
+Never tell the user to delete the page at its public URL.
+`,files:[{path:`themes/${uit}.md`,content:oit},{path:`${rv}.sh`,content:String.raw`#!/bin/sh
+# Publish one HTML file to OpenArtifacts over HTTPS with the license key Copilot
+# supplies in the environment. Needs only sh, curl, and awk.
+usage() {
+ printf '%s\n' "Usage: sh ${rv}.sh publish [docId]" >&2
+ printf '%s\n' " sh ${rv}.sh unshare " >&2
+ exit 1
+}
+
+KEY=$${td.licenseKey}
+[ -n "$KEY" ] || {
+ printf '%s\n' "${lIe}" >&2
+ exit 1
+}
+API_HOST=$${cit}
+[ -n "$API_HOST" ] || API_HOST="${Hq}"
+API_HOST=$(printf '%s' "$API_HOST" | sed 's,/*$,,')
+
+COMMAND=$1
+DOC_ID=
+case "$COMMAND" in
+ publish)
+ [ "$#" -eq 3 ] || [ "$#" -eq 4 ] || usage
+ HTML_FILE=$2
+ TITLE=$3
+ [ "$#" -eq 4 ] && DOC_ID=$4
+ [ -f "$HTML_FILE" ] || {
+ printf '%s\n' "HTML file not found: $HTML_FILE" >&2
+ exit 1
+ }
+ ;;
+ unshare)
+ [ "$#" -eq 2 ] || usage
+ DOC_ID=$2
+ ;;
+ *)
+ usage
+ ;;
+esac
+if [ -n "$DOC_ID" ] && ! printf '%s' "$DOC_ID" | grep -Eq '^[0-9abcdefghjkmnpqrstvwxyz]{16}$'; then
+ printf '%s\n' "Invalid OpenArtifacts document id: $DOC_ID" >&2
+ exit 1
+fi
+
+# stdin -> one JSON string literal. Bytes pass through untouched except the escapes
+# JSON requires: backslash, quote, tab, CR, LF, and every other control character as
+# \u00XX. Only NUL is dropped (awk cannot carry it, and HTML never contains it). A
+# sentinel byte keeps a trailing newline in the file from being lost. Backslashes are
+# joined in rather than substituted because awk implementations disagree on
+# backslashes inside gsub replacements.
+json_string() {
+ { cat; printf 'x'; } | LC_ALL=C tr -d '\000' | LC_ALL=C awk '
+ BEGIN { ORS = ""; bs = sprintf("%c", 92); printf "\"" }
+ NR > 1 { printf "%s\\n", prev }
+ {
+ n = split($0, parts, /\\/)
+ line = parts[1]
+ for (i = 2; i <= n; i++) line = line bs bs parts[i]
+ gsub(/"/, "\\\"", line)
+ gsub(/\t/, "\\t", line)
+ gsub(/\r/, "\\r", line)
+ for (c = 1; c < 32; c++) {
+ if (c != 9 && c != 10 && c != 13) gsub(sprintf("%c", c), sprintf("\\u%04x", c), line)
+ }
+ prev = line
+ }
+ END { printf "%s\"", substr(prev, 1, length(prev) - 1) }
+ '
+}
+
+HEADERS=$(mktemp) || exit 1
+BODY=$(mktemp) || exit 1
+RESPONSE=$(mktemp) || exit 1
+trap 'rm -f "$HEADERS" "$BODY" "$RESPONSE"' EXIT
+printf 'Authorization: Bearer %s\n' "$KEY" > "$HEADERS"
+
+if [ "$COMMAND" = unshare ]; then
+ STATUS=$(curl -sS -o "$RESPONSE" -w '%{http_code}' -X DELETE -H "@$HEADERS" "$API_HOST/api/v1/docs/$DOC_ID")
+ CURL_STATUS=$?
+else
+ {
+ printf '{"title":'
+ printf '%s' "$TITLE" | json_string
+ printf ',"html":'
+ json_string < "$HTML_FILE"
+ printf '}'
+ } > "$BODY"
+ if [ -n "$DOC_ID" ]; then
+ METHOD=PUT
+ URL="$API_HOST/api/v1/docs/$DOC_ID"
+ else
+ METHOD=POST
+ URL="$API_HOST/api/v1/docs"
+ fi
+ STATUS=$(curl -sS -o "$RESPONSE" -w '%{http_code}' -X "$METHOD" -H "@$HEADERS" -H 'Content-Type: application/json; charset=utf-8' --data-binary "@$BODY" "$URL")
+ CURL_STATUS=$?
+fi
+
+if [ "$CURL_STATUS" -ne 0 ]; then
+ printf '%s\n' "Could not reach OpenArtifacts at $API_HOST." >&2
+ exit 1
+fi
+# The API answers a structured not_found when the page is already gone, which is the
+# outcome asked for. Any other 404 is an error.
+if [ "$COMMAND" = unshare ] && [ "$STATUS" = 404 ] && grep -q '"not_found"' "$RESPONSE"; then
+ STATUS=204
+fi
+case "$STATUS" in
+ 2??)
+ if [ "$COMMAND" = unshare ]; then
+ printf '{"docId":"%s","status":"unshared"}\n' "$DOC_ID"
+ else
+ cat "$RESPONSE"
+ printf '\n'
+ fi
+ exit 0
+ ;;
+ *)
+ printf '%s\n' "OpenArtifacts returned HTTP $STATUS" >&2
+ cat "$RESPONSE" >&2
+ printf '\n' >&2
+ exit 1
+ ;;
+esac
+`},{path:`${rv}.cmd`,content:cIe(`${rv}.ps1`)},{path:`${rv}.ps1`,content:String.raw`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
+$OutputEncoding = [System.Text.Encoding]::UTF8
+# Publish one HTML file to OpenArtifacts over HTTPS with the license key Copilot
+# supplies in the environment.
+
+function Show-Usage {
+ [Console]::Error.WriteLine('Usage: ${rv}.ps1 publish [docId]')
+ [Console]::Error.WriteLine(' ${rv}.ps1 unshare ')
+ exit 1
+}
+
+$KEY = [Environment]::GetEnvironmentVariable('${td.licenseKey}')
+if (-not $KEY) {
+ [Console]::Error.WriteLine('${lIe}')
+ exit 1
+}
+$API_HOST = [Environment]::GetEnvironmentVariable('${cit}')
+if (-not $API_HOST) { $API_HOST = '${Hq}' }
+$API_HOST = $API_HOST.TrimEnd('/')
+
+$COMMAND = if ($args.Count -ge 1) { [string]$args[0] } else { '' }
+$DOC_ID = ''
+switch ($COMMAND) {
+ 'publish' {
+ if ($args.Count -ne 3 -and $args.Count -ne 4) { Show-Usage }
+ $HTML_FILE = [string]$args[1]
+ $TITLE = [string]$args[2]
+ if ($args.Count -eq 4) { $DOC_ID = [string]$args[3] }
+ if (-not (Test-Path -LiteralPath $HTML_FILE -PathType Leaf)) {
+ [Console]::Error.WriteLine("HTML file not found: $HTML_FILE")
+ exit 1
+ }
+ }
+ 'unshare' {
+ if ($args.Count -ne 2) { Show-Usage }
+ $DOC_ID = [string]$args[1]
+ }
+ default { Show-Usage }
+}
+if ($DOC_ID -and $DOC_ID -notmatch '^[0-9abcdefghjkmnpqrstvwxyz]{16}$') {
+ [Console]::Error.WriteLine("Invalid OpenArtifacts document id: $DOC_ID")
+ exit 1
+}
+
+$headers = @{ Authorization = "Bearer $KEY" }
+try {
+ if ($COMMAND -eq 'unshare') {
+ $null = Invoke-WebRequest -UseBasicParsing -Method Delete -Uri "$API_HOST/api/v1/docs/$DOC_ID" -Headers $headers
+ [Console]::Out.WriteLine('{"docId":"' + $DOC_ID + '","status":"unshared"}')
+ } else {
+ $html = [System.IO.File]::ReadAllText($HTML_FILE, (New-Object System.Text.UTF8Encoding($false)))
+ $body = @{ title = $TITLE; html = $html } | ConvertTo-Json -Compress -Depth 2
+ $bytes = [System.Text.Encoding]::UTF8.GetBytes($body)
+ $method = if ($DOC_ID) { 'Put' } else { 'Post' }
+ $uri = if ($DOC_ID) { "$API_HOST/api/v1/docs/$DOC_ID" } else { "$API_HOST/api/v1/docs" }
+ $response = Invoke-WebRequest -UseBasicParsing -Method $method -Uri $uri -Headers $headers -ContentType 'application/json; charset=utf-8' -Body $bytes
+ [Console]::Out.WriteLine([string]$response.Content)
+ }
+} catch {
+ $status = $null
+ $detail = ''
+ if ($_.Exception.Response) {
+ try { $status = [int]$_.Exception.Response.StatusCode } catch { $status = $null }
+ try {
+ $reader = New-Object System.IO.StreamReader($_.Exception.Response.GetResponseStream())
+ $detail = $reader.ReadToEnd()
+ } catch { $detail = '' }
+ }
+ if (-not $detail -and $_.ErrorDetails) { $detail = [string]$_.ErrorDetails.Message }
+ if ($COMMAND -eq 'unshare' -and $status -eq 404 -and $detail -match '"not_found"') {
+ # The API's structured not_found means the page is already gone, which is the outcome asked for.
+ [Console]::Out.WriteLine('{"docId":"' + $DOC_ID + '","status":"unshared"}')
+ exit 0
+ }
+ if ($status) {
+ [Console]::Error.WriteLine("OpenArtifacts returned HTTP $status")
+ if ($detail) { [Console]::Error.WriteLine($detail) }
+ } elseif ($detail) {
+ [Console]::Error.WriteLine($detail)
+ } else {
+ [Console]::Error.WriteLine("Could not reach OpenArtifacts at $API_HOST. " + $_.Exception.Message)
+ }
+ exit 1
+}
+exit 0
+`}]},UF=[E0n,M0n,_it,O0n,R0n,N0n,...iit],dit=3,fit=1,xit=`# Absolute install path first (Obsidian shells often miss Miyo's bin on PATH).
+if [ -x "$HOME/.miyo/bin/miyo" ]; then
+ MIYO="$HOME/.miyo/bin/miyo"
+elif command -v miyo >/dev/null 2>&1; then
+ MIYO=miyo
+else
+ die "Miyo CLI not found (no ~/.miyo/bin/miyo and 'miyo' not on PATH). The Miyo desktop app is not installed — tell the user to install Miyo, then retry. Do not retry in a loop." 3
+fi`,Sit=`set "MIYO=%LOCALAPPDATA%\\Miyo\\bin\\miyo\\miyo.exe"
+if not exist "%MIYO%" (
+ set "MIYO="
+ where miyo >nul 2>&1 && set "MIYO=miyo"
+)
+if not defined MIYO (
+ echo Miyo CLI not found. The Miyo desktop app is not installed - tell the user to install Miyo, then retry. Do not retry in a loop. 1>&2
+ exit /b 3
+)`,L0n=`#!/bin/sh
+# Semantic vault search via the local Miyo CLI; prints Miyo's JSON to stdout.
+# Resolves the miyo binary so the agent never has to deal with PATH.
+die() {
+ printf '%s\\n' "$1" >&2
+ exit "\${2:-2}"
+}
+
+QUERY="$*"
+[ -n "$QUERY" ] || die "Usage: sh miyo-search.sh " 1
+
+${xit}
+
+# Default closed: only the explicit Unrestricted value may omit Miyo's exact
+# pre-retrieval folder boundary.
+# https://github.com/Brevilabs/obsidian-copilot-private/issues/121
+case "\${${$O}:-current}" in
+ unrestricted)
+ OUT=$("$MIYO" search "$QUERY" -n 10 --json 2>&1) || die "Miyo search failed — the Miyo app may not be running. Tell the user to open Miyo, then continue without vault search if they can't. Details: $OUT" 1
+ ;;
+ current)
+ [ -n "\${${FO}:-}" ] || die "Miyo search could not enforce Current vault scope because the active vault identity is missing. Do not retry or run an unrestricted search." 4
+ OUT=$("$MIYO" search "$QUERY" -n 10 --folder "$${FO}" --json 2>&1) || die "Miyo search could not enforce Current vault scope. Update Miyo, open it, and retry. Do not run an unrestricted search. Details: $OUT" 1
+ ;;
+ *)
+ die "Miyo search received an invalid Search scope. Do not retry or run an unrestricted search." 4
+ ;;
+esac
+printf '%s\\n' "$OUT"
+`,D0n=`@echo off
+setlocal enableextensions
+rem Semantic vault search via the local Miyo CLI; prints Miyo's JSON to stdout.
+if "%~1"=="" (
+ echo Usage: miyo-search.cmd "query" 1>&2
+ exit /b 1
+)
+${Sit}
+rem Default closed: only the explicit Unrestricted value may omit Miyo's exact
+rem pre-retrieval folder boundary.
+rem https://github.com/Brevilabs/obsidian-copilot-private/issues/121
+if /I "%${$O}%"=="unrestricted" (
+ "%MIYO%" search %* -n 10 --json
+ if errorlevel 1 exit /b 1
+ exit /b 0
+)
+if not "%${$O}%"=="" if /I not "%${$O}%"=="current" (
+ echo Miyo search received an invalid Search scope. Do not retry or run an unrestricted search. 1>&2
+ exit /b 4
+)
+if not defined ${FO} (
+ echo Miyo search could not enforce Current vault scope because the active vault identity is missing. Do not retry or run an unrestricted search. 1>&2
+ exit /b 4
+)
+"%MIYO%" search %* -n 10 --folder "%${FO}%" --json
+if errorlevel 1 (
+ echo Miyo search could not enforce Current vault scope. Update Miyo, open it, and retry. Do not run an unrestricted search. 1>&2
+ exit /b 1
+)
+`,$0n=`#!/bin/sh
+# Parse one local PDF or EPUB through the Miyo CLI and print Markdown/text.
+die() {
+ printf '%s\\n' "$1" >&2
+ exit "\${2:-2}"
+}
+
+FILE="$1"
+[ -n "$FILE" ] || die "Usage: sh miyo-parse.sh " 1
+
+${xit}
+
+"$MIYO" parse "$FILE"
+`,F0n=`@echo off
+setlocal enableextensions
+rem Parse one local PDF or EPUB through the Miyo CLI and print Markdown/text.
+if "%~1"=="" (
+ echo Usage: miyo-parse.cmd "file" 1>&2
+ exit /b 1
+)
+${Sit}
+"%MIYO%" parse "%~1"
+`,Cit={name:"miyo-search",version:dit,enabledAgents:["claude","codex","opencode"],skillMd:`---
+name: miyo-search
+description: Semantic (meaning-based) search over the user's Obsidian vault via the local Miyo app. For any vault-search intent, use it when builtin grep search is too slow or doesn't surface enough relevant notes, or when the user explicitly asks for Miyo search. Needs the Miyo desktop app installed and running.
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${dit}"
+---
+
+# Miyo vault search
+
+Search the user's indexed Obsidian vault through Miyo, the user's own companion
+app for semantic search over their notes. It finds relevant notes by meaning
+(not just filename). Searches go only to the user's own Miyo service — the local
+app by default, or the remote Miyo server they configured in settings — never a
+third-party API, and no API key.
+
+When to use it: for any vault-search intent, reach for Miyo when your builtin
+\`grep\` search is too slow or doesn't surface enough relevant notes, or when
+the user explicitly asks for Miyo search.
+
+## How to run
+
+Find the absolute path to this SKILL.md file on disk, then run the script next
+to it that matches the operating system, passing the user's full question as the
+query. No extra runtime is needed — \`sh\` (macOS/Linux) and \`cmd\` (Windows) are
+always present.
+
+On macOS or Linux:
+
+\`\`\`bash
+sh "/absolute/path/to/this/skill/directory/miyo-search.sh" ""
+\`\`\`
+
+On Windows, run the \`.cmd\` wrapper. In PowerShell you must prefix it with the
+call operator \`&\` (PowerShell treats a quoted path on its own as a string and
+won't run it); from cmd, run the quoted path without the \`&\`:
+
+\`\`\`powershell
+& "/absolute/path/to/this/skill/directory/miyo-search.cmd" ""
+\`\`\`
+
+The script locates the Miyo binary itself and prints JSON to stdout — you do
+not need to know where Miyo is installed or which shell you are in. Run the
+script as your single search step; do not fall back to other search tools
+unless it reports that Miyo is unavailable. Read the JSON straight from stdout;
+do not pipe it through other tools (no \`jq\`, no \`|\`).
+
+Search scope comes from Copilot settings. **Current vault** applies Miyo's exact
+folder boundary for the active vault, including from Project chats.
+**Unrestricted** searches every folder registered with Miyo.
+
+## Reading the results
+
+The script prints \`{ "results": [ { "path": ..., "content": ... } ], "count": N }\`.
+Cite the \`path\` of any note you use so the user can open it.
+
+## If it reports a problem
+
+The script exits with a clear message when Miyo can't be used:
+
+- **Not installed** (CLI not found): the Miyo desktop app isn't installed on
+ this machine. Tell the user to install and open Miyo, then try again. Do not
+ retry in a loop.
+- **Not running** (search failed / can't reach the service): the app is
+ installed but not running. Tell the user to open Miyo, then continue without
+ vault search if they can't.
+`,files:[{path:"miyo-search.sh",content:L0n},{path:"miyo-search.cmd",content:D0n}]},kit={name:"miyo-parse",version:fit,enabledAgents:["claude","codex","opencode"],skillMd:`---
+name: miyo-parse
+description: Parse a local PDF or EPUB file into Markdown/text with the local Miyo CLI. Use this for document reading when Miyo is the selected Document Processor. The file can be anywhere on the filesystem and does not need to be indexed or copied into the vault.
+metadata:
+ copilot-enabled-agents: claude, codex, opencode
+ copilot-builtin-version: "${fit}"
+---
+
+# Parse a document locally with Miyo
+
+Use Miyo to extract Markdown/text from one PDF or EPUB. Parsing runs locally,
+works for files anywhere on the filesystem, and does not require the Miyo
+service to be running.
+
+## How to run
+
+Find the absolute path to this SKILL.md file, then run the adjacent wrapper
+with exactly one quoted file path.
+
+On macOS or Linux:
+
+\`\`\`bash
+sh "/absolute/path/to/this/skill/directory/miyo-parse.sh" "/absolute/path/to/document.pdf"
+\`\`\`
+
+On Windows PowerShell:
+
+\`\`\`powershell
+& "/absolute/path/to/this/skill/directory/miyo-parse.cmd" "C:\\absolute\\path\\to\\document.pdf"
+\`\`\`
+
+The wrapper prints the parsed Markdown/text to stdout. Use that output to
+answer the user's question.
+
+## If it reports a problem
+
+Report the error clearly and stop parsing that document. Never fall back to
+\`copilot-read-pdf\` or any other cloud document parser: selecting Miyo is an
+explicit local-processing choice. Do not retry in a loop.
+
+If it reports that the Miyo CLI is not installed, say that pointing Copilot at a
+remote Miyo server does not help here, and that the user's options are to
+install Miyo on this machine or switch Settings → Copilot → Miyo → Document
+Processor to Plus.
+`,files:[{path:"miyo-parse.sh",content:$0n},{path:"miyo-parse.cmd",content:F0n}]},_h=[...UF,Cit,kit]});function Sr(t){let e=`${t.name}|${t.provider}`;return t._backendId?`${t._backendId}:${e}`:e}var Kq=b(()=>{});function Kr(t,e){let n=`atom${++z0n}`,r={toString(){return(oa.env?oa.env.MODE:void 0)!=="production"&&this.debugLabel?n+":"+this.debugLabel:n}};return typeof t=="function"?r.read=t:(r.init=t,r.read=U0n,r.write=B0n),e&&(r.write=e),r}function U0n(t){return t(this)}function B0n(t,e,n){return e(this,typeof n=="function"?n(t(this)):n)}var oa,z0n,Tit,uIe,dIe,Zre,pIe,j0n,H0n,mIe,Iit,Gre,Eit,Pit,jF,fIe,W0n,V0n,Ait,dI,Mit,nm,Gq,Oit,hIe=b(()=>{oa={},z0n=0;Tit=(t,e)=>t.unstable_is?t.unstable_is(e):e===t,uIe=t=>"init"in t,dIe=t=>!!t.write,Zre=new WeakMap,pIe=t=>{var e;return mIe(t)&&!((e=Zre.get(t))!=null&&e[1])},j0n=(t,e)=>{let n=Zre.get(t);if(n)n[1]=!0,n[0].forEach(r=>r(e));else if((oa.env?oa.env.MODE:void 0)!=="production")throw new Error("[Bug] cancelable promise not found")},H0n=t=>{if(Zre.has(t))return;let e=[new Set,!1];Zre.set(t,e);let n=()=>{e[1]=!0};t.then(n,n),t.onCancel=r=>{e[0].add(r)}},mIe=t=>typeof t?.then=="function",Iit=t=>"v"in t||"e"in t,Gre=t=>{if("e"in t)throw t.e;if((oa.env?oa.env.MODE:void 0)!=="production"&&!("v"in t))throw new Error("[Bug] atom state is not initialized");return t.v},Eit=(t,e,n)=>{n.p.has(t)||(n.p.add(t),e.then(()=>{n.p.delete(t)},()=>{n.p.delete(t)}))},Pit=(t,e,n,r,o)=>{var i;if((oa.env?oa.env.MODE:void 0)!=="production"&&r===e)throw new Error("[Bug] atom cannot depend on itself");n.d.set(r,o.n),pIe(n.v)&&Eit(e,n.v,o),(i=o.m)==null||i.t.add(e),t&&W0n(t,r,e)},jF=()=>[new Map,new Map,new Set],fIe=(t,e,n)=>{t[0].has(e)||t[0].set(e,new Set),t[1].set(e,n)},W0n=(t,e,n)=>{let r=t[0].get(e);r&&r.add(n)},V0n=(t,e)=>t[0].get(e),Ait=(t,e)=>{t[2].add(e)},dI=t=>{let e,n=!1,r=o=>{try{o()}catch(i){n||(e=i,n=!0)}};for(;t[1].size||t[2].size;){t[0].clear();let o=new Set(t[1].values());t[1].clear();let i=new Set(t[2]);t[2].clear(),o.forEach(s=>{var a;return(a=s.m)==null?void 0:a.l.forEach(r)}),i.forEach(r)}if(n)throw e},Mit=(...[t,e,n,r])=>{let o;(oa.env?oa.env.MODE:void 0)!=="production"&&(o=new Set);let i=(v,_,S)=>{let k="v"in _,x=_.v,C=pIe(_.v)?_.v:null;if(mIe(S)){H0n(S);for(let T of _.d.keys())Eit(v,S,t(T));_.v=S,delete _.e}else _.v=S,delete _.e;(!k||!Object.is(x,_.v))&&(++_.n,C&&j0n(C,S))},s=(v,_,S)=>{var k;let x=t(_);if(Iit(x)&&(x.m&&!S?.has(_)||Array.from(x.d).every(([D,F])=>s(v,D,S).n===F)))return x;x.d.clear();let C=!0,T=D=>{if(Tit(_,D)){let q=t(D);if(!Iit(q))if(uIe(D))i(D,q,D.init);else throw new Error("no atom init");return Gre(q)}let F=s(v,D,S);try{return Gre(F)}finally{if(C)Pit(v,_,x,D,F);else{let q=jF();Pit(q,_,x,D,F),p(q,_,x),dI(q)}}},I,M,O={get signal(){return I||(I=new AbortController),I.signal},get setSelf(){return(oa.env?oa.env.MODE:void 0)!=="production"&&!dIe(_)&&console.warn("setSelf function cannot be used with read-only atom"),!M&&dIe(_)&&(M=(...D)=>{if((oa.env?oa.env.MODE:void 0)!=="production"&&C&&console.warn("setSelf function cannot be called in sync"),!C)return f(_,...D)}),M}};try{let D=e(_,T,O);if(i(_,x,D),mIe(D)){(k=D.onCancel)==null||k.call(D,()=>I?.abort());let F=()=>{if(x.m){let q=jF();p(q,_,x),dI(q)}};D.then(F,F)}return x}catch(D){return delete x.v,x.e=D,++x.n,x}finally{C=!1}},a=v=>Gre(s(void 0,v)),l=(v,_,S)=>{var k,x;let C=new Map;for(let T of((k=S.m)==null?void 0:k.t)||[])C.set(T,t(T));for(let T of S.p)C.set(T,t(T));return(x=V0n(v,_))==null||x.forEach(T=>{C.set(T,t(T))}),C};function c(v,_,S){let k=[],x=new Set,C=new Set,T=[[_,S]];for(;T.length>0;){let[I,M]=T[T.length-1];if(C.has(I)){T.pop();continue}if(x.has(I)){k.push([I,M,M.n]),C.add(I),T.pop();continue}x.add(I);for(let[O,D]of l(v,I,M))I!==O&&!x.has(O)&&T.push([O,D])}return[k,C]}let u=(v,_,S)=>{let[k,x]=c(v,_,S),C=new Set([_]);for(let T=k.length-1;T>=0;--T){let[I,M,O]=k[T],D=!1;for(let F of M.d.keys())if(F!==I&&C.has(F)){D=!0;break}D&&(s(v,I,x),p(v,I,M),O!==M.n&&(fIe(v,I,M),C.add(I))),x.delete(I)}},d=(v,_,...S)=>{let k=!0,x=T=>Gre(s(v,T)),C=(T,...I)=>{let M=t(T);try{if(Tit(_,T)){if(!uIe(T))throw new Error("atom not writable");let O=M.n,D=I[0];i(T,M,D),p(v,T,M),O!==M.n&&(fIe(v,T,M),u(v,T,M));return}else return d(v,T,...I)}finally{k||dI(v)}};try{return n(_,x,C,...S)}finally{k=!1}},f=(v,..._)=>{let S=jF();try{return d(S,v,..._)}finally{dI(S)}},p=(v,_,S)=>{if(S.m&&!pIe(S.v)){for(let k of S.d.keys())S.m.d.has(k)||(m(v,k,t(k)).t.add(_),S.m.d.add(k));for(let k of S.m.d||[])if(!S.d.has(k)){S.m.d.delete(k);let x=h(v,k,t(k));x?.t.delete(_)}}},m=(v,_,S)=>{if(!S.m){s(v,_);for(let k of S.d.keys())m(v,k,t(k)).t.add(_);if(S.m={l:new Set,d:new Set(S.d.keys()),t:new Set},(oa.env?oa.env.MODE:void 0)!=="production"&&o.add(_),dIe(_)){let k=S.m,x,C=(T,I)=>{let M=!0;x=(...O)=>{try{return d(T,_,...O)}finally{M||dI(T)}};try{return I()}finally{M=!1}};Ait(v,()=>{let T=C(v,()=>r(_,(...I)=>x(...I)));T&&(k.u=I=>C(I,T))})}}return S.m},h=(v,_,S)=>{if(S.m&&!S.m.l.size&&!Array.from(S.m.t).some(k=>{var x;return(x=t(k).m)==null?void 0:x.d.has(_)})){let k=S.m.u;k&&Ait(v,()=>k(v)),delete S.m,(oa.env?oa.env.MODE:void 0)!=="production"&&o.delete(_);for(let x of S.d.keys()){let C=h(v,x,t(x));C?.t.delete(_)}return}return S.m},y={get:a,set:f,sub:(v,_)=>{let S=jF(),k=t(v),C=m(S,v,k).l;return C.add(_),dI(S),()=>{C.delete(_);let T=jF();h(T,v,k),dI(T)}},unstable_derive:v=>Mit(...v(t,e,n,r))};return(oa.env?oa.env.MODE:void 0)!=="production"&&Object.assign(y,{dev4_get_internal_weak_map:()=>({get:_=>{let S=t(_);if(S.n!==0)return S}}),dev4_get_mounted_atoms:()=>o,dev4_restore_atoms:_=>{let S=jF();for(let[k,x]of _)if(uIe(k)){let C=t(k),T=C.n;i(k,C,x),p(S,k,C),T!==C.n&&(fIe(S,k,C),u(S,k,C))}dI(S)}}),y},nm=()=>{let t=new WeakMap;return Mit(n=>{if((oa.env?oa.env.MODE:void 0)!=="production"&&!n)throw new Error("Atom is undefined or null");let r=t.get(n);return r||(r={d:new Map,p:new Set,n:0},t.set(n,r)),r},(n,...r)=>n.read(...r),(n,...r)=>n.write(...r),(n,...r)=>{var o;return(o=n.onMount)==null?void 0:o.call(n,...r)})},Oit=()=>(Gq||(Gq=nm(),(oa.env?oa.env.MODE:void 0)!=="production"&&(globalThis.__JOTAI_DEFAULT_STORE__||(globalThis.__JOTAI_DEFAULT_STORE__=Gq),globalThis.__JOTAI_DEFAULT_STORE__!==Gq&&console.warn("Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"))),Gq)});function or(t,e){let n=Nit(e),[[r,o,i],s]=(0,Qd.useReducer)(c=>{let u=n.get(t);return Object.is(c[0],u)&&c[1]===n&&c[2]===t?c:[u,n,t]},void 0,()=>[n.get(t),n,t]),a=r;(o!==n||i!==t)&&(s(),a=n.get(t));let l=e?.delay;if((0,Qd.useEffect)(()=>{let c=n.sub(t,()=>{if(typeof l=="number"){let u=n.get(t);yIe(u)&&Lit(Rit(u)),setTimeout(s,l);return}s()});return s(),c},[n,t,l]),(0,Qd.useDebugValue)(a),yIe(a)){let c=Rit(a);return K0n(c)}return a}function G0n(t,e){let n=Nit(e);return(0,Qd.useCallback)((...o)=>{if((Yre.env?Yre.env.MODE:void 0)!=="production"&&!("write"in t))throw new Error("not writable atom");return n.set(t,...o)},[n,t])}function HF(t,e){return[or(t,e),G0n(t,e)]}var Qd,Yre,q0n,Nit,yIe,Lit,K0n,gIe,Rit,Dit=b(()=>{"use client";Qd=R(U(),1);hIe();Yre={},q0n=(0,Qd.createContext)(void 0),Nit=t=>{let e=(0,Qd.useContext)(q0n);return t?.store||e||Oit()},yIe=t=>typeof t?.then=="function",Lit=t=>{t.status="pending",t.then(e=>{t.status="fulfilled",t.value=e},e=>{t.status="rejected",t.reason=e})},K0n=Qd.default.use||(t=>{if(t.status==="pending")throw t;if(t.status==="fulfilled")return t.value;throw t.status==="rejected"?t.reason:(Lit(t),t)}),gIe=new WeakMap,Rit=t=>{let e=gIe.get(t);return e||(e=new Promise((n,r)=>{let o=t,i=l=>c=>{o===l&&n(c)},s=l=>c=>{o===l&&r(c)},a=l=>{"onCancel"in l&&typeof l.onCancel=="function"&&l.onCancel(c=>{if((Yre.env?Yre.env.MODE:void 0)!=="production"&&c===l)throw new Error("[Bug] p is not updated even after cancelation");yIe(c)?(gIe.set(c,e),o=c,c.then(i(c),s(c)),a(c)):n(c)})};t.then(i(t),s(t)),a(t)}),gIe.set(t,e)),e}});var gs=b(()=>{hIe();Dit()});function $it(t){let e={...t};for(let n of Z0n)delete e[n];return e}var Z0n,Fit=b(()=>{Z0n=["enableSemanticSearchV3","embeddingModelKey","activeEmbeddingModels","embeddingRequestsPerMin","embeddingBatchSize","numPartitions","enableIndexSync","disableIndexOnMobile","indexVaultToVectorStore","openAIEmbeddingProxyBaseUrl","azureOpenAIApiEmbeddingDeploymentName"]});function zO(t){let e=t.toLowerCase();return e.replace(/[_-]/g,"").includes("apikey")||e.endsWith("token")||e.endsWith("accesstoken")||e.endsWith("secret")||e.endsWith("password")||e.endsWith("licensekey")}function Xre(t){for(let e of Object.keys(t)){if(!zO(e))continue;let n=t[e];if(typeof n=="string"&&n.length>0)return!0}for(let e of Object.values(t))if(Array.isArray(e))for(let n of e){if(!n||typeof n!="object")continue;let r=n;for(let o of fI){let i=r[o];if(typeof i=="string"&&i.length>0)return!0}}return!1}function WF(t){let e={...t};for(let n of Object.keys(e))zO(n)&&(e[n]="");return"activeModels"in e&&(e.activeModels=Y0n(t.activeModels??[])),e}function Y0n(t){return t?.length?t.map(e=>{let n={...e};for(let r of fI)n[r]="";return n}):t}function VF(t){let e=$it(t);if(delete e.enableEncryption,delete e._keychainMigrated,delete e._keychainMigratedAt,delete e._migrationModalDismissed,delete e._diskSecretsCleared,delete e._keychainOnly,delete e.githubCopilotAccessToken,delete e.githubCopilotToken,delete e.githubCopilotTokenExpiresAt,delete e.miyoSyncedExclusions,e.agentMode&&typeof e.agentMode=="object"&&!Array.isArray(e.agentMode)){let n={...e.agentMode};delete n.mcpServers,e.agentMode=n}return e}var fI,Jre,UO=b(()=>{xt();Fit();fI=["apiKey"];Jre=Object.freeze(Object.keys(gr).filter(zO))});function Qre(t){return typeof t=="string"&&!!Object.prototype.hasOwnProperty.call(Zq,t)}var Zq,zit,Uit,eoe=b(()=>{Zq={piano:{label:"Piano key",wave:"triangle",peakGain:.15,strikes:[{hz:[440],at:0,seconds:.6}]},marimba:{label:"Marimba",wave:"sine",peakGain:.18,strikes:[{hz:[587.33],at:0,seconds:.32}]},bell:{label:"Bell",wave:"sine",peakGain:.12,strikes:[{hz:[659.25,987.77],at:0,seconds:1.4}]},doorbell:{label:"Doorbell",wave:"sine",peakGain:.16,strikes:[{hz:[659.25],at:0,seconds:.5},{hz:[523.25],at:.18,seconds:.6}]}},zit="piano",Uit=Object.freeze(Object.entries(Zq).map(([t,e])=>({label:e.label,value:t})))});function Bit(t){return typeof t=="string"&&J0n.includes(t)}function X0n(t){return typeof t=="string"?t.trim():""}function toe(t){if(typeof t=="number"&&Number.isFinite(t)&&t>0)return t;if(typeof t=="string"){let e=Number(t);if(Number.isFinite(e)&&e>0)return e;let n=Date.parse(t);if(Number.isFinite(n))return n}return null}function Q0n(t,e){let n=new Intl.Collator(void 0),r=l=>X0n(e.getName(l)),o=l=>{let c=e.getCreatedAtMs(l);return Number.isFinite(c)?c:0},i=l=>{let c=o(l);return toe(e.getLastUsedAtMs(l))??c},s=typeof e.getManualOrder=="function"?l=>{let c=e.getManualOrder?.(l);return typeof c=="number"&&Number.isFinite(c)?c:0}:null,a=t==="manual"&&!s?"name":t;return(l,c)=>{let u=r(l),d=r(c),f=o(l),p=o(c),m=i(l),h=i(c);if(a==="manual"){let v=s(l),_=s(c);if(v!==_)return v-_}else if(a==="name"){let v=n.compare(u,d);if(v!==0)return v}else if(a==="created"){let v=p-f;if(v!==0)return v}else{let v=h-m;if(v!==0)return v}let g=n.compare(u,d);if(g!==0)return g;let w=p-f;if(w!==0)return w;let y=h-m;return y!==0?y:0}}function oy(t,e,n){return[...t].sort(Q0n(e,n))}var J0n,qF,CC=b(()=>{J0n=["recent","created","name","manual"];qF=class{constructor(e={}){this.lastTouchedAtMsByKey=new Map;this.lastPersistedAtMsByKey=new Map;this.revision=0;this.listeners=new Set;this.minIntervalMs=e.minIntervalMs??3e4,this.nowMs=e.nowMs??(()=>Date.now())}notifyChange(){this.revision+=1;for(let e of this.listeners)e()}getRevision(){return this.revision}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}touch(e){let n=this.nowMs();return this.lastTouchedAtMsByKey.set(e,n),this.notifyChange(),n}shouldPersist(e,n){let r=this.lastTouchedAtMsByKey.get(e);if(!r)return null;let o=toe(n),i=this.lastPersistedAtMsByKey.get(e),s=Math.max(o??0,i??0);return s===0?r:r-ss!==".").join("/").replace(/\/+$/,"");o.length===0||/(^|\/)\.\.(\/|$)/.test(o)||/^[a-zA-Z]:/.test(o)||o.startsWith("/")||e.has(o)||(e.add(o),n.push(o))}return n.length>0?n:tkn}function Xt(t){Sn.set(xh,e=>{let n=typeof t=="function"?t(e):t;return xkn({...e,...n})})}function nkn(t){let n=(typeof t=="string"?t:eIe).split(",").map(o=>decodeURIComponent(o.trim())).filter(o=>o.length>0),r=new Map;return n.forEach(o=>{let i=o.replace(/\/+$/,""),s=i.length>0?i:o;if(!r.has(s)){let a=i.length>0&&o.endsWith("/")?`${i}/`:o;r.set(s,a)}}),Array.from(r.values()).map(o=>encodeURIComponent(o)).join(",")}function Gt(t,e){Xt(n=>({...n,[t]:e}))}function iy(t,e){Xt(n=>({agentMode:{...n.agentMode,backends:{...n.agentMode.backends,[t]:{...n.agentMode.backends?.[t]??{},...e}}}}))}function le(){return Sn.get(xh)}function Vit(t,e){return t==="enableCors"?typeof e=="boolean":typeof e=="string"&&e.length>0}function akn(t,e){let n={...t},r=e;for(let o of rkn){let i=r[o];Vit(o,i)&&(n[o]=i)}return n}function lkn(t,e){let n=new Map(e.map(s=>[Sr(s),s])),r=new Set(t.map(s=>Sr(s))),o=t.map(s=>{let a=n.get(Sr(s));return a?akn(s,a):s}),i=e.filter(s=>!r.has(Sr(s)));return[...o,...i]}function ckn(t){let e=Object.entries(t??{}).filter(([,n])=>!!n?.apiKeyKeychainId);return e.length>0?Object.fromEntries(e):Hit}function ukn(t,e){if(!Array.isArray(t)||t.length===0)return wIe;let n=t.filter(r=>e.has(r.providerId));return n.length>0?n:wIe}function qit(){let t=le(),e=t,n=pI([...Array.isArray(t.copilotRootHistory)?t.copilotRootHistory:[],t.copilotFolder]),r={};for(let a of skn){let l=e[a];Vit(a,l)&&(r[a]=l)}let o=ckn(t.providers),i=new Set(Object.keys(o)),s={...gr,...r,isPaidUser:t.isPaidUser,entitlementExpiresAt:t.entitlementExpiresAt,activeModels:lkn($F.map(a=>({...a,enabled:!0})),t.activeModels??[]),providers:o,configuredModels:ukn(t.configuredModels,i),copilotPlusCatalog:t.copilotPlusCatalog??Wit,copilotRootHistory:n};Xt(s)}function si(t){let e=le();return Sn.sub(xh,()=>{let n=le();t(e,n),e=n})}function pt(){return or(xh,{store:Sn})}function Kit(t){let e=t||gr,n=e,{enableSelfHostedSearch:r,enableMiyoSearch:o}=n;e.userId||(e.userId=zr());let i={...e};i.lastShownStartupVersion??(i.lastShownStartupVersion=null);let s=i;delete s.miyoRemoteVaultPath,delete s.miyoVaultName,delete s.enableMiyoSearch,delete s.amazonBedrockApiKey,delete s.amazonBedrockRegion,delete s.azureOpenAIApiKey,delete s.azureOpenAIApiInstanceName,delete s.azureOpenAIApiDeploymentName,delete s.azureOpenAIApiVersion,delete s.maxTokens,r!==void 0&&i.enableSelfHostMode===void 0&&(i.enableSelfHostMode=r),o!==void 0&&i.enableMiyo===void 0&&(i.enableMiyo=o),typeof i.isPaidUser!="boolean"&&typeof n.isPlusUser=="boolean"&&(i.isPaidUser=n.isPlusUser);let a=Number(e.contextTurns);i.contextTurns=isNaN(a)?gr.contextTurns:a;let l=Number(e.lexicalSearchRamLimit);if(isNaN(l)?i.lexicalSearchRamLimit=gr.lexicalSearchRamLimit:i.lexicalSearchRamLimit=Math.min(1e3,Math.max(20,l)),typeof i.autoAddActiveContentToContext!="boolean"){let x=e.includeActiveNoteAsContext;typeof x=="boolean"?i.autoAddActiveContentToContext=x:i.autoAddActiveContentToContext=gr.autoAddActiveContentToContext}typeof i.enableMiyo!="boolean"&&(i.enableMiyo=gr.enableMiyo),typeof i.enableMiyoSearchSkill!="boolean"&&(i.enableMiyoSearchSkill=gr.enableMiyoSearchSkill),typeof i.miyoSearchAll!="boolean"&&(i.miyoSearchAll=gr.miyoSearchAll),typeof i.relevantNotesLiveUpdate!="boolean"&&(i.relevantNotesLiveUpdate=gr.relevantNotesLiveUpdate),typeof i.miyoServerUrl!="string"&&(i.miyoServerUrl=gr.miyoServerUrl),["local","remote"].includes(i.miyoConnectionMode||"")||(i.miyoConnectionMode=i.miyoServerUrl.trim()?"remote":"local"),["firecrawl","perplexity","parallel","exa"].includes(i.selfHostSearchProvider)||(i.selfHostSearchProvider=gr.selfHostSearchProvider),["plus","miyo"].includes(i.docProcessorBackend)||(i.docProcessorBackend=gr.docProcessorBackend),typeof i.passMarkdownImages!="boolean"&&(i.passMarkdownImages=gr.passMarkdownImages),typeof i.enableInlineCitations!="boolean"&&(i.enableInlineCitations=gr.enableInlineCitations),typeof i.enableCustomPromptTemplating!="boolean"&&(i.enableCustomPromptTemplating=gr.enableCustomPromptTemplating),Array.isArray(i.autonomousAgentEnabledToolIds)||(i.autonomousAgentEnabledToolIds=gr.autonomousAgentEnabledToolIds);let d={writeToFile:"writeFile",replaceInFile:"editFile"};i.autonomousAgentEnabledToolIds=i.autonomousAgentEnabledToolIds.map(x=>d[x]??x),(!i.memoryFolderName||typeof i.memoryFolderName!="string")&&(i.memoryFolderName=gr.memoryFolderName),typeof i.enableRecentConversations!="boolean"&&(i.enableRecentConversations=gr.enableRecentConversations),typeof i.enableSavedMemory!="boolean"&&(i.enableSavedMemory=gr.enableSavedMemory);let f=Number(e.maxRecentConversations);isNaN(f)||f<10||f>50?i.maxRecentConversations=gr.maxRecentConversations:i.maxRecentConversations=f,typeof i.autosaveChat!="boolean"&&(i.autosaveChat=gr.autosaveChat);let p=Number(e.autoCompactThreshold);isNaN(p)?i.autoCompactThreshold=gr.autoCompactThreshold:i.autoCompactThreshold=Math.min(1e6,Math.max(64e3,p)),typeof i.quickCommandIncludeNoteContext!="boolean"&&(i.quickCommandIncludeNoteContext=gr.quickCommandIncludeNoteContext),e.quickCommandModelKey!==void 0&&typeof e.quickCommandModelKey!="string"&&(i.quickCommandModelKey=gr.quickCommandModelKey),typeof i.autoAcceptEdits!="boolean"&&(i.autoAcceptEdits=gr.autoAcceptEdits),Object.values(FF).includes(i.defaultSendShortcut)||(i.defaultSendShortcut=gr.defaultSendShortcut);let m=Yq(typeof e.copilotFolder=="string"?e.copilotFolder:"");i.copilotFolder=m.ok?m.folder:gr.copilotFolder;let h=Array.isArray(e.copilotRootHistory)?e.copilotRootHistory:[];i.copilotRootHistory=pI([...h,i.copilotFolder]),typeof i.upgradedToV8FromLegacy!="boolean"&&(i.upgradedToV8FromLegacy=gr.upgradedToV8FromLegacy);let g=(e.defaultSaveFolder||"").trim();i.defaultSaveFolder=g.length>0?g:gr.defaultSaveFolder;let w=(e.customPromptsFolder||"").trim();i.customPromptsFolder=w.length>0?w:gr.customPromptsFolder;let y=(e.projectsFolder||"").trim(),v=/(^|[/\\])\.\.[/\\]?/.test(y)||/^[a-zA-Z]:/.test(y)||/^[/\\]/.test(y);i.projectsFolder=y.length>0&&!v?y:gr.projectsFolder,(!Bit(i.chatHistorySortStrategy)||i.chatHistorySortStrategy==="manual")&&(i.chatHistorySortStrategy=gr.chatHistorySortStrategy),Object.values(C_).includes(i.defaultChainType)||(i.defaultChainType=gr.defaultChainType);let _=(e.userSystemPromptsFolder||"").trim();i.userSystemPromptsFolder=_.length>0?_:gr.userSystemPromptsFolder,i.qaExclusions=nkn(e.qaExclusions),i.agentMode=dkn(i.agentMode),(!i.providers||typeof i.providers!="object"||Array.isArray(i.providers))&&(i.providers=Hit),Array.isArray(i.configuredModels)||(i.configuredModels=wIe);let S=i.copilotPlusCatalog;return!!S&&typeof S=="object"&&Array.isArray(S.models)&&Array.isArray(S.defaultEnabledIds)&&S.models.every(x=>!!x&&typeof x=="object"&&typeof x.id=="string"&&typeof x.displayName=="string")&&S.defaultEnabledIds.every(x=>typeof x=="string")||(i.copilotPlusCatalog=Wit),(!i.backends||typeof i.backends!="object"||Array.isArray(i.backends))&&(i.backends=ekn),i}function dkn(t){if(!t||typeof t!="object")return{...gr.agentMode};let e=t,n=e.byok&&typeof e.byok=="object"?e.byok:{},r=typeof e.activeBackend=="string"?e.activeBackend:gr.agentMode.activeBackend,o=e.backends&&typeof e.backends=="object"?e.backends:{},i=o.opencode,s=o.claude,a=o.codex,l=i?vkn(i):void 0,c=s?ykn(s):void 0,u=a?wkn(a):void 0,d={};l&&(d.opencode=l),c&&(d.claude=c),u&&(d.codex=u);let f=_kn(e.deviceProfiles),p=typeof e.debugFullFrames=="boolean"?e.debugFullFrames:gr.agentMode.debugFullFrames,m=typeof e.notificationSound=="boolean"?e.notificationSound:gr.agentMode.notificationSound,h=Qre(e.notificationSoundId)?e.notificationSoundId:gr.agentMode.notificationSoundId,g=typeof e.welcomeDismissed=="boolean"?e.welcomeDismissed:gr.agentMode.welcomeDismissed,w=e.claudeCli&&typeof e.claudeCli=="object"?e.claudeCli:null,y=w&&typeof w.path=="string"?w.path:void 0,v=y?{path:y}:void 0,_=e.skills&&typeof e.skills=="object"?e.skills:null,S=_&&typeof _.folder=="string"?_.folder:"",k=pkn(S),x=_&&typeof _.suppressMigrationConfirm=="boolean"?_.suppressMigrationConfirm:void 0,C={folder:k.ok?k.folder:gr.agentMode.skills.folder,...x!==void 0?{suppressMigrationConfirm:x}:{},..._?.builtinPreferences!==void 0?{builtinPreferences:vIe(_.builtinPreferences)}:{}};return{byok:n,activeBackend:r,backends:d,debugFullFrames:p,notificationSound:m,notificationSoundId:h,welcomeDismissed:g,skills:C,...v?{claudeCli:v}:{},...f?{deviceProfiles:f}:{}}}function vIe(t){if(!t||typeof t!="object"||Array.isArray(t))return jit;let e={};for(let{name:n}of _h){let r=t[n];if(!r||typeof r!="object"||Array.isArray(r))continue;let o=r,i=Array.isArray(o.disabledAgents)?o.disabledAgents.filter(s=>typeof s=="string"):[];(o.disabled===!0||i.length>0)&&(e[n]={...o.disabled===!0?{disabled:!0}:{},...i.length>0?{disabledAgents:i}:{}})}return Object.keys(e).length>0?e:jit}function pkn(t){if(typeof t!="string"||t.trim().length===0)return{ok:!0,folder:_C};let e=t.trim().replace(/\\/g,"/");for(;e.startsWith("./");)e=e.slice(2);if(e.startsWith("/")&&(e=e.replace(/^\/+/,"")),e=e.replace(/\/+$/,""),e.length===0)return{ok:!0,folder:_C};let n=e.split("/");for(let r of n){if(r.length===0)return{ok:!1,reason:"Folder path cannot contain empty segments (//)."};if(r==="..")return{ok:!1,reason:'Folder path cannot contain ".." segments.'};if(r===".")return{ok:!1,reason:'Folder path cannot contain "." segments.'};if(bIe.test(r))return{ok:!1,reason:"Folder path contains illegal control characters."};if(/[<>:"|?*]/.test(r))return{ok:!1,reason:'Folder path contains characters not allowed in folder names (< > : " | ? *).'}}return{ok:!0,folder:e}}function Yq(t,e){if(typeof t!="string"||t.trim().length===0)return{ok:!1,reason:"Folder name cannot be empty."};let n=t.trim();if(/^[/\\]/.test(n)||/^[a-zA-Z]:/.test(n))return{ok:!1,reason:"Folder path must be relative to the vault root."};let r=n.replace(/\\/g,"/").replace(/\/+$/,"");if(r.length===0)return{ok:!1,reason:"Folder name cannot be empty."};let o=e?.trim().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"").toLowerCase(),i=r.toLowerCase();if(o&&(i===o||i.startsWith(`${o}/`)||o.startsWith(`${i}/`)))return{ok:!1,reason:"Folder path cannot use the Obsidian config folder."};for(let s of r.split("/")){if(s.length===0)return{ok:!1,reason:"Folder path cannot contain empty segments (//)."};if(s==="..")return{ok:!1,reason:'Folder path cannot contain ".." segments.'};if(s===".")return{ok:!1,reason:'Folder path cannot contain "." segments.'};if(bIe.test(s))return{ok:!1,reason:"Folder path contains illegal control characters."};if(/[<>:"|?*]/.test(s))return{ok:!1,reason:'Folder path contains characters not allowed in folder names (< > : " | ? *).'};if(/[. ]$/.test(s))return{ok:!1,reason:"Folder names cannot end with a dot or space."};if(fkn.test(s))return{ok:!1,reason:`"${s}" is a name reserved by Windows.`}}return{ok:!0,folder:r}}function ov(t){return typeof t=="string"&&t?t:void 0}function _Ie(t){if(!t||typeof t!="object")return;let e=t,n=typeof e.baseModelId=="string"&&e.baseModelId?e.baseModelId:null;if(!n)return;let r=typeof e.effort=="string"&&e.effort?e.effort:null;return{baseModelId:n,effort:r}}function xIe(t){return typeof t=="string"&&mkn.includes(t)?t:void 0}function KF(t){if(!t||typeof t!="object")return;let e={};for(let[n,r]of Object.entries(t))if(typeof n=="string"&&noe.test(n)&&typeof r=="string"&&!bIe.test(r)&&(e[n]=r,Object.keys(e).length>=64))break;return Object.keys(e).length>0?e:void 0}function gkn(t){return typeof t=="string"&&hkn.includes(t)?t:void 0}function ykn(t){if(!t||typeof t!="object")return{};let e=t;return{defaultModel:_Ie(e.defaultModel),defaultMode:xIe(e.defaultMode),autoModePermission:gkn(e.autoModePermission),enableThinking:typeof e.enableThinking=="boolean"?e.enableThinking:void 0,envOverrides:KF(e.envOverrides)}}function wkn(t){if(!t||typeof t!="object")return{};let e=t,n=ov(e.binaryPath),r=e.binarySource;return{binaryPath:n,binaryVersion:n?ov(e.binaryVersion):void 0,binarySource:n?r==="managed"||r==="custom"?r:"custom":void 0,defaultModel:_Ie(e.defaultModel),defaultMode:xIe(e.defaultMode),envOverrides:KF(e.envOverrides)}}function vkn(t){if(!t||typeof t!="object")return{};let e=t,n=ov(e.binaryPath),r=ov(e.binaryVersion),o=e.binarySource,i;return o==="managed"||o==="custom"?i=n?o:void 0:i=n?"managed":void 0,{binaryPath:n,binaryVersion:r,binarySource:i,defaultModel:_Ie(e.defaultModel),defaultMode:xIe(e.defaultMode),probeSessionId:ov(e.probeSessionId),envOverrides:KF(e.envOverrides)}}function bkn(t){if(!t||typeof t!="object")return;let e=t,n={},r=ov(e.claudeCliPath);r&&(n.claudeCliPath=r);let o=e.codex&&typeof e.codex=="object"?e.codex:null;if(o){let a={},l=ov(o.binaryPath);l&&(a.binaryPath=l);let c=l?ov(o.binaryVersion):void 0;c&&(a.binaryVersion=c);let u=o.binarySource;l&&(a.binarySource=u==="managed"||u==="custom"?u:"custom");let d=KF(o.envOverrides);d&&(a.envOverrides=d),Object.keys(a).length>0&&(n.codex=a)}let i=e.opencode&&typeof e.opencode=="object"?e.opencode:null;if(i){let a={},l=ov(i.binaryPath);l&&(a.binaryPath=l);let c=ov(i.binaryVersion);if(c&&(a.binaryVersion=c),l){let f=i.binarySource;a.binarySource=f==="custom"?"custom":"managed"}let u=ov(i.probeSessionId);u&&(a.probeSessionId=u);let d=KF(i.envOverrides);d&&(a.envOverrides=d),Object.keys(a).length>0&&(n.opencode=a)}let s=e.claude&&typeof e.claude=="object"?e.claude:null;if(s){let a=KF(s.envOverrides);a&&(n.claude={envOverrides:a})}return Object.keys(n).length>0?n:void 0}function _kn(t){if(!t||typeof t!="object")return;let e={};for(let[n,r]of Object.entries(t)){if(typeof n!="string"||n.length===0)continue;let o=bkn(r);o&&(e[n]=o)}return Object.keys(e).length>0?e:void 0}function xkn(t){return t.activeModels=Skn(t.activeModels,$F),t}function Skn(t,e){let n=new Map;return e.filter(r=>r.core).forEach(r=>{n.set(Sr(r),{...r})}),t.forEach(r=>{let o=Sr(r),i=n.get(o);if(i){let s=e.find(a=>a.name===r.name&&a.provider===r.provider);s?n.set(o,{...s,...r,isBuiltIn:!0,believerExclusive:s.believerExclusive}):n.set(o,{...r,isBuiltIn:i.isBuiltIn})}else n.set(o,r)}),Array.from(n.values())}var Sn,xh,Hit,wIe,ekn,Wit,tkn,rkn,okn,ikn,skn,jit,fkn,bIe,mkn,noe,hkn,Ee=b(()=>{uI();Kq();gs();ed();vC();UO();eoe();CC();xt();Kq();Sn=nm(),xh=Kr(gr),Hit=Object.freeze({}),wIe=Object.freeze([]),ekn=Object.freeze({}),Wit=Object.freeze({models:Object.freeze([]),defaultEnabledIds:Object.freeze([])}),tkn=Object.freeze([]);rkn=[...fI,"baseUrl","enableCors","openAIOrgId"],okn="entitlementToken",ikn=["openAIOrgId"],skn=[...Jre.filter(t=>t!==okn),...ikn];jit=Object.freeze({});fkn=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(\..*)?$/i,bIe=/[\u0000-\u001f\u007f]/;mkn=["default","plan","auto"];noe=/^[A-Za-z_][A-Za-z0-9_]*$/;hkn=["acceptEdits","auto","bypassPermissions"]});function Dt(t,e=!1){try{if(t instanceof Error){let r=t.cause,o=r instanceof Error?r.message:r!=null?typeof r=="string"?r:JSON.stringify(r)??"":"",i=e&&t.stack?t.stack:"",s=[t.message];return o&&s.push(`more message: ${o}`),i&&s.push(i),s.join(`
+`)}return JSON.stringify(t)??String(t)}catch{return String(t)}}var GF=b(()=>{});function ZF(t){let e=Ckn.exec(t);return e?{major:Number(e[1]),minor:Number(e[2]),patch:Number(e[3]),prerelease:e[4]}:null}function YF(t,e){let n=i=>{let s=i.match(/(\d+)\.(\d+)\.(\d+)/);return s?[Number(s[1]),Number(s[2]),Number(s[3])]:[0,0,0]},r=n(t),o=n(e);for(let i=0;i<3;i++)if(r[i]!==o[i])return r[i]-o[i];return 0}var Ckn,Jq=b(()=>{Ckn=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/});var CIe=yi(roe=>{"use strict";roe.byteLength=Tkn;roe.toByteArray=Pkn;roe.fromByteArray=Mkn;var I_=[],sy=[],kkn=typeof Uint8Array<"u"?Uint8Array:Array,SIe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(BO=0,Git=SIe.length;BO0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function Tkn(t){var e=Zit(t),n=e[0],r=e[1];return(n+r)*3/4-r}function Ikn(t,e,n){return(e+n)*3/4-n}function Pkn(t){var e,n=Zit(t),r=n[0],o=n[1],i=new kkn(Ikn(t,r,o)),s=0,a=o>0?r-4:r,l;for(l=0;l>16&255,i[s++]=e>>8&255,i[s++]=e&255;return o===2&&(e=sy[t.charCodeAt(l)]<<2|sy[t.charCodeAt(l+1)]>>4,i[s++]=e&255),o===1&&(e=sy[t.charCodeAt(l)]<<10|sy[t.charCodeAt(l+1)]<<4|sy[t.charCodeAt(l+2)]>>2,i[s++]=e>>8&255,i[s++]=e&255),i}function Akn(t){return I_[t>>18&63]+I_[t>>12&63]+I_[t>>6&63]+I_[t&63]}function Ekn(t,e,n){for(var r,o=[],i=e;ia?a:s+i));return r===1?(e=t[n-1],o.push(I_[e>>2]+I_[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(I_[e>>10]+I_[e>>4&63]+I_[e<<2&63]+"=")),o.join("")}});var Yit=yi(kIe=>{kIe.read=function(t,e,n,r,o){var i,s,a=o*8-r-1,l=(1<