zavudev 0.5.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/internal/util.rb +3 -1
  5. data/lib/zavudev/models/contact.rb +3 -153
  6. data/lib/zavudev/models/contact_channel.rb +155 -0
  7. data/lib/zavudev/models/message_send_params.rb +4 -3
  8. data/lib/zavudev/models/senders/agent/agent_flow.rb +6 -101
  9. data/lib/zavudev/models/senders/agent/agent_tool.rb +3 -53
  10. data/lib/zavudev/models/senders/agent/flow_create_params.rb +6 -100
  11. data/lib/zavudev/models/senders/agent/flow_step.rb +61 -0
  12. data/lib/zavudev/models/senders/agent/flow_trigger.rb +51 -0
  13. data/lib/zavudev/models/senders/agent/flow_update_params.rb +6 -100
  14. data/lib/zavudev/models/senders/agent/tool_create_params.rb +3 -52
  15. data/lib/zavudev/models/senders/agent/tool_parameters.rb +58 -0
  16. data/lib/zavudev/models/senders/agent/tool_update_params.rb +3 -52
  17. data/lib/zavudev/models/template.rb +33 -5
  18. data/lib/zavudev/models/template_create_params.rb +64 -2
  19. data/lib/zavudev/models.rb +2 -0
  20. data/lib/zavudev/resources/messages.rb +1 -1
  21. data/lib/zavudev/resources/senders/agent/flows.rb +4 -4
  22. data/lib/zavudev/resources/senders/agent/tools.rb +2 -2
  23. data/lib/zavudev/resources/templates.rb +14 -2
  24. data/lib/zavudev/version.rb +1 -1
  25. data/lib/zavudev.rb +4 -0
  26. data/rbi/zavudev/models/contact.rbi +4 -235
  27. data/rbi/zavudev/models/contact_channel.rbi +231 -0
  28. data/rbi/zavudev/models/message_send_params.rbi +6 -4
  29. data/rbi/zavudev/models/senders/agent/agent_flow.rbi +7 -233
  30. data/rbi/zavudev/models/senders/agent/agent_tool.rbi +4 -130
  31. data/rbi/zavudev/models/senders/agent/flow_create_params.rbi +7 -245
  32. data/rbi/zavudev/models/senders/agent/flow_step.rbi +115 -0
  33. data/rbi/zavudev/models/senders/agent/flow_trigger.rbi +108 -0
  34. data/rbi/zavudev/models/senders/agent/flow_update_params.rbi +8 -255
  35. data/rbi/zavudev/models/senders/agent/tool_create_params.rbi +4 -132
  36. data/rbi/zavudev/models/senders/agent/tool_parameters.rbi +124 -0
  37. data/rbi/zavudev/models/senders/agent/tool_update_params.rbi +4 -136
  38. data/rbi/zavudev/models/template.rbi +39 -4
  39. data/rbi/zavudev/models/template_create_params.rbi +105 -0
  40. data/rbi/zavudev/models.rbi +2 -0
  41. data/rbi/zavudev/resources/messages.rbi +3 -3
  42. data/rbi/zavudev/resources/senders/agent/flows.rbi +4 -12
  43. data/rbi/zavudev/resources/senders/agent/tools.rbi +2 -4
  44. data/rbi/zavudev/resources/templates.rbi +19 -0
  45. data/sig/zavudev/models/contact.rbs +6 -153
  46. data/sig/zavudev/models/contact_channel.rbs +150 -0
  47. data/sig/zavudev/models/senders/agent/agent_flow.rbs +8 -100
  48. data/sig/zavudev/models/senders/agent/agent_tool.rbs +4 -57
  49. data/sig/zavudev/models/senders/agent/flow_create_params.rbs +8 -100
  50. data/sig/zavudev/models/senders/agent/flow_step.rbs +55 -0
  51. data/sig/zavudev/models/senders/agent/flow_trigger.rbs +51 -0
  52. data/sig/zavudev/models/senders/agent/flow_update_params.rbs +12 -104
  53. data/sig/zavudev/models/senders/agent/tool_create_params.rbs +4 -57
  54. data/sig/zavudev/models/senders/agent/tool_parameters.rbs +60 -0
  55. data/sig/zavudev/models/senders/agent/tool_update_params.rbs +6 -59
  56. data/sig/zavudev/models/template.rbs +21 -0
  57. data/sig/zavudev/models/template_create_params.rbs +57 -0
  58. data/sig/zavudev/models.rbs +2 -0
  59. data/sig/zavudev/resources/senders/agent/flows.rbs +4 -4
  60. data/sig/zavudev/resources/senders/agent/tools.rbs +2 -2
  61. data/sig/zavudev/resources/templates.rbs +6 -0
  62. metadata +14 -2
