diff --git a/packages/kernel-agents/package.json b/packages/kernel-agents/package.json index 0b7d4bc9a..a32e72e77 100644 --- a/packages/kernel-agents/package.json +++ b/packages/kernel-agents/package.json @@ -184,6 +184,7 @@ "dependencies": { "@endo/eventual-send": "^1.3.4", "@metamask/kernel-errors": "workspace:^", + "@metamask/kernel-exo": "workspace:^", "@metamask/kernel-utils": "workspace:^", "@metamask/logger": "workspace:^", "@ocap/kernel-language-model-service": "workspace:^", diff --git a/packages/kernel-agents/src/capabilities/discover.ts b/packages/kernel-agents/src/capabilities/discover.ts index a8e71e703..f3077f81c 100644 --- a/packages/kernel-agents/src/capabilities/discover.ts +++ b/packages/kernel-agents/src/capabilities/discover.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import type { DiscoverableExo, MethodSchema } from '@metamask/kernel-utils'; +import type { DiscoverableExo, MethodSchema } from '@metamask/kernel-exo'; import type { CapabilityRecord, CapabilitySpec } from '../types.ts'; diff --git a/packages/kernel-agents/src/types/capability.ts b/packages/kernel-agents/src/types/capability.ts index 9d6dbc928..645e1a7f3 100644 --- a/packages/kernel-agents/src/types/capability.ts +++ b/packages/kernel-agents/src/types/capability.ts @@ -1,4 +1,4 @@ -import type { JsonSchema } from '@metamask/kernel-utils'; +import type { JsonSchema } from '@metamask/kernel-exo'; export type Capability, Return = null> = ( args: Args, diff --git a/packages/kernel-agents/tsconfig.build.json b/packages/kernel-agents/tsconfig.build.json index 14b63bcd1..a022a6c0e 100644 --- a/packages/kernel-agents/tsconfig.build.json +++ b/packages/kernel-agents/tsconfig.build.json @@ -8,6 +8,7 @@ "types": ["node"] }, "references": [ + { "path": "../kernel-exo/tsconfig.build.json" }, { "path": "../kernel-language-model-service/tsconfig.build.json" }, { "path": "../kernel-utils/tsconfig.build.json" }, { "path": "../logger/tsconfig.build.json" } diff --git a/packages/kernel-agents/tsconfig.json b/packages/kernel-agents/tsconfig.json index f0958ab59..418121789 100644 --- a/packages/kernel-agents/tsconfig.json +++ b/packages/kernel-agents/tsconfig.json @@ -6,6 +6,7 @@ "types": ["vitest", "node", "ses"] }, "references": [ + { "path": "../kernel-exo" }, { "path": "../kernel-language-model-service" }, { "path": "../kernel-utils" }, { "path": "../logger" }, diff --git a/packages/kernel-exo/package.json b/packages/kernel-exo/package.json new file mode 100644 index 000000000..8a2714aff --- /dev/null +++ b/packages/kernel-exo/package.json @@ -0,0 +1,89 @@ +{ + "name": "@metamask/kernel-exo", + "version": "0.0.0", + "private": true, + "description": "Exo creation utilities for the Ocap Kernel", + "homepage": "https://github.com/MetaMask/ocap-kernel/tree/main/packages/kernel-exo#readme", + "bugs": { + "url": "https://github.com/MetaMask/ocap-kernel/issues" + }, + "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 --no-references --clean", + "build:docs": "typedoc", + "changelog:validate": "../../scripts/validate-changelog.sh @metamask/kernel-exo", + "clean": "rimraf --glob './*.tsbuildinfo' ./.eslintcache ./coverage ./dist ./.turbo ./logs", + "lint": "yarn lint:eslint && yarn lint:misc --check && yarn constraints && yarn lint:dependencies", + "lint:dependencies": "depcheck --quiet", + "lint:eslint": "eslint . --cache", + "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies", + "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.html' '!**/CHANGELOG.old.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path ../../.gitignore --log-level error", + "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 --mode development", + "test:verbose": "yarn test --reporter verbose", + "test:watch": "vitest --config vitest.config.ts", + "test:dev:quiet": "yarn test:dev --reporter @ocap/repo-tools/vitest-reporters/silent" + }, + "dependencies": { + "@endo/exo": "^1.5.12", + "@endo/patterns": "^1.7.0", + "@metamask/kernel-utils": "workspace:^" + }, + "devDependencies": { + "@arethetypeswrong/cli": "^0.17.4", + "@metamask/auto-changelog": "^5.3.0", + "@metamask/eslint-config": "^15.0.0", + "@metamask/eslint-config-nodejs": "^15.0.0", + "@metamask/eslint-config-typescript": "^15.0.0", + "@ocap/repo-tools": "workspace:^", + "@ts-bridge/cli": "^0.6.3", + "@ts-bridge/shims": "^0.1.1", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", + "@typescript-eslint/utils": "^8.29.0", + "@vitest/eslint-plugin": "^1.6.5", + "depcheck": "^1.4.7", + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-import-resolver-typescript": "^4.3.1", + "eslint-plugin-import-x": "^4.10.0", + "eslint-plugin-jsdoc": "^50.6.9", + "eslint-plugin-n": "^17.17.0", + "eslint-plugin-prettier": "^5.2.6", + "eslint-plugin-promise": "^7.2.1", + "prettier": "^3.5.3", + "rimraf": "^6.0.1", + "ses": "^1.14.0", + "turbo": "^2.5.6", + "typedoc": "^0.28.1", + "typescript": "~5.8.2", + "typescript-eslint": "^8.29.0", + "vite": "^7.3.0", + "vitest": "^4.0.16" + }, + "engines": { + "node": ">=22" + } +} diff --git a/packages/kernel-utils/src/discoverable.test.ts b/packages/kernel-exo/src/discoverable.test.ts similarity index 100% rename from packages/kernel-utils/src/discoverable.test.ts rename to packages/kernel-exo/src/discoverable.test.ts diff --git a/packages/kernel-utils/src/discoverable.ts b/packages/kernel-exo/src/discoverable.ts similarity index 97% rename from packages/kernel-utils/src/discoverable.ts rename to packages/kernel-exo/src/discoverable.ts index 65a1c07f2..72af57b0b 100644 --- a/packages/kernel-utils/src/discoverable.ts +++ b/packages/kernel-exo/src/discoverable.ts @@ -1,9 +1,9 @@ import { makeExo } from '@endo/exo'; import type { Methods } from '@endo/exo'; import type { InterfaceGuard } from '@endo/patterns'; +import { mergeDisjointRecords } from '@metamask/kernel-utils'; import { makeDefaultInterface } from './exo.ts'; -import { mergeDisjointRecords } from './merge-disjoint-records.ts'; import type { MethodSchema } from './schema.ts'; /** diff --git a/packages/kernel-utils/src/exo.test.ts b/packages/kernel-exo/src/exo.test.ts similarity index 100% rename from packages/kernel-utils/src/exo.test.ts rename to packages/kernel-exo/src/exo.test.ts diff --git a/packages/kernel-utils/src/exo.ts b/packages/kernel-exo/src/exo.ts similarity index 100% rename from packages/kernel-utils/src/exo.ts rename to packages/kernel-exo/src/exo.ts diff --git a/packages/kernel-exo/src/index.ts b/packages/kernel-exo/src/index.ts new file mode 100644 index 000000000..fed1cd518 --- /dev/null +++ b/packages/kernel-exo/src/index.ts @@ -0,0 +1,4 @@ +export { makeDefaultInterface, makeDefaultExo } from './exo.ts'; +export { makeDiscoverableExo } from './discoverable.ts'; +export type { DiscoverableExo } from './discoverable.ts'; +export type { JsonSchema, MethodSchema } from './schema.ts'; diff --git a/packages/kernel-utils/src/schema.ts b/packages/kernel-exo/src/schema.ts similarity index 100% rename from packages/kernel-utils/src/schema.ts rename to packages/kernel-exo/src/schema.ts diff --git a/packages/kernel-exo/tsconfig.build.json b/packages/kernel-exo/tsconfig.build.json new file mode 100644 index 000000000..85fa65ecb --- /dev/null +++ b/packages/kernel-exo/tsconfig.build.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.packages.build.json", + "compilerOptions": { + "baseUrl": "./", + "lib": ["ES2022"], + "outDir": "./dist", + "rootDir": "./src", + "types": ["ses"] + }, + "references": [{ "path": "../kernel-utils/tsconfig.build.json" }], + "files": [], + "include": ["./src"] +} diff --git a/packages/kernel-exo/tsconfig.json b/packages/kernel-exo/tsconfig.json new file mode 100644 index 000000000..bdff168bd --- /dev/null +++ b/packages/kernel-exo/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.packages.json", + "compilerOptions": { + "baseUrl": "./", + "lib": ["ES2022"], + "types": ["ses", "vitest"] + }, + "references": [{ "path": "../kernel-utils" }, { "path": "../repo-tools" }], + "include": [ + "../../vitest.config.ts", + "./src", + "./vite.config.ts", + "./vitest.config.ts" + ] +} diff --git a/packages/kernel-exo/vitest.config.ts b/packages/kernel-exo/vitest.config.ts new file mode 100644 index 000000000..968805a3c --- /dev/null +++ b/packages/kernel-exo/vitest.config.ts @@ -0,0 +1,22 @@ +import { mergeConfig } from '@ocap/repo-tools/vitest-config'; +import { fileURLToPath } from 'node:url'; +import { defineConfig, defineProject } from 'vitest/config'; + +import defaultConfig from '../../vitest.config.ts'; + +export default defineConfig((args) => { + return mergeConfig( + args, + defaultConfig, + defineProject({ + test: { + name: 'kernel-exo', + setupFiles: [ + fileURLToPath( + import.meta.resolve('@ocap/repo-tools/test-utils/mock-endoify'), + ), + ], + }, + }), + ); +}); diff --git a/packages/kernel-test/package.json b/packages/kernel-test/package.json index 2cb1cdea7..ba98eeb00 100644 --- a/packages/kernel-test/package.json +++ b/packages/kernel-test/package.json @@ -54,6 +54,7 @@ "@endo/promise-kit": "^1.1.13", "@libp2p/crypto": "5.1.8", "@libp2p/peer-id": "5.1.9", + "@metamask/kernel-exo": "workspace:^", "@metamask/kernel-store": "workspace:^", "@metamask/kernel-utils": "workspace:^", "@metamask/logger": "workspace:^", diff --git a/packages/kernel-test/src/service.test.ts b/packages/kernel-test/src/service.test.ts index 5275daf06..63027d858 100644 --- a/packages/kernel-test/src/service.test.ts +++ b/packages/kernel-test/src/service.test.ts @@ -1,5 +1,6 @@ +import { makeDefaultExo } from '@metamask/kernel-exo'; import { makeSQLKernelDatabase } from '@metamask/kernel-store/sqlite/nodejs'; -import { makeDefaultExo, waitUntilQuiescent } from '@metamask/kernel-utils'; +import { waitUntilQuiescent } from '@metamask/kernel-utils'; import { Kernel, krefOf } from '@metamask/ocap-kernel'; import type { KRef, SlotValue } from '@metamask/ocap-kernel'; import { describe, expect, it } from 'vitest'; diff --git a/packages/kernel-test/src/vats/async-generator-iterator-vat.ts b/packages/kernel-test/src/vats/async-generator-iterator-vat.ts index 442d7c366..429af0588 100644 --- a/packages/kernel-test/src/vats/async-generator-iterator-vat.ts +++ b/packages/kernel-test/src/vats/async-generator-iterator-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { makeEventualIterator, makeExoGenerator } from '@ocap/remote-iterables'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/default/empty-vat.js b/packages/kernel-test/src/vats/default/empty-vat.js index 023d344bd..5e89d711b 100644 --- a/packages/kernel-test/src/vats/default/empty-vat.js +++ b/packages/kernel-test/src/vats/default/empty-vat.js @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for simple test vat. diff --git a/packages/kernel-test/src/vats/default/sample-vat.js b/packages/kernel-test/src/vats/default/sample-vat.js index 176516ee3..12a3c17e0 100644 --- a/packages/kernel-test/src/vats/default/sample-vat.js +++ b/packages/kernel-test/src/vats/default/sample-vat.js @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for generic test vat. diff --git a/packages/kernel-test/src/vats/discoverable-capability-vat.ts b/packages/kernel-test/src/vats/discoverable-capability-vat.ts index e36bd3c22..d8945b3ad 100644 --- a/packages/kernel-test/src/vats/discoverable-capability-vat.ts +++ b/packages/kernel-test/src/vats/discoverable-capability-vat.ts @@ -1,5 +1,5 @@ -import { makeDiscoverableExo } from '@metamask/kernel-utils/discoverable'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDiscoverableExo } from '@metamask/kernel-exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for a vat that exports a discoverable exo capability. diff --git a/packages/kernel-test/src/vats/endowment-fetch.ts b/packages/kernel-test/src/vats/endowment-fetch.ts index 2eb8dcf53..e679c3255 100644 --- a/packages/kernel-test/src/vats/endowment-fetch.ts +++ b/packages/kernel-test/src/vats/endowment-fetch.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/error-bootstrap-throw.ts b/packages/kernel-test/src/vats/error-bootstrap-throw.ts index 86737ead7..d0a617565 100644 --- a/packages/kernel-test/src/vats/error-bootstrap-throw.ts +++ b/packages/kernel-test/src/vats/error-bootstrap-throw.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; // eslint-disable-next-line no-console console.log('bootstrap throw'); diff --git a/packages/kernel-test/src/vats/error-bootstrap-uncaught-rejection.ts b/packages/kernel-test/src/vats/error-bootstrap-uncaught-rejection.ts index 0e71c9539..f044dc062 100644 --- a/packages/kernel-test/src/vats/error-bootstrap-uncaught-rejection.ts +++ b/packages/kernel-test/src/vats/error-bootstrap-uncaught-rejection.ts @@ -1,5 +1,5 @@ import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; // eslint-disable-next-line no-console console.log('bootstrap uncaught rejection'); diff --git a/packages/kernel-test/src/vats/error-build-uncaught-rejection.ts b/packages/kernel-test/src/vats/error-build-uncaught-rejection.ts index 431921be2..4ec8e46a7 100644 --- a/packages/kernel-test/src/vats/error-build-uncaught-rejection.ts +++ b/packages/kernel-test/src/vats/error-build-uncaught-rejection.ts @@ -1,5 +1,5 @@ import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; // eslint-disable-next-line no-console console.log('build uncaught rejection'); diff --git a/packages/kernel-test/src/vats/error-global-uncaught-rejection.ts b/packages/kernel-test/src/vats/error-global-uncaught-rejection.ts index 2bf0df8ed..e5ffe4857 100644 --- a/packages/kernel-test/src/vats/error-global-uncaught-rejection.ts +++ b/packages/kernel-test/src/vats/error-global-uncaught-rejection.ts @@ -1,5 +1,5 @@ import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; // eslint-disable-next-line no-console console.log('global uncaught rejection'); diff --git a/packages/kernel-test/src/vats/exo-vat.ts b/packages/kernel-test/src/vats/exo-vat.ts index 680bdd558..b8d49baa8 100644 --- a/packages/kernel-test/src/vats/exo-vat.ts +++ b/packages/kernel-test/src/vats/exo-vat.ts @@ -1,7 +1,7 @@ import { makeScalarMapStore, makeScalarSetStore } from '@agoric/store'; import { makeExo, defineExoClass, defineExoClassKit } from '@endo/exo'; import { M } from '@endo/patterns'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/exporter-vat.ts b/packages/kernel-test/src/vats/exporter-vat.ts index 5c9dfc371..096aee85e 100644 --- a/packages/kernel-test/src/vats/exporter-vat.ts +++ b/packages/kernel-test/src/vats/exporter-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/importer-vat.ts b/packages/kernel-test/src/vats/importer-vat.ts index a5002b3cd..b8c02ce35 100644 --- a/packages/kernel-test/src/vats/importer-vat.ts +++ b/packages/kernel-test/src/vats/importer-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/io-vat.ts b/packages/kernel-test/src/vats/io-vat.ts index 04b582fde..9df0e1c4a 100644 --- a/packages/kernel-test/src/vats/io-vat.ts +++ b/packages/kernel-test/src/vats/io-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/lms-queue-vat.ts b/packages/kernel-test/src/vats/lms-queue-vat.ts index e7872f1a6..b77f0f131 100644 --- a/packages/kernel-test/src/vats/lms-queue-vat.ts +++ b/packages/kernel-test/src/vats/lms-queue-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { makeQueueService } from '@ocap/kernel-language-model-service/test-utils'; import { makeExoGenerator } from '@ocap/remote-iterables'; diff --git a/packages/kernel-test/src/vats/lms-user-vat.ts b/packages/kernel-test/src/vats/lms-user-vat.ts index 4a0c1b0e5..ace891463 100644 --- a/packages/kernel-test/src/vats/lms-user-vat.ts +++ b/packages/kernel-test/src/vats/lms-user-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { makeEventualIterator } from '@ocap/remote-iterables'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/logger-vat.ts b/packages/kernel-test/src/vats/logger-vat.ts index 0d18040ed..26617e8b8 100644 --- a/packages/kernel-test/src/vats/logger-vat.ts +++ b/packages/kernel-test/src/vats/logger-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/message-to-promise-vat.ts b/packages/kernel-test/src/vats/message-to-promise-vat.ts index d919c4b75..a5b1f9451 100644 --- a/packages/kernel-test/src/vats/message-to-promise-vat.ts +++ b/packages/kernel-test/src/vats/message-to-promise-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/monotonous-vat.ts b/packages/kernel-test/src/vats/monotonous-vat.ts index 1d80c09b2..41486634e 100644 --- a/packages/kernel-test/src/vats/monotonous-vat.ts +++ b/packages/kernel-test/src/vats/monotonous-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; /** diff --git a/packages/kernel-test/src/vats/pass-result-promise-vat.ts b/packages/kernel-test/src/vats/pass-result-promise-vat.ts index b4f05754e..2e67407ae 100644 --- a/packages/kernel-test/src/vats/pass-result-promise-vat.ts +++ b/packages/kernel-test/src/vats/pass-result-promise-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/pass-result-vat.ts b/packages/kernel-test/src/vats/pass-result-vat.ts index 0bfe1a34e..ebc7fac2d 100644 --- a/packages/kernel-test/src/vats/pass-result-vat.ts +++ b/packages/kernel-test/src/vats/pass-result-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/persistence-coordinator-vat.ts b/packages/kernel-test/src/vats/persistence-coordinator-vat.ts index 096ecb624..4721d0f39 100644 --- a/packages/kernel-test/src/vats/persistence-coordinator-vat.ts +++ b/packages/kernel-test/src/vats/persistence-coordinator-vat.ts @@ -1,6 +1,6 @@ /* global harden */ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/persistence-counter-vat.ts b/packages/kernel-test/src/vats/persistence-counter-vat.ts index 8daa099ad..6c2e983ea 100644 --- a/packages/kernel-test/src/vats/persistence-counter-vat.ts +++ b/packages/kernel-test/src/vats/persistence-counter-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/persistence-worker-vat.ts b/packages/kernel-test/src/vats/persistence-worker-vat.ts index 3c72ac588..e5b080ecd 100644 --- a/packages/kernel-test/src/vats/persistence-worker-vat.ts +++ b/packages/kernel-test/src/vats/persistence-worker-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/powers-vat.ts b/packages/kernel-test/src/vats/powers-vat.ts index 16bc305ac..e4ad32eb5 100644 --- a/packages/kernel-test/src/vats/powers-vat.ts +++ b/packages/kernel-test/src/vats/powers-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for running a test of the vatstore. diff --git a/packages/kernel-test/src/vats/promise-arg-vat.ts b/packages/kernel-test/src/vats/promise-arg-vat.ts index 0c6bf2f18..aa7aa2fa3 100644 --- a/packages/kernel-test/src/vats/promise-arg-vat.ts +++ b/packages/kernel-test/src/vats/promise-arg-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/promise-chain-vat.ts b/packages/kernel-test/src/vats/promise-chain-vat.ts index cf5515dd9..26fb3bbd2 100644 --- a/packages/kernel-test/src/vats/promise-chain-vat.ts +++ b/packages/kernel-test/src/vats/promise-chain-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/promise-crosswise-vat.ts b/packages/kernel-test/src/vats/promise-crosswise-vat.ts index c9ad2a49f..b547d751a 100644 --- a/packages/kernel-test/src/vats/promise-crosswise-vat.ts +++ b/packages/kernel-test/src/vats/promise-crosswise-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/promise-cycle-vat.ts b/packages/kernel-test/src/vats/promise-cycle-vat.ts index a5461b5d9..00af2e0ee 100644 --- a/packages/kernel-test/src/vats/promise-cycle-vat.ts +++ b/packages/kernel-test/src/vats/promise-cycle-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/promise-indirect-vat.ts b/packages/kernel-test/src/vats/promise-indirect-vat.ts index db511ceef..a0cd9b060 100644 --- a/packages/kernel-test/src/vats/promise-indirect-vat.ts +++ b/packages/kernel-test/src/vats/promise-indirect-vat.ts @@ -1,6 +1,6 @@ import { E } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/rejection-bootstrap.ts b/packages/kernel-test/src/vats/rejection-bootstrap.ts index f943560be..0e18039ad 100644 --- a/packages/kernel-test/src/vats/rejection-bootstrap.ts +++ b/packages/kernel-test/src/vats/rejection-bootstrap.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/rejection-rejector.ts b/packages/kernel-test/src/vats/rejection-rejector.ts index f07eac6dc..469756e10 100644 --- a/packages/kernel-test/src/vats/rejection-rejector.ts +++ b/packages/kernel-test/src/vats/rejection-rejector.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/remote-receiver-vat.ts b/packages/kernel-test/src/vats/remote-receiver-vat.ts index aab1a5991..29f1232db 100644 --- a/packages/kernel-test/src/vats/remote-receiver-vat.ts +++ b/packages/kernel-test/src/vats/remote-receiver-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/remote-sender-vat.ts b/packages/kernel-test/src/vats/remote-sender-vat.ts index 7e54ffde6..99bdf8b01 100644 --- a/packages/kernel-test/src/vats/remote-sender-vat.ts +++ b/packages/kernel-test/src/vats/remote-sender-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/resolve-pipelined-vat.ts b/packages/kernel-test/src/vats/resolve-pipelined-vat.ts index 3a9d11fe9..274290c8e 100644 --- a/packages/kernel-test/src/vats/resolve-pipelined-vat.ts +++ b/packages/kernel-test/src/vats/resolve-pipelined-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/resume-vat.ts b/packages/kernel-test/src/vats/resume-vat.ts index 070e9b123..942b4539e 100644 --- a/packages/kernel-test/src/vats/resume-vat.ts +++ b/packages/kernel-test/src/vats/resume-vat.ts @@ -1,6 +1,6 @@ /* global harden */ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; import { unwrapTestLogger } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/service-vat.ts b/packages/kernel-test/src/vats/service-vat.ts index 4e62581a5..5a79900f8 100644 --- a/packages/kernel-test/src/vats/service-vat.ts +++ b/packages/kernel-test/src/vats/service-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { unwrapTestLogger } from '../test-powers.ts'; import type { TestPowers } from '../test-powers.ts'; diff --git a/packages/kernel-test/src/vats/stepper-upper-vat.ts b/packages/kernel-test/src/vats/stepper-upper-vat.ts index 158108935..fa393d8d4 100644 --- a/packages/kernel-test/src/vats/stepper-upper-vat.ts +++ b/packages/kernel-test/src/vats/stepper-upper-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; /** diff --git a/packages/kernel-test/src/vats/subcluster-vat.ts b/packages/kernel-test/src/vats/subcluster-vat.ts index 894d922a5..b0bacfafe 100644 --- a/packages/kernel-test/src/vats/subcluster-vat.ts +++ b/packages/kernel-test/src/vats/subcluster-vat.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for testing subcluster functionality. diff --git a/packages/kernel-test/src/vats/vatstore-vat.ts b/packages/kernel-test/src/vats/vatstore-vat.ts index a77907f8d..edc3ac2dc 100644 --- a/packages/kernel-test/src/vats/vatstore-vat.ts +++ b/packages/kernel-test/src/vats/vatstore-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage } from '@metamask/ocap-kernel'; type BaggageWithDelete = Baggage & { diff --git a/packages/kernel-test/tsconfig.json b/packages/kernel-test/tsconfig.json index bc2bca875..b2ff34c69 100644 --- a/packages/kernel-test/tsconfig.json +++ b/packages/kernel-test/tsconfig.json @@ -8,6 +8,7 @@ "types": ["vitest"] }, "references": [ + { "path": "../kernel-exo" }, { "path": "../kernel-agents" }, { "path": "../kernel-store" }, { "path": "../kernel-utils" }, diff --git a/packages/kernel-utils/package.json b/packages/kernel-utils/package.json index aa637b250..eea1b3ebd 100644 --- a/packages/kernel-utils/package.json +++ b/packages/kernel-utils/package.json @@ -29,26 +29,6 @@ "default": "./dist/index.cjs" } }, - "./exo": { - "import": { - "types": "./dist/exo.d.mts", - "default": "./dist/exo.mjs" - }, - "require": { - "types": "./dist/exo.d.cts", - "default": "./dist/exo.cjs" - } - }, - "./discoverable": { - "import": { - "types": "./dist/discoverable.d.mts", - "default": "./dist/discoverable.mjs" - }, - "require": { - "types": "./dist/discoverable.d.cts", - "default": "./dist/discoverable.cjs" - } - }, "./libp2p": { "import": { "types": "./dist/libp2p-relay.d.mts", @@ -91,8 +71,6 @@ "@chainsafe/libp2p-yamux": "patch:@chainsafe/libp2p-yamux@npm%3A7.0.4#~/.yarn/patches/@chainsafe-libp2p-yamux-npm-7.0.4-284c2f6812.patch", "@endo/captp": "^4.4.8", "@endo/errors": "^1.2.13", - "@endo/exo": "^1.5.12", - "@endo/patterns": "^1.7.0", "@endo/promise-kit": "^1.1.13", "@libp2p/autonat": "2.0.38", "@libp2p/circuit-relay-v2": "3.2.24", diff --git a/packages/kernel-utils/src/index.test.ts b/packages/kernel-utils/src/index.test.ts index 7533cd072..0e05591e2 100644 --- a/packages/kernel-utils/src/index.test.ts +++ b/packages/kernel-utils/src/index.test.ts @@ -23,9 +23,6 @@ describe('index', () => { 'isTypedObject', 'isVatBundle', 'makeCounter', - 'makeDefaultExo', - 'makeDefaultInterface', - 'makeDiscoverableExo', 'mergeDisjointRecords', 'retry', 'retryWithBackoff', diff --git a/packages/kernel-utils/src/index.ts b/packages/kernel-utils/src/index.ts index 09d85af54..f8c320d97 100644 --- a/packages/kernel-utils/src/index.ts +++ b/packages/kernel-utils/src/index.ts @@ -1,7 +1,3 @@ -export { makeDefaultInterface, makeDefaultExo } from './exo.ts'; -export { makeDiscoverableExo } from './discoverable.ts'; -export type { DiscoverableExo } from './discoverable.ts'; -export type { JsonSchema, MethodSchema } from './schema.ts'; export { fetchValidatedJson } from './fetchValidatedJson.ts'; export { abortableDelay, delay, ifDefined, makeCounter } from './misc.ts'; export { stringify } from './stringify.ts'; diff --git a/packages/nodejs/package.json b/packages/nodejs/package.json index 5789d66e5..7cd121d04 100644 --- a/packages/nodejs/package.json +++ b/packages/nodejs/package.json @@ -65,6 +65,7 @@ "@libp2p/interface": "2.11.0", "@libp2p/tcp": "10.1.19", "@libp2p/webrtc": "5.2.24", + "@metamask/kernel-exo": "workspace:^", "@metamask/kernel-rpc-methods": "workspace:^", "@metamask/kernel-shims": "workspace:^", "@metamask/kernel-store": "workspace:^", diff --git a/packages/nodejs/test/vats/monotonous-vat.js b/packages/nodejs/test/vats/monotonous-vat.js index c1032cc86..a0440563d 100644 --- a/packages/nodejs/test/vats/monotonous-vat.js +++ b/packages/nodejs/test/vats/monotonous-vat.js @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Vat providing Monotony As A Service (MaaS). It just keeps relentlessly counting up. It's very boring. diff --git a/packages/nodejs/test/vats/remote-vat.js b/packages/nodejs/test/vats/remote-vat.js index 516407321..68c19bdb6 100644 --- a/packages/nodejs/test/vats/remote-vat.js +++ b/packages/nodejs/test/vats/remote-vat.js @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for a vat that supports remote communication testing. diff --git a/packages/nodejs/test/vats/sample-vat.js b/packages/nodejs/test/vats/sample-vat.js index f8beb15a0..95ef9ff14 100644 --- a/packages/nodejs/test/vats/sample-vat.js +++ b/packages/nodejs/test/vats/sample-vat.js @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for a sample vat. diff --git a/packages/nodejs/test/vats/stepper-upper-vat.js b/packages/nodejs/test/vats/stepper-upper-vat.js index 23308f74e..9556059d4 100644 --- a/packages/nodejs/test/vats/stepper-upper-vat.js +++ b/packages/nodejs/test/vats/stepper-upper-vat.js @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Build function for MaaS consumer. diff --git a/packages/nodejs/test/vats/system-vat.ts b/packages/nodejs/test/vats/system-vat.ts index 7c5ece156..d93fa8068 100644 --- a/packages/nodejs/test/vats/system-vat.ts +++ b/packages/nodejs/test/vats/system-vat.ts @@ -1,5 +1,5 @@ import { E } from '@endo/eventual-send'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Baggage, ClusterConfig, diff --git a/packages/nodejs/tsconfig.build.json b/packages/nodejs/tsconfig.build.json index e3ad4d2b0..aed86de28 100644 --- a/packages/nodejs/tsconfig.build.json +++ b/packages/nodejs/tsconfig.build.json @@ -8,6 +8,7 @@ "types": ["node", "ses"] }, "references": [ + { "path": "../kernel-exo/tsconfig.build.json" }, { "path": "../kernel-platforms/tsconfig.build.json" }, { "path": "../ocap-kernel/tsconfig.build.json" }, { "path": "../logger/tsconfig.build.json" }, diff --git a/packages/nodejs/tsconfig.json b/packages/nodejs/tsconfig.json index 23136c051..a8e362419 100644 --- a/packages/nodejs/tsconfig.json +++ b/packages/nodejs/tsconfig.json @@ -8,6 +8,7 @@ "types": ["node", "ses", "vitest"] }, "references": [ + { "path": "../kernel-exo" }, { "path": "../kernel-platforms" }, { "path": "../ocap-kernel" }, { "path": "../logger" }, diff --git a/packages/ocap-kernel/package.json b/packages/ocap-kernel/package.json index 1ac119bbe..d05a433a3 100644 --- a/packages/ocap-kernel/package.json +++ b/packages/ocap-kernel/package.json @@ -86,6 +86,7 @@ "@libp2p/websockets": "9.2.19", "@libp2p/webtransport": "5.0.51", "@metamask/kernel-errors": "workspace:^", + "@metamask/kernel-exo": "workspace:^", "@metamask/kernel-rpc-methods": "workspace:^", "@metamask/kernel-store": "workspace:^", "@metamask/kernel-utils": "workspace:^", diff --git a/packages/ocap-kernel/src/io/io-service.ts b/packages/ocap-kernel/src/io/io-service.ts index 0c7d86468..7c4fb94d6 100644 --- a/packages/ocap-kernel/src/io/io-service.ts +++ b/packages/ocap-kernel/src/io/io-service.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { IOChannel } from './types.ts'; import type { IOConfig } from '../types.ts'; diff --git a/packages/ocap-kernel/src/kernel-facet.ts b/packages/ocap-kernel/src/kernel-facet.ts index 79ecbe443..cdba91a68 100644 --- a/packages/ocap-kernel/src/kernel-facet.ts +++ b/packages/ocap-kernel/src/kernel-facet.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Kernel } from './Kernel.ts'; diff --git a/packages/ocap-kernel/src/liveslots/kernel-marshal.ts b/packages/ocap-kernel/src/liveslots/kernel-marshal.ts index a023a9445..30ba6aedc 100644 --- a/packages/ocap-kernel/src/liveslots/kernel-marshal.ts +++ b/packages/ocap-kernel/src/liveslots/kernel-marshal.ts @@ -2,7 +2,7 @@ import { assert, Fail } from '@endo/errors'; import { passStyleOf, makeMarshal } from '@endo/marshal'; import type { CapData } from '@endo/marshal'; import type { Passable } from '@endo/pass-style'; -import { makeDefaultExo } from '@metamask/kernel-utils'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { KRef } from '../types.ts'; diff --git a/packages/ocap-kernel/tsconfig.build.json b/packages/ocap-kernel/tsconfig.build.json index fbda55b3a..f219710e8 100644 --- a/packages/ocap-kernel/tsconfig.build.json +++ b/packages/ocap-kernel/tsconfig.build.json @@ -8,6 +8,7 @@ "types": ["ses"] }, "references": [ + { "path": "../kernel-exo/tsconfig.build.json" }, { "path": "../kernel-errors/tsconfig.build.json" }, { "path": "../kernel-rpc-methods/tsconfig.build.json" }, { "path": "../streams/tsconfig.build.json" }, diff --git a/packages/ocap-kernel/tsconfig.json b/packages/ocap-kernel/tsconfig.json index d1a3ce3c9..7583c0b0a 100644 --- a/packages/ocap-kernel/tsconfig.json +++ b/packages/ocap-kernel/tsconfig.json @@ -4,6 +4,7 @@ "baseUrl": "./" }, "references": [ + { "path": "../kernel-exo" }, { "path": "../kernel-errors" }, { "path": "../logger" }, { "path": "../kernel-rpc-methods" }, diff --git a/packages/omnium-gatherum/package.json b/packages/omnium-gatherum/package.json index 390e371e9..572054af5 100644 --- a/packages/omnium-gatherum/package.json +++ b/packages/omnium-gatherum/package.json @@ -48,6 +48,7 @@ "@endo/exo": "^1.5.12", "@endo/promise-kit": "^1.1.13", "@metamask/kernel-browser-runtime": "workspace:^", + "@metamask/kernel-exo": "workspace:^", "@metamask/kernel-shims": "workspace:^", "@metamask/kernel-ui": "workspace:^", "@metamask/kernel-utils": "workspace:^", diff --git a/packages/omnium-gatherum/src/caplets/echo/echo-caplet.js b/packages/omnium-gatherum/src/caplets/echo/echo-caplet.js index c0d0ee31c..008859e35 100644 --- a/packages/omnium-gatherum/src/caplets/echo/echo-caplet.js +++ b/packages/omnium-gatherum/src/caplets/echo/echo-caplet.js @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; /** * Log a message with caplet prefix. diff --git a/packages/omnium-gatherum/src/controllers/base-controller.test.ts b/packages/omnium-gatherum/src/controllers/base-controller.test.ts index b623be8c5..cb10069ee 100644 --- a/packages/omnium-gatherum/src/controllers/base-controller.test.ts +++ b/packages/omnium-gatherum/src/controllers/base-controller.test.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Logger } from '@metamask/logger'; import { describe, it, expect, vi, beforeEach } from 'vitest'; diff --git a/packages/omnium-gatherum/src/controllers/caplet/caplet-controller.ts b/packages/omnium-gatherum/src/controllers/caplet/caplet-controller.ts index 90b1c1076..ad2603ba9 100644 --- a/packages/omnium-gatherum/src/controllers/caplet/caplet-controller.ts +++ b/packages/omnium-gatherum/src/controllers/caplet/caplet-controller.ts @@ -1,4 +1,4 @@ -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import type { Logger } from '@metamask/logger'; import type { ClusterConfig, diff --git a/packages/omnium-gatherum/src/vats/controller-vat.ts b/packages/omnium-gatherum/src/vats/controller-vat.ts index d45b1d38c..052866d72 100644 --- a/packages/omnium-gatherum/src/vats/controller-vat.ts +++ b/packages/omnium-gatherum/src/vats/controller-vat.ts @@ -2,7 +2,7 @@ import { E } from '@endo/eventual-send'; import type { ERef } from '@endo/eventual-send'; import { makePromiseKit } from '@endo/promise-kit'; import type { PromiseKit } from '@endo/promise-kit'; -import { makeDefaultExo } from '@metamask/kernel-utils/exo'; +import { makeDefaultExo } from '@metamask/kernel-exo'; import { Logger } from '@metamask/logger'; import type { Baggage, diff --git a/packages/omnium-gatherum/tsconfig.build.json b/packages/omnium-gatherum/tsconfig.build.json index d7b547202..781130119 100644 --- a/packages/omnium-gatherum/tsconfig.build.json +++ b/packages/omnium-gatherum/tsconfig.build.json @@ -12,6 +12,7 @@ "types": ["chrome", "ses", "react-dom"] }, "references": [ + { "path": "../kernel-exo/tsconfig.build.json" }, { "path": "../kernel-browser-runtime/tsconfig.build.json" }, { "path": "../kernel-rpc-methods/tsconfig.build.json" }, { "path": "../kernel-ui/tsconfig.build.json" }, diff --git a/packages/omnium-gatherum/tsconfig.json b/packages/omnium-gatherum/tsconfig.json index 83fedfd08..2157d2d7b 100644 --- a/packages/omnium-gatherum/tsconfig.json +++ b/packages/omnium-gatherum/tsconfig.json @@ -11,6 +11,7 @@ "types": ["chrome", "ses", "vitest", "@playwright/test", "react-dom"] }, "references": [ + { "path": "../kernel-exo" }, { "path": "../kernel-browser-runtime" }, { "path": "../kernel-rpc-methods" }, { "path": "../kernel-shims" }, diff --git a/tsconfig.json b/tsconfig.json index c7c624374..7bfef4de3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,6 +18,7 @@ { "path": "./packages/extension" }, { "path": "./packages/kernel-agents" }, { "path": "./packages/kernel-browser-runtime" }, + { "path": "./packages/kernel-exo" }, { "path": "./packages/kernel-errors" }, { "path": "./packages/kernel-language-model-service" }, { "path": "./packages/kernel-platforms" }, diff --git a/yarn.lock b/yarn.lock index 80dd1b264..319569943 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2470,6 +2470,46 @@ __metadata: languageName: unknown linkType: soft +"@metamask/kernel-exo@workspace:^, @metamask/kernel-exo@workspace:packages/kernel-exo": + version: 0.0.0-use.local + resolution: "@metamask/kernel-exo@workspace:packages/kernel-exo" + dependencies: + "@arethetypeswrong/cli": "npm:^0.17.4" + "@endo/exo": "npm:^1.5.12" + "@endo/patterns": "npm:^1.7.0" + "@metamask/auto-changelog": "npm:^5.3.0" + "@metamask/eslint-config": "npm:^15.0.0" + "@metamask/eslint-config-nodejs": "npm:^15.0.0" + "@metamask/eslint-config-typescript": "npm:^15.0.0" + "@metamask/kernel-utils": "workspace:^" + "@ocap/repo-tools": "workspace:^" + "@ts-bridge/cli": "npm:^0.6.3" + "@ts-bridge/shims": "npm:^0.1.1" + "@typescript-eslint/eslint-plugin": "npm:^8.29.0" + "@typescript-eslint/parser": "npm:^8.29.0" + "@typescript-eslint/utils": "npm:^8.29.0" + "@vitest/eslint-plugin": "npm:^1.6.5" + depcheck: "npm:^1.4.7" + eslint: "npm:^9.23.0" + eslint-config-prettier: "npm:^10.1.1" + eslint-import-resolver-typescript: "npm:^4.3.1" + eslint-plugin-import-x: "npm:^4.10.0" + eslint-plugin-jsdoc: "npm:^50.6.9" + eslint-plugin-n: "npm:^17.17.0" + eslint-plugin-prettier: "npm:^5.2.6" + eslint-plugin-promise: "npm:^7.2.1" + prettier: "npm:^3.5.3" + rimraf: "npm:^6.0.1" + ses: "npm:^1.14.0" + turbo: "npm:^2.5.6" + typedoc: "npm:^0.28.1" + typescript: "npm:~5.8.2" + typescript-eslint: "npm:^8.29.0" + vite: "npm:^7.3.0" + vitest: "npm:^4.0.16" + languageName: unknown + linkType: soft + "@metamask/kernel-rpc-methods@workspace:^, @metamask/kernel-rpc-methods@workspace:packages/kernel-rpc-methods": version: 0.0.0-use.local resolution: "@metamask/kernel-rpc-methods@workspace:packages/kernel-rpc-methods" @@ -2662,8 +2702,6 @@ __metadata: "@chainsafe/libp2p-yamux": "patch:@chainsafe/libp2p-yamux@npm%3A7.0.4#~/.yarn/patches/@chainsafe-libp2p-yamux-npm-7.0.4-284c2f6812.patch" "@endo/captp": "npm:^4.4.8" "@endo/errors": "npm:^1.2.13" - "@endo/exo": "npm:^1.5.12" - "@endo/patterns": "npm:^1.7.0" "@endo/promise-kit": "npm:^1.1.13" "@libp2p/autonat": "npm:2.0.38" "@libp2p/circuit-relay-v2": "npm:3.2.24" @@ -2819,6 +2857,7 @@ __metadata: "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" "@metamask/kernel-errors": "workspace:^" + "@metamask/kernel-exo": "workspace:^" "@metamask/kernel-rpc-methods": "workspace:^" "@metamask/kernel-store": "workspace:^" "@metamask/kernel-utils": "workspace:^" @@ -3654,6 +3693,7 @@ __metadata: "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" "@metamask/kernel-errors": "workspace:^" + "@metamask/kernel-exo": "workspace:^" "@metamask/kernel-utils": "workspace:^" "@metamask/logger": "workspace:^" "@ocap/kernel-language-model-service": "workspace:^" @@ -3821,6 +3861,7 @@ __metadata: "@metamask/eslint-config": "npm:^15.0.0" "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" + "@metamask/kernel-exo": "workspace:^" "@metamask/kernel-shims": "workspace:^" "@metamask/kernel-store": "workspace:^" "@metamask/kernel-utils": "workspace:^" @@ -3970,6 +4011,7 @@ __metadata: "@metamask/eslint-config": "npm:^15.0.0" "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" + "@metamask/kernel-exo": "workspace:^" "@metamask/kernel-rpc-methods": "workspace:^" "@metamask/kernel-shims": "workspace:^" "@metamask/kernel-store": "workspace:^" @@ -4021,6 +4063,7 @@ __metadata: "@metamask/eslint-config-nodejs": "npm:^15.0.0" "@metamask/eslint-config-typescript": "npm:^15.0.0" "@metamask/kernel-browser-runtime": "workspace:^" + "@metamask/kernel-exo": "workspace:^" "@metamask/kernel-shims": "workspace:^" "@metamask/kernel-ui": "workspace:^" "@metamask/kernel-utils": "workspace:^"