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.
Files changed (31) hide show
  1. checksums.yaml +7 -0
  2. data/lib/memori_client/backend/resource.rb +32 -0
  3. data/lib/memori_client/backend/resources.rb +8 -0
  4. data/lib/memori_client/backend/v2/action_log.rb +28 -0
  5. data/lib/memori_client/backend/v2/asset.rb +54 -0
  6. data/lib/memori_client/backend/v2/consumption_log.rb +43 -0
  7. data/lib/memori_client/backend/v2/integration.rb +88 -0
  8. data/lib/memori_client/backend/v2/invitation.rb +118 -0
  9. data/lib/memori_client/backend/v2/memori.rb +325 -0
  10. data/lib/memori_client/backend/v2/notification.rb +22 -0
  11. data/lib/memori_client/backend/v2/user.rb +378 -0
  12. data/lib/memori_client/configuration.rb +15 -0
  13. data/lib/memori_client/engine/resource.rb +24 -0
  14. data/lib/memori_client/engine/resources.rb +14 -0
  15. data/lib/memori_client/engine/v2/chat_log.rb +46 -0
  16. data/lib/memori_client/engine/v2/context_var.rb +32 -0
  17. data/lib/memori_client/engine/v2/correlation_pair.rb +34 -0
  18. data/lib/memori_client/engine/v2/dialog.rb +108 -0
  19. data/lib/memori_client/engine/v2/event_log.rb +49 -0
  20. data/lib/memori_client/engine/v2/intent.rb +166 -0
  21. data/lib/memori_client/engine/v2/memori.rb +111 -0
  22. data/lib/memori_client/engine/v2/memory.rb +141 -0
  23. data/lib/memori_client/engine/v2/nlp.rb +60 -0
  24. data/lib/memori_client/engine/v2/search.rb +73 -0
  25. data/lib/memori_client/engine/v2/session.rb +39 -0
  26. data/lib/memori_client/engine/v2/stat.rb +42 -0
  27. data/lib/memori_client/engine/v2/unanswered_question.rb +34 -0
  28. data/lib/memori_client/engine/v2/web_hook.rb +42 -0
  29. data/lib/memori_client/http_client.rb +74 -0
  30. data/lib/memori_client.rb +48 -0
  31. metadata +71 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a25355893a36bf78a27a8241f8610cf5c4d250ae8541ef81971783330b9e00f0
