* docs: add cursor rule for embedding generation process Add documentation for cursor IDE about how docs embeddings are generated, including the workflow for creating and uploading semantic search content. * feat: improve API reference metadata upload with descriptive content - Add preembeddings script to run codegen before embedding generation - Enhance OpenApiReferenceSource to generate more descriptive content including parameters, responses, path information, and better structured documentation * feat: add Management API references to searchDocs GraphQL query - Add ManagementApiReference GraphQL type and model for API endpoint search results - Integrate Management API references into global search results - Update test snapshots and add comprehensive test coverage for Management API search * style: format
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import {
|
|
GraphQLNonNull,
|
|
GraphQLObjectType,
|
|
GraphQLSchema,
|
|
GraphQLString,
|
|
printSchema,
|
|
} from 'graphql'
|
|
import { RootQueryTypeResolvers } from '~/__generated__/graphql'
|
|
import { errorRoot, errorsRoot } from './error/errorResolver'
|
|
import { searchRoot } from './globalSearch/globalSearchResolver'
|
|
import { GraphQLObjectTypeGuide } from './guide/guideSchema'
|
|
import { GraphQLObjectTypeReferenceCLICommand } from './reference/referenceCLISchema'
|
|
import { GraphQLObjectTypeReferenceManagementApi } from './reference/referenceManagementApiSchema'
|
|
import { GraphQLObjectTypeReferenceSDKFunction } from './reference/referenceSDKSchema'
|
|
import { GraphQLObjectTypeTroubleshooting } from './troubleshooting/troubleshootingSchema'
|
|
|
|
const GRAPHQL_FIELD_INTROSPECT = 'schema' as const
|
|
|
|
type IntrospectResolver = RootQueryTypeResolvers[typeof GRAPHQL_FIELD_INTROSPECT]
|
|
|
|
const resolveIntrospect: IntrospectResolver = async () => {
|
|
const schema = printSchema(rootGraphQLSchema)
|
|
return schema
|
|
}
|
|
|
|
const introspectRoot = {
|
|
[GRAPHQL_FIELD_INTROSPECT]: {
|
|
description: 'Get the GraphQL schema for this endpoint',
|
|
type: new GraphQLNonNull(GraphQLString),
|
|
resolve: resolveIntrospect,
|
|
},
|
|
}
|
|
|
|
export const rootGraphQLSchema = new GraphQLSchema({
|
|
query: new GraphQLObjectType({
|
|
name: 'RootQueryType',
|
|
fields: {
|
|
...introspectRoot,
|
|
...searchRoot,
|
|
...errorRoot,
|
|
...errorsRoot,
|
|
},
|
|
}),
|
|
types: [
|
|
GraphQLObjectTypeGuide,
|
|
GraphQLObjectTypeReferenceCLICommand,
|
|
GraphQLObjectTypeReferenceManagementApi,
|
|
GraphQLObjectTypeReferenceSDKFunction,
|
|
GraphQLObjectTypeTroubleshooting,
|
|
],
|
|
})
|