zavudev 0.6.0 → 0.7.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/models/contact.rb +3 -153
  5. data/lib/zavudev/models/contact_channel.rb +155 -0
  6. data/lib/zavudev/models/senders/agent/agent_flow.rb +6 -101
  7. data/lib/zavudev/models/senders/agent/agent_tool.rb +3 -53
  8. data/lib/zavudev/models/senders/agent/flow_create_params.rb +6 -100
  9. data/lib/zavudev/models/senders/agent/flow_step.rb +61 -0
  10. data/lib/zavudev/models/senders/agent/flow_trigger.rb +51 -0
  11. data/lib/zavudev/models/senders/agent/flow_update_params.rb +6 -100
  12. data/lib/zavudev/models/senders/agent/tool_create_params.rb +3 -52
  13. data/lib/zavudev/models/senders/agent/tool_parameters.rb +58 -0
  14. data/lib/zavudev/models/senders/agent/tool_update_params.rb +3 -52
  15. data/lib/zavudev/models/template_create_params.rb +38 -1
  16. data/lib/zavudev/models.rb +2 -0
  17. data/lib/zavudev/resources/senders/agent/flows.rb +4 -4
  18. data/lib/zavudev/resources/senders/agent/tools.rb +2 -2
  19. data/lib/zavudev/resources/templates.rb +7 -1
  20. data/lib/zavudev/version.rb +1 -1
  21. data/lib/zavudev.rb +4 -0
  22. data/rbi/zavudev/models/contact.rbi +4 -235
  23. data/rbi/zavudev/models/contact_channel.rbi +231 -0
  24. data/rbi/zavudev/models/senders/agent/agent_flow.rbi +7 -233
  25. data/rbi/zavudev/models/senders/agent/agent_tool.rbi +4 -130
  26. data/rbi/zavudev/models/senders/agent/flow_create_params.rbi +7 -245
  27. data/rbi/zavudev/models/senders/agent/flow_step.rbi +115 -0
  28. data/rbi/zavudev/models/senders/agent/flow_trigger.rbi +108 -0
  29. data/rbi/zavudev/models/senders/agent/flow_update_params.rbi +8 -255
  30. data/rbi/zavudev/models/senders/agent/tool_create_params.rbi +4 -132
  31. data/rbi/zavudev/models/senders/agent/tool_parameters.rbi +124 -0
  32. data/rbi/zavudev/models/senders/agent/tool_update_params.rbi +4 -136
  33. data/rbi/zavudev/models/template_create_params.rbi +70 -0
  34. data/rbi/zavudev/models.rbi +2 -0
  35. data/rbi/zavudev/resources/senders/agent/flows.rbi +4 -12
  36. data/rbi/zavudev/resources/senders/agent/tools.rbi +2 -4
  37. data/rbi/zavudev/resources/templates.rbi +9 -0
  38. data/sig/zavudev/models/contact.rbs +6 -153
  39. data/sig/zavudev/models/contact_channel.rbs +150 -0
  40. data/sig/zavudev/models/senders/agent/agent_flow.rbs +8 -100
  41. data/sig/zavudev/models/senders/agent/agent_tool.rbs +4 -57
  42. data/sig/zavudev/models/senders/agent/flow_create_params.rbs +8 -100
  43. data/sig/zavudev/models/senders/agent/flow_step.rbs +55 -0
  44. data/sig/zavudev/models/senders/agent/flow_trigger.rbs +51 -0
  45. data/sig/zavudev/models/senders/agent/flow_update_params.rbs +12 -104
  46. data/sig/zavudev/models/senders/agent/tool_create_params.rbs +4 -57
  47. data/sig/zavudev/models/senders/agent/tool_parameters.rbs +60 -0
  48. data/sig/zavudev/models/senders/agent/tool_update_params.rbs +6 -59
  49. data/sig/zavudev/models/template_create_params.rbs +36 -0
  50. data/sig/zavudev/models.rbs +2 -0
  51. data/sig/zavudev/resources/senders/agent/flows.rbs +4 -4
  52. data/sig/zavudev/resources/senders/agent/tools.rbs +2 -2
  53. data/sig/zavudev/resources/templates.rbs +3 -0
  54. metadata +14 -2
@@ -34,16 +34,14 @@ module Zavudev
34
34
  sig { returns(Integer) }
35
35
  attr_accessor :priority
