diff --git a/packages/ingestion/package.json b/packages/ingestion/package.json index 64412184..7e48dcb5 100644 --- a/packages/ingestion/package.json +++ b/packages/ingestion/package.json @@ -42,7 +42,6 @@ "@apidevtools/swagger-parser": "12.1.0", "@aws-sdk/client-bedrock-runtime": "3.1054.0", "@cyclonedx/cyclonedx-library": "10.0.0", - "@graphty/algorithms": "1.7.1", "@iarna/toml": "2.2.5", "@opencodehub/analysis": "workspace:*", "@opencodehub/core-types": "workspace:*", diff --git a/packages/ingestion/src/pipeline/phases/communities.ts b/packages/ingestion/src/pipeline/phases/communities.ts index 63340107..79bc9f0a 100644 --- a/packages/ingestion/src/pipeline/phases/communities.ts +++ b/packages/ingestion/src/pipeline/phases/communities.ts @@ -23,7 +23,6 @@ * `community-` is used when no tokens survive. */ -import { Graph as GraphtyGraph, leiden } from "@graphty/algorithms"; import type { CommunityNode, NodeId } from "@opencodehub/core-types"; import { makeNodeId } from "@opencodehub/core-types"; import type { PipelineContext, PipelinePhase } from "../types.js"; @@ -31,6 +30,7 @@ import { resolveIncrementalView } from "./incremental-helper.js"; import { INCREMENTAL_SCOPE_PHASE_NAME } from "./incremental-scope.js"; import { MRO_PHASE_NAME } from "./mro.js"; import { STRUCTURE_PHASE_NAME } from "./structure.js"; +import { Graph as GraphtyGraph, leiden } from "./vendor/graphty-leiden.js"; export const COMMUNITIES_PHASE_NAME = "communities"; diff --git a/packages/ingestion/src/pipeline/phases/graphty.d.ts b/packages/ingestion/src/pipeline/phases/graphty.d.ts deleted file mode 100644 index 46bb2d4b..00000000 --- a/packages/ingestion/src/pipeline/phases/graphty.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Ambient declarations for `@graphty/algorithms`. - * - * The package's hand-written top-level `dist/algorithms.d.ts` re-exports - * internal modules with extensionless paths that do not resolve under - * `moduleResolution: NodeNext`. The runtime bundle exports every symbol we - * need correctly (verified by direct import at Node), so we declare the - * narrow surface we consume here and let the TypeScript compiler trust us. - * If `@graphty/algorithms` ships correct NodeNext-compatible typings this - * file can be deleted without code changes. - */ - -declare module "@graphty/algorithms" { - export interface GraphConfig { - readonly directed?: boolean; - readonly allowSelfLoops?: boolean; - readonly allowParallelEdges?: boolean; - } - - export class Graph { - constructor(config?: Partial); - addNode(id: string, data?: Record): void; - addEdge(source: string, target: string, weight?: number, data?: Record): void; - hasNode(id: string): boolean; - hasEdge(source: string, target: string): boolean; - nodeCount(): number; - edgeCount(): number; - } - - export interface LeidenOptions { - readonly resolution?: number; - readonly randomSeed?: number; - readonly maxIterations?: number; - readonly threshold?: number; - } - - export interface LeidenResult { - readonly communities: Map; - readonly modularity: number; - readonly iterations: number; - } - - export function leiden(graph: Graph, options?: LeidenOptions): LeidenResult; -} diff --git a/packages/ingestion/src/pipeline/phases/vendor/graphty-leiden.ts b/packages/ingestion/src/pipeline/phases/vendor/graphty-leiden.ts new file mode 100644 index 00000000..a4c62495 --- /dev/null +++ b/packages/ingestion/src/pipeline/phases/vendor/graphty-leiden.ts @@ -0,0 +1,716 @@ +/** + * Vendored Leiden community-detection + minimal Graph, ported verbatim from + * `@graphty/algorithms@1.7.1` (MIT). We vendor only the `Graph` class, + * `graphToMap`, the `SeededRandom`/`shuffle` helpers, and the `leiden` + * entry point — the exact closure the communities phase needs. + * + * WHY THIS EXISTS + * --------------- + * `@graphty/algorithms` hard-declares `pupt` as a dependency, which in turn + * hard-declares `@homebridge/node-pty-prebuilt-multiarch`, whose `install` + * lifecycle script runs `prebuild-install --verbose` and fetches a native + * binary from `github.com/.../releases`. graphty's compiled library never + * imports `pupt`, so that chain is pure upstream dependency bloat — but a + * downstream `npm install -g @opencodehub/ingestion` still resolves the + * published tarball's deps fresh from the registry and runs that fetch. + * `overrides` in ingestion's own published package.json do NOT suppress it: + * npm honours `overrides` only for the root project, and a globally-installed + * tarball is a dependency of npm's synthetic root, not the root itself + * (verified empirically). Vendoring the small, pure-TS Leiden closure removes + * `@graphty/algorithms` from the published dependency tree entirely, killing + * the node-pty fetch at the install surface while preserving byte-identical + * community assignments (the port is line-for-line faithful to the upstream + * compiled output and is covered by a parity test). + * + * DETERMINISM + * ----------- + * `leiden` is parameterised with a fixed seed by the communities phase. The + * partition is sensitive to node insertion order, edge enumeration order, and + * edge weights — all of which this port preserves exactly: `Graph.nodes()` + * yields in insertion order, `Graph.edges()` enumerates the adjacency list in + * insertion order skipping the mirror half of undirected edges, and + * `SeededRandom` is the same linear-congruential generator graphty ships. + * + * Upstream: https://github.com/graphty-org/algorithms (MIT, (c) 2024 Adam Powers) + * Source modules vendored: core/graph.js, utils/graph-converters.js + * (graphToMap only), utils/math-utilities.js (SeededRandom + shuffle), + * algorithms/community/leiden.js. + */ + +// ---------------------------------------------------------------------------- +// MIT License +// +// Copyright (c) 2024 Adam Powers +// +// 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. +// ---------------------------------------------------------------------------- + +type NodeKey = string; + +interface GraphConfig { + directed: boolean; + allowSelfLoops: boolean; + allowParallelEdges: boolean; +} + +interface GraphNode { + id: NodeKey; +} + +interface GraphEdge { + source: NodeKey; + target: NodeKey; + weight: number; +} + +/** + * Minimal port of graphty's core Graph. Only the surface the Leiden path + * touches is retained (construct, addNode, addEdge, hasEdge, nodes(), + * edges(), isDirected), preserving the exact iteration order the upstream + * class produced. + */ +export class Graph { + private readonly config: GraphConfig; + private readonly nodeMap: Map; + private readonly adjacencyList: Map>; + + constructor(config: Partial = {}) { + this.config = { + directed: false, + allowSelfLoops: true, + allowParallelEdges: false, + ...config, + }; + this.nodeMap = new Map(); + this.adjacencyList = new Map(); + } + + addNode(id: NodeKey): void { + if (!this.nodeMap.has(id)) { + this.nodeMap.set(id, { id }); + this.adjacencyList.set(id, new Map()); + } + } + + addEdge(source: NodeKey, target: NodeKey, weight = 1): void { + // Ensure both nodes exist. + this.addNode(source); + this.addNode(target); + // Check self-loops. + if (!this.config.allowSelfLoops && source === target) { + throw new Error("Self-loops are not allowed in this graph"); + } + // Check parallel edges. + if (!this.config.allowParallelEdges && this.hasEdge(source, target)) { + throw new Error("Parallel edges are not allowed in this graph"); + } + const edge: GraphEdge = { source, target, weight }; + const sourceAdjacency = this.adjacencyList.get(source); + if (sourceAdjacency) { + sourceAdjacency.set(target, edge); + } + if (this.config.directed) { + // Directed graphs only track outgoing adjacency for the Leiden path. + } else { + // For undirected graphs, add the reverse edge. + if (source !== target) { + const reverseEdge: GraphEdge = { source: target, target: source, weight }; + const targetAdjacency = this.adjacencyList.get(target); + if (targetAdjacency) { + targetAdjacency.set(source, reverseEdge); + } + } + } + } + + hasEdge(source: NodeKey, target: NodeKey): boolean { + const sourceEdges = this.adjacencyList.get(source); + return sourceEdges ? sourceEdges.has(target) : false; + } + + get isDirected(): boolean { + return this.config.directed; + } + + nodes(): IterableIterator { + return this.nodeMap.values(); + } + + *edges(): Generator { + for (const [source, edges] of this.adjacencyList) { + for (const edge of edges.values()) { + // For undirected graphs, only yield each edge once. + if (!this.config.directed && source > edge.target) { + continue; + } + yield edge; + } + } + } +} + +/** + * Convert a Graph instance to the nested-Map representation Leiden consumes. + * Outer keys are source nodes; inner maps hold target nodes with edge weights. + */ +function graphToMap(graph: Graph): Map> { + const map = new Map>(); + // Initialize all nodes. + for (const node of graph.nodes()) { + map.set(String(node.id), new Map()); + } + // Add edges with weights. + for (const edge of graph.edges()) { + const source = String(edge.source); + const target = String(edge.target); + const weight = edge.weight ?? 1; + const sourceMap = map.get(source); + if (sourceMap) { + sourceMap.set(target, weight); + } + // For undirected graphs, add the reverse edge. + if (!graph.isDirected) { + const targetMap = map.get(target); + if (targetMap) { + targetMap.set(source, weight); + } + } + } + return map; +} + +/** + * Seeded linear-congruential generator for reproducible results — the exact + * generator graphty ships, so partitions match seed-for-seed. + */ +class SeededRandom { + private readonly m: number; + private readonly a: number; + private readonly c: number; + private seed: number; + + constructor(seed: number) { + this.m = 0x80000000; // 2**31 + this.a = 1103515245; + this.c = 12345; + // Handle negative seeds correctly. + this.seed = ((seed % this.m) + this.m) % this.m; + } + + next(): number { + this.seed = (this.a * this.seed + this.c) % this.m; + return this.seed / (this.m - 1); + } + + static createGenerator(seed: number): () => number { + const rng = new SeededRandom(seed); + return () => rng.next(); + } +} + +/** + * Fisher-Yates shuffle (in place), driven by the supplied RNG. + */ +function shuffle(array: T[], rng: () => number = Math.random): T[] { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(rng() * (i + 1)); + const temp = array[i]; + const tempJ = array[j]; + if (temp !== undefined && tempJ !== undefined) { + array[i] = tempJ; + array[j] = temp; + } + } + return array; +} + +type AdjacencyMap = Map>; + +export interface LeidenOptions { + resolution?: number; + randomSeed?: number; + maxIterations?: number; + threshold?: number; +} + +export interface LeidenResult { + communities: Map; + modularity: number; + iterations: number; +} + +/** + * Internal Leiden implementation operating on the nested-Map representation. + */ +function leidenImpl(inputGraph: AdjacencyMap, options: LeidenOptions = {}): LeidenResult { + const { resolution = 1.0, randomSeed = 42, maxIterations = 100, threshold = 1e-7 } = options; + // Handle empty graph. + if (inputGraph.size === 0) { + return { + communities: new Map(), + modularity: 0, + iterations: 0, + }; + } + // Use a mutable variable for the current graph state. + let currentGraph = inputGraph; + // Initialize random number generator. + const random = SeededRandom.createGenerator(randomSeed); + // Calculate total weight. + let totalWeight = 0; + const degrees = new Map(); + for (const [node, neighbors] of currentGraph) { + let degree = 0; + for (const weight of neighbors.values()) { + degree += weight; + totalWeight += weight; + } + degrees.set(node, degree); + } + totalWeight /= 2; // Each edge counted twice. + // Initialize communities - each node in its own community. + const communities = new Map(); + const nodes = Array.from(currentGraph.keys()); + nodes.forEach((node, i) => { + communities.set(node, i); + }); + let modularity = calculateModularity(currentGraph, communities, degrees, totalWeight, resolution); + let bestModularity = modularity; + let bestCommunities = new Map(communities); + let iterations = 0; + // Main Leiden loop. + while (iterations < maxIterations) { + iterations++; + let improved = false; + // Phase 1: Local moving of nodes (fast). + const nodeOrder = [...nodes]; + shuffle(nodeOrder, random); + for (const node of nodeOrder) { + const currentCommunity = communities.get(node); + if (currentCommunity === undefined) { + continue; + } + const neighborCommunities = getNeighborCommunities(node, currentGraph, communities); + let bestCommunity = currentCommunity; + let bestGain = 0; + // Try moving to each neighbor community. + for (const [community] of neighborCommunities) { + if (community === currentCommunity) { + continue; + } + const gain = calculateModularityGain( + node, + community, + currentGraph, + communities, + degrees, + totalWeight, + resolution, + ); + if (gain > bestGain) { + bestGain = gain; + bestCommunity = community; + } + } + // Move node if beneficial. + if (bestCommunity !== currentCommunity) { + communities.set(node, bestCommunity); + modularity += bestGain; + improved = true; + } + } + // Phase 2: Refinement (Leiden improvement over Louvain). + // Create aggregate network based on current partition. + createAggregateNetwork(currentGraph, communities); + // Refine partition using aggregate network. + const subsetPartition = refinePartition(currentGraph, communities); + // Apply refined partition. + for (const [node, newCommunity] of subsetPartition) { + communities.set(node, newCommunity); + } + // Recalculate modularity. + modularity = calculateModularity(currentGraph, communities, degrees, totalWeight, resolution); + // Check if we've improved. + if (modularity > bestModularity + threshold) { + bestModularity = modularity; + bestCommunities = new Map(communities); + improved = true; + } + if (!improved) { + break; + } + // Phase 3: Aggregate network (create super-nodes). + const aggregated = aggregateCommunities(currentGraph, communities); + if (aggregated.graph.size === currentGraph.size) { + break; + } // No aggregation possible. + // Continue with aggregated network. + const { graph: aggregatedGraph } = aggregated; + currentGraph = aggregatedGraph; + communities.clear(); + let communityId = 0; + for (const node of currentGraph.keys()) { + communities.set(node, communityId++); + } + } + // Map back to original nodes. + const finalCommunities = new Map(); + for (const [node, community] of bestCommunities) { + finalCommunities.set(node, community); + } + // Renumber communities consecutively. + const communityRenumber = new Map(); + let newId = 0; + for (const community of new Set(finalCommunities.values())) { + communityRenumber.set(community, newId++); + } + for (const [node, community] of finalCommunities) { + const newCommunityId = communityRenumber.get(community); + if (newCommunityId !== undefined) { + finalCommunities.set(node, newCommunityId); + } + } + return { + communities: finalCommunities, + modularity: bestModularity, + iterations, + }; +} + +/** + * Calculate modularity of a partition. + */ +function calculateModularity( + graph: AdjacencyMap, + communities: Map, + degrees: Map, + totalWeight: number, + resolution: number, +): number { + let modularity = 0; + const communityWeights = new Map(); + // Calculate internal weights for each community. + for (const [node, neighbors] of graph) { + const nodeCommunity = communities.get(node); + if (nodeCommunity === undefined) { + continue; + } + for (const [neighbor, weight] of neighbors) { + const neighborCommunity = communities.get(neighbor); + if (neighborCommunity === undefined) { + continue; + } + if (nodeCommunity === neighborCommunity) { + modularity += weight; + } + } + const degree = degrees.get(node); + if (degree !== undefined) { + communityWeights.set(nodeCommunity, (communityWeights.get(nodeCommunity) ?? 0) + degree); + } + } + // Handle empty graph or zero weight. + if (totalWeight === 0) { + return 0; + } + // Normalize and apply resolution. + modularity /= 2 * totalWeight; + // Subtract expected edges. + for (const weight of communityWeights.values()) { + modularity -= resolution * (weight / (2 * totalWeight)) ** 2; + } + return modularity; +} + +/** + * Get communities of neighbors. + */ +function getNeighborCommunities( + node: NodeKey, + graph: AdjacencyMap, + communities: Map, +): Map { + const neighborCommunities = new Map(); + const neighbors = graph.get(node); + if (neighbors) { + for (const [neighbor, weight] of neighbors) { + const community = communities.get(neighbor); + if (community !== undefined) { + neighborCommunities.set(community, (neighborCommunities.get(community) ?? 0) + weight); + } + } + } + return neighborCommunities; +} + +/** + * Calculate modularity gain from moving a node to a community. + */ +function calculateModularityGain( + node: NodeKey, + targetCommunity: number, + graph: AdjacencyMap, + communities: Map, + degrees: Map, + totalWeight: number, + resolution: number, +): number { + const currentCommunity = communities.get(node); + const nodeDegree = degrees.get(node); + if (currentCommunity === undefined || nodeDegree === undefined) { + return 0; + } + // Weight of edges from node to target community. + let weightToTarget = 0; + let weightToCurrent = 0; + const neighbors = graph.get(node); + if (neighbors) { + for (const [neighbor, weight] of neighbors) { + const neighborCommunity = communities.get(neighbor); + if (neighborCommunity === undefined) { + continue; + } + if (neighborCommunity === targetCommunity) { + weightToTarget += weight; + } else if (neighborCommunity === currentCommunity && neighbor !== node) { + weightToCurrent += weight; + } + } + } + // Calculate community degrees. + let targetDegree = 0; + let currentDegree = 0; + for (const [n, c] of communities) { + if (c === targetCommunity && n !== node) { + const deg = degrees.get(n); + if (deg !== undefined) { + targetDegree += deg; + } + } else if (c === currentCommunity && n !== node) { + const deg = degrees.get(n); + if (deg !== undefined) { + currentDegree += deg; + } + } + } + // Modularity gain calculation. + const m2 = 2 * totalWeight; + const gain = + (weightToTarget - weightToCurrent) / totalWeight - + (resolution * nodeDegree * (targetDegree - currentDegree)) / (m2 * m2); + return gain; +} + +/** + * Create aggregate network where each community becomes a super-node. + * (Retained verbatim from upstream; the result is intentionally discarded by + * the caller — the side-effect-free call preserves identical control flow.) + */ +function createAggregateNetwork( + graph: AdjacencyMap, + communities: Map, +): { aggregateGraph: Map>; nodeMapping: Map } { + const aggregateGraph = new Map>(); + const nodeMapping = new Map(); + // Create mapping from nodes to communities. + for (const [node, community] of communities) { + nodeMapping.set(node, community); + if (!aggregateGraph.has(community)) { + aggregateGraph.set(community, new Map()); + } + } + // Aggregate edges. + for (const [node, neighbors] of graph) { + const sourceCommunity = communities.get(node); + if (sourceCommunity === undefined) { + continue; + } + for (const [neighbor, weight] of neighbors) { + const targetCommunity = communities.get(neighbor); + if (targetCommunity === undefined) { + continue; + } + const sourceNeighbors = aggregateGraph.get(sourceCommunity); + if (sourceNeighbors) { + const current = sourceNeighbors.get(targetCommunity) ?? 0; + sourceNeighbors.set(targetCommunity, current + weight); + } + } + } + return { aggregateGraph, nodeMapping }; +} + +/** + * Refine partition (Leiden-specific improvement). Ensures well-connected + * communities by considering subsets. + */ +function refinePartition( + originalGraph: AdjacencyMap, + communities: Map, +): Map { + const refined = new Map(); + // For each community, check if it should be split. + const communityNodes = new Map(); + for (const [node, community] of communities) { + if (!communityNodes.has(community)) { + communityNodes.set(community, []); + } + const nodes = communityNodes.get(community); + if (nodes) { + nodes.push(node); + } + } + let newCommunityId = 0; + for (const [community, nodes] of communityNodes) { + if (nodes.length === 1) { + // Single node community. + const singleNode = nodes[0]; + if (singleNode) { + refined.set(singleNode, newCommunityId++); + } + continue; + } + // Check connectivity within community. + const subgraph = new Map>(); + for (const node of nodes) { + subgraph.set(node, new Set()); + const neighbors = originalGraph.get(node); + if (neighbors) { + for (const [neighbor] of neighbors) { + if (communities.get(neighbor) === community) { + const nodeSet = subgraph.get(node); + if (nodeSet) { + nodeSet.add(neighbor); + } + } + } + } + } + // Find connected components within community. + const components = findConnectedComponents(subgraph); + // Assign new community IDs to components. + for (const component of components) { + for (const node of component) { + refined.set(node, newCommunityId); + } + newCommunityId++; + } + } + return refined; +} + +/** + * Find connected components in an undirected graph. + */ +function findConnectedComponents(graph: Map>): Set[] { + const visited = new Set(); + const components: Set[] = []; + for (const node of graph.keys()) { + if (!visited.has(node)) { + const component = new Set(); + const queue: NodeKey[] = [node]; + while (queue.length > 0) { + const current = queue.shift(); + if (current === undefined || visited.has(current)) { + continue; + } + visited.add(current); + component.add(current); + const neighbors = graph.get(current); + if (neighbors) { + for (const neighbor of neighbors) { + if (!visited.has(neighbor)) { + queue.push(neighbor); + } + } + } + } + components.push(component); + } + } + return components; +} + +/** + * Aggregate communities into super-nodes. + */ +function aggregateCommunities( + graph: AdjacencyMap, + communities: Map, +): { graph: Map>; mapping: Map } { + const aggregated = new Map>(); + const mapping = new Map(); + // Create super-nodes. + const communityNodes = new Map(); + for (const community of new Set(communities.values())) { + const superNode = `super_${String(community)}`; + communityNodes.set(community, superNode); + aggregated.set(superNode, new Map()); + } + // Map original nodes to super-nodes. + for (const [node, community] of communities) { + const superNode = communityNodes.get(community); + if (superNode !== undefined) { + mapping.set(node, superNode); + } + } + // Aggregate edges. + for (const [node, neighbors] of graph) { + const sourceCommunity = communities.get(node); + if (sourceCommunity === undefined) { + continue; + } + const sourceSuper = communityNodes.get(sourceCommunity); + if (sourceSuper === undefined) { + continue; + } + for (const [neighbor, weight] of neighbors) { + const targetCommunity = communities.get(neighbor); + if (targetCommunity === undefined) { + continue; + } + const targetSuper = communityNodes.get(targetCommunity); + if (targetSuper === undefined) { + continue; + } + if (sourceSuper !== targetSuper) { + const sourceNeighbors = aggregated.get(sourceSuper); + if (sourceNeighbors) { + const current = sourceNeighbors.get(targetSuper) ?? 0; + sourceNeighbors.set(targetSuper, current + weight); + } + } + } + } + return { graph: aggregated, mapping }; +} + +/** + * Leiden algorithm for community detection. Improves upon Louvain by ensuring + * well-connected communities. + * + * @param graph - Undirected weighted graph (a {@link Graph} instance). + * @param options - Algorithm options. + * @returns Community assignments and modularity. + */ +export function leiden(graph: Graph, options: LeidenOptions = {}): LeidenResult { + // Convert Graph to Map representation. + const graphMap = graphToMap(graph); + return leidenImpl(graphMap, options); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9deafd4b..ea8fb765 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -269,9 +269,6 @@ importers: '@cyclonedx/cyclonedx-library': specifier: 10.0.0 version: 10.0.0(ajv-formats-draft2019@1.6.1(ajv@8.20.0))(ajv-formats@3.0.1(ajv@8.20.0))(ajv@8.20.0)(packageurl-js@2.0.1)(spdx-expression-parse@3.0.1) - '@graphty/algorithms': - specifier: 1.7.1 - version: 1.7.1(@types/node@25.9.1)(typescript@6.0.3) '@iarna/toml': specifier: 2.2.5 version: 2.2.5 @@ -1326,13 +1323,6 @@ packages: resolution: {integrity: sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA==} engines: {node: '>=6'} - '@graphty/algorithms@1.7.1': - resolution: {integrity: sha512-D9oH+xUHVUTKZDE4voxQ/QAa3LBcMfktvOhnVr8DueOYuFb2dx6s5wZIgvWhg1iD8+mAuJyfczgnAqvcvOznPg==} - engines: {node: '>=18.19.0'} - - '@homebridge/node-pty-prebuilt-multiarch@0.11.14': - resolution: {integrity: sha512-fuiq5kb4i0Ao0BTf7O6kvtwUhCCCJHLhWLWaaUaLuniDGS4xmj+gxvkidJpxYVT/zTXdbcLuCY44UnoWC7xODg==} - '@hono/node-server@1.19.14': resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} engines: {node: '>=18.14.1'} @@ -1504,157 +1494,10 @@ packages: cpu: [x64] os: [win32] - '@inquirer/ansi@1.0.2': - resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} - engines: {node: '>=18'} - - '@inquirer/checkbox@4.3.2': - resolution: {integrity: sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/confirm@5.1.21': - resolution: {integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/core@10.3.2': - resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/editor@4.2.23': - resolution: {integrity: sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/expand@4.0.23': - resolution: {integrity: sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/external-editor@1.0.3': - resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/figures@1.0.15': - resolution: {integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==} - engines: {node: '>=18'} - - '@inquirer/input@4.3.1': - resolution: {integrity: sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/number@3.0.23': - resolution: {integrity: sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/password@4.0.23': - resolution: {integrity: sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/prompts@7.10.1': - resolution: {integrity: sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/rawlist@4.1.11': - resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/search@3.2.2': - resolution: {integrity: sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/select@4.4.2': - resolution: {integrity: sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/testing@2.1.53': - resolution: {integrity: sha512-16yaxG5tS4BkCxvIbnGMb4WWWGp8rl5sNBu6LkG93x/7+zpyFyMH0cx78izuNi020yadoke9eoz/Nl31XAkEKg==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@inquirer/type@3.0.10': - resolution: {integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/cliui@9.0.0': - resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} - engines: {node: '>=18'} - '@isaacs/fs-minipass@4.0.1': resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} @@ -1666,12 +1509,6 @@ packages: resolution: {integrity: sha512-h4v52yJUVpA74DdvztFRQWuPgAKE52ysC2h1u/wLqdPjHvouV12Bj2bV4h30sGjEduEWgII+ktOL3kkp3GTK6A==} engines: {node: '>= 16'} - '@kwsites/file-exists@1.1.1': - resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} - - '@kwsites/promise-deferred@1.1.1': - resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - '@ladybugdb/core-darwin-arm64@0.16.1': resolution: {integrity: sha512-Nl+Cf70rD+HaC9IBHv+oeUwqX9plghXD7PN9tyMzMohRVPvcGEbqWPB6YcdJa8rR7qRqCCbmaNMDen5wg4rY2w==} cpu: [arm64] @@ -1889,9 +1726,6 @@ packages: cpu: [x64] os: [win32] - '@pinojs/redact@0.4.0': - resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2051,9 +1885,6 @@ packages: cpu: [x64] os: [win32] - '@sec-ant/readable-stream@0.4.1': - resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@4.0.2': resolution: {integrity: sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==} engines: {node: '>=20'} @@ -2085,12 +1916,6 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@simple-git/args-pathspec@1.0.3': - resolution: {integrity: sha512-ngJMaHlsWDTfjyq9F3VIQ8b7NXbBLq5j9i5bJ6XLYtD6qlDXT7fdKY2KscWWUF8t18xx052Y/PUO1K1TRc9yKA==} - - '@simple-git/argv-parser@1.1.1': - resolution: {integrity: sha512-Q9lBcfQ+VQCpQqGJFHe5yooOS5hGdLFFbJ5R+R5aDsnkPCahtn1hSkMcORX65J2Z5lxSkD0lQorMsncuBQxYUw==} - '@simple-libs/child-process-utils@1.0.2': resolution: {integrity: sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==} engines: {node: '>=18'} @@ -2103,10 +1928,6 @@ packages: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - '@smithy/core@3.24.2': resolution: {integrity: sha512-IKS7qX59fAGCYBmt5JChcDswQDupZqT2Yn2ZBA3UgTlsjRNNkQzZobbn95xoAAdtTyJmBiJB3Y02qR3rgy3Zog==} engines: {node: '>=18.0.0'} @@ -2354,9 +2175,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/uuid@10.0.0': - resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - '@types/write-file-atomic@4.0.3': resolution: {integrity: sha512-qdo+vZRchyJIHNeuI1nrpsLw+hnkgqP/8mlaN6Wle/NKhydHmUN9l4p3ZE8yP90AJNJW4uB8HQhedb4f1vNayQ==} @@ -2445,9 +2263,6 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -2521,10 +2336,6 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -2565,10 +2376,6 @@ packages: bowser@2.14.1: resolution: {integrity: sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==} - boxen@8.0.1: - resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} - engines: {node: '>=18'} - brace-expansion@1.1.13: resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==} @@ -2618,10 +2425,6 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - camelcase@8.0.0: - resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} - engines: {node: '>=16'} - ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2633,10 +2436,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -2652,9 +2451,6 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -2663,9 +2459,6 @@ packages: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -2678,10 +2471,6 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -2706,10 +2495,6 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} - cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - clipanion@4.0.0-rc.4: resolution: {integrity: sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q==} peerDependencies: @@ -2758,15 +2543,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - commander@11.1.0: resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} engines: {node: '>=16'} @@ -3065,9 +2844,6 @@ packages: dagre-d3-es@7.0.14: resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==} - dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dayjs@1.11.20: resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==} @@ -3344,14 +3120,6 @@ packages: resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} - execa@9.6.1: - resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} - engines: {node: ^18.19.0 || >=20.5.0} - - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - expand-tilde@2.0.2: resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} engines: {node: '>=0.10.0'} @@ -3369,10 +3137,6 @@ packages: expressive-code@0.42.0: resolution: {integrity: sha512-V5DtJLEKuj4wf9O6IRtPtRObkMVy2ggR+S0MdjrTw6m58krZnDioyhW1si3Y04c5YPeooP4nd85Yq9NwEVHS4g==} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -3380,9 +3144,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - fast-copy@4.0.3: - resolution: {integrity: sha512-58apWr0GUiDFM8+3afrO6eYwJBn9ZAhDOzG3L+/9llab/haCARS2UIfffmOurYLwbgDRs8n0rfr6qAAPEAuAQw==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3390,9 +3151,6 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - fast-string-truncated-width@3.0.3: resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} @@ -3432,10 +3190,6 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - figures@6.1.0: - resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} - engines: {node: '>=18'} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -3477,9 +3231,6 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs-extra@11.3.5: resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} engines: {node: '>=14.14'} @@ -3524,10 +3275,6 @@ packages: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} - get-stream@9.0.1: - resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} - engines: {node: '>=18'} - get-tsconfig@5.0.0-beta.4: resolution: {integrity: sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==} engines: {node: '>=20.20.0'} @@ -3537,9 +3284,6 @@ packages: engines: {node: '>=18'} hasBin: true - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -3552,12 +3296,6 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me @@ -3614,21 +3352,12 @@ packages: peerDependencies: graphology-types: '>=0.24.0' - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - h3@1.15.11: resolution: {integrity: sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==} hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} - handlebars@4.7.9: - resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} - engines: {node: '>=0.4.7'} - hasBin: true - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -3721,9 +3450,6 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -3760,10 +3486,6 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - human-signals@8.0.1: - resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} - engines: {node: '>=18.18.0'} - i18next@26.1.0: resolution: {integrity: sha512-dIU6td04DvQuIqVst5S9g0GviTmhZ0DYD4b9ociVGJmuCa5vZ2de/t+Enf4olvj87mF8Y2lwjNQBwC9QZsvzKQ==} peerDependencies: @@ -3871,10 +3593,6 @@ packages: engines: {node: '>=20'} hasBin: true - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3903,10 +3621,6 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -3922,22 +3636,10 @@ packages: is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - - is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} - is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} @@ -3959,10 +3661,6 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.2.3: - resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} - engines: {node: 20 || >=22} - jiti@2.6.1: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true @@ -3970,10 +3668,6 @@ packages: jose@6.2.3: resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4013,10 +3707,6 @@ packages: khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -4166,10 +3856,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - log-symbols@6.0.0: - resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} - engines: {node: '>=18'} - log-update@6.1.0: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} @@ -4489,16 +4175,10 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - minisearch@7.2.0: - resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} - minizlib@3.1.0: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4520,21 +4200,11 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - mute-stream@2.0.0: - resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} - engines: {node: ^18.17.0 || >=20.5.0} - - nan@2.27.0: - resolution: {integrity: sha512-hC+0LidcL3XE4rp1C4H54KujgXKzbfyTngZTwBByQxsOxCEKZT0MPQ4hOKUH2jU1OYstqdDH4onyHPDzcV0XdQ==} - nanoid@3.3.12: resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} - nearley@2.20.1: resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} hasBin: true @@ -4543,9 +4213,6 @@ packages: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - neotraverse@0.6.18: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} @@ -4553,10 +4220,6 @@ packages: nlcst-to-string@4.0.0: resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} - node-abi@3.92.0: - resolution: {integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==} - engines: {node: '>=10'} - node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -4590,10 +4253,6 @@ packages: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-run-path@6.0.0: - resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} - engines: {node: '>=18'} - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -4625,10 +4284,6 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -4664,10 +4319,6 @@ packages: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - ora@8.2.0: - resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} - engines: {node: '>=18'} - p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} @@ -4731,10 +4382,6 @@ packages: parse-latin@7.0.0: resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} - parse-ms@4.0.0: - resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} - engines: {node: '>=18'} - parse-passwd@1.0.0: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} @@ -4764,18 +4411,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.2: - resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} - engines: {node: 18 || 20 || >=22} - path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} @@ -4793,23 +4432,6 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} - pino-abstract-transport@2.0.0: - resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - - pino-abstract-transport@3.0.0: - resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} - - pino-pretty@13.1.3: - resolution: {integrity: sha512-ttXRkkOz6WWC95KeY9+xxWL6AtImwbyMHrL1mSwqwW9u+vLp/WIElvHvCSDg0xO/Dzrggz1zv3rN5ovTRVowKg==} - hasBin: true - - pino-std-serializers@7.1.0: - resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - - pino@9.14.0: - resolution: {integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==} - hasBin: true - piscina@5.1.4: resolution: {integrity: sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==} engines: {node: '>=20.x'} @@ -4848,23 +4470,10 @@ packages: resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} - prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} - engines: {node: '>=10'} - deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. - hasBin: true - - pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} - engines: {node: '>=18'} - prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} - process-warning@5.0.0: - resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} - property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -4879,10 +4488,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - pupt@1.4.1: - resolution: {integrity: sha512-1yJAWYFQiO1pwkOFoPCw17E++kRxLpAEzhvy2FSAUshC0xPvXh5cYk6ip1do7X86cKTDAbc9P+b2dh4ujBz/ZQ==} - hasBin: true - qs@6.15.2: resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} @@ -4890,9 +4495,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -4940,10 +4542,6 @@ packages: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -5118,10 +4716,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-stable-stringify@2.5.0: - resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} - engines: {node: '>=10'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -5132,13 +4726,6 @@ packages: schemes@1.4.0: resolution: {integrity: sha512-ImFy9FbCsQlVgnE3TCWmLPCFnVzx0lHL/l+umHplDqAKd0dzFpnS6lFZIpagBlYhKwzVmlV36ec0Y1XTu8JBAQ==} - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - secure-json-parse@4.1.0: - resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==} - semver@7.8.0: resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} engines: {node: '>=10'} @@ -5198,15 +4785,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - - simple-git@3.36.0: - resolution: {integrity: sha512-cGQjLjK8bxJw4QuYT7gxHw3/IouVESbhahSsHrX97MzCL1gu2u7oy38W6L2ZIGECEfIBG4BabsWDPjBxJENv9Q==} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -5242,17 +4820,10 @@ packages: engines: {node: '>=18'} hasBin: true - sonic-boom@4.2.1: - resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - source-map@0.7.6: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} @@ -5281,10 +4852,6 @@ packages: spdx-satisfies@5.0.1: resolution: {integrity: sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw==} - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - starlight-links-validator@0.24.0: resolution: {integrity: sha512-bsZf77oRJmY92KWOcu3vYK8Y12KJNvO3jQca1BgOBs+XskNfjPXrkgVtT7ls/FnLoomfsIV0wLdJfJs7kzGojA==} engines: {node: '>=22.12.0'} @@ -5309,10 +4876,6 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - stdin-discarder@0.2.2: - resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} - engines: {node: '>=18'} - stream-replace-string@2.0.0: resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} @@ -5346,18 +4909,10 @@ packages: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - strip-final-newline@4.0.0: - resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} - engines: {node: '>=18'} - strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} @@ -5366,10 +4921,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-json-comments@5.0.3: - resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} - engines: {node: '>=14.16'} - strnum@2.3.0: resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==} @@ -5403,13 +4954,6 @@ packages: engines: {node: '>=16'} hasBin: true - tar-fs@2.1.4: - resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - tar@7.5.15: resolution: {integrity: sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==} engines: {node: '>=18'} @@ -5418,9 +4962,6 @@ packages: resolution: {integrity: sha512-qFAy10MTMwjzjU8U16YS4YoZD+NQLHzLssFMNqgravjbvIPNiqkGFR4yjhJfmY9R5OFU7+yHxc6y+uGHkKwLRA==} engines: {node: '>=20'} - thread-stream@3.1.0: - resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -5485,9 +5026,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - typanion@3.14.0: resolution: {integrity: sha512-ZW/lVMRabETuYCd9O9ZvMhAh8GslSqaUjxmK/JLPCh6l73CvLBiuXswj/+7LdnWOgYsQ130FqLzFz5aGT4I3Ug==} @@ -5499,17 +5037,10 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - type-is@2.1.0: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} - typedfastbitset@0.6.1: - resolution: {integrity: sha512-+RP2jdehXs774+lqiuqg/g9DcmPeCdWS8atagWb/iZf+pY6BDG2mH5WwBES6nqKXh3QSt4dJjmwoOsJq3iSWRA==} - typescript@6.0.3: resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} @@ -5518,11 +5049,6 @@ packages: ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} @@ -5538,10 +5064,6 @@ packages: undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -5766,25 +5288,14 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - widest-line@5.0.0: - resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} - engines: {node: '>=18'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - wrap-ansi@10.0.0: resolution: {integrity: sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==} engines: {node: '>=20'} - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -5844,22 +5355,11 @@ packages: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} - yoctocolors-cjs@2.1.3: - resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} - engines: {node: '>=18'} - - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} - engines: {node: '>=18'} - zod-to-json-schema@3.25.2: resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==} peerDependencies: zod: ^3.25.28 || ^4 - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} @@ -6674,20 +6174,6 @@ snapshots: '@fortawesome/fontawesome-free@6.7.2': {} - '@graphty/algorithms@1.7.1(@types/node@25.9.1)(typescript@6.0.3)': - dependencies: - pupt: 1.4.1(@types/node@25.9.1)(typescript@6.0.3) - typedfastbitset: 0.6.1 - transitivePeerDependencies: - - '@types/node' - - supports-color - - typescript - - '@homebridge/node-pty-prebuilt-multiarch@0.11.14': - dependencies: - nan: 2.27.0 - prebuild-install: 7.1.3 - '@hono/node-server@1.19.14(hono@4.12.18)': dependencies: hono: 4.12.18 @@ -6800,138 +6286,6 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true - '@inquirer/ansi@1.0.2': {} - - '@inquirer/checkbox@4.3.2(@types/node@25.9.1)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.1) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/confirm@5.1.21(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/core@10.3.2(@types/node@25.9.1)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.1) - cli-width: 4.1.0 - mute-stream: 2.0.0 - signal-exit: 4.1.0 - wrap-ansi: 6.2.0 - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/editor@4.2.23(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/external-editor': 1.0.3(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/expand@4.0.23(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/external-editor@1.0.3(@types/node@25.9.1)': - dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.2 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/figures@1.0.15': {} - - '@inquirer/input@4.3.1(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/number@3.0.23(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/password@4.0.23(@types/node@25.9.1)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/prompts@7.10.1(@types/node@25.9.1)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.9.1) - '@inquirer/confirm': 5.1.21(@types/node@25.9.1) - '@inquirer/editor': 4.2.23(@types/node@25.9.1) - '@inquirer/expand': 4.0.23(@types/node@25.9.1) - '@inquirer/input': 4.3.1(@types/node@25.9.1) - '@inquirer/number': 3.0.23(@types/node@25.9.1) - '@inquirer/password': 4.0.23(@types/node@25.9.1) - '@inquirer/rawlist': 4.1.11(@types/node@25.9.1) - '@inquirer/search': 3.2.2(@types/node@25.9.1) - '@inquirer/select': 4.4.2(@types/node@25.9.1) - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/rawlist@4.1.11(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/search@3.2.2(@types/node@25.9.1)': - dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.1) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/select@4.4.2(@types/node@25.9.1)': - dependencies: - '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.1) - yoctocolors-cjs: 2.1.3 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/testing@2.1.53(@types/node@25.9.1)': - dependencies: - '@inquirer/type': 3.0.10(@types/node@25.9.1) - mute-stream: 2.0.0 - optionalDependencies: - '@types/node': 25.9.1 - - '@inquirer/type@3.0.10(@types/node@25.9.1)': - optionalDependencies: - '@types/node': 25.9.1 - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -6941,8 +6295,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/cliui@9.0.0': {} - '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.3 @@ -6952,14 +6304,6 @@ snapshots: '@kreuzberg/tree-sitter-language-pack@1.8.0': optional: true - '@kwsites/file-exists@1.1.1': - dependencies: - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - '@kwsites/promise-deferred@1.1.1': {} - '@ladybugdb/core-darwin-arm64@0.16.1': optional: true @@ -7159,8 +6503,6 @@ snapshots: '@pagefind/windows-x64@1.5.2': optional: true - '@pinojs/redact@0.4.0': {} - '@pkgjs/parseargs@0.11.0': optional: true @@ -7253,8 +6595,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.60.3': optional: true - '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@4.0.2': dependencies: '@shikijs/primitive': 4.0.2 @@ -7295,12 +6635,6 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@simple-git/args-pathspec@1.0.3': {} - - '@simple-git/argv-parser@1.1.1': - dependencies: - '@simple-git/args-pathspec': 1.0.3 - '@simple-libs/child-process-utils@1.0.2': dependencies: '@simple-libs/stream-utils': 1.2.0 @@ -7309,8 +6643,6 @@ snapshots: '@sindresorhus/is@4.6.0': {} - '@sindresorhus/merge-streams@4.0.0': {} - '@smithy/core@3.24.2': dependencies: '@aws-crypto/crc32': 5.2.0 @@ -7634,8 +6966,6 @@ snapshots: '@types/unist@3.0.3': {} - '@types/uuid@10.0.0': {} - '@types/write-file-atomic@4.0.3': dependencies: '@types/node': 25.7.0 @@ -7762,10 +7092,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -7909,8 +7235,6 @@ snapshots: at-least-node@1.0.0: {} - atomic-sleep@1.0.0: {} - axobject-query@4.1.0: {} bail@2.0.2: {} @@ -7955,17 +7279,6 @@ snapshots: bowser@2.14.1: {} - boxen@8.0.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 8.0.0 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 7.2.0 - type-fest: 4.41.0 - widest-line: 5.0.0 - wrap-ansi: 9.0.2 - brace-expansion@1.1.13: dependencies: balanced-match: 1.0.2 @@ -8016,8 +7329,6 @@ snapshots: camelcase@5.3.1: {} - camelcase@8.0.0: {} - ccount@2.0.1: {} chalk@2.4.2: @@ -8031,8 +7342,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.6.2: {} - character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -8043,8 +7352,6 @@ snapshots: chardet@0.7.0: {} - chardet@2.1.1: {} - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -8061,16 +7368,12 @@ snapshots: dependencies: readdirp: 5.0.0 - chownr@1.1.4: {} - chownr@3.0.0: {} ci-info@4.4.0: {} clean-stack@2.2.0: {} - cli-boxes@3.0.0: {} - cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -8094,8 +7397,6 @@ snapshots: cli-width@3.0.0: {} - cli-width@4.1.0: {} - clipanion@4.0.0-rc.4(typanion@3.14.0): dependencies: typanion: 3.14.0 @@ -8151,12 +7452,8 @@ snapshots: color-name@1.1.4: {} - colorette@2.0.20: {} - comma-separated-tokens@2.0.3: {} - command-exists@1.2.9: {} - commander@11.1.0: {} commander@14.0.3: {} @@ -8490,8 +7787,6 @@ snapshots: d3: 7.9.0 lodash-es: 4.18.1 - dateformat@4.6.3: {} - dayjs@1.11.20: {} debug@4.4.3: @@ -8782,23 +8077,6 @@ snapshots: dependencies: eventsource-parser: 3.0.8 - execa@9.6.1: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.6 - figures: 6.1.0 - get-stream: 9.0.1 - human-signals: 8.0.1 - is-plain-obj: 4.1.0 - is-stream: 4.0.1 - npm-run-path: 6.0.0 - pretty-ms: 9.3.0 - signal-exit: 4.1.0 - strip-final-newline: 4.0.0 - yoctocolors: 2.1.2 - - expand-template@2.0.3: {} - expand-tilde@2.0.2: dependencies: homedir-polyfill: 1.0.3 @@ -8848,10 +8126,6 @@ snapshots: '@expressive-code/plugin-shiki': 0.42.0 '@expressive-code/plugin-text-markers': 0.42.0 - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - extend@3.0.2: {} external-editor@3.1.0: @@ -8860,8 +8134,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.2.6 - fast-copy@4.0.3: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -8872,8 +8144,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-safe-stringify@2.1.1: {} - fast-string-truncated-width@3.0.3: {} fast-string-width@3.0.2: @@ -8918,10 +8188,6 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - figures@6.1.0: - dependencies: - is-unicode-supported: 2.1.0 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -8970,8 +8236,6 @@ snapshots: fresh@2.0.0: {} - fs-constants@1.0.0: {} - fs-extra@11.3.5: dependencies: graceful-fs: 4.2.11 @@ -9021,11 +8285,6 @@ snapshots: dependencies: pump: 3.0.4 - get-stream@9.0.1: - dependencies: - '@sec-ant/readable-stream': 0.4.1 - is-stream: 4.0.1 - get-tsconfig@5.0.0-beta.4: dependencies: resolve-pkg-maps: 1.0.0 @@ -9038,8 +8297,6 @@ snapshots: - conventional-commits-filter - conventional-commits-parser - github-from-package@0.0.0: {} - github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -9055,15 +8312,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.1.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.2.3 - minimatch: 10.2.5 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.2 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -9140,13 +8388,6 @@ snapshots: events: 3.3.0 graphology-types: 0.24.8 - gray-matter@4.0.3: - dependencies: - js-yaml: 4.1.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - h3@1.15.11: dependencies: cookie-es: 1.2.3 @@ -9161,15 +8402,6 @@ snapshots: hachure-fill@0.5.2: {} - handlebars@4.7.9: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -9405,8 +8637,6 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 - help-me@5.0.0: {} - homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -9440,8 +8670,6 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - human-signals@8.0.1: {} - i18next@26.1.0(typescript@6.0.3): optionalDependencies: typescript: 6.0.3 @@ -9535,8 +8763,6 @@ snapshots: is-docker@4.0.0: {} - is-extendable@0.1.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -9557,8 +8783,6 @@ snapshots: is-interactive@1.0.0: {} - is-interactive@2.0.0: {} - is-number@7.0.0: {} is-obj@2.0.0: {} @@ -9567,14 +8791,8 @@ snapshots: is-promise@4.0.0: {} - is-stream@4.0.1: {} - is-unicode-supported@0.1.0: {} - is-unicode-supported@1.3.0: {} - - is-unicode-supported@2.1.0: {} - is-utf8@0.2.1: {} is-windows@1.0.2: {} @@ -9593,16 +8811,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.2.3: - dependencies: - '@isaacs/cliui': 9.0.0 - jiti@2.6.1: {} jose@6.2.3: {} - joycon@3.1.1: {} - js-tokens@4.0.0: {} js-yaml@4.1.1: @@ -9637,8 +8849,6 @@ snapshots: khroma@2.1.0: {} - kind-of@6.0.3: {} - klona@2.0.6: {} layout-base@1.0.2: {} @@ -9763,11 +8973,6 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - log-symbols@6.0.0: - dependencies: - chalk: 5.6.2 - is-unicode-supported: 1.3.0 - log-update@6.1.0: dependencies: ansi-escapes: 7.3.0 @@ -10350,6 +9555,7 @@ snapshots: minimatch@10.2.5: dependencies: brace-expansion: 5.0.6 + optional: true minimatch@3.1.4: dependencies: @@ -10365,14 +9571,10 @@ snapshots: minipass@7.1.3: {} - minisearch@7.2.0: {} - minizlib@3.1.0: dependencies: minipass: 7.1.3 - mkdirp-classic@0.5.3: {} - mkdirp@1.0.4: {} mnemonist@0.39.8: @@ -10387,14 +9589,8 @@ snapshots: mute-stream@0.0.8: {} - mute-stream@2.0.0: {} - - nan@2.27.0: {} - nanoid@3.3.12: {} - napi-build-utils@2.0.0: {} - nearley@2.20.1: dependencies: commander: 2.20.3 @@ -10404,18 +9600,12 @@ snapshots: negotiator@1.0.0: {} - neo-async@2.6.2: {} - neotraverse@0.6.18: {} nlcst-to-string@4.0.0: dependencies: '@types/nlcst': 2.0.3 - node-abi@3.92.0: - dependencies: - semver: 7.8.0 - node-addon-api@6.1.0: {} node-api-headers@1.8.0: {} @@ -10441,11 +9631,6 @@ snapshots: npm-normalize-package-bin@3.0.1: {} - npm-run-path@6.0.0: - dependencies: - path-key: 4.0.0 - unicorn-magic: 0.3.0 - nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -10470,8 +9655,6 @@ snapshots: ohash@2.0.11: {} - on-exit-leak-free@2.1.2: {} - on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -10518,18 +9701,6 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - ora@8.2.0: - dependencies: - chalk: 5.6.2 - cli-cursor: 5.0.0 - cli-spinners: 2.9.2 - is-interactive: 2.0.0 - is-unicode-supported: 2.1.0 - log-symbols: 6.0.0 - stdin-discarder: 0.2.2 - string-width: 7.2.0 - strip-ansi: 7.2.0 - p-cancelable@2.1.1: {} p-defer@1.0.0: {} @@ -10603,8 +9774,6 @@ snapshots: unist-util-visit-children: 3.0.0 vfile: 6.0.3 - parse-ms@4.0.0: {} - parse-passwd@1.0.0: {} parse5@7.3.0: @@ -10624,18 +9793,11 @@ snapshots: path-key@3.1.1: {} - path-key@4.0.0: {} - path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 minipass: 7.1.3 - path-scurry@2.0.2: - dependencies: - lru-cache: 11.3.6 - minipass: 7.1.3 - path-to-regexp@8.4.2: {} piccolore@0.1.3: {} @@ -10646,46 +9808,6 @@ snapshots: picomatch@4.0.4: {} - pino-abstract-transport@2.0.0: - dependencies: - split2: 4.2.0 - - pino-abstract-transport@3.0.0: - dependencies: - split2: 4.2.0 - - pino-pretty@13.1.3: - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 4.0.3 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 3.0.0 - pump: 3.0.4 - secure-json-parse: 4.1.0 - sonic-boom: 4.2.1 - strip-json-comments: 5.0.3 - - pino-std-serializers@7.1.0: {} - - pino@9.14.0: - dependencies: - '@pinojs/redact': 0.4.0 - atomic-sleep: 1.0.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 2.0.0 - pino-std-serializers: 7.1.0 - process-warning: 5.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.1 - thread-stream: 3.1.0 - piscina@5.1.4: optionalDependencies: '@napi-rs/nice': 1.1.1 @@ -10723,29 +9845,8 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - prebuild-install@7.1.3: - dependencies: - detect-libc: 2.1.2 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 2.0.0 - node-abi: 3.92.0 - pump: 3.0.4 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.4 - tunnel-agent: 0.6.0 - - pretty-ms@9.3.0: - dependencies: - parse-ms: 4.0.0 - prismjs@1.30.0: {} - process-warning@5.0.0: {} - property-information@7.1.0: {} proxy-addr@2.0.7: @@ -10760,47 +9861,12 @@ snapshots: punycode@2.3.1: {} - pupt@1.4.1(@types/node@25.9.1)(typescript@6.0.3): - dependencies: - '@homebridge/node-pty-prebuilt-multiarch': 0.11.14 - '@inquirer/core': 10.3.2(@types/node@25.9.1) - '@inquirer/prompts': 7.10.1(@types/node@25.9.1) - '@inquirer/testing': 2.1.53(@types/node@25.9.1) - '@inquirer/type': 3.0.10(@types/node@25.9.1) - '@types/uuid': 10.0.0 - boxen: 8.0.1 - chalk: 5.6.2 - command-exists: 1.2.9 - commander: 14.0.3 - cosmiconfig: 9.0.1(typescript@6.0.3) - execa: 9.6.1 - fs-extra: 11.3.5 - glob: 11.1.0 - gray-matter: 4.0.3 - handlebars: 4.7.9 - minimatch: 10.2.5 - minisearch: 7.2.0 - ora: 8.2.0 - pino: 9.14.0 - pino-pretty: 13.1.3 - simple-git: 3.36.0 - strip-ansi: 7.2.0 - uuid: 14.0.0 - yaml: 2.9.0 - zod: 3.25.76 - transitivePeerDependencies: - - '@types/node' - - supports-color - - typescript - qs@6.15.2: dependencies: side-channel: 1.1.0 queue-microtask@1.2.3: {} - quick-format-unescaped@4.0.4: {} - quick-lru@5.1.1: {} radix3@1.1.2: {} @@ -10859,8 +9925,6 @@ snapshots: readdirp@5.0.0: {} - real-require@0.2.0: {} - recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.9 @@ -11154,8 +10218,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-stable-stringify@2.5.0: {} - safer-buffer@2.1.2: {} sax@1.6.0: {} @@ -11164,13 +10226,6 @@ snapshots: dependencies: extend: 3.0.2 - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - - secure-json-parse@4.1.0: {} - semver@7.8.0: {} send@1.2.1: @@ -11284,24 +10339,6 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - - simple-git@3.36.0: - dependencies: - '@kwsites/file-exists': 1.1.1 - '@kwsites/promise-deferred': 1.1.1 - '@simple-git/args-pathspec': 1.0.3 - '@simple-git/argv-parser': 1.1.1 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - sisteransi@1.0.5: {} sitemap@9.0.1: @@ -11362,14 +10399,8 @@ snapshots: - supports-color - typanion - sonic-boom@4.2.1: - dependencies: - atomic-sleep: 1.0.0 - source-map-js@1.2.1: {} - source-map@0.6.1: {} - source-map@0.7.6: {} space-separated-tokens@2.0.2: {} @@ -11402,8 +10433,6 @@ snapshots: spdx-expression-parse: 3.0.1 spdx-ranges: 2.1.1 - split2@4.2.0: {} - starlight-links-validator@0.24.0(@astrojs/starlight@0.39.2(astro@6.3.8(@types/node@25.9.1)(jiti@2.6.1)(rollup@4.60.3)(tsx@4.22.3)(yaml@2.9.0))(typescript@6.0.3))(astro@6.3.8(@types/node@25.9.1)(jiti@2.6.1)(rollup@4.60.3)(tsx@4.22.3)(yaml@2.9.0)): dependencies: '@astrojs/starlight': 0.39.2(astro@6.3.8(@types/node@25.9.1)(jiti@2.6.1)(rollup@4.60.3)(tsx@4.22.3)(yaml@2.9.0))(typescript@6.0.3) @@ -11451,8 +10480,6 @@ snapshots: statuses@2.0.2: {} - stdin-discarder@0.2.2: {} - stream-replace-string@2.0.0: {} string-width@4.2.3: @@ -11495,18 +10522,12 @@ snapshots: dependencies: ansi-regex: 6.2.2 - strip-bom-string@1.0.0: {} - strip-bom@4.0.0: {} - strip-final-newline@4.0.0: {} - strip-json-comments@2.0.1: {} strip-json-comments@3.1.1: {} - strip-json-comments@5.0.3: {} - strnum@2.3.0: {} style-to-js@1.1.21: @@ -11544,21 +10565,6 @@ snapshots: picocolors: 1.1.1 sax: 1.6.0 - tar-fs@2.1.4: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.4 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.5 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - tar@7.5.15: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -11572,10 +10578,6 @@ snapshots: ansi-escapes: 7.3.0 supports-hyperlinks: 4.4.0 - thread-stream@3.1.0: - dependencies: - real-require: 0.2.0 - through@2.3.8: {} tiny-inflate@1.0.3: {} @@ -11625,33 +10627,22 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - typanion@3.14.0: {} type-fest@0.20.2: {} type-fest@0.21.3: {} - type-fest@4.41.0: {} - type-is@2.1.0: dependencies: content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 - typedfastbitset@0.6.1: {} - typescript@6.0.3: {} ufo@1.6.4: {} - uglify-js@3.19.3: - optional: true - ultrahtml@1.6.0: {} uncrypto@0.1.3: {} @@ -11662,8 +10653,6 @@ snapshots: undici-types@7.24.6: {} - unicorn-magic@0.3.0: {} - unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -11832,26 +10821,14 @@ snapshots: dependencies: isexe: 4.0.0 - widest-line@5.0.0: - dependencies: - string-width: 7.2.0 - word-wrap@1.2.5: {} - wordwrap@1.0.0: {} - wrap-ansi@10.0.0: dependencies: ansi-styles: 6.2.3 string-width: 8.2.1 strip-ansi: 7.2.0 - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -11911,16 +10888,10 @@ snapshots: yocto-queue@1.2.2: {} - yoctocolors-cjs@2.1.3: {} - - yoctocolors@2.1.2: {} - zod-to-json-schema@3.25.2(zod@4.4.3): dependencies: zod: 4.4.3 - zod@3.25.76: {} - zod@4.4.3: {} zwitch@2.0.4: {} @@ -11937,7 +10908,6 @@ time: '@commitlint/config-conventional@21.0.1': '2026-05-12T14:26:45.839Z' '@cyclonedx/cyclonedx-library@10.0.0': '2026-03-03T10:57:14.590Z' '@duckdb/node-api@1.5.2-r.2': '2026-05-18T16:57:03.548Z' - '@graphty/algorithms@1.7.1': '2026-01-09T07:21:13.844Z' '@huggingface/tokenizers@0.1.3': '2026-03-18T20:30:05.853Z' '@iarna/toml@2.2.5': '2020-04-22T20:16:59.382Z' '@ladybugdb/core@0.16.1': '2026-05-04T06:04:33.965Z' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 52f790b2..28241a62 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -58,7 +58,6 @@ allowBuilds: # LadybugDB native binding — copies lbugjs.node from the platform sub-package "@ladybugdb/core": true # Misc native addons - "@homebridge/node-pty-prebuilt-multiarch": true esbuild: true lefthook: true onnxruntime-node: true