@typeship-ax/mcp 0.20.0 → 0.21.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 (53) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.md +1 -1
  3. package/api.json +173 -141
  4. package/api.md +174 -142
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +3 -3
  7. package/dist/mcp.js +1 -1
  8. package/dist/ops.js +22 -22
  9. package/dist/resources/api-keys.d.ts +6 -5
  10. package/dist/resources/api-keys.d.ts.map +1 -1
  11. package/dist/resources/deliveries.d.ts +7 -6
  12. package/dist/resources/deliveries.d.ts.map +1 -1
  13. package/dist/resources/deliveries.js +1 -1
  14. package/dist/resources/drafts.d.ts +12 -10
  15. package/dist/resources/drafts.d.ts.map +1 -1
  16. package/dist/resources/generations.d.ts +12 -10
  17. package/dist/resources/generations.d.ts.map +1 -1
  18. package/dist/resources/projects.d.ts +14 -13
  19. package/dist/resources/projects.d.ts.map +1 -1
  20. package/dist/resources/projects.js +8 -8
  21. package/dist/resources/publications.d.ts +7 -6
  22. package/dist/resources/publications.d.ts.map +1 -1
  23. package/dist/resources/publications.js +1 -1
  24. package/dist/resources/releases.d.ts +8 -6
  25. package/dist/resources/releases.d.ts.map +1 -1
  26. package/dist/resources/releases.js +2 -1
  27. package/dist/resources/spec-revisions.d.ts +12 -10
  28. package/dist/resources/spec-revisions.d.ts.map +1 -1
  29. package/dist/resources/specs.d.ts +2 -1
  30. package/dist/resources/specs.d.ts.map +1 -1
  31. package/dist/resources/specs.js +2 -1
  32. package/dist/resources/targets.d.ts +9 -8
  33. package/dist/resources/targets.d.ts.map +1 -1
  34. package/dist/resources/targets.js +3 -3
  35. package/dist/types.d.ts +41 -28
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js +40 -27
  38. package/package.json +1 -1
  39. package/server.json +2 -2
  40. package/src/index.ts +3 -3
  41. package/src/mcp.ts +1 -1
  42. package/src/ops.ts +22 -22
  43. package/src/resources/api-keys.ts +6 -5
  44. package/src/resources/deliveries.ts +7 -6
  45. package/src/resources/drafts.ts +12 -10
  46. package/src/resources/generations.ts +12 -10
  47. package/src/resources/projects.ts +14 -13
  48. package/src/resources/publications.ts +7 -6
  49. package/src/resources/releases.ts +8 -6
  50. package/src/resources/spec-revisions.ts +12 -10
  51. package/src/resources/specs.ts +2 -1
  52. package/src/resources/targets.ts +9 -8
  53. package/src/types.ts +41 -28
package/api.json CHANGED
@@ -890,7 +890,7 @@
890
890
  "type": "string"
891
891
  },
892
892
  "spec_digest": {
893
- "description": "SHA-256 hex digest of the Spec the SDK was generated from. Must match the resolved Spec, or the request fails with spec_error.",
893
+ "description": "SHA-256 hex digest of the Spec the SDK was generated from. Must match the resolved Spec, or the request fails with spec_invalid.",
894
894
  "pattern": "^[a-f0-9]{64}$",
895
895
  "type": "string"
896
896
  },
@@ -1819,14 +1819,14 @@
1819
1819
  "minimum": 1,
1820
1820
  "maximum": 100,
1821
1821
  "type": "integer",
1822
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
1822
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
1823
1823
  },
1824
1824
  "cursor": {
1825
1825
  "minLength": 1,
1826
1826
  "maxLength": 2048,
1827
1827
  "pattern": "^[A-Za-z0-9_-]+$",
1828
1828
  "type": "string",
1829
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
1829
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
1830
1830
  },
