activitysmith 1.7.0 → 1.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17820f972e80244f813c791d40dd85f577e20138ab932a03360586b749fb0435
4
- data.tar.gz: 7505405af1b3bccd651c14aa1961e514db8faddcec679d902771310b6fd50792
3
+ metadata.gz: 997a69d88cda72ef415a4774c5af354d531b9d3b9b1cae31dad5393899042a90
4
+ data.tar.gz: 41399899c3a8c9ff1854c39e69370d1fe21047beac360871f41ed5529cd80bfa
5
5
  SHA512:
6
- metadata.gz: 9b4b5da68c74c193b9b7eb87adca266b4573ebf56fb7c5a96133c4c6b45fb3eff85fbf168ae914951321359e4effd0c1ca3188a2c5cae14f0c838478862ab437
7
- data.tar.gz: 1c21388cb1a583fa807fc8959db0286a0d65f937c031bde333120028e7508f45080e1f9dec46edfbe656cdb9bb9d667f5baa5845104dac6d772290f3eda1663c
6
+ metadata.gz: 24f59510621de8d861c99e908091784a6b8a8f025324bf26d17e031e9e79145438320399239cf3e5cb0b8c8b6895e3f42b2950deecc3930044d6fd6d3517514a
7
+ data.tar.gz: dfa17c2e1038bf9248dd25ab6f7472319301dd784f4e52c0fe866f6342428947b860492fa2146b9548c9b3045ab22e508cb9c3a1a0f51d0f3ff816e07eba22c6
data/README.md CHANGED
@@ -325,15 +325,15 @@ activitysmith.live_activities.end_stream(
325
325
 
326
326
  ### Live Activity Action
327
327
 
328
- Live Activities can include one optional action button.
328
+ Live Activities can include an action button.
329
329
 
330
330
  - `open_url`: open an HTTPS URL.
331
- - `open_url` with a `shortcuts://run-shortcut?name=...` URL: run a specific iPhone Shortcut, for example to open an app.
331
+ - `open_url` with a `shortcuts://` URL: run an Apple Shortcut, for example to open an app.
332
332
  - `webhook`: trigger a backend GET/POST workflow.
333
333
 
334
334
  <p align="center">
335
335
  <img
336
- src="https://cdn.activitysmith.com/features/live-activity-with-action.png?v=20260319-1"
336
+ src="https://cdn.activitysmith.com/features/metrics-live-activity-action.png"
337
337
  alt="Live Activity with action button"
338
338
  width="680"
339
339
  />
@@ -412,6 +412,56 @@ activitysmith.live_activities.stream(
412
412
  )
413
413
  ```
414
414
 
415
+ #### Secondary action
416
+
417
+ <p align="center">
418
+ <img
419
+ src="https://cdn.activitysmith.com/features/live-activity-secondary-action.png"
420
+ alt="Alert Live Activity with primary and secondary action buttons"
421
+ width="680"
422
+ />
423
+ </p>
424
+
425
+ Use `secondary_action` when you want a second button beside the primary `action`.
426
+
427
+ The secondary action button is supported for `alert`, `progress`, and `segmented_progress` Live Activities. Both buttons use the same `open_url`, `webhook`, and Apple Shortcut payload shapes.
428
+
429
+ ```ruby
430
+ activitysmith.live_activities.stream(
431
+ "agent-approval",
432
+ {
433
+ content_state: ActivitySmith::LiveActivities.content_state(
434
+ title: "Approval Needed",
435
+ message: "Should I send the follow-up email to Brightlane?",
436
+ type: "alert",
437
+ color: "green",
438
+ icon: ActivitySmith::LiveActivities.alert_icon("sparkles", color: "green"),
439
+ badge: ActivitySmith::LiveActivities.alert_badge("Agent", color: "green")
440
+ ),
441
+ action: {
442
+ title: "Send",
443
+ type: "webhook",
444
+ url: "https://agent.example.com/live-activity/approve",
445
+ method: "POST",
446
+ body: {
447
+ approval_id: "approval_01JY3J7Q9S0P8M1V5PZK7DR4M2",
448
+ decision: "send"
449
+ }
450
+ },
451
+ secondary_action: {
452
+ title: "Deny",
453
+ type: "webhook",
454
+ url: "https://agent.example.com/live-activity/deny",
455
+ method: "POST",
456
+ body: {
457
+ approval_id: "approval_01JY3J7Q9S0P8M1V5PZK7DR4M2",
458
+ decision: "deny"
459
+ }
460
+ }
461
+ }
462
+ )
463
+ ```
464
+
415
465
  ### Icons and Badges
416
466
 
417
467
  Add more context to Live Activities with icons and badges.
@@ -20,7 +20,7 @@ module OpenapiClient
20
20
  @api_client = api_client
21
21
  end
22
22
  # End a Live Activity (legacy manual lifecycle)
23
- # Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start.
23
+ # Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
24
24
  # @param live_activity_end_request [LiveActivityEndRequest]
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [LiveActivityEndResponse]
@@ -30,7 +30,7 @@ module OpenapiClient
30
30
  end
31
31
 
32
32
  # End a Live Activity (legacy manual lifecycle)
33
- # Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start.
33
+ # Legacy manual lifecycle endpoint. For new integrations, use DELETE /live-activity/stream/{stream_key} to end a managed Live Activity stream. This endpoint remains supported for existing integrations and advanced lifecycle control. Ends a Live Activity and archives its lifecycle. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can send the latest number_of_steps here if the workflow changed after start. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
34
34
  # @param live_activity_end_request [LiveActivityEndRequest]
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(LiveActivityEndResponse, Integer, Hash)>] LiveActivityEndResponse data, response status code and response headers
@@ -88,7 +88,7 @@ module OpenapiClient
88
88
  end
89
89
 
90
90
  # End a stream
91
- # Use this endpoint when the process you are tracking is finished and you no longer want the Live Activity on your devices. ActivitySmith ends the current Live Activity for this stream and dismisses it from devices. If you need direct lifecycle control, use /live-activity/start, /live-activity/update, and /live-activity/end instead.
91
+ # Use this endpoint when the process you are tracking is finished and you no longer want the Live Activity on your devices. ActivitySmith ends the current Live Activity for this stream and dismisses it from devices. If you need direct lifecycle control, use /live-activity/start, /live-activity/update, and /live-activity/end instead. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
92
92
  # @param stream_key [String] Stable identifier for one ongoing thing. Allowed characters: letters, numbers, underscores, and hyphens.
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @option opts [LiveActivityStreamDeleteRequest] :live_activity_stream_delete_request
@@ -99,7 +99,7 @@ module OpenapiClient
99
99
  end
100
100
 
101
101
  # End a stream
102
- # Use this endpoint when the process you are tracking is finished and you no longer want the Live Activity on your devices. ActivitySmith ends the current Live Activity for this stream and dismisses it from devices. If you need direct lifecycle control, use /live-activity/start, /live-activity/update, and /live-activity/end instead.
102
+ # Use this endpoint when the process you are tracking is finished and you no longer want the Live Activity on your devices. ActivitySmith ends the current Live Activity for this stream and dismisses it from devices. If you need direct lifecycle control, use /live-activity/start, /live-activity/update, and /live-activity/end instead. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
103
103
  # @param stream_key [String] Stable identifier for one ongoing thing. Allowed characters: letters, numbers, underscores, and hyphens.
104
104
  # @param [Hash] opts the optional parameters
105
105
  # @option opts [LiveActivityStreamDeleteRequest] :live_activity_stream_delete_request
@@ -167,7 +167,7 @@ module OpenapiClient
167
167
  end
168
168
 
169
169
  # Start a new Live Activity or update an existing one
170
- # Use a stable stream_key for each ongoing thing you want to show as a Live Activity. Send the latest content_state whenever it changes, and ActivitySmith will keep the Live Activity in sync. For timer streams, send duration_seconds to start or reset the timer; omit duration_seconds on later updates to preserve the existing timer window.
170
+ # Use a stable stream_key for each ongoing thing you want to show as a Live Activity. Send the latest content_state whenever it changes, and ActivitySmith will keep the Live Activity in sync. For timer streams, send duration_seconds to start or reset the timer; omit duration_seconds on later updates to preserve the existing timer window. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
171
171
  # @param stream_key [String] Stable identifier for one ongoing thing. Allowed characters: letters, numbers, underscores, and hyphens.
172
172
  # @param live_activity_stream_request [LiveActivityStreamRequest]
173
173
  # @param [Hash] opts the optional parameters
@@ -178,7 +178,7 @@ module OpenapiClient
178
178
  end
179
179
 
180
180
  # Start a new Live Activity or update an existing one
181
- # Use a stable stream_key for each ongoing thing you want to show as a Live Activity. Send the latest content_state whenever it changes, and ActivitySmith will keep the Live Activity in sync. For timer streams, send duration_seconds to start or reset the timer; omit duration_seconds on later updates to preserve the existing timer window.
181
+ # Use a stable stream_key for each ongoing thing you want to show as a Live Activity. Send the latest content_state whenever it changes, and ActivitySmith will keep the Live Activity in sync. For timer streams, send duration_seconds to start or reset the timer; omit duration_seconds on later updates to preserve the existing timer window. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
182
182
  # @param stream_key [String] Stable identifier for one ongoing thing. Allowed characters: letters, numbers, underscores, and hyphens.
183
183
  # @param live_activity_stream_request [LiveActivityStreamRequest]
184
184
  # @param [Hash] opts the optional parameters
@@ -250,7 +250,7 @@ module OpenapiClient
250
250
  end
251
251
 
252
252
  # Start a Live Activity (legacy manual lifecycle)
253
- # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Starts a Live Activity on devices matched by API key scope and optional target channels. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, number_of_steps can be changed later during update or end calls if the workflow changes.
253
+ # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Starts a Live Activity on devices matched by API key scope and optional target channels. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, number_of_steps can be changed later during update or end calls if the workflow changes. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
254
254
  # @param live_activity_start_request [LiveActivityStartRequest]
255
255
  # @param [Hash] opts the optional parameters
256
256
  # @return [LiveActivityStartResponse]
@@ -260,7 +260,7 @@ module OpenapiClient
260
260
  end
261
261
 
262
262
  # Start a Live Activity (legacy manual lifecycle)
263
- # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Starts a Live Activity on devices matched by API key scope and optional target channels. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, number_of_steps can be changed later during update or end calls if the workflow changes.
263
+ # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Starts a Live Activity on devices matched by API key scope and optional target channels. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, number_of_steps can be changed later during update or end calls if the workflow changes. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
264
264
  # @param live_activity_start_request [LiveActivityStartRequest]
265
265
  # @param [Hash] opts the optional parameters
266
266
  # @return [Array<(LiveActivityStartResponse, Integer, Hash)>] LiveActivityStartResponse data, response status code and response headers
@@ -318,7 +318,7 @@ module OpenapiClient
318
318
  end
319
319
 
320
320
  # Update a Live Activity (legacy manual lifecycle)
321
- # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Updates an existing Live Activity. If the per-activity token is not registered yet, the update is queued. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can increase or decrease number_of_steps here as the workflow changes. For timer activities, send duration_seconds only when you want to reset the timer window; omit it to keep the current timer running.
321
+ # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Updates an existing Live Activity. If the per-activity token is not registered yet, the update is queued. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can increase or decrease number_of_steps here as the workflow changes. For timer activities, send duration_seconds only when you want to reset the timer window; omit it to keep the current timer running. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
322
322
  # @param live_activity_update_request [LiveActivityUpdateRequest]
323
323
  # @param [Hash] opts the optional parameters
324
324
  # @return [LiveActivityUpdateResponse]
@@ -328,7 +328,7 @@ module OpenapiClient
328
328
  end
329
329
 
330
330
  # Update a Live Activity (legacy manual lifecycle)
331
- # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Updates an existing Live Activity. If the per-activity token is not registered yet, the update is queued. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can increase or decrease number_of_steps here as the workflow changes. For timer activities, send duration_seconds only when you want to reset the timer window; omit it to keep the current timer running.
331
+ # Legacy manual lifecycle endpoint. For new integrations, use PUT /live-activity/stream/{stream_key} so ActivitySmith can manage start, update, rotation, and end state for you. This endpoint remains supported for existing integrations and advanced lifecycle control. Updates an existing Live Activity. If the per-activity token is not registered yet, the update is queued. Supports segmented_progress, progress, metrics, stats, alert, and timer activity types. For segmented_progress activities, you can increase or decrease number_of_steps here as the workflow changes. For timer activities, send duration_seconds only when you want to reset the timer window; omit it to keep the current timer running. Use secondary_action for a second button on alert, progress, and segmented_progress Live Activities only.
332
332
  # @param live_activity_update_request [LiveActivityUpdateRequest]
333
333
  # @param [Hash] opts the optional parameters
334
334
  # @return [Array<(LiveActivityUpdateResponse, Integer, Hash)>] LiveActivityUpdateResponse data, response status code and response headers
@@ -59,7 +59,7 @@ module OpenapiClient
59
59
  # Optional. When omitted, the API uses the existing Live Activity type.
60
60
  attr_accessor :type
61
61
 
62
- # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints the action button when action is included.
62
+ # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints action and secondary_action buttons when included.
63
63
  attr_accessor :color
64
64
 
65
65
  # Optional. Overrides color for the current step. Only applies to type=segmented_progress.
@@ -58,7 +58,7 @@ module OpenapiClient
58
58
 
59
59
  attr_accessor :type
60
60
 
61
- # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints the action button when action is included.
61
+ # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints action and secondary_action buttons when included.
62
62
  attr_accessor :color
63
63
 
64
64
  # Optional. Overrides color for the current step. Only applies to type=segmented_progress.
@@ -59,7 +59,7 @@ module OpenapiClient
59
59
  # Optional. When omitted, the API uses the existing Live Activity type.
60
60
  attr_accessor :type
61
61
 
62
- # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints the action button when action is included.
62
+ # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints action and secondary_action buttons when included.
63
63
  attr_accessor :color
64
64
 
65
65
  # Optional. Overrides color for the current step. Only applies to type=segmented_progress.
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module OpenapiClient
17
- # Optional single action button shown in the Live Activity UI.
17
+ # Optional action button shown in the Live Activity UI. Use action for the primary button, or secondary_action for a secondary button on alert, progress, and segmented_progress Live Activities.
18
18
  class LiveActivityAction
19
19
  # Button title displayed in the Live Activity UI.
20
20
  attr_accessor :title
@@ -22,12 +22,16 @@ module OpenapiClient
22
22
 
23
23
  attr_accessor :action
24
24
 
25
+ # Optional secondary action button. Supported only for alert, progress, and segmented_progress Live Activities. Uses the same open_url, shortcuts://, and webhook shapes as action.
26
+ attr_accessor :secondary_action
27
+
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
26
29
  def self.attribute_map
27
30
  {
28
31
  :'activity_id' => :'activity_id',
29
32
  :'content_state' => :'content_state',
30
- :'action' => :'action'
33
+ :'action' => :'action',
34
+ :'secondary_action' => :'secondary_action'
31
35
  }
32
36
  end
33
37
 
@@ -41,7 +45,8 @@ module OpenapiClient
41
45
  {
42
46
  :'activity_id' => :'String',
43
47
  :'content_state' => :'ContentStateEnd',
44
- :'action' => :'LiveActivityAction'
48
+ :'action' => :'LiveActivityAction',
49
+ :'secondary_action' => :'LiveActivityAction'
45
50
  }
46
51
  end
47
52
 
@@ -81,6 +86,10 @@ module OpenapiClient
81
86
  if attributes.key?(:'action')
82
87
  self.action = attributes[:'action']
83
88
  end
89
+
90
+ if attributes.key?(:'secondary_action')
91
+ self.secondary_action = attributes[:'secondary_action']
92
+ end
84
93
  end
85
94
 
86
95
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -115,7 +124,8 @@ module OpenapiClient
115
124
  self.class == o.class &&
116
125
  activity_id == o.activity_id &&
117
126
  content_state == o.content_state &&
118
- action == o.action
127
+ action == o.action &&
128
+ secondary_action == o.secondary_action
119
129
  end
120
130
 
121
131
  # @see the `==` method
@@ -127,7 +137,7 @@ module OpenapiClient
127
137
  # Calculates hash code according to all attributes.
128
138
  # @return [Integer] Hash code
129
139
  def hash
130
- [activity_id, content_state, action].hash
140
+ [activity_id, content_state, action, secondary_action].hash
131
141
  end
132
142
 
133
143
  # Builds the object from hash
@@ -20,6 +20,9 @@ module OpenapiClient
20
20
 
21
21
  attr_accessor :action
22
22
 
23
+ # Optional secondary action button. Supported only for alert, progress, and segmented_progress Live Activities. Uses the same open_url, shortcuts://, and webhook shapes as action.
24
+ attr_accessor :secondary_action
25
+
23
26
  attr_accessor :alert
24
27
 
25
28
  attr_accessor :target
@@ -29,6 +32,7 @@ module OpenapiClient
29
32
  {
30
33
  :'content_state' => :'content_state',
31
34
  :'action' => :'action',
35
+ :'secondary_action' => :'secondary_action',
32
36
  :'alert' => :'alert',
33
37
  :'target' => :'target'
34
38
  }
@@ -44,6 +48,7 @@ module OpenapiClient
44
48
  {
45
49
  :'content_state' => :'ContentStateStart',
46
50
  :'action' => :'LiveActivityAction',
51
+ :'secondary_action' => :'LiveActivityAction',
47
52
  :'alert' => :'AlertPayload',
48
53
  :'target' => :'ChannelTarget'
49
54
  }
@@ -80,6 +85,10 @@ module OpenapiClient
80
85
  self.action = attributes[:'action']
81
86
  end
82
87
 
88
+ if attributes.key?(:'secondary_action')
89
+ self.secondary_action = attributes[:'secondary_action']
90
+ end
91
+
83
92
  if attributes.key?(:'alert')
84
93
  self.alert = attributes[:'alert']
85
94
  end
@@ -116,6 +125,7 @@ module OpenapiClient
116
125
  self.class == o.class &&
117
126
  content_state == o.content_state &&
118
127
  action == o.action &&
128
+ secondary_action == o.secondary_action &&
119
129
  alert == o.alert &&
120
130
  target == o.target
121
131
  end
@@ -129,7 +139,7 @@ module OpenapiClient
129
139
  # Calculates hash code according to all attributes.
130
140
  # @return [Integer] Hash code
131
141
  def hash
132
- [content_state, action, alert, target].hash
142
+ [content_state, action, secondary_action, alert, target].hash
133
143
  end
134
144
 
135
145
  # Builds the object from hash
@@ -20,6 +20,9 @@ module OpenapiClient
20
20
 
21
21
  attr_accessor :action
22
22
 
23
+ # Optional secondary action button. Supported only for alert, progress, and segmented_progress Live Activities. Uses the same open_url, shortcuts://, and webhook shapes as action.
24
+ attr_accessor :secondary_action
25
+
23
26
  attr_accessor :alert
24
27
 
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -27,6 +30,7 @@ module OpenapiClient
27
30
  {
28
31
  :'content_state' => :'content_state',
29
32
  :'action' => :'action',
33
+ :'secondary_action' => :'secondary_action',
30
34
  :'alert' => :'alert'
31
35
  }
32
36
  end
@@ -41,6 +45,7 @@ module OpenapiClient
41
45
  {
42
46
  :'content_state' => :'StreamContentState',
43
47
  :'action' => :'LiveActivityAction',
48
+ :'secondary_action' => :'LiveActivityAction',
44
49
  :'alert' => :'AlertPayload'
45
50
  }
46
51
  end
@@ -74,6 +79,10 @@ module OpenapiClient
74
79
  self.action = attributes[:'action']
75
80
  end
76
81
 
82
+ if attributes.key?(:'secondary_action')
83
+ self.secondary_action = attributes[:'secondary_action']
84
+ end
85
+
77
86
  if attributes.key?(:'alert')
78
87
  self.alert = attributes[:'alert']
79
88
  end
@@ -101,6 +110,7 @@ module OpenapiClient
101
110
  self.class == o.class &&
102
111
  content_state == o.content_state &&
103
112
  action == o.action &&
113
+ secondary_action == o.secondary_action &&
104
114
  alert == o.alert
105
115
  end
106
116
 
@@ -113,7 +123,7 @@ module OpenapiClient
113
123
  # Calculates hash code according to all attributes.
114
124
  # @return [Integer] Hash code
115
125
  def hash
116
- [content_state, action, alert].hash
126
+ [content_state, action, secondary_action, alert].hash
117
127
  end
118
128
 
119
129
  # Builds the object from hash
@@ -20,6 +20,9 @@ module OpenapiClient
20
20
 
21
21
  attr_accessor :action
22
22
 
23
+ # Optional secondary action button. Supported only for alert, progress, and segmented_progress Live Activities. Uses the same open_url, shortcuts://, and webhook shapes as action.
24
+ attr_accessor :secondary_action
25
+
23
26
  attr_accessor :alert
24
27
 
25
28
  # Channel slugs. When omitted, API key scope determines recipients.
@@ -32,6 +35,7 @@ module OpenapiClient
32
35
  {
33
36
  :'content_state' => :'content_state',
34
37
  :'action' => :'action',
38
+ :'secondary_action' => :'secondary_action',
35
39
  :'alert' => :'alert',
36
40
  :'channels' => :'channels',
37
41
  :'target' => :'target'
@@ -48,6 +52,7 @@ module OpenapiClient
48
52
  {
49
53
  :'content_state' => :'StreamContentState',
50
54
  :'action' => :'LiveActivityAction',
55
+ :'secondary_action' => :'LiveActivityAction',
51
56
  :'alert' => :'AlertPayload',
52
57
  :'channels' => :'Array<String>',
53
58
  :'target' => :'ChannelTarget'
@@ -85,6 +90,10 @@ module OpenapiClient
85
90
  self.action = attributes[:'action']
86
91
  end
87
92
 
93
+ if attributes.key?(:'secondary_action')
94
+ self.secondary_action = attributes[:'secondary_action']
95
+ end
96
+
88
97
  if attributes.key?(:'alert')
89
98
  self.alert = attributes[:'alert']
90
99
  end
@@ -146,6 +155,7 @@ module OpenapiClient
146
155
  self.class == o.class &&
147
156
  content_state == o.content_state &&
148
157
  action == o.action &&
158
+ secondary_action == o.secondary_action &&
149
159
  alert == o.alert &&
150
160
  channels == o.channels &&
151
161
  target == o.target
@@ -160,7 +170,7 @@ module OpenapiClient
160
170
  # Calculates hash code according to all attributes.
161
171
  # @return [Integer] Hash code
162
172
  def hash
163
- [content_state, action, alert, channels, target].hash
173
+ [content_state, action, secondary_action, alert, channels, target].hash
164
174
  end
165
175
 
166
176
  # Builds the object from hash
@@ -22,12 +22,16 @@ module OpenapiClient
22
22
 
23
23
  attr_accessor :action
24
24
 
25
+ # Optional secondary action button. Supported only for alert, progress, and segmented_progress Live Activities. Uses the same open_url, shortcuts://, and webhook shapes as action.
26
+ attr_accessor :secondary_action
27
+
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
26
29
  def self.attribute_map
27
30
  {
28
31
  :'activity_id' => :'activity_id',
29
32
  :'content_state' => :'content_state',
30
- :'action' => :'action'
33
+ :'action' => :'action',
34
+ :'secondary_action' => :'secondary_action'
31
35
  }
32
36
  end
33
37
 
@@ -41,7 +45,8 @@ module OpenapiClient
41
45
  {
42
46
  :'activity_id' => :'String',
43
47
  :'content_state' => :'ContentStateUpdate',
44
- :'action' => :'LiveActivityAction'
48
+ :'action' => :'LiveActivityAction',
49
+ :'secondary_action' => :'LiveActivityAction'
45
50
  }
46
51
  end
47
52
 
@@ -81,6 +86,10 @@ module OpenapiClient
81
86
  if attributes.key?(:'action')
82
87
  self.action = attributes[:'action']
83
88
  end
89
+
90
+ if attributes.key?(:'secondary_action')
91
+ self.secondary_action = attributes[:'secondary_action']
92
+ end
84
93
  end
85
94
 
86
95
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -115,7 +124,8 @@ module OpenapiClient
115
124
  self.class == o.class &&
116
125
  activity_id == o.activity_id &&
117
126
  content_state == o.content_state &&
118
- action == o.action
127
+ action == o.action &&
128
+ secondary_action == o.secondary_action
119
129
  end
120
130
 
121
131
  # @see the `==` method
@@ -127,7 +137,7 @@ module OpenapiClient
127
137
  # Calculates hash code according to all attributes.
128
138
  # @return [Integer] Hash code
129
139
  def hash
130
- [activity_id, content_state, action].hash
140
+ [activity_id, content_state, action, secondary_action].hash
131
141
  end
132
142
 
133
143
  # Builds the object from hash
@@ -47,7 +47,7 @@ module OpenapiClient
47
47
  # Required on the first PUT or whenever the stream cannot infer the current activity type.
48
48
  attr_accessor :type
49
49
 
50
- # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints the action button when action is included.
50
+ # Optional. Accent color for progress, segmented_progress, metrics, and timer Live Activities. For Alert Live Activities, this tints action and secondary_action buttons when included.
51
51
  attr_accessor :color
52
52
 
53
53
  # Optional. Overrides color for the current step. Only applies to segmented_progress.
@@ -11,5 +11,5 @@ Generator version: 7.7.0
11
11
  =end
12
12
 
13
13
  module OpenapiClient
14
- VERSION = '1.7.0'
14
+ VERSION = '1.8.0'
15
15
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActivitySmith
4
- VERSION = "1.7.0"
4
+ VERSION = "1.8.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activitysmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ActivitySmith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-08 00:00:00.000000000 Z
11
+ date: 2026-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json