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,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