trycourier 4.11.0 → 4.13.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/lib/courier/client.rb +4 -0
  4. data/lib/courier/models/brand_create_params.rb +7 -7
  5. data/lib/courier/models/create_journey_request.rb +2 -2
  6. data/lib/courier/models/digest_category.rb +53 -0
  7. data/lib/courier/models/digest_instance.rb +98 -0
  8. data/lib/courier/models/digest_instance_list_response.rb +72 -0
  9. data/lib/courier/models/digests/schedule_list_instances_params.rb +43 -0
  10. data/lib/courier/models/digests/schedule_release_params.rb +22 -0
  11. data/lib/courier/models/journey_node.rb +157 -1
  12. data/lib/courier/models/journey_response.rb +2 -2
  13. data/lib/courier/models.rb +8 -0
  14. data/lib/courier/resources/brands.rb +4 -3
  15. data/lib/courier/resources/digests/schedules.rb +72 -0
  16. data/lib/courier/resources/digests.rb +18 -0
  17. data/lib/courier/resources/journeys.rb +2 -2
  18. data/lib/courier/version.rb +1 -1
  19. data/lib/courier.rb +7 -0
  20. data/rbi/courier/client.rbi +3 -0
  21. data/rbi/courier/models/brand_create_params.rbi +8 -8
  22. data/rbi/courier/models/create_journey_request.rbi +3 -0
  23. data/rbi/courier/models/digest_category.rbi +82 -0
  24. data/rbi/courier/models/digest_instance.rbi +138 -0
  25. data/rbi/courier/models/digest_instance_list_response.rbi +104 -0
  26. data/rbi/courier/models/digests/schedule_list_instances_params.rbi +70 -0
  27. data/rbi/courier/models/digests/schedule_release_params.rbi +40 -0
  28. data/rbi/courier/models/journey_node.rbi +315 -0
  29. data/rbi/courier/models/journey_response.rbi +1 -0
  30. data/rbi/courier/models.rbi +8 -0
  31. data/rbi/courier/resources/brands.rbi +4 -9
  32. data/rbi/courier/resources/digests/schedules.rbi +54 -0
  33. data/rbi/courier/resources/digests.rbi +15 -0
  34. data/rbi/courier/resources/journeys.rbi +2 -0
  35. data/sig/courier/client.rbs +2 -0
  36. data/sig/courier/models/brand_create_params.rbs +5 -5
  37. data/sig/courier/models/digest_category.rbs +46 -0
  38. data/sig/courier/models/digest_instance.rbs +83 -0
  39. data/sig/courier/models/digest_instance_list_response.rbs +57 -0
  40. data/sig/courier/models/digests/schedule_list_instances_params.rbs +38 -0
  41. data/sig/courier/models/digests/schedule_release_params.rbs +25 -0
  42. data/sig/courier/models/journey_node.rbs +130 -0
  43. data/sig/courier/models.rbs +8 -0
  44. data/sig/courier/resources/brands.rbs +1 -1
  45. data/sig/courier/resources/digests/schedules.rbs +21 -0
  46. data/sig/courier/resources/digests.rbs +9 -0
  47. metadata +23 -2
