git: 9275fdcc43e5 - main - misc/github-copilot-cli-legacy: remove in favor of misc/github-copilot-cli

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 22 Sep 2026 22:39:14 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9275fdcc43e5f50ae3fabbe003ad0906c653eda4

commit 9275fdcc43e5f50ae3fabbe003ad0906c653eda4
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-09-22 22:38:13 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-09-22 22:38:13 +0000

    misc/github-copilot-cli-legacy: remove in favor of misc/github-copilot-cli
---
 MOVED                                              |   1 +
 misc/Makefile                                      |   1 -
 misc/github-copilot-cli-legacy/Makefile            | 241 ---------
 misc/github-copilot-cli-legacy/distinfo            |  13 -
 misc/github-copilot-cli-legacy/files/launcher.c    | 187 -------
 .../files/package-lock-keytar.json                 | 455 -----------------
 .../files/package-lock-node-addon-api.json         |  24 -
 .../files/package-lock-pty.json                    |  31 --
 .../files/package-lock-sharp.json                  | 564 ---------------------
 .../files/package-lock.json                        | 128 -----
 ...tch-node__modules__github_copilot_npm-loader.js |  10 -
 misc/github-copilot-cli-legacy/pkg-descr           |  18 -
 misc/github-copilot-cli-legacy/pkg-plist           | 239 ---------
 misc/github-copilot-cli-legacy/pkg-plist.binary    |   1 -
 14 files changed, 1 insertion(+), 1912 deletions(-)

diff --git a/MOVED b/MOVED
index 4e7623d76d99..25ba26920bc8 100644
--- a/MOVED
+++ b/MOVED
@@ -5618,3 +5618,4 @@ databases/py-cassandra-driver||2026-09-15|Has expired: Depends on expired lang/c
 misc/py-python-pygtrie|misc/py-pygtrie|2026-09-16|Project was renamed on PyPI
 sysutils/py-py-cpuinfo|sysutils/py-py-cpuinfo2|2026-09-16|Remove obsolete sysutils/py-py-cpuinfo in favor of sysutils/py-py-cpuinfo2
 textproc/uim-gtk2||2026-09-20|Has expired: Uses deprecated gtk2 libraries
+misc/github-copilot-cli-legacy|misc/github-copilot-cli|2026-09-22|Remove in favor of misc/github-copilot-cli which is a Linux binary which works well on FreeBSD
diff --git a/misc/Makefile b/misc/Makefile
index 0e13300c9347..8a823b10e3e7 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -178,7 +178,6 @@
     SUBDIR += ggml
     SUBDIR += gimp-help-en
     SUBDIR += github-copilot-cli
-    SUBDIR += github-copilot-cli-legacy
     SUBDIR += github-copilot-language-server
     SUBDIR += gitlogue
     SUBDIR += gkrellm-gamma
