memori-client 0.0.9 → 0.1.1

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/memori_client/backend/resource.rb +37 -30
  3. data/lib/memori_client/backend/resources.rb +4 -0
  4. data/lib/memori_client/backend/v1/asset.rb +94 -0
  5. data/lib/memori_client/backend/v2/action_log.rb +11 -7
  6. data/lib/memori_client/backend/v2/asset.rb +33 -13
  7. data/lib/memori_client/backend/v2/badge.rb +60 -0
  8. data/lib/memori_client/backend/v2/consumption_log.rb +16 -10
  9. data/lib/memori_client/backend/v2/import_export.rb +163 -0
  10. data/lib/memori_client/backend/v2/integration.rb +65 -21
  11. data/lib/memori_client/backend/v2/invitation.rb +92 -24
  12. data/lib/memori_client/backend/v2/memori.rb +364 -118
  13. data/lib/memori_client/backend/v2/memori_list.rb +118 -0
  14. data/lib/memori_client/backend/v2/notification.rb +11 -7
  15. data/lib/memori_client/backend/v2/tenant.rb +194 -4
  16. data/lib/memori_client/backend/v2/user.rb +620 -106
  17. data/lib/memori_client/engine/resource.rb +36 -29
  18. data/lib/memori_client/engine/resources.rb +8 -0
  19. data/lib/memori_client/engine/v2/chat_log.rb +21 -13
  20. data/lib/memori_client/engine/v2/completion_log.rb +17 -0
  21. data/lib/memori_client/engine/v2/context_var.rb +16 -10
  22. data/lib/memori_client/engine/v2/correlation_pair.rb +50 -10
  23. data/lib/memori_client/engine/v2/custom_dictionary.rb +113 -0
  24. data/lib/memori_client/engine/v2/dialog.rb +99 -34
  25. data/lib/memori_client/engine/v2/event_log.rb +21 -13
  26. data/lib/memori_client/engine/v2/expert_reference.rb +129 -0
  27. data/lib/memori_client/engine/v2/intent.rb +123 -43
  28. data/lib/memori_client/engine/v2/localization_key.rb +108 -0
  29. data/lib/memori_client/engine/v2/medium.rb +129 -0
  30. data/lib/memori_client/engine/v2/memori.rb +215 -16
  31. data/lib/memori_client/engine/v2/memory.rb +124 -25
  32. data/lib/memori_client/engine/v2/nlp.rb +162 -22
  33. data/lib/memori_client/engine/v2/person.rb +125 -0
  34. data/lib/memori_client/engine/v2/prompted_question.rb +121 -0
  35. data/lib/memori_client/engine/v2/search.rb +67 -10
  36. data/lib/memori_client/engine/v2/session.rb +31 -11
  37. data/lib/memori_client/engine/v2/stat.rb +26 -16
  38. data/lib/memori_client/engine/v2/unanswered_question.rb +56 -10
  39. data/lib/memori_client/engine/v2/user.rb +52 -0
  40. data/lib/memori_client/engine/v2/web_hook.rb +62 -25
  41. data/lib/memori_client/http_client.rb +1 -1
  42. data/lib/memori_client/resource.rb +56 -0
  43. data/lib/memori_client.rb +4 -0
  44. metadata +15 -2
@@ -1,41 +1,51 @@
1
- # Generated on 2023-07-11 06:40:04 +0000
1
+ # Generated on 2024-01-18 17:37:07 +0000
2
2
  class MemoriClient::Engine::V2::Stat < MemoriClient::Engine::Resource
3
3
  # GET /memori/v2/Statistics/{strSessionID}
4
4
  # Computes usage statistics for the Memori of the current session.
5
5
  # Params list:
6
6
  # @param [string] strSessionID The session ID. required
7
- # statistics(strSessionID:)
8
- def self.statistics(**args)
9
- exec_http_request('get', '/memori/v2/Statistics/{strSessionID}', args)
7
+ # get_statistics(strSessionID:)
8
+ def self.get_statistics(strSessionID:)
9
+ args = build_arguments(binding)
10
+
11
+ exec_http_request('get', '/memori/v2/Statistics/{strSessionID}', **args)
10
12
  end
11
13
 
12
- # GET /memori/v2/ContentQualityIndexes/{strMemoriID}
14
+ # GET /memori/v2/ContentQualityIndexes/{strMemoriID}/{strLatestUpdate}
13
15
  # Computes content quality indexes for a Memori.
