metronome-sdk 0.1.0.pre.alpha.4 → 0.2.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/cursor_page.rb +1 -1
  5. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  6. data/lib/metronome_sdk/models/commit.rb +81 -8
  7. data/lib/metronome_sdk/models/contract_without_amendments.rb +368 -2
  8. data/lib/metronome_sdk/models/credit.rb +67 -6
  9. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  10. data/lib/metronome_sdk/models/v1/contract_create_params.rb +399 -12
  11. data/lib/metronome_sdk/models/v1/contract_list_balances_params.rb +9 -1
  12. data/lib/metronome_sdk/models/v1/customers/commit_list_params.rb +9 -1
  13. data/lib/metronome_sdk/models/v1/customers/credit_list_params.rb +9 -1
  14. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  15. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  16. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +2 -0
  17. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +2 -0
  18. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +417 -18
  19. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +776 -12
  20. data/lib/metronome_sdk/models/v2/contract_list_response.rb +529 -22
  21. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +529 -22
  22. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  23. data/lib/metronome_sdk/resources/v1/contracts.rb +3 -1
  24. data/lib/metronome_sdk/resources/v1/customers/commits.rb +3 -1
  25. data/lib/metronome_sdk/resources/v1/customers/credits.rb +3 -1
  26. data/lib/metronome_sdk/version.rb +1 -1
  27. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  28. data/rbi/metronome_sdk/models/commit.rbi +173 -15
  29. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +888 -6
  30. data/rbi/metronome_sdk/models/credit.rbi +141 -12
  31. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  32. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1160 -226
  33. data/rbi/metronome_sdk/models/v1/contract_list_balances_params.rbi +11 -0
  34. data/rbi/metronome_sdk/models/v1/customers/commit_list_params.rbi +11 -0
  35. data/rbi/metronome_sdk/models/v1/customers/credit_list_params.rbi +11 -0
  36. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  37. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  38. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +4 -0
  39. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +4 -0
  40. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +1192 -234
  41. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +2155 -87
  42. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +1260 -47
  43. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +1260 -47
  44. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  45. data/rbi/metronome_sdk/resources/v1/contracts.rbi +3 -0
  46. data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +3 -0
  47. data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +3 -0
  48. data/rbi/metronome_sdk/resources/v2/contracts.rbi +4 -0
  49. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  50. data/sig/metronome_sdk/models/commit.rbs +93 -15
  51. data/sig/metronome_sdk/models/contract_without_amendments.rbs +366 -6
  52. data/sig/metronome_sdk/models/credit.rbs +73 -9
  53. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  54. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +376 -3
  55. data/sig/metronome_sdk/models/v1/contract_list_balances_params.rbs +7 -0
  56. data/sig/metronome_sdk/models/v1/customers/commit_list_params.rbs +7 -0
  57. data/sig/metronome_sdk/models/v1/customers/credit_list_params.rbs +7 -0
  58. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  59. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  60. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +376 -3
  61. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +858 -6
  62. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +558 -30
  63. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +558 -30
  64. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  65. data/sig/metronome_sdk/resources/v1/contracts.rbs +1 -0
  66. data/sig/metronome_sdk/resources/v1/customers/commits.rbs +1 -0
  67. data/sig/metronome_sdk/resources/v1/customers/credits.rbs +1 -0
  68. metadata +4 -4
@@ -68,6 +68,13 @@ module MetronomeSDK
68
68
  sig { params(include_ledgers: T::Boolean).void }
69
69
  attr_writer :include_ledgers
70
70
 
71
+ # The maximum number of commits to return. Defaults to 25.
72
+ sig { returns(T.nilable(Integer)) }
73
+ attr_reader :limit
74
+
75
+ sig { params(limit: Integer).void }
76
+ attr_writer :limit
77
+
71
78
  # The next page token from a previous response.
72
79
  sig { returns(T.nilable(String)) }
73
80
  attr_reader :next_page
@@ -92,6 +99,7 @@ module MetronomeSDK
92
99
  include_balance: T::Boolean,
93
100
  include_contract_balances: T::Boolean,
94
101
  include_ledgers: T::Boolean,
102
+ limit: Integer,
95
103
  next_page: String,
96
104
  starting_at: Time,
97
105
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -114,6 +122,8 @@ module MetronomeSDK
114
122
  # Include ledgers in the response. Setting this flag may cause the query to be
115
123
  # slower.
116
124
  include_ledgers: nil,
125
+ # The maximum number of commits to return. Defaults to 25.
126
+ limit: nil,
117
127
  # The next page token from a previous response.
