zavudev 0.10.0 → 0.12.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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/client.rb +8 -0
  5. data/lib/zavudev/models/broadcast_contact.rb +10 -1
  6. data/lib/zavudev/models/broadcast_content.rb +18 -4
  7. data/lib/zavudev/models/broadcasts/contact_add_params.rb +17 -4
  8. data/lib/zavudev/models/contact_delete_params.rb +20 -0
  9. data/lib/zavudev/models/function_create_params.rb +104 -0
  10. data/lib/zavudev/models/function_create_response.rb +168 -0
  11. data/lib/zavudev/models/function_delete_params.rb +20 -0
  12. data/lib/zavudev/models/function_delete_response.rb +28 -0
  13. data/lib/zavudev/models/function_deploy_params.rb +37 -0
  14. data/lib/zavudev/models/function_deploy_response.rb +104 -0
  15. data/lib/zavudev/models/function_get_deployment_params.rb +20 -0
  16. data/lib/zavudev/models/function_get_deployment_response.rb +104 -0
  17. data/lib/zavudev/models/function_retrieve_params.rb +20 -0
  18. data/lib/zavudev/models/function_retrieve_response.rb +168 -0
  19. data/lib/zavudev/models/function_tail_logs_params.rb +58 -0
  20. data/lib/zavudev/models/function_tail_logs_response.rb +41 -0
  21. data/lib/zavudev/models/function_update_params.rb +37 -0
  22. data/lib/zavudev/models/function_update_response.rb +168 -0
  23. data/lib/zavudev/models/functions/secret_list_params.rb +22 -0
  24. data/lib/zavudev/models/functions/secret_list_response.rb +59 -0
  25. data/lib/zavudev/models/functions/secret_set_params.rb +34 -0
  26. data/lib/zavudev/models/functions/secret_set_response.rb +10 -0
  27. data/lib/zavudev/models/functions/secret_unset_params.rb +28 -0
  28. data/lib/zavudev/models/me_retrieve_params.rb +14 -0
  29. data/lib/zavudev/models/me_retrieve_response.rb +85 -0
  30. data/lib/zavudev/models/message_content.rb +20 -4
  31. data/lib/zavudev/models/message_show_typing_params.rb +26 -0
  32. data/lib/zavudev/models/message_show_typing_response.rb +16 -0
  33. data/lib/zavudev/models/senders/agent/execution_retrieve_params.rb +30 -0
  34. data/lib/zavudev/models/senders/agent/execution_retrieve_response.rb +20 -0
  35. data/lib/zavudev/models/template.rb +6 -3
  36. data/lib/zavudev/models.rb +22 -0
  37. data/lib/zavudev/resources/contacts.rb +24 -0
  38. data/lib/zavudev/resources/functions/secrets.rb +98 -0
  39. data/lib/zavudev/resources/functions.rb +220 -0
  40. data/lib/zavudev/resources/me.rb +33 -0
  41. data/lib/zavudev/resources/messages.rb +31 -0
  42. data/lib/zavudev/resources/senders/agent/executions.rb +26 -0
  43. data/lib/zavudev/version.rb +1 -1
  44. data/lib/zavudev.rb +29 -0
  45. data/rbi/zavudev/client.rbi +6 -0
  46. data/rbi/zavudev/models/broadcast_contact.rbi +9 -0
  47. data/rbi/zavudev/models/broadcast_content.rbi +23 -4
  48. data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +23 -4
  49. data/rbi/zavudev/models/contact_delete_params.rbi +35 -0
  50. data/rbi/zavudev/models/function_create_params.rbi +177 -0
  51. data/rbi/zavudev/models/function_create_response.rbi +277 -0
  52. data/rbi/zavudev/models/function_delete_params.rbi +35 -0
  53. data/rbi/zavudev/models/function_delete_response.rbi +44 -0
  54. data/rbi/zavudev/models/function_deploy_params.rbi +63 -0
  55. data/rbi/zavudev/models/function_deploy_response.rbi +196 -0
  56. data/rbi/zavudev/models/function_get_deployment_params.rbi +38 -0
  57. data/rbi/zavudev/models/function_get_deployment_response.rbi +201 -0
  58. data/rbi/zavudev/models/function_retrieve_params.rbi +35 -0
  59. data/rbi/zavudev/models/function_retrieve_response.rbi +277 -0
  60. data/rbi/zavudev/models/function_tail_logs_params.rbi +90 -0
  61. data/rbi/zavudev/models/function_tail_logs_response.rbi +75 -0
  62. data/rbi/zavudev/models/function_update_params.rbi +63 -0
  63. data/rbi/zavudev/models/function_update_response.rbi +277 -0
  64. data/rbi/zavudev/models/functions/secret_list_params.rbi +40 -0
  65. data/rbi/zavudev/models/functions/secret_list_response.rbi +118 -0
  66. data/rbi/zavudev/models/functions/secret_set_params.rbi +53 -0
  67. data/rbi/zavudev/models/functions/secret_set_response.rbi +9 -0
  68. data/rbi/zavudev/models/functions/secret_unset_params.rbi +48 -0
  69. data/rbi/zavudev/models/me_retrieve_params.rbi +27 -0
  70. data/rbi/zavudev/models/me_retrieve_response.rbi +151 -0
  71. data/rbi/zavudev/models/message_content.rbi +27 -4
  72. data/rbi/zavudev/models/message_show_typing_params.rbi +46 -0
  73. data/rbi/zavudev/models/message_show_typing_response.rbi +26 -0
  74. data/rbi/zavudev/models/senders/agent/execution_retrieve_params.rbi +50 -0
  75. data/rbi/zavudev/models/senders/agent/execution_retrieve_response.rbi +41 -0
  76. data/rbi/zavudev/models/template.rbi +10 -4
  77. data/rbi/zavudev/models.rbi +22 -0
  78. data/rbi/zavudev/resources/contacts.rbi +15 -0
  79. data/rbi/zavudev/resources/functions/secrets.rbi +69 -0
  80. data/rbi/zavudev/resources/functions.rbi +171 -0
  81. data/rbi/zavudev/resources/me.rbi +22 -0
  82. data/rbi/zavudev/resources/messages.rbi +21 -0
  83. data/rbi/zavudev/resources/senders/agent/executions.rbi +14 -0
  84. data/sig/zavudev/client.rbs +4 -0
  85. data/sig/zavudev/models/broadcast_contact.rbs +9 -0
  86. data/sig/zavudev/models/broadcast_content.rbs +9 -0
  87. data/sig/zavudev/models/broadcasts/contact_add_params.rbs +9 -0
  88. data/sig/zavudev/models/contact_delete_params.rbs +23 -0
  89. data/sig/zavudev/models/function_create_params.rbs +107 -0
  90. data/sig/zavudev/models/function_create_response.rbs +126 -0
  91. data/sig/zavudev/models/function_delete_params.rbs +23 -0
  92. data/sig/zavudev/models/function_delete_response.rbs +22 -0
  93. data/sig/zavudev/models/function_deploy_params.rbs +40 -0
  94. data/sig/zavudev/models/function_deploy_response.rbs +98 -0
  95. data/sig/zavudev/models/function_get_deployment_params.rbs +23 -0
  96. data/sig/zavudev/models/function_get_deployment_response.rbs +98 -0
  97. data/sig/zavudev/models/function_retrieve_params.rbs +23 -0
  98. data/sig/zavudev/models/function_retrieve_response.rbs +126 -0
  99. data/sig/zavudev/models/function_tail_logs_params.rbs +61 -0
  100. data/sig/zavudev/models/function_tail_logs_response.rbs +37 -0
  101. data/sig/zavudev/models/function_update_params.rbs +40 -0
  102. data/sig/zavudev/models/function_update_response.rbs +126 -0
  103. data/sig/zavudev/models/functions/secret_list_params.rbs +25 -0
  104. data/sig/zavudev/models/functions/secret_list_response.rbs +70 -0
  105. data/sig/zavudev/models/functions/secret_set_params.rbs +34 -0
  106. data/sig/zavudev/models/functions/secret_set_response.rbs +7 -0
  107. data/sig/zavudev/models/functions/secret_unset_params.rbs +30 -0
  108. data/sig/zavudev/models/me_retrieve_params.rbs +14 -0
  109. data/sig/zavudev/models/me_retrieve_response.rbs +75 -0
  110. data/sig/zavudev/models/message_content.rbs +9 -0
  111. data/sig/zavudev/models/message_show_typing_params.rbs +30 -0
  112. data/sig/zavudev/models/message_show_typing_response.rbs +13 -0
  113. data/sig/zavudev/models/senders/agent/execution_retrieve_params.rbs +32 -0
  114. data/sig/zavudev/models/senders/agent/execution_retrieve_response.rbs +18 -0
  115. data/sig/zavudev/models.rbs +22 -0
  116. data/sig/zavudev/resources/contacts.rbs +5 -0
  117. data/sig/zavudev/resources/functions/secrets.rbs +27 -0
  118. data/sig/zavudev/resources/functions.rbs +61 -0
  119. data/sig/zavudev/resources/me.rbs +11 -0
  120. data/sig/zavudev/resources/messages.rbs +6 -0
  121. data/sig/zavudev/resources/senders/agent/executions.rbs +6 -0
  122. metadata +89 -2