14
16
  # Params list:
15
17
  # @param [string] strMemoriID The Memori object ID. required
16
- # content_quality_indexes(strMemoriID:)
17
- def self.content_quality_indexes(**args)
18
- exec_http_request('get', '/memori/v2/ContentQualityIndexes/{strMemoriID}', args)
18
+ # @param [string] strLatestUpdate The optional latest update timestamp, in UTC time, in the format yyyyMMddHHmmssfff. optional
19
+ # get_content_quality_indexes(strMemoriID:, strLatestUpdate: nil)
20
+ def self.get_content_quality_indexes(strMemoriID:, strLatestUpdate: nil)
21
+ args = build_arguments(binding)
22
+
23
+ exec_http_request('get', '/memori/v2/ContentQualityIndexes/{strMemoriID}/{strLatestUpdate}', **args)
19
24
  end
20
25
 
21
- # GET /memori/v2/TextQualityIndexes/{strSessionID}
26
+ # GET /memori/v2/TextQualityIndexes/{strSessionID}/{strLatestUpdate}
22
27
  # Computes text quality indexes for a Memori.
23
28
  # Params list:
24
29
  # @param [string] strSessionID The session ID. required
25
- # text_quality_indexes(strSessionID:)
26
- def self.text_quality_indexes(**args)
27
- exec_http_request('get', '/memori/v2/TextQualityIndexes/{strSessionID}', args)
30
+ # @param [string] strLatestUpdate The optional latest update timestamp, in UTC time, in the format yyyyMMddHHmmssfff. optional
31
+ # get_text_quality_indexes(strSessionID:, strLatestUpdate: nil)
32
+ def self.get_text_quality_indexes(strSessionID:, strLatestUpdate: nil)
33
+ args = build_arguments(binding)
34
+
35
+ exec_http_request('get', '/memori/v2/TextQualityIndexes/{strSessionID}/{strLatestUpdate}', **args)
28
36
  end
29
37
 
30
38
  # GET /memori/v2/SessionStatistics/{strMemoriID}/{strDateFrom}/{strDateTo}
31
- # Computes session statistics for the specified Memori in a specific date internval.
39
+ # Computes session statistics for the specified Memori in a specific date interval.
32
40
  # Params list:
33
41
  # @param [string] strMemoriID The Memori object ID. required
34
42
  # @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMddHHmmssfff. optional
35
43
  # @param [string] strDateTo The optional end of the date interval, in UTC time, in the format yyyyMMddHHmmssfff. optional
36
- # session_statistics(strMemoriID:, strDateFrom: nil, strDateTo: nil)
37
- def self.session_statistics(**args)
38
- exec_http_request('get', '/memori/v2/SessionStatistics/{strMemoriID}/{strDateFrom}/{strDateTo}', args)
44
+ # get_session_statistics(strMemoriID:, strDateFrom: nil, strDateTo: nil)
45
+ def self.get_session_statistics(strMemoriID:, strDateFrom: nil, strDateTo: nil)
46
+ args = build_arguments(binding)
47
+
48
+ exec_http_request('get', '/memori/v2/SessionStatistics/{strMemoriID}/{strDateFrom}/{strDateTo}', **args)
39
49
  end
40
50
 
41
51
 
@@ -1,12 +1,14 @@
1
- # Generated on 2023-07-11 06:40:04 +0000
1
+ # Generated on 2024-01-18 17:37:07 +0000
2
2
  class MemoriClient::Engine::V2::UnansweredQuestion < MemoriClient::Engine::Resource
3
3
  # GET /memori/v2/UnansweredQuestions/{strSessionID}
4
4
  # Lists all Unanswered Question objects.
5
5
  # Params list:
6
6
  # @param [string] strSessionID The session ID. required
7
- # unanswered_questions(strSessionID:)
8
- def self.unanswered_questions(**args)
9
- exec_http_request('get', '/memori/v2/UnansweredQuestions/{strSessionID}', args)
7
+ # list_unanswered_questions(strSessionID:)
8
+ def self.list_unanswered_questions(strSessionID:)
9
+ args = build_arguments(binding)
10
+
11
+ exec_http_request('get', '/memori/v2/UnansweredQuestions/{strSessionID}', **args)
10
12
  end
11
13
 
12
14
  # GET /memori/v2/UnansweredQuestions/{strSessionID}/{from}/{howMany}