118
128
  next_page: nil,
119
129
  # Include only balances that have any access on or after the provided date
@@ -133,6 +143,7 @@ module MetronomeSDK
133
143
  include_balance: T::Boolean,
134
144
  include_contract_balances: T::Boolean,
135
145
  include_ledgers: T::Boolean,
146
+ limit: Integer,
136
147
  next_page: String,
137
148
  starting_at: Time,
138
149
  request_options: MetronomeSDK::RequestOptions
@@ -69,6 +69,13 @@ module MetronomeSDK
69
69
  sig { params(include_ledgers: T::Boolean).void }
70
70
  attr_writer :include_ledgers
71
71
 
72
+ # The maximum number of commits to return. Defaults to 25.
73
+ sig { returns(T.nilable(Integer)) }
74
+ attr_reader :limit
75
+
76
+ sig { params(limit: Integer).void }
77
+ attr_writer :limit
78
+
72
79
  # The next page token from a previous response.
73
80
  sig { returns(T.nilable(String)) }
74
81
  attr_reader :next_page
@@ -93,6 +100,7 @@ module MetronomeSDK
93
100
  include_balance: T::Boolean,
94
101
  include_contract_commits: T::Boolean,
95
102
  include_ledgers: T::Boolean,
103
+ limit: Integer,
96
104
  next_page: String,
97
105
  starting_at: Time,
98
106
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -115,6 +123,8 @@ module MetronomeSDK
115
123
  # Include commit ledgers in the response. Setting this flag may cause the query to
116
124
  # be slower.
117
125
  include_ledgers: nil,
126
+ # The maximum number of commits to return. Defaults to 25.
127
+ limit: nil,
118
128
  # The next page token from a previous response.
119
129
  next_page: nil,
120
130
  # Include only commits that have any access on or after the provided date
@@ -134,6 +144,7 @@ module MetronomeSDK
134
144
  include_balance: T::Boolean,
135
145
  include_contract_commits: T::Boolean,
136
146
  include_ledgers: T::Boolean,
147
+ limit: Integer,
137
148
  next_page: String,
138
149
  starting_at: Time,
139
150
  request_options: MetronomeSDK::RequestOptions
@@ -69,6 +69,13 @@ module MetronomeSDK
69
69
  sig { params(include_ledgers: T::Boolean).void }
70
70
  attr_writer :include_ledgers
71
71
 
72
+ # The maximum number of commits to return. Defaults to 25.
73
+ sig { returns(T.nilable(Integer)) }
74
+ attr_reader :limit
75
+
76
+ sig { params(limit: Integer).void }
77
+ attr_writer :limit
78
+
72
79
  # The next page token from a previous response.
73
80
  sig { returns(T.nilable(String)) }
74
81
  attr_reader :next_page
@@ -93,6 +100,7 @@ module MetronomeSDK
93
100
  include_balance: T::Boolean,
94
101
  include_contract_credits: T::Boolean,
95
102
  include_ledgers: T::Boolean,
103
+ limit: Integer,
96
104
  next_page: String,
97
105
  starting_at: Time,
98
106
  request_options: MetronomeSDK::RequestOptions::OrHash
@@ -115,6 +123,8 @@ module MetronomeSDK
115
123
  # Include credit ledgers in the response. Setting this flag may cause the query to
116
124
  # be slower.
117
125
  include_ledgers: nil,
126
+ # The maximum number of commits to return. Defaults to 25.
127
+ limit: nil,
118
128
  # The next page token from a previous response.
119
129
  next_page: nil,
120
130
  # Include only credits that have any access on or after the provided date
@@ -134,6 +144,7 @@ module MetronomeSDK
134
144
  include_balance: T::Boolean,
135
145
  include_contract_credits: T::Boolean,
136
146
  include_ledgers: T::Boolean,
147
+ limit: Integer,
137
148
  next_page: String,
138
149
  starting_at: Time,
139
150
  request_options: MetronomeSDK::RequestOptions
@@ -176,6 +176,29 @@ module MetronomeSDK
176
176
  end
177
177
  attr_writer :group_key_filter
178
178
 
179
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
180
+ # group key on individual line items.
181
+ sig do
182
+ returns(
183
+ T.nilable(
184
+ T::Array[
185
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue
186
+ ]
187
+ )
188
+ )
189
+ end
190
+ attr_reader :group_values
191
+
192
+ sig do
193
+ params(
194
+ group_values:
195
+ T::Array[
196
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue::OrHash
197
+ ]
198
+ ).void
199
+ end
200
+ attr_writer :group_values
201
+
179
202
  # Only supported for invoice_total_reached alerts. A list of invoice types to