@@ -21,13 +21,13 @@ module Zavudev
21
21
 
22
22
  # @!attribute steps
23
23
  #
24
- # @return [Array<Zavudev::Models::Senders::Agent::FlowCreateParams::Step>]
25
- required :steps, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Senders::Agent::FlowCreateParams::Step] }
24
+ # @return [Array<Zavudev::Models::Senders::Agent::FlowStep>]
25
+ required :steps, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Senders::Agent::FlowStep] }
26
26
 
27
27
  # @!attribute trigger
28
28
  #
29
- # @return [Zavudev::Models::Senders::Agent::FlowCreateParams::Trigger]
30
- required :trigger, -> { Zavudev::Senders::Agent::FlowCreateParams::Trigger }
29
+ # @return [Zavudev::Models::Senders::Agent::FlowTrigger]
30
+ required :trigger, -> { Zavudev::Senders::Agent::FlowTrigger }
31
31
 
32
32
  # @!attribute description
33
33
  #
@@ -47,106 +47,12 @@ module Zavudev
47
47
  # @!method initialize(sender_id:, name:, steps:, trigger:, description: nil, enabled: nil, priority: nil, request_options: {})
48
48
  # @param sender_id [String]
49
49
  # @param name [String]
50
- # @param steps [Array<Zavudev::Models::Senders::Agent::FlowCreateParams::Step>]
51
- # @param trigger [Zavudev::Models::Senders::Agent::FlowCreateParams::Trigger]
50
+ # @param steps [Array<Zavudev::Models::Senders::Agent::FlowStep>]
51
+ # @param trigger [Zavudev::Models::Senders::Agent::FlowTrigger]
52
52
  # @param description [String]
53
53
  # @param enabled [Boolean]
54
54
  # @param priority [Integer]
55
55
  # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
56
-
57
- class Step < Zavudev::Internal::Type::BaseModel
58
- # @!attribute id
59
- # Unique step identifier.
60
- #
61
- # @return [String]
62
- required :id, String
63
-
64
- # @!attribute config
65
- # Step configuration (varies by type).
66
- #
67
- # @return [Hash{Symbol=>Object}]
68
- required :config, Zavudev::Internal::Type::HashOf[Zavudev::Internal::Type::Unknown]
69
-
70
- # @!attribute type
71
- # Type of flow step.
72
- #
73
- # @return [Symbol, Zavudev::Models::Senders::Agent::FlowCreateParams::Step::Type]
74
- required :type, enum: -> { Zavudev::Senders::Agent::FlowCreateParams::Step::Type }
75
-
76
- # @!attribute next_step_id
77
- # ID of the next step to execute.
78
- #
79
- # @return [String, nil]
80
- optional :next_step_id, String, api_name: :nextStepId, nil?: true
81
-
82
- # @!method initialize(id:, config:, type:, next_step_id: nil)
83
- # @param id [String] Unique step identifier.
84
- #
85
- # @param config [Hash{Symbol=>Object}] Step configuration (varies by type).
86
- #
87
- # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowCreateParams::Step::Type] Type of flow step.
88
- #
89
- # @param next_step_id [String, nil] ID of the next step to execute.
90
-
91
- # Type of flow step.
92
- #
93
- # @see Zavudev::Models::Senders::Agent::FlowCreateParams::Step#type
94
- module Type
95
- extend Zavudev::Internal::Type::Enum
96
-
97
- MESSAGE = :message
98
- COLLECT = :collect
99
- CONDITION = :condition
100
- TOOL = :tool
101
- LLM = :llm
102
- TRANSFER = :transfer
103
-
104
- # @!method self.values
105
- # @return [Array<Symbol>]
106
- end
107
- end
108
-
109
- class Trigger < Zavudev::Internal::Type::BaseModel
110
- # @!attribute type
111
- # Type of trigger for a flow.
112
- #
113
- # @return [Symbol, Zavudev::Models::Senders::Agent::FlowCreateParams::Trigger::Type]
114
- required :type, enum: -> { Zavudev::Senders::Agent::FlowCreateParams::Trigger::Type }
115
-
116
- # @!attribute intent
117
- # Intent that triggers the flow (for intent type).
118
- #
119
- # @return [String, nil]
120
- optional :intent, String
121
-
122
- # @!attribute keywords
123
- # Keywords that trigger the flow (for keyword type).
124
- #
125
- # @return [Array<String>, nil]
126
- optional :keywords, Zavudev::Internal::Type::ArrayOf[String]
127
-
128
- # @!method initialize(type:, intent: nil, keywords: nil)
129
- # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowCreateParams::Trigger::Type] Type of trigger for a flow.
130
- #
131
- # @param intent [String] Intent that triggers the flow (for intent type).
132
- #
133
- # @param keywords [Array<String>] Keywords that trigger the flow (for keyword type).
134
-
135
- # Type of trigger for a flow.
136
- #
137
- # @see Zavudev::Models::Senders::Agent::FlowCreateParams::Trigger#type
138
- module Type
139
- extend Zavudev::Internal::Type::Enum
140
-
141
- KEYWORD = :keyword
142
- INTENT = :intent
143
- ALWAYS = :always
144
- MANUAL = :manual
145
-
146
- # @!method self.values
147
- # @return [Array<Symbol>]
148
- end
149
- end
150
56
  end
