diff --git a/.changeset/loose-dots-learn.md b/.changeset/loose-dots-learn.md new file mode 100644 index 00000000000..a3b346da314 --- /dev/null +++ b/.changeset/loose-dots-learn.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/cli': minor +'hive': minor +--- + +Upgrade graphql-inspector/core to v7 and update the models to be able to handle the new change +objects. GraphQL Inspector now supports directive changes and improves the accuracy of the severity level for several change types. This will improve schema checks to make them more accurate and more complete. See graphql-inspector's changelog for details. diff --git a/integration-tests/tests/api/policy/policy-check.spec.ts b/integration-tests/tests/api/policy/policy-check.spec.ts index c63d4ecc6fc..d58adc1bf54 100644 --- a/integration-tests/tests/api/policy/policy-check.spec.ts +++ b/integration-tests/tests/api/policy/policy-check.spec.ts @@ -323,13 +323,12 @@ describe('Schema policy checks', () => { '', ' - Deprecation reason is required for field foo in type Query. (source: policy-require-deprecation-reason)', '', - 'ℹ Detected 4 changes', + 'ℹ Detected 3 changes', '', ' Safe changes:', ' - Type User was added', ' - Field user was added to object type Query', ' - Field Query.foo is deprecated', - ' - Directive deprecated was added to field Query.foo', '', 'View full report:', expect.any(String), diff --git a/integration-tests/tests/api/schema/publish.spec.ts b/integration-tests/tests/api/schema/publish.spec.ts index 23a32714b3f..879fa60c87b 100644 --- a/integration-tests/tests/api/schema/publish.spec.ts +++ b/integration-tests/tests/api/schema/publish.spec.ts @@ -818,6 +818,9 @@ describe('schema publishing changes are persisted', () => { equalsObject: { meta: { addedDirectiveName: 'foo', + addedDirectiveDescription: null, + addedDirectiveLocations: ['FIELD'], + addedDirectiveRepeatable: false, }, type: 'DIRECTIVE_ADDED', }, @@ -1278,8 +1281,10 @@ describe('schema publishing changes are persisted', () => { `, equalsObject: { meta: { + addedDirectiveDescription: null, enumName: 'Foo', addedEnumValueName: 'b', + addedToNewType: false, }, type: 'ENUM_VALUE_ADDED', }, @@ -1523,6 +1528,7 @@ describe('schema publishing changes are persisted', () => { typeName: 'Query', addedFieldName: 'b', typeType: 'object type', + addedFieldReturnType: 'String', }, type: 'FIELD_ADDED', }, @@ -1786,6 +1792,7 @@ describe('schema publishing changes are persisted', () => { addedArgumentType: 'String!', hasDefaultValue: false, isAddedFieldArgumentBreaking: true, + addedToNewField: false, }, type: 'FIELD_ARGUMENT_ADDED', }, @@ -1811,6 +1818,7 @@ describe('schema publishing changes are persisted', () => { addedArgumentType: 'String', hasDefaultValue: false, isAddedFieldArgumentBreaking: false, + addedToNewField: false, }, type: 'FIELD_ARGUMENT_ADDED', }, @@ -1866,6 +1874,7 @@ describe('schema publishing changes are persisted', () => { addedInputFieldName: 'b', isAddedInputFieldTypeNullable: true, addedInputFieldType: 'String', + addedToNewType: false, }, type: 'INPUT_FIELD_ADDED', }, @@ -1898,6 +1907,7 @@ describe('schema publishing changes are persisted', () => { addedInputFieldName: 'b', isAddedInputFieldTypeNullable: false, addedInputFieldType: 'String!', + addedToNewType: false, }, type: 'INPUT_FIELD_ADDED', }, @@ -2125,6 +2135,7 @@ describe('schema publishing changes are persisted', () => { meta: { objectTypeName: 'Query', addedInterfaceName: 'Foo', + addedToNewType: false, }, type: 'OBJECT_TYPE_INTERFACE_ADDED', }, @@ -2337,6 +2348,7 @@ describe('schema publishing changes are persisted', () => { equalsObject: { meta: { addedTypeName: 'A', + addedTypeKind: 'ObjectTypeDefinition', }, type: 'TYPE_ADDED', }, @@ -2508,13 +2520,14 @@ describe('schema publishing changes are persisted', () => { meta: { unionName: 'C', addedUnionMemberTypeName: 'B', + addedToNewType: false, }, type: 'UNION_MEMBER_ADDED', }, }); persistedTest({ - name: 'UnionMemberAddedModel', + name: 'UnionMemberRemovedModel', schemaBefore: /* GraphQL */ ` type Query { a: String! @@ -2612,6 +2625,8 @@ describe('schema publishing changes are persisted', () => { enumName: 'Role', enumValueName: 'USER', addedDirectiveName: 'auth', + addedToNewType: false, + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_ENUM_VALUE_ADDED', }, @@ -2648,6 +2663,7 @@ describe('schema publishing changes are persisted', () => { enumName: 'Role', enumValueName: 'USER', removedDirectiveName: 'auth', + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_ENUM_VALUE_REMOVED', }, @@ -2681,6 +2697,7 @@ describe('schema publishing changes are persisted', () => { `, equalsObject: { meta: { + deprecationReason: 'No longer supported', typeName: 'User', fieldName: 'name', }, @@ -2745,6 +2762,8 @@ describe('schema publishing changes are persisted', () => { fieldName: 'user', argumentName: 'id', addedDirectiveName: 'validate', + addedToNewType: false, + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_ARGUMENT_DEFINITION_ADDED', }, @@ -2772,6 +2791,7 @@ describe('schema publishing changes are persisted', () => { fieldName: 'user', argumentName: 'id', removedDirectiveName: 'validate', + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_ARGUMENT_DEFINITION_REMOVED', }, @@ -2805,6 +2825,8 @@ describe('schema publishing changes are persisted', () => { meta: { objectName: 'User', addedDirectiveName: 'auth', + addedToNewType: false, + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_OBJECT_ADDED', }, @@ -2838,6 +2860,7 @@ describe('schema publishing changes are persisted', () => { meta: { objectName: 'User', removedDirectiveName: 'auth', + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_OBJECT_REMOVED', }, @@ -2874,6 +2897,9 @@ describe('schema publishing changes are persisted', () => { inputObjectName: 'UserInput', inputFieldName: 'email', addedDirectiveName: 'validate', + addedToNewType: false, + directiveRepeatedTimes: 1, + inputFieldType: 'String!', }, type: 'DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_ADDED', }, @@ -2907,6 +2933,7 @@ describe('schema publishing changes are persisted', () => { `, equalsObject: { meta: { + directiveRepeatedTimes: 0, inputObjectName: 'UserInput', inputFieldName: 'email', removedDirectiveName: 'validate', @@ -2943,6 +2970,8 @@ describe('schema publishing changes are persisted', () => { meta: { interfaceName: 'Node', addedDirectiveName: 'auth', + addedToNewType: false, + directiveRepeatedTimes: 1, }, type: 'DIRECTIVE_USAGE_INTERFACE_ADDED', }, @@ -2974,12 +3003,155 @@ describe('schema publishing changes are persisted', () => { `, equalsObject: { meta: { + directiveRepeatedTimes: 1, interfaceName: 'Node', removedDirectiveName: 'auth', }, type: 'DIRECTIVE_USAGE_INTERFACE_REMOVED', }, }); + + persistedTest({ + name: 'DirectiveUsageArgumentAdded', + schemaBefore: /* GraphQL */ ` + directive @auth(roles: [String!]) on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + schemaAfter: /* GraphQL */ ` + directive @auth(roles: [String!]) on OBJECT + + interface Node { + id: ID! + } + + type Query @auth(roles: ["node:read"]) { + node: Node + } + `, + equalsObject: { + meta: { + addedArgumentName: 'roles', + addedArgumentValue: '["node:read"]', + directiveName: 'auth', + directiveRepeatedTimes: 1, + oldArgumentValue: null, + parentArgumentName: null, + parentEnumValueName: null, + parentFieldName: null, + parentTypeName: 'Query', + }, + type: 'DIRECTIVE_USAGE_ARGUMENT_ADDED', + }, + }); + + persistedTest({ + name: 'DirectiveUsageArgumentRemoved', + schemaBefore: /* GraphQL */ ` + directive @auth(roles: [String!]) on OBJECT + + interface Node { + id: ID! + } + + type Query @auth(roles: ["node:read"]) { + node: Node + } + `, + schemaAfter: /* GraphQL */ ` + directive @auth(roles: [String!]) on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + equalsObject: { + meta: { + directiveName: 'auth', + directiveRepeatedTimes: 1, + parentArgumentName: null, + parentEnumValueName: null, + parentFieldName: null, + parentTypeName: 'Query', + removedArgumentName: 'roles', + }, + type: 'DIRECTIVE_USAGE_ARGUMENT_REMOVED', + }, + }); + + persistedTest({ + name: 'DirectiveRepeatableAdded', + schemaBefore: /* GraphQL */ ` + directive @auth on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + schemaAfter: /* GraphQL */ ` + directive @auth repeatable on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + equalsObject: { + meta: { + directiveName: 'auth', + }, + type: 'DIRECTIVE_REPEATABLE_ADDED', + }, + }); + + persistedTest({ + name: 'DirectiveRepeatableRemoved', + schemaBefore: /* GraphQL */ ` + directive @auth repeatable on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + schemaAfter: /* GraphQL */ ` + directive @auth on OBJECT + + interface Node { + id: ID! + } + + type Query @auth { + node: Node + } + `, + equalsObject: { + meta: { + directiveName: 'auth', + }, + type: 'DIRECTIVE_REPEATABLE_REMOVED', + }, + }); }); const SchemaCompareToPreviousVersionQuery = graphql(` diff --git a/packages/libraries/cli/package.json b/packages/libraries/cli/package.json index 12f9c4b855c..39b1aa99ebe 100644 --- a/packages/libraries/cli/package.json +++ b/packages/libraries/cli/package.json @@ -49,7 +49,7 @@ }, "dependencies": { "@graphql-hive/core": "workspace:*", - "@graphql-inspector/core": "6.4.1", + "@graphql-inspector/core": "7.0.3", "@graphql-tools/code-file-loader": "~8.1.0", "@graphql-tools/graphql-file-loader": "~8.1.0", "@graphql-tools/json-file-loader": "~8.0.0", diff --git a/packages/services/api/package.json b/packages/services/api/package.json index 18279536bcc..512601eb6fa 100644 --- a/packages/services/api/package.json +++ b/packages/services/api/package.json @@ -17,7 +17,7 @@ "@date-fns/utc": "2.1.1", "@graphql-hive/core": "workspace:*", "@graphql-hive/signal": "1.0.0", - "@graphql-inspector/core": "6.4.1", + "@graphql-inspector/core": "7.0.3", "@graphql-tools/merge": "9.1.1", "@hive/cdn-script": "workspace:*", "@hive/emails": "workspace:*", diff --git a/packages/services/api/src/modules/schema/providers/inspector.ts b/packages/services/api/src/modules/schema/providers/inspector.ts index f0e75a18eb7..34ed1bcb2fe 100644 --- a/packages/services/api/src/modules/schema/providers/inspector.ts +++ b/packages/services/api/src/modules/schema/providers/inspector.ts @@ -10,7 +10,7 @@ import { type GraphQLSchema, } from 'graphql'; import { Injectable, Scope } from 'graphql-modules'; -import { Change, ChangeType, diff, TypeOfChangeType } from '@graphql-inspector/core'; +import { Change, ChangeType, diff, DiffRule, TypeOfChangeType } from '@graphql-inspector/core'; import { traceFn } from '@hive/service-common'; import { HiveSchemaChangeModel } from '@hive/storage'; import { Logger } from '../../shared/providers/logger'; @@ -34,7 +34,7 @@ export class Inspector { async diff(existing: GraphQLSchema, incoming: GraphQLSchema) { this.logger.debug('Comparing Schemas'); - const changes = await diff(existing, incoming); + const changes = await diff(existing, incoming, [DiffRule.simplifyChanges]); return changes .filter(dropTrimmedDescriptionChangedChange) diff --git a/packages/services/storage/package.json b/packages/services/storage/package.json index fe2522382ff..0a637423229 100644 --- a/packages/services/storage/package.json +++ b/packages/services/storage/package.json @@ -16,7 +16,7 @@ "db:generate": "schemats generate --config schemats.cjs -o src/db/types.ts && prettier --write src/db/types.ts" }, "devDependencies": { - "@graphql-inspector/core": "6.4.1", + "@graphql-inspector/core": "7.0.3", "@hive/service-common": "workspace:*", "@sentry/node": "7.120.2", "@sentry/types": "7.120.2", @@ -26,6 +26,7 @@ "dotenv": "16.4.7", "fast-json-stable-stringify": "2.1.0", "got": "14.4.7", + "graphql": "^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "pg-promise": "11.10.2", "slonik": "30.4.4", "slonik-interceptor-query-logging": "46.4.0", diff --git a/packages/services/storage/src/schema-change-meta.ts b/packages/services/storage/src/schema-change-meta.ts index d79c49b0c6e..2dfc0f6f2e7 100644 --- a/packages/services/storage/src/schema-change-meta.ts +++ b/packages/services/storage/src/schema-change-meta.ts @@ -13,8 +13,12 @@ import { directiveLocationAddedFromMeta, directiveLocationRemovedFromMeta, directiveRemovedFromMeta, + directiveRepeatableAddedFromMeta, + directiveRepeatableRemovedFromMeta, + directiveUsageArgumentAddedFromMeta, directiveUsageArgumentDefinitionAddedFromMeta, directiveUsageArgumentDefinitionRemovedFromMeta, + directiveUsageArgumentRemovedFromMeta, directiveUsageEnumAddedFromMeta, directiveUsageEnumRemovedFromMeta, directiveUsageEnumValueAddedFromMeta, @@ -195,6 +199,10 @@ export function schemaChangeFromSerializableChange( return directiveUsageInputFieldDefinitionAddedFromMeta(change); case ChangeType.DirectiveUsageInputFieldDefinitionRemoved: return directiveUsageInputFieldDefinitionRemovedFromMeta(change); + case ChangeType.DirectiveUsageArgumentAdded: + return directiveUsageArgumentAddedFromMeta(change); + case ChangeType.DirectiveUsageArgumentRemoved: + return directiveUsageArgumentRemovedFromMeta(change); case ChangeType.EnumValueRemoved: return enumValueRemovedFromMeta(change); case ChangeType.EnumValueAdded: @@ -273,6 +281,10 @@ export function schemaChangeFromSerializableChange( return unionMemberRemovedFromMeta(change); case ChangeType.UnionMemberAdded: return buildUnionMemberAddedMessageFromMeta(change); + case ChangeType.DirectiveRepeatableAdded: + return directiveRepeatableAddedFromMeta(change); + case ChangeType.DirectiveRepeatableRemoved: + return directiveRepeatableRemovedFromMeta(change); case 'REGISTRY_SERVICE_URL_CHANGED': return buildRegistryServiceURLFromMeta(change); default: diff --git a/packages/services/storage/src/schema-change-model.ts b/packages/services/storage/src/schema-change-model.ts index 6a076b7340a..e9455b94bcc 100644 --- a/packages/services/storage/src/schema-change-model.ts +++ b/packages/services/storage/src/schema-change-model.ts @@ -1,6 +1,7 @@ /** These mirror DB models from */ import crypto from 'node:crypto'; import stableJSONStringify from 'fast-json-stable-stringify'; +import { Kind } from 'graphql'; import { SerializableValue } from 'slonik'; import { z } from 'zod'; import { @@ -16,9 +17,12 @@ import { DirectiveLocationAddedChange, DirectiveLocationRemovedChange, DirectiveRemovedChange, + DirectiveRepeatableAddedChange, + DirectiveRepeatableRemovedChange, + DirectiveUsageArgumentAddedChange, DirectiveUsageArgumentDefinitionAddedChange, - DirectiveUsageArgumentDefinitionChange, DirectiveUsageArgumentDefinitionRemovedChange, + DirectiveUsageArgumentRemovedChange, DirectiveUsageEnumAddedChange, DirectiveUsageEnumRemovedChange, DirectiveUsageEnumValueAddedChange, @@ -81,7 +85,6 @@ import { TypeDescriptionChangedChange, TypeDescriptionRemovedChange, TypeKindChangedChange, - TypeOfChangeType, TypeRemovedChange, UnionMemberAddedChange, UnionMemberRemovedChange, @@ -100,6 +103,10 @@ const FieldArgumentTypeChangedLiteral = z.literal("FIELD_ARGUMENT_TYPE_CHANGED" // prettier-ignore const DirectiveRemovedLiteral = z.literal("DIRECTIVE_REMOVED" satisfies `${typeof ChangeType.DirectiveRemoved}`) // prettier-ignore +const DirectiveRepeatableAddedLiteral = z.literal("DIRECTIVE_REPEATABLE_ADDED" satisfies `${typeof ChangeType.DirectiveRepeatableAdded}`) +// prettier-ignore +const DirectiveRepeatableRemovedLiteral = z.literal("DIRECTIVE_REPEATABLE_REMOVED" satisfies `${typeof ChangeType.DirectiveRepeatableRemoved}`) +// prettier-ignore const DirectiveAddedLiteral = z.literal("DIRECTIVE_ADDED" satisfies `${typeof ChangeType.DirectiveAdded}`) // prettier-ignore const DirectiveDescriptionChangedLiteral = z.literal("DIRECTIVE_DESCRIPTION_CHANGED" satisfies `${typeof ChangeType.DirectiveDescriptionChanged}`) @@ -243,20 +250,13 @@ const TypeDescriptionAddedLiteral = z.literal("TYPE_DESCRIPTION_ADDED" satisfie const UnionMemberRemovedLiteral = z.literal("UNION_MEMBER_REMOVED" satisfies `${typeof ChangeType.UnionMemberRemoved}`) // prettier-ignore const UnionMemberAddedLiteral = z.literal("UNION_MEMBER_ADDED" satisfies `${typeof ChangeType.UnionMemberAdded}`) +// prettier-ignore +const DirectiveUsageArgumentAddedLiteral = z.literal("DIRECTIVE_USAGE_ARGUMENT_ADDED" satisfies `${typeof ChangeType.DirectiveUsageArgumentAdded}`) +// prettier-ignore +const DirectiveUsageArgumentRemovedLiteral = z.literal("DIRECTIVE_USAGE_ARGUMENT_REMOVED" satisfies `${typeof ChangeType.DirectiveUsageArgumentRemoved}`) -/** - * @source https://github.com/colinhacks/zod/issues/372#issuecomment-1280054492 - */ type Implements = { - [key in keyof Model]-?: undefined extends Model[key] - ? null extends Model[key] - ? z.ZodNullableType>> - : z.ZodOptionalType> - : null extends Model[key] - ? z.ZodNullableType> - : Model[key] extends TypeOfChangeType - ? z.ZodLiteral<`${Model[key]}`> - : z.ZodType; + [K in keyof Model]-?: z.ZodTypeAny & { _output: Model[K] }; }; export function implement() { @@ -315,10 +315,28 @@ export const DirectiveRemovedModel = implement().with({ }), }); +export const DirectiveRepeatableAddedModel = implement().with({ + type: DirectiveRepeatableAddedLiteral, + meta: z.object({ + directiveName: z.string(), + }), +}); + +export const DirectiveRepeatableRemovedModel = implement().with({ + type: DirectiveRepeatableRemovedLiteral, + meta: z.object({ + directiveName: z.string(), + }), +}); + export const DirectiveAddedModel = implement().with({ type: DirectiveAddedLiteral, meta: z.object({ addedDirectiveName: z.string(), + // for backwards compatibility + addedDirectiveRepeatable: z.boolean().default(false), + addedDirectiveLocations: z.array(z.string()).default([]), + addedDirectiveDescription: z.string().nullish().default(null), // string | null; }), }); @@ -354,7 +372,11 @@ export const DirectiveArgumentAddedModel = implement().with({ type: DirectiveUsageUnionMemberRemovedLiteral, @@ -455,6 +483,7 @@ export const DirectiveUsageUnionMemberRemovedModel = unionName: z.string(), removedUnionMemberTypeName: z.string(), removedDirectiveName: z.string(), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -465,6 +494,8 @@ export const DirectiveUsageFieldDefinitionAddedModel = typeName: z.string(), fieldName: z.string(), addedDirectiveName: z.string(), + addedToNewType: z.boolean().default(false), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -475,6 +506,7 @@ export const DirectiveUsageFieldDefinitionRemovedModel = typeName: z.string(), fieldName: z.string(), removedDirectiveName: z.string(), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -485,6 +517,9 @@ export const DirectiveUsageInputFieldDefinitionAddedModel = inputObjectName: z.string(), inputFieldName: z.string(), addedDirectiveName: z.string(), + addedToNewType: z.boolean().default(false), + inputFieldType: z.string().default(''), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -495,6 +530,7 @@ export const DirectiveUsageInputFieldDefinitionRemovedModel = inputObjectName: z.string(), inputFieldName: z.string(), removedDirectiveName: z.string(), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -506,17 +542,8 @@ export const DirectiveUsageArgumentDefinitionAddedModel = fieldName: z.string(), argumentName: z.string(), addedDirectiveName: z.string(), - }), - }); - -export const DirectiveUsageArgumentDefinitionModel = - implement().with({ - type: DirectiveUsageArgumentDefinitionAddedLiteral, - meta: z.object({ - typeName: z.string(), - fieldName: z.string(), - argumentName: z.string(), - addedDirectiveName: z.string(), + addedToNewType: z.boolean().default(false), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -528,6 +555,7 @@ export const DirectiveUsageArgumentDefinitionRemovedModel = fieldName: z.string(), argumentName: z.string(), removedDirectiveName: z.string(), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -536,6 +564,8 @@ export const DirectiveUsageEnumAddedModel = implement().with({ type: DirectiveUsageInterfaceAddedLiteral, meta: z.object({ interfaceName: z.string(), addedDirectiveName: z.string(), + addedToNewType: z.boolean().default(false), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -622,6 +663,7 @@ export const DirectiveUsageInterfaceRemovedModel = meta: z.object({ interfaceName: z.string(), removedDirectiveName: z.string(), + directiveRepeatedTimes: z.number().default(1), }), }); @@ -630,6 +672,8 @@ export const DirectiveUsageSchemaAddedModel = implement().with( + { + type: DirectiveUsageArgumentAddedLiteral, + meta: z.object({ + directiveName: z.string(), + addedArgumentName: z.string(), + addedArgumentValue: z.string(), + oldArgumentValue: z.string().nullable(), + parentTypeName: z.string().nullable(), + parentFieldName: z.string().nullable(), + parentArgumentName: z.string().nullable(), + parentEnumValueName: z.string().nullable(), + directiveRepeatedTimes: z.number().default(1), }), }, ); +export const DirectiveUsageArgumentRemovedModel = + implement().with({ + type: DirectiveUsageArgumentRemovedLiteral, + meta: z.object({ + directiveName: z.string(), + removedArgumentName: z.string(), + parentTypeName: z.string().nullable(), + parentFieldName: z.string().nullable(), + parentArgumentName: z.string().nullable(), + parentEnumValueName: z.string().nullable(), + directiveRepeatedTimes: z.number().default(1), + }), + }); + // Enum export const EnumValueRemovedModel = implement().with({ @@ -654,11 +729,13 @@ export const EnumValueRemovedModel = implement().with({ }), }); -export const EnumValueAdded = implement().with({ +export const EnumValueAddedModel = implement().with({ type: EnumValueAddedLiteral, meta: z.object({ enumName: z.string(), addedEnumValueName: z.string(), + addedToNewType: z.boolean().default(false), + addedDirectiveDescription: z.string().nullable().optional().default(null), }), }); @@ -723,6 +800,7 @@ export const FieldAddedModel = implement().with({ typeName: z.string(), addedFieldName: z.string(), typeType: z.string(), + addedFieldReturnType: z.string().default(''), // optional for backwards compatibility }), }); @@ -758,6 +836,7 @@ export const FieldDeprecationAddedModel = implement meta: z.object({ typeName: z.string(), fieldName: z.string(), + deprecationReason: z.string().default('No longer supported'), // for backwards compatibility }), }); @@ -820,6 +899,7 @@ export const FieldArgumentAddedModel = implement().wit addedArgumentType: z.string(), hasDefaultValue: z.boolean(), isAddedFieldArgumentBreaking: z.boolean(), + addedToNewField: z.boolean().default(false), // for backwards compatibility }), }); @@ -851,6 +931,8 @@ export const InputFieldAddedModel = implement().with({ addedInputFieldName: z.string(), isAddedInputFieldTypeNullable: z.boolean(), addedInputFieldType: z.string(), + addedToNewType: z.boolean().default(false), // default to make backwards compatible + addedFieldDefault: z.string().optional(), }), }); @@ -913,6 +995,7 @@ export const ObjectTypeInterfaceAddedModel = implement().with({ export const TypeAddedModel = implement().with({ type: TypeAddedLiteral, - meta: z.object({ - addedTypeName: z.string(), - }), + meta: z.union([ + z.object({ + addedTypeName: z.string(), + addedTypeKind: z.literal(Kind.INPUT_OBJECT_TYPE_DEFINITION), + addedTypeIsOneOf: z.boolean().default(false), + }), + z.object({ + addedTypeName: z.string(), + addedTypeKind: z + .union([ + z.literal(Kind.ENUM_TYPE_DEFINITION), + z.literal(Kind.OBJECT_TYPE_DEFINITION), + z.literal(Kind.INTERFACE_TYPE_DEFINITION), + z.literal(Kind.UNION_TYPE_DEFINITION), + z.literal(Kind.SCALAR_TYPE_DEFINITION), + ]) + /** Default isn't important for old changes b/c they won't be patched but it keeps the model safe for them. */ + .default(Kind.OBJECT_TYPE_DEFINITION), + }), + ]), }); export const TypeKindChangedModel = implement().with({ @@ -1014,6 +1114,7 @@ export const UnionMemberAddedModel = implement().with({ meta: z.object({ unionName: z.string(), addedUnionMemberTypeName: z.string(), + addedToNewType: z.boolean().default(false), // default for backwards compatibility }), }); @@ -1052,11 +1153,15 @@ export const SchemaChangeModel = z.union([ DirectiveDescriptionChangedModel, DirectiveLocationAddedModel, DirectiveLocationRemovedModel, + DirectiveRepeatableAddedModel, + DirectiveRepeatableRemovedModel, DirectiveArgumentAddedModel, DirectiveArgumentRemovedModel, DirectiveArgumentDescriptionChangedModel, DirectiveArgumentDefaultValueChangedModel, DirectiveArgumentTypeChangedModel, + DirectiveUsageArgumentAddedModel, + DirectiveUsageArgumentRemovedModel, DirectiveUsageEnumValueAddedModel, DirectiveUsageEnumValueRemovedModel, DirectiveUsageFieldAddedModel, @@ -1068,7 +1173,6 @@ export const SchemaChangeModel = z.union([ DirectiveUsageInputFieldDefinitionAddedModel, DirectiveUsageInputFieldDefinitionRemovedModel, DirectiveUsageArgumentDefinitionAddedModel, - DirectiveUsageArgumentDefinitionModel, DirectiveUsageArgumentDefinitionRemovedModel, DirectiveUsageEnumAddedModel, DirectiveUsageEnumRemovedModel, @@ -1083,9 +1187,10 @@ export const SchemaChangeModel = z.union([ DirectiveUsageSchemaAddedModel, DirectiveUsageSchemaRemovedModel, EnumValueRemovedModel, - EnumValueAdded, + EnumValueAddedModel, EnumValueDescriptionChangedModel, EnumValueDeprecationReasonChangedModel, + DirectiveArgumentTypeChangedModel, EnumValueDeprecationReasonAddedModel, EnumValueDeprecationReasonRemovedModel, FieldRemovedModel, @@ -1229,10 +1334,10 @@ export const HiveSchemaChangeModel = z breakingChangeSchemaCoordinate = change.path ?? null; if ( - isInputFieldAddedChange(rawChange) && - rawChange.meta.isAddedInputFieldTypeNullable === false + isInputFieldAddedChange(change) && + change.meta.isAddedInputFieldTypeNullable === false ) { - breakingChangeSchemaCoordinate = rawChange.meta.inputName; + breakingChangeSchemaCoordinate = change.meta.inputName; } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5186565db61..87076c96b35 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -438,8 +438,8 @@ importers: specifier: workspace:* version: link:../core/dist '@graphql-inspector/core': - specifier: 6.4.1 - version: 6.4.1(graphql@16.9.0) + specifier: 7.0.3 + version: 7.0.3(graphql@16.9.0) '@graphql-tools/code-file-loader': specifier: ~8.1.0 version: 8.1.0(graphql@16.9.0) @@ -740,8 +740,8 @@ importers: specifier: 1.0.0 version: 1.0.0 '@graphql-inspector/core': - specifier: 6.4.1 - version: 6.4.1(graphql@16.9.0) + specifier: 7.0.3 + version: 7.0.3(graphql@16.9.0) '@graphql-tools/merge': specifier: 9.1.1 version: 9.1.1(graphql@16.9.0) @@ -1450,8 +1450,8 @@ importers: packages/services/storage: devDependencies: '@graphql-inspector/core': - specifier: 6.4.1 - version: 6.4.1(graphql@16.11.0) + specifier: 7.0.3 + version: 7.0.3(graphql@16.9.0) '@hive/service-common': specifier: workspace:* version: link:../service-common @@ -1479,6 +1479,9 @@ importers: got: specifier: 14.4.7 version: 14.4.7(patch_hash=f7660444905ddadee251ff98241119fb54f5fec1e673a428192da361d5636299) + graphql: + specifier: ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + version: 16.9.0 pg-promise: specifier: 11.10.2 version: 11.10.2(pg-query-stream@4.7.0(pg@8.13.1)) @@ -2581,8 +2584,8 @@ packages: resolution: {integrity: sha512-YyN8x4MI/jMb4LpHsLf+VYqvbColMK8aZeGWVk2fTFsmt8lpTYGaGC1yybSwGX42mZ4W8ucu8SAYSbUraJZEjA==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sts@3.936.0': - resolution: {integrity: sha512-IKPJ+LHjOep+6to5tjPOI9ReSTqWZKjIqqLzHvgtbNaTMOfYg4mGv7eJdOusgtPoEXZZVhIaLUslFv7oq6y8KQ==} + '@aws-sdk/client-sts@3.939.0': + resolution: {integrity: sha512-tMWQkucImBu4E+D7VLe0zN3zgYlFkrWQS/oVICQwcSn02WyqKV1M+DxMC52sIo2nZPDCReBEhFTqoe5svxrB9g==} engines: {node: '>=18.0.0'} '@aws-sdk/core@3.592.0': @@ -2649,12 +2652,12 @@ packages: resolution: {integrity: sha512-bVF+pI5UCLNkvbiZr/t2fgTtv84s8FCdOGAPxQiQcw5qOZywNuuCCY3wIIchmQr6GJr8YFkEp5LgDCac5EC5aQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.936.0': - resolution: {integrity: sha512-TbUv56ERQQujoHcLMcfL0Q6bVZfYF83gu/TjHkVkdSlHPOIKaG/mhE2XZSQzXv1cud6LlgeBbfzVAxJ+HPpffg==} + '@aws-sdk/credential-provider-ini@3.939.0': + resolution: {integrity: sha512-RHQ3xKz5pn5PMuoBYNYLMIdN4iU8gklxcsfJzOflSrwkhb8ukVRS9LjHXUtyE4qQ2J+dfj1QSr4PFOSxvzRZkA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-login@3.936.0': - resolution: {integrity: sha512-8DVrdRqPyUU66gfV7VZNToh56ZuO5D6agWrkLQE/xbLJOm2RbeRgh6buz7CqV8ipRd6m+zCl9mM4F3osQLZn8Q==} + '@aws-sdk/credential-provider-login@3.939.0': + resolution: {integrity: sha512-SbbzlsH2ZSsu2szyl494QOUS69LZgU8bYlFoDnUxy2L89YzLyR4D9wWlJzKCm4cS1eyNxPsOMkbVVL42JRvdZw==} engines: {node: '>=18.0.0'} '@aws-sdk/credential-provider-node@3.596.0': @@ -2669,8 +2672,8 @@ packages: resolution: {integrity: sha512-agCwaD6mBihToHkjycL8ObIS2XOnWypWZZWhJSoWyHwFrhEKz1zGvgylK9Dc711oUfU+zU6J8e0JPKNJMNb3BQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.936.0': - resolution: {integrity: sha512-rk/2PCtxX9xDsQW8p5Yjoca3StqmQcSfkmD7nQ61AqAHL1YgpSQWqHE+HjfGGiHDYKG7PvE33Ku2GyA7lEIJAw==} + '@aws-sdk/credential-provider-node@3.939.0': + resolution: {integrity: sha512-OAwCqDNlKC3JmWb+N0zFfsPJJ8J5b8ZD63vWHdSf9c7ZlRKpFRD/uePqVMQKOq4h3DO0P0smAPk/m5p66oYLrw==} engines: {node: '>=18.0.0'} '@aws-sdk/credential-provider-process@3.587.0': @@ -2701,8 +2704,8 @@ packages: resolution: {integrity: sha512-nbD3G3hShTYxLCkKMqLkLPtKwAAfxdY/k9jHtZmVBFXek2T6tQrqZHKxlAu+fd23Ga4/Aik7DLQQx1RA1a5ipg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.936.0': - resolution: {integrity: sha512-wHlEAJJvtnSyxTfNhN98JcU4taA1ED2JvuI2eePgawqBwS/Tzi0mhED1lvNIaWOkjfLd+nHALwszGrtJwEq4yQ==} + '@aws-sdk/credential-provider-sso@3.939.0': + resolution: {integrity: sha512-gXWI+5xf+2n7kJSqYgDw1VkNLGRe2IYNCjOW/F04/7l8scxOP84SZ634OI9IR/8JWvFwMUjxH4JigPU0j6ZWzQ==} engines: {node: '>=18.0.0'} '@aws-sdk/credential-provider-web-identity@3.587.0': @@ -2721,8 +2724,8 @@ packages: resolution: {integrity: sha512-wjGIhgMHGGQfQTdFaJphNOKyAL8wZs6znJdHADPVURmgR+EWLyN/0fDO1u7wx8xaLMZpbHIFWBEvf9TritR/cQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.936.0': - resolution: {integrity: sha512-v3qHAuoODkoRXsAF4RG+ZVO6q2P9yYBT4GMpMEfU9wXVNn7AIfwZgTwzSUfnjNiGva5BKleWVpRpJ9DeuLFbUg==} + '@aws-sdk/credential-provider-web-identity@3.939.0': + resolution: {integrity: sha512-b/ySLC6DfWwZIAP2Glq9mkJJ/9LIDiKfYN2f9ZenQF+k2lO1i6/QtBuslvLmBJ+mNz0lPRSHW29alyqOpBgeCQ==} engines: {node: '>=18.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.723.0': @@ -2821,8 +2824,8 @@ packages: resolution: {integrity: sha512-uYvKCF1TGh/MuJ4TMqmUM0Csuao02HawcseG4LUDyxdUsd/EFuxalWq1Cx4fKZQ2K8F504efZBjctMAMNY+l7A==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.936.0': - resolution: {integrity: sha512-eyj2tz1XmDSLSZQ5xnB7cLTVKkSJnYAEoNDSUNhzWPxrBDYeJzIbatecOKceKCU8NBf8gWWZCK/CSY0mDxMO0A==} + '@aws-sdk/nested-clients@3.939.0': + resolution: {integrity: sha512-QeNsjHBCbsVRbgEt9FZNnrrbMTUuIYML3FX5xFgEJz4aI5uXwMBjYOi5TvAY+Y4CBHY4cp3dd/zSpHu0gX68GQ==} engines: {node: '>=18.0.0'} '@aws-sdk/region-config-resolver@3.587.0': @@ -2869,8 +2872,8 @@ packages: resolution: {integrity: sha512-/inmPnjZE0ZBE16zaCowAvouSx05FJ7p6BQYuzlJ8vxEU0sS0Hf8fvhuiRnN9V9eDUPIBY+/5EjbMWygXL4wlQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.936.0': - resolution: {integrity: sha512-vvw8+VXk0I+IsoxZw0mX9TMJawUJvEsg3EF7zcCSetwhNPAU8Xmlhv7E/sN/FgSmm7b7DsqKoW6rVtQiCs1PWQ==} + '@aws-sdk/token-providers@3.939.0': + resolution: {integrity: sha512-paNeLZdr2/sk7XYMZz2OIqFFF3AkA5vUpKYahVDYmMeiMecQTqa/EptA3aVvWa4yWobEF0Kk+WSUPrOIGI3eQg==} engines: {node: '>=18.0.0'} '@aws-sdk/types@3.577.0': @@ -4357,8 +4360,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-inspector/core@6.4.1': - resolution: {integrity: sha512-nkwT3bNsYVotQ/xHe7o+No89HB2RSsy/AVyZCoDElkKbPr6a4MtwYxPyXrBsS8u5nu6Czr0fAE5lF5tS5yPmeg==} + '@graphql-inspector/core@7.0.3': + resolution: {integrity: sha512-85WkFZkC2GjGLTf+PB6L347zJhQLZ7FH5OoMz6EXoacFjd6iQ5Xf/Qdz3Vu1tjLY70ZKj7jddI4GEPompNSkJg==} engines: {node: '>=18.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -6161,8 +6164,8 @@ packages: '@opentelemetry/api': ^1.4.1 '@opentelemetry/core': ^2.0.0 - '@opentelemetry/auto-instrumentations-node@0.67.0': - resolution: {integrity: sha512-dE0/otVr/2XpOCJ5T82rUww1hdniN0vQZmt7JxlGQTe6h3bvKWfFnkBgKASzXRUqD5VAtcC3W8YeOsLPJ3OspA==} + '@opentelemetry/auto-instrumentations-node@0.67.1': + resolution: {integrity: sha512-Rj7hwoq8pogneB8KfiFpDhr2q55LxqJIjcfx42x2m0xRwuTQQ4wuWGPMslQ+EY9nh688T3edzao/Jx3YNjAMAQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.4.1 @@ -6437,8 +6440,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-aws-lambda@0.60.0': - resolution: {integrity: sha512-8S0kBnVy/GdYy0/dBhdZglIMhbv2OYiTcv2uPdAog2p+ndF+XpsR+J3fXnksYybE1SFV6TLkkEVJrWIU2E2zBg==} + '@opentelemetry/instrumentation-aws-lambda@0.60.1': + resolution: {integrity: sha512-yW1TV6e0p0UZk/hfn+sndC1NXJIF23UvUcvzjcmnh+T/4BXhps7B20sYTcXvH43yw1mWNGL0KAwGoHzCI53RWw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -6659,8 +6662,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-knex@0.53.0': - resolution: {integrity: sha512-xngn5cH2mVXFmiT1XfQ1aHqq1m4xb5wvU6j9lSgLlihJ1bXzsO543cpDwjrZm2nMrlpddBf55w8+bfS4qDh60g==} + '@opentelemetry/instrumentation-knex@0.53.1': + resolution: {integrity: sha512-tIW3gqVC8d9CCE+oxPO63WNvC+5PKC/LrPrYWFobii5afUpHJV+0pfyt08okAFBHztzT0voMOEPGkLKoacZRXQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -6773,8 +6776,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-openai@0.6.0': - resolution: {integrity: sha512-FmmAi+gwuAyoWkxuyqpFlBCi7YG36L3HLnLVE0gf2iZV+AQlVQgd9kP8SxywSPV1L9BqTwJJ8mDIUiIBp9zSAQ==} + '@opentelemetry/instrumentation-openai@0.7.0': + resolution: {integrity: sha512-p6quVxFL3q1qwrjNtpOmeaesjjdjWcdvkRFrRyqvg4zHYhiZF7+Als3tsYtvBwQElycnxDwtSAh7E2kbQk2NkA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -6797,8 +6800,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-pg@0.61.0': - resolution: {integrity: sha512-UeV7KeTnRSM7ECHa3YscoklhUtTQPs6V6qYpG283AB7xpnPGCUCUfECFT9jFg6/iZOQTt3FHkB1wGTJCNZEvPw==} + '@opentelemetry/instrumentation-pg@0.61.1': + resolution: {integrity: sha512-VKKts/XcOCa7IPBxVjL2B4UyG+YTNa4Dh1Xx2vqL0jOEQBJlNsv++I12BUw/8NRLEr2K/gOM5tpVU7QqhWA65A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -6821,8 +6824,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-redis@0.57.0': - resolution: {integrity: sha512-bCxTHQFXzrU3eU1LZnOZQ3s5LURxQPDlU3/upBzlWY77qOI1GZuGofazj3jtzjctMJeBEJhNwIFEgRPBX1kp/Q==} + '@opentelemetry/instrumentation-redis@0.57.1': + resolution: {integrity: sha512-iP564P8On9NPPi06T2MyL56sBN0RsF29DX/RC5fW0yOOFdUHcvCDmJnp11eZyymTvYj5HX8tvpoO+vDb6+Lv8A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 @@ -19361,8 +19364,8 @@ snapshots: dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.596.0(@aws-sdk/client-sts@3.596.0) - '@aws-sdk/client-sts': 3.596.0 + '@aws-sdk/client-sso-oidc': 3.596.0 + '@aws-sdk/client-sts': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0) '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0)(@aws-sdk/client-sts@3.596.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -19514,11 +19517,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.596.0(@aws-sdk/client-sts@3.596.0)': + '@aws-sdk/client-sso-oidc@3.596.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.596.0 + '@aws-sdk/client-sts': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0) '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0)(@aws-sdk/client-sts@3.596.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -19557,7 +19560,6 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: - - '@aws-sdk/client-sts' - aws-crt '@aws-sdk/client-sso-oidc@3.723.0(@aws-sdk/client-sts@3.723.0)': @@ -19777,11 +19779,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.596.0': + '@aws-sdk/client-sts@3.596.0(@aws-sdk/client-sso-oidc@3.596.0)': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.596.0(@aws-sdk/client-sts@3.596.0) + '@aws-sdk/client-sso-oidc': 3.596.0 '@aws-sdk/core': 3.592.0 '@aws-sdk/credential-provider-node': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0)(@aws-sdk/client-sts@3.596.0) '@aws-sdk/middleware-host-header': 3.577.0 @@ -19820,6 +19822,7 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' - aws-crt '@aws-sdk/client-sts@3.723.0': @@ -19867,12 +19870,12 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.936.0': + '@aws-sdk/client-sts@3.939.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/core': 3.936.0 - '@aws-sdk/credential-provider-node': 3.936.0 + '@aws-sdk/credential-provider-node': 3.939.0 '@aws-sdk/middleware-host-header': 3.936.0 '@aws-sdk/middleware-logger': 3.936.0 '@aws-sdk/middleware-recursion-detection': 3.936.0 @@ -20051,7 +20054,7 @@ snapshots: '@aws-sdk/credential-provider-ini@3.596.0(@aws-sdk/client-sso-oidc@3.596.0)(@aws-sdk/client-sts@3.596.0)': dependencies: - '@aws-sdk/client-sts': 3.596.0 + '@aws-sdk/client-sts': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0) '@aws-sdk/credential-provider-env': 3.587.0 '@aws-sdk/credential-provider-http': 3.596.0 '@aws-sdk/credential-provider-process': 3.587.0 @@ -20104,16 +20107,16 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-ini@3.936.0': + '@aws-sdk/credential-provider-ini@3.939.0': dependencies: '@aws-sdk/core': 3.936.0 '@aws-sdk/credential-provider-env': 3.936.0 '@aws-sdk/credential-provider-http': 3.936.0 - '@aws-sdk/credential-provider-login': 3.936.0 + '@aws-sdk/credential-provider-login': 3.939.0 '@aws-sdk/credential-provider-process': 3.936.0 - '@aws-sdk/credential-provider-sso': 3.936.0 - '@aws-sdk/credential-provider-web-identity': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 + '@aws-sdk/credential-provider-sso': 3.939.0 + '@aws-sdk/credential-provider-web-identity': 3.939.0 + '@aws-sdk/nested-clients': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/credential-provider-imds': 4.2.5 '@smithy/property-provider': 4.2.5 @@ -20123,10 +20126,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.936.0': + '@aws-sdk/credential-provider-login@3.939.0': dependencies: '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 + '@aws-sdk/nested-clients': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/property-provider': 4.2.5 '@smithy/protocol-http': 5.3.5 @@ -20191,14 +20194,14 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.936.0': + '@aws-sdk/credential-provider-node@3.939.0': dependencies: '@aws-sdk/credential-provider-env': 3.936.0 '@aws-sdk/credential-provider-http': 3.936.0 - '@aws-sdk/credential-provider-ini': 3.936.0 + '@aws-sdk/credential-provider-ini': 3.939.0 '@aws-sdk/credential-provider-process': 3.936.0 - '@aws-sdk/credential-provider-sso': 3.936.0 - '@aws-sdk/credential-provider-web-identity': 3.936.0 + '@aws-sdk/credential-provider-sso': 3.939.0 + '@aws-sdk/credential-provider-web-identity': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/credential-provider-imds': 4.2.5 '@smithy/property-provider': 4.2.5 @@ -20283,11 +20286,11 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-sso@3.936.0': + '@aws-sdk/credential-provider-sso@3.939.0': dependencies: '@aws-sdk/client-sso': 3.936.0 '@aws-sdk/core': 3.936.0 - '@aws-sdk/token-providers': 3.936.0 + '@aws-sdk/token-providers': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/property-provider': 4.2.5 '@smithy/shared-ini-file-loader': 4.4.0 @@ -20298,7 +20301,7 @@ snapshots: '@aws-sdk/credential-provider-web-identity@3.587.0(@aws-sdk/client-sts@3.596.0)': dependencies: - '@aws-sdk/client-sts': 3.596.0 + '@aws-sdk/client-sts': 3.596.0(@aws-sdk/client-sso-oidc@3.596.0) '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.1.11 '@smithy/types': 3.7.2 @@ -20325,10 +20328,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.936.0': + '@aws-sdk/credential-provider-web-identity@3.939.0': dependencies: '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 + '@aws-sdk/nested-clients': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/property-provider': 4.2.5 '@smithy/shared-ini-file-loader': 4.4.0 @@ -20579,7 +20582,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/nested-clients@3.936.0': + '@aws-sdk/nested-clients@3.939.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 @@ -20687,7 +20690,7 @@ snapshots: '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.596.0)': dependencies: - '@aws-sdk/client-sso-oidc': 3.596.0(@aws-sdk/client-sts@3.596.0) + '@aws-sdk/client-sso-oidc': 3.596.0 '@aws-sdk/types': 3.577.0 '@smithy/property-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.12 @@ -20715,10 +20718,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/token-providers@3.936.0': + '@aws-sdk/token-providers@3.939.0': dependencies: '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 + '@aws-sdk/nested-clients': 3.939.0 '@aws-sdk/types': 3.936.0 '@smithy/property-provider': 4.2.5 '@smithy/shared-ini-file-loader': 4.4.0 @@ -20919,7 +20922,7 @@ snapshots: '@babel/traverse': 7.26.4 '@babel/types': 7.26.10 convert-source-map: 1.9.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -20939,7 +20942,7 @@ snapshots: '@babel/traverse': 7.26.4 '@babel/types': 7.26.10 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -20959,7 +20962,7 @@ snapshots: '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -21352,7 +21355,7 @@ snapshots: '@babel/parser': 7.26.10 '@babel/template': 7.26.9 '@babel/types': 7.26.10 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -21365,7 +21368,7 @@ snapshots: '@babel/parser': 7.28.5 '@babel/template': 7.27.2 '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -21806,14 +21809,14 @@ snapshots: dependencies: '@envelop/instrumentation': 1.0.0 '@envelop/types': 5.2.1 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 tslib: 2.8.1 '@envelop/core@5.4.0': dependencies: '@envelop/instrumentation': 1.0.0 '@envelop/types': 5.2.1 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 tslib: 2.8.1 '@envelop/disable-introspection@9.0.0(@envelop/core@5.4.0)(graphql@16.11.0)': @@ -21833,7 +21836,7 @@ snapshots: dependencies: '@envelop/core': 5.4.0 '@envelop/extended-validation': 7.0.0(@envelop/core@5.4.0)(graphql@16.11.0) - '@graphql-tools/executor': 1.4.13(graphql@16.11.0) + '@graphql-tools/executor': 1.4.9(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.11.0 @@ -21867,7 +21870,7 @@ snapshots: '@envelop/on-resolve@7.0.0(@envelop/core@5.4.0)(graphql@16.11.0)': dependencies: '@envelop/core': 5.4.0 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 '@envelop/opentelemetry@6.3.1(@envelop/core@5.0.2)(graphql@16.9.0)': @@ -21893,7 +21896,7 @@ snapshots: '@envelop/on-resolve': 7.0.0(@envelop/core@5.4.0)(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) '@types/picomatch': 4.0.2 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 lodash.get: 4.4.2 ms: 2.1.3 @@ -22100,7 +22103,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) espree: 9.6.1 globals: 13.22.0 ignore: 5.3.2 @@ -22722,7 +22725,7 @@ snapshots: '@graphql-hive/plugin-aws-sigv4@2.0.17(@types/node@22.10.5)(graphql@16.11.0)(ioredis@5.4.2)': dependencies: - '@aws-sdk/client-sts': 3.936.0 + '@aws-sdk/client-sts': 3.939.0 '@graphql-mesh/fusion-runtime': 1.5.1(@types/node@22.10.5)(graphql@16.11.0)(ioredis@5.4.2) '@whatwg-node/promise-helpers': 1.3.2 aws4: 1.13.2 @@ -22749,7 +22752,7 @@ snapshots: '@graphql-tools/utils': 10.10.3(graphql@16.11.0) '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.208.0 - '@opentelemetry/auto-instrumentations-node': 0.67.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13) + '@opentelemetry/auto-instrumentations-node': 0.67.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13) '@opentelemetry/context-async-hooks': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-trace-otlp-grpc': 0.208.0(@opentelemetry/api@1.9.0) @@ -22868,14 +22871,7 @@ snapshots: object-inspect: 1.12.3 tslib: 2.6.2 - '@graphql-inspector/core@6.4.1(graphql@16.11.0)': - dependencies: - dependency-graph: 1.0.0 - graphql: 16.11.0 - object-inspect: 1.13.2 - tslib: 2.6.2 - - '@graphql-inspector/core@6.4.1(graphql@16.9.0)': + '@graphql-inspector/core@7.0.3(graphql@16.9.0)': dependencies: dependency-graph: 1.0.0 graphql: 16.9.0 @@ -23034,7 +23030,7 @@ snapshots: dependencies: '@graphql-mesh/types': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) '@graphql-mesh/utils': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 tslib: 2.8.1 transitivePeerDependencies: @@ -23180,7 +23176,7 @@ snapshots: '@graphql-mesh/types': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) '@graphql-mesh/utils': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 http-cache-semantics: 4.1.1 tslib: 2.8.1 @@ -23246,7 +23242,7 @@ snapshots: '@graphql-mesh/types': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) '@graphql-mesh/utils': 0.104.16(graphql@16.11.0)(ioredis@5.4.2) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 tslib: 2.8.1 transitivePeerDependencies: @@ -23408,7 +23404,7 @@ snapshots: '@graphql-tools/wrap': 11.0.5(graphql@16.11.0) '@whatwg-node/disposablestack': 0.0.6 '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 dset: 3.1.4 graphql: 16.11.0 js-yaml: 4.1.1 @@ -23472,7 +23468,7 @@ snapshots: '@graphql-tools/batch-execute@9.0.19(graphql@16.9.0)': dependencies: '@graphql-tools/utils': 10.9.1(graphql@16.9.0) - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 dataloader: 2.2.3 graphql: 16.9.0 tslib: 2.8.1 @@ -23741,7 +23737,7 @@ snapshots: '@repeaterjs/repeater': 3.0.6 '@whatwg-node/disposablestack': 0.0.6 '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.9.0 meros: 1.2.1(@types/node@22.10.5) tslib: 2.8.1 @@ -23839,7 +23835,7 @@ snapshots: '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) '@repeaterjs/repeater': 3.0.6 '@whatwg-node/disposablestack': 0.0.6 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 graphql: 16.11.0 tslib: 2.8.1 @@ -23853,6 +23849,16 @@ snapshots: graphql: 16.9.0 tslib: 2.8.1 + '@graphql-tools/executor@1.4.9(graphql@16.11.0)': + dependencies: + '@graphql-tools/utils': 10.9.1(graphql@16.11.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@repeaterjs/repeater': 3.0.6 + '@whatwg-node/disposablestack': 0.0.6 + '@whatwg-node/promise-helpers': 1.3.1 + graphql: 16.11.0 + tslib: 2.8.1 + '@graphql-tools/executor@1.4.9(graphql@16.9.0)': dependencies: '@graphql-tools/utils': 10.9.1(graphql@16.9.0) @@ -24013,10 +24019,10 @@ snapshots: '@graphql-tools/graphql-tag-pluck@8.3.25(graphql@16.11.0)': dependencies: '@babel/core': 7.28.5 - '@babel/parser': 7.28.5 + '@babel/parser': 7.26.10 '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/types': 7.26.10 '@graphql-tools/utils': 10.10.3(graphql@16.11.0) graphql: 16.11.0 tslib: 2.8.1 @@ -24349,7 +24355,7 @@ snapshots: '@graphql-tools/utils@10.10.3(graphql@16.11.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 cross-inspect: 1.0.1 graphql: 16.11.0 tslib: 2.8.1 @@ -24357,7 +24363,7 @@ snapshots: '@graphql-tools/utils@10.10.3(graphql@16.9.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 cross-inspect: 1.0.1 graphql: 16.9.0 tslib: 2.8.1 @@ -24507,7 +24513,7 @@ snapshots: '@graphql-yoga/plugin-jwt@3.10.2(graphql-yoga@5.16.2(graphql@16.11.0))(graphql@16.11.0)': dependencies: - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 '@whatwg-node/server-plugin-cookies': 1.0.5 graphql: 16.11.0 graphql-yoga: 5.16.2(graphql@16.11.0) @@ -24590,7 +24596,7 @@ snapshots: dependencies: '@graphql-yoga/typed-event-target': 3.0.2 '@repeaterjs/repeater': 3.0.6 - '@whatwg-node/events': 0.1.2 + '@whatwg-node/events': 0.1.1 tslib: 2.8.1 '@graphql-yoga/typed-event-target@2.0.0': @@ -24653,7 +24659,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -24681,7 +24687,7 @@ snapshots: '@antfu/install-pkg': 1.1.0 '@antfu/utils': 9.2.0 '@iconify/types': 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.2 @@ -24988,8 +24994,8 @@ snapshots: '@jridgewell/remapping@2.3.5': dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.1': {} @@ -25537,7 +25543,7 @@ snapshots: ansis: 3.2.0 clean-stack: 3.0.1 cli-spinners: 2.9.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) ejs: 3.1.10 get-package-type: 0.1.0 globby: 11.1.0 @@ -25583,7 +25589,7 @@ snapshots: dependencies: '@oclif/core': 3.26.6(patch_hash=7432c7b46bd5e3276faff9af4fc733575417c17a0ec31df3c7a229f766e3cffc) chalk: 5.3.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) http-call: 5.3.0 lodash: 4.17.21 transitivePeerDependencies: @@ -25808,13 +25814,13 @@ snapshots: - encoding - supports-color - '@opentelemetry/auto-instrumentations-node@0.67.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)': + '@opentelemetry/auto-instrumentations-node@0.67.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0))(encoding@0.1.13)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-aws-lambda': 0.60.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-aws-lambda': 0.60.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-aws-sdk': 0.64.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-bunyan': 0.54.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-cassandra-driver': 0.54.0(@opentelemetry/api@1.9.0) @@ -25832,7 +25838,7 @@ snapshots: '@opentelemetry/instrumentation-http': 0.208.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-ioredis': 0.56.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-kafkajs': 0.18.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-knex': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-knex': 0.53.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-koa': 0.57.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-lru-memoizer': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-memcached': 0.52.0(@opentelemetry/api@1.9.0) @@ -25842,11 +25848,11 @@ snapshots: '@opentelemetry/instrumentation-mysql2': 0.55.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-nestjs-core': 0.55.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-net': 0.52.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-openai': 0.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-openai': 0.7.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-oracledb': 0.34.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pg': 0.61.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.61.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-pino': 0.55.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-redis': 0.57.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis': 0.57.1(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-restify': 0.54.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-router': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-runtime-node': 0.22.0(@opentelemetry/api@1.9.0) @@ -25902,14 +25908,14 @@ snapshots: '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/exporter-jaeger@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.37.0 jaeger-client: 3.19.0 '@opentelemetry/exporter-logs-otlp-grpc@0.205.0(@opentelemetry/api@1.9.0)': @@ -26223,7 +26229,7 @@ snapshots: '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/instrumentation-amqplib@0.52.0(@opentelemetry/api@1.9.0)': dependencies: @@ -26251,7 +26257,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-aws-lambda@0.60.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-aws-lambda@0.60.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) @@ -26558,7 +26564,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-knex@0.53.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-knex@0.53.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) @@ -26714,7 +26720,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-openai@0.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-openai@0.7.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.208.0 @@ -26753,7 +26759,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-pg@0.61.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-pg@0.61.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) @@ -26792,7 +26798,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-redis@0.57.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-redis@0.57.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.208.0(@opentelemetry/api@1.9.0) @@ -26938,7 +26944,7 @@ snapshots: '@types/shimmer': 1.2.0 import-in-the-middle: 1.7.1 require-in-the-middle: 7.3.0 - semver: 7.7.2 + semver: 7.6.3 shimmer: 1.2.1 transitivePeerDependencies: - supports-color @@ -27167,7 +27173,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sampler-jaeger-remote@0.208.0(@opentelemetry/api@1.9.0)': dependencies: @@ -27314,7 +27320,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.37.0 '@opentelemetry/sdk-trace-node@1.30.0(@opentelemetry/api@1.9.0)': dependencies: @@ -30398,7 +30404,7 @@ snapshots: jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.6 - semver: 7.7.2 + semver: 7.6.3 util: 0.12.5 ws: 8.18.0 optionalDependencies: @@ -30769,7 +30775,7 @@ snapshots: '@theguild/federation-composition@0.20.2(graphql@16.11.0)': dependencies: constant-case: 3.0.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 graphql: 16.11.0 json5: 2.2.3 lodash.sortby: 4.7.0 @@ -30779,7 +30785,7 @@ snapshots: '@theguild/federation-composition@0.21.0(graphql@16.9.0)': dependencies: constant-case: 3.0.4 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 graphql: 16.9.0 json5: 2.2.3 lodash.sortby: 4.7.0 @@ -31398,7 +31404,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) eslint: 8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0) optionalDependencies: typescript: 5.7.3 @@ -31414,7 +31420,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.3) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0))(typescript@5.7.3) - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 eslint: 8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0) ts-api-utils: 1.3.0(typescript@5.7.3) optionalDependencies: @@ -31428,7 +31434,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -31457,7 +31463,7 @@ snapshots: '@typescript/vfs@1.6.1(typescript@5.7.3)': dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -31612,7 +31618,7 @@ snapshots: '@whatwg-node/disposablestack@0.0.6': dependencies: - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 tslib: 2.8.1 '@whatwg-node/events@0.0.3': {} @@ -31761,13 +31767,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color agent-base@7.1.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -33224,11 +33230,9 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.4.3(supports-color@8.1.1): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 decamelize@1.2.0: {} @@ -33694,7 +33698,7 @@ snapshots: esbuild-register@3.5.0(esbuild@0.25.9): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) esbuild: 0.25.9 transitivePeerDependencies: - supports-color @@ -33760,7 +33764,7 @@ snapshots: eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0))(typescript@5.7.3))(eslint-plugin-import@2.29.1)(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0)): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0))(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0)) @@ -33962,7 +33966,7 @@ snapshots: eslint-plugin-yml@1.11.0(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0)): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) eslint: 8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0) eslint-compat-utils: 0.1.2(eslint@8.57.1(patch_hash=08d9d41d21638cb74d0f9f34877a8839601a4e5a8263066ff23e7032addbcba0)) lodash: 4.17.21 @@ -34206,7 +34210,7 @@ snapshots: extract-zip@2.0.1(supports-color@8.1.1): dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -35151,13 +35155,13 @@ snapshots: dependencies: '@envelop/core': 5.4.0 '@envelop/instrumentation': 1.0.0 - '@graphql-tools/executor': 1.4.13(graphql@16.11.0) + '@graphql-tools/executor': 1.4.9(graphql@16.11.0) '@graphql-tools/schema': 10.0.25(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) '@graphql-yoga/logger': 2.0.1 '@graphql-yoga/subscription': 5.0.5 '@whatwg-node/fetch': 0.10.13 - '@whatwg-node/promise-helpers': 1.3.2 + '@whatwg-node/promise-helpers': 1.3.1 '@whatwg-node/server': 0.10.17 graphql: 16.11.0 lru-cache: 10.2.0 @@ -35420,7 +35424,7 @@ snapshots: http-call@5.3.0: dependencies: content-type: 1.0.5 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) is-retry-allowed: 1.2.0 is-stream: 2.0.1 parse-json: 4.0.0 @@ -35440,14 +35444,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.0: dependencies: agent-base: 7.1.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -35470,14 +35474,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -36152,7 +36156,7 @@ snapshots: dependencies: '@types/express': 4.17.21 '@types/jsonwebtoken': 9.0.10 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 jose: 4.15.9 limiter: 1.1.5 lru-memoizer: 2.3.0 @@ -37146,7 +37150,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -37154,7 +37158,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.7 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -39476,7 +39480,7 @@ snapshots: require-in-the-middle@7.3.0: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) module-details-from-path: 1.0.3 resolve: 1.22.10 transitivePeerDependencies: @@ -39484,7 +39488,7 @@ snapshots: require-in-the-middle@8.0.1: dependencies: - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 module-details-from-path: 1.0.3 transitivePeerDependencies: - supports-color @@ -40043,7 +40047,7 @@ snapshots: socks-proxy-agent@7.0.0: dependencies: agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.1(supports-color@8.1.1) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -40051,7 +40055,7 @@ snapshots: socks-proxy-agent@8.0.2: dependencies: agent-base: 7.1.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -40805,7 +40809,7 @@ snapshots: tuf-js@2.2.0: dependencies: '@tufjs/models': 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 make-fetch-happen: 13.0.0 transitivePeerDependencies: - supports-color @@ -40977,7 +40981,7 @@ snapshots: '@types/unist': 3.0.0 '@ungap/structured-clone': 1.2.0 concat-stream: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 glob: 10.3.12 ignore: 5.3.2 is-empty: 1.2.0 @@ -41387,7 +41391,7 @@ snapshots: '@vitest/snapshot': 4.0.9 '@vitest/spy': 4.0.9 '@vitest/utils': 4.0.9 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 es-module-lexer: 1.7.0 expect-type: 1.2.2 magic-string: 0.30.21 @@ -41425,7 +41429,7 @@ snapshots: '@vitest/snapshot': 4.0.9 '@vitest/spy': 4.0.9 '@vitest/utils': 4.0.9 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 es-module-lexer: 1.7.0 expect-type: 1.2.2 magic-string: 0.30.21