{
  "graphql_types": [
    {
      "id": "gql_extract_citations",
      "category": "projection_fn",
      "name": "extractCitations",
      "sdl_snippet": "extractCitations(doc: GraphQLDoc): Citation[]",
      "description": "Extracts Citation-typed values out of a parsed GraphQLDoc.",
      "source_note": "SKILL.md, \"Projection contract\" section, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_extract_citations"
    },
    {
      "id": "gql_inject_citation_type",
      "category": "projection_fn",
      "name": "injectCitationType",
      "sdl_snippet": "injectCitationType(doc: GraphQLDoc): GraphQLDoc",
      "description": "Appends the canonical Citation SDL (from references/citation.graphqls) to a document if not already present.",
      "source_note": "SKILL.md, \"Projection contract\" and \"Citation type SDL\" sections, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_inject_citation_type"
    },
    {
      "id": "gql_inject_citations",
      "category": "projection_fn",
      "name": "injectCitations",
      "sdl_snippet": "injectCitations(doc: GraphQLDoc, cs: Citation[]): GraphQLDoc",
      "description": "Injects a list of Citation values into a GraphQLDoc.",
      "source_note": "SKILL.md, \"Projection contract\" section, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_inject_citations"
    },
    {
      "id": "gql_parse",
      "category": "projection_fn",
      "name": "parse",
      "sdl_snippet": "parse(wire: string, kind?: GraphQLKind): GraphQLDoc",
      "description": "Parses a raw SDL or operation string into a GraphQLDoc AST, optionally tagged with a GraphQLKind.",
      "source_note": "SKILL.md, \"Projection contract\" section, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_parse"
    },
    {
      "id": "gql_roundtrip",
      "category": "projection_fn",
      "name": "roundtrip",
      "sdl_snippet": "roundtrip(doc: GraphQLDoc): GraphQLDoc",
      "description": "Parses then stringifies a document; used in tests to assert idempotence of the print step.",
      "source_note": "SKILL.md, \"Projection contract\" and \"Normalisation\" sections, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_roundtrip"
    },
    {
      "id": "gql_stringify",
      "category": "projection_fn",
      "name": "stringify",
      "sdl_snippet": "stringify(doc: GraphQLDoc): string",
      "description": "Serializes a GraphQLDoc back to canonical SDL text, normalised via graphql-js print().",
      "source_note": "SKILL.md, \"Projection contract\" and \"Normalisation\" sections, style-graphql skill.",
      "created_at": "2026-07-02 04:47:06",
      "cite_as": "https://subagentgraphql.com/api/graphql-types/gql_stringify"
    }
  ]
}