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
@@ -108,7 +108,8 @@ module MetronomeSDK
108
108
  MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
109
109
  MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
110
110
  MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
111
- MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::OrHash
111
+ MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::OrHash,
112
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::OrHash
112
113
  )
113
114
  ]
114
115
  ).void
@@ -195,7 +196,8 @@ module MetronomeSDK
195
196
  MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry::OrHash,
196
197
  MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::OrHash,
197
198
  MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::OrHash,
198
- MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::OrHash
199
+ MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry::OrHash,
200
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::OrHash
199
201
  )
200
202
  ],
201
203
  name: String,
@@ -624,7 +626,8 @@ module MetronomeSDK
624
626
  MetronomeSDK::Credit::Ledger::CreditExpirationLedgerEntry,
625
627
  MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry,
626
628
  MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry,
627
- MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry
629
+ MetronomeSDK::Credit::Ledger::CreditManualLedgerEntry,
630
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry
628
631
  )
629
632
  end
630
633
 
@@ -737,6 +740,12 @@ module MetronomeSDK
737
740
  end
738
741
  attr_accessor :type
739
742
 
743
+ sig { returns(T.nilable(String)) }
744
+ attr_reader :contract_id
745
+
746
+ sig { params(contract_id: String).void }
747
+ attr_writer :contract_id
748
+
740
749
  sig do
741
750
  params(
742
751
  amount: Float,
@@ -744,10 +753,18 @@ module MetronomeSDK
744
753
  segment_id: String,
745
754
  timestamp: Time,
746
755
  type:
747
- MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
756
+ MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
757
+ contract_id: String
748
758
  ).returns(T.attached_class)
749
759
  end
750
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
760
+ def self.new(
761
+ amount:,
762
+ invoice_id:,
763
+ segment_id:,
764
+ timestamp:,
765
+ type:,
766
+ contract_id: nil
767
+ )
751
768
  end
752
769
 
753
770
  sig do
@@ -758,7 +775,8 @@ module MetronomeSDK
758
775
  segment_id: String,
759
776
  timestamp: Time,
760
777
  type:
761
- MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
778
+ MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
779
+ contract_id: String
762
780
  }
763
781
  )
764
782
  end
@@ -904,6 +922,12 @@ module MetronomeSDK
904
922
  end
905
923
  attr_accessor :type
906
924
 
925
+ sig { returns(T.nilable(String)) }
926
+ attr_reader :contract_id
927
+
928
+ sig { params(contract_id: String).void }
929
+ attr_writer :contract_id
930
+
907
931
  sig do
908
932
  params(
909
933
  amount: Float,
@@ -911,10 +935,18 @@ module MetronomeSDK
911
935
  segment_id: String,
912
936
  timestamp: Time,
913
937
  type:
914
- MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol
938
+ MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol,
939
+ contract_id: String
915
940
  ).returns(T.attached_class)
916
941
  end
917
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
942
+ def self.new(
943
+ amount:,
944
+ invoice_id:,
945
+ segment_id:,
946
+ timestamp:,
947
+ type:,
948
+ contract_id: nil
949
+ )
918
950
  end
919
951
 
920
952
  sig do
@@ -925,7 +957,8 @@ module MetronomeSDK
925
957
  segment_id: String,
926
958
  timestamp: Time,
927
959
  type:
928
- MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
960
+ MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol,
961
+ contract_id: String
929
962
  }
930
963
  )
931
964
  end
@@ -990,6 +1023,12 @@ module MetronomeSDK
990
1023
  end
991
1024
  attr_accessor :type
992
1025
 
1026
+ sig { returns(T.nilable(String)) }
1027
+ attr_reader :contract_id
1028
+
1029
+ sig { params(contract_id: String).void }
1030
+ attr_writer :contract_id
1031
+
993
1032
  sig do
994
1033
  params(
995
1034
  amount: Float,
@@ -997,10 +1036,18 @@ module MetronomeSDK
997
1036
  segment_id: String,
998
1037
  timestamp: Time,
999
1038
  type:
1000
- MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol
1039
+ MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol,
1040
+ contract_id: String
1001
1041
  ).returns(T.attached_class)
1002
1042
  end
1003
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1043
+ def self.new(
1044
+ amount:,
1045
+ invoice_id:,
1046
+ segment_id:,
1047
+ timestamp:,
1048
+ type:,
1049
+ contract_id: nil
1050
+ )
1004
1051
  end
1005
1052
 
1006
1053
  sig do
@@ -1011,7 +1058,8 @@ module MetronomeSDK
1011
1058
  segment_id: String,
1012
1059
  timestamp: Time,
1013
1060
  type:
1014
- MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
1061
+ MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol,
1062
+ contract_id: String
1015
1063
  }
1016
1064
  )
1017
1065
  end
@@ -1129,6 +1177,87 @@ module MetronomeSDK
1129
1177
  end
1130
1178
  end
1131
1179
 
