cpee 2.1.126 → 2.1.128
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/cockpit/css/llm.css +12 -0
- data/cockpit/css/ui.css +11 -0
- data/cockpit/js/instance.js +51 -51
- data/cockpit/js/llm.js +11 -3
- data/cockpit/js/wfadaptor.js +1 -2
- data/cockpit/llm.html +2 -2
- data/cockpit/llmmodel.html +206 -0
- data/cockpit/themes/base.js +41 -18
- data/cockpit/themes/preset_model/rngs/alternative.rng +8 -0
- data/cockpit/themes/preset_model/rngs/call.rng +34 -0
- data/cockpit/themes/preset_model/rngs/callmanipulate.rng +39 -0
- data/cockpit/themes/preset_model/rngs/choose.rng +27 -0
- data/cockpit/themes/preset_model/rngs/critical.rng +8 -0
- data/cockpit/themes/preset_model/rngs/escape.rng +5 -0
- data/cockpit/themes/preset_model/rngs/group.rng +3 -0
- data/cockpit/themes/preset_model/rngs/loop.rng +14 -0
- data/cockpit/themes/preset_model/rngs/manipulate.rng +32 -0
- data/cockpit/themes/preset_model/rngs/otherwise.rng +5 -0
- data/cockpit/themes/preset_model/rngs/parallel.rng +24 -0
- data/cockpit/themes/preset_model/rngs/parallel_branch.rng +5 -0
- data/cockpit/themes/preset_model/rngs/scripts.rng +5 -0
- data/cockpit/themes/preset_model/rngs/start.rng +22 -0
- data/cockpit/themes/preset_model/rngs/stop.rng +5 -0
- data/cockpit/themes/preset_model/rngs/terminate.rng +8 -0
- data/cockpit/themes/preset_model/rngs/wait_for_signal.rng +8 -0
- data/cockpit/themes/preset_model/symbols/alternative.svg +15 -0
- data/cockpit/themes/preset_model/symbols/arrow.svg +3 -0
- data/cockpit/themes/preset_model/symbols/call.svg +19 -0
- data/cockpit/themes/preset_model/symbols/call_sensor.svg +23 -0
- data/cockpit/themes/preset_model/symbols/callmanipulate.svg +23 -0
- data/cockpit/themes/preset_model/symbols/callmanipulate_sensor.svg +26 -0
- data/cockpit/themes/preset_model/symbols/callmanipulate_sensor_signal.svg +32 -0
- data/cockpit/themes/preset_model/symbols/callmanipulate_signal.svg +29 -0
- data/cockpit/themes/preset_model/symbols/choose.svg +15 -0
- data/cockpit/themes/preset_model/symbols/choose_exclusive.svg +15 -0
- data/cockpit/themes/preset_model/symbols/choose_exclusive_finish.svg +5 -0
- data/cockpit/themes/preset_model/symbols/choose_inclusive.svg +13 -0
- data/cockpit/themes/preset_model/symbols/choose_inclusive_finish.svg +4 -0
- data/cockpit/themes/preset_model/symbols/closed_loop.svg +5 -0
- data/cockpit/themes/preset_model/symbols/closed_loop_cancel.svg +5 -0
- data/cockpit/themes/preset_model/symbols/closed_loop_control.svg +5 -0
- data/cockpit/themes/preset_model/symbols/closed_loop_measuring.svg +6 -0
- data/cockpit/themes/preset_model/symbols/complex.svg +8 -0
- data/cockpit/themes/preset_model/symbols/critical.svg +5 -0
- data/cockpit/themes/preset_model/symbols/delete.svg +4 -0
- data/cockpit/themes/preset_model/symbols/end.svg +3 -0
- data/cockpit/themes/preset_model/symbols/escape.svg +5 -0
- data/cockpit/themes/preset_model/symbols/event_end.svg +3 -0
- data/cockpit/themes/preset_model/symbols/loop.svg +15 -0
- data/cockpit/themes/preset_model/symbols/loop_end.svg +15 -0
- data/cockpit/themes/preset_model/symbols/manipulate.svg +19 -0
- data/cockpit/themes/preset_model/symbols/mark.svg +8 -0
- data/cockpit/themes/preset_model/symbols/otherwise.svg +5 -0
- data/cockpit/themes/preset_model/symbols/parallel.svg +6 -0
- data/cockpit/themes/preset_model/symbols/parallel_branch.svg +5 -0
- data/cockpit/themes/preset_model/symbols/parallel_branch_event.svg +14 -0
- data/cockpit/themes/preset_model/symbols/parallel_branch_normal.svg +5 -0
- data/cockpit/themes/preset_model/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/preset_model/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/preset_model/symbols/scripts.svg +4 -0
- data/cockpit/themes/preset_model/symbols/start.svg +3 -0
- data/cockpit/themes/preset_model/symbols/start_event.svg +5 -0
- data/cockpit/themes/preset_model/symbols/stop.svg +5 -0
- data/cockpit/themes/preset_model/symbols/terminate.svg +4 -0
- data/cockpit/themes/preset_model/symbols/wait_for_signal.svg +21 -0
- data/cockpit/themes/preset_model/theme.js +50 -0
- data/cpee.gemspec +1 -1
- 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
- metadata +60 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bcd03c0a07a2a1e264b5d3f8470ab2b0c1f9e6603b02e9c3448493cf6410d717
|
|
4
|
+
data.tar.gz: 4c38994ad48fa9703749b8d675bfa657cbac4f34e31ec17cce66405b486c5ae4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 488800a06b5b45929a7b6f0dbad7300d6bdd77c4f7f3865d8e4968e5c3b197243d791346394bc7bbe320b9ece2bd56bb8a675982a7b58a1003a966b1b3fb18be
|
|
7
|
+
data.tar.gz: 6225dabee23d8f553b3fb02595995fbc44774d993735e6171ddd6d8961e2035d7e9a547b16395a9bf5dc6d7a5defe762fbdbbce7bdf20d51b06489c6d8f06fb4
|
data/cockpit/css/llm.css
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
display: none;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
+
#graphcolumn {
|
|
6
|
+
min-width: 30em !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
#status {
|
|
6
10
|
padding: 0.2em 0.5em;
|
|
7
11
|
border-top: 0.1em solid var(--x-ui-border-color);
|
|
@@ -111,3 +115,11 @@
|
|
|
111
115
|
.llm_button:hover {
|
|
112
116
|
background-color: var(--wfadaptor-selected);
|
|
113
117
|
}
|
|
118
|
+
|
|
119
|
+
#detailcolumn {
|
|
120
|
+
padding-left: 0em !important;
|
|
121
|
+
}
|
|
122
|
+
#details {
|
|
123
|
+
padding-left: 1.5em;
|
|
124
|
+
min-height: 7em;
|
|
125
|
+
}
|
data/cockpit/css/ui.css
CHANGED
|
@@ -185,6 +185,11 @@ span.vote {
|
|
|
185
185
|
color: #73d216;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
#details {
|
|
189
|
+
flex: 0 1 auto;
|
|
190
|
+
height: 100%;
|
|
191
|
+
overflow: scroll;
|
|
192
|
+
}
|
|
188
193
|
#modelling {
|
|
189
194
|
flex: 0 1 auto;
|
|
190
195
|
height: 100%;
|
|
@@ -198,6 +203,10 @@ span.vote {
|
|
|
198
203
|
margin-right: 0.2em;
|
|
199
204
|
margin-bottom: 0.2em;
|
|
200
205
|
}
|
|
206
|
+
#detailcolumn ui-resizehandle {
|
|
207
|
+
margin-right: 0.5em;
|
|
208
|
+
margin-bottom: 0.2em;
|
|
209
|
+
}
|
|
201
210
|
|
|
202
211
|
#graphcolumn {
|
|
203
212
|
margin: 0;
|
|
@@ -210,6 +219,8 @@ span.vote {
|
|
|
210
219
|
}
|
|
211
220
|
#detailcolumn {
|
|
212
221
|
padding-left: 1.5em;
|
|
222
|
+
display: flex;
|
|
223
|
+
flex-direction: column;
|
|
213
224
|
}
|
|
214
225
|
|
|
215
226
|
#dat_log tr:nth-child(odd) { background-color: #e8e8e8; color: #333; }
|
data/cockpit/js/instance.js
CHANGED
|
@@ -95,6 +95,47 @@ var sub_less = 'topic' + '=' + 'activity' + '&' +// {{{
|
|
|
95
95
|
'topic' + '=' + 'handlers' + '&' +
|
|
96
96
|
'events' + '=' + 'change';// }}}
|
|
97
97
|
|
|
98
|
+
function sanitize_url(url) { //{{{
|
|
99
|
+
var lastChar = url.substr(url.length - 1)
|
|
100
|
+
if (lastChar != '/') {
|
|
101
|
+
url = (url + '/');
|
|
102
|
+
}
|
|
103
|
+
return url;
|
|
104
|
+
}
|
|
105
|
+
//}}}
|
|
106
|
+
function translate_endpoint(ep) { //{{{
|
|
107
|
+
return ep.replace(/\{[^\/\}]+\}/g,'*');
|
|
108
|
+
} //}}}
|
|
109
|
+
function get_resource(base, key, loc, cache) { //{{{
|
|
110
|
+
cache[key] = {};
|
|
111
|
+
let deferreds = [new $.Deferred(), new $.Deferred(), new $.Deferred()];
|
|
112
|
+
$.ajax({
|
|
113
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/symbol.svg",
|
|
114
|
+
success: function(res) {
|
|
115
|
+
cache[key]['symbol'] = res;
|
|
116
|
+
deferreds[0].resolve(true);
|
|
117
|
+
},
|
|
118
|
+
error: deferreds[0].resolve
|
|
119
|
+
})
|
|
120
|
+
$.ajax({
|
|
121
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/schema.rng",
|
|
122
|
+
success: function(res) {
|
|
123
|
+
cache[key]['schema'] = res;
|
|
124
|
+
deferreds[1].resolve(true);
|
|
125
|
+
},
|
|
126
|
+
error: deferreds[1].resolve
|
|
127
|
+
})
|
|
128
|
+
$.ajax({
|
|
129
|
+
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/properties.json",
|
|
130
|
+
success: function(res) {
|
|
131
|
+
cache[key]['properties'] = res;
|
|
132
|
+
deferreds[2].resolve(true);
|
|
133
|
+
},
|
|
134
|
+
error: deferreds[2].resolve
|
|
135
|
+
})
|
|
136
|
+
return deferreds;
|
|
137
|
+
} //}}}
|
|
138
|
+
|
|
98
139
|
function cockpit() { //{{{
|
|
99
140
|
$("button[name=base]").click(function(){ create_instance($("input[name=base-url]").val(),null,false,false); });
|
|
100
141
|
$("button[name=instance]").click(function(){ uidash_activate_tab("#tabinstance"); monitor_instance($("input[name=instance-url]").val(),$("input[name=res-url]").val(),false,false); });
|
|
@@ -229,14 +270,6 @@ function cockpit() { //{{{
|
|
|
229
270
|
});
|
|
230
271
|
} //}}}
|
|
231
272
|
|
|
232
|
-
function sanitize_url(url) { //{{{
|
|
233
|
-
var lastChar = url.substr(url.length - 1)
|
|
234
|
-
if (lastChar != '/') {
|
|
235
|
-
url = (url + '/');
|
|
236
|
-
}
|
|
237
|
-
return url;
|
|
238
|
-
}
|
|
239
|
-
//}}}
|
|
240
273
|
function check_subscription() { // {{{
|
|
241
274
|
var url = $('body').attr('current-instance');
|
|
242
275
|
var num = 0;
|
|
@@ -326,6 +359,7 @@ async function sse() { //{{{
|
|
|
326
359
|
break;
|
|
327
360
|
case 'description':
|
|
328
361
|
monitor_instance_dsl();
|
|
362
|
+
monitor_graph_change(false);
|
|
329
363
|
break;
|
|
330
364
|
case 'endpoints':
|
|
331
365
|
monitor_instance_values("endpoints");
|
|
@@ -373,6 +407,7 @@ async function sse() { //{{{
|
|
|
373
407
|
await monitor_instance_values("attributes"); // attributes first, to catch the <resources> attribute which overrides current-resources
|
|
374
408
|
monitor_instance_values("dataelements");
|
|
375
409
|
monitor_instance_dsl();
|
|
410
|
+
monitor_graph_change(false);
|
|
376
411
|
monitor_instance_state();
|
|
377
412
|
} //}}}
|
|
378
413
|
|
|
@@ -453,40 +488,6 @@ function monitor_instance(cin,rep,load,exec) {// {{{
|
|
|
453
488
|
});
|
|
454
489
|
}// }}}
|
|
455
490
|
|
|
456
|
-
function translate_endpoint(ep) {
|
|
457
|
-
return ep.replace(/\{[^\/\}]+\}/g,'*');
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
function get_resource(base, key, loc, cache) {
|
|
461
|
-
cache[key] = {};
|
|
462
|
-
let deferreds = [new $.Deferred(), new $.Deferred(), new $.Deferred()];
|
|
463
|
-
$.ajax({
|
|
464
|
-
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/symbol.svg",
|
|
465
|
-
success: function(res) {
|
|
466
|
-
cache[key]['symbol'] = res;
|
|
467
|
-
deferreds[0].resolve(true);
|
|
468
|
-
},
|
|
469
|
-
error: deferreds[0].resolve
|
|
470
|
-
})
|
|
471
|
-
$.ajax({
|
|
472
|
-
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/schema.rng",
|
|
473
|
-
success: function(res) {
|
|
474
|
-
cache[key]['schema'] = res;
|
|
475
|
-
deferreds[1].resolve(true);
|
|
476
|
-
},
|
|
477
|
-
error: deferreds[1].resolve
|
|
478
|
-
})
|
|
479
|
-
$.ajax({
|
|
480
|
-
url: base + 'endpoints/' + encodeURIComponent(translate_endpoint(loc)) + "/properties.json",
|
|
481
|
-
success: function(res) {
|
|
482
|
-
cache[key]['properties'] = res;
|
|
483
|
-
deferreds[2].resolve(true);
|
|
484
|
-
},
|
|
485
|
-
error: deferreds[2].resolve
|
|
486
|
-
})
|
|
487
|
-
return deferreds;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
491
|
function monitor_instance_values(type,vals) {// {{{
|
|
491
492
|
if (type == "dataelements" && save['state'] == "running") {
|
|
492
493
|
let de = save[type].save();
|
|
@@ -771,7 +772,6 @@ function monitor_instance_dsl() {// {{{
|
|
|
771
772
|
res = res.replace(/activity\s+\[:([A-Za-z][a-zA-Z0-9_]+)([^\]]*\])/g,"<span class='activities' id=\"activity-$1\">activity [:$1$2</span>");
|
|
772
773
|
|
|
773
774
|
ctv.append(res);
|
|
774
|
-
monitor_graph_change(false);
|
|
775
775
|
}
|
|
776
776
|
}
|
|
777
777
|
});
|
|
@@ -1600,9 +1600,7 @@ function append_to_log(what,type,message) {//{{{
|
|
|
1600
1600
|
}
|
|
1601
1601
|
}//}}}
|
|
1602
1602
|
|
|
1603
|
-
function
|
|
1604
|
-
|
|
1605
|
-
function ui_pos(e,bl) {
|
|
1603
|
+
function ui_pos(e,bl) { //{{{
|
|
1606
1604
|
var url = $('body').attr('current-instance');
|
|
1607
1605
|
var coll = [];
|
|
1608
1606
|
$('g.element.primitive > g.activities.active, g.element.primitive > g.activities.passive').each(function(a,b){
|
|
@@ -1626,16 +1624,18 @@ function ui_pos(e,bl) {
|
|
|
1626
1624
|
success: monitor_instance_pos,
|
|
1627
1625
|
error: report_failure
|
|
1628
1626
|
});
|
|
1629
|
-
}
|
|
1630
|
-
function del_ui_pos(e) {
|
|
1627
|
+
} //}}}
|
|
1628
|
+
function del_ui_pos(e) { //{{{
|
|
1631
1629
|
ui_pos(e,function(coll){
|
|
1632
1630
|
coll.splice(coll.findIndex((ele)=>ele[0] == $(e).attr('id')),1);
|
|
1633
1631
|
return coll;
|
|
1634
1632
|
});
|
|
1635
|
-
}
|
|
1636
|
-
function add_ui_pos(e) {
|
|
1633
|
+
} //}}}
|
|
1634
|
+
function add_ui_pos(e) { //{{{
|
|
1637
1635
|
ui_pos(e,function(coll){
|
|
1638
1636
|
coll.push([$(e).attr('id'), e.nodeName == 'stop' ? 'after' : 'at']);
|
|
1639
1637
|
return coll;
|
|
1640
1638
|
});
|
|
1641
|
-
}
|
|
1639
|
+
} //}}}
|
|
1640
|
+
|
|
1641
|
+
function report_failure(){}
|
data/cockpit/js/llm.js
CHANGED
|
@@ -343,7 +343,7 @@ $(document).ready(async function() { //{{{
|
|
|
343
343
|
var menu = new CustomMenu(e);
|
|
344
344
|
|
|
345
345
|
var mode_entries = [];
|
|
346
|
-
$('#mode option').each(function(){
|
|
346
|
+
$('#mode.active option').each(function(){
|
|
347
347
|
mode_entries.push({
|
|
348
348
|
label: $(this).text(),
|
|
349
349
|
menu_icon: $(this).is(':selected') ? mode_active : mode_inactive,
|
|
@@ -357,7 +357,7 @@ $(document).ready(async function() { //{{{
|
|
|
357
357
|
});
|
|
358
358
|
|
|
359
359
|
var llm_entries = [];
|
|
360
|
-
$('#llms option').each(function(){
|
|
360
|
+
$('#llms.active option').each(function(){
|
|
361
361
|
llm_entries.push({
|
|
362
362
|
label: $(this).text(),
|
|
363
363
|
menu_icon: $(this).is(':selected') ? llm_active : llm_inactive,
|
|
@@ -370,7 +370,15 @@ $(document).ready(async function() { //{{{
|
|
|
370
370
|
});
|
|
371
371
|
});
|
|
372
372
|
|
|
373
|
-
|
|
373
|
+
let res = {};
|
|
374
|
+
if (mode_entries.length > 0) {
|
|
375
|
+
res['Models'] = mode_entries;
|
|
376
|
+
}
|
|
377
|
+
if (llm_entries.length > 0) {
|
|
378
|
+
res['LLMs'] = llm_entries;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
menu.contextmenu(res);
|
|
374
382
|
});
|
|
375
383
|
$("#loadtxt").change(function(e){
|
|
376
384
|
let files = document.getElementById('loadtxt').files;
|
data/cockpit/js/wfadaptor.js
CHANGED
|
@@ -923,7 +923,6 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
923
923
|
} // }}}
|
|
924
924
|
|
|
925
925
|
var reset_used_id_list = this.reset_used_id_list = function() { // {{{
|
|
926
|
-
console.log('bbbbb');
|
|
927
926
|
used_id_list = [];
|
|
928
927
|
} // }}}
|
|
929
928
|
var get_free_id = this.get_free_id = function(prefix,aname,other) { // {{{
|
|
@@ -990,7 +989,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
990
989
|
adaptor.notify(newn.attr('svg-id'));
|
|
991
990
|
else if (svgid != undefined)
|
|
992
991
|
adaptor.notify(svgid);
|
|
993
|
-
else if (newn.
|
|
992
|
+
else if (newn.parents('[svg-id]').length > 0)
|
|
994
993
|
adaptor.notify(newn.parent('[svg-id]').attr('svg-id'));
|
|
995
994
|
else
|
|
996
995
|
console.info('Something went horribly wrong');
|
data/cockpit/llm.html
CHANGED
|
@@ -277,14 +277,14 @@
|
|
|
277
277
|
<option value="model">Only Model</option>
|
|
278
278
|
<option value="dataflow" selected="selected">Model and Dataflow</option>
|
|
279
279
|
</select>
|
|
280
|
-
<select name="mode" id="mode" class='hidden'>
|
|
280
|
+
<select name="mode" id="mode" class='active hidden'>
|
|
281
281
|
<option value="noendpoints" selected="selected">Generate/Adapt from Scratch</option>
|
|
282
282
|
<option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
|
|
283
283
|
</select>
|
|
284
284
|
<button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button>
|
|
285
285
|
<button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button>
|
|
286
286
|
<button id='prompt_prop_button' title="Properties" class="llm_button small">⚙</button>
|
|
287
|
-
<select name="llms" id="llms" class='hidden'>
|
|
287
|
+
<select name="llms" id="llms" class='active hidden'>
|
|
288
288
|
<option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
|
|
289
289
|
<option value="gemini-3.1-flash">gemini 3.1 Flash</option>
|
|
290
290
|
<option value="gemini-3.1-pro">gemini 3.1 Pro</option>
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
This file is part of CPEE.
|
|
3
|
+
|
|
4
|
+
CPEE is free software: you can redistribute it and/or modify it under the terms
|
|
5
|
+
of the GNU General Public License as published by the Free Software Foundation,
|
|
6
|
+
either version 3 of the License, or (at your option) any later version.
|
|
7
|
+
|
|
8
|
+
CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
9
|
+
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
10
|
+
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
11
|
+
|
|
12
|
+
You should have received a copy of the GNU General Public License along with
|
|
13
|
+
CPEE (file COPYING in the main directory). If not, see
|
|
14
|
+
<http://www.gnu.org/licenses/>.
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
<!DOCTYPE html>
|
|
18
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
19
|
+
<head>
|
|
20
|
+
<meta charset="utf-8"/>
|
|
21
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
22
|
+
<title>CPEE Cockpit</title>
|
|
23
|
+
|
|
24
|
+
<!-- libs, do not modify. When local than load local libs. -->
|
|
25
|
+
<script type="text/javascript" src="/js_libs/jquery.min.js"></script>
|
|
26
|
+
<script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
|
|
27
|
+
<script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
|
|
28
|
+
<script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
|
|
29
|
+
<script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
|
|
30
|
+
<script type="text/javascript" src="/js_libs/util.js"></script>
|
|
31
|
+
<script type="text/javascript" src="/js_libs/printf.js"></script>
|
|
32
|
+
<script type="text/javascript" src="/js_libs/strftime.min.js"></script>
|
|
33
|
+
<script type="text/javascript" src="/js_libs/parsequery.js"></script>
|
|
34
|
+
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
|
35
|
+
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
|
36
|
+
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
|
37
|
+
|
|
38
|
+
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
|
39
|
+
|
|
40
|
+
<script type="text/javascript" src="/js_libs/uidash.js"></script>
|
|
41
|
+
<script type="text/javascript" src="/js_libs/custommenu.js"></script>
|
|
42
|
+
|
|
43
|
+
<link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
|
|
44
|
+
<link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
|
|
45
|
+
|
|
46
|
+
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
|
47
|
+
|
|
48
|
+
<!-- modelling ui -->
|
|
49
|
+
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
|
50
|
+
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
|
|
51
|
+
|
|
52
|
+
<!-- custom stuff, play arround -->
|
|
53
|
+
<script type="text/javascript" src="js/ui.js"></script>
|
|
54
|
+
<script type="text/javascript" src="js/instance.js"></script>
|
|
55
|
+
<script type="text/javascript" src="js/details.js"></script>
|
|
56
|
+
<script type="text/javascript" src="js/parameters.js"></script>
|
|
57
|
+
<script type="text/javascript" src="js/extended_columns.js"></script>
|
|
58
|
+
<script type="text/javascript" src="js/modifiers.js"></script>
|
|
59
|
+
<script type="text/javascript" src="themes/base.js"></script>
|
|
60
|
+
|
|
61
|
+
<script type="text/javascript" src="js/llm.js"></script>
|
|
62
|
+
<link rel="stylesheet" href="css/llm.css" type="text/css"/>
|
|
63
|
+
<link rel="stylesheet" href="css/llmmodel.css" type="text/css"/>
|
|
64
|
+
|
|
65
|
+
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
|
66
|
+
<link rel="stylesheet" href="css/extended_columns-label.css" type="text/css"/>
|
|
67
|
+
<link rel="stylesheet" href="css/extended_columns-svg.css" type="text/css" data-include-export="true"/>
|
|
68
|
+
<link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
|
|
69
|
+
<style></style>
|
|
70
|
+
</head>
|
|
71
|
+
<body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
|
|
72
|
+
<div class='hidden' id='relaxngworker'></div>
|
|
73
|
+
|
|
74
|
+
<div class='menu' id='templates'></div>
|
|
75
|
+
<div class='menu' id='modeltypes'></div>
|
|
76
|
+
|
|
77
|
+
<template id="label">
|
|
78
|
+
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
|
|
79
|
+
<g transform="translate(1 %%1) rotate(-%%2)">
|
|
80
|
+
<rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
|
|
81
|
+
<path class="displaylabel" d="M10,13 0,13 8,8"/>
|
|
82
|
+
<path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
|
|
83
|
+
<text class="label" x="18" y="10">aaaa</text>
|
|
84
|
+
</g>
|
|
85
|
+
</svg>
|
|
86
|
+
</template>
|
|
87
|
+
|
|
88
|
+
<ui-tabbed id="instance">
|
|
89
|
+
<ui-tabbar>
|
|
90
|
+
<ui-tab class="switch" ></ui-tab>
|
|
91
|
+
<ui-tab class="" data-tab="new" id="tabnew" >New</ui-tab>
|
|
92
|
+
<ui-tab class="inactive hidden" data-tab="instance" id="tabinstance" >Instance</ui-tab>
|
|
93
|
+
<ui-behind ><a style='display:none' target='_blank' id='current-instance'></a><a style='display:none' target='_blank' id='current-instance-properties'>P</a><a style='display:none' target='_blank' id='current-instance-subscriptions'>S</a><a style='display:none' target='_blank' id='current-instance-callbacks'>C</a></ui-behind>
|
|
94
|
+
<ui-last ><a class="logo" href=".."></a></ui-last>
|
|
95
|
+
</ui-tabbar>
|
|
96
|
+
<ui-content>
|
|
97
|
+
<ui-area data-belongs-to-tab="new" id="areanew"> <!--{{{-->
|
|
98
|
+
<table class='x-ui-layout'>
|
|
99
|
+
<tr>
|
|
100
|
+
<td>Resources:</td>
|
|
101
|
+
<td><input name="res-url" type="text" value=""/></td>
|
|
102
|
+
<td></td>
|
|
103
|
+
</tr>
|
|
104
|
+
<tr>
|
|
105
|
+
<td>Engine:</td>
|
|
106
|
+
<td><input name="base-url" type="text" value=""/></td>
|
|
107
|
+
<td><button name="base">create new instance</button></td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td>Instance:</td>
|
|
111
|
+
<td><input name="instance-url" type="text" value=""/></td>
|
|
112
|
+
<td><button name="instance">monitor instance</button></td>
|
|
113
|
+
</tr>
|
|
114
|
+
</table>
|
|
115
|
+
</ui-area> <!--}}}-->
|
|
116
|
+
<ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
|
|
117
|
+
<div>
|
|
118
|
+
<div class='section'>
|
|
119
|
+
<div>
|
|
120
|
+
<form id='fuckchrome'>
|
|
121
|
+
<input type='file' name='testsetfile' id='testsetfile'/>
|
|
122
|
+
</form>
|
|
123
|
+
<button title='a template includes various settings, subscriptions or a (partial) model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions or a model' name="loadtestsetfile">load testset</button>
|
|
124
|
+
</div>
|
|
125
|
+
<div>
|
|
126
|
+
<input type='file' name='modelfile' id='modelfile'/>
|
|
127
|
+
<button title='a standalone process model is only loadable if the currently loaded testset sucessfully prepared the current instance for the type of model' name="loadmodelfile">load model</button>
|
|
128
|
+
</div>
|
|
129
|
+
</div><div class='section'>
|
|
130
|
+
<a id="savetestsetfile" href="" download=""></a>
|
|
131
|
+
<a id="savesvgfile" href="" download=""></a>
|
|
132
|
+
<button title='a testset includes various settings, subscriptions and a model' name="savetestsetfile">save<br>testset</button>
|
|
133
|
+
<button title='a testset includes various settings, subscriptions and a model' name="savesvgfile">save svg<br>graph</button>
|
|
134
|
+
</div><div class='section' id='modifiers'>
|
|
135
|
+
<template id="item">
|
|
136
|
+
<div>
|
|
137
|
+
<div class='title'><strong></strong></div>
|
|
138
|
+
<div class='select'><select></select></div>
|
|
139
|
+
<div class='additional'></div>
|
|
140
|
+
</div>
|
|
141
|
+
</template>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</ui-area> <!--}}}-->
|
|
145
|
+
</ui-content>
|
|
146
|
+
</ui-tabbed>
|
|
147
|
+
|
|
148
|
+
<ui-rest id="main" class="hidden">
|
|
149
|
+
<ui-tabbar>
|
|
150
|
+
<ui-before ></ui-before>
|
|
151
|
+
<ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
|
|
152
|
+
<ui-tab class="inactive" data-tab="dsl" id="tabdsl" >Description</ui-tab>
|
|
153
|
+
<ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
|
|
154
|
+
<ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
|
|
155
|
+
</ui-tabbar>
|
|
156
|
+
<ui-content>
|
|
157
|
+
<ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
|
|
158
|
+
<ui-part id='modelling'>
|
|
159
|
+
<div id='graphgrid'>
|
|
160
|
+
<div class="resource-label" style="display: none"></div>
|
|
161
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
|
|
162
|
+
</div>
|
|
163
|
+
</ui-part>
|
|
164
|
+
</ui-area>
|
|
165
|
+
<ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
|
|
166
|
+
<ui-area data-belongs-to-tab="details" id="detailcolumn">
|
|
167
|
+
<ui-part id='details'>
|
|
168
|
+
<div id="dat_details" class='x-ui-layout'></div>
|
|
169
|
+
</ui-part>
|
|
170
|
+
<ui-resizehandle class='hidden'>drag to resize</ui-resizehandle>
|
|
171
|
+
<ui-part id='input'>
|
|
172
|
+
<div id='status'></div>
|
|
173
|
+
<div id='prompt_container' class="max">
|
|
174
|
+
<div id='prompt' contenteditable="true" title="Please enter your modelling instructions here..." placeholder="Please enter your modelling instructions here..."></div>
|
|
175
|
+
<div id='prompt_submit_container' class="single">
|
|
176
|
+
<select name="generation" id="generation" class='hidden'>
|
|
177
|
+
<option value="model" selected="selected">Only Model</option>
|
|
178
|
+
<option value="dataflow">Model and Dataflow</option>
|
|
179
|
+
</select>
|
|
180
|
+
<select name="mode" id="mode" class='hidden'>
|
|
181
|
+
<option value="noendpoints_docdescription" selected="selected">Generate/Adapt DocDescription</option>
|
|
182
|
+
<option value="noendpoints">Generate/Adapt from Scratch</option>
|
|
183
|
+
<option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
|
|
184
|
+
</select>
|
|
185
|
+
<button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button>
|
|
186
|
+
<button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button>
|
|
187
|
+
<button id='prompt_prop_button' title="Properties" class="llm_button small">⚙</button>
|
|
188
|
+
<select name="llms" id="llms" class='active hidden'>
|
|
189
|
+
<option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
|
|
190
|
+
<option value="gemini-3.1-flash">gemini 3.1 Flash</option>
|
|
191
|
+
<option value="gemini-3.1-pro">gemini 3.1 Pro</option>
|
|
192
|
+
</select>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</ui-part>
|
|
196
|
+
</ui-area>
|
|
197
|
+
<ui-area data-belongs-to-tab="dsl" id="areadsl" class="inactive"></ui-area>
|
|
198
|
+
<ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
|
|
199
|
+
<div>Persistent Log: <a style='display:none' target='_blank' id='current-log'></a> [<a style='display:none' target='_blank' id='xml-log'>X</a>,<a style='display:none' target='_blank' id='shifted-log'>S</a>]</div>
|
|
200
|
+
<table id="dat_log" class="x-ui-layout"></table>
|
|
201
|
+
</ui-area> <!--}}}-->
|
|
202
|
+
</ui-content>
|
|
203
|
+
</ui-rest>
|
|
204
|
+
|
|
205
|
+
</body>
|
|
206
|
+
</html>
|
data/cockpit/themes/base.js
CHANGED
|
@@ -4,6 +4,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
4
4
|
this.adaptor = adaptor;
|
|
5
5
|
this.resources = {};
|
|
6
6
|
this.elements = {};
|
|
7
|
+
this.strings = {};
|
|
7
8
|
this.events = {};
|
|
8
9
|
this.compact = false;
|
|
9
10
|
this.striped = false;
|
|
@@ -261,17 +262,19 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
261
262
|
})
|
|
262
263
|
}
|
|
263
264
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
'
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
265
|
+
|
|
266
|
+
if (self.elements[xml_node.get(0).tagName].removable_children) {
|
|
267
|
+
let group = self.elements[xml_node.get(0).tagName].removable_children(xml_node);
|
|
268
|
+
if (group.length > 0) {
|
|
269
|
+
if (!('Delete' in menu)) {
|
|
270
|
+
menu['Delete'] = [];
|
|
271
|
+
}
|
|
272
|
+
$(group).each((_,e)=>{
|
|
273
|
+
menu['Delete'].push(e);
|
|
274
|
+
});
|
|
275
|
+
}
|
|
274
276
|
}
|
|
277
|
+
|
|
275
278
|
if (xml_node.get(0).tagName == "call" || xml_node.get(0).tagName == "manipulate" || xml_node.get(0).tagName == "stop") {
|
|
276
279
|
let exec_icon = contextMenuHandling_clean_icon(self.elements.call.illustrator.svg);
|
|
277
280
|
let mark_icon = self.resources.mark;
|
|
@@ -386,6 +389,9 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
386
389
|
this.events.dragstart = function (svgid, e) { //{{{
|
|
387
390
|
} //}}}
|
|
388
391
|
|
|
392
|
+
// Other Strings
|
|
393
|
+
this.strings.scripts = 'Scripts';
|
|
394
|
+
|
|
389
395
|
// Other resources
|
|
390
396
|
this.resources.arrow = self.adaptor.theme_dir + 'symbols/arrow.svg';
|
|
391
397
|
this.resources.delete = self.adaptor.theme_dir + 'symbols/delete.svg';
|
|
@@ -442,7 +448,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
442
448
|
'permissible_children': function(node,mode) { //{{{
|
|
443
449
|
if(node.children('code').length < 1)
|
|
444
450
|
return [
|
|
445
|
-
{'label':
|
|
451
|
+
{'label': self.strings.scripts,
|
|
446
452
|
'function_call': self.adaptor.description.insert_last_into,
|
|
447
453
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
448
454
|
'type': undefined,
|
|
@@ -450,6 +456,23 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
450
456
|
];
|
|
451
457
|
return [];
|
|
452
458
|
}, //}}}
|
|
459
|
+
'removable_children': function(node) { //{{{
|
|
460
|
+
if(node.children('code').length > 0) {
|
|
461
|
+
var icon = contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg);
|
|
462
|
+
icon.find('.part-extra .colorstyle').css('fill','var(--wfadaptor-important');
|
|
463
|
+
return [
|
|
464
|
+
{
|
|
465
|
+
'label': 'Remove ' + self.strings.scripts,
|
|
466
|
+
'function_call': self.adaptor.description.remove,
|
|
467
|
+
'menu_icon': icon,
|
|
468
|
+
'type': undefined,
|
|
469
|
+
'params': ['> code', node]
|
|
470
|
+
}
|
|
471
|
+
];
|
|
472
|
+
} else {
|
|
473
|
+
return [];
|
|
474
|
+
}
|
|
475
|
+
}, //}}}
|
|
453
476
|
'adaptor': {//{{{
|
|
454
477
|
'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
|
|
455
478
|
'touchstart': function (node,e) { self.events.touchstart(node,e,true,true); },
|
|
@@ -760,7 +783,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
760
783
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
|
761
784
|
else { func = self.adaptor.description.insert_after }
|
|
762
785
|
var childs = [
|
|
763
|
-
{'label': 'Service Call with
|
|
786
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
764
787
|
'function_call': func,
|
|
765
788
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
766
789
|
'type': 'callmanipulate',
|
|
@@ -857,7 +880,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
857
880
|
'params': [self.adaptor.description.elements.parallel_branch, node]}];
|
|
858
881
|
}
|
|
859
882
|
var childs = [
|
|
860
|
-
{'label': 'Service Call with
|
|
883
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
861
884
|
'function_call': func,
|
|
862
885
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
863
886
|
'type': 'callmanipulate',
|
|
@@ -948,7 +971,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
948
971
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
|
949
972
|
else { func = self.adaptor.description.insert_after }
|
|
950
973
|
var childs = [
|
|
951
|
-
{'label': 'Service Call with
|
|
974
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
952
975
|
'function_call': func,
|
|
953
976
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
954
977
|
'type': 'callmanipulate',
|
|
@@ -1069,7 +1092,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
1069
1092
|
if (mode.match(/into/)) { func = self.adaptor.description.insert_first_into }
|
|
1070
1093
|
else { func = self.adaptor.description.insert_after }
|
|
1071
1094
|
var childs = [
|
|
1072
|
-
{'label': 'Service Call with
|
|
1095
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
1073
1096
|
'function_call': func,
|
|
1074
1097
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
1075
1098
|
'type': 'callmanipulate',
|
|
@@ -1147,7 +1170,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
1147
1170
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
|
1148
1171
|
else { func = self.adaptor.description.insert_after }
|
|
1149
1172
|
var childs = [
|
|
1150
|
-
{'label': 'Service Call with
|
|
1173
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
1151
1174
|
'function_call': func,
|
|
1152
1175
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
1153
1176
|
'type': 'callmanipulate',
|
|
@@ -1237,7 +1260,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
1237
1260
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
|
1238
1261
|
else { func = self.adaptor.description.insert_after }
|
|
1239
1262
|
var childs = [
|
|
1240
|
-
{'label': 'Service Call with
|
|
1263
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
1241
1264
|
'function_call': func,
|
|
1242
1265
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
1243
1266
|
'type': 'callmanipulate',
|
|
@@ -1412,7 +1435,7 @@ function WFAdaptorManifestationBase(adaptor) {
|
|
|
1412
1435
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
|
1413
1436
|
else { func = self.adaptor.description.insert_after }
|
|
1414
1437
|
var childs = [
|
|
1415
|
-
{'label': 'Service Call with
|
|
1438
|
+
{'label': 'Service Call with ' + self.strings.scripts,
|
|
1416
1439
|
'function_call': func,
|
|
1417
1440
|
'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
|
|
1418
1441
|
'type': 'callmanipulate',
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="alternative" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
|
|
2
|
+
<attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
|
|
3
|
+
<data type="string" rngui:readonly="true"/>
|
|
4
|
+
</attribute>
|
|
5
|
+
<attribute name="condition" rngui:label="Condition">
|
|
6
|
+
<data type="string" rngui:label="Condition"/>
|
|
7
|
+
</attribute>
|
|
8
|
+
</element>
|