36
36
 
37
- sig { returns(T::Array[Zavudev::Senders::Agent::AgentFlow::Step]) }
37
+ sig { returns(T::Array[Zavudev::Senders::Agent::FlowStep]) }
38
38
  attr_accessor :steps
39
39
 
40
- sig { returns(Zavudev::Senders::Agent::AgentFlow::Trigger) }
40
+ sig { returns(Zavudev::Senders::Agent::FlowTrigger) }
41
41
  attr_reader :trigger
42
42
 
43
43
  sig do
44
- params(
45
- trigger: Zavudev::Senders::Agent::AgentFlow::Trigger::OrHash
46
- ).void
44
+ params(trigger: Zavudev::Senders::Agent::FlowTrigger::OrHash).void
47
45
  end
48
46
  attr_writer :trigger
49
47
 
@@ -61,8 +59,8 @@ module Zavudev
61
59
  enabled: T::Boolean,
62
60
  name: String,
63
61
  priority: Integer,
64
- steps: T::Array[Zavudev::Senders::Agent::AgentFlow::Step::OrHash],
65
- trigger: Zavudev::Senders::Agent::AgentFlow::Trigger::OrHash,
62
+ steps: T::Array[Zavudev::Senders::Agent::FlowStep::OrHash],
63
+ trigger: Zavudev::Senders::Agent::FlowTrigger::OrHash,
66
64
  updated_at: Time,
67
65
  description: T.nilable(String)
68
66
  ).returns(T.attached_class)
@@ -91,8 +89,8 @@ module Zavudev
91
89
  enabled: T::Boolean,
92
90
  name: String,
93
91
  priority: Integer,
94
- steps: T::Array[Zavudev::Senders::Agent::AgentFlow::Step],
95
- trigger: Zavudev::Senders::Agent::AgentFlow::Trigger,
92
+ steps: T::Array[Zavudev::Senders::Agent::FlowStep],
93
+ trigger: Zavudev::Senders::Agent::FlowTrigger,
96
94
  updated_at: Time,
97
95
  description: T.nilable(String)
98
96
  }
@@ -100,230 +98,6 @@ module Zavudev
100
98
  end
101
99
  def to_hash
102
100
  end
