From 2e5e3ef46244766258ca6c34d0f3ce47200602f4 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Wed, 13 May 2026 14:15:53 +0200 Subject: [PATCH] chore(coding-agent): simplify shrinkwrap generation --- packages/coding-agent/npm-shrinkwrap.json | 1755 ++++++++++-------- scripts/generate-coding-agent-shrinkwrap.mjs | 270 +-- 2 files changed, 1037 insertions(+), 988 deletions(-) diff --git a/packages/coding-agent/npm-shrinkwrap.json b/packages/coding-agent/npm-shrinkwrap.json index c4b43a8e7..5d23b6717 100644 --- a/packages/coding-agent/npm-shrinkwrap.json +++ b/packages/coding-agent/npm-shrinkwrap.json @@ -5,9 +5,9 @@ "requires": true, "packages": { "": { - "bin": { - "pi": "dist/cli.js" - }, + "name": "@earendil-works/pi-coding-agent", + "version": "0.74.0", + "license": "MIT", "dependencies": { "@earendil-works/pi-agent-core": "^0.74.0", "@earendil-works/pi-ai": "^0.74.0", @@ -31,24 +31,25 @@ "uuid": "^14.0.0", "yaml": "^2.8.2" }, + "bin": { + "pi": "dist/cli.js" + }, "engines": { "node": ">=20.6.0" }, - "license": "MIT", - "name": "@earendil-works/pi-coding-agent", "optionalDependencies": { "@mariozechner/clipboard": "^0.3.5" - }, - "version": "0.74.0" + } }, "node_modules/@anthropic-ai/sdk": { - "bin": { - "anthropic-ai-sdk": "bin/cli" - }, + "version": "0.91.1", + "license": "MIT", "dependencies": { "json-schema-to-ts": "^3.1.1" }, - "license": "MIT", + "bin": { + "anthropic-ai-sdk": "bin/cli" + }, "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" }, @@ -56,10 +57,11 @@ "zod": { "optional": true } - }, - "version": "0.91.1" + } }, "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", @@ -67,11 +69,11 @@ }, "engines": { "node": ">=16.0.0" - }, - "license": "Apache-2.0", - "version": "5.2.0" + } }, "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-js": "^5.2.0", "@aws-crypto/supports-web-crypto": "^5.2.0", @@ -80,43 +82,43 @@ "@aws-sdk/util-locate-window": "^3.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" - }, - "license": "Apache-2.0", - "version": "5.2.0" + } }, "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.2.0" + } }, "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.2.0" + } }, "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.3.0" + } }, "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", @@ -124,59 +126,59 @@ }, "engines": { "node": ">=16.0.0" - }, - "license": "Apache-2.0", - "version": "5.2.0" + } }, "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" - }, - "license": "Apache-2.0", - "version": "5.2.0" + } }, "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.222.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.6.2" - }, - "license": "Apache-2.0", - "version": "5.2.0" + } }, "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.2.0" + } }, "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.2.0" + } }, "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" - }, - "license": "Apache-2.0", - "version": "2.3.0" + } }, "node_modules/@aws-sdk/client-bedrock-runtime": { + "version": "3.1044.0", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -228,11 +230,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.1044.0" + } }, "node_modules/@aws-sdk/core": { + "version": "3.974.8", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@aws-sdk/xml-builder": "^3.972.22", @@ -251,11 +253,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.974.8" + } }, "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.34", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/types": "^3.973.8", @@ -265,11 +267,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.34" + } }, "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.36", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/types": "^3.973.8", @@ -284,11 +286,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.36" + } }, "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.38", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/credential-provider-env": "^3.972.34", @@ -307,11 +309,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.38" + } }, "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.38", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/nested-clients": "^3.997.6", @@ -324,11 +326,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.38" + } }, "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.39", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "^3.972.34", "@aws-sdk/credential-provider-http": "^3.972.36", @@ -345,11 +347,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.39" + } }, "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.34", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/types": "^3.973.8", @@ -360,11 +362,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.34" + } }, "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.38", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/nested-clients": "^3.997.6", @@ -377,11 +379,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.38" + } }, "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers": { + "version": "3.1041.0", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/nested-clients": "^3.997.6", @@ -393,11 +395,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.1041.0" + } }, "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.38", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/nested-clients": "^3.997.6", @@ -409,11 +411,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.38" + } }, "node_modules/@aws-sdk/eventstream-handler-node": { + "version": "3.972.14", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/eventstream-codec": "^4.2.14", @@ -422,11 +424,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.14" + } }, "node_modules/@aws-sdk/middleware-eventstream": { + "version": "3.972.10", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/protocol-http": "^5.3.14", @@ -435,11 +437,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.10" + } }, "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.972.10", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/protocol-http": "^5.3.14", @@ -448,11 +450,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.10" + } }, "node_modules/@aws-sdk/middleware-logger": { + "version": "3.972.10", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/types": "^4.14.1", @@ -460,11 +462,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.10" + } }, "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.972.11", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@aws/lambda-invoke-store": "^0.2.2", @@ -474,11 +476,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.11" + } }, "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.972.37", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/types": "^3.973.8", @@ -497,11 +499,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.37" + } }, "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.38", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/types": "^3.973.8", @@ -514,11 +516,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.38" + } }, "node_modules/@aws-sdk/middleware-websocket": { + "version": "3.972.16", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@aws-sdk/util-format-url": "^3.972.10", @@ -535,11 +537,11 @@ }, "engines": { "node": ">= 14.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.16" + } }, "node_modules/@aws-sdk/nested-clients": { + "version": "3.997.6", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -583,11 +585,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.997.6" + } }, "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.972.13", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/config-resolver": "^4.4.17", @@ -597,11 +599,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.13" + } }, "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.996.25", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-sdk-s3": "^3.972.37", "@aws-sdk/types": "^3.973.8", @@ -612,11 +614,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.996.25" + } }, "node_modules/@aws-sdk/token-providers": { + "version": "3.1044.0", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.974.8", "@aws-sdk/nested-clients": "^3.997.6", @@ -628,32 +630,32 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.1044.0" + } }, "node_modules/@aws-sdk/types": { + "version": "3.973.8", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.973.8" + } }, "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.972.3", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.3" + } }, "node_modules/@aws-sdk/util-endpoints": { + "version": "3.996.8", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/types": "^4.14.1", @@ -663,11 +665,11 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.996.8" + } }, "node_modules/@aws-sdk/util-format-url": { + "version": "3.972.10", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/querystring-builder": "^4.2.14", @@ -676,31 +678,31 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.10" + } }, "node_modules/@aws-sdk/util-locate-window": { + "version": "3.965.5", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.965.5" + } }, "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.972.10", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.8", "@smithy/types": "^4.14.1", "bowser": "^2.11.0", "tslib": "^2.6.2" - }, - "license": "Apache-2.0", - "version": "3.972.10" + } }, "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.973.24", + "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-user-agent": "^3.972.38", "@aws-sdk/types": "^3.973.8", @@ -712,7 +714,6 @@ "engines": { "node": ">=20.0.0" }, - "license": "Apache-2.0", "peerDependencies": { "aws-crt": ">=1.0.0" }, @@ -720,10 +721,11 @@ "aws-crt": { "optional": true } - }, - "version": "3.973.24" + } }, "node_modules/@aws-sdk/xml-builder": { + "version": "3.972.22", + "license": "Apache-2.0", "dependencies": { "@nodable/entities": "2.1.0", "@smithy/types": "^4.14.1", @@ -732,33 +734,34 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "Apache-2.0", - "version": "3.972.22" + } }, "node_modules/@aws/lambda-invoke-store": { + "version": "0.2.4", + "license": "Apache-2.0", "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "0.2.4" + } }, "node_modules/@babel/runtime": { + "version": "7.29.2", + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "license": "MIT", - "version": "7.29.2" + } }, "node_modules/@borewit/text-codec": { + "version": "0.2.2", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/Borewit" - }, - "license": "MIT", - "version": "0.2.2" + } }, "node_modules/@earendil-works/pi-agent-core": { + "version": "0.74.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-agent-core/-/pi-agent-core-0.74.0.tgz", + "license": "MIT", "dependencies": { "@earendil-works/pi-ai": "^0.74.0", "ignore": "^7.0.5", @@ -767,14 +770,12 @@ }, "engines": { "node": ">=20.0.0" - }, - "license": "MIT", - "version": "0.74.0" + } }, "node_modules/@earendil-works/pi-ai": { - "bin": { - "pi-ai": "./dist/cli.js" - }, + "version": "0.74.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-ai/-/pi-ai-0.74.0.tgz", + "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.91.1", "@aws-sdk/client-bedrock-runtime": "^3.1030.0", @@ -789,13 +790,17 @@ "undici": "^7.19.1", "zod-to-json-schema": "^3.24.6" }, + "bin": { + "pi-ai": "dist/cli.js" + }, "engines": { "node": ">=20.0.0" - }, - "license": "MIT", - "version": "0.74.0" + } }, "node_modules/@earendil-works/pi-tui": { + "version": "0.74.0", + "resolved": "https://registry.npmjs.org/@earendil-works/pi-tui/-/pi-tui-0.74.0.tgz", + "license": "MIT", "dependencies": { "@types/mime-types": "^2.1.4", "chalk": "^5.5.0", @@ -806,13 +811,14 @@ "engines": { "node": ">=20.0.0" }, - "license": "MIT", "optionalDependencies": { "koffi": "^2.9.0" - }, - "version": "0.74.0" + } }, "node_modules/@google/genai": { + "version": "1.52.0", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "google-auth-library": "^10.3.0", "p-retry": "^4.6.2", @@ -822,8 +828,6 @@ "engines": { "node": ">=20.0.0" }, - "hasInstallScript": true, - "license": "Apache-2.0", "peerDependencies": { "@modelcontextprotocol/sdk": "^1.25.2" }, @@ -831,15 +835,15 @@ "@modelcontextprotocol/sdk": { "optional": true } - }, - "version": "1.52.0" + } }, "node_modules/@mariozechner/clipboard": { + "version": "0.3.5", + "license": "MIT", + "optional": true, "engines": { "node": ">= 10" }, - "license": "MIT", - "optional": true, "optionalDependencies": { "@mariozechner/clipboard-darwin-arm64": "0.3.2", "@mariozechner/clipboard-darwin-universal": "0.3.2", @@ -851,230 +855,231 @@ "@mariozechner/clipboard-linux-x64-musl": "0.3.2", "@mariozechner/clipboard-win32-arm64-msvc": "0.3.2", "@mariozechner/clipboard-win32-x64-msvc": "0.3.2" - }, - "version": "0.3.5" + } }, "node_modules/@mariozechner/clipboard-darwin-arm64": { + "version": "0.3.2", "cpu": [ "arm64" ], - "engines": { - "node": ">= 10" - }, "license": "MIT", "optional": true, "os": [ "darwin" ], - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-darwin-universal": { - "engines": { - "node": ">= 10" - }, + "version": "0.3.2", "license": "MIT", "optional": true, "os": [ "darwin" ], - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-darwin-x64": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-x64/-/clipboard-darwin-x64-0.3.2.tgz", + "integrity": "sha512-U1BcVEoidvwIp95+HJswSW+xr28EQiHR7rZjH6pn8Sja5yO4Yoe3yCN0Zm8Lo72BbSOK/fTSq0je7CJpaPCspg==", "cpu": [ "x64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-U1BcVEoidvwIp95+HJswSW+xr28EQiHR7rZjH6pn8Sja5yO4Yoe3yCN0Zm8Lo72BbSOK/fTSq0je7CJpaPCspg==", "license": "MIT", "optional": true, "os": [ "darwin" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-darwin-x64/-/clipboard-darwin-x64-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-linux-arm64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-gnu/-/clipboard-linux-arm64-gnu-0.3.2.tgz", + "integrity": "sha512-BsinwG3yWTIjdgNCxsFlip7LkfwPk+ruw/aFCXHUg/fb5XC/Ksp+YMQ7u0LUtiKzIv/7LMXgZInJQH6gxbAaqQ==", "cpu": [ "arm64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-BsinwG3yWTIjdgNCxsFlip7LkfwPk+ruw/aFCXHUg/fb5XC/Ksp+YMQ7u0LUtiKzIv/7LMXgZInJQH6gxbAaqQ==", "license": "MIT", "optional": true, "os": [ "linux" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-gnu/-/clipboard-linux-arm64-gnu-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-linux-arm64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-musl/-/clipboard-linux-arm64-musl-0.3.2.tgz", + "integrity": "sha512-0/Gi5Xq2V6goXBop19ePoHvXsmJD9SzFlO3S+d6+T2b+BlPcpOu3Oa0wTjl+cZrLAAEzA86aPNBI+VVAFDFPKw==", "cpu": [ "arm64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-0/Gi5Xq2V6goXBop19ePoHvXsmJD9SzFlO3S+d6+T2b+BlPcpOu3Oa0wTjl+cZrLAAEzA86aPNBI+VVAFDFPKw==", "license": "MIT", "optional": true, "os": [ "linux" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-arm64-musl/-/clipboard-linux-arm64-musl-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-linux-riscv64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-riscv64-gnu/-/clipboard-linux-riscv64-gnu-0.3.2.tgz", + "integrity": "sha512-2AFFiXB24qf0zOZsxI1GJGb9wQGlOJyN6UwoXqmKS3dpQi/l6ix30IzDDA4c4ZcCcx4D+9HLYXhC1w7Sov8pXA==", "cpu": [ "riscv64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-2AFFiXB24qf0zOZsxI1GJGb9wQGlOJyN6UwoXqmKS3dpQi/l6ix30IzDDA4c4ZcCcx4D+9HLYXhC1w7Sov8pXA==", "license": "MIT", "optional": true, "os": [ "linux" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-riscv64-gnu/-/clipboard-linux-riscv64-gnu-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-linux-x64-gnu": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-gnu/-/clipboard-linux-x64-gnu-0.3.2.tgz", + "integrity": "sha512-v6fVnsn7WMGg73Dab8QMwyFce7tzGfgEixKgzLP8f1GJqkJZi5zO4k4FOHzSgUufgLil63gnxvMpjWkgfeQN7A==", "cpu": [ "x64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-v6fVnsn7WMGg73Dab8QMwyFce7tzGfgEixKgzLP8f1GJqkJZi5zO4k4FOHzSgUufgLil63gnxvMpjWkgfeQN7A==", "license": "MIT", "optional": true, "os": [ "linux" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-gnu/-/clipboard-linux-x64-gnu-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-linux-x64-musl": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-musl/-/clipboard-linux-x64-musl-0.3.2.tgz", + "integrity": "sha512-xVUtnoMQ8v2JVyfJLKKXACA6avdnchdbBkTsZs8BgJQo29qwCp5NIHAUO8gbJ40iaEGToW5RlmVk2M9V0HsHEw==", "cpu": [ "x64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-xVUtnoMQ8v2JVyfJLKKXACA6avdnchdbBkTsZs8BgJQo29qwCp5NIHAUO8gbJ40iaEGToW5RlmVk2M9V0HsHEw==", "license": "MIT", "optional": true, "os": [ "linux" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-linux-x64-musl/-/clipboard-linux-x64-musl-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-win32-arm64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-arm64-msvc/-/clipboard-win32-arm64-msvc-0.3.2.tgz", + "integrity": "sha512-AEgg95TNi8TGgak2wSXZkXKCvAUTjWoU1Pqb0ON7JHrX78p616XUFNTJohtIon3e0w6k0pYPZeCuqRCza/Tqeg==", "cpu": [ "arm64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-AEgg95TNi8TGgak2wSXZkXKCvAUTjWoU1Pqb0ON7JHrX78p616XUFNTJohtIon3e0w6k0pYPZeCuqRCza/Tqeg==", "license": "MIT", "optional": true, "os": [ "win32" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-arm64-msvc/-/clipboard-win32-arm64-msvc-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mariozechner/clipboard-win32-x64-msvc": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-x64-msvc/-/clipboard-win32-x64-msvc-0.3.2.tgz", + "integrity": "sha512-tGRuYpZwDOD7HBrCpyRuhGnHHSCknELvqwKKUG4JSfSB7JIU7LKRh6zx6fMUOQd8uISK35TjFg5UcNih+vJhFA==", "cpu": [ "x64" ], - "engines": { - "node": ">= 10" - }, - "integrity": "sha512-tGRuYpZwDOD7HBrCpyRuhGnHHSCknELvqwKKUG4JSfSB7JIU7LKRh6zx6fMUOQd8uISK35TjFg5UcNih+vJhFA==", "license": "MIT", "optional": true, "os": [ "win32" ], - "resolved": "https://registry.npmjs.org/@mariozechner/clipboard-win32-x64-msvc/-/clipboard-win32-x64-msvc-0.3.2.tgz", - "version": "0.3.2" + "engines": { + "node": ">= 10" + } }, "node_modules/@mistralai/mistralai": { + "version": "2.2.1", + "license": "Apache-2.0", "dependencies": { "ws": "^8.18.0", "zod": "^3.25.0 || ^4.0.0", "zod-to-json-schema": "^3.25.0" - }, - "license": "Apache-2.0", - "version": "2.2.1" + } }, "node_modules/@nodable/entities": { + "version": "2.1.0", "funding": [ { "type": "github", "url": "https://github.com/sponsors/nodable" } ], - "license": "MIT", - "version": "2.1.0" + "license": "MIT" }, "node_modules/@protobufjs/aspromise": { - "license": "BSD-3-Clause", - "version": "1.1.2" + "version": "1.1.2", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/base64": { - "license": "BSD-3-Clause", - "version": "1.1.2" + "version": "1.1.2", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { - "license": "BSD-3-Clause", - "version": "2.0.5" + "version": "2.0.5", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { - "license": "BSD-3-Clause", - "version": "1.1.0" + "version": "1.1.0", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" - }, - "license": "BSD-3-Clause", - "version": "1.1.0" + } }, "node_modules/@protobufjs/float": { - "license": "BSD-3-Clause", - "version": "1.0.2" + "version": "1.0.2", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { - "license": "BSD-3-Clause", - "version": "1.1.1" + "version": "1.1.1", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { - "license": "BSD-3-Clause", - "version": "1.1.2" + "version": "1.1.2", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/pool": { - "license": "BSD-3-Clause", - "version": "1.1.0" + "version": "1.1.0", + "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { - "license": "BSD-3-Clause", - "version": "1.1.1" + "version": "1.1.1", + "license": "BSD-3-Clause" }, "node_modules/@silvia-odwyer/photon-node": { - "license": "Apache-2.0", - "version": "0.3.4" + "version": "0.3.4", + "license": "Apache-2.0" }, "node_modules/@smithy/config-resolver": { + "version": "4.4.17", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^4.3.14", "@smithy/types": "^4.14.1", @@ -1085,11 +1090,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.4.17" + } }, "node_modules/@smithy/core": { + "version": "3.23.17", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^5.3.14", "@smithy/types": "^4.14.1", @@ -1104,11 +1109,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "3.23.17" + } }, "node_modules/@smithy/credential-provider-imds": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^4.3.14", "@smithy/property-provider": "^4.2.14", @@ -1118,11 +1123,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/eventstream-codec": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "5.2.0", "@smithy/types": "^4.14.1", @@ -1131,11 +1136,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/eventstream-serde-browser": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.14", "@smithy/types": "^4.14.1", @@ -1143,22 +1148,22 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "4.3.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.14" + } }, "node_modules/@smithy/eventstream-serde-node": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-serde-universal": "^4.2.14", "@smithy/types": "^4.14.1", @@ -1166,11 +1171,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/eventstream-serde-universal": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/eventstream-codec": "^4.2.14", "@smithy/types": "^4.14.1", @@ -1178,11 +1183,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/fetch-http-handler": { + "version": "5.3.17", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^5.3.14", "@smithy/querystring-builder": "^4.2.14", @@ -1192,11 +1197,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "5.3.17" + } }, "node_modules/@smithy/hash-node": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "@smithy/util-buffer-from": "^4.2.2", @@ -1205,32 +1210,32 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/invalid-dependency": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/is-array-buffer": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/middleware-content-length": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^5.3.14", "@smithy/types": "^4.14.1", @@ -1238,11 +1243,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/middleware-endpoint": { + "version": "4.4.32", + "license": "Apache-2.0", "dependencies": { "@smithy/core": "^3.23.17", "@smithy/middleware-serde": "^4.2.20", @@ -1255,11 +1260,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.4.32" + } }, "node_modules/@smithy/middleware-retry": { + "version": "4.5.7", + "license": "Apache-2.0", "dependencies": { "@smithy/core": "^3.23.17", "@smithy/node-config-provider": "^4.3.14", @@ -1274,11 +1279,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.5.7" + } }, "node_modules/@smithy/middleware-serde": { + "version": "4.2.20", + "license": "Apache-2.0", "dependencies": { "@smithy/core": "^3.23.17", "@smithy/protocol-http": "^5.3.14", @@ -1287,22 +1292,22 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.20" + } }, "node_modules/@smithy/middleware-stack": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/node-config-provider": { + "version": "4.3.14", + "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^4.2.14", "@smithy/shared-ini-file-loader": "^4.4.9", @@ -1311,11 +1316,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.14" + } }, "node_modules/@smithy/node-http-handler": { + "version": "4.6.1", + "license": "Apache-2.0", "dependencies": { "@smithy/protocol-http": "^5.3.14", "@smithy/querystring-builder": "^4.2.14", @@ -1324,33 +1329,33 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.6.1" + } }, "node_modules/@smithy/property-provider": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/protocol-http": { + "version": "5.3.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "5.3.14" + } }, "node_modules/@smithy/querystring-builder": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "@smithy/util-uri-escape": "^4.2.2", @@ -1358,43 +1363,43 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/querystring-parser": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/service-error-classification": { + "version": "4.3.1", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.1" + } }, "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.4.9", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.4.9" + } }, "node_modules/@smithy/signature-v4": { + "version": "5.3.14", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^4.2.2", "@smithy/protocol-http": "^5.3.14", @@ -1407,11 +1412,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "5.3.14" + } }, "node_modules/@smithy/smithy-client": { + "version": "4.12.13", + "license": "Apache-2.0", "dependencies": { "@smithy/core": "^3.23.17", "@smithy/middleware-endpoint": "^4.4.32", @@ -1423,21 +1428,21 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.12.13" + } }, "node_modules/@smithy/types": { + "version": "4.14.1", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.14.1" + } }, "node_modules/@smithy/url-parser": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/querystring-parser": "^4.2.14", "@smithy/types": "^4.14.1", @@ -1445,11 +1450,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/util-base64": { + "version": "4.3.2", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^4.2.2", "@smithy/util-utf8": "^4.2.2", @@ -1457,52 +1462,52 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.2" + } }, "node_modules/@smithy/util-body-length-browser": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/util-body-length-node": { + "version": "4.2.3", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.3" + } }, "node_modules/@smithy/util-buffer-from": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^4.2.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/util-config-provider": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.3.49", + "license": "Apache-2.0", "dependencies": { "@smithy/property-provider": "^4.2.14", "@smithy/smithy-client": "^4.12.13", @@ -1511,11 +1516,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.49" + } }, "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.2.54", + "license": "Apache-2.0", "dependencies": { "@smithy/config-resolver": "^4.4.17", "@smithy/credential-provider-imds": "^4.2.14", @@ -1527,11 +1532,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.54" + } }, "node_modules/@smithy/util-endpoints": { + "version": "3.4.2", + "license": "Apache-2.0", "dependencies": { "@smithy/node-config-provider": "^4.3.14", "@smithy/types": "^4.14.1", @@ -1539,32 +1544,32 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "3.4.2" + } }, "node_modules/@smithy/util-hex-encoding": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/util-middleware": { + "version": "4.2.14", + "license": "Apache-2.0", "dependencies": { "@smithy/types": "^4.14.1", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.14" + } }, "node_modules/@smithy/util-retry": { + "version": "4.3.8", + "license": "Apache-2.0", "dependencies": { "@smithy/service-error-classification": "^4.3.1", "@smithy/types": "^4.14.1", @@ -1572,11 +1577,11 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.3.8" + } }, "node_modules/@smithy/util-stream": { + "version": "4.5.25", + "license": "Apache-2.0", "dependencies": { "@smithy/fetch-http-handler": "^5.3.17", "@smithy/node-http-handler": "^4.6.1", @@ -1589,42 +1594,42 @@ }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.5.25" + } }, "node_modules/@smithy/util-uri-escape": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/util-utf8": { + "version": "4.2.2", + "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^4.2.2", "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "4.2.2" + } }, "node_modules/@smithy/uuid": { + "version": "1.1.2", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" - }, - "license": "Apache-2.0", - "version": "1.1.2" + } }, "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "license": "MIT", "dependencies": { "debug": "^4.4.3", "token-types": "^6.1.1" @@ -1635,55 +1640,55 @@ "funding": { "type": "github", "url": "https://github.com/sponsors/Borewit" - }, - "license": "MIT", - "version": "0.4.1" + } }, "node_modules/@tokenizer/token": { - "license": "MIT", - "version": "0.3.0" + "version": "0.3.0", + "license": "MIT" }, "node_modules/@tootallnate/quickjs-emscripten": { - "license": "MIT", - "version": "0.23.0" + "version": "0.23.0", + "license": "MIT" }, "node_modules/@types/mime-types": { - "license": "MIT", - "version": "2.1.4" + "version": "2.1.4", + "license": "MIT" }, "node_modules/@types/node": { + "version": "22.19.17", + "license": "MIT", "dependencies": { "undici-types": "~6.21.0" - }, - "license": "MIT", - "version": "22.19.17" + } }, "node_modules/@types/yauzl": { - "dependencies": { - "@types/node": "*" - }, + "version": "2.10.3", "license": "MIT", "optional": true, - "version": "2.10.3" + "dependencies": { + "@types/node": "*" + } }, "node_modules/agent-base": { + "version": "7.1.4", + "license": "MIT", "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "7.1.4" + } }, "node_modules/ansi-regex": { + "version": "6.2.2", + "license": "MIT", "engines": { "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-regex?sponsor=1" - }, - "license": "MIT", - "version": "6.2.2" + } }, "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1692,32 +1697,31 @@ }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" - }, - "license": "MIT", - "version": "4.3.0" + } }, "node_modules/any-promise": { - "license": "MIT", - "version": "1.3.0" + "version": "1.3.0", + "license": "MIT" }, "node_modules/ast-types": { + "version": "0.13.4", + "license": "MIT", "dependencies": { "tslib": "^2.0.1" }, "engines": { "node": ">=4" - }, - "license": "MIT", - "version": "0.13.4" + } }, "node_modules/balanced-match": { + "version": "4.0.4", + "license": "MIT", "engines": { "node": "18 || 20 || >=22" - }, - "license": "MIT", - "version": "4.0.4" + } }, "node_modules/base64-js": { + "version": "1.5.1", "funding": [ { "type": "github", @@ -1732,62 +1736,60 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "version": "1.5.1" + "license": "MIT" }, "node_modules/basic-ftp": { + "version": "5.3.1", + "license": "MIT", "engines": { "node": ">=10.0.0" - }, - "license": "MIT", - "version": "5.3.1" + } }, "node_modules/bignumber.js": { + "version": "9.3.1", + "license": "MIT", "engines": { "node": "*" - }, - "license": "MIT", - "version": "9.3.1" + } }, "node_modules/bowser": { - "license": "MIT", - "version": "2.14.1" + "version": "2.14.1", + "license": "MIT" }, "node_modules/brace-expansion": { + "version": "5.0.5", + "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" }, "engines": { "node": "18 || 20 || >=22" - }, - "license": "MIT", - "version": "5.0.5" + } }, "node_modules/buffer-crc32": { + "version": "0.2.13", + "license": "MIT", "engines": { "node": "*" - }, - "license": "MIT", - "version": "0.2.13" + } }, "node_modules/buffer-equal-constant-time": { - "license": "BSD-3-Clause", - "version": "1.0.1" + "version": "1.0.1", + "license": "BSD-3-Clause" }, "node_modules/chalk": { + "version": "5.6.2", + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" - }, - "license": "MIT", - "version": "5.6.2" + } }, "node_modules/cli-highlight": { - "bin": { - "highlight": "bin/highlight" - }, + "version": "2.1.11", + "license": "ISC", "dependencies": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", @@ -1796,14 +1798,17 @@ "parse5-htmlparser2-tree-adapter": "^6.0.0", "yargs": "^16.0.0" }, + "bin": { + "highlight": "bin/highlight" + }, "engines": { "node": ">=8.0.0", "npm": ">=5.0.0" - }, - "license": "ISC", - "version": "2.1.11" + } }, "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1813,83 +1818,83 @@ }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" - }, - "license": "MIT", - "version": "4.1.2" + } }, "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.2.0", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "7.2.0" + } }, "node_modules/cliui": { + "version": "7.0.4", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "license": "ISC", - "version": "7.0.4" + } }, "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "5.0.1" + } }, "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "6.0.1" + } }, "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" - }, - "license": "MIT", - "version": "2.0.1" + } }, "node_modules/color-name": { - "license": "MIT", - "version": "1.1.4" + "version": "1.1.4", + "license": "MIT" }, "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "license": "MIT", "engines": { "node": ">= 12" - }, - "license": "MIT", - "version": "4.0.1" + } }, "node_modules/debug": { + "version": "4.4.3", + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, "engines": { "node": ">=6.0" }, - "license": "MIT", "peerDependenciesMeta": { "supports-color": { "optional": true } - }, - "version": "4.4.3" + } }, "node_modules/degenerator": { + "version": "5.0.1", + "license": "MIT", "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", @@ -1897,112 +1902,108 @@ }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "5.0.1" + } }, "node_modules/diff": { + "version": "8.0.4", + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" - }, - "license": "BSD-3-Clause", - "version": "8.0.4" + } }, "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" - }, - "license": "Apache-2.0", - "version": "1.0.11" + } }, "node_modules/emoji-regex": { - "license": "MIT", - "version": "8.0.0" + "version": "8.0.0", + "license": "MIT" }, "node_modules/end-of-stream": { + "version": "1.4.5", + "license": "MIT", "dependencies": { "once": "^1.4.0" - }, - "license": "MIT", - "version": "1.4.5" + } }, "node_modules/escalade": { + "version": "3.2.0", + "license": "MIT", "engines": { "node": ">=6" - }, - "license": "MIT", - "version": "3.2.0" + } }, "node_modules/escodegen": { - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, + "version": "2.1.0", + "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { "node": ">=6.0" }, - "license": "BSD-2-Clause", "optionalDependencies": { "source-map": "~0.6.1" - }, - "version": "2.1.0" + } }, "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" - }, - "license": "BSD-2-Clause", - "version": "4.0.1" + } }, "node_modules/estraverse": { + "version": "5.3.0", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" - }, - "license": "BSD-2-Clause", - "version": "5.3.0" + } }, "node_modules/esutils": { + "version": "2.0.3", + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" - }, - "license": "BSD-2-Clause", - "version": "2.0.3" + } }, "node_modules/extend": { - "license": "MIT", - "version": "3.0.2" + "version": "3.0.2", + "license": "MIT" }, "node_modules/extract-zip": { - "bin": { - "extract-zip": "cli.js" - }, + "version": "2.0.1", + "license": "BSD-2-Clause", "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, + "bin": { + "extract-zip": "cli.js" + }, "engines": { "node": ">= 10.17.0" }, - "license": "BSD-2-Clause", "optionalDependencies": { "@types/yauzl": "^2.9.1" - }, - "version": "2.0.1" + } }, "node_modules/fast-xml-builder": { - "dependencies": { - "path-expression-matcher": "^1.1.3" - }, + "version": "1.1.9", "funding": [ { "type": "github", @@ -2010,42 +2011,38 @@ } ], "license": "MIT", - "version": "1.1.9" + "dependencies": { + "path-expression-matcher": "^1.1.3" + } }, "node_modules/fast-xml-parser": { - "bin": { - "fxparser": "src/cli/cli.js" - }, + "version": "5.7.2", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", "dependencies": { "@nodable/entities": "^2.1.0", "fast-xml-builder": "^1.1.5", "path-expression-matcher": "^1.5.0", "strnum": "^2.2.3" }, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "version": "5.7.2" + "bin": { + "fxparser": "src/cli/cli.js" + } }, "node_modules/fd-slicer": { + "version": "1.1.0", + "license": "MIT", "dependencies": { "pend": "~1.2.0" - }, - "license": "MIT", - "version": "1.1.0" + } }, "node_modules/fetch-blob": { - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - }, + "version": "3.2.0", "funding": [ { "type": "github", @@ -2057,9 +2054,17 @@ } ], "license": "MIT", - "version": "3.2.0" + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } }, "node_modules/file-type": { + "version": "21.3.4", + "license": "MIT", "dependencies": { "@tokenizer/inflate": "^0.4.1", "strtok3": "^10.3.4", @@ -2071,21 +2076,21 @@ }, "funding": { "url": "https://github.com/sindresorhus/file-type?sponsor=1" - }, - "license": "MIT", - "version": "21.3.4" + } }, "node_modules/formdata-polyfill": { + "version": "4.0.10", + "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, "engines": { "node": ">=12.20.0" - }, - "license": "MIT", - "version": "4.0.10" + } }, "node_modules/gaxios": { + "version": "7.1.4", + "license": "Apache-2.0", "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", @@ -2093,11 +2098,11 @@ }, "engines": { "node": ">=18" - }, - "license": "Apache-2.0", - "version": "7.1.4" + } }, "node_modules/gcp-metadata": { + "version": "8.1.2", + "license": "Apache-2.0", "dependencies": { "gaxios": "^7.0.0", "google-logging-utils": "^1.0.0", @@ -2105,28 +2110,28 @@ }, "engines": { "node": ">=18" - }, - "license": "Apache-2.0", - "version": "8.1.2" + } }, "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" - }, - "license": "ISC", - "version": "2.0.5" + } }, "node_modules/get-east-asian-width": { + "version": "1.5.0", + "license": "MIT", "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" - }, - "license": "MIT", - "version": "1.5.0" + } }, "node_modules/get-stream": { + "version": "5.2.0", + "license": "MIT", "dependencies": { "pump": "^3.0.0" }, @@ -2135,11 +2140,11 @@ }, "funding": { "url": "https://github.com/sponsors/sindresorhus" - }, - "license": "MIT", - "version": "5.2.0" + } }, "node_modules/get-uri": { + "version": "6.0.5", + "license": "MIT", "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", @@ -2147,18 +2152,18 @@ }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "6.0.5" + } }, "node_modules/get-uri/node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "license": "MIT", "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "6.0.2" + } }, "node_modules/glob": { + "version": "13.0.6", + "license": "BlueOak-1.0.0", "dependencies": { "minimatch": "^10.2.2", "minipass": "^7.1.3", @@ -2169,11 +2174,11 @@ }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "license": "BlueOak-1.0.0", - "version": "13.0.6" + } }, "node_modules/google-auth-library": { + "version": "10.6.2", + "license": "Apache-2.0", "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", @@ -2184,68 +2189,67 @@ }, "engines": { "node": ">=18" - }, - "license": "Apache-2.0", - "version": "10.6.2" + } }, "node_modules/google-logging-utils": { + "version": "1.1.3", + "license": "Apache-2.0", "engines": { "node": ">=14" - }, - "license": "Apache-2.0", - "version": "1.1.3" + } }, "node_modules/graceful-fs": { - "license": "ISC", - "version": "4.2.11" + "version": "4.2.11", + "license": "ISC" }, "node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "4.0.0" + } }, "node_modules/highlight.js": { + "version": "10.7.3", + "license": "BSD-3-Clause", "engines": { "node": "*" - }, - "license": "BSD-3-Clause", - "version": "10.7.3" + } }, "node_modules/hosted-git-info": { + "version": "9.0.3", + "license": "ISC", "dependencies": { "lru-cache": "^11.1.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" - }, - "license": "ISC", - "version": "9.0.3" + } }, "node_modules/http-proxy-agent": { + "version": "7.0.2", + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "7.0.2" + } }, "node_modules/https-proxy-agent": { + "version": "7.0.6", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "4" }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "7.0.6" + } }, "node_modules/ieee754": { + "version": "1.2.1", "funding": [ { "type": "github", @@ -2260,110 +2264,111 @@ "url": "https://feross.org/support" } ], - "license": "BSD-3-Clause", - "version": "1.2.1" + "license": "BSD-3-Clause" }, "node_modules/ignore": { + "version": "7.0.5", + "license": "MIT", "engines": { "node": ">= 4" - }, - "license": "MIT", - "version": "7.0.5" + } }, "node_modules/ip-address": { + "version": "10.2.0", + "license": "MIT", "engines": { "node": ">= 12" - }, - "license": "MIT", - "version": "10.2.0" + } }, "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "3.0.0" + } }, "node_modules/jiti": { + "version": "2.7.0", + "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" - }, - "license": "MIT", - "version": "2.7.0" + } }, "node_modules/json-bigint": { + "version": "1.0.0", + "license": "MIT", "dependencies": { "bignumber.js": "^9.0.0" - }, - "license": "MIT", - "version": "1.0.0" + } }, "node_modules/json-schema-to-ts": { + "version": "3.1.1", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "ts-algebra": "^2.0.0" }, "engines": { "node": ">=16" - }, - "license": "MIT", - "version": "3.1.1" + } }, "node_modules/jwa": { + "version": "2.0.1", + "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" - }, - "license": "MIT", - "version": "2.0.1" + } }, "node_modules/jws": { + "version": "4.0.1", + "license": "MIT", "dependencies": { "jwa": "^2.0.1", "safe-buffer": "^5.0.1" - }, - "license": "MIT", - "version": "4.0.1" + } }, "node_modules/koffi": { - "funding": { - "url": "https://liberapay.com/Koromix" - }, + "version": "2.16.2", "hasInstallScript": true, "license": "MIT", "optional": true, - "version": "2.16.2" + "funding": { + "url": "https://liberapay.com/Koromix" + } }, "node_modules/long": { - "license": "Apache-2.0", - "version": "5.3.2" + "version": "5.3.2", + "license": "Apache-2.0" }, "node_modules/lru-cache": { + "version": "11.3.6", + "license": "BlueOak-1.0.0", "engines": { "node": "20 || >=22" - }, - "license": "BlueOak-1.0.0", - "version": "11.3.6" + } }, "node_modules/marked": { + "version": "15.0.12", + "license": "MIT", "bin": { "marked": "bin/marked.js" }, "engines": { "node": ">= 18" - }, - "license": "MIT", - "version": "15.0.12" + } }, "node_modules/mime-db": { + "version": "1.54.0", + "license": "MIT", "engines": { "node": ">= 0.6" - }, - "license": "MIT", - "version": "1.54.0" + } }, "node_modules/mime-types": { + "version": "3.0.2", + "license": "MIT", "dependencies": { "mime-db": "^1.54.0" }, @@ -2373,11 +2378,11 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/express" - }, - "license": "MIT", - "version": "3.0.2" + } }, "node_modules/minimatch": { + "version": "10.2.5", + "license": "BlueOak-1.0.0", "dependencies": { "brace-expansion": "^5.0.5" }, @@ -2386,41 +2391,37 @@ }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "license": "BlueOak-1.0.0", - "version": "10.2.5" + } }, "node_modules/minipass": { + "version": "7.1.3", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" - }, - "license": "BlueOak-1.0.0", - "version": "7.1.3" + } }, "node_modules/ms": { - "license": "MIT", - "version": "2.1.3" + "version": "2.1.3", + "license": "MIT" }, "node_modules/mz": { + "version": "2.7.0", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" - }, - "license": "MIT", - "version": "2.7.0" + } }, "node_modules/netmask": { + "version": "2.1.1", + "license": "MIT", "engines": { "node": ">= 0.4.0" - }, - "license": "MIT", - "version": "2.1.1" + } }, "node_modules/node-domexception": { - "engines": { - "node": ">=10.5.0" - }, + "version": "1.0.0", "funding": [ { "type": "github", @@ -2432,9 +2433,13 @@ } ], "license": "MIT", - "version": "1.0.0" + "engines": { + "node": ">=10.5.0" + } }, "node_modules/node-fetch": { + "version": "3.3.2", + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -2446,29 +2451,28 @@ "funding": { "type": "opencollective", "url": "https://opencollective.com/node-fetch" - }, - "license": "MIT", - "version": "3.3.2" + } }, "node_modules/object-assign": { + "version": "4.1.1", + "license": "MIT", "engines": { "node": ">=0.10.0" - }, - "license": "MIT", - "version": "4.1.1" + } }, "node_modules/once": { + "version": "1.4.0", + "license": "ISC", "dependencies": { "wrappy": "1" - }, - "license": "ISC", - "version": "1.4.0" + } }, "node_modules/openai": { + "version": "6.26.0", + "license": "Apache-2.0", "bin": { "openai": "bin/cli" }, - "license": "Apache-2.0", "peerDependencies": { "ws": "^8.18.0", "zod": "^3.25 || ^4.0" @@ -2480,25 +2484,26 @@ "zod": { "optional": true } - }, - "version": "6.26.0" + } }, "node_modules/p-retry": { + "version": "4.6.2", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "4.6.2" + } }, "node_modules/p-retry/node_modules/@types/retry": { - "license": "MIT", - "version": "0.12.0" + "version": "0.12.0", + "license": "MIT" }, "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "license": "MIT", "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", @@ -2511,44 +2516,40 @@ }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "7.2.0" + } }, "node_modules/pac-resolver": { + "version": "7.0.1", + "license": "MIT", "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "7.0.1" + } }, "node_modules/parse5": { - "license": "MIT", - "version": "5.1.1" + "version": "5.1.1", + "license": "MIT" }, "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "license": "MIT", "dependencies": { "parse5": "^6.0.1" - }, - "license": "MIT", - "version": "6.0.1" + } }, "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "license": "MIT", - "version": "6.0.1" + "version": "6.0.1", + "license": "MIT" }, "node_modules/partial-json": { - "license": "MIT", - "version": "0.1.7" + "version": "0.1.7", + "license": "MIT" }, "node_modules/path-expression-matcher": { - "engines": { - "node": ">=14.0.0" - }, + "version": "1.5.0", "funding": [ { "type": "github", @@ -2556,9 +2557,13 @@ } ], "license": "MIT", - "version": "1.5.0" + "engines": { + "node": ">=14.0.0" + } }, "node_modules/path-scurry": { + "version": "2.0.2", + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" @@ -2568,31 +2573,32 @@ }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "license": "BlueOak-1.0.0", - "version": "2.0.2" + } }, "node_modules/pend": { - "license": "MIT", - "version": "1.2.0" + "version": "1.2.0", + "license": "MIT" }, "node_modules/proper-lockfile": { + "version": "4.1.2", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" - }, - "license": "MIT", - "version": "4.1.2" + } }, "node_modules/proper-lockfile/node_modules/retry": { + "version": "0.12.0", + "license": "MIT", "engines": { "node": ">= 4" - }, - "license": "MIT", - "version": "0.12.0" + } }, "node_modules/protobufjs": { + "version": "7.5.6", + "hasInstallScript": true, + "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -2609,12 +2615,11 @@ }, "engines": { "node": ">=12.0.0" - }, - "hasInstallScript": true, - "license": "BSD-3-Clause", - "version": "7.5.6" + } }, "node_modules/proxy-agent": { + "version": "6.5.0", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -2627,44 +2632,43 @@ }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "6.5.0" + } }, "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "license": "ISC", "engines": { "node": ">=12" - }, - "license": "ISC", - "version": "7.18.3" + } }, "node_modules/proxy-from-env": { - "license": "MIT", - "version": "1.1.0" + "version": "1.1.0", + "license": "MIT" }, "node_modules/pump": { + "version": "3.0.4", + "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" - }, - "license": "MIT", - "version": "3.0.4" + } }, "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", "engines": { "node": ">=0.10.0" - }, - "license": "MIT", - "version": "2.1.1" + } }, "node_modules/retry": { + "version": "0.13.1", + "license": "MIT", "engines": { "node": ">= 4" - }, - "license": "MIT", - "version": "0.13.1" + } }, "node_modules/safe-buffer": { + "version": "5.2.1", "funding": [ { "type": "github", @@ -2679,22 +2683,23 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "version": "5.2.1" + "license": "MIT" }, "node_modules/signal-exit": { - "license": "ISC", - "version": "3.0.7" + "version": "3.0.7", + "license": "ISC" }, "node_modules/smart-buffer": { + "version": "4.2.0", + "license": "MIT", "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" - }, - "license": "MIT", - "version": "4.2.0" + } }, "node_modules/socks": { + "version": "2.8.8", + "license": "MIT", "dependencies": { "ip-address": "^10.1.1", "smart-buffer": "^4.2.0" @@ -2702,11 +2707,11 @@ "engines": { "node": ">= 10.0.0", "npm": ">= 3.0.0" - }, - "license": "MIT", - "version": "2.8.8" + } }, "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "license": "MIT", "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", @@ -2714,19 +2719,19 @@ }, "engines": { "node": ">= 14" - }, - "license": "MIT", - "version": "8.0.5" + } }, "node_modules/source-map": { - "engines": { - "node": ">=0.10.0" - }, + "version": "0.6.1", "license": "BSD-3-Clause", "optional": true, - "version": "0.6.1" + "engines": { + "node": ">=0.10.0" + } }, "node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2734,28 +2739,28 @@ }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "4.2.3" + } }, "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "5.0.1" + } }, "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "6.0.1" + } }, "node_modules/strip-ansi": { + "version": "7.2.0", + "license": "MIT", "dependencies": { "ansi-regex": "^6.2.2" }, @@ -2764,21 +2769,21 @@ }, "funding": { "url": "https://github.com/chalk/strip-ansi?sponsor=1" - }, - "license": "MIT", - "version": "7.2.0" + } }, "node_modules/strnum": { + "version": "2.3.0", "funding": [ { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT", - "version": "2.3.0" + "license": "MIT" }, "node_modules/strtok3": { + "version": "10.3.5", + "license": "MIT", "dependencies": { "@tokenizer/token": "^0.3.0" }, @@ -2788,28 +2793,28 @@ "funding": { "type": "github", "url": "https://github.com/sponsors/Borewit" - }, - "license": "MIT", - "version": "10.3.5" + } }, "node_modules/thenify": { + "version": "3.3.1", + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" - }, - "license": "MIT", - "version": "3.3.1" + } }, "node_modules/thenify-all": { + "version": "1.6.0", + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, "engines": { "node": ">=0.8" - }, - "license": "MIT", - "version": "1.6.0" + } }, "node_modules/token-types": { + "version": "6.1.2", + "license": "MIT", "dependencies": { "@borewit/text-codec": "^0.2.1", "@tokenizer/token": "^0.3.0", @@ -2821,62 +2826,62 @@ "funding": { "type": "github", "url": "https://github.com/sponsors/Borewit" - }, - "license": "MIT", - "version": "6.1.2" + } }, "node_modules/ts-algebra": { - "license": "MIT", - "version": "2.0.0" + "version": "2.0.0", + "license": "MIT" }, "node_modules/tslib": { - "license": "0BSD", - "version": "2.8.1" + "version": "2.8.1", + "license": "0BSD" }, "node_modules/typebox": { - "license": "MIT", - "version": "1.1.38" + "version": "1.1.38", + "license": "MIT" }, "node_modules/uint8array-extras": { + "version": "1.5.0", + "license": "MIT", "engines": { "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" - }, - "license": "MIT", - "version": "1.5.0" + } }, "node_modules/undici": { + "version": "7.25.0", + "license": "MIT", "engines": { "node": ">=20.18.1" - }, - "license": "MIT", - "version": "7.25.0" + } }, "node_modules/undici-types": { - "license": "MIT", - "version": "6.21.0" + "version": "6.21.0", + "license": "MIT" }, "node_modules/uuid": { - "bin": { - "uuid": "dist-node/bin/uuid" - }, + "version": "14.0.0", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], "license": "MIT", - "version": "14.0.0" + "bin": { + "uuid": "dist-node/bin/uuid" + } }, "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "license": "MIT", "engines": { "node": ">= 8" - }, - "license": "MIT", - "version": "3.3.3" + } }, "node_modules/wrap-ansi": { + "version": "7.0.0", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -2887,36 +2892,35 @@ }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - }, - "license": "MIT", - "version": "7.0.0" + } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "5.0.1" + } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" - }, - "license": "MIT", - "version": "6.0.1" + } }, "node_modules/wrappy": { - "license": "ISC", - "version": "1.0.2" + "version": "1.0.2", + "license": "ISC" }, "node_modules/ws": { + "version": "8.20.0", + "license": "MIT", "engines": { "node": ">=10.0.0" }, - "license": "MIT", "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" @@ -2928,17 +2932,18 @@ "utf-8-validate": { "optional": true } - }, - "version": "8.20.0" + } }, "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", "engines": { "node": ">=10" - }, - "license": "ISC", - "version": "5.0.8" + } }, "node_modules/yaml": { + "version": "2.8.4", + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -2947,11 +2952,11 @@ }, "funding": { "url": "https://github.com/sponsors/eemeli" - }, - "license": "ISC", - "version": "2.8.4" + } }, "node_modules/yargs": { + "version": "16.2.0", + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -2963,38 +2968,154 @@ }, "engines": { "node": ">=10" - }, - "license": "MIT", - "version": "16.2.0" + } }, "node_modules/yargs-parser": { + "version": "20.2.9", + "license": "ISC", "engines": { "node": ">=10" - }, - "license": "ISC", - "version": "20.2.9" + } }, "node_modules/yauzl": { + "version": "2.10.0", + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" - }, - "license": "MIT", - "version": "2.10.0" + } }, "node_modules/zod": { + "version": "4.4.3", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" - }, - "license": "MIT", - "version": "4.4.3" + } }, "node_modules/zod-to-json-schema": { + "version": "3.25.2", "license": "ISC", "peerDependencies": { "zod": "^3.25.28 || ^4" + } + }, + "packages/coding-agent": { + "name": "@earendil-works/pi-coding-agent", + "version": "0.74.0", + "license": "MIT", + "dependencies": { + "@earendil-works/pi-agent-core": "^0.74.0", + "@earendil-works/pi-ai": "^0.74.0", + "@earendil-works/pi-tui": "^0.74.0", + "@silvia-odwyer/photon-node": "^0.3.4", + "chalk": "^5.5.0", + "cli-highlight": "^2.1.11", + "diff": "^8.0.2", + "extract-zip": "^2.0.1", + "file-type": "^21.1.1", + "glob": "^13.0.1", + "hosted-git-info": "^9.0.2", + "ignore": "^7.0.5", + "jiti": "^2.7.0", + "marked": "^15.0.12", + "minimatch": "^10.2.3", + "proper-lockfile": "^4.1.2", + "strip-ansi": "^7.1.0", + "typebox": "^1.1.24", + "undici": "^7.19.1", + "uuid": "^14.0.0", + "yaml": "^2.8.2" }, - "version": "3.25.2" + "bin": { + "pi": "dist/cli.js" + }, + "devDependencies": { + "@types/diff": "^7.0.2", + "@types/hosted-git-info": "^3.0.5", + "@types/ms": "^2.1.0", + "@types/node": "^24.3.0", + "@types/proper-lockfile": "^4.1.4", + "shx": "^0.4.0", + "typescript": "^5.7.3", + "vitest": "^3.2.4" + }, + "engines": { + "node": ">=20.6.0" + }, + "optionalDependencies": { + "@mariozechner/clipboard": "^0.3.5" + } + }, + "packages/coding-agent/examples/extensions/custom-provider-anthropic": { + "name": "pi-extension-custom-provider-anthropic", + "version": "0.74.0", + "dependencies": { + "@anthropic-ai/sdk": "^0.52.0" + } + }, + "packages/coding-agent/examples/extensions/custom-provider-gitlab-duo": { + "name": "pi-extension-custom-provider-gitlab-duo", + "version": "0.74.0" + }, + "packages/coding-agent/examples/extensions/sandbox": { + "name": "pi-extension-sandbox", + "version": "1.4.0", + "dependencies": { + "@anthropic-ai/sandbox-runtime": "^0.0.26" + } + }, + "packages/coding-agent/examples/extensions/with-deps": { + "name": "pi-extension-with-deps", + "version": "0.74.0", + "dependencies": { + "ms": "^2.1.3" + }, + "devDependencies": { + "@types/ms": "^2.1.0" + } + }, + "packages/web-ui": { + "name": "@earendil-works/pi-web-ui", + "version": "0.74.0", + "license": "MIT", + "dependencies": { + "@earendil-works/pi-ai": "^0.74.0", + "@earendil-works/pi-tui": "^0.74.0", + "@lmstudio/sdk": "^1.5.0", + "docx-preview": "^0.3.7", + "jszip": "^3.10.1", + "lucide": "^0.544.0", + "ollama": "^0.6.0", + "pdfjs-dist": "5.4.394", + "typebox": "^1.1.24", + "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz" + }, + "devDependencies": { + "@mariozechner/mini-lit": "^0.2.0", + "@tailwindcss/cli": "^4.0.0-beta.14", + "concurrently": "^9.2.1", + "typescript": "^5.7.3" + }, + "peerDependencies": { + "@mariozechner/mini-lit": "^0.2.0", + "lit": "^3.3.1" + } + }, + "packages/web-ui/example": { + "name": "pi-web-ui-example", + "version": "0.74.0", + "dependencies": { + "@earendil-works/pi-ai": "file:../../ai", + "@earendil-works/pi-web-ui": "file:../", + "@mariozechner/mini-lit": "^0.2.0", + "@tailwindcss/vite": "^4.1.17", + "lit": "^3.3.1", + "lucide": "^0.544.0" + }, + "devDependencies": { + "typescript": "^5.7.3", + "vite": "^7.1.6" + } } } } diff --git a/scripts/generate-coding-agent-shrinkwrap.mjs b/scripts/generate-coding-agent-shrinkwrap.mjs index a1603ff4c..1cc70a4ba 100644 --- a/scripts/generate-coding-agent-shrinkwrap.mjs +++ b/scripts/generate-coding-agent-shrinkwrap.mjs @@ -1,16 +1,23 @@ #!/usr/bin/env node -import { readFileSync, writeFileSync } from "fs"; -import { dirname, join, posix, resolve } from "path"; -import { fileURLToPath } from "url"; +import { execFileSync } from "child_process"; +import { copyFileSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "fs"; +import { tmpdir } from "os"; +import { dirname, join, resolve } from "path"; +import { fileURLToPath, pathToFileURL } from "url"; const scriptDir = dirname(fileURLToPath(import.meta.url)); const repoRoot = resolve(scriptDir, ".."); -const codingAgentPackagePath = "packages/coding-agent"; -const codingAgentDir = join(repoRoot, codingAgentPackagePath); -const lockfilePath = join(repoRoot, "package-lock.json"); +const codingAgentDir = join(repoRoot, "packages/coding-agent"); +const rootLockfilePath = join(repoRoot, "package-lock.json"); const shrinkwrapPath = join(codingAgentDir, "npm-shrinkwrap.json"); +const INTERNAL_WORKSPACES = new Map([ + ["@earendil-works/pi-agent-core", "packages/agent"], + ["@earendil-works/pi-ai", "packages/ai"], + ["@earendil-works/pi-tui", "packages/tui"], +]); + const args = new Set(process.argv.slice(2)); const checkOnly = args.has("--check"); @@ -25,134 +32,100 @@ function readJson(path) { return JSON.parse(readFileSync(path, "utf8")); } -function productionDependencies(pkg) { - return { - ...(pkg.dependencies || {}), - ...(pkg.optionalDependencies || {}), - }; -} - -function sortedObject(obj) { - return Object.fromEntries(Object.entries(obj).sort(([a], [b]) => a.localeCompare(b))); -} - -function copyLockEntry(entry) { - const copied = { ...entry }; - delete copied.dev; - delete copied.devOptional; - delete copied.extraneous; - delete copied.link; - return sortedObject(copied); -} - -function copyPackageJsonEntry(pkg, { includeName }) { - const entry = includeName ? { name: pkg.name, version: pkg.version } : { version: pkg.version }; - - for (const field of [ - "license", - "bin", - "engines", - "os", - "cpu", - "libc", - "dependencies", - "optionalDependencies", - "peerDependencies", - "peerDependenciesMeta", - ]) { - if (pkg[field] !== undefined) { - entry[field] = pkg[field]; - } - } - - return sortedObject(entry); -} - function packageNameFromLockPath(lockPath) { const marker = "node_modules/"; const index = lockPath.lastIndexOf(marker); if (index === -1) { - throw new Error(`Cannot derive package name from lock path: ${lockPath}`); + return null; } - const rest = lockPath.slice(index + marker.length).split("/"); - if (rest[0]?.startsWith("@")) { - return `${rest[0]}/${rest[1]}`; + const parts = lockPath.slice(index + marker.length).split("/"); + if (parts[0]?.startsWith("@")) { + return `${parts[0]}/${parts[1]}`; } - return rest[0]; + return parts[0]; } -function workspaceOutputPath(packageName) { - return `node_modules/${packageName}`; +function registryTarballUrl(packageName, version) { + const tarballName = packageName.startsWith("@") ? packageName.split("/")[1] : packageName; + return `https://registry.npmjs.org/${packageName}/-/${tarballName}-${version}.tgz`; } -function findWorkspacePackages(lockPackages) { - const workspaces = new Map(); +function createTempPackageJson(codingAgentPackage) { + const tempPackage = JSON.parse(JSON.stringify(codingAgentPackage)); + const internalNames = new Set(); - for (const [lockPath, entry] of Object.entries(lockPackages)) { - if (!lockPath.startsWith("packages/") || lockPath.includes("/node_modules/") || !entry.name || !entry.version) { - continue; + delete tempPackage.devDependencies; + + for (const [name, relativePath] of INTERNAL_WORKSPACES) { + const fileSpec = pathToFileURL(join(repoRoot, relativePath)).href; + if (tempPackage.dependencies?.[name]) { + tempPackage.dependencies[name] = fileSpec; + internalNames.add(name); + } + if (tempPackage.optionalDependencies?.[name]) { + tempPackage.optionalDependencies[name] = fileSpec; + internalNames.add(name); } - - workspaces.set(entry.name, { - lockPath, - pkg: readJson(join(repoRoot, lockPath, "package.json")), - }); } - return workspaces; + return { internalNames, tempPackage }; } -function createResolver(lockPackages) { - return function resolveExternalDependency(packageName, fromLockPath) { - const candidateDirs = []; +function runNpmInstall(tempDir) { + execFileSync( + "npm", + ["install", "--package-lock-only", "--omit=dev", "--ignore-scripts", "--install-links=true", "--workspaces=false", "--audit=false", "--fund=false"], + { cwd: tempDir, stdio: "inherit" }, + ); +} - let current = fromLockPath; - while (current) { - candidateDirs.push(current); - const parent = posix.dirname(current); - if (parent === "." || parent === current) { - break; +function sanitizeLockfile(lockfile, codingAgentPackage, internalNames) { + const packages = {}; + + for (const [lockPath, entry] of Object.entries(lockfile.packages)) { + const copied = { ...entry }; + delete copied.dev; + delete copied.devOptional; + delete copied.extraneous; + delete copied.link; + + if (lockPath === "") { + copied.name = codingAgentPackage.name; + copied.version = codingAgentPackage.version; + copied.dependencies = codingAgentPackage.dependencies; + if (codingAgentPackage.optionalDependencies) { + copied.optionalDependencies = codingAgentPackage.optionalDependencies; } - current = parent; - } - candidateDirs.push(""); - - const tried = new Set(); - for (const dir of candidateDirs) { - const candidate = dir ? `${dir}/node_modules/${packageName}` : `node_modules/${packageName}`; - if (tried.has(candidate)) { - continue; - } - tried.add(candidate); - - const entry = lockPackages[candidate]; - if (entry && !entry.link) { - return candidate; + } else { + const packageName = packageNameFromLockPath(lockPath); + if (packageName && internalNames.has(packageName)) { + copied.resolved = registryTarballUrl(packageName, copied.version); + delete copied.integrity; } } - const suffix = `node_modules/${packageName}`; - const matches = Object.entries(lockPackages) - .filter(([lockPath, entry]) => !entry.link && (lockPath === suffix || lockPath.endsWith(`/${suffix}`))) - .map(([lockPath]) => lockPath); + packages[lockPath] = copied; + } - if (matches.length === 1) { - return matches[0]; - } - - throw new Error( - `Cannot resolve ${packageName} from ${fromLockPath || "root"}. ` + - (matches.length > 1 ? `Matches: ${matches.join(", ")}` : "No matching lockfile entry found."), - ); + return { + name: codingAgentPackage.name, + version: codingAgentPackage.version, + lockfileVersion: 3, + requires: true, + packages, }; } -function validateShrinkwrapPackages(shrinkwrapPackages) { +function validateShrinkwrap(shrinkwrap, internalNames) { const errors = []; - const includedPaths = new Set(Object.keys(shrinkwrapPackages)); + const packageNames = new Set(); - for (const [lockPath, entry] of Object.entries(shrinkwrapPackages)) { + for (const [lockPath, entry] of Object.entries(shrinkwrap.packages)) { + const packageName = packageNameFromLockPath(lockPath); + if (packageName) { + packageNames.add(packageName); + } if (entry.link) { errors.push(`${lockPath} is a link entry`); } @@ -161,19 +134,14 @@ function validateShrinkwrapPackages(shrinkwrapPackages) { } } - for (const [lockPath, entry] of Object.entries(shrinkwrapPackages)) { - for (const dependencyName of Object.keys(entry.optionalDependencies || {})) { - const dependencyIncluded = [...includedPaths].some( - (candidate) => candidate === `node_modules/${dependencyName}` || candidate.endsWith(`/node_modules/${dependencyName}`), - ); - if (!dependencyIncluded) { - errors.push(`${lockPath} optional dependency ${dependencyName} is missing`); - } + for (const name of internalNames) { + if (!packageNames.has(name)) { + errors.push(`internal dependency ${name} is missing`); } } - const platformEntries = Object.entries(shrinkwrapPackages).filter(([, entry]) => entry.os || entry.cpu || entry.libc); - if (platformEntries.length === 0) { + const platformPackageCount = Object.values(shrinkwrap.packages).filter((entry) => entry.os || entry.cpu || entry.libc).length; + if (platformPackageCount === 0) { errors.push("no platform-specific optional dependency entries found"); } @@ -183,66 +151,26 @@ function validateShrinkwrapPackages(shrinkwrapPackages) { } function generateShrinkwrap() { - const rootLock = readJson(lockfilePath); - if (rootLock.lockfileVersion !== 3 || !rootLock.packages) { - throw new Error("package-lock.json must be lockfileVersion 3 and contain a packages map"); - } - - const lockPackages = rootLock.packages; const codingAgentPackage = readJson(join(codingAgentDir, "package.json")); - const workspaces = findWorkspacePackages(lockPackages); - const resolveExternalDependency = createResolver(lockPackages); - const shrinkwrapPackages = { - "": copyPackageJsonEntry(codingAgentPackage, { includeName: true }), - }; - const addedPaths = new Set([""]); - const queue = Object.keys(productionDependencies(codingAgentPackage)).map((name) => ({ name, from: "" })); + const { internalNames, tempPackage } = createTempPackageJson(codingAgentPackage); + const tempDir = mkdtempSync(join(tmpdir(), "pi-coding-agent-shrinkwrap-")); - while (queue.length > 0) { - const item = queue.shift(); - if (!item) { - break; + try { + writeFileSync(join(tempDir, "package.json"), `${JSON.stringify(tempPackage, null, "\t")}\n`); + copyFileSync(rootLockfilePath, join(tempDir, "package-lock.json")); + runNpmInstall(tempDir); + + const lockfile = readJson(join(tempDir, "package-lock.json")); + if (lockfile.lockfileVersion !== 3 || !lockfile.packages) { + throw new Error("npm generated an unsupported package-lock.json"); } - const workspace = workspaces.get(item.name); - if (workspace) { - const outputPath = workspaceOutputPath(item.name); - if (addedPaths.has(outputPath)) { - continue; - } - - shrinkwrapPackages[outputPath] = copyPackageJsonEntry(workspace.pkg, { includeName: false }); - addedPaths.add(outputPath); - - for (const dependencyName of Object.keys(productionDependencies(workspace.pkg))) { - queue.push({ name: dependencyName, from: outputPath }); - } - continue; - } - - const lockPath = resolveExternalDependency(item.name, item.from); - if (addedPaths.has(lockPath)) { - continue; - } - - const entry = lockPackages[lockPath]; - shrinkwrapPackages[lockPath] = copyLockEntry(entry); - addedPaths.add(lockPath); - - for (const dependencyName of Object.keys(productionDependencies(entry))) { - queue.push({ name: dependencyName, from: lockPath }); - } + const shrinkwrap = sanitizeLockfile(lockfile, codingAgentPackage, internalNames); + validateShrinkwrap(shrinkwrap, internalNames); + return shrinkwrap; + } finally { + rmSync(tempDir, { recursive: true, force: true }); } - - validateShrinkwrapPackages(shrinkwrapPackages); - - return { - name: codingAgentPackage.name, - version: codingAgentPackage.version, - lockfileVersion: 3, - requires: true, - packages: sortedObject(shrinkwrapPackages), - }; } try {