[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-graphql-graphql-mock":3,"mdc-9tu14m-key":32,"related-org-graphql-graphql-mock":1211,"related-repo-graphql-graphql-mock":1219},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":25,"topics":26,"repo":27,"sourceUrl":30,"mdContent":31},"graphql-mock","create and edit GraphQL mock values","Create and edit mock values for GraphQL operations using the @mock directive",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"graphql","GraphQL Foundation","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgraphql.png",[12,15,18],{"name":13,"slug":8,"type":14},"GraphQL","tag",{"name":16,"slug":17,"type":14},"API Development","api-development",{"name":19,"slug":20,"type":14},"Testing","testing",8,"https:\u002F\u002Fgithub.com\u002Fgraphql\u002Fgaps","2026-07-12T07:45:19.134708",null,7,[],{"repoUrl":22,"stars":21,"forks":25,"topics":28,"description":29},[],"GraphQL Auxiliary Proposals","https:\u002F\u002Fgithub.com\u002Fgraphql\u002Fgaps\u002Ftree\u002FHEAD\u002Fgaps\u002FGAP-10","---\nname: graphql-mock\ndescription: Create and edit mock values for GraphQL operations using the @mock directive\n---\n\nThis skill manages mock values for GraphQL operations using the `@mock`\ndirective.\n\n## Capabilities\n\n- **Add mock variant**: Create a new named mock value for an existing operation\n- **Modify mock**: Update an existing mock value\n- **List mocks**: Show available mock ids for an operation\n\n## Mock Files\n\nMock files are located in `__graphql_mocks__\u002F{Name}.json` adjacent to\nthe source file containing the operation or fragment. {Name} is the name of\nthat operation or fragment.\n\nEach mock file is a JSON object where keys are \"mock variant ids\" and values are\n\"mock variants\".\n\nA \"mock variant\" is an object containing the following attributes:\n\n- **`data`** (required): The mock value - the raw data to be returned - defined by https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Data.\n- **`errors`**: May contain an errors array - defined by https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Errors.\n- **`extensions`**: May contain arbitrary data - defined by https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Extensions.\n- **`__path__`** (required): The field path within the operation or fragment where `@mock` is applied. A dot-separated string of field names (or aliases, where present) relative to the root. For `@mock` on an operation root, use the root operation type name (e.g., `\"Query\"`, `\"Mutation\"`, `\"Subscription\"`). When a field has an alias, use the alias in the path.\n- **`__description__`**: A natural language description of the data being returned.\n- **`__metadata__`**: May contain a key\u002Fvalue mapping of arbitrary data.\n\n**Example**\n\n```json\n{\n  \"5-star-business\": {\n    \"data\": {\n      \"business\": {\n        \"name\": \"The Great British Bakery\",\n        \"rating\": 5.0\n      }\n    },\n    \"__path__\": \"Query\",\n    \"__description__\": \"A delicious bakery with a rating of 5.0\"\n  },\n  \"has-no-rating\": {\n    \"data\": {\n      \"business\": {\n        \"name\": \"El Greco Deli\",\n        \"rating\": null\n      }\n    },\n    \"__path__\": \"Query\",\n    \"__description__\": \"A new restaurant which has not yet been rated - the rating field returns null\"\n  }\n}\n```\n\n## Generating mock variants\n\nWhen generating a new mock value, add the following to your context window:\n\n- the user's prompt (e.g., \"add a @mock response for this field \u003Chighlighted position>\")\n- the corresponding selection and nested selection set in the operation or fragment\n- the GraphQL schema. It is possible that some of the fields in the mock\n  response already exist in the schema, and may be looked up - you can use the\n  fields' descriptions, sibling fields' descriptions and the field's parent type\n  description as additional context.\n\nWhen regenerating an existing mock value, also include the existing mock value\npayload and preserve as much as possible (unless the user has specified\notherwise).\n\nEnsure the generated mock value is valid against the selections in the operation\nor fragment.\n\nUse plausible and realistic values, e.g., for \"Business.name\", use a made-up\nbusiness name such as \"The Great British Bakery\". Avoid using \"foo\", \"bar\",\n\"myBusiness\", \"string\" etc. as values.\n\nGenerate a __description__ field which summarizes the output, and has enough\ncontext such that it could be used to regenerate a similarly shaped payload.\n\n### Errors\n\nWhen the mock should represent an error state, use the GraphQL errors format -\nunless you know that the schema uses a union to represent error state. You must\ncheck against the schema.\n\n**Example**\n\n```json\n{\n  \"field-error\": {\n    \"data\": { \"fieldName\": null },\n    \"errors\": [{\n      \"path\": [\"fieldName\"],\n      \"message\": \"field error\"\n    }],\n    \"__path__\": \"fieldName\"\n  }\n}\n```\n\n## Instructions\n\nWhen asked to add or update a mock variant:\n\n1. Locate the operation or fragment's mock file\n2. Read the existing mock file to understand the mock value shape\n3. If creating a new mock, create a new entry with a descriptive mock variant ID\n   (must NOT start with two underscores `__`)\n4. Ensure the mock value includes appropriate `data` and\u002For `errors` fields\n5. Add a summary of the user's prompt to the `__description__` field\n6. Write the updated mock file (do not modify other mocks in the file)\n\n## Schema\n\nLook for the GraphQL schema in the repository to understand what shape of data\nshould be returned. (e.g., `\u003Crepo_root>\u002Fschema.graphqls`). Ask the user if the\nschema file cannot be found, and remember where it is located.\n",{"data":33,"body":34},{"name":4,"description":6},{"type":35,"children":36},"root",[37,54,61,97,103,116,121,126,274,282,791,797,802,826,831,836,841,853,859,864,871,1112,1118,1123,1186,1192,1205],{"type":38,"tag":39,"props":40,"children":41},"element","p",{},[42,45,52],{"type":43,"value":44},"text","This skill manages mock values for GraphQL operations using the ",{"type":38,"tag":46,"props":47,"children":49},"code",{"className":48},[],[50],{"type":43,"value":51},"@mock",{"type":43,"value":53},"\ndirective.",{"type":38,"tag":55,"props":56,"children":58},"h2",{"id":57},"capabilities",[59],{"type":43,"value":60},"Capabilities",{"type":38,"tag":62,"props":63,"children":64},"ul",{},[65,77,87],{"type":38,"tag":66,"props":67,"children":68},"li",{},[69,75],{"type":38,"tag":70,"props":71,"children":72},"strong",{},[73],{"type":43,"value":74},"Add mock variant",{"type":43,"value":76},": Create a new named mock value for an existing operation",{"type":38,"tag":66,"props":78,"children":79},{},[80,85],{"type":38,"tag":70,"props":81,"children":82},{},[83],{"type":43,"value":84},"Modify mock",{"type":43,"value":86},": Update an existing mock value",{"type":38,"tag":66,"props":88,"children":89},{},[90,95],{"type":38,"tag":70,"props":91,"children":92},{},[93],{"type":43,"value":94},"List mocks",{"type":43,"value":96},": Show available mock ids for an operation",{"type":38,"tag":55,"props":98,"children":100},{"id":99},"mock-files",[101],{"type":43,"value":102},"Mock Files",{"type":38,"tag":39,"props":104,"children":105},{},[106,108,114],{"type":43,"value":107},"Mock files are located in ",{"type":38,"tag":46,"props":109,"children":111},{"className":110},[],[112],{"type":43,"value":113},"__graphql_mocks__\u002F{Name}.json",{"type":43,"value":115}," adjacent to\nthe source file containing the operation or fragment. {Name} is the name of\nthat operation or fragment.",{"type":38,"tag":39,"props":117,"children":118},{},[119],{"type":43,"value":120},"Each mock file is a JSON object where keys are \"mock variant ids\" and values are\n\"mock variants\".",{"type":38,"tag":39,"props":122,"children":123},{},[124],{"type":43,"value":125},"A \"mock variant\" is an object containing the following attributes:",{"type":38,"tag":62,"props":127,"children":128},{},[129,153,174,195,246,260],{"type":38,"tag":66,"props":130,"children":131},{},[132,141,143,151],{"type":38,"tag":70,"props":133,"children":134},{},[135],{"type":38,"tag":46,"props":136,"children":138},{"className":137},[],[139],{"type":43,"value":140},"data",{"type":43,"value":142}," (required): The mock value - the raw data to be returned - defined by ",{"type":38,"tag":144,"props":145,"children":149},"a",{"href":146,"rel":147},"https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Data",[148],"nofollow",[150],{"type":43,"value":146},{"type":43,"value":152},".",{"type":38,"tag":66,"props":154,"children":155},{},[156,165,167,173],{"type":38,"tag":70,"props":157,"children":158},{},[159],{"type":38,"tag":46,"props":160,"children":162},{"className":161},[],[163],{"type":43,"value":164},"errors",{"type":43,"value":166},": May contain an errors array - defined by ",{"type":38,"tag":144,"props":168,"children":171},{"href":169,"rel":170},"https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Errors",[148],[172],{"type":43,"value":169},{"type":43,"value":152},{"type":38,"tag":66,"props":175,"children":176},{},[177,186,188,194],{"type":38,"tag":70,"props":178,"children":179},{},[180],{"type":38,"tag":46,"props":181,"children":183},{"className":182},[],[184],{"type":43,"value":185},"extensions",{"type":43,"value":187},": May contain arbitrary data - defined by ",{"type":38,"tag":144,"props":189,"children":192},{"href":190,"rel":191},"https:\u002F\u002Fspec.graphql.org\u002FSeptember2025\u002F#sec-Extensions",[148],[193],{"type":43,"value":190},{"type":43,"value":152},{"type":38,"tag":66,"props":196,"children":197},{},[198,207,209,214,216,221,223,229,231,237,238,244],{"type":38,"tag":70,"props":199,"children":200},{},[201],{"type":38,"tag":46,"props":202,"children":204},{"className":203},[],[205],{"type":43,"value":206},"__path__",{"type":43,"value":208}," (required): The field path within the operation or fragment where ",{"type":38,"tag":46,"props":210,"children":212},{"className":211},[],[213],{"type":43,"value":51},{"type":43,"value":215}," is applied. A dot-separated string of field names (or aliases, where present) relative to the root. For ",{"type":38,"tag":46,"props":217,"children":219},{"className":218},[],[220],{"type":43,"value":51},{"type":43,"value":222}," on an operation root, use the root operation type name (e.g., ",{"type":38,"tag":46,"props":224,"children":226},{"className":225},[],[227],{"type":43,"value":228},"\"Query\"",{"type":43,"value":230},", ",{"type":38,"tag":46,"props":232,"children":234},{"className":233},[],[235],{"type":43,"value":236},"\"Mutation\"",{"type":43,"value":230},{"type":38,"tag":46,"props":239,"children":241},{"className":240},[],[242],{"type":43,"value":243},"\"Subscription\"",{"type":43,"value":245},"). When a field has an alias, use the alias in the path.",{"type":38,"tag":66,"props":247,"children":248},{},[249,258],{"type":38,"tag":70,"props":250,"children":251},{},[252],{"type":38,"tag":46,"props":253,"children":255},{"className":254},[],[256],{"type":43,"value":257},"__description__",{"type":43,"value":259},": A natural language description of the data being returned.",{"type":38,"tag":66,"props":261,"children":262},{},[263,272],{"type":38,"tag":70,"props":264,"children":265},{},[266],{"type":38,"tag":46,"props":267,"children":269},{"className":268},[],[270],{"type":43,"value":271},"__metadata__",{"type":43,"value":273},": May contain a key\u002Fvalue mapping of arbitrary data.",{"type":38,"tag":39,"props":275,"children":276},{},[277],{"type":38,"tag":70,"props":278,"children":279},{},[280],{"type":43,"value":281},"Example",{"type":38,"tag":283,"props":284,"children":289},"pre",{"className":285,"code":286,"language":287,"meta":288,"style":288},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"5-star-business\": {\n    \"data\": {\n      \"business\": {\n        \"name\": \"The Great British Bakery\",\n        \"rating\": 5.0\n      }\n    },\n    \"__path__\": \"Query\",\n    \"__description__\": \"A delicious bakery with a rating of 5.0\"\n  },\n  \"has-no-rating\": {\n    \"data\": {\n      \"business\": {\n        \"name\": \"El Greco Deli\",\n        \"rating\": null\n      }\n    },\n    \"__path__\": \"Query\",\n    \"__description__\": \"A new restaurant which has not yet been rated - the rating field returns null\"\n  }\n}\n","json","",[290],{"type":38,"tag":46,"props":291,"children":292},{"__ignoreMap":288},[293,305,335,361,388,431,457,465,473,510,544,553,578,602,626,663,688,696,704,740,773,782],{"type":38,"tag":294,"props":295,"children":298},"span",{"class":296,"line":297},"line",1,[299],{"type":38,"tag":294,"props":300,"children":302},{"style":301},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[303],{"type":43,"value":304},"{\n",{"type":38,"tag":294,"props":306,"children":308},{"class":296,"line":307},2,[309,314,320,325,330],{"type":38,"tag":294,"props":310,"children":311},{"style":301},[312],{"type":43,"value":313},"  \"",{"type":38,"tag":294,"props":315,"children":317},{"style":316},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[318],{"type":43,"value":319},"5-star-business",{"type":38,"tag":294,"props":321,"children":322},{"style":301},[323],{"type":43,"value":324},"\"",{"type":38,"tag":294,"props":326,"children":327},{"style":301},[328],{"type":43,"value":329},":",{"type":38,"tag":294,"props":331,"children":332},{"style":301},[333],{"type":43,"value":334}," {\n",{"type":38,"tag":294,"props":336,"children":338},{"class":296,"line":337},3,[339,344,349,353,357],{"type":38,"tag":294,"props":340,"children":341},{"style":301},[342],{"type":43,"value":343},"    \"",{"type":38,"tag":294,"props":345,"children":347},{"style":346},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[348],{"type":43,"value":140},{"type":38,"tag":294,"props":350,"children":351},{"style":301},[352],{"type":43,"value":324},{"type":38,"tag":294,"props":354,"children":355},{"style":301},[356],{"type":43,"value":329},{"type":38,"tag":294,"props":358,"children":359},{"style":301},[360],{"type":43,"value":334},{"type":38,"tag":294,"props":362,"children":364},{"class":296,"line":363},4,[365,370,376,380,384],{"type":38,"tag":294,"props":366,"children":367},{"style":301},[368],{"type":43,"value":369},"      \"",{"type":38,"tag":294,"props":371,"children":373},{"style":372},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[374],{"type":43,"value":375},"business",{"type":38,"tag":294,"props":377,"children":378},{"style":301},[379],{"type":43,"value":324},{"type":38,"tag":294,"props":381,"children":382},{"style":301},[383],{"type":43,"value":329},{"type":38,"tag":294,"props":385,"children":386},{"style":301},[387],{"type":43,"value":334},{"type":38,"tag":294,"props":389,"children":391},{"class":296,"line":390},5,[392,397,403,407,411,416,422,426],{"type":38,"tag":294,"props":393,"children":394},{"style":301},[395],{"type":43,"value":396},"        \"",{"type":38,"tag":294,"props":398,"children":400},{"style":399},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[401],{"type":43,"value":402},"name",{"type":38,"tag":294,"props":404,"children":405},{"style":301},[406],{"type":43,"value":324},{"type":38,"tag":294,"props":408,"children":409},{"style":301},[410],{"type":43,"value":329},{"type":38,"tag":294,"props":412,"children":413},{"style":301},[414],{"type":43,"value":415}," \"",{"type":38,"tag":294,"props":417,"children":419},{"style":418},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[420],{"type":43,"value":421},"The Great British Bakery",{"type":38,"tag":294,"props":423,"children":424},{"style":301},[425],{"type":43,"value":324},{"type":38,"tag":294,"props":427,"children":428},{"style":301},[429],{"type":43,"value":430},",\n",{"type":38,"tag":294,"props":432,"children":434},{"class":296,"line":433},6,[435,439,444,448,452],{"type":38,"tag":294,"props":436,"children":437},{"style":301},[438],{"type":43,"value":396},{"type":38,"tag":294,"props":440,"children":441},{"style":399},[442],{"type":43,"value":443},"rating",{"type":38,"tag":294,"props":445,"children":446},{"style":301},[447],{"type":43,"value":324},{"type":38,"tag":294,"props":449,"children":450},{"style":301},[451],{"type":43,"value":329},{"type":38,"tag":294,"props":453,"children":454},{"style":372},[455],{"type":43,"value":456}," 5.0\n",{"type":38,"tag":294,"props":458,"children":459},{"class":296,"line":25},[460],{"type":38,"tag":294,"props":461,"children":462},{"style":301},[463],{"type":43,"value":464},"      }\n",{"type":38,"tag":294,"props":466,"children":467},{"class":296,"line":21},[468],{"type":38,"tag":294,"props":469,"children":470},{"style":301},[471],{"type":43,"value":472},"    },\n",{"type":38,"tag":294,"props":474,"children":476},{"class":296,"line":475},9,[477,481,485,489,493,497,502,506],{"type":38,"tag":294,"props":478,"children":479},{"style":301},[480],{"type":43,"value":343},{"type":38,"tag":294,"props":482,"children":483},{"style":346},[484],{"type":43,"value":206},{"type":38,"tag":294,"props":486,"children":487},{"style":301},[488],{"type":43,"value":324},{"type":38,"tag":294,"props":490,"children":491},{"style":301},[492],{"type":43,"value":329},{"type":38,"tag":294,"props":494,"children":495},{"style":301},[496],{"type":43,"value":415},{"type":38,"tag":294,"props":498,"children":499},{"style":418},[500],{"type":43,"value":501},"Query",{"type":38,"tag":294,"props":503,"children":504},{"style":301},[505],{"type":43,"value":324},{"type":38,"tag":294,"props":507,"children":508},{"style":301},[509],{"type":43,"value":430},{"type":38,"tag":294,"props":511,"children":513},{"class":296,"line":512},10,[514,518,522,526,530,534,539],{"type":38,"tag":294,"props":515,"children":516},{"style":301},[517],{"type":43,"value":343},{"type":38,"tag":294,"props":519,"children":520},{"style":346},[521],{"type":43,"value":257},{"type":38,"tag":294,"props":523,"children":524},{"style":301},[525],{"type":43,"value":324},{"type":38,"tag":294,"props":527,"children":528},{"style":301},[529],{"type":43,"value":329},{"type":38,"tag":294,"props":531,"children":532},{"style":301},[533],{"type":43,"value":415},{"type":38,"tag":294,"props":535,"children":536},{"style":418},[537],{"type":43,"value":538},"A delicious bakery with a rating of 5.0",{"type":38,"tag":294,"props":540,"children":541},{"style":301},[542],{"type":43,"value":543},"\"\n",{"type":38,"tag":294,"props":545,"children":547},{"class":296,"line":546},11,[548],{"type":38,"tag":294,"props":549,"children":550},{"style":301},[551],{"type":43,"value":552},"  },\n",{"type":38,"tag":294,"props":554,"children":556},{"class":296,"line":555},12,[557,561,566,570,574],{"type":38,"tag":294,"props":558,"children":559},{"style":301},[560],{"type":43,"value":313},{"type":38,"tag":294,"props":562,"children":563},{"style":316},[564],{"type":43,"value":565},"has-no-rating",{"type":38,"tag":294,"props":567,"children":568},{"style":301},[569],{"type":43,"value":324},{"type":38,"tag":294,"props":571,"children":572},{"style":301},[573],{"type":43,"value":329},{"type":38,"tag":294,"props":575,"children":576},{"style":301},[577],{"type":43,"value":334},{"type":38,"tag":294,"props":579,"children":581},{"class":296,"line":580},13,[582,586,590,594,598],{"type":38,"tag":294,"props":583,"children":584},{"style":301},[585],{"type":43,"value":343},{"type":38,"tag":294,"props":587,"children":588},{"style":346},[589],{"type":43,"value":140},{"type":38,"tag":294,"props":591,"children":592},{"style":301},[593],{"type":43,"value":324},{"type":38,"tag":294,"props":595,"children":596},{"style":301},[597],{"type":43,"value":329},{"type":38,"tag":294,"props":599,"children":600},{"style":301},[601],{"type":43,"value":334},{"type":38,"tag":294,"props":603,"children":605},{"class":296,"line":604},14,[606,610,614,618,622],{"type":38,"tag":294,"props":607,"children":608},{"style":301},[609],{"type":43,"value":369},{"type":38,"tag":294,"props":611,"children":612},{"style":372},[613],{"type":43,"value":375},{"type":38,"tag":294,"props":615,"children":616},{"style":301},[617],{"type":43,"value":324},{"type":38,"tag":294,"props":619,"children":620},{"style":301},[621],{"type":43,"value":329},{"type":38,"tag":294,"props":623,"children":624},{"style":301},[625],{"type":43,"value":334},{"type":38,"tag":294,"props":627,"children":629},{"class":296,"line":628},15,[630,634,638,642,646,650,655,659],{"type":38,"tag":294,"props":631,"children":632},{"style":301},[633],{"type":43,"value":396},{"type":38,"tag":294,"props":635,"children":636},{"style":399},[637],{"type":43,"value":402},{"type":38,"tag":294,"props":639,"children":640},{"style":301},[641],{"type":43,"value":324},{"type":38,"tag":294,"props":643,"children":644},{"style":301},[645],{"type":43,"value":329},{"type":38,"tag":294,"props":647,"children":648},{"style":301},[649],{"type":43,"value":415},{"type":38,"tag":294,"props":651,"children":652},{"style":418},[653],{"type":43,"value":654},"El Greco Deli",{"type":38,"tag":294,"props":656,"children":657},{"style":301},[658],{"type":43,"value":324},{"type":38,"tag":294,"props":660,"children":661},{"style":301},[662],{"type":43,"value":430},{"type":38,"tag":294,"props":664,"children":666},{"class":296,"line":665},16,[667,671,675,679,683],{"type":38,"tag":294,"props":668,"children":669},{"style":301},[670],{"type":43,"value":396},{"type":38,"tag":294,"props":672,"children":673},{"style":399},[674],{"type":43,"value":443},{"type":38,"tag":294,"props":676,"children":677},{"style":301},[678],{"type":43,"value":324},{"type":38,"tag":294,"props":680,"children":681},{"style":301},[682],{"type":43,"value":329},{"type":38,"tag":294,"props":684,"children":685},{"style":301},[686],{"type":43,"value":687}," null\n",{"type":38,"tag":294,"props":689,"children":691},{"class":296,"line":690},17,[692],{"type":38,"tag":294,"props":693,"children":694},{"style":301},[695],{"type":43,"value":464},{"type":38,"tag":294,"props":697,"children":699},{"class":296,"line":698},18,[700],{"type":38,"tag":294,"props":701,"children":702},{"style":301},[703],{"type":43,"value":472},{"type":38,"tag":294,"props":705,"children":707},{"class":296,"line":706},19,[708,712,716,720,724,728,732,736],{"type":38,"tag":294,"props":709,"children":710},{"style":301},[711],{"type":43,"value":343},{"type":38,"tag":294,"props":713,"children":714},{"style":346},[715],{"type":43,"value":206},{"type":38,"tag":294,"props":717,"children":718},{"style":301},[719],{"type":43,"value":324},{"type":38,"tag":294,"props":721,"children":722},{"style":301},[723],{"type":43,"value":329},{"type":38,"tag":294,"props":725,"children":726},{"style":301},[727],{"type":43,"value":415},{"type":38,"tag":294,"props":729,"children":730},{"style":418},[731],{"type":43,"value":501},{"type":38,"tag":294,"props":733,"children":734},{"style":301},[735],{"type":43,"value":324},{"type":38,"tag":294,"props":737,"children":738},{"style":301},[739],{"type":43,"value":430},{"type":38,"tag":294,"props":741,"children":743},{"class":296,"line":742},20,[744,748,752,756,760,764,769],{"type":38,"tag":294,"props":745,"children":746},{"style":301},[747],{"type":43,"value":343},{"type":38,"tag":294,"props":749,"children":750},{"style":346},[751],{"type":43,"value":257},{"type":38,"tag":294,"props":753,"children":754},{"style":301},[755],{"type":43,"value":324},{"type":38,"tag":294,"props":757,"children":758},{"style":301},[759],{"type":43,"value":329},{"type":38,"tag":294,"props":761,"children":762},{"style":301},[763],{"type":43,"value":415},{"type":38,"tag":294,"props":765,"children":766},{"style":418},[767],{"type":43,"value":768},"A new restaurant which has not yet been rated - the rating field returns null",{"type":38,"tag":294,"props":770,"children":771},{"style":301},[772],{"type":43,"value":543},{"type":38,"tag":294,"props":774,"children":776},{"class":296,"line":775},21,[777],{"type":38,"tag":294,"props":778,"children":779},{"style":301},[780],{"type":43,"value":781},"  }\n",{"type":38,"tag":294,"props":783,"children":785},{"class":296,"line":784},22,[786],{"type":38,"tag":294,"props":787,"children":788},{"style":301},[789],{"type":43,"value":790},"}\n",{"type":38,"tag":55,"props":792,"children":794},{"id":793},"generating-mock-variants",[795],{"type":43,"value":796},"Generating mock variants",{"type":38,"tag":39,"props":798,"children":799},{},[800],{"type":43,"value":801},"When generating a new mock value, add the following to your context window:",{"type":38,"tag":62,"props":803,"children":804},{},[805,816,821],{"type":38,"tag":66,"props":806,"children":807},{},[808,810],{"type":43,"value":809},"the user's prompt (e.g., \"add a @mock response for this field ",{"type":38,"tag":811,"props":812,"children":813},"highlighted",{"position":288},[814],{"type":43,"value":815},"\")",{"type":38,"tag":66,"props":817,"children":818},{},[819],{"type":43,"value":820},"the corresponding selection and nested selection set in the operation or fragment",{"type":38,"tag":66,"props":822,"children":823},{},[824],{"type":43,"value":825},"the GraphQL schema. It is possible that some of the fields in the mock\nresponse already exist in the schema, and may be looked up - you can use the\nfields' descriptions, sibling fields' descriptions and the field's parent type\ndescription as additional context.",{"type":38,"tag":39,"props":827,"children":828},{},[829],{"type":43,"value":830},"When regenerating an existing mock value, also include the existing mock value\npayload and preserve as much as possible (unless the user has specified\notherwise).",{"type":38,"tag":39,"props":832,"children":833},{},[834],{"type":43,"value":835},"Ensure the generated mock value is valid against the selections in the operation\nor fragment.",{"type":38,"tag":39,"props":837,"children":838},{},[839],{"type":43,"value":840},"Use plausible and realistic values, e.g., for \"Business.name\", use a made-up\nbusiness name such as \"The Great British Bakery\". Avoid using \"foo\", \"bar\",\n\"myBusiness\", \"string\" etc. as values.",{"type":38,"tag":39,"props":842,"children":843},{},[844,846,851],{"type":43,"value":845},"Generate a ",{"type":38,"tag":70,"props":847,"children":848},{},[849],{"type":43,"value":850},"description",{"type":43,"value":852}," field which summarizes the output, and has enough\ncontext such that it could be used to regenerate a similarly shaped payload.",{"type":38,"tag":854,"props":855,"children":856},"h3",{"id":164},[857],{"type":43,"value":858},"Errors",{"type":38,"tag":39,"props":860,"children":861},{},[862],{"type":43,"value":863},"When the mock should represent an error state, use the GraphQL errors format -\nunless you know that the schema uses a union to represent error state. You must\ncheck against the schema.",{"type":38,"tag":39,"props":865,"children":866},{},[867],{"type":38,"tag":70,"props":868,"children":869},{},[870],{"type":43,"value":281},{"type":38,"tag":283,"props":872,"children":874},{"className":285,"code":873,"language":287,"meta":288,"style":288},"{\n  \"field-error\": {\n    \"data\": { \"fieldName\": null },\n    \"errors\": [{\n      \"path\": [\"fieldName\"],\n      \"message\": \"field error\"\n    }],\n    \"__path__\": \"fieldName\"\n  }\n}\n",[875],{"type":38,"tag":46,"props":876,"children":877},{"__ignoreMap":288},[878,885,909,960,984,1026,1059,1067,1098,1105],{"type":38,"tag":294,"props":879,"children":880},{"class":296,"line":297},[881],{"type":38,"tag":294,"props":882,"children":883},{"style":301},[884],{"type":43,"value":304},{"type":38,"tag":294,"props":886,"children":887},{"class":296,"line":307},[888,892,897,901,905],{"type":38,"tag":294,"props":889,"children":890},{"style":301},[891],{"type":43,"value":313},{"type":38,"tag":294,"props":893,"children":894},{"style":316},[895],{"type":43,"value":896},"field-error",{"type":38,"tag":294,"props":898,"children":899},{"style":301},[900],{"type":43,"value":324},{"type":38,"tag":294,"props":902,"children":903},{"style":301},[904],{"type":43,"value":329},{"type":38,"tag":294,"props":906,"children":907},{"style":301},[908],{"type":43,"value":334},{"type":38,"tag":294,"props":910,"children":911},{"class":296,"line":337},[912,916,920,924,928,933,937,942,946,950,955],{"type":38,"tag":294,"props":913,"children":914},{"style":301},[915],{"type":43,"value":343},{"type":38,"tag":294,"props":917,"children":918},{"style":346},[919],{"type":43,"value":140},{"type":38,"tag":294,"props":921,"children":922},{"style":301},[923],{"type":43,"value":324},{"type":38,"tag":294,"props":925,"children":926},{"style":301},[927],{"type":43,"value":329},{"type":38,"tag":294,"props":929,"children":930},{"style":301},[931],{"type":43,"value":932}," {",{"type":38,"tag":294,"props":934,"children":935},{"style":301},[936],{"type":43,"value":415},{"type":38,"tag":294,"props":938,"children":939},{"style":372},[940],{"type":43,"value":941},"fieldName",{"type":38,"tag":294,"props":943,"children":944},{"style":301},[945],{"type":43,"value":324},{"type":38,"tag":294,"props":947,"children":948},{"style":301},[949],{"type":43,"value":329},{"type":38,"tag":294,"props":951,"children":952},{"style":301},[953],{"type":43,"value":954}," null",{"type":38,"tag":294,"props":956,"children":957},{"style":301},[958],{"type":43,"value":959}," },\n",{"type":38,"tag":294,"props":961,"children":962},{"class":296,"line":363},[963,967,971,975,979],{"type":38,"tag":294,"props":964,"children":965},{"style":301},[966],{"type":43,"value":343},{"type":38,"tag":294,"props":968,"children":969},{"style":346},[970],{"type":43,"value":164},{"type":38,"tag":294,"props":972,"children":973},{"style":301},[974],{"type":43,"value":324},{"type":38,"tag":294,"props":976,"children":977},{"style":301},[978],{"type":43,"value":329},{"type":38,"tag":294,"props":980,"children":981},{"style":301},[982],{"type":43,"value":983}," [{\n",{"type":38,"tag":294,"props":985,"children":986},{"class":296,"line":390},[987,991,996,1000,1004,1009,1013,1017,1021],{"type":38,"tag":294,"props":988,"children":989},{"style":301},[990],{"type":43,"value":369},{"type":38,"tag":294,"props":992,"children":993},{"style":372},[994],{"type":43,"value":995},"path",{"type":38,"tag":294,"props":997,"children":998},{"style":301},[999],{"type":43,"value":324},{"type":38,"tag":294,"props":1001,"children":1002},{"style":301},[1003],{"type":43,"value":329},{"type":38,"tag":294,"props":1005,"children":1006},{"style":301},[1007],{"type":43,"value":1008}," [",{"type":38,"tag":294,"props":1010,"children":1011},{"style":301},[1012],{"type":43,"value":324},{"type":38,"tag":294,"props":1014,"children":1015},{"style":418},[1016],{"type":43,"value":941},{"type":38,"tag":294,"props":1018,"children":1019},{"style":301},[1020],{"type":43,"value":324},{"type":38,"tag":294,"props":1022,"children":1023},{"style":301},[1024],{"type":43,"value":1025},"],\n",{"type":38,"tag":294,"props":1027,"children":1028},{"class":296,"line":433},[1029,1033,1038,1042,1046,1050,1055],{"type":38,"tag":294,"props":1030,"children":1031},{"style":301},[1032],{"type":43,"value":369},{"type":38,"tag":294,"props":1034,"children":1035},{"style":372},[1036],{"type":43,"value":1037},"message",{"type":38,"tag":294,"props":1039,"children":1040},{"style":301},[1041],{"type":43,"value":324},{"type":38,"tag":294,"props":1043,"children":1044},{"style":301},[1045],{"type":43,"value":329},{"type":38,"tag":294,"props":1047,"children":1048},{"style":301},[1049],{"type":43,"value":415},{"type":38,"tag":294,"props":1051,"children":1052},{"style":418},[1053],{"type":43,"value":1054},"field error",{"type":38,"tag":294,"props":1056,"children":1057},{"style":301},[1058],{"type":43,"value":543},{"type":38,"tag":294,"props":1060,"children":1061},{"class":296,"line":25},[1062],{"type":38,"tag":294,"props":1063,"children":1064},{"style":301},[1065],{"type":43,"value":1066},"    }],\n",{"type":38,"tag":294,"props":1068,"children":1069},{"class":296,"line":21},[1070,1074,1078,1082,1086,1090,1094],{"type":38,"tag":294,"props":1071,"children":1072},{"style":301},[1073],{"type":43,"value":343},{"type":38,"tag":294,"props":1075,"children":1076},{"style":346},[1077],{"type":43,"value":206},{"type":38,"tag":294,"props":1079,"children":1080},{"style":301},[1081],{"type":43,"value":324},{"type":38,"tag":294,"props":1083,"children":1084},{"style":301},[1085],{"type":43,"value":329},{"type":38,"tag":294,"props":1087,"children":1088},{"style":301},[1089],{"type":43,"value":415},{"type":38,"tag":294,"props":1091,"children":1092},{"style":418},[1093],{"type":43,"value":941},{"type":38,"tag":294,"props":1095,"children":1096},{"style":301},[1097],{"type":43,"value":543},{"type":38,"tag":294,"props":1099,"children":1100},{"class":296,"line":475},[1101],{"type":38,"tag":294,"props":1102,"children":1103},{"style":301},[1104],{"type":43,"value":781},{"type":38,"tag":294,"props":1106,"children":1107},{"class":296,"line":512},[1108],{"type":38,"tag":294,"props":1109,"children":1110},{"style":301},[1111],{"type":43,"value":790},{"type":38,"tag":55,"props":1113,"children":1115},{"id":1114},"instructions",[1116],{"type":43,"value":1117},"Instructions",{"type":38,"tag":39,"props":1119,"children":1120},{},[1121],{"type":43,"value":1122},"When asked to add or update a mock variant:",{"type":38,"tag":1124,"props":1125,"children":1126},"ol",{},[1127,1132,1137,1150,1169,1181],{"type":38,"tag":66,"props":1128,"children":1129},{},[1130],{"type":43,"value":1131},"Locate the operation or fragment's mock file",{"type":38,"tag":66,"props":1133,"children":1134},{},[1135],{"type":43,"value":1136},"Read the existing mock file to understand the mock value shape",{"type":38,"tag":66,"props":1138,"children":1139},{},[1140,1142,1148],{"type":43,"value":1141},"If creating a new mock, create a new entry with a descriptive mock variant ID\n(must NOT start with two underscores ",{"type":38,"tag":46,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":43,"value":1147},"__",{"type":43,"value":1149},")",{"type":38,"tag":66,"props":1151,"children":1152},{},[1153,1155,1160,1162,1167],{"type":43,"value":1154},"Ensure the mock value includes appropriate ",{"type":38,"tag":46,"props":1156,"children":1158},{"className":1157},[],[1159],{"type":43,"value":140},{"type":43,"value":1161}," and\u002For ",{"type":38,"tag":46,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":43,"value":164},{"type":43,"value":1168}," fields",{"type":38,"tag":66,"props":1170,"children":1171},{},[1172,1174,1179],{"type":43,"value":1173},"Add a summary of the user's prompt to the ",{"type":38,"tag":46,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":43,"value":257},{"type":43,"value":1180}," field",{"type":38,"tag":66,"props":1182,"children":1183},{},[1184],{"type":43,"value":1185},"Write the updated mock file (do not modify other mocks in the file)",{"type":38,"tag":55,"props":1187,"children":1189},{"id":1188},"schema",[1190],{"type":43,"value":1191},"Schema",{"type":38,"tag":39,"props":1193,"children":1194},{},[1195,1197,1203],{"type":43,"value":1196},"Look for the GraphQL schema in the repository to understand what shape of data\nshould be returned. (e.g., ",{"type":38,"tag":46,"props":1198,"children":1200},{"className":1199},[],[1201],{"type":43,"value":1202},"\u003Crepo_root>\u002Fschema.graphqls",{"type":43,"value":1204},"). Ask the user if the\nschema file cannot be found, and remember where it is located.",{"type":38,"tag":1206,"props":1207,"children":1208},"style",{},[1209],{"type":43,"value":1210},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1212,"total":297},[1213],{"slug":4,"name":4,"fn":5,"description":6,"org":1214,"tags":1215,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1216,1217,1218],{"name":16,"slug":17,"type":14},{"name":13,"slug":8,"type":14},{"name":19,"slug":20,"type":14},{"items":1220,"total":297},[1221],{"slug":4,"name":4,"fn":5,"description":6,"org":1222,"tags":1223,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1224,1225,1226],{"name":16,"slug":17,"type":14},{"name":13,"slug":8,"type":14},{"name":19,"slug":20,"type":14}]