Skip to navigation
Skip to content
Search for:
Search
Menu
Apps
My Account
Log In
Sign Up
Apps
My Account
Log In
Sign Up
$
0.00
0 items
Home
/
App
/
Meeting Insights
You must be logged in to view this content.
Redirecting.
{"nodes":[{"id":0,"z":77.82714255476799,"index":0,"x":8229.722139597907,"y":-7469.486345158704,"vx":2.6917136705155946e-155,"vy":-1.7363313696016617e-155,"vz":2.747151360614289e-157,"remainingLinks":-1,"val":0,"colorRef":"#9fbbd1"},{"id":1,"z":0,"fz":0,"index":1,"x":-7257.198782452088,"y":-8461.048314173402,"vx":-2.3030058837946807e-155,"vy":-2.23315912375684e-155,"vz":0,"remainingLinks":-1,"val":0,"colorRef":"#9fbbd1"},{"id":2,"z":0,"fz":0,"index":2,"x":6045.6345341483175,"y":1513.5374325266864,"vx":6.539683047219447e-155,"vy":1.6001928198774268e-155,"vz":0,"remainingLinks":-1,"val":0,"colorRef":"#9fbbd1"},{"id":3,"z":0,"fz":0,"index":3,"x":1801.0307322409756,"y":-12844.301533182961,"vx":2.8525236710651843e-156,"vy":-3.014304320660411e-155,"vz":0,"remainingLinks":-1,"val":0,"colorRef":"#9fbbd1"},{"id":4,"z":0,"fz":0,"index":4,"x":-6197.689087065886,"y":2393.328637440003,"vx":-6.123629955123869e-155,"vy":2.3761611034038215e-155,"vz":0,"remainingLinks":-1,"val":0,"colorRef":"#9fbbd1"},{"id":96446918975098,"z":0,"x":-654.4804521770855,"y":410.0968783422897,"val":0,"ap":1,"index":5,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-654.4804521770855,"fy":410.0968783422897,"fz":0,"html":"|||LT|||div class=|||SINGLEQUOTE||||||SINGLEQUOTE||||||GT|||This is the exit node|||LT|||/div|||GT|||","apInputId":3721719117767,"colorRef":"#9fbbd1","portInputId1":19968105437023,"js":"console.log(\"what up fam!\")","ports":{"searchQuery":"","searchEngine":"wolfram","searchResults":"","engine":"conversational","imagePrompt":"A cute dog in a red hat","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=A cute dog in a red hat|||AMPERSAND|||requestid=20027607455325724"}},{"id":71596805625849,"z":0,"x":-581.6458809977762,"y":795.3082722168148,"name":"multiinput","val":0,"ap":1,"index":6,"vx":0,"vy":0,"vz":0,"order":2,"portOutputId1":19968105437023,"remainingLinks":-1,"fx":-581.6458809977762,"fy":795.3082722168148,"fz":0,"html":"|||LT|||div class=\"htmlOFFUI\"|||GT||||||LT|||label|||GT|||Chat Input|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT|||Using Wolfram, What is the circumference of the earth?|||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n","colorRef":"#9fbbd1","js":"outputVal = |||SINGLEQUOTE||||||LT|||div class=\"userDialog\"|||GT||||||LT|||div class=\"userLabel\"|||GT|||user:|||LT|||/div|||GT||||||SINGLEQUOTE||| + jQuery(\"#textarea-\" + node.id).val() + |||SINGLEQUOTE||||||LT|||/div|||GT||||||SINGLEQUOTE|||;\n\n\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\"#log-\" + logNode.id).append( outputVal);\n\njQuery(\"#textarea-\" + node.id).val(\"\");//clear text box\n\nsetTimeout(function() {\n //your code to be executed after 1 second\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||...|||LT|||/div|||GT||||||SINGLEQUOTE|||;\njQuery(\"#log-\" + logNode.id).append( typingVal );\n}, 2000);\n\n"},{"id":81258374893943,"z":0,"x":-183.87945104407686,"y":803.2220735116016,"name":"searchQuery","val":0,"ap":0.01,"index":7,"vx":0,"vy":0,"vz":0,"order":0,"remainingLinks":-1,"fx":-183.87945104407686,"fy":803.2220735116016,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT|||\n|||LT|||label|||GT|||Search Query:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"categorisationNode = getNodeByName(\"decisionRouter\");\ncategorisation = jQuery(\"#textarea-\" + categorisationNode.id).val();//.replace(/([a-z]+)(|||SINGLEQUOTE|||[a-z]+)/gi, \"$1|||AMPERSAND|||#39;$2\");\nengine = categorisation.toLowerCase().trim();\n\nnode.ports.engine = engine;\n\n\n//Clear textarea\njQuery(\"#textarea-\" + node.id).val(\"\");\n\ninputValPre = \"\";\n\n//inputValPre += \"Please base the search query upon these thoughts: \" + jQuery(\"#textarea-\" + getNodeByName(\"thoughts\").id).html();\n\n\ninputValPre += \"If the most recent user: prompt isn|||SINGLEQUOTE|||t conversational, Please rewrite the most recent query input text as an appropriate, clear and accurate search query. Remove anything superfluous. Do not mention Wolfram Alpha, Google, Knowledgebase or any other search engine name. Return only the Search Query..\" \n//inputValPre += \"Please refer to the MOST RECENT user: input, and add any context to this you need to.\" \n//inputValPre += \"If the most recent user: doesn|||SINGLEQUOTE|||t look like a search at all, just write null.\" \n\n//Add Chat Log to to query\n//inputVal = \"Chat History: \" + jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id).text();\n\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id), 50);\n//inputVal += \"Chat History: \" + jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id).not(\".bubbleInfo\").text();\ninputVal = \"Chat History: \" + logCleanText;\n\n\n//Add latest user Input to query\ninputVal += jQuery(\"#textarea-\" + node.apInputId).val();\n\ninputValPost = \"Search Query:\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.6)","apInputId":22206930342733,"colorRef":"#9fbbd1","portInputId1":19968105437023,"ports":{"engine":"wolfram"}},{"id":33525753217068,"z":0,"x":-295.0491362284578,"y":890.4051389617462,"name":"default","val":0,"ap":1,"colorRef":"#9fbbd1","index":8,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-295.0491362284578,"fy":890.4051389617462,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Fail case DEFAULT ACTION|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"//alert(\"default\")\n//node.val = 0;"},{"id":71061919825433,"z":0,"x":-321.98802964120273,"y":1008.7654103877776,"name":"decisionRouter","val":0,"ap":0.01,"index":9,"vx":0,"vy":0,"vz":0,"order":1,"remainingLinks":-1,"fx":-321.98802964120273,"fy":1008.7654103877776,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Decision Router|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||/div|||GT|||","js":"\ndecision = jQuery(\"#textarea-\" + node.apInputId).val()\n\ndecision = decision.replaceAll(|||SINGLEQUOTE|||\"|||SINGLEQUOTE|||, |||SINGLEQUOTE||||||SINGLEQUOTE|||).replaceAll(\"|||SINGLEQUOTE|||\", |||SINGLEQUOTE||||||SINGLEQUOTE|||).toLowerCase().trim();\n\nconsole.log(decision)\ndecision = decision.split(\" \")[0];\ndecision = decision.split(\"\\n\")[0];\ndecision = decision.split(\"\\r\")[0];\n\ndecision = parseDecision(decision);\n\n\n//Add thinking\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\".robotTyping\").remove();\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping thought\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||I think I will use |||SINGLEQUOTE|||+decision +|||SINGLEQUOTE|||...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \njQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\n\njQuery(\"#textarea-\" + node.id).val(decision)\n\ntry {\n sparkNode(getNodeByName(decision).id);\n} catch(e) {\n sparkNode(getNodeByName(\"default\").id)\n}\n//Lose all Energy\nnode.val = 0;","apInputId":47972556676407,"colorRef":"#9fbbd1","portInputId1":19968105437023,"ports":{}},{"id":81899283949868,"z":0,"x":-178.3696765429624,"y":490.7301354615512,"val":0,"ap":1,"index":10,"vx":0,"vy":0,"vz":0,"order":1,"remainingLinks":-1,"fx":-178.3696765429624,"fy":490.7301354615512,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Search GPT:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"//jQuery(\".robotTyping\").remove();\n//typingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \n//jQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\nnode.ports.searchQuery = jQuery(\"#input-\" + node.apInputId).val()\nnode.ports.engine = jQuery(\"#engine-\" + node.apInputId).val()\nnode.ports.searchResults = jQuery(\"#textarea-\" + node.apInputId).val()\n\n\ninputValPre = \"I am a friendly personal assistant called Sally. I will UNDER NO CIRCUMSTANCES repeat myself.\" \ninputVal = \"\";\n\n \n if (jQuery(\"#textarea-\" + node.apInputId).val() != \"\") {\n inputValPre += \"I|||SINGLEQUOTE|||m going to answer you referring to the found information. If it|||SINGLEQUOTE|||s not EXPLICITLY contained within the found information I will mention that I don|||SINGLEQUOTE|||t know. If it appears to be conversational in nature I will continue to chat. I will not make up anything if it|||SINGLEQUOTE|||s not EXPLICITLY mentioned in the document. I will just reply in a friendly way and continue the conversation. If there is a RELEVANT |||SINGLEQUOTE|||URL:|||SINGLEQUOTE||| to cite in the recently returned data, I will accurately cite it at the end. I will not cite any other URLS.\" \n inputValPre += \"If I have any doubts about this information I will mention that I have doubts (looking at my recent memory for the reason)\" \n //inputVal = jQuery(\"#output-3721719117767\").html();\n\n //Add recent Knowledgebase to Query\n inputVal += \"SEARCH RESULT:\" + jQuery(\"#textarea-\" + node.apInputId).val();\n //Add Knowledgebase source to Query\n //inputVal += \"If appropriate, please mention that I sourced this information from: |||SINGLEQUOTE|||\" + jQuery(\"#engine-\" + getNodeByName(\"multisearch\").id).val() + \"|||SINGLEQUOTE|||. If it is |||SINGLEQUOTE|||internal|||SINGLEQUOTE|||, mention that it came from the knowledgebase. If it|||SINGLEQUOTE|||s google, youtube or wolfram alpha please mention this.\";\n inputVal += \"If there are any indications in the recent knowledge that I DO NOT KNOW, then please mention that I do not know - that this information is out of scope and explain why.\"\n inputVal += \"I will NEVER mention a URL. If I reference any CITATION urls, I won|||SINGLEQUOTE|||t mention them. Instead I will say that I|||SINGLEQUOTE|||ve included the links below but will NOT mention them.\"\n inputVal += \"I will not make up or hallucinate any facts. I will only state things I know explicitly from the SEARCH RESULT (in a fun, funny and friendly manner). If I don|||SINGLEQUOTE|||t know something I will say that it is beyond what I could find in the search results\"\n inputVal += \"I will reply in a friendly, funny and fun way. If I|||SINGLEQUOTE|||ve already told the answer, I won|||SINGLEQUOTE|||t repeat myself. If I like a topic I will get excited about it! I will reply with a bit of personal banter followed by the facts in most cases.\"\n\t\t\t\t//inputVal += \"At the end, please add exactly this raw HTML: |||LT|||br|||GT||||||LT|||br|||GT||||||SINGLEQUOTE|||I sourced this from |||SINGLEQUOTE|||\" + jQuery(\"#engine-\" + getNodeByName(\"multisearch\").id).val() + \".\"\n //inputVal += jQuery(\"#textarea-\" + getNodeByName(\"thoughts\").id).val();\n } else {\n //alert(\"NO!\")\n inputVal += \"Please include something humble to the effect of: I tried to look for information but I was not able to find any information on this, but I will tell you what I personally think. DO NOT INCLUDE ANY LINKS. PLEASE MAKE SURE YOU MENTION THAT YOU|||SINGLEQUOTE|||RE NOT SURE AND THAT THIS IS YOUR OPINION.\";\n\t\t} \n\n\n\n//Add Chat Log to to query\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id));\n//inputVal += \"Chat History: \" + jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id).not(\".bubbleInfo\").text();\ninputVal += \"Chat History: \" + logCleanText;\n//jQuery(\"#log:not(.bubbleInfo)\").text()\n\n//Add latest Query\n//inputVal += jQuery(\"#textarea-\" + getNodeByName(\"multiinput\").id).val();\n\n//Add Final Prompt\ninputValPost = \"Excitedly, with a bit of humour and playfulness. OUTPUT FORMATTED IN PERFECT MARKDOWN FORMAT SYNTAX. I will doublecheck formatting before replying to user.\\nSally:\";\n\n//inputValPost = \"I|||SINGLEQUOTE|||m going to answer you, but I will be jokey and playful but will also tell you the true answer. Sally:\";\n//inputValPost += \"I will be jokey and playful but will also tell you the true answer followed by any relevant EXPLICITLY MENTIONED URL: citations if necessary. Sally:\";\n\n\n//alert(inputVal);\n\nconsole.log(\"FINAL QUERY:\");\n\nconsole.log(inputValPre + \"\\n\\n\" + inputVal + \"\\n\\n\" + inputValPost)\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.7)","apInputId":91837166859850,"colorRef":"#9fbbd1","portInputId1":19968105437023,"ports":{"searchQuery":"Circumference of Earth","searchEngine":"wolfram","searchResults":"CITATION: https://www.wolframalpha.com/input?i=Circumference+of+Earth\n|||LT|||h2|||GT|||Input interpretation|||LT|||/h2|||GT|||Earth | equatorial circumference|||LT|||br|||GT||||||LT|||h2|||GT|||Result|||LT|||/h2|||GT|||40075.017 km (kilometers)|||LT|||br|||GT||||||LT|||h2|||GT|||Unit conversions|||LT|||/h2|||GT|||24901.461 miles|||LT|||br|||GT|||4.0075017×10^7 meters|||LT|||br|||GT|||21638.778 nmi (nautical miles)|||LT|||br|||GT|||0.13367587 light seconds|||LT|||br|||GT||||||LT|||h2|||GT|||Comparisons as length|||LT|||/h2|||GT||| ≈ 0.8 × length of American railroad track laid as of 1860 ( ≈ 30000 mi )|||LT|||br|||GT||| ≈ 1.9 × length of the Great Wall of China ( 21196.2 km )|||LT|||br|||GT||||||LT|||h2|||GT|||Corresponding quantities|||LT|||/h2|||GT|||Light travel time t in vacuum from t = x/c:\n | 134 ms (milliseconds)|||LT|||br|||GT|||Light travel time t in an optical fiber t = 1.48x/c:\n | 198 ms (milliseconds)|||LT|||br|||GT||||||LT|||h2|||GT|||Sizes|||LT|||/h2|||GT|||average radius | 6371.009 km (kilometers)\nequatorial radius | 6378.137 km (kilometers)\npolar radius | 6356.752 km (kilometers)\nauthalic radius | 6371 km (kilometers)\nvolumetric radius | 6371.001 km (kilometers)\naverage diameter | 12742.018 km (kilometers)\nequatorial diameter | 12756.274 km (kilometers)\npolar diameter | 12713.505 km (kilometers)\nauthalic diameter | 12742 km (kilometers)\nvolumetric diameter | 12742.002 km (kilometers)\nequatorial circumference | 40075.017 km (kilometers)|||LT|||br|||GT|||","engine":"wolfram"}},{"id":47972556676407,"z":0,"x":-443.23457587384553,"y":882.4914785929058,"name":"categorisation","val":0,"ap":0.01,"index":11,"vx":0,"vy":0,"vz":0,"order":1,"remainingLinks":-1,"fx":-443.23457587384553,"fy":882.4914785929058,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT|||\n|||LT|||label|||GT|||Categorisation:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"//Clear textarea\njQuery(\"#textarea-\" + node.id).val(\"\");\ninputCategories = \"[conversational, write, google, youtube, wolfram, knowledgebase, findimage, makeimage]\"\n\n\ninputValPre = \"\";\n\ninputValPre += \"You are a highly efficient categorisation AI. You will route this conversation to the correct engine based on the most recent interaction:\\n\"\n\ninputValPre += \"You will categorise this input into one of the following:\";\ninputValPre += inputCategories;\n\ninputValPre += \"Glossary:\";\nkbTopics = \"paris, france, giraffes\";\ninputValPre += \"google will handle all current events, news and pretty much anything you would do with google other than knowledgebase and computational topics\\n\";\ninputValPre += \"youtube refers to any requests for music or videos\\n\";\ninputValPre += \"knowledgebase refers to the following topics only: \" + kbTopics + \"\\n\";\ninputValPre += \"wolfram refers to computational queries.\\n\";\ninputValPre += \"conversational refers to anything where there doesn|||SINGLEQUOTE|||t appear to be any need for new information\";\ninputValPre += \"write refers to if it appears the user has made a request for the agent to write some copy, like a script an article, a blog, a story etc.\"\n/*inputValPre += \"[dalle2: IMPORTANT Return |||SINGLEQUOTE|||dalle2|||SINGLEQUOTE||| if this mentions dalle or dalle2, or appears to be an image prompt or request to create visual art, photo, or create an image or photograph from scratch or if the user explicitly mentions dalle or dalle2]\\n\";\ninputValPre += \"[conversational: Return |||SINGLEQUOTE|||conversational|||SINGLEQUOTE||| If the input appears primarily fun, playful or conversational. or if it looks like the user wants the AI to speculate, offer an opinion, be creative, write copy etc]\\n\" \ninputValPre += \"[wolfram: Return |||SINGLEQUOTE|||wolfram|||SINGLEQUOTE||| if it mentions wolfram, or appears to a computational query.]\\n\"\ninputValPre += \"[youtube: Return |||SINGLEQUOTE|||youtube|||SINGLEQUOTE||| if this mentions youtube, or it looks like a music request or youtube.]|||SINGLEQUOTE|||n\"; \ninputValPre += \"[google: Return |||SINGLEQUOTE|||google|||SINGLEQUOTE||| if the user: looks like they|||SINGLEQUOTE|||re curious for google if this mentions google, or looks like a query related to geography, events, news, people or current events etc.]\\n\"; \ninputValPre += \"CRITICALLY IMPORTANT: [Return |||SINGLEQUOTE|||knowledgebase|||SINGLEQUOTE||| if it mentioned the knowledgebase or if it is on the topics of (paris or giraffes AND ONLY THESE)].\\n\" \ninputValPre += \"In order to make your judgement, please refer to the MOST RECENT user: input, and add any context to this you need to.\" \ninputValPre += \"IMPORTANT! If the most recent [user: input] doesn|||SINGLEQUOTE|||t look like it has any particular action, return conversational\" \n*/\n\n\n//Add Chat Log to to query\n//inputVal = \"Chat History: \" + jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id).html();\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id), 50);\n//inputVal += \"Chat History: \" + jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id).not(\".bubbleInfo\").text();\ninputVal = \"Chat History: \" + logCleanText;\n\n\ninputVal += \"Give extra emphasis to the following phrase. If the lates [user:] string appears to be purely conversational, then return |||SINGLEQUOTE|||conversational|||SINGLEQUOTE|||: \";// + jQuery(\"#textarea-\" + node.apInputId).val();\ninputVal += \"user: \" + jQuery(\"#textarea-\" + getNodeByName(\"multiinput\").id).val()+\"\\n\";\n\ninputValPost = \"These are the option: \" + inputCategories;\ninputValPost += \"It looks like right now you want to do the following: (single word):\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.7)\n\n//node.val=0;","apInputId":71596805625849,"colorRef":"#9fbbd1","portInputId1":19968105437023,"ports":{}},{"id":3721719117767,"z":0,"x":-650.0238177279391,"y":610.9019639033075,"name":"multichatlog","val":0,"ap":1,"order":2,"colorRef":"#9fbbd1","index":12,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-650.0238177279391,"fy":610.9019639033075,"fz":0,"html":"|||LT|||div class=\"htmlOFFUI\"|||GT|||\n|||LT|||label|||GT|||Log|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||div id=\"log-[node.id]\"|||GT||||||LT|||/div|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n|||LT|||button onclick=|||SINGLEQUOTE|||jQuery(\"#log-[node.id]\").html(\"\")|||SINGLEQUOTE||||||GT|||Clear|||LT|||/button|||GT|||","js":"outputVal = jQuery(\"#textarea-\" + node.apInputId).val();\njQuery(\"#log-\" + node.id).append( outputVal);\njQuery(\".robotTyping\").remove();\ngetAndShowCurrentPoints();","ports":{"searchQuery":"","searchEngine":"wolfram","searchResults":"","engine":"conversational","imagePrompt":"A cute dog in a red hat","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=A cute dog in a red hat|||AMPERSAND|||requestid=20027607455325724"},"apInputId":31580389122307,"portInputId1":19968105437023},{"id":91837166859850,"z":0,"x":-180.84680798057977,"y":671.1309996048465,"name":"","val":0,"ap":1,"colorRef":"#9fbbd1","index":13,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-180.84680798057977,"fy":671.1309996048465,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Search Engines:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"input-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"engine-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"/*categorisationNode = getNodeByName(\"categorisation\");\ncategorisation = jQuery(\"#textarea-\" + categorisationNode.id).val();//.replace(/([a-z]+)(|||SINGLEQUOTE|||[a-z]+)/gi, \"$1|||AMPERSAND|||#39;$2\");\n\nsearchQueryNode = getNodeByName(\"searchQuery\");\nsearchQuery = sanitiseSearchQuery(jQuery(\"#textarea-\" + searchQueryNode.id).val());\n\nengine = categorisation.toLowerCase().trim();\n*/\n\n//searchQueryNode = getNodeByName(\"searchQuery\");\nsearchQuery = sanitiseSearchQuery(jQuery(\"#textarea-\" + node.apInputId).val());\nnode.ports.searchQuery = searchQuery;\n\nengine = node.ports.engine;\n\njQuery(\"#engine-\" + node.id).val(engine)\njQuery(\"#input-\" + node.id).val(searchQuery)\njQuery(\"#textarea-\" + node.id).val(\"\")\n\nconsole.log(|||SINGLEQUOTE|||Command: sparkEngine(\"|||SINGLEQUOTE|||+engine+|||SINGLEQUOTE|||\", \"|||SINGLEQUOTE|||+node.id+|||SINGLEQUOTE|||\", \"|||SINGLEQUOTE|||+searchQuery+|||SINGLEQUOTE|||\")|||SINGLEQUOTE|||)\n\n//Add thinking\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\".robotTyping\").remove();\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping thought\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||Searching |||SINGLEQUOTE||| + engine + |||SINGLEQUOTE||| for \"|||SINGLEQUOTE||| + searchQuery.trim() + |||SINGLEQUOTE|||\"...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \njQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\nsparkEngine(engine, node.id, searchQuery)\n//sparkWolfram(node.id, searchQuery)\n","ports":{"engine":"wolfram","searchQuery":"Circumference of Earth"},"apInputId":81258374893943,"portInputId1":19968105437023},{"id":31580389122307,"z":0,"x":-457.82448746895903,"y":476.2423359795682,"val":0,"ap":1,"index":14,"vx":0,"vy":0,"vz":0,"order":1,"remainingLinks":-1,"fx":-457.82448746895903,"fy":476.2423359795682,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Format Reply:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"searchQuery = node.ports.searchQuery;\nengine = node.ports.engine;\nsearchResults = node.ports.searchResults;\n\nsourceInfo = |||SINGLEQUOTE||||||LT|||div style=\"float: right; bottom: 17px; position: relative;\"|||GT|||☁️|||LT|||/div|||GT||||||SINGLEQUOTE|||\n\nif (!engine.includes(|||SINGLEQUOTE|||conversational|||SINGLEQUOTE|||) |||AMPERSAND||||||AMPERSAND||| engine != \"\" |||AMPERSAND||||||AMPERSAND||| searchResults != \"\") {\n \n citations = extractCitations(searchResults );\n if (citations == null) { \n firstCitation = \"#\"; \n citationHTML = source;\n } else {\n firstCitation = citations[0];\n citationHTML = |||SINGLEQUOTE||||||LT|||a href=\"|||SINGLEQUOTE||| + firstCitation + |||SINGLEQUOTE|||\" target=\"_blank\"|||GT||||||SINGLEQUOTE|||+ engine +|||SINGLEQUOTE||||||LT|||/a|||GT||||||SINGLEQUOTE|||;\n }\n sourceInfo = |||SINGLEQUOTE||||||LT|||div class=\"bubbleInfo\"|||GT||| Information sourced from |||SINGLEQUOTE|||+citationHTML+|||SINGLEQUOTE||| |||LT|||/div|||GT||||||SINGLEQUOTE|||;\n}\n\n//outputVal = |||SINGLEQUOTE||||||LT|||div class=\"userDialog\"|||GT||||||LT|||div class=\"userLabel\"|||GT|||user:|||LT|||/div|||GT||||||SINGLEQUOTE||| + jQuery(\"#textarea-\" + getNodeByName(\"multiinput\").id).val() + |||SINGLEQUOTE||||||LT|||/div|||GT||||||SINGLEQUOTE|||;\n\nrobotReply = jQuery(\"#textarea-\" + node.apInputId).val();\nrobotReply = checkMarkdownLinks(robotReply, searchResults);\nrobotReply = convertLinksToMarkdown(robotReply, searchResults)\n\noutputVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT||||||LT|||md-block|||GT||||||SINGLEQUOTE||| + robotReply + sourceInfo + |||SINGLEQUOTE||||||LT|||/md-block|||GT||||||LT|||/div|||GT||||||SINGLEQUOTE|||;\n\njQuery(\"#textarea-\" + node.id).val(outputVal)\n","apInputId":70594082504909,"colorRef":"#9fbbd1","portInputId1":19968105437023,"ports":{"searchQuery":"","searchEngine":"wolfram","searchResults":"","engine":"conversational","imagePrompt":"A cute dog in a red hat","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=A cute dog in a red hat|||AMPERSAND|||requestid=20027607455325724"}},{"id":70594082504909,"z":0,"x":-314.33213617027104,"y":578.7737385505877,"name":"","val":0,"ap":1,"colorRef":"#9fbbd1","index":15,"vx":0,"vy":0,"vz":0,"ports":{"searchQuery":"","engine":"conversational","searchResults":""},"remainingLinks":-1,"fx":-314.33213617027104,"fy":578.7737385505877,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Conversational GPT:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"node.ports.searchQuery = \"\";\nnode.ports.engine = \"conversational\";\nnode.ports.searchResults = \"\";\n\ninputValPre = \"I am a friendly personal assistant called Sally. I will UNDER NO CIRCUMSTANCES repeat myself.\" \n\n//Add Chat Log to to query\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id));\ninputVal = \"Chat History: \" + logCleanText;\nconsole.log(\"chatHistory\")\nconsole.log(logCleanText);\ninputValPost = \"Excitedly, with a bit of humour and playfulness, replying to user.\\nRobot:\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.7)","apInputId":61137294200083},{"id":22206930342733,"z":0,"x":-189.95034428987032,"y":917.6864554547402,"val":0,"name":"wolfram","ap":1,"colorRef":"#9fbbd1","index":16,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-189.95034428987032,"fy":917.6864554547402,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Wolfram Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":16601902205587,"z":0,"x":-173.77640865729285,"y":957.4894326473942,"val":0,"name":"google","ap":1,"colorRef":"#9fbbd1","index":17,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-173.77640865729285,"fy":957.4894326473942,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Google Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":12675028066942,"z":0,"x":-159.55731304435412,"y":993.809969049921,"name":"youtube","val":0,"ap":1,"colorRef":"#9fbbd1","index":18,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-159.55731304435412,"fy":993.809969049921,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Youtube Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":94001896621803,"z":0,"x":-127.90543554647434,"y":1041.089821863605,"name":"knowledgebase","val":0,"ap":1,"colorRef":"#9fbbd1","index":19,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-127.90543554647434,"fy":1041.089821863605,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Knowledgebase Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":61137294200083,"z":0,"x":-291.75352853818663,"y":799.2538763562322,"name":"conversational","val":0,"ap":1,"colorRef":"#9fbbd1","index":20,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-291.75352853818663,"fy":799.2538763562322,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Conversational Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||","ports":{},"apInputId":33525753217068},{"id":43780566463295,"z":0,"x":92.84170748284004,"y":1088.9051672865276,"name":"dalle2","val":0,"ap":1,"colorRef":"#9fbbd1","index":21,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":92.84170748284004,"fy":1088.9051672865276,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT||||||LT|||label|||GT|||Dalle2 Input|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT|||A cute dog in a red hat|||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n","js":"jQuery(\"#textarea-\" + node.id).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.apInputId).val())","ports":{},"apInputId":89751873596684},{"id":88697689127288,"z":0,"x":87.67249803879604,"y":990.3710188082728,"val":0,"ap":1,"colorRef":"#9fbbd1","index":22,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":87.67249803879604,"fy":990.3710188082728,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT|||\n|||LT|||label|||GT|||Image:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||img id=\"image-[node.id]\" src=\"\" style=\"background-color:black; width:200px; height:200px;\"|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||","js":"jQuery(\"#image-\" + node.id).attr(\"src\",\"\");\n\n\n\ninputVal = jQuery(\"#textarea-\" + node.apInputId).val();\nnode.ports.imagePrompt = inputVal;\n\nthisImageId = \"#image-\" + node.id;\n//thisImageSrc = |||SINGLEQUOTE|||http://gomind.local/wp-content/uploads/2022/12/DALL%C2%B7E-2022-10-10-00.20.55-Beautiful-cyberwoman-with-glowing-eyes.png|||SINGLEQUOTE|||;\n\nrequestId = getRandomInt(100000000000000000);\ninputValSanitised = encodeURIComponent(inputVal)\nthisImageSrc = \"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=\" + inputValSanitised + \"|||AMPERSAND|||requestid=\" + requestId;\n\n//Add thinking\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\".robotTyping\").remove();\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping thought\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||Dreaming up an image...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \njQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\n\nsetActionStatus(node.id, \"inProgress\");\nfetch(thisImageSrc)\n .then(response =|||GT||| response.blob())\n .then(blob =|||GT||| {\n //create an object URL for the blob\n let objectURL = URL.createObjectURL(blob);\n node.ports.imageUrl = thisImageSrc;\n //set the src of the img element to the object URL\n jQuery(\"#image-\" + node.id).attr(\"src\", thisImageSrc);\n setActionStatus(node.id, \"completed\");\n });\n\n//jQuery(\"#image-\" + node.id).attr(\"src\",\"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=\" + inputVal);\n","ports":{"imagePrompt":" A lone figure steps out of a spaceship and onto an alien planet, illuminated by an almost mystical light. The silhouette of the ship drifts away in the background as they take their first steps into this strange new world, ready to make it their home.","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=%20A%20lone%20figure%20steps%20out%20of%20a%20spaceship%20and%20onto%20an%20alien%20planet%2C%20illuminated%20by%20an%20almost%20mystical%20light.%20The%20silhouette%20of%20the%20ship%20drifts%20away%20in%20the%20background%20as%20they%20take%20their%20first%20steps%20into%20this%20strange%20new%20world%2C%20ready%20to%20make%20it%20their%20home.|||AMPERSAND|||requestid=87221570071999070"},"apInputId":43780566463295},{"id":29804422502378,"z":0,"x":39.83658367806881,"y":830.605995788418,"val":0,"ap":1,"colorRef":"#9fbbd1","index":23,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":39.83658367806881,"fy":830.605995788418,"fz":0,"ports":{"imagePrompt":" A lone figure steps out of a spaceship and onto an alien planet, illuminated by an almost mystical light. The silhouette of the ship drifts away in the background as they take their first steps into this strange new world, ready to make it their home.","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=%20A%20lone%20figure%20steps%20out%20of%20a%20spaceship%20and%20onto%20an%20alien%20planet%2C%20illuminated%20by%20an%20almost%20mystical%20light.%20The%20silhouette%20of%20the%20ship%20drifts%20away%20in%20the%20background%20as%20they%20take%20their%20first%20steps%20into%20this%20strange%20new%20world%2C%20ready%20to%20make%20it%20their%20home.|||AMPERSAND|||requestid=87221570071999070","searchQuery":"","engine":"dalle2","searchResults":""},"apInputId":88697689127288,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Conversational Dalle GPT:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||/div|||GT|||","js":"node.ports.searchQuery = \"\";\nnode.ports.engine = \"dalle2\";\nnode.ports.searchResults = \"\";\n\ninputValPre = \"I am a friendly personal assistant called Sally.\" \n\n//Add Chat Log to to query\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id));\ninputVal += \"Chat History: \" + logCleanText;\ninputValPost = \"OK wait. [IMAGE] Sally has just created an image depicting |||SINGLEQUOTE|||\" +node.ports.imagePrompt+ \"|||SINGLEQUOTE|||. While she won|||SINGLEQUOTE|||t say that, she will speak to that mood and aesthetic. She is pretty excited and proud to show you. She will refer to the context of the conversation in her reply.\\nSally:\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.9)"},{"id":47431146322681,"z":0,"x":-13.31423927603391,"y":728.4992294067532,"val":0,"ap":1,"colorRef":"#9fbbd1","index":24,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-13.31423927603391,"fy":728.4992294067532,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Combine:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||/div|||GT|||","js":"reply = jQuery(\"#textarea-\" + node.apInputId).val();\nimageUrl = node.ports.imageUrl;\nimagePrompt = node.ports.imagePrompt;\n//jQuery(\"#textarea-\" + node.id).val(reply + |||SINGLEQUOTE||||||SINGLEQUOTE|||)\n\noutputVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT||||||LT|||div|||GT||||||SINGLEQUOTE||| + |||SINGLEQUOTE||||||LT|||div|||GT||||||LT|||img src=\"|||SINGLEQUOTE|||+imageUrl+|||SINGLEQUOTE|||\"|||GT||||||LT|||/div|||GT||||||LT|||div class=\"imageSubtitle\"|||GT||||||SINGLEQUOTE|||+imagePrompt+|||SINGLEQUOTE||||||LT|||/div|||GT||||||SINGLEQUOTE||| + reply + |||SINGLEQUOTE||||||LT|||div|||GT||||||LT|||/div|||GT||||||SINGLEQUOTE|||;\n\n\njQuery(\"#textarea-\" + node.id).val(outputVal )","ports":{"imagePrompt":" A lone figure steps out of a spaceship and onto an alien planet, illuminated by an almost mystical light. The silhouette of the ship drifts away in the background as they take their first steps into this strange new world, ready to make it their home.","imageUrl":"https://gomind.local/wp-content/plugins/gomind/include/imgapi.php?returnImg=true|||AMPERSAND|||userPrompt=%20A%20lone%20figure%20steps%20out%20of%20a%20spaceship%20and%20onto%20an%20alien%20planet%2C%20illuminated%20by%20an%20almost%20mystical%20light.%20The%20silhouette%20of%20the%20ship%20drifts%20away%20in%20the%20background%20as%20they%20take%20their%20first%20steps%20into%20this%20strange%20new%20world%2C%20ready%20to%20make%20it%20their%20home.|||AMPERSAND|||requestid=87221570071999070","searchQuery":"","engine":"dalle2","searchResults":""},"apInputId":29804422502378},{"id":89751873596684,"z":0,"x":83.98424574459739,"y":1199.942490307053,"val":0,"ap":1,"colorRef":"#9fbbd1","index":25,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":83.98424574459739,"fy":1199.942490307053,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT|||\n|||LT|||label|||GT|||GPT Generate Image Prompt:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||/div|||GT|||","js":"//Add thinking\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\".robotTyping\").remove();\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping thought\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||Thinking of a good way to describe your image...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \njQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\n\n//Clear textarea\njQuery(\"#textarea-\" + node.id).val(\"\");\n\ninputValPre = \"\";\n\n//inputValPre += \"Please base the search query upon these thoughts: \" + jQuery(\"#textarea-\" + getNodeByName(\"thoughts\").id).html();\n\n\ninputValPre += \"Given the most recent parts of this conversation. I will generate a sophisticated and well designed Dalle2 image prompt which will generate an aesthetically pleasing and appropriate image.\" \n\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id), 100);\ninputVal = \"Chat History: \" + logCleanText;\n\n//Add latest user Input to query\ninputVal += jQuery(\"#textarea-\" + getNodeByName(|||SINGLEQUOTE|||multiinput|||SINGLEQUOTE|||).id).val();\n\ninputValPost = \"Dalle2 Prompt:\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.6)","ports":{},"apInputId":61554404223575},{"id":61554404223575,"z":0,"x":54.85423632015438,"y":1271.5453639102127,"val":0,"name":"dalle2","ap":1,"colorRef":"#9fbbd1","index":26,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":54.85423632015438,"fy":1271.5453639102127,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Dalle2 Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":94055406781602,"z":0,"x":-377.55108532451413,"y":781.1773475018618,"val":0,"name":"write","ap":1,"colorRef":"#9fbbd1","index":27,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-377.55108532451413,"fy":781.1773475018618,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Write Router|||LT|||/label|||GT|||\n|||LT|||/div|||GT|||"},{"id":3509080441512,"z":0,"x":-442.4556232017571,"y":578.0390002336142,"val":0,"ap":1,"colorRef":"#9fbbd1","index":28,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-442.4556232017571,"fy":578.0390002336142,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Writing GPT:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||","js":"//Add thinking\nlogNode = getNodeByName(\"multichatlog\");\njQuery(\".robotTyping\").remove();\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping thought\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||Writing copy...|||LT|||/div|||GT||||||SINGLEQUOTE|||; \njQuery(\"#log-\" + logNode.id).html( jQuery(\"#log-\" + logNode.id).html() + typingVal );\n\n\nnode.ports.searchQuery = \"\";\nnode.ports.engine = \"conversational\";\nnode.ports.searchResults = \"\";\n\ninputValPre = \"I am a professional copywriter who will write copy as per the request.\" \n\n//Add Chat Log to to query\nlogCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id));\ninputVal = \"Chat History: \" + logCleanText;\nconsole.log(\"chatHistory\")\nconsole.log(logCleanText);\ninputValPost = \"Output formatted in Markdown format. Robot:\";\n\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.7)","ports":{"searchQuery":"","engine":"conversational","searchResults":""},"apInputId":94055406781602},{"id":19298131912770,"z":0,"x":588.7094621152002,"y":1359.6909112654448,"name":"codePrompt","val":0,"ap":1,"ports":{"codePrompt":"Please write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n"},"index":29,"vx":0,"vy":0,"vz":0,"order":2,"portOutputId1":19968105437023,"remainingLinks":-1,"fx":588.7094621152002,"fy":1359.6909112654448,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT||||||LT|||label|||GT|||Code Prompt|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT|||\nPlease write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n|||LT|||/textarea|||GT|||\n|||LT|||/div|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id]);\"|||GT|||Spark|||LT|||/button|||GT|||\n","colorRef":"#9fbbd1","js":"node.ports.codePrompt = jQuery(\"#textarea-\" + node.id).val();\n\n//outputVal = |||SINGLEQUOTE||||||LT|||div class=\"userDialog\"|||GT||||||LT|||div class=\"userLabel\"|||GT|||user:|||LT|||/div|||GT||||||SINGLEQUOTE||| + jQuery(\"#textarea-\" + node.id).val() + |||SINGLEQUOTE||||||LT|||/div|||GT||||||SINGLEQUOTE|||;\n\n\n//logNode = getNodeByName(\"multichatlog\");\n//jQuery(\"#log-\" + logNode.id).append( outputVal);\n\n\n/*\nsetTimeout(function() {\n //your code to be executed after 1 second\ntypingVal = |||SINGLEQUOTE||||||LT|||div class=\"robotDialog robotTyping\"|||GT||||||LT|||div class=\"robotLabel\"|||GT|||robot:|||LT|||/div|||GT|||...|||LT|||/div|||GT||||||SINGLEQUOTE|||;\njQuery(\"#log-\" + logNode.id).append( typingVal );\n}, 2000);\n*/\n"},{"id":71759309837183,"z":0,"x":537.6376271659968,"y":1056.5050526688294,"val":0,"ap":1,"colorRef":"#9fbbd1","index":30,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":537.6376271659968,"fy":1056.5050526688294,"fz":0,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Coding GPT:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n","js":"\n//inputValPre = \"I am a professional coder who will write code as per the request.\" \ninputValPre = \"\" \n\n//Add Chat Log to to query\n//logCleanText = getLogClean(jQuery(\"#log-\" + getNodeByName(\"multichatlog\").id));\n//inputVal = \"Chat History: \" + logCleanText;\n//console.log(\"chatHistory\")\n//console.log(logCleanText);\ninputVal = node.ports.worksheetCode = \"\\n\\n\";\n\ninputVal += \"This code does the following:\" + node.ports.codePrompt + \"\\n\";\n\n\n//jQuery(\"#textarea-\" + node.apInputId).val(\"\");//clear text box\ninputValPost = \"Plaintext Javascript (No url encoded strings or characters. No script tags, code tags or html. Correct linebreaks. Correct spacing. Correct Linebreaks. Output in plain text Markdown. Important: Run the function.):|||LT|||code|||GT|||\";\n//inputValPost = `The following code runs perfectly. It is correctly formatted PLAIN TEXT (not urlencoded) Javascript. It does not include |||LT|||script|||GT||| or HTML tags. This is the functional Javascript code wrapped in |||LT|||code|||GT||| tags. I will stop when I have finished the |||LT|||/code|||GT|||/nPlain text Javascript:\\n`;\n\n//alert(inputVal)\nsparkGPT(node.id, inputValPre, inputVal, inputValPost, 0.3, \"code-davinci-002\", \"|||LT|||/code|||GT|||\")","ports":{"searchQuery":"","engine":"conversational","searchResults":"","codePrompt":"Please write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n","worksheetCode":"\n\n"},"apInputId":43870140843116,"portInputId1":19968105437023},{"id":53149189286575,"z":0,"x":468.41434992058635,"y":914.7089972697175,"name":"codeEngine","val":0,"ap":1,"colorRef":"#9fbbd1","index":31,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":468.41434992058635,"fy":914.7089972697175,"fz":0,"ports":{"searchQuery":"","engine":"conversational","searchResults":"","codePrompt":"Please write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n","worksheetCode":"\n\n"},"apInputId":71759309837183,"portInputId1":19968105437023,"html":"|||LT|||div class=\"\"|||GT|||\n|||LT|||label|||GT|||Run Code (Reference):|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||/div|||GT|||","js":"inputVal = jQuery(\"#textarea-\" + node.apInputId).val();\n//inputVal = decodeURI(inputVal);\n\ninputVal = inputVal.replaceAll(|||SINGLEQUOTE||||||LT|||script|||GT||||||SINGLEQUOTE|||, |||SINGLEQUOTE||||||SINGLEQUOTE|||);\ninputVal = inputVal.replaceAll(|||SINGLEQUOTE||||||LT|||/script|||GT||||||SINGLEQUOTE|||, |||SINGLEQUOTE||||||SINGLEQUOTE|||);\n\n\ninputVal = inputVal.replaceAll(|||SINGLEQUOTE||||||LT|||code|||GT||||||SINGLEQUOTE|||, |||SINGLEQUOTE||||||SINGLEQUOTE|||);\ninputVal = inputVal.replaceAll(|||SINGLEQUOTE||||||LT|||/code|||GT||||||SINGLEQUOTE|||, |||SINGLEQUOTE||||||SINGLEQUOTE|||);\ninputVal = inputVal.trim();\n//inputVal = inputVal.replaceAll(|||SINGLEQUOTE|||\t\t|||SINGLEQUOTE|||, |||SINGLEQUOTE|||\\n|||SINGLEQUOTE|||);\n\n//inputVal = inputVal.replaceAll(|||SINGLEQUOTE||| |||SINGLEQUOTE|||, |||SINGLEQUOTE|||\\n|||SINGLEQUOTE|||);\n\n//inputVal = inputVal.replaceAll(|||SINGLEQUOTE|||\\n\\n\\n|||SINGLEQUOTE|||, |||SINGLEQUOTE|||\\n|||SINGLEQUOTE|||);\n\n\njQuery(\"#textarea-\" + node.id).val(inputVal)\n//alert(inputVal)\n\ntry {\n eval(inputVal)\n}catch (e) {\n //alert(\"error: \" + e)\n \nvar debug = confirm(\"Error: \" + e + \"\\nWould you like to debug?\");\nif(debug) {\n // Perform debugging actions\n console.log(\"Debugging Enabled\");\n newInput = \"\"; \n newInput += \"This is my current code:\\n\"\n newInput += \"\\n\\n|||LT|||code|||GT|||\" + inputVal + \"|||LT|||/code|||GT|||\\n\\n\";//jQuery(\"#textarea-\" + getNodeByName(\"codeinput\").id).val()\n newInput += \"Unfortunately this is incorrect as it returns the following error: \" + e + \"\\n\"\n \n newInput += \"Please remove any strange characters. Please simplify any comment. Please make sure all correct formatting and line breaks. If there are any variables that look like they have weird spaces, or any missing new lines, please fix these formatting errors.\\n\";\n newInput += \"Think about what could be causing this and revise. Can you please revise, adding anything mising and fixing any errors? Return ONLY valid code.\\n\"\n codePromptNodeId = getNodeByName(\"codePrompt\").id;\n codeWorksheetNodeId = getNodeByName(\"codeWorksheet\").id;\n jQuery(\"#textarea-\" + codeWorksheetNodeId ).val(newInput)\n sparkNode(codePromptNodeId )\n\n\n} else {\n console.log(\"Debugging Disabled\");\n}\n\n \n\n}"},{"id":97522680768171,"z":0,"val":0,"ap":1,"colorRef":"#9fbbd1","index":32,"x":366.44927274585456,"y":802.6012256821175,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":366.44927274585456,"fy":802.6012256821175,"fz":0,"ports":{"searchQuery":"","engine":"conversational","searchResults":"","codePrompt":"Please write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n","worksheetCode":"\n\n"},"apInputId":53149189286575,"portInputId1":19968105437023},{"id":43870140843116,"z":0,"x":573.1795415848678,"y":1191.5214277791827,"ports":{"codePrompt":"Please write a javascript function that stores the |||LT|||header|||GT||| as html and then replaces the header with a centered h1 that says \"I am in control\". Hold this for 5 seconds and then revert to the original header html\n\n","worksheetCode":""},"name":"codeWorksheet","val":0,"ap":1,"colorRef":"#9fbbd1","index":33,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":573.1795415848678,"fy":1191.5214277791827,"fz":0,"html":"|||LT|||div class=\"htmlNOUI\"|||GT||||||LT|||label|||GT|||Code Worksheet|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Spark|||LT|||/button|||GT|||\n|||LT|||button onclick=|||SINGLEQUOTE|||jQuery(\"#textarea-[node.id]\").val(\"\")|||SINGLEQUOTE||||||GT|||Clear|||LT|||/button|||GT|||\n","js":"node.ports.worksheetCode = jQuery(\"#textarea-\" + node.id).val();","apInputId":19298131912770,"portInputId1":19968105437023},{"id":85989837251780,"z":-24.910224750253008,"x":-97.16126071867106,"y":3.131396144424855,"name":"transcript","val":0,"ap":0.01,"colorRef":"#9fbbd1","index":34,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-97.16126071867106,"fy":3.131396144424855,"fz":-24.910224750253008,"ports":{"lastUrl":"https://www.ataech.host/about"},"apInputId":95840054223511,"ui":true,"order":"1","html":"|||LT|||div class=\"htmlOFFUI\"|||GT|||\n|||LT|||label|||GT|||Meeting Transcript:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||/div|||GT|||\n"},{"id":66577818619182,"z":-2.9676109439968616,"x":-0.8785354831801158,"y":136.5972120015818,"order":"3","val":0,"ap":0.1,"colorRef":"#9fbbd1","index":35,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-0.8785354831801158,"fy":136.5972120015818,"fz":-2.9676109439968616,"ports":{"lastUrl":"https://www.ataech.host/about"},"apInputId":85989837251780,"ui":true,"html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label class=\"UIhidden\"|||GT|||Extract TLDR Sections|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\" class=\"UIhidden\"|||GT||||||LT|||/textarea|||GT|||\n|||LT|||/div|||GT|||\n","js":"node.val = 1;\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n//set next downstream node to inProgress\n//setActionStatus(getNodeByName(\"tldr\").id, \"inProgress\");\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is a chunk of the meeting transcript:\\n\";\ninputValPost = \"The Following is the TL;DR of this chunk of the transcript:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"},{"id":95840054223511,"z":-30.845110182962024,"x":-169.494316635687,"y":-3.877265970488274,"order":"2","val":0,"ap":1,"colorRef":"#9fbbd1","index":36,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":-169.494316635687,"fy":-3.877265970488274,"fz":-30.845110182962024,"ui":true,"html":"|||LT|||div class=\"htmlUI\"|||GT||||||LT|||label|||GT|||Run entire Flow|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n\n|||LT|||button onclick=\"sparkNode([node.id])\"|||GT|||Go!|||LT|||/button|||GT|||\n"},{"id":62033901261049,"z":-4.2661419575714925,"x":400.53566811755513,"y":-24.763878341864576,"val":0,"ap":1,"colorRef":"#9fbbd1","index":37,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":400.53566811755513,"fy":-24.763878341864576,"fz":-4.2661419575714925,"ports":{"lastUrl":"https://www.ataech.host/about"},"apInputId":6691270778376,"ui":false,"js":"node.val = 0;"},{"id":35683577500712,"z":-2.9676109439968616,"x":121.51487498615246,"y":139.20021516678216,"val":0,"ap":1,"ports":{"lastUrl":"https://www.ataech.host/about"},"order":"4","colorRef":"#9fbbd1","index":38,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":121.51487498615246,"fy":139.20021516678216,"fz":-2.9676109439968616,"apInputId":66577818619182,"ui":true,"name":"tldr","html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label|||GT|||TLDR:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n","js":"\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is the meeting transcript:\\n\";\ninputValPost = \"The Following is the TL;DR of the transcript:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"},{"id":36458031985531,"z":-2.9676109439968616,"x":15.082500430585348,"y":-51.350188532435524,"val":0,"ap":0.1,"ports":{"lastUrl":"https://www.ataech.host/about"},"order":"5","colorRef":"#9fbbd1","index":39,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":15.082500430585348,"fy":-51.350188532435524,"fz":-2.9676109439968616,"apInputId":85989837251780,"ui":true,"html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label class=\"UIhidden\"|||GT|||Extract Dotpoint Sections:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\" class=\"UIhidden\"|||GT||||||LT|||/textarea|||GT|||\n|||LT|||/div|||GT|||\n","js":"node.val = 1;\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n//set next downstream node to inProgress\n//setActionStatus(getNodeByName(\"tldr\").id, \"inProgress\");\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is a chunk of the meeting transcript:\\n\";\ninputValPost = \"The Following is a dotpoint summary of this chunk of the transcript:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"},{"id":6691270778376,"z":-2.9676109439968616,"x":121.88545433414441,"y":-57.62238314761411,"val":0,"ap":1,"ports":{"lastUrl":"https://www.ataech.host/about"},"order":"6","colorRef":"#9fbbd1","index":40,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":121.88545433414441,"fy":-57.62238314761411,"fz":-2.9676109439968616,"apInputId":36458031985531,"ui":true,"name":"tldr","html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label|||GT|||Dotpoint Summary:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n","js":"\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is the meeting dotpoint summary:\\n\";\ninputValPost = \"The Following is a cleaned up and double checked version of the meeting dotpoint summary, correctly formatted with dotpoints:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"},{"id":24290247971936,"z":-2.9676109439968616,"x":8.30550789549364,"y":-193.41016397335582,"val":0,"ap":0.1,"ports":{"lastUrl":"https://www.ataech.host/about"},"order":"7","colorRef":"#9fbbd1","index":41,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":8.30550789549364,"fy":-193.41016397335582,"fz":-2.9676109439968616,"apInputId":85989837251780,"ui":true,"html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label class=\"UIhidden\"|||GT|||Extract Action Item Sections:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\" class=\"UIhidden\"|||GT||||||LT|||/textarea|||GT|||\n|||LT|||/div|||GT|||\n","js":"node.val = 1;\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n//set next downstream node to inProgress\n//setActionStatus(getNodeByName(\"tldr\").id, \"inProgress\");\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is a chunk of the meeting transcript:\\n\";\ninputValPost = \"The Following is a dotpoint list of any action items in this chunk of the transcript. Note these should only include things that are items that have to be done, or delegated, including, where appropriate who is to perform the task. Do not include things that are being done in the meeting transcript. Only include them if they appear to be an explicit resolution to perform an action.:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"},{"id":28493676273987,"z":-2.9676109439968616,"x":123.06947553905715,"y":-201.4460295915453,"val":0,"ap":1,"ports":{"lastUrl":"https://www.ataech.host/about"},"order":"8","colorRef":"#9fbbd1","index":42,"vx":0,"vy":0,"vz":0,"remainingLinks":-1,"fx":123.06947553905715,"fy":-201.4460295915453,"fz":-2.9676109439968616,"apInputId":24290247971936,"ui":true,"name":"tldr","html":"|||LT|||div class=\"htmlUI\"|||GT|||\n|||LT|||label|||GT|||Action Items:|||LT|||/label|||GT||||||LT|||br|||GT|||\n|||LT|||textarea id=\"textarea-[node.id]\"|||GT||||||LT|||/textarea|||GT||||||LT|||br|||GT|||\n|||LT|||/div|||GT|||\n","js":"\nconst maxTokens = 4097;\nconst approximationRatio = 1.3;\n\n// Get the text from the textarea.\ntotalTranscript = jQuery(\"#textarea-\" + node.apInputId).val();\n\n// Calculate the character count and estimate token length.\nconst charCount = totalTranscript.length;\nconst estimatedTokens = Math.ceil(charCount / approximationRatio);\n\n// If the estimated token length is greater than the maximum allowed tokens, split the text.\nlet chunks = [];\nif (estimatedTokens |||GT||| maxTokens) {\n const chunkLength = Math.ceil((charCount * maxTokens) / estimatedTokens);\n\n for (let i = 0; i |||LT||| charCount; i += chunkLength) {\n const end = Math.min(i + chunkLength, charCount);\n chunks.push(totalTranscript.slice(i, end));\n }\n} else {\n chunks.push(totalTranscript);\n}\n\njQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + node.id).val(\"\");\n\n// Iterate through each chunk and process them.\ninputValPre = \"The Following is the unsorted meeting action items:\\n\";\ninputValPost = \"The Following is a cleaned up and double checked version of the meeting action items:\";\nfor (let i = 0; i |||LT||| chunks.length; i++) {\n inputVal = chunks[i];\n \n setActionStatus(node.id, \"inProgress\");\n\n // Check if it|||SINGLEQUOTE|||s the last chunk.\n const isLastChunk = (i === chunks.length - 1);\n\n //callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8)//temperature, model, stop, max_tokens, top_p, presence_penalty, frequency_penalty, \"sparkGPT\")\n callGPT3Branch(node.id, inputValPre + inputVal + inputValPost, sparkInputPostStack, 0.8, undefined, undefined, undefined, undefined, undefined, undefined, undefined, isLastChunk)\n\n\n}\n\nfunction sparkInputPostStack(nodeId, content) {\n\n console.log(nodeId + \" I want to put the value: \" + content)\n jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val(jQuery(|||SINGLEQUOTE|||#textarea-|||SINGLEQUOTE||| + nodeId).val() + content.trim())\n\n\n}"}],"links":[{"source":3721719117767,"target":96446918975098,"val":1},{"source":47972556676407,"target":71061919825433,"val":1},{"source":91837166859850,"target":81899283949868,"val":1},{"source":81899283949868,"target":31580389122307,"val":1},{"source":31580389122307,"target":3721719117767,"val":1},{"source":70594082504909,"target":31580389122307,"val":1},{"source":61137294200083,"target":70594082504909,"val":1},{"source":43780566463295,"target":88697689127288,"val":1},{"source":88697689127288,"target":29804422502378,"id":"LINK_45302905247988","val":1},{"source":29804422502378,"target":47431146322681,"val":1},{"source":47431146322681,"target":3721719117767,"val":1},{"source":89751873596684,"target":43780566463295,"val":1},{"source":61554404223575,"target":89751873596684,"val":1},{"source":81258374893943,"target":91837166859850,"val":1},{"source":22206930342733,"target":81258374893943,"val":1},{"source":16601902205587,"target":81258374893943,"val":1},{"source":12675028066942,"target":81258374893943,"val":1},{"source":94001896621803,"target":81258374893943,"val":1},{"source":71596805625849,"target":47972556676407,"val":1},{"source":94055406781602,"target":3509080441512,"val":1},{"source":3509080441512,"target":31580389122307,"val":1},{"source":71759309837183,"target":53149189286575,"val":1},{"source":53149189286575,"target":97522680768171,"val":1},{"source":19298131912770,"target":43870140843116,"val":1},{"source":43870140843116,"target":71759309837183,"val":1},{"source":33525753217068,"target":61137294200083,"val":1},{"source":85989837251780,"target":66577818619182,"val":1},{"source":95840054223511,"target":85989837251780,"distance":null,"val":1},{"source":66577818619182,"target":35683577500712,"distance":null,"val":1},{"source":35683577500712,"target":62033901261049,"distance":null,"val":1},{"source":85989837251780,"target":36458031985531,"distance":null,"val":1},{"source":36458031985531,"target":6691270778376,"distance":null,"val":1},{"source":6691270778376,"target":62033901261049,"distance":null,"val":1},{"source":85989837251780,"target":24290247971936,"distance":null},{"source":24290247971936,"target":28493676273987,"distance":null},{"source":28493676273987,"target":62033901261049,"distance":null}],"settings":{"htmlMode":2,"cameraPosition":{"x":22.703763612650935,"y":-85.3347728284735,"z":716.4789482458673},"cameraRotation":{"x":-5.950288455785333e-17,"y":0,"z":0}}}