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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +1 -1
- data/lib/zavudev/client.rb +8 -0
- data/lib/zavudev/models/broadcast_contact.rb +10 -1
- data/lib/zavudev/models/broadcast_content.rb +18 -4
- data/lib/zavudev/models/broadcasts/contact_add_params.rb +17 -4
- data/lib/zavudev/models/contact_delete_params.rb +20 -0
- data/lib/zavudev/models/function_create_params.rb +104 -0
- data/lib/zavudev/models/function_create_response.rb +168 -0
- data/lib/zavudev/models/function_delete_params.rb +20 -0
- data/lib/zavudev/models/function_delete_response.rb +28 -0
- data/lib/zavudev/models/function_deploy_params.rb +37 -0
- data/lib/zavudev/models/function_deploy_response.rb +104 -0
- data/lib/zavudev/models/function_get_deployment_params.rb +20 -0
- data/lib/zavudev/models/function_get_deployment_response.rb +104 -0
- data/lib/zavudev/models/function_retrieve_params.rb +20 -0
- data/lib/zavudev/models/function_retrieve_response.rb +168 -0
- data/lib/zavudev/models/function_tail_logs_params.rb +58 -0
- data/lib/zavudev/models/function_tail_logs_response.rb +41 -0
- data/lib/zavudev/models/function_update_params.rb +37 -0
- data/lib/zavudev/models/function_update_response.rb +168 -0
- data/lib/zavudev/models/functions/secret_list_params.rb +22 -0
- data/lib/zavudev/models/functions/secret_list_response.rb +59 -0
- data/lib/zavudev/models/functions/secret_set_params.rb +34 -0
- data/lib/zavudev/models/functions/secret_set_response.rb +10 -0
- data/lib/zavudev/models/functions/secret_unset_params.rb +28 -0
- data/lib/zavudev/models/me_retrieve_params.rb +14 -0
- data/lib/zavudev/models/me_retrieve_response.rb +85 -0
- data/lib/zavudev/models/message_content.rb +20 -4
- data/lib/zavudev/models/message_show_typing_params.rb +26 -0
- data/lib/zavudev/models/message_show_typing_response.rb +16 -0
- data/lib/zavudev/models/senders/agent/execution_retrieve_params.rb +30 -0
- data/lib/zavudev/models/senders/agent/execution_retrieve_response.rb +20 -0
- data/lib/zavudev/models/template.rb +6 -3
- data/lib/zavudev/models.rb +22 -0
- data/lib/zavudev/resources/contacts.rb +24 -0
- data/lib/zavudev/resources/functions/secrets.rb +98 -0
- data/lib/zavudev/resources/functions.rb +220 -0
- data/lib/zavudev/resources/me.rb +33 -0
- data/lib/zavudev/resources/messages.rb +31 -0
- data/lib/zavudev/resources/senders/agent/executions.rb +26 -0
- data/lib/zavudev/version.rb +1 -1
- data/lib/zavudev.rb +29 -0
- data/rbi/zavudev/client.rbi +6 -0
- data/rbi/zavudev/models/broadcast_contact.rbi +9 -0
- data/rbi/zavudev/models/broadcast_content.rbi +23 -4
- data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +23 -4
- data/rbi/zavudev/models/contact_delete_params.rbi +35 -0
- data/rbi/zavudev/models/function_create_params.rbi +177 -0
- data/rbi/zavudev/models/function_create_response.rbi +277 -0
- data/rbi/zavudev/models/function_delete_params.rbi +35 -0
- data/rbi/zavudev/models/function_delete_response.rbi +44 -0
- data/rbi/zavudev/models/function_deploy_params.rbi +63 -0
- data/rbi/zavudev/models/function_deploy_response.rbi +196 -0
- data/rbi/zavudev/models/function_get_deployment_params.rbi +38 -0
- data/rbi/zavudev/models/function_get_deployment_response.rbi +201 -0
- data/rbi/zavudev/models/function_retrieve_params.rbi +35 -0
- data/rbi/zavudev/models/function_retrieve_response.rbi +277 -0
- data/rbi/zavudev/models/function_tail_logs_params.rbi +90 -0
- data/rbi/zavudev/models/function_tail_logs_response.rbi +75 -0
- data/rbi/zavudev/models/function_update_params.rbi +63 -0
- data/rbi/zavudev/models/function_update_response.rbi +277 -0
- data/rbi/zavudev/models/functions/secret_list_params.rbi +40 -0
- data/rbi/zavudev/models/functions/secret_list_response.rbi +118 -0
- data/rbi/zavudev/models/functions/secret_set_params.rbi +53 -0
- data/rbi/zavudev/models/functions/secret_set_response.rbi +9 -0
- data/rbi/zavudev/models/functions/secret_unset_params.rbi +48 -0
- data/rbi/zavudev/models/me_retrieve_params.rbi +27 -0
- data/rbi/zavudev/models/me_retrieve_response.rbi +151 -0
- data/rbi/zavudev/models/message_content.rbi +27 -4
- data/rbi/zavudev/models/message_show_typing_params.rbi +46 -0
- data/rbi/zavudev/models/message_show_typing_response.rbi +26 -0
- data/rbi/zavudev/models/senders/agent/execution_retrieve_params.rbi +50 -0
- data/rbi/zavudev/models/senders/agent/execution_retrieve_response.rbi +41 -0
- data/rbi/zavudev/models/template.rbi +10 -4
- data/rbi/zavudev/models.rbi +22 -0
- data/rbi/zavudev/resources/contacts.rbi +15 -0
- data/rbi/zavudev/resources/functions/secrets.rbi +69 -0
- data/rbi/zavudev/resources/functions.rbi +171 -0
- data/rbi/zavudev/resources/me.rbi +22 -0
- data/rbi/zavudev/resources/messages.rbi +21 -0
- data/rbi/zavudev/resources/senders/agent/executions.rbi +14 -0
- data/sig/zavudev/client.rbs +4 -0
- data/sig/zavudev/models/broadcast_contact.rbs +9 -0
- data/sig/zavudev/models/broadcast_content.rbs +9 -0
- data/sig/zavudev/models/broadcasts/contact_add_params.rbs +9 -0
- data/sig/zavudev/models/contact_delete_params.rbs +23 -0
- data/sig/zavudev/models/function_create_params.rbs +107 -0
- data/sig/zavudev/models/function_create_response.rbs +126 -0
- data/sig/zavudev/models/function_delete_params.rbs +23 -0
- data/sig/zavudev/models/function_delete_response.rbs +22 -0
- data/sig/zavudev/models/function_deploy_params.rbs +40 -0
- data/sig/zavudev/models/function_deploy_response.rbs +98 -0
- data/sig/zavudev/models/function_get_deployment_params.rbs +23 -0
- data/sig/zavudev/models/function_get_deployment_response.rbs +98 -0
- data/sig/zavudev/models/function_retrieve_params.rbs +23 -0
- data/sig/zavudev/models/function_retrieve_response.rbs +126 -0
- data/sig/zavudev/models/function_tail_logs_params.rbs +61 -0
- data/sig/zavudev/models/function_tail_logs_response.rbs +37 -0
- data/sig/zavudev/models/function_update_params.rbs +40 -0
- data/sig/zavudev/models/function_update_response.rbs +126 -0
- data/sig/zavudev/models/functions/secret_list_params.rbs +25 -0
- data/sig/zavudev/models/functions/secret_list_response.rbs +70 -0
- data/sig/zavudev/models/functions/secret_set_params.rbs +34 -0
- data/sig/zavudev/models/functions/secret_set_response.rbs +7 -0
- data/sig/zavudev/models/functions/secret_unset_params.rbs +30 -0
- data/sig/zavudev/models/me_retrieve_params.rbs +14 -0
- data/sig/zavudev/models/me_retrieve_response.rbs +75 -0
- data/sig/zavudev/models/message_content.rbs +9 -0
- data/sig/zavudev/models/message_show_typing_params.rbs +30 -0
- data/sig/zavudev/models/message_show_typing_response.rbs +13 -0
- data/sig/zavudev/models/senders/agent/execution_retrieve_params.rbs +32 -0
- data/sig/zavudev/models/senders/agent/execution_retrieve_response.rbs +18 -0
- data/sig/zavudev/models.rbs +22 -0
- data/sig/zavudev/resources/contacts.rbs +5 -0
- data/sig/zavudev/resources/functions/secrets.rbs +27 -0
- data/sig/zavudev/resources/functions.rbs +61 -0
- data/sig/zavudev/resources/me.rbs +11 -0
- data/sig/zavudev/resources/messages.rbs +6 -0
- data/sig/zavudev/resources/senders/agent/executions.rbs +6 -0
- metadata +89 -2
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Zavudev
|
|
4
|
+
module Resources
|
|
5
|
+
class Functions
|
|
6
|
+
# @return [Zavudev::Resources::Functions::Secrets]
|
|
7
|
+
attr_reader :secrets
|
|
8
|
+
|
|
9
|
+
# Create a new Zavu Function. The function starts in `draft` status. A dedicated
|
|
10
|
+
# API key is auto-provisioned and injected as the `ZAVU_API_KEY` secret so the
|
|
11
|
+
# function can call back into the Zavu API without manual setup.
|
|
12
|
+
#
|
|
13
|
+
# Provide `sourceCode` to seed the draft. Call
|
|
14
|
+
# `POST /v1/functions/{functionId}/deploy` afterwards to publish.
|
|
15
|
+
#
|
|
16
|
+
# @overload create(name:, slug:, dependencies: nil, description: nil, http_enabled: nil, memory_mb: nil, runtime: nil, source_code: nil, timeout_sec: nil, request_options: {})
|
|
17
|
+
#
|
|
18
|
+
# @param name [String]
|
|
19
|
+
#
|
|
20
|
+
# @param slug [String] URL-safe identifier (lowercase, digits, hyphens). Must be unique per project.
|
|
21
|
+
#
|
|
22
|
+
# @param dependencies [Hash{Symbol=>String}] npm dependencies. Keys are package names, values are semver ranges.
|
|
23
|
+
#
|
|
24
|
+
# @param description [String]
|
|
25
|
+
#
|
|
26
|
+
# @param http_enabled [Boolean] Whether to expose a public HTTPS URL for this function.
|
|
27
|
+
#
|
|
28
|
+
# @param memory_mb [Integer, Zavudev::Models::FunctionCreateParams::MemoryMB]
|
|
29
|
+
#
|
|
30
|
+
# @param runtime [Symbol, Zavudev::Models::FunctionCreateParams::Runtime] Runtime the function is deployed on.
|
|
31
|
+
#
|
|
32
|
+
# @param source_code [String] TypeScript source code for the function entry point (max ~900KB).
|
|
33
|
+
#
|
|
34
|
+
# @param timeout_sec [Integer]
|
|
35
|
+
#
|
|
36
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
37
|
+
#
|
|
38
|
+
# @return [Zavudev::Models::FunctionCreateResponse]
|
|
39
|
+
#
|
|
40
|
+
# @see Zavudev::Models::FunctionCreateParams
|
|
41
|
+
def create(params)
|
|
42
|
+
parsed, options = Zavudev::FunctionCreateParams.dump_request(params)
|
|
43
|
+
@client.request(
|
|
44
|
+
method: :post,
|
|
45
|
+
path: "v1/functions",
|
|
46
|
+
body: parsed,
|
|
47
|
+
model: Zavudev::Models::FunctionCreateResponse,
|
|
48
|
+
options: options
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Get function
|
|
53
|
+
#
|
|
54
|
+
# @overload retrieve(function_id, request_options: {})
|
|
55
|
+
#
|
|
56
|
+
# @param function_id [String] Zavu Function ID.
|
|
57
|
+
#
|
|
58
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
59
|
+
#
|
|
60
|
+
# @return [Zavudev::Models::FunctionRetrieveResponse]
|
|
61
|
+
#
|
|
62
|
+
# @see Zavudev::Models::FunctionRetrieveParams
|
|
63
|
+
def retrieve(function_id, params = {})
|
|
64
|
+
@client.request(
|
|
65
|
+
method: :get,
|
|
66
|
+
path: ["v1/functions/%1$s", function_id],
|
|
67
|
+
model: Zavudev::Models::FunctionRetrieveResponse,
|
|
68
|
+
options: params[:request_options]
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Update the draft source code and/or dependency map without triggering a build.
|
|
73
|
+
# Visible in the dashboard immediately, but the live (deployed) function does not
|
|
74
|
+
# change until `POST /v1/functions/{functionId}/deploy` runs.
|
|
75
|
+
#
|
|
76
|
+
# @overload update(function_id, dependencies: nil, source_code: nil, request_options: {})
|
|
77
|
+
#
|
|
78
|
+
# @param function_id [String] Zavu Function ID.
|
|
79
|
+
#
|
|
80
|
+
# @param dependencies [Hash{Symbol=>String}] New dependency map (replaces existing dependencies).
|
|
81
|
+
#
|
|
82
|
+
# @param source_code [String] New source code to publish (replaces the draft).
|
|
83
|
+
#
|
|
84
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
85
|
+
#
|
|
86
|
+
# @return [Zavudev::Models::FunctionUpdateResponse]
|
|
87
|
+
#
|
|
88
|
+
# @see Zavudev::Models::FunctionUpdateParams
|
|
89
|
+
def update(function_id, params = {})
|
|
90
|
+
parsed, options = Zavudev::FunctionUpdateParams.dump_request(params)
|
|
91
|
+
@client.request(
|
|
92
|
+
method: :patch,
|
|
93
|
+
path: ["v1/functions/%1$s", function_id],
|
|
94
|
+
body: parsed,
|
|
95
|
+
model: Zavudev::Models::FunctionUpdateResponse,
|
|
96
|
+
options: options
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Permanently delete a function and cascade: triggers, secrets, deployment
|
|
101
|
+
# history, managed agents+tools, and revoke the auto-provisioned API key. The AWS
|
|
102
|
+
# Lambda + log group are torn down asynchronously.
|
|
103
|
+
#
|
|
104
|
+
# @overload delete(function_id, request_options: {})
|
|
105
|
+
#
|
|
106
|
+
# @param function_id [String] Zavu Function ID.
|
|
107
|
+
#
|
|
108
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
109
|
+
#
|
|
110
|
+
# @return [Zavudev::Models::FunctionDeleteResponse]
|
|
111
|
+
#
|
|
112
|
+
# @see Zavudev::Models::FunctionDeleteParams
|
|
113
|
+
def delete(function_id, params = {})
|
|
114
|
+
@client.request(
|
|
115
|
+
method: :delete,
|
|
116
|
+
path: ["v1/functions/%1$s", function_id],
|
|
117
|
+
model: Zavudev::Models::FunctionDeleteResponse,
|
|
118
|
+
options: params[:request_options]
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Publish the function. If `sourceCode` or `dependencies` are provided in the
|
|
123
|
+
# body, they replace the current draft before deployment. Returns immediately with
|
|
124
|
+
# a deployment ID — poll `GET /v1/functions/deployments/{deploymentId}` until
|
|
125
|
+
# status is `active` or `failed`.
|
|
126
|
+
#
|
|
127
|
+
# @overload deploy(function_id, dependencies: nil, source_code: nil, request_options: {})
|
|
128
|
+
#
|
|
129
|
+
# @param function_id [String] Zavu Function ID.
|
|
130
|
+
#
|
|
131
|
+
# @param dependencies [Hash{Symbol=>String}] New dependency map (replaces existing dependencies).
|
|
132
|
+
#
|
|
133
|
+
# @param source_code [String] New source code to publish (replaces the draft).
|
|
134
|
+
#
|
|
135
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
136
|
+
#
|
|
137
|
+
# @return [Zavudev::Models::FunctionDeployResponse]
|
|
138
|
+
#
|
|
139
|
+
# @see Zavudev::Models::FunctionDeployParams
|
|
140
|
+
def deploy(function_id, params = {})
|
|
141
|
+
parsed, options = Zavudev::FunctionDeployParams.dump_request(params)
|
|
142
|
+
@client.request(
|
|
143
|
+
method: :post,
|
|
144
|
+
path: ["v1/functions/%1$s/deploy", function_id],
|
|
145
|
+
body: parsed,
|
|
146
|
+
model: Zavudev::Models::FunctionDeployResponse,
|
|
147
|
+
options: options
|
|
148
|
+
)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Fetch a deployment to poll its status during a deploy.
|
|
152
|
+
#
|
|
153
|
+
# @overload get_deployment(deployment_id, request_options: {})
|
|
154
|
+
#
|
|
155
|
+
# @param deployment_id [String] Function deployment ID.
|
|
156
|
+
#
|
|
157
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
158
|
+
#
|
|
159
|
+
# @return [Zavudev::Models::FunctionGetDeploymentResponse]
|
|
160
|
+
#
|
|
161
|
+
# @see Zavudev::Models::FunctionGetDeploymentParams
|
|
162
|
+
def get_deployment(deployment_id, params = {})
|
|
163
|
+
@client.request(
|
|
164
|
+
method: :get,
|
|
165
|
+
path: ["v1/functions/deployments/%1$s", deployment_id],
|
|
166
|
+
model: Zavudev::Models::FunctionGetDeploymentResponse,
|
|
167
|
+
options: params[:request_options]
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Fetch invocation logs for a function. Logs are paginated via `nextToken`. Pass
|
|
172
|
+
# `startTime` / `endTime` (Unix epoch milliseconds) to bound the window, or
|
|
173
|
+
# `filterPattern` to filter messages.
|
|
174
|
+
#
|
|
175
|
+
# @overload tail_logs(function_id, end_time: nil, filter_pattern: nil, limit: nil, next_token: nil, start_time: nil, request_options: {})
|
|
176
|
+
#
|
|
177
|
+
# @param function_id [String] Zavu Function ID.
|
|
178
|
+
#
|
|
179
|
+
# @param end_time [Integer] End of the log window in Unix epoch milliseconds.
|
|
180
|
+
#
|
|
181
|
+
# @param filter_pattern [String]
|
|
182
|
+
#
|
|
183
|
+
# @param limit [Integer]
|
|
184
|
+
#
|
|
185
|
+
# @param next_token [String]
|
|
186
|
+
#
|
|
187
|
+
# @param start_time [Integer] Start of the log window in Unix epoch milliseconds.
|
|
188
|
+
#
|
|
189
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
190
|
+
#
|
|
191
|
+
# @return [Zavudev::Models::FunctionTailLogsResponse]
|
|
192
|
+
#
|
|
193
|
+
# @see Zavudev::Models::FunctionTailLogsParams
|
|
194
|
+
def tail_logs(function_id, params = {})
|
|
195
|
+
parsed, options = Zavudev::FunctionTailLogsParams.dump_request(params)
|
|
196
|
+
query = Zavudev::Internal::Util.encode_query_params(parsed)
|
|
197
|
+
@client.request(
|
|
198
|
+
method: :get,
|
|
199
|
+
path: ["v1/functions/%1$s/logs", function_id],
|
|
200
|
+
query: query.transform_keys(
|
|
201
|
+
end_time: "endTime",
|
|
202
|
+
filter_pattern: "filterPattern",
|
|
203
|
+
next_token: "nextToken",
|
|
204
|
+
start_time: "startTime"
|
|
205
|
+
),
|
|
206
|
+
model: Zavudev::Models::FunctionTailLogsResponse,
|
|
207
|
+
options: options
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# @api private
|
|
212
|
+
#
|
|
213
|
+
# @param client [Zavudev::Client]
|
|
214
|
+
def initialize(client:)
|
|
215
|
+
@client = client
|
|
216
|
+
@secrets = Zavudev::Resources::Functions::Secrets.new(client: client)
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Zavudev
|
|
4
|
+
module Resources
|
|
5
|
+
class Me
|
|
6
|
+
# Returns the project, team, and API key metadata bound to the current Bearer
|
|
7
|
+
# token. Used by CLIs and SDKs to confirm which project they will operate on.
|
|
8
|
+
#
|
|
9
|
+
# @overload retrieve(request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
12
|
+
#
|
|
13
|
+
# @return [Zavudev::Models::MeRetrieveResponse]
|
|
14
|
+
#
|
|
15
|
+
# @see Zavudev::Models::MeRetrieveParams
|
|
16
|
+
def retrieve(params = {})
|
|
17
|
+
@client.request(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: "v1/me",
|
|
20
|
+
model: Zavudev::Models::MeRetrieveResponse,
|
|
21
|
+
options: params[:request_options]
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @api private
|
|
26
|
+
#
|
|
27
|
+
# @param client [Zavudev::Client]
|
|
28
|
+
def initialize(client:)
|
|
29
|
+
@client = client
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -155,6 +155,37 @@ module Zavudev
|
|
|
155
155
|
)
|
|
156
156
|
end
|
|
157
157
|
|
|
158
|
+
# Some parameter documentations has been truncated, see
|
|
159
|
+
# {Zavudev::Models::MessageShowTypingParams} for more details.
|
|
160
|
+
#
|
|
161
|
+
# Mark an inbound WhatsApp message as read and display a typing indicator to the
|
|
162
|
+
# user while you prepare a response. The indicator is automatically dismissed when
|
|
163
|
+
# you send a reply, or after 25 seconds — whichever comes first. Only valid for
|
|
164
|
+
# inbound WhatsApp messages. Use this when a reply will take more than a couple of
|
|
165
|
+
# seconds (LLM agent, tool call, lookup) to improve the recipient's experience.
|
|
166
|
+
#
|
|
167
|
+
# @overload show_typing(message_id, zavu_sender: nil, request_options: {})
|
|
168
|
+
#
|
|
169
|
+
# @param message_id [String]
|
|
170
|
+
#
|
|
171
|
+
# @param zavu_sender [String] Optional sender profile ID. If omitted, the project's default sender will be use
|
|
172
|
+
#
|
|
173
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
174
|
+
#
|
|
175
|
+
# @return [Zavudev::Models::MessageShowTypingResponse]
|
|
176
|
+
#
|
|
177
|
+
# @see Zavudev::Models::MessageShowTypingParams
|
|
178
|
+
def show_typing(message_id, params = {})
|
|
179
|
+
parsed, options = Zavudev::MessageShowTypingParams.dump_request(params)
|
|
180
|
+
@client.request(
|
|
181
|
+
method: :post,
|
|
182
|
+
path: ["v1/messages/%1$s/typing", message_id],
|
|
183
|
+
headers: parsed.transform_keys(zavu_sender: "zavu-sender"),
|
|
184
|
+
model: Zavudev::Models::MessageShowTypingResponse,
|
|
185
|
+
options: options
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
|
|
158
189
|
# @api private
|
|
159
190
|
#
|
|
160
191
|
# @param client [Zavudev::Client]
|
|
@@ -5,6 +5,32 @@ module Zavudev
|
|
|
5
5
|
class Senders
|
|
6
6
|
class Agent
|
|
7
7
|
class Executions
|
|
8
|
+
# Fetch full details for one execution — including `errorMessage`, `errorCode`,
|
|
9
|
+
# and `responseText`. Use this to debug failures surfaced by the list endpoint.
|
|
10
|
+
#
|
|
11
|
+
# @overload retrieve(execution_id, sender_id:, request_options: {})
|
|
12
|
+
#
|
|
13
|
+
# @param execution_id [String]
|
|
14
|
+
# @param sender_id [String]
|
|
15
|
+
# @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
16
|
+
#
|
|
17
|
+
# @return [Zavudev::Models::Senders::Agent::ExecutionRetrieveResponse]
|
|
18
|
+
#
|
|
19
|
+
# @see Zavudev::Models::Senders::Agent::ExecutionRetrieveParams
|
|
20
|
+
def retrieve(execution_id, params)
|
|
21
|
+
parsed, options = Zavudev::Senders::Agent::ExecutionRetrieveParams.dump_request(params)
|
|
22
|
+
sender_id =
|
|
23
|
+
parsed.delete(:sender_id) do
|
|
24
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
25
|
+
end
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :get,
|
|
28
|
+
path: ["v1/senders/%1$s/agent/executions/%2$s", sender_id, execution_id],
|
|
29
|
+
model: Zavudev::Models::Senders::Agent::ExecutionRetrieveResponse,
|
|
30
|
+
options: options
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
8
34
|
# List recent agent executions with pagination.
|
|
9
35
|
#
|
|
10
36
|
# @overload list(sender_id, cursor: nil, limit: nil, status: nil, request_options: {})
|
data/lib/zavudev/version.rb
CHANGED
data/lib/zavudev.rb
CHANGED
|
@@ -99,6 +99,7 @@ require_relative "zavudev/models/channel"
|
|
|
99
99
|
require_relative "zavudev/models/contact"
|
|
100
100
|
require_relative "zavudev/models/contact_channel"
|
|
101
101
|
require_relative "zavudev/models/contact_create_params"
|
|
102
|
+
require_relative "zavudev/models/contact_delete_params"
|
|
102
103
|
require_relative "zavudev/models/contact_dismiss_merge_suggestion_params"
|
|
103
104
|
require_relative "zavudev/models/contact_list_params"
|
|
104
105
|
require_relative "zavudev/models/contact_merge_params"
|
|
@@ -118,6 +119,25 @@ require_relative "zavudev/models/export_create_response"
|
|
|
118
119
|
require_relative "zavudev/models/export_list_params"
|
|
119
120
|
require_relative "zavudev/models/export_retrieve_params"
|
|
120
121
|
require_relative "zavudev/models/export_retrieve_response"
|
|
122
|
+
require_relative "zavudev/models/function_create_params"
|
|
123
|
+
require_relative "zavudev/models/function_create_response"
|
|
124
|
+
require_relative "zavudev/models/function_delete_params"
|
|
125
|
+
require_relative "zavudev/models/function_delete_response"
|
|
126
|
+
require_relative "zavudev/models/function_deploy_params"
|
|
127
|
+
require_relative "zavudev/models/function_deploy_response"
|
|
128
|
+
require_relative "zavudev/models/function_get_deployment_params"
|
|
129
|
+
require_relative "zavudev/models/function_get_deployment_response"
|
|
130
|
+
require_relative "zavudev/models/function_retrieve_params"
|
|
131
|
+
require_relative "zavudev/models/function_retrieve_response"
|
|
132
|
+
require_relative "zavudev/models/functions/secret_list_params"
|
|
133
|
+
require_relative "zavudev/models/functions/secret_list_response"
|
|
134
|
+
require_relative "zavudev/models/functions/secret_set_params"
|
|
135
|
+
require_relative "zavudev/models/functions/secret_set_response"
|
|
136
|
+
require_relative "zavudev/models/functions/secret_unset_params"
|
|
137
|
+
require_relative "zavudev/models/function_tail_logs_params"
|
|
138
|
+
require_relative "zavudev/models/function_tail_logs_response"
|
|
139
|
+
require_relative "zavudev/models/function_update_params"
|
|
140
|
+
require_relative "zavudev/models/function_update_response"
|
|
121
141
|
require_relative "zavudev/models/introspect_validate_phone_params"
|
|
122
142
|
require_relative "zavudev/models/introspect_validate_phone_response"
|
|
123
143
|
require_relative "zavudev/models/invitation"
|
|
@@ -129,6 +149,8 @@ require_relative "zavudev/models/invitation_list_params"
|
|
|
129
149
|
require_relative "zavudev/models/invitation_retrieve_params"
|
|
130
150
|
require_relative "zavudev/models/invitation_retrieve_response"
|
|
131
151
|
require_relative "zavudev/models/line_type"
|
|
152
|
+
require_relative "zavudev/models/me_retrieve_params"
|
|
153
|
+
require_relative "zavudev/models/me_retrieve_response"
|
|
132
154
|
require_relative "zavudev/models/message"
|
|
133
155
|
require_relative "zavudev/models/message_content"
|
|
134
156
|
require_relative "zavudev/models/message_list_params"
|
|
@@ -136,6 +158,8 @@ require_relative "zavudev/models/message_react_params"
|
|
|
136
158
|
require_relative "zavudev/models/message_response"
|
|
137
159
|
require_relative "zavudev/models/message_retrieve_params"
|
|
138
160
|
require_relative "zavudev/models/message_send_params"
|
|
161
|
+
require_relative "zavudev/models/message_show_typing_params"
|
|
162
|
+
require_relative "zavudev/models/message_show_typing_response"
|
|
139
163
|
require_relative "zavudev/models/message_status"
|
|
140
164
|
require_relative "zavudev/models/message_type"
|
|
141
165
|
require_relative "zavudev/models/number_10dlc/brand_create_params"
|
|
@@ -217,6 +241,8 @@ require_relative "zavudev/models/senders/agent/agent_flow"
|
|
|
217
241
|
require_relative "zavudev/models/senders/agent/agent_knowledge_base"
|
|
218
242
|
require_relative "zavudev/models/senders/agent/agent_tool"
|
|
219
243
|
require_relative "zavudev/models/senders/agent/execution_list_params"
|
|
244
|
+
require_relative "zavudev/models/senders/agent/execution_retrieve_params"
|
|
245
|
+
require_relative "zavudev/models/senders/agent/execution_retrieve_response"
|
|
220
246
|
require_relative "zavudev/models/senders/agent/flow_create_params"
|
|
221
247
|
require_relative "zavudev/models/senders/agent/flow_create_response"
|
|
222
248
|
require_relative "zavudev/models/senders/agent/flow_delete_params"
|
|
@@ -323,8 +349,11 @@ require_relative "zavudev/resources/broadcasts/contacts"
|
|
|
323
349
|
require_relative "zavudev/resources/contacts"
|
|
324
350
|
require_relative "zavudev/resources/contacts/channels"
|
|
325
351
|
require_relative "zavudev/resources/exports"
|
|
352
|
+
require_relative "zavudev/resources/functions"
|
|
353
|
+
require_relative "zavudev/resources/functions/secrets"
|
|
326
354
|
require_relative "zavudev/resources/introspect"
|
|
327
355
|
require_relative "zavudev/resources/invitations"
|
|
356
|
+
require_relative "zavudev/resources/me"
|
|
328
357
|
require_relative "zavudev/resources/messages"
|
|
329
358
|
require_relative "zavudev/resources/number_10dlc"
|
|
330
359
|
require_relative "zavudev/resources/number_10dlc/brands"
|
data/rbi/zavudev/client.rbi
CHANGED
|
@@ -64,6 +64,12 @@ module Zavudev
|
|
|
64
64
|
sig { returns(Zavudev::Resources::Number10dlc) }
|
|
65
65
|
attr_reader :number_10dlc
|
|
66
66
|
|
|
67
|
+
sig { returns(Zavudev::Resources::Me) }
|
|
68
|
+
attr_reader :me
|
|
69
|
+
|
|
70
|
+
sig { returns(Zavudev::Resources::Functions) }
|
|
71
|
+
attr_reader :functions
|
|
72
|
+
|
|
67
73
|
# @api private
|
|
68
74
|
sig { override.returns(T::Hash[String, String]) }
|
|
69
75
|
private def auth_headers
|
|
@@ -58,6 +58,12 @@ module Zavudev
|
|
|
58
58
|
sig { params(template_button_variables: T::Hash[Symbol, String]).void }
|
|
59
59
|
attr_writer :template_button_variables
|
|
60
60
|
|
|
61
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
62
|
+
attr_reader :template_header_variables
|
|
63
|
+
|
|
64
|
+
sig { params(template_header_variables: T::Hash[Symbol, String]).void }
|
|
65
|
+
attr_writer :template_header_variables
|
|
66
|
+
|
|
61
67
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
62
68
|
attr_reader :template_variables
|
|
63
69
|
|
|
@@ -77,6 +83,7 @@ module Zavudev
|
|
|
77
83
|
message_id: String,
|
|
78
84
|
processed_at: Time,
|
|
79
85
|
template_button_variables: T::Hash[Symbol, String],
|
|
86
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
80
87
|
template_variables: T::Hash[Symbol, String]
|
|
81
88
|
).returns(T.attached_class)
|
|
82
89
|
end
|
|
@@ -94,6 +101,7 @@ module Zavudev
|
|
|
94
101
|
message_id: nil,
|
|
95
102
|
processed_at: nil,
|
|
96
103
|
template_button_variables: nil,
|
|
104
|
+
template_header_variables: nil,
|
|
97
105
|
template_variables: nil
|
|
98
106
|
)
|
|
99
107
|
end
|
|
@@ -113,6 +121,7 @@ module Zavudev
|
|
|
113
121
|
message_id: String,
|
|
114
122
|
processed_at: Time,
|
|
115
123
|
template_button_variables: T::Hash[Symbol, String],
|
|
124
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
116
125
|
template_variables: T::Hash[Symbol, String]
|
|
117
126
|
}
|
|
118
127
|
)
|
|
@@ -44,6 +44,15 @@ module Zavudev
|
|
|
44
44
|
sig { params(template_button_variables: T::Hash[Symbol, String]).void }
|
|
45
45
|
attr_writer :template_button_variables
|
|
46
46
|
|
|
47
|
+
# Default value for a text-header variable, keyed by `1` (can be overridden per
|
|
48
|
+
# contact). If omitted, Zavu resolves the header from `templateVariables` by the
|
|
49
|
+
# header placeholder's name.
|
|
50
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
51
|
+
attr_reader :template_header_variables
|
|
52
|
+
|
|
53
|
+
sig { params(template_header_variables: T::Hash[Symbol, String]).void }
|
|
54
|
+
attr_writer :template_header_variables
|
|
55
|
+
|
|
47
56
|
# Template ID for template messages.
|
|
48
57
|
sig { returns(T.nilable(String)) }
|
|
49
58
|
attr_reader :template_id
|
|
@@ -51,8 +60,10 @@ module Zavudev
|
|
|
51
60
|
sig { params(template_id: String).void }
|
|
52
61
|
attr_writer :template_id
|
|
53
62
|
|
|
54
|
-
# Default body variables (can be overridden per contact).
|
|
55
|
-
# 2
|
|
63
|
+
# Default body variables (can be overridden per contact). Key them to match the
|
|
64
|
+
# template body: by position (`1`, `2`, ...) for positional templates, or by name
|
|
65
|
+
# (e.g. `customer_name`) for named templates. Zavu detects the template's format
|
|
66
|
+
# and sends the correct payload to Meta. Do not mix positional and named keys.
|
|
56
67
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
57
68
|
attr_reader :template_variables
|
|
58
69
|
|
|
@@ -67,6 +78,7 @@ module Zavudev
|
|
|
67
78
|
media_url: String,
|
|
68
79
|
mime_type: String,
|
|
69
80
|
template_button_variables: T::Hash[Symbol, String],
|
|
81
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
70
82
|
template_id: String,
|
|
71
83
|
template_variables: T::Hash[Symbol, String]
|
|
72
84
|
).returns(T.attached_class)
|
|
@@ -83,10 +95,16 @@ module Zavudev
|
|
|
83
95
|
# Default button variables for dynamic URL/OTP buttons. Keys are the button index
|
|
84
96
|
# (0, 1, 2). Per-contact values override these.
|
|
85
97
|
template_button_variables: nil,
|
|
98
|
+
# Default value for a text-header variable, keyed by `1` (can be overridden per
|
|
99
|
+
# contact). If omitted, Zavu resolves the header from `templateVariables` by the
|
|
100
|
+
# header placeholder's name.
|
|
101
|
+
template_header_variables: nil,
|
|
86
102
|
# Template ID for template messages.
|
|
87
103
|
template_id: nil,
|
|
88
|
-
# Default body variables (can be overridden per contact).
|
|
89
|
-
# 2
|
|
104
|
+
# Default body variables (can be overridden per contact). Key them to match the
|
|
105
|
+
# template body: by position (`1`, `2`, ...) for positional templates, or by name
|
|
106
|
+
# (e.g. `customer_name`) for named templates. Zavu detects the template's format
|
|
107
|
+
# and sends the correct payload to Meta. Do not mix positional and named keys.
|
|
90
108
|
template_variables: nil
|
|
91
109
|
)
|
|
92
110
|
end
|
|
@@ -99,6 +117,7 @@ module Zavudev
|
|
|
99
117
|
media_url: String,
|
|
100
118
|
mime_type: String,
|
|
101
119
|
template_button_variables: T::Hash[Symbol, String],
|
|
120
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
102
121
|
template_id: String,
|
|
103
122
|
template_variables: T::Hash[Symbol, String]
|
|
104
123
|
}
|
|
@@ -76,8 +76,20 @@ module Zavudev
|
|
|
76
76
|
end
|
|
77
77
|
attr_writer :template_button_variables
|
|
78
78
|
|
|
79
|
-
# Per-contact
|
|
80
|
-
#
|
|
79
|
+
# Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu
|
|
80
|
+
# resolves the header from `templateVariables` by the header placeholder's name.
|
|
81
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
82
|
+
attr_reader :template_header_variables
|
|
83
|
+
|
|
84
|
+
sig do
|
|
85
|
+
params(template_header_variables: T::Hash[Symbol, String]).void
|
|
86
|
+
end
|
|
87
|
+
attr_writer :template_header_variables
|
|
88
|
+
|
|
89
|
+
# Per-contact body variables. Key them to match the template body: by position
|
|
90
|
+
# (`1`, `2`, ...) for positional templates, or by name (e.g. `customer_name`) for
|
|
91
|
+
# named templates. Zavu detects the template's format and sends the correct
|
|
92
|
+
# payload to Meta. Do not mix positional and named keys.
|
|
81
93
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
82
94
|
attr_reader :template_variables
|
|
83
95
|
|
|
@@ -88,6 +100,7 @@ module Zavudev
|
|
|
88
100
|
params(
|
|
89
101
|
recipient: String,
|
|
90
102
|
template_button_variables: T::Hash[Symbol, String],
|
|
103
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
91
104
|
template_variables: T::Hash[Symbol, String]
|
|
92
105
|
).returns(T.attached_class)
|
|
93
106
|
end
|
|
@@ -97,8 +110,13 @@ module Zavudev
|
|
|
97
110
|
# Per-contact button variables for dynamic URL/OTP buttons. Keys are the button
|
|
98
111
|
# index (0, 1, 2).
|
|
99
112
|
template_button_variables: nil,
|
|
100
|
-
# Per-contact
|
|
101
|
-
#
|
|
113
|
+
# Per-contact value for a text-header variable, keyed by `1`. If omitted, Zavu
|
|
114
|
+
# resolves the header from `templateVariables` by the header placeholder's name.
|
|
115
|
+
template_header_variables: nil,
|
|
116
|
+
# Per-contact body variables. Key them to match the template body: by position
|
|
117
|
+
# (`1`, `2`, ...) for positional templates, or by name (e.g. `customer_name`) for
|
|
118
|
+
# named templates. Zavu detects the template's format and sends the correct
|
|
119
|
+
# payload to Meta. Do not mix positional and named keys.
|
|
102
120
|
template_variables: nil
|
|
103
121
|
)
|
|
104
122
|
end
|
|
@@ -108,6 +126,7 @@ module Zavudev
|
|
|
108
126
|
{
|
|
109
127
|
recipient: String,
|
|
110
128
|
template_button_variables: T::Hash[Symbol, String],
|
|
129
|
+
template_header_variables: T::Hash[Symbol, String],
|
|
111
130
|
template_variables: T::Hash[Symbol, String]
|
|
112
131
|
}
|
|
113
132
|
)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Zavudev
|
|
4
|
+
module Models
|
|
5
|
+
class ContactDeleteParams < 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::ContactDeleteParams, Zavudev::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :contact_id
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(
|
|
19
|
+
contact_id: String,
|
|
20
|
+
request_options: Zavudev::RequestOptions::OrHash
|
|
21
|
+
).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(contact_id:, request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
override.returns(
|
|
28
|
+
{ contact_id: String, request_options: Zavudev::RequestOptions }
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
def to_hash
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|