@@ -15,9 +17,51 @@ class MemoriClient::Engine::V2::UnansweredQuestion < MemoriClient::Engine::Resou
15
17
  # @param [string] strSessionID The session ID. required
16
18
  # @param [integer] from The 0-based index of the first Unanswered Question object to list. required
17
19
  # @param [integer] howMany The number of the Unanswered Question objects to list. required
18
- # paginated_unanswered_questions(strSessionID:, from:, howMany:)
19
- def self.paginated_unanswered_questions(**args)
20
- exec_http_request('get', '/memori/v2/UnansweredQuestions/{strSessionID}/{from}/{howMany}', args)
20
+ # list_unanswered_questions_paginated(strSessionID:, from:, howMany:)
21
+ def self.list_unanswered_questions_paginated(strSessionID:, from:, howMany:)
22
+ args = build_arguments(binding)
23
+
24
+ exec_http_request('get', '/memori/v2/UnansweredQuestions/{strSessionID}/{from}/{howMany}', **args)
25
+ end
26
+
27
+ # POST /memori/v2/UnansweredQuestion/{strSessionID}
28
+ # Adds a new Unanswered Question object.
29
+ # Params list:
30
+ # @param [string] strSessionID The session ID. required
31
+ # @param [object] payload request payload. optional
32
+ # @param [string] payload.unansweredQuestionID . optional
33
+ # @param [string] payload.text . optional
34
+ # @param [object] payload.contextVars . optional
35
+ # @param [integer] payload.occurrences . optional
36
+ # @param [string] payload.receiverID . optional
37
+ # @param [string] payload.receiverTag . optional
38
+ # @param [string] payload.receiverName . optional
39
+ # @param [array] payload.suggestions . optional
40
+ # @param [string] payload.creationTimestamp . optional
41
+ # @param [string] payload.creationSessionID . optional
42
+ # @param [string] payload.lastChangeTimestamp . optional
43
+ # @param [string] payload.lastChangeSessionID . optional
44
+ # add_unanswered_question(strSessionID:, payload: {})
45
+ def self.add_unanswered_question(strSessionID:, payload: {})
46
+ args = build_arguments(binding)
47
+ payload_keys = [
48
+ 'contextVars',
49
+ 'creationSessionID',
50
+ 'creationTimestamp',
51
+ 'lastChangeSessionID',
52
+ 'lastChangeTimestamp',
53
+ 'occurrences',
54
+ 'receiverID',
55
+ 'receiverName',
56
+ 'receiverTag',
57
+ 'suggestions',
58
+ 'text',
59
+ 'unansweredQuestionID',
60
+ ]
61
+ payload_required_keys = %w[]
62
+ validate_payload!(args[:payload], keys: payload_keys, required: payload_required_keys)
63
+
64
+ exec_http_request('post', '/memori/v2/UnansweredQuestion/{strSessionID}', **args)
21
65
  end
22
66
 
23
67
  # DELETE /memori/v2/UnansweredQuestion/{strSessionID}/{strUnansweredQuestionID}
@@ -25,9 +69,11 @@ class MemoriClient::Engine::V2::UnansweredQuestion < MemoriClient::Engine::Resou
25
69
  # Params list:
26
70
  # @param [string] strSessionID The session ID. required
27
71
  # @param [string] strUnansweredQuestionID The Unanswered Question object ID. required
28
- # unanswered_question(strSessionID:, strUnansweredQuestionID:)
29
- def self.unanswered_question(**args)
30
- exec_http_request('delete', '/memori/v2/UnansweredQuestion/{strSessionID}/{strUnansweredQuestionID}', args)
72
+ # remove_unanswered_question(strSessionID:, strUnansweredQuestionID:)
73
+ def self.remove_unanswered_question(strSessionID:, strUnansweredQuestionID:)
74
+ args = build_arguments(binding)
75
+
76
+ exec_http_request('delete', '/memori/v2/UnansweredQuestion/{strSessionID}/{strUnansweredQuestionID}', **args)
31
77
  end
32
78
 
33
79
 
