diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md
new file mode 100644
index 000000000..0c82cb1ed
--- /dev/null
+++ b/packages/errors/CHANGELOG.md
@@ -0,0 +1,10 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+[Unreleased]: https://github.com/MetaMask/ocap-kernel/
diff --git a/packages/errors/README.md b/packages/errors/README.md
new file mode 100644
index 000000000..b34cfdab2
--- /dev/null
+++ b/packages/errors/README.md
@@ -0,0 +1,7 @@
+# `errors`
+
+Ocap Kernel errors.
+
+## Contributing
+
+This package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/ocap-kernel#readme).
diff --git a/packages/errors/eslint.config.mjs b/packages/errors/eslint.config.mjs
new file mode 100644
index 000000000..82c400bc1
--- /dev/null
+++ b/packages/errors/eslint.config.mjs
@@ -0,0 +1,17 @@
+// @ts-check
+
+import baseConfig from '../../eslint.config.mjs';
+
+/** @type {import('eslint').Linter.Config[]} */
+const config = [
+ ...baseConfig,
+ {
+ languageOptions: {
+ parserOptions: {
+ tsconfigRootDir: new URL('.', import.meta.url).pathname,
+ },
+ },
+ },
+];
+
+export default config;
diff --git a/packages/errors/package.json b/packages/errors/package.json
new file mode 100644
index 000000000..46bc3d735
--- /dev/null
+++ b/packages/errors/package.json
@@ -0,0 +1,81 @@
+{
+ "name": "@ocap/errors",
+ "version": "0.0.0",
+ "private": true,
+ "description": "Ocap Kernel errors",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/MetaMask/ocap-kernel.git"
+ },
+ "type": "module",
+ "exports": {
+ ".": {
+ "import": {
+ "types": "./dist/index.d.mts",
+ "default": "./dist/index.mjs"
+ },
+ "require": {
+ "types": "./dist/index.d.cts",
+ "default": "./dist/index.cjs"
+ }
+ },
+ "./package.json": "./package.json"
+ },
+ "files": [
+ "dist/"
+ ],
+ "scripts": {
+ "build": "ts-bridge --project tsconfig.build.json --clean",
+ "build:docs": "typedoc",
+ "changelog:validate": "../../scripts/validate-changelog.sh utils",
+ "clean": "rimraf --glob ./dist './*.tsbuildinfo'",
+ "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies",
+ "lint:dependencies": "depcheck",
+ "lint:eslint": "eslint . --cache",
+ "lint:fix": "yarn constraints --fix && yarn lint:eslint --fix && yarn lint:misc --write",
+ "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore",
+ "publish:preview": "yarn npm publish --tag preview",
+ "test": "vitest run --config vitest.config.ts",
+ "test:clean": "yarn test --no-cache --coverage.clean",
+ "test:dev": "yarn test --coverage false",
+ "test:verbose": "yarn test --reporter verbose",
+ "test:watch": "vitest --config vitest.config.ts"
+ },
+ "dependencies": {
+ "@metamask/utils": "^9.3.0"
+ },
+ "devDependencies": {
+ "@arethetypeswrong/cli": "^0.16.4",
+ "@metamask/auto-changelog": "^3.4.4",
+ "@metamask/eslint-config": "^14.0.0",
+ "@metamask/eslint-config-nodejs": "^14.0.0",
+ "@metamask/eslint-config-typescript": "^14.0.0",
+ "@ts-bridge/cli": "^0.5.1",
+ "@ts-bridge/shims": "^0.1.1",
+ "@typescript-eslint/eslint-plugin": "^8.8.1",
+ "@typescript-eslint/parser": "^8.8.1",
+ "@typescript-eslint/utils": "^8.8.1",
+ "@vitest/eslint-plugin": "^1.1.7",
+ "depcheck": "^1.4.7",
+ "eslint": "^9.12.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-import-resolver-typescript": "^3.6.3",
+ "eslint-plugin-import-x": "^4.3.1",
+ "eslint-plugin-jsdoc": "^50.3.1",
+ "eslint-plugin-n": "^17.11.1",
+ "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-promise": "^7.1.0",
+ "jsdom": "^24.1.1",
+ "prettier": "^3.3.3",
+ "rimraf": "^6.0.1",
+ "ses": "^1.9.0",
+ "typedoc": "^0.26.8",
+ "typescript": "~5.5.4",
+ "typescript-eslint": "^8.8.1",
+ "vite": "^5.3.5",
+ "vitest": "^2.1.2"
+ },
+ "engines": {
+ "node": "^18.18 || >=20"
+ }
+}
diff --git a/packages/errors/src/BaseError.test.ts b/packages/errors/src/BaseError.test.ts
new file mode 100644
index 000000000..63538b7d1
--- /dev/null
+++ b/packages/errors/src/BaseError.test.ts
@@ -0,0 +1,49 @@
+import { describe, it, expect } from 'vitest';
+
+import { BaseError } from './BaseError.js';
+import { ErrorCode } from './constants.js';
+
+describe('BaseError', () => {
+ const mockCode = ErrorCode.VatNotFound;
+ const mockMessage = 'VAT was not found.';
+ const mockData = { key: 'value' };
+ const mockCause = new Error('Root cause error');
+
+ it('should create a BaseError with required properties', () => {
+ const error = new BaseError(mockCode, mockMessage);
+ expect(error).toBeInstanceOf(BaseError);
+ expect(error).toBeInstanceOf(Error);
+ expect(error.name).toBe('BaseError');
+ expect(error.message).toBe(mockMessage);
+ expect(error.code).toBe(mockCode);
+ expect(error.data).toBeUndefined();
+ expect(error.cause).toBeUndefined();
+ });
+
+ it('should create a BaseError with all properties', () => {
+ const error = new BaseError(mockCode, mockMessage, mockData, mockCause);
+ expect(error.name).toBe('BaseError');
+ expect(error.message).toBe(mockMessage);
+ expect(error.code).toBe(mockCode);
+ expect(error.data).toStrictEqual(mockData);
+ expect(error.cause).toBe(mockCause);
+ });
+
+ it('should inherit from the Error class and have the correct name', () => {
+ const error = new BaseError(mockCode, mockMessage);
+ expect(error).toBeInstanceOf(Error);
+ expect(error.name).toBe('BaseError');
+ });
+
+ it('should correctly handle a missing data parameter', () => {
+ const error = new BaseError(mockCode, mockMessage, undefined, mockCause);
+ expect(error.data).toBeUndefined();
+ expect(error.cause).toBe(mockCause);
+ });
+
+ it('should correctly handle a missing cause parameter', () => {
+ const error = new BaseError(mockCode, mockMessage, mockData);
+ expect(error.data).toStrictEqual(mockData);
+ expect(error.cause).toBeUndefined();
+ });
+});
diff --git a/packages/errors/src/BaseError.ts b/packages/errors/src/BaseError.ts
new file mode 100644
index 000000000..c62815162
--- /dev/null
+++ b/packages/errors/src/BaseError.ts
@@ -0,0 +1,20 @@
+import type { Json } from '@metamask/utils';
+
+import type { ErrorCode } from './constants.js';
+
+export class BaseError extends Error {
+ public readonly code: ErrorCode;
+
+ public data: Json | undefined;
+
+ public cause: unknown;
+
+ constructor(code: ErrorCode, message: string, data?: Json, cause?: unknown) {
+ super(message, { cause });
+
+ this.name = this.constructor.name;
+ this.code = code;
+ this.data = data;
+ this.cause = cause;
+ }
+}
diff --git a/packages/errors/src/constants.ts b/packages/errors/src/constants.ts
new file mode 100644
index 000000000..8d66d9b3d
--- /dev/null
+++ b/packages/errors/src/constants.ts
@@ -0,0 +1,9 @@
+export enum ErrorCode {
+ SupervisorReadError = 'SUPERVISOR_READ_ERROR',
+ VatAlreadyExists = 'VAT_ALREADY_EXISTS',
+ VatCapTpConnectionExists = 'VAT_CAPTP_CONNECTION_EXISTS',
+ VatCapTpConnectionNotFound = 'VAT_CAPTP_CONNECTION_NOT_FOUND',
+ VatDeleted = 'VAT_DELETED',
+ VatNotFound = 'VAT_NOT_FOUND',
+ VatReadError = 'VAT_READ_ERROR',
+}
diff --git a/packages/errors/src/errors.test.ts b/packages/errors/src/errors.test.ts
new file mode 100644
index 000000000..2c2c57d60
--- /dev/null
+++ b/packages/errors/src/errors.test.ts
@@ -0,0 +1,98 @@
+import { describe, it, expect } from 'vitest';
+
+import { ErrorCode } from './constants.js';
+import {
+ VatAlreadyExistsError,
+ VatNotFoundError,
+ SupervisorReadError,
+ VatReadError,
+ VatCapTpConnectionExistsError,
+ VatCapTpConnectionNotFoundError,
+ VatDeletedError,
+} from './errors.js';
+
+describe('Errors classes', () => {
+ const mockVatId = 'mockVatId';
+ const mockSupervisorId = 'mockSupervisorId';
+ const mockOriginalError = new Error('Original error');
+
+ describe('VatAlreadyExistsError', () => {
+ it('should create a VatAlreadyExistsError with the correct properties', () => {
+ const error = new VatAlreadyExistsError(mockVatId);
+ expect(error).toBeInstanceOf(VatAlreadyExistsError);
+ expect(error.code).toBe(ErrorCode.VatAlreadyExists);
+ expect(error.message).toBe('Vat already exists.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBeUndefined();
+ });
+ });
+
+ describe('VatNotFoundError', () => {
+ it('should create a VatNotFoundError with the correct properties', () => {
+ const error = new VatNotFoundError(mockVatId);
+ expect(error).toBeInstanceOf(VatNotFoundError);
+ expect(error.code).toBe(ErrorCode.VatNotFound);
+ expect(error.message).toBe('Vat does not exist.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBeUndefined();
+ });
+ });
+
+ describe('SupervisorReadError', () => {
+ it('should create a SupervisorReadError with the correct properties', () => {
+ const error = new SupervisorReadError(
+ mockSupervisorId,
+ mockOriginalError,
+ );
+ expect(error).toBeInstanceOf(SupervisorReadError);
+ expect(error.code).toBe(ErrorCode.SupervisorReadError);
+ expect(error.message).toBe('Unexpected read error from Supervisor.');
+ expect(error.data).toStrictEqual({ supervisorId: mockSupervisorId });
+ expect(error.cause).toBe(mockOriginalError);
+ });
+ });
+
+ describe('VatReadError', () => {
+ it('should create a VatReadError with the correct properties', () => {
+ const error = new VatReadError(mockVatId, mockOriginalError);
+ expect(error).toBeInstanceOf(VatReadError);
+ expect(error.code).toBe(ErrorCode.VatReadError);
+ expect(error.message).toBe('Unexpected read error from Vat.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBe(mockOriginalError);
+ });
+ });
+
+ describe('VatCapTpConnectionExistsError', () => {
+ it('should create a VatCapTpConnectionExistsError with the correct properties', () => {
+ const error = new VatCapTpConnectionExistsError(mockVatId);
+ expect(error).toBeInstanceOf(VatCapTpConnectionExistsError);
+ expect(error.code).toBe(ErrorCode.VatCapTpConnectionExists);
+ expect(error.message).toBe('Vat already has a CapTP connection.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBeUndefined();
+ });
+ });
+
+ describe('VatCapTpConnectionNotFoundError', () => {
+ it('should create a VatCapTpConnectionNotFoundError with the correct properties', () => {
+ const error = new VatCapTpConnectionNotFoundError(mockVatId);
+ expect(error).toBeInstanceOf(VatCapTpConnectionNotFoundError);
+ expect(error.code).toBe(ErrorCode.VatCapTpConnectionNotFound);
+ expect(error.message).toBe('Vat does not have a CapTP connection.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBeUndefined();
+ });
+ });
+
+ describe('VatDeletedError', () => {
+ it('should create a VatDeletedError with the correct properties', () => {
+ const error = new VatDeletedError(mockVatId);
+ expect(error).toBeInstanceOf(VatDeletedError);
+ expect(error.code).toBe(ErrorCode.VatDeleted);
+ expect(error.message).toBe('Vat was deleted.');
+ expect(error.data).toStrictEqual({ vatId: mockVatId });
+ expect(error.cause).toBeUndefined();
+ });
+ });
+});
diff --git a/packages/errors/src/errors.ts b/packages/errors/src/errors.ts
new file mode 100644
index 000000000..eb6bd7362
--- /dev/null
+++ b/packages/errors/src/errors.ts
@@ -0,0 +1,70 @@
+import { BaseError } from './BaseError.js';
+import { ErrorCode } from './constants.js';
+
+export class VatAlreadyExistsError extends BaseError {
+ constructor(vatId: string) {
+ super(ErrorCode.VatAlreadyExists, 'Vat already exists.', {
+ vatId,
+ });
+ }
+}
+
+export class VatNotFoundError extends BaseError {
+ constructor(vatId: string) {
+ super(ErrorCode.VatNotFound, 'Vat does not exist.', { vatId });
+ }
+}
+
+export class SupervisorReadError extends BaseError {
+ constructor(supervisorId: string, originalError: Error) {
+ super(
+ ErrorCode.SupervisorReadError,
+ 'Unexpected read error from Supervisor.',
+ {
+ supervisorId,
+ },
+ originalError,
+ );
+ }
+}
+
+export class VatReadError extends BaseError {
+ constructor(vatId: string, originalError: Error) {
+ super(
+ ErrorCode.VatReadError,
+ 'Unexpected read error from Vat.',
+ {
+ vatId,
+ },
+ originalError,
+ );
+ }
+}
+
+export class VatCapTpConnectionExistsError extends BaseError {
+ constructor(vatId: string) {
+ super(
+ ErrorCode.VatCapTpConnectionExists,
+ 'Vat already has a CapTP connection.',
+ {
+ vatId,
+ },
+ );
+ }
+}
+
+export class VatCapTpConnectionNotFoundError extends BaseError {
+ constructor(vatId: string) {
+ super(
+ ErrorCode.VatCapTpConnectionNotFound,
+ 'Vat does not have a CapTP connection.',
+ { vatId },
+ );
+ }
+}
+
+export class VatDeletedError extends BaseError {
+ constructor(vatId: string) {
+ super(ErrorCode.VatDeleted, 'Vat was deleted.', { vatId });
+ }
+}
diff --git a/packages/errors/src/index.test.ts b/packages/errors/src/index.test.ts
new file mode 100644
index 000000000..0460fb750
--- /dev/null
+++ b/packages/errors/src/index.test.ts
@@ -0,0 +1,19 @@
+import { describe, it, expect } from 'vitest';
+
+import * as indexModule from './index.js';
+
+describe('index', () => {
+ it('has the expected exports', () => {
+ expect(Object.keys(indexModule).sort()).toStrictEqual([
+ 'ErrorCode',
+ 'SupervisorReadError',
+ 'VatAlreadyExistsError',
+ 'VatCapTpConnectionExistsError',
+ 'VatCapTpConnectionNotFoundError',
+ 'VatDeletedError',
+ 'VatNotFoundError',
+ 'VatReadError',
+ 'toError',
+ ]);
+ });
+});
diff --git a/packages/errors/src/index.ts b/packages/errors/src/index.ts
new file mode 100644
index 000000000..9b83ec192
--- /dev/null
+++ b/packages/errors/src/index.ts
@@ -0,0 +1,11 @@
+export { ErrorCode } from './constants.js';
+export {
+ VatCapTpConnectionExistsError,
+ VatCapTpConnectionNotFoundError,
+ SupervisorReadError,
+ VatAlreadyExistsError,
+ VatDeletedError,
+ VatNotFoundError,
+ VatReadError,
+} from './errors.js';
+export { toError } from './utils/toError.js';
diff --git a/packages/errors/src/utils/toError.test.ts b/packages/errors/src/utils/toError.test.ts
new file mode 100644
index 000000000..32a32654e
--- /dev/null
+++ b/packages/errors/src/utils/toError.test.ts
@@ -0,0 +1,49 @@
+import { describe, it, expect } from 'vitest';
+
+import { toError } from './toError.js';
+
+describe('toError', () => {
+ it('should return the input if it is already an Error', () => {
+ const originalError = new Error('Existing error');
+ const result = toError(originalError);
+
+ expect(result).toBe(originalError);
+ expect(result.message).toBe('Existing error');
+ });
+
+ it.each([
+ { input: 'Some error string', expectedCause: 'Some error string' },
+ { input: 404, expectedCause: 404 },
+ { input: { key: 'value' }, expectedCause: { key: 'value' } },
+ { input: ['error', 'details'], expectedCause: ['error', 'details'] },
+ { input: null, expectedCause: null },
+ { input: undefined, expectedCause: undefined },
+ { input: true, expectedCause: true },
+ ])(
+ 'should create a new Error if the input is not an Error object',
+ ({ input, expectedCause }) => {
+ const result = toError(input);
+ expect(result).toBeInstanceOf(Error);
+ expect(result.message).toBe('Unknown');
+ expect(result.cause).toStrictEqual(expectedCause);
+ },
+ );
+
+ it('should create a new Error if the input is a symbol', () => {
+ const problem = Symbol('error');
+ const result = toError(problem);
+ expect(result).toBeInstanceOf(Error);
+ expect(result.message).toBe('Unknown');
+ expect(typeof result.cause).toBe('symbol');
+ expect(result.cause).toBe(problem);
+ });
+
+ it('should create a new Error if the input is a function', () => {
+ const problem = (): string => 'problem';
+ const result = toError(problem);
+ expect(result).toBeInstanceOf(Error);
+ expect(result.message).toBe('Unknown');
+ expect(typeof result.cause).toBe('function');
+ expect(result.cause).toBe(problem);
+ });
+});
diff --git a/packages/errors/src/utils/toError.ts b/packages/errors/src/utils/toError.ts
new file mode 100644
index 000000000..ac925df54
--- /dev/null
+++ b/packages/errors/src/utils/toError.ts
@@ -0,0 +1,11 @@
+/**
+ * Coerce an unknown problem into an Error object.
+ *
+ * @param problem - Whatever was caught.
+ * @returns The problem if it is an Error, or a new Error with the problem as the cause.
+ */
+export function toError(problem: unknown): Error {
+ return problem instanceof Error
+ ? problem
+ : new Error('Unknown', { cause: problem });
+}
diff --git a/packages/errors/tsconfig.build.json b/packages/errors/tsconfig.build.json
new file mode 100644
index 000000000..9651b671e
--- /dev/null
+++ b/packages/errors/tsconfig.build.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.packages.build.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "lib": ["DOM", "ES2022"],
+ "outDir": "./dist",
+ "rootDir": "./src",
+ "types": ["ses"]
+ },
+ "references": [],
+ "files": [],
+ "include": ["./src"]
+}
diff --git a/packages/errors/tsconfig.json b/packages/errors/tsconfig.json
new file mode 100644
index 000000000..743899d8b
--- /dev/null
+++ b/packages/errors/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../../tsconfig.packages.json",
+ "compilerOptions": {
+ "baseUrl": "./",
+ "lib": ["DOM", "ES2022"],
+ "types": ["ses", "vitest", "vitest/jsdom"]
+ },
+ "include": ["./src", "./vite.config.ts", "./vitest.config.ts"]
+}
diff --git a/packages/errors/typedoc.json b/packages/errors/typedoc.json
new file mode 100644
index 000000000..f8eb78ae1
--- /dev/null
+++ b/packages/errors/typedoc.json
@@ -0,0 +1,8 @@
+{
+ "entryPoints": [],
+ "excludePrivate": true,
+ "hideGenerator": true,
+ "out": "docs",
+ "tsconfig": "./tsconfig.build.json",
+ "projectDocuments": ["documents/*.md"]
+}
diff --git a/packages/errors/vitest.config.ts b/packages/errors/vitest.config.ts
new file mode 100644
index 000000000..d909288c9
--- /dev/null
+++ b/packages/errors/vitest.config.ts
@@ -0,0 +1,19 @@
+// eslint-disable-next-line spaced-comment
+///
+
+import { defineConfig, mergeConfig } from 'vite';
+
+import { getDefaultConfig } from '../../vitest.config.packages.js';
+
+const defaultConfig = getDefaultConfig();
+
+const config = mergeConfig(
+ defaultConfig,
+ defineConfig({
+ test: {
+ pool: 'vmThreads',
+ },
+ }),
+);
+
+export default config;
diff --git a/packages/extension/package.json b/packages/extension/package.json
index 6e5eefea6..8347bf599 100644
--- a/packages/extension/package.json
+++ b/packages/extension/package.json
@@ -38,7 +38,7 @@
"@endo/patterns": "^1.4.4",
"@endo/promise-kit": "^1.1.6",
"@metamask/snaps-utils": "^8.3.0",
- "@metamask/utils": "^9.1.0",
+ "@metamask/utils": "^9.3.0",
"@ocap/kernel": "workspace:^",
"@ocap/shims": "workspace:^",
"@ocap/streams": "workspace:^",
diff --git a/packages/kernel/package.json b/packages/kernel/package.json
index b09a211fa..862f25257 100644
--- a/packages/kernel/package.json
+++ b/packages/kernel/package.json
@@ -46,7 +46,8 @@
"@endo/eventual-send": "^1.2.6",
"@endo/promise-kit": "^1.1.6",
"@metamask/superstruct": "^3.1.0",
- "@metamask/utils": "^9.1.0",
+ "@metamask/utils": "^9.3.0",
+ "@ocap/errors": "workspace:^",
"@ocap/shims": "workspace:^",
"@ocap/streams": "workspace:^",
"@ocap/utils": "workspace:^",
diff --git a/packages/kernel/src/Kernel.test.ts b/packages/kernel/src/Kernel.test.ts
index 94c17c229..48e9fc337 100644
--- a/packages/kernel/src/Kernel.test.ts
+++ b/packages/kernel/src/Kernel.test.ts
@@ -1,5 +1,6 @@
import '@ocap/shims/endoify';
+import { VatAlreadyExistsError, VatNotFoundError } from '@ocap/errors';
import type { MessagePortDuplexStream, DuplexStream } from '@ocap/streams';
import type { MockInstance } from 'vitest';
import { describe, it, expect, vi, beforeEach } from 'vitest';
@@ -95,7 +96,7 @@ describe('Kernel', () => {
kernel.launchVat({
id: 'v0',
}),
- ).rejects.toThrow('Vat with ID v0 already exists.');
+ ).rejects.toThrow(VatAlreadyExistsError);
expect(kernel.getVatIds()).toStrictEqual(['v0']);
});
});
@@ -116,7 +117,7 @@ describe('Kernel', () => {
const nonExistentVatId: VatId = 'v9';
await expect(async () =>
kernel.deleteVat(nonExistentVatId),
- ).rejects.toThrow(`Vat with ID ${nonExistentVatId} does not exist.`);
+ ).rejects.toThrow(VatNotFoundError);
expect(terminateMock).not.toHaveBeenCalled();
});
@@ -148,7 +149,7 @@ describe('Kernel', () => {
const nonExistentVatId: VatId = 'v9';
await expect(async () =>
kernel.sendMessage(nonExistentVatId, {} as VatCommand['payload']),
- ).rejects.toThrow(`Vat with ID ${nonExistentVatId} does not exist.`);
+ ).rejects.toThrow(VatNotFoundError);
});
it('throws an error when sending a message to the vat throws', async () => {
diff --git a/packages/kernel/src/Kernel.ts b/packages/kernel/src/Kernel.ts
index ee1b01202..5839540d6 100644
--- a/packages/kernel/src/Kernel.ts
+++ b/packages/kernel/src/Kernel.ts
@@ -1,6 +1,7 @@
import '@ocap/shims/endoify';
import type { PromiseKit } from '@endo/promise-kit';
import { makePromiseKit } from '@endo/promise-kit';
+import { VatAlreadyExistsError, VatNotFoundError, toError } from '@ocap/errors';
import type { DuplexStream } from '@ocap/streams';
import type { Logger } from '@ocap/utils';
import { makeLogger, stringify } from '@ocap/utils';
@@ -109,7 +110,7 @@ export class Kernel {
// TODO: marshal
await this.#reply({
method,
- params: String(asError(problem)),
+ params: String(toError(problem)),
});
}
break;
@@ -176,7 +177,7 @@ export class Kernel {
*/
async launchVat({ id }: { id: VatId }): Promise {
if (this.#vats.has(id)) {
- throw new Error(`Vat with ID ${id} already exists.`);
+ throw new VatAlreadyExistsError(id);
}
const stream = await this.#vatWorkerService.initWorker(id);
const vat = new Vat({ id, stream });
@@ -221,21 +222,9 @@ export class Kernel {
#getVat(id: VatId): Vat {
const vat = this.#vats.get(id);
if (vat === undefined) {
- throw new Error(`Vat with ID ${id} does not exist.`);
+ throw new VatNotFoundError(id);
}
return vat;
}
}
harden(Kernel);
-
-/**
- * Coerce an unknown problem into an Error object.
- *
- * @param problem - Whatever was caught.
- * @returns The problem if it is an Error, or a new Error with the problem as the cause.
- */
-function asError(problem: unknown): Error {
- return problem instanceof Error
- ? problem
- : new Error('Unknown', { cause: problem });
-}
diff --git a/packages/kernel/src/Supervisor.test.ts b/packages/kernel/src/Supervisor.test.ts
index 191c2a6a1..3b299705c 100644
--- a/packages/kernel/src/Supervisor.test.ts
+++ b/packages/kernel/src/Supervisor.test.ts
@@ -81,7 +81,7 @@ describe('Supervisor', () => {
});
});
- it('handles CapTp messages', async () => {
+ it('handles CapTP messages', async () => {
const wrapCapTpSpy = vi.spyOn(streamEnvelope, 'wrapCapTp');
await supervisor.handleMessage({
diff --git a/packages/kernel/src/Supervisor.ts b/packages/kernel/src/Supervisor.ts
index 0da884ff0..877ce9af9 100644
--- a/packages/kernel/src/Supervisor.ts
+++ b/packages/kernel/src/Supervisor.ts
@@ -1,4 +1,5 @@
import { makeCapTP } from '@endo/captp';
+import { SupervisorReadError } from '@ocap/errors';
import type { DuplexStream } from '@ocap/streams';
import { stringify } from '@ocap/utils';
@@ -55,7 +56,7 @@ export class Supervisor {
`Unexpected read error from Supervisor "${this.id}"`,
error,
);
- throw error;
+ throw new SupervisorReadError(this.id, error);
});
}
diff --git a/packages/kernel/src/Vat.test.ts b/packages/kernel/src/Vat.test.ts
index 9f9e702bc..a214ce7aa 100644
--- a/packages/kernel/src/Vat.test.ts
+++ b/packages/kernel/src/Vat.test.ts
@@ -1,4 +1,8 @@
import '@ocap/shims/endoify';
+import {
+ VatCapTpConnectionExistsError,
+ VatCapTpConnectionNotFoundError,
+} from '@ocap/errors';
import { MessagePortDuplexStream, MessagePortWriter } from '@ocap/streams';
import { delay, makePromiseKitMock } from '@ocap/test-utils';
import { stringify } from '@ocap/utils';
@@ -149,7 +153,7 @@ describe('Vat', () => {
// @ts-expect-error - Simulating an existing CapTP
vat.capTp = {};
await expect(vat.makeCapTp()).rejects.toThrow(
- `Vat with id "${vat.id}" already has a CapTP connection.`,
+ VatCapTpConnectionExistsError,
);
});
@@ -172,7 +176,7 @@ describe('Vat', () => {
});
});
- it('handles CapTp messages', async () => {
+ it('handles CapTP messages', async () => {
vi.spyOn(vat, 'sendMessage').mockResolvedValueOnce(undefined);
const wrapCapTpSpy = vi.spyOn(streamEnvelope, 'wrapCapTp');
const consoleLogSpy = vi.spyOn(vat.logger, 'log');
@@ -210,7 +214,7 @@ describe('Vat', () => {
it('throws an error if CapTP connection is not established', async () => {
await expect(
vat.callCapTp({ method: 'testMethod', params: [] }),
- ).rejects.toThrow(`Vat with id "v0" does not have a CapTP connection.`);
+ ).rejects.toThrow(VatCapTpConnectionNotFoundError);
});
it('calls CapTP method with parameters using eventual send', async () => {
diff --git a/packages/kernel/src/Vat.ts b/packages/kernel/src/Vat.ts
index cc2817155..34f90415e 100644
--- a/packages/kernel/src/Vat.ts
+++ b/packages/kernel/src/Vat.ts
@@ -1,6 +1,12 @@
import { makeCapTP } from '@endo/captp';
import { E } from '@endo/eventual-send';
import { makePromiseKit } from '@endo/promise-kit';
+import {
+ VatCapTpConnectionExistsError,
+ VatCapTpConnectionNotFoundError,
+ VatDeletedError,
+ VatReadError,
+} from '@ocap/errors';
import type { DuplexStream, Reader } from '@ocap/streams';
import type { Logger } from '@ocap/utils';
import { makeLogger, makeCounter, stringify } from '@ocap/utils';
@@ -82,7 +88,7 @@ export class Vat {
/* v8 ignore next 4: Not known to be possible. */
this.#receiveMessages(this.stream).catch((error) => {
this.logger.error(`Unexpected read error`, error);
- throw error;
+ throw new VatReadError(this.id, error);
});
await this.sendMessage({ method: VatCommandMethod.Ping, params: null });
@@ -110,9 +116,7 @@ export class Vat {
*/
async makeCapTp(): Promise {
if (this.capTp !== undefined) {
- throw new Error(
- `Vat with id "${this.id}" already has a CapTP connection.`,
- );
+ throw new VatCapTpConnectionExistsError(this.id);
}
// Handle writes here. #receiveMessages() handles reads.
@@ -143,9 +147,7 @@ export class Vat {
*/
async callCapTp(payload: CapTpPayload): Promise {
if (!this.capTp) {
- throw new Error(
- `Vat with id "${this.id}" does not have a CapTP connection.`,
- );
+ throw new VatCapTpConnectionNotFoundError(this.id);
}
return E(this.capTp.getBootstrap())[payload.method](...payload.params);
}
@@ -158,7 +160,7 @@ export class Vat {
// Handle orphaned messages
for (const [messageId, promiseCallback] of this.unresolvedMessages) {
- promiseCallback?.reject(new Error('Vat was deleted'));
+ promiseCallback?.reject(new VatDeletedError(this.id));
this.unresolvedMessages.delete(messageId);
}
}
diff --git a/packages/kernel/src/messages.ts b/packages/kernel/src/messages.ts
index e4b9136f9..746939e73 100644
--- a/packages/kernel/src/messages.ts
+++ b/packages/kernel/src/messages.ts
@@ -2,7 +2,7 @@
export type { VatMessageId } from './messages/vat-message.js';
-// CapTp.
+// CapTP.
export { isCapTpPayload, isCapTpMessage } from './messages/captp.js';
export type { CapTpPayload, CapTpMessage } from './messages/captp.js';
diff --git a/packages/kernel/src/stream-envelope.ts b/packages/kernel/src/stream-envelope.ts
index ec1bc34fc..2612ccbb9 100644
--- a/packages/kernel/src/stream-envelope.ts
+++ b/packages/kernel/src/stream-envelope.ts
@@ -8,7 +8,7 @@ import type { CapTpMessage, VatCommand, VatCommandReply } from './messages.js';
enum EnvelopeLabel {
Command = 'command',
- CapTp = 'capTp',
+ CapTP = 'capTp',
}
// makeStreamEnvelopeKit requires an enum of labels but typescript
diff --git a/packages/kernel/tsconfig.build.json b/packages/kernel/tsconfig.build.json
index 966df608d..5992345a3 100644
--- a/packages/kernel/tsconfig.build.json
+++ b/packages/kernel/tsconfig.build.json
@@ -9,7 +9,8 @@
},
"references": [
{ "path": "../streams/tsconfig.build.json" },
- { "path": "../utils/tsconfig.build.json" }
+ { "path": "../utils/tsconfig.build.json" },
+ { "path": "../errors/tsconfig.build.json" }
],
"include": ["./src"]
}
diff --git a/packages/kernel/tsconfig.json b/packages/kernel/tsconfig.json
index 8f066fda0..bf95316cf 100644
--- a/packages/kernel/tsconfig.json
+++ b/packages/kernel/tsconfig.json
@@ -3,6 +3,10 @@
"compilerOptions": {
"baseUrl": "./"
},
- "references": [{ "path": "../streams" }, { "path": "../utils" }],
+ "references": [
+ { "path": "../streams" },
+ { "path": "../utils" },
+ { "path": "../errors" }
+ ],
"include": ["./src", "./test", "./vite.config.ts", "./vitest.config.ts"]
}
diff --git a/packages/streams/package.json b/packages/streams/package.json
index d2faf400e..3bec7129e 100644
--- a/packages/streams/package.json
+++ b/packages/streams/package.json
@@ -49,7 +49,7 @@
"@endo/promise-kit": "^1.1.6",
"@endo/stream": "^1.2.6",
"@metamask/superstruct": "^3.1.0",
- "@metamask/utils": "^9.1.0",
+ "@metamask/utils": "^9.3.0",
"@ocap/utils": "workspace:^"
},
"devDependencies": {
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 1e252c92f..ee0eab4e2 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -43,7 +43,7 @@
},
"dependencies": {
"@endo/captp": "^4.4.0",
- "@metamask/utils": "^9.1.0"
+ "@metamask/utils": "^9.3.0"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.16.4",
diff --git a/tsconfig.build.json b/tsconfig.build.json
index bfec97504..ba0d0e865 100644
--- a/tsconfig.build.json
+++ b/tsconfig.build.json
@@ -2,7 +2,9 @@
"files": [],
"include": [],
"references": [
+ { "path": "./packages/errors/tsconfig.build.json" },
{ "path": "./packages/extension/tsconfig.build.json" },
+ { "path": "./packages/kernel/tsconfig.build.json" },
{ "path": "./packages/shims/tsconfig.build.json" },
{ "path": "./packages/streams/tsconfig.build.json" },
{ "path": "./packages/utils/tsconfig.build.json" }
diff --git a/tsconfig.json b/tsconfig.json
index 78fd67721..c13ac57a2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -9,7 +9,9 @@
"files": [],
"include": [],
"references": [
+ { "path": "./packages/errors" },
{ "path": "./packages/extension" },
+ { "path": "./packages/kernel" },
{ "path": "./packages/shims" },
{ "path": "./packages/streams" },
{ "path": "./packages/test-utils" },
diff --git a/yarn.lock b/yarn.lock
index 929c103e1..4072cb441 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -65,193 +65,193 @@ __metadata:
languageName: node
linkType: hard
-"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/code-frame@npm:7.24.7"
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/code-frame@npm:7.25.7"
dependencies:
- "@babel/highlight": "npm:^7.24.7"
+ "@babel/highlight": "npm:^7.25.7"
picocolors: "npm:^1.0.0"
- checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624
+ checksum: 10/000fb8299fb35b6217d4f6c6580dcc1fa2f6c0f82d0a54b8a029966f633a8b19b490a7a906b56a94e9d8bee91c3bc44c74c44c33fb0abaa588202f6280186291
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.25.2":
- version: 7.25.4
- resolution: "@babel/compat-data@npm:7.25.4"
- checksum: 10/d37a8936cc355a9ca3050102e03d179bdae26bd2e5c99a977637376c192b23637a039795f153c849437a086727628c9860e2c6af92d7151396e2362c09176337
+"@babel/compat-data@npm:^7.25.7":
+ version: 7.25.8
+ resolution: "@babel/compat-data@npm:7.25.8"
+ checksum: 10/269fcb0d89e02e36c8a11e0c1b960a6b4204e88f59f20c374d28f8e318f4cd5ded42dfedc4b54162065e6a10f71c0de651f5ed3f9b45d3a4b52240196df85726
languageName: node
linkType: hard
"@babel/core@npm:^7.23.2":
- version: 7.25.2
- resolution: "@babel/core@npm:7.25.2"
+ version: 7.25.8
+ resolution: "@babel/core@npm:7.25.8"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
- "@babel/code-frame": "npm:^7.24.7"
- "@babel/generator": "npm:^7.25.0"
- "@babel/helper-compilation-targets": "npm:^7.25.2"
- "@babel/helper-module-transforms": "npm:^7.25.2"
- "@babel/helpers": "npm:^7.25.0"
- "@babel/parser": "npm:^7.25.0"
- "@babel/template": "npm:^7.25.0"
- "@babel/traverse": "npm:^7.25.2"
- "@babel/types": "npm:^7.25.2"
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/generator": "npm:^7.25.7"
+ "@babel/helper-compilation-targets": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.7"
+ "@babel/helpers": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.8"
+ "@babel/template": "npm:^7.25.7"
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.8"
convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3"
semver: "npm:^6.3.1"
- checksum: 10/0d6ec10ff430df66f654c089d6f7ef1d9bed0c318ac257ad5f0dfa0caa45666011828ae75f998bcdb279763e892b091b2925d0bc483299e61649d2c7a2245e33
+ checksum: 10/31eb1a8ca1a3cc0026060720eb290e68205d95c5c00fbd831e69ddc0810f5920b8eb2749db1889ac0a0312b6eddbf321d18a996a88858f3b75c9582bef9ec1e4
languageName: node
linkType: hard
-"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6":
- version: 7.25.6
- resolution: "@babel/generator@npm:7.25.6"
+"@babel/generator@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/generator@npm:7.25.7"
dependencies:
- "@babel/types": "npm:^7.25.6"
+ "@babel/types": "npm:^7.25.7"
"@jridgewell/gen-mapping": "npm:^0.3.5"
"@jridgewell/trace-mapping": "npm:^0.3.25"
- jsesc: "npm:^2.5.1"
- checksum: 10/541e4fbb6ea7806f44232d70f25bf09dee9a57fe43d559e375536870ca5261ebb4647fec3af40dcbb3325ea2a49aff040e12a4e6f88609eaa88f10c4e27e31f8
+ jsesc: "npm:^3.0.2"
+ checksum: 10/01542829621388077fa8a7464970c1db0f748f1482968dddf5332926afe4003f953cbe08e3bbbb0a335b11eba0126c9a81779bd1c5baed681a9ccec4ae63b217
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.25.2":
- version: 7.25.2
- resolution: "@babel/helper-compilation-targets@npm:7.25.2"
+"@babel/helper-compilation-targets@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-compilation-targets@npm:7.25.7"
dependencies:
- "@babel/compat-data": "npm:^7.25.2"
- "@babel/helper-validator-option": "npm:^7.24.8"
- browserslist: "npm:^4.23.1"
+ "@babel/compat-data": "npm:^7.25.7"
+ "@babel/helper-validator-option": "npm:^7.25.7"
+ browserslist: "npm:^4.24.0"
lru-cache: "npm:^5.1.1"
semver: "npm:^6.3.1"
- checksum: 10/eccb2d75923d2d4d596f9ff64716e8664047c4192f1b44c7d5c07701d4a3498ac2587a72ddae1046e65a501bc630eb7df4557958b08ec2dcf5b4a264a052f111
+ checksum: 10/bbf9be8480da3f9a89e36e9ea2e1c76601014c1074ccada7c2edb1adeb3b62bc402cc4abaf8d16760734b25eceb187a9510ce44f6a7a6f696ccc74f69283625b
languageName: node
linkType: hard
-"@babel/helper-module-imports@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-module-imports@npm:7.24.7"
+"@babel/helper-module-imports@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-module-imports@npm:7.25.7"
dependencies:
- "@babel/traverse": "npm:^7.24.7"
- "@babel/types": "npm:^7.24.7"
- checksum: 10/df8bfb2bb18413aa151ecd63b7d5deb0eec102f924f9de6bc08022ced7ed8ca7fed914562d2f6fa5b59b74a5d6e255dc35612b2bc3b8abf361e13f61b3704770
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10/94556712c27058ea35a1a39e21a3a9f067cd699405b64333d7d92b2b3d2f24d6f0ffa51aedba0b908e320acb1854e70d296259622e636fb021eeae9a6d996f01
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.25.2":
- version: 7.25.2
- resolution: "@babel/helper-module-transforms@npm:7.25.2"
+"@babel/helper-module-transforms@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-module-transforms@npm:7.25.7"
dependencies:
- "@babel/helper-module-imports": "npm:^7.24.7"
- "@babel/helper-simple-access": "npm:^7.24.7"
- "@babel/helper-validator-identifier": "npm:^7.24.7"
- "@babel/traverse": "npm:^7.25.2"
+ "@babel/helper-module-imports": "npm:^7.25.7"
+ "@babel/helper-simple-access": "npm:^7.25.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
+ "@babel/traverse": "npm:^7.25.7"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10/a3bcf7815f3e9d8b205e0af4a8d92603d685868e45d119b621357e274996bf916216bb95ab5c6a60fde3775b91941555bf129d608e3d025b04f8aac84589f300
+ checksum: 10/480309b1272ceaa985de1393f0e4c41aede0d5921ca644cec5aeaf43c8e4192b6dd56a58ef6d7e9acd02a43184ab45d3b241fc8c3a0a00f9dbb30235fd8a1181
languageName: node
linkType: hard
-"@babel/helper-simple-access@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-simple-access@npm:7.24.7"
+"@babel/helper-simple-access@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-simple-access@npm:7.25.7"
dependencies:
- "@babel/traverse": "npm:^7.24.7"
- "@babel/types": "npm:^7.24.7"
- checksum: 10/5083e190186028e48fc358a192e4b93ab320bd016103caffcfda81302a13300ccce46c9cd255ae520c25d2a6a9b47671f93e5fe5678954a2329dc0a685465c49
+ "@babel/traverse": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10/42da1c358f2516337a4f2927c77ebb952907543b9f85d7cb1e2b5b5f6d808cdc081ee66a73e2ecdf48c315d9b0c2a81a857d5e1923ea210b8e81aba5e6cd2b53
languageName: node
linkType: hard
-"@babel/helper-string-parser@npm:^7.24.8":
- version: 7.24.8
- resolution: "@babel/helper-string-parser@npm:7.24.8"
- checksum: 10/6d1bf8f27dd725ce02bdc6dffca3c95fb9ab8a06adc2edbd9c1c9d68500274230d1a609025833ed81981eff560045b6b38f7b4c6fb1ab19fc90e5004e3932535
+"@babel/helper-string-parser@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-string-parser@npm:7.25.7"
+ checksum: 10/2b8de9fa86c3f3090a349f1ce6e8ee2618a95355cbdafc6f228d82fa4808c84bf3d1d25290c6616d0a18b26b6cfeb6ec2aeebf01404bc8c60051d0094209f0e6
languageName: node
linkType: hard
-"@babel/helper-validator-identifier@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/helper-validator-identifier@npm:7.24.7"
- checksum: 10/86875063f57361471b531dbc2ea10bbf5406e12b06d249b03827d361db4cad2388c6f00936bcd9dc86479f7e2c69ea21412c2228d4b3672588b754b70a449d4b
+"@babel/helper-validator-identifier@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-validator-identifier@npm:7.25.7"
+ checksum: 10/ec6934cc47fc35baaeb968414a372b064f14f7b130cf6489a014c9486b0fd2549b3c6c682cc1fc35080075e8e38d96aeb40342d63d09fc1a62510c8ce25cde1e
languageName: node
linkType: hard
-"@babel/helper-validator-option@npm:^7.24.8":
- version: 7.24.8
- resolution: "@babel/helper-validator-option@npm:7.24.8"
- checksum: 10/a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c
+"@babel/helper-validator-option@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helper-validator-option@npm:7.25.7"
+ checksum: 10/3c46cbdd666d176f90a0b7e952a0c6e92184b66633336eca79aca243d1f86085ec339a6e45c3d44efa9e03f1829b470a350ddafa70926af6bbf1ac611284f8d3
languageName: node
linkType: hard
-"@babel/helpers@npm:^7.25.0":
- version: 7.25.6
- resolution: "@babel/helpers@npm:7.25.6"
+"@babel/helpers@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/helpers@npm:7.25.7"
dependencies:
- "@babel/template": "npm:^7.25.0"
- "@babel/types": "npm:^7.25.6"
- checksum: 10/43abc8d017b754619aa189d05e2bdb54aaf44f03ec0439e89b3e7c180d538adb01ce9014a1689f632a7e8b17655c72bfac0a92268476eec708b41d3ba0a65296
+ "@babel/template": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10/2632909f83aa99e8b0da4e10e5ab7fc4f0274e6497bb0f17071e004e037d25e4a595583620261dc21410a526fb32b4f7063c3e15e60ed7890a6f9b8ad52312c5
languageName: node
linkType: hard
-"@babel/highlight@npm:^7.24.7":
- version: 7.24.7
- resolution: "@babel/highlight@npm:7.24.7"
+"@babel/highlight@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/highlight@npm:7.25.7"
dependencies:
- "@babel/helper-validator-identifier": "npm:^7.24.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
chalk: "npm:^2.4.2"
js-tokens: "npm:^4.0.0"
picocolors: "npm:^1.0.0"
- checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1
+ checksum: 10/823be2523d246dbf80aab3cc81c2a36c6111b16ac2949ef06789da54387824c2bfaa88c6627cdeb4ba7151d047a5d6765e49ebd0b478aba09759250111e65e08
languageName: node
linkType: hard
-"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.6":
- version: 7.25.6
- resolution: "@babel/parser@npm:7.25.6"
+"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8":
+ version: 7.25.8
+ resolution: "@babel/parser@npm:7.25.8"
dependencies:
- "@babel/types": "npm:^7.25.6"
+ "@babel/types": "npm:^7.25.8"
bin:
parser: ./bin/babel-parser.js
- checksum: 10/830aab72116aa14eb8d61bfa8f9d69fc8f3a43d909ce993cb4350ae14d3af1a2f740a54410a22d821c48a253263643dfecbc094f9608e6a70ce9ff3c0bbfe91a
+ checksum: 10/0396eb71e379903cedb43862f84ebb1bec809c41e82b4894d2e6e83b8e8bc636ba6eff45382e615baefdb2399ede76ca82247ecc3a9877ac16eb3140074a3276
languageName: node
linkType: hard
-"@babel/template@npm:^7.25.0":
- version: 7.25.0
- resolution: "@babel/template@npm:7.25.0"
+"@babel/template@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/template@npm:7.25.7"
dependencies:
- "@babel/code-frame": "npm:^7.24.7"
- "@babel/parser": "npm:^7.25.0"
- "@babel/types": "npm:^7.25.0"
- checksum: 10/07ebecf6db8b28244b7397628e09c99e7a317b959b926d90455c7253c88df3677a5a32d1501d9749fe292a263ff51a4b6b5385bcabd5dadd3a48036f4d4949e0
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
+ checksum: 10/49e1e88d2eac17d31ae28d6cf13d6d29c1f49384c4f056a6751c065d6565c351e62c01ce6b11fef5edb5f3a77c87e114ea7326ca384fa618b4834e10cf9b20f3
languageName: node
linkType: hard
-"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.6, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2":
- version: 7.25.6
- resolution: "@babel/traverse@npm:7.25.6"
+"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.6, @babel/traverse@npm:^7.25.7":
+ version: 7.25.7
+ resolution: "@babel/traverse@npm:7.25.7"
dependencies:
- "@babel/code-frame": "npm:^7.24.7"
- "@babel/generator": "npm:^7.25.6"
- "@babel/parser": "npm:^7.25.6"
- "@babel/template": "npm:^7.25.0"
- "@babel/types": "npm:^7.25.6"
+ "@babel/code-frame": "npm:^7.25.7"
+ "@babel/generator": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.25.7"
+ "@babel/template": "npm:^7.25.7"
+ "@babel/types": "npm:^7.25.7"
debug: "npm:^4.3.1"
globals: "npm:^11.1.0"
- checksum: 10/de75a918299bc27a44ec973e3f2fa8c7902bbd67bd5d39a0be656f3c1127f33ebc79c12696fbc8170a0b0e1072a966d4a2126578d7ea2e241b0aeb5d16edc738
+ checksum: 10/5b2d332fcd6bc78e6500c997e79f7e2a54dfb357e06f0908cb7f0cdd9bb54e7fd3c5673f45993849d433d01ea6076a6d04b825958f0cfa01288ad55ffa5c286f
languageName: node
linkType: hard
-"@babel/types@npm:^7.17.0, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.6":
- version: 7.25.6
- resolution: "@babel/types@npm:7.25.6"
+"@babel/types@npm:^7.17.0, @babel/types@npm:^7.23.0, @babel/types@npm:^7.24.0, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8":
+ version: 7.25.8
+ resolution: "@babel/types@npm:7.25.8"
dependencies:
- "@babel/helper-string-parser": "npm:^7.24.8"
- "@babel/helper-validator-identifier": "npm:^7.24.7"
+ "@babel/helper-string-parser": "npm:^7.25.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.7"
to-fast-properties: "npm:^2.0.0"
- checksum: 10/7b54665e1b51f525fe0f451efdd9fe7a4a6dfba3fd4956c3530bc77336b66ffe3d78c093796ed044119b5d213176af7cf326f317a2057c538d575c6cefcb3562
+ checksum: 10/973108dbb189916bb87360f2beff43ae97f1b08f1c071bc6499d363cce48b3c71674bf3b59dfd617f8c5062d1c76dc2a64232bc07b6ccef831fd0c06162d44d9
languageName: node
linkType: hard
@@ -526,14 +526,14 @@ __metadata:
languageName: node
linkType: hard
-"@es-joy/jsdoccomment@npm:~0.48.0":
- version: 0.48.0
- resolution: "@es-joy/jsdoccomment@npm:0.48.0"
+"@es-joy/jsdoccomment@npm:~0.49.0":
+ version: 0.49.0
+ resolution: "@es-joy/jsdoccomment@npm:0.49.0"
dependencies:
comment-parser: "npm:1.4.1"
esquery: "npm:^1.6.0"
jsdoc-type-pratt-parser: "npm:~4.1.0"
- checksum: 10/28fc48521cc020a570d4cc0c1dde9e370a68bb5bebb7ca0049e2d7090f373ea4ccb685adb0123da0783c47672822b49bc849bc4a1a27d4758ab1bc18a9c8500a
+ checksum: 10/d767cef9b09f22d1892b8bd544eee32aa7b55c585edf6b51452e6f377f205b06f46bd319174022f75794d39625b4b0f8ce75c8a4ea0b7fd0f773063506e0ef4d
languageName: node
linkType: hard
@@ -933,8 +933,8 @@ __metadata:
linkType: hard
"@lavamoat/allow-scripts@npm:^3.0.4":
- version: 3.2.1
- resolution: "@lavamoat/allow-scripts@npm:3.2.1"
+ version: 3.3.0
+ resolution: "@lavamoat/allow-scripts@npm:3.3.0"
dependencies:
"@lavamoat/aa": "npm:^4.3.0"
"@npmcli/run-script": "npm:8.1.0"
@@ -945,7 +945,7 @@ __metadata:
"@lavamoat/preinstall-always-fail": "*"
bin:
allow-scripts: src/cli.js
- checksum: 10/2a0bbf78857184016f1025a91d2b9598814bcde134319932fa4cdc6d802054339f80507e5bfe2da2ed6b736c2cf50b3cb0621f26d7667439e0fd235488106e90
+ checksum: 10/476043c56425c3077d051a4a6ee4d045fab8b80bf16d50a9201c68224a2ddd77af03490388b7380004d348b11abf4ab7854ba52ba514d10d17c05d40dc8b870d
languageName: node
linkType: hard
@@ -1169,8 +1169,8 @@ __metadata:
linkType: hard
"@metamask/providers@npm:^17.1.2":
- version: 17.2.0
- resolution: "@metamask/providers@npm:17.2.0"
+ version: 17.2.1
+ resolution: "@metamask/providers@npm:17.2.1"
dependencies:
"@metamask/json-rpc-engine": "npm:^9.0.1"
"@metamask/json-rpc-middleware-stream": "npm:^8.0.1"
@@ -1185,17 +1185,17 @@ __metadata:
readable-stream: "npm:^3.6.2"
peerDependencies:
webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0
- checksum: 10/b2fc93cdc059528bfeb14a61d6153f9a5f2679e5c6640648c16cd4e5067f758a67c2c6abab962615e878e6b9d7f1bbcd3632584ad7e57ec9df8c16f47b13e608
+ checksum: 10/ff9cbcdd4cfa410c52ae0d9d39ad9285fb21f583bcb36a8a39d1862681fe17483008c15ab0ce87797ea94cad82a2f2e58b29b1db1f02df151f9cf3b05013e8a4
languageName: node
linkType: hard
"@metamask/rpc-errors@npm:^6.3.1":
- version: 6.3.1
- resolution: "@metamask/rpc-errors@npm:6.3.1"
+ version: 6.4.0
+ resolution: "@metamask/rpc-errors@npm:6.4.0"
dependencies:
"@metamask/utils": "npm:^9.0.0"
fast-safe-stringify: "npm:^2.0.6"
- checksum: 10/f968fb490b13b632c2ad4770a144d67cecdff8d539cb8b489c732b08dab7a62fae65d7a2908ce8c5b77260317aa618948a52463f093fa8d9f84aee1c5f6f5daf
+ checksum: 10/9a17525aa8ce9ac142a94c04000dba7f0635e8e155c6c045f57eca36cc78c255318cca2fad4571719a427dfd2df64b70bc6442989523a8de555480668d666ad5
languageName: node
linkType: hard
@@ -1235,22 +1235,22 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/snaps-sdk@npm:^6.7.0":
- version: 6.7.0
- resolution: "@metamask/snaps-sdk@npm:6.7.0"
+"@metamask/snaps-sdk@npm:^6.8.0":
+ version: 6.8.0
+ resolution: "@metamask/snaps-sdk@npm:6.8.0"
dependencies:
"@metamask/key-tree": "npm:^9.1.2"
"@metamask/providers": "npm:^17.1.2"
"@metamask/rpc-errors": "npm:^6.3.1"
"@metamask/superstruct": "npm:^3.1.0"
"@metamask/utils": "npm:^9.2.1"
- checksum: 10/1f3148f509e7212e40b615f9050dbb5a5085ae17cd2301f471b828b90a61902a3ae21f9ac520b3a2ffa291585823dd063486a314a2738cd86479b4358e39cfac
+ checksum: 10/9c2fa7517f8062f5162a8d5ad115e8e51e811aa6cc852834ec05914fe871267c6d347cdbfe67a44960898cdbe14f1e0395e9b71157fb23cf1e5620998c6f15dd
languageName: node
linkType: hard
"@metamask/snaps-utils@npm:^8.3.0":
- version: 8.3.0
- resolution: "@metamask/snaps-utils@npm:8.3.0"
+ version: 8.4.0
+ resolution: "@metamask/snaps-utils@npm:8.4.0"
dependencies:
"@babel/core": "npm:^7.23.2"
"@babel/types": "npm:^7.23.0"
@@ -1260,7 +1260,7 @@ __metadata:
"@metamask/rpc-errors": "npm:^6.3.1"
"@metamask/slip44": "npm:^4.0.0"
"@metamask/snaps-registry": "npm:^3.2.1"
- "@metamask/snaps-sdk": "npm:^6.7.0"
+ "@metamask/snaps-sdk": "npm:^6.8.0"
"@metamask/superstruct": "npm:^3.1.0"
"@metamask/utils": "npm:^9.2.1"
"@noble/hashes": "npm:^1.3.1"
@@ -1275,7 +1275,7 @@ __metadata:
semver: "npm:^7.5.4"
ses: "npm:^1.1.0"
validate-npm-package-name: "npm:^5.0.0"
- checksum: 10/43844f4057d698088f03c30937e59bfeed86bfe05ec82a5c25248a0d0f4019994611060913d61751a692bf7791a374459b88f6c1a6f119f5f883069307e8278c
+ checksum: 10/9948021d33f5c25e8196728dca01d75d285362393eace61f6d31a327de0ab1f0b5b4e8abf33484b94319d06bf2ccfdc101377adad1de65740c077d327d655a6b
languageName: node
linkType: hard
@@ -1286,9 +1286,9 @@ __metadata:
languageName: node
linkType: hard
-"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.1.0, @metamask/utils@npm:^9.2.1":
- version: 9.2.1
- resolution: "@metamask/utils@npm:9.2.1"
+"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.1.0, @metamask/utils@npm:^9.2.1, @metamask/utils@npm:^9.3.0":
+ version: 9.3.0
+ resolution: "@metamask/utils@npm:9.3.0"
dependencies:
"@ethereumjs/tx": "npm:^4.2.0"
"@metamask/superstruct": "npm:^3.1.0"
@@ -1299,7 +1299,7 @@ __metadata:
pony-cause: "npm:^2.1.10"
semver: "npm:^7.5.4"
uuid: "npm:^9.0.1"
- checksum: 10/2192797afd91af19898e107afeaf63e89b61dc7285e0a75d0cc814b5b288e4cdfc856781b01904034c4d2c1efd9bdab512af24c7e4dfe7b77a03f1f3d9dec7e8
+ checksum: 10/ed6648cd973bbf3b4eb0e862903b795a99d27784c820e19f62f0bc0ddf353e98c2858d7e9aaebc0249a586391b344e35b9249d13c08e3ea0c74b23dc1c6b1558
languageName: node
linkType: hard
@@ -1460,6 +1460,43 @@ __metadata:
languageName: node
linkType: hard
+"@ocap/errors@workspace:^, @ocap/errors@workspace:packages/errors":
+ version: 0.0.0-use.local
+ resolution: "@ocap/errors@workspace:packages/errors"
+ dependencies:
+ "@arethetypeswrong/cli": "npm:^0.16.4"
+ "@metamask/auto-changelog": "npm:^3.4.4"
+ "@metamask/eslint-config": "npm:^14.0.0"
+ "@metamask/eslint-config-nodejs": "npm:^14.0.0"
+ "@metamask/eslint-config-typescript": "npm:^14.0.0"
+ "@metamask/utils": "npm:^9.3.0"
+ "@ts-bridge/cli": "npm:^0.5.1"
+ "@ts-bridge/shims": "npm:^0.1.1"
+ "@typescript-eslint/eslint-plugin": "npm:^8.8.1"
+ "@typescript-eslint/parser": "npm:^8.8.1"
+ "@typescript-eslint/utils": "npm:^8.8.1"
+ "@vitest/eslint-plugin": "npm:^1.1.7"
+ depcheck: "npm:^1.4.7"
+ eslint: "npm:^9.12.0"
+ eslint-config-prettier: "npm:^9.1.0"
+ eslint-import-resolver-typescript: "npm:^3.6.3"
+ eslint-plugin-import-x: "npm:^4.3.1"
+ eslint-plugin-jsdoc: "npm:^50.3.1"
+ eslint-plugin-n: "npm:^17.11.1"
+ eslint-plugin-prettier: "npm:^5.2.1"
+ eslint-plugin-promise: "npm:^7.1.0"
+ jsdom: "npm:^24.1.1"
+ prettier: "npm:^3.3.3"
+ rimraf: "npm:^6.0.1"
+ ses: "npm:^1.9.0"
+ typedoc: "npm:^0.26.8"
+ typescript: "npm:~5.5.4"
+ typescript-eslint: "npm:^8.8.1"
+ vite: "npm:^5.3.5"
+ vitest: "npm:^2.1.2"
+ languageName: unknown
+ linkType: soft
+
"@ocap/extension@workspace:packages/extension":
version: 0.0.0-use.local
resolution: "@ocap/extension@workspace:packages/extension"
@@ -1474,7 +1511,7 @@ __metadata:
"@metamask/eslint-config-nodejs": "npm:^14.0.0"
"@metamask/eslint-config-typescript": "npm:^14.0.0"
"@metamask/snaps-utils": "npm:^8.3.0"
- "@metamask/utils": "npm:^9.1.0"
+ "@metamask/utils": "npm:^9.3.0"
"@ocap/kernel": "workspace:^"
"@ocap/shims": "workspace:^"
"@ocap/streams": "workspace:^"
@@ -1522,7 +1559,8 @@ __metadata:
"@metamask/eslint-config-nodejs": "npm:^14.0.0"
"@metamask/eslint-config-typescript": "npm:^14.0.0"
"@metamask/superstruct": "npm:^3.1.0"
- "@metamask/utils": "npm:^9.1.0"
+ "@metamask/utils": "npm:^9.3.0"
+ "@ocap/errors": "workspace:^"
"@ocap/shims": "workspace:^"
"@ocap/streams": "workspace:^"
"@ocap/test-utils": "workspace:^"
@@ -1644,7 +1682,7 @@ __metadata:
"@metamask/eslint-config-nodejs": "npm:^14.0.0"
"@metamask/eslint-config-typescript": "npm:^14.0.0"
"@metamask/superstruct": "npm:^3.1.0"
- "@metamask/utils": "npm:^9.1.0"
+ "@metamask/utils": "npm:^9.3.0"
"@ocap/test-utils": "workspace:^"
"@ocap/utils": "workspace:^"
"@ts-bridge/cli": "npm:^0.5.1"
@@ -1714,7 +1752,7 @@ __metadata:
"@metamask/eslint-config": "npm:^14.0.0"
"@metamask/eslint-config-nodejs": "npm:^14.0.0"
"@metamask/eslint-config-typescript": "npm:^14.0.0"
- "@metamask/utils": "npm:^9.1.0"
+ "@metamask/utils": "npm:^9.3.0"
"@ocap/test-utils": "workspace:^"
"@ts-bridge/cli": "npm:^0.5.1"
"@ts-bridge/shims": "npm:^0.1.1"
@@ -1833,114 +1871,114 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-android-arm-eabi@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4"
+"@rollup/rollup-android-arm-eabi@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.0"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
-"@rollup/rollup-android-arm64@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-android-arm64@npm:4.22.4"
+"@rollup/rollup-android-arm64@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-android-arm64@npm:4.24.0"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-arm64@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4"
+"@rollup/rollup-darwin-arm64@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-darwin-arm64@npm:4.24.0"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-darwin-x64@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-darwin-x64@npm:4.22.4"
+"@rollup/rollup-darwin-x64@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-darwin-x64@npm:4.24.0"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4"
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4"
+"@rollup/rollup-linux-arm-musleabihf@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.0"
conditions: os=linux & cpu=arm & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-gnu@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4"
+"@rollup/rollup-linux-arm64-gnu@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.0"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-musl@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4"
+"@rollup/rollup-linux-arm64-musl@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.0"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4"
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4"
+"@rollup/rollup-linux-riscv64-gnu@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.0"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-s390x-gnu@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4"
+"@rollup/rollup-linux-s390x-gnu@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.0"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-gnu@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4"
+"@rollup/rollup-linux-x64-gnu@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.0"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-musl@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4"
+"@rollup/rollup-linux-x64-musl@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.0"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@rollup/rollup-win32-arm64-msvc@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4"
+"@rollup/rollup-win32-arm64-msvc@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.0"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@rollup/rollup-win32-ia32-msvc@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4"
+"@rollup/rollup-win32-ia32-msvc@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.0"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@rollup/rollup-win32-x64-msvc@npm:4.22.4":
- version: 4.22.4
- resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4"
+"@rollup/rollup-win32-x64-msvc@npm:4.24.0":
+ version: 4.24.0
+ resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.0"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -2119,7 +2157,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6":
+"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6":
version: 1.0.6
resolution: "@types/estree@npm:1.0.6"
checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d
@@ -2133,13 +2171,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:1.0.5":
- version: 1.0.5
- resolution: "@types/estree@npm:1.0.5"
- checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408
- languageName: node
- linkType: hard
-
"@types/filesystem@npm:*":
version: 0.0.36
resolution: "@types/filesystem@npm:0.0.36"
@@ -2157,9 +2188,9 @@ __metadata:
linkType: hard
"@types/har-format@npm:*":
- version: 1.2.15
- resolution: "@types/har-format@npm:1.2.15"
- checksum: 10/fcb397741076ed1095ef8dcccd408c9ef4e20fcfeef0d3fe700f837cc015fe72ee2a3c081cc9c03d73c115005b38ba7b1c563d27e050fa612d60bc2049f309ca
+ version: 1.2.16
+ resolution: "@types/har-format@npm:1.2.16"
+ checksum: 10/b7ecef1ca27b902f9eb0bff9cebe650370f594e20813a728853673b22400afa08966eb5fd725553c19811bc166947e1c845e92ce4df86cee79d4fd9bda4d251b
languageName: node
linkType: hard
@@ -2221,20 +2252,20 @@ __metadata:
linkType: hard
"@types/node@npm:*":
- version: 22.7.0
- resolution: "@types/node@npm:22.7.0"
+ version: 22.7.5
+ resolution: "@types/node@npm:22.7.5"
dependencies:
undici-types: "npm:~6.19.2"
- checksum: 10/6476d94a4c0fbf60df56634063e8aa26da1152e7096daf374f1eb010eab1c7ef4cdb75ab2508480e82c0b56538e0e7bdfc72af47e7a4e4ace37f2035eddfd3c2
+ checksum: 10/e8ba102f8c1aa7623787d625389be68d64e54fcbb76d41f6c2c64e8cf4c9f4a2370e7ef5e5f1732f3c57529d3d26afdcb2edc0101c5e413a79081449825c57ac
languageName: node
linkType: hard
"@types/node@npm:^18.18.14":
- version: 18.19.51
- resolution: "@types/node@npm:18.19.51"
+ version: 18.19.55
+ resolution: "@types/node@npm:18.19.55"
dependencies:
undici-types: "npm:~5.26.4"
- checksum: 10/dd24fbdf57f29c21d5732b0fccbb1ee53bb947a17bfa9792e5840566e472a4d043217a0368fca5aa4323fd9aca4a654a262b742aa02868e4c6b8bc34547618e0
+ checksum: 10/7ba2b7203338f855fd7e90d09de3196e0d534c361ee0fbd7e3f24d416b867a017530d5721c4186f2c5402184e824a1fe65d2b5f9291751b9d8a7d2f9824f9a73
languageName: node
linkType: hard
@@ -2392,8 +2423,8 @@ __metadata:
linkType: hard
"@vitest/coverage-v8@npm:^2.1.2":
- version: 2.1.2
- resolution: "@vitest/coverage-v8@npm:2.1.2"
+ version: 2.1.3
+ resolution: "@vitest/coverage-v8@npm:2.1.3"
dependencies:
"@ampproject/remapping": "npm:^2.3.0"
"@bcoe/v8-coverage": "npm:^0.2.3"
@@ -2408,12 +2439,12 @@ __metadata:
test-exclude: "npm:^7.0.1"
tinyrainbow: "npm:^1.2.0"
peerDependencies:
- "@vitest/browser": 2.1.2
- vitest: 2.1.2
+ "@vitest/browser": 2.1.3
+ vitest: 2.1.3
peerDependenciesMeta:
"@vitest/browser":
optional: true
- checksum: 10/513b96310eacc99f97f8beb95801c725788b5d64434a820d0008dd94731a09250f68d31a84bbb6cdf3110ee9ad86b4c50d02c1d3d4d651bf56bac4b409b95a62
+ checksum: 10/3865db318e6448c6e267034a72141dfc49d79155a04573f1e565d0ddd98dd5cddbefb77b214265daaf13510a8497224ddbacc94371bd63e7c928036ad7993989
languageName: node
linkType: hard
@@ -2434,27 +2465,27 @@ __metadata:
languageName: node
linkType: hard
-"@vitest/expect@npm:2.1.2":
- version: 2.1.2
- resolution: "@vitest/expect@npm:2.1.2"
+"@vitest/expect@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/expect@npm:2.1.3"
dependencies:
- "@vitest/spy": "npm:2.1.2"
- "@vitest/utils": "npm:2.1.2"
+ "@vitest/spy": "npm:2.1.3"
+ "@vitest/utils": "npm:2.1.3"
chai: "npm:^5.1.1"
tinyrainbow: "npm:^1.2.0"
- checksum: 10/0e2991295a6b9c51e2d074d1185317dcb2d85d1e9b5045299431fd7b84e51a847942911b08efad2379f56bb4dfe2f02442abd267df348751c61c86bc7b3154a3
+ checksum: 10/94e61e01f14cfcd9ced0e7ac1bbdeee55ff4bf68f09d8f244fd7d73f97b106f35d10cba3fe7a0132464c312206f2eee9e83b16a8d761101b61da053890062858
languageName: node
linkType: hard
-"@vitest/mocker@npm:2.1.2":
- version: 2.1.2
- resolution: "@vitest/mocker@npm:2.1.2"
+"@vitest/mocker@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/mocker@npm:2.1.3"
dependencies:
- "@vitest/spy": "npm:^2.1.0-beta.1"
+ "@vitest/spy": "npm:2.1.3"
estree-walker: "npm:^3.0.3"
magic-string: "npm:^0.30.11"
peerDependencies:
- "@vitest/spy": 2.1.2
+ "@vitest/spy": 2.1.3
msw: ^2.3.5
vite: ^5.0.0
peerDependenciesMeta:
@@ -2462,114 +2493,114 @@ __metadata:
optional: true
vite:
optional: true
- checksum: 10/f6ec9aa061c21877322bf3f0b12bf4e78eba3f092174a506b2d2d479b78e36b4d46a6458cd23d3bf3cbdcf212276cf5d1a87234ae2014e8362ea2afc23e46bec
+ checksum: 10/84be8830d6e965109730257d7a84b3d7594db0998ae55decdbfc304857c1c7d29b49f1f5b23f2addcbce1bd7e8bb33832407737a9bb3f95cb3bf7bb312db4d9d
languageName: node
linkType: hard
-"@vitest/pretty-format@npm:2.1.2, @vitest/pretty-format@npm:^2.1.2":
- version: 2.1.2
- resolution: "@vitest/pretty-format@npm:2.1.2"
+"@vitest/pretty-format@npm:2.1.3, @vitest/pretty-format@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/pretty-format@npm:2.1.3"
dependencies:
tinyrainbow: "npm:^1.2.0"
- checksum: 10/5866fb3c45e794b695a9f62f76b886a8a8d07d711f7187e9e769fd614bc62df1f87d076880c032d5cd8c0272c385fe824c12191b04a3ca44a8bb9fed1a0c3693
+ checksum: 10/d9382ee93f0f32e2ef8fe03bda818e5277f052a50ddb05b6a6cf0864b2ccb228484f12f130c05faf62dc2140292ffafc213f2941b0fa24058b3ee2943daa286c
languageName: node
linkType: hard
-"@vitest/runner@npm:2.1.2":
- version: 2.1.2
- resolution: "@vitest/runner@npm:2.1.2"
+"@vitest/runner@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/runner@npm:2.1.3"
dependencies:
- "@vitest/utils": "npm:2.1.2"
+ "@vitest/utils": "npm:2.1.3"
pathe: "npm:^1.1.2"
- checksum: 10/60b086e39a31dd664875746b0da3a2402d4088801306e87fe25f20dc660abda50afd3e5ec6ea34ef0849f5652ac05ce2a93a13ea4d5dd16a549d9882941de328
+ checksum: 10/cdf9b82d388c1cc148753f4a8632dfcadf9c4a1c0e065fdcd485d5af824af62507fd7eab9efb21244009775c05773ccb59547043af522a5ab6d216433321066e
languageName: node
linkType: hard
-"@vitest/snapshot@npm:2.1.2":
- version: 2.1.2
- resolution: "@vitest/snapshot@npm:2.1.2"
+"@vitest/snapshot@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/snapshot@npm:2.1.3"
dependencies:
- "@vitest/pretty-format": "npm:2.1.2"
+ "@vitest/pretty-format": "npm:2.1.3"
magic-string: "npm:^0.30.11"
pathe: "npm:^1.1.2"
- checksum: 10/acd29f59883899c660eeba5950366e4f9f799cb29e7edd65575a7b6ad319a1df4d7a46a95048f8f9475f4c6f46cea198a7ecfab06e88e435dfd4989b365b917f
+ checksum: 10/2c0c4ad8abb758f2f76d1d6094f8928360437e09d0a59e0c6a85a544c892cc41a5324ebbc5657a66c8a3793e51cbf58e357c7f71e899f4e5c5eb76e8c9745abf
languageName: node
linkType: hard
-"@vitest/spy@npm:2.1.2, @vitest/spy@npm:^2.1.0-beta.1":
- version: 2.1.2
- resolution: "@vitest/spy@npm:2.1.2"
+"@vitest/spy@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/spy@npm:2.1.3"
dependencies:
tinyspy: "npm:^3.0.0"
- checksum: 10/0183ab53b431bd6a08531752113780e15202ebd7579eed25b9bf87c849f75d74d0e4f346d886034cd9dd1381aa8814b3e468f141f41f7539b75f30268df35a79
+ checksum: 10/94d6f1bc34da5d0c973d9382c133b938e555fcf2d238edf0aaad3de1a98dd57ebf7c104ba229c6beec48122d2e6f55386d8d2cf96a5804dc95ac683a54754cc7
languageName: node
linkType: hard
-"@vitest/utils@npm:2.1.2":
- version: 2.1.2
- resolution: "@vitest/utils@npm:2.1.2"
+"@vitest/utils@npm:2.1.3":
+ version: 2.1.3
+ resolution: "@vitest/utils@npm:2.1.3"
dependencies:
- "@vitest/pretty-format": "npm:2.1.2"
+ "@vitest/pretty-format": "npm:2.1.3"
loupe: "npm:^3.1.1"
tinyrainbow: "npm:^1.2.0"
- checksum: 10/fa898ea6312cb62e4027f55b06859d84ba50ac20e583bab2889eeadea41d73baf6022ed87547deec6251cd8021f1df13d2ea4515ab253582c3ca93226acd6313
+ checksum: 10/f064e6634cb84c925a17d8937df7441d150c3e24fa5bbd6304151d11dab6cdeb0cb3d5a95a9aacb8b416c87fb0d9aa8c6b9cc5e174191784231e8345948d6d18
languageName: node
linkType: hard
-"@vue/compiler-core@npm:3.5.8":
- version: 3.5.8
- resolution: "@vue/compiler-core@npm:3.5.8"
+"@vue/compiler-core@npm:3.5.12":
+ version: 3.5.12
+ resolution: "@vue/compiler-core@npm:3.5.12"
dependencies:
"@babel/parser": "npm:^7.25.3"
- "@vue/shared": "npm:3.5.8"
+ "@vue/shared": "npm:3.5.12"
entities: "npm:^4.5.0"
estree-walker: "npm:^2.0.2"
source-map-js: "npm:^1.2.0"
- checksum: 10/1771ea226463ecfdc29b491beda25813a51f22f07fa3f5c2cff3e9ee4516b8e1e7a93be255e66cadd052d48f632a8b655b85782456386118611a00c588758755
+ checksum: 10/287ca30a8e018f438775cdb93fca191e841e359c646a89a0788237e2af2840b04e6fcea8aea00f09b81ca96c16bcab00a53124916d07fb5c1c598dba4a6c560b
languageName: node
linkType: hard
-"@vue/compiler-dom@npm:3.5.8":
- version: 3.5.8
- resolution: "@vue/compiler-dom@npm:3.5.8"
+"@vue/compiler-dom@npm:3.5.12":
+ version: 3.5.12
+ resolution: "@vue/compiler-dom@npm:3.5.12"
dependencies:
- "@vue/compiler-core": "npm:3.5.8"
- "@vue/shared": "npm:3.5.8"
- checksum: 10/3bc3dd51abdfb06ec5ad8fec8c34a9ede1dfbc2e1c629a1802bc168b0f3a432c62726ca8bcd41d0f6d58c159be8ff0f421b084d0ad59ef8c6edd712861434059
+ "@vue/compiler-core": "npm:3.5.12"
+ "@vue/shared": "npm:3.5.12"
+ checksum: 10/7578e7e729f44fd0903cd468255d1d50fe9774073a7f5cb0a5bf4352495712454e3b698abe5b29829cf1b56267162f7e73397979e4dcc472e855192cb2c96008
languageName: node
linkType: hard
"@vue/compiler-sfc@npm:^3.3.4":
- version: 3.5.8
- resolution: "@vue/compiler-sfc@npm:3.5.8"
+ version: 3.5.12
+ resolution: "@vue/compiler-sfc@npm:3.5.12"
dependencies:
"@babel/parser": "npm:^7.25.3"
- "@vue/compiler-core": "npm:3.5.8"
- "@vue/compiler-dom": "npm:3.5.8"
- "@vue/compiler-ssr": "npm:3.5.8"
- "@vue/shared": "npm:3.5.8"
+ "@vue/compiler-core": "npm:3.5.12"
+ "@vue/compiler-dom": "npm:3.5.12"
+ "@vue/compiler-ssr": "npm:3.5.12"
+ "@vue/shared": "npm:3.5.12"
estree-walker: "npm:^2.0.2"
magic-string: "npm:^0.30.11"
postcss: "npm:^8.4.47"
source-map-js: "npm:^1.2.0"
- checksum: 10/12403b818043e973460a1a0c036a52cdfbddc34372f16841770c9cdbbc0c1964c18f8c9bd9b5b4dbb09a8c40a22ee31ba2fcd19e618ca7dc61c3e12a6e373a0d
+ checksum: 10/5b2fdbbf381dc684054bcfb7b0945154de658b56b618b2e1637abecd47e070976848a0bfcb2fa0698bab077f0d79ba638f2ec1d180652ca160352c72cf7e6fb3
languageName: node
linkType: hard
-"@vue/compiler-ssr@npm:3.5.8":
- version: 3.5.8
- resolution: "@vue/compiler-ssr@npm:3.5.8"
+"@vue/compiler-ssr@npm:3.5.12":
+ version: 3.5.12
+ resolution: "@vue/compiler-ssr@npm:3.5.12"
dependencies:
- "@vue/compiler-dom": "npm:3.5.8"
- "@vue/shared": "npm:3.5.8"
- checksum: 10/e1ede131a18120ad0b331a82958f1d68c9db8740eba348cad0702e1215641dce7e9f8f228db19f42ab8d41fde0608c822234cf72507f1c6cdb443be70e216fd9
+ "@vue/compiler-dom": "npm:3.5.12"
+ "@vue/shared": "npm:3.5.12"
+ checksum: 10/25b11070503f5380341d37889aa8729987f3884cdda3a01c95323ee41a00f233c6dd7439618b2389dcaa339341776e7bd21780e3416c1ec1fddee45f13f254a7
languageName: node
linkType: hard
-"@vue/shared@npm:3.5.8":
- version: 3.5.8
- resolution: "@vue/shared@npm:3.5.8"
- checksum: 10/33e3ba56c87dc05a1ad97e65cac74ec4eaeb93e051a05167b06841e34f3b96b7af043b15a157f17db01fdce81cb7b53ff6c93a91edb4bcfaf21ef29bf4041f64
+"@vue/shared@npm:3.5.12":
+ version: 3.5.12
+ resolution: "@vue/shared@npm:3.5.12"
+ checksum: 10/abe229a09a9513f484a03a8c0e63b90949d9fccf64203c1ad510628305e1fdc0e9d064174df88299409a9fbf0c142e4fbcc0a5449f10728fb12d7e10d825abc5
languageName: node
linkType: hard
@@ -2861,7 +2892,7 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.23.1":
+"browserslist@npm:^4.24.0":
version: 4.24.0
resolution: "browserslist@npm:4.24.0"
dependencies:
@@ -2941,9 +2972,9 @@ __metadata:
linkType: hard
"caniuse-lite@npm:^1.0.30001663":
- version: 1.0.30001663
- resolution: "caniuse-lite@npm:1.0.30001663"
- checksum: 10/a67aba45e10bf56f584f82ab414ff21f5d23ddbd71936839b79c305710b332d8b91df37948a525fe1c9cede81ab56a3d831ee6e3f1fa11c4f299651ea49a8067
+ version: 1.0.30001668
+ resolution: "caniuse-lite@npm:1.0.30001668"
+ checksum: 10/4a14acbc999a855e6a91a3ae4ca670f202ceabb4b0e75f8eaef153fafe33ae5ea0de7ac99c078d6b724c8f60b14b1ea24d7c544398e5fd077c418e3f029559ff
languageName: node
linkType: hard
@@ -3576,9 +3607,9 @@ __metadata:
linkType: hard
"electron-to-chromium@npm:^1.5.28":
- version: 1.5.28
- resolution: "electron-to-chromium@npm:1.5.28"
- checksum: 10/dfe890eaeec6f48d245895060edbfd6a0ff8b1a102b22324b2b33cd4aaabe39748a4a9f687be6a5e08f1d8fb1fac0d3bcd96da00d47771a3665d8641111a5f07
+ version: 1.5.36
+ resolution: "electron-to-chromium@npm:1.5.36"
+ checksum: 10/659f637b7384714d5a732de0e5baca007fa1ae741faa4a0f9eb576d65a6a6d30c553caae27df5df7307c65484c0fbcd2ac453df27848d04f7dd27b81dea072a2
languageName: node
linkType: hard
@@ -3763,7 +3794,7 @@ __metadata:
languageName: node
linkType: hard
-"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
+"escalade@npm:^3.1.1, escalade@npm:^3.2.0":
version: 3.2.0
resolution: "escalade@npm:3.2.0"
checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6
@@ -3888,10 +3919,10 @@ __metadata:
linkType: hard
"eslint-plugin-jsdoc@npm:^50.3.1":
- version: 50.3.1
- resolution: "eslint-plugin-jsdoc@npm:50.3.1"
+ version: 50.4.0
+ resolution: "eslint-plugin-jsdoc@npm:50.4.0"
dependencies:
- "@es-joy/jsdoccomment": "npm:~0.48.0"
+ "@es-joy/jsdoccomment": "npm:~0.49.0"
are-docs-informative: "npm:^0.0.2"
comment-parser: "npm:1.4.1"
debug: "npm:^4.3.6"
@@ -3904,7 +3935,7 @@ __metadata:
synckit: "npm:^0.9.1"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
- checksum: 10/b7c60a95fd7942eae1f8644aadbb6abcecc5ef6753c0fac96e7a52028a5a504da8493f768ce9dc1c14a99f8f38be4f6c6d810db935092318f6443c6ff4c69157
+ checksum: 10/929a7da3bce3ea7a027d841fb04f590e1f95fa7d644af0721b176d588b64324d19059cc65d4ba07be2ac891f1c5af23ec8aefa69e1c999aaba39945b50249d90
languageName: node
linkType: hard
@@ -4361,13 +4392,13 @@ __metadata:
linkType: hard
"form-data@npm:^4.0.0":
- version: 4.0.0
- resolution: "form-data@npm:4.0.0"
+ version: 4.0.1
+ resolution: "form-data@npm:4.0.1"
dependencies:
asynckit: "npm:^0.4.0"
combined-stream: "npm:^1.0.8"
mime-types: "npm:^2.1.12"
- checksum: 10/7264aa760a8cf09482816d8300f1b6e2423de1b02bba612a136857413fdc96d7178298ced106817655facc6b89036c6e12ae31c9eb5bdc16aabf502ae8a5d805
+ checksum: 10/6adb1cff557328bc6eb8a68da205f9ae44ab0e88d4d9237aaf91eed591ffc64f77411efb9016af7d87f23d0a038c45a788aa1c6634e51175c4efa36c2bc53774
languageName: node
linkType: hard
@@ -4448,16 +4479,9 @@ __metadata:
linkType: hard
"get-east-asian-width@npm:^1.0.0":
- version: 1.2.0
- resolution: "get-east-asian-width@npm:1.2.0"
- checksum: 10/c9b280e7c7c67fb89fa17e867c4a9d1c9f1321aba2a9ee27bff37fb6ca9552bccda328c70a80c1f83a0e39ba1b7e3427e60f47823402d19e7a41b83417ec047a
- languageName: node
- linkType: hard
-
-"get-func-name@npm:^2.0.1":
- version: 2.0.2
- resolution: "get-func-name@npm:2.0.2"
- checksum: 10/3f62f4c23647de9d46e6f76d2b3eafe58933a9b3830c60669e4180d6c601ce1b4aa310ba8366143f55e52b139f992087a9f0647274e8745621fa2af7e0acf13b
+ version: 1.3.0
+ resolution: "get-east-asian-width@npm:1.3.0"
+ checksum: 10/8e8e779eb28701db7fdb1c8cab879e39e6ae23f52dadd89c8aed05869671cee611a65d4f8557b83e981428623247d8bc5d0c7a4ef3ea7a41d826e73600112ad8
languageName: node
linkType: hard
@@ -5220,6 +5244,15 @@ __metadata:
languageName: node
linkType: hard
+"jsesc@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "jsesc@npm:3.0.2"
+ bin:
+ jsesc: bin/jsesc
+ checksum: 10/8e5a7de6b70a8bd71f9cb0b5a7ade6a73ae6ab55e697c74cc997cede97417a3a65ed86c36f7dd6125fe49766e8386c845023d9e213916ca92c9dfdd56e2babf3
+ languageName: node
+ linkType: hard
+
"json-buffer@npm:3.0.1":
version: 3.0.1
resolution: "json-buffer@npm:3.0.1"
@@ -5347,8 +5380,8 @@ __metadata:
linkType: hard
"listr2@npm:~8.2.4":
- version: 8.2.4
- resolution: "listr2@npm:8.2.4"
+ version: 8.2.5
+ resolution: "listr2@npm:8.2.5"
dependencies:
cli-truncate: "npm:^4.0.0"
colorette: "npm:^2.0.20"
@@ -5356,7 +5389,7 @@ __metadata:
log-update: "npm:^6.1.0"
rfdc: "npm:^1.4.1"
wrap-ansi: "npm:^9.0.0"
- checksum: 10/344d2397e127bf802935925e95b54468eef745fbbaf9326eb33a1634ae2d6e86cdb527ef48cb83a19a50671955d39b3e2608c74db85530df07b5674f5de115e1
+ checksum: 10/c76542f18306195e464fe10203ee679a7beafa9bf0dc679ebacb416387cca8f5307c1d8ba35483d26ba611dc2fac5a1529733dce28f2660556082fb7eebb79f9
languageName: node
linkType: hard
@@ -5397,11 +5430,9 @@ __metadata:
linkType: hard
"loupe@npm:^3.1.0, loupe@npm:^3.1.1":
- version: 3.1.1
- resolution: "loupe@npm:3.1.1"
- dependencies:
- get-func-name: "npm:^2.0.1"
- checksum: 10/56d71d64c5af109aaf2b5343668ea5952eed468ed2ff837373810e417bf8331f14491c6e4d38e08ff84a29cb18906e06e58ba660c53bd00f2989e1873fa2f54c
+ version: 3.1.2
+ resolution: "loupe@npm:3.1.2"
+ checksum: 10/8f5734e53fb64cd914aa7d986e01b6d4c2e3c6c56dcbd5428d71c2703f0ab46b5ab9f9eeaaf2b485e8a1c43f865bdd16ec08ae1a661c8f55acdbd9f4d59c607a
languageName: node
linkType: hard
@@ -5452,11 +5483,11 @@ __metadata:
linkType: hard
"magic-string@npm:^0.30.11":
- version: 0.30.11
- resolution: "magic-string@npm:0.30.11"
+ version: 0.30.12
+ resolution: "magic-string@npm:0.30.12"
dependencies:
"@jridgewell/sourcemap-codec": "npm:^1.5.0"
- checksum: 10/b784d2240252f5b1e755d487354ada4c672cbca16f045144f7185a75b059210e5fcca7be7be03ef1bac2ca754c4428b21d36ae64a9057ba429916f06b8c54eb2
+ checksum: 10/98016180a52b28efc1362152b45671067facccdaead6b70c1c14c566cba98491bc2e1336474b0996397730dca24400e85649da84d3da62b2560ed03c067573e6
languageName: node
linkType: hard
@@ -6003,9 +6034,9 @@ __metadata:
linkType: hard
"nwsapi@npm:^2.2.12":
- version: 2.2.12
- resolution: "nwsapi@npm:2.2.12"
- checksum: 10/172119e9ef492467ebfb337f9b5fd12a94d2b519377cde3f6ec2f74a86f6d5c00ef3873539bed7142f908ffca4e35383179be2319d04a563071d146bfa3f1673
+ version: 2.2.13
+ resolution: "nwsapi@npm:2.2.13"
+ checksum: 10/f7f30a236f2ee513ea8042f1a987481dc2b900167c47f7163882f0fcfe7ccb57b5c8daaf2c91008dc20a204fcd79e050aee25001433ad99990bbed5a8c74121c
languageName: node
linkType: hard
@@ -6103,9 +6134,9 @@ __metadata:
linkType: hard
"package-json-from-dist@npm:^1.0.0":
- version: 1.0.0
- resolution: "package-json-from-dist@npm:1.0.0"
- checksum: 10/ac706ec856a5a03f5261e4e48fa974f24feb044d51f84f8332e2af0af04fbdbdd5bbbfb9cbbe354190409bc8307c83a9e38c6672c3c8855f709afb0006a009ea
+ version: 1.0.1
+ resolution: "package-json-from-dist@npm:1.0.1"
+ checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602
languageName: node
linkType: hard
@@ -6157,12 +6188,12 @@ __metadata:
linkType: hard
"parse5-htmlparser2-tree-adapter@npm:^7.0.0":
- version: 7.0.0
- resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0"
+ version: 7.1.0
+ resolution: "parse5-htmlparser2-tree-adapter@npm:7.1.0"
dependencies:
- domhandler: "npm:^5.0.2"
+ domhandler: "npm:^5.0.3"
parse5: "npm:^7.0.0"
- checksum: 10/23dbe45fdd338fe726cf5c55b236e1f403aeb0c1b926e18ab8ef0aa580980a25f8492d160fe2ed0ec906c3c8e38b51e68ef5620a3b9460d9458ea78946a3f7c0
+ checksum: 10/75910af9137451e9c53e1e0d712f7393f484e89e592b1809ee62ad6cedd61b98daeaa5206ff5d9f06778002c91fac311afedde4880e1916fdb44fa71199dae73
languageName: node
linkType: hard
@@ -6190,11 +6221,11 @@ __metadata:
linkType: hard
"parse5@npm:^7.0.0, parse5@npm:^7.1.2":
- version: 7.1.2
- resolution: "parse5@npm:7.1.2"
+ version: 7.2.0
+ resolution: "parse5@npm:7.2.0"
dependencies:
- entities: "npm:^4.4.0"
- checksum: 10/3c86806bb0fb1e9a999ff3a4c883b1ca243d99f45a619a0898dbf021a95a0189ed955c31b07fe49d342b54e814f33f2c9d7489198e8630dacd5477d413ec5782
+ entities: "npm:^4.5.0"
+ checksum: 10/49dabfe848f00e8cad8d9198a094d667fbdecbfa5143ddf8fb708e499b5ba76426c16135c8993b1d8e01827b92e8cfab0a9a248afa6ad7cc6f38aecf5bd017e6
languageName: node
linkType: hard
@@ -6274,7 +6305,7 @@ __metadata:
languageName: node
linkType: hard
-"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0":
+"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0":
version: 1.1.0
resolution: "picocolors@npm:1.1.0"
checksum: 10/a2ad60d94d185c30f2a140b19c512547713fb89b920d32cc6cf658fa786d63a37ba7b8451872c3d9fc34883971fb6e5878e07a20b60506e0bb2554dce9169ccb
@@ -6629,8 +6660,8 @@ __metadata:
linkType: hard
"rollup@npm:^2.79.1":
- version: 2.79.1
- resolution: "rollup@npm:2.79.1"
+ version: 2.79.2
+ resolution: "rollup@npm:2.79.2"
dependencies:
fsevents: "npm:~2.3.2"
dependenciesMeta:
@@ -6638,31 +6669,31 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 10/df087b701304432f30922bbee5f534ab189aa6938bd383b5686c03147e0d00cd1789ea10a462361326ce6b6ebe448ce272ad3f3cc40b82eeb3157df12f33663c
+ checksum: 10/095ba0a82811b1866a76d826987743278db0a87c45092656986bfff490326b66187d5f9ff0c24cf8d5682bc470aa00c36654e0044d6b6335ac0c1201b8280880
languageName: node
linkType: hard
"rollup@npm:^4.20.0":
- version: 4.22.4
- resolution: "rollup@npm:4.22.4"
- dependencies:
- "@rollup/rollup-android-arm-eabi": "npm:4.22.4"
- "@rollup/rollup-android-arm64": "npm:4.22.4"
- "@rollup/rollup-darwin-arm64": "npm:4.22.4"
- "@rollup/rollup-darwin-x64": "npm:4.22.4"
- "@rollup/rollup-linux-arm-gnueabihf": "npm:4.22.4"
- "@rollup/rollup-linux-arm-musleabihf": "npm:4.22.4"
- "@rollup/rollup-linux-arm64-gnu": "npm:4.22.4"
- "@rollup/rollup-linux-arm64-musl": "npm:4.22.4"
- "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.22.4"
- "@rollup/rollup-linux-riscv64-gnu": "npm:4.22.4"
- "@rollup/rollup-linux-s390x-gnu": "npm:4.22.4"
- "@rollup/rollup-linux-x64-gnu": "npm:4.22.4"
- "@rollup/rollup-linux-x64-musl": "npm:4.22.4"
- "@rollup/rollup-win32-arm64-msvc": "npm:4.22.4"
- "@rollup/rollup-win32-ia32-msvc": "npm:4.22.4"
- "@rollup/rollup-win32-x64-msvc": "npm:4.22.4"
- "@types/estree": "npm:1.0.5"
+ version: 4.24.0
+ resolution: "rollup@npm:4.24.0"
+ dependencies:
+ "@rollup/rollup-android-arm-eabi": "npm:4.24.0"
+ "@rollup/rollup-android-arm64": "npm:4.24.0"
+ "@rollup/rollup-darwin-arm64": "npm:4.24.0"
+ "@rollup/rollup-darwin-x64": "npm:4.24.0"
+ "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.0"
+ "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.0"
+ "@rollup/rollup-linux-arm64-gnu": "npm:4.24.0"
+ "@rollup/rollup-linux-arm64-musl": "npm:4.24.0"
+ "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.0"
+ "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.0"
+ "@rollup/rollup-linux-s390x-gnu": "npm:4.24.0"
+ "@rollup/rollup-linux-x64-gnu": "npm:4.24.0"
+ "@rollup/rollup-linux-x64-musl": "npm:4.24.0"
+ "@rollup/rollup-win32-arm64-msvc": "npm:4.24.0"
+ "@rollup/rollup-win32-ia32-msvc": "npm:4.24.0"
+ "@rollup/rollup-win32-x64-msvc": "npm:4.24.0"
+ "@types/estree": "npm:1.0.6"
fsevents: "npm:~2.3.2"
dependenciesMeta:
"@rollup/rollup-android-arm-eabi":
@@ -6701,7 +6732,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 10/0fbee8c14d9052624c76a09fe79ed4d46024832be3ceea86c69f1521ae84b581a64c6e6596fdd796030c206835987e1a0a3be85f4c0d35b71400be5dce799d12
+ checksum: 10/291dce8f180628a73d6749119a3e50aa917c416075302bc6f6ac655affc7f0ce9d7f025bef7318d424d0c5623dcb83e360f9ea0125273b6a2285c232172800cc
languageName: node
linkType: hard
@@ -7369,8 +7400,8 @@ __metadata:
linkType: hard
"tsconfck@npm:^3.0.3":
- version: 3.1.3
- resolution: "tsconfck@npm:3.1.3"
+ version: 3.1.4
+ resolution: "tsconfck@npm:3.1.4"
peerDependencies:
typescript: ^5.0.0
peerDependenciesMeta:
@@ -7378,7 +7409,7 @@ __metadata:
optional: true
bin:
tsconfck: bin/tsconfck.js
- checksum: 10/bf9b9b72de5b83f833f5dea8b276e77bab08e85751589f36dd23854fa3d5f7955194086fb8424df388bf232f2fc9a067d7913bfa674cb1217be0bba648ec71f2
+ checksum: 10/4fb02e75ff374a82052b4800970bebe4466b5a6e7193d74e7b875cc8225acb5037fb4e7dcd4a5cd751c22129360cb13b4d5536897eae131d69c1a20fb18a99b4
languageName: node
linkType: hard
@@ -7406,8 +7437,8 @@ __metadata:
linkType: hard
"typedoc@npm:^0.26.8":
- version: 0.26.8
- resolution: "typedoc@npm:0.26.8"
+ version: 0.26.9
+ resolution: "typedoc@npm:0.26.9"
dependencies:
lunr: "npm:^2.3.9"
markdown-it: "npm:^14.1.0"
@@ -7418,7 +7449,7 @@ __metadata:
typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x
bin:
typedoc: bin/typedoc
- checksum: 10/a903e77fdbc45f8fa99c6454f31d36304b9edcd4f04a787bed25f0300ce779ffebfd9dc8525678484799bc2d0990bc40522a222f962a4f65a079e68950d13670
+ checksum: 10/6cc86b3a889374f0f3e17c568bdc04a845531da7af761f644ba214953284cb9620d012111f360678a687110c730abcb473b936b74893aa0e24277fce6c22de0f
languageName: node
linkType: hard
@@ -7498,9 +7529,9 @@ __metadata:
linkType: hard
"undici@npm:^6.19.5":
- version: 6.19.8
- resolution: "undici@npm:6.19.8"
- checksum: 10/19ae4ba38b029a664d99fd330935ef59136cf99edb04ed821042f27b5a9e84777265fb744c8a7abc83f2059afb019446c69a4ebef07bbc0ed6b2de8d67ef4090
+ version: 6.20.1
+ resolution: "undici@npm:6.20.1"
+ checksum: 10/68604b53754a95ec89d52efc08fe3e70e333997300c9a5b69f2b6496f1f0f568b2e35adec6442985a7b1d2f7a5648ef5062d1736e4d68082d473cb82177674bc
languageName: node
linkType: hard
@@ -7592,16 +7623,16 @@ __metadata:
linkType: hard
"update-browserslist-db@npm:^1.1.0":
- version: 1.1.0
- resolution: "update-browserslist-db@npm:1.1.0"
+ version: 1.1.1
+ resolution: "update-browserslist-db@npm:1.1.1"
dependencies:
- escalade: "npm:^3.1.2"
- picocolors: "npm:^1.0.1"
+ escalade: "npm:^3.2.0"
+ picocolors: "npm:^1.1.0"
peerDependencies:
browserslist: ">= 4.21.0"
bin:
update-browserslist-db: cli.js
- checksum: 10/d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c
+ checksum: 10/7678dd8609750588d01aa7460e8eddf2ff9d16c2a52fb1811190e0d056390f1fdffd94db3cf8fb209cf634ab4fa9407886338711c71cc6ccade5eeb22b093734
languageName: node
linkType: hard
@@ -7684,9 +7715,9 @@ __metadata:
languageName: node
linkType: hard
-"vite-node@npm:2.1.2":
- version: 2.1.2
- resolution: "vite-node@npm:2.1.2"
+"vite-node@npm:2.1.3":
+ version: 2.1.3
+ resolution: "vite-node@npm:2.1.3"
dependencies:
cac: "npm:^6.7.14"
debug: "npm:^4.3.6"
@@ -7694,7 +7725,7 @@ __metadata:
vite: "npm:^5.0.0"
bin:
vite-node: vite-node.mjs
- checksum: 10/582843800ee968e7edf2cf6e6f1573634122cba74e47ef531a373337f6084c4a394c3c1c2abb210c178c8671200530412c09f5cc2f02a4519f0045a03c3eed02
+ checksum: 10/8ba6b145cbb02a492c7bb1f0490d02383000462f234ed61d24f650547163825c16f14e6908ee1eb661403bd0a7a3fb3cdbedf116cc015b1e5cdf7bb992872a01
languageName: node
linkType: hard
@@ -7781,8 +7812,8 @@ __metadata:
linkType: hard
"vite@npm:^5.0.0, vite@npm:^5.3.5":
- version: 5.4.8
- resolution: "vite@npm:5.4.8"
+ version: 5.4.9
+ resolution: "vite@npm:5.4.9"
dependencies:
esbuild: "npm:^0.21.3"
fsevents: "npm:~2.3.3"
@@ -7819,21 +7850,21 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
- checksum: 10/17fdffa558abaf854f04ead7d3ddd76e4556a59871f9ac63cca3fc20a79979984837d8dddaae4b171e3d73061f781e4eec0f6d3babdbce2b4d111d29cf474c1c
+ checksum: 10/60dfb3912ba6367d2d128e798d899caae3f4ec58990657b9f679c4d9de21ddec7eba5f6ad3d4fa0e8ea31771d477521b8e757a622ecc54829d73cb7f7c146bc4
languageName: node
linkType: hard
"vitest@npm:^2.1.2":
- version: 2.1.2
- resolution: "vitest@npm:2.1.2"
- dependencies:
- "@vitest/expect": "npm:2.1.2"
- "@vitest/mocker": "npm:2.1.2"
- "@vitest/pretty-format": "npm:^2.1.2"
- "@vitest/runner": "npm:2.1.2"
- "@vitest/snapshot": "npm:2.1.2"
- "@vitest/spy": "npm:2.1.2"
- "@vitest/utils": "npm:2.1.2"
+ version: 2.1.3
+ resolution: "vitest@npm:2.1.3"
+ dependencies:
+ "@vitest/expect": "npm:2.1.3"
+ "@vitest/mocker": "npm:2.1.3"
+ "@vitest/pretty-format": "npm:^2.1.3"
+ "@vitest/runner": "npm:2.1.3"
+ "@vitest/snapshot": "npm:2.1.3"
+ "@vitest/spy": "npm:2.1.3"
+ "@vitest/utils": "npm:2.1.3"
chai: "npm:^5.1.1"
debug: "npm:^4.3.6"
magic-string: "npm:^0.30.11"
@@ -7844,13 +7875,13 @@ __metadata:
tinypool: "npm:^1.0.0"
tinyrainbow: "npm:^1.2.0"
vite: "npm:^5.0.0"
- vite-node: "npm:2.1.2"
+ vite-node: "npm:2.1.3"
why-is-node-running: "npm:^2.3.0"
peerDependencies:
"@edge-runtime/vm": "*"
"@types/node": ^18.0.0 || >=20.0.0
- "@vitest/browser": 2.1.2
- "@vitest/ui": 2.1.2
+ "@vitest/browser": 2.1.3
+ "@vitest/ui": 2.1.3
happy-dom: "*"
jsdom: "*"
peerDependenciesMeta:
@@ -7868,7 +7899,7 @@ __metadata:
optional: true
bin:
vitest: vitest.mjs
- checksum: 10/3a331a10499f5ed678530594903869e37a0de548598bcf540db9a6e015bb7a38f36c3585376b3aeeb53fee6b20d75b93081f32b1ea09fd8c2098aa541af28491
+ checksum: 10/f6079a88583045b551e6526c08774aeac4a9cf85b132793a03f9470c013326abd7fce3985e3c2217dc0dac2fadeee3506e3dc51e215f10862b2fe9da9289af0f
languageName: node
linkType: hard
@@ -8140,7 +8171,16 @@ __metadata:
languageName: node
linkType: hard
-"yaml@npm:^2.5.1, yaml@npm:~2.5.0":
+"yaml@npm:^2.5.1":
+ version: 2.6.0
+ resolution: "yaml@npm:2.6.0"
+ bin:
+ yaml: bin.mjs
+ checksum: 10/f4369f667c7626c216ea81b5840fe9b530cdae4cff2d84d166ec1239e54bf332dbfac4a71bf60d121f8e85e175364a4e280a520292269b6cf9d074368309adf9
+ languageName: node
+ linkType: hard
+
+"yaml@npm:~2.5.0":
version: 2.5.1
resolution: "yaml@npm:2.5.1"
bin: