@typeship-ax/mcp 0.21.0 → 0.23.0

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 (133) hide show
  1. package/AGENTS.md +15 -11
  2. package/README.md +22 -53
  3. package/api.json +9998 -10118
  4. package/api.md +8983 -9120
  5. package/dist/arguments.d.ts +54 -0
  6. package/dist/arguments.d.ts.map +1 -0
  7. package/dist/arguments.js +265 -0
  8. package/dist/core/http.d.ts +162 -19
  9. package/dist/core/http.d.ts.map +1 -1
  10. package/dist/core/http.js +381 -48
  11. package/dist/core/pagination.d.ts +42 -6
  12. package/dist/core/pagination.d.ts.map +1 -1
  13. package/dist/core/pagination.js +111 -17
  14. package/dist/credential-storage.d.ts +10 -3
  15. package/dist/credential-storage.d.ts.map +1 -1
  16. package/dist/credential-storage.js +15 -6
  17. package/dist/dates.d.ts +1 -1
  18. package/dist/dates.js +1 -1
  19. package/dist/errors.d.ts +20 -84
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +20 -108
  22. package/dist/fields.d.ts +36 -0
  23. package/dist/fields.d.ts.map +1 -0
  24. package/dist/fields.js +187 -0
  25. package/dist/index.d.ts +28 -18
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +35 -25
  28. package/dist/mcp-authorization.d.ts.map +1 -1
  29. package/dist/mcp-authorization.js +34 -10
  30. package/dist/mcp-protocol.d.ts +108 -44
  31. package/dist/mcp-protocol.d.ts.map +1 -1
  32. package/dist/mcp-protocol.js +780 -484
  33. package/dist/mcp.d.ts.map +1 -1
  34. package/dist/mcp.js +129 -29
  35. package/dist/named-credentials.d.ts +19 -0
  36. package/dist/named-credentials.d.ts.map +1 -1
  37. package/dist/named-credentials.js +81 -1
  38. package/dist/oauth-request.d.ts +7 -1
  39. package/dist/oauth-request.d.ts.map +1 -1
  40. package/dist/oauth-request.js +26 -4
  41. package/dist/oauth-session.d.ts +13 -1
  42. package/dist/oauth-session.d.ts.map +1 -1
  43. package/dist/oauth-session.js +34 -18
  44. package/dist/ops.d.ts +58 -5
  45. package/dist/ops.d.ts.map +1 -1
  46. package/dist/ops.js +110 -41
  47. package/dist/resources/api-keys.d.ts +10 -7
  48. package/dist/resources/api-keys.d.ts.map +1 -1
  49. package/dist/resources/api-keys.js +10 -31
  50. package/dist/resources/deliveries.d.ts +89 -5
  51. package/dist/resources/deliveries.d.ts.map +1 -1
  52. package/dist/resources/deliveries.js +96 -19
  53. package/dist/resources/drafts.d.ts +16 -16
  54. package/dist/resources/drafts.d.ts.map +1 -1
  55. package/dist/resources/drafts.js +12 -65
  56. package/dist/resources/files.d.ts +4 -4
  57. package/dist/resources/files.d.ts.map +1 -1
  58. package/dist/resources/files.js +3 -12
  59. package/dist/resources/generations.d.ts +16 -16
  60. package/dist/resources/generations.d.ts.map +1 -1
  61. package/dist/resources/generations.js +23 -47
  62. package/dist/resources/organization.d.ts +4 -4
  63. package/dist/resources/organization.d.ts.map +1 -1
  64. package/dist/resources/organization.js +3 -10
  65. package/dist/resources/{generate.d.ts → packages.d.ts} +16 -16
  66. package/dist/resources/packages.d.ts.map +1 -0
  67. package/dist/resources/{generate.js → packages.js} +13 -29
  68. package/dist/resources/projects.d.ts +50 -50
  69. package/dist/resources/projects.d.ts.map +1 -1
  70. package/dist/resources/projects.js +60 -116
  71. package/dist/resources/releases.d.ts +22 -17
  72. package/dist/resources/releases.d.ts.map +1 -1
  73. package/dist/resources/releases.js +19 -40
  74. package/dist/resources/spec-revisions.d.ts +16 -7
  75. package/dist/resources/spec-revisions.d.ts.map +1 -1
  76. package/dist/resources/spec-revisions.js +7 -29
  77. package/dist/resources/specs.d.ts +7 -7
  78. package/dist/resources/specs.d.ts.map +1 -1
  79. package/dist/resources/specs.js +6 -34
  80. package/dist/resources/targets.d.ts +49 -49
  81. package/dist/resources/targets.d.ts.map +1 -1
  82. package/dist/resources/targets.js +59 -115
  83. package/dist/schemas.d.ts.map +1 -1
  84. package/dist/schemas.js +78 -76
  85. package/dist/search.d.ts +54 -0
  86. package/dist/search.d.ts.map +1 -0
  87. package/dist/search.js +421 -0
  88. package/dist/type-docs.d.ts +61 -0
  89. package/dist/type-docs.d.ts.map +1 -0
  90. package/dist/type-docs.js +174 -0
  91. package/dist/types.d.ts +499 -339
  92. package/dist/types.d.ts.map +1 -1
  93. package/dist/types.js +18 -18
  94. package/dist/worker.js +2 -2
  95. package/package.json +5 -2
  96. package/server.json +5 -5
  97. package/src/arguments.ts +254 -0
  98. package/src/core/http.ts +457 -58
  99. package/src/core/pagination.ts +129 -18
  100. package/src/credential-storage.ts +16 -6
  101. package/src/dates.ts +1 -1
  102. package/src/errors.ts +46 -115
  103. package/src/fields.ts +167 -0
  104. package/src/index.ts +45 -28
  105. package/src/mcp-authorization.ts +29 -9
  106. package/src/mcp-protocol.ts +808 -435
  107. package/src/mcp.ts +115 -27
  108. package/src/named-credentials.ts +66 -1
  109. package/src/oauth-request.ts +32 -6
  110. package/src/oauth-session.ts +37 -19
  111. package/src/ops.ts +146 -45
  112. package/src/resources/api-keys.ts +34 -48
  113. package/src/resources/deliveries.ts +213 -32
  114. package/src/resources/drafts.ts +62 -109
  115. package/src/resources/files.ts +19 -20
  116. package/src/resources/generations.ts +61 -79
  117. package/src/resources/organization.ts +11 -16
  118. package/src/resources/{generate.ts → packages.ts} +43 -51
  119. package/src/resources/projects.ts +145 -200
  120. package/src/resources/releases.ts +50 -67
  121. package/src/resources/spec-revisions.ts +40 -49
  122. package/src/resources/specs.ts +39 -59
  123. package/src/resources/targets.ts +144 -194
  124. package/src/schemas.ts +78 -76
  125. package/src/search.ts +434 -0
  126. package/src/type-docs.ts +205 -0
  127. package/src/types.ts +538 -357
  128. package/src/worker.ts +2 -2
  129. package/dist/resources/generate.d.ts.map +0 -1
  130. package/dist/resources/publications.d.ts +0 -47
  131. package/dist/resources/publications.d.ts.map +0 -1
  132. package/dist/resources/publications.js +0 -70
  133. package/src/resources/publications.ts +0 -140
package/src/types.ts CHANGED
@@ -1,5 +1,16 @@
1
- // typeship — API types.
2
- // Generated by typeship — https://typeship.dev
1
+ // Typeship — API types.
2
+ // Generated by Typeship — https://typeship.dev
3
+
4
+ declare const unknownVariantTag: unique symbol;
5
+ /**
6
+ * A tag value the server added after this SDK was generated. It is a string
7
+ * at runtime; read it with `String(tag)`.
8
+ */
9
+ export interface UnknownVariantTag extends String {
10
+ readonly [unknownVariantTag]: true;
11
+ }
12
+ /** A union member the server added after this SDK was generated, with every field as received. */
13
+ export type UnknownVariant<Tag extends string> = { [K in Tag]: UnknownVariantTag } & Record<string, unknown>;
3
14
 
4
15
  /** Unique identifier for a project. */
5
16
  export type ProjectId = string;
@@ -34,8 +45,6 @@ export type DraftId = string;
34
45
 
35
46
  export type ReleaseId = string;
36
47
 
37
- export type PublicationId = string;
38
-
39
48
  /**
40
49
  * Generator implementation selected by a Target. This is configuration, not identity; several
41
50
  * Targets may use the same generator. cli is the TypeScript CLI; go_cli is the native Go CLI, a
@@ -76,7 +85,10 @@ export interface UrlSpecInputRead {
76
85
  }
77
86
 
78
87
  export interface InlineSpecInput {
79
- /** Raw Spec text (OpenAPI JSON/YAML or GraphQL SDL). Up to 10MB. */
88
+ /**
89
+ * Raw Spec text (OpenAPI JSON/YAML or GraphQL SDL). Up to 4 MB, because the request body carries
90
+ * it; send Specs up to 10 MB with `url`.
91
+ */
80
92
  inline: string;
81
93
  }
82
94
 
@@ -352,6 +364,8 @@ export interface SpecRevisionFileListRead {
352
364
  }
353
365
 
