@typeship-ax/cli 0.9.1 → 0.10.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.
package/api.json CHANGED
@@ -3158,6 +3158,23 @@
3158
3158
  "uniqueItems": true,
3159
3159
  "type": "array"
3160
3160
  },
3161
+ "evidence_basis": {
3162
+ "enum": [
3163
+ "contract",
3164
+ "heuristic",
3165
+ "implementation"
3166
+ ],
3167
+ "description": "Whether the finding is provable from the Definition, a conservative review suggestion, or a documen…",
3168
+ "type": "string"
3169
+ },
3170
+ "owner_decision_required": {
3171
+ "description": "Whether remediation requires intent that the Definition cannot prove.",
3172
+ "type": "boolean"
3173
+ },
3174
+ "surface_impact": {
3175
+ "description": "Concrete generated SDK, CLI, or MCP naming effect when Typeship can state it.",
3176
+ "type": "string"
3177
+ },
3161
3178
  "locations": {
3162
3179
  "description": "All affected coordinates, kept under one grouped diagnostic.",
3163
3180
  "minItems": 1,
@@ -3232,6 +3249,26 @@
3232
3249
  },
3233
3250
  "type": "object"
3234
3251
  },
3252
+ "quality_signals": {
3253
+ "description": "Current-revision signals for tuning Diagnostics policy.",
3254
+ "properties": {
3255
+ "suppressed_by_rule": {
3256
+ "items": {
3257
+ "description": "Current-revision suppression usage for one stable Diagnostic rule.",
3258
+ "type": "object"
3259
+ },
3260
+ "type": "array"
3261
+ },
3262
+ "stale_suppressions": {
3263
+ "description": "Reviewed exceptions whose rule or exact path no longer matches this revision.",
3264
+ "items": {
3265
+ "type": "object"
3266
+ },
3267
+ "type": "array"
3268
+ }
3269
+ },
3270
+ "type": "object"
3271
+ },
3235
3272
  "delta": {
3236
3273
  "properties": {
3237
3274
  "added": {
@@ -3470,6 +3507,23 @@
3470
3507
  "uniqueItems": true,
3471
3508
  "type": "array"
3472
3509
  },
3510
+ "evidence_basis": {
3511
+ "enum": [
3512
+ "contract",
3513
+ "heuristic",
3514
+ "implementation"
3515
+ ],
3516
+ "description": "Whether the finding is provable from the Definition, a conservative review suggestion, or a documen…",
3517
+ "type": "string"
3518
+ },
3519
+ "owner_decision_required": {
3520
+ "description": "Whether remediation requires intent that the Definition cannot prove.",
3521
+ "type": "boolean"
3522
+ },
3523
+ "surface_impact": {
3524
+ "description": "Concrete generated SDK, CLI, or MCP naming effect when Typeship can state it.",
3525
+ "type": "string"
3526
+ },
3473
3527
  "locations": {
3474
3528
  "description": "All affected coordinates, kept under one grouped diagnostic.",
3475
3529
  "minItems": 1,
@@ -3544,6 +3598,26 @@
3544
3598
  },
3545
3599
  "type": "object"
3546
3600
  },
3601
+ "quality_signals": {
3602
+ "description": "Current-revision signals for tuning Diagnostics policy.",
3603
+ "properties": {
3604
+ "suppressed_by_rule": {
3605
+ "items": {
3606
+ "description": "Current-revision suppression usage for one stable Diagnostic rule.",
3607
+ "type": "object"
3608
+ },
3609
+ "type": "array"
3610
+ },
3611
+ "stale_suppressions": {
3612
+ "description": "Reviewed exceptions whose rule or exact path no longer matches this revision.",
3613
+ "items": {
3614
+ "type": "object"
3615
+ },
3616
+ "type": "array"
3617
+ }
3618
+ },
3619
+ "type": "object"
3620
+ },
3547
3621
  "delta": {
3548
3622
  "properties": {
3549
3623
  "added": {
@@ -5621,7 +5695,12 @@
5621
5695
  "type": "object"
5622
5696
  },
5623
5697
  "current_version": {
5624
- "type": "string"
5698
+ "description": "Deprecated projection of the newest immutable Target Release; null until a release becomes Current.",
5699
+ "deprecated": true,
5700
+ "type": [
5701
+ "string",
5702
+ "null"
5703
+ ]
5625
5704
  },
5626
5705
  "proposed_version": {
5627
5706
  "type": [
@@ -5629,6 +5708,29 @@
5629
5708
  "null"
5630
5709
  ]
5631
5710
  },
5711
+ "proposed_version_source": {
5712
+ "enum": [
5713
+ "console",
5714
+ "api",
5715
+ "github",
5716
+ null
5717
+ ],
5718
+ "type": [
5719
+ "string",
5720
+ "null"
5721
+ ]
5722
+ },
5723
+ "proposed_version_actor": {
5724
+ "type": [
5725
+ "string",
5726
+ "null"
5727
+ ]
5728
+ },
5729
+ "release_revision": {
5730
+ "description": "Optimistic concurrency revision for Draft selections.",
5731
+ "minimum": 0,
5732
+ "type": "integer"
5733
+ },
5632
5734
  "config": {
5633
5735
  "description": "Target-specific overrides merged over Project.config. GraphQL settings are Definition-owned and never appear here.",
5634
5736
  "anyOf": [
@@ -6262,6 +6364,11 @@
6262
6364
  "string",
6263
6365
  "null"
6264
6366
  ]
6367
+ },
6368
+ "publish_on_merge": {
6369
+ "description": "Commit repository-owned registry automation and report publication after the Draft merges.",
6370
+ "default": false,
6371
+ "type": "boolean"
6265
6372
  }
6266
6373
  },
6267
6374
  "required": [
@@ -6371,7 +6478,12 @@
6371
6478
  "type": "object"
6372
6479
  },
6373
6480
  "current_version": {
6374
- "type": "string"
6481
+ "description": "Deprecated projection of the newest immutable Target Release; null until a release becomes Current.",
6482
+ "deprecated": true,
6483
+ "type": [
6484
+ "string",
6485
+ "null"
6486
+ ]
6375
6487
  },
6376
6488
  "proposed_version": {
6377
6489
  "type": [
@@ -6379,6 +6491,29 @@
6379
6491
  "null"
6380
6492
  ]
6381
6493
  },
6494
+ "proposed_version_source": {
6495
+ "enum": [
6496
+ "console",
6497
+ "api",
6498
+ "github",
6499
+ null
6500
+ ],
6501
+ "type": [
6502
+ "string",
6503
+ "null"
6504
+ ]
6505
+ },
6506
+ "proposed_version_actor": {
6507
+ "type": [
6508
+ "string",
6509
+ "null"
6510
+ ]
6511
+ },
6512
+ "release_revision": {
6513
+ "description": "Optimistic concurrency revision for Draft selections.",
6514
+ "minimum": 0,
6515
+ "type": "integer"
6516
+ },
6382
6517
  "config": {
6383
6518
  "description": "Target-specific overrides merged over Project.config.",
6384
6519
  "anyOf": [
@@ -6599,7 +6734,12 @@
6599
6734
  "type": "object"
6600
6735
  },
6601
6736
  "current_version": {
6602
- "type": "string"
6737
+ "description": "Deprecated projection of the newest immutable Target Release; null until a release becomes Current.",
6738
+ "deprecated": true,
6739
+ "type": [
6740
+ "string",
6741
+ "null"
6742
+ ]
6603
6743
  },
6604
6744
  "proposed_version": {
6605
6745
  "type": [
@@ -6607,6 +6747,29 @@
6607
6747
  "null"
6608
6748
  ]
6609
6749
  },
6750
+ "proposed_version_source": {
6751
+ "enum": [
6752
+ "console",
6753
+ "api",
6754
+ "github",
6755
+ null
6756
+ ],
6757
+ "type": [
6758
+ "string",
6759
+ "null"
6760
+ ]
6761
+ },
6762
+ "proposed_version_actor": {
6763
+ "type": [
6764
+ "string",
6765
+ "null"
6766
+ ]
6767
+ },
6768
+ "release_revision": {
6769
+ "description": "Optimistic concurrency revision for Draft selections.",
6770
+ "minimum": 0,
6771
+ "type": "integer"
6772
+ },
6610
6773
  "config": {
6611
6774
  "description": "Target-specific overrides merged over Project.config.",
6612
6775
  "anyOf": [
@@ -7247,6 +7410,11 @@
7247
7410
  "string",
7248
7411
  "null"
7249
7412
  ]
7413
+ },
7414
+ "publish_on_merge": {
7415
+ "description": "Commit repository-owned registry automation and report publication after the Draft merges.",
7416
+ "default": false,
7417
+ "type": "boolean"
7250
7418
  }
7251
7419
  },
7252
7420
  "required": [
@@ -7353,7 +7521,12 @@
7353
7521
  "type": "object"
7354
7522
  },
7355
7523
  "current_version": {
7356
- "type": "string"
7524
+ "description": "Deprecated projection of the newest immutable Target Release; null until a release becomes Current.",
7525
+ "deprecated": true,
7526
+ "type": [
7527
+ "string",
7528
+ "null"
7529
+ ]
7357
7530
  },
7358
7531
  "proposed_version": {
7359
7532
  "type": [
@@ -7361,6 +7534,29 @@
7361
7534
  "null"
7362
7535
  ]
7363
7536
  },
7537
+ "proposed_version_source": {
7538
+ "enum": [
7539
+ "console",
7540
+ "api",
7541
+ "github",
7542
+ null
7543
+ ],
7544
+ "type": [
7545
+ "string",
7546
+ "null"
7547
+ ]
7548
+ },
7549
+ "proposed_version_actor": {
7550
+ "type": [
7551
+ "string",
7552
+ "null"
7553
+ ]
7554
+ },
7555
+ "release_revision": {
7556
+ "description": "Optimistic concurrency revision for Draft selections.",
7557
+ "minimum": 0,
7558
+ "type": "integer"
7559
+ },
7364
7560
  "config": {
7365
7561
  "description": "Target-specific overrides merged over Project.config.",
7366
7562
  "anyOf": [
@@ -7555,11 +7751,26 @@
7555
7751
  "type": "string"
7556
7752
  },
7557
7753
  "generation_id": {
7558
- "description": "Unique identifier for a generation.",
7559
- "examples": [
7560
- "gen_7h2p5d9c3m8w1k6q"
7754
+ "description": "Null only for a verified release imported during package adoption.",
7755
+ "anyOf": [
7756
+ {
7757
+ "description": "Unique identifier for a generation.",
7758
+ "examples": [
7759
+ "gen_7h2p5d9c3m8w1k6q"
7760
+ ],
7761
+ "pattern": "^gen_[a-z0-9]{16}$",
7762
+ "type": "string"
7763
+ },
7764
+ {
7765
+ "type": "null"
7766
+ }
7767
+ ]
7768
+ },
7769
+ "origin": {
7770
+ "enum": [
7771
+ "typeship",
7772
+ "imported"
7561
7773
  ],
7562
- "pattern": "^gen_[a-z0-9]{16}$",
7563
7774
  "type": "string"
7564
7775
  },
7565
7776
  "version": {
@@ -7623,6 +7834,133 @@
7623
7834
  "description": "Immutable provider-native revision that was merged or published.",
7624
7835
  "type": "string"
7625
7836
  },
7837
+ "import_provenance": {
7838
+ "properties": {
7839
+ "tag": {
7840
+ "type": [
7841
+ "string",
7842
+ "null"
7843
+ ]
7844
+ },
7845
+ "registry_url": {
7846
+ "format": "uri",
7847
+ "type": [
7848
+ "string",
7849
+ "null"
7850
+ ]
7851
+ },
7852
+ "artifact_digest": {
7853
+ "type": [
7854
+ "string",
7855
+ "null"
7856
+ ]
7857
+ },
7858
+ "imported_at": {
7859
+ "format": "date-time",
7860
+ "type": [
7861
+ "string",
7862
+ "null"
7863
+ ]
7864
+ }
7865
+ },
7866
+ "type": [
7867
+ "object",
7868
+ "null"
7869
+ ]
7870
+ },
7871
+ "publications": {
7872
+ "items": {
7873
+ "properties": {
7874
+ "id": {
7875
+ "examples": [
7876
+ "pub_2m8q4v7k1p9d5h6c"
7877
+ ],
7878
+ "pattern": "^pub_[a-z0-9]{16}$",
7879
+ "type": "string"
7880
+ },
7881
+ "object": {
7882
+ "const": "publication",
7883
+ "type": "string"
7884
+ },
7885
+ "target_release_id": {
7886
+ "examples": [
7887
+ "rel_7m2q8v4k1p9d5h6c"
7888
+ ],
7889
+ "pattern": "^rel_[a-z0-9]{16}$",
7890
+ "type": "string"
7891
+ },
7892
+ "destination": {
7893
+ "enum": [
7894
+ "github",
7895
+ "npm",
7896
+ "pypi",
7897
+ "go",
7898
+ "mcp"
7899
+ ],
7900
+ "type": "string"
7901
+ },
7902
+ "state": {
7903
+ "enum": [
7904
+ "pending",
7905
+ "publishing",
7906
+ "published",
7907
+ "failed"
7908
+ ],
7909
+ "type": "string"
7910
+ },
7911
+ "attempt": {
7912
+ "minimum": 0,
7913
+ "type": "integer"
7914
+ },
7915
+ "run_url": {
7916
+ "format": "uri",
7917
+ "type": [
7918
+ "string",
7919
+ "null"
7920
+ ]
7921
+ },
7922
+ "registry_url": {
7923
+ "format": "uri",
7924
+ "type": [
7925
+ "string",
7926
+ "null"
7927
+ ]
7928
+ },
7929
+ "artifact_digest": {
7930
+ "type": [
7931
+ "string",
7932
+ "null"
7933
+ ]
7934
+ },
7935
+ "error": {
7936
+ "type": [
7937
+ "string",
7938
+ "null"
7939
+ ]
7940
+ },
7941
+ "started_at": {
7942
+ "format": "date-time",
7943
+ "type": [
7944
+ "string",
7945
+ "null"
7946
+ ]
7947
+ },
7948
+ "finished_at": {
7949
+ "format": "date-time",
7950
+ "type": [
7951
+ "string",
7952
+ "null"
7953
+ ]
7954
+ },
7955
+ "updated_at": {
7956
+ "format": "date-time",
7957
+ "type": "string"
7958
+ }
7959
+ },
7960
+ "type": "object"
7961
+ },
7962
+ "type": "array"
7963
+ },
7626
7964
  "created_at": {
7627
7965
  "format": "date-time",
7628
7966
  "type": "string"
@@ -7660,26 +7998,27 @@
7660
7998
  }
7661
7999
  },
7662
8000
  {
7663
- "operation": "targets.retrieveRelease",
7664
- "signature": "typeship targets retrieve-release <target_release_id> [flags]",
8001
+ "operation": "targets.retrieveDraft",
8002
+ "signature": "typeship targets retrieve-draft <target_id> [flags]",
7665
8003
  "command": [
7666
8004
  "typeship",
7667
8005
  "targets",
7668
- "retrieve-release"
8006
+ "retrieve-draft"
7669
8007
  ],
7670
8008
  "parameters": [
7671
8009
  {
7672
- "name": "target_release_id",
8010
+ "name": "target_id",
7673
8011
  "positional": true,
7674
8012
  "in": "path",
7675
8013
  "type": "string",
7676
8014
  "required": true
7677
8015
  }
7678
8016
  ],
7679
- "example_command": "typeship targets retrieve-release rel_7m2q8v4k1p9d5h6c",
8017
+ "example_command": "typeship targets retrieve-draft tgt_5m8q2v7k1p9d4h6c",
7680
8018
  "method": "GET",
7681
- "path": "/target_releases/{target_release_id}",
7682
- "summary": "Retrieve an immutable Target release",
8019
+ "path": "/targets/{target_id}/draft",
8020
+ "summary": "Retrieve a Target's rolling Draft release",
8021
+ "description": "Returns Current, the cumulative Draft version and readiness, its exact head, and the optimistic release revision.",
7683
8022
  "safety": "read",
7684
8023
  "auth": "required",
7685
8024
  "security": [
@@ -7691,16 +8030,1053 @@
7691
8030
  "input_schema": {
7692
8031
  "type": "object",
7693
8032
  "properties": {
7694
- "target_release_id": {
8033
+ "target_id": {
8034
+ "description": "Stable identifier for one configured generated product.",
7695
8035
  "examples": [
7696
- "rel_7m2q8v4k1p9d5h6c"
8036
+ "tgt_5m8q2v7k1p9d4h6c"
7697
8037
  ],
7698
- "pattern": "^rel_[a-z0-9]{16}$",
8038
+ "pattern": "^tgt_[a-z0-9]{16}$",
7699
8039
  "type": "string"
7700
8040
  }
7701
8041
  },
7702
8042
  "required": [
7703
- "target_release_id"
8043
+ "target_id"
8044
+ ]
8045
+ },
8046
+ "output_schema": {
8047
+ "properties": {
8048
+ "object": {
8049
+ "const": "target_draft",
8050
+ "type": "string"
8051
+ },
8052
+ "target_id": {
8053
+ "description": "Stable identifier for one configured generated product.",
8054
+ "examples": [
8055
+ "tgt_5m8q2v7k1p9d4h6c"
8056
+ ],
8057
+ "pattern": "^tgt_[a-z0-9]{16}$",
8058
+ "type": "string"
8059
+ },
8060
+ "revision": {
8061
+ "minimum": 0,
8062
+ "type": "integer"
8063
+ },
8064
+ "current_version": {
8065
+ "type": [
8066
+ "string",
8067
+ "null"
8068
+ ]
8069
+ },
8070
+ "version": {
8071
+ "type": [
8072
+ "string",
8073
+ "null"
8074
+ ]
8075
+ },
8076
+ "selection": {
8077
+ "anyOf": [
8078
+ {
8079
+ "properties": {
8080
+ "mode": {
8081
+ "const": "automatic",
8082
+ "type": "string"
8083
+ }
8084
+ },
8085
+ "type": "object"
8086
+ },
8087
+ {
8088
+ "properties": {
8089
+ "mode": {
8090
+ "const": "exact",
8091
+ "type": "string"
8092
+ },
8093
+ "version": {
8094
+ "type": "string"
8095
+ },
8096
+ "source": {
8097
+ "enum": [
8098
+ "console",
8099
+ "api",
8100
+ "github",
8101
+ null
8102
+ ],
8103
+ "type": [
8104
+ "string",
8105
+ "null"
8106
+ ]
8107
+ },
8108
+ "actor": {
8109
+ "type": [
8110
+ "string",
8111
+ "null"
8112
+ ]
8113
+ }
8114
+ },
8115
+ "type": "object"
8116
+ }
8117
+ ]
8118
+ },
8119
+ "readiness": {
8120
+ "type": [
8121
+ "object",
8122
+ "null"
8123
+ ]
8124
+ },
8125
+ "changes": {
8126
+ "properties": {
8127
+ "changelog": {
8128
+ "description": "Cumulative changelog against Current.",
8129
+ "type": [
8130
+ "string",
8131
+ "null"
8132
+ ]
8133
+ },
8134
+ "breaking_count": {
8135
+ "minimum": 0,
8136
+ "type": [
8137
+ "integer",
8138
+ "null"
8139
+ ]
8140
+ },
8141
+ "previous_version": {
8142
+ "type": [
8143
+ "string",
8144
+ "null"
8145
+ ]
8146
+ }
8147
+ },
8148
+ "type": [
8149
+ "object",
8150
+ "null"
8151
+ ]
8152
+ },
8153
+ "head_revision": {
8154
+ "type": [
8155
+ "string",
8156
+ "null"
8157
+ ]
8158
+ },
8159
+ "pull_request_url": {
8160
+ "format": "uri",
8161
+ "type": [
8162
+ "string",
8163
+ "null"
8164
+ ]
8165
+ },
8166
+ "request_id": {
8167
+ "description": "Server-generated identifier used to correlate this response with Typeship logs.",
8168
+ "examples": [
8169
+ "req_3k8m1v6q9p2d7h4c"
8170
+ ],
8171
+ "pattern": "^req_[a-z0-9]{16}$",
8172
+ "type": "string"
8173
+ }
8174
+ },
8175
+ "type": "object"
8176
+ },
8177
+ "example_arguments": {
8178
+ "target_id": "tgt_5m8q2v7k1p9d4h6c"
8179
+ }
8180
+ },
8181
+ {
8182
+ "operation": "targets.updateDraft",
8183
+ "signature": "typeship targets update-draft <target_id> [flags]",
8184
+ "command": [
8185
+ "typeship",
8186
+ "targets",
8187
+ "update-draft"
8188
+ ],
8189
+ "parameters": [
8190
+ {
8191
+ "name": "target_id",
8192
+ "positional": true,
8193
+ "in": "path",
8194
+ "type": "string",
8195
+ "required": true
8196
+ },
8197
+ {
8198
+ "name": "version",
8199
+ "flag": "--body-version",
8200
+ "in": "body",
8201
+ "type": "string",
8202
+ "required": true
8203
+ },
8204
+ {
8205
+ "name": "expected_revision",
8206
+ "flag": "--expected-revision",
8207
+ "in": "body",
8208
+ "type": "number",
8209
+ "required": false
8210
+ }
8211
+ ],
8212
+ "example_command": "typeship targets update-draft tgt_5m8q2v7k1p9d4h6c --body-version 1.0.0",
8213
+ "method": "PATCH",
8214
+ "path": "/targets/{target_id}/draft",
8215
+ "summary": "Select an exact Draft version or return to automatic versioning",
8216
+ "description": "Validates the selection against the cumulative required bump and regenerates the same rolling Draft pull request.",
8217
+ "safety": "write",
8218
+ "auth": "required",
8219
+ "security": [
8220
+ {
8221
+ "apiKey": []
8222
+ }
8223
+ ],
8224
+ "paginated": false,
8225
+ "input_schema": {
8226
+ "type": "object",
8227
+ "properties": {
8228
+ "target_id": {
8229
+ "description": "Stable identifier for one configured generated product.",
8230
+ "examples": [
8231
+ "tgt_5m8q2v7k1p9d4h6c"
8232
+ ],
8233
+ "pattern": "^tgt_[a-z0-9]{16}$",
8234
+ "type": "string"
8235
+ },
8236
+ "version": {
8237
+ "description": "Exact SemVer, or null to return to automatic selection.",
8238
+ "type": [
8239
+ "string",
8240
+ "null"
8241
+ ]
8242
+ },
8243
+ "expected_revision": {
8244
+ "minimum": 0,
8245
+ "type": "integer"
8246
+ }
8247
+ },
8248
+ "required": [
8249
+ "target_id",
8250
+ "version"
8251
+ ]
8252
+ },
8253
+ "output_schema": {
8254
+ "properties": {
8255
+ "object": {
8256
+ "const": "target_draft",
8257
+ "type": "string"
8258
+ },
8259
+ "target_id": {
8260
+ "description": "Stable identifier for one configured generated product.",
8261
+ "examples": [
8262
+ "tgt_5m8q2v7k1p9d4h6c"
8263
+ ],
8264
+ "pattern": "^tgt_[a-z0-9]{16}$",
8265
+ "type": "string"
8266
+ },
8267
+ "revision": {
8268
+ "minimum": 0,
8269
+ "type": "integer"
8270
+ },
8271
+ "current_version": {
8272
+ "type": [
8273
+ "string",
8274
+ "null"
8275
+ ]
8276
+ },
8277
+ "version": {
8278
+ "type": [
8279
+ "string",
8280
+ "null"
8281
+ ]
8282
+ },
8283
+ "selection": {
8284
+ "anyOf": [
8285
+ {
8286
+ "properties": {
8287
+ "mode": {
8288
+ "const": "automatic",
8289
+ "type": "string"
8290
+ }
8291
+ },
8292
+ "type": "object"
8293
+ },
8294
+ {
8295
+ "properties": {
8296
+ "mode": {
8297
+ "const": "exact",
8298
+ "type": "string"
8299
+ },
8300
+ "version": {
8301
+ "type": "string"
8302
+ },
8303
+ "source": {
8304
+ "enum": [
8305
+ "console",
8306
+ "api",
8307
+ "github",
8308
+ null
8309
+ ],
8310
+ "type": [
8311
+ "string",
8312
+ "null"
8313
+ ]
8314
+ },
8315
+ "actor": {
8316
+ "type": [
8317
+ "string",
8318
+ "null"
8319
+ ]
8320
+ }
8321
+ },
8322
+ "type": "object"
8323
+ }
8324
+ ]
8325
+ },
8326
+ "readiness": {
8327
+ "type": [
8328
+ "object",
8329
+ "null"
8330
+ ]
8331
+ },
8332
+ "changes": {
8333
+ "properties": {
8334
+ "changelog": {
8335
+ "description": "Cumulative changelog against Current.",
8336
+ "type": [
8337
+ "string",
8338
+ "null"
8339
+ ]
8340
+ },
8341
+ "breaking_count": {
8342
+ "minimum": 0,
8343
+ "type": [
8344
+ "integer",
8345
+ "null"
8346
+ ]
8347
+ },
8348
+ "previous_version": {
8349
+ "type": [
8350
+ "string",
8351
+ "null"
8352
+ ]
8353
+ }
8354
+ },
8355
+ "type": [
8356
+ "object",
8357
+ "null"
8358
+ ]
8359
+ },
8360
+ "head_revision": {
8361
+ "type": [
8362
+ "string",
8363
+ "null"
8364
+ ]
8365
+ },
8366
+ "pull_request_url": {
8367
+ "format": "uri",
8368
+ "type": [
8369
+ "string",
8370
+ "null"
8371
+ ]
8372
+ },
8373
+ "request_id": {
8374
+ "description": "Server-generated identifier used to correlate this response with Typeship logs.",
8375
+ "examples": [
8376
+ "req_3k8m1v6q9p2d7h4c"
8377
+ ],
8378
+ "pattern": "^req_[a-z0-9]{16}$",
8379
+ "type": "string"
8380
+ }
8381
+ },
8382
+ "type": "object"
8383
+ },
8384
+ "example_arguments": {
8385
+ "target_id": "tgt_5m8q2v7k1p9d4h6c",
8386
+ "version": "1.0.0"
8387
+ }
8388
+ },
8389
+ {
8390
+ "operation": "targets.adoptRelease",
8391
+ "signature": "typeship targets adopt-release <target_id> [flags]",
8392
+ "command": [
8393
+ "typeship",
8394
+ "targets",
8395
+ "adopt-release"
8396
+ ],
8397
+ "parameters": [
8398
+ {
8399
+ "name": "target_id",
8400
+ "positional": true,
8401
+ "in": "path",
8402
+ "type": "string",
8403
+ "required": true
8404
+ },
8405
+ {
8406
+ "name": "version",
8407
+ "flag": "--body-version",
8408
+ "in": "body",
8409
+ "type": "string",
8410
+ "required": true
8411
+ },
8412
+ {
8413
+ "name": "tag",
8414
+ "flag": "--tag",
8415
+ "in": "body",
8416
+ "type": "string",
8417
+ "required": true
8418
+ },
8419
+ {
8420
+ "name": "Idempotency-Key",
8421
+ "flag": "--idempotency-key",
8422
+ "in": "header",
8423
+ "type": "string",
8424
+ "required": false
8425
+ }
8426
+ ],
8427
+ "example_command": "typeship targets adopt-release tgt_5m8q2v7k1p9d4h6c --body-version 1.0.0 --tag value",
8428
+ "method": "POST",
8429
+ "path": "/targets/{target_id}/adopt",
8430
+ "summary": "Adopt a verified existing package as Current",
8431
+ "description": "Verifies the repository tag, package metadata, and registry artifact; records an Imported Current release; then opens the first Typeship Draft at the next major version because no trusted generated baseline exists yet.",
8432
+ "safety": "write",
8433
+ "auth": "required",
8434
+ "security": [
8435
+ {
8436
+ "apiKey": []
8437
+ }
8438
+ ],
8439
+ "paginated": false,
8440
+ "input_schema": {
8441
+ "type": "object",
8442
+ "properties": {
8443
+ "target_id": {
8444
+ "description": "Stable identifier for one configured generated product.",
8445
+ "examples": [
8446
+ "tgt_5m8q2v7k1p9d4h6c"
8447
+ ],
8448
+ "pattern": "^tgt_[a-z0-9]{16}$",
8449
+ "type": "string"
8450
+ },
8451
+ "Idempotency-Key": {
8452
+ "minLength": 1,
8453
+ "maxLength": 255,
8454
+ "pattern": "^[!-~]+$",
8455
+ "type": "string",
8456
+ "description": "Identifies one logical write for 24 hours. The key is scoped to the authenticated account and operation; account-less generation uses a hashed network identity. Retrying the same method, path, query, and JSON body replays the original response. Reusing the key with changed intent returns 409. After expiry the key starts a new write."
8457
+ },
8458
+ "version": {
8459
+ "description": "Exact already-published package version to make Current.",
8460
+ "type": "string"
8461
+ },
8462
+ "tag": {
8463
+ "description": "Immutable repository tag containing the matching package source.",
8464
+ "minLength": 1,
8465
+ "maxLength": 255,
8466
+ "type": "string"
8467
+ }
8468
+ },
8469
+ "required": [
8470
+ "target_id",
8471
+ "version",
8472
+ "tag"
8473
+ ]
8474
+ },
8475
+ "output_schema": {
8476
+ "properties": {
8477
+ "id": {
8478
+ "examples": [
8479
+ "rel_7m2q8v4k1p9d5h6c"
8480
+ ],
8481
+ "pattern": "^rel_[a-z0-9]{16}$",
8482
+ "type": "string"
8483
+ },
8484
+ "object": {
8485
+ "const": "target_release",
8486
+ "type": "string"
8487
+ },
8488
+ "target_id": {
8489
+ "description": "Stable identifier for one configured generated product.",
8490
+ "examples": [
8491
+ "tgt_5m8q2v7k1p9d4h6c"
8492
+ ],
8493
+ "pattern": "^tgt_[a-z0-9]{16}$",
8494
+ "type": "string"
8495
+ },
8496
+ "generation_id": {
8497
+ "description": "Null only for a verified release imported during package adoption.",
8498
+ "anyOf": [
8499
+ {
8500
+ "description": "Unique identifier for a generation.",
8501
+ "examples": [
8502
+ "gen_7h2p5d9c3m8w1k6q"
8503
+ ],
8504
+ "pattern": "^gen_[a-z0-9]{16}$",
8505
+ "type": "string"
8506
+ },
8507
+ {
8508
+ "type": "null"
8509
+ }
8510
+ ]
8511
+ },
8512
+ "origin": {
8513
+ "enum": [
8514
+ "typeship",
8515
+ "imported"
8516
+ ],
8517
+ "type": "string"
8518
+ },
8519
+ "version": {
8520
+ "description": "Immutable package version released from this Target.",
8521
+ "type": "string"
8522
+ },
8523
+ "channel": {
8524
+ "enum": [
8525
+ "stable",
8526
+ "prerelease"
8527
+ ],
8528
+ "type": "string"
8529
+ },
8530
+ "provider": {
8531
+ "description": "Delivery provider that accepted the release.",
8532
+ "type": "string"
8533
+ },
8534
+ "repository": {
8535
+ "anyOf": [
8536
+ {
8537
+ "properties": {
8538
+ "provider": {
8539
+ "enum": [
8540
+ "github"
8541
+ ],
8542
+ "description": "GitHub is the only launch provider; the field is stable for future adapters.",
8543
+ "type": "string"
8544
+ },
8545
+ "identifier": {
8546
+ "description": "Provider-native repository identity, opaque outside its adapter.",
8547
+ "examples": [
8548
+ "acme/payments-api"
8549
+ ],
8550
+ "maxLength": 512,
8551
+ "type": "string"
8552
+ }
8553
+ },
8554
+ "type": "object"
8555
+ },
8556
+ {
8557
+ "type": "null"
8558
+ }
8559
+ ]
8560
+ },
8561
+ "definition_revision_id": {
8562
+ "anyOf": [
8563
+ {
8564
+ "description": "Unique identifier for an immutable resolved Definition Revision.",
8565
+ "examples": [
8566
+ "drev_6m1q8v4k2p9d7h3c"
8567
+ ],
8568
+ "pattern": "^drev_[a-z0-9]{16}$",
8569
+ "type": "string"
8570
+ },
8571
+ {
8572
+ "type": "null"
8573
+ }
8574
+ ]
8575
+ },
8576
+ "delivery_revision": {
8577
+ "description": "Immutable provider-native revision that was merged or published.",
8578
+ "type": "string"
8579
+ },
8580
+ "import_provenance": {
8581
+ "properties": {
8582
+ "tag": {
8583
+ "type": [
8584
+ "string",
8585
+ "null"
8586
+ ]
8587
+ },
8588
+ "registry_url": {
8589
+ "format": "uri",
8590
+ "type": [
8591
+ "string",
8592
+ "null"
8593
+ ]
8594
+ },
8595
+ "artifact_digest": {
8596
+ "type": [
8597
+ "string",
8598
+ "null"
8599
+ ]
8600
+ },
8601
+ "imported_at": {
8602
+ "format": "date-time",
8603
+ "type": [
8604
+ "string",
8605
+ "null"
8606
+ ]
8607
+ }
8608
+ },
8609
+ "type": [
8610
+ "object",
8611
+ "null"
8612
+ ]
8613
+ },
8614
+ "publications": {
8615
+ "items": {
8616
+ "properties": {
8617
+ "id": {
8618
+ "examples": [
8619
+ "pub_2m8q4v7k1p9d5h6c"
8620
+ ],
8621
+ "pattern": "^pub_[a-z0-9]{16}$",
8622
+ "type": "string"
8623
+ },
8624
+ "object": {
8625
+ "const": "publication",
8626
+ "type": "string"
8627
+ },
8628
+ "target_release_id": {
8629
+ "examples": [
8630
+ "rel_7m2q8v4k1p9d5h6c"
8631
+ ],
8632
+ "pattern": "^rel_[a-z0-9]{16}$",
8633
+ "type": "string"
8634
+ },
8635
+ "destination": {
8636
+ "enum": [
8637
+ "github",
8638
+ "npm",
8639
+ "pypi",
8640
+ "go",
8641
+ "mcp"
8642
+ ],
8643
+ "type": "string"
8644
+ },
8645
+ "state": {
8646
+ "enum": [
8647
+ "pending",
8648
+ "publishing",
8649
+ "published",
8650
+ "failed"
8651
+ ],
8652
+ "type": "string"
8653
+ },
8654
+ "attempt": {
8655
+ "minimum": 0,
8656
+ "type": "integer"
8657
+ },
8658
+ "run_url": {
8659
+ "format": "uri",
8660
+ "type": [
8661
+ "string",
8662
+ "null"
8663
+ ]
8664
+ },
8665
+ "registry_url": {
8666
+ "format": "uri",
8667
+ "type": [
8668
+ "string",
8669
+ "null"
8670
+ ]
8671
+ },
8672
+ "artifact_digest": {
8673
+ "type": [
8674
+ "string",
8675
+ "null"
8676
+ ]
8677
+ },
8678
+ "error": {
8679
+ "type": [
8680
+ "string",
8681
+ "null"
8682
+ ]
8683
+ },
8684
+ "started_at": {
8685
+ "format": "date-time",
8686
+ "type": [
8687
+ "string",
8688
+ "null"
8689
+ ]
8690
+ },
8691
+ "finished_at": {
8692
+ "format": "date-time",
8693
+ "type": [
8694
+ "string",
8695
+ "null"
8696
+ ]
8697
+ },
8698
+ "updated_at": {
8699
+ "format": "date-time",
8700
+ "type": "string"
8701
+ }
8702
+ },
8703
+ "type": "object"
8704
+ },
8705
+ "type": "array"
8706
+ },
8707
+ "created_at": {
8708
+ "format": "date-time",
8709
+ "type": "string"
8710
+ },
8711
+ "request_id": {
8712
+ "description": "Server-generated identifier used to correlate this response with Typeship logs.",
8713
+ "examples": [
8714
+ "req_3k8m1v6q9p2d7h4c"
8715
+ ],
8716
+ "pattern": "^req_[a-z0-9]{16}$",
8717
+ "type": "string"
8718
+ }
8719
+ },
8720
+ "type": "object"
8721
+ },
8722
+ "example_arguments": {
8723
+ "target_id": "tgt_5m8q2v7k1p9d4h6c",
8724
+ "version": "1.0.0",
8725
+ "tag": "value"
8726
+ }
8727
+ },
8728
+ {
8729
+ "operation": "targets.retrieveRelease",
8730
+ "signature": "typeship targets retrieve-release <target_release_id> [flags]",
8731
+ "command": [
8732
+ "typeship",
8733
+ "targets",
8734
+ "retrieve-release"
8735
+ ],
8736
+ "parameters": [
8737
+ {
8738
+ "name": "target_release_id",
8739
+ "positional": true,
8740
+ "in": "path",
8741
+ "type": "string",
8742
+ "required": true
8743
+ }
8744
+ ],
8745
+ "example_command": "typeship targets retrieve-release rel_7m2q8v4k1p9d5h6c",
8746
+ "method": "GET",
8747
+ "path": "/target_releases/{target_release_id}",
8748
+ "summary": "Retrieve an immutable Target release",
8749
+ "safety": "read",
8750
+ "auth": "required",
8751
+ "security": [
8752
+ {
8753
+ "apiKey": []
8754
+ }
8755
+ ],
8756
+ "paginated": false,
8757
+ "input_schema": {
8758
+ "type": "object",
8759
+ "properties": {
8760
+ "target_release_id": {
8761
+ "examples": [
8762
+ "rel_7m2q8v4k1p9d5h6c"
8763
+ ],
8764
+ "pattern": "^rel_[a-z0-9]{16}$",
8765
+ "type": "string"
8766
+ }
8767
+ },
8768
+ "required": [
8769
+ "target_release_id"
8770
+ ]
8771
+ },
8772
+ "output_schema": {
8773
+ "properties": {
8774
+ "id": {
8775
+ "examples": [
8776
+ "rel_7m2q8v4k1p9d5h6c"
8777
+ ],
8778
+ "pattern": "^rel_[a-z0-9]{16}$",
8779
+ "type": "string"
8780
+ },
8781
+ "object": {
8782
+ "const": "target_release",
8783
+ "type": "string"
8784
+ },
8785
+ "target_id": {
8786
+ "description": "Stable identifier for one configured generated product.",
8787
+ "examples": [
8788
+ "tgt_5m8q2v7k1p9d4h6c"
8789
+ ],
8790
+ "pattern": "^tgt_[a-z0-9]{16}$",
8791
+ "type": "string"
8792
+ },
8793
+ "generation_id": {
8794
+ "description": "Null only for a verified release imported during package adoption.",
8795
+ "anyOf": [
8796
+ {
8797
+ "description": "Unique identifier for a generation.",
8798
+ "examples": [
8799
+ "gen_7h2p5d9c3m8w1k6q"
8800
+ ],
8801
+ "pattern": "^gen_[a-z0-9]{16}$",
8802
+ "type": "string"
8803
+ },
8804
+ {
8805
+ "type": "null"
8806
+ }
8807
+ ]
8808
+ },
8809
+ "origin": {
8810
+ "enum": [
8811
+ "typeship",
8812
+ "imported"
8813
+ ],
8814
+ "type": "string"
8815
+ },
8816
+ "version": {
8817
+ "description": "Immutable package version released from this Target.",
8818
+ "type": "string"
8819
+ },
8820
+ "channel": {
8821
+ "enum": [
8822
+ "stable",
8823
+ "prerelease"
8824
+ ],
8825
+ "type": "string"
8826
+ },
8827
+ "provider": {
8828
+ "description": "Delivery provider that accepted the release.",
8829
+ "type": "string"
8830
+ },
8831
+ "repository": {
8832
+ "anyOf": [
8833
+ {
8834
+ "properties": {
8835
+ "provider": {
8836
+ "enum": [
8837
+ "github"
8838
+ ],
8839
+ "description": "GitHub is the only launch provider; the field is stable for future adapters.",
8840
+ "type": "string"
8841
+ },
8842
+ "identifier": {
8843
+ "description": "Provider-native repository identity, opaque outside its adapter.",
8844
+ "examples": [
8845
+ "acme/payments-api"
8846
+ ],
8847
+ "maxLength": 512,
8848
+ "type": "string"
8849
+ }
8850
+ },
8851
+ "type": "object"
8852
+ },
8853
+ {
8854
+ "type": "null"
8855
+ }
8856
+ ]
8857
+ },
8858
+ "definition_revision_id": {
8859
+ "anyOf": [
8860
+ {
8861
+ "description": "Unique identifier for an immutable resolved Definition Revision.",
8862
+ "examples": [
8863
+ "drev_6m1q8v4k2p9d7h3c"
8864
+ ],
8865
+ "pattern": "^drev_[a-z0-9]{16}$",
8866
+ "type": "string"
8867
+ },
8868
+ {
8869
+ "type": "null"
8870
+ }
8871
+ ]
8872
+ },
8873
+ "delivery_revision": {
8874
+ "description": "Immutable provider-native revision that was merged or published.",
8875
+ "type": "string"
8876
+ },
8877
+ "import_provenance": {
8878
+ "properties": {
8879
+ "tag": {
8880
+ "type": [
8881
+ "string",
8882
+ "null"
8883
+ ]
8884
+ },
8885
+ "registry_url": {
8886
+ "format": "uri",
8887
+ "type": [
8888
+ "string",
8889
+ "null"
8890
+ ]
8891
+ },
8892
+ "artifact_digest": {
8893
+ "type": [
8894
+ "string",
8895
+ "null"
8896
+ ]
8897
+ },
8898
+ "imported_at": {
8899
+ "format": "date-time",
8900
+ "type": [
8901
+ "string",
8902
+ "null"
8903
+ ]
8904
+ }
8905
+ },
8906
+ "type": [
8907
+ "object",
8908
+ "null"
8909
+ ]
8910
+ },
8911
+ "publications": {
8912
+ "items": {
8913
+ "properties": {
8914
+ "id": {
8915
+ "examples": [
8916
+ "pub_2m8q4v7k1p9d5h6c"
8917
+ ],
8918
+ "pattern": "^pub_[a-z0-9]{16}$",
8919
+ "type": "string"
8920
+ },
8921
+ "object": {
8922
+ "const": "publication",
8923
+ "type": "string"
8924
+ },
8925
+ "target_release_id": {
8926
+ "examples": [
8927
+ "rel_7m2q8v4k1p9d5h6c"
8928
+ ],
8929
+ "pattern": "^rel_[a-z0-9]{16}$",
8930
+ "type": "string"
8931
+ },
8932
+ "destination": {
8933
+ "enum": [
8934
+ "github",
8935
+ "npm",
8936
+ "pypi",
8937
+ "go",
8938
+ "mcp"
8939
+ ],
8940
+ "type": "string"
8941
+ },
8942
+ "state": {
8943
+ "enum": [
8944
+ "pending",
8945
+ "publishing",
8946
+ "published",
8947
+ "failed"
8948
+ ],
8949
+ "type": "string"
8950
+ },
8951
+ "attempt": {
8952
+ "minimum": 0,
8953
+ "type": "integer"
8954
+ },
8955
+ "run_url": {
8956
+ "format": "uri",
8957
+ "type": [
8958
+ "string",
8959
+ "null"
8960
+ ]
8961
+ },
8962
+ "registry_url": {
8963
+ "format": "uri",
8964
+ "type": [
8965
+ "string",
8966
+ "null"
8967
+ ]
8968
+ },
8969
+ "artifact_digest": {
8970
+ "type": [
8971
+ "string",
8972
+ "null"
8973
+ ]
8974
+ },
8975
+ "error": {
8976
+ "type": [
8977
+ "string",
8978
+ "null"
8979
+ ]
8980
+ },
8981
+ "started_at": {
8982
+ "format": "date-time",
8983
+ "type": [
8984
+ "string",
8985
+ "null"
8986
+ ]
8987
+ },
8988
+ "finished_at": {
8989
+ "format": "date-time",
8990
+ "type": [
8991
+ "string",
8992
+ "null"
8993
+ ]
8994
+ },
8995
+ "updated_at": {
8996
+ "format": "date-time",
8997
+ "type": "string"
8998
+ }
8999
+ },
9000
+ "type": "object"
9001
+ },
9002
+ "type": "array"
9003
+ },
9004
+ "created_at": {
9005
+ "format": "date-time",
9006
+ "type": "string"
9007
+ },
9008
+ "request_id": {
9009
+ "description": "Server-generated identifier used to correlate this response with Typeship logs.",
9010
+ "examples": [
9011
+ "req_3k8m1v6q9p2d7h4c"
9012
+ ],
9013
+ "pattern": "^req_[a-z0-9]{16}$",
9014
+ "type": "string"
9015
+ }
9016
+ },
9017
+ "type": "object"
9018
+ },
9019
+ "example_arguments": {
9020
+ "target_release_id": "rel_7m2q8v4k1p9d5h6c"
9021
+ }
9022
+ },
9023
+ {
9024
+ "operation": "targets.republishRelease",
9025
+ "signature": "typeship targets republish-release <target_release_id> [flags]",
9026
+ "command": [
9027
+ "typeship",
9028
+ "targets",
9029
+ "republish-release"
9030
+ ],
9031
+ "parameters": [
9032
+ {
9033
+ "name": "target_release_id",
9034
+ "positional": true,
9035
+ "in": "path",
9036
+ "type": "string",
9037
+ "required": true
9038
+ },
9039
+ {
9040
+ "name": "Idempotency-Key",
9041
+ "flag": "--idempotency-key",
9042
+ "in": "header",
9043
+ "type": "string",
9044
+ "required": false
9045
+ }
9046
+ ],
9047
+ "example_command": "typeship targets republish-release rel_7m2q8v4k1p9d5h6c",
9048
+ "method": "POST",
9049
+ "path": "/target_releases/{target_release_id}/republish",
9050
+ "summary": "Retry publication of an exact Target release",
9051
+ "description": "Dispatches the repository-owned republish workflow for this immutable version and accepted commit. It never selects the latest Draft or release.",
9052
+ "safety": "write",
9053
+ "auth": "required",
9054
+ "security": [
9055
+ {
9056
+ "apiKey": []
9057
+ }
9058
+ ],
9059
+ "paginated": false,
9060
+ "input_schema": {
9061
+ "type": "object",
9062
+ "properties": {
9063
+ "target_release_id": {
9064
+ "examples": [
9065
+ "rel_7m2q8v4k1p9d5h6c"
9066
+ ],
9067
+ "pattern": "^rel_[a-z0-9]{16}$",
9068
+ "type": "string"
9069
+ },
9070
+ "Idempotency-Key": {
9071
+ "minLength": 1,
9072
+ "maxLength": 255,
9073
+ "pattern": "^[!-~]+$",
9074
+ "type": "string",
9075
+ "description": "Identifies one logical write for 24 hours. The key is scoped to the authenticated account and operation; account-less generation uses a hashed network identity. Retrying the same method, path, query, and JSON body replays the original response. Reusing the key with changed intent returns 409. After expiry the key starts a new write."
9076
+ }
9077
+ },
9078
+ "required": [
9079
+ "target_release_id"
7704
9080
  ]
7705
9081
  },
7706
9082
  "output_schema": {
@@ -7725,11 +9101,26 @@
7725
9101
  "type": "string"
7726
9102
  },
7727
9103
  "generation_id": {
7728
- "description": "Unique identifier for a generation.",
7729
- "examples": [
7730
- "gen_7h2p5d9c3m8w1k6q"
9104
+ "description": "Null only for a verified release imported during package adoption.",
9105
+ "anyOf": [
9106
+ {
9107
+ "description": "Unique identifier for a generation.",
9108
+ "examples": [
9109
+ "gen_7h2p5d9c3m8w1k6q"
9110
+ ],
9111
+ "pattern": "^gen_[a-z0-9]{16}$",
9112
+ "type": "string"
9113
+ },
9114
+ {
9115
+ "type": "null"
9116
+ }
9117
+ ]
9118
+ },
9119
+ "origin": {
9120
+ "enum": [
9121
+ "typeship",
9122
+ "imported"
7731
9123
  ],
7732
- "pattern": "^gen_[a-z0-9]{16}$",
7733
9124
  "type": "string"
7734
9125
  },
7735
9126
  "version": {
@@ -7793,6 +9184,133 @@
7793
9184
  "description": "Immutable provider-native revision that was merged or published.",
7794
9185
  "type": "string"
7795
9186
  },
9187
+ "import_provenance": {
9188
+ "properties": {
9189
+ "tag": {
9190
+ "type": [
9191
+ "string",
9192
+ "null"
9193
+ ]
9194
+ },
9195
+ "registry_url": {
9196
+ "format": "uri",
9197
+ "type": [
9198
+ "string",
9199
+ "null"
9200
+ ]
9201
+ },
9202
+ "artifact_digest": {
9203
+ "type": [
9204
+ "string",
9205
+ "null"
9206
+ ]
9207
+ },
9208
+ "imported_at": {
9209
+ "format": "date-time",
9210
+ "type": [
9211
+ "string",
9212
+ "null"
9213
+ ]
9214
+ }
9215
+ },
9216
+ "type": [
9217
+ "object",
9218
+ "null"
9219
+ ]
9220
+ },
9221
+ "publications": {
9222
+ "items": {
9223
+ "properties": {
9224
+ "id": {
9225
+ "examples": [
9226
+ "pub_2m8q4v7k1p9d5h6c"
9227
+ ],
9228
+ "pattern": "^pub_[a-z0-9]{16}$",
9229
+ "type": "string"
9230
+ },
9231
+ "object": {
9232
+ "const": "publication",
9233
+ "type": "string"
9234
+ },
9235
+ "target_release_id": {
9236
+ "examples": [
9237
+ "rel_7m2q8v4k1p9d5h6c"
9238
+ ],
9239
+ "pattern": "^rel_[a-z0-9]{16}$",
9240
+ "type": "string"
9241
+ },
9242
+ "destination": {
9243
+ "enum": [
9244
+ "github",
9245
+ "npm",
9246
+ "pypi",
9247
+ "go",
9248
+ "mcp"
9249
+ ],
9250
+ "type": "string"
9251
+ },
9252
+ "state": {
9253
+ "enum": [
9254
+ "pending",
9255
+ "publishing",
9256
+ "published",
9257
+ "failed"
9258
+ ],
9259
+ "type": "string"
9260
+ },
9261
+ "attempt": {
9262
+ "minimum": 0,
9263
+ "type": "integer"
9264
+ },
9265
+ "run_url": {
9266
+ "format": "uri",
9267
+ "type": [
9268
+ "string",
9269
+ "null"
9270
+ ]
9271
+ },
9272
+ "registry_url": {
9273
+ "format": "uri",
9274
+ "type": [
9275
+ "string",
9276
+ "null"
9277
+ ]
9278
+ },
9279
+ "artifact_digest": {
9280
+ "type": [
9281
+ "string",
9282
+ "null"
9283
+ ]
9284
+ },
9285
+ "error": {
9286
+ "type": [
9287
+ "string",
9288
+ "null"
9289
+ ]
9290
+ },
9291
+ "started_at": {
9292
+ "format": "date-time",
9293
+ "type": [
9294
+ "string",
9295
+ "null"
9296
+ ]
9297
+ },
9298
+ "finished_at": {
9299
+ "format": "date-time",
9300
+ "type": [
9301
+ "string",
9302
+ "null"
9303
+ ]
9304
+ },
9305
+ "updated_at": {
9306
+ "format": "date-time",
9307
+ "type": "string"
9308
+ }
9309
+ },
9310
+ "type": "object"
9311
+ },
9312
+ "type": "array"
9313
+ },
7796
9314
  "created_at": {
7797
9315
  "format": "date-time",
7798
9316
  "type": "string"