@shipeasy/openapi 3.0.0 → 3.1.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/dist/schemas.d.ts CHANGED
@@ -2754,13 +2754,11 @@ declare const zApproveEventResponse: z.ZodObject<{
2754
2754
  id: z.ZodString;
2755
2755
  }, z.core.$strip>;
2756
2756
  /**
2757
- * Lifecycle status of a queue item. The working flow is `open` → `triaged` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can't progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. Two human-gated holding states park an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes them under `status=all`/default and returns them only when requested as an exact `status`: `pending_approval` is the pre-open approval gate for untriaged inbound (e.g. connector requests filed from a customer's connectors panel) so it never gets auto-implemented — approving = flipping the status to `open`; `triage` is the onboarding-help bucket — questions/errors submitted to the "Stuck in onboarding?" assistant are funnelled into the platform project as `triage` rows so the team can see where people get stuck and follow up, keeping onboarding chatter out of the work queue until a human moves real items to `open`.
2757
+ * Lifecycle status of a queue item. The working flow is `open` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can't progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. `pending_approval` is the one human-gated holding state: it parks an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes it under `status=all`/default and returns it only when requested as an exact `status`. It covers untriaged inbound that must never be auto-implemented — connector requests filed from a customer's connectors panel, and questions funnelled in from the "Stuck in onboarding?" assistant — where approving means flipping the status to `open`. Two earlier values were removed in favour of this single gate: `triage` (the onboarding-help bucket, now `pending_approval`) and `triaged` (a redundant "looked at but not started" step, now plain `open`).
2758
2758
  */
