cpee 2.1.130 → 2.1.132
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 +4 -4
- data/FEATURES.md +9 -19
- data/cockpit/compliance-view.html +313 -0
- data/cockpit/compliance.html +34 -23
- data/cockpit/config.json.example +7 -6
- data/cockpit/css/compliance.css +70 -2
- data/cockpit/css/llm.css +9 -1
- data/cockpit/css/llmmodel.css +3 -0
- data/cockpit/css/ui.css +9 -30
- data/cockpit/edit.html +1 -1
- data/cockpit/graph.html +1 -1
- data/cockpit/index.html +6 -1
- data/cockpit/js/compliance.js +925 -10
- data/cockpit/js/instance.js +19 -9
- data/cockpit/js/parameters.js +37 -5
- data/cockpit/js/ui.js +10 -40
- data/cockpit/js/wfadaptor.js +4 -5
- data/cockpit/llm.html +24 -26
- data/cockpit/llmmodel.html +27 -25
- data/cockpit/model.html +1 -1
- data/cockpit/only_llm.html +5 -5
- data/cockpit/rngs/attributes.rng +2 -2
- data/cockpit/rngs/dataelements.rng +2 -2
- data/cockpit/rngs/documents.rng +8 -0
- data/cockpit/rngs/endpoints.rng +2 -2
- data/cockpit/rngs/requirements.rng +2 -2
- data/cockpit/themes/THEMES.MD +419 -0
- data/cockpit/themes/preset_model/symbols/critical.svg +13 -3
- data/cockpit/track.html +1 -1
- data/cpee.gemspec +1 -1
- data/lib/cpee/implementation.rb +3 -1
- data/lib/cpee/implementation_properties.rb +6 -5
- data/lib/cpee/persistence.rb +6 -7
- data/lib/properties/documents.rng +10 -0
- data/lib/properties/properties.rng +2 -0
- data/lib/properties/set-properties.rng +2 -0
- data/lib/properties/set-some-properties.rng +4 -0
- data/lib/properties/set-testset.rng +3 -0
- data/lib/properties/t_documents.rng +7 -0
- data/lib/properties.xml +22 -0
- data/server/executionhandlers/eval/connection.rb +1 -0
- data/server/executionhandlers/eval/execution.rb +2 -0
- data/server/executionhandlers/ruby/connection.rb +1 -0
- data/server/executionhandlers/ruby/controller.rb +4 -8
- data/server/executionhandlers/ruby/execution.rb +2 -0
- data/server/resources/properties.empty +1 -0
- data/server/resources/properties.init +1 -0
- data/server/routing/end.pid +1 -1
- data/server/routing/forward-events-00.pid +1 -1
- data/server/routing/forward-votes.pid +1 -1
- data/server/routing/persist.pid +1 -1
- data/server/routing/persist.rb +2 -1
- data/tools/cpee +1 -1
- metadata +7 -2
- data/lib/cpee/attributes_helper.rb +0 -41
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<include href="executionhandler.rng"/>
|
|
5
5
|
<include href="positions.rng"/>
|
|
6
6
|
<include href="dataelements.rng"/>
|
|
7
|
+
<include href="documents.rng"/>
|
|
7
8
|
<include href="endpoints.rng"/>
|
|
8
9
|
<include href="attributes.rng"/>
|
|
9
10
|
<include href="description.rng"/>
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
<ref name="executionhandler"/>
|
|
17
18
|
<ref name="positions"/>
|
|
18
19
|
<ref name="dataelements"/>
|
|
20
|
+
<ref name="documents"/>
|
|
19
21
|
<ref name="endpoints"/>
|
|
20
22
|
<ref name="attributes"/>
|
|
21
23
|
<ref name="description"/>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<include href="executionhandler.rng"/>
|
|
5
5
|
<include href="positions.rng"/>
|
|
6
6
|
<include href="dataelements.rng"/>
|
|
7
|
+
<include href="documents.rng"/>
|
|
7
8
|
<include href="endpoints.rng"/>
|
|
8
9
|
<include href="attributes.rng"/>
|
|
9
10
|
<include href="description.rng"/>
|
|
@@ -27,6 +28,9 @@
|
|
|
27
28
|
<optional>
|
|
28
29
|
<ref name="dataelements"/>
|
|
29
30
|
</optional>
|
|
31
|
+
<optional>
|
|
32
|
+
<ref name="documents"/>
|
|
33
|
+
</optional>
|
|
30
34
|
<optional>
|
|
31
35
|
<ref name="endpoints"/>
|
|
32
36
|
</optional>
|
data/lib/properties.xml
CHANGED
|
@@ -103,6 +103,17 @@
|
|
|
103
103
|
</parameter>
|
|
104
104
|
</message> <!--}}}-->
|
|
105
105
|
|
|
106
|
+
<message name="document"> <!--{{{-->
|
|
107
|
+
<parameter name="document" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
108
|
+
<xi:include href="properties/t_simple.rng"/>
|
|
109
|
+
</parameter>
|
|
110
|
+
</message> <!--}}}-->
|
|
111
|
+
<message name="documents"> <!--{{{-->
|
|
112
|
+
<parameter name="documents" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
113
|
+
<xi:include href="properties/t_documents.rng"/>
|
|
114
|
+
</parameter>
|
|
115
|
+
</message> <!--}}}-->
|
|
116
|
+
|
|
106
117
|
<message name="endpoint"> <!--{{{-->
|
|
107
118
|
<parameter name="endpoint" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
108
119
|
<xi:include href="properties/t_simple.rng"/>
|
|
@@ -199,6 +210,17 @@
|
|
|
199
210
|
<delete/>
|
|
200
211
|
</resource>
|
|
201
212
|
</resource> <!--}}}-->
|
|
213
|
+
<resource relative="documents"> <!--{{{-->
|
|
214
|
+
<get out="documents"/>
|
|
215
|
+
<post in="document" out="id"/>
|
|
216
|
+
<patch in="documents"/>
|
|
217
|
+
<put in="documents"/>
|
|
218
|
+
<resource>
|
|
219
|
+
<get out="string"/>
|
|
220
|
+
<put in="string"/>
|
|
221
|
+
<delete/>
|
|
222
|
+
</resource>
|
|
223
|
+
</resource> <!--}}}-->
|
|
202
224
|
<resource relative="endpoints"> <!--{{{-->
|
|
203
225
|
<get out="endpoints"/>
|
|
204
226
|
<post in="endpoint" out="id"/>
|
|
@@ -40,6 +40,7 @@ module CPEE
|
|
|
40
40
|
endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
|
|
41
41
|
dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
|
|
42
42
|
attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
|
|
43
|
+
documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
|
|
43
44
|
positions = CPEE::Persistence::extract_set(id,opts,'positions')
|
|
44
45
|
positions.map! do |k, v|
|
|
45
46
|
[ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
|
|
@@ -60,6 +61,7 @@ module CPEE
|
|
|
60
61
|
iopts[:global_executionhandlers] = opts[:global_executionhandlers]
|
|
61
62
|
end
|
|
62
63
|
iopts[:attributes] = attributes
|
|
64
|
+
iopts[:documents] = documents
|
|
63
65
|
iopts[:votes] = {}
|
|
64
66
|
CPEE::Persistence::extract_handlers(id,opts).each do |de|
|
|
65
67
|
if de[1] && de[1]&.empty?.!
|
|
@@ -18,7 +18,6 @@ require 'redis'
|
|
|
18
18
|
require 'securerandom'
|
|
19
19
|
require 'riddl/client'
|
|
20
20
|
require 'cpee/value_helper'
|
|
21
|
-
require 'cpee/attributes_helper'
|
|
22
21
|
require 'cpee/message'
|
|
23
22
|
require 'cpee/redis'
|
|
24
23
|
require 'get_process_mem'
|
|
@@ -42,7 +41,7 @@ class Controller
|
|
|
42
41
|
@id = id
|
|
43
42
|
|
|
44
43
|
@attributes = opts[:attributes]
|
|
45
|
-
@
|
|
44
|
+
@documents = opts[:documents]
|
|
46
45
|
|
|
47
46
|
@thread = nil
|
|
48
47
|
@opts = opts
|
|
@@ -94,12 +93,9 @@ class Controller
|
|
|
94
93
|
|
|
95
94
|
attr_reader :id
|
|
96
95
|
attr_reader :attributes
|
|
96
|
+
attr_reader :documents
|
|
97
97
|
attr_reader :loop_guard
|
|
98
98
|
|
|
99
|
-
def attributes_translated
|
|
100
|
-
@attributes_translated || @attributes_translated = @attributes_helper.translate(attributes,dataelements,endpoints)
|
|
101
|
-
end
|
|
102
|
-
|
|
103
99
|
def uuid
|
|
104
100
|
@attributes['uuid']
|
|
105
101
|
end
|
|
@@ -170,7 +166,7 @@ class Controller
|
|
|
170
166
|
end
|
|
171
167
|
|
|
172
168
|
def notify(what,content={})
|
|
173
|
-
content[:attributes] =
|
|
169
|
+
content[:attributes] = attributes
|
|
174
170
|
CPEE::Message::send(:event,what,base,@id,uuid,info,content,@redis)
|
|
175
171
|
end
|
|
176
172
|
|
|
@@ -182,7 +178,7 @@ class Controller
|
|
|
182
178
|
@opts[:votes][handler]&.each do |client|
|
|
183
179
|
voteid = SecureRandom.hex(16)
|
|
184
180
|
content[:key] = voteid
|
|
185
|
-
content[:attributes] =
|
|
181
|
+
content[:attributes] = attributes
|
|
186
182
|
content[:subscription] = client
|
|
187
183
|
votes << voteid
|
|
188
184
|
CPEE::Message::send(:vote,what,base,@id,uuid,info,content,@redis)
|
|
@@ -40,6 +40,7 @@ module CPEE
|
|
|
40
40
|
endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
|
|
41
41
|
dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
|
|
42
42
|
attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
|
|
43
|
+
documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
|
|
43
44
|
positions = CPEE::Persistence::extract_set(id,opts,'positions')
|
|
44
45
|
positions.map! do |k, v|
|
|
45
46
|
[ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
|
|
@@ -60,6 +61,7 @@ module CPEE
|
|
|
60
61
|
iopts[:global_executionhandlers] = opts[:global_executionhandlers]
|
|
61
62
|
end
|
|
62
63
|
iopts[:attributes] = attributes
|
|
64
|
+
iopts[:documents] = documents
|
|
63
65
|
iopts[:votes] = {}
|
|
64
66
|
CPEE::Persistence::extract_handlers(id,opts).each do |de|
|
|
65
67
|
if de[1] && de[1]&.empty?.!
|
data/server/routing/end.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227262
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227280
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227274
|
data/server/routing/persist.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227268
|
data/server/routing/persist.rb
CHANGED
|
@@ -39,6 +39,7 @@ Daemonite.new do |opts|
|
|
|
39
39
|
'event:' + ('%02i' % w) + ':executionhandler/change',
|
|
40
40
|
'event:' + ('%02i' % w) + ':description/change',
|
|
41
41
|
'event:' + ('%02i' % w) + ':dataelements/change',
|
|
42
|
+
'event:' + ('%02i' % w) + ':documents/change',
|
|
42
43
|
'event:' + ('%02i' % w) + ':endpoints/change',
|
|
43
44
|
'event:' + ('%02i' % w) + ':attributes/change',
|
|
44
45
|
'event:' + ('%02i' % w) + ':transformation/change',
|
|
@@ -86,7 +87,7 @@ Daemonite.new do |opts|
|
|
|
86
87
|
multi.set("instance:#{instance}/dslx",mess.dig('content','dslx'))
|
|
87
88
|
multi.set("instance:#{instance}/dsl",mess.dig('content','dsl'))
|
|
88
89
|
end
|
|
89
|
-
when /event:\d+:dataelements\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
|
|
90
|
+
when /event:\d+:dataelements\/change/, /event:\d+:documents\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
|
|
90
91
|
topic = mess.dig('topic')
|
|
91
92
|
max = opts[:redis].zrange("instance:#{instance}/#{topic}", -1, -1, :withscores => true)&.dig(0,1).to_i
|
|
92
93
|
if (eles = mess.dig('content','sort'))&.any?
|
data/tools/cpee
CHANGED
|
@@ -91,7 +91,7 @@ def js_libs(cockpit)
|
|
|
91
91
|
end
|
|
92
92
|
true
|
|
93
93
|
else
|
|
94
|
-
puts 'Internet access required to download javascript libs from "
|
|
94
|
+
puts 'Internet access required to download javascript libs from "https://cpee.org/js_libs/js_libs.zip".'
|
|
95
95
|
false
|
|
96
96
|
end
|
|
97
97
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cpee
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.132
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -242,6 +242,7 @@ files:
|
|
|
242
242
|
- cockpit/CPEE.xml
|
|
243
243
|
- cockpit/README
|
|
244
244
|
- cockpit/Signavio.xml
|
|
245
|
+
- cockpit/compliance-view.html
|
|
245
246
|
- cockpit/compliance.html
|
|
246
247
|
- cockpit/config.json
|
|
247
248
|
- cockpit/config.json.example
|
|
@@ -258,6 +259,7 @@ files:
|
|
|
258
259
|
- cockpit/css/llm.css
|
|
259
260
|
- cockpit/css/llm_active.svg
|
|
260
261
|
- cockpit/css/llm_inactive.svg
|
|
262
|
+
- cockpit/css/llmmodel.css
|
|
261
263
|
- cockpit/css/mode_active.svg
|
|
262
264
|
- cockpit/css/mode_inactive.svg
|
|
263
265
|
- cockpit/css/model.css
|
|
@@ -285,6 +287,7 @@ files:
|
|
|
285
287
|
- cockpit/only_llm.html
|
|
286
288
|
- cockpit/rngs/attributes.rng
|
|
287
289
|
- cockpit/rngs/dataelements.rng
|
|
290
|
+
- cockpit/rngs/documents.rng
|
|
288
291
|
- cockpit/rngs/endpoints.rng
|
|
289
292
|
- cockpit/rngs/requirements.rng
|
|
290
293
|
- cockpit/templates.legacy/Async.xml
|
|
@@ -354,6 +357,7 @@ files:
|
|
|
354
357
|
- cockpit/templates/instantiate/Take_Perf.xml
|
|
355
358
|
- cockpit/templates/instantiate/Take_Sub.xml
|
|
356
359
|
- cockpit/templates/instantiate/Take_X.xml
|
|
360
|
+
- cockpit/themes/THEMES.MD
|
|
357
361
|
- cockpit/themes/base.js
|
|
358
362
|
- cockpit/themes/control/rngs/alternative.rng
|
|
359
363
|
- cockpit/themes/control/rngs/call.rng
|
|
@@ -1104,7 +1108,6 @@ files:
|
|
|
1104
1108
|
- lib/callbacks.xml
|
|
1105
1109
|
- lib/callbacks/callbacks.rng
|
|
1106
1110
|
- lib/cpee.xml
|
|
1107
|
-
- lib/cpee/attributes_helper.rb
|
|
1108
1111
|
- lib/cpee/constants.rb
|
|
1109
1112
|
- lib/cpee/fail.rb
|
|
1110
1113
|
- lib/cpee/implementation.rb
|
|
@@ -1125,6 +1128,7 @@ files:
|
|
|
1125
1128
|
- lib/properties/attributes.rng
|
|
1126
1129
|
- lib/properties/dataelements.rng
|
|
1127
1130
|
- lib/properties/description.rng
|
|
1131
|
+
- lib/properties/documents.rng
|
|
1128
1132
|
- lib/properties/dsl.rng
|
|
1129
1133
|
- lib/properties/dslx.rng
|
|
1130
1134
|
- lib/properties/endpoints.rng
|
|
@@ -1141,6 +1145,7 @@ files:
|
|
|
1141
1145
|
- lib/properties/subscriptions.rng
|
|
1142
1146
|
- lib/properties/t_attributes.rng
|
|
1143
1147
|
- lib/properties/t_dataelements.rng
|
|
1148
|
+
- lib/properties/t_documents.rng
|
|
1144
1149
|
- lib/properties/t_endpoints.rng
|
|
1145
1150
|
- lib/properties/t_position.rng
|
|
1146
1151
|
- lib/properties/t_positions.rng
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# This file is part of CPEE.
|
|
2
|
-
#
|
|
3
|
-
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
|
4
|
-
# of the GNU General Public License as published by the Free Software Foundation,
|
|
5
|
-
# either version 3 of the License, or (at your option) any later version.
|
|
6
|
-
#
|
|
7
|
-
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
8
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
9
|
-
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
10
|
-
#
|
|
11
|
-
# You should have received a copy of the GNU General Public License along with
|
|
12
|
-
# CPEE (file COPYING in the main directory). If not, see
|
|
13
|
-
# <http://www.gnu.org/licenses/>.
|
|
14
|
-
|
|
15
|
-
require 'weel'
|
|
16
|
-
|
|
17
|
-
class AttributesHelper
|
|
18
|
-
def translate(__attributes__,__dataelements__,__endpoints__)
|
|
19
|
-
@data = WEEL::ReadHash.new(__dataelements__)
|
|
20
|
-
@endpoints = WEEL::ReadHash.new(__endpoints__)
|
|
21
|
-
@attributes = WEEL::ReadHash.new(__attributes__)
|
|
22
|
-
__attributes__.transform_values do |v|
|
|
23
|
-
v.gsub(/(!(attributes|data|endpoints)\.[\w_]+)/) do |m|
|
|
24
|
-
eval(m[1..-1])
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def data
|
|
30
|
-
@data
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def endpoints
|
|
34
|
-
@endpoints
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def attributes
|
|
38
|
-
@attributes
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|