151
57
  end
152
58
  end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ class FlowStep < Zavudev::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # Unique step identifier.
10
+ #
11
+ # @return [String]
12
+ required :id, String
13
+
14
+ # @!attribute config
15
+ # Step configuration (varies by type).
16
+ #
17
+ # @return [Hash{Symbol=>Object}]
18
+ required :config, Zavudev::Internal::Type::HashOf[Zavudev::Internal::Type::Unknown]
19
+
20
+ # @!attribute type
21
+ # Type of flow step.
22
+ #
23
+ # @return [Symbol, Zavudev::Models::Senders::Agent::FlowStep::Type]
24
+ required :type, enum: -> { Zavudev::Senders::Agent::FlowStep::Type }
25
+
26
+ # @!attribute next_step_id
27
+ # ID of the next step to execute.
28
+ #
29
+ # @return [String, nil]
30
+ optional :next_step_id, String, api_name: :nextStepId, nil?: true
31
+
32
+ # @!method initialize(id:, config:, type:, next_step_id: nil)
33
+ # @param id [String] Unique step identifier.
34
+ #
35
+ # @param config [Hash{Symbol=>Object}] Step configuration (varies by type).
36
+ #
37
+ # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowStep::Type] Type of flow step.
38
+ #
39
+ # @param next_step_id [String, nil] ID of the next step to execute.
40
+
41
+ # Type of flow step.
42
+ #
43
+ # @see Zavudev::Models::Senders::Agent::FlowStep#type
44
+ module Type
45
+ extend Zavudev::Internal::Type::Enum
46
+
47
+ MESSAGE = :message
48
+ COLLECT = :collect
49
+ CONDITION = :condition
50
+ TOOL = :tool
51
+ LLM = :llm
52
+ TRANSFER = :transfer
53
+
54
+ # @!method self.values
55
+ # @return [Array<Symbol>]
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ class FlowTrigger < Zavudev::Internal::Type::BaseModel
8
+ # @!attribute type
9
+ # Type of trigger for a flow.
10
+ #
11
+ # @return [Symbol, Zavudev::Models::Senders::Agent::FlowTrigger::Type]
12
+ required :type, enum: -> { Zavudev::Senders::Agent::FlowTrigger::Type }
13
+
14
+ # @!attribute intent
15
+ # Intent that triggers the flow (for intent type).
16
+ #
17
+ # @return [String, nil]
18
+ optional :intent, String
19
+
20
+ # @!attribute keywords
21
+ # Keywords that trigger the flow (for keyword type).
22
+ #
23
+ # @return [Array<String>, nil]
24
+ optional :keywords, Zavudev::Internal::Type::ArrayOf[String]
25
+
26
+ # @!method initialize(type:, intent: nil, keywords: nil)
27
+ # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowTrigger::Type] Type of trigger for a flow.
28
+ #
29
+ # @param intent [String] Intent that triggers the flow (for intent type).
30
+ #
31
+ # @param keywords [Array<String>] Keywords that trigger the flow (for keyword type).
32
+
33
+ # Type of trigger for a flow.
34
+ #
35
+ # @see Zavudev::Models::Senders::Agent::FlowTrigger#type
36
+ module Type
37
+ extend Zavudev::Internal::Type::Enum
38
+
39
+ KEYWORD = :keyword
40
+ INTENT = :intent
41
+ ALWAYS = :always
42
+ MANUAL = :manual
43
+
44
+ # @!method self.values
45
+ # @return [Array<Symbol>]
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -41,13 +41,13 @@ module Zavudev
41
41
 
