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,277 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class FunctionRetrieveResponse < Zavudev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Zavudev::Models::FunctionRetrieveResponse,
10
+ Zavudev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A Zavu Function — user-supplied TypeScript that runs in Zavu Cloud and reacts to
15
+ # messaging events or HTTP requests.
16
+ sig { returns(Zavudev::Models::FunctionRetrieveResponse::Function) }
17
+ attr_reader :function
18
+
19
+ sig do
20
+ params(
21
+ function: Zavudev::Models::FunctionRetrieveResponse::Function::OrHash
22
+ ).void
23
+ end
24
+ attr_writer :function
25
+
26
+ sig do
27
+ params(
28
+ function: Zavudev::Models::FunctionRetrieveResponse::Function::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(
32
+ # A Zavu Function — user-supplied TypeScript that runs in Zavu Cloud and reacts to
33
+ # messaging events or HTTP requests.
34
+ function:
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ { function: Zavudev::Models::FunctionRetrieveResponse::Function }
41
+ )
42
+ end
43
+ def to_hash
44
+ end
45
+
46
+ class Function < Zavudev::Internal::Type::BaseModel
47
+ OrHash =
48
+ T.type_alias do
49
+ T.any(
50
+ Zavudev::Models::FunctionRetrieveResponse::Function,
51
+ Zavudev::Internal::AnyHash
52
+ )
53
+ end
54
+
55
+ sig { returns(String) }
56
+ attr_accessor :id
57
+
58
+ sig { returns(Time) }
59
+ attr_accessor :created_at
60
+
61
+ # npm dependencies installed in the function bundle. Keys are package names,
62
+ # values are semver ranges.
63
+ sig { returns(T::Hash[Symbol, String]) }
64
+ attr_accessor :dependencies
65
+
66
+ # Whether the function can be invoked over HTTPS via its public URL.
67
+ sig { returns(T::Boolean) }
68
+ attr_accessor :http_enabled
69
+
70
+ # Memory allocation in MB.
71
+ sig { returns(Integer) }
72
+ attr_accessor :memory_mb
73
+
74
+ sig { returns(String) }
75
+ attr_accessor :name
76
+
77
+ # Runtime the function is deployed on.
78
+ sig do
79
+ returns(
80
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime::TaggedSymbol
81
+ )
82
+ end
83
+ attr_accessor :runtime
84
+
85
+ # URL-safe identifier, unique per project.
86
+ sig { returns(String) }
87
+ attr_accessor :slug
88
+
89
+ # Lifecycle status of a Zavu Function.
90
+ sig do
91
+ returns(
92
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
93
+ )
94
+ end
95
+ attr_accessor :status
96
+
97
+ # Per-invocation timeout in seconds.
98
+ sig { returns(Integer) }
99
+ attr_accessor :timeout_sec
100
+
101
+ sig { returns(Time) }
102
+ attr_accessor :updated_at
103
+
104
+ # ID of the deployment currently serving traffic.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_accessor :active_deployment_id
107
+
108
+ sig { returns(T.nilable(String)) }
109
+ attr_accessor :description
110
+
111
+ # HTTPS endpoint when httpEnabled is true.
112
+ sig { returns(T.nilable(String)) }
113
+ attr_accessor :public_url
114
+
115
+ # A Zavu Function — user-supplied TypeScript that runs in Zavu Cloud and reacts to
116
+ # messaging events or HTTP requests.
117
+ sig do
118
+ params(
119
+ id: String,
120
+ created_at: Time,
121
+ dependencies: T::Hash[Symbol, String],
122
+ http_enabled: T::Boolean,
123
+ memory_mb: Integer,
124
+ name: String,
125
+ runtime:
126
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime::OrSymbol,
127
+ slug: String,
128
+ status:
129
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::OrSymbol,
130
+ timeout_sec: Integer,
131
+ updated_at: Time,
132
+ active_deployment_id: T.nilable(String),
133
+ description: T.nilable(String),
134
+ public_url: T.nilable(String)
135
+ ).returns(T.attached_class)
136
+ end
137
+ def self.new(
138
+ id:,
139
+ created_at:,
140
+ # npm dependencies installed in the function bundle. Keys are package names,
141
+ # values are semver ranges.
142
+ dependencies:,
143
+ # Whether the function can be invoked over HTTPS via its public URL.
144
+ http_enabled:,
145
+ # Memory allocation in MB.
146
+ memory_mb:,
147
+ name:,
148
+ # Runtime the function is deployed on.
149
+ runtime:,
150
+ # URL-safe identifier, unique per project.
151
+ slug:,
152
+ # Lifecycle status of a Zavu Function.
153
+ status:,
154
+ # Per-invocation timeout in seconds.
155
+ timeout_sec:,
156
+ updated_at:,
157
+ # ID of the deployment currently serving traffic.
158
+ active_deployment_id: nil,
159
+ description: nil,
160
+ # HTTPS endpoint when httpEnabled is true.
161
+ public_url: nil
162
+ )
163
+ end
164
+
165
+ sig do
166
+ override.returns(
167
+ {
168
+ id: String,
169
+ created_at: Time,
170
+ dependencies: T::Hash[Symbol, String],
171
+ http_enabled: T::Boolean,
172
+ memory_mb: Integer,
173
+ name: String,
174
+ runtime:
175
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime::TaggedSymbol,
176
+ slug: String,
177
+ status:
178
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol,
179
+ timeout_sec: Integer,
180
+ updated_at: Time,
181
+ active_deployment_id: T.nilable(String),
182
+ description: T.nilable(String),
183
+ public_url: T.nilable(String)
184
+ }
185
+ )
186
+ end
187
+ def to_hash
188
+ end
189
+
190
+ # Runtime the function is deployed on.
191
+ module Runtime
192
+ extend Zavudev::Internal::Type::Enum
193
+
194
+ TaggedSymbol =
195
+ T.type_alias do
196
+ T.all(
197
+ Symbol,
198
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime
199
+ )
200
+ end
201
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
202
+
203
+ NODEJS24 =
204
+ T.let(
205
+ :nodejs24,
206
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime::TaggedSymbol
207
+ )
208
+
209
+ sig do
210
+ override.returns(
211
+ T::Array[
212
+ Zavudev::Models::FunctionRetrieveResponse::Function::Runtime::TaggedSymbol
213
+ ]
214
+ )
215
+ end
216
+ def self.values
217
+ end
218
+ end
219
+
220
+ # Lifecycle status of a Zavu Function.
221
+ module Status
222
+ extend Zavudev::Internal::Type::Enum
223
+
224
+ TaggedSymbol =
225
+ T.type_alias do
226
+ T.all(
227
+ Symbol,
228
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status
229
+ )
230
+ end
231
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
232
+
233
+ DRAFT =
234
+ T.let(
235
+ :draft,
236
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
237
+ )
238
+ BUNDLING =
239
+ T.let(
240
+ :bundling,
241
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
242
+ )
243
+ DEPLOYING =
244
+ T.let(
245
+ :deploying,
246
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
247
+ )
248
+ ACTIVE =
249
+ T.let(
250
+ :active,
251
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
252
+ )
253
+ FAILED =
254
+ T.let(
255
+ :failed,
256
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
257
+ )
258
+ DISABLED =
259
+ T.let(
260
+ :disabled,
261
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
262
+ )
263
+
264
+ sig do
265
+ override.returns(
266
+ T::Array[
267
+ Zavudev::Models::FunctionRetrieveResponse::Function::Status::TaggedSymbol
268
+ ]
269
+ )
270
+ end
271
+ def self.values
272
+ end
273
+ end
274
+ end
275
+ end
276
+ end
277
+ end
@@ -0,0 +1,90 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class FunctionTailLogsParams < 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::FunctionTailLogsParams, Zavudev::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :function_id
16
+
17
+ # End of the log window in Unix epoch milliseconds.
18
+ sig { returns(T.nilable(Integer)) }
19
+ attr_reader :end_time
20
+
21
+ sig { params(end_time: Integer).void }
22
+ attr_writer :end_time
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :filter_pattern
26
+
27
+ sig { params(filter_pattern: String).void }
28
+ attr_writer :filter_pattern
29
+
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :limit
32
+
33
+ sig { params(limit: Integer).void }
34
+ attr_writer :limit
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :next_token
38
+
39
+ sig { params(next_token: String).void }
40
+ attr_writer :next_token
41
+
42
+ # Start of the log window in Unix epoch milliseconds.
43
+ sig { returns(T.nilable(Integer)) }
44
+ attr_reader :start_time
45
+
46
+ sig { params(start_time: Integer).void }
47
+ attr_writer :start_time
48
+
49
+ sig do
50
+ params(
51
+ function_id: String,
52
+ end_time: Integer,
53
+ filter_pattern: String,
54
+ limit: Integer,
55
+ next_token: String,
56
+ start_time: Integer,
57
+ request_options: Zavudev::RequestOptions::OrHash
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ function_id:,
62
+ # End of the log window in Unix epoch milliseconds.
63
+ end_time: nil,
64
+ filter_pattern: nil,
65
+ limit: nil,
66
+ next_token: nil,
67
+ # Start of the log window in Unix epoch milliseconds.
68
+ start_time: nil,
69
+ request_options: {}
70
+ )
71
+ end
72
+
73
+ sig do
74
+ override.returns(
75
+ {
76
+ function_id: String,
77
+ end_time: Integer,
78
+ filter_pattern: String,
79
+ limit: Integer,
80
+ next_token: String,
81
+ start_time: Integer,
82
+ request_options: Zavudev::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class FunctionTailLogsResponse < Zavudev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Zavudev::Models::FunctionTailLogsResponse,
10
+ Zavudev::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig do
15
+ returns(T::Array[Zavudev::Models::FunctionTailLogsResponse::Event])
16
+ end
17
+ attr_accessor :events
18
+
19
+ # Pass to the next request to fetch the following page of logs.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :next_token
22
+
23
+ sig do
24
+ params(
25
+ events:
26
+ T::Array[Zavudev::Models::FunctionTailLogsResponse::Event::OrHash],
27
+ next_token: T.nilable(String)
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ events:,
32
+ # Pass to the next request to fetch the following page of logs.
33
+ next_token: nil
34
+ )
35
+ end
36
+
37
+ sig do
38
+ override.returns(
39
+ {
40
+ events: T::Array[Zavudev::Models::FunctionTailLogsResponse::Event],
41
+ next_token: T.nilable(String)
42
+ }
43
+ )
44
+ end
45
+ def to_hash
46
+ end
47
+
48
+ class Event < Zavudev::Internal::Type::BaseModel
49
+ OrHash =
50
+ T.type_alias do
51
+ T.any(
52
+ Zavudev::Models::FunctionTailLogsResponse::Event,
53
+ Zavudev::Internal::AnyHash
54
+ )
55
+ end
56
+
57
+ sig { returns(String) }
58
+ attr_accessor :message
59
+
60
+ sig { returns(Time) }
61
+ attr_accessor :timestamp
62
+
63
+ sig do
64
+ params(message: String, timestamp: Time).returns(T.attached_class)
65
+ end
66
+ def self.new(message:, timestamp:)
67
+ end
68
+
69
+ sig { override.returns({ message: String, timestamp: Time }) }
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class FunctionUpdateParams < 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::FunctionUpdateParams, Zavudev::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :function_id
16
+
17
+ # New dependency map (replaces existing dependencies).
18
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
19
+ attr_reader :dependencies
20
+
21
+ sig { params(dependencies: T::Hash[Symbol, String]).void }
22
+ attr_writer :dependencies
23
+
24
+ # New source code to publish (replaces the draft).
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :source_code
27
+
28
+ sig { params(source_code: String).void }
29
+ attr_writer :source_code
30
+
31
+ sig do
32
+ params(
33
+ function_id: String,
34
+ dependencies: T::Hash[Symbol, String],
35
+ source_code: String,
36
+ request_options: Zavudev::RequestOptions::OrHash
37
+ ).returns(T.attached_class)
38
+ end
39
+ def self.new(
40
+ function_id:,
41
+ # New dependency map (replaces existing dependencies).
42
+ dependencies: nil,
43
+ # New source code to publish (replaces the draft).
44
+ source_code: nil,
45
+ request_options: {}
46
+ )
47
+ end
48
+
49
+ sig do
50
+ override.returns(
51
+ {
52
+ function_id: String,
53
+ dependencies: T::Hash[Symbol, String],
54
+ source_code: String,
55
+ request_options: Zavudev::RequestOptions
56
+ }
57
+ )
58
+ end
59
+ def to_hash
60
+ end
61
+ end
62
+ end
63
+ end