@receptron/graphai_vue_cytoscape 0.0.14 → 0.0.16

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.
package/lib/cytoscape.js CHANGED
@@ -238,7 +238,9 @@ var cytoscapeFromGraph = function (_graph_data) {
238
238
  return tmp;
239
239
  }, {});
240
240
  Object.keys(node.inputs).forEach(function (parentInputNodeId) {
241
- graph_1.nodes[parentInputNodeId] = { value: "dummy" };
241
+ if (!graph_1.nodes[parentInputNodeId]) {
242
+ graph_1.nodes[parentInputNodeId] = { value: "dummy" };
243
+ }
242
244
  (0, exports.inputs2dataSources)([node.inputs[parentInputNodeId]]).forEach(function (input) {
243
245
  var source = parseInput(input).source;
244
246
  pushEdge({ source: nodeId, target: parentInputNodeId, label: source });
package/package.json CHANGED
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "name": "@receptron/graphai_vue_cytoscape",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "main": "lib/cytoscape.js",
5
- "module": "lib/bundle.esm.js",
6
- "browser": "lib/bundle.umd.js",
7
5
  "files": [
8
6
  "./lib"
9
7
  ],
@@ -12,7 +10,6 @@
12
10
  "build": "tsc --esModuleInterop --declaration --outDir lib/ src/composables/cytoscape.ts",
13
11
  "preview": "vite preview",
14
12
  "build-only": "vite build",
15
- "rollup": " npx rollup -c",
16
13
  "type-check": "vue-tsc --build --force",
17
14
  "test": "echo nothing",
18
15
  "eslint": "eslint src",
package/lib/bundle.cjs.js DELETED
@@ -1,350 +0,0 @@
1
- 'use strict';
2
-
3
- var vue = require('vue');
4
- var graphai = require('graphai');
5
- var cytoscape = require('cytoscape');
6
- var klay = require('cytoscape-klay');
7
-
8
- cytoscape.use(klay);
9
- const layout = "klay";
10
- const colorPriority = "#f80";
11
- const colorStatic = "#88f";
12
- const calcNodeWidth = (label) => {
13
- if (label === null || label === undefined) {
14
- return "50px";
15
- }
16
- return Math.max(50, label.length * 8) + "px";
17
- };
18
- const cyStyle = [
19
- {
20
- selector: "node",
21
- style: {
22
- "background-color": "data(color)",
23
- label: "data(id)",
24
- shape: (ele) => (ele.data("isStatic") ? "rectangle" : "roundrectangle"),
25
- width: (ele) => calcNodeWidth(ele.data("id")),
26
- color: "#fff",
27
- height: "30px",
28
- "text-valign": "center",
29
- "text-halign": "center",
30
- "font-size": "12px",
31
- },
32
- },
33
- {
34
- selector: "edge",
35
- style: {
36
- width: 3,
37
- "line-color": "#888",
38
- "target-arrow-color": "#888",
39
- "target-arrow-shape": "triangle",
40
- "curve-style": "straight",
41
- "text-background-color": "#ffffff",
42
- "text-background-opacity": 0.8,
43
- "text-background-shape": "rectangle",
44
- "font-size": "10px",
45
- },
46
- },
47
- {
48
- selector: "edge[label]",
49
- style: {
50
- label: "data(label)",
51
- },
52
- },
53
- {
54
- selector: "edge[isUpdate]",
55
- style: {
56
- color: "#ddd",
57
- "line-color": "#ddd",
58
- "line-style": "dashed",
59
- "curve-style": "unbundled-bezier",
60
- "target-arrow-color": "#ddd",
61
- },
62
- },
63
- {
64
- selector: "edge[isResult]",
65
- style: {
66
- color: "#d00",
67
- "line-color": "#d00",
68
- "line-style": "dotted",
69
- "curve-style": "unbundled-bezier",
70
- "target-arrow-color": "#d00",
71
- },
72
- },
73
- ];
74
- const colorMap = {
75
- [graphai.NodeState.Waiting]: "#888",
76
- [graphai.NodeState.Completed]: "#000",
77
- [graphai.NodeState.Executing]: "#0f0",
78
- ["executing-server"]: "#FFC0CB",
79
- [graphai.NodeState.Queued]: "#ff0",
80
- [graphai.NodeState.Injected]: "#00f",
81
- [graphai.NodeState.TimedOut]: "#f0f",
82
- [graphai.NodeState.Failed]: "#f00",
83
- [graphai.NodeState.Skipped]: "#0ff",
84
- };
85
- const parseInput = (input) => {
86
- // WARNING: Assuming the first character is always ":"
87
- const ids = input.slice(1).split(".");
88
- const source = ids.shift() || "";
89
- const label = ids.length ? ids.join(".") : undefined;
90
- return { source, label };
91
- };
92
- const inputs2dataSources = (inputs) => {
93
- if (Array.isArray(inputs)) {
94
- return inputs.map((inp) => inputs2dataSources(inp)).flat();
95
- }
96
- if (graphai.isObject(inputs)) {
97
- return Object.values(inputs)
98
- .map((input) => inputs2dataSources(input))
99
- .flat();
100
- }
101
- if (typeof inputs === "string") {
102
- const templateMatch = Array.from(inputs.matchAll(/\${(:[^}]+)}/g)).map((m) => m[1]);
103
- if (templateMatch.length > 0) {
104
- return inputs2dataSources(templateMatch);
105
- }
106
- }
107
- return inputs;
108
- };
109
- const dataSourceNodeIds = (sources) => {
110
- return sources.filter((source) => source.nodeId).map((source) => source.nodeId);
111
- };
112
- const node2cyNode = (node, nodeId) => {
113
- const isStatic = "value" in node;
114
- const cyNode = {
115
- data: {
116
- id: nodeId,
117
- color: isStatic ? colorStatic : colorMap[graphai.NodeState.Waiting],
118
- isStatic,
119
- },
120
- };
121
- return cyNode;
122
- };
123
- const node2cyEdge = (node, nodeId) => {
124
- const edges = [];
125
- if ("inputs" in node) {
126
- // computed node
127
- inputs2dataSources(node.inputs).forEach((input) => {
128
- if (input[0] === ":") {
129
- const { source, label } = parseInput(input);
130
- edges.push({
131
- data: {
132
- source,
133
- target: nodeId,
134
- label,
135
- },
136
- });
137
- }
138
- });
139
- }
140
- if ("update" in node && node.update) {
141
- // static node
142
- const { source, label } = parseInput(node.update);
143
- edges.push({
144
- data: {
145
- source,
146
- target: nodeId,
147
- isUpdate: true,
148
- label,
149
- },
150
- });
151
- }
152
- return edges;
153
- };
154
- const cytoscapeFromGraph = (_graph_data) => {
155
- const elements = { nodes: [], edges: [], map: {} };
156
- const pushEdge = (data) => {
157
- elements.edges.push({ data });
158
- };
159
- const toGraph = (graph_data) => {
160
- Object.keys(graph_data.nodes || {}).forEach((nodeId) => {
161
- const node = graph_data.nodes[nodeId];
162
- const cyNode = node2cyNode(node, nodeId);
163
- elements.nodes.push(cyNode);
164
- elements.map[nodeId] = cyNode;
165
- node2cyEdge(node, nodeId).forEach((edge) => {
166
- elements.edges.push(edge);
167
- });
168
- // nested
169
- if ("agent" in node && node.agent === "nestedAgent") {
170
- const graph = typeof node.graph === "string" ? JSON.parse(node.graph) : { ...node.graph };
171
- const staticInputs = Object.keys(graph.nodes)
172
- .filter((key) => "value" in graph.nodes[key])
173
- .reduce((tmp, key) => {
174
- const { source } = parseInput(graph.nodes[key].value);
175
- if (!tmp[source]) {
176
- tmp[source] = [];
177
- }
178
- tmp[source].push(key);
179
- return tmp;
180
- }, {});
181
- Object.keys(node.inputs).forEach((parentInputNodeId) => {
182
- graph.nodes[parentInputNodeId] = { value: "dummy" };
183
- const { source } = parseInput(node.inputs[parentInputNodeId]);
184
- pushEdge({ source: nodeId, target: parentInputNodeId, label: source });
185
- if (staticInputs[parentInputNodeId]) {
186
- staticInputs[parentInputNodeId].forEach((id) => {
187
- pushEdge({ source: nodeId, target: id, label: parentInputNodeId });
188
- });
189
- }
190
- });
191
- toGraph(graph);
192
- Object.keys(graph.nodes).forEach((key) => {
193
- const childNode = graph.nodes[key];
194
- if ("agent" in childNode && childNode.isResult) {
195
- pushEdge({ source: key, target: nodeId, label: "result", isResult: true });
196
- }
197
- });
198
- }
199
- });
200
- };
201
- toGraph(_graph_data);
202
- return { elements };
203
- };
204
- const useCytoscape = (selectedGraph) => {
205
- let cy = null;
206
- const cytoscapeData = vue.ref(cytoscapeFromGraph(selectedGraph.value ?? { nodes: {} }));
207
- const cytoscapeRef = vue.ref();
208
- const zoomingEnabled = vue.ref(true);
209
- const updateCytoscape = async (nodeId, state) => {
210
- if ([graphai.NodeState.Completed, graphai.NodeState.Waiting].includes(state)) {
211
- await graphai.sleep(100);
212
- }
213
- const elements = cytoscapeData.value.elements;
214
- elements.map[nodeId].data.color = colorMap[state];
215
- const graph = selectedGraph.value;
216
- const nodeData = (graph?.nodes ?? {})[nodeId] ?? [];
217
- if ("agent" in nodeData && state === graphai.NodeState.Queued && (nodeData.priority ?? 0) > 0) {
218
- // computed node
219
- elements.map[nodeId].data.color = colorPriority;
220
- }
221
- else if ("value" in nodeData && state === graphai.NodeState.Waiting) {
222
- // static node
223
- elements.map[nodeId].data.color = colorStatic;
224
- }
225
- cytoscapeData.value = { elements };
226
- if (state === graphai.NodeState.Injected) {
227
- await graphai.sleep(100);
228
- elements.map[nodeId].data.color = colorStatic;
229
- cytoscapeData.value = { elements };
230
- }
231
- };
232
- const createCytoscape = () => {
233
- try {
234
- cy = cytoscape({
235
- container: cytoscapeRef.value,
236
- style: cyStyle,
237
- layout: {
238
- name: layout,
239
- // fit: true,
240
- // padding: 30,
241
- // avoidOverlap: true,
242
- },
243
- });
244
- cy.on("mouseup", storePositions);
245
- cy.on("touchend", storePositions);
246
- // cy.on("select", "node", callback);
247
- // cy.on("select", "edge", callback);
248
- //store.commit("setCytoscape", cy);
249
- }
250
- catch (error) {
251
- console.error(error);
252
- // store.commit("setCytoscape", null);
253
- // error_msg.value = `${error}`;
254
- }
255
- };
256
- const updateGraphData = async () => {
257
- if (cy) {
258
- cy.elements().remove();
259
- cy.add(cytoscapeData.value.elements);
260
- const name = cytoscapeData.value.elements.nodes.reduce((prevName, node) => {
261
- if (node.position) {
262
- return "preset";
263
- }
264
- return prevName;
265
- }, layout);
266
- console.log("layout", name);
267
- cy.layout({ name }).run();
268
- cy.fit();
269
- if (name === layout) {
270
- await graphai.sleep(400);
271
- storePositions();
272
- }
273
- }
274
- };
275
- const storePositions = () => {
276
- console.log("storePositions");
277
- if (cy) {
278
- cy.nodes().forEach((cynode) => {
279
- const id = cynode.id();
280
- const pos = cynode.position();
281
- const node = cytoscapeData.value.elements.map[id];
282
- node.position = pos;
283
- });
284
- }
285
- };
286
- const resetCytoscape = () => {
287
- const elements = cytoscapeData.value.elements;
288
- Object.keys(elements.map).forEach((nodeId) => {
289
- const graph = selectedGraph.value;
290
- const nodeData = graph.nodes[nodeId];
291
- elements.map[nodeId].data.color = "value" in nodeData ? colorStatic : colorMap[graphai.NodeState.Waiting];
292
- });
293
- cytoscapeData.value = { elements };
294
- };
295
- vue.watch(cytoscapeData, () => {
296
- console.log("updated");
297
- updateGraphData();
298
- });
299
- vue.watch(selectedGraph, () => {
300
- cytoscapeData.value = cytoscapeFromGraph(selectedGraph.value);
301
- });
302
- vue.onMounted(() => {
303
- createCytoscape();
304
- updateGraphData();
305
- });
306
- const layoutCytoscape = (key) => {
307
- if (cy) {
308
- const positions = cy.nodes().map((node) => {
309
- return {
310
- id: node.id(),
311
- position: node.position(),
312
- };
313
- });
314
- console.log(JSON.stringify(positions));
315
- localStorage.setItem("layoutData-" + key, JSON.stringify(positions));
316
- }
317
- };
318
- const loadLayout = (key) => {
319
- const savedLayoutData = localStorage.getItem("layoutData-" + key);
320
- if (savedLayoutData) {
321
- const positions = JSON.parse(savedLayoutData);
322
- positions.forEach((data) => {
323
- if (cy) {
324
- const node = cy.getElementById(data.id);
325
- if (node) {
326
- node.position(data.position);
327
- }
328
- }
329
- });
330
- }
331
- };
332
- vue.watch(zoomingEnabled, (value) => {
333
- if (cy) {
334
- cy.zoomingEnabled(value);
335
- }
336
- });
337
- return {
338
- cytoscapeRef,
339
- updateCytoscape,
340
- resetCytoscape,
341
- layoutCytoscape,
342
- loadLayout,
343
- zoomingEnabled,
344
- };
345
- };
346
-
347
- exports.dataSourceNodeIds = dataSourceNodeIds;
348
- exports.inputs2dataSources = inputs2dataSources;
349
- exports.useCytoscape = useCytoscape;
350
- //# sourceMappingURL=bundle.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.cjs.js","sources":["../src/composables/cytoscape.ts"],"sourcesContent":[null],"names":["NodeState","isObject","ref","sleep","watch","onMounted"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("vue"),t=require("graphai"),a=require("cytoscape"),o=require("cytoscape-klay");a.use(o);const s="klay",n="#88f",r=[{selector:"node",style:{"background-color":"data(color)",label:"data(id)",shape:e=>e.data("isStatic")?"rectangle":"roundrectangle",width:e=>{return null==(t=e.data("id"))?"50px":Math.max(50,8*t.length)+"px";var t},color:"#fff",height:"30px","text-valign":"center","text-halign":"center","font-size":"12px"}},{selector:"edge",style:{width:3,"line-color":"#888","target-arrow-color":"#888","target-arrow-shape":"triangle","curve-style":"straight","text-background-color":"#ffffff","text-background-opacity":.8,"text-background-shape":"rectangle","font-size":"10px"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge[isUpdate]",style:{color:"#ddd","line-color":"#ddd","line-style":"dashed","curve-style":"unbundled-bezier","target-arrow-color":"#ddd"}},{selector:"edge[isResult]",style:{color:"#d00","line-color":"#d00","line-style":"dotted","curve-style":"unbundled-bezier","target-arrow-color":"#d00"}}],l={[t.NodeState.Waiting]:"#888",[t.NodeState.Completed]:"#000",[t.NodeState.Executing]:"#0f0","executing-server":"#FFC0CB",[t.NodeState.Queued]:"#ff0",[t.NodeState.Injected]:"#00f",[t.NodeState.TimedOut]:"#f0f",[t.NodeState.Failed]:"#f00",[t.NodeState.Skipped]:"#0ff"},d=e=>{const t=e.slice(1).split(".");return{source:t.shift()||"",label:t.length?t.join("."):void 0}},c=e=>{if(Array.isArray(e))return e.map((e=>c(e))).flat();if(t.isObject(e))return Object.values(e).map((e=>c(e))).flat();if("string"==typeof e){const t=Array.from(e.matchAll(/\${(:[^}]+)}/g)).map((e=>e[1]));if(t.length>0)return c(t)}return e},i=e=>{const a={nodes:[],edges:[],map:{}},o=e=>{a.edges.push({data:e})},s=e=>{Object.keys(e.nodes||{}).forEach((r=>{const i=e.nodes[r],u=((e,a)=>{const o="value"in e;return{data:{id:a,color:o?n:l[t.NodeState.Waiting],isStatic:o}}})(i,r);if(a.nodes.push(u),a.map[r]=u,((e,t)=>{const a=[];if("inputs"in e&&c(e.inputs).forEach((e=>{if(":"===e[0]){const{source:o,label:s}=d(e);a.push({data:{source:o,target:t,label:s}})}})),"update"in e&&e.update){const{source:o,label:s}=d(e.update);a.push({data:{source:o,target:t,isUpdate:!0,label:s}})}return a})(i,r).forEach((e=>{a.edges.push(e)})),"agent"in i&&"nestedAgent"===i.agent){const e="string"==typeof i.graph?JSON.parse(i.graph):{...i.graph},t=Object.keys(e.nodes).filter((t=>"value"in e.nodes[t])).reduce(((t,a)=>{const{source:o}=d(e.nodes[a].value);return t[o]||(t[o]=[]),t[o].push(a),t}),{});Object.keys(i.inputs).forEach((a=>{e.nodes[a]={value:"dummy"};const{source:s}=d(i.inputs[a]);o({source:r,target:a,label:s}),t[a]&&t[a].forEach((e=>{o({source:r,target:e,label:a})}))})),s(e),Object.keys(e.nodes).forEach((t=>{const a=e.nodes[t];"agent"in a&&a.isResult&&o({source:t,target:r,label:"result",isResult:!0})}))}}))};return s(e),{elements:a}};exports.dataSourceNodeIds=e=>e.filter((e=>e.nodeId)).map((e=>e.nodeId)),exports.inputs2dataSources=c,exports.useCytoscape=o=>{let d=null;const c=e.ref(i(o.value??{nodes:{}})),u=e.ref(),p=e.ref(!0),g=async()=>{if(d){d.elements().remove(),d.add(c.value.elements);const e=c.value.elements.nodes.reduce(((e,t)=>t.position?"preset":e),s);console.log("layout",e),d.layout({name:e}).run(),d.fit(),e===s&&(await t.sleep(400),f())}},f=()=>{console.log("storePositions"),d&&d.nodes().forEach((e=>{const t=e.id(),a=e.position();c.value.elements.map[t].position=a}))};e.watch(c,(()=>{console.log("updated"),g()})),e.watch(o,(()=>{c.value=i(o.value)})),e.onMounted((()=>{(()=>{try{d=a({container:u.value,style:r,layout:{name:s}}),d.on("mouseup",f),d.on("touchend",f)}catch(e){console.error(e)}})(),g()}));return e.watch(p,(e=>{d&&d.zoomingEnabled(e)})),{cytoscapeRef:u,updateCytoscape:async(e,a)=>{[t.NodeState.Completed,t.NodeState.Waiting].includes(a)&&await t.sleep(100);const s=c.value.elements;s.map[e].data.color=l[a];const r=o.value,d=(r?.nodes??{})[e]??[];"agent"in d&&a===t.NodeState.Queued&&(d.priority??0)>0?s.map[e].data.color="#f80":"value"in d&&a===t.NodeState.Waiting&&(s.map[e].data.color=n),c.value={elements:s},a===t.NodeState.Injected&&(await t.sleep(100),s.map[e].data.color=n,c.value={elements:s})},resetCytoscape:()=>{const e=c.value.elements;Object.keys(e.map).forEach((a=>{const s=o.value.nodes[a];e.map[a].data.color="value"in s?n:l[t.NodeState.Waiting]})),c.value={elements:e}},layoutCytoscape:e=>{if(d){const t=d.nodes().map((e=>({id:e.id(),position:e.position()})));console.log(JSON.stringify(t)),localStorage.setItem("layoutData-"+e,JSON.stringify(t))}},loadLayout:e=>{const t=localStorage.getItem("layoutData-"+e);if(t){JSON.parse(t).forEach((e=>{if(d){const t=d.getElementById(e.id);t&&t.position(e.position)}}))}},zoomingEnabled:p}};
2
- //# sourceMappingURL=bundle.cjs.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.cjs.min.js","sources":["../src/composables/cytoscape.ts"],"sourcesContent":[null],"names":["cytoscape","use","klay","layout","colorStatic","cyStyle","selector","style","label","shape","ele","data","width","calcNodeWidth","Math","max","length","color","height","colorMap","NodeState","Waiting","Completed","Executing","Queued","Injected","TimedOut","Failed","Skipped","parseInput","input","ids","slice","split","source","shift","join","undefined","inputs2dataSources","inputs","Array","isArray","map","inp","flat","isObject","Object","values","templateMatch","from","matchAll","m","cytoscapeFromGraph","_graph_data","elements","nodes","edges","pushEdge","push","toGraph","graph_data","keys","forEach","nodeId","node","cyNode","isStatic","id","node2cyNode","target","update","isUpdate","node2cyEdge","edge","agent","graph","JSON","parse","staticInputs","filter","key","reduce","tmp","value","parentInputNodeId","childNode","isResult","sources","selectedGraph","cy","cytoscapeData","ref","cytoscapeRef","zoomingEnabled","updateGraphData","async","remove","add","name","prevName","position","console","log","run","fit","sleep","storePositions","cynode","pos","watch","onMounted","container","on","error","createCytoscape","updateCytoscape","state","includes","nodeData","priority","resetCytoscape","layoutCytoscape","positions","stringify","localStorage","setItem","loadLayout","savedLayoutData","getItem","getElementById"],"mappings":"0GAQAA,EAAUC,IAAIC,GACd,MAAMC,EAAS,OAGTC,EAAc,OASdC,EAAU,CACd,CACEC,SAAU,OACVC,MAAO,CACL,mBAAoB,cACpBC,MAAO,WACPC,MAAQC,GAAuBA,EAAIC,KAAK,YAAc,YAAc,iBACpEC,MAAQF,IAAsBG,OAb9BL,OADiBA,EAc2BE,EAAIC,KAAK,OAZhD,OAEFG,KAAKC,IAAI,GAAmB,EAAfP,EAAMQ,QAAc,KAJpB,IAACR,CAc0C,EAC3DS,MAAO,OACPC,OAAQ,OACR,cAAe,SACf,cAAe,SACf,YAAa,SAGjB,CACEZ,SAAU,OACVC,MAAO,CACLK,MAAO,EACP,aAAc,OACd,qBAAsB,OACtB,qBAAsB,WACtB,cAAe,WACf,wBAAyB,UACzB,0BAA2B,GAC3B,wBAAyB,YACzB,YAAa,SAGjB,CACEN,SAAU,cACVC,MAAO,CACLC,MAAO,gBAGX,CACEF,SAAU,iBACVC,MAAO,CACLU,MAAO,OACP,aAAc,OACd,aAAc,SACd,cAAe,mBACf,qBAAsB,SAG1B,CACEX,SAAU,iBACVC,MAAO,CACLU,MAAO,OACP,aAAc,OACd,aAAc,SACd,cAAe,mBACf,qBAAsB,UAKtBE,EAAW,CACf,CAACC,EAAAA,UAAUC,SAAU,OACrB,CAACD,EAAAA,UAAUE,WAAY,OACvB,CAACF,EAAAA,UAAUG,WAAY,OACvB,mBAAsB,UACtB,CAACH,EAAAA,UAAUI,QAAS,OACpB,CAACJ,EAAAA,UAAUK,UAAW,OACtB,CAACL,EAAAA,UAAUM,UAAW,OACtB,CAACN,EAAAA,UAAUO,QAAS,OACpB,CAACP,EAAAA,UAAUQ,SAAU,QAGjBC,EAAcC,IAElB,MAAMC,EAAMD,EAAME,MAAM,GAAGC,MAAM,KAGjC,MAAO,CAAEC,OAFMH,EAAII,SAAW,GAEb3B,MADHuB,EAAIf,OAASe,EAAIK,KAAK,UAAOC,EACnB,EAGbC,EAAsBC,IACjC,GAAIC,MAAMC,QAAQF,GAChB,OAAOA,EAAOG,KAAKC,GAAQL,EAAmBK,KAAMC,OAEtD,GAAIC,EAAAA,SAASN,GACX,OAAOO,OAAOC,OAAOR,GAClBG,KAAKZ,GAAUQ,EAAmBR,KAClCc,OAEL,GAAsB,iBAAXL,EAAqB,CAC9B,MAAMS,EAAgBR,MAAMS,KAAKV,EAAOW,SAAS,kBAAkBR,KAAKS,GAAMA,EAAE,KAChF,GAAIH,EAAchC,OAAS,EACzB,OAAOsB,EAAmBU,GAG9B,OAAOT,CAAM,EAmDTa,EAAsBC,IAC1B,MAAMC,EAIF,CAAEC,MAAO,GAAIC,MAAO,GAAId,IAAK,IAE3Be,EAAY9C,IAChB2C,EAASE,MAAME,KAAK,CAAE/C,QAAO,EAGzBgD,EAAWC,IACfd,OAAOe,KAAKD,EAAWL,OAAS,CAAA,GAAIO,SAASC,IAC3C,MAAMC,EAAiBJ,EAAWL,MAAMQ,GAClCE,EA1DQ,EAACD,EAAgBD,KACnC,MAAMG,EAAW,UAAWF,EAQ5B,MAPe,CACbrD,KAAM,CACJwD,GAAIJ,EACJ9C,MAAOiD,EAAW9D,EAAce,EAASC,EAAAA,UAAUC,SACnD6C,YAGS,EAiDME,CAAYJ,EAAMD,GAQjC,GAPAT,EAASC,MAAMG,KAAKO,GACpBX,EAASZ,IAAIqB,GAAUE,EAhDT,EAACD,EAAgBD,KACnC,MAAMP,EAA0B,GAgBhC,GAfI,WAAYQ,GAEd1B,EAAmB0B,EAAKzB,QAAQuB,SAAShC,IACvC,GAAiB,MAAbA,EAAM,GAAY,CACpB,MAAMI,OAAEA,EAAM1B,MAAEA,GAAUqB,EAAWC,GACrC0B,EAAME,KAAK,CACT/C,KAAM,CACJuB,SACAmC,OAAQN,EACRvD,eAMN,WAAYwD,GAAQA,EAAKM,OAAQ,CAEnC,MAAMpC,OAAEA,EAAM1B,MAAEA,GAAUqB,EAAWmC,EAAKM,QAC1Cd,EAAME,KAAK,CACT/C,KAAM,CACJuB,SACAmC,OAAQN,EACRQ,UAAU,EACV/D,WAIN,OAAOgD,CAAK,EAqBRgB,CAAYR,EAAMD,GAAQD,SAASW,IACjCnB,EAASE,MAAME,KAAKe,EAAK,IAGvB,UAAWT,GAAuB,gBAAfA,EAAKU,MAAyB,CACnD,MAAMC,EAA8B,iBAAfX,EAAKW,MAAqBC,KAAKC,MAAMb,EAAKW,OAAS,IAAKX,EAAKW,OAE5EG,EAAyChC,OAAOe,KAAKc,EAAMpB,OAC9DwB,QAAQC,GAAgB,UAAWL,EAAMpB,MAAMyB,KAC/CC,QAAO,CAACC,EAA+BF,KACtC,MAAM9C,OAAEA,GAAWL,EAAW8C,EAAMpB,MAAMyB,GAAKG,OAK/C,OAJKD,EAAIhD,KACPgD,EAAIhD,GAAU,IAEhBgD,EAAIhD,GAAQwB,KAAKsB,GACVE,CAAG,GACT,IAELpC,OAAOe,KAAKG,EAAKzB,QAAQuB,SAASsB,IAChCT,EAAMpB,MAAM6B,GAAqB,CAAED,MAAO,SAC1C,MAAMjD,OAAEA,GAAWL,EAAWmC,EAAKzB,OAAO6C,IAC1C3B,EAAS,CAAEvB,OAAQ6B,EAAQM,OAAQe,EAAmB5E,MAAO0B,IACzD4C,EAAaM,IACfN,EAAaM,GAAmBtB,SAASK,IACvCV,EAAS,CAAEvB,OAAQ6B,EAAQM,OAAQF,EAAI3D,MAAO4E,GAAoB,OAIxEzB,EAAQgB,GACR7B,OAAOe,KAAKc,EAAMpB,OAAOO,SAASkB,IAChC,MAAMK,EAAYV,EAAMpB,MAAMyB,GAC1B,UAAWK,GAAaA,EAAUC,UACpC7B,EAAS,CAAEvB,OAAQ8C,EAAKX,OAAQN,EAAQvD,MAAO,SAAU8E,UAAU,UAIzE,EAIJ,OAFA3B,EAAQN,GAED,CAAEC,WAAU,4BA1GaiC,GACzBA,EAAQR,QAAQ7C,GAAuBA,EAAO6B,SAAQrB,KAAKR,GAAWA,EAAO6B,2DA4GzDyB,IAC3B,IAAIC,EAAkB,KAEtB,MAAMC,EAAgBC,EAAGA,IAACvC,EAAmBoC,EAAcL,OAAS,CAAE5B,MAAO,CAAE,KACzEqC,EAAeD,EAAAA,MACfE,EAAiBF,EAAGA,KAAC,GAiDrBG,EAAkBC,UACtB,GAAIN,EAAI,CACNA,EAAGnC,WAAW0C,SACdP,EAAGQ,IAAIP,EAAcP,MAAM7B,UAC3B,MAAM4C,EAAOR,EAAcP,MAAM7B,SAASC,MAAM0B,QAAO,CAACkB,EAAkBnC,IACpEA,EAAKoC,SACA,SAEFD,GACNhG,GACHkG,QAAQC,IAAI,SAAUJ,GACtBT,EAAGtF,OAAO,CAAE+F,SAAQK,MACpBd,EAAGe,MACCN,IAAS/F,UACLsG,EAAAA,MAAM,KACZC,OAKAA,EAAiB,KACrBL,QAAQC,IAAI,kBACRb,GACFA,EAAGlC,QAAQO,SAAS6C,IAClB,MAAMxC,EAAKwC,EAAOxC,KACZyC,EAAMD,EAAOP,WACNV,EAAcP,MAAM7B,SAASZ,IAAIyB,GACzCiC,SAAWQ,CAAG,KAezBC,EAAKA,MAACnB,GAAe,KACnBW,QAAQC,IAAI,WACZR,GAAiB,IAGnBe,EAAKA,MAACrB,GAAe,KACnBE,EAAcP,MAAQ/B,EAAmBoC,EAAcL,MAAM,IAG/D2B,EAAAA,WAAU,KA1Ec,MACtB,IACErB,EAAKzF,EAAU,CACb+G,UAAWnB,EAAaT,MACxB5E,MAAOF,EACPF,OAAQ,CACN+F,KAAM/F,KAMVsF,EAAGuB,GAAG,UAAWN,GACjBjB,EAAGuB,GAAG,WAAYN,GAIlB,MAAOO,GACPZ,QAAQY,MAAMA,KAyDhBC,GACApB,GAAiB,IAqCnB,OANAe,QAAMhB,GAAiBV,IACjBM,GACFA,EAAGI,eAAeV,MAIf,CACLS,eACAuB,gBA3IsBpB,MAAOhC,EAAgBqD,KACzC,CAAChG,EAASA,UAACE,UAAWF,EAAAA,UAAUC,SAASgG,SAASD,UAC9CX,EAAAA,MAAM,KAEd,MAAMnD,EAAWoC,EAAcP,MAAM7B,SACrCA,EAASZ,IAAIqB,GAAQpD,KAAKM,MAAQE,EAASiG,GAC3C,MAAMzC,EAAQa,EAAcL,MACtBmC,GAAY3C,GAAOpB,OAAS,CAAE,GAAEQ,IAAW,GAC7C,UAAWuD,GAAYF,IAAUhG,EAASA,UAACI,SAAW8F,EAASC,UAAY,GAAK,EAElFjE,EAASZ,IAAIqB,GAAQpD,KAAKM,MAvOV,OAwOP,UAAWqG,GAAYF,IAAUhG,EAAAA,UAAUC,UAEpDiC,EAASZ,IAAIqB,GAAQpD,KAAKM,MAAQb,GAGpCsF,EAAcP,MAAQ,CAAE7B,YACpB8D,IAAUhG,EAASA,UAACK,iBAChBgF,EAAAA,MAAM,KACZnD,EAASZ,IAAIqB,GAAQpD,KAAKM,MAAQb,EAClCsF,EAAcP,MAAQ,CAAE7B,cAwH1BkE,eA7DqB,KACrB,MAAMlE,EAAWoC,EAAcP,MAAM7B,SACrCR,OAAOe,KAAKP,EAASZ,KAAKoB,SAASC,IACjC,MACMuD,EADQ9B,EAAcL,MACL5B,MAAMQ,GAC7BT,EAASZ,IAAIqB,GAAQpD,KAAKM,MAAQ,UAAWqG,EAAWlH,EAAce,EAASC,EAAAA,UAAUC,QAAQ,IAEnGqE,EAAcP,MAAQ,CAAE7B,WAAU,EAwDlCmE,gBAvCuBzC,IACvB,GAAIS,EAAI,CACN,MAAMiC,EAAYjC,EAAGlC,QAAQb,KAAKsB,IACzB,CACLG,GAAIH,EAAKG,KACTiC,SAAUpC,EAAKoC,eAGnBC,QAAQC,IAAI1B,KAAK+C,UAAUD,IAC3BE,aAAaC,QAAQ,cAAgB7C,EAAKJ,KAAK+C,UAAUD,MA+B3DI,WA3BkB9C,IAClB,MAAM+C,EAAkBH,aAAaI,QAAQ,cAAgBhD,GAC7D,GAAI+C,EAAiB,CACDnD,KAAKC,MAAMkD,GACnBjE,SAASnD,IACjB,GAAI8E,EAAI,CACN,MAAMzB,EAAOyB,EAAGwC,eAAetH,EAAKwD,IAChCH,GACFA,EAAKoC,SAASzF,EAAKyF,gBAqB3BP,iBACD"}
package/lib/bundle.esm.js DELETED
@@ -1,346 +0,0 @@
1
- import { ref, watch, onMounted } from 'vue';
2
- import { NodeState, isObject, sleep } from 'graphai';
3
- import cytoscape from 'cytoscape';
4
- import klay from 'cytoscape-klay';
5
-
6
- cytoscape.use(klay);
7
- const layout = "klay";
8
- const colorPriority = "#f80";
9
- const colorStatic = "#88f";
10
- const calcNodeWidth = (label) => {
11
- if (label === null || label === undefined) {
12
- return "50px";
13
- }
14
- return Math.max(50, label.length * 8) + "px";
15
- };
16
- const cyStyle = [
17
- {
18
- selector: "node",
19
- style: {
20
- "background-color": "data(color)",
21
- label: "data(id)",
22
- shape: (ele) => (ele.data("isStatic") ? "rectangle" : "roundrectangle"),
23
- width: (ele) => calcNodeWidth(ele.data("id")),
24
- color: "#fff",
25
- height: "30px",
26
- "text-valign": "center",
27
- "text-halign": "center",
28
- "font-size": "12px",
29
- },
30
- },
31
- {
32
- selector: "edge",
33
- style: {
34
- width: 3,
35
- "line-color": "#888",
36
- "target-arrow-color": "#888",
37
- "target-arrow-shape": "triangle",
38
- "curve-style": "straight",
39
- "text-background-color": "#ffffff",
40
- "text-background-opacity": 0.8,
41
- "text-background-shape": "rectangle",
42
- "font-size": "10px",
43
- },
44
- },
45
- {
46
- selector: "edge[label]",
47
- style: {
48
- label: "data(label)",
49
- },
50
- },
51
- {
52
- selector: "edge[isUpdate]",
53
- style: {
54
- color: "#ddd",
55
- "line-color": "#ddd",
56
- "line-style": "dashed",
57
- "curve-style": "unbundled-bezier",
58
- "target-arrow-color": "#ddd",
59
- },
60
- },
61
- {
62
- selector: "edge[isResult]",
63
- style: {
64
- color: "#d00",
65
- "line-color": "#d00",
66
- "line-style": "dotted",
67
- "curve-style": "unbundled-bezier",
68
- "target-arrow-color": "#d00",
69
- },
70
- },
71
- ];
72
- const colorMap = {
73
- [NodeState.Waiting]: "#888",
74
- [NodeState.Completed]: "#000",
75
- [NodeState.Executing]: "#0f0",
76
- ["executing-server"]: "#FFC0CB",
77
- [NodeState.Queued]: "#ff0",
78
- [NodeState.Injected]: "#00f",
79
- [NodeState.TimedOut]: "#f0f",
80
- [NodeState.Failed]: "#f00",
81
- [NodeState.Skipped]: "#0ff",
82
- };
83
- const parseInput = (input) => {
84
- // WARNING: Assuming the first character is always ":"
85
- const ids = input.slice(1).split(".");
86
- const source = ids.shift() || "";
87
- const label = ids.length ? ids.join(".") : undefined;
88
- return { source, label };
89
- };
90
- const inputs2dataSources = (inputs) => {
91
- if (Array.isArray(inputs)) {
92
- return inputs.map((inp) => inputs2dataSources(inp)).flat();
93
- }
94
- if (isObject(inputs)) {
95
- return Object.values(inputs)
96
- .map((input) => inputs2dataSources(input))
97
- .flat();
98
- }
99
- if (typeof inputs === "string") {
100
- const templateMatch = Array.from(inputs.matchAll(/\${(:[^}]+)}/g)).map((m) => m[1]);
101
- if (templateMatch.length > 0) {
102
- return inputs2dataSources(templateMatch);
103
- }
104
- }
105
- return inputs;
106
- };
107
- const dataSourceNodeIds = (sources) => {
108
- return sources.filter((source) => source.nodeId).map((source) => source.nodeId);
109
- };
110
- const node2cyNode = (node, nodeId) => {
111
- const isStatic = "value" in node;
112
- const cyNode = {
113
- data: {
114
- id: nodeId,
115
- color: isStatic ? colorStatic : colorMap[NodeState.Waiting],
116
- isStatic,
117
- },
118
- };
119
- return cyNode;
120
- };
121
- const node2cyEdge = (node, nodeId) => {
122
- const edges = [];
123
- if ("inputs" in node) {
124
- // computed node
125
- inputs2dataSources(node.inputs).forEach((input) => {
126
- if (input[0] === ":") {
127
- const { source, label } = parseInput(input);
128
- edges.push({
129
- data: {
130
- source,
131
- target: nodeId,
132
- label,
133
- },
134
- });
135
- }
136
- });
137
- }
138
- if ("update" in node && node.update) {
139
- // static node
140
- const { source, label } = parseInput(node.update);
141
- edges.push({
142
- data: {
143
- source,
144
- target: nodeId,
145
- isUpdate: true,
146
- label,
147
- },
148
- });
149
- }
150
- return edges;
151
- };
152
- const cytoscapeFromGraph = (_graph_data) => {
153
- const elements = { nodes: [], edges: [], map: {} };
154
- const pushEdge = (data) => {
155
- elements.edges.push({ data });
156
- };
157
- const toGraph = (graph_data) => {
158
- Object.keys(graph_data.nodes || {}).forEach((nodeId) => {
159
- const node = graph_data.nodes[nodeId];
160
- const cyNode = node2cyNode(node, nodeId);
161
- elements.nodes.push(cyNode);
162
- elements.map[nodeId] = cyNode;
163
- node2cyEdge(node, nodeId).forEach((edge) => {
164
- elements.edges.push(edge);
165
- });
166
- // nested
167
- if ("agent" in node && node.agent === "nestedAgent") {
168
- const graph = typeof node.graph === "string" ? JSON.parse(node.graph) : { ...node.graph };
169
- const staticInputs = Object.keys(graph.nodes)
170
- .filter((key) => "value" in graph.nodes[key])
171
- .reduce((tmp, key) => {
172
- const { source } = parseInput(graph.nodes[key].value);
173
- if (!tmp[source]) {
174
- tmp[source] = [];
175
- }
176
- tmp[source].push(key);
177
- return tmp;
178
- }, {});
179
- Object.keys(node.inputs).forEach((parentInputNodeId) => {
180
- graph.nodes[parentInputNodeId] = { value: "dummy" };
181
- const { source } = parseInput(node.inputs[parentInputNodeId]);
182
- pushEdge({ source: nodeId, target: parentInputNodeId, label: source });
183
- if (staticInputs[parentInputNodeId]) {
184
- staticInputs[parentInputNodeId].forEach((id) => {
185
- pushEdge({ source: nodeId, target: id, label: parentInputNodeId });
186
- });
187
- }
188
- });
189
- toGraph(graph);
190
- Object.keys(graph.nodes).forEach((key) => {
191
- const childNode = graph.nodes[key];
192
- if ("agent" in childNode && childNode.isResult) {
193
- pushEdge({ source: key, target: nodeId, label: "result", isResult: true });
194
- }
195
- });
196
- }
197
- });
198
- };
199
- toGraph(_graph_data);
200
- return { elements };
201
- };
202
- const useCytoscape = (selectedGraph) => {
203
- let cy = null;
204
- const cytoscapeData = ref(cytoscapeFromGraph(selectedGraph.value ?? { nodes: {} }));
205
- const cytoscapeRef = ref();
206
- const zoomingEnabled = ref(true);
207
- const updateCytoscape = async (nodeId, state) => {
208
- if ([NodeState.Completed, NodeState.Waiting].includes(state)) {
209
- await sleep(100);
210
- }
211
- const elements = cytoscapeData.value.elements;
212
- elements.map[nodeId].data.color = colorMap[state];
213
- const graph = selectedGraph.value;
214
- const nodeData = (graph?.nodes ?? {})[nodeId] ?? [];
215
- if ("agent" in nodeData && state === NodeState.Queued && (nodeData.priority ?? 0) > 0) {
216
- // computed node
217
- elements.map[nodeId].data.color = colorPriority;
218
- }
219
- else if ("value" in nodeData && state === NodeState.Waiting) {
220
- // static node
221
- elements.map[nodeId].data.color = colorStatic;
222
- }
223
- cytoscapeData.value = { elements };
224
- if (state === NodeState.Injected) {
225
- await sleep(100);
226
- elements.map[nodeId].data.color = colorStatic;
227
- cytoscapeData.value = { elements };
228
- }
229
- };
230
- const createCytoscape = () => {
231
- try {
232
- cy = cytoscape({
233
- container: cytoscapeRef.value,
234
- style: cyStyle,
235
- layout: {
236
- name: layout,
237
- // fit: true,
238
- // padding: 30,
239
- // avoidOverlap: true,
240
- },
241
- });
242
- cy.on("mouseup", storePositions);
243
- cy.on("touchend", storePositions);
244
- // cy.on("select", "node", callback);
245
- // cy.on("select", "edge", callback);
246
- //store.commit("setCytoscape", cy);
247
- }
248
- catch (error) {
249
- console.error(error);
250
- // store.commit("setCytoscape", null);
251
- // error_msg.value = `${error}`;
252
- }
253
- };
254
- const updateGraphData = async () => {
255
- if (cy) {
256
- cy.elements().remove();
257
- cy.add(cytoscapeData.value.elements);
258
- const name = cytoscapeData.value.elements.nodes.reduce((prevName, node) => {
259
- if (node.position) {
260
- return "preset";
261
- }
262
- return prevName;
263
- }, layout);
264
- console.log("layout", name);
265
- cy.layout({ name }).run();
266
- cy.fit();
267
- if (name === layout) {
268
- await sleep(400);
269
- storePositions();
270
- }
271
- }
272
- };
273
- const storePositions = () => {
274
- console.log("storePositions");
275
- if (cy) {
276
- cy.nodes().forEach((cynode) => {
277
- const id = cynode.id();
278
- const pos = cynode.position();
279
- const node = cytoscapeData.value.elements.map[id];
280
- node.position = pos;
281
- });
282
- }
283
- };
284
- const resetCytoscape = () => {
285
- const elements = cytoscapeData.value.elements;
286
- Object.keys(elements.map).forEach((nodeId) => {
287
- const graph = selectedGraph.value;
288
- const nodeData = graph.nodes[nodeId];
289
- elements.map[nodeId].data.color = "value" in nodeData ? colorStatic : colorMap[NodeState.Waiting];
290
- });
291
- cytoscapeData.value = { elements };
292
- };
293
- watch(cytoscapeData, () => {
294
- console.log("updated");
295
- updateGraphData();
296
- });
297
- watch(selectedGraph, () => {
298
- cytoscapeData.value = cytoscapeFromGraph(selectedGraph.value);
299
- });
300
- onMounted(() => {
301
- createCytoscape();
302
- updateGraphData();
303
- });
304
- const layoutCytoscape = (key) => {
305
- if (cy) {
306
- const positions = cy.nodes().map((node) => {
307
- return {
308
- id: node.id(),
309
- position: node.position(),
310
- };
311
- });
312
- console.log(JSON.stringify(positions));
313
- localStorage.setItem("layoutData-" + key, JSON.stringify(positions));
314
- }
315
- };
316
- const loadLayout = (key) => {
317
- const savedLayoutData = localStorage.getItem("layoutData-" + key);
318
- if (savedLayoutData) {
319
- const positions = JSON.parse(savedLayoutData);
320
- positions.forEach((data) => {
321
- if (cy) {
322
- const node = cy.getElementById(data.id);
323
- if (node) {
324
- node.position(data.position);
325
- }
326
- }
327
- });
328
- }
329
- };
330
- watch(zoomingEnabled, (value) => {
331
- if (cy) {
332
- cy.zoomingEnabled(value);
333
- }
334
- });
335
- return {
336
- cytoscapeRef,
337
- updateCytoscape,
338
- resetCytoscape,
339
- layoutCytoscape,
340
- loadLayout,
341
- zoomingEnabled,
342
- };
343
- };
344
-
345
- export { dataSourceNodeIds, inputs2dataSources, useCytoscape };
346
- //# sourceMappingURL=bundle.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.esm.js","sources":["../src/composables/cytoscape.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{ref as e,watch as t,onMounted as o}from"vue";import{NodeState as a,isObject as n,sleep as s}from"graphai";import l from"cytoscape";import r from"cytoscape-klay";l.use(r);const c="klay",i="#88f",d=[{selector:"node",style:{"background-color":"data(color)",label:"data(id)",shape:e=>e.data("isStatic")?"rectangle":"roundrectangle",width:e=>{return null==(t=e.data("id"))?"50px":Math.max(50,8*t.length)+"px";var t},color:"#fff",height:"30px","text-valign":"center","text-halign":"center","font-size":"12px"}},{selector:"edge",style:{width:3,"line-color":"#888","target-arrow-color":"#888","target-arrow-shape":"triangle","curve-style":"straight","text-background-color":"#ffffff","text-background-opacity":.8,"text-background-shape":"rectangle","font-size":"10px"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge[isUpdate]",style:{color:"#ddd","line-color":"#ddd","line-style":"dashed","curve-style":"unbundled-bezier","target-arrow-color":"#ddd"}},{selector:"edge[isResult]",style:{color:"#d00","line-color":"#d00","line-style":"dotted","curve-style":"unbundled-bezier","target-arrow-color":"#d00"}}],u={[a.Waiting]:"#888",[a.Completed]:"#000",[a.Executing]:"#0f0","executing-server":"#FFC0CB",[a.Queued]:"#ff0",[a.Injected]:"#00f",[a.TimedOut]:"#f0f",[a.Failed]:"#f00",[a.Skipped]:"#0ff"},p=e=>{const t=e.slice(1).split(".");return{source:t.shift()||"",label:t.length?t.join("."):void 0}},g=e=>{if(Array.isArray(e))return e.map((e=>g(e))).flat();if(n(e))return Object.values(e).map((e=>g(e))).flat();if("string"==typeof e){const t=Array.from(e.matchAll(/\${(:[^}]+)}/g)).map((e=>e[1]));if(t.length>0)return g(t)}return e},f=e=>e.filter((e=>e.nodeId)).map((e=>e.nodeId)),m=e=>{const t={nodes:[],edges:[],map:{}},o=e=>{t.edges.push({data:e})},n=e=>{Object.keys(e.nodes||{}).forEach((s=>{const l=e.nodes[s],r=((e,t)=>{const o="value"in e;return{data:{id:t,color:o?i:u[a.Waiting],isStatic:o}}})(l,s);if(t.nodes.push(r),t.map[s]=r,((e,t)=>{const o=[];if("inputs"in e&&g(e.inputs).forEach((e=>{if(":"===e[0]){const{source:a,label:n}=p(e);o.push({data:{source:a,target:t,label:n}})}})),"update"in e&&e.update){const{source:a,label:n}=p(e.update);o.push({data:{source:a,target:t,isUpdate:!0,label:n}})}return o})(l,s).forEach((e=>{t.edges.push(e)})),"agent"in l&&"nestedAgent"===l.agent){const e="string"==typeof l.graph?JSON.parse(l.graph):{...l.graph},t=Object.keys(e.nodes).filter((t=>"value"in e.nodes[t])).reduce(((t,o)=>{const{source:a}=p(e.nodes[o].value);return t[a]||(t[a]=[]),t[a].push(o),t}),{});Object.keys(l.inputs).forEach((a=>{e.nodes[a]={value:"dummy"};const{source:n}=p(l.inputs[a]);o({source:s,target:a,label:n}),t[a]&&t[a].forEach((e=>{o({source:s,target:e,label:a})}))})),n(e),Object.keys(e.nodes).forEach((t=>{const a=e.nodes[t];"agent"in a&&a.isResult&&o({source:t,target:s,label:"result",isResult:!0})}))}}))};return n(e),{elements:t}},y=n=>{let r=null;const p=e(m(n.value??{nodes:{}})),g=e(),f=e(!0),y=async()=>{if(r){r.elements().remove(),r.add(p.value.elements);const e=p.value.elements.nodes.reduce(((e,t)=>t.position?"preset":e),c);console.log("layout",e),r.layout({name:e}).run(),r.fit(),e===c&&(await s(400),h())}},h=()=>{console.log("storePositions"),r&&r.nodes().forEach((e=>{const t=e.id(),o=e.position();p.value.elements.map[t].position=o}))};t(p,(()=>{console.log("updated"),y()})),t(n,(()=>{p.value=m(n.value)})),o((()=>{(()=>{try{r=l({container:g.value,style:d,layout:{name:c}}),r.on("mouseup",h),r.on("touchend",h)}catch(e){console.error(e)}})(),y()}));return t(f,(e=>{r&&r.zoomingEnabled(e)})),{cytoscapeRef:g,updateCytoscape:async(e,t)=>{[a.Completed,a.Waiting].includes(t)&&await s(100);const o=p.value.elements;o.map[e].data.color=u[t];const l=n.value,r=(l?.nodes??{})[e]??[];"agent"in r&&t===a.Queued&&(r.priority??0)>0?o.map[e].data.color="#f80":"value"in r&&t===a.Waiting&&(o.map[e].data.color=i),p.value={elements:o},t===a.Injected&&(await s(100),o.map[e].data.color=i,p.value={elements:o})},resetCytoscape:()=>{const e=p.value.elements;Object.keys(e.map).forEach((t=>{const o=n.value.nodes[t];e.map[t].data.color="value"in o?i:u[a.Waiting]})),p.value={elements:e}},layoutCytoscape:e=>{if(r){const t=r.nodes().map((e=>({id:e.id(),position:e.position()})));console.log(JSON.stringify(t)),localStorage.setItem("layoutData-"+e,JSON.stringify(t))}},loadLayout:e=>{const t=localStorage.getItem("layoutData-"+e);if(t){JSON.parse(t).forEach((e=>{if(r){const t=r.getElementById(e.id);t&&t.position(e.position)}}))}},zoomingEnabled:f}};export{f as dataSourceNodeIds,g as inputs2dataSources,y as useCytoscape};
2
- //# sourceMappingURL=bundle.esm.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.esm.min.js","sources":["../src/composables/cytoscape.ts"],"sourcesContent":[null],"names":["cytoscape","use","klay","layout","colorStatic","cyStyle","selector","style","label","shape","ele","data","width","calcNodeWidth","Math","max","length","color","height","colorMap","NodeState","Waiting","Completed","Executing","Queued","Injected","TimedOut","Failed","Skipped","parseInput","input","ids","slice","split","source","shift","join","undefined","inputs2dataSources","inputs","Array","isArray","map","inp","flat","isObject","Object","values","templateMatch","from","matchAll","m","dataSourceNodeIds","sources","filter","nodeId","cytoscapeFromGraph","_graph_data","elements","nodes","edges","pushEdge","push","toGraph","graph_data","keys","forEach","node","cyNode","isStatic","id","node2cyNode","target","update","isUpdate","node2cyEdge","edge","agent","graph","JSON","parse","staticInputs","key","reduce","tmp","value","parentInputNodeId","childNode","isResult","useCytoscape","selectedGraph","cy","cytoscapeData","ref","cytoscapeRef","zoomingEnabled","updateGraphData","async","remove","add","name","prevName","position","console","log","run","fit","sleep","storePositions","cynode","pos","watch","onMounted","container","on","error","createCytoscape","updateCytoscape","state","includes","nodeData","priority","resetCytoscape","layoutCytoscape","positions","stringify","localStorage","setItem","loadLayout","savedLayoutData","getItem","getElementById"],"mappings":"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"}
package/lib/bundle.umd.js DELETED
@@ -1,351 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('graphai'), require('cytoscape'), require('cytoscape-klay')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'vue', 'graphai', 'cytoscape', 'cytoscape-klay'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.vue_cytoscape = {}, global.Vue, global.graphai, global.cytoscape, global.cytoscapeKlay));
5
- })(this, (function (exports, vue, graphai, cytoscape, klay) { 'use strict';
6
-
7
- cytoscape.use(klay);
8
- const layout = "klay";
9
- const colorPriority = "#f80";
10
- const colorStatic = "#88f";
11
- const calcNodeWidth = (label) => {
12
- if (label === null || label === undefined) {
13
- return "50px";
14
- }
15
- return Math.max(50, label.length * 8) + "px";
16
- };
17
- const cyStyle = [
18
- {
19
- selector: "node",
20
- style: {
21
- "background-color": "data(color)",
22
- label: "data(id)",
23
- shape: (ele) => (ele.data("isStatic") ? "rectangle" : "roundrectangle"),
24
- width: (ele) => calcNodeWidth(ele.data("id")),
25
- color: "#fff",
26
- height: "30px",
27
- "text-valign": "center",
28
- "text-halign": "center",
29
- "font-size": "12px",
30
- },
31
- },
32
- {
33
- selector: "edge",
34
- style: {
35
- width: 3,
36
- "line-color": "#888",
37
- "target-arrow-color": "#888",
38
- "target-arrow-shape": "triangle",
39
- "curve-style": "straight",
40
- "text-background-color": "#ffffff",
41
- "text-background-opacity": 0.8,
42
- "text-background-shape": "rectangle",
43
- "font-size": "10px",
44
- },
45
- },
46
- {
47
- selector: "edge[label]",
48
- style: {
49
- label: "data(label)",
50
- },
51
- },
52
- {
53
- selector: "edge[isUpdate]",
54
- style: {
55
- color: "#ddd",
56
- "line-color": "#ddd",
57
- "line-style": "dashed",
58
- "curve-style": "unbundled-bezier",
59
- "target-arrow-color": "#ddd",
60
- },
61
- },
62
- {
63
- selector: "edge[isResult]",
64
- style: {
65
- color: "#d00",
66
- "line-color": "#d00",
67
- "line-style": "dotted",
68
- "curve-style": "unbundled-bezier",
69
- "target-arrow-color": "#d00",
70
- },
71
- },
72
- ];
73
- const colorMap = {
74
- [graphai.NodeState.Waiting]: "#888",
75
- [graphai.NodeState.Completed]: "#000",
76
- [graphai.NodeState.Executing]: "#0f0",
77
- ["executing-server"]: "#FFC0CB",
78
- [graphai.NodeState.Queued]: "#ff0",
79
- [graphai.NodeState.Injected]: "#00f",
80
- [graphai.NodeState.TimedOut]: "#f0f",
81
- [graphai.NodeState.Failed]: "#f00",
82
- [graphai.NodeState.Skipped]: "#0ff",
83
- };
84
- const parseInput = (input) => {
85
- // WARNING: Assuming the first character is always ":"
86
- const ids = input.slice(1).split(".");
87
- const source = ids.shift() || "";
88
- const label = ids.length ? ids.join(".") : undefined;
89
- return { source, label };
90
- };
91
- const inputs2dataSources = (inputs) => {
92
- if (Array.isArray(inputs)) {
93
- return inputs.map((inp) => inputs2dataSources(inp)).flat();
94
- }
95
- if (graphai.isObject(inputs)) {
96
- return Object.values(inputs)
97
- .map((input) => inputs2dataSources(input))
98
- .flat();
99
- }
100
- if (typeof inputs === "string") {
101
- const templateMatch = Array.from(inputs.matchAll(/\${(:[^}]+)}/g)).map((m) => m[1]);
102
- if (templateMatch.length > 0) {
103
- return inputs2dataSources(templateMatch);
104
- }
105
- }
106
- return inputs;
107
- };
108
- const dataSourceNodeIds = (sources) => {
109
- return sources.filter((source) => source.nodeId).map((source) => source.nodeId);
110
- };
111
- const node2cyNode = (node, nodeId) => {
112
- const isStatic = "value" in node;
113
- const cyNode = {
114
- data: {
115
- id: nodeId,
116
- color: isStatic ? colorStatic : colorMap[graphai.NodeState.Waiting],
117
- isStatic,
118
- },
119
- };
120
- return cyNode;
121
- };
122
- const node2cyEdge = (node, nodeId) => {
123
- const edges = [];
124
- if ("inputs" in node) {
125
- // computed node
126
- inputs2dataSources(node.inputs).forEach((input) => {
127
- if (input[0] === ":") {
128
- const { source, label } = parseInput(input);
129
- edges.push({
130
- data: {
131
- source,
132
- target: nodeId,
133
- label,
134
- },
135
- });
136
- }
137
- });
138
- }
139
- if ("update" in node && node.update) {
140
- // static node
141
- const { source, label } = parseInput(node.update);
142
- edges.push({
143
- data: {
144
- source,
145
- target: nodeId,
146
- isUpdate: true,
147
- label,
148
- },
149
- });
150
- }
151
- return edges;
152
- };
153
- const cytoscapeFromGraph = (_graph_data) => {
154
- const elements = { nodes: [], edges: [], map: {} };
155
- const pushEdge = (data) => {
156
- elements.edges.push({ data });
157
- };
158
- const toGraph = (graph_data) => {
159
- Object.keys(graph_data.nodes || {}).forEach((nodeId) => {
160
- const node = graph_data.nodes[nodeId];
161
- const cyNode = node2cyNode(node, nodeId);
162
- elements.nodes.push(cyNode);
163
- elements.map[nodeId] = cyNode;
164
- node2cyEdge(node, nodeId).forEach((edge) => {
165
- elements.edges.push(edge);
166
- });
167
- // nested
168
- if ("agent" in node && node.agent === "nestedAgent") {
169
- const graph = typeof node.graph === "string" ? JSON.parse(node.graph) : { ...node.graph };
170
- const staticInputs = Object.keys(graph.nodes)
171
- .filter((key) => "value" in graph.nodes[key])
172
- .reduce((tmp, key) => {
173
- const { source } = parseInput(graph.nodes[key].value);
174
- if (!tmp[source]) {
175
- tmp[source] = [];
176
- }
177
- tmp[source].push(key);
178
- return tmp;
179
- }, {});
180
- Object.keys(node.inputs).forEach((parentInputNodeId) => {
181
- graph.nodes[parentInputNodeId] = { value: "dummy" };
182
- const { source } = parseInput(node.inputs[parentInputNodeId]);
183
- pushEdge({ source: nodeId, target: parentInputNodeId, label: source });
184
- if (staticInputs[parentInputNodeId]) {
185
- staticInputs[parentInputNodeId].forEach((id) => {
186
- pushEdge({ source: nodeId, target: id, label: parentInputNodeId });
187
- });
188
- }
189
- });
190
- toGraph(graph);
191
- Object.keys(graph.nodes).forEach((key) => {
192
- const childNode = graph.nodes[key];
193
- if ("agent" in childNode && childNode.isResult) {
194
- pushEdge({ source: key, target: nodeId, label: "result", isResult: true });
195
- }
196
- });
197
- }
198
- });
199
- };
200
- toGraph(_graph_data);
201
- return { elements };
202
- };
203
- const useCytoscape = (selectedGraph) => {
204
- let cy = null;
205
- const cytoscapeData = vue.ref(cytoscapeFromGraph(selectedGraph.value ?? { nodes: {} }));
206
- const cytoscapeRef = vue.ref();
207
- const zoomingEnabled = vue.ref(true);
208
- const updateCytoscape = async (nodeId, state) => {
209
- if ([graphai.NodeState.Completed, graphai.NodeState.Waiting].includes(state)) {
210
- await graphai.sleep(100);
211
- }
212
- const elements = cytoscapeData.value.elements;
213
- elements.map[nodeId].data.color = colorMap[state];
214
- const graph = selectedGraph.value;
215
- const nodeData = (graph?.nodes ?? {})[nodeId] ?? [];
216
- if ("agent" in nodeData && state === graphai.NodeState.Queued && (nodeData.priority ?? 0) > 0) {
217
- // computed node
218
- elements.map[nodeId].data.color = colorPriority;
219
- }
220
- else if ("value" in nodeData && state === graphai.NodeState.Waiting) {
221
- // static node
222
- elements.map[nodeId].data.color = colorStatic;
223
- }
224
- cytoscapeData.value = { elements };
225
- if (state === graphai.NodeState.Injected) {
226
- await graphai.sleep(100);
227
- elements.map[nodeId].data.color = colorStatic;
228
- cytoscapeData.value = { elements };
229
- }
230
- };
231
- const createCytoscape = () => {
232
- try {
233
- cy = cytoscape({
234
- container: cytoscapeRef.value,
235
- style: cyStyle,
236
- layout: {
237
- name: layout,
238
- // fit: true,
239
- // padding: 30,
240
- // avoidOverlap: true,
241
- },
242
- });
243
- cy.on("mouseup", storePositions);
244
- cy.on("touchend", storePositions);
245
- // cy.on("select", "node", callback);
246
- // cy.on("select", "edge", callback);
247
- //store.commit("setCytoscape", cy);
248
- }
249
- catch (error) {
250
- console.error(error);
251
- // store.commit("setCytoscape", null);
252
- // error_msg.value = `${error}`;
253
- }
254
- };
255
- const updateGraphData = async () => {
256
- if (cy) {
257
- cy.elements().remove();
258
- cy.add(cytoscapeData.value.elements);
259
- const name = cytoscapeData.value.elements.nodes.reduce((prevName, node) => {
260
- if (node.position) {
261
- return "preset";
262
- }
263
- return prevName;
264
- }, layout);
265
- console.log("layout", name);
266
- cy.layout({ name }).run();
267
- cy.fit();
268
- if (name === layout) {
269
- await graphai.sleep(400);
270
- storePositions();
271
- }
272
- }
273
- };
274
- const storePositions = () => {
275
- console.log("storePositions");
276
- if (cy) {
277
- cy.nodes().forEach((cynode) => {
278
- const id = cynode.id();
279
- const pos = cynode.position();
280
- const node = cytoscapeData.value.elements.map[id];
281
- node.position = pos;
282
- });
283
- }
284
- };
285
- const resetCytoscape = () => {
286
- const elements = cytoscapeData.value.elements;
287
- Object.keys(elements.map).forEach((nodeId) => {
288
- const graph = selectedGraph.value;
289
- const nodeData = graph.nodes[nodeId];
290
- elements.map[nodeId].data.color = "value" in nodeData ? colorStatic : colorMap[graphai.NodeState.Waiting];
291
- });
292
- cytoscapeData.value = { elements };
293
- };
294
- vue.watch(cytoscapeData, () => {
295
- console.log("updated");
296
- updateGraphData();
297
- });
298
- vue.watch(selectedGraph, () => {
299
- cytoscapeData.value = cytoscapeFromGraph(selectedGraph.value);
300
- });
301
- vue.onMounted(() => {
302
- createCytoscape();
303
- updateGraphData();
304
- });
305
- const layoutCytoscape = (key) => {
306
- if (cy) {
307
- const positions = cy.nodes().map((node) => {
308
- return {
309
- id: node.id(),
310
- position: node.position(),
311
- };
312
- });
313
- console.log(JSON.stringify(positions));
314
- localStorage.setItem("layoutData-" + key, JSON.stringify(positions));
315
- }
316
- };
317
- const loadLayout = (key) => {
318
- const savedLayoutData = localStorage.getItem("layoutData-" + key);
319
- if (savedLayoutData) {
320
- const positions = JSON.parse(savedLayoutData);
321
- positions.forEach((data) => {
322
- if (cy) {
323
- const node = cy.getElementById(data.id);
324
- if (node) {
325
- node.position(data.position);
326
- }
327
- }
328
- });
329
- }
330
- };
331
- vue.watch(zoomingEnabled, (value) => {
332
- if (cy) {
333
- cy.zoomingEnabled(value);
334
- }
335
- });
336
- return {
337
- cytoscapeRef,
338
- updateCytoscape,
339
- resetCytoscape,
340
- layoutCytoscape,
341
- loadLayout,
342
- zoomingEnabled,
343
- };
344
- };
345
-
346
- exports.dataSourceNodeIds = dataSourceNodeIds;
347
- exports.inputs2dataSources = inputs2dataSources;
348
- exports.useCytoscape = useCytoscape;
349
-
350
- }));
351
- //# sourceMappingURL=bundle.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.umd.js","sources":["../src/composables/cytoscape.ts"],"sourcesContent":[null],"names":["NodeState","isObject","ref","sleep","watch","onMounted"],"mappings":"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"}