42
42
  # @!attribute steps
43
43
  #
44
- # @return [Array<Zavudev::Models::Senders::Agent::FlowUpdateParams::Step>, nil]
45
- optional :steps, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Senders::Agent::FlowUpdateParams::Step] }
44
+ # @return [Array<Zavudev::Models::Senders::Agent::FlowStep>, nil]
45
+ optional :steps, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Senders::Agent::FlowStep] }
46
46
 
47
47
  # @!attribute trigger
48
48
  #
49
- # @return [Zavudev::Models::Senders::Agent::FlowUpdateParams::Trigger, nil]
50
- optional :trigger, -> { Zavudev::Senders::Agent::FlowUpdateParams::Trigger }
49
+ # @return [Zavudev::Models::Senders::Agent::FlowTrigger, nil]
50
+ optional :trigger, -> { Zavudev::Senders::Agent::FlowTrigger }
51
51
 
52
52
  # @!method initialize(sender_id:, flow_id:, description: nil, enabled: nil, name: nil, priority: nil, steps: nil, trigger: nil, request_options: {})
53
53
  # @param sender_id [String]
@@ -56,103 +56,9 @@ module Zavudev
56
56
  # @param enabled [Boolean]
57
57
  # @param name [String]
58
58
  # @param priority [Integer]
59
- # @param steps [Array<Zavudev::Models::Senders::Agent::FlowUpdateParams::Step>]
60
- # @param trigger [Zavudev::Models::Senders::Agent::FlowUpdateParams::Trigger]
59
+ # @param steps [Array<Zavudev::Models::Senders::Agent::FlowStep>]
60
+ # @param trigger [Zavudev::Models::Senders::Agent::FlowTrigger]
61
61
  # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
62
-
63
- class Step < Zavudev::Internal::Type::BaseModel
64
- # @!attribute id
65
- # Unique step identifier.
66
- #
67
- # @return [String]
68
- required :id, String
69
-
70
- # @!attribute config
71
- # Step configuration (varies by type).
72
- #
73
- # @return [Hash{Symbol=>Object}]
74
- required :config, Zavudev::Internal::Type::HashOf[Zavudev::Internal::Type::Unknown]
75
-
76
- # @!attribute type
77
- # Type of flow step.
78
- #
79
- # @return [Symbol, Zavudev::Models::Senders::Agent::FlowUpdateParams::Step::Type]
80
- required :type, enum: -> { Zavudev::Senders::Agent::FlowUpdateParams::Step::Type }
81
-
82
- # @!attribute next_step_id
83
- # ID of the next step to execute.
84
- #
85
- # @return [String, nil]
86
- optional :next_step_id, String, api_name: :nextStepId, nil?: true
87
-
88
- # @!method initialize(id:, config:, type:, next_step_id: nil)
89
- # @param id [String] Unique step identifier.
90
- #
91
- # @param config [Hash{Symbol=>Object}] Step configuration (varies by type).
92
- #
93
- # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowUpdateParams::Step::Type] Type of flow step.
94
- #
95
- # @param next_step_id [String, nil] ID of the next step to execute.
96
-
97
- # Type of flow step.
98
- #
99
- # @see Zavudev::Models::Senders::Agent::FlowUpdateParams::Step#type
100
- module Type
101
- extend Zavudev::Internal::Type::Enum
102
-
103
- MESSAGE = :message
104
- COLLECT = :collect
105
- CONDITION = :condition
106
- TOOL = :tool
107
- LLM = :llm
108
- TRANSFER = :transfer
109
-
110
- # @!method self.values
111
- # @return [Array<Symbol>]
112
- end
113
- end
114
-
115
- class Trigger < Zavudev::Internal::Type::BaseModel
116
- # @!attribute type
117
- # Type of trigger for a flow.
118
- #
119
- # @return [Symbol, Zavudev::Models::Senders::Agent::FlowUpdateParams::Trigger::Type]
120
- required :type, enum: -> { Zavudev::Senders::Agent::FlowUpdateParams::Trigger::Type }
121
-
122
- # @!attribute intent
123
- # Intent that triggers the flow (for intent type).
124
- #
125
- # @return [String, nil]
126
- optional :intent, String
127
-
128
- # @!attribute keywords
129
- # Keywords that trigger the flow (for keyword type).
130
- #
131
- # @return [Array<String>, nil]
132
- optional :keywords, Zavudev::Internal::Type::ArrayOf[String]
133
-
134
- # @!method initialize(type:, intent: nil, keywords: nil)
135
- # @param type [Symbol, Zavudev::Models::Senders::Agent::FlowUpdateParams::Trigger::Type] Type of trigger for a flow.
136
- #
137
- # @param intent [String] Intent that triggers the flow (for intent type).
138
- #
139
- # @param keywords [Array<String>] Keywords that trigger the flow (for keyword type).
140
-
141
- # Type of trigger for a flow.
142
- #
143
- # @see Zavudev::Models::Senders::Agent::FlowUpdateParams::Trigger#type
144
- module Type
145
- extend Zavudev::Internal::Type::Enum
146
-
147
- KEYWORD = :keyword
148
- INTENT = :intent
149
- ALWAYS = :always
150
- MANUAL = :manual
151
-
152
- # @!method self.values
153
- # @return [Array<Symbol>]
154
- end
155
- end
156
62
  end