@@ -0,0 +1,52 @@
1
+ # Generated on 2024-01-18 17:37:07 +0000
2
+ class MemoriClient::Engine::V2::User < MemoriClient::Engine::Resource
3
+ # GET /memori/v2/KnownFacts/{strSessionID}
4
+ # Lists all Known Facts objects associated with the current User.
5
+ # Params list:
6
+ # @param [string] strSessionID The session ID. required
7
+ # list_known_facts(strSessionID:)
8
+ def self.list_known_facts(strSessionID:)
9
+ args = build_arguments(binding)
10
+
11
+ exec_http_request('get', '/memori/v2/KnownFacts/{strSessionID}', **args)
12
+ end
13
+
14
+ # GET /memori/v2/KnownFacts/{strSessionID}/{from}/{howMany}
15
+ # Lists Known Facts objects associated with the current User, with pagination.
16
+ # Params list:
17
+ # @param [string] strSessionID The session ID. required
18
+ # @param [integer] from The 0-based index of the first Known Fact to list. required
19
+ # @param [integer] howMany The number of the Known Fact to list. required
20
+ # list_known_facts_paginated(strSessionID:, from:, howMany:)
21
+ def self.list_known_facts_paginated(strSessionID:, from:, howMany:)
22
+ args = build_arguments(binding)
23
+
24
+ exec_http_request('get', '/memori/v2/KnownFacts/{strSessionID}/{from}/{howMany}', **args)
25
+ end
26
+
27
+ # GET /memori/v2/KnownFact/{strSessionID}/{strKnownFactID}
28
+ # Gets the details of a Known Fact object.
29
+ # Params list:
30
+ # @param [string] strSessionID The session ID. required
31
+ # @param [string] strKnownFactID The Known Fact object ID. required
32
+ # get_known_fact(strSessionID:, strKnownFactID:)
33
+ def self.get_known_fact(strSessionID:, strKnownFactID:)
34
+ args = build_arguments(binding)
35
+
36
+ exec_http_request('get', '/memori/v2/KnownFact/{strSessionID}/{strKnownFactID}', **args)
37
+ end
38
+
39
+ # DELETE /memori/v2/KnownFact/{strSessionID}/{strKnownFactID}
40
+ # Deletes an existing Known Fact object.
41
+ # Params list:
42
+ # @param [string] strSessionID The session ID. required
43
+ # @param [string] strKnownFactID The Known Fact object ID. required
44
+ # delete_known_fact(strSessionID:, strKnownFactID:)
45
+ def self.delete_known_fact(strSessionID:, strKnownFactID:)
46
+ args = build_arguments(binding)
47
+
48
+ exec_http_request('delete', '/memori/v2/KnownFact/{strSessionID}/{strKnownFactID}', **args)
49
+ end
50
+
51
+
52
+ end
@@ -1,44 +1,81 @@
1
- # Generated on 2023-07-11 06:40:04 +0000
1
+ # Generated on 2024-01-18 17:37:07 +0000
2
2
  class MemoriClient::Engine::V2::WebHook < MemoriClient::Engine::Resource
3
3
  # POST /memori/v2/TestSlot
4
4
  # Returns test slot values.
5
5
  # Params list:
6
6
  # @param [object] payload request payload. optional
7
- # @param [string] payload.slotName . optional
8
- # @param [integer] payload.requestID . optional
9
- # @param [string] payload.requestDateTime . optional
10
- # @param [number] payload.requestValidityMinutes . optional
11
- # @param [string] payload.memoriID . optional
12
- # @param [string] payload.culture . optional
13
- # test_slot()
14
- def self.test_slot(**args)
15
- exec_http_request('post', '/memori/v2/TestSlot', args)
7
+ # @param [string] payload.slotName . required
8
+ # @param [integer] payload.requestID . required
9
+ # @param [string] payload.requestDateTime . required
10
+ # @param [number] payload.requestValidityMinutes . required
11
+ # @param [string] payload.memoriID . required
12
+ # @param [string] payload.culture . required
13
+ # test_slot(payload: {})
14
+ def self.test_slot(payload: {})
15
+ args = build_arguments(binding)
16
+ payload_keys = [
17
+ 'culture',
18
+ 'memoriID',
19
+ 'requestDateTime',
20
+ 'requestID',
21
+ 'requestValidityMinutes',
22
+ 'slotName',
23
+ ]
24
+ payload_required_keys = %w[culture memoriID requestDateTime requestID requestValidityMinutes slotName]
25
+ validate_payload!(args[:payload], keys: payload_keys, required: payload_required_keys)
26
+
27
+ exec_http_request('post', '/memori/v2/TestSlot', **args)
16
28
  end
17
29
 
18
30
  # POST /memori/v2/TestIntent