1180
+ class CreditSeatBasedAdjustmentLedgerEntry < MetronomeSDK::Internal::Type::BaseModel
1181
+ OrHash =
1182
+ T.type_alias do
1183
+ T.any(
1184
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry,
1185
+ MetronomeSDK::Internal::AnyHash
1186
+ )
1187
+ end
1188
+
1189
+ sig { returns(Float) }
1190
+ attr_accessor :amount
1191
+
1192
+ sig { returns(String) }
1193
+ attr_accessor :segment_id
1194
+
1195
+ sig { returns(Time) }
1196
+ attr_accessor :timestamp
1197
+
1198
+ sig do
1199
+ returns(
1200
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
1201
+ )
1202
+ end
1203
+ attr_accessor :type
1204
+
1205
+ sig do
1206
+ params(
1207
+ amount: Float,
1208
+ segment_id: String,
1209
+ timestamp: Time,
1210
+ type:
1211
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::OrSymbol
1212
+ ).returns(T.attached_class)
1213
+ end
1214
+ def self.new(amount:, segment_id:, timestamp:, type:)
1215
+ end
1216
+
1217
+ sig do
1218
+ override.returns(
1219
+ {
1220
+ amount: Float,
1221
+ segment_id: String,
1222
+ timestamp: Time,
1223
+ type:
1224
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
1225
+ }
1226
+ )
1227
+ end
1228
+ def to_hash
1229
+ end
1230
+
1231
+ module Type
1232
+ extend MetronomeSDK::Internal::Type::Enum
1233
+
1234
+ TaggedSymbol =
1235
+ T.type_alias do
1236
+ T.all(
1237
+ Symbol,
1238
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type
1239
+ )
1240
+ end
1241
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1242
+
1243
+ CREDIT_SEAT_BASED_ADJUSTMENT =
1244
+ T.let(
1245
+ :CREDIT_SEAT_BASED_ADJUSTMENT,
1246
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
1247
+ )
1248
+
1249
+ sig do
1250
+ override.returns(
1251
+ T::Array[
1252
+ MetronomeSDK::Credit::Ledger::CreditSeatBasedAdjustmentLedgerEntry::Type::TaggedSymbol
1253
+ ]
1254
+ )
1255
+ end
1256
+ def self.values
1257
+ end
1258
+ end
1259
+ end
1260
+
1132
1261
  sig do
1133
1262
  override.returns(T::Array[MetronomeSDK::Credit::Ledger::Variants])
1134
1263
  end
@@ -94,22 +94,22 @@ module MetronomeSDK
94
94
  sig { params(evaluate_on_create: T::Boolean).void }
95
95
  attr_writer :evaluate_on_create
96
96
 
97
- # Scopes alert evaluation to a specific presentation group key on individual line
98
- # items. Only present for spend alerts.
97
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
98
+ # group key on individual line items.
99
99
  sig do
100
100
  returns(
101
- T.nilable(MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter)
101
+ T.nilable(T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue])
102
102
  )
103
103
  end
104
- attr_reader :group_key_filter
104
+ attr_reader :group_values
105
105
 
106
106
  sig do
107
107
  params(
108
- group_key_filter:
109
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter::OrHash
108
+ group_values:
109
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue::OrHash]
110
110
  ).void
111
111
  end
112
- attr_writer :group_key_filter
112
+ attr_writer :group_values
113
113
 
114
114
  # Only supported for invoice_total_reached alerts. A list of invoice types to
115
115
  # evaluate.
@@ -151,8 +151,8 @@ module MetronomeSDK
151
151
  ],
152
152
  customer_id: String,
153
153
  evaluate_on_create: T::Boolean,
154
- group_key_filter:
155
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter::OrHash,
154
+ group_values:
155
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue::OrHash],
156
156
  invoice_types_filter: T::Array[String],
157
157
  plan_id: String,
158
158
  uniqueness_key: String,
@@ -188,9 +188,9 @@ module MetronomeSDK
188
188
  # alert threshold. If false, it will only evaluate on future customers that
189
189
  # trigger the alert threshold. Defaults to true.
190
190
  evaluate_on_create: nil,
191
- # Scopes alert evaluation to a specific presentation group key on individual line
192
- # items. Only present for spend alerts.
193
- group_key_filter: nil,
191
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
192
+ # group key on individual line items.
193
+ group_values: nil,
194
194
  # Only supported for invoice_total_reached alerts. A list of invoice types to
195
195
  # evaluate.
196
196
  invoice_types_filter: nil,
@@ -221,8 +221,8 @@ module MetronomeSDK
221
221
  ],
222
222
  customer_id: String,
223
223
  evaluate_on_create: T::Boolean,
224
- group_key_filter:
225
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter,
224
+ group_values:
225
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue],
226
226
  invoice_types_filter: T::Array[String],
227
227
  plan_id: String,
228
228
  uniqueness_key: String,
@@ -411,11 +411,11 @@ module MetronomeSDK
411
411
  end
412
412
  end
413
413
 
414
- class GroupKeyFilter < MetronomeSDK::Internal::Type::BaseModel
414
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
415
415
  OrHash =
416
416
  T.type_alias do
417
417
  T.any(
418
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter,
418
+ MetronomeSDK::V1::AlertCreateParams::GroupValue,
419
419
  MetronomeSDK::Internal::AnyHash
420
420
  )
421
421
  end
@@ -426,8 +426,6 @@ module MetronomeSDK
426
426
  sig { returns(String) }
427
427
  attr_accessor :value
428
428
 
429
- # Scopes alert evaluation to a specific presentation group key on individual line
430
- # items. Only present for spend alerts.
431
429
  sig { params(key: String, value: String).returns(T.attached_class) }
432
430
  def self.new(key:, value:)
433
431
  end