157
63
  end
158
64
  end
@@ -26,8 +26,8 @@ module Zavudev
26
26
 
27
27
  # @!attribute parameters
28
28
  #
29
- # @return [Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters]
30
- required :parameters, -> { Zavudev::Senders::Agent::ToolCreateParams::Parameters }
29
+ # @return [Zavudev::Models::Senders::Agent::ToolParameters]
30
+ required :parameters, -> { Zavudev::Senders::Agent::ToolParameters }
31
31
 
32
32
  # @!attribute webhook_url
33
33
  # Must be HTTPS.
@@ -53,7 +53,7 @@ module Zavudev
53
53
  #
54
54
  # @param name [String]
55
55
  #
56
- # @param parameters [Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters]
56
+ # @param parameters [Zavudev::Models::Senders::Agent::ToolParameters]
57
57
  #
58
58
  # @param webhook_url [String] Must be HTTPS.
59
59
  #
@@ -62,55 +62,6 @@ module Zavudev
62
62
  # @param webhook_secret [String] Optional secret for webhook signature verification.
63
63
  #
64
64
  # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
65
-
66
- class Parameters < Zavudev::Internal::Type::BaseModel
67
- # @!attribute properties
68
- #
69
- # @return [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters::Property}]
70
- required :properties,
71
- -> { Zavudev::Internal::Type::HashOf[Zavudev::Senders::Agent::ToolCreateParams::Parameters::Property] }
72
-
73
- # @!attribute required
74
- #
75
- # @return [Array<String>]
76
- required :required, Zavudev::Internal::Type::ArrayOf[String]
77
-
78
- # @!attribute type
79
- #
80
- # @return [Symbol, Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters::Type]
81
- required :type, enum: -> { Zavudev::Senders::Agent::ToolCreateParams::Parameters::Type }
82
-
83
- # @!method initialize(properties:, required:, type:)
84
- # @param properties [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters::Property}]
85
- # @param required [Array<String>]
86
- # @param type [Symbol, Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters::Type]
87
-
88
- class Property < Zavudev::Internal::Type::BaseModel
89
- # @!attribute description
90
- #
91
- # @return [String, nil]
92
- optional :description, String
93
-
94
- # @!attribute type
95
- #
96
- # @return [String, nil]
97
- optional :type, String
98
-
99
- # @!method initialize(description: nil, type: nil)
100
- # @param description [String]
101
- # @param type [String]
102
- end
103
-
104
- # @see Zavudev::Models::Senders::Agent::ToolCreateParams::Parameters#type
105
- module Type
106
- extend Zavudev::Internal::Type::Enum
107
-
108
- OBJECT = :object
109
-
110
- # @!method self.values
111
- # @return [Array<Symbol>]
112
- end
113
- end
114
65
  end
115
66
  end
116
67
  end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ class ToolParameters < Zavudev::Internal::Type::BaseModel