103
-
104
- class Step < Zavudev::Internal::Type::BaseModel
105
- OrHash =
106
- T.type_alias do
107
- T.any(
108
- Zavudev::Senders::Agent::AgentFlow::Step,
109
- Zavudev::Internal::AnyHash
110
- )
111
- end
112
-
113
- # Unique step identifier.
114
- sig { returns(String) }
115
- attr_accessor :id
116
-
117
- # Step configuration (varies by type).
118
- sig { returns(T::Hash[Symbol, T.anything]) }
119
- attr_accessor :config
120
-
121
- # Type of flow step.
122
- sig do
123
- returns(
124
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
125
- )
126
- end
127
- attr_accessor :type
128
-
129
- # ID of the next step to execute.
130
- sig { returns(T.nilable(String)) }
131
- attr_accessor :next_step_id
132
-
133
- sig do
134
- params(
135
- id: String,
136
- config: T::Hash[Symbol, T.anything],
137
- type: Zavudev::Senders::Agent::AgentFlow::Step::Type::OrSymbol,
138
- next_step_id: T.nilable(String)
139
- ).returns(T.attached_class)
140
- end
141
- def self.new(
142
- # Unique step identifier.
143
- id:,
144
- # Step configuration (varies by type).
145
- config:,
146
- # Type of flow step.
147
- type:,
148
- # ID of the next step to execute.
149
- next_step_id: nil
150
- )
151
- end
152
-
153
- sig do
154
- override.returns(
155
- {
156
- id: String,
157
- config: T::Hash[Symbol, T.anything],
158
- type:
159
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol,
160
- next_step_id: T.nilable(String)
161
- }
162
- )
163
- end
164
- def to_hash
165
- end
166
-
167
- # Type of flow step.
168
- module Type
169
- extend Zavudev::Internal::Type::Enum
170
-
171
- TaggedSymbol =
172
- T.type_alias do
173
- T.all(Symbol, Zavudev::Senders::Agent::AgentFlow::Step::Type)
174
- end
175
- OrSymbol = T.type_alias { T.any(Symbol, String) }
176
-
177
- MESSAGE =
178
- T.let(
179
- :message,
180
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
181
- )
182
- COLLECT =
183
- T.let(
184
- :collect,
185
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
186
- )
187
- CONDITION =
188
- T.let(
189
- :condition,
190
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
191
- )
192
- TOOL =
193
- T.let(
194
- :tool,
195
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
196
- )
197
- LLM =
198
- T.let(
199
- :llm,
200
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
201
- )
202
- TRANSFER =
203
- T.let(
204
- :transfer,
205
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
206
- )
207
-
208
- sig do
209
- override.returns(
210
- T::Array[
211
- Zavudev::Senders::Agent::AgentFlow::Step::Type::TaggedSymbol
212
- ]
213
- )
214
- end
215
- def self.values
216
- end
217
- end
218
- end
219
-
220
- class Trigger < Zavudev::Internal::Type::BaseModel
221
- OrHash =
222
- T.type_alias do
223
- T.any(
224
- Zavudev::Senders::Agent::AgentFlow::Trigger,
225
- Zavudev::Internal::AnyHash
226
- )
227
- end
228
-
229
- # Type of trigger for a flow.
230
- sig do
231
- returns(
232
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
233
- )
234
- end
235
- attr_accessor :type
236
-
237
- # Intent that triggers the flow (for intent type).
238
- sig { returns(T.nilable(String)) }
239
- attr_reader :intent
240
-
241
- sig { params(intent: String).void }
242
- attr_writer :intent
243
-
244
- # Keywords that trigger the flow (for keyword type).
245
- sig { returns(T.nilable(T::Array[String])) }
246
- attr_reader :keywords
247
-
248
- sig { params(keywords: T::Array[String]).void }
249
- attr_writer :keywords
250
-
251
- sig do
252
- params(
253
- type:
254
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::OrSymbol,
255
- intent: String,
256
- keywords: T::Array[String]
257
- ).returns(T.attached_class)
258
- end
259
- def self.new(
260
- # Type of trigger for a flow.
261
- type:,
262
- # Intent that triggers the flow (for intent type).
263
- intent: nil,
264
- # Keywords that trigger the flow (for keyword type).
265
- keywords: nil
266
- )
267
- end
268
-
269
- sig do
270
- override.returns(
271
- {
272
- type:
273
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol,
274
- intent: String,
275
- keywords: T::Array[String]
276
- }
277
- )
278
- end
279
- def to_hash
280
- end
281
-
282
- # Type of trigger for a flow.
283
- module Type
284
- extend Zavudev::Internal::Type::Enum
285
-
286
- TaggedSymbol =
287
- T.type_alias do
288
- T.all(
289
- Symbol,
290
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type
291
- )
292
- end
293
- OrSymbol = T.type_alias { T.any(Symbol, String) }
294
-
295
- KEYWORD =
296
- T.let(
297
- :keyword,
298
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
299
- )
300
- INTENT =
301
- T.let(
302
- :intent,
303
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
304
- )
305
- ALWAYS =
306
- T.let(
307
- :always,
308
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
309
- )
310
- MANUAL =
311
- T.let(
312
- :manual,
313
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
314
- )
315
-
316
- sig do
317
- override.returns(
318
- T::Array[
319
- Zavudev::Senders::Agent::AgentFlow::Trigger::Type::TaggedSymbol
320
- ]
321
- )
322
- end
323
- def self.values
324
- end
325
- end
326
- end
327
101
  end
328
102
  end
329
103
  end
@@ -34,12 +34,12 @@ module Zavudev
34
34
  sig { returns(String) }
35
35
  attr_accessor :name
36
36
 
37
- sig { returns(Zavudev::Senders::Agent::AgentTool::Parameters) }
37
+ sig { returns(Zavudev::Senders::Agent::ToolParameters) }
38
38
  attr_reader :parameters
39
39
 
40
40
  sig do
41
41
  params(
42
- parameters: Zavudev::Senders::Agent::AgentTool::Parameters::OrHash
42
+ parameters: Zavudev::Senders::Agent::ToolParameters::OrHash
43
43
  ).void
44
44
  end
45
45
  attr_writer :parameters
@@ -59,8 +59,7 @@ module Zavudev
59
59
  description: String,
60
60
  enabled: T::Boolean,
61
61
  name: String,
