diff --git a/package.json b/package.json index dca80ed..464cdde 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "type": "module", - "packageManager": "pnpm@12.6.0+sha512.3ef68f951cb111ac204b4a5a16f0b2ddf0da56a96e0413e81d855d9f0b55ef926714709028e1cd00c405c2c5fb7b9e8ec4dc46777c805d0373c2f2ff00fd20ec", + "packageManager": "pnpm@12.8.1+sha512.f64ba907507f5ceafe06c8d38e6052d0179444580ec1279ddd5bfc11cb48aa8a2644b66598e07e761da84872a9fc57d5f902b87fa49d024198d558612aabbe45", "scripts": { "prepare": "effect-language-service patch", "build": "tspc -b tsconfig.packages.json && pnpm --recursive --parallel --filter \"./packages/**/*\" run build", diff --git a/packages/amp/package.json b/packages/amp/package.json index 0c7bf81..5142fc5 100644 --- a/packages/amp/package.json +++ b/packages/amp/package.json @@ -42,15 +42,15 @@ "coverage": "vitest --coverage" }, "peerDependencies": { - "@bufbuild/protobuf": "^2.15.0", + "@bufbuild/protobuf": "^2.16.0", "@connectrpc/connect": "^2.2.0", "@connectrpc/connect-node": "^2.2.0", "effect": "catalog:" }, "devDependencies": { "@bufbuild/buf": "^1.73.0", - "@bufbuild/protobuf": "^2.15.0", - "@bufbuild/protoc-gen-es": "^2.15.0", + "@bufbuild/protobuf": "^2.16.0", + "@bufbuild/protoc-gen-es": "^2.16.0", "@connectrpc/connect": "^2.2.0", "@connectrpc/connect-node": "^2.2.0", "effect": "catalog:" diff --git a/packages/amp/src/admin/api.ts b/packages/amp/src/admin/api.ts index 16455fe..17a2684 100644 --- a/packages/amp/src/admin/api.ts +++ b/packages/amp/src/admin/api.ts @@ -10,11 +10,11 @@ * - Manifests (registration) */ import * as Schema from "effect/Schema" -import * as HttpApi from "effect/unstable/httpapi/HttpApi" -import * as HttpApiEndpoint from "effect/unstable/httpapi/HttpApiEndpoint" -import * as HttpApiError from "effect/unstable/httpapi/HttpApiError" -import * as HttpApiGroup from "effect/unstable/httpapi/HttpApiGroup" -import * as HttpApiSchema from "effect/unstable/httpapi/HttpApiSchema" +import * as HttpApi from "effect/http-api/HttpApi" +import * as HttpApiEndpoint from "effect/http-api/HttpApiEndpoint" +import * as HttpApiError from "effect/http-api/HttpApiError" +import * as HttpApiGroup from "effect/http-api/HttpApiGroup" +import * as HttpApiSchema from "effect/http-api/HttpApiSchema" import * as Models from "../core/domain.ts" import * as Domain from "./domain.ts" import * as Error from "./error.ts" diff --git a/packages/amp/src/admin/service.ts b/packages/amp/src/admin/service.ts index 9db3bd8..fd15418 100644 --- a/packages/amp/src/admin/service.ts +++ b/packages/amp/src/admin/service.ts @@ -14,12 +14,12 @@ import * as Effect from "effect/Effect" import { constUndefined } from "effect/Function" import * as Layer from "effect/Layer" import * as Option from "effect/Option" -import * as HttpClient from "effect/unstable/http/HttpClient" -import type * as HttpClientError from "effect/unstable/http/HttpClientError" -import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest" -import * as HttpApiClient from "effect/unstable/httpapi/HttpApiClient" -import type * as HttpApiError from "effect/unstable/httpapi/HttpApiError" -import type * as KeyValueStore from "effect/unstable/persistence/KeyValueStore" +import * as HttpClient from "effect/http/HttpClient" +import type * as HttpClientError from "effect/http/HttpClientError" +import * as HttpClientRequest from "effect/http/HttpClientRequest" +import * as HttpApiClient from "effect/http-api/HttpApiClient" +import type * as HttpApiError from "effect/http-api/HttpApiError" +import type * as KeyValueStore from "effect/persistence/KeyValueStore" import * as Auth from "../auth/service.ts" import type * as Models from "../core/domain.ts" import * as Api from "./api.ts" diff --git a/packages/amp/src/auth/service.ts b/packages/amp/src/auth/service.ts index cc2454e..e688181 100644 --- a/packages/amp/src/auth/service.ts +++ b/packages/amp/src/auth/service.ts @@ -8,13 +8,13 @@ import * as Option from "effect/Option" import * as Predicate from "effect/Predicate" import * as Redacted from "effect/Redacted" import * as Schema from "effect/Schema" -import * as HttpBody from "effect/unstable/http/HttpBody" -import * as HttpClient from "effect/unstable/http/HttpClient" -import type * as HttpClientError from "effect/unstable/http/HttpClientError" -import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest" -import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse" -import * as UrlParams from "effect/unstable/http/UrlParams" -import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore" +import * as HttpBody from "effect/http/HttpBody" +import * as HttpClient from "effect/http/HttpClient" +import type * as HttpClientError from "effect/http/HttpClientError" +import * as HttpClientRequest from "effect/http/HttpClientRequest" +import * as HttpClientResponse from "effect/http/HttpClientResponse" +import * as UrlParams from "effect/http/UrlParams" +import * as KeyValueStore from "effect/persistence/KeyValueStore" import * as Jose from "jose" import { AccessToken, diff --git a/packages/amp/src/core/domain.ts b/packages/amp/src/core/domain.ts index f03c242..c2d4fc2 100644 --- a/packages/amp/src/core/domain.ts +++ b/packages/amp/src/core/domain.ts @@ -489,6 +489,20 @@ export const DatasetMetadata = Schema.Struct({ }) export type DatasetMetadata = typeof DatasetMetadata.Type +/** + * Represents an Apache Arrow data type, as serialized by Amp. + * + * Types without parameters serialize as a bare string (e.g. `"Int32"`), while + * parameterized types serialize as a single-key object mapping the type name + * to its parameters (e.g. `{ "FixedSizeBinary": 20 }`). + */ +export const ArrowDataType = Schema.Union([Schema.String, Schema.Record(Schema.String, Schema.Unknown)]).annotate({ + identifier: "ArrowDataType", + description: "An Apache Arrow data type.", + examples: ["Utf8", { FixedSizeBinary: 20 }, { Timestamp: ["Nanosecond", "+00:00"] }, { Decimal128: [38, 0] }] +}) +export type ArrowDataType = typeof ArrowDataType.Type + /** * Represents the source of a function. */ @@ -506,8 +520,8 @@ export type FunctionSource = typeof FunctionSource.Type */ export const FunctionDefinition = Schema.Struct({ source: FunctionSource, - inputTypes: Schema.Array(Schema.String), - outputType: Schema.String + inputTypes: Schema.Array(ArrowDataType), + outputType: ArrowDataType }).annotate({ identifier: "FunctionDefinition", description: "The data required to define of a function." @@ -700,8 +714,8 @@ export type RawDatasetTable = typeof RawDatasetTable.Type */ export const FunctionManifest = Schema.Struct({ source: FunctionSource, - inputTypes: Schema.Array(Schema.String), - outputType: Schema.String + inputTypes: Schema.Array(ArrowDataType), + outputType: ArrowDataType }).annotate({ identifier: "FunctionManifest", description: "Information associated with a function." diff --git a/packages/amp/src/registry/api.ts b/packages/amp/src/registry/api.ts index d222457..ad2562a 100644 --- a/packages/amp/src/registry/api.ts +++ b/packages/amp/src/registry/api.ts @@ -1,9 +1,9 @@ import * as Schema from "effect/Schema" -import * as HttpApi from "effect/unstable/httpapi/HttpApi" -import * as HttpApiEndpoint from "effect/unstable/httpapi/HttpApiEndpoint" -import * as HttpApiError from "effect/unstable/httpapi/HttpApiError" -import * as HttpApiGroup from "effect/unstable/httpapi/HttpApiGroup" -import * as HttpApiSchema from "effect/unstable/httpapi/HttpApiSchema" +import * as HttpApi from "effect/http-api/HttpApi" +import * as HttpApiEndpoint from "effect/http-api/HttpApiEndpoint" +import * as HttpApiError from "effect/http-api/HttpApiError" +import * as HttpApiGroup from "effect/http-api/HttpApiGroup" +import * as HttpApiSchema from "effect/http-api/HttpApiSchema" import * as Models from "../core/domain.ts" import * as Domain from "./domain.ts" import * as Errors from "./error.ts" diff --git a/packages/amp/src/registry/domain.ts b/packages/amp/src/registry/domain.ts index 924e810..72261b5 100644 --- a/packages/amp/src/registry/domain.ts +++ b/packages/amp/src/registry/domain.ts @@ -411,7 +411,7 @@ export type SearchMyDatasetsParams = typeof SearchMyDatasetsParams.Type * Represents a bearer token header. */ export const BearerAuthHeader = Schema.Struct({ - Authorization: Schema.String.check(Schema.isStartsWith("Bearer")) + Authorization: Schema.String.check(Schema.isStartingWith("Bearer")) }).annotate({ identifier: "BearerAuthHeader" }) export type BearerAuthHeader = typeof BearerAuthHeader.Type diff --git a/packages/amp/test/admin/service.test.ts b/packages/amp/test/admin/service.test.ts index 09213b5..85a1ab0 100644 --- a/packages/amp/test/admin/service.test.ts +++ b/packages/amp/test/admin/service.test.ts @@ -5,9 +5,9 @@ import { assert, describe, it } from "@effect/vitest" import * as Effect from "effect/Effect" import * as Layer from "effect/Layer" import * as Redacted from "effect/Redacted" -import * as HttpClient from "effect/unstable/http/HttpClient" -import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse" -import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore" +import * as HttpClient from "effect/http/HttpClient" +import * as HttpClientResponse from "effect/http/HttpClientResponse" +import * as KeyValueStore from "effect/persistence/KeyValueStore" // Response payloads mirror the serialized shapes of the Amp admin API // (see `docs/schemas/openapi/admin.spec.json` in the Amp repository). @@ -174,6 +174,11 @@ describe("AdminApi", () => { assert.strictEqual(manifest.dependencies?.eth.name, "eth_mainnet") assert.strictEqual(manifest.tables?.transfers.input.sql, "SELECT * FROM eth.logs") assert.strictEqual(manifest.functions?.decode.outputType, "Utf8") + assert.deepStrictEqual(manifest.functions?.checksum.inputTypes, [ + { FixedSizeBinary: 20 }, + { Timestamp: ["Nanosecond", "+00:00"] } + ]) + assert.deepStrictEqual(manifest.functions?.checksum.outputType, { Decimal128: [38, 0] }) }).pipe( Effect.provide( makeLayer({ @@ -194,6 +199,11 @@ describe("AdminApi", () => { inputTypes: ["Binary"], outputType: "Utf8", source: { source: "export default () => ''", filename: "decode.js" } + }, + checksum: { + inputTypes: [{ FixedSizeBinary: 20 }, { Timestamp: ["Nanosecond", "+00:00"] }], + outputType: { Decimal128: [38, 0] }, + source: { source: "export default () => 0n", filename: "checksum.js" } } } } diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 82f4957..cdc7714 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -3,9 +3,9 @@ import * as NodeServices from "@effect/platform-node/NodeServices" import * as Effect from "effect/Effect" import * as Layer from "effect/Layer" import * as Path from "effect/Path" -import * as Command from "effect/unstable/cli/Command" -import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient" -import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore" +import * as Command from "effect/cli/Command" +import * as FetchHttpClient from "effect/http/FetchHttpClient" +import * as KeyValueStore from "effect/persistence/KeyValueStore" import * as NodeOS from "node:os" import PackageJson from "../package.json" with { type: "json" } import { AuthCommand } from "./commands/auth.ts" diff --git a/packages/cli/src/commands/auth.ts b/packages/cli/src/commands/auth.ts index f17b68e..a603fbe 100644 --- a/packages/cli/src/commands/auth.ts +++ b/packages/cli/src/commands/auth.ts @@ -1,4 +1,4 @@ -import * as Command from "effect/unstable/cli/Command" +import * as Command from "effect/cli/Command" import { LoginCommand } from "./auth/login.ts" import { LogoutCommand } from "./auth/logout.ts" import { TokenCommand } from "./auth/token.ts" diff --git a/packages/cli/src/commands/auth/login.ts b/packages/cli/src/commands/auth/login.ts index 31531ed..1c34594 100644 --- a/packages/cli/src/commands/auth/login.ts +++ b/packages/cli/src/commands/auth/login.ts @@ -9,8 +9,8 @@ import * as Option from "effect/Option" import * as Runtime from "effect/Runtime" import * as Schedule from "effect/Schedule" import * as String from "effect/String" -import * as Command from "effect/unstable/cli/Command" -import * as Prompt from "effect/unstable/cli/Prompt" +import * as Command from "effect/cli/Command" +import * as Prompt from "effect/cli/Prompt" import Open from "open" export class LoginCommandError extends Data.TaggedError("LoginCommandError")<{ diff --git a/packages/cli/src/commands/auth/logout.ts b/packages/cli/src/commands/auth/logout.ts index 8903ff1..60b94ac 100644 --- a/packages/cli/src/commands/auth/logout.ts +++ b/packages/cli/src/commands/auth/logout.ts @@ -4,8 +4,8 @@ import * as Console from "effect/Console" import * as Data from "effect/Data" import * as Effect from "effect/Effect" import * as Runtime from "effect/Runtime" -import * as Command from "effect/unstable/cli/Command" -import * as Prompt from "effect/unstable/cli/Prompt" +import * as Command from "effect/cli/Command" +import * as Prompt from "effect/cli/Prompt" export class LogoutCommandError extends Data.TaggedError("LogoutCommandError")<{ readonly cause: AuthError.AuthCacheError diff --git a/packages/cli/src/commands/auth/token.ts b/packages/cli/src/commands/auth/token.ts index 696409e..098813c 100644 --- a/packages/cli/src/commands/auth/token.ts +++ b/packages/cli/src/commands/auth/token.ts @@ -8,9 +8,9 @@ import * as Effect from "effect/Effect" import * as Redacted from "effect/Redacted" import * as Runtime from "effect/Runtime" import * as String from "effect/String" -import * as Argument from "effect/unstable/cli/Argument" -import * as Command from "effect/unstable/cli/Command" -import * as Flag from "effect/unstable/cli/Flag" +import * as Argument from "effect/cli/Argument" +import * as Command from "effect/cli/Command" +import * as Flag from "effect/cli/Flag" export class TokenCommandError extends Data.TaggedError("TokenCommandError")<{ readonly cause?: diff --git a/packages/cli/src/commands/query.ts b/packages/cli/src/commands/query.ts index 80179c9..73a3c71 100644 --- a/packages/cli/src/commands/query.ts +++ b/packages/cli/src/commands/query.ts @@ -7,9 +7,9 @@ import * as Layer from "effect/Layer" import * as Option from "effect/Option" import type * as Redacted from "effect/Redacted" import * as Runtime from "effect/Runtime" -import * as Argument from "effect/unstable/cli/Argument" -import * as Command from "effect/unstable/cli/Command" -import * as Flag from "effect/unstable/cli/Flag" +import * as Argument from "effect/cli/Argument" +import * as Command from "effect/cli/Command" +import * as Flag from "effect/cli/Flag" type ResultFormat = "json" | "jsonl" | "pretty" | "table" const ResultFormats: ReadonlyArray = ["json", "jsonl", "pretty", "table"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de0ecb4..b99be34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,153 +7,153 @@ importers: configDependencies: {} packageManagerDependencies: pnpm: - specifier: 12.6.0 - version: 12.6.0 + specifier: 12.8.1 + version: 12.8.1 packages: - '@pnpm/exe.android-arm64@12.6.0': - resolution: {integrity: sha512-kviIHft9h02q+7N2In7tSL9T/HRUSGwYmU74YPtsWU5ee7vgqPyC0JT6RRX6miW+NxX1CvHgQxg69qq1qTLJYQ==} + '@pnpm/exe.android-arm64@12.8.1': + resolution: {integrity: sha512-siDxcidfz5eM6L2tJfik+i2bbUEw8UC7MZ3Yl2HYdRmqbdhHGAOQACtOOu6QVW4Jul4/w5wVKm+wM8ACtgh1Pg==} cpu: [arm64] os: [android] - '@pnpm/exe.android-x64@12.6.0': - resolution: {integrity: sha512-CT8aJKLq2mtZFE71pr4E5Z2xHL8uGnRGr+NclDqsXlVF4SVcQ2QAs14mWi0C8gjT4hbmi+Q0lJRRIkMAWfjjng==} + '@pnpm/exe.android-x64@12.8.1': + resolution: {integrity: sha512-0F/uqPRc3aN4vLHsa0f+6fTtmsigFQ9/yxEU43fionF//pNHEd5e97b3w/nKIgqYMCUQCJphmBRMA9Q8/wlo9Q==} cpu: [x64] os: [android] - '@pnpm/exe.darwin-arm64@12.6.0': - resolution: {integrity: sha512-rafpVkjzugKBMxSvGQd5wK1x5eOTkD/+lcJIFHeQhvd+BJ8kDisOOvwhQDrpGd4vd2Fx+hhW0P2Ptt638OlhFg==} + '@pnpm/exe.darwin-arm64@12.8.1': + resolution: {integrity: sha512-/rwavvMQJsl2RIxOHBnDF+4Gk+fhQFAY4M3PQZoKskJOEnaJcygG9p1xby6wcQcbS4d9dIubv09CQhufTgfmpw==} cpu: [arm64] os: [darwin] - '@pnpm/exe.darwin-x64@12.6.0': - resolution: {integrity: sha512-72Jpuv1m24gI8zUNcaylYpBWEhBzz1VPhnDIU2GYM2eRP+KsOqVLwV78i+JrihI39zY2NNXmaN4eAKX1inpaDQ==} + '@pnpm/exe.darwin-x64@12.8.1': + resolution: {integrity: sha512-htYt2gN7zqJKLhC99Ft6EUiO7myjZAZXfmGCTJUL1v+o7vE9hZdE1+fAkk4Oj1ZHNRti6b2woOxEkRkAusi8OQ==} cpu: [x64] os: [darwin] - '@pnpm/exe.freebsd-x64@12.6.0': - resolution: {integrity: sha512-LON4QgNy1w/XF4uySZIyC/5hEB0oGdelXsY9tSKqstER+2j2X2oHz67skD11RRd/HWFRtMr64shQZ4I9ZoZ0zg==} + '@pnpm/exe.freebsd-x64@12.8.1': + resolution: {integrity: sha512-PB5BULNgytxvExoOXUUeseS/DcpPENs+cg3iA6xHHeaLT4ctEGKSGXEbuj7USeqvo8JBpAx039hivnbzGqDwnA==} cpu: [x64] os: [freebsd] - '@pnpm/exe.linux-arm64-musl@12.6.0': - resolution: {integrity: sha512-BdDpX+DeaMUc5x6WNcE6FkmFy36NwrBbBvwsZU737Zt3u1fTY+iKFPchjEQNCM4rT6q6xvF2oN3ZwExGsJCkxQ==} + '@pnpm/exe.linux-arm64-musl@12.8.1': + resolution: {integrity: sha512-kKeyC/ArjrgdciQRBrOL0j9HtOI4gDRgoyP+eJ1CQKyadpKlf/DhDDyspXe07R3B9KagTVLUF2nlt6Dr5quFIg==} cpu: [arm64] os: [linux] libc: [musl] - '@pnpm/exe.linux-arm64@12.6.0': - resolution: {integrity: sha512-8h2sNoIhHDpHDYqZZCh9PXr6krqW10btb0GHVGuw710muDHlFAHMtUG2ogmaHge6zJG1xgY4Y7mwX5g/LWvrYg==} + '@pnpm/exe.linux-arm64@12.8.1': + resolution: {integrity: sha512-q4s9a9X2O3N9aeUFooW24orNrxvu20+jyVUFR5RanPCqOKKPBrgs2iywMkBBx1aXkkzdWT54/mfz8Be8sJlWEw==} cpu: [arm64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-ppc64@12.6.0': - resolution: {integrity: sha512-ld6xgcEhFCFrsVsJhbmdmR714PnsEspO/Ij8w0/D7OSiz2hYGu3fZd5tKRxOI5m6H6Gl0/RRFAPncTHbsgXVjQ==} + '@pnpm/exe.linux-ppc64@12.8.1': + resolution: {integrity: sha512-F7XSjKJthwCh/L6abZiMpAfo2Cm61SZIT3e4dfgiIjESndlWaXCnfLKngSgZ/SEMsdmHT6dud3+kWIB3tw0/xQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-riscv64@12.6.0': - resolution: {integrity: sha512-HIbImydoC3J8NFt+8MXfhTCf5rO6NjCMyinSAHac0VmV8uCHw+kbQkyAzxV84rzz9ZOzmBOnj0b1N461UIYGsw==} + '@pnpm/exe.linux-riscv64@12.8.1': + resolution: {integrity: sha512-z1ecpIK/ZY08Unk69KWWE9867oaKUytGUjrHnBoGFAAhsK+q+0cfvBH+f5fWobJ7FX97leMlLO+gkJolddM45Q==} cpu: [riscv64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-s390x@12.6.0': - resolution: {integrity: sha512-DjSqT7+BZ/lWcDHwNMuzsRVfyxUimh+D54Xw4tSWbdVVQhtWtNMUyI93LVnwCmsoEpar2gC3SFeAgywx37svKQ==} + '@pnpm/exe.linux-s390x@12.8.1': + resolution: {integrity: sha512-KU6tnrBfu4uKXTq6N5qJwSm8FSrs9Wc8b5AUEsHK9bRXwNdsZ1/lRxG1++X29SKRW9OSNuDSjxASv5mAvGo1gA==} cpu: [s390x] os: [linux] libc: [glibc] - '@pnpm/exe.linux-x64-musl@12.6.0': - resolution: {integrity: sha512-31lKeGPmRE6xfV6I3VjaEGVFRei14pl/zgoFDK4w+UkbJqOuNl2Ht3O1GuqNIg3Gl14qTEb4kZRAYFHXifDx9A==} + '@pnpm/exe.linux-x64-musl@12.8.1': + resolution: {integrity: sha512-eUE8BWJkDr2tJb/yrk0yVnszlmNqFarVxUlqiZ9BAkct28Nq/5g2H0tvMDmPA7fAQW3STNj+omJPPRVT+4s5sQ==} cpu: [x64] os: [linux] libc: [musl] - '@pnpm/exe.linux-x64@12.6.0': - resolution: {integrity: sha512-qFWBneHJAJ73W4whtbaFOL1M/7DBC6ILHXuxc7ZPtEhfPuT1zeZiGrmKHoMAfJA+mcm6xhOFljqVTUS+00Jabw==} + '@pnpm/exe.linux-x64@12.8.1': + resolution: {integrity: sha512-8bDZ0lZlCdi2rvnFul7EYgcC7zKeWSe76y8JV2oXobaS8p9i9d6PSf6LgLtTM0fI7R9Oh4eLCbveXyNDMmvZ+g==} cpu: [x64] os: [linux] libc: [glibc] - '@pnpm/exe.win32-arm64@12.6.0': - resolution: {integrity: sha512-OhfefXEEykZlslSUhR8PPRe6MVPV3Oink/dVfIecE5velpc7j80cZYsHlaDrtRDcm3TPwQHkaRW1SJ1efX9oFg==} + '@pnpm/exe.win32-arm64@12.8.1': + resolution: {integrity: sha512-MsT0dlrRxnCRCHCaosNbhWpEiAFnFuMEu3KuDJDU41BXgTwiINxU8goloUSUDejWZUqKaUqNC/qUTihl9nFtqg==} cpu: [arm64] os: [win32] - '@pnpm/exe.win32-x64@12.6.0': - resolution: {integrity: sha512-L2tuyrD2+Imgxs3VK/ST/2L3xD6vDP0ktJQxM0TaGw7TbAQEMq+RMc8iK6Ew7Id579uzjJe8jSfJID2ZGsOHCA==} + '@pnpm/exe.win32-x64@12.8.1': + resolution: {integrity: sha512-SWtPe0PsbTTk//gJND10tMdOfCYjrkq5+qV49hzVhY7xz2iJ339Rc+xwASlcvbwTfrvH39YNqpKYibD+CRGLwA==} cpu: [x64] os: [win32] - pnpm@12.6.0: - resolution: {integrity: sha512-PvaPlRyxEawgS0paFvCy3fDaVqluBBPoHYVdnwtV75JnFHCQKOHNAMQFwsX7e56OxNxGd3yAXQNzwvL/AP0g7A==} + pnpm@12.8.1: + resolution: {integrity: sha512-9kupB1B/XOr+BsjTjmBS0BeURFgOwSed3Vv8EctIqoomRLZlmOB+dh2oSHKp/FfV+QK4f6SdAkGY1VhhKqu+RQ==} engines: {node: '>=18.*'} hasBin: true snapshots: - '@pnpm/exe.android-arm64@12.6.0': + '@pnpm/exe.android-arm64@12.8.1': optional: true - '@pnpm/exe.android-x64@12.6.0': + '@pnpm/exe.android-x64@12.8.1': optional: true - '@pnpm/exe.darwin-arm64@12.6.0': + '@pnpm/exe.darwin-arm64@12.8.1': optional: true - '@pnpm/exe.darwin-x64@12.6.0': + '@pnpm/exe.darwin-x64@12.8.1': optional: true - '@pnpm/exe.freebsd-x64@12.6.0': + '@pnpm/exe.freebsd-x64@12.8.1': optional: true - '@pnpm/exe.linux-arm64-musl@12.6.0': + '@pnpm/exe.linux-arm64-musl@12.8.1': optional: true - '@pnpm/exe.linux-arm64@12.6.0': + '@pnpm/exe.linux-arm64@12.8.1': optional: true - '@pnpm/exe.linux-ppc64@12.6.0': + '@pnpm/exe.linux-ppc64@12.8.1': optional: true - '@pnpm/exe.linux-riscv64@12.6.0': + '@pnpm/exe.linux-riscv64@12.8.1': optional: true - '@pnpm/exe.linux-s390x@12.6.0': + '@pnpm/exe.linux-s390x@12.8.1': optional: true - '@pnpm/exe.linux-x64-musl@12.6.0': + '@pnpm/exe.linux-x64-musl@12.8.1': optional: true - '@pnpm/exe.linux-x64@12.6.0': + '@pnpm/exe.linux-x64@12.8.1': optional: true - '@pnpm/exe.win32-arm64@12.6.0': + '@pnpm/exe.win32-arm64@12.8.1': optional: true - '@pnpm/exe.win32-x64@12.6.0': + '@pnpm/exe.win32-x64@12.8.1': optional: true - pnpm@12.6.0: + pnpm@12.8.1: optionalDependencies: - '@pnpm/exe.android-arm64': 12.6.0 - '@pnpm/exe.android-x64': 12.6.0 - '@pnpm/exe.darwin-arm64': 12.6.0 - '@pnpm/exe.darwin-x64': 12.6.0 - '@pnpm/exe.freebsd-x64': 12.6.0 - '@pnpm/exe.linux-arm64': 12.6.0 - '@pnpm/exe.linux-arm64-musl': 12.6.0 - '@pnpm/exe.linux-ppc64': 12.6.0 - '@pnpm/exe.linux-riscv64': 12.6.0 - '@pnpm/exe.linux-s390x': 12.6.0 - '@pnpm/exe.linux-x64': 12.6.0 - '@pnpm/exe.linux-x64-musl': 12.6.0 - '@pnpm/exe.win32-arm64': 12.6.0 - '@pnpm/exe.win32-x64': 12.6.0 + '@pnpm/exe.android-arm64': 12.8.1 + '@pnpm/exe.android-x64': 12.8.1 + '@pnpm/exe.darwin-arm64': 12.8.1 + '@pnpm/exe.darwin-x64': 12.8.1 + '@pnpm/exe.freebsd-x64': 12.8.1 + '@pnpm/exe.linux-arm64': 12.8.1 + '@pnpm/exe.linux-arm64-musl': 12.8.1 + '@pnpm/exe.linux-ppc64': 12.8.1 + '@pnpm/exe.linux-riscv64': 12.8.1 + '@pnpm/exe.linux-s390x': 12.8.1 + '@pnpm/exe.linux-x64': 12.8.1 + '@pnpm/exe.linux-x64-musl': 12.8.1 + '@pnpm/exe.win32-arm64': 12.8.1 + '@pnpm/exe.win32-x64': 12.8.1 --- lockfileVersion: '9.0' @@ -165,32 +165,32 @@ settings: catalogs: default: '@effect/language-service': - specifier: ^0.87.2 - version: 0.87.2 + specifier: ^0.87.3 + version: 0.87.3 '@effect/platform-node': - specifier: ^4.0.0-rc.117 - version: 4.0.0-rc.117 + specifier: ^4.0.0 + version: 4.0.0 '@effect/vitest': - specifier: ^4.0.0-rc.117 - version: 4.0.0-rc.117 + specifier: ^4.0.0 + version: 4.0.0 '@types/node': - specifier: ^26.6.2 - version: 26.6.2 + specifier: ^26.6.3 + version: 26.6.3 '@vitest/coverage-v8': - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^5.0.3 + version: 5.0.3 '@vitest/ui': - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^5.0.3 + version: 5.0.3 effect: - specifier: ^4.0.0-rc.117 - version: 4.0.0-rc.117 + specifier: ^4.0.0 + version: 4.0.0 viem: - specifier: ^2.56.9 - version: 2.56.9 + specifier: ^2.57.2 + version: 2.57.2 vitest: - specifier: ^5.0.2 - version: 5.0.2 + specifier: ^5.0.3 + version: 5.0.3 overrides: typescript: ^6.0.3 @@ -216,22 +216,22 @@ importers: version: 8.0.1(@babel/core@8.0.6) '@effect/language-service': specifier: 'catalog:' - version: 0.87.2 + version: 0.87.3 '@effect/vitest': specifier: 'catalog:' - version: 4.0.0-rc.117(effect@4.0.0-rc.117)(vitest@5.0.2) + version: 4.0.0(effect@4.0.0)(vitest@5.0.3) '@types/node': specifier: 'catalog:' - version: 26.6.2 + version: 26.6.3 '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 '@vitest/coverage-v8': specifier: 'catalog:' - version: 5.0.2(vitest@5.0.2) + version: 5.0.3(vitest@5.0.3) '@vitest/ui': specifier: 'catalog:' - version: 5.0.2(vitest@5.0.2) + version: 5.0.3(vitest@5.0.3) babel-plugin-annotate-pure-calls: specifier: ^0.5.0 version: 0.5.0(@babel/core@8.0.6) @@ -252,7 +252,7 @@ importers: version: 1.85.0 rulesync: specifier: ^19.0.0 - version: 19.0.0(@types/node@26.6.2)(ajv-formats@3.0.1(ajv@8.17.1))(ajv@8.17.1)(jose@6.2.12)(openapi-types@12.1.3)(supports-color@7.2.0)(valibot@1.5.0(typescript@6.0.3)) + version: 19.0.0(@types/node@26.6.3)(ajv-formats@3.0.1(ajv@8.17.1))(ajv@8.17.1)(jose@6.2.12)(openapi-types@12.1.3)(supports-color@7.2.0)(valibot@1.5.0(typescript@6.0.3)) ts-patch: specifier: ^4.0.1 version: 4.0.1 @@ -261,10 +261,10 @@ importers: version: 6.0.3 vite-tsconfig-paths: specifier: ^6.1.1 - version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) vitest: specifier: 'catalog:' - version: 5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) vitest-mock-express: specifier: ^2.2.0 version: 2.2.0 @@ -279,26 +279,26 @@ importers: version: 6.2.12 viem: specifier: 'catalog:' - version: 2.56.9(typescript@6.0.3)(zod@4.4.3) + version: 2.57.2(typescript@6.0.3)(zod@4.4.3) devDependencies: '@bufbuild/buf': specifier: ^1.73.0 version: 1.73.0 '@bufbuild/protobuf': - specifier: ^2.15.0 - version: 2.15.0 + specifier: ^2.16.0 + version: 2.16.0 '@bufbuild/protoc-gen-es': - specifier: ^2.15.0 - version: 2.15.0(@bufbuild/protobuf@2.15.0)(supports-color@7.2.0) + specifier: ^2.16.0 + version: 2.16.0(@bufbuild/protobuf@2.16.0)(supports-color@7.2.0) '@connectrpc/connect': specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.15.0) + version: 2.2.0(@bufbuild/protobuf@2.16.0) '@connectrpc/connect-node': specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.15.0)(@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.15.0)) + version: 2.2.0(@bufbuild/protobuf@2.16.0)(@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.16.0)) effect: specifier: 'catalog:' - version: 4.0.0-rc.117 + version: 4.0.0 packages/cli: dependencies: @@ -311,22 +311,22 @@ importers: devDependencies: '@connectrpc/connect': specifier: ^2.2.0 - version: 2.2.0(@bufbuild/protobuf@2.15.0) + version: 2.2.0(@bufbuild/protobuf@2.16.0) '@effect/platform-node': specifier: 'catalog:' - version: 4.0.0-rc.117(effect@4.0.0-rc.117)(redis@6.2.1) + version: 4.0.0(effect@4.0.0)(redis@6.2.1) effect: specifier: 'catalog:' - version: 4.0.0-rc.117 + version: 4.0.0 packages/tools/oxc: devDependencies: '@types/node': specifier: 'catalog:' - version: 26.6.2 + version: 26.6.3 vitest: specifier: 'catalog:' - version: 5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + version: 5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) scratchpad: dependencies: @@ -568,21 +568,21 @@ packages: engines: {node: '>=12'} hasBin: true - '@bufbuild/protobuf@2.15.0': - resolution: {integrity: sha512-DAheWUkVr/SJTWCc+lg9dhY0eN4SaWlf4+bG1KzHeXbnqt0AfB/NX0Z+VunGlM1ki1B4zVvye27MpKh/svySUA==} + '@bufbuild/protobuf@2.16.0': + resolution: {integrity: sha512-FWa0sPlqYGJgpTs6OxBRcL/AW4JT0OIO+W1ajerluoTVh8CV0B7XM1qsNCRgnkSCkRCgOICKHRQlY17jrsm0+Q==} - '@bufbuild/protoc-gen-es@2.15.0': - resolution: {integrity: sha512-FRhNTAZEXW6arWx2JxgtpuazhmewYctXugu5SfXGpXpLLCInDT1005fSKDzEM/70Es2oIn07PM4RvpwvDvR/fg==} + '@bufbuild/protoc-gen-es@2.16.0': + resolution: {integrity: sha512-LbPrEaGd7bOxKbJHllTR5439+PZjqd6fM7xyDZkDVtZ+Efzr7TMdMqShG9Qkf/nYVyiNS/SK5r9JhRaBTFkfZw==} engines: {node: '>=22'} hasBin: true peerDependencies: - '@bufbuild/protobuf': 2.15.0 + '@bufbuild/protobuf': 2.16.0 peerDependenciesMeta: '@bufbuild/protobuf': optional: true - '@bufbuild/protoplugin@2.15.0': - resolution: {integrity: sha512-vZhRoqB/jTHATqItRvJQf1zbxdrGRRhiusGty4+lKcfEFODG0PMXky2Ezv4WHHS6oSxq+5qShITuE7K1/82SuQ==} + '@bufbuild/protoplugin@2.16.0': + resolution: {integrity: sha512-3FdYJys34VhFnBQsjiV9wurBkX/DBACQAkAk+nCKdO1p8ROVNi7gmaRAcba+4qq8hQq8rYVukuutwvGCvd4kJA==} '@connectrpc/connect-node@2.2.0': resolution: {integrity: sha512-E6uUO6e11WdynAuBjuN+0WpHjqxEM9BNDdfDIJHcn49Esg/WxSIbn2y1KFt9XL96IJi01qdBbvubcdpBz1X3Zw==} @@ -600,27 +600,27 @@ packages: resolution: {integrity: sha512-Y6+WUMsTFWE5jb20IFP4YGa5IrGY/+a/FbOSjDF/wz9gepU2hwCYSXRHP/vPwBvwcY3SVMASt4yXxbXNXigmZQ==} engines: {node: '>=18'} - '@effect/language-service@0.87.2': - resolution: {integrity: sha512-CfiSoaVQO8pZgaMZGw5VvMvRGybsJ2LaSDoLYaqiVGvo/YYPYVR2GzUKY0h1NtIweq/+SQ5XLrvtzPIttWQ0GQ==} + '@effect/language-service@0.87.3': + resolution: {integrity: sha512-g1OmRBZF5chbW9QMNoirPo5Bb4zzU2HfP88tR7/VSZEUxHJ1/qVb8AQ0kUh2ggctLH1I715yCwP4gkw56PTjpQ==} hasBin: true - '@effect/platform-node-shared@4.0.0-rc.117': - resolution: {integrity: sha512-GyRkEfLBG49MwJe+/XDPiXYcQ44RA9p2z0AurlsWhR1cd1PqOUMEZU1pORL+/R5hR8aH6ZuqoJYD8lAc6h+wlA==} + '@effect/platform-node-shared@4.0.0': + resolution: {integrity: sha512-VBXHJU9UXVZPdQGGDRjGXpo+TpOzRwZuMrdKAtIxi1qwcRftmacZ1zTgIrzBa0Z2RA2KVkoOecQUsTlt/nJZhw==} engines: {node: '>=18.0.0'} peerDependencies: - effect: ^4.0.0-rc.117 + effect: ^4.0.0 - '@effect/platform-node@4.0.0-rc.117': - resolution: {integrity: sha512-WbPcvQDkqXFnCeG6LohJ9eVNapCDhZbCpezhYKxm0IsZEk7swakRh7RkC1t2CXzd3hGmszTv2k9e/pXyZuL+wQ==} + '@effect/platform-node@4.0.0': + resolution: {integrity: sha512-/L+4MUbl8FejPKLHLROYSOebvHnfixkP8KiblSD/DE5uH5xENZBHaux4nH6XMnRP+lr8ajpEJFS8sUrmmxFJeQ==} engines: {node: '>=18.0.0'} peerDependencies: - effect: ^4.0.0-rc.117 + effect: ^4.0.0 redis: '>=5.0.0 <7.0.0' - '@effect/vitest@4.0.0-rc.117': - resolution: {integrity: sha512-jJg9M7T3OhTcvoD9Zi28S5+0H+axlSHAYjXM8TYeLJy/FVlPe0B/Vc3ZfaqUF0rwkfQ6ziyCdjiBS46+182H1Q==} + '@effect/vitest@4.0.0': + resolution: {integrity: sha512-kGElCPFGtP+CgMCwV/HjJWqtE3zYo6I1+8MSA54l+EI24lPU9p2Efa+TBp1jfkg9j711KKzEqgSAy3VzTsb76Q==} peerDependencies: - effect: ^4.0.0-rc.117 + effect: ^4.0.0 vitest: '>=5.0.0 <6.0.0' '@esbuild/aix-ppc64@0.27.2': @@ -1459,12 +1459,12 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@26.0.0': - resolution: {integrity: sha512-vf2YFi1iY9lHGwNJMs01biZFbKJkrZR1T6/MlzjhJLPdntOHLhTrDSnSVcdtvjihi4VQNlrFRIxLsDBlQpAipA==} - '@types/node@26.6.2': resolution: {integrity: sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==} + '@types/node@26.6.3': + resolution: {integrity: sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==} + '@types/qs@6.14.0': resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} @@ -1566,11 +1566,11 @@ packages: peerDependencies: valibot: ^1.5.0 - '@vitest/coverage-v8@5.0.2': - resolution: {integrity: sha512-3ffHBEi8DOOBLwIGBhOBZbRfYFYWjMUuxZicONdhuFEFEG5AVsMOSrVeuROskqnqpbOmEJwxM2eTVZ9N3a1t+A==} + '@vitest/coverage-v8@5.0.3': + resolution: {integrity: sha512-+klsyz7BvT1vCU28Zkfzms1Ia78XD0V41U3FUtRaa3S+vOr/EXvK1O6BvVD7l1RzEjm6SONR2aybOvDDf9u0mQ==} peerDependencies: - '@vitest/browser': 5.0.2 - vitest: 5.0.2 + '@vitest/browser': 5.0.3 + vitest: 5.0.3 peerDependenciesMeta: '@vitest/browser': optional: true @@ -1583,8 +1583,8 @@ packages: resolution: {integrity: sha512-1EOLRfsTMnyAr3+kEAsP4o9dhaDlGPpD7H5iLBBeq//YpNB1VIahkPhB+eRp9N2Dkfw8oySROjE3yf9XDeaIkQ==} engines: {node: '>=22'} - '@vitest/mocker@5.0.2': - resolution: {integrity: sha512-Z5FS00Q1SJHkB35xATsmWGdQ5WA1/0MV3CDjqyv7GavHv1OfOj145MNfHOlHk7QLes21dKFDHr8EO2zvL+9WGA==} + '@vitest/mocker@5.0.3': + resolution: {integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1594,19 +1594,19 @@ packages: vite: optional: true - '@vitest/pretty-format@5.0.2': - resolution: {integrity: sha512-YHM+mQQ7N1ROHMugJ7P/M+fC/q1G4zs/iAMZZCvhHcY8WkwPQcXBHD+z18oz+808Cfa12K7jOr3XPQMcLIovjw==} + '@vitest/pretty-format@5.0.3': + resolution: {integrity: sha512-3hr5eV5z2ff0l2Q1vaKQbB4j3M3tElw8stDokEOTqXJB3Es5VrT8gBRIMY59gGuFp8Y61sWlWFK1aNUH5dHDYw==} - '@vitest/spy@5.0.2': - resolution: {integrity: sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg==} + '@vitest/spy@5.0.3': + resolution: {integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==} - '@vitest/ui@5.0.2': - resolution: {integrity: sha512-FRGWhLK/S+aaAtty/5d+jTtY5l+9pGNcjz6IHbyUiP3VWs6a+zIgU4lc1SzWCR7H+OXgetAI06i/VpCWQmVorQ==} + '@vitest/ui@5.0.3': + resolution: {integrity: sha512-9dfvqDBvSbHM6y9YVXxAypkl2z7mrWozK/JFo237qI0cj/3M/kzDKiVZqzi3TE54Ler7Jditud7OMBZCyUvRHA==} peerDependencies: - vitest: 5.0.2 + vitest: 5.0.3 - '@vitest/utils@5.0.2': - resolution: {integrity: sha512-mgpUtxFhKeOKVaArBVHNJGdYHAeRh135o59l13uVmPUCS1OUtis5pBqXEgE25iqRgFqEBwXvJlkhknRsYnMeqg==} + '@vitest/utils@5.0.3': + resolution: {integrity: sha512-77fDTZv8eu1CzlIfgPU2yrl5MXSUaUAOvgdZEeVm3X3WIxUubIX2SforqS6176lT32HCF6uBVMYVqfHxw7o6eg==} '@vue/compiler-core@3.5.26': resolution: {integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==} @@ -1992,8 +1992,8 @@ packages: effect@3.22.2: resolution: {integrity: sha512-fm1CQXCs7GTMwpadZxwU5rnAb2bN6mbQpknq/pXBGCzSKkosNYb9k0wsoL0TfB10rSa5xOEZJjo77u/KLXSANg==} - effect@4.0.0-rc.117: - resolution: {integrity: sha512-UUyi9QiOW4nySFIBM3KnYbNMd9EZliOdKfBcyLD0mPMPheO2fkuXS5y0opjWc9oqzlJxPQICEGm8gGw3kh9j/w==} + effect@4.0.0: + resolution: {integrity: sha512-ooc1TG5t+FfzgYnFz2ff6BBKyZ7EwBRVXC7c4RhQUAD6/TZ2gTXXMeb4WX7a19ozQo4J73/QW+S00YAIresoMQ==} electron-to-chromium@1.5.278: resolution: {integrity: sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==} @@ -3223,9 +3223,6 @@ packages: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} - undici-types@8.3.0: - resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} - undici-types@8.9.0: resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} @@ -3276,8 +3273,8 @@ packages: resolution: {integrity: sha512-zj/ob3UsvJGN0whEAKFp53REA5X66hvffVqoCtVQAakJKnKlH+/PcOfMoFwIG/o4rElqLv/ycAFlx8ZlXUorCg==} engines: {node: '>=18.12.0'} - viem@2.56.9: - resolution: {integrity: sha512-UC1G0Qz+RbPKqwl6yRrp3dH6ltrOmUcFJMTcOyE1Mg0nO5lxrEBTONh/8OFWPnALGuN/O7LkNcz/IsSj83Svqw==} + viem@2.57.2: + resolution: {integrity: sha512-ZbPvu+5fvRsbFh+OymDz0GyEySsSco8GWrEAiHM4ckhEY1vJTPy0tcLVkn0cs70dPiUOjLxkQBnfVyt9YkJ7cA==} peerDependencies: typescript: ^6.0.3 peerDependenciesMeta: @@ -3332,20 +3329,20 @@ packages: vitest-mock-express@2.2.0: resolution: {integrity: sha512-JoKVdo9KM4K5wo9GcQ0GabiRFU5XP2yJVMFv9R/C6arcv5wTPoDAiama2jJelO/ieIq+XcGETLr/V4vjCuqofA==} - vitest@5.0.2: - resolution: {integrity: sha512-7MQrx9pDv5aHiUcovIb/70Ys3tgtkUVgCtledvKdCmEO+/1Dicq5ZqoSxOW034m03oqC+oHOKui2dM6qtMLoJg==} + vitest@5.0.3: + resolution: {integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==} engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 5.0.2 - '@vitest/browser-preview': 5.0.2 + '@vitest/browser-playwright': 5.0.3 + '@vitest/browser-preview': 5.0.3 '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 - '@vitest/coverage-istanbul': 5.0.2 - '@vitest/coverage-v8': 5.0.2 - '@vitest/ui': 5.0.2 + '@vitest/coverage-istanbul': 5.0.3 + '@vitest/coverage-v8': 5.0.3 + '@vitest/ui': 5.0.3 happy-dom: '*' jsdom: '*' vite: ^6.4.0 || ^7.0.0 || ^8.0.0 @@ -3390,8 +3387,8 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - why-is-node-running@3.2.2: - resolution: {integrity: sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A==} + why-is-node-running@3.2.1: + resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==} engines: {node: '>=20.11'} hasBin: true @@ -3414,8 +3411,8 @@ packages: utf-8-validate: optional: true - ws@8.21.3: - resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + ws@8.22.0: + resolution: {integrity: sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -3726,63 +3723,63 @@ snapshots: '@bufbuild/buf-win32-arm64': 1.73.0 '@bufbuild/buf-win32-x64': 1.73.0 - '@bufbuild/protobuf@2.15.0': {} + '@bufbuild/protobuf@2.16.0': {} - '@bufbuild/protoc-gen-es@2.15.0(@bufbuild/protobuf@2.15.0)(supports-color@7.2.0)': + '@bufbuild/protoc-gen-es@2.16.0(@bufbuild/protobuf@2.16.0)(supports-color@7.2.0)': dependencies: - '@bufbuild/protoplugin': 2.15.0(supports-color@7.2.0) + '@bufbuild/protoplugin': 2.16.0(supports-color@7.2.0) optionalDependencies: - '@bufbuild/protobuf': 2.15.0 + '@bufbuild/protobuf': 2.16.0 transitivePeerDependencies: - supports-color - '@bufbuild/protoplugin@2.15.0(supports-color@7.2.0)': + '@bufbuild/protoplugin@2.16.0(supports-color@7.2.0)': dependencies: - '@bufbuild/protobuf': 2.15.0 + '@bufbuild/protobuf': 2.16.0 '@typescript/vfs': 1.6.2(supports-color@7.2.0)(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@connectrpc/connect-node@2.2.0(@bufbuild/protobuf@2.15.0)(@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.15.0))': + '@connectrpc/connect-node@2.2.0(@bufbuild/protobuf@2.16.0)(@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.16.0))': dependencies: - '@bufbuild/protobuf': 2.15.0 - '@connectrpc/connect': 2.2.0(@bufbuild/protobuf@2.15.0) + '@bufbuild/protobuf': 2.16.0 + '@connectrpc/connect': 2.2.0(@bufbuild/protobuf@2.16.0) - '@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.15.0)': + '@connectrpc/connect@2.2.0(@bufbuild/protobuf@2.16.0)': dependencies: - '@bufbuild/protobuf': 2.15.0 + '@bufbuild/protobuf': 2.16.0 '@dependents/detective-less@5.0.1': dependencies: gonzales-pe: 4.3.0 node-source-walk: 7.0.1 - '@effect/language-service@0.87.2': {} + '@effect/language-service@0.87.3': {} - '@effect/platform-node-shared@4.0.0-rc.117(effect@4.0.0-rc.117)': + '@effect/platform-node-shared@4.0.0(effect@4.0.0)': dependencies: '@types/ws': 8.18.1 - effect: 4.0.0-rc.117 - ws: 8.21.3 + effect: 4.0.0 + ws: 8.22.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@4.0.0-rc.117(effect@4.0.0-rc.117)(redis@6.2.1)': + '@effect/platform-node@4.0.0(effect@4.0.0)(redis@6.2.1)': dependencies: - '@effect/platform-node-shared': 4.0.0-rc.117(effect@4.0.0-rc.117) - effect: 4.0.0-rc.117 + '@effect/platform-node-shared': 4.0.0(effect@4.0.0) + effect: 4.0.0 redis: 6.2.1 undici: 8.11.2 transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/vitest@4.0.0-rc.117(effect@4.0.0-rc.117)(vitest@5.0.2)': + '@effect/vitest@4.0.0(effect@4.0.0)(vitest@5.0.3)': dependencies: - effect: 4.0.0-rc.117 - vitest: 5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + effect: 4.0.0 + vitest: 5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) '@esbuild/aix-ppc64@0.27.2': optional: true @@ -3868,32 +3865,32 @@ snapshots: '@inquirer/ansi@2.0.8': {} - '@inquirer/checkbox@5.2.5(@types/node@26.6.2)': + '@inquirer/checkbox@5.2.5(@types/node@26.6.3)': dependencies: '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.2) + '@inquirer/core': 12.0.3(@types/node@26.6.3) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.3) optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 - '@inquirer/core@12.0.3(@types/node@26.6.2)': + '@inquirer/core@12.0.3(@types/node@26.6.3)': dependencies: '@inquirer/ansi': 2.0.8 '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.2) + '@inquirer/type': 4.1.1(@types/node@26.6.3) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@inquirer/figures@2.0.9': {} - '@inquirer/type@4.1.1(@types/node@26.6.2)': + '@inquirer/type@4.1.1(@types/node@26.6.3)': optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -4330,7 +4327,7 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/chai@5.2.3': dependencies: @@ -4339,7 +4336,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/deep-eql@4.0.2': {} @@ -4347,7 +4344,7 @@ snapshots: '@types/express-serve-static-core@4.19.7': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -4369,11 +4366,11 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@26.0.0': + '@types/node@26.6.2': dependencies: - undici-types: 8.3.0 + undici-types: 8.9.0 - '@types/node@26.6.2': + '@types/node@26.6.3': dependencies: undici-types: 8.9.0 @@ -4384,21 +4381,21 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/send@1.2.1': dependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 26.6.2 + '@types/node': 26.6.3 '@types/send': 0.17.6 '@types/ws@8.18.1': dependencies: - '@types/node': 26.0.0 + '@types/node': 26.6.2 '@typescript-eslint/project-service@8.50.0(supports-color@7.2.0)(typescript@6.0.3)': dependencies: @@ -4477,7 +4474,7 @@ snapshots: dependencies: valibot: 1.5.0(typescript@6.0.3) - '@vitest/coverage-v8@5.0.2(vitest@5.0.2)': + '@vitest/coverage-v8@5.0.3(vitest@5.0.3)': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/istanbul-lib-coverage': 1.0.1 @@ -4487,7 +4484,7 @@ snapshots: obug: 2.2.1 std-env: 4.2.0 tinyrainbow: 3.1.1 - vitest: 5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + vitest: 5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) '@vitest/istanbul-lib-coverage@1.0.1': {} @@ -4495,34 +4492,34 @@ snapshots: dependencies: '@vitest/istanbul-lib-coverage': 1.0.1 - '@vitest/mocker@5.0.2(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0))': + '@vitest/mocker@5.0.3(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0))': dependencies: '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.2 + '@vitest/spy': 5.0.3 estree-walker: 3.0.3 magic-string: 1.4.2 optionalDependencies: - vite: 7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0) + vite: 7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0) - '@vitest/pretty-format@5.0.2': + '@vitest/pretty-format@5.0.3': dependencies: tinyrainbow: 3.1.1 - '@vitest/spy@5.0.2': {} + '@vitest/spy@5.0.3': {} - '@vitest/ui@5.0.2(vitest@5.0.2)': + '@vitest/ui@5.0.3(vitest@5.0.3)': dependencies: - '@vitest/utils': 5.0.2 + '@vitest/utils': 5.0.3 fflate: 0.8.3 flatted: 3.4.4 pathe: 2.0.3 sirv: 3.0.2 tinyrainbow: 3.1.1 - vitest: 5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + vitest: 5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) - '@vitest/utils@5.0.2': + '@vitest/utils@5.0.3': dependencies: - '@vitest/pretty-format': 5.0.2 + '@vitest/pretty-format': 5.0.3 convert-source-map: 2.0.0 tinyrainbow: 3.1.1 @@ -4904,7 +4901,7 @@ snapshots: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 - effect@4.0.0-rc.117: {} + effect@4.0.0: {} electron-to-chromium@1.5.278: {} @@ -5953,9 +5950,9 @@ snapshots: transitivePeerDependencies: - supports-color - rulesync@19.0.0(@types/node@26.6.2)(ajv-formats@3.0.1(ajv@8.17.1))(ajv@8.17.1)(jose@6.2.12)(openapi-types@12.1.3)(supports-color@7.2.0)(valibot@1.5.0(typescript@6.0.3)): + rulesync@19.0.0(@types/node@26.6.3)(ajv-formats@3.0.1(ajv@8.17.1))(ajv@8.17.1)(jose@6.2.12)(openapi-types@12.1.3)(supports-color@7.2.0)(valibot@1.5.0(typescript@6.0.3)): dependencies: - '@inquirer/checkbox': 5.2.5(@types/node@26.6.2) + '@inquirer/checkbox': 5.2.5(@types/node@26.6.3) '@modelcontextprotocol/sdk': 1.30.0(supports-color@7.2.0)(zod@4.6.5) '@octokit/request-error': 7.1.2 '@octokit/rest': 22.0.1 @@ -6230,8 +6227,6 @@ snapshots: uint8array-extras@1.5.0: {} - undici-types@8.3.0: {} - undici-types@8.9.0: {} undici@8.11.2: {} @@ -6262,7 +6257,7 @@ snapshots: verkit@0.3.2: {} - viem@2.56.9(typescript@6.0.3)(zod@4.4.3): + viem@2.57.2(typescript@6.0.3)(zod@4.4.3): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 @@ -6279,17 +6274,17 @@ snapshots: - utf-8-validate - zod - vite-tsconfig-paths@6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)): + vite-tsconfig-paths@6.1.1(supports-color@7.2.0)(typescript@6.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)): dependencies: debug: 4.4.3(supports-color@7.2.0) globrex: 0.1.2 tsconfck: 3.1.6(typescript@6.0.3) - vite: 7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0) + vite: 7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0) transitivePeerDependencies: - supports-color - typescript - vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0): + vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.7) @@ -6298,7 +6293,7 @@ snapshots: rollup: 4.56.0 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.6.2 + '@types/node': 26.6.3 fsevents: 2.3.3 jiti: 2.7.0 yaml: 2.9.0 @@ -6307,10 +6302,10 @@ snapshots: dependencies: '@types/express': 4.17.25 - vitest@5.0.2(@types/node@26.6.2)(@vitest/coverage-v8@5.0.2)(@vitest/ui@5.0.2)(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)): + vitest@5.0.3(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(@vitest/ui@5.0.3)(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.2(vite@7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0)) + '@vitest/mocker': 5.0.3(vite@7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -6321,12 +6316,12 @@ snapshots: tinybench: 6.2.0 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 7.3.1(@types/node@26.6.2)(jiti@2.7.0)(yaml@2.9.0) - why-is-node-running: 3.2.2 + vite: 7.3.1(@types/node@26.6.3)(jiti@2.7.0)(yaml@2.9.0) + why-is-node-running: 3.2.1 optionalDependencies: - '@types/node': 26.6.2 - '@vitest/coverage-v8': 5.0.2(vitest@5.0.2) - '@vitest/ui': 5.0.2(vitest@5.0.2) + '@types/node': 26.6.3 + '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) + '@vitest/ui': 5.0.3(vitest@5.0.3) transitivePeerDependencies: - msw @@ -6344,7 +6339,7 @@ snapshots: dependencies: isexe: 3.1.1 - why-is-node-running@3.2.2: {} + why-is-node-running@3.2.1: {} wrap-ansi@9.0.2: dependencies: @@ -6356,7 +6351,7 @@ snapshots: ws@8.21.0: {} - ws@8.21.3: {} + ws@8.22.0: {} wsl-utils@1.0.0: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bdab9df..71ffb50 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,15 +14,15 @@ allowBuilds: tldjs: false catalog: - "@effect/language-service": ^0.87.2 - "@effect/platform-node": ^4.0.0-rc.117 - "@effect/vitest": ^4.0.0-rc.117 - "@vitest/coverage-v8": ^5.0.2 - "@vitest/ui": ^5.0.2 - "@types/node": ^26.6.2 - "effect": ^4.0.0-rc.117 - "viem": ^2.56.9 - "vitest": ^5.0.2 + "@effect/language-service": ^0.87.3 + "@effect/platform-node": ^4.0.0 + "@effect/vitest": ^4.0.0 + "@vitest/coverage-v8": ^5.0.3 + "@vitest/ui": ^5.0.3 + "@types/node": ^26.6.3 + "effect": ^4.0.0 + "viem": ^2.57.2 + "vitest": ^5.0.3 minimumReleaseAgeExclude: - '@bufbuild/protobuf@2.12.1' @@ -56,5 +56,9 @@ minimumReleaseAgeExclude: - '@vitest/spy@5.0.2' - '@vitest/ui@5.0.2' - '@vitest/utils@5.0.2' - - viem@2.56.9 + - viem@2.56.9 || 2.57.2 - vitest@5.0.2 + - '@effect/platform-node-shared@4.0.0' + - '@effect/platform-node@4.0.0' + - '@effect/vitest@4.0.0' + - effect@4.0.0