2759
2759
  declare const zOpsItemStatus: z.ZodEnum<{
2760
2760
  open: "open";
2761
2761
  pending_approval: "pending_approval";
2762
- triage: "triage";
2763
- triaged: "triaged";
2764
2762
  investigating_by_ai: "investigating_by_ai";
2765
2763
  in_progress: "in_progress";
2766
2764
  blocked: "blocked";
@@ -2778,18 +2776,17 @@ declare const zOpsItemPriority: z.ZodEnum<{
2778
2776
  critical: "critical";
2779
2777
  }>;
2780
2778
  /**
2781
- * Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as "what AI did" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `needs_triage`/`backlog` (by priority) or `investigated`/`detected` for auto-filed error/alert tickets. `triaged_low` marks a low-signal item AI has looked at but that nothing is moving. Absent on rows filed before the field existed — consumers should treat a missing value as "derive from the other fields".
2779
+ * Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as "what AI did" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `backlog` or `investigated`/`detected` for auto-filed error/alert tickets. `backlog` is the single "nothing has happened yet" state — how urgent that is reads off `priority`, not off a separate state, and its one action is to hand the item to an agent. `pr_merged` is derived client-side by scanning the linked pull request on GitHub, so it is accepted on write but not currently emitted by the API. Absent on rows filed before the field existed — consumers should treat a missing value as "derive from the other fields".
2782
2780
  */
2783
2781
  declare const zOpsInvestigationState: z.ZodEnum<{
2784
2782
  pending_approval: "pending_approval";
2785
2783
  ready_for_qa: "ready_for_qa";
2786
2784
  pr_ready: "pr_ready";
2785
+ pr_merged: "pr_merged";
2787
2786
  investigated: "investigated";
2788
2787
  detected: "detected";
2789
2788
  question: "question";
2790
- needs_triage: "needs_triage";
2791
2789
  working: "working";
2792
- triaged_low: "triaged_low";
2793
2790
  backlog: "backlog";
2794
2791
  }>;
2795
2792
  /**
@@ -3213,8 +3210,6 @@ declare const zListOpsItemsResponse: z.ZodArray<z.ZodObject<{
3213
3210
  status: z.ZodEnum<{
3214
3211
  open: "open";
3215
3212
  pending_approval: "pending_approval";
3216
- triage: "triage";
3217
- triaged: "triaged";
3218
3213
  investigating_by_ai: "investigating_by_ai";
3219
3214
  in_progress: "in_progress";
3220
3215
  blocked: "blocked";
@@ -3233,12 +3228,11 @@ declare const zListOpsItemsResponse: z.ZodArray<z.ZodObject<{
3233
3228
  pending_approval: "pending_approval";
3234
3229
  ready_for_qa: "ready_for_qa";
3235
3230
  pr_ready: "pr_ready";
3231
+ pr_merged: "pr_merged";
3236
3232
  investigated: "investigated";
3237
3233
  detected: "detected";
3238
3234
  question: "question";
3239
- needs_triage: "needs_triage";
3240
3235
  working: "working";
3241
- triaged_low: "triaged_low";
3242
3236
  backlog: "backlog";
3243
3237
  }>>>;
3244
3238
  source: z.ZodEnum<{
@@ -3470,8 +3464,6 @@ declare const zCreateBugRequest: z.ZodObject<{
3470
3464
  status: z.ZodOptional<z.ZodEnum<{
3471
3465
  open: "open";
3472
3466
  pending_approval: "pending_approval";
3473
- triage: "triage";
3474
- triaged: "triaged";
3475
3467
  investigating_by_ai: "investigating_by_ai";
3476
3468
  in_progress: "in_progress";
3477
3469
  blocked: "blocked";
@@ -3514,8 +3506,6 @@ declare const zCreateFeatureRequestRequest: z.ZodObject<{
3514
3506
  status: z.ZodOptional<z.ZodEnum<{
3515
3507
  open: "open";
3516
3508
  pending_approval: "pending_approval";
3517
- triage: "triage";
3518
- triaged: "triaged";
3519
3509
  investigating_by_ai: "investigating_by_ai";
3520
3510
  in_progress: "in_progress";
3521
3511
  blocked: "blocked";
@@ -3555,8 +3545,6 @@ declare const zCreateOpsItemRequest: z.ZodDiscriminatedUnion<[z.ZodObject<{
3555
3545
  status: z.ZodOptional<z.ZodEnum<{
3556
3546
  open: "open";
3557
3547
  pending_approval: "pending_approval";
3558
- triage: "triage";
3559
- triaged: "triaged";
3560
3548
  investigating_by_ai: "investigating_by_ai";
3561
3549
  in_progress: "in_progress";
3562
3550
  blocked: "blocked";
@@ -3593,8 +3581,6 @@ declare const zCreateOpsItemRequest: z.ZodDiscriminatedUnion<[z.ZodObject<{
3593
3581
  status: z.ZodOptional<z.ZodEnum<{
3594
3582
  open: "open";
3595
3583
  pending_approval: "pending_approval";
3596
- triage: "triage";
3597
- triaged: "triaged";
3598
3584
  investigating_by_ai: "investigating_by_ai";
3599
3585
  in_progress: "in_progress";
3600
3586
  blocked: "blocked";
@@ -3664,8 +3650,6 @@ declare const zGetOpsItemResponse: z.ZodObject<{
3664
3650
  status: z.ZodEnum<{
3665
3651
  open: "open";
3666
3652
  pending_approval: "pending_approval";
3667
- triage: "triage";
3668
- triaged: "triaged";
3669
3653
  investigating_by_ai: "investigating_by_ai";
3670
3654
  in_progress: "in_progress";
3671
3655
  blocked: "blocked";
@@ -3688,12 +3672,11 @@ declare const zGetOpsItemResponse: z.ZodObject<{
3688
3672
  pending_approval: "pending_approval";
3689
3673
  ready_for_qa: "ready_for_qa";
3690
3674
  pr_ready: "pr_ready";
3675
+ pr_merged: "pr_merged";
3691
3676
  investigated: "investigated";
3692
3677
  detected: "detected";
3693
3678
  question: "question";
3694
- needs_triage: "needs_triage";
3695
3679
  working: "working";
3696
- triaged_low: "triaged_low";
3697
3680
  backlog: "backlog";
3698
3681
  }>>>;
3699
3682
  reporterEmail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -3917,8 +3900,6 @@ declare const zUpdateBugRequest: z.ZodObject<{
3917
3900
  status: z.ZodOptional<z.ZodEnum<{
3918
3901
  open: "open";
3919
3902
  pending_approval: "pending_approval";
3920
- triage: "triage";
3921
- triaged: "triaged";
3922
3903
  investigating_by_ai: "investigating_by_ai";
3923
3904
  in_progress: "in_progress";
3924
3905
  blocked: "blocked";
@@ -3951,8 +3932,6 @@ declare const zUpdateFeatureRequestRequest: z.ZodObject<{
3951
3932
  status: z.ZodOptional<z.ZodEnum<{
3952
3933
  open: "open";
3953
3934
  pending_approval: "pending_approval";
3954
- triage: "triage";
3955
- triaged: "triaged";
3956
3935
  investigating_by_ai: "investigating_by_ai";
3957
3936
  in_progress: "in_progress";
3958
3937
  blocked: "blocked";
@@ -3982,8 +3961,6 @@ declare const zUpdateOpsItemStatusRequest: z.ZodObject<{
3982
3961
  status: z.ZodOptional<z.ZodEnum<{
3983
3962
  open: "open";
3984
3963
  pending_approval: "pending_approval";
3985
- triage: "triage";
3986
- triaged: "triaged";
3987
3964
  investigating_by_ai: "investigating_by_ai";
3988
3965
  in_progress: "in_progress";
3989
3966
  blocked: "blocked";
@@ -4016,8 +3993,6 @@ declare const zUpdateOpsItemRequest: z.ZodUnion<readonly [z.ZodObject<{
4016
3993
  status: z.ZodOptional<z.ZodEnum<{
4017
3994
  open: "open";
4018
3995
  pending_approval: "pending_approval";
4019
- triage: "triage";
4020
- triaged: "triaged";
4021
3996
  investigating_by_ai: "investigating_by_ai";
4022
3997
  in_progress: "in_progress";
4023
3998
  blocked: "blocked";
@@ -4046,8 +4021,6 @@ declare const zUpdateOpsItemRequest: z.ZodUnion<readonly [z.ZodObject<{
4046
4021
  status: z.ZodOptional<z.ZodEnum<{
4047
4022
  open: "open";
4048
4023
  pending_approval: "pending_approval";
4049
- triage: "triage";
4050
- triaged: "triaged";
4051
4024
  investigating_by_ai: "investigating_by_ai";
4052
4025
  in_progress: "in_progress";
4053
4026
  blocked: "blocked";
@@ -4073,8 +4046,6 @@ declare const zUpdateOpsItemRequest: z.ZodUnion<readonly [z.ZodObject<{
4073
4046
  status: z.ZodOptional<z.ZodEnum<{
4074
4047
  open: "open";
4075
4048
  pending_approval: "pending_approval";
4076
- triage: "triage";
4077
- triaged: "triaged";
4078
4049
  investigating_by_ai: "investigating_by_ai";
4079
4050
  in_progress: "in_progress";
4080
4051
  blocked: "blocked";
@@ -8535,8 +8506,6 @@ declare const zListOpsItemsQuery: z.ZodObject<{
8535
8506
  status: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
8536
8507
  open: "open";
8537
8508
  pending_approval: "pending_approval";
8538
- triage: "triage";
8539
- triaged: "triaged";
8540
8509
  investigating_by_ai: "investigating_by_ai";
8541
8510
  in_progress: "in_progress";
8542
8511
  blocked: "blocked";
@@ -8564,8 +8533,6 @@ declare const zListOpsItemsResponse2: z.ZodArray<z.ZodObject<{
8564
8533
  status: z.ZodEnum<{
8565
8534
  open: "open";
8566
8535
  pending_approval: "pending_approval";
8567
- triage: "triage";
8568
- triaged: "triaged";
8569
8536
  investigating_by_ai: "investigating_by_ai";
8570
8537
  in_progress: "in_progress";
8571
8538
  blocked: "blocked";
@@ -8584,12 +8551,11 @@ declare const zListOpsItemsResponse2: z.ZodArray<z.ZodObject<{
8584
8551
  pending_approval: "pending_approval";
8585
8552
  ready_for_qa: "ready_for_qa";
8586
8553
  pr_ready: "pr_ready";
8554
+ pr_merged: "pr_merged";
8587
8555
  investigated: "investigated";
8588
8556
  detected: "detected";
8589
8557
  question: "question";
8590
- needs_triage: "needs_triage";
8591
8558
  working: "working";
8592
- triaged_low: "triaged_low";
8593
8559
  backlog: "backlog";
8594
8560
  }>>>;
8595
8561
  source: z.ZodEnum<{
@@ -8815,8 +8781,6 @@ declare const zCreateOpsItemBody: z.ZodDiscriminatedUnion<[z.ZodObject<{
8815
8781
  status: z.ZodOptional<z.ZodEnum<{
8816
8782
  open: "open";
8817
8783
  pending_approval: "pending_approval";
8818
- triage: "triage";
8819
- triaged: "triaged";
8820
8784
  investigating_by_ai: "investigating_by_ai";
8821
8785
  in_progress: "in_progress";
8822
8786
  blocked: "blocked";
@@ -8853,8 +8817,6 @@ declare const zCreateOpsItemBody: z.ZodDiscriminatedUnion<[z.ZodObject<{
8853
8817
  status: z.ZodOptional<z.ZodEnum<{
8854
8818
  open: "open";
8855
8819
  pending_approval: "pending_approval";
8856
- triage: "triage";
8857
- triaged: "triaged";
8858
8820
  investigating_by_ai: "investigating_by_ai";
8859
8821
  in_progress: "in_progress";
8860
8822
  blocked: "blocked";
@@ -8923,8 +8885,6 @@ declare const zGetOpsItemResponse2: z.ZodObject<{
8923
8885
  status: z.ZodEnum<{
8924
8886
  open: "open";
8925
8887
  pending_approval: "pending_approval";
8926
- triage: "triage";
8927
- triaged: "triaged";
8928
8888
  investigating_by_ai: "investigating_by_ai";
8929
8889
  in_progress: "in_progress";
8930
8890
  blocked: "blocked";
@@ -8947,12 +8907,11 @@ declare const zGetOpsItemResponse2: z.ZodObject<{
8947
8907
  pending_approval: "pending_approval";
8948
8908
  ready_for_qa: "ready_for_qa";
8949
8909
  pr_ready: "pr_ready";
8910
+ pr_merged: "pr_merged";
8950
8911
  investigated: "investigated";
8951
8912
  detected: "detected";
8952
8913
  question: "question";
8953
- needs_triage: "needs_triage";
8954
8914
  working: "working";
8955
- triaged_low: "triaged_low";
8956
8915
  backlog: "backlog";
8957
8916
  }>>>;
8958
8917
  reporterEmail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -9148,8 +9107,6 @@ declare const zUpdateOpsItemBody: z.ZodUnion<readonly [z.ZodObject<{
9148
9107
  status: z.ZodOptional<z.ZodEnum<{
9149
9108
  open: "open";
9150
9109
  pending_approval: "pending_approval";
9151
- triage: "triage";
9152
- triaged: "triaged";
9153
9110
  investigating_by_ai: "investigating_by_ai";
9154
9111
  in_progress: "in_progress";
9155
9112
  blocked: "blocked";
@@ -9178,8 +9135,6 @@ declare const zUpdateOpsItemBody: z.ZodUnion<readonly [z.ZodObject<{
9178
9135
  status: z.ZodOptional<z.ZodEnum<{
9179
9136
  open: "open";
9180
9137
  pending_approval: "pending_approval";
9181
- triage: "triage";
9182
- triaged: "triaged";
9183
9138
  investigating_by_ai: "investigating_by_ai";
9184
9139
  in_progress: "in_progress";
9185
9140
  blocked: "blocked";
@@ -9205,8 +9160,6 @@ declare const zUpdateOpsItemBody: z.ZodUnion<readonly [z.ZodObject<{
9205
9160
  status: z.ZodOptional<z.ZodEnum<{
9206
9161
  open: "open";
9207
9162
  pending_approval: "pending_approval";
9208
- triage: "triage";
9209
- triaged: "triaged";
9210
9163
  investigating_by_ai: "investigating_by_ai";
9211
9164
  in_progress: "in_progress";
9212
9165
  blocked: "blocked";
package/dist/schemas.js CHANGED
@@ -678,7 +678,7 @@ import {
678
678
  zUpsertProjectRequest,
679
679
  zUpsertProjectResponse,
680
680
  zUpsertProjectResponse2
681
- } from "./chunk-7T77D5YO.js";
681
+ } from "./chunk-UV333BIK.js";
682
682
  export {
683
683
  zAckOpsItemBody,
684
684
  zAckOpsItemHeaders,
package/openapi.json CHANGED
@@ -6939,7 +6939,7 @@
6939
6939
  "name": "status",
6940
6940
  "in": "query",
6941
6941
  "required": false,
6942
- "description": "Filter by lifecycle status, or `all`. The human-gated holding states (`pending_approval`, `triage`) are excluded from `all`/default and returned only when requested as the exact status.",
6942
+ "description": "Filter by lifecycle status, or `all`. The human-gated holding state (`pending_approval`) is excluded from `all`/default and returned only when requested as the exact status.",
6943
6943
  "schema": {
6944
6944
  "anyOf": [
6945
6945
  {
@@ -19272,8 +19272,6 @@
19272
19272
  "enum": [
19273
19273
  "open",
19274
19274
  "pending_approval",
19275
- "triage",
19276
- "triaged",
19277
19275
  "investigating_by_ai",
19278
19276
  "in_progress",
19279
19277
  "blocked",
@@ -19281,7 +19279,7 @@
19281
19279
  "resolved",
19282
19280
  "wont_fix"
19283
19281
  ],
19284
- "description": "Lifecycle status of a queue item. The working flow is `open` → `triaged` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can't progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. Two human-gated holding states park an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes them under `status=all`/default and returns them only when requested as an exact `status`: `pending_approval` is the pre-open approval gate for untriaged inbound (e.g. connector requests filed from a customer's connectors panel) so it never gets auto-implemented — approving = flipping the status to `open`; `triage` is the onboarding-help bucket — questions/errors submitted to the \"Stuck in onboarding?\" assistant are funnelled into the platform project as `triage` rows so the team can see where people get stuck and follow up, keeping onboarding chatter out of the work queue until a human moves real items to `open`."
19282
+ "description": "Lifecycle status of a queue item. The working flow is `open` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can't progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. `pending_approval` is the one human-gated holding state: it parks an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes it under `status=all`/default and returns it only when requested as an exact `status`. It covers untriaged inbound that must never be auto-implemented — connector requests filed from a customer's connectors panel, and questions funnelled in from the \"Stuck in onboarding?\" assistant — where approving means flipping the status to `open`. Two earlier values were removed in favour of this single gate: `triage` (the onboarding-help bucket, now `pending_approval`) and `triaged` (a redundant \"looked at but not started\" step, now plain `open`)."
19285
19283
  },
19286
19284
  "OpsItemPriority": {
19287
19285
  "type": "string",
@@ -19297,17 +19295,16 @@
19297
19295
  "type": "string",
19298
19296
  "enum": [
19299
19297
  "pr_ready",
19298
+ "pr_merged",
19300
19299
  "investigated",
19301
19300
  "detected",
19302
19301
  "question",
19303
19302
  "ready_for_qa",
19304
19303
  "pending_approval",
19305
- "needs_triage",
19306
19304
  "working",
19307
- "triaged_low",
19308
19305
  "backlog"
19309
19306
  ],
19310
- "description": "Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as \"what AI did\" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `needs_triage`/`backlog` (by priority) or `investigated`/`detected` for auto-filed error/alert tickets. `triaged_low` marks a low-signal item AI has looked at but that nothing is moving. Absent on rows filed before the field existed — consumers should treat a missing value as \"derive from the other fields\"."
19307
+ "description": "Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as \"what AI did\" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `backlog` or `investigated`/`detected` for auto-filed error/alert tickets. `backlog` is the single \"nothing has happened yet\" state — how urgent that is reads off `priority`, not off a separate state, and its one action is to hand the item to an agent. `pr_merged` is derived client-side by scanning the linked pull request on GitHub, so it is accepted on write but not currently emitted by the API. Absent on rows filed before the field existed — consumers should treat a missing value as \"derive from the other fields\"."
19311
19308
  },
19312
19309
  "OpsBrowserContext": {
19313
19310
  "type": "object",
package/openapi.yaml CHANGED
@@ -5078,7 +5078,7 @@ paths:
5078
5078
  - name: status
5079
5079
  in: query
5080
5080
  required: false
5081
- description: Filter by lifecycle status, or `all`. The human-gated holding states (`pending_approval`, `triage`) are excluded from `all`/default and returned only when requested as the exact status.
5081
+ description: Filter by lifecycle status, or `all`. The human-gated holding state (`pending_approval`) is excluded from `all`/default and returned only when requested as the exact status.
5082
5082
  schema:
5083
5083
  anyOf:
5084
5084
  - $ref: '#/components/schemas/OpsItemStatus'
@@ -13925,15 +13925,13 @@ components:
13925
13925
  enum:
13926
13926
  - open
13927
13927
  - pending_approval
13928
- - triage
13929
- - triaged
13930
13928
  - investigating_by_ai
13931
13929
  - in_progress
13932
13930
  - blocked
13933
13931
  - ready_for_qa
13934
13932
  - resolved
13935
13933
  - wont_fix
13936
- description: 'Lifecycle status of a queue item. The working flow is `open` → `triaged` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can''t progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. Two human-gated holding states park an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes them under `status=all`/default and returns them only when requested as an exact `status`: `pending_approval` is the pre-open approval gate for untriaged inbound (e.g. connector requests filed from a customer''s connectors panel) so it never gets auto-implemented — approving = flipping the status to `open`; `triage` is the onboarding-help bucket — questions/errors submitted to the "Stuck in onboarding?" assistant are funnelled into the platform project as `triage` rows so the team can see where people get stuck and follow up, keeping onboarding chatter out of the work queue until a human moves real items to `open`.'
13934
+ description: 'Lifecycle status of a queue item. The working flow is `open` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can''t progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. `pending_approval` is the one human-gated holding state: it parks an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes it under `status=all`/default and returns it only when requested as an exact `status`. It covers untriaged inbound that must never be auto-implemented — connector requests filed from a customer''s connectors panel, and questions funnelled in from the "Stuck in onboarding?" assistant — where approving means flipping the status to `open`. Two earlier values were removed in favour of this single gate: `triage` (the onboarding-help bucket, now `pending_approval`) and `triaged` (a redundant "looked at but not started" step, now plain `open`).'
13937
13935
  OpsItemPriority:
13938
13936
  type: string
13939
13937
  enum:
@@ -13946,16 +13944,15 @@ components:
13946
13944
  type: string
13947
13945
  enum:
13948
13946
  - pr_ready
13947
+ - pr_merged
13949
13948
  - investigated
13950
13949
  - detected
13951
13950
  - question
13952
13951
  - ready_for_qa
13953
13952
  - pending_approval
13954
- - needs_triage
13955
13953
  - working
13956
- - triaged_low
13957
13954
  - backlog
13958
- description: 'Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as "what AI did" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `needs_triage`/`backlog` (by priority) or `investigated`/`detected` for auto-filed error/alert tickets. `triaged_low` marks a low-signal item AI has looked at but that nothing is moving. Absent on rows filed before the field existed — consumers should treat a missing value as "derive from the other fields".'
13955
+ description: 'Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as "what AI did" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `backlog` or `investigated`/`detected` for auto-filed error/alert tickets. `backlog` is the single "nothing has happened yet" state — how urgent that is reads off `priority`, not off a separate state, and its one action is to hand the item to an agent. `pr_merged` is derived client-side by scanning the linked pull request on GitHub, so it is accepted on write but not currently emitted by the API. Absent on rows filed before the field existed — consumers should treat a missing value as "derive from the other fields".'
13959
13956
  OpsBrowserContext:
13960
13957
  type: object
13961
13958
  properties:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipeasy/openapi",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Shipeasy admin OpenAPI 3.2 spec (hand-authored, single source of truth) + the generated TypeScript client, Zod schemas, and types. Consumed by @shipeasy/cli and @shipeasy/mcp.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1093,8 +1093,6 @@ OpsItemStatus:
1093
1093
  enum:
1094
1094
  - open
1095
1095
  - pending_approval
1096
- - triage
1097
- - triaged
1098
1096
  - investigating_by_ai
1099
1097
  - in_progress
1100
1098
  - blocked
@@ -1102,7 +1100,7 @@ OpsItemStatus:
1102
1100
  - resolved
1103
1101
  - wont_fix
1104
1102
  description: >-
1105
- Lifecycle status of a queue item. The working flow is `open` → `triaged` →
1103
+ Lifecycle status of a queue item. The working flow is `open` →
1106
1104
  `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from
1107
1105
  any earlier stage). `blocked` marks an item that can't progress until an
1108
1106
  external dependency clears — a working state a human sets and clears.
@@ -1111,18 +1109,17 @@ OpsItemStatus:
1111
1109
  after verification — set it directly from code only when the fix has been
1112
1110
  verified end-to-end. `investigating_by_ai` is a system-owned display state —
1113
1111
  set when the AI agent (Jarvis) picks an item up to investigate, never chosen
1114
- by a human — so it is shown but not offered as a manual choice. Two
1115
- human-gated holding states park an item OUT of the work queue until a human
1116
- promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes
1117
- them under `status=all`/default and returns them only when requested as an
1118
- exact `status`: `pending_approval` is the pre-open approval gate for
1119
- untriaged inbound (e.g. connector requests filed from a customer's
1120
- connectors panel) so it never gets auto-implemented — approving = flipping
1121
- the status to `open`; `triage` is the onboarding-help bucket —
1122
- questions/errors submitted to the "Stuck in onboarding?" assistant are
1123
- funnelled into the platform project as `triage` rows so the team can see
1124
- where people get stuck and follow up, keeping onboarding chatter out of the
1125
- work queue until a human moves real items to `open`.
1112
+ by a human — so it is shown but not offered as a manual choice.
1113
+ `pending_approval` is the one human-gated holding state: it parks an item
1114
+ OUT of the work queue until a human promotes it to `open` in the dashboard,
1115
+ so `GET /api/admin/ops` excludes it under `status=all`/default and returns
1116
+ it only when requested as an exact `status`. It covers untriaged inbound
1117
+ that must never be auto-implemented — connector requests filed from a
1118
+ customer's connectors panel, and questions funnelled in from the "Stuck in
1119
+ onboarding?" assistant — where approving means flipping the status to
1120
+ `open`. Two earlier values were removed in favour of this single gate:
1121
+ `triage` (the onboarding-help bucket, now `pending_approval`) and `triaged`
1122
+ (a redundant "looked at but not started" step, now plain `open`).
1126
1123
  OpsItemPriority:
1127
1124
  type: string
1128
1125
  enum:
@@ -1138,14 +1135,13 @@ OpsInvestigationState:
1138
1135
  type: string
1139
1136
  enum:
1140
1137
  - pr_ready
1138
+ - pr_merged
1141
1139
  - investigated
1142
1140
  - detected
1143
1141
  - question
1144
1142
  - ready_for_qa
1145
1143
  - pending_approval
1146
- - needs_triage
1147
1144
  - working
1148
- - triaged_low
1149
1145
  - backlog
1150
1146
  description: >-
1151
1147
  Where automation has taken an item in the investigation lifecycle — the
@@ -1154,11 +1150,14 @@ OpsInvestigationState:
1154
1150
  happen**, never authored on its own: linking a PR sets `pr_ready`, moving to
1155
1151
  `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a
1156
1152
  system/assistant reply sets `question`, resolving clears it, and creation
1157
- seeds `needs_triage`/`backlog` (by priority) or `investigated`/`detected`
1158
- for auto-filed error/alert tickets. `triaged_low` marks a low-signal item AI
1159
- has looked at but that nothing is moving. Absent on rows filed before the
1160
- field existed — consumers should treat a missing value as "derive from the
1161
- other fields".
1153
+ seeds `backlog` or `investigated`/`detected` for auto-filed error/alert
1154
+ tickets. `backlog` is the single "nothing has happened yet" state — how
1155
+ urgent that is reads off `priority`, not off a separate state, and its one
1156
+ action is to hand the item to an agent. `pr_merged` is derived client-side
1157
+ by scanning the linked pull request on GitHub, so it is accepted on write
1158
+ but not currently emitted by the API. Absent on rows filed before the field
1159
+ existed — consumers should treat a missing value as "derive from the other
1160
+ fields".
1162
1161
  OpsItemPriorityOrNull:
1163
1162
  anyOf:
1164
1163
  - $ref: "#/OpsItemPriority"
@@ -29,9 +29,9 @@
29
29
  in: query
30
30
  required: false
31
31
  description: >-
32
- Filter by lifecycle status, or `all`. The human-gated holding states
33
- (`pending_approval`, `triage`) are excluded from `all`/default and
34
- returned only when requested as the exact status.
32
+ Filter by lifecycle status, or `all`. The human-gated holding state
33
+ (`pending_approval`) is excluded from `all`/default and returned only
34
+ when requested as the exact status.
35
35
  schema:
36
36
  anyOf:
37
37
  - $ref: ../components/schemas/ops.yaml#/OpsItemStatus