diff --git a/misc/github-copilot-cli-legacy/Makefile b/misc/github-copilot-cli-legacy/Makefile
deleted file mode 100644
index 6b1ad6421042..000000000000
--- a/misc/github-copilot-cli-legacy/Makefile
+++ /dev/null
@@ -1,241 +0,0 @@
-PORTNAME=	github-copilot-cli
-DISTVERSION=	1.0.44
-CATEGORIES=	misc # machine-learning
-DISTFILES=	${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}
-DIST_SUBDIR=	${PORTNAME}-x # -x is to see if it would fix checksum errors
-
-MAINTAINER=	yuri@FreeBSD.org
-COMMENT=	GitHub Copilot CLI brings the power of the coding agent to terminal
-WWW=		https://github.com/github/copilot-cli
-
-FLAVORS=	script binary
-FLAVOR?=	${FLAVORS:[1]}
-script_PKGNAMESUFFIX=	-legacy
-binary_PKGNAMESUFFIX=	-legacy-bin
-binary_COMMENT=	GitHub Copilot CLI - standalone binary (no npm dependencies)
-binary_PLIST=	${.CURDIR}/pkg-plist.binary
-
-FETCH_DEPENDS=	flock:sysutils/flock \
-		npm:www/npm \
-		jq:textproc/jq \
-		${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
-
-WRKSRC=		${WRKDIR}/copilot-${DISTVERSION}
-
-PACKAGE_NAME=	@github/copilot
-
-DD=		${DISTDIR}/${DIST_SUBDIR}
-
-FETCH_SCRIPT=	${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh
-
-FETCH_LOCKFILE=	${DD}/fetch.lock
-
-.if ${FLAVOR} == script
-DISTFILES+=	${NODE_HEADERS}${EXTRACT_SUFX}
-
-BUILD_DEPENDS=	npm:www/npm \
-		libsecret>0:security/libsecret \
-		vips>=8.17.2:graphics/vips
-RUN_DEPENDS=	libsecret>0:security/libsecret \
-		rg:textproc/ripgrep \
-		vips>=8.17.2:graphics/vips
-
-USES=		nodejs:run pkgconfig python:build
-
-.elif ${FLAVOR} == binary
-BROKEN=		See if the binary flavor somehow causes fetch failures
-DISTFILES+=	${NODE_HEADERS}${EXTRACT_SUFX}
-
-BUILD_DEPENDS=	npm:www/npm \
-		libsecret>0:security/libsecret \
-		vips>=8.17.2:graphics/vips
-
-# The node binary is bundled inside the port binary; its shared libraries
-# must still be present at runtime so they are listed here.
-LIB_DEPENDS=	libada.so:devel/libada \
-		libbrotlidec.so:archivers/brotli \
-		libcares.so:dns/c-ares \
-		libgtest.so:devel/googletest \
-		libhdr_histogram.so:graphics/hdr_histogram \
-		libicui18n.so:devel/icu \
-		libllhttp.so:www/llhttp \
-		libmerve.so:devel/merve \
-		libnbytes.so:www/nbytes \
-		libnghttp2.so:www/libnghttp2 \
-		libnghttp3.so:www/libnghttp3 \
-		libngtcp2.so:net/libngtcp2 \
-		libsimdjson.so:devel/simdjson \
-		libsimdutf.so:converters/simdutf \
-		libsqlite3.so:databases/sqlite3 \
-		libuv.so:devel/libuv \
-		libuvwasi.so:devel/uvwasi \
-		libzstd.so:archivers/zstd
-RUN_DEPENDS=	libsecret>0:security/libsecret \
-		vips>=8.17.2:graphics/vips
-
-USES=		nodejs:build pkgconfig python:build
-
-.endif	# FLAVOR
-
-NODE_HEADERS=	node-v22.19.0-headers
-
-NODE_ARCH=	${ARCH:S/amd64/x64/:S/aarch64/arm64/:S/i386/ia32/:S/powerpc64le/ppc64le/:S/powerpc64/ppc64/:C/armv[67]/arm/} # modeled after electron.mk
-PLIST_SUB=	NODE_ARCH=${NODE_ARCH}
-
-DEP_MODULES=			pty sharp keytar node_addon_api
-dep_pty_npm_name=		@devm33/node-pty
-dep_pty_version=		1.0.9
-dep_sharp_npm_name=		sharp
-dep_sharp_version=		0.34.4
-dep_keytar_npm_name=		keytar
-dep_keytar_version=		7.9.0
-dep_node_addon_api_npm_name=	node-addon-api
-dep_node_addon_api_version=	8.5.0
-
-.for dep in ${DEP_MODULES}
-DISTFILES+=	${dep:S/_/-/g}-${dep_${dep}_version}${EXTRACT_SUFX}
-.endfor
-
-do-fetch:
-	@${MKDIR} ${DD}
-	@exec 9>${FETCH_LOCKFILE} && flock -x 9 && \
-	if ! [ -f ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}" && \
-		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
-			${PACKAGE_NAME} ${DISTVERSION} \
-			${FILESDIR}/package-lock.json \
-			${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \
-	fi && \
-	if ! [ -f ${DD}/${NODE_HEADERS}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching ${NODE_HEADERS}${EXTRACT_SUFX}" && \
-		${FETCH_CMD} -q https://nodejs.org/download/release/v22.19.0/${NODE_HEADERS}${EXTRACT_SUFX} \
-			-o ${DD}/${NODE_HEADERS}${EXTRACT_SUFX}; \
-	fi && \
-	if ! [ -f ${DD}/pty-${dep_pty_version}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching dependency pty" && \
-		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
-			${dep_pty_npm_name} ${dep_pty_version} \
-			${FILESDIR}/package-lock-pty.json \
-			${DD}/pty-${dep_pty_version}${EXTRACT_SUFX}; \
-	fi && \
-	if ! [ -f ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching dependency sharp" && \
-		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
-			${dep_sharp_npm_name} ${dep_sharp_version} \
-			${FILESDIR}/package-lock-sharp.json \
-			${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX}; \
-	fi && \
-	if ! [ -f ${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching dependency keytar" && \
-		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
-			${dep_keytar_npm_name} ${dep_keytar_version} \
-			${FILESDIR}/package-lock-keytar.json \
-			${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX}; \
-	fi && \
-	if ! [ -f ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} ]; then \
-		${ECHO} "====> Fetching dependency node-addon-api" && \
-		${SETENV} TMPDIR=${WRKDIR} LOCALBASE=${LOCALBASE} ${FETCH_SCRIPT} \
-			${dep_node_addon_api_npm_name} ${dep_node_addon_api_version} \
-			${FILESDIR}/package-lock-node-addon-api.json \
-			${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX}; \
-	fi
-
-post-extract:
-	# Extract node-addon-api and install into sharp/node_modules
-	# the tarball has a nested structure, so we need to move the inner directory
-	@${MV} \
-		${WRKDIR}/${dep_node_addon_api_npm_name}-${dep_node_addon_api_version}/node_modules/${dep_node_addon_api_npm_name} \
-		${WRKDIR}/${dep_sharp_npm_name}-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/node_modules/node-addon-api
-
-post-patch:
-	# set version
-	${REINPLACE_CMD} -i '' \
-		-e 's|qg.default.createElement(U,{color:e.MUTED},"v",t)|qg.default.createElement(U,{color:e.MUTED},"v","${PORTVERSION}")|g' \
-		${WRKSRC}/node_modules/@github/copilot/index.js
-	# keytar bundles node-addon-api 4.3.0, whose napi.h initializes
-	# TypedArray::unknown_array_type with static_cast<napi_typedarray_type>(-1).
-	# Clang 16+ (FreeBSD 16-CURRENT) rejects this as "not a constant expression"
-	# because -1 falls outside the valid range [0,15] of the enum.
-	# Adding 'inline' makes it a C++17 inline static data member whose
-	# initialiser is no longer required to be a constant expression.
-	@${REINPLACE_CMD} -i '' \
-		-e "s/static const napi_typedarray_type unknown_array_type = /static inline const napi_typedarray_type unknown_array_type = /" \
-		${WRKSRC}/../keytar-${dep_keytar_version}/node_modules/keytar/node_modules/node-addon-api/napi.h
-
-do-build:
-	# Create directory for FreeBSD prebuilds
-	@${MKDIR} ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64
-	@${ECHO_MSG} "====> Building pty..."
-	@cd ${WRKDIR}/node-pty-${dep_pty_version}/node_modules/${dep_pty_npm_name} && \
-		${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} CFLAGS="-I${LOCALBASE}/include" CXXFLAGS="-I${LOCALBASE}/include" \
-			npm rebuild --nodedir=${LOCALBASE} && \
-		${CP} build/Release/pty.node ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64/
-	@${ECHO_MSG} "====> Building sharp..."
-	@cd ${WRKDIR}/sharp-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/src && \
-		${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} CXXFLAGS="-I${LOCALBASE}/include" \
-			node-gyp configure build --nodedir=${WRKDIR}/node-v22.19.0 && \
-		${MKDIR} ${WRKSRC}/node_modules/${PACKAGE_NAME}/node_modules/@img/sharp-freebsd-${NODE_ARCH} && \
-		${CP} build/Release/sharp-freebsd-${NODE_ARCH}.node ${WRKSRC}/node_modules/${PACKAGE_NAME}/node_modules/@img/sharp-freebsd-${NODE_ARCH}/sharp.node
-	@${ECHO_MSG} "====> Building keytar..."
-	@cd ${WRKDIR}/keytar-${dep_keytar_version}/node_modules/${dep_keytar_npm_name} && \
-		${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} CFLAGS="-I${LOCALBASE}/include" CXXFLAGS="-I${LOCALBASE}/include" \
-			npm rebuild --nodedir=${LOCALBASE} && \
-		${CP} build/Release/keytar.node ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64/
-.if ${FLAVOR} == binary
-	@${ECHO_MSG} "====> Creating copilot bundle (includes node runtime)..."
-	# Embed the node runtime so it runs without a system node installation
-	@${CP} ${LOCALBASE}/bin/node ${WRKSRC}/node_modules/${PACKAGE_NAME}/node
-	@cd ${WRKSRC}/node_modules/${PACKAGE_NAME} && \
-		${TAR} --exclude=./ripgrep --exclude=./sharp \
-			--exclude=./changelog.json --exclude=./npm-loader.js.orig \
-			-cJf ${WRKSRC}/copilot_bundle.txz .
-	@${ECHO_MSG} "====> Building copilot launcher..."
-	@${PRINTF} '\t.global _binary_copilot_bundle_txz_start\n\t.global _binary_copilot_bundle_txz_end\n_binary_copilot_bundle_txz_start:\n\t.incbin "%s"\n_binary_copilot_bundle_txz_end:\n' \
-		"${WRKSRC}/copilot_bundle.txz" > ${WRKSRC}/blob.s
-	@${CC} -c ${WRKSRC}/blob.s -o ${WRKSRC}/blob.o
-	@${CC} ${CFLAGS} \
-		-DPREFIX='"${PREFIX}"' \
-		-DPORTVERSION='"${PORTVERSION}"' \
-		-c ${FILESDIR}/launcher.c -o ${WRKSRC}/launcher.o
-	@${CC} ${LDFLAGS} -o ${WRKSRC}/copilot ${WRKSRC}/launcher.o ${WRKSRC}/blob.o
-	@${STRIP_CMD} ${WRKSRC}/copilot
-.endif	# FLAVOR == binary
-
-x:
-	${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -path "*/build/*" -name *.node | ${XARGS} ${STRIP_CMD}
-
-x2:
-	@${STRIP_CMD} ${WRKSRC}/copilot
-
-do-install:
-.if ${FLAVOR} == script
-	# install files
-	cd ${WRKSRC} && \
-		${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib
-	# remove *.node files for other OSes
-	@${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*\\.node" | \
-		${GREP} -v freebsd | \
-		${XARGS} ${RM}
-	# remove files for other OSes
-	@${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*linux*" | ${XARGS} ${RM} -r
-	@${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*win32*" | ${XARGS} ${RM} -r
-	@${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*darwin*" | ${XARGS} ${RM} -r
-	# remove unnecessary files
-	@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "*package*.json" -delete
-	@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "README.md" -delete
-	@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "LICENSE.md" -delete
-	# update shebang to use system node
-	@${REINPLACE_CMD} -i '' \
-		-e "s|#!/usr/bin/env node|#!${PREFIX}/bin/node|" \
-		${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/index.js
-	# set exec bit
-	@${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/npm-loader.js
-	# create symlink in bin
-	@${RLN} -s ${STAGEDIR}${PREFIX}/lib/node_modules/.bin/copilot ${STAGEDIR}${PREFIX}/bin/copilot
-	# strip binaries (disabed because it breaks on 14 where strip fails with a cryptic error)
-	#@${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -path "*/build/*" -name *.node | ${XARGS} ${STRIP_CMD}
-.elif ${FLAVOR} == binary
-	${INSTALL_PROGRAM} ${WRKSRC}/copilot ${STAGEDIR}${PREFIX}/bin/copilot
-.endif	# FLAVOR
-
-.include <bsd.port.mk>
diff --git a/misc/github-copilot-cli-legacy/distinfo b/misc/github-copilot-cli-legacy/distinfo
deleted file mode 100644
index 8f9a609063b0..000000000000
--- a/misc/github-copilot-cli-legacy/distinfo
+++ /dev/null
@@ -1,13 +0,0 @@
-TIMESTAMP = 1778340659
-SHA256 (github-copilot-cli-x/github-copilot-cli-1.0.44.tar.gz) = b8dc621d29084eabb40c18f41e157ec40482c326c59cc6063e9d6f09ac3d98f0
-SIZE (github-copilot-cli-x/github-copilot-cli-1.0.44.tar.gz) = 56065482
-SHA256 (github-copilot-cli-x/node-v22.19.0-headers.tar.gz) = 183bdc17092336ad21e01a425d238e85db4ee077ae3caa0547ff1fbda07d9bd8
-SIZE (github-copilot-cli-x/node-v22.19.0-headers.tar.gz) = 8750990
-SHA256 (github-copilot-cli-x/pty-1.0.9.tar.gz) = 0f7550a42239ed4deae3429cf1a568aba8683baa829ff40d7b0d3ae751323dd6
-SIZE (github-copilot-cli-x/pty-1.0.9.tar.gz) = 14897699
-SHA256 (github-copilot-cli-x/sharp-0.34.4.tar.gz) = 1dd604c92057ba9bc3e17f036ca93a849e17776f91e251c907b1701758790cd4
-SIZE (github-copilot-cli-x/sharp-0.34.4.tar.gz) = 176126
-SHA256 (github-copilot-cli-x/keytar-7.9.0.tar.gz) = 7f70205c9dec4dbe7c120cdbf1a3c115bf3231819b46a0cbb8f16a85687f051c
-SIZE (github-copilot-cli-x/keytar-7.9.0.tar.gz) = 291090
-SHA256 (github-copilot-cli-x/node-addon-api-8.5.0.tar.gz) = 152ef6a9b5450a7c0ce87a2d0be3aa458d1f65c515e9d189cc9fa09feb5aa50e
-SIZE (github-copilot-cli-x/node-addon-api-8.5.0.tar.gz) = 61743
diff --git a/misc/github-copilot-cli-legacy/files/launcher.c b/misc/github-copilot-cli-legacy/files/launcher.c
deleted file mode 100644
index ee3104f1a5cd..000000000000
--- a/misc/github-copilot-cli-legacy/files/launcher.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * launcher.c - GitHub Copilot CLI binary flavor launcher
- *
- * Extracts the bundled copilot JS files and node runtime to a version-specific
- * cache directory and runs them. The bundle (xz-compressed tar) contains the
- * full node binary so no system node installation is required.
- *
- * Node.js SEA (Single Executable Application) cannot be used because
- * postject_find_resource() has no FreeBSD code path.
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <unistd.h>
-
-#ifndef PORTVERSION
-#define PORTVERSION "unknown"
-#endif
-
-#define CACHE_SUBDIR "github-copilot-cli/v" PORTVERSION
-
-extern const char _binary_copilot_bundle_txz_start[];
-extern const char _binary_copilot_bundle_txz_end[];
-
-static int
-makedirs(const char *path)
-{
-	char buf[1024];
-	char *p;
-	struct stat st;
-
-	if (stat(path, &st) == 0)
-		return (0);
-
-	snprintf(buf, sizeof(buf), "%s", path);
-	for (p = buf + 1; *p != '\0'; p++) {
-		if (*p == '/') {
-			*p = '\0';
-			if (stat(buf, &st) != 0 && mkdir(buf, 0755) != 0 &&
-			    errno != EEXIST)
-				return (-1);
-			*p = '/';
-		}
-	}
-	return (mkdir(buf, 0755) == 0 || errno == EEXIST ? 0 : -1);
-}
-
-static int
-extract_bundle(const char *destdir)
-{
-	char tmpdir[1024], archpath[1024];
-	const char *data;
-	size_t size;
-	FILE *f;
-	pid_t pid;
-	int status;
-
-	/* Write bundle to a temp archive file */
-	snprintf(archpath, sizeof(archpath), "%s/.bundle.txz.tmp", destdir);
-	data = _binary_copilot_bundle_txz_start;
-	size = (size_t)(_binary_copilot_bundle_txz_end -
-	    _binary_copilot_bundle_txz_start);
-
-	f = fopen(archpath, "wb");
-	if (f == NULL) {
-		fprintf(stderr, "copilot: cannot write bundle: %s\n",
-		    strerror(errno));
-		return (-1);
-	}
-	if (fwrite(data, 1, size, f) != size) {
-		fclose(f);
-		unlink(archpath);
-		fprintf(stderr, "copilot: bundle write failed\n");
-		return (-1);
-	}
-	fclose(f);
-
-	/* Extract into a temp subdir, then atomically rename */
-	snprintf(tmpdir, sizeof(tmpdir), "%s.extracting", destdir);
-	makedirs(tmpdir);
-
-	pid = fork();
-	if (pid < 0) {
-		unlink(archpath);
-		return (-1);
-	}
-	if (pid == 0) {
-		execl("/usr/bin/tar", "tar", "-xJf", archpath, "-C", tmpdir,
-		    (char *)NULL);
-		_exit(127);
-	}
-	waitpid(pid, &status, 0);
-	unlink(archpath);
-
-	if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {
-		fprintf(stderr, "copilot: bundle extraction failed\n");
-		/* cleanup tmpdir */
-		pid = fork();
-		if (pid == 0) {
-			execl("/bin/rm", "rm", "-rf", tmpdir, (char *)NULL);
-			_exit(1);
-		}
-		if (pid > 0)
-			waitpid(pid, NULL, 0);
-		return (-1);
-	}
-
-	/* Atomic rename: tmpdir -> destdir */
-	if (rename(tmpdir, destdir) != 0) {
-		/* Another process may have already created destdir - that's ok */
-		if (errno != EEXIST && errno != ENOTEMPTY) {
-			fprintf(stderr, "copilot: rename failed: %s\n",
-			    strerror(errno));
-			return (-1);
-		}
-		/* Use existing destdir; clean up tmpdir */
-		pid = fork();
-		if (pid == 0) {
-			execl("/bin/rm", "rm", "-rf", tmpdir, (char *)NULL);
-			_exit(1);
-		}
-		if (pid > 0)
-			waitpid(pid, NULL, 0);
-	}
-
-	return (0);
-}
-
-int
-main(int argc, char *argv[])
-{
-	const char *xdg, *home;
-	char cache_dir[1024], node_path[1080], script_path[1080];
-	char **new_argv;
-	struct stat st;
-	int i;
-
-	/* Determine cache directory */
-	xdg = getenv("XDG_CACHE_HOME");
-	home = getenv("HOME");
-	if (xdg != NULL && xdg[0] != '\0')
-		snprintf(cache_dir, sizeof(cache_dir), "%s/" CACHE_SUBDIR, xdg);
-	else if (home != NULL && home[0] != '\0')
-		snprintf(cache_dir, sizeof(cache_dir),
-		    "%s/.cache/" CACHE_SUBDIR, home);
-	else {
-		fprintf(stderr,
-		    "copilot: HOME or XDG_CACHE_HOME must be set\n");
-		return (1);
-	}
-
-	snprintf(node_path, sizeof(node_path), "%s/node", cache_dir);
-	snprintf(script_path, sizeof(script_path), "%s/index.js", cache_dir);
-
-	/* Extract bundle if not already done (check for node binary) */
-	if (stat(node_path, &st) != 0) {
-		if (makedirs(cache_dir) != 0) {
-			fprintf(stderr, "copilot: cannot create %s: %s\n",
-			    cache_dir, strerror(errno));
-			return (1);
-		}
-		if (extract_bundle(cache_dir) != 0)
-			return (1);
-	}
-
-	/* Build argument vector for the bundled node */
-	new_argv = malloc((size_t)(argc + 2) * sizeof(char *));
-	if (new_argv == NULL) {
-		fprintf(stderr, "copilot: malloc failed\n");
-		return (1);
-	}
-	new_argv[0] = node_path;
-	new_argv[1] = script_path;
-	for (i = 1; i < argc; i++)
-		new_argv[i + 1] = argv[i];
-	new_argv[argc + 1] = NULL;
-
-	execv(node_path, new_argv);
-
-	fprintf(stderr, "copilot: cannot exec %s: %s\n", node_path,
-	    strerror(errno));
-	return (1);
-}
diff --git a/misc/github-copilot-cli-legacy/files/package-lock-keytar.json b/misc/github-copilot-cli-legacy/files/package-lock-keytar.json
deleted file mode 100644
index 14656c4295e7..000000000000
--- a/misc/github-copilot-cli-legacy/files/package-lock-keytar.json
+++ /dev/null
@@ -1,455 +0,0 @@
-{
-  "name": "keytar-installer",
-  "version": "1.0.0",
-  "lockfileVersion": 3,
-  "requires": true,
-  "packages": {
-    "": {
-      "name": "keytar-installer",
-      "version": "1.0.0",
-      "dependencies": {
-        "keytar": "^7.9.0"
-      }
-    },
-    "node_modules/keytar": {
-      "version": "7.9.0",
-      "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz",
-      "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==",
-      "hasInstallScript": true,
-      "license": "MIT",
-      "dependencies": {
-        "node-addon-api": "^4.3.0",
-        "prebuild-install": "^7.0.1"
-      }
-    },
-    "node_modules/keytar/node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/bl": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
-      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-      "license": "MIT",
-      "dependencies": {
-        "buffer": "^5.5.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/keytar/node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/keytar/node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "license": "ISC"
-    },
-    "node_modules/keytar/node_modules/decompress-response": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
-      "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
-      "license": "MIT",
-      "dependencies": {
-        "mimic-response": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/keytar/node_modules/deep-extend": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
-      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/keytar/node_modules/detect-libc": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
-      "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/keytar/node_modules/end-of-stream": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
-      "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
-      "license": "MIT",
-      "dependencies": {
-        "once": "^1.4.0"
-      }
-    },
-    "node_modules/keytar/node_modules/expand-template": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
-      "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
-      "license": "(MIT OR WTFPL)",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/keytar/node_modules/fs-constants": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
-      "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/github-from-package": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
-      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/keytar/node_modules/inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "license": "ISC"
-    },
-    "node_modules/keytar/node_modules/ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "license": "ISC"
-    },
-    "node_modules/keytar/node_modules/mimic-response": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
-      "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/keytar/node_modules/minimist": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
-      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/keytar/node_modules/mkdirp-classic": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
-      "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/napi-build-utils": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
-      "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/node-abi": {
-      "version": "3.92.0",
-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.92.0.tgz",
-      "integrity": "sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==",
-      "license": "MIT",
-      "dependencies": {
-        "semver": "^7.3.5"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/keytar/node_modules/node-addon-api": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
-      "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
-      "license": "ISC",
-      "dependencies": {
-        "wrappy": "1"
-      }
-    },
-    "node_modules/keytar/node_modules/prebuild-install": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
-      "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
-      "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.",
-      "license": "MIT",
-      "dependencies": {
-        "detect-libc": "^2.0.0",
-        "expand-template": "^2.0.3",
-        "github-from-package": "0.0.0",
-        "minimist": "^1.2.3",
-        "mkdirp-classic": "^0.5.3",
-        "napi-build-utils": "^2.0.0",
-        "node-abi": "^3.3.0",
-        "pump": "^3.0.0",
-        "rc": "^1.2.7",
-        "simple-get": "^4.0.0",
-        "tar-fs": "^2.0.0",
-        "tunnel-agent": "^0.6.0"
-      },
-      "bin": {
-        "prebuild-install": "bin.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/keytar/node_modules/pump": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz",
-      "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==",
-      "license": "MIT",
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/keytar/node_modules/rc": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
-      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
-      "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
-      "dependencies": {
-        "deep-extend": "^0.6.0",
-        "ini": "~1.3.0",
-        "minimist": "^1.2.0",
-        "strip-json-comments": "~2.0.1"
-      },
-      "bin": {
-        "rc": "cli.js"
-      }
-    },
-    "node_modules/keytar/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-      "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/keytar/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/semver": {
-      "version": "7.8.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz",
-      "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==",
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/keytar/node_modules/simple-concat": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
-      "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/simple-get": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
-      "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "decompress-response": "^6.0.0",
-        "once": "^1.3.1",
-        "simple-concat": "^1.0.0"
-      }
-    },
-    "node_modules/keytar/node_modules/string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "node_modules/keytar/node_modules/strip-json-comments": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/keytar/node_modules/tar-fs": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz",
-      "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==",
-      "license": "MIT",
-      "dependencies": {
-        "chownr": "^1.1.1",
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^2.1.4"
-      }
-    },
-    "node_modules/keytar/node_modules/tar-stream": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
-      "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
-      "license": "MIT",
-      "dependencies": {
-        "bl": "^4.0.3",
-        "end-of-stream": "^1.4.1",
-        "fs-constants": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^3.1.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/keytar/node_modules/tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "safe-buffer": "^5.0.1"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/keytar/node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-      "license": "MIT"
-    },
-    "node_modules/keytar/node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
-      "license": "ISC"
-    }
-  }
-}
diff --git a/misc/github-copilot-cli-legacy/files/package-lock-node-addon-api.json b/misc/github-copilot-cli-legacy/files/package-lock-node-addon-api.json
deleted file mode 100644
index 48afdebf41b1..000000000000
--- a/misc/github-copilot-cli-legacy/files/package-lock-node-addon-api.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "name": "node-addon-api-installer",
-  "version": "1.0.0",
-  "lockfileVersion": 3,
-  "requires": true,
-  "packages": {
-    "": {
-      "name": "node-addon-api-installer",
-      "version": "1.0.0",
-      "dependencies": {
-        "node-addon-api": "^8.5.0"
-      }
*** 1045 LINES SKIPPED ***