8
+ # @!attribute properties
9
+ #
10
+ # @return [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolParameters::Property}]
11
+ required :properties,
12
+ -> { Zavudev::Internal::Type::HashOf[Zavudev::Senders::Agent::ToolParameters::Property] }
13
+
14
+ # @!attribute required
15
+ #
16
+ # @return [Array<String>]
17
+ required :required, Zavudev::Internal::Type::ArrayOf[String]
18
+
19
+ # @!attribute type
20
+ #
21
+ # @return [Symbol, Zavudev::Models::Senders::Agent::ToolParameters::Type]
22
+ required :type, enum: -> { Zavudev::Senders::Agent::ToolParameters::Type }
23
+
24
+ # @!method initialize(properties:, required:, type:)
25
+ # @param properties [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolParameters::Property}]
26
+ # @param required [Array<String>]
27
+ # @param type [Symbol, Zavudev::Models::Senders::Agent::ToolParameters::Type]
28
+
29
+ class Property < Zavudev::Internal::Type::BaseModel
30
+ # @!attribute description
31
+ #
32
+ # @return [String, nil]
33
+ optional :description, String
34
+
35
+ # @!attribute type
36
+ #
37
+ # @return [String, nil]
38
+ optional :type, String
39
+
40
+ # @!method initialize(description: nil, type: nil)
41
+ # @param description [String]
42
+ # @param type [String]
43
+ end
44
+
45
+ # @see Zavudev::Models::Senders::Agent::ToolParameters#type
46
+ module Type
47
+ extend Zavudev::Internal::Type::Enum
48
+
49
+ OBJECT = :object
50
+
51
+ # @!method self.values
52
+ # @return [Array<Symbol>]
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -36,8 +36,8 @@ module Zavudev
36
36
 
37
37
  # @!attribute parameters
38
38
  #
39
- # @return [Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters, nil]
40
- optional :parameters, -> { Zavudev::Senders::Agent::ToolUpdateParams::Parameters }
39
+ # @return [Zavudev::Models::Senders::Agent::ToolParameters, nil]
40
+ optional :parameters, -> { Zavudev::Senders::Agent::ToolParameters }
41
41
 
42
42
  # @!attribute webhook_secret
43
43
  #
@@ -55,59 +55,10 @@ module Zavudev
55
55
  # @param description [String]
56
56
  # @param enabled [Boolean]
57
57
  # @param name [String]
58
- # @param parameters [Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters]
58
+ # @param parameters [Zavudev::Models::Senders::Agent::ToolParameters]
59
59
  # @param webhook_secret [String, nil]
60
60
  # @param webhook_url [String]
61
61
  # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
62
-
63
- class Parameters < Zavudev::Internal::Type::BaseModel
64
- # @!attribute properties
65
- #
66
- # @return [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters::Property}]
67
- required :properties,
68
- -> { Zavudev::Internal::Type::HashOf[Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Property] }
69
-
70
- # @!attribute required
71
- #
72
- # @return [Array<String>]
73
- required :required, Zavudev::Internal::Type::ArrayOf[String]
74
-
75
- # @!attribute type
76
- #
77
- # @return [Symbol, Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters::Type]
78
- required :type, enum: -> { Zavudev::Senders::Agent::ToolUpdateParams::Parameters::Type }
79
-
80
- # @!method initialize(properties:, required:, type:)
81
- # @param properties [Hash{Symbol=>Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters::Property}]
82
- # @param required [Array<String>]
83
- # @param type [Symbol, Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters::Type]
84
-
85
- class Property < Zavudev::Internal::Type::BaseModel
86
- # @!attribute description
87
- #
88
- # @return [String, nil]
89
- optional :description, String
90
-
91
- # @!attribute type
92
- #
93
- # @return [String, nil]
94
- optional :type, String
95
-
96
- # @!method initialize(description: nil, type: nil)
97
- # @param description [String]
98
- # @param type [String]
99
- end
100
-
101
- # @see Zavudev::Models::Senders::Agent::ToolUpdateParams::Parameters#type
102
- module Type
103
- extend Zavudev::Internal::Type::Enum
104
-
105
- OBJECT = :object
106
-
107
- # @!method self.values
108
- # @return [Array<Symbol>]
109
- end
110
- end
111
62
  end
112
63
  end
113
64
  end
@@ -10,7 +10,8 @@ module Zavudev
10
10
  required :id, String
11
11
 
12
12
  # @!attribute body