354
366
  export interface GenerationResult {
367
+ /** One generated package. It has no ID: download it with download.url before download.expires_at. */
368
+ object: "package";
355
369
  files: GeneratedFile[];
356
370
  download?: GenerationDownload;
357
371
  warnings: GenerationWarning[];
@@ -372,6 +386,8 @@ export interface GenerationResult {
372
386
 
373
387
  /** Response shape for GenerationResult. */
374
388
  export interface GenerationResultRead {
389
+ /** One generated package. It has no ID: download it with download.url before download.expires_at. */
390
+ object: "package" | (string & {});
375
391
  files: GeneratedFileRead[];
376
392
  download?: GenerationDownload;
377
393
  warnings: GenerationWarning[];
@@ -437,12 +453,6 @@ export interface UrlSpecSourceWrite {
437
453
  url: UrlSpecSourceSettingsWrite;
438
454
  }
439
455
 
440
- /** Response shape for UrlSpecSource. */
441
- export interface UrlSpecSourceRead {
442
- type: "url" | (string & {});
443
- url: UrlSpecSourceSettings;
444
- }
445
-
446
456
  /** GitHub is the only launch provider; the field is stable for future adapters. */
447
457
  export const RepositoryProvider = {
448
458
  GITHUB: "github",
@@ -452,17 +462,6 @@ export type RepositoryProvider = (typeof RepositoryProvider)[keyof typeof Reposi
452
462
  /** Provider-native repository identity, opaque outside its adapter. */
453
463
  export type RepositoryIdentifier = string;
454
464
 
455
- export interface RepositoryReference {
456
- provider: RepositoryProvider;
457
- identifier: RepositoryIdentifier;
458
- }
459
-
460
- /** Response shape for RepositoryReference. */
461
- export interface RepositoryReferenceRead {
462
- provider: RepositoryProvider | (string & {});
463
- identifier: RepositoryIdentifier;
464
- }
465
-
466
465
  export interface RepositorySpecSourceSettings {
467
466
  provider: RepositoryProvider;
468
467
  identifier: RepositoryIdentifier;
@@ -485,7 +484,7 @@ export interface RepositorySpecSource {
485
484
 
486
485
  /** Response shape for RepositorySpecSource. */
487
486
  export interface RepositorySpecSourceRead {
488
- type: "repository" | (string & {});
487
+ type: "repository";
489
488
  repository: RepositorySpecSourceSettingsRead;
490
489
  }
491
490
 
@@ -496,9 +495,7 @@ export type SpecSource = UrlSpecSource | RepositorySpecSource;
496
495
  export type SpecSourceWrite = UrlSpecSourceWrite | RepositorySpecSource;
497
496
 
498
497
  /** Response shape for SpecSource. */
499
- export type SpecSourceRead = UrlSpecSourceRead
500
- | RepositorySpecSourceRead
501
- | Record<string, unknown> & { type?: string };
498
+ export type SpecSourceRead = UrlSpecSource | RepositorySpecSourceRead | UnknownVariant<"type">;
502
499
 
503
500
  export interface UrlSpecSourceSettingsInput {
504
501
  /**
@@ -531,7 +528,7 @@ export interface UrlSpecSourceInput {
531
528
 
532
529
  /** Response shape for UrlSpecSourceInput. */
533
530
  export interface UrlSpecSourceInputRead {
534
- type: "url" | (string & {});
531
+ type: "url";
535
532
  url: UrlSpecSourceSettingsInputRead;
536
533
  }
537
534
 
@@ -557,7 +554,7 @@ export interface RepositorySpecSourceInput {
557
554
 
558
555
  /** Response shape for RepositorySpecSourceInput. */
559
556
  export interface RepositorySpecSourceInputRead {
560
- type: "repository" | (string & {});
557
+ type: "repository";
561
558
  repository: RepositorySpecSourceSettingsInputRead;
562
559
  }
563
560
 
@@ -566,7 +563,7 @@ export type SpecSourceInput = UrlSpecSourceInput | RepositorySpecSourceInput;
566
563
  /** Response shape for SpecSourceInput. */
567
564
  export type SpecSourceInputRead = UrlSpecSourceInputRead
568
565
  | RepositorySpecSourceInputRead
569
- | Record<string, unknown> & { type?: string };
566
+ | UnknownVariant<"type">;
570
567
 
571
568
  /**
572
569
  * A fix applied to the resolved Spec before generation. Paths are JSON
@@ -606,8 +603,26 @@ export interface SpecPatchRead {
606
603
  reason?: string | null;
607
604
  }
608
605
 
609
- /** One exact place where a Diagnostic rule found evidence. */
606
+ /**
607
+ * One exact place where a Diagnostic rule found evidence, with its own state under the Spec's
608
+ * Diagnostic policy.
609
+ */
610
610
  export interface DiagnosticLocation {
611
+ /**
612
+ * Whether this location fails the Spec's Diagnostic policy. Fix these locations to pass the
613
+ * policy.
614
+ */
615
+ blocking: boolean;
616
+ /**
617
+ * Whether this location is new since baseline_spec_revision_id in the Diagnostic summary. Always
618
+ * true when there is no baseline.
619
+ */
620
+ introduced: boolean;
621
+ /**
622
+ * Whether a reviewed exception in the Spec's Diagnostic policy covers this location, by its path
623
+ * or for the whole rule. Suppressed locations never block.
624
+ */
625
+ suppressed: boolean;
611
626
  /** Source file path from the Spec Revision when the finding maps to a captured file. */
612
627
  file_path?: string;
613
628
  /** The captured source file, present with file_path. Read it with getFile. */
@@ -659,13 +674,14 @@ export interface Diagnostic {
659
674
  id: string;
660
675
  object: "diagnostic";
661
676
  /**
662
- * Whether this Diagnostic fails the Spec's Diagnostic policy. Suppressed occurrences and, when
663
- * only_new is set, occurrences present in the baseline never block.
677
+ * Whether any location fails the Spec's Diagnostic policy. Each location's blocking field names
678
+ * which ones. Suppressed locations and, when only_new is set, locations present in the baseline
679
+ * never block.
664
680
  */
665
681
  blocking: boolean;
666
682
  /**
667
- * Whether any occurrence is new since baseline_spec_revision_id in the Diagnostic summary. Always
668
- * true when there is no baseline.
683
+ * Whether any location is new since baseline_spec_revision_id in the Diagnostic summary. Each
684
+ * location's introduced field names which ones. Always true when there is no baseline.
669
685
  */
670
686
  introduced: boolean;
671
687
  /** Whether the rule reports invalid behavior, material risk, or an improvement. */
@@ -680,7 +696,10 @@ export interface Diagnostic {
680
696
  surfaces: Array<"api" | "sdk" | "cli" | "mcp">;
681
697
  /** Whether remediation requires intent that the Spec cannot prove. */
682
698
  owner_decision_required: boolean;
683
- /** All affected coordinates, kept under one grouped diagnostic. */
699
+ /**
700
+ * The affected coordinates, kept under one grouped Diagnostic. With a filter, only the matching
701
+ * locations.
702
+ */
684
703
  locations: DiagnosticLocation[];
685
704
  fix?: DiagnosticFix;
686
705
  /**
@@ -696,13 +715,14 @@ export interface DiagnosticRead {
696
715
  id: string;
697
716
  object: "diagnostic" | (string & {});
698
717
  /**
699
- * Whether this Diagnostic fails the Spec's Diagnostic policy. Suppressed occurrences and, when
700
- * only_new is set, occurrences present in the baseline never block.
718
+ * Whether any location fails the Spec's Diagnostic policy. Each location's blocking field names
719
+ * which ones. Suppressed locations and, when only_new is set, locations present in the baseline
720
+ * never block.
701
721
  */
702
722
  blocking: boolean;
703
723
  /**
704
- * Whether any occurrence is new since baseline_spec_revision_id in the Diagnostic summary. Always
705
- * true when there is no baseline.
724
+ * Whether any location is new since baseline_spec_revision_id in the Diagnostic summary. Each
725
+ * location's introduced field names which ones. Always true when there is no baseline.
706
726
  */
707
727
  introduced: boolean;
708
728
  /** Whether the rule reports invalid behavior, material risk, or an improvement. */
@@ -717,7 +737,10 @@ export interface DiagnosticRead {
717
737
  surfaces: Array<("api" | "sdk" | "cli" | "mcp") | (string & {})>;
718
738
  /** Whether remediation requires intent that the Spec cannot prove. */
719
739
  owner_decision_required: boolean;
720
- /** All affected coordinates, kept under one grouped diagnostic. */
740
+ /**
741
+ * The affected coordinates, kept under one grouped Diagnostic. With a filter, only the matching
742
+ * locations.
743
+ */
721
744
  locations: DiagnosticLocation[];
722
745
  fix?: DiagnosticFixRead;
723
746
  /**
@@ -878,7 +901,7 @@ export interface RepositoryDeliveryInput {
878
901
 
879
902
  /** Response shape for RepositoryDeliveryInput. */
880
903
  export interface RepositoryDeliveryInputRead {
881
- type: "repository" | (string & {});
904
+ type: "repository";
882
905
  repository: RepositoryDeliverySettingsInputRead;
883
906
  }
884
907
 
@@ -886,17 +909,69 @@ export interface HostedMcpDeliveryInput {
886
909
  type: "hosted_mcp";
887
910
  }
888
911
 
889
- /** Response shape for HostedMcpDeliveryInput. */
890
- export interface HostedMcpDeliveryInputRead {
891
- type: "hosted_mcp" | (string & {});
892
- }
893
-
894
912
  export type DeliveryInput = RepositoryDeliveryInput | HostedMcpDeliveryInput;
895
913
 
896
914
  /** Response shape for DeliveryInput. */
897
915
  export type DeliveryInputRead = RepositoryDeliveryInputRead
898
- | HostedMcpDeliveryInputRead
899
- | Record<string, unknown> & { type?: string };
916
+ | HostedMcpDeliveryInput
917
+ | UnknownVariant<"type">;
918
+
919
+ export interface RepositoryDeliveryCreateRequest {
920
+ target_id: TargetId;
921
+ type: "repository";
922
+ repository: RepositoryDeliverySettingsInput;
923
+ }
924
+
925
+ /** Response shape for RepositoryDeliveryCreateRequest. */
926
+ export interface RepositoryDeliveryCreateRequestRead {
927
+ target_id: TargetId;
928
+ type: "repository";
929
+ repository: RepositoryDeliverySettingsInputRead;
930
+ }
931
+
932
+ export interface HostedMcpDeliveryCreateRequest {
933
+ target_id: TargetId;
934
+ type: "hosted_mcp";
935
+ }
936
+
937
+ export type DeliveryCreateRequest = RepositoryDeliveryCreateRequest | HostedMcpDeliveryCreateRequest;
938
+
939
+ /** Response shape for DeliveryCreateRequest. */
940
+ export type DeliveryCreateRequestRead = RepositoryDeliveryCreateRequestRead
941
+ | HostedMcpDeliveryCreateRequest
942
+ | UnknownVariant<"type">;
943
+
944
+ export interface DeliveryUpdateRequest {
945
+ /**
946
+ * Replaces the complete repository settings, so omitted optional settings reset to their
947
+ * defaults. Only repository Deliveries have settings to update.
948
+ */
949
+ repository: RepositoryDeliverySettingsInput;
950
+ }
951
+
952
+ /** Response shape for DeliveryUpdateRequest. */
953
+ export interface DeliveryUpdateRequestRead {
954
+ /**
955
+ * Replaces the complete repository settings, so omitted optional settings reset to their
956
+ * defaults. Only repository Deliveries have settings to update.
957
+ */
958
+ repository: RepositoryDeliverySettingsInputRead;
959
+ }
960
+
961
+ export interface DeletedDelivery {
962
+ id: DeliveryId;
963
+ object: "delivery";
964
+ deleted: true;
965
+ request_id: RequestId;
966
+ }
967
+
968
+ /** Response shape for DeletedDelivery. */
969
+ export interface DeletedDeliveryRead {
970
+ id: DeliveryId;
971
+ object: "delivery" | (string & {});
972
+ deleted: true;
973
+ request_id: RequestId;
974
+ }
900
975
 
901
976
  export interface RepositoryDeliverySettings {
902
977
  provider: RepositoryProvider;
@@ -955,7 +1030,7 @@ export interface RepositoryDeliveryRead {
955
1030
  id: DeliveryId;
956
1031
  object: "delivery" | (string & {});
957
1032
  target_id: TargetId;
958
- type: "repository" | (string & {});
1033
+ type: "repository";
959
1034
  /**
960
1035
  * active: the repository accepts generated changes. action_required: inspect issues for the
961
1036
  * correction. disabled: the Target is disabled and receives no changes.
@@ -1042,7 +1117,7 @@ export interface HostedMcpDeliveryRead {
1042
1117
  id: DeliveryId;
1043
1118
  object: "delivery" | (string & {});
1044
1119
  target_id: TargetId;
1045
- type: "hosted_mcp" | (string & {});
1120
+ type: "hosted_mcp";
1046
1121
  /**
1047
1122
  * active: the endpoint serves the Target's latest accepted package. disabled: the Target is
1048
1123
  * disabled and the endpoint is paused.
@@ -1058,9 +1133,7 @@ export interface HostedMcpDeliveryRead {
1058
1133
  export type Delivery = RepositoryDelivery | HostedMcpDelivery;
1059
1134
 
1060
1135
  /** Response shape for Delivery. */
1061
- export type DeliveryRead = RepositoryDeliveryRead
1062
- | HostedMcpDeliveryRead
1063
- | Record<string, unknown> & { type?: string };
1136
+ export type DeliveryRead = RepositoryDeliveryRead | HostedMcpDeliveryRead | UnknownVariant<"type">;
1064
1137
 
1065
1138
  /**
1066
1139
  * repository is present for a repository Delivery, with issues, required_checks, and last_event;
@@ -1149,7 +1222,6 @@ export interface TargetChecksRead {
1149
1222
  export interface TargetCreateRequest {
1150
1223
  project_id: ProjectId;
1151
1224
  name: string;
1152
- spec_id: SpecId;
1153
1225
  type: GeneratorKind;
1154
1226
  /** Default: "active" */
1155
1227
  status?: "active" | "disabled";
@@ -1168,7 +1240,6 @@ export interface TargetCreateRequest {
1168
1240
  export interface TargetCreateRequestRead {
1169
1241
  project_id: ProjectId;
1170
1242
  name: string;
1171
- spec_id: SpecId;
1172
1243
  type: GeneratorKind | (string & {});
1173
1244
  /** Default: "active" */
1174
1245
  status?: ("active" | "disabled") | (string & {});
@@ -1226,14 +1297,6 @@ export interface TargetUpdateRequest {
1226
1297
  * inheritance. Effective values merge over Project.config; GraphQL settings belong to the Spec.
1227
1298
  */
1228
1299
  config?: TargetConfig | null;
1229
- /**
1230
- * Replaces the Delivery set; include each kind you want to keep. Retained kinds preserve their
1231
- * ID, creation time, and hosted URL. Each supplied Delivery replaces its configuration, so
1232
- * omitted optional settings reset to their defaults. Omit deliveries to keep the existing set, or
1233
- * send [] to remove all Deliveries. Removing and later recreating a kind allocates a new ID and,
1234
- * for hosted_mcp, a new URL.
1235
- */
1236
- deliveries?: DeliveryInput[];
1237
1300
  }
1238
1301
 
1239
1302
  /** Response shape for TargetUpdateRequest. */
@@ -1247,14 +1310,6 @@ export interface TargetUpdateRequestRead {
1247
1310
  * inheritance. Effective values merge over Project.config; GraphQL settings belong to the Spec.
1248
1311
  */
1249
1312
  config?: TargetConfigRead | null;
1250
- /**
1251
- * Replaces the Delivery set; include each kind you want to keep. Retained kinds preserve their
1252
- * ID, creation time, and hosted URL. Each supplied Delivery replaces its configuration, so
1253
- * omitted optional settings reset to their defaults. Omit deliveries to keep the existing set, or
1254
- * send [] to remove all Deliveries. Removing and later recreating a kind allocates a new ID and,
1255
- * for hosted_mcp, a new URL.
1256
- */
1257
- deliveries?: DeliveryInputRead[];
1258
1313
  }
1259
1314
 
1260
1315
  /**
@@ -1384,23 +1439,6 @@ export interface DeliveryListRead {
1384
1439
  request_id: RequestId;
1385
1440
  }
1386
1441
 
1387
- export interface PublicationList {
1388
- object: ListObject;
1389
- data: Publication[];
1390
- has_more: boolean;
1391
- next_cursor: string | null;
1392
- request_id: RequestId;
1393
- }
1394
-
1395
- /** Response shape for PublicationList. */
1396
- export interface PublicationListRead {
1397
- object: ListObject;
1398
- data: PublicationRead[];
1399
- has_more: boolean;
1400
- next_cursor: string | null;
1401
- request_id: RequestId;
1402
- }
1403
-
1404
1442
  export interface DraftList {
1405
1443
  object: ListObject;
1406
1444
  data: Draft[];
@@ -1453,7 +1491,8 @@ export interface Release {
1453
1491
  origin: "typeship" | "imported";
1454
1492
  /** Immutable package version released from this Target. */
1455
1493
  version: string;
1456
- channel: "stable" | "prerelease";
1494
+ /** The Target's release_channel when this version was released. */
1495
+ release_channel: "stable" | "prerelease";
1457
1496
  repository: RepositoryReferenceResponse | null;
1458
1497
  spec_revision_id: SpecRevisionId | null;
1459
1498
  /**
@@ -1484,9 +1523,19 @@ export interface Release {
1484
1523
  imported_at: string | null;
1485
1524
  }
1486
1525
  | null;
1526
+ /**
1527
+ * One entry per destination Typeship has attempted to publish. Empty when publishing is off for
1528
+ * the Target's repository Delivery.
1529
+ */
1487
1530
  publications: Publication[];
1488
1531
  /** Format: date-time */
1489
1532
  created_at: string;
1533
+ /**
1534
+ * When a Publication of this release last changed. The version, commit, and checks never change
1535
+ * after the release is created.
1536
+ * Format: date-time
1537
+ */
1538
+ updated_at: string;
1490
1539
  request_id?: RequestId;
1491
1540
  }
1492
1541
 
@@ -1500,7 +1549,8 @@ export interface ReleaseRead {
1500
1549
  origin: ("typeship" | "imported") | (string & {});
1501
1550
  /** Immutable package version released from this Target. */
1502
1551
  version: string;
1503
- channel: ("stable" | "prerelease") | (string & {});
1552
+ /** The Target's release_channel when this version was released. */
1553
+ release_channel: ("stable" | "prerelease") | (string & {});
1504
1554
  repository: RepositoryReferenceResponseRead | null;
1505
1555
  spec_revision_id: SpecRevisionId | null;
1506
1556
  /**
@@ -1531,9 +1581,19 @@ export interface ReleaseRead {
1531
1581
  imported_at: string | null;
1532
1582
  }
1533
1583
  | null;
1584
+ /**
1585
+ * One entry per destination Typeship has attempted to publish. Empty when publishing is off for
1586
+ * the Target's repository Delivery.
1587
+ */
1534
1588
  publications: PublicationRead[];
1535
1589
  /** Format: date-time */
1536
1590
  created_at: string;
1591
+ /**
1592
+ * When a Publication of this release last changed. The version, commit, and checks never change
1593
+ * after the release is created.
1594
+ * Format: date-time
1595
+ */
1596
+ updated_at: string;
1537
1597
  request_id?: RequestId;
1538
1598
  }
1539
1599
 
@@ -1559,12 +1619,20 @@ export interface ReleaseListRead {
1559
1619
  request_id: RequestId;
1560
1620
  }
1561
1621
 
1622
+ /** One destination's publishing progress for its Release. It has no ID; read it on the Release. */
1562
1623
  export interface Publication {
1563
- id: PublicationId;
1564
- object: "publication";
1565
- release_id: ReleaseId;
1566
- destination: "github" | "npm" | "pypi" | "go" | "mcp";
1567
- status: "pending" | "publishing" | "published" | "failed" | "disabled";
1624
+ /**
1625
+ * Where the release is published. github is the repository's GitHub Release; the others are
1626
+ * package registries.
1627
+ */
1628
+ type: "github" | "npm" | "pypi" | "go" | "mcp";
1629
+ /**
1630
+ * queued: the repository workflow has not started this destination; get the Publication or its
1631
+ * Release again. running: the workflow is publishing; get it again. completed: the package is
1632
+ * published at registry_url. failed: read errors, correct the cause, then retry the Release.
1633
+ * Lifecycle events are publication.running, publication.completed, and publication.failed.
1634
+ */
1635
+ status: "queued" | "running" | "completed" | "failed";
1568
1636
  attempt: number;
1569
1637
  /** Format: uri */
1570
1638
  run_url: string | null;
@@ -1587,11 +1655,18 @@ export interface Publication {
1587
1655
 
1588
1656
  /** Response shape for Publication. */
1589
1657
  export interface PublicationRead {
1590
- id: PublicationId;
1591
- object: "publication" | (string & {});
1592
- release_id: ReleaseId;
1593
- destination: ("github" | "npm" | "pypi" | "go" | "mcp") | (string & {});
1594
- status: ("pending" | "publishing" | "published" | "failed" | "disabled") | (string & {});
1658
+ /**
1659
+ * Where the release is published. github is the repository's GitHub Release; the others are
1660
+ * package registries.
1661
+ */
1662
+ type: ("github" | "npm" | "pypi" | "go" | "mcp") | (string & {});
1663
+ /**
1664
+ * queued: the repository workflow has not started this destination; get the Publication or its
1665
+ * Release again. running: the workflow is publishing; get it again. completed: the package is
1666
+ * published at registry_url. failed: read errors, correct the cause, then retry the Release.
1667
+ * Lifecycle events are publication.running, publication.completed, and publication.failed.
1668
+ */
1669
+ status: ("queued" | "running" | "completed" | "failed") | (string & {});
1595
1670
  attempt: number;
1596
1671
  /** Format: uri */
1597
1672
  run_url: string | null;
@@ -1612,20 +1687,15 @@ export interface PublicationRead {
1612
1687
  updated_at: string;
1613
1688
  }
1614
1689
 
1615
- export type PublicationResponse = Publication & ResponseMetadata;
1616
-
1617
- /** Response shape for PublicationResponse. */
1618
- export type PublicationResponseRead = PublicationRead & ResponseMetadata;
1619
-
1620
1690
  /**
1621
- * none: the open Draft has no pending change; generate the Target to start one. working: Typeship
1691
+ * idle: the open Draft has no pending change; generate the Target to start one. working: Typeship
1622
1692
  * is generating, carrying repository edits forward, applying decisions, or checking the Draft;
1623
1693
  * retrieve it again. action_required: use the typed reason to find the customer's next action.
1624
1694
  * ready: required checks passed on head_sha; merge the pull request. merged: the pull request
1625
1695
  * merged and the Draft is final; retrieve the Target for the draft_id of its next Draft.
1626
1696
  */
1627
1697
  export const DraftStatus = {
1628
- NONE: "none",
1698
+ IDLE: "idle",
1629
1699
  WORKING: "working",
1630
1700
  ACTION_REQUIRED: "action_required",
1631
1701
  READY: "ready",
@@ -1635,8 +1705,8 @@ export type DraftStatus = (typeof DraftStatus)[keyof typeof DraftStatus];
1635
1705
 
1636
1706
  /**
1637
1707
  * conflict: resolve the listed files. checks_failed: correct failed package checks. review_failed:
1638
- * correct the Draft title, version, or other readiness finding. checks_unavailable: restore a
1639
- * required check. history_rewritten: review the affected files and approve recovery.
1708
+ * correct the Draft title or version. checks_unavailable: restore a required check.
1709
+ * history_rewritten: review the affected files and approve recovery.
1640
1710
  */
1641
1711
  export const DraftActionReason = {
1642
1712
  CONFLICT: "conflict",
@@ -1664,65 +1734,52 @@ export interface DraftHistoryRecovery {
1664
1734
  preserved_branch: string | null;
1665
1735
  }
1666
1736
 
1667
- /**
1668
- * Readiness decision for the Draft's head_sha. Null readiness on the Draft means no Draft has been
1669
- * generated.
1670
- */
1671
- export interface DraftReadiness {
1737
+ /** Comparison of the Draft's head_sha with the latest release. */
1738
+ export interface DraftCompatibility {
1739
+ /** API surface comparison. unknown means analysis is unavailable. */
1740
+ api: "compatible" | "breaking" | "unknown";
1672
1741
  /**
1673
- * success means required checks passed; failure means the Draft needs correction or review; error
1674
- * means assessment could not finish; pending means checks have not finished.
1742
+ * Package and supported SDK source comparison. unknown means analysis is incomplete or
1743
+ * unavailable.
1675
1744
  */
1676
- status: "success" | "failure" | "error" | "pending";
1677
- /** Human-readable explanation of the current decision. Do not parse it for control flow. */
1678
- description: string;
1679
- /** API surface comparison against the latest release. unknown means analysis is unavailable. */
1680
- compatibility_api: "compatible" | "breaking" | "unknown";
1745
+ package: "compatible" | "breaking" | "unknown";
1746
+ }
1747
+
1748
+ /** Response shape for DraftCompatibility. */
1749
+ export interface DraftCompatibilityRead {
1750
+ /** API surface comparison. unknown means analysis is unavailable. */
1751
+ api: ("compatible" | "breaking" | "unknown") | (string & {});
1681
1752
  /**
1682
- * Package and supported SDK source comparison against the latest release. unknown means analysis
1683
- * is incomplete or unavailable.
1753
+ * Package and supported SDK source comparison. unknown means analysis is incomplete or
1754
+ * unavailable.
1684
1755
  */
1685
- compatibility_package: "compatible" | "breaking" | "unknown";
1686
- /** Whether the version satisfies the assessed change. Null when no verdict is available. */
1687
- version_correct: boolean | null;
1756
+ package: ("compatible" | "breaking" | "unknown") | (string & {});
1757
+ }
1758
+
1759
+ /** How version_next relates to the assessed change. */
1760
+ export interface DraftVersion {
1688
1761
  /**
1689
1762
  * Minimum assessed version bump. Approval never waives an insufficient bump. Null when no bump
1690
1763
  * has been determined.
1691
1764
  */
1692
1765
  bump_required: "major" | "minor" | "patch" | null;
1766
+ /** Whether version_next satisfies the assessed change. Null when no verdict is available. */
1767
+ correct: boolean | null;
1693
1768
  /** Latest release version used for the comparison. Null before the first release. */
1694
- version_previous: string | null;
1695
- /** Draft title error that must be corrected before release. Null when none is recorded. */
1696
- title_error: string | null;
1769
+ previous: string | null;
1697
1770
  }
1698
1771
 
1699
- /** Response shape for DraftReadiness. */
1700
- export interface DraftReadinessRead {
1701
- /**
1702
- * success means required checks passed; failure means the Draft needs correction or review; error
1703
- * means assessment could not finish; pending means checks have not finished.
1704
- */
1705
- status: ("success" | "failure" | "error" | "pending") | (string & {});
1706
- /** Human-readable explanation of the current decision. Do not parse it for control flow. */
1707
- description: string;
1708
- /** API surface comparison against the latest release. unknown means analysis is unavailable. */
1709
- compatibility_api: ("compatible" | "breaking" | "unknown") | (string & {});
1710
- /**
1711
- * Package and supported SDK source comparison against the latest release. unknown means analysis
1712
- * is incomplete or unavailable.
1713
- */
1714
- compatibility_package: ("compatible" | "breaking" | "unknown") | (string & {});
1715
- /** Whether the version satisfies the assessed change. Null when no verdict is available. */
1716
- version_correct: boolean | null;
1772
+ /** Response shape for DraftVersion. */
1773
+ export interface DraftVersionRead {
1717
1774
  /**
1718
1775
  * Minimum assessed version bump. Approval never waives an insufficient bump. Null when no bump
1719
1776
  * has been determined.
1720
1777
  */
1721
1778
  bump_required: ("major" | "minor" | "patch" | null) | (string & {}) | null;
1779
+ /** Whether version_next satisfies the assessed change. Null when no verdict is available. */
1780
+ correct: boolean | null;
1722
1781
  /** Latest release version used for the comparison. Null before the first release. */
1723
- version_previous: string | null;
1724
- /** Draft title error that must be corrected before release. Null when none is recorded. */
1725
- title_error: string | null;
1782
+ previous: string | null;
1726
1783
  }
1727
1784
 
1728
1785
  /**
@@ -1742,17 +1799,24 @@ export interface Draft {
1742
1799
  version_next: string | null;
1743
1800
  /** Where version_next was selected; null once the Draft merged. */
1744
1801
  version_source: "automatic" | "console" | "api" | "github" | null;
1745
- readiness: DraftReadiness | null;
1802
+ /** Null until the Draft has a generated change, and on a merged Draft. */
1803
+ compatibility: DraftCompatibility | null;
1804
+ /** Null until the Draft has a generated change, and on a merged Draft. */
1805
+ version: DraftVersion | null;
1806
+ /**
1807
+ * What blocks the Draft, one entry per finding, each with a code and suggested_action. Empty
1808
+ * unless status is action_required.
1809
+ */
1810
+ errors: ErrorDetail[];
1746
1811
  changes: {
1747
1812
  /** Cumulative changelog against the latest release. */
1748
1813
  changelog?: string | null;
1749
1814
  breaking_count?: number | null;
1750
- version_previous?: string | null;
1751
1815
  }
1752
1816
  | null;
1753
1817
  /**
1754
- * Draft commit that readiness, checks, and conflicts describe. Send it as expected_head_sha when
1755
- * resolving or discarding.
1818
+ * Draft commit that compatibility, version, checks, and conflicts describe. Send it as
1819
+ * expected_head_sha when resolving or discarding.
1756
1820
  */
1757
1821
  head_sha: string | null;
1758
1822
  /** The Draft pull request in the destination repository, or null before one is opened. */
@@ -1801,17 +1865,24 @@ export interface DraftRead {
1801
1865
  version_next: string | null;
1802
1866
  /** Where version_next was selected; null once the Draft merged. */
1803
1867
  version_source: ("automatic" | "console" | "api" | "github" | null) | (string & {}) | null;
1804
- readiness: DraftReadinessRead | null;
1868
+ /** Null until the Draft has a generated change, and on a merged Draft. */
1869
+ compatibility: DraftCompatibilityRead | null;
1870
+ /** Null until the Draft has a generated change, and on a merged Draft. */
1871
+ version: DraftVersionRead | null;
1872
+ /**
1873
+ * What blocks the Draft, one entry per finding, each with a code and suggested_action. Empty
1874
+ * unless status is action_required.
1875
+ */
1876
+ errors: ErrorDetailRead[];
1805
1877
  changes: {
1806
1878
  /** Cumulative changelog against the latest release. */
1807
1879
  changelog?: string | null;
1808
1880
  breaking_count?: number | null;
1809
- version_previous?: string | null;
1810
1881
  }
1811
1882
  | null;
1812
1883
  /**
1813
- * Draft commit that readiness, checks, and conflicts describe. Send it as expected_head_sha when
1814
- * resolving or discarding.
1884
+ * Draft commit that compatibility, version, checks, and conflicts describe. Send it as
1885
+ * expected_head_sha when resolving or discarding.
1815
1886
  */
1816
1887
  head_sha: string | null;
1817
1888
  /** The Draft pull request in the destination repository, or null before one is opened. */
@@ -2034,7 +2105,7 @@ export interface Project {
2034
2105
  * Format: date-time
2035
2106
  */
2036
2107
  updated_at: string;
2037
- request_id: RequestId;
2108
+ request_id?: RequestId;
2038
2109
  }
2039
2110
 
2040
2111
  /** Request shape for Project. */
@@ -2051,7 +2122,7 @@ export interface ProjectWrite {
2051
2122
  * settings remain Spec-owned.
2052
2123
  */
2053
2124
  config: ProjectConfigResponse | null;
2054
- request_id: RequestId;
2125
+ request_id?: RequestId;
2055
2126
  }
2056
2127
 
2057
2128
  /** Response shape for Project. */
@@ -2077,37 +2148,16 @@ export interface ProjectRead {
2077
2148
  * Format: date-time
2078
2149
  */
2079
2150
  updated_at: string;
2080
- request_id: RequestId;
2151
+ request_id?: RequestId;
2081
2152
  }
2082
2153
 
2083
- /**
2084
- * Lean Project identity returned by collection endpoints. Retrieve the Project for shared
2085
- * configuration and list its Targets for the complete canonical child collection.
2086
- */
2087
- export interface ProjectSummary {
2088
- id: ProjectId;
2089
- object: "project";
2090
- name: string;
2091
- spec_id: SpecId;
2092
- auto_generate: boolean;
2093
- /** Format: date-time */
2094
- created_at: string;
2095
- /** Format: date-time */
2096
- updated_at: string;
2097
- }
2154
+ export type ProjectResponse = Project & ResponseMetadata;
2098
2155
 
2099
- /** Response shape for ProjectSummary. */
2100
- export interface ProjectSummaryRead {
2101
- id: ProjectId;
2102
- object: "project" | (string & {});
2103
- name: string;
2104
- spec_id: SpecId;
2105
- auto_generate: boolean;
2106
- /** Format: date-time */
2107
- created_at: string;
2108
- /** Format: date-time */
2109
- updated_at: string;
2110
- }
2156
+ /** Request shape for ProjectResponse. */
2157
+ export type ProjectResponseWrite = ProjectWrite & ResponseMetadata;
2158
+
2159
+ /** Response shape for ProjectResponse. */
2160
+ export type ProjectResponseRead = ProjectRead & ResponseMetadata;
2111
2161
 
2112
2162
  export interface CreateProjectRequest {
2113
2163
  name: string;
@@ -2340,6 +2390,25 @@ export interface AuthenticationConfig {
2340
2390
  approval_url?: string | null;
2341
2391
  /** Authentication selections keyed by generated API environment name. */
2342
2392
  environments?: Record<string, AuthenticationEnvironment> | null;
2393
+ /**
2394
+ * Environment variables the generated CLI, MCP server, and SDK environment fallbacks read, keyed
2395
+ * by security scheme name. A string names the token or key variable; a Basic scheme takes {
2396
+ * username, password }. Wins over the scheme's x-typeship-env extension. Without either, names
2397
+ * derive from the package and scheme.
2398
+ */
2399
+ credential_variables?: Record<string, string | {
2400
+ username: string;
2401
+ password: string;
2402
+ }>
2403
+ | null;
2404
+ /**
2405
+ * Whether a parameter carries the operation's credential, keyed by operationId, "METHOD /path",
2406
+ * or "*" for every operation, then by the parameter's wire name. true leaves the parameter out of
2407
+ * generated signatures, CLI flags, and MCP tool input, because the configured credential already
2408
+ * reaches the API; false keeps it. Wins over the parameter's x-typeship-credential extension and
2409
+ * the generator's inference.
2410
+ */
2411
+ credential_parameters?: Record<string, Record<string, boolean>> | null;
2343
2412
  }
2344
2413
 
2345
2414
  export interface TargetAuthenticationEnvironment {
@@ -2561,6 +2630,13 @@ export interface ReadmeBehavior {
2561
2630
  * destination.
2562
2631
  */
2563
2632
  export interface PackageBehavior {
2633
+ /**
2634
+ * The API's name as generated READMEs, AGENTS.md, package descriptions, and help text show it,
2635
+ * such as "Parcel" for a Spec titled "Parcel - Public API". Display only: package, client, and
2636
+ * command names still come from the Spec. Defaults to the Spec title with common noise removed
2637
+ * ("Parcel - API" shows as Parcel).
2638
+ */
2639
+ title?: string | null;
2564
2640
  /** Homepage written into registry metadata. */
2565
2641
  homepage?: string | null;
2566
2642
  /** SPDX identifier written into registry metadata. Defaults to info.license. */
@@ -2589,6 +2665,16 @@ export interface Config {
2589
2665
  * are reported as generation warnings.
2590
2666
  */
2591
2667
  globals?: string[];
2668
+ /**
2669
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2670
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2671
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2672
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2673
+ * generation warnings.
2674
+ */
2675
+ include?: string[];
2676
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2677
+ exclude?: string[];
2592
2678
  retries?: RetryTuning;
2593
2679
  /**
2594
2680
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2623,6 +2709,16 @@ export interface ConfigRead {
2623
2709
  * are reported as generation warnings.
2624
2710
  */
2625
2711
  globals?: string[];
2712
+ /**
2713
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2714
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2715
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2716
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2717
+ * generation warnings.
2718
+ */
2719
+ include?: string[];
2720
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2721
+ exclude?: string[];
2626
2722
  retries?: RetryTuning;
2627
2723
  /**
2628
2724
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2662,6 +2758,16 @@ export interface ProjectConfig {
2662
2758
  * are reported as generation warnings.
2663
2759
  */
2664
2760
  globals?: string[];
2761
+ /**
2762
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2763
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2764
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2765
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2766
+ * generation warnings.
2767
+ */
2768
+ include?: string[];
2769
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2770
+ exclude?: string[];
2665
2771
  retries?: RetryTuning;
2666
2772
  /**
2667
2773
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2695,6 +2801,16 @@ export interface ProjectConfigRead {
2695
2801
  * are reported as generation warnings.
2696
2802
  */
2697
2803
  globals?: string[];
2804
+ /**
2805
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2806
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2807
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2808
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2809
+ * generation warnings.
2810
+ */
2811
+ include?: string[];
2812
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2813
+ exclude?: string[];
2698
2814
  retries?: RetryTuning;
2699
2815
  /**
2700
2816
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2732,6 +2848,16 @@ export interface TargetConfig {
2732
2848
  * are reported as generation warnings.
2733
2849
  */
2734
2850
  globals?: string[];
2851
+ /**
2852
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2853
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2854
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2855
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2856
+ * generation warnings.
2857
+ */
2858
+ include?: string[];
2859
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2860
+ exclude?: string[];
2735
2861
  retries?: RetryTuning;
2736
2862
  /**
2737
2863
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2765,6 +2891,16 @@ export interface TargetConfigRead {
2765
2891
  * are reported as generation warnings.
2766
2892
  */
2767
2893
  globals?: string[];
2894
+ /**
2895
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
2896
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
2897
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
2898
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
2899
+ * generation warnings.
2900
+ */
2901
+ include?: string[];
2902
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
2903
+ exclude?: string[];
2768
2904
  retries?: RetryTuning;
2769
2905
  /**
2770
2906
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -2809,14 +2945,21 @@ export interface GraphqlSettings {
2809
2945
  }>;
2810
2946
  /**
2811
2947
  * How requests authenticate. bearer sends Authorization: Bearer; basic is for key-pair APIs
2812
- * (public key as username, private key as password); api_key sends a header named by
2813
- * api_key_header; none generates no auth option.
2948
+ * (public key as username, private key as password); basic_api_key sends one API key as the
2949
+ * Basic-auth username with an empty password; api_key sends a header named by api_key_header;
2950
+ * api_key_or_bearer sends a key in api_key_header (Authorization for a raw key) and also accepts
2951
+ * an OAuth access token as Authorization: Bearer; none generates no auth option.
2814
2952
  * Default: "bearer"
2815
2953
  */
2816
- auth?: "bearer" | "basic" | "api_key" | "none";
2954
+ auth?: "bearer"
2955
+ | "basic"
2956
+ | "basic_api_key"
2957
+ | "api_key"
2958
+ | "api_key_or_bearer"
2959
+ | "none";
2817
2960
  /**
2818
- * Header carrying the key when auth is api_key. Required for that mode; Typeship does not invent
2819
- * a vendor-specific header name.
2961
+ * Header carrying the key when auth is api_key or api_key_or_bearer. Required for those modes;
2962
+ * Typeship does not invent a vendor-specific header name.
2820
2963
  */
2821
2964
  api_key_header?: string;
2822
2965
  /**
@@ -2829,6 +2972,20 @@ export interface GraphqlSettings {
2829
2972
  * generate as the language's untyped JSON value and produce a warning. Unmatched keys warn.
2830
2973
  */
2831
2974
  scalars?: Record<string, "string" | "integer" | "number" | "boolean" | "json">;
2975
+ /**
2976
+ * Object types that report a failure when an operation's union or interface result resolves to
2977
+ * them (errors returned as data). Replaces the default, which is every member whose name ends in
2978
+ * Error when the result can also be something else. An empty array treats no result as a failure.
2979
+ * Names that are not object types in the schema produce a generation warning.
2980
+ */
2981
+ error_types?: string[];
2982
+ /**
2983
+ * Page size a paginated connection call sends as first when the caller passes neither first nor
2984
+ * last. Relay servers such as GitHub reject a connection query without one. Ignored for a
2985
+ * connection whose first argument has a schema default.
2986
+ * Default: 100
2987
+ */
2988
+ page_size?: number;
2832
2989
  }
2833
2990
 
2834
2991
  /** Response shape for GraphqlSettings. */
@@ -2850,14 +3007,21 @@ export interface GraphqlSettingsRead {
2850
3007
  }>;
2851
3008
  /**
2852
3009
  * How requests authenticate. bearer sends Authorization: Bearer; basic is for key-pair APIs
2853
- * (public key as username, private key as password); api_key sends a header named by
2854
- * api_key_header; none generates no auth option.
3010
+ * (public key as username, private key as password); basic_api_key sends one API key as the
3011
+ * Basic-auth username with an empty password; api_key sends a header named by api_key_header;
3012
+ * api_key_or_bearer sends a key in api_key_header (Authorization for a raw key) and also accepts
3013
+ * an OAuth access token as Authorization: Bearer; none generates no auth option.
2855
3014
  * Default: "bearer"
2856
3015
  */
2857
- auth?: ("bearer" | "basic" | "api_key" | "none") | (string & {});
3016
+ auth?: ("bearer"
3017
+ | "basic"
3018
+ | "basic_api_key"
3019
+ | "api_key"
3020
+ | "api_key_or_bearer"
3021
+ | "none") | (string & {});
2858
3022
  /**
2859
- * Header carrying the key when auth is api_key. Required for that mode; Typeship does not invent
2860
- * a vendor-specific header name.
3023
+ * Header carrying the key when auth is api_key or api_key_or_bearer. Required for those modes;
3024
+ * Typeship does not invent a vendor-specific header name.
2861
3025
  */
2862
3026
  api_key_header?: string;
2863
3027
  /**
@@ -2870,6 +3034,20 @@ export interface GraphqlSettingsRead {
2870
3034
  * generate as the language's untyped JSON value and produce a warning. Unmatched keys warn.
2871
3035
  */
2872
3036
  scalars?: Record<string, ("string" | "integer" | "number" | "boolean" | "json") | (string & {})>;
3037
+ /**
3038
+ * Object types that report a failure when an operation's union or interface result resolves to
3039
+ * them (errors returned as data). Replaces the default, which is every member whose name ends in
3040
+ * Error when the result can also be something else. An empty array treats no result as a failure.
3041
+ * Names that are not object types in the schema produce a generation warning.
3042
+ */
3043
+ error_types?: string[];
3044
+ /**
3045
+ * Page size a paginated connection call sends as first when the caller passes neither first nor
3046
+ * last. Relay servers such as GitHub reject a connection query without one. Ignored for a
3047
+ * connection whose first argument has a schema default.
3048
+ * Default: 100
3049
+ */
3050
+ page_size?: number;
2873
3051
  }
2874
3052
 
2875
3053
  /**
@@ -2918,19 +3096,6 @@ export interface PaginationRuleRead {
2918
3096
  limit_param?: string;
2919
3097
  }
2920
3098
 
2921
- export interface FileStub {
2922
- path: string;
2923
- bytes: number;
2924
- mode: "100644" | "100755";
2925
- }
2926
-
2927
- /** Response shape for FileStub. */
2928
- export interface FileStubRead {
2929
- path: string;
2930
- bytes: number;
2931
- mode: ("100644" | "100755") | (string & {});
2932
- }
2933
-
2934
3099
  /**
2935
3100
  * A Generation moves from queued to running, then completes when its files are saved or fails.
2936
3101
  * Delivery and Draft status are separate.
@@ -3042,15 +3207,6 @@ export interface GenerationRead {
3042
3207
  updated_at: string;
3043
3208
  }
3044
3209
 
3045
- /** Generation metadata returned by collection endpoints. */
3046
- export type GenerationSummary = Generation;
3047
-
3048
- /** Request shape for GenerationSummary. */
3049
- export type GenerationSummaryWrite = GenerationWrite;
3050
-
3051
- /** Response shape for GenerationSummary. */
3052
- export type GenerationSummaryRead = GenerationRead;
3053
-
3054
3210
  export type GenerationResponse = Generation & ResponseMetadata;
3055
3211
 
3056
3212
  /** Request shape for GenerationResponse. */
@@ -3059,42 +3215,24 @@ export type GenerationResponseWrite = GenerationWrite & ResponseMetadata;
3059
3215
  /** Response shape for GenerationResponse. */
3060
3216
  export type GenerationResponseRead = GenerationRead & ResponseMetadata;
3061
3217
 
3062
- /** A selected target that did not generate in a multi-target run. */
3063
- export interface GenerationFailure {
3064
- target_id: TargetId;
3065
- type: GeneratorKind;
3066
- status: "failed";
3067
- /** Recorded failures. Empty when this resource has no recorded failure. */
3068
- errors: DomainError[];
3069
- }
3070
-
3071
- /** Response shape for GenerationFailure. */
3072
- export interface GenerationFailureRead {
3073
- target_id: TargetId;
3074
- type: GeneratorKind | (string & {});
3075
- status: "failed" | (string & {});
3076
- /** Recorded failures. Empty when this resource has no recorded failure. */
3077
- errors: DomainErrorRead[];
3078
- }
3079
-
3080
3218
  /**
3081
3219
  * One Generation per selected Target. Retrieve each Generation for current status and generated
3082
3220
  * files.
3083
3221
  */
3084
3222
  export interface GenerationBatch {
3085
- data: GenerationSummary[];
3223
+ data: Generation[];
3086
3224
  request_id: RequestId;
3087
3225
  }
3088
3226
 
3089
3227
  /** Request shape for GenerationBatch. */
3090
3228
  export interface GenerationBatchWrite {
3091
- data: GenerationSummaryWrite[];
3229
+ data: GenerationWrite[];
3092
3230
  request_id: RequestId;
3093
3231
  }
3094
3232
 
3095
3233
  /** Response shape for GenerationBatch. */
3096
3234
  export interface GenerationBatchRead {
3097
- data: GenerationSummaryRead[];
3235
+ data: GenerationRead[];
3098
3236
  request_id: RequestId;
3099
3237
  }
3100
3238
 
@@ -3104,7 +3242,11 @@ export interface ApiKey {
3104
3242
  name: string;
3105
3243
  /** Last four characters of the secret; the secret itself is never stored. */
3106
3244
  last4: string;
3107
- revoked: boolean;
3245
+ /**
3246
+ * active: the key authenticates requests. revoked: it no longer does and cannot be restored;
3247
+ * create a new key in the Console or with typeship login.
3248
+ */
3249
+ status: "active" | "revoked";
3108
3250
  /** Format: date-time */
3109
3251
  last_used_at: string | null;
3110
3252
  /** Format: date-time */
@@ -3124,7 +3266,11 @@ export interface ApiKeyRead {
3124
3266
  name: string;
3125
3267
  /** Last four characters of the secret; the secret itself is never stored. */
3126
3268
  last4: string;
3127
- revoked: boolean;
3269
+ /**
3270
+ * active: the key authenticates requests. revoked: it no longer does and cannot be restored;
3271
+ * create a new key in the Console or with typeship login.
3272
+ */
3273
+ status: ("active" | "revoked") | (string & {});
3128
3274
  /** Format: date-time */
3129
3275
  last_used_at: string | null;
3130
3276
  /** Format: date-time */
@@ -3150,15 +3296,6 @@ export interface UrlSpecRevisionSource {
3150
3296
  };
3151
3297
  }
3152
3298
 
3153
- /** Response shape for UrlSpecRevisionSource. */
3154
- export interface UrlSpecRevisionSourceRead {
3155
- type: "url" | (string & {});
3156
- url: {
3157
- /** Format: uri */
3158
- url: string;
3159
- };
3160
- }
3161
-
3162
3299
  export interface RepositorySpecRevisionSource {
3163
3300
  type: "repository";
3164
3301
  repository: {
@@ -3175,7 +3312,7 @@ export interface RepositorySpecRevisionSource {
3175
3312
 
3176
3313
  /** Response shape for RepositorySpecRevisionSource. */
3177
3314
  export interface RepositorySpecRevisionSourceRead {
3178
- type: "repository" | (string & {});
3315
+ type: "repository";
3179
3316
  repository: {
3180
3317
  provider: RepositoryProvider | (string & {});
3181
3318
  identifier: RepositoryIdentifier;
@@ -3191,9 +3328,9 @@ export interface RepositorySpecRevisionSourceRead {
3191
3328
  export type SpecRevisionSource = UrlSpecRevisionSource | RepositorySpecRevisionSource;
3192
3329
 
3193
3330
  /** Response shape for SpecRevisionSource. */
3194
- export type SpecRevisionSourceRead = UrlSpecRevisionSourceRead
3331
+ export type SpecRevisionSourceRead = UrlSpecRevisionSource
3195
3332
  | RepositorySpecRevisionSourceRead
3196
- | Record<string, unknown> & { type?: string };
3333
+ | UnknownVariant<"type">;
3197
3334
 
3198
3335
  export interface SpecRevision {
3199
3336
  id: SpecRevisionId;
@@ -3257,7 +3394,18 @@ export type SpecRevisionResponseRead = SpecRevisionRead & ResponseMetadata;
3257
3394
 
3258
3395
  export interface ProjectList {
3259
3396
  object: ListObject;
3260
- data: ProjectSummary[];
3397
+ data: Project[];
3398
+ /** Whether another page is available after this one. */
3399
+ has_more: boolean;
3400
+ /** Pass this value as cursor to retrieve the next page; null on the last page. */
3401
+ next_cursor: string | null;
3402
+ request_id: RequestId;
3403
+ }
3404
+
3405
+ /** Request shape for ProjectList. */
3406
+ export interface ProjectListWrite {
3407
+ object: ListObject;
3408
+ data: ProjectWrite[];
3261
3409
  /** Whether another page is available after this one. */
3262
3410
  has_more: boolean;
3263
3411
  /** Pass this value as cursor to retrieve the next page; null on the last page. */
@@ -3268,7 +3416,7 @@ export interface ProjectList {
3268
3416
  /** Response shape for ProjectList. */
3269
3417
  export interface ProjectListRead {
3270
3418
  object: ListObject;
3271
- data: ProjectSummaryRead[];
3419
+ data: ProjectRead[];
3272
3420
  /** Whether another page is available after this one. */
3273
3421
  has_more: boolean;
3274
3422
  /** Pass this value as cursor to retrieve the next page; null on the last page. */
@@ -3278,7 +3426,7 @@ export interface ProjectListRead {
3278
3426
 
3279
3427
  export interface GenerationList {
3280
3428
  object: ListObject;
3281
- data: GenerationSummary[];
3429
+ data: Generation[];
3282
3430
  /** Whether another page is available after this one. */
3283
3431
  has_more: boolean;
3284
3432
  /** Pass this value as cursor to retrieve the next page; null on the last page. */
@@ -3289,7 +3437,7 @@ export interface GenerationList {
3289
3437
  /** Request shape for GenerationList. */
3290
3438
  export interface GenerationListWrite {
3291
3439
  object: ListObject;
3292
- data: GenerationSummaryWrite[];
3440
+ data: GenerationWrite[];
3293
3441
  /** Whether another page is available after this one. */
3294
3442
  has_more: boolean;
3295
3443
  /** Pass this value as cursor to retrieve the next page; null on the last page. */
@@ -3300,7 +3448,7 @@ export interface GenerationListWrite {
3300
3448
  /** Response shape for GenerationList. */
3301
3449
  export interface GenerationListRead {
3302
3450
  object: ListObject;
3303
- data: GenerationSummaryRead[];
3451
+ data: GenerationRead[];
3304
3452
  /** Whether another page is available after this one. */
3305
3453
  has_more: boolean;
3306
3454
  /** Pass this value as cursor to retrieve the next page; null on the last page. */
@@ -3400,6 +3548,13 @@ export type ErrorType = (typeof ErrorType)[keyof typeof ErrorType];
3400
3548
  /** Stable programmatic identifier. Do not branch on message. */
3401
3549
  export const ErrorCode = {
3402
3550
  INPUT_INVALID: "input_invalid",
3551
+ INPUT_MISSING: "input_missing",
3552
+ INPUT_TYPE_INVALID: "input_type_invalid",
3553
+ INPUT_FORMAT_INVALID: "input_format_invalid",
3554
+ INPUT_TOO_LONG: "input_too_long",
3555
+ INPUT_TOO_SHORT: "input_too_short",
3556
+ INPUT_DUPLICATE: "input_duplicate",
3557
+ INPUT_UNKNOWN: "input_unknown",
3403
3558
  QUERY_PARAM_INVALID: "query_param_invalid",
3404
3559
  CURSOR_INVALID: "cursor_invalid",
3405
3560
  METHOD_NOT_ALLOWED: "method_not_allowed",
@@ -3414,7 +3569,8 @@ export const ErrorCode = {
3414
3569
  INSUFFICIENT_SCOPE: "insufficient_scope",
3415
3570
  ROLE_INSUFFICIENT: "role_insufficient",
3416
3571
  RATE_LIMIT_EXCEEDED: "rate_limit_exceeded",
3417
- PLAN_LIMIT_REACHED: "plan_limit_reached",
3572
+ FEATURE_NOT_AVAILABLE: "feature_not_available",
3573
+ QUOTA_EXCEEDED: "quota_exceeded",
3418
3574
  SPEC_INVALID: "spec_invalid",
3419
3575
  SPEC_TOO_LARGE: "spec_too_large",
3420
3576
  SPEC_UNREACHABLE: "spec_unreachable",
@@ -3437,8 +3593,11 @@ export const ErrorCode = {
3437
3593
  PUBLICATION_RECOVERY_UNAVAILABLE: "publication_recovery_unavailable",
3438
3594
  PUBLICATION_FAILED: "publication_failed",
3439
3595
  DELIVERY_CONFLICT: "delivery_conflict",
3596
+ DELIVERY_EXISTS: "delivery_exists",
3440
3597
  RESOURCE_HAS_DEPENDENCIES: "resource_has_dependencies",
3441
3598
  CUSTOMIZATION_CONFLICT: "customization_conflict",
3599
+ CHECKS_FAILED: "checks_failed",
3600
+ DRAFT_TITLE_INVALID: "draft_title_invalid",
3442
3601
  HISTORY_RECOVERY_REQUIRED: "history_recovery_required",
3443
3602
  CHECKS_UNAVAILABLE: "checks_unavailable",
3444
3603
  DEPENDENCY_MISSING: "dependency_missing",
@@ -3780,6 +3939,25 @@ export interface AuthenticationConfigResponse {
3780
3939
  approval_url?: string | null;
3781
3940
  /** Authentication selections keyed by generated API environment name. */
3782
3941
  environments?: Record<string, AuthenticationEnvironmentResponse> | null;
3942
+ /**
3943
+ * Environment variables the generated CLI, MCP server, and SDK environment fallbacks read, keyed
3944
+ * by security scheme name. A string names the token or key variable; a Basic scheme takes {
3945
+ * username, password }. Wins over the scheme's x-typeship-env extension. Without either, names
3946
+ * derive from the package and scheme.
3947
+ */
3948
+ credential_variables?: Record<string, string | {
3949
+ username: string;
3950
+ password: string;
3951
+ }>
3952
+ | null;
3953
+ /**
3954
+ * Whether a parameter carries the operation's credential, keyed by operationId, "METHOD /path",
3955
+ * or "*" for every operation, then by the parameter's wire name. true leaves the parameter out of
3956
+ * generated signatures, CLI flags, and MCP tool input, because the configured credential already
3957
+ * reaches the API; false keeps it. Wins over the parameter's x-typeship-credential extension and
3958
+ * the generator's inference.
3959
+ */
3960
+ credential_parameters?: Record<string, Record<string, boolean>> | null;
3783
3961
  }
3784
3962
 
3785
3963
  export interface TargetAuthenticationEnvironmentResponse {
@@ -4001,6 +4179,13 @@ export interface ReadmeBehaviorResponse {
4001
4179
  * destination.
4002
4180
  */
4003
4181
  export interface PackageBehaviorResponse {
4182
+ /**
4183
+ * The API's name as generated READMEs, AGENTS.md, package descriptions, and help text show it,
4184
+ * such as "Parcel" for a Spec titled "Parcel - Public API". Display only: package, client, and
4185
+ * command names still come from the Spec. Defaults to the Spec title with common noise removed
4186
+ * ("Parcel - API" shows as Parcel).
4187
+ */
4188
+ title?: string | null;
4004
4189
  /** Homepage written into registry metadata. */
4005
4190
  homepage?: string | null;
4006
4191
  /** SPDX identifier written into registry metadata. Defaults to info.license. */
@@ -4016,79 +4201,6 @@ export interface PackageBehaviorResponse {
4016
4201
  go_package_name?: string | null;
4017
4202
  }
4018
4203
 
4019
- /**
4020
- * Everything Typeship needs beyond the Spec, in one object: generation customization (globals,
4021
- * retries, pagination, readme) and how the generated tooling behaves (cli, mcp, package, docs_url).
4022
- * Plain configuration. Typeship never requires vendor extensions inside the Spec itself. One-shot
4023
- * generation also accepts GraphQL settings here; stored projects keep those settings on their Spec.
4024
- */
4025
- export interface ConfigResponse {
4026
- /**
4027
- * Wire names of query/header parameters that become settable once on the generated client and
4028
- * auto-apply to every operation that accepts them; per-call values win. Names that match nothing
4029
- * are reported as generation warnings.
4030
- */
4031
- globals?: string[];
4032
- retries?: RetryTuningResponse;
4033
- /**
4034
- * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
4035
- * reported as generation warnings.
4036
- */
4037
- pagination?: Record<string, PaginationRuleResponse | boolean>;
4038
- graphql?: GraphqlSettingsResponse;
4039
- auth?: AuthenticationConfigResponse;
4040
- cli?: CliBehaviorResponse;
4041
- mcp?: McpBehaviorResponse;
4042
- readme?: ReadmeBehaviorResponse;
4043
- package?: PackageBehaviorResponse;
4044
- /**
4045
- * The API's documentation site. Read through its llms.txt by the generated CLI's docs command,
4046
- * the MCP server's docs tools, and the package's AGENTS.md. Defaults to the Spec's externalDocs
4047
- * URL.
4048
- * Format: uri
4049
- */
4050
- docs_url?: string | null;
4051
- /**
4052
- * Exact llms.txt URL when the documentation site does not publish it at docs_url + /llms.txt.
4053
- * Format: uri
4054
- */
4055
- docs_index_url?: string | null;
4056
- }
4057
-
4058
- /** Response shape for ConfigResponse. */
4059
- export interface ConfigResponseRead {
4060
- /**
4061
- * Wire names of query/header parameters that become settable once on the generated client and
4062
- * auto-apply to every operation that accepts them; per-call values win. Names that match nothing
4063
- * are reported as generation warnings.
4064
- */
4065
- globals?: string[];
4066
- retries?: RetryTuningResponse;
4067
- /**
4068
- * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
4069
- * reported as generation warnings.
4070
- */
4071
- pagination?: Record<string, PaginationRuleResponseRead | boolean>;
4072
- graphql?: GraphqlSettingsResponseRead;
4073
- auth?: AuthenticationConfigResponse;
4074
- cli?: CliBehaviorResponse;
4075
- mcp?: McpBehaviorResponseRead;
4076
- readme?: ReadmeBehaviorResponse;
4077
- package?: PackageBehaviorResponse;
4078
- /**
4079
- * The API's documentation site. Read through its llms.txt by the generated CLI's docs command,
4080
- * the MCP server's docs tools, and the package's AGENTS.md. Defaults to the Spec's externalDocs
4081
- * URL.
4082
- * Format: uri
4083
- */
4084
- docs_url?: string | null;
4085
- /**
4086
- * Exact llms.txt URL when the documentation site does not publish it at docs_url + /llms.txt.
4087
- * Format: uri
4088
- */
4089
- docs_index_url?: string | null;
4090
- }
4091
-
4092
4204
  /**
4093
4205
  * Shared generated-client and tooling behavior for a stored Project. Every Target inherits these
4094
4206
  * defaults. Target.config is merged over them for one Target; top-level values replace defaults
@@ -4102,6 +4214,16 @@ export interface ProjectConfigResponse {
4102
4214
  * are reported as generation warnings.
4103
4215
  */
4104
4216
  globals?: string[];
4217
+ /**
4218
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
4219
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
4220
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
4221
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
4222
+ * generation warnings.
4223
+ */
4224
+ include?: string[];
4225
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
4226
+ exclude?: string[];
4105
4227
  retries?: RetryTuningResponse;
4106
4228
  /**
4107
4229
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -4135,6 +4257,16 @@ export interface ProjectConfigResponseRead {
4135
4257
  * are reported as generation warnings.
4136
4258
  */
4137
4259
  globals?: string[];
4260
+ /**
4261
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
4262
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
4263
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
4264
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
4265
+ * generation warnings.
4266
+ */
4267
+ include?: string[];
4268
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
4269
+ exclude?: string[];
4138
4270
  retries?: RetryTuningResponse;
4139
4271
  /**
4140
4272
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -4172,6 +4304,16 @@ export interface TargetConfigResponse {
4172
4304
  * are reported as generation warnings.
4173
4305
  */
4174
4306
  globals?: string[];
4307
+ /**
4308
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
4309
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
4310
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
4311
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
4312
+ * generation warnings.
4313
+ */
4314
+ include?: string[];
4315
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
4316
+ exclude?: string[];
4175
4317
  retries?: RetryTuningResponse;
4176
4318
  /**
4177
4319
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -4205,6 +4347,16 @@ export interface TargetConfigResponseRead {
4205
4347
  * are reported as generation warnings.
4206
4348
  */
4207
4349
  globals?: string[];
4350
+ /**
4351
+ * Generate only matching operations: tag names, or path globs such as `/zones/**` (`*` is one
4352
+ * path segment, `**` any number), optionally after an HTTP method (`DELETE /zones/*`). Applied
4353
+ * before the Spec size limit, with components nothing references any more removed, so a one-shot
4354
+ * run can generate part of a Spec up to 64 MB. Selectors that match nothing are reported as
4355
+ * generation warnings.
4356
+ */
4357
+ include?: string[];
4358
+ /** Leave out matching operations (tag names or path globs, as for `include`). Wins over `include`. */
4359
+ exclude?: string[];
4208
4360
  retries?: RetryTuningResponse;
4209
4361
  /**
4210
4362
  * Per-operation pagination control, keyed by operationId or "METHOD /path". Unmatched keys are
@@ -4249,14 +4401,21 @@ export interface GraphqlSettingsResponse {
4249
4401
  }>;
4250
4402
  /**
4251
4403
  * How requests authenticate. bearer sends Authorization: Bearer; basic is for key-pair APIs
4252
- * (public key as username, private key as password); api_key sends a header named by
4253
- * api_key_header; none generates no auth option.
4404
+ * (public key as username, private key as password); basic_api_key sends one API key as the
4405
+ * Basic-auth username with an empty password; api_key sends a header named by api_key_header;
4406
+ * api_key_or_bearer sends a key in api_key_header (Authorization for a raw key) and also accepts
4407
+ * an OAuth access token as Authorization: Bearer; none generates no auth option.
4254
4408
  * Default: "bearer"
4255
4409
  */
4256
- auth?: "bearer" | "basic" | "api_key" | "none";
4410
+ auth?: "bearer"
4411
+ | "basic"
4412
+ | "basic_api_key"
4413
+ | "api_key"
4414
+ | "api_key_or_bearer"
4415
+ | "none";
4257
4416
  /**
4258
- * Header carrying the key when auth is api_key. Required for that mode; Typeship does not invent
4259
- * a vendor-specific header name.
4417
+ * Header carrying the key when auth is api_key or api_key_or_bearer. Required for those modes;
4418
+ * Typeship does not invent a vendor-specific header name.
4260
4419
  */
4261
4420
  api_key_header?: string;
4262
4421
  /**
@@ -4269,6 +4428,20 @@ export interface GraphqlSettingsResponse {
4269
4428
  * generate as the language's untyped JSON value and produce a warning. Unmatched keys warn.
4270
4429
  */
4271
4430
  scalars?: Record<string, "string" | "integer" | "number" | "boolean" | "json">;
4431
+ /**
4432
+ * Object types that report a failure when an operation's union or interface result resolves to
4433
+ * them (errors returned as data). Replaces the default, which is every member whose name ends in
4434
+ * Error when the result can also be something else. An empty array treats no result as a failure.
4435
+ * Names that are not object types in the schema produce a generation warning.
4436
+ */
4437
+ error_types?: string[];
4438
+ /**
4439
+ * Page size a paginated connection call sends as first when the caller passes neither first nor
4440
+ * last. Relay servers such as GitHub reject a connection query without one. Ignored for a
4441
+ * connection whose first argument has a schema default.
4442
+ * Default: 100
4443
+ */
4444
+ page_size?: number;
4272
4445
  }
4273
4446
 
4274
4447
  /** Response shape for GraphqlSettingsResponse. */
@@ -4290,14 +4463,21 @@ export interface GraphqlSettingsResponseRead {
4290
4463
  }>;
4291
4464
  /**
4292
4465
  * How requests authenticate. bearer sends Authorization: Bearer; basic is for key-pair APIs
4293
- * (public key as username, private key as password); api_key sends a header named by
4294
- * api_key_header; none generates no auth option.
4466
+ * (public key as username, private key as password); basic_api_key sends one API key as the
4467
+ * Basic-auth username with an empty password; api_key sends a header named by api_key_header;
4468
+ * api_key_or_bearer sends a key in api_key_header (Authorization for a raw key) and also accepts
4469
+ * an OAuth access token as Authorization: Bearer; none generates no auth option.
4295
4470
  * Default: "bearer"
4296
4471
  */
4297
- auth?: ("bearer" | "basic" | "api_key" | "none") | (string & {});
4472
+ auth?: ("bearer"
4473
+ | "basic"
4474
+ | "basic_api_key"
4475
+ | "api_key"
4476
+ | "api_key_or_bearer"
4477
+ | "none") | (string & {});
4298
4478
  /**
4299
- * Header carrying the key when auth is api_key. Required for that mode; Typeship does not invent
4300
- * a vendor-specific header name.
4479
+ * Header carrying the key when auth is api_key or api_key_or_bearer. Required for those modes;
4480
+ * Typeship does not invent a vendor-specific header name.
4301
4481
  */
4302
4482
  api_key_header?: string;
4303
4483
  /**
@@ -4310,6 +4490,20 @@ export interface GraphqlSettingsResponseRead {
4310
4490
  * generate as the language's untyped JSON value and produce a warning. Unmatched keys warn.
4311
4491
  */
4312
4492
  scalars?: Record<string, ("string" | "integer" | "number" | "boolean" | "json") | (string & {})>;
4493
+ /**
4494
+ * Object types that report a failure when an operation's union or interface result resolves to
4495
+ * them (errors returned as data). Replaces the default, which is every member whose name ends in
4496
+ * Error when the result can also be something else. An empty array treats no result as a failure.
4497
+ * Names that are not object types in the schema produce a generation warning.
4498
+ */
4499
+ error_types?: string[];
4500
+ /**
4501
+ * Page size a paginated connection call sends as first when the caller passes neither first nor
4502
+ * last. Relay servers such as GitHub reject a connection query without one. Ignored for a
4503
+ * connection whose first argument has a schema default.
4504
+ * Default: 100
4505
+ */
4506
+ page_size?: number;
4313
4507
  }
4314
4508
 
4315
4509
  /**
@@ -4377,19 +4571,6 @@ export const GitFileMode = {
4377
4571
  } as const;
4378
4572
  export type GitFileMode = (typeof GitFileMode)[keyof typeof GitFileMode];
4379
4573
 
4380
- /**
4381
- * One side of a Draft file comparison: base is the last merged version, yours is your repository
4382
- * edit, and generated is the new version Typeship proposes for this conflict stage. The conflict
4383
- * source identifies whether that version comes from a Generation, the default branch, or a saved
4384
- * Draft. Missing sides represent deleted or absent files.
4385
- */
4386
- export const DraftFileSide = {
4387
- BASE: "base",
4388
- YOURS: "yours",
4389
- GENERATED: "generated",
4390
- } as const;
4391
- export type DraftFileSide = (typeof DraftFileSide)[keyof typeof DraftFileSide];
4392
-
4393
4574
  /**
4394
4575
  * File IDs for each side of a conflict or history comparison. null means the file is absent on that
4395
4576
  * side.