@fern-api/fdr-sdk 1.2.33-9d7e001fd0 → 1.2.33-e73a4c8a93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/js/api-definition/index.js +170 -54
  2. package/dist/js/api-definition/index.js.map +1 -1
  3. package/dist/js/api-definition/index.mjs +169 -54
  4. package/dist/js/api-definition/index.mjs.map +1 -1
  5. package/dist/js/api-definition-lite/index.js.map +1 -1
  6. package/dist/js/client/FdrClient.js +17 -9
  7. package/dist/js/client/FdrClient.js.map +1 -1
  8. package/dist/js/client/FdrClient.mjs +17 -9
  9. package/dist/js/client/FdrClient.mjs.map +1 -1
  10. package/dist/js/client/types.js +22 -9
  11. package/dist/js/client/types.js.map +1 -1
  12. package/dist/js/client/types.mjs +22 -9
  13. package/dist/js/client/types.mjs.map +1 -1
  14. package/dist/js/converters/index.js +276 -71
  15. package/dist/js/converters/index.js.map +1 -1
  16. package/dist/js/converters/index.mjs +276 -71
  17. package/dist/js/converters/index.mjs.map +1 -1
  18. package/dist/js/index.js +276 -71
  19. package/dist/js/index.js.map +1 -1
  20. package/dist/js/index.mjs +276 -71
  21. package/dist/js/index.mjs.map +1 -1
  22. package/dist/js/navigation/index.js +273 -70
  23. package/dist/js/navigation/index.js.map +1 -1
  24. package/dist/js/navigation/index.mjs +273 -70
  25. package/dist/js/navigation/index.mjs.map +1 -1
  26. package/dist/js/navigation/ledger-root-builder.js +12 -8
  27. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  28. package/dist/js/navigation/ledger-root-builder.mjs +12 -8
  29. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  30. package/dist/js/navigation/types/latest.js.map +1 -1
  31. package/dist/js/navigation/types/latest.mjs.map +1 -1
  32. package/dist/js/navigation/types/v1.js.map +1 -1
  33. package/dist/js/navigation/types/v1.mjs.map +1 -1
  34. package/dist/js/orpc-client.js +20 -9
  35. package/dist/js/orpc-client.js.map +1 -1
  36. package/dist/js/orpc-client.mjs +19 -9
  37. package/dist/js/orpc-client.mjs.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/types/api-definition/__test__/collect-type-tree.test.d.ts +2 -0
  40. package/dist/types/api-definition/__test__/collect-type-tree.test.d.ts.map +1 -0
  41. package/dist/types/api-definition/collect-referenced-types.d.ts.map +1 -1
  42. package/dist/types/api-definition/collect-type-tree.d.ts +4 -0
  43. package/dist/types/api-definition/collect-type-tree.d.ts.map +1 -1
  44. package/dist/types/api-definition/endpoint-context.d.ts +3 -0
  45. package/dist/types/api-definition/endpoint-context.d.ts.map +1 -1
  46. package/dist/types/api-definition/migrators/v1ToV2.d.ts +17 -7
  47. package/dist/types/api-definition/migrators/v1ToV2.d.ts.map +1 -1
  48. package/dist/types/api-definition/prune.d.ts +1 -0
  49. package/dist/types/api-definition/prune.d.ts.map +1 -1
  50. package/dist/types/api-definition/snippets/graphql-snippets.d.ts.map +1 -1
  51. package/dist/types/api-definition/typeid-visitor.d.ts.map +1 -1
  52. package/dist/types/api-definition-lite/index.d.ts +1 -1
  53. package/dist/types/api-definition-lite/index.d.ts.map +1 -1
  54. package/dist/types/converters/__test__/subtitle-round-trip.test.d.ts +2 -0
  55. package/dist/types/converters/__test__/subtitle-round-trip.test.d.ts.map +1 -0
  56. package/dist/types/converters/db/convertAPIDefinitionToDb.d.ts.map +1 -1
  57. package/dist/types/converters/read/convertDbAPIDefinitionToRead.d.ts +48 -14
  58. package/dist/types/converters/read/convertDbAPIDefinitionToRead.d.ts.map +1 -1
  59. package/dist/types/navigation/ApiDefinitionPruner.d.ts.map +1 -1
  60. package/dist/types/navigation/ApiTypeIdVisitor.d.ts.map +1 -1
  61. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  62. package/dist/types/navigation/migrators/v1ToV2.d.ts.map +1 -1
  63. package/dist/types/navigation/types/latest.d.ts +18 -2
  64. package/dist/types/navigation/types/latest.d.ts.map +1 -1
  65. package/dist/types/navigation/types/v1.d.ts +2 -0
  66. package/dist/types/navigation/types/v1.d.ts.map +1 -1
  67. package/dist/types/navigation/utils/getApiReferenceId.d.ts.map +1 -1
  68. package/dist/types/navigation/utils/toApis.d.ts +3 -1
  69. package/dist/types/navigation/utils/toApis.d.ts.map +1 -1
  70. package/dist/types/navigation/versions/latest/NavigationNode.d.ts +1 -1
  71. package/dist/types/navigation/versions/latest/NavigationNode.d.ts.map +1 -1
  72. package/dist/types/navigation/versions/latest/NavigationNodeApiLeaf.d.ts +2 -2
  73. package/dist/types/navigation/versions/latest/NavigationNodeApiLeaf.d.ts.map +1 -1
  74. package/dist/types/navigation/versions/latest/__test__/GraphQlTypeNode.test.d.ts +2 -0
  75. package/dist/types/navigation/versions/latest/__test__/GraphQlTypeNode.test.d.ts.map +1 -0
  76. package/dist/types/navigation/versions/latest/getPageId.d.ts.map +1 -1
  77. package/dist/types/navigation/versions/v1/converters/ApiReferenceNavigationConverter.d.ts +1 -0
  78. package/dist/types/navigation/versions/v1/converters/ApiReferenceNavigationConverter.d.ts.map +1 -1
  79. package/dist/types/navigation/versions/v1/converters/__test__/ApiReferenceNavigationConverter.graphql.test.d.ts +2 -0
  80. package/dist/types/navigation/versions/v1/converters/__test__/ApiReferenceNavigationConverter.graphql.test.d.ts.map +1 -0
  81. package/dist/types/orpc-client/api/contract-db.d.ts +1880 -216
  82. package/dist/types/orpc-client/api/contract-db.d.ts.map +1 -1
  83. package/dist/types/orpc-client/api/contract-latest.d.ts +37 -10
  84. package/dist/types/orpc-client/api/contract-latest.d.ts.map +1 -1
  85. package/dist/types/orpc-client/api/contract-read.d.ts +1727 -216
  86. package/dist/types/orpc-client/api/contract-read.d.ts.map +1 -1
  87. package/dist/types/orpc-client/api/contract-register.d.ts +1905 -216
  88. package/dist/types/orpc-client/api/contract-register.d.ts.map +1 -1
  89. package/dist/types/orpc-client/api/shared.d.ts +99 -53
  90. package/dist/types/orpc-client/api/shared.d.ts.map +1 -1
  91. package/dist/types/orpc-client/files/contract.d.ts +5 -1
  92. package/dist/types/orpc-client/files/contract.d.ts.map +1 -1
  93. package/package.json +3 -3