4
+ data.tar.gz: 854edc910da83e6f8cc9df32abf3c36694cad75997dcca07b5f601765e3e518f
5
+ SHA512:
6
+ metadata.gz: dae21f1aa38356b4662690c724a9dc57e0be4e97962389e4d2899a04e3a76556d461ee0903ec416c9990c45de2f5f13ee238ecd5146f19f0dd00bd2b8a6c7a18
7
+ data.tar.gz: 473fe0538dd3be8861e7ccee08191606f9dcc9beb471391df93aabc1a289ec8ba4e9cd3f68c8b98e64f7018ffcbbaecefac3d031aa00f6c00df4594a4e155cd9
@@ -0,0 +1,32 @@
1
+ class MemoriClient::Backend::Resource
2
+ def self.exec_http_request(method, path, args)
3
+ stop = false
4
+ processed_tokens = []
5
+ path.split('/').each do |token|
6
+ break if stop == true
7
+ if token =~ /^{.*}$/
8
+ param_name = token.match(/^{(.*)}$/).captures.first
9
+ if args[param_name.to_sym].blank?
10
+ stop = true
11
+ else
12
+ processed_tokens << args[param_name.to_sym]
13
+ end
14
+ else
15
+ processed_tokens << token
16
+ end
17
+ end
18
+
19
+ url = processed_tokens.join('/')
20
+ url = [MemoriClient.configuration.backend_api_root, url].join('')
21
+ http = MemoriClient::HttpClient.new
22
+
23
+ case method
24
+ when 'get'
25
+ status, body = http.get(url)
26
+ else
27
+ status, body = http.send(method, url, payload: args[:payload])
28
+ end
29
+
30
+ [status, body]
31
+ end
32
+ end
@@ -0,0 +1,8 @@
1
+ require 'memori_client/backend/v2/action_log.rb'
2
+ require 'memori_client/backend/v2/asset.rb'
3
+ require 'memori_client/backend/v2/consumption_log.rb'
4
+ require 'memori_client/backend/v2/integration.rb'
5
+ require 'memori_client/backend/v2/invitation.rb'
6
+ require 'memori_client/backend/v2/memori.rb'
7
+ require 'memori_client/backend/v2/notification.rb'
8
+ require 'memori_client/backend/v2/user.rb'
@@ -0,0 +1,28 @@
1
+ # Generated on 2022-12-15 16:37:36 +0000
2
+ class MemoriClient::Backend::V2::ActionLog < MemoriClient::Backend::Resource
3
+ # GET /api/v2/UserActionLogs/{strToken}/{strUserID}/{strDateFrom}/{strDateTo}
4
+ # Gets the Action Log objects for a specific User in a specific date interval.
5
+ # Params list:
6
+ # @param [string] strToken The login token. required
7
+ # @param [string] strUserID The ID of the User object. required
8
+ # @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMddHHmmssfff. optional
9
+ # @param [string] strDateTo The optional end of the date interval, in UTC time, in the format yyyyMMddHHmmssfff. optional
10
+ # user_action_logs(strToken:, strUserID:, strDateFrom: nil, strDateTo: nil)
11
+ def self.user_action_logs(**args)
12
+ exec_http_request('get', '/api/v2/UserActionLogs/{strToken}/{strUserID}/{strDateFrom}/{strDateTo}', args)
13
+ end
14
+
15
+ # GET /api/v2/MemoriActionLogs/{strToken}/{strMemoriID}/{strDateFrom}/{strDateTo}
16
+ # Gets the Action Log objects for a specific Memori in a specific date interval.
17
+ # Params list:
18
+ # @param [string] strToken The login token. required
19
+ # @param [string] strMemoriID The ID of the Memori object. required
20
+ # @param [string] strDateFrom The optional begin of the date interval, in the format yyyyMMddHHmmssfff. optional
21
+ # @param [string] strDateTo The optional end of the date interval, in the format yyyyMMddHHmmssfff. optional
22
+ # memori_action_logs(strToken:, strMemoriID:, strDateFrom: nil, strDateTo: nil)
23
+ def self.memori_action_logs(**args)
24
+ exec_http_request('get', '/api/v2/MemoriActionLogs/{strToken}/{strMemoriID}/{strDateFrom}/{strDateTo}', args)
25
+ end
26
+
27
+
28
+ end
@@ -0,0 +1,54 @@
1
+ # Generated on 2022-12-15 16:37:36 +0000
2
+ class MemoriClient::Backend::V2::Asset < MemoriClient::Backend::Resource
3
+ # POST /api/v2/Asset/{strToken}/{strMemoriID}/{strEngineMemoryID}
4
+ # Uploads a file and creates a new Asset object to access it.
5
+ # Params list:
6
+ # @param [string] strToken The login token. required
7
+ # @param [string] strMemoriID The ID of a Memori object the Asset belongs to. required
8
+ # @param [string] strEngineMemoryID The optional ID of an Engine Memory object the Asset belogs to. optional
9
+ # create_asset(strToken:, strMemoriID:, strEngineMemoryID: nil)
10
+ def self.create_asset(**args)
11
+ exec_http_request('post', '/api/v2/Asset/{strToken}/{strMemoriID}/{strEngineMemoryID}', args)
12
+ end
13
+
14
+ # GET /api/v2/Asset/{fileName}/{memoriSessionID}
15
+ # Downloads a file from an Asset object.
16
+ # Params list:
17
+ # @param [string] fileName Name of the Asset file. required
18
+ # @param [string] memoriSessionID Optional ID of an Engine Memori session. optional
19
+ # get_asset(fileName:, memoriSessionID: nil)
20
+ def self.get_asset(**args)
21
+ exec_http_request('get', '/api/v2/Asset/{fileName}/{memoriSessionID}', args)
22
+ end
23
+
24
+ # PATCH /api/v2/Asset/{strToken}/{fileName}
25
+ # Updates an Asset object.
26
+ # Params list:
27
+ # @param [string] strToken The login token. required
28
+ # @param [string] fileName Name of the Asset file. required
29
+ # @param [object] payload request payload. optional
30
+ # @param [string] payload.assetID . optional
31
+ # @param [string] payload.assetURL . optional
32
+ # @param [string] payload.mimeType . optional
33
+ # @param [string] payload.originalFileName . optional
34
+ # @param [string] payload.memoriID . optional
35
+ # @param [string] payload.engineMemoryID . optional
36
+ # @param [string] payload.creationTimestamp . optional
37
+ # @param [string] payload.lastChangeTimestamp . optional
38
+ # update_asset(strToken:, fileName:)
39
+ def self.update_asset(**args)
40
+ exec_http_request('patch', '/api/v2/Asset/{strToken}/{fileName}', args)
41
+ end
42
+
43
+ # DELETE /api/v2/Asset/{strToken}/{fileName}
44
+ # Deletes a file and its corresponding Asset object.
45
+ # Params list:
46
+ # @param [string] strToken The login token. required
47
+ # @param [string] fileName Name of the Asset file. required
48
+ # delete_asset(strToken:, fileName:)
49
+ def self.delete_asset(**args)
50
+ exec_http_request('delete', '/api/v2/Asset/{strToken}/{fileName}', args)
51
+ end
52
+
53
+
54
+ end
@@ -0,0 +1,43 @@
1
+ # Generated on 2022-12-15 16:37:36 +0000
2
+ class MemoriClient::Backend::V2::ConsumptionLog < MemoriClient::Backend::Resource
3
+ # GET /api/v2/TenantConsumptionLogs/{strToken}/{tenantName}/{strType}/{strDateFrom}/{strDateTo}
4
+ # Gets the Consumption Log objects for a specific Tenant in a specific date interval.
5
+ # Params list:
6
+ # @param [string] strToken The login token. required
7
+ # @param [string] tenantName The name of the Tenant. required
8
+ # @param [string] strType Type of consumption (i.e. granularity), it may either be Daily or Monthly. required
9
+ # @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMdd. optional
10
+ # @param [string] strDateTo The optional end of the date interval, in UTC time, in the format yyyyMMdd. optional
11
+ # tenant_consumption_logs(strToken:, tenantName:, strType:, strDateFrom: nil, strDateTo: nil)
12
+ def self.tenant_consumption_logs(**args)
13
+ exec_http_request('get', '/api/v2/TenantConsumptionLogs/{strToken}/{tenantName}/{strType}/{strDateFrom}/{strDateTo}', args)
14
+ end
15
+
16
+ # GET /api/v2/UserConsumptionLogs/{strToken}/{strUserID}/{strType}/{strDateFrom}/{strDateTo}
17
+ # Gets the Consumption Log objects for a specific User in a specific date interval.
18
+ # Params list:
19
+ # @param [string] strToken The login token. required
20
+ # @param [string] strUserID The ID of the User object. required
21
+ # @param [string] strType Type of consumption (i.e. granularity), it may either be Daily or Monthly. required
22
+ # @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMdd. optional
23
+ # @param [string] strDateTo The optional end of the date interval, in UTC time, in the format yyyyMMdd. optional
24
+ # user_consumption_logs(strToken:, strUserID:, strType:, strDateFrom: nil, strDateTo: nil)
25
+ def self.user_consumption_logs(**args)
26
+ exec_http_request('get', '/api/v2/UserConsumptionLogs/{strToken}/{strUserID}/{strType}/{strDateFrom}/{strDateTo}', args)
27
+ end
28
+
29
+ # GET /api/v2/MemoriConsumptionLogs/{strToken}/{strMemoriID}/{strType}/{strDateFrom}/{strDateTo}
30
+ # Gets the Consumption Log objects for a specific Memori in a specific date interval.
31
+ # Params list:
32
+ # @param [string] strToken The login token. required
33
+ # @param [string] strMemoriID The ID of the Memori object. required
34
+ # @param [string] strType Type of consumption (i.e. granularity), it may either be Daily or Monthly. required
35
+ # @param [string] strDateFrom The optional begin of the date interval, in UTC time, in the format yyyyMMdd. optional
36
+ # @param [string] strDateTo The optional end of the date interval, in UTC time, in the format yyyyMMdd. optional
37
+ # memori_consumption_logs(strToken:, strMemoriID:, strType:, strDateFrom: nil, strDateTo: nil)
38
+ def self.memori_consumption_logs(**args)
39
+ exec_http_request('get', '/api/v2/MemoriConsumptionLogs/{strToken}/{strMemoriID}/{strType}/{strDateFrom}/{strDateTo}', args)
40
+ end
41
+
42
+
43
+ end
@@ -0,0 +1,88 @@
1
+ # Generated on 2022-12-15 16:37:36 +0000
2
+ class MemoriClient::Backend::V2::Integration < MemoriClient::Backend::Resource
3
+ # GET /api/v2/Integrations/{strToken}/{strMemoriID}
4
+ # Gets a list of Integration objects for a specified Memori object.
5
+ # Params list:
6
+ # @param [string] strToken The login token. required
7
+ # @param [string] strMemoriID The ID of the Memori object. required
8
+ # integrations(strToken:, strMemoriID:)
9
+ def self.integrations(**args)
10
+ exec_http_request('get', '/api/v2/Integrations/{strToken}/{strMemoriID}', args)
11
+ end
12
+
13
+ # GET /api/v2/AllIntegrations/{strToken}
14
+ # Gets a list of all Integration objects.
15
+ # Params list:
16
+ # @param [string] strToken The login token. required
17
+ # all_integrations(strToken:)
18
+ def self.all_integrations(**args)
19
+ exec_http_request('get', '/api/v2/AllIntegrations/{strToken}', args)
20
+ end
21
+
22
+ # GET /api/v2/Integration/{strToken}/{strIntegrationID}
23
+ # Gets the details of an Integration object of the currently logged in User.
24
+ # Params list:
25
+ # @param [string] strToken The login token. required
26
+ # @param [string] strIntegrationID The ID of the Integration object. required
27
+ # get_integration(strToken:, strIntegrationID:)
28
+ def self.get_integration(**args)
29
+ exec_http_request('get', '/api/v2/Integration/{strToken}/{strIntegrationID}', args)
30
+ end
31
+
32
+ # PATCH /api/v2/Integration/{strToken}/{strIntegrationID}
33
+ # Updates an existing Integration object.
34
+ # Params list:
35
+ # @param [string] strToken The login token. required
36
+ # @param [string] strIntegrationID The Integration object ID. required
37
+ # @param [object] payload request payload. optional
38
+ # @param [string] payload.integrationID . optional
39
+ # @param [string] payload.memoriID . optional
40
+ # @param [string] payload.type . optional
41
+ # @param [string] payload.state . optional
42
+ # @param [array] payload.deviceEmails . optional
43
+ # @param [string] payload.invocationText . optional
44
+ # @param [string] payload.jobID . optional
45
+ # @param [string] payload.customData . optional
46
+ # @param [array] payload.resources . optional
47
+ # @param [boolean] payload.publish . optional
48
+ # @param [string] payload.creationTimestamp . optional
49
+ # @param [string] payload.lastChangeTimestamp . optional
50
+ # update_integration(strToken:, strIntegrationID:)
51
+ def self.update_integration(**args)
52
+ exec_http_request('patch', '/api/v2/Integration/{strToken}/{strIntegrationID}', args)
53
+ end
54
+
55
+ # DELETE /api/v2/Integration/{strToken}/{strIntegrationID}
56
+ # Deletes an existing Integration object.
57
+ # Params list:
58
+ # @param [string] strToken The login token. required
59
+ # @param [string] strIntegrationID The Integration object ID. required
60
+ # delete_integration(strToken:, strIntegrationID:)
61
+ def self.delete_integration(**args)
62
+ exec_http_request('delete', '/api/v2/Integration/{strToken}/{strIntegrationID}', args)
63
+ end
64
+
65
+ # POST /api/v2/Integration/{strToken}
66
+ # Registers a new Integration object.
67
+ # Params list:
68
+ # @param [string] strToken The login token. required
69
+ # @param [object] payload request payload. optional
70
+ # @param [string] payload.integrationID . optional
71
+ # @param [string] payload.memoriID . optional
72
+ # @param [string] payload.type . optional
73
+ # @param [string] payload.state . optional
74
+ # @param [array] payload.deviceEmails . optional
75
+ # @param [string] payload.invocationText . optional
76
+ # @param [string] payload.jobID . optional
77
+ # @param [string] payload.customData . optional
78
+ # @param [array] payload.resources . optional
79
+ # @param [boolean] payload.publish . optional
80
+ # @param [string] payload.creationTimestamp . optional
81
+ # @param [string] payload.lastChangeTimestamp . optional
82
+ # create_integration(strToken:)
83
+ def self.create_integration(**args)
84
+ exec_http_request('post', '/api/v2/Integration/{strToken}', args)
85
+ end
86
+
87
+
88
+ end
@@ -0,0 +1,118 @@
1
+ # Generated on 2022-12-15 16:37:36 +0000
2
+ class MemoriClient::Backend::V2::Invitation < MemoriClient::Backend::Resource
3
+ # GET /api/v2/SentInvitations/{strToken}
4
+ # Gets a list of invitations sent by the currently logged in User.
5
+ # Params list:
6
+ # @param [string] strToken The login token. required
7
+ # sent_invitations(strToken:)
8
+ def self.sent_invitations(**args)
9
+ exec_http_request('get', '/api/v2/SentInvitations/{strToken}', args)
10
+ end
11
+
12
+ # GET /api/v2/ReceivedInvitations/{strToken}
13
+ # Gets a list of invitations received by the currently logged in User.
14
+ # Params list:
15
+ # @param [string] strToken The login token. required
16
+ # received_invitations(strToken:)
17
+ def self.received_invitations(**args)
18
+ exec_http_request('get', '/api/v2/ReceivedInvitations/{strToken}', args)
19
+ end
20
+
21
+ # GET /api/v2/AllInvitations/{strToken}
22
+ # Gets a list of all Invitation objects.
23
+ # Params list:
24
+ # @param [string] strToken The login token. required
25
+ # all_invitations(strToken:)
26
+ def self.all_invitations(**args)
27
+ exec_http_request('get', '/api/v2/AllInvitations/{strToken}', args)
28
+ end
29
+
30
+ # GET /api/v2/Invitation/{strToken}/{strInvitationID}
31
+ # Gets the details of an Invitation object of the currently logged in User.
32
+ # Params list:
33
+ # @param [string] strToken The login token. required
34
+ # @param [string] strInvitationID The ID of the Invitation object. required
35
+ # get_invitation(strToken:, strInvitationID:)
36
+ def self.get_invitation(**args)
37
+ exec_http_request('get', '/api/v2/Invitation/{strToken}/{strInvitationID}', args)
38
+ end
39
+
40
+ # PATCH /api/v2/Invitation/{strToken}/{strInvitationID}
41
+ # Updates an existing Invitation object sent by the currently logged in User.
42
+ # Params list:
43
+ # @param [string] strToken The login token. required
44
+ # @param [string] strInvitationID The Invitation object ID. required
45
+ # @param [object] payload request payload. optional
46
+ # @param [string] payload.invitationID . optional
47
+ # @param [string] payload.memoriID . optional
48
+ # @param [boolean] payload.isInviter . optional
49
+ # @param [boolean] payload.isInvitee . optional
50
+ # @param [string] payload.text . optional
51
+ # @param [string] payload.destinationName . optional
52
+ # @param [string] payload.destinationEMail . optional
53
+ # @param [string] payload.tag . optional
54
+ # @param [string] payload.pin . optional
55
+ # @param [string] payload.type . optional
56
+ # @param [string] payload.state . optional
57
+ # @param [string] payload.creationTimestamp . optional
58
+ # @param [string] payload.lastChangeTimestamp . optional
59
+ # update_invitation(strToken:, strInvitationID:)
60
+ def self.update_invitation(**args)
61
+ exec_http_request('patch', '/api/v2/Invitation/{strToken}/{strInvitationID}', args)
62
+ end
63
+
64
+ # DELETE /api/v2/Invitation/{strToken}/{strInvitationID}
65
+ # Deletes an existing Invitation object.
66
+ # Params list:
67
+ # @param [string] strToken The login token. required
68
+ # @param [string] strInvitationID The Invitation object ID. required
69
+ # delete_invitation(strToken:, strInvitationID:)
70
+ def self.delete_invitation(**args)
71
+ exec_http_request('delete', '/api/v2/Invitation/{strToken}/{strInvitationID}', args)
72
+ end
73
+
74
+ # POST /api/v2/AcceptInvitation/{strToken}/{strInvitationID}
75
+ # Accepts an Invitation object.
76
+ # Params list:
77
+ # @param [string] strToken The login token. required
78
+ # @param [string] strInvitationID The ID of the Invitation object. required
79
+ # accept_invitation(strToken:, strInvitationID:)
80
+ def self.accept_invitation(**args)
81
+ exec_http_request('post', '/api/v2/AcceptInvitation/{strToken}/{strInvitationID}', args)
82
+ end
83
+
84
+ # POST /api/v2/RejectInvitation/{strToken}/{strInvitationID}
85
+ # Rejects an Invitation object.
86
+ # Params list:
87
+ # @param [string] strToken The login token. required
88
+ # @param [string] strInvitationID The ID of the Invitation object. required
89
+ # reject_invitation(strToken:, strInvitationID:)
90
+ def self.reject_invitation(**args)
91
+ exec_http_request('post', '/api/v2/RejectInvitation/{strToken}/{strInvitationID}', args)
92
+ end
93
+
94
+ # POST /api/v2/SendInvitation/{strToken}
95
+ # Sends a new Invitation object.
96
+ # Params list:
97
+ # @param [string] strToken The login token. required
98
+ # @param [object] payload request payload. optional
99
+ # @param [string] payload.invitationID . optional
100
+ # @param [string] payload.memoriID . optional
101
+ # @param [boolean] payload.isInviter . optional
102
+ # @param [boolean] payload.isInvitee . optional
103
+ # @param [string] payload.text . optional
104
+ # @param [string] payload.destinationName . optional
105
+ # @param [string] payload.destinationEMail . optional
106
+ # @param [string] payload.tag . optional
107
+ # @param [string] payload.pin . optional
108
+ # @param [string] payload.type . optional
109
+ # @param [string] payload.state . optional
110
+ # @param [string] payload.creationTimestamp . optional
111
+ # @param [string] payload.lastChangeTimestamp . optional
112
+ # send_invitation(strToken:)
113
+ def self.send_invitation(**args)
114
+ exec_http_request('post', '/api/v2/SendInvitation/{strToken}', args)
115
+ end
116
+
117
+
118
+ end