@@ -0,0 +1,38 @@
1
+ module Courier
2
+ module Models
3
+ module Digests
4
+ type schedule_list_instances_params =
5
+ { schedule_id: String, cursor: String, limit: Integer }
6
+ & Courier::Internal::Type::request_parameters
7
+
8
+ class ScheduleListInstancesParams < Courier::Internal::Type::BaseModel
9
+ extend Courier::Internal::Type::RequestParameters::Converter
10
+ include Courier::Internal::Type::RequestParameters
11
+
12
+ attr_accessor schedule_id: String
13
+
14
+ attr_reader cursor: String?
15
+
16
+ def cursor=: (String) -> String
17
+
18
+ attr_reader limit: Integer?
19
+
20
+ def limit=: (Integer) -> Integer
21
+
22
+ def initialize: (
23
+ schedule_id: String,
24
+ ?cursor: String,
25
+ ?limit: Integer,
26
+ ?request_options: Courier::request_opts
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ schedule_id: String,
31
+ cursor: String,
32
+ limit: Integer,
33
+ request_options: Courier::RequestOptions
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,25 @@
1
+ module Courier
2
+ module Models
3
+ module Digests
4
+ type schedule_release_params =
5
+ { schedule_id: String } & Courier::Internal::Type::request_parameters
6
+
7
+ class ScheduleReleaseParams < Courier::Internal::Type::BaseModel
8
+ extend Courier::Internal::Type::RequestParameters::Converter
9
+ include Courier::Internal::Type::RequestParameters
10
+
11
+ attr_accessor schedule_id: String
12
+
13
+ def initialize: (
14
+ schedule_id: String,
15
+ ?request_options: Courier::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ schedule_id: String,
20
+ request_options: Courier::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -11,12 +11,142 @@ module Courier
11
11
  | Courier::JourneyAINode
12
12
  | Courier::JourneyThrottleStaticNode
13
13
  | Courier::JourneyThrottleDynamicNode
14
+ | Courier::JourneyNode::JourneyBatchNode
14
15
  | Courier::JourneyExitNode
15
16
  | Courier::JourneyNode::JourneyBranchNode
16
17
 
17
18
  module JourneyNode
18
19
  extend Courier::Internal::Type::Union
19
20
 
21
+ type journey_batch_node =
22
+ {
23
+ max_wait_period: String,
24
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
25
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
26
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
27
+ wait_period: String,
28
+ id: String,
29
+ category_key: String,
30
+ conditions: Courier::Models::journey_conditions_field,
31
+ max_items: Integer
32
+ }
33
+
34
+ class JourneyBatchNode < Courier::Internal::Type::BaseModel
35
+ attr_accessor max_wait_period: String
36
+
37
+ attr_accessor retain: Courier::JourneyNode::JourneyBatchNode::Retain
38
+
39
+ attr_accessor scope: Courier::Models::JourneyNode::JourneyBatchNode::scope
40
+
41
+ attr_accessor type: Courier::Models::JourneyNode::JourneyBatchNode::type_
42
+
43
+ attr_accessor wait_period: String
44
+
45
+ attr_reader id: String?
46
+
47
+ def id=: (String) -> String
48
+
49
+ attr_reader category_key: String?
50
+
51
+ def category_key=: (String) -> String
52
+
53
+ attr_reader conditions: Courier::Models::journey_conditions_field?
54
+
55
+ def conditions=: (
56
+ Courier::Models::journey_conditions_field
57
+ ) -> Courier::Models::journey_conditions_field
58
+
59
+ attr_reader max_items: Integer?
60
+
61
+ def max_items=: (Integer) -> Integer
62
+
63
+ def initialize: (
64
+ max_wait_period: String,
65
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
66
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
67
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
68
+ wait_period: String,
69
+ ?id: String,
70
+ ?category_key: String,
71
+ ?conditions: Courier::Models::journey_conditions_field,
72
+ ?max_items: Integer
73
+ ) -> void
74
+
75
+ def to_hash: -> {
76
+ max_wait_period: String,
77
+ retain: Courier::JourneyNode::JourneyBatchNode::Retain,
78
+ scope: Courier::Models::JourneyNode::JourneyBatchNode::scope,
79
+ type: Courier::Models::JourneyNode::JourneyBatchNode::type_,
80
+ wait_period: String,
81
+ id: String,
82
+ category_key: String,
83
+ conditions: Courier::Models::journey_conditions_field,
84
+ max_items: Integer
85
+ }
86
+
87
+ type retain =
88
+ {
89
+ count: Integer,
90
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
91
+ sort_key: String
92
+ }
93
+
94
+ class Retain < Courier::Internal::Type::BaseModel
95
+ attr_accessor count: Integer
96
+
97
+ attr_accessor type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_
98
+
99
+ attr_reader sort_key: String?
100
+
101
+ def sort_key=: (String) -> String
102
+
103
+ def initialize: (
104
+ count: Integer,
105
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
106
+ ?sort_key: String
107
+ ) -> void
108
+
109
+ def to_hash: -> {
110
+ count: Integer,
111
+ type: Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_,
112
+ sort_key: String
113
+ }
114
+
115
+ type type_ = :first | :last | :highest | :lowest
116
+
117
+ module Type
118
+ extend Courier::Internal::Type::Enum
119
+
120
+ FIRST: :first
121
+ LAST: :last
122
+ HIGHEST: :highest
123
+ LOWEST: :lowest
124
+
125
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::Retain::type_]
126
+ end
127
+ end
128
+
129
+ type scope = :user
130
+
131
+ module Scope
132
+ extend Courier::Internal::Type::Enum
133
+
134
+ USER: :user
135
+
136
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::scope]
137
+ end
138
+
139
+ type type_ = :batch
140
+
141
+ module Type
142
+ extend Courier::Internal::Type::Enum
143
+
144
+ BATCH: :batch
145
+
146
+ def self?.values: -> ::Array[Courier::Models::JourneyNode::JourneyBatchNode::type_]
147
+ end
148
+ end
149
+
20
150
  type journey_branch_node =