19
31
  # Returns test intent results.
20
32
  # Params list:
21
33
  # @param [object] payload request payload. optional
22
- # @param [string] payload.intentName . optional
34
+ # @param [string] payload.intentName . required
23
35
  # @param [string] payload.utterance . optional
24
- # @param [object] payload.slotValues . optional
25
- # @param [string] payload.sessionID . optional
36
+ # @param [object] payload.slotValues . required
37
+ # @param [string] payload.sessionID . required
26
38
  # @param [string] payload.currentTag . optional
27
39
  # @param [boolean] payload.currentTagAuthenticated . optional
28
40
  # @param [string] payload.currentDateUTC . optional
29
41
  # @param [] payload.currentPlace . optional
30
- # @param [string] payload.timeZone . optional
31
- # @param [string] payload.beginUTC . optional
32
- # @param [string] payload.endUTC . optional
33
- # @param [object] payload.contextVars . optional
34
- # @param [integer] payload.requestID . optional
35
- # @param [string] payload.requestDateTime . optional
36
- # @param [number] payload.requestValidityMinutes . optional
37
- # @param [string] payload.memoriID . optional
38
- # @param [string] payload.culture . optional
39
- # test_intent()
40
- def self.test_intent(**args)
41
- exec_http_request('post', '/memori/v2/TestIntent', args)
42
+ # @param [string] payload.timeZone . required
43
+ # @param [string] payload.beginUTC . required
44
+ # @param [string] payload.endUTC . required
45
+ # @param [object] payload.contextVars . required
46
+ # @param [array] payload.transitionHistory . required
47
+ # @param [integer] payload.requestID . required
48
+ # @param [string] payload.requestDateTime . required
49
+ # @param [number] payload.requestValidityMinutes . required
50
+ # @param [string] payload.memoriID . required
51
+ # @param [string] payload.culture . required
52
+ # test_intent(payload: {})
53
+ def self.test_intent(payload: {})
54
+ args = build_arguments(binding)
55
+ payload_keys = [
56
+ 'beginUTC',
57
+ 'contextVars',
58
+ 'culture',
59
+ 'currentDateUTC',
60
+ 'currentPlace',
61
+ 'currentTag',
62
+ 'currentTagAuthenticated',
63
+ 'endUTC',
64
+ 'intentName',
65
+ 'memoriID',
66
+ 'requestDateTime',
67
+ 'requestID',
68
+ 'requestValidityMinutes',
69
+ 'sessionID',
70
+ 'slotValues',
71
+ 'timeZone',
72
+ 'transitionHistory',
73
+ 'utterance',
74
+ ]
75
+ payload_required_keys = %w[beginUTC contextVars culture endUTC intentName memoriID requestDateTime requestID requestValidityMinutes sessionID slotValues timeZone transitionHistory]
76
+ validate_payload!(args[:payload], keys: payload_keys, required: payload_required_keys)
77
+
78
+ exec_http_request('post', '/memori/v2/TestIntent', **args)
42
79
  end
43
80
 
44
81
 
@@ -75,7 +75,7 @@ class MemoriClient::HttpClient
75
75
  if request['Content-Type'] == 'application/json'
76
76
  [
77
77
  response.code,
78
- (body.blank? ? {} : JSON.parse(body))
78
+ (body.nil? ? {} : JSON.parse(body))
79
79
  ]
80
80
  else
81
81
  [response.code, body]
@@ -0,0 +1,56 @@
1
+ class MemoriClient::Resource
2
+ def self.build_arguments(the_binding)
3
+ the_binding.local_variables.each_with_object({}) do |key, acc|
4
+ value = the_binding.local_variable_get(key)
5
+ acc[key] = value
6
+ end
7
+ end
8
+
9
+ def self.exec_http_request(method, path, args)
10
+ stop = false
11
+ processed_tokens = []
12
+ path.split('/').each do |token|
13
+ break if stop == true
14
+ if token =~ /^{.*}$/
15
+ param_name = token.match(/^{(.*)}$/).captures.first
16
+ if args[param_name.to_sym].blank?
17
+ stop = true
18
+ else
19
+ processed_tokens << args[param_name.to_sym]
20
+ end
21
+ else
22
+ processed_tokens << token
23
+ end
24
+ end
25
+
26
+ url = processed_tokens.join('/')
27
+ url = build_url(url)
28
+ http = MemoriClient::HttpClient.new
29
+
30
+ case method
31
+ when 'get'
32
+ status, body = http.get(url)
33
+ else
34
+ status, body = http.send(method, url, payload: args[:payload])
35
+ end
36
+
37
+ [status, body]
38
+ end
39
+
40
+ def self.build_url(_url)
41
+ raise NotImplementedError
42
+ end
43
+
44
+ def self.validate_payload!(payload, keys:, required:)
45
+ bad_names = []
46
+ payload.each do |k, v|
47
+ unless keys.include?(k.to_s)
48
+ bad_names << k
49
+ end
50
+ end
51
+
52
+ if bad_names.size > 0
53
+ raise ArgumentError.new "Found invalid keys: #{bad_names.join(', ')}"
54
+ end
55
+ end
56
+ end
data/lib/memori_client.rb CHANGED
@@ -39,8 +39,12 @@ module MemoriClient
39
39
  end