@@ -96,6 +96,7 @@ __export(api_definition_exports, {
96
96
  GraphQlOperationIdSchema: () => GraphQlOperationIdSchema,
97
97
  GraphQlOperationSchema: () => LatestGraphQlOperationSchema,
98
98
  GraphQlOperationTypeSchema: () => LatestGraphQlOperationTypeSchema,
99
+ GraphQlTypeCategorySchema: () => GraphQlTypeCategorySchema,
99
100
  GrpcId: () => GrpcId,
100
101
  GrpcIdSchema: () => GrpcIdSchema,
101
102
  GrpcMethod: () => GrpcMethod,
@@ -1049,6 +1050,7 @@ var GraphQlOperationIdSchema = z2.string();
1049
1050
  function GraphQlOperationId(value) {
1050
1051
  return value;
1051
1052
  }
1053
+ var GraphQlTypeCategorySchema = z2.enum(["object", "input", "enum", "scalar", "interface", "union"]);
1052
1054
  var EnvironmentIdSchema = z2.string();
1053
1055
  function EnvironmentId(value) {
1054
1056
  return value;
@@ -1283,12 +1285,20 @@ var TypeReferenceSchema = z2.lazy(
1283
1285
  })
1284
1286
  ])
1285
1287
  );
1288
+ var GraphQlArgumentSchema = z2.object({
1289
+ description: z2.string().nullish(),
1290
+ availability: AvailabilitySchema.nullish(),
1291
+ name: z2.string(),
1292
+ type: TypeReferenceSchema,
1293
+ defaultValue: z2.unknown().nullish()
1294
+ });
1286
1295
  var ObjectPropertySchema = z2.object({
1287
1296
  description: z2.string().nullish(),
1288
1297
  availability: AvailabilitySchema.nullish(),
1289
1298
  key: PropertyKeySchema,
1290
1299
  valueType: TypeReferenceSchema,
1291
- propertyAccess: ObjectPropertyAccessSchema.nullish()
1300
+ propertyAccess: ObjectPropertyAccessSchema.nullish(),
1301
+ arguments: z2.array(GraphQlArgumentSchema).nullish()
1292
1302
  });