21
151
  {
22
152
  default: Courier::JourneyNode::JourneyBranchNode::Default,
@@ -99,6 +99,14 @@ module Courier
99
99
 
100
100
  class DeviceType = Courier::Models::DeviceType
101
101
 
102
+ class DigestCategory = Courier::Models::DigestCategory
103
+
104
+ class DigestInstance = Courier::Models::DigestInstance
105
+
106
+ class DigestInstanceListResponse = Courier::Models::DigestInstanceListResponse
107
+
108
+ module Digests = Courier::Models::Digests
109
+
102
110
  module Discord = Courier::Models::Discord
103
111
 
104
112
  class ElementalActionNodeWithType = Courier::Models::ElementalActionNodeWithType
@@ -3,8 +3,8 @@ module Courier
3
3
  class Brands
4
4
  def create: (
5
5
  name: String,
6
+ settings: Courier::BrandSettings,
6
7
  ?id: String?,
7
- ?settings: Courier::BrandSettings?,
8
8
  ?snippets: Courier::BrandSnippets?,
9
9
  ?request_options: Courier::request_opts
10
10
  ) -> Courier::Brand
@@ -0,0 +1,21 @@
1
+ module Courier
2
+ module Resources
3
+ class Digests
4
+ class Schedules
5
+ def list_instances: (
6
+ String schedule_id,
7
+ ?cursor: String,
8
+ ?limit: Integer,
9
+ ?request_options: Courier::request_opts
10
+ ) -> Courier::DigestInstanceListResponse
11
+
12
+ def release: (
13
+ String schedule_id,
14
+ ?request_options: Courier::request_opts
15
+ ) -> nil
16
+
17
+ def initialize: (client: Courier::Client) -> void
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,9 @@
1
+ module Courier
2
+ module Resources
3
+ class Digests
4
+ attr_reader schedules: Courier::Resources::Digests::Schedules
5
+
6
+ def initialize: (client: Courier::Client) -> void
7
+ end
8
+ end
9
+ end
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.11.0
4
+ version: 4.13.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-05-19 00:00:00.000000000 Z
11
+ date: 2026-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -129,6 +129,11 @@ files:
129
129
  - lib/courier/models/create_journey_request.rb
130
130
  - lib/courier/models/default_preferences.rb
131
131
  - lib/courier/models/device_type.rb
132
+ - lib/courier/models/digest_category.rb
133
+ - lib/courier/models/digest_instance.rb
134
+ - lib/courier/models/digest_instance_list_response.rb
135
+ - lib/courier/models/digests/schedule_list_instances_params.rb
136
+ - lib/courier/models/digests/schedule_release_params.rb
132
137
  - lib/courier/models/discord.rb
133
138
  - lib/courier/models/element_with_checksums.rb
134
139
  - lib/courier/models/elemental_action_node_with_type.rb
@@ -406,6 +411,8 @@ files:
406
411
  - lib/courier/resources/automations/invoke.rb
407
412
  - lib/courier/resources/brands.rb
408
413
  - lib/courier/resources/bulk.rb
414
+ - lib/courier/resources/digests.rb
415
+ - lib/courier/resources/digests/schedules.rb
409
416
  - lib/courier/resources/inbound.rb
410
417
  - lib/courier/resources/journeys.rb
411
418
  - lib/courier/resources/journeys/templates.rb
@@ -512,6 +519,11 @@ files:
512
519
  - rbi/courier/models/create_journey_request.rbi
513
520
  - rbi/courier/models/default_preferences.rbi
514
521
  - rbi/courier/models/device_type.rbi
522
+ - rbi/courier/models/digest_category.rbi
523
+ - rbi/courier/models/digest_instance.rbi
524
+ - rbi/courier/models/digest_instance_list_response.rbi
525
+ - rbi/courier/models/digests/schedule_list_instances_params.rbi
526
+ - rbi/courier/models/digests/schedule_release_params.rbi
515
527
  - rbi/courier/models/discord.rbi
516
528
  - rbi/courier/models/element_with_checksums.rbi
517
529
  - rbi/courier/models/elemental_action_node_with_type.rbi
@@ -789,6 +801,8 @@ files:
789
801
  - rbi/courier/resources/automations/invoke.rbi
790
802
  - rbi/courier/resources/brands.rbi
791
803
  - rbi/courier/resources/bulk.rbi
804
+ - rbi/courier/resources/digests.rbi
805
+ - rbi/courier/resources/digests/schedules.rbi
792
806
  - rbi/courier/resources/inbound.rbi
793
807
  - rbi/courier/resources/journeys.rbi
794
808
  - rbi/courier/resources/journeys/templates.rbi
@@ -894,6 +908,11 @@ files:
894
908
  - sig/courier/models/create_journey_request.rbs
895
909
  - sig/courier/models/default_preferences.rbs
896
910
  - sig/courier/models/device_type.rbs
911
+ - sig/courier/models/digest_category.rbs
912
+ - sig/courier/models/digest_instance.rbs
913
+ - sig/courier/models/digest_instance_list_response.rbs
914
+ - sig/courier/models/digests/schedule_list_instances_params.rbs
915
+ - sig/courier/models/digests/schedule_release_params.rbs
897
916
  - sig/courier/models/discord.rbs
898
917
  - sig/courier/models/element_with_checksums.rbs
899
918
  - sig/courier/models/elemental_action_node_with_type.rbs
@@ -1171,6 +1190,8 @@ files:
1171
1190
  - sig/courier/resources/automations/invoke.rbs
1172
1191
  - sig/courier/resources/brands.rbs
1173
1192
  - sig/courier/resources/bulk.rbs
1193
+ - sig/courier/resources/digests.rbs
1194
+ - sig/courier/resources/digests/schedules.rbs
1174
1195
  - sig/courier/resources/inbound.rbs
1175
1196
  - sig/courier/resources/journeys.rbs
1176
1197
  - sig/courier/resources/journeys/templates.rbs