40
40
  end
41
41
 
42
+ require 'securerandom'
43
+ require 'uri'
44
+ require 'json'
42
45
  require 'memori_client/configuration'
43
46
  require "memori_client/http_client"
47
+ require "memori_client/resource"
44
48
  require "memori_client/backend/resource"
45
49
  require "memori_client/backend/resources"
46
50
  require "memori_client/engine/resource"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memori-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Lampis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-11 00:00:00.000000000 Z
11
+ date: 2024-01-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Memori Client to interact with Memori backend and engine API
14
14
  email: me@stefanolampis.com
@@ -19,12 +19,16 @@ files:
19
19
  - lib/memori_client.rb
20
20
  - lib/memori_client/backend/resource.rb
21
21
  - lib/memori_client/backend/resources.rb
22
+ - lib/memori_client/backend/v1/asset.rb
22
23
  - lib/memori_client/backend/v2/action_log.rb
23
24
  - lib/memori_client/backend/v2/asset.rb
25
+ - lib/memori_client/backend/v2/badge.rb
24
26
  - lib/memori_client/backend/v2/consumption_log.rb
27
+ - lib/memori_client/backend/v2/import_export.rb
25
28
  - lib/memori_client/backend/v2/integration.rb
26
29
  - lib/memori_client/backend/v2/invitation.rb
27
30
  - lib/memori_client/backend/v2/memori.rb
31
+ - lib/memori_client/backend/v2/memori_list.rb
28
32
  - lib/memori_client/backend/v2/notification.rb
29
33
  - lib/memori_client/backend/v2/tenant.rb
30
34
  - lib/memori_client/backend/v2/user.rb
@@ -32,20 +36,29 @@ files:
32
36
  - lib/memori_client/engine/resource.rb
33
37
  - lib/memori_client/engine/resources.rb
34
38
  - lib/memori_client/engine/v2/chat_log.rb
39
+ - lib/memori_client/engine/v2/completion_log.rb
35
40
  - lib/memori_client/engine/v2/context_var.rb
36
41
  - lib/memori_client/engine/v2/correlation_pair.rb
42
+ - lib/memori_client/engine/v2/custom_dictionary.rb
37
43
  - lib/memori_client/engine/v2/dialog.rb
38
44
  - lib/memori_client/engine/v2/event_log.rb
45
+ - lib/memori_client/engine/v2/expert_reference.rb
39
46
  - lib/memori_client/engine/v2/intent.rb
47
+ - lib/memori_client/engine/v2/localization_key.rb
48
+ - lib/memori_client/engine/v2/medium.rb
40
49
  - lib/memori_client/engine/v2/memori.rb
41
50
  - lib/memori_client/engine/v2/memory.rb
42
51
  - lib/memori_client/engine/v2/nlp.rb
52
+ - lib/memori_client/engine/v2/person.rb
53
+ - lib/memori_client/engine/v2/prompted_question.rb
43
54
  - lib/memori_client/engine/v2/search.rb
44
55
  - lib/memori_client/engine/v2/session.rb
45
56
  - lib/memori_client/engine/v2/stat.rb
46
57
  - lib/memori_client/engine/v2/unanswered_question.rb
58
+ - lib/memori_client/engine/v2/user.rb
47
59
  - lib/memori_client/engine/v2/web_hook.rb
48
60
  - lib/memori_client/http_client.rb
61
+ - lib/memori_client/resource.rb
49
62
  homepage: https://rubygems.org/gems/memori_client-client
50
63
  licenses:
51
64
  - MIT