180
203
  # evaluate.
181
204
  sig { returns(T.nilable(T::Array[String])) }
@@ -211,6 +234,10 @@ module MetronomeSDK
211
234
  ],
212
235
  group_key_filter:
213
236
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter::OrHash,
237
+ group_values:
238
+ T::Array[
239
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue::OrHash
240
+ ],
214
241
  invoice_types_filter: T::Array[String],
215
242
  uniqueness_key: String
216
243
  ).returns(T.attached_class)
@@ -238,6 +265,9 @@ module MetronomeSDK
238
265
  # Scopes alert evaluation to a specific presentation group key on individual line
239
266
  # items. Only present for spend alerts.
240
267
  group_key_filter: nil,
268
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
269
+ # group key on individual line items.
270
+ group_values: nil,
241
271
  # Only supported for invoice_total_reached alerts. A list of invoice types to
242
272
  # evaluate.
243
273
  invoice_types_filter: nil,
@@ -267,6 +297,10 @@ module MetronomeSDK
267
297
  ],
268
298
  group_key_filter:
269
299
  MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupKeyFilter,
300
+ group_values:
301
+ T::Array[
302
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue
303
+ ],
270
304
  invoice_types_filter: T::Array[String],
271
305
  uniqueness_key: String
272
306
  }
@@ -523,6 +557,32 @@ module MetronomeSDK
523
557
  def to_hash
524
558
  end
525
559
  end
560
+
561
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
562
+ OrHash =
563
+ T.type_alias do
564
+ T.any(
565
+ MetronomeSDK::V1::Customers::CustomerAlert::Alert::GroupValue,
566
+ MetronomeSDK::Internal::AnyHash
567
+ )
568
+ end
569
+
570
+ sig { returns(String) }
571
+ attr_accessor :key
572
+
573
+ sig { returns(String) }
574
+ attr_accessor :value
575
+
576
+ sig do
577
+ params(key: String, value: String).returns(T.attached_class)
578
+ end
579
+ def self.new(key:, value:)
580
+ end
581
+
582
+ sig { override.returns({ key: String, value: String }) }
583
+ def to_hash
584
+ end
585
+ end
526
586
  end
527
587
 
528
588
  # The status of the customer alert. If the alert is archived, null will be
@@ -424,6 +424,16 @@ module MetronomeSDK
424
424
  :Primary_red,
425
425
  MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride::Name::TaggedSymbol
426
426
  )
427
+ PROGRESS_BAR =
428
+ T.let(
429
+ :Progress_bar,
430
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride::Name::TaggedSymbol
431
+ )
432
+ PROGRESS_BAR_BACKGROUND =
433
+ T.let(
434
+ :Progress_bar_background,
435
+ MetronomeSDK::V1::DashboardGetEmbeddableURLParams::ColorOverride::Name::TaggedSymbol
436
+ )
427
437
 
428
438
  sig do
429
439
  override.returns(
@@ -86,6 +86,8 @@ module MetronomeSDK
86
86
  # or credit. A customer's usage needs to meet the condition of at least one of the
87
87
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
88
88
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
89
+ # Instead, to target usage by product or product tag, pass those values in the
90
+ # body of `specifiers`.
89
91
  sig do
90
92
  returns(
91
93
  T.nilable(
@@ -138,6 +140,8 @@ module MetronomeSDK
138
140
  # or credit. A customer's usage needs to meet the condition of at least one of the
139
141
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
140
142
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
143
+ # Instead, to target usage by product or product tag, pass those values in the
144
+ # body of `specifiers`.
141
145
  specifiers: nil,
142
146
  request_options: {}
143
147
  )
@@ -60,6 +60,8 @@ module MetronomeSDK
60
60
  # or credit. A customer's usage needs to meet the condition of at least one of the
61
61
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
62
62
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
63
+ # Instead, to target usage by product or product tag, pass those values in the
64
+ # body of `specifiers`.
63
65
  sig do
64
66
  returns(
65
67
  T.nilable(
@@ -104,6 +106,8 @@ module MetronomeSDK
104
106
  # or credit. A customer's usage needs to meet the condition of at least one of the
105
107
  # specifiers to contribute to a commit's or credit's drawdown. This field cannot
106
108
  # be used together with `applicable_product_ids` or `applicable_product_tags`.
109
+ # Instead, to target usage by product or product tag, pass those values in the
110
+ # body of `specifiers`.
107
111
  specifiers: nil,
108
112
  request_options: {}
109
113
  )