13
- # Template body with variables: {{1}}, {{2}}, etc.
13
+ # Default template body with variables: {{1}}, {{2}}, or named variables like
14
+ # {{contact.first_name}}. Used when no channel-specific body is set.
14
15
  #
15
16
  # @return [String]
16
17
  required :body, String
@@ -28,7 +29,7 @@ module Zavudev
28
29
  required :language, String
29
30
 
30
31
  # @!attribute name
31
- # Template name (must match WhatsApp template name).
32
+ # Template name. For WhatsApp, must match the approved template name in Meta.
32
33
  #
33
34
  # @return [String]
34
35
  required :name, String
@@ -76,11 +77,29 @@ module Zavudev
76
77
  # @return [String, nil]
77
78
  optional :header_type, String, api_name: :headerType
78
79
 
80
+ # @!attribute instagram_body
81
+ # Channel-specific body for Instagram messages. Falls back to `body` if not set.
82
+ #
83
+ # @return [String, nil]
84
+ optional :instagram_body, String, api_name: :instagramBody
85
+
86
+ # @!attribute sms_body
87
+ # Channel-specific body for SMS messages. Falls back to `body` if not set.
88
+ #
89
+ # @return [String, nil]
90
+ optional :sms_body, String, api_name: :smsBody
91
+
79
92
  # @!attribute status
80
93
  #
81
94
  # @return [Symbol, Zavudev::Models::Template::Status, nil]
82
95
  optional :status, enum: -> { Zavudev::Template::Status }
83
96
 
97
+ # @!attribute telegram_body
98
+ # Channel-specific body for Telegram messages. Falls back to `body` if not set.
99
+ #
100
+ # @return [String, nil]
101
+ optional :telegram_body, String, api_name: :telegramBody
102
+
84
103
  # @!attribute updated_at
85
104
  #
86
105
  # @return [Time, nil]
@@ -98,16 +117,19 @@ module Zavudev
98
117
  # @return [Zavudev::Models::Template::Whatsapp, nil]
99
118
  optional :whatsapp, -> { Zavudev::Template::Whatsapp }
100
119
 
101
- # @!method initialize(id:, body:, category:, language:, name:, add_security_recommendation: nil, buttons: nil, code_expiration_minutes: nil, created_at: nil, footer: nil, header_content: nil, header_type: nil, status: nil, updated_at: nil, variables: nil, whatsapp: nil)
120
+ # @!method initialize(id:, body:, category:, language:, name:, add_security_recommendation: nil, buttons: nil, code_expiration_minutes: nil, created_at: nil, footer: nil, header_content: nil, header_type: nil, instagram_body: nil, sms_body: nil, status: nil, telegram_body: nil, updated_at: nil, variables: nil, whatsapp: nil)
121
+ # Some parameter documentations has been truncated, see
122
+ # {Zavudev::Models::Template} for more details.
123
+ #
102
124
  # @param id [String]
103
125
  #
104
- # @param body [String] Template body with variables: {{1}}, {{2}}, etc.
126
+ # @param body [String] Default template body with variables: {{1}}, {{2}}, or named variables like {{co
105
127
  #
106
128
  # @param category [Symbol, Zavudev::Models::WhatsappCategory] WhatsApp template category.
107
129
  #
108
130
  # @param language [String] Language code.
109
131
  #
110
- # @param name [String] Template name (must match WhatsApp template name).
132
+ # @param name [String] Template name. For WhatsApp, must match the approved template name in Meta.
111
133
  #
112
134
  # @param add_security_recommendation [Boolean] Add 'Do not share this code' disclaimer. Only for AUTHENTICATION templates.
113
135
  #
@@ -123,8 +145,14 @@ module Zavudev
123
145
  #
124
146
  # @param header_type [String] Type of header (text, image, video, document).
125
147
  #
148
+ # @param instagram_body [String] Channel-specific body for Instagram messages. Falls back to `body` if not set.
149
+ #
150
+ # @param sms_body [String] Channel-specific body for SMS messages. Falls back to `body` if not set.
151
+ #
126
152
  # @param status [Symbol, Zavudev::Models::Template::Status]
127
153
  #
154
+ # @param telegram_body [String] Channel-specific body for Telegram messages. Falls back to `body` if not set.
155
+ #
128
156
  # @param updated_at [Time]
129
157
  #
130
158
  # @param variables [Array<String>] List of variable names for documentation.