diff --git a/apps/connect/package.json b/apps/connect/package.json index e4411dc3..c0ae74cd 100644 --- a/apps/connect/package.json +++ b/apps/connect/package.json @@ -24,7 +24,7 @@ "@tanstack/react-router-devtools": "^1.122.0", "@xstate/store": "^3.5.1", "clsx": "^2.1.1", - "effect": "^3.16.12", + "effect": "^3.16.16", "framer-motion": "^12.10.1", "graphql-request": "^7.2.0", "lucide-react": "^0.508.0", diff --git a/apps/events/package.json b/apps/events/package.json index e511914b..9305d453 100644 --- a/apps/events/package.json +++ b/apps/events/package.json @@ -11,6 +11,7 @@ "@graphprotocol/grc-20": "^0.21.6", "@graphprotocol/hypergraph": "workspace:*", "@graphprotocol/hypergraph-react": "workspace:*", + "@graphprotocol/typesync": "workspace:*", "@noble/hashes": "^1.8.0", "@radix-ui/react-avatar": "^1.1.9", "@radix-ui/react-icons": "^1.3.2", @@ -21,7 +22,7 @@ "@xstate/store": "^3.5.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "effect": "^3.16.12", + "effect": "^3.16.16", "framer-motion": "^12.10.1", "graphql-request": "^7.1.2", "isomorphic-ws": "^5.0.0", diff --git a/apps/events/src/mapping.ts b/apps/events/src/mapping.ts index 49b98e46..0ca8e539 100644 --- a/apps/events/src/mapping.ts +++ b/apps/events/src/mapping.ts @@ -1,5 +1,5 @@ import { Id } from '@graphprotocol/grc-20'; -import type { Mapping } from '@graphprotocol/hypergraph'; +import type { Mapping } from '@graphprotocol/typesync/Mapping'; export const mapping: Mapping = { Event: { diff --git a/apps/events/tsconfig.app.json b/apps/events/tsconfig.app.json index 0ce5612c..058a609b 100644 --- a/apps/events/tsconfig.app.json +++ b/apps/events/tsconfig.app.json @@ -35,7 +35,9 @@ "@graphprotocol/hypergraph": ["../../packages/hypergraph/src/index.js"], "@graphprotocol/hypergraph/*": ["../../packages/hypergraph/src/*.js"], "@graphprotocol/hypergraph-react": ["../../packages/hypergraph-react/src/index.js"], - "@graphprotocol/hypergraph-react/*": ["../../packages/hypergraph-react/src/*.js"] + "@graphprotocol/hypergraph-react/*": ["../../packages/hypergraph-react/src/*.js"], + "@graphprotocol/typesync": ["../../packages/typesync/src/index.js"], + "@graphprotocol/typesync/*": ["../../packages/typesync/src/*.js"] } } } diff --git a/apps/server/package.json b/apps/server/package.json index 26d279f8..cde490e6 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -19,7 +19,7 @@ "@privy-io/server-auth": "^1.26.0", "body-parser": "^2.2.0", "cors": "^2.8.5", - "effect": "^3.16.12", + "effect": "^3.16.16", "express": "^5.1.0", "prisma": "^6.7.0", "siwe": "^3.0.0", diff --git a/apps/typesync/client/src/Components/App/CreateAppForm/SchemaBuilder/TypeSelect.tsx b/apps/typesync/client/src/Components/App/CreateAppForm/SchemaBuilder/TypeSelect.tsx index 1e081ba0..38bb29c2 100644 --- a/apps/typesync/client/src/Components/App/CreateAppForm/SchemaBuilder/TypeSelect.tsx +++ b/apps/typesync/client/src/Components/App/CreateAppForm/SchemaBuilder/TypeSelect.tsx @@ -19,7 +19,7 @@ class RelationTypeOption extends Schema.Class('/hypergraph/t const typeOptions: Array = [ TypeOption.make({ id: 'DefaultEntityText', name: 'Text' }), TypeOption.make({ id: 'DefaultEntityNumber', name: 'Number' }), - TypeOption.make({ id: 'DefaultEntityBoolean', name: 'Boolean' }), + TypeOption.make({ id: 'DefaultEntityCheckbox', name: 'Checkbox' }), TypeOption.make({ id: 'DefaultEntityDate', name: 'Date' }), TypeOption.make({ id: 'DefaultEntityUrl', name: 'Url' }), TypeOption.make({ id: 'DefaultEntityPoint', name: 'Point' }), diff --git a/apps/typesync/client/src/routes/apps/create.tsx b/apps/typesync/client/src/routes/apps/create.tsx index af502958..4643fdc2 100644 --- a/apps/typesync/client/src/routes/apps/create.tsx +++ b/apps/typesync/client/src/routes/apps/create.tsx @@ -1,5 +1,6 @@ 'use client'; +import { isDataTypeRelation } from '@graphprotocol/typesync/Mapping'; import { ArrowUturnLeftIcon, CheckCircleIcon, @@ -14,7 +15,7 @@ import { Link, createFileRoute } from '@tanstack/react-router'; import { Array as EffectArray, String as EffectString, Option, Schema, pipe } from 'effect'; import { useState } from 'react'; -import { InsertAppSchema, isDataTypeRelation } from '../../../../domain/Domain.js'; +import { InsertAppSchema } from '../../../../domain/Domain.js'; import { SchemaBrowser } from '../../Components/App/CreateAppForm/SchemaBuilder/SchemaBrowser.js'; import { useAppForm } from '../../Components/App/CreateAppForm/useCreateAppForm.js'; @@ -98,7 +99,8 @@ function CreateAppPage() { defaultValues, validators: { onChangeAsyncDebounceMs: 100, - onChange: Schema.standardSchemaV1(InsertAppSchema), + // biome-ignore lint/suspicious/noExplicitAny: fixes an issue with the prop.dataType type-string of `Relation(${name})` + onChange: Schema.standardSchemaV1(InsertAppSchema) as any, }, async onSubmit({ formApi, value }) { await mutateAsync(value).then(() => formApi.reset(undefined, { keepDefaultValues: true })); @@ -794,7 +796,7 @@ function CreateAppPage() { - + Cancel diff --git a/apps/typesync/client/src/utils/mapper.ts b/apps/typesync/client/src/utils/mapper.ts index 2f05c977..6cd2bfe8 100644 --- a/apps/typesync/client/src/utils/mapper.ts +++ b/apps/typesync/client/src/utils/mapper.ts @@ -1,11 +1,11 @@ -import type { SchemaDataType } from '../../../domain/Domain'; +import type { SchemaDataType } from '@graphprotocol/typesync/Mapping'; -import type { DataType } from '../generated/graphql'; +import type { DataTypes } from '../generated/graphql'; -export function mapKGDataTypeToPrimitiveType(dataType: DataType, entity: string): SchemaDataType { +export function mapKGDataTypeToPrimitiveType(dataType: DataTypes, entity: string): SchemaDataType { switch (dataType) { case 'CHECKBOX': { - return 'Boolean'; + return 'Checkbox'; } case 'NUMBER': { return 'Number'; diff --git a/apps/typesync/domain/Domain.ts b/apps/typesync/domain/Domain.ts index 65fd8c4c..69180c3b 100644 --- a/apps/typesync/domain/Domain.ts +++ b/apps/typesync/domain/Domain.ts @@ -1,83 +1,5 @@ -import { Array as EffectArray, String as EffectString, Schema, pipe } from 'effect'; - -function namesAreUnique(entries: ReadonlyArray): boolean { - const names = new Set(); - - for (const entry of entries) { - const name = EffectString.toLowerCase(entry.name); - if (names.has(name)) { - return false; - } - names.add(name); - } - - return true; -} - -export type DataTypeRelation = `Relation(${string})`; -export function isDataTypeRelation(val: string): val is DataTypeRelation { - return /^Relation\((.+)\)$/.test(val); -} - -export const SchemaDataTypeRelation = Schema.NonEmptyTrimmedString.pipe( - Schema.filter((val) => isDataTypeRelation(val)), -); -export type SchemaDataTypeRelation = typeof SchemaDataTypeRelation.Type; - -export const SchemaDataTypePrimitive = Schema.Literal('Text', 'Number', 'Boolean', 'Date', 'Point', 'Url'); -export type SchemaDataTypePrimitive = typeof SchemaDataTypePrimitive.Type; - -export const SchemaDataType = Schema.Union(SchemaDataTypePrimitive, SchemaDataTypeRelation); -export type SchemaDataType = typeof SchemaDataType.Type; - -export const SchemaTypePropertyRelation = Schema.Struct({ - name: Schema.NonEmptyTrimmedString, - knowledgeGraphId: Schema.NullOr(Schema.UUID), - dataType: Schema.NonEmptyTrimmedString, // The correct type for this is: `SchemaDataTypeRelation`. however, the standard schema definition to use in the form schema validation fails because of the `Relation(${string})` template string type. - relationType: Schema.NonEmptyTrimmedString.annotations({ - identifier: 'SchemaTypePropertyRelation.relationType', - description: 'name of the type within the schema that this property is related to', - examples: ['Account'], - }), -}); -export type SchemaTypePropertyRelation = typeof SchemaTypePropertyRelation.Type; - -export const SchemaTypePropertyPrimitive = Schema.Struct({ - name: Schema.NonEmptyTrimmedString, - knowledgeGraphId: Schema.NullOr(Schema.UUID), - dataType: SchemaDataTypePrimitive, -}); -export type SchemaTypePropertyPrimitive = typeof SchemaTypePropertyPrimitive.Type; - -export function propertyIsRelation( - property: SchemaTypePropertyPrimitive | SchemaTypePropertyRelation, -): property is SchemaTypePropertyRelation { - return isDataTypeRelation(property.dataType); -} - -export const SchemaType = Schema.Struct({ - name: Schema.NonEmptyTrimmedString, - knowledgeGraphId: Schema.NullOr(Schema.UUID), - properties: Schema.Array(Schema.Union(SchemaTypePropertyPrimitive, SchemaTypePropertyRelation)).pipe( - Schema.minItems(1), - Schema.filter(namesAreUnique, { - identifier: 'DuplicatePropertyNames', - jsonSchema: {}, - description: 'The property.name must be unique across all properties in the type', - }), - ), -}); -export type SchemaType = typeof SchemaType.Type; - -export function allRelationPropertyTypesExist(types: ReadonlyArray): boolean { - const unqTypeNames = EffectArray.reduce(types, new Set(), (names, curr) => names.add(curr.name)); - return pipe( - types, - EffectArray.flatMap((curr) => curr.properties), - EffectArray.filter((prop) => propertyIsRelation(prop)), - EffectArray.every((prop) => unqTypeNames.has(prop.relationType)), - ); -} +import { Mapping, Utils } from '@graphprotocol/typesync'; +import { Schema } from 'effect'; /** * Defines the type to be received by the app schema builder. @@ -88,9 +10,9 @@ export const InsertAppSchema = Schema.Struct({ description: Schema.NullOr(Schema.String), directory: Schema.NullOr(Schema.String.pipe(Schema.pattern(/^(\.\/|~\/|\/|[a-zA-Z]:\/)[\w\-\.\s\/]*[\w\-\.]$/))), template: Schema.Literal('vite_react'), - types: Schema.Array(SchemaType).pipe( + types: Schema.Array(Mapping.SchemaType).pipe( Schema.minItems(1), - Schema.filter(namesAreUnique, { + Schema.filter(Utils.namesAreUnique, { identifier: 'DuplicateTypeNames', jsonSchema: {}, description: 'The type.name must be unique across all types in the schema', diff --git a/apps/typesync/package.json b/apps/typesync/package.json index b92cf742..d637d272 100644 --- a/apps/typesync/package.json +++ b/apps/typesync/package.json @@ -38,20 +38,21 @@ "hypergraph": "pnpx tsx ./src/bin.ts typesync" }, "devDependencies": { - "@effect/cli": "^0.67.0", - "@effect/experimental": "^0.52.0", - "@effect/language-service": "^0.26.0", - "@effect/platform": "^0.88.0", - "@effect/platform-node": "^0.90.0", - "@effect/sql": "^0.41.0", - "@effect/sql-sqlite-node": "^0.42.0", - "@effect/vitest": "^0.24.0", + "@effect/cli": "^0.67.1", + "@effect/experimental": "^0.52.2", + "@effect/language-service": "^0.27.1", + "@effect/platform": "^0.88.1", + "@effect/platform-node": "^0.91.0", + "@effect/printer": "^0.44.14", + "@effect/sql": "^0.42.0", + "@effect/sql-sqlite-node": "^0.43.0", + "@effect/vitest": "^0.24.1", "@graphql-codegen/cli": "^5.0.7", "@graphql-codegen/client-preset": "^4.8.3", "@graphql-codegen/typescript": "^4.1.6", "@graphql-codegen/typescript-operations": "^4.6.1", - "@tanstack/router-plugin": "^1.127.5", - "@types/node": "^24.0.13", + "@tanstack/router-plugin": "^1.128.0", + "@types/node": "^24.0.14", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react": "^4.6.0", @@ -64,6 +65,7 @@ "dependencies": { "@graphql-typed-document-node/core": "^3.2.0", "@graphprotocol/grc-20": "^0.21.6", + "@graphprotocol/typesync": "^0.0.3", "@headlessui/react": "^2.2.4", "@heroicons/react": "^2.2.0", "@phosphor-icons/react": "^2.1.10", @@ -72,11 +74,11 @@ "@tanstack/react-form": "^1.14.1", "@tanstack/react-query": "^5.83.0", "@tanstack/react-query-devtools": "^5.83.0", - "@tanstack/react-router": "^1.127.3", - "@tanstack/react-router-devtools": "^1.127.3", + "@tanstack/react-router": "^1.128.0", + "@tanstack/react-router-devtools": "^1.128.0", "better-sqlite3": "^12.2.0", "date-fns": "^4.1.0", - "effect": "^3.16.13", + "effect": "^3.16.16", "graphql": "^16.11.0", "graphql-request": "^7.2.0", "jotai": "^2.12.5", diff --git a/apps/typesync/src/Database.ts b/apps/typesync/src/Database.ts index 57499fe9..09352fea 100644 --- a/apps/typesync/src/Database.ts +++ b/apps/typesync/src/Database.ts @@ -2,6 +2,7 @@ import { fileURLToPath } from 'node:url'; import { NodeContext } from '@effect/platform-node'; import { SqlClient, SqlError, SqlResolver, SqlSchema } from '@effect/sql'; import { SqliteMigrator as Migrator, SqliteClient } from '@effect/sql-sqlite-node'; +import { propertyIsRelation } from '@graphprotocol/typesync/Mapping'; import { Chunk, Console, Effect, Array as EffectArray, Layer, Option, Order, Schema, Stream } from 'effect'; import * as TypesyncDomain from '../domain/Domain.js'; @@ -234,9 +235,7 @@ export class DatabaseService extends Effect.Service()('/typesyn app_schema_type_id: createdType.id, name: property.name, type_name: property.dataType, - relation_type_name: TypesyncDomain.propertyIsRelation(property) - ? property.relationType - : null, + relation_type_name: propertyIsRelation(property) ? property.relationType : null, description: null, nullable: null, optional: null, diff --git a/apps/typesync/src/Generator.ts b/apps/typesync/src/Generator.ts index 26adb19a..0d701353 100644 --- a/apps/typesync/src/Generator.ts +++ b/apps/typesync/src/Generator.ts @@ -2,9 +2,11 @@ import { execSync } from 'node:child_process'; import { readdirSync } from 'node:fs'; import { FileSystem, Path, type Error as PlatformError } from '@effect/platform'; import { NodeFileSystem } from '@effect/platform-node'; -import { Cause, Console, Data, Effect, String as EffectString } from 'effect'; +import { Doc } from '@effect/printer'; +import { Mapping } from '@graphprotocol/typesync'; +import { Cause, Console, Data, Effect, Array as EffectArray, String as EffectString } from 'effect'; -import * as Domain from '../domain/Domain.js'; +import type * as Domain from '../domain/Domain.js'; import * as Utils from './Utils.js'; export class SchemaGenerator extends Effect.Service()('/typesync/services/Generator', { @@ -313,15 +315,15 @@ function fieldToEntityString({ return 'Type.Text'; case dataType === 'Number': return 'Type.Number'; - case dataType === 'Boolean': - return 'Type.Boolean'; + case dataType === 'Checkbox': + return 'Type.Checkbox'; case dataType === 'Date': return 'Type.Date'; case dataType === 'Url': return 'Type.Url'; case dataType === 'Point': return 'Type.Point'; - case Domain.isDataTypeRelation(dataType): + case Mapping.isDataTypeRelation(dataType): // renders the type as `Type.Relation(Entity)` return `Type.${dataType}`; default: @@ -361,57 +363,59 @@ function buildSchemaFile(schema: Domain.InsertAppSchema) { } export function buildMappingFile(schema: Domain.InsertAppSchema) { - const importStatement1 = `import { Id } from '@graphprotocol/grc-20';`; - const importStatement2 = `import type { Mapping } from '@graphprotocol/hypergraph';`; - - const typeMappings: string[] = []; - - for (const type of schema.types) { - // Skip types without a valid knowledgeGraphId - if (!type.knowledgeGraphId) { - continue; - } - - const properties: string[] = []; - const relations: string[] = []; - - // Process properties and relations - for (const property of type.properties) { - // Skip properties without a valid knowledgeGraphId - if (!property.knowledgeGraphId) { - continue; - } - - if (Domain.isDataTypeRelation(property.dataType)) { - // This is a relation - relations.push(` ${Utils.toCamelCase(property.name)}: Id.Id('${property.knowledgeGraphId}')`); - } else { - // This is a regular property - properties.push(` ${Utils.toCamelCase(property.name)}: Id.Id('${property.knowledgeGraphId}')`); - } + const [mapping] = Mapping.generateMapping({ + types: schema.types, + }); + + // Import statements + const imports = Doc.vsep([ + Doc.text("import { Id } from '@graphprotocol/grc-20';"), + Doc.text("import type { Mapping } from '@graphprotocol/typesync/Mapping';"), + ]); + + // Generate the mapping object - build it line by line for exact formatting + const mappingLines = [Doc.text('export const mapping: Mapping = {')]; + + for (const [typeName, typeData] of Object.entries(mapping)) { + mappingLines.push(Doc.text(` ${typeName}: {`)); + + // Type IDs + const typeIdsList = typeData.typeIds.map((id: string) => `Id.Id("${id}")`).join(', '); + mappingLines.push(Doc.text(` typeIds: [${typeIdsList}],`)); + + // Properties + const properties = Object.entries(typeData.properties ?? {}); + if (EffectArray.isNonEmptyArray(properties)) { + mappingLines.push(Doc.text(' properties: {')); + properties.forEach(([propName, propId], index, entries) => { + const isLast = index === entries.length - 1; + const comma = isLast ? '' : ','; + mappingLines.push(Doc.text(` ${propName}: Id.Id("${propId}")${comma}`)); + }); + mappingLines.push(Doc.text(' },')); } - const typeName = Utils.toPascalCase(type.name); - const typeMapping = ` ${typeName}: { - typeIds: [Id.Id('${type.knowledgeGraphId}')], - properties: { -${properties.join(',\n')}, - },${ - relations.length > 0 - ? ` - relations: { -${relations.join(',\n')}, - },` - : '' + // Relations + const relations = Object.entries(typeData.relations ?? {}); + if (EffectArray.isNonEmptyArray(relations)) { + mappingLines.push(Doc.text(' relations: {')); + relations.forEach(([relationName, relationId], index, entries) => { + const isLast = index === entries.length - 1; + const comma = isLast ? '' : ','; + mappingLines.push(Doc.text(` ${relationName}: Id.Id("${relationId}")${comma}`)); + }); + mappingLines.push(Doc.text(' },')); } - }`; - typeMappings.push(typeMapping); + mappingLines.push(Doc.text(' },')); } - const mappingString = `export const mapping: Mapping = { -${typeMappings.join(',\n')}, -};`; + mappingLines.push(Doc.rbrace); + + const compiled = Doc.vcat([imports, Doc.empty, ...mappingLines]); - return [importStatement1, importStatement2, '', mappingString].join('\n'); + return Doc.render(compiled, { + style: 'pretty', + options: { lineWidth: 120 }, + }); } diff --git a/apps/typesync/test/Dummy.test.ts b/apps/typesync/test/Dummy.test.ts deleted file mode 100644 index 6e63158c..00000000 --- a/apps/typesync/test/Dummy.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, expect, it } from '@effect/vitest'; - -describe('Dummy', () => { - it('should pass', () => { - expect(true).toBe(true); - }); -}); diff --git a/apps/typesync/test/Generator.test.ts b/apps/typesync/test/Generator.test.ts index d8a0f5d2..b4a1373b 100644 --- a/apps/typesync/test/Generator.test.ts +++ b/apps/typesync/test/Generator.test.ts @@ -6,27 +6,27 @@ import { buildMappingFile } from '../src/Generator.js'; describe('buildMappingFile', () => { it('should build a valid mapping file', () => { const expectedMapping = `import { Id } from '@graphprotocol/grc-20'; -import type { Mapping } from '@graphprotocol/hypergraph'; +import type { Mapping } from '@graphprotocol/typesync/Mapping'; export const mapping: Mapping = { Space: { - typeIds: [Id.Id('362c1dbd-dc64-44bb-a3c4-652f38a642d7')], + typeIds: [Id.Id("362c1dbd-dc64-44bb-a3c4-652f38a642d7")], properties: { - name: Id.Id('a126ca53-0c8e-48d5-b888-82c734c38935'), - description: Id.Id('9b1f76ff-9711-404c-861e-59dc3fa7d037'), + name: Id.Id("a126ca53-0c8e-48d5-b888-82c734c38935"), + description: Id.Id("9b1f76ff-9711-404c-861e-59dc3fa7d037") }, }, Activity: { - typeIds: [Id.Id('8275c359-4662-40fb-9aec-27177b520cd2')], + typeIds: [Id.Id("8275c359-4662-40fb-9aec-27177b520cd2")], properties: { - name: Id.Id('a126ca53-0c8e-48d5-b888-82c734c38935'), - description: Id.Id('9b1f76ff-9711-404c-861e-59dc3fa7d037'), + name: Id.Id("a126ca53-0c8e-48d5-b888-82c734c38935"), + description: Id.Id("9b1f76ff-9711-404c-861e-59dc3fa7d037") }, relations: { - relatedSpaces: Id.Id('5b722cd3-61d6-494e-8887-1310566437ba'), + relatedSpaces: Id.Id("5b722cd3-61d6-494e-8887-1310566437ba") }, }, -};`; +}`; const mapping = buildMappingFile({ name: 'test', @@ -67,137 +67,14 @@ export const mapping: Mapping = { { name: 'Related spaces', knowledgeGraphId: '5b722cd3-61d6-494e-8887-1310566437ba', - dataType: 'Relation(Related spaces)', - relationType: 'Related spaces', + dataType: 'Relation(Space)', + relationType: 'Space', }, ], }, ], }); - expect(mapping).toBe(expectedMapping); - }); - - it('should skip a type entry without a knowledgeGraphId', () => { - const expectedMapping = `import { Id } from '@graphprotocol/grc-20'; -import type { Mapping } from '@graphprotocol/hypergraph'; -export const mapping: Mapping = { - Space: { - typeIds: [Id.Id('362c1dbd-dc64-44bb-a3c4-652f38a642d7')], - properties: { - name: Id.Id('a126ca53-0c8e-48d5-b888-82c734c38935'), - description: Id.Id('9b1f76ff-9711-404c-861e-59dc3fa7d037'), - }, - }, -};`; - - const mapping = buildMappingFile({ - name: 'test', - description: 'test', - directory: 'test', - template: 'vite_react', - types: [ - { - name: 'Space', - knowledgeGraphId: '362c1dbd-dc64-44bb-a3c4-652f38a642d7', - properties: [ - { - name: 'Name', - knowledgeGraphId: 'a126ca53-0c8e-48d5-b888-82c734c38935', - dataType: 'Text', - }, - { - name: 'Description', - knowledgeGraphId: '9b1f76ff-9711-404c-861e-59dc3fa7d037', - dataType: 'Text', - }, - ], - }, - { - name: 'new type', - knowledgeGraphId: null, - properties: [ - { - name: 'new prop', - knowledgeGraphId: null, - dataType: 'Text', - }, - ], - }, - ], - }); - expect(mapping).toBe(expectedMapping); - }); - - it('should skip a property entry without a knowledgeGraphId', () => { - const expectedMapping = `import { Id } from '@graphprotocol/grc-20'; -import type { Mapping } from '@graphprotocol/hypergraph'; - -export const mapping: Mapping = { - Space: { - typeIds: [Id.Id('362c1dbd-dc64-44bb-a3c4-652f38a642d7')], - properties: { - name: Id.Id('a126ca53-0c8e-48d5-b888-82c734c38935'), - description: Id.Id('9b1f76ff-9711-404c-861e-59dc3fa7d037'), - }, - }, - Activity: { - typeIds: [Id.Id('8275c359-4662-40fb-9aec-27177b520cd2')], - properties: { - name: Id.Id('a126ca53-0c8e-48d5-b888-82c734c38935'), - }, - relations: { - relatedSpaces: Id.Id('5b722cd3-61d6-494e-8887-1310566437ba'), - }, - }, -};`; - - const mapping = buildMappingFile({ - name: 'test', - description: 'test', - directory: 'test', - template: 'vite_react', - types: [ - { - name: 'Space', - knowledgeGraphId: '362c1dbd-dc64-44bb-a3c4-652f38a642d7', - properties: [ - { - name: 'Name', - knowledgeGraphId: 'a126ca53-0c8e-48d5-b888-82c734c38935', - dataType: 'Text', - }, - { - name: 'Description', - knowledgeGraphId: '9b1f76ff-9711-404c-861e-59dc3fa7d037', - dataType: 'Text', - }, - ], - }, - { - name: 'Activity', - knowledgeGraphId: '8275c359-4662-40fb-9aec-27177b520cd2', - properties: [ - { - name: 'Name', - knowledgeGraphId: 'a126ca53-0c8e-48d5-b888-82c734c38935', - dataType: 'Text', - }, - { - name: 'Description', - knowledgeGraphId: null, - dataType: 'Text', - }, - { - name: 'Related spaces', - knowledgeGraphId: '5b722cd3-61d6-494e-8887-1310566437ba', - dataType: 'Relation(Related spaces)', - relationType: 'Related spaces', - }, - ], - }, - ], - }); expect(mapping).toBe(expectedMapping); }); }); diff --git a/apps/typesync/tsconfig.domain.json b/apps/typesync/tsconfig.domain.json index 43fc0a50..8a93d2f3 100644 --- a/apps/typesync/tsconfig.domain.json +++ b/apps/typesync/tsconfig.domain.json @@ -1,6 +1,7 @@ { "extends": "./tsconfig.base.json", "include": ["domain"], + "references": [{ "path": "../../packages/typesync/tsconfig.src.json" }], "compilerOptions": { "types": ["node"], "tsBuildInfoFile": ".tsbuildinfo/domain.tsbuildinfo", diff --git a/apps/typesync/tsconfig.src.json b/apps/typesync/tsconfig.src.json index fb4fa35d..74e99ae4 100644 --- a/apps/typesync/tsconfig.src.json +++ b/apps/typesync/tsconfig.src.json @@ -1,7 +1,7 @@ { "extends": "./tsconfig.base.json", "include": ["src"], - "references": [{ "path": "./tsconfig.domain.json" }], + "references": [{ "path": "./tsconfig.domain.json" }, { "path": "../../packages/typesync/tsconfig.src.json" }], "compilerOptions": { "types": ["node"], "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", diff --git a/packages/hypergraph-react/package.json b/packages/hypergraph-react/package.json index 78111416..6ee61536 100644 --- a/packages/hypergraph-react/package.json +++ b/packages/hypergraph-react/package.json @@ -25,10 +25,12 @@ }, "peerDependencies": { "@graphprotocol/hypergraph": "workspace:*", + "@graphprotocol/typesync": "workspace:*", "react": "^18.0.0 || ^19.0.0" }, "devDependencies": { "@graphprotocol/hypergraph": "workspace:*", + "@graphprotocol/typesync": "workspace:*", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@types/react": "^19.1.3", @@ -44,7 +46,7 @@ "@graphprotocol/grc-20": "^0.21.6", "@noble/hashes": "^1.8.0", "@tanstack/react-query": "^5.75.5", - "effect": "^3.16.12", + "effect": "^3.16.16", "graphql-request": "^7.1.2", "siwe": "^3.0.0", "uuid": "^11.1.0", diff --git a/packages/hypergraph-react/src/HypergraphAppContext.tsx b/packages/hypergraph-react/src/HypergraphAppContext.tsx index cda378bc..e84e5636 100644 --- a/packages/hypergraph-react/src/HypergraphAppContext.tsx +++ b/packages/hypergraph-react/src/HypergraphAppContext.tsx @@ -15,13 +15,13 @@ import { type InboxMessageStorageEntry, Inboxes, Key, - type Mapping, Messages, SpaceEvents, type SpaceStorageEntry, Utils, store, } from '@graphprotocol/hypergraph'; +import type { Mapping } from '@graphprotocol/typesync/Mapping'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useSelector as useSelectorStore } from '@xstate/store/react'; import { Effect, Exit } from 'effect'; diff --git a/packages/hypergraph-react/src/internal/use-query-public.tsx b/packages/hypergraph-react/src/internal/use-query-public.tsx index b34426a1..7d96b2f4 100644 --- a/packages/hypergraph-react/src/internal/use-query-public.tsx +++ b/packages/hypergraph-react/src/internal/use-query-public.tsx @@ -1,5 +1,6 @@ import { Graph } from '@graphprotocol/grc-20'; -import { type Entity, type Mapping, type MappingEntry, Type, store } from '@graphprotocol/hypergraph'; +import { type Entity, Type, store } from '@graphprotocol/hypergraph'; +import type { Mapping, MappingEntry } from '@graphprotocol/typesync/Mapping'; import { useQuery as useQueryTanstack } from '@tanstack/react-query'; import { useSelector } from '@xstate/store/react'; import * as Either from 'effect/Either'; diff --git a/packages/hypergraph-react/tsconfig.build.json b/packages/hypergraph-react/tsconfig.build.json index 8288bf50..a5c60258 100644 --- a/packages/hypergraph-react/tsconfig.build.json +++ b/packages/hypergraph-react/tsconfig.build.json @@ -1,7 +1,8 @@ { "extends": "./tsconfig.src.json", "references": [ - { "path": "../hypergraph/tsconfig.build.json" } + { "path": "../hypergraph/tsconfig.build.json" }, + { "path": "../typesync/tsconfig.build.json" } ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", diff --git a/packages/hypergraph-react/tsconfig.src.json b/packages/hypergraph-react/tsconfig.src.json index 857616cf..400aeb41 100644 --- a/packages/hypergraph-react/tsconfig.src.json +++ b/packages/hypergraph-react/tsconfig.src.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "include": ["src"], "references": [ - { "path": "../hypergraph/tsconfig.src.json" } + { "path": "../hypergraph/tsconfig.src.json" }, + { "path": "../typesync/tsconfig.src.json" } ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", diff --git a/packages/hypergraph-react/tsconfig.test.json b/packages/hypergraph-react/tsconfig.test.json index 2ec31f01..dc3df654 100644 --- a/packages/hypergraph-react/tsconfig.test.json +++ b/packages/hypergraph-react/tsconfig.test.json @@ -3,7 +3,8 @@ "include": ["test"], "references": [ { "path": "./tsconfig.src.json" }, - { "path": "../hypergraph/tsconfig.src.json" } + { "path": "../hypergraph/tsconfig.src.json" }, + { "path": "../typesync/tsconfig.src.json" } ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", diff --git a/packages/hypergraph/package.json b/packages/hypergraph/package.json index 7ce427f3..57492562 100644 --- a/packages/hypergraph/package.json +++ b/packages/hypergraph/package.json @@ -38,7 +38,11 @@ "build": "tsc -b --force tsconfig.build.json && babel dist --plugins annotate-pure-calls --out-dir dist --source-maps && node ../../scripts/package.mjs", "test": "vitest" }, + "peerDependencies": { + "@graphprotocol/typesync": "workspace:*" + }, "devDependencies": { + "@graphprotocol/typesync": "workspace:*", "@types/uuid": "^10.0.0" }, "dependencies": { @@ -54,7 +58,7 @@ "@serenity-kit/noble-sodium": "^0.2.1", "@xstate/store": "^3.5.1", "bs58check": "^4.0.0", - "effect": "^3.16.12", + "effect": "^3.16.16", "permissionless": "^0.2.47", "siwe": "^3.0.0", "uuid": "^11.1.0", diff --git a/packages/hypergraph/src/store.ts b/packages/hypergraph/src/store.ts index 11fc1026..aa5da70c 100644 --- a/packages/hypergraph/src/store.ts +++ b/packages/hypergraph/src/store.ts @@ -1,4 +1,5 @@ import type { AnyDocumentId, DocHandle, Repo } from '@automerge/automerge-repo'; +import type { Mapping } from '@graphprotocol/typesync/Mapping'; import { type Store, createStore } from '@xstate/store'; import type { PrivateAppIdentity } from './connect/types.js'; import type { DocumentContent } from './entity/types.js'; @@ -6,7 +7,6 @@ import { mergeMessages } from './inboxes/merge-messages.js'; import type { InboxSenderAuthPolicy } from './inboxes/types.js'; import type { Invitation, Updates } from './messages/index.js'; import type { SpaceEvent, SpaceState } from './space-events/index.js'; -import type { Mapping } from './types.js'; import { idToAutomergeId } from './utils/automergeId.js'; export type InboxMessageStorageEntry = { diff --git a/packages/hypergraph/src/types.ts b/packages/hypergraph/src/types.ts index 96e5b89f..0f269b73 100644 --- a/packages/hypergraph/src/types.ts +++ b/packages/hypergraph/src/types.ts @@ -1,4 +1,3 @@ -import type { Id as Grc20Id } from '@graphprotocol/grc-20'; import * as Data from 'effect/Data'; import * as Schema from 'effect/Schema'; @@ -49,17 +48,3 @@ export class FailedToParseConnectAuthUrl extends Data.TaggedError('FailedToParse export class FailedToParseAuthCallbackUrl extends Data.TaggedError('FailedToParseAuthCallbackUrl')<{ message: string; }> {} - -export type MappingEntry = { - typeIds: Grc20Id.Id[]; - properties?: { - [key: string]: Grc20Id.Id; - }; - relations?: { - [key: string]: Grc20Id.Id; - }; -}; - -export type Mapping = { - [key: string]: MappingEntry; -}; diff --git a/packages/hypergraph/tsconfig.build.json b/packages/hypergraph/tsconfig.build.json index fc59560f..c5a49a5d 100644 --- a/packages/hypergraph/tsconfig.build.json +++ b/packages/hypergraph/tsconfig.build.json @@ -1,5 +1,8 @@ { "extends": "./tsconfig.src.json", + "references": [ + { "path": "../typesync/tsconfig.build.json" } + ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/build.tsbuildinfo", "outDir": "dist", diff --git a/packages/hypergraph/tsconfig.src.json b/packages/hypergraph/tsconfig.src.json index db90507a..56a5e1c2 100644 --- a/packages/hypergraph/tsconfig.src.json +++ b/packages/hypergraph/tsconfig.src.json @@ -1,6 +1,9 @@ { "extends": "../../tsconfig.base.json", "include": ["src", "src/connect/abis/*.json"], + "references": [ + { "path": "../typesync/tsconfig.src.json" } + ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/src.tsbuildinfo", "rootDir": "src" diff --git a/packages/hypergraph/tsconfig.test.json b/packages/hypergraph/tsconfig.test.json index b1266154..52deb555 100644 --- a/packages/hypergraph/tsconfig.test.json +++ b/packages/hypergraph/tsconfig.test.json @@ -2,7 +2,8 @@ "extends": "../../tsconfig.base.json", "include": ["test"], "references": [ - { "path": "./tsconfig.src.json" } + { "path": "./tsconfig.src.json" }, + { "path": "../typesync/tsconfig.src.json" } ], "compilerOptions": { "tsBuildInfoFile": ".tsbuildinfo/test.tsbuildinfo", diff --git a/packages/typesync/README.md b/packages/typesync/README.md index 7d292903..bd47e4f1 100644 --- a/packages/typesync/README.md +++ b/packages/typesync/README.md @@ -9,11 +9,16 @@ This package exposes a function: `generateMapping` that takes the schema with an ## Mapping definition ```ts +import { Id } from '@graphprotocol/grc-20'; + export type MappingEntry = { - typeIds: Array; + typeIds: Array; properties?: { - [key: string]: Grc20Id.Id; + [key: string]: Id.Id; }; + relations?: { + [key: string]: Id.Id + } }; export type Mapping = { @@ -36,7 +41,7 @@ export class Account extends Entity.Class('Account')({ export class Event extends Entity.Class('Event')({ name: Type.Text, description: Type.Text, - account: Type.Relation(Account) + speaker: Type.Relation(Account) }) {} ``` @@ -59,8 +64,10 @@ export const mapping: Mapping = { properties: { name: Id.Id('3808e060-fb4a-4d08-8069-35b8c8a1902b'), description: Id.Id('1f0d9007-8da2-4b28-ab9f-3bc0709f4837'), - account: Id.Id('a5fd07b1-120f-46c6-b46f-387ef98396a6') }, + relations: { + speaker: Id.Id('a5fd07b1-120f-46c6-b46f-387ef98396a6') + } } } ``` diff --git a/packages/typesync/package.json b/packages/typesync/package.json index 78243b51..97013d4b 100644 --- a/packages/typesync/package.json +++ b/packages/typesync/package.json @@ -1,11 +1,11 @@ { "name": "@graphprotocol/typesync", - "version": "0.0.1", + "version": "0.0.3", "description": "Package for generating the mappings used within the hypergraph ecosystem that is used to query for entities on the Knowledge Graph by the grc-20 id's.", "publishConfig": { "access": "public", "directory": "publish", - "provenance": true + "provenance": false }, "repository": { "type": "git", @@ -39,6 +39,6 @@ }, "dependencies": { "@graphprotocol/grc-20": "^0.21.6", - "effect": "^3.16.12" + "effect": "^3.16.16" } } diff --git a/packages/typesync/src/Mapping.ts b/packages/typesync/src/Mapping.ts index e6eef350..6367ac59 100644 --- a/packages/typesync/src/Mapping.ts +++ b/packages/typesync/src/Mapping.ts @@ -26,6 +26,16 @@ export type MappingEntry = { [key: string]: Grc20Id.Id; } | undefined; + /** + * Record of relation properties to the `Id.Id` of the type in the Knowledge Graph + * + * @since 0.0.1 + */ + relations?: + | { + [key: string]: Grc20Id.Id; + } + | undefined; }; /** @@ -47,8 +57,10 @@ export type MappingEntry = { * properties: { * name: Id.Id('3808e060-fb4a-4d08-8069-35b8c8a1902b'), * description: Id.Id('1f0d9007-8da2-4b28-ab9f-3bc0709f4837'), - * speaker: Id.Id('a5fd07b1-120f-46c6-b46f-387ef98396a6') * }, + * relations: { + * speaker: Id.Id('a5fd07b1-120f-46c6-b46f-387ef98396a6') + * } * } * } * ``` @@ -282,7 +294,7 @@ export function allRelationPropertyTypesExist(types: ReadonlyArray): ); } -export type GenerateMappingResult = [mapping: Mapping, ops: Array]; +export type GenerateMappingResult = [mapping: Mapping, ops: ReadonlyArray]; // Helper types for internal processing type PropertyIdMapping = { propName: string; id: Grc20Id.Id }; @@ -293,7 +305,12 @@ type ProcessedProperty = type ProcessedType = | { type: 'complete'; entry: MappingEntry & { typeName: string }; ops: Array } - | { type: 'deferred'; schemaType: SchemaType; properties: Array }; + | { + type: 'deferred'; + schemaType: SchemaType; + properties: Array; + relations: Array; + }; // Helper function to build property map from PropertyIdMappings function buildPropertyMap(properties: Array): MappingEntry['properties'] { @@ -306,6 +323,17 @@ function buildPropertyMap(properties: Array): MappingEntry['p ); } +// Helper function to build relation map from PropertyIdMappings +function buildRelationMap(relations: Array): MappingEntry['relations'] { + return pipe( + relations, + EffectArray.reduce({} as NonNullable, (rels, { propName, id }) => { + rels[toCamelCase(propName)] = id; + return rels; + }), + ); +} + // Helper function to create a property and return the result function createPropertyWithOps( property: SchemaTypePropertyPrimitive | SchemaTypePropertyRelation, @@ -365,8 +393,22 @@ function processType(type: SchemaType, typeIdMap: TypeIdMapping): ProcessedType EffectArray.filterMap((p) => (p.type === 'deferred' ? Option.some(p.property) : Option.none())), ); - const propertyMappings = pipe( + // Separate resolved properties into primitive properties and relations + const primitiveProperties = pipe( resolvedProperties, + EffectArray.filter((p) => { + const originalProp = type.properties.find((prop) => prop.name === p.mapping.propName); + return originalProp ? !propertyIsRelation(originalProp) : false; + }), + EffectArray.map((p) => p.mapping), + ); + + const relationProperties = pipe( + resolvedProperties, + EffectArray.filter((p) => { + const originalProp = type.properties.find((prop) => prop.name === p.mapping.propName); + return originalProp ? propertyIsRelation(originalProp) : false; + }), EffectArray.map((p) => p.mapping), ); @@ -377,13 +419,22 @@ function processType(type: SchemaType, typeIdMap: TypeIdMapping): ProcessedType // If type exists in knowledge graph, return complete entry if (type.knowledgeGraphId) { + const entry: MappingEntry & { typeName: string } = { + typeName: toPascalCase(type.name), + typeIds: [Grc20Id.Id(type.knowledgeGraphId)], + }; + + if (EffectArray.isNonEmptyArray(primitiveProperties)) { + entry.properties = buildPropertyMap(primitiveProperties); + } + + if (EffectArray.isNonEmptyArray(relationProperties)) { + entry.relations = buildRelationMap(relationProperties); + } + return { type: 'complete', - entry: { - typeName: toPascalCase(type.name), - typeIds: [Grc20Id.Id(type.knowledgeGraphId)], - properties: buildPropertyMap(propertyMappings), - }, + entry, ops: propertyOps, }; } @@ -393,28 +444,39 @@ function processType(type: SchemaType, typeIdMap: TypeIdMapping): ProcessedType return { type: 'deferred', schemaType: type, - properties: propertyMappings, + properties: primitiveProperties, + relations: relationProperties, }; } - // Create the type with all resolved properties + // Create the type with all resolved properties (both primitive and relations) + const allPropertyIds = [...primitiveProperties, ...relationProperties]; const { id, ops: typeOps } = Graph.createType({ name: type.name, properties: pipe( - propertyMappings, + allPropertyIds, EffectArray.map((p) => p.id), ), }); typeIdMap.set(type.name, id); + const entry: MappingEntry & { typeName: string } = { + typeName: toPascalCase(type.name), + typeIds: [id], + }; + + if (EffectArray.isNonEmptyArray(primitiveProperties)) { + entry.properties = buildPropertyMap(primitiveProperties); + } + + if (EffectArray.isNonEmptyArray(relationProperties)) { + entry.relations = buildRelationMap(relationProperties); + } + return { type: 'complete', - entry: { - typeName: toPascalCase(type.name), - typeIds: [id], - properties: buildPropertyMap(propertyMappings), - }, + entry, ops: [...propertyOps, ...typeOps], }; } @@ -484,6 +546,8 @@ function processType(type: SchemaType, typeIdMap: TypeIdMapping): ProcessedType * properties: { * name: Id.Id("3808e060-fb4a-4d08-8069-35b8c8a1902b"), // comes from input schema * description: Id.Id("8fc4e17c-7581-4d6c-a712-943385afc7b5"), // generated from Graph.createProperty Op + * }, + * relations: { * speaker: Id.Id("651ce59f-643b-4931-bf7a-5dc0ca0f5a47"), // generated from Graph.createProperty Op * } * } @@ -594,20 +658,23 @@ export function generateMapping(input: Schema): GenerateMappingResult { }), ); - // Combine all properties for this type - const allProperties = [ - ...deferred.properties, + // Combine resolved relations with existing relations + const allRelations = [ + ...deferred.relations, ...pipe( resolvedRelations, EffectArray.map((r) => r.mapping), ), ]; + // Combine all property IDs for type creation + const allPropertyIds = [...deferred.properties, ...allRelations]; + // Create the type with all properties const { id, ops: typeOps } = Graph.createType({ name: deferred.schemaType.name, properties: pipe( - allProperties, + allPropertyIds, EffectArray.map((p) => p.id), ), }); @@ -623,15 +690,22 @@ export function generateMapping(input: Schema): GenerateMappingResult { ...typeOps, ]; + // Build the entry with properties and relations separated + const entry: MappingEntry & { typeName: string } = { + typeName: toPascalCase(deferred.schemaType.name), + typeIds: [id], + }; + + if (EffectArray.isNonEmptyArray(deferred.properties)) { + entry.properties = buildPropertyMap(deferred.properties); + } + + if (EffectArray.isNonEmptyArray(allRelations)) { + entry.relations = buildRelationMap(allRelations); + } + return { - entries: [ - ...acc.entries, - { - typeName: toPascalCase(deferred.schemaType.name), - typeIds: [id], - properties: buildPropertyMap(allProperties), - }, - ], + entries: [...acc.entries, entry], ops: [...acc.ops, ...allOps], }; }, diff --git a/packages/typesync/test/Mapping.test.ts b/packages/typesync/test/Mapping.test.ts index 2a32fa80..19597961 100644 --- a/packages/typesync/test/Mapping.test.ts +++ b/packages/typesync/test/Mapping.test.ts @@ -113,6 +113,8 @@ describe('Mapping', () => { properties: { name: expect.any(String), description: expect.any(String), + }, + relations: { speaker: expect.any(String), }, }, @@ -176,6 +178,8 @@ describe('Mapping', () => { properties: { name: Id.Id('3808e060-fb4a-4d08-8069-35b8c8a1902b'), description: expect.any(String), + }, + relations: { speaker: expect.any(String), }, }, @@ -227,6 +231,8 @@ describe('Mapping', () => { typeIds: [expect.any(String)], properties: { name: expect.any(String), + }, + relations: { organizer: expect.any(String), }, }, @@ -278,6 +284,8 @@ describe('Mapping', () => { typeIds: [expect.any(String)], properties: { name: expect.any(String), + }, + relations: { organizer: expect.any(String), }, }, @@ -358,6 +366,8 @@ describe('Mapping', () => { typeIds: [expect.any(String)], properties: { title: expect.any(String), + }, + relations: { speaker: expect.any(String), venue: expect.any(String), }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9dd4342a..146fd3c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,8 +72,8 @@ importers: specifier: ^2.1.1 version: 2.1.1 effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 framer-motion: specifier: ^12.10.1 version: 12.10.1(@emotion/is-prop-valid@1.2.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -97,17 +97,17 @@ importers: version: 2.30.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@tailwindcss/vite': specifier: ^4.1.10 - version: 4.1.10(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.10(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/router-plugin': specifier: ^1.120.2 - version: 1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8) + version: 1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8) '@types/node': specifier: ^22.15.15 - version: 22.15.15 + version: 22.15.29 '@types/react': specifier: ^19.1.3 version: 19.1.3 @@ -116,7 +116,7 @@ importers: version: 19.1.3(@types/react@19.1.3) '@vitejs/plugin-react': specifier: ^4.4.1 - version: 4.4.1(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.4.1(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) prettier: specifier: ^3.6.0 version: 3.6.1 @@ -128,13 +128,13 @@ importers: version: 4.1.10 unplugin-fonts: specifier: ^1.3.1 - version: 1.3.1(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 1.3.1(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) vite-plugin-node-polyfills: specifier: ^0.23.0 - version: 0.23.0(rollup@4.45.0)(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 0.23.0(rollup@4.45.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) vite-plugin-svgr: specifier: ^4.3.0 - version: 4.3.0(rollup@4.45.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.3.0(rollup@4.45.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) apps/create-hypergraph-app: publishDirectory: dist @@ -146,10 +146,10 @@ importers: version: 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@graphprotocol/hypergraph': specifier: 0.0.14 - version: 0.0.14(@effect/platform@0.88.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) + version: 0.0.14(@effect/platform@0.89.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@graphprotocol/hypergraph-react': specifier: 0.0.14 - version: 0.0.14(@graphprotocol/hypergraph@0.0.14(@effect/platform@0.88.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) + version: 0.0.14(@graphprotocol/hypergraph@0.0.14(@effect/platform@0.89.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@graphprotocol/typesync': specifier: ^0.0.3 version: 0.0.3(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) @@ -253,6 +253,9 @@ importers: '@graphprotocol/hypergraph-react': specifier: workspace:* version: link:../../packages/hypergraph-react/publish + '@graphprotocol/typesync': + specifier: workspace:* + version: link:../../packages/typesync/publish '@noble/hashes': specifier: ^1.8.0 version: 1.8.0 @@ -284,8 +287,8 @@ importers: specifier: ^2.1.1 version: 2.1.1 effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 framer-motion: specifier: ^12.10.1 version: 12.10.1(@emotion/is-prop-valid@1.2.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -324,20 +327,20 @@ importers: version: 2.29.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + version: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) devDependencies: '@biomejs/biome': specifier: 1.9.4 version: 1.9.4 '@tailwindcss/vite': specifier: ^4.1.5 - version: 4.1.5(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.5(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/router-plugin': specifier: ^1.120.2 - version: 1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8) + version: 1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8) '@types/node': specifier: ^22.15.15 - version: 22.15.15 + version: 22.15.29 '@types/react': specifier: ^19.1.3 version: 19.1.3 @@ -349,7 +352,7 @@ importers: version: 10.0.0 '@vitejs/plugin-react': specifier: ^4.4.1 - version: 4.4.1(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.4.1(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) globals: specifier: ^16.1.0 version: 16.1.0 @@ -421,8 +424,8 @@ importers: specifier: ^2.8.5 version: 2.8.5 effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 express: specifier: ^5.1.0 version: 5.1.0 @@ -447,7 +450,7 @@ importers: version: 5.0.1 '@types/node': specifier: ^22.15.15 - version: 22.15.15 + version: 22.15.29 '@types/pg': specifier: ^8.15.0 version: 8.15.0 @@ -466,6 +469,9 @@ importers: '@graphprotocol/grc-20': specifier: ^0.21.6 version: 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) + '@graphprotocol/typesync': + specifier: ^0.0.3 + version: 0.0.3(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@graphql-typed-document-node/core': specifier: ^3.2.0 version: 3.2.0(graphql@16.11.0) @@ -483,7 +489,7 @@ importers: version: 1.1.12(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tailwindcss/vite': specifier: ^4.1.11 - version: 4.1.11(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.1.11(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) '@tanstack/react-form': specifier: ^1.14.1 version: 1.14.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -494,11 +500,11 @@ importers: specifier: ^5.83.0 version: 5.83.0(@tanstack/react-query@5.83.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router': - specifier: ^1.127.3 - version: 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: ^1.128.0 + version: 1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router-devtools': - specifier: ^1.127.3 - version: 1.127.3(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.129.2)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3) + specifier: ^1.128.0 + version: 1.129.2(@tanstack/react-router@1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.129.2)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3) better-sqlite3: specifier: ^12.2.0 version: 12.2.0 @@ -506,8 +512,8 @@ importers: specifier: ^4.1.0 version: 4.1.0 effect: - specifier: ^3.16.13 - version: 3.16.13 + specifier: ^3.16.16 + version: 3.17.0 graphql: specifier: ^16.11.0 version: 16.11.0 @@ -534,32 +540,35 @@ importers: version: 4.1.11 devDependencies: '@effect/cli': - specifier: ^0.67.0 - version: 0.67.0(@effect/platform@0.88.0(effect@3.16.13))(@effect/printer-ansi@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13))(@effect/printer@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13))(effect@3.16.13) + specifier: ^0.67.1 + version: 0.67.1(@effect/platform@0.88.2(effect@3.17.0))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0))(@effect/printer@0.44.14(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0))(effect@3.17.0) '@effect/experimental': - specifier: ^0.52.0 - version: 0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) + specifier: ^0.52.2 + version: 0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) '@effect/language-service': - specifier: ^0.26.0 - version: 0.26.0 + specifier: ^0.27.1 + version: 0.27.2 '@effect/platform': - specifier: ^0.88.0 - version: 0.88.0(effect@3.16.13) + specifier: ^0.88.1 + version: 0.88.2(effect@3.17.0) '@effect/platform-node': - specifier: ^0.90.0 - version: 0.90.0(@effect/cluster@0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(bufferutil@4.0.9)(effect@3.16.13)(utf-8-validate@5.0.10) + specifier: ^0.91.0 + version: 0.91.0(@effect/cluster@0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(bufferutil@4.0.9)(effect@3.17.0)(utf-8-validate@5.0.10) + '@effect/printer': + specifier: ^0.44.14 + version: 0.44.14(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0) '@effect/sql': - specifier: ^0.41.0 - version: 0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/sql-sqlite-node': specifier: ^0.42.0 - version: 0.42.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(effect@3.16.13) + version: 0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/sql-sqlite-node': + specifier: ^0.43.0 + version: 0.43.0(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(effect@3.17.0) '@effect/vitest': - specifier: ^0.24.0 - version: 0.24.0(effect@3.16.13)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.13)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + specifier: ^0.24.1 + version: 0.24.1(effect@3.17.0)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.15)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) '@graphql-codegen/cli': specifier: ^5.0.7 - version: 5.0.7(@babel/core@7.28.0)(@parcel/watcher@2.5.1)(@types/node@24.0.13)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10) + version: 5.0.7(@babel/core@7.28.0)(@parcel/watcher@2.5.1)(@types/node@24.0.15)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10) '@graphql-codegen/client-preset': specifier: ^4.8.3 version: 4.8.3(@babel/core@7.28.0)(encoding@0.1.13)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0) @@ -570,11 +579,11 @@ importers: specifier: ^4.6.1 version: 4.6.1(@babel/core@7.28.0)(encoding@0.1.13)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0) '@tanstack/router-plugin': - specifier: ^1.127.5 - version: 1.127.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.2)) + specifier: ^1.128.0 + version: 1.129.2(@tanstack/react-router@1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.2)) '@types/node': - specifier: ^24.0.13 - version: 24.0.13 + specifier: ^24.0.14 + version: 24.0.15 '@types/react': specifier: ^19.1.8 version: 19.1.8 @@ -583,7 +592,7 @@ importers: version: 19.1.6(@types/react@19.1.8) '@vitejs/plugin-react': specifier: ^4.6.0 - version: 4.6.0(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) + version: 4.6.0(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) glob: specifier: ^11.0.3 version: 11.0.3 @@ -598,7 +607,7 @@ importers: version: 4.20.3 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + version: 7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) publishDirectory: dist apps/typesync/dist: @@ -717,7 +726,7 @@ importers: version: 2.0.6 '@effect/experimental': specifier: ^0.51.1 - version: 0.51.1(@effect/platform@0.88.0(effect@3.16.12))(effect@3.16.12) + version: 0.51.1(@effect/platform@0.89.0(effect@3.17.0))(effect@3.17.0) '@graphprotocol/grc-20': specifier: ^0.21.6 version: 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) @@ -746,8 +755,8 @@ importers: specifier: ^4.0.0 version: 4.0.0 effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 permissionless: specifier: ^0.2.47 version: 0.2.47(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(viem@2.30.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)) @@ -761,6 +770,9 @@ importers: specifier: ^2.30.6 version: 2.30.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) devDependencies: + '@graphprotocol/typesync': + specifier: workspace:* + version: link:../typesync/publish '@types/uuid': specifier: ^10.0.0 version: 10.0.0 @@ -787,8 +799,8 @@ importers: specifier: ^5.75.5 version: 5.75.5(react@19.1.0) effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 graphql-request: specifier: ^7.1.2 version: 7.1.2(graphql@16.11.0) @@ -805,6 +817,9 @@ importers: '@graphprotocol/hypergraph': specifier: workspace:* version: link:../hypergraph/publish + '@graphprotocol/typesync': + specifier: workspace:* + version: link:../typesync/publish '@testing-library/jest-dom': specifier: ^6.6.3 version: 6.6.3 @@ -834,8 +849,8 @@ importers: specifier: ^0.21.6 version: 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) effect: - specifier: ^3.16.12 - version: 3.16.12 + specifier: ^3.16.16 + version: 3.17.0 publishDirectory: publish packages: @@ -2403,13 +2418,13 @@ packages: resolution: {integrity: sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA==} engines: {node: '>=18.0'} - '@effect/cli@0.67.0': - resolution: {integrity: sha512-gBbt43yibW7Nh5TJtTP2OwqCeSa+lixAcM5PYFV2cM32oPlgdtWYyl1m8rcIZwWJBhQyjNXFtuxlYFk9A8alog==} + '@effect/cli@0.67.1': + resolution: {integrity: sha512-+Dg3z2KqMjrynSESZL9dApXpj6sJdUuYRjZ8KFgso52F6uqlM/5RKZiHOG3eHK6mrsOC0jgX+qsUMO46F8l9zw==} peerDependencies: - '@effect/platform': ^0.88.0 - '@effect/printer': ^0.44.13 - '@effect/printer-ansi': ^0.44.13 - effect: ^3.16.13 + '@effect/platform': ^0.88.1 + '@effect/printer': ^0.44.14 + '@effect/printer-ansi': ^0.44.14 + effect: ^3.16.14 '@effect/cluster@0.37.2': resolution: {integrity: sha512-9U4P/Fk8C6fN/s0e4nvA++prZmELtV7k5RwG2AOw4NgqBZqptiJMutgaT10ltwgdvddRF/77PVjgORyzNTBmbg==} @@ -2433,11 +2448,11 @@ packages: lmdb: optional: true - '@effect/experimental@0.52.0': - resolution: {integrity: sha512-SqTmGQMNJTq8IZ0XKu3hDOD09YRiZLDbHfODu4r1yhhAfh93vn2x9waELQtiAbXcsjG/eMpbajcCc0KvFgFFIA==} + '@effect/experimental@0.52.2': + resolution: {integrity: sha512-CotYjNLYvSAsYYwTE1/NUr/XkiupoYi941lq3NWGrJrYWov3T6v3Gg2om/n29/WqoMYpnFn0ka2AixTWhcq9dg==} peerDependencies: - '@effect/platform': ^0.88.0 - effect: ^3.16.13 + '@effect/platform': ^0.88.1 + effect: ^3.16.14 ioredis: ^5 lmdb: ^3 peerDependenciesMeta: @@ -2446,44 +2461,55 @@ packages: lmdb: optional: true - '@effect/language-service@0.26.0': - resolution: {integrity: sha512-flHqsDIotdAq3whQb0fjpiYIFd6OR078TDPbxgBY5sDO+7ZNgGZ7kKH51bEIKNz+dFhw0NJjowT0qypyhPpUDw==} + '@effect/language-service@0.27.2': + resolution: {integrity: sha512-AFgxoIZ6xpfwCZp7+1mj3f1HsK3Yqe9I0iUfpf8Iu2gl9F3dmdFiOvuoLRVSkfVsK2BTQr8kv2zPi53Lst2haw==} hasBin: true - '@effect/platform-node-shared@0.43.0': - resolution: {integrity: sha512-kYlGo5eNDsfOkirBC4B4a83OtESc9x4r+JWCHNtnRswBnKKj8GgC90vL1ksNbfTnESzRCQ8/bfjPeyxHAffDAg==} + '@effect/platform-node-shared@0.44.0': + resolution: {integrity: sha512-UvMExEu5TUdlzJRe2O87K8+ttie0VfA26J/82uAXCAMCmi139EQvzBEbX7yE1iYIruH9CmypKXKFLU61VxSlnw==} peerDependencies: - '@effect/cluster': ^0.42.0 - '@effect/platform': ^0.88.0 - '@effect/rpc': ^0.65.0 - '@effect/sql': ^0.41.0 - effect: ^3.16.13 + '@effect/cluster': ^0.43.0 + '@effect/platform': ^0.88.1 + '@effect/rpc': ^0.65.1 + '@effect/sql': ^0.42.0 + effect: ^3.16.14 - '@effect/platform-node@0.90.0': - resolution: {integrity: sha512-U6WBUghdXYELtg5h+p5nzRV2ih0oPOoxnVrfvmR4UHQaOtvYbwu/Lexho59HBYdIqnYzHCi5KH12z8b6E0kv+Q==} + '@effect/platform-node@0.91.0': + resolution: {integrity: sha512-oHDcCilVLX1YEK6u0ukaNuYb03wLaCUTlws5JaGXsBjjdMlf3+bEW9i30bKFmf+B+uXheflf8X3MyZ3p94sXZA==} peerDependencies: - '@effect/cluster': ^0.42.0 - '@effect/platform': ^0.88.0 - '@effect/rpc': ^0.65.0 - '@effect/sql': ^0.41.0 - effect: ^3.16.13 + '@effect/cluster': ^0.43.0 + '@effect/platform': ^0.88.1 + '@effect/rpc': ^0.65.1 + '@effect/sql': ^0.42.0 + effect: ^3.16.14 - '@effect/platform@0.88.0': - resolution: {integrity: sha512-ObTXedf/DshoKtM2ygEcoP7Kj9rop0KeDvLriQE2HD4Fgo1pxjgbOivkCbSq03MErpNE2/lMYTY6Si6bo4qMqQ==} + '@effect/platform@0.88.2': + resolution: {integrity: sha512-JnPCfQz1y8ZED2OBxU82iFBT43fXrl26N+PEFtLWn1EedG6C6AwFvwbpFkICF3G2Qj/ZZ153xZaAxtVOPu4WTg==} peerDependencies: - effect: ^3.16.13 + effect: ^3.16.16 - '@effect/printer-ansi@0.40.10': - resolution: {integrity: sha512-XMmAcHxojINGZKnNGJSrG1fMvMYLOlHGVAvvD/5pbp2Yi5Rh8PGDJjtaPmrj5PmO+WssovevLHGonrbKa8xybA==} + '@effect/platform@0.89.0': + resolution: {integrity: sha512-9nTaD1h/X4M4qdl/4E1atwoe+p4VoH0SJiYd2mJrDJC18alwqlI/xaKNGRnJVPbIrhbKC62YJ9h2mqfkE4t2YA==} peerDependencies: - '@effect/typeclass': ^0.31.10 - effect: ^3.12.10 + effect: ^3.17.0 - '@effect/printer@0.40.10': - resolution: {integrity: sha512-vu3ZndS4XVYjq6ctZXd/QXMz9LgqRsJJAX3bCiP+9DBVna2b4z/nVJsPfYwVA/1PmSJUiSpOXv/MDUCHwYxN7w==} + '@effect/printer-ansi@0.45.0': + resolution: {integrity: sha512-3MS02RP83eZaBJX98PRI4f5kyoEVyNfg2Qu/XUWQMFRp4wvmgNwEy18RjO9G6s7uB8NaYXTpQVDmtUoKARx7fA==} peerDependencies: - '@effect/typeclass': ^0.31.10 - effect: ^3.12.10 + '@effect/typeclass': ^0.36.0 + effect: ^3.17.0 + + '@effect/printer@0.44.14': + resolution: {integrity: sha512-Z9YJbmRG++BJqpR+kmJIlo1XdVGtZXPcHSMKPUiZHkZNtX2dG5Ynk2PwdRiA68sz895Fr1QwdYel8zKorUij/w==} + peerDependencies: + '@effect/typeclass': ^0.35.14 + effect: ^3.16.14 + + '@effect/printer@0.45.0': + resolution: {integrity: sha512-UpFBH2JKAgakSWpue6yKkIAXMq+3md/CPb9s/NGl28vDu1P33cvDeeDL/1EOzFk8WqhIs3oKwPMDnd3jUhjzdg==} + peerDependencies: + '@effect/typeclass': ^0.36.0 + effect: ^3.17.0 '@effect/rpc@0.61.4': resolution: {integrity: sha512-i1U/RuIRGqLJ2xxhgAPEsMwqfLW7mqtQYcj8Za2ouJejpqAN+6s3OIYxlsR4YZ6EDYfCZlD2eJ/wAD54xtAXDQ==} @@ -2491,30 +2517,30 @@ packages: '@effect/platform': ^0.84.4 effect: ^3.16.3 - '@effect/sql-sqlite-node@0.42.0': - resolution: {integrity: sha512-DZ+08CuE8SPrTfmtALHR7rjJSASOCd5yGZBVyDrj8De0g4R1YoyTHryii2VmopOUTPZu0g39bvz40OFJkqnajw==} + '@effect/sql-sqlite-node@0.43.0': + resolution: {integrity: sha512-kivFGI6rr0nDhaFDezfBxuDRiw4uhXLwiP66vxqInLmyLzti3RdqZ6I5u4/6MlfS29RIVikIXh+8W8vO+uCpDA==} peerDependencies: - '@effect/experimental': ^0.52.0 - '@effect/platform': ^0.88.0 - '@effect/sql': ^0.41.0 - effect: ^3.16.13 + '@effect/experimental': ^0.52.1 + '@effect/platform': ^0.88.1 + '@effect/sql': ^0.42.0 + effect: ^3.16.14 - '@effect/sql@0.41.0': - resolution: {integrity: sha512-P3RuRm/PHEYInkFE0VUijWCWGyCviq2rnLLcTpdIRCy9quwGTh53kOnh9Go1pL+owGkq3WrP1T1hiAr5LzeNfg==} + '@effect/sql@0.42.1': + resolution: {integrity: sha512-fVbHAS7iQ+SoySBNmpmXSDYxbJF8Am/1giJqXBQIhZdeXCI3q0+dAU7yjcGjorwRj7GaGdB05MeguV4BWRMWDg==} peerDependencies: - '@effect/experimental': ^0.52.0 - '@effect/platform': ^0.88.0 - effect: ^3.16.13 + '@effect/experimental': ^0.52.2 + '@effect/platform': ^0.88.2 + effect: ^3.16.16 '@effect/typeclass@0.31.10': resolution: {integrity: sha512-mDuQ44IfyDUSnltcFS+cEQGWhMg37IwNiPmATLw/NYBYHDBkqUc77vzlCpSlBiKDzExSI8vjMVWqGjL22MLHGQ==} peerDependencies: effect: ^3.12.10 - '@effect/vitest@0.24.0': - resolution: {integrity: sha512-t3o9OH+UskMIsZSoYv1cpG7PA/wBLbO+5Bzhlhrjp+5TxO1gaAE7/Up6SVUVwckXRprcthzxA1LPITtDHAEOCw==} + '@effect/vitest@0.24.1': + resolution: {integrity: sha512-q5NVkJcmdiOlFLYhRLmeDfAk3maNDD4BYeeAr0Gy3TTXZWCX7hlWnzLoJpBVuJjjMJDC/HGxq9GFKxbP/oY7mQ==} peerDependencies: - effect: ^3.16.13 + effect: ^3.16.14 vitest: ^3.2.0 '@effect/workflow@0.1.2': @@ -5190,14 +5216,6 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router-devtools@1.127.3': - resolution: {integrity: sha512-MS8+ArGAoRpFaVWpXnQxNpq2bU5e2WGwV/3Gskh9YB09gqX3t6knp9im4kJ0kam16+A8Vohq1yOpCliyHzQawA==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/react-router': ^1.127.3 - react: '>=18.0.0 || >=19.0.0' - react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router-devtools@1.129.2': resolution: {integrity: sha512-8ipEnUv5lWcZYQ5ia0L2wOGqt1CJpfU8iSN9xaX7z93U9cRQg0G1IOf0iYkHpjfUe8WxRY6+5siST+qlKbdtJA==} engines: {node: '>=12'} @@ -5213,13 +5231,6 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.127.3': - resolution: {integrity: sha512-QprmWHJrGbEKXJiP7WZ+dilTJRc7nMbsFCUnfAUw8PsOYanhgvBkBwAU05YEo8WTIZ9atCc1R90hyzqbiBFkdA==} - engines: {node: '>=12'} - peerDependencies: - react: '>=18.0.0 || >=19.0.0' - react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.129.2': resolution: {integrity: sha512-ERGkvtb4qlo1ihrKUMJn2RfiC3T7rE/PpRtsATCmC0Gy0NmaO8S1+XvgriYl2bzdqTnBliwwIzqkKB9A2xPqDQ==} engines: {node: '>=12'} @@ -5255,10 +5266,6 @@ packages: resolution: {integrity: sha512-3dZYP5cCq3jJYgnRDzKR3w4sYzrXP5sw1st303ye87VV26r31I8UaIuUEs7kiJaxgWBvqHglWCiygBWQODZXVw==} engines: {node: '>=12'} - '@tanstack/router-core@1.127.3': - resolution: {integrity: sha512-08JlfwsMIDkMyCQsRviMVBn0cVUzlNzkll4pZgf6QRSO1RASBsci5hMojcsdH0d/yXLH0FBJ6fINbj0ctBm63Q==} - engines: {node: '>=12'} - '@tanstack/router-core@1.129.2': resolution: {integrity: sha512-M7OuzxbSkEFa1WWQoLOg7RtJUHzfaURMiRCLbKLEJWJkw1Cuylj7oBbzbawDAJFTHry9UUDZNPP0MSCfcXypPA==} engines: {node: '>=12'} @@ -5275,18 +5282,6 @@ packages: csstype: optional: true - '@tanstack/router-devtools-core@1.127.3': - resolution: {integrity: sha512-TaLa0h7efSTmIMckTJ1s4PuvJSRGGv4PBSDQE9QnrtCn3SJAlzjK6VIcGq3C72QKJiVDyDtCcDas4q0YeT8I+A==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/router-core': ^1.127.3 - csstype: ^3.0.10 - solid-js: '>=1.9.5' - tiny-invariant: ^1.3.3 - peerDependenciesMeta: - csstype: - optional: true - '@tanstack/router-devtools-core@1.129.2': resolution: {integrity: sha512-PlGJ5A54P0J8FAe7biiLARN9U6VCDPbnoNjqL9jsvf2A0X/cQw4fgediR+jsMjVuXNoL4kMDprVTpGT5PoVUaQ==} engines: {node: '>=12'} @@ -5308,10 +5303,6 @@ packages: '@tanstack/react-router': optional: true - '@tanstack/router-generator@1.127.5': - resolution: {integrity: sha512-bPrUKJIo7cIBSF6FwKfZyYAl+FjoMU/HswWaYXr+rEdOw1EA86M3euuK33rfHNlVcxHTmZJk8AQ5p7ZYP6DogQ==} - engines: {node: '>=12'} - '@tanstack/router-generator@1.129.2': resolution: {integrity: sha512-xCZYd4sgPFdlgEten7x+uJx+0y6iUm2d8cnE3cHHzzc5COf5jO+FFh9kVRa9Ouh4h/binv5dpKRBhB33TqPRfw==} engines: {node: '>=12'} @@ -5337,27 +5328,6 @@ packages: webpack: optional: true - '@tanstack/router-plugin@1.127.5': - resolution: {integrity: sha512-7FzGsDM/XMy6TfAfdUkgJxN/xvPu8cIwJdoGQ4yAEdtk26BGCeaz3VZIDKX5mknNo8+H4//cO75a9F5UHsdVew==} - engines: {node: '>=12'} - peerDependencies: - '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.127.3 - vite: '>=5.0.0 || >=6.0.0' - vite-plugin-solid: ^2.11.2 - webpack: '>=5.92.0' - peerDependenciesMeta: - '@rsbuild/core': - optional: true - '@tanstack/react-router': - optional: true - vite: - optional: true - vite-plugin-solid: - optional: true - webpack: - optional: true - '@tanstack/router-plugin@1.129.2': resolution: {integrity: sha512-uchyp0fMG6MmMJMxydmp4JTyIfW0FHVE4hwGSnP9dgoncQHbqZQt3qNEYbzPIV+JRp6DKjb8Ax5DAUgL7/LVCA==} engines: {node: '>=12'} @@ -5566,9 +5536,6 @@ packages: '@types/node@22.7.5': resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==} - '@types/node@24.0.13': - resolution: {integrity: sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==} - '@types/node@24.0.15': resolution: {integrity: sha512-oaeTSbCef7U/z7rDeJA138xpG3NuKc64/rZ2qmUFkFJmnMsAPaluIifqyWd8hSSMxyP9oie3dLAqYPblag9KgA==} @@ -7311,9 +7278,6 @@ packages: effect@3.16.12: resolution: {integrity: sha512-N39iBk0K71F9nb442TLbTkjl24FLUzuvx2i1I2RsEAQsdAdUTuUoW0vlfUXgkMTUOnYqKnWcFfqw4hK4Pw27hg==} - effect@3.16.13: - resolution: {integrity: sha512-xJDgOhD7+3qIY1d8PGfkaPZMfmdJuSp2XAQgc9dVF8pSl1FJL6WK4ZUpMh177R+GH8XgPloT8dlZsEYUYDo1Ag==} - effect@3.17.0: resolution: {integrity: sha512-szMlUsbPhP9lsrU+sDPXL9pQT2ew8PhcZvPm0p5dzYFbc+Jn/lH2i5thtmPQdm6Ut1rS4fS67SbuG7Qm0E0oZA==} @@ -9485,8 +9449,8 @@ packages: multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - multipasta@0.2.5: - resolution: {integrity: sha512-c8eMDb1WwZcE02WVjHoOmUVk7fnKU/RmUcosHACglrWAuPQsEJv+E8430sXj6jNc1jHw0zrS16aCjQh4BcEb4A==} + multipasta@0.2.7: + resolution: {integrity: sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==} mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} @@ -15322,66 +15286,60 @@ snapshots: - uglify-js - webpack-cli - '@effect/cli@0.67.0(@effect/platform@0.88.0(effect@3.16.13))(@effect/printer-ansi@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13))(@effect/printer@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13))(effect@3.16.13)': + '@effect/cli@0.67.1(@effect/platform@0.88.2(effect@3.17.0))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0))(@effect/printer@0.44.14(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/platform': 0.88.0(effect@3.16.13) - '@effect/printer': 0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13) - '@effect/printer-ansi': 0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13) - effect: 3.16.13 + '@effect/platform': 0.88.2(effect@3.17.0) + '@effect/printer': 0.44.14(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0) + '@effect/printer-ansi': 0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0) + effect: 3.17.0 ini: 4.1.3 toml: 3.0.0 yaml: 2.7.0 - '@effect/cluster@0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13)': - dependencies: - '@effect/platform': 0.88.0(effect@3.16.13) - '@effect/rpc': 0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/sql': 0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/workflow': 0.1.2(effect@3.16.13) - effect: 3.16.13 - - '@effect/experimental@0.51.1(@effect/platform@0.88.0(effect@3.16.12))(effect@3.16.12)': + '@effect/cluster@0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/platform': 0.88.0(effect@3.16.12) - effect: 3.16.12 - uuid: 11.1.0 + '@effect/platform': 0.88.2(effect@3.17.0) + '@effect/rpc': 0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/sql': 0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/workflow': 0.1.2(effect@3.17.0) + effect: 3.17.0 - '@effect/experimental@0.51.1(@effect/platform@0.88.0(effect@3.17.0))(effect@3.17.0)': + '@effect/experimental@0.51.1(@effect/platform@0.89.0(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/platform': 0.88.0(effect@3.17.0) + '@effect/platform': 0.89.0(effect@3.17.0) effect: 3.17.0 uuid: 11.1.0 - '@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13)': + '@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/platform': 0.88.0(effect@3.16.13) - effect: 3.16.13 + '@effect/platform': 0.88.2(effect@3.17.0) + effect: 3.17.0 uuid: 11.1.0 - '@effect/language-service@0.26.0': {} + '@effect/language-service@0.27.2': {} - '@effect/platform-node-shared@0.43.0(@effect/cluster@0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(bufferutil@4.0.9)(effect@3.16.13)(utf-8-validate@5.0.10)': + '@effect/platform-node-shared@0.44.0(@effect/cluster@0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(bufferutil@4.0.9)(effect@3.17.0)(utf-8-validate@5.0.10)': dependencies: - '@effect/cluster': 0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13) - '@effect/platform': 0.88.0(effect@3.16.13) - '@effect/rpc': 0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/sql': 0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) + '@effect/cluster': 0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0) + '@effect/platform': 0.88.2(effect@3.17.0) + '@effect/rpc': 0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/sql': 0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) '@parcel/watcher': 2.5.1 - effect: 3.16.13 - multipasta: 0.2.5 + effect: 3.17.0 + multipasta: 0.2.7 ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@effect/platform-node@0.90.0(@effect/cluster@0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(bufferutil@4.0.9)(effect@3.16.13)(utf-8-validate@5.0.10)': + '@effect/platform-node@0.91.0(@effect/cluster@0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(bufferutil@4.0.9)(effect@3.17.0)(utf-8-validate@5.0.10)': dependencies: - '@effect/cluster': 0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13) - '@effect/platform': 0.88.0(effect@3.16.13) - '@effect/platform-node-shared': 0.43.0(@effect/cluster@0.37.2(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/workflow@0.1.2(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(bufferutil@4.0.9)(effect@3.16.13)(utf-8-validate@5.0.10) - '@effect/rpc': 0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/sql': 0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - effect: 3.16.13 + '@effect/cluster': 0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0) + '@effect/platform': 0.88.2(effect@3.17.0) + '@effect/platform-node-shared': 0.44.0(@effect/cluster@0.37.2(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/workflow@0.1.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(bufferutil@4.0.9)(effect@3.17.0)(utf-8-validate@5.0.10) + '@effect/rpc': 0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/sql': 0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + effect: 3.17.0 mime: 3.0.0 undici: 7.10.0 ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -15389,72 +15347,72 @@ snapshots: - bufferutil - utf-8-validate - '@effect/platform@0.88.0(effect@3.16.12)': + '@effect/platform@0.88.2(effect@3.17.0)': dependencies: - effect: 3.16.12 + '@opentelemetry/semantic-conventions': 1.34.0 + effect: 3.17.0 find-my-way-ts: 0.1.6 msgpackr: 1.11.4 - multipasta: 0.2.5 + multipasta: 0.2.7 - '@effect/platform@0.88.0(effect@3.16.13)': + '@effect/platform@0.89.0(effect@3.17.0)': dependencies: - effect: 3.16.13 + '@opentelemetry/semantic-conventions': 1.34.0 + effect: 3.17.0 find-my-way-ts: 0.1.6 msgpackr: 1.11.4 - multipasta: 0.2.5 + multipasta: 0.2.7 - '@effect/platform@0.88.0(effect@3.17.0)': + '@effect/printer-ansi@0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0)': dependencies: + '@effect/printer': 0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0) + '@effect/typeclass': 0.31.10(effect@3.17.0) effect: 3.17.0 - find-my-way-ts: 0.1.6 - msgpackr: 1.11.4 - multipasta: 0.2.5 - '@effect/printer-ansi@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13)': + '@effect/printer@0.44.14(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/printer': 0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13) - '@effect/typeclass': 0.31.10(effect@3.16.13) - effect: 3.16.13 + '@effect/typeclass': 0.31.10(effect@3.17.0) + effect: 3.17.0 - '@effect/printer@0.40.10(@effect/typeclass@0.31.10(effect@3.16.13))(effect@3.16.13)': + '@effect/printer@0.45.0(@effect/typeclass@0.31.10(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/typeclass': 0.31.10(effect@3.16.13) - effect: 3.16.13 + '@effect/typeclass': 0.31.10(effect@3.17.0) + effect: 3.17.0 - '@effect/rpc@0.61.4(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13)': + '@effect/rpc@0.61.4(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/platform': 0.88.0(effect@3.16.13) - effect: 3.16.13 + '@effect/platform': 0.88.2(effect@3.17.0) + effect: 3.17.0 - '@effect/sql-sqlite-node@0.42.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(effect@3.16.13)': + '@effect/sql-sqlite-node@0.43.0(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/experimental': 0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/platform': 0.88.0(effect@3.16.13) - '@effect/sql': 0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) + '@effect/experimental': 0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/platform': 0.88.2(effect@3.17.0) + '@effect/sql': 0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) '@opentelemetry/semantic-conventions': 1.34.0 better-sqlite3: 11.10.0 - effect: 3.16.13 + effect: 3.17.0 - '@effect/sql@0.41.0(@effect/experimental@0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13))(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13)': + '@effect/sql@0.42.1(@effect/experimental@0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0))(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0)': dependencies: - '@effect/experimental': 0.52.0(@effect/platform@0.88.0(effect@3.16.13))(effect@3.16.13) - '@effect/platform': 0.88.0(effect@3.16.13) + '@effect/experimental': 0.52.2(@effect/platform@0.88.2(effect@3.17.0))(effect@3.17.0) + '@effect/platform': 0.88.2(effect@3.17.0) '@opentelemetry/semantic-conventions': 1.34.0 - effect: 3.16.13 + effect: 3.17.0 uuid: 11.1.0 - '@effect/typeclass@0.31.10(effect@3.16.13)': + '@effect/typeclass@0.31.10(effect@3.17.0)': dependencies: - effect: 3.16.13 + effect: 3.17.0 - '@effect/vitest@0.24.0(effect@3.16.13)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.13)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@effect/vitest@0.24.1(effect@3.17.0)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.15)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: - effect: 3.16.13 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.13)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + effect: 3.17.0 + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.15)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - '@effect/workflow@0.1.2(effect@3.16.13)': + '@effect/workflow@0.1.2(effect@3.17.0)': dependencies: - effect: 3.16.13 + effect: 3.17.0 '@emnapi/runtime@1.4.3': dependencies: @@ -15996,13 +15954,13 @@ snapshots: - utf-8-validate - zod - '@graphprotocol/hypergraph-react@0.0.14(@graphprotocol/hypergraph@0.0.14(@effect/platform@0.88.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)': + '@graphprotocol/hypergraph-react@0.0.14(@graphprotocol/hypergraph@0.0.14(@effect/platform@0.89.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)': dependencies: '@automerge/automerge': 2.2.9 '@automerge/automerge-repo': 2.0.6 '@automerge/automerge-repo-react-hooks': 2.0.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@graphprotocol/grc-20': 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) - '@graphprotocol/hypergraph': 0.0.14(@effect/platform@0.88.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) + '@graphprotocol/hypergraph': 0.0.14(@effect/platform@0.89.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@noble/hashes': 1.8.0 '@tanstack/react-query': 5.83.0(react@19.1.0) effect: 3.17.0 @@ -16022,11 +15980,11 @@ snapshots: - utf-8-validate - zod - '@graphprotocol/hypergraph@0.0.14(@effect/platform@0.88.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)': + '@graphprotocol/hypergraph@0.0.14(@effect/platform@0.89.0(effect@3.17.0))(bufferutil@4.0.9)(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(react@19.1.0)(solid-js@1.9.5)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51)': dependencies: '@automerge/automerge': 2.2.9 '@automerge/automerge-repo': 2.0.6 - '@effect/experimental': 0.51.1(@effect/platform@0.88.0(effect@3.17.0))(effect@3.17.0) + '@effect/experimental': 0.51.1(@effect/platform@0.89.0(effect@3.17.0))(effect@3.17.0) '@graphprotocol/grc-20': 0.21.6(bufferutil@4.0.9)(graphql@16.11.0)(ox@0.6.7(typescript@5.8.3)(zod@3.25.51))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.51) '@noble/ciphers': 1.3.0 '@noble/curves': 1.9.1 @@ -16074,7 +16032,7 @@ snapshots: graphql: 16.11.0 tslib: 2.6.2 - '@graphql-codegen/cli@5.0.7(@babel/core@7.28.0)(@parcel/watcher@2.5.1)(@types/node@24.0.13)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@graphql-codegen/cli@5.0.7(@babel/core@7.28.0)(@parcel/watcher@2.5.1)(@types/node@24.0.15)(bufferutil@4.0.9)(encoding@0.1.13)(enquirer@2.4.1)(graphql-sock@1.0.1(graphql@16.11.0))(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10)': dependencies: '@babel/generator': 7.27.1 '@babel/template': 7.27.1 @@ -16085,12 +16043,12 @@ snapshots: '@graphql-tools/apollo-engine-loader': 8.0.13(graphql@16.11.0) '@graphql-tools/code-file-loader': 8.1.13(graphql@16.11.0) '@graphql-tools/git-loader': 8.0.17(graphql@16.11.0) - '@graphql-tools/github-loader': 8.0.13(@types/node@24.0.13)(graphql@16.11.0) + '@graphql-tools/github-loader': 8.0.13(@types/node@24.0.15)(graphql@16.11.0) '@graphql-tools/graphql-file-loader': 8.0.12(graphql@16.11.0) '@graphql-tools/json-file-loader': 8.0.11(graphql@16.11.0) '@graphql-tools/load': 8.1.0(graphql@16.11.0) - '@graphql-tools/prisma-loader': 8.0.17(@types/node@24.0.13)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@5.0.10) - '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) + '@graphql-tools/prisma-loader': 8.0.17(@types/node@24.0.15)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@5.0.10) + '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@whatwg-node/fetch': 0.10.3 chalk: 4.1.2 @@ -16098,7 +16056,7 @@ snapshots: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.11.0 - graphql-config: 5.1.3(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10) + graphql-config: 5.1.3(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.7 @@ -16320,7 +16278,7 @@ snapshots: - bufferutil - utf-8-validate - '@graphql-tools/executor-http@1.2.6(@types/node@24.0.13)(graphql@16.11.0)': + '@graphql-tools/executor-http@1.2.6(@types/node@24.0.15)(graphql@16.11.0)': dependencies: '@graphql-tools/executor-common': 0.0.1(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) @@ -16329,7 +16287,7 @@ snapshots: '@whatwg-node/fetch': 0.10.3 extract-files: 11.0.0 graphql: 16.11.0 - meros: 1.3.0(@types/node@24.0.13) + meros: 1.3.0(@types/node@24.0.15) tslib: 2.8.1 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -16369,9 +16327,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.13(@types/node@24.0.13)(graphql@16.11.0)': + '@graphql-tools/github-loader@8.0.13(@types/node@24.0.15)(graphql@16.11.0)': dependencies: - '@graphql-tools/executor-http': 1.2.6(@types/node@24.0.13)(graphql@16.11.0) + '@graphql-tools/executor-http': 1.2.6(@types/node@24.0.15)(graphql@16.11.0) '@graphql-tools/graphql-tag-pluck': 8.3.12(graphql@16.11.0) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@whatwg-node/fetch': 0.10.3 @@ -16439,9 +16397,9 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - '@graphql-tools/prisma-loader@8.0.17(@types/node@24.0.13)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@5.0.10)': + '@graphql-tools/prisma-loader@8.0.17(@types/node@24.0.15)(bufferutil@4.0.9)(encoding@0.1.13)(graphql@16.11.0)(utf-8-validate@5.0.10)': dependencies: - '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) + '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@types/js-yaml': 4.0.9 '@whatwg-node/fetch': 0.10.3 @@ -16483,10 +16441,10 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - '@graphql-tools/url-loader@8.0.24(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10)': + '@graphql-tools/url-loader@8.0.24(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10)': dependencies: '@graphql-tools/executor-graphql-ws': 1.3.7(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) - '@graphql-tools/executor-http': 1.2.6(@types/node@24.0.13)(graphql@16.11.0) + '@graphql-tools/executor-http': 1.2.6(@types/node@24.0.15)(graphql@16.11.0) '@graphql-tools/executor-legacy-ws': 1.1.10(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) '@graphql-tools/wrap': 10.0.29(graphql@16.11.0) @@ -16692,7 +16650,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -18723,19 +18681,19 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.5 '@tailwindcss/oxide-win32-x64-msvc': 4.1.5 - '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.10 '@tailwindcss/oxide': 4.1.10 tailwindcss: 4.1.10 - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - '@tailwindcss/vite@4.1.11(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.11(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) '@tailwindcss/vite@4.1.11(vite@7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: @@ -18744,12 +18702,12 @@ snapshots: tailwindcss: 4.1.11 vite: 7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - '@tailwindcss/vite@4.1.5(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@tailwindcss/vite@4.1.5(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@tailwindcss/node': 4.1.5 '@tailwindcss/oxide': 4.1.5 tailwindcss: 4.1.5 - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) '@tanstack/form-core@1.14.0': dependencies: @@ -18803,18 +18761,6 @@ snapshots: - solid-js - tiny-invariant - '@tanstack/react-router-devtools@1.127.3(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.129.2)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3)': - dependencies: - '@tanstack/react-router': 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-devtools-core': 1.127.3(@tanstack/router-core@1.129.2)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - transitivePeerDependencies: - - '@tanstack/router-core' - - csstype - - solid-js - - tiny-invariant - '@tanstack/react-router-devtools@1.129.2(@tanstack/react-router@1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.129.2)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3)': dependencies: '@tanstack/react-router': 1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -18838,17 +18784,6 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': - dependencies: - '@tanstack/history': 1.121.34 - '@tanstack/react-store': 0.7.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-core': 1.127.3 - isbot: 5.1.28 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - '@tanstack/react-router@1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/history': 1.121.34 @@ -18892,16 +18827,6 @@ snapshots: '@tanstack/store': 0.7.0 tiny-invariant: 1.3.3 - '@tanstack/router-core@1.127.3': - dependencies: - '@tanstack/history': 1.121.34 - '@tanstack/store': 0.7.2 - cookie-es: 1.2.2 - seroval: 1.3.2 - seroval-plugins: 1.3.2(seroval@1.3.2) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - '@tanstack/router-core@1.129.2': dependencies: '@tanstack/history': 1.121.34 @@ -18922,16 +18847,6 @@ snapshots: optionalDependencies: csstype: 3.1.3 - '@tanstack/router-devtools-core@1.127.3(@tanstack/router-core@1.129.2)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3)': - dependencies: - '@tanstack/router-core': 1.129.2 - clsx: 2.1.1 - goober: 2.1.16(csstype@3.1.3) - solid-js: 1.9.5 - tiny-invariant: 1.3.3 - optionalDependencies: - csstype: 3.1.3 - '@tanstack/router-devtools-core@1.129.2(@tanstack/router-core@1.129.2)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3)': dependencies: '@tanstack/router-core': 1.129.2 @@ -18951,19 +18866,6 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-generator@1.127.5': - dependencies: - '@tanstack/router-core': 1.127.3 - '@tanstack/router-utils': 1.121.21 - '@tanstack/virtual-file-routes': 1.121.21 - prettier: 3.6.2 - recast: 0.23.11 - source-map: 0.7.4 - tsx: 4.20.3 - zod: 3.25.51 - transitivePeerDependencies: - - supports-color - '@tanstack/router-generator@1.129.2': dependencies: '@tanstack/router-core': 1.129.2 @@ -18977,7 +18879,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8)': + '@tanstack/router-plugin@1.120.2(@tanstack/react-router@1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8)': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.28.0) @@ -18998,12 +18900,12 @@ snapshots: zod: 3.24.2 optionalDependencies: '@tanstack/react-router': 1.120.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) webpack: 5.99.8 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.127.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.2))': + '@tanstack/router-plugin@1.129.2(@tanstack/react-router@1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))(webpack@5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.2))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -19011,8 +18913,8 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 '@babel/types': 7.28.0 - '@tanstack/router-core': 1.127.3 - '@tanstack/router-generator': 1.127.5 + '@tanstack/router-core': 1.129.2 + '@tanstack/router-generator': 1.129.2 '@tanstack/router-utils': 1.121.21 '@tanstack/virtual-file-routes': 1.121.21 babel-dead-code-elimination: 1.0.10 @@ -19020,8 +18922,8 @@ snapshots: unplugin: 2.1.2 zod: 3.25.51 optionalDependencies: - '@tanstack/react-router': 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + '@tanstack/react-router': 1.129.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + vite: 7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) webpack: 5.99.8(@swc/core@1.11.24(@swc/helpers@0.5.17))(esbuild@0.25.2) transitivePeerDependencies: - supports-color @@ -19138,11 +19040,11 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/chai@5.2.2': dependencies: @@ -19151,15 +19053,15 @@ snapshots: '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 5.0.1 - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/connect@3.4.38': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/cors@2.8.17': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/debug@4.1.12': dependencies: @@ -19187,14 +19089,14 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express-serve-static-core@5.0.1': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -19228,7 +19130,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/istanbul-lib-coverage@2.0.6': {} @@ -19256,7 +19158,7 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/node@12.20.55': {} @@ -19274,10 +19176,6 @@ snapshots: dependencies: undici-types: 6.19.8 - '@types/node@24.0.13': - dependencies: - undici-types: 7.8.0 - '@types/node@24.0.15': dependencies: undici-types: 7.8.0 @@ -19286,7 +19184,7 @@ snapshots: '@types/pg@8.15.0': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 pg-protocol: 1.7.0 pg-types: 4.0.2 @@ -19342,12 +19240,12 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/serve-index@1.9.4': dependencies: @@ -19356,12 +19254,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/stylis@4.2.5': {} @@ -19377,11 +19275,11 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 '@types/yargs-parser@21.0.3': {} @@ -19484,14 +19382,14 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-react@4.4.1(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.4.1(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.28.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.28.0) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -19506,7 +19404,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.6.0(vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': + '@vitejs/plugin-react@4.6.0(vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) @@ -19514,7 +19412,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.19 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - supports-color @@ -19538,14 +19436,6 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.17 - optionalDependencies: - vite: 6.3.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.2.4 @@ -21793,11 +21683,6 @@ snapshots: '@standard-schema/spec': 1.0.0 fast-check: 3.23.2 - effect@3.16.13: - dependencies: - '@standard-schema/spec': 1.0.0 - fast-check: 3.23.2 - effect@3.17.0: dependencies: '@standard-schema/spec': 1.0.0 @@ -22140,7 +22025,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 require-like: 0.1.2 event-target-shim@5.0.1: {} @@ -22671,13 +22556,13 @@ snapshots: graphemer@1.4.0: {} - graphql-config@5.1.3(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10): + graphql-config@5.1.3(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(typescript@5.8.3)(utf-8-validate@5.0.10): dependencies: '@graphql-tools/graphql-file-loader': 8.0.12(graphql@16.11.0) '@graphql-tools/json-file-loader': 8.0.11(graphql@16.11.0) '@graphql-tools/load': 8.1.0(graphql@16.11.0) '@graphql-tools/merge': 9.0.24(graphql@16.11.0) - '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.13)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) + '@graphql-tools/url-loader': 8.0.24(@types/node@24.0.15)(bufferutil@4.0.9)(graphql@16.11.0)(utf-8-validate@5.0.10) '@graphql-tools/utils': 10.8.6(graphql@16.11.0) cosmiconfig: 8.3.6(typescript@5.8.3) graphql: 16.11.0 @@ -23375,7 +23260,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.15.29 + '@types/node': 24.0.15 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -23383,13 +23268,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.15.29 + '@types/node': 24.0.15 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -24007,9 +23892,9 @@ snapshots: merge2@1.4.1: {} - meros@1.3.0(@types/node@24.0.13): + meros@1.3.0(@types/node@24.0.15): optionalDependencies: - '@types/node': 24.0.13 + '@types/node': 24.0.15 methods@1.1.2: {} @@ -24447,7 +24332,7 @@ snapshots: multiformats@9.9.0: {} - multipasta@0.2.5: {} + multipasta@0.2.7: {} mute-stream@0.0.8: {} @@ -27502,11 +27387,11 @@ snapshots: unpipe@1.0.0: {} - unplugin-fonts@1.3.1(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): + unplugin-fonts@1.3.1(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): dependencies: fast-glob: 3.3.3 unplugin: 2.0.0-beta.1 - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) unplugin@2.0.0-beta.1: dependencies: @@ -27765,27 +27650,6 @@ snapshots: - utf-8-validate - zod - vite-node@3.2.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): - dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.0.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-node@3.2.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): dependencies: cac: 6.7.14 @@ -27807,43 +27671,26 @@ snapshots: - tsx - yaml - vite-plugin-node-polyfills@0.23.0(rollup@4.45.0)(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-node-polyfills@0.23.0(rollup@4.45.0)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.45.0) node-stdlib-browser: 1.3.1 - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - rollup - vite-plugin-svgr@4.3.0(rollup@4.45.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): + vite-plugin-svgr@4.3.0(rollup@4.45.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)): dependencies: '@rollup/pluginutils': 5.2.0(rollup@4.45.0) '@svgr/core': 8.1.0(typescript@5.8.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) - vite: 6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) + vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) transitivePeerDependencies: - rollup - supports-color - typescript - vite@6.3.5(@types/node@22.15.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): - dependencies: - esbuild: 0.25.2 - fdir: 6.4.4(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.3 - rollup: 4.39.0 - tinyglobby: 0.2.13 - optionalDependencies: - '@types/node': 22.15.15 - fsevents: 2.3.3 - jiti: 2.4.2 - lightningcss: 1.30.1 - terser: 5.39.1 - tsx: 4.20.3 - yaml: 2.7.0 - - vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): + vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): dependencies: esbuild: 0.25.2 fdir: 6.4.4(picomatch@4.0.2) @@ -27852,7 +27699,7 @@ snapshots: rollup: 4.39.0 tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 24.0.13 + '@types/node': 22.15.29 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 @@ -27877,7 +27724,7 @@ snapshots: tsx: 4.20.3 yaml: 2.7.0 - vite@7.0.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): + vite@7.0.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): dependencies: esbuild: 0.25.2 fdir: 6.4.6(picomatch@4.0.2) @@ -27886,24 +27733,7 @@ snapshots: rollup: 4.45.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.13 - fsevents: 2.3.3 - jiti: 2.4.2 - lightningcss: 1.30.1 - terser: 5.39.1 - tsx: 4.20.3 - yaml: 2.7.0 - - vite@7.0.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): - dependencies: - esbuild: 0.25.2 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.6 - rollup: 4.45.0 - tinyglobby: 0.2.14 - optionalDependencies: - '@types/node': 24.0.13 + '@types/node': 24.0.15 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.30.1 @@ -27928,49 +27758,6 @@ snapshots: tsx: 4.20.3 yaml: 2.7.0 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.13)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): - dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 - pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - vite-node: 3.2.4(@types/node@24.0.13)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 24.0.13 - jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.15)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(lightningcss@1.30.1)(terser@5.39.1)(tsx@4.20.3)(yaml@2.7.0): dependencies: '@types/chai': 5.2.2