62
- parameters:
63
- Zavudev::Senders::Agent::AgentTool::Parameters::OrHash,
62
+ parameters: Zavudev::Senders::Agent::ToolParameters::OrHash,
64
63
  updated_at: Time,
65
64
  webhook_url: String
66
65
  ).returns(T.attached_class)
@@ -89,7 +88,7 @@ module Zavudev
89
88
  description: String,
90
89
  enabled: T::Boolean,
91
90
  name: String,
92
- parameters: Zavudev::Senders::Agent::AgentTool::Parameters,
91
+ parameters: Zavudev::Senders::Agent::ToolParameters,
93
92
  updated_at: Time,
94
93
  webhook_url: String
95
94
  }
@@ -97,131 +96,6 @@ module Zavudev
97
96
  end
98
97
  def to_hash
99
98
  end
100
-
101
- class Parameters < Zavudev::Internal::Type::BaseModel
102
- OrHash =
103
- T.type_alias do
104
- T.any(
105
- Zavudev::Senders::Agent::AgentTool::Parameters,
106
- Zavudev::Internal::AnyHash
107
- )
108
- end
109
-
110
- sig do
111
- returns(
112
- T::Hash[
113
- Symbol,
114
- Zavudev::Senders::Agent::AgentTool::Parameters::Property
115
- ]
116
- )
117
- end
118
- attr_accessor :properties
119
-
120
- sig { returns(T::Array[String]) }
121
- attr_accessor :required
122
-
123
- sig do
124
- returns(
125
- Zavudev::Senders::Agent::AgentTool::Parameters::Type::TaggedSymbol
126
- )
127
- end
128
- attr_accessor :type
129
-
130
- sig do
131
- params(
132
- properties:
133
- T::Hash[
134
- Symbol,
135
- Zavudev::Senders::Agent::AgentTool::Parameters::Property::OrHash
136
- ],
137
- required: T::Array[String],
138
- type:
139
- Zavudev::Senders::Agent::AgentTool::Parameters::Type::OrSymbol
140
- ).returns(T.attached_class)
141
- end
142
- def self.new(properties:, required:, type:)
143
- end
144
-
145
- sig do
146
- override.returns(
147
- {
148
- properties:
149
- T::Hash[
150
- Symbol,
151
- Zavudev::Senders::Agent::AgentTool::Parameters::Property
152
- ],
153
- required: T::Array[String],
154
- type:
155
- Zavudev::Senders::Agent::AgentTool::Parameters::Type::TaggedSymbol
156
- }
157
- )
158
- end
159
- def to_hash
160
- end
161
-
162
- class Property < Zavudev::Internal::Type::BaseModel
163
- OrHash =
164
- T.type_alias do
165
- T.any(
166
- Zavudev::Senders::Agent::AgentTool::Parameters::Property,
167
- Zavudev::Internal::AnyHash
168
- )
169
- end
170
-
171
- sig { returns(T.nilable(String)) }
172
- attr_reader :description
173
-
174
- sig { params(description: String).void }
175
- attr_writer :description
176
-
177
- sig { returns(T.nilable(String)) }
178
- attr_reader :type
179
-
180
- sig { params(type: String).void }
181
- attr_writer :type
182
-
183
- sig do
184
- params(description: String, type: String).returns(
185
- T.attached_class
186
- )
187
- end
188
- def self.new(description: nil, type: nil)
189
- end
190
-
191
- sig { override.returns({ description: String, type: String }) }
192
- def to_hash
193
- end
194
- end
195
-
196
- module Type
197
- extend Zavudev::Internal::Type::Enum
198
-
199
- TaggedSymbol =
200
- T.type_alias do
201
- T.all(
202
- Symbol,
203
- Zavudev::Senders::Agent::AgentTool::Parameters::Type
204
- )
205
- end
206
- OrSymbol = T.type_alias { T.any(Symbol, String) }
207
-
208
- OBJECT =
209
- T.let(
210
- :object,
211
- Zavudev::Senders::Agent::AgentTool::Parameters::Type::TaggedSymbol
212
- )
213
-
214
- sig do
215
- override.returns(
216
- T::Array[
217
- Zavudev::Senders::Agent::AgentTool::Parameters::Type::TaggedSymbol
218
- ]
219
- )
220
- end
221
- def self.values
222
- end
223
- end
224
- end
225
99
  end
226
100
  end
227
101
  end