twilio-ruby 7.3.0 → 7.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +21 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +133 -0
  5. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +133 -0
  6. data/lib/twilio-ruby/rest/accounts/v1.rb +12 -0
  7. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +355 -0
  8. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +362 -0
  9. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +303 -0
  10. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +201 -0
  11. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +668 -0
  12. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +229 -0
  13. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +209 -0
  14. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +591 -0
  15. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +264 -0
  16. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +264 -0
  17. data/lib/twilio-ruby/rest/assistants/v1/session.rb +328 -0
  18. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +586 -0
  19. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  20. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  21. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  22. data/lib/twilio-ruby/rest/client.rb +5 -0
  23. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +11 -11
  24. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +11 -24
  25. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +28 -15
  26. data/lib/twilio-ruby/rest/numbers/v1/{porting_webhook_configuration_fetch.rb → webhook.rb} +20 -20
  27. data/lib/twilio-ruby/rest/numbers/v1.rb +6 -6
  28. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +2 -2
  29. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +4 -4
  30. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -1
  31. data/lib/twilio-ruby/version.rb +1 -1
  32. metadata +20 -3
@@ -0,0 +1,586 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Assistants
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Assistants < AssistantsBase
19
+ class V1 < Version
20
+ class ToolList < ListResource
21
+
22
+ class AssistantsV1ServiceCreatePolicyRequest
23
+ # @param [description]: [String] The description of the policy.
24
+ # @param [id]: [String] The Policy ID.
25
+ # @param [name]: [String] The name of the policy.
26
+ # @param [policy_details]: [Hash]
27
+ # @param [type]: [String] The description of the policy.
28
+ attr_accessor :description, :id, :name, :policy_details, :type
29
+ def initialize(payload)
30
+ @description = payload["description"]
31
+ @id = payload["id"]
32
+ @name = payload["name"]
33
+ @policy_details = payload["policy_details"]
34
+ @type = payload["type"]
35
+ end
36
+ def to_json(options = {})
37
+ {
38
+ description: @description,
39
+ id: @id,
40
+ name: @name,
41
+ policy_details: @policy_details,
42
+ type: @type,
43
+ }.to_json(options)
44
+ end
45
+ end
46
+
47
+ class AssistantsV1ServiceCreateToolRequest
48
+ # @param [assistant_id]: [String] The Assistant ID.
49
+ # @param [description]: [String] The description of the tool.
50
+ # @param [enabled]: [Boolean] True if the tool is enabled.
51
+ # @param [meta]: [Hash] The metadata related to method, url, input_schema to used with the Tool.
52
+ # @param [name]: [String] The name of the tool.
53
+ # @param [policy]: [ToolList.AssistantsV1ServiceCreatePolicyRequest]
54
+ # @param [type]: [String] The description of the tool.
55
+ attr_accessor :assistant_id, :description, :enabled, :meta, :name, :policy, :type
56
+ def initialize(payload)
57
+ @assistant_id = payload["assistant_id"]
58
+ @description = payload["description"]
59
+ @enabled = payload["enabled"]
60
+ @meta = payload["meta"]
61
+ @name = payload["name"]
62
+ @policy = payload["policy"]
63
+ @type = payload["type"]
64
+ end
65
+ def to_json(options = {})
66
+ {
67
+ assistant_id: @assistant_id,
68
+ description: @description,
69
+ enabled: @enabled,
70
+ meta: @meta,
71
+ name: @name,
72
+ policy: @policy,
73
+ type: @type,
74
+ }.to_json(options)
75
+ end
76
+ end
77
+
78
+ class AssistantsV1ServiceUpdateToolRequest
79
+ # @param [assistant_id]: [String] The Assistant ID.
80
+ # @param [description]: [String] The description of the tool.
81
+ # @param [enabled]: [Boolean] True if the tool is enabled.
82
+ # @param [meta]: [Hash] The metadata related to method, url, input_schema to used with the Tool.
83
+ # @param [name]: [String] The name of the tool.
84
+ # @param [policy]: [ToolList.AssistantsV1ServiceCreatePolicyRequest]
85
+ # @param [type]: [String] The type of the tool.
86
+ attr_accessor :assistant_id, :description, :enabled, :meta, :name, :policy, :type
87
+ def initialize(payload)
88
+ @assistant_id = payload["assistant_id"]
89
+ @description = payload["description"]
90
+ @enabled = payload["enabled"]
91
+ @meta = payload["meta"]
92
+ @name = payload["name"]
93
+ @policy = payload["policy"]
94
+ @type = payload["type"]
95
+ end
96
+ def to_json(options = {})
97
+ {
98
+ assistant_id: @assistant_id,
99
+ description: @description,
100
+ enabled: @enabled,
101
+ meta: @meta,
102
+ name: @name,
103
+ policy: @policy,
104
+ type: @type,
105
+ }.to_json(options)
106
+ end
107
+ end
108
+
109
+ class AssistantsV1ServiceCreatePolicyRequest
110
+ # @param [description]: [String] The description of the policy.
111
+ # @param [id]: [String] The Policy ID.
112
+ # @param [name]: [String] The name of the policy.
113
+ # @param [policy_details]: [Hash]
114
+ # @param [type]: [String] The description of the policy.
115
+ attr_accessor :description, :id, :name, :policy_details, :type
116
+ def initialize(payload)
117
+ @description = payload["description"]
118
+ @id = payload["id"]
119
+ @name = payload["name"]
120
+ @policy_details = payload["policy_details"]
121
+ @type = payload["type"]
122
+ end
123
+ def to_json(options = {})
124
+ {
125
+ description: @description,
126
+ id: @id,
127
+ name: @name,
128
+ policy_details: @policy_details,
129
+ type: @type,
130
+ }.to_json(options)
131
+ end
132
+ end
133
+
134
+ class AssistantsV1ServiceCreateToolRequest
135
+ # @param [assistant_id]: [String] The Assistant ID.
136
+ # @param [description]: [String] The description of the tool.
137
+ # @param [enabled]: [Boolean] True if the tool is enabled.
138
+ # @param [meta]: [Hash] The metadata related to method, url, input_schema to used with the Tool.
139
+ # @param [name]: [String] The name of the tool.
140
+ # @param [policy]: [ToolList.AssistantsV1ServiceCreatePolicyRequest]
141
+ # @param [type]: [String] The description of the tool.
142
+ attr_accessor :assistant_id, :description, :enabled, :meta, :name, :policy, :type
143
+ def initialize(payload)
144
+ @assistant_id = payload["assistant_id"]
145
+ @description = payload["description"]
146
+ @enabled = payload["enabled"]
147
+ @meta = payload["meta"]
148
+ @name = payload["name"]
149
+ @policy = payload["policy"]
150
+ @type = payload["type"]
151
+ end
152
+ def to_json(options = {})
153
+ {
154
+ assistant_id: @assistant_id,
155
+ description: @description,
156
+ enabled: @enabled,
157
+ meta: @meta,
158
+ name: @name,
159
+ policy: @policy,
160
+ type: @type,
161
+ }.to_json(options)
162
+ end
163
+ end
164
+
165
+ class AssistantsV1ServiceUpdateToolRequest
166
+ # @param [assistant_id]: [String] The Assistant ID.
167
+ # @param [description]: [String] The description of the tool.
168
+ # @param [enabled]: [Boolean] True if the tool is enabled.
169
+ # @param [meta]: [Hash] The metadata related to method, url, input_schema to used with the Tool.
170
+ # @param [name]: [String] The name of the tool.
171
+ # @param [policy]: [ToolList.AssistantsV1ServiceCreatePolicyRequest]
172
+ # @param [type]: [String] The type of the tool.
173
+ attr_accessor :assistant_id, :description, :enabled, :meta, :name, :policy, :type
174
+ def initialize(payload)
175
+ @assistant_id = payload["assistant_id"]
176
+ @description = payload["description"]
177
+ @enabled = payload["enabled"]
178
+ @meta = payload["meta"]
179
+ @name = payload["name"]
180
+ @policy = payload["policy"]
181
+ @type = payload["type"]
182
+ end
183
+ def to_json(options = {})
184
+ {
185
+ assistant_id: @assistant_id,
186
+ description: @description,
187
+ enabled: @enabled,
188
+ meta: @meta,
189
+ name: @name,
190
+ policy: @policy,
191
+ type: @type,
192
+ }.to_json(options)
193
+ end
194
+ end
195
+
196
+ ##
197
+ # Initialize the ToolList
198
+ # @param [Version] version Version that contains the resource
199
+ # @return [ToolList] ToolList
200
+ def initialize(version)
201
+ super(version)
202
+ # Path Solution
203
+ @solution = { }
204
+ @uri = "/Tools"
205
+
206
+ end
207
+ ##
208
+ # Create the ToolInstance
209
+ # @param [AssistantsV1ServiceCreateToolRequest] assistants_v1_service_create_tool_request
210
+ # @return [ToolInstance] Created ToolInstance
211
+ def create(assistants_v1_service_create_tool_request: nil
212
+ )
213
+
214
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
215
+ headers['Content-Type'] = 'application/json'
216
+ payload = @version.create('POST', @uri, headers: headers, data: assistants_v1_service_create_tool_request.to_json)
217
+ ToolInstance.new(
218
+ @version,
219
+ payload,
220
+ )
221
+ end
222
+
223
+
224
+ ##
225
+ # Lists ToolInstance records from the API as a list.
226
+ # Unlike stream(), this operation is eager and will load `limit` records into
227
+ # memory before returning.
228
+ # @param [String] assistant_id
229
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
230
+ # guarantees to never return more than limit. Default is no limit
231
+ # @param [Integer] page_size Number of records to fetch per request, when
232
+ # not set will use the default value of 50 records. If no page_size is defined
233
+ # but a limit is defined, stream() will attempt to read the limit with the most
234
+ # efficient page size, i.e. min(limit, 1000)
235
+ # @return [Array] Array of up to limit results
236
+ def list(assistant_id: :unset, limit: nil, page_size: nil)
237
+ self.stream(
238
+ assistant_id: assistant_id,
239
+ limit: limit,
240
+ page_size: page_size
241
+ ).entries
242
+ end
243
+
244
+ ##
245
+ # Streams Instance records from the API as an Enumerable.
246
+ # This operation lazily loads records as efficiently as possible until the limit
247
+ # is reached.
248
+ # @param [String] assistant_id
249
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
250
+ # guarantees to never return more than limit. Default is no limit
251
+ # @param [Integer] page_size Number of records to fetch per request, when
252
+ # not set will use the default value of 50 records. If no page_size is defined
253
+ # but a limit is defined, stream() will attempt to read the limit with the most
254
+ # efficient page size, i.e. min(limit, 1000)
255
+ # @return [Enumerable] Enumerable that will yield up to limit results
256
+ def stream(assistant_id: :unset, limit: nil, page_size: nil)
257
+ limits = @version.read_limits(limit, page_size)
258
+
259
+ page = self.page(
260
+ assistant_id: assistant_id,
261
+ page_size: limits[:page_size], )
262
+
263
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
264
+ end
265
+
266
+ ##
267
+ # When passed a block, yields ToolInstance records from the API.
268
+ # This operation lazily loads records as efficiently as possible until the limit
269
+ # is reached.
270
+ def each
271
+ limits = @version.read_limits
272
+
273
+ page = self.page(page_size: limits[:page_size], )
274
+
275
+ @version.stream(page,
276
+ limit: limits[:limit],
277
+ page_limit: limits[:page_limit]).each {|x| yield x}
278
+ end
279
+
280
+ ##
281
+ # Retrieve a single page of ToolInstance records from the API.
282
+ # Request is executed immediately.
283
+ # @param [String] assistant_id
284
+ # @param [String] page_token PageToken provided by the API
285
+ # @param [Integer] page_number Page Number, this value is simply for client state
286
+ # @param [Integer] page_size Number of records to return, defaults to 50
287
+ # @return [Page] Page of ToolInstance
288
+ def page(assistant_id: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
289
+ params = Twilio::Values.of({
290
+ 'AssistantId' => assistant_id,
291
+ 'PageToken' => page_token,
292
+ 'Page' => page_number,
293
+ 'PageSize' => page_size,
294
+ })
295
+
296
+ response = @version.page('GET', @uri, params: params)
297
+
298
+ ToolPage.new(@version, response, @solution)
299
+ end
300
+
301
+ ##
302
+ # Retrieve a single page of ToolInstance records from the API.
303
+ # Request is executed immediately.
304
+ # @param [String] target_url API-generated URL for the requested results page
305
+ # @return [Page] Page of ToolInstance
306
+ def get_page(target_url)
307
+ response = @version.domain.request(
308
+ 'GET',
309
+ target_url
310
+ )
311
+ ToolPage.new(@version, response, @solution)
312
+ end
313
+
314
+
315
+
316
+ # Provide a user friendly representation
317
+ def to_s
318
+ '#<Twilio.Assistants.V1.ToolList>'
319
+ end
320
+ end
321
+
322
+
323
+ class ToolContext < InstanceContext
324
+ ##
325
+ # Initialize the ToolContext
326
+ # @param [Version] version Version that contains the resource
327
+ # @param [String] id
328
+ # @return [ToolContext] ToolContext
329
+ def initialize(version, id)
330
+ super(version)
331
+
332
+ # Path Solution
333
+ @solution = { id: id, }
334
+ @uri = "/Tools/#{@solution[:id]}"
335
+
336
+
337
+ end
338
+ ##
339
+ # Delete the ToolInstance
340
+ # @return [Boolean] True if delete succeeds, false otherwise
341
+ def delete
342
+
343
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
344
+
345
+ @version.delete('DELETE', @uri, headers: headers)
346
+ end
347
+
348
+ ##
349
+ # Fetch the ToolInstance
350
+ # @return [ToolInstance] Fetched ToolInstance
351
+ def fetch
352
+
353
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
354
+
355
+ payload = @version.fetch('GET', @uri, headers: headers)
356
+ ToolInstance.new(
357
+ @version,
358
+ payload,
359
+ id: @solution[:id],
360
+ )
361
+ end
362
+
363
+ ##
364
+ # Update the ToolInstance
365
+ # @param [AssistantsV1ServiceUpdateToolRequest] assistants_v1_service_update_tool_request
366
+ # @return [ToolInstance] Updated ToolInstance
367
+ def update(assistants_v1_service_update_tool_request: :unset
368
+ )
369
+
370
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
371
+ headers['Content-Type'] = 'application/json'
372
+ payload = @version.update('PUT', @uri, headers: headers, data: assistants_v1_service_update_tool_request.to_json)
373
+ ToolInstance.new(
374
+ @version,
375
+ payload,
376
+ id: @solution[:id],
377
+ )
378
+ end
379
+
380
+
381
+ ##
382
+ # Provide a user friendly representation
383
+ def to_s
384
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
385
+ "#<Twilio.Assistants.V1.ToolContext #{context}>"
386
+ end
387
+
388
+ ##
389
+ # Provide a detailed, user friendly representation
390
+ def inspect
391
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
392
+ "#<Twilio.Assistants.V1.ToolContext #{context}>"
393
+ end
394
+ end
395
+
396
+ class ToolPage < Page
397
+ ##
398
+ # Initialize the ToolPage
399
+ # @param [Version] version Version that contains the resource
400
+ # @param [Response] response Response from the API
401
+ # @param [Hash] solution Path solution for the resource
402
+ # @return [ToolPage] ToolPage
403
+ def initialize(version, response, solution)
404
+ super(version, response)
405
+
406
+ # Path Solution
407
+ @solution = solution
408
+ end
409
+
410
+ ##
411
+ # Build an instance of ToolInstance
412
+ # @param [Hash] payload Payload response from the API
413
+ # @return [ToolInstance] ToolInstance
414
+ def get_instance(payload)
415
+ ToolInstance.new(@version, payload)
416
+ end
417
+
418
+ ##
419
+ # Provide a user friendly representation
420
+ def to_s
421
+ '<Twilio.Assistants.V1.ToolPage>'
422
+ end
423
+ end
424
+ class ToolInstance < InstanceResource
425
+ ##
426
+ # Initialize the ToolInstance
427
+ # @param [Version] version Version that contains the resource
428
+ # @param [Hash] payload payload that contains response from Twilio
429
+ # @param [String] account_sid The SID of the
430
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Tool
431
+ # resource.
432
+ # @param [String] sid The SID of the Call resource to fetch.
433
+ # @return [ToolInstance] ToolInstance
434
+ def initialize(version, payload , id: nil)
435
+ super(version)
436
+
437
+ # Marshaled Properties
438
+ @properties = {
439
+ 'account_sid' => payload['account_sid'],
440
+ 'description' => payload['description'],
441
+ 'enabled' => payload['enabled'],
442
+ 'id' => payload['id'],
443
+ 'meta' => payload['meta'],
444
+ 'name' => payload['name'],
445
+ 'requires_auth' => payload['requires_auth'],
446
+ 'type' => payload['type'],
447
+ 'url' => payload['url'],
448
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
449
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
450
+ 'policies' => payload['policies'],
451
+ }
452
+
453
+ # Context
454
+ @instance_context = nil
455
+ @params = { 'id' => id || @properties['id'] , }
456
+ end
457
+
458
+ ##
459
+ # Generate an instance context for the instance, the context is capable of
460
+ # performing various actions. All instance actions are proxied to the context
461
+ # @return [ToolContext] CallContext for this CallInstance
462
+ def context
463
+ unless @instance_context
464
+ @instance_context = ToolContext.new(@version , @params['id'])
465
+ end
466
+ @instance_context
467
+ end
468
+
469
+ ##
470
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Tool resource.
471
+ def account_sid
472
+ @properties['account_sid']
473
+ end
474
+
475
+ ##
476
+ # @return [String] The description of the tool.
477
+ def description
478
+ @properties['description']
479
+ end
480
+
481
+ ##
482
+ # @return [Boolean] True if the tool is enabled.
483
+ def enabled
484
+ @properties['enabled']
485
+ end
486
+
487
+ ##
488
+ # @return [String] The tool ID.
489
+ def id
490
+ @properties['id']
491
+ end
492
+
493
+ ##
494
+ # @return [Hash] The metadata related to method, url, input_schema to used with the Tool.
495
+ def meta
496
+ @properties['meta']
497
+ end
498
+
499
+ ##
500
+ # @return [String] The name of the tool.
501
+ def name
502
+ @properties['name']
503
+ end
504
+
505
+ ##
506
+ # @return [Boolean] The authentication requirement for the tool.
507
+ def requires_auth
508
+ @properties['requires_auth']
509
+ end
510
+
511
+ ##
512
+ # @return [String] The type of the tool. ('WEBHOOK')
513
+ def type
514
+ @properties['type']
515
+ end
516
+
517
+ ##
518
+ # @return [String] The url of the tool resource.
519
+ def url
520
+ @properties['url']
521
+ end
522
+
523
+ ##
524
+ # @return [Time] The date and time in GMT when the Tool was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
525
+ def date_created
526
+ @properties['date_created']
527
+ end
528
+
529
+ ##
530
+ # @return [Time] The date and time in GMT when the Tool was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
531
+ def date_updated
532
+ @properties['date_updated']
533
+ end
534
+
535
+ ##
536
+ # @return [Array<AssistantsV1ServicePolicy>] The Policies associated with the tool.
537
+ def policies
538
+ @properties['policies']
539
+ end
540
+
541
+ ##
542
+ # Delete the ToolInstance
543
+ # @return [Boolean] True if delete succeeds, false otherwise
544
+ def delete
545
+
546
+ context.delete
547
+ end
548
+
549
+ ##
550
+ # Fetch the ToolInstance
551
+ # @return [ToolInstance] Fetched ToolInstance
552
+ def fetch
553
+
554
+ context.fetch
555
+ end
556
+
557
+ ##
558
+ # Update the ToolInstance
559
+ # @param [AssistantsV1ServiceUpdateToolRequest] assistants_v1_service_update_tool_request
560
+ # @return [ToolInstance] Updated ToolInstance
561
+ def update(assistants_v1_service_update_tool_request: :unset
562
+ )
563
+
564
+ context.update(
565
+ )
566
+ end
567
+
568
+ ##
569
+ # Provide a user friendly representation
570
+ def to_s
571
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
572
+ "<Twilio.Assistants.V1.ToolInstance #{values}>"
573
+ end
574
+
575
+ ##
576
+ # Provide a detailed, user friendly representation
577
+ def inspect
578
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
579
+ "<Twilio.Assistants.V1.ToolInstance #{values}>"
580
+ end
581
+ end
582
+
583
+ end
584
+ end
585
+ end
586
+ end
@@ -0,0 +1,100 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Assistants
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+ module Twilio
16
+ module REST
17
+ class Assistants
18
+ class V1 < Version
19
+ ##
20
+ # Initialize the V1 version of Assistants
21
+ def initialize(domain)
22
+ super
23
+ @version = 'v1'
24
+ @assistants = nil
25
+ @knowledge = nil
26
+ @policies = nil
27
+ @sessions = nil
28
+ @tools = nil
29
+ end
30
+
31
+ ##
32
+ # @param [String] id
33
+ # @return [Twilio::REST::Assistants::V1::AssistantContext] if id was passed.
34
+ # @return [Twilio::REST::Assistants::V1::AssistantList]
35
+ def assistants(id=:unset)
36
+ if id.nil?
37
+ raise ArgumentError, 'id cannot be nil'
38
+ end
39
+ if id == :unset
40
+ @assistants ||= AssistantList.new self
41
+ else
42
+ AssistantContext.new(self, id)
43
+ end
44
+ end
45
+ ##
46
+ # @param [String] id
47
+ # @return [Twilio::REST::Assistants::V1::KnowledgeContext] if id was passed.
48
+ # @return [Twilio::REST::Assistants::V1::KnowledgeList]
49
+ def knowledge(id=:unset)
50
+ if id.nil?
51
+ raise ArgumentError, 'id cannot be nil'
52
+ end
53
+ if id == :unset
54
+ @knowledge ||= KnowledgeList.new self
55
+ else
56
+ KnowledgeContext.new(self, id)
57
+ end
58
+ end
59
+ ##
60
+ # @return [Twilio::REST::Assistants::V1::PolicyList]
61
+ def policies
62
+ @policies ||= PolicyList.new self
63
+ end
64
+ ##
65
+ # @param [String] id
66
+ # @return [Twilio::REST::Assistants::V1::SessionContext] if id was passed.
67
+ # @return [Twilio::REST::Assistants::V1::SessionList]
68
+ def sessions(id=:unset)
69
+ if id.nil?
70
+ raise ArgumentError, 'id cannot be nil'
71
+ end
72
+ if id == :unset
73
+ @sessions ||= SessionList.new self
74
+ else
75
+ SessionContext.new(self, id)
76
+ end
77
+ end
78
+ ##
79
+ # @param [String] id
80
+ # @return [Twilio::REST::Assistants::V1::ToolContext] if id was passed.
81
+ # @return [Twilio::REST::Assistants::V1::ToolList]
82
+ def tools(id=:unset)
83
+ if id.nil?
84
+ raise ArgumentError, 'id cannot be nil'
85
+ end
86
+ if id == :unset
87
+ @tools ||= ToolList.new self
88
+ else
89
+ ToolContext.new(self, id)
90
+ end
91
+ end
92
+ ##
93
+ # Provide a user friendly representation
94
+ def to_s
95
+ '<Twilio::REST::Assistants::V1>';
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end