diff --git a/packages/artifact/README.md b/packages/artifact/README.md index 5a98da0e34..9b7a2bbb27 100644 --- a/packages/artifact/README.md +++ b/packages/artifact/README.md @@ -4,7 +4,6 @@ Interact programmatically with [Actions Artifacts](https://docs.github.com/en/ac This is the core library that powers the [`@actions/upload-artifact`](https://github.com/actions/upload-artifact) and [`@actions/download-artifact`](https://github.com/actions/download-artifact) actions. - - [`@actions/artifact`](#actionsartifact) - [v2 - What's New](#v2---whats-new) - [Improvements](#improvements) diff --git a/packages/artifact/RELEASES.md b/packages/artifact/RELEASES.md index 0bb8dc892b..7559d0bb21 100644 --- a/packages/artifact/RELEASES.md +++ b/packages/artifact/RELEASES.md @@ -1,144 +1,144 @@ # @actions/artifact Releases -### 5.0.3 +## 5.0.3 - Bump `@actions/http-client` to `3.0.2` -### 5.0.1 +## 5.0.1 - Fix Node.js 24 punycode deprecation warning by updating `@azure/storage-blob` from `^12.15.0` to `^12.29.1` [#2211](https://github.com/actions/toolkit/pull/2211) - Removed direct `@azure/core-http` dependency (now uses `@azure/core-rest-pipeline` via storage-blob) -### 5.0.0 +## 5.0.0 - Dependency updates for Node.js 24 runtime support - Update `@actions/core` to v2 - Update `@actions/http-client` to v3 -### 4.0.0 +## 4.0.0 - Add support for Node 24 [#2110](https://github.com/actions/toolkit/pull/2110) - Fix: artifact pagination bugs and configurable artifact count limits [#2165](https://github.com/actions/toolkit/pull/2165) - Fix: reject the promise on timeout [#2124](https://github.com/actions/toolkit/pull/2124) - Update dependency versions -### 2.3.3 +## 2.3.3 - Dependency updates [#2049](https://github.com/actions/toolkit/pull/2049) -### 2.3.2 +## 2.3.2 - Added masking for Shared Access Signature (SAS) artifact URLs [#1982](https://github.com/actions/toolkit/pull/1982) -- Change hash to digest for consistent terminology across runner logs [#1991](https://github.com/actions/toolkit/pull/1991) +- Change hash to digest for consistent terminology across runner logs [#1991](https://github.com/actions/toolkit/pull/1991) -### 2.3.1 +## 2.3.1 - Fix comment typo on expectedHash. [#1986](https://github.com/actions/toolkit/pull/1986) -### 2.3.0 +## 2.3.0 - Allow ArtifactClient to perform digest comparisons, if supplied. [#1975](https://github.com/actions/toolkit/pull/1975) -### 2.2.2 +## 2.2.2 - Default concurrency to 5 for uploading artifacts [#1962](https://github.com/actions/toolkit/pull/1962) -### 2.2.1 +## 2.2.1 - Add `ACTIONS_ARTIFACT_UPLOAD_CONCURRENCY` and `ACTIONS_ARTIFACT_UPLOAD_TIMEOUT_MS` environment variables [#1928](https://github.com/actions/toolkit/pull/1928) -### 2.2.0 +## 2.2.0 - Return artifact digest on upload [#1896](https://github.com/actions/toolkit/pull/1896) -### 2.1.11 +## 2.1.11 - Fixed a bug with relative symlinks resolution [#1844](https://github.com/actions/toolkit/pull/1844) - Use native `crypto` [#1815](https://github.com/actions/toolkit/pull/1815) -### 2.1.10 +## 2.1.10 - Fixed a regression with symlinks not being automatically resolved [#1830](https://github.com/actions/toolkit/pull/1830) - Fixed a regression with chunk timeout [#1786](https://github.com/actions/toolkit/pull/1786) -### 2.1.9 +## 2.1.9 - Fixed artifact upload chunk timeout logic [#1774](https://github.com/actions/toolkit/pull/1774) - Use lazy stream to prevent issues with open file limits [#1771](https://github.com/actions/toolkit/pull/1771) -### 2.1.8 +## 2.1.8 - Allows `*.localhost` domains for hostname checks for local development. -### 2.1.7 +## 2.1.7 - Update unzip-stream dependency and reverted to using `unzip.Extract()` -### 2.1.6 +## 2.1.6 - Will retry on invalid request responses. -### 2.1.5 +## 2.1.5 - Bumped `archiver` dependency to 7.0.1 -### 2.1.4 +## 2.1.4 - Adds info-level logging for zip extraction -### 2.1.3 +## 2.1.3 - Fixes a bug in the extract logic updated in 2.1.2 -### 2.1.2 +## 2.1.2 - Updated the stream extract functionality to use `unzip.Parse()` instead of `unzip.Extract()` for greater control of unzipping artifacts -### 2.1.1 +## 2.1.1 - Updated `isGhes` check to include `.ghe.com` and `.ghe.localhost` as accepted hosts -### 2.1.0 +## 2.1.0 - Added `ArtifactClient#deleteArtifact` to delete artifacts by name [#1626](https://github.com/actions/toolkit/pull/1626) - Update error messaging to be more useful [#1628](https://github.com/actions/toolkit/pull/1628) -### 2.0.1 +## 2.0.1 -- Patch to fix transient request timeouts https://github.com/actions/download-artifact/issues/249 +- Patch to fix transient request timeouts -### 2.0.0 +## 2.0.0 - Major release. Supports new Artifact backend for improved speed, reliability and behavior. - Numerous API changes, [some breaking](./README.md#breaking-changes). - [Blog post with more info](https://github.blog/2024-02-12-get-started-with-v4-of-github-actions-artifacts/) -### 1.1.1 +## 1.1.1 - Fixed a bug in Node16 where if an HTTP download finished too quickly (<1ms, e.g. when it's mocked) we attempt to delete a temp file that has not been created yet [#1278](https://github.com/actions/toolkit/pull/1278/commits/b9de68a590daf37c6747e38d3cb4f1dd2cfb791c) -### 1.1.0 +## 1.1.0 - Add `x-actions-results-crc64` and `x-actions-results-md5` checksum headers on upload [#1063](https://github.com/actions/toolkit/pull/1063) -### 1.0.2 +## 1.0.2 - Update to v2.0.1 of `@actions/http-client` [#1087](https://github.com/actions/toolkit/pull/1087) -### 1.0.1 +## 1.0.1 - Update to v2.0.0 of `@actions/http-client` -### 1.0.0 +## 1.0.0 - Update `lockfileVersion` to `v2` in `package-lock.json` [#1009](https://github.com/actions/toolkit/pull/1009) -### 0.6.1 +## 0.6.1 - Fix for failing 0 byte file uploads on Windows [#962](https://github.com/actions/toolkit/pull/962) -### 0.6.0 +## 0.6.0 - Support upload from named pipes [#748](https://github.com/actions/toolkit/pull/748) - Fixes to percentage values being greater than 100% when downloading all artifacts [#889](https://github.com/actions/toolkit/pull/889) @@ -147,49 +147,49 @@ - Faster upload speeds for certain types of large files by exempting gzip compression [#956](https://github.com/actions/toolkit/pull/956) - More detailed logging when dealing with chunked uploads [#957](https://github.com/actions/toolkit/pull/957) -### 0.5.2 +## 0.5.2 - Add HTTP 500 as a retryable status code for artifact upload and download. -### 0.5.1 +## 0.5.1 - Bump @actions/http-client to version 1.0.11 to fix proxy related issues during artifact upload and download -### 0.5.0 +## 0.5.0 - Improved retry-ability for all http calls during artifact upload and download if an error is encountered -### 0.4.2 +## 0.4.2 - Improved retry-ability when a partial artifact download is encountered -### 0.4.1 +## 0.4.1 - Update to latest @actions/core version -### 0.4.0 +## 0.4.0 - Add option to specify custom retentions on artifacts -- -### 0.3.5 + +## 0.3.5 - Retry in the event of a 413 response -### 0.3.3 +## 0.3.3 - Increase chunk size during upload from 4MB to 8MB - Improve user-agent strings during API calls to help internally diagnose issues -### 0.3.2 +## 0.3.2 - Fix to ensure readstreams get correctly reset in the event of a retry -### 0.3.1 +## 0.3.1 - Fix to ensure temporary gzip files get correctly deleted during artifact upload - Remove spaces as a forbidden character during upload -### 0.3.0 +## 0.3.0 - Fixes to gzip decompression when downloading artifacts - Support handling 429 response codes @@ -198,13 +198,13 @@ - Clearer error message if storage quota has been reached - Improved logging and output during artifact download -### 0.2.0 +## 0.2.0 - Fixes to TCP connections not closing - GZip file compression to speed up downloads - Improved logging and output - Extra documentation -### 0.1.0 +## 0.1.0 - Initial release diff --git a/packages/artifact/__tests__/artifact-http-client.test.ts b/packages/artifact/__tests__/artifact-http-client.test.ts index feb2b04a02..84a50a6f4a 100644 --- a/packages/artifact/__tests__/artifact-http-client.test.ts +++ b/packages/artifact/__tests__/artifact-http-client.test.ts @@ -1,10 +1,10 @@ import * as http from 'http' import * as net from 'net' import {HttpClient} from '@actions/http-client' -import * as config from '../src/internal/shared/config' -import {internalArtifactTwirpClient} from '../src/internal/shared/artifact-twirp-client' -import {noopLogs} from './common' -import {NetworkError, UsageError} from '../src/internal/shared/errors' +import * as config from '../src/internal/shared/config.js' +import {internalArtifactTwirpClient} from '../src/internal/shared/artifact-twirp-client.js' +import {noopLogs} from './common.js' +import {NetworkError, UsageError} from '../src/internal/shared/errors.js' jest.mock('@actions/http-client') diff --git a/packages/artifact/__tests__/config.test.ts b/packages/artifact/__tests__/config.test.ts index 210126b85f..3d14ace2b2 100644 --- a/packages/artifact/__tests__/config.test.ts +++ b/packages/artifact/__tests__/config.test.ts @@ -1,4 +1,4 @@ -import * as config from '../src/internal/shared/config' +import * as config from '../src/internal/shared/config.js' import os from 'os' // Mock the `cpus()` function in the `os` module diff --git a/packages/artifact/__tests__/delete-artifacts.test.ts b/packages/artifact/__tests__/delete-artifacts.test.ts index 70a3941249..7e71c216d4 100644 --- a/packages/artifact/__tests__/delete-artifacts.test.ts +++ b/packages/artifact/__tests__/delete-artifacts.test.ts @@ -4,11 +4,11 @@ import type {RequestInterface} from '@octokit/types' import { deleteArtifactInternal, deleteArtifactPublic -} from '../src/internal/delete/delete-artifact' -import * as config from '../src/internal/shared/config' -import {ArtifactServiceClientJSON, Timestamp} from '../src/generated' -import * as util from '../src/internal/shared/util' -import {noopLogs} from './common' +} from '../src/internal/delete/delete-artifact.js' +import * as config from '../src/internal/shared/config.js' +import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js' +import * as util from '../src/internal/shared/util.js' +import {noopLogs} from './common.js' type MockedRequest = jest.MockedFunction> diff --git a/packages/artifact/__tests__/download-artifact.test.ts b/packages/artifact/__tests__/download-artifact.test.ts index ec9302721a..02390d6f00 100644 --- a/packages/artifact/__tests__/download-artifact.test.ts +++ b/packages/artifact/__tests__/download-artifact.test.ts @@ -11,12 +11,12 @@ import { downloadArtifactInternal, downloadArtifactPublic, streamExtractExternal -} from '../src/internal/download/download-artifact' -import {getUserAgentString} from '../src/internal/shared/user-agent' -import {noopLogs} from './common' -import * as config from '../src/internal/shared/config' -import {ArtifactServiceClientJSON} from '../src/generated' -import * as util from '../src/internal/shared/util' +} from '../src/internal/download/download-artifact.js' +import {getUserAgentString} from '../src/internal/shared/user-agent.js' +import {noopLogs} from './common.js' +import * as config from '../src/internal/shared/config.js' +import {ArtifactServiceClientJSON} from '../src/generated/index.js' +import * as util from '../src/internal/shared/util.js' type MockedDownloadArtifact = jest.MockedFunction< RestEndpointMethods['actions']['downloadArtifact'] diff --git a/packages/artifact/__tests__/get-artifact.test.ts b/packages/artifact/__tests__/get-artifact.test.ts index 56ed0d34b5..025fd6a6d6 100644 --- a/packages/artifact/__tests__/get-artifact.test.ts +++ b/packages/artifact/__tests__/get-artifact.test.ts @@ -3,15 +3,15 @@ import type {RequestInterface} from '@octokit/types' import { getArtifactInternal, getArtifactPublic -} from '../src/internal/find/get-artifact' -import * as config from '../src/internal/shared/config' -import {ArtifactServiceClientJSON, Timestamp} from '../src/generated' -import * as util from '../src/internal/shared/util' -import {noopLogs} from './common' +} from '../src/internal/find/get-artifact.js' +import * as config from '../src/internal/shared/config.js' +import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js' +import * as util from '../src/internal/shared/util.js' +import {noopLogs} from './common.js' import { ArtifactNotFoundError, InvalidResponseError -} from '../src/internal/shared/errors' +} from '../src/internal/shared/errors.js' type MockedRequest = jest.MockedFunction> diff --git a/packages/artifact/__tests__/list-artifacts.test.ts b/packages/artifact/__tests__/list-artifacts.test.ts index a5c18e8531..c4d8b0cd76 100644 --- a/packages/artifact/__tests__/list-artifacts.test.ts +++ b/packages/artifact/__tests__/list-artifacts.test.ts @@ -3,12 +3,12 @@ import type {RestEndpointMethodTypes} from '@octokit/plugin-rest-endpoint-method import { listArtifactsInternal, listArtifactsPublic -} from '../src/internal/find/list-artifacts' -import * as config from '../src/internal/shared/config' -import {ArtifactServiceClientJSON, Timestamp} from '../src/generated' -import * as util from '../src/internal/shared/util' -import {noopLogs} from './common' -import {Artifact} from '../src/internal/shared/interfaces' +} from '../src/internal/find/list-artifacts.js' +import * as config from '../src/internal/shared/config.js' +import {ArtifactServiceClientJSON, Timestamp} from '../src/generated/index.js' +import * as util from '../src/internal/shared/util.js' +import {noopLogs} from './common.js' +import {Artifact} from '../src/internal/shared/interfaces.js' import {RequestInterface} from '@octokit/types' type MockedRequest = jest.MockedFunction> diff --git a/packages/artifact/__tests__/path-and-artifact-name-validation.test.ts b/packages/artifact/__tests__/path-and-artifact-name-validation.test.ts index 3ecdde451c..4364637d1b 100644 --- a/packages/artifact/__tests__/path-and-artifact-name-validation.test.ts +++ b/packages/artifact/__tests__/path-and-artifact-name-validation.test.ts @@ -1,9 +1,9 @@ import { validateArtifactName, validateFilePath -} from '../src/internal/upload/path-and-artifact-name-validation' +} from '../src/internal/upload/path-and-artifact-name-validation.js' -import {noopLogs} from './common' +import {noopLogs} from './common.js' describe('Path and artifact name validation', () => { beforeAll(() => { diff --git a/packages/artifact/__tests__/retention.test.ts b/packages/artifact/__tests__/retention.test.ts index 83de5342e9..3ac7c8577a 100644 --- a/packages/artifact/__tests__/retention.test.ts +++ b/packages/artifact/__tests__/retention.test.ts @@ -1,5 +1,5 @@ -import {Timestamp} from '../src/generated' -import * as retention from '../src/internal/upload/retention' +import {Timestamp} from '../src/generated/index.js' +import * as retention from '../src/internal/upload/retention.js' describe('retention', () => { beforeEach(() => { diff --git a/packages/artifact/__tests__/upload-artifact.test.ts b/packages/artifact/__tests__/upload-artifact.test.ts index 30abab6e23..20a428810b 100644 --- a/packages/artifact/__tests__/upload-artifact.test.ts +++ b/packages/artifact/__tests__/upload-artifact.test.ts @@ -1,12 +1,12 @@ -import * as uploadZipSpecification from '../src/internal/upload/upload-zip-specification' -import * as zip from '../src/internal/upload/zip' -import * as util from '../src/internal/shared/util' -import * as config from '../src/internal/shared/config' -import {ArtifactServiceClientJSON} from '../src/generated' -import * as blobUpload from '../src/internal/upload/blob-upload' -import {uploadArtifact} from '../src/internal/upload/upload-artifact' -import {noopLogs} from './common' -import {FilesNotFoundError} from '../src/internal/shared/errors' +import * as uploadZipSpecification from '../src/internal/upload/upload-zip-specification.js' +import * as zip from '../src/internal/upload/zip.js' +import * as util from '../src/internal/shared/util.js' +import * as config from '../src/internal/shared/config.js' +import {ArtifactServiceClientJSON} from '../src/generated/index.js' +import * as blobUpload from '../src/internal/upload/blob-upload.js' +import {uploadArtifact} from '../src/internal/upload/upload-artifact.js' +import {noopLogs} from './common.js' +import {FilesNotFoundError} from '../src/internal/shared/errors.js' import {BlockBlobUploadStreamOptions} from '@azure/storage-blob' import * as fs from 'fs' import * as path from 'path' diff --git a/packages/artifact/__tests__/upload-zip-specification.test.ts b/packages/artifact/__tests__/upload-zip-specification.test.ts index 9688aa6f49..9da9478132 100644 --- a/packages/artifact/__tests__/upload-zip-specification.test.ts +++ b/packages/artifact/__tests__/upload-zip-specification.test.ts @@ -4,8 +4,8 @@ import {promises as fs} from 'fs' import { getUploadZipSpecification, validateRootDirectory -} from '../src/internal/upload/upload-zip-specification' -import {noopLogs} from './common' +} from '../src/internal/upload/upload-zip-specification.js' +import {noopLogs} from './common.js' const root = path.join(__dirname, '_temp', 'upload-specification') const goodItem1Path = path.join( diff --git a/packages/artifact/__tests__/util.test.ts b/packages/artifact/__tests__/util.test.ts index 2649662e01..daedd1561c 100644 --- a/packages/artifact/__tests__/util.test.ts +++ b/packages/artifact/__tests__/util.test.ts @@ -1,6 +1,6 @@ -import * as config from '../src/internal/shared/config' -import * as util from '../src/internal/shared/util' -import {maskSigUrl, maskSecretUrls} from '../src/internal/shared/util' +import * as config from '../src/internal/shared/config.js' +import * as util from '../src/internal/shared/util.js' +import {maskSigUrl, maskSecretUrls} from '../src/internal/shared/util.js' import {setSecret, debug} from '@actions/core' export const testRuntimeToken = diff --git a/packages/artifact/package-lock.json b/packages/artifact/package-lock.json index ec6744ce91..f4d3ad44b8 100644 --- a/packages/artifact/package-lock.json +++ b/packages/artifact/package-lock.json @@ -1,96 +1,85 @@ { "name": "@actions/artifact", - "version": "5.0.3", + "version": "6.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@actions/artifact", - "version": "5.0.3", + "version": "6.0.0", "license": "MIT", "dependencies": { - "@actions/core": "^2.0.0", - "@actions/github": "^6.0.1", - "@actions/http-client": "^3.0.2", - "@azure/storage-blob": "^12.29.1", - "@octokit/core": "^5.2.1", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-retry": "^3.0.9", - "@octokit/request": "^8.4.1", - "@octokit/request-error": "^5.1.1", + "@actions/core": "^3.0.0", + "@actions/github": "^9.0.0", + "@actions/http-client": "^4.0.0", + "@azure/storage-blob": "^12.30.0", + "@octokit/core": "^7.0.6", + "@octokit/plugin-request-log": "^6.0.0", + "@octokit/plugin-retry": "^8.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", "@protobuf-ts/plugin": "^2.2.3-alpha.1", + "@protobuf-ts/runtime": "^2.9.4", "archiver": "^7.0.1", - "jwt-decode": "^3.1.2", + "jwt-decode": "^4.0.0", "unzip-stream": "^0.3.1" }, "devDependencies": { - "@types/archiver": "^5.3.2", + "@types/archiver": "^7.0.0", "@types/unzip-stream": "^0.3.4", - "typedoc": "^0.28.13", - "typedoc-plugin-markdown": "^3.17.1", - "typescript": "^5.2.2" + "typedoc": "^0.28.16", + "typedoc-plugin-markdown": "^4.9.0", + "typescript": "^5.9.3" } }, "node_modules/@actions/core": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.2.tgz", - "integrity": "sha512-Ast1V7yHbGAhplAsuVlnb/5J8Mtr/Zl6byPPL+Qjq3lmfIgWF1ak1iYfF/079cRERiuTALTXkSuEUdZeDCfGtA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz", + "integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==", "license": "MIT", "dependencies": { - "@actions/exec": "^2.0.0", - "@actions/http-client": "^3.0.1" + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0" } }, "node_modules/@actions/exec": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz", - "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz", + "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==", "license": "MIT", "dependencies": { - "@actions/io": "^2.0.0" + "@actions/io": "^3.0.2" } }, "node_modules/@actions/github": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.1.tgz", - "integrity": "sha512-xbZVcaqD4XnQAe35qSQqskb3SqIAfRyLBrHMd/8TuL7hJSz2QtbDwnNM8zWx4zO5l2fnGtseNE3MbEvD7BxVMw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-9.0.0.tgz", + "integrity": "sha512-yJ0RoswsAaKcvkmpCE4XxBRiy/whH2SdTBHWzs0gi4wkqTDhXMChjSdqBz/F4AeiDlP28rQqL33iHb+kjAMX6w==", "license": "MIT", "dependencies": { - "@actions/http-client": "^2.2.0", - "@octokit/core": "^5.0.1", - "@octokit/plugin-paginate-rest": "^9.2.2", - "@octokit/plugin-rest-endpoint-methods": "^10.4.0", - "@octokit/request": "^8.4.1", - "@octokit/request-error": "^5.1.1", - "undici": "^5.28.5" + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" } }, "node_modules/@actions/github/node_modules/@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", "license": "MIT", "dependencies": { "tunnel": "^0.0.6", - "undici": "^5.25.4" - } - }, - "node_modules/@actions/github/node_modules/undici": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", - "license": "MIT", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" + "undici": "^6.23.0" } }, "node_modules/@actions/http-client": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", - "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz", + "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==", "license": "MIT", "dependencies": { "tunnel": "^0.0.6", @@ -98,9 +87,9 @@ } }, "node_modules/@actions/io": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz", - "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz", + "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==", "license": "MIT" }, "node_modules/@azure/abort-controller": { @@ -259,9 +248,9 @@ } }, "node_modules/@azure/storage-blob": { - "version": "12.29.1", - "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.29.1.tgz", - "integrity": "sha512-7ktyY0rfTM0vo7HvtK6E3UvYnI9qfd6Oz6z/+92VhGRveWng3kJwMKeUpqmW/NmwcDNbxHpSlldG+vsUnRFnBg==", + "version": "12.30.0", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.30.0.tgz", + "integrity": "sha512-peDCR8blSqhsAKDbpSP/o55S4sheNwSrblvCaHUZ5xUI73XA7ieUGGwrONgD/Fng0EoDe1VOa3fAQ7+WGB3Ocg==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -275,7 +264,7 @@ "@azure/core-util": "^1.11.0", "@azure/core-xml": "^1.4.5", "@azure/logger": "^1.1.4", - "@azure/storage-common": "^12.1.1", + "@azure/storage-common": "^12.2.0", "events": "^3.0.0", "tslib": "^2.8.1" }, @@ -284,9 +273,9 @@ } }, "node_modules/@azure/storage-common": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@azure/storage-common/-/storage-common-12.1.1.tgz", - "integrity": "sha512-eIOH1pqFwI6UmVNnDQvmFeSg0XppuzDLFeUNO/Xht7ODAzRLgGDh7h550pSxoA+lPDxBl1+D2m/KG3jWzCUjTg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/@azure/storage-common/-/storage-common-12.2.0.tgz", + "integrity": "sha512-YZLxiJ3vBAAnFbG3TFuAMUlxZRexjQX5JDQxOkFGb6e2TpoxH3xyHI6idsMe/QrWtj41U/KoqBxlayzhS+LlwA==", "license": "MIT", "dependencies": { "@azure/abort-controller": "^2.1.2", @@ -304,42 +293,46 @@ } }, "node_modules/@bufbuild/protobuf": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.9.0.tgz", - "integrity": "sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", + "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", "license": "(Apache-2.0 AND BSD-3-Clause)" }, "node_modules/@bufbuild/protoplugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protoplugin/-/protoplugin-2.9.0.tgz", - "integrity": "sha512-uoiwNVYoTq+AyqaV1L6pBazGx5fXOO89L0NSR9/7hEfo0Y8n9T1jsKGu4mkitLmP3z+8gJREaule1mMuKBPyYw==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protoplugin/-/protoplugin-2.11.0.tgz", + "integrity": "sha512-lyZVNFUHArIOt4W0+dwYBe5GBwbKzbOy8ObaloEqsw9Mmiwv2O48TwddDoHN4itylC+BaEGqFdI1W8WQt2vWJQ==", "license": "Apache-2.0", "dependencies": { - "@bufbuild/protobuf": "2.9.0", - "@typescript/vfs": "^1.5.2", + "@bufbuild/protobuf": "2.11.0", + "@typescript/vfs": "^1.6.2", "typescript": "5.4.5" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "license": "MIT", + "node_modules/@bufbuild/protoplugin/node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=14" + "node": ">=14.17" } }, "node_modules/@gerrit0/mini-shiki": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.13.0.tgz", - "integrity": "sha512-mCrNvZNYNrwKer5PWLF6cOc0OEe2eKzgy976x+IT2tynwJYl+7UpHTSeXQJGijgTcoOf+f359L946unWlYRnsg==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.21.0.tgz", + "integrity": "sha512-9PrsT5DjZA+w3lur/aOIx3FlDeHdyCEFlv9U+fmsVyjPZh61G5SYURQ/1ebe2U63KbDmI2V8IhIUegWb8hjOyg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^3.13.0", - "@shikijs/langs": "^3.13.0", - "@shikijs/themes": "^3.13.0", - "@shikijs/types": "^3.13.0", + "@shikijs/engine-oniguruma": "^3.21.0", + "@shikijs/langs": "^3.21.0", + "@shikijs/themes": "^3.21.0", + "@shikijs/types": "^3.21.0", "@shikijs/vscode-textmate": "^10.0.2" } }, @@ -361,195 +354,159 @@ } }, "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", "license": "MIT", "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz", - "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "license": "MIT", "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.4.1", - "@octokit/request-error": "^5.1.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/endpoint": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", - "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.2.tgz", + "integrity": "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/graphql": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", - "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", "license": "MIT", "dependencies": { - "@octokit/request": "^8.4.1", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/openapi-types": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", - "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz", - "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", "license": "MIT", "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-6.0.0.tgz", + "integrity": "sha512-UkOzeEN3W91/eBq9sPZNQ7sUBvYCqYbrrD8gTbBuGtHEuycE4/awMXcYvx6sVYo7LypPhmQwwpUe4Yyu4QZN5Q==", "license": "MIT", + "engines": { + "node": ">= 20" + }, "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", "license": "MIT", "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-3.0.9.tgz", - "integrity": "sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.3.tgz", + "integrity": "sha512-vKGx1i3MC0za53IzYBSBXcrhmd+daQDzuZfYDd52X5S0M2otf3kVZTVP8bLA3EkU0lTvd1WEC2OlNNa4G+dohA==", "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", "bottleneck": "^2.15.3" - } - }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", - "license": "MIT" - }, - "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^12.11.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=7" } }, "node_modules/@octokit/request": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", - "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.7.tgz", + "integrity": "sha512-v93h0i1yu4idj8qFPZwjehoJx4j3Ntn+JhXsdJrG9pYaX6j/XRz2RmasMUHtNgQD39nrv/VwTWSqK0RNXR8upA==", "license": "MIT", "dependencies": { - "@octokit/endpoint": "^9.0.6", - "@octokit/request-error": "^5.1.1", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^11.0.2", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", - "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/types": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", - "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^24.2.0" + "@octokit/openapi-types": "^27.0.0" } }, "node_modules/@pkgjs/parseargs": { @@ -618,40 +575,40 @@ } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.13.0.tgz", - "integrity": "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.21.0.tgz", + "integrity": "sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.13.0", + "@shikijs/types": "3.21.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.13.0.tgz", - "integrity": "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.21.0.tgz", + "integrity": "sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.13.0" + "@shikijs/types": "3.21.0" } }, "node_modules/@shikijs/themes": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.13.0.tgz", - "integrity": "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.21.0.tgz", + "integrity": "sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.13.0" + "@shikijs/types": "3.21.0" } }, "node_modules/@shikijs/types": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz", - "integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.21.0.tgz", + "integrity": "sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==", "dev": true, "license": "MIT", "dependencies": { @@ -667,9 +624,9 @@ "license": "MIT" }, "node_modules/@types/archiver": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-5.3.4.tgz", - "integrity": "sha512-Lj7fLBIMwYFgViVVZHEdExZC3lVYsl+QL0VmdNdIzGZH544jHveYWij6qdnBgJQDnR7pMKliN9z2cPZFEbhyPw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/archiver/-/archiver-7.0.0.tgz", + "integrity": "sha512-/3vwGwx9n+mCQdYZ2IKGGHEFL30I96UgBlk8EtRDDFQ9uxM1l4O5Ci6r00EMAkiDaTqD9DQ6nVrWRICnBPtzzg==", "dev": true, "license": "MIT", "dependencies": { @@ -687,13 +644,13 @@ } }, "node_modules/@types/node": { - "version": "24.5.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.2.tgz", - "integrity": "sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz", + "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.12.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/readdir-glob": { @@ -724,9 +681,9 @@ } }, "node_modules/@typescript/vfs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.1.tgz", - "integrity": "sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@typescript/vfs/-/vfs-1.6.2.tgz", + "integrity": "sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g==", "license": "MIT", "dependencies": { "debug": "^4.1.1" @@ -736,9 +693,9 @@ } }, "node_modules/@typespec/ts-http-runtime": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.1.tgz", - "integrity": "sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@typespec/ts-http-runtime/-/ts-http-runtime-0.3.2.tgz", + "integrity": "sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==", "license": "MIT", "dependencies": { "http-proxy-agent": "^7.0.0", @@ -844,9 +801,9 @@ "license": "MIT" }, "node_modules/b4a": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.2.tgz", - "integrity": "sha512-DyUOdz+E8R6+sruDpQNOaV0y/dBbV6X/8ZkxrDcR0Ifc3BgKlpgG0VAtfOozA0eMtJO5GGe9FsZhueLs00pTww==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", "license": "Apache-2.0", "peerDependencies": { "react-native-b4a": "*" @@ -864,10 +821,18 @@ "license": "MIT" }, "node_modules/bare-events": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.7.0.tgz", - "integrity": "sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==", - "license": "Apache-2.0" + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -890,9 +855,9 @@ "license": "MIT" }, "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "license": "Apache-2.0" }, "node_modules/binary": { @@ -1072,12 +1037,6 @@ } } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "license": "ISC" - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -1130,6 +1089,22 @@ "bare-events": "^2.7.0" } }, + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -1137,9 +1112,9 @@ "license": "MIT" }, "node_modules/fast-xml-parser": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", - "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.3.tgz", + "integrity": "sha512-2O3dkPAAC6JavuMm8+4+pgTk+5hoAs+CjZ+sWcQLkX9+/tHRuTkQh/Oaifr8qDmZ8iEHb771Ea6G8CdwkrgvYA==", "funding": [ { "type": "github", @@ -1196,28 +1171,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -1319,10 +1272,13 @@ } }, "node_modules/jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", - "license": "MIT" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/lazystream": { "version": "1.0.1", @@ -1471,13 +1427,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1487,15 +1436,6 @@ "node": ">=0.10.0" } }, - "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/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", @@ -1642,16 +1582,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/streamx": { "version": "2.23.0", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", @@ -1769,9 +1699,9 @@ } }, "node_modules/strnum": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", - "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", "funding": [ { "type": "github", @@ -1825,13 +1755,13 @@ } }, "node_modules/typedoc": { - "version": "0.28.13", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.13.tgz", - "integrity": "sha512-dNWY8msnYB2a+7Audha+aTF1Pu3euiE7ySp53w8kEsXoYw7dMouV5A1UsTUY345aB152RHnmRMDiovuBi7BD+w==", + "version": "0.28.16", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.16.tgz", + "integrity": "sha512-x4xW77QC3i5DUFMBp0qjukOTnr/sSg+oEs86nB3LjDslvAmwe/PUGDWbe3GrIqt59oTqoXK5GRK9tAa0sYMiog==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^3.12.0", + "@gerrit0/mini-shiki": "^3.17.0", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", @@ -1849,22 +1779,23 @@ } }, "node_modules/typedoc-plugin-markdown": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.17.1.tgz", - "integrity": "sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-4.9.0.tgz", + "integrity": "sha512-9Uu4WR9L7ZBgAl60N/h+jqmPxxvnC9nQAlnnO/OujtG2ubjnKTVUFY1XDhcMY+pCqlX3N2HsQM2QTYZIU9tJuw==", "dev": true, "license": "MIT", - "dependencies": { - "handlebars": "^4.7.7" + "engines": { + "node": ">= 18" }, "peerDependencies": { - "typedoc": ">=0.24.0" + "typedoc": "0.28.x" } }, "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -1881,20 +1812,6 @@ "dev": true, "license": "MIT" }, - "node_modules/uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", - "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/undici": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz", @@ -1905,16 +1822,16 @@ } }, "node_modules/undici-types": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz", - "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "license": "ISC" }, "node_modules/unzip-stream": { @@ -1948,13 +1865,6 @@ "node": ">= 8" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true, - "license": "MIT" - }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", @@ -2046,16 +1956,10 @@ "node": ">=8" } }, - "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" - }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "dev": true, "license": "ISC", "bin": { @@ -2063,6 +1967,9 @@ }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/zip-stream": { diff --git a/packages/artifact/package.json b/packages/artifact/package.json index caa6fc3abc..4418027021 100644 --- a/packages/artifact/package.json +++ b/packages/artifact/package.json @@ -1,6 +1,6 @@ { "name": "@actions/artifact", - "version": "5.0.3", + "version": "6.0.0", "preview": true, "description": "Actions artifact lib", "keywords": [ @@ -10,8 +10,15 @@ ], "homepage": "https://github.com/actions/toolkit/tree/main/packages/artifact", "license": "MIT", + "type": "module", "main": "lib/artifact.js", "types": "lib/artifact.d.ts", + "exports": { + ".": { + "types": "./lib/artifact.d.ts", + "import": "./lib/artifact.js" + } + }, "directories": { "lib": "lib", "test": "__tests__" @@ -32,7 +39,7 @@ "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json", "test": "cd ../../ && npm run test ./packages/artifact", "bootstrap": "cd ../../ && npm run bootstrap", - "tsc-run": "tsc", + "tsc-run": "tsc && cp src/internal/shared/package-version.cjs lib/internal/shared/", "tsc": "npm run bootstrap && npm run tsc-run", "gen:docs": "typedoc --plugin typedoc-plugin-markdown --out docs/generated src/artifact.ts --githubPages false --readme none" }, @@ -40,26 +47,27 @@ "url": "https://github.com/actions/toolkit/issues" }, "dependencies": { - "@actions/core": "^2.0.0", - "@actions/github": "^6.0.1", - "@actions/http-client": "^3.0.2", - "@azure/storage-blob": "^12.29.1", - "@octokit/core": "^5.2.1", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-retry": "^3.0.9", - "@octokit/request": "^8.4.1", - "@octokit/request-error": "^5.1.1", + "@actions/core": "^3.0.0", + "@actions/github": "^9.0.0", + "@actions/http-client": "^4.0.0", + "@azure/storage-blob": "^12.30.0", + "@octokit/core": "^7.0.6", + "@octokit/plugin-request-log": "^6.0.0", + "@octokit/plugin-retry": "^8.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", "@protobuf-ts/plugin": "^2.2.3-alpha.1", + "@protobuf-ts/runtime": "^2.9.4", "archiver": "^7.0.1", - "jwt-decode": "^3.1.2", + "jwt-decode": "^4.0.0", "unzip-stream": "^0.3.1" }, "devDependencies": { - "@types/archiver": "^5.3.2", + "@types/archiver": "^7.0.0", "@types/unzip-stream": "^0.3.4", - "typedoc": "^0.28.13", - "typedoc-plugin-markdown": "^3.17.1", - "typescript": "^5.2.2" + "typedoc": "^0.28.16", + "typedoc-plugin-markdown": "^4.9.0", + "typescript": "^5.9.3" }, "overrides": { "uri-js": "npm:uri-js-replace@^1.0.1", diff --git a/packages/artifact/src/artifact.ts b/packages/artifact/src/artifact.ts index f5d9144548..3edd1ac852 100644 --- a/packages/artifact/src/artifact.ts +++ b/packages/artifact/src/artifact.ts @@ -1,8 +1,8 @@ -import {ArtifactClient, DefaultArtifactClient} from './internal/client' +import {ArtifactClient, DefaultArtifactClient} from './internal/client.js' -export * from './internal/shared/interfaces' -export * from './internal/shared/errors' -export * from './internal/client' +export * from './internal/shared/interfaces.js' +export * from './internal/shared/errors.js' +export * from './internal/client.js' const client: ArtifactClient = new DefaultArtifactClient() export default client diff --git a/packages/artifact/src/generated/index.ts b/packages/artifact/src/generated/index.ts index 23e7a0dcb2..9cad5d4459 100644 --- a/packages/artifact/src/generated/index.ts +++ b/packages/artifact/src/generated/index.ts @@ -1,4 +1,4 @@ -export * from './google/protobuf/timestamp' -export * from './google/protobuf/wrappers' -export * from './results/api/v1/artifact' -export * from './results/api/v1/artifact.twirp-client' +export * from './google/protobuf/timestamp.js' +export * from './google/protobuf/wrappers.js' +export * from './results/api/v1/artifact.js' +export * from './results/api/v1/artifact.twirp-client.js' diff --git a/packages/artifact/src/generated/results/api/v1/artifact.ts b/packages/artifact/src/generated/results/api/v1/artifact.ts index 31ae4e0117..e1c43c5093 100644 --- a/packages/artifact/src/generated/results/api/v1/artifact.ts +++ b/packages/artifact/src/generated/results/api/v1/artifact.ts @@ -12,9 +12,9 @@ import type { PartialMessage } from "@protobuf-ts/runtime"; import { reflectionMergePartial } from "@protobuf-ts/runtime"; import { MESSAGE_TYPE } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; -import { Int64Value } from "../../../google/protobuf/wrappers"; -import { StringValue } from "../../../google/protobuf/wrappers"; -import { Timestamp } from "../../../google/protobuf/timestamp"; +import { Int64Value } from "../../../google/protobuf/wrappers.js"; +import { StringValue } from "../../../google/protobuf/wrappers.js"; +import { Timestamp } from "../../../google/protobuf/timestamp.js"; /** * @generated from protobuf message github.actions.results.api.v1.MigrateArtifactRequest */ diff --git a/packages/artifact/src/generated/results/api/v1/artifact.twirp-client.ts b/packages/artifact/src/generated/results/api/v1/artifact.twirp-client.ts index eeca4f5807..141135dbd9 100644 --- a/packages/artifact/src/generated/results/api/v1/artifact.twirp-client.ts +++ b/packages/artifact/src/generated/results/api/v1/artifact.twirp-client.ts @@ -9,7 +9,7 @@ import { GetSignedArtifactURLResponse, DeleteArtifactRequest, DeleteArtifactResponse, -} from "./artifact"; +} from "./artifact.js"; //==================================// // Client Code // diff --git a/packages/artifact/src/internal/client.ts b/packages/artifact/src/internal/client.ts index 255652702e..874d9103df 100644 --- a/packages/artifact/src/internal/client.ts +++ b/packages/artifact/src/internal/client.ts @@ -1,5 +1,5 @@ import {warning} from '@actions/core' -import {isGhes} from './shared/config' +import {isGhes} from './shared/config.js' import { UploadArtifactOptions, UploadArtifactResponse, @@ -10,19 +10,22 @@ import { DownloadArtifactResponse, FindOptions, DeleteArtifactResponse -} from './shared/interfaces' -import {uploadArtifact} from './upload/upload-artifact' +} from './shared/interfaces.js' +import {uploadArtifact} from './upload/upload-artifact.js' import { downloadArtifactPublic, downloadArtifactInternal -} from './download/download-artifact' +} from './download/download-artifact.js' import { deleteArtifactPublic, deleteArtifactInternal -} from './delete/delete-artifact' -import {getArtifactPublic, getArtifactInternal} from './find/get-artifact' -import {listArtifactsPublic, listArtifactsInternal} from './find/list-artifacts' -import {GHESNotSupportedError} from './shared/errors' +} from './delete/delete-artifact.js' +import {getArtifactPublic, getArtifactInternal} from './find/get-artifact.js' +import { + listArtifactsPublic, + listArtifactsInternal +} from './find/list-artifacts.js' +import {GHESNotSupportedError} from './shared/errors.js' /** * Generic interface for the artifact client. diff --git a/packages/artifact/src/internal/delete/delete-artifact.ts b/packages/artifact/src/internal/delete/delete-artifact.ts index 785b403574..00f490304c 100644 --- a/packages/artifact/src/internal/delete/delete-artifact.ts +++ b/packages/artifact/src/internal/delete/delete-artifact.ts @@ -1,21 +1,21 @@ import {info, debug} from '@actions/core' import {getOctokit} from '@actions/github' -import {DeleteArtifactResponse} from '../shared/interfaces' -import {getUserAgentString} from '../shared/user-agent' -import {getRetryOptions} from '../find/retry-options' +import {DeleteArtifactResponse} from '../shared/interfaces.js' +import {getUserAgentString} from '../shared/user-agent.js' +import {getRetryOptions} from '../find/retry-options.js' import {defaults as defaultGitHubOptions} from '@actions/github/lib/utils' import {requestLog} from '@octokit/plugin-request-log' import {retry} from '@octokit/plugin-retry' -import {OctokitOptions} from '@octokit/core/dist-types/types' -import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client' -import {getBackendIdsFromToken} from '../shared/util' +import type {OctokitOptions} from '@octokit/core/types' +import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client.js' +import {getBackendIdsFromToken} from '../shared/util.js' import { DeleteArtifactRequest, ListArtifactsRequest, StringValue -} from '../../generated' -import {getArtifactPublic} from '../find/get-artifact' -import {ArtifactNotFoundError, InvalidResponseError} from '../shared/errors' +} from '../../generated/index.js' +import {getArtifactPublic} from '../find/get-artifact.js' +import {ArtifactNotFoundError, InvalidResponseError} from '../shared/errors.js' export async function deleteArtifactPublic( artifactName: string, diff --git a/packages/artifact/src/internal/download/download-artifact.ts b/packages/artifact/src/internal/download/download-artifact.ts index b760e77ab8..a7404fe6f9 100644 --- a/packages/artifact/src/internal/download/download-artifact.ts +++ b/packages/artifact/src/internal/download/download-artifact.ts @@ -10,17 +10,17 @@ import { DownloadArtifactOptions, DownloadArtifactResponse, StreamExtractResponse -} from '../shared/interfaces' -import {getUserAgentString} from '../shared/user-agent' -import {getGitHubWorkspaceDir} from '../shared/config' -import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client' +} from '../shared/interfaces.js' +import {getUserAgentString} from '../shared/user-agent.js' +import {getGitHubWorkspaceDir} from '../shared/config.js' +import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client.js' import { GetSignedArtifactURLRequest, Int64Value, ListArtifactsRequest -} from '../../generated' -import {getBackendIdsFromToken} from '../shared/util' -import {ArtifactNotFoundError} from '../shared/errors' +} from '../../generated/index.js' +import {getBackendIdsFromToken} from '../shared/util.js' +import {ArtifactNotFoundError} from '../shared/errors.js' const scrubQueryParameters = (url: string): string => { const parsed = new URL(url) diff --git a/packages/artifact/src/internal/find/get-artifact.ts b/packages/artifact/src/internal/find/get-artifact.ts index 925635e70c..b1a5b86717 100644 --- a/packages/artifact/src/internal/find/get-artifact.ts +++ b/packages/artifact/src/internal/find/get-artifact.ts @@ -1,16 +1,20 @@ import {getOctokit} from '@actions/github' import {retry} from '@octokit/plugin-retry' import * as core from '@actions/core' -import {OctokitOptions} from '@octokit/core/dist-types/types' +import type {OctokitOptions} from '@octokit/core/types' import {defaults as defaultGitHubOptions} from '@actions/github/lib/utils' -import {getRetryOptions} from './retry-options' +import {getRetryOptions} from './retry-options.js' import {requestLog} from '@octokit/plugin-request-log' -import {GetArtifactResponse} from '../shared/interfaces' -import {getBackendIdsFromToken} from '../shared/util' -import {getUserAgentString} from '../shared/user-agent' -import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client' -import {ListArtifactsRequest, StringValue, Timestamp} from '../../generated' -import {ArtifactNotFoundError, InvalidResponseError} from '../shared/errors' +import {GetArtifactResponse} from '../shared/interfaces.js' +import {getBackendIdsFromToken} from '../shared/util.js' +import {getUserAgentString} from '../shared/user-agent.js' +import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client.js' +import { + ListArtifactsRequest, + StringValue, + Timestamp +} from '../../generated/index.js' +import {ArtifactNotFoundError, InvalidResponseError} from '../shared/errors.js' export async function getArtifactPublic( artifactName: string, diff --git a/packages/artifact/src/internal/find/list-artifacts.ts b/packages/artifact/src/internal/find/list-artifacts.ts index 86e00fc802..3f48d9d6e2 100644 --- a/packages/artifact/src/internal/find/list-artifacts.ts +++ b/packages/artifact/src/internal/find/list-artifacts.ts @@ -1,16 +1,16 @@ import {info, warning, debug} from '@actions/core' import {getOctokit} from '@actions/github' -import {ListArtifactsResponse, Artifact} from '../shared/interfaces' -import {getUserAgentString} from '../shared/user-agent' -import {getRetryOptions} from './retry-options' +import {ListArtifactsResponse, Artifact} from '../shared/interfaces.js' +import {getUserAgentString} from '../shared/user-agent.js' +import {getRetryOptions} from './retry-options.js' import {defaults as defaultGitHubOptions} from '@actions/github/lib/utils' import {requestLog} from '@octokit/plugin-request-log' import {retry} from '@octokit/plugin-retry' -import {OctokitOptions} from '@octokit/core/dist-types/types' -import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client' -import {getBackendIdsFromToken} from '../shared/util' -import {getMaxArtifactListCount} from '../shared/config' -import {ListArtifactsRequest, Timestamp} from '../../generated' +import type {OctokitOptions} from '@octokit/core/types' +import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client.js' +import {getBackendIdsFromToken} from '../shared/util.js' +import {getMaxArtifactListCount} from '../shared/config.js' +import {ListArtifactsRequest, Timestamp} from '../../generated/index.js' const maximumArtifactCount = getMaxArtifactListCount() const paginationCount = 100 diff --git a/packages/artifact/src/internal/find/retry-options.ts b/packages/artifact/src/internal/find/retry-options.ts index ab10309b9a..f2cfbe2e94 100644 --- a/packages/artifact/src/internal/find/retry-options.ts +++ b/packages/artifact/src/internal/find/retry-options.ts @@ -1,5 +1,5 @@ import * as core from '@actions/core' -import {OctokitOptions} from '@octokit/core/dist-types/types' +import type {OctokitOptions} from '@octokit/core/types' import {RequestRequestOptions} from '@octokit/types' export type RetryOptions = { diff --git a/packages/artifact/src/internal/shared/artifact-twirp-client.ts b/packages/artifact/src/internal/shared/artifact-twirp-client.ts index 574991258f..04958a7840 100644 --- a/packages/artifact/src/internal/shared/artifact-twirp-client.ts +++ b/packages/artifact/src/internal/shared/artifact-twirp-client.ts @@ -1,11 +1,11 @@ import {HttpClient, HttpClientResponse, HttpCodes} from '@actions/http-client' import {BearerCredentialHandler} from '@actions/http-client/lib/auth' import {info, debug} from '@actions/core' -import {ArtifactServiceClientJSON} from '../../generated' -import {getResultsServiceUrl, getRuntimeToken} from './config' -import {getUserAgentString} from './user-agent' -import {NetworkError, UsageError} from './errors' -import {maskSecretUrls} from './util' +import {ArtifactServiceClientJSON} from '../../generated/index.js' +import {getResultsServiceUrl, getRuntimeToken} from './config.js' +import {getUserAgentString} from './user-agent.js' +import {NetworkError, UsageError} from './errors.js' +import {maskSecretUrls} from './util.js' // The twirp http client must implement this interface interface Rpc { diff --git a/packages/artifact/src/internal/shared/package-version.cjs b/packages/artifact/src/internal/shared/package-version.cjs new file mode 100644 index 0000000000..bd43fc1b73 --- /dev/null +++ b/packages/artifact/src/internal/shared/package-version.cjs @@ -0,0 +1,7 @@ +// This file exists as a CommonJS module to read the version from package.json. +// In an ESM package, using `require()` directly in .ts files requires disabling +// ESLint rules and doesn't work reliably across all Node.js versions. +// By keeping this as a .cjs file, we can use require() naturally and export +// the version for the ESM modules to import. +const packageJson = require('../../../package.json') +module.exports = { version: packageJson.version } diff --git a/packages/artifact/src/internal/shared/user-agent.ts b/packages/artifact/src/internal/shared/user-agent.ts index 94c07e891e..e4815d43f8 100644 --- a/packages/artifact/src/internal/shared/user-agent.ts +++ b/packages/artifact/src/internal/shared/user-agent.ts @@ -1,9 +1,8 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports -const packageJson = require('../../../package.json') +import {version} from './package-version.cjs' /** * Ensure that this User Agent String is used in all HTTP calls so that we can monitor telemetry between different versions of this package */ export function getUserAgentString(): string { - return `@actions/artifact-${packageJson.version}` + return `@actions/artifact-${version}` } diff --git a/packages/artifact/src/internal/shared/util.ts b/packages/artifact/src/internal/shared/util.ts index 67120e27c0..f60ea691b6 100644 --- a/packages/artifact/src/internal/shared/util.ts +++ b/packages/artifact/src/internal/shared/util.ts @@ -1,6 +1,6 @@ import * as core from '@actions/core' -import {getRuntimeToken} from './config' -import jwt_decode from 'jwt-decode' +import {getRuntimeToken} from './config.js' +import {jwtDecode} from 'jwt-decode' import {debug, setSecret} from '@actions/core' export interface BackendIds { @@ -20,7 +20,7 @@ const InvalidJwtError = new Error( // workflow run and workflow job run backend ids export function getBackendIdsFromToken(): BackendIds { const token = getRuntimeToken() - const decoded = jwt_decode(token) + const decoded = jwtDecode(token) if (!decoded.scp) { throw InvalidJwtError } diff --git a/packages/artifact/src/internal/upload/blob-upload.ts b/packages/artifact/src/internal/upload/blob-upload.ts index 225708c23b..6625118509 100644 --- a/packages/artifact/src/internal/upload/blob-upload.ts +++ b/packages/artifact/src/internal/upload/blob-upload.ts @@ -1,15 +1,15 @@ import {BlobClient, BlockBlobUploadStreamOptions} from '@azure/storage-blob' import {TransferProgressEvent} from '@azure/core-http-compat' -import {ZipUploadStream} from './zip' +import {ZipUploadStream} from './zip.js' import { getUploadChunkSize, getConcurrency, getUploadChunkTimeout -} from '../shared/config' +} from '../shared/config.js' import * as core from '@actions/core' import * as crypto from 'crypto' import * as stream from 'stream' -import {NetworkError} from '../shared/errors' +import {NetworkError} from '../shared/errors.js' export interface BlobUploadResponse { /** diff --git a/packages/artifact/src/internal/upload/retention.ts b/packages/artifact/src/internal/upload/retention.ts index aa16ba1bea..f2efef8a47 100644 --- a/packages/artifact/src/internal/upload/retention.ts +++ b/packages/artifact/src/internal/upload/retention.ts @@ -1,4 +1,4 @@ -import {Timestamp} from '../../generated' +import {Timestamp} from '../../generated/index.js' import * as core from '@actions/core' export function getExpiration(retentionDays?: number): Timestamp | undefined { diff --git a/packages/artifact/src/internal/upload/upload-artifact.ts b/packages/artifact/src/internal/upload/upload-artifact.ts index 81be322c75..bb125cb9dd 100644 --- a/packages/artifact/src/internal/upload/upload-artifact.ts +++ b/packages/artifact/src/internal/upload/upload-artifact.ts @@ -2,24 +2,24 @@ import * as core from '@actions/core' import { UploadArtifactOptions, UploadArtifactResponse -} from '../shared/interfaces' -import {getExpiration} from './retention' -import {validateArtifactName} from './path-and-artifact-name-validation' -import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client' +} from '../shared/interfaces.js' +import {getExpiration} from './retention.js' +import {validateArtifactName} from './path-and-artifact-name-validation.js' +import {internalArtifactTwirpClient} from '../shared/artifact-twirp-client.js' import { UploadZipSpecification, getUploadZipSpecification, validateRootDirectory -} from './upload-zip-specification' -import {getBackendIdsFromToken} from '../shared/util' -import {uploadZipToBlobStorage} from './blob-upload' -import {createZipUploadStream} from './zip' +} from './upload-zip-specification.js' +import {getBackendIdsFromToken} from '../shared/util.js' +import {uploadZipToBlobStorage} from './blob-upload.js' +import {createZipUploadStream} from './zip.js' import { CreateArtifactRequest, FinalizeArtifactRequest, StringValue -} from '../../generated' -import {FilesNotFoundError, InvalidResponseError} from '../shared/errors' +} from '../../generated/index.js' +import {FilesNotFoundError, InvalidResponseError} from '../shared/errors.js' export async function uploadArtifact( name: string, diff --git a/packages/artifact/src/internal/upload/upload-zip-specification.ts b/packages/artifact/src/internal/upload/upload-zip-specification.ts index 54f34799a0..942ef0c9d9 100644 --- a/packages/artifact/src/internal/upload/upload-zip-specification.ts +++ b/packages/artifact/src/internal/upload/upload-zip-specification.ts @@ -1,7 +1,7 @@ import * as fs from 'fs' import {info} from '@actions/core' import {normalize, resolve} from 'path' -import {validateFilePath} from './path-and-artifact-name-validation' +import {validateFilePath} from './path-and-artifact-name-validation.js' export interface UploadZipSpecification { /** diff --git a/packages/artifact/src/internal/upload/zip.ts b/packages/artifact/src/internal/upload/zip.ts index 5ea4403462..dd2a32e577 100644 --- a/packages/artifact/src/internal/upload/zip.ts +++ b/packages/artifact/src/internal/upload/zip.ts @@ -1,9 +1,9 @@ import * as stream from 'stream' import {realpath} from 'fs/promises' -import * as archiver from 'archiver' +import archiver from 'archiver' import * as core from '@actions/core' -import {UploadZipSpecification} from './upload-zip-specification' -import {getUploadChunkSize} from '../shared/config' +import {UploadZipSpecification} from './upload-zip-specification.js' +import {getUploadChunkSize} from '../shared/config.js' export const DEFAULT_COMPRESSION_LEVEL = 6 diff --git a/packages/artifact/tsconfig.json b/packages/artifact/tsconfig.json index cee0514747..4ac47b9cbe 100644 --- a/packages/artifact/tsconfig.json +++ b/packages/artifact/tsconfig.json @@ -4,6 +4,8 @@ "baseUrl": "./", "outDir": "./lib", "rootDir": "./src", + "module": "node16", + "moduleResolution": "node16", "paths": { "@actions/core": [ "../core"