@@ -0,0 +1,151 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class MeRetrieveResponse < Zavudev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Zavudev::Models::MeRetrieveResponse, Zavudev::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(Zavudev::Models::MeRetrieveResponse::APIKey) }
12
+ attr_reader :api_key
13
+
14
+ sig do
15
+ params(
16
+ api_key: Zavudev::Models::MeRetrieveResponse::APIKey::OrHash
17
+ ).void
18
+ end
19
+ attr_writer :api_key
20
+
21
+ sig { returns(T::Boolean) }
22
+ attr_accessor :is_test_mode
23
+
24
+ sig { returns(Zavudev::Models::MeRetrieveResponse::Project) }
25
+ attr_reader :project
26
+
27
+ sig do
28
+ params(
29
+ project: Zavudev::Models::MeRetrieveResponse::Project::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :project
33
+
34
+ sig { returns(Zavudev::Models::MeRetrieveResponse::Team) }
35
+ attr_reader :team
36
+
37
+ sig do
38
+ params(team: Zavudev::Models::MeRetrieveResponse::Team::OrHash).void
39
+ end
40
+ attr_writer :team
41
+
42
+ sig do
43
+ params(
44
+ api_key: Zavudev::Models::MeRetrieveResponse::APIKey::OrHash,
45
+ is_test_mode: T::Boolean,
46
+ project: Zavudev::Models::MeRetrieveResponse::Project::OrHash,
47
+ team: Zavudev::Models::MeRetrieveResponse::Team::OrHash
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(api_key:, is_test_mode:, project:, team:)
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ api_key: Zavudev::Models::MeRetrieveResponse::APIKey,
57
+ is_test_mode: T::Boolean,
58
+ project: Zavudev::Models::MeRetrieveResponse::Project,
59
+ team: Zavudev::Models::MeRetrieveResponse::Team
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+
66
+ class APIKey < Zavudev::Internal::Type::BaseModel
67
+ OrHash =
68
+ T.type_alias do
69
+ T.any(
70
+ Zavudev::Models::MeRetrieveResponse::APIKey,
71
+ Zavudev::Internal::AnyHash
72
+ )
73
+ end
74
+
75
+ sig { returns(String) }
76
+ attr_accessor :id
77
+
78
+ sig { params(id: String).returns(T.attached_class) }
79
+ def self.new(id:)
80
+ end
81
+
82
+ sig { override.returns({ id: String }) }
83
+ def to_hash
84
+ end
85
+ end
86
+
87
+ class Project < Zavudev::Internal::Type::BaseModel
88
+ OrHash =
89
+ T.type_alias do
90
+ T.any(
91
+ Zavudev::Models::MeRetrieveResponse::Project,
92
+ Zavudev::Internal::AnyHash
93
+ )
94
+ end
95
+
96
+ sig { returns(String) }
97
+ attr_accessor :id
98
+
99
+ sig { returns(T::Boolean) }
100
+ attr_accessor :is_sub_account
101
+
102
+ sig { returns(T.nilable(String)) }
103
+ attr_accessor :name
104
+
105
+ sig do
106
+ params(
107
+ id: String,
108
+ is_sub_account: T::Boolean,
109
+ name: T.nilable(String)
110
+ ).returns(T.attached_class)
111
+ end
112
+ def self.new(id:, is_sub_account:, name:)
113
+ end
114
+
115
+ sig do
116
+ override.returns(
117
+ { id: String, is_sub_account: T::Boolean, name: T.nilable(String) }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+ end
123
+
124
+ class Team < Zavudev::Internal::Type::BaseModel
125
+ OrHash =
126
+ T.type_alias do
127
+ T.any(
128
+ Zavudev::Models::MeRetrieveResponse::Team,
129
+ Zavudev::Internal::AnyHash
130
+ )
131
+ end
132
+
133
+ sig { returns(String) }
134
+ attr_accessor :id
135
+
136
+ sig { returns(T.nilable(String)) }
137
+ attr_accessor :name
138
+
139
+ sig do
140
+ params(id: String, name: T.nilable(String)).returns(T.attached_class)
141
+ end
142
+ def self.new(id:, name:)
143
+ end
144
+
145
+ sig { override.returns({ id: String, name: T.nilable(String) }) }
146
+ def to_hash
147
+ end
148
+ end
149
+ end
150
+ end
151
+ end
@@ -187,6 +187,16 @@ module Zavudev
187
187
  sig { params(template_button_variables: T::Hash[Symbol, String]).void }
188
188
  attr_writer :template_button_variables
189
189
 
190
+ # Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
191
+ # most one variable). Optional override. If omitted, Zavu resolves the header from
192
+ # `templateVariables` using the header placeholder's name (e.g. `novios`). Static
193
+ # text headers need no value.
194
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
195
+ attr_reader :template_header_variables
196
+
197
+ sig { params(template_header_variables: T::Hash[Symbol, String]).void }
198
+ attr_writer :template_header_variables
199
+
190
200
  # Template ID for template messages.
191
201
  sig { returns(T.nilable(String)) }
192
202
  attr_reader :template_id
@@ -194,8 +204,11 @@ module Zavudev
194
204
  sig { params(template_id: String).void }
195
205
  attr_writer :template_id
196
206
 
197
- # Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
198
- # order placeholders appear in the template body.
207
+ # Variables for body placeholders. Key them to match the template body: by
208
+ # position (`1`, `2`, ...) for positional templates, or by name (e.g.
209
+ # `customer_name`) for named templates. Zavu detects the template's format and
210
+ # sends the correct payload to Meta. Named keys also resolve a named text-header
211
+ # variable. Do not mix positional and named keys in the same request.
199
212
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
200
213
  attr_reader :template_variables
201
214
 
@@ -226,6 +239,7 @@ module Zavudev
226
239
  react_to_message_id: String,
227
240
  sections: T::Array[Zavudev::MessageContent::Section::OrHash],
228
241
  template_button_variables: T::Hash[Symbol, String],
242
+ template_header_variables: T::Hash[Symbol, String],
229
243
  template_id: String,
230
244
  template_variables: T::Hash[Symbol, String]
231
245
  ).returns(T.attached_class)
@@ -289,10 +303,18 @@ module Zavudev
289
303
  # - Static URL buttons (no placeholder) and `quick_reply` buttons are not included
290
304
  # here.
291
305
  template_button_variables: nil,
306
+ # Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
307
+ # most one variable). Optional override. If omitted, Zavu resolves the header from
308
+ # `templateVariables` using the header placeholder's name (e.g. `novios`). Static
309
+ # text headers need no value.
310
+ template_header_variables: nil,
292
311
  # Template ID for template messages.
293
312
  template_id: nil,
294
- # Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
295
- # order placeholders appear in the template body.
313
+ # Variables for body placeholders. Key them to match the template body: by
314
+ # position (`1`, `2`, ...) for positional templates, or by name (e.g.
315
+ # `customer_name`) for named templates. Zavu detects the template's format and
316
+ # sends the correct payload to Meta. Named keys also resolve a named text-header
317
+ # variable. Do not mix positional and named keys in the same request.
296
318
  template_variables: nil
297
319
  )
298
320
  end
@@ -321,6 +343,7 @@ module Zavudev
321
343
  react_to_message_id: String,
322
344
  sections: T::Array[Zavudev::MessageContent::Section],
323
345
  template_button_variables: T::Hash[Symbol, String],
346
+ template_header_variables: T::Hash[Symbol, String],
324
347
  template_id: String,
325
348
  template_variables: T::Hash[Symbol, String]
326
349
  }
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class MessageShowTypingParams < Zavudev::Internal::Type::BaseModel
6
+ extend Zavudev::Internal::Type::RequestParameters::Converter
7
+ include Zavudev::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Zavudev::MessageShowTypingParams, Zavudev::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :message_id
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :zavu_sender
19
+
20
+ sig { params(zavu_sender: String).void }
21
+ attr_writer :zavu_sender
22
+
23
+ sig do
24
+ params(
25
+ message_id: String,
26
+ zavu_sender: String,
27
+ request_options: Zavudev::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(message_id:, zavu_sender: nil, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ message_id: String,
37
+ zavu_sender: String,
38
+ request_options: Zavudev::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class MessageShowTypingResponse < Zavudev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Zavudev::Models::MessageShowTypingResponse,
10
+ Zavudev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Boolean) }
15
+ attr_accessor :success
16
+
17
+ sig { params(success: T::Boolean).returns(T.attached_class) }
18
+ def self.new(success:)
19
+ end
20
+
21
+ sig { override.returns({ success: T::Boolean }) }
22
+ def to_hash
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ class ExecutionRetrieveParams < Zavudev::Internal::Type::BaseModel
8
+ extend Zavudev::Internal::Type::RequestParameters::Converter
9
+ include Zavudev::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Zavudev::Senders::Agent::ExecutionRetrieveParams,
15
+ Zavudev::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :sender_id
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :execution_id
24
+
25
+ sig do
26
+ params(
27
+ sender_id: String,
28
+ execution_id: String,
29
+ request_options: Zavudev::RequestOptions::OrHash
30
+ ).returns(T.attached_class)
31
+ end
32
+ def self.new(sender_id:, execution_id:, request_options: {})
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ {
38
+ sender_id: String,
39
+ execution_id: String,
40
+ request_options: Zavudev::RequestOptions
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ class ExecutionRetrieveResponse < Zavudev::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Zavudev::Models::Senders::Agent::ExecutionRetrieveResponse,
12
+ Zavudev::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(Zavudev::Senders::AgentExecution) }
17
+ attr_reader :execution
18
+
19
+ sig do
20
+ params(execution: Zavudev::Senders::AgentExecution::OrHash).void
21
+ end
22
+ attr_writer :execution
23
+
24
+ sig do
25
+ params(execution: Zavudev::Senders::AgentExecution::OrHash).returns(
26
+ T.attached_class
27
+ )
28
+ end
29
+ def self.new(execution:)
30
+ end
31
+
32
+ sig do
33
+ override.returns({ execution: Zavudev::Senders::AgentExecution })
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -9,8 +9,11 @@ module Zavudev
9
9
  sig { returns(String) }
