memori-client 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/memori_client/backend/resource.rb +32 -0
- data/lib/memori_client/backend/resources.rb +8 -0
- data/lib/memori_client/backend/v2/action_log.rb +28 -0
- data/lib/memori_client/backend/v2/asset.rb +54 -0
- data/lib/memori_client/backend/v2/consumption_log.rb +43 -0
- data/lib/memori_client/backend/v2/integration.rb +88 -0
- data/lib/memori_client/backend/v2/invitation.rb +118 -0
- data/lib/memori_client/backend/v2/memori.rb +325 -0
- data/lib/memori_client/backend/v2/notification.rb +22 -0
- data/lib/memori_client/backend/v2/user.rb +378 -0
- data/lib/memori_client/configuration.rb +15 -0
- data/lib/memori_client/engine/resource.rb +24 -0
- data/lib/memori_client/engine/resources.rb +14 -0
- data/lib/memori_client/engine/v2/chat_log.rb +46 -0
- data/lib/memori_client/engine/v2/context_var.rb +32 -0
- data/lib/memori_client/engine/v2/correlation_pair.rb +34 -0
- data/lib/memori_client/engine/v2/dialog.rb +108 -0
- data/lib/memori_client/engine/v2/event_log.rb +49 -0
- data/lib/memori_client/engine/v2/intent.rb +166 -0
- data/lib/memori_client/engine/v2/memori.rb +111 -0
- data/lib/memori_client/engine/v2/memory.rb +141 -0
- data/lib/memori_client/engine/v2/nlp.rb +60 -0
- data/lib/memori_client/engine/v2/search.rb +73 -0
- data/lib/memori_client/engine/v2/session.rb +39 -0
- data/lib/memori_client/engine/v2/stat.rb +42 -0
- data/lib/memori_client/engine/v2/unanswered_question.rb +34 -0
- data/lib/memori_client/engine/v2/web_hook.rb +42 -0
- data/lib/memori_client/http_client.rb +74 -0
- data/lib/memori_client.rb +48 -0
- metadata +71 -0
@@ -0,0 +1,42 @@
|
|
1
|
+
# Generated on 2022-12-15 16:37:37 +0000
|
2
|
+
class MemoriClient::Engine::V2::Stat < MemoriClient::Engine::Resource
|
3
|
+
# GET /memori/v2/Statistics/{strSessionID}
|
4
|
+
# Computes usage statistics for the Memori of the current session.
|
5
|
+
# Params list:
|
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)
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /memori/v2/ContentQualityIndexes/{strMemoriID}
|
13
|
+
# Computes content quality indexes for a Memori.
|
14
|
+
# Params list:
|
15
|
+
# @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)
|
19
|
+
end
|
20
|
+
|
21
|
+
# GET /memori/v2/TextQualityIndexes/{strSessionID}
|
22
|
+
# Computes text quality indexes for a Memori.
|
23
|
+
# Params list:
|
24
|
+
# @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)
|
28
|
+
end
|
29
|
+
|
30
|
+
# GET /memori/v2/SessionStatistics/{strMemoriID}/{strDateFrom}/{strDateTo}
|
31
|
+
# Computes session statistics for the specified Memori in a specific date internval.
|
32
|
+
# Params list:
|
33
|
+
# @param [string] strMemoriID The Memori object ID. required
|
34
|
+
# @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMddHHmmssfff. optional
|
35
|
+
# @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)
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Generated on 2022-12-15 16:37:37 +0000
|
2
|
+
class MemoriClient::Engine::V2::UnansweredQuestion < MemoriClient::Engine::Resource
|
3
|
+
# GET /memori/v2/UnansweredQuestions/{strSessionID}
|
4
|
+
# Lists all Unanswered Question objects.
|
5
|
+
# Params list:
|
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)
|
10
|
+
end
|
11
|
+
|
12
|
+
# GET /memori/v2/UnansweredQuestions/{strSessionID}/{from}/{howMany}
|
13
|
+
# Lists Unanswered Question objects with pagination.
|
14
|
+
# Params list:
|
15
|
+
# @param [string] strSessionID The session ID. required
|
16
|
+
# @param [integer] from The 0-based index of the first Unanswered Question object to list. required
|
17
|
+
# @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)
|
21
|
+
end
|
22
|
+
|
23
|
+
# DELETE /memori/v2/UnansweredQuestion/{strSessionID}/{strUnansweredQuestionID}
|
24
|
+
# Removes an existing Unanswered Question object.
|
25
|
+
# Params list:
|
26
|
+
# @param [string] strSessionID The session ID. required
|
27
|
+
# @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)
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Generated on 2022-12-15 16:37:37 +0000
|
2
|
+
class MemoriClient::Engine::V2::WebHook < MemoriClient::Engine::Resource
|
3
|
+
# POST /memori/v2/TestSlot
|
4
|
+
# Returns test slot values.
|
5
|
+
# Params list:
|
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)
|
16
|
+
end
|
17
|
+
|
18
|
+
# POST /memori/v2/TestIntent
|
19
|
+
# Returns test intent results.
|
20
|
+
# Params list:
|
21
|
+
# @param [object] payload request payload. optional
|
22
|
+
# @param [string] payload.intentName . optional
|
23
|
+
# @param [string] payload.utterance . optional
|
24
|
+
# @param [object] payload.slotValues . optional
|
25
|
+
# @param [string] payload.currentTag . optional
|
26
|
+
# @param [boolean] payload.currentTagAuthenticated . optional
|
27
|
+
# @param [string] payload.timeZone . optional
|
28
|
+
# @param [string] payload.beginUTC . optional
|
29
|
+
# @param [string] payload.endUTC . optional
|
30
|
+
# @param [object] payload.contextVars . optional
|
31
|
+
# @param [integer] payload.requestID . optional
|
32
|
+
# @param [string] payload.requestDateTime . optional
|
33
|
+
# @param [number] payload.requestValidityMinutes . optional
|
34
|
+
# @param [string] payload.memoriID . optional
|
35
|
+
# @param [string] payload.culture . optional
|
36
|
+
# test_intent()
|
37
|
+
def self.test_intent(**args)
|
38
|
+
exec_http_request('post', '/memori/v2/TestIntent', args)
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
|
3
|
+
class MemoriClient::HttpClient
|
4
|
+
attr_reader :request_id
|
5
|
+
|
6
|
+
def initialize(request_id: nil)
|
7
|
+
@request_id = request_id || SecureRandom.uuid
|
8
|
+
end
|
9
|
+
|
10
|
+
def get(url, headers: {}, basic_auth: nil)
|
11
|
+
uri = URI.parse url
|
12
|
+
request = Net::HTTP::Get.new(uri)
|
13
|
+
headers.each { |k, v| request[k] = v }
|
14
|
+
request["Content-Type"] ||= "application/json" unless headers.key?('Content-Type')
|
15
|
+
request.basic_auth(*basic_auth) if basic_auth.present?
|
16
|
+
|
17
|
+
req_options = { use_ssl: uri.scheme == "https" }
|
18
|
+
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
|
19
|
+
http.request(request)
|
20
|
+
end
|
21
|
+
|
22
|
+
handle_response(response, request)
|
23
|
+
end
|
24
|
+
|
25
|
+
def patch(url, headers: {}, payload:)
|
26
|
+
url = URI(url)
|
27
|
+
https = Net::HTTP.new(url.host, url.port)
|
28
|
+
https.use_ssl = url.scheme == 'https'
|
29
|
+
request = Net::HTTP::Patch.new(url)
|
30
|
+
request["Content-Type"] = "application/json" unless headers.key?('Content-Type')
|
31
|
+
headers.each { |k, v| request[k] = v }
|
32
|
+
request.body = JSON.dump(payload)
|
33
|
+
response = https.request(request)
|
34
|
+
handle_response(response, request)
|
35
|
+
end
|
36
|
+
|
37
|
+
def post(url, headers: {}, payload:)
|
38
|
+
url = URI(url)
|
39
|
+
https = Net::HTTP.new(url.host, url.port)
|
40
|
+
https.use_ssl = url.scheme == 'https'
|
41
|
+
request = Net::HTTP::Post.new(url)
|
42
|
+
request["Content-Type"] = "application/json" unless headers.key?('Content-Type')
|
43
|
+
headers.each { |k, v| request[k] = v }
|
44
|
+
request.body = JSON.dump(payload)
|
45
|
+
response = https.request(request)
|
46
|
+
handle_response(response, request)
|
47
|
+
end
|
48
|
+
|
49
|
+
def delete(url, headers: {}, payload: {})
|
50
|
+
url = URI(url)
|
51
|
+
https = Net::HTTP.new(url.host, url.port)
|
52
|
+
https.use_ssl = url.scheme == 'https'
|
53
|
+
request = Net::HTTP::Delete.new(url)
|
54
|
+
request["Content-Type"] = "application/json" unless headers.key?('Content-Type')
|
55
|
+
headers.each { |k, v| request[k] = v }
|
56
|
+
request.body = JSON.dump(payload)
|
57
|
+
response = https.request(request)
|
58
|
+
handle_response(response, request)
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def handle_response(response, request)
|
64
|
+
body = response.read_body
|
65
|
+
if request['Content-Type'] == 'application/json'
|
66
|
+
[
|
67
|
+
response.code,
|
68
|
+
(body.blank? ? {} : JSON.parse(body))
|
69
|
+
]
|
70
|
+
else
|
71
|
+
[response.code, body]
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module MemoriClient
|
2
|
+
module Backend
|
3
|
+
module V1
|
4
|
+
|
5
|
+
end
|
6
|
+
|
7
|
+
module V2
|
8
|
+
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module Engine
|
13
|
+
module V1
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
module V2
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class << self
|
23
|
+
# Instantiate the Configuration singleton
|
24
|
+
# or return it. Remember that the instance
|
25
|
+
# has attribute readers so that we can access
|
26
|
+
# the configured values
|
27
|
+
def configuration
|
28
|
+
@configuration ||= Configuration.new
|
29
|
+
end
|
30
|
+
|
31
|
+
# This is the configure block definition.
|
32
|
+
# The configuration method will return the
|
33
|
+
# Configuration singleton, which is then yielded
|
34
|
+
# to the configure block. Then it's just a matter
|
35
|
+
# of using the attribute accessors we previously defined
|
36
|
+
def configure
|
37
|
+
yield(configuration)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
require 'memori_client/configuration'
|
43
|
+
require "memori_client/http_client"
|
44
|
+
require "memori_client/backend/resource"
|
45
|
+
require "memori_client/backend/resources"
|
46
|
+
require "memori_client/engine/resource"
|
47
|
+
require "memori_client/engine/resources"
|
48
|
+
|
metadata
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: memori-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Stefano Lampis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-12-16 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Memori Client to interact with Memori backend and engine API
|
14
|
+
email: me@stefanolampis.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/memori_client.rb
|
20
|
+
- lib/memori_client/backend/resource.rb
|
21
|
+
- lib/memori_client/backend/resources.rb
|
22
|
+
- lib/memori_client/backend/v2/action_log.rb
|
23
|
+
- lib/memori_client/backend/v2/asset.rb
|
24
|
+
- lib/memori_client/backend/v2/consumption_log.rb
|
25
|
+
- lib/memori_client/backend/v2/integration.rb
|
26
|
+
- lib/memori_client/backend/v2/invitation.rb
|
27
|
+
- lib/memori_client/backend/v2/memori.rb
|
28
|
+
- lib/memori_client/backend/v2/notification.rb
|
29
|
+
- lib/memori_client/backend/v2/user.rb
|
30
|
+
- lib/memori_client/configuration.rb
|
31
|
+
- lib/memori_client/engine/resource.rb
|
32
|
+
- lib/memori_client/engine/resources.rb
|
33
|
+
- lib/memori_client/engine/v2/chat_log.rb
|
34
|
+
- lib/memori_client/engine/v2/context_var.rb
|
35
|
+
- lib/memori_client/engine/v2/correlation_pair.rb
|
36
|
+
- lib/memori_client/engine/v2/dialog.rb
|
37
|
+
- lib/memori_client/engine/v2/event_log.rb
|
38
|
+
- lib/memori_client/engine/v2/intent.rb
|
39
|
+
- lib/memori_client/engine/v2/memori.rb
|
40
|
+
- lib/memori_client/engine/v2/memory.rb
|
41
|
+
- lib/memori_client/engine/v2/nlp.rb
|
42
|
+
- lib/memori_client/engine/v2/search.rb
|
43
|
+
- lib/memori_client/engine/v2/session.rb
|
44
|
+
- lib/memori_client/engine/v2/stat.rb
|
45
|
+
- lib/memori_client/engine/v2/unanswered_question.rb
|
46
|
+
- lib/memori_client/engine/v2/web_hook.rb
|
47
|
+
- lib/memori_client/http_client.rb
|
48
|
+
homepage: https://rubygems.org/gems/memori_client-client
|
49
|
+
licenses:
|
50
|
+
- MIT
|
51
|
+
metadata: {}
|
52
|
+
post_install_message:
|
53
|
+
rdoc_options: []
|
54
|
+
require_paths:
|
55
|
+
- lib
|
56
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubygems_version: 3.3.7
|
68
|
+
signing_key:
|
69
|
+
specification_version: 4
|
70
|
+
summary: Memori Client
|
71
|
+
test_files: []
|