twilio-ruby 7.3.0 → 7.3.2

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 (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,668 @@
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 AssistantList < ListResource
21
+
22
+ class AssistantsV1ServiceCreateAssistantRequest
23
+ # @param [customer_ai]: [AssistantList.AssistantsV1ServiceCustomerAi]
24
+ # @param [name]: [String] The name of the assistant.
25
+ # @param [owner]: [String] The owner/company of the assistant.
26
+ # @param [personality_prompt]: [String] The personality prompt to be used for assistant.
27
+ # @param [segment_credential]: [AssistantList.AssistantsV1ServiceSegmentCredential]
28
+ attr_accessor :customer_ai, :name, :owner, :personality_prompt, :segment_credential
29
+ def initialize(payload)
30
+ @customer_ai = payload["customer_ai"]
31
+ @name = payload["name"]
32
+ @owner = payload["owner"]
33
+ @personality_prompt = payload["personality_prompt"]
34
+ @segment_credential = payload["segment_credential"]
35
+ end
36
+ def to_json(options = {})
37
+ {
38
+ customer_ai: @customer_ai,
39
+ name: @name,
40
+ owner: @owner,
41
+ personality_prompt: @personality_prompt,
42
+ segment_credential: @segment_credential,
43
+ }.to_json(options)
44
+ end
45
+ end
46
+
47
+ class AssistantsV1ServiceCustomerAi
48
+ # @param [perception_engine_enabled]: [Boolean] True if the perception engine is enabled.
49
+ # @param [personalization_engine_enabled]: [Boolean] True if the personalization engine is enabled.
50
+ attr_accessor :perception_engine_enabled, :personalization_engine_enabled
51
+ def initialize(payload)
52
+ @perception_engine_enabled = payload["perception_engine_enabled"]
53
+ @personalization_engine_enabled = payload["personalization_engine_enabled"]
54
+ end
55
+ def to_json(options = {})
56
+ {
57
+ perception_engine_enabled: @perception_engine_enabled,
58
+ personalization_engine_enabled: @personalization_engine_enabled,
59
+ }.to_json(options)
60
+ end
61
+ end
62
+
63
+ class AssistantsV1ServiceSegmentCredential
64
+ # @param [profile_api_key]: [String] The profile API key.
65
+ # @param [space_id]: [String] The space ID.
66
+ # @param [write_key]: [String] The write key.
67
+ attr_accessor :profile_api_key, :space_id, :write_key
68
+ def initialize(payload)
69
+ @profile_api_key = payload["profile_api_key"]
70
+ @space_id = payload["space_id"]
71
+ @write_key = payload["write_key"]
72
+ end
73
+ def to_json(options = {})
74
+ {
75
+ profile_api_key: @profile_api_key,
76
+ space_id: @space_id,
77
+ write_key: @write_key,
78
+ }.to_json(options)
79
+ end
80
+ end
81
+
82
+ class AssistantsV1ServiceUpdateAssistantRequest
83
+ # @param [customer_ai]: [AssistantList.AssistantsV1ServiceCustomerAi]
84
+ # @param [name]: [String] The name of the assistant.
85
+ # @param [owner]: [String] The owner/company of the assistant.
86
+ # @param [personality_prompt]: [String] The personality prompt to be used for assistant.
87
+ # @param [segment_credential]: [AssistantList.AssistantsV1ServiceSegmentCredential]
88
+ attr_accessor :customer_ai, :name, :owner, :personality_prompt, :segment_credential
89
+ def initialize(payload)
90
+ @customer_ai = payload["customer_ai"]
91
+ @name = payload["name"]
92
+ @owner = payload["owner"]
93
+ @personality_prompt = payload["personality_prompt"]
94
+ @segment_credential = payload["segment_credential"]
95
+ end
96
+ def to_json(options = {})
97
+ {
98
+ customer_ai: @customer_ai,
99
+ name: @name,
100
+ owner: @owner,
101
+ personality_prompt: @personality_prompt,
102
+ segment_credential: @segment_credential,
103
+ }.to_json(options)
104
+ end
105
+ end
106
+
107
+ class AssistantsV1ServiceCreateAssistantRequest
108
+ # @param [customer_ai]: [AssistantList.AssistantsV1ServiceCustomerAi]
109
+ # @param [name]: [String] The name of the assistant.
110
+ # @param [owner]: [String] The owner/company of the assistant.
111
+ # @param [personality_prompt]: [String] The personality prompt to be used for assistant.
112
+ # @param [segment_credential]: [AssistantList.AssistantsV1ServiceSegmentCredential]
113
+ attr_accessor :customer_ai, :name, :owner, :personality_prompt, :segment_credential
114
+ def initialize(payload)
115
+ @customer_ai = payload["customer_ai"]
116
+ @name = payload["name"]
117
+ @owner = payload["owner"]
118
+ @personality_prompt = payload["personality_prompt"]
119
+ @segment_credential = payload["segment_credential"]
120
+ end
121
+ def to_json(options = {})
122
+ {
123
+ customer_ai: @customer_ai,
124
+ name: @name,
125
+ owner: @owner,
126
+ personality_prompt: @personality_prompt,
127
+ segment_credential: @segment_credential,
128
+ }.to_json(options)
129
+ end
130
+ end
131
+
132
+ class AssistantsV1ServiceCustomerAi
133
+ # @param [perception_engine_enabled]: [Boolean] True if the perception engine is enabled.
134
+ # @param [personalization_engine_enabled]: [Boolean] True if the personalization engine is enabled.
135
+ attr_accessor :perception_engine_enabled, :personalization_engine_enabled
136
+ def initialize(payload)
137
+ @perception_engine_enabled = payload["perception_engine_enabled"]
138
+ @personalization_engine_enabled = payload["personalization_engine_enabled"]
139
+ end
140
+ def to_json(options = {})
141
+ {
142
+ perception_engine_enabled: @perception_engine_enabled,
143
+ personalization_engine_enabled: @personalization_engine_enabled,
144
+ }.to_json(options)
145
+ end
146
+ end
147
+
148
+ class AssistantsV1ServiceSegmentCredential
149
+ # @param [profile_api_key]: [String] The profile API key.
150
+ # @param [space_id]: [String] The space ID.
151
+ # @param [write_key]: [String] The write key.
152
+ attr_accessor :profile_api_key, :space_id, :write_key
153
+ def initialize(payload)
154
+ @profile_api_key = payload["profile_api_key"]
155
+ @space_id = payload["space_id"]
156
+ @write_key = payload["write_key"]
157
+ end
158
+ def to_json(options = {})
159
+ {
160
+ profile_api_key: @profile_api_key,
161
+ space_id: @space_id,
162
+ write_key: @write_key,
163
+ }.to_json(options)
164
+ end
165
+ end
166
+
167
+ class AssistantsV1ServiceUpdateAssistantRequest
168
+ # @param [customer_ai]: [AssistantList.AssistantsV1ServiceCustomerAi]
169
+ # @param [name]: [String] The name of the assistant.
170
+ # @param [owner]: [String] The owner/company of the assistant.
171
+ # @param [personality_prompt]: [String] The personality prompt to be used for assistant.
172
+ # @param [segment_credential]: [AssistantList.AssistantsV1ServiceSegmentCredential]
173
+ attr_accessor :customer_ai, :name, :owner, :personality_prompt, :segment_credential
174
+ def initialize(payload)
175
+ @customer_ai = payload["customer_ai"]
176
+ @name = payload["name"]
177
+ @owner = payload["owner"]
178
+ @personality_prompt = payload["personality_prompt"]
179
+ @segment_credential = payload["segment_credential"]
180
+ end
181
+ def to_json(options = {})
182
+ {
183
+ customer_ai: @customer_ai,
184
+ name: @name,
185
+ owner: @owner,
186
+ personality_prompt: @personality_prompt,
187
+ segment_credential: @segment_credential,
188
+ }.to_json(options)
189
+ end
190
+ end
191
+
192
+ ##
193
+ # Initialize the AssistantList
194
+ # @param [Version] version Version that contains the resource
195
+ # @return [AssistantList] AssistantList
196
+ def initialize(version)
197
+ super(version)
198
+ # Path Solution
199
+ @solution = { }
200
+ @uri = "/Assistants"
201
+
202
+ end
203
+ ##
204
+ # Create the AssistantInstance
205
+ # @param [AssistantsV1ServiceCreateAssistantRequest] assistants_v1_service_create_assistant_request
206
+ # @return [AssistantInstance] Created AssistantInstance
207
+ def create(assistants_v1_service_create_assistant_request: nil
208
+ )
209
+
210
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
211
+ headers['Content-Type'] = 'application/json'
212
+ payload = @version.create('POST', @uri, headers: headers, data: assistants_v1_service_create_assistant_request.to_json)
213
+ AssistantInstance.new(
214
+ @version,
215
+ payload,
216
+ )
217
+ end
218
+
219
+
220
+ ##
221
+ # Lists AssistantInstance records from the API as a list.
222
+ # Unlike stream(), this operation is eager and will load `limit` records into
223
+ # memory before returning.
224
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
225
+ # guarantees to never return more than limit. Default is no limit
226
+ # @param [Integer] page_size Number of records to fetch per request, when
227
+ # not set will use the default value of 50 records. If no page_size is defined
228
+ # but a limit is defined, stream() will attempt to read the limit with the most
229
+ # efficient page size, i.e. min(limit, 1000)
230
+ # @return [Array] Array of up to limit results
231
+ def list(limit: nil, page_size: nil)
232
+ self.stream(
233
+ limit: limit,
234
+ page_size: page_size
235
+ ).entries
236
+ end
237
+
238
+ ##
239
+ # Streams Instance records from the API as an Enumerable.
240
+ # This operation lazily loads records as efficiently as possible until the limit
241
+ # is reached.
242
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
243
+ # guarantees to never return more than limit. Default is no limit
244
+ # @param [Integer] page_size Number of records to fetch per request, when
245
+ # not set will use the default value of 50 records. If no page_size is defined
246
+ # but a limit is defined, stream() will attempt to read the limit with the most
247
+ # efficient page size, i.e. min(limit, 1000)
248
+ # @return [Enumerable] Enumerable that will yield up to limit results
249
+ def stream(limit: nil, page_size: nil)
250
+ limits = @version.read_limits(limit, page_size)
251
+
252
+ page = self.page(
253
+ page_size: limits[:page_size], )
254
+
255
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
256
+ end
257
+
258
+ ##
259
+ # When passed a block, yields AssistantInstance records from the API.
260
+ # This operation lazily loads records as efficiently as possible until the limit
261
+ # is reached.
262
+ def each
263
+ limits = @version.read_limits
264
+
265
+ page = self.page(page_size: limits[:page_size], )
266
+
267
+ @version.stream(page,
268
+ limit: limits[:limit],
269
+ page_limit: limits[:page_limit]).each {|x| yield x}
270
+ end
271
+
272
+ ##
273
+ # Retrieve a single page of AssistantInstance records from the API.
274
+ # Request is executed immediately.
275
+ # @param [String] page_token PageToken provided by the API
276
+ # @param [Integer] page_number Page Number, this value is simply for client state
277
+ # @param [Integer] page_size Number of records to return, defaults to 50
278
+ # @return [Page] Page of AssistantInstance
279
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
280
+ params = Twilio::Values.of({
281
+ 'PageToken' => page_token,
282
+ 'Page' => page_number,
283
+ 'PageSize' => page_size,
284
+ })
285
+
286
+ response = @version.page('GET', @uri, params: params)
287
+
288
+ AssistantPage.new(@version, response, @solution)
289
+ end
290
+
291
+ ##
292
+ # Retrieve a single page of AssistantInstance records from the API.
293
+ # Request is executed immediately.
294
+ # @param [String] target_url API-generated URL for the requested results page
295
+ # @return [Page] Page of AssistantInstance
296
+ def get_page(target_url)
297
+ response = @version.domain.request(
298
+ 'GET',
299
+ target_url
300
+ )
301
+ AssistantPage.new(@version, response, @solution)
302
+ end
303
+
304
+
305
+
306
+ # Provide a user friendly representation
307
+ def to_s
308
+ '#<Twilio.Assistants.V1.AssistantList>'
309
+ end
310
+ end
311
+
312
+
313
+ class AssistantContext < InstanceContext
314
+ ##
315
+ # Initialize the AssistantContext
316
+ # @param [Version] version Version that contains the resource
317
+ # @param [String] id
318
+ # @return [AssistantContext] AssistantContext
319
+ def initialize(version, id)
320
+ super(version)
321
+
322
+ # Path Solution
323
+ @solution = { id: id, }
324
+ @uri = "/Assistants/#{@solution[:id]}"
325
+
326
+ # Dependents
327
+ @feedbacks = nil
328
+ @messages = nil
329
+ @assistants_tools = nil
330
+ @assistants_knowledge = nil
331
+ end
332
+ ##
333
+ # Delete the AssistantInstance
334
+ # @return [Boolean] True if delete succeeds, false otherwise
335
+ def delete
336
+
337
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
338
+
339
+ @version.delete('DELETE', @uri, headers: headers)
340
+ end
341
+
342
+ ##
343
+ # Fetch the AssistantInstance
344
+ # @return [AssistantInstance] Fetched AssistantInstance
345
+ def fetch
346
+
347
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
348
+
349
+ payload = @version.fetch('GET', @uri, headers: headers)
350
+ AssistantInstance.new(
351
+ @version,
352
+ payload,
353
+ id: @solution[:id],
354
+ )
355
+ end
356
+
357
+ ##
358
+ # Update the AssistantInstance
359
+ # @param [AssistantsV1ServiceUpdateAssistantRequest] assistants_v1_service_update_assistant_request
360
+ # @return [AssistantInstance] Updated AssistantInstance
361
+ def update(assistants_v1_service_update_assistant_request: :unset
362
+ )
363
+
364
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
365
+ headers['Content-Type'] = 'application/json'
366
+ payload = @version.update('PUT', @uri, headers: headers, data: assistants_v1_service_update_assistant_request.to_json)
367
+ AssistantInstance.new(
368
+ @version,
369
+ payload,
370
+ id: @solution[:id],
371
+ )
372
+ end
373
+
374
+ ##
375
+ # Access the feedbacks
376
+ # @return [FeedbackList]
377
+ # @return [FeedbackContext]
378
+ def feedbacks
379
+ unless @feedbacks
380
+ @feedbacks = FeedbackList.new(
381
+ @version, id: @solution[:id], )
382
+ end
383
+ @feedbacks
384
+ end
385
+ ##
386
+ # Access the messages
387
+ # @return [MessageList]
388
+ # @return [MessageContext]
389
+ def messages
390
+ unless @messages
391
+ @messages = MessageList.new(
392
+ @version, id: @solution[:id], )
393
+ end
394
+ @messages
395
+ end
396
+ ##
397
+ # Access the assistants_tools
398
+ # @return [AssistantsToolList]
399
+ # @return [AssistantsToolContext] if sid was passed.
400
+ def assistants_tools(id=:unset)
401
+
402
+ raise ArgumentError, 'id cannot be nil' if id.nil?
403
+
404
+ if id != :unset
405
+ return AssistantsToolContext.new(@version, @solution[:id],id )
406
+ end
407
+
408
+ unless @assistants_tools
409
+ @assistants_tools = AssistantsToolList.new(
410
+ @version, )
411
+ end
412
+
413
+ @assistants_tools
414
+ end
415
+ ##
416
+ # Access the assistants_knowledge
417
+ # @return [AssistantsKnowledgeList]
418
+ # @return [AssistantsKnowledgeContext] if sid was passed.
419
+ def assistants_knowledge(id=:unset)
420
+
421
+ raise ArgumentError, 'id cannot be nil' if id.nil?
422
+
423
+ if id != :unset
424
+ return AssistantsKnowledgeContext.new(@version, @solution[:id],id )
425
+ end
426
+
427
+ unless @assistants_knowledge
428
+ @assistants_knowledge = AssistantsKnowledgeList.new(
429
+ @version, )
430
+ end
431
+
432
+ @assistants_knowledge
433
+ end
434
+
435
+ ##
436
+ # Provide a user friendly representation
437
+ def to_s
438
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
439
+ "#<Twilio.Assistants.V1.AssistantContext #{context}>"
440
+ end
441
+
442
+ ##
443
+ # Provide a detailed, user friendly representation
444
+ def inspect
445
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
446
+ "#<Twilio.Assistants.V1.AssistantContext #{context}>"
447
+ end
448
+ end
449
+
450
+ class AssistantPage < Page
451
+ ##
452
+ # Initialize the AssistantPage
453
+ # @param [Version] version Version that contains the resource
454
+ # @param [Response] response Response from the API
455
+ # @param [Hash] solution Path solution for the resource
456
+ # @return [AssistantPage] AssistantPage
457
+ def initialize(version, response, solution)
458
+ super(version, response)
459
+
460
+ # Path Solution
461
+ @solution = solution
462
+ end
463
+
464
+ ##
465
+ # Build an instance of AssistantInstance
466
+ # @param [Hash] payload Payload response from the API
467
+ # @return [AssistantInstance] AssistantInstance
468
+ def get_instance(payload)
469
+ AssistantInstance.new(@version, payload)
470
+ end
471
+
472
+ ##
473
+ # Provide a user friendly representation
474
+ def to_s
475
+ '<Twilio.Assistants.V1.AssistantPage>'
476
+ end
477
+ end
478
+ class AssistantInstance < InstanceResource
479
+ ##
480
+ # Initialize the AssistantInstance
481
+ # @param [Version] version Version that contains the resource
482
+ # @param [Hash] payload payload that contains response from Twilio
483
+ # @param [String] account_sid The SID of the
484
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Assistant
485
+ # resource.
486
+ # @param [String] sid The SID of the Call resource to fetch.
487
+ # @return [AssistantInstance] AssistantInstance
488
+ def initialize(version, payload , id: nil)
489
+ super(version)
490
+
491
+ # Marshaled Properties
492
+ @properties = {
493
+ 'account_sid' => payload['account_sid'],
494
+ 'customer_ai' => payload['customer_ai'],
495
+ 'id' => payload['id'],
496
+ 'model' => payload['model'],
497
+ 'name' => payload['name'],
498
+ 'owner' => payload['owner'],
499
+ 'url' => payload['url'],
500
+ 'personality_prompt' => payload['personality_prompt'],
501
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
502
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
503
+ 'knowledge' => payload['knowledge'],
504
+ 'tools' => payload['tools'],
505
+ }
506
+
507
+ # Context
508
+ @instance_context = nil
509
+ @params = { 'id' => id || @properties['id'] , }
510
+ end
511
+
512
+ ##
513
+ # Generate an instance context for the instance, the context is capable of
514
+ # performing various actions. All instance actions are proxied to the context
515
+ # @return [AssistantContext] CallContext for this CallInstance
516
+ def context
517
+ unless @instance_context
518
+ @instance_context = AssistantContext.new(@version , @params['id'])
519
+ end
520
+ @instance_context
521
+ end
522
+
523
+ ##
524
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Assistant resource.
525
+ def account_sid
526
+ @properties['account_sid']
527
+ end
528
+
529
+ ##
530
+ # @return [Hash] The Personalization and Perception Engine settings.
531
+ def customer_ai
532
+ @properties['customer_ai']
533
+ end
534
+
535
+ ##
536
+ # @return [String] The Assistant ID.
537
+ def id
538
+ @properties['id']
539
+ end
540
+
541
+ ##
542
+ # @return [String] The default model used by the assistant.
543
+ def model
544
+ @properties['model']
545
+ end
546
+
547
+ ##
548
+ # @return [String] The name of the assistant.
549
+ def name
550
+ @properties['name']
551
+ end
552
+
553
+ ##
554
+ # @return [String] The owner/company of the assistant.
555
+ def owner
556
+ @properties['owner']
557
+ end
558
+
559
+ ##
560
+ # @return [String] The url of the assistant resource.
561
+ def url
562
+ @properties['url']
563
+ end
564
+
565
+ ##
566
+ # @return [String] The personality prompt to be used for assistant.
567
+ def personality_prompt
568
+ @properties['personality_prompt']
569
+ end
570
+
571
+ ##
572
+ # @return [Time] The date and time in GMT when the Assistant was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
573
+ def date_created
574
+ @properties['date_created']
575
+ end
576
+
577
+ ##
578
+ # @return [Time] The date and time in GMT when the Assistant was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
579
+ def date_updated
580
+ @properties['date_updated']
581
+ end
582
+
583
+ ##
584
+ # @return [Array<AssistantsV1ServiceKnowledge>] The list of knowledge sources associated with the assistant.
585
+ def knowledge
586
+ @properties['knowledge']
587
+ end
588
+
589
+ ##
590
+ # @return [Array<AssistantsV1ServiceTool>] The list of tools associated with the assistant.
591
+ def tools
592
+ @properties['tools']
593
+ end
594
+
595
+ ##
596
+ # Delete the AssistantInstance
597
+ # @return [Boolean] True if delete succeeds, false otherwise
598
+ def delete
599
+
600
+ context.delete
601
+ end
602
+
603
+ ##
604
+ # Fetch the AssistantInstance
605
+ # @return [AssistantInstance] Fetched AssistantInstance
606
+ def fetch
607
+
608
+ context.fetch
609
+ end
610
+
611
+ ##
612
+ # Update the AssistantInstance
613
+ # @param [AssistantsV1ServiceUpdateAssistantRequest] assistants_v1_service_update_assistant_request
614
+ # @return [AssistantInstance] Updated AssistantInstance
615
+ def update(assistants_v1_service_update_assistant_request: :unset
616
+ )
617
+
618
+ context.update(
619
+ )
620
+ end
621
+
622
+ ##
623
+ # Access the feedbacks
624
+ # @return [feedbacks] feedbacks
625
+ def feedbacks
626
+ context.feedbacks
627
+ end
628
+
629
+ ##
630
+ # Access the messages
631
+ # @return [messages] messages
632
+ def messages
633
+ context.messages
634
+ end
635
+
636
+ ##
637
+ # Access the assistants_tools
638
+ # @return [assistants_tools] assistants_tools
639
+ def assistants_tools
640
+ context.assistants_tools
641
+ end
642
+
643
+ ##
644
+ # Access the assistants_knowledge
645
+ # @return [assistants_knowledge] assistants_knowledge
646
+ def assistants_knowledge
647
+ context.assistants_knowledge
648
+ end
649
+
650
+ ##
651
+ # Provide a user friendly representation
652
+ def to_s
653
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
654
+ "<Twilio.Assistants.V1.AssistantInstance #{values}>"
655
+ end
656
+
657
+ ##
658
+ # Provide a detailed, user friendly representation
659
+ def inspect
660
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
661
+ "<Twilio.Assistants.V1.AssistantInstance #{values}>"
662
+ end
663
+ end
664
+
665
+ end
666
+ end
667
+ end
668
+ end