10
10
  attr_accessor :id
11
11
 
12
- # Default template body with variables: {{1}}, {{2}}, or named variables like
13
- # {{contact.first_name}}. Used when no channel-specific body is set.
12
+ # Default template body with variables: positional ({{1}}, {{2}}) or named
13
+ # ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
14
+ # submitted to Meta as positional; templates imported from a WhatsApp Business
15
+ # Account keep their original format (named or positional). Used when no
16
+ # channel-specific body is set.
14
17
  sig { returns(String) }
15
18
  attr_accessor :body
16
19
 
@@ -146,8 +149,11 @@ module Zavudev
146
149
  end
147
150
  def self.new(
148
151
  id:,
149
- # Default template body with variables: {{1}}, {{2}}, or named variables like
150
- # {{contact.first_name}}. Used when no channel-specific body is set.
152
+ # Default template body with variables: positional ({{1}}, {{2}}) or named
153
+ # ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
154
+ # submitted to Meta as positional; templates imported from a WhatsApp Business
155
+ # Account keep their original format (named or positional). Used when no
156
+ # channel-specific body is set.
151
157
  body:,
152
158
  # WhatsApp template category.
153
159
  category:,
@@ -65,6 +65,8 @@ module Zavudev
65
65
 
66
66
  ContactCreateParams = Zavudev::Models::ContactCreateParams
67
67
 
68
+ ContactDeleteParams = Zavudev::Models::ContactDeleteParams
69
+
68
70
  ContactDismissMergeSuggestionParams =
69
71
  Zavudev::Models::ContactDismissMergeSuggestionParams
70
72
 
@@ -88,6 +90,22 @@ module Zavudev
88
90
 
89
91
  ExportRetrieveParams = Zavudev::Models::ExportRetrieveParams
90
92
 
93
+ FunctionCreateParams = Zavudev::Models::FunctionCreateParams
94
+
95
+ FunctionDeleteParams = Zavudev::Models::FunctionDeleteParams
96
+
97
+ FunctionDeployParams = Zavudev::Models::FunctionDeployParams
98
+
99
+ FunctionGetDeploymentParams = Zavudev::Models::FunctionGetDeploymentParams
100
+
101
+ FunctionRetrieveParams = Zavudev::Models::FunctionRetrieveParams
102
+
103
+ Functions = Zavudev::Models::Functions
104
+
105
+ FunctionTailLogsParams = Zavudev::Models::FunctionTailLogsParams
106
+
107
+ FunctionUpdateParams = Zavudev::Models::FunctionUpdateParams
108
+
91
109
  IntrospectValidatePhoneParams = Zavudev::Models::IntrospectValidatePhoneParams
92
110
 
93
111
  Invitation = Zavudev::Models::Invitation
@@ -102,6 +120,8 @@ module Zavudev
102
120
 
103
121
  LineType = Zavudev::Models::LineType
104
122
 
123
+ MeRetrieveParams = Zavudev::Models::MeRetrieveParams
124
+
105
125
  Message = Zavudev::Models::Message
106
126
 
107
127
  MessageContent = Zavudev::Models::MessageContent
@@ -116,6 +136,8 @@ module Zavudev
116
136
 
117
137
  MessageSendParams = Zavudev::Models::MessageSendParams
118
138
 
139
+ MessageShowTypingParams = Zavudev::Models::MessageShowTypingParams
140
+
119
141
  MessageStatus = Zavudev::Models::MessageStatus
120
142
 
121
143
  MessageType = Zavudev::Models::MessageType
@@ -67,6 +67,21 @@ module Zavudev
67
67
  def list(cursor: nil, limit: nil, phone_number: nil, request_options: {})
68
68
  end
69
69
 
70
+ # Permanently delete a contact and its communication channels. Implements
71
+ # right-to-erasure obligations under GDPR Art. 17, Ley 19.628 (Chile) Art. 12,
72
+ # CCPA § 1798.105, and LGPD Art. 18.VI. The contact, its channels, and any
73
+ # associated agent flow sessions and conversation threads are removed. Past
74
+ # message records and broadcast delivery logs are retained for billing/audit but
75
+ # no longer reference the deleted contact.
76
+ sig do
77
+ params(
78
+ contact_id: String,
79
+ request_options: Zavudev::RequestOptions::OrHash
80
+ ).void
81
+ end
82
+ def delete(contact_id, request_options: {})
83
+ end
84
+
70
85
  # Dismiss the merge suggestion for a contact.
71
86
  sig do
72
87
  params(
@@ -0,0 +1,69 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Functions
6
+ class Secrets
7
+ # Lists every secret key set on the function. Plaintext is NEVER returned — only
8
+ # the last 4 characters of each value, for visual confirmation.
9
+ sig do
10
+ params(
11
+ function_id: String,
12
+ request_options: Zavudev::RequestOptions::OrHash
13
+ ).returns(Zavudev::Models::Functions::SecretListResponse)
14
+ end
15
+ def list(
16
+ # Zavu Function ID.
17
+ function_id,
18
+ request_options: {}
19
+ )
20
+ end
21
+
22
+ # Create or update a secret on a function. Marks the function out-of-sync; the
23
+ # next `POST /deploy` re-publishes the Lambda with the new env. Keys must match
24
+ # `[A-Z_][A-Z0-9_]*` (uppercase env-var style) and cannot start with reserved
25
+ # prefixes (AWS*, LAMBDA*, etc).
26
+ sig do
27
+ params(
28
+ key: String,
29
+ function_id: String,
30
+ value: String,
31
+ request_options: Zavudev::RequestOptions::OrHash
32
+ ).returns(T.anything)
33
+ end
34
+ def set(
35
+ # Path param
36
+ key,
37
+ # Path param: Zavu Function ID.
38
+ function_id:,
39
+ # Body param
40
+ value:,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ # Remove a secret from a function. Doesn't take effect on the running Lambda until
46
+ # the next deploy.
47
+ sig do
48
+ params(
49
+ key: String,
50
+ function_id: String,
51
+ request_options: Zavudev::RequestOptions::OrHash
52
+ ).void
53
+ end
54
+ def unset(
55
+ key,
56
+ # Zavu Function ID.
57
+ function_id:,
58
+ request_options: {}
59
+ )
60
+ end
61
+
62
+ # @api private
63
+ sig { params(client: Zavudev::Client).returns(T.attached_class) }
64
+ def self.new(client:)
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end