trycourier 4.14.0 → 4.15.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/lib/courier/internal/transport/base_client.rb +4 -1
- data/lib/courier/models/create_journey_request.rb +2 -2
- data/lib/courier/models/journey_node.rb +56 -1
- data/lib/courier/models/journey_response.rb +2 -2
- data/lib/courier/resources/journeys.rb +2 -2
- data/lib/courier/version.rb +1 -1
- data/rbi/courier/models/create_journey_request.rbi +3 -0
- data/rbi/courier/models/journey_node.rbi +127 -0
- data/rbi/courier/models/journey_response.rbi +1 -0
- data/rbi/courier/resources/journeys.rbi +2 -0
- data/sig/courier/models/journey_node.rbs +49 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8b99d61d48791e6c2136cf1a133cd904f2defefddbc398b23d4e5b3c9dd62594
|
|
4
|
+
data.tar.gz: 003de52e76aa6754dc9e89adf48d3114c5151a4531489853e05cf94aae77a9b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77b2d8b6cb854d743638a03e5a6a922677fb1495804ed9cbac9ce719ad6951c90fca4e6b04ca69d25f6b99c3a4143b45973ce01ba48c84a5628cc3c1c763e8a7
|
|
7
|
+
data.tar.gz: fec4e9f9dc6badbf6898829b212f4ab6d6b80119dbe8be9f75ebc63dce3fdb61404cb88c167a427c1a41ad95864f8515aa38809bef87aac741a82e80cfacf7ea
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.15.0 (2026-06-17)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v4.14.0...v4.15.0](https://github.com/trycourier/courier-ruby/compare/v4.14.0...v4.15.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **openapi:** add add-to-digest JourneyNode variant ([55fdd8f](https://github.com/trycourier/courier-ruby/commit/55fdd8feb37743d64201641e86d95f56ce22c603))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **client:** send content-type header for requests with an omitted optional body ([1e1b51c](https://github.com/trycourier/courier-ruby/commit/1e1b51ce2b17c5bc05193efca068828cd64ce81f))
|
|
15
|
+
|
|
3
16
|
## 4.14.0 (2026-06-16)
|
|
4
17
|
|
|
5
18
|
Full Changelog: [v4.13.0...v4.14.0](https://github.com/trycourier/courier-ruby/compare/v4.13.0...v4.14.0)
|
|
@@ -306,7 +306,10 @@ module Courier
|
|
|
306
306
|
Courier::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
|
|
307
307
|
end
|
|
308
308
|
|
|
309
|
-
|
|
309
|
+
# Generated methods always pass `req[:body]` for operations that define a
|
|
310
|
+
# request body, so only elide the content-type header when the operation
|
|
311
|
+
# has no body at all, not when an optional body param was omitted.
|
|
312
|
+
headers.delete("content-type") if body.nil? && !req.key?(:body)
|
|
310
313
|
|
|
311
314
|
url = Courier::Internal::Util.join_parsed_uri(
|
|
312
315
|
@base_url_components,
|
|
@@ -10,7 +10,7 @@ module Courier
|
|
|
10
10
|
|
|
11
11
|
# @!attribute nodes
|
|
12
12
|
#
|
|
13
|
-
# @return [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
13
|
+
# @return [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
14
14
|
required :nodes, -> { Courier::Internal::Type::ArrayOf[union: Courier::JourneyNode] }
|
|
15
15
|
|
|
16
16
|
# @!attribute enabled
|
|
@@ -29,7 +29,7 @@ module Courier
|
|
|
29
29
|
#
|
|
30
30
|
# @param name [String]
|
|
31
31
|
#
|
|
32
|
-
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
32
|
+
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
33
33
|
#
|
|
34
34
|
# @param enabled [Boolean]
|
|
35
35
|
#
|
|
@@ -41,6 +41,9 @@ module Courier
|
|
|
41
41
|
# Collect events arriving at the node into a single batch and fire one downstream step with the aggregated payload. The first event into a batch owns the run; later contributing events terminate at the batch step. The batch releases when any of `max_items` is reached, a quiet window of `wait_period` elapses, or the `max_wait_period` ceiling hits.
|
|
42
42
|
variant -> { Courier::JourneyNode::JourneyBatchNode }
|
|
43
43
|
|
|
44
|
+
# Add the current event to a digest keyed by the given subscription topic. The digest accumulates events and releases them on the schedule configured for the topic.
|
|
45
|
+
variant -> { Courier::JourneyNode::JourneyAddToDigestNode }
|
|
46
|
+
|
|
44
47
|
# Terminate the journey run.
|
|
45
48
|
variant -> { Courier::JourneyExitNode }
|
|
46
49
|
|
|
@@ -200,6 +203,58 @@ module Courier
|
|
|
200
203
|
end
|
|
201
204
|
end
|
|
202
205
|
|
|
206
|
+
class JourneyAddToDigestNode < Courier::Internal::Type::BaseModel
|
|
207
|
+
# @!attribute subscription_topic_id
|
|
208
|
+
# The subscription topic that owns the digest the event is added to.
|
|
209
|
+
#
|
|
210
|
+
# @return [String]
|
|
211
|
+
required :subscription_topic_id, String
|
|
212
|
+
|
|
213
|
+
# @!attribute type
|
|
214
|
+
#
|
|
215
|
+
# @return [Symbol, Courier::Models::JourneyNode::JourneyAddToDigestNode::Type]
|
|
216
|
+
required :type, enum: -> { Courier::JourneyNode::JourneyAddToDigestNode::Type }
|
|
217
|
+
|
|
218
|
+
# @!attribute id
|
|
219
|
+
#
|
|
220
|
+
# @return [String, nil]
|
|
221
|
+
optional :id, String
|
|
222
|
+
|
|
223
|
+
# @!attribute conditions
|
|
224
|
+
# Condition spec for a journey node. Accepts a single condition atom, an AND/OR
|
|
225
|
+
# group, or an AND/OR nested group. Omit the `conditions` property entirely to
|
|
226
|
+
# express "no conditions".
|
|
227
|
+
#
|
|
228
|
+
# @return [Array<String>, Courier::Models::JourneyConditionGroup, Courier::Models::JourneyConditionNestedGroup, nil]
|
|
229
|
+
optional :conditions, union: -> { Courier::JourneyConditionsField }
|
|
230
|
+
|
|
231
|
+
# @!method initialize(subscription_topic_id:, type:, id: nil, conditions: nil)
|
|
232
|
+
# Some parameter documentations has been truncated, see
|
|
233
|
+
# {Courier::Models::JourneyNode::JourneyAddToDigestNode} for more details.
|
|
234
|
+
#
|
|
235
|
+
# Add the current event to a digest keyed by the given subscription topic. The
|
|
236
|
+
# digest accumulates events and releases them on the schedule configured for the
|
|
237
|
+
# topic.
|
|
238
|
+
#
|
|
239
|
+
# @param subscription_topic_id [String] The subscription topic that owns the digest the event is added to.
|
|
240
|
+
#
|
|
241
|
+
# @param type [Symbol, Courier::Models::JourneyNode::JourneyAddToDigestNode::Type]
|
|
242
|
+
#
|
|
243
|
+
# @param id [String]
|
|
244
|
+
#
|
|
245
|
+
# @param conditions [Array<String>, Courier::Models::JourneyConditionGroup, Courier::Models::JourneyConditionNestedGroup] Condition spec for a journey node. Accepts a single condition atom, an AND/OR gr
|
|
246
|
+
|
|
247
|
+
# @see Courier::Models::JourneyNode::JourneyAddToDigestNode#type
|
|
248
|
+
module Type
|
|
249
|
+
extend Courier::Internal::Type::Enum
|
|
250
|
+
|
|
251
|
+
ADD_TO_DIGEST = :"add-to-digest"
|
|
252
|
+
|
|
253
|
+
# @!method self.values
|
|
254
|
+
# @return [Array<Symbol>]
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
|
|
203
258
|
class JourneyBranchNode < Courier::Internal::Type::BaseModel
|
|
204
259
|
# @!attribute default
|
|
205
260
|
#
|
|
@@ -289,7 +344,7 @@ module Courier
|
|
|
289
344
|
end
|
|
290
345
|
|
|
291
346
|
# @!method self.variants
|
|
292
|
-
# @return [Array(Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode)]
|
|
347
|
+
# @return [Array(Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode)]
|
|
293
348
|
end
|
|
294
349
|
end
|
|
295
350
|
end
|
|
@@ -31,7 +31,7 @@ module Courier
|
|
|
31
31
|
|
|
32
32
|
# @!attribute nodes
|
|
33
33
|
#
|
|
34
|
-
# @return [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
34
|
+
# @return [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
35
35
|
required :nodes, -> { Courier::Internal::Type::ArrayOf[union: Courier::JourneyNode] }
|
|
36
36
|
|
|
37
37
|
# @!attribute published
|
|
@@ -68,7 +68,7 @@ module Courier
|
|
|
68
68
|
#
|
|
69
69
|
# @param name [String]
|
|
70
70
|
#
|
|
71
|
-
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
71
|
+
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
72
72
|
#
|
|
73
73
|
# @param published [Integer, nil]
|
|
74
74
|
#
|
|
@@ -17,7 +17,7 @@ module Courier
|
|
|
17
17
|
#
|
|
18
18
|
# @param name [String]
|
|
19
19
|
#
|
|
20
|
-
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
20
|
+
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
21
21
|
#
|
|
22
22
|
# @param enabled [Boolean]
|
|
23
23
|
#
|
|
@@ -204,7 +204,7 @@ module Courier
|
|
|
204
204
|
#
|
|
205
205
|
# @param name [String]
|
|
206
206
|
#
|
|
207
|
-
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
207
|
+
# @param nodes [Array<Courier::Models::JourneyAPIInvokeTriggerNode, Courier::Models::JourneySegmentTriggerNode, Courier::Models::JourneySendNode, Courier::Models::JourneyDelayDurationNode, Courier::Models::JourneyDelayUntilNode, Courier::Models::JourneyFetchGetDeleteNode, Courier::Models::JourneyFetchPostPutNode, Courier::Models::JourneyAINode, Courier::Models::JourneyThrottleStaticNode, Courier::Models::JourneyThrottleDynamicNode, Courier::Models::JourneyNode::JourneyBatchNode, Courier::Models::JourneyNode::JourneyAddToDigestNode, Courier::Models::JourneyExitNode, Courier::Models::JourneyNode::JourneyBranchNode>]
|
|
208
208
|
#
|
|
209
209
|
# @param enabled [Boolean]
|
|
210
210
|
#
|
data/lib/courier/version.rb
CHANGED
|
@@ -26,6 +26,7 @@ module Courier
|
|
|
26
26
|
Courier::JourneyThrottleStaticNode,
|
|
27
27
|
Courier::JourneyThrottleDynamicNode,
|
|
28
28
|
Courier::JourneyNode::JourneyBatchNode,
|
|
29
|
+
Courier::JourneyNode::JourneyAddToDigestNode,
|
|
29
30
|
Courier::JourneyExitNode,
|
|
30
31
|
Courier::JourneyNode::JourneyBranchNode
|
|
31
32
|
)
|
|
@@ -65,6 +66,7 @@ module Courier
|
|
|
65
66
|
Courier::JourneyThrottleStaticNode::OrHash,
|
|
66
67
|
Courier::JourneyThrottleDynamicNode::OrHash,
|
|
67
68
|
Courier::JourneyNode::JourneyBatchNode::OrHash,
|
|
69
|
+
Courier::JourneyNode::JourneyAddToDigestNode::OrHash,
|
|
68
70
|
Courier::JourneyExitNode::OrHash,
|
|
69
71
|
Courier::JourneyNode::JourneyBranchNode::OrHash
|
|
70
72
|
)
|
|
@@ -100,6 +102,7 @@ module Courier
|
|
|
100
102
|
Courier::JourneyThrottleStaticNode,
|
|
101
103
|
Courier::JourneyThrottleDynamicNode,
|
|
102
104
|
Courier::JourneyNode::JourneyBatchNode,
|
|
105
|
+
Courier::JourneyNode::JourneyAddToDigestNode,
|
|
103
106
|
Courier::JourneyExitNode,
|
|
104
107
|
Courier::JourneyNode::JourneyBranchNode
|
|
105
108
|
)
|
|
@@ -22,6 +22,7 @@ module Courier
|
|
|
22
22
|
Courier::JourneyThrottleStaticNode,
|
|
23
23
|
Courier::JourneyThrottleDynamicNode,
|
|
24
24
|
Courier::JourneyNode::JourneyBatchNode,
|
|
25
|
+
Courier::JourneyNode::JourneyAddToDigestNode,
|
|
25
26
|
Courier::JourneyExitNode,
|
|
26
27
|
Courier::JourneyNode::JourneyBranchNode
|
|
27
28
|
)
|
|
@@ -341,6 +342,132 @@ module Courier
|
|
|
341
342
|
end
|
|
342
343
|
end
|
|
343
344
|
|
|
345
|
+
class JourneyAddToDigestNode < Courier::Internal::Type::BaseModel
|
|
346
|
+
OrHash =
|
|
347
|
+
T.type_alias do
|
|
348
|
+
T.any(
|
|
349
|
+
Courier::JourneyNode::JourneyAddToDigestNode,
|
|
350
|
+
Courier::Internal::AnyHash
|
|
351
|
+
)
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
# The subscription topic that owns the digest the event is added to.
|
|
355
|
+
sig { returns(String) }
|
|
356
|
+
attr_accessor :subscription_topic_id
|
|
357
|
+
|
|
358
|
+
sig do
|
|
359
|
+
returns(Courier::JourneyNode::JourneyAddToDigestNode::Type::OrSymbol)
|
|
360
|
+
end
|
|
361
|
+
attr_accessor :type
|
|
362
|
+
|
|
363
|
+
sig { returns(T.nilable(String)) }
|
|
364
|
+
attr_reader :id
|
|
365
|
+
|
|
366
|
+
sig { params(id: String).void }
|
|
367
|
+
attr_writer :id
|
|
368
|
+
|
|
369
|
+
# Condition spec for a journey node. Accepts a single condition atom, an AND/OR
|
|
370
|
+
# group, or an AND/OR nested group. Omit the `conditions` property entirely to
|
|
371
|
+
# express "no conditions".
|
|
372
|
+
sig do
|
|
373
|
+
returns(
|
|
374
|
+
T.nilable(
|
|
375
|
+
T.any(
|
|
376
|
+
T::Array[String],
|
|
377
|
+
Courier::JourneyConditionGroup,
|
|
378
|
+
Courier::JourneyConditionNestedGroup
|
|
379
|
+
)
|
|
380
|
+
)
|
|
381
|
+
)
|
|
382
|
+
end
|
|
383
|
+
attr_reader :conditions
|
|
384
|
+
|
|
385
|
+
sig do
|
|
386
|
+
params(
|
|
387
|
+
conditions:
|
|
388
|
+
T.any(
|
|
389
|
+
T::Array[String],
|
|
390
|
+
Courier::JourneyConditionGroup::OrHash,
|
|
391
|
+
Courier::JourneyConditionNestedGroup::OrHash
|
|
392
|
+
)
|
|
393
|
+
).void
|
|
394
|
+
end
|
|
395
|
+
attr_writer :conditions
|
|
396
|
+
|
|
397
|
+
# Add the current event to a digest keyed by the given subscription topic. The
|
|
398
|
+
# digest accumulates events and releases them on the schedule configured for the
|
|
399
|
+
# topic.
|
|
400
|
+
sig do
|
|
401
|
+
params(
|
|
402
|
+
subscription_topic_id: String,
|
|
403
|
+
type: Courier::JourneyNode::JourneyAddToDigestNode::Type::OrSymbol,
|
|
404
|
+
id: String,
|
|
405
|
+
conditions:
|
|
406
|
+
T.any(
|
|
407
|
+
T::Array[String],
|
|
408
|
+
Courier::JourneyConditionGroup::OrHash,
|
|
409
|
+
Courier::JourneyConditionNestedGroup::OrHash
|
|
410
|
+
)
|
|
411
|
+
).returns(T.attached_class)
|
|
412
|
+
end
|
|
413
|
+
def self.new(
|
|
414
|
+
# The subscription topic that owns the digest the event is added to.
|
|
415
|
+
subscription_topic_id:,
|
|
416
|
+
type:,
|
|
417
|
+
id: nil,
|
|
418
|
+
# Condition spec for a journey node. Accepts a single condition atom, an AND/OR
|
|
419
|
+
# group, or an AND/OR nested group. Omit the `conditions` property entirely to
|
|
420
|
+
# express "no conditions".
|
|
421
|
+
conditions: nil
|
|
422
|
+
)
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
sig do
|
|
426
|
+
override.returns(
|
|
427
|
+
{
|
|
428
|
+
subscription_topic_id: String,
|
|
429
|
+
type:
|
|
430
|
+
Courier::JourneyNode::JourneyAddToDigestNode::Type::OrSymbol,
|
|
431
|
+
id: String,
|
|
432
|
+
conditions:
|
|
433
|
+
T.any(
|
|
434
|
+
T::Array[String],
|
|
435
|
+
Courier::JourneyConditionGroup,
|
|
436
|
+
Courier::JourneyConditionNestedGroup
|
|
437
|
+
)
|
|
438
|
+
}
|
|
439
|
+
)
|
|
440
|
+
end
|
|
441
|
+
def to_hash
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
module Type
|
|
445
|
+
extend Courier::Internal::Type::Enum
|
|
446
|
+
|
|
447
|
+
TaggedSymbol =
|
|
448
|
+
T.type_alias do
|
|
449
|
+
T.all(Symbol, Courier::JourneyNode::JourneyAddToDigestNode::Type)
|
|
450
|
+
end
|
|
451
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
452
|
+
|
|
453
|
+
ADD_TO_DIGEST =
|
|
454
|
+
T.let(
|
|
455
|
+
:"add-to-digest",
|
|
456
|
+
Courier::JourneyNode::JourneyAddToDigestNode::Type::TaggedSymbol
|
|
457
|
+
)
|
|
458
|
+
|
|
459
|
+
sig do
|
|
460
|
+
override.returns(
|
|
461
|
+
T::Array[
|
|
462
|
+
Courier::JourneyNode::JourneyAddToDigestNode::Type::TaggedSymbol
|
|
463
|
+
]
|
|
464
|
+
)
|
|
465
|
+
end
|
|
466
|
+
def self.values
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
end
|
|
470
|
+
|
|
344
471
|
class JourneyBranchNode < Courier::Internal::Type::BaseModel
|
|
345
472
|
OrHash =
|
|
346
473
|
T.type_alias do
|
|
@@ -61,6 +61,7 @@ module Courier
|
|
|
61
61
|
Courier::JourneyThrottleStaticNode::OrHash,
|
|
62
62
|
Courier::JourneyThrottleDynamicNode::OrHash,
|
|
63
63
|
Courier::JourneyNode::JourneyBatchNode::OrHash,
|
|
64
|
+
Courier::JourneyNode::JourneyAddToDigestNode::OrHash,
|
|
64
65
|
Courier::JourneyExitNode::OrHash,
|
|
65
66
|
Courier::JourneyNode::JourneyBranchNode::OrHash
|
|
66
67
|
)
|
|
@@ -29,6 +29,7 @@ module Courier
|
|
|
29
29
|
Courier::JourneyThrottleStaticNode::OrHash,
|
|
30
30
|
Courier::JourneyThrottleDynamicNode::OrHash,
|
|
31
31
|
Courier::JourneyNode::JourneyBatchNode::OrHash,
|
|
32
|
+
Courier::JourneyNode::JourneyAddToDigestNode::OrHash,
|
|
32
33
|
Courier::JourneyExitNode::OrHash,
|
|
33
34
|
Courier::JourneyNode::JourneyBranchNode::OrHash
|
|
34
35
|
)
|
|
@@ -189,6 +190,7 @@ module Courier
|
|
|
189
190
|
Courier::JourneyThrottleStaticNode::OrHash,
|
|
190
191
|
Courier::JourneyThrottleDynamicNode::OrHash,
|
|
191
192
|
Courier::JourneyNode::JourneyBatchNode::OrHash,
|
|
193
|
+
Courier::JourneyNode::JourneyAddToDigestNode::OrHash,
|
|
192
194
|
Courier::JourneyExitNode::OrHash,
|
|
193
195
|
Courier::JourneyNode::JourneyBranchNode::OrHash
|
|
194
196
|
)
|
|
@@ -12,6 +12,7 @@ module Courier
|
|
|
12
12
|
| Courier::JourneyThrottleStaticNode
|
|
13
13
|
| Courier::JourneyThrottleDynamicNode
|
|
14
14
|
| Courier::JourneyNode::JourneyBatchNode
|
|
15
|
+
| Courier::JourneyNode::JourneyAddToDigestNode
|
|
15
16
|
| Courier::JourneyExitNode
|
|
16
17
|
| Courier::JourneyNode::JourneyBranchNode
|
|
17
18
|
|
|
@@ -147,6 +148,54 @@ module Courier
|
|
|
147
148
|
end
|
|
148
149
|
end
|
|
149
150
|
|
|
151
|
+
type journey_add_to_digest_node =
|
|
152
|
+
{
|
|
153
|
+
subscription_topic_id: String,
|
|
154
|
+
type: Courier::Models::JourneyNode::JourneyAddToDigestNode::type_,
|
|
155
|
+
id: String,
|
|
156
|
+
conditions: Courier::Models::journey_conditions_field
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
class JourneyAddToDigestNode < Courier::Internal::Type::BaseModel
|
|
160
|
+
attr_accessor subscription_topic_id: String
|
|
161
|
+
|
|
162
|
+
attr_accessor type: Courier::Models::JourneyNode::JourneyAddToDigestNode::type_
|
|
163
|
+
|
|
164
|
+
attr_reader id: String?
|
|
165
|
+
|
|
166
|
+
def id=: (String) -> String
|
|
167
|
+
|
|
168
|
+
attr_reader conditions: Courier::Models::journey_conditions_field?
|
|
169
|
+
|
|
170
|
+
def conditions=: (
|
|
171
|
+
Courier::Models::journey_conditions_field
|
|
172
|
+
) -> Courier::Models::journey_conditions_field
|
|
173
|
+
|
|
174
|
+
def initialize: (
|
|
175
|
+
subscription_topic_id: String,
|
|
176
|
+
type: Courier::Models::JourneyNode::JourneyAddToDigestNode::type_,
|
|
177
|
+
?id: String,
|
|
178
|
+
?conditions: Courier::Models::journey_conditions_field
|
|
179
|
+
) -> void
|
|
180
|
+
|
|
181
|
+
def to_hash: -> {
|
|
182
|
+
subscription_topic_id: String,
|
|
183
|
+
type: Courier::Models::JourneyNode::JourneyAddToDigestNode::type_,
|
|
184
|
+
id: String,
|
|
185
|
+
conditions: Courier::Models::journey_conditions_field
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
type type_ = :"add-to-digest"
|
|
189
|
+
|
|
190
|
+
module Type
|
|
191
|
+
extend Courier::Internal::Type::Enum
|
|
192
|
+
|
|
193
|
+
ADD_TO_DIGEST: :"add-to-digest"
|
|
194
|
+
|
|
195
|
+
def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyAddToDigestNode::type_]
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
150
199
|
type journey_branch_node =
|
|
151
200
|
{
|
|
152
201
|
default: Courier::JourneyNode::JourneyBranchNode::Default,
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trycourier
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Courier
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-06-
|
|
11
|
+
date: 2026-06-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|