1293
1303
  var ObjectTypeSchema = z2.object({
1294
1304
  extends: z2.array(TypeIdSchema),
@@ -1436,13 +1446,6 @@ var ErrorExampleSchema = z2.object({
1436
1446
  responseBody: ExampleErrorResponseSchema
1437
1447
  });
1438
1448
  var GraphQlOperationTypeSchema = z2.enum(["QUERY", "MUTATION", "SUBSCRIPTION"]);
1439
- var GraphQlArgumentSchema = z2.object({
1440
- description: z2.string().nullish(),
1441
- availability: AvailabilitySchema.nullish(),
1442
- name: z2.string(),
1443
- type: TypeReferenceSchema,
1444
- defaultValue: z2.unknown().nullish()
1445
- });
1446
1449
  var GraphQlExampleSchema = z2.object({
1447
1450
  description: z2.string().nullish(),
1448
1451
  name: z2.string().nullish(),
@@ -1465,6 +1468,7 @@ var GraphQlOperationSchema = z2.object({
1465
1468
  operationType: GraphQlOperationTypeSchema,
1466
1469
  name: z2.string(),
1467
1470
  displayName: z2.string().nullish(),
1471
+ fieldPath: z2.array(z2.string()).nullish(),
1468
1472
  arguments: z2.array(GraphQlArgumentSchema).nullish(),
1469
1473
  returnType: TypeReferenceSchema,
1470
1474
  examples: z2.array(GraphQlExampleSchema).nullish(),
@@ -1696,6 +1700,7 @@ var RegisterErrorDeclarationV2Schema = z3.object({
1696
1700
  });
1697
1701
  var RegisterEndpointDefinitionSchema = z3.object({
1698
1702
  description: z3.string().nullish(),
1703
+ subtitle: z3.string().nullish(),
1699
1704
  availability: AvailabilitySchema.nullish(),
1700
1705
  slug: z3.string().nullish(),
1701
1706
  auth: z3.boolean().nullish(),
@@ -1911,7 +1916,8 @@ var LatestObjectPropertySchema = z4.lazy(
1911
1916
  availability: AvailabilitySchema.nullish(),
1912
1917
  key: PropertyKeySchema,
1913
1918
  valueShape: LatestTypeShapeSchema,
1914
- propertyAccess: LatestObjectPropertyAccessSchema.nullish()
1919
+ propertyAccess: LatestObjectPropertyAccessSchema.nullish(),
1920
+ arguments: z4.array(LatestGraphQlArgumentSchema).nullish()
1915
1921
  })
1916
1922
  );
1917
1923
  var LatestParameterPropertySchema = z4.lazy(
@@ -2220,6 +2226,7 @@ var LatestExampleEndpointCallSchema = z4.object({
2220
2226
  });
2221
2227
  var LatestEndpointDefinitionSchema = z4.object({
2222
2228
  description: z4.string().nullish(),
2229
+ subtitle: z4.string().nullish(),
2223
2230
  availability: AvailabilitySchema.nullish(),
2224
2231
  namespace: z4.array(z4.string()).nullish(),
2225
2232
  id: EndpointIdSchema,
@@ -2262,6 +2269,7 @@ var LatestGraphQlOperationSchema = z4.object({
2262
2269
  description: z4.string().nullish(),
2263
2270
  availability: AvailabilitySchema.nullish(),
2264
2271
  namespace: z4.array(z4.string()).nullish(),
2272
+ fieldPath: z4.array(z4.string()).nullish(),
2265
2273
  id: GraphQlOperationIdSchema,
2266
2274
  operationType: LatestGraphQlOperationTypeSchema,
2267
2275
  name: z4.string(),
@@ -2677,6 +2685,15 @@ function collectReferencedTypeIds(type, types, { maxDepth = 10 } = {}) {
2677
2685
  visitedTypeIds,
2678
2686
  depth: depth + 1
2679
2687
  });
2688
+ if (property.arguments) {
2689
+ for (const arg of property.arguments) {
2690
+ stack.push({
2691
+ shape: arg.type,
2692
+ visitedTypeIds,
2693
+ depth: depth + 1
2694
+ });
2695
+ }
2696
+ }
2680
2697
  }
2681
2698
  if (obj.extraProperties) {
2682
2699
  stack.push({
@@ -2787,6 +2804,27 @@ function collectTypeDefinitionTree(type, types, { availability: rootAvailability
2787
2804
  visitedTypeIds,
2788
2805
  availability
2789
2806
  });
2807
+ property.arguments?.forEach((arg) => {
2808
+ stack.push({
2809
+ type: arg.type,
2810
+ path: [
2811
+ ...parentpath,
2812
+ {
2813
+ type: "objectProperty",
2814
+ key: property.key,
2815
+ optional: unwrapReference(property.valueShape, types).isOptional
2816
+ },
2817
+ {
2818
+ type: "graphqlArgument",
2819
+ name: arg.name,
2820
+ optional: unwrapReference(arg.type, types).isOptional
2821
+ }
2822
+ ],
2823
+ descriptions: arg.description ? [arg.description] : [],
2824
+ visitedTypeIds,
2825
+ availability: coalesceAvailability([availability, property.availability, arg.availability])
2826
+ });
2827
+ });
2790
2828
  });
2791
2829
  if (obj.extraProperties) {
2792
2830
  stack.push({
@@ -2894,7 +2932,43 @@ function collectTypeDefinitionTreeForObjectProperty(property, types, rootPath =
2894
2932
  optional: unwrapReference(property.valueShape, types).isOptional
2895
2933
  }
2896
2934
  ]
2897
- })
2935
+ }),
2936
+ ...(property.arguments ?? []).flatMap((arg) => [
2937
+ {
2938
+ path: [
2939
+ ...rootPath,
2940
+ {
2941
+ type: "objectProperty",
2942
+ key: property.key,
2943
+ optional: unwrapReference(property.valueShape, types).isOptional
2944
+ },
2945
+ {
2946
+ type: "graphqlArgument",
2947
+ name: arg.name,
2948
+ optional: unwrapReference(arg.type, types).isOptional
2949
+ }
2950
+ ],
2951
+ descriptions: arg.description ? [arg.description] : [],
2952
+ availability: coalesceAvailability([property.availability, arg.availability])
2953
+ },
2954
+ ...collectTypeDefinitionTree(arg.type, types, {
2955
+ maxDepth: maxDepth - 1,
2956
+ availability: coalesceAvailability([property.availability, arg.availability]),
2957
+ path: [
2958
+ ...rootPath,
2959
+ {
2960
+ type: "objectProperty",
2961
+ key: property.key,
2962
+ optional: unwrapReference(property.valueShape, types).isOptional
2963
+ },
2964
+ {
2965
+ type: "graphqlArgument",
2966
+ name: arg.name,
2967
+ optional: unwrapReference(arg.type, types).isOptional
2968
+ }
2969
+ ]
2970
+ })
2971
+ ])
2898
2972
  ];
2899
2973
  }
2900
2974
 
@@ -3013,6 +3087,9 @@ var ApiTypeIdVisitor = class _ApiTypeIdVisitor {
3013
3087
  typeShape.extends.forEach(visit);
3014
3088
  typeShape.properties.forEach((property) => {
3015
3089
  _ApiTypeIdVisitor.visitTypeShape(property.valueShape, visit);
3090
+ property.arguments?.forEach((arg) => {
3091
+ _ApiTypeIdVisitor.visitTypeShape(arg.type, visit);
3092
+ });
3016
3093
  });
3017
3094
  }
3018
3095
  static visitTypeReference(typeReference, visit) {
@@ -3093,10 +3170,13 @@ var ApiDefinitionPruner = class _ApiDefinitionPruner {
3093
3170
  found.namespace?.forEach((subpackageId) => namespaces.add(subpackageId));
3094
3171
  }
3095
3172
  } else if (node.type === "graphql") {
3096
- const found = this.api.graphqlOperations[node.graphqlOperationId];
3097
- if (found) {
3098
- toRet.graphqlOperations[node.graphqlOperationId] = found;
3099
- found.namespace?.forEach((subpackageId) => namespaces.add(subpackageId));
3173
+ const idsToInclude = node.graphqlOperationIds ?? [node.graphqlOperationId];
3174
+ for (const opId of idsToInclude) {
3175
+ const found = this.api.graphqlOperations[opId];
3176
+ if (found) {
3177
+ toRet.graphqlOperations[opId] = found;
3178
+ found.namespace?.forEach((subpackageId) => namespaces.add(subpackageId));
3179
+ }
3100
3180
  }
3101
3181
  }
3102
3182
  }
@@ -3398,9 +3478,21 @@ function createGraphqlContext(node, apiDefinition) {
3398
3478
  );
3399
3479
  return void 0;
3400
3480
  }
3481
+ const allIds = node.graphqlOperationIds ?? [node.graphqlOperationId];
3482
+ const operations = [];
3483
+ for (const id of allIds) {
3484
+ const op = api.graphqlOperations[id];
3485
+ if (op) {
3486
+ operations.push(op);
3487
+ }
3488
+ }
3489
+ if (operations.length === 0) {
3490
+ operations.push(operation);
3491
+ }
3401
3492
  return {
3402
3493
  node,
3403
3494
  operation,
3495
+ operations,
3404
3496
  types: api.types
3405
3497
  };
3406
3498
  }
@@ -4328,6 +4420,7 @@ var ApiDefinitionV1ToLatest = class _ApiDefinitionV1ToLatest {
4328
4420
  displayName: v1?.name,
4329
4421
  operationId: v1?.urlSlug?.split("/")?.pop(),
4330
4422
  description: v1?.description,
4423
+ subtitle: v1?.subtitle,
4331
4424
  availability: v1?.availability,
4332
4425
  method: v1?.method,
4333
4426
  path: v1?.path?.parts?.filter((part) => part?.value !== "") ?? [],
@@ -4569,7 +4662,8 @@ var ApiDefinitionV1ToLatest = class _ApiDefinitionV1ToLatest {
4569
4662
  },
4570
4663
  propertyAccess: value?.propertyAccess ?? void 0,
4571
4664
  description: value?.description ?? void 0,
4572
- availability: value?.availability ?? void 0
4665
+ availability: value?.availability ?? void 0,
4666
+ arguments: value?.arguments?.map((arg) => this.migrateGraphQlArgument(arg))
4573
4667
  }));
4574
4668
  },
4575
4669
  [],
@@ -5010,6 +5104,7 @@ var ApiDefinitionV1ToLatest = class _ApiDefinitionV1ToLatest {
5010
5104
  description: v1?.description,
5011
5105
  availability: v1?.availability,
5012
5106
  namespace,
5107
+ fieldPath: v1?.fieldPath,
5013
5108
  arguments: v1?.arguments?.map((arg) => this.migrateGraphQlArgument(arg)),
5014
5109
  returnType: {
5015
5110
  type: "alias",
@@ -5306,7 +5401,10 @@ function generateGraphQlSnippet(context) {
5306
5401
  return `$${arg.name}: ${graphqlType}`;
5307
5402
  });
5308
5403
  const argumentUsage = args.map((arg) => `${arg.name}: $${arg.name}`);
5309
- const selectionSet = generateSelectionSet(operation.returnType, types, 2);
5404
+ const fieldPath = operation.fieldPath;
5405
+ const hasFieldPath = fieldPath != null && fieldPath.length > 0;
5406
+ const selectionSetIndent = hasFieldPath ? 2 + fieldPath.length : 2;
5407
+ const selectionSet = generateSelectionSet(operation.returnType, types, 2, /* @__PURE__ */ new Set(), selectionSetIndent);
5310
5408
  let query = operationKeyword;
5311
5409
  if (operationName || variableDefinitions.length > 0) {
5312
5410
  query += ` ${operationName}`;
@@ -5315,15 +5413,32 @@ function generateGraphQlSnippet(context) {
5315
5413
  }
5316
5414
  }
5317
5415
  query += " {\n";
5318
- query += ` ${operation.name}`;
5416
+ const baseIndent = 2;
5417
+ if (hasFieldPath) {
5418
+ for (let i = 0; i < fieldPath.length; i++) {
5419
+ const indent = " ".repeat(baseIndent + i * 2);
5420
+ query += `${indent}${fieldPath[i]} {
5421
+ `;
5422
+ }
5423
+ }
5424
+ const operationIndent = hasFieldPath ? " ".repeat(baseIndent + fieldPath.length * 2) : " ";
5425
+ query += `${operationIndent}${operation.name}`;
5319
5426
  if (argumentUsage.length > 0) {
5320
5427
  query += `(${argumentUsage.join(", ")})`;
5321
5428
  }
5322
5429
  if (selectionSet) {
5323
5430
  query += ` ${selectionSet}`;
5324
5431
  }
5325
- query += "\n}";
5326
- const response = generateResponseExample(operation.name, operation.returnType, types);
5432
+ query += "\n";
5433
+ if (hasFieldPath) {
5434
+ for (let i = fieldPath.length - 1; i >= 0; i--) {
5435
+ const indent = " ".repeat(baseIndent + i * 2);
5436
+ query += `${indent}}
5437
+ `;
5438
+ }
5439
+ }
5440
+ query += "}";
5441
+ const response = generateResponseExample(operation.name, operation.returnType, types, fieldPath);
5327
5442
  const result = { query, variables, response };
5328
5443
  snippetCache.set(operation, result);
5329
5444
  return result;
@@ -5352,49 +5467,44 @@ function getExampleOperationName(operationType) {
5352
5467
  return "ExampleQuery";
5353
5468
  }
5354
5469
  }
5355
- function typeShapeToGraphQlType(shape, types) {
5470
+ function typeShapeToGraphQlType(shape, types, nonNull = true) {
5356
5471
  if (shape.type === "alias") {
5357
- return typeReferenceToGraphQlType(shape.value, types);
5358
- }
5359
- if (shape.type === "enum") {
5360
- return "String";
5472
+ return typeReferenceToGraphQlType(shape.value, types, nonNull);
5361
5473
  }
5362
- if (shape.type === "object") {
5363
- return "Object";
5364
- }
5365
- if (shape.type === "undiscriminatedUnion" || shape.type === "discriminatedUnion") {
5366
- return "Object";
5367
- }
5368
- return "String";
5474
+ const base = shape.type === "enum" ? "String" : shape.type === "object" || shape.type === "undiscriminatedUnion" || shape.type === "discriminatedUnion" ? "Object" : "String";
5475
+ return nonNull ? `${base}!` : base;
5369
5476
  }
5370
- function typeReferenceToGraphQlType(ref, types) {
5477
+ function typeReferenceToGraphQlType(ref, types, nonNull = true) {
5371
5478
  switch (ref.type) {
5372
- case "primitive":
5373
- return primitiveToGraphQlType(ref.value);
5479
+ case "primitive": {
5480
+ const base = primitiveToGraphQlType(ref.value);
5481
+ return nonNull ? `${base}!` : base;
5482
+ }
5374
5483
  case "id": {
5375
5484
  const typeDef = types[ref.id];
5376
- if (typeDef) {
5377
- return typeDef.displayName ?? unnamespacedName(typeDef.name) ?? "Object";
5378
- }
5379
- return "Object";
5485
+ const base = typeDef ? typeDef.displayName ?? unnamespacedName(typeDef.name) ?? "Object" : "Object";
5486
+ return nonNull ? `${base}!` : base;
5380
5487
  }
5381
5488
  case "optional":
5382
- return typeShapeToGraphQlType(ref.shape, types);
5489
+ return typeShapeToGraphQlType(ref.shape, types, false);
5383
5490
  case "nullable":
5384
- return typeShapeToGraphQlType(ref.shape, types);
5385
- case "list":
5386
- return `[${typeShapeToGraphQlType(ref.itemShape, types)}]`;
5387
- case "set":
5388
- return `[${typeShapeToGraphQlType(ref.itemShape, types)}]`;
5491
+ return typeShapeToGraphQlType(ref.shape, types, false);
5492
+ case "list": {
5493
+ const inner = typeShapeToGraphQlType(ref.itemShape, types);
5494
+ return nonNull ? `[${inner}]!` : `[${inner}]`;
5495
+ }
5496
+ case "set": {
5497
+ const inner = typeShapeToGraphQlType(ref.itemShape, types);
5498
+ return nonNull ? `[${inner}]!` : `[${inner}]`;
5499
+ }
5389
5500
  case "map":
5390
- return "Object";
5391
- // Maps don't have direct GraphQL equivalent
5501
+ return nonNull ? "Object!" : "Object";
5392
5502
  case "literal":
5393
- return "String";
5503
+ return nonNull ? "String!" : "String";
5394
5504
  case "unknown":
5395
- return "Object";
5505
+ return nonNull ? "Object!" : "Object";
5396
5506
  default:
5397
- return "String";
5507
+ return nonNull ? "String!" : "String";
5398
5508
  }
5399
5509
  }
5400
5510
  function unnamespacedName(name) {
@@ -5612,13 +5722,18 @@ function generateSelectionSetFromReference(ref, types, depth, visited, indentLev
5612
5722
  return "";
5613
5723
  }
5614
5724
  }
5615
- function generateResponseExample(operationName, returnType, types) {
5725
+ function generateResponseExample(operationName, returnType, types, fieldPath) {
5616
5726
  const data = generateResponseData(returnType, types, 3, /* @__PURE__ */ new Set());
5617
- return {
5618
- data: {
5619
- [operationName]: data
5727
+ let responseData = { [operationName]: data };
5728
+ if (fieldPath != null && fieldPath.length > 0) {
5729
+ for (let i = fieldPath.length - 1; i >= 0; i--) {
5730
+ const key = fieldPath[i];
5731
+ if (key != null) {
5732
+ responseData = { [key]: responseData };
5733
+ }
5620
5734
  }
5621
- };
5735
+ }
5736
+ return { data: responseData };
5622
5737
  }
5623
5738
  function generateResponseData(shape, types, depth, visited) {
5624
5739
  if (depth <= 0) {
@@ -6579,6 +6694,7 @@ var Transformer = class _Transformer {
6579
6694
  GraphQlOperationIdSchema,
6580
6695
  GraphQlOperationSchema,
6581
6696
  GraphQlOperationTypeSchema,
6697
+ GraphQlTypeCategorySchema,
6582
6698
  GrpcId,
6583
6699
  GrpcIdSchema,
6584
6700
  GrpcMethod,