diff --git a/go.mod b/go.mod index 2d76bbf..1c08678 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/flashcatcloud/flashduty-cli go 1.25.1 require ( - github.com/flashcatcloud/go-flashduty v0.15.4 + github.com/flashcatcloud/go-flashduty v0.15.5 github.com/mattn/go-runewidth v0.0.29 github.com/spf13/cobra v1.10.2 github.com/spf13/pflag v1.0.10 diff --git a/go.sum b/go.sum index a018110..b1e734d 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,8 @@ github.com/clipperhouse/uax29/v2 v2.2.0 h1:ChwIKnQN3kcZteTXMgb1wztSgaU+ZemkgWdohwgs8tY= github.com/clipperhouse/uax29/v2 v2.2.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/flashcatcloud/go-flashduty v0.15.4 h1:Bp7OnOd3dO0BmG2ystR7ycRRCJCwqyEEtonixWzzC3Q= -github.com/flashcatcloud/go-flashduty v0.15.4/go.mod h1:YpHiTYXR5NXBI/rGRZfUy537XMkhdCkwA8NW1QoRHwk= +github.com/flashcatcloud/go-flashduty v0.15.5 h1:ovhuVr+PyE/1XdsGiMnCTIyLXlaPwv3Yi81PbufgXQg= +github.com/flashcatcloud/go-flashduty v0.15.5/go.mod h1:YpHiTYXR5NXBI/rGRZfUy537XMkhdCkwA8NW1QoRHwk= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/mattn/go-runewidth v0.0.29 h1:3oGF3R/S2N9DQ3ptftzVIvg2eicmojCzlwBEmqEPDfQ= diff --git a/internal/cli/zz_generated_incidents.go b/internal/cli/zz_generated_incidents.go index da51970..e1d686a 100644 --- a/internal/cli/zz_generated_incidents.go +++ b/internal/cli/zz_generated_incidents.go @@ -3475,7 +3475,12 @@ Response fields ('data' envelope is unwrapped — rows are nested under items[]; - has_more (boolean) (required) — True when more results are available. - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - items (array) (required) — Work items for the current page. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3557,7 +3562,12 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3647,7 +3657,12 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3733,7 +3748,7 @@ Create an action on an active incident or a follow-up on one of its post-mortems API: POST /incident/work-item/create (incidentWorkItemCreate) Request fields: - --assignee-ids []int — Initial assignee member IDs. Assignees must be active members who can already read the anchor; assignment never grants access. + --assignee-ids []int — Legacy alias for the initial assignees. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. Assignees must be active members who can already read the anchor; assignment never grants access. --description string — Optional longer description (max 65,535 characters). (≤65535 chars) --idempotency-key string (required) — Client-generated idempotency key (max 128 characters; letters, digits, '_', '-', '.', ':' only). (≤128 chars) --incident-id string (required) — Incident ID (MongoDB ObjectID) the item is anchored to. @@ -3742,12 +3757,20 @@ Request fields: --priority string — Optional client-defined priority (max 64 characters). (≤64 chars) --status string — Optional client-defined initial status (max 64 characters). (≤64 chars) --title string (required) — Item title (max 512 characters). (≤512 chars) + assignees (array, via --data) — Initial assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Mutually exclusive with 'assignee_ids': sending both returns an error. 'assignee_ids' is the legacy alias and is equivalent to an all-'person' list. At most 20 entries. Person assignees must be active members who can already read the anchor; assignment never grants access. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] Response fields ('data' envelope is unwrapped — these fields are at the top level): - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key and no new item was created. - item (object) (required) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3818,7 +3841,7 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le }) }, } - cmd.Flags().IntSliceVar(&fAssigneeIDs, "assignee-ids", nil, "Initial assignee member IDs. Assignees must be active members who can already read the anchor; assignment never grants access.") + cmd.Flags().IntSliceVar(&fAssigneeIDs, "assignee-ids", nil, "Legacy alias for the initial assignees. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. Assignees must be active members who can already read the anchor; assignment never grants access.") cmd.Flags().StringVar(&fDescription, "description", "", "Optional longer description (max 65,535 characters). (≤65535 chars)") cmd.Flags().StringVar(&fIdempotencyKey, "idempotency-key", "", "Client-generated idempotency key (max 128 characters; letters, digits, '_', '-', '.', ':' only). (required) (≤128 chars)") cmd.Flags().StringVar(&fIncidentID, "incident-id", "", "Incident ID (MongoDB ObjectID) the item is anchored to. (required)") @@ -3852,7 +3875,12 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3912,6 +3940,7 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le func genIncidentsWorkItemListCmd() *cobra.Command { var dataJSON string var fAssigneeID int64 + var fAssigneeType string var fCursor string var fIncidentID string var fItemType string @@ -3927,7 +3956,8 @@ List incident work items (actions and post-mortem follow-ups) with cursor pagina API: POST /incident/work-item/list (incidentWorkItemList) Request fields: - --assignee-id int — Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin. + --assignee-id int — Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin. Ignored when 'assignee_type' is 'ai_sre'. + --assignee-type string — Filter by assignee type: 'person' or 'ai_sre'. 'ai_sre' returns items assigned to AI SRE (an AI caller uses this to list its own tasks) and does not require 'assignee_id'. 'person' together with 'assignee_id' restricts results to that member. Omitted with a positive 'assignee_id' means 'person'. [person, ai_sre] --cursor string — Pagination cursor from a previous response's 'next_cursor'. --incident-id string — Incident ID (MongoDB ObjectID). Also returns follow-ups anchored on the incident's post-mortem. --item-type string — Filter by work item type: 'action' action item, 'follow_up' post-mortem follow-up. [action, follow_up] @@ -3938,7 +3968,12 @@ Response fields ('data' envelope is unwrapped — rows are nested under items[]; - has_more (boolean) (required) — True when more results are available. - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - items (array) (required) — Work items for the current page. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -3965,6 +4000,9 @@ Response fields ('data' envelope is unwrapped — rows are nested under items[]; if cmd.Flags().Changed("assignee-id") { body["assignee_id"] = fAssigneeID } + if cmd.Flags().Changed("assignee-type") { + body["assignee_type"] = fAssigneeType + } if cmd.Flags().Changed("cursor") { body["cursor"] = fCursor } @@ -3997,7 +4035,8 @@ Response fields ('data' envelope is unwrapped — rows are nested under items[]; }) }, } - cmd.Flags().Int64Var(&fAssigneeID, "assignee-id", 0, "Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin.") + cmd.Flags().Int64Var(&fAssigneeID, "assignee-id", 0, "Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin. Ignored when 'assignee_type' is 'ai_sre'.") + cmd.Flags().StringVar(&fAssigneeType, "assignee-type", "", "Filter by assignee type: 'person' or 'ai_sre'. 'ai_sre' returns items assigned to AI SRE (an AI caller uses this to list its own tasks) and does not require 'assignee_id'. 'person' together with 'assignee_id' restricts results to that member. Omitted with a positive 'assignee_id' means 'person'. [person, ai_sre]") cmd.Flags().StringVar(&fCursor, "cursor", "", "Pagination cursor from a previous response's 'next_cursor'.") cmd.Flags().StringVar(&fIncidentID, "incident-id", "", "Incident ID (MongoDB ObjectID). Also returns follow-ups anchored on the incident's post-mortem.") cmd.Flags().StringVar(&fItemType, "item-type", "", "Filter by work item type: 'action' action item, 'follow_up' post-mortem follow-up. [action, follow_up]") @@ -4022,15 +4061,23 @@ Replace a work item's entire assignee set. API: POST /incident/work-item/assignees/reset (incidentWorkItemResetAssignees) Request fields: - --assignee-ids []int — New assignee member IDs, replacing the current set. An empty array clears all assignees. + --assignee-ids []int — Legacy alias for the replacement assignee set. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. An empty array clears all assignees. --version int (required) — Current item version for optimistic locking. Must match the stored version. --work-item-id string (required) — Work item ID (opaque string, max 128 characters). (≤128 chars) + assignees (array, via --data) — Replacement assignee set. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Mutually exclusive with 'assignee_ids': sending both returns an error. 'assignee_ids' is the legacy alias and is equivalent to an all-'person' list. At most 20 entries. An empty array clears all assignees. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] Response fields ('data' envelope is unwrapped — these fields are at the top level): - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. @@ -4084,7 +4131,7 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le }) }, } - cmd.Flags().IntSliceVar(&fAssigneeIDs, "assignee-ids", nil, "New assignee member IDs, replacing the current set. An empty array clears all assignees.") + cmd.Flags().IntSliceVar(&fAssigneeIDs, "assignee-ids", nil, "Legacy alias for the replacement assignee set. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. An empty array clears all assignees.") cmd.Flags().Int64Var(&fVersion, "version", 0, "Current item version for optimistic locking. Must match the stored version. (required)") cmd.Flags().StringVar(&fWorkItemID, "work-item-id", "", "Work item ID (opaque string, max 128 characters). (required) (≤128 chars)") cmd.Flags().StringVar(&dataJSON, "data", "", "Full request body as JSON; positional arguments and typed flags override its fields. Accepts inline JSON, or - to read stdin.") @@ -4120,7 +4167,12 @@ Response fields ('data' envelope is unwrapped — these fields are at the top le - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified). - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key. - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees. - - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned. + - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded. + - agent_session_venue (string) — Where that AI SRE session runs: 'web' or 'im'. Omitted when no session is recorded. [web, im] + - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee. + - assignees (array) (required) — Current assignees. Each entry is '{type, id?}'. 'type' is 'person' or 'ai_sre'; an 'ai_sre' entry omits 'id'. Never null; an empty array means unassigned. 'assignee_ids' is the person-only subset of this list. + - id (integer) — Member ID. Required when 'type' is 'person'. Omitted when 'type' is 'ai_sre'. + - type (string) (required) — Assignee kind: 'person' (a member) or 'ai_sre' (the account AI SRE). [person, ai_sre] - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion. - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI '--json' renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null. diff --git a/internal/cli/zz_generated_response_help.go b/internal/cli/zz_generated_response_help.go index 33e3dcd..f0339d2 100644 --- a/internal/cli/zz_generated_response_help.go +++ b/internal/cli/zz_generated_response_help.go @@ -131,14 +131,14 @@ var responseHelpBySDKMethod = map[string]string{ "Incidents.WarRoomCreate": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - chat_id (string) (required) — Chat/group ID on the IM side.\n - chat_name (string) (required) — Chat/group display name.\n - share_link (string) (required) — Join link for the war room, if provided by the IM.\n", "Incidents.WarRoomDetail": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - chat_id (string) (required) — Chat/group ID on the IM side.\n - chat_name (string) (required) — Chat/group display name.\n - share_link (string) (required) — Join link for the war room, if provided by the IM.\n", "Incidents.WarRoomList": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - account_id (integer) (required) — Account ID.\n - chat_id (string) (required) — Chat/group ID on the IM side.\n - chat_name (string) (required) — Display name of the group chat on the IM side.\n - created_at (string) (required) — Creation timestamp (seconds). CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID that created the war room.\n - incident_id (string) (required) — Associated incident ID (MongoDB ObjectID).\n - integration_id (integer) (required) — IM integration ID.\n - integration_unavailable (boolean) — True when the IM integration behind this war room is disabled or no longer exists.\n - plugin_type (string) (required) — IM plugin type (e.g. `feishu`, `dingtalk`, `wecom`, `slack`).\n - status (string) (required) — War room record status: `enabled` active, `deleted` disbanded. [enabled, deleted]\n", - "Incidents.WorkItemBindPostMortem": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", - "Incidents.WorkItemComplete": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", - "Incidents.WorkItemConvert": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", - "Incidents.WorkItemCreate": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key and no new item was created.\n - item (object) (required) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", - "Incidents.WorkItemDelete": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", - "Incidents.WorkItemList": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", - "Incidents.WorkItemResetAssignees": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", - "Incidents.WorkItemUpdate": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - assignee_ids (array) (required) — Member IDs of the current assignees. Never null; an empty array means unassigned.\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", + "Incidents.WorkItemBindPostMortem": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", + "Incidents.WorkItemComplete": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", + "Incidents.WorkItemConvert": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", + "Incidents.WorkItemCreate": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key and no new item was created.\n - item (object) (required) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", + "Incidents.WorkItemDelete": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", + "Incidents.WorkItemList": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n", + "Incidents.WorkItemResetAssignees": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", + "Incidents.WorkItemUpdate": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - added_assignee_ids (array) — Assignee member IDs that were newly added (and notified).\n - idempotent_replay (boolean) — True when the call replayed an earlier request with the same idempotency key.\n - item (object) — A structured incident work item (action or post-mortem follow-up) with its assignees.\n - agent_session_id (string) — ID of the AI SRE session executing this item. Omitted when no session is recorded.\n - agent_session_venue (string) — Where that AI SRE session runs: `web` or `im`. Omitted when no session is recorded. [web, im]\n - assignee_ids (array) (required) — Member IDs of the current person assignees. AI SRE is not included. Never null; an empty array means no person assignee.\n - assignees (array) (required) — Current assignees. Each entry is `{type, id?}`. `type` is `person` or `ai_sre`; an `ai_sre` entry omits `id`. Never null; an empty array means unassigned. `assignee_ids` is the person-only subset of this list.\n - id (integer) — Member ID. Required when `type` is `person`. Omitted when `type` is `ai_sre`.\n - type (string) (required) — Assignee kind: `person` (a member) or `ai_sre` (the account AI SRE). [person, ai_sre]\n - converted_at_seconds (string) — Conversion time as a Unix timestamp in seconds. Present only after conversion. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - converted_by (integer) — Member ID of the operator who converted the action into a follow-up. Present only after conversion.\n - created_at_seconds (string) (required) — Creation time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - created_by (integer) (required) — Member ID of the creator.\n - description (string) — Optional longer description (max 65,535 characters). (≤65535 chars)\n - incident_id (string) (required) — Incident ID (MongoDB ObjectID) the item is anchored to.\n - item_type (string) (required) — `action` for an item anchored to an active incident; `follow_up` for a post-mortem follow-up. [action, follow_up]\n - legacy_source_id (string) — Original identifier of the legacy follow-up this item was migrated from. Present only when `source_kind` is `legacy_follow_up`.\n - post_mortem_id (string) — Post-mortem ID (32-character hex string). Present on follow-up items once bound to a post-mortem.\n - priority (string) — Optional client-defined priority (max 64 characters). (≤64 chars)\n - source_kind (string) (required) — `native` for items created through this API; `legacy_follow_up` for items migrated from legacy post-mortem follow-ups. [native, legacy_follow_up]\n - status (string) (required) — Client-defined status (max 64 characters). There is no fixed state machine. (≤64 chars)\n - title (string) (required) — Item title (max 512 characters). (≤512 chars)\n - updated_at_seconds (string) (required) — Last update time as a Unix timestamp in seconds. CLI `--json` renders this as an RFC3339 string in the process's local timezone (NOT UTC, and NOT the wire integer); an unset value renders as null.\n - updated_by (integer) (required) — Member ID of the last updater.\n - version (integer) (required) — Optimistic-locking version, incremented on every mutation.\n - work_item_id (string) (required) — Work item ID (opaque string, max 128 characters). (≤128 chars)\n - removed_assignee_ids (array) — Assignee member IDs that were removed (never notified).\n", "Integrations.DatasourceImPersonTryLink": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - new_linked_person_ids (array) (required) — Person IDs newly linked during this call.\n", "Integrations.Detail": "Response fields (`data` envelope is unwrapped — these fields are at the top level):\n - attempt (integer) (required) — Attempt sequence number.\n - channel_id (integer) — Channel ID when applicable.\n - channel_name (string) — Name of the associated channel, resolved at query time.\n - duration (integer) (required) — Total elapsed time of the attempt in milliseconds.\n - endpoint (string) (required) — Destination URL.\n - error_message (string) — Error message when delivery failed.\n - event_id (string) (required) — Event ID.\n - event_time (string) (required) — Event time formatted as `YYYY-MM-DD HH:MM:SS.ffffff`.\n - event_type (string) (required) — Event type code. `i_*` values are incident events (for example `i_new` = incident created); `a_*` values are alert events (for example `a_new` = alert triggered).\n - integration_id (integer) (required) — Integration ID.\n - ref_id (string) — Source object ID.\n - ref_title (string) — Title of the source incident or alert, resolved at query time.\n - request_body (string) — Outbound request body payload.\n - request_headers (string) — Serialized outbound request headers.\n - response_body (string) — Response body.\n - response_headers (string) — Serialized response headers.\n - status (string) (required) — Delivery outcome. [success, failed]\n - status_code (integer) (required) — HTTP status code.\n - webhook_type (string) (required) — Source object kind: `incident` or `alert`. [incident, alert]\n", "Integrations.List": "Response fields (this command's `--json` is a TOP-LEVEL array of these row objects — pipe `jq '.[]'`, NOT `.items[]`):\n - attempt (integer) (required) — Attempt sequence number.\n - channel_id (integer) — Channel ID associated with the event, when applicable.\n - duration (integer) (required) — Total elapsed time of the attempt in milliseconds.\n - endpoint (string) (required) — Destination URL.\n - error_message (string) — Error message when delivery failed.\n - event_id (string) (required) — Unique event identifier for the delivery attempt.\n - event_time (string) (required) — Event time formatted as `YYYY-MM-DD HH:MM:SS.ffffff`.\n - event_type (string) (required) — Event type code. `i_*` values are incident events (for example `i_new` = incident created); `a_*` values are alert events (for example `a_new` = alert triggered).\n - integration_id (integer) (required) — Integration ID that triggered the webhook.\n - ref_id (string) — Source object ID (incident ID or alert ID).\n - request_body (string) — Outbound request body payload.\n - request_headers (string) — Serialized outbound request headers.\n - response_body (string) — Response body returned by the destination.\n - response_headers (string) — Serialized response headers from the destination.\n - status (string) (required) — Delivery outcome. [success, failed]\n - status_code (integer) (required) — HTTP status code returned by the destination.\n - webhook_type (string) (required) — Source object kind: `incident` or `alert`. [incident, alert]\n", diff --git a/skills/flashduty/reference/incident.md b/skills/flashduty/reference/incident.md index 8528e6f..30f86f8 100644 --- a/skills/flashduty/reference/incident.md +++ b/skills/flashduty/reference/incident.md @@ -415,9 +415,10 @@ List war rooms ### work-item-assignees-reset Reset work item assignees -- `--assignee-ids` intSlice — New assignee member IDs, replacing the current set. An empty array clears all assignees. +- `--assignee-ids` intSlice — Legacy alias for the replacement assignee set. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. An empty array clears all assignees. - `--version` int64 (required) — Current item version for optimistic locking. Must match the stored version. - `` (positional, required) string — Work item ID (opaque string, max 128 characters). (≤128 chars) +- body-only (`--data`): assignees (array) - response: single object (`data` unwrapped to the top level) — fields: added_assignee_ids (array); idempotent_replay (boolean); item (object); removed_assignee_ids (array) ### work-item-complete @@ -438,7 +439,7 @@ Convert a work item to a follow-up ### work-item-create Create a work item -- `--assignee-ids` intSlice — Initial assignee member IDs. Assignees must be active members who can already read the anchor; assignment never grants access. +- `--assignee-ids` intSlice — Legacy alias for the initial assignees. Equivalent to 'assignees' with every entry 'type' 'person'. Mutually exclusive with 'assignees': sending both returns an error. Assignees must be active members who can already read the anchor; assignment never grants access. - `--description` string — Optional longer description (max 65,535 characters). (≤65535 chars) - `--idempotency-key` string (required) — Client-generated idempotency key (max 128 characters; letters, digits, '_', '-', '.', ':' only). (≤128 chars) - `` (positional, required) string — Incident ID (MongoDB ObjectID) the item is anchored to. @@ -447,6 +448,7 @@ Create a work item - `--priority` string — Optional client-defined priority (max 64 characters). (≤64 chars) - `--status` string — Optional client-defined initial status (max 64 characters). (≤64 chars) - `--title` string (required) — Item title (max 512 characters). (≤512 chars) +- body-only (`--data`): assignees (array) - response: single object (`data` unwrapped to the top level) — fields: added_assignee_ids (array); idempotent_replay (boolean); item (object) ### work-item-delete @@ -457,13 +459,14 @@ Delete a work item ### work-item-list List work items -- `--assignee-id` int64 — Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin. +- `--assignee-id` int64 — Restrict results to items assigned to this member ID. Listing by assignee alone requires being that assignee or an account admin. Ignored when 'assignee_type' is 'ai_sre'. +- `--assignee-type` string — Filter by assignee type: 'person' or 'ai_sre'. 'ai_sre' returns items assigned to AI SRE (an AI caller uses this to list its own tasks) and does not require 'assignee_id'. 'person' together with 'assignee_id' restricts results to that member. Omitted with a positive 'assignee_id' means 'person'. · enum: person | ai_sre - `--cursor` string — Pagination cursor from a previous response's 'next_cursor'. - `--incident-id` string — Incident ID (MongoDB ObjectID). Also returns follow-ups anchored on the incident's post-mortem. - `--item-type` string — Filter by work item type: 'action' action item, 'follow_up' post-mortem follow-up. · enum: action | follow_up - `--limit` int64 — Page size, at most 200. Defaults to 50. (0-200) - `--post-mortem-id` string — Post-mortem ID (32-character hex string). Returns follow-ups bound to this post-mortem. -- response: `{items: [...], has_more, idempotent_replay, next_cursor}` page wrapper — pipe `--json | jq '.items[]'` (NOT top-level `.[]`) — items fields: assignee_ids (array); converted_at_seconds (string); converted_by (integer); created_at_seconds (string); created_by (integer); description (string); incident_id (string); item_type (string); legacy_source_id (string); post_mortem_id (string); priority (string); source_kind (string); status (string); title (string); updated_at_seconds (string); updated_by (integer); version (integer); work_item_id (string) +- response: `{items: [...], has_more, idempotent_replay, next_cursor}` page wrapper — pipe `--json | jq '.items[]'` (NOT top-level `.[]`) — items fields: agent_session_id (string); agent_session_venue (string); assignee_ids (array); assignees (array); converted_at_seconds (string); converted_by (integer); created_at_seconds (string); created_by (integer); description (string); incident_id (string); item_type (string); legacy_source_id (string); post_mortem_id (string); priority (string); source_kind (string); status (string); title (string); updated_at_seconds (string); updated_by (integer); version (integer); work_item_id (string) ### work-item-post-mortem-bind Bind work items to a post-mortem