1831
1831
  "fields": {
1832
1832
  "type": "array",
@@ -3128,7 +3128,7 @@
3128
3128
  "method": "DELETE",
3129
3129
  "path": "/projects/{project_id}",
3130
3130
  "summary": "Delete a project",
3131
- "description": "A `502` response means the Project was not deleted because its release pull requests could not be retired. Retry deletion to finish retiring the remaining reviews. Repeating a completed deletion returns `404`.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
3131
+ "description": "A `502 repository_unavailable` means the Project was not deleted because its release pull requests could not be retired. Retry deletion to finish retiring the remaining reviews. Repeating a completed deletion returns `404`.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
3132
3132
  "safety": "destructive",
3133
3133
  "auth": "required",
3134
3134
  "security": [
@@ -3216,7 +3216,7 @@
3216
3216
  "method": "PATCH",
3217
3217
  "path": "/projects/{project_id}",
3218
3218
  "summary": "Update a project",
3219
- "description": "Omitted fields keep their current values. A supplied config replaces the entire stored object; null or an empty object clears it.\nWith auto_generate enabled, changing shared config queues a Generation for each Target whose effective config changes. A queued or running Target reuses that Generation.\nOmitting If-Match applies the update to the current resource; with If-Match, a stale ETag returns 412 precondition_failed without saving.\n\nA `409 target_busy` means a Target is publishing. Retrieve the Project, wait for publishing to finish, reconcile your update, and retry.\nA `502` response means the Project was saved, but an obsolete release pull request could not be retired. Retrieve the Project and retry the same update to finish retiring reviews if that update is still desired.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
3219
+ "description": "Omitted fields keep their current values. A supplied config replaces the entire stored object; null or an empty object clears it.\nWith auto_generate enabled, changing shared config queues a Generation for each Target whose effective config changes. A queued or running Target reuses that Generation.\nOmitting If-Match applies the update to the current resource; with If-Match, a stale ETag returns 412 precondition_failed without saving.\n\nA `409 target_busy` means a Target is publishing. Retrieve the Project, wait for publishing to finish, reconcile your update, and retry.\nA `502 follow_up_failed` means the Project was saved, but an obsolete release pull request could not be retired. Retrieve the Project and retry the same update to finish retiring reviews if that update is still desired.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
3220
3220
  "safety": "write",
3221
3221
  "auth": "required",
3222
3222
  "security": [
@@ -3751,7 +3751,7 @@
3751
3751
  "method": "POST",
3752
3752
  "path": "/projects/{project_id}/generate",
3753
3753
  "summary": "Start generation for active Targets",
3754
- "description": "Queues one Generation per active Target and returns their IDs. Retrieve each Generation until its status moves from `queued` to `running` and then `completed` or `failed`. `completed` means generated files are saved; check Delivery and Draft status separately for repository delivery and pull requests. A Target already queued or running is returned without starting another Generation. A matching Idempotency-Key replay returns the same Generations with their current statuses.\n\nIf the package already matches a destination and no Draft is open, delivery creates no commit, branch, or pull request. An existing Draft stays open. Automatic generation uses the same workflow.",
3754
+ "description": "Queues one Generation per active Target and returns their IDs. Retrieve each Generation until its status moves from `queued` to `running` and then `completed` or `failed`. `completed` means generated files are saved; check Delivery and Draft status separately for repository delivery and pull requests. A Target already queued or running is returned without starting another Generation. A `409 targets_inactive` means the Project has no active Target to generate. A matching Idempotency-Key replay returns the same Generations with their current statuses.\n\nIf the package already matches a destination and no Draft is open, delivery creates no commit, branch, or pull request. An existing Draft stays open. Automatic generation uses the same workflow.",
3755
3755
  "safety": "write",
3756
3756
  "auth": "required",
3757
3757
  "security": [
@@ -4957,7 +4957,7 @@
4957
4957
  "method": "POST",
4958
4958
  "path": "/specs/{spec_id}/refresh",
4959
4959
  "summary": "Refresh a Spec from its configured source",
4960
- "description": "Fetches the configured source now and creates a new Spec Revision only when its content changes. Diagnostics then reads that revision. If automatic generation is enabled, refresh queues generation for active Targets even when the source is unchanged.",
4960
+ "description": "Fetches the configured source now and creates a new Spec Revision only when its content changes. Diagnostics then reads that revision. If automatic generation is enabled, refresh queues generation for active Targets even when the source is unchanged. A `502 follow_up_failed` means the new Spec Revision was recorded but generation could not be queued.",
4961
4961
  "safety": "write",
4962
4962
  "auth": "required",
4963
4963
  "security": [
@@ -5314,14 +5314,14 @@
5314
5314
  "minimum": 1,
5315
5315
  "maximum": 100,
5316
5316
  "type": "integer",
5317
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
5317
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
5318
5318
  },
5319
5319
  "cursor": {
5320
5320
  "minLength": 1,
5321
5321
  "maxLength": 2048,
5322
5322
  "pattern": "^[A-Za-z0-9_-]+$",
5323
5323
  "type": "string",
5324
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
5324
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
5325
5325
  },
5326
5326
  "spec_id": {
5327
5327
  "description": "Unique identifier for a project's logical API Spec.",
@@ -5989,14 +5989,14 @@
5989
5989
  "minimum": 1,
5990
5990
  "maximum": 100,
5991
5991
  "type": "integer",
5992
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
5992
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
5993
5993
  },
5994
5994
  "cursor": {
5995
5995
  "minLength": 1,
5996
5996
  "maxLength": 2048,
5997
5997
  "pattern": "^[A-Za-z0-9_-]+$",
5998
5998
  "type": "string",
5999
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
5999
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
6000
6000
  },
6001
6001
  "fields": {
6002
6002
  "type": "array",
@@ -6135,14 +6135,14 @@
6135
6135
  "minimum": 1,
6136
6136
  "maximum": 100,
6137
6137
  "type": "integer",
6138
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
6138
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
6139
6139
  },
6140
6140
  "cursor": {
6141
6141
  "minLength": 1,
6142
6142
  "maxLength": 2048,
6143
6143
  "pattern": "^[A-Za-z0-9_-]+$",
6144
6144
  "type": "string",
6145
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
6145
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
6146
6146
  },
6147
6147
  "project_id": {
6148
6148
  "description": "Unique identifier for a project. Accepts an ID or an exact name (resolved via projects_list). IDs come from projects_list.",
@@ -7667,7 +7667,7 @@
7667
7667
  "method": "PATCH",
7668
7668
  "path": "/targets/{target_id}",
7669
7669
  "summary": "Update a Target or its Deliveries",
7670
- "description": "Omitted fields keep their current values. Supplied config, checks, and deliveries replace their complete stored values.\nWith Project auto_generate enabled, changing Target config, checks, or Deliveries queues that Target's Generation. A queued or running Target reuses that Generation.\nOmitting If-Match applies the update to the current resource; with If-Match, a stale ETag returns 412 precondition_failed without saving.\nSelect the next version through PATCH /drafts/{draft_id} on the Target's draft_id.\n\nA `409 target_busy` means the Target is publishing; wait for it to finish. A `409 delivery_conflict` means another Target owns the requested repository tree; retrieve both Targets, choose a free destination, and retry.\nA `502` response means the update was saved, but retiring an obsolete review or regenerating the Target failed. Retrieve the Target and follow the error's retryable and suggested_action fields.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
7670
+ "description": "Omitted fields keep their current values. Supplied config, checks, and deliveries replace their complete stored values.\nWith Project auto_generate enabled, changing Target config, checks, or Deliveries queues that Target's Generation. A queued or running Target reuses that Generation.\nOmitting If-Match applies the update to the current resource; with If-Match, a stale ETag returns 412 precondition_failed without saving.\nSelect the next version through PATCH /drafts/{draft_id} on the Target's draft_id.\n\nA `409 target_busy` means the Target is publishing; wait for it to finish. A `409 delivery_conflict` means another Target owns the requested repository tree; retrieve both Targets, choose a free destination, and retry.\nA `502 follow_up_failed` means the update was saved, but retiring an obsolete review or regenerating the Target failed. Retrieve the Target and follow the error's retryable and suggested_action fields.\nSee [conditional writes](https://typeship.dev/docs/typeship-api#conditional-writes) for ETag and If-Match.",
7671
7671
  "safety": "write",
7672
7672
  "auth": "required",
7673
7673
  "security": [
@@ -8868,14 +8868,14 @@
8868
8868
  "minimum": 1,
8869
8869
  "maximum": 100,
8870
8870
  "type": "integer",
8871
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
8871
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
8872
8872
  },
8873
8873
  "cursor": {
8874
8874
  "minLength": 1,
8875
8875
  "maxLength": 2048,
8876
8876
  "pattern": "^[A-Za-z0-9_-]+$",
8877
8877
  "type": "string",
8878
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
8878
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
8879
8879
  },
8880
8880
  "target_id": {
8881
8881
  "description": "Stable identifier for one configured generated product. Accepts an ID or an exact name (resolved via targets_list). IDs come from targets_list.",
@@ -10214,14 +10214,14 @@
10214
10214
  "minimum": 1,
10215
10215
  "maximum": 100,
10216
10216
  "type": "integer",
10217
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
10217
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
10218
10218
  },
10219
10219
  "cursor": {
10220
10220
  "minLength": 1,
10221
10221
  "maxLength": 2048,
10222
10222
  "pattern": "^[A-Za-z0-9_-]+$",
10223
10223
  "type": "string",
10224
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
10224
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
10225
10225
  },
10226
10226
  "fields": {
10227
10227
  "type": "array",
@@ -11480,14 +11480,14 @@
11480
11480
  "minimum": 1,
11481
11481
  "maximum": 100,
11482
11482
  "type": "integer",
11483
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
11483
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
11484
11484
  },
11485
11485
  "cursor": {
11486
11486
  "minLength": 1,
11487
11487
  "maxLength": 2048,
11488
11488
  "pattern": "^[A-Za-z0-9_-]+$",
11489
11489
  "type": "string",
11490
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
11490
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
11491
11491
  },
11492
11492
  "target_id": {
11493
11493
  "description": "Stable identifier for one configured generated product. Accepts an ID or an exact name (resolved via targets_list). IDs come from targets_list.",
@@ -12273,7 +12273,7 @@
12273
12273
  "method": "POST",
12274
12274
  "path": "/releases/{release_id}/republish",
12275
12275
  "summary": "Retry publishing an exact release",
12276
- "description": "Retries publishing the specified release through its repository workflow. Uses that release's version and accepted commit, even if a newer Draft or release exists.\n\nA `502` response means the repository publishing workflow could not be dispatched.",
12276
+ "description": "Retries publishing the specified release through its repository workflow. Uses that release's version and accepted commit, even if a newer Draft or release exists.\n\nA `502 repository_unavailable` means the repository publishing workflow could not be dispatched, and nothing was changed.",
12277
12277
  "safety": "write",
12278
12278
  "auth": "required",
12279
12279
  "security": [
@@ -12685,14 +12685,14 @@
12685
12685
  "minimum": 1,
12686
12686
  "maximum": 100,
12687
12687
  "type": "integer",
12688
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
12688
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
12689
12689
  },
12690
12690
  "cursor": {
12691
12691
  "minLength": 1,
12692
12692
  "maxLength": 2048,
12693
12693
  "pattern": "^[A-Za-z0-9_-]+$",
12694
12694
  "type": "string",
12695
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
12695
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
12696
12696
  },
12697
12697
  "target_id": {
12698
12698
  "description": "Stable identifier for one configured generated product. Accepts an ID or an exact name (resolved via targets_list). IDs come from targets_list.",
@@ -12922,7 +12922,7 @@
12922
12922
  "method": "GET",
12923
12923
  "path": "/deliveries/{delivery_id}",
12924
12924
  "summary": "Get a Delivery",
12925
- "description": "Returns the configured repository or hosted MCP Delivery for a Target. A Delivery in another organization returns 404 not_found.",
12925
+ "description": "Returns the configured repository or hosted MCP Delivery for a Target. A Delivery in another organization returns 404 resource_not_found.",
12926
12926
  "safety": "read",
12927
12927
  "auth": "required",
12928
12928
  "security": [
@@ -13158,14 +13158,14 @@
13158
13158
  "minimum": 1,
13159
13159
  "maximum": 100,
13160
13160
  "type": "integer",
13161
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
13161
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
13162
13162
  },
13163
13163
  "cursor": {
13164
13164
  "minLength": 1,
13165
13165
  "maxLength": 2048,
13166
13166
  "pattern": "^[A-Za-z0-9_-]+$",
13167
13167
  "type": "string",
13168
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
13168
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
13169
13169
  },
13170
13170
  "release_id": {
13171
13171
  "examples": [
@@ -13259,36 +13259,48 @@
13259
13259
  "properties": {
13260
13260
  "type": {
13261
13261
  "enum": [
13262
- "request_error",
13263
- "authentication_error",
13264
- "authorization_error",
13265
- "plan_error",
13266
- "source_error",
13267
- "rate_limit_error",
13268
- "api_error"
13262
+ "request",
13263
+ "auth",
13264
+ "idempotency",
13265
+ "rate_limit",
13266
+ "organization",
13267
+ "source",
13268
+ "api"
13269
13269
  ],
13270
- "description": "Stable category for deciding how to handle the error.",
13270
+ "description": "Who can resolve the error. request: change the request. auth: fix the credential or its grant. idempotency: change or wait on the Idempotency-Key. rate_limit: wait before retrying. organization: the organization's plan must change. source: a system you own failed, such as the Spec URL, repository, or package registry. api: Typeship failed.",
13271
13271
  "type": "string"
13272
13272
  },
13273
13273
  "code": {
13274
13274
  "enum": [
13275
- "invalid_request",
13275
+ "input_invalid",
13276
+ "query_param_invalid",
13277
+ "cursor_invalid",
13278
+ "method_not_allowed",
13279
+ "resource_not_found",
13280
+ "idempotency_key_invalid",
13276
13281
  "idempotency_key_reused",
13277
- "unauthorized",
13282
+ "idempotency_key_in_use",
13283
+ "auth_required",
13284
+ "api_key_invalid",
13285
+ "token_invalid",
13278
13286
  "organization_required",
13279
13287
  "insufficient_scope",
13280
- "forbidden",
13281
- "not_found",
13282
- "method_not_allowed",
13283
- "spec_error",
13284
- "fetch_error",
13288
+ "role_insufficient",
13289
+ "rate_limit_exceeded",
13290
+ "plan_limit_reached",
13291
+ "spec_invalid",
13292
+ "spec_too_large",
13293
+ "spec_unreachable",
13285
13294
  "repository_provider_unsupported",
13295
+ "repository_disconnected",
13296
+ "repository_unavailable",
13286
13297
  "target_busy",
13298
+ "targets_inactive",
13287
13299
  "no_draft",
13288
13300
  "draft_merged",
13289
13301
  "resource_changed",
13290
- "invalid_version",
13291
13302
  "precondition_failed",
13303
+ "version_invalid",
13292
13304
  "version_occupied",
13293
13305
  "version_too_low",
13294
13306
  "target_already_released",
@@ -13296,15 +13308,12 @@
13296
13308
  "publication_disabled",
13297
13309
  "publication_not_retryable",
13298
13310
  "publication_recovery_unavailable",
13299
- "publication_dispatch_failed",
13300
- "repository_disconnected",
13301
- "regeneration_failed",
13311
+ "publication_failed",
13302
13312
  "delivery_conflict",
13303
13313
  "resource_has_dependencies",
13304
- "plan_limit_reached",
13305
- "payload_too_large",
13306
- "rate_limited",
13307
- "internal_error",
13314
+ "customization_conflict",
13315
+ "history_recovery_required",
13316
+ "checks_unavailable",
13308
13317
  "dependency_missing",
13309
13318
  "dependency_not_found",
13310
13319
  "dependency_self",
@@ -13316,10 +13325,9 @@
13316
13325
  "dependency_module_path_missing",
13317
13326
  "dependency_unreleased",
13318
13327
  "dependency_revision_mismatch",
13319
- "publication_failed",
13320
- "customization_conflict",
13321
- "history_recovery_required",
13322
- "checks_unavailable"
13328
+ "regeneration_failed",
13329
+ "follow_up_failed",
13330
+ "api_error"
13323
13331
  ],
13324
13332
  "description": "Stable programmatic identifier. Do not branch on message.",
13325
13333
  "type": "string"
@@ -13445,7 +13453,7 @@
13445
13453
  "method": "GET",
13446
13454
  "path": "/publications/{publication_id}",
13447
13455
  "summary": "Get publishing status",
13448
- "description": "Returns the registry publishing status for a release. A status in another organization returns 404 not_found.",
13456
+ "description": "Returns the registry publishing status for a release. A status in another organization returns 404 resource_not_found.",
13449
13457
  "safety": "read",
13450
13458
  "auth": "required",
13451
13459
  "security": [
@@ -13546,36 +13554,48 @@
13546
13554
  "properties": {
13547
13555
  "type": {
13548
13556
  "enum": [
13549
- "request_error",
13550
- "authentication_error",
13551
- "authorization_error",
13552
- "plan_error",
13553
- "source_error",
13554
- "rate_limit_error",
13555
- "api_error"
13557
+ "request",
13558
+ "auth",
13559
+ "idempotency",
13560
+ "rate_limit",
13561
+ "organization",
13562
+ "source",
13563
+ "api"
13556
13564
  ],
13557
- "description": "Stable category for deciding how to handle the error.",
13565
+ "description": "Who can resolve the error. request: change the request. auth: fix the credential or its grant. idempotency: change or wait on the Idempotency-Key. rate_limit: wait before retrying. organization: the organization's plan must change. source: a system you own failed, such as the Spec URL, repository, or package registry. api: Typeship failed.",
13558
13566
  "type": "string"
13559
13567
  },
13560
13568
  "code": {
13561
13569
  "enum": [
13562
- "invalid_request",
13570
+ "input_invalid",
13571
+ "query_param_invalid",
13572
+ "cursor_invalid",
13573
+ "method_not_allowed",
13574
+ "resource_not_found",
13575
+ "idempotency_key_invalid",
13563
13576
  "idempotency_key_reused",
13564
- "unauthorized",
13577
+ "idempotency_key_in_use",
13578
+ "auth_required",
13579
+ "api_key_invalid",
13580
+ "token_invalid",
13565
13581
  "organization_required",
13566
13582
  "insufficient_scope",
13567
- "forbidden",
13568
- "not_found",
13569
- "method_not_allowed",
13570
- "spec_error",
13571
- "fetch_error",
13583
+ "role_insufficient",
13584
+ "rate_limit_exceeded",
13585
+ "plan_limit_reached",
13586
+ "spec_invalid",
13587
+ "spec_too_large",
13588
+ "spec_unreachable",
13572
13589
  "repository_provider_unsupported",
13590
+ "repository_disconnected",
13591
+ "repository_unavailable",
13573
13592
  "target_busy",
13593
+ "targets_inactive",
13574
13594
  "no_draft",
13575
13595
  "draft_merged",
13576
13596
  "resource_changed",
13577
- "invalid_version",
13578
13597
  "precondition_failed",
13598
+ "version_invalid",
13579
13599
  "version_occupied",
13580
13600
  "version_too_low",
13581
13601
  "target_already_released",
@@ -13583,15 +13603,12 @@
13583
13603
  "publication_disabled",
13584
13604
  "publication_not_retryable",
13585
13605
  "publication_recovery_unavailable",
13586
- "publication_dispatch_failed",
13587
- "repository_disconnected",
13588
- "regeneration_failed",
13606
+ "publication_failed",
13589
13607
  "delivery_conflict",
13590
13608
  "resource_has_dependencies",
13591
- "plan_limit_reached",
13592
- "payload_too_large",
13593
- "rate_limited",
13594
- "internal_error",
13609
+ "customization_conflict",
13610
+ "history_recovery_required",
13611
+ "checks_unavailable",
13595
13612
  "dependency_missing",
13596
13613
  "dependency_not_found",
13597
13614
  "dependency_self",
@@ -13603,10 +13620,9 @@
13603
13620
  "dependency_module_path_missing",
13604
13621
  "dependency_unreleased",
13605
13622
  "dependency_revision_mismatch",
13606
- "publication_failed",
13607
- "customization_conflict",
13608
- "history_recovery_required",
13609
- "checks_unavailable"
13623
+ "regeneration_failed",
13624
+ "follow_up_failed",
13625
+ "api_error"
13610
13626
  ],
13611
13627
  "description": "Stable programmatic identifier. Do not branch on message.",
13612
13628
  "type": "string"
@@ -13739,14 +13755,14 @@
13739
13755
  "minimum": 1,
13740
13756
  "maximum": 100,
13741
13757
  "type": "integer",
13742
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
13758
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
13743
13759
  },
13744
13760
  "cursor": {
13745
13761
  "minLength": 1,
13746
13762
  "maxLength": 2048,
13747
13763
  "pattern": "^[A-Za-z0-9_-]+$",
13748
13764
  "type": "string",
13749
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
13765
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
13750
13766
  },
13751
13767
  "project_id": {
13752
13768
  "description": "Unique identifier for a project. Accepts an ID or an exact name (resolved via projects_list). IDs come from projects_list.",
@@ -13963,36 +13979,48 @@
13963
13979
  "properties": {
13964
13980
  "type": {
13965
13981
  "enum": [
13966
- "request_error",
13967
- "authentication_error",
13968
- "authorization_error",
13969
- "plan_error",
13970
- "source_error",
13971
- "rate_limit_error",
13972
- "api_error"
13982
+ "request",
13983
+ "auth",
13984
+ "idempotency",
13985
+ "rate_limit",
13986
+ "organization",
13987
+ "source",
13988
+ "api"
13973
13989
  ],
13974
- "description": "Stable category for deciding how to handle the error.",
13990
+ "description": "Who can resolve the error.",
13975
13991
  "type": "string"
13976
13992
  },
13977
13993
  "code": {
13978
13994
  "enum": [
13979
- "invalid_request",
13995
+ "input_invalid",
13996
+ "query_param_invalid",
13997
+ "cursor_invalid",
13998
+ "method_not_allowed",
13999
+ "resource_not_found",
14000
+ "idempotency_key_invalid",
13980
14001
  "idempotency_key_reused",
13981
- "unauthorized",
14002
+ "idempotency_key_in_use",
14003
+ "auth_required",
14004
+ "api_key_invalid",
14005
+ "token_invalid",
13982
14006
  "organization_required",
13983
14007
  "insufficient_scope",
13984
- "forbidden",
13985
- "not_found",
13986
- "method_not_allowed",
13987
- "spec_error",
13988
- "fetch_error",
14008
+ "role_insufficient",
14009
+ "rate_limit_exceeded",
14010
+ "plan_limit_reached",
14011
+ "spec_invalid",
14012
+ "spec_too_large",
14013
+ "spec_unreachable",
13989
14014
  "repository_provider_unsupported",
14015
+ "repository_disconnected",
14016
+ "repository_unavailable",
13990
14017
  "target_busy",
14018
+ "targets_inactive",
13991
14019
  "no_draft",
13992
14020
  "draft_merged",
13993
14021
  "resource_changed",
13994
- "invalid_version",
13995
14022
  "precondition_failed",
14023
+ "version_invalid",
13996
14024
  "version_occupied",
13997
14025
  "version_too_low",
13998
14026
  "target_already_released",
@@ -14000,15 +14028,12 @@
14000
14028
  "publication_disabled",
14001
14029
  "publication_not_retryable",
14002
14030
  "publication_recovery_unavailable",
14003
- "publication_dispatch_failed",
14004
- "repository_disconnected",
14005
- "regeneration_failed",
14031
+ "publication_failed",
14006
14032
  "delivery_conflict",
14007
14033
  "resource_has_dependencies",
14008
- "plan_limit_reached",
14009
- "payload_too_large",
14010
- "rate_limited",
14011
- "internal_error",
14034
+ "customization_conflict",
14035
+ "history_recovery_required",
14036
+ "checks_unavailable",
14012
14037
  "dependency_missing",
14013
14038
  "dependency_not_found",
14014
14039
  "dependency_self",
@@ -14020,10 +14045,9 @@
14020
14045
  "dependency_module_path_missing",
14021
14046
  "dependency_unreleased",
14022
14047
  "dependency_revision_mismatch",
14023
- "publication_failed",
14024
- "customization_conflict",
14025
- "history_recovery_required",
14026
- "checks_unavailable"
14048
+ "regeneration_failed",
14049
+ "follow_up_failed",
14050
+ "api_error"
14027
14051
  ],
14028
14052
  "description": "Stable programmatic identifier.",
14029
14053
  "type": "string"
@@ -14344,36 +14368,48 @@
14344
14368
  "properties": {
14345
14369
  "type": {
14346
14370
  "enum": [
14347
- "request_error",
14348
- "authentication_error",
14349
- "authorization_error",
14350
- "plan_error",
14351
- "source_error",
14352
- "rate_limit_error",
14353
- "api_error"
14371
+ "request",
14372
+ "auth",
14373
+ "idempotency",
14374
+ "rate_limit",
14375
+ "organization",
14376
+ "source",
14377
+ "api"
14354
14378
  ],
14355
- "description": "Stable category for deciding how to handle the error.",
14379
+ "description": "Who can resolve the error.",
14356
14380
  "type": "string"
14357
14381
  },
14358
14382
  "code": {
14359
14383
  "enum": [
14360
- "invalid_request",
14384
+ "input_invalid",
14385
+ "query_param_invalid",
14386
+ "cursor_invalid",
14387
+ "method_not_allowed",
14388
+ "resource_not_found",
14389
+ "idempotency_key_invalid",
14361
14390
  "idempotency_key_reused",
14362
- "unauthorized",
14391
+ "idempotency_key_in_use",
14392
+ "auth_required",
14393
+ "api_key_invalid",
14394
+ "token_invalid",
14363
14395
  "organization_required",
14364
14396
  "insufficient_scope",
14365
- "forbidden",
14366
- "not_found",
14367
- "method_not_allowed",
14368
- "spec_error",
14369
- "fetch_error",
14397
+ "role_insufficient",
14398
+ "rate_limit_exceeded",
14399
+ "plan_limit_reached",
14400
+ "spec_invalid",
14401
+ "spec_too_large",
14402
+ "spec_unreachable",
14370
14403
  "repository_provider_unsupported",
14404
+ "repository_disconnected",
14405
+ "repository_unavailable",
14371
14406
  "target_busy",
14407
+ "targets_inactive",
14372
14408
  "no_draft",
14373
14409
  "draft_merged",
14374
14410
  "resource_changed",
14375
- "invalid_version",
14376
14411
  "precondition_failed",
14412
+ "version_invalid",
14377
14413
  "version_occupied",
14378
14414
  "version_too_low",
14379
14415
  "target_already_released",
@@ -14381,15 +14417,12 @@
14381
14417
  "publication_disabled",
14382
14418
  "publication_not_retryable",
14383
14419
  "publication_recovery_unavailable",
14384
- "publication_dispatch_failed",
14385
- "repository_disconnected",
14386
- "regeneration_failed",
14420
+ "publication_failed",
14387
14421
  "delivery_conflict",
14388
14422
  "resource_has_dependencies",
14389
- "plan_limit_reached",
14390
- "payload_too_large",
14391
- "rate_limited",
14392
- "internal_error",
14423
+ "customization_conflict",
14424
+ "history_recovery_required",
14425
+ "checks_unavailable",
14393
14426
  "dependency_missing",
14394
14427
  "dependency_not_found",
14395
14428
  "dependency_self",
@@ -14401,10 +14434,9 @@
14401
14434
  "dependency_module_path_missing",
14402
14435
  "dependency_unreleased",
14403
14436
  "dependency_revision_mismatch",
14404
- "publication_failed",
14405
- "customization_conflict",
14406
- "history_recovery_required",
14407
- "checks_unavailable"
14437
+ "regeneration_failed",
14438
+ "follow_up_failed",
14439
+ "api_error"
14408
14440
  ],
14409
14441
  "description": "Stable programmatic identifier.",
14410
14442
  "type": "string"
@@ -14534,14 +14566,14 @@
14534
14566
  "minimum": 1,
14535
14567
  "maximum": 100,
14536
14568
  "type": "integer",
14537
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
14569
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
14538
14570
  },
14539
14571
  "cursor": {
14540
14572
  "minLength": 1,
14541
14573
  "maxLength": 2048,
14542
14574
  "pattern": "^[A-Za-z0-9_-]+$",
14543
14575
  "type": "string",
14544
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
14576
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
14545
14577
  },
14546
14578
  "fields": {
14547
14579
  "type": "array",
@@ -14894,14 +14926,14 @@
14894
14926
  "minimum": 1,
14895
14927
  "maximum": 100,
14896
14928
  "type": "integer",
14897
- "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 invalid_request. List query parameters must appear only once; unrecognized parameters also return 400. Default: 20."
14929
+ "description": "Maximum number of resources to return. Omit for 20; otherwise supply base-10 digits representing an integer from 1 to 100. Empty, malformed, or out-of-range values return 400 input_invalid. List query parameters must appear only once; repeated or unrecognized parameters return 400 query_param_invalid. Default: 20."
14898
14930
  },
14899
14931
  "cursor": {
14900
14932
  "minLength": 1,
14901
14933
  "maxLength": 2048,
14902
14934
  "pattern": "^[A-Za-z0-9_-]+$",
14903
14935
  "type": "string",
14904
- "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty, malformed, or repeated cursors return 400 invalid_request. The page limit may change between requests."
14936
+ "description": "Opaque cursor from the preceding page's next_cursor. Valid only for the same organization, operation, filters, and ordering that issued it. Omit to start at the first page. Empty or malformed cursors, and cursors issued for different filters, return 400 cursor_invalid; start again from the first page. Repeated cursors return 400 query_param_invalid. The page limit may change between requests."
14905
14937
  },
14906
14938
  "fields": {
14907
14939
  "type": "array",